0% found this document useful (0 votes)
93 views

Bomblab Tutorial Link

The document contains disassembly code for the initialization and procedure linkage table sections of an ELF 64-bit executable. It shows the instructions for setting up stacks and calling external library functions. The procedure linkage table maps function names to addresses for getenv, strcasecmp, printf and other standard library functions.

Uploaded by

Ans Azeem
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views

Bomblab Tutorial Link

The document contains disassembly code for the initialization and procedure linkage table sections of an ELF 64-bit executable. It shows the instructions for setting up stacks and calling external library functions. The procedure linkage table maps function names to addresses for getenv, strcasecmp, printf and other standard library functions.

Uploaded by

Ans Azeem
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 31

bomb: file format elf64-x86-64

Disassembly of section .init:

0000000000400ad0 <_init>:
400ad0: 48 83 ec 08 sub $0x8,%rsp
400ad4: 48 8b 05 1d 35 20 00 mov 0x20351d(%rip),%rax # 603ff8
<__gmon_start__>
400adb: 48 85 c0 test %rax,%rax
400ade: 74 05 je 400ae5 <_init+0x15>
400ae0: e8 0b 01 00 00 callq 400bf0 <__gmon_start__@plt>
400ae5: 48 83 c4 08 add $0x8,%rsp
400ae9: c3 retq

Disassembly of section .plt:

0000000000400af0 <.plt>:
400af0: ff 35 12 35 20 00 pushq 0x203512(%rip) # 604008
<_GLOBAL_OFFSET_TABLE_+0x8>
400af6: ff 25 14 35 20 00 jmpq *0x203514(%rip) # 604010
<_GLOBAL_OFFSET_TABLE_+0x10>
400afc: 0f 1f 40 00 nopl 0x0(%rax)

0000000000400b00 <getenv@plt>:
400b00: ff 25 12 35 20 00 jmpq *0x203512(%rip) # 604018
<getenv@GLIBC_2.2.5>
400b06: 68 00 00 00 00 pushq $0x0
400b0b: e9 e0 ff ff ff jmpq 400af0 <.plt>

0000000000400b10 <strcasecmp@plt>:
400b10: ff 25 0a 35 20 00 jmpq *0x20350a(%rip) # 604020
<strcasecmp@GLIBC_2.2.5>
400b16: 68 01 00 00 00 pushq $0x1
400b1b: e9 d0 ff ff ff jmpq 400af0 <.plt>

0000000000400b20 <__errno_location@plt>:
400b20: ff 25 02 35 20 00 jmpq *0x203502(%rip) # 604028
<__errno_location@GLIBC_2.2.5>
400b26: 68 02 00 00 00 pushq $0x2
400b2b: e9 c0 ff ff ff jmpq 400af0 <.plt>

0000000000400b30 <strcpy@plt>:
400b30: ff 25 fa 34 20 00 jmpq *0x2034fa(%rip) # 604030
<strcpy@GLIBC_2.2.5>
400b36: 68 03 00 00 00 pushq $0x3
400b3b: e9 b0 ff ff ff jmpq 400af0 <.plt>

0000000000400b40 <puts@plt>:
400b40: ff 25 f2 34 20 00 jmpq *0x2034f2(%rip) # 604038
<puts@GLIBC_2.2.5>
400b46: 68 04 00 00 00 pushq $0x4
400b4b: e9 a0 ff ff ff jmpq 400af0 <.plt>

0000000000400b50 <write@plt>:
400b50: ff 25 ea 34 20 00 jmpq *0x2034ea(%rip) # 604040
<write@GLIBC_2.2.5>
400b56: 68 05 00 00 00 pushq $0x5
400b5b: e9 90 ff ff ff jmpq 400af0 <.plt>

0000000000400b60 <printf@plt>:
400b60: ff 25 e2 34 20 00 jmpq *0x2034e2(%rip) # 604048
<printf@GLIBC_2.2.5>
400b66: 68 06 00 00 00 pushq $0x6
400b6b: e9 80 ff ff ff jmpq 400af0 <.plt>

0000000000400b70 <alarm@plt>:
400b70: ff 25 da 34 20 00 jmpq *0x2034da(%rip) # 604050
<alarm@GLIBC_2.2.5>
400b76: 68 07 00 00 00 pushq $0x7
400b7b: e9 70 ff ff ff jmpq 400af0 <.plt>

0000000000400b80 <close@plt>:
400b80: ff 25 d2 34 20 00 jmpq *0x2034d2(%rip) # 604058
<close@GLIBC_2.2.5>
400b86: 68 08 00 00 00 pushq $0x8
400b8b: e9 60 ff ff ff jmpq 400af0 <.plt>

0000000000400b90 <read@plt>:
400b90: ff 25 ca 34 20 00 jmpq *0x2034ca(%rip) # 604060
<read@GLIBC_2.2.5>
400b96: 68 09 00 00 00 pushq $0x9
400b9b: e9 50 ff ff ff jmpq 400af0 <.plt>

0000000000400ba0 <__libc_start_main@plt>:
400ba0: ff 25 c2 34 20 00 jmpq *0x2034c2(%rip) # 604068
<__libc_start_main@GLIBC_2.2.5>
400ba6: 68 0a 00 00 00 pushq $0xa
400bab: e9 40 ff ff ff jmpq 400af0 <.plt>

0000000000400bb0 <fgets@plt>:
400bb0: ff 25 ba 34 20 00 jmpq *0x2034ba(%rip) # 604070
<fgets@GLIBC_2.2.5>
400bb6: 68 0b 00 00 00 pushq $0xb
400bbb: e9 30 ff ff ff jmpq 400af0 <.plt>

0000000000400bc0 <signal@plt>:
400bc0: ff 25 b2 34 20 00 jmpq *0x2034b2(%rip) # 604078
<signal@GLIBC_2.2.5>
400bc6: 68 0c 00 00 00 pushq $0xc
400bcb: e9 20 ff ff ff jmpq 400af0 <.plt>

0000000000400bd0 <gethostbyname@plt>:
400bd0: ff 25 aa 34 20 00 jmpq *0x2034aa(%rip) # 604080
<gethostbyname@GLIBC_2.2.5>
400bd6: 68 0d 00 00 00 pushq $0xd
400bdb: e9 10 ff ff ff jmpq 400af0 <.plt>

0000000000400be0 <fprintf@plt>:
400be0: ff 25 a2 34 20 00 jmpq *0x2034a2(%rip) # 604088
<fprintf@GLIBC_2.2.5>
400be6: 68 0e 00 00 00 pushq $0xe
400beb: e9 00 ff ff ff jmpq 400af0 <.plt>

0000000000400bf0 <__gmon_start__@plt>:
400bf0: ff 25 9a 34 20 00 jmpq *0x20349a(%rip) # 604090
<__gmon_start__>
400bf6: 68 0f 00 00 00 pushq $0xf
400bfb: e9 f0 fe ff ff jmpq 400af0 <.plt>

0000000000400c00 <strtol@plt>:
400c00: ff 25 92 34 20 00 jmpq *0x203492(%rip) # 604098
<strtol@GLIBC_2.2.5>
400c06: 68 10 00 00 00 pushq $0x10
400c0b: e9 e0 fe ff ff jmpq 400af0 <.plt>

0000000000400c10 <memcpy@plt>:
400c10: ff 25 8a 34 20 00 jmpq *0x20348a(%rip) # 6040a0
<memcpy@GLIBC_2.14>
400c16: 68 11 00 00 00 pushq $0x11
400c1b: e9 d0 fe ff ff jmpq 400af0 <.plt>

0000000000400c20 <fflush@plt>:
400c20: ff 25 82 34 20 00 jmpq *0x203482(%rip) # 6040a8
<fflush@GLIBC_2.2.5>
400c26: 68 12 00 00 00 pushq $0x12
400c2b: e9 c0 fe ff ff jmpq 400af0 <.plt>

0000000000400c30 <__isoc99_sscanf@plt>:
400c30: ff 25 7a 34 20 00 jmpq *0x20347a(%rip) # 6040b0
<__isoc99_sscanf@GLIBC_2.7>
400c36: 68 13 00 00 00 pushq $0x13
400c3b: e9 b0 fe ff ff jmpq 400af0 <.plt>

0000000000400c40 <bcopy@plt>:
400c40: ff 25 72 34 20 00 jmpq *0x203472(%rip) # 6040b8
<bcopy@GLIBC_2.2.5>
400c46: 68 14 00 00 00 pushq $0x14
400c4b: e9 a0 fe ff ff jmpq 400af0 <.plt>

0000000000400c50 <fopen@plt>:
400c50: ff 25 6a 34 20 00 jmpq *0x20346a(%rip) # 6040c0
<fopen@GLIBC_2.2.5>
400c56: 68 15 00 00 00 pushq $0x15
400c5b: e9 90 fe ff ff jmpq 400af0 <.plt>

0000000000400c60 <gethostname@plt>:
400c60: ff 25 62 34 20 00 jmpq *0x203462(%rip) # 6040c8
<gethostname@GLIBC_2.2.5>
400c66: 68 16 00 00 00 pushq $0x16
400c6b: e9 80 fe ff ff jmpq 400af0 <.plt>

0000000000400c70 <sprintf@plt>:
400c70: ff 25 5a 34 20 00 jmpq *0x20345a(%rip) # 6040d0
<sprintf@GLIBC_2.2.5>
400c76: 68 17 00 00 00 pushq $0x17
400c7b: e9 70 fe ff ff jmpq 400af0 <.plt>

0000000000400c80 <exit@plt>:
400c80: ff 25 52 34 20 00 jmpq *0x203452(%rip) # 6040d8
<exit@GLIBC_2.2.5>
400c86: 68 18 00 00 00 pushq $0x18
400c8b: e9 60 fe ff ff jmpq 400af0 <.plt>

0000000000400c90 <connect@plt>:
400c90: ff 25 4a 34 20 00 jmpq *0x20344a(%rip) # 6040e0
<connect@GLIBC_2.2.5>
400c96: 68 19 00 00 00 pushq $0x19
400c9b: e9 50 fe ff ff jmpq 400af0 <.plt>

0000000000400ca0 <sleep@plt>:
400ca0: ff 25 42 34 20 00 jmpq *0x203442(%rip) # 6040e8
<sleep@GLIBC_2.2.5>
400ca6: 68 1a 00 00 00 pushq $0x1a
400cab: e9 40 fe ff ff jmpq 400af0 <.plt>

0000000000400cb0 <__ctype_b_loc@plt>:
400cb0: ff 25 3a 34 20 00 jmpq *0x20343a(%rip) # 6040f0
<__ctype_b_loc@GLIBC_2.3>
400cb6: 68 1b 00 00 00 pushq $0x1b
400cbb: e9 30 fe ff ff jmpq 400af0 <.plt>

0000000000400cc0 <socket@plt>:
400cc0: ff 25 32 34 20 00 jmpq *0x203432(%rip) # 6040f8
<socket@GLIBC_2.2.5>
400cc6: 68 1c 00 00 00 pushq $0x1c
400ccb: e9 20 fe ff ff jmpq 400af0 <.plt>

Disassembly of section .text:

0000000000400cd0 <_start>:
400cd0: 31 ed xor %ebp,%ebp
400cd2: 49 89 d1 mov %rdx,%r9
400cd5: 5e pop %rsi
400cd6: 48 89 e2 mov %rsp,%rdx
400cd9: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
400cdd: 50 push %rax
400cde: 54 push %rsp
400cdf: 49 c7 c0 20 23 40 00 mov $0x402320,%r8
400ce6: 48 c7 c1 b0 22 40 00 mov $0x4022b0,%rcx
400ced: 48 c7 c7 bd 0d 40 00 mov $0x400dbd,%rdi
400cf4: e8 a7 fe ff ff callq 400ba0 <__libc_start_main@plt>
400cf9: f4 hlt
400cfa: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)

0000000000400d00 <deregister_tm_clones>:
400d00: b8 87 47 60 00 mov $0x604787,%eax
400d05: 55 push %rbp
400d06: 48 2d 80 47 60 00 sub $0x604780,%rax
400d0c: 48 83 f8 0e cmp $0xe,%rax
400d10: 48 89 e5 mov %rsp,%rbp
400d13: 77 02 ja 400d17 <deregister_tm_clones+0x17>
400d15: 5d pop %rbp
400d16: c3 retq
400d17: b8 00 00 00 00 mov $0x0,%eax
400d1c: 48 85 c0 test %rax,%rax
400d1f: 74 f4 je 400d15 <deregister_tm_clones+0x15>
400d21: 5d pop %rbp
400d22: bf 80 47 60 00 mov $0x604780,%edi
400d27: ff e0 jmpq *%rax
400d29: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)

0000000000400d30 <register_tm_clones>:
400d30: b8 80 47 60 00 mov $0x604780,%eax
400d35: 55 push %rbp
400d36: 48 2d 80 47 60 00 sub $0x604780,%rax
400d3c: 48 c1 f8 03 sar $0x3,%rax
400d40: 48 89 e5 mov %rsp,%rbp
400d43: 48 89 c2 mov %rax,%rdx
400d46: 48 c1 ea 3f shr $0x3f,%rdx
400d4a: 48 01 d0 add %rdx,%rax
400d4d: 48 d1 f8 sar %rax
400d50: 75 02 jne 400d54 <register_tm_clones+0x24>
400d52: 5d pop %rbp
400d53: c3 retq
400d54: ba 00 00 00 00 mov $0x0,%edx
400d59: 48 85 d2 test %rdx,%rdx
400d5c: 74 f4 je 400d52 <register_tm_clones+0x22>
400d5e: 5d pop %rbp
400d5f: 48 89 c6 mov %rax,%rsi
400d62: bf 80 47 60 00 mov $0x604780,%edi
400d67: ff e2 jmpq *%rdx
400d69: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)

