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