-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbomb.asm
More file actions
2113 lines (2039 loc) · 104 KB
/
bomb.asm
File metadata and controls
2113 lines (2039 loc) · 104 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
./bomb: file format elf64-x86-64
Disassembly of section .init:
0000000000001000 <_init>:
1000: f3 0f 1e fa endbr64
1004: 48 83 ec 08 sub $0x8,%rsp
1008: 48 8b 05 d9 4f 00 00 mov 0x4fd9(%rip),%rax # 5fe8 <__gmon_start__>
100f: 48 85 c0 test %rax,%rax
1012: 74 02 je 1016 <_init+0x16>
1014: ff d0 call *%rax
1016: 48 83 c4 08 add $0x8,%rsp
101a: c3 ret
Disassembly of section .plt:
0000000000001020 <getenv@plt-0x10>:
1020: ff 35 e2 4f 00 00 push 0x4fe2(%rip) # 6008 <_GLOBAL_OFFSET_TABLE_+0x8>
1026: ff 25 e4 4f 00 00 jmp *0x4fe4(%rip) # 6010 <_GLOBAL_OFFSET_TABLE_+0x10>
102c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000001030 <getenv@plt>:
1030: ff 25 e2 4f 00 00 jmp *0x4fe2(%rip) # 6018 <getenv@GLIBC_2.2.5>
1036: 68 00 00 00 00 push $0x0
103b: e9 e0 ff ff ff jmp 1020 <_init+0x20>
0000000000001040 <strcasecmp@plt>:
1040: ff 25 da 4f 00 00 jmp *0x4fda(%rip) # 6020 <strcasecmp@GLIBC_2.2.5>
1046: 68 01 00 00 00 push $0x1
104b: e9 d0 ff ff ff jmp 1020 <_init+0x20>
0000000000001050 <__errno_location@plt>:
1050: ff 25 d2 4f 00 00 jmp *0x4fd2(%rip) # 6028 <__errno_location@GLIBC_2.2.5>
1056: 68 02 00 00 00 push $0x2
105b: e9 c0 ff ff ff jmp 1020 <_init+0x20>
0000000000001060 <strcpy@plt>:
1060: ff 25 ca 4f 00 00 jmp *0x4fca(%rip) # 6030 <strcpy@GLIBC_2.2.5>
1066: 68 03 00 00 00 push $0x3
106b: e9 b0 ff ff ff jmp 1020 <_init+0x20>
0000000000001070 <puts@plt>:
1070: ff 25 c2 4f 00 00 jmp *0x4fc2(%rip) # 6038 <puts@GLIBC_2.2.5>
1076: 68 04 00 00 00 push $0x4
107b: e9 a0 ff ff ff jmp 1020 <_init+0x20>
0000000000001080 <write@plt>:
1080: ff 25 ba 4f 00 00 jmp *0x4fba(%rip) # 6040 <write@GLIBC_2.2.5>
1086: 68 05 00 00 00 push $0x5
108b: e9 90 ff ff ff jmp 1020 <_init+0x20>
0000000000001090 <strlen@plt>:
1090: ff 25 b2 4f 00 00 jmp *0x4fb2(%rip) # 6048 <strlen@GLIBC_2.2.5>
1096: 68 06 00 00 00 push $0x6
109b: e9 80 ff ff ff jmp 1020 <_init+0x20>
00000000000010a0 <__stack_chk_fail@plt>:
10a0: ff 25 aa 4f 00 00 jmp *0x4faa(%rip) # 6050 <__stack_chk_fail@GLIBC_2.4>
10a6: 68 07 00 00 00 push $0x7
10ab: e9 70 ff ff ff jmp 1020 <_init+0x20>
00000000000010b0 <printf@plt>:
10b0: ff 25 a2 4f 00 00 jmp *0x4fa2(%rip) # 6058 <printf@GLIBC_2.2.5>
10b6: 68 08 00 00 00 push $0x8
10bb: e9 60 ff ff ff jmp 1020 <_init+0x20>
00000000000010c0 <alarm@plt>:
10c0: ff 25 9a 4f 00 00 jmp *0x4f9a(%rip) # 6060 <alarm@GLIBC_2.2.5>
10c6: 68 09 00 00 00 push $0x9
10cb: e9 50 ff ff ff jmp 1020 <_init+0x20>
00000000000010d0 <close@plt>:
10d0: ff 25 92 4f 00 00 jmp *0x4f92(%rip) # 6068 <close@GLIBC_2.2.5>
10d6: 68 0a 00 00 00 push $0xa
10db: e9 40 ff ff ff jmp 1020 <_init+0x20>
00000000000010e0 <read@plt>:
10e0: ff 25 8a 4f 00 00 jmp *0x4f8a(%rip) # 6070 <read@GLIBC_2.2.5>
10e6: 68 0b 00 00 00 push $0xb
10eb: e9 30 ff ff ff jmp 1020 <_init+0x20>
00000000000010f0 <fgets@plt>:
10f0: ff 25 82 4f 00 00 jmp *0x4f82(%rip) # 6078 <fgets@GLIBC_2.2.5>
10f6: 68 0c 00 00 00 push $0xc
10fb: e9 20 ff ff ff jmp 1020 <_init+0x20>
0000000000001100 <strcmp@plt>:
1100: ff 25 7a 4f 00 00 jmp *0x4f7a(%rip) # 6080 <strcmp@GLIBC_2.2.5>
1106: 68 0d 00 00 00 push $0xd
110b: e9 10 ff ff ff jmp 1020 <_init+0x20>
0000000000001110 <signal@plt>:
1110: ff 25 72 4f 00 00 jmp *0x4f72(%rip) # 6088 <signal@GLIBC_2.2.5>
1116: 68 0e 00 00 00 push $0xe
111b: e9 00 ff ff ff jmp 1020 <_init+0x20>
0000000000001120 <gethostbyname@plt>:
1120: ff 25 6a 4f 00 00 jmp *0x4f6a(%rip) # 6090 <gethostbyname@GLIBC_2.2.5>
1126: 68 0f 00 00 00 push $0xf
112b: e9 f0 fe ff ff jmp 1020 <_init+0x20>
0000000000001130 <fprintf@plt>:
1130: ff 25 62 4f 00 00 jmp *0x4f62(%rip) # 6098 <fprintf@GLIBC_2.2.5>
1136: 68 10 00 00 00 push $0x10
113b: e9 e0 fe ff ff jmp 1020 <_init+0x20>
0000000000001140 <fflush@plt>:
1140: ff 25 5a 4f 00 00 jmp *0x4f5a(%rip) # 60a0 <fflush@GLIBC_2.2.5>
1146: 68 11 00 00 00 push $0x11
114b: e9 d0 fe ff ff jmp 1020 <_init+0x20>
0000000000001150 <__isoc99_sscanf@plt>:
1150: ff 25 52 4f 00 00 jmp *0x4f52(%rip) # 60a8 <__isoc99_sscanf@GLIBC_2.7>
1156: 68 12 00 00 00 push $0x12
115b: e9 c0 fe ff ff jmp 1020 <_init+0x20>
0000000000001160 <memmove@plt>:
1160: ff 25 4a 4f 00 00 jmp *0x4f4a(%rip) # 60b0 <memmove@GLIBC_2.2.5>
1166: 68 13 00 00 00 push $0x13
116b: e9 b0 fe ff ff jmp 1020 <_init+0x20>
0000000000001170 <fopen@plt>:
1170: ff 25 42 4f 00 00 jmp *0x4f42(%rip) # 60b8 <fopen@GLIBC_2.2.5>
1176: 68 14 00 00 00 push $0x14
117b: e9 a0 fe ff ff jmp 1020 <_init+0x20>
0000000000001180 <sprintf@plt>:
1180: ff 25 3a 4f 00 00 jmp *0x4f3a(%rip) # 60c0 <sprintf@GLIBC_2.2.5>
1186: 68 15 00 00 00 push $0x15
118b: e9 90 fe ff ff jmp 1020 <_init+0x20>
0000000000001190 <exit@plt>:
1190: ff 25 32 4f 00 00 jmp *0x4f32(%rip) # 60c8 <exit@GLIBC_2.2.5>
1196: 68 16 00 00 00 push $0x16
119b: e9 80 fe ff ff jmp 1020 <_init+0x20>
00000000000011a0 <connect@plt>:
11a0: ff 25 2a 4f 00 00 jmp *0x4f2a(%rip) # 60d0 <connect@GLIBC_2.2.5>
11a6: 68 17 00 00 00 push $0x17
11ab: e9 70 fe ff ff jmp 1020 <_init+0x20>
00000000000011b0 <sleep@plt>:
11b0: ff 25 22 4f 00 00 jmp *0x4f22(%rip) # 60d8 <sleep@GLIBC_2.2.5>
11b6: 68 18 00 00 00 push $0x18
11bb: e9 60 fe ff ff jmp 1020 <_init+0x20>
00000000000011c0 <__ctype_b_loc@plt>:
11c0: ff 25 1a 4f 00 00 jmp *0x4f1a(%rip) # 60e0 <__ctype_b_loc@GLIBC_2.3>
11c6: 68 19 00 00 00 push $0x19
11cb: e9 50 fe ff ff jmp 1020 <_init+0x20>
00000000000011d0 <socket@plt>:
11d0: ff 25 12 4f 00 00 jmp *0x4f12(%rip) # 60e8 <socket@GLIBC_2.2.5>
11d6: 68 1a 00 00 00 push $0x1a
11db: e9 40 fe ff ff jmp 1020 <_init+0x20>
Disassembly of section .text:
00000000000011e0 <_start>:
11e0: f3 0f 1e fa endbr64
11e4: 31 ed xor %ebp,%ebp
11e6: 49 89 d1 mov %rdx,%r9
11e9: 5e pop %rsi
11ea: 48 89 e2 mov %rsp,%rdx
11ed: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
11f1: 50 push %rax
11f2: 54 push %rsp
11f3: 4c 8d 05 e6 1c 00 00 lea 0x1ce6(%rip),%r8 # 2ee0 <__libc_csu_fini>
11fa: 48 8d 0d 6f 1c 00 00 lea 0x1c6f(%rip),%rcx # 2e70 <__libc_csu_init>
1201: 48 8d 3d d1 00 00 00 lea 0xd1(%rip),%rdi # 12d9 <main>
1208: ff 15 d2 4d 00 00 call *0x4dd2(%rip) # 5fe0 <__libc_start_main@GLIBC_2.2.5>
120e: f4 hlt
120f: 90 nop
0000000000001210 <deregister_tm_clones>:
1210: 48 8d 3d 69 54 00 00 lea 0x5469(%rip),%rdi # 6680 <stdout@GLIBC_2.2.5>
1217: 48 8d 05 62 54 00 00 lea 0x5462(%rip),%rax # 6680 <stdout@GLIBC_2.2.5>
121e: 48 39 f8 cmp %rdi,%rax
1221: 74 15 je 1238 <deregister_tm_clones+0x28>
1223: 48 8b 05 ae 4d 00 00 mov 0x4dae(%rip),%rax # 5fd8 <_ITM_deregisterTMCloneTable>
122a: 48 85 c0 test %rax,%rax
122d: 74 09 je 1238 <deregister_tm_clones+0x28>
122f: ff e0 jmp *%rax
1231: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
1238: c3 ret
1239: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
0000000000001240 <register_tm_clones>:
1240: 48 8d 3d 39 54 00 00 lea 0x5439(%rip),%rdi # 6680 <stdout@GLIBC_2.2.5>
1247: 48 8d 35 32 54 00 00 lea 0x5432(%rip),%rsi # 6680 <stdout@GLIBC_2.2.5>
124e: 48 29 fe sub %rdi,%rsi
1251: 48 89 f0 mov %rsi,%rax
1254: 48 c1 ee 3f shr $0x3f,%rsi
1258: 48 c1 f8 03 sar $0x3,%rax
125c: 48 01 c6 add %rax,%rsi
125f: 48 d1 fe sar $1,%rsi
1262: 74 14 je 1278 <register_tm_clones+0x38>
1264: 48 8b 05 85 4d 00 00 mov 0x4d85(%rip),%rax # 5ff0 <_ITM_registerTMCloneTable>
126b: 48 85 c0 test %rax,%rax
126e: 74 08 je 1278 <register_tm_clones+0x38>
1270: ff e0 jmp *%rax
1272: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
1278: c3 ret
1279: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
0000000000001280 <__do_global_dtors_aux>:
1280: f3 0f 1e fa endbr64
1284: 80 3d 1d 54 00 00 00 cmpb $0x0,0x541d(%rip) # 66a8 <completed.0>
128b: 75 33 jne 12c0 <__do_global_dtors_aux+0x40>
128d: 55 push %rbp
128e: 48 83 3d 62 4d 00 00 cmpq $0x0,0x4d62(%rip) # 5ff8 <__cxa_finalize@GLIBC_2.2.5>
1295: 00
1296: 48 89 e5 mov %rsp,%rbp
1299: 74 0d je 12a8 <__do_global_dtors_aux+0x28>
129b: 48 8b 3d 66 4e 00 00 mov 0x4e66(%rip),%rdi # 6108 <__dso_handle>
12a2: ff 15 50 4d 00 00 call *0x4d50(%rip) # 5ff8 <__cxa_finalize@GLIBC_2.2.5>
12a8: e8 63 ff ff ff call 1210 <deregister_tm_clones>
12ad: c6 05 f4 53 00 00 01 movb $0x1,0x53f4(%rip) # 66a8 <completed.0>
12b4: 5d pop %rbp
12b5: c3 ret
12b6: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1)
12bd: 00 00 00
12c0: c3 ret
12c1: 66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1)
12c8: 00 00 00 00
12cc: 0f 1f 40 00 nopl 0x0(%rax)
00000000000012d0 <frame_dummy>:
12d0: f3 0f 1e fa endbr64
12d4: e9 67 ff ff ff jmp 1240 <register_tm_clones>
00000000000012d9 <main>:
12d9: 53 push %rbx
12da: 83 ff 01 cmp $0x1,%edi
12dd: 0f 84 04 01 00 00 je 13e7 <main+0x10e>
12e3: 48 89 f3 mov %rsi,%rbx
12e6: 83 ff 02 cmp $0x2,%edi
12e9: 0f 85 28 01 00 00 jne 1417 <main+0x13e>
12ef: 48 8b 7e 08 mov 0x8(%rsi),%rdi
12f3: 48 8d 35 0a 1d 00 00 lea 0x1d0a(%rip),%rsi # 3004 <_IO_stdin_used+0x4>
12fa: e8 71 fe ff ff call 1170 <fopen@plt>
12ff: 48 89 05 aa 53 00 00 mov %rax,0x53aa(%rip) # 66b0 <infile>
1306: 48 85 c0 test %rax,%rax
1309: 0f 84 eb 00 00 00 je 13fa <main+0x121>
130f: e8 65 0a 00 00 call 1d79 <initialize_bomb>
1314: 48 8d 3d 65 1d 00 00 lea 0x1d65(%rip),%rdi # 3080 <_IO_stdin_used+0x80>
131b: e8 50 fd ff ff call 1070 <puts@plt>
1320: 48 8d 3d 99 1d 00 00 lea 0x1d99(%rip),%rdi # 30c0 <_IO_stdin_used+0xc0>
1327: e8 44 fd ff ff call 1070 <puts@plt>
132c: e8 52 0d 00 00 call 2083 <read_line>
1331: 48 89 c7 mov %rax,%rdi
1334: e8 fc 00 00 00 call 1435 <phase_1>
1339: e8 7f 0e 00 00 call 21bd <phase_defused>
133e: 48 8d 3d ab 1d 00 00 lea 0x1dab(%rip),%rdi # 30f0 <_IO_stdin_used+0xf0>
1345: e8 26 fd ff ff call 1070 <puts@plt>
134a: e8 34 0d 00 00 call 2083 <read_line>
134f: 48 89 c7 mov %rax,%rdi
1352: e8 fe 00 00 00 call 1455 <phase_2>
1357: e8 61 0e 00 00 call 21bd <phase_defused>
135c: 48 8d 3d da 1c 00 00 lea 0x1cda(%rip),%rdi # 303d <_IO_stdin_used+0x3d>
1363: e8 08 fd ff ff call 1070 <puts@plt>
1368: e8 16 0d 00 00 call 2083 <read_line>
136d: 48 89 c7 mov %rax,%rdi
1370: e8 cf 01 00 00 call 1544 <phase_3>
1375: e8 43 0e 00 00 call 21bd <phase_defused>
137a: 48 8d 3d cd 1c 00 00 lea 0x1ccd(%rip),%rdi # 304e <_IO_stdin_used+0x4e>
1381: e8 ea fc ff ff call 1070 <puts@plt>
1386: 48 8d 3d 93 1d 00 00 lea 0x1d93(%rip),%rdi # 3120 <_IO_stdin_used+0x120>
138d: e8 de fc ff ff call 1070 <puts@plt>
1392: e8 ec 0c 00 00 call 2083 <read_line>
1397: 48 89 c7 mov %rax,%rdi
139a: e8 ea 03 00 00 call 1789 <phase_4>
139f: e8 19 0e 00 00 call 21bd <phase_defused>
13a4: 48 8d 3d ad 1d 00 00 lea 0x1dad(%rip),%rdi # 3158 <_IO_stdin_used+0x158>
13ab: e8 c0 fc ff ff call 1070 <puts@plt>
13b0: e8 ce 0c 00 00 call 2083 <read_line>
13b5: 48 89 c7 mov %rax,%rdi
13b8: e8 8a 04 00 00 call 1847 <phase_5>
13bd: e8 fb 0d 00 00 call 21bd <phase_defused>
13c2: 48 8d 3d 94 1c 00 00 lea 0x1c94(%rip),%rdi # 305d <_IO_stdin_used+0x5d>
13c9: e8 a2 fc ff ff call 1070 <puts@plt>
13ce: e8 b0 0c 00 00 call 2083 <read_line>
13d3: 48 89 c7 mov %rax,%rdi
13d6: e8 03 05 00 00 call 18de <phase_6>
13db: e8 dd 0d 00 00 call 21bd <phase_defused>
13e0: b8 00 00 00 00 mov $0x0,%eax
13e5: 5b pop %rbx
13e6: c3 ret
13e7: 48 8b 05 a2 52 00 00 mov 0x52a2(%rip),%rax # 6690 <stdin@GLIBC_2.2.5>
13ee: 48 89 05 bb 52 00 00 mov %rax,0x52bb(%rip) # 66b0 <infile>
13f5: e9 15 ff ff ff jmp 130f <main+0x36>
13fa: 48 8b 53 08 mov 0x8(%rbx),%rdx
13fe: 48 8b 33 mov (%rbx),%rsi
1401: 48 8d 3d fe 1b 00 00 lea 0x1bfe(%rip),%rdi # 3006 <_IO_stdin_used+0x6>
1408: e8 a3 fc ff ff call 10b0 <printf@plt>
140d: bf 08 00 00 00 mov $0x8,%edi
1412: e8 79 fd ff ff call 1190 <exit@plt>
1417: 48 8b 36 mov (%rsi),%rsi
141a: 48 8d 3d 02 1c 00 00 lea 0x1c02(%rip),%rdi # 3023 <_IO_stdin_used+0x23>
1421: b8 00 00 00 00 mov $0x0,%eax
1426: e8 85 fc ff ff call 10b0 <printf@plt>
142b: bf 08 00 00 00 mov $0x8,%edi
1430: e8 5b fd ff ff call 1190 <exit@plt>
0000000000001435 <phase_1>:
1435: 48 83 ec 08 sub $0x8,%rsp
1439: 48 8d 35 40 1d 00 00 lea 0x1d40(%rip),%rsi # 3180 <_IO_stdin_used+0x180>
1440: e8 d8 08 00 00 call 1d1d <strings_not_equal>
1445: 85 c0 test %eax,%eax
1447: 75 05 jne 144e <phase_1+0x19>
1449: 48 83 c4 08 add $0x8,%rsp
144d: c3 ret
144e: e8 2f 0b 00 00 call 1f82 <explode_bomb>
1453: eb f4 jmp 1449 <phase_1+0x14>
0000000000001455 <phase_2>:
1455: 55 push %rbp
1456: 53 push %rbx
1457: 48 83 ec 38 sub $0x38,%rsp
145b: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
1462: 00 00
1464: 48 89 44 24 28 mov %rax,0x28(%rsp)
1469: 31 c0 xor %eax,%eax
146b: 48 89 e2 mov %rsp,%rdx
146e: 48 8d 4c 24 04 lea 0x4(%rsp),%rcx
1473: 4c 8d 4c 24 0c lea 0xc(%rsp),%r9
1478: 4c 8d 44 24 08 lea 0x8(%rsp),%r8
147d: 48 8d 35 4d 21 00 00 lea 0x214d(%rip),%rsi # 35d1 <array.0+0x391>
1484: e8 c7 fc ff ff call 1150 <__isoc99_sscanf@plt>
1489: 83 f8 04 cmp $0x4,%eax
148c: 75 14 jne 14a2 <phase_2+0x4d>
148e: 48 8d 3d ab 4c 00 00 lea 0x4cab(%rip),%rdi # 6140 <matA.3>
1495: 48 8d 5c 24 10 lea 0x10(%rsp),%rbx
149a: 41 bb 00 00 00 00 mov $0x0,%r11d
14a0: eb 19 jmp 14bb <phase_2+0x66>
14a2: e8 db 0a 00 00 call 1f82 <explode_bomb>
14a7: eb e5 jmp 148e <phase_2+0x39>
14a9: 41 83 c3 01 add $0x1,%r11d
14ad: 48 83 c7 0c add $0xc,%rdi
14b1: 48 83 c3 08 add $0x8,%rbx
14b5: 41 83 fb 02 cmp $0x2,%r11d
14b9: 74 47 je 1502 <phase_2+0xad>
14bb: 48 8d 35 5e 4c 00 00 lea 0x4c5e(%rip),%rsi # 6120 <matB.2>
14c2: 49 89 d9 mov %rbx,%r9
14c5: 41 b8 00 00 00 00 mov $0x0,%r8d
14cb: 4d 89 ca mov %r9,%r10
14ce: b8 00 00 00 00 mov $0x0,%eax
14d3: b9 00 00 00 00 mov $0x0,%ecx
14d8: 8b 14 87 mov (%rdi,%rax,4),%edx
14db: 0f af 14 c6 imul (%rsi,%rax,8),%edx
14df: 01 d1 add %edx,%ecx
14e1: 48 83 c0 01 add $0x1,%rax
14e5: 48 83 f8 03 cmp $0x3,%rax
14e9: 75 ed jne 14d8 <phase_2+0x83>
14eb: 41 89 0a mov %ecx,(%r10)
14ee: 41 83 c0 01 add $0x1,%r8d
14f2: 49 83 c1 04 add $0x4,%r9
14f6: 48 83 c6 04 add $0x4,%rsi
14fa: 41 83 f8 02 cmp $0x2,%r8d
14fe: 75 cb jne 14cb <phase_2+0x76>
1500: eb a7 jmp 14a9 <phase_2+0x54>
1502: bb 00 00 00 00 mov $0x0,%ebx
1507: 48 8d 6c 24 10 lea 0x10(%rsp),%rbp
150c: eb 0a jmp 1518 <phase_2+0xc3>
150e: 48 83 c3 04 add $0x4,%rbx
1512: 48 83 fb 10 cmp $0x10,%rbx
1516: 74 10 je 1528 <phase_2+0xd3>
1518: 8b 44 1d 00 mov 0x0(%rbp,%rbx,1),%eax
151c: 39 04 1c cmp %eax,(%rsp,%rbx,1)
151f: 74 ed je 150e <phase_2+0xb9>
1521: e8 5c 0a 00 00 call 1f82 <explode_bomb>
1526: eb e6 jmp 150e <phase_2+0xb9>
1528: 48 8b 44 24 28 mov 0x28(%rsp),%rax
152d: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
1534: 00 00
1536: 75 07 jne 153f <phase_2+0xea>
1538: 48 83 c4 38 add $0x38,%rsp
153c: 5b pop %rbx
153d: 5d pop %rbp
153e: c3 ret
153f: e8 5c fb ff ff call 10a0 <__stack_chk_fail@plt>
0000000000001544 <phase_3>:
1544: 48 83 ec 28 sub $0x28,%rsp
1548: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
154f: 00 00
1551: 48 89 44 24 18 mov %rax,0x18(%rsp)
1556: 31 c0 xor %eax,%eax
1558: 48 8d 4c 24 0f lea 0xf(%rsp),%rcx
155d: 48 8d 54 24 10 lea 0x10(%rsp),%rdx
1562: 4c 8d 44 24 14 lea 0x14(%rsp),%r8
1567: 48 8d 35 87 1c 00 00 lea 0x1c87(%rip),%rsi # 31f5 <_IO_stdin_used+0x1f5>
156e: e8 dd fb ff ff call 1150 <__isoc99_sscanf@plt>
1573: 83 f8 02 cmp $0x2,%eax
1576: 7e 29 jle 15a1 <phase_3+0x5d>
1578: 8b 05 92 4b 00 00 mov 0x4b92(%rip),%eax # 6110 <mask.1>
157e: 30 44 24 0f xor %al,0xf(%rsp)
1582: 83 7c 24 10 07 cmpl $0x7,0x10(%rsp)
1587: 0f 87 0c 01 00 00 ja 1699 <phase_3+0x155>
158d: 8b 44 24 10 mov 0x10(%rsp),%eax
1591: 48 8d 15 88 1c 00 00 lea 0x1c88(%rip),%rdx # 3220 <_IO_stdin_used+0x220>
1598: 48 63 04 82 movslq (%rdx,%rax,4),%rax
159c: 48 01 d0 add %rdx,%rax
159f: ff e0 jmp *%rax
15a1: e8 dc 09 00 00 call 1f82 <explode_bomb>
15a6: eb d0 jmp 1578 <phase_3+0x34>
15a8: b8 75 00 00 00 mov $0x75,%eax
15ad: 81 7c 24 14 4d 02 00 cmpl $0x24d,0x14(%rsp)
15b4: 00
15b5: 0f 84 e8 00 00 00 je 16a3 <phase_3+0x15f>
15bb: e8 c2 09 00 00 call 1f82 <explode_bomb>
15c0: b8 75 00 00 00 mov $0x75,%eax
15c5: e9 d9 00 00 00 jmp 16a3 <phase_3+0x15f>
15ca: b8 71 00 00 00 mov $0x71,%eax
15cf: 81 7c 24 14 e7 00 00 cmpl $0xe7,0x14(%rsp)
15d6: 00
15d7: 0f 84 c6 00 00 00 je 16a3 <phase_3+0x15f>
15dd: e8 a0 09 00 00 call 1f82 <explode_bomb>
15e2: b8 71 00 00 00 mov $0x71,%eax
15e7: e9 b7 00 00 00 jmp 16a3 <phase_3+0x15f>
15ec: b8 78 00 00 00 mov $0x78,%eax
15f1: 81 7c 24 14 a8 02 00 cmpl $0x2a8,0x14(%rsp)
15f8: 00
15f9: 0f 84 a4 00 00 00 je 16a3 <phase_3+0x15f>
15ff: e8 7e 09 00 00 call 1f82 <explode_bomb>
1604: b8 78 00 00 00 mov $0x78,%eax
1609: e9 95 00 00 00 jmp 16a3 <phase_3+0x15f>
160e: b8 64 00 00 00 mov $0x64,%eax
1613: 81 7c 24 14 9a 00 00 cmpl $0x9a,0x14(%rsp)
161a: 00
161b: 0f 84 82 00 00 00 je 16a3 <phase_3+0x15f>
1621: e8 5c 09 00 00 call 1f82 <explode_bomb>
1626: b8 64 00 00 00 mov $0x64,%eax
162b: eb 76 jmp 16a3 <phase_3+0x15f>
162d: b8 6a 00 00 00 mov $0x6a,%eax
1632: 81 7c 24 14 55 02 00 cmpl $0x255,0x14(%rsp)
1639: 00
163a: 74 67 je 16a3 <phase_3+0x15f>
163c: e8 41 09 00 00 call 1f82 <explode_bomb>
1641: b8 6a 00 00 00 mov $0x6a,%eax
1646: eb 5b jmp 16a3 <phase_3+0x15f>
1648: b8 6c 00 00 00 mov $0x6c,%eax
164d: 81 7c 24 14 70 01 00 cmpl $0x170,0x14(%rsp)
1654: 00
1655: 74 4c je 16a3 <phase_3+0x15f>
1657: e8 26 09 00 00 call 1f82 <explode_bomb>
165c: b8 6c 00 00 00 mov $0x6c,%eax
1661: eb 40 jmp 16a3 <phase_3+0x15f>
1663: b8 6a 00 00 00 mov $0x6a,%eax
1668: 81 7c 24 14 c1 01 00 cmpl $0x1c1,0x14(%rsp)
166f: 00
1670: 74 31 je 16a3 <phase_3+0x15f>
1672: e8 0b 09 00 00 call 1f82 <explode_bomb>
1677: b8 6a 00 00 00 mov $0x6a,%eax
167c: eb 25 jmp 16a3 <phase_3+0x15f>
167e: b8 6c 00 00 00 mov $0x6c,%eax
1683: 81 7c 24 14 6d 01 00 cmpl $0x16d,0x14(%rsp)
168a: 00
168b: 74 16 je 16a3 <phase_3+0x15f>
168d: e8 f0 08 00 00 call 1f82 <explode_bomb>
1692: b8 6c 00 00 00 mov $0x6c,%eax
1697: eb 0a jmp 16a3 <phase_3+0x15f>
1699: e8 e4 08 00 00 call 1f82 <explode_bomb>
169e: b8 7a 00 00 00 mov $0x7a,%eax
16a3: 38 44 24 0f cmp %al,0xf(%rsp)
16a7: 75 15 jne 16be <phase_3+0x17a>
16a9: 48 8b 44 24 18 mov 0x18(%rsp),%rax
16ae: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
16b5: 00 00
16b7: 75 0c jne 16c5 <phase_3+0x181>
16b9: 48 83 c4 28 add $0x28,%rsp
16bd: c3 ret
16be: e8 bf 08 00 00 call 1f82 <explode_bomb>
16c3: eb e4 jmp 16a9 <phase_3+0x165>
16c5: e8 d6 f9 ff ff call 10a0 <__stack_chk_fail@plt>
00000000000016ca <func4_1>:
16ca: b8 00 00 00 00 mov $0x0,%eax
16cf: 85 ff test %edi,%edi
16d1: 7e 1c jle 16ef <func4_1+0x25>
16d3: 89 f8 mov %edi,%eax
16d5: 83 ff 01 cmp $0x1,%edi
16d8: 74 15 je 16ef <func4_1+0x25>
16da: 48 83 ec 08 sub $0x8,%rsp
16de: 83 ef 01 sub $0x1,%edi
16e1: e8 e4 ff ff ff call 16ca <func4_1>
16e6: 8d 44 00 01 lea 0x1(%rax,%rax,1),%eax
16ea: 48 83 c4 08 add $0x8,%rsp
16ee: c3 ret
16ef: c3 ret
00000000000016f0 <func4_2>:
16f0: 41 57 push %r15
16f2: 41 56 push %r14
16f4: 41 55 push %r13
16f6: 41 54 push %r12
16f8: 55 push %rbp
16f9: 53 push %rbx
16fa: 48 83 ec 08 sub $0x8,%rsp
16fe: 41 89 d4 mov %edx,%r12d
1701: 41 89 cd mov %ecx,%r13d
1704: 4c 89 cd mov %r9,%rbp
1707: 83 ff 01 cmp $0x1,%edi
170a: 74 2a je 1736 <func4_2+0x46>
170c: 89 f3 mov %esi,%ebx
170e: 45 89 c6 mov %r8d,%r14d
1711: 44 8d 7f ff lea -0x1(%rdi),%r15d
1715: 44 89 ff mov %r15d,%edi
1718: e8 ad ff ff ff call 16ca <func4_1>
171d: 39 d8 cmp %ebx,%eax
171f: 7d 2f jge 1750 <func4_2+0x60>
1721: 8d 50 01 lea 0x1(%rax),%edx
1724: 39 da cmp %ebx,%edx
1726: 75 43 jne 176b <func4_2+0x7b>
1728: 44 88 65 00 mov %r12b,0x0(%rbp)
172c: 44 88 6d 01 mov %r13b,0x1(%rbp)
1730: c6 45 02 00 movb $0x0,0x2(%rbp)
1734: eb 0b jmp 1741 <func4_2+0x51>
1736: 88 55 00 mov %dl,0x0(%rbp)
1739: 88 4d 01 mov %cl,0x1(%rbp)
173c: 41 c6 41 02 00 movb $0x0,0x2(%r9)
1741: 48 83 c4 08 add $0x8,%rsp
1745: 5b pop %rbx
1746: 5d pop %rbp
1747: 41 5c pop %r12
1749: 41 5d pop %r13
174b: 41 5e pop %r14
174d: 41 5f pop %r15
174f: c3 ret
1750: 41 0f be ce movsbl %r14b,%ecx
1754: 41 0f be d4 movsbl %r12b,%edx
1758: 49 89 e9 mov %rbp,%r9
175b: 45 0f be c5 movsbl %r13b,%r8d
175f: 89 de mov %ebx,%esi
1761: 44 89 ff mov %r15d,%edi
1764: e8 87 ff ff ff call 16f0 <func4_2>
1769: eb d6 jmp 1741 <func4_2+0x51>
176b: 41 0f be cd movsbl %r13b,%ecx
176f: 41 0f be d6 movsbl %r14b,%edx
1773: 29 c3 sub %eax,%ebx
1775: 8d 73 ff lea -0x1(%rbx),%esi
1778: 49 89 e9 mov %rbp,%r9
177b: 45 0f be c4 movsbl %r12b,%r8d
177f: 44 89 ff mov %r15d,%edi
1782: e8 69 ff ff ff call 16f0 <func4_2>
1787: eb b8 jmp 1741 <func4_2+0x51>
0000000000001789 <phase_4>:
1789: 53 push %rbx
178a: 48 83 ec 20 sub $0x20,%rsp
178e: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
1795: 00 00
1797: 48 89 44 24 18 mov %rax,0x18(%rsp)
179c: 31 c0 xor %eax,%eax
179e: 48 8d 4c 24 10 lea 0x10(%rsp),%rcx
17a3: 48 8d 54 24 0c lea 0xc(%rsp),%rdx
17a8: 48 8d 35 4f 1a 00 00 lea 0x1a4f(%rip),%rsi # 31fe <_IO_stdin_used+0x1fe>
17af: e8 9c f9 ff ff call 1150 <__isoc99_sscanf@plt>
17b4: 83 f8 02 cmp $0x2,%eax
17b7: 75 6d jne 1826 <phase_4+0x9d>
17b9: bf 05 00 00 00 mov $0x5,%edi
17be: e8 07 ff ff ff call 16ca <func4_1>
17c3: 39 44 24 0c cmp %eax,0xc(%rsp)
17c7: 75 64 jne 182d <phase_4+0xa4>
17c9: 48 8d 7c 24 10 lea 0x10(%rsp),%rdi
17ce: e8 2d 05 00 00 call 1d00 <string_length>
17d3: 83 f8 02 cmp $0x2,%eax
17d6: 75 5c jne 1834 <phase_4+0xab>
17d8: 48 8d 5c 24 14 lea 0x14(%rsp),%rbx
17dd: 49 89 d9 mov %rbx,%r9
17e0: 41 b8 42 00 00 00 mov $0x42,%r8d
17e6: b9 43 00 00 00 mov $0x43,%ecx
17eb: ba 41 00 00 00 mov $0x41,%edx
17f0: be 04 00 00 00 mov $0x4,%esi
17f5: bf 05 00 00 00 mov $0x5,%edi
17fa: e8 f1 fe ff ff call 16f0 <func4_2>
17ff: 48 8d 7c 24 10 lea 0x10(%rsp),%rdi
1804: 48 89 de mov %rbx,%rsi
1807: e8 11 05 00 00 call 1d1d <strings_not_equal>
180c: 85 c0 test %eax,%eax
180e: 75 2b jne 183b <phase_4+0xb2>
1810: 48 8b 44 24 18 mov 0x18(%rsp),%rax
1815: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
181c: 00 00
181e: 75 22 jne 1842 <phase_4+0xb9>
1820: 48 83 c4 20 add $0x20,%rsp
1824: 5b pop %rbx
1825: c3 ret
1826: e8 57 07 00 00 call 1f82 <explode_bomb>
182b: eb 8c jmp 17b9 <phase_4+0x30>
182d: e8 50 07 00 00 call 1f82 <explode_bomb>
1832: eb 95 jmp 17c9 <phase_4+0x40>
1834: e8 49 07 00 00 call 1f82 <explode_bomb>
1839: eb 9d jmp 17d8 <phase_4+0x4f>
183b: e8 42 07 00 00 call 1f82 <explode_bomb>
1840: eb ce jmp 1810 <phase_4+0x87>
1842: e8 59 f8 ff ff call 10a0 <__stack_chk_fail@plt>
0000000000001847 <phase_5>:
1847: 48 83 ec 18 sub $0x18,%rsp
184b: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
1852: 00 00
1854: 48 89 44 24 08 mov %rax,0x8(%rsp)
1859: 31 c0 xor %eax,%eax
185b: 48 8d 4c 24 04 lea 0x4(%rsp),%rcx
1860: 48 89 e2 mov %rsp,%rdx
1863: 48 8d 35 6d 1d 00 00 lea 0x1d6d(%rip),%rsi # 35d7 <array.0+0x397>
186a: e8 e1 f8 ff ff call 1150 <__isoc99_sscanf@plt>
186f: 83 f8 01 cmp $0x1,%eax
1872: 7e 06 jle 187a <phase_5+0x33>
1874: 83 3c 24 00 cmpl $0x0,(%rsp)
1878: 78 05 js 187f <phase_5+0x38>
187a: e8 03 07 00 00 call 1f82 <explode_bomb>
187f: 8b 04 24 mov (%rsp),%eax
1882: 83 e0 0f and $0xf,%eax
1885: 89 04 24 mov %eax,(%rsp)
1888: 83 f8 0f cmp $0xf,%eax
188b: 74 32 je 18bf <phase_5+0x78>
188d: b9 00 00 00 00 mov $0x0,%ecx
1892: ba 00 00 00 00 mov $0x0,%edx
1897: 48 8d 35 a2 19 00 00 lea 0x19a2(%rip),%rsi # 3240 <array.0>
189e: 83 c2 01 add $0x1,%edx
18a1: 48 98 cltq
18a3: 8b 04 86 mov (%rsi,%rax,4),%eax
18a6: 01 c1 add %eax,%ecx
18a8: 83 f8 0f cmp $0xf,%eax
18ab: 75 f1 jne 189e <phase_5+0x57>
18ad: c7 04 24 0f 00 00 00 movl $0xf,(%rsp)
18b4: 83 fa 0c cmp $0xc,%edx
18b7: 75 06 jne 18bf <phase_5+0x78>
18b9: 39 4c 24 04 cmp %ecx,0x4(%rsp)
18bd: 74 05 je 18c4 <phase_5+0x7d>
18bf: e8 be 06 00 00 call 1f82 <explode_bomb>
18c4: 48 8b 44 24 08 mov 0x8(%rsp),%rax
18c9: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
18d0: 00 00
18d2: 75 05 jne 18d9 <phase_5+0x92>
18d4: 48 83 c4 18 add $0x18,%rsp
18d8: c3 ret
18d9: e8 c2 f7 ff ff call 10a0 <__stack_chk_fail@plt>
00000000000018de <phase_6>:
18de: 41 56 push %r14
18e0: 41 55 push %r13
18e2: 41 54 push %r12
18e4: 55 push %rbp
18e5: 53 push %rbx
18e6: 48 83 ec 60 sub $0x60,%rsp
18ea: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
18f1: 00 00
18f3: 48 89 44 24 58 mov %rax,0x58(%rsp)
18f8: 31 c0 xor %eax,%eax
18fa: 49 89 e5 mov %rsp,%r13
18fd: 4c 89 ee mov %r13,%rsi
1900: e8 3d 07 00 00 call 2042 <read_six_numbers>
1905: 41 be 01 00 00 00 mov $0x1,%r14d
190b: 49 89 e4 mov %rsp,%r12
190e: eb 28 jmp 1938 <phase_6+0x5a>
1910: e8 6d 06 00 00 call 1f82 <explode_bomb>
1915: eb 30 jmp 1947 <phase_6+0x69>
1917: 48 83 c3 01 add $0x1,%rbx
191b: 83 fb 05 cmp $0x5,%ebx
191e: 7f 10 jg 1930 <phase_6+0x52>
1920: 41 8b 04 9c mov (%r12,%rbx,4),%eax
1924: 39 45 00 cmp %eax,0x0(%rbp)
1927: 75 ee jne 1917 <phase_6+0x39>
1929: e8 54 06 00 00 call 1f82 <explode_bomb>
192e: eb e7 jmp 1917 <phase_6+0x39>
1930: 49 83 c6 01 add $0x1,%r14
1934: 49 83 c5 04 add $0x4,%r13
1938: 4c 89 ed mov %r13,%rbp
193b: 41 8b 45 00 mov 0x0(%r13),%eax
193f: 83 e8 01 sub $0x1,%eax
1942: 83 f8 05 cmp $0x5,%eax
1945: 77 c9 ja 1910 <phase_6+0x32>
1947: 41 83 fe 05 cmp $0x5,%r14d
194b: 7f 05 jg 1952 <phase_6+0x74>
194d: 4c 89 f3 mov %r14,%rbx
1950: eb ce jmp 1920 <phase_6+0x42>
1952: be 00 00 00 00 mov $0x0,%esi
1957: 8b 0c b4 mov (%rsp,%rsi,4),%ecx
195a: b8 01 00 00 00 mov $0x1,%eax
195f: 48 8d 15 ba 48 00 00 lea 0x48ba(%rip),%rdx # 6220 <node1>
1966: 83 f9 01 cmp $0x1,%ecx
1969: 7e 0b jle 1976 <phase_6+0x98>
196b: 48 8b 52 08 mov 0x8(%rdx),%rdx
196f: 83 c0 01 add $0x1,%eax
1972: 39 c8 cmp %ecx,%eax
1974: 75 f5 jne 196b <phase_6+0x8d>
1976: 48 89 54 f4 20 mov %rdx,0x20(%rsp,%rsi,8)
197b: 48 83 c6 01 add $0x1,%rsi
197f: 48 83 fe 06 cmp $0x6,%rsi
1983: 75 d2 jne 1957 <phase_6+0x79>
1985: 48 8b 5c 24 20 mov 0x20(%rsp),%rbx
198a: 48 8b 44 24 28 mov 0x28(%rsp),%rax
198f: 48 89 43 08 mov %rax,0x8(%rbx)
1993: 48 8b 54 24 30 mov 0x30(%rsp),%rdx
1998: 48 89 50 08 mov %rdx,0x8(%rax)
199c: 48 8b 44 24 38 mov 0x38(%rsp),%rax
19a1: 48 89 42 08 mov %rax,0x8(%rdx)
19a5: 48 8b 54 24 40 mov 0x40(%rsp),%rdx
19aa: 48 89 50 08 mov %rdx,0x8(%rax)
19ae: 48 8b 44 24 48 mov 0x48(%rsp),%rax
19b3: 48 89 42 08 mov %rax,0x8(%rdx)
19b7: 48 c7 40 08 00 00 00 movq $0x0,0x8(%rax)
19be: 00
19bf: bd 05 00 00 00 mov $0x5,%ebp
19c4: eb 09 jmp 19cf <phase_6+0xf1>
19c6: 48 8b 5b 08 mov 0x8(%rbx),%rbx
19ca: 83 ed 01 sub $0x1,%ebp
19cd: 74 11 je 19e0 <phase_6+0x102>
19cf: 48 8b 43 08 mov 0x8(%rbx),%rax
19d3: 8b 00 mov (%rax),%eax
19d5: 39 03 cmp %eax,(%rbx)
19d7: 7d ed jge 19c6 <phase_6+0xe8>
19d9: e8 a4 05 00 00 call 1f82 <explode_bomb>
19de: eb e6 jmp 19c6 <phase_6+0xe8>
19e0: 48 8b 44 24 58 mov 0x58(%rsp),%rax
19e5: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
19ec: 00 00
19ee: 75 0d jne 19fd <phase_6+0x11f>
19f0: 48 83 c4 60 add $0x60,%rsp
19f4: 5b pop %rbx
19f5: 5d pop %rbp
19f6: 41 5c pop %r12
19f8: 41 5d pop %r13
19fa: 41 5e pop %r14
19fc: c3 ret
19fd: e8 9e f6 ff ff call 10a0 <__stack_chk_fail@plt>
0000000000001a02 <func7>:
1a02: 48 81 ec 98 00 00 00 sub $0x98,%rsp
1a09: 89 f0 mov %esi,%eax
1a0b: 41 89 c9 mov %ecx,%r9d
1a0e: 64 48 8b 0c 25 28 00 mov %fs:0x28,%rcx
1a15: 00 00
1a17: 48 89 8c 24 88 00 00 mov %rcx,0x88(%rsp)
1a1e: 00
1a1f: 31 c9 xor %ecx,%ecx
1a21: c7 04 24 fe ff ff ff movl $0xfffffffe,(%rsp)
1a28: c7 44 24 04 ff ff ff movl $0xffffffff,0x4(%rsp)
1a2f: ff
1a30: c7 44 24 08 01 00 00 movl $0x1,0x8(%rsp)
1a37: 00
1a38: c7 44 24 0c 02 00 00 movl $0x2,0xc(%rsp)
1a3f: 00
1a40: c7 44 24 10 02 00 00 movl $0x2,0x10(%rsp)
1a47: 00
1a48: c7 44 24 14 01 00 00 movl $0x1,0x14(%rsp)
1a4f: 00
1a50: c7 44 24 18 ff ff ff movl $0xffffffff,0x18(%rsp)
1a57: ff
1a58: c7 44 24 1c fe ff ff movl $0xfffffffe,0x1c(%rsp)
1a5f: ff
1a60: c7 44 24 20 01 00 00 movl $0x1,0x20(%rsp)
1a67: 00
1a68: c7 44 24 24 02 00 00 movl $0x2,0x24(%rsp)
1a6f: 00
1a70: c7 44 24 28 02 00 00 movl $0x2,0x28(%rsp)
1a77: 00
1a78: c7 44 24 2c 01 00 00 movl $0x1,0x2c(%rsp)
1a7f: 00
1a80: c7 44 24 30 ff ff ff movl $0xffffffff,0x30(%rsp)
1a87: ff
1a88: c7 44 24 34 fe ff ff movl $0xfffffffe,0x34(%rsp)
1a8f: ff
1a90: c7 44 24 38 fe ff ff movl $0xfffffffe,0x38(%rsp)
1a97: ff
1a98: c7 44 24 3c ff ff ff movl $0xffffffff,0x3c(%rsp)
1a9f: ff
1aa0: c7 44 24 40 ff ff ff movl $0xffffffff,0x40(%rsp)
1aa7: ff
1aa8: c7 44 24 44 00 00 00 movl $0x0,0x44(%rsp)
1aaf: 00
1ab0: c7 44 24 48 00 00 00 movl $0x0,0x48(%rsp)
1ab7: 00
1ab8: c7 44 24 4c 01 00 00 movl $0x1,0x4c(%rsp)
1abf: 00
1ac0: c7 44 24 50 01 00 00 movl $0x1,0x50(%rsp)
1ac7: 00
1ac8: c7 44 24 54 00 00 00 movl $0x0,0x54(%rsp)
1acf: 00
1ad0: c7 44 24 58 00 00 00 movl $0x0,0x58(%rsp)
1ad7: 00
1ad8: c7 44 24 5c ff ff ff movl $0xffffffff,0x5c(%rsp)
1adf: ff
1ae0: c7 44 24 60 00 00 00 movl $0x0,0x60(%rsp)
1ae7: 00
1ae8: c7 44 24 64 01 00 00 movl $0x1,0x64(%rsp)
1aef: 00
1af0: c7 44 24 68 01 00 00 movl $0x1,0x68(%rsp)
1af7: 00
1af8: c7 44 24 6c 00 00 00 movl $0x0,0x6c(%rsp)
1aff: 00
1b00: c7 44 24 70 00 00 00 movl $0x0,0x70(%rsp)
1b07: 00
1b08: c7 44 24 74 ff ff ff movl $0xffffffff,0x74(%rsp)
1b0f: ff
1b10: c7 44 24 78 ff ff ff movl $0xffffffff,0x78(%rsp)
1b17: ff
1b18: c7 44 24 7c 00 00 00 movl $0x0,0x7c(%rsp)
1b1f: 00
1b20: 83 fe 04 cmp $0x4,%esi
1b23: 75 6b jne 1b90 <func7+0x18e>
1b25: 83 fa 07 cmp $0x7,%edx
1b28: 75 66 jne 1b90 <func7+0x18e>
1b2a: 49 63 c9 movslq %r9d,%rcx
1b2d: 0f b6 34 0f movzbl (%rdi,%rcx,1),%esi
1b31: b9 01 00 00 00 mov $0x1,%ecx
1b36: 40 84 f6 test %sil,%sil
1b39: 74 34 je 1b6f <func7+0x16d>
1b3b: b9 00 00 00 00 mov $0x0,%ecx
1b40: 41 83 f9 13 cmp $0x13,%r9d
1b44: 7f 29 jg 1b6f <func7+0x16d>
1b46: 41 89 f2 mov %esi,%r10d
1b49: 41 83 e2 07 and $0x7,%r10d
1b4d: 83 e6 07 and $0x7,%esi
1b50: 41 89 c0 mov %eax,%r8d
1b53: 44 03 04 b4 add (%rsp,%rsi,4),%r8d
1b57: 41 89 d3 mov %edx,%r11d
1b5a: 44 03 5c b4 20 add 0x20(%rsp,%rsi,4),%r11d
1b5f: 44 89 c6 mov %r8d,%esi
1b62: 44 09 de or %r11d,%esi
1b65: b9 00 00 00 00 mov $0x0,%ecx
1b6a: 83 fe 07 cmp $0x7,%esi
1b6d: 76 3f jbe 1bae <func7+0x1ac>
1b6f: 48 8b 84 24 88 00 00 mov 0x88(%rsp),%rax
1b76: 00
1b77: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
1b7e: 00 00
1b80: 0f 85 9e 00 00 00 jne 1c24 <func7+0x222>
1b86: 89 c8 mov %ecx,%eax
1b88: 48 81 c4 98 00 00 00 add $0x98,%rsp
1b8f: c3 ret
1b90: b9 00 00 00 00 mov $0x0,%ecx
1b95: 41 83 f9 13 cmp $0x13,%r9d
1b99: 7f d4 jg 1b6f <func7+0x16d>
1b9b: 49 63 c9 movslq %r9d,%rcx
1b9e: 0f b6 34 0f movzbl (%rdi,%rcx,1),%esi
1ba2: b9 00 00 00 00 mov $0x0,%ecx
1ba7: 40 84 f6 test %sil,%sil
1baa: 74 c3 je 1b6f <func7+0x16d>
1bac: eb 98 jmp 1b46 <func7+0x144>
1bae: 4d 63 d2 movslq %r10d,%r10
1bb1: 42 03 44 94 40 add 0x40(%rsp,%r10,4),%eax
1bb6: 42 03 54 94 60 add 0x60(%rsp,%r10,4),%edx
1bbb: 48 8d 35 ee 45 00 00 lea 0x45ee(%rip),%rsi # 61b0 <row0>
1bc2: 85 c0 test %eax,%eax
1bc4: 7e 0b jle 1bd1 <func7+0x1cf>
1bc6: 48 8b 76 08 mov 0x8(%rsi),%rsi
1bca: 83 c1 01 add $0x1,%ecx
1bcd: 39 c8 cmp %ecx,%eax
1bcf: 75 f5 jne 1bc6 <func7+0x1c4>
1bd1: 48 63 d2 movslq %edx,%rdx
1bd4: b9 00 00 00 00 mov $0x0,%ecx
1bd9: 80 3c 16 01 cmpb $0x1,(%rsi,%rdx,1)
1bdd: 74 90 je 1b6f <func7+0x16d>
1bdf: 48 8d 15 ca 45 00 00 lea 0x45ca(%rip),%rdx # 61b0 <row0>
1be6: 45 85 c0 test %r8d,%r8d
1be9: 7e 11 jle 1bfc <func7+0x1fa>
1beb: b8 00 00 00 00 mov $0x0,%eax
1bf0: 48 8b 52 08 mov 0x8(%rdx),%rdx
1bf4: 83 c0 01 add $0x1,%eax
1bf7: 41 39 c0 cmp %eax,%r8d
1bfa: 75 f4 jne 1bf0 <func7+0x1ee>
1bfc: 49 63 c3 movslq %r11d,%rax
1bff: b9 00 00 00 00 mov $0x0,%ecx
1c04: 80 3c 02 01 cmpb $0x1,(%rdx,%rax,1)
1c08: 0f 84 61 ff ff ff je 1b6f <func7+0x16d>
1c0e: 41 8d 49 01 lea 0x1(%r9),%ecx
1c12: 44 89 da mov %r11d,%edx
1c15: 44 89 c6 mov %r8d,%esi
1c18: e8 e5 fd ff ff call 1a02 <func7>
1c1d: 89 c1 mov %eax,%ecx
1c1f: e9 4b ff ff ff jmp 1b6f <func7+0x16d>
1c24: e8 77 f4 ff ff call 10a0 <__stack_chk_fail@plt>
0000000000001c29 <secret_phase>:
1c29: 53 push %rbx
1c2a: 48 8d 3d d4 15 00 00 lea 0x15d4(%rip),%rdi # 3205 <_IO_stdin_used+0x205>
1c31: e8 3a f4 ff ff call 1070 <puts@plt>
1c36: e8 48 04 00 00 call 2083 <read_line>
1c3b: 48 89 c3 mov %rax,%rbx
1c3e: 48 89 c7 mov %rax,%rdi
1c41: e8 ba 00 00 00 call 1d00 <string_length>
1c46: 83 f8 14 cmp $0x14,%eax
1c49: 7f 2e jg 1c79 <secret_phase+0x50>
1c4b: b9 00 00 00 00 mov $0x0,%ecx
1c50: ba 00 00 00 00 mov $0x0,%edx
1c55: be 00 00 00 00 mov $0x0,%esi
1c5a: 48 89 df mov %rbx,%rdi
1c5d: e8 a0 fd ff ff call 1a02 <func7>
1c62: 85 c0 test %eax,%eax
1c64: 74 1a je 1c80 <secret_phase+0x57>
1c66: 48 8d 3d 53 15 00 00 lea 0x1553(%rip),%rdi # 31c0 <_IO_stdin_used+0x1c0>
1c6d: e8 fe f3 ff ff call 1070 <puts@plt>
1c72: e8 46 05 00 00 call 21bd <phase_defused>
1c77: 5b pop %rbx
1c78: c3 ret
1c79: e8 04 03 00 00 call 1f82 <explode_bomb>
1c7e: eb cb jmp 1c4b <secret_phase+0x22>
1c80: e8 fd 02 00 00 call 1f82 <explode_bomb>
1c85: eb df jmp 1c66 <secret_phase+0x3d>
0000000000001c87 <sig_handler>:
1c87: 48 83 ec 08 sub $0x8,%rsp
1c8b: 48 8d 3d ee 15 00 00 lea 0x15ee(%rip),%rdi # 3280 <array.0+0x40>
1c92: e8 d9 f3 ff ff call 1070 <puts@plt>
1c97: bf 03 00 00 00 mov $0x3,%edi
1c9c: e8 0f f5 ff ff call 11b0 <sleep@plt>
1ca1: 48 8d 3d 51 17 00 00 lea 0x1751(%rip),%rdi # 33f9 <array.0+0x1b9>
1ca8: b8 00 00 00 00 mov $0x0,%eax
1cad: e8 fe f3 ff ff call 10b0 <printf@plt>
1cb2: 48 8b 3d c7 49 00 00 mov 0x49c7(%rip),%rdi # 6680 <stdout@GLIBC_2.2.5>
1cb9: e8 82 f4 ff ff call 1140 <fflush@plt>
1cbe: bf 01 00 00 00 mov $0x1,%edi
1cc3: e8 e8 f4 ff ff call 11b0 <sleep@plt>
1cc8: 48 8d 3d 32 17 00 00 lea 0x1732(%rip),%rdi # 3401 <array.0+0x1c1>
1ccf: e8 9c f3 ff ff call 1070 <puts@plt>
1cd4: bf 10 00 00 00 mov $0x10,%edi
1cd9: e8 b2 f4 ff ff call 1190 <exit@plt>
0000000000001cde <invalid_phase>:
1cde: 48 83 ec 08 sub $0x8,%rsp
1ce2: 48 89 fe mov %rdi,%rsi
1ce5: 48 8d 3d 1f 17 00 00 lea 0x171f(%rip),%rdi # 340b <array.0+0x1cb>
1cec: b8 00 00 00 00 mov $0x0,%eax
1cf1: e8 ba f3 ff ff call 10b0 <printf@plt>
1cf6: bf 08 00 00 00 mov $0x8,%edi
1cfb: e8 90 f4 ff ff call 1190 <exit@plt>
0000000000001d00 <string_length>:
1d00: 80 3f 00 cmpb $0x0,(%rdi)
1d03: 74 12 je 1d17 <string_length+0x17>
1d05: b8 00 00 00 00 mov $0x0,%eax
1d0a: 48 83 c7 01 add $0x1,%rdi
1d0e: 83 c0 01 add $0x1,%eax
1d11: 80 3f 00 cmpb $0x0,(%rdi)
1d14: 75 f4 jne 1d0a <string_length+0xa>
1d16: c3 ret
1d17: b8 00 00 00 00 mov $0x0,%eax
1d1c: c3 ret
0000000000001d1d <strings_not_equal>:
1d1d: 41 54 push %r12
1d1f: 55 push %rbp
1d20: 53 push %rbx
1d21: 48 89 fb mov %rdi,%rbx
1d24: 48 89 f5 mov %rsi,%rbp
1d27: e8 d4 ff ff ff call 1d00 <string_length>
1d2c: 41 89 c4 mov %eax,%r12d
1d2f: 48 89 ef mov %rbp,%rdi
1d32: e8 c9 ff ff ff call 1d00 <string_length>
1d37: 89 c2 mov %eax,%edx
1d39: b8 01 00 00 00 mov $0x1,%eax
1d3e: 41 39 d4 cmp %edx,%r12d
1d41: 75 31 jne 1d74 <strings_not_equal+0x57>
1d43: 0f b6 13 movzbl (%rbx),%edx
1d46: 84 d2 test %dl,%dl
1d48: 74 1e je 1d68 <strings_not_equal+0x4b>
1d4a: b8 00 00 00 00 mov $0x0,%eax
1d4f: 38 54 05 00 cmp %dl,0x0(%rbp,%rax,1)
1d53: 75 1a jne 1d6f <strings_not_equal+0x52>
1d55: 48 83 c0 01 add $0x1,%rax
1d59: 0f b6 14 03 movzbl (%rbx,%rax,1),%edx
1d5d: 84 d2 test %dl,%dl
1d5f: 75 ee jne 1d4f <strings_not_equal+0x32>
1d61: b8 00 00 00 00 mov $0x0,%eax
1d66: eb 0c jmp 1d74 <strings_not_equal+0x57>
1d68: b8 00 00 00 00 mov $0x0,%eax
1d6d: eb 05 jmp 1d74 <strings_not_equal+0x57>
1d6f: b8 01 00 00 00 mov $0x1,%eax
1d74: 5b pop %rbx
1d75: 5d pop %rbp
1d76: 41 5c pop %r12
1d78: c3 ret
0000000000001d79 <initialize_bomb>:
1d79: 55 push %rbp
1d7a: 53 push %rbx
1d7b: 48 83 ec 58 sub $0x58,%rsp
1d7f: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
1d86: 00 00
1d88: 48 89 44 24 48 mov %rax,0x48(%rsp)
1d8d: 31 c0 xor %eax,%eax
1d8f: 48 8d 35 f1 fe ff ff lea -0x10f(%rip),%rsi # 1c87 <sig_handler>
1d96: bf 02 00 00 00 mov $0x2,%edi
1d9b: e8 70 f3 ff ff call 1110 <signal@plt>
1da0: 48 8b 3d d9 44 00 00 mov 0x44d9(%rip),%rdi # 6280 <host_table>
1da7: 48 85 ff test %rdi,%rdi
1daa: 74 23 je 1dcf <initialize_bomb+0x56>
1dac: 48 8d 1d d5 44 00 00 lea 0x44d5(%rip),%rbx # 6288 <host_table+0x8>
1db3: 48 89 e5 mov %rsp,%rbp
1db6: 48 89 ee mov %rbp,%rsi
1db9: e8 82 f2 ff ff call 1040 <strcasecmp@plt>
1dbe: 85 c0 test %eax,%eax
1dc0: 74 0d je 1dcf <initialize_bomb+0x56>
1dc2: 48 83 c3 08 add $0x8,%rbx