PpmEventTraceHeteroResponse
void PpmEventTraceHeteroResponse(__int64 a1, __int64 a2, __int64 a3, ...){
unsigned __int64 v3;
unsigned int v7;
char v8;
_QWORD *v9;
__int64 v10;
char v11;
char v12;
_EVENT_DATA_DESCRIPTOR UserData;
__int64 v14;
__int64 v15;
char *v16;
__int64 v17;
__int64 v18;
unsigned int v19;
int v20;
__int64 v21;
unsigned int v22;
int v23;
va_list v24;
__int64 v25;
__int64 v26;
__int64 v27;
char *v28;
__int64 v29;
va_list v30;
__int64 v31;
__int64 v32;
__int64 v33;
va_list v34;
__int64 v35;
unsigned __int64 v36;
va_list va;
__int64 v38;
va_list va1;
va_list va2;
va_start(va2, a3);
va_start(va1, a3);
va_start(va, a3);
v36 = va_arg(va1, _QWORD);
va_copy(va2, va1);
v38 = va_arg(va2, _QWORD);
v3 = v36;
if( PpmEtwRegistered && EtwEventEnabled(PpmEtwHandle, &PPM_ETW_HETERO_RESPONSE) )
{
v7 = *(unsigned __int8 *)(a1 + 6);
v8 = *(_BYTE *)(a1 + 148);
v11 = *(_BYTE *)(a1 + 6);
v12 = v8;
if( v3 > 1 && (_BYTE)v7 )
{
v9 = (_QWORD *)a3;
v10 = v7;
do
{
*v9++ /= v3;
--v10;
}
while( v10 );
}
UserData.Ptr = a1 + 4;
*(_QWORD *)&UserData.Size = 2i64;
v14 = a1 + 8;
v15 = 8i64;
v16 = &v11;
v19 = 4 * v7;
v22 = 8 * v7;
va_copy(v24, va);
v26 = a1 + 147;
v28 = &v12;
va_copy(v30, va1);
v32 = a1 + 139;
va_copy(v34, va2);
v17 = 1i64;
v18 = a2;
v20 = 0;
v21 = a3;
v23 = 0;
v25 = 8i64;
v27 = 1i64;
v29 = 1i64;
v31 = 1i64;
v33 = 1i64;
v35 = 4i64;
EtwWriteEx(PpmEtwHandle, &PPM_ETW_HETERO_RESPONSE, 0i64, 0, 0, 0, 0xBu, &UserData);
}
}Referenced by:
PpmCheckComputeHeteroResponse