Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 0c ?? sub esp, 12
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   03 48 3c ?? add ecx, dword ds:[eax + 0x3c<60>]
   89 4d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], ecx
   c7 45 f4 00 00 00 00 ?? mov dword ss:[ebp + 0xf4<244,-12>], 0
   8b 55 f8 ?? mov edx, dword ss:[ebp + 0xf8<248,-8>]
   0f b7 42 14 ?? movzx eax, word ds:[edx + 0x14<20>]
   8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
   8d 54 01 18 ?? lea edx, ds:[ecx + eax + 0x18<24>]
   89 55 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edx
   eb 12 ?? jmp basic block L2
  
  L2: 8b 55 f8 ?? mov edx, dword ss:[ebp + 0xf8<248,-8>]
   0f b7 42 06 ?? movzx eax, word ds:[edx + 6]
   39 45 f4 ?? cmp dword ss:[ebp + 0xf4<244,-12>], eax
   73 23 ?? jae basic block L7
  
  L3: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   8b 55 0c ?? mov edx, dword ss:[ebp + 12]
   3b 51 0c ?? cmp edx, dword ds:[ecx + 12]
   72 16 ?? jb basic block L6
  
  L4: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   8b 48 0c ?? mov ecx, dword ds:[eax + 12]
   8b 55 fc ?? mov edx, dword ss:[ebp + 0xfc<252,-4>]
   03 4a 08 ?? add ecx, dword ds:[edx + 8]
   39 4d 0c ?? cmp dword ss:[ebp + 12], ecx
   73 05 ?? jae basic block L6
  
  L5: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   eb 04 ?? jmp basic block L8
  
  L6: eb bf ?? jmp 0x00401bac
   8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
   83 c0 01 ?? add eax, 1
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   83 c1 28 ?? add ecx, 0x28<40>
   89 4d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ecx
  
  L7: 33 c0 ?? xor eax, eax
  
  L8: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  