in net/JetBrains.FormatRipper/src/ComputeHashInfo.cs [27:46]
public void WalkOnHashRanges(Stream stream, SubmitDelegate submit)
{
foreach (var range in OrderedIncludeRanges)
{
stream.Position = checked(range.Position + Offset);
var buffer = new byte[1024 * 1024];
for (var size = range.Size; size > 0;)
{
var maxLength = size > buffer.Length ? buffer.Length : (int)size;
var read = stream.Read(buffer, 0, maxLength);
if (read == 0)
throw new EndOfStreamException();
submit(buffer, 0, read);
size -= read;
}
}
if (ZeroPadding > 0)
submit(new byte[ZeroPadding], 0, ZeroPadding);
}