Function at 0x4053b0
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x42f4d3
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x43e0a0]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x43e0a0]
xor eax, esp
push eax
lea eax, [esp + 0x94]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xa4]
xor ebx, ebx
mov dword [esp + 0x48], 7
mov dword [esp + 0x44], ebx
mov word [esp + 0x34], bx
lea eax, [ebp + 0x29c]
push eax
lea esi, [esp + 0x18]
mov dword [esp + 0xa0], ebx
lea edi, [ebx + 1]
call fcn.00406470
add esp, 4
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x38]
mov byte [esp + 0xa4], 1
call fcn.00406050
mov byte [esp + 0x9c], bl
cmp dword [esp + 0x2c], 8
jb 0x40544e
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004086fd
add esp, 4
cmp dword [esp + 0x48], 8
mov eax, dword [esp + 0x34]
jae 0x40545d
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40559c
cmp dword [esp + 0x48], 8
mov eax, dword [esp + 0x34]
jae 0x40547b
lea eax, [esp + 0x34]
push eax
push 0x20
lea edx, [esp + 0x54]
push edx
push 0x437004
push 0x437008
push str.Result
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp eax, ebx
jle 0x4055b9
cmp eax, 0x20
jae 0x4055b9
lea eax, [esp + 0x4c]
push eax
call fcn.0041765f
fld st(0)
fabs
add esp, 4
fcomp qword [0x437cb8]
fnstsw ax
test ah, 0x41
je 0x4054ec
push str.KClientSetting::AutoChooseDisplayOption
fstp st(0)
push 0xc9
push str.nRetCode
push str.KGLOG_PROCESS_ERROR__s__at_line__d_in__s_n
push 7
call fcn.004077c0
add esp, 0x14
jmp 0x4055b9
fld1
fdivrp st(1)
call fcn.0041b600
xor edi, edi
xor ecx, ecx
lea esp, [esp]
cmp eax, dword [ecx*4 + 0x43481c]
jl 0x405513
add ecx, 1
cmp ecx, 4
jl 0x405500
jmp 0x405515
mov edi, ecx
push edi
push 0x437430
lea ecx, [esp + 0x54]
push 0x20
push ecx
call fcn.00416bb5
add esp, 0x10
cmp eax, ebx
jg 0x40554e
push str.KClientSetting::AutoChooseDisplayOption
push 0xd7
push str.nRetCode___0
push str.KGLOG_PROCESS_ERROR__s__at_line__d_in__s_n
push 7
call fcn.004077c0
add esp, 0x14
jmp 0x4055b9
cmp eax, 0x20
jb 0x405573
push str.KClientSetting::AutoChooseDisplayOption
push 0xd8
push str.nRetCode____countof_szBuffer_
push str.KGLOG_PROCESS_ERROR__s__at_line__d_in__s_n
push 7
call fcn.004077c0
add esp, 0x14
jmp 0x4055b9
cmp dword [esp + 0x48], 8
mov eax, dword [esp + 0x34]
jae 0x405582
lea eax, [esp + 0x34]
push eax
lea edx, [esp + 0x50]
push edx
push str.DisplayLevel
push str.Result
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
test eax, eax
jle 0x4055b9
cmp edi, 4
ja 0x4055f6
mov eax, edi
imul eax, eax, 0x6c
add eax, 0x434600
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x298], edi
mov ebx, 1
cmp dword [esp + 0x48], 8
jb 0x4055cd
mov ecx, dword [esp + 0x34]
push ecx
call fcn.004086fd
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x94]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.00416863
add esp, 0x8c
ret 4
push str.KClientSetting::SetDisplayOption
push 0xa5
push str.eOption___dcoBad__eOption___dcoPrefect
push str.KGLOG_PROCESS_ERROR__s__at_line__d_in__s_n
push 7
call fcn.004077c0
add esp, 0x14
push str.KClientSetting::AutoChooseDisplayOption
push 0xe0
push str.nRetCode
push str.KGLOG_PROCESS_ERROR__s__at_line__d_in__s_n
push 7
call fcn.004077c0
add esp, 0x14
jmp 0x4055b9