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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x280
mov rax, qword [0x18028f9a8]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov rbx, rcx
mov qword [rsp + 0x30], rcx
mov ecx, dword [0x1802a2cc0]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1802992a0], ecx
jg 0x1800163a6
xor ebp, ebp
cmp qword [0x18028f0d0], rbp
je 0x180016202
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rbp
mov rbp, qword [0x18028f0d0]
lea rdi, [0x18028f0c0]
cmp qword [0x18028f0d8], 8
cmovae rdi, qword [0x18028f0c0]
cmp rbp, 8
jae 0x1800161bb
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
mov esi, 7
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rsi
jmp 0x180016374
mov rsi, rbp
or rsi, 7
movabs rax, 0x7ffffffffffffffe
cmp rsi, rax
cmova rsi, rax
lea rdx, [rsi + 1]
mov rcx, rbx
call fcn.18001c6a0
mov qword [rbx], rax
lea r8, [rbp*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.1801a4560
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rsi
jmp 0x180016374
mov qword [rsp + 0x48], rbp
mov esi, 7
mov qword [rsp + 0x50], rsi
mov word [rsp + 0x38], bp
lea r8d, [rsi - 3]
lea rdx, [0x1801e46d0]
lea rcx, [rsp + 0x38]
call fcn.18001ccd0
nop
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x60]
call fcn.1801a4970
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 0x13]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x18001628a
lea rax, [rsp + 0x60]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x180016270
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.18001ccd0
mov r8d, 1
lea rdx, [0x1801e46dc]
lea rcx, [rsp + 0x38]
call fcn.18001c830
lea rdi, [0x18028f0c0]
cmp rdi, rax
je 0x1800162c6
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x1800162bb
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.18001ccd0
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rbp
mov rbp, qword [0x18028f0d0]
cmp qword [0x18028f0d8], 8
cmovae rdi, qword [0x18028f0c0]
cmp rbp, 8
jae 0x1800162f3
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
jmp 0x18001632e
mov rsi, rbp
or rsi, 7
movabs rax, 0x7ffffffffffffffe
cmp rsi, rax
cmova rsi, rax
lea rdx, [rsi + 1]
mov rcx, rbx
call fcn.18001c6a0
mov qword [rbx], rax
lea r8, [rbp*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.1801a4560
nop
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rsi
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x180016374
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001636f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800163a0
call fcn.180186100
mov rax, rbx
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.180186840
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call fcn.1801a8e8c
int3
lea rcx, [0x1802992a0]
call fcn.180186618
cmp dword [0x1802992a0], 0xffffffff
jne 0x180016168
lea rcx, [0x1801e3180]
call fcn.180186478
lea rcx, [0x1802992a0]
call fcn.1801865b8
jmp 0x180016168