CmpDereferenceSecurityNode

VOID __fastcall CmpDereferenceSecurityNode(UINT64 a1, UINT64 a2){
  unsigned int v3; 
  __int64 v4; 
  __int64 v5; 
  __int64 v7; 
  v7 = 0i64;
  v3 = a2;
  HvpGetCellContextInitialize(&v7);
  v5 = (*(__int64(__fastcall **)(UINT64, __int64, __int64 *))(a1 + 8))(a1, v4, &v7);
  if( (*(_DWORD *)(v5 + 12))-- == 1 )
  {
    CmpRemoveSecurityCellList((_HHIVE *)a1, v3);
    (*(void(__fastcall **)(UINT64, __int64 *))(a1 + 16))(a1, &v7);
    v5 = 0i64;
    HvFreeCell(a1, v3);
  }
  if( v5 )
    (*(void(__fastcall **)(UINT64, __int64 *))(a1 + 16))(a1, &v7);
}

Referenced by:

CmpCopySaclToVirtualKey