Function at 0x402890
Capabilities:
Get common file path

Disassembly:
sub esp, 0x444
mov eax, dword [0x491870]
xor eax, esp
mov dword [esp + 0x440], eax
push esi
xor esi, esi
cmp dword [0x495ad0], 1
jg 0x40297e
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x3e]
push eax
mov word [esp + 0x40], dx
call fcn.00451570
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x252]
push edx
mov word [esp + 0x254], cx
call fcn.00451570
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.0044e2ae
lea eax, [esp + 0x40]
push 0x104
push eax
call fcn.0044ecfe
lea ecx, [esp + 0x250]
push 0x104
push ecx
call fcn.0044ecfe
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x25c]
push eax
call fcn.0044e1de
add esp, 0x24
test eax, eax
je 0x402966
mov esi, 3
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044dee5
add esp, 0x444
ret
mov eax, dword [0x495ad8]
mov ecx, dword [eax + 4]
push ecx
push str._web4399D
call fcn.0044ea65
add esp, 8
test eax, eax
jne 0x4029b5
mov esi, 1
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044dee5
add esp, 0x444
ret
mov edx, dword [0x495ad8]
mov eax, dword [edx + 4]
push eax
push str._Qs60557D
call fcn.0044ea65
add esp, 8
test eax, eax
jne 0x4029ed
mov esi, 2
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044dee5
add esp, 0x444
ret
mov ecx, dword [0x495ad8]
mov edx, dword [ecx + 4]
push edx
push str._uninst
call fcn.0044ea65
add esp, 8
test eax, eax
jne 0x402a25
mov esi, 4
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044dee5
add esp, 0x444
ret
mov eax, dword [0x495ad8]
mov ecx, dword [eax + 4]
push ecx
push str._update
call fcn.0044ea65
add esp, 8
test eax, eax
jne 0x402a5c
mov esi, 5
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044dee5
add esp, 0x444
ret
mov edx, dword [0x495ad8]
mov eax, dword [edx + 4]
push eax
push str._newgm
call fcn.0044ea65
add esp, 8
test eax, eax
jne 0x402b22
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 [0x495ad8]
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.0044e23f
lea eax, [esp + 0x12]
push eax
call fcn.0044eb0e
mov ecx, dword [0x495ad8]
mov edx, dword [ecx + 0xc]
push edx
mov dword [0x496938], eax
lea eax, [esp + 0x38]
push 8
push eax
call fcn.0044e23f
lea ecx, [esp + 0x42]
push ecx
call fcn.0044eb0e
add esp, 0x20
mov dword [0x496934], eax
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044dee5
add esp, 0x444
ret
mov edx, dword [0x495ad8]
mov eax, dword [edx + 4]
push eax
push str._gmhall
call fcn.0044ea65
add esp, 8
test eax, eax
jne 0x402ba8
mov edx, dword [0x495ad8]
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.0044e23f
lea edx, [esp + 0x12]
push edx
call fcn.0044eb0e
add esp, 0x10
mov dword [0x496938], eax
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.0044dee5
add esp, 0x444
ret
mov eax, dword [0x495ad8]
mov ecx, dword [eax + 4]
push ecx
push str._Logo
call fcn.0044ea65
add esp, 8
test eax, eax
jne 0x4028b4
mov ecx, dword [esp + 0x444]
mov esi, 8
mov eax, esi
pop esi
xor ecx, esp
call fcn.0044dee5
add esp, 0x444
ret