Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   53 ?? push ebx
   56 ?? push esi
   8b f2 ?? mov esi, edx
   33 d2 ?? xor edx, edx
   89 55 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edx
   39 55 08 ?? cmp dword ss:[ebp + 8], edx
   74 35 ?? je basic block L9
  
  L2: 83 39 01 ?? cmp dword ds:[ecx], 1
   8b 37 ?? mov esi, dword ds:[edi]
   76 19 ?? jbe basic block L5
  
  L3: 6a 0a ?? push 10
   99 ?? cdq
   5b ?? pop ebx
   f7 fb ?? idiv ebx
   80 c2 30 ?? add dl, 0x30<48>
   88 16 ?? mov byte ds:[esi], dl
   46 ?? inc esi
   ff 09 ?? dec dword ds:[ecx]
   8b 11 ?? mov edx, dword ds:[ecx]
   85 c0 ?? test eax, eax
   7e 05 ?? jle basic block L5
  
  L4: 83 fa 01 ?? cmp edx, 1
   77 e7 ?? ja basic block L3
  
  L5: 8b 07 ?? mov eax, dword ds:[edi]
   89 37 ?? mov dword ds:[edi], esi
   4e ?? dec esi
  
  L6: 8a 10 ?? mov dl, byte ds:[eax]
   8a 0e ?? mov cl, byte ds:[esi]
   88 16 ?? mov byte ds:[esi], dl
   4e ?? dec esi
   88 08 ?? mov byte ds:[eax], cl
   40 ?? inc eax
   3b c6 ?? cmp eax, esi
  
  L7: 72 f2 ?? jb basic block L6
  
  L8: eb 2e ?? jmp basic block L14
  
  L9: 3b 31 ?? cmp esi, dword ds:[ecx]
   73 28 ?? jae basic block L13
  
  L10: 4e ?? dec esi
   8d 56 01 ?? lea edx, ds:[esi + 1]
   85 d2 ?? test edx, edx
   74 17 ?? je basic block L12
  
  L11: 6a 0a ?? push 10
   99 ?? cdq
   5b ?? pop ebx
   f7 fb ?? idiv ebx
   8b 1f ?? mov ebx, dword ds:[edi]
   80 c2 30 ?? add dl, 0x30<48>
   ff 45 fc ?? inc dword ss:[ebp + 0xfc<252,-4>]
   88 14 1e ?? mov byte ds:[esi + ebx], dl
   4e ?? dec esi
   83 fe ff ?? cmp esi, 0xff<255,-1>
   75 e9 ?? jne basic block L11
  
  L12: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   01 07 ?? add dword ds:[edi], eax
   29 01 ?? sub dword ds:[ecx], eax
   eb 02 ?? jmp basic block L14
  
  L13: 89 11 ?? mov dword ds:[ecx], edx
  
  L14: 5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  