MiUnlinkNumaStandbyPage

VOID __fastcall MiUnlinkNumaStandbyPage(_MMPFN *Pfn1){
  __int64 v2; 
  __int64 PfnPriority; 
  _MMPFN *PfnDb; 
  __int64 v5; 
  unsigned __int64 v6; 
  __int64 v7; 
  __int64 v8; 
  __int64 v9; 
  __int64 v10; 
  _MMPFN *v11; 
  _MMPFN *v12; 
  __int64 v13; 

  PfnPriority = (unsigned int)MiGetPfnPriority(Pfn1);
  PfnDb = MmGetPfnDb();
  v5 = *(unsigned __int8 *)(v2 + 39) | (*(_QWORD *)v2 >> 28) & 0xFFFFFFF00i64;
  v6 = *(unsigned __int16 *)(v2 + 36) | (*(_QWORD *)(v2 + 24) >> 20) & 0xFFFFF0000i64;
  LODWORD(v7) = MiSearchNumaNodeTable((PVOID)((v2 - (__int64)PfnDb) / 48));
  v8 = *(_QWORD *)(*(_QWORD *)(*(&stru_140C4DB30 + 267) + 8 * (((unsigned __int64)Pfn1->u4._bf_0 >> 39) & 0x3FF)) + 16i64)
     + 4544i64 * *(unsigned int *)(v7 + 8);
  v9 = PfnPriority + 8i64 * (unsigned int)MiGetPfnChannel((INT64)Pfn1);
  v10 = 3 * v9;
  if( v5 == 0xFFFFFFFFFi64 )
  {
    *(_QWORD *)(v8 + 24 * v9 + 3272) = v6;
  }
  else
  {
    v11 = &PfnDb[v5];
    v11->NodeBlinkLow = v6;
    MiSetPfnNodeBlinkHigh(v11, v6 >> 16, 0i64);
  }
  if( v6 == 0xFFFFFFFFFi64 )
  {
    *(_QWORD *)(v8 + 8 * v10 + 3264) = v5;
  }
  else
  {
    v12 = &PfnDb[v6];
    v13 = v12->u1.$976DF529DAC3D73085C9E386D94B91E6::$E228DCF3D8940E384DBC5EFCA756D8B6::_bf_0 ^ (v5 << 28);
    v12->ViewCount = v5;
    v12->u1.$976DF529DAC3D73085C9E386D94B91E6::$E228DCF3D8940E384DBC5EFCA756D8B6::_bf_0 = (v5 << 28) ^ v13 & 0xFFFFFFFFFi64;
  }
  --*(_QWORD *)(v8 + 8 * v10 + 3256);
}

Referenced by:

MiRemoveLowestPriorityStandbyPage
MiReplaceNumaStandbyPage
MiReplaceTransitionPage
MiSwapNumaStandbyPage