SepLogLpacAccessFailure

INT64 __stdcall SepLogLpacAccessFailure(){
  unsigned int v0; 
  __int64 v1; 
  INT64 result[3]; 
  int v4; 
  __int64 v5; 
  __int64 v6; 
  unsigned int a1; 
  a1 = 0;
  if( KeGetCurrentIrql() >= 2u || (*((_DWORD *)KeGetPcr() + 3243) & 0x10001) != 0 )
    return 3221225659i64;
  SepGetStackTraceHash(&a1);
  v0 = a1;
  v1 = (unsigned __int8)(a1 ^ BYTE2(a1) ^ ((unsigned __int16)(a1 ^ HIWORD(a1)) >> 8));
  EtwTraceLpacAccessFailure(a1);
  if( !SeLpacEnableWatsonReporting )
    return 3221226326i64;
  if( SeLpacEnableWatsonThrottling )
  {
    if( _interlockedbittestandset(
           (volatile signed __int32 *)qword_140CF9D70 + ((unsigned __int64)(unsigned __int8)v1 >> 5),
           v1 & 0x1F) )
    {
      return 0i64;
    }
    v0 = a1;
  }
  memset((INT64)result, 0i64);
  result[2] = 0i64;
  v6 = v0;
  result[0] = 3221226505i64;
  v4 = 2;
  v5 = 43i64;
  return DbgkQueueUserExceptionReport((PADAPTER_OBJECT)KeGetCurrentThread());
}

Referenced by:

SeAccessCheckByTypeWithAdminlessChecks
SeAccessCheckWithHintWithAdminlessChecks
SepAccessCheckAndAuditAlarmWithAdminlessChecks
SepCommonAccessCheckExWithAdminlessChecks