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
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   8d 4d f0 ?? lea ecx, ss:[ebp + 0xf0<240,-16>]
   e8 1c 4a ff ff ?? call function 0x0040a259
  
  L2: 33 db ?? xor ebx, ebx
   39 5d 08 ?? cmp dword ss:[ebp + 8], ebx
   75 2e ?? jne basic block L8
  
  L3: e8 a1 36 ff ff ?? call function 0x00408eea
  
  L4: 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 cf db fe ff ?? call function 0x00403428
  
  L5: 83 c4 14 ?? add esp, 0x14<20>
   38 5d fc ?? cmp byte ss:[ebp + 0xfc<252,-4>], bl
   74 07 ?? je basic block L7
  
  L6: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>
  
  L7: b8 ff ff ff 7f ?? mov eax, 0x7fffffff
   e9 89 00 00 00 ?? jmp basic block L26
  
  L8: 57 ?? push edi
   8b 7d 0c ?? mov edi, dword ss:[ebp + 12]
   3b fb ?? cmp edi, ebx
   75 2b ?? jne basic block L14
  
  L9: e8 6b 36 ff ff ?? call function 0x00408eea
  
  L10: 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 99 db fe ff ?? call function 0x00403428
  
  L11: 83 c4 14 ?? add esp, 0x14<20>
   38 5d fc ?? cmp byte ss:[ebp + 0xfc<252,-4>], bl
   74 07 ?? je basic block L13
  
  L12: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>
  
  L13: b8 ff ff ff 7f ?? mov eax, 0x7fffffff
   eb 55 ?? jmp basic block L25
  
  L14: 8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
   39 58 14 ?? cmp dword ds:[eax + 0x14<20>], ebx
   75 0d ?? jne basic block L17
  
  L15: 57 ?? push edi
   ff 75 08 ?? push dword ss:[ebp + 8]
   e8 3a ff ff ff ?? call function 0x004157f0
  
  L16: 59 ?? pop ecx
   59 ?? pop ecx
   eb 34 ?? jmp basic block L23
  
  L17: 56 ?? push esi
  
  L18: 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 8e 0b 00 00 ?? call function 0x00416459
  
  L19: 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 7c 0b 00 00 ?? call function 0x00416459
  
  L20: 83 c4 10 ?? add esp, 0x10<16>
   47 ?? inc edi
   3b f3 ?? cmp esi, ebx
   74 04 ?? je basic block L22
  
  L21: 3b f0 ?? cmp esi, eax
   74 d2 ?? je basic block L18
  
  L22: 2b f0 ?? sub esi, eax
   8b c6 ?? mov eax, esi
   5e ?? pop esi
  
  L23: 38 5d fc ?? cmp byte ss:[ebp + 0xfc<252,-4>], bl
   74 07 ?? je basic block L25
  
  L24: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
   83 61 70 fd ?? and dword ds:[ecx + 0x70<112>], 0xfd<253,-3>
  
  L25: 5f ?? pop edi
  
  L26: 5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  