AuthzBasepMemberOf
INT64 __fastcall AuthzBasepMemberOf(INT64 a1, PVOID Token, INT64 DenyAce, UINT8 Restricted, CHAR a5, INT64 a6){
char v7;
UINT8 v8;
int NextValue;
int v12;
UINT64 v13;
UINT8 v14;
INT64 v16[2];
__int128 v17;
void *Src;
UINT8 dst[80];
Src = 0i64;
v7 = a5 != 0;
v8 = DenyAce;
*(_BYTE *)a6 = 0;
*(_OWORD *)v16 = 0i64;
v17 = 0i64;
while( 1 )
{
NextValue = AuthzBasepGetNextValue(a1, (INT64)v16, DenyAce);
v12 = NextValue;
if( NextValue == -2147483622 )
break;
if( NextValue < 0 )
return(unsigned int)v12;
v13 = DWORD2(v17);
if( DWORD2(v17) >= 0x44 )
v13 = 68i64;
memmove(dst, (UINT8 *)Src, v13);
v14 = SepSidInToken(Token, 0i64, dst, v8, Restricted, 0);
if( a5 )
{
v7 &= v14;
if( !v7 )
goto LABEL_12;
}
else
{
v7 |= v14;
if( v7 )
goto LABEL_12;
}
}
v12 = 0;
LABEL_12:
if( v12 >= 0 )
*(_BYTE *)a6 = v7;
return(unsigned int)v12;
}Referenced by:
AuthzBasepEvaluateAceCondition