Function at 0x153d4
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]
cmp qword [rbx + 0x10], r13
mov byte [rsp + 0x50], al
je 0x15623
cmp qword [rbx + 0x40], r13
je 0x155c1
cmp qword [rbx + 0x30], r12
jne 0x155c1
lea rdi, [rbx + 0x100]
cmp qword [rdi], rdi
je 0x155c1
lea rbp, [rbx + 0x110]
jmp 0x15520
cmp qword [rdi], rdi
je 0x155c1
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 0x154af
mov rax, qword [rdi]
xor edx, edx
jmp 0x1549c
test r8d, r8d
je 0x15493
cmp dword [rax + 0xdc], 0
je 0x154af
add edx, dword [rax + 0xdc]
mov rax, qword [rax]
cmp rax, rdi
jne 0x15485
cmp edx, r8d
jae 0x154af
cmp r8d, r14d
jbe 0x1554e
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.00014e84
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
cmp qword [rbx + 0x10], r13
mov byte [rsp + 0x50], al
je 0x15623
cmp qword [rbx + 0x30], r12
jne 0x155c1
cmp esi, r13d
jl 0x15566
cmp qword [rbp], rbp
jne 0x1544d
cmp qword [rdi], rdi
je 0x155c1
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.000150a4
cmp eax, r13d
mov esi, eax
jl 0x155b4
cmp qword [rdi], rdi
je 0x155c1
jmp 0x15520
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 0x155be
cmp qword [rdi], rdi
je 0x155be
mov rdx, qword [rdi]
cmp dword [rdx + 0x18], r13d
jl 0x1557d
cmp dword [rdx + 0xdc], r13d
jne 0x155be
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.0001a33c
jmp 0x155be
cmp eax, 0xc000021b
jne 0x155c1
mov r14d, r13d
mov esi, r13d
cmp qword [rbx + 0x10], r13
je 0x15623
cmp qword [rbx + 0x30], r12
jne 0x15623
cmp esi, r13d
jl 0x15628
lea rdx, [rbx + 0x100]
mov ecx, r13d
mov rax, qword [rdx]
jmp 0x155ea
add ecx, dword [rax + 0xdc]
mov rax, qword [rax]
cmp rax, rdx
jne 0x155e1
cmp ecx, r14d
jae 0x15623
cmp byte [rbx + 0xe8], r13b
je 0x15615
cmp dword [rbx + 0x120], r13d
jle 0x15623
mov edx, 1
mov rcx, rbx
call fcn.00014948
jmp 0x15623
mov rdx, qword [rbx + 0x30]
mov ecx, 4
call fcn.0001a33c
cmp esi, r13d
jge 0x15642
cmp qword [rbx + 0x10], r13
je 0x15642
cmp qword [rbx + 0x30], r12
jne 0x15642
mov dl, byte [rsp + 0x50]
mov rcx, rbx
call fcn.00014474
jmp 0x15653
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