Function at 0x1400061e0
Capabilities:
Create shortcut via ishelllink

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x1400d7090]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rbx, rdx
mov qword [rsp + 0x48], rdx
mov r15, rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rdx
xor r14d, r14d
mov dword [rsp + 0x40], r14d
call fcn.140002a30
mov rcx, rax
test rax, rax
je 0x1400068f8
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp - 0x78], rdi
mov rcx, qword [rbx]
sub rcx, 0x18
call fcn.140009c90
lea rbx, [rax + 0x18]
mov qword [rbp - 0x80], rbx
movsxd rsi, dword [rax + 8]
test esi, esi
js 0x1400068ed
mov edx, 1
sub edx, dword [rax + 0x10]
mov eax, dword [rax + 0xc]
sub eax, esi
or eax, edx
jge 0x140006286
mov edx, esi
lea rcx, [rbp - 0x80]
call fcn.140009d40
mov rbx, qword [rbp - 0x80]
lea eax, [rsi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.14007c7ac
cmp esi, dword [rbx - 0xc]
jg 0x1400068ed
mov dword [rbx - 0x10], esi
mov word [rbx + rsi*2], r14w
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r14
mov r8d, 4
lea rdx, str..lnk
lea rcx, [rbp - 0x50]
call fcn.14000ad60
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], rax
lea rax, [rbp - 0x28]
mov qword [rbp - 0x30], rax
mov r8d, 3
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.1400086f0
nop
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], r14
mov rdx, qword [rbp - 0x30]
mov r14, 0xffffffffffffffff
mov r8, r14
inc r8
cmp byte [rdx + r8], 0
jne 0x140006326
lea rcx, [rbp - 0x70]
call fcn.14000ad60
nop
lea r13, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae r13, qword [rbp - 0x50]
lea r9, [rbp - 0x70]
cmp qword [rbp - 0x58], 0x10
cmovae r9, qword [rbp - 0x70]
mov qword [rsp + 0x30], r9
mov r12, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
cmp r12, rax
ja 0x1400063d6
sub rax, r12
test r12, r12
je 0x140006465
inc rax
add rax, r9
mov qword [rsp + 0x38], rax
movsx edx, byte [r13]
mov r8, rax
sub r8, r9
mov rcx, r9
call fcn.140074a70
mov rsi, rax
test rax, rax
je 0x1400063d6
nop word [rax + rax]
mov r8, r12
mov rdx, r13
mov rcx, rsi
call fcn.140074af0
test eax, eax
je 0x140006456
inc rsi
mov r8, qword [rsp + 0x38]
sub r8, rsi
movsx edx, byte [r13]
mov rcx, rsi
call fcn.140074a70
mov rsi, rax
test rax, rax
jne 0x1400063a0
lea rdx, str..lnk
lea rcx, [rsp + 0x30]
call fcn.140007130
nop
lea r8, [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.140006bf0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x1400064d9
cmp dword [rdi + 0x10], 0
jl 0x1400064cb
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1400064cb
call fcn.140009c90
mov rbx, rax
mov ecx, r14d
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x140006449
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rbp - 0x78], rax
jmp 0x1400064d9
sub rsi, qword [rsp + 0x30]
cmp rsi, 0xffffffffffffffff
je 0x1400063d6
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
lea rcx, [rdx - 0x18]
lea rsi, [rdi - 0x18]
cmp rcx, rsi
je 0x140006520
cmp dword [rsi + 0x10], 0
jl 0x1400064b8
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x1400064b8
call fcn.140009c90
mov rdi, rax
mov ecx, r14d
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x1400064ae
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
add rdi, 0x18
mov qword [rbp - 0x78], rdi
jmp 0x14000651c
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x78]
call fcn.140009da0
mov rdi, qword [rbp - 0x78]
jmp 0x140006520
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x78]
call fcn.140009da0
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400064f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140006518
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x80]
xor eax, eax
mov qword [r15], rax
call fcn.140002a30
mov rcx, rax
test rax, rax
je 0x140006903
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [r15], rax
mov esi, 1
mov dword [rsp + 0x40], esi
mov rcx, r15
call fcn.140007290
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [0x1400a88a0]
mov r8d, esi
xor edx, edx
lea rcx, [0x1400a88c0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1400067ca
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x78]
lea rdx, [0x1400a88b0]
call qword [rax]
test eax, eax
js 0x1400067ca
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, rdi
call qword [rax + 0x28]
test eax, eax
js 0x1400067ca
mov ecx, esi
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x400
or ecx, eax
jge 0x1400065e1
mov edx, 0x400
lea rcx, [rbp - 0x80]
call fcn.140009d40
mov rbx, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov r8d, 0x400
mov rdx, rbx
call qword [rax + 0x18]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.140078a38
test eax, eax
js 0x14000691f
cmp eax, dword [rbx - 0xc]
jg 0x14000691f
mov dword [rbx - 0x10], eax
cdqe
xor edi, edi
mov word [rbx + rax*2], di
lea rdx, [rbp - 0x80]
mov rcx, r15
call fcn.140007070
mov ecx, esi
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x400
or eax, ecx
jge 0x140006657
mov edx, 0x400
lea rcx, [rbp - 0x80]
call fcn.140009d40
mov rbx, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
mov r8d, 0x400
mov rdx, rbx
call qword [rax + 0x50]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.140078a38
test eax, eax
js 0x14000691f
cmp eax, dword [rbx - 0xc]
jg 0x14000691f
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], di
lea rdx, [0x1400c8f0c]
lea rcx, [rsp + 0x38]
call fcn.140007130
nop
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.140006bf0
nop
mov rdi, qword [rax]
movsxd rcx, dword [rdi - 0x10]
mov rax, qword [r15]
mov r13, rdi
sub r13, rax
sar r13, 1
mov r12d, dword [rax - 0x10]
test ecx, ecx
js 0x140006914
test rdi, rdi
jne 0x1400066e1
xor eax, eax
mov esi, eax
jmp 0x1400066ef
mov rdx, rcx
mov rcx, rdi
call fcn.140078a38
mov rsi, rax
mov ecx, 0x7fffffff
sub ecx, esi
cmp ecx, r12d
jl 0x140006914
lea ebx, [r12 + rsi]
test ebx, ebx
js 0x140006914
mov rcx, qword [r15]
mov edx, 1
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
sub eax, ebx
or eax, edx
jge 0x140006729
mov edx, ebx
mov rcx, r15
call fcn.140009d40
mov rax, qword [r15]
cmp r13, r12
ja 0x140006735
lea rdi, [rax + r13*2]
movsxd r8, esi
add r8, r8
lea rcx, [rax + r12*2]
je 0x14000676c
test rcx, rcx
je 0x14000675c
test rdi, rdi
je 0x140006755
mov rdx, rdi
call fcn.140074000
jmp 0x14000676c
xor edx, edx
call fcn.1400746b0
call fcn.14007c594
mov dword [rax], socket
call fcn.14007c410
mov rax, qword [r15]
cmp ebx, dword [rax - 0xc]
jg 0x140006914
mov dword [rax - 0x10], ebx
movsxd rcx, ebx
mov rax, qword [r15]
xor edx, edx
mov word [rax + rcx*2], dx
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400067a7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400067c6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x140006812
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000680c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000690e
call fcn.14001d650
nop
lea rax, [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
cmp rcx, rax
je 0x140006825
call fcn.14007c800
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140006861
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000685b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400068e7
call fcn.14001d650
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000687c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000689b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x1400068bd
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov rax, r15
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.14001d630
mov rbx, qword [rsp + 0x1c0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14007c430
int3
mov ecx, 0x80070057
call fcn.140002870
nop
mov ecx, 0x80004005
call fcn.140002870
nop
mov ecx, 0x80004005
call fcn.140002870
nop
call fcn.14007c430
nop
mov ecx, 0x80070057
call fcn.140002870
nop
mov ecx, 0x80070057
call fcn.140002870
int3