MiInsertNumaStandbyPage

VOID __fastcall MiInsertNumaStandbyPage(_MMPFN *Pfn1){
  _MMPFN *PfnDb; 
  __int64 v3; 
  __int64 v4; 
  char v5; 
  __int64 v6; 
  __int64 v7; 
  __int64 v8; 
  unsigned int v9; 
  _QWORD *v10; 
  __int64 v11; 
  _MMPFN *v12; 
  __int64 v13; 
  __int64 v14; 

  PfnDb = MmGetPfnDb();
  v3 = Pfn1 - PfnDb;
  v4 = *(_QWORD *)(*(&stru_140C4DB30 + 267) + 8 * (((unsigned __int64)Pfn1->u4._bf_0 >> 39) & 0x3FF));
  v5 = *((_BYTE *)&Pfn1->u3 + 3);
  if( (v5 & 8) != 0 )
    v6 = 5i64;
  else
    v6 = v5 & 7;
  LODWORD(v7) = MiSearchNumaNodeTable((PVOID)(Pfn1 - PfnDb));
  v8 = *(unsigned int *)(v7 + 8);
  if( *(&stru_140C4DB30 + 28) )
    v9 = MiPageToChannel(v3);
  else
    v9 = 0;
  v10 = (_QWORD *)(*(_QWORD *)(v4 + 16) + 4544 * v8 + 24 * (v6 + 8i64 * v9));
  ++v10[407];
  v11 = v10[409];
  if( v11 == 0xFFFFFFFFFi64 )
  {
    v10[408] = v3;
  }
  else
  {
    v12 = &PfnDb[v11];
    v13 = (v12->u1.$976DF529DAC3D73085C9E386D94B91E6::$E228DCF3D8940E384DBC5EFCA756D8B6::_bf_0 ^ (v3 << 28)) & 0xFFFFFFFFFi64;
    v12->ViewCount = v3;
    v12->u1.$976DF529DAC3D73085C9E386D94B91E6::$E228DCF3D8940E384DBC5EFCA756D8B6::_bf_0 = (v3 << 28) ^ v13;
  }
  Pfn1->u1.$976DF529DAC3D73085C9E386D94B91E6::$E228DCF3D8940E384DBC5EFCA756D8B6::_bf_0 |= 0xFFFFFFF000000000ui64;
  Pfn1->NodeBlinkLow = v11;
  v14 = (Pfn1->u2._bf_0 ^ (v11 << 20)) & 0xFFFFF000000000i64;
  Pfn1->ViewCount = -1;
  Pfn1->u2._bf_0 ^= v14;
  v10[409] = v3;
}

Referenced by:

MiInsertProtectedStandbyPage
MiReplaceNumaStandbyPage
MiSwapNumaStandbyPage