0000000000400d70 <__do_global_dtors_aux>:
400d70: 80 3d 21 3a 20 00 00 cmpb $0x0,0x203a21(%rip) # 604798
<completed.6355>
400d77: 75 11 jne 400d8a <__do_global_dtors_aux+0x1a>
400d79: 55 push %rbp
400d7a: 48 89 e5 mov %rsp,%rbp
400d7d: e8 7e ff ff ff callq 400d00 <deregister_tm_clones>
400d82: 5d pop %rbp
400d83: c6 05 0e 3a 20 00 01 movb $0x1,0x203a0e(%rip) # 604798
<completed.6355>
400d8a: f3 c3 repz retq
400d8c: 0f 1f 40 00 nopl 0x0(%rax)

0000000000400d90 <frame_dummy>:
400d90: 48 83 3d 88 30 20 00 cmpq $0x0,0x203088(%rip) # 603e20
<__JCR_END__>
400d97: 00
400d98: 74 1e je 400db8 <frame_dummy+0x28>
400d9a: b8 00 00 00 00 mov $0x0,%eax
400d9f: 48 85 c0 test %rax,%rax
400da2: 74 14 je 400db8 <frame_dummy+0x28>
400da4: 55 push %rbp
400da5: bf 20 3e 60 00 mov $0x603e20,%edi
400daa: 48 89 e5 mov %rsp,%rbp
400dad: ff d0 callq *%rax
400daf: 5d pop %rbp
400db0: e9 7b ff ff ff jmpq 400d30 <register_tm_clones>
400db5: 0f 1f 00 nopl (%rax)
400db8: e9 73 ff ff ff jmpq 400d30 <register_tm_clones>

0000000000400dbd <main>:
400dbd: 53 push %rbx
400dbe: 83 ff 01 cmp $0x1,%edi
400dc1: 75 10 jne 400dd3 <main+0x16>
400dc3: 48 8b 05 be 39 20 00 mov 0x2039be(%rip),%rax # 604788
<stdin@@GLIBC_2.2.5>
400dca: 48 89 05 cf 39 20 00 mov %rax,0x2039cf(%rip) # 6047a0
<infile>
400dd1: eb 59 jmp 400e2c <main+0x6f>
400dd3: 48 89 f3 mov %rsi,%rbx
400dd6: 83 ff 02 cmp $0x2,%edi
400dd9: 75 35 jne 400e10 <main+0x53>
400ddb: 48 8b 7e 08 mov 0x8(%rsi),%rdi
400ddf: be 40 23 40 00 mov $0x402340,%esi
400de4: e8 67 fe ff ff callq 400c50 <fopen@plt>
400de9: 48 89 05 b0 39 20 00 mov %rax,0x2039b0(%rip) # 6047a0
<infile>
400df0: 48 85 c0 test %rax,%rax
400df3: 75 37 jne 400e2c <main+0x6f>
400df5: 48 8b 53 08 mov 0x8(%rbx),%rdx
400df9: 48 8b 33 mov (%rbx),%rsi
400dfc: bf 42 23 40 00 mov $0x402342,%edi
400e01: e8 5a fd ff ff callq 400b60 <printf@plt>
400e06: bf 08 00 00 00 mov $0x8,%edi
400e0b: e8 70 fe ff ff callq 400c80 <exit@plt>
400e10: 48 8b 36 mov (%rsi),%rsi
400e13: bf 5f 23 40 00 mov $0x40235f,%edi
400e18: b8 00 00 00 00 mov $0x0,%eax
400e1d: e8 3e fd ff ff callq 400b60 <printf@plt>
400e22: bf 08 00 00 00 mov $0x8,%edi
400e27: e8 54 fe ff ff callq 400c80 <exit@plt>
400e2c: e8 26 05 00 00 callq 401357 <initialize_bomb>
400e31: bf c8 23 40 00 mov $0x4023c8,%edi
400e36: e8 05 fd ff ff callq 400b40 <puts@plt>
400e3b: bf 08 24 40 00 mov $0x402408,%edi
400e40: e8 fb fc ff ff callq 400b40 <puts@plt>
400e45: e8 6c 07 00 00 callq 4015b6 <read_line>
400e4a: 48 89 c7 mov %rax,%rdi
400e4d: e8 9e 00 00 00 callq 400ef0 <phase_1>
400e52: e8 85 08 00 00 callq 4016dc <phase_defused>
400e57: bf 38 24 40 00 mov $0x402438,%edi
400e5c: e8 df fc ff ff callq 400b40 <puts@plt>
400e61: e8 50 07 00 00 callq 4015b6 <read_line>
400e66: 48 89 c7 mov %rax,%rdi
400e69: e8 9e 00 00 00 callq 400f0c <phase_2>
400e6e: e8 69 08 00 00 callq 4016dc <phase_defused>
400e73: bf 79 23 40 00 mov $0x402379,%edi
400e78: e8 c3 fc ff ff callq 400b40 <puts@plt>
400e7d: e8 34 07 00 00 callq 4015b6 <read_line>
400e82: 48 89 c7 mov %rax,%rdi
400e85: e8 c9 00 00 00 callq 400f53 <phase_3>
400e8a: e8 4d 08 00 00 callq 4016dc <phase_defused>
400e8f: bf 97 23 40 00 mov $0x402397,%edi
400e94: e8 a7 fc ff ff callq 400b40 <puts@plt>
400e99: e8 18 07 00 00 callq 4015b6 <read_line>
400e9e: 48 89 c7 mov %rax,%rdi
400ea1: e8 76 01 00 00 callq 40101c <phase_4>
400ea6: e8 31 08 00 00 callq 4016dc <phase_defused>
400eab: bf 68 24 40 00 mov $0x402468,%edi
400eb0: e8 8b fc ff ff callq 400b40 <puts@plt>
400eb5: e8 fc 06 00 00 callq 4015b6 <read_line>
400eba: 48 89 c7 mov %rax,%rdi
400ebd: e8 b1 01 00 00 callq 401073 <phase_5>
400ec2: e8 15 08 00 00 callq 4016dc <phase_defused>
400ec7: bf a6 23 40 00 mov $0x4023a6,%edi
400ecc: e8 6f fc ff ff callq 400b40 <puts@plt>
400ed1: e8 e0 06 00 00 callq 4015b6 <read_line>
400ed6: 48 89 c7 mov %rax,%rdi
400ed9: e8 f3 01 00 00 callq 4010d1 <phase_6>
400ede: e8 f9 07 00 00 callq 4016dc <phase_defused>
400ee3: b8 00 00 00 00 mov $0x0,%eax
400ee8: 5b pop %rbx
400ee9: c3 retq
400eea: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)

0000000000400ef0 <phase_1>:
400ef0: 48 83 ec 08 sub $0x8,%rsp
400ef4: be 90 24 40 00 mov $0x402490,%esi
400ef9: e8 f0 03 00 00 callq 4012ee <strings_not_equal>
400efe: 85 c0 test %eax,%eax
400f00: 74 05 je 400f07 <phase_1+0x17>
400f02: e8 37 06 00 00 callq 40153e <explode_bomb>
400f07: 48 83 c4 08 add $0x8,%rsp
400f0b: c3 retq

0000000000400f0c <phase_2>:
400f0c: 55 push %rbp
400f0d: 53 push %rbx
400f0e: 48 83 ec 28 sub $0x28,%rsp
400f12: 48 89 e6 mov %rsp,%rsi
400f15: e8 5a 06 00 00 callq 401574 <read_six_numbers>
400f1a: 83 3c 24 01 cmpl $0x1,(%rsp)
400f1e: 74 20 je 400f40 <phase_2+0x34>
400f20: e8 19 06 00 00 callq 40153e <explode_bomb>
400f25: eb 19 jmp 400f40 <phase_2+0x34>
400f27: 8b 43 fc mov -0x4(%rbx),%eax
400f2a: 01 c0 add %eax,%eax
400f2c: 39 03 cmp %eax,(%rbx)
400f2e: 74 05 je 400f35 <phase_2+0x29>
400f30: e8 09 06 00 00 callq 40153e <explode_bomb>
400f35: 48 83 c3 04 add $0x4,%rbx
400f39: 48 39 eb cmp %rbp,%rbx
400f3c: 75 e9 jne 400f27 <phase_2+0x1b>
400f3e: eb 0c jmp 400f4c <phase_2+0x40>
400f40: 48 8d 5c 24 04 lea 0x4(%rsp),%rbx
400f45: 48 8d 6c 24 18 lea 0x18(%rsp),%rbp
400f4a: eb db jmp 400f27 <phase_2+0x1b>
400f4c: 48 83 c4 28 add $0x28,%rsp
400f50: 5b pop %rbx
400f51: 5d pop %rbp
400f52: c3 retq

0000000000400f53 <phase_3>:
400f53: 48 83 ec 18 sub $0x18,%rsp
400f57: 48 8d 4c 24 08 lea 0x8(%rsp),%rcx
400f5c: 48 8d 54 24 0c lea 0xc(%rsp),%rdx
400f61: be 65 27 40 00 mov $0x402765,%esi
400f66: b8 00 00 00 00 mov $0x0,%eax
400f6b: e8 c0 fc ff ff callq 400c30 <__isoc99_sscanf@plt>
400f70: 83 f8 01 cmp $0x1,%eax
400f73: 7f 05 jg 400f7a <phase_3+0x27>
400f75: e8 c4 05 00 00 callq 40153e <explode_bomb>
400f7a: 83 7c 24 0c 07 cmpl $0x7,0xc(%rsp)
400f7f: 77 3c ja 400fbd <phase_3+0x6a>
400f81: 8b 44 24 0c mov 0xc(%rsp),%eax
400f85: ff 24 c5 00 25 40 00 jmpq *0x402500(,%rax,8)
400f8c: b8 fc 01 00 00 mov $0x1fc,%eax
400f91: eb 3b jmp 400fce <phase_3+0x7b>
400f93: b8 00 03 00 00 mov $0x300,%eax
400f98: eb 34 jmp 400fce <phase_3+0x7b>
400f9a: b8 75 00 00 00 mov $0x75,%eax
400f9f: eb 2d jmp 400fce <phase_3+0x7b>
400fa1: b8 04 02 00 00 mov $0x204,%eax
400fa6: eb 26 jmp 400fce <phase_3+0x7b>
400fa8: b8 96 03 00 00 mov $0x396,%eax
400fad: eb 1f jmp 400fce <phase_3+0x7b>
400faf: b8 32 02 00 00 mov $0x232,%eax
400fb4: eb 18 jmp 400fce <phase_3+0x7b>
400fb6: b8 51 01 00 00 mov $0x151,%eax
400fbb: eb 11 jmp 400fce <phase_3+0x7b>
400fbd: e8 7c 05 00 00 callq 40153e <explode_bomb>
400fc2: b8 00 00 00 00 mov $0x0,%eax
400fc7: eb 05 jmp 400fce <phase_3+0x7b>
400fc9: b8 79 03 00 00 mov $0x379,%eax
400fce: 3b 44 24 08 cmp 0x8(%rsp),%eax
400fd2: 74 05 je 400fd9 <phase_3+0x86>
400fd4: e8 65 05 00 00 callq 40153e <explode_bomb>
400fd9: 48 83 c4 18 add $0x18,%rsp
400fdd: c3 retq

0000000000400fde <func4>:
400fde: 48 83 ec 08 sub $0x8,%rsp
400fe2: 89 d0 mov %edx,%eax
400fe4: 29 f0 sub %esi,%eax
400fe6: 89 c1 mov %eax,%ecx
400fe8: c1 e9 1f shr $0x1f,%ecx
400feb: 01 c8 add %ecx,%eax
400fed: d1 f8 sar %eax
400fef: 8d 0c 30 lea (%rax,%rsi,1),%ecx
400ff2: 39 f9 cmp %edi,%ecx
400ff4: 7e 0c jle 401002 <func4+0x24>
400ff6: 8d 51 ff lea -0x1(%rcx),%edx
400ff9: e8 e0 ff ff ff callq 400fde <func4>
400ffe: 01 c0 add %eax,%eax
401000: eb 15 jmp 401017 <func4+0x39>
401002: b8 00 00 00 00 mov $0x0,%eax
401007: 39 f9 cmp %edi,%ecx
401009: 7d 0c jge 401017 <func4+0x39>
40100b: 8d 71 01 lea 0x1(%rcx),%esi
40100e: e8 cb ff ff ff callq 400fde <func4>
401013: 8d 44 00 01 lea 0x1(%rax,%rax,1),%eax
401017: 48 83 c4 08 add $0x8,%rsp
40101b: c3 retq

