Here's a quick patch for that. I don't have any ability to check it on Windows, but the logic is easy to verify by reducing the arbitrary constant to something small. (I used 1GB, not INT_MAX, because I figured we ought to read in multiples of a filesystem block if possible.)
I have tested the patch in Windows and it works as expected.