Try to fix 32-bit PowerPC.
modified: p_mach.cpp modified: p_mach.h modified: stub/Makefile new file: stub/powerpc-darwin.macho-upxmain.exe new file: stub/powerpc-darwin.macho-upxmain.h new file: stub/src/powerpc-darwin.macho-upxsubr.S
This commit is contained in:
parent
7dc004acb3
commit
e418af1ccd
124
src/p_mach.cpp
124
src/p_mach.cpp
@ -67,6 +67,8 @@ static const
|
||||
static const
|
||||
#include "stub/powerpc-darwin.macho-fold.h"
|
||||
static const
|
||||
#include "stub/powerpc-darwin.macho-upxmain.h"
|
||||
static const
|
||||
#include "stub/powerpc-darwin.dylib-entry.h"
|
||||
|
||||
static const
|
||||
@ -110,6 +112,7 @@ PackMachBase<T>::PackMachBase(InputFile *f, unsigned cputype, unsigned filetype,
|
||||
memset(&cmdUUID, 0, sizeof(cmdUUID));
|
||||
memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
|
||||
memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
|
||||
memset(&linkitem, 0, sizeof(linkitem));
|
||||
}
|
||||
|
||||
template <class T>
|
||||
@ -498,6 +501,7 @@ PackMachBase<T>::compare_segment_command(void const *const aa, void const *const
|
||||
unsigned const xb = b->cmd - lc_seg;
|
||||
if (xa < xb) return -1; // LC_SEGMENT first
|
||||
if (xa > xb) return 1;
|
||||
if (0 != xa) return 0; // not LC_SEGMENT
|
||||
// Beware 0==.vmsize (some MacOSX __DWARF debug info: a "comment")
|
||||
if (a->vmsize!=0 && b->vmsize!=0) {
|
||||
if (a->vmaddr < b->vmaddr) return -1; // ascending by .vmaddr
|
||||
@ -608,6 +612,7 @@ void PackMachBase<T>::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
||||
//unsigned cmdsize = mhdro.sizeofcmds;
|
||||
unsigned delta = 0;
|
||||
|
||||
unsigned va_next = 0;
|
||||
for (unsigned j = 0; j < ncmds; ++j) {
|
||||
unsigned skip = 0;
|
||||
unsigned sz_cmd = lcp->cmdsize;
|
||||
@ -624,14 +629,17 @@ void PackMachBase<T>::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
||||
unsigned off_hi = sectxt->size + sectxt->offset;
|
||||
Mach_section_command const *scpk = 1+ sectxt;
|
||||
for (unsigned k = 1; k < segptr->nsects; ++scpk, ++k) {
|
||||
if (off_hi == scpk->offset) {
|
||||
if (off_hi == scpk->offset || scpk->size==0) {
|
||||
off_hi += scpk->size;
|
||||
sectxt->size += scpk->size;
|
||||
}
|
||||
else {
|
||||
printWarn(fi->getName(), "Unexpected .text section %s\n", (char const *)&scpk->sectname);
|
||||
printWarn(fi->getName(), "Unexpected .text section %s size=%u\n",
|
||||
(char const *)&scpk->sectname, (unsigned)scpk->size);
|
||||
// Assume the maximum size: to end of the page.
|
||||
sectxt->size = (segptr->vmsize + segptr->vmaddr) - sectxt->addr;
|
||||
// Try to stop the cascade of errors.
|
||||
off_hi = scpk->size + scpk->offset;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -650,10 +658,12 @@ void PackMachBase<T>::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
||||
}
|
||||
memcpy(&segTEXT, segptr, sizeof(segTEXT));
|
||||
memcpy(&secTEXT, sectxt, sizeof(secTEXT));
|
||||
va_next = segTEXT.vmsize + segTEXT.vmaddr;
|
||||
break;
|
||||
}
|
||||
if (!strcmp("__DATA", segptr->segname) && !segptr->vmsize) {
|
||||
// Mach_segment_command for new segXHDR
|
||||
// __DATA with no pages.
|
||||
// Use the space as Mach_segment_command for new segXHDR, or elide.
|
||||
segXHDR.cmdsize = sizeof(segXHDR); // no need for sections
|
||||
segXHDR.vmaddr = segTEXT.vmsize + segTEXT.vmaddr; // XXX FIXME
|
||||
segXHDR.vmsize = offLINK - segTEXT.vmsize;
|
||||
@ -662,6 +672,7 @@ void PackMachBase<T>::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
||||
segXHDR.maxprot = Mach_segment_command::VM_PROT_READ;
|
||||
segXHDR.nsects = 0;
|
||||
if (!segtxt) { // replace __DATA with segXHDR
|
||||
va_next = segXHDR.vmsize + segXHDR.vmaddr;
|
||||
memcpy(tail, &segXHDR, sizeof(segXHDR));
|
||||
tail += sizeof(segXHDR);
|
||||
goto next;
|
||||
@ -670,6 +681,7 @@ void PackMachBase<T>::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
||||
segtxt->vmsize = offLINK;
|
||||
segtxt->filesize = offLINK;
|
||||
sectxt->size = offLINK - (~PAGE_MASK & sectxt->offset);
|
||||
va_next = segtxt->vmsize + segtxt->vmaddr;
|
||||
skip = 1;
|
||||
}
|
||||
}
|
||||
@ -681,8 +693,10 @@ void PackMachBase<T>::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
||||
// Update the __LINKEDIT header
|
||||
segLINK.filesize = eofcmpr - offLINK;
|
||||
segLINK.vmsize = PAGE_MASK64 & (~PAGE_MASK64 + eofcmpr - offLINK);
|
||||
segLINK.fileoff = segXHDR.filesize + segXHDR.fileoff;
|
||||
segLINK.vmaddr = segXHDR.vmsize + segXHDR.vmaddr;
|
||||
if (Mach_header::CPU_TYPE_I386 == my_cputype) {
|
||||
segLINK.fileoff = offLINK; // otherwise written by ::pack3
|
||||
}
|
||||
segLINK.vmaddr = va_next;
|
||||
memcpy(tail, &segLINK, sizeof(segLINK));
|
||||
tail += sizeof(segLINK);
|
||||
goto next;
|
||||
@ -799,6 +813,58 @@ next:
|
||||
}
|
||||
}
|
||||
|
||||
// At 2013-02-03 part of the source for codesign was
|
||||
// http://opensource.apple.com/source/cctools/cctools-836/libstuff/ofile.c
|
||||
|
||||
// 2017-11-06 Apple no longer supports PowerPC, and in particular
|
||||
// MacOS 10.12 ("Sierra") was not released for PowerPC.
|
||||
// Making the template PackMachBase<T>::pack4 work
|
||||
// (especially stub_powerpc_darwin_macho_upxmain_exe)
|
||||
// was too tricky. So just use the previous specialization.
|
||||
void PackMachPPC32::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
||||
{
|
||||
// offset of p_info in compressed file
|
||||
overlay_offset = sizeof(mhdro) + sizeof(segZERO)
|
||||
+ sizeof(segXHDR) + sizeof(secXHDR)
|
||||
+ sizeof(segTEXT) + sizeof(secTEXT)
|
||||
+ sizeof(segLINK) + sizeof(threado) + sizeof(linfo);
|
||||
if (my_filetype==Mach_header::MH_EXECUTE) {
|
||||
overlay_offset += sizeof(cmdUUID) + sizeof(linkitem);
|
||||
}
|
||||
|
||||
PackUnix::pack4(fo, ft); // deliberately skip PackMachBase<T>::pack4
|
||||
unsigned const t = fo->getBytesWritten();
|
||||
segTEXT.filesize = t;
|
||||
segTEXT.vmsize += t; // utilize GAP + NO_LAP + sz_unc - sz_cpr
|
||||
secTEXT.offset = overlay_offset - sizeof(linfo);
|
||||
secTEXT.addr = segTEXT.vmaddr + secTEXT.offset;
|
||||
secTEXT.size = segTEXT.filesize - secTEXT.offset;
|
||||
secXHDR.offset = overlay_offset - sizeof(linfo);
|
||||
if (my_filetype==Mach_header::MH_EXECUTE) {
|
||||
secXHDR.offset -= sizeof(cmdUUID) + sizeof(linkitem);
|
||||
}
|
||||
secXHDR.addr += secXHDR.offset;
|
||||
unsigned foff1 = (PAGE_MASK & (~PAGE_MASK + segTEXT.filesize));
|
||||
if (foff1 < segTEXT.vmsize)
|
||||
foff1 += PAGE_SIZE; // codesign disallows overhang
|
||||
segLINK.fileoff = foff1;
|
||||
segLINK.vmaddr = segTEXT.vmaddr + foff1;
|
||||
fo->seek(foff1 - 1, SEEK_SET); fo->write("", 1);
|
||||
fo->seek(sizeof(mhdro), SEEK_SET);
|
||||
fo->rewrite(&segZERO, sizeof(segZERO));
|
||||
fo->rewrite(&segXHDR, sizeof(segXHDR));
|
||||
fo->rewrite(&secXHDR, sizeof(secXHDR));
|
||||
fo->rewrite(&segTEXT, sizeof(segTEXT));
|
||||
fo->rewrite(&secTEXT, sizeof(secTEXT));
|
||||
fo->rewrite(&segLINK, sizeof(segLINK));
|
||||
fo->rewrite(&threado, sizeof(threado));
|
||||
if (my_filetype==Mach_header::MH_EXECUTE) {
|
||||
fo->rewrite(&cmdUUID, sizeof(cmdUUID));
|
||||
fo->rewrite(&linkitem, sizeof(linkitem));
|
||||
}
|
||||
fo->rewrite(&linfo, sizeof(linfo));
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void PackMachBase<T>::pack4dylib( // append PackHeader
|
||||
OutputFile *const fo,
|
||||
@ -1026,6 +1092,20 @@ void PackMachBase<T>::pack3(OutputFile *fo, Filter &ft) // append loader
|
||||
fo->write(&zero, 7& (0u-len));
|
||||
}
|
||||
|
||||
void PackMachPPC32::pack3(OutputFile *fo, Filter &ft) // append loader
|
||||
{
|
||||
TE32 disp;
|
||||
unsigned const zero = 0;
|
||||
unsigned len = fo->getBytesWritten();
|
||||
fo->write(&zero, 3& (0u-len));
|
||||
len += (3& (0u-len)) + sizeof(disp);
|
||||
disp = 4+ len - sz_mach_headers; // 4: sizeof(instruction)
|
||||
fo->write(&disp, sizeof(disp));
|
||||
|
||||
threado_setPC(len + segTEXT.vmaddr); /* entry address */
|
||||
PackUnix::pack3(fo, ft); // deliberately skip PackMachBase<T>::pack3
|
||||
}
|
||||
|
||||
void PackDylibI386::pack3(OutputFile *fo, Filter &ft) // append loader
|
||||
{
|
||||
TE32 disp;
|
||||
@ -1401,13 +1481,21 @@ void PackMachBase<T>::pack1(OutputFile *const fo, Filter &/*ft*/) // generate e
|
||||
// Mach_command before __LINKEDIT
|
||||
fo->write((1+ ptr0), (char const *)ptr1 - (char const *)(1+ ptr0));
|
||||
// LC_SEGMENT_64 for UPX_DATA; steal space from -Wl,-headerpadsize
|
||||
segXHDR.cmdsize = sizeof(segXHDR);
|
||||
segXHDR.vmaddr = 0;
|
||||
segXHDR.fileoff = 0;
|
||||
segXHDR.maxprot = Mach_segment_command::VM_PROT_READ;
|
||||
segXHDR.initprot = Mach_segment_command::VM_PROT_READ;
|
||||
segXHDR.nsects = 0;
|
||||
if (Mach_header::CPU_TYPE_POWERPC != my_cputype) {
|
||||
segXHDR.cmdsize = sizeof(segXHDR);
|
||||
segXHDR.vmaddr = 0;
|
||||
segXHDR.fileoff = 0;
|
||||
segXHDR.maxprot = Mach_segment_command::VM_PROT_READ;
|
||||
segXHDR.initprot = Mach_segment_command::VM_PROT_READ;
|
||||
segXHDR.nsects = 0;
|
||||
}
|
||||
fo->write(&segXHDR, sizeof(segXHDR));
|
||||
if (Mach_header::CPU_TYPE_POWERPC == my_cputype) {
|
||||
// First LC_SEGMENT must have a section because
|
||||
// its .offset is the limit for adding new headers
|
||||
// for UUID or code signing (by Apple tools).
|
||||
fo->write(&secXHDR, sizeof(secXHDR));
|
||||
}
|
||||
// Mach_command __LINKEDIT and after
|
||||
fo->write((char const *)ptr1, cmdsize);
|
||||
// Contents before __LINKEDIT; put non-headers at same offset in file
|
||||
@ -1594,12 +1682,15 @@ int PackMachBase<T>::canUnpack()
|
||||
upx_uint64_t rip = 0;
|
||||
unsigned style = 0;
|
||||
off_t offLINK = 0;
|
||||
unsigned pos_next = 0;
|
||||
unsigned nseg = 0;
|
||||
unsigned const ncmds = mhdri.ncmds;
|
||||
Mach_command const *ptr = (Mach_command const *)rawmseg;
|
||||
for (unsigned j= 0; j < ncmds;
|
||||
ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
|
||||
Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
|
||||
if (lc_seg == ptr->cmd) {
|
||||
++nseg;
|
||||
if (!strcmp("__XHDR", segptr->segname)) {
|
||||
// PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
|
||||
style = 391; // UPX 3.91
|
||||
@ -1614,12 +1705,19 @@ int PackMachBase<T>::canUnpack()
|
||||
}
|
||||
if (!strcmp("__LINKEDIT", segptr->segname)) {
|
||||
offLINK = segptr->fileoff;
|
||||
if (offLINK < pos_next) {
|
||||
offLINK = pos_next;
|
||||
}
|
||||
}
|
||||
pos_next = segptr->filesize + segptr->fileoff;
|
||||
}
|
||||
else if (Mach_segment_command::LC_UNIXTHREAD==ptr->cmd) {
|
||||
rip = entryVMA = threadc_getPC(ptr);
|
||||
}
|
||||
}
|
||||
if (3==nseg) { // __PAGEZERO, __TEXT, __LINKEDIT; no __XHDR, no UPX_DATA
|
||||
style = 392;
|
||||
}
|
||||
if (391==style && 0==offLINK && 2==ncmds) { // pre-3.91 ?
|
||||
offLINK = ptrTEXT->fileoff + ptrTEXT->filesize; // fake __LINKEDIT at EOF
|
||||
}
|
||||
@ -1882,10 +1980,10 @@ bool PackMachBase<T>::canPack()
|
||||
{CPU_TYPE_POWERPC, MH_EXECUTE,
|
||||
sizeof(stub_powerpc_darwin_macho_entry),
|
||||
sizeof(stub_powerpc_darwin_macho_fold),
|
||||
0,
|
||||
sizeof(stub_powerpc_darwin_macho_upxmain_exe),
|
||||
stub_powerpc_darwin_macho_entry,
|
||||
stub_powerpc_darwin_macho_fold,
|
||||
0
|
||||
stub_powerpc_darwin_macho_upxmain_exe
|
||||
},
|
||||
{CPU_TYPE_POWERPC, MH_DYLIB,
|
||||
sizeof(stub_powerpc_darwin_dylib_entry), 0, 0,
|
||||
|
||||
10
src/p_mach.h
10
src/p_mach.h
@ -915,13 +915,15 @@ protected:
|
||||
virtual const int *getFilters() const;
|
||||
|
||||
virtual void pack1_setup_threado(OutputFile *const fo);
|
||||
virtual void pack3(OutputFile *, Filter &); // append loader
|
||||
virtual void pack4(OutputFile *, Filter &); // append PackHeader
|
||||
virtual Linker* newLinker() const;
|
||||
|
||||
__packed_struct(Mach_thread_command)
|
||||
BE32 cmd; /* LC_THREAD or LC_UNIXTHREAD */
|
||||
BE32 cmdsize; /* total size of this command */
|
||||
BE32 flavor;
|
||||
BE32 count; /* sizeof(following_thread_state)/4 */
|
||||
TE32 cmd; /* LC_THREAD or LC_UNIXTHREAD */
|
||||
TE32 cmdsize; /* total size of this command */
|
||||
TE32 flavor;
|
||||
TE32 count; /* sizeof(following_thread_state)/4 */
|
||||
Mach_ppc_thread_state state;
|
||||
#define WANT_MACH_THREAD_ENUM 1
|
||||
#include "p_mach_enum.h"
|
||||
|
||||
@ -120,6 +120,7 @@ STUBS += mipsel.r3000-ps1.h
|
||||
STUBS += powerpc-darwin.dylib-entry.h
|
||||
STUBS += powerpc-darwin.macho-entry.h
|
||||
STUBS += powerpc-darwin.macho-fold.h
|
||||
STUBS += powerpc-darwin.macho-upxmain.h
|
||||
STUBS += powerpc-linux.elf-entry.h
|
||||
STUBS += powerpc-linux.elf-fold.h
|
||||
STUBS += powerpc-linux.kernel.vmlinux-head.h
|
||||
@ -1216,6 +1217,9 @@ powerpc-darwin.macho-fold.h : tmp/$$T.o tmp/powerpc-darwin.macho-main.o
|
||||
chmod a-x tmp/$T.bin
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
powerpc-darwin.macho-upxmain.h: powerpc-darwin.macho-upxmain.exe
|
||||
$(call tc,bin2h) $< $@
|
||||
|
||||
tmp/powerpc-darwin.macho-fold.o : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,f-objstrip,$@)
|
||||
|
||||
BIN
src/stub/powerpc-darwin.macho-upxmain.exe
Normal file
BIN
src/stub/powerpc-darwin.macho-upxmain.exe
Normal file
Binary file not shown.
551
src/stub/powerpc-darwin.macho-upxmain.h
Normal file
551
src/stub/powerpc-darwin.macho-upxmain.h
Normal file
@ -0,0 +1,551 @@
|
||||
/* powerpc-darwin.macho-upxmain.h
|
||||
created from powerpc-darwin.macho-upxmain.exe, 8192 (0x2000) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2016 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2016 Laszlo Molnar
|
||||
Copyright (C) 2000-2016 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>
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_POWERPC_DARWIN_MACHO_UPXMAIN_EXE_SIZE 8192
|
||||
#define STUB_POWERPC_DARWIN_MACHO_UPXMAIN_EXE_ADLER32 0x7b0d2d35
|
||||
#define STUB_POWERPC_DARWIN_MACHO_UPXMAIN_EXE_CRC32 0x79bc06b7
|
||||
|
||||
unsigned char stub_powerpc_darwin_macho_upxmain_exe[8192] = {
|
||||
/* 0x0000 */ 254,237,250,206, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 2,
|
||||
/* 0x0010 */ 0, 0, 0, 6, 0, 0, 2,184, 0, 0, 0, 1, 0, 0, 0, 1,
|
||||
/* 0x0020 */ 0, 0, 0, 56, 95, 95, 80, 65, 71, 69, 90, 69, 82, 79, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 1, 4, 95, 95, 84, 69,
|
||||
/* 0x0060 */ 88, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
|
||||
/* 0x0070 */ 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 7,
|
||||
/* 0x0080 */ 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 95, 95,116,101,
|
||||
/* 0x0090 */ 120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 95, 84, 69,
|
||||
/* 0x00a0 */ 88, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 52,
|
||||
/* 0x00b0 */ 0, 0, 13,152, 0, 0, 18, 52, 0, 0, 0, 2, 0, 0, 0, 0,
|
||||
/* 0x00c0 */ 0, 0, 0, 0,128, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x00d0 */ 95, 95,112,105, 99,115,121,109, 98,111,108,115,116,117, 98, 49,
|
||||
/* 0x00e0 */ 95, 95, 84, 69, 88, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x00f0 */ 0, 0, 47,224, 0, 0, 0, 0, 0, 0, 31,224, 0, 0, 0, 5,
|
||||
/* 0x0100 */ 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 4, 8, 0, 0, 0, 0,
|
||||
/* 0x0110 */ 0, 0, 0, 32, 95, 95, 99,115,116,114,105,110,103, 0, 0, 0,
|
||||
/* 0x0120 */ 0, 0, 0, 0, 95, 95, 84, 69, 88, 84, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0130 */ 0, 0, 0, 0, 0, 0, 47,224, 0, 0, 0, 12, 0, 0, 31,224,
|
||||
/* 0x0140 */ 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
|
||||
/* 0x0150 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,124,
|
||||
/* 0x0160 */ 95, 95, 68, 65, 84, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0170 */ 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0180 */ 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0,
|
||||
/* 0x0190 */ 95, 95,108, 97, 95,115,121,109, 98,111,108, 95,112,116,114, 0,
|
||||
/* 0x01a0 */ 95, 95, 68, 65, 84, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x01b0 */ 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 2,
|
||||
/* 0x01c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0,
|
||||
/* 0x01d0 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 56, 95, 95, 76, 73,
|
||||
/* 0x01e0 */ 78, 75, 69, 68, 73, 84, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0,
|
||||
/* 0x01f0 */ 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 7,
|
||||
/* 0x0200 */ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2,
|
||||
/* 0x0210 */ 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0220 */ 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,176, 0, 0, 0, 1,
|
||||
/* 0x0230 */ 0, 0, 0, 40, 0, 0, 34, 52, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0270 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0280 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0290 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x02a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x02b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x02c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x02d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x02e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x02f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0300 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0310 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0320 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0330 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0340 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0350 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0360 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0370 */ 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x03a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x03b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x03c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x03d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x03e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x03f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0400 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0410 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0420 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0430 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0440 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0450 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0460 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0470 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0480 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0490 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x04a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x04b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x04c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x04d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x04e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x04f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0500 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0510 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0520 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0530 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0540 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0550 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0560 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0570 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0580 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0590 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x05a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x05b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x05c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x05d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x05e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x05f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0600 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0610 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0620 */ 0, 0, 0, 0, 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 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0660 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0670 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0680 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0690 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x06a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x06b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x06c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x06d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x06e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x06f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0700 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0710 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0720 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0730 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0740 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0750 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0760 */ 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0790 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x07a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x07b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x07c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x07d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x07e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x07f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0800 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0810 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0820 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0830 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0840 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0850 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0860 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0870 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0880 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0890 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x08a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x08b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x08c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x08d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x08e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x08f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0900 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0910 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0920 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0930 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0940 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0950 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0960 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0970 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0980 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0990 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x09a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x09b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x09c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x09d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x09e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x09f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0a00 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0a10 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0a20 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0a30 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0a40 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0a50 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0a60 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0a70 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0a80 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0a90 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0aa0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ab0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ac0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ad0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ae0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0af0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0b00 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0b10 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0b20 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0b30 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0b40 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0b50 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0b60 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0b70 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0b80 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0b90 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ba0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0bb0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0bc0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0bd0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0be0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0bf0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0c00 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0c10 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0c20 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0c30 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0c40 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0c50 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0c60 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0c70 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0c80 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0c90 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ca0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0cb0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0cc0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0cd0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ce0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0cf0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0d00 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0d10 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0d20 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0d30 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0d40 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0d50 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0d60 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0d70 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0d80 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0d90 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0da0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0db0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0dc0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0dd0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0de0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0df0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0e00 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0e10 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0e20 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0e30 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0e40 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0e50 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0e60 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0e70 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0e80 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0e90 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ea0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0eb0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ec0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ed0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ee0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ef0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0f00 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0f10 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0f20 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0f30 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0f40 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0f50 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0f60 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0f70 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0f80 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0f90 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0fa0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0fb0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0fc0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0fd0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0fe0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0ff0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1000 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1010 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1030 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1040 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1050 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1070 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1080 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x10a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x10b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x10c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x10d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x10e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x10f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1100 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1110 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1120 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1130 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1140 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1150 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1160 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1170 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1180 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1190 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x11a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x11b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x11c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x11d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x11e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x11f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1200 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1210 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1220 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1230 */ 0, 0, 0, 0, 72, 0, 11,144,124,199, 51,120, 56,192, 0, 0,
|
||||
/* 0x1240 */ 56, 0, 0,153, 72, 0, 0, 16,125, 9, 67,120, 57, 0, 0, 0,
|
||||
/* 0x1250 */ 56, 0, 0,197, 68, 0, 0, 2, 56, 96,255,255, 78,128, 0, 32,
|
||||
/* 0x1260 */ 56, 0, 0, 1, 75,255,255,240, 56, 0, 0, 3, 75,255,255,232,
|
||||
/* 0x1270 */ 56, 0, 0, 5, 75,255,255,224, 56, 0, 0, 6, 75,255,255,216,
|
||||
/* 0x1280 */ 56, 0, 0, 74, 75,255,255,208, 56, 0, 0, 73, 75,255,255,200,
|
||||
/* 0x1290 */ 72, 0, 0, 0,124, 8, 2,166,191,193,255,248,144, 1, 0, 8,
|
||||
/* 0x12a0 */ 148, 33,255,160,124, 62, 11,120,144,126, 0,120,144,158, 0,124,
|
||||
/* 0x12b0 */ 144,190, 0,128,128, 94, 0,120,128, 2, 0, 4,144, 30, 0, 64,
|
||||
/* 0x12c0 */ 128, 30, 0,124,144, 30, 0, 60,128, 94, 0,120,128, 66, 0, 0,
|
||||
/* 0x12d0 */ 128, 30, 0,128,127,130, 0, 64, 64,156, 0, 12, 56, 96, 0,127,
|
||||
/* 0x12e0 */ 75,255,255,129,128, 30, 0,128,144, 30, 0, 56, 72, 0, 0, 48,
|
||||
/* 0x12f0 */ 128, 94, 0, 64,136, 2, 0, 0, 84, 0, 6, 62,128, 94, 0, 60,
|
||||
/* 0x1300 */ 152, 2, 0, 0,128, 94, 0, 64, 56, 2, 0, 1,144, 30, 0, 64,
|
||||
/* 0x1310 */ 128, 94, 0, 60, 56, 2, 0, 1,144, 30, 0, 60,128, 94, 0, 56,
|
||||
/* 0x1320 */ 56, 2,255,255,144, 30, 0, 56,128, 94, 0, 56, 56, 0,255,255,
|
||||
/* 0x1330 */ 127,130, 0, 0, 64,158,255,188,128, 94, 0,120,128, 66, 0, 4,
|
||||
/* 0x1340 */ 128, 30, 0,128,124, 2, 2, 20,128, 94, 0,120,144, 2, 0, 4,
|
||||
/* 0x1350 */ 128, 94, 0,120,128, 66, 0, 0,128, 30, 0,128,124, 0, 16, 80,
|
||||
/* 0x1360 */ 128, 94, 0,120,144, 2, 0, 0,128, 33, 0, 0,128, 1, 0, 8,
|
||||
/* 0x1370 */ 124, 8, 3,166,187,193,255,248, 78,128, 0, 32,124, 8, 2,166,
|
||||
/* 0x1380 */ 191,193,255,248,144, 1, 0, 8,148, 33,255,144,124, 62, 11,120,
|
||||
/* 0x1390 */ 144,126, 0,136,144,158, 0,140,144,190, 0,144,144,222, 0,148,
|
||||
/* 0x13a0 */ 72, 0, 1,240, 56, 30, 0, 60,128,126, 0,136,124, 4, 3,120,
|
||||
/* 0x13b0 */ 56,160, 0, 12, 75,255,254,225,128, 30, 0, 60, 47,128, 0, 0,
|
||||
/* 0x13c0 */ 64,158, 0, 44,128, 30, 0, 64, 60, 64, 33, 88, 96, 66, 80, 85,
|
||||
/* 0x13d0 */ 127,128, 16, 0, 64,158, 0, 36,128, 94, 0,136,128, 2, 0, 0,
|
||||
/* 0x13e0 */ 47,128, 0, 0, 64,158, 0, 20, 72, 0, 1,184,128, 30, 0, 64,
|
||||
/* 0x13f0 */ 47,128, 0, 0, 64,158, 0, 12, 56, 96, 0,127, 75,255,254,101,
|
||||
/* 0x1400 */ 128, 30, 0, 64,128, 94, 0, 60,127,128, 16, 64, 65,157,255,236,
|
||||
/* 0x1410 */ 129, 62, 0, 60,128, 94, 0,140,128, 2, 0, 0,127,137, 0, 64,
|
||||
/* 0x1420 */ 65,157,255,216,128, 30, 0, 64,128, 94, 0, 60,127,128, 16, 64,
|
||||
/* 0x1430 */ 64,156, 1, 20,128, 30, 0, 60,144, 30, 0, 72,128, 94, 0,136,
|
||||
/* 0x1440 */ 128, 2, 0, 4,124, 9, 3,120,129,126, 0, 64,128, 94, 0,140,
|
||||
/* 0x1450 */ 128, 2, 0, 4,124, 2, 3,120,136, 30, 0, 68, 84, 0, 6, 62,
|
||||
/* 0x1460 */ 124, 10, 3,120, 56, 30, 0, 72,129, 30, 0,144,125, 35, 75,120,
|
||||
/* 0x1470 */ 125,100, 91,120,124, 69, 19,120,124, 6, 3,120,125, 71, 83,120,
|
||||
/* 0x1480 */ 125, 12, 67,120,125,137, 3,166, 78,128, 4, 33,124, 96, 27,120,
|
||||
/* 0x1490 */ 144, 30, 0, 56,128, 30, 0, 56, 47,128, 0, 0, 64,158,255, 92,
|
||||
/* 0x14a0 */ 128, 30, 0, 60,128, 94, 0, 72,127,128, 16, 0, 64,158,255, 76,
|
||||
/* 0x14b0 */ 136, 30, 0, 69, 84, 0, 6, 62, 47,128, 0, 0, 65,158, 0, 84,
|
||||
/* 0x14c0 */ 128, 30, 0,148, 47,128, 0, 0, 65,158, 0, 72,128, 94, 0,140,
|
||||
/* 0x14d0 */ 128, 2, 0, 4,124, 9, 3,120,129,126, 0, 72,136, 30, 0, 70,
|
||||
/* 0x14e0 */ 84, 0, 6, 62,124, 10, 3,120,136, 30, 0, 69, 84, 0, 6, 62,
|
||||
/* 0x14f0 */ 128, 94, 0,148,125, 35, 75,120,125,100, 91,120,125, 69, 83,120,
|
||||
/* 0x1500 */ 124, 6, 3,120,124, 76, 19,120,125,137, 3,166, 78,128, 4, 33,
|
||||
/* 0x1510 */ 128, 94, 0,136,128, 66, 0, 4,128, 30, 0, 64,124, 2, 2, 20,
|
||||
/* 0x1520 */ 128, 94, 0,136,144, 2, 0, 4,128, 94, 0,136,128, 66, 0, 0,
|
||||
/* 0x1530 */ 128, 30, 0, 64,124, 0, 16, 80,128, 94, 0,136,144, 2, 0, 0,
|
||||
/* 0x1540 */ 72, 0, 0, 32,128, 94, 0,140,128, 2, 0, 4,128, 94, 0, 64,
|
||||
/* 0x1550 */ 128,126, 0,136,124, 4, 3,120,124, 69, 19,120, 75,255,253, 57,
|
||||
/* 0x1560 */ 128, 94, 0,140,128, 66, 0, 4,128, 30, 0, 60,124, 2, 2, 20,
|
||||
/* 0x1570 */ 128, 94, 0,140,144, 2, 0, 4,128, 94, 0,140,128, 66, 0, 0,
|
||||
/* 0x1580 */ 128, 30, 0, 60,124, 0, 16, 80,128, 94, 0,140,144, 2, 0, 0,
|
||||
/* 0x1590 */ 128, 94, 0,140,128, 2, 0, 0, 47,128, 0, 0, 64,158,254, 8,
|
||||
/* 0x15a0 */ 128, 33, 0, 0,128, 1, 0, 8,124, 8, 3,166,187,193,255,248,
|
||||
/* 0x15b0 */ 78,128, 0, 32,191,193,255,248,148, 33,255,208,124, 62, 11,120,
|
||||
/* 0x15c0 */ 144,126, 0, 72,144,158, 0, 76,128, 30, 0, 76, 47,128, 0, 0,
|
||||
/* 0x15d0 */ 65,158, 0, 52,128, 94, 0, 72, 56, 0, 0, 0,152, 2, 0, 0,
|
||||
/* 0x15e0 */ 128, 94, 0, 72, 56, 2, 0, 1,144, 30, 0, 72,128, 94, 0, 76,
|
||||
/* 0x15f0 */ 56, 2,255,255,144, 30, 0, 76,128, 30, 0, 76, 47,128, 0, 0,
|
||||
/* 0x1600 */ 64,158,255,212,128, 33, 0, 0,187,193,255,248, 78,128, 0, 32,
|
||||
/* 0x1610 */ 124, 8, 2,166,191,193,255,248,144, 1, 0, 8,148, 33,255, 80,
|
||||
/* 0x1620 */ 124, 62, 11,120,144,126, 0,200,144,158, 0,204,144,190, 0,208,
|
||||
/* 0x1630 */ 144,222, 0,212,144,254, 0,216,145, 30, 0,220,145, 62, 0,224,
|
||||
/* 0x1640 */ 128, 94, 0,200, 56, 2, 0, 28,144, 30, 0,116, 56, 0, 0, 0,
|
||||
/* 0x1650 */ 144, 30, 0,112, 56, 0, 0, 0,144, 30, 0,108, 56, 0, 0, 0,
|
||||
/* 0x1660 */ 144, 30, 0,104, 56, 0, 0, 0,144, 30, 0,100, 72, 0, 4, 44,
|
||||
/* 0x1670 */ 128, 94, 0,116,128, 2, 0, 0, 47,128, 0, 1, 64,158, 3, 52,
|
||||
/* 0x1680 */ 128, 94, 0,116,128, 2, 0, 28, 47,128, 0, 0, 65,158, 3, 36,
|
||||
/* 0x1690 */ 128, 94, 0,116,128, 2, 0, 36,144, 30, 0,120,128, 30, 0,120,
|
||||
/* 0x16a0 */ 144, 30, 0, 96,128, 94, 0,116,128, 2, 0, 24,124, 2, 3,120,
|
||||
/* 0x16b0 */ 128, 30, 0,104,124, 2, 2, 20,144, 30, 0,124,128, 30, 0,124,
|
||||
/* 0x16c0 */ 144, 30, 0, 92,128, 94, 0,116,128, 2, 0, 28,124, 2, 3,120,
|
||||
/* 0x16d0 */ 128, 30, 0, 92,124, 2, 2, 20,144, 30, 0, 88,128, 30, 0, 92,
|
||||
/* 0x16e0 */ 84, 0, 5, 62,144, 30, 0, 84,128, 94, 0, 84,128, 30, 0, 92,
|
||||
/* 0x16f0 */ 124, 2, 0, 80,144, 30, 0, 92,128, 94, 0, 96,128, 30, 0, 84,
|
||||
/* 0x1700 */ 124, 2, 2, 20,144, 30, 0, 96,128, 30, 0, 96, 47,128, 0, 0,
|
||||
/* 0x1710 */ 65,158, 1, 44,128, 30, 0,208, 47,128, 0, 0, 65,158, 0, 16,
|
||||
/* 0x1720 */ 56, 0, 0, 3,144, 30, 0,148, 72, 0, 0, 12, 56, 64, 0, 0,
|
||||
/* 0x1730 */ 144, 94, 0,148,128, 30, 0, 96,129, 62, 0,148,124, 9, 2, 20,
|
||||
/* 0x1740 */ 144, 30, 0, 80, 56, 0, 0, 3,144, 30, 0, 76,128, 30, 0, 92,
|
||||
/* 0x1750 */ 47,128, 0, 0, 65,158, 0, 16, 56, 0, 0, 18,144, 30, 0,144,
|
||||
/* 0x1760 */ 72, 0, 0, 12, 56, 64, 0, 2,144, 94, 0,144,128, 30, 0,208,
|
||||
/* 0x1770 */ 47,128, 0, 0, 64,158, 0, 20,128, 94, 0,116,128, 2, 0, 36,
|
||||
/* 0x1780 */ 47,128, 0, 0, 64,158, 0, 16, 57, 32, 16, 0,145, 62, 0,140,
|
||||
/* 0x1790 */ 72, 0, 0, 12, 56, 0, 0, 0,144, 30, 0,140,128, 94, 0,144,
|
||||
/* 0x17a0 */ 129, 62, 0,140,124, 64, 75,120,144, 30, 0, 72,128, 94, 0,116,
|
||||
/* 0x17b0 */ 128, 2, 0, 36, 47,128, 0, 0, 65,158, 0, 16,128, 30, 0,212,
|
||||
/* 0x17c0 */ 144, 30, 0,136, 72, 0, 0, 12, 56, 64,255,255,144, 94, 0,136,
|
||||
/* 0x17d0 */ 129, 62, 0,136,145, 62, 0, 68,128, 94, 0,116,128, 66, 0, 32,
|
||||
/* 0x17e0 */ 128, 30, 0,204,124, 2, 2, 20,144, 30, 0, 64,128,126, 0, 92,
|
||||
/* 0x17f0 */ 128,158, 0, 80,128,190, 0, 76,128,222, 0, 72,128,254, 0, 68,
|
||||
/* 0x1800 */ 129, 30, 0, 64, 75,255,250, 69,124, 96, 27,120,144, 30, 0, 60,
|
||||
/* 0x1810 */ 128, 94, 0, 60, 56, 0,255,255,127,130, 0, 0, 65,158, 0,208,
|
||||
/* 0x1820 */ 128, 30, 0, 92, 47,128, 0, 0, 64,158, 0, 12,128, 30, 0, 60,
|
||||
/* 0x1830 */ 144, 30, 0,104,128, 30, 0, 60,144, 30, 0, 92,128, 30, 0,208,
|
||||
/* 0x1840 */ 47,128, 0, 0, 65,158, 0, 80,128, 94, 0,116,128, 2, 0, 36,
|
||||
/* 0x1850 */ 47,128, 0, 0, 65,158, 0, 64,128, 94, 0,116,128, 2, 0, 32,
|
||||
/* 0x1860 */ 47,128, 0, 0, 64,158, 0, 24,128, 30, 0,116,144, 30, 0,112,
|
||||
/* 0x1870 */ 128, 30, 0, 92,128, 94, 0,216,144, 2, 0, 0, 56, 30, 0,120,
|
||||
/* 0x1880 */ 128,126, 0,208,124, 4, 3,120,128,190, 0,220,128,222, 0,224,
|
||||
/* 0x1890 */ 75,255,250,237,128, 30, 0, 96,124, 0, 0,208, 84, 0, 5, 62,
|
||||
/* 0x18a0 */ 144, 30, 0, 84,128, 94, 0, 96,128, 30, 0, 92,124, 2, 2, 20,
|
||||
/* 0x18b0 */ 124, 3, 3,120,128,158, 0, 84, 75,255,252,253,128, 30, 0, 96,
|
||||
/* 0x18c0 */ 47,128, 0, 0, 65,158, 0, 48,128, 94, 0,116,128, 2, 0, 44,
|
||||
/* 0x18d0 */ 128,126, 0, 92,128,158, 0, 96,124, 5, 3,120, 75,255,249,165,
|
||||
/* 0x18e0 */ 124, 96, 27,120, 47,128, 0, 0, 65,158, 0, 12, 56, 96, 0,127,
|
||||
/* 0x18f0 */ 75,255,249,113,128, 94, 0, 96,128, 30, 0, 84,124, 2, 2, 20,
|
||||
/* 0x1900 */ 124, 2, 3,120,128, 30, 0, 92,124, 0, 18, 20,144, 30, 0, 92,
|
||||
/* 0x1910 */ 128, 94, 0, 92,128, 30, 0, 88,127,130, 0, 64, 64,156, 0, 88,
|
||||
/* 0x1920 */ 128, 30, 0, 92, 47,128, 0, 0, 65,158, 1, 76,128, 94, 0, 88,
|
||||
/* 0x1930 */ 128, 30, 0, 92,124, 0, 16, 80,124, 9, 3,120,128, 94, 0,116,
|
||||
/* 0x1940 */ 128, 2, 0, 44,128,126, 0, 92,125, 36, 75,120,124, 5, 3,120,
|
||||
/* 0x1950 */ 56,192, 16, 18, 56,224,255,255, 57, 0, 0, 0, 75,255,248,237,
|
||||
/* 0x1960 */ 124, 98, 27,120,128, 30, 0, 92,127,130, 0, 0, 64,158,255,128,
|
||||
/* 0x1970 */ 72, 0, 1, 4,128, 30, 0,208, 47,128, 0, 0, 65,158, 0,248,
|
||||
/* 0x1980 */ 128, 94, 0, 96, 56, 2, 0, 3, 84, 0, 5, 62,144, 30, 0, 96,
|
||||
/* 0x1990 */ 128, 30, 0, 96, 43,128, 0, 3, 65,157, 0,220,128, 30, 0, 92,
|
||||
/* 0x19a0 */ 124, 3, 3,120,128,158, 0, 96, 75,255,248,225, 72, 0, 0,200,
|
||||
/* 0x19b0 */ 128, 94, 0,116,128, 2, 0, 0, 47,128, 0, 5, 65,158, 0, 20,
|
||||
/* 0x19c0 */ 128, 94, 0,116,128, 2, 0, 0, 47,128, 0, 4, 64,158, 0, 68,
|
||||
/* 0x19d0 */ 128, 30, 0,116,144, 30, 0, 56,128, 94, 0, 56,128, 2, 0, 8,
|
||||
/* 0x19e0 */ 47,128, 0, 1, 64,158, 0,144,128, 94, 0, 56,128, 2, 0, 12,
|
||||
/* 0x19f0 */ 47,128, 0, 40, 64,158, 0,128,128, 94, 0, 56,128, 66, 0, 16,
|
||||
/* 0x1a00 */ 128, 30, 0,104,124, 2, 2, 20,144, 30, 0,108, 72, 0, 0,104,
|
||||
/* 0x1a10 */ 128, 94, 0,116,128, 66, 0, 0, 60, 0,128, 0, 96, 0, 0, 40,
|
||||
/* 0x1a20 */ 127,130, 0, 0, 64,158, 0, 80,128, 94, 0,116,128, 98, 0, 12,
|
||||
/* 0x1a30 */ 128, 66, 0, 8,144,126, 0,108,128, 94, 0,112,128, 66, 0, 32,
|
||||
/* 0x1a40 */ 128, 30, 0,108,127,130, 0, 64, 65,157, 0, 44,128, 94, 0,112,
|
||||
/* 0x1a50 */ 128, 66, 0, 36,128, 30, 0,108,127,130, 0, 64, 64,157, 0, 24,
|
||||
/* 0x1a60 */ 128, 94, 0,112,128, 66, 0, 24,128, 30, 0,108,124, 0, 18, 20,
|
||||
/* 0x1a70 */ 144, 30, 0,108,128, 94, 0,100, 56, 2, 0, 1,144, 30, 0,100,
|
||||
/* 0x1a80 */ 128, 94, 0,116,128, 2, 0, 4,124, 2, 3,120,128, 30, 0,116,
|
||||
/* 0x1a90 */ 124, 2, 2, 20,144, 30, 0,116,128, 94, 0,200,128, 66, 0, 16,
|
||||
/* 0x1aa0 */ 128, 30, 0,100,127,130, 0, 64, 65,157,251,200,128, 30, 0,108,
|
||||
/* 0x1ab0 */ 124, 3, 3,120,128, 33, 0, 0,128, 1, 0, 8,124, 8, 3,166,
|
||||
/* 0x1ac0 */ 187,193,255,248, 78,128, 0, 32,191,193,255,248,148, 33,255,192,
|
||||
/* 0x1ad0 */ 124, 62, 11,120,144,126, 0, 88,128, 94, 0, 88, 56, 2, 0, 8,
|
||||
/* 0x1ae0 */ 144, 30, 0, 28, 56, 0, 0, 0,144, 30, 0, 24, 72, 0, 0, 60,
|
||||
/* 0x1af0 */ 128, 94, 0, 28,128, 2, 0, 0, 47,128, 0, 18, 64,158, 0, 20,
|
||||
/* 0x1b00 */ 128, 94, 0, 28,128, 66, 0, 8,144, 94, 0, 40, 72, 0, 0, 56,
|
||||
/* 0x1b10 */ 128, 94, 0, 24, 56, 2, 0, 1,144, 30, 0, 24,128, 94, 0, 28,
|
||||
/* 0x1b20 */ 56, 2, 0, 20,144, 30, 0, 28,128, 94, 0, 88,128, 66, 0, 4,
|
||||
/* 0x1b30 */ 128, 30, 0, 24,127,130, 0, 64, 65,157,255,184, 56, 0, 0, 0,
|
||||
/* 0x1b40 */ 144, 30, 0, 40,128, 30, 0, 40,124, 3, 3,120,128, 33, 0, 0,
|
||||
/* 0x1b50 */ 187,193,255,248, 78,128, 0, 32,124, 8, 2,166,191,193,255,248,
|
||||
/* 0x1b60 */ 144, 1, 0, 8,148, 33,255,128,124, 62, 11,120,144,126, 0,152,
|
||||
/* 0x1b70 */ 144,158, 0,156,144,190, 0,160,144,222, 0,164,144,254, 0,168,
|
||||
/* 0x1b80 */ 145, 30, 0,172,145, 62, 0,176, 56, 0, 0, 0,144, 30, 0, 72,
|
||||
/* 0x1b90 */ 128, 94, 0,152, 56, 2, 0, 24,144, 30, 0, 84,128, 94, 0,156,
|
||||
/* 0x1ba0 */ 56, 2,255,232,144, 30, 0, 80,128, 30, 0,160,144, 30, 0, 92,
|
||||
/* 0x1bb0 */ 128, 30, 0, 84,124, 2, 3,120,128, 2, 0, 0,144, 30, 0, 88,
|
||||
/* 0x1bc0 */ 128, 30, 0, 80,128, 94, 0, 84,144, 30, 0, 96,144, 94, 0,100,
|
||||
/* 0x1bd0 */ 56, 30, 0, 80, 56, 94, 0, 88,124, 3, 3,120,124, 68, 19,120,
|
||||
/* 0x1be0 */ 128,190, 0,168, 56,192, 0, 0, 75,255,247,149, 56, 30, 0, 96,
|
||||
/* 0x1bf0 */ 128,126, 0,160,128,158, 0, 72,124, 5, 3,120, 56,192,255,255,
|
||||
/* 0x1c00 */ 128,254, 0,176,129, 30, 0,168,129, 62, 0,172, 75,255,250, 5,
|
||||
/* 0x1c10 */ 124, 96, 27,120,144, 30, 0, 76,128, 94, 0,160, 56, 2, 0, 28,
|
||||
/* 0x1c20 */ 144, 30, 0, 68, 56, 0, 0, 0,144, 30, 0, 64, 72, 0, 1,104,
|
||||
/* 0x1c30 */ 128, 94, 0, 68,128, 2, 0, 0, 47,128, 0, 14, 64,158, 1, 52,
|
||||
/* 0x1c40 */ 128, 94, 0, 68, 56, 2, 0, 8,124, 2, 3,120,128, 2, 0, 0,
|
||||
/* 0x1c50 */ 124, 2, 3,120,128, 30, 0, 68,124, 2, 2, 20,144, 30, 0, 60,
|
||||
/* 0x1c60 */ 128,126, 0, 60, 56,128, 0, 0, 56,160, 0, 0, 75,255,246, 5,
|
||||
/* 0x1c70 */ 124, 96, 27,120,144, 30, 0, 56,128, 30, 0, 56, 47,128, 0, 0,
|
||||
/* 0x1c80 */ 65,156, 0, 44,128,126, 0, 56,128,158, 0,160,128,190, 0,164,
|
||||
/* 0x1c90 */ 128,222, 0, 72, 75,255,245,165,124, 96, 27,120,124, 2, 3,120,
|
||||
/* 0x1ca0 */ 128, 30, 0,164,127,130, 0, 0, 65,158, 0, 12, 56, 96, 0,127,
|
||||
/* 0x1cb0 */ 75,255,245,177,128, 94, 0,160,128, 66, 0, 0,144, 94, 0,104,
|
||||
/* 0x1cc0 */ 60, 0,202,254, 96, 0,186,190,128, 94, 0,104,127,130, 0, 0,
|
||||
/* 0x1cd0 */ 65,158, 0, 72, 60, 0,202,254, 96, 0,186,190,128, 94, 0,104,
|
||||
/* 0x1ce0 */ 127,130, 0, 64, 65,157, 0, 28, 60, 0,190,186, 96, 0,254,202,
|
||||
/* 0x1cf0 */ 128, 94, 0,104,127,130, 0, 0, 65,158, 0, 32, 72, 0, 0, 64,
|
||||
/* 0x1d00 */ 60, 0,254,237, 96, 0,250,206,128, 94, 0,104,127,130, 0, 0,
|
||||
/* 0x1d10 */ 65,158, 0, 44, 72, 0, 0, 40,128, 30, 0,160,124, 3, 3,120,
|
||||
/* 0x1d20 */ 75,255,253,169,124, 96, 27,120,144, 30, 0, 72,128, 30, 0, 72,
|
||||
/* 0x1d30 */ 47,128, 0, 0, 64,158,255, 80, 75,255,255,116,128,126, 0,160,
|
||||
/* 0x1d40 */ 128,158, 0, 72, 56,160, 0, 0,128,222, 0, 56, 56,224, 0, 0,
|
||||
/* 0x1d50 */ 57, 0, 0, 0, 57, 32, 0, 0, 75,255,248,185,124, 96, 27,120,
|
||||
/* 0x1d60 */ 144, 30, 0, 76,128,126, 0, 56, 75,255,245, 17, 72, 0, 0, 60,
|
||||
/* 0x1d70 */ 128, 94, 0, 64, 56, 2, 0, 1,144, 30, 0, 64,128, 94, 0, 68,
|
||||
/* 0x1d80 */ 128, 2, 0, 4,124, 2, 3,120,128, 30, 0, 68,124, 2, 2, 20,
|
||||
/* 0x1d90 */ 144, 30, 0, 68,128, 94, 0,160,128, 66, 0, 16,128, 30, 0, 64,
|
||||
/* 0x1da0 */ 127,130, 0, 64, 65,157,254,140,128, 30, 0, 76,124, 3, 3,120,
|
||||
/* 0x1db0 */ 128, 33, 0, 0,128, 1, 0, 8,124, 8, 3,166,187,193,255,248,
|
||||
/* 0x1dc0 */ 78,128, 0, 32,124, 8, 2,166,191,193,255,248,144, 1, 0, 8,
|
||||
/* 0x1dd0 */ 148, 33,191,112,124, 62, 11,120, 66,159, 0, 5,127,232, 2,166,
|
||||
/* 0x1de0 */ 144,126, 64,168,144,158, 64,172,128, 1, 0, 4,144, 30, 64,168,
|
||||
/* 0x1df0 */ 144, 94, 64,172, 60, 95, 0, 0, 56, 2,255,232, 84, 0, 0, 38,
|
||||
/* 0x1e00 */ 144, 30, 0, 92,128, 94, 0, 92, 56, 2, 0, 28,144, 30, 0, 88,
|
||||
/* 0x1e10 */ 56, 0, 0, 0,144, 30, 0, 68, 72, 0, 1, 36,128, 94, 0, 88,
|
||||
/* 0x1e20 */ 128, 2, 0, 0, 47,128, 0, 1, 64,158, 0,240,128, 30, 0, 88,
|
||||
/* 0x1e30 */ 144, 30, 0, 60, 60, 95, 0, 0, 56, 66, 2, 4, 56, 2, 0, 2,
|
||||
/* 0x1e40 */ 124, 2, 3,120,129, 34, 0, 0,129, 66, 0, 4,145, 62, 64,112,
|
||||
/* 0x1e50 */ 145, 94, 64,116,128, 94, 0, 60, 56, 66, 0, 8, 56, 2, 0, 2,
|
||||
/* 0x1e60 */ 124, 2, 3,120,129, 34, 0, 0,129, 66, 0, 4,145, 62, 64,104,
|
||||
/* 0x1e70 */ 145, 94, 64,108,129, 94, 64,112,128, 30, 64,104,127,138, 0, 0,
|
||||
/* 0x1e80 */ 64,158, 0,152,128, 94, 64,116,129, 62, 64,108,127,130, 72, 0,
|
||||
/* 0x1e90 */ 64,158, 0,136,128, 94, 0, 60,128, 66, 0, 24, 56, 2, 0, 2,
|
||||
/* 0x1ea0 */ 144, 30, 0, 84,128, 94, 0, 60,128, 2, 0, 24,124, 2, 3,120,
|
||||
/* 0x1eb0 */ 160, 2, 0, 0, 84, 0, 4, 62,124, 9, 3,120,128, 94, 0, 60,
|
||||
/* 0x1ec0 */ 128, 2, 0, 24,124, 9, 2, 20,144, 30, 0, 80,128, 94, 0, 60,
|
||||
/* 0x1ed0 */ 128, 2, 0, 24,144, 30, 0, 56,128, 94, 0, 56, 56, 2,255,252,
|
||||
/* 0x1ee0 */ 144, 30, 0, 56,128, 94, 0, 56,128, 2, 0, 0,144, 30, 0, 72,
|
||||
/* 0x1ef0 */ 128, 30, 0, 72, 47,128, 0, 0, 65,158,255,224,128, 30, 0, 72,
|
||||
/* 0x1f00 */ 124, 0, 0,208,124, 2, 3,120,128, 30, 0, 56,124, 2, 2, 20,
|
||||
/* 0x1f10 */ 144, 30, 0, 76, 72, 0, 0, 60,128, 94, 0, 68, 56, 2, 0, 1,
|
||||
/* 0x1f20 */ 144, 30, 0, 68,128, 94, 0, 88,128, 2, 0, 4,124, 2, 3,120,
|
||||
/* 0x1f30 */ 128, 30, 0, 88,124, 2, 2, 20,144, 30, 0, 88,128, 94, 0, 92,
|
||||
/* 0x1f40 */ 128, 66, 0, 16,128, 30, 0, 68,127,130, 0, 64, 65,157,254,208,
|
||||
/* 0x1f50 */ 129, 62, 0, 76, 57,126, 0, 96,128, 94, 64,172, 56, 2,255,248,
|
||||
/* 0x1f60 */ 125, 35, 75,120,128,158, 0, 72,125,101, 91,120, 56,192, 64, 0,
|
||||
/* 0x1f70 */ 128,254, 0, 80,129, 30, 0, 84,124, 9, 3,120, 75,255,251,221,
|
||||
/* 0x1f80 */ 124, 96, 27,120,144, 30, 0, 64,128,126, 0, 76,128,158, 0, 72,
|
||||
/* 0x1f90 */ 75,255,242,249,128, 94, 64,172, 56, 66,255,252,128, 30, 64,168,
|
||||
/* 0x1fa0 */ 144, 2, 0, 0,128, 94, 0, 64,128, 30, 64,172,124, 79,241, 32,
|
||||
/* 0x1fb0 */ 56, 0, 0, 0,124, 3, 3,120,128, 33, 0, 0,128, 1, 0, 8,
|
||||
/* 0x1fc0 */ 124, 8, 3,166,187,193,255,248, 78,128, 0, 32, 0, 0, 0, 0,
|
||||
/* 0x1fd0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1fe0 */ 95, 95, 76, 73, 78, 75, 69, 68, 73, 84, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1ff0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
87
src/stub/src/powerpc-darwin.macho-upxsubr.S
Normal file
87
src/stub/src/powerpc-darwin.macho-upxsubr.S
Normal file
@ -0,0 +1,87 @@
|
||||
/*
|
||||
; powerpc-darwin.macho-upxsubr.S -- system calls
|
||||
;
|
||||
; This file is part of the UPX executable compressor.
|
||||
;
|
||||
; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
|
||||
; Copyright (C) 1996-2015 Laszlo Molnar
|
||||
; Copyright (C) 2000-2015 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> <ml1050@users.sourceforge.net>
|
||||
;
|
||||
; John F. Reiser
|
||||
; <jreiser@users.sourceforge.net>
|
||||
;
|
||||
*/
|
||||
|
||||
SYS_exit =1
|
||||
SYS_fork =2
|
||||
SYS_read =3
|
||||
SYS_write =4
|
||||
SYS_open =5
|
||||
SYS_close =6
|
||||
|
||||
SYS_pread =153
|
||||
SYS_mmap =197
|
||||
SYS_munmap= 73
|
||||
SYS_mprotect= 74
|
||||
|
||||
_start: .globl _start
|
||||
b _main
|
||||
|
||||
/* SYS_mmap takes a 64-bit off_t, but gcc-3.4.1-20040827 passes long long
|
||||
in wrong registers. So change C interface to use size_t (32-bits) instead
|
||||
of off_t (64 bits), and convert here.
|
||||
*/
|
||||
_pread: .globl _pread
|
||||
mr r7,r6
|
||||
li r6,0
|
||||
li r0,153
|
||||
b sysgo
|
||||
_mmap: .globl _mmap
|
||||
mr r9,r8
|
||||
li r8,0
|
||||
li r0,197
|
||||
sysgo:
|
||||
sc
|
||||
li r3,-1
|
||||
blr
|
||||
|
||||
_exit: .globl _exit
|
||||
li r0,SYS_exit
|
||||
b sysgo
|
||||
_read: .globl _read
|
||||
li r0,SYS_read
|
||||
b sysgo
|
||||
_open: .globl _open
|
||||
li r0,SYS_open
|
||||
b sysgo
|
||||
_close: .globl _close
|
||||
li r0,SYS_close
|
||||
b sysgo
|
||||
_mprotect: .globl _mprotect
|
||||
li r0,SYS_mprotect
|
||||
b sysgo
|
||||
_munmap: .globl _munmap
|
||||
li r0, SYS_munmap
|
||||
b sysgo
|
||||
|
||||
dyld_stub_binding_helper: .globl dyld_stub_binding_helper
|
||||
b dyld_stub_binding_helper
|
||||
Loading…
Reference in New Issue
Block a user