000000000040101c <phase_4>:
40101c: 48 83 ec 18 sub $0x18,%rsp
401020: 48 8d 4c 24 08 lea 0x8(%rsp),%rcx
401025: 48 8d 54 24 0c lea 0xc(%rsp),%rdx
40102a: be 65 27 40 00 mov $0x402765,%esi
40102f: b8 00 00 00 00 mov $0x0,%eax
401034: e8 f7 fb ff ff callq 400c30 <__isoc99_sscanf@plt>
401039: 83 f8 02 cmp $0x2,%eax
40103c: 75 07 jne 401045 <phase_4+0x29>
40103e: 83 7c 24 0c 0e cmpl $0xe,0xc(%rsp)
401043: 76 05 jbe 40104a <phase_4+0x2e>
401045: e8 f4 04 00 00 callq 40153e <explode_bomb>
40104a: ba 0e 00 00 00 mov $0xe,%edx
40104f: be 00 00 00 00 mov $0x0,%esi
401054: 8b 7c 24 0c mov 0xc(%rsp),%edi
401058: e8 81 ff ff ff callq 400fde <func4>
40105d: 83 f8 05 cmp $0x5,%eax
401060: 75 07 jne 401069 <phase_4+0x4d>
401062: 83 7c 24 08 05 cmpl $0x5,0x8(%rsp)
401067: 74 05 je 40106e <phase_4+0x52>
401069: e8 d0 04 00 00 callq 40153e <explode_bomb>
40106e: 48 83 c4 18 add $0x18,%rsp
401072: c3 retq

0000000000401073 <phase_5>:
401073: 53 push %rbx
401074: 48 83 ec 10 sub $0x10,%rsp
401078: 48 89 fb mov %rdi,%rbx
40107b: e8 51 02 00 00 callq 4012d1 <string_length>
401080: 83 f8 06 cmp $0x6,%eax
401083: 74 3f je 4010c4 <phase_5+0x51>
401085: e8 b4 04 00 00 callq 40153e <explode_bomb>
40108a: eb 38 jmp 4010c4 <phase_5+0x51>
40108c: 0f b6 14 03 movzbl (%rbx,%rax,1),%edx
401090: 83 e2 0f and $0xf,%edx
401093: 0f b6 92 40 25 40 00 movzbl 0x402540(%rdx),%edx
40109a: 88 14 04 mov %dl,(%rsp,%rax,1)
40109d: 48 83 c0 01 add $0x1,%rax
4010a1: 48 83 f8 06 cmp $0x6,%rax
4010a5: 75 e5 jne 40108c <phase_5+0x19>
4010a7: c6 44 24 06 00 movb $0x0,0x6(%rsp)
4010ac: be f6 24 40 00 mov $0x4024f6,%esi
4010b1: 48 89 e7 mov %rsp,%rdi
4010b4: e8 35 02 00 00 callq 4012ee <strings_not_equal>
4010b9: 85 c0 test %eax,%eax
4010bb: 74 0e je 4010cb <phase_5+0x58>
4010bd: e8 7c 04 00 00 callq 40153e <explode_bomb>
4010c2: eb 07 jmp 4010cb <phase_5+0x58>
4010c4: b8 00 00 00 00 mov $0x0,%eax
4010c9: eb c1 jmp 40108c <phase_5+0x19>
4010cb: 48 83 c4 10 add $0x10,%rsp
4010cf: 5b pop %rbx
4010d0: c3 retq

00000000004010d1 <phase_6>:
4010d1: 41 55 push %r13
4010d3: 41 54 push %r12
4010d5: 55 push %rbp
4010d6: 53 push %rbx
4010d7: 48 83 ec 58 sub $0x58,%rsp
4010db: 48 8d 74 24 30 lea 0x30(%rsp),%rsi
4010e0: e8 8f 04 00 00 callq 401574 <read_six_numbers>
4010e5: 4c 8d 6c 24 30 lea 0x30(%rsp),%r13
4010ea: 41 bc 00 00 00 00 mov $0x0,%r12d
4010f0: 4c 89 ed mov %r13,%rbp
4010f3: 41 8b 45 00 mov 0x0(%r13),%eax
4010f7: 83 e8 01 sub $0x1,%eax
4010fa: 83 f8 05 cmp $0x5,%eax
4010fd: 76 05 jbe 401104 <phase_6+0x33>
4010ff: e8 3a 04 00 00 callq 40153e <explode_bomb>
401104: 41 83 c4 01 add $0x1,%r12d
401108: 41 83 fc 06 cmp $0x6,%r12d
40110c: 75 07 jne 401115 <phase_6+0x44>
40110e: be 00 00 00 00 mov $0x0,%esi
401113: eb 42 jmp 401157 <phase_6+0x86>
401115: 44 89 e3 mov %r12d,%ebx
401118: 48 63 c3 movslq %ebx,%rax
40111b: 8b 44 84 30 mov 0x30(%rsp,%rax,4),%eax
40111f: 39 45 00 cmp %eax,0x0(%rbp)
401122: 75 05 jne 401129 <phase_6+0x58>
401124: e8 15 04 00 00 callq 40153e <explode_bomb>
401129: 83 c3 01 add $0x1,%ebx
40112c: 83 fb 05 cmp $0x5,%ebx
40112f: 7e e7 jle 401118 <phase_6+0x47>
401131: 49 83 c5 04 add $0x4,%r13
401135: eb b9 jmp 4010f0 <phase_6+0x1f>
401137: 48 8b 52 08 mov 0x8(%rdx),%rdx
40113b: 83 c0 01 add $0x1,%eax
40113e: 39 c8 cmp %ecx,%eax
401140: 75 f5 jne 401137 <phase_6+0x66>
401142: eb 05 jmp 401149 <phase_6+0x78>
401144: ba f0 42 60 00 mov $0x6042f0,%edx
401149: 48 89 14 74 mov %rdx,(%rsp,%rsi,2)
40114d: 48 83 c6 04 add $0x4,%rsi
401151: 48 83 fe 18 cmp $0x18,%rsi
401155: 74 15 je 40116c <phase_6+0x9b>
401157: 8b 4c 34 30 mov 0x30(%rsp,%rsi,1),%ecx
40115b: 83 f9 01 cmp $0x1,%ecx
40115e: 7e e4 jle 401144 <phase_6+0x73>
401160: b8 01 00 00 00 mov $0x1,%eax
401165: ba f0 42 60 00 mov $0x6042f0,%edx
40116a: eb cb jmp 401137 <phase_6+0x66>
40116c: 48 8b 1c 24 mov (%rsp),%rbx
401170: 48 8d 44 24 08 lea 0x8(%rsp),%rax
401175: 48 8d 74 24 30 lea 0x30(%rsp),%rsi
40117a: 48 89 d9 mov %rbx,%rcx
40117d: 48 8b 10 mov (%rax),%rdx
401180: 48 89 51 08 mov %rdx,0x8(%rcx)
401184: 48 83 c0 08 add $0x8,%rax
401188: 48 39 f0 cmp %rsi,%rax
40118b: 74 05 je 401192 <phase_6+0xc1>
40118d: 48 89 d1 mov %rdx,%rcx
401190: eb eb jmp 40117d <phase_6+0xac>
401192: 48 c7 42 08 00 00 00 movq $0x0,0x8(%rdx)
401199: 00
40119a: bd 05 00 00 00 mov $0x5,%ebp
40119f: 48 8b 43 08 mov 0x8(%rbx),%rax
4011a3: 8b 00 mov (%rax),%eax
4011a5: 39 03 cmp %eax,(%rbx)
4011a7: 7d 05 jge 4011ae <phase_6+0xdd>
4011a9: e8 90 03 00 00 callq 40153e <explode_bomb>
4011ae: 48 8b 5b 08 mov 0x8(%rbx),%rbx
4011b2: 83 ed 01 sub $0x1,%ebp
4011b5: 75 e8 jne 40119f <phase_6+0xce>
4011b7: 48 83 c4 58 add $0x58,%rsp
4011bb: 5b pop %rbx
4011bc: 5d pop %rbp
4011bd: 41 5c pop %r12
4011bf: 41 5d pop %r13
4011c1: c3 retq
00000000004011c2 <fun7>:
4011c2: 48 83 ec 08 sub $0x8,%rsp
4011c6: 48 85 ff test %rdi,%rdi
4011c9: 74 2b je 4011f6 <fun7+0x34>
4011cb: 8b 17 mov (%rdi),%edx
4011cd: 39 f2 cmp %esi,%edx
4011cf: 7e 0d jle 4011de <fun7+0x1c>
4011d1: 48 8b 7f 08 mov 0x8(%rdi),%rdi
4011d5: e8 e8 ff ff ff callq 4011c2 <fun7>
4011da: 01 c0 add %eax,%eax
4011dc: eb 1d jmp 4011fb <fun7+0x39>
4011de: b8 00 00 00 00 mov $0x0,%eax
4011e3: 39 f2 cmp %esi,%edx
4011e5: 74 14 je 4011fb <fun7+0x39>
4011e7: 48 8b 7f 10 mov 0x10(%rdi),%rdi
4011eb: e8 d2 ff ff ff callq 4011c2 <fun7>
4011f0: 8d 44 00 01 lea 0x1(%rax,%rax,1),%eax
4011f4: eb 05 jmp 4011fb <fun7+0x39>
4011f6: b8 ff ff ff ff mov $0xffffffff,%eax
4011fb: 48 83 c4 08 add $0x8,%rsp
4011ff: c3 retq

0000000000401200 <secret_phase>:
401200: 53 push %rbx
401201: e8 b0 03 00 00 callq 4015b6 <read_line>
401206: ba 0a 00 00 00 mov $0xa,%edx
40120b: be 00 00 00 00 mov $0x0,%esi
401210: 48 89 c7 mov %rax,%rdi
401213: e8 e8 f9 ff ff callq 400c00 <strtol@plt>
401218: 48 89 c3 mov %rax,%rbx
40121b: 8d 40 ff lea -0x1(%rax),%eax
40121e: 3d e8 03 00 00 cmp $0x3e8,%eax
401223: 76 05 jbe 40122a <secret_phase+0x2a>
401225: e8 14 03 00 00 callq 40153e <explode_bomb>
40122a: 89 de mov %ebx,%esi
40122c: bf 10 41 60 00 mov $0x604110,%edi
401231: e8 8c ff ff ff callq 4011c2 <fun7>
401236: 83 f8 07 cmp $0x7,%eax
401239: 74 05 je 401240 <secret_phase+0x40>
40123b: e8 fe 02 00 00 callq 40153e <explode_bomb>
401240: bf d0 24 40 00 mov $0x4024d0,%edi
401245: e8 f6 f8 ff ff callq 400b40 <puts@plt>
40124a: e8 8d 04 00 00 callq 4016dc <phase_defused>
40124f: 5b pop %rbx
401250: c3 retq
401251: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
401258: 00 00 00
40125b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)

0000000000401260 <sig_handler>:
401260: 48 83 ec 08 sub $0x8,%rsp
401264: bf 50 25 40 00 mov $0x402550,%edi
401269: e8 d2 f8 ff ff callq 400b40 <puts@plt>
40126e: bf 03 00 00 00 mov $0x3,%edi
401273: e8 28 fa ff ff callq 400ca0 <sleep@plt>
401278: bf e1 26 40 00 mov $0x4026e1,%edi
40127d: b8 00 00 00 00 mov $0x0,%eax
401282: e8 d9 f8 ff ff callq 400b60 <printf@plt>
401287: 48 8b 3d f2 34 20 00 mov 0x2034f2(%rip),%rdi # 604780
<stdout@@GLIBC_2.2.5>
40128e: e8 8d f9 ff ff callq 400c20 <fflush@plt>
401293: bf 01 00 00 00 mov $0x1,%edi
401298: e8 03 fa ff ff callq 400ca0 <sleep@plt>
40129d: bf e9 26 40 00 mov $0x4026e9,%edi
4012a2: e8 99 f8 ff ff callq 400b40 <puts@plt>
4012a7: bf 10 00 00 00 mov $0x10,%edi
4012ac: e8 cf f9 ff ff callq 400c80 <exit@plt>

00000000004012b1 <invalid_phase>:
4012b1: 48 83 ec 08 sub $0x8,%rsp
4012b5: 48 89 fe mov %rdi,%rsi
4012b8: bf f1 26 40 00 mov $0x4026f1,%edi
4012bd: b8 00 00 00 00 mov $0x0,%eax
4012c2: e8 99 f8 ff ff callq 400b60 <printf@plt>
4012c7: bf 08 00 00 00 mov $0x8,%edi
4012cc: e8 af f9 ff ff callq 400c80 <exit@plt>

00000000004012d1 <string_length>:
4012d1: 80 3f 00 cmpb $0x0,(%rdi)
4012d4: 74 12 je 4012e8 <string_length+0x17>
4012d6: 48 89 fa mov %rdi,%rdx
4012d9: 48 83 c2 01 add $0x1,%rdx
4012dd: 89 d0 mov %edx,%eax
4012df: 29 f8 sub %edi,%eax
4012e1: 80 3a 00 cmpb $0x0,(%rdx)
4012e4: 75 f3 jne 4012d9 <string_length+0x8>
4012e6: f3 c3 repz retq
4012e8: b8 00 00 00 00 mov $0x0,%eax
4012ed: c3 retq

