-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathintel_asm.asm
1753 lines (1675 loc) · 87.6 KB
/
intel_asm.asm
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
bufbomb: file format elf32-i386
Disassembly of section .init:
08048878 <_init>:
8048878: 55 push ebp
8048879: 89 e5 mov ebp,esp
804887b: 53 push ebx
804887c: 83 ec 04 sub esp,0x4
804887f: e8 00 00 00 00 call 8048884 <_init+0xc>
8048884: 5b pop ebx
8048885: 81 c3 7c 28 00 00 add ebx,0x287c
804888b: 8b 93 fc ff ff ff mov edx,DWORD PTR [ebx-0x4]
8048891: 85 d2 test edx,edx
8048893: 74 05 je 804889a <_init+0x22>
8048895: e8 e6 00 00 00 call 8048980 <__gmon_start__@plt>
804889a: 58 pop eax
804889b: 5b pop ebx
804889c: c9 leave
804889d: c3 ret
Disassembly of section .plt:
080488a0 <.plt>:
80488a0: ff 35 04 b1 04 08 push DWORD PTR ds:0x804b104
80488a6: ff 25 08 b1 04 08 jmp DWORD PTR ds:0x804b108
80488ac: 00 00 add BYTE PTR [eax],al
...
080488b0 <read@plt>:
80488b0: ff 25 0c b1 04 08 jmp DWORD PTR ds:0x804b10c
80488b6: 68 00 00 00 00 push 0x0
80488bb: e9 e0 ff ff ff jmp 80488a0 <.plt>
080488c0 <srandom@plt>:
80488c0: ff 25 10 b1 04 08 jmp DWORD PTR ds:0x804b110
80488c6: 68 08 00 00 00 push 0x8
80488cb: e9 d0 ff ff ff jmp 80488a0 <.plt>
080488d0 <printf@plt>:
80488d0: ff 25 14 b1 04 08 jmp DWORD PTR ds:0x804b114
80488d6: 68 10 00 00 00 push 0x10
80488db: e9 c0 ff ff ff jmp 80488a0 <.plt>
080488e0 <memcpy@plt>:
80488e0: ff 25 18 b1 04 08 jmp DWORD PTR ds:0x804b118
80488e6: 68 18 00 00 00 push 0x18
80488eb: e9 b0 ff ff ff jmp 80488a0 <.plt>
080488f0 <signal@plt>:
80488f0: ff 25 1c b1 04 08 jmp DWORD PTR ds:0x804b11c
80488f6: 68 20 00 00 00 push 0x20
80488fb: e9 a0 ff ff ff jmp 80488a0 <.plt>
08048900 <alarm@plt>:
8048900: ff 25 20 b1 04 08 jmp DWORD PTR ds:0x804b120
8048906: 68 28 00 00 00 push 0x28
804890b: e9 90 ff ff ff jmp 80488a0 <.plt>
08048910 <_IO_getc@plt>:
8048910: ff 25 24 b1 04 08 jmp DWORD PTR ds:0x804b124
8048916: 68 30 00 00 00 push 0x30
804891b: e9 80 ff ff ff jmp 80488a0 <.plt>
08048920 <fwrite@plt>:
8048920: ff 25 28 b1 04 08 jmp DWORD PTR ds:0x804b128
8048926: 68 38 00 00 00 push 0x38
804892b: e9 70 ff ff ff jmp 80488a0 <.plt>
08048930 <bcopy@plt>:
8048930: ff 25 2c b1 04 08 jmp DWORD PTR ds:0x804b12c
8048936: 68 40 00 00 00 push 0x40
804893b: e9 60 ff ff ff jmp 80488a0 <.plt>
08048940 <strcpy@plt>:
8048940: ff 25 30 b1 04 08 jmp DWORD PTR ds:0x804b130
8048946: 68 48 00 00 00 push 0x48
804894b: e9 50 ff ff ff jmp 80488a0 <.plt>
08048950 <getpid@plt>:
8048950: ff 25 34 b1 04 08 jmp DWORD PTR ds:0x804b134
8048956: 68 50 00 00 00 push 0x50
804895b: e9 40 ff ff ff jmp 80488a0 <.plt>
08048960 <gethostname@plt>:
8048960: ff 25 38 b1 04 08 jmp DWORD PTR ds:0x804b138
8048966: 68 58 00 00 00 push 0x58
804896b: e9 30 ff ff ff jmp 80488a0 <.plt>
08048970 <puts@plt>:
8048970: ff 25 3c b1 04 08 jmp DWORD PTR ds:0x804b13c
8048976: 68 60 00 00 00 push 0x60
804897b: e9 20 ff ff ff jmp 80488a0 <.plt>
08048980 <__gmon_start__@plt>:
8048980: ff 25 40 b1 04 08 jmp DWORD PTR ds:0x804b140
8048986: 68 68 00 00 00 push 0x68
804898b: e9 10 ff ff ff jmp 80488a0 <.plt>
08048990 <exit@plt>:
8048990: ff 25 44 b1 04 08 jmp DWORD PTR ds:0x804b144
8048996: 68 70 00 00 00 push 0x70
804899b: e9 00 ff ff ff jmp 80488a0 <.plt>
080489a0 <srand@plt>:
80489a0: ff 25 48 b1 04 08 jmp DWORD PTR ds:0x804b148
80489a6: 68 78 00 00 00 push 0x78
80489ab: e9 f0 fe ff ff jmp 80488a0 <.plt>
080489b0 <mmap@plt>:
80489b0: ff 25 4c b1 04 08 jmp DWORD PTR ds:0x804b14c
80489b6: 68 80 00 00 00 push 0x80
80489bb: e9 e0 fe ff ff jmp 80488a0 <.plt>
080489c0 <__libc_start_main@plt>:
80489c0: ff 25 50 b1 04 08 jmp DWORD PTR ds:0x804b150
80489c6: 68 88 00 00 00 push 0x88
80489cb: e9 d0 fe ff ff jmp 80488a0 <.plt>
080489d0 <write@plt>:
80489d0: ff 25 54 b1 04 08 jmp DWORD PTR ds:0x804b154
80489d6: 68 90 00 00 00 push 0x90
80489db: e9 c0 fe ff ff jmp 80488a0 <.plt>
080489e0 <getopt@plt>:
80489e0: ff 25 58 b1 04 08 jmp DWORD PTR ds:0x804b158
80489e6: 68 98 00 00 00 push 0x98
80489eb: e9 b0 fe ff ff jmp 80488a0 <.plt>
080489f0 <strcasecmp@plt>:
80489f0: ff 25 5c b1 04 08 jmp DWORD PTR ds:0x804b15c
80489f6: 68 a0 00 00 00 push 0xa0
80489fb: e9 a0 fe ff ff jmp 80488a0 <.plt>
08048a00 <__isoc99_sscanf@plt>:
8048a00: ff 25 60 b1 04 08 jmp DWORD PTR ds:0x804b160
8048a06: 68 a8 00 00 00 push 0xa8
8048a0b: e9 90 fe ff ff jmp 80488a0 <.plt>
08048a10 <memset@plt>:
8048a10: ff 25 64 b1 04 08 jmp DWORD PTR ds:0x804b164
8048a16: 68 b0 00 00 00 push 0xb0
8048a1b: e9 80 fe ff ff jmp 80488a0 <.plt>
08048a20 <__strdup@plt>:
8048a20: ff 25 68 b1 04 08 jmp DWORD PTR ds:0x804b168
8048a26: 68 b8 00 00 00 push 0xb8
8048a2b: e9 70 fe ff ff jmp 80488a0 <.plt>
08048a30 <__errno_location@plt>:
8048a30: ff 25 6c b1 04 08 jmp DWORD PTR ds:0x804b16c
8048a36: 68 c0 00 00 00 push 0xc0
8048a3b: e9 60 fe ff ff jmp 80488a0 <.plt>
08048a40 <rand@plt>:
8048a40: ff 25 70 b1 04 08 jmp DWORD PTR ds:0x804b170
8048a46: 68 c8 00 00 00 push 0xc8
8048a4b: e9 50 fe ff ff jmp 80488a0 <.plt>
08048a50 <munmap@plt>:
8048a50: ff 25 74 b1 04 08 jmp DWORD PTR ds:0x804b174
8048a56: 68 d0 00 00 00 push 0xd0
8048a5b: e9 40 fe ff ff jmp 80488a0 <.plt>
08048a60 <sprintf@plt>:
8048a60: ff 25 78 b1 04 08 jmp DWORD PTR ds:0x804b178
8048a66: 68 d8 00 00 00 push 0xd8
8048a6b: e9 30 fe ff ff jmp 80488a0 <.plt>
08048a70 <socket@plt>:
8048a70: ff 25 7c b1 04 08 jmp DWORD PTR ds:0x804b17c
8048a76: 68 e0 00 00 00 push 0xe0
8048a7b: e9 20 fe ff ff jmp 80488a0 <.plt>
08048a80 <random@plt>:
8048a80: ff 25 80 b1 04 08 jmp DWORD PTR ds:0x804b180
8048a86: 68 e8 00 00 00 push 0xe8
8048a8b: e9 10 fe ff ff jmp 80488a0 <.plt>
08048a90 <gethostbyname@plt>:
8048a90: ff 25 84 b1 04 08 jmp DWORD PTR ds:0x804b184
8048a96: 68 f0 00 00 00 push 0xf0
8048a9b: e9 00 fe ff ff jmp 80488a0 <.plt>
08048aa0 <connect@plt>:
8048aa0: ff 25 88 b1 04 08 jmp DWORD PTR ds:0x804b188
8048aa6: 68 f8 00 00 00 push 0xf8
8048aab: e9 f0 fd ff ff jmp 80488a0 <.plt>
08048ab0 <close@plt>:
8048ab0: ff 25 8c b1 04 08 jmp DWORD PTR ds:0x804b18c
8048ab6: 68 00 01 00 00 push 0x100
8048abb: e9 e0 fd ff ff jmp 80488a0 <.plt>
08048ac0 <calloc@plt>:
8048ac0: ff 25 90 b1 04 08 jmp DWORD PTR ds:0x804b190
8048ac6: 68 08 01 00 00 push 0x108
8048acb: e9 d0 fd ff ff jmp 80488a0 <.plt>
Disassembly of section .text:
08048ad0 <_start>:
8048ad0: 31 ed xor ebp,ebp
8048ad2: 5e pop esi
8048ad3: 89 e1 mov ecx,esp
8048ad5: 83 e4 f0 and esp,0xfffffff0
8048ad8: 50 push eax
8048ad9: 54 push esp
8048ada: 52 push edx
8048adb: 68 20 a0 04 08 push 0x804a020
8048ae0: 68 30 a0 04 08 push 0x804a030
8048ae5: 51 push ecx
8048ae6: 56 push esi
8048ae7: 68 19 90 04 08 push 0x8049019
8048aec: e8 cf fe ff ff call 80489c0 <__libc_start_main@plt>
8048af1: f4 hlt
8048af2: 90 nop
8048af3: 90 nop
8048af4: 90 nop
8048af5: 90 nop
8048af6: 90 nop
8048af7: 90 nop
8048af8: 90 nop
8048af9: 90 nop
8048afa: 90 nop
8048afb: 90 nop
8048afc: 90 nop
8048afd: 90 nop
8048afe: 90 nop
8048aff: 90 nop
08048b00 <deregister_tm_clones>:
8048b00: b8 d7 c1 04 08 mov eax,0x804c1d7
8048b05: 2d d4 c1 04 08 sub eax,0x804c1d4
8048b0a: 83 f8 06 cmp eax,0x6
8048b0d: 77 02 ja 8048b11 <deregister_tm_clones+0x11>
8048b0f: f3 c3 repz ret
8048b11: b8 00 00 00 00 mov eax,0x0
8048b16: 85 c0 test eax,eax
8048b18: 74 f5 je 8048b0f <deregister_tm_clones+0xf>
8048b1a: 55 push ebp
8048b1b: 89 e5 mov ebp,esp
8048b1d: 83 ec 18 sub esp,0x18
8048b20: c7 04 24 d4 c1 04 08 mov DWORD PTR [esp],0x804c1d4
8048b27: ff d0 call eax
8048b29: c9 leave
8048b2a: c3 ret
8048b2b: 90 nop
8048b2c: 8d 74 26 00 lea esi,[esi+eiz*1+0x0]
08048b30 <register_tm_clones>:
8048b30: b8 d4 c1 04 08 mov eax,0x804c1d4
8048b35: 2d d4 c1 04 08 sub eax,0x804c1d4
8048b3a: c1 f8 02 sar eax,0x2
8048b3d: 89 c2 mov edx,eax
8048b3f: c1 ea 1f shr edx,0x1f
8048b42: 01 d0 add eax,edx
8048b44: d1 f8 sar eax,1
8048b46: 75 02 jne 8048b4a <register_tm_clones+0x1a>
8048b48: f3 c3 repz ret
8048b4a: ba 00 00 00 00 mov edx,0x0
8048b4f: 85 d2 test edx,edx
8048b51: 74 f5 je 8048b48 <register_tm_clones+0x18>
8048b53: 55 push ebp
8048b54: 89 e5 mov ebp,esp
8048b56: 83 ec 18 sub esp,0x18
8048b59: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
8048b5d: c7 04 24 d4 c1 04 08 mov DWORD PTR [esp],0x804c1d4
8048b64: ff d2 call edx
8048b66: c9 leave
8048b67: c3 ret
8048b68: 90 nop
8048b69: 8d b4 26 00 00 00 00 lea esi,[esi+eiz*1+0x0]
08048b70 <__do_global_dtors_aux>:
8048b70: 80 3d 04 c2 04 08 00 cmp BYTE PTR ds:0x804c204,0x0
8048b77: 75 13 jne 8048b8c <__do_global_dtors_aux+0x1c>
8048b79: 55 push ebp
8048b7a: 89 e5 mov ebp,esp
8048b7c: 83 ec 08 sub esp,0x8
8048b7f: e8 7c ff ff ff call 8048b00 <deregister_tm_clones>
8048b84: c6 05 04 c2 04 08 01 mov BYTE PTR ds:0x804c204,0x1
8048b8b: c9 leave
8048b8c: f3 c3 repz ret
8048b8e: 66 90 xchg ax,ax
08048b90 <frame_dummy>:
8048b90: a1 08 b0 04 08 mov eax,ds:0x804b008
8048b95: 85 c0 test eax,eax
8048b97: 74 1e je 8048bb7 <frame_dummy+0x27>
8048b99: b8 00 00 00 00 mov eax,0x0
8048b9e: 85 c0 test eax,eax
8048ba0: 74 15 je 8048bb7 <frame_dummy+0x27>
8048ba2: 55 push ebp
8048ba3: 89 e5 mov ebp,esp
8048ba5: 83 ec 18 sub esp,0x18
8048ba8: c7 04 24 08 b0 04 08 mov DWORD PTR [esp],0x804b008
8048baf: ff d0 call eax
8048bb1: c9 leave
8048bb2: e9 79 ff ff ff jmp 8048b30 <register_tm_clones>
8048bb7: e9 74 ff ff ff jmp 8048b30 <register_tm_clones>
8048bbc: 90 nop
8048bbd: 90 nop
8048bbe: 90 nop
8048bbf: 90 nop
08048bc0 <usage>:
8048bc0: 55 push ebp
8048bc1: 89 e5 mov ebp,esp
8048bc3: 83 ec 18 sub esp,0x18
8048bc6: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
8048bca: c7 04 24 b0 a0 04 08 mov DWORD PTR [esp],0x804a0b0
8048bd1: e8 fa fc ff ff call 80488d0 <printf@plt>
8048bd6: c7 04 24 ce a0 04 08 mov DWORD PTR [esp],0x804a0ce
8048bdd: e8 8e fd ff ff call 8048970 <puts@plt>
8048be2: c7 04 24 e4 a0 04 08 mov DWORD PTR [esp],0x804a0e4
8048be9: e8 82 fd ff ff call 8048970 <puts@plt>
8048bee: c7 04 24 ec a1 04 08 mov DWORD PTR [esp],0x804a1ec
8048bf5: e8 76 fd ff ff call 8048970 <puts@plt>
8048bfa: c7 04 24 28 a2 04 08 mov DWORD PTR [esp],0x804a228
8048c01: e8 6a fd ff ff call 8048970 <puts@plt>
8048c06: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
8048c0d: e8 7e fd ff ff call 8048990 <exit@plt>
08048c12 <illegalhandler>:
8048c12: 55 push ebp
8048c13: 89 e5 mov ebp,esp
8048c15: 83 ec 18 sub esp,0x18
8048c18: c7 04 24 50 a2 04 08 mov DWORD PTR [esp],0x804a250
8048c1f: e8 4c fd ff ff call 8048970 <puts@plt>
8048c24: c7 04 24 fd a0 04 08 mov DWORD PTR [esp],0x804a0fd
8048c2b: e8 40 fd ff ff call 8048970 <puts@plt>
8048c30: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
8048c37: e8 54 fd ff ff call 8048990 <exit@plt>
08048c3c <seghandler>:
8048c3c: 55 push ebp
8048c3d: 89 e5 mov ebp,esp
8048c3f: 83 ec 18 sub esp,0x18
8048c42: c7 04 24 7c a2 04 08 mov DWORD PTR [esp],0x804a27c
8048c49: e8 22 fd ff ff call 8048970 <puts@plt>
8048c4e: c7 04 24 fd a0 04 08 mov DWORD PTR [esp],0x804a0fd
8048c55: e8 16 fd ff ff call 8048970 <puts@plt>
8048c5a: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
8048c61: e8 2a fd ff ff call 8048990 <exit@plt>
08048c66 <bushandler>:
8048c66: 55 push ebp
8048c67: 89 e5 mov ebp,esp
8048c69: 83 ec 18 sub esp,0x18
8048c6c: c7 04 24 a4 a2 04 08 mov DWORD PTR [esp],0x804a2a4
8048c73: e8 f8 fc ff ff call 8048970 <puts@plt>
8048c78: c7 04 24 fd a0 04 08 mov DWORD PTR [esp],0x804a0fd
8048c7f: e8 ec fc ff ff call 8048970 <puts@plt>
8048c84: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
8048c8b: e8 00 fd ff ff call 8048990 <exit@plt>
08048c90 <smoke>:
8048c90: 55 push ebp
8048c91: 89 e5 mov ebp,esp
8048c93: 83 ec 18 sub esp,0x18
8048c96: c7 04 24 13 a1 04 08 mov DWORD PTR [esp],0x804a113
8048c9d: e8 ce fc ff ff call 8048970 <puts@plt>
8048ca2: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
8048ca9: e8 96 06 00 00 call 8049344 <validate>
8048cae: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
8048cb5: e8 d6 fc ff ff call 8048990 <exit@plt>
08048cba <fizz>:
8048cba: 55 push ebp
8048cbb: 89 e5 mov ebp,esp
8048cbd: 83 ec 18 sub esp,0x18
8048cc0: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048cc3: 3b 05 20 c2 04 08 cmp eax,DWORD PTR ds:0x804c220 ; 注意cookie值所在地
8048cc9: 75 1e jne 8048ce9 <fizz+0x2f>
8048ccb: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
8048ccf: c7 04 24 2e a1 04 08 mov DWORD PTR [esp],0x804a12e
8048cd6: e8 f5 fb ff ff call 80488d0 <printf@plt>
8048cdb: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
8048ce2: e8 5d 06 00 00 call 8049344 <validate>
8048ce7: eb 10 jmp 8048cf9 <fizz+0x3f>
8048ce9: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
8048ced: c7 04 24 c4 a2 04 08 mov DWORD PTR [esp],0x804a2c4
8048cf4: e8 d7 fb ff ff call 80488d0 <printf@plt>
8048cf9: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
8048d00: e8 8b fc ff ff call 8048990 <exit@plt>
08048d05 <bang>:
8048d05: 55 push ebp
8048d06: 89 e5 mov ebp,esp
8048d08: 83 ec 18 sub esp,0x18
8048d0b: a1 18 c2 04 08 mov eax,ds:0x804c218
8048d10: 3b 05 20 c2 04 08 cmp eax,DWORD PTR ds:0x804c220
8048d16: 75 1e jne 8048d36 <bang+0x31>
8048d18: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
8048d1c: c7 04 24 e4 a2 04 08 mov DWORD PTR [esp],0x804a2e4
8048d23: e8 a8 fb ff ff call 80488d0 <printf@plt>
8048d28: c7 04 24 02 00 00 00 mov DWORD PTR [esp],0x2
8048d2f: e8 10 06 00 00 call 8049344 <validate>
8048d34: eb 10 jmp 8048d46 <bang+0x41>
8048d36: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
8048d3a: c7 04 24 4c a1 04 08 mov DWORD PTR [esp],0x804a14c
8048d41: e8 8a fb ff ff call 80488d0 <printf@plt>
8048d46: c7 04 24 00 00 00 00 mov DWORD PTR [esp],0x0
8048d4d: e8 3e fc ff ff call 8048990 <exit@plt>
08048d52 <Gets>:
8048d52: 55 push ebp
8048d53: 89 e5 mov ebp,esp
8048d55: 57 push edi
8048d56: 56 push esi
8048d57: 53 push ebx
8048d58: 83 ec 1c sub esp,0x1c
8048d5b: 8b 75 08 mov esi,DWORD PTR [ebp+0x8]
8048d5e: c7 05 14 c2 04 08 00 mov DWORD PTR ds:0x804c214,0x0
8048d65: 00 00 00
8048d68: 89 f3 mov ebx,esi
8048d6a: eb 48 jmp 8048db4 <Gets+0x62>
8048d6c: 89 d1 mov ecx,edx
8048d6e: 88 13 mov BYTE PTR [ebx],dl
8048d70: 83 c3 01 add ebx,0x1
8048d73: a1 14 c2 04 08 mov eax,ds:0x804c214
8048d78: 3d ff 03 00 00 cmp eax,0x3ff
8048d7d: 7f 35 jg 8048db4 <Gets+0x62>
8048d7f: 8d 3c 40 lea edi,[eax+eax*2]
8048d82: c0 e9 04 shr cl,0x4
8048d85: 0f be c9 movsx ecx,cl
8048d88: 0f b6 89 30 a4 04 08 movzx ecx,BYTE PTR [ecx+0x804a430]
8048d8f: 88 8f 60 c2 04 08 mov BYTE PTR [edi+0x804c260],cl
8048d95: 83 e2 0f and edx,0xf
8048d98: 0f b6 92 30 a4 04 08 movzx edx,BYTE PTR [edx+0x804a430]
8048d9f: 88 97 61 c2 04 08 mov BYTE PTR [edi+0x804c261],dl
8048da5: c6 87 62 c2 04 08 20 mov BYTE PTR [edi+0x804c262],0x20
8048dac: 83 c0 01 add eax,0x1
8048daf: a3 14 c2 04 08 mov ds:0x804c214,eax
8048db4: a1 24 c2 04 08 mov eax,ds:0x804c224
8048db9: 89 04 24 mov DWORD PTR [esp],eax
8048dbc: e8 4f fb ff ff call 8048910 <_IO_getc@plt>
8048dc1: 89 c2 mov edx,eax
8048dc3: 83 f8 ff cmp eax,0xffffffff
8048dc6: 74 05 je 8048dcd <Gets+0x7b>
8048dc8: 83 f8 0a cmp eax,0xa
8048dcb: 75 9f jne 8048d6c <Gets+0x1a>
8048dcd: c6 03 00 mov BYTE PTR [ebx],0x0
8048dd0: a1 14 c2 04 08 mov eax,ds:0x804c214
8048dd5: c6 84 40 60 c2 04 08 mov BYTE PTR [eax+eax*2+0x804c260],0x0
8048ddc: 00
8048ddd: 89 f0 mov eax,esi
8048ddf: 83 c4 1c add esp,0x1c
8048de2: 5b pop ebx
8048de3: 5e pop esi
8048de4: 5f pop edi
8048de5: 5d pop ebp
8048de6: c3 ret
08048de7 <uniqueval>:
8048de7: 55 push ebp
8048de8: 89 e5 mov ebp,esp
8048dea: 83 ec 18 sub esp,0x18
8048ded: e8 5e fb ff ff call 8048950 <getpid@plt>
8048df2: 89 04 24 mov DWORD PTR [esp],eax
8048df5: e8 c6 fa ff ff call 80488c0 <srandom@plt>
8048dfa: e8 81 fc ff ff call 8048a80 <random@plt>
8048dff: c9 leave
8048e00: c3 ret
08048e01 <testn>:
8048e01: 55 push ebp
8048e02: 89 e5 mov ebp,esp
8048e04: 53 push ebx
8048e05: 83 ec 24 sub esp,0x24
8048e08: e8 da ff ff ff call 8048de7 <uniqueval>
8048e0d: 89 45 f4 mov DWORD PTR [ebp-0xc],eax
8048e10: e8 ef 03 00 00 call 8049204 <getbufn>
8048e15: 89 c3 mov ebx,eax
8048e17: e8 cb ff ff ff call 8048de7 <uniqueval>
8048e1c: 8b 55 f4 mov edx,DWORD PTR [ebp-0xc]
8048e1f: 39 d0 cmp eax,edx
8048e21: 74 0e je 8048e31 <testn+0x30>
8048e23: c7 04 24 0c a3 04 08 mov DWORD PTR [esp],0x804a30c
8048e2a: e8 41 fb ff ff call 8048970 <puts@plt>
8048e2f: eb 36 jmp 8048e67 <testn+0x66>
8048e31: 3b 1d 20 c2 04 08 cmp ebx,DWORD PTR ds:0x804c220
8048e37: 75 1e jne 8048e57 <testn+0x56>
8048e39: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
8048e3d: c7 04 24 38 a3 04 08 mov DWORD PTR [esp],0x804a338
8048e44: e8 87 fa ff ff call 80488d0 <printf@plt>
8048e49: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
8048e50: e8 ef 04 00 00 call 8049344 <validate>
8048e55: eb 10 jmp 8048e67 <testn+0x66>
8048e57: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
8048e5b: c7 04 24 6a a1 04 08 mov DWORD PTR [esp],0x804a16a
8048e62: e8 69 fa ff ff call 80488d0 <printf@plt>
8048e67: 83 c4 24 add esp,0x24
8048e6a: 5b pop ebx
8048e6b: 5d pop ebp
8048e6c: c3 ret
08048e6d <test>:
8048e6d: 55 push ebp
8048e6e: 89 e5 mov ebp,esp
8048e70: 53 push ebx
8048e71: 83 ec 24 sub esp,0x24
8048e74: e8 6e ff ff ff call 8048de7 <uniqueval>
8048e79: 89 45 f4 mov DWORD PTR [ebp-0xc],eax
8048e7c: e8 6b 03 00 00 call 80491ec <getbuf>
8048e81: 89 c3 mov ebx,eax
8048e83: e8 5f ff ff ff call 8048de7 <uniqueval>
8048e88: 8b 55 f4 mov edx,DWORD PTR [ebp-0xc]
8048e8b: 39 d0 cmp eax,edx
8048e8d: 74 0e je 8048e9d <test+0x30>
8048e8f: c7 04 24 0c a3 04 08 mov DWORD PTR [esp],0x804a30c
8048e96: e8 d5 fa ff ff call 8048970 <puts@plt>
8048e9b: eb 36 jmp 8048ed3 <test+0x66>
8048e9d: 3b 1d 20 c2 04 08 cmp ebx,DWORD PTR ds:0x804c220
8048ea3: 75 1e jne 8048ec3 <test+0x56>
8048ea5: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
8048ea9: c7 04 24 86 a1 04 08 mov DWORD PTR [esp],0x804a186
8048eb0: e8 1b fa ff ff call 80488d0 <printf@plt>
8048eb5: c7 04 24 03 00 00 00 mov DWORD PTR [esp],0x3
8048ebc: e8 83 04 00 00 call 8049344 <validate>
8048ec1: eb 10 jmp 8048ed3 <test+0x66>
8048ec3: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
8048ec7: c7 04 24 a3 a1 04 08 mov DWORD PTR [esp],0x804a1a3
8048ece: e8 fd f9 ff ff call 80488d0 <printf@plt>
8048ed3: 83 c4 24 add esp,0x24
8048ed6: 5b pop ebx
8048ed7: 5d pop ebp
8048ed8: c3 ret
08048ed9 <launch>:
8048ed9: 55 push ebp
8048eda: 89 e5 mov ebp,esp
8048edc: 53 push ebx
8048edd: 83 ec 54 sub esp,0x54
8048ee0: 89 c3 mov ebx,eax
8048ee2: 8d 4d b8 lea ecx,[ebp-0x48]
8048ee5: 81 e1 f0 3f 00 00 and ecx,0x3ff0
8048eeb: 8d 44 11 1e lea eax,[ecx+edx*1+0x1e]
8048eef: 83 e0 f0 and eax,0xfffffff0
8048ef2: 29 c4 sub esp,eax
8048ef4: 8d 44 24 1b lea eax,[esp+0x1b]
8048ef8: 83 e0 f0 and eax,0xfffffff0
8048efb: 89 4c 24 08 mov DWORD PTR [esp+0x8],ecx
8048eff: c7 44 24 04 f4 00 00 mov DWORD PTR [esp+0x4],0xf4
8048f06: 00
8048f07: 89 04 24 mov DWORD PTR [esp],eax
8048f0a: e8 01 fb ff ff call 8048a10 <memset@plt>
8048f0f: c7 04 24 be a1 04 08 mov DWORD PTR [esp],0x804a1be
8048f16: e8 b5 f9 ff ff call 80488d0 <printf@plt>
8048f1b: 85 db test ebx,ebx
8048f1d: 74 07 je 8048f26 <launch+0x4d>
8048f1f: e8 dd fe ff ff call 8048e01 <testn>
8048f24: eb 05 jmp 8048f2b <launch+0x52>
8048f26: e8 42 ff ff ff call 8048e6d <test>
8048f2b: 83 3d 1c c2 04 08 00 cmp DWORD PTR ds:0x804c21c,0x0
8048f32: 75 16 jne 8048f4a <launch+0x71>
8048f34: c7 04 24 fd a0 04 08 mov DWORD PTR [esp],0x804a0fd
8048f3b: e8 30 fa ff ff call 8048970 <puts@plt>
8048f40: c7 05 1c c2 04 08 00 mov DWORD PTR ds:0x804c21c,0x0
8048f47: 00 00 00
8048f4a: 8b 5d fc mov ebx,DWORD PTR [ebp-0x4]
8048f4d: c9 leave
8048f4e: c3 ret
08048f4f <launcher>:
8048f4f: 55 push ebp
8048f50: 89 e5 mov ebp,esp
8048f52: 83 ec 28 sub esp,0x28
8048f55: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8048f58: a3 10 c2 04 08 mov ds:0x804c210,eax
8048f5d: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
8048f60: a3 0c c2 04 08 mov ds:0x804c20c,eax
8048f65: c7 44 24 14 00 00 00 mov DWORD PTR [esp+0x14],0x0
8048f6c: 00
8048f6d: c7 44 24 10 00 00 00 mov DWORD PTR [esp+0x10],0x0
8048f74: 00
8048f75: c7 44 24 0c 32 01 00 mov DWORD PTR [esp+0xc],0x132
8048f7c: 00
8048f7d: c7 44 24 08 07 00 00 mov DWORD PTR [esp+0x8],0x7
8048f84: 00
8048f85: c7 44 24 04 00 00 10 mov DWORD PTR [esp+0x4],0x100000
8048f8c: 00
8048f8d: c7 04 24 00 60 58 55 mov DWORD PTR [esp],0x55586000
8048f94: e8 17 fa ff ff call 80489b0 <mmap@plt>
8048f99: 3d 00 60 58 55 cmp eax,0x55586000
8048f9e: 74 31 je 8048fd1 <launcher+0x82>
8048fa0: a1 e0 c1 04 08 mov eax,ds:0x804c1e0
8048fa5: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
8048fa9: c7 44 24 08 47 00 00 mov DWORD PTR [esp+0x8],0x47
8048fb0: 00
8048fb1: c7 44 24 04 01 00 00 mov DWORD PTR [esp+0x4],0x1
8048fb8: 00
8048fb9: c7 04 24 58 a3 04 08 mov DWORD PTR [esp],0x804a358
8048fc0: e8 5b f9 ff ff call 8048920 <fwrite@plt>
8048fc5: c7 04 24 01 00 00 00 mov DWORD PTR [esp],0x1
8048fcc: e8 bf f9 ff ff call 8048990 <exit@plt>
8048fd1: c7 05 40 c2 04 08 f8 mov DWORD PTR ds:0x804c240,0x55685ff8
8048fd8: 5f 68 55
8048fdb: ba f8 5f 68 55 mov edx,0x55685ff8
8048fe0: 89 e0 mov eax,esp
8048fe2: 89 d4 mov esp,edx
8048fe4: 89 c2 mov edx,eax
8048fe6: 89 15 08 c2 04 08 mov DWORD PTR ds:0x804c208,edx
8048fec: 8b 15 0c c2 04 08 mov edx,DWORD PTR ds:0x804c20c
8048ff2: a1 10 c2 04 08 mov eax,ds:0x804c210
8048ff7: e8 dd fe ff ff call 8048ed9 <launch>
8048ffc: a1 08 c2 04 08 mov eax,ds:0x804c208
8049001: 89 c4 mov esp,eax
8049003: c7 44 24 04 00 00 10 mov DWORD PTR [esp+0x4],0x100000
804900a: 00
804900b: c7 04 24 00 60 58 55 mov DWORD PTR [esp],0x55586000
8049012: e8 39 fa ff ff call 8048a50 <munmap@plt>
8049017: c9 leave
8049018: c3 ret
08049019 <main>:
8049019: 55 push ebp
804901a: 89 e5 mov ebp,esp
804901c: 57 push edi
804901d: 56 push esi
804901e: 53 push ebx
804901f: 83 e4 f0 and esp,0xfffffff0
8049022: 83 ec 20 sub esp,0x20
8049025: 8b 75 08 mov esi,DWORD PTR [ebp+0x8]
8049028: 8b 5d 0c mov ebx,DWORD PTR [ebp+0xc]
804902b: c7 44 24 04 3c 8c 04 mov DWORD PTR [esp+0x4],0x8048c3c
8049032: 08
8049033: c7 04 24 0b 00 00 00 mov DWORD PTR [esp],0xb
804903a: e8 b1 f8 ff ff call 80488f0 <signal@plt>
804903f: c7 44 24 04 66 8c 04 mov DWORD PTR [esp+0x4],0x8048c66
8049046: 08
8049047: c7 04 24 07 00 00 00 mov DWORD PTR [esp],0x7
804904e: e8 9d f8 ff ff call 80488f0 <signal@plt>
8049053: c7 44 24 04 12 8c 04 mov DWORD PTR [esp+0x4],0x8048c12
804905a: 08
804905b: c7 04 24 04 00 00 00 mov DWORD PTR [esp],0x4
8049062: e8 89 f8 ff ff call 80488f0 <signal@plt>
8049067: a1 e4 c1 04 08 mov eax,ds:0x804c1e4
804906c: a3 24 c2 04 08 mov ds:0x804c224,eax
8049071: bf 01 00 00 00 mov edi,0x1
8049076: c7 44 24 1c 00 00 00 mov DWORD PTR [esp+0x1c],0x0
804907d: 00
804907e: eb 71 jmp 80490f1 <main+0xd8>
8049080: 83 e8 67 sub eax,0x67
8049083: 3c 0e cmp al,0xe
8049085: 77 56 ja 80490dd <main+0xc4>
8049087: 0f b6 c0 movzx eax,al
804908a: ff 24 85 f4 a3 04 08 jmp DWORD PTR [eax*4+0x804a3f4]
8049091: 8b 03 mov eax,DWORD PTR [ebx]
8049093: e8 28 fb ff ff call 8048bc0 <usage>
8049098: a1 00 c2 04 08 mov eax,ds:0x804c200
804909d: 89 04 24 mov DWORD PTR [esp],eax
80490a0: e8 7b f9 ff ff call 8048a20 <__strdup@plt>
80490a5: a3 30 c2 04 08 mov ds:0x804c230,eax
80490aa: 89 04 24 mov DWORD PTR [esp],eax
80490ad: e8 38 0f 00 00 call 8049fea <gencookie>
80490b2: a3 20 c2 04 08 mov ds:0x804c220,eax
80490b7: eb 38 jmp 80490f1 <main+0xd8>
80490b9: c7 04 24 a0 a3 04 08 mov DWORD PTR [esp],0x804a3a0
80490c0: e8 ab f8 ff ff call 8048970 <puts@plt>
80490c5: c7 05 2c c2 04 08 00 mov DWORD PTR ds:0x804c22c,0x0
80490cc: 00 00 00
80490cf: eb 20 jmp 80490f1 <main+0xd8>
80490d1: c7 05 28 c2 04 08 01 mov DWORD PTR ds:0x804c228,0x1
80490d8: 00 00 00
80490db: eb 14 jmp 80490f1 <main+0xd8>
80490dd: 8b 03 mov eax,DWORD PTR [ebx]
80490df: e8 dc fa ff ff call 8048bc0 <usage>
80490e4: bf 05 00 00 00 mov edi,0x5
80490e9: c7 44 24 1c 01 00 00 mov DWORD PTR [esp+0x1c],0x1
80490f0: 00
80490f1: c7 44 24 08 cb a1 04 mov DWORD PTR [esp+0x8],0x804a1cb
80490f8: 08
80490f9: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
80490fd: 89 34 24 mov DWORD PTR [esp],esi
8049100: e8 db f8 ff ff call 80489e0 <getopt@plt>
8049105: 3c ff cmp al,0xff
8049107: 0f 85 73 ff ff ff jne 8049080 <main+0x67>
804910d: 83 3d 30 c2 04 08 00 cmp DWORD PTR ds:0x804c230,0x0
8049114: 75 19 jne 804912f <main+0x116>
8049116: 8b 03 mov eax,DWORD PTR [ebx]
8049118: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
804911c: c7 04 24 c8 a3 04 08 mov DWORD PTR [esp],0x804a3c8
8049123: e8 a8 f7 ff ff call 80488d0 <printf@plt>
8049128: 8b 03 mov eax,DWORD PTR [ebx]
804912a: e8 91 fa ff ff call 8048bc0 <usage>
804912f: e8 f0 00 00 00 call 8049224 <initialize_bomb>
8049134: a1 30 c2 04 08 mov eax,ds:0x804c230
8049139: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
804913d: c7 04 24 d2 a1 04 08 mov DWORD PTR [esp],0x804a1d2
8049144: e8 87 f7 ff ff call 80488d0 <printf@plt>
8049149: a1 20 c2 04 08 mov eax,ds:0x804c220
804914e: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
8049152: c7 04 24 de a1 04 08 mov DWORD PTR [esp],0x804a1de
8049159: e8 72 f7 ff ff call 80488d0 <printf@plt>
804915e: a1 20 c2 04 08 mov eax,ds:0x804c220
8049163: 89 04 24 mov DWORD PTR [esp],eax
8049166: e8 55 f7 ff ff call 80488c0 <srandom@plt>
804916b: e8 10 f9 ff ff call 8048a80 <random@plt>
8049170: 25 f0 0f 00 00 and eax,0xff0
8049175: 05 00 01 00 00 add eax,0x100
804917a: 89 44 24 18 mov DWORD PTR [esp+0x18],eax
804917e: c7 44 24 04 04 00 00 mov DWORD PTR [esp+0x4],0x4
8049185: 00
8049186: 89 3c 24 mov DWORD PTR [esp],edi
8049189: e8 32 f9 ff ff call 8048ac0 <calloc@plt>
804918e: 89 c6 mov esi,eax
8049190: c7 00 00 00 00 00 mov DWORD PTR [eax],0x0
8049196: bb 01 00 00 00 mov ebx,0x1
804919b: eb 17 jmp 80491b4 <main+0x19b>
804919d: e8 de f8 ff ff call 8048a80 <random@plt>
80491a2: 25 f0 00 00 00 and eax,0xf0
80491a7: ba 80 00 00 00 mov edx,0x80
80491ac: 29 c2 sub edx,eax
80491ae: 89 14 9e mov DWORD PTR [esi+ebx*4],edx
80491b1: 83 c3 01 add ebx,0x1
80491b4: 39 fb cmp ebx,edi
80491b6: 7c e5 jl 804919d <main+0x184>
80491b8: bb 00 00 00 00 mov ebx,0x0
80491bd: eb 1a jmp 80491d9 <main+0x1c0>
80491bf: 8b 44 24 18 mov eax,DWORD PTR [esp+0x18]
80491c3: 03 04 9e add eax,DWORD PTR [esi+ebx*4]
80491c6: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
80491ca: 8b 44 24 1c mov eax,DWORD PTR [esp+0x1c]
80491ce: 89 04 24 mov DWORD PTR [esp],eax
80491d1: e8 79 fd ff ff call 8048f4f <launcher>
80491d6: 83 c3 01 add ebx,0x1
80491d9: 39 fb cmp ebx,edi
80491db: 7c e2 jl 80491bf <main+0x1a6>
80491dd: b8 00 00 00 00 mov eax,0x0
80491e2: 8d 65 f4 lea esp,[ebp-0xc]
80491e5: 5b pop ebx
80491e6: 5e pop esi
80491e7: 5f pop edi
80491e8: 5d pop ebp
80491e9: c3 ret
80491ea: 90 nop
80491eb: 90 nop
080491ec <getbuf>:
80491ec: 55 push ebp
80491ed: 89 e5 mov ebp,esp
80491ef: 83 ec 38 sub esp,0x38 ; 往下挪了56个字节
80491f2: 8d 45 d8 lea eax,[ebp-0x28] ; 40个字节
80491f5: 89 04 24 mov DWORD PTR [esp],eax
80491f8: e8 55 fb ff ff call 8048d52 <Gets>
80491fd: b8 01 00 00 00 mov eax,0x1
8049202: c9 leave
8049203: c3 ret
08049204 <getbufn>:
8049204: 55 push ebp
8049205: 89 e5 mov ebp,esp
8049207: 81 ec 18 02 00 00 sub esp,0x218 ; 往下空出536个字节?
804920d: 8d 85 f8 fd ff ff lea eax,[ebp-0x208] ; 520个字节存字符串
8049213: 89 04 24 mov DWORD PTR [esp],eax
8049216: e8 37 fb ff ff call 8048d52 <Gets>
804921b: b8 01 00 00 00 mov eax,0x1
8049220: c9 leave
8049221: c3 ret
8049222: 90 nop
8049223: 90 nop
08049224 <initialize_bomb>:
8049224: 55 push ebp
8049225: 89 e5 mov ebp,esp
8049227: 56 push esi
8049228: 53 push ebx
8049229: 81 ec 10 24 00 00 sub esp,0x2410
804922f: 83 3d 28 c2 04 08 00 cmp DWORD PTR ds:0x804c228,0x0
8049236: 74 0c je 8049244 <initialize_bomb+0x20>
8049238: c7 04 24 ff ff ff ff mov DWORD PTR [esp],0xffffffff
804923f: e8 ce 0a 00 00 call 8049d12 <init_timeout>
8049244: 83 3d 2c c2 04 08 00 cmp DWORD PTR ds:0x804c22c,0x0
804924b: 0f 84 e9 00 00 00 je 804933a <initialize_bomb+0x116>
8049251: c7 44 24 04 00 04 00 mov DWORD PTR [esp+0x4],0x400
8049258: 00
8049259: 8d 85 f8 fb ff ff lea eax,[ebp-0x408]
804925f: 89 04 24 mov DWORD PTR [esp],eax
8049262: e8 f9 f6 ff ff call 8048960 <gethostname@plt>
8049267: 85 c0 test eax,eax
8049269: 75 19 jne 8049284 <initialize_bomb+0x60>
804926b: a1 c0 b1 04 08 mov eax,ds:0x804b1c0
8049270: bb 00 00 00 00 mov ebx,0x0
8049275: 8d b5 f8 fb ff ff lea esi,[ebp-0x408]
804927b: 85 c0 test eax,eax
804927d: 75 1d jne 804929c <initialize_bomb+0x78>
804927f: e9 95 00 00 00 jmp 8049319 <initialize_bomb+0xf5>
8049284: c7 04 24 40 a4 04 08 mov DWORD PTR [esp],0x804a440
804928b: e8 e0 f6 ff ff call 8048970 <puts@plt>
8049290: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8
8049297: e8 f4 f6 ff ff call 8048990 <exit@plt>
804929c: 89 74 24 04 mov DWORD PTR [esp+0x4],esi
80492a0: 89 04 24 mov DWORD PTR [esp],eax
80492a3: e8 48 f7 ff ff call 80489f0 <strcasecmp@plt>
80492a8: 85 c0 test eax,eax
80492aa: 74 59 je 8049305 <initialize_bomb+0xe1>
80492ac: 83 c3 01 add ebx,0x1
80492af: 8b 04 9d c0 b1 04 08 mov eax,DWORD PTR [ebx*4+0x804b1c0]
80492b6: 85 c0 test eax,eax
80492b8: 75 e2 jne 804929c <initialize_bomb+0x78>
80492ba: eb 5d jmp 8049319 <initialize_bomb+0xf5>
80492bc: bb 00 00 00 00 mov ebx,0x0
80492c1: 89 04 24 mov DWORD PTR [esp],eax
80492c4: e8 a7 f6 ff ff call 8048970 <puts@plt>
80492c9: 83 c3 01 add ebx,0x1
80492cc: 8b 04 9d c0 b1 04 08 mov eax,DWORD PTR [ebx*4+0x804b1c0]
80492d3: 85 c0 test eax,eax
80492d5: 75 ea jne 80492c1 <initialize_bomb+0x9d>
80492d7: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8
80492de: e8 ad f6 ff ff call 8048990 <exit@plt>
80492e3: 8d 85 f8 db ff ff lea eax,[ebp-0x2408]
80492e9: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
80492ed: c7 04 24 ae a5 04 08 mov DWORD PTR [esp],0x804a5ae
80492f4: e8 d7 f5 ff ff call 80488d0 <printf@plt>
80492f9: c7 04 24 08 00 00 00 mov DWORD PTR [esp],0x8
8049300: e8 8b f6 ff ff call 8048990 <exit@plt>
8049305: 8d 85 f8 db ff ff lea eax,[ebp-0x2408]
804930b: 89 04 24 mov DWORD PTR [esp],eax
804930e: e8 38 0a 00 00 call 8049d4b <init_driver>
8049313: 85 c0 test eax,eax
8049315: 79 23 jns 804933a <initialize_bomb+0x116>
8049317: eb ca jmp 80492e3 <initialize_bomb+0xbf>
8049319: 8d 85 f8 fb ff ff lea eax,[ebp-0x408]
804931f: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
8049323: c7 04 24 78 a4 04 08 mov DWORD PTR [esp],0x804a478
804932a: e8 a1 f5 ff ff call 80488d0 <printf@plt>
804932f: a1 c0 b1 04 08 mov eax,ds:0x804b1c0
8049334: 85 c0 test eax,eax
8049336: 75 84 jne 80492bc <initialize_bomb+0x98>
8049338: eb 9d jmp 80492d7 <initialize_bomb+0xb3>
804933a: 81 c4 10 24 00 00 add esp,0x2410
8049340: 5b pop ebx
8049341: 5e pop esi
8049342: 5d pop ebp
8049343: c3 ret
08049344 <validate>:
8049344: 55 push ebp
8049345: 89 e5 mov ebp,esp
8049347: 81 ec 28 40 00 00 sub esp,0x4028
804934d: 89 5d f8 mov DWORD PTR [ebp-0x8],ebx
8049350: 89 7d fc mov DWORD PTR [ebp-0x4],edi
8049353: 8b 5d 08 mov ebx,DWORD PTR [ebp+0x8]
8049356: 83 3d 30 c2 04 08 00 cmp DWORD PTR ds:0x804c230,0x0
804935d: 75 11 jne 8049370 <validate+0x2c>
804935f: c7 04 24 b4 a4 04 08 mov DWORD PTR [esp],0x804a4b4
8049366: e8 05 f6 ff ff call 8048970 <puts@plt>
804936b: e9 10 01 00 00 jmp 8049480 <validate+0x13c>
8049370: 83 fb 04 cmp ebx,0x4
8049373: 76 11 jbe 8049386 <validate+0x42>
8049375: c7 04 24 e0 a4 04 08 mov DWORD PTR [esp],0x804a4e0
804937c: e8 ef f5 ff ff call 8048970 <puts@plt>
8049381: e9 fa 00 00 00 jmp 8049480 <validate+0x13c>
8049386: c7 05 1c c2 04 08 01 mov DWORD PTR ds:0x804c21c,0x1
804938d: 00 00 00
8049390: 8b 04 9d c0 c1 04 08 mov eax,DWORD PTR [ebx*4+0x804c1c0]
8049397: 83 e8 01 sub eax,0x1
804939a: 89 04 9d c0 c1 04 08 mov DWORD PTR [ebx*4+0x804c1c0],eax
80493a1: 85 c0 test eax,eax
80493a3: 7e 11 jle 80493b6 <validate+0x72>
80493a5: c7 04 24 c3 a5 04 08 mov DWORD PTR [esp],0x804a5c3
80493ac: e8 bf f5 ff ff call 8048970 <puts@plt>
80493b1: e9 ca 00 00 00 jmp 8049480 <validate+0x13c>
80493b6: c7 04 24 ce a5 04 08 mov DWORD PTR [esp],0x804a5ce
80493bd: e8 ae f5 ff ff call 8048970 <puts@plt>
80493c2: 83 3d 2c c2 04 08 00 cmp DWORD PTR ds:0x804c22c,0x0
80493c9: 0f 84 a5 00 00 00 je 8049474 <validate+0x130>
80493cf: bf 60 c2 04 08 mov edi,0x804c260
80493d4: b8 00 00 00 00 mov eax,0x0
80493d9: b9 ff ff ff ff mov ecx,0xffffffff
80493de: f2 ae repnz scas al,BYTE PTR es:[edi]
80493e0: f7 d1 not ecx
80493e2: 83 c1 1f add ecx,0x1f
80493e5: 81 f9 00 20 00 00 cmp ecx,0x2000
80493eb: 76 11 jbe 80493fe <validate+0xba>
80493ed: c7 04 24 08 a5 04 08 mov DWORD PTR [esp],0x804a508
80493f4: e8 77 f5 ff ff call 8048970 <puts@plt>
80493f9: e9 82 00 00 00 jmp 8049480 <validate+0x13c>
80493fe: c7 44 24 10 60 c2 04 mov DWORD PTR [esp+0x10],0x804c260
8049405: 08
8049406: a1 20 c2 04 08 mov eax,ds:0x804c220
804940b: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
804940f: 89 5c 24 08 mov DWORD PTR [esp+0x8],ebx
8049413: c7 44 24 04 d4 a5 04 mov DWORD PTR [esp+0x4],0x804a5d4
804941a: 08
804941b: 8d 9d f8 df ff ff lea ebx,[ebp-0x2008]
8049421: 89 1c 24 mov DWORD PTR [esp],ebx
8049424: e8 37 f6 ff ff call 8048a60 <sprintf@plt>
8049429: 8d 85 f8 bf ff ff lea eax,[ebp-0x4008]
804942f: 89 44 24 0c mov DWORD PTR [esp+0xc],eax
8049433: c7 44 24 08 00 00 00 mov DWORD PTR [esp+0x8],0x0
804943a: 00
804943b: 89 5c 24 04 mov DWORD PTR [esp+0x4],ebx
804943f: a1 30 c2 04 08 mov eax,ds:0x804c230
8049444: 89 04 24 mov DWORD PTR [esp],eax
8049447: e8 9c 0a 00 00 call 8049ee8 <driver_post>
804944c: 85 c0 test eax,eax
804944e: 75 0e jne 804945e <validate+0x11a>
8049450: c7 04 24 40 a5 04 08 mov DWORD PTR [esp],0x804a540
8049457: e8 14 f5 ff ff call 8048970 <puts@plt>
804945c: eb 16 jmp 8049474 <validate+0x130>
804945e: 8d 85 f8 bf ff ff lea eax,[ebp-0x4008]
8049464: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
8049468: c7 04 24 70 a5 04 08 mov DWORD PTR [esp],0x804a570
804946f: e8 5c f4 ff ff call 80488d0 <printf@plt>
8049474: c7 04 24 dd a5 04 08 mov DWORD PTR [esp],0x804a5dd
804947b: e8 f0 f4 ff ff call 8048970 <puts@plt>
8049480: 8b 5d f8 mov ebx,DWORD PTR [ebp-0x8]
8049483: 8b 7d fc mov edi,DWORD PTR [ebp-0x4]
8049486: 89 ec mov esp,ebp
8049488: 5d pop ebp
8049489: c3 ret
804948a: 90 nop
804948b: 90 nop
804948c: 90 nop
804948d: 90 nop
804948e: 90 nop
804948f: 90 nop
08049490 <rio_readlineb>:
8049490: 55 push ebp
8049491: 89 e5 mov ebp,esp
8049493: 57 push edi
8049494: 56 push esi
8049495: 53 push ebx
8049496: 83 ec 4c sub esp,0x4c
8049499: 83 f9 01 cmp ecx,0x1
804949c: 0f 86 c2 00 00 00 jbe 8049564 <rio_readlineb+0xd4>
80494a2: 89 c3 mov ebx,eax
80494a4: 89 4d c4 mov DWORD PTR [ebp-0x3c],ecx
80494a7: 89 55 d0 mov DWORD PTR [ebp-0x30],edx
80494aa: c7 45 d4 01 00 00 00 mov DWORD PTR [ebp-0x2c],0x1
80494b1: 8d 78 0c lea edi,[eax+0xc]
80494b4: eb 36 jmp 80494ec <rio_readlineb+0x5c>
80494b6: c7 44 24 08 00 20 00 mov DWORD PTR [esp+0x8],0x2000
80494bd: 00
80494be: 89 7c 24 04 mov DWORD PTR [esp+0x4],edi
80494c2: 8b 03 mov eax,DWORD PTR [ebx]
80494c4: 89 04 24 mov DWORD PTR [esp],eax
80494c7: e8 e4 f3 ff ff call 80488b0 <read@plt>
80494cc: 89 43 04 mov DWORD PTR [ebx+0x4],eax
80494cf: 85 c0 test eax,eax
80494d1: 79 12 jns 80494e5 <rio_readlineb+0x55>
80494d3: e8 58 f5 ff ff call 8048a30 <__errno_location@plt>
80494d8: 83 38 04 cmp DWORD PTR [eax],0x4
80494db: 74 0f je 80494ec <rio_readlineb+0x5c>
80494dd: 8d 76 00 lea esi,[esi+0x0]
80494e0: e9 91 00 00 00 jmp 8049576 <rio_readlineb+0xe6>
80494e5: 85 c0 test eax,eax
80494e7: 74 63 je 804954c <rio_readlineb+0xbc>
80494e9: 89 7b 08 mov DWORD PTR [ebx+0x8],edi
80494ec: 8b 73 04 mov esi,DWORD PTR [ebx+0x4]
80494ef: 85 f6 test esi,esi
80494f1: 7e c3 jle 80494b6 <rio_readlineb+0x26>
80494f3: 85 f6 test esi,esi
80494f5: 0f 95 c0 setne al
80494f8: 0f b6 c0 movzx eax,al
80494fb: 89 45 cc mov DWORD PTR [ebp-0x34],eax
80494fe: 8b 53 08 mov edx,DWORD PTR [ebx+0x8]
8049501: 89 55 c8 mov DWORD PTR [ebp-0x38],edx
8049504: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
8049508: 89 54 24 04 mov DWORD PTR [esp+0x4],edx
804950c: 8d 45 e7 lea eax,[ebp-0x19]
804950f: 89 04 24 mov DWORD PTR [esp],eax
8049512: e8 c9 f3 ff ff call 80488e0 <memcpy@plt>
8049517: 8b 45 c8 mov eax,DWORD PTR [ebp-0x38]
804951a: 03 45 cc add eax,DWORD PTR [ebp-0x34]
804951d: 89 43 08 mov DWORD PTR [ebx+0x8],eax
8049520: 2b 75 cc sub esi,DWORD PTR [ebp-0x34]
8049523: 89 73 04 mov DWORD PTR [ebx+0x4],esi
8049526: 83 7d cc 01 cmp DWORD PTR [ebp-0x34],0x1
804952a: 75 15 jne 8049541 <rio_readlineb+0xb1>
804952c: 0f b6 45 e7 movzx eax,BYTE PTR [ebp-0x19]
8049530: 8b 55 d0 mov edx,DWORD PTR [ebp-0x30]
8049533: 88 02 mov BYTE PTR [edx],al
8049535: 83 c2 01 add edx,0x1
8049538: 89 55 d0 mov DWORD PTR [ebp-0x30],edx
804953b: 3c 0a cmp al,0xa
804953d: 75 17 jne 8049556 <rio_readlineb+0xc6>
804953f: eb 2d jmp 804956e <rio_readlineb+0xde>
8049541: 83 7d cc 00 cmp DWORD PTR [ebp-0x34],0x0
8049545: 75 38 jne 804957f <rio_readlineb+0xef>
8049547: 8b 45 d4 mov eax,DWORD PTR [ebp-0x2c]
804954a: eb 03 jmp 804954f <rio_readlineb+0xbf>
804954c: 8b 45 d4 mov eax,DWORD PTR [ebp-0x2c]
804954f: 83 f8 01 cmp eax,0x1
8049552: 75 1a jne 804956e <rio_readlineb+0xde>
8049554: eb 32 jmp 8049588 <rio_readlineb+0xf8>
8049556: 83 45 d4 01 add DWORD PTR [ebp-0x2c],0x1
804955a: 8b 45 c4 mov eax,DWORD PTR [ebp-0x3c]
804955d: 39 45 d4 cmp DWORD PTR [ebp-0x2c],eax
8049560: 75 8a jne 80494ec <rio_readlineb+0x5c>
8049562: eb 0a jmp 804956e <rio_readlineb+0xde>
8049564: 89 55 d0 mov DWORD PTR [ebp-0x30],edx
8049567: c7 45 d4 01 00 00 00 mov DWORD PTR [ebp-0x2c],0x1
804956e: 8b 55 d0 mov edx,DWORD PTR [ebp-0x30]