Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   81 ec 2c 03 00 00 ?? sub esp, 0x0000032c<812>
   6a 17 ?? push 0x17<23>
   e8 48 13 00 00 ?? call function 0x004050f8
  
  L2: 85 c0 ?? test eax, eax
   74 05 ?? je basic block L4
  
  L3: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   cd 29 ?? int 0x29<41>
  
  L4: 6a 03 ?? push 3
   e8 77 d2 ff ff ?? call function 0x00401037
  
  L5: 83 c4 04 ?? add esp, 4
   68 cc 02 00 00 ?? push 0x000002cc<716>
   6a 00 ?? push 0
   8d 85 d4 fc ff ff ?? lea eax, ss:[ebp + 0xfffffcd4<4294966484,-812>]
   50 ?? push eax
   e8 0e 12 00 00 ?? call function 0x00404fe4
  
  L6: 83 c4 0c ?? add esp, 12
   89 85 84 fd ff ff ?? mov dword ss:[ebp + 0xfffffd84<4294966660,-636>], eax
   89 8d 80 fd ff ff ?? mov dword ss:[ebp + 0xfffffd80<4294966656,-640>], ecx
   89 95 7c fd ff ff ?? mov dword ss:[ebp + 0xfffffd7c<4294966652,-644>], edx
   89 9d 78 fd ff ff ?? mov dword ss:[ebp + 0xfffffd78<4294966648,-648>], ebx
   89 b5 74 fd ff ff ?? mov dword ss:[ebp + 0xfffffd74<4294966644,-652>], esi
   89 bd 70 fd ff ff ?? mov dword ss:[ebp + 0xfffffd70<4294966640,-656>], edi
   66 8c 95 9c fd ff ff ?? mov word ss:[ebp + 0xfffffd9c<4294966684,-612>], ss
   66 8c 8d 90 fd ff ff ?? mov word ss:[ebp + 0xfffffd90<4294966672,-624>], cs
   66 8c 9d 6c fd ff ff ?? mov word ss:[ebp + 0xfffffd6c<4294966636,-660>], ds
   66 8c 85 68 fd ff ff ?? mov word ss:[ebp + 0xfffffd68<4294966632,-664>], es
   66 8c a5 64 fd ff ff ?? mov word ss:[ebp + 0xfffffd64<4294966628,-668>], fs
   66 8c ad 60 fd ff ff ?? mov word ss:[ebp + 0xfffffd60<4294966624,-672>], gs
   9c ?? pushfd
   8f 85 94 fd ff ff ?? pop dword ss:[ebp + 0xfffffd94<4294966676,-620>]
   c7 85 d4 fc ff ff 01 00 ?? mov dword ss:[ebp + 0xfffffcd4<4294966484,-812>], 0x00010001
   01 00
   8b 4d 04 ?? mov ecx, dword ss:[ebp + 4]
   89 8d 8c fd ff ff ?? mov dword ss:[ebp + 0xfffffd8c<4294966668,-628>], ecx
   8d 55 04 ?? lea edx, ss:[ebp + 4]
   89 95 98 fd ff ff ?? mov dword ss:[ebp + 0xfffffd98<4294966680,-616>], edx
   8d 45 04 ?? lea eax, ss:[ebp + 4]
   8b 48 fc ?? mov ecx, dword ds:[eax + 0xfc<252,-4>]
   89 8d 88 fd ff ff ?? mov dword ss:[ebp + 0xfffffd88<4294966664,-632>], ecx
   6a 50 ?? push 0x50<80>
   6a 00 ?? push 0
   8d 55 a0 ?? lea edx, ss:[ebp + 0xa0<160,-96>]
   52 ?? push edx
   e8 81 11 00 00 ?? call function 0x00404fe4
  
  L7: 83 c4 0c ?? add esp, 12
   c7 45 a0 15 00 00 40 ?? mov dword ss:[ebp + 0xa0<160,-96>], 0x40000015
   c7 45 a4 01 00 00 00 ?? mov dword ss:[ebp + 0xa4<164,-92>], 1
   8b 45 04 ?? mov eax, dword ss:[ebp + 4]
   89 45 ac ?? mov dword ss:[ebp + 0xac<172,-84>], eax
   ff 15 10 c0 40 00 ?? call dword ds:[0x0040c010]
  
  L8: 83 f8 01 ?? cmp eax, 1
   75 06 ?? jne basic block L10
  
  L9: c6 45 ff 01 ?? mov byte ss:[ebp + 0xff<255,-1>], 1
   eb 04 ?? jmp basic block L11
  
  L10: c6 45 ff 00 ?? mov byte ss:[ebp + 0xff<255,-1>], 0
  
  L11: 8a 4d ff ?? mov cl, byte ss:[ebp + 0xff<255,-1>]
   88 4d fe ?? mov byte ss:[ebp + 0xfe<254,-2>], cl
   8d 55 a0 ?? lea edx, ss:[ebp + 0xa0<160,-96>]
   89 55 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], edx
   8d 85 d4 fc ff ff ?? lea eax, ss:[ebp + 0xfffffcd4<4294966484,-812>]
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   6a 00 ?? push 0
   ff 15 00 c0 40 00 ?? call dword ds:[0x0040c000]
  
  L12: 8d 4d f0 ?? lea ecx, ss:[ebp + 0xf0<240,-16>]
   51 ?? push ecx
   ff 15 58 c0 40 00 ?? call dword ds:[0x0040c058]
  
  L13: 89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
   83 7d f8 00 ?? cmp dword ss:[ebp + 0xf8<248,-8>], 0
   75 12 ?? jne basic block L17
  
  L14: 0f b6 55 fe ?? movzx edx, byte ss:[ebp + 0xfe<254,-2>]
   85 d2 ?? test edx, edx
   75 0a ?? jne basic block L17
  
  L15: 6a 03 ?? push 3
   e8 69 d1 ff ff ?? call function 0x00401037
  
  L16: 83 c4 04 ?? add esp, 4
  
  L17: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  