Function at 0x19ca8
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 0x19e9e
je 0x19e8f
xor esi, esi
lea ebx, [rsi + 1]
cmp r10d, esi
je 0x19e7a
sub r10d, ebx
je 0x19e55
sub r10d, ebx
je 0x19dd0
sub r10d, ebx
je 0x19dc9
sub r10d, ebx
je 0x19db4
sub r10d, ebx
je 0x19d9f
sub r10d, ebx
je 0x19d87
sub r10d, ebx
je 0x19d39
cmp r10d, ebx
jne 0x19faa
mov rcx, r9
call fcn.00013d14
jmp 0x19e97
mov rax, qword [rdx + 0xb8]
cmp dword [rax + 8], 4
jne 0x19faa
mov edx, 0x10
mov r8d, 0x62735556
mov ecx, ebx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov rdi, rax
cmp rax, rsi
je 0x19f10
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 0x19fad
cmp dword [r9 + 0xc], 2
jne 0x19fad
mov eax, dword [r9 + 0x10]
mov dword [r9 + 0xc], eax
jmp 0x19fad
mov eax, dword [r9 + 0xc]
mov dword [r9 + 0xc], 2
mov dword [r9 + 0x10], eax
jmp 0x19fad
mov eax, dword [r9 + 0xc]
mov dword [r9 + 0xc], 3
mov dword [r9 + 0x10], eax
jmp 0x19fad
cmp dword [r9 + 0xc], 4
jmp 0x19d8c
cmp byte [r9 + 0x49], sil
je 0x19e3a
mov eax, dword [r9 + 0xc]
mov rbx, qword [r9 + 0x20]
mov dword [r9 + 0xc], 6
mov dword [r9 + 0x10], eax
cmp rbx, rsi
je 0x19e19
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 0x19e2c
call qword [sym.imp.ntoskrnl.exe_ExFreePool]
mov qword [rbp + 0x28], rsi
mov rcx, r13
call qword [sym.imp.ntoskrnl.exe_IoDeleteDevice]
jmp 0x19fad
cmp byte [r9 + 0x48], sil
je 0x19fad
mov eax, dword [r9 + 0xc]
mov dword [r9 + 0xc], esi
mov dword [r9 + 0x10], eax
jmp 0x19fad
cmp dword [r9 + 0x4c], esi
je 0x19e65
mov esi, 0xc0000001
jmp 0x19fad
mov eax, dword [r9 + 0xc]
mov dword [r9 + 0xc], 4
mov dword [r9 + 0x10], eax
jmp 0x19fad
mov eax, dword [r9 + 0xc]
mov dword [r9 + 0x1c], ebx
mov dword [r9 + 0xc], ebx
mov dword [r9 + 0x10], eax
jmp 0x19fad
mov rcx, r9
call fcn.00019fe0
mov esi, eax
jmp 0x19fad
sub r10d, 0xa
je 0x19faa
mov ebx, 1
sub r10d, ebx
je 0x19faa
sub r10d, ebx
je 0x19f4c
sub r10d, 5
je 0x19f44
sub r10d, 2
je 0x19f37
sub r10d, 2
je 0x19ef6
sub r10d, ebx
je 0x19e5b
cmp r10d, ebx
jne 0x19faa
mov eax, dword [r9 + 0xc]
xor esi, esi
mov dword [r9 + 0xc], 5
mov dword [r9 + 0x10], eax
jmp 0x19fad
mov edx, 0x18
mov r8d, 0x62735556
mov ecx, ebx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
xor esi, esi
cmp rax, rsi
jne 0x19f1a
mov esi, 0xc000009a
jmp 0x19fad
movdqu xmm0, xmmword [0x000111a0]
mov dword [rax + 0x10], 0xf
mov dword [rax + 0x14], esi
movdqu xmmword [rax], xmm0
mov qword [r12 + 0x38], rax
jmp 0x19fad
mov rcx, r9
call fcn.0001a0ac
jmp 0x19e97
xor esi, esi
mov byte [r9 + 0x48], sil
jmp 0x19fad
mov rcx, qword [rdx + 0xb8]
xor esi, esi
mov edx, dword [rcx + 8]
cmp edx, esi
je 0x19f63
mov esi, dword [r12 + 0x30]
jmp 0x19fad
cmp qword [r12 + 0x38], rsi
jne 0x19fad
mov edx, 0x48
mov r8d, 0x62735556
mov ecx, ebx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov rbx, rax
cmp rax, rsi
je 0x19f10
lea r9, [0x0001f7d0]
lea r8, [0x0001f7e0]
lea rdx, [0x0001f7f0]
mov rcx, rax
call qword [sym.imp.ntoskrnl.exe_swprintf]
mov qword [r12 + 0x38], rbx
jmp 0x19fad
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