EtwpApplyTransientFilters
CHAR __fastcall EtwpApplyTransientFilters(_ETW_REG_ENTRY *RegEntry, INT64 a2, INT64 a3, _ETW_FILTER_STRING_TOKEN **a4){
CHAR v4;
unsigned int v9;
_ETW_FILTER_STRING_TOKEN *v10;
_DWORD *v12;
unsigned int v13;
v4 = 1;
if( (RegEntry->Flags & 1) == 0 )
{
v9 = 0;
if( !*a4 || (v4 = EtwpApplyExeFilter(RegEntry, *a4)) != 0 )
{
v10 = a4[1];
if( v10 || a4[2] )
v4 = EtwpApplyPackageIdFilter(RegEntry, v10, a4[2]);
if( v4 )
{
if( a3 )
{
v4 = 0;
v12 = (_DWORD *)(a2 + *(_QWORD *)a3);
v13 = *(_DWORD *)(a3 + 8) >> 2;
if( v13 )
{
while( *v12 != LODWORD(RegEntry->Process->UniqueProcessId) )
{
++v9;
++v12;
if( v9 >= v13 )
return v4;
}
return 1;
}
}
}
}
}
return v4;
}Referenced by:
EtwpIsRegEntryAllowed
EtwpNotifyGuid