ELF2 for arm32

modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   p_lx_elf.cpp
	modified:   stub/Makefile
	modified:   stub/src/arm.v4a-linux.elf-entry.S
	new file:   stub/src/arm.v4a-linux.elf-entry.lds
	modified:   stub/src/arm.v4a-linux.elf-fold.S
	modified:   stub/src/arm.v4a-linux.elf-fold.lds
	new file:   stub/src/arm.v4a-linux.elf-main2.c
	new file:   stub/src/arm.v4a-linux.elf-so_entry.lds
	new file:   stub/src/arm.v5a-linux.elf-entry.lds
	new file:   stub/src/arm.v5a-linux.elf-fold.lds
	new file:   stub/src/arm.v5a-linux.elf-main2.c
	new file:   stub/src/arm.v5a-linux.elf-so_entry.lds
	new file:   stub/src/armeb.v4a-expand.S
	new file:   stub/src/armeb.v4a-linux.elf-entry.lds
	modified:   stub/src/armeb.v4a-linux.elf-fold.lds
	new file:   stub/src/armeb.v4a-linux.elf-main2.c
	new file:   stub/src/armeb.v4a-linux.elf-so_main2.c
	modified:   stub/src/i386-linux.elf-main2.c
           plus generated *.h *.map *.dump
