PopClearTransitionCheckpoints

VOID __stdcall PopClearTransitionCheckpoints(){
  PVOID v0; 
  __int64 v1; 
  PopAcquireRwLockExclusive(&PopTransitionCheckpointLock);
  while( 1 )
  {
    v0 = PopTransitionCheckpoints;
    if( PopTransitionCheckpoints == &PopTransitionCheckpoints )
      break;
    if( *((PVOID **)PopTransitionCheckpoints + 1) != &PopTransitionCheckpoints
      || (v1 = *(_QWORD *)PopTransitionCheckpoints,
          *(PVOID *)(*(_QWORD *)PopTransitionCheckpoints + 8i64) != PopTransitionCheckpoints) )
    {
      __fastfail(3u);
    }
    PopTransitionCheckpoints = *(PVOID *)PopTransitionCheckpoints;
    *(_QWORD *)(v1 + 8) = &PopTransitionCheckpoints;
    ExFreePoolWithTag(v0, 0x50434B50u);
  }
  PopReleaseRwLock((UINT64)&PopTransitionCheckpointLock);
}

Referenced by:

No references.