RtlpFcBufferManagerUpdateBuffers
INT64 __fastcall RtlpFcBufferManagerUpdateBuffers(_QWORD *a1, INT64 a2, INT64 a3){
__int64 v4;
__int64 v6;
__int64 v7;
__int64 v8;
_QWORD *v9;
__int64 v10;
char *v11;
v4 = *a1 & 1i64;
v6 = (unsigned int)v4;
v7 = 3i64;
v8 = ((_BYTE)v4 - 1) & 1;
v9 = &a1[9 * v4];
v10 = (__int64)v9 - a3 + 24;
v11 = (char *)&a1[8 * v8 + 3 + v8] - a3;
do
{
if( *(_QWORD *)a3 )
{
*(_OWORD *)&v11[a3] = *(_OWORD *)a3;
*(_QWORD *)&v11[a3 + 16] = *(_QWORD *)(a3 + 16);
*(_OWORD *)a3 = *(_OWORD *)(a3 + v10);
*(_QWORD *)(a3 + 16) = *(_QWORD *)(a3 + v10 + 16);
}
else
{
*(_OWORD *)&v11[a3] = *(_OWORD *)(a3 + v10);
*(_QWORD *)&v11[a3 + 16] = *(_QWORD *)(a3 + v10 + 16);
}
a3 += 24i64;
--v7;
}
while( v7 );
a1[v8 + 21] = a2;
RtlUpdateSwapReference((INT64)a1, v8);
a1[v6 + 21] = 0i64;
return RtlpFcInitializeBuffers((INT64)(v9 + 3));
}Referenced by:
CmFcManagerStartBootPhase
CmFcManagerStartRuntimePhase
CmFcManagerUpdateFeatureConfigurations
CmFcManagerUpdateFeatureUsageSubscriptions