This commit is contained in:
John Reiser
2024-07-08 11:42:48 -07:00
parent f7cab0cf71
commit 66dc1d90d8
35 changed files with 11120 additions and 6475 deletions
+21 -21
View File
@@ -49,11 +49,11 @@ expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\
facd4ce6bf34d66fa1fb35b09efe2a643fe6174f63470905aa94ee137a5d05cf *amd64-linux.elf/upx-3.91
ae17b09aa5fa72356f4920522025475ce9f0fde1cd84934eca0cb47578636fe6 *amd64-linux.elf/upx-3.95
1bd70a3cd3b34e635a3c947cacd46c4d66bf07e0fd350cc6d1f3cf60483f75b9 *amd64-win64.pe/upx-3.95.exe
c9d8d916100e1dd972a2a9a060e4213505b14c62e9705ab6c8b544a8f18e083d *arm-linux.elf/upx-3.95
ae0eb45a60d7898f0b57b776db59cfa92da158ac4bd1be33450543f1b0866f28 *arm-linux.elf/upx-3.95
94422a91473a467dfb534afa3f20247bc38691aeb386a42fb3e0fd18d3d0ae08 *arm-wince.pe/upx-3.91.exe
d63d4c9886b175c5388758c3d963e8d0b1e562536cf22e85792df35b028a94c1 *arm64-linux.elf/upx-3.95
0a9d0d95822a7d645d67b61ebd5b86d8be07b8a36e0f29dbc9b55a8666ed67af *armeb-linux.elf/upx-3.91
6e4ff31a80809fc5058ae714ab10ad7810c310bd7d116fad8b198009b9872312 *armeb-linux.elf/upx-3.95
1fe1bf73416e9635675a84e0672b1ad6ab770ea9bacb374065b56d96cad7e887 *armeb-linux.elf/upx-3.91
5ebe64cfbdee4af7f71d59d709ffa3804ac6f5c2ac357e35e9bda21607af9377 *armeb-linux.elf/upx-3.95
e17a126cebc32977991a292b7434d1435a7c95862ccece0e4acbf6e810bd3443 *i386-dos32.djgpp2.coff/upx-3.91.exe
88c54fa6bda1bbee0317c839dd756458ebe9bf4b0f6d746139517c7e0c3c9c6f *i386-dos32.djgpp2.coff/upx-3.95.exe
e5ccaa48ec0223990abc7681bb97a9f49b0192db4d04a21b0525dd610bfcbcae *i386-linux.elf/upx-3.91
@@ -72,11 +72,11 @@ expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\
7ae7eea1444d1b6e56dda4a0512ff94e5ebaf8c02288a4132def5fdf46fb4b2e *amd64-linux.elf/upx-3.91
65b9124e6b3944071870d2bdeeb072e7c85f75864340646038aea4e38be74537 *amd64-linux.elf/upx-3.95
0314c6974f29d180e46e41a1004d46a3993fe96f03de7f78d45ad89ad3b2177e *amd64-win64.pe/upx-3.95.exe
0f781a70828dc3b939988b96e70c0734cef3f4a7693624e61f7a678b0c8667a6 *arm-linux.elf/upx-3.95
d4546ebbe67736b06b3f026916cd36547f8cdec71e87126d34033981be9332d1 *arm-linux.elf/upx-3.95
d7839b7dee866794e4ca3df32e2b1084b35aa22dee5f060fa14b5ca09c612ba3 *arm-wince.pe/upx-3.91.exe
8ebe1bd25ce7fa3c6a2727578aa564b631e9865b14b63b6f38234cd5f55a4f9c *arm64-linux.elf/upx-3.95
7ebffb7cd7a0f95e82738cb58728334fe51b5174f54f807303d281e4594037cf *armeb-linux.elf/upx-3.91
4a9d498ec0df4923ebb475f634c25f9b47eea115998adfd9c46b7dc4a561cf47 *armeb-linux.elf/upx-3.95
bff48a7c8c9dbec8ff71de3dc882f872f8278b9abf12a4abb0e7b084f00e0fc2 *armeb-linux.elf/upx-3.91
06bec58553ad7655f016ffa0fbaf50c293252c3b61264b4bd0bf004cc29a6efd *armeb-linux.elf/upx-3.95
4a434c3a14686786369c8bede8736d15e307ed7dd8c40cccb8f22003b05db968 *i386-dos32.djgpp2.coff/upx-3.91.exe
4ec6858a6c453176db25de5317269fa973f07051a15c9ff146920153dda52350 *i386-dos32.djgpp2.coff/upx-3.95.exe
d1c2204d10c2753b485f0aac2d58e6ec614951271436467c345e113465e9fb9b *i386-linux.elf/upx-3.91
@@ -95,11 +95,11 @@ expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\
34959e4a8682e4270e7a1a471fca0d8cd20391201ec50c2815b7dbfb6df5b9a8 *amd64-linux.elf/upx-3.91
777f0cfc3cfe323de7868688a60246c499abc682b524ed0087ebcceb26f812d4 *amd64-linux.elf/upx-3.95
97bb5953405f3413d9ff9bdc272caf2858697168b3e85dab54213da356b5ea0f *amd64-win64.pe/upx-3.95.exe
0bf33b6b3f246093a7e15c4a51b0a15f40c7ec9c16fcd38613b8b66004a3b3cb *arm-linux.elf/upx-3.95
c0eb941b8dc0b421185b03699a280c7b199267e196c9db9e0dc3a966dbbde8c0 *arm-linux.elf/upx-3.95
8c73f5acfc70e3c518be09978af87b9bec4906240cb457a166da0eba05bea4db *arm-wince.pe/upx-3.91.exe
8762bc97745ee0f1323843cb5bde227420d9ced810d36af0df5a44823d39404a *arm64-linux.elf/upx-3.95
4be1831f03092f1c594115d95663f3d180c0066e10b9d8389f25a350a3976529 *armeb-linux.elf/upx-3.91
c3ec4a5148e25f74f6c8dca92b608f65dc5539f9c5a0f839f801612b13505bd1 *armeb-linux.elf/upx-3.95
a1f00f0bb2cb3de5b0e7204ece5ae71ce46e352cbb4ea9fd72d8dc2284525c66 *armeb-linux.elf/upx-3.91
de106d25cb12ddebb2aa164ff859e10fe373496dc991b41ad3f0ff781471695e *armeb-linux.elf/upx-3.95
d454dd376db342e7650a93bd4859546711c94f5da55336e5b969dbea996465d9 *i386-dos32.djgpp2.coff/upx-3.91.exe
89fdaef155f19e1388412109c955b3368df7e39f13ae2ef5db5b0f0df3df81ab *i386-dos32.djgpp2.coff/upx-3.95.exe
313f889ea2623c553c73989949dde6404243336ee7087901e860c882620379a1 *i386-linux.elf/upx-3.91
@@ -118,11 +118,11 @@ expected_sha256sums__t140_compress_lzma_2_no_filter="\
b028e56efb322a8d3a462cde72ff1ed193ba1e53bb055a40e20f436fa374403d *amd64-linux.elf/upx-3.91
73913ea7fa471fd7208451efb7af6285bafba0c7228fab3461022743efb15205 *amd64-linux.elf/upx-3.95
b8815f95e92d6853a04a86069e9054115be2d9aa657fa2c8912d0f37e56c894f *amd64-win64.pe/upx-3.95.exe
7a832eb6c3c33a04053786334c9e1953796ba2debacc754b5a18632ec987aa40 *arm-linux.elf/upx-3.95
9b40ed6bc951d50f2cd26156f196105a82e12f50dae89ca9a3182de2d063c83e *arm-linux.elf/upx-3.95
018242f330e19dd7ca2fb78687c0070ad88f1aa2e113be865c30ad3ff94a4ada *arm-wince.pe/upx-3.91.exe
b2faa2181b1d5c3718c1c05c5ae130b61ee67a3b481b3235ac3af3d5de9ddce8 *arm64-linux.elf/upx-3.95
0a64b334793d1d6056241d0072afe8aa34d92ca5680192d05e1df90ca2f3c893 *armeb-linux.elf/upx-3.91
895a9facf830fbcf2953adc0d7cf364fc5ab716f03940fc6165b49343c5253de *armeb-linux.elf/upx-3.95
4d59557e647b464c22870862d6eaf6f387911266aab66477720a556e64587e81 *armeb-linux.elf/upx-3.91
fb32097a3c9abb47eadb88ad0b0b504d8e3ee5853768f1bf9b438c76f5317af9 *armeb-linux.elf/upx-3.95
4e16bdab8b74ea5c7de4f255eec035189c24ac6374afef883c17696642c4fe16 *i386-dos32.djgpp2.coff/upx-3.91.exe
a526f335f984af6f8adb5dca85c5564ab888c009b79daead8631de766857e033 *i386-dos32.djgpp2.coff/upx-3.95.exe
94f234404c58bf66ca9197eff731a84e8aac2ac57524ce20e7282664d6e98806 *i386-linux.elf/upx-3.91
@@ -141,11 +141,11 @@ expected_sha256sums__t150_compress_ucl_2_all_filters="\
fc70cf55446c99b6e6845511f86c7f9496c97bcd44f0844206c9b70722fc33eb *amd64-linux.elf/upx-3.91
4e983b29ac9e37552531c4bf41da9953140e0e7a72429933f069c7685985df14 *amd64-linux.elf/upx-3.95
434732efb16b89114162a1787a28c128e2c11edb9835411f2b707cac5cd475ae *amd64-win64.pe/upx-3.95.exe
acbb1628a4631ec5ded40ec286c55544839f57a671ef925c89f81a7fff937954 *arm-linux.elf/upx-3.95
a884e33d31a54f9c97c250cc1132c2cec594b5c41f676a306f2a78298630dbee *arm-linux.elf/upx-3.95
93e2ead9e54732a1731896681d415e3ce60b7420ad7f3c57822ad7dbd061cdd3 *arm-wince.pe/upx-3.91.exe
fe3bb2d827888c20e34bf86f6b1593408d91338934530df2e7aa2af2149a1627 *arm64-linux.elf/upx-3.95
9d6b8ef721a9af947f8439c5e6805da9ecadf8e5e41f1e5ef54c40f3c8395db2 *armeb-linux.elf/upx-3.91
591f023a8c6506cf8113fcb8a8672d0044890d60c6b9372a7eeeb40c9f5af464 *armeb-linux.elf/upx-3.95
068b4c43aff0a0ffcada69e1b535a933f64d9ecbb8b3dff5b90a8b741be049a9 *armeb-linux.elf/upx-3.91
1175fa09bb7e92abb4d763c0334ae0f8584d86db45f5e5f85b433bf900f68363 *armeb-linux.elf/upx-3.95
2957b481e67689a5ad43dcfdfde207b9eb16142c161f3e43fd0eeff5917fefbd *i386-dos32.djgpp2.coff/upx-3.91.exe
8f02dbfdbddad405ec599afba4ead6d300ab792f7188df7a32a9d7d3dc7d72c9 *i386-dos32.djgpp2.coff/upx-3.95.exe
10fa881f45706adef32effd3320566d46af2f9e4c9e6198ceade511f324c3952 *i386-linux.elf/upx-3.91
@@ -164,11 +164,11 @@ expected_sha256sums__t160_compress_all_methods_1_no_filter="\
09724f7b02c462d992ec9f4464f72bd7c25eb6e2918c9ad14fa88d4edc1207dc *amd64-linux.elf/upx-3.91
0a84ad9366d8cbd39b02c383fedc72eb27e8c664bc6f52cb3808544daea87f00 *amd64-linux.elf/upx-3.95
f38ff7edc916c1a3e82020035667de858c89d52c98d960dad0e21b4da444ed6c *amd64-win64.pe/upx-3.95.exe
2481a933d3f1bcaed047e9cbc81ae227351e86e7c6c761c4756faea0c525aeb6 *arm-linux.elf/upx-3.95
e43e7cec0f2619abd23e2e9671abf5f6b79802eb6018ba5c4f1d23ab87af6441 *arm-linux.elf/upx-3.95
bb475839ec547696aaccf4da202b99be927c872e5de298a5eb1f0be0edc06d1d *arm-wince.pe/upx-3.91.exe
0b5c580c7aa633038cf6b7edfd1183bda308ea85999b36f503d89e651a7a66f5 *arm64-linux.elf/upx-3.95
d33a702da5d0c46e744056c24e8323360223ed8e1be07660eecc28ade7b5fc75 *armeb-linux.elf/upx-3.91
57790e4d030d32d19ae6ba2a485a5bc6f7244c7e65d3ec4c8b0afe395927dd83 *armeb-linux.elf/upx-3.95
5c90b2981476056c242a33b3726868dc49b01d3db335d2252918f781553bfd3e *armeb-linux.elf/upx-3.91
d7d2c4b8cb284ec6a8f994097298f664ba9a8dc26eceee316d36e1005546bf4b *armeb-linux.elf/upx-3.95
8673a20ba4b83e25daab30431ed215dcb35f595fa0cabf67ff57368a07ba4c14 *i386-dos32.djgpp2.coff/upx-3.91.exe
c7eb37a33f4f044ce444e5c258fade07c8fdf6d64236900c839196bedcb241fe *i386-dos32.djgpp2.coff/upx-3.95.exe
e40f96019386617f462a0216d6301639fae7ca0ed16cd7c0d52e8a95372d60c1 *i386-linux.elf/upx-3.91
@@ -187,11 +187,11 @@ expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\
cdc4ed9c5f1f724c436a3fc97a45b6b89605b34d8210ab6fdbbefb5954b5361b *amd64-linux.elf/upx-3.91
1822fd4102edea03b7a251df37c605005465b716820cabb627249c0057b132df *amd64-linux.elf/upx-3.95
5fccb0f5044baaa74d176efb25eefa3b5810dc737ed0f9d38084d275f7ebe7b8 *amd64-win64.pe/upx-3.95.exe
90e56eefcce87542dbbc65e54c83c7e921a747877cbe489089c6043165b4f334 *arm-linux.elf/upx-3.95
77f42e69f1ab703364bef9855da95af50f8e6c9822de6b8f4c878594104acd96 *arm-linux.elf/upx-3.95
56be0b4046accdfadbe534ecb6e6452b9e3a18bb9eac39da0ee8893c31d24416 *arm-wince.pe/upx-3.91.exe
8e440516964e8f9871437bfe83284d5cf0ab26a6eee9bcd9b46f9b491ecd51fb *arm64-linux.elf/upx-3.95
0925e9f13460111685bcf3e695a0e191a083f43149cb0a2e6f93ca68f414614b *armeb-linux.elf/upx-3.91
03e9bb54264382f17dc15e451b9aff634e41d0b3e14585350479bf143b612c09 *armeb-linux.elf/upx-3.95
c7ad57f653fa01c43199f8b4a84be552ce98ee1c2eea11c5d1c998eea0a78314 *armeb-linux.elf/upx-3.91
fa8f3ecb37f89531b7a87f6fbbb6e06f900515aa5ddfd5da98a80ee8c525eaa7 *armeb-linux.elf/upx-3.95
6f9fbac216cd42aa370cb90965e74669daf33fd403bf0a250aaec06dd3439009 *i386-dos32.djgpp2.coff/upx-3.91.exe
902f1c5036680b0fadbebaef913c4062f0ce5ef0f2d537f7e6da31d23974139d *i386-dos32.djgpp2.coff/upx-3.95.exe
5716eeb0a4dc7320c9b4f871d4bc4ad0ac33b9e7aed1437c316e1dd63f981b70 *i386-linux.elf/upx-3.91
+5 -5
View File
@@ -1497,9 +1497,9 @@ PackLinuxElf32::buildLinuxLoader(
} // end shlib
else if (0
|| this->e_machine==Elf32_Ehdr::EM_386
|| this->e_machine==Elf32_Ehdr::EM_ARM
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_MIPS
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_PPC
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_ARM
) { // main program with ELF2 de-compressor
initLoader(fold, szfold);
char sec[120];
@@ -1567,19 +1567,19 @@ PackLinuxElf32::buildLinuxLoader(
linker->addSection("FOLDEXEC", mb_cprLoader, sizeof(b_info) + sz_cpr, 0);
if (xct_off // shlib
&& (0
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_ARM
|| this->e_machine==Elf32_Ehdr::EM_386
|| this->e_machine==Elf32_Ehdr::EM_ARM
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_MIPS
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_PPC
|| this->e_machine==Elf32_Ehdr::EM_386
)
) { // shlib with ELF2 de-compressor
addLoader("ELFMAINX,ELFMAINZ,FOLDEXEC,IDENTSTR");
}
else if (0
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_ARM
|| this->e_machine==Elf32_Ehdr::EM_386
|| this->e_machine==Elf32_Ehdr::EM_ARM
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_MIPS
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_PPC
|| this->e_machine==Elf32_Ehdr::EM_386
) { // main program with ELF2 de-compressor
addLoader("ELFMAINX,ELFMAINZ,FOLDEXEC,IDENTSTR");
defineSymbols(ft);
+116 -44
View File
@@ -558,28 +558,53 @@ tmp/arm.v5a-darwin.macho-main.o : $(srcdir)/src/$$T.c
arm.v4a-linux.elf%.h : tc_list = arm.v4a-linux.elf default
arm.v4a-linux.elf%.h : tc_bfdname = elf32-littlearm
# FIXME (or explain): .v4a but -march=armv4t ?
tc.arm.v4a-linux.elf.gcc = arm-linux-gcc-4.1.0 -march=armv4t -nostdinc -MMD -MT $@
tc.arm.v4a-linux.elf.gcc += -fno-exceptions -fno-asynchronous-unwind-tables
tc.arm.v4a-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wstrict-prototypes -Wwrite-strings -Werror
arm.v4a-linux.elf-entry.h : $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o tmp/$T.bin
$(call tc,f-embed_objinfo,tmp/$T.bin)
$(call tc,bin2h) tmp/$T.bin $@
arm.v4a-linux.elf-so_entry.h: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o tmp/$T.bin
arm.v4a-linux.elf-entry.h : $(srcdir)/src/arm.v4a-linux.elf-entry.lds \
$(srcdir)/src/$$T.S \
tmp/arm.v4a-linux.elf-upxfd_android.o
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
multiarch-ld-2.17 -r --format=elf32-littlearm -Map tmp/$T.map -o tmp/$T.bin \
-T src/arm.v4a-linux.elf-entry.lds \
tmp/$T.o \
tmp/arm.v4a-linux.elf-upxfd_android.o
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
$(call tc,bin2h) tmp/$T.bin $@
arm.v4a-linux.elf-fold.h : tmp/$$T.o tmp/arm.v4a-linux.elf-main.o $(srcdir)/src/$$T.lds
multiarch-ld-2.23.90 -r -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
$(call tc,f-objstrip,tmp/$T.bin)
: $(call tc,sstrip) tmp/$T.bin
arm.v4a-linux.elf-so_entry.h : src/arm.v4a-linux.elf-so_entry.lds \
$(srcdir)/src/$$T.S \
tmp/arm.v4a-linux.elf-upxfd_android.o
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
multiarch-ld-2.17 -r --format=elf32-littlearm -Map tmp/$T.map -o tmp/$T.bin \
-T src/arm.v4a-linux.elf-so_entry.lds \
tmp/$T.o \
tmp/arm.v4a-linux.elf-upxfd_android.o
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
$(call tc,bin2h) tmp/$T.bin $@
arm.v4a-linux.elf-so_fold.h : tmp/$$T.o tmp/arm.v4a-linux.elf-so_main.o $(srcdir)/src/$$T.lds tmp/arm.v4a-expand.o
multiarch-ld-2.23.90 -r -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
tmp/arm.v4a-linux.elf-upxfd_android.o : $(srcdir)/src/upxfd_android.c
$(call tc,gcc) -c -O $< -o $@
$(call tc,objcopy) -R .comment $@
$(call tc,objdump) -Dr $(tc_objdump_disasm_options) $@ | $(RTRIM) > $@.disasm
arm.v4a-linux.elf-fold.h : $(srcdir)/src/$$T.lds \
tmp/$$T.o \
tmp/arm.v4a-linux.elf-upxfd_android.o \
tmp/arm.v4a-expand.o \
tmp/arm.v4a-linux.elf-main2.o
$(call tc,ld) -r -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
$(call tc,f-embed_objinfo_without_xstrip_keep_dot_text,tmp/$T.bin)
$(call tc,bin2h) tmp/$T.bin $@
arm.v4a-linux.elf-so_fold.h : $(srcdir)/src/$$T.lds \
tmp/$$T.o \
tmp/arm.v4a-linux.elf-upxfd_android.o \
tmp/arm.v4a-expand.o \
tmp/arm.v4a-linux.elf-so_main.o
multiarch-ld-2.23.90 -r -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
$(call tc,bin2h) tmp/$T.bin $@
@@ -594,7 +619,7 @@ tmp/arm.v4a-linux.elf-so_fold.o : $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
$(call tc,f-objstrip,$@)
tmp/arm.v4a-linux.elf-main.o : $(srcdir)/src/$$T.c $(srcdir)/src/i386-linux.elf-main.c
tmp/arm.v4a-linux.elf-main2.o : $(srcdir)/src/$$T.c $(srcdir)/src/i386-linux.elf-main2.c
$(call tc,gcc) -c -Os $< -o $@
$(call tc,f-objstrip,$@)
@@ -603,7 +628,6 @@ tmp/arm.v4a-linux.elf-so_main.o : $(srcdir)/src/$$T.c $(srcdir)/src/i386-linux.e
$(call tc,objcopy) --rename-section .text=SO_MAIN -R .comment -R .note -R .note.GNU-stack -R .reginfo $@
$(call tc,f-objstrip,$@)
# /***********************************************************************
# // arm.v5a-linux.kernel.vmlinux (arm.v5a)
# // arm.v5a-linux.kernel.vmlinux-head (arm.v5a)
@@ -633,7 +657,6 @@ arm.v5a-linux.kernel.vmlinuz-head.h : $(srcdir)/src/$$T.S
$(call tc,objcopy) --output-target binary --only-section .text tmp/$T.o tmp/$T.bin
$(call tc,bin2h) tmp/$T.bin $@
# /***********************************************************************
# // arm.v5a-linux.elf (arm.v5a)
# ************************************************************************/
@@ -645,27 +668,54 @@ tc.arm.v5a-linux.elf.gcc = arm-linux-gcc-4.1.0 -march=armv5t -nostdinc -MMD -MT
tc.arm.v5a-linux.elf.gcc += -fno-exceptions -fno-asynchronous-unwind-tables
tc.arm.v5a-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wstrict-prototypes -Wwrite-strings -Werror
arm.v5a-linux.elf-entry.h : $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o tmp/$T.bin
$(call tc,f-embed_objinfo,tmp/$T.bin)
$(call tc,bin2h) tmp/$T.bin $@
arm.v5a-linux.elf-so_entry.h: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o tmp/$T.bin
arm.v5a-linux.elf-entry.h : $(srcdir)/src/arm.v5a-linux.elf-entry.lds \
$(srcdir)/src/$$T.S \
tmp/arm.v5a-linux.elf-upxfd_android.o
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
multiarch-ld-2.17 -r --format=elf32-littlearm -Map tmp/$T.map -o tmp/$T.bin \
-T src/arm.v5a-linux.elf-entry.lds \
tmp/$T.o \
tmp/arm.v5a-linux.elf-upxfd_android.o
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
$(call tc,bin2h) tmp/$T.bin $@
arm.v5a-linux.elf-fold.h : tmp/$$T.o tmp/armel-linux.elf-main.o $(srcdir)/src/arm.v4a-linux.elf-fold.lds
$(call tc,ld) --strip-all -T $(srcdir)/src/arm.v4a-linux.elf-fold.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
$(call tc,f-objstrip,tmp/$T.bin)
$(call tc,sstrip) tmp/$T.bin
$(call tc,bin2h) tmp/$T.bin $@
arm.v5a-linux.elf-so_fold.h : tmp/$$T.o tmp/arm.v5a-linux.elf-so_main.o $(srcdir)/src/$$T.lds tmp/arm.v5a-expand.o
multiarch-ld-2.23.90 -r -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
arm.v5a-linux.elf-so_entry.h : src/arm.v5a-linux.elf-so_entry.lds \
$(srcdir)/src/$$T.S \
tmp/arm.v5a-linux.elf-upxfd_android.o
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
multiarch-ld-2.17 -r --format=elf32-littlearm -Map tmp/$T.map -o tmp/$T.bin \
-T src/arm.v5a-linux.elf-so_entry.lds \
tmp/$T.o \
tmp/arm.v5a-linux.elf-upxfd_android.o
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
$(call tc,bin2h) tmp/$T.bin $@
tmp/arm.v5a-linux.elf-upxfd_android.o : $(srcdir)/src/upxfd_android.c
$(call tc,gcc) -c -O $< -o $@
$(call tc,objcopy) -R .comment $@
$(call tc,objdump) -Dr $(tc_objdump_disasm_options) $@ | $(RTRIM) > $@.disasm
arm.v5a-linux.elf-fold.h : $(srcdir)/src/$$T.lds \
tmp/$$T.o \
tmp/arm.v5a-linux.elf-upxfd_android.o \
tmp/arm.v5a-expand.o \
tmp/arm.v5a-linux.elf-main2.o
$(call tc,ld) -r -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
$(call tc,f-embed_objinfo_without_xstrip_keep_dot_text,tmp/$T.bin)
$(call tc,bin2h) tmp/$T.bin $@
arm.v5a-linux.elf-so_fold.h : $(srcdir)/src/$$T.lds \
tmp/$$T.o \
tmp/arm.v5a-linux.elf-upxfd_android.o \
tmp/arm.v5a-expand.o \
tmp/arm.v5a-linux.elf-so_main.o
multiarch-ld-2.23.90 -r -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
$(call tc,bin2h) tmp/$T.bin $@
tmp/arm.v5a-expand.o: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
tmp/arm.v5a-linux.elf-fold.o : $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
$(call tc,f-objstrip,$@)
@@ -674,10 +724,11 @@ tmp/arm.v5a-linux.elf-so_fold.o : $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
$(call tc,f-objstrip,$@)
tmp/arm.v5a-expand.o: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
tmp/arm.v5a-linux.elf-main2.o : $(srcdir)/src/$$T.c $(srcdir)/src/i386-linux.elf-main2.c
$(call tc,gcc) -c -Os $< -o $@
$(call tc,f-objstrip,$@)
tmp/arm.v5a-linux.elf-so_main.o : $(srcdir)/src/$$T.c
tmp/arm.v5a-linux.elf-so_main.o : $(srcdir)/src/$$T.c $(srcdir)/src/i386-linux.elf-so_main.c
$(call tc,gcc) -c -O $< -o $@
$(call tc,objcopy) --rename-section .text=SO_MAIN -R .comment -R .note -R .note.GNU-stack -R .reginfo $@
$(call tc,f-objstrip,$@)
@@ -832,7 +883,6 @@ arm.v5t-linux.shlib%.h : $(srcdir)/src/$$T.S
$(call tc,f-embed_objinfo,tmp/$T.bin)
$(call tc,bin2h-c) tmp/$T.bin $@
# /***********************************************************************
# // armeb.v4a-linux.elf (arm.v4a)
# ************************************************************************/
@@ -840,27 +890,49 @@ arm.v5t-linux.shlib%.h : $(srcdir)/src/$$T.S
armeb.v4a-linux.elf%.h : tc_list = armeb.v4a-linux.elf default
armeb.v4a-linux.elf%.h : tc_bfdname = elf32-bigarm
tc.armeb.v4a-linux.elf.gcc = $(tc.arm.v4a-linux.elf.gcc) -mbig-endian
tc.armeb.v4a-linux.elf.gcc = $(tc.arm.v4a-linux.elf.gcc) -mbig-endian -DBIG_ENDIAN=1
armeb.v4a-linux.elf-entry.h : $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o tmp/$T.bin
$(call tc,f-embed_objinfo,tmp/$T.bin)
armeb.v4a-linux.elf-entry.h : $(srcdir)/src/armeb.v4a-linux.elf-entry.lds \
$(srcdir)/src/$$T.S \
tmp/armeb.v4a-linux.elf-upxfd_android.o
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
multiarch-ld-2.17 -r --format=elf32-bigarm -Map tmp/$T.map -o tmp/$T.bin \
-T src/armeb.v4a-linux.elf-entry.lds \
tmp/$T.o \
tmp/armeb.v4a-linux.elf-upxfd_android.o
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
$(call tc,bin2h) tmp/$T.bin $@
armeb.v4a-linux.elf-fold.h : tmp/$$T.o tmp/armeb.v4a-linux.elf-main.o $(srcdir)/src/$$T.lds
$(call tc,ld) --strip-all -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
$(call tc,f-objstrip,tmp/$T.bin)
$(call tc,sstrip) tmp/$T.bin
armeb.v4a-linux.elf-fold.h : $(srcdir)/src/$$T.lds \
tmp/$$T.o \
tmp/armeb.v4a-linux.elf-upxfd_android.o \
tmp/armeb.v4a-expand.o \
tmp/armeb.v4a-linux.elf-main2.o
$(call tc,ld) -r -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
$(call tc,f-embed_objinfo_without_xstrip_keep_dot_text,tmp/$T.bin)
$(call tc,bin2h) tmp/$T.bin $@
tmp/armeb.v4a-linux.elf-upxfd_android.o : $(srcdir)/src/upxfd_android.c
$(call tc,gcc) -c -O $< -o $@
$(call tc,objcopy) -R .comment $@
$(call tc,objdump) -Dr $(tc_objdump_disasm_options) $@ | $(RTRIM) > $@.disasm
tmp/armeb.v4a-expand.o: $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
tmp/armeb.v4a-linux.elf-fold.o : $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
$(call tc,f-objstrip,$@)
tmp/armeb.v4a-linux.elf-main.o : $(srcdir)/src/$$T.c $(srcdir)/src/i386-linux.elf-main.c
tmp/armeb.v4a-linux.elf-main2.o : $(srcdir)/src/$$T.c $(srcdir)/src/i386-linux.elf-main2.c
$(call tc,gcc) -c -Os $< -o $@
$(call tc,f-objstrip,$@)
tmp/armeb.v4a-linux.elf-so_main.o : $(srcdir)/src/$$T.c $(srcdir)/src/i386-linux.elf-so_main.c
$(call tc,gcc) -c -O $< -o $@
$(call tc,objcopy) --rename-section .text=SO_MAIN -R .comment -R .note -R .note.GNU-stack -R .reginfo $@
$(call tc,f-objstrip,$@)
# /***********************************************************************
# // armeb.v5a-linux.kernel.vmlinux (arm.v5a)
+541 -882
View File
File diff suppressed because it is too large Load Diff
+1944 -443
View File
File diff suppressed because it is too large Load Diff
+440 -151
View File
@@ -1,5 +1,5 @@
/* arm.v4a-linux.elf-so_entry.h
created from arm.v4a-linux.elf-so_entry.bin, 2362 (0x93a) bytes
created from arm.v4a-linux.elf-so_entry.bin, 6981 (0x1b45) bytes
This file is part of the UPX executable compressor.
@@ -32,157 +32,446 @@
/* clang-format off */
#define STUB_ARM_V4A_LINUX_ELF_SO_ENTRY_SIZE 2362
#define STUB_ARM_V4A_LINUX_ELF_SO_ENTRY_ADLER32 0xa351fe78
#define STUB_ARM_V4A_LINUX_ELF_SO_ENTRY_CRC32 0xc0ef1f87
#define STUB_ARM_V4A_LINUX_ELF_SO_ENTRY_SIZE 6981
#define STUB_ARM_V4A_LINUX_ELF_SO_ENTRY_ADLER32 0x0cd8733c
#define STUB_ARM_V4A_LINUX_ELF_SO_ENTRY_CRC32 0x43dd61b6
unsigned char stub_arm_v4a_linux_elf_so_entry[2362] = {
unsigned char stub_arm_v4a_linux_elf_so_entry[6981] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 1, 0, 40, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 60, 2, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0,
/* 0x0030 */ 8, 0, 5, 0,120, 71,192, 70, 0, 0,160,225,255, 64, 45,233,
/* 0x0040 */ 8,208, 77,226,254,255,255,235, 13, 80,160,225, 0, 0,158,229,
/* 0x0050 */ 4, 0,133,229, 0, 0, 77,224, 7,208,192,227, 4, 48,133,226,
/* 0x0060 */ 13, 32,160,225, 4, 16,158,229, 12, 0,142,226, 54, 0, 0,235,
/* 0x0070 */ 19, 0, 0,235, 2, 64, 64, 0,192, 1, 0, 0, 47,100,101,118,
/* 0x0080 */ 47,115,104,109, 0, 0, 0, 0, 14, 0,160,225, 6, 0,176,232,
/* 0x0090 */ 5,112,160,227, 0,112,135,227, 0, 0, 0,239, 0, 96,160,225,
/* 0x00a0 */ 13, 16,160,225, 4, 32,149,229, 7,192,160,225, 4,112,160,227,
/* 0x00b0 */ 0, 0, 0,239, 12,112,160,225, 5,208,160,225, 0, 80,160,227,
/* 0x00c0 */ 6, 64,160,225, 2, 48,160,227, 5, 32,160,227, 4, 16,157,229,
/* 0x00d0 */ 0, 0,160,227, 7,192,160,225,192,112,160,227, 0, 0, 0,239,
/* 0x00e0 */ 12,112,160,225, 0, 0,141,229, 6, 0,160,225, 7,192,160,225,
/* 0x00f0 */ 6,112,160,227, 0, 0, 0,239, 12,112,160,225,224, 0, 79,226,
/* 0x0100 */ 8, 16,141,226, 0,240,157,229, 47,100,101,118, 47,115,104,109,
/* 0x0110 */ 0, 0, 0, 0, 0, 16,129,224, 62, 64, 45,233, 0, 80,224,227,
/* 0x0120 */ 2, 65,160,227, 89, 0, 0,234, 26, 0,189,232, 1, 0, 64,224,
/* 0x0130 */ 3, 32, 66,224, 0, 32,132,229, 0, 64,160,225, 3, 0,160,225,
/* 0x0140 */ 2, 16,131,224, 0, 32,160,227, 7,192,160,225, 2,112,160,227,
/* 0x0150 */ 15,120,135,227, 0, 0, 0,239, 12,112,160,225, 4, 0,160,225,
/* 0x0160 */ 48,128,189,232, 4, 64,148,224, 14,240,160, 17, 1, 64,208,228,
/* 0x0170 */ 4, 64,164,224, 4, 76,176,225, 14,240,160,225, 1, 16,160,227,
/* 0x0180 */ 14,192,160,225, 74, 0, 0,235, 1, 16,177,224, 74, 0, 0,235,
/* 0x0190 */ 82, 0, 0, 58, 12,240,160,225, 1, 48,208,228, 1, 48,194,228,
/* 0x01a0 */ 74, 0, 0,235, 87, 0, 0, 42, 80, 0, 0,235, 3, 48, 81,226,
/* 0x01b0 */ 0, 16,160,227, 99, 0, 0, 58, 1, 80,208,228, 3, 84,133,225,
/* 0x01c0 */ 5, 80,240,225, 59, 0, 0, 10, 74, 0, 0,235, 1, 16,177,224,
/* 0x01d0 */ 74, 0, 0,235, 1, 16,177,224,106, 0, 0, 26, 80, 0, 0,235,
/* 0x01e0 */ 2, 16,129,226, 13, 12,117,227, 1, 16,129, 50, 5, 48,210,231,
/* 0x01f0 */ 1, 16, 81,226, 1, 48,194,228,108, 0, 0, 42, 89, 0, 0,234,
/* 0x0200 */ 3, 0, 0,235, 0, 46,115,121,109,116, 97, 98, 0, 46,115,116,
/* 0x0210 */ 114,116, 97, 98, 0, 46,115,104,115,116,114,116, 97, 98, 0, 46,
/* 0x0220 */ 114,101,108, 69, 76, 70, 77, 65, 73, 78, 88, 0, 46,114,101,108,
/* 0x0230 */ 69, 76, 70, 77, 65, 73, 78, 90, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0240 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0250 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0260 */ 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0,
/* 0x0270 */ 0, 0, 0, 0, 52, 0, 0, 0,204, 1, 0, 0, 0, 0, 0, 0,
/* 0x0280 */ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,
/* 0x0290 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 3, 0, 0,
/* 0x02a0 */ 144, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0,
/* 0x02b0 */ 8, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0,
/* 0x02c0 */ 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
/* 0x02d0 */ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0,
/* 0x02e0 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 4, 0, 0,
/* 0x02f0 */ 8, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
/* 0x0300 */ 8, 0, 0, 0, 17, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
/* 0x0310 */ 0, 0, 0, 0, 4, 2, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0,
/* 0x0320 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
/* 0x0330 */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 3, 0, 0,
/* 0x0340 */ 80, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
/* 0x0350 */ 16, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
/* 0x0360 */ 0, 0, 0, 0,204, 3, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
/* 0x0370 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0380 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0390 */ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0,
/* 0x03a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 1, 0, 0, 0,
/* 0x03b0 */ 1, 0, 0, 0, 0, 0, 0, 0, 18, 0, 1, 0, 8, 0, 0, 0,
/* 0x03c0 */ 224, 0, 0, 0,236, 0, 0, 0, 18, 0, 1, 0, 0, 95,115,116,
/* 0x03d0 */ 97,114,116, 0,117, 99,108, 95,110,114,118, 50, 98, 95,100,101,
/* 0x03e0 */ 99,111,109,112,114,101,115,115, 95, 56, 0, 0, 16, 0, 0, 0,
/* 0x03f0 */ 1, 2, 0, 0, 56, 0, 0, 0, 1, 1, 0, 0, 60, 0, 0, 0,
/* 0x0400 */ 1, 1, 0, 0,240, 0, 0, 0, 1, 1, 0, 0, 80, 1, 0, 0,
/* 0x0410 */ 1, 1, 0, 0, 88, 1, 0, 0, 1, 1, 0, 0, 92, 1, 0, 0,
/* 0x0420 */ 1, 1, 0, 0,108, 1, 0, 0, 1, 1, 0, 0,112, 1, 0, 0,
/* 0x0430 */ 1, 1, 0, 0,116, 1, 0, 0, 1, 1, 0, 0,128, 1, 0, 0,
/* 0x0440 */ 1, 1, 0, 0,144, 1, 0, 0, 1, 1, 0, 0,148, 1, 0, 0,
/* 0x0450 */ 1, 1, 0, 0,156, 1, 0, 0, 1, 1, 0, 0,164, 1, 0, 0,
/* 0x0460 */ 1, 1, 0, 0,168, 1, 0, 0, 1, 1, 0, 0,196, 1, 0, 0,
/* 0x0470 */ 1, 1, 0, 0,200, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
/* 0x0480 */ 1, 1, 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32,
/* 0x0490 */ 101,108,102, 51, 50, 45,108,105,116,116,108,101, 97,114,109, 10,
/* 0x04a0 */ 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78,
/* 0x04b0 */ 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,
/* 0x04c0 */ 101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32,
/* 0x04d0 */ 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,
/* 0x04e0 */ 111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115,
/* 0x04f0 */ 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32,
/* 0x0500 */ 32, 32, 32, 48, 49, 99, 99, 32, 32, 48, 32, 32, 48, 32, 32, 48,
/* 0x0510 */ 51, 52, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, 78,
/* 0x0520 */ 84, 83, 10, 32, 32, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32,
/* 0x0530 */ 32, 32, 32, 32, 32, 48, 52, 32, 32, 48, 32, 32, 48, 32, 32, 48,
/* 0x0540 */ 50, 48, 48, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69,
/* 0x0550 */ 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69,
/* 0x0560 */ 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x0570 */ 100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 69, 76,
/* 0x0580 */ 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x0590 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,
/* 0x05a0 */ 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48,
/* 0x05b0 */ 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 69, 76, 70,
/* 0x05c0 */ 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116, 97,114,116, 10, 48,
/* 0x05d0 */ 48, 48, 48, 48, 48,101, 48, 32,103, 32, 32, 32, 32, 32, 70, 32,
/* 0x05e0 */ 69, 76, 70, 77, 65, 73, 78, 88, 32, 48,101, 99, 32,117, 99,108,
/* 0x05f0 */ 95,110,114,118, 50, 98, 95,100,101, 99,111,109,112,114,101,115,
/* 0x0600 */ 115, 95, 56, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32,
/* 0x0610 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70,
/* 0x0620 */ 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32,
/* 0x0630 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0640 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 49,
/* 0x0650 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x0660 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48,
/* 0x0670 */ 48, 48, 48, 51, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x0680 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0690 */ 10, 48, 48, 48, 48, 48, 48, 51, 99, 32, 82, 95, 65, 82, 77, 95,
/* 0x06a0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x06b0 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48,102, 48, 32, 82, 95,
/* 0x06c0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x06d0 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 53,
/* 0x06e0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x06f0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x0700 */ 48, 48, 49, 53, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x0710 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0720 */ 10, 48, 48, 48, 48, 48, 49, 53, 99, 32, 82, 95, 65, 82, 77, 95,
/* 0x0730 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x0740 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 54, 99, 32, 82, 95,
/* 0x0750 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0760 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 55,
/* 0x0770 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x0780 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x0790 */ 48, 48, 49, 55, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x07a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x07b0 */ 10, 48, 48, 48, 48, 48, 49, 56, 48, 32, 82, 95, 65, 82, 77, 95,
/* 0x07c0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x07d0 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 57, 48, 32, 82, 95,
/* 0x07e0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x07f0 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 57,
/* 0x0800 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x0810 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x0820 */ 48, 48, 49, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x0830 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0840 */ 10, 48, 48, 48, 48, 48, 49, 97, 52, 32, 82, 95, 65, 82, 77, 95,
/* 0x0850 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x0860 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 97, 56, 32, 82, 95,
/* 0x0870 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0880 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 99,
/* 0x0890 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x08a0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x08b0 */ 48, 48, 49, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x08c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x08d0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67,
/* 0x08e0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73,
/* 0x08f0 */ 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89,
/* 0x0900 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0910 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82,
/* 0x0920 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32,
/* 0x0930 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 10
/* 0x0020 */ 40, 6, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0,
/* 0x0030 */ 8, 0, 5, 0, 3, 0, 0,235,120, 71,192, 70, 0, 0,160,225,
/* 0x0040 */ 255, 64, 45,233, 8,208, 77,226,254,255,255,235, 13, 80,160,225,
/* 0x0050 */ 0, 0,158,229, 4, 0,133,229, 0, 0, 77,224, 7,208,192,227,
/* 0x0060 */ 4, 48,133,226, 13, 32,160,225, 4, 16,158,229, 12, 0,142,226,
/* 0x0070 */ 54, 0, 0,235, 19, 0, 0,235, 2, 64, 64, 0,192, 1, 0, 0,
/* 0x0080 */ 47,100,101,118, 47,115,104,109, 0, 0, 0, 0, 14, 0,160,225,
/* 0x0090 */ 6, 0,176,232, 5,112,160,227, 0,112,135,227, 0, 0, 0,239,
/* 0x00a0 */ 0, 96,160,225, 13, 16,160,225, 4, 32,149,229, 7,192,160,225,
/* 0x00b0 */ 4,112,160,227, 0, 0, 0,239, 12,112,160,225, 5,208,160,225,
/* 0x00c0 */ 0, 80,160,227, 6, 64,160,225, 2, 48,160,227, 5, 32,160,227,
/* 0x00d0 */ 4, 16,157,229, 0, 0,160,227, 7,192,160,225,192,112,160,227,
/* 0x00e0 */ 0, 0, 0,239, 12,112,160,225, 0, 0,141,229, 6, 0,160,225,
/* 0x00f0 */ 7,192,160,225, 6,112,160,227, 0, 0, 0,239, 12,112,160,225,
/* 0x0100 */ 224, 0, 79,226, 8, 16,141,226, 0,240,157,229, 47,100,101,118,
/* 0x0110 */ 47,115,104,109, 0, 0, 0, 0, 0, 16,129,224, 62, 64, 45,233,
/* 0x0120 */ 0, 80,224,227, 2, 65,160,227, 89, 0, 0,234, 26, 0,189,232,
/* 0x0130 */ 1, 0, 64,224, 3, 32, 66,224, 0, 32,132,229, 0, 64,160,225,
/* 0x0140 */ 3, 0,160,225, 2, 16,131,224, 0, 32,160,227, 7,192,160,225,
/* 0x0150 */ 2,112,160,227, 15,120,135,227, 0, 0, 0,239, 12,112,160,225,
/* 0x0160 */ 4, 0,160,225, 48,128,189,232, 4, 64,148,224, 14,240,160, 17,
/* 0x0170 */ 1, 64,208,228, 4, 64,164,224, 4, 76,176,225, 14,240,160,225,
/* 0x0180 */ 1, 16,160,227, 14,192,160,225, 74, 0, 0,235, 1, 16,177,224,
/* 0x0190 */ 74, 0, 0,235, 82, 0, 0, 58, 12,240,160,225, 1, 48,208,228,
/* 0x01a0 */ 1, 48,194,228, 74, 0, 0,235, 87, 0, 0, 42, 80, 0, 0,235,
/* 0x01b0 */ 3, 48, 81,226, 0, 16,160,227, 99, 0, 0, 58, 1, 80,208,228,
/* 0x01c0 */ 3, 84,133,225, 5, 80,240,225, 59, 0, 0, 10, 74, 0, 0,235,
/* 0x01d0 */ 1, 16,177,224, 74, 0, 0,235, 1, 16,177,224,106, 0, 0, 26,
/* 0x01e0 */ 80, 0, 0,235, 2, 16,129,226, 13, 12,117,227, 1, 16,129, 50,
/* 0x01f0 */ 5, 48,210,231, 1, 16, 81,226, 1, 48,194,228,108, 0, 0, 42,
/* 0x0200 */ 89, 0, 0,234, 63, 32, 0,226, 31, 48, 0,226, 26, 0, 83,227,
/* 0x0210 */ 120, 0, 0,154, 32, 0, 16,227, 70, 32, 66, 18, 43, 32, 66, 2,
/* 0x0220 */ 64, 0,130,226, 30,255, 47,225, 2,192,160,225,132, 0, 0,234,
/* 0x0230 */ 0, 32,208,229, 32, 32,130,227, 0, 48,209,229, 32, 48,131,227,
/* 0x0240 */ 3, 32, 82,224,136, 0, 0, 26, 1, 0,128,226, 1, 16,129,226,
/* 0x0250 */ 1,192, 76,226, 1, 0,124,227,124, 0, 0, 26, 0, 32,160,227,
/* 0x0260 */ 2, 0,160,225, 30,255, 47,225, 48, 64, 45,233, 64,208, 77,226,
/* 0x0270 */ 0, 80,160,225, 13, 64,160,225, 13, 0,160,225,255, 16,160,227,
/* 0x0280 */ 64, 32,160,227,254,255,255,235, 5, 0,160,225, 13, 16,160,225,
/* 0x0290 */ 254,255,255,235, 0, 0, 80,227,156, 0, 0,186,184, 48,221,225,
/* 0x02a0 */ 15, 58, 3,226, 1, 9, 83,227, 0, 0,160, 3,160, 0, 0,234,
/* 0x02b0 */ 2, 0,112,227, 5, 0,160, 1, 7, 29,160, 3,254,255,255, 11,
/* 0x02c0 */ 64,208,141,226, 48,128,189,232,240, 64, 45,233, 0,112,160,225,
/* 0x02d0 */ 1, 80,160,225,169, 0, 0,235, 47,100, 97,116, 97, 47,100, 97,
/* 0x02e0 */ 116, 97, 47, 0, 14, 16,160,225, 11, 32,160,227,254,255,255,235,
/* 0x02f0 */ 0, 64,160,227, 0, 64,192,229, 7, 0,160,225,138, 0, 0,235,
/* 0x0300 */ 182, 0, 0,235, 47,112,114,111, 99, 47,115,101,108,102, 47, 99,
/* 0x0310 */ 109,100,108,105,110,101, 0, 0, 14, 0,160,225, 4, 16,160,225,
/* 0x0320 */ 4, 32,160,225,254,255,255,235, 0, 64,160,225, 5, 16,160,225,
/* 0x0330 */ 255, 46,160,227, 15, 32,130,226,254,255,255,235, 0, 96,160,225,
/* 0x0340 */ 4, 0,160,225,254,255,255,235, 0, 0, 86,227, 6, 0,160,177,
/* 0x0350 */ 240,128,189,184, 0, 48,160,227, 6, 48,197,231, 0, 48,213,229,
/* 0x0360 */ 0, 0, 83,227, 5, 32,160, 1,253, 0, 0, 10, 5, 16,160,225,
/* 0x0370 */ 1, 48,241,229, 0, 0, 83,227,204, 0, 0, 26, 1, 32,160,225,
/* 0x0380 */ 253, 0, 0,234, 1, 48,124,229, 47, 0, 83,227,209, 0, 0, 26,
/* 0x0390 */ 10, 0,135,226, 12, 16,160,225, 2, 32,108,224,254,255,255,235,
/* 0x03a0 */ 0, 64,160,225, 0, 96,160,227, 0, 96,192,229, 7, 0,160,225,
/* 0x03b0 */ 138, 0, 0,235,224, 0, 0,235, 47, 99, 97, 99,104,101, 0, 0,
/* 0x03c0 */ 14, 16,160,225, 4, 0,160,225, 6, 32,160,227,254,255,255,235,
/* 0x03d0 */ 0, 64,160,225, 0, 96,192,229, 7, 0,160,225,138, 0, 0,235,
/* 0x03e0 */ 235, 0, 0,235, 47,117,112,120, 0, 0, 0, 0, 14, 16,160,225,
/* 0x03f0 */ 4, 0,160,225, 4, 32,160,227,254,255,255,235, 0, 64,160,225,
/* 0x0400 */ 254,255,255,235, 0, 80,160,225,113, 0, 0,235, 0, 0,196,229,
/* 0x0410 */ 37, 3,160,225,113, 0, 0,235, 1, 0,196,229, 37, 6,160,225,
/* 0x0420 */ 113, 0, 0,235, 2, 0,196,229, 3, 96,196,229, 6, 0,160,225,
/* 0x0430 */ 240,128,189,232, 2,192,160,225,209, 0, 0,234, 13,192,160,225,
/* 0x0440 */ 240,223, 45,233, 4,176, 76,226, 8,208, 77,226, 0,144,160,225,
/* 0x0450 */ 1,128,160,225, 2, 64,160,225, 8, 1, 0,235,117,112,120, 0,
/* 0x0460 */ 14, 0,160,225, 16, 16,160,227,254,255,255,235, 0, 96,160,225,
/* 0x0470 */ 1,218, 77,226, 4,208, 77,226, 8,112,141,226, 0, 48,160,227,
/* 0x0480 */ 0, 48,135,229, 7, 0,160,225,254,255,255,235, 22, 1, 0,235,
/* 0x0490 */ 97,110,100,114, 0, 0, 0, 0, 14, 0,160,225, 7, 16,160,225,
/* 0x04a0 */ 4, 32,160,227,122, 0, 0,235, 0,160,160,225, 1, 80,112,226,
/* 0x04b0 */ 0, 80,160, 51, 0, 0, 84,227, 0, 0, 80, 3, 34, 1, 0, 26,
/* 0x04c0 */ 254,255,255,235, 0, 64,160,225, 38, 0,118,227, 0, 48,160, 19,
/* 0x04d0 */ 1, 48,160, 3, 3, 0, 21,225, 58, 1, 0, 10, 0, 0, 84,227,
/* 0x04e0 */ 58, 1, 0, 10, 0, 48,212,229, 0, 0, 83,227, 49, 1, 0, 26,
/* 0x04f0 */ 4, 0,160,225, 7, 16,160,225,162, 0, 0,235, 0, 0, 80,227,
/* 0x0500 */ 106, 1, 0,186, 4, 0,160,225,194, 16,160,227, 7, 45,160,227,
/* 0x0510 */ 254,255,255,235, 0, 96, 80,226, 6, 0,160,177,106, 1, 0,186,
/* 0x0520 */ 4, 0,160,225,254,255,255,235, 0, 0, 88,227, 88, 1, 0, 10,
/* 0x0530 */ 0, 0, 90,227, 68, 1, 0, 10, 6, 0,160,225, 8, 16,160,225,
/* 0x0540 */ 254,255,255,235, 0, 0, 80,227, 88, 1, 0,170,106, 1, 0,234,
/* 0x0550 */ 7, 0,160,225, 0, 16,160,227, 1, 42,160,227,254,255,255,235,
/* 0x0560 */ 8, 80,160,225, 1, 10, 85,227, 5, 64,160, 49, 1, 74,160, 35,
/* 0x0570 */ 6, 0,160,225, 7, 16,160,225, 4, 32,160,225,254,255,255,235,
/* 0x0580 */ 0, 0, 84,225, 92, 1, 0, 26, 4, 80, 85,224, 73, 1, 0, 26,
/* 0x0590 */ 6, 0,160,225, 5, 16,160,225, 5, 32,160,225,254,255,255,235,
/* 0x05a0 */ 0, 0, 89,227, 17,192,160, 19, 95, 1, 0, 26, 94, 1, 0,234,
/* 0x05b0 */ 27, 0,224,227,106, 1, 0,234, 1,192,160,227, 0, 96,141,229,
/* 0x05c0 */ 0, 48,160,227, 4, 48,141,229, 9, 0,160,225, 8, 16,160,225,
/* 0x05d0 */ 3, 32,160,227, 12, 48,160,225,254,255,255,235, 1, 10,112,227,
/* 0x05e0 */ 1, 48,134,146, 3, 0,128,145, 40,208, 75,226,240,175,157,232,
/* 0x05f0 */ 0, 46,115,121,109,116, 97, 98, 0, 46,115,116,114,116, 97, 98,
/* 0x0600 */ 0, 46,115,104,115,116,114,116, 97, 98, 0, 46,114,101,108, 69,
/* 0x0610 */ 76, 70, 77, 65, 73, 78, 90, 0, 46,114,101,108, 69, 76, 70, 77,
/* 0x0620 */ 65, 73, 78, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0630 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0640 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0650 */ 31, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
/* 0x0660 */ 52, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0670 */ 4, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 9, 0, 0, 0,
/* 0x0680 */ 0, 0, 0, 0, 0, 0, 0, 0,108, 9, 0, 0, 8, 0, 0, 0,
/* 0x0690 */ 6, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,
/* 0x06a0 */ 44, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
/* 0x06b0 */ 56, 0, 0, 0,184, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x06c0 */ 4, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 9, 0, 0, 0,
/* 0x06d0 */ 0, 0, 0, 0, 0, 0, 0, 0,116, 9, 0, 0,120, 2, 0, 0,
/* 0x06e0 */ 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,
/* 0x06f0 */ 17, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0700 */ 240, 5, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0710 */ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0,
/* 0x0720 */ 0, 0, 0, 0, 0, 0, 0, 0,104, 7, 0, 0, 96, 1, 0, 0,
/* 0x0730 */ 7, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 16, 0, 0, 0,
/* 0x0740 */ 9, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0750 */ 200, 8, 0, 0,164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0760 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0770 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0780 */ 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0790 */ 0, 0, 0, 0, 3, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0,
/* 0x07a0 */ 0, 0, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0, 4, 4, 0, 0,
/* 0x07b0 */ 180, 1, 0, 0, 18, 0, 3, 0, 24, 0, 0, 0, 0, 0, 0, 0,
/* 0x07c0 */ 0, 0, 0, 0, 16, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
/* 0x07d0 */ 0, 0, 0, 0, 16, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0,
/* 0x07e0 */ 0, 0, 0, 0, 16, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
/* 0x07f0 */ 0, 0, 0, 0, 16, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0,
/* 0x0800 */ 0, 0, 0, 0, 16, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
/* 0x0810 */ 0, 0, 0, 0, 16, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
/* 0x0820 */ 0, 0, 0, 0, 16, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0,
/* 0x0830 */ 0, 0, 0, 0, 16, 0, 0, 0, 93, 0, 0, 0, 1, 0, 0, 0,
/* 0x0840 */ 0, 0, 0, 0, 18, 0, 3, 0,100, 0, 0, 0, 0, 0, 0, 0,
/* 0x0850 */ 0, 0, 0, 0, 16, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0,
/* 0x0860 */ 0, 0, 0, 0, 16, 0, 0, 0,112, 0, 0, 0, 0, 0, 0, 0,
/* 0x0870 */ 0, 0, 0, 0, 16, 0, 0, 0,119, 0, 0, 0,224, 0, 0, 0,
/* 0x0880 */ 236, 0, 0, 0, 18, 0, 3, 0,142, 0, 0, 0, 0, 0, 0, 0,
/* 0x0890 */ 0, 0, 0, 0, 16, 0, 0, 0,147, 0, 0, 0, 0, 0, 0, 0,
/* 0x08a0 */ 0, 0, 0, 0, 16, 0, 0, 0,152, 0, 0, 0, 0, 0, 0, 0,
/* 0x08b0 */ 0, 0, 0, 0, 16, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 0,
/* 0x08c0 */ 0, 0, 0, 0, 16, 0, 0, 0, 0,103,101,116,112,105,100, 0,
/* 0x08d0 */ 117,112,120, 95,109,109, 97,112, 95, 97,110,100, 95,102,100, 0,
/* 0x08e0 */ 109,101,109,112, 99,112,121, 0,102,116,114,117,110, 99, 97,116,
/* 0x08f0 */ 101, 0,108,115,101,101,107, 0,109,109, 97,112, 0,117,110, 97,
/* 0x0900 */ 109,101, 0,119,114,105,116,101, 0,103,101,116, 95,117,112,120,
/* 0x0910 */ 102,110, 95,112, 97,116,104, 0,109,101,109,102,100, 95, 99,114,
/* 0x0920 */ 101, 97,116,101, 0, 95,115,116, 97,114,116, 0,114,101, 97,100,
/* 0x0930 */ 0,117,110,108,105,110,107, 0,109,101,109,115,101,116, 0,117,
/* 0x0940 */ 99,108, 95,110,114,118, 50, 98, 95,100,101, 99,111,109,112,114,
/* 0x0950 */ 101,115,115, 95, 56, 0,115,116, 97,116, 0,111,112,101,110, 0,
/* 0x0960 */ 109,107,100,105,114, 0, 99,108,111,115,101, 0, 0, 0, 0, 0,
/* 0x0970 */ 1, 2, 0, 0, 16, 0, 0, 0, 1, 1, 0, 0, 56, 0, 0, 0,
/* 0x0980 */ 1, 2, 0, 0, 60, 0, 0, 0, 1, 2, 0, 0,240, 0, 0, 0,
/* 0x0990 */ 1, 2, 0, 0, 80, 1, 0, 0, 1, 2, 0, 0, 88, 1, 0, 0,
/* 0x09a0 */ 1, 2, 0, 0, 92, 1, 0, 0, 1, 2, 0, 0,108, 1, 0, 0,
/* 0x09b0 */ 1, 2, 0, 0,112, 1, 0, 0, 1, 2, 0, 0,116, 1, 0, 0,
/* 0x09c0 */ 1, 2, 0, 0,128, 1, 0, 0, 1, 2, 0, 0,144, 1, 0, 0,
/* 0x09d0 */ 1, 2, 0, 0,148, 1, 0, 0, 1, 2, 0, 0,156, 1, 0, 0,
/* 0x09e0 */ 1, 2, 0, 0,164, 1, 0, 0, 1, 2, 0, 0,168, 1, 0, 0,
/* 0x09f0 */ 1, 2, 0, 0,196, 1, 0, 0, 1, 2, 0, 0,200, 1, 0, 0,
/* 0x0a00 */ 1, 2, 0, 0,216, 1, 0, 0, 1, 2, 0, 0,244, 1, 0, 0,
/* 0x0a10 */ 1, 2, 0, 0, 12, 2, 0, 0, 1, 2, 0, 0, 32, 2, 0, 0,
/* 0x0a20 */ 1, 2, 0, 0, 76, 2, 0, 0, 1, 16, 0, 0, 88, 2, 0, 0,
/* 0x0a30 */ 1, 18, 0, 0, 96, 2, 0, 0, 1, 2, 0, 0,116, 2, 0, 0,
/* 0x0a40 */ 1, 2, 0, 0,132, 2, 0, 0, 1, 20, 0, 0,156, 2, 0, 0,
/* 0x0a50 */ 1, 2, 0, 0,180, 2, 0, 0, 1, 5, 0, 0,196, 2, 0, 0,
/* 0x0a60 */ 1, 2, 0, 0,200, 2, 0, 0, 1, 2, 0, 0,236, 2, 0, 0,
/* 0x0a70 */ 1, 19, 0, 0, 0, 3, 0, 0, 1, 14, 0, 0, 12, 3, 0, 0,
/* 0x0a80 */ 1, 21, 0, 0, 48, 3, 0, 0, 1, 2, 0, 0, 64, 3, 0, 0,
/* 0x0a90 */ 1, 2, 0, 0, 72, 3, 0, 0, 1, 2, 0, 0, 84, 3, 0, 0,
/* 0x0aa0 */ 1, 2, 0, 0,100, 3, 0, 0, 1, 5, 0, 0,120, 3, 0, 0,
/* 0x0ab0 */ 1, 2, 0, 0,124, 3, 0, 0, 1, 2, 0, 0,148, 3, 0, 0,
/* 0x0ac0 */ 1, 5, 0, 0,164, 3, 0, 0, 1, 2, 0, 0,168, 3, 0, 0,
/* 0x0ad0 */ 1, 2, 0, 0,192, 3, 0, 0, 1, 5, 0, 0,200, 3, 0, 0,
/* 0x0ae0 */ 1, 3, 0, 0,208, 3, 0, 0, 1, 2, 0, 0,220, 3, 0, 0,
/* 0x0af0 */ 1, 2, 0, 0,232, 3, 0, 0, 1, 2, 0, 0, 0, 4, 0, 0,
/* 0x0b00 */ 1, 2, 0, 0, 32, 4, 0, 0, 1, 2, 0, 0, 48, 4, 0, 0,
/* 0x0b10 */ 1, 12, 0, 0, 80, 4, 0, 0, 1, 9, 0, 0, 84, 4, 0, 0,
/* 0x0b20 */ 1, 2, 0, 0,108, 4, 0, 0, 1, 2, 0, 0,132, 4, 0, 0,
/* 0x0b30 */ 1, 2, 0, 0,136, 4, 0, 0, 1, 11, 0, 0,160, 4, 0, 0,
/* 0x0b40 */ 1, 2, 0, 0,168, 4, 0, 0, 1, 2, 0, 0,180, 4, 0, 0,
/* 0x0b50 */ 1, 2, 0, 0,192, 4, 0, 0, 1, 2, 0, 0,200, 4, 0, 0,
/* 0x0b60 */ 1, 2, 0, 0,216, 4, 0, 0, 1, 19, 0, 0,228, 4, 0, 0,
/* 0x0b70 */ 1, 2, 0, 0,236, 4, 0, 0, 1, 15, 0, 0,244, 4, 0, 0,
/* 0x0b80 */ 1, 2, 0, 0,252, 4, 0, 0, 1, 2, 0, 0, 8, 5, 0, 0,
/* 0x0b90 */ 1, 6, 0, 0, 16, 5, 0, 0, 1, 2, 0, 0, 20, 5, 0, 0,
/* 0x0ba0 */ 1, 2, 0, 0, 36, 5, 0, 0, 1, 16, 0, 0, 68, 5, 0, 0,
/* 0x0bb0 */ 1, 10, 0, 0, 76, 5, 0, 0, 1, 2, 0, 0, 84, 5, 0, 0,
/* 0x0bc0 */ 1, 2, 0, 0,100, 5, 0, 0, 1, 7, 0, 0,112, 5, 0, 0,
/* 0x0bd0 */ 1, 2, 0, 0,116, 5, 0, 0, 1, 2, 0, 0,124, 5, 0, 0,
/* 0x0be0 */ 1, 2, 0, 0,160, 5, 0, 0, 1, 8, 0, 0,102,105,108,101,
/* 0x0bf0 */ 32,102,111,114,109, 97,116, 32,101,108,102, 51, 50, 45,108,105,
/* 0x0c00 */ 116,116,108,101, 97,114,109, 10, 10, 83,101, 99,116,105,111,110,
/* 0x0c10 */ 115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32,
/* 0x0c20 */ 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86,
/* 0x0c30 */ 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32,
/* 0x0c40 */ 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,
/* 0x0c50 */ 110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70,
/* 0x0c60 */ 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 52, 32, 32, 48,
/* 0x0c70 */ 32, 32, 48, 32, 32, 48, 51, 52, 32, 32, 50, 42, 42, 50, 32, 32,
/* 0x0c80 */ 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 49, 32, 69, 76, 70,
/* 0x0c90 */ 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 53, 98, 56, 32,
/* 0x0ca0 */ 32, 48, 32, 32, 48, 32, 32, 48, 51, 56, 32, 32, 50, 42, 42, 50,
/* 0x0cb0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79,
/* 0x0cc0 */ 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x0cd0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x0ce0 */ 78, 90, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48,
/* 0x0cf0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69,
/* 0x0d00 */ 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73,
/* 0x0d10 */ 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32,
/* 0x0d20 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,103,101,116,112,
/* 0x0d30 */ 105,100, 10, 48, 48, 48, 48, 48, 52, 48, 52, 32,103, 32, 32, 32,
/* 0x0d40 */ 32, 32, 70, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 49, 98,
/* 0x0d50 */ 52, 32,117,112,120, 95,109,109, 97,112, 95, 97,110,100, 95,102,
/* 0x0d60 */ 100, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32,
/* 0x0d70 */ 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,109,101,109,112, 99,
/* 0x0d80 */ 112,121, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32,
/* 0x0d90 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,102,116,114,117,
/* 0x0da0 */ 110, 99, 97,116,101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
/* 0x0db0 */ 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,108,
/* 0x0dc0 */ 115,101,101,107, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32,
/* 0x0dd0 */ 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,109,109,
/* 0x0de0 */ 97,112, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32,
/* 0x0df0 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,117,110, 97,109,
/* 0x0e00 */ 101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32,
/* 0x0e10 */ 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,119,114,105,116,101,
/* 0x0e20 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32,
/* 0x0e30 */ 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,103,101,116, 95,117,112,
/* 0x0e40 */ 120,102,110, 95,112, 97,116,104, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x0e50 */ 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32,
/* 0x0e60 */ 48, 32,109,101,109,102,100, 95, 99,114,101, 97,116,101, 10, 48,
/* 0x0e70 */ 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32,
/* 0x0e80 */ 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116, 97,114,
/* 0x0e90 */ 116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32,
/* 0x0ea0 */ 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,114,101, 97,100, 10,
/* 0x0eb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0ec0 */ 32, 42, 85, 78, 68, 42, 32, 48, 32,117,110,108,105,110,107, 10,
/* 0x0ed0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0ee0 */ 32, 42, 85, 78, 68, 42, 32, 48, 32,109,101,109,115,101,116, 10,
/* 0x0ef0 */ 48, 48, 48, 48, 48, 48,101, 48, 32,103, 32, 32, 32, 32, 32, 70,
/* 0x0f00 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48,101, 99, 32,117, 99,
/* 0x0f10 */ 108, 95,110,114,118, 50, 98, 95,100,101, 99,111,109,112,114,101,
/* 0x0f20 */ 115,115, 95, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32,
/* 0x0f30 */ 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,115,116,
/* 0x0f40 */ 97,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32,
/* 0x0f50 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,111,112,101,110,
/* 0x0f60 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32,
/* 0x0f70 */ 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,109,107,100,105,114, 10,
/* 0x0f80 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0f90 */ 32, 42, 85, 78, 68, 42, 32, 48, 32, 99,108,111,115,101, 10, 10,
/* 0x0fa0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82,
/* 0x0fb0 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90,
/* 0x0fc0 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69,
/* 0x0fd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
/* 0x0fe0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 65,
/* 0x0ff0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x1000 */ 76, 70, 77, 65, 73, 78, 88, 10, 10, 82, 69, 76, 79, 67, 65, 84,
/* 0x1010 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32,
/* 0x1020 */ 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83,
/* 0x1030 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32,
/* 0x1040 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48,
/* 0x1050 */ 48, 48, 48, 49, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x1060 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,
/* 0x1070 */ 10, 48, 48, 48, 48, 48, 48, 51, 56, 32, 82, 95, 65, 82, 77, 95,
/* 0x1080 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x1090 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 51, 99, 32, 82, 95,
/* 0x10a0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x10b0 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48,102,
/* 0x10c0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x10d0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x10e0 */ 48, 48, 49, 53, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x10f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x1100 */ 10, 48, 48, 48, 48, 48, 49, 53, 56, 32, 82, 95, 65, 82, 77, 95,
/* 0x1110 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x1120 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 53, 99, 32, 82, 95,
/* 0x1130 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1140 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 54,
/* 0x1150 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x1160 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x1170 */ 48, 48, 49, 55, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x1180 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x1190 */ 10, 48, 48, 48, 48, 48, 49, 55, 52, 32, 82, 95, 65, 82, 77, 95,
/* 0x11a0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x11b0 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 56, 48, 32, 82, 95,
/* 0x11c0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x11d0 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 57,
/* 0x11e0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x11f0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x1200 */ 48, 48, 49, 57, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x1210 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x1220 */ 10, 48, 48, 48, 48, 48, 49, 57, 99, 32, 82, 95, 65, 82, 77, 95,
/* 0x1230 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x1240 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 97, 52, 32, 82, 95,
/* 0x1250 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1260 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 97,
/* 0x1270 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x1280 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x1290 */ 48, 48, 49, 99, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x12a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x12b0 */ 10, 48, 48, 48, 48, 48, 49, 99, 56, 32, 82, 95, 65, 82, 77, 95,
/* 0x12c0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x12d0 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49,100, 56, 32, 82, 95,
/* 0x12e0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x12f0 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49,102,
/* 0x1300 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x1310 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x1320 */ 48, 48, 50, 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x1330 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x1340 */ 10, 48, 48, 48, 48, 48, 50, 50, 48, 32, 82, 95, 65, 82, 77, 95,
/* 0x1350 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x1360 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 50, 52, 99, 32, 82, 95,
/* 0x1370 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1380 */ 109,101,109,115,101,116, 10, 48, 48, 48, 48, 48, 50, 53, 56, 32,
/* 0x1390 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
/* 0x13a0 */ 32, 32,115,116, 97,116, 10, 48, 48, 48, 48, 48, 50, 54, 48, 32,
/* 0x13b0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
/* 0x13c0 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48,
/* 0x13d0 */ 50, 55, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
/* 0x13e0 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48,
/* 0x13f0 */ 48, 48, 48, 48, 50, 56, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x1400 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,109,107,100,105,114, 10,
/* 0x1410 */ 48, 48, 48, 48, 48, 50, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x1420 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
/* 0x1430 */ 73, 78, 88, 10, 48, 48, 48, 48, 48, 50, 98, 52, 32, 82, 95, 65,
/* 0x1440 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,109,
/* 0x1450 */ 101,109,112, 99,112,121, 10, 48, 48, 48, 48, 48, 50, 99, 52, 32,
/* 0x1460 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
/* 0x1470 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48,
/* 0x1480 */ 50, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
/* 0x1490 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48,
/* 0x14a0 */ 48, 48, 48, 48, 50,101, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x14b0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,111,112,101,110, 10, 48,
/* 0x14c0 */ 48, 48, 48, 48, 51, 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x14d0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,114,101, 97,100, 10, 48,
/* 0x14e0 */ 48, 48, 48, 48, 51, 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x14f0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 99,108,111,115,101, 10,
/* 0x1500 */ 48, 48, 48, 48, 48, 51, 51, 48, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x1510 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
/* 0x1520 */ 73, 78, 88, 10, 48, 48, 48, 48, 48, 51, 52, 48, 32, 82, 95, 65,
/* 0x1530 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x1540 */ 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 51, 52, 56,
/* 0x1550 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32,
/* 0x1560 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48,
/* 0x1570 */ 48, 51, 53, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32,
/* 0x1580 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10,
/* 0x1590 */ 48, 48, 48, 48, 48, 51, 54, 52, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x15a0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,112, 99,
/* 0x15b0 */ 112,121, 10, 48, 48, 48, 48, 48, 51, 55, 56, 32, 82, 95, 65, 82,
/* 0x15c0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76,
/* 0x15d0 */ 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 51, 55, 99, 32,
/* 0x15e0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
/* 0x15f0 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48,
/* 0x1600 */ 51, 57, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
/* 0x1610 */ 32, 32, 32, 32, 32, 32,109,101,109,112, 99,112,121, 10, 48, 48,
/* 0x1620 */ 48, 48, 48, 51, 97, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50,
/* 0x1630 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x1640 */ 88, 10, 48, 48, 48, 48, 48, 51, 97, 56, 32, 82, 95, 65, 82, 77,
/* 0x1650 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70,
/* 0x1660 */ 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 51, 99, 48, 32, 82,
/* 0x1670 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32,
/* 0x1680 */ 32,109,101,109,112, 99,112,121, 10, 48, 48, 48, 48, 48, 51, 99,
/* 0x1690 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x16a0 */ 32, 32, 32, 32,103,101,116,112,105,100, 10, 48, 48, 48, 48, 48,
/* 0x16b0 */ 51,100, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
/* 0x16c0 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48,
/* 0x16d0 */ 48, 48, 48, 48, 51,100, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x16e0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x16f0 */ 78, 88, 10, 48, 48, 48, 48, 48, 51,101, 56, 32, 82, 95, 65, 82,
/* 0x1700 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76,
/* 0x1710 */ 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 52, 48, 48, 32,
/* 0x1720 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
/* 0x1730 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48,
/* 0x1740 */ 52, 50, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
/* 0x1750 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48,
/* 0x1760 */ 48, 48, 48, 48, 52, 51, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x1770 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,102,100, 95,
/* 0x1780 */ 99,114,101, 97,116,101, 10, 48, 48, 48, 48, 48, 52, 53, 48, 32,
/* 0x1790 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
/* 0x17a0 */ 32, 32,117,110, 97,109,101, 10, 48, 48, 48, 48, 48, 52, 53, 52,
/* 0x17b0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32,
/* 0x17c0 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48,
/* 0x17d0 */ 48, 52, 54, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32,
/* 0x17e0 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10,
/* 0x17f0 */ 48, 48, 48, 48, 48, 52, 56, 52, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x1800 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
/* 0x1810 */ 73, 78, 88, 10, 48, 48, 48, 48, 48, 52, 56, 56, 32, 82, 95, 65,
/* 0x1820 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,103,
/* 0x1830 */ 101,116, 95,117,112,120,102,110, 95,112, 97,116,104, 10, 48, 48,
/* 0x1840 */ 48, 48, 48, 52, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50,
/* 0x1850 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x1860 */ 88, 10, 48, 48, 48, 48, 48, 52, 97, 56, 32, 82, 95, 65, 82, 77,
/* 0x1870 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70,
/* 0x1880 */ 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 52, 98, 52, 32, 82,
/* 0x1890 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32,
/* 0x18a0 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 52,
/* 0x18b0 */ 99, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32,
/* 0x18c0 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48,
/* 0x18d0 */ 48, 48, 48, 52, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50,
/* 0x18e0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x18f0 */ 88, 10, 48, 48, 48, 48, 48, 52,100, 56, 32, 82, 95, 65, 82, 77,
/* 0x1900 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,111,112,101,
/* 0x1910 */ 110, 10, 48, 48, 48, 48, 48, 52,101, 52, 32, 82, 95, 65, 82, 77,
/* 0x1920 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70,
/* 0x1930 */ 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 52,101, 99, 32, 82,
/* 0x1940 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32,
/* 0x1950 */ 32,117,110,108,105,110,107, 10, 48, 48, 48, 48, 48, 52,102, 52,
/* 0x1960 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32,
/* 0x1970 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48,
/* 0x1980 */ 48, 52,102, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32,
/* 0x1990 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10,
/* 0x19a0 */ 48, 48, 48, 48, 48, 53, 48, 56, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x19b0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,102,116,114,117,110,
/* 0x19c0 */ 99, 97,116,101, 10, 48, 48, 48, 48, 48, 53, 49, 48, 32, 82, 95,
/* 0x19d0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x19e0 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 53, 49,
/* 0x19f0 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x1a00 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x1a10 */ 48, 48, 53, 50, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x1a20 */ 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,115,101,116, 10, 48,
/* 0x1a30 */ 48, 48, 48, 48, 53, 52, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x1a40 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,119,114,105,116,101, 10,
/* 0x1a50 */ 48, 48, 48, 48, 48, 53, 52, 99, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x1a60 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
/* 0x1a70 */ 73, 78, 88, 10, 48, 48, 48, 48, 48, 53, 53, 52, 32, 82, 95, 65,
/* 0x1a80 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x1a90 */ 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 53, 54, 52,
/* 0x1aa0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32,
/* 0x1ab0 */ 32, 32, 32,108,115,101,101,107, 10, 48, 48, 48, 48, 48, 53, 55,
/* 0x1ac0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x1ad0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x1ae0 */ 48, 48, 53, 55, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x1af0 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x1b00 */ 10, 48, 48, 48, 48, 48, 53, 55, 99, 32, 82, 95, 65, 82, 77, 95,
/* 0x1b10 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x1b20 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 53, 97, 48, 32, 82, 95,
/* 0x1b30 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1b40 */ 109,109, 97,112, 10
};
+674 -674
View File
File diff suppressed because it is too large Load Diff
+558 -888
View File
File diff suppressed because it is too large Load Diff
+1969 -205
View File
File diff suppressed because it is too large Load Diff
+443 -151
View File
@@ -1,5 +1,5 @@
/* arm.v5a-linux.elf-so_entry.h
created from arm.v5a-linux.elf-so_entry.bin, 2362 (0x93a) bytes
created from arm.v5a-linux.elf-so_entry.bin, 7029 (0x1b75) bytes
This file is part of the UPX executable compressor.
@@ -32,157 +32,449 @@
/* clang-format off */
#define STUB_ARM_V5A_LINUX_ELF_SO_ENTRY_SIZE 2362
#define STUB_ARM_V5A_LINUX_ELF_SO_ENTRY_ADLER32 0xa351fe78
#define STUB_ARM_V5A_LINUX_ELF_SO_ENTRY_CRC32 0xc0ef1f87
#define STUB_ARM_V5A_LINUX_ELF_SO_ENTRY_SIZE 7029
#define STUB_ARM_V5A_LINUX_ELF_SO_ENTRY_ADLER32 0xeb727d91
#define STUB_ARM_V5A_LINUX_ELF_SO_ENTRY_CRC32 0x159b63f4
unsigned char stub_arm_v5a_linux_elf_so_entry[2362] = {
unsigned char stub_arm_v5a_linux_elf_so_entry[7029] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 1, 0, 40, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 60, 2, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0,
/* 0x0030 */ 8, 0, 5, 0,120, 71,192, 70, 0, 0,160,225,255, 64, 45,233,
/* 0x0040 */ 8,208, 77,226,254,255,255,235, 13, 80,160,225, 0, 0,158,229,
/* 0x0050 */ 4, 0,133,229, 0, 0, 77,224, 7,208,192,227, 4, 48,133,226,
/* 0x0060 */ 13, 32,160,225, 4, 16,158,229, 12, 0,142,226, 54, 0, 0,235,
/* 0x0070 */ 19, 0, 0,235, 2, 64, 64, 0,192, 1, 0, 0, 47,100,101,118,
/* 0x0080 */ 47,115,104,109, 0, 0, 0, 0, 14, 0,160,225, 6, 0,176,232,
/* 0x0090 */ 5,112,160,227, 0,112,135,227, 0, 0, 0,239, 0, 96,160,225,
/* 0x00a0 */ 13, 16,160,225, 4, 32,149,229, 7,192,160,225, 4,112,160,227,
/* 0x00b0 */ 0, 0, 0,239, 12,112,160,225, 5,208,160,225, 0, 80,160,227,
/* 0x00c0 */ 6, 64,160,225, 2, 48,160,227, 5, 32,160,227, 4, 16,157,229,
/* 0x00d0 */ 0, 0,160,227, 7,192,160,225,192,112,160,227, 0, 0, 0,239,
/* 0x00e0 */ 12,112,160,225, 0, 0,141,229, 6, 0,160,225, 7,192,160,225,
/* 0x00f0 */ 6,112,160,227, 0, 0, 0,239, 12,112,160,225,224, 0, 79,226,
/* 0x0100 */ 8, 16,141,226, 0,240,157,229, 47,100,101,118, 47,115,104,109,
/* 0x0110 */ 0, 0, 0, 0, 0, 16,129,224, 62, 64, 45,233, 0, 80,224,227,
/* 0x0120 */ 2, 65,160,227, 89, 0, 0,234, 26, 0,189,232, 1, 0, 64,224,
/* 0x0130 */ 3, 32, 66,224, 0, 32,132,229, 0, 64,160,225, 3, 0,160,225,
/* 0x0140 */ 2, 16,131,224, 0, 32,160,227, 7,192,160,225, 2,112,160,227,
/* 0x0150 */ 15,120,135,227, 0, 0, 0,239, 12,112,160,225, 4, 0,160,225,
/* 0x0160 */ 48,128,189,232, 4, 64,148,224, 14,240,160, 17, 1, 64,208,228,
/* 0x0170 */ 4, 64,164,224, 4, 76,176,225, 14,240,160,225, 1, 16,160,227,
/* 0x0180 */ 14,192,160,225, 74, 0, 0,235, 1, 16,177,224, 74, 0, 0,235,
/* 0x0190 */ 82, 0, 0, 58, 12,240,160,225, 1, 48,208,228, 1, 48,194,228,
/* 0x01a0 */ 74, 0, 0,235, 87, 0, 0, 42, 80, 0, 0,235, 3, 48, 81,226,
/* 0x01b0 */ 0, 16,160,227, 99, 0, 0, 58, 1, 80,208,228, 3, 84,133,225,
/* 0x01c0 */ 5, 80,240,225, 59, 0, 0, 10, 74, 0, 0,235, 1, 16,177,224,
/* 0x01d0 */ 74, 0, 0,235, 1, 16,177,224,106, 0, 0, 26, 80, 0, 0,235,
/* 0x01e0 */ 2, 16,129,226, 13, 12,117,227, 1, 16,129, 50, 5, 48,210,231,
/* 0x01f0 */ 1, 16, 81,226, 1, 48,194,228,108, 0, 0, 42, 89, 0, 0,234,
/* 0x0200 */ 3, 0, 0,235, 0, 46,115,121,109,116, 97, 98, 0, 46,115,116,
/* 0x0210 */ 114,116, 97, 98, 0, 46,115,104,115,116,114,116, 97, 98, 0, 46,
/* 0x0220 */ 114,101,108, 69, 76, 70, 77, 65, 73, 78, 88, 0, 46,114,101,108,
/* 0x0230 */ 69, 76, 70, 77, 65, 73, 78, 90, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0240 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0250 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0260 */ 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0,
/* 0x0270 */ 0, 0, 0, 0, 52, 0, 0, 0,204, 1, 0, 0, 0, 0, 0, 0,
/* 0x0280 */ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,
/* 0x0290 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 3, 0, 0,
/* 0x02a0 */ 144, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0,
/* 0x02b0 */ 8, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0,
/* 0x02c0 */ 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
/* 0x02d0 */ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0,
/* 0x02e0 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 4, 0, 0,
/* 0x02f0 */ 8, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
/* 0x0300 */ 8, 0, 0, 0, 17, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
/* 0x0310 */ 0, 0, 0, 0, 4, 2, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0,
/* 0x0320 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
/* 0x0330 */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 3, 0, 0,
/* 0x0340 */ 80, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
/* 0x0350 */ 16, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
/* 0x0360 */ 0, 0, 0, 0,204, 3, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
/* 0x0370 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0380 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0390 */ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0,
/* 0x03a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 1, 0, 0, 0,
/* 0x03b0 */ 1, 0, 0, 0, 0, 0, 0, 0, 18, 0, 1, 0, 8, 0, 0, 0,
/* 0x03c0 */ 224, 0, 0, 0,236, 0, 0, 0, 18, 0, 1, 0, 0, 95,115,116,
/* 0x03d0 */ 97,114,116, 0,117, 99,108, 95,110,114,118, 50, 98, 95,100,101,
/* 0x03e0 */ 99,111,109,112,114,101,115,115, 95, 56, 0, 0, 16, 0, 0, 0,
/* 0x03f0 */ 1, 2, 0, 0, 56, 0, 0, 0, 1, 1, 0, 0, 60, 0, 0, 0,
/* 0x0400 */ 1, 1, 0, 0,240, 0, 0, 0, 1, 1, 0, 0, 80, 1, 0, 0,
/* 0x0410 */ 1, 1, 0, 0, 88, 1, 0, 0, 1, 1, 0, 0, 92, 1, 0, 0,
/* 0x0420 */ 1, 1, 0, 0,108, 1, 0, 0, 1, 1, 0, 0,112, 1, 0, 0,
/* 0x0430 */ 1, 1, 0, 0,116, 1, 0, 0, 1, 1, 0, 0,128, 1, 0, 0,
/* 0x0440 */ 1, 1, 0, 0,144, 1, 0, 0, 1, 1, 0, 0,148, 1, 0, 0,
/* 0x0450 */ 1, 1, 0, 0,156, 1, 0, 0, 1, 1, 0, 0,164, 1, 0, 0,
/* 0x0460 */ 1, 1, 0, 0,168, 1, 0, 0, 1, 1, 0, 0,196, 1, 0, 0,
/* 0x0470 */ 1, 1, 0, 0,200, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
/* 0x0480 */ 1, 1, 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32,
/* 0x0490 */ 101,108,102, 51, 50, 45,108,105,116,116,108,101, 97,114,109, 10,
/* 0x04a0 */ 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78,
/* 0x04b0 */ 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,
/* 0x04c0 */ 101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32,
/* 0x04d0 */ 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,
/* 0x04e0 */ 111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115,
/* 0x04f0 */ 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32,
/* 0x0500 */ 32, 32, 32, 48, 49, 99, 99, 32, 32, 48, 32, 32, 48, 32, 32, 48,
/* 0x0510 */ 51, 52, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, 78,
/* 0x0520 */ 84, 83, 10, 32, 32, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32,
/* 0x0530 */ 32, 32, 32, 32, 32, 48, 52, 32, 32, 48, 32, 32, 48, 32, 32, 48,
/* 0x0540 */ 50, 48, 48, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69,
/* 0x0550 */ 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69,
/* 0x0560 */ 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x0570 */ 100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 69, 76,
/* 0x0580 */ 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x0590 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,
/* 0x05a0 */ 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48,
/* 0x05b0 */ 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 69, 76, 70,
/* 0x05c0 */ 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116, 97,114,116, 10, 48,
/* 0x05d0 */ 48, 48, 48, 48, 48,101, 48, 32,103, 32, 32, 32, 32, 32, 70, 32,
/* 0x05e0 */ 69, 76, 70, 77, 65, 73, 78, 88, 32, 48,101, 99, 32,117, 99,108,
/* 0x05f0 */ 95,110,114,118, 50, 98, 95,100,101, 99,111,109,112,114,101,115,
/* 0x0600 */ 115, 95, 56, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32,
/* 0x0610 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70,
/* 0x0620 */ 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32,
/* 0x0630 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0640 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 49,
/* 0x0650 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x0660 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48,
/* 0x0670 */ 48, 48, 48, 51, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x0680 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0690 */ 10, 48, 48, 48, 48, 48, 48, 51, 99, 32, 82, 95, 65, 82, 77, 95,
/* 0x06a0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x06b0 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48,102, 48, 32, 82, 95,
/* 0x06c0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x06d0 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 53,
/* 0x06e0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x06f0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x0700 */ 48, 48, 49, 53, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x0710 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0720 */ 10, 48, 48, 48, 48, 48, 49, 53, 99, 32, 82, 95, 65, 82, 77, 95,
/* 0x0730 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x0740 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 54, 99, 32, 82, 95,
/* 0x0750 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0760 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 55,
/* 0x0770 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x0780 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x0790 */ 48, 48, 49, 55, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x07a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x07b0 */ 10, 48, 48, 48, 48, 48, 49, 56, 48, 32, 82, 95, 65, 82, 77, 95,
/* 0x07c0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x07d0 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 57, 48, 32, 82, 95,
/* 0x07e0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x07f0 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 57,
/* 0x0800 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x0810 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x0820 */ 48, 48, 49, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x0830 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0840 */ 10, 48, 48, 48, 48, 48, 49, 97, 52, 32, 82, 95, 65, 82, 77, 95,
/* 0x0850 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x0860 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 97, 56, 32, 82, 95,
/* 0x0870 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0880 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 99,
/* 0x0890 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x08a0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x08b0 */ 48, 48, 49, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x08c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x08d0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67,
/* 0x08e0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73,
/* 0x08f0 */ 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89,
/* 0x0900 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0910 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82,
/* 0x0920 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32,
/* 0x0930 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 10
/* 0x0020 */ 44, 6, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0,
/* 0x0030 */ 8, 0, 5, 0, 3, 0, 0,235,120, 71,192, 70, 0, 0,160,225,
/* 0x0040 */ 255, 64, 45,233, 8,208, 77,226,254,255,255,235, 13, 80,160,225,
/* 0x0050 */ 0, 0,158,229, 4, 0,133,229, 0, 0, 77,224, 7,208,192,227,
/* 0x0060 */ 4, 48,133,226, 13, 32,160,225, 4, 16,158,229, 12, 0,142,226,
/* 0x0070 */ 54, 0, 0,235, 19, 0, 0,235, 2, 64, 64, 0,192, 1, 0, 0,
/* 0x0080 */ 47,100,101,118, 47,115,104,109, 0, 0, 0, 0, 14, 0,160,225,
/* 0x0090 */ 6, 0,176,232, 5,112,160,227, 0,112,135,227, 0, 0, 0,239,
/* 0x00a0 */ 0, 96,160,225, 13, 16,160,225, 4, 32,149,229, 7,192,160,225,
/* 0x00b0 */ 4,112,160,227, 0, 0, 0,239, 12,112,160,225, 5,208,160,225,
/* 0x00c0 */ 0, 80,160,227, 6, 64,160,225, 2, 48,160,227, 5, 32,160,227,
/* 0x00d0 */ 4, 16,157,229, 0, 0,160,227, 7,192,160,225,192,112,160,227,
/* 0x00e0 */ 0, 0, 0,239, 12,112,160,225, 0, 0,141,229, 6, 0,160,225,
/* 0x00f0 */ 7,192,160,225, 6,112,160,227, 0, 0, 0,239, 12,112,160,225,
/* 0x0100 */ 224, 0, 79,226, 8, 16,141,226, 0,240,157,229, 47,100,101,118,
/* 0x0110 */ 47,115,104,109, 0, 0, 0, 0, 0, 16,129,224, 62, 64, 45,233,
/* 0x0120 */ 0, 80,224,227, 2, 65,160,227, 89, 0, 0,234, 26, 0,189,232,
/* 0x0130 */ 1, 0, 64,224, 3, 32, 66,224, 0, 32,132,229, 0, 64,160,225,
/* 0x0140 */ 3, 0,160,225, 2, 16,131,224, 0, 32,160,227, 7,192,160,225,
/* 0x0150 */ 2,112,160,227, 15,120,135,227, 0, 0, 0,239, 12,112,160,225,
/* 0x0160 */ 4, 0,160,225, 48,128,189,232, 4, 64,148,224, 14,240,160, 17,
/* 0x0170 */ 1, 64,208,228, 4, 64,164,224, 4, 76,176,225, 14,240,160,225,
/* 0x0180 */ 1, 16,160,227, 14,192,160,225, 74, 0, 0,235, 1, 16,177,224,
/* 0x0190 */ 74, 0, 0,235, 82, 0, 0, 58, 12,240,160,225, 1, 48,208,228,
/* 0x01a0 */ 1, 48,194,228, 74, 0, 0,235, 87, 0, 0, 42, 80, 0, 0,235,
/* 0x01b0 */ 3, 48, 81,226, 0, 16,160,227, 99, 0, 0, 58, 1, 80,208,228,
/* 0x01c0 */ 3, 84,133,225, 5, 80,240,225, 59, 0, 0, 10, 74, 0, 0,235,
/* 0x01d0 */ 1, 16,177,224, 74, 0, 0,235, 1, 16,177,224,106, 0, 0, 26,
/* 0x01e0 */ 80, 0, 0,235, 2, 16,129,226, 13, 12,117,227, 1, 16,129, 50,
/* 0x01f0 */ 5, 48,210,231, 1, 16, 81,226, 1, 48,194,228,108, 0, 0, 42,
/* 0x0200 */ 89, 0, 0,234, 63, 32, 0,226, 31, 48, 0,226, 26, 0, 83,227,
/* 0x0210 */ 120, 0, 0,154, 32, 0, 16,227, 70, 32, 66, 18, 43, 32, 66, 2,
/* 0x0220 */ 64, 0,130,226, 30,255, 47,225, 2,192,160,225,132, 0, 0,234,
/* 0x0230 */ 0, 32,208,229, 32, 32,130,227, 0, 48,209,229, 32, 48,131,227,
/* 0x0240 */ 3, 32, 82,224,136, 0, 0, 26, 1, 0,128,226, 1, 16,129,226,
/* 0x0250 */ 1,192, 76,226, 1, 0,124,227,124, 0, 0, 26, 0, 32,160,227,
/* 0x0260 */ 2, 0,160,225, 30,255, 47,225, 48, 64, 45,233, 64,208, 77,226,
/* 0x0270 */ 0, 80,160,225, 13, 64,160,225, 13, 0,160,225,255, 16,160,227,
/* 0x0280 */ 64, 32,160,227,254,255,255,235, 5, 0,160,225, 13, 16,160,225,
/* 0x0290 */ 254,255,255,235, 0, 0, 80,227,156, 0, 0,186,184, 48,221,225,
/* 0x02a0 */ 15, 58, 3,226, 1, 9, 83,227, 0, 0,160, 3,161, 0, 0,234,
/* 0x02b0 */ 2, 0,112,227,161, 0, 0, 26, 5, 0,160,225, 7, 29,160,227,
/* 0x02c0 */ 254,255,255,235, 64,208,141,226, 48,128,189,232,240, 64, 45,233,
/* 0x02d0 */ 0,112,160,225, 1, 80,160,225,170, 0, 0,235, 47,100, 97,116,
/* 0x02e0 */ 97, 47,100, 97,116, 97, 47, 0, 14, 16,160,225, 11, 32,160,227,
/* 0x02f0 */ 254,255,255,235, 0, 64,160,227, 0, 64,192,229, 7, 0,160,225,
/* 0x0300 */ 138, 0, 0,235,183, 0, 0,235, 47,112,114,111, 99, 47,115,101,
/* 0x0310 */ 108,102, 47, 99,109,100,108,105,110,101, 0, 0, 14, 0,160,225,
/* 0x0320 */ 4, 16,160,225, 4, 32,160,225,254,255,255,235, 0, 64,160,225,
/* 0x0330 */ 5, 16,160,225, 0, 33,159,229,254,255,255,235, 0, 96,160,225,
/* 0x0340 */ 4, 0,160,225,254,255,255,235, 0, 0, 86,227, 6, 0,160,177,
/* 0x0350 */ 240,128,189,184, 0, 48,160,227, 6, 48,197,231, 0, 48,213,229,
/* 0x0360 */ 0, 0, 83,227, 5, 32,160, 1,253, 0, 0, 10, 5, 16,160,225,
/* 0x0370 */ 1, 48,241,229, 0, 0, 83,227,204, 0, 0, 26, 1, 32,160,225,
/* 0x0380 */ 253, 0, 0,234, 1, 48,124,229, 47, 0, 83,227,209, 0, 0, 26,
/* 0x0390 */ 10, 0,135,226, 12, 16,160,225, 2, 32,108,224,254,255,255,235,
/* 0x03a0 */ 0, 64,160,225, 0, 96,160,227, 0, 96,192,229, 7, 0,160,225,
/* 0x03b0 */ 138, 0, 0,235,224, 0, 0,235, 47, 99, 97, 99,104,101, 0, 0,
/* 0x03c0 */ 14, 16,160,225, 4, 0,160,225, 6, 32,160,227,254,255,255,235,
/* 0x03d0 */ 0, 64,160,225, 0, 96,192,229, 7, 0,160,225,138, 0, 0,235,
/* 0x03e0 */ 235, 0, 0,235, 47,117,112,120, 0, 0, 0, 0, 14, 16,160,225,
/* 0x03f0 */ 4, 0,160,225, 4, 32,160,227,254,255,255,235, 0, 64,160,225,
/* 0x0400 */ 254,255,255,235, 0, 80,160,225,113, 0, 0,235, 0, 0,196,229,
/* 0x0410 */ 37, 3,160,225,113, 0, 0,235, 1, 0,196,229, 37, 6,160,225,
/* 0x0420 */ 113, 0, 0,235, 2, 0,196,229, 3, 96,196,229, 6, 0,160,225,
/* 0x0430 */ 240,128,189,232, 2,192,160,225,209, 0, 0,234,255, 15, 0, 0,
/* 0x0440 */ 13,192,160,225,240,223, 45,233, 4,176, 76,226, 8,208, 77,226,
/* 0x0450 */ 0,144,160,225, 1,128,160,225, 2, 64,160,225, 9, 1, 0,235,
/* 0x0460 */ 117,112,120, 0, 14, 0,160,225, 16, 16,160,227,254,255,255,235,
/* 0x0470 */ 0, 96,160,225, 1,218, 77,226, 4,208, 77,226, 8,112,141,226,
/* 0x0480 */ 0, 48,160,227, 0, 48,135,229, 7, 0,160,225,254,255,255,235,
/* 0x0490 */ 23, 1, 0,235, 97,110,100,114, 0, 0, 0, 0, 14, 0,160,225,
/* 0x04a0 */ 7, 16,160,225, 4, 32,160,227,122, 0, 0,235, 0,160,160,225,
/* 0x04b0 */ 1, 80,112,226, 0, 80,160, 51, 0, 0, 84,227, 0, 0, 80, 3,
/* 0x04c0 */ 35, 1, 0, 26,254,255,255,235, 0, 64,160,225, 38, 0,118,227,
/* 0x04d0 */ 0, 48,160, 19, 1, 48,160, 3, 3, 0, 21,225, 59, 1, 0, 10,
/* 0x04e0 */ 0, 0, 84,227, 59, 1, 0, 10, 0, 48,212,229, 0, 0, 83,227,
/* 0x04f0 */ 50, 1, 0, 26, 4, 0,160,225, 7, 16,160,225,163, 0, 0,235,
/* 0x0500 */ 0, 0, 80,227,107, 1, 0,186, 4, 0,160,225,194, 16,160,227,
/* 0x0510 */ 7, 45,160,227,254,255,255,235, 0, 96, 80,226, 6, 0,160,177,
/* 0x0520 */ 107, 1, 0,186, 4, 0,160,225,254,255,255,235, 0, 0, 88,227,
/* 0x0530 */ 89, 1, 0, 10, 0, 0, 90,227, 69, 1, 0, 10, 6, 0,160,225,
/* 0x0540 */ 8, 16,160,225,254,255,255,235, 0, 0, 80,227, 89, 1, 0,170,
/* 0x0550 */ 107, 1, 0,234, 7, 0,160,225, 0, 16,160,227, 1, 42,160,227,
/* 0x0560 */ 254,255,255,235, 8, 80,160,225, 1, 10, 85,227, 5, 64,160, 49,
/* 0x0570 */ 1, 74,160, 35, 6, 0,160,225, 7, 16,160,225, 4, 32,160,225,
/* 0x0580 */ 254,255,255,235, 0, 0, 84,225, 93, 1, 0, 26, 4, 80, 85,224,
/* 0x0590 */ 74, 1, 0, 26, 6, 0,160,225, 5, 16,160,225, 5, 32,160,225,
/* 0x05a0 */ 254,255,255,235, 0, 0, 89,227, 17,192,160, 19, 96, 1, 0, 26,
/* 0x05b0 */ 95, 1, 0,234, 27, 0,224,227,107, 1, 0,234, 1,192,160,227,
/* 0x05c0 */ 0, 96,141,229, 0, 48,160,227, 4, 48,141,229, 9, 0,160,225,
/* 0x05d0 */ 8, 16,160,225, 3, 32,160,227, 12, 48,160,225,254,255,255,235,
/* 0x05e0 */ 1, 10,112,227, 1, 48,134,146, 3, 0,128,145, 40,208, 75,226,
/* 0x05f0 */ 240,175,157,232, 0, 46,115,121,109,116, 97, 98, 0, 46,115,116,
/* 0x0600 */ 114,116, 97, 98, 0, 46,115,104,115,116,114,116, 97, 98, 0, 46,
/* 0x0610 */ 114,101,108, 69, 76, 70, 77, 65, 73, 78, 90, 0, 46,114,101,108,
/* 0x0620 */ 69, 76, 70, 77, 65, 73, 78, 88, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0630 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0640 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0650 */ 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0,
/* 0x0660 */ 0, 0, 0, 0, 52, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
/* 0x0670 */ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,
/* 0x0680 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 9, 0, 0,
/* 0x0690 */ 8, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0,
/* 0x06a0 */ 8, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0,
/* 0x06b0 */ 0, 0, 0, 0, 56, 0, 0, 0,188, 5, 0, 0, 0, 0, 0, 0,
/* 0x06c0 */ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0,
/* 0x06d0 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 9, 0, 0,
/* 0x06e0 */ 128, 2, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
/* 0x06f0 */ 8, 0, 0, 0, 17, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
/* 0x0700 */ 0, 0, 0, 0,244, 5, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0,
/* 0x0710 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
/* 0x0720 */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108, 7, 0, 0,
/* 0x0730 */ 96, 1, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0,
/* 0x0740 */ 16, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
/* 0x0750 */ 0, 0, 0, 0,204, 8, 0, 0,164, 0, 0, 0, 0, 0, 0, 0,
/* 0x0760 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0770 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0780 */ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0,
/* 0x0790 */ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 1, 0, 0, 0,
/* 0x07a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0,
/* 0x07b0 */ 8, 4, 0, 0,180, 1, 0, 0, 18, 0, 3, 0, 24, 0, 0, 0,
/* 0x07c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32, 0, 0, 0,
/* 0x07d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 42, 0, 0, 0,
/* 0x07e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48, 0, 0, 0,
/* 0x07f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 53, 0, 0, 0,
/* 0x0800 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59, 0, 0, 0,
/* 0x0810 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65, 0, 0, 0,
/* 0x0820 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 80, 0, 0, 0,
/* 0x0830 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 93, 0, 0, 0,
/* 0x0840 */ 1, 0, 0, 0, 0, 0, 0, 0, 18, 0, 3, 0,100, 0, 0, 0,
/* 0x0850 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,105, 0, 0, 0,
/* 0x0860 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,112, 0, 0, 0,
/* 0x0870 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,119, 0, 0, 0,
/* 0x0880 */ 224, 0, 0, 0,236, 0, 0, 0, 18, 0, 3, 0,142, 0, 0, 0,
/* 0x0890 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,147, 0, 0, 0,
/* 0x08a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,152, 0, 0, 0,
/* 0x08b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,158, 0, 0, 0,
/* 0x08c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0,103,101,116,
/* 0x08d0 */ 112,105,100, 0,117,112,120, 95,109,109, 97,112, 95, 97,110,100,
/* 0x08e0 */ 95,102,100, 0,109,101,109,112, 99,112,121, 0,102,116,114,117,
/* 0x08f0 */ 110, 99, 97,116,101, 0,108,115,101,101,107, 0,109,109, 97,112,
/* 0x0900 */ 0,117,110, 97,109,101, 0,119,114,105,116,101, 0,103,101,116,
/* 0x0910 */ 95,117,112,120,102,110, 95,112, 97,116,104, 0,109,101,109,102,
/* 0x0920 */ 100, 95, 99,114,101, 97,116,101, 0, 95,115,116, 97,114,116, 0,
/* 0x0930 */ 114,101, 97,100, 0,117,110,108,105,110,107, 0,109,101,109,115,
/* 0x0940 */ 101,116, 0,117, 99,108, 95,110,114,118, 50, 98, 95,100,101, 99,
/* 0x0950 */ 111,109,112,114,101,115,115, 95, 56, 0,115,116, 97,116, 0,111,
/* 0x0960 */ 112,101,110, 0,109,107,100,105,114, 0, 99,108,111,115,101, 0,
/* 0x0970 */ 0, 0, 0, 0, 1, 2, 0, 0, 16, 0, 0, 0, 1, 1, 0, 0,
/* 0x0980 */ 56, 0, 0, 0, 1, 2, 0, 0, 60, 0, 0, 0, 1, 2, 0, 0,
/* 0x0990 */ 240, 0, 0, 0, 1, 2, 0, 0, 80, 1, 0, 0, 1, 2, 0, 0,
/* 0x09a0 */ 88, 1, 0, 0, 1, 2, 0, 0, 92, 1, 0, 0, 1, 2, 0, 0,
/* 0x09b0 */ 108, 1, 0, 0, 1, 2, 0, 0,112, 1, 0, 0, 1, 2, 0, 0,
/* 0x09c0 */ 116, 1, 0, 0, 1, 2, 0, 0,128, 1, 0, 0, 1, 2, 0, 0,
/* 0x09d0 */ 144, 1, 0, 0, 1, 2, 0, 0,148, 1, 0, 0, 1, 2, 0, 0,
/* 0x09e0 */ 156, 1, 0, 0, 1, 2, 0, 0,164, 1, 0, 0, 1, 2, 0, 0,
/* 0x09f0 */ 168, 1, 0, 0, 1, 2, 0, 0,196, 1, 0, 0, 1, 2, 0, 0,
/* 0x0a00 */ 200, 1, 0, 0, 1, 2, 0, 0,216, 1, 0, 0, 1, 2, 0, 0,
/* 0x0a10 */ 244, 1, 0, 0, 1, 2, 0, 0, 12, 2, 0, 0, 1, 2, 0, 0,
/* 0x0a20 */ 32, 2, 0, 0, 1, 2, 0, 0, 76, 2, 0, 0, 1, 16, 0, 0,
/* 0x0a30 */ 88, 2, 0, 0, 1, 18, 0, 0, 96, 2, 0, 0, 1, 2, 0, 0,
/* 0x0a40 */ 116, 2, 0, 0, 1, 2, 0, 0,124, 2, 0, 0, 1, 2, 0, 0,
/* 0x0a50 */ 136, 2, 0, 0, 1, 20, 0, 0,160, 2, 0, 0, 1, 2, 0, 0,
/* 0x0a60 */ 184, 2, 0, 0, 1, 5, 0, 0,200, 2, 0, 0, 1, 2, 0, 0,
/* 0x0a70 */ 204, 2, 0, 0, 1, 2, 0, 0,240, 2, 0, 0, 1, 19, 0, 0,
/* 0x0a80 */ 0, 3, 0, 0, 1, 14, 0, 0, 12, 3, 0, 0, 1, 21, 0, 0,
/* 0x0a90 */ 48, 3, 0, 0, 1, 2, 0, 0, 64, 3, 0, 0, 1, 2, 0, 0,
/* 0x0aa0 */ 72, 3, 0, 0, 1, 2, 0, 0, 84, 3, 0, 0, 1, 2, 0, 0,
/* 0x0ab0 */ 100, 3, 0, 0, 1, 5, 0, 0,120, 3, 0, 0, 1, 2, 0, 0,
/* 0x0ac0 */ 124, 3, 0, 0, 1, 2, 0, 0,148, 3, 0, 0, 1, 5, 0, 0,
/* 0x0ad0 */ 164, 3, 0, 0, 1, 2, 0, 0,168, 3, 0, 0, 1, 2, 0, 0,
/* 0x0ae0 */ 192, 3, 0, 0, 1, 5, 0, 0,200, 3, 0, 0, 1, 3, 0, 0,
/* 0x0af0 */ 208, 3, 0, 0, 1, 2, 0, 0,220, 3, 0, 0, 1, 2, 0, 0,
/* 0x0b00 */ 232, 3, 0, 0, 1, 2, 0, 0, 0, 4, 0, 0, 1, 2, 0, 0,
/* 0x0b10 */ 36, 4, 0, 0, 1, 2, 0, 0, 52, 4, 0, 0, 1, 12, 0, 0,
/* 0x0b20 */ 84, 4, 0, 0, 1, 9, 0, 0, 88, 4, 0, 0, 1, 2, 0, 0,
/* 0x0b30 */ 112, 4, 0, 0, 1, 2, 0, 0,136, 4, 0, 0, 1, 2, 0, 0,
/* 0x0b40 */ 140, 4, 0, 0, 1, 11, 0, 0,164, 4, 0, 0, 1, 2, 0, 0,
/* 0x0b50 */ 172, 4, 0, 0, 1, 2, 0, 0,184, 4, 0, 0, 1, 2, 0, 0,
/* 0x0b60 */ 196, 4, 0, 0, 1, 2, 0, 0,204, 4, 0, 0, 1, 2, 0, 0,
/* 0x0b70 */ 220, 4, 0, 0, 1, 19, 0, 0,232, 4, 0, 0, 1, 2, 0, 0,
/* 0x0b80 */ 240, 4, 0, 0, 1, 15, 0, 0,248, 4, 0, 0, 1, 2, 0, 0,
/* 0x0b90 */ 0, 5, 0, 0, 1, 2, 0, 0, 12, 5, 0, 0, 1, 6, 0, 0,
/* 0x0ba0 */ 20, 5, 0, 0, 1, 2, 0, 0, 24, 5, 0, 0, 1, 2, 0, 0,
/* 0x0bb0 */ 40, 5, 0, 0, 1, 16, 0, 0, 72, 5, 0, 0, 1, 10, 0, 0,
/* 0x0bc0 */ 80, 5, 0, 0, 1, 2, 0, 0, 88, 5, 0, 0, 1, 2, 0, 0,
/* 0x0bd0 */ 104, 5, 0, 0, 1, 7, 0, 0,116, 5, 0, 0, 1, 2, 0, 0,
/* 0x0be0 */ 120, 5, 0, 0, 1, 2, 0, 0,128, 5, 0, 0, 1, 2, 0, 0,
/* 0x0bf0 */ 164, 5, 0, 0, 1, 8, 0, 0,102,105,108,101, 32,102,111,114,
/* 0x0c00 */ 109, 97,116, 32,101,108,102, 51, 50, 45,108,105,116,116,108,101,
/* 0x0c10 */ 97,114,109, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,
/* 0x0c20 */ 100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0c30 */ 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32,
/* 0x0c40 */ 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,
/* 0x0c50 */ 105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,
/* 0x0c60 */ 108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x0c70 */ 90, 32, 32, 32, 32, 32, 32, 48, 52, 32, 32, 48, 32, 32, 48, 32,
/* 0x0c80 */ 32, 48, 51, 52, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84,
/* 0x0c90 */ 69, 78, 84, 83, 10, 32, 32, 49, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x0ca0 */ 88, 32, 32, 32, 32, 32, 32, 48, 53, 98, 99, 32, 32, 48, 32, 32,
/* 0x0cb0 */ 48, 32, 32, 48, 51, 56, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79,
/* 0x0cc0 */ 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65,
/* 0x0cd0 */ 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
/* 0x0ce0 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 48,
/* 0x0cf0 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48,
/* 0x0d00 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65,
/* 0x0d10 */ 73, 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48,
/* 0x0d20 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0d30 */ 42, 85, 78, 68, 42, 32, 48, 32,103,101,116,112,105,100, 10, 48,
/* 0x0d40 */ 48, 48, 48, 48, 52, 48, 56, 32,103, 32, 32, 32, 32, 32, 70, 32,
/* 0x0d50 */ 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 49, 98, 52, 32,117,112,
/* 0x0d60 */ 120, 95,109,109, 97,112, 95, 97,110,100, 95,102,100, 10, 48, 48,
/* 0x0d70 */ 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42,
/* 0x0d80 */ 85, 78, 68, 42, 32, 48, 32,109,101,109,112, 99,112,121, 10, 48,
/* 0x0d90 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0da0 */ 42, 85, 78, 68, 42, 32, 48, 32,102,116,114,117,110, 99, 97,116,
/* 0x0db0 */ 101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32,
/* 0x0dc0 */ 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,108,115,101,101,107,
/* 0x0dd0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32,
/* 0x0de0 */ 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,109,109, 97,112, 10, 48,
/* 0x0df0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0e00 */ 42, 85, 78, 68, 42, 32, 48, 32,117,110, 97,109,101, 10, 48, 48,
/* 0x0e10 */ 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42,
/* 0x0e20 */ 85, 78, 68, 42, 32, 48, 32,119,114,105,116,101, 10, 48, 48, 48,
/* 0x0e30 */ 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85,
/* 0x0e40 */ 78, 68, 42, 32, 48, 32,103,101,116, 95,117,112,120,102,110, 95,
/* 0x0e50 */ 112, 97,116,104, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32,
/* 0x0e60 */ 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,109,101,
/* 0x0e70 */ 109,102,100, 95, 99,114,101, 97,116,101, 10, 48, 48, 48, 48, 48,
/* 0x0e80 */ 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 69, 76, 70, 77,
/* 0x0e90 */ 65, 73, 78, 88, 32, 48, 32, 95,115,116, 97,114,116, 10, 48, 48,
/* 0x0ea0 */ 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42,
/* 0x0eb0 */ 85, 78, 68, 42, 32, 48, 32,114,101, 97,100, 10, 48, 48, 48, 48,
/* 0x0ec0 */ 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78,
/* 0x0ed0 */ 68, 42, 32, 48, 32,117,110,108,105,110,107, 10, 48, 48, 48, 48,
/* 0x0ee0 */ 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78,
/* 0x0ef0 */ 68, 42, 32, 48, 32,109,101,109,115,101,116, 10, 48, 48, 48, 48,
/* 0x0f00 */ 48, 48,101, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 69, 76, 70,
/* 0x0f10 */ 77, 65, 73, 78, 88, 32, 48,101, 99, 32,117, 99,108, 95,110,114,
/* 0x0f20 */ 118, 50, 98, 95,100,101, 99,111,109,112,114,101,115,115, 95, 56,
/* 0x0f30 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32,
/* 0x0f40 */ 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,115,116, 97,116, 10, 48,
/* 0x0f50 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0f60 */ 42, 85, 78, 68, 42, 32, 48, 32,111,112,101,110, 10, 48, 48, 48,
/* 0x0f70 */ 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85,
/* 0x0f80 */ 78, 68, 42, 32, 48, 32,109,107,100,105,114, 10, 48, 48, 48, 48,
/* 0x0f90 */ 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78,
/* 0x0fa0 */ 68, 42, 32, 48, 32, 99,108,111,115,101, 10, 10, 82, 69, 76, 79,
/* 0x0fb0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70,
/* 0x0fc0 */ 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79,
/* 0x0fd0 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32,
/* 0x0fe0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10,
/* 0x0ff0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x1000 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
/* 0x1010 */ 73, 78, 88, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32,
/* 0x1020 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70,
/* 0x1030 */ 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32,
/* 0x1040 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1050 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 49,
/* 0x1060 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x1070 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48,
/* 0x1080 */ 48, 48, 48, 51, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x1090 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x10a0 */ 10, 48, 48, 48, 48, 48, 48, 51, 99, 32, 82, 95, 65, 82, 77, 95,
/* 0x10b0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x10c0 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48,102, 48, 32, 82, 95,
/* 0x10d0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x10e0 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 53,
/* 0x10f0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x1100 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x1110 */ 48, 48, 49, 53, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x1120 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x1130 */ 10, 48, 48, 48, 48, 48, 49, 53, 99, 32, 82, 95, 65, 82, 77, 95,
/* 0x1140 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x1150 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 54, 99, 32, 82, 95,
/* 0x1160 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1170 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 55,
/* 0x1180 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x1190 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x11a0 */ 48, 48, 49, 55, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x11b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x11c0 */ 10, 48, 48, 48, 48, 48, 49, 56, 48, 32, 82, 95, 65, 82, 77, 95,
/* 0x11d0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x11e0 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 57, 48, 32, 82, 95,
/* 0x11f0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1200 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 57,
/* 0x1210 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x1220 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x1230 */ 48, 48, 49, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x1240 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x1250 */ 10, 48, 48, 48, 48, 48, 49, 97, 52, 32, 82, 95, 65, 82, 77, 95,
/* 0x1260 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x1270 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 97, 56, 32, 82, 95,
/* 0x1280 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1290 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 99,
/* 0x12a0 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x12b0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x12c0 */ 48, 48, 49, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x12d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x12e0 */ 10, 48, 48, 48, 48, 48, 49,100, 56, 32, 82, 95, 65, 82, 77, 95,
/* 0x12f0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x1300 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49,102, 52, 32, 82, 95,
/* 0x1310 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1320 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 50, 48,
/* 0x1330 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x1340 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x1350 */ 48, 48, 50, 50, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x1360 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x1370 */ 10, 48, 48, 48, 48, 48, 50, 52, 99, 32, 82, 95, 65, 82, 77, 95,
/* 0x1380 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,115,
/* 0x1390 */ 101,116, 10, 48, 48, 48, 48, 48, 50, 53, 56, 32, 82, 95, 65, 82,
/* 0x13a0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,115,116,
/* 0x13b0 */ 97,116, 10, 48, 48, 48, 48, 48, 50, 54, 48, 32, 82, 95, 65, 82,
/* 0x13c0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76,
/* 0x13d0 */ 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 50, 55, 52, 32,
/* 0x13e0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
/* 0x13f0 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48,
/* 0x1400 */ 50, 55, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
/* 0x1410 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48,
/* 0x1420 */ 48, 48, 48, 48, 50, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x1430 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,109,107,100,105,114, 10,
/* 0x1440 */ 48, 48, 48, 48, 48, 50, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x1450 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
/* 0x1460 */ 73, 78, 88, 10, 48, 48, 48, 48, 48, 50, 98, 56, 32, 82, 95, 65,
/* 0x1470 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,109,
/* 0x1480 */ 101,109,112, 99,112,121, 10, 48, 48, 48, 48, 48, 50, 99, 56, 32,
/* 0x1490 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
/* 0x14a0 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48,
/* 0x14b0 */ 50, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
/* 0x14c0 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48,
/* 0x14d0 */ 48, 48, 48, 48, 50,102, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x14e0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,111,112,101,110, 10, 48,
/* 0x14f0 */ 48, 48, 48, 48, 51, 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x1500 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,114,101, 97,100, 10, 48,
/* 0x1510 */ 48, 48, 48, 48, 51, 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x1520 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 99,108,111,115,101, 10,
/* 0x1530 */ 48, 48, 48, 48, 48, 51, 51, 48, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x1540 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
/* 0x1550 */ 73, 78, 88, 10, 48, 48, 48, 48, 48, 51, 52, 48, 32, 82, 95, 65,
/* 0x1560 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x1570 */ 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 51, 52, 56,
/* 0x1580 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32,
/* 0x1590 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48,
/* 0x15a0 */ 48, 51, 53, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32,
/* 0x15b0 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10,
/* 0x15c0 */ 48, 48, 48, 48, 48, 51, 54, 52, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x15d0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,112, 99,
/* 0x15e0 */ 112,121, 10, 48, 48, 48, 48, 48, 51, 55, 56, 32, 82, 95, 65, 82,
/* 0x15f0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76,
/* 0x1600 */ 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 51, 55, 99, 32,
/* 0x1610 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
/* 0x1620 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48,
/* 0x1630 */ 51, 57, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
/* 0x1640 */ 32, 32, 32, 32, 32, 32,109,101,109,112, 99,112,121, 10, 48, 48,
/* 0x1650 */ 48, 48, 48, 51, 97, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50,
/* 0x1660 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x1670 */ 88, 10, 48, 48, 48, 48, 48, 51, 97, 56, 32, 82, 95, 65, 82, 77,
/* 0x1680 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70,
/* 0x1690 */ 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 51, 99, 48, 32, 82,
/* 0x16a0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32,
/* 0x16b0 */ 32,109,101,109,112, 99,112,121, 10, 48, 48, 48, 48, 48, 51, 99,
/* 0x16c0 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x16d0 */ 32, 32, 32, 32,103,101,116,112,105,100, 10, 48, 48, 48, 48, 48,
/* 0x16e0 */ 51,100, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
/* 0x16f0 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48,
/* 0x1700 */ 48, 48, 48, 48, 51,100, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x1710 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x1720 */ 78, 88, 10, 48, 48, 48, 48, 48, 51,101, 56, 32, 82, 95, 65, 82,
/* 0x1730 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76,
/* 0x1740 */ 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 52, 48, 48, 32,
/* 0x1750 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
/* 0x1760 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48,
/* 0x1770 */ 52, 50, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32,
/* 0x1780 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48,
/* 0x1790 */ 48, 48, 48, 48, 52, 51, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x17a0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,102,100, 95,
/* 0x17b0 */ 99,114,101, 97,116,101, 10, 48, 48, 48, 48, 48, 52, 53, 52, 32,
/* 0x17c0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32,
/* 0x17d0 */ 32, 32,117,110, 97,109,101, 10, 48, 48, 48, 48, 48, 52, 53, 56,
/* 0x17e0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32,
/* 0x17f0 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48,
/* 0x1800 */ 48, 52, 55, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32,
/* 0x1810 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10,
/* 0x1820 */ 48, 48, 48, 48, 48, 52, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x1830 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
/* 0x1840 */ 73, 78, 88, 10, 48, 48, 48, 48, 48, 52, 56, 99, 32, 82, 95, 65,
/* 0x1850 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,103,
/* 0x1860 */ 101,116, 95,117,112,120,102,110, 95,112, 97,116,104, 10, 48, 48,
/* 0x1870 */ 48, 48, 48, 52, 97, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50,
/* 0x1880 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x1890 */ 88, 10, 48, 48, 48, 48, 48, 52, 97, 99, 32, 82, 95, 65, 82, 77,
/* 0x18a0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70,
/* 0x18b0 */ 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 52, 98, 56, 32, 82,
/* 0x18c0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32,
/* 0x18d0 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 52,
/* 0x18e0 */ 99, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32,
/* 0x18f0 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48,
/* 0x1900 */ 48, 48, 48, 52, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50,
/* 0x1910 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x1920 */ 88, 10, 48, 48, 48, 48, 48, 52,100, 99, 32, 82, 95, 65, 82, 77,
/* 0x1930 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,111,112,101,
/* 0x1940 */ 110, 10, 48, 48, 48, 48, 48, 52,101, 56, 32, 82, 95, 65, 82, 77,
/* 0x1950 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70,
/* 0x1960 */ 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 52,102, 48, 32, 82,
/* 0x1970 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32,
/* 0x1980 */ 32,117,110,108,105,110,107, 10, 48, 48, 48, 48, 48, 52,102, 56,
/* 0x1990 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32,
/* 0x19a0 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48,
/* 0x19b0 */ 48, 53, 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32,
/* 0x19c0 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10,
/* 0x19d0 */ 48, 48, 48, 48, 48, 53, 48, 99, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x19e0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,102,116,114,117,110,
/* 0x19f0 */ 99, 97,116,101, 10, 48, 48, 48, 48, 48, 53, 49, 52, 32, 82, 95,
/* 0x1a00 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1a10 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 53, 49,
/* 0x1a20 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x1a30 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x1a40 */ 48, 48, 53, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x1a50 */ 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,115,101,116, 10, 48,
/* 0x1a60 */ 48, 48, 48, 48, 53, 52, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67,
/* 0x1a70 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,119,114,105,116,101, 10,
/* 0x1a80 */ 48, 48, 48, 48, 48, 53, 53, 48, 32, 82, 95, 65, 82, 77, 95, 80,
/* 0x1a90 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
/* 0x1aa0 */ 73, 78, 88, 10, 48, 48, 48, 48, 48, 53, 53, 56, 32, 82, 95, 65,
/* 0x1ab0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x1ac0 */ 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 53, 54, 56,
/* 0x1ad0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32,
/* 0x1ae0 */ 32, 32, 32,108,115,101,101,107, 10, 48, 48, 48, 48, 48, 53, 55,
/* 0x1af0 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32,
/* 0x1b00 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x1b10 */ 48, 48, 53, 55, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52,
/* 0x1b20 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x1b30 */ 10, 48, 48, 48, 48, 48, 53, 56, 48, 32, 82, 95, 65, 82, 77, 95,
/* 0x1b40 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x1b50 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 53, 97, 52, 32, 82, 95,
/* 0x1b60 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1b70 */ 109,109, 97,112, 10
};
+685 -685
View File
File diff suppressed because it is too large Load Diff
+541 -882
View File
File diff suppressed because it is too large Load Diff
+1949 -194
View File
File diff suppressed because it is too large Load Diff
+250 -134
View File
@@ -29,17 +29,25 @@
* <jreiser@users.sourceforge.net>
*/
NBPW= 4
#define ARM_OLDABI 1
NBPW= 4
#include "arch/arm/v4a/macros.S"
#define call bl
arg1 .req r0
arg2 .req r1
arg3 .req r2
arg4 .req r3
arg5 .req r4
arg6 .req r5
#define bkpt .long 0xe7f001f0 /* reserved instr; Linux GNU eabi breakpoint */
sz_Elf32_Phdr = 8*4
p_vaddr = 2*4
sz_Elf32_Ehdr = 13*4
sz_Elf32_Phdr = 8*NBPW
p_vaddr = 2*NBPW
sz_Elf32_Ehdr = 13*NBPW
e_type= 16
ET_DYN= 3
e_phnum= 16 + 2*2 + 5*4 + 2*2
e_phnum= 16 + 2*2 + 5*NBPW + 2*2
sz_b_info= 12
sz_unc= 0
@@ -52,9 +60,6 @@ PROT_READ= 1
PROT_WRITE= 2
PROT_EXEC= 4
is_ptinterp= (1<<0)
unmap_all_pages= (1<<1)
MAP_ANONYMOUS= 0x20
MAP_FIXED= 0x10
MAP_PRIVATE= 0x02
@@ -62,21 +67,39 @@ MAP_PRIVATE= 0x02
FD_stderr= 2
O_RDONLY= 0
PAGE_SHIFT= 12
PAGE_SIZE = -(~0<<PAGE_SHIFT)
AT_NULL= 0
AT_NULL= 0
AT_PAGESZ= 6
__NR_exit = 1 + __NR_SYSCALL_BASE
__NR_open = 5 + __NR_SYSCALL_BASE
NAME_MAX= 255 // # chars in file name; linux/include/uapi/linux/limits.h
__NR_write = 4 + __NR_SYSCALL_BASE
__NR_mmap64 = 0xc0 + __NR_SYSCALL_BASE
__NR_mprotect= 125 + __NR_SYSCALL_BASE
// Defaults unless overridden by AT_PAGESZ
PAGE_SHIFT= 12
PAGE_MASK= (~0<<PAGE_SHIFT)
PAGE_SIZE = ( 1<<PAGE_SHIFT)
__ARM_NR_BASE = 0xf0000 + __NR_SYSCALL_BASE
__ARM_NR_cacheflush = 2 + __ARM_NR_BASE
__NR_SYSCALL_BASE = 0
__NR_exit= 1 + __NR_SYSCALL_BASE
__NR_open= 5 + __NR_SYSCALL_BASE
__NR_close= 6 + __NR_SYSCALL_BASE
__NR_fdatasync=148 + __NR_SYSCALL_BASE
__NR_fsync= 118 + __NR_SYSCALL_BASE
__NR_ftruncate=93 + __NR_SYSCALL_BASE
__NR_getpid= 20 + __NR_SYSCALL_BASE
__NR_lseek= 19 + __NR_SYSCALL_BASE
__NR_memfd_create= 385 + __NR_SYSCALL_BASE
__NR_mkdir= 39 + __NR_SYSCALL_BASE
__NR_mmap2= 192 + __NR_SYSCALL_BASE
__NR_mprotect=125 + __NR_SYSCALL_BASE
__NR_open= 5 + __NR_SYSCALL_BASE
__NR_read= 3 + __NR_SYSCALL_BASE
__NR_stat= 106 + __NR_SYSCALL_BASE
__NR_uname= 122 + __NR_SYSCALL_BASE
__NR_unlink= 10 + __NR_SYSCALL_BASE
__NR_write= 4 + __NR_SYSCALL_BASE
__ARM_NR_BASE= 0xf0000 + __NR_SYSCALL_BASE
__ARM_NR_cacheflush= 2 + __ARM_NR_BASE
#ifndef DEBUG /*{*/
#define DEBUG 0
@@ -90,114 +113,168 @@ __ARM_NR_cacheflush = 2 + __ARM_NR_BASE
// one word closer to the stack pointer because r13 has been omitted.
#endif //}
//.long sz_pack2 // placed there by ::pack3()
section ELFMAINX
F_ADRX= 0*NBPW
F_LENX= 1*NBPW
F_ELFA= 2*NBPW
F_ADRU= 3*NBPW
F_LENU= 4*NBPW
F_R0= 5*NBPW
F_R1= 6*NBPW
F_ENTR= 7*NBPW
F_QFLG= F_ENTR
F_SIZE= 8*NBPW
// (read-only) .data space at start of unfolded code
D_PMASK= 0*NBPW
D_FNAME= 1*NBPW
D_QFLG= 2*NBPW
D_FOLD= 3*NBPW // start of code
r_pack2 .req r9
r_pmask .req r8
start_params:
sz_pack2= . - 4
sz_pack2= . - NBPW
mflg:
.long MFLG // MAP_{PRIVATE|ANONYMOUS} // QNX vs linux
.word MFLG // MAP_{PRIVATE|ANONYMOUS} // QNX vs linux
_start: .globl _start
//// nop; bkpt
stmdb sp!, {r0,r1} // ABI crt0 -static may have data here
//// nop; bkpt // DEBUG
stmdb sp!,{r0,r1,lr} // ABI crt0 -static may have data here
sub sp,sp,#-3*NBPW + F_SIZE // F_R0,F_R1 separately
add arg1,sp,#NBPW + F_SIZE // avoid feint of 0==argc
call zfind // out: r0= &envp
call zfind
F_elfaddr= 0*NBPW
F_fd= 1*NBPW
F_szpage= F_fd
F_ADRU= 2*NBPW
F_LENU= 3*NBPW
F_f_exp= 4*NBPW
F_entry= 5*NBPW
F_mflg= F_entry
F_r0= 6*NBPW
F_r1= 7*NBPW
F_FRAME= 8*NBPW
// set xPMASK by finding actual page size in Elf64_auxv
1:
ldmia r0!,{r1,r2}
cmp r1,#AT_PAGESZ; beq 2f
cmp r1,#AT_NULL; bne 1b
mov r2,#PAGE_SIZE // default
2:
mvn r2,r2; add r2,r2,#1 // neg
mov r_pmask,r2
sub sp,sp,#F_FRAME - 2*NBPW
ldr r1,sz_pack2
adr r0,sz_pack2
sub r0,r0,r1 @ elfaddr= &Elf_Ehdr of this program
str r0,[sp,#F_ELFA]
mov r_pack2,r1 @ save sz_pack2
bl main // lr= &f_exp
f_exp:
ldr r0,mflg
str r0,[sp,#F_QFLG]
call get_data // cpr0 can be too far away
old_sp .req r11
binfo .req r10
r_unc .req r7
u_len .req r6
add binfo,lr,#NBPW // skip o_binfo for now
unfold:
ldr r_unc,[binfo,#sz_unc]
mov r0, #(1+ NAME_MAX + 2*NBPW + D_FOLD + (1+ 11 + 13)) & ~0xff
add r0, r0,#(1+ NAME_MAX + 2*NBPW + D_FOLD + (1+ 11 + 13)) & 0xff
add u_len,r_unc,r0
str u_len,[sp,#F_LENU]
// alloca for generated pathname (necessary if memfd_create fails)
mov old_sp,sp
sub sp,sp,r0
and sp,sp,#-2*NBPW // align stack
mov r0,#0
mov r1,sp
0:
stmia r1!,{r0}
cmp r1,old_sp; blo 0b
mov arg3,sp // &pathname (currently a null string "")
mov arg2,u_len
mov arg1,#0 // kernel chooses addr
call upx_mmap_and_fd // (addr + (1+ fd)) = (ptr, len, pathname, frag_mask)
mov r1,r0,lsr #12
mov r1,r1,lsl #12
sub r0,r0,r1
sub r0,r0,#1
//{ r0 and r1 are busy!
// copy generated pathname (if any) from stack into mapped region
add r2,r1,r_unc
add r2,r2,# 2*NBPW
and r2,r2,#-2*NBPW
0:
ldmia sp!,{r3} // gradual de-alloca
stmia r2!,{r3}
cmp sp,old_sp; blo 0b
mfd .req old_sp
.unreq old_sp
str r1,[sp,#F_ADRU]
mov mfd,r0
//}{ r0 free, r1 busy
add r4,r_unc,# 2*NBPW + D_FOLD
and r4,r4, #-2*NBPW // align displacement
ldr r3,[sp,#F_QFLG]
mov r2,r_pmask
stmia r1,{r2,r3,r4} // D_PMASK, D_QFLG, D_FNAME
.unreq r_pmask
// De-compress folded stage of stub
stmdb sp!,{r_unc} @ P_01
mov arg4,sp @ &sz_unc = &dstlen
add arg3,r1,#D_FOLD @ dst
//} r1 free
ldrb r0, [binfo,#b_method]
stmdb sp!,{r0} @ P_02 5th param to f_exp
ldr arg2,[binfo,#sz_cpr] @ srclen
add arg1, binfo,#sz_b_info @ src
#if DEBUG /*{*/
stmdb sp!,{TRACE_REGS}; mov r0,#2; bl trace
#endif /*}*/
call f_expand
add sp,sp,#2*NBPW @ P_02, P_01 remove 5th param
mov r5,#0
mov r4,mfd
mov r3,#MAP_PRIVATE|MAP_FIXED
mov r2,#PROT_EXEC|PROT_READ
ldr r1,[sp,#F_LENU]
ldr r0,[sp,#F_ADRU]
do_sys7t __NR_mmap2 // clobbers r7 r_unc
mov r0,mfd
do_sys7t __NR_close
// jmp unfolded_code
ldr r0,[sp,#F_ELFA]
ldr r1,[binfo,#-NBPW] @ O_BINFO
add r4,r0,r1 @ ADRX= &b_info
sub r5,r_pack2,r1 @ LENX= sz_pack2 - O_BINFO
stmia sp,{r4,r5} // F_ADRX, F_LENX
#if DEBUG /*{*/
stmdb sp!,{TRACE_REGS}; mov r0,#3; bl trace
#endif /*}*/
ldr r12,[sp,#F_ADRU]
add pc,r12,#D_FOLD // goto unfolded code
zfind:
ldr r1,[r0],#NBPW
cmp r1,#0; bne zfind
ret
f_expand:
#define LINUX_ARM_CACHEFLUSH 1
section NRV_HEAD
// empty
section NRV_TAIL
// empty
section NRV2E
#include "arch/arm/v4a/nrv2e_d8.S"
section NRV2D
#include "arch/arm/v4a/nrv2d_d8.S"
section NRV2B
#define NO_METHOD_CHECK 1
#include "arch/arm/v4a/nrv2b_d8.S"
#include "arch/arm/v4a/lzma_d.S"
section ELFMAINY
end_decompress: .globl end_decompress
/* IDENTSTR goes here */
section ELFMAINZ
unfold: // in: r3= mflg; r6= elfaddr; lr= &O_BINFO
add r6,lr,#4 @ &b_info of folded stub
// Reserve space for unfolded stub
mov r5,#0 @ offset
mov r4,#-1 @ fd
@r3= mflg @ MAP_PRIVATE|MAP_ANONYMOUS or MAP_PRIVANON
mov r2,#PROT_READ|PROT_WRITE|PROT_EXEC
ldr r1,[r6,#sz_unc]
mov r0,#0 @ kernel chooses addr
str r1,[sp,#F_LENU] @ length to munmap
do_sys7t __NR_mmap64
str r0,[sp,#F_ADRU] @ addr to munmap
#if DEBUG /*{*/
stmdb sp!,{TRACE_REGS}; mov r0,#1; bl trace
#endif /*}*/
// Unfold
ldr r3,[r6,#sz_unc]; str r3,[sp,#-NBPW]! @ P_01
mov r3,sp @ &sz_unc = &dstlen
mov r2,r0 @ dst
ldrb r0,[r6,#b_method]; str r0,[sp,#-NBPW]! @ P_02 5th param to f_exp
ldr r1,[r6,#sz_cpr] @ srclen
add r0,r6,#sz_b_info @ src
mov r10,r2 @ copy of dst
#if DEBUG /*{*/
stmdb sp!,{TRACE_REGS}; mov r0,#2; bl trace
#endif /*}*/
mov lr,pc; ldr pc,[sp,#2*NBPW+ F_f_exp] @ call f_exp [ARMv4 lacks blx]
add sp,sp,#NBPW @ P_02 remove 5th param
ldr r3,[sp],#4 @ P_01 sz_unc
// pass run-time constants into unfolded code
ldr r1,[sp,#F_mflg] @ mflg
str r1,[r10],#NBPW @ pass mflg to folded code
ldr r1,[sp,#F_szpage]
str r1,[r10],#NBPW
// PROT_EXEC
mov r2,#PROT_EXEC|PROT_READ
ldr r1,[sp,#F_LENU]
ldr r0,[sp,#F_ADRU]
do_sys7t __NR_mprotect
// jmp unfolded_code
ldr r0,[sp,#F_elfaddr]
ldr r3,[r6,#-4] @ O_BINFO | is_ptinterp | unmap_all_pages
bic r4,r3,#is_ptinterp | unmap_all_pages
add r5,r0,r4 @ ADRX= &b_info
sub r4,r9,r4 @ LENX= sz_pack2 - O_BINFO
#if DEBUG /*{*/
stmdb sp!,{TRACE_REGS}; mov r0,#3; bl trace
#endif /*}*/
add pc,r10, #2*NBPW @ goto unfold
#if DEBUG /*{*/
TRACE_BUFLEN=512
trace:
str lr,[sp,#(-1+ 15)*NBPW] @ return pc; [remember: sp is not stored]
str lr,[sp,#(-1+ 15)*4] @ return pc; [remember: sp is not stored]
mov r4,sp @ &saved_r0
sub sp,sp,#TRACE_BUFLEN
mov r2,sp @ output string
@@ -247,37 +324,76 @@ hex:
.balign 4
#endif /*}*/
zfind:
ldr r1,[r0],#NBPW; cmp r1,#0; bne zfind // cbnz r1,zfind
get_upxfn_path: .globl get_upxfn_path
bkpt // get_upx_fn_path should not be called in this phase
ret
main: // IN: lr= &f_exp
str lr,[sp,#F_f_exp]
ldr r0,[lr,#sz_pack2 - f_exp] @ sz_pack2
add r6, lr,#sz_pack2 - f_exp @ &sz_pack2
str lr,[sp,#F_f_exp]
sub r6,r6,r0 @ elfaddr= &Elf_Ehdr of this program
str r6,[sp,#F_elfaddr]
mov r9,r0 @ save sz_pack2
ldr r3,[lr,#mflg - f_exp]
str r3,[sp,#F_mflg]
memcpy: .globl memcpy // void *memcpy(void *dst, void const *src, size_t len)
cmp r2,#0; beq 9f
mov r4,r0 // original dst
0:
ldrb r3,[r1],#1; sub r2,r2,#1
strb r3,[r0],#1; bne 0b
9:
mov r0,r4 // return original dst
ret
add r0,sp,#NBPW + F_FRAME // skip argc
call zfind // in: r0= &argv; out: r0= &envp
call zfind // in: r0= &envp; out: r0- &auxv
memset: .globl memset // (dst, val, n)
cmp r2,#0; beq 9f
mov r3,r0 // original dst
0:
strb r1,[r0],#1
subs r2,r2,#1
bne 0b
9:
mov r0,r3 // return original dst
ret
// find actual page size in Elf32_auxv
1:
ldr r1,[r0],#NBPW; ldr r2,[r0],#NBPW
cmp r1,#AT_PAGESZ; beq 2f
cmp r1,#AT_NULL; bne 1b // cbnz r1,1b
mov r2,#PAGE_SIZE // default
2:
mov r1,#0; sub r1,r1,r2; str r1,[sp,#F_szpage]
mempcpy: .globl mempcpy // (dst, src, n)
cmp r2,#0; beq 9f
0:
ldrb r3,[r1],#1; subs r2,r2,#1
strb r3,[r0],#1; bne 0b
9:
ret // updated dst
call unfold
// These Linux system calls are called from upxfd_android.c
// in order to work around problems with memfd_create and ftruncate on Android.
// Because called from C, then r7 is live; cannot use do_sys7t.
.globl memfd_create; memfd_create: do_sys2 __NR_memfd_create; ret
.globl close; close: do_sys __NR_close; ret
.globl fdatasync; fdatasync: do_sys __NR_fdatasync; ret
.globl fsync; fsync: do_sys __NR_fsync; ret
.globl ftruncate; ftruncate: do_sys __NR_ftruncate; ret
.globl getpid; getpid: do_sys __NR_getpid; ret
.globl lseek; lseek: do_sys __NR_lseek; ret
.globl mkdir; mkdir: do_sys __NR_mkdir; ret
.globl open; open: do_sys __NR_open; ret
.globl read; read: do_sys __NR_read; ret
.globl stat; stat: do_sys __NR_stat; ret
.globl uname; uname: do_sys __NR_uname; ret
.globl unlink; unlink: do_sys __NR_unlink; ret
.globl write; write: do_sys __NR_write; ret
// __NR_oldmmap gets ENOSYS! Must use __NR_mmap2 with all args in registers
// Called from C (5th and 6th arg on stack), so must preserve r4 and r5
mmap: .globl mmap
stmdb sp!,{r4,r5,lr} // called from C: only 4 args in registers
ldr arg6,[sp,#4*NBPW]
ldr arg5,[sp,#3*NBPW]
mov arg6,arg6,lsr #12 @ FIXME? convert to page offset in file
mmap_do: // sp: saved r4,r5,lr
mov r12,#~0; mov r12,r12,lsl #12 // PAGE_MASK
bic r12,arg1,r12 // lo frag
sub arg1,arg1,r12 // page align lo end
add arg2,arg2,r12
do_sys __NR_mmap2
ldmia sp!,{r4,r5,pc}
get_data:
mov r12,lr; mov lr,pc; mov pc,r12 // blx lr
o_binfo:
.long O_BINFO // .int4 offset of b_info for text
.word O_BINFO // .int4 offset of b_info for text
cpr0: .globl cpr0
/* { b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...} */
eof:
+13
View File
@@ -0,0 +1,13 @@
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
SECTIONS
{
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
.text : {
}
ELFMAINX : {
*(ELFMAINX)
*(.text)
}
}
+212 -249
View File
@@ -69,76 +69,95 @@ PATH_MAX= 4096
#define call bl
#include "MAX_ELF_HDR.S"
F_elfaddr= 0*NBPW
F_fd= 1*NBPW
F_szpage= F_fd
F_ADRU= 2*NBPW
F_LENU= 3*NBPW
F_f_exp= 4*NBPW
F_entry= 5*NBPW
F_mflg= F_entry
F_r0= 6*NBPW
F_r1= 7*NBPW
F_FRAME= 8*NBPW
PAGE_MASK= . - 3*NBPW; .globl PAGE_MASK
qflg_data = . - 2*NBPW // QNX vs Linux: MAP_PRIVATE | MAP_ANONYMOUS
upxfn_path= . - 1*NBPW // displacement from "zero"
is_ptinterp= (1<<0)
unmap_all_pages= (1<<1)
arg1 .req r0
arg2 .req r1
arg3 .req r2
arg4 .req r3
arg5 .req r4
arg6 .req r5
// In: sp/ F_ADRX,F_LENX,F_ELFA,F_ADRU,F_LENU,F_R0,F_R1,%F_ENTR,F_argc
// [ADRX, +LENX) = extent of compressed program
// [ADRU, +LENU) = params to munmap unfolded stub
F_ADRX= 0*NBPW
F_LENX= 1*NBPW
F_ELFA= 2*NBPW
F_ADRU= 3*NBPW
F_LENU= 4*NBPW
F_R0= 5*NBPW
F_R1= 6*NBPW
F_ENTR= 7*NBPW
F_ARGC= 8*NBPW
fold_begin: // enter here
b L05 // put PAGE_MASK and qflg_data within short-displacement of uses
mflg_data: .int MAP_PRIVATE|MAP_ANONYMOUS @ overwritten for QNX vs Linux
PAGE_MASK: .int ~0<<12 // default
get_page_mask: .globl get_page_mask
ldr r0,PAGE_MASK
ret
SP_fd= 3*4
/* In:
r3= O_BINFO | is_ptinerp | unmap_all_pages
r4= LENX
r5= ADRX
new sp/ elfaddr,%fd, ADRU,LENU, f_exp,%entry, r0,r1, argc,argv,0,envp,0,auxv
(ADRX,LENX) = extent of compressed program
(ADRU,LENU) = params to munmap unfolded stub
*/
fold_begin: // enter here
str r3,[sp,#F_fd]
#if DEBUG //{
#define TRACE_REGS r0-r12,r14,r15
mov r0,sp @ current stack pointer (extra clue)
stmdb sp!,{TRACE_REGS}; mov r0,#0x10; bl trace
#endif //}
mov r2,r4 @ LENX
mov r3,r5 @ ADRX
ldmia sp!,{ r4,r5,r6,r7,r8,r9,r10,r11,r12} @ r12= argc
mov r1,sp @ src (argv)
tst r5,#unmap_all_pages; bne 0f
sub sp,sp,#PATH_MAX
0:
get_upxfn_path: .globl get_upxfn_path // char * (*)(void)
adr r1,fold_begin-3*NBPW // "zero"
ldr r0,[r1,#1*NBPW] // offset(upxfn_path)
cmp r0,#0; beq 1f // nullptr
add r0,r0,r1 // &path
1:
ret
// Sometimes Linux enforces page-aligned address
Pprotect: .globl Pprotect
mprotect: .globl mprotect
ldr r12,PAGE_MASK
bic r12,arg1,r12 // lo frag
sub arg1,arg1,r12 // page align lo end
add arg2,arg2,r12
do_sys __NR_mprotect; ret
mmap_privanon: .globl mmap_privanon
stmdb sp!,{r4,r5,lr}
ldr r4,qflg_data @ MAP_PRIVATE|MAP_ANON for Linux; MAP_PRIVANON for QNX
mov arg6,#0 @ offset= 0
orr arg4,arg4,r4 @ combine with input (such as MAP_FIXED)
mvn arg5,#0 @ fd= -1
b mmap_do
// __NR_oldmmap gets ENOSYS! Must use __NR_mmap64 with all args in registers
// Called from C (5th and 6th arg on stack), so must preserve r4 and r5
mmap: .globl mmap
stmdb sp!,{r4,r5,lr} // called from C: only 4 args in registers
ldr arg6,[sp,#4*NBPW]
ldr arg5,[sp,#3*NBPW]
mov arg6,arg6,lsr #12 @ FIXME? convert to page offset in file
mmap_do: // sp: saved r4,r5,lr
ldr r12,PAGE_MASK
bic r12,arg1,r12 // lo frag
sub arg1,arg1,r12 // page align lo end
add arg2,arg2,r12
do_sys __NR_mmap2
ldmia sp!,{r4,r5,pc}
proc_self_exe: .asciz "/proc/self/exe"; .balign 4
L05:
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12} // includes argc
mov r1,sp @ src
sub sp,sp,#PATH_MAX
mov r0,sp @ dst
stmdb sp!,{r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12} @ r12= argc
F_LENX= 0*NBPW
F_ADRX= 1*NBPW
F_elfaddr= 2*NBPW
F_fd= 3*NBPW
F_obinfo= F_fd
F_ADRU= 4*NBPW
F_LENU= 5*NBPW
F_f_exp= 6*NBPW
F_e_auxv= F_f_exp
F_entry= 7*NBPW
F_r0= 8*NBPW
F_r1= 9*NBPW
stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12}
0: // copy argv down
ldr r3,[r1],#4; cmp r3,#0
str r3,[r0],#4; bne 0b
ldr r3,[r1],#NBPW; cmp r3,#0
str r3,[r0],#NBPW; bne 0b
mov r4,r0 @ &new_env[0]
ldr r2,[sp,#F_obinfo]; tst r2,#unmap_all_pages; bne 0f
str r3,[r0],#4 @ space for new_env[0]
0:
str r3,[r0],#NBPW @ space for new_env[0]
0: // copy env down
ldr r3,[r1],#4; cmp r3,#0
str r3,[r0],#4; bne 0b
ldr r3,[r1],#NBPW; cmp r3,#0
str r3,[r0],#NBPW; bne 0b
mov r5,r1 @ &orig_auxv[0]
0: // copy auxv down
@@ -147,29 +166,19 @@ F_r1= 9*NBPW
mov r6,r1 @ &orig_auxv[end]; also &old_strings
mov r9,r0 @ &down_auxv[end]
mov r3,r5 @ auxv
ldr r5,[sp,#F_f_exp] @ for calling upx_main if no_pse_env
ldr r2,[sp,#F_obinfo]; tst r2,#unmap_all_pages; beq pse_env
mov r1,#-1; str r1,[sp,#F_fd] @ assume no_map_pse
str r6,[sp,#F_e_auxv] @ &hatch
b no_pse_env
pse_env:
mov r5,r3 @ auxv
call 0f; .asciz "/proc/self/exe"; .balign 4; 0: mov r10,lr
adr arg1,proc_self_exe
mov arg2,#O_RDONLY
do_sys7t __NR_open // ENOENT is OK
r_pse .req r8
mov r_pse,r0
mov r8,r0 @ save buf
mov r0,r10
mov r1,#O_RDONLY
call open; str r0,[sp,#F_fd]
mov r0,r8 @ buf
mov r2,#PATH_MAX
mov r1,r0 @ buffer
mov r0,r10 @ arg1= "/proc/self/exe"
sub r2,r2,#1 @ room for null terminator
call readlink
cmn r0,#4096
movcs r1,r10 @ "/proc/self/exe"
mov arg3,#PATH_MAX
mov arg2,r9 @ buffer
adr arg1,proc_self_exe
sub arg3,arg3,#1 @ room for null terminator
do_sys7t __NR_readlink // ENOENT is OK
cmn r0,#1<<12
movcs r1,arg1 @ FIXME? "/proc/self/exe"
movcs r0,#14 @ strlen("/proc/self/exe")
link_ok:
add r2,r1,r0 @ end
@@ -185,95 +194,58 @@ link_ok:
str r0,[r4] @ new_env[0]
// preserve 8-byte alignment of stack pointer
bic r0,r0,#3 @ &new_strings
mov r0,r0,lsr #2
mov r0,r0,lsl #2 @ &new_strings
eor r3,r6,r0 @ word parity with &old_strings
and r3,r3,#4 @ 0 or 4
eor r3,r3,#4 @ we add 1 new_env[0]
and r3,r3,#NBPW @ 0 or 4
eor r3,r3,#NBPW @ we add 1 new_env[0]
sub r0,r0,r3 @ align mod 8
// copy up auxv,env,argv
sub r3,r0,r6 @ &new_auxv[end] - &orig_auxv[end]
add r3,r3,r5 @ &new_auxv[0] = delta + &orig_auxv[0]
mov r1,r9 @ &down_auxv[end]
ldr r5,[sp,#F_f_exp] @ save f_exp
str r0,[sp,#F_e_auxv] @ replace f_exp with &new_auxv[end]
r_auxe .req r10
mov r_auxe,r0 @ &new_auxv[end]
0:
ldr r2,[r1,#-4]!; cmp r1,sp
str r2,[r0,#-4]!; bne 0b
mov sp,r0
no_pse_env:
#if DEBUG //{
stmdb sp!,{TRACE_REGS}; mov r0,#0x12; bl trace
#endif //}
/* Construct arglist for upx_main */
@ldr r5,[sp,#F_f_exp]
ldmia sp!,{r4,r10,r11} @ LENX, ADRX, elfaddr
F_delta= 3*NBPW
ldmia sp!,{arg1,arg2,arg3} @ pop: ADRX, LENX, elfaddr
stmdb sp!,{arg1,arg2,arg3} @ put back
r_elfa .req r9
mov r_elfa,arg3 // save elfaddr
//mov arg4,r3 @ auxv
sub sp,sp,#MAX_ELF_HDR_32 + OVERHEAD @ alloca
ldr r9,[r10,#sz_cpr] @ xi.size of ELF headers
mov r8,sp @ xo.ptr
ldr r7,[r10,#sz_unc] @ xo.size
adr r6,f_unfilter
//mov r3,r3 @ auxv
add r9,r9,#sz_b_info @ for unpackExtent
stmdb sp!,{r3,r4,r5,r6,r7,r8,r9,r10,r11}
ldmia sp!,{r0,r1,r2,r3}
#if DEBUG //{
stmdb sp!,{TRACE_REGS}; mov r0,#0x13; bl trace
#endif //}
// r0=av; r1=sz_cpr; r2=f_decompress; r3=f_unfilter;
// xo={sz_unc, &tmp_ehdr}, xi={sz_cpr, &b_info}, elfaddr
stmdb sp!,{sp} // arg5 &tmp_ehdr
call upx_main
add sp,sp,#(9-4)*4
add sp,sp,#NBPW // toss arg5
add sp,sp,#MAX_ELF_HDR_32 + OVERHEAD @ un-alloca
#if DEBUG //{
stmdb sp!,{TRACE_REGS}; mov r0,#0x14; bl trace
#endif //}
str r0,[sp,#F_entry - F_delta] @ entry address
// Discard pages of compressed input data (includes [ADRC,+LENC) )
ldr r1,[r11,#p_memsz+sz_Elf32_Phdr+sz_Elf32_Ehdr] // Phdr[C_TEXT= 1].p_memsz
//ldrb r0,[r11,#e_type]; cmp r0,#ET_EXEC; bne 1f
mov r0,r11; call brk // also sets the brk
1:
mov r0,r11; call munmap // discard C_TEXT compressed data
str r0,[sp,#F_ENTR] @ entry address
// Map 1 page of /proc/self/exe so that it does not disappear
ldr r4,[sp],#4 @ pop r4,F_fd
cmp r4,#0; blt no_map_pse
mov r5,#0 @ SEEK_SET offset
stmdb sp!,{r4,r5} @ arg5,arg6 calling convention
mov r3,#MAP_PRIVATE
mov r2,#PROT_READ
mov r1,#PAGE_SIZE
mov r0,#0 @ any address
mov arg5,r_pse
cmp arg5,#0; blt no_map_pse
mov arg6,#0 @ SEEK_SET offset
stmdb sp!,{arg5,arg6} @ arg5,arg6 calling convention
mov arg4,#MAP_PRIVATE
mov arg3,#PROT_READ
mov arg2,#PAGE_SIZE
mov arg1,#0 @ any address
call mmap @ no error check: cannot recover
ldmia sp!,{r0,r1} @ fd, offset
ldmia sp!,{arg1,r1} @ fd, offset
call close
no_map_pse:
#if DEBUG //{
stmdb sp!,{TRACE_REGS}; mov r0,#0x15; bl trace
#endif //}
ldmia sp!,{r0,r1,r2, lr} @ F_ADRU, F_LENU, F_e_auxv, F_entry
#if DEBUG /*{*/
ldr r3,[r2,#NBPW -2*NBPW] @ Elf32_auxv_t[AT_NULL@.a_type].a_val
ldr r4,[r3,#0] @ 1st instr
ldr r5,[r3,#NBPW] @ 2nd instr
stmdb sp!,{TRACE_REGS}; mov r0,#0x15; bl trace
#endif /*}*/
mov r3,#0 @ clear registers: paranoia
mov r4,#0
mov r5,#0
mov r6,#0
mov r8,#0
mov r9,#0
mov r10,#0
mov r11,#0
// Discard pages of compressed input data (includes [ADRC,+LENC) )
//ldrb r0,[r_elfa,#e_type]; cmp r0,#ET_EXEC; bne 1f
1:
ldr arg2,[r_elfa,#p_memsz+sz_Elf32_Phdr+sz_Elf32_Ehdr] // Phdr[C_TEXT= 1].p_memsz
mov arg1,r_elfa
call munmap // discard C_TEXT compressed data
mov arg1,r_elfa; call brk // also set the brk
#if 1|DEBUG //{
/* Heuristic cache flush: sweep contiguous range to force collisions and evictions. */
@@ -287,6 +259,19 @@ sweep:
add sp,sp,#(1<<18) @ pop stack
#endif //}
add sp,sp,#3*NBPW // toss F_ADRX,F_LENX,F_ELFA
ldmia sp!,{arg1,arg2} @ F_ADRU,F_LENU
stmdb sp!,{r_auxe}
mov r3,#0 @ clear registers: paranoia
mov r4,#0
mov r5,#0
mov r6,#0
mov r8,#0
mov r9,#0
mov r10,#0
mov r11,#0
#if defined(ARMEL_DARWIN) /*{*/
mov r7,#0
mov r12,#0xff & __NR_munmap
@@ -297,13 +282,8 @@ sweep:
mov r7,#0
mov r12,#0
#endif /*}*/
ldr pc,[r2,#NBPW -2*NBPW] @ hatch: Elf32_auxv_t[AT_NULL@.a_type].a_val
proc_self_exe:
.ascii "/proc/self/exe" @ no terminator
proc_self_align:
.asciz "" @ terminator
.balign 4
ldmia sp!,{r12} // r_auxe
ldr pc,[r12,#NBPW -2*NBPW] @ hatch: Elf32_auxv_t[AT_NULL@.a_type].a_val
f_unfilter: @ (char *ptr, uint len, uint cto, uint fid)
ptr .req r0
@@ -359,7 +339,7 @@ L600: @ each row
mov r6,#8 @ words per row
L610: @ each word
ldr r0,[r4],#4; mov r1,#' '; bl trace_hex @ next word
ldr r0,[r4],#NBPW; mov r1,#' '; bl trace_hex @ next word
subs r6,r6,#1; bgt L610
subs r5,r5,#1; bgt L600
@@ -375,18 +355,18 @@ L610: @ each word
swi __NR_write
#endif /*}*/
add sp,sp,#TRACE_BUFLEN
ldmia sp!,{TRACE_REGS}
6 ldmia sp!,{TRACE_REGS}
trace_hex: // In: r0=val, r1=punctuation before, r2=ptr; Uses: r3, ip
strb r1,[r2],#1 @ punctuation
mov r3,#4*(8 -1) @ shift count
mov r3,#NBPW*(8 -1) @ shift count
adr ip,hex
L620:
mov r1,r0,lsr r3
and r1,r1,#0xf
ldrb r1,[ip, r1]
strb r1,[r2],#1
subs r3,r3,#4; bge L620
subs r3,r3,#NBPW; bge L620
ret
hex:
.ascii "0123456789abcdef"
@@ -396,102 +376,63 @@ hex:
.unreq cto
.unreq fid
memcpy: .globl memcpy // void *memcpy(void *dst, void const *src, size_t len)
cmp r2,#0; beq 9f
mov r4,r0 // original dst
0:
ldrb r3,[r1],#1; sub r2,r2,#1
strb r3,[r0],#1; bne 0b
9:
mov r0,r4 // return original dst
ret
memset: .globl memset // (dst, val, n)
cmp r2,#0; beq 9f
mov r3,r0 // original dst
0:
strb r1,[r0],#1
subs r2,r2,#1
bne 0b
9:
mov r0,r3 // return original dst
ret
mempcpy: .globl mempcpy // (dst, src, n)
cmp r2,#0; beq 9f
0:
ldrb r3,[r1],#1; subs r2,r2,#1
strb r3,[r0],#1; bne 0b
9:
ret // updated dst
section SYSCALLS
__NR_exit = 1 + __NR_SYSCALL_BASE
__NR_read = 3 + __NR_SYSCALL_BASE
__NR_write = 4 + __NR_SYSCALL_BASE
__NR_open = 5 + __NR_SYSCALL_BASE
__NR_close = 6 + __NR_SYSCALL_BASE
__NR_unlink= 10 + __NR_SYSCALL_BASE
__NR_lseek= 19 + __NR_SYSCALL_BASE
__NR_getpid= 20 + __NR_SYSCALL_BASE
__NR_mkdir = 39 + __NR_SYSCALL_BASE // 0x27
__NR_brk = 45 + __NR_SYSCALL_BASE
__NR_readlink=85+ __NR_SYSCALL_BASE
__NR_mmap2 = 192 + __NR_SYSCALL_BASE
__NR_mprotect = 125 + __NR_SYSCALL_BASE
__NR_munmap = 91 + __NR_SYSCALL_BASE
__NR_readlink= 85 + __NR_SYSCALL_BASE // 0x55
__NR_munmap = 91 + __NR_SYSCALL_BASE // 0x5b
__NR_ftruncate= 93 + __NR_SYSCALL_BASE // 0x5d
__NR_stat= 106 + __NR_SYSCALL_BASE // 0x6a
__NR_fsync= 118 + __NR_SYSCALL_BASE
__NR_fdatasync=148 + __NR_SYSCALL_BASE
__NR_uname= 122 + __NR_SYSCALL_BASE // 0x7a
__NR_mprotect= 125 + __NR_SYSCALL_BASE // 0x7d
__NR_mmap2= 192 + __NR_SYSCALL_BASE // 0xc0
__NR_fstat= 197 + __NR_SYSCALL_BASE // 0xc5
__NR_memfd_create= 385 + __NR_SYSCALL_BASE // 0x181
__ARM_NR_BASE = 0x0f0000 + __NR_SYSCALL_BASE
__ARM_NR_cacheflush = 2 + __ARM_NR_BASE
.globl my_bkpt
my_bkpt:
bkpt // my_bkpt
ret
.globl exit
exit:
do_sys __NR_exit
.globl read
read:
do_sys __NR_read; ret
.globl write
write:
do_sys __NR_write; ret
.globl open
open:
do_sys __NR_open; ret
.globl close
close:
do_sys __NR_close; ret
.globl unlink
unlink:
do_sys __NR_unlink; ret
.globl getpid
getpid:
do_sys __NR_getpid; ret
.globl brk
brk:
do_sys __NR_brk; ret
.globl readlink
readlink:
do_sys __NR_readlink; ret
.globl munmap
munmap:
do_sys __NR_munmap; ret
// Sometimes Linux enforces page-aligned address
Pprotect: .globl Pprotect
mprotect: .globl mprotect
ldr r12,m_off4k
and r12,r12,r0 // lo frag
sub r0,r0,r12 // page align lo end
add r1,r1,r12
do_sys __NR_mprotect; ret
.globl mmap
mmap:
stmdb sp!,{r4,r5,lr}
ldr r5,[sp,#4*4]
ldr r4,[sp,#3*4]
mov r5,r5,lsr #12 @ convert to page number
mmap_do:
ldr r12,m_off4k
and r12,r12,r0 // lo frag
sub r0,r0,r12 // page align lo end
add r1,r1,r12
do_sys __NR_mmap2
ldmia sp!,{r4,r5,pc}
m_off4k:
.word -1+ (1<<PAGE_SHIFT) // offset mask for 4KiB
do_sys __NR_mmap2
ldmia sp!,{r4,r5,pc}
.globl __clear_cache
__clear_cache:
mov r2,#0
do_sys2 __ARM_NR_cacheflush; ret
// All of these syscalls must preserve r7 (cannot use 'do_sys7t')
// because they are called from C-language upxfd_android.c
get_sys_munmap: .globl get_sys_munmap // r0= system call instruction
#if defined(ARMEL_DARWIN) /*{*/
@@ -505,13 +446,35 @@ get_sys_munmap: .globl get_sys_munmap // r0= system call instruction
#endif /*}*/
ret
mmap_privanon: .globl mmap_privanon
stmdb sp!,{r4,r5,lr}
ldr r4,mflg_data @ Map_PRIVATE|MAP_ANON for Linux; MAP_PRIVANON for QNX
mov r5,#0 @ offset= 0
orr r3,r3,r4 @ combine with input (such as MAP_FIXED)
mvn r4,#0 @ fd= -1
b mmap_do
brk: .globl brk; do_sys __NR_brk; ret
close: .globl close; do_sys __NR_close; ret
exit: .globl exit; do_sys __NR_exit
fdatasync: .globl fdatasync; do_sys __NR_fdatasync; ret
fsync: .globl fsync; do_sys __NR_fsync; ret
fstat: .globl fstat; do_sys __NR_fstat; ret
ftruncate: .globl ftruncate; do_sys __NR_ftruncate; ret
getpid:.globl getpid;do_sys __NR_getpid; ret
lseek: .globl lseek; do_sys __NR_lseek; ret
memfd_create: .globl memfd_create; do_sys2 __NR_memfd_create; ret
mkdir: .globl mkdir; do_sys __NR_mkdir; ret
munmap: .globl munmap; do_sys __NR_munmap; ret // BEWARE: get_sys_munmap knows where 'svc' lives!
open: .globl open; do_sys __NR_open; ret
read: .globl read; do_sys __NR_read; ret
readlink: .globl readlink; do_sys __NR_readlink; ret
stat: .globl stat; do_sys __NR_stat; ret
uname: .globl uname; do_sys __NR_uname; ret
unlink:.globl unlink;do_sys __NR_unlink; ret
write: .globl write; do_sys __NR_write; ret
.globl __clear_cache
__clear_cache:
mov r2,#0
do_sys2 __ARM_NR_cacheflush; ret
.globl my_bkpt
my_bkpt:
bkpt // my_bkpt
ret
#if 1|DEBUG /*{*/
+2 -14
View File
@@ -30,20 +30,8 @@
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
/*ENTRY(_start)*/
PHDRS
{
text PT_LOAD FILEHDR PHDRS ;
data PT_LOAD ; /* for setting brk(0) */
}
SECTIONS
{
/* 0x00004000: below 0x00008000 usual, enough to avoid icache sync */
. = 0x00008000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
.text : {
*(.text)
*(.data)
} : text
.data : {
} : data
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
}
+1
View File
@@ -0,0 +1 @@
#include "i386-linux.elf-main2.c"
@@ -0,0 +1,13 @@
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
SECTIONS
{
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
.text : {
}
ELFMAINX : {
*(ELFMAINX)
*(.text)
}
}
+13
View File
@@ -0,0 +1,13 @@
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
SECTIONS
{
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
.text : {
}
ELFMAINX : {
*(ELFMAINX)
*(.text)
}
}
+48
View File
@@ -0,0 +1,48 @@
/* arm-linux.elf-fold.lds --
This file is part of the UPX executable compressor.
Copyright (C) 2000-2023 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
<markus@oberhumer.com> <ezerotven+github@gmail.com>
John F. Reiser
<jreiser@users.sourceforge.net>
*/
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
/*ENTRY(_start)*/
PHDRS
{
text PT_LOAD FILEHDR PHDRS ;
data PT_LOAD ; /* for setting brk(0) */
}
SECTIONS
{
/* . = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
.text : {
*(.text)
*(.data)
} : text
.data : {
} : data
}
+1
View File
@@ -0,0 +1 @@
#include "i386-linux.elf-main2.c"
@@ -0,0 +1,13 @@
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
SECTIONS
{
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
.text : {
}
ELFMAINX : {
*(ELFMAINX)
*(.text)
}
}
+1
View File
@@ -0,0 +1 @@
#include "arm.v4a-expand.S"
@@ -0,0 +1,13 @@
OUTPUT_FORMAT("elf32-bigarm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
SECTIONS
{
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
.text : {
}
ELFMAINX : {
*(ELFMAINX)
*(.text)
}
}
+3 -15
View File
@@ -28,22 +28,10 @@
*/
OUTPUT_FORMAT("elf32-bigarm", "elf32-bigarm", "elf32-bigarm")
OUTPUT_FORMAT("elf32-bigarm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
/*ENTRY(_start)*/
PHDRS
{
text PT_LOAD FILEHDR PHDRS ;
data PT_LOAD ; /* for setting brk(0) */
}
SECTIONS
{
/* 0x00004000: below 0x00008000 usual, enough to avoid icache sync */
. = 0x00008000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
.text : {
*(.text)
*(.data)
} : text
.data : {
} : data
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
}
+1
View File
@@ -0,0 +1 @@
#include "arm.v4a-linux.elf-main2.c"
@@ -0,0 +1 @@
#include "i386-linux.elf-so_main2.c"
+1 -1
View File
@@ -660,7 +660,7 @@ do_xmap(
#elif defined(__powerpc__) //}{
void *const hatch = make_hatch_ppc(phdr, xo.buf, ~page_mask);
#elif defined(__arm__) //}{
void *const hatch = make_hatch_arm(phdr, xo.buf, ~page_mask);
void *const hatch = make_hatch_arm32(phdr, xo.buf, ~page_mask);
#endif //}
if (0!=hatch) {
// Always update AT_NULL, especially for compressed PT_INTERP.
+123 -245
View File
@@ -2,258 +2,136 @@ file format elf32-littlearm
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 010 0 0 034 2**0 CONTENTS
1 NRV_HEAD 0 0 0 044 2**0 CONTENTS
2 NRV_TAIL 0 0 0 044 2**0 CONTENTS
3 NRV2E 012c 0 0 044 2**0 CONTENTS
4 NRV2D 0118 0 0 0170 2**0 CONTENTS
5 NRV2B 0dc 0 0 0288 2**0 CONTENTS
6 LZMA_ELF00 0ac 0 0 0364 2**0 CONTENTS
7 LZMA_DEC20 0938 0 0 0410 2**0 CONTENTS
8 LZMA_DEC10 0478 0 0 0d48 2**0 CONTENTS
9 LZMA_DEC30 0 0 0 011c0 2**0 CONTENTS
10 ELFMAINY 0 0 0 011c0 2**0 CONTENTS
11 ELFMAINZ 0100 0 0 011c0 2**0 CONTENTS
0 ELFMAINY 0 0 0 034 2**0 CONTENTS
1 ELFMAINZ 0114 0 0 034 2**0 CONTENTS
2 ELFMAINX 0628 0 0 0148 2**2 CONTENTS
SYMBOL TABLE:
00000000 l d NRV2E 0 NRV2E
00000000 l d NRV2D 0 NRV2D
00000000 l d NRV2B 0 NRV2B
00000000 l d LZMA_ELF00 0 LZMA_ELF00
00000000 l d LZMA_DEC20 0 LZMA_DEC20
00000000 l d LZMA_DEC10 0 LZMA_DEC10
00000000 l d ELFMAINZ 0 ELFMAINZ
00000000 l d ELFMAINX 0 ELFMAINX
00000000 l d NRV_HEAD 0 NRV_HEAD
00000000 l d NRV_TAIL 0 NRV_TAIL
00000000 l d LZMA_DEC30 0 LZMA_DEC30
00000000 l d ELFMAINY 0 ELFMAINY
00000000 *UND* 0 MFLG
00000004 g ELFMAINX 0 _start
00000000 g F NRV2E 012c ucl_nrv2e_decompress_8
00000000 g F NRV2D 0118 ucl_nrv2d_decompress_8
00000000 g F NRV2B 0dc ucl_nrv2b_decompress_8
00000000 g LZMA_DEC10 0 LzmaDecode
00000000 g ELFMAINY 0 end_decompress
00000090 g ELFMAINZ 0 getpid
00000474 g F ELFMAINX 01b4 upx_mmap_and_fd
00000008 g ELFMAINZ 0 memcpy
00000000 *UND* 0 O_BINFO
00000100 g ELFMAINZ 0 cpr0
0000004c g ELFMAINZ 0 mempcpy
00000088 g ELFMAINZ 0 ftruncate
00000098 g ELFMAINZ 0 lseek
000000d8 g ELFMAINZ 0 mmap
000000c0 g ELFMAINZ 0 uname
00000000 g ELFMAINY 0 end_decompress
000000d0 g ELFMAINZ 0 write
00000078 g ELFMAINZ 0 fdatasync
00000000 g ELFMAINZ 0 get_upxfn_path
00000068 g ELFMAINZ 0 memfd_create
00000004 g ELFMAINX 0 _start
000000b0 g ELFMAINZ 0 read
000000c8 g ELFMAINZ 0 unlink
0000002c g ELFMAINZ 0 memset
00000160 g F ELFMAINX 0dc ucl_nrv2b_decompress_8
00000080 g ELFMAINZ 0 fsync
000000b8 g ELFMAINZ 0 stat
00000114 g ELFMAINZ 0 cpr0
000000a8 g ELFMAINZ 0 open
000000a0 g ELFMAINZ 0 mkdir
00000070 g ELFMAINZ 0 close
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
0000000c R_ARM_PC24 ELFMAINZ
00000020 R_ARM_PC24 ELFMAINZ
00000030 R_ARM_PC24 ELFMAINZ
00000040 R_ARM_PC24 ELFMAINZ
00000050 R_ARM_PC24 ELFMAINZ
00000060 R_ARM_PC24 ELFMAINZ
00000110 R_ARM_ABS32 O_BINFO
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
00000000 R_ARM_ABS32 MFLG
0000000c R_ARM_PC24 ELFMAINZ
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2E
0000005c R_ARM_PC24 NRV2E
00000060 R_ARM_PC24 NRV2E
00000068 R_ARM_PC24 NRV2E
00000074 R_ARM_PC24 NRV2E
00000080 R_ARM_PC24 NRV2E
0000008c R_ARM_PC24 NRV2E
00000090 R_ARM_PC24 NRV2E
0000009c R_ARM_PC24 NRV2E
000000ac R_ARM_PC24 NRV2E
000000b4 R_ARM_PC24 NRV2E
000000b8 R_ARM_PC24 NRV2E
000000c0 R_ARM_PC24 NRV2E
000000c4 R_ARM_PC24 NRV2E
000000d0 R_ARM_PC24 NRV2E
000000d4 R_ARM_PC24 NRV2E
000000dc R_ARM_PC24 NRV2E
000000e8 R_ARM_PC24 NRV2E
000000ec R_ARM_PC24 NRV2E
000000f4 R_ARM_PC24 NRV2E
000000fc R_ARM_PC24 NRV2E
00000124 R_ARM_PC24 NRV2E
00000128 R_ARM_PC24 NRV2E
RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2D
0000005c R_ARM_PC24 NRV2D
00000060 R_ARM_PC24 NRV2D
00000068 R_ARM_PC24 NRV2D
00000074 R_ARM_PC24 NRV2D
00000080 R_ARM_PC24 NRV2D
0000008c R_ARM_PC24 NRV2D
00000090 R_ARM_PC24 NRV2D
0000009c R_ARM_PC24 NRV2D
000000ac R_ARM_PC24 NRV2D
000000b4 R_ARM_PC24 NRV2D
000000bc R_ARM_PC24 NRV2D
000000c8 R_ARM_PC24 NRV2D
000000d0 R_ARM_PC24 NRV2D
000000dc R_ARM_PC24 NRV2D
000000e8 R_ARM_PC24 NRV2D
000000ec R_ARM_PC24 NRV2D
00000110 R_ARM_PC24 NRV2D
00000114 R_ARM_PC24 NRV2D
RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2B
00000060 R_ARM_PC24 NRV2B
00000068 R_ARM_PC24 NRV2B
0000006c R_ARM_PC24 NRV2B
0000007c R_ARM_PC24 NRV2B
00000080 R_ARM_PC24 NRV2B
00000084 R_ARM_PC24 NRV2B
00000090 R_ARM_PC24 NRV2B
000000a0 R_ARM_PC24 NRV2B
000000a4 R_ARM_PC24 NRV2B
000000ac R_ARM_PC24 NRV2B
000000b4 R_ARM_PC24 NRV2B
000000b8 R_ARM_PC24 NRV2B
000000d4 R_ARM_PC24 NRV2B
000000d8 R_ARM_PC24 NRV2B
RELOCATION RECORDS FOR [LZMA_ELF00]:
OFFSET TYPE VALUE
00000008 R_ARM_PC24 LZMA_ELF00
0000004c R_ARM_PC24 LZMA_ELF00
00000080 R_ARM_PC24 LZMA_ELF00
000000a8 R_ARM_PC24 LZMA_ELF00
RELOCATION RECORDS FOR [LZMA_DEC20]:
OFFSET TYPE VALUE
00000074 R_ARM_PC24 LZMA_DEC20
00000090 R_ARM_PC24 LZMA_DEC20
000000b8 R_ARM_PC24 LZMA_DEC20
000000cc R_ARM_PC24 LZMA_DEC20
000000f4 R_ARM_PC24 LZMA_DEC20
00000100 R_ARM_PC24 LZMA_DEC20
00000108 R_ARM_PC24 LZMA_DEC20
00000144 R_ARM_PC24 LZMA_DEC20
00000190 R_ARM_PC24 LZMA_DEC20
000001cc R_ARM_PC24 LZMA_DEC20
000001d8 R_ARM_PC24 LZMA_DEC20
00000204 R_ARM_PC24 LZMA_DEC20
00000218 R_ARM_PC24 LZMA_DEC20
00000220 R_ARM_PC24 LZMA_DEC20
00000234 R_ARM_PC24 LZMA_DEC20
0000023c R_ARM_PC24 LZMA_DEC20
00000240 R_ARM_PC24 LZMA_DEC20
0000024c R_ARM_PC24 LZMA_DEC20
00000258 R_ARM_PC24 LZMA_DEC20
000002a4 R_ARM_PC24 LZMA_DEC20
000002c8 R_ARM_PC24 LZMA_DEC20
000002e8 R_ARM_PC24 LZMA_DEC20
00000304 R_ARM_PC24 LZMA_DEC20
0000030c R_ARM_PC24 LZMA_DEC20
0000033c R_ARM_PC24 LZMA_DEC20
00000388 R_ARM_PC24 LZMA_DEC20
000003a0 R_ARM_PC24 LZMA_DEC20
000003a8 R_ARM_PC24 LZMA_DEC20
000003cc R_ARM_PC24 LZMA_DEC20
000003e0 R_ARM_PC24 LZMA_DEC20
000003e8 R_ARM_PC24 LZMA_DEC20
00000424 R_ARM_PC24 LZMA_DEC20
00000438 R_ARM_PC24 LZMA_DEC20
0000046c R_ARM_PC24 LZMA_DEC20
00000484 R_ARM_PC24 LZMA_DEC20
0000048c R_ARM_PC24 LZMA_DEC20
000004b0 R_ARM_PC24 LZMA_DEC20
000004d4 R_ARM_PC24 LZMA_DEC20
000004ec R_ARM_PC24 LZMA_DEC20
000004f4 R_ARM_PC24 LZMA_DEC20
00000518 R_ARM_PC24 LZMA_DEC20
0000053c R_ARM_PC24 LZMA_DEC20
00000598 R_ARM_PC24 LZMA_DEC20
000005a0 R_ARM_PC24 LZMA_DEC20
000005c0 R_ARM_PC24 LZMA_DEC20
000005e4 R_ARM_PC24 LZMA_DEC20
000005fc R_ARM_PC24 LZMA_DEC20
00000604 R_ARM_PC24 LZMA_DEC20
00000624 R_ARM_PC24 LZMA_DEC20
00000648 R_ARM_PC24 LZMA_DEC20
00000680 R_ARM_PC24 LZMA_DEC20
0000068c R_ARM_PC24 LZMA_DEC20
000006d0 R_ARM_PC24 LZMA_DEC20
000006ec R_ARM_PC24 LZMA_DEC20
0000071c R_ARM_PC24 LZMA_DEC20
00000728 R_ARM_PC24 LZMA_DEC20
0000076c R_ARM_PC24 LZMA_DEC20
0000077c R_ARM_PC24 LZMA_DEC20
0000079c R_ARM_PC24 LZMA_DEC20
000007b8 R_ARM_PC24 LZMA_DEC20
000007c4 R_ARM_PC24 LZMA_DEC20
000007d0 R_ARM_PC24 LZMA_DEC20
000007f4 R_ARM_PC24 LZMA_DEC20
00000820 R_ARM_PC24 LZMA_DEC20
0000082c R_ARM_PC24 LZMA_DEC20
0000087c R_ARM_PC24 LZMA_DEC20
00000888 R_ARM_PC24 LZMA_DEC20
000008a0 R_ARM_PC24 LZMA_DEC20
000008e8 R_ARM_PC24 LZMA_DEC20
000008f4 R_ARM_PC24 LZMA_DEC20
000008fc R_ARM_PC24 LZMA_DEC20
00000904 R_ARM_PC24 LZMA_DEC20
00000928 R_ARM_PC24 LZMA_DEC20
RELOCATION RECORDS FOR [LZMA_DEC10]:
OFFSET TYPE VALUE
00000078 R_ARM_PC24 LZMA_DEC10
00000080 R_ARM_PC24 LZMA_DEC10
00000088 R_ARM_PC24 LZMA_DEC10
000000a8 R_ARM_PC24 LZMA_DEC10
000000ac R_ARM_PC24 LZMA_DEC10
000000e4 R_ARM_PC24 LZMA_DEC10
00000100 R_ARM_PC24 LZMA_DEC10
0000010c R_ARM_PC24 LZMA_DEC10
00000114 R_ARM_PC24 LZMA_DEC10
00000118 R_ARM_PC24 LZMA_DEC10
00000120 R_ARM_PC24 LZMA_DEC10
00000128 R_ARM_PC24 LZMA_DEC10
00000144 R_ARM_PC24 LZMA_DEC10
0000014c R_ARM_PC24 LZMA_DEC10
00000150 R_ARM_PC24 LZMA_DEC10
00000180 R_ARM_PC24 LZMA_DEC10
00000188 R_ARM_PC24 LZMA_DEC10
0000018c R_ARM_PC24 LZMA_DEC10
0000019c R_ARM_PC24 LZMA_DEC10
000001a0 R_ARM_PC24 LZMA_DEC10
000001c0 R_ARM_PC24 LZMA_DEC10
000001cc R_ARM_PC24 LZMA_DEC10
000001d4 R_ARM_PC24 LZMA_DEC10
000001dc R_ARM_PC24 LZMA_DEC10
000001e4 R_ARM_PC24 LZMA_DEC10
000001ec R_ARM_PC24 LZMA_DEC10
00000228 R_ARM_PC24 LZMA_DEC10
0000022c R_ARM_PC24 LZMA_DEC10
00000244 R_ARM_PC24 LZMA_DEC10
0000024c R_ARM_PC24 LZMA_DEC10
00000250 R_ARM_PC24 LZMA_DEC10
00000268 R_ARM_PC24 LZMA_DEC10
00000284 R_ARM_PC24 LZMA_DEC10
0000028c R_ARM_PC24 LZMA_DEC10
000002a4 R_ARM_PC24 LZMA_DEC10
000002c8 R_ARM_PC24 LZMA_DEC10
000002d0 R_ARM_PC24 LZMA_DEC10
000002dc R_ARM_PC24 LZMA_DEC10
000002f4 R_ARM_PC24 LZMA_DEC10
0000030c R_ARM_PC24 LZMA_DEC10
00000314 R_ARM_PC24 LZMA_DEC10
0000032c R_ARM_PC24 LZMA_DEC10
00000350 R_ARM_PC24 LZMA_DEC10
00000358 R_ARM_PC24 LZMA_DEC10
00000370 R_ARM_PC24 LZMA_DEC10
00000378 R_ARM_PC24 LZMA_DEC10
0000039c R_ARM_PC24 LZMA_DEC10
000003b0 R_ARM_PC24 LZMA_DEC10
000003b8 R_ARM_PC24 LZMA_DEC10
000003c8 R_ARM_PC24 LZMA_DEC10
000003cc R_ARM_PC24 LZMA_DEC10
00000400 R_ARM_PC24 LZMA_DEC10
00000418 R_ARM_PC24 LZMA_DEC10
00000440 R_ARM_PC24 LZMA_DEC10
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
00000098 R_ARM_PC24 ELFMAINZ
000000c8 R_ARM_PC24 ELFMAINZ
000000cc R_ARM_PC24 ELFMAINZ
000000dc R_ARM_PC24 ELFMAINZ
000000e4 R_ARM_PC24 ELFMAINZ
000000f8 R_ARM_PC24 ELFMAINZ
000000fc R_ARM_ABS32 O_BINFO
00000010 R_ARM_PC24 ELFMAINX
00000014 R_ARM_PC24 ELFMAINX
00000020 R_ARM_PC24 ELFMAINX
00000028 R_ARM_PC24 ELFMAINX
00000058 R_ARM_PC24 ELFMAINZ
00000090 R_ARM_PC24 ELFMAINX
000000a0 R_ARM_PC24 upx_mmap_and_fd
000000cc R_ARM_PC24 ELFMAINX
00000108 R_ARM_PC24 ELFMAINX
00000158 R_ARM_PC24 ELFMAINX
00000170 R_ARM_PC24 ELFMAINX
000001c0 R_ARM_PC24 ELFMAINX
000001c8 R_ARM_PC24 ELFMAINX
000001cc R_ARM_PC24 ELFMAINX
000001dc R_ARM_PC24 ELFMAINX
000001e0 R_ARM_PC24 ELFMAINX
000001e4 R_ARM_PC24 ELFMAINX
000001f0 R_ARM_PC24 ELFMAINX
00000200 R_ARM_PC24 ELFMAINX
00000204 R_ARM_PC24 ELFMAINX
0000020c R_ARM_PC24 ELFMAINX
00000214 R_ARM_PC24 ELFMAINX
00000218 R_ARM_PC24 ELFMAINX
00000234 R_ARM_PC24 ELFMAINX
00000238 R_ARM_PC24 ELFMAINX
00000248 R_ARM_PC24 ELFMAINX
00000264 R_ARM_PC24 ELFMAINX
0000027c R_ARM_PC24 ELFMAINX
00000290 R_ARM_PC24 ELFMAINX
000002bc R_ARM_PC24 memset
000002c8 R_ARM_PC24 stat
000002d0 R_ARM_PC24 ELFMAINX
000002e4 R_ARM_PC24 ELFMAINX
000002f4 R_ARM_PC24 mkdir
0000030c R_ARM_PC24 ELFMAINX
00000324 R_ARM_PC24 mempcpy
00000334 R_ARM_PC24 ELFMAINX
00000338 R_ARM_PC24 ELFMAINX
0000035c R_ARM_PC24 open
00000370 R_ARM_PC24 read
0000037c R_ARM_PC24 close
000003a0 R_ARM_PC24 ELFMAINX
000003b0 R_ARM_PC24 ELFMAINX
000003b8 R_ARM_PC24 ELFMAINX
000003c4 R_ARM_PC24 ELFMAINX
000003d4 R_ARM_PC24 mempcpy
000003e8 R_ARM_PC24 ELFMAINX
000003ec R_ARM_PC24 ELFMAINX
00000404 R_ARM_PC24 mempcpy
00000414 R_ARM_PC24 ELFMAINX
00000418 R_ARM_PC24 ELFMAINX
00000430 R_ARM_PC24 mempcpy
00000438 R_ARM_PC24 getpid
00000440 R_ARM_PC24 ELFMAINX
0000044c R_ARM_PC24 ELFMAINX
00000458 R_ARM_PC24 ELFMAINX
00000470 R_ARM_PC24 ELFMAINX
00000490 R_ARM_PC24 ELFMAINX
000004a0 R_ARM_PC24 memfd_create
000004c0 R_ARM_PC24 uname
000004c4 R_ARM_PC24 ELFMAINX
000004dc R_ARM_PC24 ELFMAINX
000004f4 R_ARM_PC24 ELFMAINX
000004f8 R_ARM_PC24 get_upxfn_path
00000510 R_ARM_PC24 ELFMAINX
00000518 R_ARM_PC24 ELFMAINX
00000524 R_ARM_PC24 ELFMAINX
00000530 R_ARM_PC24 ELFMAINX
00000538 R_ARM_PC24 ELFMAINX
00000548 R_ARM_PC24 open
00000554 R_ARM_PC24 ELFMAINX
0000055c R_ARM_PC24 unlink
00000564 R_ARM_PC24 ELFMAINX
0000056c R_ARM_PC24 ELFMAINX
00000578 R_ARM_PC24 ftruncate
00000580 R_ARM_PC24 ELFMAINX
00000584 R_ARM_PC24 ELFMAINX
00000594 R_ARM_PC24 memset
000005b4 R_ARM_PC24 write
000005bc R_ARM_PC24 ELFMAINX
000005c4 R_ARM_PC24 ELFMAINX
000005d4 R_ARM_PC24 lseek
000005e0 R_ARM_PC24 ELFMAINX
000005e4 R_ARM_PC24 ELFMAINX
000005ec R_ARM_PC24 ELFMAINX
00000610 R_ARM_PC24 mmap
+93 -34
View File
@@ -6,42 +6,101 @@ Name Origin Length Attributes
Linker script and memory map
0x0000000000008040 . = ((0x8000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000008040 0xb60
*(.text)
.text 0x0000000000008040 0x3c0 tmp/arm.v4a-linux.elf-fold.o
0x0000000000008048 get_page_mask
0x00000000000082d8 my_bkpt
0x00000000000082e0 exit
0x00000000000082e4 read
0x00000000000082ec write
0x00000000000082f4 open
0x00000000000082fc close
0x0000000000008304 unlink
0x000000000000830c getpid
0x0000000000008314 brk
0x000000000000831c readlink
0x0000000000008324 munmap
0x000000000000832c Pprotect
0x000000000000832c mprotect
0x0000000000008344 mmap
0x0000000000008378 __clear_cache
0x0000000000008384 get_sys_munmap
0x000000000000838c mmap_privanon
0x00000000000083a4 __udivsi3
0x00000000000083a4 div10
.text 0x0000000000008400 0x7a0 tmp/arm.v4a-linux.elf-main.o
0x0000000000008a6c upx_main
*(.data)
.data 0x0000000000008ba0 0x0 tmp/arm.v4a-linux.elf-fold.o
.data 0x0000000000008ba0 0x0 tmp/arm.v4a-linux.elf-main.o
.text 0x0000000000000000 0xf88
.text 0x0000000000000000 0x2f8 tmp/arm.v4a-linux.elf-fold.o
0x0000000000000004 get_page_mask
0x0000000000000298 memcpy
0x00000000000002dc mempcpy
0x0000000000000054 mmap
0x000000000000003c mmap_privanon
0x000000000000000c get_upxfn_path
0x00000000000002bc memset
0x0000000000000024 Pprotect
0x00000000fffffff4 PAGE_MASK
0x0000000000000024 mprotect
.text 0x00000000000002f8 0x3ec tmp/arm.v4a-linux.elf-upxfd_android.o
0x0000000000000530 upx_mmap_and_fd
.text 0x00000000000006e4 0x0 tmp/arm.v4a-expand.o
.text 0x00000000000006e4 0x8a4 tmp/arm.v4a-linux.elf-main2.o
0x0000000000000f24 underlay
0x0000000000000df4 upx_main
.data
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)
SYSCALLS 0x0000000000000000 0x10c
SYSCALLS 0x0000000000000000 0x10c tmp/arm.v4a-linux.elf-fold.o
0x000000000000005c munmap
0x0000000000000000 get_sys_munmap
0x000000000000003c getpid
0x0000000000000074 readlink
0x00000000000000b0 __udivsi3
0x0000000000000034 ftruncate
0x0000000000000044 lseek
0x000000000000009c __clear_cache
0x0000000000000084 uname
0x0000000000000094 write
0x000000000000002c fstat
0x000000000000001c fdatasync
0x000000000000004c memfd_create
0x000000000000006c read
0x000000000000008c unlink
0x00000000000000a8 my_bkpt
0x0000000000000024 fsync
0x000000000000007c stat
0x0000000000000018 exit
0x0000000000000008 brk
0x0000000000000064 open
0x00000000000000b0 div10
0x0000000000000054 mkdir
0x0000000000000010 close
EXP_HEAD 0x0000000000000000 0xdc
EXP_HEAD 0x0000000000000000 0xdc tmp/arm.v4a-expand.o
0x0000000000000070 f_expand
EXP_TAIL 0x0000000000000000 0x24
EXP_TAIL 0x0000000000000000 0x24 tmp/arm.v4a-expand.o
0x0000000000000000 eof
NRV2E 0x0000000000000000 0x114
NRV2E 0x0000000000000000 0x114 tmp/arm.v4a-expand.o
0x0000000000000000 ucl_nrv2e_decompress_8
NRV2D 0x0000000000000000 0x100
NRV2D 0x0000000000000000 0x100 tmp/arm.v4a-expand.o
0x0000000000000000 ucl_nrv2d_decompress_8
NRV2B 0x0000000000000000 0xc4
NRV2B 0x0000000000000000 0xc4 tmp/arm.v4a-expand.o
0x0000000000000000 ucl_nrv2b_decompress_8
.data 0x0000000000000000 0x0
.data 0x0000000000000000 0x0 tmp/arm.v4a-linux.elf-fold.o
.data 0x0000000000000000 0x0 tmp/arm.v4a-linux.elf-upxfd_android.o
.data 0x0000000000000000 0x0 tmp/arm.v4a-expand.o
.data 0x0000000000000000 0x0 tmp/arm.v4a-linux.elf-main2.o
.bss 0x0000000000000000 0x0
.bss 0x0000000000000000 0x0 tmp/arm.v4a-linux.elf-fold.o
.bss 0x0000000000000000 0x0 tmp/arm.v4a-linux.elf-main.o
.bss 0x0000000000000000 0x0 tmp/arm.v4a-linux.elf-upxfd_android.o
.bss 0x0000000000000000 0x0 tmp/arm.v4a-expand.o
.bss 0x0000000000000000 0x0 tmp/arm.v4a-linux.elf-main2.o
TARGET(elf32-littlearm)
0x0000000000100040 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
LOAD tmp/arm.v4a-linux.elf-fold.o
LOAD tmp/arm.v4a-linux.elf-upxfd_android.o
LOAD tmp/arm.v4a-expand.o
LOAD tmp/arm.v4a-linux.elf-main2.o
OUTPUT(tmp/arm.v4a-linux.elf-fold.bin elf32-littlearm)
LZMA_ELF00 0x0000000000000000 0x90
LZMA_ELF00 0x0000000000000000 0x90 tmp/arm.v4a-expand.o
LZMA_DEC20 0x0000000000000000 0x938
LZMA_DEC20 0x0000000000000000 0x938 tmp/arm.v4a-expand.o
LZMA_DEC10 0x0000000000000000 0x478
LZMA_DEC10 0x0000000000000000 0x478 tmp/arm.v4a-expand.o
0x0000000000000000 LzmaDecode
LZMA_DEC30 0x0000000000000000 0x0
LZMA_DEC30 0x0000000000000000 0x0 tmp/arm.v4a-expand.o
+124 -245
View File
@@ -2,258 +2,137 @@ file format elf32-littlearm
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 010 0 0 034 2**0 CONTENTS
1 NRV_HEAD 0 0 0 044 2**0 CONTENTS
2 NRV_TAIL 0 0 0 044 2**0 CONTENTS
3 NRV2E 0144 0 0 044 2**0 CONTENTS
4 NRV2D 0130 0 0 0188 2**0 CONTENTS
5 NRV2B 0f4 0 0 02b8 2**0 CONTENTS
6 LZMA_ELF00 0c4 0 0 03ac 2**0 CONTENTS
7 LZMA_DEC20 0938 0 0 0470 2**0 CONTENTS
8 LZMA_DEC10 0478 0 0 0da8 2**0 CONTENTS
9 LZMA_DEC30 0 0 0 01220 2**0 CONTENTS
10 ELFMAINY 0 0 0 01220 2**0 CONTENTS
11 ELFMAINZ 0108 0 0 01220 2**0 CONTENTS
0 ELFMAINY 0 0 0 034 2**0 CONTENTS
1 ELFMAINZ 01d4 0 0 034 2**0 CONTENTS
2 ELFMAINX 064c 0 0 0208 2**2 CONTENTS
SYMBOL TABLE:
00000000 l d NRV2E 0 NRV2E
00000000 l d NRV2D 0 NRV2D
00000000 l d NRV2B 0 NRV2B
00000000 l d LZMA_ELF00 0 LZMA_ELF00
00000000 l d LZMA_DEC20 0 LZMA_DEC20
00000000 l d LZMA_DEC10 0 LZMA_DEC10
00000000 l d ELFMAINZ 0 ELFMAINZ
00000000 l d ELFMAINX 0 ELFMAINX
00000000 l d NRV_HEAD 0 NRV_HEAD
00000000 l d NRV_TAIL 0 NRV_TAIL
00000000 l d LZMA_DEC30 0 LZMA_DEC30
00000000 l d ELFMAINY 0 ELFMAINY
00000000 *UND* 0 MFLG
00000004 g ELFMAINX 0 _start
00000000 g F NRV2E 0144 ucl_nrv2e_decompress_8
00000000 g F NRV2D 0130 ucl_nrv2d_decompress_8
00000000 g F NRV2B 0f4 ucl_nrv2b_decompress_8
00000000 g LZMA_DEC10 0 LzmaDecode
00000000 g ELFMAINY 0 end_decompress
000000d8 g ELFMAINZ 0 getpid
00000498 g F ELFMAINX 01b4 upx_mmap_and_fd
00000008 g ELFMAINZ 0 memcpy
00000000 *UND* 0 O_BINFO
00000108 g ELFMAINZ 0 cpr0
0000004c g ELFMAINZ 0 mempcpy
000000c4 g ELFMAINZ 0 ftruncate
000000ec g ELFMAINZ 0 lseek
0000018c g ELFMAINZ 0 mmap
00000150 g ELFMAINZ 0 uname
00000000 g ELFMAINY 0 end_decompress
00000178 g ELFMAINZ 0 write
0000009c g ELFMAINZ 0 fdatasync
00000000 g ELFMAINZ 0 get_upxfn_path
00000068 g ELFMAINZ 0 memfd_create
00000004 g ELFMAINX 0 _start
00000128 g ELFMAINZ 0 read
00000164 g ELFMAINZ 0 unlink
0000002c g ELFMAINZ 0 memset
00000168 g F ELFMAINX 0f4 ucl_nrv2b_decompress_8
000000b0 g ELFMAINZ 0 fsync
0000013c g ELFMAINZ 0 stat
000001d4 g ELFMAINZ 0 cpr0
00000114 g ELFMAINZ 0 open
00000100 g ELFMAINZ 0 mkdir
00000088 g ELFMAINZ 0 close
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
0000000c R_ARM_PC24 ELFMAINZ
00000020 R_ARM_PC24 ELFMAINZ
00000030 R_ARM_PC24 ELFMAINZ
00000040 R_ARM_PC24 ELFMAINZ
00000050 R_ARM_PC24 ELFMAINZ
00000060 R_ARM_PC24 ELFMAINZ
000001d0 R_ARM_ABS32 O_BINFO
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
00000000 R_ARM_ABS32 MFLG
0000000c R_ARM_PC24 ELFMAINZ
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2E
00000074 R_ARM_PC24 NRV2E
00000078 R_ARM_PC24 NRV2E
00000080 R_ARM_PC24 NRV2E
0000008c R_ARM_PC24 NRV2E
00000098 R_ARM_PC24 NRV2E
000000a4 R_ARM_PC24 NRV2E
000000a8 R_ARM_PC24 NRV2E
000000b4 R_ARM_PC24 NRV2E
000000c4 R_ARM_PC24 NRV2E
000000cc R_ARM_PC24 NRV2E
000000d0 R_ARM_PC24 NRV2E
000000d8 R_ARM_PC24 NRV2E
000000dc R_ARM_PC24 NRV2E
000000e8 R_ARM_PC24 NRV2E
000000ec R_ARM_PC24 NRV2E
000000f4 R_ARM_PC24 NRV2E
00000100 R_ARM_PC24 NRV2E
00000104 R_ARM_PC24 NRV2E
0000010c R_ARM_PC24 NRV2E
00000114 R_ARM_PC24 NRV2E
0000013c R_ARM_PC24 NRV2E
00000140 R_ARM_PC24 NRV2E
RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2D
00000074 R_ARM_PC24 NRV2D
00000078 R_ARM_PC24 NRV2D
00000080 R_ARM_PC24 NRV2D
0000008c R_ARM_PC24 NRV2D
00000098 R_ARM_PC24 NRV2D
000000a4 R_ARM_PC24 NRV2D
000000a8 R_ARM_PC24 NRV2D
000000b4 R_ARM_PC24 NRV2D
000000c4 R_ARM_PC24 NRV2D
000000cc R_ARM_PC24 NRV2D
000000d4 R_ARM_PC24 NRV2D
000000e0 R_ARM_PC24 NRV2D
000000e8 R_ARM_PC24 NRV2D
000000f4 R_ARM_PC24 NRV2D
00000100 R_ARM_PC24 NRV2D
00000104 R_ARM_PC24 NRV2D
00000128 R_ARM_PC24 NRV2D
0000012c R_ARM_PC24 NRV2D
RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2B
00000078 R_ARM_PC24 NRV2B
00000080 R_ARM_PC24 NRV2B
00000084 R_ARM_PC24 NRV2B
00000094 R_ARM_PC24 NRV2B
00000098 R_ARM_PC24 NRV2B
0000009c R_ARM_PC24 NRV2B
000000a8 R_ARM_PC24 NRV2B
000000b8 R_ARM_PC24 NRV2B
000000bc R_ARM_PC24 NRV2B
000000c4 R_ARM_PC24 NRV2B
000000cc R_ARM_PC24 NRV2B
000000d0 R_ARM_PC24 NRV2B
000000ec R_ARM_PC24 NRV2B
000000f0 R_ARM_PC24 NRV2B
RELOCATION RECORDS FOR [LZMA_ELF00]:
OFFSET TYPE VALUE
00000008 R_ARM_PC24 LZMA_ELF00
0000004c R_ARM_PC24 LZMA_ELF00
00000080 R_ARM_PC24 LZMA_ELF00
000000c0 R_ARM_PC24 LZMA_ELF00
RELOCATION RECORDS FOR [LZMA_DEC20]:
OFFSET TYPE VALUE
00000074 R_ARM_PC24 LZMA_DEC20
00000090 R_ARM_PC24 LZMA_DEC20
000000b8 R_ARM_PC24 LZMA_DEC20
000000cc R_ARM_PC24 LZMA_DEC20
000000f4 R_ARM_PC24 LZMA_DEC20
00000100 R_ARM_PC24 LZMA_DEC20
00000108 R_ARM_PC24 LZMA_DEC20
00000144 R_ARM_PC24 LZMA_DEC20
00000190 R_ARM_PC24 LZMA_DEC20
000001cc R_ARM_PC24 LZMA_DEC20
000001d8 R_ARM_PC24 LZMA_DEC20
00000204 R_ARM_PC24 LZMA_DEC20
00000218 R_ARM_PC24 LZMA_DEC20
00000220 R_ARM_PC24 LZMA_DEC20
00000234 R_ARM_PC24 LZMA_DEC20
0000023c R_ARM_PC24 LZMA_DEC20
00000240 R_ARM_PC24 LZMA_DEC20
0000024c R_ARM_PC24 LZMA_DEC20
00000258 R_ARM_PC24 LZMA_DEC20
000002a4 R_ARM_PC24 LZMA_DEC20
000002c8 R_ARM_PC24 LZMA_DEC20
000002e8 R_ARM_PC24 LZMA_DEC20
00000304 R_ARM_PC24 LZMA_DEC20
0000030c R_ARM_PC24 LZMA_DEC20
0000033c R_ARM_PC24 LZMA_DEC20
00000388 R_ARM_PC24 LZMA_DEC20
000003a0 R_ARM_PC24 LZMA_DEC20
000003a8 R_ARM_PC24 LZMA_DEC20
000003cc R_ARM_PC24 LZMA_DEC20
000003e0 R_ARM_PC24 LZMA_DEC20
000003e8 R_ARM_PC24 LZMA_DEC20
00000424 R_ARM_PC24 LZMA_DEC20
00000438 R_ARM_PC24 LZMA_DEC20
0000046c R_ARM_PC24 LZMA_DEC20
00000484 R_ARM_PC24 LZMA_DEC20
0000048c R_ARM_PC24 LZMA_DEC20
000004b0 R_ARM_PC24 LZMA_DEC20
000004d4 R_ARM_PC24 LZMA_DEC20
000004ec R_ARM_PC24 LZMA_DEC20
000004f4 R_ARM_PC24 LZMA_DEC20
00000518 R_ARM_PC24 LZMA_DEC20
0000053c R_ARM_PC24 LZMA_DEC20
00000598 R_ARM_PC24 LZMA_DEC20
000005a0 R_ARM_PC24 LZMA_DEC20
000005c0 R_ARM_PC24 LZMA_DEC20
000005e4 R_ARM_PC24 LZMA_DEC20
000005fc R_ARM_PC24 LZMA_DEC20
00000604 R_ARM_PC24 LZMA_DEC20
00000624 R_ARM_PC24 LZMA_DEC20
00000648 R_ARM_PC24 LZMA_DEC20
00000680 R_ARM_PC24 LZMA_DEC20
0000068c R_ARM_PC24 LZMA_DEC20
000006d0 R_ARM_PC24 LZMA_DEC20
000006ec R_ARM_PC24 LZMA_DEC20
0000071c R_ARM_PC24 LZMA_DEC20
00000728 R_ARM_PC24 LZMA_DEC20
0000076c R_ARM_PC24 LZMA_DEC20
0000077c R_ARM_PC24 LZMA_DEC20
0000079c R_ARM_PC24 LZMA_DEC20
000007b8 R_ARM_PC24 LZMA_DEC20
000007c4 R_ARM_PC24 LZMA_DEC20
000007d0 R_ARM_PC24 LZMA_DEC20
000007f4 R_ARM_PC24 LZMA_DEC20
00000820 R_ARM_PC24 LZMA_DEC20
0000082c R_ARM_PC24 LZMA_DEC20
0000087c R_ARM_PC24 LZMA_DEC20
00000888 R_ARM_PC24 LZMA_DEC20
000008a0 R_ARM_PC24 LZMA_DEC20
000008e8 R_ARM_PC24 LZMA_DEC20
000008f4 R_ARM_PC24 LZMA_DEC20
000008fc R_ARM_PC24 LZMA_DEC20
00000904 R_ARM_PC24 LZMA_DEC20
00000928 R_ARM_PC24 LZMA_DEC20
RELOCATION RECORDS FOR [LZMA_DEC10]:
OFFSET TYPE VALUE
00000078 R_ARM_PC24 LZMA_DEC10
00000080 R_ARM_PC24 LZMA_DEC10
00000088 R_ARM_PC24 LZMA_DEC10
000000a8 R_ARM_PC24 LZMA_DEC10
000000ac R_ARM_PC24 LZMA_DEC10
000000e4 R_ARM_PC24 LZMA_DEC10
00000100 R_ARM_PC24 LZMA_DEC10
0000010c R_ARM_PC24 LZMA_DEC10
00000114 R_ARM_PC24 LZMA_DEC10
00000118 R_ARM_PC24 LZMA_DEC10
00000120 R_ARM_PC24 LZMA_DEC10
00000128 R_ARM_PC24 LZMA_DEC10
00000144 R_ARM_PC24 LZMA_DEC10
0000014c R_ARM_PC24 LZMA_DEC10
00000150 R_ARM_PC24 LZMA_DEC10
00000180 R_ARM_PC24 LZMA_DEC10
00000188 R_ARM_PC24 LZMA_DEC10
0000018c R_ARM_PC24 LZMA_DEC10
0000019c R_ARM_PC24 LZMA_DEC10
000001a0 R_ARM_PC24 LZMA_DEC10
000001c0 R_ARM_PC24 LZMA_DEC10
000001cc R_ARM_PC24 LZMA_DEC10
000001d4 R_ARM_PC24 LZMA_DEC10
000001dc R_ARM_PC24 LZMA_DEC10
000001e4 R_ARM_PC24 LZMA_DEC10
000001ec R_ARM_PC24 LZMA_DEC10
00000228 R_ARM_PC24 LZMA_DEC10
0000022c R_ARM_PC24 LZMA_DEC10
00000244 R_ARM_PC24 LZMA_DEC10
0000024c R_ARM_PC24 LZMA_DEC10
00000250 R_ARM_PC24 LZMA_DEC10
00000268 R_ARM_PC24 LZMA_DEC10
00000284 R_ARM_PC24 LZMA_DEC10
0000028c R_ARM_PC24 LZMA_DEC10
000002a4 R_ARM_PC24 LZMA_DEC10
000002c8 R_ARM_PC24 LZMA_DEC10
000002d0 R_ARM_PC24 LZMA_DEC10
000002dc R_ARM_PC24 LZMA_DEC10
000002f4 R_ARM_PC24 LZMA_DEC10
0000030c R_ARM_PC24 LZMA_DEC10
00000314 R_ARM_PC24 LZMA_DEC10
0000032c R_ARM_PC24 LZMA_DEC10
00000350 R_ARM_PC24 LZMA_DEC10
00000358 R_ARM_PC24 LZMA_DEC10
00000370 R_ARM_PC24 LZMA_DEC10
00000378 R_ARM_PC24 LZMA_DEC10
0000039c R_ARM_PC24 LZMA_DEC10
000003b0 R_ARM_PC24 LZMA_DEC10
000003b8 R_ARM_PC24 LZMA_DEC10
000003c8 R_ARM_PC24 LZMA_DEC10
000003cc R_ARM_PC24 LZMA_DEC10
00000400 R_ARM_PC24 LZMA_DEC10
00000418 R_ARM_PC24 LZMA_DEC10
00000440 R_ARM_PC24 LZMA_DEC10
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
000000a0 R_ARM_PC24 ELFMAINZ
000000d0 R_ARM_PC24 ELFMAINZ
000000d4 R_ARM_PC24 ELFMAINZ
000000e4 R_ARM_PC24 ELFMAINZ
000000ec R_ARM_PC24 ELFMAINZ
00000100 R_ARM_PC24 ELFMAINZ
00000104 R_ARM_ABS32 O_BINFO
00000010 R_ARM_PC24 ELFMAINX
00000014 R_ARM_PC24 ELFMAINX
00000020 R_ARM_PC24 ELFMAINX
00000028 R_ARM_PC24 ELFMAINX
00000058 R_ARM_PC24 ELFMAINZ
00000090 R_ARM_PC24 ELFMAINX
000000a0 R_ARM_PC24 upx_mmap_and_fd
000000cc R_ARM_PC24 ELFMAINX
00000108 R_ARM_PC24 ELFMAINX
00000160 R_ARM_PC24 ELFMAINX
00000178 R_ARM_PC24 ELFMAINX
000001e0 R_ARM_PC24 ELFMAINX
000001e8 R_ARM_PC24 ELFMAINX
000001ec R_ARM_PC24 ELFMAINX
000001fc R_ARM_PC24 ELFMAINX
00000200 R_ARM_PC24 ELFMAINX
00000204 R_ARM_PC24 ELFMAINX
00000210 R_ARM_PC24 ELFMAINX
00000220 R_ARM_PC24 ELFMAINX
00000224 R_ARM_PC24 ELFMAINX
0000022c R_ARM_PC24 ELFMAINX
00000234 R_ARM_PC24 ELFMAINX
00000238 R_ARM_PC24 ELFMAINX
00000254 R_ARM_PC24 ELFMAINX
00000258 R_ARM_PC24 ELFMAINX
00000268 R_ARM_PC24 ELFMAINX
00000284 R_ARM_PC24 ELFMAINX
0000029c R_ARM_PC24 ELFMAINX
000002b0 R_ARM_PC24 ELFMAINX
000002dc R_ARM_PC24 memset
000002e8 R_ARM_PC24 stat
000002f0 R_ARM_PC24 ELFMAINX
00000304 R_ARM_PC24 ELFMAINX
0000030c R_ARM_PC24 ELFMAINX
00000318 R_ARM_PC24 mkdir
00000330 R_ARM_PC24 ELFMAINX
00000348 R_ARM_PC24 mempcpy
00000358 R_ARM_PC24 ELFMAINX
0000035c R_ARM_PC24 ELFMAINX
00000380 R_ARM_PC24 open
00000390 R_ARM_PC24 read
0000039c R_ARM_PC24 close
000003c0 R_ARM_PC24 ELFMAINX
000003d0 R_ARM_PC24 ELFMAINX
000003d8 R_ARM_PC24 ELFMAINX
000003e4 R_ARM_PC24 ELFMAINX
000003f4 R_ARM_PC24 mempcpy
00000408 R_ARM_PC24 ELFMAINX
0000040c R_ARM_PC24 ELFMAINX
00000424 R_ARM_PC24 mempcpy
00000434 R_ARM_PC24 ELFMAINX
00000438 R_ARM_PC24 ELFMAINX
00000450 R_ARM_PC24 mempcpy
00000458 R_ARM_PC24 getpid
00000460 R_ARM_PC24 ELFMAINX
0000046c R_ARM_PC24 ELFMAINX
00000478 R_ARM_PC24 ELFMAINX
00000490 R_ARM_PC24 ELFMAINX
000004b4 R_ARM_PC24 ELFMAINX
000004c4 R_ARM_PC24 memfd_create
000004e4 R_ARM_PC24 uname
000004e8 R_ARM_PC24 ELFMAINX
00000500 R_ARM_PC24 ELFMAINX
00000518 R_ARM_PC24 ELFMAINX
0000051c R_ARM_PC24 get_upxfn_path
00000534 R_ARM_PC24 ELFMAINX
0000053c R_ARM_PC24 ELFMAINX
00000548 R_ARM_PC24 ELFMAINX
00000554 R_ARM_PC24 ELFMAINX
0000055c R_ARM_PC24 ELFMAINX
0000056c R_ARM_PC24 open
00000578 R_ARM_PC24 ELFMAINX
00000580 R_ARM_PC24 unlink
00000588 R_ARM_PC24 ELFMAINX
00000590 R_ARM_PC24 ELFMAINX
0000059c R_ARM_PC24 ftruncate
000005a4 R_ARM_PC24 ELFMAINX
000005a8 R_ARM_PC24 ELFMAINX
000005b8 R_ARM_PC24 memset
000005d8 R_ARM_PC24 write
000005e0 R_ARM_PC24 ELFMAINX
000005e8 R_ARM_PC24 ELFMAINX
000005f8 R_ARM_PC24 lseek
00000604 R_ARM_PC24 ELFMAINX
00000608 R_ARM_PC24 ELFMAINX
00000610 R_ARM_PC24 ELFMAINX
00000634 R_ARM_PC24 mmap
+90 -31
View File
@@ -7,42 +7,101 @@ Name Origin Length Attributes
Linker script and memory map
TARGET(elf32-littlearm)
0x0000000000008080 . = ((0x8000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000008080 0xc08
.text 0x0000000000000000 0xfa8
*(.text)
.text 0x0000000000008080 0x474 tmp/arm.v5a-linux.elf-fold.o
0x0000000000008088 get_page_mask
0x00000000000083d0 munmap
0x0000000000008478 get_sys_munmap
0x0000000000008394 getpid
0x00000000000083bc readlink
0x0000000000008498 __udivsi3
0x0000000000008408 mmap
0x0000000000008454 __clear_cache
0x0000000000008480 mmap_privanon
0x0000000000008344 write
0x0000000000008330 read
0x0000000000008380 unlink
0x0000000000008318 my_bkpt
0x00000000000083e4 Pprotect
0x0000000000008320 exit
0x00000000000083a8 brk
0x0000000000008358 open
0x0000000000008498 div10
0x00000000000083e4 mprotect
0x000000000000836c close
.text 0x00000000000084f4 0x794 tmp/armel-linux.elf-main.o
0x0000000000008b54 upx_main
.text 0x0000000000000000 0x318 tmp/arm.v5a-linux.elf-fold.o
0x0000000000000004 get_page_mask
0x00000000000002b8 memcpy
0x00000000000002fc mempcpy
0x0000000000000060 mmap
0x0000000000000048 mmap_privanon
0x000000000000000c get_upxfn_path
0x00000000000002dc memset
0x0000000000000024 Pprotect
0x00000000fffffff4 PAGE_MASK
0x0000000000000024 mprotect
.text 0x0000000000000318 0x3f0 tmp/arm.v5a-linux.elf-upxfd_android.o
0x0000000000000554 upx_mmap_and_fd
.text 0x0000000000000708 0x0 tmp/arm.v5a-expand.o
.text 0x0000000000000708 0x8a0 tmp/arm.v5a-linux.elf-main2.o
0x0000000000000f44 underlay
0x0000000000000e14 upx_main
*(.data)
.data 0x0000000000008c88 0x0 tmp/arm.v5a-linux.elf-fold.o
.data 0x0000000000008c88 0x0 tmp/armel-linux.elf-main.o
.data 0x0000000000000fa8 0x0 tmp/arm.v5a-linux.elf-fold.o
.data 0x0000000000000fa8 0x0 tmp/arm.v5a-linux.elf-upxfd_android.o
.data 0x0000000000000fa8 0x0 tmp/arm.v5a-expand.o
.data 0x0000000000000fa8 0x0 tmp/arm.v5a-linux.elf-main2.o
SYSCALLS 0x0000000000000000 0x214
SYSCALLS 0x0000000000000000 0x214 tmp/arm.v5a-linux.elf-fold.o
0x00000000000000ec munmap
0x0000000000000000 get_sys_munmap
0x0000000000000090 getpid
0x0000000000000128 readlink
0x00000000000001b8 __udivsi3
0x000000000000007c ftruncate
0x00000000000000a4 lseek
0x000000000000018c __clear_cache
0x0000000000000150 uname
0x0000000000000178 write
0x0000000000000068 fstat
0x0000000000000040 fdatasync
0x00000000000000b8 memfd_create
0x0000000000000114 read
0x0000000000000164 unlink
0x00000000000001b0 my_bkpt
0x0000000000000054 fsync
0x000000000000013c stat
0x0000000000000030 exit
0x0000000000000008 brk
0x0000000000000100 open
0x00000000000001b8 div10
0x00000000000000d8 mkdir
0x000000000000001c close
EXP_HEAD 0x0000000000000000 0xdc
EXP_HEAD 0x0000000000000000 0xdc tmp/arm.v5a-expand.o
0x0000000000000070 f_expand
EXP_TAIL 0x0000000000000000 0x24
EXP_TAIL 0x0000000000000000 0x24 tmp/arm.v5a-expand.o
0x0000000000000000 eof
NRV2E 0x0000000000000000 0x114
NRV2E 0x0000000000000000 0x114 tmp/arm.v5a-expand.o
0x0000000000000000 ucl_nrv2e_decompress_8
NRV2D 0x0000000000000000 0x100
NRV2D 0x0000000000000000 0x100 tmp/arm.v5a-expand.o
0x0000000000000000 ucl_nrv2d_decompress_8
NRV2B 0x0000000000000000 0xc4
NRV2B 0x0000000000000000 0xc4 tmp/arm.v5a-expand.o
0x0000000000000000 ucl_nrv2b_decompress_8
.data
.bss 0x0000000000008c88 0x0
.bss 0x0000000000008c88 0x0 tmp/arm.v5a-linux.elf-fold.o
.bss 0x0000000000008c88 0x0 tmp/armel-linux.elf-main.o
.bss 0x0000000000000000 0x0
.bss 0x0000000000000000 0x0 tmp/arm.v5a-linux.elf-fold.o
.bss 0x0000000000000000 0x0 tmp/arm.v5a-linux.elf-upxfd_android.o
.bss 0x0000000000000000 0x0 tmp/arm.v5a-expand.o
.bss 0x0000000000000000 0x0 tmp/arm.v5a-linux.elf-main2.o
LOAD tmp/arm.v5a-linux.elf-fold.o
LOAD tmp/armel-linux.elf-main.o
LOAD tmp/arm.v5a-linux.elf-upxfd_android.o
LOAD tmp/arm.v5a-expand.o
LOAD tmp/arm.v5a-linux.elf-main2.o
OUTPUT(tmp/arm.v5a-linux.elf-fold.bin elf32-littlearm)
LZMA_ELF00 0x0000000000000000 0x90
LZMA_ELF00 0x0000000000000000 0x90 tmp/arm.v5a-expand.o
LZMA_DEC20 0x0000000000000000 0x938
LZMA_DEC20 0x0000000000000000 0x938 tmp/arm.v5a-expand.o
LZMA_DEC10 0x0000000000000000 0x478
LZMA_DEC10 0x0000000000000000 0x478 tmp/arm.v5a-expand.o
0x0000000000000000 LzmaDecode
LZMA_DEC30 0x0000000000000000 0x0
LZMA_DEC30 0x0000000000000000 0x0 tmp/arm.v5a-expand.o
+123 -245
View File
@@ -2,258 +2,136 @@ file format elf32-bigarm
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 010 0 0 034 2**0 CONTENTS
1 NRV_HEAD 0 0 0 044 2**0 CONTENTS
2 NRV_TAIL 0 0 0 044 2**0 CONTENTS
3 NRV2E 012c 0 0 044 2**0 CONTENTS
4 NRV2D 0118 0 0 0170 2**0 CONTENTS
5 NRV2B 0dc 0 0 0288 2**0 CONTENTS
6 LZMA_ELF00 0ac 0 0 0364 2**0 CONTENTS
7 LZMA_DEC20 0938 0 0 0410 2**0 CONTENTS
8 LZMA_DEC10 0478 0 0 0d48 2**0 CONTENTS
9 LZMA_DEC30 0 0 0 011c0 2**0 CONTENTS
10 ELFMAINY 0 0 0 011c0 2**0 CONTENTS
11 ELFMAINZ 0100 0 0 011c0 2**0 CONTENTS
0 ELFMAINY 0 0 0 034 2**0 CONTENTS
1 ELFMAINZ 0114 0 0 034 2**0 CONTENTS
2 ELFMAINX 0628 0 0 0148 2**2 CONTENTS
SYMBOL TABLE:
00000000 l d NRV2E 0 NRV2E
00000000 l d NRV2D 0 NRV2D
00000000 l d NRV2B 0 NRV2B
00000000 l d LZMA_ELF00 0 LZMA_ELF00
00000000 l d LZMA_DEC20 0 LZMA_DEC20
00000000 l d LZMA_DEC10 0 LZMA_DEC10
00000000 l d ELFMAINZ 0 ELFMAINZ
00000000 l d ELFMAINX 0 ELFMAINX
00000000 l d NRV_HEAD 0 NRV_HEAD
00000000 l d NRV_TAIL 0 NRV_TAIL
00000000 l d LZMA_DEC30 0 LZMA_DEC30
00000000 l d ELFMAINY 0 ELFMAINY
00000000 *UND* 0 MFLG
00000004 g ELFMAINX 0 _start
00000000 g F NRV2E 012c ucl_nrv2e_decompress_8
00000000 g F NRV2D 0118 ucl_nrv2d_decompress_8
00000000 g F NRV2B 0dc ucl_nrv2b_decompress_8
00000000 g LZMA_DEC10 0 LzmaDecode
00000000 g ELFMAINY 0 end_decompress
00000090 g ELFMAINZ 0 getpid
00000474 g F ELFMAINX 01b4 upx_mmap_and_fd
00000008 g ELFMAINZ 0 memcpy
00000000 *UND* 0 O_BINFO
00000100 g ELFMAINZ 0 cpr0
0000004c g ELFMAINZ 0 mempcpy
00000088 g ELFMAINZ 0 ftruncate
00000098 g ELFMAINZ 0 lseek
000000d8 g ELFMAINZ 0 mmap
000000c0 g ELFMAINZ 0 uname
00000000 g ELFMAINY 0 end_decompress
000000d0 g ELFMAINZ 0 write
00000078 g ELFMAINZ 0 fdatasync
00000000 g ELFMAINZ 0 get_upxfn_path
00000068 g ELFMAINZ 0 memfd_create
00000004 g ELFMAINX 0 _start
000000b0 g ELFMAINZ 0 read
000000c8 g ELFMAINZ 0 unlink
0000002c g ELFMAINZ 0 memset
00000160 g F ELFMAINX 0dc ucl_nrv2b_decompress_8
00000080 g ELFMAINZ 0 fsync
000000b8 g ELFMAINZ 0 stat
00000114 g ELFMAINZ 0 cpr0
000000a8 g ELFMAINZ 0 open
000000a0 g ELFMAINZ 0 mkdir
00000070 g ELFMAINZ 0 close
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
0000000c R_ARM_PC24 ELFMAINZ
00000020 R_ARM_PC24 ELFMAINZ
00000030 R_ARM_PC24 ELFMAINZ
00000040 R_ARM_PC24 ELFMAINZ
00000050 R_ARM_PC24 ELFMAINZ
00000060 R_ARM_PC24 ELFMAINZ
00000110 R_ARM_ABS32 O_BINFO
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
00000000 R_ARM_ABS32 MFLG
0000000c R_ARM_PC24 ELFMAINZ
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2E
0000005c R_ARM_PC24 NRV2E
00000060 R_ARM_PC24 NRV2E
00000068 R_ARM_PC24 NRV2E
00000074 R_ARM_PC24 NRV2E
00000080 R_ARM_PC24 NRV2E
0000008c R_ARM_PC24 NRV2E
00000090 R_ARM_PC24 NRV2E
0000009c R_ARM_PC24 NRV2E
000000ac R_ARM_PC24 NRV2E
000000b4 R_ARM_PC24 NRV2E
000000b8 R_ARM_PC24 NRV2E
000000c0 R_ARM_PC24 NRV2E
000000c4 R_ARM_PC24 NRV2E
000000d0 R_ARM_PC24 NRV2E
000000d4 R_ARM_PC24 NRV2E
000000dc R_ARM_PC24 NRV2E
000000e8 R_ARM_PC24 NRV2E
000000ec R_ARM_PC24 NRV2E
000000f4 R_ARM_PC24 NRV2E
000000fc R_ARM_PC24 NRV2E
00000124 R_ARM_PC24 NRV2E
00000128 R_ARM_PC24 NRV2E
RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2D
0000005c R_ARM_PC24 NRV2D
00000060 R_ARM_PC24 NRV2D
00000068 R_ARM_PC24 NRV2D
00000074 R_ARM_PC24 NRV2D
00000080 R_ARM_PC24 NRV2D
0000008c R_ARM_PC24 NRV2D
00000090 R_ARM_PC24 NRV2D
0000009c R_ARM_PC24 NRV2D
000000ac R_ARM_PC24 NRV2D
000000b4 R_ARM_PC24 NRV2D
000000bc R_ARM_PC24 NRV2D
000000c8 R_ARM_PC24 NRV2D
000000d0 R_ARM_PC24 NRV2D
000000dc R_ARM_PC24 NRV2D
000000e8 R_ARM_PC24 NRV2D
000000ec R_ARM_PC24 NRV2D
00000110 R_ARM_PC24 NRV2D
00000114 R_ARM_PC24 NRV2D
RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2B
00000060 R_ARM_PC24 NRV2B
00000068 R_ARM_PC24 NRV2B
0000006c R_ARM_PC24 NRV2B
0000007c R_ARM_PC24 NRV2B
00000080 R_ARM_PC24 NRV2B
00000084 R_ARM_PC24 NRV2B
00000090 R_ARM_PC24 NRV2B
000000a0 R_ARM_PC24 NRV2B
000000a4 R_ARM_PC24 NRV2B
000000ac R_ARM_PC24 NRV2B
000000b4 R_ARM_PC24 NRV2B
000000b8 R_ARM_PC24 NRV2B
000000d4 R_ARM_PC24 NRV2B
000000d8 R_ARM_PC24 NRV2B
RELOCATION RECORDS FOR [LZMA_ELF00]:
OFFSET TYPE VALUE
00000008 R_ARM_PC24 LZMA_ELF00
0000004c R_ARM_PC24 LZMA_ELF00
00000080 R_ARM_PC24 LZMA_ELF00
000000a8 R_ARM_PC24 LZMA_ELF00
RELOCATION RECORDS FOR [LZMA_DEC20]:
OFFSET TYPE VALUE
00000074 R_ARM_PC24 LZMA_DEC20
00000090 R_ARM_PC24 LZMA_DEC20
000000b8 R_ARM_PC24 LZMA_DEC20
000000cc R_ARM_PC24 LZMA_DEC20
000000f4 R_ARM_PC24 LZMA_DEC20
00000100 R_ARM_PC24 LZMA_DEC20
00000108 R_ARM_PC24 LZMA_DEC20
00000144 R_ARM_PC24 LZMA_DEC20
00000190 R_ARM_PC24 LZMA_DEC20
000001cc R_ARM_PC24 LZMA_DEC20
000001d8 R_ARM_PC24 LZMA_DEC20
00000204 R_ARM_PC24 LZMA_DEC20
00000218 R_ARM_PC24 LZMA_DEC20
00000220 R_ARM_PC24 LZMA_DEC20
00000234 R_ARM_PC24 LZMA_DEC20
0000023c R_ARM_PC24 LZMA_DEC20
00000240 R_ARM_PC24 LZMA_DEC20
0000024c R_ARM_PC24 LZMA_DEC20
00000258 R_ARM_PC24 LZMA_DEC20
000002a4 R_ARM_PC24 LZMA_DEC20
000002c8 R_ARM_PC24 LZMA_DEC20
000002e8 R_ARM_PC24 LZMA_DEC20
00000304 R_ARM_PC24 LZMA_DEC20
0000030c R_ARM_PC24 LZMA_DEC20
0000033c R_ARM_PC24 LZMA_DEC20
00000388 R_ARM_PC24 LZMA_DEC20
000003a0 R_ARM_PC24 LZMA_DEC20
000003a8 R_ARM_PC24 LZMA_DEC20
000003cc R_ARM_PC24 LZMA_DEC20
000003e0 R_ARM_PC24 LZMA_DEC20
000003e8 R_ARM_PC24 LZMA_DEC20
00000424 R_ARM_PC24 LZMA_DEC20
00000438 R_ARM_PC24 LZMA_DEC20
0000046c R_ARM_PC24 LZMA_DEC20
00000484 R_ARM_PC24 LZMA_DEC20
0000048c R_ARM_PC24 LZMA_DEC20
000004b0 R_ARM_PC24 LZMA_DEC20
000004d4 R_ARM_PC24 LZMA_DEC20
000004ec R_ARM_PC24 LZMA_DEC20
000004f4 R_ARM_PC24 LZMA_DEC20
00000518 R_ARM_PC24 LZMA_DEC20
0000053c R_ARM_PC24 LZMA_DEC20
00000598 R_ARM_PC24 LZMA_DEC20
000005a0 R_ARM_PC24 LZMA_DEC20
000005c0 R_ARM_PC24 LZMA_DEC20
000005e4 R_ARM_PC24 LZMA_DEC20
000005fc R_ARM_PC24 LZMA_DEC20
00000604 R_ARM_PC24 LZMA_DEC20
00000624 R_ARM_PC24 LZMA_DEC20
00000648 R_ARM_PC24 LZMA_DEC20
00000680 R_ARM_PC24 LZMA_DEC20
0000068c R_ARM_PC24 LZMA_DEC20
000006d0 R_ARM_PC24 LZMA_DEC20
000006ec R_ARM_PC24 LZMA_DEC20
0000071c R_ARM_PC24 LZMA_DEC20
00000728 R_ARM_PC24 LZMA_DEC20
0000076c R_ARM_PC24 LZMA_DEC20
0000077c R_ARM_PC24 LZMA_DEC20
0000079c R_ARM_PC24 LZMA_DEC20
000007b8 R_ARM_PC24 LZMA_DEC20
000007c4 R_ARM_PC24 LZMA_DEC20
000007d0 R_ARM_PC24 LZMA_DEC20
000007f4 R_ARM_PC24 LZMA_DEC20
00000820 R_ARM_PC24 LZMA_DEC20
0000082c R_ARM_PC24 LZMA_DEC20
0000087c R_ARM_PC24 LZMA_DEC20
00000888 R_ARM_PC24 LZMA_DEC20
000008a0 R_ARM_PC24 LZMA_DEC20
000008e8 R_ARM_PC24 LZMA_DEC20
000008f4 R_ARM_PC24 LZMA_DEC20
000008fc R_ARM_PC24 LZMA_DEC20
00000904 R_ARM_PC24 LZMA_DEC20
00000928 R_ARM_PC24 LZMA_DEC20
RELOCATION RECORDS FOR [LZMA_DEC10]:
OFFSET TYPE VALUE
00000078 R_ARM_PC24 LZMA_DEC10
00000080 R_ARM_PC24 LZMA_DEC10
00000088 R_ARM_PC24 LZMA_DEC10
000000a8 R_ARM_PC24 LZMA_DEC10
000000ac R_ARM_PC24 LZMA_DEC10
000000e4 R_ARM_PC24 LZMA_DEC10
00000100 R_ARM_PC24 LZMA_DEC10
0000010c R_ARM_PC24 LZMA_DEC10
00000114 R_ARM_PC24 LZMA_DEC10
00000118 R_ARM_PC24 LZMA_DEC10
00000120 R_ARM_PC24 LZMA_DEC10
00000128 R_ARM_PC24 LZMA_DEC10
00000144 R_ARM_PC24 LZMA_DEC10
0000014c R_ARM_PC24 LZMA_DEC10
00000150 R_ARM_PC24 LZMA_DEC10
00000180 R_ARM_PC24 LZMA_DEC10
00000188 R_ARM_PC24 LZMA_DEC10
0000018c R_ARM_PC24 LZMA_DEC10
0000019c R_ARM_PC24 LZMA_DEC10
000001a0 R_ARM_PC24 LZMA_DEC10
000001c0 R_ARM_PC24 LZMA_DEC10
000001cc R_ARM_PC24 LZMA_DEC10
000001d4 R_ARM_PC24 LZMA_DEC10
000001dc R_ARM_PC24 LZMA_DEC10
000001e4 R_ARM_PC24 LZMA_DEC10
000001ec R_ARM_PC24 LZMA_DEC10
00000228 R_ARM_PC24 LZMA_DEC10
0000022c R_ARM_PC24 LZMA_DEC10
00000244 R_ARM_PC24 LZMA_DEC10
0000024c R_ARM_PC24 LZMA_DEC10
00000250 R_ARM_PC24 LZMA_DEC10
00000268 R_ARM_PC24 LZMA_DEC10
00000284 R_ARM_PC24 LZMA_DEC10
0000028c R_ARM_PC24 LZMA_DEC10
000002a4 R_ARM_PC24 LZMA_DEC10
000002c8 R_ARM_PC24 LZMA_DEC10
000002d0 R_ARM_PC24 LZMA_DEC10
000002dc R_ARM_PC24 LZMA_DEC10
000002f4 R_ARM_PC24 LZMA_DEC10
0000030c R_ARM_PC24 LZMA_DEC10
00000314 R_ARM_PC24 LZMA_DEC10
0000032c R_ARM_PC24 LZMA_DEC10
00000350 R_ARM_PC24 LZMA_DEC10
00000358 R_ARM_PC24 LZMA_DEC10
00000370 R_ARM_PC24 LZMA_DEC10
00000378 R_ARM_PC24 LZMA_DEC10
0000039c R_ARM_PC24 LZMA_DEC10
000003b0 R_ARM_PC24 LZMA_DEC10
000003b8 R_ARM_PC24 LZMA_DEC10
000003c8 R_ARM_PC24 LZMA_DEC10
000003cc R_ARM_PC24 LZMA_DEC10
00000400 R_ARM_PC24 LZMA_DEC10
00000418 R_ARM_PC24 LZMA_DEC10
00000440 R_ARM_PC24 LZMA_DEC10
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
00000098 R_ARM_PC24 ELFMAINZ
000000c8 R_ARM_PC24 ELFMAINZ
000000cc R_ARM_PC24 ELFMAINZ
000000dc R_ARM_PC24 ELFMAINZ
000000e4 R_ARM_PC24 ELFMAINZ
000000f8 R_ARM_PC24 ELFMAINZ
000000fc R_ARM_ABS32 O_BINFO
00000010 R_ARM_PC24 ELFMAINX
00000014 R_ARM_PC24 ELFMAINX
00000020 R_ARM_PC24 ELFMAINX
00000028 R_ARM_PC24 ELFMAINX
00000058 R_ARM_PC24 ELFMAINZ
00000090 R_ARM_PC24 ELFMAINX
000000a0 R_ARM_PC24 upx_mmap_and_fd
000000cc R_ARM_PC24 ELFMAINX
00000108 R_ARM_PC24 ELFMAINX
00000158 R_ARM_PC24 ELFMAINX
00000170 R_ARM_PC24 ELFMAINX
000001c0 R_ARM_PC24 ELFMAINX
000001c8 R_ARM_PC24 ELFMAINX
000001cc R_ARM_PC24 ELFMAINX
000001dc R_ARM_PC24 ELFMAINX
000001e0 R_ARM_PC24 ELFMAINX
000001e4 R_ARM_PC24 ELFMAINX
000001f0 R_ARM_PC24 ELFMAINX
00000200 R_ARM_PC24 ELFMAINX
00000204 R_ARM_PC24 ELFMAINX
0000020c R_ARM_PC24 ELFMAINX
00000214 R_ARM_PC24 ELFMAINX
00000218 R_ARM_PC24 ELFMAINX
00000234 R_ARM_PC24 ELFMAINX
00000238 R_ARM_PC24 ELFMAINX
00000248 R_ARM_PC24 ELFMAINX
00000264 R_ARM_PC24 ELFMAINX
0000027c R_ARM_PC24 ELFMAINX
00000290 R_ARM_PC24 ELFMAINX
000002bc R_ARM_PC24 memset
000002c8 R_ARM_PC24 stat
000002d0 R_ARM_PC24 ELFMAINX
000002e4 R_ARM_PC24 ELFMAINX
000002f4 R_ARM_PC24 mkdir
0000030c R_ARM_PC24 ELFMAINX
00000324 R_ARM_PC24 mempcpy
00000334 R_ARM_PC24 ELFMAINX
00000338 R_ARM_PC24 ELFMAINX
0000035c R_ARM_PC24 open
00000370 R_ARM_PC24 read
0000037c R_ARM_PC24 close
000003a0 R_ARM_PC24 ELFMAINX
000003b0 R_ARM_PC24 ELFMAINX
000003b8 R_ARM_PC24 ELFMAINX
000003c4 R_ARM_PC24 ELFMAINX
000003d4 R_ARM_PC24 mempcpy
000003e8 R_ARM_PC24 ELFMAINX
000003ec R_ARM_PC24 ELFMAINX
00000404 R_ARM_PC24 mempcpy
00000414 R_ARM_PC24 ELFMAINX
00000418 R_ARM_PC24 ELFMAINX
00000430 R_ARM_PC24 mempcpy
00000438 R_ARM_PC24 getpid
00000440 R_ARM_PC24 ELFMAINX
0000044c R_ARM_PC24 ELFMAINX
00000458 R_ARM_PC24 ELFMAINX
00000470 R_ARM_PC24 ELFMAINX
00000490 R_ARM_PC24 ELFMAINX
000004a0 R_ARM_PC24 memfd_create
000004c0 R_ARM_PC24 uname
000004c4 R_ARM_PC24 ELFMAINX
000004dc R_ARM_PC24 ELFMAINX
000004f4 R_ARM_PC24 ELFMAINX
000004f8 R_ARM_PC24 get_upxfn_path
00000510 R_ARM_PC24 ELFMAINX
00000518 R_ARM_PC24 ELFMAINX
00000524 R_ARM_PC24 ELFMAINX
00000530 R_ARM_PC24 ELFMAINX
00000538 R_ARM_PC24 ELFMAINX
00000548 R_ARM_PC24 open
00000554 R_ARM_PC24 ELFMAINX
0000055c R_ARM_PC24 unlink
00000564 R_ARM_PC24 ELFMAINX
0000056c R_ARM_PC24 ELFMAINX
00000578 R_ARM_PC24 ftruncate
00000580 R_ARM_PC24 ELFMAINX
00000584 R_ARM_PC24 ELFMAINX
00000594 R_ARM_PC24 memset
000005b4 R_ARM_PC24 write
000005bc R_ARM_PC24 ELFMAINX
000005c4 R_ARM_PC24 ELFMAINX
000005d4 R_ARM_PC24 lseek
000005e0 R_ARM_PC24 ELFMAINX
000005e4 R_ARM_PC24 ELFMAINX
000005ec R_ARM_PC24 ELFMAINX
00000610 R_ARM_PC24 mmap
+95 -37
View File
@@ -6,43 +6,101 @@ Name Origin Length Attributes
Linker script and memory map
.text 0x0000000000000000 0xf9c
.text 0x0000000000000000 0x2f8 tmp/armeb.v4a-linux.elf-fold.o
0x0000000000000004 get_page_mask
0x0000000000000298 memcpy
0x00000000000002dc mempcpy
0x0000000000000054 mmap
0x000000000000003c mmap_privanon
0x000000000000000c get_upxfn_path
0x00000000000002bc memset
0x0000000000000024 Pprotect
0x00000000fffffff4 PAGE_MASK
0x0000000000000024 mprotect
.text 0x00000000000002f8 0x3ec tmp/armeb.v4a-linux.elf-upxfd_android.o
0x0000000000000530 upx_mmap_and_fd
.text 0x00000000000006e4 0x0 tmp/armeb.v4a-expand.o
.text 0x00000000000006e4 0x8b8 tmp/armeb.v4a-linux.elf-main2.o
0x0000000000000f38 underlay
0x0000000000000e04 upx_main
SYSCALLS 0x0000000000000000 0x10c
SYSCALLS 0x0000000000000000 0x10c tmp/armeb.v4a-linux.elf-fold.o
0x000000000000005c munmap
0x0000000000000000 get_sys_munmap
0x000000000000003c getpid
0x0000000000000074 readlink
0x00000000000000b0 __udivsi3
0x0000000000000034 ftruncate
0x0000000000000044 lseek
0x000000000000009c __clear_cache
0x0000000000000084 uname
0x0000000000000094 write
0x000000000000002c fstat
0x000000000000001c fdatasync
0x000000000000004c memfd_create
0x000000000000006c read
0x000000000000008c unlink
0x00000000000000a8 my_bkpt
0x0000000000000024 fsync
0x000000000000007c stat
0x0000000000000018 exit
0x0000000000000008 brk
0x0000000000000064 open
0x00000000000000b0 div10
0x0000000000000054 mkdir
0x0000000000000010 close
EXP_HEAD 0x0000000000000000 0xdc
EXP_HEAD 0x0000000000000000 0xdc tmp/armeb.v4a-expand.o
0x0000000000000070 f_expand
EXP_TAIL 0x0000000000000000 0x24
EXP_TAIL 0x0000000000000000 0x24 tmp/armeb.v4a-expand.o
0x0000000000000000 eof
NRV2E 0x0000000000000000 0x114
NRV2E 0x0000000000000000 0x114 tmp/armeb.v4a-expand.o
0x0000000000000000 ucl_nrv2e_decompress_8
NRV2D 0x0000000000000000 0x100
NRV2D 0x0000000000000000 0x100 tmp/armeb.v4a-expand.o
0x0000000000000000 ucl_nrv2d_decompress_8
NRV2B 0x0000000000000000 0xc4
NRV2B 0x0000000000000000 0xc4 tmp/armeb.v4a-expand.o
0x0000000000000000 ucl_nrv2b_decompress_8
.data 0x0000000000000000 0x0
.data 0x0000000000000000 0x0 tmp/armeb.v4a-linux.elf-fold.o
.data 0x0000000000000000 0x0 tmp/armeb.v4a-linux.elf-upxfd_android.o
.data 0x0000000000000000 0x0 tmp/armeb.v4a-expand.o
.data 0x0000000000000000 0x0 tmp/armeb.v4a-linux.elf-main2.o
.bss 0x0000000000000000 0x0
.bss 0x0000000000000000 0x0 tmp/armeb.v4a-linux.elf-fold.o
.bss 0x0000000000000000 0x0 tmp/armeb.v4a-linux.elf-upxfd_android.o
.bss 0x0000000000000000 0x0 tmp/armeb.v4a-expand.o
.bss 0x0000000000000000 0x0 tmp/armeb.v4a-linux.elf-main2.o
TARGET(elf32-bigarm)
0x0000000000008080 . = ((0x8000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000008080 0xb60
*(.text)
.text 0x0000000000008080 0x3c0 tmp/armeb.v4a-linux.elf-fold.o
0x0000000000008088 get_page_mask
0x0000000000008364 munmap
0x00000000000083c4 get_sys_munmap
0x000000000000834c getpid
0x000000000000835c readlink
0x00000000000083e4 __udivsi3
0x0000000000008384 mmap
0x00000000000083b8 __clear_cache
0x00000000000083cc mmap_privanon
0x000000000000832c write
0x0000000000008324 read
0x0000000000008344 unlink
0x0000000000008318 my_bkpt
0x000000000000836c Pprotect
0x0000000000008320 exit
0x0000000000008354 brk
0x0000000000008334 open
0x00000000000083e4 div10
0x000000000000836c mprotect
0x000000000000833c close
.text 0x0000000000008440 0x7a0 tmp/armeb.v4a-linux.elf-main.o
0x0000000000008aac upx_main
*(.data)
.data 0x0000000000008be0 0x0 tmp/armeb.v4a-linux.elf-fold.o
.data 0x0000000000008be0 0x0 tmp/armeb.v4a-linux.elf-main.o
.data
.bss 0x0000000000008be0 0x0
.bss 0x0000000000008be0 0x0 tmp/armeb.v4a-linux.elf-fold.o
.bss 0x0000000000008be0 0x0 tmp/armeb.v4a-linux.elf-main.o
0x0000000000100040 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
LOAD tmp/armeb.v4a-linux.elf-fold.o
LOAD tmp/armeb.v4a-linux.elf-main.o
LOAD tmp/armeb.v4a-linux.elf-upxfd_android.o
LOAD tmp/armeb.v4a-expand.o
LOAD tmp/armeb.v4a-linux.elf-main2.o
OUTPUT(tmp/armeb.v4a-linux.elf-fold.bin elf32-bigarm)
LZMA_ELF00 0x0000000000000000 0x90
LZMA_ELF00 0x0000000000000000 0x90 tmp/armeb.v4a-expand.o
LZMA_DEC20 0x0000000000000000 0x938
LZMA_DEC20 0x0000000000000000 0x938 tmp/armeb.v4a-expand.o
LZMA_DEC10 0x0000000000000000 0x478
LZMA_DEC10 0x0000000000000000 0x478 tmp/armeb.v4a-expand.o
0x0000000000000000 LzmaDecode
LZMA_DEC30 0x0000000000000000 0x0
LZMA_DEC30 0x0000000000000000 0x0 tmp/armeb.v4a-expand.o