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