Disassembly: 
  L1: 56 ?? push esi
   8b f1 ?? mov esi, ecx
   8b 4e 1c ?? mov ecx, dword ds:[esi + 0x1c<28>]
   83 f9 10 ?? cmp ecx, 0x10<16>
   72 28 ?? jb basic block L7
  
  L2: 8b 46 08 ?? mov eax, dword ds:[esi + 8]
   41 ?? inc ecx
   81 f9 00 10 00 00 ?? cmp ecx, 0x00001000<4096>
   72 12 ?? jb basic block L5
  
  L3: 8b 50 fc ?? mov edx, dword ds:[eax + 0xfc<252,-4>]
   83 c1 23 ?? add ecx, 0x23<35>
   2b c2 ?? sub eax, edx
   83 c0 fc ?? add eax, 0xfc<252,-4>
   83 f8 1f ?? cmp eax, 0x1f<31>
   77 20 ?? ja basic block L8
  
  L4: 8b c2 ?? mov eax, edx
  
  L5: 51 ?? push ecx
   50 ?? push eax
   e8 1c fc ff ff ?? call function 0x0040117c
  
  L6: 83 c4 08 ?? add esp, 8
  
  L7: c7 46 18 00 00 00 00 ?? mov dword ds:[esi + 0x18<24>], 0
   c7 46 1c 0f 00 00 00 ?? mov dword ds:[esi + 0x1c<28>], 15
   c6 46 08 00 ?? mov byte ds:[esi + 8], 0
   5e ?? pop esi
   c3 ?? ret
  
  L8: ff 15 74 91 40 00 ?? call dword ds:[0x00409174]
  
  L9: cc ?? int3
  
  L10: cc ?? int3
  
  L11: cc ?? int3
  
  L12: cc ?? int3
  
  L13: cc ?? int3
  
  L14: cc ?? int3
  
  L15: cc ?? int3
  
  L16: cc ?? int3
  
  L17: cc ?? int3
  
  L18: cc ?? int3
  
  L19: cc ?? int3
  
  L20: cc ?? int3
  
  L21: cc ?? int3
  
  L22: cc ?? int3
  
  L23: cc ?? int3
  
  L24: cc ?? int3
  
  L25: cc ?? int3
  
  L26: cc ?? int3
  
  L27: cc ?? int3
  
  L28: cc ?? int3
  
  L29: cc ?? int3
  
  L30: cc ?? int3
  
  L31: cc ?? int3
  
  L32: cc ?? int3
  
  L33: cc ?? int3
  
  L34: cc ?? int3
  
  L35: cc ?? int3
  
  L36: cc ?? int3
  
  L37: cc ?? int3
  
  L38: cc ?? int3
  
  L39: cc ?? int3
  
  L40: cc ?? int3
  
  L41: cc ?? int3
  
  L42: cc ?? int3
  
  L43: cc ?? int3
  
  