SMKM_STORE_MGR::SmHighMemPriorityWatchdogWorker
void __fastcall SMKM_STORE_MGR::SmHighMemPriorityWatchdogWorker(__int64 a1){
INT64 v1;
unsigned __int64 v3;
unsigned int v4;
unsigned __int64 v5;
__int64 v6;
__int64 v7;
struct _EX_RUNDOWN_REF *v8;
unsigned __int64 v9;
__int128 v10;
__int128 v11;
__int128 v12;
__int64 v13;
v1 = a1 - 1800;
v10 = 0i64;
v11 = 0i64;
v12 = 0i64;
v13 = 0i64;
if( (int)ZwQuerySystemInformation() >= 0 )
{
v3 = 128000i64;
v4 = 0;
if( (unsigned __int64)v10 <= 0x51400000 )
v3 = 15360i64;
v5 = 3 * ((unsigned __int64)v10 / 0x14000);
if( v5 >= v3 )
v5 = v3;
v9 = v5;
do
{
v6 = SmKmStoreReferenceEx(v1, v4);
v7 = v6;
if( v6 )
{
if( *(_BYTE *)(v6 + 6023) != 1 )
SMKM_STORE::SmStPrioritizeRegionsStore(v6, (__int64 *)&v9);
v8 = (struct _EX_RUNDOWN_REF *)SmKmStoreRefFromStoreIndex(v1, *(_DWORD *)(v7 + 6016) & 0x3FF);
ExReleaseRundownProtection(v8 + 1);
}
++v4;
}
while( v4 < 0x400 );
}
_InterlockedExchange64((volatile __int64 *)(a1 + 24), 0i64);
}
Referenced by:
No references.