More renaming.

This commit is contained in:
Markus F.X.J. Oberhumer 2006-08-16 09:07:00 +02:00
parent 123d9af7d0
commit 4ed74af868
43 changed files with 428 additions and 1232 deletions

View File

@ -180,7 +180,7 @@ tc.amd64-linux.elf.objcopy = $(call tc,m-objcopy)
tc.amd64-linux.elf.objdump = $(call tc,m-objdump)
tc.amd64-linux.elf.objstrip = $(call tc,objcopy) -R .comment -R .note
amd64-linux.elf-entry.h: $(srcdir)/src/$$T.asm
amd64-linux.elf-entry.h: $(srcdir)/src/$$T.S
$(call tc,gcc) -c -x assembler-with-cpp $< -o tmp/$T.bin
$(call tc,m-objcopy) --strip-unneeded tmp/$T.bin
$(call tc,m-objcopy) -R .text -R .data -R .bss tmp/$T.bin
@ -715,5 +715,9 @@ ifneq ($(STUBS),)
endif
-include tmp/*.d
# debug
hg-diff:
hg diff -r 5cca9ba74f3a $(STUBS)
# vi:ts=8:nowrap

View File

@ -37,7 +37,7 @@ lzma_d_c%.S : lzma_d_c.c
$(call tc,objcopy) -O binary --only-section .text.LzmaDecode tmp/$T.o tmp/$T.bin
head -c-1 tmp/$T.bin > tmp/$T.out
$(call tc,objdump) -b binary -m i386 -D tmp/$T.out > tmp/$T.out.lst
$(call tc,bin2h) --mode=nasm tmp/$T.out $@
$(call tc,bin2h) --mode=gas tmp/$T.out $@
lzma_d_cf.% : PP_FLAGS = -DFAST
lzma_d_cs.% : PP_FLAGS = -DSMALL

View File

@ -129,10 +129,10 @@ section LZMA_ELF00
section LZMA_DEC10
#include "lzma_d_cs_2.ash"
#include "lzma_d_cs.S"
section LZMA_DEC20
#include "lzma_d_cf_2.ash"
#include "lzma_d_cf.S"
//

View File

@ -0,0 +1,169 @@
.byte 85, 87, 86, 83,131,236,124,139,148, 36,144, 0, 0, 0,199, 68 /* 0x0000 */
.byte 36,116, 0, 0, 0, 0,198, 68, 36,115, 0,139,172, 36,156, 0 /* 0x0010 */
.byte 0, 0,141, 66, 4,137, 68, 36,120,184, 1, 0, 0, 0, 15,182 /* 0x0020 */
.byte 74, 2,137,195,211,227,137,217, 73,137, 76, 36,108, 15,182, 74 /* 0x0030 */
.byte 1,211,224, 72,137, 68, 36,104,139,132, 36,168, 0, 0, 0, 15 /* 0x0040 */
.byte 182, 50,199, 69, 0, 0, 0, 0, 0,199, 68, 36, 96, 0, 0, 0 /* 0x0050 */
.byte 0,199, 0, 0, 0, 0, 0,184, 0, 3, 0, 0,137,116, 36,100 /* 0x0060 */
.byte 199, 68, 36, 92, 1, 0, 0, 0,199, 68, 36, 88, 1, 0, 0, 0 /* 0x0070 */
.byte 199, 68, 36, 84, 1, 0, 0, 0,199, 68, 36, 80, 1, 0, 0, 0 /* 0x0080 */
.byte 15,182, 74, 1, 1,241,211,224,141,136, 54, 7, 0, 0, 57, 76 /* 0x0090 */
.byte 36,116,115, 14,139, 68, 36,120,102,199, 0, 0, 4,131,192, 2 /* 0x00a0 */
.byte 226,246,139,156, 36,148, 0, 0, 0, 49,255,199, 68, 36, 72,255 /* 0x00b0 */
.byte 255,255,255,137,218, 3,148, 36,152, 0, 0, 0,137, 84, 36, 76 /* 0x00c0 */
.byte 49,210, 59, 92, 36, 76, 15,132,124, 9, 0, 0, 15,182, 3,193 /* 0x00d0 */
.byte 231, 8, 66, 67, 9,199,131,250, 4,126,231,139,140, 36,164, 0 /* 0x00e0 */
.byte 0, 0, 57, 76, 36,116, 15,131,100, 9, 0, 0,139,116, 36,116 /* 0x00f0 */
.byte 35,116, 36,108,139, 68, 36, 96,139, 84, 36,120,193,224, 4,137 /* 0x0100 */
.byte 116, 36, 68, 1,240,129,124, 36, 72,255,255,255, 0,141, 44, 66 /* 0x0110 */
.byte 119, 24, 59, 92, 36, 76, 15,132, 44, 9, 0, 0,193,100, 36, 72 /* 0x0120 */
.byte 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139 /* 0x0130 */
.byte 85, 0,193,232, 11, 15,183,202, 15,175,193, 57,199, 15,131,221 /* 0x0140 */
.byte 1, 0, 0,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,138, 76 /* 0x0150 */
.byte 36,100,193,248, 5,190, 1, 0, 0, 0,141, 4, 2, 15,182, 84 /* 0x0160 */
.byte 36,115,102,137, 69, 0,139, 68, 36,116, 35, 68, 36,104,139,108 /* 0x0170 */
.byte 36,120,211,224,185, 8, 0, 0, 0, 43, 76, 36,100,211,250, 1 /* 0x0180 */
.byte 208,105,192, 0, 6, 0, 0,131,124, 36, 96, 6,141,132, 5,108 /* 0x0190 */
.byte 14, 0, 0,137, 68, 36, 20, 15,142,202, 0, 0, 0,139, 68, 36 /* 0x01a0 */
.byte 116, 43, 68, 36, 92,139,148, 36,160, 0, 0, 0, 15,182, 4, 2 /* 0x01b0 */
.byte 137, 68, 36, 64,209,100, 36, 64,139, 76, 36, 64,141, 20, 54,139 /* 0x01c0 */
.byte 108, 36, 20,129,225, 0, 1, 0, 0,129,124, 36, 72,255,255,255 /* 0x01d0 */
.byte 0,141, 68, 77, 0,137, 76, 36, 60,141, 44, 16,119, 24, 59, 92 /* 0x01e0 */
.byte 36, 76, 15,132, 96, 8, 0, 0,193,100, 36, 72, 8, 15,182, 3 /* 0x01f0 */
.byte 193,231, 8, 67, 9,199,139, 68, 36, 72,102,139,141, 0, 2, 0 /* 0x0200 */
.byte 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, 35,137, 68 /* 0x0210 */
.byte 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, 5,131,124 /* 0x0220 */
.byte 36, 60, 0,141, 4, 1,102,137,133, 0, 2, 0, 0,116, 34,235 /* 0x0230 */
.byte 46, 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5 /* 0x0240 */
.byte 102, 41,193,131,124, 36, 60, 0,102,137,141, 0, 2, 0, 0,116 /* 0x0250 */
.byte 14,129,254,255, 0, 0, 0, 15,142, 87,255,255,255,235,121,129 /* 0x0260 */
.byte 254,255, 0, 0, 0,127,113,141, 20, 54,139,108, 36, 20, 1,213 /* 0x0270 */
.byte 129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132 /* 0x0280 */
.byte 196, 7, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67 /* 0x0290 */
.byte 9,199,139, 68, 36, 72,102,139, 77, 0,193,232, 11, 15,183,241 /* 0x02a0 */
.byte 15,175,198, 57,199,115, 25,137, 68, 36, 72,184, 0, 8, 0, 0 /* 0x02b0 */
.byte 41,240,137,214,193,248, 5,141, 4, 1,102,137, 69, 0,235,159 /* 0x02c0 */
.byte 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5,102 /* 0x02d0 */
.byte 41,193,102,137, 77, 0,235,135,139, 84, 36,116,137,240,139,140 /* 0x02e0 */
.byte 36,160, 0, 0, 0,136, 68, 36,115,136, 4, 10, 66,131,124, 36 /* 0x02f0 */
.byte 96, 3,137, 84, 36,116,127, 13,199, 68, 36, 96, 0, 0, 0, 0 /* 0x0300 */
.byte 233, 27, 7, 0, 0,131,124, 36, 96, 9,127, 10,131,108, 36, 96 /* 0x0310 */
.byte 3,233, 10, 7, 0, 0,131,108, 36, 96, 6,233, 0, 7, 0, 0 /* 0x0320 */
.byte 139, 76, 36, 72, 41,199,139,116, 36, 96, 41,193,137,208,102,193 /* 0x0330 */
.byte 232, 5,102, 41,194,129,249,255,255,255, 0,102,137, 85, 0,139 /* 0x0340 */
.byte 108, 36,120,141,116,117, 0,137,116, 36, 56,119, 22, 59, 92, 36 /* 0x0350 */
.byte 76, 15,132,241, 6, 0, 0, 15,182, 3,193,231, 8,193,225, 8 /* 0x0360 */
.byte 67, 9,199,139,108, 36, 56,137,200,193,232, 11,102,139,149,128 /* 0x0370 */
.byte 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 82,137,198,184 /* 0x0380 */
.byte 0, 8, 0, 0, 41,232,139,108, 36, 88,193,248, 5,139, 76, 36 /* 0x0390 */
.byte 84,141, 4, 2,139, 84, 36, 56,137, 76, 36, 80,139, 76, 36,120 /* 0x03a0 */
.byte 102,137,130,128, 1, 0, 0,139, 68, 36, 92,137,108, 36, 84,137 /* 0x03b0 */
.byte 68, 36, 88, 49,192,131,124, 36, 96, 6, 15,159,192,129,193,100 /* 0x03c0 */
.byte 6, 0, 0,141, 4, 64,137, 68, 36, 96,233,116, 2, 0, 0,137 /* 0x03d0 */
.byte 206, 41,199, 41,198,137,208,102,193,232, 5,139, 76, 36, 56,102 /* 0x03e0 */
.byte 41,194,129,254,255,255,255, 0,102,137,145,128, 1, 0, 0,119 /* 0x03f0 */
.byte 22, 59, 92, 36, 76, 15,132, 77, 6, 0, 0, 15,182, 3,193,231 /* 0x0400 */
.byte 8,193,230, 8, 67, 9,199,139,108, 36, 56,137,242,193,234, 11 /* 0x0410 */
.byte 102,139,141,152, 1, 0, 0, 15,183,193, 15,175,208, 57,215, 15 /* 0x0420 */
.byte 131,227, 0, 0, 0,189, 0, 8, 0, 0,137,214, 41,197,199, 68 /* 0x0430 */
.byte 36, 52, 0, 8, 0, 0,137,232,193,248, 5,141, 4, 1,139, 76 /* 0x0440 */
.byte 36, 56,102,137,129,152, 1, 0, 0,139, 68, 36, 96,139, 76, 36 /* 0x0450 */
.byte 68,193,224, 5, 3, 68, 36,120,129,250,255,255,255, 0,141, 44 /* 0x0460 */
.byte 72,119, 22, 59, 92, 36, 76, 15,132,219, 5, 0, 0, 15,182, 3 /* 0x0470 */
.byte 193,231, 8,193,230, 8, 67, 9,199,102,139,149,224, 1, 0, 0 /* 0x0480 */
.byte 137,240,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 96, 41 /* 0x0490 */
.byte 76, 36, 52,193,124, 36, 52, 5,139,116, 36, 52,137, 68, 36, 72 /* 0x04a0 */
.byte 131,124, 36,116, 0,141, 4, 50,102,137,133,224, 1, 0, 0, 15 /* 0x04b0 */
.byte 132,147, 5, 0, 0, 49,192,131,124, 36, 96, 6,139,172, 36,160 /* 0x04c0 */
.byte 0, 0, 0,139, 84, 36,116, 15,159,192,141, 68, 0, 9,137, 68 /* 0x04d0 */
.byte 36, 96,139, 68, 36,116, 43, 68, 36, 92,138, 68, 5, 0,136, 68 /* 0x04e0 */
.byte 36,115,136, 4, 42, 66,137, 84, 36,116,233, 49, 5, 0, 0, 41 /* 0x04f0 */
.byte 198, 41,199,137,208,102,193,232, 5,102, 41,194,102,137,149,224 /* 0x0500 */
.byte 1, 0, 0,233, 31, 1, 0, 0,137,200, 41,214,102,193,232, 5 /* 0x0510 */
.byte 139,108, 36, 56,102, 41,193, 41,215,129,254,255,255,255, 0,102 /* 0x0520 */
.byte 137,141,152, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, 22, 5 /* 0x0530 */
.byte 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,139, 76 /* 0x0540 */
.byte 36, 56,137,240,193,232, 11,102,139,145,176, 1, 0, 0, 15,183 /* 0x0550 */
.byte 202, 15,175,193, 57,199,115, 35,137,198,184, 0, 8, 0, 0, 41 /* 0x0560 */
.byte 200,139,108, 36, 56,193,248, 5,141, 4, 2,102,137,133,176, 1 /* 0x0570 */
.byte 0, 0,139, 68, 36, 88,233,160, 0, 0, 0,137,241, 41,199, 41 /* 0x0580 */
.byte 193,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56,129,249 /* 0x0590 */
.byte 255,255,255, 0,102,137,144,176, 1, 0, 0,119, 22, 59, 92, 36 /* 0x05a0 */
.byte 76, 15,132,161, 4, 0, 0, 15,182, 3,193,231, 8,193,225, 8 /* 0x05b0 */
.byte 67, 9,199,139,116, 36, 56,137,200,193,232, 11,102,139,150,200 /* 0x05c0 */
.byte 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 32,137,198,184 /* 0x05d0 */
.byte 0, 8, 0, 0, 41,232,139,108, 36, 56,193,248, 5,141, 4, 2 /* 0x05e0 */
.byte 102,137,133,200, 1, 0, 0,139, 68, 36, 84,235, 38,137,206, 41 /* 0x05f0 */
.byte 199, 41,198,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56 /* 0x0600 */
.byte 102,137,144,200, 1, 0, 0,139, 84, 36, 84,139, 68, 36, 80,137 /* 0x0610 */
.byte 84, 36, 80,139, 76, 36, 88,137, 76, 36, 84,139,108, 36, 92,137 /* 0x0620 */
.byte 68, 36, 92,137,108, 36, 88, 49,192,131,124, 36, 96, 6,139, 76 /* 0x0630 */
.byte 36,120, 15,159,192,129,193,104, 10, 0, 0,141, 68, 64, 8,137 /* 0x0640 */
.byte 68, 36, 96,129,254,255,255,255, 0,119, 22, 59, 92, 36, 76, 15 /* 0x0650 */
.byte 132,243, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9 /* 0x0660 */
.byte 199,102,139, 17,137,240,193,232, 11, 15,183,234, 15,175,197, 57 /* 0x0670 */
.byte 199,115, 47,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 /* 0x0680 */
.byte 36, 68, 4,193,248, 5,199, 68, 36, 44, 0, 0, 0, 0,141, 4 /* 0x0690 */
.byte 2,102,137, 1,139, 68, 36, 68,141, 76, 1, 4,137, 76, 36, 16 /* 0x06a0 */
.byte 235,114, 41,198, 41,199,137,208,102,193,232, 5,102, 41,194,129 /* 0x06b0 */
.byte 254,255,255,255, 0,102,137, 17,119, 22, 59, 92, 36, 76, 15,132 /* 0x06c0 */
.byte 132, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199 /* 0x06d0 */
.byte 102,139, 81, 2,137,240,193,232, 11, 15,183,234, 15,175,197, 57 /* 0x06e0 */
.byte 199,115, 59,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 /* 0x06f0 */
.byte 36, 68, 4,193,248, 5,199, 68, 36, 44, 8, 0, 0, 0,141, 4 /* 0x0700 */
.byte 2,139, 84, 36, 68,102,137, 65, 2,141,140, 17, 4, 1, 0, 0 /* 0x0710 */
.byte 137, 76, 36, 16,199, 68, 36, 48, 3, 0, 0, 0,235, 47, 41,198 /* 0x0720 */
.byte 41,199,137,208,137,116, 36, 72,102,193,232, 5,199, 68, 36, 44 /* 0x0730 */
.byte 16, 0, 0, 0,102, 41,194,199, 68, 36, 48, 8, 0, 0, 0,102 /* 0x0740 */
.byte 137, 81, 2,129,193, 4, 2, 0, 0,137, 76, 36, 16,139, 76, 36 /* 0x0750 */
.byte 48,186, 1, 0, 0, 0,137, 76, 36, 40,141, 44, 18,139,116, 36 /* 0x0760 */
.byte 16, 1,238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36 /* 0x0770 */
.byte 76, 15,132,209, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193 /* 0x0780 */
.byte 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15 /* 0x0790 */
.byte 183,202, 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8 /* 0x07a0 */
.byte 0, 0, 41,200,193,248, 5,141, 4, 2,137,234,102,137, 6,235 /* 0x07b0 */
.byte 21, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194 /* 0x07c0 */
.byte 102,137, 22,141, 85, 1,139,116, 36, 40, 78,137,116, 36, 40,117 /* 0x07d0 */
.byte 137,138, 76, 36, 48,184, 1, 0, 0, 0,211,224, 41,194, 3, 84 /* 0x07e0 */
.byte 36, 44,131,124, 36, 96, 3,137, 84, 36, 12, 15,143,231, 1, 0 /* 0x07f0 */
.byte 0,131, 68, 36, 96, 7,131,250, 3,137,208,126, 5,184, 3, 0 /* 0x0800 */
.byte 0, 0,139,116, 36,120,193,224, 7,199, 68, 36, 36, 6, 0, 0 /* 0x0810 */
.byte 0,141,132, 6, 96, 3, 0, 0,137, 68, 36, 8,184, 1, 0, 0 /* 0x0820 */
.byte 0,141, 44, 0,139,116, 36, 8, 1,238,129,124, 36, 72,255,255 /* 0x0830 */
.byte 255, 0,119, 24, 59, 92, 36, 76, 15,132, 10, 2, 0, 0,193,100 /* 0x0840 */
.byte 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 /* 0x0850 */
.byte 102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 24 /* 0x0860 */
.byte 137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4 /* 0x0870 */
.byte 2,102,137, 6,137,232,235, 21, 41, 68, 36, 72, 41,199,137,208 /* 0x0880 */
.byte 102,193,232, 5,102, 41,194,141, 69, 1,102,137, 22,139,108, 36 /* 0x0890 */
.byte 36, 77,137,108, 36, 36,117,137,141, 80,192,131,250, 3,137, 20 /* 0x08a0 */
.byte 36, 15,142, 39, 1, 0, 0,137,208,137,214,209,248,131,230, 1 /* 0x08b0 */
.byte 141, 72,255,131,206, 2,131,250, 13,137, 76, 36, 32,127, 28,139 /* 0x08c0 */
.byte 108, 36,120,211,230, 1,210,137, 52, 36,141, 68,117, 0, 41,208 /* 0x08d0 */
.byte 5, 94, 5, 0, 0,137, 68, 36, 4,235, 86,141, 80,251,129,124 /* 0x08e0 */
.byte 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132, 86, 1 /* 0x08f0 */
.byte 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199 /* 0x0900 */
.byte 209,108, 36, 72, 1,246, 59,124, 36, 72,114, 7, 43,124, 36, 72 /* 0x0910 */
.byte 131,206, 1, 74,117,200,139, 68, 36,120,193,230, 4,137, 52, 36 /* 0x0920 */
.byte 5, 68, 6, 0, 0,199, 68, 36, 32, 4, 0, 0, 0,137, 68, 36 /* 0x0930 */
.byte 4,199, 68, 36, 28, 1, 0, 0, 0,184, 1, 0, 0, 0,139,108 /* 0x0940 */
.byte 36, 4, 1,192,137, 68, 36, 24, 1,197,129,124, 36, 72,255,255 /* 0x0950 */
.byte 255, 0,119, 24, 59, 92, 36, 76, 15,132,234, 0, 0, 0,193,100 /* 0x0960 */
.byte 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 /* 0x0970 */
.byte 102,139, 85, 0,193,232, 11, 15,183,242, 15,175,198, 57,199,115 /* 0x0980 */
.byte 27,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,193,248, 5,141 /* 0x0990 */
.byte 4, 2,102,137, 69, 0,139, 68, 36, 24,235, 31, 41, 68, 36, 72 /* 0x09a0 */
.byte 41,199,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 24,102 /* 0x09b0 */
.byte 137, 85, 0,139, 84, 36, 28, 64, 9, 20, 36,139, 76, 36, 32,209 /* 0x09c0 */
.byte 100, 36, 28, 73,137, 76, 36, 32, 15,133,112,255,255,255,139, 52 /* 0x09d0 */
.byte 36, 70,137,116, 36, 92,116, 89,139, 76, 36, 12,139,108, 36,116 /* 0x09e0 */
.byte 131,193, 2, 57,108, 36, 92,119, 95,139,132, 36,160, 0, 0, 0 /* 0x09f0 */
.byte 137,234, 43, 68, 36, 92, 3,148, 36,160, 0, 0, 0,141, 52, 40 /* 0x0a00 */
.byte 138, 6, 70,136, 68, 36,115,136, 2, 66,255, 68, 36,116, 73,116 /* 0x0a10 */
.byte 15,139,172, 36,164, 0, 0, 0, 57,108, 36,116,114,226,235, 17 /* 0x0a20 */
.byte 139,132, 36,164, 0, 0, 0, 57, 68, 36,116, 15,130,187,246,255 /* 0x0a30 */
.byte 255,129,124, 36, 72,255,255,255, 0,119, 21, 59, 92, 36, 76,184 /* 0x0a40 */
.byte 1, 0, 0, 0,116, 41,235, 7,184, 1, 0, 0, 0,235, 32, 67 /* 0x0a50 */
.byte 43,156, 36,148, 0, 0, 0, 49,192,139,148, 36,156, 0, 0, 0 /* 0x0a60 */
.byte 139, 76, 36,116,137, 26,139,156, 36,168, 0, 0, 0,137, 11,131 /* 0x0a70 */
.byte 196,124, 91, 94, 95, 93 /* 0x0a80 */

