VOID __stdcall PspProcessRundownWorkerSingle(VOID *StartContext){
_EPROCESS *v1;
do
{
_InterlockedExchange(&PspRundownNeededCountCache, 1);
while( PspRundownProcessCache )
{
v1 = (_EPROCESS *)_InterlockedExchange64(&PspRundownProcessCache, 0i64);
if( !v1 )
break;
PspRundownSingleProcess(v1, 0);
ObfDereferenceObjectWithTag(v1, 0x77537350ui64);
}
}
while( _InterlockedCompareExchange(&PspRundownNeededCountCache, 0, 1) != 1 );
}