HvpIsLogEntryHeaderCoherent

BOOL __fastcall HvpIsLogEntryHeaderCoherent(_DWORD *a1, UINT64 a2, UINT64 a3){
  unsigned __int64 v3; 
  unsigned __int64 v4; 
  unsigned int v5; 
  if( *a1 != 1162638920 )
    goto LABEL_13;
  LODWORD(v3) = a1[1];
  if( (unsigned int)v3 <= 0x28 )
    goto LABEL_13;
  v4 = (unsigned int)v3;
  v3 = (unsigned int)v3 + (unsigned __int64)(unsigned int)a2;
  if( v3 > 0xFFFFFFFF )
    goto LABEL_13;
  v5 = a1[4];
  LODWORD(v3) = v5 - 1;
  if( v5 - 1 > 0x7FFFDFFF || (v5 & 0xFFF) != 0 || (_DWORD)a3 && v5 > (unsigned int)a3 )
    goto LABEL_13;
  v3 = (unsigned int)a1[5];
  if( (_DWORD)v3
    && (v3 = 8 * v3 + 40, v3 <= 0xFFFFFFFF)
    && v4 >= v3
    && (LODWORD(v3) = HvpLogEntryCheckHeaderChecksum((INT64)a1), (_DWORD)v3) )
  {
    LOBYTE(v3) = 1;
  }
  else
  {
LABEL_13:
    LOBYTE(v3) = 0;
  }
  return v3;
}

Referenced by:

HvpApplyIncrementalLogFile
HvpDetermineIncrementalLogFileMaximums