Do not use on any
shared computer
August 30, 2008 03:20am pdt
 
[x]
Attachment Details

defuse binary bomb

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