00000000004012ee <strings_not_equal>:
4012ee: 41 54 push %r12
4012f0: 55 push %rbp
4012f1: 53 push %rbx
4012f2: 48 89 fb mov %rdi,%rbx
4012f5: 48 89 f5 mov %rsi,%rbp
4012f8: e8 d4 ff ff ff callq 4012d1 <string_length>
4012fd: 41 89 c4 mov %eax,%r12d
401300: 48 89 ef mov %rbp,%rdi
401303: e8 c9 ff ff ff callq 4012d1 <string_length>
401308: ba 01 00 00 00 mov $0x1,%edx
40130d: 41 39 c4 cmp %eax,%r12d
401310: 75 3e jne 401350 <strings_not_equal+0x62>
401312: 0f b6 03 movzbl (%rbx),%eax
401315: 84 c0 test %al,%al
401317: 74 24 je 40133d <strings_not_equal+0x4f>
401319: 3a 45 00 cmp 0x0(%rbp),%al
40131c: 74 09 je 401327 <strings_not_equal+0x39>
40131e: 66 90 xchg %ax,%ax
401320: eb 22 jmp 401344 <strings_not_equal+0x56>
401322: 3a 45 00 cmp 0x0(%rbp),%al
401325: 75 24 jne 40134b <strings_not_equal+0x5d>
401327: 48 83 c3 01 add $0x1,%rbx
40132b: 48 83 c5 01 add $0x1,%rbp
40132f: 0f b6 03 movzbl (%rbx),%eax
401332: 84 c0 test %al,%al
401334: 75 ec jne 401322 <strings_not_equal+0x34>
401336: ba 00 00 00 00 mov $0x0,%edx
40133b: eb 13 jmp 401350 <strings_not_equal+0x62>
40133d: ba 00 00 00 00 mov $0x0,%edx
401342: eb 0c jmp 401350 <strings_not_equal+0x62>
401344: ba 01 00 00 00 mov $0x1,%edx
401349: eb 05 jmp 401350 <strings_not_equal+0x62>
40134b: ba 01 00 00 00 mov $0x1,%edx
401350: 89 d0 mov %edx,%eax
401352: 5b pop %rbx
401353: 5d pop %rbp
401354: 41 5c pop %r12
401356: c3 retq

0000000000401357 <initialize_bomb>:
401357: 53 push %rbx
401358: 48 81 ec 40 20 00 00 sub $0x2040,%rsp
40135f: be 60 12 40 00 mov $0x401260,%esi
401364: bf 02 00 00 00 mov $0x2,%edi
401369: e8 52 f8 ff ff callq 400bc0 <signal@plt>
40136e: be 40 00 00 00 mov $0x40,%esi
401373: 48 8d bc 24 00 20 00 lea 0x2000(%rsp),%rdi
40137a: 00
40137b: e8 e0 f8 ff ff callq 400c60 <gethostname@plt>
401380: 85 c0 test %eax,%eax
401382: 75 13 jne 401397 <initialize_bomb+0x40>
401384: 48 8b 3d f5 2f 20 00 mov 0x202ff5(%rip),%rdi # 604380
<host_table>
40138b: bb 88 43 60 00 mov $0x604388,%ebx
401390: 48 85 ff test %rdi,%rdi
401393: 75 16 jne 4013ab <initialize_bomb+0x54>
401395: eb 32 jmp 4013c9 <initialize_bomb+0x72>
401397: bf 88 25 40 00 mov $0x402588,%edi
40139c: e8 9f f7 ff ff callq 400b40 <puts@plt>
4013a1: bf 08 00 00 00 mov $0x8,%edi
4013a6: e8 d5 f8 ff ff callq 400c80 <exit@plt>
4013ab: 48 8d b4 24 00 20 00 lea 0x2000(%rsp),%rsi
4013b2: 00
4013b3: e8 58 f7 ff ff callq 400b10 <strcasecmp@plt>
4013b8: 85 c0 test %eax,%eax
4013ba: 74 0d je 4013c9 <initialize_bomb+0x72>
4013bc: 48 83 c3 08 add $0x8,%rbx
4013c0: 48 8b 7b f8 mov -0x8(%rbx),%rdi
4013c4: 48 85 ff test %rdi,%rdi
4013c7: 75 e2 jne 4013ab <initialize_bomb+0x54>
4013c9: 48 89 e7 mov %rsp,%rdi
4013cc: e8 c0 0c 00 00 callq 402091 <init_driver>
4013d1: 85 c0 test %eax,%eax
4013d3: 79 1c jns 4013f1 <initialize_bomb+0x9a>
4013d5: 48 89 e6 mov %rsp,%rsi
4013d8: bf 02 27 40 00 mov $0x402702,%edi
4013dd: b8 00 00 00 00 mov $0x0,%eax
4013e2: e8 79 f7 ff ff callq 400b60 <printf@plt>
4013e7: bf 08 00 00 00 mov $0x8,%edi
4013ec: e8 8f f8 ff ff callq 400c80 <exit@plt>
4013f1: 48 81 c4 40 20 00 00 add $0x2040,%rsp
4013f8: 5b pop %rbx
4013f9: c3 retq

00000000004013fa <initialize_bomb_solve>:
4013fa: f3 c3 repz retq
00000000004013fc <blank_line>:
4013fc: 55 push %rbp
4013fd: 53 push %rbx
4013fe: 48 83 ec 08 sub $0x8,%rsp
401402: 48 89 fb mov %rdi,%rbx
401405: eb 17 jmp 40141e <blank_line+0x22>
401407: e8 a4 f8 ff ff callq 400cb0 <__ctype_b_loc@plt>
40140c: 48 83 c3 01 add $0x1,%rbx
401410: 48 0f be ed movsbq %bpl,%rbp
401414: 48 8b 00 mov (%rax),%rax
401417: f6 44 68 01 20 testb $0x20,0x1(%rax,%rbp,2)
40141c: 74 0f je 40142d <blank_line+0x31>
40141e: 0f b6 2b movzbl (%rbx),%ebp
401421: 40 84 ed test %bpl,%bpl
401424: 75 e1 jne 401407 <blank_line+0xb>
401426: b8 01 00 00 00 mov $0x1,%eax
40142b: eb 05 jmp 401432 <blank_line+0x36>
40142d: b8 00 00 00 00 mov $0x0,%eax
401432: 48 83 c4 08 add $0x8,%rsp
401436: 5b pop %rbx
401437: 5d pop %rbp
401438: c3 retq

0000000000401439 <skip>:
401439: 53 push %rbx
40143a: 48 63 05 5b 33 20 00 movslq 0x20335b(%rip),%rax # 60479c
<num_input_strings>
401441: 48 8d 3c 80 lea (%rax,%rax,4),%rdi
401445: 48 c1 e7 04 shl $0x4,%rdi
401449: 48 81 c7 c0 47 60 00 add $0x6047c0,%rdi
401450: 48 8b 15 49 33 20 00 mov 0x203349(%rip),%rdx # 6047a0
<infile>
401457: be 50 00 00 00 mov $0x50,%esi
40145c: e8 4f f7 ff ff callq 400bb0 <fgets@plt>
401461: 48 89 c3 mov %rax,%rbx
401464: 48 85 c0 test %rax,%rax
401467: 74 0c je 401475 <skip+0x3c>
401469: 48 89 c7 mov %rax,%rdi
40146c: e8 8b ff ff ff callq 4013fc <blank_line>
401471: 85 c0 test %eax,%eax
401473: 75 c5 jne 40143a <skip+0x1>
401475: 48 89 d8 mov %rbx,%rax
401478: 5b pop %rbx
401479: c3 retq

000000000040147a <send_msg>:
40147a: 48 81 ec 08 40 00 00 sub $0x4008,%rsp
401481: 89 fe mov %edi,%esi
401483: 44 8b 05 12 33 20 00 mov 0x203312(%rip),%r8d # 60479c
<num_input_strings>
40148a: 41 8d 40 ff lea -0x1(%r8),%eax
40148e: 48 98 cltq
401490: 4c 8d 0c 80 lea (%rax,%rax,4),%r9
401494: 49 c1 e1 04 shl $0x4,%r9
401498: 49 81 c1 c0 47 60 00 add $0x6047c0,%r9
40149f: 4c 89 cf mov %r9,%rdi
4014a2: b8 00 00 00 00 mov $0x0,%eax
4014a7: 48 c7 c1 ff ff ff ff mov $0xffffffffffffffff,%rcx
4014ae: f2 ae repnz scas %es:(%rdi),%al
4014b0: 48 f7 d1 not %rcx
4014b3: 48 83 c1 63 add $0x63,%rcx
4014b7: 48 81 f9 00 20 00 00 cmp $0x2000,%rcx
4014be: 76 14 jbe 4014d4 <send_msg+0x5a>
4014c0: bf c0 25 40 00 mov $0x4025c0,%edi
4014c5: e8 96 f6 ff ff callq 400b60 <printf@plt>
4014ca: bf 08 00 00 00 mov $0x8,%edi
4014cf: e8 ac f7 ff ff callq 400c80 <exit@plt>
4014d4: 85 f6 test %esi,%esi
4014d6: b8 1c 27 40 00 mov $0x40271c,%eax
4014db: b9 24 27 40 00 mov $0x402724,%ecx
4014e0: 48 0f 45 c8 cmovne %rax,%rcx
4014e4: 8b 15 86 2e 20 00 mov 0x202e86(%rip),%edx # 604370
<bomb_id>
4014ea: be 2d 27 40 00 mov $0x40272d,%esi
4014ef: 48 8d bc 24 00 20 00 lea 0x2000(%rsp),%rdi
4014f6: 00
4014f7: b8 00 00 00 00 mov $0x0,%eax
4014fc: e8 6f f7 ff ff callq 400c70 <sprintf@plt>
401501: 49 89 e0 mov %rsp,%r8
401504: b9 00 00 00 00 mov $0x0,%ecx
401509: 48 8d 94 24 00 20 00 lea 0x2000(%rsp),%rdx
401510: 00
401511: be 50 43 60 00 mov $0x604350,%esi
401516: bf 65 43 60 00 mov $0x604365,%edi
40151b: e8 0f 0d 00 00 callq 40222f <driver_post>
401520: 85 c0 test %eax,%eax
401522: 79 12 jns 401536 <send_msg+0xbc>
401524: 48 89 e7 mov %rsp,%rdi
401527: e8 14 f6 ff ff callq 400b40 <puts@plt>
40152c: bf 00 00 00 00 mov $0x0,%edi
401531: e8 4a f7 ff ff callq 400c80 <exit@plt>
401536: 48 81 c4 08 40 00 00 add $0x4008,%rsp
40153d: c3 retq

000000000040153e <explode_bomb>:
40153e: 48 83 ec 08 sub $0x8,%rsp
401542: bf 39 27 40 00 mov $0x402739,%edi
401547: e8 f4 f5 ff ff callq 400b40 <puts@plt>
40154c: bf 42 27 40 00 mov $0x402742,%edi
401551: e8 ea f5 ff ff callq 400b40 <puts@plt>
401556: bf 00 00 00 00 mov $0x0,%edi
40155b: e8 1a ff ff ff callq 40147a <send_msg>
401560: bf e8 25 40 00 mov $0x4025e8,%edi
401565: e8 d6 f5 ff ff callq 400b40 <puts@plt>
40156a: bf 08 00 00 00 mov $0x8,%edi
40156f: e8 0c f7 ff ff callq 400c80 <exit@plt>

0000000000401574 <read_six_numbers>:
401574: 48 83 ec 18 sub $0x18,%rsp
401578: 48 89 f2 mov %rsi,%rdx
40157b: 48 8d 4e 04 lea 0x4(%rsi),%rcx
40157f: 48 8d 46 14 lea 0x14(%rsi),%rax
401583: 48 89 44 24 08 mov %rax,0x8(%rsp)
401588: 48 8d 46 10 lea 0x10(%rsi),%rax
40158c: 48 89 04 24 mov %rax,(%rsp)
401590: 4c 8d 4e 0c lea 0xc(%rsi),%r9
401594: 4c 8d 46 08 lea 0x8(%rsi),%r8
401598: be 59 27 40 00 mov $0x402759,%esi
40159d: b8 00 00 00 00 mov $0x0,%eax
4015a2: e8 89 f6 ff ff callq 400c30 <__isoc99_sscanf@plt>
4015a7: 83 f8 05 cmp $0x5,%eax
4015aa: 7f 05 jg 4015b1 <read_six_numbers+0x3d>
4015ac: e8 8d ff ff ff callq 40153e <explode_bomb>
4015b1: 48 83 c4 18 add $0x18,%rsp
4015b5: c3 retq

