Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 10 ?? sub esp, 0x10<16>
   53 ?? push ebx
   33 db ?? xor ebx, ebx
   56 ?? push esi
   57 ?? push edi
   39 5d 10 ?? cmp dword ss:[ebp + 0x10<16>], ebx
   0f 84 d5 00 00 00 ?? je basic block L27
  
  L2: ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   8d 4d f0 ?? lea ecx, ss:[ebp + 0xf0<240,-16>]
   e8 1f 9e fe ff ?? call function 0x00408dd4
  
  L3: 39 5d 08 ?? cmp dword ss:[ebp + 8], ebx
   75 2e ?? jne basic block L9
  
  L4: e8 63 d5 fe ff ?? call function 0x0040c522
  
  L5: 53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   c7 00 16 00 00 00 ?? mov dword ds:[eax], 0x00000016<22>
   e8 f1 79 fe ff ?? call function 0x004069c0
  
  L6: 83 c4 14 ?? add esp, 0x14<20>
   38 5d fc ?? cmp byte ss:[ebp + 0xfc<252,-4>], bl
   74 07 ?? je basic block L8
  
  L7: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>
  
  L8: b8 ff ff ff 7f ?? mov eax, 0x7fffffff
   e9 99 00 00 00 ?? jmp basic block L28
  
  L9: 8b 7d 0c ?? mov edi, dword ss:[ebp + 12]
   3b fb ?? cmp edi, ebx
   74 cb ?? je basic block L4
  
  L10: be ff ff ff 7f ?? mov esi, 0x7fffffff
   39 75 10 ?? cmp dword ss:[ebp + 0x10<16>], esi
   76 28 ?? jbe basic block L16
  
  L11: e8 24 d5 fe ff ?? call function 0x0040c522
  
  L12: 53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   c7 00 16 00 00 00 ?? mov dword ds:[eax], 0x00000016<22>
   e8 b2 79 fe ff ?? call function 0x004069c0
  
  L13: 83 c4 14 ?? add esp, 0x14<20>
   38 5d fc ?? cmp byte ss:[ebp + 0xfc<252,-4>], bl
   74 07 ?? je basic block L15
  
  L14: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>
  
  L15: 8b c6 ?? mov eax, esi
   eb 60 ?? jmp basic block L28
  
  L16: 8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
   39 58 14 ?? cmp dword ds:[eax + 0x14<20>], ebx
   75 1d ?? jne basic block L21
  
  L17: ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   57 ?? push edi
   ff 75 08 ?? push dword ss:[ebp + 8]
   e8 5b 11 00 00 ?? call function 0x00420190
  
  L18: 83 c4 0c ?? add esp, 12
  
  L19: 38 5d fc ?? cmp byte ss:[ebp + 0xfc<252,-4>], bl
   74 44 ?? je basic block L28
  
  L20: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
   83 61 70 fd ?? and dword ds:[ecx + 0x70<112>], 0xfd<253,-3>
   eb 3b ?? jmp basic block L28
  
  L21: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   0f b6 00 ?? movzx eax, byte ds:[eax]
   8d 4d f0 ?? lea ecx, ss:[ebp + 0xf0<240,-16>]
   51 ?? push ecx
   50 ?? push eax
   e8 ed 0f 00 00 ?? call function 0x00420043
  
  L22: ff 45 08 ?? inc dword ss:[ebp + 8]
   8b f0 ?? mov esi, eax
   0f b6 07 ?? movzx eax, byte ds:[edi]
   8d 4d f0 ?? lea ecx, ss:[ebp + 0xf0<240,-16>]
   51 ?? push ecx
   50 ?? push eax
   e8 db 0f 00 00 ?? call function 0x00420043
  
  L23: 83 c4 10 ?? add esp, 0x10<16>
   47 ?? inc edi
   ff 4d 10 ?? dec dword ss:[ebp + 0x10<16>]
   74 08 ?? je basic block L26
  
  L24: 3b f3 ?? cmp esi, ebx
   74 04 ?? je basic block L26
  
  L25: 3b f0 ?? cmp esi, eax
   74 cd ?? je basic block L21
  
  L26: 2b f0 ?? sub esi, eax
   8b c6 ?? mov eax, esi
   eb b9 ?? jmp basic block L19
  
  L27: 33 c0 ?? xor eax, eax
  
  L28: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  