Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   56 ?? push esi
   8b 75 14 ?? mov esi, dword ss:[ebp + 0x14<20>]
   57 ?? push edi
   33 ff ?? xor edi, edi
   3b f7 ?? cmp esi, edi
   75 04 ?? jne basic block L3
  
  L2: 33 c0 ?? xor eax, eax
   eb 65 ?? jmp basic block L18
  
  L3: 39 7d 08 ?? cmp dword ss:[ebp + 8], edi
   75 1b ?? jne basic block L8
  
  L4: e8 58 2d 00 00 ?? call function 0x00404efe
  
  L5: 6a 16 ?? push 0x16<22>
   5e ?? pop esi
   89 30 ?? mov dword ds:[eax], esi
  
  L6: 57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   e8 c6 2c 00 00 ?? call function 0x00404e7b
  
  L7: 83 c4 14 ?? add esp, 0x14<20>
   8b c6 ?? mov eax, esi
   eb 45 ?? jmp basic block L18
  
  L8: 39 7d 10 ?? cmp dword ss:[ebp + 0x10<16>], edi
   74 16 ?? je basic block L12
  
  L9: 39 75 0c ?? cmp dword ss:[ebp + 12], esi
   72 11 ?? jb basic block L12
  
  L10: 56 ?? push esi
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff 75 08 ?? push dword ss:[ebp + 8]
   e8 ce 27 00 00 ?? call function 0x004049a0
  
  L11: 83 c4 0c ?? add esp, 12
   eb c1 ?? jmp basic block L2
  
  L12: ff 75 0c ?? push dword ss:[ebp + 12]
   57 ?? push edi
   ff 75 08 ?? push dword ss:[ebp + 8]
   e8 3d 27 00 00 ?? call function 0x00404920
  
  L13: 83 c4 0c ?? add esp, 12
   39 7d 10 ?? cmp dword ss:[ebp + 0x10<16>], edi
   74 b6 ?? je basic block L4
  
  L14: 39 75 0c ?? cmp dword ss:[ebp + 12], esi
   73 0e ?? jae basic block L17
  
  L15: e8 09 2d 00 00 ?? call function 0x00404efe
  
  L16: 6a 22 ?? push 0x22<34>
   59 ?? pop ecx
   89 08 ?? mov dword ds:[eax], ecx
   8b f1 ?? mov esi, ecx
   eb ad ?? jmp basic block L6
  
  L17: 6a 16 ?? push 0x16<22>
   58 ?? pop eax
  
  L18: 5f ?? pop edi
   5e ?? pop esi
   5d ?? pop ebp
   c3 ?? ret
  
  