Function at 0x1400087f0
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov rsi, rcx
lea rdi, [rsp + 0xa8]
mov rcx, rdi
call fcn.140010b23
movzx eax, word [rdi + 0x10]
test ax, ax
jne 0x14000884b
movups xmm0, xmmword [rsp + 0xa8]
lea rdx, [rsp + 0x108]
movups xmmword [rdx], xmm0
lea rdi, [rsp + 0x90]
mov rcx, rdi
call fcn.140010ba8
movzx eax, word [rdi + 0x10]
test ax, ax
je 0x140008863
mov word [rsi + 0x10], ax
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r15, qword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
lea rdx, [0x141337008]
lea rdi, [rsp + 0x58]
mov rcx, rdi
mov r8, r15
mov r9, r12
call fcn.14000df9c
cmp word [rdi + 0x10], 0
je 0x1400088f5
lea rcx, [0x141311a30]
lea r9, [rsp + 0x28]
mov edx, 0x8000
xor r8d, r8d
call sub.SHELL32.dll_SHGetKnownFolderPath
test eax, eax
jne 0x140008c06
mov r8, 0xffffffffffffffff
mov rdx, qword [rsp + 0x28]
cmp word [rdx + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x1400088c1
lea rdi, [rsp + 0x58]
mov rcx, rdi
call fcn.140007bfc
cmp word [rdi + 0x10], 0
je 0x140008b94
mov rcx, qword [rsp + 0x28]
call sub.ole32.dll_CoTaskMemFree
jmp 0x140008c06
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov rcx, r14
call fcn.14000e4ca
mov rbx, rax
mov rdi, rdx
mov rcx, qword [0x141337008]
mov rax, qword [0x141337010]
mov rdx, qword [rax + 0x10]
mov r8, r14
mov r9, r13
call fcn.14000e3f5
test rbx, rbx
je 0x140008894
lea r14, [rsp + 0x38]
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.140007bfc
movzx eax, word [r14 + 0x10]
lea ecx, [rax - 2]
cmp ecx, 3
jb 0x140008894
test eax, eax
jne 0x140008894
lea r13, [rsp + 0x38]
mov rdi, qword [r13]
mov rbx, qword [r13 + 8]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
lea rbp, [rsp + 0x28]
and qword [rbp], 0
mov qword [rsp + 0x88], rax
lea r14, [rsp + 0x70]
mov qword [r14], rbp
mov edx, 0x27
mov rcx, r14
call fcn.140008c75
mov rcx, r12
mov rdx, rbp
call fcn.140008c58
mov qword [r13], rbp
mov edx, 1
mov rcx, r13
call fcn.140008c75
mov r8, qword [rbp]
lea rdx, [0x141311a20]
lea rbp, [rsp + 0x58]
mov rcx, rbp
call fcn.140008c8e
cmp word [rbp + 0x10], 0
jne 0x140008a6c
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rsp + 0x38], xmm0
and qword [rsp + 0x48], 0
mov qword [rsp + 0x30], r13
lea rcx, [rsp + 0x28]
mov qword [rcx], r13
lea rdx, [0x141331b40]
mov r8d, 0x27
call fcn.140008d15
test ax, ax
jne 0x140008a53
lea r8, [rsp + 0x30]
mov rcx, r15
mov rdx, r12
call fcn.140008cf2
test ax, ax
jne 0x140008a53
lea rcx, [rsp + 0x70]
mov qword [rcx], r13
lea rdx, [0x141331b6a]
mov r8d, 1
call fcn.140008d15
test ax, ax
je 0x140008c49
lea rdx, [rsp + 0x38]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
lea rcx, [rsp + 0x88]
call fcn.1400094c4
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
and qword [rsp + 0x70], 0
mov qword [rsp + 0x30], rax
lea r15, [rsp + 0x38]
mov qword [r15], r14
mov edx, 0x15
mov rcx, r15
call fcn.140008c75
mov rcx, rbx
mov rdx, r14
call fcn.140008c58
mov r8, qword [rsp + 0x70]
lea rdx, [0x141311a20]
lea r14, [rsp + 0x58]
mov rcx, r14
call fcn.140008c8e
cmp word [r14 + 0x10], 0
jne 0x140008b30
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rsp + 0x38], xmm0
and qword [rsp + 0x48], 0
mov qword [rsp + 0x28], r15
lea rcx, [rsp + 0x70]
mov qword [rcx], r15
lea rdx, [0x141331b6c]
mov r8d, 0x15
call fcn.140008d15
test ax, ax
jne 0x140008b1a
lea r8, [rsp + 0x28]
mov rcx, rdi
mov rdx, rbx
call fcn.140008cf2
test ax, ax
je 0x140008c3a
lea rdx, [rsp + 0x38]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
lea rcx, [rsp + 0x30]
call fcn.1400094c4
movups xmm0, xmmword [0x141337008]
lea rdx, [rsp + 0xf0]
movaps xmmword [rdx], xmm0
lea r8, [rsp + 0x118]
mov qword [r8], rdi
mov qword [r8 + 8], rbx
lea rax, [0x14001bfe8]
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], 8
lea rdi, [rsp + 0xc0]
mov r9d, 2
mov rcx, rdi
call fcn.140009192
movzx eax, word [rdi + 0x10]
test ax, ax
jne 0x14000884b
movups xmm0, xmmword [rsp + 0xc0]
jmp 0x140008c2d
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
lea r8, [rsp + 0x38]
mov qword [r8], rdi
mov qword [r8 + 8], rbx
lea rax, [0x14001bfe8]
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], 8
lea rdx, [0x141337008]
lea r14, [rsp + 0xd8]
mov r9d, 2
mov rcx, r14
call fcn.140009192
movups xmm0, xmmword [0x141337008]
lea rcx, [rsp + 0x70]
movaps xmmword [rcx], xmm0
mov rdx, rdi
mov r8, rbx
call fcn.14000b4d5
mov rcx, qword [rsp + 0x28]
call sub.ole32.dll_CoTaskMemFree
cmp word [r14 + 0x10], 0
je 0x140008c25
call fcn.14000935c
mov rax, qword [0x14001c008]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [0x14001bff8]
movups xmmword [rsi], xmm0
jmp 0x14000884f
movups xmm0, xmmword [rsp + 0xd8]
movups xmmword [rsi], xmm0
and word [rsi + 0x10], 0
jmp 0x14000884f
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
jmp 0x140008b1a
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
jmp 0x140008a53