PopIdleWakeSourceAccountingToDiagnostic
void __fastcall PopIdleWakeSourceAccountingToDiagnostic(INT64 *a1, _DWORD *a2){
unsigned __int16 v4;
__int64 v5;
INT64 v6;
memset(a2, 0i64, 0x2A0u);
*a2 = *(_DWORD *)a1;
a2[1] = *((_DWORD *)a1 + 79);
a2[2] = *((_DWORD *)a1 + 78);
*((_QWORD *)a2 + 2) = PpmConvertTimeTo(a1[40], 0xF4240ui64);
*((_QWORD *)a2 + 3) = PpmConvertTimeTo(a1[41], 0xF4240ui64);
*((_QWORD *)a2 + 4) = PpmConvertTimeTo(a1[42], 0xF4240ui64);
v4 = 0;
*(_OWORD *)(a2 + 10) = *(_OWORD *)(a1 + 43);
*(_OWORD *)(a2 + 14) = *(_OWORD *)(a1 + 45);
a2[18] = *((_DWORD *)a1 + 94);
*(_OWORD *)(a2 + 19) = *(_OWORD *)((char *)a1 + 380);
*(_OWORD *)(a2 + 23) = *(_OWORD *)((char *)a1 + 396);
*(_QWORD *)(a2 + 27) = *(INT64 *)((char *)a1 + 412);
a2[29] = *((_DWORD *)a1 + 105);
do
{
v5 = *((unsigned __int16 *)a2 + 232);
*((_WORD *)a2 + 5 * v5 + 233) = v4;
if( v4 >= *((_WORD *)a1 + 72) )
v6 = 0i64;
else
v6 = a1[v4 + 19];
*(_QWORD *)((char *)a2 + 10 * v5 + 468) = v6;
if( v6 )
++*((_WORD *)a2 + 232);
++v4;
}
while( v4 < 0x14u );
*((_QWORD *)a2 + 15) = PpmConvertTimeTo(a1[54], 0xF4240ui64);
*((_OWORD *)a2 + 8) = *(_OWORD *)(a1 + 55);
a2[36] = *((_DWORD *)a1 + 114);
PopIdleWakeConvertIntervalBucketsTo(5ui64, (INT64)(a1 + 58), (UINT64 *)a2 + 19, 0xF4240ui64);
*((_QWORD *)a2 + 24) = PpmConvertTimeTo(a1[63], 0xF4240ui64);
*(_OWORD *)(a2 + 50) = *((_OWORD *)a1 + 32);
a2[54] = *((_DWORD *)a1 + 132);
PopIdleWakeConvertIntervalBucketsTo(5ui64, (INT64)(a1 + 67), (UINT64 *)a2 + 28, 0xF4240ui64);
*((_QWORD *)a2 + 33) = PpmConvertTimeTo(a1[72], 0xF4240ui64);
*((_OWORD *)a2 + 17) = *(_OWORD *)(a1 + 73);
a2[72] = *((_DWORD *)a1 + 150);
PopIdleWakeConvertIntervalBucketsTo(5ui64, (INT64)(a1 + 76), (UINT64 *)a2 + 37, 0xF4240ui64);
*((_QWORD *)a2 + 42) = PpmConvertTimeTo(a1[81], 0xF4240ui64);
*((_QWORD *)a2 + 43) = a1[82];
a2[88] = *((_DWORD *)a1 + 166);
PopIdleWakeConvertIntervalBucketsTo(3ui64, (INT64)(a1 + 84), (UINT64 *)a2 + 45, 0xF4240ui64);
PopIdleWakeGenerateDescriptionString(a1, (INT64)a2);
}Referenced by:
PopIdleWakeNotifyModernStandbyExit