Function at 0x418f6e
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov eax, dword [0x5a0b04]
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 [0x5a99e0], 0
mov ebx, eax
push 0x5a4e98
shr ebx, 1
push ebx
push esi
push str.Custom_Colors
mov dword [ebp - 0x90], ebx
mov dword [0x5a99e4], 0x6a240a
mov dword [0x5a99e8], 0xa56e3a
mov dword [0x5a99ec], 0xe63c00
mov dword [0x5a99f0], 0x336600
mov dword [0x5a99f4], 0x208060
mov dword [0x5a99f8], 0x8064
mov dword [0x5a99fc], 0x60a4
mov dword [0x5a9a00], 0xffffff
mov dword [0x5a9a04], 0xe2ffff
mov dword [0x5a9a08], 0xa8f1ff
mov dword [0x5a9a0c], 0xc0ff
mov dword [0x5a9a10], 0x40ff
mov dword [0x5a9a14], 0xc8
mov dword [0x5a9a18], 0xb000b0
mov dword [0x5a9a1c], 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]
push eax
push 0x5209bc
lea eax, [ebp - 0x84]
push eax
push esi
call fcn.00411ea9
add esp, 0x20
test eax, eax
je 0x4190e3
cmp word [ebp - 0x44], 0x23
jne 0x4190e3
lea eax, [ebp - 0x8c]
push eax
push 0x54a0dc
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_CharNextW]
push eax
call fcn.0041314d
add esp, 0xc
cmp eax, 1
jne 0x4190e3
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 + 0x5a99e0], ecx
mov edi, dword [ebp - 0x88]
cmp edi, 0x10
jl 0x419055
push 0x5a4e98
push ebx
push esi
push str.Styles
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
xor edi, edi
push edi
push str.Use2ndDefaultStyle
push esi
call fcn.00411dfc
neg eax
push edi
sbb eax, eax
neg eax
push str.DefaultScheme
push esi
mov dword [0x5a99c4], eax
call fcn.00411dfc
xor ecx, ecx
test eax, eax
push 0x25
cmovg ecx, eax
pop eax
cmp ecx, eax
push 1
cmovl eax, ecx
push str.AutoSelect
push esi
mov dword [0x5a99c0], eax
call fcn.00411dfc
neg eax
push 0x130
sbb eax, eax
neg eax
push str.SelectDlgSizeX
push esi
mov dword [0x5a99bc], eax
call fcn.00411dfc
xor ecx, ecx
test eax, eax
push edi
cmovg ecx, eax
push str.SelectDlgSizeY
push esi
mov dword [0x5a99b8], ecx
call fcn.00411dfc
mov ecx, 0x144
add esp, 0x3c
cmp eax, ecx
mov edi, 0x59fb40
cmovg ecx, eax
mov dword [0x5a99b4], ecx
mov eax, dword [edi]
push 0x5a4e98
push ebx
push esi
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov ecx, dword [edi]
push 0x80
lea eax, [ecx + 0x10]
push eax
push dword [ecx + 0xc]
push str.FileNameExtensions
push esi
call fcn.00411ea9
add esp, 0x14
test eax, eax
jne 0x4191dc
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 0x419234
mov ebx, dword [ebp - 0x88]
xor edx, edx
push 0x80
lea eax, [ecx + 0x124]
add eax, edx
push eax
push dword [edx + ecx + 0x120]
push dword [edx + ecx + 0x11c]
push esi
call fcn.00411ea9
mov ecx, dword [edi]
add esp, 0x14
inc ebx
imul edx, ebx, 0x110
cmp dword [ecx + edx + 0x114], 0xffffffff
jne 0x4191f6
mov ebx, dword [ebp - 0x90]
add edi, 4
cmp edi, 0x59fbd8
jl 0x419196
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.0049badb
leave
ret