MiCopyPfnEntryEx

CHAR __fastcall MiCopyPfnEntryEx(INT64 a1, INT64 a2){
  __int128 v2; 
  __int64 v3; 
  __int64 v4; 
  __int128 v6; 
  __m128i v7; 
  v2 = *(_OWORD *)(a2 + 16);
  v7 = *(__m128i *)(a2 + 32);
  v3 = *(_QWORD *)(a2 + 40);
  v7.m128i_i8[3] = _mm_cvtsi128_si32(_mm_srli_si128(v7, 3)) & 0x3F | *(_BYTE *)(a1 + 35) & 0x40;
  *(_QWORD *)&v6 = v2;
  if( (((unsigned __int64)v7.m128i_i64[1] >> 60) & 7) == 3 )
    v3 &= 0x8FFFFFFFFFFFFFFFui64;
  v7.m128i_i8[2] = v7.m128i_i8[2] & 0x3F | *(_BYTE *)(a1 + 34) & 0xC0;
  LOBYTE(v4) = v7.m128i_i8[2] & 7;
  v7.m128i_i64[1] = (v3 ^ ((unsigned __int64)(unsigned __int16)(*(_QWORD *)(a1 + 40) >> 39) << 39)) & 0x1FF8000000000i64 ^ v3;
  if( (v7.m128i_i8[2] & 7) != 6 )
  {
    v4 = (*((_QWORD *)&v2 + 1) ^ *(_QWORD *)(a1 + 24)) & 0xF00000000000000i64 ^ *((_QWORD *)&v2 + 1);
    *((_QWORD *)&v6 + 1) = v4;
    v2 = v6;
  }
  *(_OWORD *)a1 = *(_OWORD *)a2;
  *(_OWORD *)(a1 + 16) = v2;
  *(__m128i *)(a1 + 32) = v7;
  return v4;
}

Referenced by:

MiConvertPrivateToProto
MiConvertStandbyToProto
MiMigratePfn
MiReplaceTransitionPage
MiSplitDirectMapPage
MiSwapHardFaultPage
MiSwapNumaStandbyPage
MiSwapStackPageNoDpc
MiSwitchKstackPages
MiTradeActivePage
MxSwapPages