Function at 0x140082670
Capabilities:
Get common file path
Get startup folder

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x268]
sub rsp, 0x340
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140325af8]
xor rax, rsp
mov qword [rbp + 0x230], rax
mov r15, rcx
xor r12d, r12d
mov dword [rsp + 0x50], r12d
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x20]
call fcn.1401dbcd0
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], r12w
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r12w
movdqa xmm0, xmmword [0x1402e5c30]
movdqu xmmword [rbp - 0x10], xmm0
mov word [rbp - 0x20], r12w
movdqu xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x40], r12w
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r12 + 0x23]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea r13, [r12 - 1]
lea r14, [0x14031f5e8]
test eax, eax
js 0x14008297b
movdqa xmm0, xmmword [0x1402e5c30]
movdqu xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x60], r12w
lea rax, [rbp + 0x20]
mov r8, r13
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140082760
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x60]
call fcn.14000c510
nop
lea r8, [0x14031f5a8]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.14000d030
mov rbx, rax
lea rax, [rbp - 0x80]
cmp rax, rbx
je 0x1400827c2
lea rcx, [rbp - 0x80]
call fcn.14000cdc0
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x140082805
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400827ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082f39
call fcn.1401d94a8
nop
movdqa xmm0, xmmword [0x1402e5c30]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], r12w
mov dword [rsp + 0x50], 1
mov rdx, qword [rbp - 0x70]
add rdx, qword [0x14031f5f8]
cmovb rdx, r13
lea rcx, [rsp + 0x30]
call fcn.14000a270
mov rdi, qword [rbp - 0x70]
lea r9, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae r9, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x140082894
lea rax, [rsi + rdi]
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x30]
cmp rcx, 8
cmovae rbx, qword [rsp + 0x30]
lea r8, [rdi + rdi]
lea rcx, [rbx + rsi*2]
mov rdx, r9
call fcn.1401db870
lea rax, [rdi + rsi]
mov word [rbx + rax*2], r12w
jmp 0x1400828a9
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14000ac60
mov rdi, qword [0x14031f5f8]
mov r9, r14
cmp qword [0x14031f600], 8
cmovae r9, qword [0x14031f5e8]
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x14008290b
lea rax, [rsi + rdi]
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x30]
cmp rcx, 8
cmovae rbx, qword [rsp + 0x30]
lea r8, [rdi + rdi]
lea rcx, [rbx + rsi*2]
mov rdx, r9
call fcn.1401db870
lea rax, [rdi + rsi]
mov word [rbx + rax*2], r12w
jmp 0x140082920
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14000ac60
lea rcx, [rbp - 0x20]
call fcn.14000cdc0
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x10], xmm1
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x14008297b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140082976
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082f3f
call fcn.1401d94a8
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x23]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x140082be4
movdqa xmm0, xmmword [0x1402e5c30]
movdqu xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x60], r12w
lea rax, [rbp + 0x20]
mov r8, r13
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400829c0
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x60]
call fcn.14000c510
nop
lea r8, [0x14031f5c8]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.14000d030
mov rbx, rax
lea rax, [rsp + 0x60]
cmp rax, rbx
je 0x140082a26
lea rcx, [rsp + 0x60]
call fcn.14000cdc0
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x140082a69
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140082a63
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082f45
call fcn.1401d94a8
nop
movdqa xmm0, xmmword [0x1402e5c30]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], r12w
mov dword [rsp + 0x50], 2
mov rdx, qword [rsp + 0x70]
add rdx, qword [0x14031f5f8]
cmovb rdx, r13
lea rcx, [rsp + 0x30]
call fcn.14000a270
mov rdi, qword [rsp + 0x70]
lea r9, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae r9, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x140082afd
lea rax, [rsi + rdi]
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x30]
cmp rcx, 8
cmovae rbx, qword [rsp + 0x30]
lea r8, [rdi + rdi]
lea rcx, [rbx + rsi*2]
mov rdx, r9
call fcn.1401db870
lea rax, [rdi + rsi]
mov word [rbx + rax*2], r12w
jmp 0x140082b12
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14000ac60
mov rdi, qword [0x14031f5f8]
cmp qword [0x14031f600], 8
cmovae r14, qword [0x14031f5e8]
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x140082b71
lea rax, [rdi + rsi]
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x30]
cmp rcx, 8
cmovae rbx, qword [rsp + 0x30]
lea r8, [rdi + rdi]
lea rcx, [rbx + rsi*2]
mov rdx, r14
call fcn.1401db870
lea rax, [rsi + rdi]
mov word [rbx + rax*2], r12w
jmp 0x140082b89
mov qword [rsp + 0x20], rdi
mov r9, r14
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14000ac60
lea rcx, [rbp - 0x40]
call fcn.14000cdc0
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x30], xmm1
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x140082be4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140082bdf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082f4b
call fcn.1401d94a8
lea rcx, [rbp]
call fcn.14000cf30
nop
lea r8, [0x14031f628]
lea rdx, [rbp]
lea rcx, [rbp - 0x60]
call fcn.14000d030
mov rbx, rax
lea rdi, [r15 + 0x1a8]
cmp rdi, rax
je 0x140082c37
mov rcx, rdi
call fcn.14000cdc0
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x140082c77
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140082c72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082f51
call fcn.1401d94a8
mov rcx, qword [r15 + 0x1a0]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.14007d670
test al, al
je 0x140082cff
mov ecx, 0x270
call fcn.1401d946c
mov rdi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140082cfa
xor edx, edx
mov r8d, 0x270
mov rcx, rax
call fcn.1401dbcd0
mov rcx, qword [r15 + 0x1a0]
mov rdx, qword [rcx]
call qword [rdx + 0x18]
mov ebx, eax
mov rcx, qword [r15 + 0x1a0]
mov rdx, qword [rcx]
call qword [rdx + 0x28]
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 8
cmovae rdx, qword [rbp - 0x40]
movzx r9d, bl
mov r8d, eax
mov rcx, rdi
call fcn.140041c70
jmp 0x140082cfd
mov rax, r12
jmp 0x140082d74
lea rdx, [rbp - 0x80]
mov rcx, r15
call fcn.14007d670
test al, al
je 0x140082d7b
mov ecx, 0x270
call fcn.1401d946c
mov rdi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140082d71
xor edx, edx
mov r8d, 0x270
mov rcx, rax
call fcn.1401dbcd0
mov rcx, qword [r15 + 0x1a0]
mov rdx, qword [rcx]
call qword [rdx + 0x18]
mov ebx, eax
mov rcx, qword [r15 + 0x1a0]
mov rdx, qword [rcx]
call qword [rdx + 0x28]
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 8
cmovae rdx, qword [rbp - 0x20]
movzx r9d, bl
mov r8d, eax
mov rcx, rdi
call fcn.140041c70
jmp 0x140082d74
mov rax, r12
mov qword [0x14032b840], rax
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x140082dbb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140082db6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082f57
call fcn.1401d94a8
movdqa xmm0, xmmword [0x1402e5c30]
movdqu xmmword [rbp + 0x10], xmm0
mov word [rbp], r12w
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x140082e0d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140082e08
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082f5d
call fcn.1401d94a8
movdqa xmm0, xmmword [0x1402e5c30]
movdqu xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x40], r12w
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x140082e5f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140082e5a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082f63
call fcn.1401d94a8
movdqa xmm0, xmmword [0x1402e5c30]
movdqu xmmword [rbp - 0x10], xmm0
mov word [rbp - 0x20], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140082eb3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140082eae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082f69
call fcn.1401d94a8
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r12w
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x140082f03
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140082efe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140082f33
call fcn.1401d94a8
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.1401d9c30
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1401e4d9c
nop
call fcn.1401e4d9c
nop
call fcn.1401e4d9c
nop
call fcn.1401e4d9c
nop
call fcn.1401e4d9c
nop
call fcn.1401e4d9c
nop
call fcn.1401e4d9c
nop
call fcn.1401e4d9c
nop
call fcn.1401e4d9c
nop
call fcn.1401e4d9c
int3