Function at 0x14002aea0
Capabilities:
Get common file path

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rdi, rcx
xor r14d, r14d
mov qword [rsp + 0x70], r14
xor bl, bl
lea r9, [rsp + 0x70]
xor r8d, r8d
xor edx, edx
lea rcx, [0x14003eae8]
call sub.SHELL32.dll_SHGetKnownFolderPath
test eax, eax
jne 0x14002b1b1
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x14002aeed
mov rax, qword [rdi]
test rax, rax
je 0x14002aeed
cmp qword [rax], rsi
je 0x14002af42
mov rcx, rdi
call fcn.14002b910
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400395d4
mov rbx, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002af33
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x14002af36
test rsi, rsi
jne 0x14002b1d5
jmp 0x14002af36
mov rbx, r14
mov qword [rdi], rbx
test rbx, rbx
je 0x14002b201
mov rsi, qword [str.AdobeAcrobatWCIEActiveX_]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400395d4
mov rbx, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002af87
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x14002af8a
test rsi, rsi
jne 0x14002b1e0
jmp 0x14002af8a
mov rbx, r14
mov qword [rsp + 0x78], rbx
test rbx, rbx
je 0x14002b201
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400395d4
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002afc1
lea r8, [rsp + 0x78]
mov rdx, rdi
mov rcx, rax
call fcn.14002abf0
mov rsi, rax
jmp 0x14002afc4
mov rsi, r14
test rsi, rsi
je 0x14002b20c
mov rcx, rdi
call fcn.14002b910
mov qword [rdi], rsi
mov ebp, 0xffffffff
mov eax, ebp
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14002b019
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002affa
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002b00c
call fcn.140039610
mov qword [rbx + 8], r14
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140039610
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400395d4
mov rbx, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002b056
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, [0x14003e1a0]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x14002b1eb
jmp 0x14002b059
mov rbx, r14
mov qword [rsp + 0x20], rbx
test rbx, rbx
je 0x14002b201
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400395d4
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002b090
lea r8, [rsp + 0x20]
mov rdx, rdi
mov rcx, rax
call fcn.14002abf0
mov rsi, rax
jmp 0x14002b093
mov rsi, r14
test rsi, rsi
je 0x14002b217
mov rcx, rdi
call fcn.14002b910
mov qword [rdi], rsi
mov eax, ebp
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14002b0e3
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002b0c4
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002b0d6
call fcn.140039610
mov qword [rbx + 8], r14
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140039610
mov rsi, qword [str.AcroIEFavStub.dll]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400395d4
mov rbx, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002b128
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x14002b12b
test rsi, rsi
jne 0x14002b1f6
jmp 0x14002b12b
mov rbx, r14
mov qword [rsp + 0x28], rbx
test rbx, rbx
je 0x14002b201
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400395d4
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002b162
lea r8, [rsp + 0x28]
mov rdx, rdi
mov rcx, rax
call fcn.14002abf0
mov rsi, rax
jmp 0x14002b165
mov rsi, r14
test rsi, rsi
je 0x14002b1ca
mov rcx, rdi
call fcn.14002b910
mov qword [rdi], rsi
lock xadd dword [rbx + 0x10], ebp
cmp ebp, 1
jne 0x14002b1af
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002b190
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002b1a2
call fcn.140039610
mov qword [rbx + 8], r14
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140039610
mov bl, 1
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
movzx eax, bl
add rsp, 0x30
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x8007000e
call fcn.140031220
nop
mov ecx, 0x8007000e
call fcn.140031220
nop
mov ecx, 0x8007000e
call fcn.140031220
nop
mov ecx, 0x8007000e
call fcn.140031220
nop
mov ecx, 0x8007000e
call fcn.140031220
nop
mov ecx, 0x8007000e
call fcn.140031220
nop
mov ecx, 0x8007000e
call fcn.140031220
nop
mov ecx, 0x8007000e
call fcn.140031220
int3