+
+ bzero(outbuf, len);
+
+ data_in.start = inbuf + 8;
+ data_in.stop = inbuf + len;
+ data_in.x = 0;
+ data_in.bit = 0x80;
+
+ data_out.pos = outbuf;
+ data_out.end = outbuf + len;
+
+ lz_expand(&data_in, &data_out);
+
+#if 0
+ /* This seems to still be completely broken */
+ r3 = r7 + 0x20;
+ r5 = *((unsigned int*)r3);
+
+ if ((ret = crc_check_59684(r7, r5, 0x46335053)) != 0) {
+ printf("crc_check return: %d\n", ret);
+ err_exit(__func__);
+ }
+#endif
+
+ write_file((char*)name, outbuf, len);
+
+ free(outbuf);