RtlDeleteHashTable

VOID __stdcall RtlDeleteHashTable(_RTL_DYNAMIC_HASH_TABLE *HashTable){
  void *Directory; 
  unsigned int v3; 
  PVOID *v4; 

  Directory = HashTable->Directory;
  if( HashTable->TableSize <= 0x80 )
  {
    if( !Directory )
      goto LABEL_4;
    goto LABEL_3;
  }
  if( Directory )
  {
    v3 = 0;
    v4 = (PVOID *)HashTable->Directory;
    do
    {
      if( !*v4 )
        break;
      ExFreePoolWithTag(*v4, 0);
      ++v3;
      ++v4;
    }
    while( v3 < 0x10 );
LABEL_3:
    ExFreePoolWithTag(Directory, 0);
  }
LABEL_4:
  if( (HashTable->Flags & 1) != 0 )
    ExFreePoolWithTag(HashTable, 0);
}

Referenced by:

RtlpCreateHashTable
SepDeleteSessionLowboxEntries
SepInitializeLowBoxNumberTable
SepRmDestroyCapTable