RtlpGetEntireXStateAreaLength
INT64 __fastcall RtlpGetEntireXStateAreaLength(INT64 a1){
unsigned int v2;
INT64 result;
_DWORD *v4;
v2 = 2;
if( (KUSER_SHARED_DATA.XState.ControlFlags & 2) == 0 )
return KUSER_SHARED_DATA.XState.Size;
result = 576i64;
v4 = (_DWORD *)(&KUSER_SHARED_DATA + 1548);
do
{
if( ((1i64 << v2) & a1) != 0 )
{
if( ((1i64 << v2) & KUSER_SHARED_DATA.XState.AlignedFeatures) != 0 )
LODWORD(result) = (result + 63) & 0xFFFFFFC0;
result = (unsigned int)(*v4 + result);
}
++v2;
++v4;
}
while( v2 < 0x40 );
return result;
}Referenced by:
KiContinuePreviousModeUser
RtlGetExtendedContextLength2
RtlInitializeExtendedContext2
RtlpGetNonLegacyXStateAreaLength
RtlpWalkFrameChain