View File

@ -1,169 +0,0 @@
db 85, 87, 86, 83,131,236,124,139,148, 36,144, 0, 0, 0,199, 68 // 0x0000
db 36,116, 0, 0, 0, 0,198, 68, 36,115, 0,139,172, 36,156, 0 // 0x0010
db 0, 0,141, 66, 4,137, 68, 36,120,184, 1, 0, 0, 0, 15,182 // 0x0020
db 74, 2,137,195,211,227,137,217, 73,137, 76, 36,108, 15,182, 74 // 0x0030
db 1,211,224, 72,137, 68, 36,104,139,132, 36,168, 0, 0, 0, 15 // 0x0040
db 182, 50,199, 69, 0, 0, 0, 0, 0,199, 68, 36, 96, 0, 0, 0 // 0x0050
db 0,199, 0, 0, 0, 0, 0,184, 0, 3, 0, 0,137,116, 36,100 // 0x0060
db 199, 68, 36, 92, 1, 0, 0, 0,199, 68, 36, 88, 1, 0, 0, 0 // 0x0070
db 199, 68, 36, 84, 1, 0, 0, 0,199, 68, 36, 80, 1, 0, 0, 0 // 0x0080
db 15,182, 74, 1, 1,241,211,224,141,136, 54, 7, 0, 0, 57, 76 // 0x0090
db 36,116,115, 14,139, 68, 36,120,102,199, 0, 0, 4,131,192, 2 // 0x00a0
db 226,246,139,156, 36,148, 0, 0, 0, 49,255,199, 68, 36, 72,255 // 0x00b0
db 255,255,255,137,218, 3,148, 36,152, 0, 0, 0,137, 84, 36, 76 // 0x00c0
db 49,210, 59, 92, 36, 76, 15,132,124, 9, 0, 0, 15,182, 3,193 // 0x00d0
db 231, 8, 66, 67, 9,199,131,250, 4,126,231,139,140, 36,164, 0 // 0x00e0
db 0, 0, 57, 76, 36,116, 15,131,100, 9, 0, 0,139,116, 36,116 // 0x00f0
db 35,116, 36,108,139, 68, 36, 96,139, 84, 36,120,193,224, 4,137 // 0x0100
db 116, 36, 68, 1,240,129,124, 36, 72,255,255,255, 0,141, 44, 66 // 0x0110
db 119, 24, 59, 92, 36, 76, 15,132, 44, 9, 0, 0,193,100, 36, 72 // 0x0120
db 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139 // 0x0130
db 85, 0,193,232, 11, 15,183,202, 15,175,193, 57,199, 15,131,221 // 0x0140
db 1, 0, 0,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,138, 76 // 0x0150
db 36,100,193,248, 5,190, 1, 0, 0, 0,141, 4, 2, 15,182, 84 // 0x0160
db 36,115,102,137, 69, 0,139, 68, 36,116, 35, 68, 36,104,139,108 // 0x0170
db 36,120,211,224,185, 8, 0, 0, 0, 43, 76, 36,100,211,250, 1 // 0x0180
db 208,105,192, 0, 6, 0, 0,131,124, 36, 96, 6,141,132, 5,108 // 0x0190
db 14, 0, 0,137, 68, 36, 20, 15,142,202, 0, 0, 0,139, 68, 36 // 0x01a0
db 116, 43, 68, 36, 92,139,148, 36,160, 0, 0, 0, 15,182, 4, 2 // 0x01b0
db 137, 68, 36, 64,209,100, 36, 64,139, 76, 36, 64,141, 20, 54,139 // 0x01c0
db 108, 36, 20,129,225, 0, 1, 0, 0,129,124, 36, 72,255,255,255 // 0x01d0
db 0,141, 68, 77, 0,137, 76, 36, 60,141, 44, 16,119, 24, 59, 92 // 0x01e0
db 36, 76, 15,132, 96, 8, 0, 0,193,100, 36, 72, 8, 15,182, 3 // 0x01f0
db 193,231, 8, 67, 9,199,139, 68, 36, 72,102,139,141, 0, 2, 0 // 0x0200
db 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, 35,137, 68 // 0x0210
db 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, 5,131,124 // 0x0220
db 36, 60, 0,141, 4, 1,102,137,133, 0, 2, 0, 0,116, 34,235 // 0x0230
db 46, 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5 // 0x0240
db 102, 41,193,131,124, 36, 60, 0,102,137,141, 0, 2, 0, 0,116 // 0x0250
db 14,129,254,255, 0, 0, 0, 15,142, 87,255,255,255,235,121,129 // 0x0260
db 254,255, 0, 0, 0,127,113,141, 20, 54,139,108, 36, 20, 1,213 // 0x0270
db 129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132 // 0x0280
db 196, 7, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67 // 0x0290
db 9,199,139, 68, 36, 72,102,139, 77, 0,193,232, 11, 15,183,241 // 0x02a0
db 15,175,198, 57,199,115, 25,137, 68, 36, 72,184, 0, 8, 0, 0 // 0x02b0
db 41,240,137,214,193,248, 5,141, 4, 1,102,137, 69, 0,235,159 // 0x02c0
db 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5,102 // 0x02d0
db 41,193,102,137, 77, 0,235,135,139, 84, 36,116,137,240,139,140 // 0x02e0
db 36,160, 0, 0, 0,136, 68, 36,115,136, 4, 10, 66,131,124, 36 // 0x02f0
db 96, 3,137, 84, 36,116,127, 13,199, 68, 36, 96, 0, 0, 0, 0 // 0x0300
db 233, 27, 7, 0, 0,131,124, 36, 96, 9,127, 10,131,108, 36, 96 // 0x0310
db 3,233, 10, 7, 0, 0,131,108, 36, 96, 6,233, 0, 7, 0, 0 // 0x0320
db 139, 76, 36, 72, 41,199,139,116, 36, 96, 41,193,137,208,102,193 // 0x0330
db 232, 5,102, 41,194,129,249,255,255,255, 0,102,137, 85, 0,139 // 0x0340
db 108, 36,120,141,116,117, 0,137,116, 36, 56,119, 22, 59, 92, 36 // 0x0350
db 76, 15,132,241, 6, 0, 0, 15,182, 3,193,231, 8,193,225, 8 // 0x0360
db 67, 9,199,139,108, 36, 56,137,200,193,232, 11,102,139,149,128 // 0x0370
db 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 82,137,198,184 // 0x0380
db 0, 8, 0, 0, 41,232,139,108, 36, 88,193,248, 5,139, 76, 36 // 0x0390
db 84,141, 4, 2,139, 84, 36, 56,137, 76, 36, 80,139, 76, 36,120 // 0x03a0
db 102,137,130,128, 1, 0, 0,139, 68, 36, 92,137,108, 36, 84,137 // 0x03b0
db 68, 36, 88, 49,192,131,124, 36, 96, 6, 15,159,192,129,193,100 // 0x03c0
db 6, 0, 0,141, 4, 64,137, 68, 36, 96,233,116, 2, 0, 0,137 // 0x03d0
db 206, 41,199, 41,198,137,208,102,193,232, 5,139, 76, 36, 56,102 // 0x03e0
db 41,194,129,254,255,255,255, 0,102,137,145,128, 1, 0, 0,119 // 0x03f0
db 22, 59, 92, 36, 76, 15,132, 77, 6, 0, 0, 15,182, 3,193,231 // 0x0400
db 8,193,230, 8, 67, 9,199,139,108, 36, 56,137,242,193,234, 11 // 0x0410
db 102,139,141,152, 1, 0, 0, 15,183,193, 15,175,208, 57,215, 15 // 0x0420
db 131,227, 0, 0, 0,189, 0, 8, 0, 0,137,214, 41,197,199, 68 // 0x0430
db 36, 52, 0, 8, 0, 0,137,232,193,248, 5,141, 4, 1,139, 76 // 0x0440
db 36, 56,102,137,129,152, 1, 0, 0,139, 68, 36, 96,139, 76, 36 // 0x0450
db 68,193,224, 5, 3, 68, 36,120,129,250,255,255,255, 0,141, 44 // 0x0460
db 72,119, 22, 59, 92, 36, 76, 15,132,219, 5, 0, 0, 15,182, 3 // 0x0470
db 193,231, 8,193,230, 8, 67, 9,199,102,139,149,224, 1, 0, 0 // 0x0480
db 137,240,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 96, 41 // 0x0490
db 76, 36, 52,193,124, 36, 52, 5,139,116, 36, 52,137, 68, 36, 72 // 0x04a0
db 131,124, 36,116, 0,141, 4, 50,102,137,133,224, 1, 0, 0, 15 // 0x04b0
db 132,147, 5, 0, 0, 49,192,131,124, 36, 96, 6,139,172, 36,160 // 0x04c0
db 0, 0, 0,139, 84, 36,116, 15,159,192,141, 68, 0, 9,137, 68 // 0x04d0
db 36, 96,139, 68, 36,116, 43, 68, 36, 92,138, 68, 5, 0,136, 68 // 0x04e0
db 36,115,136, 4, 42, 66,137, 84, 36,116,233, 49, 5, 0, 0, 41 // 0x04f0
db 198, 41,199,137,208,102,193,232, 5,102, 41,194,102,137,149,224 // 0x0500
db 1, 0, 0,233, 31, 1, 0, 0,137,200, 41,214,102,193,232, 5 // 0x0510
db 139,108, 36, 56,102, 41,193, 41,215,129,254,255,255,255, 0,102 // 0x0520
db 137,141,152, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, 22, 5 // 0x0530
db 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,139, 76 // 0x0540
db 36, 56,137,240,193,232, 11,102,139,145,176, 1, 0, 0, 15,183 // 0x0550
db 202, 15,175,193, 57,199,115, 35,137,198,184, 0, 8, 0, 0, 41 // 0x0560
db 200,139,108, 36, 56,193,248, 5,141, 4, 2,102,137,133,176, 1 // 0x0570
db 0, 0,139, 68, 36, 88,233,160, 0, 0, 0,137,241, 41,199, 41 // 0x0580
db 193,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56,129,249 // 0x0590
db 255,255,255, 0,102,137,144,176, 1, 0, 0,119, 22, 59, 92, 36 // 0x05a0
db 76, 15,132,161, 4, 0, 0, 15,182, 3,193,231, 8,193,225, 8 // 0x05b0
db 67, 9,199,139,116, 36, 56,137,200,193,232, 11,102,139,150,200 // 0x05c0
db 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 32,137,198,184 // 0x05d0
db 0, 8, 0, 0, 41,232,139,108, 36, 56,193,248, 5,141, 4, 2 // 0x05e0
db 102,137,133,200, 1, 0, 0,139, 68, 36, 84,235, 38,137,206, 41 // 0x05f0
db 199, 41,198,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56 // 0x0600
db 102,137,144,200, 1, 0, 0,139, 84, 36, 84,139, 68, 36, 80,137 // 0x0610
db 84, 36, 80,139, 76, 36, 88,137, 76, 36, 84,139,108, 36, 92,137 // 0x0620
db 68, 36, 92,137,108, 36, 88, 49,192,131,124, 36, 96, 6,139, 76 // 0x0630
db 36,120, 15,159,192,129,193,104, 10, 0, 0,141, 68, 64, 8,137 // 0x0640
db 68, 36, 96,129,254,255,255,255, 0,119, 22, 59, 92, 36, 76, 15 // 0x0650
db 132,243, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9 // 0x0660
db 199,102,139, 17,137,240,193,232, 11, 15,183,234, 15,175,197, 57 // 0x0670
db 199,115, 47,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 // 0x0680
db 36, 68, 4,193,248, 5,199, 68, 36, 44, 0, 0, 0, 0,141, 4 // 0x0690
db 2,102,137, 1,139, 68, 36, 68,141, 76, 1, 4,137, 76, 36, 16 // 0x06a0
db 235,114, 41,198, 41,199,137,208,102,193,232, 5,102, 41,194,129 // 0x06b0
db 254,255,255,255, 0,102,137, 17,119, 22, 59, 92, 36, 76, 15,132 // 0x06c0
db 132, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199 // 0x06d0
db 102,139, 81, 2,137,240,193,232, 11, 15,183,234, 15,175,197, 57 // 0x06e0
db 199,115, 59,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 // 0x06f0
db 36, 68, 4,193,248, 5,199, 68, 36, 44, 8, 0, 0, 0,141, 4 // 0x0700
db 2,139, 84, 36, 68,102,137, 65, 2,141,140, 17, 4, 1, 0, 0 // 0x0710
db 137, 76, 36, 16,199, 68, 36, 48, 3, 0, 0, 0,235, 47, 41,198 // 0x0720
db 41,199,137,208,137,116, 36, 72,102,193,232, 5,199, 68, 36, 44 // 0x0730
db 16, 0, 0, 0,102, 41,194,199, 68, 36, 48, 8, 0, 0, 0,102 // 0x0740
db 137, 81, 2,129,193, 4, 2, 0, 0,137, 76, 36, 16,139, 76, 36 // 0x0750
db 48,186, 1, 0, 0, 0,137, 76, 36, 40,141, 44, 18,139,116, 36 // 0x0760
db 16, 1,238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36 // 0x0770
db 76, 15,132,209, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193 // 0x0780
db 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15 // 0x0790
db 183,202, 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8 // 0x07a0
db 0, 0, 41,200,193,248, 5,141, 4, 2,137,234,102,137, 6,235 // 0x07b0
db 21, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194 // 0x07c0
db 102,137, 22,141, 85, 1,139,116, 36, 40, 78,137,116, 36, 40,117 // 0x07d0
db 137,138, 76, 36, 48,184, 1, 0, 0, 0,211,224, 41,194, 3, 84 // 0x07e0
db 36, 44,131,124, 36, 96, 3,137, 84, 36, 12, 15,143,231, 1, 0 // 0x07f0
db 0,131, 68, 36, 96, 7,131,250, 3,137,208,126, 5,184, 3, 0 // 0x0800
db 0, 0,139,116, 36,120,193,224, 7,199, 68, 36, 36, 6, 0, 0 // 0x0810
db 0,141,132, 6, 96, 3, 0, 0,137, 68, 36, 8,184, 1, 0, 0 // 0x0820
db 0,141, 44, 0,139,116, 36, 8, 1,238,129,124, 36, 72,255,255 // 0x0830
db 255, 0,119, 24, 59, 92, 36, 76, 15,132, 10, 2, 0, 0,193,100 // 0x0840
db 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 // 0x0850
db 102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 24 // 0x0860
db 137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4 // 0x0870
db 2,102,137, 6,137,232,235, 21, 41, 68, 36, 72, 41,199,137,208 // 0x0880
db 102,193,232, 5,102, 41,194,141, 69, 1,102,137, 22,139,108, 36 // 0x0890
db 36, 77,137,108, 36, 36,117,137,141, 80,192,131,250, 3,137, 20 // 0x08a0
db 36, 15,142, 39, 1, 0, 0,137,208,137,214,209,248,131,230, 1 // 0x08b0
db 141, 72,255,131,206, 2,131,250, 13,137, 76, 36, 32,127, 28,139 // 0x08c0
db 108, 36,120,211,230, 1,210,137, 52, 36,141, 68,117, 0, 41,208 // 0x08d0
db 5, 94, 5, 0, 0,137, 68, 36, 4,235, 86,141, 80,251,129,124 // 0x08e0
db 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132, 86, 1 // 0x08f0
db 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199 // 0x0900
db 209,108, 36, 72, 1,246, 59,124, 36, 72,114, 7, 43,124, 36, 72 // 0x0910
db 131,206, 1, 74,117,200,139, 68, 36,120,193,230, 4,137, 52, 36 // 0x0920
db 5, 68, 6, 0, 0,199, 68, 36, 32, 4, 0, 0, 0,137, 68, 36 // 0x0930
db 4,199, 68, 36, 28, 1, 0, 0, 0,184, 1, 0, 0, 0,139,108 // 0x0940
db 36, 4, 1,192,137, 68, 36, 24, 1,197,129,124, 36, 72,255,255 // 0x0950
db 255, 0,119, 24, 59, 92, 36, 76, 15,132,234, 0, 0, 0,193,100 // 0x0960
db 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 // 0x0970
db 102,139, 85, 0,193,232, 11, 15,183,242, 15,175,198, 57,199,115 // 0x0980
db 27,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,193,248, 5,141 // 0x0990
db 4, 2,102,137, 69, 0,139, 68, 36, 24,235, 31, 41, 68, 36, 72 // 0x09a0
db 41,199,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 24,102 // 0x09b0
db 137, 85, 0,139, 84, 36, 28, 64, 9, 20, 36,139, 76, 36, 32,209 // 0x09c0
db 100, 36, 28, 73,137, 76, 36, 32, 15,133,112,255,255,255,139, 52 // 0x09d0
db 36, 70,137,116, 36, 92,116, 89,139, 76, 36, 12,139,108, 36,116 // 0x09e0
db 131,193, 2, 57,108, 36, 92,119, 95,139,132, 36,160, 0, 0, 0 // 0x09f0
db 137,234, 43, 68, 36, 92, 3,148, 36,160, 0, 0, 0,141, 52, 40 // 0x0a00
db 138, 6, 70,136, 68, 36,115,136, 2, 66,255, 68, 36,116, 73,116 // 0x0a10
db 15,139,172, 36,164, 0, 0, 0, 57,108, 36,116,114,226,235, 17 // 0x0a20
db 139,132, 36,164, 0, 0, 0, 57, 68, 36,116, 15,130,187,246,255 // 0x0a30
db 255,129,124, 36, 72,255,255,255, 0,119, 21, 59, 92, 36, 76,184 // 0x0a40
db 1, 0, 0, 0,116, 41,235, 7,184, 1, 0, 0, 0,235, 32, 67 // 0x0a50
db 43,156, 36,148, 0, 0, 0, 49,192,139,148, 36,156, 0, 0, 0 // 0x0a60
db 139, 76, 36,116,137, 26,139,156, 36,168, 0, 0, 0,137, 11,131 // 0x0a70
db 196,124, 91, 94, 95, 93 // 0x0a80

View File

@ -0,0 +1,169 @@
.byte 85, 87, 86, 83,131,236,124,139,148, 36,144, 0, 0, 0,199, 68 /* 0x0000 */
.byte 36,116, 0, 0, 0, 0,198, 68, 36,115, 0,139,172, 36,156, 0 /* 0x0010 */
.byte 0, 0,141, 66, 4,137, 68, 36,120,184, 1, 0, 0, 0, 15,182 /* 0x0020 */
.byte 74, 2,137,195,211,227,137,217, 73,137, 76, 36,108, 15,182, 74 /* 0x0030 */
.byte 1,211,224, 72,137, 68, 36,104,139,132, 36,168, 0, 0, 0, 15 /* 0x0040 */
.byte 182, 50,199, 69, 0, 0, 0, 0, 0,199, 68, 36, 96, 0, 0, 0 /* 0x0050 */
.byte 0,199, 0, 0, 0, 0, 0,184, 0, 3, 0, 0,137,116, 36,100 /* 0x0060 */
.byte 199, 68, 36, 92, 1, 0, 0, 0,199, 68, 36, 88, 1, 0, 0, 0 /* 0x0070 */
.byte 199, 68, 36, 84, 1, 0, 0, 0,199, 68, 36, 80, 1, 0, 0, 0 /* 0x0080 */
.byte 15,182, 74, 1, 1,241,211,224,141,136, 54, 7, 0, 0, 57, 76 /* 0x0090 */
.byte 36,116,115, 14,139, 68, 36,120,102,199, 0, 0, 4,131,192, 2 /* 0x00a0 */
.byte 226,246,139,156, 36,148, 0, 0, 0, 49,255,199, 68, 36, 72,255 /* 0x00b0 */
.byte 255,255,255,137,218, 3,148, 36,152, 0, 0, 0,137, 84, 36, 76 /* 0x00c0 */
.byte 49,210, 59, 92, 36, 76, 15,132,124, 9, 0, 0, 15,182, 3,193 /* 0x00d0 */
.byte 231, 8, 66, 67, 9,199,131,250, 4,126,231,139,140, 36,164, 0 /* 0x00e0 */
.byte 0, 0, 57, 76, 36,116, 15,131,100, 9, 0, 0,139,116, 36,116 /* 0x00f0 */
.byte 35,116, 36,108,139, 68, 36, 96,139, 84, 36,120,193,224, 4,137 /* 0x0100 */
.byte 116, 36, 68, 1,240,129,124, 36, 72,255,255,255, 0,141, 44, 66 /* 0x0110 */
.byte 119, 24, 59, 92, 36, 76, 15,132, 44, 9, 0, 0,193,100, 36, 72 /* 0x0120 */
.byte 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139 /* 0x0130 */
.byte 85, 0,193,232, 11, 15,183,202, 15,175,193, 57,199, 15,131,221 /* 0x0140 */
.byte 1, 0, 0,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,138, 76 /* 0x0150 */
.byte 36,100,193,248, 5,190, 1, 0, 0, 0,141, 4, 2, 15,182, 84 /* 0x0160 */
.byte 36,115,102,137, 69, 0,139, 68, 36,116, 35, 68, 36,104,139,108 /* 0x0170 */
.byte 36,120,211,224,185, 8, 0, 0, 0, 43, 76, 36,100,211,250, 1 /* 0x0180 */
.byte 208,105,192, 0, 6, 0, 0,131,124, 36, 96, 6,141,132, 5,108 /* 0x0190 */
.byte 14, 0, 0,137, 68, 36, 20, 15,142,202, 0, 0, 0,139, 68, 36 /* 0x01a0 */
.byte 116, 43, 68, 36, 92,139,148, 36,160, 0, 0, 0, 15,182, 4, 2 /* 0x01b0 */
.byte 137, 68, 36, 64,209,100, 36, 64,139, 76, 36, 64,141, 20, 54,139 /* 0x01c0 */
.byte 108, 36, 20,129,225, 0, 1, 0, 0,129,124, 36, 72,255,255,255 /* 0x01d0 */
.byte 0,141, 68, 77, 0,137, 76, 36, 60,141, 44, 16,119, 24, 59, 92 /* 0x01e0 */
.byte 36, 76, 15,132, 96, 8, 0, 0,193,100, 36, 72, 8, 15,182, 3 /* 0x01f0 */
.byte 193,231, 8, 67, 9,199,139, 68, 36, 72,102,139,141, 0, 2, 0 /* 0x0200 */
.byte 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, 35,137, 68 /* 0x0210 */
.byte 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, 5,131,124 /* 0x0220 */
.byte 36, 60, 0,141, 4, 1,102,137,133, 0, 2, 0, 0,116, 34,235 /* 0x0230 */
.byte 46, 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5 /* 0x0240 */
.byte 102, 41,193,131,124, 36, 60, 0,102,137,141, 0, 2, 0, 0,116 /* 0x0250 */
.byte 14,129,254,255, 0, 0, 0, 15,142, 87,255,255,255,235,121,129 /* 0x0260 */
.byte 254,255, 0, 0, 0,127,113,141, 20, 54,139,108, 36, 20, 1,213 /* 0x0270 */
.byte 129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132 /* 0x0280 */
.byte 196, 7, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67 /* 0x0290 */
.byte 9,199,139, 68, 36, 72,102,139, 77, 0,193,232, 11, 15,183,241 /* 0x02a0 */
.byte 15,175,198, 57,199,115, 25,137, 68, 36, 72,184, 0, 8, 0, 0 /* 0x02b0 */
.byte 41,240,137,214,193,248, 5,141, 4, 1,102,137, 69, 0,235,159 /* 0x02c0 */
.byte 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5,102 /* 0x02d0 */
.byte 41,193,102,137, 77, 0,235,135,139, 84, 36,116,137,240,139,140 /* 0x02e0 */
.byte 36,160, 0, 0, 0,136, 68, 36,115,136, 4, 10, 66,131,124, 36 /* 0x02f0 */
.byte 96, 3,137, 84, 36,116,127, 13,199, 68, 36, 96, 0, 0, 0, 0 /* 0x0300 */
.byte 233, 27, 7, 0, 0,131,124, 36, 96, 9,127, 10,131,108, 36, 96 /* 0x0310 */
.byte 3,233, 10, 7, 0, 0,131,108, 36, 96, 6,233, 0, 7, 0, 0 /* 0x0320 */
.byte 139, 76, 36, 72, 41,199,139,116, 36, 96, 41,193,137,208,102,193 /* 0x0330 */
.byte 232, 5,102, 41,194,129,249,255,255,255, 0,102,137, 85, 0,139 /* 0x0340 */
.byte 108, 36,120,141,116,117, 0,137,116, 36, 56,119, 22, 59, 92, 36 /* 0x0350 */
.byte 76, 15,132,241, 6, 0, 0, 15,182, 3,193,231, 8,193,225, 8 /* 0x0360 */
.byte 67, 9,199,139,108, 36, 56,137,200,193,232, 11,102,139,149,128 /* 0x0370 */
.byte 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 82,137,198,184 /* 0x0380 */
.byte 0, 8, 0, 0, 41,232,139,108, 36, 88,193,248, 5,139, 76, 36 /* 0x0390 */
.byte 84,141, 4, 2,139, 84, 36, 56,137, 76, 36, 80,139, 76, 36,120 /* 0x03a0 */
.byte 102,137,130,128, 1, 0, 0,139, 68, 36, 92,137,108, 36, 84,137 /* 0x03b0 */
.byte 68, 36, 88, 49,192,131,124, 36, 96, 6, 15,159,192,129,193,100 /* 0x03c0 */
.byte 6, 0, 0,141, 4, 64,137, 68, 36, 96,233,116, 2, 0, 0,137 /* 0x03d0 */
.byte 206, 41,199, 41,198,137,208,102,193,232, 5,139, 76, 36, 56,102 /* 0x03e0 */
.byte 41,194,129,254,255,255,255, 0,102,137,145,128, 1, 0, 0,119 /* 0x03f0 */
.byte 22, 59, 92, 36, 76, 15,132, 77, 6, 0, 0, 15,182, 3,193,231 /* 0x0400 */
.byte 8,193,230, 8, 67, 9,199,139,108, 36, 56,137,242,193,234, 11 /* 0x0410 */
.byte 102,139,141,152, 1, 0, 0, 15,183,193, 15,175,208, 57,215, 15 /* 0x0420 */
.byte 131,227, 0, 0, 0,189, 0, 8, 0, 0,137,214, 41,197,199, 68 /* 0x0430 */
.byte 36, 52, 0, 8, 0, 0,137,232,193,248, 5,141, 4, 1,139, 76 /* 0x0440 */
.byte 36, 56,102,137,129,152, 1, 0, 0,139, 68, 36, 96,139, 76, 36 /* 0x0450 */
.byte 68,193,224, 5, 3, 68, 36,120,129,250,255,255,255, 0,141, 44 /* 0x0460 */
.byte 72,119, 22, 59, 92, 36, 76, 15,132,219, 5, 0, 0, 15,182, 3 /* 0x0470 */
.byte 193,231, 8,193,230, 8, 67, 9,199,102,139,149,224, 1, 0, 0 /* 0x0480 */
.byte 137,240,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 96, 41 /* 0x0490 */
.byte 76, 36, 52,193,124, 36, 52, 5,139,116, 36, 52,137, 68, 36, 72 /* 0x04a0 */
.byte 131,124, 36,116, 0,141, 4, 50,102,137,133,224, 1, 0, 0, 15 /* 0x04b0 */
.byte 132,147, 5, 0, 0, 49,192,131,124, 36, 96, 6,139,172, 36,160 /* 0x04c0 */
.byte 0, 0, 0,139, 84, 36,116, 15,159,192,141, 68, 0, 9,137, 68 /* 0x04d0 */
.byte 36, 96,139, 68, 36,116, 43, 68, 36, 92,138, 68, 5, 0,136, 68 /* 0x04e0 */
.byte 36,115,136, 4, 42, 66,137, 84, 36,116,233, 49, 5, 0, 0, 41 /* 0x04f0 */
.byte 198, 41,199,137,208,102,193,232, 5,102, 41,194,102,137,149,224 /* 0x0500 */
.byte 1, 0, 0,233, 31, 1, 0, 0,137,200, 41,214,102,193,232, 5 /* 0x0510 */
.byte 139,108, 36, 56,102, 41,193, 41,215,129,254,255,255,255, 0,102 /* 0x0520 */
.byte 137,141,152, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, 22, 5 /* 0x0530 */
.byte 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,139, 76 /* 0x0540 */
.byte 36, 56,137,240,193,232, 11,102,139,145,176, 1, 0, 0, 15,183 /* 0x0550 */
.byte 202, 15,175,193, 57,199,115, 35,137,198,184, 0, 8, 0, 0, 41 /* 0x0560 */
.byte 200,139,108, 36, 56,193,248, 5,141, 4, 2,102,137,133,176, 1 /* 0x0570 */
.byte 0, 0,139, 68, 36, 88,233,160, 0, 0, 0,137,241, 41,199, 41 /* 0x0580 */
.byte 193,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56,129,249 /* 0x0590 */
.byte 255,255,255, 0,102,137,144,176, 1, 0, 0,119, 22, 59, 92, 36 /* 0x05a0 */
.byte 76, 15,132,161, 4, 0, 0, 15,182, 3,193,231, 8,193,225, 8 /* 0x05b0 */
.byte 67, 9,199,139,116, 36, 56,137,200,193,232, 11,102,139,150,200 /* 0x05c0 */
.byte 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 32,137,198,184 /* 0x05d0 */
.byte 0, 8, 0, 0, 41,232,139,108, 36, 56,193,248, 5,141, 4, 2 /* 0x05e0 */
.byte 102,137,133,200, 1, 0, 0,139, 68, 36, 84,235, 38,137,206, 41 /* 0x05f0 */
.byte 199, 41,198,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56 /* 0x0600 */
.byte 102,137,144,200, 1, 0, 0,139, 84, 36, 84,139, 68, 36, 80,137 /* 0x0610 */
.byte 84, 36, 80,139, 76, 36, 88,137, 76, 36, 84,139,108, 36, 92,137 /* 0x0620 */
.byte 68, 36, 92,137,108, 36, 88, 49,192,131,124, 36, 96, 6,139, 76 /* 0x0630 */
.byte 36,120, 15,159,192,129,193,104, 10, 0, 0,141, 68, 64, 8,137 /* 0x0640 */
.byte 68, 36, 96,129,254,255,255,255, 0,119, 22, 59, 92, 36, 76, 15 /* 0x0650 */
.byte 132,243, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9 /* 0x0660 */
.byte 199,102,139, 17,137,240,193,232, 11, 15,183,234, 15,175,197, 57 /* 0x0670 */
.byte 199,115, 47,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 /* 0x0680 */
.byte 36, 68, 4,193,248, 5,199, 68, 36, 44, 0, 0, 0, 0,141, 4 /* 0x0690 */
.byte 2,102,137, 1,139, 68, 36, 68,141, 76, 1, 4,137, 76, 36, 16 /* 0x06a0 */
.byte 235,114, 41,198, 41,199,137,208,102,193,232, 5,102, 41,194,129 /* 0x06b0 */
.byte 254,255,255,255, 0,102,137, 17,119, 22, 59, 92, 36, 76, 15,132 /* 0x06c0 */
.byte 132, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199 /* 0x06d0 */
.byte 102,139, 81, 2,137,240,193,232, 11, 15,183,234, 15,175,197, 57 /* 0x06e0 */
.byte 199,115, 59,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 /* 0x06f0 */
.byte 36, 68, 4,193,248, 5,199, 68, 36, 44, 8, 0, 0, 0,141, 4 /* 0x0700 */
.byte 2,139, 84, 36, 68,102,137, 65, 2,141,140, 17, 4, 1, 0, 0 /* 0x0710 */
.byte 137, 76, 36, 16,199, 68, 36, 48, 3, 0, 0, 0,235, 47, 41,198 /* 0x0720 */
.byte 41,199,137,208,137,116, 36, 72,102,193,232, 5,199, 68, 36, 44 /* 0x0730 */
.byte 16, 0, 0, 0,102, 41,194,199, 68, 36, 48, 8, 0, 0, 0,102 /* 0x0740 */
.byte 137, 81, 2,129,193, 4, 2, 0, 0,137, 76, 36, 16,139, 76, 36 /* 0x0750 */
.byte 48,186, 1, 0, 0, 0,137, 76, 36, 40,141, 44, 18,139,116, 36 /* 0x0760 */
.byte 16, 1,238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36 /* 0x0770 */
.byte 76, 15,132,209, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193 /* 0x0780 */
.byte 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15 /* 0x0790 */
.byte 183,202, 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8 /* 0x07a0 */
.byte 0, 0, 41,200,193,248, 5,141, 4, 2,137,234,102,137, 6,235 /* 0x07b0 */
.byte 21, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194 /* 0x07c0 */
.byte 102,137, 22,141, 85, 1,139,116, 36, 40, 78,137,116, 36, 40,117 /* 0x07d0 */
.byte 137,138, 76, 36, 48,184, 1, 0, 0, 0,211,224, 41,194, 3, 84 /* 0x07e0 */
.byte 36, 44,131,124, 36, 96, 3,137, 84, 36, 12, 15,143,231, 1, 0 /* 0x07f0 */
.byte 0,131, 68, 36, 96, 7,131,250, 3,137,208,126, 5,184, 3, 0 /* 0x0800 */
.byte 0, 0,139,116, 36,120,193,224, 7,199, 68, 36, 36, 6, 0, 0 /* 0x0810 */
.byte 0,141,132, 6, 96, 3, 0, 0,137, 68, 36, 8,184, 1, 0, 0 /* 0x0820 */
.byte 0,141, 44, 0,139,116, 36, 8, 1,238,129,124, 36, 72,255,255 /* 0x0830 */
.byte 255, 0,119, 24, 59, 92, 36, 76, 15,132, 10, 2, 0, 0,193,100 /* 0x0840 */
.byte 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 /* 0x0850 */
.byte 102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 24 /* 0x0860 */
.byte 137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4 /* 0x0870 */
.byte 2,102,137, 6,137,232,235, 21, 41, 68, 36, 72, 41,199,137,208 /* 0x0880 */
.byte 102,193,232, 5,102, 41,194,141, 69, 1,102,137, 22,139,108, 36 /* 0x0890 */
.byte 36, 77,137,108, 36, 36,117,137,141, 80,192,131,250, 3,137, 20 /* 0x08a0 */
.byte 36, 15,142, 39, 1, 0, 0,137,208,137,214,209,248,131,230, 1 /* 0x08b0 */
.byte 141, 72,255,131,206, 2,131,250, 13,137, 76, 36, 32,127, 28,139 /* 0x08c0 */
.byte 108, 36,120,211,230, 1,210,137, 52, 36,141, 68,117, 0, 41,208 /* 0x08d0 */
.byte 5, 94, 5, 0, 0,137, 68, 36, 4,235, 86,141, 80,251,129,124 /* 0x08e0 */
.byte 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132, 86, 1 /* 0x08f0 */
.byte 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199 /* 0x0900 */
.byte 209,108, 36, 72, 1,246, 59,124, 36, 72,114, 7, 43,124, 36, 72 /* 0x0910 */
.byte 131,206, 1, 74,117,200,139, 68, 36,120,193,230, 4,137, 52, 36 /* 0x0920 */
.byte 5, 68, 6, 0, 0,199, 68, 36, 32, 4, 0, 0, 0,137, 68, 36 /* 0x0930 */
.byte 4,199, 68, 36, 28, 1, 0, 0, 0,184, 1, 0, 0, 0,139,108 /* 0x0940 */
.byte 36, 4, 1,192,137, 68, 36, 24, 1,197,129,124, 36, 72,255,255 /* 0x0950 */
.byte 255, 0,119, 24, 59, 92, 36, 76, 15,132,234, 0, 0, 0,193,100 /* 0x0960 */
.byte 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 /* 0x0970 */
.byte 102,139, 85, 0,193,232, 11, 15,183,242, 15,175,198, 57,199,115 /* 0x0980 */
.byte 27,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,193,248, 5,141 /* 0x0990 */
.byte 4, 2,102,137, 69, 0,139, 68, 36, 24,235, 31, 41, 68, 36, 72 /* 0x09a0 */
.byte 41,199,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 24,102 /* 0x09b0 */
.byte 137, 85, 0,139, 84, 36, 28, 64, 9, 20, 36,139, 76, 36, 32,209 /* 0x09c0 */
.byte 100, 36, 28, 73,137, 76, 36, 32, 15,133,112,255,255,255,139, 52 /* 0x09d0 */
.byte 36, 70,137,116, 36, 92,116, 89,139, 76, 36, 12,139,108, 36,116 /* 0x09e0 */
.byte 131,193, 2, 57,108, 36, 92,119, 95,139,132, 36,160, 0, 0, 0 /* 0x09f0 */
.byte 137,234, 43, 68, 36, 92, 3,148, 36,160, 0, 0, 0,141, 52, 40 /* 0x0a00 */
.byte 138, 6, 70,136, 68, 36,115,136, 2, 66,255, 68, 36,116, 73,116 /* 0x0a10 */
.byte 15,139,172, 36,164, 0, 0, 0, 57,108, 36,116,114,226,235, 17 /* 0x0a20 */
.byte 139,132, 36,164, 0, 0, 0, 57, 68, 36,116, 15,130,187,246,255 /* 0x0a30 */
.byte 255,129,124, 36, 72,255,255,255, 0,119, 21, 59, 92, 36, 76,184 /* 0x0a40 */
.byte 1, 0, 0, 0,116, 41,235, 7,184, 1, 0, 0, 0,235, 32, 67 /* 0x0a50 */
.byte 43,156, 36,148, 0, 0, 0, 49,192,139,148, 36,156, 0, 0, 0 /* 0x0a60 */
.byte 139, 76, 36,116,137, 26,139,156, 36,168, 0, 0, 0,137, 11,131 /* 0x0a70 */
.byte 196,124, 91, 94, 95, 93 /* 0x0a80 */

View File

@ -1,169 +0,0 @@
db 85, 87, 86, 83,131,236,124,139,148, 36,144, 0, 0, 0,199, 68 // 0x0000
db 36,116, 0, 0, 0, 0,198, 68, 36,115, 0,139,172, 36,156, 0 // 0x0010
db 0, 0,141, 66, 4,137, 68, 36,120,184, 1, 0, 0, 0, 15,182 // 0x0020
db 74, 2,137,195,211,227,137,217, 73,137, 76, 36,108, 15,182, 74 // 0x0030
db 1,211,224, 72,137, 68, 36,104,139,132, 36,168, 0, 0, 0, 15 // 0x0040
db 182, 50,199, 69, 0, 0, 0, 0, 0,199, 68, 36, 96, 0, 0, 0 // 0x0050
db 0,199, 0, 0, 0, 0, 0,184, 0, 3, 0, 0,137,116, 36,100 // 0x0060
db 199, 68, 36, 92, 1, 0, 0, 0,199, 68, 36, 88, 1, 0, 0, 0 // 0x0070
db 199, 68, 36, 84, 1, 0, 0, 0,199, 68, 36, 80, 1, 0, 0, 0 // 0x0080
db 15,182, 74, 1, 1,241,211,224,141,136, 54, 7, 0, 0, 57, 76 // 0x0090
db 36,116,115, 14,139, 68, 36,120,102,199, 0, 0, 4,131,192, 2 // 0x00a0
db 226,246,139,156, 36,148, 0, 0, 0, 49,255,199, 68, 36, 72,255 // 0x00b0
db 255,255,255,137,218, 3,148, 36,152, 0, 0, 0,137, 84, 36, 76 // 0x00c0
db 49,210, 59, 92, 36, 76, 15,132,124, 9, 0, 0, 15,182, 3,193 // 0x00d0
db 231, 8, 66, 67, 9,199,131,250, 4,126,231,139,140, 36,164, 0 // 0x00e0
db 0, 0, 57, 76, 36,116, 15,131,100, 9, 0, 0,139,116, 36,116 // 0x00f0
db 35,116, 36,108,139, 68, 36, 96,139, 84, 36,120,193,224, 4,137 // 0x0100
db 116, 36, 68, 1,240,129,124, 36, 72,255,255,255, 0,141, 44, 66 // 0x0110
db 119, 24, 59, 92, 36, 76, 15,132, 44, 9, 0, 0,193,100, 36, 72 // 0x0120
db 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139 // 0x0130
db 85, 0,193,232, 11, 15,183,202, 15,175,193, 57,199, 15,131,221 // 0x0140
db 1, 0, 0,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,138, 76 // 0x0150
db 36,100,193,248, 5,190, 1, 0, 0, 0,141, 4, 2, 15,182, 84 // 0x0160
db 36,115,102,137, 69, 0,139, 68, 36,116, 35, 68, 36,104,139,108 // 0x0170
db 36,120,211,224,185, 8, 0, 0, 0, 43, 76, 36,100,211,250, 1 // 0x0180
db 208,105,192, 0, 6, 0, 0,131,124, 36, 96, 6,141,132, 5,108 // 0x0190
db 14, 0, 0,137, 68, 36, 20, 15,142,202, 0, 0, 0,139, 68, 36 // 0x01a0
db 116, 43, 68, 36, 92,139,148, 36,160, 0, 0, 0, 15,182, 4, 2 // 0x01b0
db 137, 68, 36, 64,209,100, 36, 64,139, 76, 36, 64,141, 20, 54,139 // 0x01c0
db 108, 36, 20,129,225, 0, 1, 0, 0,129,124, 36, 72,255,255,255 // 0x01d0
db 0,141, 68, 77, 0,137, 76, 36, 60,141, 44, 16,119, 24, 59, 92 // 0x01e0
db 36, 76, 15,132, 96, 8, 0, 0,193,100, 36, 72, 8, 15,182, 3 // 0x01f0
db 193,231, 8, 67, 9,199,139, 68, 36, 72,102,139,141, 0, 2, 0 // 0x0200
db 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, 35,137, 68 // 0x0210
db 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, 5,131,124 // 0x0220
db 36, 60, 0,141, 4, 1,102,137,133, 0, 2, 0, 0,116, 34,235 // 0x0230
db 46, 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5 // 0x0240
db 102, 41,193,131,124, 36, 60, 0,102,137,141, 0, 2, 0, 0,116 // 0x0250
db 14,129,254,255, 0, 0, 0, 15,142, 87,255,255,255,235,121,129 // 0x0260
db 254,255, 0, 0, 0,127,113,141, 20, 54,139,108, 36, 20, 1,213 // 0x0270
db 129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132 // 0x0280
db 196, 7, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67 // 0x0290
db 9,199,139, 68, 36, 72,102,139, 77, 0,193,232, 11, 15,183,241 // 0x02a0
db 15,175,198, 57,199,115, 25,137, 68, 36, 72,184, 0, 8, 0, 0 // 0x02b0
db 41,240,137,214,193,248, 5,141, 4, 1,102,137, 69, 0,235,159 // 0x02c0
db 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5,102 // 0x02d0
db 41,193,102,137, 77, 0,235,135,139, 84, 36,116,137,240,139,140 // 0x02e0
db 36,160, 0, 0, 0,136, 68, 36,115,136, 4, 10, 66,131,124, 36 // 0x02f0
db 96, 3,137, 84, 36,116,127, 13,199, 68, 36, 96, 0, 0, 0, 0 // 0x0300
db 233, 27, 7, 0, 0,131,124, 36, 96, 9,127, 10,131,108, 36, 96 // 0x0310
db 3,233, 10, 7, 0, 0,131,108, 36, 96, 6,233, 0, 7, 0, 0 // 0x0320
db 139, 76, 36, 72, 41,199,139,116, 36, 96, 41,193,137,208,102,193 // 0x0330
db 232, 5,102, 41,194,129,249,255,255,255, 0,102,137, 85, 0,139 // 0x0340
db 108, 36,120,141,116,117, 0,137,116, 36, 56,119, 22, 59, 92, 36 // 0x0350
db 76, 15,132,241, 6, 0, 0, 15,182, 3,193,231, 8,193,225, 8 // 0x0360
db 67, 9,199,139,108, 36, 56,137,200,193,232, 11,102,139,149,128 // 0x0370
db 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 82,137,198,184 // 0x0380
db 0, 8, 0, 0, 41,232,139,108, 36, 88,193,248, 5,139, 76, 36 // 0x0390
db 84,141, 4, 2,139, 84, 36, 56,137, 76, 36, 80,139, 76, 36,120 // 0x03a0
db 102,137,130,128, 1, 0, 0,139, 68, 36, 92,137,108, 36, 84,137 // 0x03b0
db 68, 36, 88, 49,192,131,124, 36, 96, 6, 15,159,192,129,193,100 // 0x03c0
db 6, 0, 0,141, 4, 64,137, 68, 36, 96,233,116, 2, 0, 0,137 // 0x03d0
db 206, 41,199, 41,198,137,208,102,193,232, 5,139, 76, 36, 56,102 // 0x03e0
db 41,194,129,254,255,255,255, 0,102,137,145,128, 1, 0, 0,119 // 0x03f0
db 22, 59, 92, 36, 76, 15,132, 77, 6, 0, 0, 15,182, 3,193,231 // 0x0400
db 8,193,230, 8, 67, 9,199,139,108, 36, 56,137,242,193,234, 11 // 0x0410
db 102,139,141,152, 1, 0, 0, 15,183,193, 15,175,208, 57,215, 15 // 0x0420
db 131,227, 0, 0, 0,189, 0, 8, 0, 0,137,214, 41,197,199, 68 // 0x0430
db 36, 52, 0, 8, 0, 0,137,232,193,248, 5,141, 4, 1,139, 76 // 0x0440
db 36, 56,102,137,129,152, 1, 0, 0,139, 68, 36, 96,139, 76, 36 // 0x0450
db 68,193,224, 5, 3, 68, 36,120,129,250,255,255,255, 0,141, 44 // 0x0460
db 72,119, 22, 59, 92, 36, 76, 15,132,219, 5, 0, 0, 15,182, 3 // 0x0470
db 193,231, 8,193,230, 8, 67, 9,199,102,139,149,224, 1, 0, 0 // 0x0480
db 137,240,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 96, 41 // 0x0490
db 76, 36, 52,193,124, 36, 52, 5,139,116, 36, 52,137, 68, 36, 72 // 0x04a0
db 131,124, 36,116, 0,141, 4, 50,102,137,133,224, 1, 0, 0, 15 // 0x04b0
db 132,147, 5, 0, 0, 49,192,131,124, 36, 96, 6,139,172, 36,160 // 0x04c0
db 0, 0, 0,139, 84, 36,116, 15,159,192,141, 68, 0, 9,137, 68 // 0x04d0
db 36, 96,139, 68, 36,116, 43, 68, 36, 92,138, 68, 5, 0,136, 68 // 0x04e0
db 36,115,136, 4, 42, 66,137, 84, 36,116,233, 49, 5, 0, 0, 41 // 0x04f0
db 198, 41,199,137,208,102,193,232, 5,102, 41,194,102,137,149,224 // 0x0500
db 1, 0, 0,233, 31, 1, 0, 0,137,200, 41,214,102,193,232, 5 // 0x0510
db 139,108, 36, 56,102, 41,193, 41,215,129,254,255,255,255, 0,102 // 0x0520
db 137,141,152, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, 22, 5 // 0x0530
db 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,139, 76 // 0x0540
db 36, 56,137,240,193,232, 11,102,139,145,176, 1, 0, 0, 15,183 // 0x0550
db 202, 15,175,193, 57,199,115, 35,137,198,184, 0, 8, 0, 0, 41 // 0x0560
db 200,139,108, 36, 56,193,248, 5,141, 4, 2,102,137,133,176, 1 // 0x0570
db 0, 0,139, 68, 36, 88,233,160, 0, 0, 0,137,241, 41,199, 41 // 0x0580
db 193,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56,129,249 // 0x0590
db 255,255,255, 0,102,137,144,176, 1, 0, 0,119, 22, 59, 92, 36 // 0x05a0
db 76, 15,132,161, 4, 0, 0, 15,182, 3,193,231, 8,193,225, 8 // 0x05b0
db 67, 9,199,139,116, 36, 56,137,200,193,232, 11,102,139,150,200 // 0x05c0
db 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 32,137,198,184 // 0x05d0
db 0, 8, 0, 0, 41,232,139,108, 36, 56,193,248, 5,141, 4, 2 // 0x05e0
db 102,137,133,200, 1, 0, 0,139, 68, 36, 84,235, 38,137,206, 41 // 0x05f0
db 199, 41,198,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56 // 0x0600
db 102,137,144,200, 1, 0, 0,139, 84, 36, 84,139, 68, 36, 80,137 // 0x0610
db 84, 36, 80,139, 76, 36, 88,137, 76, 36, 84,139,108, 36, 92,137 // 0x0620
db 68, 36, 92,137,108, 36, 88, 49,192,131,124, 36, 96, 6,139, 76 // 0x0630
db 36,120, 15,159,192,129,193,104, 10, 0, 0,141, 68, 64, 8,137 // 0x0640
db 68, 36, 96,129,254,255,255,255, 0,119, 22, 59, 92, 36, 76, 15 // 0x0650
db 132,243, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9 // 0x0660
db 199,102,139, 17,137,240,193,232, 11, 15,183,234, 15,175,197, 57 // 0x0670
db 199,115, 47,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 // 0x0680
db 36, 68, 4,193,248, 5,199, 68, 36, 44, 0, 0, 0, 0,141, 4 // 0x0690
db 2,102,137, 1,139, 68, 36, 68,141, 76, 1, 4,137, 76, 36, 16 // 0x06a0
db 235,114, 41,198, 41,199,137,208,102,193,232, 5,102, 41,194,129 // 0x06b0
db 254,255,255,255, 0,102,137, 17,119, 22, 59, 92, 36, 76, 15,132 // 0x06c0
db 132, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199 // 0x06d0
db 102,139, 81, 2,137,240,193,232, 11, 15,183,234, 15,175,197, 57 // 0x06e0
db 199,115, 59,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 // 0x06f0
db 36, 68, 4,193,248, 5,199, 68, 36, 44, 8, 0, 0, 0,141, 4 // 0x0700
db 2,139, 84, 36, 68,102,137, 65, 2,141,140, 17, 4, 1, 0, 0 // 0x0710
db 137, 76, 36, 16,199, 68, 36, 48, 3, 0, 0, 0,235, 47, 41,198 // 0x0720
db 41,199,137,208,137,116, 36, 72,102,193,232, 5,199, 68, 36, 44 // 0x0730
db 16, 0, 0, 0,102, 41,194,199, 68, 36, 48, 8, 0, 0, 0,102 // 0x0740
db 137, 81, 2,129,193, 4, 2, 0, 0,137, 76, 36, 16,139, 76, 36 // 0x0750
db 48,186, 1, 0, 0, 0,137, 76, 36, 40,141, 44, 18,139,116, 36 // 0x0760
db 16, 1,238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36 // 0x0770
db 76, 15,132,209, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193 // 0x0780
db 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15 // 0x0790
db 183,202, 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8 // 0x07a0
db 0, 0, 41,200,193,248, 5,141, 4, 2,137,234,102,137, 6,235 // 0x07b0
db 21, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194 // 0x07c0
db 102,137, 22,141, 85, 1,139,116, 36, 40, 78,137,116, 36, 40,117 // 0x07d0
db 137,138, 76, 36, 48,184, 1, 0, 0, 0,211,224, 41,194, 3, 84 // 0x07e0
db 36, 44,131,124, 36, 96, 3,137, 84, 36, 12, 15,143,231, 1, 0 // 0x07f0
db 0,131, 68, 36, 96, 7,131,250, 3,137,208,126, 5,184, 3, 0 // 0x0800
db 0, 0,139,116, 36,120,193,224, 7,199, 68, 36, 36, 6, 0, 0 // 0x0810
db 0,141,132, 6, 96, 3, 0, 0,137, 68, 36, 8,184, 1, 0, 0 // 0x0820
db 0,141, 44, 0,139,116, 36, 8, 1,238,129,124, 36, 72,255,255 // 0x0830
db 255, 0,119, 24, 59, 92, 36, 76, 15,132, 10, 2, 0, 0,193,100 // 0x0840
db 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 // 0x0850
db 102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 24 // 0x0860
db 137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4 // 0x0870
db 2,102,137, 6,137,232,235, 21, 41, 68, 36, 72, 41,199,137,208 // 0x0880
db 102,193,232, 5,102, 41,194,141, 69, 1,102,137, 22,139,108, 36 // 0x0890
db 36, 77,137,108, 36, 36,117,137,141, 80,192,131,250, 3,137, 20 // 0x08a0
db 36, 15,142, 39, 1, 0, 0,137,208,137,214,209,248,131,230, 1 // 0x08b0
db 141, 72,255,131,206, 2,131,250, 13,137, 76, 36, 32,127, 28,139 // 0x08c0
db 108, 36,120,211,230, 1,210,137, 52, 36,141, 68,117, 0, 41,208 // 0x08d0
db 5, 94, 5, 0, 0,137, 68, 36, 4,235, 86,141, 80,251,129,124 // 0x08e0
db 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132, 86, 1 // 0x08f0
db 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199 // 0x0900
db 209,108, 36, 72, 1,246, 59,124, 36, 72,114, 7, 43,124, 36, 72 // 0x0910
db 131,206, 1, 74,117,200,139, 68, 36,120,193,230, 4,137, 52, 36 // 0x0920
db 5, 68, 6, 0, 0,199, 68, 36, 32, 4, 0, 0, 0,137, 68, 36 // 0x0930
db 4,199, 68, 36, 28, 1, 0, 0, 0,184, 1, 0, 0, 0,139,108 // 0x0940
db 36, 4, 1,192,137, 68, 36, 24, 1,197,129,124, 36, 72,255,255 // 0x0950
db 255, 0,119, 24, 59, 92, 36, 76, 15,132,234, 0, 0, 0,193,100 // 0x0960
db 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 // 0x0970
db 102,139, 85, 0,193,232, 11, 15,183,242, 15,175,198, 57,199,115 // 0x0980
db 27,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,193,248, 5,141 // 0x0990
db 4, 2,102,137, 69, 0,139, 68, 36, 24,235, 31, 41, 68, 36, 72 // 0x09a0
db 41,199,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 24,102 // 0x09b0
db 137, 85, 0,139, 84, 36, 28, 64, 9, 20, 36,139, 76, 36, 32,209 // 0x09c0
db 100, 36, 28, 73,137, 76, 36, 32, 15,133,112,255,255,255,139, 52 // 0x09d0
db 36, 70,137,116, 36, 92,116, 89,139, 76, 36, 12,139,108, 36,116 // 0x09e0
db 131,193, 2, 57,108, 36, 92,119, 95,139,132, 36,160, 0, 0, 0 // 0x09f0
db 137,234, 43, 68, 36, 92, 3,148, 36,160, 0, 0, 0,141, 52, 40 // 0x0a00
db 138, 6, 70,136, 68, 36,115,136, 2, 66,255, 68, 36,116, 73,116 // 0x0a10
db 15,139,172, 36,164, 0, 0, 0, 57,108, 36,116,114,226,235, 17 // 0x0a20
db 139,132, 36,164, 0, 0, 0, 57, 68, 36,116, 15,130,187,246,255 // 0x0a30
db 255,129,124, 36, 72,255,255,255, 0,119, 21, 59, 92, 36, 76,184 // 0x0a40
db 1, 0, 0, 0,116, 41,235, 7,184, 1, 0, 0, 0,235, 32, 67 // 0x0a50
db 43,156, 36,148, 0, 0, 0, 49,192,139,148, 36,156, 0, 0, 0 // 0x0a60
db 139, 76, 36,116,137, 26,139,156, 36,168, 0, 0, 0,137, 11,131 // 0x0a70
db 196,124, 91, 94, 95, 93 // 0x0a80

View File

@ -1,617 +0,0 @@
/*
; macros.ash --
;
; This file is part of the UPX executable compressor.
;
; Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
; Copyright (C) 1996-2006 Laszlo Molnar
; All Rights Reserved.
;
; UPX and the UCL library are free software; you can redistribute them
; and/or modify them under the terms of the GNU General Public License as
; published by the Free Software Foundation; either version 2 of
; the License, or (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program; see the file COPYING.
; If not, write to the Free Software Foundation, Inc.,
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
;
; Markus F.X.J. Oberhumer Laszlo Molnar
; <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
;
*/
.code32
.intel_syntax noprefix
.macro section name
.section \name
.code32
.endm
.macro CPU id
.ifc \id, 386
//.arch i386, nojumps
.endif
.ifc \id, 486
.arch i486, nojumps
.endif
.endm
.macro jmps target
.byte 0xeb, \target - . - 1
.endm
.macro jos target
.byte 0x70, \target - . - 1
.endm
.macro jnos target
.byte 0x71, \target - . - 1
.endm
.macro jcs target
.byte 0x72, \target - . - 1
.endm
.macro jncs target
.byte 0x73, \target - . - 1
.endm
.macro jzs target
.byte 0x74, \target - . - 1
.endm
.macro jnzs target
.byte 0x75, \target - . - 1
.endm
.macro jnas target
.byte 0x76, \target - . - 1
.endm
.macro jas target
.byte 0x77, \target - . - 1
.endm
.macro jss target
.byte 0x78, \target - . - 1
.endm
.macro jnss target
.byte 0x79, \target - . - 1
.endm
.macro jps target
.byte 0x7a, \target - . - 1
.endm
.macro jnps target
.byte 0x7b, \target - . - 1
.endm
.macro jls target
.byte 0x7c, \target - . - 1
.endm
.macro jnls target
.byte 0x7d, \target - . - 1
.endm
.macro jngs target
.byte 0x7e, \target - . - 1
.endm
.macro jgs target
.byte 0x7f, \target - . - 1
.endm
#define jes jzs
#define jnes jnzs
#define jbes jnas
/*
;; =============
;; ============= 32-BIT CALLTRICK & JUMPTRICK
;; =============
;; call & jump trick : 2 in 1
*/
.macro cjt32 addvalue
section CALLTR00
mov ecx, offset filter_length
calltrickloop:
mov al, [edi]
inc edi
sub al, 0xE8
ct1:
cmp al, 1
ja calltrickloop
section CTCLEVE1
cmpb [edi], offset filter_cto
jnzs calltrickloop
section CALLTR01
mov eax, [edi]
mov bl, [edi + 4]
section CTBSHR01
shr ax, 8
section CTBROR01
xchg ah, al
section CTBSWA01
rol eax, 16
xchg ah, al
section CALLTR02
sub eax, edi
sub bl, 0xE8
.ifnc \addvalue, 0
add eax, \addvalue
.endif
mov [edi], eax
add edi, 5
mov al, bl
loop ct1
section CALLTR10
//;; 32-bit call XOR jump trick
mov ecx, offset filter_length
ctloop1:
section CALLTRE8
mov al,0xE8
section CALLTRE9
mov al,0xE9
section CALLTR11
ctloop2:
repnz
scasb
jnzs ctend
section CTCLEVE2
cmpb [edi], offset filter_cto
jnzs ctloop2
section CALLTR12
mov eax, [edi]
section CTBSHR11
shr ax, 8
section CTBROR11
xchg ah, al
section CTBSWA11
rol eax, 16
xchg ah, al
section CALLTR13
sub eax, edi
.ifnc \addvalue, 0
add eax, \addvalue
.endif
stosd
jmps ctloop1
ctend:
.endm
/*
;; call/jump/jcc trick; also used more than once (and/or optionally), so
;; ecx has byte count (not count of applied instances), and
;; edi points to buffer.
*/
.macro ckt32 addvalue, cto8
// 1st param: effective addvalue (typically 0 or edi; any rvalue)
// 2nd param: where is cto8 (dl, bl, or literal)
section CKLLTR00
.ifnc \addvalue, 0
mov esi, \addvalue
.endif
jmps ckstart
ckloop3:
mov al, [edi]
add edi, 1
section CKLLTR10 // Jcc only
cmp al, 0x80 // lo of 6-byte Jcc
jb ckloop2
cmp al, 0x8f // hi of 6-byte Jcc
ja ckloop2
cmpb [edi -2], 0x0F // prefix of 6-byte Jcc
jes ckmark
ckloop2:
section CKLLTR20
sub al, 0xE8
cmp al, 0xE9 - 0xE8
jas ckcount
ckmark:
cmp [edi], \cto8
jnzs ckcount
mov eax, [edi]
shr ax, 8
rol eax, 16
xchg ah, al
// above 3 instr are equivalent to the following 2 instr:
// mov al, 0 ; clear cto8 [setup partial-write stall]
// bswap eax ; not on 386: need 486 and up
sub eax, edi
.ifnc \addvalue, 0
add eax, esi
.endif
mov [edi], eax
add edi, 4
ckstart:
sub ecx, 4
section CKLLTR30 // Jcc only
mov al, [edi]
add edi, 1
loop ckloop2 // prefix cannot overlap previous displacement
section CKLLTR40
ckcount:
sub ecx, 1
jgs ckloop3
ckend:
.endm
// =============
// ============= 32-BIT RELOCATIONS
// =============
.macro reloc32 buffer, destination, addvalue
section RELOC320
reloc_main:
xor eax, eax
mov al, [\buffer]
inc \buffer
or eax, eax
jzs reloc_endx
cmp al, 0xEF
ja reloc_fx
reloc_add:
add \destination, eax
#if 1
mov eax, [\destination]
xchg ah, al
rol eax, 16
xchg ah, al
add eax, \addvalue
mov [\destination], eax
#else
add [\destination], \addvalue
#endif
jmps reloc_main
reloc_fx:
and al, 0x0F
shl eax, 16
mov ax, [\buffer]
add \buffer, 2
section REL32BIG
or eax, eax
jnzs reloc_add
mov eax, [\buffer]
add \buffer, 4
section RELOC32J
jmps reloc_add
reloc_endx:
section REL32END
.endm
/*
;; =============
;; ============= 32-BIT CALL TRICK UNFILTER WITH MostRecentlyUsed BUFFER
;; =============
;;;; names of pseudo-sections for addLoader:
;; LXUNFnnn Linux unfilter
;; LXMRUnnn MostRecentlyUsed recoding of destinations
;; MRUARBnn arbitrary number of entries in wheel
;; MRUBITSn power of 2 entries in wheel (smaller code)
;; MRUBYTEn 256 entries in wheel (smallest code)
*/
/*
;; I got confused by the syntactic sugar of the fake %ifdefs.
;; I can read the section name more easily when it is at the left margin.
;; Also, some of the logic to select the sections is not that simple,
;; and any mismatch between the logic and the %ifdefs is very confusing.
;; Instead, I use comments after the section name, and blank lines for grouping.
*/
.macro ctojr32
section LXUNF000 // enter at +0 for decompression; +2 for unfiltering
jmps decompr0
section LXUNF002
// 2+ address of decompress subroutine
// unfilter(upx_byte *, length, cto8)
lxunfilter:
pop edx // return address
pop eax // upx_byte *, same as addvalue
pop ecx // length
xchg eax, edi // edi= pointer; eax= saved_edi
pusha // save C-convention ebx, ebp, esi, edi; also eax, edx
// at most one of the next 2
section MRUBYTE0 // 256==n_mru
xor ebx, ebx // zero
section LXMRU005 // 0!=n_mru
mov ebx, offset NMRU // modified N_MRU or N_MRU -1
section LXMRU006 // 0!=n_mru
push 0x0f // prefix of 6-byte Jcc <d32>
pop eax
mov ah, [esp + 8*4] // cto8
section LXMRU007 // 0==n_mru
push 0x0f // prefix of 6-byte Jcc <d32>
pop ebx
mov bh, [esp + 8*4] // cto8
section LXUNF008
mov dl, [esp + 8*4] // cto8
section LXUNF010
jmp lxunf0
decompr0:
// These #define are only if 0!=n_mru;
// else 0x0F==bl && cto8==bh==dh && 0xE8==dl && addvalue==esi .
#define __n_mru [esi]
#define __n_mru1 [esi]
#define __tail [esi + 4*1]
#define __cto8_e8e9 [esi + 4*2]
#define __cto8_0f [esi + 4*3]
#define __addvalue [esi + 4*4]
#define __tmp ebp
#define __hand ebx
#define __hand_l bl
#define __kh edx
#define __kh_l dl
section LXJCC010
lxunf2: // have seen 0x80..0x8f of possible recoded 6-byte Jcc <d32>
movzxw ebp, [edi] // 2 bytes, zero-extended
section LXMRU045 // 0!=n_mru
sub ebp, __cto8_0f
section LXMRU046 // 0==n_mru
sub ebp, ebx
section LXJCC020 // 0==n_mru, or Jcc excluded ('sub' of equals clears Carry)
jne unfcount
section LXJCC021 // 0!=n_mru and Jcc participates// must set Carry
sub ebp, 1 // set Carry iff in range
jnb unfcount
section LXJCC023 // found Jcc// re-swap 0x8Y opcode and 0x0f prefix
mov [edi -1], bl // 0x0f prefix
dec ecx // preserve Carry
mov [edi], al // Jcc opcode
inc edi // preserve Carry
section LXUNF037
#define __jc eax
lxunf: // in: Carry set iff we should apply mru and 0!=n_mru
mov eax, [edi] // BE32 displacement with cto8 in low 8 bits
section LXUNF386 // 0!=n_mru && 386
pushf
section LXUNF387 // ==386
shr ax, 8
rol eax, 16
xchg ah, al
section LXUNF388 // 0!=n_mru && 386
popf
jncs unf_store // do not apply mru
section LXUNF486 // >=486
mov al, 0
CPU 486
bswap eax // preserve Carry (2-byte instruction)
CPU 386
section LXUNF487 // 0!=n_mru && >=486
jncs unf_store // do not apply mru
section LXMRU065 // 0!=n_mru
shr __jc, 1 // eax= jc, or mru index
jnc mru4 // not 1st time for this jc
section MRUBYTE3
dec __hand_l
section MRUARB30
dec __hand
section MRUBITS3
and __hand, __n_mru1
section MRUARB40
jge mru3
add __hand, __n_mru
mru3:
section LXMRU070
mov [esp + 4*__hand], __jc // 1st time: mru[hand] = jc
jmps unf_store
mru4: // not 1st time for this jc
lea __kh, [__jc + __hand] // kh = jc + hand
section MRUBYTE4
movzx __kh, __kh_l
section MRUBITS4
and __kh, __n_mru1
section MRUARB50
cmp __kh, __n_mru
jb mru5
sub __kh, __n_mru
mru5:
section LXMRU080
mov __jc, [esp + 4*__kh] // jc = mru[kh]
section MRUBYTE5
dec __hand_l
section MRUARB60
dec __hand
section MRUBITS5
and __hand, __n_mru1
section MRUARB70
jge mru6
add __hand, __n_mru
mru6:
section LXMRU090
mov __tmp, [esp + 4*__hand] // tmp = mru[hand]
test __tmp,__tmp
jnzs mru8
push __jc // ran out of registers
mov eax, __tail
section MRUBYTE6
dec al
section MRUARB80
dec eax
section MRUBITS6
and eax, __n_mru1
section MRUARB90
jge mru7
add eax, __n_mru
mru7:
section LXMRU100
xor __tmp,__tmp
mov __tail, eax
xchg [4+ esp + 4*eax], __tmp // tmp = mru[tail]; mru[tail] = 0
pop __jc
mru8:
mov [esp + 4*__kh ], __tmp // mru[kh] = tmp
mov [esp + 4*__hand], __jc // mru[hand] = jc
section LXUNF040
unf_store:
sub eax, edi
sub ecx, 4
// one of the next2
section LXMRU110 // 0!=n_mru
add eax, __addvalue
section LXMRU111 // 0==n_mru
add eax, esi // addvalue (same as initial pointer)
section LXUNF041
mov [edi], eax
add edi, 4
jmps unfcount
section LXUNF042
lxunf0: // continuation of entry prolog for unfilter
section LEXEC016 // bug in APP: jmp and label must be in same .asx/.asy
jmp lxunf0 // this instr does not really go here!
section LXMRU010 // 0!=n_mru
push eax // cto8_0f
section LXJMPA00 // only JMP, and not CALL, is filtered
mov al, 0xE9
section LXCALLB0 // only CALL, or both CALL and JMP are filtered
mov al, 0xE8
section LXUNF021 // common tail
push eax // cto8_e8e9
push 0 // tail
push ebx // n_mru or n_mru1
mov esi, esp // flat model "[esi]" saves a byte over "[ebp]"
section LXMRU022 // 0==n_mru
pop esi // addvalue
mov edx, ebx // dh= cto8
section LXJMPA01 // only JMP, and not CALL, is filtered
mov dl, 0xE9
section LXCALLB1 // only CALL, or both CALL and JMP are filtered
mov dl, 0xE8
section MRUBITS1
inc __hand // n_mru1 ==> n_mru
section LXMRU030
lxunf1: // allocate and clear mru[]
push 0
// one of the next 2, if n_mru
section MRUBYTE1
dec __hand_l
section MRUARB10
dec __hand
section LXMRU040 // 0!=n_mru
jnzs lxunf1 // leaves 0=='hand'
section LXUNF030
lxctloop:
movzxw eax, [edi] // 2 bytes, zero extended
add edi, 1
section LXJCC000
cmp al, 0x80 // lo of Jcc <d32>
jb lxct1
cmp al, 0x8f // hi of Jcc <d32>
jbes lxunf2
lxct1:
section LXCJ0MRU // 0==n_mru
sub eax, edx
section LXCJ1MRU // 0!=n_mru
sub eax, __cto8_e8e9
// both CALL and JMP are filtered
section LXCALJMP
sub eax, 1+ (0xE9 - 0xE8) // set Carry iff in range (result: -2, -1)
// only CALL, or only JMP, is filtered
section LXCALL00 // 0==n_mru
je lxunf
section LXCALL01 // 0!=n_rmu
sub eax, 1 // set Carry iff in range
section LXCJ2MRU // 0==n_mru, or apply mru to all that are filtered here
jb lxunf // only Carry (Borrow) matters
section LXCJ4MRU // 0!=n_mru, but apply mru only to subset of filtered here
jnb unfcount // was not filtered anyway: do not unfilter
//we will unfilter, and 0!=n_mru, but should we apply mru?
section LXCJ6MRU // apply mru to JMP only (0xFF==al)
jpe lxct3 // jump if even number of 1 bits in al
section LXCJ7MRU // apply mru to CALL only (0xFE==al)
jpo lxct3 // jump if odd number of 1 bits in al
section LXCJ8MRU // do not apply mru to one or both
clc
lxct3:
jmps lxunf
section LXUNF034
unfcount:
sub ecx, 1
jgs lxctloop
section LXMRU055
mov edi, esp // clear mru[] portion of stack
section MRUBYTE2
mov ecx, 4+ 256 // unused, tail, cto8_e8e9, cto8_0f
section MRUBITS2
mov ecx, __n_mru1
add ecx, 1+ 4 // n_mru1, tail, cto8_e8e9, cto8_0f
section MRUARB20
mov ecx, __n_mru
add ecx, 4 // n_mru, tail, cto8_e8e9, cto8_0f
section LXMRU057
xor eax, eax
rep
stosd
mov esp, edi
section LXMRU058 // 0==n_mru
push esi
section LXUNF035
popa
xchg eax, edi
push ecx
push eax
push edx
ret
.endm
// vi:ts=8:et:nowrap

