static void readTo(PeImage peImage, byte[] data, int destOffset, uint imageOffset, uint maxLength) { if (destOffset > data.Length) return; int len = Math.Min(data.Length - destOffset, (int)maxLength); var newData = peImage.offsetReadBytes(imageOffset, len); Array.Copy(newData, 0, data, destOffset, newData.Length); }