Function at 0x140002f70
Capabilities:
Acquire debug privileges
Create process on windows

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x190
mov rax, qword [0x140040010]
xor rax, rsp
mov qword [rsp + 0x188], rax
mov dword [rsp + 0x64], 0
mov qword [rsp + 0xa8], 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rsp + 0xa8]
mov edx, 0x2000000
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x140002fca
xor al, al
jmp 0x140003455
mov qword [rsp + 0xb0], 0xffffffffffffffff
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 2
mov r9d, 2
xor r8d, r8d
mov edx, 0x2000000
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.ADVAPI32.dll_DuplicateTokenEx]
test eax, eax
jne 0x140003012
xor al, al
jmp 0x140003455
lea r8, [rsp + 0x178]
lea rdx, str.SeDebugPrivilege
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
jne 0x140003034
xor al, al
jmp 0x140003455
mov dword [rsp + 0x180], 2
mov r8d, 1
lea rdx, [rsp + 0x178]
mov rcx, qword [rsp + 0xb0]
call fcn.140002a00
movzx eax, al
test eax, eax
jne 0x140003068
xor al, al
jmp 0x140003455
mov rdx, qword [rsp + 0xb0]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_SetThreadToken]
test eax, eax
jne 0x140003083
xor al, al
jmp 0x140003455
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea r9, [rsp + 0xa8]
xor r8d, r8d
mov edx, 0x2000000
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenThreadToken]
test eax, eax
jne 0x1400030ad
xor al, al
jmp 0x140003455
mov dword [rsp + 0x170], 0xffffffff
mov dword [rsp + 0x174], 0
lea rax, [rsp + 0x174]
mov qword [rsp + 0x20], rax
mov r9d, 4
lea r8, [rsp + 0x170]
mov edx, 0xc
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
jne 0x1400030fc
xor al, al
jmp 0x140003455
mov qword [rsp + 0xd0], 0xffffffffffffffff
lea rdx, [rsp + 0xd0]
mov ecx, 0x2000000
call fcn.140002c10
movzx eax, al
test eax, eax
jne 0x140003128
xor al, al
jmp 0x140003455
mov qword [rsp + 0xb8], 0xffffffffffffffff
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 2
mov r9d, 2
xor r8d, r8d
mov edx, 0x2000000
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.ADVAPI32.dll_DuplicateTokenEx]
test eax, eax
jne 0x140003170
xor al, al
jmp 0x140003455
mov edx, 2
mov rcx, qword [rsp + 0xb8]
call fcn.140002c90
movzx eax, al
test eax, eax
jne 0x140003190
xor al, al
jmp 0x140003455
mov rdx, qword [rsp + 0xb8]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_SetThreadToken]
test eax, eax
jne 0x1400031ab
xor al, al
jmp 0x140003455
mov qword [rsp + 0xd8], 0xffffffffffffffff
lea rdx, [rsp + 0xd8]
mov ecx, 0x2000000
call fcn.140002c10
movzx eax, al
test eax, eax
jne 0x1400031d7
xor al, al
jmp 0x140003455
mov qword [rsp + 0xa0], 0xffffffffffffffff
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 1
mov r9d, 1
xor r8d, r8d
mov edx, 0x2000000
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.ADVAPI32.dll_DuplicateTokenEx]
test eax, eax
jne 0x14000321f
xor al, al
jmp 0x140003455
mov r9d, 4
lea r8, [rsp + 0x170]
mov edx, 0xc
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.ADVAPI32.dll_SetTokenInformation]
test eax, eax
jne 0x14000324b
xor al, al
jmp 0x140003455
mov edx, 2
mov rcx, qword [rsp + 0xa0]
call fcn.140002c90
movzx eax, al
test eax, eax
jne 0x14000326b
xor al, al
jmp 0x140003455
lea rax, [rsp + 0x100]
mov rdi, rax
xor eax, eax
mov ecx, 0x68
rep stosb byte [rdi], al
lea rax, [rsp + 0xe0]
mov rdi, rax
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
mov dword [rsp + 0x100], 0x68
lea rax, str.WinSta0Default
mov qword [rsp + 0x110], rax
mov eax, dword [rsp + 0x13c]
or eax, 1
mov dword [rsp + 0x13c], eax
mov eax, 1
mov word [rsp + 0x140], ax
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xc0], 0
mov byte [rsp + 0x60], 0
mov r8d, 1
mov rdx, qword [rsp + 0xa0]
lea rcx, [rsp + 0xc8]
call qword [sym.imp.USERENV.dll_CreateEnvironmentBlock]
test eax, eax
je 0x140003450
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0x80]
call fcn.140002ed0
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov rcx, rax
call fcn.140003c10
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0xc0]
mov rcx, qword [rsp + 0x78]
call fcn.140002df0
mov byte [rsp + 0x61], al
lea rcx, [rsp + 0x80]
call fcn.140003a00
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x140003442
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], 0
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x404
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0xc0]
xor edx, edx
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
test eax, eax
je 0x140003435
mov edx, SHGetFolderPathW
mov rcx, qword [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
xor edx, edx
mov rcx, qword [rsp + 0xe8]
call fcn.140002dc0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1f4
mov rcx, qword [rsp + 0xe0]
call fcn.140002ea0
mov rcx, qword [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [rsp + 0x60], 1
mov rcx, qword [rsp + 0xc0]
call fcn.1400029d0
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.USERENV.dll_DestroyEnvironmentBlock]
movzx eax, byte [rsp + 0x60]
mov rcx, qword [rsp + 0x188]
xor rcx, rsp
call fcn.14000a750
add rsp, 0x190
pop rdi
ret