View File

@ -332,7 +332,7 @@ ONAM: .long start_of_dll_names
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#include "include/header2.ash"
#include "include/header.S"
section .ucl_nrv2e_decompress_8

View File

@ -281,7 +281,7 @@ section ProcessEnd
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#include "include/header2.ash"
#include "include/header.S"
#define PURE_THUMB 1

View File

@ -65,7 +65,7 @@ section COMCALLT
section COMMAIN2
jmp decomp_start_n2b
#include "include/header2.ash"
#include "include/header.S"
section COMCUTPO

View File

@ -112,7 +112,7 @@ section EXEMAIN4
push bp
lret
#include "include/header2.ash"
#include "include/header.S"
section EXECUTPO
@ -219,4 +219,6 @@ section EXERETIP
push ax
lret
/* vi:ts=8:et:nowrap */
/*
vi:ts=8:et:nowrap
*/

View File

@ -86,7 +86,7 @@ section SYSCALLT
section SYSMAIN3
jmp decomp_start_n2b
#include "include/header2.ash"
#include "include/header.S"
section SYSCUTPO

View File

@ -30,9 +30,8 @@
; <jreiser@users.sourceforge.net>
;
*/
#include "arch/i386/macros2.ash"
// CPU 386
#include "arch/i386/macros.S"
// CPU 386
@ -95,11 +94,10 @@ section LEXEC010
or ebp, -1
// align 8
#include "arch/i386/nrv2b_d32_2.ash"
#include "arch/i386/nrv2d_d32_2.ash"
#include "arch/i386/nrv2e_d32_2.ash"
#define db .byte
#include "arch/i386/lzma_d_2.ash"
#include "arch/i386/nrv2b_d32.S"
#include "arch/i386/nrv2d_d32.S"
#include "arch/i386/nrv2e_d32.S"
#include "arch/i386/lzma_d.S"
cjt32 0
section LEXEC015

