Function at 0x140030200
Capabilities:
Create shortcut via ishelllink

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x390]
sub rsp, 0x490
mov rax, qword [0x140071010]
xor rax, rsp
mov qword [rbp + 0x380], rax
mov rdi, rcx
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x60]
call fcn.1400388e0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x170]
call fcn.1400388e0
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x170]
call fcn.14002ec90
call qword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
mov rcx, rax
mov r9d, 0x104
lea r8, [rsp + 0x60]
xor edx, edx
call qword [sym.imp.PSAPI.DLL_GetModuleFileNameExW]
xor r14d, r14d
mov qword [rsp + 0x30], r14
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1400302a0
mov qword [rsp + 0x30], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [0x1400602c0]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1400539b8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test eax, eax
js 0x140030489
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
call qword [rax + LoadRegTypeLib]
mov ebx, eax
test eax, eax
js 0x140030489
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
lea rdx, [0x14005d198]
call qword [rax + 0x58]
mov ebx, eax
test eax, eax
js 0x140030489
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
call qword [rax + 0x48]
mov ebx, eax
test eax, eax
js 0x140030489
mov qword [rsp + 0x38], r14
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14003033b
mov qword [rsp + 0x38], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
lea r8, [rsp + 0x38]
lea rdx, [0x1400603b8]
call qword [rax]
mov ebx, eax
test eax, eax
js 0x140030473
add rdi, 0x30
cmp qword [rdi + 0x18], 8
jb 0x140030369
mov rdi, qword [rdi]
mov ebx, 0x80070057
test rdi, rdi
cmovne ebx, r14d
je 0x1400303cc
mov rax, 0xffffffffffffffff
nop
lea rax, [rax + 1]
cmp word [rdi + rax*2], 0
jne 0x140030380
lea rsi, [rax*2 + 2]
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov qword [rsp + 0x50], rax
mov ebx, 0x8007000e
test rax, rax
cmovne ebx, r14d
je 0x1400303cc
test rsi, rsi
je 0x1400303c2
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call fcn.14003afb0
mov eax, 0x1f
mov word [rsp + 0x48], ax
test ebx, ebx
js 0x140030473
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
lea r8, [rsp + 0x48]
lea rdx, [0x1400539a0]
call qword [rax + 0x30]
mov ebx, eax
test eax, eax
js 0x140030467
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
js 0x140030467
mov qword [rsp + 0x40], r14
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14003041c
mov qword [rsp + 0x40], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
lea rdx, [0x140060328]
call qword [rax]
mov ebx, eax
test eax, eax
js 0x140030452
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov r8d, 1
lea rdx, [rbp + 0x170]
call qword [rax + 0x30]
mov ebx, eax
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140030467
mov qword [rsp + 0x40], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [rsp + 0x48]
call qword [sym.imp.ole32.dll_PropVariantClear]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140030489
mov qword [rsp + 0x38], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14003049e
mov qword [rsp + 0x30], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, ebx
mov rcx, qword [rbp + 0x380]
xor rcx, rsp
call fcn.140036870
lea r11, [rsp + 0x490]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret