Function at 0x527b10
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x1fc]
mov esi, ecx
mov ecx, 0x31
push ebx
mov ebx, eax
xor eax, eax
sub esp, 0x218
mov dword [ebp - 0x200], 0
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x200]
mov dword [esp + 0x10], 0xc8
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.default
call dword [sym.imp.kernel32.dll_GetPrivateProfileStringA]
sub esp, 0x18
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5f3817
mov dword [eax + 4], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strlen]
mov dword [esp + 0xc], esi
cmp eax, esi
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], str.expected_len__Iu__got__lu_n
movzx eax, al
mov dword [esp], eax
call fcn.00527880
call fcn.0057d110
mov dword [eax], 0x5f3817
mov dword [eax + 4], ebx
lea eax, [ebp - 0x200]
shr eax, 0x10
je 0x527f50
lea eax, [ebp - 0x200]
mov dword [esp + 4], 0xffffffff
mov esi, 0x5f3827
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
sub esp, 8
test eax, eax
jne 0x527cc8
cmp byte [ebp - 0x200], 0
je 0x527fe0
lea eax, [ebp - 0x1ff]
lea ebx, [ebp - 0x200]
mov dword [esp], eax
lea edi, [ebp - 0x15]
call sub.msvcrt.dll_strlen
mov byte [ebp - 0x138], 0x22
lea edx, [ebp - 0x137]
mov dword [ebp - 0x204], ebx
mov ecx, eax
jmp 0x527c53
cmp al, 9
je 0x527e38
cmp al, 0xa
jne 0x527e59
movzx eax, word [0x5f4f2e]
add edx, 2
mov word [edx - 2], ax
lea eax, [ecx - 1]
cmp edi, edx
jb 0x527c98
test ecx, ecx
jle 0x527c98
mov ecx, eax
add dword [ebp - 0x204], 1
mov eax, dword [ebp - 0x204]
movzx eax, byte [eax - 1]
cmp al, 0xd
je 0x527e20
jle 0x527c28
cmp al, 0x22
je 0x527ea0
cmp al, 0x5c
jne 0x527e4b
movzx eax, word [0x5f4f36]
add edx, 2
mov word [edx - 2], ax
lea eax, [ecx - 1]
cmp edi, edx
jae 0x527c4d
lea esi, [esi]
nop
mov byte [edx], 0x22
test eax, eax
jle 0x527fc0
movzx eax, word [0x5f4f3a]
mov byte [edx + 3], 0x2e
mov word [edx + 1], ax
lea eax, [edx + 4]
mov byte [eax], 0
lea eax, [ebp - 0x138]
mov dword [esp], eax
call fcn.0057e390
mov esi, eax
mov eax, dword [ebp + 0xc]
shr eax, 0x10
je 0x527f81
mov dword [esp + 4], 0xffffffff
mov eax, dword [ebp + 0xc]
mov ebx, 0x5f3827
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
sub esp, 8
test eax, eax
jne 0x527dde
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x527ff9
add eax, 1
lea edi, [ebp - 0x15]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov ebx, dword [ebp + 0xc]
mov byte [ebp - 0x138], 0x22
lea edx, [ebp - 0x137]
mov dword [ebp - 0x208], esi
mov ecx, eax
mov dword [ebp - 0x204], ebx
jmp 0x527d63
cmp al, 9
je 0x527f38
cmp al, 0xa
jne 0x527ec1
movzx eax, word [0x5f4f2e]
add edx, 2
mov word [edx - 2], ax
lea eax, [ecx - 1]
cmp edi, edx
jb 0x527da8
test ecx, ecx
jle 0x527da8
mov ecx, eax
add dword [ebp - 0x204], 1
mov eax, dword [ebp - 0x204]
movzx eax, byte [eax - 1]
cmp al, 0xd
je 0x527f20
jle 0x527d38
cmp al, 0x22
je 0x527f08
cmp al, 0x5c
jne 0x527eb3
movzx eax, word [0x5f4f36]
add edx, 2
mov word [edx - 2], ax
lea eax, [ecx - 1]
cmp edi, edx
jae 0x527d5d
lea esi, [esi]
nop
mov byte [edx], 0x22
mov esi, dword [ebp - 0x208]
test eax, eax
jle 0x527fd0
movzx eax, word [0x5f4f3a]
mov byte [edx + 3], 0x2e
mov word [edx + 1], ax
lea eax, [edx + 4]
mov byte [eax], 0
lea eax, [ebp - 0x138]
mov dword [esp], eax
call fcn.0057e390
mov ebx, eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
lea eax, [ebp - 0x200]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strcmp]
mov dword [esp + 0xc], esi
test eax, eax
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5f39e6
movzx eax, al
mov dword [esp], eax
call fcn.00527880
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, word [0x5f4f30]
add edx, 2
mov word [edx - 2], ax
jmp 0x527c46
movzx eax, word [0x5f4f32]
add edx, 2
mov word [edx - 2], ax
jmp 0x527c46
lea esi, [eax - 0x20]
mov ebx, esi
cmp bl, 0x5e
jbe 0x527fa0
movzx esi, word [0x5f4f38]
mov ebx, eax
and eax, 0xf
add edx, 4
shr bl, 4
mov word [edx - 4], si
movzx esi, word [0x5f4f28]
mov word [ebp - 0x208], si
movzx esi, bl
movzx ebx, word [ebp - 0x208]
mov bl, byte [esi + str.0123456789abcdef.]
mov bh, byte [eax + str.0123456789abcdef.]
mov word [edx - 2], bx
jmp 0x527c46
movzx eax, word [0x5f4f34]
add edx, 2
mov word [edx - 2], ax
jmp 0x527c46
lea esi, [eax - 0x20]
mov ebx, esi
cmp bl, 0x5e
jbe 0x527fb0
movzx esi, word [0x5f4f38]
mov ebx, eax
and eax, 0xf
add edx, 4
shr bl, 4
mov word [edx - 4], si
movzx esi, word [0x5f4f28]
mov word [ebp - 0x20a], si
movzx esi, bl
movzx ebx, word [ebp - 0x20a]
mov bl, byte [esi + str.0123456789abcdef.]
mov bh, byte [eax + str.0123456789abcdef.]
mov word [edx - 2], bx
jmp 0x527d56
movzx eax, word [0x5f4f34]
add edx, 2
mov word [edx - 2], ax
jmp 0x527d56
movzx eax, word [0x5f4f30]
add edx, 2
mov word [edx - 2], ax
jmp 0x527d56
movzx eax, word [0x5f4f32]
add edx, 2
mov word [edx - 2], ax
jmp 0x527d56
lea eax, [ebp - 0x200]
mov dword [ebp - 0x204], eax
movzx eax, word [ebp - 0x204]
mov dword [esp], 0x5f3821
mov dword [esp + 4], eax
call fcn.00526f10
mov esi, eax
mov eax, dword [ebp + 0xc]
shr eax, 0x10
jne 0x527cd4
movzx eax, word [ebp + 0xc]
mov dword [esp], 0x5f3821
mov dword [esp + 4], eax
call fcn.00526f10
mov ebx, eax
jmp 0x527dde
mov byte [edx], al
add edx, 1
jmp 0x527c46
mov byte [edx], al
add edx, 1
jmp 0x527d56
lea eax, [edx + 1]
jmp 0x527cb5
lea eax, [edx + 1]
jmp 0x527dcb
movzx eax, word [0x5f4f2c]
mov word [ebp - 0x138], ax
lea eax, [ebp - 0x136]
jmp 0x527cb5
movzx eax, word [0x5f4f2c]
mov word [ebp - 0x138], ax
lea eax, [ebp - 0x136]
jmp 0x527dcb