View File

@ -28,7 +28,7 @@
; <jreiser@users.sourceforge.net>
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
// CPU 386

View File

@ -27,7 +27,7 @@
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
CPU 386
@ -63,11 +63,10 @@ section LZMA_INIT_STACK
; =============
*/
#include "arch/i386/nrv2b_d32_2.ash"
#include "arch/i386/nrv2d_d32_2.ash"
#include "arch/i386/nrv2e_d32_2.ash"
#define db .byte
#include "arch/i386/lzma_d_2.ash"
#include "arch/i386/nrv2b_d32.S"
#include "arch/i386/nrv2d_d32.S"
#include "arch/i386/nrv2e_d32.S"
#include "arch/i386/lzma_d.S"
section LZMA_DONE_STACK
mov ss, [eax] // eax is always 0 here
@ -92,6 +91,6 @@ section DJRETURN
; so the header section should be 4 byte aligned
*/
#include "include/header2.ash"
#include "include/header.S"
// vi:ts=8:et:nowrap

View File

@ -27,7 +27,7 @@
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
CPU 386
@ -57,7 +57,7 @@ section TMTCALT1
section TMTMAIN2
jmp decompressor
#include "include/header2.ash"
#include "include/header.S"
section TMTCUTPO
decompressor:
@ -66,10 +66,10 @@ decompressor:
// ============= DECOMPRESSION
// =============
#include "arch/i386/nrv2b_d32_2.ash"
#include "arch/i386/nrv2d_d32_2.ash"
#include "arch/i386/nrv2e_d32_2.ash"
#include "arch/i386/lzma_d_2.ash"
#include "arch/i386/nrv2b_d32.S"
#include "arch/i386/nrv2d_d32.S"
#include "arch/i386/nrv2e_d32.S"
#include "arch/i386/lzma_d.S"
section TMTMAIN5
pop ebp

