Function at 0x54b51a
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 0x54b6b4
cmp word [0x7b9aa0], ax
jne 0x54b5e9
mov ebx, 0x400
push ebx
push 0x7b9aa0
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push esi
push 0x7b9aa0
call fcn.0068a697
pop ecx
pop ecx
test eax, eax
je 0x54b56f
xor ecx, ecx
mov word [eax + 2], cx
push ebx
push 0x7ba2a0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x54b5ac
cmp word [eax*2 + 0x7ba29e], si
je 0x54b5ac
mov word [eax*2 + 0x7ba2a0], si
lea eax, [eax*2 + 2]
cmp eax, 0x800
jae 0x54b6cc
xor ecx, ecx
mov word [eax + 0x7ba2a0], cx
push ebx
push 0x7baaa0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x54b5e9
cmp word [eax*2 + 0x7baa9e], si
je 0x54b5e9
mov word [eax*2 + 0x7baaa0], si
lea eax, [eax*2 + 2]
cmp eax, 0x800
jae 0x54b6cc
xor ecx, ecx
mov word [eax + 0x7baaa0], cx
push dword [ebp + 0x10]
lea ecx, [ebp - 8]
push dword [ebp + 0xc]
push edi
push 0x7ba2a0
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.KERNEL32.dll_LoadLibraryExW]
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 0x54b6c3
push dword [ebp + 0x10]
lea ecx, [ebp - 4]
push dword [ebp + 0xc]
push edi
push 0x7baaa0
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 0x54b6c3
push dword [ebp + 0x10]
lea ecx, [ebp - 4]
push dword [ebp + 0xc]
push edi
push 0x7b9aa0
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 0x54b6c3
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00683380
int3