Function at 0x140045910
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x270
mov rax, qword [0x1401339d8]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov r14, rcx
call fcn.140014190
lea r9, [0x1400e8328]
lea r8, str.Utils::getCurrentUserHomeDir
xor edx, edx
mov rcx, rax
call fcn.14009cf00
xor ebx, ebx
mov qword [rsp + 0x38], rbx
call fcn.140014190
cmp byte [rax + 0x64], bl
je 0x1400459af
lea ecx, [rbx + 0x28]
call fcn.140095e50
mov rdi, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400459aa
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
mov qword [rdi + 0x20], rax
call fcn.140014190
lea r8, str.Utils::getCurrentUserHomeDir
mov rdx, rax
mov rcx, rdi
call fcn.140098570
mov rbx, rax
mov qword [rsp + 0x38], rbx
call fcn.140015f40
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140045a00
call fcn.140014190
mov dword [rsp + 0x20], edi
lea r9, str.WTSGetActiveConsoleSessionId_failed._Error:_0x_08X
lea r8, str.Utils::getCurrentUserHomeDir
lea edx, [rdi + 5]
mov rcx, rax
call fcn.14009cf00
nop
test rbx, rbx
je 0x1400459f9
mov rcx, rbx
call fcn.140099040
lea edx, [rdi + 0x28]
mov rcx, rbx
call fcn.140095e90
xor al, al
jmp 0x140045bf4
mov ecx, edi
call fcn.140015d00
mov qword [rsp + 0x40], rax
cmp rax, 0xffffffffffffffff
jne 0x140045a54
call fcn.140014190
lea r9, str.GetActiveSessionToken_failed
lea r8, str.Utils::getCurrentUserHomeDir
mov edx, 5
mov rcx, rax
call fcn.14009cf00
nop
test rbx, rbx
je 0x140045a4d
mov rcx, rbx
call fcn.140099040
mov edx, 0x28
mov rcx, rbx
call fcn.140095e90
xor al, al
jmp 0x140045bf4
lea rdx, str.explorer.exe
lea rcx, [rsp + 0x30]
call fcn.140016190
mov edi, eax
mov r8d, eax
xor edx, edx
mov ecx, 0x2000000
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_1.dll_OpenProcess]
mov rsi, rax
test rax, rax
jne 0x140045ad2
call fcn.140014190
mov rsi, rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
lea r9, str.OpenProcess_with_Pid__u_failed_with_error_:__u
lea r8, str.Utils::getCurrentUserHomeDir
mov edx, 5
mov rcx, rsi
call fcn.14009cf00
nop
test rbx, rbx
je 0x140045acb
mov rcx, rbx
call fcn.140099040
mov edx, 0x28
mov rcx, rbx
call fcn.140095e90
xor al, al
jmp 0x140045bf4
lea r8, [rsp + 0x40]
mov edx, 0x201eb
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_OpenProcessToken]
test eax, eax
jne 0x140045b38
call fcn.140014190
mov rdi, rax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x20], eax
lea r9, str.Process_token_open_Error:__u
lea r8, str.Utils::getCurrentUserHomeDir
mov edx, 5
mov rcx, rdi
call fcn.14009cf00
nop
test rbx, rbx
je 0x140045b31
mov rcx, rbx
call fcn.140099040
mov edx, 0x28
mov rcx, rbx
call fcn.140095e90
xor al, al
jmp 0x140045bf4
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x50]
call fcn.1400a57c0
mov dword [rsp + 0x48], 0x104
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.USERENV.dll_GetUserProfileDirectoryW]
test eax, eax
setne dil
test eax, eax
je 0x140045b98
lea rax, [rsp + 0x50]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140045b80
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.140013240
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140045ba8
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
call fcn.140014190
lea r9, [0x1400e8328]
lea r8, str.Utils::getCurrentUserHomeDir
mov edx, 1
mov rcx, rax
call fcn.14009cf00
nop
test rbx, rbx
je 0x140045bec
mov rcx, rbx
call fcn.140099040
mov edx, 0x28
mov rcx, rbx
call fcn.140095e90
movzx eax, dil
jmp 0x140045bf4
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1400964b0
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret