Function at 0x16494
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
xor r13d, r13d
add rcx, 0x190
mov r12, rdx
mov r14d, 0x8000
mov esi, r13d
call qword [sym.imp.ntoskrnl.exe_KeAcquireSpinLockRaiseToDpc]
mov byte [rsp + 0x50], al
cmp qword [rbx + 0x10], r13
je 0x166e3
cmp qword [rbx + 0x40], r13
je 0x16681
cmp qword [rbx + 0x30], r12
jne 0x16681
lea rdi, [rbx + 0x100]
cmp qword [rdi], rdi
je 0x16681
lea rbp, [rbx + 0x110]
jmp 0x165e0
cmp qword [rdi], rdi
je 0x16681
mov rcx, qword [rbp]
mov rax, qword [rcx]
lea r13, [rcx - 0xa8]
mov qword [rbp], rax
mov qword [rax + 8], rbp
mov rax, qword [r13 + 0xb8]
bt dword [rax + 0xc], 0xe
mov r8d, dword [rax + 8]
jae 0x1656f
mov rax, qword [rdi]
xor edx, edx
jmp 0x1655c
test r8d, r8d
je 0x16553
cmp dword [rax + 0xdc], 0
je 0x1656f
add edx, dword [rax + 0xdc]
mov rax, qword [rax]
cmp rax, rdi
jne 0x16545
cmp edx, r8d
jae 0x1656f
cmp r8d, r14d
jbe 0x1660e
lea rax, [r13 + 0xa8]
mov rdx, rdi
mov rcx, r13
mov qword [rax + 8], rax
mov qword [rax], rax
xor eax, eax
xchg qword [r13 + 0x68], rax
call fcn.00015f44
mov dl, byte [rsp + 0x50]
lea rcx, [rbx + 0x190]
mov esi, eax
mov byte [rbx + 0x125], 0
call qword [sym.imp.ntoskrnl.exe_KeReleaseSpinLock]
xor edx, edx
mov rcx, r13
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
lea rcx, [rbx + 0x190]
call qword [sym.imp.ntoskrnl.exe_KeAcquireSpinLockRaiseToDpc]
xor r13d, r13d
mov byte [rsp + 0x50], al
cmp qword [rbx + 0x10], r13
je 0x166e3
cmp qword [rbx + 0x30], r12
jne 0x16681
cmp esi, r13d
jl 0x16626
cmp qword [rbp], rbp
jne 0x1650d
cmp qword [rdi], rdi
je 0x16681
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.00016164
cmp eax, r13d
mov esi, eax
jl 0x16674
cmp qword [rdi], rdi
je 0x16681
jmp 0x165e0
mov rax, qword [rbp]
mov qword [rcx + 8], rbp
xor r13d, r13d
mov qword [rcx], rax
mov qword [rax + 8], rcx
mov qword [rbp], rcx
jmp 0x1667e
cmp qword [rdi], rdi
je 0x1667e
mov rdx, qword [rdi]
cmp dword [rdx + 0x18], r13d
jl 0x1663d
cmp dword [rdx + 0xdc], r13d
jne 0x1667e
mov rax, qword [rdx + 8]
mov rcx, qword [rdx]
mov qword [rax], rcx
mov qword [rcx + 8], rax
lea rcx, [rbx + 0xf0]
mov rax, qword [rcx + 8]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
mov qword [rax], rdx
mov qword [rcx + 8], rdx
mov rdx, qword [rbx + 0x30]
mov ecx, 2
call fcn.00013208
jmp 0x1667e
cmp eax, 0xc000021b
jne 0x16681
mov r14d, r13d
mov esi, r13d
cmp qword [rbx + 0x10], r13
je 0x166e3
cmp qword [rbx + 0x30], r12
jne 0x166e3
cmp esi, r13d
jl 0x166e8
lea rdx, [rbx + 0x100]
mov ecx, r13d
mov rax, qword [rdx]
jmp 0x166aa
add ecx, dword [rax + 0xdc]
mov rax, qword [rax]
cmp rax, rdx
jne 0x166a1
cmp ecx, r14d
jae 0x166e3
cmp byte [rbx + 0xe8], r13b
je 0x166d5
cmp dword [rbx + 0x120], r13d
jle 0x166e3
mov edx, 1
mov rcx, rbx
call fcn.0001abcc
jmp 0x166e3
mov rdx, qword [rbx + 0x30]
mov ecx, 4
call fcn.00013208
cmp esi, r13d
jge 0x16702
cmp qword [rbx + 0x10], r13
je 0x16702
cmp qword [rbx + 0x30], r12
jne 0x16702
mov dl, byte [rsp + 0x50]
mov rcx, rbx
call fcn.0001a6f8
jmp 0x16713
mov dl, byte [rsp + 0x50]
lea rcx, [rbx + 0x190]
call qword [sym.imp.ntoskrnl.exe_KeReleaseSpinLock]
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov eax, esi
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret