Function at 0x140011ff0
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2a0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x218], 0xfffffffffffffffe
lea rsi, [rcx + 0xe0]
cmp qword [rcx + 0xf0], 0
je 0x14001203a
mov rax, rsi
add rsp, 0x2a0
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov rdi, rcx
lea rbx, [rbp - 0x50]
mov r8d, 0x208
mov rcx, rbx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x20], rbx
xor ecx, ecx
mov edx, 0x28
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x1400120ea
lea rbx, [rbp + 0x1f8]
lea rdx, [rbp - 0x50]
mov rcx, rbx
mov r8d, 0xffffffff
call fcn.1400186a0
cmp rbx, rsi
je 0x14001227c
mov rax, qword [rdi + 0xf8]
cmp rax, 0x10
jb 0x1400120d0
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400120cb
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x1400122c6
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400651e0
movups xmm0, xmmword [rbp + 0x1f8]
movups xmm1, xmmword [rbp + 0x208]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
jmp 0x140012025
lea rax, str.HOMEDRIVE
mov qword [rbp + 0x1b8], rax
mov qword [rbp + 0x1c0], 9
mov rax, qword [rdi]
lea r15, [rbp + 0x1f8]
lea r8, [rbp + 0x1b8]
mov rcx, rdi
mov rdx, r15
call qword [rax + 0x50]
lea rax, str.HOMEPATH
mov qword [rbp + 0x1c8], rax
mov qword [rbp + 0x1d0], 8
mov rax, qword [rdi]
lea r14, [rbp + 0x1d8]
lea r8, [rbp + 0x1c8]
mov rcx, rdi
mov rdx, r14
call qword [rax + 0x50]
mov rbx, qword [rbp + 0x208]
test rbx, rbx
je 0x14001223b
cmp qword [rbp + 0x1e8], 0
je 0x14001223b
cmp r15, rsi
je 0x1400121ca
cmp qword [rbp + 0x210], 0x10
jb 0x140012184
mov r15, qword [rbp + 0x1f8]
mov rax, qword [rdi + 0xf8]
cmp rax, rbx
jae 0x1400121a0
mov rcx, rsi
mov rdx, rbx
mov r9, r15
call fcn.140003190
jmp 0x1400121ca
mov r12, rsi
cmp rax, 0x10
jb 0x1400121b0
mov r12, qword [rdi + 0xe0]
mov qword [rdi + 0xf0], rbx
mov rcx, r12
mov rdx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [r12 + rbx], 0
mov r8, qword [rbp + 0x1e8]
cmp qword [rbp + 0x1f0], 0x10
jb 0x1400121e2
mov r14, qword [rbp + 0x1d8]
mov rcx, qword [rdi + 0xf0]
mov rax, qword [rdi + 0xf8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x140012210
mov qword [rsp + 0x20], r8
mov rcx, rsi
mov rdx, r8
mov r9, r14
call fcn.140006270
jmp 0x14001223b
lea r15, [rcx + r8]
mov qword [rdi + 0xf0], r15
mov rbx, rsi
cmp rax, 0x10
jb 0x14001222b
mov rbx, qword [rdi + 0xe0]
add rcx, rbx
mov rdx, r14
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + r15], 0
mov rax, qword [rbp + 0x1f0]
cmp rax, 0x10
jb 0x14001227c
mov rcx, qword [rbp + 0x1d8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140012277
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x1400122c6
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400651e0
mov rax, qword [rbp + 0x210]
cmp rax, 0x10
jb 0x140012025
mov rcx, qword [rbp + 0x1f8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400122bc
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x1400122c6
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400651e0
jmp 0x140012025
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3