RtlpFcAreSortedFeatureUpdatesValid
char __fastcall RtlpFcAreSortedFeatureUpdatesValid(_DWORD *a1, unsigned __int64 a2){
unsigned __int64 v2;
_DWORD *v3;
unsigned int *v4;
unsigned int v5;
UINT64 v6;
__int64 v7;
__int64 v8;
__int64 v9;
__int64 v10;
__int64 v11;
__int64 v12;
unsigned __int64 v13;
v2 = 1i64;
if( a2 <= 1 )
{
LABEL_6:
if( !a2 )
return 1;
v4 = a1 + 1;
while( 1 )
{
v5 = v4[6];
if( (v5 & 4) != 0 && v5 != 4 )
break;
if( !RtlpIsValidFeatureConfigurationPriority(*v4)
|| RtlpIsImmutableFeatureConfigurationPriority(v6)
|| !RtlpIsValidFeatureEnabledState(*(unsigned int *)(v7 + 4))
|| !RtlpIsValidFeatureEnabledStateOptions(*(unsigned int *)(v8 + 8))
|| !RtlpIsValidFeatureVariant(*(unsigned __int8 *)(v9 + 12))
|| !RtlpIsValidFeatureVariantPayloadKind(*(unsigned int *)(v10 + 16)) )
{
break;
}
v4 = (unsigned int *)(v11 + 32);
if( v12 + 1 >= v13 )
return 1;
}
}
else
{
v3 = a1;
while( v3[8] != *v3 || v3[9] != v3[1] )
{
++v2;
v3 += 8;
if( v2 >= a2 )
goto LABEL_6;
}
}
return 0;
}Referenced by:
RtlpFcUpdateFeatureConfiguration