Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 18 ?? sub esp, 0x18<24>
   a1 3c 80 42 00 ?? mov eax, dword ds:[0x0042803c]
   83 65 e8 00 ?? and dword ss:[ebp + 0xe8<232,-24>], 0
   8d 4d e8 ?? lea ecx, ss:[ebp + 0xe8<232,-24>]
   33 c1 ?? xor eax, ecx
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   89 45 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], eax
   8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   8b 45 14 ?? mov eax, dword ss:[ebp + 0x14<20>]
   40 ?? inc eax
   c7 45 ec 47 15 40 00 ?? mov dword ss:[ebp + 0xec<236,-20>], function 0x00401547
   89 4d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], ecx
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   89 45 e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], eax
   8d 45 e8 ?? lea eax, ss:[ebp + 0xe8<232,-24>]
   64 a3 00 00 00 00 ?? mov dword fs:[0], eax
   ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
   51 ?? push ecx
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   e8 a5 22 00 00 ?? call function 0x00403b00
  
  L2: 8b c8 ?? mov ecx, eax
   8b 45 e8 ?? mov eax, dword ss:[ebp + 0xe8<232,-24>]
   64 a3 00 00 00 00 ?? mov dword fs:[0], eax
   8b c1 ?? mov eax, ecx
   c9 ?? leave
   c3 ?? ret
  
  