Function at 0x140001cb0
Capabilities:
Complete processing asynchronous io request

Disassembly:
push rsi
push r12
push r13
sub rsp, 0x30
mov qword [rsp + 0x50], rbx
mov rsi, rcx
mov qword [rsp + 0x58], rbp
lea rcx, [0x1400136c0]
mov qword [rsp + 0x60], rdi
xor r13d, r13d
mov qword [rsp + 0x20], r15
mov rdi, rdx
mov r12, r8
mov ebp, r13d
call qword [sym.imp.ntoskrnl.exe_KeAcquireSpinLockRaiseToDpc]
mov r10, qword [0x140013708]
xor edx, edx
mov rcx, qword [rdi + 0x30]
movzx r15d, al
mov rax, rcx
mov r9d, dword [r10]
div r9
mov rbx, qword [r10 + rdx*8 + 8]
test rbx, rbx
je 0x140001eb5
cmp qword [rbx], rcx
je 0x140001d25
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x140001d12
jmp 0x140001eb5
add rbx, 0xfffffffffffffff0
mov qword [rsp + 0x28], r14
lea rcx, [rbx + 0x240]
call qword [sym.imp.ntoskrnl.exe_KeAcquireSpinLockRaiseToDpc]
movsxd rcx, dword [rdi + 8]
movzx r8d, al
cmp ecx, 8
ja case.0x140001d5d.2
lea rax, [0x140000000]
mov edx, dword [rax + rcx*4 + 0x1f20]
add rdx, rax
jmp rdx
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140001d8e
mov qword [rbx + 0xd8], rcx
mov rax, qword [rdi + 0x18]
mov qword [rbx + 0xe0], rax
lea rax, [0x14000a360]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rbx
jmp case.0x140001d5d.2
mov qword [rbx + 0xd8], r13
mov qword [rbx + 0xe0], r13
jmp case.0x140001d5d.2
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140001dd0
mov qword [rbx + 0xe8], rax
mov rax, qword [rdi + 0x18]
mov qword [rbx + 0xf0], rax
lea rax, [0x14000ada0]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rbx
jmp case.0x140001d5d.2
mov qword [rbx + 0xe8], r13
mov qword [rbx + 0xf0], r13
jmp case.0x140001d5d.2
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140001e12
mov qword [rbx + 0x108], rax
mov rax, qword [rdi + 0x18]
mov qword [rbx + 0x110], rax
lea rax, [0x14000b4c0]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rbx
jmp case.0x140001d5d.2
mov qword [rbx + 0x108], r13
mov qword [rbx + 0x110], r13
jmp case.0x140001d5d.2
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140001e4e
mov qword [rbx + 0x158], rax
mov rax, qword [rdi + 0x18]
mov qword [rbx + 0x160], rax
lea rax, [0x14000b700]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rbx
jmp case.0x140001d5d.2
mov qword [rbx + 0x158], r13
mov qword [rbx + 0x160], r13
jmp case.0x140001d5d.2
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140001e8a
mov qword [rbx + 0x128], rax
mov rax, qword [rdi + 0x18]
mov qword [rbx + 0x130], rax
lea rax, [0x14000d6e0]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rbx
jmp case.0x140001d5d.2
mov qword [rbx + 0x128], r13
mov qword [rbx + 0x130], r13
jmp case.0x140001d5d.2
mov ebp, 0xc0000184
movzx edx, r8b
lea rcx, [rbx + 0x240]
call qword [sym.imp.ntoskrnl.exe_KeReleaseSpinLock]
mov r14, qword [rsp + 0x28]
movzx edx, r15b
lea rcx, [0x1400136c0]
call qword [sym.imp.ntoskrnl.exe_KeReleaseSpinLock]
mov r15, qword [rsp + 0x20]
test ebp, ebp
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
jns 0x140001efd
xor edx, edx
mov dword [rsi + 0x30], r13d
mov rcx, rsi
mov qword [rsi + 0x38], r13
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
xor eax, eax
add rsp, 0x30
pop r13
pop r12
pop rsi
ret
inc byte [rsi + 0x43]
mov rdx, rsi
add qword [rsi + 0xb8], 0x48
mov rcx, r12
add rsp, 0x30
pop r13
pop r12
pop rsi
jmp qword [sym.imp.ntoskrnl.exe_IofCallDriver]