0000000000000d58 <_init>: sub $0x8,%rsp mov 0x203285(%rip),%rax # 203fe8 <__gmon_start__> test %rax,%rax je d6a <_init+0x12> callq *%rax add $0x8,%rsp retq Disassembly of section .plt: 0000000000000d70 <.plt>: pushq 0x203192(%rip) # 203f08 <_GLOBAL_OFFSET_TABLE_+0x8> jmpq *0x203194(%rip) # 203f10 <_GLOBAL_OFFSET_TABLE_+0x10> nopl 0x0(%rax) 0000000000000d80 <getenv@plt>: jmpq *0x203192(%rip) # 203f18 <getenv@GLIBC_2.2.5> pushq $0x0 jmpq d70 <.plt> 0000000000000d90 <__errno_location@plt>: jmpq *0x20318a(%rip) # 203f20 <__errno_location@GLIBC_2.2.5> pushq $0x1 jmpq d70 <.plt> 0000000000000da0 <strcpy@plt>: jmpq *0x203182(%rip) # 203f28 <strcpy@GLIBC_2.2.5> pushq $0x2 jmpq d70 <.plt> 0000000000000db0 <puts@plt>: jmpq *0x20317a(%rip) # 203f30 <puts@GLIBC_2.2.5> pushq $0x3 jmpq d70 <.plt> 0000000000000dc0 <write@plt>: jmpq *0x203172(%rip) # 203f38 <write@GLIBC_2.2.5> pushq $0x4 jmpq d70 <.plt> 0000000000000dd0 <alarm@plt>: jmpq *0x20316a(%rip) # 203f40 <alarm@GLIBC_2.2.5> pushq $0x5 jmpq d70 <.plt> 0000000000000de0 <close@plt>: jmpq *0x203162(%rip) # 203f48 <close@GLIBC_2.2.5> pushq $0x6 jmpq d70 <.plt> 0000000000000df0 <read@plt>: jmpq *0x20315a(%rip) # 203f50 <read@GLIBC_2.2.5> pushq $0x7 jmpq d70 <.plt> 0000000000000e00 <fgets@plt>: jmpq *0x203152(%rip) # 203f58 <fgets@GLIBC_2.2.5> pushq $0x8 jmpq d70 <.plt> 0000000000000e10 <signal@plt>: jmpq *0x20314a(%rip) # 203f60 <signal@GLIBC_2.2.5> pushq $0x9 jmpq d70 <.plt> 0000000000000e20 <gethostbyname@plt>: jmpq *0x203142(%rip) # 203f68 <gethostbyname@GLIBC_2.2.5> pushq $0xa jmpq d70 <.plt> 0000000000000e30 <__memmove_chk@plt>: jmpq *0x20313a(%rip) # 203f70 <__memmove_chk@GLIBC_2.3.4> pushq $0xb jmpq d70 <.plt> 0000000000000e40 <strtol@plt>: e40: ff 25 32 31 20 00 jmpq *0x203132(%rip) # 203f78 <strtol@GLIBC_2.2.5> e46: 68 0c 00 00 00 pushq $0xc e4b: e9 20 ff ff ff jmpq d70 <.plt> 0000000000000e50 <fflush@plt>: e50: ff 25 2a 31 20 00 jmpq *0x20312a(%rip) # 203f80 <fflush@GLIBC_2.2.5> e56: 68 0d 00 00 00 pushq $0xd e5b: e9 10 ff ff ff jmpq d70 <.plt> 0000000000000e60 <__isoc99_sscanf@plt>: e60: ff 25 22 31 20 00 jmpq *0x203122(%rip) # 203f88 <__isoc99_sscanf@GLIBC_2.7> e66: 68 0e 00 00 00 pushq $0xe e6b: e9 00 ff ff ff jmpq d70 <.plt> 0000000000000e70 <__printf_chk@plt>: e70: ff 25 1a 31 20 00 jmpq *0x20311a(%rip) # 203f90 <__printf_chk@GLIBC_2.3.4> e76: 68 0f 00 00 00 pushq $0xf e7b: e9 f0 fe ff ff jmpq d70 <.plt> 0000000000000e80 <fopen@plt>: e80: ff 25 12 31 20 00 jmpq *0x203112(%rip) # 203f98 <fopen@GLIBC_2.2.5> e86: 68 10 00 00 00 pushq $0x10 e8b: e9 e0 fe ff ff jmpq d70 <.plt> 0000000000000e90 <exit@plt>: e90: ff 25 0a 31 20 00 jmpq *0x20310a(%rip) # 203fa0 <exit@GLIBC_2.2.5> e96: 68 11 00 00 00 pushq $0x11 e9b: e9 d0 fe ff ff jmpq d70 <.plt> 0000000000000ea0 <connect@plt>: ea0: ff 25 02 31 20 00 jmpq *0x203102(%rip) # 203fa8 <connect@GLIBC_2.2.5> ea6: 68 12 00 00 00 pushq $0x12 eab: e9 c0 fe ff ff jmpq d70 <.plt> 0000000000000eb0 <__fprintf_chk@plt>: eb0: ff 25 fa 30 20 00 jmpq *0x2030fa(%rip) # 203fb0 <__fprintf_chk@GLIBC_2.3.4> eb6: 68 13 00 00 00 pushq $0x13 ebb: e9 b0 fe ff ff jmpq d70 <.plt> 0000000000000ec0 <sleep@plt>: ec0: ff 25 f2 30 20 00 jmpq *0x2030f2(%rip) # 203fb8 <sleep@GLIBC_2.2.5> ec6: 68 14 00 00 00 pushq $0x14 ecb: e9 a0 fe ff ff jmpq d70 <.plt> 0000000000000ed0 <__ctype_b_loc@plt>: ed0: ff 25 ea 30 20 00 jmpq *0x2030ea(%rip) # 203fc0 <__ctype_b_loc@GLIBC_2.3> ed6: 68 15 00 00 00 pushq $0x15 edb: e9 90 fe ff ff jmpq d70 <.plt> 0000000000000ee0 <__sprintf_chk@plt>: ee0: ff 25 e2 30 20 00 jmpq *0x2030e2(%rip) # 203fc8 <__sprintf_chk@GLIBC_2.3.4> ee6: 68 16 00 00 00 pushq $0x16 eeb: e9 80 fe ff ff jmpq d70 <.plt> 0000000000000ef0 <socket@plt>: ef0: ff 25 da 30 20 00 jmpq *0x2030da(%rip) # 203fd0 <socket@GLIBC_2.2.5> ef6: 68 17 00 00 00 pushq $0x17 efb: e9 70 fe ff ff jmpq d70 <.plt> Disassembly of section .plt.got: 0000000000000f00 <__cxa_finalize@plt>: f00: ff 25 f2 30 20 00 jmpq *0x2030f2(%rip) # 203ff8 <__cxa_finalize@GLIBC_2.2.5> f06: 66 90 xchg %ax,%ax Disassembly of section .text: 0000000000000f10 <_start>: f10: 31 ed xor %ebp,%ebp f12: 49 89 d1 mov %rdx,%r9 f15: 5e pop %rsi f16: 48 89 e2 mov %rsp,%rdx f19: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp f1d: 50 push %rax f1e: 54 push %rsp f1f: 4c 8d 05 1a 17 00 00 lea 0x171a(%rip),%r8 # 2640 <__libc_csu_fini> f26: 48 8d 0d a3 16 00 00 lea 0x16a3(%rip),%rcx # 25d0 <__libc_csu_init> f2d: 48 8d 3d e6 00 00 00 lea 0xe6(%rip),%rdi # 101a <main> f34: ff 15 a6 30 20 00 callq *0x2030a6(%rip) # 203fe0 <__libc_start_main@GLIBC_2.2.5> f3a: f4 hlt f3b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 0000000000000f40 <deregister_tm_clones>: f40: 48 8d 3d 39 3b 20 00 lea 0x203b39(%rip),%rdi # 204a80 <stdout@@GLIBC_2.2.5> f47: 55 push %rbp f48: 48 8d 05 31 3b 20 00 lea 0x203b31(%rip),%rax # 204a80 <stdout@@GLIBC_2.2.5> f4f: 48 39 f8 cmp %rdi,%rax f52: 48 89 e5 mov %rsp,%rbp f55: 74 19 je f70 <deregister_tm_clones+0x30> f57: 48 8b 05 7a 30 20 00 mov 0x20307a(%rip),%rax # 203fd8 <_ITM_deregisterTMCloneTable> f5e: 48 85 c0 test %rax,%rax f61: 74 0d je f70 <deregister_tm_clones+0x30> f63: 5d pop %rbp f64: ff e0 jmpq *%rax f66: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) f6d: 00 00 00 f70: 5d pop %rbp f71: c3 retq f72: 0f 1f 40 00 nopl 0x0(%rax) f76: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) f7d: 00 00 00 0000000000000f80 <register_tm_clones>: f80: 48 8d 3d f9 3a 20 00 lea 0x203af9(%rip),%rdi # 204a80 <stdout@@GLIBC_2.2.5> f87: 48 8d 35 f2 3a 20 00 lea 0x203af2(%rip),%rsi # 204a80 <stdout@@GLIBC_2.2.5> f8e: 55 push %rbp f8f: 48 29 fe sub %rdi,%rsi f92: 48 89 e5 mov %rsp,%rbp f95: 48 c1 fe 03 sar $0x3,%rsi f99: 48 89 f0 mov %rsi,%rax f9c: 48 c1 e8 3f shr $0x3f,%rax fa0: 48 01 c6 add %rax,%rsi fa3: 48 d1 fe sar %rsi fa6: 74 18 je fc0 <register_tm_clones+0x40> fa8: 48 8b 05 41 30 20 00 mov 0x203041(%rip),%rax # 203ff0 <_ITM_registerTMCloneTable> faf: 48 85 c0 test %rax,%rax fb2: 74 0c je fc0 <register_tm_clones+0x40> fb4: 5d pop %rbp fb5: ff e0 jmpq *%rax fb7: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) fbe: 00 00 fc0: 5d pop %rbp fc1: c3 retq fc2: 0f 1f 40 00 nopl 0x0(%rax) fc6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) fcd: 00 00 00 0000000000000fd0 <__do_global_dtors_aux>: fd0: 80 3d d1 3a 20 00 00 cmpb $0x0,0x203ad1(%rip) # 204aa8 <completed.7698> fd7: 75 2f jne 1008 <__do_global_dtors_aux+0x38> fd9: 48 83 3d 17 30 20 00 cmpq $0x0,0x203017(%rip) # 203ff8 <__cxa_finalize@GLIBC_2.2.5> fe0: 00 fe1: 55 push %rbp fe2: 48 89 e5 mov %rsp,%rbp fe5: 74 0c je ff3 <__do_global_dtors_aux+0x23> fe7: 48 8b 3d 1a 30 20 00 mov 0x20301a(%rip),%rdi # 204008 <__dso_handle> fee: e8 0d ff ff ff callq f00 <__cxa_finalize@plt> ff3: e8 48 ff ff ff callq f40 <deregister_tm_clones> ff8: c6 05 a9 3a 20 00 01 movb $0x1,0x203aa9(%rip) # 204aa8 <completed.7698> fff: 5d pop %rbp 1000: c3 retq 1001: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 1008: f3 c3 repz retq 100a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) 0000000000001010 <frame_dummy>: 1010: 55 push %rbp 1011: 48 89 e5 mov %rsp,%rbp 1014: 5d pop %rbp 1015: e9 66 ff ff ff jmpq f80 <register_tm_clones> 000000000000101a <main>: 101a: 53 push %rbx 101b: 83 ff 01 cmp $0x1,%edi 101e: 0f 84 f8 00 00 00 je 111c <main+0x102> 1024: 48 89 f3 mov %rsi,%rbx 1027: 83 ff 02 cmp $0x2,%edi 102a: 0f 85 21 01 00 00 jne 1151 <main+0x137> 1030: 48 8b 7e 08 mov 0x8(%rsi),%rdi 1034: 48 8d 35 19 16 00 00 lea 0x1619(%rip),%rsi # 2654 <_IO_stdin_used+0x4> 103b: e8 40 fe ff ff callq e80 <fopen@plt> 1040: 48 89 05 69 3a 20 00 mov %rax,0x203a69(%rip) # 204ab0 <infile> 1047: 48 85 c0 test %rax,%rax 104a: 0f 84 df 00 00 00 je 112f <main+0x115> 1050: e8 02 06 00 00 callq 1657 <initialize_bomb> 1055: 48 8d 3d 7c 16 00 00 lea 0x167c(%rip),%rdi # 26d8 <_IO_stdin_used+0x88> 105c: e8 4f fd ff ff callq db0 <puts@plt> 1061: 48 8d 3d b0 16 00 00 lea 0x16b0(%rip),%rdi # 2718 <_IO_stdin_used+0xc8> 1068: e8 43 fd ff ff callq db0 <puts@plt> 106d: e8 f2 07 00 00 callq 1864 <read_line> 1072: 48 89 c7 mov %rax,%rdi 1075: e8 fa 00 00 00 callq 1174 <phase_1> 107a: e8 29 09 00 00 callq 19a8 <phase_defused> 107f: 48 8d 3d c2 16 00 00 lea 0x16c2(%rip),%rdi # 2748 <_IO_stdin_used+0xf8> 1086: e8 25 fd ff ff callq db0 <puts@plt> 108b: e8 d4 07 00 00 callq 1864 <read_line> 1090: 48 89 c7 mov %rax,%rdi 1093: e8 fc 00 00 00 callq 1194 <phase_2> 1098: e8 0b 09 00 00 callq 19a8 <phase_defused> 109d: 48 8d 3d e9 15 00 00 lea 0x15e9(%rip),%rdi # 268d <_IO_stdin_used+0x3d> 10a4: e8 07 fd ff ff callq db0 <puts@plt> 10a9: e8 b6 07 00 00 callq 1864 <read_line> 10ae: 48 89 c7 mov %rax,%rdi 10b1: e8 22 01 00 00 callq 11d8 <phase_3> 10b6: e8 ed 08 00 00 callq 19a8 <phase_defused> 10bb: 48 8d 3d e9 15 00 00 lea 0x15e9(%rip),%rdi # 26ab <_IO_stdin_used+0x5b> 10c2: e8 e9 fc ff ff callq db0 <puts@plt> 10c7: e8 98 07 00 00 callq 1864 <read_line> 10cc: 48 89 c7 mov %rax,%rdi 10cf: e8 f7 01 00 00 callq 12cb <phase_4> 10d4: e8 cf 08 00 00 callq 19a8 <phase_defused> 10d9: 48 8d 3d 98 16 00 00 lea 0x1698(%rip),%rdi # 2778 <_IO_stdin_used+0x128> 10e0: e8 cb fc ff ff callq db0 <puts@plt> 10e5: e8 7a 07 00 00 callq 1864 <read_line> 10ea: 48 89 c7 mov %rax,%rdi 10ed: e8 32 02 00 00 callq 1324 <phase_5> 10f2: e8 b1 08 00 00 callq 19a8 <phase_defused> 10f7: 48 8d 3d bc 15 00 00 lea 0x15bc(%rip),%rdi # 26ba <_IO_stdin_used+0x6a> 10fe: e8 ad fc ff ff callq db0 <puts@plt> 1103: e8 5c 07 00 00 callq 1864 <read_line> 1108: 48 89 c7 mov %rax,%rdi 110b: e8 79 02 00 00 callq 1389 <phase_6> 1110: e8 93 08 00 00 callq 19a8 <phase_defused> 1115: b8 00 00 00 00 mov $0x0,%eax 111a: 5b pop %rbx 111b: c3 retq 111c: 48 8b 05 6d 39 20 00 mov 0x20396d(%rip),%rax # 204a90 <stdin@@GLIBC_2.2.5> 1123: 48 89 05 86 39 20 00 mov %rax,0x203986(%rip) # 204ab0 <infile> 112a: e9 21 ff ff ff jmpq 1050 <main+0x36> 112f: 48 8b 4b 08 mov 0x8(%rbx),%rcx 1133: 48 8b 13 mov (%rbx),%rdx 1136: 48 8d 35 19 15 00 00 lea 0x1519(%rip),%rsi # 2656 <_IO_stdin_used+0x6> 113d: bf 01 00 00 00 mov $0x1,%edi 1142: e8 29 fd ff ff callq e70 <__printf_chk@plt> 1147: bf 08 00 00 00 mov $0x8,%edi 114c: e8 3f fd ff ff callq e90 <exit@plt> 1151: 48 8b 16 mov (%rsi),%rdx 1154: 48 8d 35 18 15 00 00 lea 0x1518(%rip),%rsi # 2673 <_IO_stdin_used+0x23> 115b: bf 01 00 00 00 mov $0x1,%edi 1160: b8 00 00 00 00 mov $0x0,%eax 1165: e8 06 fd ff ff callq e70 <__printf_chk@plt> 116a: bf 08 00 00 00 mov $0x8,%edi 116f: e8 1c fd ff ff callq e90 <exit@plt> 0000000000001174 <phase_1>: 1174: 48 83 ec 08 sub $0x8,%rsp 1178: 48 8d 35 21 16 00 00 lea 0x1621(%rip),%rsi # 27a0 <_IO_stdin_used+0x150> 117f: e8 5e 04 00 00 callq 15e2 <strings_not_equal> 1184: 85 c0 test %eax,%eax 1186: 75 05 jne 118d <phase_1+0x19> 1188: 48 83 c4 08 add $0x8,%rsp 118c: c3 retq 118d: e8 55 06 00 00 callq 17e7 <explode_bomb> 1192: eb f4 jmp 1188 <phase_1+0x14> 0000000000001194 <phase_2>: 1194: 55 push %rbp 1195: 53 push %rbx 1196: 48 83 ec 28 sub $0x28,%rsp 119a: 48 89 e6 mov %rsp,%rsi 119d: e8 81 06 00 00 callq 1823 <read_six_numbers> 11a2: 83 3c 24 01 cmpl $0x1,(%rsp) 11a6: 75 09 jne 11b1 <phase_2+0x1d> 11a8: 48 89 e3 mov %rsp,%rbx 11ab: 48 8d 6b 14 lea 0x14(%rbx),%rbp 11af: eb 10 jmp 11c1 <phase_2+0x2d> 11b1: e8 31 06 00 00 callq 17e7 <explode_bomb> 11b6: eb f0 jmp 11a8 <phase_2+0x14> 11b8: 48 83 c3 04 add $0x4,%rbx 11bc: 48 39 eb cmp %rbp,%rbx 11bf: 74 10 je 11d1 <phase_2+0x3d> 11c1: 8b 03 mov (%rbx),%eax 11c3: 01 c0 add %eax,%eax 11c5: 39 43 04 cmp %eax,0x4(%rbx) 11c8: 74 ee je 11b8 <phase_2+0x24> 11ca: e8 18 06 00 00 callq 17e7 <explode_bomb> 11cf: eb e7 jmp 11b8 <phase_2+0x24> 11d1: 48 83 c4 28 add $0x28,%rsp 11d5: 5b pop %rbx 11d6: 5d pop %rbp 11d7: c3 retq 00000000000011d8 <phase_3>: 11d8: 48 83 ec 18 sub $0x18,%rsp 11dc: 48 8d 4c 24 08 lea 0x8(%rsp),%rcx 11e1: 48 8d 54 24 0c lea 0xc(%rsp),%rdx 11e6: 48 8d 35 06 18 00 00 lea 0x1806(%rip),%rsi # 29f3 <array.3419+0x1d3> 11ed: b8 00 00 00 00 mov $0x0,%eax 11f2: e8 69 fc ff ff callq e60 <__isoc99_sscanf@plt> 11f7: 83 f8 01 cmp $0x1,%eax 11fa: 7e 1f jle 121b <phase_3+0x43> 11fc: 83 7c 24 0c 07 cmpl $0x7,0xc(%rsp) 1201: 0f 87 8b 00 00 00 ja 1292 <phase_3+0xba> 1207: 8b 44 24 0c mov 0xc(%rsp),%eax 120b: 48 8d 15 ee 15 00 00 lea 0x15ee(%rip),%rdx # 2800 <_IO_stdin_used+0x1b0> 1212: 48 63 04 82 movslq (%rdx,%rax,4),%rax 1216: 48 01 d0 add %rdx,%rax 1219: ff e0 jmpq *%rax 121b: e8 c7 05 00 00 callq 17e7 <explode_bomb> 1220: eb da jmp 11fc <phase_3+0x24> 1222: b8 61 00 00 00 mov $0x61,%eax 1227: eb 05 jmp 122e <phase_3+0x56> 1229: b8 00 00 00 00 mov $0x0,%eax 122e: 2d 91 03 00 00 sub $0x391,%eax 1233: 05 81 00 00 00 add $0x81,%eax 1238: 2d 23 02 00 00 sub $0x223,%eax 123d: 05 23 02 00 00 add $0x223,%eax 1242: 2d 23 02 00 00 sub $0x223,%eax 1247: 05 23 02 00 00 add $0x223,%eax 124c: 2d 23 02 00 00 sub $0x223,%eax 1251: 83 7c 24 0c 05 cmpl $0x5,0xc(%rsp) 1256: 7f 06 jg 125e <phase_3+0x86> 1258: 39 44 24 08 cmp %eax,0x8(%rsp) 125c: 74 05 je 1263 <phase_3+0x8b> 125e: e8 84 05 00 00 callq 17e7 <explode_bomb> 1263: 48 83 c4 18 add $0x18,%rsp 1267: c3 retq 1268: b8 00 00 00 00 mov $0x0,%eax 126d: eb c4 jmp 1233 <phase_3+0x5b> 126f: b8 00 00 00 00 mov $0x0,%eax 1274: eb c2 jmp 1238 <phase_3+0x60> 1276: b8 00 00 00 00 mov $0x0,%eax 127b: eb c0 jmp 123d <phase_3+0x65> 127d: b8 00 00 00 00 mov $0x0,%eax 1282: eb be jmp 1242 <phase_3+0x6a> 1284: b8 00 00 00 00 mov $0x0,%eax 1289: eb bc jmp 1247 <phase_3+0x6f> 128b: b8 00 00 00 00 mov $0x0,%eax 1290: eb ba jmp 124c <phase_3+0x74> 1292: e8 50 05 00 00 callq 17e7 <explode_bomb> 1297: b8 00 00 00 00 mov $0x0,%eax 129c: eb b3 jmp 1251 <phase_3+0x79> 000000000000129e <func4>: 129e: 53 push %rbx 129f: 89 d3 mov %edx,%ebx 12a1: 29 f3 sub %esi,%ebx 12a3: d1 eb shr %ebx 12a5: 01 f3 add %esi,%ebx 12a7: 39 fb cmp %edi,%ebx 12a9: 77 08 ja 12b3 <func4+0x15> 12ab: 39 fb cmp %edi,%ebx 12ad: 72 10 jb 12bf <func4+0x21> 12af: 89 d8 mov %ebx,%eax 12b1: 5b pop %rbx 12b2: c3 retq 12b3: 8d 53 ff lea -0x1(%rbx),%edx 12b6: e8 e3 ff ff ff callq 129e <func4> 12bb: 01 c3 add %eax,%ebx 12bd: eb f0 jmp 12af <func4+0x11> 12bf: 8d 73 01 lea 0x1(%rbx),%esi 12c2: e8 d7 ff ff ff callq 129e <func4> 12c7: 01 c3 add %eax,%ebx 12c9: eb e4 jmp 12af <func4+0x11> 00000000000012cb <phase_4>: 12cb: 48 83 ec 18 sub $0x18,%rsp 12cf: 48 8d 4c 24 08 lea 0x8(%rsp),%rcx 12d4: 48 8d 54 24 0c lea 0xc(%rsp),%rdx 12d9: 48 8d 35 13 17 00 00 lea 0x1713(%rip),%rsi # 29f3 <array.3419+0x1d3> 12e0: b8 00 00 00 00 mov $0x0,%eax 12e5: e8 76 fb ff ff callq e60 <__isoc99_sscanf@plt> 12ea: 83 f8 02 cmp $0x2,%eax 12ed: 75 07 jne 12f6 <phase_4+0x2b> 12ef: 83 7c 24 0c 0e cmpl $0xe,0xc(%rsp) 12f4: 76 05 jbe 12fb <phase_4+0x30> 12f6: e8 ec 04 00 00 callq 17e7 <explode_bomb> 12fb: ba 0e 00 00 00 mov $0xe,%edx 1300: be 00 00 00 00 mov $0x0,%esi 1305: 8b 7c 24 0c mov 0xc(%rsp),%edi 1309: e8 90 ff ff ff callq 129e <func4> 130e: 83 f8 25 cmp $0x25,%eax 1311: 75 07 jne 131a <phase_4+0x4f> 1313: 83 7c 24 08 25 cmpl $0x25,0x8(%rsp) 1318: 74 05 je 131f <phase_4+0x54> 131a: e8 c8 04 00 00 callq 17e7 <explode_bomb> 131f: 48 83 c4 18 add $0x18,%rsp 1323: c3 retq 0000000000001324 <phase_5>: 1324: 53 push %rbx 1325: 48 83 ec 10 sub $0x10,%rsp 1329: 48 89 fb mov %rdi,%rbx 132c: e8 94 02 00 00 callq 15c5 <string_length> 1331: 83 f8 06 cmp $0x6,%eax 1334: 75 45 jne 137b <phase_5+0x57> 1336: b8 00 00 00 00 mov $0x0,%eax 133b: 48 8d 0d de 14 00 00 lea 0x14de(%rip),%rcx # 2820 <array.3419> 1342: 0f b6 14 03 movzbl (%rbx,%rax,1),%edx 1346: 83 e2 0f and $0xf,%edx 1349: 0f b6 14 11 movzbl (%rcx,%rdx,1),%edx 134d: 88 54 04 09 mov %dl,0x9(%rsp,%rax,1) 1351: 48 83 c0 01 add $0x1,%rax 1355: 48 83 f8 06 cmp $0x6,%rax 1359: 75 e7 jne 1342 <phase_5+0x1e> 135b: c6 44 24 0f 00 movb $0x0,0xf(%rsp) 1360: 48 8d 7c 24 09 lea 0x9(%rsp),%rdi 1365: 48 8d 35 8a 14 00 00 lea 0x148a(%rip),%rsi # 27f6 <_IO_stdin_used+0x1a6> 136c: e8 71 02 00 00 callq 15e2 <strings_not_equal> 1371: 85 c0 test %eax,%eax 1373: 75 0d jne 1382 <phase_5+0x5e> 1375: 48 83 c4 10 add $0x10,%rsp 1379: 5b pop %rbx 137a: c3 retq 137b: e8 67 04 00 00 callq 17e7 <explode_bomb> 1380: eb b4 jmp 1336 <phase_5+0x12> 1382: e8 60 04 00 00 callq 17e7 <explode_bomb> 1387: eb ec jmp 1375 <phase_5+0x51> 0000000000001389 <phase_6>: 1389: 41 56 push %r14 138b: 41 55 push %r13 138d: 41 54 push %r12 138f: 55 push %rbp 1390: 53 push %rbx 1391: 48 83 ec 50 sub $0x50,%rsp 1395: 4c 8d 6c 24 30 lea 0x30(%rsp),%r13 139a: 4c 89 ee mov %r13,%rsi 139d: e8 81 04 00 00 callq 1823 <read_six_numbers> 13a2: 4d 89 ec mov %r13,%r12 13a5: 41 be 00 00 00 00 mov $0x0,%r14d 13ab: eb 26 jmp 13d3 <phase_6+0x4a> 13ad: e8 35 04 00 00 callq 17e7 <explode_bomb> 13b2: eb 2e jmp 13e2 <phase_6+0x59> 13b4: 83 c3 01 add $0x1,%ebx 13b7: 83 fb 05 cmp $0x5,%ebx 13ba: 7f 13 jg 13cf <phase_6+0x46> 13bc: 48 63 c3 movslq %ebx,%rax 13bf: 8b 44 84 30 mov 0x30(%rsp,%rax,4),%eax 13c3: 39 45 00 cmp %eax,0x0(%rbp) 13c6: 75 ec jne 13b4 <phase_6+0x2b> 13c8: e8 1a 04 00 00 callq 17e7 <explode_bomb> 13cd: eb e5 jmp 13b4 <phase_6+0x2b> 13cf: 49 83 c5 04 add $0x4,%r13 13d3: 4c 89 ed mov %r13,%rbp 13d6: 41 8b 45 00 mov 0x0(%r13),%eax 13da: 83 e8 01 sub $0x1,%eax 13dd: 83 f8 05 cmp $0x5,%eax 13e0: 77 cb ja 13ad <phase_6+0x24> 13e2: 41 83 c6 01 add $0x1,%r14d 13e6: 41 83 fe 06 cmp $0x6,%r14d 13ea: 74 05 je 13f1 <phase_6+0x68> 13ec: 44 89 f3 mov %r14d,%ebx 13ef: eb cb jmp 13bc <phase_6+0x33> 13f1: 49 8d 4c 24 18 lea 0x18(%r12),%rcx 13f6: ba 07 00 00 00 mov $0x7,%edx 13fb: 89 d0 mov %edx,%eax 13fd: 41 2b 04 24 sub (%r12),%eax 1401: 41 89 04 24 mov %eax,(%r12) 1405: 49 83 c4 04 add $0x4,%r12 1409: 4c 39 e1 cmp %r12,%rcx 140c: 75 ed jne 13fb <phase_6+0x72> 140e: be 00 00 00 00 mov $0x0,%esi 1413: eb 19 jmp 142e <phase_6+0xa5> 1415: 48 8b 52 08 mov 0x8(%rdx),%rdx 1419: 83 c0 01 add $0x1,%eax 141c: 39 c8 cmp %ecx,%eax 141e: 75 f5 jne 1415 <phase_6+0x8c> 1420: 48 89 14 f4 mov %rdx,(%rsp,%rsi,8) 1424: 48 83 c6 01 add $0x1,%rsi 1428: 48 83 fe 06 cmp $0x6,%rsi 142c: 74 17 je 1445 <phase_6+0xbc> 142e: 8b 4c b4 30 mov 0x30(%rsp,%rsi,4),%ecx 1432: b8 01 00 00 00 mov $0x1,%eax 1437: 48 8d 15 f2 31 20 00 lea 0x2031f2(%rip),%rdx # 204630 <node1> 143e: 83 f9 01 cmp $0x1,%ecx 1441: 7f d2 jg 1415 <phase_6+0x8c> 1443: eb db jmp 1420 <phase_6+0x97> 1445: 48 8b 1c 24 mov (%rsp),%rbx 1449: 48 8b 44 24 08 mov 0x8(%rsp),%rax 144e: 48 89 43 08 mov %rax,0x8(%rbx) 1452: 48 8b 54 24 10 mov 0x10(%rsp),%rdx 1457: 48 89 50 08 mov %rdx,0x8(%rax) 145b: 48 8b 44 24 18 mov 0x18(%rsp),%rax 1460: 48 89 42 08 mov %rax,0x8(%rdx) 1464: 48 8b 54 24 20 mov 0x20(%rsp),%rdx 1469: 48 89 50 08 mov %rdx,0x8(%rax) 146d: 48 8b 44 24 28 mov 0x28(%rsp),%rax 1472: 48 89 42 08 mov %rax,0x8(%rdx) 1476: 48 c7 40 08 00 00 00 movq $0x0,0x8(%rax) 147d: 00 147e: bd 05 00 00 00 mov $0x5,%ebp 1483: eb 09 jmp 148e <phase_6+0x105> 1485: 48 8b 5b 08 mov 0x8(%rbx),%rbx 1489: 83 ed 01 sub $0x1,%ebp 148c: 74 11 je 149f <phase_6+0x116> 148e: 48 8b 43 08 mov 0x8(%rbx),%rax 1492: 8b 00 mov (%rax),%eax 1494: 39 03 cmp %eax,(%rbx) 1496: 7d ed jge 1485 <phase_6+0xfc> 1498: e8 4a 03 00 00 callq 17e7 <explode_bomb> 149d: eb e6 jmp 1485 <phase_6+0xfc> 149f: 48 83 c4 50 add $0x50,%rsp 14a3: 5b pop %rbx 14a4: 5d pop %rbp 14a5: 41 5c pop %r12 14a7: 41 5d pop %r13 14a9: 41 5e pop %r14 14ab: c3 retq 00000000000014ac <fun7>: 14ac: 48 85 ff test %rdi,%rdi 14af: 74 34 je 14e5 <fun7+0x39> 14b1: 48 83 ec 08 sub $0x8,%rsp 14b5: 8b 17 mov (%rdi),%edx 14b7: 39 f2 cmp %esi,%edx 14b9: 7f 0e jg 14c9 <fun7+0x1d> 14bb: b8 00 00 00 00 mov $0x0,%eax 14c0: 39 f2 cmp %esi,%edx 14c2: 75 12 jne 14d6 <fun7+0x2a> 14c4: 48 83 c4 08 add $0x8,%rsp 14c8: c3 retq 14c9: 48 8b 7f 08 mov 0x8(%rdi),%rdi 14cd: e8 da ff ff ff callq 14ac <fun7> 14d2: 01 c0 add %eax,%eax 14d4: eb ee jmp 14c4 <fun7+0x18> 14d6: 48 8b 7f 10 mov 0x10(%rdi),%rdi 14da: e8 cd ff ff ff callq 14ac <fun7> 14df: 8d 44 00 01 lea 0x1(%rax,%rax,1),%eax 14e3: eb df jmp 14c4 <fun7+0x18> 14e5: b8 ff ff ff ff mov $0xffffffff,%eax 14ea: c3 retq 00000000000014eb <secret_phase>: 14eb: 53 push %rbx 14ec: e8 73 03 00 00 callq 1864 <read_line> 14f1: ba 0a 00 00 00 mov $0xa,%edx 14f6: be 00 00 00 00 mov $0x0,%esi 14fb: 48 89 c7 mov %rax,%rdi 14fe: e8 3d f9 ff ff callq e40 <strtol@plt> 1503: 48 89 c3 mov %rax,%rbx 1506: 8d 40 ff lea -0x1(%rax),%eax 1509: 3d e8 03 00 00 cmp $0x3e8,%eax 150e: 77 2b ja 153b <secret_phase+0x50> 1510: 89 de mov %ebx,%esi 1512: 48 8d 3d 37 30 20 00 lea 0x203037(%rip),%rdi # 204550 <n1> 1519: e8 8e ff ff ff callq 14ac <fun7> 151e: 83 f8 02 cmp $0x2,%eax 1521: 74 05 je 1528 <secret_phase+0x3d> 1523: e8 bf 02 00 00 callq 17e7 <explode_bomb> 1528: 48 8d 3d a1 12 00 00 lea 0x12a1(%rip),%rdi # 27d0 <_IO_stdin_used+0x180> 152f: e8 7c f8 ff ff callq db0 <puts@plt> 1534: e8 6f 04 00 00 callq 19a8 <phase_defused> 1539: 5b pop %rbx 153a: c3 retq 153b: e8 a7 02 00 00 callq 17e7 <explode_bomb> 1540: eb ce jmp 1510 <secret_phase+0x25> 0000000000001542 <sig_handler>: 1542: 48 83 ec 08 sub $0x8,%rsp 1546: 48 8d 3d e3 12 00 00 lea 0x12e3(%rip),%rdi # 2830 <array.3419+0x10> 154d: e8 5e f8 ff ff callq db0 <puts@plt> 1552: bf 03 00 00 00 mov $0x3,%edi 1557: e8 64 f9 ff ff callq ec0 <sleep@plt> 155c: 48 8d 35 26 14 00 00 lea 0x1426(%rip),%rsi # 2989 <array.3419+0x169> 1563: bf 01 00 00 00 mov $0x1,%edi 1568: b8 00 00 00 00 mov $0x0,%eax 156d: e8 fe f8 ff ff callq e70 <__printf_chk@plt> 1572: 48 8b 3d 07 35 20 00 mov 0x203507(%rip),%rdi # 204a80 <stdout@@GLIBC_2.2.5> 1579: e8 d2 f8 ff ff callq e50 <fflush@plt> 157e: bf 01 00 00 00 mov $0x1,%edi 1583: e8 38 f9 ff ff callq ec0 <sleep@plt> 1588: 48 8d 3d 02 14 00 00 lea 0x1402(%rip),%rdi # 2991 <array.3419+0x171> 158f: e8 1c f8 ff ff callq db0 <puts@plt> 1594: bf 10 00 00 00 mov $0x10,%edi 1599: e8 f2 f8 ff ff callq e90 <exit@plt> 000000000000159e <invalid_phase>: 159e: 48 83 ec 08 sub $0x8,%rsp 15a2: 48 89 fa mov %rdi,%rdx 15a5: 48 8d 35 ed 13 00 00 lea 0x13ed(%rip),%rsi # 2999 <array.3419+0x179> 15ac: bf 01 00 00 00 mov $0x1,%edi 15b1: b8 00 00 00 00 mov $0x0,%eax 15b6: e8 b5 f8 ff ff callq e70 <__printf_chk@plt> 15bb: bf 08 00 00 00 mov $0x8,%edi 15c0: e8 cb f8 ff ff callq e90 <exit@plt> 00000000000015c5 <string_length>: 15c5: 80 3f 00 cmpb $0x0,(%rdi) 15c8: 74 12 je 15dc <string_length+0x17> 15ca: 48 89 fa mov %rdi,%rdx 15cd: 48 83 c2 01 add $0x1,%rdx 15d1: 89 d0 mov %edx,%eax 15d3: 29 f8 sub %edi,%eax 15d5: 80 3a 00 cmpb $0x0,(%rdx) 15d8: 75 f3 jne 15cd <string_length+0x8> 15da: f3 c3 repz retq 15dc: b8 00 00 00 00 mov $0x0,%eax 15e1: c3 retq 00000000000015e2 <strings_not_equal>: 15e2: 41 54 push %r12 15e4: 55 push %rbp 15e5: 53 push %rbx 15e6: 48 89 fb mov %rdi,%rbx 15e9: 48 89 f5 mov %rsi,%rbp 15ec: e8 d4 ff ff ff callq 15c5 <string_length> 15f1: 41 89 c4 mov %eax,%r12d 15f4: 48 89 ef mov %rbp,%rdi 15f7: e8 c9 ff ff ff callq 15c5 <string_length> 15fc: ba 01 00 00 00 mov $0x1,%edx 1601: 41 39 c4 cmp %eax,%r12d 1604: 74 07 je 160d <strings_not_equal+0x2b> 1606: 89 d0 mov %edx,%eax 1608: 5b pop %rbx 1609: 5d pop %rbp 160a: 41 5c pop %r12 160c: c3 retq 160d: 0f b6 03 movzbl (%rbx),%eax 1610: 84 c0 test %al,%al 1612: 74 27 je 163b <strings_not_equal+0x59> 1614: 3a 45 00 cmp 0x0(%rbp),%al 1617: 75 29 jne 1642 <strings_not_equal+0x60> 1619: 48 83 c3 01 add $0x1,%rbx 161d: 48 83 c5 01 add $0x1,%rbp 1621: 0f b6 03 movzbl (%rbx),%eax 1624: 84 c0 test %al,%al 1626: 74 0c je 1634 <strings_not_equal+0x52> 1628: 38 45 00 cmp %al,0x0(%rbp) 162b: 74 ec je 1619 <strings_not_equal+0x37> 162d: ba 01 00 00 00 mov $0x1,%edx 1632: eb d2 jmp 1606 <strings_not_equal+0x24> 1634: ba 00 00 00 00 mov $0x0,%edx 1639: eb cb jmp 1606 <strings_not_equal+0x24> 163b: ba 00 00 00 00 mov $0x0,%edx 1640: eb c4 jmp 1606 <strings_not_equal+0x24> 1642: ba 01 00 00 00 mov $0x1,%edx 1647: eb bd jmp 1606 <strings_not_equal+0x24> 0000000000001649 <strings_are_equal>: 1649: e8 94 ff ff ff callq 15e2 <strings_not_equal> 164e: 85 c0 test %eax,%eax 1650: 0f 94 c0 sete %al 1653: 0f b6 c0 movzbl %al,%eax 1656: c3 retq 0000000000001657 <initialize_bomb>: 1657: 48 83 ec 08 sub $0x8,%rsp 165b: 48 8d 35 e0 fe ff ff lea -0x120(%rip),%rsi # 1542 <sig_handler> 1662: bf 02 00 00 00 mov $0x2,%edi 1667: e8 a4 f7 ff ff callq e10 <signal@plt> 166c: 48 83 c4 08 add $0x8,%rsp 1670: c3 retq 0000000000001671 <initialize_bomb_solve>: 1671: f3 c3 repz retq 0000000000001673 <blank_line>: 1673: 55 push %rbp 1674: 53 push %rbx 1675: 48 83 ec 08 sub $0x8,%rsp 1679: 48 89 fd mov %rdi,%rbp 167c: 0f b6 5d 00 movzbl 0x0(%rbp),%ebx 1680: 84 db test %bl,%bl 1682: 74 1e je 16a2 <blank_line+0x2f> 1684: e8 47 f8 ff ff callq ed0 <__ctype_b_loc@plt> 1689: 48 83 c5 01 add $0x1,%rbp 168d: 48 0f be db movsbq %bl,%rbx 1691: 48 8b 00 mov (%rax),%rax 1694: f6 44 58 01 20 testb $0x20,0x1(%rax,%rbx,2) 1699: 75 e1 jne 167c <blank_line+0x9> 169b: b8 00 00 00 00 mov $0x0,%eax 16a0: eb 05 jmp 16a7 <blank_line+0x34> 16a2: b8 01 00 00 00 mov $0x1,%eax 16a7: 48 83 c4 08 add $0x8,%rsp 16ab: 5b pop %rbx 16ac: 5d pop %rbp 16ad: c3 retq 00000000000016ae <skip>: 16ae: 55 push %rbp 16af: 53 push %rbx 16b0: 48 83 ec 08 sub $0x8,%rsp 16b4: 48 8d 2d 05 34 20 00 lea 0x203405(%rip),%rbp # 204ac0 <input_strings> 16bb: 48 63 05 ea 33 20 00 movslq 0x2033ea(%rip),%rax # 204aac <num_input_strings> 16c2: 48 8d 3c 80 lea (%rax,%rax,4),%rdi 16c6: 48 c1 e7 04 shl $0x4,%rdi 16ca: 48 01 ef add %rbp,%rdi 16cd: 48 8b 15 dc 33 20 00 mov 0x2033dc(%rip),%rdx # 204ab0 <infile> 16d4: be 50 00 00 00 mov $0x50,%esi 16d9: e8 22 f7 ff ff callq e00 <fgets@plt> 16de: 48 89 c3 mov %rax,%rbx 16e1: 48 85 c0 test %rax,%rax 16e4: 74 0c je 16f2 <skip+0x44> 16e6: 48 89 c7 mov %rax,%rdi 16e9: e8 85 ff ff ff callq 1673 <blank_line> 16ee: 85 c0 test %eax,%eax 16f0: 75 c9 jne 16bb <skip+0xd> 16f2: 48 89 d8 mov %rbx,%rax 16f5: 48 83 c4 08 add $0x8,%rsp 16f9: 5b pop %rbx 16fa: 5d pop %rbp 16fb: c3 retq 00000000000016fc <send_msg>: 16fc: 53 push %rbx 16fd: 48 81 ec 00 40 00 00 sub $0x4000,%rsp 1704: 41 89 f8 mov %edi,%r8d 1707: 8b 35 9f 33 20 00 mov 0x20339f(%rip),%esi # 204aac <num_input_strings> 170d: 8d 46 ff lea -0x1(%rsi),%eax 1710: 48 98 cltq 1712: 48 8d 14 80 lea (%rax,%rax,4),%rdx 1716: 48 c1 e2 04 shl $0x4,%rdx 171a: 48 8d 05 9f 33 20 00 lea 0x20339f(%rip),%rax # 204ac0 <input_strings> 1721: 48 01 c2 add %rax,%rdx 1724: 48 c7 c1 ff ff ff ff mov $0xffffffffffffffff,%rcx 172b: b8 00 00 00 00 mov $0x0,%eax 1730: 48 89 d7 mov %rdx,%rdi 1733: f2 ae repnz scas %es:(%rdi),%al 1735: 48 89 c8 mov %rcx,%rax 1738: 48 f7 d0 not %rax 173b: 48 83 c0 63 add $0x63,%rax 173f: 48 3d 00 20 00 00 cmp $0x2000,%rax 1745: 77 6e ja 17b5 <send_msg+0xb9> 1747: 45 85 c0 test %r8d,%r8d 174a: 4c 8d 0d 59 12 00 00 lea 0x1259(%rip),%r9 # 29aa <array.3419+0x18a> 1751: 48 8d 05 5a 12 00 00 lea 0x125a(%rip),%rax # 29b2 <array.3419+0x192> 1758: 4c 0f 44 c8 cmove %rax,%r9 175c: 48 8d 9c 24 00 20 00 lea 0x2000(%rsp),%rbx 1763: 00 1764: 52 push %rdx 1765: 56 push %rsi 1766: 44 8b 05 d3 2d 20 00 mov 0x202dd3(%rip),%r8d # 204540 <bomb_id> 176d: 48 8d 0d 47 12 00 00 lea 0x1247(%rip),%rcx # 29bb <array.3419+0x19b> 1774: ba 00 20 00 00 mov $0x2000,%edx 1779: be 01 00 00 00 mov $0x1,%esi 177e: 48 89 df mov %rbx,%rdi 1781: b8 00 00 00 00 mov $0x0,%eax 1786: e8 55 f7 ff ff callq ee0 <__sprintf_chk@plt> 178b: 48 8d 4c 24 10 lea 0x10(%rsp),%rcx 1790: ba 00 00 00 00 mov $0x0,%edx 1795: 48 89 de mov %rbx,%rsi 1798: 48 8d 3d a1 29 20 00 lea 0x2029a1(%rip),%rdi # 204140 <userid> 179f: e8 af 0d 00 00 callq 2553 <driver_post> 17a4: 48 83 c4 10 add $0x10,%rsp 17a8: 85 c0 test %eax,%eax 17aa: 78 29 js 17d5 <send_msg+0xd9> 17ac: 48 81 c4 00 40 00 00 add $0x4000,%rsp 17b3: 5b pop %rbx 17b4: c3 retq 17b5: 48 8d 35 ac 10 00 00 lea 0x10ac(%rip),%rsi # 2868 <array.3419+0x48> 17bc: bf 01 00 00 00 mov $0x1,%edi 17c1: b8 00 00 00 00 mov $0x0,%eax 17c6: e8 a5 f6 ff ff callq e70 <__printf_chk@plt> 17cb: bf 08 00 00 00 mov $0x8,%edi 17d0: e8 bb f6 ff ff callq e90 <exit@plt> 17d5: 48 89 e7 mov %rsp,%rdi 17d8: e8 d3 f5 ff ff callq db0 <puts@plt> 17dd: bf 00 00 00 00 mov $0x0,%edi 17e2: e8 a9 f6 ff ff callq e90 <exit@plt> 00000000000017e7 <explode_bomb>: 17e7: 48 83 ec 08 sub $0x8,%rsp 17eb: 48 8d 3d d5 11 00 00 lea 0x11d5(%rip),%rdi # 29c7 <array.3419+0x1a7> 17f2: e8 b9 f5 ff ff callq db0 <puts@plt> 17f7: 48 8d 3d d2 11 00 00 lea 0x11d2(%rip),%rdi # 29d0 <array.3419+0x1b0> 17fe: e8 ad f5 ff ff callq db0 <puts@plt> 1803: bf 00 00 00 00 mov $0x0,%edi 1808: e8 ef fe ff ff callq 16fc <send_msg> 180d: 48 8d 3d 7c 10 00 00 lea 0x107c(%rip),%rdi # 2890 <array.3419+0x70> 1814: e8 97 f5 ff ff callq db0 <puts@plt> 1819: bf 08 00 00 00 mov $0x8,%edi 181e: e8 6d f6 ff ff callq e90 <exit@plt> 0000000000001823 <read_six_numbers>: 1823: 48 83 ec 08 sub $0x8,%rsp 1827: 48 89 f2 mov %rsi,%rdx 182a: 48 8d 4e 04 lea 0x4(%rsi),%rcx 182e: 48 8d 46 14 lea 0x14(%rsi),%rax 1832: 50 push %rax 1833: 48 8d 46 10 lea 0x10(%rsi),%rax 1837: 50 push %rax 1838: 4c 8d 4e 0c lea 0xc(%rsi),%r9 183c: 4c 8d 46 08 lea 0x8(%rsi),%r8 1840: 48 8d 35 a0 11 00 00 lea 0x11a0(%rip),%rsi # 29e7 <array.3419+0x1c7> 1847: b8 00 00 00 00 mov $0x0,%eax 184c: e8 0f f6 ff ff callq e60 <__isoc99_sscanf@plt> 1851: 48 83 c4 10 add $0x10,%rsp 1855: 83 f8 05 cmp $0x5,%eax 1858: 7e 05 jle 185f <read_six_numbers+0x3c> 185a: 48 83 c4 08 add $0x8,%rsp 185e: c3 retq 185f: e8 83 ff ff ff callq 17e7 <explode_bomb> 0000000000001864 <read_line>: 1864: 48 83 ec 08 sub $0x8,%rsp 1868: b8 00 00 00 00 mov $0x0,%eax 186d: e8 3c fe ff ff callq 16ae <skip> 1872: 48 85 c0 test %rax,%rax 1875: 74 6f je 18e6 <read_line+0x82> 1877: 8b 35 2f 32 20 00 mov 0x20322f(%rip),%esi # 204aac <num_input_strings> 187d: 48 63 c6 movslq %esi,%rax 1880: 48 8d 14 80 lea (%rax,%rax,4),%rdx 1884: 48 c1 e2 04 shl $0x4,%rdx 1888: 48 8d 05 31 32 20 00 lea 0x203231(%rip),%rax # 204ac0 <input_strings> 188f: 48 01 c2 add %rax,%rdx 1892: 48 c7 c1 ff ff ff ff mov $0xffffffffffffffff,%rcx 1899: b8 00 00 00 00 mov $0x0,%eax 189e: 48 89 d7 mov %rdx,%rdi 18a1: f2 ae repnz scas %es:(%rdi),%al 18a3: 48 f7 d1 not %rcx 18a6: 48 83 e9 01 sub $0x1,%rcx 18aa: 83 f9 4e cmp $0x4e,%ecx 18ad: 0f 8f ab 00 00 00 jg 195e <read_line+0xfa> 18b3: 83 e9 01 sub $0x1,%ecx 18b6: 48 63 c9 movslq %ecx,%rcx 18b9: 48 63 c6 movslq %esi,%rax 18bc: 48 8d 04 80 lea (%rax,%rax,4),%rax 18c0: 48 c1 e0 04 shl $0x4,%rax 18c4: 48 89 c7 mov %rax,%rdi 18c7: 48 8d 05 f2 31 20 00 lea 0x2031f2(%rip),%rax # 204ac0 <input_strings> 18ce: 48 01 f8 add %rdi,%rax 18d1: c6 04 08 00 movb $0x0,(%rax,%rcx,1) 18d5: 83 c6 01 add $0x1,%esi 18d8: 89 35 ce 31 20 00 mov %esi,0x2031ce(%rip) # 204aac <num_input_strings> 18de: 48 89 d0 mov %rdx,%rax 18e1: 48 83 c4 08 add $0x8,%rsp 18e5: c3 retq 18e6: 48 8b 05 a3 31 20 00 mov 0x2031a3(%rip),%rax # 204a90 <stdin@@GLIBC_2.2.5> 18ed: 48 39 05 bc 31 20 00 cmp %rax,0x2031bc(%rip) # 204ab0 <infile> 18f4: 74 1b je 1911 <read_line+0xad> 18f6: 48 8d 3d 1a 11 00 00 lea 0x111a(%rip),%rdi # 2a17 <array.3419+0x1f7> 18fd: e8 7e f4 ff ff callq d80 <getenv@plt> 1902: 48 85 c0 test %rax,%rax 1905: 74 20 je 1927 <read_line+0xc3> 1907: bf 00 00 00 00 mov $0x0,%edi 190c: e8 7f f5 ff ff callq e90 <exit@plt> 1911: 48 8d 3d e1 10 00 00 lea 0x10e1(%rip),%rdi # 29f9 <array.3419+0x1d9> 1918: e8 93 f4 ff ff callq db0 <puts@plt> 191d: bf 08 00 00 00 mov $0x8,%edi 1922: e8 69 f5 ff ff callq e90 <exit@plt> 1927: 48 8b 05 62 31 20 00 mov 0x203162(%rip),%rax # 204a90 <stdin@@GLIBC_2.2.5> 192e: 48 89 05 7b 31 20 00 mov %rax,0x20317b(%rip) # 204ab0 <infile> 1935: b8 00 00 00 00 mov $0x0,%eax 193a: e8 6f fd ff ff callq 16ae <skip> 193f: 48 85 c0 test %rax,%rax 1942: 0f 85 2f ff ff ff jne 1877 <read_line+0x13> 1948: 48 8d 3d aa 10 00 00 lea 0x10aa(%rip),%rdi # 29f9 <array.3419+0x1d9> 194f: e8 5c f4 ff ff callq db0 <puts@plt> 1954: bf 00 00 00 00 mov $0x0,%edi 1959: e8 32 f5 ff ff callq e90 <exit@plt> 195e: 48 8d 3d bd 10 00 00 lea 0x10bd(%rip),%rdi # 2a22 <array.3419+0x202> 1965: e8 46 f4 ff ff callq db0 <puts@plt> 196a: 8b 05 3c 31 20 00 mov 0x20313c(%rip),%eax # 204aac <num_input_strings> 1970: 8d 50 01 lea 0x1(%rax),%edx 1973: 89 15 33 31 20 00 mov %edx,0x203133(%rip) # 204aac <num_input_strings> 1979: 48 98 cltq 197b: 48 6b c0 50 imul $0x50,%rax,%rax 197f: 48 8d 15 3a 31 20 00 lea 0x20313a(%rip),%rdx # 204ac0 <input_strings> 1986: 48 be 2a 2a 2a 74 72 movabs $0x636e7572742a2a2a,%rsi 198d: 75 6e 63 1990: 48 bf 61 74 65 64 2a movabs $0x2a2a2a64657461,%rdi 1997: 2a 2a 00 199a: 48 89 34 02 mov %rsi,(%rdx,%rax,1) 199e: 48 89 7c 02 08 mov %rdi,0x8(%rdx,%rax,1) 19a3: e8 3f fe ff ff callq 17e7 <explode_bomb> 00000000000019a8 <phase_defused>: 19a8: 48 83 ec 68 sub $0x68,%rsp 19ac: bf 01 00 00 00 mov $0x1,%edi 19b1: e8 46 fd ff ff callq 16fc <send_msg> 19b6: 83 3d ef 30 20 00 06 cmpl $0x6,0x2030ef(%rip) # 204aac <num_input_strings> 19bd: 74 05 je 19c4 <phase_defused+0x1c> 19bf: 48 83 c4 68 add $0x68,%rsp 19c3: c3 retq 19c4: 48 8d 4c 24 08 lea 0x8(%rsp),%rcx 19c9: 48 8d 54 24 0c lea 0xc(%rsp),%rdx 19ce: 4c 8d 44 24 10 lea 0x10(%rsp),%r8 19d3: 48 8d 35 63 10 00 00 lea 0x1063(%rip),%rsi # 2a3d <array.3419+0x21d> 19da: 48 8d 3d cf 31 20 00 lea 0x2031cf(%rip),%rdi # 204bb0 <input_strings+0xf0> 19e1: b8 00 00 00 00 mov $0x0,%eax 19e6: e8 75 f4 ff ff callq e60 <__isoc99_sscanf@plt> 19eb: 83 f8 03 cmp $0x3,%eax 19ee: 74 1a je 1a0a <phase_defused+0x62> 19f0: 48 8d 3d 21 0f 00 00 lea 0xf21(%rip),%rdi # 2918 <array.3419+0xf8> 19f7: e8 b4 f3 ff ff callq db0 <puts@plt> 19fc: 48 8d 3d 45 0f 00 00 lea 0xf45(%rip),%rdi # 2948 <array.3419+0x128> 1a03: e8 a8 f3 ff ff callq db0 <puts@plt> 1a08: eb b5 jmp 19bf <phase_defused+0x17> 1a0a: 48 8d 7c 24 10 lea 0x10(%rsp),%rdi 1a0f: 48 8d 35 30 10 00 00 lea 0x1030(%rip),%rsi # 2a46 <array.3419+0x226> 1a16: e8 c7 fb ff ff callq 15e2 <strings_not_equal> 1a1b: 85 c0 test %eax,%eax 1a1d: 75 d1 jne 19f0 <phase_defused+0x48> 1a1f: 48 8d 3d 92 0e 00 00 lea 0xe92(%rip),%rdi # 28b8 <array.3419+0x98> 1a26: e8 85 f3 ff ff callq db0 <puts@plt> 1a2b: 48 8d 3d ae 0e 00 00 lea 0xeae(%rip),%rdi # 28e0 <array.3419+0xc0> 1a32: e8 79 f3 ff ff callq db0 <puts@plt> 1a37: b8 00 00 00 00 mov $0x0,%eax 1a3c: e8 aa fa ff ff callq 14eb <secret_phase> 1a41: eb ad jmp 19f0 <phase_defused+0x48> 0000000000001a43 <sigalrm_handler>: 1a43: 48 83 ec 08 sub $0x8,%rsp 1a47: b9 00 00 00 00 mov $0x0,%ecx 1a4c: 48 8d 15 4d 10 00 00 lea 0x104d(%rip),%rdx # 2aa0 <array.3419+0x280> 1a53: be 01 00 00 00 mov $0x1,%esi 1a58: 48 8b 3d 41 30 20 00 mov 0x203041(%rip),%rdi # 204aa0 <stderr@@GLIBC_2.2.5> 1a5f: b8 00 00 00 00 mov $0x0,%eax 1a64: e8 47 f4 ff ff callq eb0 <__fprintf_chk@plt> 1a69: bf 01 00 00 00 mov $0x1,%edi 1a6e: e8 1d f4 ff ff callq e90 <exit@plt> 0000000000001a73 <rio_readlineb>: 1a73: 41 56 push %r14 1a75: 41 55 push %r13 1a77: 41 54 push %r12 1a79: 55 push %rbp 1a7a: 53 push %rbx 1a7b: 48 89 fb mov %rdi,%rbx 1a7e: 49 89 f4 mov %rsi,%r12 1a81: 49 89 d6 mov %rdx,%r14 1a84: 41 bd 01 00 00 00 mov $0x1,%r13d 1a8a: 48 8d 6f 10 lea 0x10(%rdi),%rbp 1a8e: 48 83 fa 01 cmp $0x1,%rdx 1a92: 77 0c ja 1aa0 <rio_readlineb+0x2d> 1a94: eb 60 jmp 1af6 <rio_readlineb+0x83> 1a96: e8 f5 f2 ff ff callq d90 <__errno_location@plt> 1a9b: 83 38 04 cmpl $0x4,(%rax) 1a9e: 75 67 jne 1b07 <rio_readlineb+0x94> 1aa0: 8b 43 04 mov 0x4(%rbx),%eax 1aa3: 85 c0 test %eax,%eax 1aa5: 7f 20 jg 1ac7 <rio_readlineb+0x54> 1aa7: ba 00 20 00 00 mov $0x2000,%edx 1aac: 48 89 ee mov %rbp,%rsi 1aaf: 8b 3b mov (%rbx),%edi 1ab1: e8 3a f3 ff ff callq df0 <read@plt> 1ab6: 89 43 04 mov %eax,0x4(%rbx) 1ab9: 85 c0 test %eax,%eax 1abb: 78 d9 js 1a96 <rio_readlineb+0x23> 1abd: 85 c0 test %eax,%eax 1abf: 74 4f je 1b10 <rio_readlineb+0x9d> 1ac1: 48 89 6b 08 mov %rbp,0x8(%rbx) 1ac5: eb d9 jmp 1aa0 <rio_readlineb+0x2d> 1ac7: 48 8b 53 08 mov 0x8(%rbx),%rdx 1acb: 0f b6 0a movzbl (%rdx),%ecx 1ace: 48 83 c2 01 add $0x1,%rdx 1ad2: 48 89 53 08 mov %rdx,0x8(%rbx) 1ad6: 83 e8 01 sub $0x1,%eax 1ad9: 89 43 04 mov %eax,0x4(%rbx) 1adc: 49 83 c4 01 add $0x1,%r12 1ae0: 41 88 4c 24 ff mov %cl,-0x1(%r12) 1ae5: 80 f9 0a cmp $0xa,%cl 1ae8: 74 0c je 1af6 <rio_readlineb+0x83> 1aea: 41 83 c5 01 add $0x1,%r13d 1aee: 49 63 c5 movslq %r13d,%rax 1af1: 4c 39 f0 cmp %r14,%rax 1af4: 72 aa jb 1aa0 <rio_readlineb+0x2d> 1af6: 41 c6 04 24 00 movb $0x0,(%r12) 1afb: 49 63 c5 movslq %r13d,%rax 1afe: 5b pop %rbx 1aff: 5d pop %rbp 1b00: 41 5c pop %r12 1b02: 41 5d pop %r13 1b04: 41 5e pop %r14 1b06: c3 retq 1b07: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax 1b0e: eb 05 jmp 1b15 <rio_readlineb+0xa2> 1b10: b8 00 00 00 00 mov $0x0,%eax 1b15: 85 c0 test %eax,%eax 1b17: 75 0d jne 1b26 <rio_readlineb+0xb3> 1b19: b8 00 00 00 00 mov $0x0,%eax 1b1e: 41 83 fd 01 cmp $0x1,%r13d 1b22: 75 d2 jne 1af6 <rio_readlineb+0x83> 1b24: eb d8 jmp 1afe <rio_readlineb+0x8b> 1b26: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax 1b2d: eb cf jmp 1afe <rio_readlineb+0x8b> 0000000000001b2f <submitr>: 1b2f: 41 57 push %r15 1b31: 41 56 push %r14 1b33: 41 55 push %r13 1b35: 41 54 push %r12 1b37: 55 push %rbp 1b38: 53 push %rbx 1b39: 48 81 ec 68 a0 00 00 sub $0xa068,%rsp 1b40: 49 89 fd mov %rdi,%r13 1b43: 89 f5 mov %esi,%ebp 1b45: 48 89 14 24 mov %rdx,(%rsp) 1b49: 48 89 4c 24 08 mov %rcx,0x8(%rsp) 1b4e: 4c 89 44 24 10 mov %r8,0x10(%rsp) 1b53: 4c 89 cb mov %r9,%rbx 1b56: 4c 8b bc 24 a0 a0 00 mov 0xa0a0(%rsp),%r15 1b5d: 00 1b5e: c7 84 24 3c 20 00 00 movl $0x0,0x203c(%rsp) 1b65: 00 00 00 00 1b69: ba 00 00 00 00 mov $0x0,%edx 1b6e: be 01 00 00 00 mov $0x1,%esi 1b73: bf 02 00 00 00 mov $0x2,%edi 1b78: e8 73 f3 ff ff callq ef0 <socket@plt> 1b7d: 85 c0 test %eax,%eax 1b7f: 0f 88 46 01 00 00 js 1ccb <submitr+0x19c> 1b85: 41 89 c4 mov %eax,%r12d 1b88: 4c 89 ef mov %r13,%rdi 1b8b: e8 90 f2 ff ff callq e20 <gethostbyname@plt> 1b90: 48 85 c0 test %rax,%rax 1b93: 0f 84 82 01 00 00 je 1d1b <submitr+0x1ec> 1b99: 4c 8d ac 24 50 a0 00 lea 0xa050(%rsp),%r13 1ba0: 00 1ba1: 48 c7 84 24 52 a0 00 movq $0x0,0xa052(%rsp) 1ba8: 00 00 00 00 00 1bad: c7 84 24 5a a0 00 00 movl $0x0,0xa05a(%rsp) 1bb4: 00 00 00 00 1bb8: 66 c7 84 24 5e a0 00 movw $0x0,0xa05e(%rsp) 1bbf: 00 00 00 1bc2: 66 c7 84 24 50 a0 00 movw $0x2,0xa050(%rsp) 1bc9: 00 02 00 1bcc: 48 63 50 14 movslq 0x14(%rax),%rdx 1bd0: 48 8b 40 18 mov 0x18(%rax),%rax 1bd4: 48 8d bc 24 54 a0 00 lea 0xa054(%rsp),%rdi 1bdb: 00 1bdc: b9 0c 00 00 00 mov $0xc,%ecx 1be1: 48 8b 30 mov (%rax),%rsi 1be4: e8 47 f2 ff ff callq e30 <__memmove_chk@plt> 1be9: 66 c1 cd 08 ror $0x8,%bp 1bed: 66 89 ac 24 52 a0 00 mov %bp,0xa052(%rsp) 1bf4: 00 1bf5: ba 10 00 00 00 mov $0x10,%edx 1bfa: 4c 89 ee mov %r13,%rsi 1bfd: 44 89 e7 mov %r12d,%edi 1c00: e8 9b f2 ff ff callq ea0 <connect@plt> 1c05: 85 c0 test %eax,%eax 1c07: 0f 88 79 01 00 00 js 1d86 <submitr+0x257> 1c0d: 49 c7 c1 ff ff ff ff mov $0xffffffffffffffff,%r9 1c14: b8 00 00 00 00 mov $0x0,%eax 1c19: 4c 89 c9 mov %r9,%rcx 1c1c: 48 89 df mov %rbx,%rdi 1c1f: f2 ae repnz scas %es:(%rdi),%al 1c21: 48 89 ce mov %rcx,%rsi 1c24: 48 f7 d6 not %rsi 1c27: 4c 89 c9 mov %r9,%rcx 1c2a: 48 8b 3c 24 mov (%rsp),%rdi 1c2e: f2 ae repnz scas %es:(%rdi),%al 1c30: 49 89 c8 mov %rcx,%r8 1c33: 4c 89 c9 mov %r9,%rcx 1c36: 48 8b 7c 24 08 mov 0x8(%rsp),%rdi 1c3b: f2 ae repnz scas %es:(%rdi),%al 1c3d: 48 89 ca mov %rcx,%rdx 1c40: 48 f7 d2 not %rdx 1c43: 4c 89 c9 mov %r9,%rcx 1c46: 48 8b 7c 24 10 mov 0x10(%rsp),%rdi 1c4b: f2 ae repnz scas %es:(%rdi),%al 1c4d: 4c 29 c2 sub %r8,%rdx 1c50: 48 29 ca sub %rcx,%rdx 1c53: 48 8d 44 76 fd lea -0x3(%rsi,%rsi,2),%rax 1c58: 48 8d 44 02 7b lea 0x7b(%rdx,%rax,1),%rax 1c5d: 48 3d 00 20 00 00 cmp $0x2000,%rax 1c63: 0f 87 7a 01 00 00 ja 1de3 <submitr+0x2b4> 1c69: 48 8d 94 24 40 40 00 lea 0x4040(%rsp),%rdx 1c70: 00 1c71: b9 00 04 00 00 mov $0x400,%ecx 1c76: b8 00 00 00 00 mov $0x0,%eax 1c7b: 48 89 d7 mov %rdx,%rdi 1c7e: f3 48 ab rep stos %rax,%es:(%rdi) 1c81: 48 c7 c1 ff ff ff ff mov $0xffffffffffffffff,%rcx 1c88: 48 89 df mov %rbx,%rdi 1c8b: f2 ae repnz scas %es:(%rdi),%al 1c8d: 48 89 ca mov %rcx,%rdx 1c90: 48 f7 d2 not %rdx 1c93: 48 89 d1 mov %rdx,%rcx 1c96: 48 83 e9 01 sub $0x1,%rcx 1c9a: 85 c9 test %ecx,%ecx 1c9c: 0f 84 2b 06 00 00 je 22cd <submitr+0x79e> 1ca2: 8d 41 ff lea -0x1(%rcx),%eax 1ca5: 4c 8d 74 03 01 lea 0x1(%rbx,%rax,1),%r14 1caa: 48 8d ac 24 40 40 00 lea 0x4040(%rsp),%rbp 1cb1: 00 1cb2: 48 8d 44 24 28 lea 0x28(%rsp),%rax 1cb7: 48 89 44 24 18 mov %rax,0x18(%rsp) 1cbc: 49 bd d9 ff 00 00 00 movabs $0x2000000000ffd9,%r13 1cc3: 00 20 00 1cc6: e9 a6 01 00 00 jmpq 1e71 <submitr+0x342> 1ccb: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax 1cd2: 3a 20 43 1cd5: 48 ba 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rdx 1cdc: 20 75 6e 1cdf: 49 89 07 mov %rax,(%r15) 1ce2: 49 89 57 08 mov %rdx,0x8(%r15) 1ce6: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax 1ced: 74 6f 20 1cf0: 48 ba 63 72 65 61 74 movabs $0x7320657461657263,%rdx 1cf7: 65 20 73 1cfa: 49 89 47 10 mov %rax,0x10(%r15) 1cfe: 49 89 57 18 mov %rdx,0x18(%r15) 1d02: 41 c7 47 20 6f 63 6b movl $0x656b636f,0x20(%r15) 1d09: 65 1d0a: 66 41 c7 47 24 74 00 movw $0x74,0x24(%r15) 1d11: b8 ff ff ff ff mov $0xffffffff,%eax 1d16: e9 a0 04 00 00 jmpq 21bb <submitr+0x68c> 1d1b: 48 b8 45 72 72 6f 72 movabs $0x44203a726f727245,%rax 1d22: 3a 20 44 1d25: 48 ba 4e 53 20 69 73 movabs $0x6e7520736920534e,%rdx 1d2c: 20 75 6e 1d2f: 49 89 07 mov %rax,(%r15) 1d32: 49 89 57 08 mov %rdx,0x8(%r15) 1d36: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax 1d3d: 74 6f 20 1d40: 48 ba 72 65 73 6f 6c movabs $0x2065766c6f736572,%rdx 1d47: 76 65 20 1d4a: 49 89 47 10 mov %rax,0x10(%r15) 1d4e: 49 89 57 18 mov %rdx,0x18(%r15) 1d52: 48 b8 73 65 72 76 65 movabs $0x6120726576726573,%rax 1d59: 72 20 61 1d5c: 49 89 47 20 mov %rax,0x20(%r15) 1d60: 41 c7 47 28 64 64 72 movl $0x65726464,0x28(%r15) 1d67: 65 1d68: 66 41 c7 47 2c 73 73 movw $0x7373,0x2c(%r15) 1d6f: 41 c6 47 2e 00 movb $0x0,0x2e(%r15) 1d74: 44 89 e7 mov %r12d,%edi 1d77: e8 64 f0 ff ff callq de0 <close@plt> 1d7c: b8 ff ff ff ff mov $0xffffffff,%eax 1d81: e9 35 04 00 00 jmpq 21bb <submitr+0x68c> 1d86: 48 b8 45 72 72 6f 72 movabs $0x55203a726f727245,%rax 1d8d: 3a 20 55 1d90: 48 ba 6e 61 62 6c 65 movabs $0x6f7420656c62616e,%rdx 1d97: 20 74 6f 1d9a: 49 89 07 mov %rax,(%r15) 1d9d: 49 89 57 08 mov %rdx,0x8(%r15) 1da1: 48 b8 20 63 6f 6e 6e movabs $0x7463656e6e6f6320,%rax 1da8: 65 63 74 1dab: 48 ba 20 74 6f 20 74 movabs $0x20656874206f7420,%rdx 1db2: 68 65 20 1db5: 49 89 47 10 mov %rax,0x10(%r15) 1db9: 49 89 57 18 mov %rdx,0x18(%r15) 1dbd: 41 c7 47 20 73 65 72 movl $0x76726573,0x20(%r15) 1dc4: 76 1dc5: 66 41 c7 47 24 65 72 movw $0x7265,0x24(%r15) 1dcc: 41 c6 47 26 00 movb $0x0,0x26(%r15) 1dd1: 44 89 e7 mov %r12d,%edi 1dd4: e8 07 f0 ff ff callq de0 <close@plt> 1dd9: b8 ff ff ff ff mov $0xffffffff,%eax 1dde: e9 d8 03 00 00 jmpq 21bb <submitr+0x68c> 1de3: 48 b8 45 72 72 6f 72 movabs $0x52203a726f727245,%rax 1dea: 3a 20 52 1ded: 48 ba 65 73 75 6c 74 movabs $0x747320746c757365,%rdx 1df4: 20 73 74 1df7: 49 89 07 mov %rax,(%r15) 1dfa: 49 89 57 08 mov %rdx,0x8(%r15) 1dfe: 48 b8 72 69 6e 67 20 movabs $0x6f6f7420676e6972,%rax 1e05: 74 6f 6f 1e08: 48 ba 20 6c 61 72 67 movabs $0x202e656772616c20,%rdx 1e0f: 65 2e 20 1e12: 49 89 47 10 mov %rax,0x10(%r15) 1e16: 49 89 57 18 mov %rdx,0x18(%r15) 1e1a: 48 b8 49 6e 63 72 65 movabs $0x6573616572636e49,%rax 1e21: 61 73 65 1e24: 48 ba 20 53 55 42 4d movabs $0x5254494d42555320,%rdx 1e2b: 49 54 52 1e2e: 49 89 47 20 mov %rax,0x20(%r15) 1e32: 49 89 57 28 mov %rdx,0x28(%r15) 1e36: 48 b8 5f 4d 41 58 42 movabs $0x46554258414d5f,%rax 1e3d: 55 46 00 1e40: 49 89 47 30 mov %rax,0x30(%r15) 1e44: 44 89 e7 mov %r12d,%edi 1e47: e8 94 ef ff ff callq de0 <close@plt> 1e4c: b8 ff ff ff ff mov $0xffffffff,%eax 1e51: e9 65 03 00 00 jmpq 21bb <submitr+0x68c> 1e56: 49 0f a3 c5 bt %rax,%r13 1e5a: 73 21 jae 1e7d <submitr+0x34e> 1e5c: 44 88 45 00 mov %r8b,0x0(%rbp) 1e60: 48 8d 6d 01 lea 0x1(%rbp),%rbp 1e64: 48 83 c3 01 add $0x1,%rbx 1e68: 4c 39 f3 cmp %r14,%rbx 1e6b: 0f 84 5c 04 00 00 je 22cd <submitr+0x79e> 1e71: 44 0f b6 03 movzbl (%rbx),%r8d 1e75: 41 8d 40 d6 lea -0x2a(%r8),%eax 1e79: 3c 35 cmp $0x35,%al 1e7b: 76 d9 jbe 1e56 <submitr+0x327> 1e7d: 44 89 c0 mov %r8d,%eax 1e80: 83 e0 df and $0xffffffdf,%eax 1e83: 83 e8 41 sub $0x41,%eax 1e86: 3c 19 cmp $0x19,%al 1e88: 76 d2 jbe 1e5c <submitr+0x32d> 1e8a: 41 80 f8 20 cmp $0x20,%r8b 1e8e: 74 54 je 1ee4 <submitr+0x3b5> 1e90: 41 8d 40 e0 lea -0x20(%r8),%eax 1e94: 3c 5f cmp $0x5f,%al 1e96: 76 0a jbe 1ea2 <submitr+0x373> 1e98: 41 80 f8 09 cmp $0x9,%r8b 1e9c: 0f 85 9e 03 00 00 jne 2240 <submitr+0x711> 1ea2: 45 0f b6 c0 movzbl %r8b,%r8d 1ea6: 48 8d 0d c3 0c 00 00 lea 0xcc3(%rip),%rcx # 2b70 <array.3419+0x350> 1ead: ba 08 00 00 00 mov $0x8,%edx 1eb2: be 01 00 00 00 mov $0x1,%esi 1eb7: 48 8b 7c 24 18 mov 0x18(%rsp),%rdi 1ebc: b8 00 00 00 00 mov $0x0,%eax 1ec1: e8 1a f0 ff ff callq ee0 <__sprintf_chk@plt> 1ec6: 0f b6 44 24 28 movzbl 0x28(%rsp),%eax 1ecb: 88 45 00 mov %al,0x0(%rbp) 1ece: 0f b6 44 24 29 movzbl 0x29(%rsp),%eax 1ed3: 88 45 01 mov %al,0x1(%rbp) 1ed6: 0f b6 44 24 2a movzbl 0x2a(%rsp),%eax 1edb: 88 45 02 mov %al,0x2(%rbp) 1ede: 48 8d 6d 03 lea 0x3(%rbp),%rbp 1ee2: eb 80 jmp 1e64 <submitr+0x335> 1ee4: c6 45 00 2b movb $0x2b,0x0(%rbp) 1ee8: 48 8d 6d 01 lea 0x1(%rbp),%rbp 1eec: e9 73 ff ff ff jmpq 1e64 <submitr+0x335> 1ef1: 48 01 c5 add %rax,%rbp 1ef4: 48 29 c3 sub %rax,%rbx 1ef7: 74 26 je 1f1f <submitr+0x3f0> 1ef9: 48 89 da mov %rbx,%rdx 1efc: 48 89 ee mov %rbp,%rsi 1eff: 44 89 e7 mov %r12d,%edi 1f02: e8 b9 ee ff ff callq dc0 <write@plt> 1f07: 48 85 c0 test %rax,%rax 1f0a: 7f e5 jg 1ef1 <submitr+0x3c2> 1f0c: e8 7f ee ff ff callq d90 <__errno_location@plt> 1f11: 83 38 04 cmpl $0x4,(%rax) 1f14: 0f 85 43 01 00 00 jne 205d <submitr+0x52e> 1f1a: 4c 89 f0 mov %r14,%rax 1f1d: eb d2 jmp 1ef1 <submitr+0x3c2> 1f1f: 4d 85 ed test %r13,%r13 1f22: 0f 88 35 01 00 00 js 205d <submitr+0x52e> 1f28: 44 89 a4 24 40 80 00 mov %r12d,0x8040(%rsp) 1f2f: 00 1f30: c7 84 24 44 80 00 00 movl $0x0,0x8044(%rsp) 1f37: 00 00 00 00 1f3b: 48 8d bc 24 40 80 00 lea 0x8040(%rsp),%rdi 1f42: 00 1f43: 48 8d 47 10 lea 0x10(%rdi),%rax 1f47: 48 89 84 24 48 80 00 mov %rax,0x8048(%rsp) 1f4e: 00 1f4f: 48 8d b4 24 40 60 00 lea 0x6040(%rsp),%rsi 1f56: 00 1f57: ba 00 20 00 00 mov $0x2000,%edx 1f5c: e8 12 fb ff ff callq 1a73 <rio_readlineb> 1f61: 48 85 c0 test %rax,%rax 1f64: 0f 8e 52 01 00 00 jle 20bc <submitr+0x58d> 1f6a: 48 8d 8c 24 3c 20 00 lea 0x203c(%rsp),%rcx 1f71: 00 1f72: 48 8d 94 24 40 20 00 lea 0x2040(%rsp),%rdx 1f79: 00 1f7a: 48 8d bc 24 40 60 00 lea 0x6040(%rsp),%rdi 1f81: 00 1f82: 4c 8d 44 24 30 lea 0x30(%rsp),%r8 1f87: 48 8d 35 e9 0b 00 00 lea 0xbe9(%rip),%rsi # 2b77 <array.3419+0x357> 1f8e: b8 00 00 00 00 mov $0x0,%eax 1f93: e8 c8 ee ff ff callq e60 <__isoc99_sscanf@plt> 1f98: 44 8b 84 24 3c 20 00 mov 0x203c(%rsp),%r8d 1f9f: 00 1fa0: 41 81 f8 c8 00 00 00 cmp $0xc8,%r8d 1fa7: 0f 85 83 01 00 00 jne 2130 <submitr+0x601> 1fad: 48 8d 9c 24 40 60 00 lea 0x6040(%rsp),%rbx 1fb4: 00 1fb5: 48 8d 2d cc 0b 00 00 lea 0xbcc(%rip),%rbp # 2b88 <array.3419+0x368> 1fbc: 4c 8d ac 24 40 80 00 lea 0x8040(%rsp),%r13 1fc3: 00 1fc4: b9 03 00 00 00 mov $0x3,%ecx 1fc9: 48 89 de mov %rbx,%rsi 1fcc: 48 89 ef mov %rbp,%rdi 1fcf: f3 a6 repz cmpsb %es:(%rdi),%ds:(%rsi) 1fd1: 0f 97 c0 seta %al 1fd4: 1c 00 sbb $0x0,%al 1fd6: 84 c0 test %al,%al 1fd8: 0f 84 86 01 00 00 je 2164 <submitr+0x635> 1fde: ba 00 20 00 00 mov $0x2000,%edx 1fe3: 48 89 de mov %rbx,%rsi 1fe6: 4c 89 ef mov %r13,%rdi 1fe9: e8 85 fa ff ff callq 1a73 <rio_readlineb> 1fee: 48 85 c0 test %rax,%rax 1ff1: 7f d1 jg 1fc4 <submitr+0x495> 1ff3: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax 1ffa: 3a 20 43 1ffd: 48 ba 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rdx 2004: 20 75 6e 2007: 49 89 07 mov %rax,(%r15) 200a: 49 89 57 08 mov %rdx,0x8(%r15) 200e: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax 2015: 74 6f 20 2018: 48 ba 72 65 61 64 20 movabs $0x6165682064616572,%rdx 201f: 68 65 61 2022: 49 89 47 10 mov %rax,0x10(%r15) 2026: 49 89 57 18 mov %rdx,0x18(%r15) 202a: 48 b8 64 65 72 73 20 movabs $0x6f72662073726564,%rax 2031: 66 72 6f 2034: 48 ba 6d 20 73 65 72 movabs $0x726576726573206d,%rdx 203b: 76 65 72 203e: 49 89 47 20 mov %rax,0x20(%r15) 2042: 49 89 57 28 mov %rdx,0x28(%r15) 2046: 41 c6 47 30 00 movb $0x0,0x30(%r15) 204b: 44 89 e7 mov %r12d,%edi 204e: e8 8d ed ff ff callq de0 <close@plt> 2053: b8 ff ff ff ff mov $0xffffffff,%eax 2058: e9 5e 01 00 00 jmpq 21bb <submitr+0x68c> 205d: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax 2064: 3a 20 43 2067: 48 ba 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rdx 206e: 20 75 6e 2071: 49 89 07 mov %rax,(%r15) 2074: 49 89 57 08 mov %rdx,0x8(%r15) 2078: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax 207f: 74 6f 20 2082: 48 ba 77 72 69 74 65 movabs $0x6f74206574697277,%rdx 2089: 20 74 6f 208c: 49 89 47 10 mov %rax,0x10(%r15) 2090: 49 89 57 18 mov %rdx,0x18(%r15) 2094: 48 b8 20 74 68 65 20 movabs $0x7265732065687420,%rax 209b: 73 65 72 209e: 49 89 47 20 mov %rax,0x20(%r15) 20a2: 41 c7 47 28 76 65 72 movl $0x726576,0x28(%r15) 20a9: 00 20aa: 44 89 e7 mov %r12d,%edi 20ad: e8 2e ed ff ff callq de0 <close@plt> 20b2: b8 ff ff ff ff mov $0xffffffff,%eax 20b7: e9 ff 00 00 00 jmpq 21bb <submitr+0x68c> 20bc: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax 20c3: 3a 20 43 20c6: 48 ba 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rdx 20cd: 20 75 6e 20d0: 49 89 07 mov %rax,(%r15) 20d3: 49 89 57 08 mov %rdx,0x8(%r15) 20d7: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax 20de: 74 6f 20 20e1: 48 ba 72 65 61 64 20 movabs $0x7269662064616572,%rdx 20e8: 66 69 72 20eb: 49 89 47 10 mov %rax,0x10(%r15) 20ef: 49 89 57 18 mov %rdx,0x18(%r15) 20f3: 48 b8 73 74 20 68 65 movabs $0x6564616568207473,%rax 20fa: 61 64 65 20fd: 48 ba 72 20 66 72 6f movabs $0x73206d6f72662072,%rdx 2104: 6d 20 73 2107: 49 89 47 20 mov %rax,0x20(%r15) 210b: 49 89 57 28 mov %rdx,0x28(%r15) 210f: 41 c7 47 30 65 72 76 movl $0x65767265,0x30(%r15) 2116: 65 2117: 66 41 c7 47 34 72 00 movw $0x72,0x34(%r15) 211e: 44 89 e7 mov %r12d,%edi 2121: e8 ba ec ff ff callq de0 <close@plt> 2126: b8 ff ff ff ff mov $0xffffffff,%eax 212b: e9 8b 00 00 00 jmpq 21bb <submitr+0x68c> 2130: 4c 8d 4c 24 30 lea 0x30(%rsp),%r9 2135: 48 8d 0d 8c 09 00 00 lea 0x98c(%rip),%rcx # 2ac8 <array.3419+0x2a8> 213c: 48 c7 c2 ff ff ff ff mov $0xffffffffffffffff,%rdx 2143: be 01 00 00 00 mov $0x1,%esi 2148: 4c 89 ff mov %r15,%rdi 214b: b8 00 00 00 00 mov $0x0,%eax 2150: e8 8b ed ff ff callq ee0 <__sprintf_chk@plt> 2155: 44 89 e7 mov %r12d,%edi 2158: e8 83 ec ff ff callq de0 <close@plt> 215d: b8 ff ff ff ff mov $0xffffffff,%eax 2162: eb 57 jmp 21bb <submitr+0x68c> 2164: 48 8d b4 24 40 60 00 lea 0x6040(%rsp),%rsi 216b: 00 216c: 48 8d bc 24 40 80 00 lea 0x8040(%rsp),%rdi 2173: 00 2174: ba 00 20 00 00 mov $0x2000,%edx 2179: e8 f5 f8 ff ff callq 1a73 <rio_readlineb> 217e: 48 85 c0 test %rax,%rax 2181: 7e 4a jle 21cd <submitr+0x69e> 2183: 48 8d b4 24 40 60 00 lea 0x6040(%rsp),%rsi 218a: 00 218b: 4c 89 ff mov %r15,%rdi 218e: e8 0d ec ff ff callq da0 <strcpy@plt> 2193: 44 89 e7 mov %r12d,%edi 2196: e8 45 ec ff ff callq de0 <close@plt> 219b: b9 03 00 00 00 mov $0x3,%ecx 21a0: 48 8d 3d e4 09 00 00 lea 0x9e4(%rip),%rdi # 2b8b <array.3419+0x36b> 21a7: 4c 89 fe mov %r15,%rsi 21aa: f3 a6 repz cmpsb %es:(%rdi),%ds:(%rsi) 21ac: 0f 97 c0 seta %al 21af: 1c 00 sbb $0x0,%al 21b1: 84 c0 test %al,%al 21b3: 0f 95 c0 setne %al 21b6: 0f b6 c0 movzbl %al,%eax 21b9: f7 d8 neg %eax 21bb: 48 81 c4 68 a0 00 00 add $0xa068,%rsp 21c2: 5b pop %rbx 21c3: 5d pop %rbp 21c4: 41 5c pop %r12 21c6: 41 5d pop %r13 21c8: 41 5e pop %r14 21ca: 41 5f pop %r15 21cc: c3 retq 21cd: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax 21d4: 3a 20 43 21d7: 48 ba 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rdx 21de: 20 75 6e 21e1: 49 89 07 mov %rax,(%r15) 21e4: 49 89 57 08 mov %rdx,0x8(%r15) 21e8: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax 21ef: 74 6f 20 21f2: 48 ba 72 65 61 64 20 movabs $0x6174732064616572,%rdx 21f9: 73 74 61 21fc: 49 89 47 10 mov %rax,0x10(%r15) 2200: 49 89 57 18 mov %rdx,0x18(%r15) 2204: 48 b8 74 75 73 20 6d movabs $0x7373656d20737574,%rax 220b: 65 73 73 220e: 48 ba 61 67 65 20 66 movabs $0x6d6f726620656761,%rdx 2215: 72 6f 6d 2218: 49 89 47 20 mov %rax,0x20(%r15) 221c: 49 89 57 28 mov %rdx,0x28(%r15) 2220: 48 b8 20 73 65 72 76 movabs $0x72657672657320,%rax 2227: 65 72 00 222a: 49 89 47 30 mov %rax,0x30(%r15) 222e: 44 89 e7 mov %r12d,%edi 2231: e8 aa eb ff ff callq de0 <close@plt> 2236: b8 ff ff ff ff mov $0xffffffff,%eax 223b: e9 7b ff ff ff jmpq 21bb <submitr+0x68c> 2240: 48 b8 45 72 72 6f 72 movabs $0x52203a726f727245,%rax 2247: 3a 20 52 224a: 48 ba 65 73 75 6c 74 movabs $0x747320746c757365,%rdx 2251: 20 73 74 2254: 49 89 07 mov %rax,(%r15) 2257: 49 89 57 08 mov %rdx,0x8(%r15) 225b: 48 b8 72 69 6e 67 20 movabs $0x6e6f6320676e6972,%rax 2262: 63 6f 6e 2265: 48 ba 74 61 69 6e 73 movabs $0x6e6120736e696174,%rdx 226c: 20 61 6e 226f: 49 89 47 10 mov %rax,0x10(%r15) 2273: 49 89 57 18 mov %rdx,0x18(%r15) 2277: 48 b8 20 69 6c 6c 65 movabs $0x6c6167656c6c6920,%rax 227e: 67 61 6c 2281: 48 ba 20 6f 72 20 75 movabs $0x72706e7520726f20,%rdx 2288: 6e 70 72 228b: 49 89 47 20 mov %rax,0x20(%r15) 228f: 49 89 57 28 mov %rdx,0x28(%r15) 2293: 48 b8 69 6e 74 61 62 movabs $0x20656c6261746e69,%rax 229a: 6c 65 20 229d: 48 ba 63 68 61 72 61 movabs $0x6574636172616863,%rdx 22a4: 63 74 65 22a7: 49 89 47 30 mov %rax,0x30(%r15) 22ab: 49 89 57 38 mov %rdx,0x38(%r15) 22af: 66 41 c7 47 40 72 2e movw $0x2e72,0x40(%r15) 22b6: 41 c6 47 42 00 movb $0x0,0x42(%r15) 22bb: 44 89 e7 mov %r12d,%edi 22be: e8 1d eb ff ff callq de0 <close@plt> 22c3: b8 ff ff ff ff mov $0xffffffff,%eax 22c8: e9 ee fe ff ff jmpq 21bb <submitr+0x68c> 22cd: 48 8d 9c 24 40 60 00 lea 0x6040(%rsp),%rbx 22d4: 00 22d5: 48 8d 84 24 40 40 00 lea 0x4040(%rsp),%rax 22dc: 00 22dd: 50 push %rax 22de: ff 74 24 18 pushq 0x18(%rsp) 22e2: 4c 8b 4c 24 18 mov 0x18(%rsp),%r9 22e7: 4c 8b 44 24 10 mov 0x10(%rsp),%r8 22ec: 48 8d 0d 05 08 00 00 lea 0x805(%rip),%rcx # 2af8 <array.3419+0x2d8> 22f3: ba 00 20 00 00 mov $0x2000,%edx 22f8: be 01 00 00 00 mov $0x1,%esi 22fd: 48 89 df mov %rbx,%rdi 2300: b8 00 00 00 00 mov $0x0,%eax 2305: e8 d6 eb ff ff callq ee0 <__sprintf_chk@plt> 230a: 48 c7 c1 ff ff ff ff mov $0xffffffffffffffff,%rcx 2311: b8 00 00 00 00 mov $0x0,%eax 2316: 48 89 df mov %rbx,%rdi 2319: f2 ae repnz scas %es:(%rdi),%al 231b: 48 89 ca mov %rcx,%rdx 231e: 48 f7 d2 not %rdx 2321: 4c 8d 6a ff lea -0x1(%rdx),%r13 2325: 48 83 c4 10 add $0x10,%rsp 2329: 4c 89 eb mov %r13,%rbx 232c: 48 8d ac 24 40 60 00 lea 0x6040(%rsp),%rbp 2333: 00 2334: 41 be 00 00 00 00 mov $0x0,%r14d 233a: 4d 85 ed test %r13,%r13 233d: 0f 85 b6 fb ff ff jne 1ef9 <submitr+0x3ca> 2343: e9 e0 fb ff ff jmpq 1f28 <submitr+0x3f9> 0000000000002348 <init_timeout>: 2348: 85 ff test %edi,%edi 234a: 74 25 je 2371 <init_timeout+0x29> 234c: 53 push %rbx 234d: 89 fb mov %edi,%ebx 234f: 48 8d 35 ed f6 ff ff lea -0x913(%rip),%rsi # 1a43 <sigalrm_handler> 2356: bf 0e 00 00 00 mov $0xe,%edi 235b: e8 b0 ea ff ff callq e10 <signal@plt> 2360: 85 db test %ebx,%ebx 2362: bf 00 00 00 00 mov $0x0,%edi 2367: 0f 49 fb cmovns %ebx,%edi 236a: e8 61 ea ff ff callq dd0 <alarm@plt> 236f: 5b pop %rbx 2370: c3 retq 2371: f3 c3 repz retq 0000000000002373 <init_driver>: 2373: 41 54 push %r12 2375: 55 push %rbp 2376: 53 push %rbx 2377: 48 83 ec 10 sub $0x10,%rsp 237b: 49 89 fc mov %rdi,%r12 237e: be 01 00 00 00 mov $0x1,%esi 2383: bf 0d 00 00 00 mov $0xd,%edi 2388: e8 83 ea ff ff callq e10 <signal@plt> 238d: be 01 00 00 00 mov $0x1,%esi 2392: bf 1d 00 00 00 mov $0x1d,%edi 2397: e8 74 ea ff ff callq e10 <signal@plt> 239c: be 01 00 00 00 mov $0x1,%esi 23a1: bf 1d 00 00 00 mov $0x1d,%edi 23a6: e8 65 ea ff ff callq e10 <signal@plt> 23ab: ba 00 00 00 00 mov $0x0,%edx 23b0: be 01 00 00 00 mov $0x1,%esi 23b5: bf 02 00 00 00 mov $0x2,%edi 23ba: e8 31 eb ff ff callq ef0 <socket@plt> 23bf: 85 c0 test %eax,%eax 23c1: 0f 88 8f 00 00 00 js 2456 <init_driver+0xe3> 23c7: 89 c3 mov %eax,%ebx 23c9: 48 8d 3d be 07 00 00 lea 0x7be(%rip),%rdi # 2b8e <array.3419+0x36e> 23d0: e8 4b ea ff ff callq e20 <gethostbyname@plt> 23d5: 48 85 c0 test %rax,%rax 23d8: 0f 84 cb 00 00 00 je 24a9 <init_driver+0x136> 23de: 48 89 e5 mov %rsp,%rbp 23e1: 48 c7 44 24 02 00 00 movq $0x0,0x2(%rsp) 23e8: 00 00 23ea: c7 45 0a 00 00 00 00 movl $0x0,0xa(%rbp) 23f1: 66 c7 45 0e 00 00 movw $0x0,0xe(%rbp) 23f7: 66 c7 04 24 02 00 movw $0x2,(%rsp) 23fd: 48 63 50 14 movslq 0x14(%rax),%rdx 2401: 48 8b 40 18 mov 0x18(%rax),%rax 2405: 48 8d 7d 04 lea 0x4(%rbp),%rdi 2409: b9 0c 00 00 00 mov $0xc,%ecx 240e: 48 8b 30 mov (%rax),%rsi 2411: e8 1a ea ff ff callq e30 <__memmove_chk@plt> 2416: 66 c7 44 24 02 3b 6e movw $0x6e3b,0x2(%rsp) 241d: ba 10 00 00 00 mov $0x10,%edx 2422: 48 89 ee mov %rbp,%rsi 2425: 89 df mov %ebx,%edi 2427: e8 74 ea ff ff callq ea0 <connect@plt> 242c: 85 c0 test %eax,%eax 242e: 0f 88 e7 00 00 00 js 251b <init_driver+0x1a8> 2434: 89 df mov %ebx,%edi 2436: e8 a5 e9 ff ff callq de0 <close@plt> 243b: 66 41 c7 04 24 4f 4b movw $0x4b4f,(%r12) 2442: 41 c6 44 24 02 00 movb $0x0,0x2(%r12) 2448: b8 00 00 00 00 mov $0x0,%eax 244d: 48 83 c4 10 add $0x10,%rsp 2451: 5b pop %rbx 2452: 5d pop %rbp 2453: 41 5c pop %r12 2455: c3 retq 2456: 48 b8 45 72 72 6f 72 movabs $0x43203a726f727245,%rax 245d: 3a 20 43 2460: 48 ba 6c 69 65 6e 74 movabs $0x6e7520746e65696c,%rdx 2467: 20 75 6e 246a: 49 89 04 24 mov %rax,(%r12) 246e: 49 89 54 24 08 mov %rdx,0x8(%r12) 2473: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax 247a: 74 6f 20 247d: 48 ba 63 72 65 61 74 movabs $0x7320657461657263,%rdx 2484: 65 20 73 2487: 49 89 44 24 10 mov %rax,0x10(%r12) 248c: 49 89 54 24 18 mov %rdx,0x18(%r12) 2491: 41 c7 44 24 20 6f 63 movl $0x656b636f,0x20(%r12) 2498: 6b 65 249a: 66 41 c7 44 24 24 74 movw $0x74,0x24(%r12) 24a1: 00 24a2: b8 ff ff ff ff mov $0xffffffff,%eax 24a7: eb a4 jmp 244d <init_driver+0xda> 24a9: 48 b8 45 72 72 6f 72 movabs $0x44203a726f727245,%rax 24b0: 3a 20 44 24b3: 48 ba 4e 53 20 69 73 movabs $0x6e7520736920534e,%rdx 24ba: 20 75 6e 24bd: 49 89 04 24 mov %rax,(%r12) 24c1: 49 89 54 24 08 mov %rdx,0x8(%r12) 24c6: 48 b8 61 62 6c 65 20 movabs $0x206f7420656c6261,%rax 24cd: 74 6f 20 24d0: 48 ba 72 65 73 6f 6c movabs $0x2065766c6f736572,%rdx 24d7: 76 65 20 24da: 49 89 44 24 10 mov %rax,0x10(%r12) 24df: 49 89 54 24 18 mov %rdx,0x18(%r12) 24e4: 48 b8 73 65 72 76 65 movabs $0x6120726576726573,%rax 24eb: 72 20 61 24ee: 49 89 44 24 20 mov %rax,0x20(%r12) 24f3: 41 c7 44 24 28 64 64 movl $0x65726464,0x28(%r12) 24fa: 72 65 24fc: 66 41 c7 44 24 2c 73 movw $0x7373,0x2c(%r12) 2503: 73 2504: 41 c6 44 24 2e 00 movb $0x0,0x2e(%r12) 250a: 89 df mov %ebx,%edi 250c: e8 cf e8 ff ff callq de0 <close@plt> 2511: b8 ff ff ff ff mov $0xffffffff,%eax 2516: e9 32 ff ff ff jmpq 244d <init_driver+0xda> 251b: 4c 8d 05 6c 06 00 00 lea 0x66c(%rip),%r8 # 2b8e <array.3419+0x36e> 2522: 48 8d 0d 1f 06 00 00 lea 0x61f(%rip),%rcx # 2b48 <array.3419+0x328> 2529: 48 c7 c2 ff ff ff ff mov $0xffffffffffffffff,%rdx 2530: be 01 00 00 00 mov $0x1,%esi 2535: 4c 89 e7 mov %r12,%rdi 2538: b8 00 00 00 00 mov $0x0,%eax 253d: e8 9e e9 ff ff callq ee0 <__sprintf_chk@plt> 2542: 89 df mov %ebx,%edi 2544: e8 97 e8 ff ff callq de0 <close@plt> 2549: b8 ff ff ff ff mov $0xffffffff,%eax 254e: e9 fa fe ff ff jmpq 244d <init_driver+0xda> 0000000000002553 <driver_post>: 2553: 53 push %rbx 2554: 48 89 cb mov %rcx,%rbx 2557: 85 d2 test %edx,%edx 2559: 75 17 jne 2572 <driver_post+0x1f> 255b: 48 85 ff test %rdi,%rdi 255e: 74 05 je 2565 <driver_post+0x12> 2560: 80 3f 00 cmpb $0x0,(%rdi) 2563: 75 36 jne 259b <driver_post+0x48> 2565: 66 c7 03 4f 4b movw $0x4b4f,(%rbx) 256a: c6 43 02 00 movb $0x0,0x2(%rbx) 256e: 89 d0 mov %edx,%eax 2570: 5b pop %rbx 2571: c3 retq 2572: 48 89 f2 mov %rsi,%rdx 2575: 48 8d 35 29 06 00 00 lea 0x629(%rip),%rsi # 2ba5 <array.3419+0x385> 257c: bf 01 00 00 00 mov $0x1,%edi 2581: b8 00 00 00 00 mov $0x0,%eax 2586: e8 e5 e8 ff ff callq e70 <__printf_chk@plt> 258b: 66 c7 03 4f 4b movw $0x4b4f,(%rbx) 2590: c6 43 02 00 movb $0x0,0x2(%rbx) 2594: b8 00 00 00 00 mov $0x0,%eax 2599: eb d5 jmp 2570 <driver_post+0x1d> 259b: 48 83 ec 08 sub $0x8,%rsp 259f: 51 push %rcx 25a0: 49 89 f1 mov %rsi,%r9 25a3: 4c 8d 05 12 06 00 00 lea 0x612(%rip),%r8 # 2bbc <array.3419+0x39c> 25aa: 48 89 f9 mov %rdi,%rcx 25ad: 48 8d 15 13 06 00 00 lea 0x613(%rip),%rdx # 2bc7 <array.3419+0x3a7> 25b4: be 6e 3b 00 00 mov $0x3b6e,%esi 25b9: 48 8d 3d ce 05 00 00 lea 0x5ce(%rip),%rdi # 2b8e <array.3419+0x36e> 25c0: e8 6a f5 ff ff callq 1b2f <submitr> 25c5: 48 83 c4 10 add $0x10,%rsp 25c9: eb a5 jmp 2570 <driver_post+0x1d> 25cb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 00000000000025d0 <__libc_csu_init>: 25d0: 41 57 push %r15 25d2: 41 56 push %r14 25d4: 49 89 d7 mov %rdx,%r15 25d7: 41 55 push %r13 25d9: 41 54 push %r12 25db: 4c 8d 25 1e 17 20 00 lea 0x20171e(%rip),%r12 # 203d00 <__frame_dummy_init_array_entry> 25e2: 55 push %rbp 25e3: 48 8d 2d 1e 17 20 00 lea 0x20171e(%rip),%rbp # 203d08 <__do_global_dtors_aux_fini_array_entry> 25ea: 53 push %rbx 25eb: 41 89 fd mov %edi,%r13d 25ee: 49 89 f6 mov %rsi,%r14 25f1: 4c 29 e5 sub %r12,%rbp 25f4: 48 83 ec 08 sub $0x8,%rsp 25f8: 48 c1 fd 03 sar $0x3,%rbp 25fc: e8 57 e7 ff ff callq d58 <_init> 2601: 48 85 ed test %rbp,%rbp 2604: 74 20 je 2626 <__libc_csu_init+0x56> 2606: 31 db xor %ebx,%ebx 2608: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) 260f: 00 2610: 4c 89 fa mov %r15,%rdx 2613: 4c 89 f6 mov %r14,%rsi 2616: 44 89 ef mov %r13d,%edi 2619: 41 ff 14 dc callq *(%r12,%rbx,8) 261d: 48 83 c3 01 add $0x1,%rbx 2621: 48 39 dd cmp %rbx,%rbp 2624: 75 ea jne 2610 <__libc_csu_init+0x40> 2626: 48 83 c4 08 add $0x8,%rsp 262a: 5b pop %rbx 262b: 5d pop %rbp 262c: 41 5c pop %r12 262e: 41 5d pop %r13 2630: 41 5e pop %r14 2632: 41 5f pop %r15 2634: c3 retq 2635: 90 nop 2636: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 263d: 00 00 00 0000000000002640 <__libc_csu_fini>: 2640: f3 c3 repz retq Disassembly of section .fini: 0000000000002644 <_fini>: 2644: 48 83 ec 08 sub $0x8,%rsp 2648: 48 83 c4 08 add $0x8,%rsp 264c: c3 retq
Write, Run & Share Assembly code online using OneCompiler's Assembly online compiler for free. It's one of the robust, feature-rich online compilers for Assembly language. Getting started with the OneCompiler's Assembly compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as Assembly
and start coding.
Assembly language(asm) is a low-level programming language, where the language instructions will be more similar to machine code instructions.
Every assembler may have it's own assembly language designed for a specific computers or an operating system.
Assembly language requires less execution time and memory. It is more helful for direct hardware manipulation, real-time critical applications. It is used in device drivers, low-level embedded systems etc.
Assembly language usually consists of three sections,
Data section
To initialize variables and constants, buffer size these values doesn't change at runtime.
bss section
To declare variables
text section
_start
specifies the starting of this section where the actually code is written.
There are various define directives to allocate space for variables for both initialized and uninitialized data.
variable-name define-directive initial-value
Define Directive | Description | Allocated Space |
---|---|---|
DB | Define Byte | 1 byte |
DW | Define Word | 2 bytes |
DD | Define Doubleword | 4 bytes |
DQ | Define Quadword | 8 bytes |
DT | Define Ten Bytes | 10 bytes |
Define Directive | Description |
---|---|
RESB | Reserve a Byte |
RESW | Reserve a Word |
RESD | Reserve a Doubleword |
RESQ | Reserve a Quadword |
REST | Reserve a Ten Bytes |
Constants can be defined using
CONSTANT_NAME EQU regular-exp or value
%assign constant_name value
%define constant_name value
Loops are used to iterate a set of statements for a specific number of times.
mov ECX,n
L1:
;<loop body>
loop L1
where n specifies the no of times loops should iterate.
Procedure is a sub-routine which contains set of statements. Usually procedures are written when multiple calls are required to same set of statements which increases re-usuability and modularity.
procedure_name:
;procedure body
ret