Function at 0x13db4
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rsi, qword [rdx + 0xb8]
mov rdi, rdx
mov rbp, rcx
cmp byte [rsi + 1], 1
mov qword [rsp + 0x38], rsi
jne 0x140f7
mov eax, dword [rsi + 0x18]
test eax, eax
jle 0x140f7
cmp eax, 3
jle 0x13e05
add eax, 0xffffffdb
cmp eax, 1
ja 0x140f7
mov rdx, qword [rsi + 0x30]
test rdx, rdx
jne 0x13e24
inc byte [rdi + 0x43]
lea rax, [rsi + 0x48]
mov rdx, rdi
mov qword [rdi + 0xb8], rax
jmp 0x14105
lea rax, [rcx + 0x70]
mov r14, rax
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x13e5d
mov r8, qword [rdx + 0x18]
cmp qword [rcx + 0x20], r8
jb 0x13e47
mov r14, rcx
mov rcx, qword [rcx + 0x10]
jmp 0x13e4b
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x13e38
cmp r14, rax
je 0x13e62
cmp r8, qword [r14 + 0x20]
cmovb r14, rax
cmp r14, rax
jne 0x13e7c
inc byte [rdi + 0x43]
lea rax, [rsi + 0x48]
mov rdx, rdi
mov qword [rdi + 0xb8], rax
mov rcx, qword [rbp + 0x48]
jmp 0x14109
lea rcx, [rsi - 0x48]
mov rdx, rsi
mov r8d, 0x38
call fcn.00020330
lea rcx, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
mov byte [rsi - 0x45], 0
call qword [sym.imp.ntoskrnl.exe_KeInitializeEvent]
mov r11, qword [rdi + 0xb8]
lea rax, [0x00014130]
mov qword [r11 - 0x10], rax
lea rax, [rsp + 0x40]
mov byte [r11 - 0x45], 0xe0
mov qword [r11 - 8], rax
mov rcx, qword [rbp + 0x48]
mov rdx, rdi
call qword [sym.imp.ntoskrnl.exe_IofCallDriver]
mov ebx, eax
cmp eax, 0x103
jne 0x13ef3
and qword [rsp + 0x20], 0
lea rcx, [rsp + 0x40]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_KeWaitForSingleObject]
mov ebx, eax
test ebx, ebx
je 0x13f09
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
mov eax, ebx
jmp 0x1410f
mov rbx, qword [rdi + 0x70]
mov qword [rsp + 0xb8], rbx
test rbx, rbx
je 0x140e8
movabs r9, 0x2aaaaaaaaaaaaaab
mov ecx, dword [rsi + 0x18]
xor r15d, r15d
xor r12d, r12d
xor ebp, ebp
xor r13d, r13d
sub ecx, 1
je 0x13f67
sub ecx, 1
je 0x13f61
sub ecx, 1
je 0x13f5b
sub ecx, 0x22
je 0x13f55
cmp ecx, 1
jne 0x13f75
lea r15, [rbx + 0x50]
jmp 0x13f6b
lea r15, [rbx + 0x68]
jmp 0x13f6b
lea r15, [rbx + 0x5e]
jmp 0x13f6b
lea r15, [rbx + 0x44]
jmp 0x13f6b
lea r15, [rbx + 0x40]
mov r12d, dword [rbx + 0x3c]
mov ebp, dword [rbx]
lea r13, [rbx + 0x38]
mov rdi, qword [r14 + 0x28]
xor r8d, r8d
mov rax, r9
mov rcx, qword [rdi + 0x28]
add rdi, 0x20
mov dword [rsp + 0xb0], r8d
sub rcx, qword [rdi]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140c9
shr r12d, 1
xor ebx, ebx
lea esi, [rbx + 1]
mov rcx, qword [rdi + 8]
mov rax, r9
sub rcx, qword [rdi]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, rsi
jae 0x13fee
mov rdx, rsi
mov rcx, rdi
call fcn.00015c24
mov r8d, dword [rsp + 0xb0]
movabs r9, 0x2aaaaaaaaaaaaaab
mov rax, qword [rdi]
mov rdi, qword [rbx + rax + 8]
sub rdi, qword [rbx + rax]
sar rdi, 1
cmp r12d, edi
jne 0x1407b
mov r8, qword [r14 + 0x28]
mov rax, r9
mov rcx, qword [r8 + 0x28]
add r8, 0x20
sub rcx, qword [r8]
mov qword [rsp + 0x30], r8
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, rsi
jae 0x1403f
mov rdx, rsi
mov rcx, r8
call fcn.00015c24
mov r8, qword [rsp + 0x30]
mov rax, qword [r8]
mov rcx, r15
mov r8d, edi
mov rdx, qword [rbx + rax]
call qword [sym.imp.ntoskrnl.exe__wcsnicmp]
mov r8d, dword [rsp + 0xb0]
movabs r9, 0x2aaaaaaaaaaaaaab
test eax, eax
jne 0x1407b
mov eax, dword [r13]
shr eax, 4
test al, 1
jne 0x1407b
mov dword [r13], 0x10
mov rdi, qword [r14 + 0x28]
inc r8d
mov rax, r9
mov rcx, qword [rdi + 0x28]
add rdi, 0x20
inc rsi
sub rcx, qword [rdi]
add rbx, 0x18
mov dword [rsp + 0xb0], r8d
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r8d
cmp rax, rdx
jb 0x13fb1
mov rbx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x38]
test ebp, ebp
je 0x140e0
mov eax, ebp
add rbx, rax
mov qword [rsp + 0xb8], rbx
jne 0x13f28
mov rdi, qword [rsp + 0xa8]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
xor eax, eax
jmp 0x1410f
inc byte [rdx + 0x43]
lea rax, [rsi + 0x48]
mov qword [rdx + 0xb8], rax
mov rcx, qword [rcx + 0x48]
call qword [sym.imp.ntoskrnl.exe_IofCallDriver]
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret