EtwpUpdatePidFilterData
__int64 __fastcall EtwpUpdatePidFilterData(__int64 a1, __int64 a2, char a3){
unsigned int v3;
unsigned int v6;
VOID **PoolWithTag;
v3 = 0;
if( a3 )
{
ExFreePoolWithTag(*(PVOID *)(a1 + 8), 0);
*(_QWORD *)(a1 + 8) = 0i64;
}
else
{
v6 = *(_DWORD *)(a2 + 8) >> 2;
if( v6 <= 8 )
{
PoolWithTag = *(VOID ***)(a1 + 8);
if( !PoolWithTag )
{
PoolWithTag = ExAllocatePoolWithTag(1ui64, 0x24ui64, 1182233669i64);
if( !PoolWithTag )
return(unsigned int)-1073741801;
*(_QWORD *)(a1 + 8) = PoolWithTag;
}
*(_DWORD *)PoolWithTag = v6;
memmove((char *)PoolWithTag + 4, *(const VOID **)a2, 4 * v6);
return v3;
}
return(unsigned int)-1073741811;
}
return v3;
}Referenced by:
EtwpUpdateFilterData