Function at 0x401b60
Capabilities:
Get common file path

Disassembly:
sub esp, 0x444
mov eax, dword [0x47c944]
xor eax, esp
mov dword [esp + 0x440], eax
push esi
xor esi, esi
cmp dword [0x4804b0], 1
jg 0x401c4e
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x3e]
push ecx
mov word [esp + 0x40], ax
call fcn.00447b40
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x252]
push eax
mov word [esp + 0x254], dx
call fcn.00447b40
add esp, 0x18
push 0x104
lea ecx, [esp + 0x240]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [esp + 0x34]
push edx
push 0
push 0
push 0x23
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push str.4399GameLogin
lea eax, [esp + 0x38]
push 0x104
push eax
call fcn.00445516
lea ecx, [esp + 0x40]
push 0x104
push ecx
call fcn.00445f02
lea edx, [esp + 0x250]
push 0x104
push edx
call fcn.00445f02
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x25c]
push ecx
call fcn.00445446
add esp, 0x24
test eax, eax
mov eax, 3
jne 0x401c38
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.00445369
add esp, 0x444
ret
mov eax, dword [0x4804b8]
mov ecx, dword [eax + 4]
push ecx
push str._web4399D
call fcn.00445c69
add esp, 8
test eax, eax
jne 0x401c83
mov eax, 1
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.00445369
add esp, 0x444
ret
mov edx, dword [0x4804b8]
mov eax, dword [edx + 4]
push eax
push str._HjsgD
call fcn.00445c69
add esp, 8
test eax, eax
jne 0x401cb9
mov eax, 2
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.00445369
add esp, 0x444
ret
mov ecx, dword [0x4804b8]
mov edx, dword [ecx + 4]
push edx
push str._uninst
call fcn.00445c69
add esp, 8
test eax, eax
jne 0x401cef
mov eax, 4
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.00445369
add esp, 0x444
ret
mov eax, dword [0x4804b8]
mov ecx, dword [eax + 4]
push ecx
push str._update
call fcn.00445c69
add esp, 8
test eax, eax
jne 0x401d24
mov eax, 5
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.00445369
add esp, 0x444
ret
mov edx, dword [0x4804b8]
mov eax, dword [edx + 4]
push eax
push str._newgm
call fcn.00445c69
add esp, 8
test eax, eax
jne 0x401dea
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 [0x4804b8]
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.004454a7
lea eax, [esp + 0x12]
push eax
call fcn.00445d12
mov ecx, dword [0x4804b8]
mov edx, dword [ecx + 0xc]
push edx
mov dword [0x4810ec], eax
lea eax, [esp + 0x38]
push 8
push eax
call fcn.004454a7
lea ecx, [esp + 0x42]
push ecx
call fcn.00445d12
add esp, 0x20
mov dword [0x4810e8], eax
mov eax, esi
pop esi
mov ecx, dword [esp + 0x440]
xor ecx, esp
call fcn.00445369
add esp, 0x444
ret
mov edx, dword [0x4804b8]
mov eax, dword [edx + 4]
push eax
push str._gmhall
call fcn.00445c69
add esp, 8
test eax, eax
jne 0x401b84
mov edx, dword [0x4804b8]
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.004454a7
lea edx, [esp + 0x12]
push edx
call fcn.00445d12
mov ecx, dword [esp + 0x454]
add esp, 0x10
mov dword [0x4810ec], eax
mov eax, esi
pop esi
xor ecx, esp
call fcn.00445369
add esp, 0x444
ret