Function at 0x1c8a4
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbp, rdx
mov r13, rcx
lea rdi, [rcx + 0x40]
call qword [sym.imp.ntoskrnl.exe_KeEnterCriticalRegion]
mov dl, 1
mov rcx, rdi
call qword [sym.imp.ntoskrnl.exe_ExAcquireResourceExclusiveLite]
call qword [sym.imp.ntoskrnl.exe_KeLeaveCriticalRegion]
mov r12, qword [rbp + 0xb8]
mov rcx, qword [r12 + 0x30]
xor esi, esi
cmp qword [rcx + 0x18], rsi
jne 0x1c92a
cmp word [rcx + 0x58], si
jne 0x1c92a
lock add dword [r13 + 0xe0], 0xffffffff
xor edx, edx
mov rcx, rbp
mov dword [rbp + 0x30], esi
mov qword [rbp + 0x38], rsi
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
call qword [sym.imp.ntoskrnl.exe_KeEnterCriticalRegion]
mov rcx, rdi
call qword [sym.imp.ntoskrnl.exe_ExReleaseResourceLite]
call qword [sym.imp.ntoskrnl.exe_KeLeaveCriticalRegion]
xor eax, eax
jmp 0x1caa6
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x70], rsi
call fcn.00011584
mov rbx, qword [rsp + 0x70]
cmp rbx, rsi
jne 0x1c95a
xor edx, edx
mov rcx, rbp
mov dword [rbp + 0x30], esi
mov qword [rbp + 0x38], rsi
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
jmp 0x1ca8f
mov rdx, qword [r12 + 0x30]
lea r8, [rsp + 0x60]
mov rcx, rbx
call fcn.0001e824
mov r12d, eax
cmp eax, esi
je 0x1c997
xor edx, edx
mov rcx, rbp
mov dword [rbp + 0x30], eax
mov qword [rbp + 0x38], rsi
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
mov r11, qword [rbx]
mov rcx, rbx
call qword [r11 + 8]
mov esi, r12d
jmp 0x1ca8f
cmp dword [rsp + 0x60], esi
jne 0x1ca73
mov qword [rsp + 0x68], rsi
mov rax, qword [rbx]
lea rdx, [rsp + 0x68]
mov rcx, rbx
call qword [rax + 0x18]
mov r11, qword [r13]
mov rdx, rbx
mov rcx, r13
call qword [r11 + 0x100]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x18]
add r13, 0xb0
mov r12, qword [r13 + 8]
mov r15, rax
mov r14, r13
cmp r12, rsi
je 0x1ca22
mov rdx, qword [r15]
mov rcx, qword [r12 + 0x20]
call sub.ntoskrnl.exe__wcsicmp
cmp eax, esi
jl 0x1ca01
mov r14, r12
mov r12, qword [r12 + 0x10]
jmp 0x1ca06
mov r12, qword [r12 + 0x18]
cmp r12, rsi
jne 0x1c9e6
cmp r14, r13
je 0x1ca63
mov rdx, qword [r14 + 0x20]
mov rcx, qword [r15]
call sub.ntoskrnl.exe__wcsicmp
cmp eax, esi
cmovl r14, r13
cmp r14, r13
je 0x1ca63
lea r9, [r13 + 0x18]
lea r8, [r13 + 0x10]
lea rdx, [r13 + 8]
mov rcx, r14
call fcn.0001e1c8
mov r12, rax
mov rcx, qword [rax + 0x20]
cmp rcx, rsi
je 0x1ca4f
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
cmp r12, rsi
je 0x1ca5f
xor edx, edx
mov rcx, r12
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
dec qword [r13 + 0x20]
mov rcx, qword [rsp + 0x68]
cmp rcx, rsi
je 0x1ca73
mov rax, qword [rcx]
call qword [rax + 8]
xor edx, edx
mov rcx, rbp
mov dword [rbp + 0x30], esi
mov qword [rbp + 0x38], rsi
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
mov r11, qword [rbx]
mov rcx, rbx
call qword [r11 + 8]
call qword [sym.imp.ntoskrnl.exe_KeEnterCriticalRegion]
mov rcx, rdi
call qword [sym.imp.ntoskrnl.exe_ExReleaseResourceLite]
call qword [sym.imp.ntoskrnl.exe_KeLeaveCriticalRegion]
mov eax, esi
mov rbx, qword [rsp + 0x78]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret