PopClearTransitionCheckpoints
VOID __stdcall PopClearTransitionCheckpoints(){
void *v0;
__int64 v1;
PopAcquireRwLockExclusive((_POP_RW_LOCK *)((char *)&stru_140C23628 + 6168));
while( 1 )
{
v0 = (void *)*(&stru_140C23628 + 775);
if( (_UNKNOWN *)*(&stru_140C23628 + 775) == (_UNKNOWN *)((char *)&stru_140C23628 + 6200) )
break;
if( *(_UNKNOWN **)(*(&stru_140C23628 + 775) + 8i64) != (_UNKNOWN *)((char *)&stru_140C23628 + 6200)
|| (v1 = **(&stru_140C23628 + 775), *(_QWORD *)(**(&stru_140C23628 + 775) + 8i64) != *(&stru_140C23628 + 775)) )
{
__fastfail(3u);
}
*(&stru_140C23628 + 775) = **(&stru_140C23628 + 775);
*(_QWORD *)(v1 + 8) = (char *)&stru_140C23628 + 6200;
ExFreePoolWithTag(v0, 0x50434B50u);
}
PopReleaseRwLock((_POP_RW_LOCK *)((char *)&stru_140C23628 + 6168));
}Referenced by:
PopUnlockAfterSleepWorker