MiAdjustPteBins
VOID __stdcall MiAdjustPteBins(){
__int64 v0;
_MI_SYSTEM_PTE_TYPE **v1;
__int64 v2;
_MI_SYSTEM_PTE_TYPE *v3;
__int64 *i;
_MI_SYSTEM_PTE_TYPE *v5;
unsigned __int64 v6;
unsigned __int64 v7;
UINT64 LowestBitEverAllocated;
UINT64 SizeOfBitMap;
__int64 v10[3];
v0 = 3i64;
v10[0] = (__int64)&stru_140C4DB30 + 4432;
v1 = (_MI_SYSTEM_PTE_TYPE **)v10;
v2 = 3i64;
v10[1] = (__int64)&stru_140C4DB30 + 3432;
v10[2] = (__int64)&stru_140C4DB30 + 3336;
do
{
v3 = *v1;
if( ((*v1)->Flags & 1) != 0 )
{
MiEmptyPteBins(*v1, 0i64);
if( MiPteBinsNeedTrimming(v3) == 1 )
MiEmptyPteBins(v3, (CHAR *)1);
}
++v1;
--v2;
}
while( v2 );
if( (++*(&stru_140C4DB30 + 3534) & 0xF) == 0 )
{
for( i = v10; ; ++i )
{
v5 = (_MI_SYSTEM_PTE_TYPE *)*i;
v6 = *(_QWORD *)(*i + 56);
v7 = *(_QWORD *)(*i + 88);
if( MiIsPteCachingOptimizationEnabled() )
break;
if( v7 > v6 / 0xA )
{
SizeOfBitMap = v5->Bitmap.SizeOfBitMap;
LowestBitEverAllocated = 0i64;
LABEL_14:
MiAttemptCoalesce(v5, LowestBitEverAllocated, SizeOfBitMap);
}
LABEL_15:
if( !--v0 )
return;
}
if( v7 <= 0x40000 || v7 <= v6 >> 2 )
goto LABEL_15;
LowestBitEverAllocated = v5->LowestBitEverAllocated;
SizeOfBitMap = v5->Bitmap.SizeOfBitMap - LowestBitEverAllocated;
goto LABEL_14;
}
}Referenced by:
MiWorkingSetManager