Function at 0x19b58
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
sub rsp, 0x20
movzx r10d, byte [r8 + 1]
mov rbp, r9
mov r12, rdx
cmp r10d, 9
mov r13, rcx
jg 0x19dc8
je 0x19db9
xor esi, esi
lea ebx, [rsi + 1]
cmp r10d, esi
je 0x19da4
sub r10d, ebx
je 0x19d7f
sub r10d, ebx
je 0x19cf8
sub r10d, ebx
je 0x19cf1
sub r10d, ebx
je 0x19cdc
sub r10d, ebx
je 0x19cc7
sub r10d, ebx
je 0x19caf
sub r10d, ebx
je 0x19c61
cmp r10d, ebx
jne 0x19e79
mov rcx, qword [rdx + 0xb8]
lea rdx, [0x00015ee0]
mov rax, qword [rcx + 8]
mov r8, qword [rax]
cmp r8, qword [rdx]
jne 0x19c0c
mov r8, qword [rax + 8]
cmp r8, qword [rdx + 8]
jne 0x19c0c
mov eax, esi
jmp 0x19c11
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x19c57
cmp word [rcx + 0x10], 0x38
jae 0x19c2c
cmp word [rcx + 0x12], bx
je 0x19c2c
mov esi, 0xc000000d
jmp 0x19e7c
mov rax, qword [rcx + 0x18]
lea rcx, [fcn.000107a8]
mov qword [rax + 8], rcx
lea rcx, [0x000107b4]
mov qword [rax + 0x18], r9
mov qword [rax + 0x10], rcx
mov rcx, r9
call fcn.000107a8
jmp 0x19e7c
mov esi, dword [r12 + 0x30]
jmp 0x19e7c
mov rax, qword [rdx + 0xb8]
cmp dword [rax + 8], 4
jne 0x19e79
mov edx, 0x10
mov r8d, 0x4d525356
mov ecx, ebx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov rdi, rax
cmp rax, rsi
je 0x19e33
mov dword [rax], ebx
mov rax, qword [rbp]
mov qword [rdi + 8], rax
mov rcx, qword [rbp]
call qword [sym.imp.ntoskrnl.exe_ObfReferenceObject]
mov qword [r12 + 0x38], rdi
jmp 0x19e7c
cmp dword [r9 + 0xc], 2
jne 0x19e7c
mov eax, dword [r9 + 0x10]
mov dword [r9 + 0xc], eax
jmp 0x19e7c
mov eax, dword [r9 + 0xc]
mov dword [r9 + 0xc], 2
mov dword [r9 + 0x10], eax
jmp 0x19e7c
mov eax, dword [r9 + 0xc]
mov dword [r9 + 0xc], 3
mov dword [r9 + 0x10], eax
jmp 0x19e7c
cmp dword [r9 + 0xc], 4
jmp 0x19cb4
cmp byte [r9 + 0x49], sil
je 0x19d64
mov eax, dword [r9 + 0xc]
mov rbx, qword [r9 + 0x20]
mov dword [r9 + 0xc], 6
mov dword [r9 + 0x10], eax
cmp rbx, rsi
je 0x19d41
mov rbx, qword [rbx + 0x40]
lea rcx, [rbx + 0x48]
call qword [sym.imp.ntoskrnl.exe_ExAcquireFastMutex]
mov rax, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x38]
mov qword [rax], rdx
mov qword [rdx + 8], rax
dec dword [rbx + 0x40]
lea rcx, [rbx + 0x48]
call qword [sym.imp.ntoskrnl.exe_ExReleaseFastMutex]
mov rcx, qword [rbp + 0x28]
cmp rcx, rsi
je 0x19d56
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov qword [rbp + 0x28], rsi
mov rcx, r13
call qword [sym.imp.ntoskrnl.exe_IoDeleteDevice]
jmp 0x19e7c
cmp byte [r9 + 0x48], sil
je 0x19e7c
mov eax, dword [r9 + 0xc]
mov dword [r9 + 0xc], esi
mov dword [r9 + 0x10], eax
jmp 0x19e7c
cmp dword [r9 + 0x4c], esi
je 0x19d8f
mov esi, 0xc0000001
jmp 0x19e7c
mov eax, dword [r9 + 0xc]
mov dword [r9 + 0xc], 4
mov dword [r9 + 0x10], eax
jmp 0x19e7c
mov eax, dword [r9 + 0xc]
mov dword [r9 + 0x1c], ebx
mov dword [r9 + 0xc], ebx
mov dword [r9 + 0x10], eax
jmp 0x19e7c
mov rcx, r9
call fcn.00019eb0
mov esi, eax
jmp 0x19e7c
sub r10d, 0xa
je 0x19e79
mov ebx, 1
sub r10d, ebx
je 0x19e79
sub r10d, ebx
je 0x19e6c
sub r10d, 5
je 0x19e64
sub r10d, 2
je 0x19e57
sub r10d, 2
je 0x19e19
sub r10d, ebx
je 0x19d85
cmp r10d, ebx
jne 0x19e79
mov eax, dword [r9 + 0xc]
xor esi, esi
mov dword [r9 + 0xc], 5
mov dword [r9 + 0x10], eax
jmp 0x19e7c
mov edx, 0x18
mov r8d, 0x4d525356
mov ecx, ebx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
xor esi, esi
cmp rax, rsi
jne 0x19e3a
mov esi, 0xc000009a
jmp 0x19e7c
movdqu xmm0, xmmword [0x00015ef0]
mov dword [rax + 0x10], 0xf
mov dword [rax + 0x14], esi
movdqu xmmword [rax], xmm0
mov qword [r12 + 0x38], rax
jmp 0x19e7c
mov rcx, r9
call fcn.00019f7c
jmp 0x19dc1
xor esi, esi
mov byte [r9 + 0x48], sil
jmp 0x19e7c
mov rcx, r9
call fcn.0001a124
jmp 0x19dc1
mov esi, dword [rdx + 0x30]
xor edx, edx
mov rcx, r12
mov dword [r12 + 0x30], esi
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov eax, esi
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r13
pop r12
pop rdi
ret