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