Disassembly: 
  L1: 6a ff ?? push 0xff<255,-1>
   68 18 33 40 00 ?? push 0x00403318
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   51 ?? push ecx
   56 ?? push esi
   57 ?? push edi
   a1 88 70 40 00 ?? mov eax, dword ds:[0x00407088]
   33 c4 ?? xor eax, esp
   50 ?? push eax
   8d 44 24 10 ?? lea eax, ss:[esp + 0x10<16>]
   64 a3 00 00 00 00 ?? mov dword fs:[0], eax
   8b f9 ?? mov edi, ecx
   89 7c 24 0c ?? mov dword ss:[esp + 12], edi
   8b 74 24 20 ?? mov esi, dword ss:[esp + 0x20<32>]
   89 37 ?? mov dword ds:[edi], esi
   8b 06 ?? mov eax, dword ds:[esi]
   8b 48 04 ?? mov ecx, dword ds:[eax + 4]
   8b 44 31 28 ?? mov eax, dword ds:[ecx + esi + 0x28<40>]
   85 c0 ?? test eax, eax
   74 09 ?? je basic block L3
  
  L2: 8d 48 04 ?? lea ecx, ds:[eax + 4]
   ff 15 68 82 40 00 ?? call dword ds:[function 0x00408268]
  
  L3: 8b 16 ?? mov edx, dword ds:[esi]
   8b 42 04 ?? mov eax, dword ds:[edx + 4]
   03 c6 ?? add eax, esi
   83 78 08 00 ?? cmp dword ds:[eax + 8], 0
   c7 44 24 18 00 00 00 00 ?? mov dword ss:[esp + 0x18<24>], 0
   75 0f ?? jne basic block L6
  
  L4: 8b 40 2c ?? mov eax, dword ds:[eax + 0x2c<44>]
   85 c0 ?? test eax, eax
   74 08 ?? je basic block L6
  
  L5: 8b c8 ?? mov ecx, eax
   ff 15 60 82 40 00 ?? call dword ds:[function 0x00408260]
  
  L6: 8b 0e ?? mov ecx, dword ds:[esi]
   8b 51 04 ?? mov edx, dword ds:[ecx + 4]
   83 7c 32 08 00 ?? cmp dword ds:[edx + esi + 8], 0
   0f 94 c0 ?? sete al
   88 47 04 ?? mov byte ds:[edi + 4], al
   8b c7 ?? mov eax, edi
   8b 4c 24 10 ?? mov ecx, dword ss:[esp + 0x10<16>]
   64 89 0d 00 00 00 00 ?? mov dword fs:[0], ecx
   59 ?? pop ecx
   5f ?? pop edi
   5e ?? pop esi
   83 c4 10 ?? add esp, 0x10<16>
   c2 04 00 ?? ret 4
  
  