Function at 0x241dc
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
mov eax, 0x80000000
sub esp, 0x68
test eax, ecx
jne 0x241fd
or ecx, eax
push ecx
call fcn.0002106a
jmp 0x2454b
push ebx
mov dword [ebp + 0xc], ecx
mov ebx, dword [ecx + 0x48]
push esi
mov esi, dword [ecx + 0x60]
mov edx, dword [esi + 0x14]
mov edx, dword [edx + 0x28]
push edi
mov edi, dword [esi + 8]
mov dword [ebp - 8], edx
mov dword [ebp - 4], 5
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
test eax, edi
je 0x24237
lea eax, [edx + 0xa0]
mov dword [ebp - 0xc], eax
add eax, 4
mov dword [ebp - 0x20], eax
jmp 0x24241
and dword [ebp - 0xc], 0
add edx, 0x20
mov dword [ebp - 0x20], edx
mov edi, dword [esi + 4]
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x10], edi
mov edi, edx
shrd edi, eax, 0xc
shr eax, 0xc
mov dword [ebp - 0x2c], eax
mov eax, 0xfff
and edx, eax
mov dword [ebp - 0x30], edi
xor edi, edi
xor ebx, ebx
mov dword [ebp - 0x24], edx
add edx, dword [ebp - 0x10]
adc edi, ebx
add edx, eax
adc edi, ebx
mov eax, edx
shrd eax, edi, 0xc
shr edi, 0xc
test byte [0x2c6c0], 0x10
mov dword [ebp - 0x14], eax
je 0x242d3
cmp dword [ebp - 0xc], ebx
jne 0x242d3
push 4
pop edi
lea eax, [ebp + 0xc]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
push 2
push ebx
push ebx
push 1
push ebx
push ebx
push 0x2a340
push dword [0x2c6bc]
add ecx, 0x18
push dword [0x2c6b8]
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], ebx
call dword [sym.imp.ntoskrnl.exe_EtwWriteEx]
jmp 0x242d6
push 4
pop edi
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x18], ebx
jl 0x242f4
push dword [ebp - 0x10]
push dword [ebp - 0x24]
push dword [ebp + 8]
push ebx
push dword [eax + 4]
call fcn.0001fbae
test eax, eax
jge 0x2430c
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x18], ebx
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x1c], ebx
mov dword [ebp - 4], 7
jmp 0x244a8
mov eax, dword [ebp - 0xc]
cmp eax, ebx
jne 0x24418
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x60]
mov eax, dword [eax - 0x1c]
mov edx, eax
and edx, 0xffffff
mov dword [ebp - 0x28], eax
cmp edx, 0x536d64
jne 0x24367
shr eax, 0x18
cmp eax, ebx
je 0x24367
mov edx, dword [ebp - 0x1c]
and edx, 0x3fffffff
push edx
push dword [ebp - 0x14]
lea edx, [ebp - 0x30]
push edx
push ecx
lea ecx, [ebp + 8]
push ecx
push eax
push ebx
push dword [ebp - 8]
call fcn.0001a2c4
and eax, 1
or eax, edi
mov dword [ebp - 4], eax
jmp 0x2449f
mov ecx, dword [ecx + 0x4c]
mov eax, dword [0x2c6c4]
xor edx, edx
inc edx
and eax, 2
shl edx, cl
mov ecx, dword [0x2be44]
shl eax, 2
or eax, 5
test edx, ecx
mov dword [ebp - 4], eax
mov ecx, eax
je 0x2439d
shr ecx, 3
and ecx, 1
shl ecx, 7
add ecx, 0x2c7f0
jmp 0x243ac
shr ecx, 3
and ecx, 1
shl ecx, 7
add ecx, 0x2c6f0
mov eax, dword [0x2cb80]
mov esi, dword [esi + 4]
shl eax, 4
inc dword [eax + ecx + 8]
add eax, ecx
add dword [eax], esi
push ebx
adc dword [eax + 4], ebx
call dword [sym.imp.HAL.dll_KeQueryPerformanceCounter]
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x44]
sub eax, esi
sbb edx, ecx
mov ecx, eax
mov eax, dword [0x2caf0]
mov esi, dword [eax + 4]
cmp esi, edx
jb 0x24404
ja 0x243ec
mov esi, dword [eax]
cmp esi, ecx
jb 0x24404
cmp eax, dword [0x2caf8]
je 0x24410
mov esi, dword [eax - 0xc]
cmp esi, edx
jb 0x24410
ja 0x24404
mov esi, dword [eax - 0x10]
cmp esi, ecx
jb 0x24410
push edx
push ecx
push 0x2caf0
call fcn.00025b48
inc dword [eax + 8]
jmp 0x2449f
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x2444d
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x48], ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x44], ecx
mov ecx, dword [esi + 4]
push 0x119d6
push 0x10
mov dword [ebp - 0x40], ecx
push dword [eax + 0x4c]
push dword [eax + 0x38]
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.ntoskrnl.exe_bsearch]
add esp, 0x14
jmp 0x2444f
xor eax, eax
cmp eax, ebx
jne 0x2449f
mov ecx, dword [ebp - 0x30]
xor eax, eax
lea edi, [ebp - 0x38]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x54]
shl eax, 0x1a
and ecx, 0x3ffffff
or eax, ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x2c]
shrd ecx, eax, 0x1a
xor ecx, dword [ebp - 0x34]
push ebx
shr eax, 0x1a
mov eax, dword [0x2c378]
push eax
push dword [ebp - 0x14]
lea eax, [ebp - 0x38]
push eax
and ecx, 0x3f
xor dword [ebp - 0x34], ecx
push 0x2c0b0
call fcn.00024112
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x1c], ecx
test byte [ebp - 4], 1
je 0x244cb
mov eax, dword [ebp - 0x1c]
push ebx
and eax, 0x3fffffff
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x14]
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x20]
call fcn.0001a20a
cmp dword [ebp + 8], ebx
je 0x244d8
push dword [ebp + 8]
call fcn.00020a08
mov ecx, dword [ebp - 0xc]
mov esi, dword [sym.imp.ntoskrnl.exe_ExReleaseRundownProtection]
cmp ecx, ebx
je 0x244e7
call esi
test byte [ebp - 4], 2
je 0x2451c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x60]
mov ecx, dword [ebp - 0x18]
and dword [ebp - 4], 0xfffffffb
sub eax, 0x24
mov dword [eax + 0x1c], 0x17168
mov dword [eax + 0x20], ecx
mov byte [eax + 3], pe_nt_image_headers32
mov eax, dword [ebp - 8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
call dword [sym.imp.ntoskrnl.exe_IofCallDriver]
jmp 0x2453a
cmp dword [ebp - 0x18], ebx
je 0x2452f
push dword [ebp - 0x18]
push dword [ebp + 0xc]
push dword [ebp - 8]
call fcn.00011320
mov ecx, dword [ebp + 0xc]
xor dl, dl
call dword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
test byte [ebp - 4], 4
je 0x24548
mov ecx, dword [ebp - 8]
add ecx, 0x18
call esi
pop edi
pop esi
pop ebx
leave
ret 8