00000000004015b6 <read_line>:
4015b6: 48 83 ec 08 sub $0x8,%rsp
4015ba: b8 00 00 00 00 mov $0x0,%eax
4015bf: e8 75 fe ff ff callq 401439 <skip>
4015c4: 48 85 c0 test %rax,%rax
4015c7: 75 6e jne 401637 <read_line+0x81>
4015c9: 48 8b 05 b8 31 20 00 mov 0x2031b8(%rip),%rax # 604788
<stdin@@GLIBC_2.2.5>
4015d0: 48 39 05 c9 31 20 00 cmp %rax,0x2031c9(%rip) # 6047a0
<infile>
4015d7: 75 14 jne 4015ed <read_line+0x37>
4015d9: bf 6b 27 40 00 mov $0x40276b,%edi
4015de: e8 5d f5 ff ff callq 400b40 <puts@plt>
4015e3: bf 08 00 00 00 mov $0x8,%edi
4015e8: e8 93 f6 ff ff callq 400c80 <exit@plt>
4015ed: bf 89 27 40 00 mov $0x402789,%edi
4015f2: e8 09 f5 ff ff callq 400b00 <getenv@plt>
4015f7: 48 85 c0 test %rax,%rax
4015fa: 74 0a je 401606 <read_line+0x50>
4015fc: bf 00 00 00 00 mov $0x0,%edi
401601: e8 7a f6 ff ff callq 400c80 <exit@plt>
401606: 48 8b 05 7b 31 20 00 mov 0x20317b(%rip),%rax # 604788
<stdin@@GLIBC_2.2.5>
40160d: 48 89 05 8c 31 20 00 mov %rax,0x20318c(%rip) # 6047a0
<infile>
401614: b8 00 00 00 00 mov $0x0,%eax
401619: e8 1b fe ff ff callq 401439 <skip>
40161e: 48 85 c0 test %rax,%rax
401621: 75 14 jne 401637 <read_line+0x81>
401623: bf 6b 27 40 00 mov $0x40276b,%edi
401628: e8 13 f5 ff ff callq 400b40 <puts@plt>
40162d: bf 00 00 00 00 mov $0x0,%edi
401632: e8 49 f6 ff ff callq 400c80 <exit@plt>
401637: 8b 15 5f 31 20 00 mov 0x20315f(%rip),%edx # 60479c
<num_input_strings>
40163d: 48 63 c2 movslq %edx,%rax
401640: 48 8d 34 80 lea (%rax,%rax,4),%rsi
401644: 48 c1 e6 04 shl $0x4,%rsi
401648: 48 81 c6 c0 47 60 00 add $0x6047c0,%rsi
40164f: 48 89 f7 mov %rsi,%rdi
401652: b8 00 00 00 00 mov $0x0,%eax
401657: 48 c7 c1 ff ff ff ff mov $0xffffffffffffffff,%rcx
40165e: f2 ae repnz scas %es:(%rdi),%al
401660: 48 f7 d1 not %rcx
401663: 48 83 e9 01 sub $0x1,%rcx
401667: 83 f9 4e cmp $0x4e,%ecx
40166a: 7e 46 jle 4016b2 <read_line+0xfc>
40166c: bf 94 27 40 00 mov $0x402794,%edi
401671: e8 ca f4 ff ff callq 400b40 <puts@plt>
401676: 8b 05 20 31 20 00 mov 0x203120(%rip),%eax # 60479c
<num_input_strings>
40167c: 8d 50 01 lea 0x1(%rax),%edx
40167f: 89 15 17 31 20 00 mov %edx,0x203117(%rip) # 60479c
<num_input_strings>
401685: 48 98 cltq
401687: 48 6b c0 50 imul $0x50,%rax,%rax
40168b: 48 bf 2a 2a 2a 74 72 movabs $0x636e7572742a2a2a,%rdi
401692: 75 6e 63
401695: 48 89 b8 c0 47 60 00 mov %rdi,0x6047c0(%rax)
40169c: 48 bf 61 74 65 64 2a movabs $0x2a2a2a64657461,%rdi
4016a3: 2a 2a 00
4016a6: 48 89 b8 c8 47 60 00 mov %rdi,0x6047c8(%rax)
4016ad: e8 8c fe ff ff callq 40153e <explode_bomb>
4016b2: 83 e9 01 sub $0x1,%ecx
4016b5: 48 63 c9 movslq %ecx,%rcx
4016b8: 48 63 c2 movslq %edx,%rax
4016bb: 48 8d 04 80 lea (%rax,%rax,4),%rax
4016bf: 48 c1 e0 04 shl $0x4,%rax
4016c3: c6 84 01 c0 47 60 00 movb $0x0,0x6047c0(%rcx,%rax,1)
4016ca: 00
4016cb: 83 c2 01 add $0x1,%edx
4016ce: 89 15 c8 30 20 00 mov %edx,0x2030c8(%rip) # 60479c
<num_input_strings>
4016d4: 48 89 f0 mov %rsi,%rax
4016d7: 48 83 c4 08 add $0x8,%rsp
4016db: c3 retq

00000000004016dc <phase_defused>:
4016dc: 48 83 ec 68 sub $0x68,%rsp
4016e0: bf 01 00 00 00 mov $0x1,%edi
4016e5: e8 90 fd ff ff callq 40147a <send_msg>
4016ea: 83 3d ab 30 20 00 06 cmpl $0x6,0x2030ab(%rip) # 60479c
<num_input_strings>
4016f1: 75 6d jne 401760 <phase_defused+0x84>
4016f3: 4c 8d 44 24 10 lea 0x10(%rsp),%r8
4016f8: 48 8d 4c 24 08 lea 0x8(%rsp),%rcx
4016fd: 48 8d 54 24 0c lea 0xc(%rsp),%rdx
401702: be af 27 40 00 mov $0x4027af,%esi
401707: bf b0 48 60 00 mov $0x6048b0,%edi
40170c: b8 00 00 00 00 mov $0x0,%eax
401711: e8 1a f5 ff ff callq 400c30 <__isoc99_sscanf@plt>
401716: 83 f8 03 cmp $0x3,%eax
401719: 75 31 jne 40174c <phase_defused+0x70>
40171b: be b8 27 40 00 mov $0x4027b8,%esi
401720: 48 8d 7c 24 10 lea 0x10(%rsp),%rdi
401725: e8 c4 fb ff ff callq 4012ee <strings_not_equal>
40172a: 85 c0 test %eax,%eax
40172c: 75 1e jne 40174c <phase_defused+0x70>
40172e: bf 10 26 40 00 mov $0x402610,%edi
401733: e8 08 f4 ff ff callq 400b40 <puts@plt>
401738: bf 38 26 40 00 mov $0x402638,%edi
40173d: e8 fe f3 ff ff callq 400b40 <puts@plt>
401742: b8 00 00 00 00 mov $0x0,%eax
401747: e8 b4 fa ff ff callq 401200 <secret_phase>
40174c: bf 70 26 40 00 mov $0x402670,%edi
401751: e8 ea f3 ff ff callq 400b40 <puts@plt>
401756: bf a0 26 40 00 mov $0x4026a0,%edi
40175b: e8 e0 f3 ff ff callq 400b40 <puts@plt>
401760: 48 83 c4 68 add $0x68,%rsp
401764: c3 retq
401765: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
40176c: 00 00 00
40176f: 90 nop

0000000000401770 <sigalrm_handler>:
401770: 48 83 ec 08 sub $0x8,%rsp
401774: ba 00 00 00 00 mov $0x0,%edx
401779: be 10 28 40 00 mov $0x402810,%esi
40177e: 48 8b 3d 0b 30 20 00 mov 0x20300b(%rip),%rdi # 604790
<stderr@@GLIBC_2.2.5>
401785: b8 00 00 00 00 mov $0x0,%eax
40178a: e8 51 f4 ff ff callq 400be0 <fprintf@plt>
40178f: bf 01 00 00 00 mov $0x1,%edi
401794: e8 e7 f4 ff ff callq 400c80 <exit@plt>

0000000000401799 <rio_readlineb>:
401799: 41 57 push %r15
40179b: 41 56 push %r14
40179d: 41 55 push %r13
40179f: 41 54 push %r12
4017a1: 55 push %rbp
4017a2: 53 push %rbx
4017a3: 48 83 ec 38 sub $0x38,%rsp
4017a7: 49 89 f6 mov %rsi,%r14
4017aa: 48 89 54 24 18 mov %rdx,0x18(%rsp)
4017af: 48 83 fa 01 cmp $0x1,%rdx
4017b3: 0f 86 c2 00 00 00 jbe 40187b <rio_readlineb+0xe2>
4017b9: 48 89 fb mov %rdi,%rbx
4017bc: 41 bd 01 00 00 00 mov $0x1,%r13d
4017c2: 4c 8d 67 10 lea 0x10(%rdi),%r12
4017c6: eb 2e jmp 4017f6 <rio_readlineb+0x5d>
4017c8: ba 00 20 00 00 mov $0x2000,%edx
4017cd: 4c 89 e6 mov %r12,%rsi
4017d0: 8b 3b mov (%rbx),%edi
4017d2: e8 b9 f3 ff ff callq 400b90 <read@plt>
4017d7: 89 43 04 mov %eax,0x4(%rbx)
4017da: 85 c0 test %eax,%eax
4017dc: 79 0f jns 4017ed <rio_readlineb+0x54>
4017de: e8 3d f3 ff ff callq 400b20 <__errno_location@plt>
4017e3: 83 38 04 cmpl $0x4,(%rax)
4017e6: 74 0e je 4017f6 <rio_readlineb+0x5d>
4017e8: e9 9d 00 00 00 jmpq 40188a <rio_readlineb+0xf1>
4017ed: 85 c0 test %eax,%eax
4017ef: 90 nop
4017f0: 74 6c je 40185e <rio_readlineb+0xc5>
4017f2: 4c 89 63 08 mov %r12,0x8(%rbx)
4017f6: 8b 6b 04 mov 0x4(%rbx),%ebp
4017f9: 85 ed test %ebp,%ebp
4017fb: 7e cb jle 4017c8 <rio_readlineb+0x2f>
4017fd: 85 ed test %ebp,%ebp
4017ff: 41 0f 95 c7 setne %r15b
401803: 41 0f b6 c7 movzbl %r15b,%eax
401807: 89 44 24 0c mov %eax,0xc(%rsp)
40180b: 45 0f b6 ff movzbl %r15b,%r15d
40180f: 48 8b 4b 08 mov 0x8(%rbx),%rcx
401813: 4c 89 fa mov %r15,%rdx
401816: 48 89 4c 24 10 mov %rcx,0x10(%rsp)
40181b: 48 89 ce mov %rcx,%rsi
40181e: 48 8d 7c 24 2f lea 0x2f(%rsp),%rdi
401823: e8 e8 f3 ff ff callq 400c10 <memcpy@plt>
401828: 4c 03 7c 24 10 add 0x10(%rsp),%r15
40182d: 4c 89 7b 08 mov %r15,0x8(%rbx)
401831: 8b 44 24 0c mov 0xc(%rsp),%eax
401835: 29 c5 sub %eax,%ebp
401837: 89 6b 04 mov %ebp,0x4(%rbx)
40183a: 83 f8 01 cmp $0x1,%eax
40183d: 75 13 jne 401852 <rio_readlineb+0xb9>
40183f: 49 83 c6 01 add $0x1,%r14
401843: 0f b6 44 24 2f movzbl 0x2f(%rsp),%eax
401848: 41 88 46 ff mov %al,-0x1(%r14)
40184c: 3c 0a cmp $0xa,%al
40184e: 75 18 jne 401868 <rio_readlineb+0xcf>
401850: eb 2f jmp 401881 <rio_readlineb+0xe8>
401852: 83 7c 24 0c 00 cmpl $0x0,0xc(%rsp)
401857: 75 3a jne 401893 <rio_readlineb+0xfa>
401859: 44 89 e8 mov %r13d,%eax
40185c: eb 03 jmp 401861 <rio_readlineb+0xc8>
40185e: 44 89 e8 mov %r13d,%eax
401861: 83 f8 01 cmp $0x1,%eax
401864: 75 1b jne 401881 <rio_readlineb+0xe8>
401866: eb 34 jmp 40189c <rio_readlineb+0x103>
401868: 41 83 c5 01 add $0x1,%r13d
40186c: 49 63 c5 movslq %r13d,%rax
40186f: 48 3b 44 24 18 cmp 0x18(%rsp),%rax
401874: 73 0b jae 401881 <rio_readlineb+0xe8>
401876: e9 7b ff ff ff jmpq 4017f6 <rio_readlineb+0x5d>
40187b: 41 bd 01 00 00 00 mov $0x1,%r13d
401881: 41 c6 06 00 movb $0x0,(%r14)
401885: 49 63 c5 movslq %r13d,%rax
401888: eb 17 jmp 4018a1 <rio_readlineb+0x108>
40188a: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax
401891: eb 0e jmp 4018a1 <rio_readlineb+0x108>
401893: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax
40189a: eb 05 jmp 4018a1 <rio_readlineb+0x108>
40189c: b8 00 00 00 00 mov $0x0,%eax
4018a1: 48 83 c4 38 add $0x38,%rsp
4018a5: 5b pop %rbx
4018a6: 5d pop %rbp
4018a7: 41 5c pop %r12
4018a9: 41 5d pop %r13
4018ab: 41 5e pop %r14
4018ad: 41 5f pop %r15
4018af: c3 retq

