Function at 0x140018d24
Capabilities:
Create process on windows
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov r13, r9
mov rsi, r8
mov rdi, rdx
mov r15, rcx
mov rax, qword [0x1400af118]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rcx, rdx
call fcn.1400746fc
mov rcx, qword [r15 + 0x50]
mov qword [r15 + 0x50], rax
test rcx, rcx
je 0x140018d6f
call fcn.14006c0e4
mov rbp, qword [r13]
mov rcx, rsi
call fcn.1400746fc
mov r12, rax
xor esi, esi
cmp qword [rbp + 0xa0], 0
setne sil
shl esi, 0x13
or esi, 0x40c
cmp qword [r15 + 0x30], 0
je 0x140018dad
call fcn.140008120
lea ecx, [rsi + 0x1000000]
cmp eax, 5
cmovl esi, ecx
mov r14, qword [rsp + 0x1b8]
mov rax, qword [r13]
movzx eax, byte [rax + 0x20]
xor edx, edx
lea rbx, [rsp + 0x80]
mov qword [rbx + 0x10], rdx
xorps xmm0, xmm0
movaps xmmword [rbx], xmm0
add rbp, 0x38
mov rcx, qword [r15 + 0x18]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbp
movups xmmword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdx
mov rdx, rdi
mov r8, r12
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
test eax, eax
je 0x140018f3c
movabs rsi, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x60]
mov qword [rcx + 0x10], rsi
movaps xmm0, xmmword [0x140092800]
movaps xmmword [rcx], xmm0
lea rdx, [rsp + 0x80]
call fcn.1400186d0
mov rcx, qword [r15 + 0x30]
test rcx, rcx
je 0x140018e66
mov rax, qword [r13]
mov rdx, qword [rax + 0x100]
cmp rdx, qword [rax + 0x108]
jne 0x140018e66
mov rdx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
test eax, eax
je 0x140018f4f
mov rbp, r14
mov r14, qword [r15 + 0x20]
lea rax, [r14 + 1]
cmp rax, 2
jb 0x14001906f
mov qword [rsp + 0x58], 0
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0xb0]
mov qword [r8], rsi
mov edx, 8
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x14001901d
mov rdx, qword [rsp + 0xb0]
lea rsi, [rsp + 0xa0]
mov qword [rsi], 0
mov rcx, rsi
call fcn.1400053b4
mov rsi, qword [rsi]
mov ecx, 0x4c
call fcn.140065764
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x3c], xmm0
lea rax, [rsp + 0xac]
mov dword [rax], 0xaaaaaaaa
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov edx, 0x1f
mov r8, rdi
mov r9d, 0x4c
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x140018f6f
mov rsi, qword [rdi]
test rsi, rsi
je 0x140018f75
mov ecx, 0x44
call fcn.140065764
mov rbx, rax
mov rcx, rax
mov rdx, rsi
call fcn.14001df54
jmp 0x140018f77
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov edi, 0x12
jmp 0x140019105
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov rcx, qword [rsp + 0x60]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov edi, 0x14
jmp 0x1400190fb
xor ebx, ebx
xor esi, esi
jmp 0x140018f7e
xor ebx, ebx
test rsi, rsi
setne sil
test rdi, rdi
je 0x140018f90
mov edx, 0x4c
mov rcx, rdi
call fcn.1400659f8
lea rcx, [rsp + 0xa0]
call fcn.1400074a0
test sil, sil
je 0x140019010
lea rsi, [r15 + 0x58]
lea rdi, [rsp + 0xb0]
mov r8d, 0x90
mov rcx, rdi
mov dl, 0xaa
call fcn.140067c70
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call fcn.14002e3e8
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov rcx, r14
xor edx, edx
mov r8, rdi
xor r9d, r9d
call fcn.1400096ed
mov esi, eax
mov rcx, rdi
call fcn.14002e65c
test rbx, rbx
je 0x140019005
mov rcx, rbx
call fcn.1400657a0
test esi, esi
jne 0x14001901d
mov r14, qword [rsp + 0x58]
jmp 0x14001901d
test rbx, rbx
je 0x14001901d
mov rcx, rbx
call fcn.1400657a0
mov rax, qword [rsp + 0x68]
lea rcx, [rsp + 0xb0]
mov qword [rcx], rax
mov rdx, r14
call qword [sym.imp.ADVAPI32.dll_SetThreadToken]
mov edi, eax
test eax, eax
je 0x140019047
lea rcx, [r15 + 0x20]
call fcn.1400074a0
jmp 0x14001905d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp], eax
mov rcx, qword [rsp + 0x60]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
lea rcx, [rsp + 0x58]
call fcn.1400074a0
test edi, edi
je 0x1400190f6
mov rcx, qword [rsp + 0x1b0]
lea rdx, [rsp + 0x60]
call fcn.140018900
test al, al
je 0x1400190bc
mov rcx, qword [rsp + 0x60]
call fcn.140020a1f
mov qword [r15 + 0x48], rax
test rax, rax
je 0x1400190d9
lea rcx, [rsp + 0x60]
lea rsi, [rsp + 0xb0]
mov rdx, rsi
call fcn.140018a40
mov rcx, r15
mov rdx, rsi
call fcn.140018700
xor edi, edi
jmp 0x1400190fb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp], eax
mov rcx, qword [rsp + 0x60]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov edi, 0x17
jmp 0x1400190fb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp], eax
mov rcx, qword [rsp + 0x60]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov edi, 0x2b
jmp 0x1400190fb
mov edi, 0x15
lea rcx, [rsp + 0x60]
call fcn.140018840
test r12, r12
je 0x140019112
mov rcx, r12
call fcn.14006c0e4
mov rsi, qword [r13]
test rsi, rsi
je 0x14001912b
mov rcx, rsi
call fcn.140017146
mov rcx, rsi
call fcn.1400657a0
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140065b10
mov eax, edi
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret