MiScrubMemoryWorker
VOID __stdcall MiScrubMemoryWorker(VOID *Context){
UINT64 v1;
_KEVENT *v2;
_MISCRUB_PACKET *v3;
__int64 v4;
_MISCRUB_PACKET *v6;
NTSTATUS v7;
unsigned __int64 v8;
v4 = *(_QWORD *)Context;
v7 = MiInitializeScrubPacket((_MI_PARTITION *)Context, v1, v2, v3);
if( v7 >= 0 )
{
MiScrubNode((ULONG_PTR *)Context, v6);
MiReleaseScrubPacket((_MISCRUB_PACKET *)Context);
}
v8 = *((_QWORD *)Context + 26);
*((_DWORD *)Context + 3) = v7;
_InterlockedExchangeAdd64((volatile signed __int64 *)(v4 + 40), v8);
if( _InterlockedExchangeAdd((volatile signed __int32 *)v4, 0xFFFFFFFF) == 1 )
KeSignalGate((_KGATE *)(v4 + 8), 1i64);
}Referenced by:
No references.