Function at 0x4c8a67
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59f43d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x124
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
xor edx, edx
cmp dword [ecx + 0x10], 0
sete dl
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
mov dword [ecx + 0x10], edx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xd4]
cmp dword [eax + 0x10], 0
je 0x4c92d3
lea ecx, [ebp - 0x94]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x90]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 1
push 0x5f3928
push 0x80
lea ecx, [ebp - 0x8c]
push ecx
push 0x5f3934
push str.PPTESTDISPLAYMAX
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x8c]
push edx
call dword [sym.imp.MSVCRT.dll_atof]
add esp, 0xfffffffc
fstp qword [esp]
call sub.MSVCRT.dll_fabs
add esp, 8
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
fstp qword [ecx + 0xf8]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xd4]
mov dword [eax + 0xd0], 0
mov dword [eax + 0xd4], 0
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xd4]
mov dword [edx + 0xb8], 0
mov dword [edx + 0xbc], 0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
mov dword [ecx + 0xd8], 0
mov dword [ecx + 0xdc], 0
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xd4]
mov dword [eax + 0xc0], 0
mov dword [eax + 0xc4], 0
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xd4]
mov dword [edx + 0xe0], 0
mov dword [edx + 0xe4], 0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
mov dword [ecx + 0xc8], 0
mov dword [ecx + 0xcc], 0
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xd0]
cmp dword [eax + 0x20c], 2
je 0x4c8d18
push ecx
mov ecx, esp
mov dword [ebp - 0xa0], esp
push 0x5f3950
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd0]
call fcn.004c941a
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x4c8cda
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xd0]
cmp dword [edx + 0x210], 2
je 0x4c8cd8
push ecx
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x5f3958
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xd0]
call fcn.004c941a
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
jne 0x4c8cd8
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
mov dword [ecx + 0x10], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x90]
call fcn.0058df86
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.0058df86
jmp 0x4c92d3
jmp 0x4c8d13
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xd4]
mov dword [eax + 0x10], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x90]
call fcn.0058df86
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.0058df86
jmp 0x4c92d3
jmp 0x4c8d99
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xd0]
cmp dword [edx + 0x210], 2
je 0x4c8d99
push ecx
mov ecx, esp
mov dword [ebp - 0xa8], esp
push str.SECOND
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xd0]
call fcn.004c941a
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
jne 0x4c8d99
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
mov dword [ecx + 0x10], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x90]
call fcn.0058df86
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.0058df86
jmp 0x4c92d3
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xd4]
add eax, 0x9c
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xd4]
add edx, 0x64
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
call fcn.00409d15
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xd0]
cmp dword [edx + 0x20c], 2
jne 0x4c92b2
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd0]
cmp dword [ecx + 0x210], 2
jne 0x4c92b2
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xd4]
add eax, 0x9c
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xd4]
add edx, 0x64
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
add ecx, 0x2c
push ecx
push 0
mov edx, dword [ebp - 0xd0]
mov ecx, dword [edx + 0xd4]
call fcn.00408e3b
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
add ecx, 0x9c
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xd4]
add eax, 0x64
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xd4]
add edx, 0x2c
push edx
push 1
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
call fcn.00408e3b
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xd4]
add edx, 0x9c
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
add ecx, 0x64
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xd4]
add eax, 0x2c
push eax
push 2
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 0xd4]
call fcn.00408e3b
push 0x5f3968
push 0x80
lea edx, [ebp - 0x8c]
push edx
push 0x5f3974
push 0x5f397c
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x8c]
push eax
call dword [sym.imp.MSVCRT.dll_atof]
add esp, 0xfffffffc
fstp qword [esp]
call sub.MSVCRT.dll_fabs
add esp, 8
fstp qword [ebp - 0x9c]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xd4]
fld qword [edx + 0xb8]
fcomp qword [ebp - 0x9c]
fnstsw ax
test ah, 0x41
jne 0x4c904d
push 0
push 0
push 0x5f3994
call dword [sym.imp.LANGUAGE.dll_char_const____cdecl_ReadLanguageString_char_const___char_const___int_]
add esp, 0xc
push eax
lea ecx, [ebp - 0x90]
call fcn.0058e0f4
push 0x5f39b4
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xac]
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xf0], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0xf0]
push edx
push str._XY__
lea eax, [ebp - 0xb0]
push eax
call sub.MFC42.DLL_operator_2
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xf8]
push edx
lea eax, [ebp - 0xb4]
push eax
call sub.MFC42.DLL_operator
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x100]
push edx
lea ecx, [ebp - 0x90]
call sub.MFC42.DLL_CString::operator
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xb4]
call fcn.0058df86
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb0]
call fcn.0058df86
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xac]
call fcn.0058df86
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x90]
call fcn.00403d90
push eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x80]
push ecx
call fcn.00436ac0
add esp, 0x10
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xd4]
fld qword [eax + 0xc0]
fcomp qword [ebp - 0x9c]
fnstsw ax
test ah, 0x41
jne 0x4c9176
push 0
push 0
push 0x5f39c0
call dword [sym.imp.LANGUAGE.dll_char_const____cdecl_ReadLanguageString_char_const___char_const___int_]
add esp, 0xc
push eax
lea ecx, [ebp - 0x90]
call fcn.0058e0f4
push 0x5f39e0
lea ecx, [ebp - 0x8c]
push ecx
lea ecx, [ebp - 0xb8]
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x104], eax
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x108]
push eax
push str._ZX__
lea ecx, [ebp - 0xbc]
push ecx
call sub.MFC42.DLL_operator_2
mov dword [ebp - 0x10c], eax
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x110], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x110]
push eax
lea ecx, [ebp - 0xc0]
push ecx
call sub.MFC42.DLL_operator
mov dword [ebp - 0x114], eax
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x118], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x118]
push eax
lea ecx, [ebp - 0x90]
call sub.MFC42.DLL_CString::operator
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc0]
call fcn.0058df86
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xbc]
call fcn.0058df86
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb8]
call fcn.0058df86
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x90]
call fcn.00403d90
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x80]
push edx
call fcn.00436ac0
add esp, 0x10
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
fld qword [ecx + 0xc8]
fcomp qword [ebp - 0x9c]
fnstsw ax
test ah, 0x41
jne 0x4c929f
push 0
push 0
push str.FIDIA_WINGRAPH_ERROR_THRESHOLD
call dword [sym.imp.LANGUAGE.dll_char_const____cdecl_ReadLanguageString_char_const___char_const___int_]
add esp, 0xc
push eax
lea ecx, [ebp - 0x90]
call fcn.0058e0f4
push 0x5f3a0c
lea edx, [ebp - 0x8c]
push edx
lea ecx, [ebp - 0xc4]
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x120], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x120]
push ecx
push str._YZ__
lea edx, [ebp - 0xc8]
push edx
call sub.MFC42.DLL_operator_2
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x128], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x128]
push ecx
lea edx, [ebp - 0xcc]
push edx
call sub.MFC42.DLL_operator
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x130], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x130]
push ecx
lea ecx, [ebp - 0x90]
call sub.MFC42.DLL_CString::operator
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xcc]
call fcn.0058df86
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xc8]
call fcn.0058df86
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc4]
call fcn.0058df86
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x90]
call fcn.00403d90
push eax
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x80]
push eax
call fcn.00436ac0
add esp, 0x10
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0xd4]
mov dword [edx + 0x10], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x90]
call fcn.0058df86
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.0058df86
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret