SepSetTokenBnoIsolation

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

Referenced by:

SeSubProcessToken