SepFindMatchingLuidEntry

VOID __stdcall SepFindMatchingLuidEntry(
        _RTL_DYNAMIC_HASH_TABLE *Hashtable,
        UINT64 *Luid,
        _SEP_LUID_TO_INDEX_MAP_ENTRY **MatchingEntry){
  char v3; 
  UINT64 v6; 
  bool v7; 
  UINT64 v8; 
  _RTL_DYNAMIC_HASH_TABLE_ENTRY *v10; 
  _RTL_DYNAMIC_HASH_TABLE_ENTRY *i; 
  _RTL_DYNAMIC_HASH_TABLE_CONTEXT Context; 

  v3 = 0;
  memset(&Context, 0, sizeof(Context));
  v6 = *Luid;
  v7 = *Luid == 0;
  v8 = 1i64;
  v10 = 0i64;
  if( !v7 )
    v8 = v6;
  for( i = (_RTL_DYNAMIC_HASH_TABLE_ENTRY *)RtlLookupEntryHashTable(Hashtable, v8, &Context);
        i;
        i = RtlGetNextEntryHashTable(Hashtable, &Context) )
  {
    v10 = i;
    if( (_LIST_ENTRY *)*Luid == i[1].Linkage.Blink )
    {
      v3 = 1;
      break;
    }
  }
  *MatchingEntry = (_SEP_LUID_TO_INDEX_MAP_ENTRY *)((unsigned __int64)v10 & -(__int64)(v3 != 0));
}

Referenced by:

SepIsValidProcUniqueLuid