For one, get rid of that whole calc function. Read the bytes until EOF in 80 byte chunks. Second, you do not need to seek. When you first open the file, it is already at position 0. Everytime you Read, the cursor advances in the stream by the size of the read. http://msdn2.microsoft.com/en-us/library/s...tream.read.aspx