MiFaultListPagesRemaining
NTSTATUS __stdcall MiFaultListPagesRemaining(UINT64 *a1){
UINT64 v1;
__int64 v2;
unsigned __int64 v4;
unsigned __int64 v6;
UINT64 v7;
UINT64 *v8;
UINT64 v9;
UINT64 v10;
v1 = a1[2];
LODWORD(v2) = 1;
if( (v1 & 1) != 0 )
{
v4 = v1 & 0xFFFFFFFFFFFFFFFEui64;
if( *(_BYTE *)v4 == 2 )
{
v6 = *(_QWORD *)(v4 + 24);
if( v6 < *(_QWORD *)(v4 + 16) )
{
v7 = *a1;
v8 = (UINT64 *)(*(_QWORD *)(v4 + 8) + 16 * v6);
v9 = *v8;
if( v7 >= *v8 )
{
v10 = v8[1];
if( v7 < v10 + v9 )
return(((*(_DWORD *)v8 & 0xFFF) + v10 + 4095) >> 12)
- (((v7 & 0xFFFFFFFFFFFFF000ui64) - (v9 & 0xFFFFFFFFFFFFF000ui64)) >> 12);
}
}
}
}
return v2;
}Referenced by:
MiComputeMaximumFaultCluster