HvCheckAndUpdateHiveBackupTimeStamp

NTSTATUS __stdcall HvCheckAndUpdateHiveBackupTimeStamp(_HHIVE *Hive){
  _HMAP_ENTRY *CellMap; 
  NTSTATUS v3; 
  unsigned __int64 v4; 

  CellMap = HvpGetCellMap(Hive, 0i64);
  v3 = 0;
  if( !CellMap )
    KeBugCheckEx(0x51u, (PVOID)1, Hive, 0i64, (PVOID)0x13D4);
  v4 = CellMap->PermanentBinAddress & 0xFFFFFFFFFFFFFFF0ui64;
  if( *(_QWORD *)(v4 + 0x14) != Hive->BaseBlock->TimeStamp.QuadPart )
  {
    if( HvpMarkDirty((ULONG_PTR)Hive, 0i64, 0x20ui64, CmHiveDirtyNormal) )
      *(_QWORD *)(v4 + 20) = Hive->BaseBlock->TimeStamp.QuadPart;
    else
      return -1073741443;
  }
  return v3;
}

Referenced by:

CmpCreateHive
CmpCreateHiveRootCell
CmpMountPreloadedHives
HvpPerformLogFileRecovery