00000000004018b0 <submitr>:
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 81 ec 68 a0 00 00 sub $0xa068,%rsp
4018c1: 48 89 fd mov %rdi,%rbp
4018c4: 41 89 f5 mov %esi,%r13d
4018c7: 48 89 54 24 08 mov %rdx,0x8(%rsp)
4018cc: 48 89 4c 24 10 mov %rcx,0x10(%rsp)
4018d1: 4c 89 44 24 18 mov %r8,0x18(%rsp)
4018d6: 4d 89 cf mov %r9,%r15
4018d9: 48 8b 9c 24 a0 a0 00 mov 0xa0a0(%rsp),%rbx
4018e0: 00
4018e1: 4c 8b b4 24 a8 a0 00 mov 0xa0a8(%rsp),%r14
4018e8: 00
4018e9: c7 84 24 3c 20 00 00 movl $0x0,0x203c(%rsp)
4018f0: 00 00 00 00
4018f4: ba 00 00 00 00 mov $0x0,%edx
4018f9: be 01 00 00 00 mov $0x1,%esi
4018fe: bf 02 00 00 00 mov $0x2,%edi
401903: e8 b8 f3 ff ff callq 400cc0 <socket@plt>
401908: 41 89 c4 mov %eax,%r12d
40190b: 85 c0 test %eax,%eax
40190d: 79 50 jns 40195f <submitr+0xaf>
40190f: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax
401916: 3a 20 43
401919: 49 89 06 mov %rax,(%r14)
40191c: 48 b8 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rax
401923: 20 75 6e
401926: 49 89 46 08 mov %rax,0x8(%r14)
40192a: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
401931: 74 6f 20
401934: 49 89 46 10 mov %rax,0x10(%r14)
401938: 48 b8 63 72 65 61 74 movabs $0x7320657461657263,%rax
40193f: 65 20 73
401942: 49 89 46 18 mov %rax,0x18(%r14)
401946: 41 c7 46 20 6f 63 6b movl $0x656b636f,0x20(%r14)
40194d: 65
40194e: 66 41 c7 46 24 74 00 movw $0x74,0x24(%r14)
401955: b8 ff ff ff ff mov $0xffffffff,%eax
40195a: e9 f9 06 00 00 jmpq 402058 <submitr+0x7a8>
40195f: 48 89 ef mov %rbp,%rdi
401962: e8 69 f2 ff ff callq 400bd0 <gethostbyname@plt>
401967: 48 85 c0 test %rax,%rax
40196a: 75 6b jne 4019d7 <submitr+0x127>
40196c: 48 b8 45 72 72 6f 72 movabs $0x44203a726f727245,%rax
401973: 3a 20 44
401976: 49 89 06 mov %rax,(%r14)
401979: 48 b8 4e 53 20 69 73 movabs $0x6e7520736920534e,%rax
401980: 20 75 6e
401983: 49 89 46 08 mov %rax,0x8(%r14)
401987: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
40198e: 74 6f 20
401991: 49 89 46 10 mov %rax,0x10(%r14)
401995: 48 b8 72 65 73 6f 6c movabs $0x2065766c6f736572,%rax
40199c: 76 65 20
40199f: 49 89 46 18 mov %rax,0x18(%r14)
4019a3: 48 b8 73 65 72 76 65 movabs $0x6120726576726573,%rax
4019aa: 72 20 61
4019ad: 49 89 46 20 mov %rax,0x20(%r14)
4019b1: 41 c7 46 28 64 64 72 movl $0x65726464,0x28(%r14)
4019b8: 65
4019b9: 66 41 c7 46 2c 73 73 movw $0x7373,0x2c(%r14)
4019c0: 41 c6 46 2e 00 movb $0x0,0x2e(%r14)
4019c5: 44 89 e7 mov %r12d,%edi
4019c8: e8 b3 f1 ff ff callq 400b80 <close@plt>
4019cd: b8 ff ff ff ff mov $0xffffffff,%eax
4019d2: e9 81 06 00 00 jmpq 402058 <submitr+0x7a8>
4019d7: 48 c7 84 24 50 a0 00 movq $0x0,0xa050(%rsp)
4019de: 00 00 00 00 00
4019e3: 48 c7 84 24 58 a0 00 movq $0x0,0xa058(%rsp)
4019ea: 00 00 00 00 00
4019ef: 66 c7 84 24 50 a0 00 movw $0x2,0xa050(%rsp)
4019f6: 00 02 00
4019f9: 48 63 50 14 movslq 0x14(%rax),%rdx
4019fd: 48 8d b4 24 54 a0 00 lea 0xa054(%rsp),%rsi
401a04: 00
401a05: 48 8b 40 18 mov 0x18(%rax),%rax
401a09: 48 8b 38 mov (%rax),%rdi
401a0c: e8 2f f2 ff ff callq 400c40 <bcopy@plt>
401a11: 66 41 c1 cd 08 ror $0x8,%r13w
401a16: 66 44 89 ac 24 52 a0 mov %r13w,0xa052(%rsp)
401a1d: 00 00
401a1f: ba 10 00 00 00 mov $0x10,%edx
401a24: 48 8d b4 24 50 a0 00 lea 0xa050(%rsp),%rsi
401a2b: 00
401a2c: 44 89 e7 mov %r12d,%edi
401a2f: e8 5c f2 ff ff callq 400c90 <connect@plt>
401a34: 85 c0 test %eax,%eax
401a36: 79 5d jns 401a95 <submitr+0x1e5>
401a38: 48 b8 45 72 72 6f 72 movabs $0x55203a726f727245,%rax
401a3f: 3a 20 55
401a42: 49 89 06 mov %rax,(%r14)
401a45: 48 b8 6e 61 62 6c 65 movabs $0x6f7420656c62616e,%rax
401a4c: 20 74 6f
401a4f: 49 89 46 08 mov %rax,0x8(%r14)
401a53: 48 b8 20 63 6f 6e 6e movabs $0x7463656e6e6f6320,%rax
401a5a: 65 63 74
401a5d: 49 89 46 10 mov %rax,0x10(%r14)
401a61: 48 b8 20 74 6f 20 74 movabs $0x20656874206f7420,%rax
401a68: 68 65 20
401a6b: 49 89 46 18 mov %rax,0x18(%r14)
401a6f: 41 c7 46 20 73 65 72 movl $0x76726573,0x20(%r14)
401a76: 76
401a77: 66 41 c7 46 24 65 72 movw $0x7265,0x24(%r14)
401a7e: 41 c6 46 26 00 movb $0x0,0x26(%r14)
401a83: 44 89 e7 mov %r12d,%edi
401a86: e8 f5 f0 ff ff callq 400b80 <close@plt>
401a8b: b8 ff ff ff ff mov $0xffffffff,%eax
401a90: e9 c3 05 00 00 jmpq 402058 <submitr+0x7a8>
401a95: 48 c7 c2 ff ff ff ff mov $0xffffffffffffffff,%rdx
401a9c: 48 89 df mov %rbx,%rdi
401a9f: b8 00 00 00 00 mov $0x0,%eax
401aa4: 48 89 d1 mov %rdx,%rcx
401aa7: f2 ae repnz scas %es:(%rdi),%al
401aa9: 48 f7 d1 not %rcx
401aac: 48 89 ce mov %rcx,%rsi
401aaf: 48 8b 7c 24 08 mov 0x8(%rsp),%rdi
401ab4: 48 89 d1 mov %rdx,%rcx
401ab7: f2 ae repnz scas %es:(%rdi),%al
401ab9: 49 89 c8 mov %rcx,%r8
401abc: 48 8b 7c 24 10 mov 0x10(%rsp),%rdi
401ac1: 48 89 d1 mov %rdx,%rcx
401ac4: f2 ae repnz scas %es:(%rdi),%al
401ac6: 48 f7 d1 not %rcx
401ac9: 49 89 c9 mov %rcx,%r9
401acc: 4c 89 ff mov %r15,%rdi
401acf: 48 89 d1 mov %rdx,%rcx
401ad2: f2 ae repnz scas %es:(%rdi),%al
401ad4: 4d 29 c1 sub %r8,%r9
401ad7: 49 29 c9 sub %rcx,%r9
401ada: 48 8d 44 76 fd lea -0x3(%rsi,%rsi,2),%rax
401adf: 49 8d 44 01 7b lea 0x7b(%r9,%rax,1),%rax
401ae4: 48 3d 00 20 00 00 cmp $0x2000,%rax
401aea: 76 73 jbe 401b5f <submitr+0x2af>
401aec: 48 b8 45 72 72 6f 72 movabs $0x52203a726f727245,%rax
401af3: 3a 20 52
401af6: 49 89 06 mov %rax,(%r14)
401af9: 48 b8 65 73 75 6c 74 movabs $0x747320746c757365,%rax
401b00: 20 73 74
401b03: 49 89 46 08 mov %rax,0x8(%r14)
401b07: 48 b8 72 69 6e 67 20 movabs $0x6f6f7420676e6972,%rax
401b0e: 74 6f 6f
401b11: 49 89 46 10 mov %rax,0x10(%r14)
401b15: 48 b8 20 6c 61 72 67 movabs $0x202e656772616c20,%rax
401b1c: 65 2e 20
401b1f: 49 89 46 18 mov %rax,0x18(%r14)
401b23: 48 b8 49 6e 63 72 65 movabs $0x6573616572636e49,%rax
401b2a: 61 73 65
401b2d: 49 89 46 20 mov %rax,0x20(%r14)
401b31: 48 b8 20 53 55 42 4d movabs $0x5254494d42555320,%rax
401b38: 49 54 52
401b3b: 49 89 46 28 mov %rax,0x28(%r14)
401b3f: 48 b8 5f 4d 41 58 42 movabs $0x46554258414d5f,%rax
401b46: 55 46 00
401b49: 49 89 46 30 mov %rax,0x30(%r14)
401b4d: 44 89 e7 mov %r12d,%edi
401b50: e8 2b f0 ff ff callq 400b80 <close@plt>
401b55: b8 ff ff ff ff mov $0xffffffff,%eax
401b5a: e9 f9 04 00 00 jmpq 402058 <submitr+0x7a8>
401b5f: 48 8d 94 24 40 40 00 lea 0x4040(%rsp),%rdx
401b66: 00
401b67: b9 00 04 00 00 mov $0x400,%ecx
401b6c: b8 00 00 00 00 mov $0x0,%eax
401b71: 48 89 d7 mov %rdx,%rdi
401b74: f3 48 ab rep stos %rax,%es:(%rdi)
401b77: 48 89 df mov %rbx,%rdi
401b7a: 48 c7 c1 ff ff ff ff mov $0xffffffffffffffff,%rcx
401b81: f2 ae repnz scas %es:(%rdi),%al
401b83: 48 f7 d1 not %rcx
401b86: 48 83 e9 01 sub $0x1,%rcx
401b8a: 85 c9 test %ecx,%ecx
401b8c: 0f 84 d3 03 00 00 je 401f65 <submitr+0x6b5>
401b92: 8d 41 ff lea -0x1(%rcx),%eax
401b95: 4c 8d 6c 03 01 lea 0x1(%rbx,%rax,1),%r13
401b9a: 48 89 d5 mov %rdx,%rbp
401b9d: 0f b6 13 movzbl (%rbx),%edx
401ba0: 80 fa 2a cmp $0x2a,%dl
401ba3: 74 1f je 401bc4 <submitr+0x314>
401ba5: 8d 42 d3 lea -0x2d(%rdx),%eax
401ba8: 3c 01 cmp $0x1,%al
401baa: 76 18 jbe 401bc4 <submitr+0x314>
401bac: 80 fa 5f cmp $0x5f,%dl
401baf: 74 13 je 401bc4 <submitr+0x314>
401bb1: 8d 42 d0 lea -0x30(%rdx),%eax
401bb4: 3c 09 cmp $0x9,%al
401bb6: 76 0c jbe 401bc4 <submitr+0x314>
401bb8: 89 d0 mov %edx,%eax
401bba: 83 e0 df and $0xffffffdf,%eax
401bbd: 83 e8 41 sub $0x41,%eax
401bc0: 3c 19 cmp $0x19,%al
401bc2: 77 09 ja 401bcd <submitr+0x31d>
401bc4: 48 8d 45 01 lea 0x1(%rbp),%rax
401bc8: 88 55 00 mov %dl,0x0(%rbp)
401bcb: eb 52 jmp 401c1f <submitr+0x36f>
401bcd: 80 fa 20 cmp $0x20,%dl
401bd0: 75 0a jne 401bdc <submitr+0x32c>
401bd2: 48 8d 45 01 lea 0x1(%rbp),%rax
401bd6: c6 45 00 2b movb $0x2b,0x0(%rbp)
401bda: eb 43 jmp 401c1f <submitr+0x36f>
401bdc: 8d 42 e0 lea -0x20(%rdx),%eax
401bdf: 3c 5f cmp $0x5f,%al
401be1: 76 09 jbe 401bec <submitr+0x33c>
401be3: 80 fa 09 cmp $0x9,%dl
401be6: 0f 85 e4 03 00 00 jne 401fd0 <submitr+0x720>
401bec: 0f b6 d2 movzbl %dl,%edx
401bef: be e8 28 40 00 mov $0x4028e8,%esi
401bf4: 48 8d 7c 24 20 lea 0x20(%rsp),%rdi
401bf9: b8 00 00 00 00 mov $0x0,%eax
401bfe: e8 6d f0 ff ff callq 400c70 <sprintf@plt>
401c03: 0f b6 44 24 20 movzbl 0x20(%rsp),%eax
401c08: 88 45 00 mov %al,0x0(%rbp)
401c0b: 0f b6 44 24 21 movzbl 0x21(%rsp),%eax
401c10: 88 45 01 mov %al,0x1(%rbp)
401c13: 48 8d 45 03 lea 0x3(%rbp),%rax
401c17: 0f b6 54 24 22 movzbl 0x22(%rsp),%edx
401c1c: 88 55 02 mov %dl,0x2(%rbp)
401c1f: 48 83 c3 01 add $0x1,%rbx
401c23: 4c 39 eb cmp %r13,%rbx
401c26: 0f 84 39 03 00 00 je 401f65 <submitr+0x6b5>
401c2c: 48 89 c5 mov %rax,%rbp
401c2f: e9 69 ff ff ff jmpq 401b9d <submitr+0x2ed>
401c34: 48 89 da mov %rbx,%rdx
401c37: 48 89 ee mov %rbp,%rsi
401c3a: 44 89 e7 mov %r12d,%edi
401c3d: e8 0e ef ff ff callq 400b50 <write@plt>
401c42: 48 85 c0 test %rax,%rax
401c45: 7f 10 jg 401c57 <submitr+0x3a7>
401c47: e8 d4 ee ff ff callq 400b20 <__errno_location@plt>
401c4c: 83 38 04 cmpl $0x4,(%rax)
401c4f: 90 nop
401c50: 75 12 jne 401c64 <submitr+0x3b4>
401c52: b8 00 00 00 00 mov $0x0,%eax
401c57: 48 01 c5 add %rax,%rbp
401c5a: 48 29 c3 sub %rax,%rbx
401c5d: 75 d5 jne 401c34 <submitr+0x384>
401c5f: 4d 85 ed test %r13,%r13
401c62: 79 5f jns 401cc3 <submitr+0x413>
401c64: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax
401c6b: 3a 20 43
401c6e: 49 89 06 mov %rax,(%r14)
401c71: 48 b8 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rax
401c78: 20 75 6e
401c7b: 49 89 46 08 mov %rax,0x8(%r14)
401c7f: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
401c86: 74 6f 20
401c89: 49 89 46 10 mov %rax,0x10(%r14)
401c8d: 48 b8 77 72 69 74 65 movabs $0x6f74206574697277,%rax
401c94: 20 74 6f
401c97: 49 89 46 18 mov %rax,0x18(%r14)
401c9b: 48 b8 20 74 68 65 20 movabs $0x7265732065687420,%rax
401ca2: 73 65 72
401ca5: 49 89 46 20 mov %rax,0x20(%r14)
401ca9: 41 c7 46 28 76 65 72 movl $0x726576,0x28(%r14)
401cb0: 00
401cb1: 44 89 e7 mov %r12d,%edi
401cb4: e8 c7 ee ff ff callq 400b80 <close@plt>
401cb9: b8 ff ff ff ff mov $0xffffffff,%eax
401cbe: e9 95 03 00 00 jmpq 402058 <submitr+0x7a8>
401cc3: 44 89 a4 24 40 80 00 mov %r12d,0x8040(%rsp)
401cca: 00
401ccb: c7 84 24 44 80 00 00 movl $0x0,0x8044(%rsp)
401cd2: 00 00 00 00
401cd6: 48 8d 84 24 50 80 00 lea 0x8050(%rsp),%rax
401cdd: 00
401cde: 48 89 84 24 48 80 00 mov %rax,0x8048(%rsp)
401ce5: 00
401ce6: ba 00 20 00 00 mov $0x2000,%edx
401ceb: 48 8d b4 24 40 60 00 lea 0x6040(%rsp),%rsi
401cf2: 00
401cf3: 48 8d bc 24 40 80 00 lea 0x8040(%rsp),%rdi
401cfa: 00
401cfb: e8 99 fa ff ff callq 401799 <rio_readlineb>
401d00: 48 85 c0 test %rax,%rax
401d03: 7f 74 jg 401d79 <submitr+0x4c9>
401d05: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax
401d0c: 3a 20 43
401d0f: 49 89 06 mov %rax,(%r14)
401d12: 48 b8 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rax
401d19: 20 75 6e
401d1c: 49 89 46 08 mov %rax,0x8(%r14)
401d20: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
401d27: 74 6f 20
401d2a: 49 89 46 10 mov %rax,0x10(%r14)
401d2e: 48 b8 72 65 61 64 20 movabs $0x7269662064616572,%rax
401d35: 66 69 72
401d38: 49 89 46 18 mov %rax,0x18(%r14)
401d3c: 48 b8 73 74 20 68 65 movabs $0x6564616568207473,%rax
401d43: 61 64 65
401d46: 49 89 46 20 mov %rax,0x20(%r14)
401d4a: 48 b8 72 20 66 72 6f movabs $0x73206d6f72662072,%rax
401d51: 6d 20 73
401d54: 49 89 46 28 mov %rax,0x28(%r14)
401d58: 41 c7 46 30 65 72 76 movl $0x65767265,0x30(%r14)
401d5f: 65
401d60: 66 41 c7 46 34 72 00 movw $0x72,0x34(%r14)
401d67: 44 89 e7 mov %r12d,%edi
401d6a: e8 11 ee ff ff callq 400b80 <close@plt>
401d6f: b8 ff ff ff ff mov $0xffffffff,%eax
401d74: e9 df 02 00 00 jmpq 402058 <submitr+0x7a8>
401d79: 4c 8d 44 24 30 lea 0x30(%rsp),%r8
401d7e: 48 8d 8c 24 3c 20 00 lea 0x203c(%rsp),%rcx
401d85: 00
401d86: 48 8d 94 24 40 20 00 lea 0x2040(%rsp),%rdx
401d8d: 00
401d8e: be ef 28 40 00 mov $0x4028ef,%esi
401d93: 48 8d bc 24 40 60 00 lea 0x6040(%rsp),%rdi
401d9a: 00
401d9b: b8 00 00 00 00 mov $0x0,%eax
401da0: e8 8b ee ff ff callq 400c30 <__isoc99_sscanf@plt>
401da5: 8b 94 24 3c 20 00 00 mov 0x203c(%rsp),%edx
401dac: 81 fa c8 00 00 00 cmp $0xc8,%edx
401db2: 0f 84 b2 00 00 00 je 401e6a <submitr+0x5ba>
401db8: 48 8d 4c 24 30 lea 0x30(%rsp),%rcx
401dbd: be 38 28 40 00 mov $0x402838,%esi
401dc2: 4c 89 f7 mov %r14,%rdi
401dc5: b8 00 00 00 00 mov $0x0,%eax
401dca: e8 a1 ee ff ff callq 400c70 <sprintf@plt>
401dcf: 44 89 e7 mov %r12d,%edi
401dd2: e8 a9 ed ff ff callq 400b80 <close@plt>
401dd7: b8 ff ff ff ff mov $0xffffffff,%eax
401ddc: e9 77 02 00 00 jmpq 402058 <submitr+0x7a8>
401de1: ba 00 20 00 00 mov $0x2000,%edx
401de6: 48 8d b4 24 40 60 00 lea 0x6040(%rsp),%rsi
401ded: 00
401dee: 48 8d bc 24 40 80 00 lea 0x8040(%rsp),%rdi
401df5: 00
401df6: e8 9e f9 ff ff callq 401799 <rio_readlineb>
401dfb: 48 85 c0 test %rax,%rax
401dfe: 7f 6a jg 401e6a <submitr+0x5ba>
401e00: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax
401e07: 3a 20 43
401e0a: 49 89 06 mov %rax,(%r14)
401e0d: 48 b8 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rax
401e14: 20 75 6e
401e17: 49 89 46 08 mov %rax,0x8(%r14)
401e1b: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
401e22: 74 6f 20
401e25: 49 89 46 10 mov %rax,0x10(%r14)
401e29: 48 b8 72 65 61 64 20 movabs $0x6165682064616572,%rax
401e30: 68 65 61
401e33: 49 89 46 18 mov %rax,0x18(%r14)
401e37: 48 b8 64 65 72 73 20 movabs $0x6f72662073726564,%rax
401e3e: 66 72 6f
401e41: 49 89 46 20 mov %rax,0x20(%r14)
401e45: 48 b8 6d 20 73 65 72 movabs $0x726576726573206d,%rax
401e4c: 76 65 72
401e4f: 49 89 46 28 mov %rax,0x28(%r14)
401e53: 41 c6 46 30 00 movb $0x0,0x30(%r14)
401e58: 44 89 e7 mov %r12d,%edi
401e5b: e8 20 ed ff ff callq 400b80 <close@plt>
401e60: b8 ff ff ff ff mov $0xffffffff,%eax
401e65: e9 ee 01 00 00 jmpq 402058 <submitr+0x7a8>
401e6a: 80 bc 24 40 60 00 00 cmpb $0xd,0x6040(%rsp)
401e71: 0d
401e72: 0f 85 69 ff ff ff jne 401de1 <submitr+0x531>
401e78: 80 bc 24 41 60 00 00 cmpb $0xa,0x6041(%rsp)
401e7f: 0a
401e80: 0f 85 5b ff ff ff jne 401de1 <submitr+0x531>
401e86: 80 bc 24 42 60 00 00 cmpb $0x0,0x6042(%rsp)
401e8d: 00
401e8e: 0f 85 4d ff ff ff jne 401de1 <submitr+0x531>
401e94: ba 00 20 00 00 mov $0x2000,%edx
401e99: 48 8d b4 24 40 60 00 lea 0x6040(%rsp),%rsi
401ea0: 00
401ea1: 48 8d bc 24 40 80 00 lea 0x8040(%rsp),%rdi
401ea8: 00
401ea9: e8 eb f8 ff ff callq 401799 <rio_readlineb>
401eae: 48 85 c0 test %rax,%rax
401eb1: 7f 73 jg 401f26 <submitr+0x676>
401eb3: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax
401eba: 3a 20 43
401ebd: 49 89 06 mov %rax,(%r14)
401ec0: 48 b8 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rax
401ec7: 20 75 6e
401eca: 49 89 46 08 mov %rax,0x8(%r14)
401ece: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
401ed5: 74 6f 20
401ed8: 49 89 46 10 mov %rax,0x10(%r14)
401edc: 48 b8 72 65 61 64 20 movabs $0x6174732064616572,%rax
401ee3: 73 74 61
401ee6: 49 89 46 18 mov %rax,0x18(%r14)
401eea: 48 b8 74 75 73 20 6d movabs $0x7373656d20737574,%rax
401ef1: 65 73 73
401ef4: 49 89 46 20 mov %rax,0x20(%r14)
401ef8: 48 b8 61 67 65 20 66 movabs $0x6d6f726620656761,%rax
401eff: 72 6f 6d
401f02: 49 89 46 28 mov %rax,0x28(%r14)
401f06: 48 b8 20 73 65 72 76 movabs $0x72657672657320,%rax
401f0d: 65 72 00
401f10: 49 89 46 30 mov %rax,0x30(%r14)
401f14: 44 89 e7 mov %r12d,%edi
401f17: e8 64 ec ff ff callq 400b80 <close@plt>
401f1c: b8 ff ff ff ff mov $0xffffffff,%eax
401f21: e9 32 01 00 00 jmpq 402058 <submitr+0x7a8>
401f26: 48 8d b4 24 40 60 00 lea 0x6040(%rsp),%rsi
401f2d: 00
401f2e: 4c 89 f7 mov %r14,%rdi
401f31: e8 fa eb ff ff callq 400b30 <strcpy@plt>
401f36: 44 89 e7 mov %r12d,%edi
401f39: e8 42 ec ff ff callq 400b80 <close@plt>
401f3e: 41 0f b6 06 movzbl (%r14),%eax
401f42: 83 e8 4f sub $0x4f,%eax
401f45: 75 0f jne 401f56 <submitr+0x6a6>
401f47: 41 0f b6 46 01 movzbl 0x1(%r14),%eax
401f4c: 83 e8 4b sub $0x4b,%eax
401f4f: 75 05 jne 401f56 <submitr+0x6a6>
401f51: 41 0f b6 46 02 movzbl 0x2(%r14),%eax
401f56: 85 c0 test %eax,%eax
401f58: 0f 95 c0 setne %al
401f5b: 0f b6 c0 movzbl %al,%eax
401f5e: f7 d8 neg %eax
401f60: e9 f3 00 00 00 jmpq 402058 <submitr+0x7a8>
401f65: 48 8d 84 24 40 40 00 lea 0x4040(%rsp),%rax
401f6c: 00
401f6d: 48 89 04 24 mov %rax,(%rsp)
401f71: 4d 89 f9 mov %r15,%r9
401f74: 4c 8b 44 24 18 mov 0x18(%rsp),%r8
401f79: 48 8b 4c 24 10 mov 0x10(%rsp),%rcx
401f7e: 48 8b 54 24 08 mov 0x8(%rsp),%rdx
401f83: be 68 28 40 00 mov $0x402868,%esi
401f88: 48 8d bc 24 40 60 00 lea 0x6040(%rsp),%rdi
401f8f: 00
401f90: b8 00 00 00 00 mov $0x0,%eax
401f95: e8 d6 ec ff ff callq 400c70 <sprintf@plt>
401f9a: 48 8d bc 24 40 60 00 lea 0x6040(%rsp),%rdi
401fa1: 00
401fa2: b8 00 00 00 00 mov $0x0,%eax
401fa7: 48 c7 c1 ff ff ff ff mov $0xffffffffffffffff,%rcx
401fae: f2 ae repnz scas %es:(%rdi),%al
401fb0: 48 f7 d1 not %rcx
401fb3: 48 83 e9 01 sub $0x1,%rcx
401fb7: 49 89 cd mov %rcx,%r13
401fba: 0f 84 03 fd ff ff je 401cc3 <submitr+0x413>
401fc0: 48 89 cb mov %rcx,%rbx
401fc3: 48 8d ac 24 40 60 00 lea 0x6040(%rsp),%rbp
401fca: 00
401fcb: e9 64 fc ff ff jmpq 401c34 <submitr+0x384>
401fd0: 48 b8 45 72 72 6f 72 movabs $0x52203a726f727245,%rax
401fd7: 3a 20 52
401fda: 49 89 06 mov %rax,(%r14)
401fdd: 48 b8 65 73 75 6c 74 movabs $0x747320746c757365,%rax
401fe4: 20 73 74
401fe7: 49 89 46 08 mov %rax,0x8(%r14)
401feb: 48 b8 72 69 6e 67 20 movabs $0x6e6f6320676e6972,%rax
401ff2: 63 6f 6e
401ff5: 49 89 46 10 mov %rax,0x10(%r14)
401ff9: 48 b8 74 61 69 6e 73 movabs $0x6e6120736e696174,%rax
402000: 20 61 6e
402003: 49 89 46 18 mov %rax,0x18(%r14)
402007: 48 b8 20 69 6c 6c 65 movabs $0x6c6167656c6c6920,%rax
40200e: 67 61 6c
402011: 49 89 46 20 mov %rax,0x20(%r14)
402015: 48 b8 20 6f 72 20 75 movabs $0x72706e7520726f20,%rax
40201c: 6e 70 72
40201f: 49 89 46 28 mov %rax,0x28(%r14)
402023: 48 b8 69 6e 74 61 62 movabs $0x20656c6261746e69,%rax
40202a: 6c 65 20
40202d: 49 89 46 30 mov %rax,0x30(%r14)
402031: 48 b8 63 68 61 72 61 movabs $0x6574636172616863,%rax
402038: 63 74 65
40203b: 49 89 46 38 mov %rax,0x38(%r14)
40203f: 66 41 c7 46 40 72 2e movw $0x2e72,0x40(%r14)
402046: 41 c6 46 42 00 movb $0x0,0x42(%r14)
40204b: 44 89 e7 mov %r12d,%edi
40204e: e8 2d eb ff ff callq 400b80 <close@plt>
402053: b8 ff ff ff ff mov $0xffffffff,%eax
402058: 48 81 c4 68 a0 00 00 add $0xa068,%rsp
40205f: 5b pop %rbx
402060: 5d pop %rbp
402061: 41 5c pop %r12
402063: 41 5d pop %r13
402065: 41 5e pop %r14
402067: 41 5f pop %r15
402069: c3 retq

