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