SmcCacheCleanup

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);
}

Referenced by:

SmcCacheDelete
SmcProcessCreateRequest