MiLogNotifyPageHeat

void __fastcall MiLogNotifyPageHeat(_DWORD *a1){
  _DWORD *v1; 
  __int64 v2; 
  bool v3; 
  char v4; 
  unsigned __int64 *v5; 
  __int64 v6; 
  _QWORD *v7; 
  unsigned __int64 v8; 
  __int64 v9; 
  __int64 v10; 
  unsigned __int8 CurrentIrql; 
  __int64 v12; 
  __int64 v13; 
  unsigned __int64 v14; 
  unsigned __int8 *v15; 
  __int64 *v16; 
  __int64 v17; 
  unsigned __int64 v18; 
  unsigned __int16 v19; 
  unsigned __int16 v20; 
  int v21; 
  int v22; 
  int v23; 
  int v24; 
  int v25; 
  int v26; 
  __int64 v27; 
  unsigned __int64 v28; 
  __int64 v29; 
  unsigned __int64 v30; 
  __int64 v31[17]; 
  int v32; 
  int v33; 
  char v34; 
  int *v35; 
  __int64 v36; 
  __int64 *v37; 
  __int64 v38; 
  __int64 *v39; 
  __int64 v40; 
  int *v41; 
  __int64 v42; 
  int *v43; 
  __int64 v44; 
  unsigned __int16 *v45; 
  __int64 v46; 
  unsigned __int64 *v47; 
  int v48; 
  int v49; 

  v1 = a1;
  if( *(&stru_140C4DB30 + 542) )
  {
    v2 = 64i64;
    if( !**(&stru_140C4DB30 + 542) || (v3 = tlgKeywordOn(*(&stru_140C4DB30 + 542), 64i64) == 0, v4 = 1, v3) )
      v4 = 0;
    if( v4 )
    {
      v5 = (unsigned __int64 *)(v1 + 4);
      v6 = 0i64;
      v7 = v1 + 4;
      v8 = (unsigned __int64)&v1[2 * v1[1] + 4];
      if( (unsigned __int64)(v1 + 4) < v8 )
      {
        do
        {
          v9 = (*v7 & 0x3FFi64) + 1;
          v10 = (*v7 >> 10) & 3i64;
          if( ((*v7 >> 10) & 3) != 0 )
          {
            do
            {
              v9 <<= 9;
              LODWORD(v10) = v10 - 1;
            }
            while( (_DWORD)v10 );
          }
          v6 += v9;
          ++v7;
        }
        while( (unsigned __int64)v7 < v8 );
        v2 = 64i64;
      }
      CurrentIrql = KeGetCurrentIrql();
      __writecr8(0xFui64);
      if( *v1 )
      {
        if( **(&stru_140C4DB30 + 542) <= 5u || !tlgKeywordOn(*(&stru_140C4DB30 + 542), v2) )
          goto LABEL_19;
        v18 = *v5;
        v15 = (unsigned __int8 *)&byte_140025E11;
        v24 = *(_DWORD *)(v17 + 4);
        v35 = &v24;
        v37 = &v29;
        v30 = v18 >> 12;
        v39 = (__int64 *)&v30;
        v36 = 4i64;
        v25 = (v18 & 0x3FF) + 1;
        v26 = (v18 >> 10) & 3;
        v41 = &v25;
        v29 = v6;
        v43 = &v26;
        v20 = *(_WORD *)(v17 + 4);
        v48 = 8 * v20;
        v16 = (__int64 *)&v34;
        v38 = 8i64;
        v40 = 8i64;
        v42 = 4i64;
        v44 = 4i64;
        v45 = &v20;
        v46 = 2i64;
        v47 = v5;
        v49 = 0;
      }
      else
      {
        if( **(&stru_140C4DB30 + 542) <= 5u || !tlgKeywordOn(*(&stru_140C4DB30 + 542), v2) )
          goto LABEL_19;
        v14 = *v5;
        v15 = (unsigned __int8 *)word_140025D8A;
        v21 = *(_DWORD *)(v13 + 4);
        v31[4] = (__int64)&v21;
        v31[6] = (__int64)&v27;
        v28 = v14 >> 12;
        v31[8] = (__int64)&v28;
        v31[5] = 4i64;
        v22 = (v14 & 0x3FF) + 1;
        v23 = (v14 >> 10) & 3;
        v31[10] = (__int64)&v22;
        v27 = v6;
        v31[12] = (__int64)&v23;
        v19 = *(_WORD *)(v13 + 4);
        v32 = 8 * v19;
        v16 = v31;
        v31[7] = 8i64;
        v31[9] = 8i64;
        v31[11] = 4i64;
        v31[13] = 4i64;
        v31[14] = (__int64)&v19;
        v31[15] = 2i64;
        v31[16] = (__int64)v5;
        v33 = 0;
      }
      tlgWriteEx_EtwWriteEx(v12, v15, 0i64, 1u, 0, 0, 9u, (__int64)v16);
LABEL_19:
      __writecr8(CurrentIrql);
    }
  }
}

Referenced by:

MiNotifyPageHeat