Function at 0x1400011c0
Capabilities:
Create shortcut via ishelllink
Get common file path
Get startup folder

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x1d0]
sub rsp, 0x2d0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
xor r15d, r15d
mov r8d, 0x104
lea rdx, [rbp + 0xb0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edi, 7
mov edx, edi
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jne 0x140001686
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea rax, [rbp - 0x60]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], r15b
jne 0x140001253
movabs r12, 0x7fffffffffffffff
cmp rbx, r12
ja 0x1400016de
cmp rbx, 0xf
ja 0x14000129e
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov r8, rbx
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rbx + 0x30], r15b
jmp 0x140001339
mov rsi, rbx
or rsi, 0xf
cmp rsi, r12
jbe 0x1400012d6
mov rsi, r12
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140001c20
test rax, rax
je 0x140001308
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x140001317
mov eax, 0x16
cmp rsi, rax
cmovb rsi, rax
lea rcx, [rsi + 1]
test rcx, rcx
jne 0x1400012f0
mov r14, r15
jmp 0x140001317
cmp rcx, 0x1000
jb 0x14000130f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400016d8
jmp 0x1400012bb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001c20
mov r14, rax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
mov r8, rbx
lea rdx, [rbp - 0x60]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov byte [r14 + rbx], r15b
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov rax, rdx
sub rax, rcx
mov r14d, 0xa
cmp rax, r14
jb 0x14000138c
lea rax, [rcx + 0xa]
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x30]
cmp rdx, 0xf
cmova rbx, qword [rsp + 0x30]
add rbx, rcx
mov r8d, r14d
lea rdx, str.MyApp.lnk
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0xa], 0
lea rax, [rsp + 0x30]
jmp 0x14000139e
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.1400019f0
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x14000140b
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001406
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001406
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001c5c
movdqa xmm0, xmmword [0x140003470]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
mov qword [rsp + 0x50], r15
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [0x140003320]
xor edx, edx
mov r8d, 1
lea rcx, [0x140003340]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x14000163f
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea rdx, [rbp + 0xb0]
call qword [rax + 0xa0]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea r8, [rsp + 0x58]
lea rdx, [0x140003330]
call qword [rax]
test eax, eax
js 0x140001634
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova rdx, qword [rbp - 0x80]
mov rsi, qword [rbp - 0x70]
add rsi, rdx
lea rbx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova rbx, qword [rbp - 0x80]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], rdi
cmp rbx, rsi
jne 0x1400014d1
mov word [rsp + 0x60], r15w
jmp 0x1400015c3
sub rsi, rbx
movabs rax, 0x7ffffffffffffffe
cmp rsi, rax
ja 0x1400016e4
cmp rsi, 7
jbe 0x140001580
mov rdi, rsi
or rdi, 7
cmp rdi, rax
jbe 0x140001546
mov rdi, rax
lea rcx, [r12 + r12]
cmp rcx, 0x1000
jb 0x14000156f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400016d2
mov rcx, rax
call fcn.140001c20
mov rcx, rax
test rax, rax
je 0x140001628
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rdi
jmp 0x140001585
cmp rdi, 0xa
cmovb rdi, r14
lea rcx, [rdi + 1]
cmp rcx, r12
ja 0x1400016d2
add rcx, rcx
jne 0x140001504
mov rax, r15
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rdi
jmp 0x140001585
call fcn.140001c20
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rdi
jmp 0x140001585
mov rax, qword [rsp + 0x60]
lea r9, [rsp + 0x60]
cmp rdi, 7
cmova r9, rax
mov rcx, r9
mov rdx, rsi
test rsi, rsi
je 0x1400015b4
nop dword [rax]
movsx eax, byte [rbx]
mov word [rcx], ax
lea rcx, [rcx + 2]
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x1400015a0
mov qword [rsp + 0x70], rsi
mov word [r9 + rsi*2], r15w
mov rdi, qword [rsp + 0x78]
lea rdx, [rsp + 0x60]
cmp rdi, 7
cmova rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov r8d, 1
call qword [rax + 0x30]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x140001634
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000162f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000162f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001c5c
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x1400016a2
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000167f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000167f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001c5c
jmp 0x1400016a2
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400017f0
mov rcx, rax
lea rdx, [0x1400019b0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.140001c00
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.140001100
nop
call fcn.140001100
int3
call fcn.1400011a0
nop
call fcn.1400011a0
int3