Function at 0x14002ace0
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, [0x14003db08]
call sub.SHELL32.dll_SHGetKnownFolderPath
test eax, eax
jne 0x14002aff9
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x14002ad35
mov rax, qword [rdi]
test rax, rax
je 0x14002ad2d
mov rcx, qword [rax]
jmp 0x14002ad30
mov rcx, r14
cmp rcx, rsi
je 0x14002ad8a
mov rcx, rdi
call fcn.14002b4c0
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140038c74
mov rbx, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002ad7b
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 0x14002ad7e
test rsi, rsi
jne 0x14002b01d
jmp 0x14002ad7e
mov rbx, r14
mov qword [rdi], rbx
test rbx, rbx
je 0x14002b049
mov rsi, qword [str.AdobeAcrobatWCIEActiveX_]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140038c74
mov rbx, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002adcf
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 0x14002add2
test rsi, rsi
jne 0x14002b028
jmp 0x14002add2
mov rbx, r14
mov qword [rsp + 0x78], rbx
test rbx, rbx
je 0x14002b049
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140038c74
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002ae09
lea r8, [rsp + 0x78]
mov rdx, rdi
mov rcx, rax
call fcn.14002a9c0
mov rsi, rax
jmp 0x14002ae0c
mov rsi, r14
test rsi, rsi
je 0x14002b054
mov rcx, rdi
call fcn.14002b4c0
mov qword [rdi], rsi
mov ebp, 0xffffffff
mov eax, ebp
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14002ae61
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002ae42
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002ae54
call fcn.140038cb0
mov qword [rbx + 8], r14
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140038cb0
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140038c74
mov rbx, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002ae9e
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, [0x14003d1b0]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x14002b033
jmp 0x14002aea1
mov rbx, r14
mov qword [rsp + 0x20], rbx
test rbx, rbx
je 0x14002b049
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140038c74
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002aed8
lea r8, [rsp + 0x20]
mov rdx, rdi
mov rcx, rax
call fcn.14002a9c0
mov rsi, rax
jmp 0x14002aedb
mov rsi, r14
test rsi, rsi
je 0x14002b05f
mov rcx, rdi
call fcn.14002b4c0
mov qword [rdi], rsi
mov eax, ebp
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14002af2b
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002af0c
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002af1e
call fcn.140038cb0
mov qword [rbx + 8], r14
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140038cb0
mov rsi, qword [str.AcroIEFavStub.dll]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140038c74
mov rbx, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002af70
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 0x14002af73
test rsi, rsi
jne 0x14002b03e
jmp 0x14002af73
mov rbx, r14
mov qword [rsp + 0x28], rbx
test rbx, rbx
je 0x14002b049
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.140038c74
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14002afaa
lea r8, [rsp + 0x28]
mov rdx, rdi
mov rcx, rax
call fcn.14002a9c0
mov rsi, rax
jmp 0x14002afad
mov rsi, r14
test rsi, rsi
je 0x14002b012
mov rcx, rdi
call fcn.14002b4c0
mov qword [rdi], rsi
lock xadd dword [rbx + 0x10], ebp
cmp ebp, 1
jne 0x14002aff7
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002afd8
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002afea
call fcn.140038cb0
mov qword [rbx + 8], r14
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140038cb0
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.140030ab0
nop
mov ecx, 0x8007000e
call fcn.140030ab0
nop
mov ecx, 0x8007000e
call fcn.140030ab0
nop
mov ecx, 0x8007000e
call fcn.140030ab0
nop
mov ecx, 0x8007000e
call fcn.140030ab0
nop
mov ecx, 0x8007000e
call fcn.140030ab0
nop
mov ecx, 0x8007000e
call fcn.140030ab0
nop
mov ecx, 0x8007000e
call fcn.140030ab0
int3