Function at 0x148f0
Capabilities:
Complete processing asynchronous io request
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x28
push ebx
xor ebx, ebx
and byte [esp + 0xc], bl
and byte [esp + 0xd], bl
and byte [esp + 0xe], bl
and byte [esp + 0xb], bl
and byte [esp + 0xa], bl
and byte [esp + 8], bl
and byte [esp + 9], bl
and byte [esp + 7], bl
push ebp
push esi
push edi
mov edi, dword [0x1cf4c]
lea ecx, [edi + 0xc0]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], ebx
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
xor ecx, ecx
push 4
mov byte [esp + 0x1f], al
mov eax, dword [esi + 0x14]
pop edx
inc ecx
cmp eax, edx
jne 0x14ad9
dec dword [edi + 0x44c]
cmp ebp, 0xc000013e
mov byte [esp + 0x13], cl
mov dword [esi + 0x26c], ebp
mov edx, 0xc000013b
je 0x14981
cmp ebp, edx
jne 0x149cf
cmp ebp, edx
mov eax, dword [edi + 0x3c4]
je 0x1498d
shr eax, 1
mov dword [esi + 0x48], eax
lea eax, [esi + 0x1b8]
push eax
mov byte [esp + 0x1a], 1
mov dword [esi + 0x18], ecx
call dword [sym.imp.ntoskrnl.exe_KeCancelTimer]
test al, al
jne 0x149b2
inc dword [esi + 0xc]
mov dword [esi + 0x150], ebx
push esi
push 0x1418e
push dword [edi + 0x3c8]
lea eax, [esi + 0x188]
push eax
call sub.TDI.SYS_CTEStartTimer
mov edx, 0xc000013b
push 5
pop eax
cmp dword [esi + 0x1c], eax
jne 0x149dc
mov byte [esp + 0x14], 1
mov dword [esi + 0x14], eax
lea eax, [esi + 0x14c]
mov ecx, dword [eax]
cmp ecx, ebx
mov byte [esp + 0x1a], 1
je 0x149f6
mov dword [esp + 0x30], ecx
mov dword [eax], ebx
mov eax, 0xc000013e
cmp ebp, eax
je 0x14a0f
cmp ebp, 0xc000013c
je 0x14a0f
cmp ebp, 0xc0000120
jne 0x14a14
mov byte [esp + 0x15], 1
cmp dword [esi + 0xf4], ebx
jbe 0x14a2e
mov ecx, dword [esi + 0x100]
mov byte [ecx], 1
inc dword [esi + 0xc]
mov dword [esi + 0x150], ebx
cmp ebp, edx
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xac], ebx
jg 0x14a95
je 0x14a8d
cmp ebp, 0xc000009a
je 0x14ab9
cmp ebp, 0xc00000b5
je 0x14a82
cmp ebp, 0xc00000bc
je 0x14a77
cmp ebp, 0xc00000be
je 0x14a77
cmp ebp, 0xc0000120
jne 0x14b11
inc dword [edi + 0x46c]
jmp 0x14b11
inc dword [edi + 0x478]
jmp 0x14b11
inc dword [edi + 0x468]
jmp 0x14b11
inc dword [edi + 0x458]
jmp 0x14b11
cmp ebp, 0xc000013c
je 0x14ad1
cmp ebp, 0xc000013d
je 0x14ac9
cmp ebp, eax
je 0x14ac1
cmp ebp, 0xc000013f
jle 0x14b11
cmp ebp, 0xc0000141
jg 0x14b11
inc dword [edi + 0x474]
jmp 0x14b11
inc dword [edi + 0x460]
jmp 0x14b11
inc dword [edi + 0x470]
jmp 0x14b11
inc dword [edi + 0x45c]
jmp 0x14b11
cmp eax, 2
jne 0x14b11
cmp dword [esi + 0x18], ecx
jne 0x14afb
mov eax, dword [esi + 0x13c]
add eax, 0x58
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov byte [esp + 0x17], 1
cmp dword [esi + 0x18], edx
je 0x14b11
lea eax, [esi + 0x13c]
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
mov dword [eax], ebx
mov dword [esi + 0x18], edx
lea ebx, [esi + 0x15c]
mov eax, dword [ebx]
xor edx, edx
cmp eax, edx
jbe 0x14b39
push 1
push eax
lea ebp, [esi + 0x158]
push dword [ebp]
call fcn.0001673a
and dword [ebp], 0
and dword [ebx], 0
xor edx, edx
lea eax, [esi + 0x140]
mov ecx, dword [eax]
cmp ecx, edx
je 0x14b56
mov dword [eax], edx
mov eax, dword [ecx + 0x58]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ecx + 0x5c]
mov dword [ecx], eax
mov dword [eax + 4], ecx
lea eax, [esi + 0x144]
mov ecx, dword [eax]
cmp ecx, edx
je 0x14b68
mov dword [esp + 0x34], ecx
mov dword [eax], edx
cmp byte [esp + 0x13], 0
je 0x14bdf
cmp byte [esp + 0x14], 0
je 0x14b7f
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x20], eax
jmp 0x14ba0
lea eax, [esi + 0xa0]
mov ecx, dword [eax]
cmp ecx, edx
mov dword [esp + 0x20], ecx
je 0x14b97
mov ebx, dword [esi + 0x2c]
mov dword [ecx + 0x58], ebx
jmp 0x14b9e
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x20], ecx
mov dword [eax], edx
mov eax, dword [esi + 0x74]
cmp eax, edx
mov dword [esi + 0x2c], edx
je 0x14bd5
dec dword [eax + 0x5c]
jne 0x14bb7
mov ecx, dword [esi + 0x24]
mov dword [eax + 0x58], ecx
jmp 0x14bd0
mov ecx, dword [esi + 0x78]
cmp dword [esi + 0x74], ecx
jne 0x14bc4
mov dword [eax + 0x58], edx
jmp 0x14bcd
mov eax, dword [ecx + 0x58]
mov dword [esi + 0x24], eax
mov dword [ecx + 0x58], edx
mov eax, dword [esi + 0x24]
mov dword [esi + 0x74], edx
jmp 0x14bd8
mov eax, dword [esi + 0x24]
mov dword [esp + 0x24], eax
mov dword [esi + 0x24], edx
lea eax, [esi + 0xe9]
cmp byte [eax], 0
je 0x14c02
and byte [eax], 0
lea eax, [esi + 0xd8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov byte [esp + 0x19], 1
lea eax, [esi + 0xe8]
cmp byte [eax], 0
je 0x14c25
and byte [eax], 0
lea eax, [esi + 0xd0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov byte [esp + 0x18], 1
mov dl, byte [esp + 0x1b]
mov ebp, dword [sym.imp.HAL.dll_KfReleaseSpinLock]
and byte [esi + 0xeb], 0
and byte [esi + 0xc9], 0
and dword [esi + 0xcc], 0
lea ecx, [edi + 0xc0]
call ebp
lea ebx, [edi + 0x244]
mov ecx, ebx
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
lea ecx, [esi + 0x11c]
cmp byte [ecx], 0
je 0x14c78
and byte [ecx], 0
lea ecx, [esi + 0x120]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ecx], edx
mov dword [edx + 4], ecx
lea ecx, [esi + 0x11d]
cmp byte [ecx], 0
je 0x14c96
and byte [ecx], 0
lea ecx, [esi + 0x128]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ecx], edx
mov dword [edx + 4], ecx
lea ecx, [esi + 0xea]
cmp byte [ecx], 0
je 0x14cbb
and byte [ecx], 0
lea ecx, [esi + 0xe0]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ecx], edx
mov dword [edx + 4], ecx
mov byte [edi + 0x134], 1
mov dl, al
mov ecx, ebx
call ebp
mov dl, byte [esp + 0x44]
lea ecx, [esi + 4]
call ebp
cmp byte [esp + 0x15], 0
je 0x14cee
mov eax, dword [esi + 0x1e0]
cmp byte [eax + 0x3d], 0
je 0x14cee
push 4
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push dword [esi + 0x10]
push dword [eax + 0x60]
call dword [eax + 0x48]
mov eax, dword [esp + 0x30]
test eax, eax
mov ebx, dword [sym.imp.ntoskrnl.exe_IoAcquireCancelSpinLock]
mov edi, dword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
je 0x14d3e
mov ecx, dword [esp + 0x40]
cmp ecx, 0xc000013c
jne 0x14d17
mov dword [eax + 0x18], 0xc000020d
jmp 0x14d1a
mov dword [eax + 0x18], ecx
lea eax, [esp + 0x1c]
push eax
call ebx
mov ecx, dword [esp + 0x30]
xor eax, eax
add ecx, 0x38
xchg dword [ecx], eax
push dword [esp + 0x1c]
call dword [sym.imp.ntoskrnl.exe_IoReleaseCancelSpinLock]
mov ecx, dword [esp + 0x30]
mov dl, 2
call edi
cmp dword [esp + 0x28], 0
je 0x14d99
mov eax, dword [esp + 0x28]
mov dword [eax + 0x18], 0xc000013b
lea eax, [esp + 0x1c]
push eax
call ebx
mov ecx, dword [esp + 0x28]
xor eax, eax
add ecx, 0x38
xchg dword [ecx], eax
push dword [esp + 0x1c]
call dword [sym.imp.ntoskrnl.exe_IoReleaseCancelSpinLock]
mov ecx, dword [esp + 0x28]
mov dl, 2
call edi
mov ecx, dword [esi + 8]
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
dec dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dl, al
jne 0x14d97
inc dword [esi + 0x154]
call ebp
push esi
call fcn.00013c06
jmp 0x14d99
call ebp
cmp dword [esp + 0x2c], 0
je 0x14df8
mov eax, dword [esp + 0x2c]
and dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0xc000013b
lea eax, [esp + 0x1c]
push eax
call ebx
mov ecx, dword [esp + 0x2c]
xor eax, eax
add ecx, 0x38
xchg dword [ecx], eax
push dword [esp + 0x1c]
call dword [sym.imp.ntoskrnl.exe_IoReleaseCancelSpinLock]
mov ecx, dword [esp + 0x2c]
mov dl, 2
call edi
mov ecx, dword [esi + 8]
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
dec dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dl, al
jne 0x14df6
inc dword [esi + 0x154]
call ebp
push esi
call fcn.00013c06
jmp 0x14df8
call ebp
cmp dword [esp + 0x34], 0
je 0x14e37
mov ecx, dword [esp + 0x34]
and dword [ecx + 0x1c], 0
mov dl, 2
mov dword [ecx + 0x18], 0xc000013b
call edi
mov ecx, dword [esi + 8]
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
dec dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dl, al
jne 0x14e35
inc dword [esi + 0x154]
call ebp
push esi
call fcn.00013c06
jmp 0x14e37
call ebp
cmp dword [esp + 0x20], 0
je 0x14eb2
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x58]
and dword [eax + 0x1c], 0
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x18], ecx
lea eax, [esp + 0x1c]
push eax
call ebx
mov ecx, dword [esp + 0x20]
xor eax, eax
add ecx, 0x38
xchg dword [ecx], eax
push dword [esp + 0x1c]
call dword [sym.imp.ntoskrnl.exe_IoReleaseCancelSpinLock]
mov ecx, dword [esp + 0x20]
mov dl, 2
call edi
mov eax, dword [esp + 0x44]
mov ecx, dword [esi + 8]
inc dword [esi + 0x244]
mov dword [esp + 0x20], eax
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
dec dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dl, al
jne 0x14ea9
inc dword [esi + 0x154]
call ebp
push esi
call fcn.00013c06
jmp 0x14eab
call ebp
cmp dword [esp + 0x44], 0
jne 0x14e3e
cmp dword [esp + 0x24], 0
je 0x14f2d
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x58]
and dword [eax + 0x1c], 0
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x18], ecx
lea eax, [esp + 0x1c]
push eax
call ebx
mov ecx, dword [esp + 0x24]
xor eax, eax
add ecx, 0x38
xchg dword [ecx], eax
push dword [esp + 0x1c]
call dword [sym.imp.ntoskrnl.exe_IoReleaseCancelSpinLock]
mov ecx, dword [esp + 0x24]
mov dl, 2
call edi
mov eax, dword [esp + 0x44]
mov ecx, dword [esi + 8]
inc dword [esi + 0x240]
mov dword [esp + 0x24], eax
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
dec dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dl, al
jne 0x14f24
inc dword [esi + 0x154]
call ebp
push esi
call fcn.00013c06
jmp 0x14f26
call ebp
cmp dword [esp + 0x44], 0
jne 0x14eb9
cmp byte [esp + 0x16], 0
je 0x14f3a
push esi
call fcn.00017292
cmp byte [esp + 0x17], 0
mov edi, dword [sym.imp.HAL.dll_KfAcquireSpinLock]
je 0x14f68
mov ecx, dword [esi + 8]
call edi
dec dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dl, al
jne 0x14f66
inc dword [esi + 0x154]
call ebp
push esi
call fcn.00013c06
jmp 0x14f68
call ebp
cmp byte [esp + 0x18], 0
je 0x14f90
mov ecx, dword [esi + 8]
call edi
dec dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dl, al
jne 0x14f8e
inc dword [esi + 0x154]
call ebp
push esi
call fcn.00013c06
jmp 0x14f90
call ebp
cmp byte [esp + 0x19], 0
je 0x14fb8
mov ecx, dword [esi + 8]
call edi
dec dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dl, al
jne 0x14fb6
inc dword [esi + 0x154]
call ebp
push esi
call fcn.00013c06
jmp 0x14fb8
call ebp
cmp byte [esp + 0x1a], 0
je 0x14fe0
mov ecx, dword [esi + 8]
call edi
dec dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dl, al
jne 0x14fde
inc dword [esi + 0x154]
call ebp
push esi
call fcn.00013c06
jmp 0x14fe0
call ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc