Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   53 ?? push ebx
   56 ?? push esi
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   33 db ?? xor ebx, ebx
   57 ?? push edi
   39 5d 14 ?? cmp dword ss:[ebp + 0x14<20>], ebx
   75 10 ?? jne basic block L6
  
  L2: 3b f3 ?? cmp esi, ebx
   75 10 ?? jne basic block L7
  
  L3: 39 5d 0c ?? cmp dword ss:[ebp + 12], ebx
   75 12 ?? jne basic block L8
  
  L4: 33 c0 ?? xor eax, eax
  
  L5: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   5d ?? pop ebp
   c3 ?? ret
  
  L6: 3b f3 ?? cmp esi, ebx
   74 07 ?? je basic block L8
  
  L7: 8b 7d 0c ?? mov edi, dword ss:[ebp + 12]
   3b fb ?? cmp edi, ebx
   77 1b ?? ja basic block L12
  
  L8: e8 58 b7 ff ff ?? call function 0x00404ff4
  
  L9: 6a 16 ?? push 0x16<22>
   5e ?? pop esi
   89 30 ?? mov dword ds:[eax], esi
  
  L10: 53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   e8 1a f4 ff ff ?? call function 0x00408cc5
  
  L11: 83 c4 14 ?? add esp, 0x14<20>
   8b c6 ?? mov eax, esi
   eb d5 ?? jmp basic block L5
  
  L12: 39 5d 14 ?? cmp dword ss:[ebp + 0x14<20>], ebx
   75 04 ?? jne basic block L14
  
  L13: 88 1e ?? mov byte ds:[esi], bl
   eb ca ?? jmp basic block L4
  
  L14: 8b 55 10 ?? mov edx, dword ss:[ebp + 0x10<16>]
   3b d3 ?? cmp edx, ebx
   75 04 ?? jne basic block L16
  
  L15: 88 1e ?? mov byte ds:[esi], bl
   eb d1 ?? jmp basic block L8
  
  L16: 83 7d 14 ff ?? cmp dword ss:[ebp + 0x14<20>], 0xff<255,-1>
   8b c6 ?? mov eax, esi
   75 0f ?? jne basic block L20
  
  L17: 8a 0a ?? mov cl, byte ds:[edx]
   88 08 ?? mov byte ds:[eax], cl
   40 ?? inc eax
   42 ?? inc edx
   3a cb ?? cmp cl, bl
   74 1e ?? je basic block L25
  
  L18: 4f ?? dec edi
   75 f3 ?? jne basic block L17
  
  L19: eb 19 ?? jmp basic block L25
  
  L20: 8a 0a ?? mov cl, byte ds:[edx]
   88 08 ?? mov byte ds:[eax], cl
   40 ?? inc eax
   42 ?? inc edx
   3a cb ?? cmp cl, bl
   74 08 ?? je basic block L23
  
  L21: 4f ?? dec edi
   74 05 ?? je basic block L23
  
  L22: ff 4d 14 ?? dec dword ss:[ebp + 0x14<20>]
   75 ee ?? jne basic block L20
  
  L23: 39 5d 14 ?? cmp dword ss:[ebp + 0x14<20>], ebx
   75 02 ?? jne basic block L25
  
  L24: 88 18 ?? mov byte ds:[eax], bl
  
  L25: 3b fb ?? cmp edi, ebx
   75 8b ?? jne basic block L4
  
  L26: 83 7d 14 ff ?? cmp dword ss:[ebp + 0x14<20>], 0xff<255,-1>
   75 0f ?? jne basic block L28
  
  L27: 8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   6a 50 ?? push 0x50<80>
   88 5c 06 ff ?? mov byte ds:[esi + eax + 0xff<255,-1>], bl
   58 ?? pop eax
   e9 78 ff ff ff ?? jmp basic block L5
  
  L28: 88 1e ?? mov byte ds:[esi], bl
   e8 de b6 ff ff ?? call function 0x00404ff4
  
  L29: 6a 22 ?? push 0x22<34>
   59 ?? pop ecx
   89 08 ?? mov dword ds:[eax], ecx
   8b f1 ?? mov esi, ecx
   eb 82 ?? jmp basic block L10
  
  