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