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