NJUPT-CSAPP/bomblab/bomb126/linker.txt
2024-06-12 07:36:23 +08:00

2001 lines
100 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

bomb: file format elf64-x86-64
Disassembly of section .init:
0000000000401000 <_init>:
401000: f3 0f 1e fa endbr64
401004: 48 83 ec 08 sub $0x8,%rsp
401008: 48 8b 05 e9 3f 00 00 mov 0x3fe9(%rip),%rax # 404ff8 <__gmon_start__@Base>
40100f: 48 85 c0 test %rax,%rax // if %rax == 0 exit(0)
401012: 74 02 je 401016 <_init+0x16>
401014: ff d0 call *%rax # 405820
401016: 48 83 c4 08 add $0x8,%rsp
40101a: c3 ret
Disassembly of section .plt:
0000000000401020 <.plt>:
401020: ff 35 e2 3f 00 00 push 0x3fe2(%rip) # 405008 <_GLOBAL_OFFSET_TABLE_+0x8>
401026: f2 ff 25 e3 3f 00 00 bnd jmp *0x3fe3(%rip) # 405010 <_GLOBAL_OFFSET_TABLE_+0x10>
40102d: 0f 1f 00 nopl (%rax)
401030: f3 0f 1e fa endbr64
401034: 68 00 00 00 00 push $0x0
401039: f2 e9 e1 ff ff ff bnd jmp 401020 <_init+0x20>
40103f: 90 nop
401040: f3 0f 1e fa endbr64
401044: 68 01 00 00 00 push $0x1
401049: f2 e9 d1 ff ff ff bnd jmp 401020 <_init+0x20>
40104f: 90 nop
401050: f3 0f 1e fa endbr64
401054: 68 02 00 00 00 push $0x2
401059: f2 e9 c1 ff ff ff bnd jmp 401020 <_init+0x20>
40105f: 90 nop
401060: f3 0f 1e fa endbr64
401064: 68 03 00 00 00 push $0x3
401069: f2 e9 b1 ff ff ff bnd jmp 401020 <_init+0x20>
40106f: 90 nop
401070: f3 0f 1e fa endbr64
401074: 68 04 00 00 00 push $0x4
401079: f2 e9 a1 ff ff ff bnd jmp 401020 <_init+0x20>
40107f: 90 nop
401080: f3 0f 1e fa endbr64
401084: 68 05 00 00 00 push $0x5
401089: f2 e9 91 ff ff ff bnd jmp 401020 <_init+0x20>
40108f: 90 nop
401090: f3 0f 1e fa endbr64
401094: 68 06 00 00 00 push $0x6
401099: f2 e9 81 ff ff ff bnd jmp 401020 <_init+0x20>
40109f: 90 nop
4010a0: f3 0f 1e fa endbr64
4010a4: 68 07 00 00 00 push $0x7
4010a9: f2 e9 71 ff ff ff bnd jmp 401020 <_init+0x20>
4010af: 90 nop
4010b0: f3 0f 1e fa endbr64
4010b4: 68 08 00 00 00 push $0x8
4010b9: f2 e9 61 ff ff ff bnd jmp 401020 <_init+0x20>
4010bf: 90 nop
4010c0: f3 0f 1e fa endbr64
4010c4: 68 09 00 00 00 push $0x9
4010c9: f2 e9 51 ff ff ff bnd jmp 401020 <_init+0x20>
4010cf: 90 nop
4010d0: f3 0f 1e fa endbr64
4010d4: 68 0a 00 00 00 push $0xa
4010d9: f2 e9 41 ff ff ff bnd jmp 401020 <_init+0x20>
4010df: 90 nop
4010e0: f3 0f 1e fa endbr64
4010e4: 68 0b 00 00 00 push $0xb
4010e9: f2 e9 31 ff ff ff bnd jmp 401020 <_init+0x20>
4010ef: 90 nop
4010f0: f3 0f 1e fa endbr64
4010f4: 68 0c 00 00 00 push $0xc
4010f9: f2 e9 21 ff ff ff bnd jmp 401020 <_init+0x20>
4010ff: 90 nop
401100: f3 0f 1e fa endbr64
401104: 68 0d 00 00 00 push $0xd
401109: f2 e9 11 ff ff ff bnd jmp 401020 <_init+0x20>
40110f: 90 nop
401110: f3 0f 1e fa endbr64
401114: 68 0e 00 00 00 push $0xe
401119: f2 e9 01 ff ff ff bnd jmp 401020 <_init+0x20>
40111f: 90 nop
401120: f3 0f 1e fa endbr64
401124: 68 0f 00 00 00 push $0xf
401129: f2 e9 f1 fe ff ff bnd jmp 401020 <_init+0x20>
40112f: 90 nop
401130: f3 0f 1e fa endbr64
401134: 68 10 00 00 00 push $0x10
401139: f2 e9 e1 fe ff ff bnd jmp 401020 <_init+0x20>
40113f: 90 nop
401140: f3 0f 1e fa endbr64
401144: 68 11 00 00 00 push $0x11
401149: f2 e9 d1 fe ff ff bnd jmp 401020 <_init+0x20>
40114f: 90 nop
401150: f3 0f 1e fa endbr64
401154: 68 12 00 00 00 push $0x12
401159: f2 e9 c1 fe ff ff bnd jmp 401020 <_init+0x20>
40115f: 90 nop
401160: f3 0f 1e fa endbr64
401164: 68 13 00 00 00 push $0x13
401169: f2 e9 b1 fe ff ff bnd jmp 401020 <_init+0x20>
40116f: 90 nop
401170: f3 0f 1e fa endbr64
401174: 68 14 00 00 00 push $0x14
401179: f2 e9 a1 fe ff ff bnd jmp 401020 <_init+0x20>
40117f: 90 nop
401180: f3 0f 1e fa endbr64
401184: 68 15 00 00 00 push $0x15
401189: f2 e9 91 fe ff ff bnd jmp 401020 <_init+0x20>
40118f: 90 nop
401190: f3 0f 1e fa endbr64
401194: 68 16 00 00 00 push $0x16
401199: f2 e9 81 fe ff ff bnd jmp 401020 <_init+0x20>
40119f: 90 nop
4011a0: f3 0f 1e fa endbr64
4011a4: 68 17 00 00 00 push $0x17
4011a9: f2 e9 71 fe ff ff bnd jmp 401020 <_init+0x20>
4011af: 90 nop
4011b0: f3 0f 1e fa endbr64
4011b4: 68 18 00 00 00 push $0x18
4011b9: f2 e9 61 fe ff ff bnd jmp 401020 <_init+0x20>
4011bf: 90 nop
4011c0: f3 0f 1e fa endbr64
4011c4: 68 19 00 00 00 push $0x19
4011c9: f2 e9 51 fe ff ff bnd jmp 401020 <_init+0x20>
4011cf: 90 nop
4011d0: f3 0f 1e fa endbr64
4011d4: 68 1a 00 00 00 push $0x1a
4011d9: f2 e9 41 fe ff ff bnd jmp 401020 <_init+0x20>
4011df: 90 nop
4011e0: f3 0f 1e fa endbr64
4011e4: 68 1b 00 00 00 push $0x1b
4011e9: f2 e9 31 fe ff ff bnd jmp 401020 <_init+0x20>
4011ef: 90 nop
4011f0: f3 0f 1e fa endbr64
4011f4: 68 1c 00 00 00 push $0x1c
4011f9: f2 e9 21 fe ff ff bnd jmp 401020 <_init+0x20>
4011ff: 90 nop
Disassembly of section .plt.sec:
0000000000401200 <getenv@plt>:
401200: f3 0f 1e fa endbr64
401204: f2 ff 25 0d 3e 00 00 bnd jmp *0x3e0d(%rip) # 405018 <getenv@GLIBC_2.2.5>
40120b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401210 <strcasecmp@plt>:
401210: f3 0f 1e fa endbr64
401214: f2 ff 25 05 3e 00 00 bnd jmp *0x3e05(%rip) # 405020 <strcasecmp@GLIBC_2.2.5>
40121b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401220 <__errno_location@plt>:
401220: f3 0f 1e fa endbr64
401224: f2 ff 25 fd 3d 00 00 bnd jmp *0x3dfd(%rip) # 405028 <__errno_location@GLIBC_2.2.5>
40122b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401230 <strcpy@plt>:
401230: f3 0f 1e fa endbr64
401234: f2 ff 25 f5 3d 00 00 bnd jmp *0x3df5(%rip) # 405030 <strcpy@GLIBC_2.2.5>
40123b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401240 <puts@plt>:
401240: f3 0f 1e fa endbr64
401244: f2 ff 25 ed 3d 00 00 bnd jmp *0x3ded(%rip) # 405038 <puts@GLIBC_2.2.5>
40124b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401250 <write@plt>:
401250: f3 0f 1e fa endbr64
401254: f2 ff 25 e5 3d 00 00 bnd jmp *0x3de5(%rip) # 405040 <write@GLIBC_2.2.5>
40125b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401260 <strlen@plt>:
401260: f3 0f 1e fa endbr64
401264: f2 ff 25 dd 3d 00 00 bnd jmp *0x3ddd(%rip) # 405048 <strlen@GLIBC_2.2.5>
40126b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401270 <__stack_chk_fail@plt>:
401270: f3 0f 1e fa endbr64
401274: f2 ff 25 d5 3d 00 00 bnd jmp *0x3dd5(%rip) # 405050 <__stack_chk_fail@GLIBC_2.4>
40127b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401280 <alarm@plt>:
401280: f3 0f 1e fa endbr64
401284: f2 ff 25 cd 3d 00 00 bnd jmp *0x3dcd(%rip) # 405058 <alarm@GLIBC_2.2.5>
40128b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401290 <close@plt>:
401290: f3 0f 1e fa endbr64
401294: f2 ff 25 c5 3d 00 00 bnd jmp *0x3dc5(%rip) # 405060 <close@GLIBC_2.2.5>
40129b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
00000000004012a0 <read@plt>:
4012a0: f3 0f 1e fa endbr64
4012a4: f2 ff 25 bd 3d 00 00 bnd jmp *0x3dbd(%rip) # 405068 <read@GLIBC_2.2.5>
4012ab: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
00000000004012b0 <fgets@plt>:
4012b0: f3 0f 1e fa endbr64
4012b4: f2 ff 25 b5 3d 00 00 bnd jmp *0x3db5(%rip) # 405070 <fgets@GLIBC_2.2.5>
4012bb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
00000000004012c0 <strcmp@plt>:
4012c0: f3 0f 1e fa endbr64
4012c4: f2 ff 25 ad 3d 00 00 bnd jmp *0x3dad(%rip) # 405078 <strcmp@GLIBC_2.2.5>
4012cb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
00000000004012d0 <signal@plt>:
4012d0: f3 0f 1e fa endbr64
4012d4: f2 ff 25 a5 3d 00 00 bnd jmp *0x3da5(%rip) # 405080 <signal@GLIBC_2.2.5>
4012db: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
00000000004012e0 <gethostbyname@plt>:
4012e0: f3 0f 1e fa endbr64
4012e4: f2 ff 25 9d 3d 00 00 bnd jmp *0x3d9d(%rip) # 405088 <gethostbyname@GLIBC_2.2.5>
4012eb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
00000000004012f0 <__memmove_chk@plt>:
4012f0: f3 0f 1e fa endbr64
4012f4: f2 ff 25 95 3d 00 00 bnd jmp *0x3d95(%rip) # 405090 <__memmove_chk@GLIBC_2.3.4>
4012fb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401300 <strtol@plt>:
401300: f3 0f 1e fa endbr64
401304: f2 ff 25 8d 3d 00 00 bnd jmp *0x3d8d(%rip) # 405098 <strtol@GLIBC_2.2.5>
40130b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401310 <fflush@plt>:
401310: f3 0f 1e fa endbr64
401314: f2 ff 25 85 3d 00 00 bnd jmp *0x3d85(%rip) # 4050a0 <fflush@GLIBC_2.2.5>
40131b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401320 <__isoc99_sscanf@plt>:
401320: f3 0f 1e fa endbr64
401324: f2 ff 25 7d 3d 00 00 bnd jmp *0x3d7d(%rip) # 4050a8 <__isoc99_sscanf@GLIBC_2.7>
40132b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401330 <__printf_chk@plt>:
401330: f3 0f 1e fa endbr64
401334: f2 ff 25 75 3d 00 00 bnd jmp *0x3d75(%rip) # 4050b0 <__printf_chk@GLIBC_2.3.4>
40133b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401340 <fopen@plt>:
401340: f3 0f 1e fa endbr64
401344: f2 ff 25 6d 3d 00 00 bnd jmp *0x3d6d(%rip) # 4050b8 <fopen@GLIBC_2.2.5>
40134b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401350 <gethostname@plt>:
401350: f3 0f 1e fa endbr64
401354: f2 ff 25 65 3d 00 00 bnd jmp *0x3d65(%rip) # 4050c0 <gethostname@GLIBC_2.2.5>
40135b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401360 <exit@plt>:
401360: f3 0f 1e fa endbr64
401364: f2 ff 25 5d 3d 00 00 bnd jmp *0x3d5d(%rip) # 4050c8 <exit@GLIBC_2.2.5>
40136b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401370 <connect@plt>:
401370: f3 0f 1e fa endbr64
401374: f2 ff 25 55 3d 00 00 bnd jmp *0x3d55(%rip) # 4050d0 <connect@GLIBC_2.2.5>
40137b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401380 <__fprintf_chk@plt>:
401380: f3 0f 1e fa endbr64
401384: f2 ff 25 4d 3d 00 00 bnd jmp *0x3d4d(%rip) # 4050d8 <__fprintf_chk@GLIBC_2.3.4>
40138b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000401390 <sleep@plt>:
401390: f3 0f 1e fa endbr64
401394: f2 ff 25 45 3d 00 00 bnd jmp *0x3d45(%rip) # 4050e0 <sleep@GLIBC_2.2.5>
40139b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
00000000004013a0 <__ctype_b_loc@plt>:
4013a0: f3 0f 1e fa endbr64
4013a4: f2 ff 25 3d 3d 00 00 bnd jmp *0x3d3d(%rip) # 4050e8 <__ctype_b_loc@GLIBC_2.3>
4013ab: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
00000000004013b0 <__sprintf_chk@plt>:
4013b0: f3 0f 1e fa endbr64
4013b4: f2 ff 25 35 3d 00 00 bnd jmp *0x3d35(%rip) # 4050f0 <__sprintf_chk@GLIBC_2.3.4>
4013bb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
00000000004013c0 <socket@plt>:
4013c0: f3 0f 1e fa endbr64
4013c4: f2 ff 25 2d 3d 00 00 bnd jmp *0x3d2d(%rip) # 4050f8 <socket@GLIBC_2.2.5>
4013cb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
Disassembly of section .text:
00000000004013d0 <_start>:
4013d0: f3 0f 1e fa endbr64
4013d4: 31 ed xor %ebp,%ebp
4013d6: 49 89 d1 mov %rdx,%r9
4013d9: 5e pop %rsi
4013da: 48 89 e2 mov %rsp,%rdx
4013dd: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
4013e1: 50 push %rax
4013e2: 54 push %rsp
4013e3: 45 31 c0 xor %r8d,%r8d
4013e6: 31 c9 xor %ecx,%ecx
4013e8: 48 c7 c7 b6 14 40 00 mov $0x4014b6,%rdi
4013ef: ff 15 fb 3b 00 00 call *0x3bfb(%rip) # 404ff0 <__libc_start_main@GLIBC_2.34>
4013f5: f4 hlt
4013f6: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1)
4013fd: 00 00 00
0000000000401400 <_dl_relocate_static_pie>:
401400: f3 0f 1e fa endbr64
401404: c3 ret
401405: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1)
40140c: 00 00 00
40140f: 90 nop
0000000000401410 <deregister_tm_clones>:
401410: b8 80 57 40 00 mov $0x405780,%eax
401415: 48 3d 80 57 40 00 cmp $0x405780,%rax
40141b: 74 13 je 401430 <deregister_tm_clones+0x20>
40141d: b8 00 00 00 00 mov $0x0,%eax
401422: 48 85 c0 test %rax,%rax
401425: 74 09 je 401430 <deregister_tm_clones+0x20>
401427: bf 80 57 40 00 mov $0x405780,%edi
40142c: ff e0 jmp *%rax
40142e: 66 90 xchg %ax,%ax
401430: c3 ret
401431: 66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1)
401438: 00 00 00 00
40143c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000401440 <register_tm_clones>:
401440: be 80 57 40 00 mov $0x405780,%esi
401445: 48 81 ee 80 57 40 00 sub $0x405780,%rsi
40144c: 48 89 f0 mov %rsi,%rax
40144f: 48 c1 ee 3f shr $0x3f,%rsi
401453: 48 c1 f8 03 sar $0x3,%rax
401457: 48 01 c6 add %rax,%rsi
40145a: 48 d1 fe sar $1,%rsi
40145d: 74 11 je 401470 <register_tm_clones+0x30>
40145f: b8 00 00 00 00 mov $0x0,%eax
401464: 48 85 c0 test %rax,%rax
401467: 74 07 je 401470 <register_tm_clones+0x30>
401469: bf 80 57 40 00 mov $0x405780,%edi
40146e: ff e0 jmp *%rax
401470: c3 ret
401471: 66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1)
401478: 00 00 00 00
40147c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000401480 <__do_global_dtors_aux>:
401480: f3 0f 1e fa endbr64
401484: 80 3d 1d 43 00 00 00 cmpb $0x0,0x431d(%rip) # 4057a8 <completed.0>
40148b: 75 13 jne 4014a0 <__do_global_dtors_aux+0x20>
40148d: 55 push %rbp
40148e: 48 89 e5 mov %rsp,%rbp
401491: e8 7a ff ff ff call 401410 <deregister_tm_clones>
401496: c6 05 0b 43 00 00 01 movb $0x1,0x430b(%rip) # 4057a8 <completed.0>
40149d: 5d pop %rbp
40149e: c3 ret
40149f: 90 nop
4014a0: c3 ret
4014a1: 66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1)
4014a8: 00 00 00 00
4014ac: 0f 1f 40 00 nopl 0x0(%rax)
00000000004014b0 <frame_dummy>:
4014b0: f3 0f 1e fa endbr64
4014b4: eb 8a jmp 401440 <register_tm_clones>
00000000004014b6 <main>:
4014b6: f3 0f 1e fa endbr64
4014ba: 53 push %rbx
4014bb: 83 ff 01 cmp $0x1,%edi
4014be: 0f 84 f8 00 00 00 je 4015bc <main+0x106>
4014c4: 48 89 f3 mov %rsi,%rbx
4014c7: 83 ff 02 cmp $0x2,%edi
4014ca: 0f 85 21 01 00 00 jne 4015f1 <main+0x13b>
4014d0: 48 8b 7e 08 mov 0x8(%rsi),%rdi
4014d4: 48 8d 35 29 1b 00 00 lea 0x1b29(%rip),%rsi # 403004 <_IO_stdin_used+0x4>
4014db: e8 60 fe ff ff call 401340 <fopen@plt>
4014e0: 48 89 05 c9 42 00 00 mov %rax,0x42c9(%rip) # 4057b0 <infile>
4014e7: 48 85 c0 test %rax,%rax
4014ea: 0f 84 df 00 00 00 je 4015cf <main+0x119>
4014f0: e8 d1 06 00 00 call 401bc6 <initialize_bomb>
4014f5: 48 8d 3d 8c 1b 00 00 lea 0x1b8c(%rip),%rdi # 403088 <_IO_stdin_used+0x88>
4014fc: e8 3f fd ff ff call 401240 <puts@plt>
401501: 48 8d 3d c0 1b 00 00 lea 0x1bc0(%rip),%rdi # 4030c8 <_IO_stdin_used+0xc8>
401508: e8 33 fd ff ff call 401240 <puts@plt>
40150d: e8 ca 09 00 00 call 401edc <read_line>
401512: 48 89 c7 mov %rax,%rdi
401515: e8 fa 00 00 00 call 401614 <phase_1>
40151a: e8 f5 0a 00 00 call 402014 <phase_defused>
40151f: 48 8d 3d d2 1b 00 00 lea 0x1bd2(%rip),%rdi # 4030f8 <_IO_stdin_used+0xf8>
401526: e8 15 fd ff ff call 401240 <puts@plt>
40152b: e8 ac 09 00 00 call 401edc <read_line>
401530: 48 89 c7 mov %rax,%rdi
401533: e8 00 01 00 00 call 401638 <phase_2>
401538: e8 d7 0a 00 00 call 402014 <phase_defused>
40153d: 48 8d 3d f9 1a 00 00 lea 0x1af9(%rip),%rdi # 40303d <_IO_stdin_used+0x3d>
401544: e8 f7 fc ff ff call 401240 <puts@plt>
401549: e8 8e 09 00 00 call 401edc <read_line>
40154e: 48 89 c7 mov %rax,%rdi
401551: e8 54 01 00 00 call 4016aa <phase_3>
401556: e8 b9 0a 00 00 call 402014 <phase_defused>
40155b: 48 8d 3d f9 1a 00 00 lea 0x1af9(%rip),%rdi # 40305b <_IO_stdin_used+0x5b>
401562: e8 d9 fc ff ff call 401240 <puts@plt>
401567: e8 70 09 00 00 call 401edc <read_line>
40156c: 48 89 c7 mov %rax,%rdi
40156f: e8 2c 02 00 00 call 4017a0 <phase_4>
401574: e8 9b 0a 00 00 call 402014 <phase_defused>
401579: 48 8d 3d a8 1b 00 00 lea 0x1ba8(%rip),%rdi # 403128 <_IO_stdin_used+0x128>
401580: e8 bb fc ff ff call 401240 <puts@plt>
401585: e8 52 09 00 00 call 401edc <read_line>
40158a: 48 89 c7 mov %rax,%rdi
40158d: e8 83 02 00 00 call 401815 <phase_5>
401592: e8 7d 0a 00 00 call 402014 <phase_defused>
401597: 48 8d 3d cc 1a 00 00 lea 0x1acc(%rip),%rdi # 40306a <_IO_stdin_used+0x6a>
40159e: e8 9d fc ff ff call 401240 <puts@plt>
4015a3: e8 34 09 00 00 call 401edc <read_line>
4015a8: 48 89 c7 mov %rax,%rdi
4015ab: e8 fc 02 00 00 call 4018ac <phase_6>
4015b0: e8 5f 0a 00 00 call 402014 <phase_defused>
4015b5: b8 00 00 00 00 mov $0x0,%eax
4015ba: 5b pop %rbx
4015bb: c3 ret
4015bc: 48 8b 05 cd 41 00 00 mov 0x41cd(%rip),%rax # 405790 <stdin@GLIBC_2.2.5>
4015c3: 48 89 05 e6 41 00 00 mov %rax,0x41e6(%rip) # 4057b0 <infile>
4015ca: e9 21 ff ff ff jmp 4014f0 <main+0x3a>
4015cf: 48 8b 4b 08 mov 0x8(%rbx),%rcx
4015d3: 48 8b 13 mov (%rbx),%rdx
4015d6: 48 8d 35 29 1a 00 00 lea 0x1a29(%rip),%rsi # 403006 <_IO_stdin_used+0x6>
4015dd: bf 01 00 00 00 mov $0x1,%edi
4015e2: e8 49 fd ff ff call 401330 <__printf_chk@plt>
4015e7: bf 08 00 00 00 mov $0x8,%edi
4015ec: e8 6f fd ff ff call 401360 <exit@plt>
4015f1: 48 8b 16 mov (%rsi),%rdx
4015f4: 48 8d 35 28 1a 00 00 lea 0x1a28(%rip),%rsi # 403023 <_IO_stdin_used+0x23>
4015fb: bf 01 00 00 00 mov $0x1,%edi
401600: b8 00 00 00 00 mov $0x0,%eax
401605: e8 26 fd ff ff call 401330 <__printf_chk@plt>
40160a: bf 08 00 00 00 mov $0x8,%edi
40160f: e8 4c fd ff ff call 401360 <exit@plt>
0000000000401614 <phase_1>:
401614: f3 0f 1e fa endbr64
401618: 48 83 ec 08 sub $0x8,%rsp
40161c: 48 8d 35 29 1b 00 00 lea 0x1b29(%rip),%rsi # 40314c <_IO_stdin_used+0x14c>
401623: e8 3e 05 00 00 call 401b66 <strings_not_equal>
401628: 85 c0 test %eax,%eax
40162a: 75 05 jne 401631 <phase_1+0x1d>
40162c: 48 83 c4 08 add $0x8,%rsp
401630: c3 ret
401631: e8 1f 08 00 00 call 401e55 <explode_bomb>
401636: eb f4 jmp 40162c <phase_1+0x18>
0000000000401638 <phase_2>:
401638: f3 0f 1e fa endbr64
40163c: 55 push %rbp
40163d: 53 push %rbx
40163e: 48 83 ec 28 sub $0x28,%rsp
401642: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax //rax=0x405870
401649: 00 00
40164b: 48 89 44 24 18 mov %rax,0x18(%rsp)
401650: 31 c0 xor %eax,%eax
401652: 48 89 e6 mov %rsp,%rsi
401655: e8 3d 08 00 00 call 401e97 <read_six_numbers> //len!=6 bomb 格式是 %d %d %d %d %d %d
40165a: 83 3c 24 00 cmpl $0x0,(%rsp)
40165e: 78 0a js 40166a <phase_2+0x32> // *rsp==0 goto explode_bomb
401660: 48 89 e5 mov %rsp,%rbp
401663: bb 01 00 00 00 mov $0x1,%ebx // ebx 初始值1
401668: eb 13 jmp 40167d <phase_2+0x45> // 40167d
----------------------
40166a: e8 e6 07 00 00 call 401e55 <explode_bomb>
40166f: eb ef jmp 401660 <phase_2+0x28>
》》》》》》》》》》》》》》》》》》》
401671: 83 c3 01 add $0x1,%ebx // rbx=2
401674: 48 83 c5 04 add $0x4,%rbp // rbp指向输入的第二个数字
401678: 83 fb 06 cmp $0x6,%ebx // rbx-6==0->goto* rbx:for循环内变量
40167b: 74 11 je 40168e <phase_2+0x56>
*****************************
----------------------
40167d: 89 d8 mov %ebx,%eax //
40167f: 03 45 00 add 0x0(%rbp),%eax //eax += *rbp rbp:输入的数字 ;eax=[1+input[0],2+input[1],...]: (n+1)+input[n]: 0 1 3 6 10 15
401682: 39 45 04 cmp %eax,0x4(%rbp) // *(rbp+4)-eax==0->bomb , rbp 输入的第x+1个数字
401685: 74 ea je 401671 <phase_2+0x39>
》》》》》》》》》》》》》》》》》》》
401687: e8 c9 07 00 00 call 401e55 <explode_bomb>
40168c: eb e3 jmp 401671 <phase_2+0x39>
******************************
40168e: 48 8b 44 24 18 mov 0x18(%rsp),%rax //rax = *rsp+16+8
401693: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
40169a: 00 00
40169c: 75 07 jne 4016a5 <phase_2+0x6d>
40169e: 48 83 c4 28 add $0x28,%rsp
4016a2: 5b pop %rbx
4016a3: 5d pop %rbp
4016a4: c3 ret
4016a5: e8 c6 fb ff ff call 401270 <__stack_chk_fail@plt>
00000000004016aa <phase_3>:
4016aa: f3 0f 1e fa endbr64
4016ae: 48 83 ec 18 sub $0x18,%rsp
4016b2: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
4016b9: 00 00
4016bb: 48 89 44 24 08 mov %rax,0x8(%rsp)
4016c0: 31 c0 xor %eax,%eax // 清空eax
4016c2: 48 8d 4c 24 04 lea 0x4(%rsp),%rcx //rsp+4->eax
4016c7: 48 89 e2 mov %rsp,%rdx //rsp->rdx
4016ca: 48 8d 35 5c 1d 00 00 lea 0x1d5c(%rip),%rsi # 40342d <array.0+0x28d>
4016d1: e8 4a fc ff ff call 401320 <__isoc99_sscanf@plt>
4016d6: 83 f8 01 cmp $0x1,%eax
4016d9: 7e 1a jle 4016f5 <phase_3+0x4b>
4016db: 83 3c 24 07 cmpl $0x7,(%rsp)
4016df: 77 65 ja 401746 <phase_3+0x9c>
4016e1: 8b 04 24 mov (%rsp),%eax
4016e4: 48 8d 15 95 1a 00 00 lea 0x1a95(%rip),%rdx # 403180 <_IO_stdin_used+0x180> format=0x40342d "%d %d"
4016eb: 48 63 04 82 movslq (%rdx,%rax,4),%rax
4016ef: 48 01 d0 add %rdx,%rax
4016f2: 3e ff e0 notrack jmp *%rax // 0 -> 0x401752
4016f5: e8 5b 07 00 00 call 401e55 <explode_bomb>
4016fa: eb df jmp 4016db <phase_3+0x31>
4016fc: b8 85 02 00 00 mov $0x285,%eax
401701: 39 44 24 04 cmp %eax,0x4(%rsp) // *(rsp+4)!=eax!=bomb
401705: 75 52 jne 401759 <phase_3+0xaf>
401707: 48 8b 44 24 08 mov 0x8(%rsp),%rax
40170c: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
401713: 00 00
401715: 75 49 jne 401760 <phase_3+0xb6>
401717: 48 83 c4 18 add $0x18,%rsp
40171b: c3 ret
40171c: b8 69 00 00 00 mov $0x69,%eax
401721: eb de jmp 401701 <phase_3+0x57>
401723: b8 5b 02 00 00 mov $0x25b,%eax
401728: eb d7 jmp 401701 <phase_3+0x57>
40172a: b8 32 00 00 00 mov $0x32,%eax
40172f: eb d0 jmp 401701 <phase_3+0x57>
401731: b8 f3 01 00 00 mov $0x1f3,%eax
401736: eb c9 jmp 401701 <phase_3+0x57>
401738: b8 8f 00 00 00 mov $0x8f,%eax
40173d: eb c2 jmp 401701 <phase_3+0x57>
40173f: b8 0a 03 00 00 mov $0x30a,%eax
401744: eb bb jmp 401701 <phase_3+0x57>
401746: e8 0a 07 00 00 call 401e55 <explode_bomb>
40174b: b8 00 00 00 00 mov $0x0,%eax
401750: eb af jmp 401701 <phase_3+0x57>
401752: b8 0f 01 00 00 mov $0x10f,%eax //271
401757: eb a8 jmp 401701 <phase_3+0x57>
401759: e8 f7 06 00 00 call 401e55 <explode_bomb>
40175e: eb a7 jmp 401707 <phase_3+0x5d>
401760: e8 0b fb ff ff call 401270 <__stack_chk_fail@plt>
0000000000401765 <func4>: // x = 7;x>=0;x-- x in rdi
401765: f3 0f 1e fa endbr64
401769: b8 00 00 00 00 mov $0x0,%eax
40176e: 85 ff test %edi,%edi
401770: 7e 2d jle 40179f <func4+0x3a>
401772: 41 54 push %r12
401774: 55 push %rbp
401775: 53 push %rbx
401776: 89 fb mov %edi,%ebx
401778: 89 f5 mov %esi,%ebp
40177a: 89 f0 mov %esi,%eax
40177c: 83 ff 01 cmp $0x1,%edi
40177f: 74 19 je 40179a <func4+0x35>
401781: 8d 7f ff lea -0x1(%rdi),%edi
401784: e8 dc ff ff ff call 401765 <func4>
401789: 44 8d 24 28 lea (%rax,%rbp,1),%r12d
40178d: 8d 7b fe lea -0x2(%rbx),%edi
401790: 89 ee mov %ebp,%esi
401792: e8 ce ff ff ff call 401765 <func4>
401797: 44 01 e0 add %r12d,%eax
40179a: 5b pop %rbx
40179b: 5d pop %rbp
40179c: 41 5c pop %r12
40179e: c3 ret
40179f: c3 ret
00000000004017a0 <phase_4>:
4017a0: f3 0f 1e fa endbr64
4017a4: 48 83 ec 18 sub $0x18,%rsp
4017a8: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
4017af: 00 00
4017b1: 48 89 44 24 08 mov %rax,0x8(%rsp)
4017b6: 31 c0 xor %eax,%eax
4017b8: 48 89 e1 mov %rsp,%rcx
4017bb: 48 8d 54 24 04 lea 0x4(%rsp),%rdx
4017c0: 48 8d 35 66 1c 00 00 lea 0x1c66(%rip),%rsi # 40342d <array.0+0x28d>
4017c7: e8 54 fb ff ff call 401320 <__isoc99_sscanf@plt> // %d %d
4017cc: 83 f8 02 cmp $0x2,%eax
4017cf: 75 0b jne 4017dc <phase_4+0x3c>
4017d1: 8b 04 24 mov (%rsp),%eax // 第二个数字 (unsigned)d2-2 <= 2 -> !bomb
4017d4: 83 e8 02 sub $0x2,%eax // 2 <= d2 <= 4
4017d7: 83 f8 02 cmp $0x2,%eax
4017da: 76 05 jbe 4017e1 <phase_4+0x41>
4017dc: e8 74 06 00 00 call 401e55 <explode_bomb>
4017e1: 8b 34 24 mov (%rsp),%esi // 第二个数字
4017e4: bf 07 00 00 00 mov $0x7,%edi
4017e9: e8 77 ff ff ff call 401765 <func4>
4017ee: 39 44 24 04 cmp %eax,0x4(%rsp) //
4017f2: 75 15 jne 401809 <phase_4+0x69>
4017f4: 48 8b 44 24 08 mov 0x8(%rsp),%rax
4017f9: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
401800: 00 00
401802: 75 0c jne 401810 <phase_4+0x70>
401804: 48 83 c4 18 add $0x18,%rsp
401808: c3 ret
401809: e8 47 06 00 00 call 401e55 <explode_bomb>
40180e: eb e4 jmp 4017f4 <phase_4+0x54>
401810: e8 5b fa ff ff call 401270 <__stack_chk_fail@plt>
0000000000401815 <phase_5>:
401815: f3 0f 1e fa endbr64
401819: 48 83 ec 18 sub $0x18,%rsp
40181d: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
401824: 00 00
401826: 48 89 44 24 08 mov %rax,0x8(%rsp)
40182b: 31 c0 xor %eax,%eax
40182d: 48 8d 4c 24 04 lea 0x4(%rsp),%rcx
401832: 48 89 e2 mov %rsp,%rdx
401835: 48 8d 35 f1 1b 00 00 lea 0x1bf1(%rip),%rsi # 40342d <array.0+0x28d>
40183c: e8 df fa ff ff call 401320 <__isoc99_sscanf@plt> // %d %d
401841: 83 f8 01 cmp $0x1,%eax
401844: 7e 5a jle 4018a0 <phase_5+0x8b>
401846: 8b 04 24 mov (%rsp),%eax //第一个输入的数字
401849: 83 e0 0f and $0xf,%eax
40184c: 89 04 24 mov %eax,(%rsp)
40184f: 83 f8 0f cmp $0xf,%eax //eax&0xF-0xF==0 ->bomb ->eax!=15
401852: 74 32 je 401886 <phase_5+0x71>
401854: b9 00 00 00 00 mov $0x0,%ecx
401859: ba 00 00 00 00 mov $0x0,%edx
40185e: 48 8d 35 3b 19 00 00 lea 0x193b(%rip),%rsi # 4031a0 <array.0> :
0x4031a0 <array.0>: 10 2 14 7
0x4031b0 <array.0+16>: 8 12 15 11
0x4031c0 <array.0+32>: 0 4 1 13
0x4031d0 <array.0+48>: 3 9 6 5
----------------------------
401865: 83 c2 01 add $0x1,%edx
401868: 48 98 cltq
40186a: 8b 04 86 mov (%rsi,%rax,4),%eax // eax=4*rax+0x4031a0 所以第一个数字小于等于15 第一次是第一个数字找14次到15
40186d: 01 c1 add %eax,%ecx // ecx+=eax
40186f: 83 f8 0f cmp $0xf,%eax
401872: 75 f1 jne 401865 <phase_5+0x50> // eax==15 继续
401874: c7 04 24 0f 00 00 00 movl $0xf,(%rsp)
40187b: 83 fa 0f cmp $0xf,%edx
40187e: 75 06 jne 401886 <phase_5+0x71> //必须循环15次
401880: 39 4c 24 04 cmp %ecx,0x4(%rsp) //ecx==第二个数字
401884: 74 05 je 40188b <phase_5+0x76>
401886: e8 ca 05 00 00 call 401e55 <explode_bomb>
40188b: 48 8b 44 24 08 mov 0x8(%rsp),%rax
401890: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
401897: 00 00
401899: 75 0c jne 4018a7 <phase_5+0x92>
40189b: 48 83 c4 18 add $0x18,%rsp
40189f: c3 ret
4018a0: e8 b0 05 00 00 call 401e55 <explode_bomb>
4018a5: eb 9f jmp 401846 <phase_5+0x31>
4018a7: e8 c4 f9 ff ff call 401270 <__stack_chk_fail@plt>
00000000004018ac <phase_6>:
4018ac: f3 0f 1e fa endbr64
4018b0: 41 57 push %r15
4018b2: 41 56 push %r14
4018b4: 41 55 push %r13
4018b6: 41 54 push %r12
4018b8: 55 push %rbp
4018b9: 53 push %rbx
4018ba: 48 83 ec 78 sub $0x78,%rsp
4018be: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
4018c5: 00 00
4018c7: 48 89 44 24 68 mov %rax,0x68(%rsp)
4018cc: 31 c0 xor %eax,%eax
4018ce: 4c 8d 74 24 10 lea 0x10(%rsp),%r14
4018d3: 4c 89 74 24 08 mov %r14,0x8(%rsp)
4018d8: 4c 89 f6 mov %r14,%rsi
4018db: e8 b7 05 00 00 call 401e97 <read_six_numbers>
4018e0: 4d 89 f4 mov %r14,%r12
4018e3: 41 bf 01 00 00 00 mov $0x1,%r15d
4018e9: 4d 89 f5 mov %r14,%r13
4018ec: e9 c6 00 00 00 jmp 4019b7 <phase_6+0x10b>
4018f1: e8 5f 05 00 00 call 401e55 <explode_bomb>
4018f6: e9 ce 00 00 00 jmp 4019c9 <phase_6+0x11d>
>>>>>>>>>>>>>>>>>>>>>
4018fb: 48 83 c3 01 add $0x1,%rbx
4018ff: 83 fb 05 cmp $0x5,%ebx
401902: 0f 8f a7 00 00 00 jg 4019af <phase_6+0x103> rbx>5
-------------------------
401908: 41 8b 44 9d 00 mov 0x0(%r13,%rbx,4),%eax // rbx 循环变量, eax为第rbx个数字
40190d: 39 45 00 cmp %eax,0x0(%rbp)
401910: 75 e9 jne 4018fb <phase_6+0x4f> // 不能连续两个数字一样
401912: e8 3e 05 00 00 call 401e55 <explode_bomb>
401917: eb e2 jmp 4018fb <phase_6+0x4f>
~~~~~~~~~~~~~~~~~~~~~~~~~~~ //这里开始
401919: 48 8b 54 24 08 mov 0x8(%rsp),%rdx
40191e: 48 83 c2 18 add $0x18,%rdx // rdx:数组末尾
401922: b9 07 00 00 00 mov $0x7,%ecx
=====
401927: 89 c8 mov %ecx,%eax
401929: 41 2b 04 24 sub (%r12),%eax
40192d: 41 89 04 24 mov %eax,(%r12)
401931: 49 83 c4 04 add $0x4,%r12
401935: 4c 39 e2 cmp %r12,%rdx
401938: 75 ed jne 401927 <phase_6+0x7b>
====== // 每个数变成7-x_i
40193a: be 00 00 00 00 mov $0x0,%esi
40193f: 8b 4c b4 10 mov 0x10(%rsp,%rsi,4),%ecx // ecx是第rsi个数字
401943: b8 01 00 00 00 mov $0x1,%eax
401948: 48 8d 15 e1 39 00 00 lea 0x39e1(%rip),%rdx # 405330 <node1>
0x405330 <node1>: 821 0 1 0 21312 64 0 0
0x405340 <node2>: 620 0 2 0 21328 64 0 0
0x405350 <node3>: 348 0 3 0 21344 64 0 0
0x405360 <node4>: 797 0 4 0 21360 64 0 0
0x405370 <node5>: 456 0 5 0 21008 64 0 0
0x405210 <node6>: 398 0 6 0 21344 64 0 0
40194f: 83 f9 01 cmp $0x1,%ecx
401952: 7e 0b jle 40195f <phase_6+0xb3>
401954: 48 8b 52 08 mov 0x8(%rdx),%rdx // 进入下一个node
401958: 83 c0 01 add $0x1,%eax
40195b: 39 c8 cmp %ecx,%eax
40195d: 75 f5 jne 401954 <phase_6+0xa8>
40195f: 48 89 54 f4 30 mov %rdx,0x30(%rsp,%rsi,8) // 结束时候的node
401964: 48 83 c6 01 add $0x1,%rsi
401968: 48 83 fe 06 cmp $0x6,%rsi
40196c: 75 d1 jne 40193f <phase_6+0x93>
40196e: 48 8b 5c 24 30 mov 0x30(%rsp),%rbx // rsp 是 node[7-x_i]
401973: 48 8b 44 24 38 mov 0x38(%rsp),%rax
401978: 48 89 43 08 mov %rax,0x8(%rbx)
40197c: 48 8b 54 24 40 mov 0x40(%rsp),%rdx
401981: 48 89 50 08 mov %rdx,0x8(%rax)
401985: 48 8b 44 24 48 mov 0x48(%rsp),%rax
40198a: 48 89 42 08 mov %rax,0x8(%rdx)
40198e: 48 8b 54 24 50 mov 0x50(%rsp),%rdx
401993: 48 89 50 08 mov %rdx,0x8(%rax)
401997: 48 8b 44 24 58 mov 0x58(%rsp),%rax
40199c: 48 89 42 08 mov %rax,0x8(%rdx)
4019a0: 48 c7 40 08 00 00 00 movq $0x0,0x8(%rax)
4019a7: 00
4019a8: bd 05 00 00 00 mov $0x5,%ebp
4019ad: eb 35 jmp 4019e4 <phase_6+0x138>
>>>>>>>>>>>>>>>>>>>>
4019af: 49 83 c7 01 add $0x1,%r15
4019b3: 49 83 c6 04 add $0x4,%r14
4019b7: 4c 89 f5 mov %r14,%rbp
4019ba: 41 8b 06 mov (%r14),%eax
4019bd: 83 e8 01 sub $0x1,%eax // 第x个数字 -1 > 5 -> bomb| 1 <= x1 <= 6
4019c0: 83 f8 05 cmp $0x5,%eax
4019c3: 0f 87 28 ff ff ff ja 4018f1 <phase_6+0x45>
4019c9: 41 83 ff 05 cmp $0x5,%r15d // r15 > 5
4019cd: 0f 8f 46 ff ff ff jg 401919 <phase_6+0x6d>
4019d3: 4c 89 fb mov %r15,%rbx
4019d6: e9 2d ff ff ff jmp 401908 <phase_6+0x5c>
------------------------
4019db: 48 8b 5b 08 mov 0x8(%rbx),%rbx
4019df: 83 ed 01 sub $0x1,%ebp
4019e2: 74 11 je 4019f5 <phase_6+0x149>
4019e4: 48 8b 43 08 mov 0x8(%rbx),%rax
4019e8: 8b 00 mov (%rax),%eax // eax 是下一个 node
4019ea: 39 03 cmp %eax,(%rbx) // node[x_i] >= node[x_i+1]
4019ec: 7d ed jge 4019db <phase_6+0x12f> // 每一个node要比下一个大
4019ee: e8 62 04 00 00 call 401e55 <explode_bomb>
4019f3: eb e6 jmp 4019db <phase_6+0x12f>
4019f5: 48 8b 44 24 68 mov 0x68(%rsp),%rax
4019fa: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
401a01: 00 00
401a03: 75 0f jne 401a14 <phase_6+0x168>
401a05: 48 83 c4 78 add $0x78,%rsp
401a09: 5b pop %rbx
401a0a: 5d pop %rbp
401a0b: 41 5c pop %r12
401a0d: 41 5d pop %r13
401a0f: 41 5e pop %r14
401a11: 41 5f pop %r15
401a13: c3 ret
401a14: e8 57 f8 ff ff call 401270 <__stack_chk_fail@plt>
0000000000401a19 <fun7>:
401a19: f3 0f 1e fa endbr64
401a1d: 48 85 ff test %rdi,%rdi
401a20: 74 32 je 401a54 <fun7+0x3b>
401a22: 48 83 ec 08 sub $0x8,%rsp
401a26: 8b 17 mov (%rdi),%edx
401a28: 39 f2 cmp %esi,%edx //esi 输入的数字
401a2a: 7f 0c jg 401a38 <fun7+0x1f> // edx > esi
401a2c: b8 00 00 00 00 mov $0x0,%eax
401a31: 75 12 jne 401a45 <fun7+0x2c>
401a33: 48 83 c4 08 add $0x8,%rsp
401a37: c3 ret
401a38: 48 8b 7f 08 mov 0x8(%rdi),%rdi // rdi 到下1个
401a3c: e8 d8 ff ff ff call 401a19 <fun7>
401a41: 01 c0 add %eax,%eax
401a43: eb ee jmp 401a33 <fun7+0x1a>
401a45: 48 8b 7f 10 mov 0x10(%rdi),%rdi // rdi 到下2个
401a49: e8 cb ff ff ff call 401a19 <fun7>
401a4e: 8d 44 00 01 lea 0x1(%rax,%rax,1),%eax // rax = rax*2+1, 目标 5
401a52: eb df jmp 401a33 <fun7+0x1a>
401a54: b8 ff ff ff ff mov $0xffffffff,%eax
401a59: c3 ret
0000000000401a5a <secret_phase>:
401a5a: f3 0f 1e fa endbr64
401a5e: 53 push %rbx
401a5f: e8 78 04 00 00 call 401edc <read_line>
401a64: 48 89 c7 mov %rax,%rdi
401a67: ba 0a 00 00 00 mov $0xa,%edx
401a6c: be 00 00 00 00 mov $0x0,%esi
401a71: e8 8a f8 ff ff call 401300 <strtol@plt>
401a76: 89 c3 mov %eax,%ebx
401a78: 83 e8 01 sub $0x1,%eax
401a7b: 3d e8 03 00 00 cmp $0x3e8,%eax // eax - 1 > 1000 -> bomb
401a80: 77 26 ja 401aa8 <secret_phase+0x4e>
401a82: 89 de mov %ebx,%esi
401a84: 48 8d 3d c5 37 00 00 lea 0x37c5(%rip),%rdi # 405250 <n1>
0x405250 <n1>: 36 0 4215408 0
0x405260 <n1+16>: 4215440 0 0 0
0x405270 <n21>: 8 0 4215536 0
0x405280 <n21+16>: 4215472 0 0 0
0x405290 <n22>: 50 0 4215504 0
0x4052a0 <n22+16>: 4215568 0 0 0
0x4052b0 <n32>: 22 0 4215216 0
0x4052c0 <n32+16>: 4215152 0 0 0
0x4052d0 <n33>: 45 0 4215056 0
0x4052e0 <n33+16>: 4215248 0 0 0
0x4052f0 <n31>: 6 0 4215088 0
0x405300 <n31+16>: 4215184 0 0 0
0x405310 <n34>: 107 0 4215120 0
0x405320 <n34+16>: 4215280 0 0 0
0x405250 <n1>: 000024 000000 405270 000000
0x405260 <n1+16>: 405290 000000 000000 000000
0x405270 <n21>: 000008 000000 4052f0 000000
0x405280 <n21+16>: 4052b0 000000 000000 000000
0x405290 <n22>: 000032 000000 4052d0 000000
0x4052a0 <n22+16>: 405310 000000 000000 000000
0x4052b0 <n32>: 000016 000000 4051b0 000000
0x4052c0 <n32+16>: 405170 000000 000000 000000
0x4052d0 <n33>: 00002d 000000 405110 000000
0x4052e0 <n33+16>: 4051d0 000000 000000 000000
0x4052f0 <n31>: 000006 000000 405130 000000
0x405300 <n31+16>: 405190 000000 000000 000000
0x405310 <n34>: 00006b 000000 405150 000000
0x405320 <n34+16>: 4051f0 000000 000000 000000
401a8b: e8 89 ff ff ff call 401a19 <fun7>
401a90: 83 f8 05 cmp $0x5,%eax
401a93: 75 1a jne 401aaf <secret_phase+0x55>
401a95: 48 8d 3d 44 17 00 00 lea 0x1744(%rip),%rdi # 4031e0 <array.0+0x40>
401a9c: e8 9f f7 ff ff call 401240 <puts@plt>
401aa1: e8 6e 05 00 00 call 402014 <phase_defused>
401aa6: 5b pop %rbx
401aa7: c3 ret
401aa8: e8 a8 03 00 00 call 401e55 <explode_bomb>
401aad: eb d3 jmp 401a82 <secret_phase+0x28>
401aaf: e8 a1 03 00 00 call 401e55 <explode_bomb>
401ab4: eb df jmp 401a95 <secret_phase+0x3b>
0000000000401ab6 <sig_handler>:
401ab6: f3 0f 1e fa endbr64
401aba: 50 push %rax
401abb: 58 pop %rax
401abc: 48 83 ec 08 sub $0x8,%rsp
401ac0: 48 8d 3d 41 17 00 00 lea 0x1741(%rip),%rdi # 403208 <array.0+0x68>
401ac7: e8 74 f7 ff ff call 401240 <puts@plt>
401acc: bf 03 00 00 00 mov $0x3,%edi
401ad1: e8 ba f8 ff ff call 401390 <sleep@plt>
401ad6: 48 8d 35 cc 18 00 00 lea 0x18cc(%rip),%rsi # 4033a9 <array.0+0x209>
401add: bf 01 00 00 00 mov $0x1,%edi
401ae2: b8 00 00 00 00 mov $0x0,%eax
401ae7: e8 44 f8 ff ff call 401330 <__printf_chk@plt>
401aec: 48 8b 3d 8d 3c 00 00 mov 0x3c8d(%rip),%rdi # 405780 <stdout@GLIBC_2.2.5>
401af3: e8 18 f8 ff ff call 401310 <fflush@plt>
401af8: bf 01 00 00 00 mov $0x1,%edi
401afd: e8 8e f8 ff ff call 401390 <sleep@plt>
401b02: 48 8d 3d a8 18 00 00 lea 0x18a8(%rip),%rdi # 4033b1 <array.0+0x211>
401b09: e8 32 f7 ff ff call 401240 <puts@plt>
401b0e: bf 10 00 00 00 mov $0x10,%edi
401b13: e8 48 f8 ff ff call 401360 <exit@plt>
0000000000401b18 <invalid_phase>:
401b18: f3 0f 1e fa endbr64
401b1c: 50 push %rax
401b1d: 58 pop %rax
401b1e: 48 83 ec 08 sub $0x8,%rsp
401b22: 48 89 fa mov %rdi,%rdx
401b25: 48 8d 35 8d 18 00 00 lea 0x188d(%rip),%rsi # 4033b9 <array.0+0x219>
401b2c: bf 01 00 00 00 mov $0x1,%edi
401b31: b8 00 00 00 00 mov $0x0,%eax
401b36: e8 f5 f7 ff ff call 401330 <__printf_chk@plt>
401b3b: bf 08 00 00 00 mov $0x8,%edi
401b40: e8 1b f8 ff ff call 401360 <exit@plt>
0000000000401b45 <string_length>:
401b45: f3 0f 1e fa endbr64
401b49: 80 3f 00 cmpb $0x0,(%rdi) // *c == 0 return 0
401b4c: 74 12 je 401b60 <string_length+0x1b>
401b4e: b8 00 00 00 00 mov $0x0,%eax // length = 0
401b53: 48 83 c7 01 add $0x1,%rdi // c = c+sizeof(char)
401b57: 83 c0 01 add $0x1,%eax // length++
401b5a: 80 3f 00 cmpb $0x0,(%rdi) // *c == 0 return length
401b5d: 75 f4 jne 401b53 <string_length+0xe>
401b5f: c3 ret
401b60: b8 00 00 00 00 mov $0x0,%eax
401b65: c3 ret
0000000000401b66 <strings_not_equal>:
401b66: f3 0f 1e fa endbr64
401b6a: 41 54 push %r12
401b6c: 55 push %rbp
401b6d: 53 push %rbx
401b6e: 48 89 fb mov %rdi,%rbx
401b71: 48 89 f5 mov %rsi,%rbp
401b74: e8 cc ff ff ff call 401b45 <string_length> // la = length(%rdi)
401b79: 41 89 c4 mov %eax,%r12d
401b7c: 48 89 ef mov %rbp,%rdi // lb = length(%rdi) %rdi = 0x40314c
401b7f: e8 c1 ff ff ff call 401b45 <string_length> // answer len=29
401b84: 89 c2 mov %eax,%edx
401b86: b8 01 00 00 00 mov $0x1,%eax
401b8b: 41 39 d4 cmp %edx,%r12d
401b8e: 75 31 jne 401bc1 <strings_not_equal+0x5b> //401bc1
401b90: 0f b6 13 movzbl (%rbx),%edx
401b93: 84 d2 test %dl,%dl
401b95: 74 1e je 401bb5 <strings_not_equal+0x4f>
401b97: b8 00 00 00 00 mov $0x0,%eax
401b9c: 38 54 05 00 cmp %dl,0x0(%rbp,%rax,1)
401ba0: 75 1a jne 401bbc <strings_not_equal+0x56> //401bc1
401ba2: 48 83 c0 01 add $0x1,%rax
401ba6: 0f b6 14 03 movzbl (%rbx,%rax,1),%edx
401baa: 84 d2 test %dl,%dl
401bac: 75 ee jne 401b9c <strings_not_equal+0x36>
401bae: b8 00 00 00 00 mov $0x0,%eax
401bb3: eb 0c jmp 401bc1 <strings_not_equal+0x5b>
401bb5: b8 00 00 00 00 mov $0x0,%eax
401bba: eb 05 jmp 401bc1 <strings_not_equal+0x5b>
401bbc: b8 01 00 00 00 mov $0x1,%eax
401bc1: 5b pop %rbx
401bc2: 5d pop %rbp
401bc3: 41 5c pop %r12
401bc5: c3 ret
0000000000401bc6 <initialize_bomb>:
401bc6: f3 0f 1e fa endbr64
401bca: 55 push %rbp
401bcb: 53 push %rbx
401bcc: 48 81 ec 00 10 00 00 sub $0x1000,%rsp
401bd3: 48 83 0c 24 00 orq $0x0,(%rsp)
401bd8: 48 81 ec 00 10 00 00 sub $0x1000,%rsp
401bdf: 48 83 0c 24 00 orq $0x0,(%rsp)
401be4: 48 83 ec 58 sub $0x58,%rsp
401be8: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
401bef: 00 00
401bf1: 48 89 84 24 48 20 00 mov %rax,0x2048(%rsp)
401bf8: 00
401bf9: 31 c0 xor %eax,%eax
401bfb: 48 8d 35 b4 fe ff ff lea -0x14c(%rip),%rsi # 401ab6 <sig_handler>
401c02: bf 02 00 00 00 mov $0x2,%edi
401c07: e8 c4 f6 ff ff call 4012d0 <signal@plt>
401c0c: 48 89 e7 mov %rsp,%rdi
401c0f: be 40 00 00 00 mov $0x40,%esi
401c14: e8 37 f7 ff ff call 401350 <gethostname@plt>
401c19: 85 c0 test %eax,%eax
401c1b: 75 45 jne 401c62 <initialize_bomb+0x9c>
401c1d: 48 8b 3d 5c 37 00 00 mov 0x375c(%rip),%rdi # 405380 <host_table>
401c24: 48 8d 1d 5d 37 00 00 lea 0x375d(%rip),%rbx # 405388 <host_table+0x8>
401c2b: 48 89 e5 mov %rsp,%rbp
401c2e: 48 85 ff test %rdi,%rdi
401c31: 74 19 je 401c4c <initialize_bomb+0x86>
401c33: 48 89 ee mov %rbp,%rsi
401c36: e8 d5 f5 ff ff call 401210 <strcasecmp@plt>
401c3b: 85 c0 test %eax,%eax
401c3d: 74 5e je 401c9d <initialize_bomb+0xd7>
401c3f: 48 83 c3 08 add $0x8,%rbx
401c43: 48 8b 7b f8 mov -0x8(%rbx),%rdi
401c47: 48 85 ff test %rdi,%rdi
401c4a: 75 e7 jne 401c33 <initialize_bomb+0x6d>
401c4c: 48 8d 3d 25 16 00 00 lea 0x1625(%rip),%rdi # 403278 <array.0+0xd8>
401c53: e8 e8 f5 ff ff call 401240 <puts@plt>
401c58: bf 08 00 00 00 mov $0x8,%edi
401c5d: e8 fe f6 ff ff call 401360 <exit@plt>
401c62: 48 8d 3d d7 15 00 00 lea 0x15d7(%rip),%rdi # 403240 <array.0+0xa0>
401c69: e8 d2 f5 ff ff call 401240 <puts@plt>
401c6e: bf 08 00 00 00 mov $0x8,%edi
401c73: e8 e8 f6 ff ff call 401360 <exit@plt>
401c78: 48 8d 54 24 40 lea 0x40(%rsp),%rdx
401c7d: 48 8d 35 46 17 00 00 lea 0x1746(%rip),%rsi # 4033ca <array.0+0x22a>
401c84: bf 01 00 00 00 mov $0x1,%edi
401c89: b8 00 00 00 00 mov $0x0,%eax
401c8e: e8 9d f6 ff ff call 401330 <__printf_chk@plt>
401c93: bf 08 00 00 00 mov $0x8,%edi
401c98: e8 c3 f6 ff ff call 401360 <exit@plt>
401c9d: 48 8d 7c 24 40 lea 0x40(%rsp),%rdi
401ca2: e8 6b 0d 00 00 call 402a12 <init_driver>
401ca7: 85 c0 test %eax,%eax
401ca9: 78 cd js 401c78 <initialize_bomb+0xb2>
401cab: 48 8b 84 24 48 20 00 mov 0x2048(%rsp),%rax
401cb2: 00
401cb3: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
401cba: 00 00
401cbc: 75 0a jne 401cc8 <initialize_bomb+0x102>
401cbe: 48 81 c4 58 20 00 00 add $0x2058,%rsp
401cc5: 5b pop %rbx
401cc6: 5d pop %rbp
401cc7: c3 ret
401cc8: e8 a3 f5 ff ff call 401270 <__stack_chk_fail@plt>
0000000000401ccd <initialize_bomb_solve>:
401ccd: f3 0f 1e fa endbr64
401cd1: c3 ret
0000000000401cd2 <blank_line>:
401cd2: f3 0f 1e fa endbr64
401cd6: 55 push %rbp
401cd7: 53 push %rbx
401cd8: 48 83 ec 08 sub $0x8,%rsp
401cdc: 48 89 fd mov %rdi,%rbp
401cdf: 0f b6 5d 00 movzbl 0x0(%rbp),%ebx
401ce3: 84 db test %bl,%bl
401ce5: 74 1e je 401d05 <blank_line+0x33>
401ce7: e8 b4 f6 ff ff call 4013a0 <__ctype_b_loc@plt>
401cec: 48 83 c5 01 add $0x1,%rbp
401cf0: 48 0f be db movsbq %bl,%rbx
401cf4: 48 8b 00 mov (%rax),%rax
401cf7: f6 44 58 01 20 testb $0x20,0x1(%rax,%rbx,2)
401cfc: 75 e1 jne 401cdf <blank_line+0xd>
401cfe: b8 00 00 00 00 mov $0x0,%eax
401d03: eb 05 jmp 401d0a <blank_line+0x38>
401d05: b8 01 00 00 00 mov $0x1,%eax
401d0a: 48 83 c4 08 add $0x8,%rsp
401d0e: 5b pop %rbx
401d0f: 5d pop %rbp
401d10: c3 ret
0000000000401d11 <skip>:
401d11: f3 0f 1e fa endbr64
401d15: 55 push %rbp
401d16: 53 push %rbx
401d17: 48 83 ec 08 sub $0x8,%rsp
401d1b: 48 8d 2d fe 3a 00 00 lea 0x3afe(%rip),%rbp # 405820 <input_strings>
401d22: 48 63 05 e7 3a 00 00 movslq 0x3ae7(%rip),%rax # 405810 <num_input_strings>
401d29: 48 8d 3c 80 lea (%rax,%rax,4),%rdi
401d2d: 48 c1 e7 04 shl $0x4,%rdi
401d31: 48 01 ef add %rbp,%rdi
401d34: 48 8b 15 75 3a 00 00 mov 0x3a75(%rip),%rdx # 4057b0 <infile>
401d3b: be 50 00 00 00 mov $0x50,%esi
401d40: e8 6b f5 ff ff call 4012b0 <fgets@plt>
401d45: 48 89 c3 mov %rax,%rbx
401d48: 48 85 c0 test %rax,%rax
401d4b: 74 0c je 401d59 <skip+0x48>
401d4d: 48 89 c7 mov %rax,%rdi
401d50: e8 7d ff ff ff call 401cd2 <blank_line>
401d55: 85 c0 test %eax,%eax
401d57: 75 c9 jne 401d22 <skip+0x11>
401d59: 48 89 d8 mov %rbx,%rax
401d5c: 48 83 c4 08 add $0x8,%rsp
401d60: 5b pop %rbx
401d61: 5d pop %rbp
401d62: c3 ret
0000000000401d63 <send_msg>:
401d63: f3 0f 1e fa endbr64
401d67: 53 push %rbx
401d68: 4c 8d 9c 24 00 c0 ff lea -0x4000(%rsp),%r11
401d6f: ff
401d70: 48 81 ec 00 10 00 00 sub $0x1000,%rsp
401d77: 48 83 0c 24 00 orq $0x0,(%rsp)
401d7c: 4c 39 dc cmp %r11,%rsp
401d7f: 75 ef jne 401d70 <send_msg+0xd>
401d81: 48 83 ec 10 sub $0x10,%rsp
401d85: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
401d8c: 00 00
401d8e: 48 89 84 24 08 40 00 mov %rax,0x4008(%rsp)
401d95: 00
401d96: 31 c0 xor %eax,%eax
401d98: 8b 15 72 3a 00 00 mov 0x3a72(%rip),%edx # 405810 <num_input_strings>
401d9e: 8d 42 ff lea -0x1(%rdx),%eax
401da1: 48 98 cltq
401da3: 48 8d 04 80 lea (%rax,%rax,4),%rax
401da7: 48 c1 e0 04 shl $0x4,%rax
401dab: 48 8d 0d 6e 3a 00 00 lea 0x3a6e(%rip),%rcx # 405820 <input_strings>
401db2: 48 01 c8 add %rcx,%rax
401db5: 85 ff test %edi,%edi
401db7: 4c 8d 0d 26 16 00 00 lea 0x1626(%rip),%r9 # 4033e4 <array.0+0x244>
401dbe: 48 8d 0d 27 16 00 00 lea 0x1627(%rip),%rcx # 4033ec <array.0+0x24c>
401dc5: 4c 0f 44 c9 cmove %rcx,%r9
401dc9: 48 89 e3 mov %rsp,%rbx
401dcc: 50 push %rax
401dcd: 52 push %rdx
401dce: 44 8b 05 6f 34 00 00 mov 0x346f(%rip),%r8d # 405244 <bomb_id>
401dd5: 48 8d 0d 19 16 00 00 lea 0x1619(%rip),%rcx # 4033f5 <array.0+0x255>
401ddc: ba 00 20 00 00 mov $0x2000,%edx
401de1: be 01 00 00 00 mov $0x1,%esi
401de6: 48 89 df mov %rbx,%rdi
401de9: b8 00 00 00 00 mov $0x0,%eax
401dee: e8 bd f5 ff ff call 4013b0 <__sprintf_chk@plt>
401df3: 4c 8d 84 24 10 20 00 lea 0x2010(%rsp),%r8
401dfa: 00
401dfb: b9 00 00 00 00 mov $0x0,%ecx
401e00: 48 89 da mov %rbx,%rdx
401e03: 48 8d 35 16 34 00 00 lea 0x3416(%rip),%rsi # 405220 <user_password>
401e0a: 48 8d 3d 27 34 00 00 lea 0x3427(%rip),%rdi # 405238 <userid>
401e11: e8 f1 0d 00 00 call 402c07 <driver_post>
401e16: 48 89 dc mov %rbx,%rsp
401e19: 85 c0 test %eax,%eax
401e1b: 78 1c js 401e39 <send_msg+0xd6>
401e1d: 48 8b 84 24 08 40 00 mov 0x4008(%rsp),%rax
401e24: 00
401e25: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
401e2c: 00 00
401e2e: 75 20 jne 401e50 <send_msg+0xed>
401e30: 48 81 c4 10 40 00 00 add $0x4010,%rsp
401e37: 5b pop %rbx
401e38: c3 ret
401e39: 48 8d bc 24 00 20 00 lea 0x2000(%rsp),%rdi
401e40: 00
401e41: e8 fa f3 ff ff call 401240 <puts@plt>
401e46: bf 00 00 00 00 mov $0x0,%edi
401e4b: e8 10 f5 ff ff call 401360 <exit@plt>
401e50: e8 1b f4 ff ff call 401270 <__stack_chk_fail@plt>
0000000000401e55 <explode_bomb>:
401e55: f3 0f 1e fa endbr64
401e59: 50 push %rax
401e5a: 58 pop %rax
401e5b: 48 83 ec 08 sub $0x8,%rsp
401e5f: 48 8d 3d 9b 15 00 00 lea 0x159b(%rip),%rdi # 403401 <array.0+0x261>
401e66: e8 d5 f3 ff ff call 401240 <puts@plt>
401e6b: 48 8d 3d 98 15 00 00 lea 0x1598(%rip),%rdi # 40340a <array.0+0x26a>
401e72: e8 c9 f3 ff ff call 401240 <puts@plt>
401e77: bf 00 00 00 00 mov $0x0,%edi
401e7c: e8 e2 fe ff ff call 401d63 <send_msg>
401e81: 48 8d 3d 28 14 00 00 lea 0x1428(%rip),%rdi # 4032b0 <array.0+0x110>
401e88: e8 b3 f3 ff ff call 401240 <puts@plt>
401e8d: bf 08 00 00 00 mov $0x8,%edi
401e92: e8 c9 f4 ff ff call 401360 <exit@plt>
0000000000401e97 <read_six_numbers>: //return -> rsp
401e97: f3 0f 1e fa endbr64
401e9b: 48 83 ec 08 sub $0x8,%rsp
401e9f: 48 89 f2 mov %rsi,%rdx //0x7fffffffe950
401ea2: 48 8d 4e 04 lea 0x4(%rsi),%rcx // *rsi+4->rcx
401ea6: 48 8d 46 14 lea 0x14(%rsi),%rax //*rsi+20->rax
401eaa: 50 push %rax
401eab: 48 8d 46 10 lea 0x10(%rsi),%rax // 0x7fffffffe960
401eaf: 50 push %rax
401eb0: 4c 8d 4e 0c lea 0xc(%rsi),%r9 //0x7fffffffe95c
401eb4: 4c 8d 46 08 lea 0x8(%rsi),%i
401eb8: 48 8d 35 62 15 00 00 lea 0x1562(%rip),%rsi # 403421 <array.0+0x281>
401ebf: b8 00 00 00 00 mov $0x0,%eax
401ec4: e8 57 f4 ff ff call 401320 <__isoc99_sscanf@plt> // %d %d %d %d %d %d
401ec9: 48 83 c4 10 add $0x10,%rsp
401ecd: 83 f8 05 cmp $0x5,%eax //eax!=5 -> explode_bomb
401ed0: 7e 05 jle 401ed7 <read_six_numbers+0x40>
401ed2: 48 83 c4 08 add $0x8,%rsp
401ed6: c3 ret
401ed7: e8 79 ff ff ff call 401e55 <explode_bomb>
0000000000401edc <read_line>:
401edc: f3 0f 1e fa endbr64
401ee0: 55 push %rbp
401ee1: 53 push %rbx
401ee2: 48 83 ec 08 sub $0x8,%rsp
401ee6: b8 00 00 00 00 mov $0x0,%eax
401eeb: e8 21 fe ff ff call 401d11 <skip>
401ef0: 48 85 c0 test %rax,%rax
401ef3: 74 5d je 401f52 <read_line+0x76>
401ef5: 8b 2d 15 39 00 00 mov 0x3915(%rip),%ebp # 405810 <num_input_strings>
401efb: 48 63 c5 movslq %ebp,%rax
401efe: 48 8d 1c 80 lea (%rax,%rax,4),%rbx
401f02: 48 c1 e3 04 shl $0x4,%rbx
401f06: 48 8d 05 13 39 00 00 lea 0x3913(%rip),%rax # 405820 <input_strings>
401f0d: 48 01 c3 add %rax,%rbx
401f10: 48 89 df mov %rbx,%rdi
401f13: e8 48 f3 ff ff call 401260 <strlen@plt>
401f18: 83 f8 4e cmp $0x4e,%eax
401f1b: 0f 8f a9 00 00 00 jg 401fca <read_line+0xee>
401f21: 83 e8 01 sub $0x1,%eax
401f24: 48 98 cltq
401f26: 48 63 d5 movslq %ebp,%rdx
401f29: 48 8d 0c 92 lea (%rdx,%rdx,4),%rcx
401f2d: 48 c1 e1 04 shl $0x4,%rcx
401f31: 48 8d 15 e8 38 00 00 lea 0x38e8(%rip),%rdx # 405820 <input_strings>
401f38: 48 01 ca add %rcx,%rdx
401f3b: c6 04 02 00 movb $0x0,(%rdx,%rax,1)
401f3f: 83 c5 01 add $0x1,%ebp
401f42: 89 2d c8 38 00 00 mov %ebp,0x38c8(%rip) # 405810 <num_input_strings>
401f48: 48 89 d8 mov %rbx,%rax
401f4b: 48 83 c4 08 add $0x8,%rsp
401f4f: 5b pop %rbx
401f50: 5d pop %rbp
401f51: c3 ret
401f52: 48 8b 05 37 38 00 00 mov 0x3837(%rip),%rax # 405790 <stdin@GLIBC_2.2.5>
401f59: 48 39 05 50 38 00 00 cmp %rax,0x3850(%rip) # 4057b0 <infile>
401f60: 74 1b je 401f7d <read_line+0xa1>
401f62: 48 8d 3d e8 14 00 00 lea 0x14e8(%rip),%rdi # 403451 <array.0+0x2b1>
401f69: e8 92 f2 ff ff call 401200 <getenv@plt>
401f6e: 48 85 c0 test %rax,%rax
401f71: 74 20 je 401f93 <read_line+0xb7>
401f73: bf 00 00 00 00 mov $0x0,%edi
401f78: e8 e3 f3 ff ff call 401360 <exit@plt>
401f7d: 48 8d 3d af 14 00 00 lea 0x14af(%rip),%rdi # 403433 <array.0+0x293>
401f84: e8 b7 f2 ff ff call 401240 <puts@plt>
401f89: bf 08 00 00 00 mov $0x8,%edi
401f8e: e8 cd f3 ff ff call 401360 <exit@plt>
401f93: 48 8b 05 f6 37 00 00 mov 0x37f6(%rip),%rax # 405790 <stdin@GLIBC_2.2.5>
401f9a: 48 89 05 0f 38 00 00 mov %rax,0x380f(%rip) # 4057b0 <infile>
401fa1: b8 00 00 00 00 mov $0x0,%eax
401fa6: e8 66 fd ff ff call 401d11 <skip>
401fab: 48 85 c0 test %rax,%rax
401fae: 0f 85 41 ff ff ff jne 401ef5 <read_line+0x19>
401fb4: 48 8d 3d 78 14 00 00 lea 0x1478(%rip),%rdi # 403433 <array.0+0x293>
401fbb: e8 80 f2 ff ff call 401240 <puts@plt>
401fc0: bf 00 00 00 00 mov $0x0,%edi
401fc5: e8 96 f3 ff ff call 401360 <exit@plt>
401fca: 48 8d 3d 8b 14 00 00 lea 0x148b(%rip),%rdi # 40345c <array.0+0x2bc>
401fd1: e8 6a f2 ff ff call 401240 <puts@plt>
401fd6: 8b 05 34 38 00 00 mov 0x3834(%rip),%eax # 405810 <num_input_strings>
401fdc: 8d 50 01 lea 0x1(%rax),%edx
401fdf: 89 15 2b 38 00 00 mov %edx,0x382b(%rip) # 405810 <num_input_strings>
401fe5: 48 98 cltq
401fe7: 48 6b c0 50 imul $0x50,%rax,%rax
401feb: 48 8d 15 2e 38 00 00 lea 0x382e(%rip),%rdx # 405820 <input_strings>
401ff2: 48 be 2a 2a 2a 74 72 movabs $0x636e7572742a2a2a,%rsi
401ff9: 75 6e 63
401ffc: 48 bf 61 74 65 64 2a movabs $0x2a2a2a64657461,%rdi
402003: 2a 2a 00
402006: 48 89 34 02 mov %rsi,(%rdx,%rax,1)
40200a: 48 89 7c 02 08 mov %rdi,0x8(%rdx,%rax,1)
40200f: e8 41 fe ff ff call 401e55 <explode_bomb>
0000000000402014 <phase_defused>:
402014: f3 0f 1e fa endbr64
402018: 48 83 ec 78 sub $0x78,%rsp
40201c: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
402023: 00 00
402025: 48 89 44 24 68 mov %rax,0x68(%rsp)
40202a: 31 c0 xor %eax,%eax
40202c: bf 01 00 00 00 mov $0x1,%edi
402031: e8 2d fd ff ff call 401d63 <send_msg>
402036: 83 3d d3 37 00 00 06 cmpl $0x6,0x37d3(%rip) # 405810 <num_input_strings> // 解决phase数
40203d: 74 19 je 402058 <phase_defused+0x44>
40203f: 48 8b 44 24 68 mov 0x68(%rsp),%rax
402044: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax
40204b: 00 00
40204d: 0f 85 84 00 00 00 jne 4020d7 <phase_defused+0xc3>
402053: 48 83 c4 78 add $0x78,%rsp
402057: c3 ret
402058: 48 8d 4c 24 0c lea 0xc(%rsp),%rcx
40205d: 48 8d 54 24 08 lea 0x8(%rsp),%rdx
402062: 4c 8d 44 24 10 lea 0x10(%rsp),%r8
402067: 48 8d 35 09 14 00 00 lea 0x1409(%rip),%rsi # 403477 <array.0+0x2d7>
40206e: 48 8d 3d 9b 38 00 00 lea 0x389b(%rip),%rdi # 405910 <input_strings+0xf0>
402075: b8 00 00 00 00 mov $0x0,%eax
40207a: e8 a1 f2 ff ff call 401320 <__isoc99_sscanf@plt> s=0x405910 <input_strings+240> "99 3"(第四个), format=0x403477 "%d %d %s"
40207f: 83 f8 03 cmp $0x3,%eax
402082: 74 1a je 40209e <phase_defused+0x8a> // DrEvil
402084: 48 8d 3d ad 12 00 00 lea 0x12ad(%rip),%rdi # 403338 <array.0+0x198>
40208b: e8 b0 f1 ff ff call 401240 <puts@plt>
402090: 48 8d 3d d1 12 00 00 lea 0x12d1(%rip),%rdi # 403368 <array.0+0x1c8>
402097: e8 a4 f1 ff ff call 401240 <puts@plt>
40209c: eb a1 jmp 40203f <phase_defused+0x2b>
40209e: 48 8d 7c 24 10 lea 0x10(%rsp),%rdi
4020a3: 48 8d 35 d6 13 00 00 lea 0x13d6(%rip),%rsi # 403480 <array.0+0x2e0>
4020aa: e8 b7 fa ff ff call 401b66 <strings_not_equal>
4020af: 85 c0 test %eax,%eax
4020b1: 75 d1 jne 402084 <phase_defused+0x70>
4020b3: 48 8d 3d 1e 12 00 00 lea 0x121e(%rip),%rdi # 4032d8 <array.0+0x138>
4020ba: e8 81 f1 ff ff call 401240 <puts@plt>
4020bf: 48 8d 3d 3a 12 00 00 lea 0x123a(%rip),%rdi # 403300 <array.0+0x160>
4020c6: e8 75 f1 ff ff call 401240 <puts@plt>
4020cb: b8 00 00 00 00 mov $0x0,%eax
4020d0: e8 85 f9 ff ff call 401a5a <secret_phase>
4020d5: eb ad jmp 402084 <phase_defused+0x70>
4020d7: e8 94 f1 ff ff call 401270 <__stack_chk_fail@plt>
00000000004020dc <sigalrm_handler>:
4020dc: f3 0f 1e fa endbr64
4020e0: 50 push %rax
4020e1: 58 pop %rax
4020e2: 48 83 ec 08 sub $0x8,%rsp
4020e6: b9 00 00 00 00 mov $0x0,%ecx
4020eb: 48 8d 15 e6 13 00 00 lea 0x13e6(%rip),%rdx # 4034d8 <array.0+0x338>
4020f2: be 01 00 00 00 mov $0x1,%esi
4020f7: 48 8b 3d a2 36 00 00 mov 0x36a2(%rip),%rdi # 4057a0 <stderr@GLIBC_2.2.5>
4020fe: b8 00 00 00 00 mov $0x0,%eax
402103: e8 78 f2 ff ff call 401380 <__fprintf_chk@plt>
402108: bf 01 00 00 00 mov $0x1,%edi
40210d: e8 4e f2 ff ff call 401360 <exit@plt>
0000000000402112 <rio_readlineb>:
402112: 41 56 push %r14
402114: 41 55 push %r13
402116: 41 54 push %r12
402118: 55 push %rbp
402119: 53 push %rbx
40211a: 49 89 f4 mov %rsi,%r12
40211d: 48 83 fa 01 cmp $0x1,%rdx
402121: 0f 86 92 00 00 00 jbe 4021b9 <rio_readlineb+0xa7>
402127: 48 89 fb mov %rdi,%rbx
40212a: 4c 8d 74 16 ff lea -0x1(%rsi,%rdx,1),%r14
40212f: 41 bd 01 00 00 00 mov $0x1,%r13d
402135: 48 8d 6f 10 lea 0x10(%rdi),%rbp
402139: eb 56 jmp 402191 <rio_readlineb+0x7f>
40213b: e8 e0 f0 ff ff call 401220 <__errno_location@plt>
402140: 83 38 04 cmpl $0x4,(%rax)
402143: 75 55 jne 40219a <rio_readlineb+0x88>
402145: ba 00 20 00 00 mov $0x2000,%edx
40214a: 48 89 ee mov %rbp,%rsi
40214d: 8b 3b mov (%rbx),%edi
40214f: e8 4c f1 ff ff call 4012a0 <read@plt>
402154: 89 c2 mov %eax,%edx
402156: 89 43 04 mov %eax,0x4(%rbx)
402159: 85 c0 test %eax,%eax
40215b: 78 de js 40213b <rio_readlineb+0x29>
40215d: 85 c0 test %eax,%eax
40215f: 74 42 je 4021a3 <rio_readlineb+0x91>
402161: 48 89 6b 08 mov %rbp,0x8(%rbx)
402165: 48 8b 43 08 mov 0x8(%rbx),%rax
402169: 0f b6 08 movzbl (%rax),%ecx
40216c: 48 83 c0 01 add $0x1,%rax
402170: 48 89 43 08 mov %rax,0x8(%rbx)
402174: 83 ea 01 sub $0x1,%edx
402177: 89 53 04 mov %edx,0x4(%rbx)
40217a: 49 83 c4 01 add $0x1,%r12
40217e: 41 88 4c 24 ff mov %cl,-0x1(%r12)
402183: 80 f9 0a cmp $0xa,%cl
402186: 74 3c je 4021c4 <rio_readlineb+0xb2>
402188: 41 83 c5 01 add $0x1,%r13d
40218c: 4d 39 f4 cmp %r14,%r12
40218f: 74 30 je 4021c1 <rio_readlineb+0xaf>
402191: 8b 53 04 mov 0x4(%rbx),%edx
402194: 85 d2 test %edx,%edx
402196: 7e ad jle 402145 <rio_readlineb+0x33>
402198: eb cb jmp 402165 <rio_readlineb+0x53>
40219a: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax
4021a1: eb 05 jmp 4021a8 <rio_readlineb+0x96>
4021a3: b8 00 00 00 00 mov $0x0,%eax
4021a8: 85 c0 test %eax,%eax
4021aa: 75 29 jne 4021d5 <rio_readlineb+0xc3>
4021ac: b8 00 00 00 00 mov $0x0,%eax
4021b1: 41 83 fd 01 cmp $0x1,%r13d
4021b5: 75 0d jne 4021c4 <rio_readlineb+0xb2>
4021b7: eb 13 jmp 4021cc <rio_readlineb+0xba>
4021b9: 41 bd 01 00 00 00 mov $0x1,%r13d
4021bf: eb 03 jmp 4021c4 <rio_readlineb+0xb2>
4021c1: 4d 89 f4 mov %r14,%r12
4021c4: 41 c6 04 24 00 movb $0x0,(%r12)
4021c9: 49 63 c5 movslq %r13d,%rax
4021cc: 5b pop %rbx
4021cd: 5d pop %rbp
4021ce: 41 5c pop %r12
4021d0: 41 5d pop %r13
4021d2: 41 5e pop %r14
4021d4: c3 ret
4021d5: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax
4021dc: eb ee jmp 4021cc <rio_readlineb+0xba>
00000000004021de <submitr>:
4021de: f3 0f 1e fa endbr64
4021e2: 41 57 push %r15
4021e4: 41 56 push %r14
4021e6: 41 55 push %r13
4021e8: 41 54 push %r12
4021ea: 55 push %rbp
4021eb: 53 push %rbx
4021ec: 4c 8d 9c 24 00 60 ff lea -0xa000(%rsp),%r11
4021f3: ff
4021f4: 48 81 ec 00 10 00 00 sub $0x1000,%rsp
4021fb: 48 83 0c 24 00 orq $0x0,(%rsp)
402200: 4c 39 dc cmp %r11,%rsp
402203: 75 ef jne 4021f4 <submitr+0x16>
402205: 48 83 ec 78 sub $0x78,%rsp
402209: 49 89 fd mov %rdi,%r13
40220c: 89 f5 mov %esi,%ebp
40220e: 48 89 54 24 08 mov %rdx,0x8(%rsp)
402213: 48 89 4c 24 10 mov %rcx,0x10(%rsp)
402218: 4c 89 44 24 20 mov %r8,0x20(%rsp)
40221d: 4c 89 4c 24 18 mov %r9,0x18(%rsp)
402222: 48 8b 9c 24 b0 a0 00 mov 0xa0b0(%rsp),%rbx
402229: 00
40222a: 4c 8b bc 24 b8 a0 00 mov 0xa0b8(%rsp),%r15
402231: 00
402232: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
402239: 00 00
40223b: 48 89 84 24 68 a0 00 mov %rax,0xa068(%rsp)
402242: 00
402243: 31 c0 xor %eax,%eax
402245: c7 44 24 3c 00 00 00 movl $0x0,0x3c(%rsp)
40224c: 00
40224d: ba 00 00 00 00 mov $0x0,%edx
402252: be 01 00 00 00 mov $0x1,%esi
402257: bf 02 00 00 00 mov $0x2,%edi
40225c: e8 5f f1 ff ff call 4013c0 <socket@plt>
402261: 85 c0 test %eax,%eax
402263: 0f 88 12 01 00 00 js 40237b <submitr+0x19d>
402269: 41 89 c4 mov %eax,%r12d
40226c: 4c 89 ef mov %r13,%rdi
40226f: e8 6c f0 ff ff call 4012e0 <gethostbyname@plt>
402274: 48 85 c0 test %rax,%rax
402277: 0f 84 4e 01 00 00 je 4023cb <submitr+0x1ed>
40227d: 4c 8d 6c 24 40 lea 0x40(%rsp),%r13
402282: 48 c7 44 24 40 00 00 movq $0x0,0x40(%rsp)
402289: 00 00
40228b: 48 c7 44 24 48 00 00 movq $0x0,0x48(%rsp)
402292: 00 00
402294: 66 c7 44 24 40 02 00 movw $0x2,0x40(%rsp)
40229b: 48 63 50 14 movslq 0x14(%rax),%rdx
40229f: 48 8b 40 18 mov 0x18(%rax),%rax
4022a3: 48 8d 7c 24 44 lea 0x44(%rsp),%rdi
4022a8: b9 0c 00 00 00 mov $0xc,%ecx
4022ad: 48 8b 30 mov (%rax),%rsi
4022b0: e8 3b f0 ff ff call 4012f0 <__memmove_chk@plt>
4022b5: 66 c1 c5 08 rol $0x8,%bp
4022b9: 66 89 6c 24 42 mov %bp,0x42(%rsp)
4022be: ba 10 00 00 00 mov $0x10,%edx
4022c3: 4c 89 ee mov %r13,%rsi
4022c6: 44 89 e7 mov %r12d,%edi
4022c9: e8 a2 f0 ff ff call 401370 <connect@plt>
4022ce: 85 c0 test %eax,%eax
4022d0: 0f 88 60 01 00 00 js 402436 <submitr+0x258>
4022d6: 48 89 df mov %rbx,%rdi
4022d9: e8 82 ef ff ff call 401260 <strlen@plt>
4022de: 48 89 c5 mov %rax,%rbp
4022e1: 48 8b 7c 24 08 mov 0x8(%rsp),%rdi
4022e6: e8 75 ef ff ff call 401260 <strlen@plt>
4022eb: 49 89 c6 mov %rax,%r14
4022ee: 48 8b 7c 24 10 mov 0x10(%rsp),%rdi
4022f3: e8 68 ef ff ff call 401260 <strlen@plt>
4022f8: 49 89 c5 mov %rax,%r13
4022fb: 48 8b 7c 24 18 mov 0x18(%rsp),%rdi
402300: e8 5b ef ff ff call 401260 <strlen@plt>
402305: 48 89 c2 mov %rax,%rdx
402308: 4b 8d 84 2e 80 00 00 lea 0x80(%r14,%r13,1),%rax
40230f: 00
402310: 48 01 d0 add %rdx,%rax
402313: 48 8d 54 6d 00 lea 0x0(%rbp,%rbp,2),%rdx
402318: 48 01 d0 add %rdx,%rax
40231b: 48 3d 00 20 00 00 cmp $0x2000,%rax
402321: 0f 87 6c 01 00 00 ja 402493 <submitr+0x2b5>
402327: 48 8d 94 24 60 40 00 lea 0x4060(%rsp),%rdx
40232e: 00
40232f: b9 00 04 00 00 mov $0x400,%ecx
402334: b8 00 00 00 00 mov $0x0,%eax
402339: 48 89 d7 mov %rdx,%rdi
40233c: f3 48 ab rep stos %rax,%es:(%rdi)
40233f: 48 89 df mov %rbx,%rdi
402342: e8 19 ef ff ff call 401260 <strlen@plt>
402347: 85 c0 test %eax,%eax
402349: 0f 84 07 05 00 00 je 402856 <submitr+0x678>
40234f: 8d 40 ff lea -0x1(%rax),%eax
402352: 4c 8d 6c 03 01 lea 0x1(%rbx,%rax,1),%r13
402357: 48 8d ac 24 60 40 00 lea 0x4060(%rsp),%rbp
40235e: 00
40235f: 48 8d 84 24 60 80 00 lea 0x8060(%rsp),%rax
402366: 00
402367: 48 89 44 24 28 mov %rax,0x28(%rsp)
40236c: 49 be d9 ff 00 00 00 movabs $0x2000000000ffd9,%r14
402373: 00 20 00
402376: e9 a6 01 00 00 jmp 402521 <submitr+0x343>
40237b: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax
402382: 3a 20 43
402385: 48 ba 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rdx
40238c: 20 75 6e
40238f: 49 89 07 mov %rax,(%r15)
402392: 49 89 57 08 mov %rdx,0x8(%r15)
402396: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
40239d: 74 6f 20
4023a0: 48 ba 63 72 65 61 74 movabs $0x7320657461657263,%rdx
4023a7: 65 20 73
4023aa: 49 89 47 10 mov %rax,0x10(%r15)
4023ae: 49 89 57 18 mov %rdx,0x18(%r15)
4023b2: 41 c7 47 20 6f 63 6b movl $0x656b636f,0x20(%r15)
4023b9: 65
4023ba: 66 41 c7 47 24 74 00 movw $0x74,0x24(%r15)
4023c1: b8 ff ff ff ff mov $0xffffffff,%eax
4023c6: e9 03 03 00 00 jmp 4026ce <submitr+0x4f0>
4023cb: 48 b8 45 72 72 6f 72 movabs $0x44203a726f727245,%rax
4023d2: 3a 20 44
4023d5: 48 ba 4e 53 20 69 73 movabs $0x6e7520736920534e,%rdx
4023dc: 20 75 6e
4023df: 49 89 07 mov %rax,(%r15)
4023e2: 49 89 57 08 mov %rdx,0x8(%r15)
4023e6: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
4023ed: 74 6f 20
4023f0: 48 ba 72 65 73 6f 6c movabs $0x2065766c6f736572,%rdx
4023f7: 76 65 20
4023fa: 49 89 47 10 mov %rax,0x10(%r15)
4023fe: 49 89 57 18 mov %rdx,0x18(%r15)
402402: 48 b8 73 65 72 76 65 movabs $0x6120726576726573,%rax
402409: 72 20 61
40240c: 49 89 47 20 mov %rax,0x20(%r15)
402410: 41 c7 47 28 64 64 72 movl $0x65726464,0x28(%r15)
402417: 65
402418: 66 41 c7 47 2c 73 73 movw $0x7373,0x2c(%r15)
40241f: 41 c6 47 2e 00 movb $0x0,0x2e(%r15)
402424: 44 89 e7 mov %r12d,%edi
402427: e8 64 ee ff ff call 401290 <close@plt>
40242c: b8 ff ff ff ff mov $0xffffffff,%eax
402431: e9 98 02 00 00 jmp 4026ce <submitr+0x4f0>
402436: 48 b8 45 72 72 6f 72 movabs $0x55203a726f727245,%rax
40243d: 3a 20 55
402440: 48 ba 6e 61 62 6c 65 movabs $0x6f7420656c62616e,%rdx
402447: 20 74 6f
40244a: 49 89 07 mov %rax,(%r15)
40244d: 49 89 57 08 mov %rdx,0x8(%r15)
402451: 48 b8 20 63 6f 6e 6e movabs $0x7463656e6e6f6320,%rax
402458: 65 63 74
40245b: 48 ba 20 74 6f 20 74 movabs $0x20656874206f7420,%rdx
402462: 68 65 20
402465: 49 89 47 10 mov %rax,0x10(%r15)
402469: 49 89 57 18 mov %rdx,0x18(%r15)
40246d: 41 c7 47 20 73 65 72 movl $0x76726573,0x20(%r15)
402474: 76
402475: 66 41 c7 47 24 65 72 movw $0x7265,0x24(%r15)
40247c: 41 c6 47 26 00 movb $0x0,0x26(%r15)
402481: 44 89 e7 mov %r12d,%edi
402484: e8 07 ee ff ff call 401290 <close@plt>
402489: b8 ff ff ff ff mov $0xffffffff,%eax
40248e: e9 3b 02 00 00 jmp 4026ce <submitr+0x4f0>
402493: 48 b8 45 72 72 6f 72 movabs $0x52203a726f727245,%rax
40249a: 3a 20 52
40249d: 48 ba 65 73 75 6c 74 movabs $0x747320746c757365,%rdx
4024a4: 20 73 74
4024a7: 49 89 07 mov %rax,(%r15)
4024aa: 49 89 57 08 mov %rdx,0x8(%r15)
4024ae: 48 b8 72 69 6e 67 20 movabs $0x6f6f7420676e6972,%rax
4024b5: 74 6f 6f
4024b8: 48 ba 20 6c 61 72 67 movabs $0x202e656772616c20,%rdx
4024bf: 65 2e 20
4024c2: 49 89 47 10 mov %rax,0x10(%r15)
4024c6: 49 89 57 18 mov %rdx,0x18(%r15)
4024ca: 48 b8 49 6e 63 72 65 movabs $0x6573616572636e49,%rax
4024d1: 61 73 65
4024d4: 48 ba 20 53 55 42 4d movabs $0x5254494d42555320,%rdx
4024db: 49 54 52
4024de: 49 89 47 20 mov %rax,0x20(%r15)
4024e2: 49 89 57 28 mov %rdx,0x28(%r15)
4024e6: 48 b8 5f 4d 41 58 42 movabs $0x46554258414d5f,%rax
4024ed: 55 46 00
4024f0: 49 89 47 30 mov %rax,0x30(%r15)
4024f4: 44 89 e7 mov %r12d,%edi
4024f7: e8 94 ed ff ff call 401290 <close@plt>
4024fc: b8 ff ff ff ff mov $0xffffffff,%eax
402501: e9 c8 01 00 00 jmp 4026ce <submitr+0x4f0>
402506: 49 0f a3 c6 bt %rax,%r14
40250a: 73 21 jae 40252d <submitr+0x34f>
40250c: 44 88 45 00 mov %r8b,0x0(%rbp)
402510: 48 8d 6d 01 lea 0x1(%rbp),%rbp
402514: 48 83 c3 01 add $0x1,%rbx
402518: 4c 39 eb cmp %r13,%rbx
40251b: 0f 84 35 03 00 00 je 402856 <submitr+0x678>
402521: 44 0f b6 03 movzbl (%rbx),%r8d
402525: 41 8d 40 d6 lea -0x2a(%r8),%eax
402529: 3c 35 cmp $0x35,%al
40252b: 76 d9 jbe 402506 <submitr+0x328>
40252d: 44 89 c0 mov %r8d,%eax
402530: 83 e0 df and $0xffffffdf,%eax
402533: 83 e8 41 sub $0x41,%eax
402536: 3c 19 cmp $0x19,%al
402538: 76 d2 jbe 40250c <submitr+0x32e>
40253a: 41 80 f8 20 cmp $0x20,%r8b
40253e: 74 60 je 4025a0 <submitr+0x3c2>
402540: 41 8d 40 e0 lea -0x20(%r8),%eax
402544: 3c 5f cmp $0x5f,%al
402546: 76 0a jbe 402552 <submitr+0x374>
402548: 41 80 f8 09 cmp $0x9,%r8b
40254c: 0f 85 77 02 00 00 jne 4027c9 <submitr+0x5eb>
402552: 45 0f b6 c0 movzbl %r8b,%r8d
402556: 48 8d 0d 51 10 00 00 lea 0x1051(%rip),%rcx # 4035ae <array.0+0x40e>
40255d: ba 08 00 00 00 mov $0x8,%edx
402562: be 01 00 00 00 mov $0x1,%esi
402567: 48 8b 7c 24 28 mov 0x28(%rsp),%rdi
40256c: b8 00 00 00 00 mov $0x0,%eax
402571: e8 3a ee ff ff call 4013b0 <__sprintf_chk@plt>
402576: 0f b6 84 24 60 80 00 movzbl 0x8060(%rsp),%eax
40257d: 00
40257e: 88 45 00 mov %al,0x0(%rbp)
402581: 0f b6 84 24 61 80 00 movzbl 0x8061(%rsp),%eax
402588: 00
402589: 88 45 01 mov %al,0x1(%rbp)
40258c: 0f b6 84 24 62 80 00 movzbl 0x8062(%rsp),%eax
402593: 00
402594: 88 45 02 mov %al,0x2(%rbp)
402597: 48 8d 6d 03 lea 0x3(%rbp),%rbp
40259b: e9 74 ff ff ff jmp 402514 <submitr+0x336>
4025a0: c6 45 00 2b movb $0x2b,0x0(%rbp)
4025a4: 48 8d 6d 01 lea 0x1(%rbp),%rbp
4025a8: e9 67 ff ff ff jmp 402514 <submitr+0x336>
4025ad: 48 01 c5 add %rax,%rbp
4025b0: 48 29 c3 sub %rax,%rbx
4025b3: 0f 84 08 03 00 00 je 4028c1 <submitr+0x6e3>
4025b9: 48 89 da mov %rbx,%rdx
4025bc: 48 89 ee mov %rbp,%rsi
4025bf: 44 89 e7 mov %r12d,%edi
4025c2: e8 89 ec ff ff call 401250 <write@plt>
4025c7: 48 85 c0 test %rax,%rax
4025ca: 7f e1 jg 4025ad <submitr+0x3cf>
4025cc: e8 4f ec ff ff call 401220 <__errno_location@plt>
4025d1: 83 38 04 cmpl $0x4,(%rax)
4025d4: 0f 85 90 01 00 00 jne 40276a <submitr+0x58c>
4025da: 4c 89 e8 mov %r13,%rax
4025dd: eb ce jmp 4025ad <submitr+0x3cf>
4025df: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax
4025e6: 3a 20 43
4025e9: 48 ba 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rdx
4025f0: 20 75 6e
4025f3: 49 89 07 mov %rax,(%r15)
4025f6: 49 89 57 08 mov %rdx,0x8(%r15)
4025fa: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
402601: 74 6f 20
402604: 48 ba 72 65 61 64 20 movabs $0x7269662064616572,%rdx
40260b: 66 69 72
40260e: 49 89 47 10 mov %rax,0x10(%r15)
402612: 49 89 57 18 mov %rdx,0x18(%r15)
402616: 48 b8 73 74 20 68 65 movabs $0x6564616568207473,%rax
40261d: 61 64 65
402620: 48 ba 72 20 66 72 6f movabs $0x73206d6f72662072,%rdx
402627: 6d 20 73
40262a: 49 89 47 20 mov %rax,0x20(%r15)
40262e: 49 89 57 28 mov %rdx,0x28(%r15)
402632: 41 c7 47 30 65 72 76 movl $0x65767265,0x30(%r15)
402639: 65
40263a: 66 41 c7 47 34 72 00 movw $0x72,0x34(%r15)
402641: 44 89 e7 mov %r12d,%edi
402644: e8 47 ec ff ff call 401290 <close@plt>
402649: b8 ff ff ff ff mov $0xffffffff,%eax
40264e: eb 7e jmp 4026ce <submitr+0x4f0>
402650: 4c 8d 8c 24 60 80 00 lea 0x8060(%rsp),%r9
402657: 00
402658: 48 8d 0d a1 0e 00 00 lea 0xea1(%rip),%rcx # 403500 <array.0+0x360>
40265f: 48 c7 c2 ff ff ff ff mov $0xffffffffffffffff,%rdx
402666: be 01 00 00 00 mov $0x1,%esi
40266b: 4c 89 ff mov %r15,%rdi
40266e: b8 00 00 00 00 mov $0x0,%eax
402673: e8 38 ed ff ff call 4013b0 <__sprintf_chk@plt>
402678: 44 89 e7 mov %r12d,%edi
40267b: e8 10 ec ff ff call 401290 <close@plt>
402680: b8 ff ff ff ff mov $0xffffffff,%eax
402685: eb 47 jmp 4026ce <submitr+0x4f0>
402687: 48 8d b4 24 60 20 00 lea 0x2060(%rsp),%rsi
40268e: 00
40268f: 48 8d 7c 24 50 lea 0x50(%rsp),%rdi
402694: ba 00 20 00 00 mov $0x2000,%edx
402699: e8 74 fa ff ff call 402112 <rio_readlineb>
40269e: 48 85 c0 test %rax,%rax
4026a1: 7e 54 jle 4026f7 <submitr+0x519>
4026a3: 48 8d b4 24 60 20 00 lea 0x2060(%rsp),%rsi
4026aa: 00
4026ab: 4c 89 ff mov %r15,%rdi
4026ae: e8 7d eb ff ff call 401230 <strcpy@plt>
4026b3: 44 89 e7 mov %r12d,%edi
4026b6: e8 d5 eb ff ff call 401290 <close@plt>
4026bb: 48 8d 35 07 0f 00 00 lea 0xf07(%rip),%rsi # 4035c9 <array.0+0x429>
4026c2: 4c 89 ff mov %r15,%rdi
4026c5: e8 f6 eb ff ff call 4012c0 <strcmp@plt>
4026ca: f7 d8 neg %eax
4026cc: 19 c0 sbb %eax,%eax
4026ce: 48 8b 94 24 68 a0 00 mov 0xa068(%rsp),%rdx
4026d5: 00
4026d6: 64 48 2b 14 25 28 00 sub %fs:0x28,%rdx
4026dd: 00 00
4026df: 0f 85 f8 02 00 00 jne 4029dd <submitr+0x7ff>
4026e5: 48 81 c4 78 a0 00 00 add $0xa078,%rsp
4026ec: 5b pop %rbx
4026ed: 5d pop %rbp
4026ee: 41 5c pop %r12
4026f0: 41 5d pop %r13
4026f2: 41 5e pop %r14
4026f4: 41 5f pop %r15
4026f6: c3 ret
4026f7: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax
4026fe: 3a 20 43
402701: 48 ba 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rdx
402708: 20 75 6e
40270b: 49 89 07 mov %rax,(%r15)
40270e: 49 89 57 08 mov %rdx,0x8(%r15)
402712: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
402719: 74 6f 20
40271c: 48 ba 72 65 61 64 20 movabs $0x6174732064616572,%rdx
402723: 73 74 61
402726: 49 89 47 10 mov %rax,0x10(%r15)
40272a: 49 89 57 18 mov %rdx,0x18(%r15)
40272e: 48 b8 74 75 73 20 6d movabs $0x7373656d20737574,%rax
402735: 65 73 73
402738: 48 ba 61 67 65 20 66 movabs $0x6d6f726620656761,%rdx
40273f: 72 6f 6d
402742: 49 89 47 20 mov %rax,0x20(%r15)
402746: 49 89 57 28 mov %rdx,0x28(%r15)
40274a: 48 b8 20 73 65 72 76 movabs $0x72657672657320,%rax
402751: 65 72 00
402754: 49 89 47 30 mov %rax,0x30(%r15)
402758: 44 89 e7 mov %r12d,%edi
40275b: e8 30 eb ff ff call 401290 <close@plt>
402760: b8 ff ff ff ff mov $0xffffffff,%eax
402765: e9 64 ff ff ff jmp 4026ce <submitr+0x4f0>
40276a: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax
402771: 3a 20 43
402774: 48 ba 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rdx
40277b: 20 75 6e
40277e: 49 89 07 mov %rax,(%r15)
402781: 49 89 57 08 mov %rdx,0x8(%r15)
402785: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
40278c: 74 6f 20
40278f: 48 ba 77 72 69 74 65 movabs $0x6f74206574697277,%rdx
402796: 20 74 6f
402799: 49 89 47 10 mov %rax,0x10(%r15)
40279d: 49 89 57 18 mov %rdx,0x18(%r15)
4027a1: 48 b8 20 74 68 65 20 movabs $0x7265732065687420,%rax
4027a8: 73 65 72
4027ab: 49 89 47 20 mov %rax,0x20(%r15)
4027af: 41 c7 47 28 76 65 72 movl $0x726576,0x28(%r15)
4027b6: 00
4027b7: 44 89 e7 mov %r12d,%edi
4027ba: e8 d1 ea ff ff call 401290 <close@plt>
4027bf: b8 ff ff ff ff mov $0xffffffff,%eax
4027c4: e9 05 ff ff ff jmp 4026ce <submitr+0x4f0>
4027c9: 48 b8 45 72 72 6f 72 movabs $0x52203a726f727245,%rax
4027d0: 3a 20 52
4027d3: 48 ba 65 73 75 6c 74 movabs $0x747320746c757365,%rdx
4027da: 20 73 74
4027dd: 49 89 07 mov %rax,(%r15)
4027e0: 49 89 57 08 mov %rdx,0x8(%r15)
4027e4: 48 b8 72 69 6e 67 20 movabs $0x6e6f6320676e6972,%rax
4027eb: 63 6f 6e
4027ee: 48 ba 74 61 69 6e 73 movabs $0x6e6120736e696174,%rdx
4027f5: 20 61 6e
4027f8: 49 89 47 10 mov %rax,0x10(%r15)
4027fc: 49 89 57 18 mov %rdx,0x18(%r15)
402800: 48 b8 20 69 6c 6c 65 movabs $0x6c6167656c6c6920,%rax
402807: 67 61 6c
40280a: 48 ba 20 6f 72 20 75 movabs $0x72706e7520726f20,%rdx
402811: 6e 70 72
402814: 49 89 47 20 mov %rax,0x20(%r15)
402818: 49 89 57 28 mov %rdx,0x28(%r15)
40281c: 48 b8 69 6e 74 61 62 movabs $0x20656c6261746e69,%rax
402823: 6c 65 20
402826: 48 ba 63 68 61 72 61 movabs $0x6574636172616863,%rdx
40282d: 63 74 65
402830: 49 89 47 30 mov %rax,0x30(%r15)
402834: 49 89 57 38 mov %rdx,0x38(%r15)
402838: 66 41 c7 47 40 72 2e movw $0x2e72,0x40(%r15)
40283f: 41 c6 47 42 00 movb $0x0,0x42(%r15)
402844: 44 89 e7 mov %r12d,%edi
402847: e8 44 ea ff ff call 401290 <close@plt>
40284c: b8 ff ff ff ff mov $0xffffffff,%eax
402851: e9 78 fe ff ff jmp 4026ce <submitr+0x4f0>
402856: 48 8d 9c 24 60 20 00 lea 0x2060(%rsp),%rbx
40285d: 00
40285e: 48 83 ec 08 sub $0x8,%rsp
402862: 48 8d 84 24 68 40 00 lea 0x4068(%rsp),%rax
402869: 00
40286a: 50 push %rax
40286b: ff 74 24 28 push 0x28(%rsp)
40286f: ff 74 24 38 push 0x38(%rsp)
402873: 4c 8b 4c 24 30 mov 0x30(%rsp),%r9
402878: 4c 8b 44 24 28 mov 0x28(%rsp),%r8
40287d: 48 8d 0d ac 0c 00 00 lea 0xcac(%rip),%rcx # 403530 <array.0+0x390>
402884: ba 00 20 00 00 mov $0x2000,%edx
402889: be 01 00 00 00 mov $0x1,%esi
40288e: 48 89 df mov %rbx,%rdi
402891: b8 00 00 00 00 mov $0x0,%eax
402896: e8 15 eb ff ff call 4013b0 <__sprintf_chk@plt>
40289b: 48 83 c4 20 add $0x20,%rsp
40289f: 48 89 df mov %rbx,%rdi
4028a2: e8 b9 e9 ff ff call 401260 <strlen@plt>
4028a7: 48 89 c3 mov %rax,%rbx
4028aa: 48 8d ac 24 60 20 00 lea 0x2060(%rsp),%rbp
4028b1: 00
4028b2: 41 bd 00 00 00 00 mov $0x0,%r13d
4028b8: 48 85 c0 test %rax,%rax
4028bb: 0f 85 f8 fc ff ff jne 4025b9 <submitr+0x3db>
4028c1: 44 89 64 24 50 mov %r12d,0x50(%rsp)
4028c6: c7 44 24 54 00 00 00 movl $0x0,0x54(%rsp)
4028cd: 00
4028ce: 48 8d 7c 24 50 lea 0x50(%rsp),%rdi
4028d3: 48 8d 44 24 60 lea 0x60(%rsp),%rax
4028d8: 48 89 44 24 58 mov %rax,0x58(%rsp)
4028dd: 48 8d b4 24 60 20 00 lea 0x2060(%rsp),%rsi
4028e4: 00
4028e5: ba 00 20 00 00 mov $0x2000,%edx
4028ea: e8 23 f8 ff ff call 402112 <rio_readlineb>
4028ef: 48 85 c0 test %rax,%rax
4028f2: 0f 8e e7 fc ff ff jle 4025df <submitr+0x401>
4028f8: 48 8d 4c 24 3c lea 0x3c(%rsp),%rcx
4028fd: 48 8d 94 24 60 60 00 lea 0x6060(%rsp),%rdx
402904: 00
402905: 48 8d bc 24 60 20 00 lea 0x2060(%rsp),%rdi
40290c: 00
40290d: 4c 8d 84 24 60 80 00 lea 0x8060(%rsp),%r8
402914: 00
402915: 48 8d 35 99 0c 00 00 lea 0xc99(%rip),%rsi # 4035b5 <array.0+0x415>
40291c: b8 00 00 00 00 mov $0x0,%eax
402921: e8 fa e9 ff ff call 401320 <__isoc99_sscanf@plt>
402926: 44 8b 44 24 3c mov 0x3c(%rsp),%r8d
40292b: 41 81 f8 c8 00 00 00 cmp $0xc8,%r8d
402932: 0f 85 18 fd ff ff jne 402650 <submitr+0x472>
402938: 48 8d 1d 87 0c 00 00 lea 0xc87(%rip),%rbx # 4035c6 <array.0+0x426>
40293f: 48 8d bc 24 60 20 00 lea 0x2060(%rsp),%rdi
402946: 00
402947: 48 89 de mov %rbx,%rsi
40294a: e8 71 e9 ff ff call 4012c0 <strcmp@plt>
40294f: 85 c0 test %eax,%eax
402951: 0f 84 30 fd ff ff je 402687 <submitr+0x4a9>
402957: 48 8d b4 24 60 20 00 lea 0x2060(%rsp),%rsi
40295e: 00
40295f: 48 8d 7c 24 50 lea 0x50(%rsp),%rdi
402964: ba 00 20 00 00 mov $0x2000,%edx
402969: e8 a4 f7 ff ff call 402112 <rio_readlineb>
40296e: 48 85 c0 test %rax,%rax
402971: 7f cc jg 40293f <submitr+0x761>
402973: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax
40297a: 3a 20 43
40297d: 48 ba 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rdx
402984: 20 75 6e
402987: 49 89 07 mov %rax,(%r15)
40298a: 49 89 57 08 mov %rdx,0x8(%r15)
40298e: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
402995: 74 6f 20
402998: 48 ba 72 65 61 64 20 movabs $0x6165682064616572,%rdx
40299f: 68 65 61
4029a2: 49 89 47 10 mov %rax,0x10(%r15)
4029a6: 49 89 57 18 mov %rdx,0x18(%r15)
4029aa: 48 b8 64 65 72 73 20 movabs $0x6f72662073726564,%rax
4029b1: 66 72 6f
4029b4: 48 ba 6d 20 73 65 72 movabs $0x726576726573206d,%rdx
4029bb: 76 65 72
4029be: 49 89 47 20 mov %rax,0x20(%r15)
4029c2: 49 89 57 28 mov %rdx,0x28(%r15)
4029c6: 41 c6 47 30 00 movb $0x0,0x30(%r15)
4029cb: 44 89 e7 mov %r12d,%edi
4029ce: e8 bd e8 ff ff call 401290 <close@plt>
4029d3: b8 ff ff ff ff mov $0xffffffff,%eax
4029d8: e9 f1 fc ff ff jmp 4026ce <submitr+0x4f0>
4029dd: e8 8e e8 ff ff call 401270 <__stack_chk_fail@plt>
00000000004029e2 <init_timeout>:
4029e2: f3 0f 1e fa endbr64
4029e6: 85 ff test %edi,%edi
4029e8: 75 01 jne 4029eb <init_timeout+0x9>
4029ea: c3 ret
4029eb: 53 push %rbx
4029ec: 89 fb mov %edi,%ebx
4029ee: 48 8d 35 e7 f6 ff ff lea -0x919(%rip),%rsi # 4020dc <sigalrm_handler>
4029f5: bf 0e 00 00 00 mov $0xe,%edi
4029fa: e8 d1 e8 ff ff call 4012d0 <signal@plt>
4029ff: 85 db test %ebx,%ebx
402a01: b8 00 00 00 00 mov $0x0,%eax
402a06: 0f 49 c3 cmovns %ebx,%eax
402a09: 89 c7 mov %eax,%edi
402a0b: e8 70 e8 ff ff call 401280 <alarm@plt>
402a10: 5b pop %rbx
402a11: c3 ret
0000000000402a12 <init_driver>:
402a12: f3 0f 1e fa endbr64
402a16: 41 54 push %r12
402a18: 55 push %rbp
402a19: 53 push %rbx
402a1a: 48 83 ec 20 sub $0x20,%rsp
402a1e: 48 89 fd mov %rdi,%rbp
402a21: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
402a28: 00 00
402a2a: 48 89 44 24 18 mov %rax,0x18(%rsp)
402a2f: 31 c0 xor %eax,%eax
402a31: be 01 00 00 00 mov $0x1,%esi
402a36: bf 0d 00 00 00 mov $0xd,%edi
402a3b: e8 90 e8 ff ff call 4012d0 <signal@plt>
402a40: be 01 00 00 00 mov $0x1,%esi
402a45: bf 1d 00 00 00 mov $0x1d,%edi
402a4a: e8 81 e8 ff ff call 4012d0 <signal@plt>
402a4f: be 01 00 00 00 mov $0x1,%esi
402a54: bf 1d 00 00 00 mov $0x1d,%edi
402a59: e8 72 e8 ff ff call 4012d0 <signal@plt>
402a5e: ba 00 00 00 00 mov $0x0,%edx
402a63: be 01 00 00 00 mov $0x1,%esi
402a68: bf 02 00 00 00 mov $0x2,%edi
402a6d: e8 4e e9 ff ff call 4013c0 <socket@plt>
402a72: 85 c0 test %eax,%eax
402a74: 0f 88 9c 00 00 00 js 402b16 <init_driver+0x104>
402a7a: 89 c3 mov %eax,%ebx
402a7c: 48 8d 3d 49 0b 00 00 lea 0xb49(%rip),%rdi # 4035cc <array.0+0x42c>
402a83: e8 58 e8 ff ff call 4012e0 <gethostbyname@plt>
402a88: 48 85 c0 test %rax,%rax
402a8b: 0f 84 d1 00 00 00 je 402b62 <init_driver+0x150>
402a91: 49 89 e4 mov %rsp,%r12
402a94: 48 c7 04 24 00 00 00 movq $0x0,(%rsp)
402a9b: 00
402a9c: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
402aa3: 00 00
402aa5: 66 c7 04 24 02 00 movw $0x2,(%rsp)
402aab: 48 63 50 14 movslq 0x14(%rax),%rdx
402aaf: 48 8b 40 18 mov 0x18(%rax),%rax
402ab3: 48 8d 7c 24 04 lea 0x4(%rsp),%rdi
402ab8: b9 0c 00 00 00 mov $0xc,%ecx
402abd: 48 8b 30 mov (%rax),%rsi
402ac0: e8 2b e8 ff ff call 4012f0 <__memmove_chk@plt>
402ac5: 66 c7 44 24 02 3b 6e movw $0x6e3b,0x2(%rsp)
402acc: ba 10 00 00 00 mov $0x10,%edx
402ad1: 4c 89 e6 mov %r12,%rsi
402ad4: 89 df mov %ebx,%edi
402ad6: e8 95 e8 ff ff call 401370 <connect@plt>
402adb: 85 c0 test %eax,%eax
402add: 0f 88 e7 00 00 00 js 402bca <init_driver+0x1b8>
402ae3: 89 df mov %ebx,%edi
402ae5: e8 a6 e7 ff ff call 401290 <close@plt>
402aea: 66 c7 45 00 4f 4b movw $0x4b4f,0x0(%rbp)
402af0: c6 45 02 00 movb $0x0,0x2(%rbp)
402af4: b8 00 00 00 00 mov $0x0,%eax
402af9: 48 8b 54 24 18 mov 0x18(%rsp),%rdx
402afe: 64 48 2b 14 25 28 00 sub %fs:0x28,%rdx
402b05: 00 00
402b07: 0f 85 f5 00 00 00 jne 402c02 <init_driver+0x1f0>
402b0d: 48 83 c4 20 add $0x20,%rsp
402b11: 5b pop %rbx
402b12: 5d pop %rbp
402b13: 41 5c pop %r12
402b15: c3 ret
402b16: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax
402b1d: 3a 20 43
402b20: 48 ba 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rdx
402b27: 20 75 6e
402b2a: 48 89 45 00 mov %rax,0x0(%rbp)
402b2e: 48 89 55 08 mov %rdx,0x8(%rbp)
402b32: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
402b39: 74 6f 20
402b3c: 48 ba 63 72 65 61 74 movabs $0x7320657461657263,%rdx
402b43: 65 20 73
402b46: 48 89 45 10 mov %rax,0x10(%rbp)
402b4a: 48 89 55 18 mov %rdx,0x18(%rbp)
402b4e: c7 45 20 6f 63 6b 65 movl $0x656b636f,0x20(%rbp)
402b55: 66 c7 45 24 74 00 movw $0x74,0x24(%rbp)
402b5b: b8 ff ff ff ff mov $0xffffffff,%eax
402b60: eb 97 jmp 402af9 <init_driver+0xe7>
402b62: 48 b8 45 72 72 6f 72 movabs $0x44203a726f727245,%rax
402b69: 3a 20 44
402b6c: 48 ba 4e 53 20 69 73 movabs $0x6e7520736920534e,%rdx
402b73: 20 75 6e
402b76: 48 89 45 00 mov %rax,0x0(%rbp)
402b7a: 48 89 55 08 mov %rdx,0x8(%rbp)
402b7e: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
402b85: 74 6f 20
402b88: 48 ba 72 65 73 6f 6c movabs $0x2065766c6f736572,%rdx
402b8f: 76 65 20
402b92: 48 89 45 10 mov %rax,0x10(%rbp)
402b96: 48 89 55 18 mov %rdx,0x18(%rbp)
402b9a: 48 b8 73 65 72 76 65 movabs $0x6120726576726573,%rax
402ba1: 72 20 61
402ba4: 48 89 45 20 mov %rax,0x20(%rbp)
402ba8: c7 45 28 64 64 72 65 movl $0x65726464,0x28(%rbp)
402baf: 66 c7 45 2c 73 73 movw $0x7373,0x2c(%rbp)
402bb5: c6 45 2e 00 movb $0x0,0x2e(%rbp)
402bb9: 89 df mov %ebx,%edi
402bbb: e8 d0 e6 ff ff call 401290 <close@plt>
402bc0: b8 ff ff ff ff mov $0xffffffff,%eax
402bc5: e9 2f ff ff ff jmp 402af9 <init_driver+0xe7>
402bca: 4c 8d 05 fb 09 00 00 lea 0x9fb(%rip),%r8 # 4035cc <array.0+0x42c>
402bd1: 48 8d 0d b0 09 00 00 lea 0x9b0(%rip),%rcx # 403588 <array.0+0x3e8>
402bd8: 48 c7 c2 ff ff ff ff mov $0xffffffffffffffff,%rdx
402bdf: be 01 00 00 00 mov $0x1,%esi
402be4: 48 89 ef mov %rbp,%rdi
402be7: b8 00 00 00 00 mov $0x0,%eax
402bec: e8 bf e7 ff ff call 4013b0 <__sprintf_chk@plt>
402bf1: 89 df mov %ebx,%edi
402bf3: e8 98 e6 ff ff call 401290 <close@plt>
402bf8: b8 ff ff ff ff mov $0xffffffff,%eax
402bfd: e9 f7 fe ff ff jmp 402af9 <init_driver+0xe7>
402c02: e8 69 e6 ff ff call 401270 <__stack_chk_fail@plt>
0000000000402c07 <driver_post>:
402c07: f3 0f 1e fa endbr64
402c0b: 53 push %rbx
402c0c: 4c 89 c3 mov %r8,%rbx
402c0f: 85 c9 test %ecx,%ecx
402c11: 75 17 jne 402c2a <driver_post+0x23>
402c13: 48 85 ff test %rdi,%rdi
402c16: 74 05 je 402c1d <driver_post+0x16>
402c18: 80 3f 00 cmpb $0x0,(%rdi)
402c1b: 75 33 jne 402c50 <driver_post+0x49>
402c1d: 66 c7 03 4f 4b movw $0x4b4f,(%rbx)
402c22: c6 43 02 00 movb $0x0,0x2(%rbx)
402c26: 89 c8 mov %ecx,%eax
402c28: 5b pop %rbx
402c29: c3 ret
402c2a: 48 8d 35 aa 09 00 00 lea 0x9aa(%rip),%rsi # 4035db <array.0+0x43b>
402c31: bf 01 00 00 00 mov $0x1,%edi
402c36: b8 00 00 00 00 mov $0x0,%eax
402c3b: e8 f0 e6 ff ff call 401330 <__printf_chk@plt>
402c40: 66 c7 03 4f 4b movw $0x4b4f,(%rbx)
402c45: c6 43 02 00 movb $0x0,0x2(%rbx)
402c49: b8 00 00 00 00 mov $0x0,%eax
402c4e: eb d8 jmp 402c28 <driver_post+0x21>
402c50: 41 50 push %r8
402c52: 52 push %rdx
402c53: 4c 8d 0d 98 09 00 00 lea 0x998(%rip),%r9 # 4035f2 <array.0+0x452>
402c5a: 49 89 f0 mov %rsi,%r8
402c5d: 48 89 f9 mov %rdi,%rcx
402c60: 48 8d 15 8f 09 00 00 lea 0x98f(%rip),%rdx # 4035f6 <array.0+0x456>
402c67: be 6e 3b 00 00 mov $0x3b6e,%esi
402c6c: 48 8d 3d 59 09 00 00 lea 0x959(%rip),%rdi # 4035cc <array.0+0x42c>
402c73: e8 66 f5 ff ff call 4021de <submitr>
402c78: 48 83 c4 10 add $0x10,%rsp
402c7c: eb aa jmp 402c28 <driver_post+0x21>
Disassembly of section .fini:
0000000000402c80 <_fini>:
402c80: f3 0f 1e fa endbr64
402c84: 48 83 ec 08 sub $0x8,%rsp
402c88: 48 83 c4 08 add $0x8,%rsp
402c8c: c3 ret