Function at 0x1ab14
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rsi, rdx
mov rbx, rcx
xor edx, edx
xor ecx, ecx
call fcn.00019c50
mov r12, rax
mov rdi, qword [rsi + 0xb8]
mov qword [rsp + 0x50], rdi
lea rax, [rdi - 0x48]
xor r13d, r13d
cmp rax, r13
jne 0x1ab74
mov ebx, 0xc00000bb
mov dword [rsi + 0x30], ebx
xor edx, edx
mov rcx, rsi
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
mov eax, ebx
jmp 0x1b094
cmp rdi, r13
je 0x1b089
call qword [sym.imp.ntoskrnl.exe_PsGetCurrentProcessId]
cmp eax, 0xa
jb 0x1b089
cmp byte [0x00617a15], r13b
jne 0x1b089
cmp r12, r13
je 0x1abbe
call qword [sym.imp.ntoskrnl.exe_PsGetCurrentProcessId]
cmp eax, dword [r12 + 0xf40]
jne 0x1abbe
mov rdx, rsi
mov rcx, rbx
call fcn.0001a3fc
jmp 0x1b094
lea r14, [rdi + 8]
mov rcx, r14
call qword [sym.imp.ntoskrnl.exe_MmIsAddressValid]
cmp al, r13b
je 0x1b07c
mov rcx, qword [rsi + 8]
call qword [sym.imp.ntoskrnl.exe_MmIsAddressValid]
cmp al, r13b
je 0x1b07c
mov rcx, qword [rsi + 8]
cmp rcx, r13
je 0x1b06f
cmp r14, r13
je 0x1b06f
cmp dword [r14], r13d
je 0x1b06f
test byte [rcx + 0xa], 5
je 0x1ac12
mov rdi, qword [rcx + 0x18]
jmp 0x1ac31
mov dword [rsp + 0x28], 0x10
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 1]
call qword [sym.imp.ntoskrnl.exe_MmMapLockedPagesSpecifyCache]
mov rdi, rax
mov qword [rsp + 0x58], rdi
mov rax, qword [rsi + 8]
mov r15d, dword [r14]
cmp dword [rax + 0x28], r15d
cmovb r15d, dword [rax + 0x28]
mov dword [rsp + 0x40], r15d
mov rcx, rdi
call qword [sym.imp.ntoskrnl.exe_MmIsAddressValid]
cmp al, r13b
jne 0x1ac69
mov rdx, rsi
mov rcx, rbx
call fcn.0001a3fc
jmp 0x1b094
cmp rdi, r13
je 0x1b06f
cmp r15d, r13d
jle 0x1b06f
mov dword [rsp + 0xc8], r13d
mov qword [rsp + 0xd0], r13
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xd0]
mov r8d, r15d
mov rdx, rdi
mov rcx, r12
call fcn.0001a9dc
cmp al, r13b
je 0x1aee9
cmp qword [rsp + 0xd0], r13
je 0x1aee9
mov r13d, dword [rsp + 0xc8]
test r13d, r13d
je 0x1aee6
xor edi, edi
mov qword [rsp + 0x48], rdi
and dword [rsp + 0xc8], edi
and qword [rsp + 0xd8], rdi
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x50], rax
xor r14b, r14b
test r12, r12
jne 0x1ad0e
xor edx, edx
xor ecx, ecx
call fcn.00019c50
mov r12, rax
lea rcx, [r12 + 0xfa0]
call qword [sym.imp.ntoskrnl.exe_KeAcquireSpinLockRaiseToDpc]
lea rdx, [r12 + 0xf90]
mov rcx, qword [rdx]
cmp rcx, rdx
je 0x1ad56
mov r8, qword [rsp + 0x50]
cmp qword [rcx + 0x10], r8
je 0x1ad41
mov rcx, qword [rcx]
cmp rcx, rdx
jne 0x1ad31
jmp 0x1ad56
mov r14b, 1
lea rdx, [rsp + 0x48]
test rdx, rdx
je 0x1ad56
mov qword [rdx], rcx
mov rdi, qword [rsp + 0x48]
lea rcx, [r12 + 0xfa0]
mov dl, al
call qword [sym.imp.ntoskrnl.exe_KeReleaseSpinLock]
xor r12d, r12d
cmp r14b, r12b
je 0x1aec3
cmp rdi, r12
je 0x1aec3
cmp qword [rdi + 0x28], r12
je 0x1aec3
cmp qword [rdi + 0x20], r12
je 0x1aec3
mov dword [rsi + 0x30], r12d
movsxd rax, r15d
mov qword [rsi + 0x38], rax
xor edx, edx
mov rcx, rsi
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
mov rdx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
mov rcx, qword [rdi + 0x30]
cmp rax, r12
je 0x1adf1
cmp rcx, r12
je 0x1adf1
lea r8, [rsp + 0xd8]
mov qword [rsp + 0x38], r8
mov rdi, qword [rsp + 0xd0]
mov qword [rsp + 0x30], rdi
lea r8, [rsp + 0xc8]
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], r13d
mov r9d, r13d
xor r8d, r8d
call rax
jmp 0x1adfe
mov eax, 0xc0000001
mov rdi, qword [rsp + 0xd0]
cmp eax, 0xc0000016
jne 0x1aeae
mov rbx, qword [rsp + 0xd8]
cmp rbx, r12
je 0x1aeae
mov rbx, qword [rbx + 8]
cmp rbx, r12
je 0x1aeae
test byte [rbx + 0xa], 5
je 0x1ae33
mov rax, qword [rbx + 0x18]
jmp 0x1ae52
mov dword [rsp + 0x28], 0x10
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 1]
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_MmMapLockedPagesSpecifyCache]
cmp rax, r12
je 0x1aeae
mov ecx, r13d
sub ecx, dword [rsp + 0xc8]
cmp dword [rbx + 0x28], ecx
jb 0x1aeae
mov r8d, ecx
mov edx, dword [rsp + 0xc8]
add rdx, rdi
mov rcx, rax
call fcn.0001f770
mov r11, qword [rsp + 0xd8]
mov dword [r11 + 0x30], r12d
sub r13d, dword [rsp + 0xc8]
mov edx, r13d
mov rax, qword [rsp + 0xd8]
mov qword [rax + 0x38], rdx
xor edx, edx
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
mov edx, 0x4d784b5f
mov rcx, rdi
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
xor eax, eax
jmp 0x1b094
mov edx, 0x4d784b5f
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov rdx, rsi
mov rcx, rbx
call fcn.0001a3fc
jmp 0x1b094
xor r13d, r13d
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xd0]
mov r8d, r15d
mov rdx, rdi
mov rcx, r12
call fcn.0001a8d8
cmp al, r13b
je 0x1b06f
mov r13, qword [rsp + 0xd0]
test r13, r13
je 0x1b06f
mov edi, dword [rsp + 0xc8]
test edi, edi
je 0x1b06f
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, edi
mov rcx, r13
call qword [sym.imp.ntoskrnl.exe_IoAllocateMdl]
mov r15, rax
test rax, rax
jne 0x1af72
mov edx, 0x4d784b5f
mov rcx, r13
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov rdx, rsi
mov rcx, rbx
call fcn.0001a3fc
jmp 0x1b094
mov rcx, rax
call qword [sym.imp.ntoskrnl.exe_MmBuildMdlForNonPagedPool]
mov rax, qword [rsi + 8]
mov qword [rsp + 0xd0], rax
mov eax, dword [r14]
mov dword [rsp + 0xc8], eax
mov qword [rsi + 8], r15
mov dword [r14], edi
mov rdi, qword [r12 + 0x28]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x60]
call qword [sym.imp.ntoskrnl.exe_KeInitializeEvent]
mov rdx, qword [rsi + 0xb8]
lea rbx, [rdx - 0x48]
mov rcx, rbx
mov r8d, 0x38
call fcn.0001f770
mov byte [rbx + 3], 0
mov rax, qword [rsi + 0xb8]
lea rcx, [0x0001aaf0]
mov qword [rax - 0x10], rcx
lea rcx, [rsp + 0x60]
mov qword [rax - 8], rcx
mov byte [rax - 0x45], 0xe0
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.ntoskrnl.exe_IofCallDriver]
cmp eax, 0x103
jne 0x1b015
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x60]
call qword [sym.imp.ntoskrnl.exe_KeWaitForSingleObject]
mov rax, qword [rsp + 0xd0]
mov qword [rsi + 8], rax
mov eax, dword [rsp + 0xc8]
mov dword [r14], eax
mov qword [rsi + 0x38], rax
mov rcx, r15
call qword [sym.imp.ntoskrnl.exe_IoFreeMdl]
mov edx, 0x4d784b5f
mov rcx, r13
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov ebx, dword [rsi + 0x30]
xor edx, edx
mov rcx, rsi
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
mov eax, ebx
jmp 0x1b094
mov rdx, rsi
mov rcx, rbx
call fcn.0001a3fc
jmp 0x1b094
mov rdx, rsi
mov rcx, rbx
call fcn.0001a3fc
jmp 0x1b094
mov rdx, rsi
mov rcx, rbx
call fcn.0001a3fc
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret