Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a ff ?? push 0xff<255,-1>
   68 d8 4b 40 00 ?? push 0x00404bd8
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   51 ?? push ecx
   56 ?? push esi
   c7 45 f0 cc cc cc cc ?? mov dword ss:[ebp + 0xf0<240,-16>], 0xcccccccc
   a1 04 70 40 00 ?? mov eax, dword ds:[0x00407004]
   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 08 ?? mov eax, dword ss:[ebp + 8]
   50 ?? push eax
   8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   e8 a6 01 00 00 ?? call function 0x00401a20
  
  L2: c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   8b 11 ?? mov edx, dword ds:[ecx]
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   03 4a 04 ?? add ecx, dword ds:[edx + 4]
   8b f4 ?? mov esi, esp
   ff 15 60 50 40 00 ?? call dword ds:[function 0x00405060]
  
  L3: 3b f4 ?? cmp esi, esp
   e8 d5 21 00 00 ?? call function 0x00403a70
  
  L4: 0f b6 c0 ?? movzx eax, al
   85 c0 ?? test eax, eax
   74 6c ?? je basic block L15
  
  L5: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   8b 11 ?? mov edx, dword ds:[ecx]
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   03 4a 04 ?? add ecx, dword ds:[edx + 4]
   8b f4 ?? mov esi, esp
   ff 15 98 50 40 00 ?? call dword ds:[function 0x00405098<">e@">]
  
  L6: 3b f4 ?? cmp esi, esp
   e8 b4 21 00 00 ?? call function 0x00403a70
  
  L7: 85 c0 ?? test eax, eax
   74 4e ?? je basic block L15
  
  L8: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   8b 08 ?? mov ecx, dword ds:[eax]
   8b 55 08 ?? mov edx, dword ss:[ebp + 8]
   03 51 04 ?? add edx, dword ds:[ecx + 4]
   8b f4 ?? mov esi, esp
   8b ca ?? mov ecx, edx
   ff 15 98 50 40 00 ?? call dword ds:[function 0x00405098<">e@">]
  
  L9: 3b f4 ?? cmp esi, esp
   e8 94 21 00 00 ?? call function 0x00403a70
  
  L10: 3b 45 08 ?? cmp eax, dword ss:[ebp + 8]
   74 2d ?? je basic block L15
  
  L11: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   8b 08 ?? mov ecx, dword ds:[eax]
   8b 55 08 ?? mov edx, dword ss:[ebp + 8]
   03 51 04 ?? add edx, dword ds:[ecx + 4]
   8b f4 ?? mov esi, esp
   8b ca ?? mov ecx, edx
   ff 15 98 50 40 00 ?? call dword ds:[function 0x00405098<">e@">]
  
  L12: 3b f4 ?? cmp esi, esp
   e8 73 21 00 00 ?? call function 0x00403a70
  
  L13: 8b f4 ?? mov esi, esp
   8b c8 ?? mov ecx, eax
   ff 15 78 50 40 00 ?? call dword ds:[function 0x00405078]
  
  L14: 3b f4 ?? cmp esi, esp
   e8 62 21 00 00 ?? call function 0x00403a70
  
  L15: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   8b 08 ?? mov ecx, dword ds:[eax]
   8b 55 08 ?? mov edx, dword ss:[ebp + 8]
   03 51 04 ?? add edx, dword ds:[ecx + 4]
   8b f4 ?? mov esi, esp
   8b ca ?? mov ecx, edx
   ff 15 60 50 40 00 ?? call dword ds:[function 0x00405060]
  
  L16: 3b f4 ?? cmp esi, esp
   e8 46 21 00 00 ?? call function 0x00403a70
  
  L17: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   88 41 04 ?? mov byte ds:[ecx + 4], al
   c7 45 fc ff ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xffffffff<4294967295,-1>
   8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
   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 10 ?? add esp, 0x10<16>
   3b ec ?? cmp ebp, esp
   e8 20 21 00 00 ?? call function 0x00403a70
  
  L18: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c2 04 00 ?? ret 4
  
  