Function at 0x1801d8bc0
Capabilities:
Create shortcut via ishelllink

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov rax, qword [0x18032a080]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x40], r8
mov rsi, rdx
mov qword [rsp + 0x60], rcx
mov rbx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xb8]
mov qword [rsp + 0x50], rax
mov rdx, qword [rbp + 0xc8]
xor r14d, r14d
mov dword [rsp + 0x48], r14d
cmp qword [rsi + 0x10], r14
je 0x1801d9479
cmp qword [rbx + 0x10], r14
je 0x1801d9479
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
movdqa xmm1, xmmword [0x180291a20]
movdqu xmmword [rbp + 0x28], xmm1
mov word [rbp + 0x18], r14w
lea rdi, [r14 - 1]
test rdx, rdx
je 0x1801d8d6f
mov r8, rdi
inc r8
cmp word [rdx + r8*2], 0
jne 0x1801d8c62
lea rcx, [rbp + 0x18]
call fcn.180007110
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r14w
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], r14
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r14w
lea rdx, [rbp - 8]
mov rcx, rbx
call fcn.1800f6800
test al, al
je 0x1801d93f0
cmp qword [rbp + 8], 0
je 0x1801d93f0
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.1800f68f0
test al, al
je 0x1801d93f0
mov edx, 0x20
lea rcx, [rbp - 0x68]
call fcn.1800f7d20
lea rcx, [rbp - 0x68]
call fcn.1800f3bb0
test al, al
jne 0x1801d8cff
lea rcx, [rbp - 0x68]
call fcn.1800f66a0
lea rcx, [rbp - 0x68]
call fcn.1800f3bb0
test al, al
je 0x1801d93f0
lea rcx, [rbp - 0x68]
call fcn.1800f3e40
test al, al
je 0x1801d93f0
call fcn.1800f8170
movzx r15d, ax
mov word [rsp + 0x38], ax
mov r13, qword [rbp - 0x58]
movabs rdx, 0x7ffffffffffffffe
mov r12, qword [rbp - 0x50]
cmp r13, r12
jae 0x1801d8d8a
lea rcx, [r13 + 1]
mov qword [rbp - 0x58], rcx
lea rcx, [rbp - 0x68]
cmp r12, 8
cmovae rcx, qword [rbp - 0x68]
mov word [rcx + r13*2], ax
mov word [rcx + r13*2 + 2], r14w
mov r14, qword [rbp - 0x68]
jmp 0x1801d8e79
lea rdx, [rbp + 0x18]
mov rcx, rsi
call fcn.1800f68f0
test al, al
jne 0x1801d8c76
xor bl, bl
jmp 0x1801d9448
mov rax, rdx
sub rax, r13
cmp rax, 1
jb 0x1801d94a1
lea rbx, [r13 + 1]
or rbx, 7
cmp rbx, rdx
jbe 0x1801d8dac
mov rbx, rdx
jmp 0x1801d8dcd
mov rcx, r12
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r12, rax
jbe 0x1801d8dc2
mov rbx, rdx
jmp 0x1801d8dcd
lea rax, [r12 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x68]
call fcn.1800074f0
mov r14, rax
lea rax, [r13 + 1]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rbx
lea rbx, [r13*2]
mov rcx, r14
mov r8, rbx
cmp r12, 8
jb 0x1801d8e55
mov r15, qword [rbp - 0x68]
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
movzx eax, word [rsp + 0x38]
mov word [r14 + rbx], ax
xor eax, eax
mov word [r14 + rbx + 2], ax
lea rdx, [r12*2 + 2]
cmp rdx, 0x1000
jb 0x1801d8e44
add rdx, 0x27
mov rcx, qword [r15 - 8]
sub r15, rcx
lea rax, [r15 - 8]
cmp rax, 0x1f
ja 0x1801d8e4e
mov r15, rcx
mov rcx, r15
call fcn.18022acec
jmp 0x1801d8e6b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rdx, [rbp - 0x68]
call sub.VCRUNTIME140.dll_memcpy
mov word [r14 + rbx], r15w
xor eax, eax
mov word [r14 + rbx + 2], ax
movabs rdx, 0x7ffffffffffffffe
mov qword [rbp - 0x68], r14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
mov r15, qword [rbp - 0x58]
lea r12, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r12, r14
cmp r15, 8
jae 0x1801d8eac
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x70], 7
jmp 0x1801d8ee4
mov rbx, r15
or rbx, 7
cmp rbx, rdx
cmova rbx, rdx
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x78]
call fcn.1800074f0
mov qword [rsp + 0x78], rax
lea r8, [r15*2 + 2]
mov rdx, r12
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x78], r15
lea rdx, [rbp - 8]
cmp qword [rbp + 0x10], 8
cmovae rdx, qword [rbp - 8]
mov r8, qword [rbp + 8]
lea rcx, [rsp + 0x78]
call fcn.180007c10
xor r14d, r14d
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x58], r14
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [0x180265f18]
xor edx, edx
lea r8d, [r14 + 1]
lea rcx, [0x180265f68]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1801d93bd
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1801d93bd
mov rax, qword [rcx]
lea r8, [rsp + 0x58]
lea rdx, [0x180265f38]
call qword [rax]
test eax, eax
js 0x1801d93b2
cmp qword [rsp + 0x58], r14
je 0x1801d93b2
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x1801d8f7c
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0xa0]
lea rdx, [rbp + 0x18]
cmp qword [rbp + 0x30], 8
cmovae rdx, qword [rbp + 0x18]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rbx, qword [rsp + 0x50]
cmp qword [rbx + 0x10], r14
je 0x1801d8fc9
mov rcx, rbx
call fcn.1800f3cf0
test al, al
je 0x1801d8fc9
cmp qword [rbx + 0x18], 8
jb 0x1801d8fc4
mov rbx, qword [rbx]
mov rdx, rbx
jmp 0x1801d8ff1
mov r8d, dword [rbp + 0xc0]
test r8d, r8d
js 0x1801d8fe4
cmp qword [rsi + 0x18], 8
jb 0x1801d8fdf
mov rsi, qword [rsi]
mov rdx, rsi
jmp 0x1801d8ff4
cmp qword [rsi + 0x18], 8
jb 0x1801d8fee
mov rsi, qword [rsi]
mov rdx, rsi
xor r8d, r8d
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x88]
mov rdx, qword [rsp + 0x40]
cmp qword [rdx + 0x18], 8
jb 0x1801d9011
mov rdx, qword [rdx]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x58]
mov rdx, qword [rsp + 0x68]
cmp qword [rdx + 0x18], 8
jb 0x1801d902b
mov rdx, qword [rdx]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + gethostname]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
movdqa xmm1, xmmword [0x180291a20]
movdqu xmmword [rbp - 0x18], xmm1
mov word [rbp - 0x28], r14w
mov r8d, 4
lea rdx, str..lnk
lea rcx, [rbp - 0x28]
call fcn.180007110
nop
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rdx, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x1801d91ac
dec rcx
mov rax, rdi
cmp rcx, rax
cmovb rax, rcx
lea rcx, [rdx + rax*2]
cmp word [rcx], 0x2e
je 0x1801d90b3
nop dword [rax + rax]
cmp rcx, rdx
je 0x1801d91ac
sub rcx, 2
cmp word [rcx], 0x2e
jne 0x1801d90a0
sub rcx, rdx
sar rcx, 1
cmp rcx, 0xffffffffffffffff
je 0x1801d91ac
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
movdqa xmm1, xmmword [0x180291a20]
movdqu xmmword [rbp - 0x38], xmm1
mov word [rbp - 0x48], r14w
mov rax, qword [rbp - 0x78]
cmp rax, rcx
jb 0x1801d949b
sub rax, rcx
mov r8, rdi
cmp rax, rdi
cmovb r8, rax
lea rax, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rax, qword [rsp + 0x78]
lea rdx, [rax + rcx*2]
lea rcx, [rbp - 0x48]
call fcn.180007110
mov dword [rsp + 0x48], 1
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x48]
call fcn.1800f25a0
test al, al
jne 0x1801d9149
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x18]
lea rcx, [rsp + 0x78]
call fcn.180007c10
mov eax, 1
and eax, 0xfffffffe
mov dword [rsp + 0x48], eax
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x1801d9198
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801d9193
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1801d9193
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18022acec
movdqa xmm0, xmmword [0x180291a20]
movdqu xmmword [rbp - 0x38], xmm0
mov word [rbp - 0x48], r14w
jmp 0x1801d91c8
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x18]
lea rcx, [rsp + 0x78]
call fcn.180007c10
xor sil, sil
lea rcx, [rsp + 0x78]
call fcn.1800f3bb0
test al, al
je 0x1801d929a
xor bl, bl
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [0x180265f18]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x180265f68]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1801d931f
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1801d931f
mov qword [rsp + 0x50], r14
mov rax, qword [rcx]
lea r8, [rsp + 0x50]
lea rdx, [0x180265f38]
call qword [rax]
test eax, eax
js 0x1801d927f
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1801d927f
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rdx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov r8d, gethostbyname
call qword [rax + 0x28]
test eax, eax
js 0x1801d9274
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
call fcn.1801d94b0
movzx ebx, al
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rcx]
call qword [rdx + InitCommonControls]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx]
call qword [rdx + InitCommonControls]
mov qword [rsp + 0x40], r14
test bl, bl
je 0x1801d931f
mov sil, 1
mov bl, 1
test sil, sil
jne 0x1801d92d7
mov rsi, qword [rsp + 0x60]
mov bl, 1
cmp byte [rsi], 0
jne 0x1801d92d3
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov r8d, 1
call qword [rax + 0x30]
test eax, eax
sete bl
mov byte [rsi + 1], 1
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
nop
mov r8, qword [rbp - 0x10]
cmp r8, 8
jb 0x1801d9308
inc r8
mov rdx, qword [rbp - 0x28]
lea rcx, [rbp - 0x28]
call fcn.180007450
movdqa xmm0, xmmword [0x180291a20]
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 0x28], r14w
jmp 0x1801d93bf
mov rsi, qword [rsp + 0x60]
cmp byte [rsi], 0
jne 0x1801d92a6
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rdx, qword [rsp + 0x78]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
movdqa xmm1, xmmword [0x180291a20]
movdqu xmmword [rbp - 0x38], xmm1
mov word [rbp - 0x48], r14w
nop word [rax + rax]
inc rdi
cmp word [rdx + rdi*2], 0
jne 0x1801d9360
mov r8, rdi
lea rcx, [rbp - 0x48]
call fcn.180007110
nop
lea rcx, [rbp - 0x48]
call fcn.1800f66b0
nop
mov r8, qword [rbp - 0x30]
cmp r8, 8
jb 0x1801d939b
inc r8
mov rdx, qword [rbp - 0x48]
lea rcx, [rbp - 0x48]
call fcn.180007450
movdqa xmm0, xmmword [0x180291a20]
movdqu xmmword [rbp - 0x38], xmm0
mov word [rbp - 0x48], r14w
jmp 0x1801d92a6
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
xor bl, bl
mov r8, qword [rbp - 0x70]
cmp r8, 8
jb 0x1801d93db
inc r8
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x78]
call fcn.180007450
movdqa xmm0, xmmword [0x180291a20]
movdqu xmmword [rbp - 0x78], xmm0
mov word [rsp + 0x78], r14w
jmp 0x1801d93f2
xor bl, bl
mov r8, qword [rbp + 0x10]
cmp r8, 8
jb 0x1801d940c
inc r8
mov rdx, qword [rbp - 8]
lea rcx, [rbp - 8]
call fcn.180007450
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r14w
mov r8, qword [rbp - 0x50]
cmp r8, 8
jb 0x1801d9437
inc r8
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp - 0x68]
call fcn.180007450
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r14w
mov r8, qword [rbp + 0x30]
cmp r8, 8
jb 0x1801d9462
inc r8
mov rdx, qword [rbp + 0x18]
lea rcx, [rbp + 0x18]
call fcn.180007450
movdqa xmm0, xmmword [0x180291a20]
movdqu xmmword [rbp + 0x28], xmm0
mov word [rbp + 0x18], r14w
movzx eax, bl
jmp 0x1801d947b
xor al, al
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.18022a7d0
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1800094e0
nop
call fcn.1800074d0
int3