Ok, I could read the whole work file successfully. My mistake was I read 8 bytes per nbItem and 8 bytes per maxItem, but should 4 bytes.
nbItem is the number of entries within the block. Why do we need maxItem value? What does it show?
maxItem is used by the HashTable class for the allocation. It is the same thing as the capacity in a standard c++ vector.
It is not a useful information to process to the HashTable.