Function at 0x140038850
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, 0x158
movaps xmmword [rsp + 0x140], xmm6
mov r15, r9
mov rdi, r8
mov rsi, rdx
mov r14, rcx
mov rax, qword [0x1401f5028]
xor rax, rsp
mov qword [rsp + 0x138], rax
mov rcx, rdx
call fcn.1400f1508
mov rcx, qword [r14 + 0x50]
mov qword [r14 + 0x50], rax
test rcx, rcx
jne 0x140038bcd
mov rbp, qword [r15]
mov rcx, rdi
call fcn.1400f1508
mov r13, rax
xor edi, edi
cmp qword [rbp + 0xa0], 0
setne dil
shl edi, 0x13
or edi, 0x40c
cmp qword [r14 + 0x30], 0
je 0x1400388e6
call fcn.1400d90c0
mov rax, qword [0x1401fe5a8]
lea ecx, [rdi + 0x1000000]
cmp dword [rax], 5
cmovl edi, ecx
mov r12, qword [rsp + 0x1c8]
mov rax, qword [r15]
movzx eax, byte [rax + 0x20]
xor edx, edx
lea rbx, [rsp + 0x80]
mov qword [rbx + 0x10], rdx
xorps xmm6, xmm6
movaps xmmword [rbx], xmm6
add rbp, 0x38
mov rcx, qword [r14 + 0x18]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbp
movups xmmword [rsp + 0x38], xmm6
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdx
mov rdx, rsi
mov r8, r13
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
test eax, eax
je 0x140038bd7
lea rcx, [rsp + 0x60]
movaps xmmword [rcx], xmm6
mov qword [rcx + 0x10], 0
lea rdx, [rsp + 0x80]
call fcn.14002c130
mov rcx, qword [r14 + 0x30]
test rcx, rcx
je 0x140038981
mov rax, qword [r15]
mov rdx, qword [rax + 0xf8]
cmp rdx, qword [rax + 0x100]
je 0x140038beb
mov r12, qword [r14 + 0x20]
lea rax, [r12 + 1]
cmp rax, 2
jb 0x140038b08
mov qword [rsp + 0x58], 0
mov rcx, qword [rsp + 0x60]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r8, [rsp + 0xa8]
mov qword [r8], rax
mov edx, 8
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140038aa8
mov rsi, qword [rsp + 0xa8]
test rsi, rsi
je 0x140038bbf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp rsi, 0xffffffffffffffff
je 0x140038bc6
call fcn.1400c18d0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, 0x4c
call fcn.1400f045c
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 + 0xa4]
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]
mov rbx, r13
test eax, eax
je 0x140038c25
mov rbp, qword [rdi]
test rbp, rbp
jne 0x140038c2f
xor r13d, r13d
test rbp, rbp
setne bpl
mov rcx, rdi
call fcn.1400f0498
lea rax, [rsi + 1]
cmp rax, 2
jb 0x140038a87
call fcn.1400c18d0
mov rcx, rsi
call fcn.1400def50
test bpl, bpl
jne 0x140038c4c
xor esi, esi
test r13, r13
jne 0x140038cab
test sil, sil
mov r13, rbx
je 0x140038aa8
mov r12, qword [rsp + 0x58]
mov rax, qword [rsp + 0x68]
lea rcx, [rsp + 0xa8]
mov qword [rcx], rax
mov rdx, r12
call qword [sym.imp.ADVAPI32.dll_SetThreadToken]
mov esi, eax
test eax, eax
je 0x140038cb8
mov rax, qword [r14 + 0x20]
inc rax
cmp rax, 2
jb 0x140038aee
call fcn.1400c18d0
mov rcx, qword [r14 + 0x20]
call fcn.1400def50
mov qword [r14 + 0x20], 0
mov rax, qword [rsp + 0x58]
inc rax
cmp rax, 2
jae 0x140038cda
test esi, esi
je 0x140038cee
mov rcx, qword [rsp + 0x1c0]
lea rdx, [rsp + 0x60]
call fcn.140038d50
test al, al
je 0x140038cf8
mov rcx, qword [rsp + 0x60]
call fcn.140038fe0
mov qword [r14 + 0x48], rax
test rax, rax
je 0x140038d1f
lea rcx, [rsp + 0x60]
lea rsi, [rsp + 0xa8]
mov rdx, rsi
call fcn.140038da0
mov rcx, r14
mov rdx, rsi
call fcn.14002c130
xor esi, esi
lea rcx, [rsp + 0x60]
call fcn.14002e320
test r13, r13
je 0x140038b72
mov rcx, r13
call fcn.1400dec10
mov rdi, qword [r15]
mov qword [r15], 0
test rdi, rdi
je 0x140038b91
mov rcx, rdi
call fcn.140038f00
mov rcx, rdi
call fcn.1400f0498
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.1400f32c0
mov eax, esi
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
jmp 0x1400389fa
xor esi, esi
jmp 0x1400389f2
call fcn.1400dec10
jmp 0x1400388a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r12], eax
mov esi, 0x12
jmp 0x140038b65
mov rdx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
test eax, eax
jne 0x140038981
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x1c8]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x60]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov esi, 0x14
jmp 0x140038b5b
xor r13d, r13d
xor ebp, ebp
jmp 0x140038a68
mov ecx, 0x44
call fcn.1400f045c
mov r13, rax
mov rcx, rax
mov rdx, rbp
call fcn.14005b050
jmp 0x140038a61
lea rsi, [r14 + 0x58]
lea rdi, [rsp + 0xa8]
mov r8d, 0x90
mov rcx, rdi
mov dl, 0xaa
call fcn.1400f5b50
mov rcx, rdi
mov rdx, r13
mov r8, rsi
call fcn.1401760d0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov rcx, r12
xor edx, edx
mov r8, rdi
xor r9d, r9d
call fcn.140158040
test eax, eax
sete sil
mov rcx, rdi
call fcn.1401758d0
jmp 0x140038a92
mov rcx, r13
call fcn.1400f0498
jmp 0x140038a9b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x1c8]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x60]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
jmp 0x140038aee
call fcn.1400c18d0
mov rcx, qword [rsp + 0x58]
call fcn.1400def50
jmp 0x140038b00
mov esi, 0x15
jmp 0x140038b5b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x1c8]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x60]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov esi, 0x17
jmp 0x140038b5b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x1c8]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x60]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov esi, 0x2b
jmp 0x140038b5b