EtwpAllocatePayloadFilterData
NTSTATUS __fastcall EtwpAllocatePayloadFilterData(const _GUID *a1, __int64 a2, _QWORD *a3){
unsigned int v3;
NTSTATUS result;
NTSTATUS v7;
VOID **PoolWithTag;
VOID **v9;
size_t v10;
_AGGREGATED_PAYLOAD_FILTER *v11;
v3 = *(_DWORD *)(a2 + 8);
result = EtwpValidatePayloadFilter(a1, *(_AGGREGATED_PAYLOAD_FILTER **)a2, v3);
v7 = result;
if( result >= 0 )
{
PoolWithTag = ExAllocatePoolWithTag(0x200ui64, v3 + 8, 1182233669i64);
v9 = PoolWithTag;
if( PoolWithTag )
{
v10 = *(_DWORD *)(a2 + 8);
v11 = *(_AGGREGATED_PAYLOAD_FILTER **)a2;
*(_DWORD *)PoolWithTag = 1;
memmove(PoolWithTag + 1, v11, v10);
result = v7;
*a3 = v9;
}
else
{
return -1073741801;
}
}
return result;
}Referenced by:
EtwpAllocateFilter