Function at 0x469a30
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, dword [0x53a090]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x10000
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
push ebx
call dword [sym.imp.KERNEL32.dll_LocalSize]
push 0x565908
shr eax, 1
push eax
push ebx
push 0x431fbc
mov dword [ebp - 0x88], eax
mov dword [0x56a7e0], 0
mov dword [0x56a7e4], 0x6a240a
mov dword [0x56a7e8], 0xa56e3a
mov dword [0x56a7ec], 0xe63c00
mov dword [0x56a7f0], 0x336600
mov dword [0x56a7f4], 0x208060
mov dword [0x56a7f8], 0x8064
mov dword [0x56a7fc], 0x60a4
mov dword [0x56a800], 0xffffff
mov dword [0x56a804], 0xe2ffff
mov dword [0x56a808], 0xa8f1ff
mov dword [0x56a80c], 0xc0ff
mov dword [0x56a810], 0x40ff
mov dword [0x56a814], 0xc8
mov dword [0x56a818], 0xb000b0
mov dword [0x56a81c], 0x408bb2
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
xor esi, esi
jmp 0x469b20
lea edi, [esi + 1]
push edi
lea eax, [ebp - 0x84]
push 0x40a134
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push 0x20
lea eax, [ebp - 0x44]
push eax
push 0x407d38
lea edx, [ebp - 0x84]
mov ecx, ebx
call fcn.004546a0
add esp, 0x18
test eax, eax
je 0x469ba8
cmp word [ebp - 0x44], 0x23
jne 0x469ba8
lea eax, [ebp - 0x8c]
push eax
push 0x431fd8
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_CharNextW]
push eax
call fcn.0050f378
add esp, 0xc
cmp eax, 1
jne 0x469ba8
mov edx, dword [ebp - 0x8c]
mov eax, edx
sar eax, 8
movzx ecx, al
movzx eax, dl
shl eax, 8
or ecx, eax
sar edx, 0x10
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [esi*4 + 0x56a7e0], ecx
mov esi, edi
cmp esi, 0x10
jl 0x469b20
mov edi, dword [ebp - 0x88]
push 0x565908
push edi
push ebx
push 0x431fe0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
push 0
mov edx, 0x431ff0
mov ecx, ebx
call fcn.00454760
neg eax
sbb eax, eax
neg eax
push 0
mov edx, 0x432018
mov ecx, ebx
mov dword [0x56a824], eax
call fcn.00454760
xor ecx, ecx
add esp, 8
test eax, eax
setle cl
dec ecx
and ecx, eax
mov dword [0x56a828], ecx
cmp ecx, 0x26
jl 0x469c14
mov dword [0x56a828], 0x26
push 1
mov edx, 0x432034
mov ecx, ebx
call fcn.00454760
neg eax
sbb eax, eax
neg eax
push 0x130
mov edx, 0x43204c
mov ecx, ebx
mov dword [0x56a820], eax
call fcn.00454760
xor ecx, ecx
test eax, eax
setle cl
push 0
mov edx, 0x43206c
dec ecx
and ecx, eax
mov dword [0x56a830], ecx
mov ecx, ebx
call fcn.00454760
add esp, 0xc
mov dword [0x56a82c], eax
cmp eax, 0x144
jg 0x469c75
mov dword [0x56a82c], 0x144
mov esi, 0x5581d0
lea ebx, [ebx]
mov eax, dword [esi]
push 0x565908
push edi
push ebx
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov ecx, dword [esi]
push 0x80
lea eax, [ecx + 0x10]
push eax
push dword [ecx + 0xc]
mov edx, 0x43208c
mov ecx, ebx
call fcn.004546a0
add esp, 0xc
test eax, eax
jne 0x469cc7
mov eax, dword [esi]
push 0x80
push dword [eax + 0xc]
add eax, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov ecx, dword [esi]
xor edi, edi
cmp dword [ecx + 0x114], 0xffffffff
je 0x469d0a
mov edx, dword [ecx + 0x11c]
lea eax, [ecx + 0x124]
push 0x80
push eax
push dword [ecx + 0x120]
mov ecx, ebx
call fcn.004546a0
inc edi
mov ecx, edi
imul ecx, ecx, 0x110
add ecx, dword [esi]
add esp, 0xc
cmp dword [ecx + 0x114], 0xffffffff
jne 0x469cd4
mov edi, dword [ebp - 0x88]
add esi, 4
cmp esi, 0x55826c
jl 0x469c80
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0050ecf7
mov esp, ebp
pop ebp
ret