Function at 0x14002eae0
Capabilities:
Create process on windows

Disassembly:
push rbp
push r13
push r15
sub rsp, 0x110
mov r13, rcx
lea rcx, str.EnableWarnings
xor r15d, r15d
mov rbp, rdx
mov qword [rsp + 0x148], r15
call sym.ProcessHacker.exe_PhGetIntegerSetting
test eax, eax
je 0x14002eb42
mov r8, qword [rbp + 0x20]
lea r9, str.The_process_will_be_restarted_with_the_same_command_line_and_working_directory__but_if_it_is_running_under_a_different_user_it_will_be_restarted_under_the_current_user.
lea rdx, str.restart
mov rcx, r13
add r8, 0x10
mov byte [rsp + 0x20], 1
call sym.ProcessHacker.exe_PhShowConfirmMessage
test al, al
jne 0x14002eb42
add rsp, 0x110
pop r15
pop r13
pop rbp
ret
mov edx, dword [0x1400d8fbc]
mov r8, qword [rbp + 0x10]
lea rcx, [rsp + 0x148]
or edx, 0x10
mov qword [rsp + 0x100], rdi
call sym.ProcessHacker.exe_PhOpenProcess
mov edi, eax
test eax, eax
js 0x14002edb5
mov rcx, qword [rsp + 0x148]
lea rdx, [rsp + 0x140]
call sym.ProcessHacker.exe_PhGetProcessIsPosix
mov edi, eax
test eax, eax
js 0x14002edb5
cmp byte [rsp + 0x140], r15b
je 0x14002ebb0
lea r8, str.POSIX_processes_cannot_be_restarted.
mov edx, 0x10
mov rcx, r13
call sym.ProcessHacker.exe_PhShowMessage
jmp 0x14002edb5
mov rcx, qword [rsp + 0x148]
lea r8, [rsp + 0x58]
mov edx, 3
call sym.ProcessHacker.exe_PhGetProcessPebString
mov edi, eax
test eax, eax
js 0x14002edb5
mov qword [rsp + 0x130], rbx
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
call sym.ProcessHacker.exe_PhaDereferenceObject
mov rcx, qword [rsp + 0x148]
lea r8, [rsp + 0x50]
xor edx, edx
call sym.ProcessHacker.exe_PhGetProcessPebString
mov edi, eax
test eax, eax
js 0x14002edad
mov qword [rsp + 0x108], rsi
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
call sym.ProcessHacker.exe_PhaDereferenceObject
mov rcx, qword [rsp + 0x148]
call qword [sym.imp.ntdll.dll_NtClose]
mov r8, qword [rbp + 0x10]
lea rcx, [rsp + 0x148]
mov edx, 1
mov qword [rsp + 0x148], r15
call sym.ProcessHacker.exe_PhOpenProcess
mov edi, eax
test eax, eax
js 0x14002eda5
mov rcx, qword [rsp + 0x148]
xor edx, edx
call sym.ProcessHacker.exe_PhTerminateProcess
mov edi, eax
test eax, eax
js 0x14002eda5
mov rcx, qword [rsp + 0x148]
mov qword [rsp + 0xf8], r12
mov qword [rsp + 0xf0], r14
call qword [sym.imp.ntdll.dll_NtClose]
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x148], r15
test rax, rax
je 0x14002ec9d
lea r12, [rax + 0x10]
jmp 0x14002eca0
mov r12, r15
lea r8, [rbx + 0x10]
or rbx, 0xffffffffffffffff
lea r14, [rsi + 0x10]
mov rsi, r15
test r8, r8
je 0x14002ecd2
xor eax, eax
mov rdi, r8
mov rcx, rbx
repne scasw ax, word [rdi]
not rcx
lea rdx, [rcx + rcx - 2]
mov rcx, r8
call sym.ProcessHacker.exe_PhCreateStringEx
mov rsi, rax
xor edx, edx
lea rcx, [rsp + 0x80]
lea r8d, [rdx + 0x68]
call fcn.14009e740
mov dword [rsp + 0x80], 0x68
test rsi, rsi
je 0x14002ecfb
lea rdx, [rsi + 0x10]
jmp 0x14002ecfe
mov rdx, r15
lea rax, [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x80]
mov rcx, r12
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
mov r14, qword [rsp + 0xf0]
mov r12, qword [rsp + 0xf8]
test eax, eax
je 0x14002ed51
mov edi, r15d
jmp 0x14002ed74
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jg 0x14002ed65
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14002ed74
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0xc0070000
test rsi, rsi
je 0x14002ed8b
lea rcx, [rsi - 0x20]
lock xadd dword [rcx], ebx
add ebx, 0xffffffff
jne 0x14002ed8b
call fcn.14001fcd0
test edi, edi
js 0x14002eda5
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ntdll.dll_NtClose]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ntdll.dll_NtClose]
mov rsi, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x14002edc8
call qword [sym.imp.ntdll.dll_NtClose]
test edi, edi
jns 0x14002ee3e
cmp qword [rbp + 0x10], r15
jl 0x14002ee0a
mov r8, qword [rbp + 0x20]
mov r9d, dword [rbp + 0x10]
lea rdx, str.restart
lea rcx, str.Unable_to__s__s__PID__u_
add r8, 0x10
call sym.ProcessHacker.exe_PhaFormatString
xor r9d, r9d
mov r8d, edi
add rax, 0x10
mov rcx, r13
mov rdx, rax
call sym.ProcessHacker.exe_PhShowContinueStatus
xor al, al
jmp 0x14002ee40
mov r8, qword [rbp + 0x20]
lea rdx, str.restart
lea rcx, str.Unable_to__s__s
add r8, 0x10
call sym.ProcessHacker.exe_PhaFormatString
xor r9d, r9d
mov r8d, edi
add rax, 0x10
mov rcx, r13
mov rdx, rax
call sym.ProcessHacker.exe_PhShowContinueStatus
xor al, al
jmp 0x14002ee40
mov al, 1
mov rdi, qword [rsp + 0x100]
add rsp, 0x110
pop r15
pop r13
pop rbp
ret