-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquickback.asm
More file actions
3059 lines (2936 loc) · 147 KB
/
quickback.asm
File metadata and controls
3059 lines (2936 loc) · 147 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
quicktest: file format elf32-i386
Disassembly of section .interp:
08048154 <.interp>:
8048154: 2f das
8048155: 6c ins BYTE PTR es:[edi],dx
8048156: 69 62 2f 6c 64 2d 6c imul esp,DWORD PTR [edx+0x2f],0x6c2d646c
804815d: 69 6e 75 78 2e 73 6f imul ebp,DWORD PTR [esi+0x75],0x6f732e78
8048164: 2e 32 00 xor al,BYTE PTR cs:[eax]
Disassembly of section .note.ABI-tag:
08048168 <.note.ABI-tag>:
8048168: 04 00 add al,0x0
804816a: 00 00 add BYTE PTR [eax],al
804816c: 10 00 adc BYTE PTR [eax],al
804816e: 00 00 add BYTE PTR [eax],al
8048170: 01 00 add DWORD PTR [eax],eax
8048172: 00 00 add BYTE PTR [eax],al
8048174: 47 inc edi
8048175: 4e dec esi
8048176: 55 push ebp
8048177: 00 00 add BYTE PTR [eax],al
8048179: 00 00 add BYTE PTR [eax],al
804817b: 00 02 add BYTE PTR [edx],al
804817d: 00 00 add BYTE PTR [eax],al
804817f: 00 06 add BYTE PTR [esi],al
8048181: 00 00 add BYTE PTR [eax],al
8048183: 00 20 add BYTE PTR [eax],ah
8048185: 00 00 add BYTE PTR [eax],al
...
Disassembly of section .note.gnu.build-id:
08048188 <.note.gnu.build-id>:
8048188: 04 00 add al,0x0
804818a: 00 00 add BYTE PTR [eax],al
804818c: 14 00 adc al,0x0
804818e: 00 00 add BYTE PTR [eax],al
8048190: 03 00 add eax,DWORD PTR [eax]
8048192: 00 00 add BYTE PTR [eax],al
8048194: 47 inc edi
8048195: 4e dec esi
8048196: 55 push ebp
8048197: 00 e0 add al,ah
8048199: 47 inc edi
804819a: c3 ret
804819b: 00 fd add ch,bh
804819d: e7 4b out 0x4b,eax
804819f: 2f das
80481a0: 4c dec esp
80481a1: e8 2e e3 30 16 call 1e3564d4 <_end+0x1630b48c>
80481a6: 43 inc ebx
80481a7: 50 push eax
80481a8: 7f 0f jg 80481b9 <_init-0x21f>
80481aa: 0a e2 or ah,dl
Disassembly of section .gnu.hash:
080481ac <.gnu.hash>:
80481ac: 02 00 add al,BYTE PTR [eax]
80481ae: 00 00 add BYTE PTR [eax],al
80481b0: 0b 00 or eax,DWORD PTR [eax]
80481b2: 00 00 add BYTE PTR [eax],al
80481b4: 01 00 add DWORD PTR [eax],eax
80481b6: 00 00 add BYTE PTR [eax],al
80481b8: 05 00 00 00 00 add eax,0x0
80481bd: 20 02 and BYTE PTR [edx],al
80481bf: 22 00 and al,BYTE PTR [eax]
80481c1: 00 00 add BYTE PTR [eax],al
80481c3: 00 0b add BYTE PTR [ebx],cl
80481c5: 00 00 add BYTE PTR [eax],al
80481c7: 00 38 add BYTE PTR [eax],bh
80481c9: f2 repnz
80481ca: 8b .byte 0x8b
80481cb: 1c ad sbb al,0xad
80481cd: 4b dec ebx
80481ce: e3 c0 jecxz 8048190 <_init-0x248>
Disassembly of section .dynsym:
080481d0 <.dynsym>:
...
80481e0: 50 push eax
...
80481e9: 00 00 add BYTE PTR [eax],al
80481eb: 00 12 add BYTE PTR [edx],dl
80481ed: 00 00 add BYTE PTR [eax],al
80481ef: 00 3b add BYTE PTR [ebx],bh
...
80481f9: 00 00 add BYTE PTR [eax],al
80481fb: 00 12 add BYTE PTR [edx],dl
80481fd: 00 00 add BYTE PTR [eax],al
80481ff: 00 25 00 00 00 00 add BYTE PTR ds:0x0,ah
8048205: 00 00 add BYTE PTR [eax],al
8048207: 00 00 add BYTE PTR [eax],al
8048209: 00 00 add BYTE PTR [eax],al
804820b: 00 12 add BYTE PTR [edx],dl
804820d: 00 00 add BYTE PTR [eax],al
804820f: 00 2a add BYTE PTR [edx],ch
...
8048219: 00 00 add BYTE PTR [eax],al
804821b: 00 12 add BYTE PTR [edx],dl
804821d: 00 00 add BYTE PTR [eax],al
804821f: 00 49 00 add BYTE PTR [ecx+0x0],cl
...
804822a: 00 00 add BYTE PTR [eax],al
804822c: 12 00 adc al,BYTE PTR [eax]
804822e: 00 00 add BYTE PTR [eax],al
8048230: 20 00 and BYTE PTR [eax],al
...
804823a: 00 00 add BYTE PTR [eax],al
804823c: 12 00 adc al,BYTE PTR [eax]
804823e: 00 00 add BYTE PTR [eax],al
8048240: 69 00 00 00 00 00 imul eax,DWORD PTR [eax],0x0
8048246: 00 00 add BYTE PTR [eax],al
8048248: 00 00 add BYTE PTR [eax],al
804824a: 00 00 add BYTE PTR [eax],al
804824c: 20 00 and BYTE PTR [eax],al
804824e: 00 00 add BYTE PTR [eax],al
8048250: 1a 00 sbb al,BYTE PTR [eax]
...
804825a: 00 00 add BYTE PTR [eax],al
804825c: 12 00 adc al,BYTE PTR [eax]
804825e: 00 00 add BYTE PTR [eax],al
8048260: 57 push edi
...
8048269: 00 00 add BYTE PTR [eax],al
804826b: 00 12 add BYTE PTR [edx],dl
804826d: 00 00 add BYTE PTR [eax],al
804826f: 00 1b add BYTE PTR [ebx],bl
...
8048279: 00 00 add BYTE PTR [eax],al
804827b: 00 12 add BYTE PTR [edx],dl
804827d: 00 00 add BYTE PTR [eax],al
804827f: 00 42 00 add BYTE PTR [edx+0x0],al
8048282: 00 00 add BYTE PTR [eax],al
8048284: 40 inc eax
8048285: b0 04 mov al,0x4
8048287: 08 04 00 or BYTE PTR [eax+eax*1],al
804828a: 00 00 add BYTE PTR [eax],al
804828c: 11 00 adc DWORD PTR [eax],eax
804828e: 19 00 sbb DWORD PTR [eax],eax
8048290: 0b 00 or eax,DWORD PTR [eax]
8048292: 00 00 add BYTE PTR [eax],al
8048294: 04 8d add al,0x8d
8048296: 04 08 add al,0x8
8048298: 04 00 add al,0x0
804829a: 00 00 add BYTE PTR [eax],al
804829c: 11 00 adc DWORD PTR [eax],eax
804829e: 0f .byte 0xf
...
Disassembly of section .dynstr:
080482a0 <.dynstr>:
80482a0: 00 6c 69 62 add BYTE PTR [ecx+ebp*2+0x62],ch
80482a4: 63 2e arpl WORD PTR [esi],bp
80482a6: 73 6f jae 8048317 <_init-0xc1>
80482a8: 2e 36 00 5f 49 cs add BYTE PTR ss:[edi+0x49],bl
80482ad: 4f dec edi
80482ae: 5f pop edi
80482af: 73 74 jae 8048325 <_init-0xb3>
80482b1: 64 69 6e 5f 75 73 65 imul ebp,DWORD PTR fs:[esi+0x5f],0x64657375
80482b8: 64
80482b9: 00 73 72 add BYTE PTR [ebx+0x72],dh
80482bc: 61 popa
80482bd: 6e outs dx,BYTE PTR ds:[esi]
80482be: 64 00 70 75 add BYTE PTR fs:[eax+0x75],dh
80482c2: 74 73 je 8048337 <_init-0xa1>
80482c4: 00 74 69 6d add BYTE PTR [ecx+ebp*2+0x6d],dh
80482c8: 65 00 5f 5f add BYTE PTR gs:[edi+0x5f],bl
80482cc: 73 74 jae 8048342 <_init-0x96>
80482ce: 61 popa
80482cf: 63 6b 5f arpl WORD PTR [ebx+0x5f],bp
80482d2: 63 68 6b arpl WORD PTR [eax+0x6b],bp
80482d5: 5f pop edi
80482d6: 66 61 popaw
80482d8: 69 6c 00 70 72 69 6e imul ebp,DWORD PTR [eax+eax*1+0x70],0x746e6972
80482df: 74
80482e0: 66 00 73 74 data16 add BYTE PTR [ebx+0x74],dh
80482e4: 64 65 72 72 fs gs jb 804835a <_init-0x7e>
80482e8: 00 66 77 add BYTE PTR [esi+0x77],ah
80482eb: 72 69 jb 8048356 <_init-0x82>
80482ed: 74 65 je 8048354 <_init-0x84>
80482ef: 00 73 74 add BYTE PTR [ebx+0x74],dh
80482f2: 72 63 jb 8048357 <_init-0x81>
80482f4: 6d ins DWORD PTR es:[edi],dx
80482f5: 70 00 jo 80482f7 <_init-0xe1>
80482f7: 5f pop edi
80482f8: 5f pop edi
80482f9: 6c ins BYTE PTR es:[edi],dx
80482fa: 69 62 63 5f 73 74 61 imul esp,DWORD PTR [edx+0x63],0x6174735f
8048301: 72 74 jb 8048377 <_init-0x61>
8048303: 5f pop edi
8048304: 6d ins DWORD PTR es:[edi],dx
8048305: 61 popa
8048306: 69 6e 00 5f 5f 67 6d imul ebp,DWORD PTR [esi+0x0],0x6d675f5f
804830d: 6f outs dx,DWORD PTR ds:[esi]
804830e: 6e outs dx,BYTE PTR ds:[esi]
804830f: 5f pop edi
8048310: 73 74 jae 8048386 <_init-0x52>
8048312: 61 popa
8048313: 72 74 jb 8048389 <_init-0x4f>
8048315: 5f pop edi
8048316: 5f pop edi
8048317: 00 47 4c add BYTE PTR [edi+0x4c],al
804831a: 49 dec ecx
804831b: 42 inc edx
804831c: 43 inc ebx
804831d: 5f pop edi
804831e: 32 2e xor ch,BYTE PTR [esi]
8048320: 34 00 xor al,0x0
8048322: 47 inc edi
8048323: 4c dec esp
8048324: 49 dec ecx
8048325: 42 inc edx
8048326: 43 inc ebx
8048327: 5f pop edi
8048328: 32 2e xor ch,BYTE PTR [esi]
804832a: 30 00 xor BYTE PTR [eax],al
Disassembly of section .gnu.version:
0804832c <.gnu.version>:
804832c: 00 00 add BYTE PTR [eax],al
804832e: 02 00 add al,BYTE PTR [eax]
8048330: 02 00 add al,BYTE PTR [eax]
8048332: 02 00 add al,BYTE PTR [eax]
8048334: 03 00 add eax,DWORD PTR [eax]
8048336: 02 00 add al,BYTE PTR [eax]
8048338: 02 00 add al,BYTE PTR [eax]
804833a: 00 00 add BYTE PTR [eax],al
804833c: 02 00 add al,BYTE PTR [eax]
804833e: 02 00 add al,BYTE PTR [eax]
8048340: 02 00 add al,BYTE PTR [eax]
8048342: 02 00 add al,BYTE PTR [eax]
8048344: 01 00 add DWORD PTR [eax],eax
Disassembly of section .gnu.version_r:
08048348 <.gnu.version_r>:
8048348: 01 00 add DWORD PTR [eax],eax
804834a: 02 00 add al,BYTE PTR [eax]
804834c: 01 00 add DWORD PTR [eax],eax
804834e: 00 00 add BYTE PTR [eax],al
8048350: 10 00 adc BYTE PTR [eax],al
8048352: 00 00 add BYTE PTR [eax],al
8048354: 00 00 add BYTE PTR [eax],al
8048356: 00 00 add BYTE PTR [eax],al
8048358: 14 69 adc al,0x69
804835a: 69 0d 00 00 03 00 78 imul ecx,DWORD PTR ds:0x30000,0x78
8048361: 00 00 00
8048364: 10 00 adc BYTE PTR [eax],al
8048366: 00 00 add BYTE PTR [eax],al
8048368: 10 69 69 adc BYTE PTR [ecx+0x69],ch
804836b: 0d 00 00 02 00 or eax,0x20000
8048370: 82 (bad)
8048371: 00 00 add BYTE PTR [eax],al
8048373: 00 00 add BYTE PTR [eax],al
8048375: 00 00 add BYTE PTR [eax],al
...
Disassembly of section .rel.dyn:
08048378 <.rel.dyn>:
8048378: fc cld
8048379: af scas eax,DWORD PTR es:[edi]
804837a: 04 08 add al,0x8
804837c: 06 push es
804837d: 07 pop es
804837e: 00 00 add BYTE PTR [eax],al
8048380: 40 inc eax
8048381: b0 04 mov al,0x4
8048383: 08 .byte 0x8
8048384: 05 .byte 0x5
8048385: 0b 00 or eax,DWORD PTR [eax]
...
Disassembly of section .rel.plt:
08048388 <.rel.plt>:
8048388: 0c b0 or al,0xb0
804838a: 04 08 add al,0x8
804838c: 07 pop es
804838d: 01 00 add DWORD PTR [eax],eax
804838f: 00 10 add BYTE PTR [eax],dl
8048391: b0 04 mov al,0x4
8048393: 08 07 or BYTE PTR [edi],al
8048395: 02 00 add al,BYTE PTR [eax]
8048397: 00 14 b0 add BYTE PTR [eax+esi*4],dl
804839a: 04 08 add al,0x8
804839c: 07 pop es
804839d: 03 00 add eax,DWORD PTR [eax]
804839f: 00 18 add BYTE PTR [eax],bl
80483a1: b0 04 mov al,0x4
80483a3: 08 07 or BYTE PTR [edi],al
80483a5: 04 00 add al,0x0
80483a7: 00 1c b0 add BYTE PTR [eax+esi*4],bl
80483aa: 04 08 add al,0x8
80483ac: 07 pop es
80483ad: 05 00 00 20 b0 add eax,0xb0200000
80483b2: 04 08 add al,0x8
80483b4: 07 pop es
80483b5: 06 push es
80483b6: 00 00 add BYTE PTR [eax],al
80483b8: 24 b0 and al,0xb0
80483ba: 04 08 add al,0x8
80483bc: 07 pop es
80483bd: 07 pop es
80483be: 00 00 add BYTE PTR [eax],al
80483c0: 28 b0 04 08 07 08 sub BYTE PTR [eax+0x8070804],dh
80483c6: 00 00 add BYTE PTR [eax],al
80483c8: 2c b0 sub al,0xb0
80483ca: 04 08 add al,0x8
80483cc: 07 pop es
80483cd: 09 00 or DWORD PTR [eax],eax
80483cf: 00 30 add BYTE PTR [eax],dh
80483d1: b0 04 mov al,0x4
80483d3: 08 07 or BYTE PTR [edi],al
80483d5: 0a 00 or al,BYTE PTR [eax]
...
Disassembly of section .init:
080483d8 <_init>:
80483d8: 53 push ebx
80483d9: 83 ec 08 sub esp,0x8
80483dc: e8 ff 00 00 00 call 80484e0 <__x86.get_pc_thunk.bx>
80483e1: 81 c3 1f 2c 00 00 add ebx,0x2c1f
80483e7: 8b 83 fc ff ff ff mov eax,DWORD PTR [ebx-0x4]
80483ed: 85 c0 test eax,eax
80483ef: 74 05 je 80483f6 <_init+0x1e>
80483f1: e8 7a 00 00 00 call 8048470 <__gmon_start__@plt>
80483f6: 83 c4 08 add esp,0x8
80483f9: 5b pop ebx
80483fa: c3 ret
Disassembly of section .plt:
08048400 <strcmp@plt-0x10>:
8048400: ff 35 04 b0 04 08 push DWORD PTR ds:0x804b004
8048406: ff 25 08 b0 04 08 jmp DWORD PTR ds:0x804b008
804840c: 00 00 add BYTE PTR [eax],al
...
08048410 <strcmp@plt>:
8048410: ff 25 0c b0 04 08 jmp DWORD PTR ds:0x804b00c
8048416: 68 00 00 00 00 push 0x0
804841b: e9 e0 ff ff ff jmp 8048400 <_init+0x28>
08048420 <printf@plt>:
8048420: ff 25 10 b0 04 08 jmp DWORD PTR ds:0x804b010
8048426: 68 08 00 00 00 push 0x8
804842b: e9 d0 ff ff ff jmp 8048400 <_init+0x28>
08048430 <time@plt>:
8048430: ff 25 14 b0 04 08 jmp DWORD PTR ds:0x804b014
8048436: 68 10 00 00 00 push 0x10
804843b: e9 c0 ff ff ff jmp 8048400 <_init+0x28>
08048440 <__stack_chk_fail@plt>:
8048440: ff 25 18 b0 04 08 jmp DWORD PTR ds:0x804b018
8048446: 68 18 00 00 00 push 0x18
804844b: e9 b0 ff ff ff jmp 8048400 <_init+0x28>
08048450 <fwrite@plt>:
8048450: ff 25 1c b0 04 08 jmp DWORD PTR ds:0x804b01c
8048456: 68 20 00 00 00 push 0x20
804845b: e9 a0 ff ff ff jmp 8048400 <_init+0x28>
08048460 <puts@plt>:
8048460: ff 25 20 b0 04 08 jmp DWORD PTR ds:0x804b020
8048466: 68 28 00 00 00 push 0x28
804846b: e9 90 ff ff ff jmp 8048400 <_init+0x28>
08048470 <__gmon_start__@plt>:
8048470: ff 25 24 b0 04 08 jmp DWORD PTR ds:0x804b024
8048476: 68 30 00 00 00 push 0x30
804847b: e9 80 ff ff ff jmp 8048400 <_init+0x28>
08048480 <srand@plt>:
8048480: ff 25 28 b0 04 08 jmp DWORD PTR ds:0x804b028
8048486: 68 38 00 00 00 push 0x38
804848b: e9 70 ff ff ff jmp 8048400 <_init+0x28>
08048490 <__libc_start_main@plt>:
8048490: ff 25 2c b0 04 08 jmp DWORD PTR ds:0x804b02c
8048496: 68 40 00 00 00 push 0x40
804849b: e9 60 ff ff ff jmp 8048400 <_init+0x28>
080484a0 <rand@plt>:
80484a0: ff 25 30 b0 04 08 jmp DWORD PTR ds:0x804b030
80484a6: 68 48 00 00 00 push 0x48
80484ab: e9 50 ff ff ff jmp 8048400 <_init+0x28>
Disassembly of section .text:
080484b0 <_start>:
80484b0: 31 ed xor ebp,ebp
80484b2: 5e pop esi
80484b3: 89 e1 mov ecx,esp
80484b5: 83 e4 f0 and esp,0xfffffff0
80484b8: 50 push eax
80484b9: 54 push esp
80484ba: 52 push edx
80484bb: 68 e0 8c 04 08 push 0x8048ce0
80484c0: 68 80 8c 04 08 push 0x8048c80
80484c5: 51 push ecx
80484c6: 56 push esi
80484c7: 68 74 89 04 08 push 0x8048974
80484cc: e8 bf ff ff ff call 8048490 <__libc_start_main@plt>
80484d1: f4 hlt
80484d2: 66 90 xchg ax,ax
80484d4: 66 90 xchg ax,ax
80484d6: 66 90 xchg ax,ax
80484d8: 66 90 xchg ax,ax
80484da: 66 90 xchg ax,ax
80484dc: 66 90 xchg ax,ax
80484de: 66 90 xchg ax,ax
080484e0 <__x86.get_pc_thunk.bx>:
80484e0: 8b 1c 24 mov ebx,DWORD PTR [esp]
80484e3: c3 ret
80484e4: 66 90 xchg ax,ax
80484e6: 66 90 xchg ax,ax
80484e8: 66 90 xchg ax,ax
80484ea: 66 90 xchg ax,ax
80484ec: 66 90 xchg ax,ax
80484ee: 66 90 xchg ax,ax
080484f0 <deregister_tm_clones>:
80484f0: b8 3f b0 04 08 mov eax,0x804b03f
80484f5: 2d 3c b0 04 08 sub eax,0x804b03c
80484fa: 83 f8 06 cmp eax,0x6
80484fd: 76 1a jbe 8048519 <deregister_tm_clones+0x29>
80484ff: b8 00 00 00 00 mov eax,0x0
8048504: 85 c0 test eax,eax
8048506: 74 11 je 8048519 <deregister_tm_clones+0x29>
8048508: 55 push ebp
8048509: 89 e5 mov ebp,esp
804850b: 83 ec 14 sub esp,0x14
804850e: 68 3c b0 04 08 push 0x804b03c
8048513: ff d0 call eax
8048515: 83 c4 10 add esp,0x10
8048518: c9 leave
8048519: f3 c3 repz ret
804851b: 90 nop
804851c: 8d 74 26 00 lea esi,[esi+eiz*1+0x0]
08048520 <register_tm_clones>:
8048520: b8 3c b0 04 08 mov eax,0x804b03c
8048525: 2d 3c b0 04 08 sub eax,0x804b03c
804852a: c1 f8 02 sar eax,0x2
804852d: 89 c2 mov edx,eax
804852f: c1 ea 1f shr edx,0x1f
8048532: 01 d0 add eax,edx
8048534: d1 f8 sar eax,1
8048536: 74 1b je 8048553 <register_tm_clones+0x33>
8048538: ba 00 00 00 00 mov edx,0x0
804853d: 85 d2 test edx,edx
804853f: 74 12 je 8048553 <register_tm_clones+0x33>
8048541: 55 push ebp
8048542: 89 e5 mov ebp,esp
8048544: 83 ec 10 sub esp,0x10
8048547: 50 push eax
8048548: 68 3c b0 04 08 push 0x804b03c
804854d: ff d2 call edx
804854f: 83 c4 10 add esp,0x10
8048552: c9 leave
8048553: f3 c3 repz ret
8048555: 8d 74 26 00 lea esi,[esi+eiz*1+0x0]
8048559: 8d bc 27 00 00 00 00 lea edi,[edi+eiz*1+0x0]
08048560 <__do_global_dtors_aux>:
8048560: 80 3d 44 b0 04 08 00 cmp BYTE PTR ds:0x804b044,0x0
8048567: 75 13 jne 804857c <__do_global_dtors_aux+0x1c>
8048569: 55 push ebp
804856a: 89 e5 mov ebp,esp
804856c: 83 ec 08 sub esp,0x8
804856f: e8 7c ff ff ff call 80484f0 <deregister_tm_clones>
8048574: c6 05 44 b0 04 08 01 mov BYTE PTR ds:0x804b044,0x1
804857b: c9 leave
804857c: f3 c3 repz ret
804857e: 66 90 xchg ax,ax
08048580 <frame_dummy>:
8048580: b8 10 af 04 08 mov eax,0x804af10
8048585: 8b 10 mov edx,DWORD PTR [eax]
8048587: 85 d2 test edx,edx
8048589: 75 05 jne 8048590 <frame_dummy+0x10>
804858b: eb 93 jmp 8048520 <register_tm_clones>
804858d: 8d 76 00 lea esi,[esi+0x0]
8048590: ba 00 00 00 00 mov edx,0x0
8048595: 85 d2 test edx,edx
8048597: 74 f2 je 804858b <frame_dummy+0xb>
8048599: 55 push ebp
804859a: 89 e5 mov ebp,esp
804859c: 83 ec 14 sub esp,0x14
804859f: 50 push eax
80485a0: ff d2 call edx
80485a2: 83 c4 10 add esp,0x10
80485a5: c9 leave
80485a6: e9 75 ff ff ff jmp 8048520 <register_tm_clones>
080485ab <sort_c>:
80485ab: 55 push ebp
80485ac: 89 e5 mov ebp,esp
80485ae: 83 ec 08 sub esp,0x8
80485b1: 83 ec 08 sub esp,0x8
80485b4: ff 75 0c push DWORD PTR [ebp+0xc]
80485b7: ff 75 08 push DWORD PTR [ebp+0x8]
80485ba: e8 38 02 00 00 call 80487f7 <shuffle_c>
80485bf: 83 c4 10 add esp,0x10
80485c2: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
80485c5: 83 e8 01 sub eax,0x1
80485c8: ff 75 10 push DWORD PTR [ebp+0x10]
80485cb: 50 push eax
80485cc: 6a 00 push 0x0
80485ce: ff 75 08 push DWORD PTR [ebp+0x8]
80485d1: e8 06 00 00 00 call 80485dc <_sort_c>
80485d6: 83 c4 10 add esp,0x10
80485d9: 90 nop
80485da: c9 leave
80485db: c3 ret
080485dc <_sort_c>:
80485dc: 55 push ebp
80485dd: 89 e5 mov ebp,esp
80485df: 83 ec 18 sub esp,0x18
80485e2: 8b 45 10 mov eax,DWORD PTR [ebp+0x10]
80485e5: 3b 45 0c cmp eax,DWORD PTR [ebp+0xc]
80485e8: 7e 49 jle 8048633 <_sort_c+0x57>
80485ea: ff 75 14 push DWORD PTR [ebp+0x14]
80485ed: ff 75 10 push DWORD PTR [ebp+0x10]
80485f0: ff 75 0c push DWORD PTR [ebp+0xc]
80485f3: ff 75 08 push DWORD PTR [ebp+0x8]
80485f6: e8 3b 00 00 00 call 8048636 <partition_c>
80485fb: 83 c4 10 add esp,0x10
80485fe: 89 45 f4 mov DWORD PTR [ebp-0xc],eax
8048601: 8b 45 f4 mov eax,DWORD PTR [ebp-0xc]
8048604: 83 e8 01 sub eax,0x1
8048607: ff 75 14 push DWORD PTR [ebp+0x14]
804860a: 50 push eax
804860b: ff 75 0c push DWORD PTR [ebp+0xc]
804860e: ff 75 08 push DWORD PTR [ebp+0x8]
8048611: e8 c6 ff ff ff call 80485dc <_sort_c>
8048616: 83 c4 10 add esp,0x10
8048619: 8b 45 f4 mov eax,DWORD PTR [ebp-0xc]
804861c: 83 c0 01 add eax,0x1
804861f: ff 75 14 push DWORD PTR [ebp+0x14]
8048622: ff 75 10 push DWORD PTR [ebp+0x10]
8048625: 50 push eax
8048626: ff 75 08 push DWORD PTR [ebp+0x8]
8048629: e8 ae ff ff ff call 80485dc <_sort_c>
804862e: 83 c4 10 add esp,0x10
8048631: eb 01 jmp 8048634 <_sort_c+0x58>
8048633: 90 nop
8048634: c9 leave
8048635: c3 ret
08048636 <partition_c>:
8048636: 55 push ebp
8048637: 89 e5 mov ebp,esp
8048639: 83 ec 18 sub esp,0x18
804863c: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
804863f: 89 45 ec mov DWORD PTR [ebp-0x14],eax
8048642: 8b 45 10 mov eax,DWORD PTR [ebp+0x10]
8048645: 83 c0 01 add eax,0x1
8048648: 89 45 f0 mov DWORD PTR [ebp-0x10],eax
804864b: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
804864e: 8d 14 85 00 00 00 00 lea edx,[eax*4+0x0]
8048655: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048658: 01 d0 add eax,edx
804865a: 8b 00 mov eax,DWORD PTR [eax]
804865c: 89 45 f4 mov DWORD PTR [ebp-0xc],eax
804865f: eb 08 jmp 8048669 <partition_c+0x33>
8048661: 8b 45 ec mov eax,DWORD PTR [ebp-0x14]
8048664: 3b 45 10 cmp eax,DWORD PTR [ebp+0x10]
8048667: 74 2d je 8048696 <partition_c+0x60>
8048669: 83 45 ec 01 add DWORD PTR [ebp-0x14],0x1
804866d: 8b 45 ec mov eax,DWORD PTR [ebp-0x14]
8048670: 8d 14 85 00 00 00 00 lea edx,[eax*4+0x0]
8048677: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
804867a: 01 d0 add eax,edx
804867c: 8b 00 mov eax,DWORD PTR [eax]
804867e: 83 ec 04 sub esp,0x4
8048681: ff 75 14 push DWORD PTR [ebp+0x14]
8048684: ff 75 f4 push DWORD PTR [ebp-0xc]
8048687: 50 push eax
8048688: e8 7d 00 00 00 call 804870a <less_c>
804868d: 83 c4 10 add esp,0x10
8048690: 85 c0 test eax,eax
8048692: 75 cd jne 8048661 <partition_c+0x2b>
8048694: eb 0b jmp 80486a1 <partition_c+0x6b>
8048696: 90 nop
8048697: eb 08 jmp 80486a1 <partition_c+0x6b>
8048699: 8b 45 f0 mov eax,DWORD PTR [ebp-0x10]
804869c: 3b 45 0c cmp eax,DWORD PTR [ebp+0xc]
804869f: 74 2d je 80486ce <partition_c+0x98>
80486a1: 83 6d f0 01 sub DWORD PTR [ebp-0x10],0x1
80486a5: 8b 45 f0 mov eax,DWORD PTR [ebp-0x10]
80486a8: 8d 14 85 00 00 00 00 lea edx,[eax*4+0x0]
80486af: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
80486b2: 01 d0 add eax,edx
80486b4: 8b 00 mov eax,DWORD PTR [eax]
80486b6: 83 ec 04 sub esp,0x4
80486b9: ff 75 14 push DWORD PTR [ebp+0x14]
80486bc: 50 push eax
80486bd: ff 75 f4 push DWORD PTR [ebp-0xc]
80486c0: e8 45 00 00 00 call 804870a <less_c>
80486c5: 83 c4 10 add esp,0x10
80486c8: 85 c0 test eax,eax
80486ca: 75 cd jne 8048699 <partition_c+0x63>
80486cc: eb 01 jmp 80486cf <partition_c+0x99>
80486ce: 90 nop
80486cf: 8b 45 ec mov eax,DWORD PTR [ebp-0x14]
80486d2: 3b 45 f0 cmp eax,DWORD PTR [ebp-0x10]
80486d5: 7d 19 jge 80486f0 <partition_c+0xba>
80486d7: 83 ec 04 sub esp,0x4
80486da: ff 75 f0 push DWORD PTR [ebp-0x10]
80486dd: ff 75 ec push DWORD PTR [ebp-0x14]
80486e0: ff 75 08 push DWORD PTR [ebp+0x8]
80486e3: e8 41 00 00 00 call 8048729 <exch_c>
80486e8: 83 c4 10 add esp,0x10
80486eb: e9 6f ff ff ff jmp 804865f <partition_c+0x29>
80486f0: 90 nop
80486f1: 83 ec 04 sub esp,0x4
80486f4: ff 75 f0 push DWORD PTR [ebp-0x10]
80486f7: ff 75 0c push DWORD PTR [ebp+0xc]
80486fa: ff 75 08 push DWORD PTR [ebp+0x8]
80486fd: e8 27 00 00 00 call 8048729 <exch_c>
8048702: 83 c4 10 add esp,0x10
8048705: 8b 45 f0 mov eax,DWORD PTR [ebp-0x10]
8048708: c9 leave
8048709: c3 ret
0804870a <less_c>:
804870a: 55 push ebp
804870b: 89 e5 mov ebp,esp
804870d: 83 ec 08 sub esp,0x8
8048710: 83 ec 08 sub esp,0x8
8048713: ff 75 0c push DWORD PTR [ebp+0xc]
8048716: ff 75 08 push DWORD PTR [ebp+0x8]
8048719: 8b 45 10 mov eax,DWORD PTR [ebp+0x10]
804871c: ff d0 call eax
804871e: 83 c4 10 add esp,0x10
8048721: c1 e8 1f shr eax,0x1f
8048724: 0f b6 c0 movzx eax,al
8048727: c9 leave
8048728: c3 ret
08048729 <exch_c>:
8048729: 55 push ebp
804872a: 89 e5 mov ebp,esp
804872c: 83 ec 10 sub esp,0x10
804872f: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
8048732: 8d 14 85 00 00 00 00 lea edx,[eax*4+0x0]
8048739: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
804873c: 01 d0 add eax,edx
804873e: 8b 00 mov eax,DWORD PTR [eax]
8048740: 89 45 fc mov DWORD PTR [ebp-0x4],eax
8048743: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
8048746: 8d 14 85 00 00 00 00 lea edx,[eax*4+0x0]
804874d: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048750: 01 c2 add edx,eax
8048752: 8b 45 10 mov eax,DWORD PTR [ebp+0x10]
8048755: 8d 0c 85 00 00 00 00 lea ecx,[eax*4+0x0]
804875c: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
804875f: 01 c8 add eax,ecx
8048761: 8b 00 mov eax,DWORD PTR [eax]
8048763: 89 02 mov DWORD PTR [edx],eax
8048765: 8b 45 10 mov eax,DWORD PTR [ebp+0x10]
8048768: 8d 14 85 00 00 00 00 lea edx,[eax*4+0x0]
804876f: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048772: 01 c2 add edx,eax
8048774: 8b 45 fc mov eax,DWORD PTR [ebp-0x4]
8048777: 89 02 mov DWORD PTR [edx],eax
8048779: 90 nop
804877a: c9 leave
804877b: c3 ret
0804877c <uniform_c>:
804877c: 55 push ebp
804877d: 89 e5 mov ebp,esp
804877f: 83 ec 38 sub esp,0x38
8048782: 83 7d 08 00 cmp DWORD PTR [ebp+0x8],0x0
8048786: 7f 17 jg 804879f <uniform_c+0x23>
8048788: a1 40 b0 04 08 mov eax,ds:0x804b040
804878d: 50 push eax
804878e: 6a 1c push 0x1c
8048790: 6a 01 push 0x1
8048792: 68 10 8d 04 08 push 0x8048d10
8048797: e8 b4 fc ff ff call 8048450 <fwrite@plt>
804879c: 83 c4 10 add esp,0x10
804879f: 83 ec 0c sub esp,0xc
80487a2: 6a 00 push 0x0
80487a4: e8 87 fc ff ff call 8048430 <time@plt>
80487a9: 83 c4 10 add esp,0x10
80487ac: 83 ec 0c sub esp,0xc
80487af: 50 push eax
80487b0: e8 cb fc ff ff call 8048480 <srand@plt>
80487b5: 83 c4 10 add esp,0x10
80487b8: e8 e3 fc ff ff call 80484a0 <rand@plt>
80487bd: 89 45 d4 mov DWORD PTR [ebp-0x2c],eax
80487c0: db 45 d4 fild DWORD PTR [ebp-0x2c]
80487c3: dd 5d f0 fstp QWORD PTR [ebp-0x10]
80487c6: dd 45 f0 fld QWORD PTR [ebp-0x10]
80487c9: db 2d a0 8d 04 08 fld TBYTE PTR ds:0x8048da0
80487cf: de f9 fdivrp st(1),st
80487d1: dd 5d f0 fstp QWORD PTR [ebp-0x10]
80487d4: dd 45 f0 fld QWORD PTR [ebp-0x10]
80487d7: db 45 08 fild DWORD PTR [ebp+0x8]
80487da: de c9 fmulp st(1),st
80487dc: d9 7d de fnstcw WORD PTR [ebp-0x22]
80487df: 0f b7 45 de movzx eax,WORD PTR [ebp-0x22]
80487e3: b4 0c mov ah,0xc
80487e5: 66 89 45 dc mov WORD PTR [ebp-0x24],ax
80487e9: d9 6d dc fldcw WORD PTR [ebp-0x24]
80487ec: db 5d d8 fistp DWORD PTR [ebp-0x28]
80487ef: d9 6d de fldcw WORD PTR [ebp-0x22]
80487f2: 8b 45 d8 mov eax,DWORD PTR [ebp-0x28]
80487f5: c9 leave
80487f6: c3 ret
080487f7 <shuffle_c>:
80487f7: 55 push ebp
80487f8: 89 e5 mov ebp,esp
80487fa: 83 ec 18 sub esp,0x18
80487fd: 83 7d 08 00 cmp DWORD PTR [ebp+0x8],0x0
8048801: 75 17 jne 804881a <shuffle_c+0x23>
8048803: a1 40 b0 04 08 mov eax,ds:0x804b040
8048808: 50 push eax
8048809: 6a 16 push 0x16
804880b: 6a 01 push 0x1
804880d: 68 2d 8d 04 08 push 0x8048d2d
8048812: e8 39 fc ff ff call 8048450 <fwrite@plt>
8048817: 83 c4 10 add esp,0x10
804881a: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
804881d: 89 45 ec mov DWORD PTR [ebp-0x14],eax
8048820: c7 45 e8 00 00 00 00 mov DWORD PTR [ebp-0x18],0x0
8048827: eb 6a jmp 8048893 <shuffle_c+0x9c>
8048829: 8b 45 ec mov eax,DWORD PTR [ebp-0x14]
804882c: 2b 45 e8 sub eax,DWORD PTR [ebp-0x18]
804882f: 83 ec 0c sub esp,0xc
8048832: 50 push eax
8048833: e8 44 ff ff ff call 804877c <uniform_c>
8048838: 83 c4 10 add esp,0x10
804883b: 89 c2 mov edx,eax
804883d: 8b 45 e8 mov eax,DWORD PTR [ebp-0x18]
8048840: 01 d0 add eax,edx
8048842: 89 45 f0 mov DWORD PTR [ebp-0x10],eax
8048845: 8b 45 e8 mov eax,DWORD PTR [ebp-0x18]
8048848: 8d 14 85 00 00 00 00 lea edx,[eax*4+0x0]
804884f: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048852: 01 d0 add eax,edx
8048854: 8b 00 mov eax,DWORD PTR [eax]
8048856: 89 45 f4 mov DWORD PTR [ebp-0xc],eax
8048859: 8b 45 e8 mov eax,DWORD PTR [ebp-0x18]
804885c: 8d 14 85 00 00 00 00 lea edx,[eax*4+0x0]
8048863: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048866: 01 c2 add edx,eax
8048868: 8b 45 f0 mov eax,DWORD PTR [ebp-0x10]
804886b: 8d 0c 85 00 00 00 00 lea ecx,[eax*4+0x0]
8048872: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048875: 01 c8 add eax,ecx
8048877: 8b 00 mov eax,DWORD PTR [eax]
8048879: 89 02 mov DWORD PTR [edx],eax
804887b: 8b 45 f0 mov eax,DWORD PTR [ebp-0x10]
804887e: 8d 14 85 00 00 00 00 lea edx,[eax*4+0x0]
8048885: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048888: 01 c2 add edx,eax
804888a: 8b 45 f4 mov eax,DWORD PTR [ebp-0xc]
804888d: 89 02 mov DWORD PTR [edx],eax
804888f: 83 45 e8 01 add DWORD PTR [ebp-0x18],0x1
8048893: 8b 45 e8 mov eax,DWORD PTR [ebp-0x18]
8048896: 3b 45 ec cmp eax,DWORD PTR [ebp-0x14]
8048899: 7c 8e jl 8048829 <shuffle_c+0x32>
804889b: 90 nop
804889c: c9 leave
804889d: c3 ret
0804889e <eval_sort>:
804889e: 55 push ebp
804889f: 89 e5 mov ebp,esp
80488a1: 83 ec 18 sub esp,0x18
80488a4: 83 ec 04 sub esp,0x4
80488a7: ff 75 14 push DWORD PTR [ebp+0x14]
80488aa: ff 75 10 push DWORD PTR [ebp+0x10]
80488ad: ff 75 08 push DWORD PTR [ebp+0x8]
80488b0: e8 f6 fc ff ff call 80485ab <sort_c>
80488b5: 83 c4 10 add esp,0x10
80488b8: 83 ec 04 sub esp,0x4
80488bb: ff 75 14 push DWORD PTR [ebp+0x14]
80488be: ff 75 10 push DWORD PTR [ebp+0x10]
80488c1: ff 75 0c push DWORD PTR [ebp+0xc]
80488c4: e8 57 01 00 00 call 8048a20 <sort>
80488c9: 83 c4 10 add esp,0x10
80488cc: 83 ec 0c sub esp,0xc
80488cf: 68 44 8d 04 08 push 0x8048d44
80488d4: e8 87 fb ff ff call 8048460 <puts@plt>
80488d9: 83 c4 10 add esp,0x10
80488dc: c7 45 f0 00 00 00 00 mov DWORD PTR [ebp-0x10],0x0
80488e3: eb 55 jmp 804893a <eval_sort+0x9c>
80488e5: 8b 45 f0 mov eax,DWORD PTR [ebp-0x10]
80488e8: 8d 14 85 00 00 00 00 lea edx,[eax*4+0x0]
80488ef: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
80488f2: 01 d0 add eax,edx
80488f4: 8b 10 mov edx,DWORD PTR [eax]
80488f6: 8b 45 f0 mov eax,DWORD PTR [ebp-0x10]
80488f9: 8d 0c 85 00 00 00 00 lea ecx,[eax*4+0x0]
8048900: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048903: 01 c8 add eax,ecx
8048905: 8b 00 mov eax,DWORD PTR [eax]
8048907: 83 ec 08 sub esp,0x8
804890a: 52 push edx
804890b: 50 push eax
804890c: e8 ff fa ff ff call 8048410 <strcmp@plt>
8048911: 83 c4 10 add esp,0x10
8048914: 89 45 f4 mov DWORD PTR [ebp-0xc],eax
8048917: 83 7d f4 00 cmp DWORD PTR [ebp-0xc],0x0
804891b: 74 19 je 8048936 <eval_sort+0x98>
804891d: a1 40 b0 04 08 mov eax,ds:0x804b040
8048922: 50 push eax
8048923: 6a 07 push 0x7
8048925: 6a 01 push 0x1
8048927: 68 5f 8d 04 08 push 0x8048d5f
804892c: e8 1f fb ff ff call 8048450 <fwrite@plt>
8048931: 83 c4 10 add esp,0x10
8048934: eb 0c jmp 8048942 <eval_sort+0xa4>
8048936: 83 45 f0 01 add DWORD PTR [ebp-0x10],0x1
804893a: 8b 45 f0 mov eax,DWORD PTR [ebp-0x10]
804893d: 3b 45 10 cmp eax,DWORD PTR [ebp+0x10]
8048940: 7c a3 jl 80488e5 <eval_sort+0x47>
8048942: 83 7d f4 00 cmp DWORD PTR [ebp-0xc],0x0
8048946: 75 10 jne 8048958 <eval_sort+0xba>
8048948: 83 ec 0c sub esp,0xc
804894b: 68 67 8d 04 08 push 0x8048d67
8048950: e8 0b fb ff ff call 8048460 <puts@plt>
8048955: 83 c4 10 add esp,0x10
8048958: 90 nop
8048959: c9 leave
804895a: c3 ret
0804895b <compare>:
804895b: 55 push ebp
804895c: 89 e5 mov ebp,esp
804895e: 83 ec 08 sub esp,0x8
8048961: 83 ec 08 sub esp,0x8
8048964: ff 75 0c push DWORD PTR [ebp+0xc]
8048967: ff 75 08 push DWORD PTR [ebp+0x8]
804896a: e8 a1 fa ff ff call 8048410 <strcmp@plt>
804896f: 83 c4 10 add esp,0x10
8048972: c9 leave
8048973: c3 ret
08048974 <main>:
8048974: 8d 4c 24 04 lea ecx,[esp+0x4]
8048978: 83 e4 f0 and esp,0xfffffff0
804897b: ff 71 fc push DWORD PTR [ecx-0x4]
804897e: 55 push ebp
804897f: 89 e5 mov ebp,esp
8048981: 51 push ecx
8048982: 83 ec 44 sub esp,0x44
8048985: 89 c8 mov eax,ecx
8048987: 8b 40 04 mov eax,DWORD PTR [eax+0x4]
804898a: 89 45 c4 mov DWORD PTR [ebp-0x3c],eax
804898d: 65 a1 14 00 00 00 mov eax,gs:0x14
8048993: 89 45 f4 mov DWORD PTR [ebp-0xc],eax
8048996: 31 c0 xor eax,eax
8048998: c7 45 cc 70 8d 04 08 mov DWORD PTR [ebp-0x34],0x8048d70
804899f: c7 45 d0 77 8d 04 08 mov DWORD PTR [ebp-0x30],0x8048d77
80489a6: c7 45 d4 7e 8d 04 08 mov DWORD PTR [ebp-0x2c],0x8048d7e
80489ad: c7 45 d8 89 8d 04 08 mov DWORD PTR [ebp-0x28],0x8048d89
80489b4: c7 45 dc 8d 8d 04 08 mov DWORD PTR [ebp-0x24],0x8048d8d
80489bb: c7 45 e0 70 8d 04 08 mov DWORD PTR [ebp-0x20],0x8048d70
80489c2: c7 45 e4 77 8d 04 08 mov DWORD PTR [ebp-0x1c],0x8048d77
80489c9: c7 45 e8 7e 8d 04 08 mov DWORD PTR [ebp-0x18],0x8048d7e
80489d0: c7 45 ec 89 8d 04 08 mov DWORD PTR [ebp-0x14],0x8048d89
80489d7: c7 45 f0 8d 8d 04 08 mov DWORD PTR [ebp-0x10],0x8048d8d
80489de: 68 5b 89 04 08 push 0x804895b
80489e3: 6a 05 push 0x5
80489e5: 8d 45 e0 lea eax,[ebp-0x20]
80489e8: 50 push eax
80489e9: 8d 45 cc lea eax,[ebp-0x34]
80489ec: 50 push eax
80489ed: e8 ac fe ff ff call 804889e <eval_sort>
80489f2: 83 c4 10 add esp,0x10
80489f5: b8 00 00 00 00 mov eax,0x0
80489fa: 8b 55 f4 mov edx,DWORD PTR [ebp-0xc]
80489fd: 65 33 15 14 00 00 00 xor edx,DWORD PTR gs:0x14
8048a04: 74 05 je 8048a0b <main+0x97>
8048a06: e8 35 fa ff ff call 8048440 <__stack_chk_fail@plt>
8048a0b: 8b 4d fc mov ecx,DWORD PTR [ebp-0x4]
8048a0e: c9 leave
8048a0f: 8d 61 fc lea esp,[ecx-0x4]
8048a12: c3 ret
8048a13: 66 90 xchg ax,ax
8048a15: 66 90 xchg ax,ax
8048a17: 66 90 xchg ax,ax
8048a19: 66 90 xchg ax,ax
8048a1b: 66 90 xchg ax,ax
8048a1d: 66 90 xchg ax,ax
8048a1f: 90 nop
08048a20 <sort>:
8048a20: 55 push ebp
8048a21: 89 e5 mov ebp,esp
8048a23: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
8048a26: 50 push eax
8048a27: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048a2a: 50 push eax
8048a2b: e8 db 01 00 00 call 8048c0b <shuffle>
8048a30: 83 c4 08 add esp,0x8
8048a33: 8b 45 10 mov eax,DWORD PTR [ebp+0x10]
8048a36: 50 push eax
8048a37: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
8048a3a: 8d 58 ff lea ebx,[eax-0x1]
8048a3d: 53 push ebx
8048a3e: b8 00 00 00 00 mov eax,0x0
8048a43: 50 push eax
8048a44: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048a47: 50 push eax
8048a48: e8 04 00 00 00 call 8048a51 <_sort>
8048a4d: 89 ec mov esp,ebp
8048a4f: 5d pop ebp
8048a50: c3 ret
08048a51 <_sort>:
8048a51: 55 push ebp
8048a52: 89 e5 mov ebp,esp
8048a54: 83 ec 04 sub esp,0x4
8048a57: 8b 45 10 mov eax,DWORD PTR [ebp+0x10]
8048a5a: 8b 5d 0c mov ebx,DWORD PTR [ebp+0xc]
8048a5d: 39 d8 cmp eax,ebx
8048a5f: 7e 4d jle 8048aae <_sort.end>
8048a61: 8b 45 14 mov eax,DWORD PTR [ebp+0x14]
8048a64: 50 push eax
8048a65: 8b 45 10 mov eax,DWORD PTR [ebp+0x10]
8048a68: 50 push eax
8048a69: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
8048a6c: 50 push eax
8048a6d: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048a70: 50 push eax
8048a71: e8 3c 00 00 00 call 8048ab2 <partition>
8048a76: 89 45 fc mov DWORD PTR [ebp-0x4],eax
8048a79: 83 c4 10 add esp,0x10
8048a7c: 8b 45 14 mov eax,DWORD PTR [ebp+0x14]
8048a7f: 50 push eax
8048a80: 8b 45 fc mov eax,DWORD PTR [ebp-0x4]
8048a83: 48 dec eax
8048a84: 50 push eax
8048a85: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
8048a88: 50 push eax
8048a89: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048a8c: 50 push eax
8048a8d: e8 bf ff ff ff call 8048a51 <_sort>
8048a92: 83 c4 10 add esp,0x10
8048a95: 8b 45 14 mov eax,DWORD PTR [ebp+0x14]
8048a98: 50 push eax
8048a99: 8b 45 10 mov eax,DWORD PTR [ebp+0x10]
8048a9c: 50 push eax
8048a9d: 8b 45 fc mov eax,DWORD PTR [ebp-0x4]
8048aa0: 40 inc eax
8048aa1: 50 push eax
8048aa2: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048aa5: 50 push eax
8048aa6: e8 a6 ff ff ff call 8048a51 <_sort>
8048aab: 83 c4 10 add esp,0x10
08048aae <_sort.end>:
8048aae: 89 ec mov esp,ebp
8048ab0: 5d pop ebp
8048ab1: c3 ret
08048ab2 <partition>:
8048ab2: 55 push ebp
8048ab3: 89 e5 mov ebp,esp
8048ab5: 83 ec 0c sub esp,0xc
8048ab8: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
8048abb: 89 45 fc mov DWORD PTR [ebp-0x4],eax
8048abe: 8b 45 10 mov eax,DWORD PTR [ebp+0x10]
8048ac1: 40 inc eax
8048ac2: 89 45 f8 mov DWORD PTR [ebp-0x8],eax
8048ac5: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
8048ac8: bb 04 00 00 00 mov ebx,0x4
8048acd: f7 eb imul ebx
8048acf: 89 c3 mov ebx,eax
8048ad1: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048ad4: 01 d8 add eax,ebx
8048ad6: 8b 00 mov eax,DWORD PTR [eax]
8048ad8: 89 45 f4 mov DWORD PTR [ebp-0xc],eax
08048adb <partition.everwhile>:
8048adb: eb 0a jmp 8048ae7 <partition.eval_ai_l_v>
08048add <partition.while_ai_l_v>: