CmpKeyEnumStackFreeResumeContext
INT64 __stdcall CmpKeyEnumStackFreeResumeContext(PPRIVILEGE_SET Privileges){
INT64 v1;
char v2;
char v3;
INT64 v4;
unsigned int *p_Attributes;
__int64 v7;
void *v8;
INT64 result;
v3 = v2;
v4 = v1;
if( SLOWORD(Privileges->PrivilegeCount) >= 0 )
{
p_Attributes = &Privileges->Privilege[0].Attributes;
v7 = (unsigned __int16)(LOWORD(Privileges->PrivilegeCount) + 1);
do
{
v8 = *(void **)p_Attributes;
if( *(_QWORD *)p_Attributes )
{
if( v3 )
CmpDelayDerefKeyControlBlock(v8, v4);
else
CmpDereferenceKeyControlBlock((UINT64)v8);
}
p_Attributes += 6;
--v7;
}
while( v7 );
}
CmSiFreeMemory(Privileges);
return result;
}Referenced by:
CmpDeleteKeyObject
CmpEnumerateLayeredKey
CmpFlushNotifiesOnKeyBodyList