MiInitializeAllResidentPageBasePfns

CHAR __fastcall MiInitializeAllResidentPageBasePfns(
        UINT16 *rcx0,
        INT64 a2,
        INT64 a3,
        INT64 a4,
        CHAR a5,
        INT64 a6,
        INT64 a7){
  __int64 v7; 
  unsigned __int64 v9; 
  __int64 v10; 
  __int128 v11; 
  char *v12; 
  char *updated; 
  char v14; 
  char v15; 
  char *v16; 
  __m128i v17; 
  __int64 v18; 
  char *v19; 
  __m128i v20; 
  INT64 a1[2]; 
  __int128 v23; 
  v7 = *rcx0;
  v23 = xmmword_140C4E310;
  v9 = _mm_srli_si128((__m128i)xmmword_140C4E310, 8).m128i_u64[0];
  v10 = MiLargePageSizes[(unsigned int)a4];
  v11 = *(_OWORD *)&xmmword_140C4E2F0;
  *((_QWORD *)&v23 + 1) = (v9 ^ (v7 << 39)) & 0x1FF8000000000i64 ^ v9;
  BYTE7(v23) = (BYTE7(xmmword_140C4E310) ^ ~(_BYTE)a4) & 3 ^ BYTE7(xmmword_140C4E310);
  *(_OWORD *)a1 = xmmword_140C4E300;
  v12 = (char *)MmGetPfnDb() + 48 * a2;
  if( (_DWORD)a7 )
    a1[1] |= 0x8000000000000000ui64;
  LOBYTE(updated) = a5 << 6;
  v14 = (a5 << 6) | BYTE2(v23) & 0x3F;
  v15 = (a5 << 6) | BYTE2(v23) & 0x38 | 5;
  if( !(_DWORD)a6 )
  {
    updated = (char *)MiUpdatePageFileHighInPte(a1[0], 4294967293i64);
    a1[0] = (INT64)updated;
  }
  v16 = &v12[48 * a3];
  BYTE2(v23) = v15 ^ (v15 ^ v14) & 7;
  if( v12 < v16 )
  {
    v17 = _mm_loadu_si128((const __m128i *)&v23);
    v18 = 48 * v10;
    v19 = v12 + 48;
    do
    {
      for( updated = v12; updated != v19; updated += 48 )
      {
        v20 = _mm_loadu_si128((const __m128i *)a1);
        *(_OWORD *)updated = v11;
        *((__m128i *)updated + 1) = v20;
        *((__m128i *)updated + 2) = v17;
      }
      v12 += v18;
      v19 += v18;
    }
    while( v12 < v16 );
  }
  return(char)updated;
}

Referenced by:

MiCoalesceFreePages
MiDeleteClusterSection
MiInitializeDynamicPfns
MxCreateFreePfns