HvpCopyModifiedData
VOID __stdcall HvpCopyModifiedData(_HHIVE *Hive, UINT64 StartingCellIndex, UINT8 *ModifiedData, UINT64 DataSize){
unsigned int v4;
int v6;
unsigned int i;
_HMAP_ENTRY *CellMap;
unsigned int v10;
if( (_DWORD)DataSize )
{
v4 = DataSize;
v6 = StartingCellIndex;
for( i = 0; i < v4; i += 4096 )
{
CellMap = HvpGetCellMap(Hive, i + v6);
if( !CellMap )
KeBugCheckEx(0x51u, (PVOID)1, Hive, (PVOID)v10, (PVOID)0xC24);
memmove(
(VOID *)(CellMap->BlockOffset + (CellMap->PermanentBinAddress & 0xFFFFFFFFFFFFFFF0ui64)),
&ModifiedData[i],
0x1000u);
}
}
}Referenced by:
HvpApplyLogEntryDataToFileBackedHive