RtlEndEnumerationHashTable

VOID __stdcall RtlEndEnumerationHashTable(
        _RTL_DYNAMIC_HASH_TABLE *HashTable,
        _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR *Enumerator){
  _LIST_ENTRY *Flink; 
  _LIST_ENTRY *Blink; 

  --HashTable->NumEnumerators;
  Flink = Enumerator->HashEntry.Linkage.Flink;
  if( (_RTL_DYNAMIC_HASH_TABLE_ENUMERATOR *)Enumerator->HashEntry.Linkage.Flink != Enumerator )
  {
    if( (_RTL_DYNAMIC_HASH_TABLE_ENUMERATOR *)Flink->Blink != Enumerator
      || (Blink = Enumerator->HashEntry.Linkage.Blink, (_RTL_DYNAMIC_HASH_TABLE_ENUMERATOR *)Blink->Flink != Enumerator) )
    {
      __fastfail(3u);
    }
    Blink->Flink = Flink;
    Flink->Blink = Blink;
    if( Enumerator->ChainHead->Flink == Enumerator->ChainHead )
      --HashTable->NonEmptyBuckets;
  }
  Enumerator->ChainHead = 0i64;
}

Referenced by:

RtlEndWeakEnumerationHashTable
SepCleanupMarkedForDeletionEntries
SepFindMatchingLowBoxNumberEntries
SepRmDestroyCapTable