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