Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a ff ?? push 0xff<255,-1>
   68 d0 61 40 00 ?? push 0x004061d0
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   83 ec 14 ?? sub esp, 0x14<20>
   b8 cc cc cc cc ?? mov eax, 0xcccccccc
   89 45 e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], eax
   89 45 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], eax
   89 45 e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], eax
   89 45 ec ?? mov dword ss:[ebp + 0xec<236,-20>], eax
   89 45 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], eax
   a1 04 a0 40 00 ?? mov eax, dword ds:[0x0040a004]
   33 c5 ?? xor eax, ebp
   50 ?? push eax
   8d 45 f4 ?? lea eax, ss:[ebp + 0xf4<244,-12>]
   64 a3 00 00 00 00 ?? mov dword fs:[0], eax
   89 4d f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], ecx
   8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
   89 45 ec ?? mov dword ss:[ebp + 0xec<236,-20>], eax
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   e8 56 fa ff ff ?? call function 0x00401630
  
  L2: 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   e8 4e 03 00 00 ?? call function 0x00401f30
  
  L3: 0f b6 c8 ?? movzx ecx, al
   85 c9 ?? test ecx, ecx
   74 41 ?? je basic block L8
  
  L4: 8b 55 ec ?? mov edx, dword ss:[ebp + 0xec<236,-20>]
   8b 42 04 ?? mov eax, dword ds:[edx + 4]
   89 45 e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], eax
   8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   e8 66 ff ff ff ?? call function 0x00401b60
  
  L5: 89 45 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], eax
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   83 c1 04 ?? add ecx, 4
   51 ?? push ecx
   e8 87 07 00 00 ?? call function 0x00402390
  
  L6: 83 c4 04 ?? add esp, 4
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   e8 0c 03 00 00 ?? call function 0x00401f20
  
  L7: 8b 55 ec ?? mov edx, dword ss:[ebp + 0xec<236,-20>]
   8b 42 18 ?? mov eax, dword ds:[edx + 0x18<24>]
   83 c0 01 ?? add eax, 1
   50 ?? push eax
   8b 4d e8 ?? mov ecx, dword ss:[ebp + 0xe8<232,-24>]
   51 ?? push ecx
   8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
   e8 36 03 00 00 ?? call function 0x00401f60
  
  L8: 8b 55 ec ?? mov edx, dword ss:[ebp + 0xec<236,-20>]
   c7 42 14 00 00 00 00 ?? mov dword ds:[edx + 0x14<20>], 0
   8b 45 ec ?? mov eax, dword ss:[ebp + 0xec<236,-20>]
   c7 40 18 0f 00 00 00 ?? mov dword ds:[eax + 0x18<24>], 15
   c6 45 e3 00 ?? mov byte ss:[ebp + 0xe3<227,-29>], 0
   8d 4d e3 ?? lea ecx, ss:[ebp + 0xe3<227,-29>]
   51 ?? push ecx
   ba 01 00 00 00 ?? mov edx, 1
   6b c2 00 ?? imul eax, edx, 0
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   8d 54 01 04 ?? lea edx, ds:[ecx + eax + 4]
   52 ?? push edx
   e8 a5 03 00 00 ?? call function 0x00402000
  
  L9: 83 c4 08 ?? add esp, 8
   8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   64 89 0d 00 00 00 00 ?? mov dword fs:[0], ecx
   59 ?? pop ecx
   83 c4 20 ?? add esp, 0x20<32>
   3b ec ?? cmp ebp, esp
   e8 7d 34 00 00 ?? call function 0x004050f0
  
  L10: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  