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.