000000000040206a <init_timeout>:
40206a: 53 push %rbx
40206b: 89 fb mov %edi,%ebx
40206d: 85 ff test %edi,%edi
40206f: 74 1e je 40208f <init_timeout+0x25>
402071: be 70 17 40 00 mov $0x401770,%esi
402076: bf 0e 00 00 00 mov $0xe,%edi
40207b: e8 40 eb ff ff callq 400bc0 <signal@plt>
402080: 85 db test %ebx,%ebx
402082: bf 00 00 00 00 mov $0x0,%edi
402087: 0f 49 fb cmovns %ebx,%edi
40208a: e8 e1 ea ff ff callq 400b70 <alarm@plt>
40208f: 5b pop %rbx
402090: c3 retq

0000000000402091 <init_driver>:
402091: 55 push %rbp
402092: 53 push %rbx
402093: 48 83 ec 18 sub $0x18,%rsp
402097: 48 89 fd mov %rdi,%rbp
40209a: be 01 00 00 00 mov $0x1,%esi
40209f: bf 0d 00 00 00 mov $0xd,%edi
4020a4: e8 17 eb ff ff callq 400bc0 <signal@plt>
4020a9: be 01 00 00 00 mov $0x1,%esi
4020ae: bf 1d 00 00 00 mov $0x1d,%edi
4020b3: e8 08 eb ff ff callq 400bc0 <signal@plt>
4020b8: be 01 00 00 00 mov $0x1,%esi
4020bd: bf 1d 00 00 00 mov $0x1d,%edi
4020c2: e8 f9 ea ff ff callq 400bc0 <signal@plt>
4020c7: ba 00 00 00 00 mov $0x0,%edx
4020cc: be 01 00 00 00 mov $0x1,%esi
4020d1: bf 02 00 00 00 mov $0x2,%edi
4020d6: e8 e5 eb ff ff callq 400cc0 <socket@plt>
4020db: 89 c3 mov %eax,%ebx
4020dd: 85 c0 test %eax,%eax
4020df: 79 4f jns 402130 <init_driver+0x9f>
4020e1: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax
4020e8: 3a 20 43
4020eb: 48 89 45 00 mov %rax,0x0(%rbp)
4020ef: 48 b8 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rax
4020f6: 20 75 6e
4020f9: 48 89 45 08 mov %rax,0x8(%rbp)
4020fd: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
402104: 74 6f 20
402107: 48 89 45 10 mov %rax,0x10(%rbp)
40210b: 48 b8 63 72 65 61 74 movabs $0x7320657461657263,%rax
402112: 65 20 73
402115: 48 89 45 18 mov %rax,0x18(%rbp)
402119: c7 45 20 6f 63 6b 65 movl $0x656b636f,0x20(%rbp)
402120: 66 c7 45 24 74 00 movw $0x74,0x24(%rbp)
402126: b8 ff ff ff ff mov $0xffffffff,%eax
40212b: e9 f8 00 00 00 jmpq 402228 <init_driver+0x197>
402130: bf 00 29 40 00 mov $0x402900,%edi
402135: e8 96 ea ff ff callq 400bd0 <gethostbyname@plt>
40213a: 48 85 c0 test %rax,%rax
40213d: 75 68 jne 4021a7 <init_driver+0x116>
40213f: 48 b8 45 72 72 6f 72 movabs $0x44203a726f727245,%rax
402146: 3a 20 44
402149: 48 89 45 00 mov %rax,0x0(%rbp)
40214d: 48 b8 4e 53 20 69 73 movabs $0x6e7520736920534e,%rax
402154: 20 75 6e
402157: 48 89 45 08 mov %rax,0x8(%rbp)
40215b: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax
402162: 74 6f 20
402165: 48 89 45 10 mov %rax,0x10(%rbp)
402169: 48 b8 72 65 73 6f 6c movabs $0x2065766c6f736572,%rax
402170: 76 65 20
402173: 48 89 45 18 mov %rax,0x18(%rbp)
402177: 48 b8 73 65 72 76 65 movabs $0x6120726576726573,%rax
40217e: 72 20 61
402181: 48 89 45 20 mov %rax,0x20(%rbp)
402185: c7 45 28 64 64 72 65 movl $0x65726464,0x28(%rbp)
40218c: 66 c7 45 2c 73 73 movw $0x7373,0x2c(%rbp)
402192: c6 45 2e 00 movb $0x0,0x2e(%rbp)
402196: 89 df mov %ebx,%edi
402198: e8 e3 e9 ff ff callq 400b80 <close@plt>
40219d: b8 ff ff ff ff mov $0xffffffff,%eax
4021a2: e9 81 00 00 00 jmpq 402228 <init_driver+0x197>
4021a7: 48 c7 04 24 00 00 00 movq $0x0,(%rsp)
4021ae: 00
4021af: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
4021b6: 00 00
4021b8: 66 c7 04 24 02 00 movw $0x2,(%rsp)
4021be: 48 63 50 14 movslq 0x14(%rax),%rdx
4021c2: 48 8d 74 24 04 lea 0x4(%rsp),%rsi
4021c7: 48 8b 40 18 mov 0x18(%rax),%rax
4021cb: 48 8b 38 mov (%rax),%rdi
4021ce: e8 6d ea ff ff callq 400c40 <bcopy@plt>
4021d3: 66 c7 44 24 02 c3 42 movw $0x42c3,0x2(%rsp)
4021da: ba 10 00 00 00 mov $0x10,%edx
4021df: 48 89 e6 mov %rsp,%rsi
4021e2: 89 df mov %ebx,%edi
4021e4: e8 a7 ea ff ff callq 400c90 <connect@plt>
4021e9: 85 c0 test %eax,%eax
4021eb: 79 25 jns 402212 <init_driver+0x181>
4021ed: ba 00 29 40 00 mov $0x402900,%edx
4021f2: be c0 28 40 00 mov $0x4028c0,%esi
4021f7: 48 89 ef mov %rbp,%rdi
4021fa: b8 00 00 00 00 mov $0x0,%eax
4021ff: e8 6c ea ff ff callq 400c70 <sprintf@plt>
402204: 89 df mov %ebx,%edi
402206: e8 75 e9 ff ff callq 400b80 <close@plt>
40220b: b8 ff ff ff ff mov $0xffffffff,%eax
402210: eb 16 jmp 402228 <init_driver+0x197>
402212: 89 df mov %ebx,%edi
402214: e8 67 e9 ff ff callq 400b80 <close@plt>
402219: 66 c7 45 00 4f 4b movw $0x4b4f,0x0(%rbp)
40221f: c6 45 02 00 movb $0x0,0x2(%rbp)
402223: b8 00 00 00 00 mov $0x0,%eax
402228: 48 83 c4 18 add $0x18,%rsp
40222c: 5b pop %rbx
40222d: 5d pop %rbp
40222e: c3 retq

