Function at 0x140001b80
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
mov rax, qword [0x140082010]
xor rax, rsp
mov qword [rbp + 0x4f], rax
mov rdi, rdx
lea r9, [rbp + 0x47]
xor r8d, r8d
xor edx, edx
lea rcx, [0x14004f8c0]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
js 0x140001cd4
mov rdx, qword [rbp + 0x47]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp word [rdx + r8*2], 0
jne 0x140001bd4
xor eax, eax
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], 7
mov word [rbp - 9], ax
lea rcx, [rbp - 9]
call fcn.140005d70
lea rdx, [rbp - 9]
lea rcx, [0x1400820e0]
call fcn.140005690
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x140001c50
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001c48
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001c48
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004bc84
nop dword [rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140001c50
call fcn.14004b1cc
mov qword [rbp + 0x17], rdi
mov qword [rbp + 0x1f], rbx
lea r8, [rbp + 0x17]
mov edx, eax
lea rcx, [rbp - 9]
call fcn.140004d00
nop
lea rdx, [rbp - 9]
lea rcx, [0x1400820e0]
call fcn.140005ae0
nop
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x140001cca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001cc5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001cc5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004bc84
mov rcx, qword [rbp + 0x47]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rax, [0x1400820e0]
cmp qword [0x1400820f8], 8
cmovae rax, qword [0x1400820e0]
mov qword [rbp + 0x17], rax
mov rax, qword [0x1400820f0]
mov qword [rbp + 0x1f], rax
movaps xmm0, xmmword [rbp + 0x17]
movdqa xmmword [rbp - 9], xmm0
lea r8, [rbp - 9]
mov edx, 0xfde9
lea rcx, [rbp + 0x17]
call fcn.140007d90
mov rdx, qword [0x140082088]
cmp rdx, 0x10
jb 0x140001d56
mov rcx, qword [0x140082070]
inc rdx
cmp rdx, 0x1000
jb 0x140001d51
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140001e36
mov rcx, r8
call fcn.14004bc84
movups xmm0, xmmword [rbp + 0x17]
movaps xmmword [0x140082070], xmm0
movups xmm1, xmmword [rbp + 0x27]
movaps xmmword [0x140082080], xmm1
lea rcx, [0x1400820e0]
call fcn.140006eb0
test al, al
jne 0x140001dcc
lea rcx, [0x1400820e0]
cmp qword [0x1400820f8], 8
cmovae rcx, qword [0x1400820e0]
call fcn.14004b9d0
shr rax, 0x20
test eax, eax
jne 0x140001e53
lea rcx, [0x1400820e0]
cmp qword [0x1400820f8], 8
cmovae rcx, qword [0x1400820e0]
call fcn.14004b42c
shr rax, 0x20
test eax, eax
jne 0x140001e69
lea rax, [rbp - 9]
mov qword [rbp + 0x37], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 9], xmm0
lea rax, [rbp + 0x17]
mov qword [rbp + 0x3f], rax
movdqu xmmword [rbp + 0x17], xmm0
lea rdx, [0x1400820e0]
lea rcx, [rbp + 0x17]
call fcn.140006020
test eax, eax
jne 0x140001e3d
lea r9, [0x140082100]
lea r8, [rbp - 9]
lea rdx, [rbp + 0x17]
lea rcx, [rbp + 0x3f]
call fcn.140004030
mov rcx, qword [rbp + 0x4f]
xor rcx, rsp
call fcn.14004bc60
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea r8, [0x1400820e0]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.140006e40
nop
lea r8, [0x1400820e0]
mov edx, eax
lea rcx, str.remove
call fcn.140006e40
int3
lea r8, [0x1400820e0]
mov edx, eax
lea rcx, str.create_directory
call fcn.140006e40
int3