Function at 0x14002d840
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov rax, qword [0x1400ba060]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rsi, rdx
mov r13, rcx
mov qword [rbp - 0x79], rcx
mov qword [rbp - 0x51], rdx
xor r14d, r14d
mov qword [rbp - 0x79], r14
lea r9, [rbp - 0x79]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1400976e0]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
mov qword [rbp - 0x49], r14
mov qword [rbp - 0x39], r14
mov qword [rbp - 0x31], 7
mov word [rbp - 0x49], r14w
test eax, eax
jns 0x14002d8bb
lea r8d, [r14 + 0x10]
lea rdx, str.C:Program_Files
jmp 0x14002d8d0
mov rdx, qword [rbp - 0x79]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], r14w
jne 0x14002d8c6
lea rcx, [rbp - 0x49]
call fcn.140001db0
nop
mov rdx, qword [rbp - 0x39]
mov r8, qword [rbp - 0x31]
mov rax, r8
sub rax, rdx
cmp rax, 1
jb 0x14002d919
lea rcx, [rdx + 1]
mov qword [rbp - 0x39], rcx
lea rax, [rbp - 0x49]
cmp r8, 8
cmovae rax, qword [rbp - 0x49]
mov r8d, 0x5c
mov word [rax + rdx*2], r8w
mov word [rax + rcx*2], r14w
lea rax, [rbp - 0x49]
jmp 0x14002d937
mov qword [rsp + 0x20], 1
lea r9, [0x1400a742c]
mov edx, 1
lea rcx, [rbp - 0x49]
call fcn.1400089c0
mov qword [rbp - 0x29], r14
mov qword [rbp - 0x19], r14
mov qword [rbp - 0x11], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x19], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
mov rdx, qword [rsi + 0x10]
mov r9, rsi
cmp qword [rsi + 0x18], 8
jb 0x14002d973
mov r9, qword [rsi]
mov rcx, qword [rbp - 0x19]
mov r8, qword [rbp - 0x11]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x14002d9b6
lea rdi, [rcx + rdx]
mov qword [rbp - 0x19], rdi
lea rbx, [rbp - 0x29]
cmp r8, 8
cmovae rbx, qword [rbp - 0x29]
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r9
call fcn.140064710
mov word [rbx + rdi*2], r14w
lea rax, [rbp - 0x29]
jmp 0x14002d9c4
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x29]
call fcn.1400089c0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 9], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 7], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x14002da23
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002da1e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002dc23
call fcn.1400623ac
mov qword [rbp - 0x19], r14
mov qword [rbp - 0x11], 7
mov word [rbp - 0x29], r14w
mov rdx, qword [rbp - 0x31]
cmp rdx, 8
jb 0x14002da74
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002da6f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002dc29
call fcn.1400623ac
mov qword [rbp - 0x39], r14
mov qword [rbp - 0x31], 7
mov word [rbp - 0x49], r14w
mov qword [rbp - 0x71], r14
mov qword [rbp - 0x61], r14
mov qword [rbp - 0x59], r14
lea r14, [rbp - 9]
mov rbx, qword [rbp - 9]
mov r12, qword [rbp + 0xf]
cmp r12, 8
cmovae r14, rbx
mov r15, qword [rbp + 7]
cmp r15, 8
jae 0x14002dac1
movups xmm0, xmmword [r14]
movups xmmword [rbp - 0x71], xmm0
mov edi, 7
jmp 0x14002db50
mov rdi, r15
or rdi, 7
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14002dc1d
add rcx, rcx
cmp rcx, 0x1000
jb 0x14002db2b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14002dc1d
mov rcx, rax
call fcn.1400622a0
mov rcx, rax
test rax, rax
je 0x14002dc2f
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14002db39
test rcx, rcx
je 0x14002db37
call fcn.1400622a0
jmp 0x14002db39
xor eax, eax
mov qword [rbp - 0x71], rax
lea r8, [r15*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.140064710
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x59], rdi
lea rdx, [rbp - 0x71]
mov rcx, r13
call fcn.14002dc40
nop
cmp r12, 8
jb 0x14002dba1
lea rdx, [r12*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14002db98
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002dc35
mov rcx, rbx
call fcn.1400623ac
nop
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x14002dbdc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14002dbd7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14002dc17
mov rcx, r8
call fcn.1400623ac
xor eax, eax
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], 7
mov word [rsi], ax
mov rax, r13
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140062280
mov rbx, qword [rsp + 0x120]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14006e6a8
nop
call fcn.1400013e0
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
int3
call fcn.14006e6a8
nop
call fcn.14006e6a8
int3