Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   56 ?? push esi
   8b f1 ?? mov esi, ecx
   c6 46 0c 00 ?? mov byte ds:[esi + 12], 0
   85 c0 ?? test eax, eax
   75 63 ?? jne basic block L13
  
  L2: e8 7c 15 00 00 ?? call function 0x0040fba3
  
  L3: 89 46 08 ?? mov dword ds:[esi + 8], eax
   8b 48 6c ?? mov ecx, dword ds:[eax + 0x6c<108>]
   89 0e ?? mov dword ds:[esi], ecx
   8b 48 68 ?? mov ecx, dword ds:[eax + 0x68<104>]
   89 4e 04 ?? mov dword ds:[esi + 4], ecx
   8b 0e ?? mov ecx, dword ds:[esi]
   3b 0d 68 4a 44 00 ?? cmp ecx, dword ds:[0x00444a68]
   74 12 ?? je basic block L7
  
  L4: 8b 0d 80 49 44 00 ?? mov ecx, dword ds:[0x00444980]
   85 48 70 ?? test dword ds:[eax + 0x70<112>], ecx
   75 07 ?? jne basic block L7
  
  L5: e8 3e ea ff ff ?? call function 0x0040d08d
  
  L6: 89 06 ?? mov dword ds:[esi], eax
  
  L7: 8b 46 04 ?? mov eax, dword ds:[esi + 4]
   3b 05 a8 51 44 00 ?? cmp eax, dword ds:[0x004451a8]
   74 16 ?? je basic block L11
  
  L8: 8b 46 08 ?? mov eax, dword ds:[esi + 8]
   8b 0d 80 49 44 00 ?? mov ecx, dword ds:[0x00444980]
   85 48 70 ?? test dword ds:[eax + 0x70<112>], ecx
   75 08 ?? jne basic block L11
  
  L9: e8 04 a2 00 00 ?? call function 0x00418873
  
  L10: 89 46 04 ?? mov dword ds:[esi + 4], eax
  
  L11: 8b 46 08 ?? mov eax, dword ds:[esi + 8]
   f6 40 70 02 ?? test byte ds:[eax + 0x70<112>], 2
   75 14 ?? jne basic block L14
  
  L12: 83 48 70 02 ?? or dword ds:[eax + 0x70<112>], 2
   c6 46 0c 01 ?? mov byte ds:[esi + 12], 1
   eb 0a ?? jmp basic block L14
  
  L13: 8b 08 ?? mov ecx, dword ds:[eax]
   89 0e ?? mov dword ds:[esi], ecx
   8b 40 04 ?? mov eax, dword ds:[eax + 4]
   89 46 04 ?? mov dword ds:[esi + 4], eax
  
  L14: 8b c6 ?? mov eax, esi
   5e ?? pop esi
   5d ?? pop ebp
   c2 04 00 ?? ret 4
  
  