Function at 0x14002df10
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 [0x1400bb060]
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, [0x140098700]
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 0x14002df8b
lea r8d, [r14 + 0x10]
lea rdx, str.C:Program_Files
jmp 0x14002dfa0
mov rdx, qword [rbp - 0x79]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], r14w
jne 0x14002df96
lea rcx, [rbp - 0x49]
call fcn.140002350
nop
mov rdx, qword [rbp - 0x39]
mov r8, qword [rbp - 0x31]
mov rax, r8
sub rax, rdx
cmp rax, 1
jb 0x14002dfe9
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 0x14002e007
mov qword [rsp + 0x20], 1
lea r9, [0x1400a885c]
mov edx, 1
lea rcx, [rbp - 0x49]
call fcn.140002bc0
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 0x14002e043
mov r9, qword [rsi]
mov rcx, qword [rbp - 0x19]
mov r8, qword [rbp - 0x11]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x14002e086
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.140064fd0
mov word [rbx + rdi*2], r14w
lea rax, [rbp - 0x29]
jmp 0x14002e094
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x29]
call fcn.140002bc0
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 0x14002e0f3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e0ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002e2f3
call fcn.140062c6c
mov qword [rbp - 0x19], r14
mov qword [rbp - 0x11], 7
mov word [rbp - 0x29], r14w
mov rdx, qword [rbp - 0x31]
cmp rdx, 8
jb 0x14002e144
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e13f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002e2f9
call fcn.140062c6c
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 0x14002e191
movups xmm0, xmmword [r14]
movups xmmword [rbp - 0x71], xmm0
mov edi, 7
jmp 0x14002e220
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 0x14002e2ed
add rcx, rcx
cmp rcx, 0x1000
jb 0x14002e1fb
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14002e2ed
mov rcx, rax
call fcn.140062b60
mov rcx, rax
test rax, rax
je 0x14002e2ff
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14002e209
test rcx, rcx
je 0x14002e207
call fcn.140062b60
jmp 0x14002e209
xor eax, eax
mov qword [rbp - 0x71], rax
lea r8, [r15*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.140064fd0
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x59], rdi
lea rdx, [rbp - 0x71]
mov rcx, r13
call fcn.14002e310
nop
cmp r12, 8
jb 0x14002e271
lea rdx, [r12*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14002e268
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002e305
mov rcx, rbx
call fcn.140062c6c
nop
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x14002e2ac
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14002e2a7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14002e2e7
mov rcx, r8
call fcn.140062c6c
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.140062b40
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.14006ef68
nop
call fcn.1400013e0
nop
call fcn.14006ef68
nop
call fcn.14006ef68
int3
call fcn.14006ef68
nop
call fcn.14006ef68
int3