000000000040222f <driver_post>:
40222f: 53 push %rbx
402230: 48 83 ec 10 sub $0x10,%rsp
402234: 4c 89 c3 mov %r8,%rbx
402237: 85 c9 test %ecx,%ecx
402239: 74 22 je 40225d <driver_post+0x2e>
40223b: 48 89 d6 mov %rdx,%rsi
40223e: bf 13 29 40 00 mov $0x402913,%edi
402243: b8 00 00 00 00 mov $0x0,%eax
402248: e8 13 e9 ff ff callq 400b60 <printf@plt>
40224d: 66 c7 03 4f 4b movw $0x4b4f,(%rbx)
402252: c6 43 02 00 movb $0x0,0x2(%rbx)
402256: b8 00 00 00 00 mov $0x0,%eax
40225b: eb 43 jmp 4022a0 <driver_post+0x71>
40225d: 48 85 ff test %rdi,%rdi
402260: 74 30 je 402292 <driver_post+0x63>
402262: 80 3f 00 cmpb $0x0,(%rdi)
402265: 74 2b je 402292 <driver_post+0x63>
402267: 4c 89 44 24 08 mov %r8,0x8(%rsp)
40226c: 48 89 14 24 mov %rdx,(%rsp)
402270: 41 b9 2a 29 40 00 mov $0x40292a,%r9d
402276: 49 89 f0 mov %rsi,%r8
402279: 48 89 f9 mov %rdi,%rcx
40227c: ba 2e 29 40 00 mov $0x40292e,%edx
402281: be 42 c3 00 00 mov $0xc342,%esi
402286: bf 00 29 40 00 mov $0x402900,%edi
40228b: e8 20 f6 ff ff callq 4018b0 <submitr>
402290: eb 0e jmp 4022a0 <driver_post+0x71>
402292: 66 c7 03 4f 4b movw $0x4b4f,(%rbx)
402297: c6 43 02 00 movb $0x0,0x2(%rbx)
40229b: b8 00 00 00 00 mov $0x0,%eax
4022a0: 48 83 c4 10 add $0x10,%rsp
4022a4: 5b pop %rbx
4022a5: c3 retq
4022a6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
4022ad: 00 00 00

00000000004022b0 <__libc_csu_init>:
4022b0: 41 57 push %r15
4022b2: 41 89 ff mov %edi,%r15d
4022b5: 41 56 push %r14
4022b7: 49 89 f6 mov %rsi,%r14
4022ba: 41 55 push %r13
4022bc: 49 89 d5 mov %rdx,%r13
4022bf: 41 54 push %r12
4022c1: 4c 8d 25 48 1b 20 00 lea 0x201b48(%rip),%r12 # 603e10
<__frame_dummy_init_array_entry>
4022c8: 55 push %rbp
4022c9: 48 8d 2d 48 1b 20 00 lea 0x201b48(%rip),%rbp # 603e18
<__init_array_end>
4022d0: 53 push %rbx
4022d1: 4c 29 e5 sub %r12,%rbp
4022d4: 31 db xor %ebx,%ebx
4022d6: 48 c1 fd 03 sar $0x3,%rbp
4022da: 48 83 ec 08 sub $0x8,%rsp
4022de: e8 ed e7 ff ff callq 400ad0 <_init>
4022e3: 48 85 ed test %rbp,%rbp
4022e6: 74 1e je 402306 <__libc_csu_init+0x56>
4022e8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
4022ef: 00
4022f0: 4c 89 ea mov %r13,%rdx
4022f3: 4c 89 f6 mov %r14,%rsi
4022f6: 44 89 ff mov %r15d,%edi
4022f9: 41 ff 14 dc callq *(%r12,%rbx,8)
4022fd: 48 83 c3 01 add $0x1,%rbx
402301: 48 39 eb cmp %rbp,%rbx
402304: 75 ea jne 4022f0 <__libc_csu_init+0x40>
402306: 48 83 c4 08 add $0x8,%rsp
40230a: 5b pop %rbx
40230b: 5d pop %rbp
40230c: 41 5c pop %r12
40230e: 41 5d pop %r13
402310: 41 5e pop %r14
402312: 41 5f pop %r15
402314: c3 retq
402315: 90 nop
402316: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
40231d: 00 00 00

0000000000402320 <__libc_csu_fini>:
402320: f3 c3 repz retq

Disassembly of section .fini:

0000000000402324 <_fini>:
402324: 48 83 ec 08 sub $0x8,%rsp
402328: 48 83 c4 08 add $0x8,%rsp
40232c: c3 retq

You might also like