PopEtIsrDpcQuery
NTSTATUS __fastcall PopEtIsrDpcQuery(INT64 a1, _OWORD *a2){
_OWORD *v2;
NTSTATUS v4;
_OWORD *v5;
__int64 v6;
__int64 v7;
unsigned int v8;
unsigned __int16 *v9[2];
__int16 v10;
int v11;
__int16 v12;
__int64 result[8];
v2 = *(_OWORD **)(a1 + 2280);
memset((INT64)result, 0i64);
v11 = 0;
v12 = 0;
v8 = 0;
memset((INT64)a2, 0i64);
v9[1] = (unsigned __int16 *)KeActiveProcessors.Bitmap[0];
v9[0] = (unsigned __int16 *)&KeActiveProcessors;
v10 = 0;
while( 1 )
{
v4 = KeEnumerateNextProcessor(&v8, v9);
if( v4 )
break;
KeQueryCycleTimeStatsProcessor((INT64)*(&KiProcessorBlock + v8), result);
v5 = a2;
v6 = 4i64;
do
{
v7 = 2i64;
do
{
*(_QWORD *)v5 += *(_QWORD *)((char *)v5 + (char *)result - (char *)a2);
v5 = (_OWORD *)((char *)v5 + 8);
--v7;
}
while( v7 );
--v6;
}
while( v6 );
}
*v2 = *a2;
v2[1] = a2[1];
v2[2] = a2[2];
v2[3] = a2[3];
return v4;
}Referenced by:
PopEtProcessEnumSnapshotCallback