SepGetProcUniqueLuidAndIndexFromTokenEx
INT64 __fastcall SepGetProcUniqueLuidAndIndexFromTokenEx(CHAR a1, INT64 a2, UINT64 *a3, UINT64 *a4){
char v4;
INT64 v7;
unsigned int ProcUniqueLuidAndIndexFromAttributeInfo;
_ETHREAD *CurrentThread;
struct _ERESOURCE *v10;
v4 = 0;
v7 = a2;
ProcUniqueLuidAndIndexFromAttributeInfo = -1073741275;
if( (SepTokenSingletonAttributesConfig & 3) == 3 )
{
if( !a1 && KeGetCurrentIrql() < 2u )
{
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
--*((_WORD *)CurrentThread + 242);
v10 = *(struct _ERESOURCE **)(a2 + 48);
v4 = 1;
LOBYTE(a2) = 1;
ExAcquireResourceSharedLite(v10, a2);
}
ProcUniqueLuidAndIndexFromAttributeInfo = SepGetProcUniqueLuidAndIndexFromAttributeInfo(
*(_QWORD *)(v7 + 776),
a3,
a4);
if( v4 )
{
ExReleaseResourceLite(*(PERESOURCE *)(v7 + 48));
KeLeaveCriticalRegion();
}
}
return ProcUniqueLuidAndIndexFromAttributeInfo;
}Referenced by:
SeSetSecurityAttributesTokenEx
SepInternalQuerySecurityAttributesTokenEx