Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a ff ?? push 0xff<255,-1>
   68 40 50 40 00 ?? push 0x00405040
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   83 ec 10 ?? sub esp, 0x10<16>
   56 ?? push esi
   b8 cc cc cc cc ?? mov eax, 0xcccccccc
   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 90 40 00 ?? mov eax, dword ds:[0x00409004]
   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>]
   8b 08 ?? mov ecx, dword ds:[eax]
   89 4d ec ?? mov dword ss:[ebp + 0xec<236,-20>], ecx
   8b 55 ec ?? mov edx, dword ss:[ebp + 0xec<236,-20>]
   8b 02 ?? mov eax, dword ds:[edx]
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   03 48 04 ?? add ecx, dword ds:[eax + 4]
   8b f4 ?? mov esi, esp
   ff 15 88 60 40 00 ?? call dword ds:[function 0x00406088<"@x@">]
  
  L2: 3b f4 ?? cmp esi, esp
   e8 14 22 00 00 ?? call function 0x00403f60
  
  L3: 85 c0 ?? test eax, eax
   74 3d ?? je basic block L8
  
  L4: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   8b 11 ?? mov edx, dword ds:[ecx]
   89 55 e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], edx
   8b 45 e8 ?? mov eax, dword ss:[ebp + 0xe8<232,-24>]
   8b 08 ?? mov ecx, dword ds:[eax]
   8b 55 e8 ?? mov edx, dword ss:[ebp + 0xe8<232,-24>]
   03 51 04 ?? add edx, dword ds:[ecx + 4]
   8b f4 ?? mov esi, esp
   8b ca ?? mov ecx, edx
   ff 15 88 60 40 00 ?? call dword ds:[function 0x00406088<"@x@">]
  
  L5: 3b f4 ?? cmp esi, esp
   e8 ec 21 00 00 ?? call function 0x00403f60
  
  L6: 89 45 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], eax
   8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
   8b 10 ?? mov edx, dword ds:[eax]
   8b f4 ?? mov esi, esp
   8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
   8b 42 08 ?? mov eax, dword ds:[edx + 8]
   ff d0 ?? call eax
  
  L7: 3b f4 ?? cmp esi, esp
   e8 d3 21 00 00 ?? call function 0x00403f60
  
  L8: 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
   5e ?? pop esi
   83 c4 1c ?? add esp, 0x1c<28>
   3b ec ?? cmp ebp, esp
   e8 bd 21 00 00 ?? call function 0x00403f60
  
  L9: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  