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