The image has some personal data and is pretty large 1T (140G allocated). I recompiled qemu-img and run through gdb:
Program received signal SIGSEGV, Segmentation fault.
get_refcount_ro4 (refcount_array=0x7fffc0edc010, index=246458459629569) at block/qcow2-refcount.c:179
179 return be16_to_cpu(((const uint16_t *)refcount_array)[index]);
(gdb) bt
#0 get_refcount_ro4 (refcount_array=0x7fffc0edc010, index=246458459629569) at block/qcow2-refcount.c:179
#1 0x0000555555595851 in inc_refcounts (address@hidden, address@hidden,
address@hidden, address@hidden, res=0x7fffffffd730, res=0x7fffffffd730, bs=0x555555c76320)
at block/qcow2-refcount.c:1329
#2 0x0000555555595a61 in check_refcounts_l1 (address@hidden, address@hidden, address@hidden,
address@hidden, l1_table_offset=-2294842463426117632, l1_size=335544320, address@hidden)
at block/qcow2-refcount.c:1487
#3 0x0000555555595fcd in calculate_refcounts (address@hidden, address@hidden, address@hidden(unknown: 0),
address@hidden, address@hidden, address@hidden)
at block/qcow2-refcount.c:1811
#4 0x000055555559893e in qcow2_check_refcounts (address@hidden, address@hidden, address@hidden(unknown: 0))
at block/qcow2-refcount.c:2199
#5 0x0000555555592d15 in qcow2_check (bs=0x555555c76320, result=0x7fffffffd730, fix=(unknown: 0)) at block/qcow2.c:336
#6 0x0000555555568b2b in collect_image_check (bs=0x555555c76320, check=0x555555ca8e40,
filename=0x7fffffffdc72 "/home/ivan/../vm-images/win81a.qcow2.broken", fix=<optimized out>, fmt=<optimized out>) at qemu-img.c:444
#7 0x000055555556a53e in img_check (argc=<optimized out>, argv=<optimized out>) at qemu-img.c:570
#8 0x000055555556559c in main (argc=3, argv=0x7fffffffd938) at qemu-img.c:3087