Function at 0x140018c10
Capabilities:
Create process on windows
Set current directory

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14014c228]
xor rax, rsp
mov qword [rbp + 0x78], rax
mov r14d, r9d
mov rbx, r8
call fcn.14001f540
test al, al
je 0x140018cf4
lea rcx, [rbp + 0x18]
call fcn.14000cf30
mov rdi, rax
lea rcx, [rbp - 0x28]
call fcn.140020b60
mov rsi, rax
mov rcx, qword [rax]
mov r8, qword [rax + 8]
sub r8, rcx
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
sub rdx, rax
cmp r8, rdx
jne 0x140018cd3
mov rdx, rax
call fcn.1400ae990
test eax, eax
jne 0x140018cd3
mov rdx, qword [rdi + 0x18]
test rdx, rdx
je 0x1400191d3
mov rcx, qword [rsi + 0x18]
call fcn.1400b8094
test eax, eax
jne 0x140018cd3
mov rdx, qword [rdi + 0x20]
test rdx, rdx
je 0x1400191de
mov rcx, qword [rsi + 0x20]
call fcn.1400b8094
test eax, eax
jne 0x140018cd3
xor dil, dil
jmp 0x140018cd6
mov dil, 1
lea rcx, [rbp - 0x28]
call fcn.14000a730
lea rcx, [rbp + 0x18]
call fcn.14000a730
test dil, dil
je 0x140018cf4
xor eax, eax
jmp 0x140019190
lea rcx, [rsp + 0x68]
call fcn.14000cb10
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140018d2c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, r14d
lea rcx, [0x14015b1d0]
call fcn.140010a90
mov r12d, eax
movdqa xmm0, xmmword [0x1400f5620]
movdqu xmmword [rbp - 0x78], xmm0
xor esi, esi
mov word [rsp + 0x78], si
mov r8, rdi
inc r8
cmp word [rbx + r8*2], si
jne 0x140018d55
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.140015eb0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.140012370
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400123b0
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x48]
call fcn.1400096f0
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140017d00
lea rcx, [rsp + 0x78]
call fcn.140015690
mov qword [rbp + 0x68], rsi
mov qword [rbp + 0x70], 7
mov word [rbp + 0x58], si
mov rdx, qword [0x14015b1c8]
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], si
jne 0x140018de0
lea rcx, [rbp + 0x58]
call fcn.140015eb0
mov r13, qword [rsp + 0x40]
mov r14, r13
mov r9, qword [r13 + 8]
mov r15, qword [rbp + 0x70]
mov rsi, qword [rbp + 0x58]
cmp byte [r9 + 0x19], 0
jne 0x140018f2f
mov rbx, qword [rbp + 0x68]
nop word [rax + rax]
lea rax, [rbp + 0x58]
cmp r15, 8
cmovae rax, rsi
lea r10, [r9 + 0x20]
cmp qword [r9 + 0x38], 8
jb 0x140018e3b
mov r10, qword [r9 + 0x20]
mov r11, qword [r9 + 0x30]
mov qword [rbp - 0x60], r11
mov rcx, r11
cmp rbx, r11
cmovb rcx, rbx
test rcx, rcx
je 0x140018e79
sub r10, rax
nop word [rax + rax]
movzx edx, word [rax + r10]
movzx r8d, word [rax]
cmp dx, r8w
jne 0x140018e82
add rax, 2
sub rcx, 1
jne 0x140018e60
cmp r11, rbx
jae 0x140018e90
mov eax, edi
jmp 0x140018e98
mov eax, 1
cmp dx, r8w
cmovb eax, edi
jmp 0x140018e98
xor eax, eax
cmp r11, rbx
seta al
shr eax, 0x1f
test al, al
je 0x140018ea5
mov r9, qword [r9 + 0x10]
jmp 0x140018eab
mov r14, r9
mov r9, qword [r9]
cmp byte [r9 + 0x19], 0
je 0x140018e20
cmp r14, r13
je 0x140018f2f
lea rax, [r14 + 0x20]
cmp qword [r14 + 0x38], 8
jb 0x140018eca
mov rax, qword [r14 + 0x20]
lea r9, [rbp + 0x58]
cmp r15, 8
cmovae r9, rsi
mov r10, qword [r14 + 0x30]
mov qword [rbp - 0x58], r10
mov rcx, rbx
cmp r10, rbx
cmovb rcx, r10
test rcx, rcx
je 0x140018f09
sub r9, rax
movzx edx, word [rax + r9]
movzx r8d, word [rax]
cmp dx, r8w
jne 0x140018f12
add rax, 2
sub rcx, 1
jne 0x140018ef0
cmp rbx, r10
jae 0x140018f20
mov eax, edi
jmp 0x140018f28
mov eax, 1
cmp dx, r8w
cmovb eax, edi
jmp 0x140018f28
xor eax, eax
cmp rbx, r10
seta al
shr eax, 0x1f
test al, al
je 0x140018f32
mov r14, r13
cmp r14, r13
setne bl
cmp r15, 8
jb 0x140018f73
lea rdx, [r15*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140018f6b
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400191e9
mov rcx, rsi
call fcn.1400a7308
test bl, bl
je 0x140019145
call fcn.14000ce10
mov rcx, rax
test rax, rax
je 0x1400191ef
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
lea rdx, str._Delete__TN__install_pulse_service___F
cmp rdx, 0x10000
jae 0x140018fba
movzx edx, dx
lea rcx, [rsp + 0x30]
call fcn.14000d4c0
jmp 0x140018fd7
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140018fc0
mov r8d, eax
lea rcx, [rsp + 0x30]
call fcn.14000fd40
xor r13d, r13d
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9, qword [rsp + 0x30]
lea r8, str.schtasks.exe
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [r13 + 2]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov r15d, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r14d, eax
lea rcx, [rsp + 0x70]
call fcn.140017010
mov rsi, qword [rax]
lea ecx, [r13 + 0x18]
call fcn.1400a72cc
mov rbx, rax
test rax, rax
je 0x1400191c8
mov qword [rax + 8], r13
mov dword [rax + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x140019069
test rsi, rsi
jne 0x1400191bd
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140019087
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [0x1400f4d58]
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [0x1400f4f30]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1400190c7
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400190d7
mov rax, qword [rcx]
mov rdx, qword [rbx]
call qword [rax + 0x38]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400190d7
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, edi
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140019113
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400190f4
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r13
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140019106
call fcn.1400a7308
mov qword [rbx + 8], r13
mov edx, 0x18
mov rcx, rbx
call fcn.1400a7308
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
test r15d, r15d
js 0x140019129
cmp eax, r14d
jne 0x140019129
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140019145
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140041800
nop
mov r8, qword [rsp + 0x50]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x50]
call fcn.140016c50
mov edx, 0x40
mov rcx, qword [rsp + 0x50]
call fcn.1400a7308
nop
lea rcx, [rsp + 0x40]
call fcn.140015fe0
mov edx, 0x60
mov rcx, qword [rsp + 0x40]
call fcn.1400a7308
mov eax, r12d
mov rcx, qword [rbp + 0x78]
xor rcx, rsp
call fcn.1400a79f0
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x8007000e
call fcn.1400a6dd0
int3
mov ecx, 0x8007000e
call fcn.1400a6dd0
int3
mov ecx, 0x80004005
call fcn.14000c310
int3
mov ecx, 0x80004005
call fcn.14000c310
int3
call fcn.1400b7964
int3
mov ecx, 0x80004005
call fcn.14000c310
int3