Function at 0x18002e5e0
Capabilities:
Spoof parent pid

Disassembly:
jmp 0x18002e5e0
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 [0x1805a6200]
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.ProcessMonitor.dll_PhGetIntegerSetting
test eax, eax
je 0x18002e6cc
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.ProcessMonitor.dll_PhShowConfirmMessage
mov byte [rsp + 0x54], al
jmp 0x18002e6d1
mov byte [rsp + 0x54], 1
movzx eax, byte [rsp + 0x54]
test eax, eax
jne 0x18002e6e1
xor al, al
jmp 0x18002ed54
call fcn.180015630
mov rcx, qword [rsp + 0x328]
mov rax, qword [rax + 0x40]
cmp qword [rcx + 0x20], rax
jne 0x18002e6ff
xor al, al
jmp 0x18002ed54
mov r8d, 0x70
xor edx, edx
lea rcx, [rsp + 0xf0]
call fcn.180013180
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.180011720
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jge 0x18002e762
jmp 0x18002ec64
lea rdx, [rsp + 0xa8]
mov rcx, qword [rsp + 0x68]
call sym.ProcessMonitor.dll_PhGetProcessCommandLine
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jge 0x18002e784
jmp 0x18002ec64
mov rcx, qword [rsp + 0xa8]
call sym.ProcessMonitor.dll_PhAutoDereferenceObject
lea r8, [rsp + 0xc8]
xor edx, edx
mov rcx, qword [rsp + 0x68]
call sym.ProcessMonitor.dll_PhGetProcessPebString
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jge 0x18002e7b5
jmp 0x18002ec64
mov rcx, qword [rsp + 0xc8]
call sym.ProcessMonitor.dll_PhAutoDereferenceObject
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ntdll.dll_NtClose]
mov qword [rsp + 0x68], 0
lea rcx, [rsp + 0x260]
call sym.ProcessMonitor.dll_PhGetOwnTokenAttributes
mov eax, dword [rax + 8]
and eax, 1
test eax, eax
je 0x18002e7fa
mov dword [rsp + 0x2d8], 0x21000
jmp 0x18002e805
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.180011720
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jge 0x18002e83b
jmp 0x18002ec64
lea r9, [rsp + 0x178]
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_InitializeProcThreadAttributeList]
test eax, eax
jne 0x18002e870
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x18002e870
call fcn.180010890
mov dword [rsp + 0x50], eax
jmp 0x18002ec64
mov rcx, qword [rsp + 0x178]
call sym.ProcessMonitor.dll_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 0x18002e8b5
call fcn.180010890
mov dword [rsp + 0x50], eax
jmp 0x18002ec64
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 0x18002e8fd
call fcn.180010890
mov dword [rsp + 0x50], eax
jmp 0x18002ec64
lea rcx, [rsp + 0x278]
call sym.ProcessMonitor.dll_PhGetOwnTokenAttributes
mov eax, dword [rax + 8]
and eax, 1
test eax, eax
je 0x18002e92b
lea r8, [rsp + 0x198]
mov edx, 0x15
mov rcx, qword [rsp + 0x68]
call sym.ProcessMonitor.dll_PhGetObjectSecurity
lea rcx, [rsp + 0x290]
call sym.ProcessMonitor.dll_PhGetOwnTokenAttributes
mov eax, dword [rax + 8]
and eax, 1
test eax, eax
je 0x18002e94f
mov dword [rsp + 0x2dc], 0x20000
jmp 0x18002e95a
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.180006550
test eax, eax
jl 0x18002eaa2
lea rcx, [rsp + 0x2a8]
call sym.ProcessMonitor.dll_PhGetOwnTokenAttributes
mov eax, dword [rax + 8]
and eax, 1
test eax, eax
je 0x18002e9b1
lea r8, [rsp + 0x1b8]
mov edx, 0x15
mov rcx, qword [rsp + 0x1f8]
call sym.ProcessMonitor.dll_PhGetObjectSecurity
call fcn.18000ffe0
test rax, rax
je 0x18002e9fe
call fcn.18000ffe0
mov qword [rsp + 0x2e0], rax
xor r8d, r8d
mov rdx, qword [rsp + 0x1f8]
lea rcx, [rsp + 0x1d8]
mov rax, qword [rsp + 0x2e0]
call qword [0x180c63010]
test eax, eax
je 0x18002e9fe
mov eax, dword [rsp + 0x204]
or eax, 2
mov dword [rsp + 0x204], eax
mov rcx, qword [rsp + 0x1f8]
call fcn.180019250
movzx eax, al
test eax, eax
je 0x18002ea88
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.180006550
test eax, eax
jl 0x18002ea86
mov rdx, qword [rsp + 0x1f8]
mov rcx, 0xfffffffffffffffe
call sym.ProcessMonitor.dll_PhImpersonateToken
test eax, eax
jl 0x18002ea6c
mov dword [rsp + 0x2e8], 1
jmp 0x18002ea77
mov dword [rsp + 0x2e8], 0
movzx eax, byte [rsp + 0x2e8]
mov byte [rsp + 0x1c4], al
jmp 0x18002eaa2
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.1800082b0
mov qword [rsp + 0x2f0], rax
mov rcx, qword [rsp + 0xa8]
call fcn.1800082b0
mov qword [rsp + 0x2f8], rax
mov rcx, qword [rsp + 0x328]
mov rcx, qword [rcx + 0x50]
call fcn.1800082b0
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.ProcessMonitor.dll_PhCreateProcessWin32Ex
mov dword [rsp + 0x50], eax
cmp qword [rsp + 0x1f8], 0
je 0x18002eb8b
movzx eax, byte [rsp + 0x1c4]
test eax, eax
je 0x18002eb7d
mov rcx, 0xfffffffffffffffe
call sym.ProcessMonitor.dll_PhRevertImpersonationToken
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.ntdll.dll_NtClose]
cmp dword [rsp + 0x50], 0
jl 0x18002ec64
lea rcx, [rsp + 0x2c0]
call sym.ProcessMonitor.dll_PhGetOwnTokenAttributes
mov eax, dword [rax + 8]
and eax, 1
test eax, eax
je 0x18002ec23
cmp qword [rsp + 0x198], 0
je 0x18002ebd2
mov r8, qword [rsp + 0x198]
mov edx, 0x15
mov rcx, qword [rsp + 0x88]
call sym.ProcessMonitor.dll_PhSetObjectSecurity
cmp qword [rsp + 0x1b8], 0
je 0x18002ec23
lea r8, [rsp + 0x1f8]
mov edx, 0xc0000
mov rcx, qword [rsp + 0x88]
call fcn.180006550
test eax, eax
jl 0x18002ec23
mov r8, qword [rsp + 0x1b8]
mov edx, 0x15
mov rcx, qword [rsp + 0x1f8]
call sym.ProcessMonitor.dll_PhSetObjectSecurity
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.ntdll.dll_NtClose]
lea rdx, [rsp + 0x218]
mov rcx, qword [rsp + 0x88]
call fcn.18000a110
test eax, eax
jl 0x18002ec47
mov ecx, 0xffffffff
call qword [sym.imp.USER32.dll_AllowSetForegroundWindow]
mov edx, 1
mov rcx, qword [rsp + 0x68]
call fcn.180014310
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.ntdll.dll_NtResumeProcess]
cmp qword [rsp + 0x1d8], 0
je 0x18002ec9c
call fcn.18000be60
test rax, rax
je 0x18002ec9c
call fcn.18000be60
mov qword [rsp + 0x300], rax
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [rsp + 0x300]
call qword [0x180c63010]
cmp qword [rsp + 0x1b8], 0
je 0x18002ecb4
mov rcx, qword [rsp + 0x1b8]
call sym.ProcessMonitor.dll_PhFree
cmp qword [rsp + 0x198], 0
je 0x18002eccc
mov rcx, qword [rsp + 0x198]
call sym.ProcessMonitor.dll_PhFree
cmp qword [rsp + 0x158], 0
je 0x18002ecf2
mov rcx, qword [rsp + 0x158]
call qword [sym.imp.KERNEL32.dll_DeleteProcThreadAttributeList]
mov rcx, qword [rsp + 0x158]
call sym.ProcessMonitor.dll_PhFree
cmp qword [rsp + 0x88], 0
je 0x18002ed0b
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.ntdll.dll_NtClose]
cmp qword [rsp + 0x68], 0
je 0x18002ed1e
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ntdll.dll_NtClose]
cmp dword [rsp + 0x50], 0
jge 0x18002ed52
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.180033520
xor al, al
jmp 0x18002ed54
mov al, 1
mov rdi, rax
mov rcx, rsp
lea rdx, [0x18039a1f0]
call fcn.180014e20
mov rax, rdi
mov rcx, qword [rsp + 0x308]
xor rcx, rsp
call fcn.18000ce90
add rsp, 0x310
pop rdi
ret