CmpCopySyncTree
CHAR __fastcall CmpCopySyncTree(UINT64 a1, INT64 a2, UINT64 a3, INT64 a4, INT16 a5, INT64 a6){
int v7;
int v9;
_DWORD *PoolWithTag;
void *v11;
CHAR v12;
INT64 v14;
v7 = a2;
v9 = a4;
PoolWithTag = ExAllocatePoolWithTag(PagedPool, 0x2800ui64, 0x20204D43ui64);
v11 = PoolWithTag;
if( PoolWithTag )
{
PoolWithTag[2] = 0;
PoolWithTag[3] &= 0xFFFFFFF8;
*((_BYTE *)PoolWithTag + 16) &= 0xFCu;
*PoolWithTag = v7;
PoolWithTag[1] = v9;
LODWORD(v14) = a6;
v12 = CmpCopySyncTree2((INT64)PoolWithTag, 512i64, 0i64, a1, a3, a5, v14);
ExFreePoolWithTag(v11, 0);
LOBYTE(PoolWithTag) = v12;
}
return(char)PoolWithTag;
}Referenced by:
CmRestoreKey
CmSaveMergedKeys
CmpCloneHwProfile
CmpLoadHiveVolatile
CmpPreserveSystemHiveData
CmpReorganizeHive
CmpSaveBootControlSet