From ef373ab54f148c24cbca128421a7cc34d0550698 Mon Sep 17 00:00:00 2001 From: John Reiser Date: Mon, 7 May 2007 19:20:25 -0700 Subject: [PATCH] mipsel hacking --- src/stub/mipsel.r3000-linux.elf-entry.h | 370 +++++++++--------- src/stub/mipsel.r3000-linux.elf-fold.h | 259 ++++++------ src/stub/src/mipsel.r3000-linux.elf-entry.S | 3 +- src/stub/src/mipsel.r3000-linux.elf-fold.S | 196 +++++----- .../tmp/mipsel.r3000-linux.elf-entry.bin.dump | 2 +- 5 files changed, 419 insertions(+), 411 deletions(-) diff --git a/src/stub/mipsel.r3000-linux.elf-entry.h b/src/stub/mipsel.r3000-linux.elf-entry.h index a09f43d5..98ae6b37 100644 --- a/src/stub/mipsel.r3000-linux.elf-entry.h +++ b/src/stub/mipsel.r3000-linux.elf-entry.h @@ -1,5 +1,5 @@ /* mipsel.r3000-linux.elf-entry.h - created from mipsel.r3000-linux.elf-entry.bin, 10216 (0x27e8) bytes + created from mipsel.r3000-linux.elf-entry.bin, 10220 (0x27ec) bytes This file is part of the UPX executable compressor. @@ -28,17 +28,17 @@ */ -#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_SIZE 10216 -#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_ADLER32 0xb1c380ad -#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_CRC32 0x3fda15e1 +#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_SIZE 10220 +#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_ADLER32 0xd3ac8419 +#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_CRC32 0x745aa8c4 -unsigned char stub_mipsel_r3000_linux_elf_entry[10216] = { +unsigned char stub_mipsel_r3000_linux_elf_entry[10220] = { 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */ 1, 0, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 10 */ -232, 29, 0, 0, 1, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, /* 0x 20 */ +236, 29, 0, 0, 1, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, /* 0x 20 */ 20, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 30 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 40 */ - 0, 0, 0, 0, 13, 0, 0, 0, 43, 0, 17, 4, 0, 0,247, 39, /* 0x 50 */ + 0, 0, 0, 0, 13, 0, 0, 0, 44, 0, 17, 4, 0, 0,247, 39, /* 0x 50 */ 0,128, 13, 60, 33, 72,160, 1, 1, 0, 11, 36,194,119, 9, 0, /* 0x 60 */ 7, 0,169, 21, 64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, /* 0x 70 */ 4, 0,165, 36,194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, /* 0x 80 */ @@ -133,7 +133,7 @@ unsigned char stub_mipsel_r3000_linux_elf_entry[10216] = { 255,255, 14,161,152,255, 0, 16,194,119, 9, 0, 0, 0,153,144, /* 0x 610 */ 0,250, 1, 36, 1, 0,152,144, 7, 0, 34, 51,194,200, 25, 0, /* 0x 620 */ 4, 8, 33, 3, 96,241, 33, 36, 33,232,161, 3, 40, 0,161,175, /* 0x 630 */ - 32, 0,170, 39, 44, 0,191,175, 33, 72,224, 0, 33, 64,192, 0, /* 0x 640 */ + 32, 0,170, 39, 44, 0,191,175, 0, 0,233,140, 33, 64,192, 0, /* 0x 640 */ 28, 0,167, 39,254,255,166, 36, 2, 0,133, 36, 48, 0,164, 39, /* 0x 650 */ 2, 0,130,160, 15, 0, 1, 51, 0, 0,129,160, 2,193, 24, 0, /* 0x 660 */ 5, 0, 17, 4, 1, 0,152,160, 44, 0,191,143, 40, 0,161,143, /* 0x 670 */ @@ -494,182 +494,182 @@ unsigned char stub_mipsel_r3000_linux_elf_entry[10216] = { 2, 36, 12, 0, 0, 0,127, 0, 4, 36,161, 15, 2, 36, 12, 0, /* 0x1ca0 */ 0, 0,164,255,181, 38,224,255,189, 39,212,255,228,142, 7, 0, /* 0x1cb0 */ 6, 36,216,255,229,142, 18, 8, 7, 36, 16, 0,160,175,250, 15, /* 0x1cc0 */ - 2, 36, 12, 0, 0, 0, 26, 0,224, 20, 33, 32, 64, 0,228,255, /* 0x1cd0 */ + 2, 36, 12, 0, 0, 0, 27, 0,224, 20, 33, 32, 64, 0,228,255, /* 0x1cd0 */ 229,142,220,255,244,142,224,255,243,142,232,255,242,142,236,255, /* 0x1ce0 */ -241,142, 11, 0,133, 16, 35, 64,133, 0, 33,184,232, 2, 33, 48, /* 0x1cf0 */ -160, 2, 0, 0,168,140, 8, 0,132, 36, 4, 0,169,140,248,255, /* 0x1d00 */ -198, 36,248,255,136,172, 8, 0,165, 36,249,255,192, 28,252,255, /* 0x1d10 */ -137,172, 0, 0,200,142, 33, 56,160, 3, 0, 0,168,175, 33, 48, /* 0x1d20 */ - 64, 0, 4, 0,197,142, 12, 0,196, 38, 8, 0,224, 2, 33,248, /* 0x1d30 */ -192, 0,255,255, 0, 16, 0, 0, 0, 0,208,255,245,142,216,255, /* 0x1d40 */ - 17, 4, 33,176,224, 3,116,109,112, 47,109,105,112,115,101,108, /* 0x1d50 */ - 46,114, 51, 48, 48, 48, 45,108,105,110,117,120, 46,101,108,102, /* 0x1d60 */ - 45,101,110,116,114,121, 46, 98,105,110, 58, 32, 32, 32, 32, 32, /* 0x1d70 */ -102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51, /* 0x1d80 */ - 50, 45,108,105,116,116,108,101,109,105,112,115, 10, 10, 83,101, /* 0x1d90 */ - 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, /* 0x1da0 */ - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, /* 0x1db0 */ - 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, /* 0x1dc0 */ - 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, /* 0x1dd0 */ - 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, /* 0x1de0 */ - 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, /* 0x1df0 */ - 48, 48, 48, 48, 48, 48, 50, 99, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x1e00 */ - 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x1e10 */ - 48, 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x1e20 */ - 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, /* 0x1e30 */ - 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 50, /* 0x1e40 */ - 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 50, /* 0x1e50 */ - 49, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x1e60 */ - 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 54, 48, /* 0x1e70 */ - 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, /* 0x1e80 */ - 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, /* 0x1e90 */ - 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, /* 0x1ea0 */ - 32, 32, 32, 32, 48, 48, 48, 48, 48, 49,102, 48, 32, 32, 48, 48, /* 0x1eb0 */ - 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1ec0 */ - 32, 32, 48, 48, 48, 48, 48, 50, 55, 56, 32, 32, 50, 42, 42, 48, /* 0x1ed0 */ - 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, /* 0x1ee0 */ - 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, /* 0x1ef0 */ - 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, /* 0x1f00 */ - 48, 48, 48, 49, 98, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1f10 */ - 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1f20 */ - 48, 52, 54, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x1f30 */ - 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, /* 0x1f40 */ - 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 76, 90, 77, 65, 95, 69, /* 0x1f50 */ - 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 54, 99, /* 0x1f60 */ - 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1f70 */ - 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 54, 49, 99, 32, 32, /* 0x1f80 */ - 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x1f90 */ - 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, /* 0x1fa0 */ - 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x1fb0 */ - 97,100, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x1fc0 */ - 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 54, 56, /* 0x1fd0 */ - 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x1fe0 */ - 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, /* 0x1ff0 */ - 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, /* 0x2000 */ - 48, 48, 48, 97,100, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2010 */ - 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x2020 */ - 49, 49, 54, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x2030 */ - 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, /* 0x2040 */ - 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, /* 0x2050 */ - 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, /* 0x2060 */ - 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x2070 */ - 48, 48, 48, 49, 99, 51, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, /* 0x2080 */ - 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, /* 0x2090 */ - 89, 10, 32, 32, 56, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, /* 0x20a0 */ - 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x20b0 */ - 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x20c0 */ - 32, 32, 48, 48, 48, 48, 49, 99, 51, 99, 32, 32, 50, 42, 42, 48, /* 0x20d0 */ - 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, /* 0x20e0 */ - 79, 78, 76, 89, 10, 32, 32, 57, 32, 69, 76, 70, 77, 65, 73, 78, /* 0x20f0 */ - 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 53,101, 32, /* 0x2100 */ - 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x2110 */ - 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99, 51, 99, 32, 32, 50, /* 0x2120 */ - 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, /* 0x2130 */ - 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, /* 0x2140 */ - 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, /* 0x2150 */ - 32, 48, 48, 48, 48, 48, 48, 98, 99, 32, 32, 48, 48, 48, 48, 48, /* 0x2160 */ - 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x2170 */ - 48, 48, 48, 49, 99, 57, 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, /* 0x2180 */ - 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, /* 0x2190 */ - 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, /* 0x21a0 */ - 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, /* 0x21b0 */ - 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, /* 0x21c0 */ - 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, /* 0x21d0 */ - 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, /* 0x21e0 */ - 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, /* 0x21f0 */ - 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2200 */ - 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, /* 0x2210 */ - 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, /* 0x2220 */ - 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, /* 0x2230 */ - 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, /* 0x2240 */ - 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, /* 0x2250 */ - 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, /* 0x2260 */ - 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, /* 0x2270 */ - 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, /* 0x2280 */ - 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2290 */ - 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x22a0 */ - 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, /* 0x22b0 */ - 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, /* 0x22c0 */ - 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x22d0 */ - 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, /* 0x22e0 */ - 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, /* 0x22f0 */ - 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x2300 */ - 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, /* 0x2310 */ - 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, /* 0x2320 */ - 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x2330 */ - 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, /* 0x2340 */ - 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, /* 0x2350 */ - 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x2360 */ - 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, /* 0x2370 */ - 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, /* 0x2380 */ - 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, /* 0x2390 */ - 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x23a0 */ - 48, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x23b0 */ - 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, /* 0x23c0 */ - 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, 77, 10, 48, 48, 48, 48, /* 0x23d0 */ - 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, /* 0x23e0 */ - 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 74, 77, 80, 85, /* 0x23f0 */ - 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, /* 0x2400 */ - 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2410 */ - 32, 65, 68, 82, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x2420 */ - 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, /* 0x2430 */ - 48, 48, 48, 48, 48, 32, 65, 68, 82, 67, 10, 48, 48, 48, 48, 48, /* 0x2440 */ - 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, /* 0x2450 */ - 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, 85, 10, /* 0x2460 */ - 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2470 */ - 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2480 */ - 65, 68, 82, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, /* 0x2490 */ - 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, /* 0x24a0 */ - 48, 48, 48, 48, 32, 76, 69, 78, 88, 10, 48, 48, 48, 48, 48, 48, /* 0x24b0 */ - 50, 48, 32,103, 32, 32, 32, 32, 32, 79, 32, 69, 76, 70, 77, 65, /* 0x24c0 */ - 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, /* 0x24d0 */ - 97,114,116, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, /* 0x24e0 */ - 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, /* 0x24f0 */ - 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, /* 0x2500 */ - 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2510 */ - 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x2520 */ - 48, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x2530 */ - 32, 32, 32, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x2540 */ - 52, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x2550 */ - 32, 32, 32, 32, 76, 69, 78, 77, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x2560 */ - 56, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x2570 */ - 32, 32, 32, 32, 74, 77, 80, 85, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x2580 */ - 99, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x2590 */ - 32, 32, 32, 32, 65, 68, 82, 85, 10, 48, 48, 48, 48, 48, 48, 49, /* 0x25a0 */ - 48, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x25b0 */ - 32, 32, 32, 32, 65, 68, 82, 67, 10, 48, 48, 48, 48, 48, 48, 49, /* 0x25c0 */ - 52, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x25d0 */ - 32, 32, 32, 32, 76, 69, 78, 85, 10, 48, 48, 48, 48, 48, 48, 49, /* 0x25e0 */ - 56, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x25f0 */ - 32, 32, 32, 32, 65, 68, 82, 88, 10, 48, 48, 48, 48, 48, 48, 49, /* 0x2600 */ - 99, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x2610 */ - 32, 32, 32, 32, 76, 69, 78, 88, 10, 48, 48, 48, 48, 48, 48, 50, /* 0x2620 */ - 52, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, /* 0x2630 */ - 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, 69, /* 0x2640 */ - 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, /* 0x2650 */ - 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, /* 0x2660 */ - 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, /* 0x2670 */ - 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, /* 0x2680 */ - 48, 48, 48, 48, 49, 49, 99, 32, 82, 95, 77, 73, 80, 83, 95, 80, /* 0x2690 */ - 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, /* 0x26a0 */ - 78, 89, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, /* 0x26b0 */ - 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, /* 0x26c0 */ - 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, /* 0x26d0 */ - 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, /* 0x26e0 */ - 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 49, 49, 99, 32, 82, 95, /* 0x26f0 */ - 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, /* 0x2700 */ - 69, 76, 70, 77, 65, 73, 78, 89, 10, 10, 82, 69, 76, 79, 67, 65, /* 0x2710 */ - 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, /* 0x2720 */ - 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, /* 0x2730 */ - 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2740 */ - 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, /* 0x2750 */ - 48, 99, 52, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, /* 0x2760 */ - 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 10, /* 0x2770 */ - 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, /* 0x2780 */ - 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 89, /* 0x2790 */ - 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, /* 0x27a0 */ - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, /* 0x27b0 */ - 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 51, 56, 32, 82, 95, 77, /* 0x27c0 */ - 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 69, /* 0x27d0 */ - 76, 70, 77, 65, 73, 78, 90, 10 /* 0x27e0 */ +241,142,240,255,240,142, 11, 0,133, 16, 35, 64,133, 0, 33,184, /* 0x1cf0 */ +232, 2, 33, 48,160, 2, 0, 0,168,140, 8, 0,132, 36, 4, 0, /* 0x1d00 */ +169,140,248,255,198, 36,248,255,136,172, 8, 0,165, 36,249,255, /* 0x1d10 */ +192, 28,252,255,137,172, 0, 0,200,142, 33, 56,160, 3, 0, 0, /* 0x1d20 */ +168,175, 33, 48, 64, 0, 4, 0,197,142, 12, 0,196, 38, 8, 0, /* 0x1d30 */ +224, 2, 33,248,192, 0,255,255, 0, 16, 0, 0, 0, 0,208,255, /* 0x1d40 */ +245,142,215,255, 17, 4, 33,176,224, 3,116,109,112, 47,109,105, /* 0x1d50 */ +112,115,101,108, 46,114, 51, 48, 48, 48, 45,108,105,110,117,120, /* 0x1d60 */ + 46,101,108,102, 45,101,110,116,114,121, 46, 98,105,110, 58, 32, /* 0x1d70 */ + 32, 32, 32, 32,102,105,108,101, 32,102,111,114,109, 97,116, 32, /* 0x1d80 */ +101,108,102, 51, 50, 45,108,105,116,116,108,101,109,105,112,115, /* 0x1d90 */ + 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, /* 0x1da0 */ + 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105, /* 0x1db0 */ +122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, /* 0x1dc0 */ + 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, /* 0x1dd0 */ + 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103, /* 0x1de0 */ +115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, /* 0x1df0 */ + 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 99, 32, 32, 48, 48, /* 0x1e00 */ + 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1e10 */ + 32, 32, 48, 48, 48, 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, 48, /* 0x1e20 */ + 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, /* 0x1e30 */ + 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, /* 0x1e40 */ + 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, /* 0x1e50 */ + 48, 48, 48, 50, 49, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1e60 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1e70 */ + 48, 48, 54, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x1e80 */ + 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, /* 0x1e90 */ + 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 68, 32, /* 0x1ea0 */ + 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49,102, 48, /* 0x1eb0 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1ec0 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 55, 56, 32, 32, /* 0x1ed0 */ + 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x1ee0 */ + 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x1ef0 */ + 32, 32, 51, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, /* 0x1f00 */ + 32, 32, 48, 48, 48, 48, 48, 49, 98, 52, 32, 32, 48, 48, 48, 48, /* 0x1f10 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x1f20 */ + 48, 48, 48, 48, 48, 52, 54, 56, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x1f30 */ + 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, /* 0x1f40 */ + 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 76, 90, /* 0x1f50 */ + 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, /* 0x1f60 */ + 48, 48, 54, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x1f70 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 54, /* 0x1f80 */ + 49, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, /* 0x1f90 */ + 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, /* 0x1fa0 */ + 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, /* 0x1fb0 */ + 48, 48, 48, 48, 97,100, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1fc0 */ + 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x1fd0 */ + 48, 48, 54, 56, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, /* 0x1fe0 */ + 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x1ff0 */ + 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, /* 0x2000 */ + 32, 32, 48, 48, 48, 48, 48, 97,100, 56, 32, 32, 48, 48, 48, 48, /* 0x2010 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x2020 */ + 48, 48, 48, 48, 49, 49, 54, 48, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x2030 */ + 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x2040 */ + 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, /* 0x2050 */ + 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, /* 0x2060 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x2070 */ + 48, 32, 32, 48, 48, 48, 48, 49, 99, 51, 56, 32, 32, 50, 42, 42, /* 0x2080 */ + 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, /* 0x2090 */ + 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 78, 82, 86, 95, 84, 65, /* 0x20a0 */ + 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x20b0 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x20c0 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99, 51, 99, 32, 32, /* 0x20d0 */ + 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x20e0 */ + 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 69, 76, 70, /* 0x20f0 */ + 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x2100 */ + 48, 53,101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x2110 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99, 51, /* 0x2120 */ + 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x2130 */ + 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x2140 */ + 76, 89, 10, 32, 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, /* 0x2150 */ + 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 99, 48, 32, 32, 48, /* 0x2160 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x2170 */ + 48, 32, 32, 48, 48, 48, 48, 49, 99, 57, 97, 32, 32, 50, 42, 42, /* 0x2180 */ + 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, /* 0x2190 */ + 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, /* 0x21a0 */ + 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, /* 0x21b0 */ + 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, /* 0x21c0 */ + 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, /* 0x21d0 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, /* 0x21e0 */ + 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, /* 0x21f0 */ + 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, /* 0x2200 */ + 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, /* 0x2210 */ + 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, /* 0x2220 */ + 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2230 */ + 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, /* 0x2240 */ + 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, /* 0x2250 */ + 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, /* 0x2260 */ + 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, /* 0x2270 */ + 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, /* 0x2280 */ + 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, /* 0x2290 */ + 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, /* 0x22a0 */ + 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, /* 0x22b0 */ + 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, /* 0x22c0 */ + 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, /* 0x22d0 */ + 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, /* 0x22e0 */ + 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, /* 0x22f0 */ + 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, /* 0x2300 */ + 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, /* 0x2310 */ + 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, /* 0x2320 */ + 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, /* 0x2330 */ + 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, /* 0x2340 */ + 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, /* 0x2350 */ + 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, /* 0x2360 */ + 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, /* 0x2370 */ + 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, /* 0x2380 */ + 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x2390 */ + 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, /* 0x23a0 */ + 48, 48, 48, 48, 48, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, /* 0x23b0 */ + 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, /* 0x23c0 */ + 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, 77, 10, /* 0x23d0 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x23e0 */ + 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x23f0 */ + 74, 77, 80, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, /* 0x2400 */ + 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, /* 0x2410 */ + 48, 48, 48, 48, 32, 65, 68, 82, 85, 10, 48, 48, 48, 48, 48, 48, /* 0x2420 */ + 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, /* 0x2430 */ + 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, 67, 10, 48, /* 0x2440 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2450 */ + 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, /* 0x2460 */ + 69, 78, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, /* 0x2470 */ + 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, /* 0x2480 */ + 48, 48, 48, 32, 65, 68, 82, 88, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x2490 */ + 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, /* 0x24a0 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, 88, 10, 48, 48, /* 0x24b0 */ + 48, 48, 48, 48, 50, 48, 32,103, 32, 32, 32, 32, 32, 79, 32, 69, /* 0x24c0 */ + 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x24d0 */ + 32, 95,115,116, 97,114,116, 10, 10, 82, 69, 76, 79, 67, 65, 84, /* 0x24e0 */ + 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, /* 0x24f0 */ + 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, /* 0x2500 */ + 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, /* 0x2510 */ + 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, /* 0x2520 */ + 48, 48, 48, 48, 48, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, /* 0x2530 */ + 32, 32, 32, 32, 32, 32, 32, 32, 65, 68, 82, 77, 10, 48, 48, 48, /* 0x2540 */ + 48, 48, 48, 48, 52, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, /* 0x2550 */ + 32, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, 77, 10, 48, 48, 48, /* 0x2560 */ + 48, 48, 48, 48, 56, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, /* 0x2570 */ + 32, 32, 32, 32, 32, 32, 32, 32, 74, 77, 80, 85, 10, 48, 48, 48, /* 0x2580 */ + 48, 48, 48, 48, 99, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, /* 0x2590 */ + 32, 32, 32, 32, 32, 32, 32, 32, 65, 68, 82, 85, 10, 48, 48, 48, /* 0x25a0 */ + 48, 48, 48, 49, 48, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, /* 0x25b0 */ + 32, 32, 32, 32, 32, 32, 32, 32, 65, 68, 82, 67, 10, 48, 48, 48, /* 0x25c0 */ + 48, 48, 48, 49, 52, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, /* 0x25d0 */ + 32, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, 85, 10, 48, 48, 48, /* 0x25e0 */ + 48, 48, 48, 49, 56, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, /* 0x25f0 */ + 32, 32, 32, 32, 32, 32, 32, 32, 65, 68, 82, 88, 10, 48, 48, 48, /* 0x2600 */ + 48, 48, 48, 49, 99, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, /* 0x2610 */ + 32, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, 88, 10, 48, 48, 48, /* 0x2620 */ + 48, 48, 48, 50, 52, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, /* 0x2630 */ + 54, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, /* 0x2640 */ + 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, /* 0x2650 */ + 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, /* 0x2660 */ + 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, /* 0x2670 */ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, /* 0x2680 */ + 85, 69, 10, 48, 48, 48, 48, 48, 49, 49, 99, 32, 82, 95, 77, 73, /* 0x2690 */ + 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 69, 76, /* 0x26a0 */ + 70, 77, 65, 73, 78, 89, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, /* 0x26b0 */ + 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, /* 0x26c0 */ + 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, /* 0x26d0 */ + 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x26e0 */ + 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 49, 49, /* 0x26f0 */ + 99, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, /* 0x2700 */ + 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 10, 82, 69, /* 0x2710 */ + 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, /* 0x2720 */ + 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, /* 0x2730 */ + 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, /* 0x2740 */ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, /* 0x2750 */ + 48, 48, 48, 48, 48, 99, 52, 32, 82, 95, 77, 73, 80, 83, 95, 80, /* 0x2760 */ + 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, /* 0x2770 */ + 78, 89, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, /* 0x2780 */ + 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, /* 0x2790 */ + 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, /* 0x27a0 */ + 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x27b0 */ + 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 51, 56, /* 0x27c0 */ + 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, /* 0x27d0 */ + 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10 /* 0x27e0 */ }; diff --git a/src/stub/mipsel.r3000-linux.elf-fold.h b/src/stub/mipsel.r3000-linux.elf-fold.h index 4977a05c..41afe625 100644 --- a/src/stub/mipsel.r3000-linux.elf-fold.h +++ b/src/stub/mipsel.r3000-linux.elf-fold.h @@ -1,5 +1,5 @@ /* mipsel.r3000-linux.elf-fold.h - created from mipsel.r3000-linux.elf-fold.bin, 1996 (0x7cc) bytes + created from mipsel.r3000-linux.elf-fold.bin, 2172 (0x87c) bytes This file is part of the UPX executable compressor. @@ -28,134 +28,145 @@ */ -#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_SIZE 1996 -#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_ADLER32 0x2a4992e0 -#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_CRC32 0x96679e92 +#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_SIZE 2172 +#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_ADLER32 0x3a0fd237 +#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_CRC32 0xf8c31442 -unsigned char stub_mipsel_r3000_linux_elf_fold[1996] = { +unsigned char stub_mipsel_r3000_linux_elf_fold[2172] = { 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */ 2, 0, 8, 0, 1, 0, 0, 0,128, 0, 16, 0, 52, 0, 0, 0, /* 0x 10 */ 0, 0, 0, 0, 1, 48, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x 20 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, /* 0x 30 */ - 0, 0, 16, 0,204, 7, 0, 0,208, 7, 0, 0, 5, 0, 0, 0, /* 0x 40 */ - 0, 16, 0, 0, 1, 0, 0, 0,204, 7, 0, 0, 0, 0, 0, 0, /* 0x 50 */ + 0, 0, 16, 0,124, 8, 0, 0,128, 8, 0, 0, 5, 0, 0, 0, /* 0x 40 */ + 0, 16, 0, 0, 1, 0, 0, 0,124, 8, 0, 0, 0, 0, 0, 0, /* 0x 50 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 60 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 70 */ - 13, 0, 0, 0, 13, 0, 0, 0, 13, 0, 0, 0, 13, 0, 0, 0, /* 0x 80 */ - 13, 0, 0, 0, 13, 0, 0, 0, 13, 0, 0, 0, 13, 0, 0, 0, /* 0x 90 */ - 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a0 */ - 14, 0,128, 16, 1, 0, 3, 36, 0, 0,130,140, 0, 0, 0, 0, /* 0x b0 */ - 5, 0, 69, 16, 0, 0, 0, 0, 6, 0, 67, 20, 0, 0, 0, 0, /* 0x c0 */ - 4, 0,160, 16, 0, 0, 0, 0, 4, 0,134,172, 8, 0,224, 3, /* 0x d0 */ - 0, 0,133,172, 46, 0, 4, 8, 8, 0,132, 36, 8, 0,224, 3, /* 0x e0 */ - 0, 0, 0, 0,248,255,189, 39, 0, 0,191,175, 0, 0,130,140, /* 0x f0 */ - 4, 0,135,140, 43, 16, 70, 0, 7, 0, 64, 16, 33, 24,192, 0, /* 0x 100 */ - 40, 0, 4, 12,127, 0, 4, 36, 0, 0,226,144, 1, 0,231, 36, /* 0x 110 */ - 0, 0,162,160, 1, 0,165, 36,255,255, 99, 36,255,255, 2, 36, /* 0x 120 */ -249,255, 98, 20, 0, 0, 0, 0, 4, 0,131,140, 0, 0,130,140, /* 0x 130 */ - 33, 24,102, 0, 35, 16, 70, 0, 0, 0,130,172, 4, 0,131,172, /* 0x 140 */ - 0, 0,191,143, 0, 0, 0, 0, 8, 0,224, 3, 8, 0,189, 39, /* 0x 150 */ -216,255,189, 39, 28, 0,179,175, 24, 0,178,175, 20, 0,177,175, /* 0x 160 */ - 16, 0,176,175, 33,136,128, 0, 33,128,160, 0, 33,152,192, 0, /* 0x 170 */ - 33,144,224, 0,176, 0, 4, 8, 32, 0,191,175, 33, 32, 32, 2, /* 0x 180 */ - 61, 0, 4, 12, 4, 0,165, 39, 4, 0,163,143, 8, 0,166,143, /* 0x 190 */ - 10, 0, 96, 20, 88, 33, 2, 60, 85, 80, 66, 52, 9, 0,194, 20, /* 0x 1a0 */ - 0, 0, 0, 0, 0, 0, 34,142, 0, 0, 0, 0, 5, 0, 64, 20, /* 0x 1b0 */ - 0, 0, 0, 0,180, 0, 4, 8, 0, 0, 0, 0, 3, 0,192, 20, /* 0x 1c0 */ - 43, 16,102, 0, 40, 0, 4, 12,127, 0, 4, 36,253,255, 64, 20, /* 0x 1d0 */ - 0, 0, 0, 0, 0, 0, 2,142, 0, 0, 0, 0, 43, 16, 67, 0, /* 0x 1e0 */ -248,255, 64, 20, 43, 16,195, 0, 4, 0, 7,142, 39, 0, 64, 16, /* 0x 1f0 */ - 33, 40,224, 0, 4, 0, 36,142, 12, 0,168,143, 33, 40,192, 0, /* 0x 200 */ - 0, 0,163,175, 33, 48,224, 0, 9,248, 96, 2, 33, 56,160, 3, /* 0x 210 */ -236,255, 64, 20, 0, 0, 0, 0, 0, 0,165,143, 4, 0,162,143, /* 0x 220 */ - 0, 0, 0, 0,231,255,162, 20, 0, 0, 0, 0, 13, 0,167,147, /* 0x 230 */ - 0, 0, 0, 0, 13, 0,224, 16, 0, 0, 0, 0, 11, 0, 64, 18, /* 0x 240 */ - 1, 2,162, 44, 5, 0, 64, 16, 0, 0, 0, 0, 0, 0, 2,142, /* 0x 250 */ - 0, 0, 0, 0, 5, 0, 69, 20, 0, 0, 0, 0, 4, 0, 4,142, /* 0x 260 */ - 14, 0,166,147, 9,248, 64, 2, 0, 0, 0, 0, 8, 0,162,143, /* 0x 270 */ - 4, 0, 35,142, 0, 0, 36,142, 33, 24, 98, 0, 35, 32,130, 0, /* 0x 280 */ - 4, 0, 35,174,169, 0, 4, 8, 0, 0, 36,174, 61, 0, 4, 12, /* 0x 290 */ - 33, 32, 32, 2, 4, 0,162,143, 4, 0, 3,142, 0, 0, 4,142, /* 0x 2a0 */ - 33, 24, 98, 0, 35, 32,130, 0, 4, 0, 3,174, 0, 0, 4,174, /* 0x 2b0 */ - 0, 0, 2,142, 0, 0, 0, 0,176,255, 64, 20, 12, 0, 6, 36, /* 0x 2c0 */ - 32, 0,191,143, 28, 0,179,143, 24, 0,178,143, 20, 0,177,143, /* 0x 2d0 */ - 16, 0,176,143, 8, 0,224, 3, 40, 0,189, 39,176,255,189, 39, /* 0x 2e0 */ - 72, 0,190,175, 64, 0,182,175, 44, 0,177,175, 40, 0,176,175, /* 0x 2f0 */ - 76, 0,191,175, 68, 0,183,175, 60, 0,181,175, 56, 0,180,175, /* 0x 300 */ - 52, 0,179,175, 48, 0,178,175, 16, 0,162,148, 28, 0,163,140, /* 0x 310 */ - 33,176,160, 0, 2, 0, 66, 56, 44, 0,165,148, 33,136,195, 2, /* 0x 320 */ - 1, 0, 66, 44, 24, 0,164,175, 33,240,192, 0, 28, 0,167,175, /* 0x 330 */ - 32, 0,168,175, 0, 57, 2, 0,255,255,165, 36, 33, 32, 32, 2, /* 0x 340 */ -255,255, 16, 36, 33, 48, 0, 0, 1, 0, 8, 36,236, 0, 4, 8, /* 0x 350 */ - 36, 0,169,175, 0, 0,130,140, 0, 0, 0, 0, 14, 0, 72, 20, /* 0x 360 */ - 0, 0, 0, 0, 8, 0,131,140, 0, 0, 0, 0, 43, 16,112, 0, /* 0x 370 */ - 2, 0, 64, 16, 0, 0, 0, 0, 33,128, 96, 0, 20, 0,130,140, /* 0x 380 */ - 0, 0, 0, 0, 33, 24, 98, 0, 43, 16,195, 0, 2, 0, 64, 16, /* 0x 390 */ - 0, 0, 0, 0, 33, 48, 96, 0, 32, 0,132, 36,255,255,165, 36, /* 0x 3a0 */ -236,255,161, 4,255,255, 3, 52,255,255, 4, 60, 36,128, 4, 2, /* 0x 3b0 */ - 35, 16,208, 0, 33, 16, 67, 0, 36, 16, 68, 0, 34, 0,231, 36, /* 0x 3c0 */ - 33, 32, 0, 2, 33, 40, 64, 0, 33, 48, 0, 0,255,255, 8, 36, /* 0x 3d0 */ - 33, 72, 0, 0, 36, 0, 4, 12, 8, 0,162,175, 35,184, 80, 0, /* 0x 3e0 */ - 12, 0,162,175, 90, 1, 4, 8, 16, 0,160,175, 0, 0, 35,142, /* 0x 3f0 */ - 0, 0, 0, 0, 8, 0, 98, 20, 1, 0, 2, 36, 8, 0, 38,142, /* 0x 400 */ - 28, 0,164,143, 33, 48,230, 2, 44, 0, 4, 12, 3, 0, 5, 36, /* 0x 410 */ - 86, 1, 4, 8, 0, 0, 0, 0, 75, 0, 98, 20, 0, 0, 0, 0, /* 0x 420 */ - 8, 0, 34,142, 24, 0, 35,142, 33,168,226, 2, 81,115, 2, 60, /* 0x 430 */ -128, 24, 3, 0, 64, 98, 66, 52, 6, 16, 98, 0, 16, 0, 42,142, /* 0x 440 */ - 7, 0, 82, 48, 20, 0, 34,142,255,255,163, 50, 20, 0,162,175, /* 0x 450 */ - 33,152, 67, 1, 93, 0,192, 19, 35,160,163, 2, 2, 0, 70, 54, /* 0x 460 */ -255,255, 8, 36, 50, 0, 7, 36, 4, 0, 41,142, 33, 32,128, 2, /* 0x 470 */ - 35, 72, 35, 1, 33, 40, 96, 2, 0, 0,170,175, 36, 0, 4, 12, /* 0x 480 */ - 4, 0,181,175, 31, 0,130, 22, 0, 0, 0, 0, 11, 0,192, 19, /* 0x 490 */ - 4, 0, 66, 50, 4, 0, 64, 16, 0, 0, 0, 0, 36, 0,167,143, /* 0x 4a0 */ - 47, 1, 4, 8, 0, 0, 0, 0, 33, 56, 0, 0, 24, 0,166,143, /* 0x 4b0 */ - 33, 32,192, 3, 88, 0, 4, 12, 33, 40,160, 3, 35, 16, 19, 0, /* 0x 4c0 */ - 2, 0, 67, 50, 8, 0, 96, 16,255,255, 80, 48, 6, 0, 0, 18, /* 0x 4d0 */ - 33, 24,147, 2, 33, 16, 0, 2,255,255, 66, 36, 0, 0, 96,160, /* 0x 4e0 */ -253,255, 64, 20, 1, 0, 99, 36, 8, 0,192, 19, 33, 32,128, 2, /* 0x 4f0 */ - 33, 40, 96, 2, 34, 0, 4, 12, 33, 48, 64, 2, 3, 0, 64, 16, /* 0x 500 */ - 0, 0, 0, 0, 40, 0, 4, 12,127, 0, 4, 36, 20, 0,163,143, /* 0x 510 */ - 33, 16,112, 2, 33, 40,163, 2, 33,128,130, 2, 43, 16, 5, 2, /* 0x 520 */ - 9, 0, 64, 16, 35, 40,176, 0, 33, 48, 64, 2, 33, 32, 0, 2, /* 0x 530 */ - 50, 0, 7, 36,255,255, 8, 36, 36, 0, 4, 12, 33, 72, 0, 0, /* 0x 540 */ -240,255, 2, 22, 0, 0, 0, 0, 16, 0,162,143, 32, 0, 49, 38, /* 0x 550 */ - 1, 0, 66, 36, 16, 0,162,175, 44, 0,194,150, 16, 0,163,143, /* 0x 560 */ - 0, 0, 0, 0, 42, 16, 98, 0,160,255, 64, 20, 6, 0, 2, 36, /* 0x 570 */ - 8, 0,192, 23, 3, 0, 2, 36, 24, 0,164,143, 39, 0, 4, 12, /* 0x 580 */ - 0, 0, 0, 0,223,255, 64, 20, 0, 0, 0, 0,113, 1, 4, 8, /* 0x 590 */ - 0, 0, 0, 0, 16, 0,195,150, 0, 0, 0, 0, 5, 0, 98, 16, /* 0x 5a0 */ - 0, 0, 0, 0, 12, 0,162,143, 8, 0,163,143, 35, 0, 4, 12, /* 0x 5b0 */ - 33, 32, 67, 0, 32, 0,162,143, 0, 0, 0, 0, 7, 0, 64, 16, /* 0x 5c0 */ - 0, 0, 0, 0,123, 1, 4, 8, 0, 0, 87,172, 24, 0,168,143, /* 0x 5d0 */ - 33, 48, 64, 2, 30, 1, 4, 8, 18, 0, 7, 36, 24, 0,194,142, /* 0x 5e0 */ - 76, 0,191,143, 33, 16,226, 2, 72, 0,190,143, 68, 0,183,143, /* 0x 5f0 */ - 64, 0,182,143, 60, 0,181,143, 56, 0,180,143, 52, 0,179,143, /* 0x 600 */ - 48, 0,178,143, 44, 0,177,143, 40, 0,176,143, 8, 0,224, 3, /* 0x 610 */ - 80, 0,189, 39,192,255,189, 39, 60, 0,191,175, 52, 0,181,175, /* 0x 620 */ - 48, 0,180,175, 44, 0,179,175, 40, 0,178,175, 32, 0,176,175, /* 0x 630 */ - 56, 0,182,175, 36, 0,177,175, 4, 0, 22,141, 0, 0, 49,141, /* 0x 640 */ - 0, 0, 3,141, 4, 0, 34,141, 4, 0,180, 39, 33,128,128, 0, /* 0x 650 */ - 33,144,160, 0, 33,168,224, 0, 33, 32,128, 2, 33, 56, 0, 0, /* 0x 660 */ - 12, 0,165, 39, 24, 0,170,175, 12, 0,163,175, 33,152,192, 0, /* 0x 670 */ - 8, 0,162,175, 4, 0,177,175, 88, 0, 4, 12, 16, 0,182,175, /* 0x 680 */ - 8, 0,162,143, 44, 0,198,150, 35, 16, 81, 0, 5, 0, 5, 36, /* 0x 690 */ - 33, 32, 0, 2, 8, 0,162,175, 44, 0, 4, 12, 4, 0,178,175, /* 0x 6a0 */ - 42, 0,198,150, 33, 32, 0, 2, 44, 0, 4, 12, 4, 0, 5, 36, /* 0x 6b0 */ - 52, 0,210, 38, 24, 0,166,143, 8, 0, 66,142, 52, 0,198, 36, /* 0x 6c0 */ - 33, 48,194, 0, 33, 32, 0, 2, 44, 0, 4, 12, 3, 0, 5, 36, /* 0x 6d0 */ - 33, 32, 96, 2, 33, 40,192, 2, 33, 48,128, 2, 33, 56, 0, 2, /* 0x 6e0 */ - 33, 64,160, 3,187, 0, 4, 12, 33, 72,160, 2, 33, 48, 64, 0, /* 0x 6f0 */ - 33, 32, 0, 2, 9, 0, 5, 36, 44, 0, 4, 12, 33,136, 64, 0, /* 0x 700 */ - 44, 0,197,150,229, 1, 4, 8, 33, 32, 0, 0, 0, 0, 67,142, /* 0x 710 */ - 0, 0, 0, 0, 26, 0, 98, 20, 1, 0,132, 36, 8, 0, 66,142, /* 0x 720 */ - 0, 0,164,143, 33, 40, 0, 0, 33, 32, 68, 0, 38, 0, 4, 12, /* 0x 730 */ - 33, 48, 0, 0, 8, 0, 64, 4, 33,128, 64, 0, 33, 32, 64, 0, /* 0x 740 */ - 33, 40,192, 2, 37, 0, 4, 12, 0, 2, 6, 36, 0, 2, 3, 36, /* 0x 750 */ - 3, 0, 67, 16, 33, 48, 0, 0, 40, 0, 4, 12,127, 0, 4, 36, /* 0x 760 */ - 33, 32, 0, 2, 33, 40,192, 2, 33, 56, 0, 0, 33, 64, 0, 0, /* 0x 770 */ -187, 0, 4, 12, 33, 72, 0, 0,232, 1, 4, 8, 33,136, 64, 0, /* 0x 780 */ - 32, 0, 82, 38, 42, 16,133, 0,224,255, 64, 20, 3, 0, 2, 36, /* 0x 790 */ - 33, 16, 32, 2, 60, 0,191,143, 56, 0,182,143, 52, 0,181,143, /* 0x 7a0 */ - 48, 0,180,143, 44, 0,179,143, 40, 0,178,143, 36, 0,177,143, /* 0x 7b0 */ - 32, 0,176,143, 8, 0,224, 3, 64, 0,189, 39 /* 0x 7c0 */ + 36, 0,167, 39, 0, 0,225,140, 4, 0,231, 36,253,255, 32, 20, /* 0x 80 */ + 33, 72, 0, 0, 0, 0,225,140, 4, 0,231, 36,253,255, 32, 20, /* 0x 90 */ + 33, 64,224, 2, 32,252,189, 39, 33, 48,160, 3, 33, 40, 32, 2, /* 0x a0 */ + 3, 0, 17, 4, 4, 0,226,143,212, 6, 16, 0,184, 0, 16, 0, /* 0x b0 */ + 0, 0,227,143, 35, 16,226, 3, 33, 16, 67, 0, 9,248, 64, 0, /* 0x c0 */ + 33, 32, 0, 2, 0, 4,189, 39, 33, 32, 96, 2, 33, 40, 64, 2, /* 0x d0 */ + 8, 0,128, 2, 33,248, 64, 0,255,255, 4, 36,161, 15, 2, 36, /* 0x e0 */ + 13, 0, 0, 0, 12, 0, 0, 0, 0,240, 65, 44,255,255, 33, 36, /* 0x f0 */ + 8, 0,224, 3, 37, 16, 65, 0,249,255, 0, 16,163, 15, 2, 36, /* 0x 100 */ +247,255, 0, 16,165, 15, 2, 36,245,255, 0, 16,166, 15, 2, 36, /* 0x 110 */ +243,255, 0, 16,205, 15, 2, 36,241,255, 0, 16,251, 15, 2, 36, /* 0x 120 */ +239,255, 0, 16, 29, 16, 2, 36, 13, 0, 0, 0,224,255,189, 39, /* 0x 130 */ + 16, 0,168,175, 20, 0,169,175,250, 15, 2, 36, 12, 0, 0, 0, /* 0x 140 */ +233,255, 0, 16, 32, 0,189, 39, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 150 */ + 14, 0,128, 16, 1, 0, 3, 36, 0, 0,130,140, 0, 0, 0, 0, /* 0x 160 */ + 5, 0, 69, 16, 0, 0, 0, 0, 6, 0, 67, 20, 0, 0, 0, 0, /* 0x 170 */ + 4, 0,160, 16, 0, 0, 0, 0, 4, 0,134,172, 8, 0,224, 3, /* 0x 180 */ + 0, 0,133,172, 90, 0, 4, 8, 8, 0,132, 36, 8, 0,224, 3, /* 0x 190 */ + 0, 0, 0, 0,248,255,189, 39, 0, 0,191,175, 0, 0,130,140, /* 0x 1a0 */ + 4, 0,135,140, 43, 16, 70, 0, 7, 0, 64, 16, 33, 24,192, 0, /* 0x 1b0 */ + 59, 0, 4, 12,127, 0, 4, 36, 0, 0,226,144, 1, 0,231, 36, /* 0x 1c0 */ + 0, 0,162,160, 1, 0,165, 36,255,255, 99, 36,255,255, 2, 36, /* 0x 1d0 */ +249,255, 98, 20, 0, 0, 0, 0, 4, 0,131,140, 0, 0,130,140, /* 0x 1e0 */ + 33, 24,102, 0, 35, 16, 70, 0, 0, 0,130,172, 4, 0,131,172, /* 0x 1f0 */ + 0, 0,191,143, 0, 0, 0, 0, 8, 0,224, 3, 8, 0,189, 39, /* 0x 200 */ +216,255,189, 39, 28, 0,179,175, 24, 0,178,175, 20, 0,177,175, /* 0x 210 */ + 16, 0,176,175, 33,136,128, 0, 33,128,160, 0, 33,152,192, 0, /* 0x 220 */ + 33,144,224, 0,220, 0, 4, 8, 32, 0,191,175, 33, 32, 32, 2, /* 0x 230 */ +105, 0, 4, 12, 4, 0,165, 39, 4, 0,163,143, 8, 0,166,143, /* 0x 240 */ + 10, 0, 96, 20, 88, 33, 2, 60, 85, 80, 66, 52, 9, 0,194, 20, /* 0x 250 */ + 0, 0, 0, 0, 0, 0, 34,142, 0, 0, 0, 0, 5, 0, 64, 20, /* 0x 260 */ + 0, 0, 0, 0,224, 0, 4, 8, 0, 0, 0, 0, 3, 0,192, 20, /* 0x 270 */ + 43, 16,102, 0, 59, 0, 4, 12,127, 0, 4, 36,253,255, 64, 20, /* 0x 280 */ + 0, 0, 0, 0, 0, 0, 2,142, 0, 0, 0, 0, 43, 16, 67, 0, /* 0x 290 */ +248,255, 64, 20, 43, 16,195, 0, 4, 0, 7,142, 39, 0, 64, 16, /* 0x 2a0 */ + 33, 40,224, 0, 4, 0, 36,142, 12, 0,168,143, 33, 40,192, 0, /* 0x 2b0 */ + 0, 0,163,175, 33, 48,224, 0, 9,248, 96, 2, 33, 56,160, 3, /* 0x 2c0 */ +236,255, 64, 20, 0, 0, 0, 0, 0, 0,165,143, 4, 0,162,143, /* 0x 2d0 */ + 0, 0, 0, 0,231,255,162, 20, 0, 0, 0, 0, 13, 0,167,147, /* 0x 2e0 */ + 0, 0, 0, 0, 13, 0,224, 16, 0, 0, 0, 0, 11, 0, 64, 18, /* 0x 2f0 */ + 1, 2,162, 44, 5, 0, 64, 16, 0, 0, 0, 0, 0, 0, 2,142, /* 0x 300 */ + 0, 0, 0, 0, 5, 0, 69, 20, 0, 0, 0, 0, 4, 0, 4,142, /* 0x 310 */ + 14, 0,166,147, 9,248, 64, 2, 0, 0, 0, 0, 8, 0,162,143, /* 0x 320 */ + 4, 0, 35,142, 0, 0, 36,142, 33, 24, 98, 0, 35, 32,130, 0, /* 0x 330 */ + 4, 0, 35,174,213, 0, 4, 8, 0, 0, 36,174,105, 0, 4, 12, /* 0x 340 */ + 33, 32, 32, 2, 4, 0,162,143, 4, 0, 3,142, 0, 0, 4,142, /* 0x 350 */ + 33, 24, 98, 0, 35, 32,130, 0, 4, 0, 3,174, 0, 0, 4,174, /* 0x 360 */ + 0, 0, 2,142, 0, 0, 0, 0,176,255, 64, 20, 12, 0, 6, 36, /* 0x 370 */ + 32, 0,191,143, 28, 0,179,143, 24, 0,178,143, 20, 0,177,143, /* 0x 380 */ + 16, 0,176,143, 8, 0,224, 3, 40, 0,189, 39,176,255,189, 39, /* 0x 390 */ + 72, 0,190,175, 64, 0,182,175, 44, 0,177,175, 40, 0,176,175, /* 0x 3a0 */ + 76, 0,191,175, 68, 0,183,175, 60, 0,181,175, 56, 0,180,175, /* 0x 3b0 */ + 52, 0,179,175, 48, 0,178,175, 16, 0,162,148, 28, 0,163,140, /* 0x 3c0 */ + 33,176,160, 0, 2, 0, 66, 56, 44, 0,165,148, 33,136,195, 2, /* 0x 3d0 */ + 1, 0, 66, 44, 24, 0,164,175, 33,240,192, 0, 28, 0,167,175, /* 0x 3e0 */ + 32, 0,168,175, 0, 57, 2, 0,255,255,165, 36, 33, 32, 32, 2, /* 0x 3f0 */ +255,255, 16, 36, 33, 48, 0, 0, 1, 0, 8, 36, 24, 1, 4, 8, /* 0x 400 */ + 36, 0,169,175, 0, 0,130,140, 0, 0, 0, 0, 14, 0, 72, 20, /* 0x 410 */ + 0, 0, 0, 0, 8, 0,131,140, 0, 0, 0, 0, 43, 16,112, 0, /* 0x 420 */ + 2, 0, 64, 16, 0, 0, 0, 0, 33,128, 96, 0, 20, 0,130,140, /* 0x 430 */ + 0, 0, 0, 0, 33, 24, 98, 0, 43, 16,195, 0, 2, 0, 64, 16, /* 0x 440 */ + 0, 0, 0, 0, 33, 48, 96, 0, 32, 0,132, 36,255,255,165, 36, /* 0x 450 */ +236,255,161, 4,255,255, 3, 52,255,255, 4, 60, 36,128, 4, 2, /* 0x 460 */ + 35, 16,208, 0, 33, 16, 67, 0, 36, 16, 68, 0, 34, 0,231, 36, /* 0x 470 */ + 33, 32, 0, 2, 33, 40, 64, 0, 33, 48, 0, 0,255,255, 8, 36, /* 0x 480 */ + 33, 72, 0, 0, 78, 0, 4, 12, 8, 0,162,175, 35,184, 80, 0, /* 0x 490 */ + 12, 0,162,175,134, 1, 4, 8, 16, 0,160,175, 0, 0, 35,142, /* 0x 4a0 */ + 0, 0, 0, 0, 8, 0, 98, 20, 1, 0, 2, 36, 8, 0, 38,142, /* 0x 4b0 */ + 28, 0,164,143, 33, 48,230, 2, 88, 0, 4, 12, 3, 0, 5, 36, /* 0x 4c0 */ +130, 1, 4, 8, 0, 0, 0, 0, 75, 0, 98, 20, 0, 0, 0, 0, /* 0x 4d0 */ + 8, 0, 34,142, 24, 0, 35,142, 33,168,226, 2, 81,115, 2, 60, /* 0x 4e0 */ +128, 24, 3, 0, 64, 98, 66, 52, 6, 16, 98, 0, 16, 0, 42,142, /* 0x 4f0 */ + 7, 0, 82, 48, 20, 0, 34,142,255,255,163, 50, 20, 0,162,175, /* 0x 500 */ + 33,152, 67, 1, 93, 0,192, 19, 35,160,163, 2, 2, 0, 70, 54, /* 0x 510 */ +255,255, 8, 36, 50, 0, 7, 36, 4, 0, 41,142, 33, 32,128, 2, /* 0x 520 */ + 35, 72, 35, 1, 33, 40, 96, 2, 0, 0,170,175, 78, 0, 4, 12, /* 0x 530 */ + 4, 0,181,175, 31, 0,130, 22, 0, 0, 0, 0, 11, 0,192, 19, /* 0x 540 */ + 4, 0, 66, 50, 4, 0, 64, 16, 0, 0, 0, 0, 36, 0,167,143, /* 0x 550 */ + 91, 1, 4, 8, 0, 0, 0, 0, 33, 56, 0, 0, 24, 0,166,143, /* 0x 560 */ + 33, 32,192, 3,132, 0, 4, 12, 33, 40,160, 3, 35, 16, 19, 0, /* 0x 570 */ + 2, 0, 67, 50, 8, 0, 96, 16,255,255, 80, 48, 6, 0, 0, 18, /* 0x 580 */ + 33, 24,147, 2, 33, 16, 0, 2,255,255, 66, 36, 0, 0, 96,160, /* 0x 590 */ +253,255, 64, 20, 1, 0, 99, 36, 8, 0,192, 19, 33, 32,128, 2, /* 0x 5a0 */ + 33, 40, 96, 2, 76, 0, 4, 12, 33, 48, 64, 2, 3, 0, 64, 16, /* 0x 5b0 */ + 0, 0, 0, 0, 59, 0, 4, 12,127, 0, 4, 36, 20, 0,163,143, /* 0x 5c0 */ + 33, 16,112, 2, 33, 40,163, 2, 33,128,130, 2, 43, 16, 5, 2, /* 0x 5d0 */ + 9, 0, 64, 16, 35, 40,176, 0, 33, 48, 64, 2, 33, 32, 0, 2, /* 0x 5e0 */ + 50, 0, 7, 36,255,255, 8, 36, 78, 0, 4, 12, 33, 72, 0, 0, /* 0x 5f0 */ +240,255, 2, 22, 0, 0, 0, 0, 16, 0,162,143, 32, 0, 49, 38, /* 0x 600 */ + 1, 0, 66, 36, 16, 0,162,175, 44, 0,194,150, 16, 0,163,143, /* 0x 610 */ + 0, 0, 0, 0, 42, 16, 98, 0,160,255, 64, 20, 6, 0, 2, 36, /* 0x 620 */ + 8, 0,192, 23, 3, 0, 2, 36, 24, 0,164,143, 70, 0, 4, 12, /* 0x 630 */ + 0, 0, 0, 0,223,255, 64, 20, 0, 0, 0, 0,157, 1, 4, 8, /* 0x 640 */ + 0, 0, 0, 0, 16, 0,195,150, 0, 0, 0, 0, 5, 0, 98, 16, /* 0x 650 */ + 0, 0, 0, 0, 12, 0,162,143, 8, 0,163,143, 72, 0, 4, 12, /* 0x 660 */ + 33, 32, 67, 0, 32, 0,162,143, 0, 0, 0, 0, 7, 0, 64, 16, /* 0x 670 */ + 0, 0, 0, 0,167, 1, 4, 8, 0, 0, 87,172, 24, 0,168,143, /* 0x 680 */ + 33, 48, 64, 2, 74, 1, 4, 8, 18, 0, 7, 36, 24, 0,194,142, /* 0x 690 */ + 76, 0,191,143, 33, 16,226, 2, 72, 0,190,143, 68, 0,183,143, /* 0x 6a0 */ + 64, 0,182,143, 60, 0,181,143, 56, 0,180,143, 52, 0,179,143, /* 0x 6b0 */ + 48, 0,178,143, 44, 0,177,143, 40, 0,176,143, 8, 0,224, 3, /* 0x 6c0 */ + 80, 0,189, 39,192,255,189, 39, 60, 0,191,175, 52, 0,181,175, /* 0x 6d0 */ + 48, 0,180,175, 44, 0,179,175, 40, 0,178,175, 32, 0,176,175, /* 0x 6e0 */ + 56, 0,182,175, 36, 0,177,175, 4, 0, 22,141, 0, 0, 49,141, /* 0x 6f0 */ + 0, 0, 3,141, 4, 0, 34,141, 4, 0,180, 39, 33,128,128, 0, /* 0x 700 */ + 33,144,160, 0, 33,168,224, 0, 33, 32,128, 2, 33, 56, 0, 0, /* 0x 710 */ + 12, 0,165, 39, 24, 0,170,175, 12, 0,163,175, 33,152,192, 0, /* 0x 720 */ + 8, 0,162,175, 4, 0,177,175,132, 0, 4, 12, 16, 0,182,175, /* 0x 730 */ + 8, 0,162,143, 44, 0,198,150, 35, 16, 81, 0, 5, 0, 5, 36, /* 0x 740 */ + 33, 32, 0, 2, 8, 0,162,175, 88, 0, 4, 12, 4, 0,178,175, /* 0x 750 */ + 42, 0,198,150, 33, 32, 0, 2, 88, 0, 4, 12, 4, 0, 5, 36, /* 0x 760 */ + 52, 0,210, 38, 24, 0,166,143, 8, 0, 66,142, 52, 0,198, 36, /* 0x 770 */ + 33, 48,194, 0, 33, 32, 0, 2, 88, 0, 4, 12, 3, 0, 5, 36, /* 0x 780 */ + 33, 32, 96, 2, 33, 40,192, 2, 33, 48,128, 2, 33, 56, 0, 2, /* 0x 790 */ + 33, 64,160, 3,231, 0, 4, 12, 33, 72,160, 2, 33, 48, 64, 0, /* 0x 7a0 */ + 33, 32, 0, 2, 9, 0, 5, 36, 88, 0, 4, 12, 33,136, 64, 0, /* 0x 7b0 */ + 44, 0,197,150, 17, 2, 4, 8, 33, 32, 0, 0, 0, 0, 67,142, /* 0x 7c0 */ + 0, 0, 0, 0, 26, 0, 98, 20, 1, 0,132, 36, 8, 0, 66,142, /* 0x 7d0 */ + 0, 0,164,143, 33, 40, 0, 0, 33, 32, 68, 0, 68, 0, 4, 12, /* 0x 7e0 */ + 33, 48, 0, 0, 8, 0, 64, 4, 33,128, 64, 0, 33, 32, 64, 0, /* 0x 7f0 */ + 33, 40,192, 2, 66, 0, 4, 12, 0, 2, 6, 36, 0, 2, 3, 36, /* 0x 800 */ + 3, 0, 67, 16, 33, 48, 0, 0, 59, 0, 4, 12,127, 0, 4, 36, /* 0x 810 */ + 33, 32, 0, 2, 33, 40,192, 2, 33, 56, 0, 0, 33, 64, 0, 0, /* 0x 820 */ +231, 0, 4, 12, 33, 72, 0, 0, 20, 2, 4, 8, 33,136, 64, 0, /* 0x 830 */ + 32, 0, 82, 38, 42, 16,133, 0,224,255, 64, 20, 3, 0, 2, 36, /* 0x 840 */ + 33, 16, 32, 2, 60, 0,191,143, 56, 0,182,143, 52, 0,181,143, /* 0x 850 */ + 48, 0,180,143, 44, 0,179,143, 40, 0,178,143, 36, 0,177,143, /* 0x 860 */ + 32, 0,176,143, 8, 0,224, 3, 64, 0,189, 39 /* 0x 870 */ }; diff --git a/src/stub/src/mipsel.r3000-linux.elf-entry.S b/src/stub/src/mipsel.r3000-linux.elf-entry.S index 127eaaf3..6e5fb8ca 100644 --- a/src/stub/src/mipsel.r3000-linux.elf-entry.S +++ b/src/stub/src/mipsel.r3000-linux.elf-entry.S @@ -141,7 +141,7 @@ lxlzma_srcdone = 7*4 sw tmp,lxlzma_sv_sp(sp) # dynamic frame size addiu a6,sp,lxlzma_dstdone sw ra, lxlzma_sv_pc(sp) - move a5,lxdstlen + lw a5,0(lxdstlen) move a4,lxdst addiu a3,sp,lxlzma_srcdone addiu a2,lxsrclen,-2 # 2 header bytes @@ -242,6 +242,7 @@ unfold: // s7= &decompress; s6= &b_info(fold); s5= sz_pack2 lw s3,adru - decompressor(s7) // for unmap in fold lw s2,lenu - decompressor(s7) // for unmap in fold lw s1,adrx - decompressor(s7) // for upx_main + lw s0,lenx - decompressor(s7) // for upx_main beq a0,a1,L80 // no copy subu t0,a0,a1 // (ADRM - ADRC) == relocation amount diff --git a/src/stub/src/mipsel.r3000-linux.elf-fold.S b/src/stub/src/mipsel.r3000-linux.elf-fold.S index dc51c4ce..5e435587 100644 --- a/src/stub/src/mipsel.r3000-linux.elf-fold.S +++ b/src/stub/src/mipsel.r3000-linux.elf-fold.S @@ -30,6 +30,11 @@ #include "arch/mips/mipsel.r3000/macros.ash" #include "arch/mips/mipsel.r3000/bits.ash" + .set mips1 + .set noreorder + .set noat + .altmacro + PAGE_SHIFT= 12 PAGE_MASK= 0xffffffffffffffff<