SepSetTokenBnoIsolation

NTSTATUS __stdcall SepSetTokenBnoIsolation(INT64 a1, CHAR a2, INT64 a3, UINT64 a4, INT64 a5){
  NTSTATUS v5; 
  unsigned int v6; 
  _XSTATE_FEATURE **v10; 
  INT64 v11; 
  __int128 v13; 
  CHAR *v14; 
  __int128 v15; 

  v5 = 0;
  v6 = a4;
  HIDWORD(v14) = 0;
  if( a2 )
  {
    if( (*(_DWORD *)(a1 + 200) & 0x4000) != 0 )
      return -1073741637;
    if( (_DWORD)a4 )
    {
      v10 = (_XSTATE_FEATURE **)a5;
      if( a5 )
      {
        if( a3 && *(_WORD *)a3 && *(_QWORD *)(a3 + 8) )
        {
          if( *(_WORD *)a3 >= 0x110u )
            return -1073741562;
          if( (unsigned int)a4 > 0xA )
            return -1073741811;
          goto LABEL_5;
        }
      }
    }
    return -1073741776;
  }
  if( (_DWORD)a4 )
    return -1073741776;
  v10 = (_XSTATE_FEATURE **)a5;
  if( a5 || a3 && (*(_WORD *)a3 || *(_QWORD *)(a3 + 8)) )
    return -1073741776;
LABEL_5:
  v11 = *(_QWORD *)(a1 + 1152);
  if( v11 )
  {
    SepDereferenceCachedHandlesEntry(*(_QWORD *)(a1 + 216), v11);
    *(_QWORD *)(a1 + 1152) = 0i64;
  }
  if( a2 )
  {
    v13 = *(_OWORD *)a3;
    LODWORD(v14) = 1;
    v15 = v13;
    return SepSetTokenCachedHandles((_QWORD *)a1, &v14, v6, v10);
  }
  return v5;
}

Referenced by:

SeSubProcessToken