SepLogLpacAccessFailure

NTSTATUS __stdcall SepLogLpacAccessFailure(){
  unsigned int v0; 
  __int64 v1; 
  _QWORD v3[19]; 
  unsigned int v4; 

  v4 = 0;
  if( KeGetCurrentIrql() >= 2u || (KeGetPcr()->Prcb._bf_0 & 0x10001) != 0 )
    return -1073741637;
  SepGetStackTraceHash(&v4);
  v0 = v4;
  v1 = (unsigned __int8)(v4 ^ BYTE2(v4) ^ ((unsigned __int16)(v4 ^ HIWORD(v4)) >> 8));
  EtwTraceLpacAccessFailure(v4);
  if( !*(&stru_140CF2E80 + 1956) )
    return -1073740970;
  if( SeLpacEnableWatsonThrottling )
  {
    if( _interlockedbittestandset(&dword_140CF9D70[(unsigned __int64)(unsigned __int8)v1 >> 5], v1 & 0x1F) )
      return 0;
    v0 = v4;
  }
  memset(v3, 0i64, sizeof(v3));
  v3[2] = 0i64;
  v3[5] = v0;
  v3[0] = 3221226505i64;
  LODWORD(v3[3]) = 2;
  v3[4] = 43i64;
  return DbgkQueueUserExceptionReport((PADAPTER_OBJECT)KeGetCurrentThread());
}

Referenced by:

SeAccessCheckByTypeWithAdminlessChecks
SeAccessCheckWithHintWithAdminlessChecks
SepAccessCheckAndAuditAlarmWithAdminlessChecks
SepCommonAccessCheckExWithAdminlessChecks