Function at 0x140019da0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0xa0
mov rax, qword [0x1402a76c0]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov ebp, edx
lea rdx, str.UninstUnInstaller::CreateShortCutFolder
lea rcx, [rsp + 0x40]
call fcn.14001abe0
nop
lea r14, [0x1402a8360]
lea rsi, [0x1402bbdb0]
mov rcx, qword [0x1402a8360]
cmp rcx, r14
je 0x140019e61
test byte [rcx + 0x1c], 1
je 0x140019e2a
mov r9, rsi
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, socket
lea r8, [0x1402526c0]
mov rcx, qword [rcx + 0x10]
call fcn.140001ad0
mov rcx, qword [0x1402a8360]
cmp rcx, r14
je 0x140019e61
test byte [rcx + 0x1c], 1
je 0x140019e61
mov r9, rsi
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, socket
mov dword [rsp + 0x20], ebp
lea r8, [0x1402526c0]
mov rcx, qword [rcx + 0x10]
call fcn.140001b40
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov ecx, 0x208
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rdi, rax
test rax, rax
jne 0x140019ed7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsp + 0x48], 1
mov rax, qword [0x1402a8360]
cmp rax, r14
je 0x140019fa6
test byte [rax + 0x1c], 1
je 0x140019fa6
mov r9, rsi
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
lea edx, [rbx + 0x16]
mov qword [rsp + 0x20], rbx
lea r8, [0x1402526c0]
mov rcx, qword [rax + 0x10]
call fcn.140006c90
mov rax, qword [0x1402a8360]
jmp 0x140019fa6
lea r8, [rsp + 0x30]
mov edx, ebp
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov ebp, eax
mov rdx, rdi
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
jne 0x140019f06
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rdi, rbx
test ebp, ebp
jne 0x140019f58
cmp qword [rsp + 0x30], rbx
je 0x140019f58
mov qword [rsp + 0x38], rbx
lea rcx, [rsp + 0x38]
call qword [sym.imp.SHELL32.dll_SHGetMalloc]
test eax, eax
js 0x140019f58
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140019f58
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rax + 0x28]
call qword [case.0x1400136d6.0]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400136d6.0]
mov qword [rsp + 0x30], rbx
mov byte [rsp + 0x48], 1
mov rax, qword [0x1402a8360]
cmp rax, r14
je 0x140019fa3
test byte [rax + 0x1c], 1
je 0x140019fa3
mov r9, rsi
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, reloc.WSOCK32.dll_socket
mov qword [rsp + 0x20], rdi
lea r8, [0x1402526c0]
mov rcx, qword [rax + 0x10]
call fcn.140006c90
mov rax, qword [0x1402a8360]
mov rbx, rdi
lea rcx, vtable.WppTrace.0
mov qword [rsp + 0x40], rcx
cmp byte [rsp + 0x48], 0
jne 0x14001a002
cmp rax, r14
je 0x14001a002
test byte [rax + 0x1c], 1
je 0x14001a002
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
cmp qword [0x1402bbdc8], 8
cmovae rsi, qword [0x1402bbdb0]
mov edx, 0xa
mov qword [rsp + 0x20], rcx
mov r9, rsi
lea r8, [0x140252818]
mov rcx, qword [rax + 0x10]
call fcn.140006c90
lea rcx, [rsp + 0x70]
call fcn.1400048a0
lea rcx, [rsp + 0x50]
call fcn.1400048a0
mov rax, rbx
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1401e2900
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret