PpmPerfSnapUtility

void __fastcall PpmPerfSnapUtility(__int64 a1){
  __int64 v1; 
  unsigned __int64 v3; 
  unsigned __int64 v4; 
  unsigned __int64 v5; 
  __int64 v6; 
  unsigned __int64 v7; 
  unsigned __int64 v8; 
  int v9; 
  unsigned int v10; 
  char *v11; 
  __int64 v12; 
  _QWORD *v13; 
  unsigned __int64 v14; 
  __int64 v15; 
  char v16; 
  unsigned __int64 v17; 
  unsigned __int64 v18; 
  __int64 v19; 
  v1 = *(_QWORD *)(a1 + 16);
  if( v1 )
  {
    v3 = *(_QWORD *)(v1 + 136) - *(_QWORD *)(v1 + 40);
    v4 = v3;
    v5 = *(_QWORD *)(v1 + 176) - *(_QWORD *)(v1 + 80);
    v6 = *(_QWORD *)(a1 + 8);
    v19 = *(_QWORD *)(v1 + 128) - *(_QWORD *)(v1 + 32);
    if( !v3 )
      v4 = 1i64;
    v7 = (*(_QWORD *)(v1 + 160) - *(_QWORD *)(v1 + 64)) / v4;
    v8 = *(_QWORD *)(v1 + 176) - *(_QWORD *)(v1 + 80);
    v9 = v7;
    if( !v5 )
      v8 = 1i64;
    v10 = (unsigned __int8)(100i64 * (*(_QWORD *)(v1 + 184) - *(_QWORD *)(v1 + 88)) / v8);
    if( v10 > 0x64 )
      LOWORD(v10) = 100;
    if( !(_DWORD)v7 )
    {
      v9 = 100;
      if( v6 )
        v9 = *(_DWORD *)(v6 + 120);
    }
    v11 = (char *)(v1 + 328);
    v12 = 3i64;
    v13 = (_QWORD *)(v1 + 192);
    do
    {
      v14 = v5;
      v15 = *v13 - *(v13 - 12);
      ++v13;
      if( !v5 )
        v14 = 1i64;
      v16 = 100 * v15 / v14;
      if( (unsigned __int8)v16 > 0x64u )
        v16 = 100;
      *v11++ = v16;
      --v12;
    }
    while( v12 );
    *(_WORD *)(a1 + 52) = v10;
    if( v6 )
    {
      v17 = v3;
      if( !v3 )
        v17 = 1i64;
      v18 = (*(_QWORD *)(v1 + 152) - *(_QWORD *)(v1 + 56)) / v17;
      if( !(_DWORD)v18 )
        LODWORD(v18) = *(_DWORD *)(v6 + 116);
      *(_DWORD *)(v6 + 116) = v18;
      *(_DWORD *)(v6 + 120) = v9;
    }
    *(_OWORD *)(v1 + 32) = *(_OWORD *)(v1 + 128);
    *(_OWORD *)(v1 + 48) = *(_OWORD *)(v1 + 144);
    *(_OWORD *)(v1 + 64) = *(_OWORD *)(v1 + 160);
    *(_OWORD *)(v1 + 80) = *(_OWORD *)(v1 + 176);
    *(_OWORD *)(v1 + 96) = *(_OWORD *)(v1 + 192);
    *(_OWORD *)(v1 + 112) = *(_OWORD *)(v1 + 208);
    if( *(_BYTE *)(a1 + 60) )
    {
      *(_QWORD *)(a1 + 96) += v3;
      *(_QWORD *)(a1 + 104) += v19;
    }
  }
}

Referenced by:

PpmCheckSnapAllUtility