Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a ff ?? push 0xff<255,-1>
   68 1d 62 40 00 ?? push 0x0040621d
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   83 ec 40 ?? sub esp, 0x40<64>
   57 ?? push edi
   51 ?? push ecx
   8d 7d b4 ?? lea edi, ss:[ebp + 0xb4<180,-76>]
   b9 10 00 00 00 ?? mov ecx, 0x00000010<16>
   b8 cc cc cc cc ?? mov eax, 0xcccccccc
   f3 ab ?? rep_stosd
   59 ?? pop ecx
   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 f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   e8 c8 03 00 00 ?? call function 0x00402580
  
  L2: 39 45 0c ?? cmp dword ss:[ebp + 12], eax
   76 05 ?? jbe basic block L4
  
  L3: e8 be f4 ff ff ?? call function 0x00401680
  
  L4: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   e8 96 f9 ff ff ?? call function 0x00401b60
  
  L5: 89 45 e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], eax
   8b 4d e8 ?? mov ecx, dword ss:[ebp + 0xe8<232,-24>]
   51 ?? push ecx
   8d 4d df ?? lea ecx, ss:[ebp + 0xdf<223,-33>]
   e8 47 ff ff ff ?? call function 0x00402120
  
  L6: 8d 55 df ?? lea edx, ss:[ebp + 0xdf<223,-33>]
   89 55 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], edx
   8b 45 ec ?? mov eax, dword ss:[ebp + 0xec<236,-20>]
   50 ?? push eax
   8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
   51 ?? push ecx
   8d 4d cc ?? lea ecx, ss:[ebp + 0xcc<204,-52>]
   e8 71 02 00 00 ?? call function 0x00402460
  
  L7: c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   83 7d 0c 10 ?? cmp dword ss:[ebp + 12], 0x10<16>
   73 61 ?? jae basic block L13
  
  L8: 8b 55 ec ?? mov edx, dword ss:[ebp + 0xec<236,-20>]
   8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   89 42 14 ?? mov dword ds:[edx + 0x14<20>], eax
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   c7 41 18 0f 00 00 00 ?? mov dword ds:[ecx + 0x18<24>], 15
   8b 55 0c ?? mov edx, dword ss:[ebp + 12]
   52 ?? push edx
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   50 ?? push eax
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   83 c1 04 ?? add ecx, 4
   51 ?? push ecx
   e8 5d fb ff ff ?? call function 0x00401d80
  
  L9: 83 c4 0c ?? add esp, 12
   c6 45 b7 00 ?? mov byte ss:[ebp + 0xb7<183,-73>], 0
   8d 55 b7 ?? lea edx, ss:[ebp + 0xb7<183,-73>]
   52 ?? push edx
   8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   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 c2 fd ff ff ?? call function 0x00402000
  
  L10: 83 c4 08 ?? add esp, 8
   8d 4d cc ?? lea ecx, ss:[ebp + 0xcc<204,-52>]
   e8 17 f4 ff ff ?? call function 0x00401660
  
  L11: c7 45 fc ff ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xffffffff<4294967295,-1>
   8d 4d cc ?? lea ecx, ss:[ebp + 0xcc<204,-52>]
   e8 c8 01 00 00 ?? call function 0x00402420
  
  L12: e9 c0 00 00 00 ?? jmp basic block L24
  
  L13: 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
   8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
   51 ?? push ecx
   8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   e8 cd 02 00 00 ?? call function 0x00402540
  
  L14: 89 45 c4 ?? mov dword ss:[ebp + 0xc4<196,-60>], eax
   8b 55 c4 ?? mov edx, dword ss:[ebp + 0xc4<196,-60>]
   83 c2 01 ?? add edx, 1
   52 ?? push edx
   8b 4d e8 ?? mov ecx, dword ss:[ebp + 0xe8<232,-24>]
   e8 4b 04 00 00 ?? call function 0x004026d0
  
  L15: 89 45 bc ?? mov dword ss:[ebp + 0xbc<188,-68>], eax
   8d 45 bc ?? lea eax, ss:[ebp + 0xbc<188,-68>]
   50 ?? push eax
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   83 c1 04 ?? add ecx, 4
   51 ?? push ecx
   e8 d8 09 00 00 ?? call function 0x00402c70
  
  L16: 83 c4 08 ?? add esp, 8
   8b 55 c4 ?? mov edx, dword ss:[ebp + 0xc4<196,-60>]
   83 c2 01 ?? add edx, 1
   52 ?? push edx
   8b 45 bc ?? mov eax, dword ss:[ebp + 0xbc<188,-68>]
   50 ?? push eax
   e8 f5 00 00 00 ?? call function 0x004023a0
  
  L17: 83 c4 04 ?? add esp, 4
   50 ?? push eax
   e8 bc 03 00 00 ?? call function 0x00402670
  
  L18: 83 c4 08 ?? add esp, 8
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   8b 55 0c ?? mov edx, dword ss:[ebp + 12]
   89 51 14 ?? mov dword ds:[ecx + 0x14<20>], edx
   8b 45 ec ?? mov eax, dword ss:[ebp + 0xec<236,-20>]
   8b 4d c4 ?? mov ecx, dword ss:[ebp + 0xc4<196,-60>]
   89 48 18 ?? mov dword ds:[eax + 0x18<24>], ecx
   8b 55 0c ?? mov edx, dword ss:[ebp + 12]
   52 ?? push edx
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   50 ?? push eax
   8b 4d bc ?? mov ecx, dword ss:[ebp + 0xbc<188,-68>]
   51 ?? push ecx
   e8 c6 00 00 00 ?? call function 0x004023a0
  
  L19: 83 c4 04 ?? add esp, 4
   50 ?? push eax
   e8 9d fa ff ff ?? call function 0x00401d80
  
  L20: 83 c4 0c ?? add esp, 12
   c6 45 b6 00 ?? mov byte ss:[ebp + 0xb6<182,-74>], 0
   8d 55 b6 ?? lea edx, ss:[ebp + 0xb6<182,-74>]
   52 ?? push edx
   8b 45 bc ?? mov eax, dword ss:[ebp + 0xbc<188,-68>]
   50 ?? push eax
   e8 a9 00 00 00 ?? call function 0x004023a0
  
  L21: 83 c4 04 ?? add esp, 4
   03 45 0c ?? add eax, dword ss:[ebp + 12]
   50 ?? push eax
   e8 fd fc ff ff ?? call function 0x00402000
  
  L22: 83 c4 08 ?? add esp, 8
   8d 4d cc ?? lea ecx, ss:[ebp + 0xcc<204,-52>]
   e8 52 f3 ff ff ?? call function 0x00401660
  
  L23: c7 45 fc ff ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xffffffff<4294967295,-1>
   8d 4d cc ?? lea ecx, ss:[ebp + 0xcc<204,-52>]
   e8 03 01 00 00 ?? call function 0x00402420
  
  L24: 52 ?? push edx
   8b cd ?? mov ecx, ebp
   50 ?? push eax
   8d 15 4c 23 40 00 ?? lea edx, ds:[0x0040234c]
   e8 64 2d 00 00 ?? call function 0x00405090
  
  L25: 58 ?? pop eax
   5a ?? pop edx
   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
   5f ?? pop edi
   83 c4 4c ?? add esp, 0x4c<76>
   3b ec ?? cmp ebp, esp
   e8 ac 2d 00 00 ?? call function 0x004050f0
  
  L26: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c2 08 00 ?? ret 8
  
  