Function at 0x140002820
Capabilities:
Acquire debug privileges
Create process on windows
Create process suspended
Create thread
Inject dll
Inject thread
Resume thread
Terminate process
Use process replacement

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x11820]
mov eax, 0x11920
call fcn.140002e90
sub rsp, rax
vpxor xmm0, xmm0, xmm0
xor eax, eax
mov dword [rbp - 0x70], 0x68
mov rdi, rdx
mov dword [rbp - 0xc], eax
mov rdx, rcx
mov qword [rsp + 0x60], rax
mov rbx, r8
lea rcx, [rbp + 0x800]
vmovups ymmword [rbp - 0x6c], ymm0
vmovups ymmword [rbp - 0x4c], ymm0
vmovups ymmword [rbp - 0x2c], ymm0
vmovups xmmword [rsp + 0x50], xmm0
mov rsi, r9
mov r8b, 1
vzeroupper
call fcn.1400020d0
lea rdx, [rbp + 0x1820]
mov rcx, qword [rax + 0x808]
movzx eax, word [rcx]
lea rcx, [rcx + 2]
mov word [rdx], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x1400028a0
lea rcx, [rbp + 0x800]
call fcn.1400022f0
lea rcx, [rbp + 0x1820]
sub rcx, 2
nop word [rax + rax]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x1400028d0
mov eax, dword [0x14001b554]
xor r8d, r8d
mov dword [rcx], eax
mov rdx, rbx
lea rcx, [rbp + 0x800]
call fcn.1400020d0
lea rcx, [rbp + 0x1820]
sub rcx, 2
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x140002900
mov r8, qword [rax + 0x808]
xor edx, edx
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x140002920
lea rcx, [rbp + 0x800]
call fcn.1400022f0
mov r8b, 1
lea rcx, [rbp + 0x800]
mov rdx, rsi
call fcn.1400020d0
lea rcx, [rsp + 0x50]
xor r14d, r14d
mov qword [rsp + 0x48], rcx
lea rdx, [rbp + 0x1820]
lea rcx, [rbp - 0x70]
xor r9d, r9d
mov rax, qword [rax + 0x808]
xor r8d, r8d
mov qword [rsp + 0x40], rcx
xor ecx, ecx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
lea rcx, [rbp + 0x800]
mov ebx, eax
call fcn.1400022f0
cmp ebx, 1
jne 0x140002bea
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0x70]
lea edx, [rbx + 0x1f]
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140002bea
lea r8, [rsp + 0x68]
lea rdx, str.SeDebugPrivilege
lea rcx, [0x14001b3d0]
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
test eax, eax
je 0x140002bea
mov rax, qword [rsp + 0x68]
lea r9d, [r14 + 0x10]
mov rcx, qword [rsp + 0x70]
lea r8, [rsp + 0x78]
mov qword [rsp + 0x28], r14
xor edx, edx
mov qword [rsp + 0x7c], rax
mov dword [rsp + 0x78], ebx
mov dword [rbp - 0x7c], 2
mov qword [rsp + 0x20], r14
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
je 0x140002bea
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.LoadLibraryW
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r8d, 0xffffffff
mov rsi, rax
test rdi, rdi
jne 0x140002a59
mov ecx, r14d
jmp 0x140002a9a
mov rdx, rdi
nop dword [rax]
mov rcx, rdx
cmp byte [rdx], r14b
je 0x140002a98
lea ecx, [rdx + 1]
cmp byte [rdx + 1], r14b
je 0x140002a98
lea ecx, [rdx + 2]
cmp byte [rdx + 2], r14b
je 0x140002a98
lea ecx, [rdx + 3]
cmp byte [rdx + 3], r14b
je 0x140002a98
lea ecx, [rdx + 4]
cmp byte [rdx + 4], r14b
je 0x140002a98
add rdx, 5
mov ecx, edx
add r8d, 0xfffffffb
jne 0x140002a60
sub ecx, edi
mov eax, 0x7ff
cmp ecx, eax
cmovb eax, ecx
lea rcx, [rbp]
mov ebx, eax
mov r8d, eax
mov eax, 0x800
cmp rbx, rax
cmova r8d, eax
lea rax, [rbp]
add rax, r8
cmp rcx, rax
je 0x140002ad1
mov rdx, rdi
lea rcx, [rbp]
call fcn.140019f30
lea rcx, [rbp]
mov byte [rbp + rbx], r14b
call fcn.140001f30
mov r8b, 1
lea rdx, [rbp]
lea rcx, [rbp + 0x1010]
call fcn.1400020d0
mov rax, qword [rbp + 0x1818]
mov rbx, 0xffffffffffffffff
cmp word [rax + rbx*2 + 2], r14w
lea rbx, [rbx + 1]
jne 0x140002b00
mov rcx, qword [rsp + 0x50]
lea rbx, [rbx*2 + 2]
mov r8, rbx
mov dword [rsp + 0x20], 4
mov r9d, 0x1000
xor edx, edx
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r8, qword [rbp + 0x1818]
mov r9, rbx
mov rcx, qword [rsp + 0x50]
mov rdi, rax
lea rax, [rbp - 0x78]
mov rdx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [rsp + 0x50]
test eax, eax
je 0x140002b86
mov qword [rsp + 0x30], r14
mov r9, rsi
mov dword [rsp + 0x28], r14d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
test rax, rax
jne 0x140002bac
mov rcx, qword [rsp + 0x50]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0x1010]
xor bl, bl
call fcn.1400022f0
movzx eax, bl
jmp 0x140002bec
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, qword [rbp + 0x11850]
test rcx, rcx
je 0x140002bd7
mov eax, dword [rsp + 0x60]
mov dword [rcx], eax
lea rcx, [rbp + 0x1010]
mov bl, 1
call fcn.1400022f0
movzx eax, bl
jmp 0x140002bec
xor al, al
lea r11, [rsp + 0x11920]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret