CmpCreateTemporaryHive

_CMHIVE *__stdcall CmpCreateTemporaryHive(_GUID *HiveRmUuid, _GUID *HiveTmUuid, _GUID *a3){
  _CMHIVE *v5; 
  UINT64 Flags; 
  __int64 a1[2]; 
  INT64 a12[54]; 

  v5 = 0i64;
  a1[0] = 0i64;
  memset(a12, 0i64, sizeof(a12));
  LODWORD(Flags) = 17825792;
  if( (int)CmpCreateHive(
              (INT64)a1,
              0i64,
              1ui64,
              0i64,
              0i64,
              0i64,
              0i64,
              Flags,
              (INT64)HiveRmUuid,
              (INT64)HiveTmUuid,
              0i64,
              (INT64)a12) >= 0 )
    return(_CMHIVE *)a1[0];
  return v5;
}

Referenced by:

CmSaveKey
CmSaveMergedKeys