Function at 0x14002f360
Capabilities:
Spoof parent pid

Disassembly:
jmp 0x14002f360
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x310
lea rdi, [rsp + 0x50]
mov ecx, 0xb0
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x320]
mov rax, qword [0x1405dc580]
xor rax, rsp
mov qword [rsp + 0x308], rax
mov byte [rsp + 0x54], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1b8], 0
mov byte [rsp + 0x1c4], 0
mov qword [rsp + 0x1d8], 0
mov qword [rsp + 0x1f8], 0
mov dword [rsp + 0x204], 0
lea rcx, str.EnableWarnings
call sym.ProcessHacker.exe_PhGetIntegerSetting
test eax, eax
je 0x14002f44c
mov rax, qword [rsp + 0x328]
mov rax, qword [rax + 0x30]
mov byte [rsp + 0x20], 0
lea r9, str.The_process_will_be_restarted_with_the_same_command_line__working_directory_and_privileges.
mov r8, qword [rax + 8]
lea rdx, str.restart
mov rcx, qword [rsp + 0x320]
call sym.ProcessHacker.exe_PhShowConfirmMessage
mov byte [rsp + 0x54], al
jmp 0x14002f451
mov byte [rsp + 0x54], 1
movzx eax, byte [rsp + 0x54]
test eax, eax
jne 0x14002f461
xor al, al
jmp 0x14002fad4
call fcn.140015fb0
mov rcx, qword [rsp + 0x328]
mov rax, qword [rax + 0x40]
cmp qword [rcx + 0x20], rax
jne 0x14002f47f
xor al, al
jmp 0x14002fad4
mov r8d, 0x70
xor edx, edx
lea rcx, [rsp + 0xf0]
call fcn.1400139e0
mov dword [rsp + 0xf0], 0x70
mov dword [rsp + 0x12c], 1
mov eax, 1
mov word [rsp + 0x130], ax
mov rax, qword [rsp + 0x328]
mov r8, qword [rax + 0x20]
mov edx, 0x1010
lea rcx, [rsp + 0x68]
call fcn.140011f10
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jge 0x14002f4e2
jmp 0x14002f9e4
lea rdx, [rsp + 0xa8]
mov rcx, qword [rsp + 0x68]
call sym.ProcessHacker.exe_PhGetProcessCommandLine
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jge 0x14002f504
jmp 0x14002f9e4
mov rcx, qword [rsp + 0xa8]
call sym.ProcessHacker.exe_PhAutoDereferenceObject
lea r8, [rsp + 0xc8]
xor edx, edx
mov rcx, qword [rsp + 0x68]
call sym.ProcessHacker.exe_PhGetProcessPebString
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jge 0x14002f535
jmp 0x14002f9e4
mov rcx, qword [rsp + 0xc8]
call sym.ProcessHacker.exe_PhAutoDereferenceObject
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ntdll.dll_NtClose]
mov qword [rsp + 0x68], 0
lea rcx, [rsp + 0x260]
call sym.ProcessHacker.exe_PhGetOwnTokenAttributes
mov eax, dword [rax + 8]
and eax, 1
test eax, eax
je 0x14002f57a
mov dword [rsp + 0x2d8], 0x21000
jmp 0x14002f585
mov dword [rsp + 0x2d8], 0
mov eax, dword [rsp + 0x2d8]
bts eax, 7
or eax, 1
mov rcx, qword [rsp + 0x328]
mov r8, qword [rcx + 0x20]
mov edx, eax
lea rcx, [rsp + 0x68]
call fcn.140011f10
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jge 0x14002f5bb
jmp 0x14002f9e4
lea r9, [rsp + 0x178]
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_InitializeProcThreadAttributeList]
test eax, eax
jne 0x14002f5f0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x14002f5f0
call fcn.140010ff0
mov dword [rsp + 0x50], eax
jmp 0x14002f9e4
mov rcx, qword [rsp + 0x178]
call sym.ProcessHacker.exe_PhAllocate
mov qword [rsp + 0x158], rax
lea r9, [rsp + 0x178]
xor r8d, r8d
mov edx, 1
mov rcx, qword [rsp + 0x158]
call qword [sym.imp.KERNEL32.dll_InitializeProcThreadAttributeList]
test eax, eax
jne 0x14002f635
call fcn.140010ff0
mov dword [rsp + 0x50], eax
jmp 0x14002f9e4
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 8
lea r9, [rsp + 0x68]
mov r8d, 0x20000
xor edx, edx
mov rcx, qword [rsp + 0x158]
call qword [sym.imp.KERNEL32.dll_UpdateProcThreadAttribute]
test eax, eax
jne 0x14002f67d
call fcn.140010ff0
mov dword [rsp + 0x50], eax
jmp 0x14002f9e4
lea rcx, [rsp + 0x278]
call sym.ProcessHacker.exe_PhGetOwnTokenAttributes
mov eax, dword [rax + 8]
and eax, 1
test eax, eax
je 0x14002f6ab
lea r8, [rsp + 0x198]
mov edx, 0x15
mov rcx, qword [rsp + 0x68]
call sym.ProcessHacker.exe_PhGetObjectSecurity
lea rcx, [rsp + 0x290]
call sym.ProcessHacker.exe_PhGetOwnTokenAttributes
mov eax, dword [rax + 8]
and eax, 1
test eax, eax
je 0x14002f6cf
mov dword [rsp + 0x2dc], 0x20000
jmp 0x14002f6da
mov dword [rsp + 0x2dc], 0
mov eax, dword [rsp + 0x2dc]
or eax, 8
lea r8, [rsp + 0x1f8]
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.1400067b0
test eax, eax
jl 0x14002f822
lea rcx, [rsp + 0x2a8]
call sym.ProcessHacker.exe_PhGetOwnTokenAttributes
mov eax, dword [rax + 8]
and eax, 1
test eax, eax
je 0x14002f731
lea r8, [rsp + 0x1b8]
mov edx, 0x15
mov rcx, qword [rsp + 0x1f8]
call sym.ProcessHacker.exe_PhGetObjectSecurity
call fcn.1400106c0
test rax, rax
je 0x14002f77e
call fcn.1400106c0
mov qword [rsp + 0x2e0], rax
xor r8d, r8d
mov rdx, qword [rsp + 0x1f8]
lea rcx, [rsp + 0x1d8]
mov rax, qword [rsp + 0x2e0]
call qword [0x140613010]
test eax, eax
je 0x14002f77e
mov eax, dword [rsp + 0x204]
or eax, 2
mov dword [rsp + 0x204], eax
mov rcx, qword [rsp + 0x1f8]
call fcn.140019e60
movzx eax, al
test eax, eax
je 0x14002f808
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.ntdll.dll_NtClose]
mov qword [rsp + 0x1f8], 0
lea r8, [rsp + 0x1f8]
mov edx, 0xe
mov rcx, qword [rsp + 0x68]
call fcn.1400067b0
test eax, eax
jl 0x14002f806
mov rdx, qword [rsp + 0x1f8]
mov rcx, 0xfffffffffffffffe
call sym.ProcessHacker.exe_PhImpersonateToken
test eax, eax
jl 0x14002f7ec
mov dword [rsp + 0x2e8], 1
jmp 0x14002f7f7
mov dword [rsp + 0x2e8], 0
movzx eax, byte [rsp + 0x2e8]
mov byte [rsp + 0x1c4], al
jmp 0x14002f822
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.ntdll.dll_NtClose]
mov qword [rsp + 0x1f8], 0
mov eax, dword [rsp + 0x204]
or eax, 0x194
mov dword [rsp + 0x2ec], eax
mov rcx, qword [rsp + 0xc8]
call fcn.140008600
mov qword [rsp + 0x2f0], rax
mov rcx, qword [rsp + 0xa8]
call fcn.140008600
mov qword [rsp + 0x2f8], rax
mov rcx, qword [rsp + 0x328]
mov rcx, qword [rcx + 0x50]
call fcn.140008600
mov qword [rsp + 0x48], 0
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov ecx, dword [rsp + 0x2ec]
mov dword [rsp + 0x28], ecx
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x2f0]
mov r9, rcx
mov r8, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x2f8]
mov rdx, rcx
mov rcx, rax
call sym.ProcessHacker.exe_PhCreateProcessWin32Ex
mov dword [rsp + 0x50], eax
cmp qword [rsp + 0x1f8], 0
je 0x14002f90b
movzx eax, byte [rsp + 0x1c4]
test eax, eax
je 0x14002f8fd
mov rcx, 0xfffffffffffffffe
call sym.ProcessHacker.exe_PhRevertImpersonationToken
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.ntdll.dll_NtClose]
cmp dword [rsp + 0x50], 0
jl 0x14002f9e4
lea rcx, [rsp + 0x2c0]
call sym.ProcessHacker.exe_PhGetOwnTokenAttributes
mov eax, dword [rax + 8]
and eax, 1
test eax, eax
je 0x14002f9a3
cmp qword [rsp + 0x198], 0
je 0x14002f952
mov r8, qword [rsp + 0x198]
mov edx, 0x15
mov rcx, qword [rsp + 0x88]
call sym.ProcessHacker.exe_PhSetObjectSecurity
cmp qword [rsp + 0x1b8], 0
je 0x14002f9a3
lea r8, [rsp + 0x1f8]
mov edx, 0xc0000
mov rcx, qword [rsp + 0x88]
call fcn.1400067b0
test eax, eax
jl 0x14002f9a3
mov r8, qword [rsp + 0x1b8]
mov edx, 0x15
mov rcx, qword [rsp + 0x1f8]
call sym.ProcessHacker.exe_PhSetObjectSecurity
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.ntdll.dll_NtClose]
lea rdx, [rsp + 0x218]
mov rcx, qword [rsp + 0x88]
call fcn.14000a560
test eax, eax
jl 0x14002f9c7
mov ecx, 0xffffffff
call qword [sym.imp.USER32.dll_AllowSetForegroundWindow]
mov edx, 1
mov rcx, qword [rsp + 0x68]
call fcn.140014bf0
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.ntdll.dll_NtResumeProcess]
cmp qword [rsp + 0x1d8], 0
je 0x14002fa1c
call fcn.14000c360
test rax, rax
je 0x14002fa1c
call fcn.14000c360
mov qword [rsp + 0x300], rax
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [rsp + 0x300]
call qword [0x140613010]
cmp qword [rsp + 0x1b8], 0
je 0x14002fa34
mov rcx, qword [rsp + 0x1b8]
call sym.ProcessHacker.exe_PhFree
cmp qword [rsp + 0x198], 0
je 0x14002fa4c
mov rcx, qword [rsp + 0x198]
call sym.ProcessHacker.exe_PhFree
cmp qword [rsp + 0x158], 0
je 0x14002fa72
mov rcx, qword [rsp + 0x158]
call qword [sym.imp.KERNEL32.dll_DeleteProcThreadAttributeList]
mov rcx, qword [rsp + 0x158]
call sym.ProcessHacker.exe_PhFree
cmp qword [rsp + 0x88], 0
je 0x14002fa8b
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.ntdll.dll_NtClose]
cmp qword [rsp + 0x68], 0
je 0x14002fa9e
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ntdll.dll_NtClose]
cmp dword [rsp + 0x50], 0
jge 0x14002fad2
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x50]
mov r8, qword [rsp + 0x328]
lea rdx, str.restart
mov rcx, qword [rsp + 0x320]
call fcn.1400342b0
xor al, al
jmp 0x14002fad4
mov al, 1
mov rdi, rax
mov rcx, rsp
lea rdx, [0x1403c5510]
call fcn.140015750
mov rax, rdi
mov rcx, qword [rsp + 0x308]
xor rcx, rsp
call fcn.14000d430
add rsp, 0x310
pop rdi
ret