diff --git a/.github/travis_testsuite_1.sh b/.github/travis_testsuite_1.sh index cea56782..a1eb1232 100644 --- a/.github/travis_testsuite_1.sh +++ b/.github/travis_testsuite_1.sh @@ -151,79 +151,79 @@ b8c35fa2956da17ca505956e9f5017bb5f3a746322647e24ccb8ff28059cafa4 *powerpc-linux. expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\ 5b7938b426ea815f13f4f5e5c416c67df32650ba08fdc2a83cc7676f88cec461 *amd64-linux.elf/upx-3.91 c1a6ef9d0b8a26f1d6e3307af6f119bc95411a54421c7da3bd6ade9c4eead187 *arm-wince.pe/upx-3.91.exe -e7aa5f3074be256986220ca829517ba46694a938c89d4a0dc1432b8949bef12a *armeb-linux.elf/upx-3.91 +e10077f957cf7582bb58aa5283479d7be2205929e7fa6f109fdd600e482080e3 *armeb-linux.elf/upx-3.91 7d5f0fd6f18e4cd16655ef58805f228bcaddd5b035ce998faed446e290aea3d9 *i386-dos32.djgpp2.coff/upx-3.91.exe -7b89af196ad32522bd6afd62ba0906f0562ac275c6656494afec63f62f9a8134 *i386-linux.elf/upx-3.91 +40fb3e410456044c3890061621eed6cfafb8fa5df019412c2c79b4ed71e23e7e *i386-linux.elf/upx-3.91 d3cfb5347758ee54e54cfc92ae502a3e19702cd4fec115d74f84f8a5ab7a9bc2 *i386-win32.pe/upx-3.91.exe c4c8b912a48bcaaef72fd94cd0c307659a03be2ec359bf01a42a2a39307dd964 *m68k-atari.tos/upx-3.91.ttp -27e9f354bf83d7bd6ee649400520fa47b3f26cfdc94958068a3983a42709bd12 *mipsel-linux.elf/upx-3.91 -132da85c65a1fbc1c76b41e45877eb39c0f3da6d31eb4e31abf4a17793e38ec7 *powerpc-linux.elf/upx-3.91 +856744328060427972111f8bf91ca69481fc97f4777138a7960b664b98c17f9c *mipsel-linux.elf/upx-3.91 +73fde1ed57abe551abec91fbb05dc78e0f7eba74f403fc39c9fe65c5db9a97da *powerpc-linux.elf/upx-3.91 " expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\ 70c7e9da1ea26ff9369560b4b33f49296fff9b6d7bb5683d06d2ceb31f5d3405 *amd64-linux.elf/upx-3.91 2bb2477bdf4643954b4bb707b1017459238b03f66883303cd20e9e8740764dd7 *arm-wince.pe/upx-3.91.exe -2ea79bce7468a0189c1d83b55f97e99f08162689a79894fa1f4b0aab8a628d69 *armeb-linux.elf/upx-3.91 +b6b52dcdac3da44fbd6fc73655efbe10fdd04dcb7c412a59c4c9d63fee718f17 *armeb-linux.elf/upx-3.91 c52473f5dbdac560c05d5d173e5342b5e696e604517359baef581672eb25a9e6 *i386-dos32.djgpp2.coff/upx-3.91.exe -694f39c69cf424e6fc846697cc0606d493cfb8b6ff74c439d9acfacf4f9e6db5 *i386-linux.elf/upx-3.91 +55de11e561738777798b6208c740891b3f23331df997c299f48e66a3d3b856a3 *i386-linux.elf/upx-3.91 5bebadb8455b052580b1f22a949c3eb5a441c8b6ba9c6b50506cb703fc3f65ce *i386-win32.pe/upx-3.91.exe ef94d8b0e02a650c302bec9f2d50462f2accc2fbb8003cc4977bc550d2e5b9f2 *m68k-atari.tos/upx-3.91.ttp -18efda400ce0d158459c24a0d80c2a3d2f924c45780405ed3fbf727099106b89 *mipsel-linux.elf/upx-3.91 -f6dfd4d18135acb2a1fa1a8a77fb184016a9f06e1b726173c44a20c0961c7853 *powerpc-linux.elf/upx-3.91 +521a16b5e4aba197ab60ac16c14f96234a4d668d45d894a9d1cc950769928605 *mipsel-linux.elf/upx-3.91 +f249c2c09a7dcb66a7d727665af8dfcdd66c7c91ec864dd2108de9ba28d52209 *powerpc-linux.elf/upx-3.91 " expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\ 0aa0397c6e6e728992c8cd09fb203bc90d7e114ed9f40c2880b72ed78fa63589 *amd64-linux.elf/upx-3.91 0915344e0ee8e7c006e6cce71c024f518e097a88820c7ab3ca183ab1c614ce82 *arm-wince.pe/upx-3.91.exe -ca0e3c8e74bf306f1721654697ab2edf47a9566893315b3f01f05eeac8ca6c7b *armeb-linux.elf/upx-3.91 +6410bbe827b1c4a84a4f9f314a9c1c92b3a998db31ea081e6b4ef42a7d9c4acc *armeb-linux.elf/upx-3.91 5c5ff78652e76834f3f9ab110c42e3a34ef54c748bce212b0e942049f43f5d4d *i386-dos32.djgpp2.coff/upx-3.91.exe -3e4a146936d8080fe3201316b7e066a8c611d221cbfd636d756d844199309d9d *i386-linux.elf/upx-3.91 +28bf1ccd97a91a4dd5d1449b58b7f076834910eb6f235ce285355dfe0ec18412 *i386-linux.elf/upx-3.91 ef5e25c79d356e9ed0736f34dc5ee7a8f4c66d0c330b8d16672fac7d829b5a7c *i386-win32.pe/upx-3.91.exe dfc6abff2d3417b9708b1232d5791a9232c6623dcedb9dcb59428b67bbf864e9 *m68k-atari.tos/upx-3.91.ttp -e4b558b1d7bb1328bebd61a20faee86dcab3cda2e964b9287c71dfc737c26365 *mipsel-linux.elf/upx-3.91 -0abec661715762e978256cd24d7f1c714806d16f649fa3a263630ce31626516f *powerpc-linux.elf/upx-3.91 +cdb2c6365aeec9cc9a881b70155e8d522d1f8ed634098614809f839f50f09824 *mipsel-linux.elf/upx-3.91 +d0ffb3f65f4d429f7f48e67c4e63c0b0f2c505a595aacc9d4be9f2c5eb52eb61 *powerpc-linux.elf/upx-3.91 " expected_sha256sums__t140_compress_lzma_2_no_filter="\ 926006d4461c7df64659aa7b484a663ff0d482712c2240c3b40f7a63d3f9c07c *amd64-linux.elf/upx-3.91 3af2a2346a252dfacefb6209725907b2947dc1ccf5e99af139608354f852507c *arm-wince.pe/upx-3.91.exe -0455bc4c87c56957d119df692d79b3c3198e110feb22ac0cf8531fd074ce12c8 *armeb-linux.elf/upx-3.91 +fec64ce2d2254e7c226614f9918ec86bae952e28a45804e71c0210989af5c68b *armeb-linux.elf/upx-3.91 964fb400b0b4a2b1926ce7076610db8c3a8e41807fe030209af1615d43b6a020 *i386-dos32.djgpp2.coff/upx-3.91.exe -24af1df888402d67d8d4227b657e322a112f93ee2b5d7114649c813b1abad3d1 *i386-linux.elf/upx-3.91 +df91b5daf91a7a43907c1635c225fc810e4e587edf22dc06acc9d394f9116c3e *i386-linux.elf/upx-3.91 171bde9f27a5571b524e9d7cdba6cefa142bb8a0b114c4d5294944ee5781e0bb *i386-win32.pe/upx-3.91.exe 8826c1f910007360ba6cec02c91bd7cdc87bce1ce27804ca728846b92d9086c9 *m68k-atari.tos/upx-3.91.ttp -800ca71d86e2a119cbfad3da13d9d40b91863cf74b7c64d5e366eeb33b5bd3c8 *mipsel-linux.elf/upx-3.91 -c2abd35be067a6548f11b1df2b39ea74e33315171b8c8ec9eddaccc94febee04 *powerpc-linux.elf/upx-3.91 +ebb6a2d07e105848562c18cc0a57dac035fcc16f41dab231bd26a42075dd53ee *mipsel-linux.elf/upx-3.91 +7a9c60fdd5107fd8b56a51641ad53ca03d1f9bbd9f9bb1dcee1697e247f2e4d1 *powerpc-linux.elf/upx-3.91 " expected_sha256sums__t150_compress_ucl_2_all_filters="\ b7ae93def74c119d62ef1a92eb06074b8ce3a4429512ac64de6120097fb48692 *amd64-linux.elf/upx-3.91 dc7323e753ce62e6a1c22112f139953dbaa1e5268530479f8ad48e0c54062295 *arm-wince.pe/upx-3.91.exe -71a5b99face388e4036ba0cd3c335b61429fb44fefe8a2b86832321f294487ea *armeb-linux.elf/upx-3.91 +72922c26d7a3507de6dff500e83d0367988b003c1220539d09447342da322a1a *armeb-linux.elf/upx-3.91 8614d93ba30def6866b3be92ae5bdd5f294266e0fc4a26c078682917f127656d *i386-dos32.djgpp2.coff/upx-3.91.exe -b1cb869f9577b6264e323923686422b5a402a8ee9dd59549e2fd6c600555f980 *i386-linux.elf/upx-3.91 +92cf79f9a9b4c1a1f4805e061ba207aaba6d6ca1e0abd9946caae3b9cfc46163 *i386-linux.elf/upx-3.91 7c3d7398f63eb9e235992d2d8fd6de9e355f6f21621c45032a6ae6c9009067e6 *i386-win32.pe/upx-3.91.exe 25e9e84bf4e01350b362d088f8107d8228b4576bc47b6b718e9e742f7e4a5205 *m68k-atari.tos/upx-3.91.ttp -8330f99b418b2c3bfa8557a611b7698f9d9d329a8288a976db6ca437d9628f65 *mipsel-linux.elf/upx-3.91 -625eb0c1aea02d8da6a05de8da1dc4e1503dbb9b8df206aa47912cfc7220a91e *powerpc-linux.elf/upx-3.91 +b0adb7a28cbc72a6b230a8958fcf08ffbbbdf802b0c1c7d9db4b797bfed19028 *mipsel-linux.elf/upx-3.91 +d8edf4efb13072b23c6a3b5f0fb87908a8120c2495b573ad427eae779ec4ee75 *powerpc-linux.elf/upx-3.91 " expected_sha256sums__t160_compress_all_methods_1_no_filter="\ e091849d471a5eb866a34ebe09ca4ccae014dae5b592b59b013a4a689bd67385 *amd64-linux.elf/upx-3.91 1c9c618741739404f40d198d2fc77010539589379bf260502af9f10f1ec0d05b *arm-wince.pe/upx-3.91.exe -afa84e2fac416c6a6fb9a453d79a6f3a526969e10a9af606d4aa757b4c1a925f *armeb-linux.elf/upx-3.91 +520c57f1796ee9b93dc6f71acf564ec7937afa8897d16ebcafd608c4d732f7f1 *armeb-linux.elf/upx-3.91 863bbf7f3cf41296987b085a4db8acba372e3d65d8d9c656f9a7276f2e7aa4d3 *i386-dos32.djgpp2.coff/upx-3.91.exe -bf3611aae92a034ea5db3975b2841e457458f25e1e4f5a482cb8371858e68ccf *i386-linux.elf/upx-3.91 +c3e3a0dd6e15524c0730e5b23759ae842efc77e2cd1bd3500ea2cf42ccdf93d0 *i386-linux.elf/upx-3.91 4c73a38e81fe12f36dc37e514f8580c12bdf5d8cb92e9a07b7070db291a2f7eb *i386-win32.pe/upx-3.91.exe 0f902defbce3c9a8ea08910ff2ac62b9f06e7ceed0570501cb3b6287bfd6d797 *m68k-atari.tos/upx-3.91.ttp -f9f7fa61d7ce42b383f4281620f16e1153e00c9f00a2e78fc6d1f02ecfd92135 *mipsel-linux.elf/upx-3.91 -65080a91c5a9b36ead403812d674ef56eec89a296ce85bc65a85d060e8f9767a *powerpc-linux.elf/upx-3.91 +9864b3dcf778e65baa86dfacb468be2cd137733e0ede6042bd5a33bb544c7d70 *mipsel-linux.elf/upx-3.91 +65f6559e66e7b66339577005f648bf3e160fd2ad6f17b8f3f0d1ac9a21b46faf *powerpc-linux.elf/upx-3.91 " expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\ 46d8a75ddc5141f042431188404f720aa2966982d3df25d058b43f4dec692eb0 *amd64-linux.elf/upx-3.91 66653a91c355a1ad1ab7b07c6c20b2d2899d0f42078683d0f4d540df476b1afb *arm-wince.pe/upx-3.91.exe -3f70d22dd0afc3b4853e0f7b9690f3c87a4f1c30cb7d3d394f8738436e0d0c65 *armeb-linux.elf/upx-3.91 +a16de8811f3668791d85a795d749e2a844145541c02b6bb1f193dad95042b317 *armeb-linux.elf/upx-3.91 490a196fbba4a8f21bfb9ac2a3b92a6dc7e287f255a3ab987f7d29d5a75d8db4 *i386-dos32.djgpp2.coff/upx-3.91.exe -327131ced126ba9fb8741fa9693753e8bf13dbe7bcfbe984909b5ec97846e208 *i386-linux.elf/upx-3.91 +17c3ad6b527285abfb5e8de25b5271d43032d3217a5369e7453af93b8477fcb9 *i386-linux.elf/upx-3.91 14b192b5419ca0ec2b3f238dc6ed9c17596e82ff2674a299d4b0a76d118a73de *i386-win32.pe/upx-3.91.exe 2eb756cf3c7e4f80fea379a267071c981f3ab1fbb3eaab7057ca18a2b400fb8f *m68k-atari.tos/upx-3.91.ttp -5c95ea7da0f46b077299a4d4f7ca8357090aaa9b79aead92a6a580954e7a17ff *mipsel-linux.elf/upx-3.91 -a7046736941e5ec0e9104f72334921946fecf7aa5f700ab98b69c2c370097fcd *powerpc-linux.elf/upx-3.91 +2e6eb5ba0dfe44f0721fdee84ed7cb82c1c85e398d378c39defa89591212099e *mipsel-linux.elf/upx-3.91 +7838c1206d49957e14bf1202bcf64ee239382ee9ff318f785bf912310c95810d *powerpc-linux.elf/upx-3.91 " ########## end .sha256sums.recreate diff --git a/src/stub/arm.v4a-linux.elf-fold.h b/src/stub/arm.v4a-linux.elf-fold.h index 467cef51..8d541b3c 100644 --- a/src/stub/arm.v4a-linux.elf-fold.h +++ b/src/stub/arm.v4a-linux.elf-fold.h @@ -1,5 +1,5 @@ /* arm.v4a-linux.elf-fold.h - created from arm.v4a-linux.elf-fold.bin, 2824 (0xb08) bytes + created from arm.v4a-linux.elf-fold.bin, 2792 (0xae8) bytes This file is part of the UPX executable compressor. @@ -31,17 +31,17 @@ */ -#define STUB_ARM_V4A_LINUX_ELF_FOLD_SIZE 2824 -#define STUB_ARM_V4A_LINUX_ELF_FOLD_ADLER32 0xe4f78fec -#define STUB_ARM_V4A_LINUX_ELF_FOLD_CRC32 0xded7c3f2 +#define STUB_ARM_V4A_LINUX_ELF_FOLD_SIZE 2792 +#define STUB_ARM_V4A_LINUX_ELF_FOLD_ADLER32 0x650b8d13 +#define STUB_ARM_V4A_LINUX_ELF_FOLD_CRC32 0x30dbf299 -unsigned char stub_arm_v4a_linux_elf_fold[2824] = { +unsigned char stub_arm_v4a_linux_elf_fold[2792] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 40, 0, 1, 0, 0, 0,128,128, 0, 0, 52, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 2, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, -/* 0x0040 */ 0,128, 0, 0, 8, 11, 0, 0, 8, 11, 0, 0, 5, 0, 0, 0, -/* 0x0050 */ 0,128, 0, 0, 1, 0, 0, 0, 8, 11, 0, 0, 0, 0, 0, 0, +/* 0x0040 */ 0,128, 0, 0,232, 10, 0, 0,232, 10, 0, 0, 5, 0, 0, 0, +/* 0x0050 */ 0,128, 0, 0, 1, 0, 0, 0,232, 10, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 184, 34,159,229, 3, 32,130,225,176, 34,143,229,240, 31,189,232, @@ -64,7 +64,7 @@ unsigned char stub_arm_v4a_linux_elf_fold[2824] = { /* 0x0190 */ 12, 0,141,229, 11, 80,160,225, 0, 14,189,232, 10,220, 77,226, /* 0x01a0 */ 9, 64,160,225, 4,144,154,229, 13,128,160,225, 0,112,154,229, /* 0x01b0 */ 152, 96,143,226, 12,144,137,226,248, 15, 45,233, 15, 0,189,232, -/* 0x01c0 */ 219, 1, 0,235, 20,208,141,226, 10,220,141,226, 16, 0,141,229, +/* 0x01c0 */ 212, 1, 0,235, 20,208,141,226, 10,220,141,226, 16, 0,141,229, /* 0x01d0 */ 0, 80,160,227, 0, 64,157,229, 2, 48,160,227, 1, 32,160,227, /* 0x01e0 */ 1, 26,160,227, 0, 0,160,227, 69, 0, 0,235, 4, 0,157,228, /* 0x01f0 */ 50, 0, 0,235, 7, 64,189,232, 0, 48,160,227, 0, 64,160,227, @@ -96,121 +96,119 @@ unsigned char stub_arm_v4a_linux_elf_fold[2824] = { /* 0x0390 */ 140, 15, 80,224,172, 16,193,224, 12, 0,144,224, 0, 0,161,226, /* 0x03a0 */ 14,240,160,225, 0, 0, 80,227, 14,240,160, 1, 0, 48,144,229, /* 0x03b0 */ 1, 0, 83,225, 8, 0,128, 18,251,255,255, 26, 4, 32,128,229, -/* 0x03c0 */ 14,240,160,225,127, 0,160,227,181,255,255,235, 0, 48,144,229, -/* 0x03d0 */ 2, 0, 83,225, 4, 48,144,229, 4,224, 45,229, 3,192,160, 33, -/* 0x03e0 */ 2,224,160,225, 2, 32,160, 33, 3, 0, 0, 42,127, 0,160,227, -/* 0x03f0 */ 171,255,255,235, 1, 48, 92,229, 1, 48, 65,229, 1, 32, 66,226, -/* 0x0400 */ 1, 0,114,227, 1,192,140,226, 1, 16,129,226,248,255,255, 26, -/* 0x0410 */ 4, 32,144,229, 0, 48,144,229, 14, 32,130,224, 3, 48,110,224, -/* 0x0420 */ 0, 48,128,229, 4, 32,128,229, 4,240,157,228,240, 64, 45,233, -/* 0x0430 */ 0, 80,160,225, 20,208, 77,226, 1, 64,160,225, 2,112,160,225, -/* 0x0440 */ 3, 96,160,225, 73, 0, 0,234, 4, 16,141,226, 5, 0,160,225, -/* 0x0450 */ 12, 32,160,227,220,255,255,235, 4,192,157,229, 0, 0, 92,227, -/* 0x0460 */ 8, 16,157,229, 8, 0, 0, 26, 20, 49,159,229, 3, 0, 81,225, -/* 0x0470 */ 2, 0,160, 19, 3, 0, 0, 26, 0, 48,149,229, 0, 0, 83,227, -/* 0x0480 */ 61, 0, 0, 10, 3, 0,160,227,205,255,255,235, 0, 0, 81,227, -/* 0x0490 */ 4, 0,160, 3,251,255,255, 10, 12, 0, 81,225, 2, 0, 0,138, -/* 0x04a0 */ 0, 48,148,229, 3, 0, 92,225, 1, 0, 0,154, 5, 0,160,227, -/* 0x04b0 */ 244,255,255,234, 12, 0, 81,225, 35, 0, 0, 42, 16,192,141,229, -/* 0x04c0 */ 12,192,157,229, 4, 0,149,229, 4, 32,148,229, 16, 48,141,226, -/* 0x04d0 */ 0,192,141,229, 15,224,160,225, 7,240,160,225, 0, 0, 80,227, -/* 0x04e0 */ 3, 0, 0, 26, 16, 16,157,229, 4, 48,157,229, 3, 0, 81,225, -/* 0x04f0 */ 1, 0, 0, 10, 7, 0,160,227,226,255,255,234, 13, 32,221,229, -/* 0x0500 */ 0, 0, 82,227, 0, 0, 86, 19, 9, 0, 0, 10, 2, 12, 81,227, -/* 0x0510 */ 2, 0, 0,138, 0, 48,148,229, 1, 0, 83,225, 4, 0, 0, 26, -/* 0x0520 */ 2, 48,160,225, 4, 0,148,229, 14, 32,221,229, 15,224,160,225, -/* 0x0530 */ 6,240,160,225, 8, 48,157,229, 6, 0,149,232, 3, 32,130,224, -/* 0x0540 */ 1, 16, 99,224, 6, 0,133,232, 3, 0, 0,234, 1, 32,160,225, -/* 0x0550 */ 5, 0,160,225, 4, 16,148,229,155,255,255,235, 4, 48,157,229, -/* 0x0560 */ 6, 0,148,232, 3, 32,130,224, 1, 16, 99,224, 6, 0,132,232, -/* 0x0570 */ 0, 48,148,229, 0, 0, 83,227,178,255,255, 26, 20,208,141,226, -/* 0x0580 */ 240,128,189,232, 85, 80, 88, 33,240, 79, 45,233, 1,160,160,225, -/* 0x0590 */ 176,193,218,225, 28, 16,145,229,188,226,218,225, 52,208, 77,226, -/* 0x05a0 */ 2, 0, 92,227, 1, 96,138,224, 20, 0,141,229, 16, 80,160, 3, -/* 0x05b0 */ 0, 80,160, 19, 1,224, 78,226, 6, 16,160,225, 0, 0,224,227, -/* 0x05c0 */ 0,192,160,227, 16, 32,141,229, 12, 48,141,229, 13, 0, 0,234, -/* 0x05d0 */ 0, 48,145,229, 1, 0, 83,227, 8, 0, 0, 26, 20, 48,145,229, -/* 0x05e0 */ 0, 0, 83,227, 5, 0, 0, 10, 8, 32,145,229, 2, 48,131,224, -/* 0x05f0 */ 3, 0, 92,225, 3,192,160, 49, 2, 0, 80,225, 2, 0,160, 33, -/* 0x0600 */ 32, 16,129,226, 1,224, 78,226, 0, 0, 94,227,239,255,255,170, -/* 0x0610 */ 255, 78,192,227, 15, 64,196,227, 12, 48,100,224,255, 62,131,226, -/* 0x0620 */ 15, 48,131,226, 16, 32, 5,226,255, 62,195,227, 0, 0, 82,227, -/* 0x0630 */ 15, 48,195,227, 40, 48,141,229, 32, 64,141, 21, 4, 0, 0, 26, -/* 0x0640 */ 5, 48,160,225, 4, 0,160,225, 40, 16,157,229, 55,255,255,235, -/* 0x0650 */ 32, 0,141,229, 32, 16,157,229, 1, 64,100,224, 52, 48,160,227, -/* 0x0660 */ 4, 32,160,225,147, 2, 2,224, 32, 80,134,226, 0, 48,160,227, -/* 0x0670 */ 24, 64,141,229, 36, 32,141,229, 28, 48,141,229,141, 0, 0,234, -/* 0x0680 */ 16,192,157,229, 0, 0, 92,227, 9, 0, 0, 10, 32, 48, 21,229, -/* 0x0690 */ 6, 0, 83,227, 6, 0, 0, 26, 24, 16,157,229, 24, 32, 21,229, -/* 0x06a0 */ 12, 0,157,229, 2, 32,129,224, 3, 16,160,227, 60,255,255,235, -/* 0x06b0 */ 124, 0, 0,234, 32, 48, 21,229, 1, 0, 83,227,121, 0, 0, 26, -/* 0x06c0 */ 12, 32, 21,229, 0, 0, 82,227, 8, 32,141,229,117, 0, 0, 10, -/* 0x06d0 */ 8, 48, 21,229, 80, 34,159,229, 7, 48, 3,226, 3, 49,160,225, -/* 0x06e0 */ 50, 67,160,225, 24,192,157,229, 24, 48, 21,229, 16, 16,157,229, -/* 0x06f0 */ 3,176,140,224, 11, 42,160,225, 16, 48, 21,229, 34, 42,160,225, -/* 0x0700 */ 0, 0, 81,227, 44, 48,141,229, 48,176,141,229, 2,128,131,224, -/* 0x0710 */ 7,144, 4,226, 11, 96, 98,224, 15, 0, 0, 10, 6, 0,160,225, -/* 0x0720 */ 8, 16,160,225, 3, 32,160,227, 16, 48,160,227,255,254,255,235, -/* 0x0730 */ 0, 0, 86,225, 6, 0,160, 19, 20, 0, 0, 26, 92, 32,157,229, -/* 0x0740 */ 4, 48, 20,226, 2, 48,160, 17, 16, 0,157,229, 44, 16,141,226, -/* 0x0750 */ 20, 32,157,229, 52,255,255,235, 13, 0, 0,234, 28,192, 21,229, -/* 0x0760 */ 12,192, 98,224, 4,192,141,229, 20,192,157,229, 6, 0,160,225, -/* 0x0770 */ 8, 16,160,225, 9, 32,160,225, 18, 48,160,227, 0,192,141,229, -/* 0x0780 */ 223,254,255,235, 0, 0, 86,225, 1, 0, 0, 10, 8, 0,160,227, -/* 0x0790 */ 11,255,255,235, 0, 48,104,226, 3,122,160,225, 2, 0, 25,227, -/* 0x07a0 */ 39,122,160,225, 7, 0, 0, 10, 0, 0, 87,227, 5, 0, 0, 10, -/* 0x07b0 */ 8, 16,134,224, 7, 32,160,225, 0, 48,160,227, 1, 32, 82,226, -/* 0x07c0 */ 1, 48,193,228,251,255,255, 26, 16, 16,157,229, 0, 0, 81,227, -/* 0x07d0 */ 38, 0, 0, 10,211,254,255,235, 32, 48, 21,229, 1, 0, 83,227, -/* 0x07e0 */ 27, 0, 0, 26, 8, 48, 21,229, 1, 0, 19,227, 24, 0, 0, 10, -/* 0x07f0 */ 12, 32, 21,229, 16, 48, 21,229, 3, 0, 82,225, 24, 16, 21,229, -/* 0x0800 */ 66, 0, 0, 26, 1, 48,130,224, 24, 32,157,229, 3, 48,131,226, -/* 0x0810 */ 3, 48,130,224, 3, 64,195,227, 0, 48,100,226, 3, 58,160,225, -/* 0x0820 */ 35, 58,160,225, 7, 0, 83,227, 56, 0, 0,154,252, 48,159,229, -/* 0x0830 */ 0, 0,132,229, 8, 16,132,226, 4, 0,160,225, 4, 48,132,229, -/* 0x0840 */ 172,254,255,235, 12, 0,157,229, 4, 32,160,225, 0, 16,160,227, -/* 0x0850 */ 211,254,255,235, 6, 0,160,225, 8, 16,160,225, 9, 32,160,225, -/* 0x0860 */ 162,254,255,235, 0, 0, 80,227, 10, 0,160, 19,199,255,255, 26, -/* 0x0870 */ 8,192,157,229, 7, 48,136,224, 12, 16,139,224, 3, 64,134,224, -/* 0x0880 */ 1, 0, 84,225, 7, 0, 0, 42, 1, 16,100,224, 9, 32,160,225, -/* 0x0890 */ 4, 0,160,225, 16, 48,160,227,164,254,255,235, 0, 0, 84,225, -/* 0x08a0 */ 9, 0,160, 19,185,255,255, 26, 28, 16,157,229, 1, 16,129,226, -/* 0x08b0 */ 28, 16,141,229, 32, 80,133,226,188, 50,218,225, 28, 32,157,229, -/* 0x08c0 */ 3, 0, 82,225,109,255,255,186, 16, 48,157,229, 0, 0, 83,227, -/* 0x08d0 */ 5, 0, 0, 10,176, 49,218,225, 3, 0, 83,227, 32,192,157, 21, -/* 0x08e0 */ 40, 16,157, 21, 1, 0,140, 16,122,254,255, 27, 88, 32,157,229, -/* 0x08f0 */ 0, 0, 82,227, 24, 48,157, 21, 0, 48,130, 21, 24, 16,157,229, -/* 0x0900 */ 24, 0,154,229, 0, 0,129,224, 52,208,141,226,240,143,189,232, -/* 0x0910 */ 28, 48, 21,229, 0, 0, 83,227, 36,192,157, 5, 12, 48,129, 0, -/* 0x0920 */ 8, 64,131, 2,192,255,255, 10,201,255,255,234, 64, 98, 81,115, -/* 0x0930 */ 14,240,160,225,240, 69, 45,233, 12,208, 77,226, 44, 96,157,229, -/* 0x0940 */ 0,112,160,225, 1, 80,160,225, 48, 0,141,226, 40, 16,141,226, -/* 0x0950 */ 3,160,160,225, 0, 48,160,227, 2,128,160,225, 48, 64,157,229, -/* 0x0960 */ 177,254,255,235, 56,192,157,229, 28, 32,150,229, 52, 48,157,229, -/* 0x0970 */ 2, 32,140,224, 3, 48,100,224, 3, 16,160,227, 7, 0,160,225, -/* 0x0980 */ 52, 48,141,229, 8,192,141,229, 48, 80,141,229,132,254,255,235, -/* 0x0990 */ 7, 0,160,225, 5, 16,160,227,188, 34,214,225,128,254,255,235, -/* 0x09a0 */ 7, 0,160,225, 4, 16,160,227,186, 34,214,225,124,254,255,235, -/* 0x09b0 */ 176, 49,214,225, 3, 0, 83,227, 52, 80,134,226, 23, 0, 0, 26, -/* 0x09c0 */ 8, 48,157,229, 24, 32,150,229, 3, 32,130,224, 2, 48,160,227, -/* 0x09d0 */ 7, 0,160,225, 9, 16,160,227,176, 49,198,225, 24, 32,134,229, -/* 0x09e0 */ 111,254,255,235, 8,192,157,229, 6, 16,160,225, 0, 0,160,227, -/* 0x09f0 */ 6, 0, 0,234, 28, 48,145,229, 32, 32,145,229, 12, 48,131,224, -/* 0x0a00 */ 12, 32,130,224, 28, 48,129,229, 32, 32,129,229, 1, 0,128,226, -/* 0x0a10 */ 188, 50,214,225, 3, 0, 80,225, 32, 16,129,226,244,255,255, 58, -/* 0x0a20 */ 8,192,141,226, 6, 16,160,225, 48, 32,141,226, 7, 48,160,225, -/* 0x0a30 */ 8, 0,160,225, 0,192,141,229, 4,160,141,229,209,254,255,235, -/* 0x0a40 */ 0, 64,160,225, 9, 16,160,227, 4, 32,160,225, 7, 0,160,225, -/* 0x0a50 */ 83,254,255,235,188, 18,214,225, 0, 32,160,227, 36, 0, 0,234, -/* 0x0a60 */ 0, 48,149,229, 3, 0, 83,227, 31, 0, 0, 26, 8, 48,149,229, -/* 0x0a70 */ 8, 0,157,229, 0, 16,160,227, 0, 0,131,224, 1, 32,160,225, -/* 0x0a80 */ 12,254,255,235, 0, 80, 80,226, 18, 0,160,179, 5, 0, 0,186, -/* 0x0a90 */ 6, 16,160,225, 2, 44,160,227, 2,254,255,235, 2, 12, 80,227, -/* 0x0aa0 */ 1, 0, 0, 10, 19, 0,160,227, 69,254,255,235, 0,224,160,227, -/* 0x0ab0 */ 14, 32,160,225, 8,192,141,226, 6, 16,160,225, 7, 48,160,225, -/* 0x0ac0 */ 5, 0,160,225, 0, 80,141,232,174,254,255,235, 7, 16,160,227, -/* 0x0ad0 */ 0, 64,160,225, 8, 32,157,229, 7, 0,160,225, 48,254,255,235, -/* 0x0ae0 */ 5, 0,160,225,245,253,255,235, 3, 0, 0,234, 32, 80,133,226, -/* 0x0af0 */ 1, 32,130,226, 1, 0, 82,225,216,255,255,186, 4, 0,160,225, -/* 0x0b00 */ 12,208,141,226,240,133,189,232 +/* 0x03c0 */ 14,240,160,225, 0, 0,159,229, 14,240,160,225, 0,240,255,255, +/* 0x03d0 */ 0, 48,144,229, 2, 0, 83,225, 4, 48,144,229, 4,224, 45,229, +/* 0x03e0 */ 3,192,160, 33, 2,224,160,225, 2, 32,160, 33, 3, 0, 0, 42, +/* 0x03f0 */ 127, 0,160,227,170,255,255,235, 1, 48, 92,229, 1, 48, 65,229, +/* 0x0400 */ 1, 32, 66,226, 1, 0,114,227, 1,192,140,226, 1, 16,129,226, +/* 0x0410 */ 248,255,255, 26, 4, 32,144,229, 0, 48,144,229, 14, 32,130,224, +/* 0x0420 */ 3, 48,110,224, 0, 48,128,229, 4, 32,128,229, 4,240,157,228, +/* 0x0430 */ 240, 64, 45,233, 0, 80,160,225, 20,208, 77,226, 1, 64,160,225, +/* 0x0440 */ 2,112,160,225, 3, 96,160,225, 68, 0, 0,234, 4, 16,141,226, +/* 0x0450 */ 5, 0,160,225, 12, 32,160,227,220,255,255,235, 4,224,157,229, +/* 0x0460 */ 0, 0, 94,227, 8, 16,157,229, 6, 0, 0, 26, 0, 49,159,229, +/* 0x0470 */ 3, 0, 81,225, 5, 0, 0, 26, 0, 48,149,229, 0, 0, 83,227, +/* 0x0480 */ 2, 0, 0, 26, 56, 0, 0,234, 0, 0, 81,227, 1, 0, 0, 26, +/* 0x0490 */ 127, 0,160,227,130,255,255,235, 14, 0, 81,225,251,255,255,138, +/* 0x04a0 */ 0, 48,148,229, 3, 0, 94,225,248,255,255,138, 14, 0, 81,225, +/* 0x04b0 */ 33, 0, 0, 42, 12,192,221,229, 4, 0,149,229, 4, 32,148,229, +/* 0x04c0 */ 16, 48,141,226, 16,224,141,229, 0,192,141,229, 15,224,160,225, +/* 0x04d0 */ 7,240,160,225, 0, 0, 80,227,236,255,255, 26, 16, 16,157,229, +/* 0x04e0 */ 4, 48,157,229, 3, 0, 81,225,232,255,255, 26, 13, 32,221,229, +/* 0x04f0 */ 0, 0, 82,227, 0, 0, 86, 19, 9, 0, 0, 10, 2, 12, 81,227, +/* 0x0500 */ 2, 0, 0,138, 0, 48,148,229, 1, 0, 83,225, 4, 0, 0, 26, +/* 0x0510 */ 2, 48,160,225, 4, 0,148,229, 14, 32,221,229, 15,224,160,225, +/* 0x0520 */ 6,240,160,225, 8, 48,157,229, 6, 0,149,232, 3, 32,130,224, +/* 0x0530 */ 1, 16, 99,224, 6, 0,133,232, 3, 0, 0,234, 1, 32,160,225, +/* 0x0540 */ 5, 0,160,225, 4, 16,148,229,160,255,255,235, 4, 48,157,229, +/* 0x0550 */ 6, 0,148,232, 3, 32,130,224, 1, 16, 99,224, 6, 0,132,232, +/* 0x0560 */ 0, 48,148,229, 0, 0, 83,227,183,255,255, 26, 20,208,141,226, +/* 0x0570 */ 240,128,189,232, 85, 80, 88, 33,240, 79, 45,233, 1,160,160,225, +/* 0x0580 */ 176,193,218,225, 28, 16,145,229,188,226,218,225, 52,208, 77,226, +/* 0x0590 */ 2, 0, 92,227, 1, 96,138,224, 20, 0,141,229, 16, 80,160, 3, +/* 0x05a0 */ 0, 80,160, 19, 1,224, 78,226, 6, 16,160,225, 0, 0,224,227, +/* 0x05b0 */ 0,192,160,227, 16, 32,141,229, 12, 48,141,229, 13, 0, 0,234, +/* 0x05c0 */ 0, 48,145,229, 1, 0, 83,227, 8, 0, 0, 26, 20, 48,145,229, +/* 0x05d0 */ 0, 0, 83,227, 5, 0, 0, 10, 8, 32,145,229, 2, 48,131,224, +/* 0x05e0 */ 3, 0, 92,225, 3,192,160, 49, 2, 0, 80,225, 2, 0,160, 33, +/* 0x05f0 */ 32, 16,129,226, 1,224, 78,226, 0, 0, 94,227,239,255,255,170, +/* 0x0600 */ 255, 78,192,227, 15, 64,196,227, 12, 48,100,224,255, 62,131,226, +/* 0x0610 */ 15, 48,131,226, 16, 32, 5,226,255, 62,195,227, 0, 0, 82,227, +/* 0x0620 */ 15, 48,195,227, 40, 48,141,229, 32, 64,141, 21, 4, 0, 0, 26, +/* 0x0630 */ 5, 48,160,225, 4, 0,160,225, 40, 16,157,229, 59,255,255,235, +/* 0x0640 */ 32, 0,141,229, 32, 16,157,229, 1, 64,100,224, 52, 48,160,227, +/* 0x0650 */ 4, 32,160,225,147, 2, 2,224, 32, 80,134,226, 0, 48,160,227, +/* 0x0660 */ 24, 64,141,229, 36, 32,141,229, 28, 48,141,229,138, 0, 0,234, +/* 0x0670 */ 16,192,157,229, 0, 0, 92,227, 9, 0, 0, 10, 32, 48, 21,229, +/* 0x0680 */ 6, 0, 83,227, 6, 0, 0, 26, 24, 16,157,229, 24, 32, 21,229, +/* 0x0690 */ 12, 0,157,229, 2, 32,129,224, 3, 16,160,227, 64,255,255,235, +/* 0x06a0 */ 121, 0, 0,234, 32, 48, 21,229, 1, 0, 83,227,118, 0, 0, 26, +/* 0x06b0 */ 12, 32, 21,229, 0, 0, 82,227, 8, 32,141,229,114, 0, 0, 10, +/* 0x06c0 */ 8, 48, 21,229, 68, 34,159,229, 7, 48, 3,226, 3, 49,160,225, +/* 0x06d0 */ 50, 67,160,225, 24,192,157,229, 24, 48, 21,229, 16, 16,157,229, +/* 0x06e0 */ 3,176,140,224, 11, 42,160,225, 16, 48, 21,229, 34, 42,160,225, +/* 0x06f0 */ 0, 0, 81,227, 44, 48,141,229, 48,176,141,229, 2,128,131,224, +/* 0x0700 */ 7,144, 4,226, 11, 96, 98,224, 14, 0, 0, 10, 6, 0,160,225, +/* 0x0710 */ 8, 16,160,225, 3, 32,160,227, 16, 48,160,227, 3,255,255,235, +/* 0x0720 */ 0, 0, 86,225, 73, 0, 0, 26, 92, 32,157,229, 4, 48, 20,226, +/* 0x0730 */ 2, 48,160, 17, 16, 0,157,229, 44, 16,141,226, 20, 32,157,229, +/* 0x0740 */ 58,255,255,235, 11, 0, 0,234, 28,192, 21,229, 12,192, 98,224, +/* 0x0750 */ 4,192,141,229, 20,192,157,229, 6, 0,160,225, 8, 16,160,225, +/* 0x0760 */ 9, 32,160,225, 18, 48,160,227, 0,192,141,229,228,254,255,235, +/* 0x0770 */ 0, 0, 86,225, 53, 0, 0, 26, 0, 48,104,226, 3,122,160,225, +/* 0x0780 */ 2, 0, 25,227, 39,122,160,225, 7, 0, 0, 10, 0, 0, 87,227, +/* 0x0790 */ 5, 0, 0, 10, 8, 16,134,224, 7, 32,160,225, 0, 48,160,227, +/* 0x07a0 */ 1, 32, 82,226, 1, 48,193,228,251,255,255, 26, 16, 16,157,229, +/* 0x07b0 */ 0, 0, 81,227, 39, 0, 0, 10,218,254,255,235, 32, 48, 21,229, +/* 0x07c0 */ 1, 0, 83,227, 27, 0, 0, 26, 8, 48, 21,229, 1, 0, 19,227, +/* 0x07d0 */ 24, 0, 0, 10, 12, 32, 21,229, 16, 48, 21,229, 3, 0, 82,225, +/* 0x07e0 */ 24, 16, 21,229, 66, 0, 0, 26, 1, 48,130,224, 24, 32,157,229, +/* 0x07f0 */ 3, 48,131,226, 3, 48,130,224, 3, 64,195,227, 0, 48,100,226, +/* 0x0800 */ 3, 58,160,225, 35, 58,160,225, 7, 0, 83,227, 56, 0, 0,154, +/* 0x0810 */ 252, 48,159,229, 0, 0,132,229, 8, 16,132,226, 4, 0,160,225, +/* 0x0820 */ 4, 48,132,229,179,254,255,235, 12, 0,157,229, 4, 32,160,225, +/* 0x0830 */ 0, 16,160,227,218,254,255,235, 6, 0,160,225, 8, 16,160,225, +/* 0x0840 */ 9, 32,160,225,169,254,255,235, 0, 0, 80,227, 1, 0, 0, 10, +/* 0x0850 */ 127, 0,160,227,146,254,255,235, 8,192,157,229, 7, 48,136,224, +/* 0x0860 */ 12, 16,139,224, 3, 64,134,224, 1, 0, 84,225, 6, 0, 0, 42, +/* 0x0870 */ 1, 16,100,224, 9, 32,160,225, 4, 0,160,225, 16, 48,160,227, +/* 0x0880 */ 170,254,255,235, 0, 0, 84,225,240,255,255, 26, 28, 16,157,229, +/* 0x0890 */ 1, 16,129,226, 28, 16,141,229, 32, 80,133,226,188, 50,218,225, +/* 0x08a0 */ 28, 32,157,229, 3, 0, 82,225,112,255,255,186, 16, 48,157,229, +/* 0x08b0 */ 0, 0, 83,227, 5, 0, 0, 10,176, 49,218,225, 3, 0, 83,227, +/* 0x08c0 */ 32,192,157, 21, 40, 16,157, 21, 1, 0,140, 16,129,254,255, 27, +/* 0x08d0 */ 88, 32,157,229, 0, 0, 82,227, 24, 48,157, 21, 0, 48,130, 21, +/* 0x08e0 */ 24, 16,157,229, 24, 0,154,229, 0, 0,129,224, 52,208,141,226, +/* 0x08f0 */ 240,143,189,232, 28, 48, 21,229, 0, 0, 83,227, 36,192,157, 5, +/* 0x0900 */ 12, 48,129, 0, 8, 64,131, 2,192,255,255, 10,201,255,255,234, +/* 0x0910 */ 64, 98, 81,115, 14,240,160,225,240, 69, 45,233, 12,208, 77,226, +/* 0x0920 */ 44, 96,157,229, 0,112,160,225, 1, 80,160,225, 48, 0,141,226, +/* 0x0930 */ 40, 16,141,226, 3,160,160,225, 0, 48,160,227, 2,128,160,225, +/* 0x0940 */ 48, 64,157,229,185,254,255,235, 56,192,157,229, 28, 32,150,229, +/* 0x0950 */ 52, 48,157,229, 2, 32,140,224, 3, 48,100,224, 3, 16,160,227, +/* 0x0960 */ 7, 0,160,225, 52, 48,141,229, 8,192,141,229, 48, 80,141,229, +/* 0x0970 */ 139,254,255,235, 7, 0,160,225, 5, 16,160,227,188, 34,214,225, +/* 0x0980 */ 135,254,255,235, 7, 0,160,225, 4, 16,160,227,186, 34,214,225, +/* 0x0990 */ 131,254,255,235,176, 49,214,225, 3, 0, 83,227, 52, 80,134,226, +/* 0x09a0 */ 23, 0, 0, 26, 8, 48,157,229, 24, 32,150,229, 3, 32,130,224, +/* 0x09b0 */ 2, 48,160,227, 7, 0,160,225, 9, 16,160,227,176, 49,198,225, +/* 0x09c0 */ 24, 32,134,229,118,254,255,235, 8,192,157,229, 6, 16,160,225, +/* 0x09d0 */ 0, 0,160,227, 6, 0, 0,234, 28, 48,145,229, 32, 32,145,229, +/* 0x09e0 */ 12, 48,131,224, 12, 32,130,224, 28, 48,129,229, 32, 32,129,229, +/* 0x09f0 */ 1, 0,128,226,188, 50,214,225, 3, 0, 80,225, 32, 16,129,226, +/* 0x0a00 */ 244,255,255, 58, 8,192,141,226, 6, 16,160,225, 48, 32,141,226, +/* 0x0a10 */ 7, 48,160,225, 8, 0,160,225, 0,192,141,229, 4,160,141,229, +/* 0x0a20 */ 212,254,255,235, 0, 64,160,225, 9, 16,160,227, 4, 32,160,225, +/* 0x0a30 */ 7, 0,160,225, 90,254,255,235,188, 18,214,225, 0, 32,160,227, +/* 0x0a40 */ 35, 0, 0,234, 0, 48,149,229, 3, 0, 83,227, 30, 0, 0, 26, +/* 0x0a50 */ 8, 48,149,229, 8, 0,157,229, 0, 16,160,227, 0, 0,131,224, +/* 0x0a60 */ 1, 32,160,225, 19,254,255,235, 0, 80, 80,226, 4, 0, 0,186, +/* 0x0a70 */ 6, 16,160,225, 2, 44,160,227, 10,254,255,235, 2, 12, 80,227, +/* 0x0a80 */ 1, 0, 0, 10,127, 0,160,227, 5,254,255,235, 0,224,160,227, +/* 0x0a90 */ 14, 32,160,225, 8,192,141,226, 6, 16,160,225, 7, 48,160,225, +/* 0x0aa0 */ 5, 0,160,225, 0, 80,141,232,178,254,255,235, 7, 16,160,227, +/* 0x0ab0 */ 0, 64,160,225, 8, 32,157,229, 7, 0,160,225, 56,254,255,235, +/* 0x0ac0 */ 5, 0,160,225,253,253,255,235, 3, 0, 0,234, 32, 80,133,226, +/* 0x0ad0 */ 1, 32,130,226, 1, 0, 82,225,217,255,255,186, 4, 0,160,225, +/* 0x0ae0 */ 12,208,141,226,240,133,189,232 }; diff --git a/src/stub/arm.v5a-linux.elf-fold.h b/src/stub/arm.v5a-linux.elf-fold.h index 3d03ac2d..2626992c 100644 --- a/src/stub/arm.v5a-linux.elf-fold.h +++ b/src/stub/arm.v5a-linux.elf-fold.h @@ -1,5 +1,5 @@ /* arm.v5a-linux.elf-fold.h - created from arm.v5a-linux.elf-fold.bin, 2980 (0xba4) bytes + created from arm.v5a-linux.elf-fold.bin, 2948 (0xb84) bytes This file is part of the UPX executable compressor. @@ -31,17 +31,17 @@ */ -#define STUB_ARM_V5A_LINUX_ELF_FOLD_SIZE 2980 -#define STUB_ARM_V5A_LINUX_ELF_FOLD_ADLER32 0x7680d919 -#define STUB_ARM_V5A_LINUX_ELF_FOLD_CRC32 0x6a20f450 +#define STUB_ARM_V5A_LINUX_ELF_FOLD_SIZE 2948 +#define STUB_ARM_V5A_LINUX_ELF_FOLD_ADLER32 0xb0e4d69e +#define STUB_ARM_V5A_LINUX_ELF_FOLD_CRC32 0xe4820fec -unsigned char stub_arm_v5a_linux_elf_fold[2980] = { +unsigned char stub_arm_v5a_linux_elf_fold[2948] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 40, 0, 1, 0, 0, 0,128,128, 0, 0, 52, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 2, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, -/* 0x0040 */ 0,128, 0, 0,164, 11, 0, 0,164, 11, 0, 0, 5, 0, 0, 0, -/* 0x0050 */ 0,128, 0, 0, 1, 0, 0, 0,164, 11, 0, 0, 0, 0, 0, 0, +/* 0x0040 */ 0,128, 0, 0,132, 11, 0, 0,132, 11, 0, 0, 5, 0, 0, 0, +/* 0x0050 */ 0,128, 0, 0, 1, 0, 0, 0,132, 11, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 88, 35,159,229, 3, 32,130,225, 80, 35,143,229,240, 31,189,232, @@ -64,7 +64,7 @@ unsigned char stub_arm_v5a_linux_elf_fold[2980] = { /* 0x0190 */ 12, 0,141,229, 11, 80,160,225, 0, 14,189,232, 10,220, 77,226, /* 0x01a0 */ 9, 64,160,225, 4,144,154,229, 13,128,160,225, 0,112,154,229, /* 0x01b0 */ 152, 96,143,226, 12,144,137,226,248, 15, 45,233, 15, 0,189,232, -/* 0x01c0 */ 2, 2, 0,235, 20,208,141,226, 10,220,141,226, 16, 0,141,229, +/* 0x01c0 */ 251, 1, 0,235, 20,208,141,226, 10,220,141,226, 16, 0,141,229, /* 0x01d0 */ 0, 80,160,227, 0, 64,157,229, 2, 48,160,227, 1, 32,160,227, /* 0x01e0 */ 1, 26,160,227, 0, 0,160,227,106, 0, 0,235, 4, 0,157,228, /* 0x01f0 */ 62, 0, 0,235, 7, 64,189,232, 0, 48,160,227, 0, 64,160,227, @@ -106,121 +106,119 @@ unsigned char stub_arm_v5a_linux_elf_fold[2980] = { /* 0x0430 */ 140, 15, 80,224,172, 16,193,224, 12, 0,144,224, 0, 0,161,226, /* 0x0440 */ 14,240,160,225, 0, 0, 80,227, 30,255, 47, 1, 0, 48,144,229, /* 0x0450 */ 1, 0, 83,225, 8, 0,128, 18,251,255,255, 26, 4, 32,128,229, -/* 0x0460 */ 30,255, 47,225,127, 0,160,227,141,255,255,235, 0, 48,144,229, -/* 0x0470 */ 4,224, 45,229, 2, 0, 83,225, 4, 48,144,229, 2,224,160,225, -/* 0x0480 */ 3,192,160, 33, 2, 32,160, 33, 3, 0, 0, 42,127, 0,160,227, -/* 0x0490 */ 131,255,255,235, 1, 48, 92,229, 1, 48, 65,229, 1, 32, 66,226, -/* 0x04a0 */ 1, 0,114,227, 1,192,140,226, 1, 16,129,226,248,255,255, 26, -/* 0x04b0 */ 4, 32,144,229, 0, 48,144,229, 14, 32,130,224, 3, 48,110,224, -/* 0x04c0 */ 0, 48,128,229, 4, 32,128,229, 4,240,157,228,240, 64, 45,233, -/* 0x04d0 */ 0, 80,160,225, 20,208, 77,226, 1, 64,160,225, 2,112,160,225, -/* 0x04e0 */ 3, 96,160,225, 71, 0, 0,234, 4, 16,141,226, 5, 0,160,225, -/* 0x04f0 */ 12, 32,160,227,220,255,255,235, 4,192,157,229, 8, 16,157,229, -/* 0x0500 */ 0, 0, 92,227, 8, 0, 0, 26, 12, 49,159,229, 3, 0, 81,225, -/* 0x0510 */ 2, 0,160, 19, 3, 0, 0, 26, 0, 48,149,229, 0, 0, 83,227, -/* 0x0520 */ 59, 0, 0, 10, 3, 0,160,227,205,255,255,235, 0, 0, 81,227, -/* 0x0530 */ 4, 0,160, 3,251,255,255, 10, 12, 0, 81,225, 2, 0, 0,138, -/* 0x0540 */ 0, 48,148,229, 3, 0, 92,225, 1, 0, 0,154, 5, 0,160,227, -/* 0x0550 */ 244,255,255,234, 12, 0, 81,225, 33, 0, 0, 42, 16,192,141,229, -/* 0x0560 */ 12,192,157,229, 4, 0,149,229, 4, 32,148,229, 16, 48,141,226, -/* 0x0570 */ 0,192,141,229, 55,255, 47,225, 0, 0, 80,227, 3, 0, 0, 26, -/* 0x0580 */ 16, 16,157,229, 4, 48,157,229, 3, 0, 81,225, 1, 0, 0, 10, -/* 0x0590 */ 7, 0,160,227,227,255,255,234, 13, 32,221,229, 0, 0, 82,227, -/* 0x05a0 */ 0, 0, 86, 19, 8, 0, 0, 10, 2, 12, 81,227, 2, 0, 0,138, -/* 0x05b0 */ 0, 48,148,229, 1, 0, 83,225, 3, 0, 0, 26, 2, 48,160,225, -/* 0x05c0 */ 4, 0,148,229, 14, 32,221,229, 54,255, 47,225, 8, 48,157,229, -/* 0x05d0 */ 6, 0,149,232, 3, 32,130,224, 1, 16, 99,224, 6, 0,133,232, -/* 0x05e0 */ 3, 0, 0,234, 1, 32,160,225, 5, 0,160,225, 4, 16,148,229, -/* 0x05f0 */ 157,255,255,235, 4, 48,157,229, 6, 0,148,232, 3, 32,130,224, -/* 0x0600 */ 1, 16, 99,224, 6, 0,132,232, 0, 48,148,229, 0, 0, 83,227, -/* 0x0610 */ 180,255,255, 26, 20,208,141,226,240,128,189,232, 85, 80, 88, 33, -/* 0x0620 */ 240, 79, 45,233, 1,160,160,225,176,193,218,225, 28, 16,145,229, -/* 0x0630 */ 188,226,218,225, 52,208, 77,226, 2, 0, 92,227, 1, 96,138,224, -/* 0x0640 */ 20, 0,141,229, 16, 80,160, 3, 0, 80,160, 19, 1,224, 78,226, -/* 0x0650 */ 6, 16,160,225, 0, 0,224,227, 0,192,160,227, 16, 32,141,229, -/* 0x0660 */ 12, 48,141,229, 13, 0, 0,234, 0, 48,145,229, 1, 0, 83,227, -/* 0x0670 */ 8, 0, 0, 26, 20, 48,145,229, 0, 0, 83,227, 5, 0, 0, 10, -/* 0x0680 */ 8, 32,145,229, 2, 48,131,224, 3, 0, 92,225, 3,192,160, 49, -/* 0x0690 */ 2, 0, 80,225, 2, 0,160, 33, 32, 16,129,226, 1,224, 78,226, -/* 0x06a0 */ 0, 0, 94,227,239,255,255,170,255, 78,192,227, 15, 64,196,227, -/* 0x06b0 */ 12, 48,100,224,255, 62,131,226, 15, 48,131,226, 16, 32, 5,226, -/* 0x06c0 */ 255, 62,195,227, 0, 0, 82,227, 15, 48,195,227, 40, 48,141,229, -/* 0x06d0 */ 32, 64,141, 21, 4, 0, 0, 26, 5, 48,160,225, 4, 0,160,225, -/* 0x06e0 */ 40, 16,157,229, 57,255,255,235, 32, 0,141,229, 32, 16,157,229, -/* 0x06f0 */ 52, 48,160,227, 1, 64,100,224, 4, 32,160,225,147, 2, 2,224, -/* 0x0700 */ 32, 80,134,226, 0, 48,160,227, 24, 64,141,229, 36, 32,141,229, -/* 0x0710 */ 28, 48,141,229,141, 0, 0,234, 16,192,157,229, 0, 0, 92,227, -/* 0x0720 */ 9, 0, 0, 10, 32, 48, 21,229, 6, 0, 83,227, 6, 0, 0, 26, -/* 0x0730 */ 24, 16,157,229, 24, 32, 21,229, 12, 0,157,229, 2, 32,129,224, -/* 0x0740 */ 3, 16,160,227, 62,255,255,235,124, 0, 0,234, 32, 48, 21,229, -/* 0x0750 */ 1, 0, 83,227,121, 0, 0, 26, 12, 32, 21,229, 0, 0, 82,227, -/* 0x0760 */ 8, 32,141,229,117, 0, 0, 10, 8, 48, 21,229, 84, 34,159,229, -/* 0x0770 */ 7, 48, 3,226, 3, 49,160,225, 50, 67,160,225, 24,192,157,229, -/* 0x0780 */ 24, 48, 21,229, 16, 16,157,229, 3,176,140,224, 16, 32, 21,229, -/* 0x0790 */ 11, 58,160,225, 35, 58,160,225, 0, 0, 81,227, 44, 32,141,229, -/* 0x07a0 */ 48,176,141,229, 3,128,130,224, 7,144, 4,226, 11, 96, 99,224, -/* 0x07b0 */ 15, 0, 0, 10, 6, 0,160,225, 8, 16,160,225, 3, 32,160,227, -/* 0x07c0 */ 16, 48,160,227, 1,255,255,235, 0, 0, 86,225, 6, 0,160, 19, -/* 0x07d0 */ 20, 0, 0, 26, 92, 32,157,229, 4, 48, 20,226, 2, 48,160, 17, -/* 0x07e0 */ 16, 0,157,229, 44, 16,141,226, 20, 32,157,229, 54,255,255,235, -/* 0x07f0 */ 13, 0, 0,234, 28,192, 21,229, 6, 0,160,225, 12,192, 99,224, -/* 0x0800 */ 4,192,141,229, 20,192,157,229, 8, 16,160,225, 9, 32,160,225, -/* 0x0810 */ 18, 48,160,227, 0,192,141,229,222,254,255,235, 0, 0, 86,225, -/* 0x0820 */ 1, 0, 0, 10, 8, 0,160,227, 13,255,255,235, 0, 48,104,226, -/* 0x0830 */ 3,122,160,225, 2, 0, 25,227, 39,122,160,225, 7, 0, 0, 10, -/* 0x0840 */ 0, 0, 87,227, 5, 0, 0, 10, 8, 16,134,224, 7, 32,160,225, -/* 0x0850 */ 0, 48,160,227, 1, 32, 82,226, 1, 48,193,228,251,255,255, 26, -/* 0x0860 */ 16, 16,157,229, 0, 0, 81,227, 38, 0, 0, 10,213,254,255,235, -/* 0x0870 */ 32, 48, 21,229, 1, 0, 83,227, 27, 0, 0, 26, 8, 48, 21,229, -/* 0x0880 */ 1, 0, 19,227, 24, 0, 0, 10, 12, 32, 21,229, 16, 48, 21,229, -/* 0x0890 */ 24, 16, 21,229, 3, 0, 82,225, 67, 0, 0, 26, 1, 48,130,224, -/* 0x08a0 */ 24, 32,157,229, 3, 48,131,226, 3, 48,130,224, 3, 64,195,227, -/* 0x08b0 */ 0, 48,100,226, 3, 58,160,225, 35, 58,160,225, 7, 0, 83,227, -/* 0x08c0 */ 57, 0, 0,154, 0, 49,159,229, 0, 0,132,229, 8, 16,132,226, -/* 0x08d0 */ 4, 0,160,225, 4, 48,132,229,167,254,255,235, 12, 0,157,229, -/* 0x08e0 */ 4, 32,160,225, 0, 16,160,227,213,254,255,235, 6, 0,160,225, -/* 0x08f0 */ 8, 16,160,225, 9, 32,160,225,154,254,255,235, 0, 0, 80,227, -/* 0x0900 */ 10, 0,160, 19,199,255,255, 26, 8,192,157,229, 7, 48,136,224, -/* 0x0910 */ 12, 16,139,224, 3, 64,134,224, 1, 0, 84,225, 7, 0, 0, 42, -/* 0x0920 */ 1, 16,100,224, 9, 32,160,225, 4, 0,160,225, 16, 48,160,227, -/* 0x0930 */ 166,254,255,235, 0, 0, 84,225, 9, 0,160, 19,185,255,255, 26, -/* 0x0940 */ 28, 16,157,229, 32, 80,133,226, 1, 16,129,226, 28, 16,141,229, -/* 0x0950 */ 188, 50,218,225, 28, 32,157,229, 3, 0, 82,225,109,255,255,186, -/* 0x0960 */ 16, 48,157,229, 0, 0, 83,227, 6, 0, 0, 10,176, 49,218,225, -/* 0x0970 */ 3, 0, 83,227, 3, 0, 0, 10, 32,192,157,229, 40, 16,157,229, -/* 0x0980 */ 1, 0,140,224,104,254,255,235, 88, 32,157,229, 24, 16,157,229, -/* 0x0990 */ 0, 0, 82,227, 24, 48,157, 21, 0, 48,130, 21, 24, 0,154,229, -/* 0x09a0 */ 0, 0,129,224, 52,208,141,226,240,143,189,232, 28, 48, 21,229, -/* 0x09b0 */ 0, 0, 83,227, 36,192,157, 5, 12, 48,129, 0, 8, 64,131, 2, -/* 0x09c0 */ 191,255,255, 10,200,255,255,234, 64, 98, 81,115, 14,240,160,225, -/* 0x09d0 */ 240, 69, 45,233, 12,208, 77,226, 44, 96,157,229, 0,112,160,225, -/* 0x09e0 */ 1, 80,160,225, 48, 0,141,226, 40, 16,141,226, 3,160,160,225, -/* 0x09f0 */ 0, 48,160,227, 2,128,160,225, 48, 64,157,229,178,254,255,235, -/* 0x0a00 */ 56,192,157,229, 28, 32,150,229, 52, 48,157,229, 2, 32,140,224, -/* 0x0a10 */ 3, 48,100,224, 3, 16,160,227, 7, 0,160,225, 52, 48,141,229, -/* 0x0a20 */ 8,192,141,229, 48, 80,141,229,133,254,255,235, 7, 0,160,225, -/* 0x0a30 */ 5, 16,160,227,188, 34,214,225,129,254,255,235, 7, 0,160,225, -/* 0x0a40 */ 4, 16,160,227,186, 34,214,225,125,254,255,235,176, 49,214,225, -/* 0x0a50 */ 52, 80,134,226, 3, 0, 83,227, 23, 0, 0, 26, 2, 48,160,227, -/* 0x0a60 */ 24, 32,150,229,176, 49,198,225, 8, 48,157,229, 7, 0,160,225, -/* 0x0a70 */ 3, 32,130,224, 9, 16,160,227, 24, 32,134,229,112,254,255,235, -/* 0x0a80 */ 8,192,157,229, 6, 16,160,225, 0, 0,160,227, 6, 0, 0,234, -/* 0x0a90 */ 28, 48,145,229, 32, 32,145,229, 12, 48,131,224, 12, 32,130,224, -/* 0x0aa0 */ 28, 48,129,229, 32, 32,129,229, 1, 0,128,226,188, 50,214,225, -/* 0x0ab0 */ 32, 16,129,226, 3, 0, 80,225,244,255,255, 58, 8,192,141,226, -/* 0x0ac0 */ 6, 16,160,225, 48, 32,141,226, 7, 48,160,225, 8, 0,160,225, -/* 0x0ad0 */ 0,192,141,229, 4,160,141,229,208,254,255,235, 0, 64,160,225, -/* 0x0ae0 */ 9, 16,160,227, 4, 32,160,225, 7, 0,160,225, 84,254,255,235, -/* 0x0af0 */ 188, 18,214,225, 0, 32,160,227, 36, 0, 0,234, 0, 48,149,229, -/* 0x0b00 */ 3, 0, 83,227, 31, 0, 0, 26, 8, 48,149,229, 8, 0,157,229, -/* 0x0b10 */ 0, 16,160,227, 0, 0,131,224, 1, 32,160,225,238,253,255,235, -/* 0x0b20 */ 0, 80, 80,226, 18, 0,160,179, 5, 0, 0,186, 6, 16,160,225, -/* 0x0b30 */ 2, 44,160,227,222,253,255,235, 2, 12, 80,227, 1, 0, 0, 10, -/* 0x0b40 */ 19, 0,160,227, 70,254,255,235, 0,224,160,227, 14, 32,160,225, -/* 0x0b50 */ 8,192,141,226, 6, 16,160,225, 7, 48,160,225, 5, 0,160,225, -/* 0x0b60 */ 0, 80,141,232,173,254,255,235, 7, 16,160,227, 0, 64,160,225, -/* 0x0b70 */ 8, 32,157,229, 7, 0,160,225, 49,254,255,235, 5, 0,160,225, -/* 0x0b80 */ 218,253,255,235, 3, 0, 0,234, 32, 80,133,226, 1, 32,130,226, -/* 0x0b90 */ 1, 0, 82,225,216,255,255,186, 4, 0,160,225, 12,208,141,226, -/* 0x0ba0 */ 240,133,189,232 +/* 0x0460 */ 30,255, 47,225, 0, 0,159,229, 30,255, 47,225, 0,240,255,255, +/* 0x0470 */ 0, 48,144,229, 4,224, 45,229, 2, 0, 83,225, 4, 48,144,229, +/* 0x0480 */ 2,224,160,225, 3,192,160, 33, 2, 32,160, 33, 3, 0, 0, 42, +/* 0x0490 */ 127, 0,160,227,130,255,255,235, 1, 48, 92,229, 1, 48, 65,229, +/* 0x04a0 */ 1, 32, 66,226, 1, 0,114,227, 1,192,140,226, 1, 16,129,226, +/* 0x04b0 */ 248,255,255, 26, 4, 32,144,229, 0, 48,144,229, 14, 32,130,224, +/* 0x04c0 */ 3, 48,110,224, 0, 48,128,229, 4, 32,128,229, 4,240,157,228, +/* 0x04d0 */ 240, 64, 45,233, 0, 80,160,225, 20,208, 77,226, 1, 64,160,225, +/* 0x04e0 */ 2,112,160,225, 3, 96,160,225, 66, 0, 0,234, 4, 16,141,226, +/* 0x04f0 */ 5, 0,160,225, 12, 32,160,227,220,255,255,235, 4,224,157,229, +/* 0x0500 */ 8, 16,157,229, 0, 0, 94,227, 6, 0, 0, 26,248, 48,159,229, +/* 0x0510 */ 3, 0, 81,225, 5, 0, 0, 26, 0, 48,149,229, 0, 0, 83,227, +/* 0x0520 */ 2, 0, 0, 26, 54, 0, 0,234, 0, 0, 81,227, 1, 0, 0, 26, +/* 0x0530 */ 127, 0,160,227, 90,255,255,235, 14, 0, 81,225,251,255,255,138, +/* 0x0540 */ 0, 48,148,229, 3, 0, 94,225,248,255,255,138, 14, 0, 81,225, +/* 0x0550 */ 31, 0, 0, 42, 12,192,221,229, 4, 0,149,229, 4, 32,148,229, +/* 0x0560 */ 16, 48,141,226, 16,224,141,229, 0,192,141,229, 55,255, 47,225, +/* 0x0570 */ 0, 0, 80,227,237,255,255, 26, 16, 16,157,229, 4, 48,157,229, +/* 0x0580 */ 3, 0, 81,225,233,255,255, 26, 13, 32,221,229, 0, 0, 82,227, +/* 0x0590 */ 0, 0, 86, 19, 8, 0, 0, 10, 2, 12, 81,227, 2, 0, 0,138, +/* 0x05a0 */ 0, 48,148,229, 1, 0, 83,225, 3, 0, 0, 26, 2, 48,160,225, +/* 0x05b0 */ 4, 0,148,229, 14, 32,221,229, 54,255, 47,225, 8, 48,157,229, +/* 0x05c0 */ 6, 0,149,232, 3, 32,130,224, 1, 16, 99,224, 6, 0,133,232, +/* 0x05d0 */ 3, 0, 0,234, 1, 32,160,225, 5, 0,160,225, 4, 16,148,229, +/* 0x05e0 */ 162,255,255,235, 4, 48,157,229, 6, 0,148,232, 3, 32,130,224, +/* 0x05f0 */ 1, 16, 99,224, 6, 0,132,232, 0, 48,148,229, 0, 0, 83,227, +/* 0x0600 */ 185,255,255, 26, 20,208,141,226,240,128,189,232, 85, 80, 88, 33, +/* 0x0610 */ 240, 79, 45,233, 1,160,160,225,176,193,218,225, 28, 16,145,229, +/* 0x0620 */ 188,226,218,225, 52,208, 77,226, 2, 0, 92,227, 1, 96,138,224, +/* 0x0630 */ 20, 0,141,229, 16, 80,160, 3, 0, 80,160, 19, 1,224, 78,226, +/* 0x0640 */ 6, 16,160,225, 0, 0,224,227, 0,192,160,227, 16, 32,141,229, +/* 0x0650 */ 12, 48,141,229, 13, 0, 0,234, 0, 48,145,229, 1, 0, 83,227, +/* 0x0660 */ 8, 0, 0, 26, 20, 48,145,229, 0, 0, 83,227, 5, 0, 0, 10, +/* 0x0670 */ 8, 32,145,229, 2, 48,131,224, 3, 0, 92,225, 3,192,160, 49, +/* 0x0680 */ 2, 0, 80,225, 2, 0,160, 33, 32, 16,129,226, 1,224, 78,226, +/* 0x0690 */ 0, 0, 94,227,239,255,255,170,255, 78,192,227, 15, 64,196,227, +/* 0x06a0 */ 12, 48,100,224,255, 62,131,226, 15, 48,131,226, 16, 32, 5,226, +/* 0x06b0 */ 255, 62,195,227, 0, 0, 82,227, 15, 48,195,227, 40, 48,141,229, +/* 0x06c0 */ 32, 64,141, 21, 4, 0, 0, 26, 5, 48,160,225, 4, 0,160,225, +/* 0x06d0 */ 40, 16,157,229, 61,255,255,235, 32, 0,141,229, 32, 16,157,229, +/* 0x06e0 */ 52, 48,160,227, 1, 64,100,224, 4, 32,160,225,147, 2, 2,224, +/* 0x06f0 */ 32, 80,134,226, 0, 48,160,227, 24, 64,141,229, 36, 32,141,229, +/* 0x0700 */ 28, 48,141,229,138, 0, 0,234, 16,192,157,229, 0, 0, 92,227, +/* 0x0710 */ 9, 0, 0, 10, 32, 48, 21,229, 6, 0, 83,227, 6, 0, 0, 26, +/* 0x0720 */ 24, 16,157,229, 24, 32, 21,229, 12, 0,157,229, 2, 32,129,224, +/* 0x0730 */ 3, 16,160,227, 66,255,255,235,121, 0, 0,234, 32, 48, 21,229, +/* 0x0740 */ 1, 0, 83,227,118, 0, 0, 26, 12, 32, 21,229, 0, 0, 82,227, +/* 0x0750 */ 8, 32,141,229,114, 0, 0, 10, 8, 48, 21,229, 72, 34,159,229, +/* 0x0760 */ 7, 48, 3,226, 3, 49,160,225, 50, 67,160,225, 24,192,157,229, +/* 0x0770 */ 24, 48, 21,229, 16, 16,157,229, 3,176,140,224, 16, 32, 21,229, +/* 0x0780 */ 11, 58,160,225, 35, 58,160,225, 0, 0, 81,227, 44, 32,141,229, +/* 0x0790 */ 48,176,141,229, 3,128,130,224, 7,144, 4,226, 11, 96, 99,224, +/* 0x07a0 */ 14, 0, 0, 10, 6, 0,160,225, 8, 16,160,225, 3, 32,160,227, +/* 0x07b0 */ 16, 48,160,227, 5,255,255,235, 0, 0, 86,225, 73, 0, 0, 26, +/* 0x07c0 */ 92, 32,157,229, 4, 48, 20,226, 2, 48,160, 17, 16, 0,157,229, +/* 0x07d0 */ 44, 16,141,226, 20, 32,157,229, 60,255,255,235, 11, 0, 0,234, +/* 0x07e0 */ 28,192, 21,229, 6, 0,160,225, 12,192, 99,224, 4,192,141,229, +/* 0x07f0 */ 20,192,157,229, 8, 16,160,225, 9, 32,160,225, 18, 48,160,227, +/* 0x0800 */ 0,192,141,229,227,254,255,235, 0, 0, 86,225, 53, 0, 0, 26, +/* 0x0810 */ 0, 48,104,226, 3,122,160,225, 2, 0, 25,227, 39,122,160,225, +/* 0x0820 */ 7, 0, 0, 10, 0, 0, 87,227, 5, 0, 0, 10, 8, 16,134,224, +/* 0x0830 */ 7, 32,160,225, 0, 48,160,227, 1, 32, 82,226, 1, 48,193,228, +/* 0x0840 */ 251,255,255, 26, 16, 16,157,229, 0, 0, 81,227, 39, 0, 0, 10, +/* 0x0850 */ 220,254,255,235, 32, 48, 21,229, 1, 0, 83,227, 27, 0, 0, 26, +/* 0x0860 */ 8, 48, 21,229, 1, 0, 19,227, 24, 0, 0, 10, 12, 32, 21,229, +/* 0x0870 */ 16, 48, 21,229, 24, 16, 21,229, 3, 0, 82,225, 67, 0, 0, 26, +/* 0x0880 */ 1, 48,130,224, 24, 32,157,229, 3, 48,131,226, 3, 48,130,224, +/* 0x0890 */ 3, 64,195,227, 0, 48,100,226, 3, 58,160,225, 35, 58,160,225, +/* 0x08a0 */ 7, 0, 83,227, 57, 0, 0,154, 0, 49,159,229, 0, 0,132,229, +/* 0x08b0 */ 8, 16,132,226, 4, 0,160,225, 4, 48,132,229,174,254,255,235, +/* 0x08c0 */ 12, 0,157,229, 4, 32,160,225, 0, 16,160,227,220,254,255,235, +/* 0x08d0 */ 6, 0,160,225, 8, 16,160,225, 9, 32,160,225,161,254,255,235, +/* 0x08e0 */ 0, 0, 80,227, 1, 0, 0, 10,127, 0,160,227,108,254,255,235, +/* 0x08f0 */ 8,192,157,229, 7, 48,136,224, 12, 16,139,224, 3, 64,134,224, +/* 0x0900 */ 1, 0, 84,225, 6, 0, 0, 42, 1, 16,100,224, 9, 32,160,225, +/* 0x0910 */ 4, 0,160,225, 16, 48,160,227,172,254,255,235, 0, 0, 84,225, +/* 0x0920 */ 240,255,255, 26, 28, 16,157,229, 32, 80,133,226, 1, 16,129,226, +/* 0x0930 */ 28, 16,141,229,188, 50,218,225, 28, 32,157,229, 3, 0, 82,225, +/* 0x0940 */ 112,255,255,186, 16, 48,157,229, 0, 0, 83,227, 6, 0, 0, 10, +/* 0x0950 */ 176, 49,218,225, 3, 0, 83,227, 3, 0, 0, 10, 32,192,157,229, +/* 0x0960 */ 40, 16,157,229, 1, 0,140,224,111,254,255,235, 88, 32,157,229, +/* 0x0970 */ 24, 16,157,229, 0, 0, 82,227, 24, 48,157, 21, 0, 48,130, 21, +/* 0x0980 */ 24, 0,154,229, 0, 0,129,224, 52,208,141,226,240,143,189,232, +/* 0x0990 */ 28, 48, 21,229, 0, 0, 83,227, 36,192,157, 5, 12, 48,129, 0, +/* 0x09a0 */ 8, 64,131, 2,191,255,255, 10,200,255,255,234, 64, 98, 81,115, +/* 0x09b0 */ 14,240,160,225,240, 69, 45,233, 12,208, 77,226, 44, 96,157,229, +/* 0x09c0 */ 0,112,160,225, 1, 80,160,225, 48, 0,141,226, 40, 16,141,226, +/* 0x09d0 */ 3,160,160,225, 0, 48,160,227, 2,128,160,225, 48, 64,157,229, +/* 0x09e0 */ 186,254,255,235, 56,192,157,229, 28, 32,150,229, 52, 48,157,229, +/* 0x09f0 */ 2, 32,140,224, 3, 48,100,224, 3, 16,160,227, 7, 0,160,225, +/* 0x0a00 */ 52, 48,141,229, 8,192,141,229, 48, 80,141,229,140,254,255,235, +/* 0x0a10 */ 7, 0,160,225, 5, 16,160,227,188, 34,214,225,136,254,255,235, +/* 0x0a20 */ 7, 0,160,225, 4, 16,160,227,186, 34,214,225,132,254,255,235, +/* 0x0a30 */ 176, 49,214,225, 52, 80,134,226, 3, 0, 83,227, 23, 0, 0, 26, +/* 0x0a40 */ 2, 48,160,227, 24, 32,150,229,176, 49,198,225, 8, 48,157,229, +/* 0x0a50 */ 7, 0,160,225, 3, 32,130,224, 9, 16,160,227, 24, 32,134,229, +/* 0x0a60 */ 119,254,255,235, 8,192,157,229, 6, 16,160,225, 0, 0,160,227, +/* 0x0a70 */ 6, 0, 0,234, 28, 48,145,229, 32, 32,145,229, 12, 48,131,224, +/* 0x0a80 */ 12, 32,130,224, 28, 48,129,229, 32, 32,129,229, 1, 0,128,226, +/* 0x0a90 */ 188, 50,214,225, 32, 16,129,226, 3, 0, 80,225,244,255,255, 58, +/* 0x0aa0 */ 8,192,141,226, 6, 16,160,225, 48, 32,141,226, 7, 48,160,225, +/* 0x0ab0 */ 8, 0,160,225, 0,192,141,229, 4,160,141,229,211,254,255,235, +/* 0x0ac0 */ 0, 64,160,225, 9, 16,160,227, 4, 32,160,225, 7, 0,160,225, +/* 0x0ad0 */ 91,254,255,235,188, 18,214,225, 0, 32,160,227, 35, 0, 0,234, +/* 0x0ae0 */ 0, 48,149,229, 3, 0, 83,227, 30, 0, 0, 26, 8, 48,149,229, +/* 0x0af0 */ 8, 0,157,229, 0, 16,160,227, 0, 0,131,224, 1, 32,160,225, +/* 0x0b00 */ 245,253,255,235, 0, 80, 80,226, 4, 0, 0,186, 6, 16,160,225, +/* 0x0b10 */ 2, 44,160,227,230,253,255,235, 2, 12, 80,227, 1, 0, 0, 10, +/* 0x0b20 */ 127, 0,160,227,222,253,255,235, 0,224,160,227, 14, 32,160,225, +/* 0x0b30 */ 8,192,141,226, 6, 16,160,225, 7, 48,160,225, 5, 0,160,225, +/* 0x0b40 */ 0, 80,141,232,177,254,255,235, 7, 16,160,227, 0, 64,160,225, +/* 0x0b50 */ 8, 32,157,229, 7, 0,160,225, 57,254,255,235, 5, 0,160,225, +/* 0x0b60 */ 226,253,255,235, 3, 0, 0,234, 32, 80,133,226, 1, 32,130,226, +/* 0x0b70 */ 1, 0, 82,225,217,255,255,186, 4, 0,160,225, 12,208,141,226, +/* 0x0b80 */ 240,133,189,232 }; diff --git a/src/stub/armeb.v4a-linux.elf-fold.h b/src/stub/armeb.v4a-linux.elf-fold.h index 1547682f..3a5fbb20 100644 --- a/src/stub/armeb.v4a-linux.elf-fold.h +++ b/src/stub/armeb.v4a-linux.elf-fold.h @@ -1,5 +1,5 @@ /* armeb.v4a-linux.elf-fold.h - created from armeb.v4a-linux.elf-fold.bin, 2824 (0xb08) bytes + created from armeb.v4a-linux.elf-fold.bin, 2792 (0xae8) bytes This file is part of the UPX executable compressor. @@ -31,17 +31,17 @@ */ -#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_SIZE 2824 -#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_ADLER32 0xae278fee -#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_CRC32 0xdbda4341 +#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_SIZE 2792 +#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_ADLER32 0x18ac8d15 +#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_CRC32 0x505129c5 -unsigned char stub_armeb_v4a_linux_elf_fold[2824] = { +unsigned char stub_armeb_v4a_linux_elf_fold[2792] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 2, 0, 40, 0, 0, 0, 1, 0, 0,128,128, 0, 0, 0, 52, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 2, 0, 52, 0, 32, 0, 2, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,128, 0, -/* 0x0040 */ 0, 0,128, 0, 0, 0, 11, 8, 0, 0, 11, 8, 0, 0, 0, 5, -/* 0x0050 */ 0, 0,128, 0, 0, 0, 0, 1, 0, 0, 11, 8, 0, 0, 0, 0, +/* 0x0040 */ 0, 0,128, 0, 0, 0, 10,232, 0, 0, 10,232, 0, 0, 0, 5, +/* 0x0050 */ 0, 0,128, 0, 0, 0, 0, 1, 0, 0, 10,232, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 229,159, 34,184,225,130, 32, 3,229,143, 34,176,232,189, 31,240, @@ -64,7 +64,7 @@ unsigned char stub_armeb_v4a_linux_elf_fold[2824] = { /* 0x0190 */ 229,141, 0, 12,225,160, 80, 11,232,189, 14, 0,226, 77,220, 10, /* 0x01a0 */ 225,160, 64, 9,229,154,144, 4,225,160,128, 13,229,154,112, 0, /* 0x01b0 */ 226,143, 96,152,226,137,144, 12,233, 45, 15,248,232,189, 0, 15, -/* 0x01c0 */ 235, 0, 1,219,226,141,208, 20,226,141,220, 10,229,141, 0, 16, +/* 0x01c0 */ 235, 0, 1,212,226,141,208, 20,226,141,220, 10,229,141, 0, 16, /* 0x01d0 */ 227,160, 80, 0,229,157, 64, 0,227,160, 48, 2,227,160, 32, 1, /* 0x01e0 */ 227,160, 26, 1,227,160, 0, 0,235, 0, 0, 69,228,157, 0, 4, /* 0x01f0 */ 235, 0, 0, 50,232,189, 64, 7,227,160, 48, 0,227,160, 64, 0, @@ -96,121 +96,119 @@ unsigned char stub_armeb_v4a_linux_elf_fold[2824] = { /* 0x0390 */ 224, 80, 15,140,224,193, 16,172,224,144, 0, 12,226,161, 0, 0, /* 0x03a0 */ 225,160,240, 14,227, 80, 0, 0, 1,160,240, 14,229,144, 48, 0, /* 0x03b0 */ 225, 83, 0, 1, 18,128, 0, 8, 26,255,255,251,229,128, 32, 4, -/* 0x03c0 */ 225,160,240, 14,227,160, 0,127,235,255,255,181,229,144, 48, 0, -/* 0x03d0 */ 225, 83, 0, 2,229,144, 48, 4,229, 45,224, 4, 33,160,192, 3, -/* 0x03e0 */ 225,160,224, 2, 33,160, 32, 2, 42, 0, 0, 3,227,160, 0,127, -/* 0x03f0 */ 235,255,255,171,229, 92, 48, 1,229, 65, 48, 1,226, 66, 32, 1, -/* 0x0400 */ 227,114, 0, 1,226,140,192, 1,226,129, 16, 1, 26,255,255,248, -/* 0x0410 */ 229,144, 32, 4,229,144, 48, 0,224,130, 32, 14,224,110, 48, 3, -/* 0x0420 */ 229,128, 48, 0,229,128, 32, 4,228,157,240, 4,233, 45, 64,240, -/* 0x0430 */ 225,160, 80, 0,226, 77,208, 20,225,160, 64, 1,225,160,112, 2, -/* 0x0440 */ 225,160, 96, 3,234, 0, 0, 73,226,141, 16, 4,225,160, 0, 5, -/* 0x0450 */ 227,160, 32, 12,235,255,255,220,229,157,192, 4,227, 92, 0, 0, -/* 0x0460 */ 229,157, 16, 8, 26, 0, 0, 8,229,159, 49, 20,225, 81, 0, 3, -/* 0x0470 */ 19,160, 0, 2, 26, 0, 0, 3,229,149, 48, 0,227, 83, 0, 0, -/* 0x0480 */ 10, 0, 0, 61,227,160, 0, 3,235,255,255,205,227, 81, 0, 0, -/* 0x0490 */ 3,160, 0, 4, 10,255,255,251,225, 81, 0, 12,138, 0, 0, 2, -/* 0x04a0 */ 229,148, 48, 0,225, 92, 0, 3,154, 0, 0, 1,227,160, 0, 5, -/* 0x04b0 */ 234,255,255,244,225, 81, 0, 12, 42, 0, 0, 35,229,141,192, 16, -/* 0x04c0 */ 229,157,192, 12,229,149, 0, 4,229,148, 32, 4,226,141, 48, 16, -/* 0x04d0 */ 229,141,192, 0,225,160,224, 15,225,160,240, 7,227, 80, 0, 0, -/* 0x04e0 */ 26, 0, 0, 3,229,157, 16, 16,229,157, 48, 4,225, 81, 0, 3, -/* 0x04f0 */ 10, 0, 0, 1,227,160, 0, 7,234,255,255,226,229,221, 32, 13, -/* 0x0500 */ 227, 82, 0, 0, 19, 86, 0, 0, 10, 0, 0, 9,227, 81, 12, 2, -/* 0x0510 */ 138, 0, 0, 2,229,148, 48, 0,225, 83, 0, 1, 26, 0, 0, 4, -/* 0x0520 */ 225,160, 48, 2,229,148, 0, 4,229,221, 32, 14,225,160,224, 15, -/* 0x0530 */ 225,160,240, 6,229,157, 48, 8,232,149, 0, 6,224,130, 32, 3, -/* 0x0540 */ 224, 99, 16, 1,232,133, 0, 6,234, 0, 0, 3,225,160, 32, 1, -/* 0x0550 */ 225,160, 0, 5,229,148, 16, 4,235,255,255,155,229,157, 48, 4, -/* 0x0560 */ 232,148, 0, 6,224,130, 32, 3,224, 99, 16, 1,232,132, 0, 6, -/* 0x0570 */ 229,148, 48, 0,227, 83, 0, 0, 26,255,255,178,226,141,208, 20, -/* 0x0580 */ 232,189,128,240, 33, 88, 80, 85,233, 45, 79,240,225,160,160, 1, -/* 0x0590 */ 225,218,193,176,229,145, 16, 28,225,218,226,188,226, 77,208, 52, -/* 0x05a0 */ 227, 92, 0, 2,224,138, 96, 1,229,141, 0, 20, 3,160, 80, 16, -/* 0x05b0 */ 19,160, 80, 0,226, 78,224, 1,225,160, 16, 6,227,224, 0, 0, -/* 0x05c0 */ 227,160,192, 0,229,141, 32, 16,229,141, 48, 12,234, 0, 0, 13, -/* 0x05d0 */ 229,145, 48, 0,227, 83, 0, 1, 26, 0, 0, 8,229,145, 48, 20, -/* 0x05e0 */ 227, 83, 0, 0, 10, 0, 0, 5,229,145, 32, 8,224,131, 48, 2, -/* 0x05f0 */ 225, 92, 0, 3, 49,160,192, 3,225, 80, 0, 2, 33,160, 0, 2, -/* 0x0600 */ 226,129, 16, 32,226, 78,224, 1,227, 94, 0, 0,170,255,255,239, -/* 0x0610 */ 227,192, 78,255,227,196, 64, 15,224,100, 48, 12,226,131, 62,255, -/* 0x0620 */ 226,131, 48, 15,226, 5, 32, 16,227,195, 62,255,227, 82, 0, 0, -/* 0x0630 */ 227,195, 48, 15,229,141, 48, 40, 21,141, 64, 32, 26, 0, 0, 4, -/* 0x0640 */ 225,160, 48, 5,225,160, 0, 4,229,157, 16, 40,235,255,255, 55, -/* 0x0650 */ 229,141, 0, 32,229,157, 16, 32,224,100, 64, 1,227,160, 48, 52, -/* 0x0660 */ 225,160, 32, 4,224, 2, 2,147,226,134, 80, 32,227,160, 48, 0, -/* 0x0670 */ 229,141, 64, 24,229,141, 32, 36,229,141, 48, 28,234, 0, 0,141, -/* 0x0680 */ 229,157,192, 16,227, 92, 0, 0, 10, 0, 0, 9,229, 21, 48, 32, -/* 0x0690 */ 227, 83, 0, 6, 26, 0, 0, 6,229,157, 16, 24,229, 21, 32, 24, -/* 0x06a0 */ 229,157, 0, 12,224,129, 32, 2,227,160, 16, 3,235,255,255, 60, -/* 0x06b0 */ 234, 0, 0,124,229, 21, 48, 32,227, 83, 0, 1, 26, 0, 0,121, -/* 0x06c0 */ 229, 21, 32, 12,227, 82, 0, 0,229,141, 32, 8, 10, 0, 0,117, -/* 0x06d0 */ 229, 21, 48, 8,229,159, 34, 80,226, 3, 48, 7,225,160, 49, 3, -/* 0x06e0 */ 225,160, 67, 50,229,157,192, 24,229, 21, 48, 24,229,157, 16, 16, -/* 0x06f0 */ 224,140,176, 3,225,160, 42, 11,229, 21, 48, 16,225,160, 42, 34, -/* 0x0700 */ 227, 81, 0, 0,229,141, 48, 44,229,141,176, 48,224,131,128, 2, -/* 0x0710 */ 226, 4,144, 7,224, 98, 96, 11, 10, 0, 0, 15,225,160, 0, 6, -/* 0x0720 */ 225,160, 16, 8,227,160, 32, 3,227,160, 48, 16,235,255,254,255, -/* 0x0730 */ 225, 86, 0, 0, 19,160, 0, 6, 26, 0, 0, 20,229,157, 32, 92, -/* 0x0740 */ 226, 20, 48, 4, 17,160, 48, 2,229,157, 0, 16,226,141, 16, 44, -/* 0x0750 */ 229,157, 32, 20,235,255,255, 52,234, 0, 0, 13,229, 21,192, 28, -/* 0x0760 */ 224, 98,192, 12,229,141,192, 4,229,157,192, 20,225,160, 0, 6, -/* 0x0770 */ 225,160, 16, 8,225,160, 32, 9,227,160, 48, 18,229,141,192, 0, -/* 0x0780 */ 235,255,254,223,225, 86, 0, 0, 10, 0, 0, 1,227,160, 0, 8, -/* 0x0790 */ 235,255,255, 11,226,104, 48, 0,225,160,122, 3,227, 25, 0, 2, -/* 0x07a0 */ 225,160,122, 39, 10, 0, 0, 7,227, 87, 0, 0, 10, 0, 0, 5, -/* 0x07b0 */ 224,134, 16, 8,225,160, 32, 7,227,160, 48, 0,226, 82, 32, 1, -/* 0x07c0 */ 228,193, 48, 1, 26,255,255,251,229,157, 16, 16,227, 81, 0, 0, -/* 0x07d0 */ 10, 0, 0, 38,235,255,254,211,229, 21, 48, 32,227, 83, 0, 1, -/* 0x07e0 */ 26, 0, 0, 27,229, 21, 48, 8,227, 19, 0, 1, 10, 0, 0, 24, -/* 0x07f0 */ 229, 21, 32, 12,229, 21, 48, 16,225, 82, 0, 3,229, 21, 16, 24, -/* 0x0800 */ 26, 0, 0, 66,224,130, 48, 1,229,157, 32, 24,226,131, 48, 3, -/* 0x0810 */ 224,130, 48, 3,227,195, 64, 3,226,100, 48, 0,225,160, 58, 3, -/* 0x0820 */ 225,160, 58, 35,227, 83, 0, 7,154, 0, 0, 56,229,159, 48,252, -/* 0x0830 */ 229,132, 0, 0,226,132, 16, 8,225,160, 0, 4,229,132, 48, 4, -/* 0x0840 */ 235,255,254,172,229,157, 0, 12,225,160, 32, 4,227,160, 16, 0, -/* 0x0850 */ 235,255,254,211,225,160, 0, 6,225,160, 16, 8,225,160, 32, 9, -/* 0x0860 */ 235,255,254,162,227, 80, 0, 0, 19,160, 0, 10, 26,255,255,199, -/* 0x0870 */ 229,157,192, 8,224,136, 48, 7,224,139, 16, 12,224,134, 64, 3, -/* 0x0880 */ 225, 84, 0, 1, 42, 0, 0, 7,224,100, 16, 1,225,160, 32, 9, -/* 0x0890 */ 225,160, 0, 4,227,160, 48, 16,235,255,254,164,225, 84, 0, 0, -/* 0x08a0 */ 19,160, 0, 9, 26,255,255,185,229,157, 16, 28,226,129, 16, 1, -/* 0x08b0 */ 229,141, 16, 28,226,133, 80, 32,225,218, 50,188,229,157, 32, 28, -/* 0x08c0 */ 225, 82, 0, 3,186,255,255,109,229,157, 48, 16,227, 83, 0, 0, -/* 0x08d0 */ 10, 0, 0, 5,225,218, 49,176,227, 83, 0, 3, 21,157,192, 32, -/* 0x08e0 */ 21,157, 16, 40, 16,140, 0, 1, 27,255,254,122,229,157, 32, 88, -/* 0x08f0 */ 227, 82, 0, 0, 21,157, 48, 24, 21,130, 48, 0,229,157, 16, 24, -/* 0x0900 */ 229,154, 0, 24,224,129, 0, 0,226,141,208, 52,232,189,143,240, -/* 0x0910 */ 229, 21, 48, 28,227, 83, 0, 0, 5,157,192, 36, 0,129, 48, 12, -/* 0x0920 */ 2,131, 64, 8, 10,255,255,192,234,255,255,201,115, 81, 98, 64, -/* 0x0930 */ 225,160,240, 14,233, 45, 69,240,226, 77,208, 12,229,157, 96, 44, -/* 0x0940 */ 225,160,112, 0,225,160, 80, 1,226,141, 0, 48,226,141, 16, 40, -/* 0x0950 */ 225,160,160, 3,227,160, 48, 0,225,160,128, 2,229,157, 64, 48, -/* 0x0960 */ 235,255,254,177,229,157,192, 56,229,150, 32, 28,229,157, 48, 52, -/* 0x0970 */ 224,140, 32, 2,224,100, 48, 3,227,160, 16, 3,225,160, 0, 7, -/* 0x0980 */ 229,141, 48, 52,229,141,192, 8,229,141, 80, 48,235,255,254,132, -/* 0x0990 */ 225,160, 0, 7,227,160, 16, 5,225,214, 34,188,235,255,254,128, -/* 0x09a0 */ 225,160, 0, 7,227,160, 16, 4,225,214, 34,186,235,255,254,124, -/* 0x09b0 */ 225,214, 49,176,227, 83, 0, 3,226,134, 80, 52, 26, 0, 0, 23, -/* 0x09c0 */ 229,157, 48, 8,229,150, 32, 24,224,130, 32, 3,227,160, 48, 2, -/* 0x09d0 */ 225,160, 0, 7,227,160, 16, 9,225,198, 49,176,229,134, 32, 24, -/* 0x09e0 */ 235,255,254,111,229,157,192, 8,225,160, 16, 6,227,160, 0, 0, -/* 0x09f0 */ 234, 0, 0, 6,229,145, 48, 28,229,145, 32, 32,224,131, 48, 12, -/* 0x0a00 */ 224,130, 32, 12,229,129, 48, 28,229,129, 32, 32,226,128, 0, 1, -/* 0x0a10 */ 225,214, 50,188,225, 80, 0, 3,226,129, 16, 32, 58,255,255,244, -/* 0x0a20 */ 226,141,192, 8,225,160, 16, 6,226,141, 32, 48,225,160, 48, 7, -/* 0x0a30 */ 225,160, 0, 8,229,141,192, 0,229,141,160, 4,235,255,254,209, -/* 0x0a40 */ 225,160, 64, 0,227,160, 16, 9,225,160, 32, 4,225,160, 0, 7, -/* 0x0a50 */ 235,255,254, 83,225,214, 18,188,227,160, 32, 0,234, 0, 0, 36, -/* 0x0a60 */ 229,149, 48, 0,227, 83, 0, 3, 26, 0, 0, 31,229,149, 48, 8, -/* 0x0a70 */ 229,157, 0, 8,227,160, 16, 0,224,131, 0, 0,225,160, 32, 1, -/* 0x0a80 */ 235,255,254, 12,226, 80, 80, 0,179,160, 0, 18,186, 0, 0, 5, -/* 0x0a90 */ 225,160, 16, 6,227,160, 44, 2,235,255,254, 2,227, 80, 12, 2, -/* 0x0aa0 */ 10, 0, 0, 1,227,160, 0, 19,235,255,254, 69,227,160,224, 0, -/* 0x0ab0 */ 225,160, 32, 14,226,141,192, 8,225,160, 16, 6,225,160, 48, 7, -/* 0x0ac0 */ 225,160, 0, 5,232,141, 80, 0,235,255,254,174,227,160, 16, 7, -/* 0x0ad0 */ 225,160, 64, 0,229,157, 32, 8,225,160, 0, 7,235,255,254, 48, -/* 0x0ae0 */ 225,160, 0, 5,235,255,253,245,234, 0, 0, 3,226,133, 80, 32, -/* 0x0af0 */ 226,130, 32, 1,225, 82, 0, 1,186,255,255,216,225,160, 0, 4, -/* 0x0b00 */ 226,141,208, 12,232,189,133,240 +/* 0x03c0 */ 225,160,240, 14,229,159, 0, 0,225,160,240, 14,255,255,240, 0, +/* 0x03d0 */ 229,144, 48, 0,225, 83, 0, 2,229,144, 48, 4,229, 45,224, 4, +/* 0x03e0 */ 33,160,192, 3,225,160,224, 2, 33,160, 32, 2, 42, 0, 0, 3, +/* 0x03f0 */ 227,160, 0,127,235,255,255,170,229, 92, 48, 1,229, 65, 48, 1, +/* 0x0400 */ 226, 66, 32, 1,227,114, 0, 1,226,140,192, 1,226,129, 16, 1, +/* 0x0410 */ 26,255,255,248,229,144, 32, 4,229,144, 48, 0,224,130, 32, 14, +/* 0x0420 */ 224,110, 48, 3,229,128, 48, 0,229,128, 32, 4,228,157,240, 4, +/* 0x0430 */ 233, 45, 64,240,225,160, 80, 0,226, 77,208, 20,225,160, 64, 1, +/* 0x0440 */ 225,160,112, 2,225,160, 96, 3,234, 0, 0, 68,226,141, 16, 4, +/* 0x0450 */ 225,160, 0, 5,227,160, 32, 12,235,255,255,220,229,157,224, 4, +/* 0x0460 */ 227, 94, 0, 0,229,157, 16, 8, 26, 0, 0, 6,229,159, 49, 0, +/* 0x0470 */ 225, 81, 0, 3, 26, 0, 0, 5,229,149, 48, 0,227, 83, 0, 0, +/* 0x0480 */ 26, 0, 0, 2,234, 0, 0, 56,227, 81, 0, 0, 26, 0, 0, 1, +/* 0x0490 */ 227,160, 0,127,235,255,255,130,225, 81, 0, 14,138,255,255,251, +/* 0x04a0 */ 229,148, 48, 0,225, 94, 0, 3,138,255,255,248,225, 81, 0, 14, +/* 0x04b0 */ 42, 0, 0, 33,229,221,192, 12,229,149, 0, 4,229,148, 32, 4, +/* 0x04c0 */ 226,141, 48, 16,229,141,224, 16,229,141,192, 0,225,160,224, 15, +/* 0x04d0 */ 225,160,240, 7,227, 80, 0, 0, 26,255,255,236,229,157, 16, 16, +/* 0x04e0 */ 229,157, 48, 4,225, 81, 0, 3, 26,255,255,232,229,221, 32, 13, +/* 0x04f0 */ 227, 82, 0, 0, 19, 86, 0, 0, 10, 0, 0, 9,227, 81, 12, 2, +/* 0x0500 */ 138, 0, 0, 2,229,148, 48, 0,225, 83, 0, 1, 26, 0, 0, 4, +/* 0x0510 */ 225,160, 48, 2,229,148, 0, 4,229,221, 32, 14,225,160,224, 15, +/* 0x0520 */ 225,160,240, 6,229,157, 48, 8,232,149, 0, 6,224,130, 32, 3, +/* 0x0530 */ 224, 99, 16, 1,232,133, 0, 6,234, 0, 0, 3,225,160, 32, 1, +/* 0x0540 */ 225,160, 0, 5,229,148, 16, 4,235,255,255,160,229,157, 48, 4, +/* 0x0550 */ 232,148, 0, 6,224,130, 32, 3,224, 99, 16, 1,232,132, 0, 6, +/* 0x0560 */ 229,148, 48, 0,227, 83, 0, 0, 26,255,255,183,226,141,208, 20, +/* 0x0570 */ 232,189,128,240, 33, 88, 80, 85,233, 45, 79,240,225,160,160, 1, +/* 0x0580 */ 225,218,193,176,229,145, 16, 28,225,218,226,188,226, 77,208, 52, +/* 0x0590 */ 227, 92, 0, 2,224,138, 96, 1,229,141, 0, 20, 3,160, 80, 16, +/* 0x05a0 */ 19,160, 80, 0,226, 78,224, 1,225,160, 16, 6,227,224, 0, 0, +/* 0x05b0 */ 227,160,192, 0,229,141, 32, 16,229,141, 48, 12,234, 0, 0, 13, +/* 0x05c0 */ 229,145, 48, 0,227, 83, 0, 1, 26, 0, 0, 8,229,145, 48, 20, +/* 0x05d0 */ 227, 83, 0, 0, 10, 0, 0, 5,229,145, 32, 8,224,131, 48, 2, +/* 0x05e0 */ 225, 92, 0, 3, 49,160,192, 3,225, 80, 0, 2, 33,160, 0, 2, +/* 0x05f0 */ 226,129, 16, 32,226, 78,224, 1,227, 94, 0, 0,170,255,255,239, +/* 0x0600 */ 227,192, 78,255,227,196, 64, 15,224,100, 48, 12,226,131, 62,255, +/* 0x0610 */ 226,131, 48, 15,226, 5, 32, 16,227,195, 62,255,227, 82, 0, 0, +/* 0x0620 */ 227,195, 48, 15,229,141, 48, 40, 21,141, 64, 32, 26, 0, 0, 4, +/* 0x0630 */ 225,160, 48, 5,225,160, 0, 4,229,157, 16, 40,235,255,255, 59, +/* 0x0640 */ 229,141, 0, 32,229,157, 16, 32,224,100, 64, 1,227,160, 48, 52, +/* 0x0650 */ 225,160, 32, 4,224, 2, 2,147,226,134, 80, 32,227,160, 48, 0, +/* 0x0660 */ 229,141, 64, 24,229,141, 32, 36,229,141, 48, 28,234, 0, 0,138, +/* 0x0670 */ 229,157,192, 16,227, 92, 0, 0, 10, 0, 0, 9,229, 21, 48, 32, +/* 0x0680 */ 227, 83, 0, 6, 26, 0, 0, 6,229,157, 16, 24,229, 21, 32, 24, +/* 0x0690 */ 229,157, 0, 12,224,129, 32, 2,227,160, 16, 3,235,255,255, 64, +/* 0x06a0 */ 234, 0, 0,121,229, 21, 48, 32,227, 83, 0, 1, 26, 0, 0,118, +/* 0x06b0 */ 229, 21, 32, 12,227, 82, 0, 0,229,141, 32, 8, 10, 0, 0,114, +/* 0x06c0 */ 229, 21, 48, 8,229,159, 34, 68,226, 3, 48, 7,225,160, 49, 3, +/* 0x06d0 */ 225,160, 67, 50,229,157,192, 24,229, 21, 48, 24,229,157, 16, 16, +/* 0x06e0 */ 224,140,176, 3,225,160, 42, 11,229, 21, 48, 16,225,160, 42, 34, +/* 0x06f0 */ 227, 81, 0, 0,229,141, 48, 44,229,141,176, 48,224,131,128, 2, +/* 0x0700 */ 226, 4,144, 7,224, 98, 96, 11, 10, 0, 0, 14,225,160, 0, 6, +/* 0x0710 */ 225,160, 16, 8,227,160, 32, 3,227,160, 48, 16,235,255,255, 3, +/* 0x0720 */ 225, 86, 0, 0, 26, 0, 0, 73,229,157, 32, 92,226, 20, 48, 4, +/* 0x0730 */ 17,160, 48, 2,229,157, 0, 16,226,141, 16, 44,229,157, 32, 20, +/* 0x0740 */ 235,255,255, 58,234, 0, 0, 11,229, 21,192, 28,224, 98,192, 12, +/* 0x0750 */ 229,141,192, 4,229,157,192, 20,225,160, 0, 6,225,160, 16, 8, +/* 0x0760 */ 225,160, 32, 9,227,160, 48, 18,229,141,192, 0,235,255,254,228, +/* 0x0770 */ 225, 86, 0, 0, 26, 0, 0, 53,226,104, 48, 0,225,160,122, 3, +/* 0x0780 */ 227, 25, 0, 2,225,160,122, 39, 10, 0, 0, 7,227, 87, 0, 0, +/* 0x0790 */ 10, 0, 0, 5,224,134, 16, 8,225,160, 32, 7,227,160, 48, 0, +/* 0x07a0 */ 226, 82, 32, 1,228,193, 48, 1, 26,255,255,251,229,157, 16, 16, +/* 0x07b0 */ 227, 81, 0, 0, 10, 0, 0, 39,235,255,254,218,229, 21, 48, 32, +/* 0x07c0 */ 227, 83, 0, 1, 26, 0, 0, 27,229, 21, 48, 8,227, 19, 0, 1, +/* 0x07d0 */ 10, 0, 0, 24,229, 21, 32, 12,229, 21, 48, 16,225, 82, 0, 3, +/* 0x07e0 */ 229, 21, 16, 24, 26, 0, 0, 66,224,130, 48, 1,229,157, 32, 24, +/* 0x07f0 */ 226,131, 48, 3,224,130, 48, 3,227,195, 64, 3,226,100, 48, 0, +/* 0x0800 */ 225,160, 58, 3,225,160, 58, 35,227, 83, 0, 7,154, 0, 0, 56, +/* 0x0810 */ 229,159, 48,252,229,132, 0, 0,226,132, 16, 8,225,160, 0, 4, +/* 0x0820 */ 229,132, 48, 4,235,255,254,179,229,157, 0, 12,225,160, 32, 4, +/* 0x0830 */ 227,160, 16, 0,235,255,254,218,225,160, 0, 6,225,160, 16, 8, +/* 0x0840 */ 225,160, 32, 9,235,255,254,169,227, 80, 0, 0, 10, 0, 0, 1, +/* 0x0850 */ 227,160, 0,127,235,255,254,146,229,157,192, 8,224,136, 48, 7, +/* 0x0860 */ 224,139, 16, 12,224,134, 64, 3,225, 84, 0, 1, 42, 0, 0, 6, +/* 0x0870 */ 224,100, 16, 1,225,160, 32, 9,225,160, 0, 4,227,160, 48, 16, +/* 0x0880 */ 235,255,254,170,225, 84, 0, 0, 26,255,255,240,229,157, 16, 28, +/* 0x0890 */ 226,129, 16, 1,229,141, 16, 28,226,133, 80, 32,225,218, 50,188, +/* 0x08a0 */ 229,157, 32, 28,225, 82, 0, 3,186,255,255,112,229,157, 48, 16, +/* 0x08b0 */ 227, 83, 0, 0, 10, 0, 0, 5,225,218, 49,176,227, 83, 0, 3, +/* 0x08c0 */ 21,157,192, 32, 21,157, 16, 40, 16,140, 0, 1, 27,255,254,129, +/* 0x08d0 */ 229,157, 32, 88,227, 82, 0, 0, 21,157, 48, 24, 21,130, 48, 0, +/* 0x08e0 */ 229,157, 16, 24,229,154, 0, 24,224,129, 0, 0,226,141,208, 52, +/* 0x08f0 */ 232,189,143,240,229, 21, 48, 28,227, 83, 0, 0, 5,157,192, 36, +/* 0x0900 */ 0,129, 48, 12, 2,131, 64, 8, 10,255,255,192,234,255,255,201, +/* 0x0910 */ 115, 81, 98, 64,225,160,240, 14,233, 45, 69,240,226, 77,208, 12, +/* 0x0920 */ 229,157, 96, 44,225,160,112, 0,225,160, 80, 1,226,141, 0, 48, +/* 0x0930 */ 226,141, 16, 40,225,160,160, 3,227,160, 48, 0,225,160,128, 2, +/* 0x0940 */ 229,157, 64, 48,235,255,254,185,229,157,192, 56,229,150, 32, 28, +/* 0x0950 */ 229,157, 48, 52,224,140, 32, 2,224,100, 48, 3,227,160, 16, 3, +/* 0x0960 */ 225,160, 0, 7,229,141, 48, 52,229,141,192, 8,229,141, 80, 48, +/* 0x0970 */ 235,255,254,139,225,160, 0, 7,227,160, 16, 5,225,214, 34,188, +/* 0x0980 */ 235,255,254,135,225,160, 0, 7,227,160, 16, 4,225,214, 34,186, +/* 0x0990 */ 235,255,254,131,225,214, 49,176,227, 83, 0, 3,226,134, 80, 52, +/* 0x09a0 */ 26, 0, 0, 23,229,157, 48, 8,229,150, 32, 24,224,130, 32, 3, +/* 0x09b0 */ 227,160, 48, 2,225,160, 0, 7,227,160, 16, 9,225,198, 49,176, +/* 0x09c0 */ 229,134, 32, 24,235,255,254,118,229,157,192, 8,225,160, 16, 6, +/* 0x09d0 */ 227,160, 0, 0,234, 0, 0, 6,229,145, 48, 28,229,145, 32, 32, +/* 0x09e0 */ 224,131, 48, 12,224,130, 32, 12,229,129, 48, 28,229,129, 32, 32, +/* 0x09f0 */ 226,128, 0, 1,225,214, 50,188,225, 80, 0, 3,226,129, 16, 32, +/* 0x0a00 */ 58,255,255,244,226,141,192, 8,225,160, 16, 6,226,141, 32, 48, +/* 0x0a10 */ 225,160, 48, 7,225,160, 0, 8,229,141,192, 0,229,141,160, 4, +/* 0x0a20 */ 235,255,254,212,225,160, 64, 0,227,160, 16, 9,225,160, 32, 4, +/* 0x0a30 */ 225,160, 0, 7,235,255,254, 90,225,214, 18,188,227,160, 32, 0, +/* 0x0a40 */ 234, 0, 0, 35,229,149, 48, 0,227, 83, 0, 3, 26, 0, 0, 30, +/* 0x0a50 */ 229,149, 48, 8,229,157, 0, 8,227,160, 16, 0,224,131, 0, 0, +/* 0x0a60 */ 225,160, 32, 1,235,255,254, 19,226, 80, 80, 0,186, 0, 0, 4, +/* 0x0a70 */ 225,160, 16, 6,227,160, 44, 2,235,255,254, 10,227, 80, 12, 2, +/* 0x0a80 */ 10, 0, 0, 1,227,160, 0,127,235,255,254, 5,227,160,224, 0, +/* 0x0a90 */ 225,160, 32, 14,226,141,192, 8,225,160, 16, 6,225,160, 48, 7, +/* 0x0aa0 */ 225,160, 0, 5,232,141, 80, 0,235,255,254,178,227,160, 16, 7, +/* 0x0ab0 */ 225,160, 64, 0,229,157, 32, 8,225,160, 0, 7,235,255,254, 56, +/* 0x0ac0 */ 225,160, 0, 5,235,255,253,253,234, 0, 0, 3,226,133, 80, 32, +/* 0x0ad0 */ 226,130, 32, 1,225, 82, 0, 1,186,255,255,217,225,160, 0, 4, +/* 0x0ae0 */ 226,141,208, 12,232,189,133,240 }; diff --git a/src/stub/i386-linux.elf-fold.h b/src/stub/i386-linux.elf-fold.h index afbea1e5..70da7023 100644 --- a/src/stub/i386-linux.elf-fold.h +++ b/src/stub/i386-linux.elf-fold.h @@ -1,5 +1,5 @@ /* i386-linux.elf-fold.h - created from i386-linux.elf-fold.bin, 1912 (0x778) bytes + created from i386-linux.elf-fold.bin, 1879 (0x757) bytes This file is part of the UPX executable compressor. @@ -31,17 +31,17 @@ */ -#define STUB_I386_LINUX_ELF_FOLD_SIZE 1912 -#define STUB_I386_LINUX_ELF_FOLD_ADLER32 0x11c72d9e -#define STUB_I386_LINUX_ELF_FOLD_CRC32 0xefe3f69e +#define STUB_I386_LINUX_ELF_FOLD_SIZE 1879 +#define STUB_I386_LINUX_ELF_FOLD_ADLER32 0x4cc82f67 +#define STUB_I386_LINUX_ELF_FOLD_CRC32 0x3a52de2f -unsigned char stub_i386_linux_elf_fold[1912] = { +unsigned char stub_i386_linux_elf_fold[1879] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0,128, 16,192, 0, 52, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16,192, 0, -/* 0x0040 */ 0, 16,192, 0,120, 7, 0, 0,120, 7, 0, 0, 5, 0, 0, 0, -/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,120, 7, 0, 0, 0, 0, 0, 0, +/* 0x0040 */ 0, 16,192, 0, 87, 7, 0, 0, 88, 7, 0, 0, 5, 0, 0, 0, +/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 87, 7, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 137,230,129,236, 0, 16, 0, 0,137,231,106, 8, 89,243,165, 85, @@ -57,7 +57,7 @@ unsigned char stub_i386_linux_elf_fold[1912] = { /* 0x0120 */ 250,175,173,193,233, 2, 73,243,165,252,141, 79, 4, 49,192, 41, /* 0x0130 */ 225,137,231,193,233, 2,243,171,137,252,137,215, 88, 93, 94, 88, /* 0x0140 */ 89,129,236, 0, 10, 0, 0,137,226, 81,139, 24,139, 72, 4,131, -/* 0x0150 */ 193, 12, 96, 71,232,167, 4, 0, 0, 79,137,198,137,250,137,231, +/* 0x0150 */ 193, 12, 96, 71,232,139, 4, 0, 0, 79,137,198,137,250,137,231, /* 0x0160 */ 185,137, 2, 0, 0, 49,192,243,171,137,252,137,116, 36, 12, 95, /* 0x0170 */ 82, 87, 41,237,106, 2, 94,106, 1, 90,185, 0, 16, 0, 0, 41, /* 0x0180 */ 219,104,192, 0, 0, 0, 88,205,128, 91,106, 6, 88,205,128, 95, @@ -68,92 +68,90 @@ unsigned char stub_i386_linux_elf_fold[1912] = { /* 0x01d0 */ 195, 0, 0, 0, 87, 86,137,206, 83,137,195, 57, 8,139,120, 4, /* 0x01e0 */ 115, 10,106,127, 91,106, 1, 88,205,128,235,254,133,201,116, 8, /* 0x01f0 */ 138, 7, 71,136, 2, 66,226,248, 1,115, 4, 41, 51, 91, 94, 95, -/* 0x0200 */ 195,106,127, 91,106, 1, 88,205,128,235,254, 85,137,229, 87, 86, -/* 0x0210 */ 137,198, 83,137,211,131,236, 24,139, 69, 8,139,125, 12,137, 69, -/* 0x0220 */ 220,131, 58, 0, 15,132,205, 0, 0, 0,141, 85,228,185, 12, 0, -/* 0x0230 */ 0, 0,137,240,232,155,255,255,255,139, 69,228,139, 77,232,133, -/* 0x0240 */ 192,117, 25,129,249, 85, 80, 88, 33,176, 2,117, 85,131, 62, 0, -/* 0x0250 */ 184, 3, 0, 0, 0,117, 75,233,155, 0, 0, 0,133,201,117, 7, -/* 0x0260 */ 184, 4, 0, 0, 0,235, 59, 57,193,119, 4, 59, 3,118, 7,184, -/* 0x0270 */ 5, 0, 0, 0,235, 44, 57,193,115, 96,137, 69,224,141, 69,224, -/* 0x0280 */ 255,117,236, 80,255,115, 4, 81,255,118, 4,255, 85,220,131,196, -/* 0x0290 */ 20,133,192,117, 8,139, 85,224, 59, 85,228,116, 10,184, 7, 0, -/* 0x02a0 */ 0, 0,232, 90,255,255,255,138, 69,237,132,192,116, 34,133,255, -/* 0x02b0 */ 116, 30,129,250, 0, 2, 0, 0,119, 4, 57, 19,117, 18, 15,182, -/* 0x02c0 */ 192, 80, 15,182, 69,238, 80, 82,255,115, 4,255,215,131,196, 16, -/* 0x02d0 */ 139, 69,232, 1, 70, 4, 41, 6,235, 10,139, 83, 4,137,240,232, -/* 0x02e0 */ 240,254,255,255,139, 85,228,139, 3, 1, 83, 4, 41,208,133,192, -/* 0x02f0 */ 137, 3,233, 45,255,255,255,141,101,244, 91, 94, 95,201,195,133, -/* 0x0300 */ 192,116, 13,168, 1,117, 9, 57, 16,116, 7,131,192, 8,235,247, -/* 0x0310 */ 49,192,133,192,116, 3,137, 72, 4,195, 85,137,229, 87, 86, 83, -/* 0x0320 */ 131,236, 72,137, 69,228,139, 69, 8,137, 85,224,139, 93, 20,137, -/* 0x0330 */ 69,220,139,117,224,139, 69,224,137, 93,208,139, 85, 12,139, 93, -/* 0x0340 */ 224, 3,118, 28,137, 85,216,102,131,120, 16, 2, 15,183, 83, 44, -/* 0x0350 */ 139, 77, 16,137,117,204, 15,148,192, 49,255, 15,182,192,137,211, -/* 0x0360 */ 137, 77,212,193,224, 4,137,241,131,206,255, 75,120, 31,137,211, -/* 0x0370 */ 131, 57, 1,117, 18,139, 81, 8, 57,242,115, 2,137,214, 3, 81, -/* 0x0380 */ 20, 57,215,115, 2,137,215,131,193, 32, 75,117,227,129,230, 0, -/* 0x0390 */ 240,255,255, 41,247,137,242,141,159,255, 15, 0, 0,129,227, 0, -/* 0x03a0 */ 240,255,255,133,192,117, 22,106, 0,131,200, 34,106,255, 80,106, -/* 0x03b0 */ 0, 83, 86,232,237,253,255,255,131,196, 24,137,194,141, 4, 26, -/* 0x03c0 */ 41,242,139,117,224,137, 85,200,137, 69,240,102,131,126, 44, 0, -/* 0x03d0 */ 199, 69,196, 0, 0, 0, 0, 15,132,233, 1, 0, 0,131,125,220, -/* 0x03e0 */ 0,116, 32,139, 69,204,131, 56, 6,117, 24,139, 77,200,186, 3, -/* 0x03f0 */ 0, 0, 0, 3, 72, 8,139, 69,216,232, 1,255,255,255,233,172, -/* 0x0400 */ 1, 0, 0,139, 85,204,131, 58, 1, 15,133,160, 1, 0, 0,139, -/* 0x0410 */ 74, 24,187, 64, 98, 81,115,137,214,139, 69,200,131,225, 7, 3, -/* 0x0420 */ 70, 8,193,225, 2,139, 82, 16,211,235,137,217,137, 85,232,131, -/* 0x0430 */ 225, 7,137, 69,236,137, 77,192,139, 78, 20,137,198, 1,193,137, -/* 0x0440 */ 77,188,137,193,129,225,255, 15, 0, 0, 41,206,131,125,220, 0, -/* 0x0450 */ 141, 60, 10,116, 64,106, 0,106,255,106, 50,141, 71, 3,106, 3, -/* 0x0460 */ 80, 86,232, 62,253,255,255,131,196, 24, 57,198,116, 10,184, 6, -/* 0x0470 */ 0, 0, 0,233, 25, 1, 0, 0,128,227, 4,139, 69,208,117, 2, -/* 0x0480 */ 49,192, 80,139, 69,220,255,117,228,141, 85,232,232,122,253,255, -/* 0x0490 */ 255, 88, 90,235, 41,139, 93,204,139, 67, 4, 41,200, 80,255,117, -/* 0x04a0 */ 228,106, 18,255,117,192, 87, 86,232,248,252,255,255,131,196, 24, -/* 0x04b0 */ 57,198,116, 10,184, 8, 0, 0, 0,233,211, 0, 0, 0,137,248, -/* 0x04c0 */ 247,216, 37,255, 15, 0, 0,246, 69,192, 2,137, 69,184,116, 18, -/* 0x04d0 */ 131,125,184, 0,141, 4, 62,116, 9,139, 77,184,198, 0, 0, 64, -/* 0x04e0 */ 226,250,131,125,220, 0,116,122,139, 85,204,131, 58, 1,117, 91, -/* 0x04f0 */ 246, 66, 24, 1,116, 85,137,209,139, 82, 20,139, 89, 8,139, 69, -/* 0x0500 */ 204,141, 12, 26, 3, 77,200, 59, 80, 16,117, 14,137,200,247,216, -/* 0x0510 */ 37,255, 15, 0, 0,131,248, 3,119, 17,139, 85,204,107, 69,200, -/* 0x0520 */ 52,131,122, 4, 0,141, 76, 3, 12,117, 32,139, 1, 61,205,128, -/* 0x0530 */ 97,195,116, 6,199, 1,205,128, 97,195,133,201,116, 13,139, 69, -/* 0x0540 */ 216, 49,210,131,224,254,232,180,253,255,255,137,243,137,249,139, -/* 0x0550 */ 85,192,106,125, 88,205,128,133,192,116, 7,184, 10, 0, 0, 0, -/* 0x0560 */ 235, 47,139, 85,184,141, 4, 23,141, 28, 6, 59, 93,188,115, 38, -/* 0x0570 */ 106, 0,106,255,106, 50,255,117,192, 41, 93,188,255,117,188, 83, -/* 0x0580 */ 232, 32,252,255,255,131,196, 24, 57,195,116, 35,184, 9, 0, 0, -/* 0x0590 */ 0,232,107,252,255,255,131,125,220, 0,116, 19,141, 79, 3,129, -/* 0x05a0 */ 225,255, 15, 0, 0,131,249, 3,119, 5,106, 91, 88,205,128,139, -/* 0x05b0 */ 77,224,255, 69,196, 15,183, 65, 44,131, 69,204, 32, 57, 69,196, -/* 0x05c0 */ 15,140, 23,254,255,255,131,125,220, 0,116, 18,139, 93,224,102, -/* 0x05d0 */ 131,123, 16, 3,116, 8,139, 93,240,106, 45, 88,205,128,131,125, -/* 0x05e0 */ 212, 0,116, 8,139, 69,200,139,117,212,137, 6,139, 85,224,139, -/* 0x05f0 */ 82, 24, 1, 85,200,139, 69,200,141,101,244, 91, 94, 95,201,195, -/* 0x0600 */ 85,137,229, 87, 86, 83,131,236, 28,199, 69,232, 0, 0, 0, 0, -/* 0x0610 */ 139, 69, 8,139,117, 16,137, 69,236,139,125, 28,128, 62,235,139, -/* 0x0620 */ 93, 32,117, 6,141, 86, 2,137, 85,232,106, 0,141, 85, 24,141, -/* 0x0630 */ 69, 32, 86,232,211,251,255,255,139, 77, 40,139, 69, 12,186, 3, -/* 0x0640 */ 0, 0, 0,137, 77,240, 3, 79, 28,137, 69, 32,139, 69,236, 41, -/* 0x0650 */ 93, 36,232,168,252,255,255, 15,183, 79, 44,139, 69,236,186, 5, -/* 0x0660 */ 0, 0, 0,141, 95, 52,232,148,252,255,255, 15,183, 79, 42,139, -/* 0x0670 */ 69,236,186, 4, 0, 0, 0,232,131,252,255,255,102,131,127, 16, -/* 0x0680 */ 3, 89, 88,117, 50,139, 77,240,102,199, 71, 16, 2, 0, 3, 79, -/* 0x0690 */ 24,186, 9, 0, 0, 0,139, 69,236,137, 79, 24,232, 94,252,255, -/* 0x06a0 */ 255, 15,183, 79, 44,133,201,116, 14,139, 69,240, 1, 67, 8, 1, -/* 0x06b0 */ 67, 12,131,195, 32,226,245,141, 77,240,137,250,255,117,232, 81, -/* 0x06c0 */ 255,117,236,141, 69, 32, 80,137,240,232, 76,252,255,255,186, 9, -/* 0x06d0 */ 0, 0, 0,137,193,137, 69,228,139, 69,236,232, 31,252,255,255, -/* 0x06e0 */ 102,139, 95, 44,131,196, 16, 49,201,102,133,219,141, 87, 52,116, -/* 0x06f0 */ 124,131, 58, 3,117,108,139, 93,240, 49,201, 3, 90, 8,137,202, -/* 0x0700 */ 106, 5, 88,205,128,137,198,133,246,184, 18, 0, 0, 0,120, 26, -/* 0x0710 */ 186, 0, 2, 0, 0,137,243,137,249,106, 3, 88,205,128, 61, 0, -/* 0x0720 */ 2, 0, 0,116, 10,184, 19, 0, 0, 0,232,210,250,255,255,141, -/* 0x0730 */ 69,240,137,250,106, 0,137,243, 80,137,240,255,117,236,106, 0, -/* 0x0740 */ 232,213,251,255,255,139, 77,240,137, 69,228,139, 69,236,186, 7, -/* 0x0750 */ 0, 0, 0,232,167,251,255,255,131,196, 16,106, 6, 88,205,128, -/* 0x0760 */ 235, 11, 65, 15,183,195,131,194, 32, 57,193,124,132,139, 69,228, -/* 0x0770 */ 141,101,244, 91, 94, 95,201,195 +/* 0x0200 */ 195, 85,137,229, 87, 86,137,198, 83,137,211,131,236, 24,139, 69, +/* 0x0210 */ 8,139,125, 12,137, 69,220,131, 58, 0, 15,132,185, 0, 0, 0, +/* 0x0220 */ 141, 85,228,185, 12, 0, 0, 0,137,240,232,165,255,255,255,139, +/* 0x0230 */ 69,228,139, 77,232,133,192,117, 19,129,249, 85, 80, 88, 33,117, +/* 0x0240 */ 15,131, 62, 0, 15,132,143, 0, 0, 0,235, 4,133,201,117, 10, +/* 0x0250 */ 106,127, 91,106, 1, 88,205,128,235,254, 57,193,119,242, 59, 3, +/* 0x0260 */ 119,238, 57,193,115, 86,137, 69,224,141, 69,224,255,117,236, 80, +/* 0x0270 */ 255,115, 4, 81,255,118, 4,255, 85,220,131,196, 20,133,192,117, +/* 0x0280 */ 207,139, 85,224, 59, 85,228,117,199,138, 69,237,132,192,116, 34, +/* 0x0290 */ 133,255,116, 30,129,250, 0, 2, 0, 0,119, 4, 57, 19,117, 18, +/* 0x02a0 */ 15,182,192, 80, 15,182, 69,238, 80, 82,255,115, 4,255,215,131, +/* 0x02b0 */ 196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 10,139, 83, 4,137, +/* 0x02c0 */ 240,232, 14,255,255,255,139, 85,228,139, 3, 1, 83, 4, 41,208, +/* 0x02d0 */ 133,192,137, 3,233, 65,255,255,255,141,101,244, 91, 94, 95,201, +/* 0x02e0 */ 195,133,192,116, 13,168, 1,117, 9, 57, 16,116, 7,131,192, 8, +/* 0x02f0 */ 235,247, 49,192,133,192,116, 3,137, 72, 4,195,184, 0,240,255, +/* 0x0300 */ 255,195, 85,137,229, 87, 86, 83,131,236, 84,137, 69,228,139, 77, +/* 0x0310 */ 16,137, 85,224,139, 69, 8,139, 85, 12,137, 77,212,139, 93, 20, +/* 0x0320 */ 137, 69,220,137, 85,216,137, 93,208,232,206,255,255,255,137,195, +/* 0x0330 */ 139, 85,224,137,198,139, 69,224, 15,183, 74, 44,247,214, 3, 64, +/* 0x0340 */ 28,137,117,204,102,131,122, 16, 2,137, 77,196,137, 69,200, 15, +/* 0x0350 */ 148,192,139,117,200, 15,182,248,232,159,255,255,255,139, 69,196, +/* 0x0360 */ 193,231, 4,137, 93,188, 49,210,131,203,255, 72,120, 31,139, 77, +/* 0x0370 */ 196,131, 62, 1,117, 18,139, 70, 8, 57,216,115, 2,137,195, 3, +/* 0x0380 */ 70, 20, 57,194,115, 2,137,194,131,198, 32,226,228,139,117,188, +/* 0x0390 */ 33,222, 41,242, 43, 85,188,141, 90,255,137,242, 35, 93,188,133, +/* 0x03a0 */ 255,117, 22,106, 0,131,207, 34,106,255, 87,106, 0, 83, 86,232, +/* 0x03b0 */ 241,253,255,255,131,196, 24,137,194,141, 4, 26, 41,242,137, 85, +/* 0x03c0 */ 192,139, 85,224,137, 69,240,102,131,122, 44, 0,199, 69,184, 0, +/* 0x03d0 */ 0, 0, 0, 15,132,209, 1, 0, 0,131,125,220, 0,116, 35,139, +/* 0x03e0 */ 77,200,131, 57, 6,117, 27,139, 93,200,186, 3, 0, 0, 0,139, +/* 0x03f0 */ 77,192, 3, 75, 8,139, 69,216,232,228,254,255,255,233,145, 1, +/* 0x0400 */ 0, 0,139,117,200,131, 62, 1, 15,133,133, 1, 0, 0,139, 78, +/* 0x0410 */ 24,187, 64, 98, 81,115,139, 86, 16,131,225, 7,193,225, 2,137, +/* 0x0420 */ 85,232,211,235,139, 78, 20,137,216,131,224, 7,137, 69,180,139, +/* 0x0430 */ 69,192, 3, 70, 8, 1,193,137,198,137, 77,176,139, 77,204,137, +/* 0x0440 */ 69,236, 33,193, 41,206,131,125,220, 0,141, 60, 10,116, 58,106, +/* 0x0450 */ 0,106,255,106, 50,141, 71, 3,106, 3, 80, 86,232, 68,253,255, +/* 0x0460 */ 255,131,196, 24, 57,198, 15,133,219, 0, 0, 0,128,227, 4,139, +/* 0x0470 */ 69,208,117, 2, 49,192, 80,139, 69,220,255,117,228,141, 85,232, +/* 0x0480 */ 232,124,253,255,255, 88, 90,235, 35,139, 93,200,139, 67, 4, 41, +/* 0x0490 */ 200, 80,255,117,228,106, 18,255,117,180, 87, 86,232, 4,253,255, +/* 0x04a0 */ 255,131,196, 24, 57,198, 15,133,155, 0, 0, 0,137,248,139, 85, +/* 0x04b0 */ 204,247,216, 33,208,246, 69,180, 2,137, 69,172,116, 18,131,125, +/* 0x04c0 */ 172, 0,141, 4, 62,116, 9,139, 77,172,198, 0, 0, 64,226,250, +/* 0x04d0 */ 131,125,220, 0,116,123,139, 77,200,131, 57, 1,117, 89,246, 65, +/* 0x04e0 */ 24, 1,116, 83,139, 81, 20,139, 89, 8,139, 69,200,141, 12, 26, +/* 0x04f0 */ 3, 77,192, 59, 80, 16,117, 14,137,200,247,216, 37,255, 15, 0, +/* 0x0500 */ 0,131,248, 3,119, 17,139, 85,200,107, 69,192, 52,131,122, 4, +/* 0x0510 */ 0,141, 76, 3, 12,117, 32,139, 1, 61,205,128, 97,195,116, 6, +/* 0x0520 */ 199, 1,205,128, 97,195,133,201,116, 13,139, 69,216, 49,210,131, +/* 0x0530 */ 224,254,232,170,253,255,255,137,243,137,249,139, 85,180,106,125, +/* 0x0540 */ 88,205,128,133,192,116, 10,106,127, 91,106, 1, 88,205,128,235, +/* 0x0550 */ 254,139, 85,172,141, 4, 23,141, 28, 6, 59, 93,176,115, 30,106, +/* 0x0560 */ 0,106,255,106, 50,255,117,180, 41, 93,176,255,117,176, 83,232, +/* 0x0570 */ 49,252,255,255,131,196, 24, 57,195,116, 24,235,202,131,125,220, +/* 0x0580 */ 0,116, 16,141, 79, 3, 35, 77,204,131,249, 3,119, 5,106, 91, +/* 0x0590 */ 88,205,128,139, 77,224,255, 69,184, 15,183, 65, 44,131, 69,200, +/* 0x05a0 */ 32, 57, 69,184, 15,140, 47,254,255,255,131,125,220, 0,116, 18, +/* 0x05b0 */ 139, 93,224,102,131,123, 16, 3,116, 8,139, 93,240,106, 45, 88, +/* 0x05c0 */ 205,128,131,125,212, 0,116, 8,139, 69,192,139,117,212,137, 6, +/* 0x05d0 */ 139, 85,224,139, 82, 24, 1, 85,192,139, 69,192,141,101,244, 91, +/* 0x05e0 */ 94, 95,201,195, 85,137,229, 87, 86, 83,131,236, 28,199, 69,232, +/* 0x05f0 */ 0, 0, 0, 0,139, 69, 8,139,117, 16,137, 69,236,128, 62,235, +/* 0x0600 */ 117, 6,141, 86, 2,137, 85,232,106, 0,139,125, 28,141, 85, 24, +/* 0x0610 */ 139, 93, 32,141, 69, 32, 86,232,229,251,255,255,139, 77, 40,139, +/* 0x0620 */ 69, 12,186, 3, 0, 0, 0,137, 77,240, 3, 79, 28,137, 69, 32, +/* 0x0630 */ 139, 69,236, 41, 93, 36,232,166,252,255,255, 15,183, 79, 44,139, +/* 0x0640 */ 69,236,186, 5, 0, 0, 0,141, 95, 52,232,146,252,255,255, 15, +/* 0x0650 */ 183, 79, 42,139, 69,236,186, 4, 0, 0, 0,232,129,252,255,255, +/* 0x0660 */ 102,131,127, 16, 3, 89, 88,117, 50,139, 77,240,102,199, 71, 16, +/* 0x0670 */ 2, 0, 3, 79, 24,186, 9, 0, 0, 0,139, 69,236,137, 79, 24, +/* 0x0680 */ 232, 92,252,255,255, 15,183, 79, 44,133,201,116, 14,139, 69,240, +/* 0x0690 */ 1, 67, 8, 1, 67, 12,131,195, 32,226,245,141, 77,240,137,250, +/* 0x06a0 */ 255,117,232, 81,255,117,236,141, 69, 32, 80,137,240,232, 80,252, +/* 0x06b0 */ 255,255,186, 9, 0, 0, 0,137,193,137, 69,228,139, 69,236,232, +/* 0x06c0 */ 29,252,255,255,102,139, 95, 44,131,196, 16, 49,201,102,133,219, +/* 0x06d0 */ 141, 87, 52,116,119,131, 58, 3,117,103,139, 93,240, 49,201, 3, +/* 0x06e0 */ 90, 8,137,202,106, 5, 88,205,128,133,192,137,198,120, 21,186, +/* 0x06f0 */ 0, 2, 0, 0,137,195,137,249,106, 3, 88,205,128, 61, 0, 2, +/* 0x0700 */ 0, 0,116, 10,106,127, 91,106, 1, 88,205,128,235,254,141, 69, +/* 0x0710 */ 240,137,250,106, 0,137,243, 80,137,240,255,117,236,106, 0,232, +/* 0x0720 */ 222,251,255,255,139, 77,240,137, 69,228,139, 69,236,186, 7, 0, +/* 0x0730 */ 0, 0,232,170,251,255,255,131,196, 16,106, 6, 88,205,128,235, +/* 0x0740 */ 11, 65, 15,183,195,131,194, 32, 57,193,124,137,139, 69,228,141, +/* 0x0750 */ 101,244, 91, 94, 95,201,195 }; diff --git a/src/stub/mips.r3000-linux.elf-fold.h b/src/stub/mips.r3000-linux.elf-fold.h index a5d97861..26214e4e 100644 --- a/src/stub/mips.r3000-linux.elf-fold.h +++ b/src/stub/mips.r3000-linux.elf-fold.h @@ -1,5 +1,5 @@ /* mips.r3000-linux.elf-fold.h - created from mips.r3000-linux.elf-fold.bin, 2808 (0xaf8) bytes + created from mips.r3000-linux.elf-fold.bin, 2620 (0xa3c) bytes This file is part of the UPX executable compressor. @@ -31,17 +31,17 @@ */ -#define STUB_MIPS_R3000_LINUX_ELF_FOLD_SIZE 2808 -#define STUB_MIPS_R3000_LINUX_ELF_FOLD_ADLER32 0xc8c565c1 -#define STUB_MIPS_R3000_LINUX_ELF_FOLD_CRC32 0x4f945c79 +#define STUB_MIPS_R3000_LINUX_ELF_FOLD_SIZE 2620 +#define STUB_MIPS_R3000_LINUX_ELF_FOLD_ADLER32 0xcf6f3920 +#define STUB_MIPS_R3000_LINUX_ELF_FOLD_CRC32 0x2ec58e95 -unsigned char stub_mips_r3000_linux_elf_fold[2808] = { +unsigned char stub_mips_r3000_linux_elf_fold[2620] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 2, 0, 8, 0, 0, 0, 1, 0, 16, 0,128, 0, 0, 0, 52, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 48, 1, 0, 52, 0, 32, 0, 2, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0, -/* 0x0040 */ 0, 16, 0, 0, 0, 0, 10,248, 0, 0, 11, 0, 0, 0, 0, 5, -/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 10,248, 0, 0, 0, 0, +/* 0x0040 */ 0, 16, 0, 0, 0, 0, 10, 60, 0, 0, 10, 64, 0, 0, 0, 5, +/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 10, 60, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 39,162, 0, 32, 39,189,240, 24, 3,160, 24, 33,140, 65, 0, 0, @@ -57,7 +57,7 @@ unsigned char stub_mips_r3000_linux_elf_fold[2808] = { /* 0x0120 */ 0, 0, 0, 12, 4,224, 0, 2, 0,162, 8, 33,160, 32, 0, 0, /* 0x0130 */ 39,189,254, 0, 0, 0, 72, 33, 2,224, 64, 33, 2,128, 56, 33, /* 0x0140 */ 3,160, 48, 33, 2,176, 40, 35, 4, 16, 0, 1, 36, 2, 1, 80, -/* 0x0150 */ 3,226, 16, 35, 36, 66, 8,204, 0, 64,248, 9, 2, 32, 32, 33, +/* 0x0150 */ 3,226, 16, 35, 36, 66, 8, 16, 0, 64,248, 9, 2, 32, 32, 33, /* 0x0160 */ 0, 64,200, 33, 39,161, 2, 0, 39,189,254,212, 39,189, 0, 4, /* 0x0170 */ 23,161,255,254,175,160,255,252,142,193,255,252, 2, 64, 40, 33, /* 0x0180 */ 16, 32, 0, 3, 2, 96, 32, 33, 0, 32, 0, 8, 36, 2, 15,251, @@ -75,141 +75,129 @@ unsigned char stub_mips_r3000_linux_elf_fold[2808] = { /* 0x0240 */ 172,130, 0, 0, 3,224, 0, 8,172,131, 0, 4, 39,189,255,216, /* 0x0250 */ 175,179, 0, 28,175,178, 0, 24,175,177, 0, 20,175,176, 0, 16, /* 0x0260 */ 0,128,136, 33, 0,160,128, 33, 0,192,152, 33, 0,224,144, 33, -/* 0x0270 */ 16, 0, 0, 97,175,191, 0, 32, 2, 32, 32, 33, 4, 17,255,216, -/* 0x0280 */ 39,165, 0, 4,143,163, 0, 4,143,166, 0, 8, 20, 96, 0, 17, -/* 0x0290 */ 60, 2, 33, 88, 52, 66, 80, 85, 16,194, 0, 6, 36, 4, 0,127, -/* 0x02a0 */ 36, 2, 15,161, 4, 17,255,197, 0, 0, 0, 0, 16, 0,255,255, -/* 0x02b0 */ 0, 0, 0, 0,142, 34, 0, 0, 0, 0, 0, 0, 16, 64, 0, 82, -/* 0x02c0 */ 36, 2, 15,161, 4, 17,255,189, 0, 0, 0, 0, 16, 0,255,255, -/* 0x02d0 */ 0, 0, 0, 0, 20,192, 0, 6, 0,102, 16, 43, 36, 4, 0,127, -/* 0x02e0 */ 4, 17,255,182, 36, 2, 15,161, 16, 0,255,255, 0, 0, 0, 0, -/* 0x02f0 */ 20, 64, 0, 7, 36, 4, 0,127,142, 2, 0, 0, 0, 0, 0, 0, -/* 0x0300 */ 0, 67, 16, 43, 16, 64, 0, 6, 0,195, 16, 43, 36, 4, 0,127, -/* 0x0310 */ 4, 17,255,170, 36, 2, 15,161, 16, 0,255,255, 0, 0, 0, 0, -/* 0x0320 */ 142, 7, 0, 4, 16, 64, 0, 43, 0,224, 40, 33,142, 36, 0, 4, -/* 0x0330 */ 143,168, 0, 12, 0,192, 40, 33,175,163, 0, 0, 0,224, 48, 33, -/* 0x0340 */ 2, 96,248, 9, 3,160, 56, 33, 20, 64, 0, 6, 36, 4, 0,127, -/* 0x0350 */ 143,165, 0, 0,143,162, 0, 4, 0, 0, 0, 0, 16,162, 0, 5, -/* 0x0360 */ 0, 0, 0, 0, 4, 17,255,149, 36, 2, 15,161, 16, 0,255,255, -/* 0x0370 */ 0, 0, 0, 0,147,167, 0, 13, 0, 0, 0, 0, 16,224, 0, 13, -/* 0x0380 */ 0, 0, 0, 0, 18, 64, 0, 11, 44,162, 2, 1, 16, 64, 0, 5, -/* 0x0390 */ 0, 0, 0, 0,142, 2, 0, 0, 0, 0, 0, 0, 20, 69, 0, 5, -/* 0x03a0 */ 0, 0, 0, 0,142, 4, 0, 4,147,166, 0, 14, 2, 64,248, 9, -/* 0x03b0 */ 0, 0, 0, 0,143,162, 0, 8,142, 35, 0, 4,142, 36, 0, 0, -/* 0x03c0 */ 0, 98, 24, 33, 0,130, 32, 35,174, 35, 0, 4, 16, 0, 0, 3, -/* 0x03d0 */ 174, 36, 0, 0, 4, 17,255,130, 2, 32, 32, 33,143,162, 0, 4, -/* 0x03e0 */ 142, 3, 0, 4,142, 4, 0, 0, 0, 98, 24, 33, 0,130, 32, 35, -/* 0x03f0 */ 174, 3, 0, 4,174, 4, 0, 0,142, 2, 0, 0, 0, 0, 0, 0, -/* 0x0400 */ 20, 64,255,157, 36, 6, 0, 12,143,191, 0, 32,143,179, 0, 28, -/* 0x0410 */ 143,178, 0, 24,143,177, 0, 20,143,176, 0, 16, 3,224, 0, 8, -/* 0x0420 */ 39,189, 0, 40, 16,128, 0, 7, 0, 0, 0, 0,140,130, 0, 0, -/* 0x0430 */ 0, 0, 0, 0, 16, 69, 0, 3, 0, 0, 0, 0, 16, 0,255,251, -/* 0x0440 */ 36,132, 0, 8, 3,224, 0, 8, 0,128, 16, 33, 39,189,255,248, -/* 0x0450 */ 175,176, 0, 0,175,191, 0, 4, 4, 17,255,242, 0,192,128, 33, -/* 0x0460 */ 16, 64, 0, 2, 0, 0, 0, 0,172, 80, 0, 4,143,191, 0, 4, -/* 0x0470 */ 143,176, 0, 0, 3,224, 0, 8, 39,189, 0, 8, 39,189,255,168, -/* 0x0480 */ 175,190, 0, 80,175,180, 0, 64,175,177, 0, 52,175,191, 0, 84, -/* 0x0490 */ 175,183, 0, 76,175,182, 0, 72,175,181, 0, 68,175,179, 0, 60, -/* 0x04a0 */ 175,178, 0, 56,175,176, 0, 48,140,162, 0, 28, 0,160,160, 33, -/* 0x04b0 */ 175,164, 0, 28, 36, 5, 0, 6, 0,224, 32, 33,175,167, 0, 32, -/* 0x04c0 */ 0,192,240, 33,175,168, 0, 36,175,169, 0, 40, 4, 17,255,213, -/* 0x04d0 */ 2,130,136, 33, 20, 64, 0, 3, 0, 0, 0, 0, 16, 0, 0, 4, -/* 0x04e0 */ 52, 2,255,255,140, 66, 0, 4, 0, 0, 0, 0, 36, 66,255,255, -/* 0x04f0 */ 175,162, 0, 20,150,130, 0, 16,143,164, 0, 20,150,131, 0, 44, -/* 0x0500 */ 56, 66, 0, 2, 44, 66, 0, 1, 0, 4, 40, 39, 0, 2, 57, 0, -/* 0x0510 */ 36, 99,255,255, 2, 32, 64, 33, 36, 4,255,255, 0, 0, 72, 33, -/* 0x0520 */ 16, 0, 0, 19, 36, 10, 0, 1,141, 2, 0, 0, 0, 0, 0, 0, -/* 0x0530 */ 20, 74, 0, 14, 36, 99,255,255,141, 6, 0, 8, 0, 0, 0, 0, -/* 0x0540 */ 0,196, 16, 43, 16, 64, 0, 2, 0, 0, 0, 0, 0,192, 32, 33, -/* 0x0550 */ 141, 2, 0, 20, 0, 0, 0, 0, 0,194, 48, 33, 1, 38, 16, 43, -/* 0x0560 */ 16, 64, 0, 2, 0, 0, 0, 0, 0,192, 72, 33, 37, 8, 0, 32, -/* 0x0570 */ 4, 97,255,237, 0,164,128, 36, 1, 48, 16, 35, 0, 69, 16, 35, -/* 0x0580 */ 36, 66,255,255, 0,162, 40, 36, 16,224, 0, 3,175,165, 0, 8, -/* 0x0590 */ 16, 0, 0, 9,175,176, 0, 12,143,165, 0, 8, 52,231, 8, 2, -/* 0x05a0 */ 2, 0, 32, 33, 0, 0, 48, 33, 36, 8,255,255, 4, 17,254,252, -/* 0x05b0 */ 0, 0, 72, 33,175,162, 0, 12,143,162, 0, 12,175,160, 0, 16, -/* 0x05c0 */ 16, 0, 0,157, 0, 80,184, 35, 19,192, 0, 12, 36, 2, 0, 6, -/* 0x05d0 */ 142, 35, 0, 0, 0, 0, 0, 0, 20, 98, 0, 10, 36, 2, 0, 1, -/* 0x05e0 */ 142, 38, 0, 8,143,164, 0, 32, 2,230, 48, 33, 4, 17,255,151, -/* 0x05f0 */ 36, 5, 0, 3, 16, 0, 0,140, 0, 0, 0, 0,142, 35, 0, 0, -/* 0x0600 */ 36, 2, 0, 1, 20, 98, 0,136, 0, 0, 0, 0,142, 34, 0, 8, -/* 0x0610 */ 142, 35, 0, 24, 2,226,176, 33, 60, 2,115, 81, 0, 3, 24,128, -/* 0x0620 */ 52, 66, 98, 64, 0, 98,144, 6,143,163, 0, 20,142, 36, 0, 16, -/* 0x0630 */ 2,195, 16, 36,175,164, 0, 0, 0,130,152, 33,142, 36, 0, 20, -/* 0x0640 */ 175,182, 0, 4, 50, 85, 0, 7,175,164, 0, 24, 19,192, 0, 27, -/* 0x0650 */ 2,194,128, 35, 2, 0, 32, 33, 2, 96, 40, 33, 36, 6, 0, 3, -/* 0x0660 */ 36, 7, 8, 18, 36, 8,255,255, 4, 17,254,205, 0, 0, 72, 33, -/* 0x0670 */ 18, 2, 0, 6, 50, 66, 0, 4, 36, 4, 0,127, 4, 17,254,207, -/* 0x0680 */ 36, 2, 15,161, 16, 0,255,255, 0, 0, 0, 0, 16, 64, 0, 4, -/* 0x0690 */ 0, 0, 0, 0,143,167, 0, 40, 16, 0, 0, 2, 0, 0, 0, 0, -/* 0x06a0 */ 0, 0, 56, 33,143,166, 0, 28, 3,192, 32, 33, 4, 17,254,231, -/* 0x06b0 */ 3,160, 40, 33, 16, 0, 0, 16, 0, 0, 0, 0,142, 41, 0, 4, -/* 0x06c0 */ 143,168, 0, 28, 2, 0, 32, 33, 1, 34, 72, 35, 2, 96, 40, 33, -/* 0x06d0 */ 2,160, 48, 33, 4, 17,254,178, 36, 7, 0, 18, 18, 2, 0, 6, -/* 0x06e0 */ 36, 4, 0,127, 36, 2, 15,161, 4, 17,254,180, 0, 0, 0, 0, -/* 0x06f0 */ 16, 0,255,255, 0, 0, 0, 0,143,164, 0, 20, 0, 19, 16, 35, -/* 0x0700 */ 50,163, 0, 2, 16, 96, 0, 8, 0, 68,144, 36, 18, 64, 0, 6, -/* 0x0710 */ 2, 64, 16, 33, 2, 19, 24, 33, 36, 66,255,255,160, 96, 0, 0, -/* 0x0720 */ 20, 64,255,253, 36, 99, 0, 1, 19,192, 0, 43, 36, 2, 0, 1, -/* 0x0730 */ 142, 35, 0, 0, 0, 0, 0, 0, 20, 98, 0, 28, 2, 0, 32, 33, -/* 0x0740 */ 142, 34, 0, 24, 0, 0, 0, 0, 48, 66, 0, 1, 16, 64, 0, 24, -/* 0x0750 */ 2, 96, 40, 33,142, 36, 0, 20,142, 34, 0, 16,142, 35, 0, 8, -/* 0x0760 */ 20,130, 0, 17, 0,131, 16, 33, 0, 87, 48, 33,143,163, 0, 20, -/* 0x0770 */ 0, 6, 16, 35, 0, 98, 16, 36, 44, 66, 0, 12, 20, 64, 0, 12, -/* 0x0780 */ 2, 0, 32, 33, 36, 2, 0, 12,172,194, 0, 0, 60, 2, 3, 32, -/* 0x0790 */ 52, 66, 0, 8,143,164, 0, 32,172,194, 0, 4,172,192, 0, 8, -/* 0x07a0 */ 4, 17,255, 42, 0, 0, 40, 33, 2, 0, 32, 33, 2, 96, 40, 33, -/* 0x07b0 */ 2,160, 48, 33, 4, 17,254,129, 36, 2, 16, 29, 16, 64, 0, 6, -/* 0x07c0 */ 36, 4, 0,127, 36, 2, 15,161, 4, 17,254,124, 0, 0, 0, 0, -/* 0x07d0 */ 16, 0,255,255, 0, 0, 0, 0,143,164, 0, 24, 2,114, 16, 33, -/* 0x07e0 */ 2,196, 40, 33, 2, 2,128, 33, 2, 5, 16, 43, 16, 64, 0, 14, -/* 0x07f0 */ 0,176, 40, 35, 2,160, 48, 33, 2, 0, 32, 33, 36, 7, 8, 18, -/* 0x0800 */ 36, 8,255,255, 4, 17,254,102, 0, 0, 72, 33, 18, 2, 0, 6, -/* 0x0810 */ 36, 4, 0,127, 36, 2, 15,161, 4, 17,254,104, 0, 0, 0, 0, -/* 0x0820 */ 16, 0,255,255, 0, 0, 0, 0,143,162, 0, 16, 38, 49, 0, 32, -/* 0x0830 */ 36, 66, 0, 1,175,162, 0, 16,150,130, 0, 44,143,163, 0, 16, -/* 0x0840 */ 0, 0, 0, 0, 0, 98, 16, 42, 20, 64,255, 95, 0, 0, 0, 0, -/* 0x0850 */ 19,192, 0, 11, 36, 2, 0, 3,150,131, 0, 16, 0, 0, 0, 0, -/* 0x0860 */ 16, 98, 0, 7, 0, 0, 0, 0,143,162, 0, 12,143,163, 0, 8, -/* 0x0870 */ 0, 0, 0, 0, 0, 67, 32, 33, 4, 17,254, 80, 36, 2, 15,205, -/* 0x0880 */ 143,164, 0, 36, 0, 0, 0, 0, 16,128, 0, 2, 0, 0, 0, 0, -/* 0x0890 */ 172,151, 0, 0,142,130, 0, 24,143,191, 0, 84, 2,226, 16, 33, -/* 0x08a0 */ 143,190, 0, 80,143,183, 0, 76,143,182, 0, 72,143,181, 0, 68, -/* 0x08b0 */ 143,180, 0, 64,143,179, 0, 60,143,178, 0, 56,143,177, 0, 52, -/* 0x08c0 */ 143,176, 0, 48, 3,224, 0, 8, 39,189, 0, 88, 39,189,255,200, -/* 0x08d0 */ 175,191, 0, 52,175,180, 0, 48,175,179, 0, 44,175,178, 0, 40, -/* 0x08e0 */ 175,177, 0, 36,175,176, 0, 32, 1, 0,144, 33,140,136, 0, 0, -/* 0x08f0 */ 0,128, 16, 33, 0,160, 24, 33, 0,192,128, 33, 0,224,152, 33, -/* 0x0900 */ 39,164, 0, 20, 0, 0, 56, 33, 39,165, 0, 4, 2, 64, 48, 33, -/* 0x0910 */ 175,162, 0, 24,175,163, 0, 20,175,162, 0, 16,175,163, 0, 12, -/* 0x0920 */ 175,168, 0, 4, 1, 32,160, 33, 4, 17,254, 72,175,176, 0, 8, -/* 0x0930 */ 142, 6, 0, 28, 36, 5, 0, 3, 2, 96, 32, 33, 4, 17,254,195, -/* 0x0940 */ 175,160, 0, 0,150, 6, 0, 44, 2, 96, 32, 33, 4, 17,254,191, -/* 0x0950 */ 36, 5, 0, 5,150, 6, 0, 42, 2, 96, 32, 33, 4, 17,254,187, -/* 0x0960 */ 36, 5, 0, 4,150, 3, 0, 16, 36, 2, 0, 3, 20, 98, 0, 25, -/* 0x0970 */ 38, 17, 0, 52,143,162, 0, 0,142, 6, 0, 24, 2, 96, 32, 33, -/* 0x0980 */ 0,194, 48, 33, 36, 2, 0, 2,174, 6, 0, 24, 36, 5, 0, 9, -/* 0x0990 */ 4, 17,254,174,166, 2, 0, 16,150, 7, 0, 44,143,166, 0, 0, -/* 0x09a0 */ 2, 32, 32, 33, 16, 0, 0, 8, 0, 0, 40, 33,140,130, 0, 8, -/* 0x09b0 */ 140,131, 0, 12, 0, 70, 16, 33, 0,102, 24, 33,172,130, 0, 8, -/* 0x09c0 */ 172,131, 0, 12, 36,132, 0, 32, 0,167, 16, 43, 20, 64,255,247, -/* 0x09d0 */ 36,165, 0, 1, 2, 64, 32, 33, 2,128, 72, 33, 2, 0, 40, 33, -/* 0x09e0 */ 39,166, 0, 12, 2, 96, 56, 33, 4, 17,254,164, 3,160, 64, 33, -/* 0x09f0 */ 0, 64, 48, 33, 2, 96, 32, 33, 36, 5, 0, 9, 4, 17,254,147, -/* 0x0a00 */ 0, 64,144, 33,150, 5, 0, 44, 16, 0, 0, 47, 0, 0, 32, 33, -/* 0x0a10 */ 142, 35, 0, 0, 36, 2, 0, 3, 20, 98, 0, 43, 38, 49, 0, 32, -/* 0x0a20 */ 38, 49,255,224,142, 34, 0, 8,143,164, 0, 0, 0, 0, 40, 33, -/* 0x0a30 */ 0, 68, 32, 33, 0, 0, 48, 33, 4, 17,253,224, 36, 2, 15,165, -/* 0x0a40 */ 4, 65, 0, 6, 0, 64,136, 33, 36, 4, 0,127, 4, 17,253,219, -/* 0x0a50 */ 36, 2, 15,161, 16, 0,255,255, 0, 0, 0, 0, 0, 64, 32, 33, -/* 0x0a60 */ 2, 0, 40, 33, 36, 6, 2, 0, 4, 17,253,212, 36, 2, 15,163, -/* 0x0a70 */ 36, 3, 2, 0, 16, 67, 0, 6, 2, 96, 56, 33, 36, 4, 0,127, -/* 0x0a80 */ 4, 17,253,206, 36, 2, 15,161, 16, 0,255,255, 0, 0, 0, 0, -/* 0x0a90 */ 3,160, 64, 33, 0, 0, 72, 33, 4, 17,254,120, 0, 0, 48, 33, -/* 0x0aa0 */ 143,166, 0, 0, 2, 96, 32, 33, 36, 5, 0, 7, 4, 17,254,103, -/* 0x0ab0 */ 0, 64,144, 33, 2, 32, 32, 33, 4, 17,253,192, 36, 2, 15,166, -/* 0x0ac0 */ 16, 0, 0, 5, 2, 64, 16, 33, 0,133, 16, 42, 20, 64,255,208, -/* 0x0ad0 */ 36,132, 0, 1, 2, 64, 16, 33,143,191, 0, 52,143,180, 0, 48, -/* 0x0ae0 */ 143,179, 0, 44,143,178, 0, 40,143,177, 0, 36,143,176, 0, 32, -/* 0x0af0 */ 3,224, 0, 8, 39,189, 0, 56 +/* 0x0270 */ 16, 0, 0, 82,175,191, 0, 32, 2, 32, 32, 33, 4, 17,255,216, +/* 0x0280 */ 39,165, 0, 4,143,163, 0, 4,143,166, 0, 8, 20, 96, 0, 10, +/* 0x0290 */ 60, 2, 33, 88, 52, 66, 80, 85, 20,194, 0, 10, 36, 4, 0,127, +/* 0x02a0 */ 142, 34, 0, 0, 0, 0, 0, 0, 20, 64, 0, 7, 36, 2, 15,161, +/* 0x02b0 */ 16, 0, 0, 70, 0, 0, 0, 0, 20,192, 0, 7, 0,102, 16, 43, +/* 0x02c0 */ 36, 4, 0,127, 36, 2, 15,161, 4, 17,255,188, 0, 0, 0, 0, +/* 0x02d0 */ 16, 0,255,255, 0, 0, 0, 0, 20, 64,255,250, 36, 4, 0,127, +/* 0x02e0 */ 142, 2, 0, 0, 0, 0, 0, 0, 0, 67, 16, 43, 20, 64,255,245, +/* 0x02f0 */ 0,195, 16, 43,142, 7, 0, 4, 16, 64, 0, 39, 0,224, 40, 33, +/* 0x0300 */ 142, 36, 0, 4,147,168, 0, 12, 0,192, 40, 33,175,163, 0, 0, +/* 0x0310 */ 0,224, 48, 33, 2, 96,248, 9, 3,160, 56, 33, 20, 64,255,233, +/* 0x0320 */ 36, 4, 0,127,143,165, 0, 0,143,162, 0, 4, 0, 0, 0, 0, +/* 0x0330 */ 20,162,255,228, 0, 0, 0, 0,147,167, 0, 13, 0, 0, 0, 0, +/* 0x0340 */ 16,224, 0, 13, 0, 0, 0, 0, 18, 64, 0, 11, 44,162, 2, 1, +/* 0x0350 */ 16, 64, 0, 5, 0, 0, 0, 0,142, 2, 0, 0, 0, 0, 0, 0, +/* 0x0360 */ 20, 69, 0, 5, 0, 0, 0, 0,142, 4, 0, 4,147,166, 0, 14, +/* 0x0370 */ 2, 64,248, 9, 0, 0, 0, 0,143,162, 0, 8,142, 35, 0, 4, +/* 0x0380 */ 142, 36, 0, 0, 0, 98, 24, 33, 0,130, 32, 35,174, 35, 0, 4, +/* 0x0390 */ 16, 0, 0, 3,174, 36, 0, 0, 4, 17,255,145, 2, 32, 32, 33, +/* 0x03a0 */ 143,162, 0, 4,142, 3, 0, 4,142, 4, 0, 0, 0, 98, 24, 33, +/* 0x03b0 */ 0,130, 32, 35,174, 3, 0, 4,174, 4, 0, 0,142, 2, 0, 0, +/* 0x03c0 */ 0, 0, 0, 0, 20, 64,255,172, 36, 6, 0, 12,143,191, 0, 32, +/* 0x03d0 */ 143,179, 0, 28,143,178, 0, 24,143,177, 0, 20,143,176, 0, 16, +/* 0x03e0 */ 3,224, 0, 8, 39,189, 0, 40, 16,128, 0, 8, 0, 0, 0, 0, +/* 0x03f0 */ 140,130, 0, 0, 0, 0, 0, 0, 16, 69, 0, 3, 0, 0, 0, 0, +/* 0x0400 */ 16, 0,255,251, 36,132, 0, 8,172,134, 0, 4, 3,224, 0, 8, +/* 0x0410 */ 0, 0, 0, 0, 3,224, 0, 8, 36, 2,240, 0, 0, 2, 18, 64, +/* 0x0420 */ 3,224, 0, 8, 0, 0, 16, 33, 39,189,255,168,175,190, 0, 80, +/* 0x0430 */ 175,180, 0, 64,175,177, 0, 52,175,191, 0, 84,175,183, 0, 76, +/* 0x0440 */ 175,182, 0, 72,175,181, 0, 68,175,179, 0, 60,175,178, 0, 56, +/* 0x0450 */ 175,176, 0, 48,148,162, 0, 16,140,163, 0, 28, 0,160,160, 33, +/* 0x0460 */ 56, 66, 0, 2,148,165, 0, 44, 44, 66, 0, 1, 2,131,136, 33, +/* 0x0470 */ 175,164, 0, 28, 0,192,240, 33,175,167, 0, 32,175,168, 0, 36, +/* 0x0480 */ 175,169, 0, 40, 0, 2, 57, 0, 36,165,255,255, 0, 10, 16, 39, +/* 0x0490 */ 2, 32, 48, 33, 36, 4,255,255, 0, 0, 64, 33, 36, 9, 0, 1, +/* 0x04a0 */ 16, 0, 0, 19,175,162, 0, 20,140,194, 0, 0, 0, 0, 0, 0, +/* 0x04b0 */ 20, 73, 0, 14, 36,165,255,255,140,195, 0, 8, 0, 0, 0, 0, +/* 0x04c0 */ 0,100, 16, 43, 16, 64, 0, 2, 0, 0, 0, 0, 0, 96, 32, 33, +/* 0x04d0 */ 140,194, 0, 20, 0, 0, 0, 0, 0, 98, 24, 33, 1, 3, 16, 43, +/* 0x04e0 */ 16, 64, 0, 2, 0, 0, 0, 0, 0, 96, 64, 33, 36,198, 0, 32, +/* 0x04f0 */ 4,161,255,237, 1, 68,128, 36, 1, 16, 16, 35, 0, 74, 16, 35, +/* 0x0500 */ 36, 66,255,255, 1, 66, 80, 36, 16,224, 0, 3,175,170, 0, 8, +/* 0x0510 */ 16, 0, 0, 9,175,176, 0, 12,143,165, 0, 8, 52,231, 8, 2, +/* 0x0520 */ 2, 0, 32, 33, 0, 0, 48, 33, 36, 8,255,255, 4, 17,255, 28, +/* 0x0530 */ 0, 0, 72, 33,175,162, 0, 12,143,163, 0, 12,175,160, 0, 16, +/* 0x0540 */ 16, 0, 0,142, 0,112,184, 35, 19,192, 0, 12, 36, 2, 0, 6, +/* 0x0550 */ 142, 35, 0, 0, 0, 0, 0, 0, 20, 98, 0, 10, 36, 2, 0, 1, +/* 0x0560 */ 142, 38, 0, 8,143,164, 0, 32, 2,230, 48, 33, 4, 17,255,158, +/* 0x0570 */ 36, 5, 0, 3, 16, 0, 0,125, 0, 0, 0, 0,142, 35, 0, 0, +/* 0x0580 */ 36, 2, 0, 1, 20, 98, 0,121, 0, 0, 0, 0,142, 34, 0, 8, +/* 0x0590 */ 142, 35, 0, 24, 2,226,176, 33, 60, 2,115, 81, 0, 3, 24,128, +/* 0x05a0 */ 52, 66, 98, 64, 0, 98,144, 6,143,163, 0, 20,142, 36, 0, 16, +/* 0x05b0 */ 2,195, 16, 36,175,164, 0, 0, 0,130,152, 33,142, 36, 0, 20, +/* 0x05c0 */ 175,182, 0, 4, 50, 85, 0, 7,175,164, 0, 24, 19,192, 0, 22, +/* 0x05d0 */ 2,194,128, 35, 2, 0, 32, 33, 2, 96, 40, 33, 36, 6, 0, 3, +/* 0x05e0 */ 36, 7, 8, 18, 36, 8,255,255, 4, 17,254,237, 0, 0, 72, 33, +/* 0x05f0 */ 22, 2, 0, 74, 50, 66, 0, 4, 16, 64, 0, 4, 0, 0, 0, 0, +/* 0x0600 */ 143,167, 0, 40, 16, 0, 0, 2, 0, 0, 0, 0, 0, 0, 56, 33, +/* 0x0610 */ 143,166, 0, 28, 3,192, 32, 33, 4, 17,255, 12, 3,160, 40, 33, +/* 0x0620 */ 16, 0, 0, 11, 0, 0, 0, 0,142, 41, 0, 4,143,168, 0, 28, +/* 0x0630 */ 2, 0, 32, 33, 1, 34, 72, 35, 2, 96, 40, 33, 2,160, 48, 33, +/* 0x0640 */ 4, 17,254,215, 36, 7, 0, 18, 22, 2, 0, 53, 36, 4, 0,127, +/* 0x0650 */ 143,164, 0, 20, 0, 19, 16, 35, 50,163, 0, 2, 16, 96, 0, 8, +/* 0x0660 */ 0, 68,144, 36, 18, 64, 0, 6, 2, 64, 16, 33, 2, 19, 24, 33, +/* 0x0670 */ 36, 66,255,255,160, 96, 0, 0, 20, 64,255,253, 36, 99, 0, 1, +/* 0x0680 */ 19,192, 0, 43, 36, 2, 0, 1,142, 35, 0, 0, 0, 0, 0, 0, +/* 0x0690 */ 20, 98, 0, 28, 2, 0, 32, 33,142, 34, 0, 24, 0, 0, 0, 0, +/* 0x06a0 */ 48, 66, 0, 1, 16, 64, 0, 24, 2, 96, 40, 33,142, 36, 0, 20, +/* 0x06b0 */ 142, 34, 0, 16,142, 35, 0, 8, 20,130, 0, 17, 0,131, 16, 33, +/* 0x06c0 */ 0, 87, 48, 33,143,163, 0, 20, 0, 6, 16, 35, 0, 98, 16, 36, +/* 0x06d0 */ 44, 66, 0, 12, 20, 64, 0, 12, 2, 0, 32, 33, 36, 2, 0, 12, +/* 0x06e0 */ 172,194, 0, 0, 60, 2, 3, 32, 52, 66, 0, 8,143,164, 0, 32, +/* 0x06f0 */ 172,194, 0, 4,172,192, 0, 8, 4, 17,255, 59, 0, 0, 40, 33, +/* 0x0700 */ 2, 0, 32, 33, 2, 96, 40, 33, 2,160, 48, 33, 4, 17,254,171, +/* 0x0710 */ 36, 2, 16, 29, 16, 64, 0, 6, 0, 0, 0, 0, 36, 4, 0,127, +/* 0x0720 */ 4, 17,254,166, 36, 2, 15,161, 16, 0,255,255, 0, 0, 0, 0, +/* 0x0730 */ 143,164, 0, 24, 2,114, 16, 33, 2,196, 40, 33, 2, 2,128, 33, +/* 0x0740 */ 2, 5, 16, 43, 16, 64, 0, 9, 0,176, 40, 35, 2,160, 48, 33, +/* 0x0750 */ 2, 0, 32, 33, 36, 7, 8, 18, 36, 8,255,255, 4, 17,254,144, +/* 0x0760 */ 0, 0, 72, 33, 22, 2,255,238, 36, 4, 0,127,143,162, 0, 16, +/* 0x0770 */ 38, 49, 0, 32, 36, 66, 0, 1,175,162, 0, 16,150,130, 0, 44, +/* 0x0780 */ 143,163, 0, 16, 0, 0, 0, 0, 0, 98, 16, 42, 20, 64,255,110, +/* 0x0790 */ 0, 0, 0, 0, 19,192, 0, 11, 36, 2, 0, 3,150,131, 0, 16, +/* 0x07a0 */ 0, 0, 0, 0, 16, 98, 0, 7, 0, 0, 0, 0,143,162, 0, 12, +/* 0x07b0 */ 143,163, 0, 8, 0, 0, 0, 0, 0, 67, 32, 33, 4, 17,254,127, +/* 0x07c0 */ 36, 2, 15,205,143,164, 0, 36, 0, 0, 0, 0, 16,128, 0, 2, +/* 0x07d0 */ 0, 0, 0, 0,172,151, 0, 0,142,130, 0, 24,143,191, 0, 84, +/* 0x07e0 */ 2,226, 16, 33,143,190, 0, 80,143,183, 0, 76,143,182, 0, 72, +/* 0x07f0 */ 143,181, 0, 68,143,180, 0, 64,143,179, 0, 60,143,178, 0, 56, +/* 0x0800 */ 143,177, 0, 52,143,176, 0, 48, 3,224, 0, 8, 39,189, 0, 88, +/* 0x0810 */ 39,189,255,192,175,191, 0, 56,175,181, 0, 52,175,180, 0, 48, +/* 0x0820 */ 175,179, 0, 44,175,178, 0, 40,175,177, 0, 36,175,176, 0, 32, +/* 0x0830 */ 140,131, 0, 0, 1, 0,144, 33, 0,128, 16, 33, 0,192,128, 33, +/* 0x0840 */ 0,160, 64, 33, 0,224,152, 33, 39,164, 0, 20, 0, 0, 56, 33, +/* 0x0850 */ 39,165, 0, 4, 2, 64, 48, 33,175,163, 0, 4,175,162, 0, 24, +/* 0x0860 */ 175,162, 0, 16,175,168, 0, 20, 1, 32,160, 33, 1, 64,168, 33, +/* 0x0870 */ 175,168, 0, 12, 4, 17,254,117,175,176, 0, 8,142, 6, 0, 28, +/* 0x0880 */ 36, 5, 0, 3, 2, 96, 32, 33, 4, 17,254,215,175,160, 0, 0, +/* 0x0890 */ 150, 6, 0, 44, 2, 96, 32, 33, 4, 17,254,211, 36, 5, 0, 5, +/* 0x08a0 */ 150, 6, 0, 42, 2, 96, 32, 33, 4, 17,254,207, 36, 5, 0, 4, +/* 0x08b0 */ 150, 3, 0, 16, 36, 2, 0, 3, 20, 98, 0, 25, 38, 17, 0, 52, +/* 0x08c0 */ 143,162, 0, 0,142, 6, 0, 24, 2, 96, 32, 33, 0,194, 48, 33, +/* 0x08d0 */ 36, 2, 0, 2,174, 6, 0, 24, 36, 5, 0, 9, 4, 17,254,194, +/* 0x08e0 */ 166, 2, 0, 16,150, 7, 0, 44,143,166, 0, 0, 2, 32, 32, 33, +/* 0x08f0 */ 16, 0, 0, 8, 0, 0, 40, 33,140,130, 0, 8,140,131, 0, 12, +/* 0x0900 */ 0, 70, 16, 33, 0,102, 24, 33,172,130, 0, 8,172,131, 0, 12, +/* 0x0910 */ 36,132, 0, 32, 0,167, 16, 43, 20, 64,255,247, 36,165, 0, 1, +/* 0x0920 */ 2, 64, 32, 33, 2,128, 72, 33, 2, 0, 40, 33, 39,166, 0, 12, +/* 0x0930 */ 2, 96, 56, 33, 3,160, 64, 33, 4, 17,254,187, 2,160, 80, 33, +/* 0x0940 */ 0, 64, 48, 33, 2, 96, 32, 33, 36, 5, 0, 9, 4, 17,254,166, +/* 0x0950 */ 0, 64,144, 33,150, 5, 0, 44, 16, 0, 0, 43, 0, 0, 32, 33, +/* 0x0960 */ 142, 35, 0, 0, 36, 2, 0, 3, 20, 98, 0, 39, 38, 49, 0, 32, +/* 0x0970 */ 38, 49,255,224,142, 34, 0, 8,143,164, 0, 0, 0, 0, 40, 33, +/* 0x0980 */ 0, 68, 32, 33, 0, 0, 48, 33, 4, 17,254, 12, 36, 2, 15,165, +/* 0x0990 */ 4, 64, 0, 9, 0, 64,136, 33, 0, 64, 32, 33, 2, 0, 40, 33, +/* 0x09a0 */ 36, 6, 2, 0, 4, 17,254, 5, 36, 2, 15,163, 36, 3, 2, 0, +/* 0x09b0 */ 16, 67, 0, 6, 2,160, 80, 33, 36, 4, 0,127, 4, 17,253,255, +/* 0x09c0 */ 36, 2, 15,161, 16, 0,255,255, 0, 0, 0, 0, 2, 96, 56, 33, +/* 0x09d0 */ 3,160, 64, 33, 0, 0, 72, 33, 4, 17,254,147, 0, 0, 48, 33, +/* 0x09e0 */ 143,166, 0, 0, 2, 96, 32, 33, 36, 5, 0, 7, 4, 17,254,126, +/* 0x09f0 */ 0, 64,144, 33, 2, 32, 32, 33, 4, 17,253,240, 36, 2, 15,166, +/* 0x0a00 */ 16, 0, 0, 5, 2, 64, 16, 33, 0,133, 16, 42, 20, 64,255,212, +/* 0x0a10 */ 36,132, 0, 1, 2, 64, 16, 33,143,191, 0, 56,143,181, 0, 52, +/* 0x0a20 */ 143,180, 0, 48,143,179, 0, 44,143,178, 0, 40,143,177, 0, 36, +/* 0x0a30 */ 143,176, 0, 32, 3,224, 0, 8, 39,189, 0, 64 }; diff --git a/src/stub/mipsel.r3000-linux.elf-fold.h b/src/stub/mipsel.r3000-linux.elf-fold.h index f805b9cf..91f73e04 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, 2808 (0xaf8) bytes + created from mipsel.r3000-linux.elf-fold.bin, 2620 (0xa3c) bytes This file is part of the UPX executable compressor. @@ -31,17 +31,17 @@ */ -#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_SIZE 2808 -#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_ADLER32 0x60e165c0 -#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_CRC32 0xd3ea03c9 +#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_SIZE 2620 +#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_ADLER32 0x2afc391f +#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_CRC32 0x8c29c2b3 -unsigned char stub_mipsel_r3000_linux_elf_fold[2808] = { +unsigned char stub_mipsel_r3000_linux_elf_fold[2620] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 8, 0, 1, 0, 0, 0,128, 0, 16, 0, 52, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 1, 48, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, -/* 0x0040 */ 0, 0, 16, 0,248, 10, 0, 0, 0, 11, 0, 0, 5, 0, 0, 0, -/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,248, 10, 0, 0, 0, 0, 0, 0, +/* 0x0040 */ 0, 0, 16, 0, 60, 10, 0, 0, 64, 10, 0, 0, 5, 0, 0, 0, +/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 60, 10, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 32, 0,162, 39, 24,240,189, 39, 33, 24,160, 3, 0, 0, 65,140, @@ -57,7 +57,7 @@ unsigned char stub_mipsel_r3000_linux_elf_fold[2808] = { /* 0x0120 */ 12, 0, 0, 0, 2, 0,224, 4, 33, 8,162, 0, 0, 0, 32,160, /* 0x0130 */ 0,254,189, 39, 33, 72, 0, 0, 33, 64,224, 2, 33, 56,128, 2, /* 0x0140 */ 33, 48,160, 3, 35, 40,176, 2, 1, 0, 16, 4, 80, 1, 2, 36, -/* 0x0150 */ 35, 16,226, 3,204, 8, 66, 36, 9,248, 64, 0, 33, 32, 32, 2, +/* 0x0150 */ 35, 16,226, 3, 16, 8, 66, 36, 9,248, 64, 0, 33, 32, 32, 2, /* 0x0160 */ 33,200, 64, 0, 0, 2,161, 39,212,254,189, 39, 4, 0,189, 39, /* 0x0170 */ 254,255,161, 23,252,255,160,175,252,255,193,142, 33, 40, 64, 2, /* 0x0180 */ 3, 0, 32, 16, 33, 32, 96, 2, 8, 0, 32, 0,251, 15, 2, 36, @@ -75,141 +75,129 @@ unsigned char stub_mipsel_r3000_linux_elf_fold[2808] = { /* 0x0240 */ 0, 0,130,172, 8, 0,224, 3, 4, 0,131,172,216,255,189, 39, /* 0x0250 */ 28, 0,179,175, 24, 0,178,175, 20, 0,177,175, 16, 0,176,175, /* 0x0260 */ 33,136,128, 0, 33,128,160, 0, 33,152,192, 0, 33,144,224, 0, -/* 0x0270 */ 97, 0, 0, 16, 32, 0,191,175, 33, 32, 32, 2,216,255, 17, 4, -/* 0x0280 */ 4, 0,165, 39, 4, 0,163,143, 8, 0,166,143, 17, 0, 96, 20, -/* 0x0290 */ 88, 33, 2, 60, 85, 80, 66, 52, 6, 0,194, 16,127, 0, 4, 36, -/* 0x02a0 */ 161, 15, 2, 36,197,255, 17, 4, 0, 0, 0, 0,255,255, 0, 16, -/* 0x02b0 */ 0, 0, 0, 0, 0, 0, 34,142, 0, 0, 0, 0, 82, 0, 64, 16, -/* 0x02c0 */ 161, 15, 2, 36,189,255, 17, 4, 0, 0, 0, 0,255,255, 0, 16, -/* 0x02d0 */ 0, 0, 0, 0, 6, 0,192, 20, 43, 16,102, 0,127, 0, 4, 36, -/* 0x02e0 */ 182,255, 17, 4,161, 15, 2, 36,255,255, 0, 16, 0, 0, 0, 0, -/* 0x02f0 */ 7, 0, 64, 20,127, 0, 4, 36, 0, 0, 2,142, 0, 0, 0, 0, -/* 0x0300 */ 43, 16, 67, 0, 6, 0, 64, 16, 43, 16,195, 0,127, 0, 4, 36, -/* 0x0310 */ 170,255, 17, 4,161, 15, 2, 36,255,255, 0, 16, 0, 0, 0, 0, -/* 0x0320 */ 4, 0, 7,142, 43, 0, 64, 16, 33, 40,224, 0, 4, 0, 36,142, -/* 0x0330 */ 12, 0,168,143, 33, 40,192, 0, 0, 0,163,175, 33, 48,224, 0, -/* 0x0340 */ 9,248, 96, 2, 33, 56,160, 3, 6, 0, 64, 20,127, 0, 4, 36, -/* 0x0350 */ 0, 0,165,143, 4, 0,162,143, 0, 0, 0, 0, 5, 0,162, 16, -/* 0x0360 */ 0, 0, 0, 0,149,255, 17, 4,161, 15, 2, 36,255,255, 0, 16, -/* 0x0370 */ 0, 0, 0, 0, 13, 0,167,147, 0, 0, 0, 0, 13, 0,224, 16, -/* 0x0380 */ 0, 0, 0, 0, 11, 0, 64, 18, 1, 2,162, 44, 5, 0, 64, 16, -/* 0x0390 */ 0, 0, 0, 0, 0, 0, 2,142, 0, 0, 0, 0, 5, 0, 69, 20, -/* 0x03a0 */ 0, 0, 0, 0, 4, 0, 4,142, 14, 0,166,147, 9,248, 64, 2, -/* 0x03b0 */ 0, 0, 0, 0, 8, 0,162,143, 4, 0, 35,142, 0, 0, 36,142, -/* 0x03c0 */ 33, 24, 98, 0, 35, 32,130, 0, 4, 0, 35,174, 3, 0, 0, 16, -/* 0x03d0 */ 0, 0, 36,174,130,255, 17, 4, 33, 32, 32, 2, 4, 0,162,143, -/* 0x03e0 */ 4, 0, 3,142, 0, 0, 4,142, 33, 24, 98, 0, 35, 32,130, 0, -/* 0x03f0 */ 4, 0, 3,174, 0, 0, 4,174, 0, 0, 2,142, 0, 0, 0, 0, -/* 0x0400 */ 157,255, 64, 20, 12, 0, 6, 36, 32, 0,191,143, 28, 0,179,143, -/* 0x0410 */ 24, 0,178,143, 20, 0,177,143, 16, 0,176,143, 8, 0,224, 3, -/* 0x0420 */ 40, 0,189, 39, 7, 0,128, 16, 0, 0, 0, 0, 0, 0,130,140, -/* 0x0430 */ 0, 0, 0, 0, 3, 0, 69, 16, 0, 0, 0, 0,251,255, 0, 16, -/* 0x0440 */ 8, 0,132, 36, 8, 0,224, 3, 33, 16,128, 0,248,255,189, 39, -/* 0x0450 */ 0, 0,176,175, 4, 0,191,175,242,255, 17, 4, 33,128,192, 0, -/* 0x0460 */ 2, 0, 64, 16, 0, 0, 0, 0, 4, 0, 80,172, 4, 0,191,143, -/* 0x0470 */ 0, 0,176,143, 8, 0,224, 3, 8, 0,189, 39,168,255,189, 39, -/* 0x0480 */ 80, 0,190,175, 64, 0,180,175, 52, 0,177,175, 84, 0,191,175, -/* 0x0490 */ 76, 0,183,175, 72, 0,182,175, 68, 0,181,175, 60, 0,179,175, -/* 0x04a0 */ 56, 0,178,175, 48, 0,176,175, 28, 0,162,140, 33,160,160, 0, -/* 0x04b0 */ 28, 0,164,175, 6, 0, 5, 36, 33, 32,224, 0, 32, 0,167,175, -/* 0x04c0 */ 33,240,192, 0, 36, 0,168,175, 40, 0,169,175,213,255, 17, 4, -/* 0x04d0 */ 33,136,130, 2, 3, 0, 64, 20, 0, 0, 0, 0, 4, 0, 0, 16, -/* 0x04e0 */ 255,255, 2, 52, 4, 0, 66,140, 0, 0, 0, 0,255,255, 66, 36, -/* 0x04f0 */ 20, 0,162,175, 16, 0,130,150, 20, 0,164,143, 44, 0,131,150, -/* 0x0500 */ 2, 0, 66, 56, 1, 0, 66, 44, 39, 40, 4, 0, 0, 57, 2, 0, -/* 0x0510 */ 255,255, 99, 36, 33, 64, 32, 2,255,255, 4, 36, 33, 72, 0, 0, -/* 0x0520 */ 19, 0, 0, 16, 1, 0, 10, 36, 0, 0, 2,141, 0, 0, 0, 0, -/* 0x0530 */ 14, 0, 74, 20,255,255, 99, 36, 8, 0, 6,141, 0, 0, 0, 0, -/* 0x0540 */ 43, 16,196, 0, 2, 0, 64, 16, 0, 0, 0, 0, 33, 32,192, 0, -/* 0x0550 */ 20, 0, 2,141, 0, 0, 0, 0, 33, 48,194, 0, 43, 16, 38, 1, -/* 0x0560 */ 2, 0, 64, 16, 0, 0, 0, 0, 33, 72,192, 0, 32, 0, 8, 37, -/* 0x0570 */ 237,255, 97, 4, 36,128,164, 0, 35, 16, 48, 1, 35, 16, 69, 0, -/* 0x0580 */ 255,255, 66, 36, 36, 40,162, 0, 3, 0,224, 16, 8, 0,165,175, -/* 0x0590 */ 9, 0, 0, 16, 12, 0,176,175, 8, 0,165,143, 2, 8,231, 52, -/* 0x05a0 */ 33, 32, 0, 2, 33, 48, 0, 0,255,255, 8, 36,252,254, 17, 4, -/* 0x05b0 */ 33, 72, 0, 0, 12, 0,162,175, 12, 0,162,143, 16, 0,160,175, -/* 0x05c0 */ 157, 0, 0, 16, 35,184, 80, 0, 12, 0,192, 19, 6, 0, 2, 36, -/* 0x05d0 */ 0, 0, 35,142, 0, 0, 0, 0, 10, 0, 98, 20, 1, 0, 2, 36, -/* 0x05e0 */ 8, 0, 38,142, 32, 0,164,143, 33, 48,230, 2,151,255, 17, 4, -/* 0x05f0 */ 3, 0, 5, 36,140, 0, 0, 16, 0, 0, 0, 0, 0, 0, 35,142, -/* 0x0600 */ 1, 0, 2, 36,136, 0, 98, 20, 0, 0, 0, 0, 8, 0, 34,142, -/* 0x0610 */ 24, 0, 35,142, 33,176,226, 2, 81,115, 2, 60,128, 24, 3, 0, -/* 0x0620 */ 64, 98, 66, 52, 6,144, 98, 0, 20, 0,163,143, 16, 0, 36,142, -/* 0x0630 */ 36, 16,195, 2, 0, 0,164,175, 33,152,130, 0, 20, 0, 36,142, -/* 0x0640 */ 4, 0,182,175, 7, 0, 85, 50, 24, 0,164,175, 27, 0,192, 19, -/* 0x0650 */ 35,128,194, 2, 33, 32, 0, 2, 33, 40, 96, 2, 3, 0, 6, 36, -/* 0x0660 */ 18, 8, 7, 36,255,255, 8, 36,205,254, 17, 4, 33, 72, 0, 0, -/* 0x0670 */ 6, 0, 2, 18, 4, 0, 66, 50,127, 0, 4, 36,207,254, 17, 4, -/* 0x0680 */ 161, 15, 2, 36,255,255, 0, 16, 0, 0, 0, 0, 4, 0, 64, 16, -/* 0x0690 */ 0, 0, 0, 0, 40, 0,167,143, 2, 0, 0, 16, 0, 0, 0, 0, -/* 0x06a0 */ 33, 56, 0, 0, 28, 0,166,143, 33, 32,192, 3,231,254, 17, 4, -/* 0x06b0 */ 33, 40,160, 3, 16, 0, 0, 16, 0, 0, 0, 0, 4, 0, 41,142, -/* 0x06c0 */ 28, 0,168,143, 33, 32, 0, 2, 35, 72, 34, 1, 33, 40, 96, 2, -/* 0x06d0 */ 33, 48,160, 2,178,254, 17, 4, 18, 0, 7, 36, 6, 0, 2, 18, -/* 0x06e0 */ 127, 0, 4, 36,161, 15, 2, 36,180,254, 17, 4, 0, 0, 0, 0, -/* 0x06f0 */ 255,255, 0, 16, 0, 0, 0, 0, 20, 0,164,143, 35, 16, 19, 0, -/* 0x0700 */ 2, 0,163, 50, 8, 0, 96, 16, 36,144, 68, 0, 6, 0, 64, 18, -/* 0x0710 */ 33, 16, 64, 2, 33, 24, 19, 2,255,255, 66, 36, 0, 0, 96,160, -/* 0x0720 */ 253,255, 64, 20, 1, 0, 99, 36, 43, 0,192, 19, 1, 0, 2, 36, -/* 0x0730 */ 0, 0, 35,142, 0, 0, 0, 0, 28, 0, 98, 20, 33, 32, 0, 2, -/* 0x0740 */ 24, 0, 34,142, 0, 0, 0, 0, 1, 0, 66, 48, 24, 0, 64, 16, -/* 0x0750 */ 33, 40, 96, 2, 20, 0, 36,142, 16, 0, 34,142, 8, 0, 35,142, -/* 0x0760 */ 17, 0,130, 20, 33, 16,131, 0, 33, 48, 87, 0, 20, 0,163,143, -/* 0x0770 */ 35, 16, 6, 0, 36, 16, 98, 0, 12, 0, 66, 44, 12, 0, 64, 20, -/* 0x0780 */ 33, 32, 0, 2, 12, 0, 2, 36, 0, 0,194,172, 32, 3, 2, 60, -/* 0x0790 */ 8, 0, 66, 52, 32, 0,164,143, 4, 0,194,172, 8, 0,192,172, -/* 0x07a0 */ 42,255, 17, 4, 33, 40, 0, 0, 33, 32, 0, 2, 33, 40, 96, 2, -/* 0x07b0 */ 33, 48,160, 2,129,254, 17, 4, 29, 16, 2, 36, 6, 0, 64, 16, -/* 0x07c0 */ 127, 0, 4, 36,161, 15, 2, 36,124,254, 17, 4, 0, 0, 0, 0, -/* 0x07d0 */ 255,255, 0, 16, 0, 0, 0, 0, 24, 0,164,143, 33, 16,114, 2, -/* 0x07e0 */ 33, 40,196, 2, 33,128, 2, 2, 43, 16, 5, 2, 14, 0, 64, 16, -/* 0x07f0 */ 35, 40,176, 0, 33, 48,160, 2, 33, 32, 0, 2, 18, 8, 7, 36, -/* 0x0800 */ 255,255, 8, 36,102,254, 17, 4, 33, 72, 0, 0, 6, 0, 2, 18, -/* 0x0810 */ 127, 0, 4, 36,161, 15, 2, 36,104,254, 17, 4, 0, 0, 0, 0, -/* 0x0820 */ 255,255, 0, 16, 0, 0, 0, 0, 16, 0,162,143, 32, 0, 49, 38, -/* 0x0830 */ 1, 0, 66, 36, 16, 0,162,175, 44, 0,130,150, 16, 0,163,143, -/* 0x0840 */ 0, 0, 0, 0, 42, 16, 98, 0, 95,255, 64, 20, 0, 0, 0, 0, -/* 0x0850 */ 11, 0,192, 19, 3, 0, 2, 36, 16, 0,131,150, 0, 0, 0, 0, -/* 0x0860 */ 7, 0, 98, 16, 0, 0, 0, 0, 12, 0,162,143, 8, 0,163,143, -/* 0x0870 */ 0, 0, 0, 0, 33, 32, 67, 0, 80,254, 17, 4,205, 15, 2, 36, -/* 0x0880 */ 36, 0,164,143, 0, 0, 0, 0, 2, 0,128, 16, 0, 0, 0, 0, -/* 0x0890 */ 0, 0,151,172, 24, 0,130,142, 84, 0,191,143, 33, 16,226, 2, -/* 0x08a0 */ 80, 0,190,143, 76, 0,183,143, 72, 0,182,143, 68, 0,181,143, -/* 0x08b0 */ 64, 0,180,143, 60, 0,179,143, 56, 0,178,143, 52, 0,177,143, -/* 0x08c0 */ 48, 0,176,143, 8, 0,224, 3, 88, 0,189, 39,200,255,189, 39, -/* 0x08d0 */ 52, 0,191,175, 48, 0,180,175, 44, 0,179,175, 40, 0,178,175, -/* 0x08e0 */ 36, 0,177,175, 32, 0,176,175, 33,144, 0, 1, 0, 0,136,140, -/* 0x08f0 */ 33, 16,128, 0, 33, 24,160, 0, 33,128,192, 0, 33,152,224, 0, -/* 0x0900 */ 20, 0,164, 39, 33, 56, 0, 0, 4, 0,165, 39, 33, 48, 64, 2, -/* 0x0910 */ 24, 0,162,175, 20, 0,163,175, 16, 0,162,175, 12, 0,163,175, -/* 0x0920 */ 4, 0,168,175, 33,160, 32, 1, 72,254, 17, 4, 8, 0,176,175, -/* 0x0930 */ 28, 0, 6,142, 3, 0, 5, 36, 33, 32, 96, 2,195,254, 17, 4, -/* 0x0940 */ 0, 0,160,175, 44, 0, 6,150, 33, 32, 96, 2,191,254, 17, 4, -/* 0x0950 */ 5, 0, 5, 36, 42, 0, 6,150, 33, 32, 96, 2,187,254, 17, 4, -/* 0x0960 */ 4, 0, 5, 36, 16, 0, 3,150, 3, 0, 2, 36, 25, 0, 98, 20, -/* 0x0970 */ 52, 0, 17, 38, 0, 0,162,143, 24, 0, 6,142, 33, 32, 96, 2, -/* 0x0980 */ 33, 48,194, 0, 2, 0, 2, 36, 24, 0, 6,174, 9, 0, 5, 36, -/* 0x0990 */ 174,254, 17, 4, 16, 0, 2,166, 44, 0, 7,150, 0, 0,166,143, -/* 0x09a0 */ 33, 32, 32, 2, 8, 0, 0, 16, 33, 40, 0, 0, 8, 0,130,140, -/* 0x09b0 */ 12, 0,131,140, 33, 16, 70, 0, 33, 24,102, 0, 8, 0,130,172, -/* 0x09c0 */ 12, 0,131,172, 32, 0,132, 36, 43, 16,167, 0,247,255, 64, 20, -/* 0x09d0 */ 1, 0,165, 36, 33, 32, 64, 2, 33, 72,128, 2, 33, 40, 0, 2, -/* 0x09e0 */ 12, 0,166, 39, 33, 56, 96, 2,164,254, 17, 4, 33, 64,160, 3, -/* 0x09f0 */ 33, 48, 64, 0, 33, 32, 96, 2, 9, 0, 5, 36,147,254, 17, 4, -/* 0x0a00 */ 33,144, 64, 0, 44, 0, 5,150, 47, 0, 0, 16, 33, 32, 0, 0, -/* 0x0a10 */ 0, 0, 35,142, 3, 0, 2, 36, 43, 0, 98, 20, 32, 0, 49, 38, -/* 0x0a20 */ 224,255, 49, 38, 8, 0, 34,142, 0, 0,164,143, 33, 40, 0, 0, -/* 0x0a30 */ 33, 32, 68, 0, 33, 48, 0, 0,224,253, 17, 4,165, 15, 2, 36, -/* 0x0a40 */ 6, 0, 65, 4, 33,136, 64, 0,127, 0, 4, 36,219,253, 17, 4, -/* 0x0a50 */ 161, 15, 2, 36,255,255, 0, 16, 0, 0, 0, 0, 33, 32, 64, 0, -/* 0x0a60 */ 33, 40, 0, 2, 0, 2, 6, 36,212,253, 17, 4,163, 15, 2, 36, -/* 0x0a70 */ 0, 2, 3, 36, 6, 0, 67, 16, 33, 56, 96, 2,127, 0, 4, 36, -/* 0x0a80 */ 206,253, 17, 4,161, 15, 2, 36,255,255, 0, 16, 0, 0, 0, 0, -/* 0x0a90 */ 33, 64,160, 3, 33, 72, 0, 0,120,254, 17, 4, 33, 48, 0, 0, -/* 0x0aa0 */ 0, 0,166,143, 33, 32, 96, 2, 7, 0, 5, 36,103,254, 17, 4, -/* 0x0ab0 */ 33,144, 64, 0, 33, 32, 32, 2,192,253, 17, 4,166, 15, 2, 36, -/* 0x0ac0 */ 5, 0, 0, 16, 33, 16, 64, 2, 42, 16,133, 0,208,255, 64, 20, -/* 0x0ad0 */ 1, 0,132, 36, 33, 16, 64, 2, 52, 0,191,143, 48, 0,180,143, -/* 0x0ae0 */ 44, 0,179,143, 40, 0,178,143, 36, 0,177,143, 32, 0,176,143, -/* 0x0af0 */ 8, 0,224, 3, 56, 0,189, 39 +/* 0x0270 */ 82, 0, 0, 16, 32, 0,191,175, 33, 32, 32, 2,216,255, 17, 4, +/* 0x0280 */ 4, 0,165, 39, 4, 0,163,143, 8, 0,166,143, 10, 0, 96, 20, +/* 0x0290 */ 88, 33, 2, 60, 85, 80, 66, 52, 10, 0,194, 20,127, 0, 4, 36, +/* 0x02a0 */ 0, 0, 34,142, 0, 0, 0, 0, 7, 0, 64, 20,161, 15, 2, 36, +/* 0x02b0 */ 70, 0, 0, 16, 0, 0, 0, 0, 7, 0,192, 20, 43, 16,102, 0, +/* 0x02c0 */ 127, 0, 4, 36,161, 15, 2, 36,188,255, 17, 4, 0, 0, 0, 0, +/* 0x02d0 */ 255,255, 0, 16, 0, 0, 0, 0,250,255, 64, 20,127, 0, 4, 36, +/* 0x02e0 */ 0, 0, 2,142, 0, 0, 0, 0, 43, 16, 67, 0,245,255, 64, 20, +/* 0x02f0 */ 43, 16,195, 0, 4, 0, 7,142, 39, 0, 64, 16, 33, 40,224, 0, +/* 0x0300 */ 4, 0, 36,142, 12, 0,168,147, 33, 40,192, 0, 0, 0,163,175, +/* 0x0310 */ 33, 48,224, 0, 9,248, 96, 2, 33, 56,160, 3,233,255, 64, 20, +/* 0x0320 */ 127, 0, 4, 36, 0, 0,165,143, 4, 0,162,143, 0, 0, 0, 0, +/* 0x0330 */ 228,255,162, 20, 0, 0, 0, 0, 13, 0,167,147, 0, 0, 0, 0, +/* 0x0340 */ 13, 0,224, 16, 0, 0, 0, 0, 11, 0, 64, 18, 1, 2,162, 44, +/* 0x0350 */ 5, 0, 64, 16, 0, 0, 0, 0, 0, 0, 2,142, 0, 0, 0, 0, +/* 0x0360 */ 5, 0, 69, 20, 0, 0, 0, 0, 4, 0, 4,142, 14, 0,166,147, +/* 0x0370 */ 9,248, 64, 2, 0, 0, 0, 0, 8, 0,162,143, 4, 0, 35,142, +/* 0x0380 */ 0, 0, 36,142, 33, 24, 98, 0, 35, 32,130, 0, 4, 0, 35,174, +/* 0x0390 */ 3, 0, 0, 16, 0, 0, 36,174,145,255, 17, 4, 33, 32, 32, 2, +/* 0x03a0 */ 4, 0,162,143, 4, 0, 3,142, 0, 0, 4,142, 33, 24, 98, 0, +/* 0x03b0 */ 35, 32,130, 0, 4, 0, 3,174, 0, 0, 4,174, 0, 0, 2,142, +/* 0x03c0 */ 0, 0, 0, 0,172,255, 64, 20, 12, 0, 6, 36, 32, 0,191,143, +/* 0x03d0 */ 28, 0,179,143, 24, 0,178,143, 20, 0,177,143, 16, 0,176,143, +/* 0x03e0 */ 8, 0,224, 3, 40, 0,189, 39, 8, 0,128, 16, 0, 0, 0, 0, +/* 0x03f0 */ 0, 0,130,140, 0, 0, 0, 0, 3, 0, 69, 16, 0, 0, 0, 0, +/* 0x0400 */ 251,255, 0, 16, 8, 0,132, 36, 4, 0,134,172, 8, 0,224, 3, +/* 0x0410 */ 0, 0, 0, 0, 8, 0,224, 3, 0,240, 2, 36, 64, 18, 2, 0, +/* 0x0420 */ 8, 0,224, 3, 33, 16, 0, 0,168,255,189, 39, 80, 0,190,175, +/* 0x0430 */ 64, 0,180,175, 52, 0,177,175, 84, 0,191,175, 76, 0,183,175, +/* 0x0440 */ 72, 0,182,175, 68, 0,181,175, 60, 0,179,175, 56, 0,178,175, +/* 0x0450 */ 48, 0,176,175, 16, 0,162,148, 28, 0,163,140, 33,160,160, 0, +/* 0x0460 */ 2, 0, 66, 56, 44, 0,165,148, 1, 0, 66, 44, 33,136,131, 2, +/* 0x0470 */ 28, 0,164,175, 33,240,192, 0, 32, 0,167,175, 36, 0,168,175, +/* 0x0480 */ 40, 0,169,175, 0, 57, 2, 0,255,255,165, 36, 39, 16, 10, 0, +/* 0x0490 */ 33, 48, 32, 2,255,255, 4, 36, 33, 64, 0, 0, 1, 0, 9, 36, +/* 0x04a0 */ 19, 0, 0, 16, 20, 0,162,175, 0, 0,194,140, 0, 0, 0, 0, +/* 0x04b0 */ 14, 0, 73, 20,255,255,165, 36, 8, 0,195,140, 0, 0, 0, 0, +/* 0x04c0 */ 43, 16,100, 0, 2, 0, 64, 16, 0, 0, 0, 0, 33, 32, 96, 0, +/* 0x04d0 */ 20, 0,194,140, 0, 0, 0, 0, 33, 24, 98, 0, 43, 16, 3, 1, +/* 0x04e0 */ 2, 0, 64, 16, 0, 0, 0, 0, 33, 64, 96, 0, 32, 0,198, 36, +/* 0x04f0 */ 237,255,161, 4, 36,128, 68, 1, 35, 16, 16, 1, 35, 16, 74, 0, +/* 0x0500 */ 255,255, 66, 36, 36, 80, 66, 1, 3, 0,224, 16, 8, 0,170,175, +/* 0x0510 */ 9, 0, 0, 16, 12, 0,176,175, 8, 0,165,143, 2, 8,231, 52, +/* 0x0520 */ 33, 32, 0, 2, 33, 48, 0, 0,255,255, 8, 36, 28,255, 17, 4, +/* 0x0530 */ 33, 72, 0, 0, 12, 0,162,175, 12, 0,163,143, 16, 0,160,175, +/* 0x0540 */ 142, 0, 0, 16, 35,184,112, 0, 12, 0,192, 19, 6, 0, 2, 36, +/* 0x0550 */ 0, 0, 35,142, 0, 0, 0, 0, 10, 0, 98, 20, 1, 0, 2, 36, +/* 0x0560 */ 8, 0, 38,142, 32, 0,164,143, 33, 48,230, 2,158,255, 17, 4, +/* 0x0570 */ 3, 0, 5, 36,125, 0, 0, 16, 0, 0, 0, 0, 0, 0, 35,142, +/* 0x0580 */ 1, 0, 2, 36,121, 0, 98, 20, 0, 0, 0, 0, 8, 0, 34,142, +/* 0x0590 */ 24, 0, 35,142, 33,176,226, 2, 81,115, 2, 60,128, 24, 3, 0, +/* 0x05a0 */ 64, 98, 66, 52, 6,144, 98, 0, 20, 0,163,143, 16, 0, 36,142, +/* 0x05b0 */ 36, 16,195, 2, 0, 0,164,175, 33,152,130, 0, 20, 0, 36,142, +/* 0x05c0 */ 4, 0,182,175, 7, 0, 85, 50, 24, 0,164,175, 22, 0,192, 19, +/* 0x05d0 */ 35,128,194, 2, 33, 32, 0, 2, 33, 40, 96, 2, 3, 0, 6, 36, +/* 0x05e0 */ 18, 8, 7, 36,255,255, 8, 36,237,254, 17, 4, 33, 72, 0, 0, +/* 0x05f0 */ 74, 0, 2, 22, 4, 0, 66, 50, 4, 0, 64, 16, 0, 0, 0, 0, +/* 0x0600 */ 40, 0,167,143, 2, 0, 0, 16, 0, 0, 0, 0, 33, 56, 0, 0, +/* 0x0610 */ 28, 0,166,143, 33, 32,192, 3, 12,255, 17, 4, 33, 40,160, 3, +/* 0x0620 */ 11, 0, 0, 16, 0, 0, 0, 0, 4, 0, 41,142, 28, 0,168,143, +/* 0x0630 */ 33, 32, 0, 2, 35, 72, 34, 1, 33, 40, 96, 2, 33, 48,160, 2, +/* 0x0640 */ 215,254, 17, 4, 18, 0, 7, 36, 53, 0, 2, 22,127, 0, 4, 36, +/* 0x0650 */ 20, 0,164,143, 35, 16, 19, 0, 2, 0,163, 50, 8, 0, 96, 16, +/* 0x0660 */ 36,144, 68, 0, 6, 0, 64, 18, 33, 16, 64, 2, 33, 24, 19, 2, +/* 0x0670 */ 255,255, 66, 36, 0, 0, 96,160,253,255, 64, 20, 1, 0, 99, 36, +/* 0x0680 */ 43, 0,192, 19, 1, 0, 2, 36, 0, 0, 35,142, 0, 0, 0, 0, +/* 0x0690 */ 28, 0, 98, 20, 33, 32, 0, 2, 24, 0, 34,142, 0, 0, 0, 0, +/* 0x06a0 */ 1, 0, 66, 48, 24, 0, 64, 16, 33, 40, 96, 2, 20, 0, 36,142, +/* 0x06b0 */ 16, 0, 34,142, 8, 0, 35,142, 17, 0,130, 20, 33, 16,131, 0, +/* 0x06c0 */ 33, 48, 87, 0, 20, 0,163,143, 35, 16, 6, 0, 36, 16, 98, 0, +/* 0x06d0 */ 12, 0, 66, 44, 12, 0, 64, 20, 33, 32, 0, 2, 12, 0, 2, 36, +/* 0x06e0 */ 0, 0,194,172, 32, 3, 2, 60, 8, 0, 66, 52, 32, 0,164,143, +/* 0x06f0 */ 4, 0,194,172, 8, 0,192,172, 59,255, 17, 4, 33, 40, 0, 0, +/* 0x0700 */ 33, 32, 0, 2, 33, 40, 96, 2, 33, 48,160, 2,171,254, 17, 4, +/* 0x0710 */ 29, 16, 2, 36, 6, 0, 64, 16, 0, 0, 0, 0,127, 0, 4, 36, +/* 0x0720 */ 166,254, 17, 4,161, 15, 2, 36,255,255, 0, 16, 0, 0, 0, 0, +/* 0x0730 */ 24, 0,164,143, 33, 16,114, 2, 33, 40,196, 2, 33,128, 2, 2, +/* 0x0740 */ 43, 16, 5, 2, 9, 0, 64, 16, 35, 40,176, 0, 33, 48,160, 2, +/* 0x0750 */ 33, 32, 0, 2, 18, 8, 7, 36,255,255, 8, 36,144,254, 17, 4, +/* 0x0760 */ 33, 72, 0, 0,238,255, 2, 22,127, 0, 4, 36, 16, 0,162,143, +/* 0x0770 */ 32, 0, 49, 38, 1, 0, 66, 36, 16, 0,162,175, 44, 0,130,150, +/* 0x0780 */ 16, 0,163,143, 0, 0, 0, 0, 42, 16, 98, 0,110,255, 64, 20, +/* 0x0790 */ 0, 0, 0, 0, 11, 0,192, 19, 3, 0, 2, 36, 16, 0,131,150, +/* 0x07a0 */ 0, 0, 0, 0, 7, 0, 98, 16, 0, 0, 0, 0, 12, 0,162,143, +/* 0x07b0 */ 8, 0,163,143, 0, 0, 0, 0, 33, 32, 67, 0,127,254, 17, 4, +/* 0x07c0 */ 205, 15, 2, 36, 36, 0,164,143, 0, 0, 0, 0, 2, 0,128, 16, +/* 0x07d0 */ 0, 0, 0, 0, 0, 0,151,172, 24, 0,130,142, 84, 0,191,143, +/* 0x07e0 */ 33, 16,226, 2, 80, 0,190,143, 76, 0,183,143, 72, 0,182,143, +/* 0x07f0 */ 68, 0,181,143, 64, 0,180,143, 60, 0,179,143, 56, 0,178,143, +/* 0x0800 */ 52, 0,177,143, 48, 0,176,143, 8, 0,224, 3, 88, 0,189, 39, +/* 0x0810 */ 192,255,189, 39, 56, 0,191,175, 52, 0,181,175, 48, 0,180,175, +/* 0x0820 */ 44, 0,179,175, 40, 0,178,175, 36, 0,177,175, 32, 0,176,175, +/* 0x0830 */ 0, 0,131,140, 33,144, 0, 1, 33, 16,128, 0, 33,128,192, 0, +/* 0x0840 */ 33, 64,160, 0, 33,152,224, 0, 20, 0,164, 39, 33, 56, 0, 0, +/* 0x0850 */ 4, 0,165, 39, 33, 48, 64, 2, 4, 0,163,175, 24, 0,162,175, +/* 0x0860 */ 16, 0,162,175, 20, 0,168,175, 33,160, 32, 1, 33,168, 64, 1, +/* 0x0870 */ 12, 0,168,175,117,254, 17, 4, 8, 0,176,175, 28, 0, 6,142, +/* 0x0880 */ 3, 0, 5, 36, 33, 32, 96, 2,215,254, 17, 4, 0, 0,160,175, +/* 0x0890 */ 44, 0, 6,150, 33, 32, 96, 2,211,254, 17, 4, 5, 0, 5, 36, +/* 0x08a0 */ 42, 0, 6,150, 33, 32, 96, 2,207,254, 17, 4, 4, 0, 5, 36, +/* 0x08b0 */ 16, 0, 3,150, 3, 0, 2, 36, 25, 0, 98, 20, 52, 0, 17, 38, +/* 0x08c0 */ 0, 0,162,143, 24, 0, 6,142, 33, 32, 96, 2, 33, 48,194, 0, +/* 0x08d0 */ 2, 0, 2, 36, 24, 0, 6,174, 9, 0, 5, 36,194,254, 17, 4, +/* 0x08e0 */ 16, 0, 2,166, 44, 0, 7,150, 0, 0,166,143, 33, 32, 32, 2, +/* 0x08f0 */ 8, 0, 0, 16, 33, 40, 0, 0, 8, 0,130,140, 12, 0,131,140, +/* 0x0900 */ 33, 16, 70, 0, 33, 24,102, 0, 8, 0,130,172, 12, 0,131,172, +/* 0x0910 */ 32, 0,132, 36, 43, 16,167, 0,247,255, 64, 20, 1, 0,165, 36, +/* 0x0920 */ 33, 32, 64, 2, 33, 72,128, 2, 33, 40, 0, 2, 12, 0,166, 39, +/* 0x0930 */ 33, 56, 96, 2, 33, 64,160, 3,187,254, 17, 4, 33, 80,160, 2, +/* 0x0940 */ 33, 48, 64, 0, 33, 32, 96, 2, 9, 0, 5, 36,166,254, 17, 4, +/* 0x0950 */ 33,144, 64, 0, 44, 0, 5,150, 43, 0, 0, 16, 33, 32, 0, 0, +/* 0x0960 */ 0, 0, 35,142, 3, 0, 2, 36, 39, 0, 98, 20, 32, 0, 49, 38, +/* 0x0970 */ 224,255, 49, 38, 8, 0, 34,142, 0, 0,164,143, 33, 40, 0, 0, +/* 0x0980 */ 33, 32, 68, 0, 33, 48, 0, 0, 12,254, 17, 4,165, 15, 2, 36, +/* 0x0990 */ 9, 0, 64, 4, 33,136, 64, 0, 33, 32, 64, 0, 33, 40, 0, 2, +/* 0x09a0 */ 0, 2, 6, 36, 5,254, 17, 4,163, 15, 2, 36, 0, 2, 3, 36, +/* 0x09b0 */ 6, 0, 67, 16, 33, 80,160, 2,127, 0, 4, 36,255,253, 17, 4, +/* 0x09c0 */ 161, 15, 2, 36,255,255, 0, 16, 0, 0, 0, 0, 33, 56, 96, 2, +/* 0x09d0 */ 33, 64,160, 3, 33, 72, 0, 0,147,254, 17, 4, 33, 48, 0, 0, +/* 0x09e0 */ 0, 0,166,143, 33, 32, 96, 2, 7, 0, 5, 36,126,254, 17, 4, +/* 0x09f0 */ 33,144, 64, 0, 33, 32, 32, 2,240,253, 17, 4,166, 15, 2, 36, +/* 0x0a00 */ 5, 0, 0, 16, 33, 16, 64, 2, 42, 16,133, 0,212,255, 64, 20, +/* 0x0a10 */ 1, 0,132, 36, 33, 16, 64, 2, 56, 0,191,143, 52, 0,181,143, +/* 0x0a20 */ 48, 0,180,143, 44, 0,179,143, 40, 0,178,143, 36, 0,177,143, +/* 0x0a30 */ 32, 0,176,143, 8, 0,224, 3, 64, 0,189, 39 }; diff --git a/src/stub/powerpc-linux.elf-entry.h b/src/stub/powerpc-linux.elf-entry.h index 01f6fb6d..6b895ad7 100644 --- a/src/stub/powerpc-linux.elf-entry.h +++ b/src/stub/powerpc-linux.elf-entry.h @@ -1,5 +1,5 @@ /* powerpc-linux.elf-entry.h - created from powerpc-linux.elf-entry.bin, 9329 (0x2471) bytes + created from powerpc-linux.elf-entry.bin, 9553 (0x2551) bytes This file is part of the UPX executable compressor. @@ -31,15 +31,15 @@ */ -#define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 9329 -#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0x9ecd7694 -#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0x0552746c +#define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 9553 +#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0xaa3ecfa7 +#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0x8835025d -unsigned char stub_powerpc_linux_elf_entry[9329] = { +unsigned char stub_powerpc_linux_elf_entry[9553] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 1, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 25,216, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, -/* 0x0030 */ 0, 0, 0, 0, 72, 0, 1, 29,124, 0, 41,236,125,168, 2,166, +/* 0x0020 */ 0, 0, 26,148, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, +/* 0x0030 */ 0, 0, 0, 0, 72, 0, 1,165,124, 0, 41,236,125,168, 2,166, /* 0x0040 */ 40, 7, 0, 8, 64,130, 1, 60,144,166, 0, 0,124,132, 26, 20, /* 0x0050 */ 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255, 56,165,255,255, /* 0x0060 */ 57, 64,255,255, 72, 0, 1, 12, 57, 32, 0, 1,125, 41, 28, 44, @@ -420,204 +420,218 @@ unsigned char stub_powerpc_linux_elf_entry[9329] = { /* 0x17d0 */ 95, 69, 88, 69, 67,124, 80, 82, 79, 84, 95, 87, 82, 73, 84, 69, /* 0x17e0 */ 32,102, 97,105,108,101,100, 46, 10, 0, 56,160, 0, 30,124,136, /* 0x17f0 */ 2,166, 56, 96, 0, 2, 56, 0, 0, 4, 68, 0, 0, 2, 56, 96, -/* 0x1800 */ 0,127, 56, 0, 0, 1, 68, 0, 0, 2,128, 3, 0, 0, 56, 99, -/* 0x1810 */ 0, 4, 47,128, 0, 0, 64,158,255,244, 78,128, 0, 32,127,200, -/* 0x1820 */ 2,166,131, 31,255,248,131, 94, 0, 12,130,254, 0, 8, 59, 24, -/* 0x1830 */ 0, 8,127, 24,248, 80, 56, 97, 0,144, 75,255,255,209, 75,255, -/* 0x1840 */ 255,205,124,124, 27,120,128, 3, 0, 0,128,131, 0, 4, 56, 99, -/* 0x1850 */ 0, 8, 44, 0, 0, 6, 65,130, 0, 16, 44, 0, 0, 0, 64,130, -/* 0x1860 */ 255,232, 56,128, 16, 0,124,155, 35,120, 57, 0, 0, 0, 56,224, -/* 0x1870 */ 255,255, 56,192, 0, 34, 56,160, 0, 7,128,158, 0, 4, 56,128, -/* 0x1880 */ 32, 0,128,126, 0, 0, 56, 0, 0, 90,124,110, 27,120, 68, 0, -/* 0x1890 */ 0, 2,124, 14, 24, 64, 64,130, 0, 0,128, 30, 0, 4, 58,192, -/* 0x18a0 */ 0, 0,124, 0,216, 64, 64,129, 0, 56,126,216, 24, 80,127,255, -/* 0x18b0 */ 178, 20,127, 24,178, 20, 56, 0, 0, 7, 56,132,255,252, 84, 0, -/* 0x18c0 */ 232,254, 56, 99,255,252,124, 9, 3,166,129,100, 0, 4,133,132, -/* 0x18d0 */ 0, 8,145, 99, 0, 4,149,131, 0, 8, 66, 0,255,240,127,233, -/* 0x18e0 */ 3,166,128, 30, 0, 16,136,254, 0, 24, 56,193, 0,140,144, 1, -/* 0x18f0 */ 0,140,125,197,115,120,125,200, 3,166,128,158, 0, 20, 56,126, -/* 0x1900 */ 0, 28, 78,128, 4, 32,148, 33,255,112,188, 65, 0, 20,127,232, -/* 0x1910 */ 2,166, 75,255,255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x1920 */ 0, 0, 0, 0, 0, 0,102,105,108,101, 32,102,111,114,109, 97, -/* 0x1930 */ 116, 32,101,108,102, 51, 50, 45,112,111,119,101,114,112, 99, 10, -/* 0x1940 */ 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, -/* 0x1950 */ 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122, -/* 0x1960 */ 101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, -/* 0x1970 */ 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32, -/* 0x1980 */ 111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, -/* 0x1990 */ 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, -/* 0x19a0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, -/* 0x19b0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x19c0 */ 32, 48, 48, 48, 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, -/* 0x19d0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x19e0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, -/* 0x19f0 */ 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x1a00 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1a10 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1a20 */ 48, 51, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x1a30 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x1a40 */ 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1a50 */ 48, 48, 48, 48, 48, 49, 52, 56, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1a60 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1a70 */ 48, 48, 48, 48, 51, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x1a80 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, -/* 0x1a90 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, -/* 0x1aa0 */ 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, -/* 0x1ab0 */ 50, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1ac0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 56, 48, -/* 0x1ad0 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x1ae0 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x1af0 */ 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, -/* 0x1b00 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 48, 32, 32, 48, 48, -/* 0x1b10 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b20 */ 32, 32, 48, 48, 48, 48, 48, 50, 97, 99, 32, 32, 50, 42, 42, 48, -/* 0x1b30 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x1b40 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, -/* 0x1b50 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, -/* 0x1b60 */ 48, 48, 48, 48, 57, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b70 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1b80 */ 48, 51, 57, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x1b90 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x1ba0 */ 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, -/* 0x1bb0 */ 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 57, 99, -/* 0x1bc0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1bd0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 50, 99, 32, 32, -/* 0x1be0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1bf0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, -/* 0x1c00 */ 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x1c10 */ 57, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1c20 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,100, 99, -/* 0x1c30 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x1c40 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, -/* 0x1c50 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, -/* 0x1c60 */ 48, 48, 48, 48, 50, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c70 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1c80 */ 49, 55, 54, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x1c90 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x1ca0 */ 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, -/* 0x1cb0 */ 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, 48, 48, 48, 48, -/* 0x1cc0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1cd0 */ 48, 48, 48, 49, 55, 56, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x1ce0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x1cf0 */ 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, 32, 32, 32, 32, -/* 0x1d00 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, 32, 32, 48, 48, -/* 0x1d10 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d20 */ 32, 32, 48, 48, 48, 48, 49, 55, 97, 52, 32, 32, 50, 42, 42, 48, -/* 0x1d30 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x1d40 */ 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, -/* 0x1d50 */ 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 50, 32, -/* 0x1d60 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1d70 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 99, 56, 32, 32, 50, -/* 0x1d80 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x1d90 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x1da0 */ 49, 50, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, -/* 0x1db0 */ 32, 48, 48, 48, 48, 48, 49, 51, 99, 32, 32, 48, 48, 48, 48, 48, -/* 0x1dc0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1dd0 */ 48, 48, 48, 49, 55,101, 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x1de0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x1df0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, -/* 0x1e00 */ 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1e10 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x1e20 */ 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, -/* 0x1e30 */ 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1e40 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, -/* 0x1e50 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, -/* 0x1e60 */ 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x1e70 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, -/* 0x1e80 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, -/* 0x1e90 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1ea0 */ 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1eb0 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, -/* 0x1ec0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, -/* 0x1ed0 */ 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, -/* 0x1ee0 */ 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1ef0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, -/* 0x1f00 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, -/* 0x1f10 */ 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x1f20 */ 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, -/* 0x1f30 */ 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f40 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, -/* 0x1f50 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, -/* 0x1f60 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1f70 */ 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, -/* 0x1f80 */ 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x1f90 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, -/* 0x1fa0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, -/* 0x1fb0 */ 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x1fc0 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, -/* 0x1fd0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, -/* 0x1fe0 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x1ff0 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2000 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, -/* 0x2010 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x2020 */ 32, 32, 32,100, 32, 32, 67, 70, 76, 85, 83, 72, 9, 48, 48, 48, -/* 0x2030 */ 48, 48, 48, 48, 48, 32, 67, 70, 76, 85, 83, 72, 10, 48, 48, 48, -/* 0x2040 */ 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, -/* 0x2050 */ 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2060 */ 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2070 */ 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, -/* 0x2080 */ 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, -/* 0x2090 */ 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, -/* 0x20a0 */ 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, 77, -/* 0x20b0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, -/* 0x20c0 */ 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x20d0 */ 32, 76, 69, 78, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x20e0 */ 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, -/* 0x20f0 */ 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, -/* 0x2100 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x2110 */ 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, -/* 0x2120 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x2130 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x2140 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, -/* 0x2150 */ 67, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, -/* 0x2160 */ 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 49, 49, -/* 0x2170 */ 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x2180 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, -/* 0x2190 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, -/* 0x21a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x21b0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, 80, -/* 0x21c0 */ 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x21d0 */ 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x21e0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x21f0 */ 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, -/* 0x2200 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2210 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x2220 */ 98, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, -/* 0x2230 */ 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, -/* 0x2240 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x2250 */ 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, -/* 0x2260 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x2270 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x2280 */ 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, 80, 80, 67, 95, 82, -/* 0x2290 */ 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, -/* 0x22a0 */ 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x22b0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, -/* 0x22c0 */ 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, -/* 0x22d0 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x22e0 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, -/* 0x22f0 */ 48, 48, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, -/* 0x2300 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, -/* 0x2310 */ 43, 48,120, 48, 48, 48, 48, 48, 48, 50, 52, 10, 10, 82, 69, 76, -/* 0x2320 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, -/* 0x2330 */ 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, -/* 0x2340 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x2350 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x2360 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 95, -/* 0x2370 */ 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, -/* 0x2380 */ 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, -/* 0x2390 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, -/* 0x23a0 */ 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, -/* 0x23b0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x23c0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x23d0 */ 97, 99, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, -/* 0x23e0 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, -/* 0x23f0 */ 48, 48, 48, 49, 50, 99, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, -/* 0x2400 */ 82, 51, 50, 32, 32, 32, 32, 32, 32, 65, 68, 82, 77, 10, 48, 48, -/* 0x2410 */ 48, 48, 48, 49, 51, 48, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, -/* 0x2420 */ 82, 51, 50, 32, 32, 32, 32, 32, 32, 76, 69, 78, 77, 10, 48, 48, -/* 0x2430 */ 48, 48, 48, 49, 51, 52, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, -/* 0x2440 */ 82, 51, 50, 32, 32, 32, 32, 32, 32, 76, 69, 78, 85, 10, 48, 48, -/* 0x2450 */ 48, 48, 48, 49, 51, 56, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, -/* 0x2460 */ 82, 51, 50, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, -/* 0x2470 */ 10 +/* 0x1800 */ 0,127, 56, 0, 0, 1, 68, 0, 0, 2,127, 8, 2,166, 59,191, +/* 0x1810 */ 255,248,128, 29, 0, 0,131,120, 0, 12,127,160,232, 80,160, 29, +/* 0x1820 */ 0, 16, 40, 0, 0, 3, 65,130, 0, 76,131,157, 0, 72, 57, 0, +/* 0x1830 */ 0, 0,127,158,224, 80, 56,224,255,255, 59,156,255,255, 56,192, +/* 0x1840 */ 0, 50,127,156,240, 56, 56,160, 0, 3,128,152, 0, 16,124,125, +/* 0x1850 */ 226, 20,127,156, 34, 20,124,110, 27,120, 56, 0, 0, 90, 68, 0, +/* 0x1860 */ 0, 2,124, 14, 24, 64, 64,130, 0, 0, 59, 32, 0, 0, 72, 0, +/* 0x1870 */ 0,188,127,185,235,120,130,221, 0, 72,128, 24, 0, 16,127,128, +/* 0x1880 */ 178, 20,127,132,227,120,126,228,232, 80,126,247,240, 56,127, 67, +/* 0x1890 */ 211,120,128,195, 0, 0,129, 3, 0, 4, 56, 99, 0, 8, 43,134, +/* 0x18a0 */ 0, 0, 65,158, 0, 44, 56,198,255,224, 43,134, 0, 1, 65,157, +/* 0x18b0 */ 255,228,124,215, 64, 80,127,134, 32, 64, 64,156,255,216,124,196, +/* 0x18c0 */ 48, 80,126,247, 50, 20,126,247,240, 56, 75,255,255,200,126,227, +/* 0x18d0 */ 187,120, 57, 0, 0, 0, 56,224,255,255, 56,192, 0, 50, 56,160, +/* 0x18e0 */ 0, 3, 56, 0, 0, 90, 68, 0, 0, 2,124, 3,184, 64, 64,130, +/* 0x18f0 */ 0, 0,124, 29,184, 80,127,255, 2, 20,126,198,179,120, 56,198, +/* 0x1900 */ 0, 7, 56,157,255,252, 84,198,232,254, 56, 99,255,252,124,201, +/* 0x1910 */ 3,166,128,164, 0, 4,132,196, 0, 8,144,163, 0, 4,148,195, +/* 0x1920 */ 0, 8, 66, 0,255,240,126,253,187,120,124,101, 27,120,124,119, +/* 0x1930 */ 27,120,127,233, 3,166,128, 24, 0, 16,136,248, 0, 24, 56,193, +/* 0x1940 */ 0,140,144, 1, 0,140,128,152, 0, 20, 56,120, 0, 28, 78,128, +/* 0x1950 */ 4, 33, 87,192,186,126,176, 23, 0, 2, 56,160, 0, 5,127,132, +/* 0x1960 */ 227,120,127,163,235,120, 56, 0, 0,125, 68, 0, 0, 2, 56, 23, +/* 0x1970 */ 0, 16,124, 9, 3,166, 78,128, 4, 32,128, 3, 0, 0, 56, 99, +/* 0x1980 */ 0, 4, 47,128, 0, 0, 64,158,255,244, 78,128, 0, 32,148, 33, +/* 0x1990 */ 255,112,188, 65, 0, 20,127,232, 2,166, 56, 97, 0,144, 75,255, +/* 0x19a0 */ 255,221, 75,255,255,217,124,122, 27,120,128, 3, 0, 0,128,131, +/* 0x19b0 */ 0, 4, 56, 99, 0, 8, 47,128, 0, 6, 65,158, 0, 16, 44, 0, +/* 0x19c0 */ 0, 0, 64,130,255,232, 56,128, 16, 0,127,196, 0,208, 75,255, +/* 0x19d0 */ 254, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x19e0 */ 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108, +/* 0x19f0 */ 102, 51, 50, 45,112,111,119,101,114,112, 99, 10, 10, 83,101, 99, +/* 0x1a00 */ 116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, +/* 0x1a10 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, +/* 0x1a20 */ 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, +/* 0x1a30 */ 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, +/* 0x1a40 */ 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, +/* 0x1a50 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, +/* 0x1a60 */ 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a70 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1a80 */ 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x1a90 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, +/* 0x1aa0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, +/* 0x1ab0 */ 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ac0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1ad0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 56, 32, +/* 0x1ae0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, +/* 0x1af0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, +/* 0x1b00 */ 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x1b10 */ 48, 49, 52, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1b20 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1b30 */ 51, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x1b40 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, +/* 0x1b50 */ 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 68, 32, 32, 32, +/* 0x1b60 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 50, 99, 32, 32, +/* 0x1b70 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1b80 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 56, 48, 32, 32, 50, 42, +/* 0x1b90 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, +/* 0x1ba0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, +/* 0x1bb0 */ 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1bc0 */ 48, 48, 48, 48, 48, 48,102, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1bd0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1be0 */ 48, 48, 48, 50, 97, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x1bf0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, +/* 0x1c00 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65, +/* 0x1c10 */ 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1c20 */ 57, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1c30 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 57, 99, +/* 0x1c40 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1c50 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x1c60 */ 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x1c70 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 57, 99, 32, 32, 48, 48, +/* 0x1c80 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c90 */ 32, 32, 48, 48, 48, 48, 48, 52, 50, 99, 32, 32, 50, 42, 42, 48, +/* 0x1ca0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, +/* 0x1cb0 */ 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x1cc0 */ 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 57, 99, 32, +/* 0x1cd0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1ce0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,100, 99, 56, 32, 32, 50, +/* 0x1cf0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1d00 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, +/* 0x1d10 */ 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1d20 */ 50, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1d30 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 54, 52, +/* 0x1d40 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1d50 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78, +/* 0x1d60 */ 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, +/* 0x1d70 */ 48, 48, 48, 49, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1d80 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, +/* 0x1d90 */ 55, 56, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1da0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, +/* 0x1db0 */ 48, 32, 67, 70, 76, 85, 83, 72, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1dc0 */ 48, 48, 48, 48, 48, 48, 50, 52, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1dd0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1de0 */ 48, 48, 49, 55, 97, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x1df0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, +/* 0x1e00 */ 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, +/* 0x1e10 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 50, 32, 32, 48, 48, 48, +/* 0x1e20 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1e30 */ 32, 48, 48, 48, 48, 49, 55, 99, 56, 32, 32, 50, 42, 42, 48, 32, +/* 0x1e40 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, +/* 0x1e50 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32, 69, +/* 0x1e60 */ 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, +/* 0x1e70 */ 48, 48, 49,102, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1e80 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, +/* 0x1e90 */ 55,101, 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1ea0 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, +/* 0x1eb0 */ 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, +/* 0x1ec0 */ 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x1ed0 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, +/* 0x1ee0 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x1ef0 */ 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x1f00 */ 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, +/* 0x1f10 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, +/* 0x1f20 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x1f30 */ 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f40 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, +/* 0x1f50 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, +/* 0x1f60 */ 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, +/* 0x1f70 */ 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1f80 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, +/* 0x1f90 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, +/* 0x1fa0 */ 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x1fb0 */ 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, +/* 0x1fc0 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, +/* 0x1fd0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x1fe0 */ 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, +/* 0x1ff0 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x2000 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, +/* 0x2010 */ 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, +/* 0x2020 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, +/* 0x2030 */ 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, +/* 0x2040 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x2050 */ 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, +/* 0x2060 */ 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, +/* 0x2070 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x2080 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, +/* 0x2090 */ 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x20a0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x20b0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, +/* 0x20c0 */ 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x20d0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x20e0 */ 32, 32, 67, 70, 76, 85, 83, 72, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x20f0 */ 48, 32, 67, 70, 76, 85, 83, 72, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2100 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, +/* 0x2110 */ 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97, +/* 0x2120 */ 114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, +/* 0x2130 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, +/* 0x2140 */ 48, 48, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2150 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, +/* 0x2160 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, 77, 10, 48, 48, 48, +/* 0x2170 */ 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, +/* 0x2180 */ 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, +/* 0x2190 */ 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, +/* 0x21a0 */ 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x21b0 */ 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, +/* 0x21c0 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, +/* 0x21d0 */ 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, +/* 0x21e0 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, +/* 0x21f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, +/* 0x2200 */ 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, +/* 0x2210 */ 76, 50, 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, +/* 0x2220 */ 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 49, 97, 52, 10, 10, 82, +/* 0x2230 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, +/* 0x2240 */ 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, +/* 0x2250 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, +/* 0x2260 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, +/* 0x2270 */ 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, 80, 80, 67, 95, 82, +/* 0x2280 */ 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, +/* 0x2290 */ 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, +/* 0x22a0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, +/* 0x22b0 */ 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, +/* 0x22c0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x22d0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, +/* 0x22e0 */ 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, +/* 0x22f0 */ 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, +/* 0x2300 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, +/* 0x2310 */ 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, +/* 0x2320 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2330 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, +/* 0x2340 */ 48, 48, 57, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, +/* 0x2350 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, +/* 0x2360 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, +/* 0x2370 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, +/* 0x2380 */ 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, +/* 0x2390 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x23a0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, +/* 0x23b0 */ 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, +/* 0x23c0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48, +/* 0x23d0 */ 48, 48, 48, 48, 48, 50, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, +/* 0x23e0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, +/* 0x23f0 */ 91, 69, 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, +/* 0x2400 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, +/* 0x2410 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, +/* 0x2420 */ 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50, +/* 0x2430 */ 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, +/* 0x2440 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, +/* 0x2450 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, +/* 0x2460 */ 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, +/* 0x2470 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2480 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 55, 99, 32, 82, +/* 0x2490 */ 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, +/* 0x24a0 */ 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 49, +/* 0x24b0 */ 48, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, +/* 0x24c0 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, +/* 0x24d0 */ 48, 48, 48, 49,101, 56, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, +/* 0x24e0 */ 82, 51, 50, 32, 32, 32, 32, 32, 32, 65, 68, 82, 77, 10, 48, 48, +/* 0x24f0 */ 48, 48, 48, 49,101, 99, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, +/* 0x2500 */ 82, 51, 50, 32, 32, 32, 32, 32, 32, 76, 69, 78, 77, 10, 48, 48, +/* 0x2510 */ 48, 48, 48, 49,102, 48, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, +/* 0x2520 */ 82, 51, 50, 32, 32, 32, 32, 32, 32, 76, 69, 78, 85, 10, 48, 48, +/* 0x2530 */ 48, 48, 48, 49,102, 52, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, +/* 0x2540 */ 82, 51, 50, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, +/* 0x2550 */ 10 }; diff --git a/src/stub/powerpc-linux.elf-fold.h b/src/stub/powerpc-linux.elf-fold.h index c824cfd0..0efa93a4 100644 --- a/src/stub/powerpc-linux.elf-fold.h +++ b/src/stub/powerpc-linux.elf-fold.h @@ -1,5 +1,5 @@ /* powerpc-linux.elf-fold.h - created from powerpc-linux.elf-fold.bin, 3940 (0xf64) bytes + created from powerpc-linux.elf-fold.bin, 4444 (0x115c) bytes This file is part of the UPX executable compressor. @@ -31,256 +31,287 @@ */ -#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 3940 -#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x5b612076 -#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x96348586 +#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 4444 +#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x86f59bb6 +#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0xefd8aac9 -unsigned char stub_powerpc_linux_elf_fold[3940] = { +unsigned char stub_powerpc_linux_elf_fold[4444] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 2, 0, 20, 0, 0, 0, 1, 0, 16, 0,128, 0, 0, 0, 52, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0, -/* 0x0040 */ 0, 16, 0, 0, 0, 0, 15,100, 0, 0, 15,100, 0, 0, 0, 5, -/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 15,100, 0, 0, 0, 0, +/* 0x0040 */ 0, 16, 0, 0, 0, 0, 17, 92, 0, 0, 17, 92, 0, 0, 0, 5, +/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 17, 92, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0080 */ 72, 0, 0,125, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191, -/* 0x0090 */ 77,130, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8, -/* 0x00a0 */ 124, 4, 3,120, 56,165, 1, 32,124,103, 27,120, 56, 99,255,252, -/* 0x00b0 */ 124,137, 3,166, 72, 0, 0, 28, 85, 96, 2,186,124, 3, 0, 80, -/* 0x00c0 */ 124, 0, 58, 20, 80, 11, 1,186,145, 99, 0, 0, 78, 64, 0, 32, -/* 0x00d0 */ 133, 99, 0, 4, 85, 96, 85,190,124, 0, 40, 64, 65,162,255,220, -/* 0x00e0 */ 66, 0,255,240, 78,128, 0, 32, 32, 32, 32, 61, 47,112,114,111, -/* 0x00f0 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0,126,168, 2,166, -/* 0x0100 */ 56,128, 0, 0, 56,117, 0,104, 72, 0, 1,157,124,116, 27,120, -/* 0x0110 */ 56,129,255,252, 56, 33,239,252, 56, 97,255,252, 59,156,255,252, -/* 0x0120 */ 132, 4, 0, 4,127,132,224, 64,148, 3, 0, 4, 65,156,255,244, -/* 0x0130 */ 59,131, 0, 8,148, 3, 0, 4,128, 4, 0, 4, 43,128, 0, 0, -/* 0x0140 */ 144, 3, 0, 4,132, 4, 0, 8,148, 3, 0, 8, 64,158,255,236, -/* 0x0150 */ 58, 99, 0, 4,126, 92,152, 80,128, 21, 0,100, 58, 36, 0, 4, -/* 0x0160 */ 148, 3, 0, 4, 57,195, 0, 4, 56,160, 15,255,125,196,115,120, -/* 0x0170 */ 56,117, 0,104, 72, 0, 1, 33, 56,174,255,252, 44, 3, 0, 0, -/* 0x0180 */ 65,129, 0, 12, 56,181, 0,100, 56, 96, 0, 16, 56, 99, 0, 4, -/* 0x0190 */ 124,133, 26, 20,124,105, 3,166,126, 35,139,120, 56,160, 0, 0, -/* 0x01a0 */ 156,163,255,255,140, 4,255,255,156, 3,255,255, 66, 0,255,248, -/* 0x01b0 */ 144,124,255,248, 84, 99, 0, 58,124, 32, 34,120,124, 0, 26,120, -/* 0x01c0 */ 84, 0, 7,122,124, 96, 24, 80,126,100,155,120,127,146, 24, 80, -/* 0x01d0 */ 132, 4,255,252,127,132, 8, 64,148, 3,255,252, 65,157,255,244, -/* 0x01e0 */ 124, 97, 27,120, 56, 0, 0, 0, 57, 65, 0,140,146,202, 0, 0, -/* 0x01f0 */ 124, 27, 0, 80,127,106,219,120,127,137,227,120,126,168,171,120, -/* 0x0200 */ 125, 30, 0, 56,127,231,251,120,148, 33,247,240,128,159,255,248, -/* 0x0210 */ 127,164,248, 80, 59,189,255,248,147,161, 0, 8,124,125,210, 20, -/* 0x0220 */ 124,154, 32, 80, 56,161, 0, 16,128,195, 0, 0, 72, 0, 10, 21, -/* 0x0230 */ 56, 33, 8, 16,124,127, 27,120, 57, 0, 0, 0,126,135,163,120, -/* 0x0240 */ 56,192, 0, 2, 56,160, 0, 1,127,100,219,120, 56, 96, 0, 0, -/* 0x0250 */ 72, 0, 0, 41,126,131,163,120, 72, 0, 0, 85,127, 3,195,120, -/* 0x0260 */ 126,228,187,120, 72, 0, 0, 89,127,232, 3,166,184, 65, 0, 20, -/* 0x0270 */ 56, 33, 0,144, 78,128, 0, 32, 56, 0, 0, 90, 68, 0, 0, 2, -/* 0x0280 */ 64,163, 0, 8, 56, 96,255,255, 78,128, 0, 32, 56, 0, 0, 1, -/* 0x0290 */ 72, 0, 0, 8, 56, 0, 0, 85, 72, 0, 0, 8, 56, 0, 0, 3, -/* 0x02a0 */ 72, 0, 0, 8, 56, 0, 0, 5, 72, 0, 0, 8, 56, 0, 0, 6, -/* 0x02b0 */ 72, 0, 0, 8, 56, 0, 0,125, 72, 0, 0, 8, 56, 0, 0, 91, -/* 0x02c0 */ 72, 0, 0, 8, 56, 0, 0, 45, 75,255,255,180,148, 33,255,208, -/* 0x02d0 */ 124, 8, 2,166,147,225, 0, 44,144, 1, 0, 52,124, 63, 11,120, -/* 0x02e0 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,129, 63, 0, 8, -/* 0x02f0 */ 128, 9, 0, 4,144, 31, 0, 20,128, 31, 0, 12,144, 31, 0, 24, -/* 0x0300 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 16,127,137, 0, 64, -/* 0x0310 */ 64,156, 0, 12, 56, 96, 0,127, 75,255,255,117,128, 31, 0, 16, -/* 0x0320 */ 144, 31, 0, 28,129, 63, 0, 28, 56, 9,255,255,124, 9, 3,120, -/* 0x0330 */ 145, 63, 0, 28, 56, 0,255,255,127,137, 0, 0, 65,158, 0, 48, -/* 0x0340 */ 129,127, 0, 24,129, 63, 0, 20,136, 9, 0, 0,152, 11, 0, 0, -/* 0x0350 */ 129, 63, 0, 20, 56, 9, 0, 1,144, 31, 0, 20,129, 63, 0, 24, -/* 0x0360 */ 56, 9, 0, 1,144, 31, 0, 24, 75,255,255,188,129,127, 0, 8, -/* 0x0370 */ 129, 63, 0, 8,129, 41, 0, 4,128, 31, 0, 16,124, 9, 2, 20, -/* 0x0380 */ 144, 11, 0, 4,129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 0, -/* 0x0390 */ 128, 31, 0, 16,124, 0, 72, 80,144, 11, 0, 0,129, 97, 0, 0, -/* 0x03a0 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, -/* 0x03b0 */ 78,128, 0, 32,148, 33,255,224,124, 8, 2,166,147,225, 0, 28, -/* 0x03c0 */ 144, 1, 0, 36,124, 63, 11,120,144,127, 0, 8, 56, 96, 0,127, -/* 0x03d0 */ 75,255,254,189,148, 33,255,176,124, 8, 2,166,147,225, 0, 76, -/* 0x03e0 */ 144, 1, 0, 84,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, -/* 0x03f0 */ 144,191, 0, 16,144,223, 0, 20,129, 63, 0, 12,128, 9, 0, 0, -/* 0x0400 */ 47,128, 0, 0, 65,158, 1,228, 56, 31, 0, 32,128,127, 0, 8, -/* 0x0410 */ 124, 4, 3,120, 56,160, 0, 12, 75,255,254,181,128, 31, 0, 32, -/* 0x0420 */ 47,128, 0, 0, 64,158, 0, 60,128, 31, 0, 36, 61, 32, 33, 88, -/* 0x0430 */ 97, 41, 80, 85,127,128, 72, 0, 65,158, 0, 12, 56, 96, 0, 2, -/* 0x0440 */ 75,255,255,117,129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 0, -/* 0x0450 */ 65,158, 1,152, 56, 96, 0, 3, 75,255,255, 93, 72, 0, 1,140, -/* 0x0460 */ 128, 31, 0, 36, 47,128, 0, 0, 64,158, 0, 12, 56, 96, 0, 4, -/* 0x0470 */ 75,255,255, 69,128, 31, 0, 36,129, 63, 0, 32,127,128, 72, 64, -/* 0x0480 */ 65,157, 0, 28,129, 63, 0, 12,129,127, 0, 32,128, 9, 0, 0, -/* 0x0490 */ 127,139, 0, 64, 65,157, 0, 8, 72, 0, 0, 12, 56, 96, 0, 5, -/* 0x04a0 */ 75,255,255, 21,128, 31, 0, 36,129, 63, 0, 32,127,128, 72, 64, -/* 0x04b0 */ 64,156, 0,240,128, 31, 0, 32,144, 31, 0, 48,129, 63, 0, 8, -/* 0x04c0 */ 129,127, 0, 12, 57, 95, 0, 48,136, 31, 0, 40, 84, 0, 6, 62, -/* 0x04d0 */ 129, 31, 0, 16,125, 9, 3,166,128,105, 0, 4,128,159, 0, 36, -/* 0x04e0 */ 128,171, 0, 4,125, 70, 83,120,124, 7, 3,120, 78,128, 4, 33, -/* 0x04f0 */ 124, 96, 27,120,144, 31, 0, 52,128, 31, 0, 52, 47,128, 0, 0, -/* 0x0500 */ 64,158, 0, 24,128, 31, 0, 32,129, 63, 0, 48,127,128, 72, 0, -/* 0x0510 */ 64,158, 0, 8, 72, 0, 0, 12, 56, 96, 0, 7, 75,255,254,153, -/* 0x0520 */ 136, 31, 0, 41, 84, 0, 6, 62, 47,128, 0, 0, 65,158, 0, 64, -/* 0x0530 */ 128, 31, 0, 20, 47,128, 0, 0, 65,158, 0, 52,129, 63, 0, 12, -/* 0x0540 */ 136, 31, 0, 42, 84, 11, 6, 62,136, 31, 0, 41, 84, 0, 6, 62, -/* 0x0550 */ 129, 31, 0, 20,125, 9, 3,166,128,105, 0, 4,128,159, 0, 48, -/* 0x0560 */ 125,101, 91,120,124, 6, 3,120, 78,128, 4, 33,129,127, 0, 8, -/* 0x0570 */ 129, 63, 0, 8,129, 41, 0, 4,128, 31, 0, 36,124, 9, 2, 20, -/* 0x0580 */ 144, 11, 0, 4,129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 0, -/* 0x0590 */ 128, 31, 0, 36,124, 0, 72, 80,144, 11, 0, 0, 72, 0, 0, 24, -/* 0x05a0 */ 129, 63, 0, 12,128,127, 0, 8,128,137, 0, 4,128,191, 0, 36, -/* 0x05b0 */ 75,255,253, 29,129,127, 0, 12,129, 63, 0, 12,129, 41, 0, 4, -/* 0x05c0 */ 128, 31, 0, 32,124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 12, -/* 0x05d0 */ 129, 63, 0, 12,129, 41, 0, 0,128, 31, 0, 32,124, 0, 72, 80, -/* 0x05e0 */ 144, 11, 0, 0, 75,255,254, 20,129, 97, 0, 0,128, 11, 0, 4, -/* 0x05f0 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32, -/* 0x0600 */ 148, 33,255,224,147,225, 0, 28,124, 63, 11,120,144,127, 0, 8, -/* 0x0610 */ 144,159, 0, 12,128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 52, -/* 0x0620 */ 129, 63, 0, 8,125, 43, 75,120, 56, 0, 0, 0,152, 11, 0, 0, -/* 0x0630 */ 57, 41, 0, 1,145, 63, 0, 8,129, 63, 0, 12, 56, 9,255,255, -/* 0x0640 */ 144, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 8, 75,255,255,212, -/* 0x0650 */ 129, 97, 0, 0,131,235,255,252,125, 97, 91,120, 78,128, 0, 32, -/* 0x0660 */ 148, 33,255,224,147,225, 0, 28,124, 63, 11,120,144,127, 0, 8, -/* 0x0670 */ 144,159, 0, 12,144,191, 0, 16,128, 31, 0, 8, 47,128, 0, 0, -/* 0x0680 */ 64,158, 0, 8, 72, 0, 0,100,129, 63, 0, 8,129, 41, 0, 0, -/* 0x0690 */ 128, 31, 0, 12,127,137, 0, 0, 65,158, 0, 36,129, 63, 0, 8, -/* 0x06a0 */ 128, 9, 0, 0, 47,128, 0, 1, 64,158, 0, 48,128, 31, 0, 12, -/* 0x06b0 */ 47,128, 0, 0, 64,158, 0, 8, 72, 0, 0, 32,129, 63, 0, 8, -/* 0x06c0 */ 128, 31, 0, 12,144, 9, 0, 0,129, 63, 0, 8,128, 31, 0, 16, -/* 0x06d0 */ 144, 9, 0, 4, 72, 0, 0, 20,129, 63, 0, 8, 56, 9, 0, 8, -/* 0x06e0 */ 144, 31, 0, 8, 75,255,255,164,129, 97, 0, 0,131,235,255,252, -/* 0x06f0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,192,124, 8, 2,166, -/* 0x0700 */ 147,225, 0, 60,144, 1, 0, 68,124, 63, 11,120,144,127, 0, 8, -/* 0x0710 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,144,255, 0, 24, -/* 0x0720 */ 56, 0,255,255,144, 31, 0, 28, 56, 0, 0, 0,144, 31, 0, 32, -/* 0x0730 */ 56, 0, 0, 0,144, 31, 0, 36,129, 63, 0, 8, 56, 9, 8, 34, -/* 0x0740 */ 144, 31, 0, 8,129, 63, 0, 16, 56, 9,255,255,144, 31, 0, 16, -/* 0x0750 */ 47,128, 0, 0, 65,156, 0,136,129, 63, 0, 12,128, 9, 0, 0, -/* 0x0760 */ 47,128, 0, 1, 64,158, 0,104,129, 63, 0, 12,129, 41, 0, 8, -/* 0x0770 */ 128, 31, 0, 28,127,137, 0, 64, 64,156, 0, 28,129, 63, 0, 12, -/* 0x0780 */ 128, 9, 0, 8,144, 31, 0, 28,129, 63, 0, 12,128, 9, 0, 16, -/* 0x0790 */ 144, 31, 0, 36,129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20, -/* 0x07a0 */ 128, 11, 0, 8,125, 41, 2, 20,128, 31, 0, 32,127,137, 0, 64, -/* 0x07b0 */ 64,157, 0, 28,129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20, -/* 0x07c0 */ 128, 11, 0, 8,124, 9, 2, 20,144, 31, 0, 32,129, 63, 0, 12, -/* 0x07d0 */ 56, 9, 0, 32,144, 31, 0, 12, 75,255,255,108,128, 31, 0, 24, -/* 0x07e0 */ 124, 9, 0,248,128, 31, 0, 28,125, 41, 0, 56,128, 31, 0, 36, -/* 0x07f0 */ 124, 0, 74, 20,144, 31, 0, 36,129, 63, 0, 28,128, 31, 0, 24, -/* 0x0800 */ 125, 32, 0, 56,144, 31, 0, 28,129, 63, 0, 32,128, 31, 0, 28, -/* 0x0810 */ 125, 32, 72, 80,128, 31, 0, 24,125, 32, 72, 80, 57, 41,255,255, -/* 0x0820 */ 128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 32,129, 63, 0, 36, -/* 0x0830 */ 128, 31, 0, 24,125, 32, 72, 80, 57, 41,255,255,128, 31, 0, 24, -/* 0x0840 */ 125, 32, 0, 56,144, 31, 0, 36,128,127, 0, 28,128,159, 0, 32, -/* 0x0850 */ 56,160, 0, 0,128,223, 0, 8, 56,224,255,255, 57, 0, 0, 0, -/* 0x0860 */ 75,255,250, 25,144,127, 0, 40,129,127, 0, 20,129, 63, 0, 40, -/* 0x0870 */ 128, 31, 0, 32,124, 9, 2, 20,144, 11, 0, 0,129, 63, 0, 40, -/* 0x0880 */ 128, 31, 0, 28,124, 0, 72, 80,124, 3, 3,120,129, 97, 0, 0, -/* 0x0890 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, -/* 0x08a0 */ 78,128, 0, 32,148, 33,255,144,124, 8, 2,166,147,225, 0,108, -/* 0x08b0 */ 144, 1, 0,116,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, -/* 0x08c0 */ 144,191, 0, 16,144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28, -/* 0x08d0 */ 145, 63, 0, 32,145, 95, 0, 36,129, 63, 0, 8,129, 41, 0, 28, -/* 0x08e0 */ 128, 31, 0, 8,124, 9, 2, 20,144, 31, 0, 40,129, 63, 0, 8, -/* 0x08f0 */ 160, 9, 0, 16, 84, 0, 4, 62, 47,128, 0, 3, 65,158, 0, 16, -/* 0x0900 */ 56, 0, 0, 16,144, 31, 0, 88, 72, 0, 0, 12, 57, 32, 0, 0, -/* 0x0910 */ 145, 63, 0, 88,129, 63, 0, 8,160, 9, 0, 44, 84, 0, 4, 62, -/* 0x0920 */ 57, 63, 0, 44,128,127, 0, 88,128,159, 0, 40,124, 5, 3,120, -/* 0x0930 */ 125, 38, 75,120,128,255, 0, 36, 75,255,253,193,124, 96, 27,120, -/* 0x0940 */ 144, 31, 0, 48, 56, 0, 0, 0,144, 31, 0, 52,129, 63, 0, 8, -/* 0x0950 */ 160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 52,127,137, 0, 0, -/* 0x0960 */ 64,157, 2,156,128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 56, -/* 0x0970 */ 129, 63, 0, 40,128, 9, 0, 0, 47,128, 0, 6, 64,158, 0, 40, -/* 0x0980 */ 129, 63, 0, 40,129, 41, 0, 8,128, 31, 0, 48,124, 9, 2, 20, -/* 0x0990 */ 128,127, 0, 20, 56,128, 0, 3,124, 5, 3,120, 75,255,252,197, -/* 0x09a0 */ 72, 0, 2, 64,129, 63, 0, 40,128, 9, 0, 0, 47,128, 0, 1, -/* 0x09b0 */ 64,158, 2, 48,129, 63, 0, 40,128, 9, 0, 24, 84, 0, 7,126, -/* 0x09c0 */ 84, 9, 16, 58, 60, 0,115, 81, 96, 0, 98, 64,124, 0, 76, 48, -/* 0x09d0 */ 84, 0, 7,126,144, 31, 0, 56,129, 63, 0, 40,128, 9, 0, 16, -/* 0x09e0 */ 144, 31, 0, 64,144, 31, 0, 72,129, 63, 0, 40,129, 41, 0, 8, -/* 0x09f0 */ 128, 31, 0, 48,124, 9, 2, 20,144, 31, 0, 68,144, 31, 0, 76, -/* 0x0a00 */ 129, 63, 0, 40,129, 41, 0, 20,128, 31, 0, 76,124, 9, 2, 20, -/* 0x0a10 */ 144, 31, 0, 80,128, 31, 0, 36,124, 9, 0,248,128, 31, 0, 76, -/* 0x0a20 */ 125, 32, 0, 56,144, 31, 0, 84,129, 63, 0, 72,128, 31, 0, 84, -/* 0x0a30 */ 124, 9, 2, 20,144, 31, 0, 72,129, 63, 0, 76,128, 31, 0, 84, -/* 0x0a40 */ 124, 0, 72, 80,144, 31, 0, 76,128, 31, 0, 12,124, 11,254,112, -/* 0x0a50 */ 125,105, 2,120,125, 43, 72, 80,145, 63, 0, 92,128, 31, 0, 92, -/* 0x0a60 */ 124, 0, 0,208,144, 31, 0, 92,129, 63, 0, 92, 85, 41, 15,254, -/* 0x0a70 */ 145, 63, 0, 92,129,127, 0, 92, 85,107, 8, 60,145,127, 0, 92, -/* 0x0a80 */ 128, 31, 0, 56,129, 63, 0, 92,125, 41, 3,120,145, 63, 0, 92, -/* 0x0a90 */ 128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 16, 57, 96, 0, 50, -/* 0x0aa0 */ 145,127, 0, 96, 72, 0, 0, 12, 56, 0, 0, 18,144, 31, 0, 96, -/* 0x0ab0 */ 128, 31, 0, 12, 47,128, 0, 0, 64,158, 0, 16,129, 63, 0, 16, -/* 0x0ac0 */ 145, 63, 0,100, 72, 0, 0, 12, 57, 96,255,255,145,127, 0,100, -/* 0x0ad0 */ 129, 63, 0, 40,129, 41, 0, 4,128, 31, 0, 84,124, 0, 72, 80, -/* 0x0ae0 */ 128,127, 0, 76,128,159, 0, 72,128,191, 0, 92,128,223, 0, 96, -/* 0x0af0 */ 128,255, 0,100,124, 8, 3,120, 75,255,247,129,124,105, 27,120, -/* 0x0b00 */ 128, 31, 0, 76,127,137, 0, 0, 65,158, 0, 12, 56, 96, 0, 8, -/* 0x0b10 */ 75,255,248,165,128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 28, -/* 0x0b20 */ 56, 31, 0, 64,128,127, 0, 12,124, 4, 3,120,128,191, 0, 24, -/* 0x0b30 */ 128,223, 0, 28, 75,255,248,161,128, 31, 0, 72,125, 32, 0,208, -/* 0x0b40 */ 128, 31, 0, 36,124, 0, 0,248,125, 32, 0, 56,144, 31, 0, 84, -/* 0x0b50 */ 128, 31, 0, 56, 84, 0, 7,188, 47,128, 0, 0, 65,158, 0, 28, -/* 0x0b60 */ 128, 31, 0, 76,129, 63, 0, 72,124, 0, 74, 20,124, 3, 3,120, -/* 0x0b70 */ 128,159, 0, 84, 75,255,250,141,129, 63, 0, 72,128, 31, 0, 84, -/* 0x0b80 */ 125, 41, 2, 20,128, 31, 0, 76,124, 0, 74, 20,144, 31, 0, 76, -/* 0x0b90 */ 129, 63, 0, 76,128, 31, 0, 80,127,137, 0, 64, 64,156, 0, 68, -/* 0x0ba0 */ 129, 63, 0, 80,128, 31, 0, 76,124, 0, 72, 80,128,127, 0, 76, -/* 0x0bb0 */ 124, 4, 3,120,128,191, 0, 56, 56,192, 0, 50, 56,224,255,255, -/* 0x0bc0 */ 57, 0, 0, 0, 75,255,246,181,124,105, 27,120,128, 31, 0, 76, -/* 0x0bd0 */ 127,137, 0, 0, 65,158, 0, 12, 56, 96, 0, 9, 75,255,247,217, -/* 0x0be0 */ 129, 63, 0, 40, 56, 9, 0, 32,144, 31, 0, 40,129, 63, 0, 52, -/* 0x0bf0 */ 56, 9, 0, 1,144, 31, 0, 52, 75,255,253, 84,128, 31, 0, 32, -/* 0x0c00 */ 47,128, 0, 0, 65,158, 0, 16,129, 63, 0, 32,128, 31, 0, 48, -/* 0x0c10 */ 144, 9, 0, 0,129, 63, 0, 8,129, 41, 0, 24,128, 31, 0, 48, -/* 0x0c20 */ 124, 9, 2, 20,124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4, -/* 0x0c30 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32, -/* 0x0c40 */ 148, 33,255,144,124, 8, 2,166,147,225, 0,108,144, 1, 0,116, -/* 0x0c50 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, -/* 0x0c60 */ 144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28,145, 63, 0, 32, -/* 0x0c70 */ 145, 95, 0, 36,128, 31, 0, 36,124, 0, 0,208,144, 31, 0, 40, -/* 0x0c80 */ 128, 31, 0, 36, 47,128, 16, 0, 65,158, 0, 28,128, 31, 0, 36, -/* 0x0c90 */ 61, 32, 0, 1,127,128, 72, 0, 65,158, 0, 12, 56, 96, 0,232, -/* 0x0ca0 */ 75,255,245,237,128, 31, 0, 16,144, 31, 0, 52,129, 63, 0, 8, -/* 0x0cb0 */ 128, 9, 0, 0,144, 31, 0, 48,128, 31, 0, 8,144, 31, 0, 68, -/* 0x0cc0 */ 128, 31, 0, 12,144, 31, 0, 64,128, 31, 0, 8,144, 31, 0, 60, -/* 0x0cd0 */ 128, 31, 0, 12,144, 31, 0, 56, 56, 31, 0, 64, 57, 63, 0, 48, -/* 0x0ce0 */ 124, 3, 3,120,125, 36, 75,120,128,191, 0, 24, 56,192, 0, 0, -/* 0x0cf0 */ 75,255,246,229,129, 63, 0, 16,129, 41, 0, 28,128, 31, 0,120, -/* 0x0d00 */ 124, 9, 2, 20,128,127, 0, 32, 56,128, 0, 3,124, 5, 3,120, -/* 0x0d10 */ 75,255,249, 81,129, 63, 0, 16,160, 9, 0, 44, 84, 0, 4, 62, -/* 0x0d20 */ 128,127, 0, 32, 56,128, 0, 5,124, 5, 3,120, 75,255,249, 53, -/* 0x0d30 */ 129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 72,129, 63, 0, 16, -/* 0x0d40 */ 160, 9, 0, 16, 84, 0, 4, 62,144, 31, 0, 76,128, 31, 0, 76, -/* 0x0d50 */ 47,128, 0, 3, 64,158, 0,164,129, 63, 0, 16, 56, 0, 0, 2, -/* 0x0d60 */ 176, 9, 0, 16,129,127, 0, 16,129, 63, 0, 16,129, 41, 0, 24, -/* 0x0d70 */ 128, 31, 0,120,124, 9, 2, 20,144, 11, 0, 24,128,127, 0, 32, -/* 0x0d80 */ 56,128, 0, 9,124, 5, 3,120, 75,255,248,217, 56, 0, 0, 0, -/* 0x0d90 */ 144, 31, 0, 80,129, 63, 0, 16,160, 9, 0, 44, 84, 9, 4, 62, -/* 0x0da0 */ 128, 31, 0, 80,127,137, 0, 64, 64,157, 0, 80,129,127, 0, 72, -/* 0x0db0 */ 129, 63, 0, 72,129, 41, 0, 8,128, 31, 0,120,124, 9, 2, 20, -/* 0x0dc0 */ 144, 11, 0, 8,129,127, 0, 72,129, 63, 0, 72,129, 41, 0, 12, -/* 0x0dd0 */ 128, 31, 0,120,124, 9, 2, 20,144, 11, 0, 12,129, 63, 0, 72, -/* 0x0de0 */ 56, 9, 0, 32,144, 31, 0, 72,129, 63, 0, 80, 56, 9, 0, 1, -/* 0x0df0 */ 144, 31, 0, 80, 75,255,255,160, 56, 31, 0, 56,128,127, 0, 16, -/* 0x0e00 */ 124, 4, 3,120, 56,160, 0, 0,128,223, 0, 32,128,255, 0, 24, -/* 0x0e10 */ 129, 31, 0, 28, 57, 63, 0,120,129, 95, 0, 40, 75,255,250,137, -/* 0x0e20 */ 124, 96, 27,120,144, 31, 0, 80,128, 31, 0, 76, 47,128, 0, 3, -/* 0x0e30 */ 65,158, 0, 20,128,127, 0, 32, 56,128, 0, 9,128,191, 0, 80, -/* 0x0e40 */ 75,255,248, 33,129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 72, -/* 0x0e50 */ 56, 0, 0, 0,144, 31, 0, 84,129, 63, 0, 16,160, 9, 0, 44, -/* 0x0e60 */ 84, 9, 4, 62,128, 31, 0, 84,127,137, 0, 64, 64,157, 0,216, -/* 0x0e70 */ 129, 63, 0, 72,128, 9, 0, 0, 47,128, 0, 3, 64,158, 0,172, -/* 0x0e80 */ 129, 63, 0, 72,129, 41, 0, 8,128, 31, 0,120,124, 9, 2, 20, -/* 0x0e90 */ 144, 31, 0, 88,128,127, 0, 88, 56,128, 0, 0, 56,160, 0, 0, -/* 0x0ea0 */ 75,255,244, 5,124, 96, 27,120,144, 31, 0, 92,128, 31, 0, 92, -/* 0x0eb0 */ 47,128, 0, 0, 64,156, 0, 12, 56, 96, 0, 18, 75,255,244,249, -/* 0x0ec0 */ 128,127, 0, 92,128,159, 0, 16, 56,160, 2, 0, 75,255,243,209, -/* 0x0ed0 */ 124, 96, 27,120, 47,128, 2, 0, 65,158, 0, 12, 56, 96, 0, 19, -/* 0x0ee0 */ 75,255,244,213,128,127, 0, 16, 56,128, 0, 0,128,191, 0, 92, -/* 0x0ef0 */ 56,192, 0, 0, 56,224, 0, 0, 57, 0, 0, 0, 57, 63, 0,120, -/* 0x0f00 */ 129, 95, 0, 40, 75,255,249,161,124, 96, 27,120,144, 31, 0, 80, -/* 0x0f10 */ 128,127, 0, 32, 56,128, 0, 7,128,191, 0,120, 75,255,247, 69, -/* 0x0f20 */ 128,127, 0, 92, 75,255,243,137,129, 63, 0, 72, 56, 9, 0, 32, -/* 0x0f30 */ 144, 31, 0, 72,129, 63, 0, 84, 56, 9, 0, 1,144, 31, 0, 84, -/* 0x0f40 */ 75,255,255, 24,128, 31, 0, 80,124, 3, 3,120,129, 97, 0, 0, -/* 0x0f50 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, -/* 0x0f60 */ 78,128, 0, 32 +/* 0x0080 */ 56, 96,255,248, 84, 99, 72, 44, 78,128, 0, 32, 96, 0, 0, 0, +/* 0x0090 */ 72, 0, 0,125, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191, +/* 0x00a0 */ 77,130, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8, +/* 0x00b0 */ 124, 4, 3,120, 56,165, 1, 32,124,103, 27,120, 56, 99,255,252, +/* 0x00c0 */ 124,137, 3,166, 72, 0, 0, 28, 85, 96, 2,186,124, 3, 0, 80, +/* 0x00d0 */ 124, 0, 58, 20, 80, 11, 1,186,145, 99, 0, 0, 78, 64, 0, 32, +/* 0x00e0 */ 133, 99, 0, 4, 85, 96, 85,190,124, 0, 40, 64, 65,162,255,220, +/* 0x00f0 */ 66, 0,255,240, 78,128, 0, 32, 32, 32, 32, 61, 47,112,114,111, +/* 0x0100 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0,126,168, 2,166, +/* 0x0110 */ 56,128, 0, 0, 56,117, 0,104, 72, 0, 1,157,124,116, 27,120, +/* 0x0120 */ 56,129,255,252, 56, 33,239,252, 56, 97,255,252, 59, 90,255,252, +/* 0x0130 */ 132, 4, 0, 4,127,132,208, 64,148, 3, 0, 4, 65,156,255,244, +/* 0x0140 */ 59, 67, 0, 8,148, 3, 0, 4,128, 4, 0, 4, 43,128, 0, 0, +/* 0x0150 */ 144, 3, 0, 4,132, 4, 0, 8,148, 3, 0, 8, 64,158,255,236, +/* 0x0160 */ 58, 99, 0, 4,126, 90,152, 80,128, 21, 0,100, 58, 36, 0, 4, +/* 0x0170 */ 148, 3, 0, 4, 57,195, 0, 4, 56,160, 15,255,125,196,115,120, +/* 0x0180 */ 56,117, 0,104, 72, 0, 1, 25, 56,174,255,252, 44, 3, 0, 0, +/* 0x0190 */ 65,129, 0, 12, 56,181, 0,100, 56, 96, 0, 16, 56, 99, 0, 4, +/* 0x01a0 */ 124,133, 26, 20,124,105, 3,166,126, 35,139,120, 56,160, 0, 0, +/* 0x01b0 */ 156,163,255,255,140, 4,255,255,156, 3,255,255, 66, 0,255,248, +/* 0x01c0 */ 144,122,255,248, 84, 99, 0, 58,124, 32, 34,120,124, 0, 26,120, +/* 0x01d0 */ 84, 0, 7,122,124, 96, 24, 80,126,100,155,120,127, 82, 24, 80, +/* 0x01e0 */ 132, 4,255,252,127,132, 8, 64,148, 3,255,252, 65,157,255,244, +/* 0x01f0 */ 124, 97, 27,120,148, 33,247,240,128,159,255,248,124,125,218, 20, +/* 0x0200 */ 124,155, 32, 80, 56,161, 0, 16,127, 70,211,120,127,231,251,120, +/* 0x0210 */ 126,168,171,120,127, 41,203,120, 72, 0, 12, 49, 56, 33, 8, 16, +/* 0x0220 */ 124,127, 27,120, 57, 0, 0, 0,126,135,163,120, 56,192, 0, 2, +/* 0x0230 */ 56,160, 0, 1,124,158, 0,208, 56, 96, 0, 0, 72, 0, 0, 69, +/* 0x0240 */ 126,131,163,120, 72, 0, 0,121,127, 67,211,120,128, 3, 0, 0, +/* 0x0250 */ 128,131, 0, 4, 56, 99, 0, 8, 43,128, 0, 0, 64,158,255,240, +/* 0x0260 */ 124,137, 3,166,127,163,235,120,127,132,227,120, 56, 0, 0, 91, +/* 0x0270 */ 127,232, 3,166,184,161, 0, 32, 56, 33, 0,144, 78,128, 4, 32, +/* 0x0280 */ 56, 0, 0, 90, 68, 0, 0, 2, 64,163, 0, 8, 56, 96,255,255, +/* 0x0290 */ 78,128, 0, 32, 56, 0, 0, 1, 72, 0, 0, 8, 56, 0, 0, 85, +/* 0x02a0 */ 72, 0, 0, 8, 56, 0, 0, 4, 72, 0, 0, 8, 56, 0, 0, 3, +/* 0x02b0 */ 72, 0, 0, 8, 56, 0, 0, 5, 72, 0, 0, 8, 56, 0, 0, 6, +/* 0x02c0 */ 72, 0, 0, 8, 56, 0, 0,125, 72, 0, 0, 8, 56, 0, 0, 91, +/* 0x02d0 */ 72, 0, 0, 8, 56, 0, 0, 45, 75,255,255,172,124,128, 0, 8, +/* 0x02e0 */ 78,128, 0, 32,148, 33,255,208,124, 8, 2,166,147,225, 0, 44, +/* 0x02f0 */ 144, 1, 0, 52,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, +/* 0x0300 */ 144,191, 0, 16,129, 63, 0, 8,128, 9, 0, 4,144, 31, 0, 20, +/* 0x0310 */ 128, 31, 0, 12,144, 31, 0, 24,129, 63, 0, 8,129, 41, 0, 0, +/* 0x0320 */ 128, 31, 0, 16,127,137, 0, 64, 64,156, 0, 12, 56, 96, 0,127, +/* 0x0330 */ 75,255,255,101,128, 31, 0, 16,144, 31, 0, 28,129, 63, 0, 28, +/* 0x0340 */ 56, 9,255,255,124, 9, 3,120,145, 63, 0, 28, 56, 0,255,255, +/* 0x0350 */ 127,137, 0, 0, 65,158, 0, 48,129,127, 0, 24,129, 63, 0, 20, +/* 0x0360 */ 136, 9, 0, 0,152, 11, 0, 0,129, 63, 0, 20, 56, 9, 0, 1, +/* 0x0370 */ 144, 31, 0, 20,129, 63, 0, 24, 56, 9, 0, 1,144, 31, 0, 24, +/* 0x0380 */ 75,255,255,188,129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 4, +/* 0x0390 */ 128, 31, 0, 16,124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 8, +/* 0x03a0 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 16,124, 0, 72, 80, +/* 0x03b0 */ 144, 11, 0, 0,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166, +/* 0x03c0 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,224, +/* 0x03d0 */ 124, 8, 2,166,147,225, 0, 28,144, 1, 0, 36,124, 63, 11,120, +/* 0x03e0 */ 144,127, 0, 8,128,127, 0, 8, 75,255,254,237,124, 96, 27,120, +/* 0x03f0 */ 124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166, +/* 0x0400 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,176, +/* 0x0410 */ 124, 8, 2,166,147,225, 0, 76,144, 1, 0, 84,124, 63, 11,120, +/* 0x0420 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20, +/* 0x0430 */ 129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 0, 65,158, 1,228, +/* 0x0440 */ 56, 31, 0, 32,128,127, 0, 8,124, 4, 3,120, 56,160, 0, 12, +/* 0x0450 */ 75,255,254,149,128, 31, 0, 32, 47,128, 0, 0, 64,158, 0, 48, +/* 0x0460 */ 128, 31, 0, 36, 61, 32, 33, 88, 97, 41, 80, 85,127,128, 72, 0, +/* 0x0470 */ 65,158, 0, 8, 72, 0, 0, 36,129, 63, 0, 8,128, 9, 0, 0, +/* 0x0480 */ 47,128, 0, 0, 65,158, 1,156, 72, 0, 0, 16,128, 31, 0, 36, +/* 0x0490 */ 47,128, 0, 0, 64,158, 0, 12, 56, 96, 0,127, 75,255,253,249, +/* 0x04a0 */ 128, 31, 0, 36,129, 63, 0, 32,127,128, 72, 64, 65,157,255,236, +/* 0x04b0 */ 129, 63, 0, 12,129,127, 0, 32,128, 9, 0, 0,127,139, 0, 64, +/* 0x04c0 */ 65,157,255,216,128, 31, 0, 36,129, 63, 0, 32,127,128, 72, 64, +/* 0x04d0 */ 64,156, 1, 8,128, 31, 0, 32,144, 31, 0, 48,129, 63, 0, 8, +/* 0x04e0 */ 129,127, 0, 12, 57, 95, 0, 48,136, 31, 0, 40, 84, 0, 6, 62, +/* 0x04f0 */ 129, 31, 0, 16,125, 9, 3,166,128,105, 0, 4,128,159, 0, 36, +/* 0x0500 */ 128,171, 0, 4,125, 70, 83,120,124, 7, 3,120, 78,128, 4, 33, +/* 0x0510 */ 124, 96, 27,120,144, 31, 0, 52,128, 31, 0, 52, 47,128, 0, 0, +/* 0x0520 */ 64,158,255,120,128, 31, 0, 32,129, 63, 0, 48,127,128, 72, 0, +/* 0x0530 */ 64,158,255,104,136, 31, 0, 41, 84, 0, 6, 62, 47,128, 0, 0, +/* 0x0540 */ 65,158, 0,100,128, 31, 0, 20, 47,128, 0, 0, 65,158, 0, 88, +/* 0x0550 */ 128, 31, 0, 48, 43,128, 2, 0, 65,157, 0, 28,129, 63, 0, 12, +/* 0x0560 */ 129, 41, 0, 0,128, 31, 0, 32,127,137, 0, 0, 65,158, 0, 8, +/* 0x0570 */ 72, 0, 0, 52,129, 63, 0, 12,136, 31, 0, 42, 84, 11, 6, 62, +/* 0x0580 */ 136, 31, 0, 41, 84, 0, 6, 62,129, 31, 0, 20,125, 9, 3,166, +/* 0x0590 */ 128,105, 0, 4,128,159, 0, 48,125,101, 91,120,124, 6, 3,120, +/* 0x05a0 */ 78,128, 4, 33,129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 4, +/* 0x05b0 */ 128, 31, 0, 36,124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 8, +/* 0x05c0 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 36,124, 0, 72, 80, +/* 0x05d0 */ 144, 11, 0, 0, 72, 0, 0, 24,129, 63, 0, 12,128,127, 0, 8, +/* 0x05e0 */ 128,137, 0, 4,128,191, 0, 36, 75,255,252,253,129,127, 0, 12, +/* 0x05f0 */ 129, 63, 0, 12,129, 41, 0, 4,128, 31, 0, 32,124, 9, 2, 20, +/* 0x0600 */ 144, 11, 0, 4,129,127, 0, 12,129, 63, 0, 12,129, 41, 0, 0, +/* 0x0610 */ 128, 31, 0, 32,124, 0, 72, 80,144, 11, 0, 0, 75,255,254, 20, +/* 0x0620 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, +/* 0x0630 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,147,225, 0, 28, +/* 0x0640 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, +/* 0x0650 */ 56, 0, 0, 0,144, 31, 0, 20,129, 63, 0, 8,128, 9, 0, 0, +/* 0x0660 */ 47,128, 0, 1, 64,158, 0,196,129, 63, 0, 8,128, 9, 0, 24, +/* 0x0670 */ 84, 0, 7,254, 47,128, 0, 0, 65,158, 0,176,129, 63, 0, 8, +/* 0x0680 */ 129,127, 0, 8,129, 41, 0, 20,128, 11, 0, 8,125, 41, 2, 20, +/* 0x0690 */ 128, 31, 0, 12,124, 9, 2, 20,144, 31, 0, 20,129, 63, 0, 8, +/* 0x06a0 */ 129,127, 0, 8,129, 41, 0, 20,128, 11, 0, 16,127,137, 0, 0, +/* 0x06b0 */ 64,158, 0, 28,128, 31, 0, 20,125, 32, 0,208,128, 31, 0, 16, +/* 0x06c0 */ 125, 32, 0, 56, 43,128, 0, 7, 65,157, 0, 48,129,127, 0, 8, +/* 0x06d0 */ 128, 31, 0, 12, 29, 32, 0, 52,128, 11, 0, 8,125, 41, 2, 20, +/* 0x06e0 */ 56, 9, 0, 8,144, 31, 0, 20,129, 63, 0, 8,128, 9, 0, 4, +/* 0x06f0 */ 47,128, 0, 0, 64,158, 0, 44,129, 63, 0, 20, 60, 0, 68, 0, +/* 0x0700 */ 96, 0, 0, 2,144, 9, 0, 0,129, 63, 0, 20, 57, 41, 0, 4, +/* 0x0710 */ 60, 0, 78,128, 96, 0, 0, 32,144, 9, 0, 0, 72, 0, 0, 12, +/* 0x0720 */ 56, 0, 0, 0,144, 31, 0, 20,128, 31, 0, 20,124, 3, 3,120, +/* 0x0730 */ 129, 97, 0, 0,131,235,255,252,125, 97, 91,120, 78,128, 0, 32, +/* 0x0740 */ 148, 33,255,224,147,225, 0, 28,124, 63, 11,120,144,127, 0, 8, +/* 0x0750 */ 144,159, 0, 12,128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 52, +/* 0x0760 */ 129, 63, 0, 8,125, 43, 75,120, 56, 0, 0, 0,152, 11, 0, 0, +/* 0x0770 */ 57, 41, 0, 1,145, 63, 0, 8,129, 63, 0, 12, 56, 9,255,255, +/* 0x0780 */ 144, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 8, 75,255,255,212, +/* 0x0790 */ 129, 97, 0, 0,131,235,255,252,125, 97, 91,120, 78,128, 0, 32, +/* 0x07a0 */ 148, 33,255,224,147,225, 0, 28,124, 63, 11,120,144,127, 0, 8, +/* 0x07b0 */ 144,159, 0, 12, 56, 0, 0, 0,144, 31, 0, 16,128, 31, 0, 8, +/* 0x07c0 */ 47,128, 0, 0, 65,158, 0, 76,129, 63, 0, 8,129, 41, 0, 0, +/* 0x07d0 */ 128, 31, 0, 12,127,137, 0, 0, 64,158, 0, 16,128, 31, 0, 8, +/* 0x07e0 */ 144, 31, 0, 20, 72, 0, 0, 52,129, 63, 0, 8,128, 9, 0, 0, +/* 0x07f0 */ 47,128, 0, 1, 64,158, 0, 12,128, 31, 0, 8,144, 31, 0, 16, +/* 0x0800 */ 129, 63, 0, 8, 56, 9, 0, 8,144, 31, 0, 8, 75,255,255,188, +/* 0x0810 */ 56, 0, 0, 0,144, 31, 0, 20,128,127, 0, 20,129, 97, 0, 0, +/* 0x0820 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,224, +/* 0x0830 */ 124, 8, 2,166,147,225, 0, 28,144, 1, 0, 36,124, 63, 11,120, +/* 0x0840 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,128,127, 0, 8, +/* 0x0850 */ 128,159, 0, 12, 75,255,255, 77,124, 96, 27,120,144, 31, 0, 8, +/* 0x0860 */ 128, 31, 0, 8, 47,128, 0, 0, 65,158, 0, 16,129, 63, 0, 8, +/* 0x0870 */ 128, 31, 0, 16,144, 9, 0, 4,129, 97, 0, 0,128, 11, 0, 4, +/* 0x0880 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32, +/* 0x0890 */ 148, 33,255,192,124, 8, 2,166,147,225, 0, 60,144, 1, 0, 68, +/* 0x08a0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, +/* 0x08b0 */ 144,223, 0, 20, 75,255,247,205,124, 96, 27,120,144, 31, 0, 24, +/* 0x08c0 */ 56, 0,255,255,144, 31, 0, 28, 56, 0, 0, 0,144, 31, 0, 32, +/* 0x08d0 */ 56, 0, 0, 0,144, 31, 0, 36,129, 63, 0, 16, 56, 9,255,255, +/* 0x08e0 */ 144, 31, 0, 16, 47,128, 0, 0, 65,156, 0,136,129, 63, 0, 12, +/* 0x08f0 */ 128, 9, 0, 0, 47,128, 0, 1, 64,158, 0,104,129, 63, 0, 12, +/* 0x0900 */ 129, 41, 0, 8,128, 31, 0, 28,127,137, 0, 64, 64,156, 0, 28, +/* 0x0910 */ 129, 63, 0, 12,128, 9, 0, 8,144, 31, 0, 28,129, 63, 0, 12, +/* 0x0920 */ 128, 9, 0, 16,144, 31, 0, 36,129, 63, 0, 12,129,127, 0, 12, +/* 0x0930 */ 129, 41, 0, 20,128, 11, 0, 8,125, 41, 2, 20,128, 31, 0, 32, +/* 0x0940 */ 127,137, 0, 64, 64,157, 0, 28,129, 63, 0, 12,129,127, 0, 12, +/* 0x0950 */ 129, 41, 0, 20,128, 11, 0, 8,124, 9, 2, 20,144, 31, 0, 32, +/* 0x0960 */ 129, 63, 0, 12, 56, 9, 0, 32,144, 31, 0, 12, 75,255,255,108, +/* 0x0970 */ 128, 31, 0, 24,124, 9, 0,248,128, 31, 0, 28,125, 41, 0, 56, +/* 0x0980 */ 128, 31, 0, 36,124, 0, 74, 20,144, 31, 0, 36,129, 63, 0, 28, +/* 0x0990 */ 128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 28,129, 63, 0, 32, +/* 0x09a0 */ 128, 31, 0, 28,125, 32, 72, 80,128, 31, 0, 24,125, 32, 72, 80, +/* 0x09b0 */ 57, 41,255,255,128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 32, +/* 0x09c0 */ 129, 63, 0, 36,128, 31, 0, 24,125, 32, 72, 80, 57, 41,255,255, +/* 0x09d0 */ 128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 36,128, 31, 0, 8, +/* 0x09e0 */ 84, 0, 6,246, 47,128, 0, 0, 65,158, 0, 16,128, 31, 0, 28, +/* 0x09f0 */ 144, 31, 0, 40, 72, 0, 0, 44,128, 31, 0, 8, 96, 0, 0, 34, +/* 0x0a00 */ 128,127, 0, 28,128,159, 0, 32, 56,160, 0, 0,124, 6, 3,120, +/* 0x0a10 */ 56,224,255,255, 57, 0, 0, 0, 75,255,248,105,144,127, 0, 40, +/* 0x0a20 */ 129,127, 0, 20,129, 63, 0, 40,128, 31, 0, 32,124, 9, 2, 20, +/* 0x0a30 */ 144, 11, 0, 0,129, 63, 0, 40,128, 31, 0, 28,124, 0, 72, 80, +/* 0x0a40 */ 124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166, +/* 0x0a50 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,144, +/* 0x0a60 */ 124, 8, 2,166,147,225, 0,108,144, 1, 0,116,124, 63, 11,120, +/* 0x0a70 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20, +/* 0x0a80 */ 144,255, 0, 24,145, 31, 0, 28, 75,255,245,249,124, 96, 27,120, +/* 0x0a90 */ 124, 0, 0,248,144, 31, 0, 32,129, 63, 0, 12,129, 41, 0, 28, +/* 0x0aa0 */ 128, 31, 0, 12,124, 9, 2, 20,144, 31, 0, 36,129, 63, 0, 12, +/* 0x0ab0 */ 160, 9, 0, 16, 84, 0, 4, 62, 47,128, 0, 2, 64,158, 0, 16, +/* 0x0ac0 */ 56, 0, 0, 16,144, 31, 0, 84, 72, 0, 0, 12, 56, 0, 0, 0, +/* 0x0ad0 */ 144, 31, 0, 84,129, 63, 0, 12,160, 9, 0, 44, 84, 0, 4, 62, +/* 0x0ae0 */ 57, 63, 0, 40,128,127, 0, 84,128,159, 0, 36,124, 5, 3,120, +/* 0x0af0 */ 125, 38, 75,120, 75,255,253,157,144,127, 0, 44, 56, 0, 0, 0, +/* 0x0b00 */ 144, 31, 0, 48,129, 63, 0, 12,160, 9, 0, 44, 84, 9, 4, 62, +/* 0x0b10 */ 128, 31, 0, 48,127,137, 0, 0, 64,157, 2,196,128, 31, 0, 16, +/* 0x0b20 */ 47,128, 0, 0, 65,158, 0, 56,129, 63, 0, 36,128, 9, 0, 0, +/* 0x0b30 */ 47,128, 0, 6, 64,158, 0, 40,129, 63, 0, 36,129, 41, 0, 8, +/* 0x0b40 */ 128, 31, 0, 44,124, 9, 2, 20,128,127, 0, 20, 56,128, 0, 3, +/* 0x0b50 */ 124, 5, 3,120, 75,255,252,217, 72, 0, 2,104,129, 63, 0, 36, +/* 0x0b60 */ 128, 9, 0, 0, 47,128, 0, 1, 64,158, 2, 88,129, 63, 0, 36, +/* 0x0b70 */ 128, 9, 0, 24, 84, 0, 7,126, 84, 9, 16, 58, 60, 0,115, 81, +/* 0x0b80 */ 96, 0, 98, 64,124, 0, 76, 48, 84, 0, 7,126,144, 31, 0, 52, +/* 0x0b90 */ 129, 63, 0, 36,128, 9, 0, 16,144, 31, 0, 56,144, 31, 0, 64, +/* 0x0ba0 */ 129, 63, 0, 36,129, 41, 0, 8,128, 31, 0, 44,124, 9, 2, 20, +/* 0x0bb0 */ 144, 31, 0, 60,144, 31, 0, 68,129, 63, 0, 36,129, 41, 0, 20, +/* 0x0bc0 */ 128, 31, 0, 68,124, 9, 2, 20,144, 31, 0, 72,129, 63, 0, 68, +/* 0x0bd0 */ 128, 31, 0, 32,125, 32, 0, 56,144, 31, 0, 76,129, 63, 0, 64, +/* 0x0be0 */ 128, 31, 0, 76,124, 9, 2, 20,144, 31, 0, 64,129, 63, 0, 68, +/* 0x0bf0 */ 128, 31, 0, 76,124, 0, 72, 80,144, 31, 0, 68,128, 31, 0, 16, +/* 0x0c00 */ 47,128, 0, 0, 65,158, 0,120,128,127, 0, 68,128,159, 0, 64, +/* 0x0c10 */ 56,160, 0, 3, 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0, +/* 0x0c20 */ 75,255,246, 97,124, 96, 27,120,129, 63, 0, 68,127,128, 72, 0, +/* 0x0c30 */ 65,158, 0, 8, 72, 0, 1, 32, 56, 31, 0, 56,144, 31, 0, 88, +/* 0x0c40 */ 128, 31, 0, 52, 84, 0, 7,122, 47,128, 0, 0, 65,158, 0, 16, +/* 0x0c50 */ 128, 31, 0, 28,144, 31, 0, 92, 72, 0, 0, 12, 56, 0, 0, 0, +/* 0x0c60 */ 144, 31, 0, 92,128,127, 0, 16,128,159, 0, 88,128,191, 0, 8, +/* 0x0c70 */ 128,223, 0, 92, 75,255,247,153, 72, 0, 0, 68,129, 63, 0, 36, +/* 0x0c80 */ 129, 41, 0, 4,128, 31, 0, 76,124, 0, 72, 80,128,127, 0, 68, +/* 0x0c90 */ 128,159, 0, 64,128,191, 0, 52, 56,192, 0, 18,128,255, 0, 8, +/* 0x0ca0 */ 124, 8, 3,120, 75,255,245,221,124,105, 27,120,128, 31, 0, 68, +/* 0x0cb0 */ 127,137, 0, 0, 65,158, 0, 8, 72, 0, 0,156,128, 31, 0, 64, +/* 0x0cc0 */ 125, 32, 0,208,128, 31, 0, 32,125, 32, 0, 56,144, 31, 0, 76, +/* 0x0cd0 */ 128, 31, 0, 52, 84, 0, 7,188, 47,128, 0, 0, 65,158, 0, 28, +/* 0x0ce0 */ 128, 31, 0, 68,129, 63, 0, 64,124, 0, 74, 20,124, 3, 3,120, +/* 0x0cf0 */ 128,159, 0, 76, 75,255,250, 77,128, 31, 0, 16, 47,128, 0, 0, +/* 0x0d00 */ 65,158, 0, 92,128,127, 0, 36,128,159, 0, 44,128,191, 0, 32, +/* 0x0d10 */ 75,255,249, 41,124, 96, 27,120,144, 31, 0, 80,128, 31, 0, 80, +/* 0x0d20 */ 47,128, 0, 0, 65,158, 0, 20,128,127, 0, 20, 56,128, 0, 0, +/* 0x0d30 */ 128,191, 0, 80, 75,255,250,249,128,127, 0, 68,128,159, 0, 64, +/* 0x0d40 */ 128,191, 0, 52, 75,255,245,129,124, 96, 27,120, 47,128, 0, 0, +/* 0x0d50 */ 65,158, 0, 12, 56, 96, 0,127, 75,255,245, 61,129, 63, 0, 64, +/* 0x0d60 */ 128, 31, 0, 76,125, 41, 2, 20,128, 31, 0, 68,124, 0, 74, 20, +/* 0x0d70 */ 144, 31, 0, 68,129, 63, 0, 68,128, 31, 0, 72,127,137, 0, 64, +/* 0x0d80 */ 64,156, 0, 64,129, 63, 0, 72,128, 31, 0, 68,124, 0, 72, 80, +/* 0x0d90 */ 128,127, 0, 68,124, 4, 3,120,128,191, 0, 52, 56,192, 0, 50, +/* 0x0da0 */ 56,224,255,255, 57, 0, 0, 0, 75,255,244,217,124,105, 27,120, +/* 0x0db0 */ 128, 31, 0, 68,127,137, 0, 0, 65,158, 0, 8, 75,255,255,152, +/* 0x0dc0 */ 129, 63, 0, 36, 56, 9, 0, 32,144, 31, 0, 36,129, 63, 0, 48, +/* 0x0dd0 */ 56, 9, 0, 1,144, 31, 0, 48, 75,255,253, 44,128, 31, 0, 16, +/* 0x0de0 */ 47,128, 0, 0, 65,158, 0, 32,129, 63, 0, 12,160, 9, 0, 16, +/* 0x0df0 */ 84, 0, 4, 62, 47,128, 0, 3, 65,158, 0, 12,128,127, 0, 40, +/* 0x0e00 */ 75,255,245,205,128, 31, 0, 24, 47,128, 0, 0, 65,158, 0, 16, +/* 0x0e10 */ 129, 63, 0, 24,128, 31, 0, 44,144, 9, 0, 0,129, 63, 0, 12, +/* 0x0e20 */ 129, 41, 0, 24,128, 31, 0, 44,124, 9, 2, 20,124, 3, 3,120, +/* 0x0e30 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, +/* 0x0e40 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,160,124, 8, 2,166, +/* 0x0e50 */ 147,225, 0, 92,144, 1, 0,100,124, 63, 11,120,144,127, 0, 8, +/* 0x0e60 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,144,255, 0, 24, +/* 0x0e70 */ 145, 31, 0, 28,145, 63, 0, 32,129, 63, 0, 8,129, 41, 0, 4, +/* 0x0e80 */ 56, 9, 0, 12,144, 31, 0, 36,128, 31, 0, 16,144, 31, 0, 44, +/* 0x0e90 */ 129, 63, 0, 8,128, 9, 0, 0,144, 31, 0, 40,128, 31, 0, 8, +/* 0x0ea0 */ 144, 31, 0, 52,128, 31, 0, 12,144, 31, 0, 48, 56, 31, 0, 48, +/* 0x0eb0 */ 57, 63, 0, 40,124, 3, 3,120,125, 36, 75,120,128,191, 0, 24, +/* 0x0ec0 */ 56,192, 0, 0, 75,255,245, 73,129, 63, 0, 52,128, 31, 0, 36, +/* 0x0ed0 */ 124, 0, 72, 80,144, 31, 0, 52,128, 31, 0, 12,144, 31, 0, 48, +/* 0x0ee0 */ 128, 31, 0, 32,144, 31, 0, 56,129, 63, 0, 16,129, 41, 0, 28, +/* 0x0ef0 */ 128, 31, 0, 56,124, 9, 2, 20,128,127, 0, 20, 56,128, 0, 3, +/* 0x0f00 */ 124, 5, 3,120, 75,255,249, 41,129, 63, 0, 16,160, 9, 0, 44, +/* 0x0f10 */ 84, 0, 4, 62,128,127, 0, 20, 56,128, 0, 5,124, 5, 3,120, +/* 0x0f20 */ 75,255,249, 13,129, 63, 0, 16,160, 9, 0, 42, 84, 0, 4, 62, +/* 0x0f30 */ 128,127, 0, 20, 56,128, 0, 4,124, 5, 3,120, 75,255,248,241, +/* 0x0f40 */ 129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 60,129, 63, 0, 16, +/* 0x0f50 */ 160, 9, 0, 16, 84, 0, 4, 62,144, 31, 0, 64,128, 31, 0, 64, +/* 0x0f60 */ 47,128, 0, 3, 64,158, 0,164,129, 63, 0, 16, 56, 0, 0, 2, +/* 0x0f70 */ 176, 9, 0, 16,129,127, 0, 16,129, 63, 0, 16,129, 41, 0, 24, +/* 0x0f80 */ 128, 31, 0, 56,124, 9, 2, 20,144, 11, 0, 24,128,127, 0, 20, +/* 0x0f90 */ 56,128, 0, 9,124, 5, 3,120, 75,255,248,149, 56, 0, 0, 0, +/* 0x0fa0 */ 144, 31, 0, 68,129, 63, 0, 16,160, 9, 0, 44, 84, 9, 4, 62, +/* 0x0fb0 */ 128, 31, 0, 68,127,137, 0, 64, 64,157, 0, 80,129,127, 0, 60, +/* 0x0fc0 */ 129, 63, 0, 60,129, 41, 0, 8,128, 31, 0, 56,124, 9, 2, 20, +/* 0x0fd0 */ 144, 11, 0, 8,129,127, 0, 60,129, 63, 0, 60,129, 41, 0, 12, +/* 0x0fe0 */ 128, 31, 0, 56,124, 9, 2, 20,144, 11, 0, 12,129, 63, 0, 60, +/* 0x0ff0 */ 56, 9, 0, 32,144, 31, 0, 60,129, 63, 0, 68, 56, 9, 0, 1, +/* 0x1000 */ 144, 31, 0, 68, 75,255,255,160, 56, 31, 0, 48, 57, 63, 0, 56, +/* 0x1010 */ 128,127, 0, 24,128,159, 0, 16,124, 5, 3,120,128,223, 0, 20, +/* 0x1020 */ 125, 39, 75,120,129, 31, 0, 28, 75,255,250, 53,124, 96, 27,120, +/* 0x1030 */ 144, 31, 0, 68,128,127, 0, 20, 56,128, 0, 9,128,191, 0, 68, +/* 0x1040 */ 75,255,247,237, 56, 0, 0, 0,144, 31, 0, 72,129, 63, 0, 16, +/* 0x1050 */ 56, 9, 0, 52,144, 31, 0, 60,129, 63, 0, 16,160, 9, 0, 44, +/* 0x1060 */ 84, 9, 4, 62,128, 31, 0, 72,127,137, 0, 0, 64,157, 0,208, +/* 0x1070 */ 129, 63, 0, 60,128, 9, 0, 0, 47,128, 0, 3, 64,158, 0,164, +/* 0x1080 */ 129, 63, 0, 60,129, 41, 0, 8,128, 31, 0, 56,124, 9, 2, 20, +/* 0x1090 */ 124, 3, 3,120, 56,128, 0, 0, 56,160, 0, 0, 75,255,242, 25, +/* 0x10a0 */ 124, 96, 27,120,144, 31, 0, 76,128, 31, 0, 76, 47,128, 0, 0, +/* 0x10b0 */ 64,156, 0, 8, 72, 0, 0, 32,128,127, 0, 76,128,159, 0, 16, +/* 0x10c0 */ 56,160, 2, 0, 75,255,241,233,124, 96, 27,120, 47,128, 2, 0, +/* 0x10d0 */ 65,158, 0, 12, 56, 96, 0,127, 75,255,241,189, 56, 31, 0, 56, +/* 0x10e0 */ 128,127, 0, 76,128,159, 0, 16, 56,160, 0, 0,128,223, 0, 20, +/* 0x10f0 */ 124, 7, 3,120, 57, 0, 0, 0, 75,255,249,101,124, 96, 27,120, +/* 0x1100 */ 144, 31, 0, 68,128,127, 0, 20, 56,128, 0, 7,128,191, 0, 56, +/* 0x1110 */ 75,255,247, 29,128,127, 0, 76, 75,255,241,165, 72, 0, 0, 32, +/* 0x1120 */ 129, 63, 0, 60, 56, 9, 0, 32,144, 31, 0, 60,129, 63, 0, 72, +/* 0x1130 */ 56, 9, 0, 1,144, 31, 0, 72, 75,255,255, 32,128, 31, 0, 68, +/* 0x1140 */ 124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166, +/* 0x1150 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32 }; diff --git a/src/stub/src/i386-linux.elf-main.c b/src/stub/src/i386-linux.elf-main.c index 4895b031..4add15e7 100644 --- a/src/stub/src/i386-linux.elf-main.c +++ b/src/stub/src/i386-linux.elf-main.c @@ -35,7 +35,7 @@ #include "include/linux.h" void *mmap(void *, size_t, int, int, int, off_t); -#if defined(__i386__) || defined(__mips__) //{ +#if defined(__i386__) || defined(__mips__) || defined(__powerpc__) //{ # define mmap_privanon(addr,len,prot,flgs) mmap((addr),(len),(prot), \ MAP_PRIVATE|MAP_ANONYMOUS|(flgs),-1,0) #else //}{ @@ -90,9 +90,9 @@ ssize_t write(int, void const *, size_t); #elif defined(__mips__) /*}{*/ #define DPRINTF(fmt, args...) ({ \ char const *r_fmt; \ - asm(".set noreorder; bal 0f; move %0,$31; .set reorder; \ + asm(".set noreorder; bal L%=j; move %0,$31; .set reorder; \ .asciz \"" fmt "\"; .balign 4; \ - 0: " \ + L%=j: " \ /*out*/ : "=r"(r_fmt) \ /* in*/ : \ /*und*/ : "ra"); \ @@ -251,17 +251,22 @@ xread(Extent *x, char *buf, size_t count) // util **************************************************************************/ -#if 0 //{ save space +#if !DEBUG //{ save space #define ERR_LAB error: exit(127); #define err_exit(a) goto error #else //}{ save debugging time #define ERR_LAB /*empty*/ +extern void my_bkpt(int, ...); + static void __attribute__ ((__noreturn__)) err_exit(int a) { DPRINTF("err_exit %%x\\n", a); (void)a; // debugging convenience +#if defined(__powerpc__) //{ + my_bkpt(a); +#endif //} exit(127); } #endif //} @@ -292,12 +297,12 @@ static void unpackExtent( Extent *const xi, // input Extent *const xo, // output - f_expand *const f_decompress, + f_expand *const f_exp, f_unfilter *f_unf ) { DPRINTF("unpackExtent in=%%p(%%x %%p) out=%%p(%%x %%p) %%p %%p\\n", - xi, xi->size, xi->buf, xo, xo->size, xo->buf, f_decompress, f_unf); + xi, xi->size, xi->buf, xo, xo->size, xo->buf, f_exp, f_unf); while (xo->size) { struct b_info h; // Note: if h.sz_unc == h.sz_cpr then the block was not @@ -328,8 +333,14 @@ ERR_LAB if (h.sz_cpr < h.sz_unc) { // Decompress block nrv_uint out_len = h.sz_unc; // EOF for lzma - int const j = (*f_decompress)((unsigned char *)xi->buf, h.sz_cpr, - (unsigned char *)xo->buf, &out_len, *(int *)(void *)&h.b_method ); + int const j = (*f_exp)((unsigned char *)xi->buf, h.sz_cpr, + (unsigned char *)xo->buf, &out_len, +#if defined(__i386__) //{ + *(int *)(void *)&h.b_method +#else + h.b_method +#endif + ); if (j != 0 || out_len != (nrv_uint)h.sz_unc) err_exit(7); // Skip Ehdr+Phdrs: separate 1st block, not filtered @@ -453,6 +464,34 @@ make_hatch_mips( } return hatch; } +#elif defined(__powerpc__) /*}{*/ +static void * +make_hatch_ppc32( + Elf32_Phdr const *const phdr, + unsigned const reloc, + unsigned const frag_mask) +{ + unsigned *hatch = 0; + DPRINTF("make_hatch %%p %%x %%x\\n",phdr,reloc,frag_mask); + if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) { + // Try page fragmentation just beyond .text . + if ( ( (hatch = (void *)(phdr->p_memsz + phdr->p_vaddr + reloc)), + ( phdr->p_memsz==phdr->p_filesz // don't pollute potential .bss + && (2*4)<=(frag_mask & -(int)hatch) ) ) // space left on page + // Try Elf32_Ehdr.e_ident[8..15] . warning: 'const' cast away + || ( (hatch = (void *)(&((Elf32_Ehdr *)phdr->p_vaddr + reloc)->e_ident[8])), + (phdr->p_offset==0) ) + ) + { + hatch[0]= 0x44000002; // sc + hatch[1]= 0x4e800020; // blr + } + else { + hatch = 0; + } + } + return hatch; +} #endif /*}*/ static void @@ -522,6 +561,21 @@ auxv_up(Elf32_auxv_t *av, unsigned const type, unsigned const value) ) >> ((pf & (PF_R|PF_W|PF_X))<<2) )) +#if defined(__powerpc__) //{ +extern +size_t get_page_mask(void); // variable page size AT_PAGESZ; see *-fold.S +#elif defined(__mips__) //}{ +size_t get_page_mask(void) // FIXME: need to re-write at runtime +{ + asm(" li $2,0 - 0x1000; \ + jr $31; \ + sll $2,$2,9"); + return 0; // FIXME +} +#else //}{ // FIXME for __mips__ +size_t get_page_mask(void) { return PAGE_MASK; } // compile-time constant +#endif //} + // Find convex hull of PT_LOAD (the minimal interval which covers all PT_LOAD), // and mmap that much, to be sure that a kernel using exec-shield-randomize // won't place the first piece in a way that leaves no room for the rest. @@ -531,13 +585,14 @@ __attribute__((regparm(3), stdcall)) #endif /*}*/ xfind_pages(unsigned mflags, Elf32_Phdr const *phdr, int phnum, char **const p_brk -#if defined(__mips__) /*{ any machine with varying PAGE_SIZE */ - , unsigned const page_mask -#else /*}{*/ -#define page_mask PAGE_MASK -#endif /*}*/ +#if defined (__mips__) //{ + , size_t const page_mask +#endif //} ) { +#if !defined(__mips__) //{ + size_t const page_mask = get_page_mask(); +#endif //} size_t lo= ~0, hi= 0, szlo= 0; char *addr; DPRINTF("xfind_pages %%x %%p %%d %%p\\n", mflags, phdr, phnum, p_brk); @@ -581,29 +636,27 @@ xfind_pages(unsigned mflags, Elf32_Phdr const *phdr, int phnum, static Elf32_Addr // entry address do_xmap(int const fdi, Elf32_Ehdr const *const ehdr, Extent *const xi, - Elf32_auxv_t *const av, unsigned *const p_reloc, f_unfilter *const f_unf) + Elf32_auxv_t *const av, unsigned *const p_reloc, f_unfilter *const f_unf +#if defined(__mips__) //{ + , size_t const page_mask +#endif //} +) { +#if defined(__mips__) //{ + unsigned const frag_mask = ~page_mask; +#else //}{ + unsigned const frag_mask = ~get_page_mask(); +#endif //} Elf32_Phdr const *phdr = (Elf32_Phdr const *) (ehdr->e_phoff + (void const *)ehdr); -#if defined(__mips__) /*{ any machine with varying PAGE_SIZE */ - unsigned frag_mask = ~PAGE_MASK; - { - Elf32_auxv_t const *const av_pgsz = auxv_find(av, AT_PAGESZ); - if (av_pgsz) { - frag_mask = av_pgsz->a_un.a_val -1; - } - } -#else /*}{*/ - unsigned const frag_mask = ~PAGE_MASK; -#endif /*}*/ char *v_brk; unsigned const reloc = xfind_pages(((ET_EXEC==ehdr->e_type) ? MAP_FIXED : 0), phdr, ehdr->e_phnum, &v_brk -#if defined(__mips__) /*{ any machine with varying PAGE_SIZE */ - , ~frag_mask -#endif /*}*/ - ); +#if defined(__mips__) //{ + , page_mask +#endif //} + ); DPRINTF("do_xmap fdi=%%x ehdr=%%p xi=%%p(%%x %%p) av=%%p reloc=%%p/%%p f_unf=%%p\\n", fdi, ehdr, xi, (xi? xi->size: 0), (xi? xi->buf: 0), av, p_reloc, *p_reloc, f_unf); @@ -675,6 +728,11 @@ do_xmap(int const fdi, Elf32_Ehdr const *const ehdr, Extent *const xi, if (0!=hatch) { auxv_up(av, AT_NULL, (unsigned)hatch); } +#elif defined(__powerpc__) /*}{*/ + void *const hatch = make_hatch_ppc32(phdr, reloc, frag_mask); + if (0!=hatch) { + auxv_up(av, AT_NULL, (unsigned)hatch); + } #endif /*}*/ if (0!=mprotect(addr, mlen, prot)) { err_exit(10); @@ -732,22 +790,47 @@ void *upx_main( // returns entry address size_t const sz_compressed, // total length Elf32_Ehdr *const ehdr, // temp char[sz_ehdr] for decompressing Elf32_auxv_t *const av, - f_expand *const f_decompress, - f_unfilter *const f_unf + f_expand *const f_exp, + f_unfilter *const f_unf, + size_t page_mask ) __asm__("upx_main"); void *upx_main( // returns entry address struct b_info const *const bi, // 1st block header size_t const sz_compressed, // total length Elf32_Ehdr *const ehdr, // temp char[sz_ehdr] for decompressing Elf32_auxv_t *const av, - f_expand *const f_decompress, - f_unfilter *const f_unf + f_expand *const f_exp, + f_unfilter *const f_unf, + size_t page_mask ) -#else /*}{ !__mips__ */ + +#elif defined(__powerpc__) //}{ +// entry= upx_main(b_info *a0, total_size a1, Elf32_Ehdr *a2, +// f_exp a3, f_unf a4, Elf32_auxv_t *a5, dynbase a6) +void *upx_main( // returns entry address + struct b_info const *const bi, // 1st block header + size_t const sz_compressed, // total length + Elf32_Ehdr *const ehdr, // temp char[sz_ehdr] for decompressing + Elf32_auxv_t *const av, + f_expand *const f_exp, + f_unfilter *const f_unf, + unsigned dynbase +) __asm__("upx_main"); +void *upx_main( // returns entry address + struct b_info const *const bi, // 1st block header + size_t const sz_compressed, // total length + Elf32_Ehdr *const ehdr, // temp char[sz_ehdr] for decompressing + Elf32_auxv_t *const av, + f_expand *const f_exp, + f_unfilter *const f_unf, + unsigned dynbase +) + +#else /*}{ !__mips__ && !__powerpc__ */ void *upx_main( Elf32_auxv_t *const av, unsigned const sz_compressed, - f_expand *const f_decompress, + f_expand *const f_exp, f_unfilter * /*const*/ f_unfilter, Extent xo, Extent xi, @@ -756,7 +839,7 @@ void *upx_main( void *upx_main( Elf32_auxv_t *const av, unsigned const sz_compressed, - f_expand *const f_decompress, + f_expand *const f_exp, f_unfilter * /*const*/ f_unf, Extent xo, // {sz_unc, ehdr} for ELF headers Extent xi, // {sz_cpr, &b_info} for ELF headers @@ -764,44 +847,46 @@ void *upx_main( ) #endif /*}*/ { -#if !defined(__mips__) /*{*/ +#if defined(__i386__) //{ + f_unf = (0xeb != *(unsigned char *)f_exp) // 2-byte jmp around unfilter + ? 0 + : (f_unfilter *)(2+ (long)f_exp); +#endif //} + +#if !defined(__mips__) && !defined(__powerpc__) /*{*/ Elf32_Ehdr *const ehdr = (Elf32_Ehdr *)(void *)xo.buf; // temp char[MAX_ELF_HDR+OVERHEAD] + // sizeof(Ehdr+Phdrs), compressed; including b_info header + size_t const sz_first = xi.size; #endif /*}*/ +#if defined(__powerpc__) //{ + size_t const sz_first = sizeof(*bi) + bi->sz_cpr; + Extent xo, xi; + xo.buf = (char *)ehdr; xo.size = bi->sz_unc; + xi.buf = CONST_CAST(char *, bi); xi.size = sz_compressed; +#endif //} + #if defined(__mips__) /*{*/ - unsigned dynbase = 0; + unsigned const dynbase = 0; // FIXME Extent xo, xi, xj; - xo.buf = (char *)ehdr; - xo.size = bi->sz_unc; + xo.buf = (char *)ehdr; xo.size = bi->sz_unc; xi.buf = CONST_CAST(char *, bi); xi.size = sz_compressed; xj.buf = CONST_CAST(char *, bi); xj.size = sz_compressed; - - DPRINTF("upx_main av=%%p szc=%%x f_dec=%%p f_unf=%%p " - " xo=%%p(%%x %%p) xi=%%p(%%x %%p) dynbase=%%x\\n", - av, sz_compressed, f_decompress, f_unf, &xo, xo.size, xo.buf, - &xi, xi.size, xi.buf, dynbase); - - // ehdr = Uncompress Ehdr and Phdrs - unpackExtent(&xj, &xo, f_decompress, 0); // never filtered? - -#else //}{ !__mips__ - // sizeof(Ehdr+Phdrs), compressed; including b_info header - size_t const sz_pckhdrs = xi.size; - -#if defined(__i386__) //{ - f_unf = (0xeb != *(unsigned char *)f_decompress) // 2-byte jmp around unfilter - ? 0 - : (f_unfilter *)(2+ (long)f_decompress); #endif //} - DPRINTF("upx_main av=%%p szc=%%x f_dec=%%p f_unf=%%p " + + DPRINTF("upx_main av=%%p szc=%%x f_exp=%%p f_unf=%%p " " xo=%%p(%%x %%p) xi=%%p(%%x %%p) dynbase=%%x\\n", - av, sz_compressed, f_decompress, f_unf, &xo, xo.size, xo.buf, + av, sz_compressed, f_exp, f_unf, &xo, xo.size, xo.buf, &xi, xi.size, xi.buf, dynbase); +#if defined(__mips__) //{ + // ehdr = Uncompress Ehdr and Phdrs + unpackExtent(&xj, &xo, f_exp, 0); +#else //}{ !defined(__mips__) // Uncompress Ehdr and Phdrs. - unpackExtent(&xi, &xo, f_decompress, 0); + unpackExtent(&xi, &xo, f_exp, 0); // Prepare to decompress the Elf headers again, into the first PT_LOAD. - xi.buf -= sz_pckhdrs; + xi.buf -= sz_first; xi.size = sz_compressed; #endif // !__mips__ } @@ -827,7 +912,11 @@ void *upx_main( } // De-compress Ehdr again into actual position, then de-compress the rest. - Elf32_Addr entry = do_xmap((int)f_decompress, ehdr, &xi, av, &reloc, f_unf); + Elf32_Addr entry = do_xmap((int)f_exp, ehdr, &xi, av, &reloc, f_unf +#if defined(__mips__) //{ + , page_mask +#endif + ); DPRINTF("upx_main2 entry=%%p reloc=%%p\\n", entry, reloc); auxv_up(av, AT_ENTRY , entry); @@ -843,7 +932,11 @@ void *upx_main( ERR_LAB err_exit(19); } - entry = do_xmap(fdi, ehdr, 0, av, &reloc, 0); + entry = do_xmap(fdi, ehdr, 0, av, &reloc, 0 +#if defined(__mips__) //{ + , page_mask +#endif //} + ); auxv_up(av, AT_BASE, reloc); // uClibc and musl close(fdi); break; diff --git a/src/stub/src/powerpc-linux.elf-entry.S b/src/stub/src/powerpc-linux.elf-entry.S index 0233bfee..e1e18922 100644 --- a/src/stub/src/powerpc-linux.elf-entry.S +++ b/src/stub/src/powerpc-linux.elf-entry.S @@ -38,6 +38,13 @@ sz_b_info= 12 sz_cpr= 4 b_method= 8 +szElf32_Ehdr= 13*4 +p_memsz= 5*4 + +e_type= 16 + ET_EXEC= 2 + ET_DYN= 3 + PROT_READ= 1 PROT_WRITE= 2 PROT_EXEC= 4 @@ -57,10 +64,13 @@ __NR_write = 4 __NR_exit = 1 __NR_mmap = 90 __NR_munmap = 91 +__NR_mprotect = 125 section ELFMAINX +sz_pack2= -4+ _start _start: .globl _start - call main // must be exactly 1 instruction; link_register= &decompress + call main // link_register= &f_exp (&decompress) +f_exp: /* Returns 0 on success; non-zero on failure. */ decompress: // (uchar const *src, size_t lsrc, uchar *dst, size_t &ldst, uint method) @@ -147,77 +157,119 @@ die: li a0,127 li 0,__NR_exit; sc -zfind: - lwz r0,0(a0); addi a0,a0,4 - cmpi cr7,r0,0; bne+ cr7,zfind - ret +r_exp= 31 +r_PMASK= 30 +r_ADRU= 29 +r_LENU= 28 +r_BINFO= 27 +r_auxv= 26 +r_slide= 25 +r_FLD= 24 +r_ADRM= 23 +r_LENM= 22 /* Decompress the rest of this loader, and jump to it. */ unfold: - mflr r30 // LrUNF - lwz r24,-2*4(r31) // sz_pack2 - lwz r26,LOBINFO - LrUNF(r30) // O_BINFO - lwz r23,LLENU - LrUNF(r30) - addi r24,r24,2*4 - sub r24,r31,r24 // ADRU + mflr r_FLD // LrFLD + la r_ADRU,sz_pack2 - f_exp(r_exp) // &sz_pack2 + lwz r0,0(r_ADRU) // sz_pack2 + lwz r_BINFO,LOBINFO - LrFLD(r_FLD) // O_BINFO + sub r_ADRU,r_ADRU,r0 // ADRU == &Elf32_Ehdr of stub - la a0,SZ_FRAME+32*4(sp) - call zfind // a0= envp - call zfind // a0= &Elf32_auxv - mr r28,a0 // save for folded code + lhz r0,e_type(r_ADRU) + cmplwi r0,ET_DYN; beq pie -// set a1= actual page size in Elf32_auxv_t -AT_NULL= 0 // -AT_PAGESZ= 6 -a_type= 0 -a_val= 4 -sz_auxv= 2*4 -1: - lwz r0,a_type(a0) - lwz a1,a_val(a0); addi a0,a0,sz_auxv - cmpi cr0,r0,AT_PAGESZ; beq- 2f - cmpi cr0,r0,AT_NULL; bne+ 1b - li a1,PAGE_SIZE // not found; use default -2: - mr r27,a1 // save for folded code +// section ELF_EXEC // ET_EXEC; addresses do not change + lwz r_LENU,p_memsz + szElf32_Ehdr(r_ADRU) // PT_LOAD[0 {.text}].p_memsz + li a5,0 // off_t + sub r_LENU,r_LENU,r_PMASK // begin round_up(PAGE_SIZE, r_LENU) + li a4,-1 // fd; cater to *BSD for MAP_ANON + addi r_LENU,r_LENU,-1 + li a3,MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED + and r_LENU,r_LENU,r_PMASK + li a2,PROT_READ | PROT_WRITE + lwz a1,sz_unc + LBINFO - LrFLD(r_FLD) // space to unfold fold_begin + add a0,r_ADRU,r_LENU // append to this stub + add r_LENU,r_LENU,a1 // unmap more, eventually + mr t4,a0 // save address being allocated + li r0,__NR_mmap; sc; cmpl cr0,t4,a0; bne msg_SELinux + li r_slide,0 + + b fold + +// section ELF_DYN // -pie ET_DYN; stub is where user code will be +pie: +// Allocate and copy stub (and fold_begin) to adjacent lower pages. +// VDSO might also intrude; move down to avoid it. +AT_SYSINFO= 32 // VDSO table +AT_SYSINFO_EHDR= 33 // Elf32_Ehdr for VDSO + mr r_slide,r_ADRU // dynbase + lwz r_LENM,p_memsz + szElf32_Ehdr(r_ADRU) // PT_LOAD[0 {.text}].p_memsz + lwz r0,sz_unc + LBINFO - LrFLD(r_FLD) + add r_LENU,r0,r_LENM + + mr a1,r_LENU // total size needed + sub r_ADRM,r_ADRU,a1 // below this stub + and r_ADRM,r_ADRM,r_PMASK // lower to page boundary + mr a0,r_auxv +0: + lwz a3,a_type(a0); lwz a5,a_val(a0); la a0,sz_auxv(a0) + cmpli cr7,a3,AT_NULL; beq- cr7,5f // end of auxv + subi a3,a3,AT_SYSINFO + cmpli cr7,a3,AT_SYSINFO_EHDR - AT_SYSINFO; bgt+ cr7,0b + sub a3,a5,r_ADRM // offset + cmplw cr7,a3,a1; bge+ cr7,0b // no conflict + sub a3,a3,a1 // alas, non-CMP cr0 is signed + add r_ADRM,r_ADRM,a3 // move down + and r_ADRM,r_ADRM,r_PMASK // to page boundary + b 0b +5: + mr a0,r_ADRM // desired address li a5,0 // off_t li a4,-1 // fd; cater to *BSD for MAP_ANON - li a3,MAP_PRIVATE | MAP_ANONYMOUS - li a2,PROT_READ | PROT_WRITE | PROT_EXEC // 'fold' will execute here - lwz a1,LLENM - LrUNF(r30) -li a1,2*4096 // FIXME: .sz_unc - lwz a0,LADRM - LrUNF(r30) - li r0,__NR_mmap - mr t4,a0 // save address being allocated - sc - cmpl cr0,t4,a0; bne msg_SELinux - lwz r0,LLENM - LrUNF(r30) - li r22,0 // slide= 0 - cmpl cr0,r0,r27; ble L80 // only 1 page; no move required + li a3,MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED + li a2,PROT_READ | PROT_WRITE + li r0,__NR_mmap; sc; cmpl cr0,a0,r_ADRM; bne msg_SELinux - sub r22,a0,r24 // (ADRM - ADRU) == relocation amount - add r31,r31,r22 // update &decompress - add r24,r24,r22 // update ADRU - addi r0,r0,7 // roundup (8, ) - addi a1,a1,-4 // prepare for lwu - srwi r0,r0,3 // number of 8-byte chunks + sub r0,r_ADRM,r_ADRU // (ADRM - ADRU) == relocation amount + add r_exp,r_exp,r0 // relocate &f_exp + + mr a3,r_LENM // length to move + addi a3,a3,7 // roundup (8, ) + addi a1,r_ADRU,-4 // prepare for lwu + srwi a3,a3,3 // number of 8-byte chunks addi a0,a0,-4 // prepare for stwu - mtctr r0 + mtctr a3 0: - lwz t1,4(a1); lwzu t2,2*4(a1) - stw t1,4(a0); stwu t2,2*4(a0); bdnz 0b -L80: - mtctr r31 // &decompress - lwz r0,sz_unc + LBINFO - LrUNF(r30) - lbz meth,b_method + LBINFO - LrUNF(r30) + lwz a2,4(a1); lwzu a3,2*4(a1) + stw a2,4(a0); stwu a3,2*4(a0); bdnz 0b + mr r_ADRU,r_ADRM // relocate + +// section ELFufold +fold: + mr dst,a0 // fold_begin.unc + mr r23,a0 + mtctr r_exp // &decompress + lwz r0,sz_unc + LBINFO - LrFLD(r_FLD) + lbz meth,b_method + LBINFO - LrFLD(r_FLD) la ldst,SZ_FRAME+31*4(sp) // &slot on stack stw r0,SZ_FRAME+31*4(sp) // lzma uses for EOF - mr dst,t4 - mtlr t4 // &continuation at unfolded code - lwz lsrc,sz_cpr + LBINFO - LrUNF(r30) - la src,sz_b_info + LBINFO - LrUNF(r30) - bctr // goto decompress; continue at unfolded code on mmap'ed page + lwz lsrc,sz_cpr + LBINFO - LrFLD(r_FLD) + la src,sz_b_info + LBINFO - LrFLD(r_FLD) + bctrl // decompress it + + srwi r0,r_PMASK,9 + sth r0,2(r23) // get_page_mask: li r3,PAGE_MASK>>9; 2: BIG_ENDIAN + + li a2,PROT_EXEC | PROT_READ + mr a1,r_LENU // length + mr a0,r_ADRU // base + li r0,__NR_mprotect; sc + + addi r0,r23,4*4 // jmp over get_page_mask() + mtctr r0 + bctr // Example code at entrypoint of C-language subroutine: // mflr r0 # r0= return address @@ -231,13 +283,37 @@ L80: // addi sp,sp,96 # de-allocate local frame // blr # goto return address +zfind: + lwz r0,0(a0); addi a0,a0,4 + cmpi cr7,r0,0; bne+ cr7,zfind + ret + main: -//// teq r0,r0 // debugging - stwu r1,-(SZ_FRAME+32*4)(sp) // allocate space (keeping 0 mod 16), save r1 + stwu r1,-(SZ_FRAME+32*4)(sp) // allocate space (keeping 0 mod 16), chain r1 stmw r2, SZ_FRAME+2*4-4(sp) // save registers r2 thru r31 - mflr r31 // &decompress + mflr r_exp // &f_exp (decompress) + + la a0,SZ_FRAME+32*4(sp) + call zfind // a0= envp + call zfind // a0= &Elf32_auxv + mr r_auxv,a0 // save for folded code + +// set r_PMASK by finding actual page size in Elf32_auxv_t +AT_NULL= 0 // +AT_PAGESZ= 6 +a_type= 0 +a_val= 4 +sz_auxv= 2*4 +1: + lwz r0,a_type(a0); lwz a1,a_val(a0); addi a0,a0,sz_auxv + cmpi cr7,r0,AT_PAGESZ; beq- cr7,2f + cmpi cr0,r0,AT_NULL; bne+ cr0,1b + li a1,PAGE_SIZE // not found; use default +2: + neg r_PMASK,a1 // save for folded code + call unfold -LrUNF: +LrFLD: LADRM: .long ADRM LLENM: diff --git a/src/stub/src/powerpc-linux.elf-fold.S b/src/stub/src/powerpc-linux.elf-fold.S index 9feb2524..847ab5d5 100644 --- a/src/stub/src/powerpc-linux.elf-fold.S +++ b/src/stub/src/powerpc-linux.elf-fold.S @@ -57,36 +57,36 @@ OVERHEAD= 2048 // http://refspecs.linuxfoundation.org/elf/elfspec_ppc.pdf p.3-17 (pdf p.33) // SZ_LINKA= (2 + max(0, #params - 8))*4 // (sp,lr, arg9,arg10, ... ) SZ_LINKA= (2 + 2)*4 // (sp,pc, arg9,arg10,... ) and 16-byte aligned - ARG9= 2*4 - ARG10= 3*4 SZ_FRAME= SZ_LINKA -/* In: - r31= &decompress; also 2*4+ (char *)&(#bytes which preceed &-8(r31) - r30= reserved for &this page - r29= reserved for &our_Elf32_Ehdr - r28= &Elf32_auxv_t - r27= actual page size (4K or 64K) - r26= o_binfo +// In: +r_exp= 31 // f_exp == &decompress() +r_PMASK= 30 // PAGE_MASK +r_ADRU= 29 // &base to unmap +r_LENU= 28 // length to unmap +r_BINFO= 27 +r_auxv= 26 +r_slide= 25 +//r_FLD= 24 +//r_ADRM= 23 +//r_LENM= 22 - r24= ADRU - r23= LENU - r22= slide +// r29= reserved for &our_Elf32_Ehdr - r21= &f_unf -*/ -#define av_lo r28 -#define adru r24 -#define lenu r23 - -#define r_fd r20 -#define av_hi r19 -#define av_len r18 -#define cblk r17 -#define pag r16 +r_unf= 21 // f_unf == &unfilter() +r_fd= 20 +av_hi= 19 +av_len= 18 +cblk= 17 +pag= 16 fold_begin: -//// teq r0,r0 // debugging +get_page_mask: .globl get_page_mask + li r3,0 -0x1000>>9 // modified by elf-entry.S + slwi r3,r3,9 + blr + nop + call L90 L90b: #include "arch/powerpc/32/bxx.S" @@ -94,20 +94,20 @@ L90a: .asciz " =/proc/self/exe" .balign 4 L90: - mflr r21 // L90b = &ppcbxx: f_unfilter + mflr r_unf // L90b = &ppcbxx: f_unfilter // open /proc/self/exe li a1,O_RDONLY - la a0,4+ L90a - L90b(r21) // "/proc/self/exe" + la a0,4+ L90a - L90b(r_unf) // "/proc/self/exe" call open; movr r_fd,a0 // slide {<>,argc,argv,0,env,0,auxv} down with maximum room before strings la a1,-4(sp) // src ready for lwzu la sp,-(4+ PATH_MAX)(sp) la a0,-4(sp) // dst ready for stwu - la av_lo,-4(av_lo) // &end ready for lwzu + la r_auxv,-4(r_auxv) // &end ready for lwzu 0: // copy upto auxv - lwzu r0,4(a1); cmplw cr7,a1,av_lo + lwzu r0,4(a1); cmplw cr7,a1,r_auxv stwu r0,4(a0); blt cr7,0b - la av_lo,8(a0) // new &auxv + la r_auxv,8(a0) // new &auxv stwu r0,4(a0) // new env_terminator 0: // copy auxv lwz r0,4(a1); cmpli cr7,r0,AT_NULL @@ -115,19 +115,19 @@ L90: lwzu r0,2*4(a1) stwu r0,2*4(a0); bne cr7,0b la av_hi,4(a0) // tmp end of auxv - subf av_len,av_lo,av_hi // length of auxv + subf av_len,r_auxv,av_hi // length of auxv - lwz r0,L90a - L90b(r21) // " =" + lwz r0,L90a - L90b(r_unf) // " =" la cblk,4(a1) // original &strings stwu r0,4(a0) la r14,4(a0) // buffer // readlink("/proc/self/exe", buffer, -1+ PATH_MAX) li a2,-1+ PATH_MAX movr a1,r14 // buffer - la a0,4+ L90a - L90b(r21) // "/proc/self/exe" + la a0,4+ L90a - L90b(r_unf) // "/proc/self/exe" call readlink; la a2,-4(r14) // a0= len; a2= buffer cmpwi a0,0; bgt 0f // success - la a2,L90a - L90b(r21) // " =/proc/self/exe" + la a2,L90a - L90b(r_unf) // " =/proc/self/exe" li a0,L90 - (4+ L90a) // round_up(4, strlen("/proc/self/exe")) 0: addi a0,a0,4 // len += strlen(" ="); @@ -139,7 +139,7 @@ L90: 0: // slide path up lbzu r0,-1(a1) stbu r0,-1(a0); bdnz 0b - stw a0,-2*4(av_lo) // &" =<>" for env + stw a0,-2*4(r_auxv) // &" =<>" for env clrrwi a0,a0,2 // word align xor r0,sp,a1 // parity of length @@ -149,60 +149,62 @@ L90: // slide the rest of the stack up movr a1,av_hi - sub av_lo,a0,av_len + sub r_auxv,a0,av_len 0: lwzu r0,-4(a1); cmpl cr7,a1,sp stwu r0,-4(a0); bgt+ cr7,0b movr sp,a0 - li r0,0 -r_reloc= 32 - 1 # use a slot in register save area - la a7,SZ_FRAME+r_reloc*4(sp) // &reloc - stw r22,0(a7) // reloc === slide - sub r0,r0,r27 // -pagesize == pagemask - mr a7,r27 // pagesize - mr a6,av_lo // &Elf32_auxv_t - mr a5,r21 // &f_unf - and r30,a5,r0 // r30= &this_page - mr a4,r31 // &decompress: f_expand - stwu sp,-(SZ_FRAME+OVERHEAD)(sp) // allocate this frame - lwz a1,-2*4(r31) // sz_pack2 == #bytes which preceed -2*4(r31) - subf r29,a1,r31 // 2*4+ (char *)&our_Elf32_Ehdr - addi r29,r29,-2*4 // &our_Elf32_Ehdr - stw r29,ARG9(sp) // reloc + lwz a1,-2*4(r_exp) // sz_pack2 == #bytes which preceed -2*4(r_exp) - add a0,r29,r26 // &b_info - sub a1,a1,r26 // total_size + add a0,r_ADRU,r_BINFO // &b_info + sub a1,a1,r_BINFO // total_size la a2,SZ_FRAME(sp) // &Elf32_Ehdr temporary space - lwz a3,sz_unc(a0) // sz_elf_headers - + mr a3,r_auxv // &Elf32_auxv_t + mr a4,r_exp // &decompress: f_expand + mr a5,r_unf // &f_unf + mr a6,r_slide // reloc; slide; dynbase call upx_main // Out: a0= entry -// entry= upx_main(b_info *a0, total_size a1, Elf32_Ehdr *a2, sz_ehdr a3, -// f_exp a4, f_unf a5, Elf32_auxv_t *a6, page_size a7, reloc ARG9) - la sp,SZ_FRAME+OVERHEAD(sp) // deallocate this frame - mr r31,a0 // save &entry +// entry= upx_main(b_info *a0, total_size a1, Elf32_Ehdr *a2, ELf32_auxv_t *a3, +// f_exp a4, f_unf a5, dynbase a6) -// map the first page of /proc/self/exe + la sp,SZ_FRAME+OVERHEAD(sp) // deallocate this frame + mr r_exp,a0 // save &entry + +// first page of /proc/self/exe, to preserve it despite munmap(ADRU, LENU) li a5,0 // offset movr a4,r_fd li a3,MAP_PRIVATE li a2,PROT_READ - movr a1,r27 // PAGE_SIZE + neg a1,r_PMASK // PAGE_SIZE li a0,0 // kernel chooses where call mmap // close /proc/self/exe movr a0,r_fd call close - movr a0,adru - movr a1,lenu - call munmap // unmap compressed program; /proc/self/exe disappears +AT_NULL= 0 // +a_type= 0 +a_val= 4 +sz_auxv= 2*4 - mtlr r31 // entry address - lmw r2,SZ_FRAME+2*4-4(sp) // restore registers r2 thru r31 +// find the escape hatch in auxv[{AT_NULL}].a_val + mr a0,r_auxv +0: + lwz r0,a_type(a0); lwz a1,a_val(a0); addi a0,a0,sz_auxv + cmpli cr7,r0,AT_NULL; bne+ cr7,0b + mtctr a1 // escape hatch + + mr a0,r_ADRU + mr a1,r_LENU + li r0,SYS_munmap + mtlr r_exp // entry address + + lmw a2,SZ_FRAME+(a2 - r2 + 2)*4 - 4(sp) // restore registers a2 thru r31 la sp, SZ_FRAME+32*4(sp) // deallocate outer frame - ret // enter /lib/ld.so.1 + + bctr SYS_exit= 1 SYS_fork= 2 @@ -230,6 +232,8 @@ exit: .globl exit li r0,SYS_exit; b 5f readlink: .globl readlink li r0,SYS_readlink; 5: b 5f +write: .globl write + li r0,SYS_write; 5: b 5f read: .globl read li r0,SYS_read; 5: b 5f open: .globl open @@ -243,4 +247,7 @@ munmap: .globl munmap brk: .globl brk li r0,SYS_brk; 5: b sysgo +my_bkpt: .globl my_bkpt + teq r0,r0 + blr /* vim:set ts=8 sw=8 et: */ diff --git a/src/stub/src/powerpc-linux.elf-main.c b/src/stub/src/powerpc-linux.elf-main.c index 32335624..5f0b0433 100644 --- a/src/stub/src/powerpc-linux.elf-main.c +++ b/src/stub/src/powerpc-linux.elf-main.c @@ -1,556 +1 @@ -/* powerpc-linux.elf-main.c -- stub loader for Linux ELF PowerPC32 executable - - This file is part of the UPX executable compressor. - - Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2017 Laszlo Molnar - Copyright (C) 2000-2017 John F. Reiser - 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 - - - John F. Reiser - - */ - - -#include "include/linux.h" -#undef PAGE_MASK -#undef PAGE_SIZE - -#ifndef DEBUG //{ -#define DEBUG 0 -#endif //} - -#if !DEBUG //{ -#define DPRINTF(fmt, args...) /*empty*/ -#else //}{ -// DPRINTF is defined as an expression using "({ ... })" -// so that DPRINTF can be invoked inside an expression, -// and then followed by a comma to ignore the return value. -// The only complication is that percent and backslash -// must be doubled in the format string, because the format -// string is processd twice: once at compile-time by 'asm' -// to produce the assembled value, and once at runtime to use it. -#if defined(__powerpc__) //{ -#define DPRINTF(fmt, args...) ({ \ - char const *r_fmt; \ - asm("bl 0f; .string \"" fmt "\"; .balign 4; 0: mflr %0" \ -/*out*/ : "=r"(r_fmt) \ -/* in*/ : \ -/*und*/ : "lr"); \ - dprintf(r_fmt, args); \ -}) -#elif defined(__x86_64) //}{ -#define DPRINTF(fmt, args...) ({ \ - char const *r_fmt; \ - asm("call 0f; .asciz \"" fmt "\"; 0: pop %0" \ -/*out*/ : "=r"(r_fmt) ); \ - dprintf(r_fmt, args); \ -}) -#elif defined(__AARCH64EL__) //}{ -#define DPRINTF(fmt, args...) ({ \ - char const *r_fmt; \ - asm("bl 0f; .string \"" fmt "\"; .balign 4; 0: mov %0,x30" \ -/*out*/ : "=r"(r_fmt) \ -/* in*/ : \ -/*und*/ : "x30"); \ - dprintf(r_fmt, args); \ -}) -#endif //} - -static int dprintf(char const *fmt, ...); // forward -#endif /*}*/ - -/************************************************************************* -// configuration section -**************************************************************************/ - -// In order to make it much easier to move this code at runtime and execute -// it at an address different from it load address: there must be no -// static data, and no string constants. - -#define MAX_ELF_HDR 512 // Elf32_Ehdr + n*Elf32_Phdr must fit in this - - -/************************************************************************* -// "file" util -**************************************************************************/ - -typedef struct { - size_t size; // must be first to match size[0] uncompressed size - char *buf; -} Extent; - - -static void -xread(Extent *x, char *buf, size_t count) -{ - char *p=x->buf, *q=buf; - size_t j; - DPRINTF("xread %%p(%%x %%p) %%p %%x\\n", x, x->size, x->buf, buf, count); - if (x->size < count) { - exit(127); - } - for (j = count; 0!=j--; ++p, ++q) { - *q = *p; - } - x->buf += count; - x->size -= count; -} - - -/************************************************************************* -// util -**************************************************************************/ - -#if 0 //{ save space -#define ERR_LAB error: exit(127); -#define err_exit(a) goto error -#else //}{ save debugging time -#define ERR_LAB /*empty*/ -static void -err_exit(int a) -{ - DPRINTF("err_exit %%x\\n", a); - (void)a; // debugging convenience - exit(127); -} -#endif //} - -/************************************************************************* -// UPX & NRV stuff -**************************************************************************/ - -typedef void f_unfilter( - nrv_byte *, // also addvalue - nrv_uint, - unsigned cto8, // junk in high 24 bits - unsigned ftid -); -typedef int f_expand( - const nrv_byte *, nrv_uint, - nrv_byte *, nrv_uint *, unsigned ); - -static void -unpackExtent( - Extent *const xi, // input - Extent *const xo, // output - f_expand *const f_decompress, - f_unfilter *f_unf -) -{ - DPRINTF("unpackExtent in=%%p(%%x %%p) out=%%p(%%x %%p) %%p %%p\\n", - xi, xi->size, xi->buf, xo, xo->size, xo->buf, f_decompress, f_unf); - while (xo->size) { - struct b_info h; - // Note: if h.sz_unc == h.sz_cpr then the block was not - // compressible and is stored in its uncompressed form. - - // Read and check block sizes. - xread(xi, (char *)&h, sizeof(h)); - if (h.sz_unc == 0) { // uncompressed size 0 -> EOF - if (h.sz_cpr != UPX_MAGIC_LE32) // h.sz_cpr must be h->magic - err_exit(2); - if (xi->size != 0) // all bytes must be written - err_exit(3); - break; - } - if (h.sz_cpr <= 0) { - err_exit(4); -ERR_LAB - } - if (h.sz_cpr > h.sz_unc - || h.sz_unc > xo->size ) { - DPRINTF("sz_cpr=%%x sz_unc=%%x xo->size=%%x\\n", h.sz_cpr, h.sz_unc, xo->size); - err_exit(5); - } - // Now we have: - // assert(h.sz_cpr <= h.sz_unc); - // assert(h.sz_unc > 0 && h.sz_unc <= blocksize); - // assert(h.sz_cpr > 0 && h.sz_cpr <= blocksize); - - if (h.sz_cpr < h.sz_unc) { // Decompress block - nrv_uint out_len = h.sz_unc; // EOF for lzma - int const j = (*f_decompress)((unsigned char *)xi->buf, h.sz_cpr, - (unsigned char *)xo->buf, &out_len, h.b_method); - if (j != 0 || out_len != (nrv_uint)h.sz_unc) - err_exit(7); - if (h.b_ftid!=0 && f_unf) { // have filter - (*f_unf)((unsigned char *)xo->buf, out_len, h.b_cto8, h.b_ftid); - } - xi->buf += h.sz_cpr; - xi->size -= h.sz_cpr; - } - else { // copy literal block - xread(xi, xo->buf, h.sz_cpr); - } - xo->buf += h.sz_unc; - xo->size -= h.sz_unc; - } -} - -static void -upx_bzero(char *p, size_t len) -{ - if (len) do { - *p++= 0; - } while (--len); -} -#define bzero upx_bzero - - -static void -auxv_up(Elf32_auxv_t *av, unsigned type, unsigned const value) -{ - if (!av) - return; - DPRINTF("\\nauxv_up av=%%p %%d %%p\\n", av, type, value); - for (;; ++av) { - DPRINTF(" %%d %%p\\n", av->a_type, av->a_un.a_val); - if (av->a_type==type || (av->a_type==AT_IGNORE && type!=AT_NULL)) { - av->a_type = type; - av->a_un.a_val = value; - return; - } - } -} - -// The PF_* and PROT_* bits are {1,2,4}; the conversion table fits in 32 bits. -#define REP8(x) \ - ((x)|((x)<<4)|((x)<<8)|((x)<<12)|((x)<<16)|((x)<<20)|((x)<<24)|((x)<<28)) -#define EXP8(y) \ - ((1&(y)) ? 0xf0f0f0f0 : (2&(y)) ? 0xff00ff00 : (4&(y)) ? 0xffff0000 : 0) -#define PF_TO_PROT(pf) \ - ((PROT_READ|PROT_WRITE|PROT_EXEC) & ( \ - ( (REP8(PROT_EXEC ) & EXP8(PF_X)) \ - |(REP8(PROT_READ ) & EXP8(PF_R)) \ - |(REP8(PROT_WRITE) & EXP8(PF_W)) \ - ) >> ((pf & (PF_R|PF_W|PF_X))<<2) )) - - -// Find convex hull of PT_LOAD (the minimal interval which covers all PT_LOAD), -// and mmap that much, to be sure that a kernel using exec-shield-randomize -// won't place the first piece in a way that leaves no room for the rest. -static unsigned long // returns relocation constant -xfind_pages(unsigned mflags, Elf32_Phdr const *phdr, int phnum, - char **const p_brk, unsigned int PAGE_MASK -) -{ - size_t lo= ~0, hi= 0, szlo= 0; - char *addr; - mflags += MAP_PRIVATE | MAP_ANONYMOUS | MAP_DENYWRITE; // '+' can optimize better than '|' - for (; --phnum>=0; ++phdr) if (PT_LOAD==phdr->p_type) { - if (phdr->p_vaddr < lo) { - lo = phdr->p_vaddr; - szlo = phdr->p_filesz; - } - if (hi < (phdr->p_memsz + phdr->p_vaddr)) { - hi = phdr->p_memsz + phdr->p_vaddr; - } - } - szlo += ~PAGE_MASK & lo; // page fragment on lo edge - lo -= ~PAGE_MASK & lo; // round down to page boundary - hi = PAGE_MASK & (hi - lo - PAGE_MASK -1); // page length - szlo = PAGE_MASK & (szlo - PAGE_MASK -1); // page length - addr = mmap((void *)lo, hi, PROT_NONE, mflags, -1, 0); - *p_brk = hi + addr; // the logical value of brk(0) - //mprotect(szlo + addr, hi - szlo, PROT_NONE); // but keep the frames! - return (unsigned long)addr - lo; -} - -static Elf32_Addr // entry address -do_xmap( - Elf32_Ehdr const *const ehdr, - Extent *const xi, - int const fdi, - Elf32_auxv_t *const av, - f_expand *const f_decompress, - f_unfilter *const f_unf, - Elf32_Addr *p_reloc, - unsigned int PAGE_MASK -) -{ - Elf32_Phdr const *phdr = (Elf32_Phdr const *) (ehdr->e_phoff + - (char const *)ehdr); - char *v_brk; - unsigned long const reloc = xfind_pages( - ((ET_DYN!=ehdr->e_type) ? MAP_FIXED : 0), phdr, ehdr->e_phnum, - &v_brk, PAGE_MASK); - DPRINTF("do_xmap reloc=%%p", reloc); - int j; - for (j=0; j < ehdr->e_phnum; ++phdr, ++j) - if (xi && PT_PHDR==phdr->p_type) { - auxv_up(av, AT_PHDR, phdr->p_vaddr + reloc); - } else - if (PT_LOAD==phdr->p_type) { - unsigned const prot = PF_TO_PROT(phdr->p_flags); - Extent xo; - size_t mlen = xo.size = phdr->p_filesz; - char *addr = xo.buf = reloc + (char *)phdr->p_vaddr; - char *haddr = phdr->p_memsz + addr; - size_t frag = (int)addr &~ PAGE_MASK; - mlen += frag; - addr -= frag; - - if (addr != mmap(addr, mlen, prot | (xi ? PROT_WRITE : 0), - MAP_FIXED | MAP_PRIVATE | (xi ? MAP_ANONYMOUS : 0), - (xi ? -1 : fdi), phdr->p_offset - frag) ) { - err_exit(8); - } - if (xi) { - unpackExtent(xi, &xo, f_decompress, f_unf); - } - // Linux does not fixup the low end, so neither do we. - //if (PROT_WRITE & prot) { - // bzero(addr, frag); // fragment at lo end - //} - frag = (-mlen) &~ PAGE_MASK; // distance to next page boundary - if (PROT_WRITE & prot) { - bzero(mlen+addr, frag); // fragment at hi end - } -/* if (xi) { - if (0!=mprotect(addr, mlen, prot)) { - err_exit(10); -ERR_LAB - } - } -*/ - addr += mlen + frag; /* page boundary on hi end */ - if (addr < haddr) { // need pages for .bss - if (addr != mmap(addr, haddr - addr, prot, - MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0 ) ) { - err_exit(9); -ERR_LAB - } - } - } - if (p_reloc) { - *p_reloc = reloc; - } - return ehdr->e_entry + reloc; -} - - -/************************************************************************* -// upx_main - called by our entry code -**************************************************************************/ - -void *upx_main( - struct b_info const *const bi, - size_t const sz_compressed, // total length - Elf32_Ehdr *const ehdr, // temp char[sz_ehdr] for decompressing - size_t const sz_ehdr, - f_expand *const f_decompress, - f_unfilter *const f_unf, - Elf32_auxv_t *const av, - unsigned int page_size, - Elf32_Addr reloc // IN OUT; value result for ET_DYN -) -{ - int const page_mask = -page_size; - if ((page_size != 4096) && (page_size != 65536)) - exit(232); - ACC_UNUSED(sz_ehdr); - - Extent xo, xi1, xi2; - xo.buf = (char *)ehdr; - xo.size = bi->sz_unc; - xi2.buf = CONST_CAST(char *, bi); xi2.size = sz_compressed; - xi1.buf = CONST_CAST(char *, bi); xi1.size = sz_compressed; - - // ehdr = Uncompress Ehdr and Phdrs - unpackExtent(&xi2, &xo, f_decompress, 0); // never filtered? - - DPRINTF("upx_main1 .e_entry=%%p reloc=%%p\\n", ehdr->e_entry, reloc); - // AT_PHDR.a_un.a_val is set again by do_xmap if PT_PHDR is present. - auxv_up(av, AT_PHDR , reloc + ehdr->e_phoff); - auxv_up(av, AT_PHNUM, ehdr->e_phnum); - //auxv_up(av, AT_PHENT , ehdr->e_phentsize); /* this can never change */ - //auxv_up(av, AT_PAGESZ, PAGE_SIZE); /* ld-linux.so.2 does not need this */ - - Elf32_Phdr *phdr = (Elf32_Phdr *)(1+ ehdr); - unsigned const orig_e_type = ehdr->e_type; - if (ET_DYN==orig_e_type /*&& phdr->p_vaddr==0*/) { // -pie /*FIXME: and not pre-linked*/ - // Unpacked must start at same place as packed, so that brk(0) works. - ehdr->e_type = ET_EXEC; - auxv_up(av, AT_ENTRY, ehdr->e_entry += reloc); - unsigned j; - for (j=0; j < ehdr->e_phnum; ++phdr, ++j) { - phdr->p_vaddr += reloc; - phdr->p_paddr += reloc; - } - } - - // De-compress Ehdr again into actual position, then de-compress the rest. - Elf32_Addr entry = do_xmap(ehdr, &xi1, 0, av, f_decompress, f_unf, &reloc, page_mask); - DPRINTF("upx_main2 entry=%%p reloc=%%p\\n", entry, reloc); - if (ET_DYN!=orig_e_type) { - auxv_up(av, AT_ENTRY , entry); - } - - { // Map PT_INTERP program interpreter - phdr = (Elf32_Phdr *)(1+ ehdr); - unsigned j; - for (j=0; j < ehdr->e_phnum; ++phdr, ++j) if (PT_INTERP==phdr->p_type) { - char const *const iname = reloc + (char const *)phdr->p_vaddr; - int const fdi = open(iname, O_RDONLY, 0); - if (0 > fdi) { - err_exit(18); - } - if (MAX_ELF_HDR!=read(fdi, (void *)ehdr, MAX_ELF_HDR)) { -ERR_LAB - err_exit(19); - } - entry = do_xmap(ehdr, 0, fdi, 0, 0, 0, &reloc, page_mask); - auxv_up(av, AT_BASE, reloc); // musl - close(fdi); - } - } - - return (void *)entry; -} - -#if DEBUG //{ - -#if defined(__powerpc__) //{ -#define __NR_write 4 - -ssize_t -write(int fd, void const *ptr, size_t len) -{ - register int sys asm("r0") = __NR_write; - register int a0 asm("r3") = fd; - register void const *a1 asm("r4") = ptr; - register size_t a2 asm("r5") = len; - __asm__ __volatile__("sc" - : "+r"(sys), "+r"(a0), "+r"(a1), "+r"(a2) - : - : "r6", "r7", "r8", "r9", "r10", "r11", "r12", "r13" - ); - return a0; -} -#endif //} - -static int -unsimal(unsigned x, char *ptr, int n) -{ - unsigned m = 10; - while (10 <= (x / m)) m *= 10; - while (10 <= x) { - unsigned d = x / m; - x -= m * d; - m /= 10; - ptr[n++] = '0' + d; - } - ptr[n++] = '0' + x; - return n; -} - -static int -decimal(int x, char *ptr, int n) -{ - if (x < 0) { - x = -x; - ptr[n++] = '-'; - } - return unsimal(x, ptr, n); -} - -static int -heximal(unsigned long x, char *ptr, int n) -{ - unsigned j = -1+ 2*sizeof(unsigned long); - unsigned long m = 0xful << (4 * j); - for (; j; --j, m >>= 4) { // omit leading 0 digits - if (m & x) break; - } - for (; m; --j, m >>= 4) { - unsigned d = 0xf & (x >> (4 * j)); - ptr[n++] = ((10<=d) ? ('a' - 10) : '0') + d; - } - return n; -} - -#define va_arg __builtin_va_arg -#define va_end __builtin_va_end -#define va_list __builtin_va_list -#define va_start __builtin_va_start - -static int -dprintf(char const *fmt, ...) -{ - int n= 0; - char const *literal = 0; // NULL - char buf[24]; // ~0ull == 18446744073709551615 ==> 20 chars - va_list va; va_start(va, fmt); - for (;;) { - char c = *fmt++; - if (!c) { // end of fmt - if (literal) { - goto finish; - } - break; // goto done - } - if ('%'!=c) { - if (!literal) { - literal = fmt; // 1 beyond start of literal - } - continue; - } - // '%' == c - if (literal) { -finish: - n += write(2, -1+ literal, fmt - literal); - literal = 0; // NULL - if (!c) { // fmt already ended - break; // goto done - } - } - switch (c= *fmt++) { // deficiency: does not handle _long_ - default: { // un-implemented conversion - n+= write(2, -1+ fmt, 1); - } break; - case 0: { // fmt ends with "%\0" ==> ignore - goto done; - } break; - case 'u': { - n+= write(2, buf, unsimal(va_arg(va, unsigned), buf, 0)); - } break; - case 'd': { - n+= write(2, buf, decimal(va_arg(va, int), buf, 0)); - } break; - case 'p': { - buf[0] = '0'; - buf[1] = 'x'; - n+= write(2, buf, heximal((unsigned long)va_arg(va, void *), buf, 2)); - } break; - case 'x': { - buf[0] = '0'; - buf[1] = 'x'; - n+= write(2, buf, heximal(va_arg(va, int), buf, 2)); - } break; - } // 'switch' - } -done: - va_end(va); - return n; -} -#endif //} -/* vim:set ts=4 sw=4 et: */ +#include "i386-linux.elf-main.c" diff --git a/src/stub/tmp/arm.v4a-linux.elf-fold.map b/src/stub/tmp/arm.v4a-linux.elf-fold.map index 73bedd55..b10dbd2f 100644 --- a/src/stub/tmp/arm.v4a-linux.elf-fold.map +++ b/src/stub/tmp/arm.v4a-linux.elf-fold.map @@ -9,7 +9,7 @@ Linker script and memory map TARGET(elf32-littlearm) 0x0000000000008080 . = ((0x8000 + SIZEOF_HEADERS) + 0xc) -.text 0x0000000000008080 0xa88 +.text 0x0000000000008080 0xa68 *(.text) .text 0x0000000000008080 0x324 tmp/arm.v4a-linux.elf-fold.o 0x00000000000082e8 munmap @@ -29,17 +29,18 @@ TARGET(elf32-littlearm) 0x0000000000008348 div10 0x00000000000082f0 mprotect 0x00000000000082c0 close - .text 0x00000000000083a4 0x764 tmp/arm.v4a-linux.elf-main.o - 0x0000000000008934 upx_main + .text 0x00000000000083a4 0x744 tmp/arm.v4a-linux.elf-main.o + 0x00000000000083c4 get_page_mask + 0x0000000000008918 upx_main *(.data) - .data 0x0000000000008b08 0x0 tmp/arm.v4a-linux.elf-fold.o - .data 0x0000000000008b08 0x0 tmp/arm.v4a-linux.elf-main.o + .data 0x0000000000008ae8 0x0 tmp/arm.v4a-linux.elf-fold.o + .data 0x0000000000008ae8 0x0 tmp/arm.v4a-linux.elf-main.o .data -.bss 0x0000000000008b08 0x0 - .bss 0x0000000000008b08 0x0 tmp/arm.v4a-linux.elf-fold.o - .bss 0x0000000000008b08 0x0 tmp/arm.v4a-linux.elf-main.o +.bss 0x0000000000008ae8 0x0 + .bss 0x0000000000008ae8 0x0 tmp/arm.v4a-linux.elf-fold.o + .bss 0x0000000000008ae8 0x0 tmp/arm.v4a-linux.elf-main.o LOAD tmp/arm.v4a-linux.elf-fold.o LOAD tmp/arm.v4a-linux.elf-main.o OUTPUT(tmp/arm.v4a-linux.elf-fold.bin elf32-littlearm) diff --git a/src/stub/tmp/arm.v5a-linux.elf-fold.map b/src/stub/tmp/arm.v5a-linux.elf-fold.map index 16711bf6..7f861209 100644 --- a/src/stub/tmp/arm.v5a-linux.elf-fold.map +++ b/src/stub/tmp/arm.v5a-linux.elf-fold.map @@ -9,7 +9,7 @@ Linker script and memory map TARGET(elf32-littlearm) 0x0000000000008080 . = ((0x8000 + SIZEOF_HEADERS) + 0xc) -.text 0x0000000000008080 0xb24 +.text 0x0000000000008080 0xb04 *(.text) .text 0x0000000000008080 0x3c4 tmp/arm.v5a-linux.elf-fold.o 0x0000000000008354 munmap @@ -29,17 +29,18 @@ TARGET(elf32-littlearm) 0x00000000000083e8 div10 0x0000000000008368 mprotect 0x00000000000082f0 close - .text 0x0000000000008444 0x760 tmp/armel-linux.elf-main.o - 0x00000000000089d0 upx_main + .text 0x0000000000008444 0x740 tmp/armel-linux.elf-main.o + 0x0000000000008464 get_page_mask + 0x00000000000089b4 upx_main *(.data) - .data 0x0000000000008ba4 0x0 tmp/arm.v5a-linux.elf-fold.o - .data 0x0000000000008ba4 0x0 tmp/armel-linux.elf-main.o + .data 0x0000000000008b84 0x0 tmp/arm.v5a-linux.elf-fold.o + .data 0x0000000000008b84 0x0 tmp/armel-linux.elf-main.o .data -.bss 0x0000000000008ba4 0x0 - .bss 0x0000000000008ba4 0x0 tmp/arm.v5a-linux.elf-fold.o - .bss 0x0000000000008ba4 0x0 tmp/armel-linux.elf-main.o +.bss 0x0000000000008b84 0x0 + .bss 0x0000000000008b84 0x0 tmp/arm.v5a-linux.elf-fold.o + .bss 0x0000000000008b84 0x0 tmp/armel-linux.elf-main.o LOAD tmp/arm.v5a-linux.elf-fold.o LOAD tmp/armel-linux.elf-main.o OUTPUT(tmp/arm.v5a-linux.elf-fold.bin elf32-littlearm) diff --git a/src/stub/tmp/armeb.v4a-linux.elf-fold.map b/src/stub/tmp/armeb.v4a-linux.elf-fold.map index 612f3abf..be084dee 100644 --- a/src/stub/tmp/armeb.v4a-linux.elf-fold.map +++ b/src/stub/tmp/armeb.v4a-linux.elf-fold.map @@ -9,7 +9,7 @@ Linker script and memory map TARGET(elf32-bigarm) 0x0000000000008080 . = ((0x8000 + SIZEOF_HEADERS) + 0xc) -.text 0x0000000000008080 0xa88 +.text 0x0000000000008080 0xa68 *(.text) .text 0x0000000000008080 0x324 tmp/armeb.v4a-linux.elf-fold.o 0x00000000000082e8 munmap @@ -29,17 +29,18 @@ TARGET(elf32-bigarm) 0x0000000000008348 div10 0x00000000000082f0 mprotect 0x00000000000082c0 close - .text 0x00000000000083a4 0x764 tmp/armeb.v4a-linux.elf-main.o - 0x0000000000008934 upx_main + .text 0x00000000000083a4 0x744 tmp/armeb.v4a-linux.elf-main.o + 0x00000000000083c4 get_page_mask + 0x0000000000008918 upx_main *(.data) - .data 0x0000000000008b08 0x0 tmp/armeb.v4a-linux.elf-fold.o - .data 0x0000000000008b08 0x0 tmp/armeb.v4a-linux.elf-main.o + .data 0x0000000000008ae8 0x0 tmp/armeb.v4a-linux.elf-fold.o + .data 0x0000000000008ae8 0x0 tmp/armeb.v4a-linux.elf-main.o .data -.bss 0x0000000000008b08 0x0 - .bss 0x0000000000008b08 0x0 tmp/armeb.v4a-linux.elf-fold.o - .bss 0x0000000000008b08 0x0 tmp/armeb.v4a-linux.elf-main.o +.bss 0x0000000000008ae8 0x0 + .bss 0x0000000000008ae8 0x0 tmp/armeb.v4a-linux.elf-fold.o + .bss 0x0000000000008ae8 0x0 tmp/armeb.v4a-linux.elf-main.o LOAD tmp/armeb.v4a-linux.elf-fold.o LOAD tmp/armeb.v4a-linux.elf-main.o OUTPUT(tmp/armeb.v4a-linux.elf-fold.bin elf32-bigarm) diff --git a/src/stub/tmp/i386-linux.elf-fold.map b/src/stub/tmp/i386-linux.elf-fold.map index 14db1403..f1908afe 100644 --- a/src/stub/tmp/i386-linux.elf-fold.map +++ b/src/stub/tmp/i386-linux.elf-fold.map @@ -9,23 +9,25 @@ Linker script and memory map TARGET(elf32-i386) 0x0000000000c01080 . = ((0xc01000 + SIZEOF_HEADERS) + 0xc) -.text 0x0000000000c01080 0x6f8 +.text 0x0000000000c01080 0x6d8 *(.text) .text 0x0000000000c01080 0x154 tmp/i386-linux.elf-fold.o 0x0000000000c011a5 mmap - .text 0x0000000000c011d4 0x5a4 tmp/i386-linux.elf-main.o - 0x0000000000c01600 upx_main + .text 0x0000000000c011d4 0x583 tmp/i386-linux.elf-main.o + 0x0000000000c012fc get_page_mask + 0x0000000000c015e4 upx_main *(.data) - .data 0x0000000000c01778 0x0 tmp/i386-linux.elf-fold.o - .data 0x0000000000c01778 0x0 tmp/i386-linux.elf-main.o + *fill* 0x0000000000c01757 0x1 00 + .data 0x0000000000c01758 0x0 tmp/i386-linux.elf-fold.o + .data 0x0000000000c01758 0x0 tmp/i386-linux.elf-main.o .data -.bss 0x0000000000c01778 0x0 - .bss 0x0000000000c01778 0x0 tmp/i386-linux.elf-fold.o - .bss 0x0000000000c01778 0x0 tmp/i386-linux.elf-main.o +.bss 0x0000000000c01758 0x0 + .bss 0x0000000000c01758 0x0 tmp/i386-linux.elf-fold.o + .bss 0x0000000000c01758 0x0 tmp/i386-linux.elf-main.o -.rel.dyn 0x0000000000c01778 0x0 +.rel.dyn 0x0000000000c01758 0x0 .rel.text 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o LOAD tmp/i386-linux.elf-fold.o LOAD tmp/i386-linux.elf-main.o diff --git a/src/stub/tmp/mips.r3000-linux.elf-fold.map b/src/stub/tmp/mips.r3000-linux.elf-fold.map index ec61263c..ad8a34ed 100644 --- a/src/stub/tmp/mips.r3000-linux.elf-fold.map +++ b/src/stub/tmp/mips.r3000-linux.elf-fold.map @@ -9,20 +9,21 @@ Linker script and memory map TARGET(elf32-bigmips) 0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc) -.text 0x0000000000100080 0xa80 +.text 0x0000000000100080 0x9c0 *(.text) .text 0x0000000000100080 0x120 tmp/mips.r3000-linux.elf-fold.o - .text 0x00000000001001a0 0x960 tmp/mips.r3000-linux.elf-main.o - 0x00000000001008cc upx_main + .text 0x00000000001001a0 0x8a0 tmp/mips.r3000-linux.elf-main.o + 0x0000000000100414 get_page_mask + 0x0000000000100810 upx_main *(.data) - .data 0x0000000000100b00 0x0 tmp/mips.r3000-linux.elf-fold.o - .data 0x0000000000100b00 0x0 tmp/mips.r3000-linux.elf-main.o + .data 0x0000000000100a40 0x0 tmp/mips.r3000-linux.elf-fold.o + .data 0x0000000000100a40 0x0 tmp/mips.r3000-linux.elf-main.o .data -.bss 0x0000000000100b00 0x0 - .bss 0x0000000000100b00 0x0 tmp/mips.r3000-linux.elf-fold.o - .bss 0x0000000000100b00 0x0 tmp/mips.r3000-linux.elf-main.o +.bss 0x0000000000100a40 0x0 + .bss 0x0000000000100a40 0x0 tmp/mips.r3000-linux.elf-fold.o + .bss 0x0000000000100a40 0x0 tmp/mips.r3000-linux.elf-main.o LOAD tmp/mips.r3000-linux.elf-fold.o LOAD tmp/mips.r3000-linux.elf-main.o OUTPUT(tmp/mips.r3000-linux.elf-fold.bin elf32-bigmips) diff --git a/src/stub/tmp/mipsel.r3000-linux.elf-fold.map b/src/stub/tmp/mipsel.r3000-linux.elf-fold.map index 0a1a125a..9b394902 100644 --- a/src/stub/tmp/mipsel.r3000-linux.elf-fold.map +++ b/src/stub/tmp/mipsel.r3000-linux.elf-fold.map @@ -9,20 +9,21 @@ Linker script and memory map TARGET(elf32-littlemips) 0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc) -.text 0x0000000000100080 0xa80 +.text 0x0000000000100080 0x9c0 *(.text) .text 0x0000000000100080 0x120 tmp/mipsel.r3000-linux.elf-fold.o - .text 0x00000000001001a0 0x960 tmp/mipsel.r3000-linux.elf-main.o - 0x00000000001008cc upx_main + .text 0x00000000001001a0 0x8a0 tmp/mipsel.r3000-linux.elf-main.o + 0x0000000000100414 get_page_mask + 0x0000000000100810 upx_main *(.data) - .data 0x0000000000100b00 0x0 tmp/mipsel.r3000-linux.elf-fold.o - .data 0x0000000000100b00 0x0 tmp/mipsel.r3000-linux.elf-main.o + .data 0x0000000000100a40 0x0 tmp/mipsel.r3000-linux.elf-fold.o + .data 0x0000000000100a40 0x0 tmp/mipsel.r3000-linux.elf-main.o .data -.bss 0x0000000000100b00 0x0 - .bss 0x0000000000100b00 0x0 tmp/mipsel.r3000-linux.elf-fold.o - .bss 0x0000000000100b00 0x0 tmp/mipsel.r3000-linux.elf-main.o +.bss 0x0000000000100a40 0x0 + .bss 0x0000000000100a40 0x0 tmp/mipsel.r3000-linux.elf-fold.o + .bss 0x0000000000100a40 0x0 tmp/mipsel.r3000-linux.elf-main.o LOAD tmp/mipsel.r3000-linux.elf-fold.o LOAD tmp/mipsel.r3000-linux.elf-main.o OUTPUT(tmp/mipsel.r3000-linux.elf-fold.bin elf32-littlemips) diff --git a/src/stub/tmp/powerpc-linux.elf-entry.bin.dump b/src/stub/tmp/powerpc-linux.elf-entry.bin.dump index c115775e..8a873f5d 100644 --- a/src/stub/tmp/powerpc-linux.elf-entry.bin.dump +++ b/src/stub/tmp/powerpc-linux.elf-entry.bin.dump @@ -14,7 +14,7 @@ Idx Name Size VMA LMA File off Algn Flags 9 NRV_TAIL 0000001c 00000000 00000000 00001788 2**0 CONTENTS, READONLY 10 CFLUSH 00000024 00000000 00000000 000017a4 2**0 CONTENTS, READONLY 11 ELFMAINY 00000022 00000000 00000000 000017c8 2**0 CONTENTS, RELOC, READONLY - 12 ELFMAINZ 0000013c 00000000 00000000 000017ea 2**0 CONTENTS, RELOC, READONLY + 12 ELFMAINZ 000001f8 00000000 00000000 000017ea 2**0 CONTENTS, RELOC, READONLY SYMBOL TABLE: 00000000 l d LZMA_DEC30 00000000 LZMA_DEC30 00000000 l d NRV_TAIL 00000000 NRV_TAIL @@ -37,7 +37,7 @@ SYMBOL TABLE: RELOCATION RECORDS FOR [ELFMAINX]: OFFSET TYPE VALUE -00000000 R_PPC_REL24 ELFMAINZ+0x0000011c +00000000 R_PPC_REL24 ELFMAINZ+0x000001a4 RELOCATION RECORDS FOR [NRV2E]: OFFSET TYPE VALUE @@ -61,8 +61,9 @@ OFFSET TYPE VALUE RELOCATION RECORDS FOR [ELFMAINZ]: OFFSET TYPE VALUE -000000ac R_PPC_REL14 ELFMAINY -0000012c R_PPC_ADDR32 ADRM -00000130 R_PPC_ADDR32 LENM -00000134 R_PPC_ADDR32 LENU -00000138 R_PPC_ADDR32 O_BINFO +0000007c R_PPC_REL14 ELFMAINY +00000104 R_PPC_REL14 ELFMAINY +000001e8 R_PPC_ADDR32 ADRM +000001ec R_PPC_ADDR32 LENM +000001f0 R_PPC_ADDR32 LENU +000001f4 R_PPC_ADDR32 O_BINFO diff --git a/src/stub/tmp/powerpc-linux.elf-fold.map b/src/stub/tmp/powerpc-linux.elf-fold.map index 63e87657..34258a97 100644 --- a/src/stub/tmp/powerpc-linux.elf-fold.map +++ b/src/stub/tmp/powerpc-linux.elf-fold.map @@ -9,31 +9,34 @@ Linker script and memory map TARGET(elf32-powerpc) 0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc) -.text 0x0000000000100080 0xee4 +.text 0x0000000000100080 0x10dc *(.text) - .text 0x0000000000100080 0x24c tmp/powerpc-linux.elf-fold.o - 0x00000000001002bc munmap - 0x0000000000100294 readlink - 0x0000000000100278 mmap - 0x000000000010029c read - 0x000000000010028c exit - 0x00000000001002c4 brk - 0x00000000001002a4 open - 0x00000000001002b4 mprotect - 0x00000000001002ac close - .text 0x00000000001002cc 0xc98 tmp/powerpc-linux.elf-main.o - 0x0000000000100c40 upx_main + .text 0x0000000000100080 0x264 tmp/powerpc-linux.elf-fold.o + 0x0000000000100080 get_page_mask + 0x00000000001002cc munmap + 0x000000000010029c readlink + 0x0000000000100280 mmap + 0x00000000001002a4 write + 0x00000000001002ac read + 0x00000000001002dc my_bkpt + 0x0000000000100294 exit + 0x00000000001002d4 brk + 0x00000000001002b4 open + 0x00000000001002c4 mprotect + 0x00000000001002bc close + .text 0x00000000001002e4 0xe78 tmp/powerpc-linux.elf-main.o + 0x0000000000100e48 upx_main *(.data) - .data 0x0000000000100f64 0x0 tmp/powerpc-linux.elf-fold.o - .data 0x0000000000100f64 0x0 tmp/powerpc-linux.elf-main.o + .data 0x000000000010115c 0x0 tmp/powerpc-linux.elf-fold.o + .data 0x000000000010115c 0x0 tmp/powerpc-linux.elf-main.o .data -.bss 0x0000000000100f64 0x0 - .bss 0x0000000000100f64 0x0 tmp/powerpc-linux.elf-fold.o - .bss 0x0000000000100f64 0x0 tmp/powerpc-linux.elf-main.o +.bss 0x000000000010115c 0x0 + .bss 0x000000000010115c 0x0 tmp/powerpc-linux.elf-fold.o + .bss 0x000000000010115c 0x0 tmp/powerpc-linux.elf-main.o -.rela.dyn 0x0000000000100f64 0x0 +.rela.dyn 0x000000000010115c 0x0 .rela.text 0x0000000000000000 0x0 tmp/powerpc-linux.elf-fold.o LOAD tmp/powerpc-linux.elf-fold.o LOAD tmp/powerpc-linux.elf-main.o