RtlGuardIsValidWow64StackPointer

BOOL __fastcall RtlGuardIsValidWow64StackPointer(UINT64 a1, INT64 Teb){
  INT64 v2; 
  INT64 v3; 
  _ETHREAD *CurrentThread; 
  if( !Teb )
  {
    CurrentThread = (_ETHREAD *)KeGetCurrentThread();
    if( (*((_DWORD *)CurrentThread + 29) & 0x400) != 0 || *((_BYTE *)CurrentThread + 586) == 1 )
      Teb = 0i64;
    else
      Teb = *((_QWORD *)CurrentThread + 30);
  }
  v2 = Teb + 0x2000;
  v3 = -Teb;
  return(unsigned int)a1 >= *(_DWORD *)((v2 & -(__int64)(v3 != 0)) + 8)
      && (unsigned int)a1 <= *(_DWORD *)((v2 & -(__int64)(v3 != 0)) + 4);
}

Referenced by:

KeVerifyContextRecord
KiContinuePreviousModeUser
PspWow64SetContextThread