Function at 0x4297a0
Capabilities:
Get common file path
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x428
mov eax, dword [0x508578]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
fld dword [0x4dad1c]
push ebx
fstp dword [0x506cec]
push edi
mov edi, dword [ebp + 0x10]
push edi
mov dword [ebp - 0x40c], eax
call fcn.004b602a
mov dword [esp], str._option
push eax
call fcn.00493f70
xor ebx, ebx
pop ecx
inc ebx
pop ecx
test eax, eax
je 0x429857
push 0x4dad0c
push edi
call fcn.00493f70
pop ecx
pop ecx
test eax, eax
je 0x429806
fld dword [0x4dad1c]
fstp dword [0x506cec]
push 0x4dad08
push edi
call fcn.00493f70
pop ecx
pop ecx
test eax, eax
je 0x429823
fld dword [0x4dad04]
fstp dword [0x506cec]
push 0x4dad00
push edi
call fcn.00493f70
pop ecx
pop ecx
test eax, eax
je 0x429840
fld dword [0x4dacfc]
fstp dword [0x506cec]
push str._old
push edi
call fcn.00493f70
pop ecx
pop ecx
test eax, eax
je 0x429857
mov byte [0x573ed1], bl
push 0x9eb7e
call dword [sym.imp.steam_api.dll_SteamAPI_RestartAppIfNecessary]
pop ecx
test al, al
je 0x42986f
or eax, 0xffffffff
jmp 0x4299ee
call dword [sym.imp.steam_api.dll_SteamAPI_Init]
test al, al
jne 0x429886
push str.SteamAPI_Init___failed_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x429867
push esi
push 0x58
call fcn.004941ce
xor esi, esi
pop ecx
cmp eax, esi
je 0x4298a0
push esi
push esi
mov ecx, eax
call fcn.004010dc
jmp 0x4298a2
xor eax, eax
mov dword [0x573edc], eax
mov dword [0x56f54c], esi
call fcn.00401a28
test eax, eax
je 0x4299eb
lea eax, [ebp - 0x404]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x408]
push eax
call fcn.004013de
pop ecx
pop ecx
mov ecx, eax
cmp ecx, esi
je 0x4299eb
cmp dword [ebp - 0x408], esi
je 0x4299eb
push ebx
call fcn.00402022
xor eax, eax
cmp ecx, ebx
sete al
mov dword [0x56f4b0], 0x3f
mov dword [0x56f550], 0x500
mov dword [0x56f554], 0x2d0
mov dword [0x56f584], 0x10
mov dword [0x56f4d0], esi
mov dword [0x56f590], ebx
push eax
push edi
mov dword [0x56f4c4], ebx
mov dword [0x56f4f0], ebx
mov dword [0x56f4e0], ebx
mov dword [0x56f568], esi
mov dword [0x56f4c0], esi
mov dword [0x56f4b4], esi
mov dword [0x56f4bc], esi
mov dword [0x56f560], esi
mov dword [0x56f52c], esi
mov dword [0x56f4f8], esi
mov dword [0x56f564], esi
mov dword [0x56f504], esi
mov dword [0x56f4e4], ebx
call fcn.0040212b
mov ecx, dword [0x56f554]
mov eax, dword [0x56f550]
push ecx
push eax
mov dword [0x56f4c8], eax
mov dword [0x56f4cc], ecx
call fcn.004017a8
push dword [ebp + 0x14]
xor eax, eax
cmp dword [0x56f4b4], esi
sete al
lea eax, [eax*8 + 8]
mov dword [0x506ce8], eax
mov eax, dword [ebp - 0x40c]
call fcn.00429685
add esp, 0x18
test eax, eax
je 0x4299eb
call fcn.00427d42
test eax, eax
jne 0x4299fe
push dword [0x56f54c]
call dword [sym.imp.USER32.dll_DestroyWindow]
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.00493576
leave
ret 0x10
push ebx
call fcn.00401abe
pop ecx
push dword [0x56f54c]
call dword [sym.imp.USER32.dll_UpdateWindow]
movzx eax, word [0x56f4b0]
push eax
push dword [ebp - 0x408]
push esi
call fcn.00401d6b
push esi
call fcn.004940fd
push eax
call fcn.00493ed7
add esp, 0x14
mov dword [0x56f4ac], ebx
mov dword [0x56f4dc], esi
call fcn.00401749
test eax, eax
jne 0x429a56
mov dword [0x56f4ac], esi
call fcn.004016d6
jmp 0x4299eb
call fcn.00427f7d
test eax, eax
je 0x429a49
push esi
mov dword [0x56f564], esi
mov dword [0x56f580], esi
call fcn.0040176c
push dword [0x56f4c4]
call fcn.00402180
push dword [0x56f4e0]
call fcn.00401e51
call fcn.0040190b
push dword [0x56f4f0]
call fcn.00401384
push esi
call fcn.004011e0
push dword [0x56f4c0]
call fcn.004020d1
push ebx
push esi
call fcn.00401c9e
add esp, 0x20
call fcn.004019c9
test eax, eax
jne 0x429ac3
or eax, 0xffffffff
jmp 0x4299ed
push dword [0x56f54c]
call fcn.00401d1b
push dword [0x56f4bc]
call fcn.0040176c
pop ecx
pop ecx
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x429b20
push esi
push esi
push esi
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x429b31
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x429adb
call fcn.00401f00
test eax, eax
jne 0x429adb
call dword [sym.imp.USER32.dll_WaitMessage]
jmp 0x429adb
mov eax, dword [ebp - 0x420]
mov dword [0x56f54c], esi
jmp 0x4299ed