Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   53 ?? push ebx
   8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
   56 ?? push esi
   8b f1 ?? mov esi, ecx
   c7 06 3c e2 42 00 ?? mov dword ds:[esi], 0x0042e23c
   8b 43 08 ?? mov eax, dword ds:[ebx + 8]
   89 46 08 ?? mov dword ds:[esi + 8], eax
   85 c0 ?? test eax, eax
   8b 43 04 ?? mov eax, dword ds:[ebx + 4]
   57 ?? push edi
   74 31 ?? je basic block L9
  
  L2: 85 c0 ?? test eax, eax
   74 27 ?? je basic block L8
  
  L3: 50 ?? push eax
   e8 22 02 00 00 ?? call function 0x004063b0
  
  L4: 8b f8 ?? mov edi, eax
   47 ?? inc edi
   57 ?? push edi
   e8 68 54 00 00 ?? call function 0x0040b5ff
  
  L5: 59 ?? pop ecx
   59 ?? pop ecx
   89 46 04 ?? mov dword ds:[esi + 4], eax
   85 c0 ?? test eax, eax
   74 18 ?? je basic block L10
  
  L6: ff 73 04 ?? push dword ds:[ebx + 4]
   57 ?? push edi
   50 ?? push eax
   e8 98 65 00 00 ?? call function 0x0040c742
  
  L7: 83 c4 0c ?? add esp, 12
   eb 09 ?? jmp basic block L10
  
  L8: 83 66 04 00 ?? and dword ds:[esi + 4], 0
   eb 03 ?? jmp basic block L10
  
  L9: 89 46 04 ?? mov dword ds:[esi + 4], eax
  
  L10: 5f ?? pop edi
   8b c6 ?? mov eax, esi
   5e ?? pop esi
   5b ?? pop ebx
   5d ?? pop ebp
   c2 04 00 ?? ret 4
  
  