RtlpValidateContextFlags

NTSTATUS __stdcall RtlpValidateContextFlags(UINT64 ContextFlags, UINT64 *ChunksMask){
  int v2; 

  if( (ContextFlags & 0x27FFFF80) != 0x10000
    && (ContextFlags & 0x27FFFFA0) != 0x100000
    && (ContextFlags & 0x7FFFFF0) != 0x200000
    && (ContextFlags & 0x7FFFFE0) != 0x400000 )
  {
    return -1073741811;
  }
  v2 = 1;
  if( (ContextFlags & 0x100040) == 1048640 || (ContextFlags & 0x10040) == 65600 )
  {
    if( !KUSER_SHARED_DATA.XState.EnabledFeatures )
      return -1073741637;
    v2 = 3;
  }
  if( ChunksMask )
    *(_DWORD *)ChunksMask = v2;
  return 0;
}

Referenced by:

KiContinuePreviousModeUser
RtlCopyContext
RtlGetExtendedContextLength
RtlGetExtendedContextLength2
RtlInitializeExtendedContext
RtlpReadExtendedContext
RtlpSanitizeContextFlags
RtlpWow64SanitizeContextFlags
RtlpWriteExtendedContext