Function at 0x14000e854
Capabilities:
Attach user process memory
Find process by pid
Print debug messages

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0x98
mov rax, qword [rcx + 0x38]
mov rdi, rcx
mov r9d, dword [rcx + 0x10]
mov r8, qword [rcx + 8]
mov edx, dword [rcx]
mov qword [rsp + 0x38], rax
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x28], rax
mov eax, dword [rcx + 0x20]
lea rcx, [0x140016840]
mov dword [rsp + 0x20], eax
call sub.ntoskrnl.exe_DbgPrint
xor esi, esi
mov r15d, 0x2766
lea ebx, [rsi + 1]
lea r14d, [rsi + 4]
cmp qword [rdi + 0x28], rbx
jne 0x14000e958
cmp dword [0x140036c60], r15d
jne 0x14000e91a
mov ecx, dword [rdi]
lea rdx, [0x14003b4c0]
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
mov rcx, qword [0x14003b4c0]
lea rdx, [rbp - 0x11]
call qword [sym.imp.ntoskrnl.exe_KeStackAttachProcess]
mov r8, qword [rdi + 0x18]
lea rdx, [0x140016880]
mov rcx, qword [rdi + 8]
call fcn.14001159c
cmp eax, ebx
jne 0x14000e90a
mov dword [0x140036c60], 0x134da10
mov ebx, esi
lea rcx, [rbp - 0x11]
mov dword [0x14003cdfc], ebx
call qword [sym.imp.ntoskrnl.exe_KeUnstackDetachProcess]
mov qword [rbp + 0x67], rsi
call qword [sym.imp.ntoskrnl.exe_IoGetCurrentProcess]
mov r9, qword [rdi + 0x38]
lea rdx, [0x140036c60]
mov r8, qword [0x14003b4c0]
mov rcx, rax
lea rax, [rbp + 0x67]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], sil
mov qword [rsp + 0x20], r14
call sub.ntoskrnl.exe_MmCopyVirtualMemory
mov dword [0x140036c60], r15d
mov rax, qword [rdi + 0x28]
cmp rax, 0xc
jne 0x14000e9be
mov ecx, dword [rdi]
xor edx, edx
mov qword [rbp + 0x6f], rsi
call fcn.140001958
mov ecx, dword [rdi]
lea rdx, [rbp + 0x67]
mov qword [rbp + 0x77], rax
mov qword [rbp + 0x67], rsi
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
call qword [sym.imp.ntoskrnl.exe_IoGetCurrentProcess]
mov r9, qword [rdi + 0x38]
lea rdx, [rbp + 0x77]
mov r8, qword [rbp + 0x67]
mov rcx, rax
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], sil
mov qword [rsp + 0x20], r14
call sub.ntoskrnl.exe_MmCopyVirtualMemory
mov rcx, qword [rbp + 0x67]
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov rax, qword [rdi + 0x28]
cmp rax, 0xd
jne 0x14000ea24
mov ecx, dword [rdi]
xor edx, edx
mov qword [rbp + 0x6f], rsi
call fcn.140001958
mov ecx, dword [rdi]
lea rdx, [rbp + 0x67]
mov qword [rbp + 0x77], rax
mov qword [rbp + 0x67], rsi
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
call qword [sym.imp.ntoskrnl.exe_IoGetCurrentProcess]
mov r9, qword [rdi + 0x38]
lea rdx, [rbp + 0x77]
mov r8, qword [rbp + 0x67]
mov rcx, rax
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], sil
mov qword [rsp + 0x20], 8
call sub.ntoskrnl.exe_MmCopyVirtualMemory
mov rcx, qword [rbp + 0x67]
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov rax, qword [rdi + 0x28]
cmp rax, 3
jne 0x14000ea35
mov ecx, dword [rdi]
call fcn.140006450
mov rax, qword [rdi + 0x28]
cmp rax, r14
jne 0x14000ea50
mov dword [0x140036c60], r15d
mov dword [0x14003cdf8], esi
call fcn.140006574
mov rax, qword [rdi + 0x28]
cmp rax, 5
jne 0x14000ea7b
mov r8, qword [rdi + 8]
mov edx, dword [rdi]
mov rcx, qword [0x14003b4c0]
call fcn.14000dfd4
mov eax, dword [rdi]
mov dword [0x14003cdf8], eax
mov dword [0x140036c60], r15d
mov rax, qword [rdi + 0x28]
cmp rax, 7
jne 0x14000eac1
mov qword [rbp + 0x6f], rsi
call fcn.1400017d4
mov dword [rbp + 0x67], eax
call qword [sym.imp.ntoskrnl.exe_IoGetCurrentProcess]
mov r9, qword [rdi + 0x38]
lea rdx, [rbp + 0x67]
mov r8, qword [0x14003b4c0]
mov rcx, rax
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], sil
mov qword [rsp + 0x20], r14
call sub.ntoskrnl.exe_MmCopyVirtualMemory
mov rax, qword [rdi + 0x28]
cmp rax, 8
jne 0x14000eb2a
mov rcx, qword [0x14003b4c0]
mov dword [0x140036c60], r15d
mov eax, dword [rdi]
mov dword [0x14003cdf8], eax
mov r9, qword [rdi + 0x18]
mov r8, qword [rdi + 8]
mov edx, dword [rdi]
mov qword [rbp + 0x6f], rsi
call fcn.14000dc08
movzx eax, al
mov dword [rbp + 0x67], eax
call qword [sym.imp.ntoskrnl.exe_IoGetCurrentProcess]
mov r9, qword [rdi + 0x38]
lea rdx, [rbp + 0x67]
mov r8, qword [0x14003b4c0]
mov rcx, rax
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], sil
mov qword [rsp + 0x20], r14
call sub.ntoskrnl.exe_MmCopyVirtualMemory
mov rax, qword [rdi + 0x28]
cmp rax, 9
jne 0x14000ebe6
lea rcx, [0x140016890]
mov qword [rbp + 0x77], rsi
call fcn.14000f96c
lea rdx, [rbp + 0x6f]
mov qword [rbp + 0x6f], rsi
mov rcx, rax
mov rbx, rax
call fcn.14000d84c
mov dword [rbp + 0x67], eax
cmp qword [rbp + 0x6f], rsi
je 0x14000ebb6
xor edx, edx
mov ecx, ebx
call fcn.140001958
lea rdx, [rbp + 0x7f]
mov qword [rbp - 0x19], rax
mov rcx, rbx
mov qword [rbp + 0x7f], rsi
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
mov rbx, qword [rbp + 0x6f]
call qword [sym.imp.ntoskrnl.exe_IoGetCurrentProcess]
mov r8, qword [rbp + 0x7f]
lea r9, [rbx + 0x1a060]
mov rcx, rax
lea rdx, [rbp - 0x19]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], sil
mov qword [rsp + 0x20], 8
call sub.ntoskrnl.exe_MmCopyVirtualMemory
call qword [sym.imp.ntoskrnl.exe_IoGetCurrentProcess]
mov r9, qword [rdi + 0x38]
lea rdx, [rbp + 0x67]
mov r8, qword [0x14003b4c0]
mov rcx, rax
lea rax, [rbp + 0x77]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], sil
mov qword [rsp + 0x20], r14
call sub.ntoskrnl.exe_MmCopyVirtualMemory
mov eax, dword [0x140036c60]
lea rcx, [0x1400168a0]
mov r9d, dword [rdi + 0x10]
mov r8, qword [rdi + 8]
mov edx, dword [rdi]
mov dword [rsp + 0x40], eax
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x30], rax
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x28], rax
mov eax, dword [rdi + 0x20]
mov dword [rsp + 0x20], eax
call sub.ntoskrnl.exe_DbgPrint
xor eax, eax
add rsp, 0x98
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret