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