RtlpFcUpdateFeature
NTSTATUS __stdcall RtlpFcUpdateFeature(INT64 a1, INT64 a2){
int v2;
int v5;
int v6;
NTSTATUS result;
v2 = *(_DWORD *)(a2 + 28);
if( (v2 & 1) != 0 )
{
*(_DWORD *)(a1 + 4) ^= (*(_DWORD *)(a1 + 4) ^ (16 * *(_DWORD *)(a2 + 8))) & 0x30;
v2 = *(_DWORD *)(a2 + 28);
}
if( (v2 & 2) != 0 )
{
*(_DWORD *)(a1 + 4) ^= (*(_DWORD *)(a1 + 4) ^ (*(unsigned __int8 *)(a2 + 16) << 8)) & 0x3F00;
v5 = *(_DWORD *)(a1 + 4);
*(_DWORD *)(a1 + 8) = *(_DWORD *)(a2 + 24);
v6 = v5 ^ ((unsigned __int16)v5 ^ (unsigned __int16)((unsigned __int16)*(_DWORD *)(a2 + 20) << 14)) & 0xC000;
*(_DWORD *)(a1 + 4) = v6;
}
else
{
v6 = *(_DWORD *)(a1 + 4);
}
result = v6 ^ ((unsigned __int8)v6 ^ (unsigned __int8)((unsigned __int8)*(_DWORD *)(a2 + 12) << 6)) & 0x40;
*(_DWORD *)(a1 + 4) = result;
return result;
}Referenced by:
RtlpFcApplyUpdateAndAddFeature
RtlpFcCalculateRequiredSizeForNewFeatureTable
RtlpFcCreateAndAddFeatureFromUpdate