Note that the end-of-central-directory record at the end of the file contains the size and offset of the central directory, so if the central directory is not in the final 64 KiB you already have, you know exactly which range you need to request to get it (i.e. you don't need to keep scanning backwards 64 KiB at a time).