Function at 0x431bf0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x388
mov eax, dword [0x4747c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
xor esi, esi
nop
mov al, byte [ebx + esi]
test al, al
je 0x431c3c
push eax
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
test eax, eax
jne 0x431da7
movsx ax, byte [ebx + esi]
mov word [ebp + esi*2 - 0x384], ax
inc esi
cmp esi, 0x1bf
jb 0x431c10
add esi, esi
cmp esi, 0x380
jae 0x431e83
xor eax, eax
mov word [ebp + esi - 0x384], ax
call fcn.00432270
test al, al
je 0x431e6e
mov ax, word [ebp - 0x384]
lea ecx, [ebp - 0x384]
test ax, ax
je 0x431c8e
movzx edx, ax
cmp dx, 0x7e
ja 0x431e6e
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x431c76
xor edx, edx
lea esi, [ebp - 0x384]
lea ebx, [edx + 0x25]
nop dword [eax]
movzx eax, word [esi]
test ax, ax
je 0x431d00
test edx, edx
jne 0x431cb1
cmp eax, 0x20
je 0x431cc0
cmp eax, 0x20
jb 0x431cc0
cmp eax, 0x3d
je 0x431cc0
cmp eax, 0x25
jne 0x431cec
mov ecx, eax
mov word [edx*2 + 0x478928], bx
shr eax, 4
and eax, 0xf
movsx eax, byte [eax + str.0123456789ABCDEF]
mov word [edx*2 + 0x47892a], ax
add edx, 2
and ecx, 0xf
movsx eax, byte [ecx + str.0123456789ABCDEF]
mov word [edx*2 + 0x478928], ax
add esi, 2
inc edx
cmp edx, 0x1bb
jb 0x431ca0
test edx, edx
jle 0x431d2a
cmp word [edx*2 + 0x478926], 0x20
jne 0x431d2a
mov dword [edx*2 + 0x478926], 0x320025
mov eax, 0x30
mov word [edx*2 + 0x47892a], ax
add edx, 2
add edx, edx
cmp edx, 0x380
jae 0x431e83
push dword [0x474078]
mov esi, dword [ebp + 0x10]
xor eax, eax
push esi
push edi
push 0x46629c
push 0x478928
push 0x478840
mov word [edx + 0x478928], ax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [esi - 1]
cmp eax, ecx
je 0x431e2a
cmp word [edi], 0xa
je 0x431e2a
movzx eax, word [edi]
xor ebx, ebx
mov word [edi], ax
mov esi, edi
test ax, ax
je 0x431e70
nop dword [eax]
cmp word [edi], 0x25
jne 0x431e00
movzx ecx, word [edi + 2]
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x431dba
add ecx, 0xffffffd0
jmp 0x431dc5
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00437271
mov esp, ebp
pop ebp
ret
lea eax, [ecx - 0x41]
cmp eax, 5
ja 0x431e00
add ecx, 0xffffffc9
test ecx, ecx
js 0x431e00
movzx edx, word [edi + 4]
lea eax, [edi + 4]
mov dword [ebp - 0x388], eax
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x431de3
add edx, 0xffffffd0
jmp 0x431dee
lea eax, [edx - 0x41]
cmp eax, 5
ja 0x431e00
add edx, 0xffffffc9
test edx, edx
js 0x431e00
mov edi, dword [ebp - 0x388]
shl ecx, 4
add ecx, edx
mov word [esi], cx
movzx eax, word [edi + 2]
add edi, 2
add esi, 2
inc ebx
mov word [esi], ax
test ax, ax
jne 0x431d90
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00437271
mov esp, ebp
pop ebp
ret
mov edx, dword [0x47891c]
test edx, edx
jle 0x431e6e
mov ecx, 0x478928
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x431e40
sub ecx, esi
sar ecx, 1
cmp ecx, edx
jle 0x431e6e
push dword [0x474078]
push 0x478928
push 0x478928
push 0x478840
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
xor ebx, ebx
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00437271
mov esp, ebp
pop ebp
ret
call fcn.00437b4a
int3