KiGetSavedIptState
VOID __stdcall KiGetSavedIptState(PVOID Context){
PVOID *v1;
_DWORD *v2;
_DWORD *v3;
PVOID *v4;
int v5;
PXSAVE_AREA_HEADER XStateHeader;
XStateHeader = 0i64;
v3 = v2;
v4 = v1;
if( v1 && v2 && (int)KiGetSavedSupervisorState((unsigned int)Context, &XStateHeader) >= 0 )
{
if( KiXSavesManagesIpt() )
{
*v4 = RtlLocateSupervisorFeature(XStateHeader, 8u);
}
else if( (_DWORD)KiIptMsrMask )
{
v5 = (int)KiIptSaveAreaLength;
*v4 = (char *)&XStateHeader[1]
+ KUSER_SHARED_DATA.XState.AllFeatureSize
- (unsigned __int64)KUSER_SHARED_DATA.XState.Size;
*v3 = v5;
}
else
{
*v4 = 0i64;
*v3 = 0;
}
}
}Referenced by:
No references.