INT64 __fastcall PiDmCacheDataFree(INT64 a1){
int v2;
INT64 result;
v2 = *(_DWORD *)a1 - 5;
if( v2 )
{
if( v2 == 1 )
PiDmObjectRelease(*(CHAR **)(a1 + 16));
}
else
{
ExFreePoolWithTag(*(PVOID *)(a1 + 16), 0x5A706E50u);
}
result = 0i64;
*(_OWORD *)a1 = 0i64;
*(_QWORD *)(a1 + 16) = 0i64;
return result;
}