EtwpParsePoolTagFilter
UINT16 __fastcall EtwpParsePoolTagFilter(_UNICODE_STRING *FilterString, UINT64 *Filter){
wchar_t *Buffer;
int v3;
unsigned __int16 v4;
__int16 v5;
int v6;
wchar_t v7;
bool v8;
__int64 v9;
__int64 v10;
int v12;
Buffer = FilterString->Buffer;
v12 = 0;
v3 = 1;
v4 = 0;
v5 = 0;
v6 = 0;
v7 = *Buffer;
if( !*Buffer )
return 0;
do
{
if( v3 == 1 )
{
v8 = v7 == 42;
v9 = v5;
if( v8 )
v3 = 2;
++v5;
*((_BYTE *)&v12 + v9) = *(_BYTE *)Buffer;
v6 = v12;
if( v5 == 4 )
v3 = 2;
}
else
{
if( v7 != 59 || v4 >= 4u )
return 0;
v10 = v4;
v5 = 0;
++v4;
v12 = 0;
v3 = 1;
*((_DWORD *)Filter + v10) = v6;
v6 = 0;
}
v7 = *++Buffer;
}
while( *Buffer );
if( v3 != 2 || v4 >= 4u )
return 0;
*((_DWORD *)Filter + v4) = v6;
return v4 + 1;
}Referenced by:
EtwStartAutoLogger