Function at 0x1caec
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 0x1cb72
cmp word [rcx + 0x58], si
jne 0x1cb72
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 0x1ccee
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x70], rsi
call fcn.00011500
mov rbx, qword [rsp + 0x70]
cmp rbx, rsi
jne 0x1cba2
xor edx, edx
mov rcx, rbp
mov dword [rbp + 0x30], esi
mov qword [rbp + 0x38], rsi
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
jmp 0x1ccd7
mov rdx, qword [r12 + 0x30]
lea r8, [rsp + 0x60]
mov rcx, rbx
call fcn.0001e7a0
mov r12d, eax
cmp eax, esi
je 0x1cbdf
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 0x1ccd7
cmp dword [rsp + 0x60], esi
jne 0x1ccbb
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 0x1cc6a
mov rdx, qword [r15]
mov rcx, qword [r12 + 0x20]
call sub.ntoskrnl.exe__wcsicmp
cmp eax, esi
jl 0x1cc49
mov r14, r12
mov r12, qword [r12 + 0x10]
jmp 0x1cc4e
mov r12, qword [r12 + 0x18]
cmp r12, rsi
jne 0x1cc2e
cmp r14, r13
je 0x1ccab
mov rdx, qword [r14 + 0x20]
mov rcx, qword [r15]
call sub.ntoskrnl.exe__wcsicmp
cmp eax, esi
cmovl r14, r13
cmp r14, r13
je 0x1ccab
lea r9, [r13 + 0x18]
lea r8, [r13 + 0x10]
lea rdx, [r13 + 8]
mov rcx, r14
call fcn.00015380
mov r12, rax
mov rcx, qword [rax + 0x20]
cmp rcx, rsi
je 0x1cc97
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
cmp r12, rsi
je 0x1cca7
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 0x1ccbb
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