Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   56 ?? push esi
   8b 48 3c ?? mov ecx, dword ds:[eax + 0x3c<60>]
   03 c8 ?? add ecx, eax
   0f b7 41 14 ?? movzx eax, word ds:[ecx + 0x14<20>]
   8d 51 18 ?? lea edx, ds:[ecx + 0x18<24>]
   03 d0 ?? add edx, eax
   0f b7 41 06 ?? movzx eax, word ds:[ecx + 6]
   6b f0 28 ?? imul esi, eax, 0x28<40>
   03 f2 ?? add esi, edx
   3b d6 ?? cmp edx, esi
   74 19 ?? je basic block L6
  
  L2: 8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
  
  L3: 3b 4a 0c ?? cmp ecx, dword ds:[edx + 12]
   72 0a ?? jb basic block L5
  
  L4: 8b 42 08 ?? mov eax, dword ds:[edx + 8]
   03 42 0c ?? add eax, dword ds:[edx + 12]
   3b c8 ?? cmp ecx, eax
   72 0c ?? jb basic block L8
  
  L5: 83 c2 28 ?? add edx, 0x28<40>
   3b d6 ?? cmp edx, esi
   75 ea ?? jne basic block L3
  
  L6: 33 c0 ?? xor eax, eax
  
  L7: 5e ?? pop esi
   5d ?? pop ebp
   c3 ?? ret
  
  L8: 8b c2 ?? mov eax, edx
   eb f9 ?? jmp basic block L7
  
  