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