void __fastcall SmcCacheCleanup(__int64 a1){
PPRIVILEGE_SET *v2;
__int64 v3;
INT64 v4;
v2 = (PPRIVILEGE_SET *)(a1 + 176);
v3 = 16i64;
do
{
v4 = *((unsigned int *)v2 - 2);
if( (_DWORD)v4 != -1 )
{
SmStoreDelete(*((_DWORD *)v2 - 1) & 3, v4);
CmSiFreeMemory(*v2);
}
v2 += 3;
--v3;
}
while( v3 );
if( *(_QWORD *)(a1 + 40) && *(_QWORD *)(a1 + 48) )
SmKmStoreFileDelete(a1 + 40);
SmKmFileInfoCleanup(a1 + 40);
StEtaCleanup(a1 + 104);
}