EtwpDereferenceLoggerSecurityDescriptor
VOID __fastcall EtwpDereferenceLoggerSecurityDescriptor(_WMI_LOGGER_CONTEXT *LoggerContext, VOID *SecurityDescriptor){
signed __int64 v2;
signed __int64 v3;
_m_prefetchw((char *)LoggerContext + 800);
v2 = *((_QWORD *)LoggerContext + 100);
if( ((unsigned __int64)SecurityDescriptor ^ v2) >= 0xF )
{
LABEL_4:
ObDereferenceSecurityDescriptor(SecurityDescriptor, 1ui64);
}
else
{
while( 1 )
{
v3 = v2;
v2 = _InterlockedCompareExchange64((volatile signed __int64 *)LoggerContext + 100, v2 + 1, v2);
if( v3 == v2 )
break;
if( ((unsigned __int64)SecurityDescriptor ^ v2) >= 0xF )
goto LABEL_4;
}
}
}Referenced by:
EtwQueryPerformanceTraceInformation
EtwpCheckLoggerControlAccess