"(omitted other lines)" – Maybe you shouldn't have omitted them. Maybe
fdisk -l clearly told you that user.bin has about 19505943 sectors. This would place the formal end of the last partition (sector number 30777310) far beyond the end of the file. What is the output of ls -l user.bin? If I'm right then the questions are: Why the discrepancy between the size of the image and the 24th entry in its partition table? Is the image too small?