PiDmCacheDataFree

VOID __stdcall PiDmCacheDataFree(_PI_DM_CACHED_PROPERTY_DATA *CacheData){
  int v2; 

  v2 = *CacheData - 5;
  if( v2 )
  {
    if( v2 == 1 )
      PiDmObjectRelease(*((_PI_DM_OBJECT **)CacheData + 2));
  }
  else
  {
    ExFreePoolWithTag(*((PVOID *)CacheData + 2), 0x5A706E50u);
  }
  *(_OWORD *)CacheData = 0i64;
  *((_QWORD *)CacheData + 2) = 0i64;
}

Referenced by:

PiDmObjectProcessPropertyChange
PiDmObjectRelease
PiDmObjectUpdateCachedObjectProperty