CmFcpManagerPublishChangeNotifications

VOID __fastcall CmFcpManagerPublishChangeNotifications(INT64 a1, INT64 a2){
  __int64 i; 
  int v3; 
  ExAcquirePushLockSharedEx((UINT64)&stru_140C480B0, 0i64);
  for( i = qword_140C480B8; (__int64 *)i != &qword_140C480B8; i = *(_QWORD *)i )
    CmFcpWorkItemQueueWork((PWORK_QUEUE_ITEM)(i + 16));
  if( _InterlockedCompareExchange64((volatile signed __int64 *)&stru_140C480B0, 0i64, 17i64) != 17 )
    ExfReleasePushLockShared((INT64 *)&stru_140C480B0);
  KeAbPostRelease(&stru_140C480B0);
  do
    ZwQueryWnfStateData();
  while( v3 >= 0 && a2 && (unsigned int)ZwUpdateWnfStateData() == -1073741823 );
}

Referenced by:

CmFcManagerUpdateFeatureConfigurations
CmFcManagerUpdateFeatureUsageSubscriptions