Function at 0x419250
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f8aff
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x264
mov eax, dword [0x65480c]
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x228], esi
call fcn.00533be0
lea edi, [esi + 0x4f8]
xor ebx, ebx
mov ecx, edi
mov dword [ebp - 4], ebx
mov dword [esi], fcn.00441900
mov dword [esi + 4], 0x60c9c8
call fcn.0050c4e0
mov dword [edi], 0x60c8e8
mov dword [edi + 0x74], ebx
mov dword [edi + 0x78], ebx
mov dword [edi + 0x7c], esi
push esi
lea ecx, [esi + 0x578]
mov byte [ebp - 4], 1
call fcn.0044d650
mov byte [esi + 0x5a9], bl
cmp dword [0x655cb0], ebx
mov byte [ebp - 4], 2
jne 0x4192fe
mov al, byte [0x655cad]
test al, al
je 0x4192e7
jmp fcn.00418750
call fcn.00418040
push 0x4191e0
mov dword [0x655cb0], eax
call fcn.005e0ca0
add esp, 4
mov ecx, dword [0x655cb0]
push 0xfe
call fcn.004cb370
lea ebx, [esi + 0x18]
cmp eax, ebx
je 0x41932a
mov ecx, dword [eax + 4]
mov eax, dword [eax]
lea edx, [ebp - 0x215]
push edx
push ecx
push eax
mov ecx, ebx
call fcn.0040c800
push 0x60cce0
lea edi, [esi + 0x2fc]
push str.1.01
mov ecx, edi
call fcn.00413300
push 0x60ccd8
lea eax, [ebp - 0x234]
push ebx
push eax
call fcn.00412be0
push edi
push eax
lea ecx, [ebp - 0x224]
push ecx
mov byte [ebp - 4], 3
call fcn.00412d30
add esp, 0x18
lea ecx, [esi + 0x24]
cmp eax, ecx
mov byte [ebp - 4], 4
je 0x419386
mov edx, dword [eax + 4]
mov eax, dword [eax]
lea edi, [ebp - 0x215]
push edi
push edx
push eax
call fcn.0040c800
mov ecx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x21c]
sub eax, ecx
test ecx, ecx
mov ebx, ecx
je 0x4193d3
cmp eax, 0x80
jbe 0x4193a9
push ecx
call fcn.005e05ca
jmp 0x4193d0
lea edi, [eax - 1]
shr edi, 3
push 0x655bd8
lea edi, [edi*4 + 0x655be0]
call fcn.00401450
mov edx, dword [edi]
mov dword [ebx], edx
mov dword [edi], ebx
mov dword [0x655bd8], 0
add esp, 4
mov ecx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x22c]
sub eax, ecx
test ecx, ecx
mov byte [ebp - 4], 2
mov ebx, ecx
je 0x419424
cmp eax, 0x80
jbe 0x4193fa
push ecx
call fcn.005e05ca
jmp 0x419421
lea edi, [eax - 1]
shr edi, 3
push 0x655bd8
lea edi, [edi*4 + 0x655be0]
call fcn.00401450
mov eax, dword [edi]
mov dword [ebx], eax
mov dword [edi], ebx
mov dword [0x655bd8], 0
add esp, 4
push 0x60ccd5
push str.Stargaze_InteractiveArctic_Quest
lea ecx, [esi + 0x30]
call fcn.00413300
lea ecx, [ebp - 0x244]
push ecx
mov dword [esi + 0x48], 0x400
mov dword [esi + 0x4c], 0x300
mov byte [esi + 0x4a7], 1
mov dword [esi + 0x50], 0x10
mov byte [esi + 0x80], 1
mov byte [esi + 0x494], 1
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x23c]
mov ebx, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x238]
mov edi, dword [ebp - 0x240]
sub eax, ebx
sub ecx, edi
cmp eax, 0x400
mov byte [esi + 0x2c3], 0
jle 0x4194aa
cmp ecx, 0x300
jle 0x4194aa
xor eax, eax
jmp 0x4194af
mov eax, 1
push 5
mov ecx, esi
mov byte [esi + 0x2c2], al
call fcn.00525970
lea ecx, [ebp - 0x270]
call fcn.005bae00
lea edx, [ebp - 0x270]
push edx
mov byte [ebp - 4], 5
call fcn.00483e70
add esp, 4
lea eax, [ebp - 0x215]
push eax
mov bl, 6
push str.propertiesmainmenu.xml
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], bl
call fcn.00402f20
lea ecx, [ebp - 0x224]
push ecx
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 7
call fcn.005baec0
mov ecx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x21c]
sub eax, ecx
test ecx, ecx
mov byte [ebp - 4], bl
mov ebx, ecx
je 0x41955e
cmp eax, 0x80
jbe 0x419534
push ecx
call fcn.005e05ca
jmp 0x41955b
lea edi, [eax - 1]
shr edi, 3
push 0x655bd8
lea edi, [edi*4 + 0x655be0]
call fcn.00401450
mov edx, dword [edi]
mov dword [ebx], edx
mov dword [edi], ebx
mov dword [0x655bd8], 0
add esp, 4
lea eax, [ebp - 0x270]
push eax
call fcn.00484900
add esp, 4
lea ecx, [ebp - 0x270]
call fcn.005ba6f0
jmp 0x419586
lea ecx, [ebp - 0x215]
push ecx
mov dword [ebp - 4], 5
mov bl, 9
push str.properties_branches
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], bl
call fcn.00402f20
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0xa
call fcn.005baec0
mov ecx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x21c]
sub eax, ecx
test ecx, ecx
mov byte [ebp - 4], bl
mov ebx, ecx
je 0x41960f
cmp eax, 0x80
jbe 0x4195e5
push ecx
call fcn.005e05ca
jmp 0x41960c
lea edi, [eax - 1]
shr edi, 3
push 0x655bd8
lea edi, [edi*4 + 0x655be0]
call fcn.00401450
mov eax, dword [edi]
mov dword [ebx], eax
mov dword [edi], ebx
mov dword [0x655bd8], 0
add esp, 4
lea ecx, [ebp - 0x270]
push ecx
call fcn.00484900
add esp, 4
lea ecx, [ebp - 0x270]
call fcn.005ba6f0
jmp 0x419637
lea edx, [ebp - 0x214]
push edx
push 0x200
mov dword [ebp - 4], 5
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea edi, [ebp - 0x214]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419657
mov ax, word [0x60cb74]
mov word [edi], ax
lea edi, [ebp - 0x214]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419670
mov ecx, dword [0x60cb68]
mov edx, dword [0x60cb6c]
mov al, byte [0x60cb70]
mov dword [edi], ecx
lea ecx, [ebp - 0x214]
push ecx
push 0
mov dword [edi + 4], edx
push str.cheats
mov byte [edi + 8], al
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str.debug
call edi
test eax, eax
lea eax, [ebp - 0x214]
push eax
push 0
push str.no_check
setne dl
push str.debug
mov byte [esi + 0x5a8], dl
call edi
test eax, eax
jne 0x419704
lea ecx, [ebp - 0x215]
push ecx
push str.xml.sig
lea ecx, [ebp - 0x234]
call fcn.00402f20
lea edx, [ebp - 0x234]
push edx
mov ecx, esi
mov byte [ebp - 4], 0xc
call fcn.004189c0
lea ecx, [ebp - 0x234]
call fcn.0041d780
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 2
call fcn.005ba680
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
mov eax, esi
call fcn.005e149c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret