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 f1 ?? mov esi, ecx
   33 db ?? xor ebx, ebx
   3b f3 ?? cmp esi, ebx
   75 1e ?? jne basic block L5
  
  L2: e8 4a 31 ff ff ?? call function 0x00408e5a
  
  L3: 6a 16 ?? push 0x16<22>
   5e ?? pop esi
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   89 30 ?? mov dword ds:[eax], esi
   e8 79 d6 fe ff ?? call function 0x00403398
  
  L4: 83 c4 14 ?? add esp, 0x14<20>
   8b c6 ?? mov eax, esi
   e9 a9 00 00 00 ?? jmp basic block L29
  
  L5: 57 ?? push edi
   39 5d 08 ?? cmp dword ss:[ebp + 8], ebx
   77 1e ?? ja basic block L10
  
  L6: e8 26 31 ff ff ?? call function 0x00408e5a
  
  L7: 6a 16 ?? push 0x16<22>
  
  L8: 5e ?? pop esi
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   89 30 ?? mov dword ds:[eax], esi
   e8 55 d6 fe ff ?? call function 0x00403398
  
  L9: 83 c4 14 ?? add esp, 0x14<20>
   8b c6 ?? mov eax, esi
   e9 84 00 00 00 ?? jmp basic block L28
  
  L10: 33 c9 ?? xor ecx, ecx
   39 5d 10 ?? cmp dword ss:[ebp + 0x10<16>], ebx
   88 1e ?? mov byte ds:[esi], bl
   0f 95 c1 ?? setne cl
   41 ?? inc ecx
   39 4d 08 ?? cmp dword ss:[ebp + 8], ecx
   77 09 ?? ja basic block L13
  
  L11: e8 f8 30 ff ff ?? call function 0x00408e5a
  
  L12: 6a 22 ?? push 0x22<34>
   eb d0 ?? jmp basic block L8
  
  L13: 8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
   83 c1 fe ?? add ecx, 0xfe<254,-2>
   83 f9 22 ?? cmp ecx, 0x22<34>
   77 be ?? ja basic block L6
  
  L14: 89 5d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ebx
   8b ce ?? mov ecx, esi
   39 5d 10 ?? cmp dword ss:[ebp + 0x10<16>], ebx
   74 0f ?? je basic block L16
  
  L15: c6 06 2d ?? mov byte ds:[esi], 0x2d<45>
   8d 4e 01 ?? lea ecx, ds:[esi + 1]
   c7 45 fc 01 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 1
   f7 d8 ?? neg eax
  
  L16: 8b f9 ?? mov edi, ecx
  
  L17: 33 d2 ?? xor edx, edx
   f7 75 0c ?? div dword ss:[ebp + 12]
   83 fa 09 ?? cmp edx, 9
   76 05 ?? jbe basic block L19
  
  L18: 80 c2 57 ?? add dl, 0x57<87>
   eb 03 ?? jmp basic block L20
  
  L19: 80 c2 30 ?? add dl, 0x30<48>
  
  L20: 88 11 ?? mov byte ds:[ecx], dl
   41 ?? inc ecx
   ff 45 fc ?? inc dword ss:[ebp + 0xfc<252,-4>]
   33 db ?? xor ebx, ebx
   3b c3 ?? cmp eax, ebx
   76 08 ?? jbe basic block L22
  
  L21: 8b 55 08 ?? mov edx, dword ss:[ebp + 8]
   39 55 fc ?? cmp dword ss:[ebp + 0xfc<252,-4>], edx
   72 da ?? jb basic block L17
  
  L22: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   3b 45 08 ?? cmp eax, dword ss:[ebp + 8]
   72 04 ?? jb basic block L24
  
  L23: 88 1e ?? mov byte ds:[esi], bl
   eb 9f ?? jmp basic block L11
  
  L24: 88 19 ?? mov byte ds:[ecx], bl
   49 ?? dec ecx
  
  L25: 8a 17 ?? mov dl, byte ds:[edi]
   8a 01 ?? mov al, byte ds:[ecx]
   88 11 ?? mov byte ds:[ecx], dl
   49 ?? dec ecx
   88 07 ?? mov byte ds:[edi], al
   47 ?? inc edi
   3b f9 ?? cmp edi, ecx
  
  L26: 72 f2 ?? jb basic block L25
  
  L27: 33 c0 ?? xor eax, eax
  
  L28: 5f ?? pop edi
  
  L29: 5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c2 0c 00 ?? ret 12
  
  