-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathasm.asm
1792 lines (1719 loc) · 86.9 KB
/
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
bomb: file format elf32-i386
Disassembly of section .init:
080486f4 <_init>:
80486f4: 53 push %ebx
80486f5: 83 ec 08 sub $0x8,%esp
80486f8: e8 13 02 00 00 call 8048910 <__x86.get_pc_thunk.bx>
80486fd: 81 c3 03 39 00 00 add $0x3903,%ebx
8048703: 8b 83 fc ff ff ff mov -0x4(%ebx),%eax
8048709: 85 c0 test %eax,%eax
804870b: 74 05 je 8048712 <_init+0x1e>
804870d: e8 be 01 00 00 call 80488d0 <__gmon_start__@plt>
8048712: 83 c4 08 add $0x8,%esp
8048715: 5b pop %ebx
8048716: c3 ret
Disassembly of section .plt:
08048720 <.plt>:
8048720: ff 35 04 c0 04 08 pushl 0x804c004
8048726: ff 25 08 c0 04 08 jmp *0x804c008
804872c: 00 00 add %al,(%eax)
...
08048730 <read@plt>:
8048730: ff 25 0c c0 04 08 jmp *0x804c00c
8048736: 68 00 00 00 00 push $0x0
804873b: e9 e0 ff ff ff jmp 8048720 <.plt>
08048740 <fflush@plt>:
8048740: ff 25 10 c0 04 08 jmp *0x804c010
8048746: 68 08 00 00 00 push $0x8
804874b: e9 d0 ff ff ff jmp 8048720 <.plt>
08048750 <fgets@plt>:
8048750: ff 25 14 c0 04 08 jmp *0x804c014
8048756: 68 10 00 00 00 push $0x10
804875b: e9 c0 ff ff ff jmp 8048720 <.plt>
08048760 <signal@plt>:
8048760: ff 25 18 c0 04 08 jmp *0x804c018
8048766: 68 18 00 00 00 push $0x18
804876b: e9 b0 ff ff ff jmp 8048720 <.plt>
08048770 <sleep@plt>:
8048770: ff 25 1c c0 04 08 jmp *0x804c01c
8048776: 68 20 00 00 00 push $0x20
804877b: e9 a0 ff ff ff jmp 8048720 <.plt>
08048780 <alarm@plt>:
8048780: ff 25 20 c0 04 08 jmp *0x804c020
8048786: 68 28 00 00 00 push $0x28
804878b: e9 90 ff ff ff jmp 8048720 <.plt>
08048790 <__stack_chk_fail@plt>:
8048790: ff 25 24 c0 04 08 jmp *0x804c024
8048796: 68 30 00 00 00 push $0x30
804879b: e9 80 ff ff ff jmp 8048720 <.plt>
080487a0 <strcpy@plt>:
80487a0: ff 25 28 c0 04 08 jmp *0x804c028
80487a6: 68 38 00 00 00 push $0x38
80487ab: e9 70 ff ff ff jmp 8048720 <.plt>
080487b0 <getenv@plt>:
80487b0: ff 25 2c c0 04 08 jmp *0x804c02c
80487b6: 68 40 00 00 00 push $0x40
80487bb: e9 60 ff ff ff jmp 8048720 <.plt>
080487c0 <puts@plt>:
80487c0: ff 25 30 c0 04 08 jmp *0x804c030
80487c6: 68 48 00 00 00 push $0x48
80487cb: e9 50 ff ff ff jmp 8048720 <.plt>
080487d0 <__memmove_chk@plt>:
80487d0: ff 25 34 c0 04 08 jmp *0x804c034
80487d6: 68 50 00 00 00 push $0x50
80487db: e9 40 ff ff ff jmp 8048720 <.plt>
080487e0 <exit@plt>:
80487e0: ff 25 38 c0 04 08 jmp *0x804c038
80487e6: 68 58 00 00 00 push $0x58
80487eb: e9 30 ff ff ff jmp 8048720 <.plt>
080487f0 <__libc_start_main@plt>:
80487f0: ff 25 3c c0 04 08 jmp *0x804c03c
80487f6: 68 60 00 00 00 push $0x60
80487fb: e9 20 ff ff ff jmp 8048720 <.plt>
08048800 <write@plt>:
8048800: ff 25 40 c0 04 08 jmp *0x804c040
8048806: 68 68 00 00 00 push $0x68
804880b: e9 10 ff ff ff jmp 8048720 <.plt>
08048810 <__isoc99_sscanf@plt>:
8048810: ff 25 44 c0 04 08 jmp *0x804c044
8048816: 68 70 00 00 00 push $0x70
804881b: e9 00 ff ff ff jmp 8048720 <.plt>
08048820 <fopen@plt>:
8048820: ff 25 48 c0 04 08 jmp *0x804c048
8048826: 68 78 00 00 00 push $0x78
804882b: e9 f0 fe ff ff jmp 8048720 <.plt>
08048830 <__errno_location@plt>:
8048830: ff 25 4c c0 04 08 jmp *0x804c04c
8048836: 68 80 00 00 00 push $0x80
804883b: e9 e0 fe ff ff jmp 8048720 <.plt>
08048840 <__printf_chk@plt>:
8048840: ff 25 50 c0 04 08 jmp *0x804c050
8048846: 68 88 00 00 00 push $0x88
804884b: e9 d0 fe ff ff jmp 8048720 <.plt>
08048850 <socket@plt>:
8048850: ff 25 54 c0 04 08 jmp *0x804c054
8048856: 68 90 00 00 00 push $0x90
804885b: e9 c0 fe ff ff jmp 8048720 <.plt>
08048860 <__fprintf_chk@plt>:
8048860: ff 25 58 c0 04 08 jmp *0x804c058
8048866: 68 98 00 00 00 push $0x98
804886b: e9 b0 fe ff ff jmp 8048720 <.plt>
08048870 <gethostbyname@plt>:
8048870: ff 25 5c c0 04 08 jmp *0x804c05c
8048876: 68 a0 00 00 00 push $0xa0
804887b: e9 a0 fe ff ff jmp 8048720 <.plt>
08048880 <strtol@plt>:
8048880: ff 25 60 c0 04 08 jmp *0x804c060
8048886: 68 a8 00 00 00 push $0xa8
804888b: e9 90 fe ff ff jmp 8048720 <.plt>
08048890 <connect@plt>:
8048890: ff 25 64 c0 04 08 jmp *0x804c064
8048896: 68 b0 00 00 00 push $0xb0
804889b: e9 80 fe ff ff jmp 8048720 <.plt>
080488a0 <close@plt>:
80488a0: ff 25 68 c0 04 08 jmp *0x804c068
80488a6: 68 b8 00 00 00 push $0xb8
80488ab: e9 70 fe ff ff jmp 8048720 <.plt>
080488b0 <__ctype_b_loc@plt>:
80488b0: ff 25 6c c0 04 08 jmp *0x804c06c
80488b6: 68 c0 00 00 00 push $0xc0
80488bb: e9 60 fe ff ff jmp 8048720 <.plt>
080488c0 <__sprintf_chk@plt>:
80488c0: ff 25 70 c0 04 08 jmp *0x804c070
80488c6: 68 c8 00 00 00 push $0xc8
80488cb: e9 50 fe ff ff jmp 8048720 <.plt>
Disassembly of section .plt.got:
080488d0 <__gmon_start__@plt>:
80488d0: ff 25 fc bf 04 08 jmp *0x804bffc
80488d6: 66 90 xchg %ax,%ax
Disassembly of section .text:
080488e0 <_start>:
80488e0: 31 ed xor %ebp,%ebp
80488e2: 5e pop %esi
80488e3: 89 e1 mov %esp,%ecx
80488e5: 83 e4 f0 and $0xfffffff0,%esp
80488e8: 50 push %eax
80488e9: 54 push %esp
80488ea: 52 push %edx
80488eb: 68 90 9e 04 08 push $0x8049e90
80488f0: 68 30 9e 04 08 push $0x8049e30
80488f5: 51 push %ecx
80488f6: 56 push %esi
80488f7: 68 db 89 04 08 push $0x80489db
80488fc: e8 ef fe ff ff call 80487f0 <__libc_start_main@plt>
8048901: f4 hlt
8048902: 66 90 xchg %ax,%ax
8048904: 66 90 xchg %ax,%ax
8048906: 66 90 xchg %ax,%ax
8048908: 66 90 xchg %ax,%ax
804890a: 66 90 xchg %ax,%ax
804890c: 66 90 xchg %ax,%ax
804890e: 66 90 xchg %ax,%ax
08048910 <__x86.get_pc_thunk.bx>:
8048910: 8b 1c 24 mov (%esp),%ebx
8048913: c3 ret
8048914: 66 90 xchg %ax,%ax
8048916: 66 90 xchg %ax,%ax
8048918: 66 90 xchg %ax,%ax
804891a: 66 90 xchg %ax,%ax
804891c: 66 90 xchg %ax,%ax
804891e: 66 90 xchg %ax,%ax
08048920 <deregister_tm_clones>:
8048920: b8 a3 c3 04 08 mov $0x804c3a3,%eax
8048925: 2d a0 c3 04 08 sub $0x804c3a0,%eax
804892a: 83 f8 06 cmp $0x6,%eax
804892d: 76 1a jbe 8048949 <deregister_tm_clones+0x29>
804892f: b8 00 00 00 00 mov $0x0,%eax
8048934: 85 c0 test %eax,%eax
8048936: 74 11 je 8048949 <deregister_tm_clones+0x29>
8048938: 55 push %ebp
8048939: 89 e5 mov %esp,%ebp
804893b: 83 ec 14 sub $0x14,%esp
804893e: 68 a0 c3 04 08 push $0x804c3a0
8048943: ff d0 call *%eax
8048945: 83 c4 10 add $0x10,%esp
8048948: c9 leave
8048949: f3 c3 repz ret
804894b: 90 nop
804894c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
08048950 <register_tm_clones>:
8048950: b8 a0 c3 04 08 mov $0x804c3a0,%eax
8048955: 2d a0 c3 04 08 sub $0x804c3a0,%eax
804895a: c1 f8 02 sar $0x2,%eax
804895d: 89 c2 mov %eax,%edx
804895f: c1 ea 1f shr $0x1f,%edx
8048962: 01 d0 add %edx,%eax
8048964: d1 f8 sar %eax
8048966: 74 1b je 8048983 <register_tm_clones+0x33>
8048968: ba 00 00 00 00 mov $0x0,%edx
804896d: 85 d2 test %edx,%edx
804896f: 74 12 je 8048983 <register_tm_clones+0x33>
8048971: 55 push %ebp
8048972: 89 e5 mov %esp,%ebp
8048974: 83 ec 10 sub $0x10,%esp
8048977: 50 push %eax
8048978: 68 a0 c3 04 08 push $0x804c3a0
804897d: ff d2 call *%edx
804897f: 83 c4 10 add $0x10,%esp
8048982: c9 leave
8048983: f3 c3 repz ret
8048985: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
8048989: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
08048990 <__do_global_dtors_aux>:
8048990: 80 3d c8 c3 04 08 00 cmpb $0x0,0x804c3c8
8048997: 75 13 jne 80489ac <__do_global_dtors_aux+0x1c>
8048999: 55 push %ebp
804899a: 89 e5 mov %esp,%ebp
804899c: 83 ec 08 sub $0x8,%esp
804899f: e8 7c ff ff ff call 8048920 <deregister_tm_clones>
80489a4: c6 05 c8 c3 04 08 01 movb $0x1,0x804c3c8
80489ab: c9 leave
80489ac: f3 c3 repz ret
80489ae: 66 90 xchg %ax,%ax
080489b0 <frame_dummy>:
80489b0: b8 10 bf 04 08 mov $0x804bf10,%eax
80489b5: 8b 10 mov (%eax),%edx
80489b7: 85 d2 test %edx,%edx
80489b9: 75 05 jne 80489c0 <frame_dummy+0x10>
80489bb: eb 93 jmp 8048950 <register_tm_clones>
80489bd: 8d 76 00 lea 0x0(%esi),%esi
80489c0: ba 00 00 00 00 mov $0x0,%edx
80489c5: 85 d2 test %edx,%edx
80489c7: 74 f2 je 80489bb <frame_dummy+0xb>
80489c9: 55 push %ebp
80489ca: 89 e5 mov %esp,%ebp
80489cc: 83 ec 14 sub $0x14,%esp
80489cf: 50 push %eax
80489d0: ff d2 call *%edx
80489d2: 83 c4 10 add $0x10,%esp
80489d5: c9 leave
80489d6: e9 75 ff ff ff jmp 8048950 <register_tm_clones>
080489db <main>:
80489db: 8d 4c 24 04 lea 0x4(%esp),%ecx
80489df: 83 e4 f0 and $0xfffffff0,%esp
80489e2: ff 71 fc pushl -0x4(%ecx)
80489e5: 55 push %ebp
80489e6: 89 e5 mov %esp,%ebp
80489e8: 53 push %ebx
80489e9: 51 push %ecx
80489ea: 8b 01 mov (%ecx),%eax
80489ec: 8b 59 04 mov 0x4(%ecx),%ebx
80489ef: 83 f8 01 cmp $0x1,%eax
80489f2: 75 0c jne 8048a00 <main+0x25>
80489f4: a1 c0 c3 04 08 mov 0x804c3c0,%eax
80489f9: a3 d0 c3 04 08 mov %eax,0x804c3d0
80489fe: eb 5b jmp 8048a5b <main+0x80>
8048a00: 83 f8 02 cmp $0x2,%eax
8048a03: 75 39 jne 8048a3e <main+0x63>
8048a05: 83 ec 08 sub $0x8,%esp
8048a08: 68 c8 9e 04 08 push $0x8049ec8
8048a0d: ff 73 04 pushl 0x4(%ebx)
8048a10: e8 0b fe ff ff call 8048820 <fopen@plt>
8048a15: a3 d0 c3 04 08 mov %eax,0x804c3d0
8048a1a: 83 c4 10 add $0x10,%esp
8048a1d: 85 c0 test %eax,%eax
8048a1f: 75 3a jne 8048a5b <main+0x80>
8048a21: ff 73 04 pushl 0x4(%ebx)
8048a24: ff 33 pushl (%ebx)
8048a26: 68 ca 9e 04 08 push $0x8049eca
8048a2b: 6a 01 push $0x1
8048a2d: e8 0e fe ff ff call 8048840 <__printf_chk@plt>
8048a32: c7 04 24 08 00 00 00 movl $0x8,(%esp)
8048a39: e8 a2 fd ff ff call 80487e0 <exit@plt>
8048a3e: 83 ec 04 sub $0x4,%esp
8048a41: ff 33 pushl (%ebx)
8048a43: 68 e7 9e 04 08 push $0x8049ee7
8048a48: 6a 01 push $0x1
8048a4a: e8 f1 fd ff ff call 8048840 <__printf_chk@plt>
8048a4f: c7 04 24 08 00 00 00 movl $0x8,(%esp)
8048a56: e8 85 fd ff ff call 80487e0 <exit@plt>
8048a5b: e8 fc 05 00 00 call 804905c <initialize_bomb>
8048a60: 83 ec 0c sub $0xc,%esp
8048a63: 68 4c 9f 04 08 push $0x8049f4c
8048a68: e8 53 fd ff ff call 80487c0 <puts@plt>
8048a6d: c7 04 24 88 9f 04 08 movl $0x8049f88,(%esp)
8048a74: e8 47 fd ff ff call 80487c0 <puts@plt>
8048a79: e8 d0 06 00 00 call 804914e <read_line>
8048a7e: 89 04 24 mov %eax,(%esp) ; 明显这里利用eax传递参数
8048a81: e8 ad 00 00 00 call 8048b33 <phase_1>
8048a86: e8 bc 07 00 00 call 8049247 <phase_defused>
8048a8b: c7 04 24 b4 9f 04 08 movl $0x8049fb4,(%esp)
8048a92: e8 29 fd ff ff call 80487c0 <puts@plt>
8048a97: e8 b2 06 00 00 call 804914e <read_line>
8048a9c: 89 04 24 mov %eax,(%esp)
8048a9f: e8 b0 00 00 00 call 8048b54 <phase_2>
8048aa4: e8 9e 07 00 00 call 8049247 <phase_defused>
8048aa9: c7 04 24 01 9f 04 08 movl $0x8049f01,(%esp)
8048ab0: e8 0b fd ff ff call 80487c0 <puts@plt>
8048ab5: e8 94 06 00 00 call 804914e <read_line>
8048aba: 89 04 24 mov %eax,(%esp)
8048abd: e8 f5 00 00 00 call 8048bb7 <phase_3>
8048ac2: e8 80 07 00 00 call 8049247 <phase_defused>
8048ac7: c7 04 24 1f 9f 04 08 movl $0x8049f1f,(%esp)
8048ace: e8 ed fc ff ff call 80487c0 <puts@plt>
8048ad3: e8 76 06 00 00 call 804914e <read_line>
8048ad8: 89 04 24 mov %eax,(%esp)
8048adb: e8 ed 01 00 00 call 8048ccd <phase_4>
8048ae0: e8 62 07 00 00 call 8049247 <phase_defused>
8048ae5: c7 04 24 e0 9f 04 08 movl $0x8049fe0,(%esp)
8048aec: e8 cf fc ff ff call 80487c0 <puts@plt>
8048af1: e8 58 06 00 00 call 804914e <read_line>
8048af6: 89 04 24 mov %eax,(%esp)
8048af9: e8 41 02 00 00 call 8048d3f <phase_5>
8048afe: e8 44 07 00 00 call 8049247 <phase_defused>
8048b03: c7 04 24 2e 9f 04 08 movl $0x8049f2e,(%esp)
8048b0a: e8 b1 fc ff ff call 80487c0 <puts@plt>
8048b0f: e8 3a 06 00 00 call 804914e <read_line>
8048b14: 89 04 24 mov %eax,(%esp)
8048b17: e8 b0 02 00 00 call 8048dcc <phase_6>
8048b1c: e8 26 07 00 00 call 8049247 <phase_defused>
8048b21: 83 c4 10 add $0x10,%esp
8048b24: b8 00 00 00 00 mov $0x0,%eax
8048b29: 8d 65 f8 lea -0x8(%ebp),%esp
8048b2c: 59 pop %ecx
8048b2d: 5b pop %ebx
8048b2e: 5d pop %ebp
8048b2f: 8d 61 fc lea -0x4(%ecx),%esp
8048b32: c3 ret
08048b33 <phase_1>:
8048b33: 83 ec 14 sub $0x14,%esp
8048b36: 68 04 a0 04 08 push $0x804a004 // 这个传参到了接下来的比较字符串的函数中,所以这里这个有可能就是变量的地址.
8048b3b: ff 74 24 1c pushl 0x1c(%esp)
8048b3f: e8 b3 04 00 00 call 8048ff7 <strings_not_equal>
8048b44: 83 c4 10 add $0x10,%esp
8048b47: 85 c0 test %eax,%eax
8048b49: 74 05 je 8048b50 <phase_1+0x1d>
8048b4b: e8 9e 05 00 00 call 80490ee <explode_bomb>
8048b50: 83 c4 0c add $0xc,%esp
8048b53: c3 ret
08048b54 <phase_2>:
8048b54: 56 push %esi
8048b55: 53 push %ebx
8048b56: 83 ec 2c sub $0x2c,%esp
8048b59: 65 a1 14 00 00 00 mov %gs:0x14,%eax
8048b5f: 89 44 24 24 mov %eax,0x24(%esp)
8048b63: 31 c0 xor %eax,%eax
8048b65: 8d 44 24 0c lea 0xc(%esp),%eax
8048b69: 50 push %eax
8048b6a: ff 74 24 3c pushl 0x3c(%esp)
8048b6e: e8 a0 05 00 00 call 8049113 <read_six_numbers>
8048b73: 83 c4 10 add $0x10,%esp
8048b76: 83 7c 24 04 01 cmpl $0x1,0x4(%esp)
8048b7b: 74 05 je 8048b82 <phase_2+0x2e>
8048b7d: e8 6c 05 00 00 call 80490ee <explode_bomb>
8048b82: 8d 5c 24 04 lea 0x4(%esp),%ebx
8048b86: 8d 74 24 18 lea 0x18(%esp),%esi
8048b8a: 8b 03 mov (%ebx),%eax
8048b8c: 01 c0 add %eax,%eax
8048b8e: 39 43 04 cmp %eax,0x4(%ebx)
8048b91: 74 05 je 8048b98 <phase_2+0x44>
8048b93: e8 56 05 00 00 call 80490ee <explode_bomb>
8048b98: 83 c3 04 add $0x4,%ebx
8048b9b: 39 f3 cmp %esi,%ebx
8048b9d: 75 eb jne 8048b8a <phase_2+0x36>
8048b9f: 8b 44 24 1c mov 0x1c(%esp),%eax
8048ba3: 65 33 05 14 00 00 00 xor %gs:0x14,%eax
8048baa: 74 05 je 8048bb1 <phase_2+0x5d>
8048bac: e8 df fb ff ff call 8048790 <__stack_chk_fail@plt>
8048bb1: 83 c4 24 add $0x24,%esp
8048bb4: 5b pop %ebx
8048bb5: 5e pop %esi
8048bb6: c3 ret
08048bb7 <phase_3>:
8048bb7: 83 ec 1c sub $0x1c,%esp
8048bba: 65 a1 14 00 00 00 mov %gs:0x14,%eax
8048bc0: 89 44 24 0c mov %eax,0xc(%esp)
8048bc4: 31 c0 xor %eax,%eax
8048bc6: 8d 44 24 08 lea 0x8(%esp),%eax
8048bca: 50 push %eax
8048bcb: 8d 44 24 08 lea 0x8(%esp),%eax
8048bcf: 50 push %eax
8048bd0: 68 b7 a1 04 08 push $0x804a1b7
8048bd5: ff 74 24 2c pushl 0x2c(%esp)
8048bd9: e8 32 fc ff ff call 8048810 <__isoc99_sscanf@plt>
8048bde: 83 c4 10 add $0x10,%esp
8048be1: 83 f8 01 cmp $0x1,%eax
8048be4: 7f 05 jg 8048beb <phase_3+0x34>
8048be6: e8 03 05 00 00 call 80490ee <explode_bomb>
8048beb: 83 7c 24 04 07 cmpl $0x7,0x4(%esp)
8048bf0: 77 66 ja 8048c58 <phase_3+0xa1>
8048bf2: 8b 44 24 04 mov 0x4(%esp),%eax
8048bf6: ff 24 85 20 a0 04 08 jmp *0x804a020(,%eax,4)
8048bfd: b8 5c 02 00 00 mov $0x25c,%eax
8048c02: eb 05 jmp 8048c09 <phase_3+0x52>
8048c04: b8 00 00 00 00 mov $0x0,%eax
8048c09: 2d e4 03 00 00 sub $0x3e4,%eax
8048c0e: eb 05 jmp 8048c15 <phase_3+0x5e>
8048c10: b8 00 00 00 00 mov $0x0,%eax
8048c15: 05 7e 03 00 00 add $0x37e,%eax
8048c1a: eb 05 jmp 8048c21 <phase_3+0x6a>
8048c1c: b8 00 00 00 00 mov $0x0,%eax
8048c21: 2d 9f 01 00 00 sub $0x19f,%eax
8048c26: eb 05 jmp 8048c2d <phase_3+0x76>
8048c28: b8 00 00 00 00 mov $0x0,%eax
8048c2d: 05 9f 01 00 00 add $0x19f,%eax
8048c32: eb 05 jmp 8048c39 <phase_3+0x82>
8048c34: b8 00 00 00 00 mov $0x0,%eax
8048c39: 2d 9f 01 00 00 sub $0x19f,%eax
8048c3e: eb 05 jmp 8048c45 <phase_3+0x8e>
8048c40: b8 00 00 00 00 mov $0x0,%eax
8048c45: 05 9f 01 00 00 add $0x19f,%eax
8048c4a: eb 05 jmp 8048c51 <phase_3+0x9a>
8048c4c: b8 00 00 00 00 mov $0x0,%eax
8048c51: 2d 9f 01 00 00 sub $0x19f,%eax
8048c56: eb 0a jmp 8048c62 <phase_3+0xab>
8048c58: e8 91 04 00 00 call 80490ee <explode_bomb>
8048c5d: b8 00 00 00 00 mov $0x0,%eax
8048c62: 83 7c 24 04 05 cmpl $0x5,0x4(%esp)
8048c67: 7f 06 jg 8048c6f <phase_3+0xb8>
8048c69: 3b 44 24 08 cmp 0x8(%esp),%eax
8048c6d: 74 05 je 8048c74 <phase_3+0xbd>
8048c6f: e8 7a 04 00 00 call 80490ee <explode_bomb>
8048c74: 8b 44 24 0c mov 0xc(%esp),%eax
8048c78: 65 33 05 14 00 00 00 xor %gs:0x14,%eax
8048c7f: 74 05 je 8048c86 <phase_3+0xcf>
8048c81: e8 0a fb ff ff call 8048790 <__stack_chk_fail@plt>
8048c86: 83 c4 1c add $0x1c,%esp
8048c89: c3 ret
08048c8a <func4>:
8048c8a: 57 push %edi
8048c8b: 56 push %esi
8048c8c: 53 push %ebx
8048c8d: 8b 5c 24 10 mov 0x10(%esp),%ebx
8048c91: 8b 7c 24 14 mov 0x14(%esp),%edi
8048c95: 85 db test %ebx,%ebx
8048c97: 7e 2b jle 8048cc4 <func4+0x3a>
8048c99: 89 f8 mov %edi,%eax
8048c9b: 83 fb 01 cmp $0x1,%ebx
8048c9e: 74 29 je 8048cc9 <func4+0x3f>
8048ca0: 83 ec 08 sub $0x8,%esp
8048ca3: 57 push %edi
8048ca4: 8d 43 ff lea -0x1(%ebx),%eax
8048ca7: 50 push %eax
8048ca8: e8 dd ff ff ff call 8048c8a <func4>
8048cad: 83 c4 08 add $0x8,%esp
8048cb0: 8d 34 07 lea (%edi,%eax,1),%esi
8048cb3: 57 push %edi
8048cb4: 83 eb 02 sub $0x2,%ebx
8048cb7: 53 push %ebx
8048cb8: e8 cd ff ff ff call 8048c8a <func4>
8048cbd: 83 c4 10 add $0x10,%esp
8048cc0: 01 f0 add %esi,%eax
8048cc2: eb 05 jmp 8048cc9 <func4+0x3f>
8048cc4: b8 00 00 00 00 mov $0x0,%eax
8048cc9: 5b pop %ebx
8048cca: 5e pop %esi
8048ccb: 5f pop %edi
8048ccc: c3 ret
08048ccd <phase_4>:
8048ccd: 83 ec 1c sub $0x1c,%esp
8048cd0: 65 a1 14 00 00 00 mov %gs:0x14,%eax
8048cd6: 89 44 24 0c mov %eax,0xc(%esp)
8048cda: 31 c0 xor %eax,%eax
8048cdc: 8d 44 24 04 lea 0x4(%esp),%eax
8048ce0: 50 push %eax
8048ce1: 8d 44 24 0c lea 0xc(%esp),%eax
8048ce5: 50 push %eax
8048ce6: 68 b7 a1 04 08 push $0x804a1b7
8048ceb: ff 74 24 2c pushl 0x2c(%esp)
8048cef: e8 1c fb ff ff call 8048810 <__isoc99_sscanf@plt>
8048cf4: 83 c4 10 add $0x10,%esp
8048cf7: 83 f8 02 cmp $0x2,%eax
8048cfa: 75 0c jne 8048d08 <phase_4+0x3b>
8048cfc: 8b 44 24 04 mov 0x4(%esp),%eax
8048d00: 83 e8 02 sub $0x2,%eax
8048d03: 83 f8 02 cmp $0x2,%eax
8048d06: 76 05 jbe 8048d0d <phase_4+0x40>
8048d08: e8 e1 03 00 00 call 80490ee <explode_bomb>
8048d0d: 83 ec 08 sub $0x8,%esp
8048d10: ff 74 24 0c pushl 0xc(%esp)
8048d14: 6a 09 push $0x9
8048d16: e8 6f ff ff ff call 8048c8a <func4>
8048d1b: 83 c4 10 add $0x10,%esp
8048d1e: 3b 44 24 08 cmp 0x8(%esp),%eax
8048d22: 74 05 je 8048d29 <phase_4+0x5c>
8048d24: e8 c5 03 00 00 call 80490ee <explode_bomb>
8048d29: 8b 44 24 0c mov 0xc(%esp),%eax
8048d2d: 65 33 05 14 00 00 00 xor %gs:0x14,%eax
8048d34: 74 05 je 8048d3b <phase_4+0x6e>
8048d36: e8 55 fa ff ff call 8048790 <__stack_chk_fail@plt>
8048d3b: 83 c4 1c add $0x1c,%esp
8048d3e: c3 ret
08048d3f <phase_5>:
8048d3f: 83 ec 1c sub $0x1c,%esp
8048d42: 65 a1 14 00 00 00 mov %gs:0x14,%eax
8048d48: 89 44 24 0c mov %eax,0xc(%esp)
8048d4c: 31 c0 xor %eax,%eax
8048d4e: 8d 44 24 08 lea 0x8(%esp),%eax
8048d52: 50 push %eax
8048d53: 8d 44 24 08 lea 0x8(%esp),%eax
8048d57: 50 push %eax
8048d58: 68 b7 a1 04 08 push $0x804a1b7
8048d5d: ff 74 24 2c pushl 0x2c(%esp)
8048d61: e8 aa fa ff ff call 8048810 <__isoc99_sscanf@plt>
8048d66: 83 c4 10 add $0x10,%esp
8048d69: 83 f8 01 cmp $0x1,%eax
8048d6c: 7f 05 jg 8048d73 <phase_5+0x34>
8048d6e: e8 7b 03 00 00 call 80490ee <explode_bomb>
8048d73: 8b 44 24 04 mov 0x4(%esp),%eax
8048d77: 83 e0 0f and $0xf,%eax
8048d7a: 89 44 24 04 mov %eax,0x4(%esp)
8048d7e: 83 f8 0f cmp $0xf,%eax
8048d81: 74 2e je 8048db1 <phase_5+0x72>
8048d83: b9 00 00 00 00 mov $0x0,%ecx
8048d88: ba 00 00 00 00 mov $0x0,%edx
8048d8d: 83 c2 01 add $0x1,%edx
8048d90: 8b 04 85 40 a0 04 08 mov 0x804a040(,%eax,4),%eax
8048d97: 01 c1 add %eax,%ecx
8048d99: 83 f8 0f cmp $0xf,%eax
8048d9c: 75 ef jne 8048d8d <phase_5+0x4e>
8048d9e: c7 44 24 04 0f 00 00 movl $0xf,0x4(%esp)
8048da5: 00
8048da6: 83 fa 0f cmp $0xf,%edx
8048da9: 75 06 jne 8048db1 <phase_5+0x72>
8048dab: 3b 4c 24 08 cmp 0x8(%esp),%ecx
8048daf: 74 05 je 8048db6 <phase_5+0x77>
8048db1: e8 38 03 00 00 call 80490ee <explode_bomb>
8048db6: 8b 44 24 0c mov 0xc(%esp),%eax
8048dba: 65 33 05 14 00 00 00 xor %gs:0x14,%eax
8048dc1: 74 05 je 8048dc8 <phase_5+0x89>
8048dc3: e8 c8 f9 ff ff call 8048790 <__stack_chk_fail@plt>
8048dc8: 83 c4 1c add $0x1c,%esp
8048dcb: c3 ret
08048dcc <phase_6>:
8048dcc: 56 push %esi
8048dcd: 53 push %ebx
8048dce: 83 ec 4c sub $0x4c,%esp
8048dd1: 65 a1 14 00 00 00 mov %gs:0x14,%eax
8048dd7: 89 44 24 44 mov %eax,0x44(%esp)
8048ddb: 31 c0 xor %eax,%eax
8048ddd: 8d 44 24 14 lea 0x14(%esp),%eax
8048de1: 50 push %eax
8048de2: ff 74 24 5c pushl 0x5c(%esp)
8048de6: e8 28 03 00 00 call 8049113 <read_six_numbers>
8048deb: 83 c4 10 add $0x10,%esp
8048dee: be 00 00 00 00 mov $0x0,%esi
8048df3: 8b 44 b4 0c mov 0xc(%esp,%esi,4),%eax
8048df7: 83 e8 01 sub $0x1,%eax
8048dfa: 83 f8 05 cmp $0x5,%eax
8048dfd: 76 05 jbe 8048e04 <phase_6+0x38>
8048dff: e8 ea 02 00 00 call 80490ee <explode_bomb>
8048e04: 83 c6 01 add $0x1,%esi
8048e07: 83 fe 06 cmp $0x6,%esi
8048e0a: 74 33 je 8048e3f <phase_6+0x73>
8048e0c: 89 f3 mov %esi,%ebx
8048e0e: 8b 44 9c 0c mov 0xc(%esp,%ebx,4),%eax
8048e12: 39 44 b4 08 cmp %eax,0x8(%esp,%esi,4)
8048e16: 75 05 jne 8048e1d <phase_6+0x51>
8048e18: e8 d1 02 00 00 call 80490ee <explode_bomb>
8048e1d: 83 c3 01 add $0x1,%ebx
8048e20: 83 fb 05 cmp $0x5,%ebx
8048e23: 7e e9 jle 8048e0e <phase_6+0x42>
8048e25: eb cc jmp 8048df3 <phase_6+0x27>
8048e27: 8b 52 08 mov 0x8(%edx),%edx
8048e2a: 83 c0 01 add $0x1,%eax
8048e2d: 39 c8 cmp %ecx,%eax
8048e2f: 75 f6 jne 8048e27 <phase_6+0x5b>
8048e31: 89 54 b4 24 mov %edx,0x24(%esp,%esi,4)
8048e35: 83 c3 01 add $0x1,%ebx
8048e38: 83 fb 06 cmp $0x6,%ebx
8048e3b: 75 07 jne 8048e44 <phase_6+0x78>
8048e3d: eb 1c jmp 8048e5b <phase_6+0x8f>
8048e3f: bb 00 00 00 00 mov $0x0,%ebx
8048e44: 89 de mov %ebx,%esi
8048e46: 8b 4c 9c 0c mov 0xc(%esp,%ebx,4),%ecx
8048e4a: b8 01 00 00 00 mov $0x1,%eax
8048e4f: ba 3c c1 04 08 mov $0x804c13c,%edx
8048e54: 83 f9 01 cmp $0x1,%ecx
8048e57: 7f ce jg 8048e27 <phase_6+0x5b>
8048e59: eb d6 jmp 8048e31 <phase_6+0x65>
8048e5b: 8b 5c 24 24 mov 0x24(%esp),%ebx
8048e5f: 8d 44 24 24 lea 0x24(%esp),%eax
8048e63: 8d 74 24 38 lea 0x38(%esp),%esi
8048e67: 89 d9 mov %ebx,%ecx
8048e69: 8b 50 04 mov 0x4(%eax),%edx
8048e6c: 89 51 08 mov %edx,0x8(%ecx)
8048e6f: 83 c0 04 add $0x4,%eax
8048e72: 89 d1 mov %edx,%ecx
8048e74: 39 f0 cmp %esi,%eax
8048e76: 75 f1 jne 8048e69 <phase_6+0x9d>
8048e78: c7 42 08 00 00 00 00 movl $0x0,0x8(%edx)
8048e7f: be 05 00 00 00 mov $0x5,%esi
8048e84: 8b 43 08 mov 0x8(%ebx),%eax
8048e87: 8b 00 mov (%eax),%eax
8048e89: 39 03 cmp %eax,(%ebx)
8048e8b: 7d 05 jge 8048e92 <phase_6+0xc6>
8048e8d: e8 5c 02 00 00 call 80490ee <explode_bomb>
8048e92: 8b 5b 08 mov 0x8(%ebx),%ebx
8048e95: 83 ee 01 sub $0x1,%esi
8048e98: 75 ea jne 8048e84 <phase_6+0xb8>
8048e9a: 8b 44 24 3c mov 0x3c(%esp),%eax
8048e9e: 65 33 05 14 00 00 00 xor %gs:0x14,%eax
8048ea5: 74 05 je 8048eac <phase_6+0xe0>
8048ea7: e8 e4 f8 ff ff call 8048790 <__stack_chk_fail@plt>
8048eac: 83 c4 44 add $0x44,%esp
8048eaf: 5b pop %ebx
8048eb0: 5e pop %esi
8048eb1: c3 ret
08048eb2 <fun7>:
8048eb2: 53 push %ebx
8048eb3: 83 ec 08 sub $0x8,%esp
8048eb6: 8b 54 24 10 mov 0x10(%esp),%edx
8048eba: 8b 4c 24 14 mov 0x14(%esp),%ecx
8048ebe: 85 d2 test %edx,%edx
8048ec0: 74 37 je 8048ef9 <fun7+0x47>
8048ec2: 8b 1a mov (%edx),%ebx
8048ec4: 39 cb cmp %ecx,%ebx
8048ec6: 7e 13 jle 8048edb <fun7+0x29>
8048ec8: 83 ec 08 sub $0x8,%esp
8048ecb: 51 push %ecx
8048ecc: ff 72 04 pushl 0x4(%edx)
8048ecf: e8 de ff ff ff call 8048eb2 <fun7>
8048ed4: 83 c4 10 add $0x10,%esp
8048ed7: 01 c0 add %eax,%eax
8048ed9: eb 23 jmp 8048efe <fun7+0x4c>
8048edb: b8 00 00 00 00 mov $0x0,%eax
8048ee0: 39 cb cmp %ecx,%ebx
8048ee2: 74 1a je 8048efe <fun7+0x4c>
8048ee4: 83 ec 08 sub $0x8,%esp
8048ee7: 51 push %ecx
8048ee8: ff 72 08 pushl 0x8(%edx)
8048eeb: e8 c2 ff ff ff call 8048eb2 <fun7>
8048ef0: 83 c4 10 add $0x10,%esp
8048ef3: 8d 44 00 01 lea 0x1(%eax,%eax,1),%eax
8048ef7: eb 05 jmp 8048efe <fun7+0x4c>
8048ef9: b8 ff ff ff ff mov $0xffffffff,%eax
8048efe: 83 c4 08 add $0x8,%esp
8048f01: 5b pop %ebx
8048f02: c3 ret
08048f03 <secret_phase>:
8048f03: 53 push %ebx
8048f04: 83 ec 08 sub $0x8,%esp
8048f07: e8 42 02 00 00 call 804914e <read_line>
8048f0c: 83 ec 04 sub $0x4,%esp
8048f0f: 6a 0a push $0xa
8048f11: 6a 00 push $0x0
8048f13: 50 push %eax
8048f14: e8 67 f9 ff ff call 8048880 <strtol@plt>
8048f19: 89 c3 mov %eax,%ebx
8048f1b: 8d 40 ff lea -0x1(%eax),%eax
8048f1e: 83 c4 10 add $0x10,%esp
8048f21: 3d e8 03 00 00 cmp $0x3e8,%eax
8048f26: 76 05 jbe 8048f2d <secret_phase+0x2a>
8048f28: e8 c1 01 00 00 call 80490ee <explode_bomb>
8048f2d: 83 ec 08 sub $0x8,%esp
8048f30: 53 push %ebx
8048f31: 68 88 c0 04 08 push $0x804c088
8048f36: e8 77 ff ff ff call 8048eb2 <fun7>
8048f3b: 83 c4 10 add $0x10,%esp
8048f3e: 83 f8 02 cmp $0x2,%eax
8048f41: 74 05 je 8048f48 <secret_phase+0x45>
8048f43: e8 a6 01 00 00 call 80490ee <explode_bomb>
8048f48: 83 ec 0c sub $0xc,%esp
8048f4b: 68 80 a0 04 08 push $0x804a080
8048f50: e8 6b f8 ff ff call 80487c0 <puts@plt>
8048f55: e8 ed 02 00 00 call 8049247 <phase_defused>
8048f5a: 83 c4 18 add $0x18,%esp
8048f5d: 5b pop %ebx
8048f5e: c3 ret
08048f5f <sig_handler>:
8048f5f: 83 ec 18 sub $0x18,%esp
8048f62: 68 a8 a0 04 08 push $0x804a0a8
8048f67: e8 54 f8 ff ff call 80487c0 <puts@plt>
8048f6c: c7 04 24 03 00 00 00 movl $0x3,(%esp)
8048f73: e8 f8 f7 ff ff call 8048770 <sleep@plt>
8048f78: 83 c4 08 add $0x8,%esp
8048f7b: 68 6a a1 04 08 push $0x804a16a
8048f80: 6a 01 push $0x1
8048f82: e8 b9 f8 ff ff call 8048840 <__printf_chk@plt>
8048f87: 83 c4 04 add $0x4,%esp
8048f8a: ff 35 c4 c3 04 08 pushl 0x804c3c4
8048f90: e8 ab f7 ff ff call 8048740 <fflush@plt>
8048f95: c7 04 24 01 00 00 00 movl $0x1,(%esp)
8048f9c: e8 cf f7 ff ff call 8048770 <sleep@plt>
8048fa1: c7 04 24 72 a1 04 08 movl $0x804a172,(%esp)
8048fa8: e8 13 f8 ff ff call 80487c0 <puts@plt>
8048fad: c7 04 24 10 00 00 00 movl $0x10,(%esp)
8048fb4: e8 27 f8 ff ff call 80487e0 <exit@plt>
08048fb9 <invalid_phase>:
8048fb9: 83 ec 10 sub $0x10,%esp
8048fbc: ff 74 24 14 pushl 0x14(%esp)
8048fc0: 68 7a a1 04 08 push $0x804a17a
8048fc5: 6a 01 push $0x1
8048fc7: e8 74 f8 ff ff call 8048840 <__printf_chk@plt>
8048fcc: c7 04 24 08 00 00 00 movl $0x8,(%esp)
8048fd3: e8 08 f8 ff ff call 80487e0 <exit@plt>
08048fd8 <string_length>:
8048fd8: 8b 54 24 04 mov 0x4(%esp),%edx
8048fdc: 80 3a 00 cmpb $0x0,(%edx)
8048fdf: 74 10 je 8048ff1 <string_length+0x19>
8048fe1: b8 00 00 00 00 mov $0x0,%eax
8048fe6: 83 c0 01 add $0x1,%eax
8048fe9: 80 3c 02 00 cmpb $0x0,(%edx,%eax,1)
8048fed: 75 f7 jne 8048fe6 <string_length+0xe>
8048fef: f3 c3 repz ret
8048ff1: b8 00 00 00 00 mov $0x0,%eax
8048ff6: c3 ret
08048ff7 <strings_not_equal>:
8048ff7: 57 push %edi
8048ff8: 56 push %esi
8048ff9: 53 push %ebx
8048ffa: 8b 5c 24 10 mov 0x10(%esp),%ebx
8048ffe: 8b 74 24 14 mov 0x14(%esp),%esi
8049002: 53 push %ebx
8049003: e8 d0 ff ff ff call 8048fd8 <string_length>
8049008: 89 c7 mov %eax,%edi
804900a: 89 34 24 mov %esi,(%esp)
804900d: e8 c6 ff ff ff call 8048fd8 <string_length>
8049012: 83 c4 04 add $0x4,%esp
8049015: ba 01 00 00 00 mov $0x1,%edx
804901a: 39 c7 cmp %eax,%edi
804901c: 75 38 jne 8049056 <strings_not_equal+0x5f>
804901e: 0f b6 03 movzbl (%ebx),%eax
8049021: 84 c0 test %al,%al
8049023: 74 1e je 8049043 <strings_not_equal+0x4c>
8049025: 3a 06 cmp (%esi),%al
8049027: 74 06 je 804902f <strings_not_equal+0x38>
8049029: eb 1f jmp 804904a <strings_not_equal+0x53>
804902b: 3a 06 cmp (%esi),%al
804902d: 75 22 jne 8049051 <strings_not_equal+0x5a>
804902f: 83 c3 01 add $0x1,%ebx
8049032: 83 c6 01 add $0x1,%esi
8049035: 0f b6 03 movzbl (%ebx),%eax
8049038: 84 c0 test %al,%al
804903a: 75 ef jne 804902b <strings_not_equal+0x34>
804903c: ba 00 00 00 00 mov $0x0,%edx
8049041: eb 13 jmp 8049056 <strings_not_equal+0x5f>
8049043: ba 00 00 00 00 mov $0x0,%edx
8049048: eb 0c jmp 8049056 <strings_not_equal+0x5f>
804904a: ba 01 00 00 00 mov $0x1,%edx
804904f: eb 05 jmp 8049056 <strings_not_equal+0x5f>
8049051: ba 01 00 00 00 mov $0x1,%edx
8049056: 89 d0 mov %edx,%eax
8049058: 5b pop %ebx
8049059: 5e pop %esi
804905a: 5f pop %edi
804905b: c3 ret
0804905c <initialize_bomb>:
804905c: 83 ec 14 sub $0x14,%esp
804905f: 68 5f 8f 04 08 push $0x8048f5f
8049064: 6a 02 push $0x2
8049066: e8 f5 f6 ff ff call 8048760 <signal@plt>
804906b: 83 c4 1c add $0x1c,%esp
804906e: c3 ret
0804906f <initialize_bomb_solve>:
804906f: f3 c3 repz ret
08049071 <blank_line>:
8049071: 56 push %esi
8049072: 53 push %ebx
8049073: 83 ec 04 sub $0x4,%esp
8049076: 8b 74 24 10 mov 0x10(%esp),%esi
804907a: eb 14 jmp 8049090 <blank_line+0x1f>
804907c: e8 2f f8 ff ff call 80488b0 <__ctype_b_loc@plt>
8049081: 83 c6 01 add $0x1,%esi
8049084: 0f be db movsbl %bl,%ebx
8049087: 8b 00 mov (%eax),%eax
8049089: f6 44 58 01 20 testb $0x20,0x1(%eax,%ebx,2)
804908e: 74 0e je 804909e <blank_line+0x2d>
8049090: 0f b6 1e movzbl (%esi),%ebx
8049093: 84 db test %bl,%bl
8049095: 75 e5 jne 804907c <blank_line+0xb>
8049097: b8 01 00 00 00 mov $0x1,%eax
804909c: eb 05 jmp 80490a3 <blank_line+0x32>
804909e: b8 00 00 00 00 mov $0x0,%eax
80490a3: 83 c4 04 add $0x4,%esp
80490a6: 5b pop %ebx
80490a7: 5e pop %esi
80490a8: c3 ret
080490a9 <skip>:
80490a9: 53 push %ebx
80490aa: 83 ec 08 sub $0x8,%esp
80490ad: 83 ec 04 sub $0x4,%esp
80490b0: ff 35 d0 c3 04 08 pushl 0x804c3d0
80490b6: 6a 50 push $0x50
80490b8: a1 cc c3 04 08 mov 0x804c3cc,%eax
80490bd: 8d 04 80 lea (%eax,%eax,4),%eax
80490c0: c1 e0 04 shl $0x4,%eax
80490c3: 05 e0 c3 04 08 add $0x804c3e0,%eax
80490c8: 50 push %eax
80490c9: e8 82 f6 ff ff call 8048750 <fgets@plt>
80490ce: 89 c3 mov %eax,%ebx
80490d0: 83 c4 10 add $0x10,%esp
80490d3: 85 c0 test %eax,%eax
80490d5: 74 10 je 80490e7 <skip+0x3e>
80490d7: 83 ec 0c sub $0xc,%esp
80490da: 50 push %eax
80490db: e8 91 ff ff ff call 8049071 <blank_line>
80490e0: 83 c4 10 add $0x10,%esp
80490e3: 85 c0 test %eax,%eax
80490e5: 75 c6 jne 80490ad <skip+0x4>
80490e7: 89 d8 mov %ebx,%eax
80490e9: 83 c4 08 add $0x8,%esp
80490ec: 5b pop %ebx
80490ed: c3 ret
080490ee <explode_bomb>:
80490ee: 83 ec 18 sub $0x18,%esp
80490f1: 68 8b a1 04 08 push $0x804a18b
80490f6: e8 c5 f6 ff ff call 80487c0 <puts@plt>
80490fb: c7 04 24 94 a1 04 08 movl $0x804a194,(%esp)
8049102: e8 b9 f6 ff ff call 80487c0 <puts@plt>
8049107: c7 04 24 08 00 00 00 movl $0x8,(%esp)
804910e: e8 cd f6 ff ff call 80487e0 <exit@plt>
08049113 <read_six_numbers>:
8049113: 83 ec 0c sub $0xc,%esp
8049116: 8b 44 24 14 mov 0x14(%esp),%eax
804911a: 8d 50 14 lea 0x14(%eax),%edx
804911d: 52 push %edx
804911e: 8d 50 10 lea 0x10(%eax),%edx
8049121: 52 push %edx
8049122: 8d 50 0c lea 0xc(%eax),%edx
8049125: 52 push %edx
8049126: 8d 50 08 lea 0x8(%eax),%edx
8049129: 52 push %edx
804912a: 8d 50 04 lea 0x4(%eax),%edx
804912d: 52 push %edx
804912e: 50 push %eax
804912f: 68 ab a1 04 08 push $0x804a1ab
8049134: ff 74 24 2c pushl 0x2c(%esp)
8049138: e8 d3 f6 ff ff call 8048810 <__isoc99_sscanf@plt>
804913d: 83 c4 20 add $0x20,%esp
8049140: 83 f8 05 cmp $0x5,%eax
8049143: 7f 05 jg 804914a <read_six_numbers+0x37>
8049145: e8 a4 ff ff ff call 80490ee <explode_bomb>
804914a: 83 c4 0c add $0xc,%esp
804914d: c3 ret
0804914e <read_line>:
804914e: 57 push %edi
804914f: 56 push %esi
8049150: 53 push %ebx
8049151: e8 53 ff ff ff call 80490a9 <skip>
8049156: 85 c0 test %eax,%eax
8049158: 75 70 jne 80491ca <read_line+0x7c>
804915a: a1 c0 c3 04 08 mov 0x804c3c0,%eax
804915f: 39 05 d0 c3 04 08 cmp %eax,0x804c3d0
8049165: 75 19 jne 8049180 <read_line+0x32>
8049167: 83 ec 0c sub $0xc,%esp
804916a: 68 bd a1 04 08 push $0x804a1bd
804916f: e8 4c f6 ff ff call 80487c0 <puts@plt>
8049174: c7 04 24 08 00 00 00 movl $0x8,(%esp)
804917b: e8 60 f6 ff ff call 80487e0 <exit@plt>
8049180: 83 ec 0c sub $0xc,%esp
8049183: 68 db a1 04 08 push $0x804a1db
8049188: e8 23 f6 ff ff call 80487b0 <getenv@plt>
804918d: 83 c4 10 add $0x10,%esp
8049190: 85 c0 test %eax,%eax
8049192: 74 0a je 804919e <read_line+0x50>
8049194: 83 ec 0c sub $0xc,%esp
8049197: 6a 00 push $0x0
8049199: e8 42 f6 ff ff call 80487e0 <exit@plt>
804919e: a1 c0 c3 04 08 mov 0x804c3c0,%eax
80491a3: a3 d0 c3 04 08 mov %eax,0x804c3d0
80491a8: e8 fc fe ff ff call 80490a9 <skip>
80491ad: 85 c0 test %eax,%eax
80491af: 75 19 jne 80491ca <read_line+0x7c>
80491b1: 83 ec 0c sub $0xc,%esp
80491b4: 68 bd a1 04 08 push $0x804a1bd
80491b9: e8 02 f6 ff ff call 80487c0 <puts@plt>
80491be: c7 04 24 00 00 00 00 movl $0x0,(%esp)
80491c5: e8 16 f6 ff ff call 80487e0 <exit@plt>
80491ca: 8b 15 cc c3 04 08 mov 0x804c3cc,%edx
80491d0: 8d 1c 92 lea (%edx,%edx,4),%ebx
80491d3: c1 e3 04 shl $0x4,%ebx
80491d6: 81 c3 e0 c3 04 08 add $0x804c3e0,%ebx
80491dc: b8 00 00 00 00 mov $0x0,%eax
80491e1: b9 ff ff ff ff mov $0xffffffff,%ecx
80491e6: 89 df mov %ebx,%edi
80491e8: f2 ae repnz scas %es:(%edi),%al
80491ea: f7 d1 not %ecx
80491ec: 83 e9 01 sub $0x1,%ecx
80491ef: 83 f9 4e cmp $0x4e,%ecx
80491f2: 7e 36 jle 804922a <read_line+0xdc>
80491f4: 83 ec 0c sub $0xc,%esp
80491f7: 68 e6 a1 04 08 push $0x804a1e6
80491fc: e8 bf f5 ff ff call 80487c0 <puts@plt>
8049201: a1 cc c3 04 08 mov 0x804c3cc,%eax
8049206: 8d 50 01 lea 0x1(%eax),%edx
8049209: 89 15 cc c3 04 08 mov %edx,0x804c3cc
804920f: 6b c0 50 imul $0x50,%eax,%eax
8049212: 05 e0 c3 04 08 add $0x804c3e0,%eax
8049217: be 01 a2 04 08 mov $0x804a201,%esi
804921c: b9 04 00 00 00 mov $0x4,%ecx
8049221: 89 c7 mov %eax,%edi
8049223: f3 a5 rep movsl %ds:(%esi),%es:(%edi)
8049225: e8 c4 fe ff ff call 80490ee <explode_bomb>
804922a: 8d 04 92 lea (%edx,%edx,4),%eax
804922d: c1 e0 04 shl $0x4,%eax
8049230: c6 84 01 df c3 04 08 movb $0x0,0x804c3df(%ecx,%eax,1)
8049237: 00
8049238: 83 c2 01 add $0x1,%edx
804923b: 89 15 cc c3 04 08 mov %edx,0x804c3cc
8049241: 89 d8 mov %ebx,%eax
8049243: 5b pop %ebx
8049244: 5e pop %esi
8049245: 5f pop %edi
8049246: c3 ret
08049247 <phase_defused>:
8049247: 83 ec 6c sub $0x6c,%esp
804924a: 65 a1 14 00 00 00 mov %gs:0x14,%eax
8049250: 89 44 24 5c mov %eax,0x5c(%esp)
8049254: 31 c0 xor %eax,%eax
8049256: 83 3d cc c3 04 08 06 cmpl $0x6,0x804c3cc
804925d: 75 73 jne 80492d2 <phase_defused+0x8b>
804925f: 83 ec 0c sub $0xc,%esp
8049262: 8d 44 24 18 lea 0x18(%esp),%eax
8049266: 50 push %eax
8049267: 8d 44 24 18 lea 0x18(%esp),%eax
804926b: 50 push %eax
804926c: 8d 44 24 18 lea 0x18(%esp),%eax
8049270: 50 push %eax
8049271: 68 11 a2 04 08 push $0x804a211
8049276: 68 d0 c4 04 08 push $0x804c4d0
804927b: e8 90 f5 ff ff call 8048810 <__isoc99_sscanf@plt>
8049280: 83 c4 20 add $0x20,%esp
8049283: 83 f8 03 cmp $0x3,%eax
8049286: 75 3a jne 80492c2 <phase_defused+0x7b>
8049288: 83 ec 08 sub $0x8,%esp
804928b: 68 1a a2 04 08 push $0x804a21a
8049290: 8d 44 24 18 lea 0x18(%esp),%eax
8049294: 50 push %eax
8049295: e8 5d fd ff ff call 8048ff7 <strings_not_equal>
804929a: 83 c4 10 add $0x10,%esp
804929d: 85 c0 test %eax,%eax
804929f: 75 21 jne 80492c2 <phase_defused+0x7b>
80492a1: 83 ec 0c sub $0xc,%esp
80492a4: 68 e0 a0 04 08 push $0x804a0e0
80492a9: e8 12 f5 ff ff call 80487c0 <puts@plt>
80492ae: c7 04 24 08 a1 04 08 movl $0x804a108,(%esp)
80492b5: e8 06 f5 ff ff call 80487c0 <puts@plt>
80492ba: e8 44 fc ff ff call 8048f03 <secret_phase>
80492bf: 83 c4 10 add $0x10,%esp
80492c2: 83 ec 0c sub $0xc,%esp
80492c5: 68 40 a1 04 08 push $0x804a140
80492ca: e8 f1 f4 ff ff call 80487c0 <puts@plt>
80492cf: 83 c4 10 add $0x10,%esp
80492d2: 8b 44 24 5c mov 0x5c(%esp),%eax
80492d6: 65 33 05 14 00 00 00 xor %gs:0x14,%eax
80492dd: 74 05 je 80492e4 <phase_defused+0x9d>
80492df: e8 ac f4 ff ff call 8048790 <__stack_chk_fail@plt>