Function at 0x1400068ac
Capabilities:
Attach user process memory

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x1400a4088]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], r8
mov byte [rsp + 0x20], dl
mov r13, rcx
mov qword [rsp + 0x48], rcx
mov rsi, qword [rsp + 0x100]
mov qword [rsp + 0x50], rsi
xor edi, edi
mov ebx, edi
mov qword [r8], rdi
mov qword [r9], rdi
mov qword [rsi], rdi
test dl, dl
jne 0x140006927
lea ecx, [rdi + 0x2b]
call fcn.140029ab4
mov r14, rax
mov dword [rsp + 0x24], 0x60
mov ecx, 0x312
call fcn.140029ab4
mov r12, rax
jmp 0x140006949
mov ecx, 0x810
call fcn.140029ab4
mov r14d, eax
mov dword [rsp + 0x24], 0x30
mov ecx, 0x313
call fcn.140029ab4
mov r12d, eax
mov ecx, 0x314
call fcn.140029ab4
test eax, eax
je 0x140006ba8
test r12d, r12d
je 0x140006ba8
mov eax, eax
mov qword [rsp + 0x58], rax
mov r15d, eax
shl r15, 3
mov rdx, r15
mov ecx, 1
call fcn.140077530
mov qword [rsi], rax
test rax, rax
je 0x140006ba8
cmp r14d, 0xffffffff
je 0x140006b9b
mov r14d, r14d
add r14, r13
mov rcx, r14
call qword [sym.imp.ntoskrnl.exe_MmIsAddressValid]
cmp al, 1
jne 0x140006b9b
mov rcx, qword [r14]
mov qword [rsp + 0x28], rcx
mov r14b, byte [rsp + 0x20]
test r14b, r14b
je 0x1400069d8
lea rdx, [rsp + 0x28]
call fcn.14007a820
mov rcx, qword [rsp + 0x28]
test al, al
cmove rcx, rdi
mov qword [rsp + 0x28], rcx
test rcx, rcx
je 0x140006b9b
mov rcx, r13
call fcn.140077928
mov byte [rsp + 0x20], al
lea rdx, [rsp + 0x60]
mov rcx, r13
call sub.ntoskrnl.exe_KeStackAttachProcess
nop
mov rax, qword [sym.imp.ntoskrnl.exe_MmUserProbeAddress]
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x28]
cmp rcx, rdx
jae 0x140006b6f
mov eax, dword [rsp + 0x24]
add rax, rcx
cmp rax, rdx
jae 0x140006b6f
mov rdx, qword [rsp + 0x38]
test r14b, r14b
jne 0x140006ad9
lea rax, [rcx + 0x58]
mov qword [rdx], rax
mov rax, qword [rax]
mov rdx, qword [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rcx + 0x18]
mov rax, qword [sym.imp.ntoskrnl.exe_MmUserProbeAddress]
mov rdx, qword [rax]
cmp rcx, rdx
jae 0x140006b6f
lea rax, [rcx + 0x48]
cmp rax, rdx
jae 0x140006b6f
add rcx, 0x10
xor edx, edx
call fcn.140007290
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140006b67
mov rcx, qword [sym.imp.ntoskrnl.exe_MmUserProbeAddress]
mov r9, qword [rcx]
cmp rax, r9
jae 0x140006b67
mov ecx, r12d
lea rdx, [rcx + rax]
cmp rdx, r9
jae 0x140006b67
lea r10, [rcx + r15]
add rax, r10
cmp rax, r9
jae 0x140006b67
cmp rcx, r9
jae 0x140006b67
cmp r15, r9
jae 0x140006b67
cmp r10, r9
jae 0x140006b67
mov r8, r15
jmp 0x140006b5d
lea rax, [rcx + 0x2c]
mov qword [rdx], rax
mov eax, dword [rax]
mov rdx, qword [rsp + 0x40]
mov qword [rdx], rax
mov ecx, dword [rcx + 0xc]
mov rax, qword [sym.imp.ntoskrnl.exe_MmUserProbeAddress]
mov rdx, qword [rax]
cmp rcx, rdx
jae 0x140006b6f
lea rax, [rcx + 0x28]
cmp rax, rdx
jae 0x140006b6f
add rcx, 0xc
xor edx, edx
call fcn.140007420
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140006b67
mov rax, qword [sym.imp.ntoskrnl.exe_MmUserProbeAddress]
mov rcx, qword [rax]
cmp rbx, rcx
jae 0x140006b67
mov r9d, r12d
lea rdx, [r9 + rbx]
cmp rdx, rcx
jae 0x140006b67
mov r8, qword [rsp + 0x58]
shl r8, 2
lea r10, [r8 + r9]
lea rax, [r10 + rbx]
cmp rax, rcx
jae 0x140006b67
cmp r9, rcx
jae 0x140006b67
cmp r8, rcx
jae 0x140006b67
cmp r10, rcx
jae 0x140006b67
mov rcx, qword [rsi]
call fcn.1400010a0
jmp 0x140006b6f
mov rbx, rdi
mov qword [rsp + 0x30], rbx
jmp 0x140006b82
lea rcx, [rsp + 0x60]
call sub.ntoskrnl.exe_KeUnstackDetachProcess
cmp byte [rsp + 0x20], 1
jne 0x140006b9b
mov rcx, r13
call fcn.140077a00
test rbx, rbx
jne 0x140006ba8
mov rcx, qword [rsi]
call fcn.140077564
mov rax, rbx
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14008c320
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret