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 0x2a491
je 0x37fa8
mov ecx, 0x12006c
cmp eax, ecx
ja 0x19754
je 0x2ad5b
add ecx, 0xffffffd0
cmp eax, ecx
jbe 0x1ff83
sub eax, 0x120040
jne 0x37eac
push ebx
push esi
call fcn.00019d67
pop edi
pop esi
pop ebx
leave
ret 8
test edx, edx
lea eax, [edx*4 + 4]
jne 0x196fd
push 8
pop eax
cmp eax, dword [ebx + 4]
ja 0x25819
test edx, edx
mov ecx, dword [esi + 0xc]
mov dword [ecx], edx
lea ebx, [ecx + 4]
jne 0x37f1e
and dword [ebx], 0
mov dword [esi + 0x1c], eax
xor edi, edi
mov dl, byte [ebp + 0xb]
mov ecx, 0x4fc00
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
jmp 0x19735
mov eax, edi
jmp 0x1670c
cmp edi, 0x2bf7
je 0x1972e
cmp edi, 0x103
je 0x1972e
mov dl, 2
mov ecx, esi
mov dword [esi + 0x18], edi
call dword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
jmp 0x1972e
mov ecx, 0x128004
cmp eax, ecx
ja 0x20fb2
je 0x25801
sub eax, 0x12007c
je 0x25827
sub eax, 0x14
jne 0x37ee3
mov ecx, 0x4fc00
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
mov ecx, dword [0x51b34]
mov byte [ebp + 0xb], al
xor edx, edx
mov edi, 0x100
test ecx, ecx
je 0x196ef
test dword [ecx + 0xb4], edi
jne 0x37f18
mov ecx, dword [ecx]
jmp 0x19796
je 0x2580d
sub eax, 0x120000
jne 0x21d9b
push ebx
push esi
call fcn.0005a2c2
jmp 0x1670c
mov edi, eax
jmp 0x19735
sub eax, 0x128008
jne 0x37f47
cmp dword [ebx + 8], 4
mov eax, dword [esi + 0xc]
jb 0x3806f
push dword [eax]
call fcn.00020e29
neg al
sbb eax, eax
and eax, 0x3fffffff
add eax, 0xc0000001
mov edi, eax
jmp 0x19745
sub eax, 0x24
je 0x37e49
sub eax, 0x10
je 0x231d7
sub eax, 4
jne 0x25849
push ebx
push esi
call fcn.00021dc7
jmp 0x20923
push ebx
push esi
call fcn.000231e8
jmp 0x20923
mov ecx, 0x128088
cmp eax, ecx
ja 0x38151
je 0x38129
sub eax, 0x128074
je 0x2583d
push 4
pop ecx
sub eax, ecx
jne 0x380ec
cmp dword [ebx + 8], ecx
mov eax, dword [esi + 0xc]
jb 0x25833
cmp dword [ebx + 4], ecx
jb 0x25833
push 0
push eax
push dword [eax]
call fcn.00024c3c
mov edi, eax
test edi, edi
jne 0x19735
mov dword [esi + 0x1c], 4
jmp 0x19735
push ebx
push esi
call fcn.00025858
jmp 0x1670c
push ebx
push esi
call fcn.0005bb17
jmp 0x1670c
and dword [esi + 0x1c], 0
mov edi, 0x80000005
jmp 0x1971e
push ebx
push esi
call fcn.00047c87
jmp 0x20923
mov edi, 0xc0000023
jmp 0x24c23
push ebx
push esi
call fcn.00042b90
jmp 0x1670c
mov edi, 0xc0000002
jmp 0x19745
cmp byte [esi + 0x20], 0
jne 0x380e2
cmp dword [ebx + 4], 4
mov edi, 0xc000000d
jb 0x19745
mov eax, dword [esi + 0xc]
test eax, eax
je 0x19745
mov dword [eax], 0x1fff6
mov dword [esi + 0x1c], 4
xor edi, edi
jmp 0x19745
cmp byte [esi + 0x20], 0
jne 0x380e2
cmp dword [ebx + 8], 0xc
mov eax, dword [esi + 0xc]
jb 0x3806f
push eax
call fcn.00028fab
mov edi, eax
neg edi
sbb edi, edi
and edi, 0xc0000001
jmp 0x19745
mov ecx, 0x128070
cmp eax, ecx
ja 0x24bd9
je 0x2708a
add ecx, 0xffffffc0
cmp eax, ecx
ja 0x38079
je 0x28f78
sub eax, 0x12801c
je 0x38004
sub eax, 4
je 0x37fe7
sub eax, 8
je 0x2a819
sub eax, 4
jne 0x25849
push ebx
push esi
call fcn.00024d26
jmp 0x1670c
cmp byte [esi + 0x20], 0
mov eax, dword [esi + 0xc]
jne 0x380e2
cmp dword [ebx + 8], 0xc
jb 0x37fdd
xor ecx, ecx
mov cl, byte [eax + 8]
push ecx
push dword [eax + 4]
push dword [eax]
call fcn.0002a84a
jmp 0x20923
push ebx
push esi
call fcn.0002aeab
jmp 0x20923
cmp dword [ebx + 8], 2
mov eax, dword [esi + 0xc]
mov dword [ebp + 0xc], eax
jb 0x3806f
cmp dword [ebx + 4], 0x10
jb 0x3806f
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.00042d23
test al, al
jne 0x37e87
mov edi, 0xc0000001
jmp 0x19745
mov eax, dword [ebp + 0xc]
xor edi, edi
mov dword [esi + 0x1c], 0x10
mov dword [eax + 0xc], edi
test byte [ebp + 0xa], 0x10
je 0x19745
mov dword [eax + 0xc], 0x10
jmp 0x19745
sub eax, 4
je 0x37ed7
sub eax, 0x10
je 0x37ecb
sub eax, 0x14
jne 0x25849
push ebx
push esi
call fcn.00042f0c
jmp 0x20923
push ebx
push esi
call fcn.000425c6
jmp 0x1670c
push ebx
push esi
call fcn.00042c3c
jmp 0x1670c
sub eax, 4
je 0x37f0c
sub eax, 0x10
jne 0x25849
cmp dword [ebx + 8], 4
jne 0x38195
mov eax, dword [esi + 0xc]
push dword [eax]
push ebx
push esi
call fcn.00047d36
jmp 0x20923
push ebx
push esi
call fcn.00043067
jmp 0x1670c
inc edx
jmp 0x197aa
mov ecx, dword [0x51b34]
jmp 0x37f3d
test dword [ecx + 0xb4], edi
je 0x37f3b
mov edx, dword [ecx + 0x88]
bswap edx
mov dword [ebx], edx
add ebx, 4
mov ecx, dword [ecx]
test ecx, ecx
je 0x19719
jmp 0x37f26
push 4
pop ecx
sub eax, ecx
je 0x37f9e
sub eax, ecx
je 0x37f7c
sub eax, ecx
jne 0x25849
cmp byte [esi + 0x20], 0
jne 0x380e2
cmp dword [ebx + 8], ecx
mov eax, dword [esi + 0xc]
jb 0x3806f
push dword [eax]
call fcn.00043782
jmp 0x28f95
cmp byte [esi + 0x20], 0
jne 0x380e2
cmp dword [ebx + 8], ecx
mov eax, dword [esi + 0xc]
jb 0x3806f
push dword [eax]
call fcn.000436a3
jmp 0x28f95
mov edi, 0xc00000bb
jmp 0x19745
cmp byte [esi + 0x20], 0
mov eax, dword [esi + 0xc]
jne 0x380e2
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 0x19735
cmp dword [ebx + 8], 2
mov eax, dword [esi + 0xc]
jb 0x37fdd
movzx eax, word [eax]
push eax
call fcn.00043b15
push eax
call fcn.000233ee
jmp 0x20923
mov ecx, dword [ebx + 8]
cmp ecx, 0xc
mov eax, dword [esi + 0xc]
jb 0x37fdd
cmp dword [ebx + 4], 8
jb 0x37fdd
cmp ecx, 0x18
jb 0x38040
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 0x3804c
lea ecx, [eax + 4]
push ecx
push eax
push dword [eax + 8]
push dword [ecx]
push edi
push edi
push dword [eax]
call fcn.00043e1f
push eax
call fcn.000233ee
mov edi, eax
test edi, edi
jne 0x19735
mov dword [esi + 0x1c], 8
jmp 0x19735
mov edi, 0xc000000d
jmp 0x19745
sub eax, 0x12804c
je 0x380b7
sub eax, 4
je 0x380ab
sub eax, 0xc
je 0x3809f
sub eax, 4
jne 0x25849
push ebx
push esi
call fcn.00042a48
jmp 0x1670c
push ebx
push esi
call fcn.00042949
jmp 0x1670c
push ebx
push esi
call fcn.000435e1
jmp 0x20923
cmp dword [ebx + 8], 8
mov eax, dword [esi + 0xc]
jb 0x380d8
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.00045e1f
jmp 0x20923
mov edi, 0xc0000023
jmp 0x19735
mov edi, 0xc0000022
jmp 0x19745
sub eax, 8
je 0x3811d
sub eax, ecx
jne 0x25849
cmp dword [ebx + 8], ecx
jne 0x38195
cmp dword [ebx + 4], ecx
jne 0x38195
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
push eax
push ebx
push esi
call fcn.00047e1c
jmp 0x20923
push ebx
push esi
call fcn.000483b7
jmp 0x20923
cmp dword [ebx + 8], 4
mov eax, dword [esi + 0xc]
jb 0x38147
cmp dword [ebx + 4], 8
jb 0x38147
push 1
push eax
push dword [eax]
call fcn.00024c3c
jmp 0x38059
mov edi, 0xc0000023
jmp 0x3805b
sub eax, 0x128098
je 0x38177
sub eax, 4
je 0x3816b
sub eax, 4
jne 0x25849
jmp 0x25801
push ebx
push esi
call fcn.00048247
jmp 0x20923
cmp dword [ebx + 8], 4
jne 0x38195
cmp dword [ebx + 4], 4
jne 0x38195
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
push eax
push ebx
push esi
call fcn.000482ee
jmp 0x20923
mov edi, 0xc0000206
jmp 0x19745