Function at 0x4061a0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x594ba0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x84
push esi
push edi
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp - 0x90]
call fcn.00403760
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x90]
add ecx, 0x28
call dword [sym.imp.GDISPLAY.dll_public:_void___thiscall_Object::constructor_void_]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x90]
add ecx, 0x52c
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x90]
add ecx, 0x530
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x90]
mov dword [eax], method.CObject.virtual_0
call dword [sym.imp.GDISPLAY.dll_public:_static_void___cdecl_Object::InitAll_void_]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x8e8], edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x90]
add ecx, 0x52c
call fcn.0058dfec
push 0x5e3638
push 0x186a0
push str.MAXGPAGEPOINT
push 0x5e3654
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x20], eax
mov edx, dword [ebp - 0x90]
mov dword [edx + 0x528], 0
mov eax, dword [ebp - 0x90]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x10], 0
mov edx, dword [ebp - 0x90]
mov dword [edx + 0x14], 0
mov eax, dword [ebp - 0x90]
add eax, 0x530
push eax
mov ecx, dword [ebp - 0x90]
add ecx, 0x52c
call fcn.00403d90
push eax
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx + 0x8e8]
call fcn.00405b20
mov ecx, eax
add ecx, 0x2ec
call sub.MFC42.DLL_CMapStringToString::Lookup
mov ecx, dword [ebp - 0x90]
add ecx, 0x28
call dword [sym.imp.GDISPLAY.dll_public:_void___thiscall_Object::InitObject_void_]
mov edx, dword [ebp - 0x90]
mov dword [edx + 0x534], 0
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x538], 2
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x53c], 9
mov ecx, dword [ebp - 0x90]
call fcn.0040aba8
mov edx, dword [ebp - 0x90]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x8e4], 0
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x8e0], 3
mov edx, dword [ebp - 0x90]
mov word [edx + 0x870], 6
mov eax, dword [ebp - 0x90]
mov word [eax + 0x8a0], 6
mov ecx, dword [ebp - 0x90]
mov word [ecx + 0x8b8], 6
mov edx, dword [ebp - 0x90]
mov word [edx + 0x888], 6
mov eax, dword [ebp - 0x90]
mov word [eax + 0x8d0], 6
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x860], 0xd2f1a9fc
mov dword [ecx + 0x864], 0x3f10624d
mov edx, dword [ebp - 0x90]
mov dword [edx + 0x868], 0xd2f1a9fc
mov dword [edx + 0x86c], 0x3f10624d
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x878], 0
mov dword [eax + 0x87c], 0x40340000
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x8a8], 0
mov dword [ecx + 0x8ac], 0x40140000
mov edx, dword [ebp - 0x90]
mov dword [edx + 0x890], 0
mov dword [edx + 0x894], 0x40390000
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x880], 0
mov dword [eax + 0x884], 0x40000000
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x8b0], 0x9999999a
mov dword [ecx + 0x8b4], 0x3fb99999
mov edx, dword [ebp - 0x90]
mov dword [edx + 0x898], 0
mov dword [edx + 0x89c], 0x40000000
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x8c0], 0
mov dword [eax + 0x8c4], 0
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x8c8], 0
mov dword [ecx + 0x8cc], 0
mov edx, dword [ebp - 0x90]
mov word [edx + 0x8dc], 0xe
push 0x5e3658
push 1
push str.Gdisplayshowaniway
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x90]
mov word [edx + 0x18], 0
mov eax, dword [ebp - 0x90]
mov word [eax + 0x1a], 1
mov ecx, dword [ebp - 0x90]
mov word [ecx + 0x1c], 2
push 0x5e3678
push 1
push str.GAxis1
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
sub eax, 1
mov edx, dword [ebp - 0x90]
mov word [edx + 0x18], ax
push 0x5e368c
push 2
push str.GAxis2
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
sub eax, 1
mov ecx, dword [ebp - 0x90]
mov word [ecx + 0x1a], ax
push 0x5e36a0
push 3
push str.GAxis3
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
sub eax, 1
mov edx, dword [ebp - 0x90]
mov word [edx + 0x1c], ax
mov eax, dword [ebp - 0x90]
movsx ecx, word [eax + 0x18]
test ecx, ecx
jge 0x4065b4
mov edx, dword [ebp - 0x90]
mov word [edx + 0x18], 0
mov eax, dword [ebp - 0x90]
movsx ecx, word [eax + 0x1a]
test ecx, ecx
jge 0x4065ce
mov edx, dword [ebp - 0x90]
mov word [edx + 0x1a], 0
mov eax, dword [ebp - 0x90]
movsx ecx, word [eax + 0x1c]
test ecx, ecx
jge 0x4065e8
mov edx, dword [ebp - 0x90]
mov word [edx + 0x1c], 0
push 1
mov ecx, dword [ebp - 0x90]
add ecx, 0x28
call dword [sym.imp.GDISPLAY.dll_public:_void___thiscall_Object::SetRotation_enum_Rotmode_]
mov eax, dword [ebp - 0x90]
add eax, 0x310
push eax
push 1
mov ecx, dword [ebp - 0x90]
add ecx, 0x28
call dword [sym.imp.GDISPLAY.dll_public:_void___thiscall_Object::SetProjection_enum_Projection__class_ReferenceSystem__]
push 1
mov ecx, dword [ebp - 0x90]
add ecx, 0x28
call dword [sym.imp.GDISPLAY.dll_public:_void___thiscall_Object::EnableProjection_int_]
lea ecx, [ebp - 0x8c]
call dword [sym.imp.GDISPLAY.dll_public:_void___thiscall_ReferenceSystem::constructor_void_]
push 0
push 0
push 0
mov ecx, dword [ebp - 0x90]
add ecx, 0x290
call dword [sym.imp.GDISPLAY.dll_public:_int___thiscall_ReferenceSystem::RefSysReset_enum_Axis__double_]
mov esi, dword [ebp - 0x90]
add esi, 0x290
mov ecx, 0x20
lea edi, [ebp - 0x8c]
rep movsd dword es:[edi], dword [esi]
push 0x4070e000
push 0
push 1
mov ecx, dword [ebp - 0x90]
add ecx, 0x310
push ecx
lea edx, [ebp - 0x8c]
push edx
mov ecx, dword [ebp - 0x90]
add ecx, 0x28
call dword [sym.imp.GDISPLAY.dll_public:_void___thiscall_Object::Rotate_class_ReferenceSystem___class_ReferenceSystem___enum_Axis__double_]
push 0
push 0
push 0
mov ecx, dword [ebp - 0x90]
add ecx, 0x290
call dword [sym.imp.GDISPLAY.dll_public:_int___thiscall_ReferenceSystem::RefSysReset_enum_Axis__double_]
mov esi, dword [ebp - 0x90]
add esi, 0x290
mov ecx, 0x20
lea edi, [ebp - 0x8c]
rep movsd dword es:[edi], dword [esi]
push 0x4070e000
push 0
push 1
mov eax, dword [ebp - 0x90]
add eax, 0x310
push eax
lea ecx, [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x90]
add ecx, 0x28
call dword [sym.imp.GDISPLAY.dll_public:_void___thiscall_Object::Rotate_class_ReferenceSystem___class_ReferenceSystem___enum_Axis__double_]
mov edx, dword [ebp - 0x90]
mov dword [edx + 0x8d4], 1
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x8d8], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8