Function at 0x489e60
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
mov eax, dword [0x5bd344]
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 0x5e8d50
shr eax, 1
push eax
push ebx
push 0x448904
mov dword [ebp - 0x8c], eax
mov dword [0x5ec9e0], 0
mov dword [0x5ec9e4], 0x6a240a
mov dword [0x5ec9e8], 0xa56e3a
mov dword [0x5ec9ec], 0xe63c00
mov dword [0x5ec9f0], 0x336600
mov dword [0x5ec9f4], 0x208060
mov dword [0x5ec9f8], 0x8064
mov dword [0x5ec9fc], 0x60a4
mov dword [0x5eca00], 0xffffff
mov dword [0x5eca04], 0xe2ffff
mov dword [0x5eca08], 0xa8f1ff
mov dword [0x5eca0c], 0xc0ff
mov dword [0x5eca10], 0x40ff
mov dword [0x5eca14], 0xc8
mov dword [0x5eca18], 0xb000b0
mov dword [0x5eca1c], 0x408bb2
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
xor esi, esi
nop dword [eax + eax]
lea edi, [esi + 1]
push edi
lea eax, [ebp - 0x88]
push 0x41f814
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x48]
lea edx, [ebp - 0x88]
mov ecx, ebx
push 0x20
push eax
push 0x41bcc8
call fcn.00472e40
add esp, 0xc
test eax, eax
je 0x489fdb
cmp word [ebp - 0x48], 0x23
jne 0x489fdb
lea eax, [ebp - 0x90]
push eax
push 0x448920
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_CharNextW]
push eax
call fcn.00472e20
add esp, 0xc
cmp eax, 1
jne 0x489fdb
mov edx, dword [ebp - 0x90]
mov eax, edx
sar eax, 8
movzx ecx, al
movzx eax, dl
shl eax, 8
or ecx, eax
sar edx, 0x10
shl ecx, 8
movzx eax, dl
or ecx, eax
mov dword [esi*4 + 0x5ec9e0], ecx
mov esi, edi
cmp esi, 0x10
jl 0x489f50
mov edi, dword [ebp - 0x8c]
push 0x5e8d50
push edi
push ebx
push 0x448928
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
push 0
mov edx, 0x448938
mov ecx, ebx
call fcn.00472f00
add esp, 4
mov edx, 0x448960
neg eax
mov ecx, ebx
sbb eax, eax
neg eax
push 0
mov dword [0x5eca24], eax
call fcn.00472f00
xor ecx, ecx
add esp, 4
test eax, eax
mov edx, 0x44897c
cmovg ecx, eax
mov eax, 0x25
cmp ecx, eax
push 1
cmovl eax, ecx
mov ecx, ebx
mov dword [0x5eca2c], eax
call fcn.00472f00
add esp, 4
mov edx, 0x448994
neg eax
mov ecx, ebx
sbb eax, eax
neg eax
push pe_nt_image_headers32
mov dword [0x5ec9c4], eax
call fcn.00472f00
xor ecx, ecx
add esp, 4
test eax, eax
mov edx, 0x4489b4
cmovg ecx, eax
mov dword [0x5eca20], ecx
mov ecx, ebx
push 0
call fcn.00472f00
mov ecx, 0x144
add esp, 4
cmp eax, ecx
mov esi, 0x417538
cmovg ecx, eax
mov dword [0x5eca28], ecx
mov eax, dword [esi]
push 0x5e8d50
push edi
push ebx
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov ecx, dword [esi]
mov edx, 0x4489d4
push 0x80
lea eax, [ecx + 0x10]
push eax
push dword [ecx + 0xc]
mov ecx, ebx
call fcn.00472e40
add esp, 0xc
test eax, eax
jne 0x48a0eb
mov eax, dword [esi]
push 0x80
push dword [eax + 0xc]
add eax, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov eax, dword [esi]
xor edi, edi
cmp dword [eax + 0x114], 0xffffffff
je 0x48a138
xor ecx, ecx
nop word [eax + eax]
lea edx, [ecx + eax]
mov ecx, ebx
lea eax, [edx + 0x124]
push 0x80
push eax
push dword [edx + 0x120]
mov edx, dword [edx + 0x11c]
call fcn.00472e40
mov eax, dword [esi]
inc edi
imul ecx, edi, 0x110
add esp, 0xc
cmp dword [eax + ecx + 0x114], 0xffffffff
jne 0x48a100
mov edi, dword [ebp - 0x8c]
add esi, 4
cmp esi, 0x4175d0
jl 0x48a0a4
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.0057e93d
mov esp, ebp
pop ebp
ret