Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a ff ?? push 0xff<255,-1>
   68 f0 61 40 00 ?? push 0x004061f0
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   83 ec 08 ?? sub esp, 8
   56 ?? push esi
   c7 45 ec cc cc cc cc ?? mov dword ss:[ebp + 0xec<236,-20>], 0xcccccccc
   c7 45 f0 cc cc cc cc ?? mov dword ss:[ebp + 0xf0<240,-16>], 0xcccccccc
   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 f4 ?? mov esi, esp
   ff 15 a0 70 40 00 ?? call dword ds:[0x004070a0]
  
  L2: 3b f4 ?? cmp esi, esp
   e8 1a 36 00 00 ?? call function 0x00405130
  
  L3: 0f b6 c0 ?? movzx eax, al
   85 c0 ?? test eax, eax
   75 06 ?? jne basic block L5
  
  L4: c6 45 ee 01 ?? mov byte ss:[ebp + 0xee<238,-18>], 1
   eb 04 ?? jmp basic block L6
  
  L5: c6 45 ee 00 ?? mov byte ss:[ebp + 0xee<238,-18>], 0
  
  L6: 8a 4d ee ?? mov cl, byte ss:[ebp + 0xee<238,-18>]
   88 4d ef ?? mov byte ss:[ebp + 0xef<239,-17>], cl
   0f b6 55 ef ?? movzx edx, byte ss:[ebp + 0xef<239,-17>]
   85 d2 ?? test edx, edx
   74 14 ?? je basic block L9
  
  L7: 8b f4 ?? mov esi, esp
   8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
   8b 08 ?? mov ecx, dword ds:[eax]
   ff 15 84 70 40 00 ?? call dword ds:[function 0x00407084]
  
  L8: 3b f4 ?? cmp esi, esp
   e8 e7 35 00 00 ?? call function 0x00405130
  
  L9: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   e8 1f 06 00 00 ?? call function 0x00402170
  
  L10: 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 14 ?? add esp, 0x14<20>
   3b ec ?? cmp ebp, esp
   e8 c9 35 00 00 ?? call function 0x00405130
  
  L11: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  