Function at 0x419e20
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x4b2b8e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x114
push ebx
push ebp
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_5
mov eax, dword [edi + 0x554]
xor ebx, ebx
push eax
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x134], ebx
call fcn.00419d20
add esp, 8
mov eax, dword [eax]
mov esi, dword [esp + 0x134]
push eax
push str._UserName_
mov ecx, esi
mov byte [esp + 0x134], 1
call sub.MFC42.DLL_CString::Replace
lea ecx, [esp + 0x14]
mov byte [esp + 0x12c], bl
call sub.MFC42.DLL_CString::CString
mov eax, dword [edi + 0x558]
lea ecx, [esp + 0x14]
push eax
push ecx
call fcn.00419d20
add esp, 8
mov eax, dword [eax]
mov ecx, esi
push eax
push str._NickName_
mov byte [esp + 0x134], 2
call sub.MFC42.DLL_CString::Replace
lea ecx, [esp + 0x14]
mov byte [esp + 0x12c], bl
call sub.MFC42.DLL_CString::CString
mov eax, dword [edi + 0x560]
lea edx, [esp + 0x14]
push eax
push edx
call fcn.00419d20
add esp, 8
mov eax, dword [eax]
mov ecx, esi
push eax
push str._Password_
mov byte [esp + 0x134], 3
call sub.MFC42.DLL_CString::Replace
lea ecx, [esp + 0x14]
mov byte [esp + 0x12c], bl
call sub.MFC42.DLL_CString::CString
mov eax, dword [edi + 0x578]
lea ecx, [esp + 0x10]
push eax
push 0x4d6364
push ecx
call sub.MFC42.DLL_CString::Format_1
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push edx
push str._Coin_
call sub.MFC42.DLL_CString::Replace
mov eax, dword [edi + 0x580]
lea ecx, [esp + 0x10]
push eax
push 0x4d6364
push ecx
call sub.MFC42.DLL_CString::Format_1
mov edx, dword [esp + 0x1c]
add esp, 0xc
push edx
push str._Money_
mov ecx, esi
call sub.MFC42.DLL_CString::Replace
mov eax, dword [edi + 0x54c]
mov ecx, esi
push eax
push str._RegisterServerIP_
call sub.MFC42.DLL_CString::Replace
mov eax, dword [edi + 0x550]
lea ecx, [esp + 0x10]
push eax
push 0x4d6364
push ecx
call sub.MFC42.DLL_CString::Format_1
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push edx
push str._RegisterServerPort_
call sub.MFC42.DLL_CString::Replace
mov eax, dword [edi + 0x648]
xor ecx, ecx
lea edx, [esp + 0x10]
mov cl, byte [eax + 0x3334]
push ecx
push 0x4d6364
push edx
call sub.MFC42.DLL_CString::Format_1
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push eax
push str._Sex_
call sub.MFC42.DLL_CString::Replace
xor ecx, ecx
lea edx, [esp + 0x10]
mov cl, byte [edi + 0x57c]
push ecx
push 0x4d6364
push edx
call sub.MFC42.DLL_CString::Format_1
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push eax
push str._Member_
call sub.MFC42.DLL_CString::Replace
mov ecx, dword [edi + 0x648]
lea edx, [esp + 0x14]
add ecx, 0x330c
push ecx
push edx
call fcn.00419d20
add esp, 8
mov eax, dword [eax]
mov ecx, esi
push eax
push str._Faction_
mov byte [esp + 0x134], 4
call sub.MFC42.DLL_CString::Replace
lea ecx, [esp + 0x14]
mov byte [esp + 0x12c], bl
call sub.MFC42.DLL_CString::CString
mov eax, dword [edi + 0x648]
lea ecx, [esp + 0x14]
add eax, 0x3320
push eax
push ecx
call fcn.00419d20
add esp, 8
mov eax, dword [eax]
mov ecx, esi
push eax
push str._Duty_
mov byte [esp + 0x134], 5
call sub.MFC42.DLL_CString::Replace
lea ecx, [esp + 0x14]
mov byte [esp + 0x12c], bl
call sub.MFC42.DLL_CString::CString
mov edx, dword [edi + 0x648]
mov eax, dword [edx + 0x5c94]
push eax
mov ecx, dword [edx + 0x5c90]
lea edx, [esp + 0x14]
push ecx
push str._I64d
push edx
call sub.MFC42.DLL_CString::Format_1
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, esi
push eax
push str._DigitalID_
call sub.MFC42.DLL_CString::Replace
lea ebp, [edi + 0x290]
lea ecx, [esp + 0x10]
push ebp
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::MakeLower
push str.game_share
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::TrimRight
mov ecx, dword [esp + 0x10]
push ecx
push str._GlobalDir_
mov ecx, esi
call sub.MFC42.DLL_CString::Replace
mov ebp, dword [ebp]
mov ecx, esi
push ebp
push str._ShareDir_
call sub.MFC42.DLL_CString::Replace
push str._WinDir_
mov ecx, esi
call sub.MFC42.DLL_CString::Find_2
or ebp, 0xffffffff
cmp eax, ebp
je 0x41a12e
lea edx, [esp + 0x20]
push 0x104
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea eax, [esp + 0x20]
mov ecx, esi
push eax
push str._WinDir_
call sub.MFC42.DLL_CString::Replace
push str._SysDir_
mov ecx, esi
call sub.MFC42.DLL_CString::Find_2
cmp eax, ebp
je 0x41a15f
lea ecx, [esp + 0x20]
push 0x104
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea edx, [esp + 0x20]
mov ecx, esi
push edx
push str._SysDir_
call sub.MFC42.DLL_CString::Replace
mov eax, dword [str._Ticket_]
mov ecx, esi
push eax
call sub.MFC42.DLL_CString::Find_2
cmp eax, ebp
je 0x41a206
push 0x4db920
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], 6
call sub.MFC42.DLL_CString::CString_5
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], 7
call sub.MFC42.DLL_CString::Empty
mov dword [esp + 0x1c], ebp
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], 8
push ecx
mov ecx, dword [edi + 0x254]
call fcn.0042b770
test eax, eax
je 0x41a1d2
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
push edx
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0x14]
mov ecx, dword [str._Ticket_]
push eax
push ecx
mov ecx, esi
call sub.MFC42.DLL_CString::Replace
lea ecx, [esp + 0x18]
mov byte [esp + 0x12c], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x12c], bl
call sub.MFC42.DLL_CString::CString
mov edx, dword [str._TicketLoginUrl_]
mov ecx, esi
push edx
call sub.MFC42.DLL_CString::Find_2
cmp eax, ebp
je 0x41a266
mov eax, dword [0x4dbca8]
lea ecx, [esp + 0x14]
push eax
push str.http:__id_login.ourgame.com_Login_LoginFromDt.aspx
push str.TicketLoginUrl
push 0x4d68a4
push ecx
mov ecx, 0x4dba10
call fcn.004140b0
mov edx, dword [esp + 0x14]
mov eax, dword [str._TicketLoginUrl_]
push edx
push eax
mov ecx, esi
mov byte [esp + 0x134], 9
call sub.MFC42.DLL_CString::Replace
lea ecx, [esp + 0x14]
mov byte [esp + 0x12c], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x12c], ebp
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x124]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x120
ret 4