Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   8b 7d 08 ?? mov edi, dword ss:[ebp + 8]
   8b 47 10 ?? mov eax, dword ds:[edi + 0x10<16>]
   8b 77 0c ?? mov esi, dword ds:[edi + 12]
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   8b de ?? mov ebx, esi
   eb 2d ?? jmp basic block L8
  
  L2: 83 fe ff ?? cmp esi, 0xff<255,-1>
   75 05 ?? jne basic block L4
  
  L3: e8 32 24 00 00 ?? call function 0x00403a8d
  
  L4: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   4e ?? dec esi
   8b c6 ?? mov eax, esi
   6b c0 14 ?? imul eax, eax, 0x14<20>
   03 c1 ?? add eax, ecx
   8b 4d 10 ?? mov ecx, dword ss:[ebp + 0x10<16>]
   39 48 04 ?? cmp dword ds:[eax + 4], ecx
   7d 05 ?? jge basic block L6
  
  L5: 3b 48 08 ?? cmp ecx, dword ds:[eax + 8]
   7e 05 ?? jle basic block L7
  
  L6: 83 fe ff ?? cmp esi, 0xff<255,-1>
   75 09 ?? jne basic block L9
  
  L7: ff 4d 0c ?? dec dword ss:[ebp + 12]
   8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
  
  L8: 89 75 08 ?? mov dword ss:[ebp + 8], esi
  
  L9: 83 7d 0c 00 ?? cmp dword ss:[ebp + 12], 0
   7d ca ?? jge basic block L2
  
  L10: 8b 45 14 ?? mov eax, dword ss:[ebp + 0x14<20>]
   46 ?? inc esi
   89 30 ?? mov dword ds:[eax], esi
   8b 45 18 ?? mov eax, dword ss:[ebp + 0x18<24>]
   89 18 ?? mov dword ds:[eax], ebx
   3b 5f 0c ?? cmp ebx, dword ds:[edi + 12]
   77 04 ?? ja basic block L12
  
  L11: 3b f3 ?? cmp esi, ebx
   76 05 ?? jbe basic block L13
  
  L12: e8 ed 23 00 00 ?? call function 0x00403a8d
  
  L13: 8b c6 ?? mov eax, esi
   6b c0 14 ?? imul eax, eax, 0x14<20>
   03 45 fc ?? add eax, dword ss:[ebp + 0xfc<252,-4>]
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  