Function at 0x140101a40
Capabilities:
Get common file path

Disassembly:
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x360
mov rax, qword [0x1408fa960]
xor rax, rsp
mov qword [rsp + 0x350], rax
mov dword [rsp + 0x40], 0
lea rcx, [rsp + 0x78]
call fcn.14000a280
nop
mov rdx, qword [0x1408ce828]
mov rcx, qword [rsp + 0x378]
call fcn.14003a7a0
movzx eax, al
test eax, eax
je 0x140101b30
movzx edx, byte [rsp + 0x380]
xor ecx, ecx
call fcn.1400fed10
mov dword [rsp + 0x30], 2
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x78]
lea r8, str.PsTempDir
mov rdx, rax
mov rcx, 0xffffffff80000002
call fcn.1400f6f60
movzx eax, al
test eax, eax
jne 0x140101b2b
lea rax, [rsp + 0x140]
mov rdi, rax
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
lea rdx, [rsp + 0x140]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x140101b21
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x78]
call fcn.140015550
jmp 0x140101b2b
lea rcx, [rsp + 0x78]
call fcn.140016540
jmp 0x140101cff
mov rdx, qword [str.logroot]
mov rcx, qword [rsp + 0x378]
call fcn.14003a7a0
movzx eax, al
test eax, eax
je 0x140101bf8
mov rdx, qword [0x1408ce828]
lea rcx, [rsp + 0x98]
call fcn.1400179b0
nop
movzx r8d, byte [rsp + 0x380]
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0xb8]
call fcn.140101a40
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.14001e7a0
lea rcx, [rsp + 0xb8]
call fcn.14000a800
nop
lea rcx, [rsp + 0x98]
call fcn.14000a800
lea rcx, [rsp + 0x78]
call fcn.1400cd350
mov r8, 0xffffffffffffffff
mov dx, reloc.msi.dll_MsiOpenProductW
lea rcx, [rsp + 0x78]
call fcn.1400d89a0
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0xffffffffffffffff
je 0x140101bf3
mov r8, 0xffffffffffffffff
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x78]
call fcn.140078570
jmp 0x140101cff
mov rdx, qword [str.locks]
mov rcx, qword [rsp + 0x378]
call fcn.14003a7a0
movzx eax, al
test eax, eax
je 0x140101c92
movzx edx, byte [rsp + 0x380]
xor ecx, ecx
call fcn.1400fed10
mov dword [rsp + 0x30], 2
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x78]
lea r8, str.PsLockDir
mov rdx, rax
mov rcx, 0xffffffff80000002
call fcn.1400f6f60
movzx eax, al
test eax, eax
jne 0x140101c90
movzx edx, byte [rsp + 0x380]
lea rcx, [rsp + 0xd8]
call fcn.1401017e0
mov qword [rsp + 0x58], rax
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x78]
call fcn.14001e7a0
lea rcx, [rsp + 0xd8]
call fcn.14000a800
jmp 0x140101cff
movzx edx, byte [rsp + 0x380]
lea rcx, [rsp + 0x118]
call fcn.1401017e0
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x68], rax
mov r8, qword [rsp + 0x378]
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0xf8]
call fcn.140024f50
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x78]
call fcn.14001e7a0
lea rcx, [rsp + 0xf8]
call fcn.14000a800
nop
lea rcx, [rsp + 0x118]
call fcn.14000a800
lea rcx, [rsp + 0x78]
call fcn.1400165c0
movzx eax, al
test eax, eax
jne 0x140101d1a
lea rcx, [rsp + 0x78]
call fcn.14002a240
lea rdx, [rsp + 0x78]
mov rcx, qword [rsp + 0x370]
call fcn.14000a200
mov eax, dword [rsp + 0x40]
or eax, 1
mov dword [rsp + 0x40], eax
lea rcx, [rsp + 0x78]
call fcn.14000a800
mov rax, qword [rsp + 0x370]
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.140222a60
add rsp, 0x360
pop rdi
ret