VOID __stdcall SmProcessDeleteNotification(INT64 a1){
__int64 v1;
__int16 v2;
int v3;
VOID **v4;
_EX_RUNDOWN_REF *v5;
INT64 a2;
a2 = a1;
LODWORD(v1) = SmpKeyedStoreEntryGet((UINT64)&KeyedStoreCtx, &a2, 2i64, 0i64);
if( v1 )
{
v2 = *(_WORD *)(v1 + 16);
CmSiFreeMemory((PPRIVILEGE_SET)v1);
v3 = v2 & 0x3FF;
v4 = (VOID **)SmKmStoreRefFromStoreIndex((__int64)SmGlobals, v3);
SmKmStoreDeleteWhenEmpty((_SMKM_STORE_LIST *)SmGlobals, *v4, 1ui64);
v5 = (_EX_RUNDOWN_REF *)SmKmStoreRefFromStoreIndex((__int64)SmGlobals, v3);
ExReleaseRundownProtection(v5 + 1);
}
}