CmpPrepareForSubtreeInvalidation

INT64 __fastcall CmpPrepareForSubtreeInvalidation(INT64 a1, INT64 a2){
  INT64 result; 
  unsigned int v3; 
  __int64 v4; 
  int v5; 
  INT64 v6; 
  v4 = 0i64;
  v5 = 0;
  v3 = 0;
  v6 = a2;
  CmpEnumerateAllOpenSubKeys(
    a1,
    0,
    (__int64(__fastcall *)(__int64, __int64))CmpPrepareForSubtreeInvalidationWorker,
    (__int64)&v3);
  result = v3;
  if( (v3 & 0x80000000) == 0 )
  {
    if( (_DWORD)v4 )
      return 3221225761i64;
    else
      return HIDWORD(v4) != 0 ? 0xC000022D : 0;
  }
  return result;
}

Referenced by:

CmRenameKey
CmRestoreKey
CmpPerformUnloadKey
CmpPrepareToInvalidateAllHigherLayerKcbsPostCallback
CmpSaveBootControlSet