View File

@ -27,7 +27,7 @@
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
CPU 386
@ -62,7 +62,7 @@ section WCLEMAIN
push edi
jmp decompressor
#include "include/header2.ash"
#include "include/header.S"
section WCLECUTP
decompressor:
@ -71,10 +71,10 @@ decompressor:
// ============= DECOMPRESSION
// =============
#include "arch/i386/nrv2b_d32_2.ash"
#include "arch/i386/nrv2d_d32_2.ash"
#include "arch/i386/nrv2e_d32_2.ash"
#include "arch/i386/lzma_d_2.ash"
#include "arch/i386/nrv2b_d32.S"
#include "arch/i386/nrv2d_d32.S"
#include "arch/i386/nrv2e_d32.S"
#include "arch/i386/lzma_d.S"
// =============

View File

@ -30,7 +30,7 @@
; <jreiser@users.sourceforge.net>
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
// CPU 386
@ -96,11 +96,10 @@ section LEXEC010
or ebp, -1
//;; align 8
#include "arch/i386/nrv2b_d32_2.ash"
#include "arch/i386/nrv2d_d32_2.ash"
#include "arch/i386/nrv2e_d32_2.ash"
#define db .byte
#include "arch/i386/lzma_d_2.ash"
#include "arch/i386/nrv2b_d32.S"
#include "arch/i386/nrv2d_d32.S"
#include "arch/i386/nrv2e_d32.S"
#include "arch/i386/lzma_d.S"
cjt32 0
section LEXEC015

View File

@ -28,7 +28,7 @@
; <jreiser@users.sourceforge.net>
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
// CPU 386

View File

@ -30,7 +30,7 @@
; <jreiser@users.sourceforge.net>
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
// CPU 386
@ -104,11 +104,10 @@ section LEXEC010
or ebp, byte -1
// align 8
#include "arch/i386/nrv2b_d32_2.ash"
#include "arch/i386/nrv2d_d32_2.ash"
#include "arch/i386/nrv2e_d32_2.ash"
#define db .byte
#include "arch/i386/lzma_d_2.ash"
#include "arch/i386/nrv2b_d32.S"
#include "arch/i386/nrv2d_d32.S"
#include "arch/i386/nrv2e_d32.S"
#include "arch/i386/lzma_d.S"
cjt32 0
section LEXEC015

View File

@ -28,7 +28,7 @@
; <jreiser@users.sourceforge.net>
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
// CPU 386

View File

@ -1,2 +1,2 @@
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
#include "arch/i386/upx_itoa.S"

View File

@ -30,7 +30,7 @@
; <jreiser@users.sourceforge.net>
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
// CPU 386
@ -123,12 +123,11 @@ section LXPTI050
mov edi, OUTP
// align 8
#include "arch/i386/nrv2b_d32_2.ash"
#include "arch/i386/nrv2d_d32_2.ash"
#include "arch/i386/nrv2e_d32_2.ash"
#include "arch/i386/cl1_d32_2.ash"
#define db .byte
#include "arch/i386/lzma_d_2.ash"
#include "arch/i386/nrv2b_d32.S"
#include "arch/i386/nrv2d_d32.S"
#include "arch/i386/nrv2e_d32.S"
#include "arch/i386/cl1_d32.S"
#include "arch/i386/lzma_d.S"
section LXPTI090
jmp exp_done
section LXPTI091

View File

@ -28,7 +28,7 @@
; <jreiser@users.sourceforge.net>
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
// CPU 386

View File

@ -30,7 +30,7 @@
; <jreiser@users.sourceforge.net>
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
// CPU 386
@ -84,12 +84,11 @@ section LEXEC010
or ebp, -1
// .balign 8
#include "arch/i386/nrv2b_d32_2.ash"
#include "arch/i386/nrv2d_d32_2.ash"
#include "arch/i386/nrv2e_d32_2.ash"
#include "arch/i386/cl1_d32_2.ash"
#define db .byte
#include "arch/i386/lzma_d_2.ash"
#include "arch/i386/nrv2b_d32.S"
#include "arch/i386/nrv2d_d32.S"
#include "arch/i386/nrv2e_d32.S"
#include "arch/i386/cl1_d32.S"
#include "arch/i386/lzma_d.S"
cjt32 0
section LEXEC015

View File

@ -30,7 +30,7 @@
; <jreiser@users.sourceforge.net>
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
// CPU 386

View File

@ -30,7 +30,7 @@
; <jreiser@users.sourceforge.net>
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
/*
; =============
@ -67,11 +67,10 @@ section LXMOVEUP
// ============= DECOMPRESSION
// =============
#include "arch/i386/nrv2b_d32_2.ash"
#include "arch/i386/nrv2d_d32_2.ash"
#include "arch/i386/nrv2e_d32_2.ash"
#define db .byte
#include "arch/i386/lzma_d_2.ash"
#include "arch/i386/nrv2b_d32.S"
#include "arch/i386/nrv2d_d32.S"
#include "arch/i386/nrv2e_d32.S"
#include "arch/i386/lzma_d.S"
// =============
// ============= UNFILTER
@ -135,6 +134,6 @@ move_up:
or ebp, -1 // decompressor assumption
jmp eax // enter moved decompressor
#include "include/header2.ash"
#include "include/header.S"
// vi:ts=8:et:nowrap

View File

@ -27,8 +27,7 @@
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
// =============
// ============= ENTRY POINT
@ -124,11 +123,10 @@ section LZCUTPOI
// ============= DECOMPRESSION
// =============
#include "arch/i386/nrv2b_d32_2.ash"
#include "arch/i386/nrv2d_d32_2.ash"
#include "arch/i386/nrv2e_d32_2.ash"
#define db .byte
#include "arch/i386/lzma_d_2.ash"
#include "arch/i386/nrv2b_d32.S"
#include "arch/i386/nrv2d_d32.S"
#include "arch/i386/nrv2e_d32.S"
#include "arch/i386/lzma_d.S"
// =============
// ============= UNFILTER
@ -158,6 +156,6 @@ section LINUZ990
xor ebx, ebx // booting the 1st cpu
lret // MATCH00 set cs
#include "include/header2.ash"
#include "include/header.S"
// vi:ts=8:et:nowrap

View File

@ -28,7 +28,7 @@
; <jreiser@users.sourceforge.net>
;
*/
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
#define PAGE_SIZE ( 1<<12)
#define szElf32_Ehdr 0x34

View File

@ -28,7 +28,7 @@
*/
#define UPX102 1
#include "arch/i386/macros2.ash"
#include "arch/i386/macros.S"
CPU 386
@ -57,11 +57,10 @@ section PEMAIN02
// ============= DECOMPRESSION
// =============
#include "arch/i386/nrv2b_d32_2.ash"
#include "arch/i386/nrv2d_d32_2.ash"
#include "arch/i386/nrv2e_d32_2.ash"
#define db .byte
#include "arch/i386/lzma_d_2.ash"
#include "arch/i386/nrv2b_d32.S"
#include "arch/i386/nrv2d_d32.S"
#include "arch/i386/nrv2e_d32.S"
#include "arch/i386/lzma_d.S"
// =============
section PEMAIN10
@ -249,6 +248,6 @@ section PEDOJUMP
// ============= CUT HERE
// =============
#include "include/header2.ash"
#include "include/header.S"
// vi:ts=8:et:nowrap

View File

@ -1,66 +0,0 @@
; header.ash --
;
; This file is part of the UPX executable compressor.
;
; Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
; Copyright (C) 1996-2006 Laszlo Molnar
; All Rights Reserved.
;
; UPX and the UCL library are free software; you can redistribute them
; and/or modify them under the terms of the GNU General Public License as
; published by the Free Software Foundation; either version 2 of
; the License, or (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program; see the file COPYING.
; If not, write to the Free Software Foundation, Inc.,
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
;
; Markus F.X.J. Oberhumer Laszlo Molnar
; <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
;
; ------------- HEADER ------------- ; __UPX1HEAD__
db 85,80,88,33 ; 0 UPX_MAGIC_LE32
%if 0
db 0 ; 4 version
db 0 ; 5 format
db 0 ; 6 compression method
db 0 ; 7 compression level
%else
; another magic for PackHeader::putPackHeader
db 161,216,208,213 ; UPX_MAGIC2_LE32
%endif
dd 0 ; 8 uncompressed adler32
dd 0 ; 12 compressed adler32
%ifdef COM
dw 0 ; 16 uncompressed len
dw 0 ; 18 compressed len
db 0 ; 20 filter
db 45 ; 21 header checksum
%elifdef EXE
db 0,0,0 ; 16 uncompressed len
db 0,0,0 ; 19 compressed len
db 0,0,0 ; 22 original file size
db 0 ; 25 filter
db 45 ; 26 header checksum
%else
dd 0 ; 16 uncompressed len
dd 0 ; 20 compressed len
dd 0 ; 24 original file size
db 0 ; 28 filter id
db 0 ; 29 filter cto
db 0 ; unused
db 45 ; 31 header checksum
%endif
; vi:ts=8:et:nowrap

View File

@ -1,37 +0,0 @@
; ident.ash --
;
; This file is part of the UPX executable compressor.
;
; Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
; Copyright (C) 1996-2006 Laszlo Molnar
; All Rights Reserved.
;
; UPX and the UCL library are free software; you can redistribute them
; and/or modify them under the terms of the GNU General Public License as
; published by the Free Software Foundation; either version 2 of
; the License, or (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program; see the file COPYING.
; If not, write to the Free Software Foundation, Inc.,
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
;
; Markus F.X.J. Oberhumer Laszlo Molnar
; <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
;
; ------------- COPYRIGHT -------------
%ifdef __IDENTSMA__
%include "ident_s.ash"
%else; __IDENTBIG__
%include "ident_n.ash"
%endif; __IDENTEND__
; vi:ts=8:et:nowrap

View File

@ -1,42 +0,0 @@
; ident_n.ash --
;
; This file is part of the UPX executable compressor.
;
; Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
; Copyright (C) 1996-2006 Laszlo Molnar
; All Rights Reserved.
;
; UPX and the UCL library are free software; you can redistribute them
; and/or modify them under the terms of the GNU General Public License as
; published by the Free Software Foundation; either version 2 of
; the License, or (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program; see the file COPYING.
; If not, write to the Free Software Foundation, Inc.,
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
;
; Markus F.X.J. Oberhumer Laszlo Molnar
; <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
;
; ------------- COPYRIGHT -------------
db 10,0
db '$Info: '
db 'This file is packed with the UPX executable packer '
db 'http://upx.sf.net $'
db 10,0
db '$Id: UPX '
db 'UPXV'
db ' Copyright (C) 1996-UPXY the UPX Team. All Rights Reserved. $'
db 10,0
; vi:ts=8:et:nowrap

View File

@ -1,37 +0,0 @@
; ident_s.ash --
;
; This file is part of the UPX executable compressor.
;
; Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
; Copyright (C) 1996-2006 Laszlo Molnar
; All Rights Reserved.
;
; UPX and the UCL library are free software; you can redistribute them
; and/or modify them under the terms of the GNU General Public License as
; published by the Free Software Foundation; either version 2 of
; the License, or (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program; see the file COPYING.
; If not, write to the Free Software Foundation, Inc.,
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
;
; Markus F.X.J. Oberhumer Laszlo Molnar
; <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
;
; ------------- COPYRIGHT -------------
db 10
db '$Id: UPX (C) 1996-UPXY the UPX Team. '
db 'All Rights Reserved. http://upx.sf.net $'
db 10,0
; vi:ts=8:et:nowrap

View File

@ -457,15 +457,15 @@ clear_bss_end:
#if 0
#if defined(SMALL)
# include "include/ident_s.ash"
//# include "include/ident_s.ash"
#else
# include "include/ident_n.ash"
//# include "include/ident_n.ash"
#endif
#endif
// align4
#include "include/header2.ash"
#include "include/header.S"
// end of text segment - size is a multiple of 4

View File

@ -284,7 +284,7 @@ decomp_done:
#include "arch/mips/mipsel.r3000/lzma_d.S"
#include "include/header2.ash"
#include "include/header.S"
// vi:ts=8:et:nowrap