Function at 0x140076190
Capabilities:
Create shortcut via ishelllink

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov rax, qword [0x1401750b8]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
xor r14d, r14d
lea rax, [rsp + 0x30]
mov rbx, r8
mov qword [rsp + 0x30], r14
mov esi, edx
mov qword [rsp + 0x20], rax
mov rdi, rcx
lea r9, [0x140151178]
lea r8d, [r14 + 1]
xor edx, edx
lea rcx, [0x14013be00]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x1400761fd
xor bl, bl
jmp 0x14007688b
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], r14
lea rdx, [0x140151188]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
js 0x140076874
cmp qword [rdi + 0x18], 8
jb 0x14007622a
mov rdi, qword [rdi]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov rdx, rdi
mov rax, qword [rcx]
call qword [rax + 0x28]
test eax, eax
js 0x140076874
mov dword [rbx + 0xcc], r14d
test sil, 1
je 0x140076323
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp - 0x70]
xor r9d, r9d
mov dword [rsp + 0x20], 2
mov r8d, 0x104
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
js 0x140076874
cmp word [rbp - 0x70], r14w
jne 0x140076288
mov r8, r14
jmp 0x14007629a
lea rax, [rbp - 0x70]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], r14w
jne 0x140076290
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], r14
mov word [rsp + 0x48], r14w
test r8, r8
jne 0x1400762c0
mov qword [rsp + 0x58], r14
mov word [rsp + 0x48], r14w
jmp 0x1400762ce
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x48]
call fcn.140029c40
xor edx, edx
lea rcx, [rsp + 0x48]
xor r8d, r8d
call fcn.140050760
cmp rax, 0xffffffffffffffff
je 0x1400762f4
or r8, 0xffffffffffffffff
lea rcx, [rsp + 0x48]
mov rdx, rax
call fcn.14002b250
lea rax, [rsp + 0x48]
cmp rbx, rax
je 0x140076312
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0x48]
xor r8d, r8d
mov rcx, rbx
call fcn.140029d5c
or dword [rbx + 0xcc], 1
lea rcx, [rsp + 0x48]
call fcn.1400599c0
test sil, 2
je 0x1400763f4
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp - 0x70]
mov r8d, 0x104
mov rax, qword [rcx]
call qword [rax + 0x40]
test eax, eax
js 0x140076874
cmp word [rbp - 0x70], r14w
jne 0x140076356
mov r8, r14
jmp 0x14007636a
lea rax, [rbp - 0x70]
or r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], r14w
jne 0x140076360
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], r14
mov word [rsp + 0x48], r14w
test r8, r8
jne 0x140076390
mov qword [rsp + 0x58], r14
mov word [rsp + 0x48], r14w
jmp 0x14007639e
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x48]
call fcn.140029c40
xor edx, edx
lea rcx, [rsp + 0x48]
xor r8d, r8d
call fcn.140050760
cmp rax, 0xffffffffffffffff
je 0x1400763c4
or r8, 0xffffffffffffffff
lea rcx, [rsp + 0x48]
mov rdx, rax
call fcn.14002b250
lea rcx, [rbx + 0x20]
lea rax, [rsp + 0x48]
cmp rcx, rax
je 0x1400763e3
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0x48]
xor r8d, r8d
call fcn.140029d5c
or dword [rbx + 0xcc], 2
lea rcx, [rsp + 0x48]
call fcn.1400599c0
movabs rdi, 0x7fffffffffffffff
test sil, 4
je 0x1400764ea
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp - 0x70]
mov r8d, 0x104
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
js 0x140076874
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], r14
mov word [rsp + 0x48], r14w
cmp word [rbp - 0x70], r14w
jne 0x140076445
mov r8, r14
jmp 0x14007645a
lea rax, [rbp - 0x70]
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], r14w
jne 0x140076450
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x48]
call fcn.140029c40
lea rcx, [rbx + 0x40]
lea rax, [rsp + 0x48]
cmp rcx, rax
je 0x140076487
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0x48]
xor r8d, r8d
call fcn.140029d5c
or dword [rbx + 0xcc], 4
mov rax, qword [rsp + 0x60]
cmp rax, 8
jb 0x1400764ea
mov rcx, qword [rsp + 0x48]
inc rax
cmp rax, rdi
ja 0x140076904
add rax, rax
cmp rax, 0x1000
jb 0x1400764e5
test cl, 0x1f
jne 0x14007690a
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140076910
sub rcx, rax
cmp rcx, 8
jb 0x140076916
cmp rcx, 0x27
ja 0x14007691c
mov rcx, rax
call fcn.140111e78
test sil, 8
je 0x1400765da
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp - 0x70]
mov r8d, 0x104
mov rax, qword [rcx]
call qword [rax + 0x30]
test eax, eax
js 0x140076874
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], r14
mov word [rsp + 0x48], r14w
cmp word [rbp - 0x70], r14w
jne 0x140076531
mov r8, r14
jmp 0x14007654a
lea rax, [rbp - 0x70]
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], r14w
jne 0x140076540
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x48]
call fcn.140029c40
lea rcx, [rbx + 0x60]
lea rax, [rsp + 0x48]
cmp rcx, rax
je 0x140076577
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0x48]
xor r8d, r8d
call fcn.140029d5c
or dword [rbx + 0xcc], 8
mov rax, qword [rsp + 0x60]
cmp rax, 8
jb 0x1400765da
mov rcx, qword [rsp + 0x48]
inc rax
cmp rax, rdi
ja 0x140076922
add rax, rax
cmp rax, 0x1000
jb 0x1400765d5
test cl, 0x1f
jne 0x140076928
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x14007692e
sub rcx, rax
cmp rcx, 8
jb 0x140076934
cmp rcx, 0x27
ja 0x14007693a
mov rcx, rax
call fcn.140111e78
test sil, 0x10
je 0x1400766c1
mov rcx, qword [rsp + 0x30]
lea r9, [rsp + 0x38]
mov r8d, 0x104
lea rdx, [rbp - 0x70]
mov rax, qword [rcx]
call qword [rax + 0x80]
test eax, eax
js 0x140076874
cmp word [rbp - 0x70], r14w
jne 0x140076615
mov r8, r14
jmp 0x14007662a
lea rax, [rbp - 0x70]
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], r14w
jne 0x140076620
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], r14
mov word [rsp + 0x48], r14w
test r8, r8
jne 0x140076650
mov qword [rsp + 0x58], r14
mov word [rsp + 0x48], r14w
jmp 0x14007665e
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x48]
call fcn.140029c40
xor edx, edx
lea rcx, [rsp + 0x48]
xor r8d, r8d
call fcn.140050760
cmp rax, 0xffffffffffffffff
je 0x140076684
or r8, 0xffffffffffffffff
lea rcx, [rsp + 0x48]
mov rdx, rax
call fcn.14002b250
mov edi, dword [rsp + 0x38]
lea rcx, [rbx + 0x80]
lea rax, [rsp + 0x48]
cmp rcx, rax
je 0x1400766aa
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0x48]
xor r8d, r8d
call fcn.140029d5c
or dword [rbx + 0xcc], 0x10
lea rcx, [rsp + 0x48]
mov dword [rbx + 0xa0], edi
call fcn.1400599c0
test sil, 0x60
je 0x1400768fd
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x38]
mov qword [rsp + 0x38], r14
lea rdx, [0x140151198]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
js 0x14007685f
test sil, 0x20
je 0x1400767f0
mov rcx, qword [rsp + 0x38]
lea r8, [rsp + 0x48]
xor eax, eax
lea rdx, [0x140150d98]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, qword [rsp + 0x48]
test eax, eax
jne 0x14007684f
movzx eax, cx
test eax, eax
je 0x140076770
cmp eax, 0x1f
jne 0x14007684f
mov rdx, qword [rsp + 0x50]
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], r14
mov word [rsp + 0x68], r14w
cmp word [rdx], r14w
jne 0x140076760
mov r8, r14
jmp 0x14007678d
or r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], r14w
jne 0x140076764
jmp 0x14007678d
mov qword [rbp - 0x80], 7
lea rdx, [0x140155fdc]
mov qword [rsp + 0x78], r14
xor r8d, r8d
mov word [rsp + 0x68], r14w
lea rcx, [rsp + 0x68]
call fcn.140029c40
lea rax, [rsp + 0x68]
lea rcx, [rbx + 0xa8]
cmp rcx, rax
je 0x1400767b9
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0x68]
xor r8d, r8d
call fcn.140029d5c
or dword [rbx + 0xcc], 0x20
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400767dd
mov rcx, qword [rsp + 0x68]
mov r8d, 2
inc rdx
call fcn.1400223b0
cmp word [rsp + 0x48], r14w
je 0x1400767f0
lea rcx, [rsp + 0x48]
call qword [sym.imp.ole32.dll_PropVariantClear]
test sil, 0x40
je 0x1400768e8
mov rcx, qword [rsp + 0x38]
lea r8, [rsp + 0x48]
xor eax, eax
lea rdx, [0x140150e18]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, qword [rsp + 0x48]
test eax, eax
jne 0x14007684f
movzx eax, cx
test eax, eax
je 0x1400768ca
cmp eax, 0xb
jne 0x14007684f
cmp word [rsp + 0x50], 0xffff
sete al
mov byte [rbx + 0xc8], al
jmp 0x1400768d1
test cx, cx
je 0x14007685f
lea rcx, [rsp + 0x48]
call qword [sym.imp.ole32.dll_PropVariantClear]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140076874
mov qword [rsp + 0x38], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
xor bl, bl
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14007688b
mov qword [rsp + 0x40], r14
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1400768a0
mov qword [rsp + 0x30], r14
mov rdx, qword [rcx]
call qword [rdx + 0x10]
movzx eax, bl
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.140111850
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
mov byte [rbx + 0xc8], r14b
or dword [rbx + 0xcc], 0x40
test cx, cx
je 0x1400768e8
lea rcx, [rsp + 0x48]
call qword [sym.imp.ole32.dll_PropVariantClear]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400768fd
mov qword [rsp + 0x38], r14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov bl, 1
jmp 0x140076876
call fcn.140116070
int3
call fcn.140116070
int3
call fcn.140116070
int3
call fcn.140116070
int3
call fcn.140116070
int3
call fcn.140116070
int3
call fcn.140116070
int3
call fcn.140116070
int3
call fcn.140116070
int3
call fcn.140116070
int3