Function at 0x1400747c0
Capabilities:
Create shortcut via ishelllink

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x318
mov r14, r8
mov r13d, edx
mov rsi, rcx
mov rax, qword [0x140213038]
xor rax, rsp
mov qword [rsp + 0x310], rax
movaps xmm0, xmmword [0x1401d9dd0]
lea rdi, [rsp + 0xb0]
movaps xmmword [rdi + 0x40], xmm0
movaps xmmword [rdi + 0x30], xmm0
movaps xmmword [rdi + 0x20], xmm0
movaps xmmword [rdi + 0x10], xmm0
movaps xmmword [rdi], xmm0
lea rdx, str.ResolveShortcutProperties
lea r8, str..._.._base_win_shortcut.cc
lea rbp, [rsp + 0x100]
mov rcx, rbp
mov r9d, 0xcd
call fcn.1400d95e0
xor ebx, ebx
mov rcx, rdi
mov rdx, rbp
xor r8d, r8d
call fcn.1400e5a80
lea rax, [rsp + 0xa8]
mov qword [rax], 0
mov qword [rsp + 0x20], rax
lea rcx, [0x1401cc118]
lea r9, [0x1401eda08]
xor edx, edx
mov r8d, 1
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140074a9a
lea r8, [rsp + 0xa0]
mov qword [r8], 0
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
lea rdx, [0x1401eda78]
call qword [rax]
test eax, eax
js 0x140074e59
mov rcx, qword [rsp + 0xa0]
cmp byte [rsi + 0x17], 0
jns 0x1400748b8
mov rsi, qword [rsi]
mov rax, qword [rcx]
xor ebx, ebx
mov rdx, rsi
xor r8d, r8d
call qword [rax + 0x28]
test eax, eax
js 0x140074a7b
mov dword [r14 + 0xac], 0
lea rcx, [rsp + 0x100]
mov r8d, 0x208
mov dl, 0xaa
call fcn.140103d70
test r13b, 1
je 0x14007496a
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
mov dword [rsp + 0x20], 2
xor ebx, ebx
lea rsi, [rsp + 0x100]
mov rdx, rsi
mov r8d, 0x104
xor r9d, r9d
call qword [rax + 0x18]
test eax, eax
js 0x140074a7b
lea rdi, [rsp + 0x70]
mov qword [rdi], rsi
mov rcx, rsi
call fcn.14011bf14
mov qword [rdi + 8], rax
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, rdi
call fcn.1400d7ac0
mov rcx, r14
mov rdx, rsi
call fcn.140048830
or byte [r14 + 0xac], 1
mov rcx, rsi
call fcn.1400d7bc0
test r13b, 2
jne 0x140074b90
test r13b, 4
je 0x140074a5b
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x100]
mov r8d, 0x104
call qword [rax + 0x50]
test eax, eax
js 0x140074e59
movabs rdi, 0x7fffffffffffffef
lea rcx, [rsp + 0x100]
call fcn.14011bf14
cmp rax, rdi
ja 0x140074cee
mov rsi, rax
cmp rax, 0xb
jae 0x140074aec
lea rbx, [rsp + 0x80]
mov byte [rbx + 0x17], sil
cmp rsi, 3
jne 0x140074b85
movzx eax, word [rsp + 0x104]
mov word [rsp + 0x84], ax
mov eax, dword [rsp + 0x100]
mov dword [rsp + 0x80], eax
mov word [rbx + rsi*2], 0
lea rcx, [r14 + 0x30]
lea rsi, [rsp + 0x80]
cmp rcx, rsi
je 0x140074a49
cmp byte [rcx + 0x17], 0
js 0x140074b3c
cmp byte [rsp + 0x97], 0
js 0x140074b6b
mov rax, qword [rsp + 0x90]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rcx], xmm0
or byte [r14 + 0xac], 4
cmp byte [rsi + 0x17], 0
js 0x140074de4
test r13b, 8
jne 0x140074bff
test r13b, 0x10
jne 0x140074cfb
mov bl, 1
test r13b, 0xe0
jne 0x140074d81
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x140074a9a
mov qword [rsp + 0xa0], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x140074ab9
mov qword [rsp + 0xa8], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [rsp + 0xb0]
call fcn.1400e5c10
mov rcx, qword [rsp + 0x310]
xor rcx, rsp
call fcn.1401013e0
mov eax, ebx
add rsp, 0x318
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rbp, [rsi + 8]
and rbp, 0xfffffffffffffff8
mov rcx, rbp
add rcx, rbp
call fcn.140100528
mov rbx, rax
mov qword [rsp + 0x80], rax
add rdi, 0x11
or rdi, rbp
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x88], rsi
mov r8, rsi
add r8, rsi
lea rdx, [rsp + 0x100]
mov rcx, rbx
call fcn.140103960
jmp 0x140074a03
lea rsi, [rsp + 0x80]
movzx r8d, byte [rsi + 0x17]
mov rdx, rsi
test r8b, r8b
jns 0x140074b61
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
call fcn.1400d6360
jmp 0x140074a49
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
call fcn.1400d6490
jmp 0x140074a49
test rsi, rsi
je 0x140074a03
jmp 0x140074b21
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
lea rsi, [rsp + 0x100]
mov rdx, rsi
mov r8d, 0x104
call qword [rax + 0x40]
test eax, eax
js 0x140074e59
lea rdi, [rsp + 0x60]
mov qword [rdi], rsi
mov rcx, rsi
call fcn.14011bf14
mov qword [rdi + 8], rax
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, rdi
call fcn.1400d7ac0
lea rcx, [r14 + 0x18]
mov rdx, rsi
call fcn.140048830
or byte [r14 + 0xac], 2
mov rcx, rsi
call fcn.1400d7bc0
jmp 0x140074974
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x100]
mov r8d, 0x104
call qword [rax + 0x30]
test eax, eax
js 0x140074e59
movabs rdi, 0x7fffffffffffffef
lea rcx, [rsp + 0x100]
call fcn.14011bf14
cmp rax, rdi
ja 0x140074cee
mov rsi, rax
cmp rax, 0xb
jae 0x140074e60
lea rbx, [rsp + 0x80]
mov byte [rbx + 0x17], sil
cmp rsi, 3
jne 0x1400751f1
movzx eax, word [rsp + 0x104]
mov word [rsp + 0x84], ax
mov eax, dword [rsp + 0x100]
mov dword [rsp + 0x80], eax
mov word [rbx + rsi*2], 0
lea rcx, [r14 + 0x48]
lea rsi, [rsp + 0x80]
cmp rcx, rsi
je 0x140074cca
cmp byte [rcx + 0x17], 0
js 0x140074f11
cmp byte [rsp + 0x97], 0
js 0x140074f40
mov rax, qword [rsp + 0x90]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rcx], xmm0
or byte [r14 + 0xac], 8
cmp byte [rsi + 0x17], 0
jns 0x140074a65
mov rcx, qword [rsp + 0x80]
call fcn.140100564
jmp 0x140074a65
lea rcx, [rsp + 0x80]
call fcn.140154d80
lea r9, [rsp + 0x30]
mov dword [r9], 0xaaaaaaaa
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
lea rsi, [rsp + 0x100]
mov rdx, rsi
mov r8d, 0x104
call qword [rax + 0x80]
test eax, eax
js 0x140074e59
mov ebx, dword [rsp + 0x30]
lea rdi, [rsp + 0x50]
mov qword [rdi], rsi
mov rcx, rsi
call fcn.14011bf14
mov qword [rdi + 8], rax
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, rdi
call fcn.1400d7ac0
lea rcx, [r14 + 0x60]
mov rdx, rsi
call fcn.140048830
mov dword [r14 + 0x78], ebx
or byte [r14 + 0xac], 0x10
mov rcx, rsi
call fcn.1400d7bc0
jmp 0x140074a6f
lea r8, [rsp + 0x48]
mov qword [r8], 0
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
lea rdx, [0x1401eda88]
call qword [rax]
test eax, eax
js 0x140074e40
test r13b, 0x20
jne 0x140074df6
test r13b, 0x40
jne 0x140074eb0
test r13b, r13b
js 0x140074fd9
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140074a7b
mov qword [rsp + 0x48], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x140074a7b
mov rcx, qword [rsp + 0x80]
call fcn.140100564
jmp 0x140074a5b
xorps xmm0, xmm0
lea r8, [rsp + 0x80]
movaps xmmword [r8], xmm0
mov qword [r8 + 0x10], 0
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea rdx, [0x1401e7ec8]
call qword [rax + 0x28]
test eax, eax
je 0x140074f5a
cmp word [rsp + 0x80], 0
je 0x140074e40
lea rcx, [rsp + 0x80]
call qword [sym.imp.ole32.dll_PropVariantClear]
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140074e59
mov qword [rsp + 0x48], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
xor ebx, ebx
jmp 0x140074a7b
lea rbp, [rsi + 8]
and rbp, 0xfffffffffffffff8
mov rcx, rbp
add rcx, rbp
call fcn.140100528
mov rbx, rax
mov qword [rsp + 0x80], rax
add rdi, 0x11
or rdi, rbp
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x88], rsi
mov r8, rsi
add r8, rsi
lea rdx, [rsp + 0x100]
mov rcx, rbx
call fcn.140103960
jmp 0x140074c84
xorps xmm0, xmm0
lea r8, [rsp + 0x80]
movaps xmmword [r8], xmm0
mov qword [r8 + 0x10], 0
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea rdx, [0x1401e7edc]
call qword [rax + 0x28]
test eax, eax
jne 0x140074e27
movzx eax, word [rsp + 0x80]
cmp ax, 0xb
je 0x1400750fb
test ax, ax
jne 0x140074e32
mov byte [r14 + 0x98], 0
or byte [r14 + 0xac], 0x40
jmp 0x140074db9
lea rsi, [rsp + 0x80]
movzx r8d, byte [rsi + 0x17]
mov rdx, rsi
test r8b, r8b
jns 0x140074f36
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
call fcn.1400d6360
jmp 0x140074cca
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
call fcn.1400d6490
jmp 0x140074cca
movzx eax, word [rsp + 0x80]
cmp ax, 0x1f
je 0x140075041
test ax, ax
jne 0x140074e32
xorps xmm0, xmm0
lea rax, [rsp + 0x30]
movaps xmmword [rax], xmm0
mov qword [rax + 0x10], 0
lea rcx, [r14 + 0x80]
cmp rcx, rax
je 0x140074faf
cmp byte [rcx + 0x17], 0
js 0x14007518f
mov rax, qword [rsp + 0x40]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rcx], xmm0
or byte [r14 + 0xac], 0x20
cmp word [rsp + 0x80], 0
je 0x140074daf
lea rcx, [rsp + 0x80]
call qword [sym.imp.ole32.dll_PropVariantClear]
jmp 0x140074daf
xorps xmm0, xmm0
lea r8, [rsp + 0x80]
movaps xmmword [r8], xmm0
mov qword [r8 + 0x10], 0
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea rdx, [0x1401e7ef0]
call qword [rax + 0x28]
test eax, eax
jne 0x140074e27
movzx eax, word [rsp + 0x80]
cmp ax, 0x48
je 0x140075165
test ax, ax
jne 0x140074e32
movups xmm0, xmmword [0x1401cc108]
movups xmmword [r14 + 0x9c], xmm0
or byte [r14 + 0xac], 0x80
jmp 0x140074dc2
movabs rdi, 0x7fffffffffffffef
mov r15, qword [rsp + 0x88]
mov rcx, r15
call fcn.14011bf14
cmp rax, rdi
ja 0x1400751ff
mov rsi, rax
cmp rax, 0xb
jae 0x140075123
mov byte [rsp + 0x47], sil
lea r12, [rsp + 0x30]
test rsi, rsi
je 0x14007509c
cmp rsi, 3
jne 0x14007514f
movzx eax, word [r15 + 4]
mov word [r12 + 4], ax
mov eax, dword [r15]
mov dword [r12], eax
mov word [r12 + rsi*2], 0
lea rcx, [r14 + 0x80]
lea rsi, [rsp + 0x30]
cmp rcx, rsi
je 0x1400750da
cmp byte [rcx + 0x17], 0
js 0x1400751b7
cmp byte [rsp + 0x47], 0
js 0x1400751dd
mov rax, qword [rsp + 0x40]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rcx], xmm0
or byte [r14 + 0xac], 0x20
cmp byte [rsi + 0x17], 0
jns 0x140074fb7
mov rcx, qword [rsp + 0x30]
call fcn.140100564
jmp 0x140074fb7
lea rcx, [rsp + 0x80]
cmp word [rcx + 8], 0xffff
sete byte [r14 + 0x98]
or byte [r14 + 0xac], 0x40
call qword [sym.imp.ole32.dll_PropVariantClear]
jmp 0x140074db9
lea rbp, [rsi + 8]
and rbp, 0xfffffffffffffff8
mov rcx, rbp
add rcx, rbp
call fcn.140100528
mov r12, rax
mov qword [rsp + 0x30], rax
add rdi, 0x11
or rdi, rbp
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rsi
mov r8, rsi
add r8, rsi
mov rcx, r12
mov rdx, r15
call fcn.140103960
jmp 0x14007509c
lea rcx, [rsp + 0x80]
mov rax, qword [rcx + 8]
movups xmm0, xmmword [rax]
movups xmmword [r14 + 0x9c], xmm0
or byte [r14 + 0xac], 0x80
call qword [sym.imp.ole32.dll_PropVariantClear]
jmp 0x140074dc2
lea rsi, [rsp + 0x30]
mov rdx, rsi
xor r8d, r8d
call fcn.1400d6360
mov al, byte [rsi + 0x17]
or dword [r14 + 0xac], 0x20
test al, al
jns 0x140074fb7
jmp 0x1400750ec
lea rsi, [rsp + 0x30]
movzx r8d, byte [rsi + 0x17]
mov rdx, rsi
test r8b, r8b
jns 0x1400751d3
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
call fcn.1400d6360
jmp 0x1400750da
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
call fcn.1400d6490
jmp 0x1400750da
test rsi, rsi
je 0x140074c84
jmp 0x140074e95
lea rcx, [rsp + 0x30]
call fcn.140154d80
int3