Tags:
bomb, binary
I have a homework in which I have to disassembler the code and figure out how to defuse the bomb. Can anyone help please
thanks
bomb-quiet: file format elf32-i386
Disassembly of section .init:
08048718 <_init>:
8048718: 55 push %ebp
8048719: 89 e5 mov %esp,%ebp
804871b: 83 ec 08 sub $0x8,%esp
804871e: e8 11 02 00 00 call 8048934 <call_gmon_start>
8048723: e8 64 02 00 00 call 804898c <frame_dummy>
8048728: e8 a3 0d 00 00 call 80494d0 <__do_global_ctors_aux>
804872d: c9 leave
804872e: c3 ret
Disassembly of section .plt:
08048730 <close@plt-0x10>:
8048730: ff 35 e4 a0 04 08 pushl 0x804a0e4
8048736: ff 25 e8 a0 04 08 jmp *0x804a0e8
804873c: 00 00 add %al,(%eax)
...
08048740 <close@plt>:
8048740: ff 25 ec a0 04 08 jmp *0x804a0ec
8048746: 68 00 00 00 00 push $0x0
804874b: e9 e0 ff ff ff jmp 8048730 <_init+0x18>
08048750 <fprintf@plt>:
8048750: ff 25 f0 a0 04 08 jmp *0x804a0f0
8048756: 68 08 00 00 00 push $0x8
804875b: e9 d0 ff ff ff jmp 8048730 <_init+0x18>
08048760 <tmpfile@plt>:
8048760: ff 25 f4 a0 04 08 jmp *0x804a0f4
8048766: 68 10 00 00 00 push $0x10
804876b: e9 c0 ff ff ff jmp 8048730 <_init+0x18>
08048770 <getenv@plt>:
8048770: ff 25 f8 a0 04 08 jmp *0x804a0f8
8048776: 68 18 00 00 00 push $0x18
804877b: e9 b0 ff ff ff jmp 8048730 <_init+0x18>
08048780 <signal@plt>:
8048780: ff 25 fc a0 04 08 jmp *0x804a0fc
8048786: 68 20 00 00 00 push $0x20
804878b: e9 a0 ff ff ff jmp 8048730 <_init+0x18>
08048790 <fflush@plt>:
8048790: ff 25 00 a1 04 08 jmp *0x804a100
8048796: 68 28 00 00 00 push $0x28
804879b: e9 90 ff ff ff jmp 8048730 <_init+0x18>
080487a0 <bcopy@plt>:
80487a0: ff 25 04 a1 04 08 jmp *0x804a104
80487a6: 68 30 00 00 00 push $0x30
80487ab: e9 80 ff ff ff jmp 8048730 <_init+0x18>
080487b0 <rewind@plt>:
80487b0: ff 25 08 a1 04 08 jmp *0x804a108
80487b6: 68 38 00 00 00 push $0x38
80487bb: e9 70 ff ff ff jmp 8048730 <_init+0x18>
080487c0 <system@plt>:
80487c0: ff 25 0c a1 04 08 jmp *0x804a10c
80487c6: 68 40 00 00 00 push $0x40
80487cb: e9 60 ff ff ff jmp 8048730 <_init+0x18>
080487d0 <puts@plt>:
80487d0: ff 25 10 a1 04 08 jmp *0x804a110
80487d6: 68 48 00 00 00 push $0x48
80487db: e9 50 ff ff ff jmp 8048730 <_init+0x18>
080487e0 <fgets@plt>:
80487e0: ff 25 14 a1 04 08 jmp *0x804a114
80487e6: 68 50 00 00 00 push $0x50
80487eb: e9 40 ff ff ff jmp 8048730 <_init+0x18>
080487f0 <sleep@plt>:
80487f0: ff 25 18 a1 04 08 jmp *0x804a118
80487f6: 68 58 00 00 00 push $0x58
80487fb: e9 30 ff ff ff jmp 8048730 <_init+0x18>
08048800 <__strtol_internal@plt>:
8048800: ff 25 1c a1 04 08 jmp *0x804a11c
8048806: 68 60 00 00 00 push $0x60
804880b: e9 20 ff ff ff jmp 8048730 <_init+0x18>
08048810 <fputc@plt>:
8048810: ff 25 20 a1 04 08 jmp *0x804a120
8048816: 68 68 00 00 00 push $0x68
804881b: e9 10 ff ff ff jmp 8048730 <_init+0x18>
08048820 <__libc_start_main@plt>:
8048820: ff 25 24 a1 04 08 jmp *0x804a124
8048826: 68 70 00 00 00 push $0x70
804882b: e9 00 ff ff ff jmp 8048730 <_init+0x18>
08048830 <printf@plt>:
8048830: ff 25 28 a1 04 08 jmp *0x804a128
8048836: 68 78 00 00 00 push $0x78
804883b: e9 f0 fe ff ff jmp 8048730 <_init+0x18>
08048840 <fclose@plt>:
8048840: ff 25 2c a1 04 08 jmp *0x804a12c
8048846: 68 80 00 00 00 push $0x80
804884b: e9 e0 fe ff ff jmp 8048730 <_init+0x18>
08048850 <gethostbyname@plt>:
8048850: ff 25 30 a1 04 08 jmp *0x804a130
8048856: 68 88 00 00 00 push $0x88
804885b: e9 d0 fe ff ff jmp 8048730 <_init+0x18>
08048860 <exit@plt>:
8048860: ff 25 34 a1 04 08 jmp *0x804a134
8048866: 68 90 00 00 00 push $0x90
804886b: e9 c0 fe ff ff jmp 8048730 <_init+0x18>
08048870 <sscanf@plt>:
8048870: ff 25 38 a1 04 08 jmp *0x804a138
8048876: 68 98 00 00 00 push $0x98
804887b: e9 b0 fe ff ff jmp 8048730 <_init+0x18>
08048880 <connect@plt>:
8048880: ff 25 3c a1 04 08 jmp *0x804a13c
8048886: 68 a0 00 00 00 push $0xa0
804888b: e9 a0 fe ff ff jmp 8048730 <_init+0x18>
08048890 <fopen@plt>:
8048890: ff 25 40 a1 04 08 jmp *0x804a140
8048896: 68 a8 00 00 00 push $0xa8
804889b: e9 90 fe ff ff jmp 8048730 <_init+0x18>
080488a0 <dup@plt>:
80488a0: ff 25 44 a1 04 08 jmp *0x804a144
80488a6: 68 b0 00 00 00 push $0xb0
80488ab: e9 80 fe ff ff jmp 8048730 <_init+0x18>
080488b0 <sprintf@plt>:
80488b0: ff 25 48 a1 04 08 jmp *0x804a148
80488b6: 68 b8 00 00 00 push $0xb8
80488bb: e9 70 fe ff ff jmp 8048730 <_init+0x18>
080488c0 <fwrite@plt>:
80488c0: ff 25 4c a1 04 08 jmp *0x804a14c
80488c6: 68 c0 00 00 00 push $0xc0
80488cb: e9 60 fe ff ff jmp 8048730 <_init+0x18>
080488d0 <socket@plt>:
80488d0: ff 25 50 a1 04 08 jmp *0x804a150
80488d6: 68 c8 00 00 00 push $0xc8
80488db: e9 50 fe ff ff jmp 8048730 <_init+0x18>
080488e0 <__ctype_b_loc@plt>:
80488e0: ff 25 54 a1 04 08 jmp *0x804a154
80488e6: 68 d0 00 00 00 push $0xd0
80488eb: e9 40 fe ff ff jmp 8048730 <_init+0x18>
080488f0 <cuserid@plt>:
80488f0: ff 25 58 a1 04 08 jmp *0x804a158
80488f6: 68 d8 00 00 00 push $0xd8
80488fb: e9 30 fe ff ff jmp 8048730 <_init+0x18>
08048900 <strcpy@plt>:
8048900: ff 25 5c a1 04 08 jmp *0x804a15c
8048906: 68 e0 00 00 00 push $0xe0
804890b: e9 20 fe ff ff jmp 8048730 <_init+0x18>
Disassembly of section .text:
08048910 <_start>:
8048910: 31 ed xor %ebp,%ebp
8048912: 5e pop %esi
8048913: 89 e1 mov %esp,%ecx
8048915: 83 e4 f0 and $0xfffffff0,%esp
8048918: 50 push %eax
8048919: 54 push %esp
804891a: 52 push %edx
804891b: 68 8c 94 04 08 push $0x804948c
8048920: 68 38 94 04 08 push $0x8049438
8048925: 51 push %ecx
8048926: 56 push %esi
8048927: 68 b8 89 04 08 push $0x80489b8
804892c: e8 ef fe ff ff call 8048820 <__libc_start_main@plt>
8048931: f4 hlt
8048932: 90 nop
8048933: 90 nop
08048934 <call_gmon_start>:
8048934: 55 push %ebp
8048935: 89 e5 mov %esp,%ebp
8048937: 53 push %ebx
8048938: e8 00 00 00 00 call 804893d <call_gmon_start+0x9>
804893d: 5b pop %ebx
804893e: 81 c3 a3 17 00 00 add $0x17a3,%ebx
8048944: 52 push %edx
8048945: 8b 83 fc ff ff ff mov 0xfffffffc(%ebx),%eax
804894b: 85 c0 test %eax,%eax
804894d: 74 02 je 8048951 <call_gmon_start+0x1d>
804894f: ff d0 call *%eax
8048951: 58 pop %eax
8048952: 5b pop %ebx
8048953: c9 leave
8048954: c3 ret
8048955: 90 nop
8048956: 90 nop
8048957: 90 nop
08048958 <__do_global_dtors_aux>:
8048958: 55 push %ebp
8048959: 89 e5 mov %esp,%ebp
804895b: 83 ec 08 sub $0x8,%esp
804895e: 80 3d 68 a8 04 08 00 cmpb $0x0,0x804a868
8048965: 74 0f je 8048976 <__do_global_dtors_aux+0x1e>
8048967: eb 1f jmp 8048988 <__do_global_dtors_aux+0x30>
8048969: 8d 76 00 lea 0x0(%esi),%esi
804896c: 83 c0 04 add $0x4,%eax
804896f: a3 68 a1 04 08 mov %eax,0x804a168
8048974: ff d2 call *%edx
8048976: a1 68 a1 04 08 mov 0x804a168,%eax
804897b: 8b 10 mov (%eax),%edx
804897d: 85 d2 test %edx,%edx
804897f: 75 eb jne 804896c <__do_global_dtors_aux+0x14>
8048981: c6 05 68 a8 04 08 01 movb $0x1,0x804a868
8048988: c9 leave
8048989: c3 ret
804898a: 89 f6 mov %esi,%esi
0804898c <frame_dummy>:
804898c: 55 push %ebp
804898d: 89 e5 mov %esp,%ebp
804898f: 83 ec 08 sub $0x8,%esp
8048992: a1 10 a0 04 08 mov 0x804a010,%eax
8048997: 85 c0 test %eax,%eax
8048999: 74 19 je 80489b4 <frame_dummy+0x28>
804899b: b8 00 00 00 00 mov $0x0,%eax
80489a0: 85 c0 test %eax,%eax
80489a2: 74 10 je 80489b4 <frame_dummy+0x28>
80489a4: 83 ec 0c sub $0xc,%esp
80489a7: 68 10 a0 04 08 push $0x804a010
80489ac: ff d0 call *%eax
80489ae: 83 c4 10 add $0x10,%esp
80489b1: 8d 76 00 lea 0x0(%esi),%esi
80489b4: c9 leave
80489b5: c3 ret
80489b6: 90 nop
80489b7: 90 nop
080489b8 <main>:
80489b8: 55 push %ebp
80489b9: 89 e5 mov %esp,%ebp
80489bb: 53 push %ebx
80489bc: 83 ec 04 sub $0x4,%esp
80489bf: 8b 45 08 mov 0x8(%ebp),%eax
80489c2: 8b 5d 0c mov 0xc(%ebp),%ebx
80489c5: 83 e4 f0 and $0xfffffff0,%esp
80489c8: 83 ec 10 sub $0x10,%esp
80489cb: 83 f8 01 cmp $0x1,%eax
80489ce: 75 0c jne 80489dc <main+0x24>
80489d0: a1 64 a8 04 08 mov 0x804a864,%eax
80489d5: a3 70 a8 04 08 mov %eax,0x804a870
80489da: eb 5a jmp 8048a36 <main+0x7e>
80489dc: 83 f8 02 cmp $0x2,%eax
80489df: 75 3a jne 8048a1b <main+0x63>
80489e1: 83 ec 08 sub $0x8,%esp
80489e4: 68 84 97 04 08 push $0x8049784
80489e9: ff 73 04 pushl 0x4(%ebx)
80489ec: e8 9f fe ff ff call 8048890 <fopen@plt>
80489f1: a3 70 a8 04 08 mov %eax,0x804a870
80489f6: 83 c4 10 add $0x10,%esp
80489f9: 85 c0 test %eax,%eax
80489fb: 75 39 jne 8048a36 <main+0x7e>
80489fd: 83 ec 04 sub $0x4,%esp
8048a00: ff 73 04 pushl 0x4(%ebx)
8048a03: ff 33 pushl (%ebx)
8048a05: 68 18 95 04 08 push $0x8049518
8048a0a: e8 21 fe ff ff call 8048830 <printf@plt>
8048a0f: c7 04 24 08 00 00 00 movl $0x8,(%esp)
8048a16: e8 45 fe ff ff call 8048860 <exit@plt>
8048a1b: 83 ec 08 sub $0x8,%esp
8048a1e: ff 33 pushl (%ebx)
8048a20: 68 35 95 04 08 push $0x8049535
8048a25: e8 06 fe ff ff call 8048830 <printf@plt>
8048a2a: c7 04 24 08 00 00 00 movl $0x8,(%esp)
8048a31: e8 2a fe ff ff call 8048860 <exit@plt>
8048a36: e8 b4 05 00 00 call 8048fef <initialize_bomb>
8048a3b: 83 ec 0c sub $0xc,%esp
8048a3e: 68 9c 95 04 08 push $0x804959c
8048a43: e8 88 fd ff ff call 80487d0 <puts@plt>
8048a48: c7 04 24 d8 95 04 08 movl $0x80495d8,(%esp)
8048a4f: e8 7c fd ff ff call 80487d0 <puts@plt>
8048a54: e8 2a 06 00 00 call 8049083 <read_line>
8048a59: 89 04 24 mov %eax,(%esp)
8048a5c: e8 a7 00 00 00 call 8048b08 <phase_1>
8048a61: e8 58 09 00 00 call 80493be <phase_defused>
8048a66: c7 04 24 04 96 04 08 movl $0x8049604,(%esp)
8048a6d: e8 5e fd ff ff call 80487d0 <puts@plt>
8048a72: e8 0c 06 00 00 call 8049083 <read_line>
8048a77: 89 04 24 mov %eax,(%esp)
8048a7a: e8 aa 00 00 00 call 8048b29 <phase_2>
8048a7f: e8 3a 09 00 00 call 80493be <phase_defused>
8048a84: c7 04 24 4f 95 04 08 movl $0x804954f,(%esp)
8048a8b: e8 40 fd ff ff call 80487d0 <puts@plt>
8048a90: e8 ee 05 00 00 call 8049083 <read_line>
8048a95: 89 04 24 mov %eax,(%esp)
8048a98: e8 d0 00 00 00 call 8048b6d <phase_3>
8048a9d: e8 1c 09 00 00 call 80493be <phase_defused>
8048aa2: c7 04 24 6d 95 04 08 movl $0x804956d,(%esp)
8048aa9: e8 22 fd ff ff call 80487d0 <puts@plt>
8048aae: e8 d0 05 00 00 call 8049083 <read_line>
8048ab3: 89 04 24 mov %eax,(%esp)
8048ab6: e8 64 01 00 00 call 8048c1f <phase_4>
8048abb: e8 fe 08 00 00 call 80493be <phase_defused>
8048ac0: c7 04 24 30 96 04 08 movl $0x8049630,(%esp)
8048ac7: e8 04 fd ff ff call 80487d0 <puts@plt>
8048acc: e8 b2 05 00 00 call 8049083 <read_line>
8048ad1: 89 04 24 mov %eax,(%esp)
8048ad4: e8 87 01 00 00 call 8048c60 <phase_5>
8048ad9: e8 e0 08 00 00 call 80493be <phase_defused>
8048ade: c7 04 24 7c 95 04 08 movl $0x804957c,(%esp)
8048ae5: e8 e6 fc ff ff call 80487d0 <puts@plt>
8048aea: e8 94 05 00 00 call 8049083 <read_line>
8048aef: 89 04 24 mov %eax,(%esp)
8048af2: e8 21 02 00 00 call 8048d18 <phase_6>
8048af7: e8 c2 08 00 00 call 80493be <phase_defused>
8048afc: b8 00 00 00 00 mov $0x0,%eax
8048b01: 8b 5d fc mov 0xfffffffc(%ebp),%ebx
8048b04: c9 leave
8048b05: c3 ret
8048b06: 90 nop
8048b07: 90 nop
08048b08 <phase_1>:
8048b08: 55 push %ebp
8048b09: 89 e5 mov %esp,%ebp
8048b0b: 83 ec 10 sub $0x10,%esp
8048b0e: 68 54 96 04 08 push $0x8049654
8048b13: ff 75 08 pushl 0x8(%ebp)
8048b16: e8 ad 03 00 00 call 8048ec8 <strings_not_equal>
8048b1b: 83 c4 10 add $0x10,%esp
8048b1e: 85 c0 test %eax,%eax
8048b20: 74 05 je 8048b27 <phase_1+0x1f>
8048b22: e8 6f 08 00 00 call 8049396 <explode_bomb>
8048b27: c9 leave
8048b28: c3 ret
08048b29 <phase_2>:
8048b29: 55 push %ebp
8048b2a: 89 e5 mov %esp,%ebp
8048b2c: 53 push %ebx
8048b2d: 83 ec 2c sub $0x2c,%esp
8048b30: 8d 45 d8 lea 0xffffffd8(%ebp),%eax
8048b33: 50 push %eax
8048b34: ff 75 08 pushl 0x8(%ebp)
8048b37: e8 39 03 00 00 call 8048e75 <read_six_numbers>
8048b3c: 83 c4 10 add $0x10,%esp
8048b3f: 83 7d d8 01 cmpl $0x1,0xffffffd8(%ebp)
8048b43: 74 05 je 8048b4a <phase_2+0x21>
8048b45: e8 4c 08 00 00 call 8049396 <explode_bomb>
8048b4a: bb 01 00 00 00 mov $0x1,%ebx
8048b4f: 8d 43 01 lea 0x1(%ebx),%eax
8048b52: 0f af 44 9d d4 imul 0xffffffd4(%ebp,%ebx,4),%eax
8048b57: 39 44 9d d8 cmp %eax,0xffffffd8(%ebp,%ebx,4)
8048b5b: 74 05 je 8048b62 <phase_2+0x39>
8048b5d: e8 34 08 00 00 call 8049396 <explode_bomb>
8048b62: 43 inc %ebx
8048b63: 83 fb 05 cmp $0x5,%ebx
8048b66: 7e e7 jle 8048b4f <phase_2+0x26>
8048b68: 8b 5d fc mov 0xfffffffc(%ebp),%ebx
8048b6b: c9 leave
8048b6c: c3 ret
08048b6d <phase_3>:
8048b6d: 55 push %ebp
8048b6e: 89 e5 mov %esp,%ebp
8048b70: 53 push %ebx
8048b71: 83 ec 14 sub $0x14,%esp
8048b74: bb 00 00 00 00 mov $0x0,%ebx
8048b79: 8d 45 f8 lea 0xfffffff8(%ebp),%eax
8048b7c: 50 push %eax
8048b7d: 8d 45 f4 lea 0xfffffff4(%ebp),%eax
8048b80: 50 push %eax
8048b81: 68 fe 96 04 08 push $0x80496fe
8048b86: ff 75 08 pushl 0x8(%ebp)
8048b89: e8 e2 fc ff ff call 8048870 <sscanf@plt>
8048b8e: 83 c4 10 add $0x10,%esp
8048b91: 83 f8 01 cmp $0x1,%eax
8048b94: 7f 05 jg 8048b9b <phase_3+0x2e>
8048b96: e8 fb 07 00 00 call 8049396 <explode_bomb>
8048b9b: 83 7d f4 07 cmpl $0x7,0xfffffff4(%ebp)
8048b9f: 77 42 ja 8048be3 <phase_3+0x76>
8048ba1: 8b 45 f4 mov 0xfffffff4(%ebp),%eax
8048ba4: ff 24 85 ac 96 04 08 jmp *0x80496ac(,%eax,4)
8048bab: bb 88 02 00 00 mov $0x288,%ebx
8048bb0: eb 36 jmp 8048be8 <phase_3+0x7b>
8048bb2: bb 3d 03 00 00 mov $0x33d,%ebx
8048bb7: eb 2f jmp 8048be8 <phase_3+0x7b>
8048bb9: bb 92 03 00 00 mov $0x392,%ebx
8048bbe: eb 28 jmp 8048be8 <phase_3+0x7b>
8048bc0: bb 61 00 00 00 mov $0x61,%ebx
8048bc5: eb 21 jmp 8048be8 <phase_3+0x7b>
8048bc7: bb b6 02 00 00 mov $0x2b6,%ebx
8048bcc: eb 1a jmp 8048be8 <phase_3+0x7b>
8048bce: bb bf 00 00 00 mov $0xbf,%ebx
8048bd3: eb 13 jmp 8048be8 <phase_3+0x7b>
8048bd5: bb 65 01 00 00 mov $0x165,%ebx
8048bda: eb 0c jmp 8048be8 <phase_3+0x7b>
8048bdc: bb 82 01 00 00 mov $0x182,%ebx
8048be1: eb 05 jmp 8048be8 <phase_3+0x7b>
8048be3: e8 ae 07 00 00 call 8049396 <explode_bomb>
8048be8: 3b 5d f8 cmp 0xfffffff8(%ebp),%ebx
8048beb: 74 05 je 8048bf2 <phase_3+0x85>
8048bed: e8 a4 07 00 00 call 8049396 <explode_bomb>
8048bf2: 8b 5d fc mov 0xfffffffc(%ebp),%ebx
8048bf5: c9 leave
8048bf6: c3 ret
08048bf7 <func4>:
8048bf7: 55 push %ebp
8048bf8: 89 e5 mov %esp,%ebp
8048bfa: 8b 55 08 mov 0x8(%ebp),%edx
8048bfd: b8 01 00 00 00 mov $0x1,%eax
8048c02: 85 d2 test %edx,%edx
8048c04: 7e 17 jle 8048c1d <func4+0x26>
8048c06: 83 ec 0c sub $0xc,%esp
8048c09: 8d 42 ff lea 0xffffffff(%edx),%eax
8048c0c: 50 push %eax
8048c0d: e8 e5 ff ff ff call 8048bf7 <func4>
8048c12: 8d 14 c5 00 00 00 00 lea 0x0(,%eax,8),%edx
8048c19: 29 c2 sub %eax,%edx
8048c1b: 89 d0 mov %edx,%eax
8048c1d: c9 leave
8048c1e: c3 ret
08048c1f <phase_4>:
8048c1f: 55 push %ebp
8048c20: 89 e5 mov %esp,%ebp
8048c22: 83 ec 0c sub $0xc,%esp
8048c25: 8d 45 fc lea 0xfffffffc(%ebp),%eax
8048c28: 50 push %eax
8048c29: 68 01 97 04 08 push $0x8049701
8048c2e: ff 75 08 pushl 0x8(%ebp)
8048c31: e8 3a fc ff ff call 8048870 <sscanf@plt>
8048c36: 83 c4 10 add $0x10,%esp
8048c39: 83 f8 01 cmp $0x1,%eax
8048c3c: 75 06 jne 8048c44 <phase_4+0x25>
8048c3e: 83 7d fc 00 cmpl $0x0,0xfffffffc(%ebp)
8048c42: 7f 05 jg 8048c49 <phase_4+0x2a>
8048c44: e8 4d 07 00 00 call 8049396 <explode_bomb>
8048c49: ff 75 fc pushl 0xfffffffc(%ebp)
8048c4c: e8 a6 ff ff ff call 8048bf7 <func4>
8048c51: 83 c4 04 add $0x4,%esp
8048c54: 83 f8 31 cmp $0x31,%eax
8048c57: 74 05 je 8048c5e <phase_4+0x3f>
8048c59: e8 38 07 00 00 call 8049396 <explode_bomb>
8048c5e: c9 leave
8048c5f: c3 ret
08048c60 <phase_5>:
8048c60: 55 push %ebp
8048c61: 89 e5 mov %esp,%ebp
8048c63: 53 push %ebx
8048c64: 83 ec 14 sub $0x14,%esp
8048c67: 8d 45 f8 lea 0xfffffff8(%ebp),%eax
8048c6a: 50 push %eax
8048c6b: 8d 45 f4 lea 0xfffffff4(%ebp),%eax
8048c6e: 50 push %eax
8048c6f: 68 fe 96 04 08 push $0x80496fe
8048c74: ff 75 08 pushl 0x8(%ebp)
8048c77: e8 f4 fb ff ff call 8048870 <sscanf@plt>
8048c7c: 83 c4 10 add $0x10,%esp
8048c7f: 83 f8 01 cmp $0x1,%eax
8048c82: 7f 05 jg 8048c89 <phase_5+0x29>
8048c84: e8 0d 07 00 00 call 8049396 <explode_bomb>
8048c89: 8b 45 f4 mov 0xfffffff4(%ebp),%eax
8048c8c: 83 e0 0f and $0xf,%eax
8048c8f: 89 45 f4 mov %eax,0xfffffff4(%ebp)
8048c92: ba 00 00 00 00 mov $0x0,%edx
8048c97: b9 00 00 00 00 mov $0x0,%ecx
8048c9c: 83 f8 0f cmp $0xf,%eax
8048c9f: 74 13 je 8048cb4 <phase_5+0x54>
8048ca1: bb a0 a5 04 08 mov $0x804a5a0,%ebx
8048ca6: 42 inc %edx
8048ca7: 8b 04 83 mov (%ebx,%eax,4),%eax
8048caa: 01 c1 add %eax,%ecx
8048cac: 83 f8 0f cmp $0xf,%eax
8048caf: 75 f5 jne 8048ca6 <phase_5+0x46>
8048cb1: 89 45 f4 mov %eax,0xfffffff4(%ebp)
8048cb4: 83 fa 08 cmp $0x8,%edx
8048cb7: 75 05 jne 8048cbe <phase_5+0x5e>
8048cb9: 3b 4d f8 cmp 0xfffffff8(%ebp),%ecx
8048cbc: 74 05 je 8048cc3 <phase_5+0x63>
8048cbe: e8 d3 06 00 00 call 8049396 <explode_bomb>
8048cc3: 8b 5d fc mov 0xfffffffc(%ebp),%ebx
8048cc6: c9 leave
8048cc7: c3 ret
08048cc8 <fun6>:
8048cc8: 55 push %ebp
8048cc9: 89 e5 mov %esp,%ebp
8048ccb: 56 push %esi
8048ccc: 53 push %ebx
8048ccd: 8b 75 08 mov 0x8(%ebp),%esi
8048cd0: 8b 5e 08 mov 0x8(%esi),%ebx
8048cd3: c7 46 08 00 00 00 00 movl $0x0,0x8(%esi)
8048cda: 85 db test %ebx,%ebx
8048cdc: 74 34 je 8048d12 <fun6+0x4a>
8048cde: 89 f2 mov %esi,%edx
8048ce0: 89 f1 mov %esi,%ecx
8048ce2: 85 f6 test %esi,%esi
8048ce4: 74 15 je 8048cfb <fun6+0x33>
8048ce6: 8b 06 mov (%esi),%eax
8048ce8: 3b 03 cmp (%ebx),%eax
8048cea: 7e 0f jle 8048cfb <fun6+0x33>
8048cec: 89 d1 mov %edx,%ecx
8048cee: 8b 52 08 mov 0x8(%edx),%edx
8048cf1: 85 d2 test %edx,%edx
8048cf3: 74 06 je 8048cfb <fun6+0x33>
8048cf5: 8b 02 mov (%edx),%eax
8048cf7: 3b 03 cmp (%ebx),%eax
8048cf9: 7f f1 jg 8048cec <fun6+0x24>
8048cfb: 39 d1 cmp %edx,%ecx
8048cfd: 74 05 je 8048d04 <fun6+0x3c>
8048cff: 89 59 08 mov %ebx,0x8(%ecx)
8048d02: eb 02 jmp 8048d06 <fun6+0x3e>
8048d04: 89 de mov %ebx,%esi
8048d06: 8b 4b 08 mov 0x8(%ebx),%ecx
8048d09: 89 53 08 mov %edx,0x8(%ebx)
8048d0c: 89 cb mov %ecx,%ebx
8048d0e: 85 c9 test %ecx,%ecx
8048d10: 75 cc jne 8048cde <fun6+0x16>
8048d12: 89 f0 mov %esi,%eax
8048d14: 5b pop %ebx
8048d15: 5e pop %esi
8048d16: c9 leave
8048d17: c3 ret
08048d18 <phase_6>:
8048d18: 55 push %ebp
8048d19: 89 e5 mov %esp,%ebp
8048d1b: 83 ec 08 sub $0x8,%esp
8048d1e: 6a 00 push $0x0
8048d20: 6a 0a push $0xa
8048d22: 6a 00 push $0x0
8048d24: ff 75 08 pushl 0x8(%ebp)
8048d27: e8 d4 fa ff ff call 8048800 <__strtol_internal@plt>
8048d2c: 83 c4 10 add $0x10,%esp
8048d2f: a3 4c a6 04 08 mov %eax,0x804a64c
8048d34: 68 4c a6 04 08 push $0x804a64c
8048d39: e8 8a ff ff ff call 8048cc8 <fun6>
8048d3e: ba 01 00 00 00 mov $0x1,%edx
8048d43: 83 c4 04 add $0x4,%esp
8048d46: 8b 40 08 mov 0x8(%eax),%eax
8048d49: 42 inc %edx
8048d4a: 83 fa 07 cmp $0x7,%edx
8048d4d: 7e f7 jle 8048d46 <phase_6+0x2e>
8048d4f: 8b 00 mov (%eax),%eax
8048d51: 3b 05 4c a6 04 08 cmp 0x804a64c,%eax
8048d57: 74 05 je 8048d5e <phase_6+0x46>
8048d59: e8 38 06 00 00 call 8049396 <explode_bomb>
8048d5e: c9 leave
8048d5f: c3 ret
08048d60 <fun7>:
8048d60: 55 push %ebp
8048d61: 89 e5 mov %esp,%ebp
8048d63: 8b 55 08 mov 0x8(%ebp),%edx
8048d66: 8b 4d 0c mov 0xc(%ebp),%ecx
8048d69: b8 ff ff ff ff mov $0xffffffff,%eax
8048d6e: 85 d2 test %edx,%edx
8048d70: 74 2d je 8048d9f <fun7+0x3f>
8048d72: 39 0a cmp %ecx,(%edx)
8048d74: 7e 10 jle 8048d86 <fun7+0x26>
8048d76: 83 ec 08 sub $0x8,%esp
8048d79: 51 push %ecx
8048d7a: ff 72 04 pushl 0x4(%edx)
8048d7d: e8 de ff ff ff call 8048d60 <fun7>
8048d82: d1 e0 shl %eax
8048d84: eb 19 jmp 8048d9f <fun7+0x3f>
8048d86: b8 00 00 00 00 mov $0x0,%eax
8048d8b: 39 0a cmp %ecx,(%edx)
8048d8d: 74 10 je 8048d9f <fun7+0x3f>
8048d8f: 83 ec 08 sub $0x8,%esp
8048d92: 51 push %ecx
8048d93: ff 72 08 pushl 0x8(%edx)
8048d96: e8 c5 ff ff ff call 8048d60 <fun7>
8048d9b: 8d 44 00 01 lea 0x1(%eax,%eax,1),%eax
8048d9f: c9 leave
8048da0: c3 ret
08048da1 <secret_phase>:
8048da1: 55 push %ebp
8048da2: 89 e5 mov %esp,%ebp
8048da4: 53 push %ebx
8048da5: 83 ec 04 sub $0x4,%esp
8048da8: e8 d6 02 00 00 call 8049083 <read_line>
8048dad: 6a 00 push $0x0
8048daf: 6a 0a push $0xa
8048db1: 6a 00 push $0x0
8048db3: 50 push %eax
8048db4: e8 47 fa ff ff call 8048800 <__strtol_internal@plt>
8048db9: 83 c4 10 add $0x10,%esp
8048dbc: 89 c3 mov %eax,%ebx
8048dbe: 8d 40 ff lea 0xffffffff(%eax),%eax
8048dc1: 3d e8 03 00 00 cmp $0x3e8,%eax
8048dc6: 76 05 jbe 8048dcd <secret_phase+0x2c>
8048dc8: e8 c9 05 00 00 call 8049396 <explode_bomb>
8048dcd: 53 push %ebx
8048dce: 68 00 a7 04 08 push $0x804a700
8048dd3: e8 88 ff ff ff call 8048d60 <fun7>
8048dd8: 83 c4 08 add $0x8,%esp
8048ddb: 85 c0 test %eax,%eax
8048ddd: 74 05 je 8048de4 <secret_phase+0x43>
8048ddf: e8 b2 05 00 00 call 8049396 <explode_bomb>
8048de4: 83 ec 0c sub $0xc,%esp
8048de7: 68 84 96 04 08 push $0x8049684
8048dec: e8 df f9 ff ff call 80487d0 <puts@plt>
8048df1: e8 c8 05 00 00 call 80493be <phase_defused>
8048df6: 8b 5d fc mov 0xfffffffc(%ebp),%ebx
8048df9: c9 leave
8048dfa: c3 ret
8048dfb: 90 nop
08048dfc <sig_handler>:
8048dfc: 55 push %ebp
8048dfd: 89 e5 mov %esp,%ebp
8048dff: 83 ec 14 sub $0x14,%esp
8048e02: 68 ec 98 04 08 push $0x80498ec
8048e07: e8 c4 f9 ff ff call 80487d0 <puts@plt>
8048e0c: c7 04 24 03 00 00 00 movl $0x3,(%esp)
8048e13: e8 d8 f9 ff ff call 80487f0 <sleep@plt>
8048e18: c7 04 24 d1 96 04 08 movl $0x80496d1,(%esp)
8048e1f: e8 0c fa ff ff call 8048830 <printf@plt>
8048e24: 83 c4 04 add $0x4,%esp
8048e27: ff 35 60 a8 04 08 pushl 0x804a860
8048e2d: e8 5e f9 ff ff call 8048790 <fflush@plt>
8048e32: c7 04 24 01 00 00 00 movl $0x1,(%esp)
8048e39: e8 b2 f9 ff ff call 80487f0 <sleep@plt>
8048e3e: c7 04 24 d9 96 04 08 movl $0x80496d9,(%esp)
8048e45: e8 86 f9 ff ff call 80487d0 <puts@plt>
8048e4a: c7 04 24 10 00 00 00 movl $0x10,(%esp)
8048e51: e8 0a fa ff ff call 8048860 <exit@plt>
08048e56 <invalid_phase>:
8048e56: 55 push %ebp
8048e57: 89 e5 mov %esp,%ebp
8048e59: 83 ec 10 sub $0x10,%esp
8048e5c: ff 75 08 pushl 0x8(%ebp)
8048e5f: 68 e1 96 04 08 push $0x80496e1
8048e64: e8 c7 f9 ff ff call 8048830 <printf@plt>
8048e69: c7 04 24 08 00 00 00 movl $0x8,(%esp)
8048e70: e8 eb f9 ff ff call 8048860 <exit@plt>
08048e75 <read_six_numbers>:
8048e75: 55 push %ebp
8048e76: 89 e5 mov %esp,%ebp
8048e78: 83 ec 08 sub $0x8,%esp
8048e7b: 8b 55 0c mov 0xc(%ebp),%edx
8048e7e: 8d 42 14 lea 0x14(%edx),%eax
8048e81: 50 push %eax
8048e82: 8d 42 10 lea 0x10(%edx),%eax
8048e85: 50 push %eax
8048e86: 8d 42 0c lea 0xc(%edx),%eax
8048e89: 50 push %eax
8048e8a: 8d 42 08 lea 0x8(%edx),%eax
8048e8d: 50 push %eax
8048e8e: 8d 42 04 lea 0x4(%edx),%eax
8048e91: 50 push %eax
8048e92: 52 push %edx
8048e93: 68 f2 96 04 08 push $0x80496f2
8048e98: ff 75 08 pushl 0x8(%ebp)
8048e9b: e8 d0 f9 ff ff call 8048870 <sscanf@plt>
8048ea0: 83 c4 20 add $0x20,%esp
8048ea3: 83 f8 05 cmp $0x5,%eax
8048ea6: 7f 05 jg 8048ead <read_six_numbers+0x38>
8048ea8: e8 e9 04 00 00 call 8049396 <explode_bomb>
8048ead: c9 leave
8048eae: c3 ret
08048eaf <string_length>:
8048eaf: 55 push %ebp
8048eb0: 89 e5 mov %esp,%ebp
8048eb2: 8b 55 08 mov 0x8(%ebp),%edx
8048eb5: b8 00 00 00 00 mov $0x0,%eax
8048eba: 80 3a 00 cmpb $0x0,(%edx)
8048ebd: 74 07 je 8048ec6 <string_length+0x17>
8048ebf: 42 inc %edx
8048ec0: 40 inc %eax
8048ec1: 80 3a 00 cmpb $0x0,(%edx)
8048ec4: 75 f9 jne 8048ebf <string_length+0x10>
8048ec6: c9 leave
8048ec7: c3 ret
08048ec8 <strings_not_equal>:
8048ec8: 55 push %ebp
8048ec9: 89 e5 mov %esp,%ebp
8048ecb: 57 push %edi
8048ecc: 56 push %esi
8048ecd: 53 push %ebx
8048ece: 8b 75 08 mov 0x8(%ebp),%esi
8048ed1: 8b 7d 0c mov 0xc(%ebp),%edi
8048ed4: 56 push %esi
8048ed5: e8 d5 ff ff ff call 8048eaf <string_length>
8048eda: 89 c3 mov %eax,%ebx
8048edc: 57 push %edi
8048edd: e8 cd ff ff ff call 8048eaf <string_length>
8048ee2: 83 c4 08 add $0x8,%esp
8048ee5: ba 01 00 00 00 mov $0x1,%edx
8048eea: 39 c3 cmp %eax,%ebx
8048eec: 75 24 jne 8048f12 <strings_not_equal+0x4a>
8048eee: eb 07 jmp 8048ef7 <strings_not_equal+0x2f>
8048ef0: ba 01 00 00 00 mov $0x1,%edx
8048ef5: eb 1b jmp 8048f12 <strings_not_equal+0x4a>
8048ef7: 89 f2 mov %esi,%edx
8048ef9: 89 f9 mov %edi,%ecx
8048efb: 80 3e 00 cmpb $0x0,(%esi)
8048efe: 74 0d je 8048f0d <strings_not_equal+0x45>
8048f00: 8a 02 mov (%edx),%al
8048f02: 3a 01 cmp (%ecx),%al
8048f04: 75 ea jne 8048ef0 <strings_not_equal+0x28>
8048f06: 42 inc %edx
8048f07: 41 inc %ecx
8048f08: 80 3a 00 cmpb $0x0,(%edx)
8048f0b: 75 f3 jne 8048f00 <strings_not_equal+0x38>
8048f0d: ba 00 00 00 00 mov $0x0,%edx
8048f12: 89 d0 mov %edx,%eax
8048f14: 8d 65 f4 lea 0xfffffff4(%ebp),%esp
8048f17: 5b pop %ebx
8048f18: 5e pop %esi
8048f19: 5f pop %edi
8048f1a: c9 leave
8048f1b: c3 ret
08048f1c <open_clientfd>:
8048f1c: 55 push %ebp
8048f1d: 89 e5 mov %esp,%ebp
8048f1f: 57 push %edi
8048f20: 56 push %esi
8048f21: 53 push %ebx
8048f22: 83 ec 20 sub $0x20,%esp
8048f25: 8b 75 0c mov 0xc(%ebp),%esi
8048f28: 6a 00 push $0x0
8048f2a: 6a 01 push $0x1
8048f2c: 6a 02 push $0x2
8048f2e: e8 9d f9 ff ff call 80488d0 <socket@plt>
8048f33: 89 c3 mov %eax,%ebx
8048f35: 83 c4 10 add $0x10,%esp
8048f38: 85 c0 test %eax,%eax
8048f3a: 79 19 jns 8048f55 <open_clientfd+0x39>
8048f3c: 83 ec 0c sub $0xc,%esp
8048f3f: 68 04 97 04 08 push $0x8049704
8048f44: e8 87 f8 ff ff call 80487d0 <puts@plt>
8048f49: c7 04 24 08 00 00 00 movl $0x8,(%esp)
8048f50: e8 0b f9 ff ff call 8048860 <exit@plt>
8048f55: 83 ec 0c sub $0xc,%esp
8048f58: ff 75 08 pushl 0x8(%ebp)
8048f5b: e8 f0 f8 ff ff call 8048850 <gethostbyname@plt>
8048f60: 89 c2 mov %eax,%edx
8048f62: 83 c4 10 add $0x10,%esp
8048f65: 85 c0 test %eax,%eax
8048f67: 75 19 jne 8048f82 <open_clientfd+0x66>
8048f69: 83 ec 0c sub $0xc,%esp
8048f6c: 68 12 97 04 08 push $0x8049712
8048f71: e8 5a f8 ff ff call 80487d0 <puts@plt>
8048f76: c7 04 24 08 00 00 00 movl $0x8,(%esp)
8048f7d: e8 de f8 ff ff call 8048860 <exit@plt>
8048f82: 8d 7d d8 lea 0xffffffd8(%ebp),%edi
8048f85: fc cld
8048f86: b9 04 00 00 00 mov $0x4,%ecx
8048f8b: b8 00 00 00 00 mov $0x0,%eax
8048f90: f3 ab repz