_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;
}