Function at 0x4027c0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x444
mov eax, dword [0x491830]
xor eax, esp
mov dword [esp + 0x440], eax
push esi
xor esi, esi
cmp dword [0x4959d0], 1
jg 0x4028ae
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x3e]
push eax
mov word [esp + 0x40], dx
call fcn.00451520
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x252]
push edx
mov word [esp + 0x254], cx
call fcn.00451520
add esp, 0x18
push 0x104
lea eax, [esp + 0x240]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x34]
push ecx
push 0
push 0
push 0x23
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push str.4399GameLogin
lea edx, [esp + 0x38]
push 0x104
push edx
call fcn.0044e6be
lea eax, [esp + 0x40]
push 0x104
push eax
call fcn.0044f04d
lea ecx, [esp + 0x250]
push 0x104
push ecx
call fcn.0044f04d
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x25c]
push eax
call fcn.0044e5ee
add esp, 0x24
test eax, eax
je 0x402896
mov esi, 3
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044e3af
add esp, 0x444
ret
mov eax, dword [0x4959d8]
mov ecx, dword [eax + 4]
push ecx
push str._web4399D
call fcn.0044edb4
add esp, 8
test eax, eax
jne 0x4028e5
mov esi, 1
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044e3af
add esp, 0x444
ret
mov edx, dword [0x4959d8]
mov eax, dword [edx + 4]
push eax
push str._Zt58501D
call fcn.0044edb4
add esp, 8
test eax, eax
jne 0x40291d
mov esi, 2
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044e3af
add esp, 0x444
ret
mov ecx, dword [0x4959d8]
mov edx, dword [ecx + 4]
push edx
push str._uninst
call fcn.0044edb4
add esp, 8
test eax, eax
jne 0x402955
mov esi, 4
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044e3af
add esp, 0x444
ret
mov eax, dword [0x4959d8]
mov ecx, dword [eax + 4]
push ecx
push str._update
call fcn.0044edb4
add esp, 8
test eax, eax
jne 0x40298c
mov esi, 5
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044e3af
add esp, 0x444
ret
mov edx, dword [0x4959d8]
mov eax, dword [edx + 4]
push eax
push str._newgm
call fcn.0044edb4
add esp, 8
test eax, eax
jne 0x402a52
xor ecx, ecx
lea esi, [eax + 6]
mov dword [esp + 6], eax
mov dword [esp + 0xa], eax
mov dword [esp + 0xe], eax
mov dword [esp + 0x12], eax
mov dword [esp + 0x16], eax
mov dword [esp + 0x1a], eax
mov dword [esp + 0x1e], eax
mov word [esp + 0x22], ax
mov dword [esp + 0x26], eax
mov dword [esp + 0x2a], eax
mov dword [esp + 0x2e], eax
mov word [esp + 0x32], ax
mov eax, dword [0x4959d8]
mov word [esp + 4], cx
mov ecx, dword [eax + 8]
xor edx, edx
push ecx
mov word [esp + 0x28], dx
lea edx, [esp + 8]
push 0x10
push edx
call fcn.0044e64f
lea eax, [esp + 0x12]
push eax
call fcn.0044ee5d
mov ecx, dword [0x4959d8]
mov edx, dword [ecx + 0xc]
push edx
mov dword [0x496618], eax
lea eax, [esp + 0x38]
push 8
push eax
call fcn.0044e64f
lea ecx, [esp + 0x42]
push ecx
call fcn.0044ee5d
add esp, 0x20
mov dword [0x496614], eax
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044e3af
add esp, 0x444
ret
mov edx, dword [0x4959d8]
mov eax, dword [edx + 4]
push eax
push str._gmhall
call fcn.0044edb4
add esp, 8
test eax, eax
jne 0x402ad8
mov edx, dword [0x4959d8]
lea esi, [eax + 7]
mov dword [esp + 6], eax
mov dword [esp + 0xa], eax
mov dword [esp + 0xe], eax
mov dword [esp + 0x12], eax
mov dword [esp + 0x16], eax
mov dword [esp + 0x1a], eax
mov dword [esp + 0x1e], eax
mov word [esp + 0x22], ax
mov eax, dword [edx + 8]
xor ecx, ecx
push eax
mov word [esp + 8], cx
lea ecx, [esp + 8]
push 0x10
push ecx
call fcn.0044e64f
lea edx, [esp + 0x12]
push edx
call fcn.0044ee5d
add esp, 0x10
mov dword [0x496618], eax
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044e3af
add esp, 0x444
ret
mov eax, dword [0x4959d8]
mov ecx, dword [eax + 4]
push ecx
push str._Logo
call fcn.0044edb4
add esp, 8
test eax, eax
jne 0x4027e4
mov ecx, dword [esp + 0x444]
mov esi, 8
mov eax, esi
pop esi
xor ecx, esp
call fcn.0044e3af
add esp, 0x444
ret