SepCompareClaimAttributes
UINT8 __fastcall SepCompareClaimAttributes(
_AUTHZBASEP_CLAIM_ATTRIBUTES_COLLECTION *ClaimAttributesOne,
_AUTHZBASEP_CLAIM_ATTRIBUTES_COLLECTION *ClaimAttributesTwo){
char v4;
char v5;
char v6;
char v7;
char v8;
char v9;
char v10;
char v11;
v4 = 0;
v5 = 0;
v6 = 0;
v7 = 0;
v8 = 0;
v9 = 0;
v10 = 0;
v11 = 0;
if( ClaimAttributesOne == ClaimAttributesTwo )
return 1;
if( ClaimAttributesOne )
{
v6 = 1;
v8 = ClaimAttributesOne->pUserSecurityAttributes != 0i64;
v9 = ClaimAttributesOne->pDeviceSecurityAttributes != 0i64;
if( ClaimAttributesOne->DeviceGroupsCount )
v10 = 1;
}
if( ClaimAttributesTwo )
{
v7 = 1;
v4 = ClaimAttributesTwo->pUserSecurityAttributes != 0i64;
v5 = ClaimAttributesTwo->pDeviceSecurityAttributes != 0i64;
if( ClaimAttributesTwo->DeviceGroupsCount )
v11 = 1;
}
return v6 == v7
&& v8 == v4
&& v9 == v5
&& v10 == v11
&& (!v6
|| (!v8
|| AuthzBasepCompareSecurityAttributesInformation(
(__int64)ClaimAttributesOne->pUserSecurityAttributes,
&ClaimAttributesTwo->pUserSecurityAttributes->SecurityAttributeCount))
&& (!v9
|| AuthzBasepCompareSecurityAttributesInformation(
(__int64)ClaimAttributesOne->pDeviceSecurityAttributes,
&ClaimAttributesTwo->pDeviceSecurityAttributes->SecurityAttributeCount))
&& (!v10
|| SepCompareSidAndAttributeArrays(
ClaimAttributesOne->pDeviceGroups,
ClaimAttributesOne->DeviceGroupsCount,
ClaimAttributesTwo->pDeviceGroups,
ClaimAttributesTwo->DeviceGroupsCount)));
}Referenced by:
NtCompareTokens
SepSetTokenClaims