Function at 0x1400a57e0
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2b8
mov r15, r9
mov r12, r8
mov r13, rdx
mov rdx, rcx
mov rax, qword [0x140324948]
xor rax, rsp
mov qword [rsp + 0x2b0], rax
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.14006b420
lea rdx, str.SOFTWAREPolicies_
lea rsi, [rsp + 0xa0]
mov rcx, rsi
call fcn.140004f50
mov rcx, r13
xor edx, edx
mov r8, rsi
call fcn.1400a3460
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
cmp byte [rsi + 0x17], 0
jns 0x1400a5861
mov rsi, qword [rsp + 0xa0]
lea rbx, [rsp + 0x60]
mov qword [rsp + 0x20], rbx
lea r9, str.UserDataDir
mov ecx, 1
xor edx, edx
mov r8, rsi
call fcn.1400f4380
test al, al
jne 0x1400a58bd
cmp byte [rsp + 0xb7], 0
jns 0x1400a5899
mov r8, qword [rsp + 0xa0]
jmp 0x1400a58a1
lea r8, [rsp + 0xa0]
mov qword [rsp + 0x20], rbx
lea r9, str.UserDataDir
mov ecx, 2
xor edx, edx
call fcn.1400f4380
test al, al
je 0x1400a5922
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x60]
call fcn.1400f4610
cmp byte [rsp + 0x47], 0
js 0x1400a58e1
mov word [rsp + 0x30], 0
mov byte [rsp + 0x47], 0
jmp 0x1400a590e
mov rax, qword [rsp + 0x30]
mov word [rax], 0
mov qword [rsp + 0x38], 0
cmp byte [rsp + 0x47], 0
jns 0x1400a590e
mov rcx, qword [rsp + 0x30]
call fcn.140190860
mov qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x30], xmm0
cmp byte [rsp + 0x77], 0
jns 0x1400a5933
mov rcx, qword [rsp + 0x60]
call fcn.140190860
cmp byte [rsp + 0xb7], 0
jns 0x1400a594a
mov rcx, qword [rsp + 0xa0]
call fcn.140190860
movzx ebp, byte [rsp + 0x47]
test bpl, bpl
mov rax, qword [rsp + 0x38]
mov rcx, rbp
cmovs rcx, rax
test rcx, rcx
je 0x1400a59fb
mov ecx, ebp
shr cl, 7
mov rbx, qword [rsp + 0x30]
movzx esi, bpl
test cl, 1
mov rbp, r14
cmovne rbp, rbx
mov rdx, rsi
cmovne rdx, rax
movzx edi, word [rbp + rdx*2 - 2]
cmp di, 0x5c
je 0x1400a5997
cmp di, 0x2f
jne 0x1400a59e4
test cl, 1
je 0x1400a59af
lea rcx, [rax - 1]
mov qword [rsp + 0x38], rcx
lea rax, [rbx + rax*2]
add rax, 0xfffffffffffffffe
jmp 0x1400a59bf
lea rax, [rsi - 1]
mov byte [rsp + 0x47], al
lea rax, [rsp + rsi*2]
add rax, 0x2e
mov word [rax], 0
movzx ebp, byte [rsp + 0x47]
mov ecx, ebp
shr cl, 7
test bpl, bpl
mov rax, qword [rsp + 0x38]
mov rdx, rbp
cmovs rdx, rax
test rdx, rdx
jne 0x1400a596c
jmp 0x1400a59fb
test rdx, rdx
je 0x1400a59fb
lea rcx, [rsp + 0x30]
call fcn.1400a4760
test al, al
jne 0x1400a5ae8
mov rdi, r13
lea r13, [rsp + 0x30]
mov rcx, r15
mov rdx, r13
call fcn.14006b5e0
lea rdx, str.LOCALAPPDATA
lea rsi, [rsp + 0xa0]
mov rcx, rsi
call fcn.1400a39e0
movzx eax, byte [rsi + 0x17]
test al, al
jns 0x1400a5a35
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x1400a5b31
mov rax, qword [rsp + 0x40]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x30], xmm1
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x40], rcx
movzx ecx, byte [rsp + 0x47]
test cl, cl
cmovs rcx, qword [rsp + 0x38]
cmovs r13, qword [rsp + 0x30]
movaps xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xb0], rax
cmp word [r13 + rcx*2 - 2], 0x5c
je 0x1400a5a9c
lea rcx, [rsp + 0x30]
mov dx, 0x5c
call fcn.14006bd00
mov r15b, 1
lea rsi, [rsp + 0x30]
mov rcx, rdi
mov dl, 1
mov r8, rsi
call fcn.1400a3460
mov rcx, rsi
mov dx, 0x5c
call fcn.14006bd00
lea rdx, str.User_Data
mov rcx, rsi
call fcn.14006bbb0
cmp byte [rsp + 0xb7], 0
jns 0x1400a5ae3
mov rcx, qword [rsp + 0xa0]
call fcn.140190860
test r15b, r15b
je 0x1400a5b2a
cmp byte [rsp + 0x47], 0
jns 0x1400a5af4
mov r14, qword [rsp + 0x30]
lea rcx, [rsp + 0xa0]
mov r8d, 0x104
mov rdx, r14
call fcn.1401aa040
test rax, rax
je 0x1400a5bb0
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0xa0]
call fcn.140004f50
jmp 0x1400a5bc1
xor esi, esi
jmp 0x1400a5c1b
xor r15d, r15d
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x1400a5acc
mov ebx, eax
inc ebx
xor r15d, r15d
mov rcx, rsi
mov rdx, rbx
xor r8d, r8d
call fcn.14006b6c0
cmp byte [rsp + 0xb7], 0
jns 0x1400a5b69
mov rsi, qword [rsp + 0xa0]
mov ecx, ebx
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x1400a5acc
mov edx, eax
movzx eax, byte [rsp + 0xb7]
test al, al
jns 0x1400a5b92
mov rax, qword [rsp + 0xa8]
cmp rax, rdx
jbe 0x1400a5c52
lea rcx, [rsp + 0xa0]
xor r8d, r8d
call fcn.14006b6c0
jmp 0x1400a5a3e
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
cmp byte [r12 + 0x17], 0
js 0x1400a5bd8
mov word [r12], 0
mov byte [r12 + 0x17], 0
jmp 0x1400a5c04
mov rax, qword [r12]
mov word [rax], 0
mov qword [r12 + 8], 0
cmp byte [r12 + 0x17], 0
jns 0x1400a5c04
mov rcx, qword [r12]
call fcn.140190860
mov qword [r12 + 0x10], 0
mov rax, qword [rsp + 0x70]
mov qword [r12 + 0x10], rax
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [r12], xmm0
mov sil, 1
cmp byte [rsp + 0x47], 0
jns 0x1400a5c2c
mov rcx, qword [rsp + 0x30]
call fcn.140190860
mov rcx, qword [rsp + 0x2b0]
xor rcx, rsp
call fcn.140190ca0
mov eax, esi
add rsp, 0x2b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r15d, r15d
jmp 0x1400a5acc