SepVerifyDesktopAppPolicyOverrideCaller

char __fastcall SepVerifyDesktopAppPolicyOverrideCaller(VOID *pToken){
  bool v2; 
  INT8 v3; 
  int v4; 
  __int64 v5; 
  int v6; 
  __int64 v7; 
  signed __int64 v8; 
  signed __int64 v9; 
  _TOKEN_TYPE TokenType[2]; 
  __int64 v12; 
  size_t v13; 
  size_t String2; 
  UNICODE_STRING String2_8; 
  UNICODE_STRING String1_8; 
  _SECURITY_IMPERSONATION_LEVEL ImpersonationLevel[4]; 
  __int16 v18[128]; 
  __int16 v19[128]; 
  v12 = 0i64;
  TokenType[1] = 0;
  String2 = 256i64;
  v13 = 256i64;
  v2 = 0;
  LOBYTE(TokenType[0]) = 0;
  String2_8 = 0i64;
  v3 = *((_BYTE *)KeGetCurrentThread() + 562);
  String1_8 = 0i64;
  if( SeSinglePrivilegeCheck(*(_QWORD *)&SeTcbPrivilege, v3) )
    return 1;
  RtlQueryPackageClaims((__int64)pToken, (wchar_t *)v18, &v13, 0i64, 0i64, 0i64, 0i64, 0i64);
  if( v4 >= 0 )
  {
    v5 = (__int64)PsReferenceEffectiveToken(
                    (_ETHREAD *)KeGetCurrentThread(),
                    &TokenType[1],
                    (UINT8 *)TokenType,
                    ImpersonationLevel,
                    0i64);
    RtlQueryPackageClaims(v5, (wchar_t *)v19, &String2, 0i64, 0i64, 0i64, &v12, 0i64);
    if( v6 >= 0 && (v12 & 4) != 0 )
    {
      String1_8.Length = v13 - 2;
      String1_8.MaximumLength = v13 - 2;
      String1_8.Buffer = (wchar_t *)v18;
      String2_8.Length = String2 - 2;
      String2_8.MaximumLength = String2 - 2;
      String2_8.Buffer = (wchar_t *)v19;
      v2 = (unsigned int)RtlCompareUnicodeString(&String1_8, &String2_8, 0) == 0;
    }
    if( v5 )
    {
      if( TokenType[1] == TokenPrimary )
      {
        v7 = *((_QWORD *)KeGetCurrentThread() + 23);
        _m_prefetchw((const void *)(v7 + 1208));
        v8 = *(_QWORD *)(v7 + 1208);
        while( (v5 ^ (unsigned __int64)v8) < 0xF )
        {
          v9 = v8;
          v8 = _InterlockedCompareExchange64((volatile signed __int64 *)(v7 + 1208), v8 + 1, v8);
          if( v9 == v8 )
            return v2;
        }
        HalPutDmaAdapter((PADAPTER_OBJECT)v5);
      }
      else
      {
        ObfDereferenceObjectWithTag((PVOID)v5, 0x746C6644ui64);
      }
    }
  }
  return v2;
}

Referenced by:

No references.