Function at 0x41fe6a
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov eax, dword [0x4f8004]
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 esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_LocalSize]
and dword [0x526c80], 0
mov ebx, eax
push 0x522d98
shr ebx, 1
push ebx
push esi
push str.Custom_Colors
mov dword [ebp - 0x90], ebx
mov dword [0x526c84], 0x6a240a
mov dword [0x526c88], 0xa56e3a
mov dword [0x526c8c], 0xe63c00
mov dword [0x526c90], 0x336600
mov dword [0x526c94], 0x208060
mov dword [0x526c98], 0x8064
mov dword [0x526c9c], 0x60a4
mov dword [0x526ca0], 0xffffff
mov dword [0x526ca4], 0xe2ffff
mov dword [0x526ca8], 0xa8f1ff
mov dword [0x526cac], 0xc0ff
mov dword [0x526cb0], 0x40ff
mov dword [0x526cb4], 0xc8
mov dword [0x526cb8], 0xb000b0
mov dword [0x526cbc], 0x408bb2
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
xor edi, edi
lea eax, [edi + 1]
push eax
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x84]
push str._02i
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push 0x20
lea eax, [ebp - 0x44]
mov ecx, esi
push eax
push 0x4bc498
lea edx, [ebp - 0x84]
call fcn.0040f575
add esp, 0x18
test eax, eax
je 0x41ffdf
cmp word [ebp - 0x44], 0x23
jne 0x41ffdf
lea eax, [ebp - 0x8c]
push eax
push 0x4ebc00
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_CharNextW]
push eax
call fcn.0040f550
add esp, 0xc
cmp eax, 1
jne 0x41ffdf
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
shl ecx, 8
movzx eax, dl
or ecx, eax
mov dword [edi*4 + 0x526c80], ecx
mov edi, dword [ebp - 0x88]
cmp edi, 0x10
jl 0x41ff51
push 0x522d98
push ebx
push esi
push str.Styles
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
xor edi, edi
mov edx, str.Use2ndDefaultStyle
push edi
mov ecx, esi
call fcn.0040f633
neg eax
mov edx, str.DefaultScheme
push edi
sbb eax, eax
mov ecx, esi
neg eax
mov dword [0x526cc4], eax
call fcn.0040f633
xor ecx, ecx
mov edx, str.AutoSelect
test eax, eax
push 0x25
cmovg ecx, eax
pop eax
cmp ecx, eax
push 1
cmovl eax, ecx
mov ecx, esi
mov dword [0x526ccc], eax
call fcn.0040f633
neg eax
mov edx, str.SelectDlgSizeX
push 0x130
sbb eax, eax
mov ecx, esi
neg eax
mov dword [0x526c7c], eax
call fcn.0040f633
xor ecx, ecx
mov edx, str.SelectDlgSizeY
test eax, eax
push edi
cmovg ecx, eax
mov dword [0x526cc0], ecx
mov ecx, esi
call fcn.0040f633
mov ecx, 0x144
add esp, 0x14
cmp eax, ecx
mov edi, 0x4bcda0
cmovg ecx, eax
mov dword [0x526cc8], ecx
mov eax, dword [edi]
push 0x522d98
push ebx
push esi
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov ecx, dword [edi]
mov edx, str.FileNameExtensions
push 0x80
lea eax, [ecx + 0x10]
push eax
push dword [ecx + 0xc]
mov ecx, esi
call fcn.0040f575
add esp, 0xc
test eax, eax
jne 0x4200de
mov eax, dword [edi]
push 0x80
push dword [eax + 0xc]
add eax, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov ecx, dword [edi]
and dword [ebp - 0x88], 0
cmp dword [ecx + 0x114], 0xffffffff
je 0x420137
mov ebx, dword [ebp - 0x88]
xor edx, edx
lea eax, [ecx + 0x124]
add eax, edx
push 0x80
push eax
push dword [edx + ecx + 0x120]
mov edx, dword [edx + ecx + 0x11c]
mov ecx, esi
call fcn.0040f575
mov ecx, dword [edi]
add esp, 0xc
inc ebx
imul edx, ebx, 0x110
cmp dword [edx + ecx + 0x114], 0xffffffff
jne 0x4200f8
mov ebx, dword [ebp - 0x90]
add edi, 4
cmp edi, 0x4bce38
jl 0x420097
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00486c63
leave
ret