PpmParkRecordNodeStatistics

VOID __stdcall PpmParkRecordNodeStatistics(UINT64 MakeupCount){
  unsigned int v1; 
  __int64 v2; 
  unsigned __int16 v3; 
  UINT8 v4; 
  UINT8 i; 
  __int64 v6; 
  REGHANDLE v7; 
  int v8; 
  unsigned __int8 v9; 
  CHAR *v10; 
  INT64 v11; 
  INT64 v12; 
  char v13; 
  char v14; 
  unsigned __int16 v15; 
  __int16 v16; 
  __int64 v17; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  __int64 *v19; 
  __int64 v20; 
  char *v21; 
  __int64 v22; 
  __int64 v23; 
  __int64 v24; 
  __int64 v25; 
  int v26; 
  int v27; 
  char *v28; 
  __int64 v29; 

  v1 = *(&PopIrpWorkerControlEvent + 306);
  v2 = 2736i64 * *(&stru_140C23628 + 441);
  v3 = 0;
  v15 = 0;
  v4 = *(_BYTE *)(v2 + *(&stru_140C00F40 + 365) + 165);
  for( i = *(_BYTE *)(v2 + *(&stru_140C00F40 + 365) + 167); v3 < (unsigned int)PpmParkNumNodes; v15 = v3 )
  {
    v6 = PpmParkNodes + 272i64 * v3;
    if( PpmParkComputeSnapStatistics(v1, v4, i, v6 + 80, (_BYTE *)(v6 + 140), (_BYTE *)(v6 + 141), (_BYTE *)(v6 + 142)) )
    {
      v14 = *(_BYTE *)(v6 + 142);
      v13 = *(_BYTE *)(v6 + 140);
      v17 = *(_QWORD *)(v6 + 8);
      v16 = *(_WORD *)(v6 + 4);
      if( PpmEtwRegistered )
      {
        v7 = PpmEtwHandle;
        if( EtwEventEnabled(PpmEtwHandle, &PPM_ETW_PARK_NODE_STATS) )
        {
          *(_QWORD *)&UserData.Size = 2i64;
          UserData.Ptr = (unsigned __int64)&v16;
          v20 = 8i64;
          v19 = &v17;
          v22 = 1i64;
          v21 = &v13;
          v24 = 4i64;
          v23 = v6 + 120;
          v8 = *(_DWORD *)(v6 + 120);
          v25 = *(_QWORD *)(v6 + 88);
          v27 = 0;
          v29 = 1i64;
          v26 = 8 * v8;
          v28 = &v14;
          EtwWriteEx(v7, &PPM_ETW_PARK_NODE_STATS, 0i64, 0, 0, 0, 6u, &UserData);
        }
      }
    }
    if( *(_BYTE *)(v6 + 6) != *(_BYTE *)(v6 + 128) )
    {
      v9 = 0;
      v10 = (CHAR *)(v6 + 264);
      v11 = v6 + 168;
      do
      {
        if( PpmParkComputeSnapStatistics(v1, v4, i, v11, 0i64, 0i64, v10) )
          PpmEventParkNodeClassRecordedStats(*(_WORD *)(v6 + 4), *(_QWORD *)(v6 + 8), (NPTEXTMETRIC *)v9, v12, *v10);
        ++v9;
        v11 += 48i64;
        ++v10;
      }
      while( v9 < 2u );
      v3 = v15;
    }
    ++v3;
  }
}

Referenced by:

PpmCheckRecordAllUtility