RtlGuardIsValidStackPointer
UINT64 __stdcall RtlGuardIsValidStackPointer(PVOID StackPointer){
__int64 v1;
_ETHREAD *CurrentThread;
if( !v1 )
{
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
if( (*((_DWORD *)CurrentThread + 29) & 0x400) != 0 || *((_BYTE *)CurrentThread + 586) == 1 )
v1 = 0i64;
else
v1 = *((_QWORD *)CurrentThread + 30);
}
return(unsigned __int64)StackPointer >= *(_QWORD *)(v1 + 16) && (unsigned __int64)StackPointer <= *(_QWORD *)(v1 + 8);
}Referenced by:
KeVerifyContextRecord
KiContinuePreviousModeUser