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