Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   8b 4d 10 ?? mov ecx, dword ss:[ebp + 0x10<16>]
   53 ?? push ebx
   33 c0 ?? xor eax, eax
   56 ?? push esi
   89 07 ?? mov dword ds:[edi], eax
   8b f2 ?? mov esi, edx
   8b 55 0c ?? mov edx, dword ss:[ebp + 12]
   c7 01 01 00 00 00 ?? mov dword ds:[ecx], 1
   39 45 08 ?? cmp dword ss:[ebp + 8], eax
   74 09 ?? je basic block L3
  
  L2: 8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
   83 45 08 04 ?? add dword ss:[ebp + 8], 4
   89 13 ?? mov dword ds:[ebx], edx
  
  L3: 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
  
  L4: 80 3e 22 ?? cmp byte ds:[esi], 0x22<34>
   75 10 ?? jne basic block L6
  
  L5: 33 c0 ?? xor eax, eax
   39 45 fc ?? cmp dword ss:[ebp + 0xfc<252,-4>], eax
   b3 22 ?? mov bl, 0x22<34>
   0f 94 c0 ?? sete al
   46 ?? inc esi
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   eb 3c ?? jmp basic block L14
  
  L6: ff 07 ?? inc dword ds:[edi]
   85 d2 ?? test edx, edx
   74 08 ?? je basic block L8
  
  L7: 8a 06 ?? mov al, byte ds:[esi]
   88 02 ?? mov byte ds:[edx], al
   42 ?? inc edx
   89 55 0c ?? mov dword ss:[ebp + 12], edx
  
  L8: 8a 1e ?? mov bl, byte ds:[esi]
   0f b6 c3 ?? movzx eax, bl
   50 ?? push eax
   46 ?? inc esi
   e8 ab 53 00 00 ?? call function 0x0040acbd
  
  L9: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 13 ?? je basic block L13
  
  L10: ff 07 ?? inc dword ds:[edi]
   83 7d 0c 00 ?? cmp dword ss:[ebp + 12], 0
   74 0a ?? je basic block L12
  
  L11: 8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
   8a 06 ?? mov al, byte ds:[esi]
   ff 45 0c ?? inc dword ss:[ebp + 12]
   88 01 ?? mov byte ds:[ecx], al
  
  L12: 46 ?? inc esi
  
  L13: 8b 55 0c ?? mov edx, dword ss:[ebp + 12]
   8b 4d 10 ?? mov ecx, dword ss:[ebp + 0x10<16>]
   84 db ?? test bl, bl
   74 32 ?? je basic block L24
  
  L14: 83 7d fc 00 ?? cmp dword ss:[ebp + 0xfc<252,-4>], 0
   75 a9 ?? jne basic block L4
  
  L15: 80 fb 20 ?? cmp bl, 0x20<32>
   74 05 ?? je basic block L17
  
  L16: 80 fb 09 ?? cmp bl, 9
   75 9f ?? jne basic block L4
  
  L17: 85 d2 ?? test edx, edx
   74 04 ?? je basic block L19
  
  L18: c6 42 ff 00 ?? mov byte ds:[edx + 0xff<255,-1>], 0
  
  L19: 83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
  
  L20: 80 3e 00 ?? cmp byte ds:[esi], 0
   0f 84 e9 00 00 00 ?? je basic block L62
  
  L21: 8a 06 ?? mov al, byte ds:[esi]
   3c 20 ?? cmp al, 0x20<32>
   74 04 ?? je basic block L23
  
  L22: 3c 09 ?? cmp al, 9
   75 06 ?? jne basic block L25
  
  L23: 46 ?? inc esi
   eb f3 ?? jmp basic block L21
  
  L24: 4e ?? dec esi
   eb e3 ?? jmp basic block L19
  
  L25: 80 3e 00 ?? cmp byte ds:[esi], 0
   0f 84 d0 00 00 00 ?? je basic block L62
  
  L26: 83 7d 08 00 ?? cmp dword ss:[ebp + 8], 0
   74 09 ?? je basic block L28
  
  L27: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   83 45 08 04 ?? add dword ss:[ebp + 8], 4
   89 10 ?? mov dword ds:[eax], edx
  
  L28: ff 01 ?? inc dword ds:[ecx]
  
  L29: 33 db ?? xor ebx, ebx
   43 ?? inc ebx
   33 c9 ?? xor ecx, ecx
   eb 02 ?? jmp basic block L31
  
  L30: 46 ?? inc esi
   41 ?? inc ecx
  
  L31: 80 3e 5c ?? cmp byte ds:[esi], 0x5c<92>
   74 f9 ?? je basic block L30
  
  L32: 80 3e 22 ?? cmp byte ds:[esi], 0x22<34>
   75 26 ?? jne basic block L39
  
  L33: f6 c1 01 ?? test cl, 1
   75 1f ?? jne basic block L38
  
  L34: 83 7d fc 00 ?? cmp dword ss:[ebp + 0xfc<252,-4>], 0
   74 0c ?? je basic block L37
  
  L35: 8d 46 01 ?? lea eax, ds:[esi + 1]
   80 38 22 ?? cmp byte ds:[eax], 0x22<34>
   75 04 ?? jne basic block L37
  
  L36: 8b f0 ?? mov esi, eax
   eb 0d ?? jmp basic block L38
  
  L37: 33 c0 ?? xor eax, eax
   33 db ?? xor ebx, ebx
   39 45 fc ?? cmp dword ss:[ebp + 0xfc<252,-4>], eax
   0f 94 c0 ?? sete al
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
  
  L38: d1 e9 ?? shr ecx, 1
  
  L39: 85 c9 ?? test ecx, ecx
   74 12 ?? je basic block L44
  
  L40: 49 ?? dec ecx
   85 d2 ?? test edx, edx
   74 04 ?? je basic block L42
  
  L41: c6 02 5c ?? mov byte ds:[edx], 0x5c<92>
   42 ?? inc edx
  
  L42: ff 07 ?? inc dword ds:[edi]
   85 c9 ?? test ecx, ecx
   75 f1 ?? jne basic block L40
  
  L43: 89 55 0c ?? mov dword ss:[ebp + 12], edx
  
  L44: 8a 06 ?? mov al, byte ds:[esi]
   84 c0 ?? test al, al
   74 55 ?? je basic block L59
  
  L45: 83 7d fc 00 ?? cmp dword ss:[ebp + 0xfc<252,-4>], 0
   75 08 ?? jne basic block L48
  
  L46: 3c 20 ?? cmp al, 0x20<32>
   74 4b ?? je basic block L59
  
  L47: 3c 09 ?? cmp al, 9
   74 47 ?? je basic block L59
  
  L48: 85 db ?? test ebx, ebx
   74 3d ?? je basic block L58
  
  L49: 0f be c0 ?? movsx eax, al
   50 ?? push eax
   85 d2 ?? test edx, edx
   74 23 ?? je basic block L54
  
  L50: e8 c6 52 00 00 ?? call function 0x0040acbd
  
  L51: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 0d ?? je basic block L53
  
  L52: 8a 06 ?? mov al, byte ds:[esi]
   8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
   ff 45 0c ?? inc dword ss:[ebp + 12]
   88 01 ?? mov byte ds:[ecx], al
   46 ?? inc esi
   ff 07 ?? inc dword ds:[edi]
  
  L53: 8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
   8a 06 ?? mov al, byte ds:[esi]
   ff 45 0c ?? inc dword ss:[ebp + 12]
   88 01 ?? mov byte ds:[ecx], al
   eb 0d ?? jmp basic block L57
  
  L54: e8 a3 52 00 00 ?? call function 0x0040acbd
  
  L55: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 03 ?? je basic block L57
  
  L56: 46 ?? inc esi
   ff 07 ?? inc dword ds:[edi]
  
  L57: ff 07 ?? inc dword ds:[edi]
   8b 55 0c ?? mov edx, dword ss:[ebp + 12]
  
  L58: 46 ?? inc esi
   e9 56 ff ff ff ?? jmp basic block L29
  
  L59: 85 d2 ?? test edx, edx
   74 07 ?? je basic block L61
  
  L60: c6 02 00 ?? mov byte ds:[edx], 0
   42 ?? inc edx
   89 55 0c ?? mov dword ss:[ebp + 12], edx
  
  L61: ff 07 ?? inc dword ds:[edi]
   8b 4d 10 ?? mov ecx, dword ss:[ebp + 0x10<16>]
   e9 0e ff ff ff ?? jmp basic block L20
  
  L62: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   5e ?? pop esi
   5b ?? pop ebx
   85 c0 ?? test eax, eax
   74 03 ?? je basic block L64
  
  L63: 83 20 00 ?? and dword ds:[eax], 0
  
  L64: ff 01 ?? inc dword ds:[ecx]
   c9 ?? leave
   c3 ?? ret
  
  