CcInsertIntoDirtySharedCacheMapList

VOID __fastcall CcInsertIntoDirtySharedCacheMapList(_SHARED_CACHE_MAP *SharedCacheMap){
  _CC_PARTITION *Partition; 
  _LIST_ENTRY *v2; 
  _LIST_ENTRY *v3; 
  _LIST_ENTRY *p_LoggedStreamLinks; 
  _LIST_ENTRY *Flink; 
  _LIST_ENTRY *Blink; 
  _LIST_ENTRY *v7; 
  _LIST_ENTRY *p_SharedCacheMapLinks; 
  _LIST_ENTRY *v9; 
  _LIST_ENTRY *v10; 
  _LIST_ENTRY *v11; 
  Partition = SharedCacheMap->Partition;
  v2 = (_LIST_ENTRY *)((char *)Partition + 72);
  v3 = (_LIST_ENTRY *)((char *)Partition + 96);
  if( (SharedCacheMap->Flags & 0x3000000) != 0 )
  {
    p_LoggedStreamLinks = &SharedCacheMap->LoggedStreamLinks;
    Flink = SharedCacheMap->LoggedStreamLinks.Flink;
    if( Flink->Blink != &SharedCacheMap->LoggedStreamLinks
      || (Blink = SharedCacheMap->LoggedStreamLinks.Blink, Blink->Flink != p_LoggedStreamLinks)
      || (Blink->Flink = Flink, Flink->Blink = Blink, v7 = v3->Blink, v7->Flink != v3) )
    {
LABEL_10:
      __fastfail(3u);
    }
    p_LoggedStreamLinks->Flink = v3;
    SharedCacheMap->LoggedStreamLinks.Blink = v7;
    v7->Flink = p_LoggedStreamLinks;
    v3->Blink = p_LoggedStreamLinks;
  }
  p_SharedCacheMapLinks = &SharedCacheMap->SharedCacheMapLinks;
  v9 = SharedCacheMap->SharedCacheMapLinks.Flink;
  if( v9->Blink != &SharedCacheMap->SharedCacheMapLinks )
    goto LABEL_10;
  v10 = SharedCacheMap->SharedCacheMapLinks.Blink;
  if( v10->Flink != p_SharedCacheMapLinks )
    goto LABEL_10;
  v10->Flink = v9;
  v9->Blink = v10;
  v11 = v2->Blink;
  if( v11->Flink != v2 )
    goto LABEL_10;
  p_SharedCacheMapLinks->Flink = v2;
  p_SharedCacheMapLinks->Blink = v11;
  v11->Flink = p_SharedCacheMapLinks;
  v2->Blink = p_SharedCacheMapLinks;
}

Referenced by:

CcDecrementOpenCount
CcSetDirtyInMask
CcSetDirtyPinnedData
CcUninitializeCacheMap
CcWriteBehindInternal