public boolean isValidRange(long startIndex, int count) {
		if (count < 0) {
			return false;
		}
		if (count > 1) {
			// check the end of the range first to fail fast

			long endIndex = startIndex + (count - 1);
			if (Long.compareUnsigned(endIndex, startIndex) < 0) {
				// the requested range [startIndex..startIndex+count] wraps around the int64 to 0, so fail
				return false;
			}

			if (!provider.isValidIndex(endIndex)) {
				return false;
			}
			count--; // don't check the last element twice
		}
		for (int i = 0; i < count; i++) {
			if (!provider.isValidIndex(startIndex + i)) {
				return false;
			}
		}
		return true;
	}
Returns true if the specified range is valid and does not wrap around the end of the 
index space.

@param startIndex the starting index to check, treated as an unsigned int64
@param count the number of bytes to check
@return boolean true if all bytes between startIndex to startIndex+count (exclusive) are 
valid (according to the underlying byte provider)
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/BinaryReader.java