Function at 0x166b1
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [esi + 0x1c], edi
mov eax, dword [ebx + 0xc]
mov ecx, 0x128018
cmp eax, ecx
ja 0x2a4d1
je 0x37fd4
mov ecx, 0x12006c
cmp eax, ecx
ja 0x19751
je 0x2ad88
add ecx, 0xffffffd0
cmp eax, ecx
jbe 0x1ff79
sub eax, 0x120040
jne 0x37ed8
push ebx
push esi
call fcn.00019d64
pop edi
pop esi
pop ebx
leave
ret 8
test edx, edx
lea eax, [edx*4 + 4]
jne 0x196fa
push 8
pop eax
cmp eax, dword [ebx + 4]
ja 0x25859
test edx, edx
mov ecx, dword [esi + 0xc]
mov dword [ecx], edx
lea ebx, [ecx + 4]
jne 0x37f4a
and dword [ebx], 0
mov dword [esi + 0x1c], eax
xor edi, edi
mov dl, byte [ebp + 0xb]
mov ecx, 0x4fb80
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
jmp 0x19732
mov eax, edi
jmp 0x1670c
cmp edi, 0x2bf7
je 0x1972b
cmp edi, 0x103
je 0x1972b
mov dl, 2
mov ecx, esi
mov dword [esi + 0x18], edi
call dword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
jmp 0x1972b
mov ecx, 0x128004
cmp eax, ecx
ja 0x20ff2
je 0x25841
sub eax, 0x12007c
je 0x25867
sub eax, 0x14
jne 0x37f0f
mov ecx, 0x4fb80
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
mov ecx, dword [0x51ab4]
mov byte [ebp + 0xb], al
xor edx, edx
mov edi, 0x100
test ecx, ecx
je 0x196ec
test dword [ecx + 0xb4], edi
jne 0x37f44
mov ecx, dword [ecx]
jmp 0x19793
je 0x2584d
sub eax, 0x120000
jne 0x21ddb
push ebx
push esi
call fcn.0005a232
jmp 0x1670c
mov edi, eax
jmp 0x19732
sub eax, 0x128008
jne 0x37f73
cmp dword [ebx + 8], 4
mov eax, dword [esi + 0xc]
jb 0x3809b
push dword [eax]
call fcn.00020e69
neg al
sbb eax, eax
and eax, 0x3fffffff
add eax, 0xc0000001
mov edi, eax
jmp 0x19742
sub eax, 0x24
je 0x37e75
sub eax, 0x10
je 0x23217
sub eax, 4
jne 0x25889
push ebx
push esi
call fcn.00021e07
jmp 0x20919
push ebx
push esi
call fcn.00023228
jmp 0x20919
mov ecx, 0x128088
cmp eax, ecx
ja 0x3817d
je 0x38155
sub eax, 0x128074
je 0x2587d
push 4
pop ecx
sub eax, ecx
jne 0x38118
cmp dword [ebx + 8], ecx
mov eax, dword [esi + 0xc]
jb 0x25873
cmp dword [ebx + 4], ecx
jb 0x25873
push 0
push eax
push dword [eax]
call fcn.00024c7c
mov edi, eax
test edi, edi
jne 0x19732
mov dword [esi + 0x1c], 4
jmp 0x19732
push ebx
push esi
call fcn.00025898
jmp 0x1670c
push ebx
push esi
call fcn.0005ba3d
jmp 0x1670c
and dword [esi + 0x1c], 0
mov edi, 0x80000005
jmp 0x1971b
push ebx
push esi
call fcn.00047c07
jmp 0x20919
mov edi, 0xc0000023
jmp 0x24c63
push ebx
push esi
call fcn.00042b10
jmp 0x1670c
mov edi, 0xc0000002
jmp 0x19742
cmp byte [esi + 0x20], 0
jne 0x3810e
cmp dword [ebx + 4], 4
mov edi, 0xc000000d
jb 0x19742
mov eax, dword [esi + 0xc]
test eax, eax
je 0x19742
mov dword [eax], 0x1ffec
mov dword [esi + 0x1c], 4
xor edi, edi
jmp 0x19742
cmp byte [esi + 0x20], 0
jne 0x3810e
cmp dword [ebx + 8], 0xc
mov eax, dword [esi + 0xc]
jb 0x3809b
push eax
call fcn.00028feb
mov edi, eax
neg edi
sbb edi, edi
and edi, 0xc0000001
jmp 0x19742
mov ecx, 0x128070
cmp eax, ecx
ja 0x24c19
je 0x270ca
add ecx, 0xffffffc0
cmp eax, ecx
ja 0x380a5
je 0x28fb8
sub eax, 0x12801c
je 0x38030
sub eax, 4
je 0x38013
sub eax, 8
je 0x2a859
sub eax, 4
jne 0x25889
push ebx
push esi
call fcn.00024d66
jmp 0x1670c
cmp byte [esi + 0x20], 0
mov eax, dword [esi + 0xc]
jne 0x3810e
cmp dword [ebx + 8], 0xc
jb 0x38009
xor ecx, ecx
mov cl, byte [eax + 8]
push ecx
push dword [eax + 4]
push dword [eax]
call fcn.0002a88a
jmp 0x20919
push ebx
push esi
call fcn.0002aed8
jmp 0x20919
cmp dword [ebx + 8], 2
mov eax, dword [esi + 0xc]
mov dword [ebp + 0xc], eax
jb 0x3809b
cmp dword [ebx + 4], 0x10
jb 0x3809b
lea ecx, [ebp + 0xa]
push ecx
lea ecx, [eax + 8]
push ecx
lea ecx, [eax + 4]
push ecx
push eax
movzx eax, word [eax]
push eax
call fcn.00042ca3
test al, al
jne 0x37eb3
mov edi, 0xc0000001
jmp 0x19742
mov eax, dword [ebp + 0xc]
xor edi, edi
mov dword [esi + 0x1c], 0x10
mov dword [eax + 0xc], edi
test byte [ebp + 0xa], 0x10
je 0x19742
mov dword [eax + 0xc], 0x10
jmp 0x19742
sub eax, 4
je 0x37f03
sub eax, 0x10
je 0x37ef7
sub eax, 0x14
jne 0x25889
push ebx
push esi
call fcn.00042e8c
jmp 0x20919
push ebx
push esi
call fcn.00042546
jmp 0x1670c
push ebx
push esi
call fcn.00042bbc
jmp 0x1670c
sub eax, 4
je 0x37f38
sub eax, 0x10
jne 0x25889
cmp dword [ebx + 8], 4
jne 0x381c1
mov eax, dword [esi + 0xc]
push dword [eax]
push ebx
push esi
call fcn.00047cb6
jmp 0x20919
push ebx
push esi
call fcn.00042fe7
jmp 0x1670c
inc edx
jmp 0x197a7
mov ecx, dword [0x51ab4]
jmp 0x37f69
test dword [ecx + 0xb4], edi
je 0x37f67
mov edx, dword [ecx + 0x88]
bswap edx
mov dword [ebx], edx
add ebx, 4
mov ecx, dword [ecx]
test ecx, ecx
je 0x19716
jmp 0x37f52
push 4
pop ecx
sub eax, ecx
je 0x37fca
sub eax, ecx
je 0x37fa8
sub eax, ecx
jne 0x25889
cmp byte [esi + 0x20], 0
jne 0x3810e
cmp dword [ebx + 8], ecx
mov eax, dword [esi + 0xc]
jb 0x3809b
push dword [eax]
call fcn.00043702
jmp 0x28fd5
cmp byte [esi + 0x20], 0
jne 0x3810e
cmp dword [ebx + 8], ecx
mov eax, dword [esi + 0xc]
jb 0x3809b
push dword [eax]
call fcn.00043623
jmp 0x28fd5
mov edi, 0xc00000bb
jmp 0x19742
cmp byte [esi + 0x20], 0
mov eax, dword [esi + 0xc]
jne 0x3810e
mov dword [eax], sym.tcpip.sys_IPAddInterface
mov dword [eax + 4], sym.tcpip.sys_IPDelInterface
mov dl, 2
mov ecx, esi
mov dword [esi + 0x18], edi
mov dword [esi + 0x1c], 8
call dword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
xor eax, eax
jmp 0x1670c
mov edi, 0xc000000d
jmp 0x19732
cmp dword [ebx + 8], 2
mov eax, dword [esi + 0xc]
jb 0x38009
movzx eax, word [eax]
push eax
call fcn.00043a95
push eax
call fcn.0002342e
jmp 0x20919
mov ecx, dword [ebx + 8]
cmp ecx, 0xc
mov eax, dword [esi + 0xc]
jb 0x38009
cmp dword [ebx + 4], 8
jb 0x38009
cmp ecx, 0x18
jb 0x3806c
mov edx, dword [eax + 0xc]
mov dword [ebp - 8], edx
mov edx, dword [eax + 0x10]
mov dword [ebp - 4], edx
lea edx, [eax + 0x14]
mov dword [ebp - 4], edx
lea edx, [ecx - 0x14]
lea ecx, [eax + 4]
push ecx
push eax
push dword [eax + 8]
push dword [ecx]
lea ecx, [ebp - 8]
push edx
push ecx
jmp 0x38078
lea ecx, [eax + 4]
push ecx
push eax
push dword [eax + 8]
push dword [ecx]
push edi
push edi
push dword [eax]
call fcn.00043d9f
push eax
call fcn.0002342e
mov edi, eax
test edi, edi
jne 0x19732
mov dword [esi + 0x1c], 8
jmp 0x19732
mov edi, 0xc000000d
jmp 0x19742
sub eax, 0x12804c
je 0x380e3
sub eax, 4
je 0x380d7
sub eax, 0xc
je 0x380cb
sub eax, 4
jne 0x25889
push ebx
push esi
call fcn.000429c8
jmp 0x1670c
push ebx
push esi
call fcn.000428c9
jmp 0x1670c
push ebx
push esi
call fcn.00043561
jmp 0x20919
cmp dword [ebx + 8], 8
mov eax, dword [esi + 0xc]
jb 0x38104
xor ecx, ecx
mov cl, byte [eax + 5]
push ecx
xor ecx, ecx
mov cl, byte [eax + 4]
push ecx
push dword [eax]
call fcn.00045d9f
jmp 0x20919
mov edi, 0xc0000023
jmp 0x19732
mov edi, 0xc0000022
jmp 0x19742
sub eax, 8
je 0x38149
sub eax, ecx
jne 0x25889
cmp dword [ebx + 8], ecx
jne 0x381c1
cmp dword [ebx + 4], ecx
jne 0x381c1
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
push eax
push ebx
push esi
call fcn.00047d9c
jmp 0x20919
push ebx
push esi
call fcn.00048337
jmp 0x20919
cmp dword [ebx + 8], 4
mov eax, dword [esi + 0xc]
jb 0x38173
cmp dword [ebx + 4], 8
jb 0x38173
push 1
push eax
push dword [eax]
call fcn.00024c7c
jmp 0x38085
mov edi, 0xc0000023
jmp 0x38087
sub eax, 0x128098
je 0x381a3
sub eax, 4
je 0x38197
sub eax, 4
jne 0x25889
jmp 0x25841
push ebx
push esi
call fcn.000481c7
jmp 0x20919
cmp dword [ebx + 8], 4
jne 0x381c1
cmp dword [ebx + 4], 4
jne 0x381c1
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
push eax
push ebx
push esi
call fcn.0004826e
jmp 0x20919
mov edi, 0xc0000206
jmp 0x19742