I was able to unwrap the DFU header. It flashes to address 0x00000000 so a complete rewrite. I also noticed that the payload grew by 10kB between 0.4.5 (0.7.6) and 0.5.29 (0.7.46? something not yet published I have 3 versions). I may not yet have it perfect, I had a problem validating the DFU suffix meaning its either not there or is in a format other than I expected it to be in.
This means that I can start looking at the code. Hopefully the rest is more straightforward.
You know all their firmware was on Github not long ago. It's quite possible you may be able to find it in a net archive someplace. If you did, it would save you a ton of trouble.
I feel silly for not grabbing it myself.