RaspAddCacheEntry

VOID __stdcall RaspAddCacheEntry(_BITMAP_CACHE *Cache, _CACHED_BITMAP *NewEntry){
  __int64 v2; 
  _BITMAP_CACHE v3; 
  _BITMAP_CACHE v4; 
  __int64 v5; 
  _BITMAP_CACHE **v6; 

  v2 = *(_QWORD *)Cache;
  if( *(_BITMAP_CACHE **)(*(_QWORD *)Cache + 8i64) != Cache )
    goto LABEL_9;
  *(_QWORD *)NewEntry = v2;
  *((_QWORD *)NewEntry + 1) = Cache;
  *(_QWORD *)(v2 + 8) = NewEntry;
  *(_QWORD *)Cache = NewEntry;
  v3 = Cache[12];
  if( !v3 )
    return;
  v4 = Cache[13];
  if( v4 != v3 )
  {
    Cache[13] = v4 + 1;
    return;
  }
  v5 = *((_QWORD *)Cache + 1);
  if( *(_BITMAP_CACHE **)v5 != Cache || (v6 = *(_BITMAP_CACHE ***)(v5 + 8), *v6 != (_BITMAP_CACHE *)v5) )
LABEL_9:
    __fastfail(3u);
  *((_QWORD *)Cache + 1) = v6;
  *v6 = Cache;
  RaspDestroyCachedBitmap((_CACHED_BITMAP *)v5);
}

Referenced by:

BgpRasPrintGlyph
RaspGetXExtent