Function at 0x54ae1e
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push 0x5c
pop esi
push esi
push edi
call fcn.0068a738
pop ecx
pop ecx
test eax, eax
jne 0x54b04d
cmp word [0x7bb2a0], ax
jne 0x54aeed
mov ebx, 0x400
push ebx
push 0x7bb2a0
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push esi
push 0x7bb2a0
call fcn.0068a697
pop ecx
pop ecx
test eax, eax
je 0x54ae73
xor ecx, ecx
mov word [eax + 2], cx
push ebx
push 0x7bbaa0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x54aeb0
cmp word [eax*2 + 0x7bba9e], si
je 0x54aeb0
mov word [eax*2 + 0x7bbaa0], si
lea eax, [eax*2 + 2]
cmp eax, 0x800
jae 0x54b062
xor ecx, ecx
mov word [eax + 0x7bbaa0], cx
push ebx
push 0x7bc2a0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x54aeed
cmp word [eax*2 + 0x7bc29e], si
je 0x54aeed
mov word [eax*2 + 0x7bc2a0], si
lea eax, [eax*2 + 2]
cmp eax, 0x800
jae 0x54b062
xor ecx, ecx
mov word [eax + 0x7bc2a0], cx
cmp dword [ebp + 0x10], 0
push dword [ebp + 0xc]
push edi
je 0x54af8f
push 0x7bb2a0
lea ecx, [ebp - 8]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t__
push eax
lea eax, [ebp - 4]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__
add esp, 0xc
mov ecx, eax
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
mov ebx, dword [sym.imp.ole32.dll_CoLoadLibrary]
push eax
call ebx
lea ecx, [ebp - 4]
mov esi, eax
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 8]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
test esi, esi
jne 0x54b059
push dword [ebp + 0xc]
lea ecx, [ebp - 4]
push edi
push 0x7bbaa0
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t__
push eax
lea eax, [ebp - 8]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__
add esp, 0xc
mov ecx, eax
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call ebx
lea ecx, [ebp - 8]
mov esi, eax
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 4]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
test esi, esi
jne 0x54b059
push dword [ebp + 0xc]
push edi
push 0x7bc2a0
jmp 0x54b01a
push 0x7bbaa0
lea ecx, [ebp - 4]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t__
push eax
lea eax, [ebp - 8]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__
add esp, 0xc
mov ecx, eax
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
mov ebx, dword [sym.imp.ole32.dll_CoLoadLibrary]
push eax
call ebx
lea ecx, [ebp - 8]
mov esi, eax
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 4]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
test esi, esi
jne 0x54b059
push dword [ebp + 0xc]
lea ecx, [ebp - 4]
push edi
push 0x7bc2a0
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t__
push eax
lea eax, [ebp - 8]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__
add esp, 0xc
mov ecx, eax
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call ebx
lea ecx, [ebp - 8]
mov esi, eax
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 4]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
test esi, esi
jne 0x54b059
push dword [ebp + 0xc]
push edi
push 0x7bb2a0
lea ecx, [ebp - 4]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t__
push eax
lea eax, [ebp - 8]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_operator_class_CTXStringW_const___wchar_t_const__
add esp, 0xc
mov ecx, eax
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call ebx
lea ecx, [ebp - 8]
mov esi, eax
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 4]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
jmp 0x54b059
push dword [ebp + 0xc]
push edi
call dword [sym.imp.ole32.dll_CoLoadLibrary]
mov esi, eax
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00683380
int3