Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   8b 7d 08 ?? mov edi, dword ss:[ebp + 8]
   68 90 00 00 00 ?? push 0x00000090<144>
   33 db ?? xor ebx, ebx
   53 ?? push ebx
   57 ?? push edi
   e8 aa a7 00 00 ?? call function 0x00411b60
  
  L2: 8b 75 0c ?? mov esi, dword ss:[ebp + 12]
   8a 06 ?? mov al, byte ds:[esi]
   83 c4 0c ?? add esp, 12
   84 c0 ?? test al, al
   75 07 ?? jne basic block L4
  
  L3: 33 c0 ?? xor eax, eax
   e9 f8 00 00 00 ?? jmp basic block L37
  
  L4: 3c 2e ?? cmp al, 0x2e<46>
   75 34 ?? jne basic block L11
  
  L5: 8d 46 01 ?? lea eax, ds:[esi + 1]
   38 18 ?? cmp byte ds:[eax], bl
   74 2d ?? je basic block L11
  
  L6: 6a 0f ?? push 15
   50 ?? push eax
   8d 87 80 00 00 00 ?? lea eax, ds:[edi + 0x00000080<128>]
   6a 10 ?? push 0x10<16>
   50 ?? push eax
   e8 d5 23 00 00 ?? call function 0x004097ba
  
  L7: 83 c4 10 ?? add esp, 0x10<16>
   85 c0 ?? test eax, eax
   74 0d ?? je basic block L10
  
  L8: 53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   e8 b8 16 00 00 ?? call function 0x00408aae
  
  L9: 83 c4 14 ?? add esp, 0x14<20>
  
  L10: 88 9f 8f 00 00 00 ?? mov byte ds:[edi + 0x0000008f<143>], bl
   eb c1 ?? jmp basic block L3
  
  L11: 68 28 43 42 00 ?? push 0x00424328<"_.,">
   56 ?? push esi
   89 5d 0c ?? mov dword ss:[ebp + 12], ebx
   e8 01 a7 00 00 ?? call function 0x00411b10
  
  L12: 3b c3 ?? cmp eax, ebx
   e9 a0 00 00 00 ?? jmp basic block L35
  
  L13: 83 7d 0c 00 ?? cmp dword ss:[ebp + 12], 0
   8d 3c 30 ?? lea edi, ds:[eax + esi]
   8a 1f ?? mov bl, byte ds:[edi]
   75 1b ?? jne basic block L17
  
  L14: 83 f8 40 ?? cmp eax, 0x40<64>
   0f 83 94 00 00 00 ?? jae basic block L36
  
  L15: 80 fb 2e ?? cmp bl, 0x2e<46>
   0f 84 8b 00 00 00 ?? je basic block L36
  
  L16: 50 ?? push eax
   56 ?? push esi
   6a 40 ?? push 0x40<64>
   ff 75 08 ?? push dword ss:[ebp + 8]
   eb 3b ?? jmp basic block L27
  
  L17: 83 7d 0c 01 ?? cmp dword ss:[ebp + 12], 1
   75 16 ?? jne basic block L21
  
  L18: 83 f8 40 ?? cmp eax, 0x40<64>
   73 77 ?? jae basic block L36
  
  L19: 80 fb 5f ?? cmp bl, 0x5f<95>
   74 72 ?? je basic block L36
  
  L20: 50 ?? push eax
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   56 ?? push esi
   6a 40 ?? push 0x40<64>
   83 c0 40 ?? add eax, 0x40<64>
   eb 1e ?? jmp basic block L26
  
  L21: 83 7d 0c 02 ?? cmp dword ss:[ebp + 12], 2
   75 60 ?? jne basic block L36
  
  L22: 83 f8 10 ?? cmp eax, 0x10<16>
   73 5b ?? jae basic block L36
  
  L23: 84 db ?? test bl, bl
   74 05 ?? je basic block L25
  
  L24: 80 fb 2c ?? cmp bl, 0x2c<44>
   75 52 ?? jne basic block L36
  
  L25: 50 ?? push eax
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   56 ?? push esi
   6a 10 ?? push 0x10<16>
   83 e8 80 ?? sub eax, 0x80<128,-128>
  
  L26: 50 ?? push eax
  
  L27: e8 3e 23 00 00 ?? call function 0x004097ba
  
  L28: 83 c4 10 ?? add esp, 0x10<16>
   85 c0 ?? test eax, eax
   74 0f ?? je basic block L31
  
  L29: 33 c0 ?? xor eax, eax
   50 ?? push eax
   50 ?? push eax
   50 ?? push eax
   50 ?? push eax
   50 ?? push eax
   e8 1f 16 00 00 ?? call function 0x00408aae
  
  L30: 83 c4 14 ?? add esp, 0x14<20>
  
  L31: 80 fb 2c ?? cmp bl, 0x2c<44>
   0f 84 27 ff ff ff ?? je basic block L3
  
  L32: 84 db ?? test bl, bl
   0f 84 1f ff ff ff ?? je basic block L3
  
  L33: ff 45 0c ?? inc dword ss:[ebp + 12]
   8d 77 01 ?? lea esi, ds:[edi + 1]
   68 28 43 42 00 ?? push 0x00424328<"_.,">
   56 ?? push esi
   e8 5c a6 00 00 ?? call function 0x00411b10
  
  L34: 85 c0 ?? test eax, eax
  
  L35: 59 ?? pop ecx
   59 ?? pop ecx
   0f 85 58 ff ff ff ?? jne basic block L13
  
  L36: 83 c8 ff ?? or eax, 0xff<255,-1>
  
  L37: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   5d ?? pop ebp
   c3 ?? ret
  
  