Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   56 ?? push esi
   57 ?? push edi
   33 ff ?? xor edi, edi
   3b df ?? cmp ebx, edi
   75 1b ?? jne basic block L5
  
  L2: e8 10 d6 fe ff ?? call function 0x004053f4
  
  L3: 6a 16 ?? push 0x16<22>
   5e ?? pop esi
   57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   89 30 ?? mov dword ds:[eax], esi
   e8 d2 0e ff ff ?? call function 0x00408cc5
  
  L4: 83 c4 14 ?? add esp, 0x14<20>
   8b c6 ?? mov eax, esi
   eb 77 ?? jmp basic block L23
  
  L5: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   89 3b ?? mov dword ds:[ebx], edi
   3b c7 ?? cmp eax, edi
   74 02 ?? je basic block L7
  
  L6: 89 38 ?? mov dword ds:[eax], edi
  
  L7: 39 7d 0c ?? cmp dword ss:[ebp + 12], edi
   74 d5 ?? je basic block L2
  
  L8: ff 75 0c ?? push dword ss:[ebp + 12]
   e8 a3 fe ff ff ?? call function 0x00417cb5
  
  L9: 59 ?? pop ecx
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   3b c7 ?? cmp eax, edi
   74 55 ?? je basic block L22
  
  L10: 50 ?? push eax
   e8 10 e9 fe ff ?? call function 0x00406730
  
  L11: 8b f0 ?? mov esi, eax
   46 ?? inc esi
   6a 01 ?? push 1
   56 ?? push esi
   e8 15 07 00 00 ?? call function 0x00418540
  
  L12: 83 c4 0c ?? add esp, 12
   89 03 ?? mov dword ds:[ebx], eax
   3b c7 ?? cmp eax, edi
   75 14 ?? jne basic block L16
  
  L13: e8 bb d5 fe ff ?? call function 0x004053f4
  
  L14: c7 00 0c 00 00 00 ?? mov dword ds:[eax], 12
   e8 b0 d5 fe ff ?? call function 0x004053f4
  
  L15: 8b 00 ?? mov eax, dword ds:[eax]
   eb 29 ?? jmp basic block L23
  
  L16: ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   56 ?? push esi
   50 ?? push eax
   e8 71 e8 fe ff ?? call function 0x004066c3
  
  L17: 83 c4 0c ?? add esp, 12
   85 c0 ?? test eax, eax
   74 0d ?? je basic block L20
  
  L18: 57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   e8 fb 0c ff ff ?? call function 0x00408b5e
  
  L19: 83 c4 14 ?? add esp, 0x14<20>
  
  L20: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   3b c7 ?? cmp eax, edi
   74 02 ?? je basic block L22
  
  L21: 89 30 ?? mov dword ds:[eax], esi
  
  L22: 33 c0 ?? xor eax, eax
  
  L23: 5f ?? pop edi
   5e ?? pop esi
   c9 ?? leave
   c3 ?? ret
  
  