Function at 0x140006710
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov rax, qword [0x140032040]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rax, rdx
mov rsi, rcx
mov qword [rbp + 0x17], rcx
xor r15d, r15d
mov dword [rbp - 0x39], r15d
mov qword [rbp + 0x27], r15
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r15
mov qword [rcx + 0x18], 0xf
mov byte [rcx], r15b
mov dword [rbp - 0x39], 1
lea r9, [rbp + 0x27]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
js 0x1400069e5
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
mov rdx, qword [rbp + 0x27]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400067a0
lea rcx, [rbp - 0x11]
call fcn.140014350
nop
lea rcx, [rbp - 0x11]
mov r8, qword [rbp + 7]
cmp r8, 7
cmova rcx, qword [rbp - 0x11]
mov rax, qword [rbp - 1]
lea r14, [rcx + rax*2]
lea rbx, [rbp - 0x11]
cmova rbx, qword [rbp - 0x11]
xorps xmm0, xmm0
movups xmmword [rbp - 0x31], xmm0
cmp rbx, r14
jne 0x1400067f9
mov qword [rbp - 0x21], r15
mov eax, 0xf
mov qword [rbp - 0x19], rax
mov byte [rbp - 0x31], 0
jmp 0x1400068f7
sub r14, rbx
sar r14, 1
mov qword [rbp - 0x19], 0xf
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x140006a0b
mov edi, 0xf
cmp r14, rdi
jbe 0x1400068b8
mov rdi, r14
or rdi, 0xf
cmp rdi, rax
jbe 0x14000686f
mov rdi, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400224e8
mov rcx, rax
test rax, rax
je 0x14000698c
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x19], rdi
jmp 0x1400068bc
mov eax, 0x16
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x140006891
mov rax, r15
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x19], rdi
jmp 0x1400068bc
cmp rcx, 0x1000
jb 0x1400068a9
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140006a11
jmp 0x140006845
call fcn.1400224e8
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x19], rdi
jmp 0x1400068bc
mov rax, qword [rbp - 0x31]
lea r8, [rbp - 0x31]
cmp rdi, 0xf
cmova r8, rax
mov rcx, r8
mov rdx, r14
test r14, r14
je 0x1400068e6
movzx eax, byte [rbx]
mov byte [rcx], al
lea rcx, [rcx + 1]
lea rbx, [rbx + 2]
sub rdx, 1
jne 0x1400068d3
mov qword [rbp - 0x21], r14
mov byte [r8 + r14], 0
mov r8, qword [rbp + 7]
mov rax, qword [rbp - 0x19]
lea rcx, [rbp - 0x31]
cmp rsi, rcx
je 0x14000695d
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x14000693a
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x140006931
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000698c
mov rcx, r8
call fcn.140022240
mov r8, qword [rbp + 7]
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
movups xmm0, xmmword [rbp - 0x31]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 0x21]
movups xmmword [rsi + 0x10], xmm1
mov eax, 0xf
mov byte [rbp - 0x31], 0
cmp rax, 0xf
jbe 0x14000699c
lea rdx, [rax + 1]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006993
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140006993
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140022240
mov r8, qword [rbp + 7]
cmp r8, 7
jbe 0x1400069db
lea rdx, [r8*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400069d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400069d6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140022240
mov rcx, qword [rbp + 0x27]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rax, rsi
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140022220
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.1400013c0
int3
call fcn.140001320
int3