From 8c777623dd1ce516b6346a11d52d34ba490a4926 Mon Sep 17 00:00:00 2001
From: Neil Turton <nturton@gitlab.riscosopen.org>
Date: Mon, 16 Dec 1996 16:25:48 +0000
Subject: [PATCH] Unused files removed from Trunk

---
 Log426               |    18 -
 s/jhdr               |    28 -
 s/putscaled          | 10535 -----------------------------------------
 s/rojpeg             |  3078 ------------
 s/stdpalette         |   276 --
 s/temp               | 10535 -----------------------------------------
 s/yuvtabs            |   633 ---
 utils/genpalette,ff8 |   Bin 5860 -> 0 bytes
 utils/genyuvtabs,ff8 |   Bin 7476 -> 0 bytes
 utils/makejhdr,ff8   |   Bin 5864 -> 0 bytes
 10 files changed, 25103 deletions(-)
 delete mode 100644 Log426
 delete mode 100644 s/jhdr
 delete mode 100644 s/putscaled
 delete mode 100644 s/rojpeg
 delete mode 100644 s/stdpalette
 delete mode 100644 s/temp
 delete mode 100644 s/yuvtabs
 delete mode 100644 utils/genpalette,ff8
 delete mode 100644 utils/genyuvtabs,ff8
 delete mode 100644 utils/makejhdr,ff8

diff --git a/Log426 b/Log426
deleted file mode 100644
index 1d3126f..0000000
--- a/Log426
+++ /dev/null
@@ -1,18 +0,0 @@
-cc -s -depend !Depend -IC: -DRISCOS -DASMHUFF -ff -zps1 -DEMBED c.putscaled
-Norcroft RISC OS ARM C vsn 5.06 (Acorn Computers Ltd) [Feb 16 1995]
-"c.putscaled", line 3970: Warning: <cast>: cast between function pointer and non-function object
-"c.putscaled", line 3987: Warning: <cast>: cast between function pointer and non-function object
-"c.putscaled", line 4416: Warning: static 'putscaled_compiler' declared but not used
-"c.putscaled", line 4416: Warning: static 'check_sprite_area' declared but not used
-"c.putscaled", line 4416: Warning: static 'do_jpeg_scan_file_16' declared but not used
-"c.putscaled", line 4416: Warning: static 'do_jpeg_scan_file' declared but not used
-"c.putscaled", line 4416: Warning: static 'colour_convert_block' declared but not used
-"c.putscaled", line 4416: Warning: static 'mono_convert_block' declared but not used
-"c.putscaled", line 4416: Warning: static 'jpeg_find_line' declared but not used
-c.putscaled: 9 warnings, 0 errors, 0 serious errors
-SprExtend: making s.putscaled aasm compatible
-Sed s/__rt_sdiv/|__rt_sdiv|/g < s.putscaled > s.temp
-Sed s/_swix/|_swix|/g < s.temp > s.putscaled
-aasm -depend !Depend -Stamp -quit -module -From Sources.SprExtend -To rm.SprExtend
-ARM stand alone Macro Assembler Version 2.00
-SprExtend: rom module built
diff --git a/s/jhdr b/s/jhdr
deleted file mode 100644
index 3d281e0..0000000
--- a/s/jhdr
+++ /dev/null
@@ -1,28 +0,0 @@
-; Copyright 1996 Acorn Computers Ltd
-;
-; Licensed under the Apache License, Version 2.0 (the "License");
-; you may not use this file except in compliance with the License.
-; You may obtain a copy of the License at
-;
-;     http://www.apache.org/licenses/LICENSE-2.0
-;
-; Unless required by applicable law or agreed to in writing, software
-; distributed under the License is distributed on an "AS IS" BASIS,
-; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-; See the License for the specific language governing permissions and
-; limitations under the License.
-;
-; s.JHdr, generated by MakeJHdr Mar 17 1995 16:36:01.
-
-huff_tbl_maxcode * 276
-huff_tbl_valptr * 348
-huff_tbl_huffval * 17
-huff_tbl_shortcut * 416
-
-cinfo_next_input_byte * 52
-cinfo_get_buffer * 260
-cinfo_bits_left * 264
-cinfo_buffer_end * 56
-
-        END
-
diff --git a/s/putscaled b/s/putscaled
deleted file mode 100644
index e394b47..0000000
--- a/s/putscaled
+++ /dev/null
@@ -1,10535 +0,0 @@
-; Copyright 1996 Acorn Computers Ltd
-;
-; Licensed under the Apache License, Version 2.0 (the "License");
-; you may not use this file except in compliance with the License.
-; You may obtain a copy of the License at
-;
-;     http://www.apache.org/licenses/LICENSE-2.0
-;
-; Unless required by applicable law or agreed to in writing, software
-; distributed under the License is distributed on an "AS IS" BASIS,
-; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-; See the License for the specific language governing permissions and
-; limitations under the License.
-;
-; generated by Norcroft RISC OS ARM C vsn 5.05 (Acorn Computers Ltd) [Dec 23 1994]
-
-        AREA |C$$code|, CODE, READONLY
-|x$codeseg|
-
-        EXPORT  memcpy
-memcpy
-        MOV      a4,a1
-        MOV      ip,a3
-        SUB      a3,a3,#1
-        CMP      ip,#0
-        MOVLSS   pc,lr
-|L000014.J4.memcpy|
-        LDRB     ip,[a2],#1
-        STRB     ip,[a4],#1
-        MOV      ip,a3
-        SUB      a3,a3,#1
-        CMP      ip,#0
-        BHI      |L000014.J4.memcpy|
-        MOVS     pc,lr
-
-        EXPORT  strcpy
-strcpy
-        MOV      a3,a1
-        LDRB     a4,[a2,#0]
-        CMP      a4,#&1f
-        MOVLES   pc,lr
-|L000040.J4.strcpy|
-        LDRB     a4,[a2],#1
-        STRB     a4,[a3],#1
-        LDRB     a4,[a2,#0]
-        CMP      a4,#&1f
-        BGT      |L000040.J4.strcpy|
-        MOVS     pc,lr
-
-        EXPORT  memset
-memset
-        MOV      a4,a1
-        MOV      ip,a3
-        SUB      a3,a3,#1
-        CMP      ip,#0
-        MOVLSS   pc,lr
-        AND      a2,a2,#&ff
-|L000070.J4.memset|
-        STRB     a2,[a4],#1
-        MOV      ip,a3
-        SUB      a3,a3,#1
-        CMP      ip,#0
-        BHI      |L000070.J4.memset|
-        MOVS     pc,lr
-
-        IMPORT  exit
-        EXPORT  panic_exit
-panic_exit
-        B        exit
-
-get_2bytes
-        MOV      a4,#&ff
-        LDR      a2,[a1,#&38]
-        LDR      a3,[a1,#&34]
-        CMP      a3,a2
-        LDRCCB   a2,[a3],#1
-        STRCC    a3,[a1,#&34]
-        MOVCS    a2,a4
-        MOV      a3,a2
-        ADD      ip,a1,#&34
-        LDMIA    ip,{a2,ip}
-        CMP      a2,ip
-        LDRCCB   a4,[a2],#1
-        STRCC    a2,[a1,#&34]!
-        ADD      a1,a4,a3,LSL #8
-        MOVS     pc,lr
-
-skip_variable
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        SUB      a1,a1,#2
-        CMP      a1,#0
-        LDMLEDB  fp,{v1,fp,sp,pc}^
-        LDR      a2,[v1,#&38]
-|L0000ec.J4.skip_variable|
-        LDR      a3,[v1,#&34]
-        CMP      a3,a2
-        ADDCC    a3,a3,#1
-        STRCC    a3,[v1,#&34]
-        SUB      a1,a1,#1
-        CMP      a1,#0
-        BGT      |L0000ec.J4.skip_variable|
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-get_dht
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        SUB      sp,sp,#&114
-        BL       get_2bytes
-        SUB      v4,a1,#2
-        CMP      v4,#0
-        BLE      |L000250.J37.get_dht|
-        MOV      v6,#0
-        MOV      v5,#&ff
-|L000138.J4.get_dht|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,v5
-        MOV      v2,a2
-        STRB     v6,[sp,#&100]
-        MOV      v3,#0
-        MOV      a1,#1
-|L000160.J10.get_dht|
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a2,a3}
-        CMP      a2,a3
-        MOVCS    a2,v5
-        BCS      |L000180.J11.get_dht|
-        LDRB     a3,[a2],#1
-        STR      a2,[v1,#&34]
-        MOV      a2,a3
-|L000180.J11.get_dht|
-        ADD      a3,sp,#&100
-        STRB     a2,[a3,a1]
-        ADD      a2,sp,#&100
-        LDRB     a2,[a2,a1]
-        ADD      v3,a2,v3
-        ADD      a1,a1,#1
-        CMP      a1,#&10
-        BLE      |L000160.J10.get_dht|
-        CMP      v3,#&100
-        MOVGT    a1,#&b9
-        ADDGT    a1,a1,#&4e00
-        BLGT     exit
-        MOV      a1,#0
-        CMP      v3,#0
-        BLE      |L0001ec.J18.get_dht|
-|L0001bc.J17.get_dht|
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a2,a3}
-        CMP      a2,a3
-        MOVCS    a2,v5
-        BCS      |L0001dc.J20.get_dht|
-        LDRB     a3,[a2],#1
-        STR      a2,[v1,#&34]
-        MOV      a2,a3
-|L0001dc.J20.get_dht|
-        STRB     a2,[sp,a1]
-        ADD      a1,a1,#1
-        CMP      a1,v3
-        BLT      |L0001bc.J17.get_dht|
-|L0001ec.J18.get_dht|
-        ADD      a1,v3,#&11
-        SUB      v4,v4,a1
-        TST      v2,#&10
-        SUBNE    v2,v2,#&10
-        ADD      a1,v1,v2,LSL #2
-        ADDEQ    v3,a1,#&64
-        ADDNE    v3,a1,#&74
-        CMP      v2,#0
-        BLT      |L000218.J28.get_dht|
-        CMP      v2,#4
-        BLT      |L000224.J27.get_dht|
-|L000218.J28.get_dht|
-        MOV      a1,#&2c8
-        ADD      a1,a1,#&4c00
-        BL       exit
-|L000224.J27.get_dht|
-        ADD      a2,sp,#&100
-        MOV      a3,#&11
-        LDR      a1,[v3,#0]
-        BL       memcpy
-        LDR      a1,[v3,#0]
-        ADD      a1,a1,#&11
-        MOV      a2,sp
-        MOV      a3,#&100
-        BL       memcpy
-        CMP      v4,#0
-        BGT      |L000138.J4.get_dht|
-|L000250.J37.get_dht|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-get_dac
-        MOV      ip,sp
-        STMDB    sp!,{v1-v5,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        SUB      v4,a1,#2
-        CMP      v4,#0
-        LDMLEDB  fp,{v1-v5,fp,sp,pc}^
-        MOV      v5,#&ff
-|L000278.J4.get_dac|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        LDRCCB   a3,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a3,v5
-        MOV      v2,a3
-        LDR      a1,[v1,#&34]
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,v5
-        MOV      v3,a2
-        CMP      v2,#0
-        BLT      |L0002bc.J14.get_dac|
-        CMP      v2,#&20
-        BLT      |L0002c8.J13.get_dac|
-|L0002bc.J14.get_dac|
-        MOV      a1,#&2e8
-        ADD      a1,a1,#&4c00
-        BL       exit
-|L0002c8.J13.get_dac|
-        CMP      v2,#&10
-        MOVGE    a1,v3
-        ADDGE    a2,v1,v2
-        STRGEB   a1,[a2,#&94]
-        BGE      |L000304.J19.get_dac|
-        AND      a1,v3,#&f
-        ADD      a2,v1,v2
-        STRB     a1,[a2,#&84]
-        MOV      a3,v3,ASR #4
-        AND      a3,a3,#&ff
-        STRB     a3,[a2,#&94]
-        CMP      a1,a3
-        MOVGT    a1,#&ef0
-        ADDGT    a1,a1,#&4000
-        BLGT     exit
-|L000304.J19.get_dac|
-        SUB      v4,v4,#2
-        CMP      v4,#0
-        BGT      |L000278.J4.get_dac|
-        LDMDB    fp,{v1-v5,fp,sp,pc}^
-
-get_dqt
-        MOV      ip,sp
-        STMDB    sp!,{v1-v5,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        SUB      v2,a1,#2
-        CMP      v2,#0
-        LDMLEDB  fp,{v1-v5,fp,sp,pc}^
-        MOV      v4,#&ff
-|L000338.J4.get_dqt|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a1,v4
-        BCS      |L000358.J7.get_dqt|
-        LDRB     a2,[a1],#1
-        STR      a1,[v1,#&34]
-        MOV      a1,a2
-|L000358.J7.get_dqt|
-        MOV      v3,a1,ASR #4
-        AND      v5,a1,#&f
-        CMP      v5,#4
-        MOVGE    a1,#&30c
-        ADDGE    a1,a1,#&4c00
-        BLGE     exit
-        ADD      a1,v1,v5,LSL #2
-        LDR      a4,[a1,#&54]!
-        MOV      a1,#0
-|L00037c.J12.get_dqt|
-        ADD      ip,v1,#&34
-        LDMIA    ip,{a3,ip}
-        CMP      a3,ip
-        LDRCCB   a2,[a3],#1
-        STRCC    a3,[v1,#&34]
-        MOVCS    a2,v4
-        MOV      a2,a2,LSL #16
-        MOV      a2,a2,LSR #16
-        TEQ      v3,#0
-        BEQ      |L0003c4.J16.get_dqt|
-        LDR      a3,[v1,#&34]
-        CMP      a3,ip
-        LDRCCB   ip,[a3],#1
-        STRCC    a3,[v1,#&34]
-        MOVCS    ip,v4
-        ADD      a2,ip,a2,LSL #8
-        MOV      a2,a2,LSL #16
-        MOV      a2,a2,LSR #16
-|L0003c4.J16.get_dqt|
-        STR      a2,[a4,a1,LSL #2]
-        ADD      a1,a1,#1
-        CMP      a1,#&40
-        BLT      |L00037c.J12.get_dqt|
-        MOV      a1,#0
-|L0003d8.J22.get_dqt|
-        ADD      a1,a1,#8
-        CMP      a1,#&40
-        BLT      |L0003d8.J22.get_dqt|
-        SUB      v2,v2,#&41
-        TEQ      v3,#0
-        SUBNE    v2,v2,#&40
-        CMP      v2,#0
-        BGT      |L000338.J4.get_dqt|
-        LDMDB    fp,{v1-v5,fp,sp,pc}^
-
-get_dri
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        TEQ      a1,#4
-        MOVNE    a1,#&2d
-        ADDNE    a1,a1,#&4f00
-        BLNE     exit
-        MOV      a1,v1
-        BL       get_2bytes
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,LSR #16
-        STR      a1,[v1,#&bc]!
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-get_app0
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        SUB      sp,sp,#&10
-        BL       get_2bytes
-        SUB      v2,a1,#2
-        CMP      v2,#&e
-        BLT      |L000508.J25.get_app0|
-        MOV      a1,#0
-        MOV      a2,#&ff
-|L000464.J6.get_app0|
-        LDR      a3,[v1,#&38]
-        LDR      a4,[v1,#&34]
-        CMP      a4,a3
-        LDRCCB   a3,[a4],#1
-        STRCC    a4,[v1,#&34]
-        MOVCS    a3,a2
-        STRB     a3,[sp,a1]
-        ADD      a1,a1,#1
-        CMP      a1,#&e
-        BLT      |L000464.J6.get_app0|
-        SUB      v2,v2,#&e
-        LDRB     a1,[sp,#0]
-        TEQ      a1,#&4a
-        LDREQB   a1,[sp,#1]
-        TEQEQ    a1,#&46
-        LDREQB   a1,[sp,#2]
-        TEQEQ    a1,#&49
-        LDREQB   a1,[sp,#3]
-        TEQEQ    a1,#&46
-        LDREQB   a1,[sp,#4]
-        TEQEQ    a1,#0
-        BNE      |L000508.J25.get_app0|
-        LDRB     a1,[sp,#5]
-        TEQ      a1,#1
-        MOVNE    a1,#&4d
-        ADDNE    a1,a1,#&4f00
-        BLNE     exit
-        LDRB     a1,[sp,#7]
-        STR      a1,[v1,#&40]
-        LDRB     a1,[sp,#9]
-        LDRB     a2,[sp,#8]
-        ADD      a1,a1,a2,LSL #8
-        STR      a1,[v1,#&44]
-        LDRB     a2,[sp,#&b]
-        LDRB     a1,[sp,#&a]
-        ADD      a1,a2,a1,LSL #8
-        STR      a1,[v1,#&48]
-        LDR      a1,[v1,#&1c]
-        TEQ      a1,#0
-        MOVEQ    a1,#3
-        STREQ    a1,[v1,#&1c]
-|L000508.J25.get_app0|
-        MOV      a1,v2
-        SUB      v2,v2,#1
-        CMP      a1,#0
-        BLE      |L00053c.J37.get_app0|
-        LDR      a2,[v1,#&38]
-|L00051c.J26.get_app0|
-        LDR      a1,[v1,#&34]
-        CMP      a1,a2
-        ADDCC    a1,a1,#1
-        STRCC    a1,[v1,#&34]
-        MOV      a1,v2
-        SUB      v2,v2,#1
-        CMP      a1,#0
-        BGT      |L00051c.J26.get_app0|
-|L00053c.J37.get_app0|
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-get_sof
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        MOV      v3,a1
-        MOV      v2,#&ff
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,v2
-        STR      a2,[v1,#&3c]
-        MOV      a1,v1
-        BL       get_2bytes
-        STR      a1,[v1,#&18]
-        MOV      a1,v1
-        BL       get_2bytes
-        STR      a1,[v1,#&14]
-        MOV      a2,a1
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a1,a3}
-        CMP      a1,a3
-        MOVCS    a1,v2
-        BCS      |L0005b4.J7.get_sof|
-        LDRB     a3,[a1],#1
-        STR      a1,[v1,#&34]
-        MOV      a1,a3
-|L0005b4.J7.get_sof|
-        STR      a1,[v1,#&4c]
-        LDR      a3,[v1,#&18]
-        CMP      a3,#0
-        CMPGT    a2,#0
-        CMPGT    a1,#0
-        MOVLE    a1,#&82
-        ADDLE    a1,a1,#&4f00
-        BLLE     exit
-        LDR      a1,[v1,#&3c]
-        TEQ      a1,#8
-        MOVNE    a1,#&86
-        ADDNE    a1,a1,#&4f00
-        BLNE     exit
-        LDR      a1,[v1,#&4c]
-        ADD      a1,a1,a1,LSL #1
-        ADD      a1,a1,#8
-        TEQ      a1,v3
-        MOVNE    a1,#&92
-        ADDNE    a1,a1,#&4f00
-        BLNE     exit
-        LDR      a1,[v1,#&4c]
-        CMP      a1,#3
-        MOVGT    a1,#&96
-        ADDGT    a1,a1,#&4f00
-        BLGT     exit
-        MOV      a1,#0
-        LDR      a2,[v1,#&4c]
-        CMP      a2,#0
-        LDMLEDB  fp,{v1-v3,fp,sp,pc}^
-        MOV      a2,#&f
-|L00062c.J21.get_sof|
-        RSB      a4,a1,a1,LSL #3
-        LDR      a3,[v1,#&50]
-        ADD      a3,a3,a4,LSL #3
-        STR      a1,[a3,#4]
-        ADD      ip,v1,#&34
-        LDMIA    ip,{a4,ip}
-        CMP      a4,ip
-        LDRCCB   ip,[a4],#1
-        STRCC    a4,[v1,#&34]
-        MOVCS    ip,v2
-        STR      ip,[a3,#0]
-        ADD      ip,v1,#&34
-        LDMIA    ip,{a4,ip}
-        CMP      a4,ip
-        MOVCS    a4,v2
-        BCS      |L00067c.J27.get_sof|
-        MOV      ip,a4
-        LDRB     a4,[a4,#0]
-        ADD      ip,ip,#1
-        STR      ip,[v1,#&34]
-|L00067c.J27.get_sof|
-        AND      ip,a2,a4,ASR #4
-        AND      a4,a4,#&f
-        STR      a4,[a3,#&c]
-        STR      ip,[a3,#8]
-        ADD      ip,v1,#&34
-        LDMIA    ip,{a4,ip}
-        CMP      a4,ip
-        LDRCCB   ip,[a4],#1
-        STRCC    a4,[v1,#&34]
-        MOVCS    ip,v2
-        ADD      a1,a1,#1
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      ip,[a3,#&10]!
-        LDR      a3,[v1,#&4c]
-        CMP      a1,a3
-        BLT      |L00062c.J21.get_sof|
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-get_sos
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        MOV      v4,#&ff
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a2,a3}
-        CMP      a2,a3
-        LDRCCB   a3,[a2],#1
-        STRCC    a2,[v1,#&34]
-        MOVCS    a3,v4
-        MOV      v3,a3
-        SUB      v2,a1,#3
-        MOV      a1,#3
-        STR      a3,[v1,#&c8]
-        ADD      a1,a1,a3,LSL #1
-        TEQ      a1,v2
-        BNE      |L000720.J8.get_sos|
-        CMP      v3,#1
-        BLT      |L000720.J8.get_sos|
-        CMP      v3,#4
-        BLE      |L00072c.J7.get_sos|
-|L000720.J8.get_sos|
-        MOV      a1,#&3bc
-        ADD      a1,a1,#&4c00
-        BL       exit
-|L00072c.J7.get_sos|
-        MOV      v5,#0
-        CMP      v3,#0
-        BLE      |L0007e4.J13.get_sos|
-|L000738.J12.get_sos|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        LDRCCB   a3,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a3,#&ff
-        LDR      a1,[v1,#&34]
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,#&ff
-        MOV      v6,a2
-        SUB      v2,v2,#2
-        MOV      v4,#0
-        LDR      a1,[v1,#&4c]
-        CMP      a1,#0
-        BLE      |L0007a0.J22.get_sos|
-        LDR      a2,[v1,#&50]
-|L000780.J21.get_sos|
-        RSB      a4,v4,v4,LSL #3
-        ADD      a4,a2,a4,LSL #3
-        LDR      a4,[a4,#0]
-        TEQ      a4,a3
-        BEQ      |L0007a0.J22.get_sos|
-        ADD      v4,v4,#1
-        CMP      v4,a1
-        BLT      |L000780.J21.get_sos|
-|L0007a0.J22.get_sos|
-        CMP      v4,a1
-        MOVGE    a1,#&ca
-        ADDGE    a1,a1,#&4f00
-        BLGE     exit
-        RSB      a1,v4,v4,LSL #3
-        LDR      a2,[v1,#&50]
-        ADD      a1,a2,a1,LSL #3
-        ADD      a2,v1,v5,LSL #2
-        STR      a1,[a2,#&cc]!
-        MOV      a2,#&f
-        AND      a2,a2,v6,ASR #4
-        STR      a2,[a1,#&14]
-        AND      a2,v6,#&f
-        ADD      v5,v5,#1
-        CMP      v5,v3
-        STR      a2,[a1,#&18]!
-        BLT      |L000738.J12.get_sos|
-|L0007e4.J13.get_sos|
-        CMP      v2,#0
-        LDMLEDB  fp,{v1-v6,fp,sp,pc}^
-        LDR      a1,[v1,#&38]
-|L0007f0.J30.get_sos|
-        LDR      a2,[v1,#&34]
-        CMP      a2,a1
-        ADDCC    a2,a2,#1
-        STRCC    a2,[v1,#&34]
-        SUB      v2,v2,#1
-        CMP      v2,#0
-        BGT      |L0007f0.J30.get_sos|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-get_soi
-        STMDB    sp!,{lr}
-        MOV      a2,#0
-        MOV      ip,#0
-        MOV      a4,#1
-        MOV      lr,#5
-|L000824.J4.get_soi|
-        ADD      a3,a1,a2
-        STRB     ip,[a3,#&84]
-        STRB     a4,[a3,#&94]
-        STRB     lr,[a3,#&a4]
-        ADD      a2,a2,#1
-        CMP      a2,#&10
-        BLT      |L000824.J4.get_soi|
-        STR      ip,[a1,#&bc]
-        STR      a4,[a1,#&44]
-        STR      ip,[a1,#&40]
-        STR      a4,[a1,#&48]!
-        STR      ip,[a1,#&70]!
-        LDMIA    sp!,{pc}^
-
-next_marker
-        MOV      a3,#&ff
-        LDR      a2,[a1,#&38]
-|L000860.J5.next_marker|
-        LDR      ip,[a1,#&34]
-        CMP      ip,a2
-        LDRCCB   a4,[ip],#1
-        STRCC    ip,[a1,#&34]
-        MOVCS    a4,a3
-        TEQ      a4,#&ff
-        BNE      |L000860.J5.next_marker|
-|L00087c.J10.next_marker|
-        LDR      ip,[a1,#&34]
-        CMP      ip,a2
-        LDRCCB   a4,[ip],#1
-        STRCC    ip,[a1,#&34]
-        MOVCS    a4,a3
-        TEQ      a4,#&ff
-        BEQ      |L00087c.J10.next_marker|
-        TEQ      a4,#0
-        BEQ      |L000860.J5.next_marker|
-        MOV      a1,a4
-        MOVS     pc,lr
-
-process_tables
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-|L0008b8.J4.process_tables|
-        MOV      a1,v1
-        BL       next_marker
-        MOV      a2,a1
-        CMP      a1,#&ce
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        BGT      |L000950.J39.process_tables|
-        CMP      a1,#&c6
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        BGT      |L000924.J42.process_tables|
-        CMP      a1,#&c2
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        BGT      |L000900.J45.process_tables|
-        TEQ      a1,#1
-        BEQ      |L0008b8.J4.process_tables|
-        TEQ      a1,#&c0
-        TEQNE    a1,#&c1
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        B        |L0009d4.J7.process_tables|
-|L000900.J45.process_tables|
-        TEQ      a1,#&c3
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        TEQ      a1,#&c4
-        MOVEQ    a1,v1
-        BLEQ     get_dht
-        BEQ      |L0008b8.J4.process_tables|
-        TEQ      a1,#&c5
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        B        |L0009d4.J7.process_tables|
-|L000924.J42.process_tables|
-        SUB      a3,a1,#&c7
-        CMP      a3,#6
-        ADDLS    pc,pc,a3,LSL #2
-        B        |L0009d4.J7.process_tables|
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        B        |L0009b0.J25.process_tables|
-        LDMDB    fp,{v1,fp,sp,pc}^
-|L000950.J39.process_tables|
-        SUB      a3,a1,#&cf
-        CMP      a3,#&11
-        ADDLS    pc,pc,a3,LSL #2
-        B        |L0009d4.J7.process_tables|
-        LDMDB    fp,{v1,fp,sp,pc}^
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        B        |L0009bc.J10.process_tables|
-        B        |L0009d4.J7.process_tables|
-        B        |L0009c8.J9.process_tables|
-        B        |L0009d4.J7.process_tables|
-        B        |L0009d4.J7.process_tables|
-        MOV      a1,v1
-        BL       get_app0
-        B        |L0008b8.J4.process_tables|
-|L0009b0.J25.process_tables|
-        MOV      a1,v1
-        BL       get_dac
-        B        |L0008b8.J4.process_tables|
-|L0009bc.J10.process_tables|
-        MOV      a1,v1
-        BL       get_dqt
-        B        |L0008b8.J4.process_tables|
-|L0009c8.J9.process_tables|
-        MOV      a1,v1
-        BL       get_dri
-        B        |L0008b8.J4.process_tables|
-|L0009d4.J7.process_tables|
-        MOV      a1,v1
-        BL       skip_variable
-        B        |L0008b8.J4.process_tables|
-
-read_file_header
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        LDR      a3,[a1,#&34]
-        LDR      a1,[a1,#&38]
-        MOV      a2,#&ff
-        CMP      a3,a1
-        LDRCCB   a1,[a3],#1
-        STRCC    a3,[v1,#&34]
-        MOVCS    a1,a2
-        TEQ      a1,#&ff
-        BNE      |L000a30.J5.read_file_header|
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a1,a3}
-        CMP      a1,a3
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        TEQ      a2,#&d8
-        BEQ      |L000a3c.J4.read_file_header|
-|L000a30.J5.read_file_header|
-        MOV      a1,#&67
-        ADD      a1,a1,#&5000
-        BL       exit
-|L000a3c.J4.read_file_header|
-        MOV      a1,v1
-        BL       get_soi
-        MOV      a1,v1
-        BL       process_tables
-        MOV      v3,#0
-        MOV      v2,#1
-        TEQ      a1,#&c0
-        TEQNE    a1,#&c1
-        BEQ      |L000a7c.J17.read_file_header|
-        TEQ      a1,#&c9
-        BNE      |L000a90.J15.read_file_header|
-        MOV      a2,a1
-        MOV      a1,v1
-        BL       get_sof
-        STR      v2,[v1,#&b4]
-        B        |L000a9c.J14.read_file_header|
-|L000a7c.J17.read_file_header|
-        MOV      a2,a1
-        MOV      a1,v1
-        BL       get_sof
-        STR      v3,[v1,#&b4]
-        B        |L000a9c.J14.read_file_header|
-|L000a90.J15.read_file_header|
-        MOV      a1,#&7b
-        ADD      a1,a1,#&5000
-        BL       exit
-|L000a9c.J14.read_file_header|
-        LDR      a1,[v1,#&4c]
-        TEQ      a1,#1
-        STREQ    v2,[v1,#&1c]!
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        TEQ      a1,#3
-        BEQ      |L000ac8.J25.read_file_header|
-        TEQ      a1,#4
-        STRNE    v3,[v1,#&1c]!
-        LDMNEDB  fp,{v1-v3,fp,sp,pc}^
-        MOV      a1,#5
-        B        |L000b28.J44.read_file_header|
-|L000ac8.J25.read_file_header|
-        LDR      a1,[v1,#&1c]
-        TEQ      a1,#0
-        LDMNEDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a2,[v1,#&50]
-        LDR      a1,[a2,#0]
-        MOV      a4,a1,LSL #16
-        MOV      a4,a4,ASR #16
-        LDR      a1,[a2,#&38]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        LDR      a2,[a2,#&70]
-        MOV      a2,a2,LSL #16
-        MOV      a2,a2,ASR #16
-        MOV      a3,#3
-        CMP      a4,#1
-        BNE      |L000b14.J32.read_file_header|
-        TEQ      a1,#2
-        BEQ      |L000b30.J37.read_file_header|
-        B        |L000b18.J38.read_file_header|
-|L000b14.J32.read_file_header|
-        BNE      |L000b30.J37.read_file_header|
-|L000b18.J38.read_file_header|
-        TEQ      a1,#4
-        TEQEQ    a2,#5
-        BNE      |L000b30.J37.read_file_header|
-        MOV      a1,#4
-|L000b28.J44.read_file_header|
-        STR      a1,[v1,#&1c]!
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-|L000b30.J37.read_file_header|
-        STR      a3,[v1,#&1c]!
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-read_scan_header
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       process_tables
-        TEQ      a1,#&d9
-        BEQ      |L000b74.J4.read_scan_header|
-        TEQ      a1,#&da
-        MOVEQ    a1,v1
-        BLEQ     get_sos
-        MOVEQ    a1,#1
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        MOV      a1,#&be
-        ADD      a1,a1,#&5000
-        BL       exit
-|L000b74.J4.read_scan_header|
-        MOV      a1,#0
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-        ;MPORT  huff_DECODE_buildshortcut
-        IMPORT  exit_c
-fix_huff_tbl
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        SUB      sp,sp,#&308
-        MOV      a2,#0
-        MOV      a3,#1
-|L000b9c.J4.fix_huff_tbl|
-        MOV      a1,#1
-        ADD      lr,v1,a3
-        LDRB     a4,[lr,#0]
-        CMP      a4,#1
-        BLT      |L000bd4.J6.fix_huff_tbl|
-        AND      a4,a3,#&ff
-|L000bb4.J5.fix_huff_tbl|
-        MOV      v3,a2
-        ADD      a2,a2,#1
-        ADD      ip,sp,#&204
-        STRB     a4,[ip,v3]
-        ADD      a1,a1,#1
-        LDRB     v3,[lr,#0]
-        CMP      v3,a1
-        BGE      |L000bb4.J5.fix_huff_tbl|
-|L000bd4.J6.fix_huff_tbl|
-        ADD      a3,a3,#1
-        CMP      a3,#&10
-        BLE      |L000b9c.J4.fix_huff_tbl|
-        MOV      v6,#0
-        ADD      a1,sp,#&204
-        STRB     v6,[a1,a2]
-        MOV      a1,#0
-        LDRB     a3,[sp,#&204]
-        MOV      a2,#0
-        LDRB     a4,[sp,#&204]
-        TEQ      a4,#0
-        BEQ      |L000c68.J11.fix_huff_tbl|
-|L000c04.J10.fix_huff_tbl|
-        ADD      a4,sp,#&204
-        LDRB     a4,[a4,a2]
-        TEQ      a4,a3
-        BNE      |L000c48.J14.fix_huff_tbl|
-|L000c14.J13.fix_huff_tbl|
-        MOV      a4,a2
-        ADD      a2,a2,#1
-        ADD      a4,sp,a4,LSL #1
-        STRB     a1,[a4,#0]
-        MOV      ip,a1,ASR #8
-        STRB     ip,[a4,#1]
-        ADD      a1,a1,#1
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,LSR #16
-        ADD      a4,sp,#&204
-        LDRB     a4,[a4,a2]
-        TEQ      a4,a3
-        BEQ      |L000c14.J13.fix_huff_tbl|
-|L000c48.J14.fix_huff_tbl|
-        MOV      a1,a1,LSL #1
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,LSR #16
-        ADD      a3,a3,#1
-        ADD      a4,sp,#&204
-        LDRB     a4,[a4,a2]
-        TEQ      a4,#0
-        BNE      |L000c04.J10.fix_huff_tbl|
-|L000c68.J11.fix_huff_tbl|
-        MOV      a2,#0
-        MOV      a3,#1
-        MVN      a1,#0
-|L000c74.J18.fix_huff_tbl|
-        ADD      v3,v1,a3
-        LDRB     a4,[v3,#0]
-        TEQ      a4,#0
-        BEQ      |L000cc8.J19.fix_huff_tbl|
-        ADD      lr,v1,a3,LSL #2
-        STR      a2,[lr,#&15c]
-        ADD      a4,lr,#&15c
-        LDR      v4,[sp,a2,LSL #1]
-        MOV      v4,v4,LSL #16
-        MOV      v4,v4,LSR #16
-        LDR      ip,[a4,#0]
-        SUB      v4,ip,v4
-        STR      v4,[a4,#0]
-        LDRB     a4,[v3,#0]
-        ADD      a2,a4,a2
-        ADD      a4,sp,a2,LSL #1
-        LDR      a4,[a4,#-2]
-        MOV      a4,a4,LSL #16
-        MOV      a4,a4,LSR #16
-        STR      a4,[lr,#&114]!
-        B        |L000cd0.J21.fix_huff_tbl|
-|L000cc8.J19.fix_huff_tbl|
-        ADD      a4,v1,a3,LSL #2
-        STR      a1,[a4,#&114]!
-|L000cd0.J21.fix_huff_tbl|
-        ADD      a3,a3,#1
-        CMP      a3,#&10
-        BLE      |L000c74.J18.fix_huff_tbl|
-        MVN      a2,#&ff00000
-        ADD      a2,a2,#&10000000
-        MOV      v3,#0
-        MOV      v5,#&20
-        STR      a2,[v1,#&158]
-|L000cf0.J23.fix_huff_tbl|
-        MOV      a1,v3,LSL #24
-        MOV      a2,v1
-        ADD      v2,v2,#&104
-        STMIA    v2,{a1,v5}
-        SUB      v2,v2,#&104
-        MOV      a1,v2
-        BL       huff_DECODE_buildshortcut
-        MOV      v4,a1
-        LDR      a1,[v2,#&108]
-        CMP      a1,#&18
-        MVNLT    a1,#0
-        BLT      |L000d3c.J39.fix_huff_tbl|
-        CMP      v4,#0
-        MOVLT    a2,#4
-        MOVLT    a1,#&69
-        BLLT     exit_c
-        LDR      a1,[v2,#&108]
-        SUB      a1,v5,a1
-        ORR      a1,v4,a1,LSL #24
-|L000d3c.J39.fix_huff_tbl|
-        ADD      a2,v1,v3,LSL #2
-        ADD      v3,v3,#1
-        CMP      v3,#&100
-        STR      a1,[a2,#&1a0]!
-        BLT      |L000cf0.J23.fix_huff_tbl|
-        STR      v6,[v2,#&108]
-        STR      v6,[v2,#&104]!
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-get_bits
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        LDR      a1,[a1,#&108]
-        CMP      a2,a1
-        BLE      |L000df0.J5.get_bits|
-        MOV      v3,#&ff
-|L000d80.J4.get_bits|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a1,v3
-        BCS      |L000da0.J7.get_bits|
-        LDRB     a3,[a1],#1
-        STR      a1,[v1,#&34]
-        MOV      a1,a3
-|L000da0.J7.get_bits|
-        LDR      a3,[v1,#&104]
-        ORR      a3,a1,a3,LSL #8
-        STR      a3,[v1,#&104]
-        LDR      a3,[v1,#&108]
-        ADD      a3,a3,#8
-        TEQ      a1,#&ff
-        STR      a3,[v1,#&108]
-        BNE      |L000de4.J10.get_bits|
-        LDR      a1,[v1,#&34]
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,v3
-        TEQ      a2,#0
-        MOVNE    a1,#&394
-        ADDNE    a1,a1,#&2400
-        BLNE     exit
-|L000de4.J10.get_bits|
-        LDR      a1,[v1,#&108]
-        CMP      v2,a1
-        BGT      |L000d80.J4.get_bits|
-|L000df0.J5.get_bits|
-        LDR      a1,[v1,#&108]
-        SUB      a1,a1,v2
-        STR      a1,[v1,#&108]
-        LDR      a2,[v1,#&104]!
-        MOV      a1,a2,ASR a1
-        MOV      a2,#1
-        MOV      a2,a2,LSL v2
-        SUB      a2,a2,#1
-        AND      a1,a1,a2
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-huff_DECODE_buildshortcut
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        LDR      a2,[a1,#&108]
-        TEQ      a2,#0
-        BEQ      |L000e50.J5.huff_DECODE_buildshortcut|
-        SUB      a2,a2,#1
-        STR      a2,[v1,#&108]
-        LDR      a1,[v1,#&104]
-        MOV      a1,a1,ASR a2
-        AND      a1,a1,#1
-        B        |L000e58.J4.huff_DECODE_buildshortcut|
-|L000e50.J5.huff_DECODE_buildshortcut|
-        MOV      a2,#1
-        BL       get_bits
-|L000e58.J4.huff_DECODE_buildshortcut|
-        MOV      v4,a1
-        MOV      v3,#1
-        B        |L000e9c.J8.huff_DECODE_buildshortcut|
-|L000e64.J7.huff_DECODE_buildshortcut|
-        LDR      a1,[v1,#&108]
-        TEQ      a1,#0
-        BEQ      |L000e88.J10.huff_DECODE_buildshortcut|
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&108]
-        LDR      a2,[v1,#&104]
-        MOV      a1,a2,ASR a1
-        AND      a1,a1,#1
-        B        |L000e94.J9.huff_DECODE_buildshortcut|
-|L000e88.J10.huff_DECODE_buildshortcut|
-        MOV      a1,v1
-        MOV      a2,#1
-        BL       get_bits
-|L000e94.J9.huff_DECODE_buildshortcut|
-        ADD      v4,a1,v4,LSL #1
-        ADD      v3,v3,#1
-|L000e9c.J8.huff_DECODE_buildshortcut|
-        ADD      a1,v2,v3,LSL #2
-        LDR      a1,[a1,#&114]
-        CMP      a1,v4
-        BGE      |L000eb4.J12.huff_DECODE_buildshortcut|
-        CMP      v3,#8
-        BLE      |L000e64.J7.huff_DECODE_buildshortcut|
-|L000eb4.J12.huff_DECODE_buildshortcut|
-        CMP      v3,#8
-        MVNGT    a1,#0
-        LDMGTDB  fp,{v1-v4,fp,sp,pc}^
-        ADD      a1,v2,v3,LSL #2
-        LDR      a1,[a1,#&15c]
-        ADD      a1,a1,v4
-        ADD      a1,v2,a1
-        LDRB     a1,[a1,#&11]
-        LDMDB    fp,{v1-v4,fp,sp,pc}^
-
-huff_decoder_init
-        MOV      a2,#0
-        STR      a2,[a1,#&108]!
-        MOVS     pc,lr
-
-mono_convert_block
-        STMDB    sp!,{v1,lr}
-        MOV      ip,#0
-|L000eec.J4.mono_convert_block|
-        MOV      a4,#0
-|L000ef0.J5.mono_convert_block|
-        ADD      lr,ip,a4,LSL #3
-        LDR      lr,[a1,lr,LSL #2]
-        ADD      lr,lr,#&40000
-        MOV      lr,lr,ASR #19
-        ADDS     lr,lr,#&80
-        MOVMI    lr,#0
-        BMI      |L000f14.J8.mono_convert_block|
-        CMP      lr,#&ff
-        MOVGT    lr,#&ff
-|L000f14.J8.mono_convert_block|
-        ORR      v1,lr,lr,LSL #8
-        ORR      lr,v1,lr,LSL #16
-        STR      lr,[a2,a4,LSL #2]
-        ADD      a4,a4,#1
-        CMP      a4,#8
-        BLT      |L000ef0.J5.mono_convert_block|
-        ADD      a2,a2,a3,LSL #2
-        ADD      ip,ip,#1
-        CMP      ip,#8
-        BLT      |L000eec.J4.mono_convert_block|
-        LDMIA    sp!,{v1,pc}^
-
-mono_convert_pixel
-        ADDS     a1,a2,#&80
-        MOVMI    a1,#0
-        BMI      |L000f54.J6.mono_convert_pixel|
-        CMP      a1,#&ff
-        MOVGT    a1,#&ff
-|L000f54.J6.mono_convert_pixel|
-        ORR      a2,a1,a1,LSL #8
-        ORR      a1,a2,a1,LSL #16
-        MOVS     pc,lr
-
-colour_convert_block
-        MOV      ip,sp
-        STMDB    sp!,{a1-a3,v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        SUB      sp,sp,#&14
-        MOV      v5,a1
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#&10]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#&c]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#8]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#4]
-        ADD      a1,a1,#&100
-        MOV      a3,#0
-        STR      a1,[sp,#0]
-|L000fa0.J4.colour_convert_block|
-        MOV      a1,#0
-        AND      v3,a3,#7
-        MOV      v2,a3,ASR #1
-|L000fac.J5.colour_convert_block|
-        AND      a4,a1,#7
-        ADD      ip,v3,a4,LSL #3
-        CMP      a3,#8
-        BGE      |L000fcc.J7.colour_convert_block|
-        CMP      a1,#8
-        LDRGE    a4,[sp,#&10]
-        MOVLT    a4,v5
-        B        |L000fd8.J6.colour_convert_block|
-|L000fcc.J7.colour_convert_block|
-        CMP      a1,#8
-        LDRGE    a4,[sp,#8]
-        LDRLT    a4,[sp,#&c]
-|L000fd8.J6.colour_convert_block|
-        LDR      a4,[a4,ip,LSL #2]
-        MOV      ip,a1,ASR #1
-        ADD      ip,v2,ip,LSL #3
-        LDR      lr,[sp,#4]
-        LDR      lr,[lr,ip,LSL #2]
-        LDR      v1,[sp,#0]
-        LDR      ip,[v1,ip,LSL #2]
-        ADD      a4,a4,#&40000
-        MOV      a4,a4,ASR #19
-        ADD      a4,a4,#&80
-        ADD      lr,lr,#&40000
-        MOV      lr,lr,ASR #19
-        ADD      ip,ip,#&40000
-        MOV      v1,ip,ASR #19
-        ADD      v4,v1,v1,LSL #5
-        RSB      v4,v4,v4,LSL #3
-        ADD      v4,v4,v1,LSL #7
-        ADD      ip,lr,lr,LSL #1
-        ADD      ip,ip,lr,LSL #3
-        MOV      ip,ip,LSL #3
-        RSB      v6,ip,#0
-        ADD      ip,v1,v1,LSL #1
-        RSB      ip,ip,v1,LSL #6
-        ADD      ip,ip,ip,LSL #1
-        SUB      v1,v6,ip
-        ADD      ip,lr,lr,LSL #5
-        RSB      ip,ip,lr,LSL #8
-        ADD      ip,ip,lr,LSL #2
-        MOV      ip,ip,LSL #1
-        ADD      lr,v4,#&80
-        ADDS     lr,a4,lr,ASR #8
-        MOVMI    lr,#0
-        BMI      |L001064.J15.colour_convert_block|
-        CMP      lr,#&ff
-        MOVGT    lr,#&ff
-|L001064.J15.colour_convert_block|
-        ADD      v1,v1,#&80
-        ADDS     v1,a4,v1,ASR #8
-        MOVMI    v1,#0
-        BMI      |L00107c.J19.colour_convert_block|
-        CMP      v1,#&ff
-        MOVGT    v1,#&ff
-|L00107c.J19.colour_convert_block|
-        ADD      ip,ip,#&80
-        ADDS     a4,a4,ip,ASR #8
-        MOVMI    a4,#0
-        BMI      |L001094.J23.colour_convert_block|
-        CMP      a4,#&ff
-        MOVGT    a4,#&ff
-|L001094.J23.colour_convert_block|
-        ORR      ip,lr,v1,LSL #8
-        ORR      a4,ip,a4,LSL #16
-        STR      a4,[a2,a1,LSL #2]
-        ADD      a1,a1,#1
-        CMP      a1,#&10
-        BLT      |L000fac.J5.colour_convert_block|
-        LDR      a1,[fp,#-&28]
-        ADD      a2,a2,a1,LSL #2
-        ADD      a3,a3,#1
-        CMP      a3,#&10
-        BLT      |L000fa0.J4.colour_convert_block|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-colour_convert_unusual_block
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        SUB      sp,sp,#&20
-        LDR      v3,[fp,#&14]
-        STR      a1,[sp,#&14]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#&10]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#&c]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#8]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#4]
-        ADD      a1,a1,#&100
-        MOV      a3,#0
-        CMP      a3,v3,LSL #3
-        STR      a1,[sp,#0]
-        BGE      |L001254.J35.colour_convert_unusual_block|
-        SUB      a1,a4,#1
-        STR      a1,[sp,#&1c]
-|L00111c.J4.colour_convert_unusual_block|
-        MOV      a1,#0
-        CMP      a1,a4,LSL #3
-        BGE      |L001240.J8.colour_convert_unusual_block|
-        AND      v4,a3,#7
-        SUB      lr,v3,#1
-        MOV      ip,a3,ASR lr
-        STR      ip,[sp,#&18]
-|L001138.J7.colour_convert_unusual_block|
-        AND      ip,a1,#7
-        ADD      lr,v4,ip,LSL #3
-        CMP      a3,#8
-        BGE      |L001158.J11.colour_convert_unusual_block|
-        CMP      a1,#8
-        LDRGE    ip,[sp,#&10]
-        LDRLT    ip,[sp,#&14]
-        B        |L001164.J10.colour_convert_unusual_block|
-|L001158.J11.colour_convert_unusual_block|
-        CMP      a1,#8
-        LDRGE    ip,[sp,#8]
-        LDRLT    ip,[sp,#&c]
-|L001164.J10.colour_convert_unusual_block|
-        LDR      lr,[ip,lr,LSL #2]
-        LDR      v1,[sp,#&1c]
-        MOV      v1,a1,ASR v1
-        LDR      ip,[sp,#&18]
-        ADD      ip,ip,v1,LSL #3
-        LDR      v1,[sp,#4]
-        LDR      v1,[v1,ip,LSL #2]
-        LDR      v2,[sp,#0]
-        LDR      ip,[v2,ip,LSL #2]
-        ADD      lr,lr,#&40000
-        MOV      lr,lr,ASR #19
-        ADD      lr,lr,#&80
-        ADD      v1,v1,#&40000
-        MOV      v1,v1,ASR #19
-        ADD      ip,ip,#&40000
-        MOV      v2,ip,ASR #19
-        ADD      v5,v2,v2,LSL #5
-        RSB      v5,v5,v5,LSL #3
-        ADD      v5,v5,v2,LSL #7
-        ADD      ip,v1,v1,LSL #1
-        ADD      ip,ip,v1,LSL #3
-        MOV      ip,ip,LSL #3
-        RSB      v6,ip,#0
-        ADD      ip,v2,v2,LSL #1
-        RSB      ip,ip,v2,LSL #6
-        ADD      ip,ip,ip,LSL #1
-        SUB      v2,v6,ip
-        ADD      ip,v1,v1,LSL #5
-        RSB      ip,ip,v1,LSL #8
-        ADD      ip,ip,v1,LSL #2
-        MOV      ip,ip,LSL #1
-        ADD      v1,v5,#&80
-        ADDS     v1,lr,v1,ASR #8
-        MOVMI    v1,#0
-        BMI      |L0011f8.J19.colour_convert_unusual_block|
-        CMP      v1,#&ff
-        MOVGT    v1,#&ff
-|L0011f8.J19.colour_convert_unusual_block|
-        ADD      v2,v2,#&80
-        ADDS     v2,lr,v2,ASR #8
-        MOVMI    v2,#0
-        BMI      |L001210.J23.colour_convert_unusual_block|
-        CMP      v2,#&ff
-        MOVGT    v2,#&ff
-|L001210.J23.colour_convert_unusual_block|
-        ADD      ip,ip,#&80
-        ADDS     ip,lr,ip,ASR #8
-        MOVMI    ip,#0
-        BMI      |L001228.J27.colour_convert_unusual_block|
-        CMP      ip,#&ff
-        MOVGT    ip,#&ff
-|L001228.J27.colour_convert_unusual_block|
-        ORR      lr,v1,v2,LSL #8
-        ORR      ip,lr,ip,LSL #16
-        STR      ip,[a2,a1,LSL #2]
-        ADD      a1,a1,#1
-        CMP      a1,a4,LSL #3
-        BLT      |L001138.J7.colour_convert_unusual_block|
-|L001240.J8.colour_convert_unusual_block|
-        LDR      a1,[fp,#&c]
-        ADD      a2,a2,a1,LSL #2
-        ADD      a3,a3,#1
-        CMP      a3,v3,LSL #3
-        BLT      |L00111c.J4.colour_convert_unusual_block|
-|L001254.J35.colour_convert_unusual_block|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-colour_convert_pixels
-        STMDB    sp!,{v1-v3,lr}
-        ADD      a2,a2,#4
-        MOV      a2,a2,ASR #3
-        ADD      a3,a3,#4
-        MOV      a3,a3,ASR #3
-        ADD      a4,a3,a3,LSL #5
-        RSB      a4,a4,a4,LSL #3
-        ADD      a4,a4,a3,LSL #7
-        ADD      ip,a2,a2,LSL #1
-        ADD      ip,ip,a2,LSL #3
-        MOV      ip,ip,LSL #3
-        RSB      lr,ip,#0
-        ADD      ip,a3,a3,LSL #1
-        RSB      a3,ip,a3,LSL #6
-        ADD      a3,a3,a3,LSL #1
-        SUB      a3,lr,a3
-        ADD      ip,a2,a2,LSL #5
-        RSB      ip,ip,a2,LSL #8
-        ADD      a2,ip,a2,LSL #2
-        MOV      a2,a2,LSL #1
-        ADD      a4,a4,#&80
-        MOV      v2,a4,ASR #8
-        ADD      a3,a3,#&80
-        MOV      v1,a3,ASR #8
-        ADD      a2,a2,#&80
-        MOV      lr,a2,ASR #8
-        MOV      a4,#0
-        MOV      v3,#&80
-|L0012c8.J4.colour_convert_pixels|
-        LDR      a2,[a1,a4,LSL #2]
-        ADD      a2,a2,#4
-        ADD      ip,v3,a2,ASR #3
-        ADDS     a3,v2,ip
-        MOVMI    a3,#0
-        BMI      |L0012e8.J7.colour_convert_pixels|
-        CMP      a3,#&ff
-        MOVGT    a3,#&ff
-|L0012e8.J7.colour_convert_pixels|
-        ADDS     a2,v1,ip
-        MOVMI    a2,#0
-        BMI      |L0012fc.J11.colour_convert_pixels|
-        CMP      a2,#&ff
-        MOVGT    a2,#&ff
-|L0012fc.J11.colour_convert_pixels|
-        ADDS     ip,lr,ip
-        MOVMI    ip,#0
-        BMI      |L001310.J15.colour_convert_pixels|
-        CMP      ip,#&ff
-        MOVGT    ip,#&ff
-|L001310.J15.colour_convert_pixels|
-        ORR      a2,a3,a2,LSL #8
-        ORR      a2,a2,ip,LSL #16
-        STR      a2,[a1,a4,LSL #2]
-        ADD      a4,a4,#1
-        CMP      a4,#4
-        BLT      |L0012c8.J4.colour_convert_pixels|
-        LDMIA    sp!,{v1-v3,pc}^
-
-        EXPORT  assembler_panic
-assembler_panic
-        MOVS     pc,lr
-
-init_workspace
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      a3,a2
-        MOV      a2,#0
-        LDR      v2,[a1,#&20]
-        LDR      v3,[a1,#&10]
-        BL       memset
-        STR      v2,[v1,#&20]
-        STR      v3,[v1,#&10]
-        ADD      a1,v1,#&1c
-        ADD      a1,a1,#&800
-        STR      a1,[v1,#&50]
-        MOV      a1,#0
-|L00136c.J4.init_workspace|
-        ADD      a2,v1,a1,LSL #8
-        ADD      a2,a2,#&fc
-        ADD      a2,a2,#&800
-        ADD      a3,v1,a1,LSL #2
-        ADD      a1,a1,#1
-        CMP      a1,#4
-        STR      a2,[a3,#&54]!
-        BLT      |L00136c.J4.init_workspace|
-        MOV      a1,#0
-|L001390.J6.init_workspace|
-        RSB      a2,a1,a1,LSL #4
-        ADD      a2,a2,a2,LSL #1
-        ADD      a3,v1,a2,LSL #5
-        SUB      a4,a3,#&304
-        ADD      a4,a4,#&1000
-        ADD      a2,v1,a1,LSL #2
-        ADD      a3,a3,#&37c
-        ADD      a3,a3,#&2000
-        ADD      a1,a1,#1
-        CMP      a1,#4
-        STR      a4,[a2,#&64]!
-        STR      a3,[a2,#&10]
-        BLT      |L001390.J6.init_workspace|
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-save_huff_stream
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        LDR      a1,[a1,#&108]
-        CMP      a1,#&20
-        MOVGE    a2,#2
-        MOVGE    a1,#&d8
-        BLGE     exit_c
-        LDR      a1,[v1,#&108]
-        CMP      a1,#0
-        MOVLT    a2,#2
-        MOVLT    a1,#&d9
-        BLLT     exit_c
-        LDR      a1,[v1,#&34]
-        LDR      a2,[v1,#&30]
-        CMP      a2,a1
-        MOVCS    a2,#2
-        MOVCS    a1,#&da
-        BLCS     exit_c
-        LDR      a1,[v1,#&38]
-        LDR      a2,[v1,#&34]
-        CMP      a2,a1
-        MOVCS    a2,#2
-        MOVCS    a1,#&db
-        BLCS     exit_c
-        ADD      a2,v1,#&30
-        LDMIA    a2,{a1,a2}
-        SUB      a1,a2,a1
-        LDR      a2,[v1,#&108]
-        ADD      a1,a2,a1,LSL #5
-        STR      a1,[v2,#0]
-        LDR      a1,[v1,#&104]
-        STR      a1,[v2,#4]
-        LDR      a1,[v1,#&e4]
-        STRB     a1,[v2,#8]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#9]
-        LDR      a1,[v1,#&e8]
-        STRB     a1,[v2,#&a]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#&b]
-        LDR      a1,[v1,#&ec]
-        STRB     a1,[v2,#&c]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#&d]
-        LDR      a1,[v1,#&c0]
-        STRB     a1,[v2,#&10]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#&11]
-        LDR      a1,[v1,#&c4]!
-        STRB     a1,[v2,#&12]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#&13]
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-restore_huff_stream
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        LDR      a1,[a2,#4]
-        STR      a1,[v1,#&104]
-        LDR      a1,[a2,#0]
-        CMP      a1,#0
-        ADDLT    a1,a1,#&1f
-        LDR      a3,[v1,#&30]
-        ADD      a1,a3,a1,ASR #5
-        STR      a1,[v1,#&34]
-        LDR      a1,[a2,#0]
-        AND      a1,a1,#&1f
-        STR      a1,[v1,#&108]
-        LDR      a1,[a2,#8]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&e4]
-        LDR      a1,[a2,#&a]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&e8]
-        LDR      a1,[a2,#&c]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&ec]
-        LDR      a1,[a2,#&10]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&c0]
-        LDR      a1,[a2,#&12]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&c4]
-        ADD      a2,v1,#&30
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a2,#4
-        MOVCS    a1,#&fa
-        BLCS     exit_c
-        ADD      v1,v1,#&30
-        LDMIB    v1!,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a2,#4
-        MOVCS    a1,#&fb
-        LDMCSDB  fp,{v1,fp,sp,lr}
-        BCS      exit_c
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-process_restart
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        LDR      a1,[a1,#&34]
-        LDRB     v2,[a1],#1
-        STR      a1,[v1,#&34]
-        LDR      a1,[v1,#&108]
-        CMP      a1,#7
-        MOVGT    a2,#2
-        MOVGT    a1,#&12
-        ADDGT    a1,a1,#&100
-        BLGT     exit_c
-        TEQ      v2,#&ff
-        MOVNE    a2,#2
-        MOVNE    a1,#&13
-        ADDNE    a1,a1,#&100
-        BLNE     exit_c
-        LDR      a1,[v1,#&34]
-        LDRB     a1,[a1,#0]
-        TEQ      a1,#&ff
-        BNE      |L0015dc.J9.process_restart|
-|L0015c4.J8.process_restart|
-        LDR      a1,[v1,#&34]
-        ADD      a1,a1,#1
-        STR      a1,[v1,#&34]
-        LDRB     a1,[a1,#0]
-        TEQ      a1,#&ff
-        BEQ      |L0015c4.J8.process_restart|
-|L0015dc.J9.process_restart|
-        LDR      a1,[v1,#&34]
-        LDRB     v2,[a1],#1
-        STR      a1,[v1,#&34]
-        AND      a1,v2,#&f8
-        TEQ      a1,#&d0
-        MOVNE    a2,#2
-        MOVNE    a1,#&16
-        ADDNE    a1,a1,#&100
-        BLNE     exit_c
-        AND      a2,v2,#7
-        LDR      a1,[v1,#&c4]
-        TEQ      a2,a1
-        MOVNE    a2,#2
-        MOVNE    a1,#&17
-        ADDNE    a1,a1,#&100
-        BLNE     exit_c
-        MOV      a2,#0
-        STR      a2,[v1,#&108]
-        STR      a2,[v1,#&104]
-        LDR      a1,[v1,#&bc]
-        STR      a1,[v1,#&c0]
-        LDR      a1,[v1,#&c4]
-        ADD      a1,a1,#1
-        AND      a1,a1,#7
-        STR      a1,[v1,#&c4]
-        MOV      a1,#0
-        LDR      a3,[v1,#&c8]
-        CMP      a3,#0
-        LDMLEDB  fp,{v1,v2,fp,sp,pc}^
-|L001650.J16.process_restart|
-        ADD      a3,v1,a1,LSL #2
-        ADD      a1,a1,#1
-        STR      a2,[a3,#&e4]!
-        LDR      a3,[v1,#&c8]
-        CMP      a1,a3
-        BLT      |L001650.J16.process_restart|
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-        IMPORT  asm_huff_skip_blocks
-do_huff_skip_blocks
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        MOV      v1,a1
-        MOV      v2,a2
-        MOV      v3,a3
-        LDR      v4,[fp,#&1c]
-        LDR      v5,[fp,#&18]
-        LDR      v6,[fp,#&14]
-        LDR      a2,[a1,#&bc]
-        TEQ      a2,#0
-        BEQ      |L001710.J4.do_huff_skip_blocks|
-        CMP      v4,#0
-        LDMLEDB  fp,{v1-v6,fp,sp,pc}^
-        B        |L0016b4.J10.do_huff_skip_blocks|
-|L0016ac.J6.do_huff_skip_blocks|
-        TEQ      a1,#0
-        BEQ      |L0016d0.J9.do_huff_skip_blocks|
-|L0016b4.J10.do_huff_skip_blocks|
-        LDR      a1,[v1,#&c0]
-        TEQ      a1,#0
-        MOVEQ    a1,v1
-        BLEQ     process_restart
-        LDR      a1,[v1,#&c0]
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&c0]
-|L0016d0.J9.do_huff_skip_blocks|
-        MOV      a4,#1
-        MOV      a3,v5
-        MOV      a2,v6
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v3
-        MOV      a2,v2
-        MOV      a1,v1
-        LDR      a4,[fp,#&10]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        SUB      v4,v4,#1
-        ADD      v2,v2,#&100
-        CMP      v4,#0
-        LDR      a1,[fp,#&20]
-        BGT      |L0016ac.J6.do_huff_skip_blocks|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L001710.J4.do_huff_skip_blocks|
-        MOV      a4,v4
-        MOV      a3,v5
-        MOV      a2,v6
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v3
-        MOV      a2,v2
-        LDR      a4,[fp,#&10]
-        BL       asm_huff_skip_blocks
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-        IMPORT  asm_huff_decode_blocks
-do_huff_decode_blocks
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        MOV      v1,a1
-        MOV      v2,a2
-        MOV      v3,a3
-        LDR      v4,[fp,#&1c]
-        LDR      v5,[fp,#&18]
-        LDR      v6,[fp,#&14]
-        LDR      a2,[a1,#&bc]
-        TEQ      a2,#0
-        BEQ      |L0017d8.J4.do_huff_decode_blocks|
-        CMP      v4,#0
-        LDMLEDB  fp,{v1-v6,fp,sp,pc}^
-        B        |L00177c.J10.do_huff_decode_blocks|
-|L001774.J6.do_huff_decode_blocks|
-        TEQ      a1,#0
-        BEQ      |L001798.J9.do_huff_decode_blocks|
-|L00177c.J10.do_huff_decode_blocks|
-        LDR      a1,[v1,#&c0]
-        TEQ      a1,#0
-        MOVEQ    a1,v1
-        BLEQ     process_restart
-        LDR      a1,[v1,#&c0]
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&c0]
-|L001798.J9.do_huff_decode_blocks|
-        MOV      a4,#1
-        MOV      a3,v5
-        MOV      a2,v6
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v3
-        MOV      a2,v2
-        MOV      a1,v1
-        LDR      a4,[fp,#&10]
-        BL       asm_huff_decode_blocks
-        ADD      sp,sp,#&c
-        SUB      v4,v4,#1
-        ADD      v2,v2,#&100
-        CMP      v4,#0
-        LDR      a1,[fp,#&20]
-        BGT      |L001774.J6.do_huff_decode_blocks|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L0017d8.J4.do_huff_decode_blocks|
-        MOV      a4,v4
-        MOV      a3,v5
-        MOV      a2,v6
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v3
-        MOV      a2,v2
-        LDR      a4,[fp,#&10]
-        BL       asm_huff_decode_blocks
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-        ;MPORT  jpeg_scan_file
-do_jpeg_scan_file
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      lr,a3
-        MOV      ip,a4
-        MOV      v1,a1
-        STR      a2,[a1,#&10]
-        MVN      a1,#0
-        MOV      a4,#0
-        MVN      a3,#0
-        MVN      a2,#0
-        STR      a1,[v1,#0]
-        MVN      a1,#&80000000
-        STMDB    sp!,{a1-a4}
-        MOV      a3,ip
-        MOV      a2,lr
-        MOV      a1,v1
-        BL       jpeg_scan_file
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-do_jpeg_scan_file_16
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      lr,a3
-        MOV      ip,a4
-        MOV      v1,a1
-        STR      a2,[a1,#&10]
-        MVN      a1,#0
-        MOV      a4,#&10
-        MVN      a3,#0
-        MVN      a2,#0
-        STR      a1,[v1,#0]
-        MVN      a1,#&80000000
-        STMDB    sp!,{a1-a4}
-        MOV      a3,ip
-        MOV      a2,lr
-        MOV      a1,v1
-        MOV      a4,#0
-        BL       jpeg_scan_file
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-        IMPORT  |__rt_sdiv|
-jpeg_scan_file
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        MOV      v1,a1
-        MOV      v5,a2
-        MOV      v4,a3
-        MOV      v3,a4
-        SUB      sp,sp,#&20
-        LDR      v2,[fp,#&20]
-        TST      v2,#2
-        LDR      v6,[fp,#&14]
-        BICNE    v2,v2,#&38
-        CMP      v3,#0
-        MOVLT    v3,#0
-        TST      v2,#&28
-        BEQ      |L0018ec.J8.jpeg_scan_file|
-        SUBS     v3,v3,#&10
-        MOVMI    v3,#0
-        BIC      v3,v3,#&f
-        ADD      v6,v6,#&10
-|L0018ec.J8.jpeg_scan_file|
-        LDR      a2,[v1,#0]
-        CMP      a2,#0
-        BNE      |L0019fc.J12.jpeg_scan_file|
-        LDR      a2,[v1,#&30]
-        TEQ      a2,v5
-        BNE      |L001a04.J42.jpeg_scan_file|
-        LDR      a3,[v1,#&38]
-        SUB      a2,a3,a2
-        TEQ      a2,v4
-        BNE      |L001a04.J42.jpeg_scan_file|
-        LDR      a2,[fp,#&18]
-        CMN      a2,#1
-        LDRNE    a2,[v1,#&14]
-        LDRNE    a3,[fp,#&18]
-        TEQNE    a2,a3
-        BNE      |L001a04.J42.jpeg_scan_file|
-        LDR      a2,[fp,#&1c]
-        CMN      a2,#1
-        LDRNE    a2,[v1,#&18]
-        LDRNE    a3,[fp,#&1c]
-        TEQNE    a2,a3
-        BNE      |L001a04.J42.jpeg_scan_file|
-        MOVS     a2,v4
-        ADDMI    a2,a2,#7
-        MOV      a2,a2,ASR #3
-        LDR      a2,[v5,a2,LSL #2]
-        LDR      a3,[v1,#&10c]
-        TEQ      a2,a3
-        BNE      |L001a04.J42.jpeg_scan_file|
-        MOV      a3,v4
-        CMP      v4,#0
-        ADDLT    a3,a3,#3
-        MOV      a3,a3,ASR #2
-        MOV      a2,v4
-        ADDLT    a2,a2,#&f
-        SUB      a2,a3,a2,ASR #4
-        LDR      a3,[v5,a2,LSL #2]
-        LDR      a2,[v1,#&110]
-        TEQ      a3,a2
-        BNE      |L001a04.J42.jpeg_scan_file|
-        MOV      a2,v4
-        CMP      v4,#0
-        ADDLT    a2,a2,#3
-        MOV      a2,a2,ASR #2
-        MOV      a3,v4
-        ADDLT    a3,a3,#&1f
-        SUB      a2,a2,a3,ASR #5
-        LDR      a3,[v5,a2,LSL #2]
-        LDR      a2,[v1,#&114]
-        TEQ      a3,a2
-        LDREQ    a2,[v1,#&100]
-        TEQEQ    a2,v2
-        BNE      |L001a04.J42.jpeg_scan_file|
-        LDR      a1,[v1,#&14]
-        CMP      v6,a1
-        MOVGT    v6,a1
-        LDR      a1,[v1,#&f8]
-        CMP      v3,a1
-        BLT      |L0019e4.J39.jpeg_scan_file|
-        LDR      a1,[v1,#&fc]
-        CMP      v6,a1
-        BLE      |L0019ec.J38.jpeg_scan_file|
-|L0019e4.J39.jpeg_scan_file|
-        MVN      a1,#0
-        STR      a1,[v1,#&f4]
-|L0019ec.J38.jpeg_scan_file|
-        MOV      a1,#0
-        ADD      v1,v1,#&f4
-        STMIB    v1!,{v3,v6}
-        B        |L002040.J135.jpeg_scan_file|
-|L0019fc.J12.jpeg_scan_file|
-        MOVLT    a2,#0
-        STRLT    a2,[v1,#&20]
-|L001a04.J42.jpeg_scan_file|
-        LDR      a2,[v1,#&10]
-        BL       init_workspace
-        LDR      a1,[v1,#&10]
-        TEQ      a1,#0
-        STREQ    a1,[v1,#&28]
-        LDREQ    a1,[pc, #L001b48-.-8]
-        BEQ      |L001a3c.J134.jpeg_scan_file|
-        ADD      a2,v1,#&1fc
-        ADD      a2,a2,#&3800
-        ADD      a1,a1,#&204
-        SUB      a1,a1,#&3c00
-        MOV      a1,a1,LSR #2
-        BIC      a1,a1,#&f
-        STR      a2,[v1,#&28]
-|L001a3c.J134.jpeg_scan_file|
-        STR      a1,[v1,#&2c]
-        MOV      a1,v4
-        CMP      v4,#0
-        ADDLT    a1,a1,#7
-        MOV      a1,a1,ASR #3
-        LDR      a1,[v5,a1,LSL #2]
-        MOV      a2,v4
-        STR      a1,[v1,#&10c]
-        ADDLT    a2,a2,#3
-        MOV      a2,a2,ASR #2
-        MOV      a1,v4
-        ADDLT    a1,a1,#&f
-        SUB      a1,a2,a1,ASR #4
-        LDR      a1,[v5,a1,LSL #2]
-        MOV      a2,v4
-        STR      a1,[v1,#&110]
-        ADDLT    a2,a2,#3
-        MOV      a2,a2,ASR #2
-        MOV      a1,v4
-        ADDLT    a1,a1,#&1f
-        SUB      a1,a2,a1,ASR #5
-        LDR      a1,[v5,a1,LSL #2]
-        STR      a1,[v1,#&114]
-        STR      v5,[v1,#&30]
-        STR      v5,[v1,#&34]
-        ADD      a1,v5,v4
-        STR      a1,[v1,#&38]
-        MOV      a1,v1
-        BL       read_file_header
-        MOV      a1,v1
-        BL       read_scan_header
-        MOV      v4,#0
-|L001abc.J57.jpeg_scan_file|
-        ADD      v5,v1,v4,LSL #2
-        MOV      a1,v1
-        LDR      a2,[v5,#&64]
-        BL       fix_huff_tbl
-        MOV      a1,v1
-        LDR      a2,[v5,#&74]!
-        BL       fix_huff_tbl
-        ADD      v4,v4,#1
-        CMP      v4,#4
-        BLT      |L001abc.J57.jpeg_scan_file|
-        MOV      a1,v1
-        BL       huff_decoder_init
-        MVN      a1,#0
-        STR      a1,[v1,#&f4]
-        LDR      a1,[v1,#&bc]
-        STR      a1,[v1,#&c0]
-        MOV      a1,#0
-        STR      a1,[v1,#&c4]
-        LDR      v4,[v1,#&14]
-        CMP      v6,v4
-        MOVGT    v6,v4
-        CMP      v3,v6
-        MOVGT    v3,v6
-        STR      v2,[v1,#&100]
-        ADD      v1,v1,#&f8
-        STMIA    v1,{v3,v6}
-        SUB      v1,v1,#&f8
-        LDR      a1,[v1,#&3c]
-        TEQ      a1,#8
-        BEQ      |L001b4c.J63.jpeg_scan_file|
-        MOV      a2,#1
-        STR      a1,[v1,#4]
-        STR      a2,[v1,#0]
-        MOV      a1,#1
-        B        |L002040.J135.jpeg_scan_file|
-L001b48
-        DCD     &05f5e100
-|L001b4c.J63.jpeg_scan_file|
-        LDR      a1,[v1,#&c8]
-        LDR      v3,[v1,#&4c]
-        TEQ      v3,a1
-        MOVNE    a1,#3
-        STRNE    a1,[v1,#0]
-        BNE      |L002040.J135.jpeg_scan_file|
-        LDR      a1,[fp,#&18]
-        TEQ      v4,a1
-        LDRNE    a1,[fp,#&18]
-        CMNNE    a1,#1
-        BEQ      |L001b84.J67.jpeg_scan_file|
-        MOV      a1,#7
-        STMIA    v1,{a1,v4}
-        B        |L002040.J135.jpeg_scan_file|
-|L001b84.J67.jpeg_scan_file|
-        LDR      a2,[v1,#&18]
-        STR      a2,[sp,#&1c]
-        LDR      a1,[fp,#&1c]
-        TEQ      a2,a1
-        LDRNE    a1,[fp,#&1c]
-        CMNNE    a1,#1
-        BEQ      |L001bb8.J70.jpeg_scan_file|
-        MOV      a1,#6
-        STR      a1,[v1,#0]
-        LDR      a1,[sp,#&1c]
-        STR      a1,[v1,#4]!
-        MOV      a1,#6
-        B        |L002040.J135.jpeg_scan_file|
-|L001bb8.J70.jpeg_scan_file|
-        LDR      v6,[v1,#&50]
-        LDR      a1,[v6,#&c]
-        MOV      v5,a1,LSL #3
-        LDR      a1,[sp,#&1c]
-        ADD      a1,a1,v5
-        SUB      a2,a1,#1
-        MOV      a1,v5
-        BL       |__rt_sdiv|
-        ADD      a1,a1,a1,LSL #2
-        MOV      a1,a1,LSL #2
-        LDR      a2,[v1,#&28]
-        MOV      a1,a1,LSR #2
-        STR      a2,[v1,#&818]
-        ADD      a2,a2,a1,LSL #2
-        STR      a2,[v1,#&28]
-        LDR      a2,[v1,#&2c]
-        SUB      a2,a2,a1
-        MOV      a1,v5
-        STR      a2,[v1,#&2c]
-        BL       |__rt_sdiv|
-        MOV      a2,a1
-        CMP      a1,v4
-        BGE      |L001c2c.J73.jpeg_scan_file|
-        MOV      a1,#&a
-        STMIA    v1,{a1,v4}
-        MOV      a1,a2
-        STR      a1,[v1,#8]!
-        MOV      a1,#&a
-        B        |L002040.J135.jpeg_scan_file|
-|L001c2c.J73.jpeg_scan_file|
-        MOV      a2,#8
-        MOV      a1,#5
-        ADD      v5,v1,#&e4
-        TEQ      v3,#1
-        BNE      |L001d3c.J75.jpeg_scan_file|
-        LDR      a3,[v1,#&1c]
-        TEQ      a3,#1
-        MOVNE    a1,#8
-        STMNEIA  v1,{a2,a3}
-        BNE      |L002040.J135.jpeg_scan_file|
-        LDR      a2,[v6,#8]
-        TEQ      a2,#1
-        LDREQ    a2,[v6,#&c]
-        TEQEQ    a2,#1
-        BEQ      |L001c84.J79.jpeg_scan_file|
-        STR      a1,[v1,#0]
-        LDR      a1,[v6,#8]
-        STR      a1,[v1,#4]
-        LDR      a1,[v6,#&c]!
-        STR      a1,[v1,#8]!
-        MOV      a1,#5
-        B        |L002040.J135.jpeg_scan_file|
-|L001c84.J79.jpeg_scan_file|
-        SUB      sp,sp,#8
-        MOV      v4,#0
-        LDR      a1,[v1,#&cc]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      v6,[a2,#&64]!
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#4]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        MOV      v3,#0
-        STR      a1,[sp,#0]
-        LDR      a1,[sp,#&24]
-        CMP      a1,#0
-        BLE      |L001d30.J84.jpeg_scan_file|
-        ADD      a1,v1,#&118
-        STR      a1,[sp,#&20]
-|L001cd4.J83.jpeg_scan_file|
-        ADD      a1,v3,v3,LSL #2
-        LDR      a2,[v1,#&818]
-        ADD      a2,a2,a1,LSL #2
-        MOV      a1,v1
-        BL       save_huff_stream
-        ADD      v3,v3,#1
-        MOV      a4,#1
-        LDR      a1,[v1,#&14]
-        ADD      a1,a1,#7
-        MOV      a3,a1,ASR #3
-        MOV      a2,v5
-        LDR      a1,[sp,#0]
-        STMDB    sp!,{a1-a4}
-        MOV      a3,v6
-        MOV      a1,v1
-        LDR      a2,[sp,#&30]
-        LDR      a4,[sp,#&14]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        ADD      v4,v4,#8
-        LDR      a1,[v1,#&18]
-        CMP      v4,a1
-        BLT      |L001cd4.J83.jpeg_scan_file|
-|L001d30.J84.jpeg_scan_file|
-        ADD      sp,sp,#8
-        BIC      v2,v2,#&30
-        B        |L001fc0.J87.jpeg_scan_file|
-|L001d3c.J75.jpeg_scan_file|
-        TEQ      v3,#3
-        BNE      |L002038.J88.jpeg_scan_file|
-        LDR      a3,[v6,#&c]
-        STR      a3,[sp,#-4]!
-        LDR      a4,[v6,#8]
-        MOV      v3,a4
-        CMP      a4,#2
-        CMPLE    a3,#2
-        BLE      |L001d74.J90.jpeg_scan_file|
-        STR      a1,[v1,#0]
-        LDR      a1,[v6,#8]
-        STR      a1,[v1,#4]
-        LDR      a1,[v6,#&c]!
-        B        |L001dc0.J137.jpeg_scan_file|
-|L001d74.J90.jpeg_scan_file|
-        LDR      a3,[v6,#&40]
-        TEQ      a3,#1
-        LDREQ    a3,[v6,#&44]
-        TEQEQ    a3,#1
-        BEQ      |L001d9c.J94.jpeg_scan_file|
-        STR      a1,[v1,#0]
-        LDR      a1,[v6,#&40]
-        STR      a1,[v1,#4]
-        LDR      a1,[v6,#&44]!
-        B        |L001dc0.J137.jpeg_scan_file|
-|L001d9c.J94.jpeg_scan_file|
-        LDR      a3,[v6,#&78]
-        TEQ      a3,#1
-        LDREQ    a3,[v6,#&7c]
-        TEQEQ    a3,#1
-        BEQ      |L001dcc.J98.jpeg_scan_file|
-        STR      a1,[v1,#0]
-        LDR      a1,[v6,#&78]
-        STR      a1,[v1,#4]
-        LDR      a1,[v6,#&7c]!
-|L001dc0.J137.jpeg_scan_file|
-        STR      a1,[v1,#8]!
-        MOV      a1,#5
-        B        |L001de4.J138.jpeg_scan_file|
-|L001dcc.J98.jpeg_scan_file|
-        LDR      a1,[v1,#&1c]
-        TEQ      a1,#3
-        BEQ      |L001de8.J102.jpeg_scan_file|
-        STR      a1,[v1,#4]
-        STR      a2,[v1,#0]
-        MOV      a1,#8
-|L001de4.J138.jpeg_scan_file|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L001de8.J102.jpeg_scan_file|
-        TEQ      v3,#2
-        LDREQ    a1,[sp,#0]
-        TEQEQ    a1,#2
-        BICNE    v2,v2,#&30
-        SUB      sp,sp,#&28
-        MOV      a1,#0
-        MOV      v4,#0
-        STR      a1,[sp,#&24]
-        LDR      a1,[v1,#&cc]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&20]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#&1c]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#&18]
-        LDR      a1,[v1,#&d0]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&14]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#&10]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#&c]
-        LDR      a1,[v1,#&d4]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#8]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#4]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#0]
-        LDR      a1,[sp,#&48]
-        CMP      a1,#0
-        BLE      |L001fbc.J109.jpeg_scan_file|
-        LDR      a2,[sp,#&28]
-        MUL      a1,a2,v3
-        ADD      a2,v1,#&218
-        STR      a2,[sp,#&3c]
-        ADD      a2,v1,#&e8
-        STR      a2,[sp,#&38]
-        ADD      a2,v1,#&218
-        ADD      a2,a2,#&400
-        STR      a2,[sp,#&34]
-        ADD      a2,v1,#&ec
-        STR      a1,[sp,#&40]
-        ADD      a1,v1,#&318
-        ADD      a1,a1,#&400
-        STR      a1,[sp,#&2c]
-        STR      a2,[sp,#&30]
-|L001eec.J108.jpeg_scan_file|
-        ADD      a1,v4,v4,LSL #2
-        LDR      a2,[v1,#&818]
-        ADD      a2,a2,a1,LSL #2
-        MOV      a1,v1
-        BL       save_huff_stream
-        ADD      v4,v4,#1
-        MOV      v6,#0
-        LDR      a1,[v1,#&14]
-        CMP      a1,#0
-        BLE      |L001fa0.J112.jpeg_scan_file|
-|L001f14.J111.jpeg_scan_file|
-        MOV      a4,#0
-        MOV      a2,v5
-        LDR      a1,[sp,#&18]
-        LDR      a3,[sp,#&40]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&4c]
-        LDR      a3,[sp,#&30]
-        LDR      a4,[sp,#&2c]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        MOV      a4,#1
-        LDR      a2,[sp,#&c]
-        LDR      a3,[sp,#&38]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&40]
-        LDR      a3,[sp,#&20]
-        LDR      a4,[sp,#&1c]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        MOV      a4,#1
-        LDR      a2,[sp,#0]
-        LDR      a3,[sp,#&30]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&38]
-        LDR      a3,[sp,#&14]
-        LDR      a4,[sp,#&10]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        ADD      v6,v6,v3,LSL #3
-        LDR      a1,[v1,#&14]
-        CMP      v6,a1
-        BLT      |L001f14.J111.jpeg_scan_file|
-|L001fa0.J112.jpeg_scan_file|
-        ADD      a2,sp,#&24
-        LDMIA    a2,{a1,a2}
-        ADD      a2,a1,a2,LSL #3
-        STR      a2,[sp,#&24]
-        LDR      a1,[v1,#&18]
-        CMP      a2,a1
-        BLT      |L001eec.J108.jpeg_scan_file|
-|L001fbc.J109.jpeg_scan_file|
-        ADD      sp,sp,#&2c
-|L001fc0.J87.jpeg_scan_file|
-        TST      v2,#4
-        BEQ      |L001ffc.J117.jpeg_scan_file|
-        LDR      a1,[v1,#&50]
-        LDR      a1,[a1,#8]
-        MOV      a1,a1,LSL #3
-        LDR      a2,[v1,#&2c]
-        BL       |__rt_sdiv|
-        LDR      a2,[v1,#&14]
-        CMP      a1,a2,LSL #1
-        LDRLT    a1,[v1,#&100]
-        BICLT    a1,a1,#4
-        STRLT    a1,[v1,#&100]
-        LDRGE    a1,[v1,#4]
-        ORRGE    a1,a1,#4
-        STRGE    a1,[v1,#4]
-|L001ffc.J117.jpeg_scan_file|
-        TST      v2,#8
-        LDRNE    a1,[v1,#4]
-        ORRNE    a1,a1,#8
-        STRNE    a1,[v1,#4]
-        TST      v2,#&10
-        LDRNE    a1,[v1,#4]
-        ORRNE    a1,a1,#&10
-        STRNE    a1,[v1,#4]
-        TST      v2,#&20
-        LDRNE    a1,[v1,#4]
-        ORRNE    a1,a1,#&20
-        STRNE    a1,[v1,#4]
-        STR      v2,[v1,#&100]
-        LDR      a1,[v1,#0]
-        B        |L002040.J135.jpeg_scan_file|
-|L002038.J88.jpeg_scan_file|
-        MOV      a1,#9
-        STMIA    v1,{a1,v3}
-|L002040.J135.jpeg_scan_file|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-        IMPORT  asm_j_rev_dct
-        IMPORT  asm_mono_convert_block
-        IMPORT  asm_colour_convert_block_16
-        IMPORT  asm_colour_convert_block
-        IMPORT  asm_colour_convert_block_8
-        IMPORT  asm_get_table32k
-        IMPORT  asm_diffuse_to_8bpp
-jpeg_find_line
-        MOV      ip,sp
-        STMDB    sp!,{a1-a3,v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        LDR      a1,[a1,#&50]
-        LDR      a1,[a1,#&c]
-        ADD      a1,a1,#2
-        STR      a1,[sp,#-&34]!
-        LDR      a1,[v1,#&2c]
-        LDR      a2,[sp,#0]
-        MOV      v4,a1,ASR a2
-        LDR      a1,[v1,#&18]
-        LDR      a2,[fp,#-&2c]
-        SUB      a1,a1,a2
-        SUBS     a1,a1,#1
-        STR      a1,[fp,#-&2c]
-        MOVMI    a2,#4
-        MOVMI    a1,#&8e
-        ADDMI    a1,a1,#&200
-        BLMI     exit_c
-        LDR      a2,[fp,#-&2c]
-        LDR      a1,[v1,#&18]
-        CMP      a2,a1
-        MOVGE    a2,#4
-        MOVGE    a1,#&8f
-        ADDGE    a1,a1,#&200
-        BLGE     exit_c
-        LDR      a2,[fp,#-&2c]
-        LDR      a1,[sp,#0]
-        MOV      a2,a2,ASR a1
-        STR      a2,[sp,#4]
-        LDR      a1,[v1,#&f4]
-        TEQ      a2,a1
-        BEQ      |L002900.J8.jpeg_find_line|
-        SUB      sp,sp,#4
-        LDR      a1,[v1,#&28]
-        TEQ      a1,#0
-        MOVEQ    a2,#4
-        MOVEQ    a1,#&a2
-        ADDEQ    a1,a1,#&200
-        BLEQ     exit_c
-        MVN      a1,#0
-        STR      a1,[v1,#&f4]
-        LDR      a1,[sp,#8]
-        ADD      a2,a1,a1,LSL #2
-        LDR      a1,[v1,#&818]
-        ADD      a2,a1,a2,LSL #2
-        MOV      a1,v1
-        BL       restore_huff_stream
-        LDR      a1,[v1,#&4c]
-        ADD      a3,v1,#&e4
-        ADD      v6,v1,#&118
-        ADD      a2,v1,#&218
-        TEQ      a1,#1
-        STR      a2,[sp,#&30]
-        STR      a3,[sp,#&34]
-        BNE      |L0022bc.J12.jpeg_find_line|
-        SUB      sp,sp,#8
-        MOV      v3,#0
-        LDR      a1,[v1,#&cc]
-        LDR      v2,[v1,#&28]
-        LDR      a2,[a1,#&10]
-        ADD      a2,v1,a2,LSL #2
-        LDR      v5,[a2,#&54]!
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#4]
-        LDR      a1,[a1,#&18]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&74]
-        STR      a1,[sp,#0]
-        LDR      a1,[v1,#&f8]
-        CMP      a1,#8
-        BLT      |L0021b4.J14.jpeg_find_line|
-        SUB      a1,a1,#8
-        MOV      a1,a1,ASR #3
-        MOV      a4,#1
-        STR      a1,[sp,#-4]!
-        MOV      a3,a1
-        MOV      a1,v5
-        LDR      a2,[sp,#&40]
-        STMDB    sp!,{a1-a4}
-        MOV      a2,v6
-        MOV      a1,v1
-        LDR      a3,[sp,#&18]
-        LDR      a4,[sp,#&14]
-        BL       do_huff_skip_blocks
-        LDR      a1,[sp,#&10]!
-        ADD      v3,v3,a1,LSL #3
-        ADD      v2,v2,a1,LSL #5
-        ADD      sp,sp,#4
-|L0021b4.J14.jpeg_find_line|
-        LDR      a1,[v1,#&100]
-        TST      a1,#2
-        LDR      a1,[v1,#&fc]
-        BEQ      |L002248.J16.jpeg_find_line|
-        CMP      v3,a1
-        BGE      |L002240.J19.jpeg_find_line|
-|L0021cc.J18.jpeg_find_line|
-        MOV      a4,#1
-        MOV      a3,#1
-        MOV      a1,v5
-        LDR      a2,[sp,#&3c]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&48]
-        LDR      a3,[sp,#&14]
-        LDR      a4,[sp,#&10]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        LDR      a2,[v1,#&e4]
-        LDR      a1,[v5,#0]
-        MUL      a2,a1,a2
-        MOV      a1,v1
-        BL       mono_convert_pixel
-        STR      a1,[v2,#0]
-        STR      a1,[v2,#4]
-        STR      a1,[v2,#8]
-        STR      a1,[v2,#&c]
-        STR      a1,[v2,#&10]
-        STR      a1,[v2,#&14]
-        STR      a1,[v2,#&18]
-        ADD      v3,v3,#8
-        STR      a1,[v2,#&1c]!
-        ADD      v2,v2,#4
-        LDR      a1,[v1,#&fc]
-        CMP      v3,a1
-        BLT      |L0021cc.J18.jpeg_find_line|
-|L002240.J19.jpeg_find_line|
-        MOV      a1,#1
-        B        |L0022b4.J127.jpeg_find_line|
-|L002248.J16.jpeg_find_line|
-        CMP      v3,a1
-        BGE      |L0022b0.J24.jpeg_find_line|
-|L002250.J23.jpeg_find_line|
-        MOV      a4,#1
-        MOV      a3,#1
-        MOV      a1,v5
-        LDR      a2,[sp,#&3c]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&48]
-        LDR      a3,[sp,#&14]
-        LDR      a4,[sp,#&10]
-        BL       do_huff_decode_blocks
-        ADD      sp,sp,#&10
-        MOV      a1,v1
-        MOV      a3,#1
-        LDR      a2,[sp,#&38]
-        BL       asm_j_rev_dct
-        MOV      a1,v6
-        MOV      a3,v4
-        MOV      a2,v2
-        BL       asm_mono_convert_block
-        ADD      v3,v3,#8
-        ADD      v2,v2,#&20
-        LDR      a1,[v1,#&fc]
-        CMP      v3,a1
-        BLT      |L002250.J23.jpeg_find_line|
-|L0022b0.J24.jpeg_find_line|
-        MOV      a1,#8
-|L0022b4.J127.jpeg_find_line|
-        STR      a1,[sp,#8]!
-        B        |L002828.J27.jpeg_find_line|
-|L0022bc.J12.jpeg_find_line|
-        SUB      sp,sp,#&28
-        MOV      v5,#0
-        LDR      a1,[v1,#&cc]
-        LDR      v2,[v1,#&28]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&24]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#&20]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#&1c]
-        LDR      a1,[v1,#&d0]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&18]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#&14]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#&10]
-        LDR      a1,[v1,#&d4]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&c]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#8]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#4]
-        LDR      a1,[v1,#&50]
-        LDR      a2,[a1,#&c]
-        STR      a2,[sp,#0]
-        LDR      v3,[a1,#8]!
-        ADD      a1,v5,v3,LSL #3
-        LDR      a2,[v1,#&f8]
-        ADD      a4,v1,#&e8
-        ADD      a3,v1,#&ec
-        CMP      a1,a2
-        STR      a3,[sp,#&50]
-        STR      a4,[sp,#&54]
-        BGT      |L00244c.J29.jpeg_find_line|
-        LDR      a2,[sp,#0]
-        MUL      a1,a2,v3
-        STR      a1,[sp,#&4c]
-|L0023a0.J28.jpeg_find_line|
-        MOV      a4,#0
-        LDR      a1,[sp,#&1c]
-        LDR      a2,[sp,#&5c]
-        LDR      a3,[sp,#&4c]
-        STMDB    sp!,{a1-a4}
-        MOV      a2,v6
-        MOV      a1,v1
-        LDR      a3,[sp,#&34]
-        LDR      a4,[sp,#&30]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        MOV      a4,#1
-        LDR      a2,[sp,#&10]
-        LDR      a3,[sp,#&54]
-        STMDB    sp!,{a2-a4}
-        MOV      a2,v6
-        MOV      a1,v1
-        LDR      a3,[sp,#&24]
-        LDR      a4,[sp,#&20]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        MOV      a4,#1
-        LDR      a2,[sp,#4]
-        LDR      a3,[sp,#&50]
-        STMDB    sp!,{a2-a4}
-        MOV      a2,v6
-        MOV      a1,v1
-        LDR      a3,[sp,#&18]
-        LDR      a4,[sp,#&14]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        ADD      v5,v5,v3,LSL #3
-        LDR      a1,[v1,#&100]
-        TST      a1,#&10
-        ADDNE    v2,v2,v3,LSL #4
-        BNE      |L00243c.J33.jpeg_find_line|
-        TST      a1,#&20
-        ADDEQ    v2,v2,v3,LSL #5
-        ADDNE    v2,v2,v3,LSL #3
-|L00243c.J33.jpeg_find_line|
-        ADD      a2,v5,v3,LSL #3
-        LDR      a1,[v1,#&f8]
-        CMP      a2,a1
-        BLE      |L0023a0.J28.jpeg_find_line|
-|L00244c.J29.jpeg_find_line|
-        LDR      a1,[v1,#&100]
-        TST      a1,#2
-        ADD      a1,v1,#&318
-        ADD      a1,a1,#&400
-        STR      a1,[sp,#&48]
-        MOV      a1,#2
-        ADD      a3,v1,#&218
-        ADD      a3,a3,#&400
-        STR      a3,[sp,#&44]
-        LDR      a2,[v1,#&fc]
-        BEQ      |L002628.J38.jpeg_find_line|
-        CMP      v5,a2
-        BGE      |L002620.J41.jpeg_find_line|
-        LDR      a2,[sp,#0]
-        MUL      a1,a2,v3
-        STR      a1,[sp,#&40]
-|L00248c.J40.jpeg_find_line|
-        SUB      sp,sp,#&10
-        MOV      a4,#0
-        MOV      a3,#1
-        LDR      a1,[sp,#&2c]
-        LDR      a2,[sp,#&6c]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&78]
-        LDR      a3,[sp,#&44]
-        LDR      a4,[sp,#&40]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        LDR      a2,[v1,#&e4]
-        LDR      a1,[sp,#&2c]
-        LDR      a1,[a1,#0]
-        MUL      a2,a1,a2
-        MOV      v6,#1
-        STR      a2,[sp,#0]
-        LDR      a1,[sp,#&50]
-        CMP      a1,#1
-        BLE      |L002530.J44.jpeg_find_line|
-|L0024e0.J43.jpeg_find_line|
-        MOV      a4,#1
-        LDR      a2,[sp,#&2c]
-        LDR      a3,[sp,#&6c]
-        STMDB    sp!,{a2-a4}
-        ADD      a1,v1,v6,LSL #8
-        ADD      a2,a1,#&218
-        MOV      a1,v1
-        LDR      a3,[sp,#&40]
-        LDR      a4,[sp,#&3c]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        LDR      a2,[v1,#&e4]
-        LDR      a1,[sp,#&2c]
-        LDR      a1,[a1,#0]
-        MUL      a2,a1,a2
-        STR      a2,[sp,v6,LSL #2]
-        ADD      v6,v6,#1
-        LDR      a1,[sp,#&50]
-        CMP      a1,v6
-        BGT      |L0024e0.J43.jpeg_find_line|
-|L002530.J44.jpeg_find_line|
-        MOV      a4,#1
-        LDR      a2,[sp,#&20]
-        LDR      a3,[sp,#&64]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&60]
-        LDR      a3,[sp,#&34]
-        LDR      a4,[sp,#&30]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        MOV      a4,#1
-        LDR      a2,[sp,#&14]
-        LDR      a3,[sp,#&60]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&64]
-        LDR      a3,[sp,#&28]
-        LDR      a4,[sp,#&24]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        LDR      a2,[v1,#&e8]
-        LDR      a1,[sp,#&20]
-        LDR      a1,[a1,#0]
-        MUL      a2,a1,a2
-        LDR      a3,[v1,#&ec]
-        LDR      a1,[sp,#&14]
-        LDR      a1,[a1,#0]
-        MUL      a3,a1,a3
-        MOV      a1,sp
-        BL       colour_convert_pixels
-        MOV      v6,#0
-        MOV      a3,#2
-        MOV      a4,#1
-|L0025b4.J47.jpeg_find_line|
-        LDR      a1,[sp,#0]
-        STR      a1,[v2,v6,LSL #2]
-        TEQ      v3,#2
-        ADDEQ    a2,v2,v6,LSL #2
-        LDREQ    a1,[sp,#4]
-        STREQ    a1,[a2,#&20]!
-        LDR      a1,[sp,#&10]
-        TEQ      a1,#2
-        BNE      |L0025fc.J50.jpeg_find_line|
-        CMP      v3,#2
-        MOVNE    a1,a4
-        MOVEQ    a1,a3
-        LDR      a2,[sp,a1,LSL #2]
-        ADD      a1,v4,v6
-        STR      a2,[v2,a1,LSL #2]
-        ADDEQ    a1,v2,a1,LSL #2
-        LDREQ    a2,[sp,#&c]
-        STREQ    a2,[a1,#&20]!
-|L0025fc.J50.jpeg_find_line|
-        ADD      v6,v6,#1
-        CMP      v6,#8
-        BLT      |L0025b4.J47.jpeg_find_line|
-        ADD      v5,v5,v3,LSL #3
-        ADD      v2,v2,v3,LSL #5
-        ADD      sp,sp,#&10
-        LDR      a1,[v1,#&fc]
-        CMP      v5,a1
-        BLT      |L00248c.J40.jpeg_find_line|
-|L002620.J41.jpeg_find_line|
-        LDR      a1,[sp,#0]
-        B        |L002824.J128.jpeg_find_line|
-|L002628.J38.jpeg_find_line|
-        CMP      v5,a2
-        BGE      |L00281c.J61.jpeg_find_line|
-        ADD      a1,v1,#&18
-        ADD      a1,a1,#&400
-        STR      a1,[sp,#&3c]
-        LDR      a2,[sp,#0]
-        MUL      a1,a2,v3
-        STR      a1,[sp,#&38]
-|L002648.J60.jpeg_find_line|
-        MOV      a4,#0
-        LDR      a1,[sp,#&1c]
-        LDR      a2,[sp,#&5c]
-        LDR      a3,[sp,#&38]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&68]
-        LDR      a3,[sp,#&34]
-        LDR      a4,[sp,#&30]
-        BL       do_huff_decode_blocks
-        ADD      sp,sp,#&10
-        MOV      a4,#1
-        LDR      a2,[sp,#&10]
-        LDR      a3,[sp,#&54]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&50]
-        LDR      a3,[sp,#&24]
-        LDR      a4,[sp,#&20]
-        BL       asm_huff_decode_blocks
-        ADD      sp,sp,#&c
-        MOV      a4,#1
-        LDR      a2,[sp,#4]
-        LDR      a3,[sp,#&50]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&54]
-        LDR      a3,[sp,#&18]
-        LDR      a4,[sp,#&14]
-        BL       asm_huff_decode_blocks
-        ADD      sp,sp,#&c
-        LDR      a1,[v1,#&100]
-        TST      a1,#1
-        BEQ      |L002758.J63.jpeg_find_line|
-        MOV      a1,v1
-        LDR      a2,[sp,#&58]
-        LDR      a3,[sp,#&38]
-        BL       asm_j_rev_dct
-        MOV      a1,v6
-        MOV      a3,v4
-        MOV      a2,v2
-        BL       asm_mono_convert_block
-        TEQ      v3,#2
-        BNE      |L002708.J65.jpeg_find_line|
-        ADD      a2,v2,#&20
-        MOV      a3,v4
-        LDR      a1,[sp,#&58]
-        BL       asm_mono_convert_block
-|L002708.J65.jpeg_find_line|
-        LDR      a1,[sp,#0]
-        TEQ      a1,#2
-        BNE      |L0027f0.J74.jpeg_find_line|
-        ADD      a2,v2,v4,LSL #5
-        TEQ      v3,#1
-        STR      a2,[sp,#&34]
-        MOVNE    a1,#2
-        MOVEQ    a1,#1
-        ADD      a1,v1,a1,LSL #8
-        ADD      a1,a1,#&118
-        MOV      a3,v4
-        BL       asm_mono_convert_block
-        TEQ      v3,#2
-        BNE      |L0027f0.J74.jpeg_find_line|
-        LDR      a1,[sp,#&34]
-        ADD      a2,a1,#&20
-        MOV      a3,v4
-        LDR      a1,[sp,#&3c]
-        BL       asm_mono_convert_block
-        B        |L0027f0.J74.jpeg_find_line|
-|L002758.J63.jpeg_find_line|
-        LDR      a1,[sp,#&38]
-        TEQ      a1,#4
-        BNE      |L0027b0.J75.jpeg_find_line|
-        MOV      a1,v1
-        MOV      a3,#6
-        LDR      a2,[sp,#&58]
-        BL       asm_j_rev_dct
-        LDR      a1,[v1,#&100]
-        TST      a1,#&10
-        BEQ      |L002794.J77.jpeg_find_line|
-        MOV      a1,v6
-        MOV      a3,v4
-        MOV      a2,v2
-        BL       asm_colour_convert_block_16
-        B        |L0027f0.J74.jpeg_find_line|
-|L002794.J77.jpeg_find_line|
-        TST      a1,#&20
-        MOV      a1,v6
-        MOV      a3,v4
-        MOV      a2,v2
-        BLEQ     asm_colour_convert_block
-        BLNE     asm_colour_convert_block_8
-        B        |L0027f0.J74.jpeg_find_line|
-|L0027b0.J75.jpeg_find_line|
-        MOV      a1,v1
-        LDR      a2,[sp,#&58]
-        LDR      a3,[sp,#&38]
-        BL       asm_j_rev_dct
-        MOV      a1,v1
-        MOV      a3,#2
-        LDR      a2,[sp,#&44]
-        BL       asm_j_rev_dct
-        LDR      a4,[sp,#0]
-        STMDB    sp!,{a4}
-        MOV      a1,v6
-        MOV      a4,v3
-        MOV      a3,v4
-        MOV      a2,v2
-        BL       colour_convert_unusual_block
-        ADD      sp,sp,#4
-|L0027f0.J74.jpeg_find_line|
-        ADD      v5,v5,v3,LSL #3
-        LDR      a1,[v1,#&100]
-        TST      a1,#&10
-        ADDNE    v2,v2,v3,LSL #4
-        BNE      |L002810.J86.jpeg_find_line|
-        TST      a1,#&20
-        ADDEQ    v2,v2,v3,LSL #5
-        ADDNE    v2,v2,v3,LSL #3
-|L002810.J86.jpeg_find_line|
-        LDR      a1,[v1,#&fc]
-        CMP      v5,a1
-        BLT      |L002648.J60.jpeg_find_line|
-|L00281c.J61.jpeg_find_line|
-        LDR      a1,[sp,#0]
-        MOV      a1,a1,LSL #3
-|L002824.J128.jpeg_find_line|
-        STR      a1,[sp,#&28]!
-|L002828.J27.jpeg_find_line|
-        LDR      a1,[v1,#&100]
-        TST      a1,#8
-        BEQ      |L0028f4.J91.jpeg_find_line|
-        LDR      a1,[v1,#&20]
-        TEQ      a1,#0
-        BNE      |L002860.J93.jpeg_find_line|
-        LDR      a1,[v1,#&24]
-        TEQ      a1,#0
-        BNE      |L002860.J93.jpeg_find_line|
-        BL       asm_get_table32k
-        STR      a1,[v1,#&20]
-        TEQ      a1,#0
-        MOVEQ    a1,#1
-        STREQ    a1,[v1,#&24]
-|L002860.J93.jpeg_find_line|
-        LDR      a1,[v1,#&f8]
-        MOV      a2,a1
-        LDR      a4,[v1,#&28]
-        ADD      v3,a4,a1,LSL #2
-        LDR      a3,[v1,#&fc]
-        SUB      a3,a3,a1
-        ADD      v6,a4,a1
-        ADD      a3,a3,#&f
-        BIC      v2,a3,#&f
-        LDR      a3,[v1,#&14]
-        SUB      a1,a3,a1
-        CMP      a1,v2
-        MOVLT    v2,a1
-        LDR      a1,[v1,#&100]
-        TST      a1,#4
-        ADDNE    v3,v3,a2,LSL #2
-        MOVNE    v2,v2,LSL #1
-        CMP      v2,#0
-        BLE      |L0028f4.J91.jpeg_find_line|
-|L0028ac.J102.jpeg_find_line|
-        CMP      v2,#&20
-        MOVLT    v5,v2
-        MOVGE    v5,#&10
-        MOV      a3,v4
-        LDR      a4,[fp,#-&28]
-        LDR      a2,[sp,#0]
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v6
-        MOV      a2,v5
-        MOV      a1,v3
-        LDR      a4,[v1,#&20]
-        BL       asm_diffuse_to_8bpp
-        ADD      sp,sp,#&c
-        ADD      v3,v3,v5,LSL #2
-        ADD      v6,v6,v5
-        SUB      v2,v2,v5
-        CMP      v2,#0
-        BGT      |L0028ac.J102.jpeg_find_line|
-|L0028f4.J91.jpeg_find_line|
-        LDR      a1,[sp,#8]
-        ADD      sp,sp,#4
-        STR      a1,[v1,#&f4]
-|L002900.J8.jpeg_find_line|
-        LDR      a1,[v1,#&28]!
-        LDR      a2,[v1,#&d8]!
-        TST      a2,#2
-        LDR      a2,[sp,#0]
-        BEQ      |L002930.J109.jpeg_find_line|
-        TEQ      a2,#4
-        BNE      |L00294c.J129.jpeg_find_line|
-        LDR      a2,[fp,#-&2c]
-        AND      a2,a2,#&f
-        CMP      a2,#8
-        ADDGE    a1,a1,v4,LSL #2
-        B        |L00294c.J129.jpeg_find_line|
-|L002930.J109.jpeg_find_line|
-        MOV      a3,#1
-        MOV      a2,a3,LSL a2
-        SUB      a2,a2,#1
-        LDR      a3,[fp,#-&2c]
-        AND      a2,a2,a3
-        MUL      a2,v4,a2
-        ADD      a1,a1,a2,LSL #2
-|L00294c.J129.jpeg_find_line|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-looks_like_jpeg
-        LDR      a2,[a1,#0]
-        ADD      ip,a2,#&1f000000
-        ADD      ip,ip,#&2700
-        CMN      ip,#1
-        BNE      |L002994.J5.looks_like_jpeg|
-        LDRB     a2,[a1,#6]
-        TEQ      a2,#&4a
-        LDREQB   a2,[a1,#7]
-        TEQEQ    a2,#&46
-        LDREQB   a2,[a1,#8]
-        TEQEQ    a2,#&49
-        LDREQB   a2,[a1,#9]
-        TEQEQ    a2,#&46
-        LDREQB   a1,[a1,#&a]
-        TEQEQ    a1,#0
-        MOVEQ    a1,#1
-        MOVEQS   pc,lr
-|L002994.J5.looks_like_jpeg|
-        MOV      a1,#0
-        MOVS     pc,lr
-
-        IMPORT  |_swix|
-find_image_dims
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        MOV      v4,a1
-        SUB      sp,sp,#&14
-        SUB      sp,sp,#&400
-        MOV      a1,#0
-        LDR      v1,[fp,#&1c]
-        LDR      v3,[fp,#&18]
-        MOV      v2,#0
-        STR      a1,[sp,#&40c]
-        AND      a1,v3,#3
-        TEQ      a1,#1
-        BNE      |L002a60.J6.find_image_dims|
-        MOV      v2,#1
-        ADD      a4,sp,#8
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a3,#&4f
-        MOV      a2,#&80000003
-        MOV      a1,#&d
-        BL       |_swix|
-        ADD      sp,sp,#4
-        MOVS     a2,a1
-        BEQ      |L002a0c.J8.find_image_dims|
-|L002a04.J9.find_image_dims|
-        STR      a2,[v1,#0]
-        B        |L002dec.J95.find_image_dims|
-|L002a0c.J8.find_image_dims|
-        ADD      v4,sp,#&c
-        ADD      a4,sp,#4
-        MOV      a3,#&400
-        MOV      a2,v4
-        STMDB    sp!,{a2-a4}
-        MOV      a3,#4
-        MOV      a2,#&2000000f
-        MOV      a1,#&c
-        LDR      a4,[sp,#&14]
-        BL       |_swix|
-        ADD      sp,sp,#&c
-        MOVS     v5,a1
-        BEQ      |L002a60.J6.find_image_dims|
-        MOV      a3,#0
-        MOV      a2,#3
-        MOV      a1,#&d
-        LDR      a4,[sp,#8]
-        BL       |_swix|
-        STR      v5,[v1,#0]
-        MOV      a1,v5
-        B        |L002dec.J95.find_image_dims|
-|L002a60.J6.find_image_dims|
-        MOV      a1,v4
-        BL       looks_like_jpeg
-        TEQ      a1,#0
-        BNE      |L002a9c.J12.find_image_dims|
-        TEQ      v2,#0
-        BEQ      |L002a94.J14.find_image_dims|
-        MOV      a3,#0
-        MOV      a2,#3
-        MOV      a1,#&d
-        LDR      a4,[sp,#8]
-        BL       |_swix|
-        MOVS     a2,a1
-        BNE      |L002a04.J9.find_image_dims|
-|L002a94.J14.find_image_dims|
-        MOV      a1,#1
-        B        |L002dec.J95.find_image_dims|
-|L002a9c.J12.find_image_dims|
-        LDRB     a1,[v4,#&d]
-        TEQ      a1,#1
-        BNE      |L002acc.J18.find_image_dims|
-        LDRB     a1,[v4,#&e]
-        MOV      a1,a1,LSL #24
-        LDRB     a2,[v4,#&f]
-        ADD      a1,a1,a2,LSL #16
-        LDRB     a2,[v4,#&10]
-        ADD      a1,a1,a2,LSL #8
-        LDRB     a2,[v4,#&11]
-        ADD      a1,a1,a2
-        B        |L002b40.J92.find_image_dims|
-|L002acc.J18.find_image_dims|
-        TEQ      a1,#2
-        BNE      |L002b48.J21.find_image_dims|
-        LDRB     a1,[v4,#&e]
-        RSB      a2,a1,a1,LSL #7
-        MOV      a2,a2,LSL #1
-        MOV      a1,#&64
-        BL       |__rt_sdiv|
-        MOV      v5,a1
-        LDRB     a1,[v4,#&f]
-        RSB      a2,a1,a1,LSL #7
-        MOV      a2,a2,LSL #1
-        MOV      a1,#&64
-        BL       |__rt_sdiv|
-        ADD      a1,a1,#&18
-        MOV      v5,v5,LSL a1
-        LDRB     a1,[v4,#&10]
-        RSB      a2,a1,a1,LSL #7
-        MOV      a2,a2,LSL #1
-        MOV      a1,#&64
-        BL       |__rt_sdiv|
-        ADD      a1,a1,#&10
-        MOV      v5,v5,LSL a1
-        LDRB     a1,[v4,#&11]
-        RSB      a2,a1,a1,LSL #7
-        MOV      a2,a2,LSL #1
-        MOV      a1,#&64
-        BL       |__rt_sdiv|
-        ADD      a1,a1,#8
-        MOV      a1,v5,LSL a1
-|L002b40.J92.find_image_dims|
-        STR      a1,[sp,#0]
-        B        |L002b8c.J20.find_image_dims|
-|L002b48.J21.find_image_dims|
-        LDRB     a1,[v4,#&f]
-        LDRB     a2,[v4,#&e]
-        ADDS     a1,a1,a2,LSL #8
-        MOVEQ    a1,#1
-        LDRB     a2,[v4,#&11]
-        LDRB     a3,[v4,#&10]
-        ADD      a2,a2,a3,LSL #8
-        BL       |__rt_sdiv|
-        TEQ      a1,#0
-        RSBNE    a1,a1,a1,LSL #4
-        ADDNE    a1,a1,a1,LSL #1
-        MOVNE    a1,a1,LSL #1
-        MOVEQ    a1,#&5a
-        ORR      a1,a1,#&5a0000
-        STR      a1,[sp,#0]
-        MOV      a1,#&100
-        STR      a1,[sp,#&40c]
-|L002b8c.J20.find_image_dims|
-        ADD      v4,v4,#2
-|L002b90.J88.find_image_dims|
-        LDR      a1,[sp,#4]
-        B        |L002c60.J30.find_image_dims|
-|L002b98.J29.find_image_dims|
-        LDRB     a2,[v4,#3]
-        LDRB     a3,[v4,#2]
-        ADD      a2,a2,a3,LSL #8
-        ADD      a2,a2,v4
-        ADD      v4,a2,#2
-        TEQ      v2,#0
-        BEQ      |L002c60.J30.find_image_dims|
-        CMP      v4,a1
-        BLT      |L002c60.J30.find_image_dims|
-        SUB      v5,v4,a1
-        ADD      v4,sp,#&c
-        ADD      a4,sp,#4
-        MOV      a3,#&400
-        MOV      a2,v4
-        STMDB    sp!,{a2-a4}
-        MOV      a3,#4
-        MOV      a2,#&2000000f
-        MOV      a1,#&c
-        LDR      a4,[sp,#&14]
-        BL       |_swix|
-        ADD      sp,sp,#&c
-        MOVS     v6,a1
-        BEQ      |L002c14.J35.find_image_dims|
-|L002bf4.J36.find_image_dims|
-        MOV      a3,#0
-        MOV      a2,#3
-        MOV      a1,#&d
-        LDR      a4,[sp,#8]
-        BL       |_swix|
-        STR      v6,[v1,#0]
-        MOV      a1,v6
-        B        |L002dec.J95.find_image_dims|
-|L002c14.J35.find_image_dims|
-        CMP      v5,#&400
-        BLE      |L002c58.J38.find_image_dims|
-|L002c1c.J37.find_image_dims|
-        ADD      a4,sp,#4
-        MOV      a3,#&400
-        MOV      a2,v4
-        STMDB    sp!,{a2-a4}
-        MOV      a3,#4
-        MOV      a2,#&2000000f
-        MOV      a1,#&c
-        LDR      a4,[sp,#&14]
-        BL       |_swix|
-        ADD      sp,sp,#&c
-        MOVS     v6,a1
-        BNE      |L002bf4.J36.find_image_dims|
-        SUB      v5,v5,#&400
-        CMP      v5,#&400
-        BGT      |L002c1c.J37.find_image_dims|
-|L002c58.J38.find_image_dims|
-        ADD      v4,v4,v5
-        B        |L002b90.J88.find_image_dims|
-|L002c60.J30.find_image_dims|
-        LDRB     a2,[v4,#0]
-        TEQ      a2,#&ff
-        BNE      |L002c84.J43.find_image_dims|
-        LDRB     a2,[v4,#1]
-        TEQ      a2,#&c0
-        TEQNE    a2,#&c1
-        TEQNE    a2,#&c9
-        BNE      |L002b98.J29.find_image_dims|
-        B        |L002c98.J49.find_image_dims|
-|L002c84.J43.find_image_dims|
-        LDRB     a1,[v4,#1]
-        TEQ      a1,#&c0
-        TEQNE    a1,#&c1
-        TEQNE    a1,#&c9
-        BNE      |L002a94.J14.find_image_dims|
-|L002c98.J49.find_image_dims|
-        LDRB     a1,[v4,#6]
-        LDRB     a2,[v4,#5]
-        ADD      v5,a1,a2,LSL #8
-        LDRB     a1,[v4,#8]
-        LDRB     a2,[v4,#7]
-        ADD      a1,a1,a2,LSL #8
-        STR      a1,[sp,#&410]
-        LDRB     a1,[v4,#9]
-        LDR      a2,[sp,#&40c]
-        ORR      v6,a1,a2
-        CMP      v3,#3
-        BLE      |L002d78.J54.find_image_dims|
-        SUB      sp,sp,#8
-        BIC      v3,v3,#3
-        LDR      a1,[v3,#0]
-        CMP      v6,#1
-        STR      a1,[sp,#4]
-        MOVNE    a1,#&10
-        MOVEQ    a1,#8
-        LDR      a2,[sp,#&418]
-        ADD      a2,a2,#&f
-        MUL      a1,a2,a1
-        MOV      a2,a1,LSL #2
-        BNE      |L002d08.J60.find_image_dims|
-        ADDS     a1,v5,#7
-        ADDMI    a1,a1,#7
-        MOV      a1,a1,ASR #3
-        B        |L002d0c.J59.find_image_dims|
-|L002d08.J60.find_image_dims|
-        MOV      a1,v5
-|L002d0c.J59.find_image_dims|
-        ADD      a1,a1,a1,LSL #2
-        ADD      a1,a2,a1,LSL #2
-        ADD      a1,a1,#&ff
-        ADD      a1,a1,#&3d00
-        BIC      v4,a1,#3
-        MOV      a3,sp
-        MOV      a2,#&80000000
-        MOV      a1,#&51
-        BL       |_swix|
-        LDR      a1,[sp,#4]
-        TEQ      a1,#0
-        LDREQ    a1,[sp,#0]
-        ADDEQ    a2,v4,a1
-        BEQ      |L002d64.J93.find_image_dims|
-        LDR      a1,[sp,#4]
-        LDR      a1,[a1,#&10]
-        CMP      a1,v4
-        MOVGE    a1,#0
-        BGE      |L002d70.J66.find_image_dims|
-        SUB      a2,v4,a1
-        LDR      a1,[sp,#0]
-        ADD      a2,a2,a1
-|L002d64.J93.find_image_dims|
-        SUB      a2,a2,#1
-        SUB      a1,a1,#1
-        BIC      a1,a2,a1
-|L002d70.J66.find_image_dims|
-        ADD      sp,sp,#8
-        STR      a1,[v3,#0]
-|L002d78.J54.find_image_dims|
-        LDR      a1,[fp,#&c]
-        TEQ      a1,#0
-        LDRNE    a1,[fp,#&c]
-        STRNE    v5,[a1,#0]
-        LDR      a1,[fp,#8]
-        TEQ      a1,#0
-        LDRNE    a1,[sp,#&410]
-        LDRNE    a2,[fp,#8]
-        STRNE    a1,[a2,#0]
-        LDR      a1,[fp,#&10]
-        TEQ      a1,#0
-        MOVNE    a1,v6
-        LDRNE    a2,[fp,#&10]
-        STRNE    a1,[a2,#0]
-        LDR      a1,[fp,#&14]
-        CMP      a1,#0
-        LDRNE    a1,[sp,#0]
-        LDRNE    a2,[fp,#&14]
-        STRNE    a1,[a2,#0]
-        TEQ      v2,#0
-        BEQ      |L002de8.J80.find_image_dims|
-        MOV      a3,#0
-        MOV      a2,#3
-        MOV      a1,#&d
-        LDR      a4,[sp,#8]
-        BL       |_swix|
-        MOVS     a2,a1
-        BNE      |L002a04.J9.find_image_dims|
-|L002de8.J80.find_image_dims|
-        MOV      a1,#0
-|L002dec.J95.find_image_dims|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-check_sprite_area
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        SUB      sp,sp,#&10
-        LDMIA    a1,{a2,a3}
-        STR      a3,[sp,#8]
-        ADD      a4,a1,#8
-        LDMIA    a4,{a3,a4}
-        CMP      a3,a4
-        CMPLE    a4,a2
-        MOVGT    a1,#1
-        BGT      |L002fc0.J55.check_sprite_area|
-        ADD      v1,a1,a3
-        MOV      a3,#0
-        STR      a3,[sp,#4]
-        LDR      a3,[sp,#8]
-        CMP      a3,#0
-        BLE      |L002fbc.J9.check_sprite_area|
-        ADD      v5,a1,a2
-|L002e3c.J8.check_sprite_area|
-        ADD      a2,v1,#&18
-        LDMIA    a2,{a1,a2}
-        LDR      a4,[v1,#&14]
-        LDR      v3,[v1,#0]
-        LDR      v6,[v1,#&10]
-        STR      a2,[sp,#-4]!
-        LDR      a3,[v1,#&28]
-        LDR      v2,[v1,#&24]
-        LDR      v4,[v1,#&20]
-        ADD      a2,v3,v1
-        CMP      a2,v5
-        CMPLE    a1,#&1f
-        LDRLE    a2,[sp,#0]
-        CMPLE    a2,#&1f
-        ADDLE    a2,v4,v1
-        CMPLE    a2,v5
-        ADDLE    a2,v2,v1
-        CMPLE    a2,v5
-        BGT      |L002fa0.J50.check_sprite_area|
-        MOV      a2,#0
-        CMP      a2,a3,ASR #24
-        BGE      |L002e9c.J21.check_sprite_area|
-        TEQ      a1,#0
-        BNE      |L002fa0.J50.check_sprite_area|
-|L002e9c.J21.check_sprite_area|
-        TEQ      v4,v2
-        BEQ      |L002f54.J25.check_sprite_area|
-        ADD      a1,v6,#1
-        ADD      a4,a4,#1
-        STR      a4,[sp,#&10]
-        MUL      a1,a4,a1
-        ADD      a4,v4,a1,LSL #2
-        CMP      a4,v2
-        BGT      |L002fa0.J50.check_sprite_area|
-        TEQ      a2,a3,ASR #24
-        BNE      |L002ee8.J29.check_sprite_area|
-        ADD      a1,v2,a1,LSL #2
-        CMP      a1,v3
-        BGT      |L002fa0.J50.check_sprite_area|
-        SUB      a1,v3,v2
-        SUB      a2,v2,v4
-        TEQ      a1,a2
-        BNE      |L002fa0.J50.check_sprite_area|
-        B        |L002f6c.J43.check_sprite_area|
-|L002ee8.J29.check_sprite_area|
-        CMP      a3,#&ff
-        BLE      |L002ef8.J36.check_sprite_area|
-        TST      a3,#1
-        BEQ      |L002fa0.J50.check_sprite_area|
-|L002ef8.J36.check_sprite_area|
-        ADD      a4,sp,#4
-        STMDB    sp!,{a4}
-        MOV      a4,#9
-        MOV      a2,#&20000003
-        MOV      a1,#&35
-        BL       |_swix|
-        ADD      sp,sp,#4
-        TEQ      a1,#0
-        BNE      |L002fa0.J50.check_sprite_area|
-        LDR      a1,[sp,#4]
-        RSB      a2,a1,#5
-        MOV      a2,v6,LSL a2
-        LDR      a3,[sp,#0]
-        ADD      a3,a3,#1
-        ADD      a1,a2,a3,ASR a1
-        ADD      a1,a1,#&1f
-        BIC      a1,a1,#&1f
-        MOV      a1,a1,LSR #3
-        LDR      a2,[sp,#&10]
-        MLA      a1,a2,a1,v2
-        TEQ      a1,v3
-        BNE      |L002fa0.J50.check_sprite_area|
-        B        |L002f6c.J43.check_sprite_area|
-|L002f54.J25.check_sprite_area|
-        ADD      a1,v6,#1
-        ADD      a2,a4,#1
-        MUL      a1,a2,a1
-        ADD      a1,v4,a1,LSL #2
-        CMP      a1,v3
-        BGT      |L002fa0.J50.check_sprite_area|
-|L002f6c.J43.check_sprite_area|
-        ORR      a1,v3,v4
-        ORR      a1,a1,v2
-        TST      a1,#3
-        BNE      |L002fa0.J50.check_sprite_area|
-        ADD      v1,v1,v3
-        LDR      a1,[sp,#8]
-        ADD      a1,a1,#1
-        LDR      a2,[sp,#&c]
-        CMP      a1,a2
-        BGE      |L002fa8.J48.check_sprite_area|
-        ADD      a2,v1,#&2c
-        CMP      a2,v5
-        BLE      |L002fa8.J48.check_sprite_area|
-|L002fa0.J50.check_sprite_area|
-        MOV      a1,#1
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L002fa8.J48.check_sprite_area|
-        ADD      sp,sp,#4
-        STR      a1,[sp,#4]
-        LDR      a2,[sp,#8]
-        CMP      a1,a2
-        BLT      |L002e3c.J8.check_sprite_area|
-|L002fbc.J9.check_sprite_area|
-        MOV      a1,#0
-|L002fc0.J55.check_sprite_area|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-rr
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        CMN      a1,#1
-        MOVEQ    a2,#4
-        MOVEQ    a1,#&bd
-        ADDEQ    a1,a1,#&200
-        BLEQ     exit_c
-        MOV      a1,v1
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-check_workspace
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOVS     v1,a1
-        MOVEQ    a2,#1
-        MOVEQ    a1,#&2fc
-        BLEQ     exit_c
-        LDR      a3,[v1,#0]
-        LDR      a2,[pc, #L003074-.-8]
-        ADD      a1,v1,#&2000
-        TEQ      a3,a2
-        BEQ      |L003054.J6.check_workspace|
-        STR      a2,[v1,#0]
-        MOV      a3,#0
-        STR      a2,[a1,#&2ec]
-        STR      a3,[v1,#8]
-        ADD      a3,v1,#&22c
-        ADD      a4,v1,#&2ec
-        ADD      a4,a4,#&2000
-        MVN      ip,#0
-        CMP      a4,a3
-        BLS      |L003054.J6.check_workspace|
-|L003048.J8.check_workspace|
-        STR      ip,[a3],#&418
-        CMP      a4,a3
-        BHI      |L003048.J8.check_workspace|
-|L003054.J6.check_workspace|
-        LDR      a1,[a1,#&2ec]
-        TEQ      a1,a2
-        MOVNE    a2,#4
-        MOVNE    a1,#&67
-        ADDNE    a1,a1,#&300
-        LDMNEDB  fp,{v1,fp,sp,lr}
-        BNE      exit_c
-        LDMDB    fp,{v1,fp,sp,pc}^
-L003074
-        DCD     &075bcd15
-
-compile_word
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        LDR      a1,[a1,#&10]
-        LDR      a2,[v1,#&14]
-        CMP      a1,a2
-        MOVCS    a2,#1
-        MOVCS    a1,#&2e
-        ADDCS    a1,a1,#&400
-        BLCS     exit_c
-        LDR      a1,[v1,#&10]
-        STR      v2,[a1],#4
-        STR      a1,[v1,#&10]!
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-do_ins
-        AND      a3,a2,#&f0000000
-        TEQ      a3,#&f0000000
-        BICEQ    a2,a2,#&f0000000
-        BEQ      |L0030d0.J6.do_ins|
-        TEQ      a3,#0
-        ORREQ    a2,a2,#&e0000000
-|L0030d0.J6.do_ins|
-        B        compile_word
-
-define_label
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a2,#0]
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&5f
-        ADDNE    a1,a1,#&400
-        BLNE     exit_c
-        LDR      a2,[v2,#&10]!
-        STR      a2,[v1,#0]
-        LDR      a1,[v1,#4]
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1,v2,fp,sp,pc}^
-        ADD      a3,a1,#8
-        SUBS     a2,a2,a3
-        ADDMI    a2,a2,#3
-        MOV      a2,a2,ASR #2
-        BIC      a2,a2,#&ff000000
-        LDR      a3,[a1,#0]
-        ORR      a2,a2,a3
-        STR      a2,[a1,#0]
-        MOV      a1,#0
-        STR      a1,[v1,#4]!
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-do_branch
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v3,a2
-        MOV      v1,a3
-        LDR      a1,[a3,#0]
-        TEQ      a1,#0
-        LDR      a1,[a3,#4]
-        BNE      |L003194.J4.do_branch|
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&7e
-        ADDNE    a1,a1,#&400
-        BLNE     exit_c
-        LDR      a1,[v2,#&10]
-        MOV      a2,v3
-        STR      a1,[v1,#4]!
-        MOV      a1,v2
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L003194.J4.do_branch|
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&84
-        ADDNE    a1,a1,#&400
-        BLNE     exit_c
-        LDR      a1,[v2,#&10]
-        ADD      a1,a1,#8
-        LDR      a2,[v1,#0]
-        SUBS     a1,a2,a1
-        ADDMI    a1,a1,#3
-        MOV      a1,a1,ASR #2
-        BIC      a1,a1,#&ff000000
-        ORR      a2,a1,v3
-        MOV      a1,v2
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-do_set_regname
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v3,a2
-        MOV      v1,a3
-        CMN      a3,#1
-        BNE      |L003240.J4.do_set_regname|
-        LDR      a1,[v2,#&1e0]
-        MOVS     v1,a1
-        ADD      a1,a1,#1
-        STR      a1,[v2,#&1e0]
-        BMI      |L003210.J7.do_set_regname|
-        CMP      v1,#&c
-        BLE      |L003220.J6.do_set_regname|
-|L003210.J7.do_set_regname|
-        MOV      a2,#4
-        MOV      a1,#&97
-        ADD      a1,a1,#&400
-        BL       exit_c
-|L003220.J6.do_set_regname|
-        TEQ      v1,#&c
-        BNE      |L003240.J4.do_set_regname|
-        LDR      a1,[v2,#&1e4]!
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&98
-        ADDNE    a1,a1,#&400
-        BLNE     exit_c
-|L003240.J4.do_set_regname|
-        STR      v1,[v3,#0]
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-compile_buffer_init
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        LDR      a1,[a2,#8]
-        ADD      ip,a1,a1,LSL #1
-        ADD      a1,ip,a1,LSL #7
-        ADD      a1,a2,a1,LSL #3
-        ADD      a1,a1,#&244
-        STR      a1,[a2,#&c]
-        STR      a1,[a2,#&10]
-        LDR      a1,[a2,#&c]
-        ADD      a1,a1,#&400
-        STR      a1,[a2,#&14]
-        ADD      a1,a2,#&18
-        ADD      a2,v1,#&150
-        MOV      v3,#0
-        CMP      a2,a1
-        BCC      |L0032a8.J5.compile_buffer_init|
-|L003294.J4.compile_buffer_init|
-        STR      v3,[a1,#0]
-        STR      v3,[a1,#4]!
-        ADD      a1,a1,#4
-        CMP      a2,a1
-        BCS      |L003294.J4.compile_buffer_init|
-|L0032a8.J5.compile_buffer_init|
-        ADD      a1,v1,#&158
-        ADD      v2,v1,#&1dc
-        MVN      a2,#0
-        CMP      v2,a1
-        BCC      |L0032c8.J9.compile_buffer_init|
-|L0032bc.J8.compile_buffer_init|
-        STR      a2,[a1],#4
-        CMP      v2,a1
-        BCS      |L0032bc.J8.compile_buffer_init|
-|L0032c8.J9.compile_buffer_init|
-        STR      v3,[v1,#&1e0]
-        ADD      a2,v1,#&1c4
-        MOV      a1,v1
-        MOV      a3,#1
-        BL       do_set_regname
-        ADD      a2,v1,#&1c8
-        MOV      a1,v1
-        MOV      a3,#2
-        BL       do_set_regname
-        ADD      a2,v1,#&1cc
-        MOV      a1,v1
-        MOV      a3,#3
-        BL       do_set_regname
-        ADD      a2,v1,#&1d0
-        MOV      a1,v1
-        MOV      a3,#&c
-        BL       do_set_regname
-        ADD      a2,v1,#&1d4
-        MOV      a1,v1
-        MOV      a3,#&d
-        BL       do_set_regname
-        ADD      a2,v1,#&1d8
-        MOV      a1,v1
-        MOV      a3,#&e
-        BL       do_set_regname
-        MOV      a2,v2
-        MOV      a1,v1
-        MOV      a3,#&f
-        BL       do_set_regname
-        STR      v3,[v1,#&1e4]!
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-compile_buffer_done
-        LDR      a2,[a1,#8]
-        ADD      a2,a2,#1
-        STR      a2,[a1,#8]
-        CMP      a2,#8
-        MOVGE    a2,#0
-        STRGE    a2,[a1,#8]!
-        MOVS     pc,lr
-
-simple_x_scale
-        ADD      ip,a1,#&40
-        LDMIA    ip,{a3,ip}
-        MOV      a4,a3
-        SUB      ip,ip,a3
-        TEQ      ip,a3
-        BNE      |L0033ac.J5.simple_x_scale|
-        LDR      a3,[a1,#&30]
-        CMP      a4,a3
-        BGT      |L0033ac.J5.simple_x_scale|
-        LDR      a1,[a1,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L0033ac.J5.simple_x_scale|
-        LDR      a1,[a2,#&1e8]
-        TEQ      a1,#0
-        LDREQ    a1,[a2,#&1f4]!
-        TEQEQ    a1,#0
-        MOVEQ    a1,#1
-        MOVEQS   pc,lr
-|L0033ac.J5.simple_x_scale|
-        MOV      a1,#0
-        MOVS     pc,lr
-
-x_block_move
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        BL       simple_x_scale
-        TEQ      a1,#0
-        BEQ      |L00341c.J5.x_block_move|
-        MOV      a1,#1
-        LDR      a2,[v1,#&78]
-        MOV      a2,a1,LSL a2
-        LDR      a1,[v1,#&100]
-        TEQ      a2,a1
-        LDREQ    a1,[v2,#&1e8]
-        TEQEQ    a1,#0
-        LDREQ    a1,[v2,#&1ec]!
-        TEQEQ    a1,#0
-        LDREQ    a1,[v1,#&b4]
-        TEQEQ    a1,#0
-        LDREQ    a1,[v1,#&f8]
-        TEQEQ    a1,#0
-        BNE      |L00341c.J5.x_block_move|
-        LDR      a1,[v1,#&10c]!
-        TEQ      a1,#0
-        MOVEQ    a1,#1
-        LDMEQDB  fp,{v1,v2,fp,sp,pc}^
-|L00341c.J5.x_block_move|
-        MOV      a1,#0
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-simple_y_scale
-        ADD      a2,a1,#&10
-        LDMIA    a2,{a1,a2}
-        TEQ      a2,a1
-        MOVNE    a1,#0
-        MOVEQ    a1,#1
-        MOVS     pc,lr
-
-ptrs_rn
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        ADD      a2,a2,#&158
-        MOV      a1,v1
-        MOV      a3,#&e
-        BL       do_set_regname
-        ADD      a2,v1,#&15c
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        ADD      a2,v1,#&198
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L00349c.J5.ptrs_rn|
-        LDR      a1,[v2,#&f4]!
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L0034ac.J4.ptrs_rn|
-|L00349c.J5.ptrs_rn|
-        ADD      a2,v1,#&168
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L0034ac.J4.ptrs_rn|
-        LDR      a1,[v1,#&1f4]
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1,v2,fp,sp,pc}^
-        ADD      a2,v1,#&184
-        MOV      a1,v1
-        MVN      a3,#0
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_set_regname
-
-xloop_rn
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        MOV      v3,#0
-        BL       x_block_move
-        ADD      a2,v1,#&160
-        ADD      v6,v1,#&1a0
-        ADD      v5,v1,#&1a8
-        TEQ      a1,#0
-        BEQ      |L0035b8.J4.xloop_rn|
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        MOV      a2,v6
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        MOV      a2,v5
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        ADD      a2,v1,#&188
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        LDR      a1,[v1,#&15c]
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&f5
-        ADDNE    a1,a1,#&500
-        BLNE     exit_c
-        LDR      a1,[v1,#&198]
-        TEQ      a1,#1
-        MOVNE    a2,#4
-        MOVNE    a1,#&f6
-        ADDNE    a1,a1,#&500
-        BLNE     exit_c
-        LDR      a1,[v1,#&160]
-        TEQ      a1,#2
-        MOVNE    a2,#4
-        MOVNE    a1,#&f7
-        ADDNE    a1,a1,#&500
-        BLNE     exit_c
-        LDR      a1,[v1,#&1a0]
-        TEQ      a1,#3
-        MOVNE    a2,#4
-        MOVNE    a1,#&1f8
-        ADDNE    a1,a1,#&400
-        BLNE     exit_c
-        LDR      a1,[v1,#&1a8]!
-        TEQ      a1,#4
-        MOVNE    a2,#4
-        MOVNE    a1,#&f9
-        ADDNE    a1,a1,#&500
-        LDMNEDB  fp,{v1-v6,fp,sp,lr}
-        BNE      exit_c
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L0035b8.J4.xloop_rn|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        ADD      v4,v1,#&164
-        TEQ      a1,#&32
-        BNE      |L0035e0.J17.xloop_rn|
-|L0035cc.J18.xloop_rn|
-        MOV      a2,v4
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        B        |L0035f8.J19.xloop_rn|
-|L0035e0.J17.xloop_rn|
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#5
-        MOVNE    a1,v1
-        MVNNE    a3,#0
-        BLNE     do_set_regname
-        BNE      |L0035cc.J18.xloop_rn|
-|L0035f8.J19.xloop_rn|
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L003644.J30.xloop_rn|
-        ADD      a2,v1,#&16c
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L003634.J25.xloop_rn|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        ADDNE    a2,v1,#&174
-        BNE      |L003638.J67.xloop_rn|
-|L003634.J25.xloop_rn|
-        ADD      a2,v1,#&170
-|L003638.J67.xloop_rn|
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L003644.J30.xloop_rn|
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#0
-        BEQ      |L00365c.J29.xloop_rn|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        MOVEQ    v3,#1
-|L00365c.J29.xloop_rn|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L003690.J33.xloop_rn|
-        ADD      a2,v1,#&18c
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        ADD      a2,v1,#&190
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        B        |L003734.J35.xloop_rn|
-|L003690.J33.xloop_rn|
-        LDR      a1,[v2,#&b4]
-        TEQ      a1,#0
-        LDREQ    a1,[v2,#&f8]
-        TEQEQ    a1,#0
-        BNE      |L0036b0.J37.xloop_rn|
-        LDR      a1,[v2,#&10c]
-        TEQ      a1,#0
-        BEQ      |L0036c0.J36.xloop_rn|
-|L0036b0.J37.xloop_rn|
-        ADD      a2,v1,#&1a4
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L0036c0.J36.xloop_rn|
-        LDR      a2,[v2,#&f8]
-        TEQ      a2,#0
-        LDR      a1,[v2,#&74]
-        LDRNE    a2,[v2,#&104]
-        TEQNE    a2,#&10
-        BNE      |L0036e0.J45.xloop_rn|
-        TEQ      a1,#5
-        BNE      |L0036f0.J44.xloop_rn|
-|L0036e0.J45.xloop_rn|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        MOVNE    v3,#2
-        B        |L003714.J47.xloop_rn|
-|L0036f0.J44.xloop_rn|
-        TEQ      a1,#4
-        LDREQ    a1,[v2,#&104]
-        TEQEQ    a1,#&20
-        BNE      |L003714.J47.xloop_rn|
-        MOV      v3,#2
-        ADD      a2,v1,#&180
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L003714.J47.xloop_rn|
-        TEQ      v3,#0
-        LDREQ    a1,[v2,#&40]
-        LDREQ    a2,[v2,#&68]
-        BLEQ     |__rt_sdiv|
-        TEQEQ    a2,#0
-        BNE      |L003734.J35.xloop_rn|
-        CMP      a1,#4
-        MOVGT    v3,#1
-|L003734.J35.xloop_rn|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BEQ      |L003760.J54.xloop_rn|
-        ADD      a2,v1,#&19c
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        MOV      a2,v6
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L003760.J54.xloop_rn|
-        LDR      a1,[v2,#&74]
-        CMP      a1,#3
-        BGT      |L003790.J56.xloop_rn|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_x_scale
-        TEQ      a1,#0
-        BEQ      |L003790.J56.xloop_rn|
-        ADD      a2,v1,#&1c0
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L003790.J56.xloop_rn|
-        MOV      a2,v5
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_x_scale
-        TEQ      a1,#0
-        BNE      |L0037c4.J16.xloop_rn|
-        ADD      a2,v1,#&1ac
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L0037c4.J16.xloop_rn|
-        CMP      v3,#1
-        BLT      |L0037dc.J61.xloop_rn|
-        ADD      a2,v1,#&178
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L0037dc.J61.xloop_rn|
-        CMP      v3,#2
-        LDMLTDB  fp,{v1-v6,fp,sp,pc}^
-        ADD      a2,v1,#&17c
-        MOV      a1,v1
-        MVN      a3,#0
-        LDMDB    fp,{v1-v6,fp,sp,lr}
-        B        do_set_regname
-
-yloop_rn_count
-        MOV      a3,#2
-        LDR      a4,[a1,#&14]
-        LDR      ip,[a1,#&10]
-        TEQ      a4,ip
-        MOVNE    a3,#3
-        LDR      a2,[a2,#&1f0]
-        TEQ      a2,#0
-        BNE      |L003828.J7.yloop_rn_count|
-        LDR      a2,[a1,#&f4]
-        AND      a2,a2,#&ff
-        TEQ      a2,#&32
-        BNE      |L00382c.J6.yloop_rn_count|
-|L003828.J7.yloop_rn_count|
-        ADD      a3,a3,#1
-|L00382c.J6.yloop_rn_count|
-        LDR      a1,[a1,#&110]
-        TEQ      a1,#0
-        ADDNE    a3,a3,#1
-        MOV      a1,a3
-        MOVS     pc,lr
-
-yloop_rn
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        ADD      a2,a2,#&1b0
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_y_scale
-        TEQ      a1,#0
-        BNE      |L003888.J4.yloop_rn|
-        ADD      a2,v1,#&1b4
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L003888.J4.yloop_rn|
-        ADD      a2,v1,#&1b8
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L0038b4.J7.yloop_rn|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L0038c4.J6.yloop_rn|
-|L0038b4.J7.yloop_rn|
-        ADD      a2,v1,#&1bc
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L0038c4.J6.yloop_rn|
-        LDR      a1,[v2,#&110]!
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1,v2,fp,sp,pc}^
-        ADD      a2,v1,#&194
-        MOV      a1,v1
-        MVN      a3,#0
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_set_regname
-
-get_in_shift
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&110]
-        TEQ      a1,#0
-        LDRNE    a1,[v2,#&74]
-        TEQNE    a1,#5
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        BEQ      |L003a24.J4.get_in_shift|
-        ADD      a3,v2,#&114
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&74]!
-        TEQ      a1,#4
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        BNE      |L0039c0.J7.get_in_shift|
-        ORR      a2,a1,#&2100000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      a2,#&1a00000
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&f2000000
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&200
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L0039c0.J7.get_in_shift|
-        ORR      a2,a1,#&2100000
-        ORR      a2,a2,#3
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&180
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L003a24.J4.get_in_shift|
-        ADD      a1,v2,#&20
-        SUB      a1,a1,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-fetch_pixel_init
-        MOV      ip,sp
-        STMDB    sp!,{v1-v5,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&f4]
-        AND      a1,a1,#&ff
-        ADD      a3,v2,#8
-        SUB      a2,a3,v2
-        ORR      v4,a2,#&1800000
-        TEQ      a1,#&32
-        BNE      |L003ac8.J4.fetch_pixel_init|
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&38
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        B        |L003b08.J49.fetch_pixel_init|
-|L003ac8.J4.fetch_pixel_init|
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORREQ    a1,a1,#&4100000
-        ADDEQ    a2,a1,v4
-        BEQ      |L003b08.J49.fetch_pixel_init|
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&118
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-|L003b08.J49.fetch_pixel_init|
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       x_block_move
-        TEQ      a1,#0
-        BEQ      |L003b68.J10.fetch_pixel_init|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       get_in_shift
-        LDR      a1,[v1,#&188]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a1,v2,#&108
-        SUB      a1,a1,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        LDMDB    fp,{v1-v5,fp,sp,lr}
-        B        do_ins
-|L003b68.J10.fetch_pixel_init|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L003c34.J13.fetch_pixel_init|
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&34
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&18
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&190]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&130
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        B        |L003c6c.J50.fetch_pixel_init|
-|L003c34.J13.fetch_pixel_init|
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#5
-        BEQ      |L003c74.J15.fetch_pixel_init|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       get_in_shift
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&d80
-|L003c6c.J50.fetch_pixel_init|
-        MOV      a1,v1
-        BL       do_ins
-|L003c74.J15.fetch_pixel_init|
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L003e04.J18.fetch_pixel_init|
-        ADD      a3,v2,#&48
-        SUB      a2,a3,v2
-        ORR      v3,a2,#&1800000
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L003ca8.J21.fetch_pixel_init|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L003ddc.J20.fetch_pixel_init|
-|L003ca8.J21.fetch_pixel_init|
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&88
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&168]
-        BL       rr
-        BEQ      |L003d18.J24.fetch_pixel_init|
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&8c
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        B        |L003d88.J51.fetch_pixel_init|
-|L003d18.J24.fetch_pixel_init|
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&168]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&168]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&800000
-|L003d88.J51.fetch_pixel_init|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&170]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&170]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&d80
-        B        |L003dfc.J52.fetch_pixel_init|
-|L003ddc.J20.fetch_pixel_init|
-        LDR      a1,[v1,#&174]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-|L003dfc.J52.fetch_pixel_init|
-        MOV      a1,v1
-        BL       do_ins
-|L003e04.J18.fetch_pixel_init|
-        LDR      a1,[v2,#&10c]
-        TEQ      a1,#0
-        BEQ      |L003e40.J28.fetch_pixel_init|
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&10c
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        B        |L003ef4.J53.fetch_pixel_init|
-|L003e40.J28.fetch_pixel_init|
-        LDR      a1,[v2,#&f8]
-        TEQ      a1,#0
-        BEQ      |L003e7c.J31.fetch_pixel_init|
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&f8
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        B        |L003ef4.J53.fetch_pixel_init|
-|L003e7c.J31.fetch_pixel_init|
-        LDR      a1,[v2,#&b4]
-        TEQ      a1,#0
-        BEQ      |L003efc.J30.fetch_pixel_init|
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&b4
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&104]
-        CMP      a1,#8
-        BGT      |L003efc.J30.fetch_pixel_init|
-        LDR      a1,[v2,#&74]
-        CMP      a1,#4
-        BLT      |L003efc.J30.fetch_pixel_init|
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&5900000
-        ORR      a2,a2,#4
-|L003ef4.J53.fetch_pixel_init|
-        MOV      a1,v1
-        BL       do_ins
-|L003efc.J30.fetch_pixel_init|
-        LDR      a1,[v2,#&74]
-        CMP      a1,#3
-        BGT      |L003f38.J39.fetch_pixel_init|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_x_scale
-        TEQ      a1,#0
-        BEQ      |L003f38.J39.fetch_pixel_init|
-        LDR      a1,[v1,#&1c0]
-        BL       rr
-        LDR      a2,[v1,#&200]
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&3a00000
-        MOV      a1,v1
-        BL       do_ins
-|L003f38.J39.fetch_pixel_init|
-        LDR      a1,[v1,#&180]
-        CMN      a1,#1
-        BEQ      |L003fc4.J42.fetch_pixel_init|
-        BL       rr
-        MOV      a2,#&3a00000
-        ADD      a2,a2,#&e0
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&180]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&180]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&180]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&400
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&180]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&180]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&180]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&400
-        MOV      a1,v1
-        BL       do_ins
-|L003fc4.J42.fetch_pixel_init|
-        LDR      a1,[v1,#&1f4]
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1-v5,fp,sp,pc}^
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&4c
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&184]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&50
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&184]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&200000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&184]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&80
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,#&c10
-        ADD      v3,v3,#&3a00000
-        ORR      a2,v3,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a2,a1,#&5900000
-        ORR      a2,a2,#&1fc
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,#&3100000
-        ADD      a2,a2,#1
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&184]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a2,a1,#&10000000
-        ORR      a2,a2,#&2200000
-        ORR      a2,a2,#3
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a2,v3,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&5900000
-        ORR      a2,a2,#&1f8
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&104]!
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&3100000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&184]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&10000000
-        ORR      a2,a2,#&2200000
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&184]
-        BL       rr
-        LDR      a2,[v1,#&1f4]
-        ADD      a2,a2,#&17
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v5,fp,sp,lr}
-        B        do_ins
-
-save_pixel_init
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a2,#&198]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&c
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       x_block_move
-        ADD      a3,v2,#&4c
-        SUB      a2,a3,v2
-        ORR      v3,a2,#&1800000
-        TEQ      a1,#0
-        BEQ      |L004340.J4.save_pixel_init|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        LDR      a2,[v1,#&220]
-        SUB      a2,a2,#1
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2000000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        LDMDB    fp,{v1-v4,fp,sp,lr}
-        B        do_ins
-|L004340.J4.save_pixel_init|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L00435c.J8.save_pixel_init|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BEQ      |L004384.J7.save_pixel_init|
-|L00435c.J8.save_pixel_init|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-        MOV      a1,v1
-        BL       do_ins
-|L004384.J7.save_pixel_init|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L004434.J11.save_pixel_init|
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v1,#&220]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&2000000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&224]
-        CMP      a1,#2
-        BLE      |L0043fc.J13.save_pixel_init|
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        LDR      a2,[v1,#&224]
-        SUB      a2,a2,#2
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-|L0043fc.J13.save_pixel_init|
-        LDR      a1,[v1,#&224]
-        CMP      a1,#2
-        BGE      |L004434.J11.save_pixel_init|
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        LDR      a2,[v1,#&224]
-        RSB      a2,a2,#2
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-|L004434.J11.save_pixel_init|
-        LDR      a1,[v2,#&104]!
-        TEQ      a1,#&20
-        LDMEQDB  fp,{v1-v4,fp,sp,pc}^
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        LDR      a2,[v1,#&220]
-        SUB      a2,a2,#1
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2000000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&d80
-        MOV      a1,v1
-        LDMDB    fp,{v1-v4,fp,sp,lr}
-        B        do_ins
-
-xloop_init
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a2,#&1a8]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&2c
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_x_scale
-        TEQ      a1,#0
-        BNE      |L004598.J4.xloop_init|
-        ADD      a3,v2,#&30
-        SUB      a2,a3,v2
-        ORR      v3,a2,#&1800000
-        LDR      a1,[v1,#&1f4]
-        TEQ      a1,#0
-        BEQ      |L004570.J6.xloop_init|
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#4
-        LDREQ    a1,[v1,#&158]
-        BEQ      |L004574.J14.xloop_init|
-|L004570.J6.xloop_init|
-        LDR      a1,[v1,#&1ac]
-|L004574.J14.xloop_init|
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-        MOV      a1,v1
-        BL       do_ins
-|L004598.J4.xloop_init|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       x_block_move
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1-v4,fp,sp,pc}^
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v4,fp,sp,lr}
-        B        do_ins
-
-yloop_init
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&110]
-        TEQ      a1,#0
-        BEQ      |L00462c.J4.yloop_init|
-        LDR      a1,[v1,#&194]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&11c
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-|L00462c.J4.yloop_init|
-        LDR      a1,[v1,#&1b0]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&18
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_y_scale
-        TEQ      a1,#0
-        BNE      |L0046a8.J6.yloop_init|
-        LDR      a1,[v1,#&1b4]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&1c
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        MOV      a1,v1
-        BL       do_ins
-|L0046a8.J6.yloop_init|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        ADD      a3,v2,#4
-        SUB      a2,a3,v2
-        ORR      v3,a2,#&1800000
-        TEQ      a1,#&32
-        BEQ      |L004704.J8.yloop_init|
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&1b8]
-        BL       rr
-        MOVNE    a2,#&3a00000
-        ADDNE    a2,a2,#1
-        ORRNE    a2,a2,a1,LSL #12
-        BNE      |L0046fc.J20.yloop_init|
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-|L0046fc.J20.yloop_init|
-        MOV      a1,v1
-        BL       do_ins
-|L004704.J8.yloop_init|
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BEQ      |L004748.J13.yloop_init|
-        LDR      a1,[v1,#&1bc]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a1,v2,#&90
-        SUB      a1,a1,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        LDMDB    fp,{v1-v4,fp,sp,lr}
-        B        do_ins
-|L004748.J13.yloop_init|
-        LDR      a1,[v2,#&f4]!
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        LDMNEDB  fp,{v1-v4,fp,sp,pc}^
-        LDR      a1,[v1,#&1bc]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-        MOV      a1,v1
-        LDMDB    fp,{v1-v4,fp,sp,lr}
-        B        do_ins
-
-fetch_pixel_unmasked
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        LDR      a2,[a1,#&f4]
-        AND      a2,a2,#&ff
-        TEQ      a2,#&32
-        BNE      |L00489c.J4.fetch_pixel_unmasked|
-        LDR      a1,[a1,#&104]
-        TEQ      a1,#&20
-        BNE      |L0047e4.J6.fetch_pixel_unmasked|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&7900000
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-|L0047e4.J6.fetch_pixel_unmasked|
-        TEQ      a1,#&10
-        BNE      |L004840.J9.fetch_pixel_unmasked|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&800
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&820
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-|L004840.J9.fetch_pixel_unmasked|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        LDR      a2,[v1,#&218]
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2000000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&190]
-        BL       rr
-        ORR      a2,v2,a1
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-|L00489c.J4.fetch_pixel_unmasked|
-        LDR      a1,[a1,#&74]
-        TEQ      a1,#5
-        BNE      |L0048d0.J13.fetch_pixel_unmasked|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4900000
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-|L0048d0.J13.fetch_pixel_unmasked|
-        TEQ      a1,#4
-        BNE      |L00492c.J16.fetch_pixel_unmasked|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&800
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&820
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-|L00492c.J16.fetch_pixel_unmasked|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a2,v2,a1,LSL #16
-        LDR      a1,[v1,#&200]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&2000000
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-
-fetch_pixel
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        MOV      v3,a3
-        LDR      a1,[a2,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L0049ac.J4.fetch_pixel|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      a2,#&3100000
-        ADD      a2,a2,#1
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-|L0049ac.J4.fetch_pixel|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_unmasked
-        LDR      a1,[v1,#&1ec]!
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-fetch_pixel2
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        MOV      v3,a3
-        LDR      a1,[a1,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        MOVEQ    a2,#4
-        MOVEQ    a1,#&37
-        ADDEQ    a1,a1,#&800
-        BLEQ     exit_c
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L004af0.J6.fetch_pixel2|
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        LDR      a2,[v1,#&204]
-        BEQ      |L004aac.J8.fetch_pixel2|
-        ORR      v4,a1,a2,LSL #7
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v4,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&170]
-        BL       rr
-        ORR      a2,v4,a1,LSL #16
-        LDR      a1,[v1,#&204]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&168]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&5b00000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      a2,#&3100000
-        ADD      a2,a2,#1
-        ORR      a2,a2,a1,LSL #16
-        B        |L004ad8.J22.fetch_pixel2|
-|L004aac.J8.fetch_pixel2|
-        TEQ      a2,#1
-        MOVEQ    a2,#&2000000
-        ADDEQ    a2,a2,#2
-        BEQ      |L004ad0.J11.fetch_pixel2|
-        LDR      a2,[v1,#&208]
-        RSB      a2,a2,#&20
-        MOV      a3,#&2000000
-        ADD      a3,a3,#1
-        ORR      a2,a3,a2,LSL #7
-|L004ad0.J11.fetch_pixel2|
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&1100000
-|L004ad8.J22.fetch_pixel2|
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-|L004af0.J6.fetch_pixel2|
-        LDR      a1,[v2,#&74]!
-        TEQ      a1,#5
-        BNE      |L004b20.J14.fetch_pixel2|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&5900000
-        ORR      a2,a2,#4
-        B        |L004b7c.J23.fetch_pixel2|
-|L004b20.J14.fetch_pixel2|
-        TEQ      a1,#4
-        BNE      |L004b4c.J17.fetch_pixel2|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&820
-        B        |L004b7c.J23.fetch_pixel2|
-|L004b4c.J17.fetch_pixel2|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1c0]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&164]
-        BL       rr
-        LDR      a2,[v1,#&1fc]
-        ORR      a1,a1,a2,LSL #7
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&20
-|L004b7c.J23.fetch_pixel2|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ec]!
-        LDMDB    fp,{v1-v4,fp,sp,pc}^
-
-do_add_ordered_dither_gun
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        RSB      a1,a3,#&20
-        SUB      v2,a1,a4
-        LDR      a1,[a2,#&158]
-        BL       rr
-        ORR      v3,a1,v2,LSL #7
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&1700000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,a1,v2,LSL #7
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&30800000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-add_ordered_dither
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v3,a1
-        MOV      v2,a2
-        MOV      v1,a3
-        LDR      a4,[a2,#&1f4]
-        TEQ      a4,#0
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        MOV      a4,v1,LSL #1
-        BL       do_add_ordered_dither_gun
-        MOV      a4,v1
-        MOV      a3,v1
-        MOV      a2,v2
-        MOV      a1,v3
-        BL       do_add_ordered_dither_gun
-        MOV      a3,v1
-        MOV      a2,v2
-        MOV      a1,v3
-        MOV      a4,#0
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_add_ordered_dither_gun
-
-translate_pixel
-        MOV      ip,sp
-        STMDB    sp!,{v1-v5,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a3,[a1,#&f4]
-        AND      a3,a3,#&ff
-        MOV      v5,#&1f
-        TEQ      a3,#&32
-        LDR      v3,[a1,#&74]
-        BNE      |L004d24.J4.translate_pixel|
-        LDR      a1,[v1,#&1e8]
-        AND      a1,a1,#7
-        TEQ      a1,#2
-        LDMNEDB  fp,{v1-v5,fp,sp,pc}^
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&104]
-        SUB      a2,v5,a2
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&3800000
-        ORR      a2,a2,#&100
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&104]!
-        SUB      a2,v5,a2
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&40
-        MOV      a1,v1
-        LDMDB    fp,{v1-v5,fp,sp,lr}
-        B        do_ins
-|L004d24.J4.translate_pixel|
-        LDR      a3,[v1,#&1f4]
-        TEQ      a3,#0
-        BEQ      |L004d40.J8.translate_pixel|
-        TEQ      v3,#5
-        MOVNE    a3,#5
-        MOVEQ    a3,#8
-        BL       add_ordered_dither
-|L004d40.J8.translate_pixel|
-        LDR      a1,[v2,#&f8]
-        TEQ      a1,#0
-        BEQ      |L004dd8.J13.translate_pixel|
-        CMP      v3,#3
-        MOVGT    a2,#4
-        MOVGT    a1,#&9d
-        ADDGT    a1,a1,#&800
-        BLGT     exit_c
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORREQ    a2,a1,#&7900000
-        ORREQ    a2,a2,#&100
-        BEQ      |L004f1c.J58.translate_pixel|
-        ORR      a2,a1,#&7900000
-        ORR      a2,a2,#&180
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&420
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#5
-        B        |L004de0.J21.translate_pixel|
-|L004dd8.J13.translate_pixel|
-        TEQ      v3,#5
-        BNE      |L004f2c.J20.translate_pixel|
-|L004de0.J21.translate_pixel|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BEQ      |L0050d8.J23.translate_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&800
-        ORR      a2,a2,#&f8
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&380
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&f8
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&500
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&f8
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&680
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&820
-|L004f1c.J58.translate_pixel|
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#4
-        B        |L004f34.J24.translate_pixel|
-|L004f2c.J20.translate_pixel|
-        TEQ      v3,#4
-        BNE      |L0050d8.J23.translate_pixel|
-|L004f34.J24.translate_pixel|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BNE      |L0050d8.J23.translate_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&800
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&d20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&980
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&600
-        ORR      a2,a2,#&3e
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&520
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&580
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&c20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&180]
-        BL       rr
-        ORR      a2,v3,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&2a0
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#5
-|L0050d8.J23.translate_pixel|
-        LDR      a1,[v2,#&b4]
-        TEQ      a1,#0
-        BEQ      |L005180.J26.translate_pixel|
-        LDR      a1,[v1,#&210]
-        CMP      a1,#3
-        BGT      |L005130.J28.translate_pixel|
-        CMP      v3,#4
-        MOVGT    a2,#4
-        MOVGT    a1,#&f6
-        ADDGT    a1,a1,#&800
-        BLGT     exit_c
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&7d00000
-        B        |L005170.J59.translate_pixel|
-|L005130.J28.translate_pixel|
-        CMP      v3,#3
-        MOVGT    a2,#4
-        MOVGT    a1,#&fc
-        ADDGT    a1,a1,#&800
-        BLGT     exit_c
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&7900000
-        ORR      a2,a2,#&100
-|L005170.J59.translate_pixel|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      v3,[v1,#&210]
-        B        |L005624.J35.translate_pixel|
-|L005180.J26.translate_pixel|
-        TEQ      v3,#4
-        BNE      |L005624.J35.translate_pixel|
-        LDR      a1,[v1,#&210]
-        CMP      a1,#4
-        BGE      |L005624.J35.translate_pixel|
-        MOV      v4,#&3100000
-        ADD      v4,v4,#&10
-        TEQ      a1,#0
-        BNE      |L0051f8.J39.translate_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a2,v4,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,#&3a00000
-        ADD      a2,a2,#1
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,#&3a00000
-        ADD      a2,a2,#&10000000
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#0
-        B        |L00527c.J41.translate_pixel|
-|L0051f8.J39.translate_pixel|
-        TEQ      a1,#1
-        BNE      |L00527c.J41.translate_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&1a0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#3
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#3
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#1
-|L00527c.J41.translate_pixel|
-        LDR      a1,[v1,#&210]
-        TEQ      a1,#2
-        BNE      |L005308.J44.translate_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&120
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#7
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#7
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#2
-        B        |L005624.J35.translate_pixel|
-|L005308.J44.translate_pixel|
-        TEQ      a1,#3
-        BNE      |L005624.J35.translate_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&1c
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&520
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&e0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&800000
-        ORR      a2,a2,#&2a0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#7
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&800000
-        ORR      a2,a2,#&100
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      a2,#&3a00000
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,#&c40
-        ADD      a2,a2,#&3100000
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&13800000
-        ORR      a2,a2,#&80
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,#&c20
-        ADD      a2,a2,#&3100000
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&13800000
-        ORR      a2,a2,#8
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[pc, #L005728-.-8]
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&13800000
-        ORR      a2,a2,#&40
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[pc, #L00572c-.-8]
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&13800000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a2,v4,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&13800000
-        ORR      a2,a2,#&10
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,#&3100000
-        ADD      a2,a2,#8
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&13800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&2a0
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#3
-|L005624.J35.translate_pixel|
-        LDR      a1,[v1,#&210]
-        TEQ      v3,a1
-        MOVNE    a2,#4
-        MOVNE    a1,#&56
-        ADDNE    a1,a1,#&900
-        BLNE     exit_c
-        LDR      a1,[v1,#&1e8]
-        AND      a1,a1,#7
-        TEQ      a1,#2
-        BNE      |L0056dc.J51.translate_pixel|
-        TEQ      v3,#5
-        BEQ      |L0056dc.J51.translate_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&104]
-        SUB      a2,v5,a2
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&3800000
-        ORR      a2,a2,#&100
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&104]
-        SUB      a2,v5,a2
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&40
-        MOV      a1,v1
-        BL       do_ins
-|L0056dc.J51.translate_pixel|
-        LDR      a1,[v2,#&104]
-        LDR      a2,[v2,#&100]
-        TEQ      a1,a2
-        LDMEQDB  fp,{v1-v5,fp,sp,pc}^
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&104]!
-        ORR      a1,a1,a2,LSL #7
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v5,fp,sp,lr}
-        B        do_ins
-L005728
-        DCD     &03100c02
-L00572c
-        DCD     &03100c01
-
-save_pixel
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&104]
-        TEQ      a1,#&20
-        LDR      a1,[a2,#&1e8]
-        BNE      |L00591c.J4.save_pixel|
-        TEQ      a1,#0
-        BEQ      |L0058f4.J6.save_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4900000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1e8]
-        SUB      a1,a1,#1
-        CMP      a1,#6
-        ADDLS    pc,pc,a1,LSL #2
-        B        |L005898.J8.save_pixel|
-        B        |L0057d0.J14.save_pixel|
-        B        |L005820.J13.save_pixel|
-        B        |L005848.J12.save_pixel|
-        B        |L005874.J11.save_pixel|
-        B        |L005898.J8.save_pixel|
-        B        |L0057fc.J10.save_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1e00000
-        MOV      a1,v1
-        BL       do_ins
-|L0057d0.J14.save_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&1800000
-        B        |L005890.J54.save_pixel|
-|L0057fc.J10.save_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1e00000
-        MOV      a1,v1
-        BL       do_ins
-|L005820.J13.save_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a2,v2,a1
-        B        |L005890.J54.save_pixel|
-|L005848.J12.save_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&200000
-        B        |L005890.J54.save_pixel|
-|L005874.J11.save_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1e00000
-|L005890.J54.save_pixel|
-        MOV      a1,v1
-        BL       do_ins
-|L005898.J8.save_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#7
-        TEQNE    a1,#6
-        LDMNEDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1e00000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L0058f4.J6.save_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L00591c.J4.save_pixel|
-        TEQ      a1,#6
-        TEQNE    a1,#7
-        BNE      |L005994.J21.save_pixel|
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        LDRNE    a2,[v1,#&21c]
-        ORRNE    a1,a1,a2
-        ORRNE    a2,a1,#&2200000
-        BNE      |L00598c.J55.save_pixel|
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&ff
-|L00598c.J55.save_pixel|
-        MOV      a1,v1
-        BL       do_ins
-|L005994.J21.save_pixel|
-        LDR      a1,[v1,#&1e8]
-        CMP      a1,#7
-        ADDLS    pc,pc,a1,LSL #2
-        B        |L005b38.J28.save_pixel|
-        B        |L0059c4.J36.save_pixel|
-        B        |L005a44.J35.save_pixel|
-        B        |L005a70.J34.save_pixel|
-        B        |L005a98.J33.save_pixel|
-        B        |L005ac4.J32.save_pixel|
-        B        |L005b38.J28.save_pixel|
-        B        |L005a70.J34.save_pixel|
-        B        |L005a44.J35.save_pixel|
-|L0059c4.J36.save_pixel|
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L005a44.J35.save_pixel|
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        BNE      |L005a2c.J39.save_pixel|
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&ff
-        B        |L005a3c.J56.save_pixel|
-|L005a2c.J39.save_pixel|
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v1,#&21c]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&3c00000
-|L005a3c.J56.save_pixel|
-        MOV      a1,v1
-        BL       do_ins
-|L005a44.J35.save_pixel|
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        B        |L005b30.J57.save_pixel|
-|L005a70.J34.save_pixel|
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a2,v3,a1
-        B        |L005b30.J57.save_pixel|
-|L005a98.J33.save_pixel|
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&200000
-        B        |L005b30.J57.save_pixel|
-|L005ac4.J32.save_pixel|
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        BNE      |L005b20.J42.save_pixel|
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&ff
-        B        |L005b30.J57.save_pixel|
-|L005b20.J42.save_pixel|
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v1,#&21c]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&2200000
-|L005b30.J57.save_pixel|
-        MOV      a1,v1
-        BL       do_ins
-|L005b38.J28.save_pixel|
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#6
-        TEQNE    a1,#7
-        LDMNEDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v2,#&100]!
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        BNE      |L005bac.J49.save_pixel|
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L005bac.J49.save_pixel|
-        LDR      a2,[v1,#&21c]
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2200000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-save_pixel_opt
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        LDR      a1,[a1,#&100]
-        TEQ      a1,#&10
-        LDR      a1,[a2,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        BNE      |L005c30.J4.save_pixel_opt|
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&ff
-        B        |L005c40.J9.save_pixel_opt|
-|L005c30.J4.save_pixel_opt|
-        ORR      a2,v2,a1,LSL #16
-        LDR      a1,[v1,#&21c]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&3c00000
-|L005c40.J9.save_pixel_opt|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&1800000
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-
-save_pixel2
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a2,#&1e8]
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&eb
-        ADDNE    a1,a1,#&900
-        BLNE     exit_c
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BNE      |L005ce0.J6.save_pixel2|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&5800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L005ce0.J6.save_pixel2|
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L005d84.J9.save_pixel2|
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        BNE      |L005d4c.J11.save_pixel2|
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#&800
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#&400
-        ORR      a2,a2,#&ff
-        B        |L005d7c.J19.save_pixel2|
-|L005d4c.J11.save_pixel2|
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#1
-        MOVEQ    a1,#&2000000
-        ADDEQ    a1,a1,#2
-        BEQ      |L005d74.J14.save_pixel2|
-        RSB      a3,a1,#&20
-        LDR      a1,[v1,#&21c]
-        ORR      a1,a1,a3,LSL #7
-        ORR      a1,a1,#&2000000
-|L005d74.J14.save_pixel2|
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&1c00000
-|L005d7c.J19.save_pixel2|
-        MOV      a1,v1
-        BL       do_ins
-|L005d84.J9.save_pixel2|
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&100]!
-        ORR      a1,a1,a2,LSL #7
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-fetch_pixel_inc
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L005ee4.J4.fetch_pixel_inc|
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#5
-        BNE      |L005e14.J6.fetch_pixel_inc|
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#4
-        B        |L005edc.J25.fetch_pixel_inc|
-|L005e14.J6.fetch_pixel_inc|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        LDR      a2,[v1,#&1fc]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        MOVNE    a1,#0
-        MOVEQ    a1,#1
-        LDR      a2,[v1,#&1ec]
-        TST      a1,a2
-        BEQ      |L005e88.J9.fetch_pixel_inc|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        LDR      a2,[v1,#&1fc]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-|L005e88.J9.fetch_pixel_inc|
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v1,#&1fc]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&5b00000
-        ORR      a2,a2,#4
-|L005edc.J25.fetch_pixel_inc|
-        MOV      a1,v1
-        BL       do_ins
-|L005ee4.J4.fetch_pixel_inc|
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L005f0c.J17.fetch_pixel_inc|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L005f98.J16.fetch_pixel_inc|
-|L005f0c.J17.fetch_pixel_inc|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        LDR      a2,[v1,#&204]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&170]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        LDR      a2,[v1,#&204]
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&168]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&5b00000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L005f98.J16.fetch_pixel_inc|
-        LDR      a1,[v2,#&74]!
-        TEQ      a1,#5
-        MOVEQ    a2,#4
-        MOVEQ    a1,#&31
-        ADDEQ    a1,a1,#&a00
-        BLEQ     exit_c
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      v2,a1,#&4100000
-        LDR      a1,[v1,#&174]
-        BL       rr
-        ORR      a1,a1,#&3800000
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&f0000000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-fetch_pixel_inc2
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&74]
-        TEQ      a1,#5
-        BNE      |L006030.J4.fetch_pixel_inc2|
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#8
-        B        |L006128.J24.fetch_pixel_inc2|
-|L006030.J4.fetch_pixel_inc2|
-        LDR      a1,[v2,#&78]
-        TEQ      a1,#4
-        LDR      a1,[v1,#&164]
-        BL       rr
-        BNE      |L006060.J7.fetch_pixel_inc2|
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&5b00000
-        ORR      a2,a2,#4
-        B        |L006128.J24.fetch_pixel_inc2|
-|L006060.J7.fetch_pixel_inc2|
-        LDR      a2,[v1,#&1fc]
-        MOV      a2,a2,LSL #1
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        MOVNE    a2,#0
-        MOVEQ    a2,#1
-        LDR      a1,[v1,#&1ec]
-        TST      a2,a1
-        BEQ      |L0060d4.J10.fetch_pixel_inc2|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        LDR      a2,[v1,#&1fc]
-        MOV      a2,a2,LSL #1
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-|L0060d4.J10.fetch_pixel_inc2|
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        LDR      a2,[v1,#&1fc]
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&200
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&5b00000
-        ORR      a2,a2,#4
-|L006128.J24.fetch_pixel_inc2|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BEQ      |L0061d4.J17.fetch_pixel_inc2|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        LDR      a2,[v1,#&204]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&170]
-        BL       rr
-        ORR      a2,v2,a1,LSL #16
-        LDR      a1,[v1,#&204]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&168]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&5b00000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L0061d4.J17.fetch_pixel_inc2|
-        LDR      a1,[v2,#&74]!
-        TEQ      a1,#5
-        MOVEQ    a2,#4
-        MOVEQ    a1,#&6a
-        ADDEQ    a1,a1,#&a00
-        BLEQ     exit_c
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      v2,a1,#&4100000
-        LDR      a1,[v1,#&174]
-        BL       rr
-        ORR      a1,a1,#&3800000
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&f0000000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-odither_inc
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        MOV      v2,a3
-        LDR      a1,[a2,#&1f4]
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v1,#&184]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v1,#&1f4]
-        SUB      a3,a1,v2
-        MOV      a1,#1
-        ORR      a1,a2,a1,LSL a3
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&400
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-skip_current_output_words
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        LDR      a1,[a1,#&104]
-        MOV      v2,#&3a00000
-        TEQ      a1,#&20
-        BNE      |L0062f0.J4.skip_current_output_words|
-        LDR      a1,[v1,#&198]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&800000
-        ORR      a2,a2,#&100
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a2,v2,a1,LSL #12
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L0062f0.J4.skip_current_output_words|
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&400000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      v3,v3,a1,LSL #8
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&70
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a2,v2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        LDR      a2,[v1,#&224]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1b00000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&198]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&10800000
-        ORR      a2,a2,#&100
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4900000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[v1,#&224]
-        ORR      a1,a1,a2,LSL #7
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&400000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-skip_some_pixels
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        LDR      a1,[a2,#&1ac]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      v2,v2,a1,LSL #8
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&70
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&400000
-        ORR      a2,a2,#&d80
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      a2,#&3a00000
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-
-save_pixel_inc
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&104]
-        TEQ      a1,#&20
-        BNE      |L006590.J4.save_pixel_inc|
-        LDR      a1,[v1,#&198]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L0066dc.J8.save_pixel_inc|
-        B        |L0066ac.J16.save_pixel_inc|
-|L006590.J4.save_pixel_inc|
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L0065f8.J9.save_pixel_inc|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-|L0065f8.J9.save_pixel_inc|
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v2,#&100]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&c0000000
-        ORR      a2,a2,#&34800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#0
-        LDREQ    a1,[v1,#&1ec]
-        TEQEQ    a1,#0
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOVEQ    a2,#&1a00000
-        ORREQ    a1,a2,a1,LSL #12
-        ORREQ    a2,a1,#&f2000000
-        BEQ      |L006694.J19.save_pixel_inc|
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&4900000
-|L006694.J19.save_pixel_inc|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L0066dc.J8.save_pixel_inc|
-|L0066ac.J16.save_pixel_inc|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&7900000
-        MOV      a1,v1
-        BL       do_ins
-|L0066dc.J8.save_pixel_inc|
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#0
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        odither_inc
-
-save_pixel_inc2
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&104]
-        TEQ      a1,#&20
-        BNE      |L006734.J4.save_pixel_inc2|
-        LDR      a1,[v1,#&198]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#8
-        B        |L006858.J18.save_pixel_inc2|
-|L006734.J4.save_pixel_inc2|
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        BNE      |L00679c.J7.save_pixel_inc2|
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOVEQ    a2,#&3a00000
-        ORREQ    a2,a2,a1,LSL #12
-        BEQ      |L006858.J18.save_pixel_inc2|
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4900000
-        B        |L006858.J18.save_pixel_inc2|
-|L00679c.J7.save_pixel_inc2|
-        LDR      a2,[v2,#&100]
-        MOV      a2,a2,LSL #1
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        LDR      a2,[v2,#&100]
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&200
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&c0000000
-        ORR      a2,a2,#&34800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOVEQ    a2,#&1a00000
-        ORREQ    a1,a2,a1,LSL #12
-        ORREQ    a2,a1,#&f2000000
-        BEQ      |L006858.J18.save_pixel_inc2|
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&4900000
-|L006858.J18.save_pixel_inc2|
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#0
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        odither_inc
-
-plot_current_output_words
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        MOV      v5,a3
-        LDR      a1,[a1,#&104]
-        ADD      v4,a2,#&110
-        ADD      v3,a2,#&108
-        TEQ      a1,#&20
-        BNE      |L006ab0.J4.plot_current_output_words|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        CMP      v5,#&15
-        BGE      |L006968.J6.plot_current_output_words|
-        MOV      v6,#1
-        CMP      v5,#1
-        LDMLEDB  fp,{v1-v6,fp,sp,pc}^
-|L006904.J8.plot_current_output_words|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&14800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&10000000
-        ORR      a2,a2,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        ADD      v6,v6,#1
-        CMP      v6,v5
-        BLT      |L006904.J8.plot_current_output_words|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L006968.J6.plot_current_output_words|
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v2,#&3500000
-        ADD      v2,v2,#&a
-        ORR      a2,v2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v4
-        MOV      a1,v1
-        MOV      a2,#&da000000
-        BL       do_branch
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        MOV      v6,#0
-|L0069a4.J13.plot_current_output_words|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        ADD      v6,v6,#1
-        CMP      v6,#&a
-        BLT      |L0069a4.J13.plot_current_output_words|
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&2400000
-        ORR      a2,a2,#&a
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a2,v2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&ca000000
-        BL       do_branch
-        MOV      a2,v4
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      a2,#&3500000
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v6,#0
-|L006a4c.J15.plot_current_output_words|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&14800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&10000000
-        ORR      a2,a2,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        ADD      v6,v6,#1
-        CMP      v6,#&a
-        BLT      |L006a4c.J15.plot_current_output_words|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L006ab0.J4.plot_current_output_words|
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      v5,v5,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v5,a1
-        ORR      a2,a1,#&400000
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a2,v1,#&100
-        MOV      v6,a2
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v5,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v5,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a2,v5,a1,LSL #16
-        LDR      a1,[v2,#&100]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v5,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v5,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        LDR      a2,[v2,#&100]
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v4
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v5,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v5,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a2,v5,a1,LSL #16
-        LDR      a1,[v2,#&100]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&118
-        MOV      v5,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      a2,a1,a2,LSL #7
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        LDR      a2,[v2,#&100]
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v6
-        MOV      a1,v1
-        MOV      a2,#&1a000000
-        BL       do_branch
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v4
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v5
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        LDR      a2,[v1,#&224]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1b00000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&128
-        MOV      v3,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        LDR      v6,[v2,#&104]
-        CMP      v6,#&20
-        BGE      |L006dbc.J19.plot_current_output_words|
-|L006d7c.J18.plot_current_output_words|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v4,v4,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,a1,v6,LSL #7
-        ORR      a1,v4,a1
-        ORR      a2,a1,#&1800000
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v6,v6,LSL #1
-        CMP      v6,#&20
-        BLT      |L006d7c.J18.plot_current_output_words|
-|L006dbc.J19.plot_current_output_words|
-        ADD      a2,v1,#&120
-        MOV      v4,a2
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a2,v5,a1,LSL #16
-        LDR      a1,[v1,#&220]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&2400000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v4
-        MOV      a1,v1
-        MOV      a2,#&1a000000
-        BL       do_branch
-        LDR      a1,[v2,#&100]!
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&158]
-        BL       rr
-        BNE      |L006eb0.J22.plot_current_output_words|
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&800
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&820
-        B        |L006ecc.J32.plot_current_output_words|
-|L006eb0.J22.plot_current_output_words|
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a2,v2,a1,LSL #16
-        LDR      a1,[v1,#&21c]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&2000000
-|L006ecc.J32.plot_current_output_words|
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4900000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v6,fp,sp,lr}
-        B        do_ins
-
-plot_some_pixels
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        ADD      a2,a2,#&130
-        MOV      v6,a2
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v2,#&100]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&138
-        MOV      v5,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        LDR      a2,[v2,#&100]
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&140
-        MOV      v4,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        LDR      a2,[v2,#&100]
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&148
-        MOV      v3,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      a2,a1,a2,LSL #7
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        LDR      a2,[v2,#&100]!
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v6
-        MOV      a1,v1
-        MOV      a2,#&1a000000
-        BL       do_branch
-        MOV      a2,v5
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v4
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v3
-        MOV      a1,v1
-        LDMDB    fp,{v1-v6,fp,sp,lr}
-        B        define_label
-
-arbitrary_add
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a4
-        MOV      ip,#1
-        MOV      a4,#0
-        LDR      v3,[fp,#4]
-        CMP      v3,#0
-        BGE      |L007228.J4.arbitrary_add|
-        RSB      v3,v3,#0
-        TEQ      a2,#0
-        MOVNE    a2,a4
-        MOVEQ    a2,ip
-|L007228.J4.arbitrary_add|
-        TEQ      v3,#0
-        BNE      |L00724c.J9.arbitrary_add|
-        TEQ      a3,#0
-        LDMEQDB  fp,{v1-v6,fp,sp,pc}^
-        MOV      a2,#&3500000
-        LDR      a3,[v1,#0]
-        ORR      a2,a2,a3,LSL #16
-        LDMDB    fp,{v1-v6,fp,sp,lr}
-        B        do_ins
-|L00724c.J9.arbitrary_add|
-        TEQ      a2,#0
-        MOVEQ    v6,#&400000
-        MOVNE    v6,#&800000
-        TEQ      a3,#0
-        MOVEQ    v5,a4
-        MOVNE    v5,#&100000
-        MOV      v4,#0
-|L007268.J20.arbitrary_add|
-        CMP      v3,#&ff
-        BLE      |L007288.J23.arbitrary_add|
-        TST      v3,#3
-        BNE      |L007288.J23.arbitrary_add|
-|L007278.J25.arbitrary_add|
-        MOV      v3,v3,ASR #2
-        ADD      v4,v4,#2
-        TST      v3,#3
-        BEQ      |L007278.J25.arbitrary_add|
-|L007288.J23.arbitrary_add|
-        AND      a2,v3,#&ff
-        BICS     v3,v3,#&ff
-        MOVNE    a1,#0
-        MOVEQ    a1,#1
-        TEQ      a1,#0
-        MOVNE    a1,v5
-        ORR      a3,a1,v6
-        LDR      a1,[v1,#0]
-        ORR      a3,a3,a1,LSL #12
-        ORR      a1,a3,a1,LSL #16
-        ORR      a1,a1,a2
-        RSB      a2,v4,#&20
-        AND      a2,a2,#&1e
-        ORR      a1,a1,a2,LSL #7
-        ORR      a2,a1,#&2000000
-        MOV      a1,v2
-        BL       do_ins
-        TEQ      v3,#0
-        BNE      |L007268.J20.arbitrary_add|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-init_word_registers
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        LDRNE    a1,[v2,#&74]
-        TEQNE    a1,#5
-        BEQ      |L0073b0.J4.init_word_registers|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,#&800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v3,v3,a1,LSL #8
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&70
-        MOV      a1,v1
-        BL       do_ins
-|L0073b0.J4.init_word_registers|
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L0074b0.J8.init_word_registers|
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L0073d8.J11.init_word_registers|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L00744c.J10.init_word_registers|
-|L0073d8.J11.init_word_registers|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&168]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,#&800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        B        |L007474.J25.init_word_registers|
-|L00744c.J10.init_word_registers|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&174]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&7900000
-|L007474.J25.init_word_registers|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v3,v3,a1,LSL #8
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&70
-        MOV      a1,v1
-        BL       do_ins
-|L0074b0.J8.init_word_registers|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#0
-        LDREQ    a1,[v1,#&1ec]
-        TEQEQ    a1,#0
-        BNE      |L00757c.J17.init_word_registers|
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1b00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a1,a1,#&800000
-        ORR      a2,a1,#&10000000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v2,v2,a1,LSL #8
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&10000000
-        ORR      a2,a2,#&1a00000
-        ORR      a2,a2,#&10
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      a2,#&1a00000
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&f2000000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L00757c.J17.init_word_registers|
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,#&800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v3,v3,a1,LSL #8
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&70
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&f4]!
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        LDMNEDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&7900000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v2,v2,a1,LSL #8
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&70
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-align16
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        LDR      a1,[a2,#&10]
-        TST      a1,#1
-        LDMEQDB  fp,{v1,v2,fp,sp,pc}^
-|L0076bc.J4.align16|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&10]
-        TST      a1,#1
-        BNE      |L0076bc.J4.align16|
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-loop_x
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        SUB      sp,sp,#&24
-        BL       x_block_move
-        TEQ      a1,#0
-        BEQ      |L007758.J4.loop_x|
-        LDR      a1,[v1,#&1dc]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&188]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1dc]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        B        |L008670.J80.loop_x|
-|L007758.J4.loop_x|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       init_word_registers
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_x_scale
-        ADD      v5,v1,#&30
-        TEQ      a1,#0
-        BEQ      |L007cb8.J7.loop_x|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BEQ      |L00785c.J9.loop_x|
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      a2,a1,LSL #16
-        LDR      a1,[v2,#&100]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&3100000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&70
-        MOV      v3,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        ADD      a3,v1,#&78
-        MOV      v6,a3
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel
-        MOV      v4,a1
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel
-        TEQ      v4,#0
-        MOVNE    a2,v6
-        MOVNE    a1,v1
-        BLNE     define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v5
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-|L00785c.J9.loop_x|
-        ADD      v3,v1,#&a0
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#5
-        BEQ      |L0078a0.J13.loop_x|
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      a2,a1,LSL #16
-        LDR      a1,[v1,#&1fc]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&3100000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&1a000000
-        BL       do_branch
-|L0078a0.J13.loop_x|
-        ADD      a3,v1,#&88
-        MOV      v6,a3
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       align16
-        ADD      a2,v1,#&80
-        MOV      a1,v1
-        STR      a2,[sp,#&20]
-        BL       define_label
-        ADD      a3,v1,#&90
-        MOV      a2,v1
-        MOV      a1,v2
-        STR      a3,[sp,#&1c]
-        BL       fetch_pixel
-        MOV      v4,a1
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel
-        TEQ      v4,#0
-        MOVNE    a1,v1
-        LDRNE    a2,[sp,#&1c]
-        BLNE     define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#0
-        BL       odither_inc
-        ADD      a3,v1,#&98
-        MOV      a2,v1
-        MOV      a1,v2
-        STR      a3,[sp,#&18]
-        BL       fetch_pixel2
-        MOV      v4,a1
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel2
-        TEQ      v4,#0
-        MOVNE    a1,v1
-        LDRNE    a2,[sp,#&18]
-        BLNE     define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc2
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc2
-        MOV      a2,v6
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a1,v1
-        MOV      a2,#&aa000000
-        LDR      a3,[sp,#&20]
-        BL       do_branch
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#5
-        BEQ      |L007c14.J32.loop_x|
-        ADD      a3,v1,#&c8
-        MOV      v4,a3
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        BL       do_branch
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#5
-        BNE      |L007a18.J21.loop_x|
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2400000
-        ORR      a2,a2,#4
-        B        |L007a68.J76.loop_x|
-|L007a18.J21.loop_x|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        LDR      a2,[v1,#&1f8]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        LDR      a2,[v1,#&1f8]
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#&300
-|L007a68.J76.loop_x|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L007ae0.J24.loop_x|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        LDR      a2,[v1,#&204]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BEQ      |L007ae0.J24.loop_x|
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&170]
-        BL       rr
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v1,#&204]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-|L007ae0.J24.loop_x|
-        ADD      a3,v1,#&b0
-        MOV      v3,a3
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       align16
-        ADD      a2,v1,#&a8
-        MOV      a1,v1
-        STR      a2,[sp,#&14]
-        BL       define_label
-        ADD      a3,v1,#&b8
-        MOV      a2,v1
-        MOV      a1,v2
-        STR      a3,[sp,#&10]
-        BL       fetch_pixel2
-        MOV      v6,a1
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel
-        TEQ      v6,#0
-        MOVNE    a1,v1
-        LDRNE    a2,[sp,#&10]
-        BLNE     define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc2
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#0
-        BL       odither_inc
-        ADD      a3,v1,#&c0
-        MOV      a2,v1
-        MOV      a1,v2
-        STR      a3,[sp,#&c]
-        BL       fetch_pixel
-        MOV      v6,a1
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel2
-        TEQ      v6,#0
-        MOVNE    a1,v1
-        LDRNE    a2,[sp,#&c]
-        BLNE     define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc2
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a1,v1
-        MOV      a2,#&aa000000
-        LDR      a3,[sp,#&14]
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        MOV      a2,v4
-        MOV      a1,v1
-        BL       define_label
-|L007c14.J32.loop_x|
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2900000
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&d8
-        MOV      v4,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        ADD      a3,v1,#&d0
-        MOV      v3,a3
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel
-        MOV      v6,a1
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel
-        TEQ      v6,#0
-        MOVNE    a2,v3
-        MOVNE    a1,v1
-        BLNE     define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc
-        MOV      a2,v4
-        MOV      a1,v1
-        BL       define_label
-        B        |L0084e0.J35.loop_x|
-|L007cb8.J7.loop_x|
-        LDR      a1,[v1,#&1f4]
-        ADD      a3,v1,#&38
-        ADD      v3,v1,#&28
-        ADD      v6,v1,#&40
-        ADD      v4,v1,#&1ac
-        TEQ      a1,#0
-        STR      a3,[sp,#8]
-        BEQ      |L007e28.J36.loop_x|
-        ADD      a2,v2,#&40
-        LDMIA    a2,{a1,a2}
-        SUB      a3,a2,a1
-        CMP      a3,a1
-        BLE      |L007e28.J36.loop_x|
-        MOV      a4,a2
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        LDR      a4,[v2,#&44]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#1
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v1
-        MOV      a1,v2
-        LDR      a3,[sp,#8]
-        BL       fetch_pixel
-        STR      a1,[sp,#0]
-        LDR      a4,[v2,#&40]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#1
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v6
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v5
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_unmasked
-        LDR      a4,[v2,#&40]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#1
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a3,v6
-        MOV      a1,v1
-        MOV      a2,#&5a000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        B        |L0080c4.J50.loop_x|
-|L007e28.J36.loop_x|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L008110.J40.loop_x|
-        LDR      a1,[v2,#&40]
-        LDR      a2,[v2,#&68]
-        BL       |__rt_sdiv|
-        TEQ      a2,#0
-        BNE      |L008110.J40.loop_x|
-        CMP      a1,#4
-        BLE      |L008110.J40.loop_x|
-        LDR      a2,[v1,#&1e8]
-        TEQ      a2,#0
-        BNE      |L008110.J40.loop_x|
-        MOV      v6,a1
-        MOV      a4,a1
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,#&3300000
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a2,v1,#&e0
-        MOV      a1,v1
-        BL       define_label
-        MOV      a3,v5
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a4,v6
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#1
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v1
-        MOV      a1,v2
-        LDR      a3,[sp,#8]
-        BL       fetch_pixel
-        MOV      a2,v1
-        STR      a1,[sp,#0]
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&500000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,#&3a00000
-        ADD      a2,a2,#&40000000
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&40000000
-        ORR      a2,a2,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a2,v1,#&f0
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        STR      a2,[sp,#4]
-        BEQ      |L0080a8.J45.loop_x|
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1b00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      a2,#&1a00000
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&f2000000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#1
-        BEQ      |L00806c.J47.loop_x|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      a2,a1,a2,LSL #7
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-|L00806c.J47.loop_x|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&1500000
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a1,v1
-        MOV      a2,#&ba000000
-        LDR      a3,[sp,#4]
-        BL       do_branch
-|L0080a8.J45.loop_x|
-        MOV      a3,v6
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       plot_current_output_words
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BNE      |L0080cc.J49.loop_x|
-|L0080c4.J50.loop_x|
-        MOV      a3,v3
-        B        |L008220.J77.loop_x|
-|L0080cc.J49.loop_x|
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      a2,#&3300000
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a1,v1
-        LDR      a2,[sp,#4]
-        BL       define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       plot_some_pixels
-        B        |L0080c4.J50.loop_x|
-|L008110.J40.loop_x|
-        LDR      a4,[v2,#&44]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        LDR      a4,[v2,#&44]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#1
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v1
-        MOV      a1,v2
-        LDR      a3,[sp,#8]
-        BL       fetch_pixel
-        MOV      a2,v1
-        STR      a1,[sp,#0]
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        MOV      a2,v6
-        MOV      a1,v1
-        BL       define_label
-        LDR      a4,[v2,#&40]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#1
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&4a000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v6
-        MOV      a1,v1
-        MOV      a2,#&1a000000
-        BL       do_branch
-        MOV      a3,v5
-|L008220.J77.loop_x|
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        BL       do_branch
-        LDR      a1,[sp,#0]
-        TEQ      a1,#0
-        BEQ      |L0084e0.J35.loop_x|
-        MOV      a1,v1
-        LDR      a2,[sp,#8]
-        BL       define_label
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L008450.J55.loop_x|
-        LDR      a1,[v2,#&40]
-        LDR      a2,[v2,#&68]
-        BL       |__rt_sdiv|
-        TEQ      a2,#0
-        BNE      |L008450.J55.loop_x|
-        CMP      a1,#4
-        BLE      |L008450.J55.loop_x|
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#0
-        BNE      |L008450.J55.loop_x|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v4,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v4,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      v4,v4,a1,LSL #16
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v4,a1
-        ORR      a2,a1,#&500000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,#&3a00000
-        ADD      a2,a2,#&40000000
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v4,a1
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v4,a1,LSL #12
-        ORR      a2,a1,#&40000000
-        ORR      a2,a2,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        ADD      v4,v1,#&e8
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BEQ      |L0083e4.J60.loop_x|
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v6,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v6,a1,LSL #12
-        ORR      a2,a1,#&1b00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      a2,#&1a00000
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&f2000000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#1
-        BEQ      |L0083b0.J62.loop_x|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      v6,a1,a2,LSL #7
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v6,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-|L0083b0.J62.loop_x|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v6,a1
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v6,a1,LSL #16
-        ORR      a2,a1,#&1500000
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v4
-        MOV      a1,v1
-        MOV      a2,#&ba000000
-        BL       do_branch
-|L0083e4.J60.loop_x|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       skip_current_output_words
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BNE      |L00840c.J64.loop_x|
-|L0083fc.J65.loop_x|
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        B        |L0084dc.J78.loop_x|
-|L00840c.J64.loop_x|
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      a2,#&3300000
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v4
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       skip_some_pixels
-        B        |L0083fc.J65.loop_x|
-|L008450.J55.loop_x|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        ADD      a2,v1,#&48
-        MOV      v6,a2
-        MOV      a1,v1
-        BL       define_label
-        LDR      a4,[v2,#&40]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#1
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&4a000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v6
-        MOV      a1,v1
-        MOV      a2,#&1a000000
-|L0084dc.J78.loop_x|
-        BL       do_branch
-|L0084e0.J35.loop_x|
-        MOV      a2,v5
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v2,#&104]!
-        TEQ      a1,#&20
-        BEQ      |L008678.J81.loop_x|
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1b00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      a2,#&1a00000
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&f2000000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#0
-        LDREQ    a1,[v1,#&1ec]
-        TEQEQ    a1,#0
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      v2,v2,a1,LSL #8
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORRNE    a2,a1,#&1a00000
-        ORRNE    a2,a2,#&70
-        BNE      |L00864c.J79.loop_x|
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&30
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4900000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      v2,v2,a1,LSL #8
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&30
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      v3,v2,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #8
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&10
-|L00864c.J79.loop_x|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4800000
-|L008670.J80.loop_x|
-        MOV      a1,v1
-        BL       do_ins
-|L008678.J81.loop_x|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-loop_y
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        SUB      sp,sp,#&10
-        LDR      a1,[a1,#&74]
-        MOV      v3,#1
-        MOV      a1,v3,LSL a1
-        STR      a1,[a2,#&1f8]
-        LDR      a1,[v2,#&78]
-        MOV      a1,v3,LSL a1
-        STR      a1,[a2,#&1fc]
-        LDR      a1,[a2,#&1f8]
-        MOV      a1,v3,LSL a1
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&200]
-        LDR      a2,[v1,#&1ec]
-        TEQ      a2,#0
-        LDR      a1,[v1,#&1f8]
-        BEQ      |L0086fc.J17.loop_y|
-        LDR      a2,[v1,#&1f0]
-        TEQ      a2,#0
-        STRNE    v3,[v1,#&204]
-        STRNE    v3,[v1,#&208]
-        STRNE    v3,[v1,#&20c]
-        BNE      |L0086fc.J17.loop_y|
-        STR      a1,[v1,#&204]
-        LDR      a1,[v1,#&1fc]
-        STR      a1,[v1,#&208]
-        LDR      a1,[v1,#&200]
-        STR      a1,[v1,#&20c]
-|L0086fc.J17.loop_y|
-        LDR      a2,[v1,#&214]
-        RSB      a1,a2,#5
-        STR      a1,[v1,#&224]
-        MOV      a1,v3,LSL a1
-        STR      a1,[v1,#&220]
-        LDR      a1,[v2,#&104]
-        MOV      a1,v3,LSL a1
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&218]
-        LDR      a1,[v2,#&100]
-        MOV      a1,v3,LSL a1
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&21c]
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L0087a4.J20.loop_y|
-        LDR      a2,[v1,#&1f8]
-        CMP      a2,#&10
-        BLT      |L0087a4.J20.loop_y|
-        LDR      a1,[v2,#&104]
-        CMP      a1,a2
-        BGE      |L0087a4.J20.loop_y|
-        LDR      a2,[v2,#&138]
-        TST      a2,#1
-        BEQ      |L0087a4.J20.loop_y|
-        TEQ      a1,#&10
-        MOVEQ    a1,#2
-        BEQ      |L0087a0.J111.loop_y|
-        LDR      a1,[v1,#&210]
-        TEQ      a1,#3
-        RSBNE    a1,a1,#6
-        BNE      |L0087a0.J111.loop_y|
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        BEQ      |L00879c.J30.loop_y|
-        LDR      a1,[a3,#&1c]!
-        TEQ      a1,#1
-        MOVEQ    a1,#3
-        BEQ      |L0087a0.J111.loop_y|
-|L00879c.J30.loop_y|
-        MOV      a1,#4
-|L0087a0.J111.loop_y|
-        STR      a1,[v1,#&1f4]
-|L0087a4.J20.loop_y|
-        MOV      a1,v1
-        MVN      a2,#&2a000
-        ADD      a2,a2,#&9300000
-        BL       do_ins
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        STRNE    v3,[v1,#&1e4]
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       ptrs_rn
-        LDR      a1,[v1,#&1e0]
-        MOV      a1,v3,LSL a1
-        SUB      v5,a1,#1
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L0087f4.J39.loop_y|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L0087fc.J38.loop_y|
-|L0087f4.J39.loop_y|
-        MOV      v6,#&c
-        B        |L008800.J37.loop_y|
-|L0087fc.J38.loop_y|
-        MOV      v6,#8
-|L008800.J37.loop_y|
-        LDR      a1,[v1,#&1f4]
-        TEQ      a1,#0
-        ADDNE    v6,v6,#4
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       xloop_rn
-        MOV      a2,#1
-        LDR      a1,[v1,#&1e0]
-        MOV      a2,a2,LSL a1
-        SUB      a3,a2,#1
-        BIC      v3,a3,v5
-        RSB      v4,v6,a1,LSL #2
-        LDR      a1,[v1,#&164]
-        CMN      a1,#1
-        BEQ      |L00884c.J44.loop_y|
-        MOV      a2,#1
-        MVN      a1,a2,LSL a1
-        AND      v3,a1,v3
-        SUB      v4,v4,#4
-|L00884c.J44.loop_y|
-        LDR      a1,[v1,#&19c]
-        CMN      a1,#1
-        BEQ      |L008868.J46.loop_y|
-        MOV      a2,#1
-        MVN      a1,a2,LSL a1
-        AND      v3,a1,v3
-        SUB      v4,v4,#4
-|L008868.J46.loop_y|
-        LDR      a1,[v1,#&16c]
-        CMN      a1,#1
-        BEQ      |L008884.J48.loop_y|
-        MOV      a2,#1
-        MVN      a1,a2,LSL a1
-        AND      v3,a1,v3
-        SUB      v4,v4,#4
-|L008884.J48.loop_y|
-        LDR      a1,[v1,#&178]
-        CMN      a1,#1
-        BEQ      |L0088a0.J50.loop_y|
-        MOV      a2,#1
-        MVN      a1,a2,LSL a1
-        AND      v3,a1,v3
-        SUB      v4,v4,#4
-|L0088a0.J50.loop_y|
-        LDR      a1,[v1,#&17c]
-        CMN      a1,#1
-        BEQ      |L0088bc.J52.loop_y|
-        MOV      a2,#1
-        MVN      a1,a2,LSL a1
-        AND      v3,a1,v3
-        SUB      v4,v4,#4
-|L0088bc.J52.loop_y|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       yloop_rn_count
-        LDR      a2,[v1,#&1e0]
-        ADD      a2,a1,a2
-        LDR      a1,[v1,#&1e4]
-        ADD      a1,a2,a1
-        CMP      a1,#&d
-        MOVGT    a1,#0
-        MOVLE    a1,#1
-        STR      a1,[sp,#0]
-        CMP      a1,#0
-        MOVEQ    a1,#4
-        STREQ    a1,[v1,#&1e0]
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       yloop_rn
-        BNE      |L00891c.J59.loop_y|
-        MOV      a2,#1
-        LDR      a1,[v1,#&1e0]
-        MOV      a1,a2,LSL a1
-        SUB      a1,a1,#1
-        BIC      a1,a1,#&f
-        STR      a1,[sp,#4]
-|L00891c.J59.loop_y|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_init
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_init
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       xloop_init
-        LDR      a1,[v1,#&1f4]
-        TEQ      a1,#0
-        BEQ      |L0089a8.J61.loop_y|
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#4
-        BNE      |L0089a8.J61.loop_y|
-        MOV      a2,#1
-        LDR      a1,[v1,#&1ac]
-        MVN      a1,a2,LSL a1
-        AND      a1,a1,v3
-        MOV      a3,#1
-        LDR      a2,[v1,#&158]
-        ORR      v3,a1,a3,LSL a2
-        ORR      a1,v3,v5
-        ORR      a2,a1,#&9000000
-        ORR      a2,a2,#&2d0000
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,#1
-        LDR      a1,[v1,#&1ac]
-        ORR      a1,v3,a2,LSL a1
-        MOV      a3,#1
-        LDR      a2,[v1,#&158]
-        MVN      a2,a3,LSL a2
-        AND      v3,a2,a1
-        B        |L0089bc.J64.loop_y|
-|L0089a8.J61.loop_y|
-        ORR      a1,v3,v5
-        ORR      a2,a1,#&9000000
-        ORR      a2,a2,#&2d0000
-        MOV      a1,v1
-        BL       do_ins
-|L0089bc.J64.loop_y|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       yloop_init
-        LDR      a1,[v1,#&1f4]
-        TEQ      a1,#0
-        BEQ      |L008a0c.J65.loop_y|
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#4
-        BNE      |L008a0c.J65.loop_y|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-|L008a0c.J65.loop_y|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_y_scale
-        ADD      a2,v1,#&58
-        TEQ      a1,#0
-        STR      a2,[sp,#&c]
-        BNE      |L008a38.J68.loop_y|
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        LDR      a3,[sp,#&c]
-        BL       do_branch
-|L008a38.J68.loop_y|
-        ADD      a2,v1,#&50
-        MOV      a1,v1
-        STR      a2,[sp,#8]
-        BL       define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_y_scale
-        TEQ      a1,#0
-        BNE      |L008a74.J70.loop_y|
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&8800000
-        MOV      a1,v1
-        BL       do_ins
-|L008a74.J70.loop_y|
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        BEQ      |L008c10.J72.loop_y|
-        LDR      a1,[v1,#&1dc]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&194]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1dc]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&114
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&74]
-        CMP      a1,#5
-        BGE      |L008bcc.J74.loop_y|
-        TEQ      a1,#3
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        SUB      sp,sp,#4
-        BNE      |L008b68.J76.loop_y|
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&800000
-        B        |L008b98.J112.loop_y|
-|L008b68.J76.loop_y|
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&800000
-        ORR      a2,a2,#&80
-|L008b98.J112.loop_y|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#3
-        B        |L008c08.J113.loop_y|
-|L008bcc.J74.loop_y|
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&800000
-        ORR      a2,a2,#&100
-|L008c08.J113.loop_y|
-        MOV      a1,v1
-        BL       do_ins
-|L008c10.J72.loop_y|
-        LDR      a1,[sp,#0]
-        CMP      a1,#0
-        BNE      |L008c78.J82.loop_y|
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a1,a1,v6
-        ORR      a2,a1,#&2800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[sp,#4]
-        ORR      a2,a1,#&9000000
-        ORR      a2,a2,#&2d0000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&8900000
-        MOV      a1,v1
-        BL       do_ins
-|L008c78.J82.loop_y|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       loop_x
-        BEQ      |L008c9c.J83.loop_y|
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a1,a1,v5
-        B        |L008cbc.J114.loop_y|
-|L008c9c.J83.loop_y|
-        LDR      a1,[sp,#4]
-        ORR      a2,a1,#&8000000
-        ORR      a2,a2,#&bd0000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-|L008cbc.J114.loop_y|
-        ORR      a2,a1,#&8900000
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_y_scale
-        ADD      v3,v1,#&198
-        TEQ      a1,#0
-        BEQ      |L008e40.J86.loop_y|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L008d60.J88.loop_y|
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        SUB      sp,sp,#4
-        BEQ      |L008d2c.J90.loop_y|
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#1
-        B        |L008d58.J115.loop_y|
-|L008d2c.J90.loop_y|
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1b8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&400000
-|L008d58.J115.loop_y|
-        MOV      a1,v1
-        BL       do_ins
-|L008d60.J88.loop_y|
-        LDR      a4,[v2,#0]
-        STMDB    sp!,{a4}
-        MOV      a4,v3
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#1
-        BL       odither_inc
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#0
-        BL       odither_inc
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L008dbc.J94.loop_y|
-        LDR      a1,[v2,#&f4]!
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L008dec.J93.loop_y|
-|L008dbc.J94.loop_y|
-        LDR      a1,[v1,#&168]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&168]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&1bc]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&400000
-        MOV      a1,v1
-        BL       do_ins
-|L008dec.J93.loop_y|
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&8800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1b0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1b0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a1,v1
-        MOV      a2,#&ca000000
-        LDR      a3,[sp,#8]
-        BL       do_branch
-        B        |L0090d8.J97.loop_y|
-|L008e40.J86.loop_y|
-        LDR      a1,[v1,#&1b0]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1b0]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&60
-        MOV      v5,a3
-        MOV      a1,v1
-        MOV      a2,#&da000000
-        BL       do_branch
-        LDR      a4,[v2,#0]
-        STMDB    sp!,{a4}
-        MOV      a4,v3
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#1
-        BL       odither_inc
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#0
-        BL       odither_inc
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L008f78.J98.loop_y|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&38
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&1500000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&c0000000
-        ORR      a2,a2,#&32800000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2400000
-        ORR      a2,a2,#8
-        MOV      a1,v1
-        BL       do_ins
-|L008f78.J98.loop_y|
-        MOV      a1,v1
-        LDR      a2,[sp,#&c]
-        BL       define_label
-        LDR      a4,[v2,#&10]
-        STMDB    sp!,{a4}
-        ADD      a4,v1,#&1b4
-        MOV      v3,a4
-        MOV      a1,v1
-        MOV      a3,#1
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a1,v1
-        MOV      a2,#&5a000000
-        LDR      a3,[sp,#8]
-        BL       do_branch
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L009038.J100.loop_y|
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        SUB      sp,sp,#4
-        BEQ      |L009004.J102.loop_y|
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#1
-        B        |L009030.J116.loop_y|
-|L009004.J102.loop_y|
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1b8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&400000
-|L009030.J116.loop_y|
-        MOV      a1,v1
-        BL       do_ins
-|L009038.J100.loop_y|
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L009054.J106.loop_y|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L009094.J105.loop_y|
-|L009054.J106.loop_y|
-        LDR      a1,[v1,#&168]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&168]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1bc]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&400000
-        MOV      a1,v1
-        BL       do_ins
-|L009094.J105.loop_y|
-        ADD      v2,v2,#&c
-        LDMIB    v2!,{a1,a2}
-        ADD      a4,a1,a2
-        STMDB    sp!,{a4}
-        MOV      a4,v3
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#1
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        LDR      a3,[sp,#&c]
-        BL       do_branch
-        MOV      a2,v5
-        MOV      a1,v1
-        BL       define_label
-|L0090d8.J97.loop_y|
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ADD      a2,v4,v6
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2800000
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a1,v1
-        MVN      a2,#&2a000
-        ADD      a2,a2,#&8c00000
-        BL       do_ins
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1dc]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-find_or_compile_code
-        MOV      ip,sp
-        STMDB    sp!,{v1-v5,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        MOV      v3,a3
-        LDR      a1,[a1,#&74]
-        LDR      a2,[a2,#&210]
-        ADD      a3,a1,a2,LSL #3
-        LDR      a2,[v2,#&1e8]
-        ADD      v4,a3,a2,LSL #6
-        LDR      a2,[v2,#&1ec]
-        TEQ      a2,#0
-        ORRNE    v4,v4,#&200
-        LDR      a2,[v2,#&1f0]
-        TEQ      a2,#0
-        ORRNE    v4,v4,#&400
-        LDR      a2,[v1,#&f8]
-        TEQ      a2,#0
-        ORRNE    v4,v4,#&800
-        LDR      a2,[v1,#&b4]
-        TEQ      a2,#0
-        ORRNE    v4,v4,#&1000
-        LDR      a2,[v1,#&104]
-        LDR      a3,[v1,#&100]
-        TEQ      a2,a3
-        ORRNE    v4,v4,#&2000
-        LDR      a2,[v1,#&78]
-        TEQ      a1,a2
-        ORRNE    v4,v4,#&4000
-        LDR      a1,[v1,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        ORREQ    v4,v4,#&8000
-        LDR      a2,[v1,#&110]
-        CMP      a2,#0
-        BEQ      |L0091e4.J20.find_or_compile_code|
-        ORR      v4,v4,#&10000
-        BEQ      |L0091e4.J20.find_or_compile_code|
-        LDR      a1,[v3,#&1c]
-        TEQ      a1,#1
-        ORREQ    v4,v4,#&20000
-|L0091e4.J20.find_or_compile_code|
-        LDR      a1,[v1,#&10c]
-        TEQ      a1,#0
-        BEQ      |L00920c.J23.find_or_compile_code|
-        ORR      v4,v4,#&40000
-        LDR      a3,[v2,#&228]
-        TEQ      a3,#0
-        ORRNE    v4,v4,#&80000
-        LDR      a1,[a1,#&10]
-        TEQ      a1,#3
-        ORREQ    v4,v4,#&100000
-|L00920c.J23.find_or_compile_code|
-        TEQ      a2,#0
-        LDRNE    a1,[v1,#&138]
-        ANDNE    a1,a1,#1
-        TEQNE    a1,#0
-        ORRNE    v4,v4,#&200000
-        ADD      a1,v2,#&22c
-        ADD      a2,v2,#&2ec
-        ADD      a2,a2,#&2000
-        CMP      a2,a1
-        BLS      |L009290.J33.find_or_compile_code|
-|L009234.J32.find_or_compile_code|
-        LDR      a3,[a1,#0]
-        TEQ      a3,v4
-        LDREQ    a3,[a1,#4]
-        LDREQ    a4,[v1,#&44]
-        TEQEQ    a3,a4
-        LDREQ    a3,[a1,#8]
-        LDREQ    a4,[v1,#&40]
-        TEQEQ    a3,a4
-        LDREQ    a4,[a1,#&c]
-        LDREQ    a3,[v1,#&14]
-        TEQEQ    a4,a3
-        LDREQ    a3,[a1,#&10]
-        LDREQ    a4,[v1,#&10]
-        TEQEQ    a3,a4
-        LDREQ    a4,[a1,#&14]
-        LDREQ    a3,[v1,#0]
-        TEQEQ    a4,a3
-        ADDEQ    a1,a1,#&18
-        LDMEQDB  fp,{v1-v5,fp,sp,pc}^
-        ADD      a1,a1,#&18
-        ADD      a1,a1,#&400
-        CMP      a2,a1
-        BHI      |L009234.J32.find_or_compile_code|
-|L009290.J33.find_or_compile_code|
-        LDR      a1,[v2,#8]
-        ADD      ip,a1,a1,LSL #1
-        ADD      a1,ip,a1,LSL #7
-        ADD      a1,v2,a1,LSL #3
-        ADD      v5,a1,#&22c
-        MVN      a1,#0
-        STR      a1,[v5,#0]
-        LDR      a1,[v1,#&44]
-        STR      a1,[v5,#4]
-        LDR      a1,[v1,#&40]
-        STR      a1,[v5,#8]
-        LDR      a1,[v1,#&14]
-        STR      a1,[v5,#&c]
-        LDR      a1,[v1,#&10]
-        STR      a1,[v5,#&10]
-        LDR      a1,[v1,#0]
-        MOV      a2,v2
-        STR      a1,[v5,#&14]
-        MOV      a1,v1
-        BL       compile_buffer_init
-        MOV      a3,v3
-        MOV      a2,v2
-        MOV      a1,v1
-        BL       loop_y
-        MOV      a1,v2
-        BL       compile_buffer_done
-        STR      v4,[v5,#0]
-        LDR      a1,[v2,#&c]!
-        LDMDB    fp,{v1-v5,fp,sp,pc}^
-
-        IMPORT  create_dynamic_area
-putscaled_compiler
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        MOV      v3,a4
-        SUB      sp,sp,#4
-        ADD      a1,a2,#&2f0
-        ADD      a1,a1,#&2000
-        CMP      a1,a3
-        MOVHI    a2,#4
-        MOVHI    a1,#&5a
-        ADDHI    a1,a1,#&f00
-        BLHI     exit_c
-        MOV      a1,v2
-        BL       check_workspace
-        AND      a1,v3,#7
-        STR      a1,[v2,#&1e8]
-        TST      v3,#8
-        MOV      a3,#0
-        MOVEQ    a1,a3
-        MOVNE    a1,#1
-        STR      a1,[v2,#&1ec]
-        MOV      a3,#0
-        LDR      a2,[v1,#&80]
-        TEQ      a3,a2,ASR #27
-        MOVEQ    a2,#0
-        MOVNE    a2,#1
-        AND      a1,a2,a1
-        STR      a1,[v2,#&1f0]
-        LDR      a1,[v1,#&110]
-        TEQ      a1,#0
-        BEQ      |L009780.J12.putscaled_compiler|
-        LDR      v4,[v1,#&120]
-        LDR      a1,[v4,#&20]
-        ADD      a1,v4,a1
-        MOV      a2,#0
-        STR      a2,[sp,#-8]!
-        LDR      a2,[a1,#0]
-        CMN      a2,#1
-        LDREQ    v5,[a1,#4]
-        LDREQ    a1,[a1,#8]
-        BEQ      |L0093c8.J123.putscaled_compiler|
-        LDR      a1,[v4,#&20]
-        ADD      a2,v4,a1
-        ADD      v5,a2,#4
-        LDR      a2,[v4,#0]
-        SUB      a1,a2,a1
-        SUB      a1,a1,#4
-|L0093c8.J123.putscaled_compiler|
-        MOV      a4,#0
-        STR      a1,[sp,#4]
-        MOV      a3,sp
-        MOV      a2,#0
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v5
-        MOV      a3,#0
-        BL       find_image_dims
-        ADD      sp,sp,#&c
-        TEQ      a1,#0
-        MOVNE    a2,#2
-        MOVNE    a1,#&87
-        ADDNE    a1,a1,#&f00
-        BLNE     exit_c
-        LDR      a1,[v1,#&124]
-        STR      a1,[sp,#8]
-        TEQ      a1,#0
-        SUB      sp,sp,#4
-        BNE      |L009490.J19.putscaled_compiler|
-        LDR      a1,[sp,#4]
-        BL       create_dynamic_area
-        MOVS     v3,a1
-        MOVEQ    a2,#1
-        MOVEQ    a1,#&95
-        ADDEQ    a1,a1,#&f00
-        BLEQ     exit_c
-        MOV      a4,sp
-        STMDB    sp!,{a4}
-        ADD      a4,sp,#&10
-        MOV      a3,v3
-        MOV      a2,#&c0000001
-        MOV      a1,#&5c
-        BL       |_swix|
-        ADD      sp,sp,#4
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&9b
-        ADDNE    a1,a1,#&f00
-        BLNE     exit_c
-        LDR      a1,[sp,#&c]
-        MVN      a2,#0
-        ADD      v1,v1,#&124
-        STMIA    v1,{a1,v3}
-        SUB      v1,v1,#&124
-        LDR      a1,[sp,#&c]
-        STR      a2,[a1,#0]
-        LDR      a1,[sp,#&c]
-        LDR      a2,[sp,#0]
-        STR      a2,[a1,#&10]!
-        B        |L009550.J32.putscaled_compiler|
-|L009490.J19.putscaled_compiler|
-        MOV      a4,sp
-        MOV      a2,#&40000001
-        MOV      a1,#&5c
-        LDR      a3,[v1,#&128]
-        BL       |_swix|
-        MOV      a3,a1
-        LDR      a1,[sp,#0]
-        CMP      a1,#0
-        BLE      |L0094d4.J26.putscaled_compiler|
-        LDR      a2,[sp,#&c]
-        LDR      a4,[a2,#&10]
-        TEQ      a1,a4
-        BEQ      |L0094d4.J26.putscaled_compiler|
-        MVN      a4,#0
-        STR      a4,[a2,#0]
-        LDR      a2,[sp,#&c]
-        STR      a1,[a2,#&10]!
-|L0094d4.J26.putscaled_compiler|
-        TEQ      a3,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&b9
-        ADDNE    a1,a1,#&f00
-        BLNE     exit_c
-        LDR      a1,[sp,#4]
-        LDR      a2,[sp,#0]
-        CMP      a2,a1
-        BGE      |L009550.J32.putscaled_compiler|
-        SUB      sp,sp,#4
-        MOV      a4,sp
-        STMDB    sp!,{a4}
-        SUB      a4,a1,a2
-        MOV      a2,#&40000003
-        MOV      a1,#&2a
-        LDR      a3,[v1,#&128]
-        BL       |_swix|
-        ADD      sp,sp,#4
-        TEQ      a1,#0
-        MOVNE    a2,#1
-        MOVNE    a1,#&c1
-        ADDNE    a1,a1,#&f00
-        BLNE     exit_c
-        MVN      a2,#0
-        LDR      a1,[sp,#&10]
-        STR      a2,[a1,#0]
-        LDR      a2,[sp],#4
-        LDR      a1,[sp,#0]
-        ADD      a1,a1,a2
-        LDR      a2,[sp,#&c]
-        STR      a1,[a2,#&10]!
-|L009550.J32.putscaled_compiler|
-        ADD      sp,sp,#4
-        LDR      a1,[v1,#&74]
-        TEQ      a1,#5
-        MOVNE    a2,#4
-        MOVNE    a1,#&3dc
-        ADDNE    a1,a1,#&c00
-        BLNE     exit_c
-        LDR      a1,[v2,#&1ec]
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&dd
-        ADDNE    a1,a1,#&f00
-        BLNE     exit_c
-        MOV      a2,#0
-        LDR      a1,[v1,#&80]
-        TEQ      a2,a1,ASR #24
-        MOVEQ    a1,#0
-        STREQ    a1,[v1,#&b4]
-        STREQ    a1,[v1,#&f8]
-        SUB      sp,sp,#4
-        LDR      a1,[v1,#&40]
-        LDR      a2,[v1,#&2c]
-        MUL      a2,a1,a2
-        LDR      a3,[v1,#&44]
-        SUB      a1,a3,a1
-        BL       |__rt_sdiv|
-        LDR      a2,[v1,#&114]
-        ADD      a1,a1,a2
-        ADD      v6,a1,#2
-        MOV      v3,#0
-        STR      v3,[sp,#0]
-        LDR      a1,[v1,#&104]
-        CMP      a1,#4
-        BGT      |L0095ec.J42.putscaled_compiler|
-        MOV      v3,#1
-        LDR      a2,[v1,#&134]
-        TST      a2,#2
-        MOVEQ    a2,#0
-        STREQ    a2,[v1,#&b4]
-|L0095ec.J42.putscaled_compiler|
-        CMP      v6,#0
-        LDRLT    a2,[v4,#&10]!
-        SUBLT    v6,a2,#1
-        ADD      a3,v1,#&40
-        LDMIA    a3,{a2,a3}
-        SUB      a3,a3,a2
-        ADD      a3,a3,a3,LSL #1
-        CMP      a2,a3,LSL #1
-        BLT      |L009628.J48.putscaled_compiler|
-        ADD      a3,v1,#&10
-        LDMIA    a3,{a2,a3}
-        SUB      a3,a3,a2
-        ADD      a3,a3,a3,LSL #1
-        CMP      a2,a3,LSL #1
-        ORRGE    v3,v3,#2
-|L009628.J48.putscaled_compiler|
-        LDR      a2,[v1,#&134]
-        TST      a2,#2
-        BNE      |L009704.J51.putscaled_compiler|
-        LDR      a2,[v1,#&138]
-        TST      a2,#1
-        BEQ      |L009704.J51.putscaled_compiler|
-        SUB      sp,sp,#4
-        TEQ      a1,#8
-        BNE      |L0096f8.J54.putscaled_compiler|
-        MOV      a4,sp
-        MOV      a3,#0
-        MOV      a2,#&400
-        MOV      a1,#0
-        STMDB    sp!,{a1-a4}
-        MVN      a4,#0
-        MVN      a3,#0
-        MOV      a2,#&1000000f
-        ADD      a2,a2,#&10
-        LDR      a1,[pc, #L0096c4-.-8]
-        BL       |_swix|
-        ADD      sp,sp,#&10
-        MOV      a4,#0
-        MOV      a3,#&400
-        ADD      a2,v1,#&13c
-        STMDB    sp!,{a2-a4}
-        MVN      a4,#0
-        MVN      a3,#0
-        MOV      a2,#&1f
-        LDR      a1,[pc, #L0096c4-.-8]
-        BL       |_swix|
-        ADD      sp,sp,#&c
-        LDR      a1,[v1,#&138]
-        TST      a1,#2
-        BEQ      |L0096c8.J56.putscaled_compiler|
-        ORR      v3,v3,#8
-        MVN      a1,#0
-        LDR      a2,[sp,#&10]
-        STR      a1,[a2,#0]
-        B        |L009700.J61.putscaled_compiler|
-L0096c4
-        DCD     &0004075c
-|L0096c8.J56.putscaled_compiler|
-        ADD      a4,sp,#4
-        STMDB    sp!,{a4}
-        MOV      a4,#0
-        MVN      a3,#0
-        MOV      a2,#&20000003
-        MOV      a1,#&35
-        BL       |_swix|
-        ADD      sp,sp,#4
-        LDR      a1,[sp,#4]
-        TST      a1,#&80
-        ORREQ    v3,v3,#&20
-        B        |L009700.J61.putscaled_compiler|
-|L0096f8.J54.putscaled_compiler|
-        TEQ      a1,#&10
-        ORREQ    v3,v3,#&10
-|L009700.J61.putscaled_compiler|
-        ADD      sp,sp,#4
-|L009704.J51.putscaled_compiler|
-        MOV      a4,v3
-        MVN      a3,#0
-        MVN      a2,#0
-        MOV      a1,v6
-        STMDB    sp!,{a1-a4}
-        LDR      a4,[v1,#&114]
-        MOV      a2,v5
-        LDR      a1,[sp,#&1c]
-        LDR      a3,[sp,#&18]
-        BL       jpeg_scan_file
-        ADD      sp,sp,#&10
-        TEQ      a1,#0
-        MOVNE    a2,#2
-        MOVNE    a1,#&3a
-        ADDNE    a1,a1,#&1000
-        BLNE     exit_c
-        LDR      a1,[sp,#&c]
-        LDR      a1,[a1,#4]
-        TST      a1,#&28
-        BEQ      |L00976c.J66.putscaled_compiler|
-        MOV      a1,#3
-        STR      a1,[v1,#&78]
-        STR      a1,[v1,#&74]
-        MOV      a1,#0
-        STR      a1,[v1,#&b4]
-        B        |L00977c.J68.putscaled_compiler|
-|L00976c.J66.putscaled_compiler|
-        TST      a1,#&10
-        MOVNE    a1,#4
-        STRNE    a1,[v1,#&78]
-        STRNE    a1,[v1,#&74]
-|L00977c.J68.putscaled_compiler|
-        ADD      sp,sp,#&c
-|L009780.J12.putscaled_compiler|
-        MOV      v3,#0
-        STR      v3,[v2,#&1f4]
-        LDR      v4,[v1,#&10c]
-        TEQ      v4,#0
-        BEQ      |L00982c.J71.putscaled_compiler|
-        LDR      a1,[v4,#4]
-        TEQ      a1,#0
-        BNE      |L0097bc.J74.putscaled_compiler|
-        LDR      a1,[v4,#8]
-        CMN      a1,#&100
-        BNE      |L0097bc.J74.putscaled_compiler|
-        LDR      a1,[v4,#&c]
-        TEQ      a1,#0
-        MOVEQ    a1,#1
-        BEQ      |L0097c0.J73.putscaled_compiler|
-|L0097bc.J74.putscaled_compiler|
-        MOV      a1,v3
-|L0097c0.J73.putscaled_compiler|
-        STR      a1,[v2,#&228]
-        LDR      a1,[v1,#&104]
-        TEQ      a1,#&20
-        MOVNE    a2,#4
-        MOVNE    a1,#&98
-        ADDNE    a1,a1,#&1000
-        BLNE     exit_c
-        LDR      a1,[v1,#&74]
-        CMP      a1,#4
-        MOVLT    a2,#4
-        MOVLT    a1,#&99
-        ADDLT    a1,a1,#&1000
-        BLLT     exit_c
-        LDR      a1,[v1,#&b4]
-        TEQ      a1,#0
-        LDREQ    a1,[v1,#&f8]
-        TEQEQ    a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&9a
-        ADDNE    a1,a1,#&1000
-        BLNE     exit_c
-        LDR      a1,[v4,#0]
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&9b
-        ADDNE    a1,a1,#&1000
-        BLNE     exit_c
-|L00982c.J71.putscaled_compiler|
-        MOV      a1,#0
-        LDR      a2,[v1,#&104]
-        CMP      a2,#1
-        BLE      |L00984c.J89.putscaled_compiler|
-|L00983c.J88.putscaled_compiler|
-        MOV      a2,a2,ASR #1
-        ADD      a1,a1,#1
-        CMP      a2,#1
-        BGT      |L00983c.J88.putscaled_compiler|
-|L00984c.J89.putscaled_compiler|
-        STR      a1,[v2,#&210]
-        STR      a1,[v2,#&214]
-        LDR      a2,[v1,#&104]
-        LDR      a3,[v1,#&100]
-        TEQ      a2,a3
-        ADDNE    a1,a1,#1
-        STRNE    a1,[v2,#&214]
-        LDR      a1,[v1,#&f8]
-        TEQ      a1,#0
-        STRNE    v3,[v1,#&b4]
-        LDR      a1,[v1,#&44]
-        CMP      a1,#0
-        MOVLE    a2,#4
-        MOVLE    a1,#&ac
-        ADDLE    a1,a1,#&1000
-        BLLE     exit_c
-        LDR      a1,[v1,#&40]
-        CMP      a1,#0
-        MOVLE    a2,#4
-        MOVLE    a1,#&ad
-        ADDLE    a1,a1,#&1000
-        BLLE     exit_c
-        LDR      a1,[v1,#&10]
-        CMP      a1,#0
-        MOVLE    a2,#4
-        MOVLE    a1,#&ae
-        ADDLE    a1,a1,#&1000
-        BLLE     exit_c
-        LDR      a1,[v1,#&10]
-        CMP      a1,#0
-        MOVLE    a2,#4
-        MOVLE    a1,#&af
-        ADDLE    a1,a1,#&1000
-        BLLE     exit_c
-        B        |L0098fc.J105.putscaled_compiler|
-|L0098d8.J104.putscaled_compiler|
-        MOV      a4,a4,ASR #1
-        MOV      a2,a2,ASR #1
-        ADD      v1,v1,#&40
-        STMIA    v1,{a2,a4}
-        SUB      v1,v1,#&40
-        MOV      a2,a3,ASR #1
-        MOV      a1,a1,ASR #1
-        STR      a1,[v1,#&68]
-        STR      a2,[v1,#&30]
-|L0098fc.J105.putscaled_compiler|
-        LDR      a4,[v1,#&44]
-        TST      a4,#1
-        LDREQ    a2,[v1,#&40]
-        ANDEQ    a1,a2,#1
-        TEQEQ    a1,#0
-        LDREQ    a3,[v1,#&30]
-        ANDEQ    a1,a3,#1
-        TEQEQ    a1,#0
-        LDREQ    a1,[v1,#&68]
-        ANDEQ    ip,a1,#1
-        TEQEQ    ip,#0
-        BEQ      |L0098d8.J104.putscaled_compiler|
-        B        |L00994c.J112.putscaled_compiler|
-|L009930.J111.putscaled_compiler|
-        MOV      a3,a3,ASR #1
-        MOV      a2,a2,ASR #1
-        MOV      a1,a1,ASR #1
-        STR      a1,[v1,#&1c]
-        ADD      v1,v1,#&10
-        STMIA    v1,{a2,a3}
-        SUB      v1,v1,#&10
-|L00994c.J112.putscaled_compiler|
-        LDR      a3,[v1,#&14]
-        TST      a3,#1
-        LDREQ    a2,[v1,#&10]
-        ANDEQ    a1,a2,#1
-        TEQEQ    a1,#0
-        LDREQ    a1,[v1,#&1c]
-        ANDEQ    a4,a1,#1
-        TEQEQ    a4,#0
-        BEQ      |L009930.J111.putscaled_compiler|
-        LDR      a1,[v1,#&104]
-        LDR      v3,[v1,#&100]
-        LDR      v4,[v1,#&78]
-        STR      a1,[v1,#&100]
-        LDR      a1,[v1,#&74]
-        STR      a1,[v1,#&78]
-        MOV      a2,v2
-        MOV      a1,v1
-        LDR      a3,[sp,#0]
-        BL       find_or_compile_code
-        STR      v4,[v1,#&78]!
-        STR      v3,[v1,#&88]
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-        AREA |C$$data|,DATA
-
-|x$dataseg|
-
-        END
diff --git a/s/rojpeg b/s/rojpeg
deleted file mode 100644
index 1c71444..0000000
--- a/s/rojpeg
+++ /dev/null
@@ -1,3078 +0,0 @@
-; Copyright 1996 Acorn Computers Ltd
-;
-; Licensed under the Apache License, Version 2.0 (the "License");
-; you may not use this file except in compliance with the License.
-; You may obtain a copy of the License at
-;
-;     http://www.apache.org/licenses/LICENSE-2.0
-;
-; Unless required by applicable law or agreed to in writing, software
-; distributed under the License is distributed on an "AS IS" BASIS,
-; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-; See the License for the specific language governing permissions and
-; limitations under the License.
-;
-; generated by Norcroft RISC OS ARM C vsn 5.05 (Acorn Computers Ltd) [Dec 23 1994]
-
-        AREA |C$$code|, CODE, READONLY
-|x$codeseg|
-
-        EXPORT  memcpy
-memcpy
-        MOV      a4,a1
-        MOV      ip,a3
-        SUB      a3,a3,#1
-        CMP      ip,#0
-        MOVLSS   pc,lr
-|L000014.J4.memcpy|
-        LDRB     ip,[a2],#1
-        STRB     ip,[a4],#1
-        MOV      ip,a3
-        SUB      a3,a3,#1
-        CMP      ip,#0
-        BHI      |L000014.J4.memcpy|
-        MOVS     pc,lr
-
-        EXPORT  strcpy
-strcpy
-        MOV      a3,a1
-        LDRB     a4,[a2,#0]
-        CMP      a4,#&1f
-        MOVLES   pc,lr
-|L000040.J4.strcpy|
-        LDRB     a4,[a2],#1
-        STRB     a4,[a3],#1
-        LDRB     a4,[a2,#0]
-        CMP      a4,#&1f
-        BGT      |L000040.J4.strcpy|
-        MOVS     pc,lr
-
-        EXPORT  memset
-memset
-        MOV      a4,a1
-        MOV      ip,a3
-        SUB      a3,a3,#1
-        CMP      ip,#0
-        MOVLSS   pc,lr
-        AND      a2,a2,#&ff
-|L000070.J4.memset|
-        STRB     a2,[a4],#1
-        MOV      ip,a3
-        SUB      a3,a3,#1
-        CMP      ip,#0
-        BHI      |L000070.J4.memset|
-        MOVS     pc,lr
-
-        IMPORT  exit
-        EXPORT  panic_exit
-panic_exit
-        B        exit
-
-get_2bytes
-        MOV      a4,#&ff
-        LDR      a2,[a1,#&38]
-        LDR      a3,[a1,#&34]
-        CMP      a3,a2
-        LDRCCB   a2,[a3],#1
-        STRCC    a3,[a1,#&34]
-        MOVCS    a2,a4
-        MOV      a3,a2
-        ADD      ip,a1,#&34
-        LDMIA    ip,{a2,ip}
-        CMP      a2,ip
-        LDRCCB   a4,[a2],#1
-        STRCC    a2,[a1,#&34]!
-        ADD      a1,a4,a3,LSL #8
-        MOVS     pc,lr
-
-skip_variable
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        SUB      a1,a1,#2
-        CMP      a1,#0
-        LDMLEDB  fp,{v1,fp,sp,pc}^
-        LDR      a2,[v1,#&38]
-|L0000ec.J4.skip_variable|
-        LDR      a3,[v1,#&34]
-        CMP      a3,a2
-        ADDCC    a3,a3,#1
-        STRCC    a3,[v1,#&34]
-        SUB      a1,a1,#1
-        CMP      a1,#0
-        BGT      |L0000ec.J4.skip_variable|
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-        IMPORT  newline
-get_dht
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        SUB      sp,sp,#&114
-        BL       get_2bytes
-        SUB      v4,a1,#2
-        CMP      v4,#0
-        BLE      |L000258.J37.get_dht|
-        MOV      v6,#0
-        MOV      v5,#&ff
-|L000138.J4.get_dht|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,v5
-        MOV      v2,a2
-        STRB     v6,[sp,#&100]
-        MOV      v3,#0
-        MOV      a1,#1
-|L000160.J10.get_dht|
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a2,a3}
-        CMP      a2,a3
-        MOVCS    a2,v5
-        BCS      |L000180.J11.get_dht|
-        LDRB     a3,[a2],#1
-        STR      a2,[v1,#&34]
-        MOV      a2,a3
-|L000180.J11.get_dht|
-        ADD      a3,sp,#&100
-        STRB     a2,[a3,a1]
-        ADD      a2,sp,#&100
-        LDRB     a2,[a2,a1]
-        ADD      v3,a2,v3
-        ADD      a1,a1,#1
-        CMP      a1,#&10
-        BLE      |L000160.J10.get_dht|
-        CMP      v3,#&100
-        BLGT     newline
-        MOVGT    a1,#&b9
-        ADDGT    a1,a1,#&4e00
-        BLGT     exit
-        MOV      a1,#0
-        CMP      v3,#0
-        BLE      |L0001f0.J18.get_dht|
-|L0001c0.J17.get_dht|
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a2,a3}
-        CMP      a2,a3
-        MOVCS    a2,v5
-        BCS      |L0001e0.J20.get_dht|
-        LDRB     a3,[a2],#1
-        STR      a2,[v1,#&34]
-        MOV      a2,a3
-|L0001e0.J20.get_dht|
-        STRB     a2,[sp,a1]
-        ADD      a1,a1,#1
-        CMP      a1,v3
-        BLT      |L0001c0.J17.get_dht|
-|L0001f0.J18.get_dht|
-        ADD      a1,v3,#&11
-        SUB      v4,v4,a1
-        TST      v2,#&10
-        SUBNE    v2,v2,#&10
-        ADD      a1,v1,v2,LSL #2
-        ADDEQ    v3,a1,#&64
-        ADDNE    v3,a1,#&74
-        CMP      v2,#0
-        BLT      |L00021c.J28.get_dht|
-        CMP      v2,#4
-        BLT      |L00022c.J27.get_dht|
-|L00021c.J28.get_dht|
-        BL       newline
-        MOV      a1,#&2c8
-        ADD      a1,a1,#&4c00
-        BL       exit
-|L00022c.J27.get_dht|
-        ADD      a2,sp,#&100
-        MOV      a3,#&11
-        LDR      a1,[v3,#0]
-        BL       memcpy
-        LDR      a1,[v3,#0]
-        ADD      a1,a1,#&11
-        MOV      a2,sp
-        MOV      a3,#&100
-        BL       memcpy
-        CMP      v4,#0
-        BGT      |L000138.J4.get_dht|
-|L000258.J37.get_dht|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-get_dac
-        MOV      ip,sp
-        STMDB    sp!,{v1-v5,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        SUB      v4,a1,#2
-        CMP      v4,#0
-        LDMLEDB  fp,{v1-v5,fp,sp,pc}^
-        MOV      v5,#&ff
-|L000280.J4.get_dac|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        LDRCCB   a3,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a3,v5
-        MOV      v2,a3
-        LDR      a1,[v1,#&34]
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,v5
-        MOV      v3,a2
-        CMP      v2,#0
-        BLT      |L0002c4.J14.get_dac|
-        CMP      v2,#&20
-        BLT      |L0002d4.J13.get_dac|
-|L0002c4.J14.get_dac|
-        BL       newline
-        MOV      a1,#&2e8
-        ADD      a1,a1,#&4c00
-        BL       exit
-|L0002d4.J13.get_dac|
-        CMP      v2,#&10
-        MOVGE    a1,v3
-        ADDGE    a2,v1,v2
-        STRGEB   a1,[a2,#&94]
-        BGE      |L000314.J19.get_dac|
-        AND      a1,v3,#&f
-        ADD      a2,v1,v2
-        STRB     a1,[a2,#&84]
-        MOV      a3,v3,ASR #4
-        AND      a3,a3,#&ff
-        STRB     a3,[a2,#&94]
-        CMP      a1,a3
-        BLGT     newline
-        MOVGT    a1,#&ef0
-        ADDGT    a1,a1,#&4000
-        BLGT     exit
-|L000314.J19.get_dac|
-        SUB      v4,v4,#2
-        CMP      v4,#0
-        BGT      |L000280.J4.get_dac|
-        LDMDB    fp,{v1-v5,fp,sp,pc}^
-
-get_dqt
-        MOV      ip,sp
-        STMDB    sp!,{v1-v5,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        SUB      v2,a1,#2
-        CMP      v2,#0
-        LDMLEDB  fp,{v1-v5,fp,sp,pc}^
-        MOV      v4,#&ff
-|L000348.J4.get_dqt|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a1,v4
-        BCS      |L000368.J7.get_dqt|
-        LDRB     a2,[a1],#1
-        STR      a1,[v1,#&34]
-        MOV      a1,a2
-|L000368.J7.get_dqt|
-        MOV      v3,a1,ASR #4
-        AND      v5,a1,#&f
-        CMP      v5,#4
-        BLGE     newline
-        MOVGE    a1,#&30c
-        ADDGE    a1,a1,#&4c00
-        BLGE     exit
-        ADD      a1,v1,v5,LSL #2
-        LDR      a4,[a1,#&54]!
-        MOV      a1,#0
-|L000390.J12.get_dqt|
-        ADD      ip,v1,#&34
-        LDMIA    ip,{a3,ip}
-        CMP      a3,ip
-        LDRCCB   a2,[a3],#1
-        STRCC    a3,[v1,#&34]
-        MOVCS    a2,v4
-        MOV      a2,a2,LSL #16
-        MOV      a2,a2,LSR #16
-        TEQ      v3,#0
-        BEQ      |L0003d8.J16.get_dqt|
-        LDR      a3,[v1,#&34]
-        CMP      a3,ip
-        LDRCCB   ip,[a3],#1
-        STRCC    a3,[v1,#&34]
-        MOVCS    ip,v4
-        ADD      a2,ip,a2,LSL #8
-        MOV      a2,a2,LSL #16
-        MOV      a2,a2,LSR #16
-|L0003d8.J16.get_dqt|
-        STR      a2,[a4,a1,LSL #2]
-        ADD      a1,a1,#1
-        CMP      a1,#&40
-        BLT      |L000390.J12.get_dqt|
-        MOV      a1,#0
-|L0003ec.J22.get_dqt|
-        ADD      a1,a1,#8
-        CMP      a1,#&40
-        BLT      |L0003ec.J22.get_dqt|
-        SUB      v2,v2,#&41
-        TEQ      v3,#0
-        SUBNE    v2,v2,#&40
-        CMP      v2,#0
-        BGT      |L000348.J4.get_dqt|
-        LDMDB    fp,{v1-v5,fp,sp,pc}^
-
-get_dri
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        TEQ      a1,#4
-        BLNE     newline
-        MOVNE    a1,#&2d
-        ADDNE    a1,a1,#&4f00
-        BLNE     exit
-        MOV      a1,v1
-        BL       get_2bytes
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,LSR #16
-        STR      a1,[v1,#&bc]!
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-get_app0
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        SUB      sp,sp,#&10
-        BL       get_2bytes
-        SUB      v2,a1,#2
-        CMP      v2,#&e
-        BLT      |L000524.J25.get_app0|
-        MOV      a1,#0
-        MOV      a2,#&ff
-|L00047c.J6.get_app0|
-        LDR      a3,[v1,#&38]
-        LDR      a4,[v1,#&34]
-        CMP      a4,a3
-        LDRCCB   a3,[a4],#1
-        STRCC    a4,[v1,#&34]
-        MOVCS    a3,a2
-        STRB     a3,[sp,a1]
-        ADD      a1,a1,#1
-        CMP      a1,#&e
-        BLT      |L00047c.J6.get_app0|
-        SUB      v2,v2,#&e
-        LDRB     a1,[sp,#0]
-        TEQ      a1,#&4a
-        LDREQB   a1,[sp,#1]
-        TEQEQ    a1,#&46
-        LDREQB   a1,[sp,#2]
-        TEQEQ    a1,#&49
-        LDREQB   a1,[sp,#3]
-        TEQEQ    a1,#&46
-        LDREQB   a1,[sp,#4]
-        TEQEQ    a1,#0
-        BNE      |L000524.J25.get_app0|
-        LDRB     a1,[sp,#5]
-        TEQ      a1,#1
-        BLNE     newline
-        MOVNE    a1,#&4d
-        ADDNE    a1,a1,#&4f00
-        BLNE     exit
-        LDRB     a1,[sp,#7]
-        STR      a1,[v1,#&40]
-        LDRB     a1,[sp,#9]
-        LDRB     a2,[sp,#8]
-        ADD      a1,a1,a2,LSL #8
-        STR      a1,[v1,#&44]
-        LDRB     a2,[sp,#&b]
-        LDRB     a1,[sp,#&a]
-        ADD      a1,a2,a1,LSL #8
-        STR      a1,[v1,#&48]
-        LDR      a1,[v1,#&1c]
-        TEQ      a1,#0
-        MOVEQ    a1,#3
-        STREQ    a1,[v1,#&1c]
-|L000524.J25.get_app0|
-        MOV      a1,v2
-        SUB      v2,v2,#1
-        CMP      a1,#0
-        BLE      |L000558.J37.get_app0|
-        LDR      a2,[v1,#&38]
-|L000538.J26.get_app0|
-        LDR      a1,[v1,#&34]
-        CMP      a1,a2
-        ADDCC    a1,a1,#1
-        STRCC    a1,[v1,#&34]
-        MOV      a1,v2
-        SUB      v2,v2,#1
-        CMP      a1,#0
-        BGT      |L000538.J26.get_app0|
-|L000558.J37.get_app0|
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-get_sof
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        MOV      v3,a1
-        MOV      v2,#&ff
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,v2
-        STR      a2,[v1,#&3c]
-        MOV      a1,v1
-        BL       get_2bytes
-        STR      a1,[v1,#&18]
-        MOV      a1,v1
-        BL       get_2bytes
-        STR      a1,[v1,#&14]
-        MOV      a2,a1
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a1,a3}
-        CMP      a1,a3
-        MOVCS    a1,v2
-        BCS      |L0005d0.J7.get_sof|
-        LDRB     a3,[a1],#1
-        STR      a1,[v1,#&34]
-        MOV      a1,a3
-|L0005d0.J7.get_sof|
-        STR      a1,[v1,#&4c]
-        LDR      a3,[v1,#&18]
-        CMP      a3,#0
-        CMPGT    a2,#0
-        CMPGT    a1,#0
-        BLLE     newline
-        MOVLE    a1,#&82
-        ADDLE    a1,a1,#&4f00
-        BLLE     exit
-        LDR      a1,[v1,#&3c]
-        TEQ      a1,#8
-        BLNE     newline
-        MOVNE    a1,#&86
-        ADDNE    a1,a1,#&4f00
-        BLNE     exit
-        LDR      a1,[v1,#&4c]
-        ADD      a1,a1,a1,LSL #1
-        ADD      a1,a1,#8
-        TEQ      a1,v3
-        BLNE     newline
-        MOVNE    a1,#&92
-        ADDNE    a1,a1,#&4f00
-        BLNE     exit
-        LDR      a1,[v1,#&4c]
-        CMP      a1,#3
-        BLGT     newline
-        MOVGT    a1,#&96
-        ADDGT    a1,a1,#&4f00
-        BLGT     exit
-        MOV      a1,#0
-        LDR      a2,[v1,#&4c]
-        CMP      a2,#0
-        LDMLEDB  fp,{v1-v3,fp,sp,pc}^
-        MOV      a2,#&f
-|L000658.J21.get_sof|
-        RSB      a4,a1,a1,LSL #3
-        LDR      a3,[v1,#&50]
-        ADD      a3,a3,a4,LSL #3
-        STR      a1,[a3,#4]
-        ADD      ip,v1,#&34
-        LDMIA    ip,{a4,ip}
-        CMP      a4,ip
-        LDRCCB   ip,[a4],#1
-        STRCC    a4,[v1,#&34]
-        MOVCS    ip,v2
-        STR      ip,[a3,#0]
-        ADD      ip,v1,#&34
-        LDMIA    ip,{a4,ip}
-        CMP      a4,ip
-        MOVCS    a4,v2
-        BCS      |L0006a8.J27.get_sof|
-        MOV      ip,a4
-        LDRB     a4,[a4,#0]
-        ADD      ip,ip,#1
-        STR      ip,[v1,#&34]
-|L0006a8.J27.get_sof|
-        AND      ip,a2,a4,ASR #4
-        AND      a4,a4,#&f
-        STR      a4,[a3,#&c]
-        STR      ip,[a3,#8]
-        ADD      ip,v1,#&34
-        LDMIA    ip,{a4,ip}
-        CMP      a4,ip
-        LDRCCB   ip,[a4],#1
-        STRCC    a4,[v1,#&34]
-        MOVCS    ip,v2
-        ADD      a1,a1,#1
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      ip,[a3,#&10]!
-        LDR      a3,[v1,#&4c]
-        CMP      a1,a3
-        BLT      |L000658.J21.get_sof|
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-get_sos
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        MOV      v4,#&ff
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a2,a3}
-        CMP      a2,a3
-        LDRCCB   a3,[a2],#1
-        STRCC    a2,[v1,#&34]
-        MOVCS    a3,v4
-        MOV      v3,a3
-        SUB      v2,a1,#3
-        MOV      a1,#3
-        STR      a3,[v1,#&c8]
-        ADD      a1,a1,a3,LSL #1
-        TEQ      a1,v2
-        BNE      |L00074c.J8.get_sos|
-        CMP      v3,#1
-        BLT      |L00074c.J8.get_sos|
-        CMP      v3,#4
-        BLE      |L00075c.J7.get_sos|
-|L00074c.J8.get_sos|
-        BL       newline
-        MOV      a1,#&3bc
-        ADD      a1,a1,#&4c00
-        BL       exit
-|L00075c.J7.get_sos|
-        MOV      v5,#0
-        CMP      v3,#0
-        BLE      |L000818.J13.get_sos|
-|L000768.J12.get_sos|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        LDRCCB   a3,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a3,#&ff
-        LDR      a1,[v1,#&34]
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,#&ff
-        MOV      v6,a2
-        SUB      v2,v2,#2
-        MOV      v4,#0
-        LDR      a1,[v1,#&4c]
-        CMP      a1,#0
-        BLE      |L0007d0.J22.get_sos|
-        LDR      a2,[v1,#&50]
-|L0007b0.J21.get_sos|
-        RSB      a4,v4,v4,LSL #3
-        ADD      a4,a2,a4,LSL #3
-        LDR      a4,[a4,#0]
-        TEQ      a4,a3
-        BEQ      |L0007d0.J22.get_sos|
-        ADD      v4,v4,#1
-        CMP      v4,a1
-        BLT      |L0007b0.J21.get_sos|
-|L0007d0.J22.get_sos|
-        CMP      v4,a1
-        BLGE     newline
-        MOVGE    a1,#&ca
-        ADDGE    a1,a1,#&4f00
-        BLGE     exit
-        RSB      a1,v4,v4,LSL #3
-        LDR      a2,[v1,#&50]
-        ADD      a1,a2,a1,LSL #3
-        ADD      a2,v1,v5,LSL #2
-        STR      a1,[a2,#&cc]!
-        MOV      a2,#&f
-        AND      a2,a2,v6,ASR #4
-        STR      a2,[a1,#&14]
-        AND      a2,v6,#&f
-        ADD      v5,v5,#1
-        CMP      v5,v3
-        STR      a2,[a1,#&18]!
-        BLT      |L000768.J12.get_sos|
-|L000818.J13.get_sos|
-        CMP      v2,#0
-        LDMLEDB  fp,{v1-v6,fp,sp,pc}^
-        LDR      a1,[v1,#&38]
-|L000824.J30.get_sos|
-        LDR      a2,[v1,#&34]
-        CMP      a2,a1
-        ADDCC    a2,a2,#1
-        STRCC    a2,[v1,#&34]
-        SUB      v2,v2,#1
-        CMP      v2,#0
-        BGT      |L000824.J30.get_sos|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-get_soi
-        STMDB    sp!,{lr}
-        MOV      a2,#0
-        MOV      ip,#0
-        MOV      a4,#1
-        MOV      lr,#5
-|L000858.J4.get_soi|
-        ADD      a3,a1,a2
-        STRB     ip,[a3,#&84]
-        STRB     a4,[a3,#&94]
-        STRB     lr,[a3,#&a4]
-        ADD      a2,a2,#1
-        CMP      a2,#&10
-        BLT      |L000858.J4.get_soi|
-        STR      ip,[a1,#&bc]
-        STR      a4,[a1,#&44]
-        STR      ip,[a1,#&40]
-        STR      a4,[a1,#&48]!
-        STR      ip,[a1,#&70]!
-        LDMIA    sp!,{pc}^
-
-next_marker
-        MOV      a3,#&ff
-        LDR      a2,[a1,#&38]
-|L000894.J5.next_marker|
-        LDR      ip,[a1,#&34]
-        CMP      ip,a2
-        LDRCCB   a4,[ip],#1
-        STRCC    ip,[a1,#&34]
-        MOVCS    a4,a3
-        TEQ      a4,#&ff
-        BNE      |L000894.J5.next_marker|
-|L0008b0.J10.next_marker|
-        LDR      ip,[a1,#&34]
-        CMP      ip,a2
-        LDRCCB   a4,[ip],#1
-        STRCC    ip,[a1,#&34]
-        MOVCS    a4,a3
-        TEQ      a4,#&ff
-        BEQ      |L0008b0.J10.next_marker|
-        TEQ      a4,#0
-        BEQ      |L000894.J5.next_marker|
-        MOV      a1,a4
-        MOVS     pc,lr
-
-process_tables
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-|L0008ec.J4.process_tables|
-        MOV      a1,v1
-        BL       next_marker
-        MOV      a2,a1
-        CMP      a1,#&ce
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        BGT      |L000984.J39.process_tables|
-        CMP      a1,#&c6
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        BGT      |L000958.J42.process_tables|
-        CMP      a1,#&c2
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        BGT      |L000934.J45.process_tables|
-        TEQ      a1,#1
-        BEQ      |L0008ec.J4.process_tables|
-        TEQ      a1,#&c0
-        TEQNE    a1,#&c1
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        B        |L000a08.J7.process_tables|
-|L000934.J45.process_tables|
-        TEQ      a1,#&c3
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        TEQ      a1,#&c4
-        MOVEQ    a1,v1
-        BLEQ     get_dht
-        BEQ      |L0008ec.J4.process_tables|
-        TEQ      a1,#&c5
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        B        |L000a08.J7.process_tables|
-|L000958.J42.process_tables|
-        SUB      a3,a1,#&c7
-        CMP      a3,#6
-        ADDLS    pc,pc,a3,LSL #2
-        B        |L000a08.J7.process_tables|
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        B        |L0009e4.J25.process_tables|
-        LDMDB    fp,{v1,fp,sp,pc}^
-|L000984.J39.process_tables|
-        SUB      a3,a1,#&cf
-        CMP      a3,#&11
-        ADDLS    pc,pc,a3,LSL #2
-        B        |L000a08.J7.process_tables|
-        LDMDB    fp,{v1,fp,sp,pc}^
-        B        |L0008ec.J4.process_tables|
-        B        |L0008ec.J4.process_tables|
-        B        |L0008ec.J4.process_tables|
-        B        |L0008ec.J4.process_tables|
-        B        |L0008ec.J4.process_tables|
-        B        |L0008ec.J4.process_tables|
-        B        |L0008ec.J4.process_tables|
-        B        |L0008ec.J4.process_tables|
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        B        |L0009f0.J10.process_tables|
-        B        |L000a08.J7.process_tables|
-        B        |L0009fc.J9.process_tables|
-        B        |L000a08.J7.process_tables|
-        B        |L000a08.J7.process_tables|
-        MOV      a1,v1
-        BL       get_app0
-        B        |L0008ec.J4.process_tables|
-|L0009e4.J25.process_tables|
-        MOV      a1,v1
-        BL       get_dac
-        B        |L0008ec.J4.process_tables|
-|L0009f0.J10.process_tables|
-        MOV      a1,v1
-        BL       get_dqt
-        B        |L0008ec.J4.process_tables|
-|L0009fc.J9.process_tables|
-        MOV      a1,v1
-        BL       get_dri
-        B        |L0008ec.J4.process_tables|
-|L000a08.J7.process_tables|
-        MOV      a1,v1
-        BL       skip_variable
-        B        |L0008ec.J4.process_tables|
-
-read_file_header
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        LDR      a3,[a1,#&34]
-        LDR      a1,[a1,#&38]
-        MOV      a2,#&ff
-        CMP      a3,a1
-        LDRCCB   a1,[a3],#1
-        STRCC    a3,[v1,#&34]
-        MOVCS    a1,a2
-        TEQ      a1,#&ff
-        BNE      |L000a64.J5.read_file_header|
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a1,a3}
-        CMP      a1,a3
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        TEQ      a2,#&d8
-        BEQ      |L000a74.J4.read_file_header|
-|L000a64.J5.read_file_header|
-        BL       newline
-        MOV      a1,#&67
-        ADD      a1,a1,#&5000
-        BL       exit
-|L000a74.J4.read_file_header|
-        MOV      a1,v1
-        BL       get_soi
-        MOV      a1,v1
-        BL       process_tables
-        MOV      v3,#0
-        MOV      v2,#1
-        TEQ      a1,#&c0
-        TEQNE    a1,#&c1
-        BEQ      |L000ab4.J17.read_file_header|
-        TEQ      a1,#&c9
-        BNE      |L000ac8.J15.read_file_header|
-        MOV      a2,a1
-        MOV      a1,v1
-        BL       get_sof
-        STR      v2,[v1,#&b4]
-        B        |L000ad8.J14.read_file_header|
-|L000ab4.J17.read_file_header|
-        MOV      a2,a1
-        MOV      a1,v1
-        BL       get_sof
-        STR      v3,[v1,#&b4]
-        B        |L000ad8.J14.read_file_header|
-|L000ac8.J15.read_file_header|
-        BL       newline
-        MOV      a1,#&7b
-        ADD      a1,a1,#&5000
-        BL       exit
-|L000ad8.J14.read_file_header|
-        LDR      a1,[v1,#&4c]
-        TEQ      a1,#1
-        STREQ    v2,[v1,#&1c]!
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        TEQ      a1,#3
-        BEQ      |L000b04.J25.read_file_header|
-        TEQ      a1,#4
-        STRNE    v3,[v1,#&1c]!
-        LDMNEDB  fp,{v1-v3,fp,sp,pc}^
-        MOV      a1,#5
-        B        |L000b64.J44.read_file_header|
-|L000b04.J25.read_file_header|
-        LDR      a1,[v1,#&1c]
-        TEQ      a1,#0
-        LDMNEDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a2,[v1,#&50]
-        LDR      a1,[a2,#0]
-        MOV      a4,a1,LSL #16
-        MOV      a4,a4,ASR #16
-        LDR      a1,[a2,#&38]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        LDR      a2,[a2,#&70]
-        MOV      a2,a2,LSL #16
-        MOV      a2,a2,ASR #16
-        MOV      a3,#3
-        CMP      a4,#1
-        BNE      |L000b50.J32.read_file_header|
-        TEQ      a1,#2
-        BEQ      |L000b6c.J37.read_file_header|
-        B        |L000b54.J38.read_file_header|
-|L000b50.J32.read_file_header|
-        BNE      |L000b6c.J37.read_file_header|
-|L000b54.J38.read_file_header|
-        TEQ      a1,#4
-        TEQEQ    a2,#5
-        BNE      |L000b6c.J37.read_file_header|
-        MOV      a1,#4
-|L000b64.J44.read_file_header|
-        STR      a1,[v1,#&1c]!
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-|L000b6c.J37.read_file_header|
-        STR      a3,[v1,#&1c]!
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-read_scan_header
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       process_tables
-        TEQ      a1,#&d9
-        BEQ      |L000bb4.J4.read_scan_header|
-        TEQ      a1,#&da
-        MOVEQ    a1,v1
-        BLEQ     get_sos
-        MOVEQ    a1,#1
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        BL       newline
-        MOV      a1,#&be
-        ADD      a1,a1,#&5000
-        BL       exit
-|L000bb4.J4.read_scan_header|
-        MOV      a1,#0
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-        ;MPORT  huff_DECODE_buildshortcut
-        IMPORT  assert
-fix_huff_tbl
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        SUB      sp,sp,#&308
-        MOV      a2,#0
-        MOV      a3,#1
-|L000bdc.J4.fix_huff_tbl|
-        MOV      a1,#1
-        ADD      lr,v1,a3
-        LDRB     a4,[lr,#0]
-        CMP      a4,#1
-        BLT      |L000c14.J6.fix_huff_tbl|
-        AND      a4,a3,#&ff
-|L000bf4.J5.fix_huff_tbl|
-        MOV      v3,a2
-        ADD      a2,a2,#1
-        ADD      ip,sp,#&204
-        STRB     a4,[ip,v3]
-        ADD      a1,a1,#1
-        LDRB     v3,[lr,#0]
-        CMP      v3,a1
-        BGE      |L000bf4.J5.fix_huff_tbl|
-|L000c14.J6.fix_huff_tbl|
-        ADD      a3,a3,#1
-        CMP      a3,#&10
-        BLE      |L000bdc.J4.fix_huff_tbl|
-        MOV      a1,#0
-        ADD      a3,sp,#&204
-        STRB     a1,[a3,a2]
-        MOV      a3,#0
-        LDRB     a4,[sp,#&204]
-        MOV      a2,#0
-        LDRB     ip,[sp,#&204]
-        TEQ      ip,#0
-        BEQ      |L000ca8.J11.fix_huff_tbl|
-|L000c44.J10.fix_huff_tbl|
-        ADD      lr,sp,#&204
-        LDRB     lr,[lr,a2]
-        TEQ      lr,a4
-        BNE      |L000c88.J14.fix_huff_tbl|
-|L000c54.J13.fix_huff_tbl|
-        MOV      lr,a2
-        ADD      a2,a2,#1
-        ADD      ip,sp,lr,LSL #1
-        STRB     a3,[ip,#0]
-        MOV      lr,a3,ASR #8
-        STRB     lr,[ip,#1]
-        ADD      a3,a3,#1
-        MOV      a3,a3,LSL #16
-        MOV      a3,a3,LSR #16
-        ADD      lr,sp,#&204
-        LDRB     lr,[lr,a2]
-        TEQ      lr,a4
-        BEQ      |L000c54.J13.fix_huff_tbl|
-|L000c88.J14.fix_huff_tbl|
-        MOV      a3,a3,LSL #1
-        MOV      a3,a3,LSL #16
-        MOV      a3,a3,LSR #16
-        ADD      a4,a4,#1
-        ADD      lr,sp,#&204
-        LDRB     ip,[lr,a2]
-        TEQ      ip,#0
-        BNE      |L000c44.J10.fix_huff_tbl|
-|L000ca8.J11.fix_huff_tbl|
-        MOV      a2,#0
-        MOV      a3,#1
-        MVN      v6,#0
-|L000cb4.J18.fix_huff_tbl|
-        ADD      v3,v1,a3
-        LDRB     a4,[v3,#0]
-        TEQ      a4,#0
-        BEQ      |L000d08.J19.fix_huff_tbl|
-        ADD      lr,v1,a3,LSL #2
-        STR      a2,[lr,#&15c]
-        ADD      a4,lr,#&15c
-        LDR      v4,[sp,a2,LSL #1]
-        MOV      v4,v4,LSL #16
-        MOV      v4,v4,LSR #16
-        LDR      ip,[a4,#0]
-        SUB      v4,ip,v4
-        STR      v4,[a4,#0]
-        LDRB     a4,[v3,#0]
-        ADD      a2,a4,a2
-        ADD      a4,sp,a2,LSL #1
-        LDR      a4,[a4,#-2]
-        MOV      a4,a4,LSL #16
-        MOV      a4,a4,LSR #16
-        STR      a4,[lr,#&114]!
-        B        |L000d10.J21.fix_huff_tbl|
-|L000d08.J19.fix_huff_tbl|
-        ADD      a4,v1,a3,LSL #2
-        STR      v6,[a4,#&114]!
-|L000d10.J21.fix_huff_tbl|
-        ADD      a3,a3,#1
-        CMP      a3,#&10
-        BLE      |L000cb4.J18.fix_huff_tbl|
-        MVN      a2,#&ff00000
-        ADD      a2,a2,#&10000000
-        MOV      v3,#0
-        MOV      v5,#&20
-        STR      a2,[v1,#&158]
-|L000d30.J23.fix_huff_tbl|
-        MOV      a1,v3,LSL #24
-        MOV      a2,v1
-        ADD      v2,v2,#&104
-        STMIA    v2,{a1,v5}
-        SUB      v2,v2,#&104
-        MOV      a1,v2
-        BL       huff_DECODE_buildshortcut
-        MOV      v4,a1
-        LDR      a1,[v2,#&108]
-        CMP      a1,#&18
-        ADDLT    a1,v1,v3,LSL #2
-        STRLT    v6,[a1,#&1a0]!
-        BLT      |L000d8c.J26.fix_huff_tbl|
-        CMP      v4,#0
-        MOVLT    a1,#0
-        MOVGE    a1,#1
-        MOV      a2,#4
-        BL       assert
-        LDR      a1,[v2,#&108]
-        SUB      a1,v5,a1
-        ORR      a1,v4,a1,LSL #24
-        ADD      a2,v1,v3,LSL #2
-        STR      a1,[a2,#&1a0]!
-|L000d8c.J26.fix_huff_tbl|
-        ADD      v3,v3,#1
-        CMP      v3,#&100
-        BLT      |L000d30.J23.fix_huff_tbl|
-        MOV      a1,#0
-        STR      a1,[v2,#&108]
-        STR      a1,[v2,#&104]!
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-get_bits
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        LDR      a1,[a1,#&108]
-        CMP      a2,a1
-        BLE      |L000e40.J5.get_bits|
-        MOV      v3,#&ff
-|L000dcc.J4.get_bits|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a1,v3
-        BCS      |L000dec.J7.get_bits|
-        LDRB     a3,[a1],#1
-        STR      a1,[v1,#&34]
-        MOV      a1,a3
-|L000dec.J7.get_bits|
-        LDR      a3,[v1,#&104]
-        ORR      a3,a1,a3,LSL #8
-        STR      a3,[v1,#&104]
-        LDR      a3,[v1,#&108]
-        ADD      a3,a3,#8
-        TEQ      a1,#&ff
-        STR      a3,[v1,#&108]
-        BNE      |L000e34.J10.get_bits|
-        LDR      a1,[v1,#&34]
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,v3
-        TEQ      a2,#0
-        BLNE     newline
-        MOVNE    a1,#&394
-        ADDNE    a1,a1,#&2400
-        BLNE     exit
-|L000e34.J10.get_bits|
-        LDR      a1,[v1,#&108]
-        CMP      v2,a1
-        BGT      |L000dcc.J4.get_bits|
-|L000e40.J5.get_bits|
-        LDR      a1,[v1,#&108]
-        SUB      a1,a1,v2
-        STR      a1,[v1,#&108]
-        LDR      a2,[v1,#&104]!
-        MOV      a1,a2,ASR a1
-        MOV      a2,#1
-        MOV      a2,a2,LSL v2
-        SUB      a2,a2,#1
-        AND      a1,a1,a2
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-huff_DECODE_buildshortcut
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        LDR      a2,[a1,#&108]
-        TEQ      a2,#0
-        BEQ      |L000ea0.J5.huff_DECODE_buildshortcut|
-        SUB      a2,a2,#1
-        STR      a2,[v1,#&108]
-        LDR      a1,[v1,#&104]
-        MOV      a1,a1,ASR a2
-        AND      a1,a1,#1
-        B        |L000ea8.J4.huff_DECODE_buildshortcut|
-|L000ea0.J5.huff_DECODE_buildshortcut|
-        MOV      a2,#1
-        BL       get_bits
-|L000ea8.J4.huff_DECODE_buildshortcut|
-        MOV      v4,a1
-        MOV      v3,#1
-        B        |L000eec.J8.huff_DECODE_buildshortcut|
-|L000eb4.J7.huff_DECODE_buildshortcut|
-        LDR      a1,[v1,#&108]
-        TEQ      a1,#0
-        BEQ      |L000ed8.J10.huff_DECODE_buildshortcut|
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&108]
-        LDR      a2,[v1,#&104]
-        MOV      a1,a2,ASR a1
-        AND      a1,a1,#1
-        B        |L000ee4.J9.huff_DECODE_buildshortcut|
-|L000ed8.J10.huff_DECODE_buildshortcut|
-        MOV      a1,v1
-        MOV      a2,#1
-        BL       get_bits
-|L000ee4.J9.huff_DECODE_buildshortcut|
-        ADD      v4,a1,v4,LSL #1
-        ADD      v3,v3,#1
-|L000eec.J8.huff_DECODE_buildshortcut|
-        ADD      a1,v2,v3,LSL #2
-        LDR      a1,[a1,#&114]
-        CMP      a1,v4
-        BGE      |L000f04.J12.huff_DECODE_buildshortcut|
-        CMP      v3,#8
-        BLE      |L000eb4.J7.huff_DECODE_buildshortcut|
-|L000f04.J12.huff_DECODE_buildshortcut|
-        CMP      v3,#8
-        MVNGT    a1,#0
-        LDMGTDB  fp,{v1-v4,fp,sp,pc}^
-        ADD      a1,v2,v3,LSL #2
-        LDR      a1,[a1,#&15c]
-        ADD      a1,a1,v4
-        ADD      a1,v2,a1
-        LDRB     a1,[a1,#&11]
-        LDMDB    fp,{v1-v4,fp,sp,pc}^
-
-huff_decoder_init
-        MOV      a2,#0
-        STR      a2,[a1,#&108]!
-        MOVS     pc,lr
-
-mono_convert_block
-        STMDB    sp!,{v1,lr}
-        MOV      ip,#0
-|L000f3c.J4.mono_convert_block|
-        MOV      a4,#0
-|L000f40.J5.mono_convert_block|
-        ADD      lr,ip,a4,LSL #3
-        LDR      lr,[a1,lr,LSL #2]
-        ADD      lr,lr,#&40000
-        MOV      lr,lr,ASR #19
-        ADDS     lr,lr,#&80
-        MOVMI    lr,#0
-        BMI      |L000f64.J8.mono_convert_block|
-        CMP      lr,#&ff
-        MOVGT    lr,#&ff
-|L000f64.J8.mono_convert_block|
-        ORR      v1,lr,lr,LSL #8
-        ORR      lr,v1,lr,LSL #16
-        STR      lr,[a2,a4,LSL #2]
-        ADD      a4,a4,#1
-        CMP      a4,#8
-        BLT      |L000f40.J5.mono_convert_block|
-        ADD      a2,a2,a3,LSL #2
-        ADD      ip,ip,#1
-        CMP      ip,#8
-        BLT      |L000f3c.J4.mono_convert_block|
-        LDMIA    sp!,{v1,pc}^
-
-mono_convert_pixel
-        ADDS     a1,a2,#&80
-        MOVMI    a1,#0
-        BMI      |L000fa4.J6.mono_convert_pixel|
-        CMP      a1,#&ff
-        MOVGT    a1,#&ff
-|L000fa4.J6.mono_convert_pixel|
-        ORR      a2,a1,a1,LSL #8
-        ORR      a1,a2,a1,LSL #16
-        MOVS     pc,lr
-
-colour_convert_block
-        MOV      ip,sp
-        STMDB    sp!,{a1-a3,v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        SUB      sp,sp,#&14
-        MOV      v5,a1
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#&10]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#&c]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#8]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#4]
-        ADD      a1,a1,#&100
-        MOV      a3,#0
-        STR      a1,[sp,#0]
-|L000ff0.J4.colour_convert_block|
-        MOV      a1,#0
-        AND      v3,a3,#7
-        MOV      v2,a3,ASR #1
-|L000ffc.J5.colour_convert_block|
-        AND      a4,a1,#7
-        ADD      ip,v3,a4,LSL #3
-        CMP      a3,#8
-        BGE      |L00101c.J7.colour_convert_block|
-        CMP      a1,#8
-        LDRGE    a4,[sp,#&10]
-        MOVLT    a4,v5
-        B        |L001028.J6.colour_convert_block|
-|L00101c.J7.colour_convert_block|
-        CMP      a1,#8
-        LDRGE    a4,[sp,#8]
-        LDRLT    a4,[sp,#&c]
-|L001028.J6.colour_convert_block|
-        LDR      a4,[a4,ip,LSL #2]
-        MOV      ip,a1,ASR #1
-        ADD      ip,v2,ip,LSL #3
-        LDR      lr,[sp,#4]
-        LDR      lr,[lr,ip,LSL #2]
-        LDR      v1,[sp,#0]
-        LDR      ip,[v1,ip,LSL #2]
-        ADD      a4,a4,#&40000
-        MOV      a4,a4,ASR #19
-        ADD      a4,a4,#&80
-        ADD      lr,lr,#&40000
-        MOV      lr,lr,ASR #19
-        ADD      ip,ip,#&40000
-        MOV      v1,ip,ASR #19
-        ADD      v4,v1,v1,LSL #5
-        RSB      v4,v4,v4,LSL #3
-        ADD      v4,v4,v1,LSL #7
-        ADD      ip,lr,lr,LSL #1
-        ADD      ip,ip,lr,LSL #3
-        MOV      ip,ip,LSL #3
-        RSB      v6,ip,#0
-        ADD      ip,v1,v1,LSL #1
-        RSB      ip,ip,v1,LSL #6
-        ADD      ip,ip,ip,LSL #1
-        SUB      v1,v6,ip
-        ADD      ip,lr,lr,LSL #5
-        RSB      ip,ip,lr,LSL #8
-        ADD      ip,ip,lr,LSL #2
-        MOV      ip,ip,LSL #1
-        ADD      lr,v4,#&80
-        ADDS     lr,a4,lr,ASR #8
-        MOVMI    lr,#0
-        BMI      |L0010b4.J15.colour_convert_block|
-        CMP      lr,#&ff
-        MOVGT    lr,#&ff
-|L0010b4.J15.colour_convert_block|
-        ADD      v1,v1,#&80
-        ADDS     v1,a4,v1,ASR #8
-        MOVMI    v1,#0
-        BMI      |L0010cc.J19.colour_convert_block|
-        CMP      v1,#&ff
-        MOVGT    v1,#&ff
-|L0010cc.J19.colour_convert_block|
-        ADD      ip,ip,#&80
-        ADDS     a4,a4,ip,ASR #8
-        MOVMI    a4,#0
-        BMI      |L0010e4.J23.colour_convert_block|
-        CMP      a4,#&ff
-        MOVGT    a4,#&ff
-|L0010e4.J23.colour_convert_block|
-        ORR      ip,lr,v1,LSL #8
-        ORR      a4,ip,a4,LSL #16
-        STR      a4,[a2,a1,LSL #2]
-        ADD      a1,a1,#1
-        CMP      a1,#&10
-        BLT      |L000ffc.J5.colour_convert_block|
-        LDR      a1,[fp,#-&28]
-        ADD      a2,a2,a1,LSL #2
-        ADD      a3,a3,#1
-        CMP      a3,#&10
-        BLT      |L000ff0.J4.colour_convert_block|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-colour_convert_unusual_block
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        SUB      sp,sp,#&20
-        LDR      v3,[fp,#&14]
-        STR      a1,[sp,#&14]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#&10]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#&c]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#8]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#4]
-        ADD      a1,a1,#&100
-        MOV      a3,#0
-        CMP      a3,v3,LSL #3
-        STR      a1,[sp,#0]
-        BGE      |L0012a4.J35.colour_convert_unusual_block|
-        SUB      a1,a4,#1
-        STR      a1,[sp,#&1c]
-|L00116c.J4.colour_convert_unusual_block|
-        MOV      a1,#0
-        CMP      a1,a4,LSL #3
-        BGE      |L001290.J8.colour_convert_unusual_block|
-        AND      v4,a3,#7
-        SUB      lr,v3,#1
-        MOV      ip,a3,ASR lr
-        STR      ip,[sp,#&18]
-|L001188.J7.colour_convert_unusual_block|
-        AND      ip,a1,#7
-        ADD      lr,v4,ip,LSL #3
-        CMP      a3,#8
-        BGE      |L0011a8.J11.colour_convert_unusual_block|
-        CMP      a1,#8
-        LDRGE    ip,[sp,#&10]
-        LDRLT    ip,[sp,#&14]
-        B        |L0011b4.J10.colour_convert_unusual_block|
-|L0011a8.J11.colour_convert_unusual_block|
-        CMP      a1,#8
-        LDRGE    ip,[sp,#8]
-        LDRLT    ip,[sp,#&c]
-|L0011b4.J10.colour_convert_unusual_block|
-        LDR      lr,[ip,lr,LSL #2]
-        LDR      v1,[sp,#&1c]
-        MOV      v1,a1,ASR v1
-        LDR      ip,[sp,#&18]
-        ADD      ip,ip,v1,LSL #3
-        LDR      v1,[sp,#4]
-        LDR      v1,[v1,ip,LSL #2]
-        LDR      v2,[sp,#0]
-        LDR      ip,[v2,ip,LSL #2]
-        ADD      lr,lr,#&40000
-        MOV      lr,lr,ASR #19
-        ADD      lr,lr,#&80
-        ADD      v1,v1,#&40000
-        MOV      v1,v1,ASR #19
-        ADD      ip,ip,#&40000
-        MOV      v2,ip,ASR #19
-        ADD      v5,v2,v2,LSL #5
-        RSB      v5,v5,v5,LSL #3
-        ADD      v5,v5,v2,LSL #7
-        ADD      ip,v1,v1,LSL #1
-        ADD      ip,ip,v1,LSL #3
-        MOV      ip,ip,LSL #3
-        RSB      v6,ip,#0
-        ADD      ip,v2,v2,LSL #1
-        RSB      ip,ip,v2,LSL #6
-        ADD      ip,ip,ip,LSL #1
-        SUB      v2,v6,ip
-        ADD      ip,v1,v1,LSL #5
-        RSB      ip,ip,v1,LSL #8
-        ADD      ip,ip,v1,LSL #2
-        MOV      ip,ip,LSL #1
-        ADD      v1,v5,#&80
-        ADDS     v1,lr,v1,ASR #8
-        MOVMI    v1,#0
-        BMI      |L001248.J19.colour_convert_unusual_block|
-        CMP      v1,#&ff
-        MOVGT    v1,#&ff
-|L001248.J19.colour_convert_unusual_block|
-        ADD      v2,v2,#&80
-        ADDS     v2,lr,v2,ASR #8
-        MOVMI    v2,#0
-        BMI      |L001260.J23.colour_convert_unusual_block|
-        CMP      v2,#&ff
-        MOVGT    v2,#&ff
-|L001260.J23.colour_convert_unusual_block|
-        ADD      ip,ip,#&80
-        ADDS     ip,lr,ip,ASR #8
-        MOVMI    ip,#0
-        BMI      |L001278.J27.colour_convert_unusual_block|
-        CMP      ip,#&ff
-        MOVGT    ip,#&ff
-|L001278.J27.colour_convert_unusual_block|
-        ORR      lr,v1,v2,LSL #8
-        ORR      ip,lr,ip,LSL #16
-        STR      ip,[a2,a1,LSL #2]
-        ADD      a1,a1,#1
-        CMP      a1,a4,LSL #3
-        BLT      |L001188.J7.colour_convert_unusual_block|
-|L001290.J8.colour_convert_unusual_block|
-        LDR      a1,[fp,#&c]
-        ADD      a2,a2,a1,LSL #2
-        ADD      a3,a3,#1
-        CMP      a3,v3,LSL #3
-        BLT      |L00116c.J4.colour_convert_unusual_block|
-|L0012a4.J35.colour_convert_unusual_block|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-colour_convert_pixels
-        STMDB    sp!,{v1-v3,lr}
-        ADD      a2,a2,#4
-        MOV      a2,a2,ASR #3
-        ADD      a3,a3,#4
-        MOV      a3,a3,ASR #3
-        ADD      a4,a3,a3,LSL #5
-        RSB      a4,a4,a4,LSL #3
-        ADD      a4,a4,a3,LSL #7
-        ADD      ip,a2,a2,LSL #1
-        ADD      ip,ip,a2,LSL #3
-        MOV      ip,ip,LSL #3
-        RSB      lr,ip,#0
-        ADD      ip,a3,a3,LSL #1
-        RSB      a3,ip,a3,LSL #6
-        ADD      a3,a3,a3,LSL #1
-        SUB      a3,lr,a3
-        ADD      ip,a2,a2,LSL #5
-        RSB      ip,ip,a2,LSL #8
-        ADD      a2,ip,a2,LSL #2
-        MOV      a2,a2,LSL #1
-        ADD      a4,a4,#&80
-        MOV      v2,a4,ASR #8
-        ADD      a3,a3,#&80
-        MOV      v1,a3,ASR #8
-        ADD      a2,a2,#&80
-        MOV      lr,a2,ASR #8
-        MOV      a4,#0
-        MOV      v3,#&80
-|L001318.J4.colour_convert_pixels|
-        LDR      a2,[a1,a4,LSL #2]
-        ADD      a2,a2,#4
-        ADD      ip,v3,a2,ASR #3
-        ADDS     a3,v2,ip
-        MOVMI    a3,#0
-        BMI      |L001338.J7.colour_convert_pixels|
-        CMP      a3,#&ff
-        MOVGT    a3,#&ff
-|L001338.J7.colour_convert_pixels|
-        ADDS     a2,v1,ip
-        MOVMI    a2,#0
-        BMI      |L00134c.J11.colour_convert_pixels|
-        CMP      a2,#&ff
-        MOVGT    a2,#&ff
-|L00134c.J11.colour_convert_pixels|
-        ADDS     ip,lr,ip
-        MOVMI    ip,#0
-        BMI      |L001360.J15.colour_convert_pixels|
-        CMP      ip,#&ff
-        MOVGT    ip,#&ff
-|L001360.J15.colour_convert_pixels|
-        ORR      a2,a3,a2,LSL #8
-        ORR      a2,a2,ip,LSL #16
-        STR      a2,[a1,a4,LSL #2]
-        ADD      a4,a4,#1
-        CMP      a4,#4
-        BLT      |L001318.J4.colour_convert_pixels|
-        LDMIA    sp!,{v1-v3,pc}^
-
-        EXPORT  assembler_panic
-assembler_panic
-        MOVS     pc,lr
-
-init_workspace
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      a3,a2
-        MOV      a2,#0
-        LDR      v2,[a1,#&20]
-        LDR      v3,[a1,#&10]
-        BL       memset
-        STR      v2,[v1,#&20]
-        STR      v3,[v1,#&10]
-        ADD      a1,v1,#&1c
-        ADD      a1,a1,#&800
-        STR      a1,[v1,#&50]
-        MOV      a1,#0
-|L0013bc.J4.init_workspace|
-        ADD      a2,v1,a1,LSL #8
-        ADD      a2,a2,#&fc
-        ADD      a2,a2,#&800
-        ADD      a3,v1,a1,LSL #2
-        ADD      a1,a1,#1
-        CMP      a1,#4
-        STR      a2,[a3,#&54]!
-        BLT      |L0013bc.J4.init_workspace|
-        MOV      a1,#0
-|L0013e0.J6.init_workspace|
-        RSB      a2,a1,a1,LSL #4
-        ADD      a2,a2,a2,LSL #1
-        ADD      a3,v1,a2,LSL #5
-        SUB      a4,a3,#&304
-        ADD      a4,a4,#&1000
-        ADD      a2,v1,a1,LSL #2
-        ADD      a3,a3,#&37c
-        ADD      a3,a3,#&2000
-        ADD      a1,a1,#1
-        CMP      a1,#4
-        STR      a4,[a2,#&64]!
-        STR      a3,[a2,#&10]
-        BLT      |L0013e0.J6.init_workspace|
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-save_huff_stream
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        LDR      a1,[a1,#&108]
-        MOV      v4,#1
-        MOV      v3,#0
-        CMP      a1,#&20
-        MOVGE    a1,v3
-        MOVLT    a1,v4
-        MOV      a2,#2
-        BL       assert
-        LDR      a1,[v1,#&108]
-        CMP      a1,#0
-        MOVLT    a1,v3
-        MOVGE    a1,v4
-        MOV      a2,#2
-        BL       assert
-        ADD      a2,v1,#&30
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a1,v3
-        MOVCC    a1,v4
-        MOV      a2,#2
-        BL       assert
-        LDR      a1,[v1,#&38]
-        LDR      a2,[v1,#&34]
-        CMP      a2,a1
-        MOVCS    a1,v3
-        MOVCC    a1,v4
-        MOV      a2,#2
-        BL       assert
-        ADD      a2,v1,#&30
-        LDMIA    a2,{a1,a2}
-        SUB      a2,a2,a1
-        LDR      a1,[v1,#&108]
-        ADD      a1,a1,a2,LSL #5
-        STR      a1,[v2,#0]
-        LDR      a1,[v1,#&104]
-        STR      a1,[v2,#4]
-        LDR      a1,[v1,#&e4]
-        STRB     a1,[v2,#8]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#9]
-        LDR      a1,[v1,#&e8]
-        STRB     a1,[v2,#&a]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#&b]
-        LDR      a1,[v1,#&ec]
-        STRB     a1,[v2,#&c]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#&d]
-        LDR      a1,[v1,#&c0]
-        STRB     a1,[v2,#&10]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#&11]
-        LDR      a1,[v1,#&c4]!
-        STRB     a1,[v2,#&12]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#&13]
-        LDMDB    fp,{v1-v4,fp,sp,pc}^
-
-restore_huff_stream
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        LDR      a1,[a2,#4]
-        STR      a1,[v1,#&104]
-        LDR      a1,[a2,#0]
-        CMP      a1,#0
-        ADDLT    a1,a1,#&1f
-        LDR      a3,[v1,#&30]
-        ADD      a1,a3,a1,ASR #5
-        STR      a1,[v1,#&34]
-        LDR      a1,[a2,#0]
-        AND      a1,a1,#&1f
-        STR      a1,[v1,#&108]
-        LDR      a1,[a2,#8]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&e4]
-        LDR      a1,[a2,#&a]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&e8]
-        LDR      a1,[a2,#&c]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&ec]
-        LDR      a1,[a2,#&10]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&c0]
-        LDR      a1,[a2,#&12]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&c4]
-        MOV      v3,#1
-        MOV      v2,#0
-        ADD      a2,v1,#&30
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a1,v2
-        MOVCC    a1,v3
-        MOV      a2,#4
-        BL       assert
-        ADD      v1,v1,#&30
-        LDMIB    v1!,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a1,v2
-        MOVCC    a1,v3
-        MOV      a2,#4
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        assert
-
-process_restart
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        LDR      a1,[a1,#&34]
-        LDRB     v4,[a1],#1
-        STR      a1,[v1,#&34]
-        MOV      v3,#1
-        MOV      v2,#0
-        LDR      a1,[v1,#&108]
-        CMP      a1,#7
-        MOVGT    a1,v2
-        MOVLE    a1,v3
-        MOV      a2,#2
-        BL       assert
-        TEQ      v4,#&ff
-        MOVNE    a1,v2
-        MOVEQ    a1,v3
-        MOV      a2,#2
-        BL       assert
-        LDR      a1,[v1,#&34]
-        LDRB     a1,[a1,#0]
-        TEQ      a1,#&ff
-        BNE      |L001658.J11.process_restart|
-|L001640.J10.process_restart|
-        LDR      a1,[v1,#&34]
-        ADD      a1,a1,#1
-        STR      a1,[v1,#&34]
-        LDRB     a1,[a1,#0]
-        TEQ      a1,#&ff
-        BEQ      |L001640.J10.process_restart|
-|L001658.J11.process_restart|
-        LDR      a1,[v1,#&34]
-        LDRB     v4,[a1],#1
-        STR      a1,[v1,#&34]
-        AND      a1,v4,#&f8
-        TEQ      a1,#&d0
-        MOVNE    a1,v2
-        MOVEQ    a1,v3
-        MOV      a2,#2
-        BL       assert
-        AND      a1,v4,#7
-        LDR      a2,[v1,#&c4]
-        TEQ      a1,a2
-        MOVNE    a1,v2
-        MOVEQ    a1,v3
-        MOV      a2,#2
-        BL       assert
-        MOV      a2,v2
-        STR      a2,[v1,#&108]
-        STR      a2,[v1,#&104]
-        LDR      a1,[v1,#&bc]
-        STR      a1,[v1,#&c0]
-        LDR      a1,[v1,#&c4]
-        ADD      a1,a1,#1
-        AND      a1,a1,#7
-        STR      a1,[v1,#&c4]
-        MOV      a1,#0
-        LDR      a3,[v1,#&c8]
-        CMP      a3,#0
-        LDMLEDB  fp,{v1-v4,fp,sp,pc}^
-|L0016cc.J20.process_restart|
-        ADD      a3,v1,a1,LSL #2
-        ADD      a1,a1,#1
-        STR      a2,[a3,#&e4]!
-        LDR      a3,[v1,#&c8]
-        CMP      a1,a3
-        BLT      |L0016cc.J20.process_restart|
-        LDMDB    fp,{v1-v4,fp,sp,pc}^
-
-        IMPORT  asm_huff_skip_blocks
-do_huff_skip_blocks
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        MOV      v1,a1
-        MOV      v2,a2
-        MOV      v3,a3
-        LDR      v4,[fp,#&1c]
-        LDR      v5,[fp,#&18]
-        LDR      v6,[fp,#&14]
-        LDR      a2,[a1,#&bc]
-        TEQ      a2,#0
-        BEQ      |L00178c.J4.do_huff_skip_blocks|
-        CMP      v4,#0
-        LDMLEDB  fp,{v1-v6,fp,sp,pc}^
-        B        |L001730.J10.do_huff_skip_blocks|
-|L001728.J6.do_huff_skip_blocks|
-        TEQ      a1,#0
-        BEQ      |L00174c.J9.do_huff_skip_blocks|
-|L001730.J10.do_huff_skip_blocks|
-        LDR      a1,[v1,#&c0]
-        TEQ      a1,#0
-        MOVEQ    a1,v1
-        BLEQ     process_restart
-        LDR      a1,[v1,#&c0]
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&c0]
-|L00174c.J9.do_huff_skip_blocks|
-        MOV      a4,#1
-        MOV      a3,v5
-        MOV      a2,v6
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v3
-        MOV      a2,v2
-        MOV      a1,v1
-        LDR      a4,[fp,#&10]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        SUB      v4,v4,#1
-        ADD      v2,v2,#&100
-        CMP      v4,#0
-        LDR      a1,[fp,#&20]
-        BGT      |L001728.J6.do_huff_skip_blocks|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L00178c.J4.do_huff_skip_blocks|
-        MOV      a4,v4
-        MOV      a3,v5
-        MOV      a2,v6
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v3
-        MOV      a2,v2
-        LDR      a4,[fp,#&10]
-        BL       asm_huff_skip_blocks
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-        IMPORT  asm_huff_decode_blocks
-do_huff_decode_blocks
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        MOV      v1,a1
-        MOV      v2,a2
-        MOV      v3,a3
-        LDR      v4,[fp,#&1c]
-        LDR      v5,[fp,#&18]
-        LDR      v6,[fp,#&14]
-        LDR      a2,[a1,#&bc]
-        TEQ      a2,#0
-        BEQ      |L001854.J4.do_huff_decode_blocks|
-        CMP      v4,#0
-        LDMLEDB  fp,{v1-v6,fp,sp,pc}^
-        B        |L0017f8.J10.do_huff_decode_blocks|
-|L0017f0.J6.do_huff_decode_blocks|
-        TEQ      a1,#0
-        BEQ      |L001814.J9.do_huff_decode_blocks|
-|L0017f8.J10.do_huff_decode_blocks|
-        LDR      a1,[v1,#&c0]
-        TEQ      a1,#0
-        MOVEQ    a1,v1
-        BLEQ     process_restart
-        LDR      a1,[v1,#&c0]
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&c0]
-|L001814.J9.do_huff_decode_blocks|
-        MOV      a4,#1
-        MOV      a3,v5
-        MOV      a2,v6
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v3
-        MOV      a2,v2
-        MOV      a1,v1
-        LDR      a4,[fp,#&10]
-        BL       asm_huff_decode_blocks
-        ADD      sp,sp,#&c
-        SUB      v4,v4,#1
-        ADD      v2,v2,#&100
-        CMP      v4,#0
-        LDR      a1,[fp,#&20]
-        BGT      |L0017f0.J6.do_huff_decode_blocks|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L001854.J4.do_huff_decode_blocks|
-        MOV      a4,v4
-        MOV      a3,v5
-        MOV      a2,v6
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v3
-        MOV      a2,v2
-        LDR      a4,[fp,#&10]
-        BL       asm_huff_decode_blocks
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-        ;MPORT  jpeg_scan_file
-do_jpeg_scan_file
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      lr,a3
-        MOV      ip,a4
-        MOV      v1,a1
-        STR      a2,[a1,#&10]
-        MVN      a1,#0
-        MOV      a4,#0
-        MVN      a3,#0
-        MVN      a2,#0
-        STR      a1,[v1,#0]
-        MVN      a1,#&80000000
-        STMDB    sp!,{a1-a4}
-        MOV      a3,ip
-        MOV      a2,lr
-        MOV      a1,v1
-        BL       jpeg_scan_file
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-do_jpeg_scan_file_16
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      lr,a3
-        MOV      ip,a4
-        MOV      v1,a1
-        STR      a2,[a1,#&10]
-        MVN      a1,#0
-        MOV      a4,#&10
-        MVN      a3,#0
-        MVN      a2,#0
-        STR      a1,[v1,#0]
-        MVN      a1,#&80000000
-        STMDB    sp!,{a1-a4}
-        MOV      a3,ip
-        MOV      a2,lr
-        MOV      a1,v1
-        MOV      a4,#0
-        BL       jpeg_scan_file
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-        IMPORT  |__rt_sdiv|
-jpeg_scan_file
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        MOV      v1,a1
-        MOV      v5,a2
-        MOV      v4,a3
-        MOV      v3,a4
-        SUB      sp,sp,#&20
-        LDR      v2,[fp,#&20]
-        TST      v2,#2
-        LDR      v6,[fp,#&14]
-        BICNE    v2,v2,#&38
-        CMP      v3,#0
-        MOVLT    v3,#0
-        TST      v2,#&28
-        BEQ      |L001968.J8.jpeg_scan_file|
-        SUBS     v3,v3,#&10
-        MOVMI    v3,#0
-        BIC      v3,v3,#&f
-        ADD      v6,v6,#&10
-|L001968.J8.jpeg_scan_file|
-        LDR      a2,[v1,#0]
-        CMP      a2,#0
-        BNE      |L001a78.J12.jpeg_scan_file|
-        LDR      a2,[v1,#&30]
-        TEQ      a2,v5
-        BNE      |L001a80.J42.jpeg_scan_file|
-        LDR      a3,[v1,#&38]
-        SUB      a2,a3,a2
-        TEQ      a2,v4
-        BNE      |L001a80.J42.jpeg_scan_file|
-        LDR      a2,[fp,#&18]
-        CMN      a2,#1
-        LDRNE    a2,[v1,#&14]
-        LDRNE    a3,[fp,#&18]
-        TEQNE    a2,a3
-        BNE      |L001a80.J42.jpeg_scan_file|
-        LDR      a2,[fp,#&1c]
-        CMN      a2,#1
-        LDRNE    a2,[v1,#&18]
-        LDRNE    a3,[fp,#&1c]
-        TEQNE    a2,a3
-        BNE      |L001a80.J42.jpeg_scan_file|
-        MOVS     a2,v4
-        ADDMI    a2,a2,#7
-        MOV      a2,a2,ASR #3
-        LDR      a2,[v5,a2,LSL #2]
-        LDR      a3,[v1,#&10c]
-        TEQ      a2,a3
-        BNE      |L001a80.J42.jpeg_scan_file|
-        MOV      a3,v4
-        CMP      v4,#0
-        ADDLT    a3,a3,#3
-        MOV      a3,a3,ASR #2
-        MOV      a2,v4
-        ADDLT    a2,a2,#&f
-        SUB      a2,a3,a2,ASR #4
-        LDR      a3,[v5,a2,LSL #2]
-        LDR      a2,[v1,#&110]
-        TEQ      a3,a2
-        BNE      |L001a80.J42.jpeg_scan_file|
-        MOV      a2,v4
-        CMP      v4,#0
-        ADDLT    a2,a2,#3
-        MOV      a2,a2,ASR #2
-        MOV      a3,v4
-        ADDLT    a3,a3,#&1f
-        SUB      a2,a2,a3,ASR #5
-        LDR      a3,[v5,a2,LSL #2]
-        LDR      a2,[v1,#&114]
-        TEQ      a3,a2
-        LDREQ    a2,[v1,#&100]
-        TEQEQ    a2,v2
-        BNE      |L001a80.J42.jpeg_scan_file|
-        LDR      a1,[v1,#&14]
-        CMP      v6,a1
-        MOVGT    v6,a1
-        LDR      a1,[v1,#&f8]
-        CMP      v3,a1
-        BLT      |L001a60.J39.jpeg_scan_file|
-        LDR      a1,[v1,#&fc]
-        CMP      v6,a1
-        BLE      |L001a68.J38.jpeg_scan_file|
-|L001a60.J39.jpeg_scan_file|
-        MVN      a1,#0
-        STR      a1,[v1,#&f4]
-|L001a68.J38.jpeg_scan_file|
-        MOV      a1,#0
-        ADD      v1,v1,#&f4
-        STMIB    v1!,{v3,v6}
-        B        |L0020bc.J135.jpeg_scan_file|
-|L001a78.J12.jpeg_scan_file|
-        MOVLT    a2,#0
-        STRLT    a2,[v1,#&20]
-|L001a80.J42.jpeg_scan_file|
-        LDR      a2,[v1,#&10]
-        BL       init_workspace
-        LDR      a1,[v1,#&10]
-        TEQ      a1,#0
-        STREQ    a1,[v1,#&28]
-        LDREQ    a1,[pc, #L001bc4-.-8]
-        BEQ      |L001ab8.J134.jpeg_scan_file|
-        ADD      a2,v1,#&1fc
-        ADD      a2,a2,#&3800
-        ADD      a1,a1,#&204
-        SUB      a1,a1,#&3c00
-        MOV      a1,a1,LSR #2
-        BIC      a1,a1,#&f
-        STR      a2,[v1,#&28]
-|L001ab8.J134.jpeg_scan_file|
-        STR      a1,[v1,#&2c]
-        MOV      a1,v4
-        CMP      v4,#0
-        ADDLT    a1,a1,#7
-        MOV      a1,a1,ASR #3
-        LDR      a1,[v5,a1,LSL #2]
-        MOV      a2,v4
-        STR      a1,[v1,#&10c]
-        ADDLT    a2,a2,#3
-        MOV      a2,a2,ASR #2
-        MOV      a1,v4
-        ADDLT    a1,a1,#&f
-        SUB      a1,a2,a1,ASR #4
-        LDR      a1,[v5,a1,LSL #2]
-        MOV      a2,v4
-        STR      a1,[v1,#&110]
-        ADDLT    a2,a2,#3
-        MOV      a2,a2,ASR #2
-        MOV      a1,v4
-        ADDLT    a1,a1,#&1f
-        SUB      a1,a2,a1,ASR #5
-        LDR      a1,[v5,a1,LSL #2]
-        STR      a1,[v1,#&114]
-        STR      v5,[v1,#&30]
-        STR      v5,[v1,#&34]
-        ADD      a1,v5,v4
-        STR      a1,[v1,#&38]
-        MOV      a1,v1
-        BL       read_file_header
-        MOV      a1,v1
-        BL       read_scan_header
-        MOV      v4,#0
-|L001b38.J57.jpeg_scan_file|
-        ADD      v5,v1,v4,LSL #2
-        MOV      a1,v1
-        LDR      a2,[v5,#&64]
-        BL       fix_huff_tbl
-        MOV      a1,v1
-        LDR      a2,[v5,#&74]!
-        BL       fix_huff_tbl
-        ADD      v4,v4,#1
-        CMP      v4,#4
-        BLT      |L001b38.J57.jpeg_scan_file|
-        MOV      a1,v1
-        BL       huff_decoder_init
-        MVN      a1,#0
-        STR      a1,[v1,#&f4]
-        LDR      a1,[v1,#&bc]
-        STR      a1,[v1,#&c0]
-        MOV      a1,#0
-        STR      a1,[v1,#&c4]
-        LDR      v4,[v1,#&14]
-        CMP      v6,v4
-        MOVGT    v6,v4
-        CMP      v3,v6
-        MOVGT    v3,v6
-        STR      v2,[v1,#&100]
-        ADD      v1,v1,#&f8
-        STMIA    v1,{v3,v6}
-        SUB      v1,v1,#&f8
-        LDR      a1,[v1,#&3c]
-        TEQ      a1,#8
-        BEQ      |L001bc8.J63.jpeg_scan_file|
-        MOV      a2,#1
-        STR      a1,[v1,#4]
-        STR      a2,[v1,#0]
-        MOV      a1,#1
-        B        |L0020bc.J135.jpeg_scan_file|
-L001bc4
-        DCD     &05f5e100
-|L001bc8.J63.jpeg_scan_file|
-        LDR      a1,[v1,#&c8]
-        LDR      v3,[v1,#&4c]
-        TEQ      v3,a1
-        MOVNE    a1,#3
-        STRNE    a1,[v1,#0]
-        BNE      |L0020bc.J135.jpeg_scan_file|
-        LDR      a1,[fp,#&18]
-        TEQ      v4,a1
-        LDRNE    a1,[fp,#&18]
-        CMNNE    a1,#1
-        BEQ      |L001c00.J67.jpeg_scan_file|
-        MOV      a1,#7
-        STMIA    v1,{a1,v4}
-        B        |L0020bc.J135.jpeg_scan_file|
-|L001c00.J67.jpeg_scan_file|
-        LDR      a2,[v1,#&18]
-        STR      a2,[sp,#&1c]
-        LDR      a1,[fp,#&1c]
-        TEQ      a2,a1
-        LDRNE    a1,[fp,#&1c]
-        CMNNE    a1,#1
-        BEQ      |L001c34.J70.jpeg_scan_file|
-        MOV      a1,#6
-        STR      a1,[v1,#0]
-        LDR      a1,[sp,#&1c]
-        STR      a1,[v1,#4]!
-        MOV      a1,#6
-        B        |L0020bc.J135.jpeg_scan_file|
-|L001c34.J70.jpeg_scan_file|
-        LDR      v6,[v1,#&50]
-        LDR      a1,[v6,#&c]
-        MOV      v5,a1,LSL #3
-        LDR      a1,[sp,#&1c]
-        ADD      a1,a1,v5
-        SUB      a2,a1,#1
-        MOV      a1,v5
-        BL       |__rt_sdiv|
-        ADD      a1,a1,a1,LSL #2
-        MOV      a1,a1,LSL #2
-        LDR      a2,[v1,#&28]
-        MOV      a1,a1,LSR #2
-        STR      a2,[v1,#&818]
-        ADD      a2,a2,a1,LSL #2
-        STR      a2,[v1,#&28]
-        LDR      a2,[v1,#&2c]
-        SUB      a2,a2,a1
-        MOV      a1,v5
-        STR      a2,[v1,#&2c]
-        BL       |__rt_sdiv|
-        MOV      a2,a1
-        CMP      a1,v4
-        BGE      |L001ca8.J73.jpeg_scan_file|
-        MOV      a1,#&a
-        STMIA    v1,{a1,v4}
-        MOV      a1,a2
-        STR      a1,[v1,#8]!
-        MOV      a1,#&a
-        B        |L0020bc.J135.jpeg_scan_file|
-|L001ca8.J73.jpeg_scan_file|
-        MOV      a2,#8
-        MOV      a1,#5
-        ADD      v5,v1,#&e4
-        TEQ      v3,#1
-        BNE      |L001db8.J75.jpeg_scan_file|
-        LDR      a3,[v1,#&1c]
-        TEQ      a3,#1
-        MOVNE    a1,#8
-        STMNEIA  v1,{a2,a3}
-        BNE      |L0020bc.J135.jpeg_scan_file|
-        LDR      a2,[v6,#8]
-        TEQ      a2,#1
-        LDREQ    a2,[v6,#&c]
-        TEQEQ    a2,#1
-        BEQ      |L001d00.J79.jpeg_scan_file|
-        STR      a1,[v1,#0]
-        LDR      a1,[v6,#8]
-        STR      a1,[v1,#4]
-        LDR      a1,[v6,#&c]!
-        STR      a1,[v1,#8]!
-        MOV      a1,#5
-        B        |L0020bc.J135.jpeg_scan_file|
-|L001d00.J79.jpeg_scan_file|
-        SUB      sp,sp,#8
-        MOV      v4,#0
-        LDR      a1,[v1,#&cc]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      v6,[a2,#&64]!
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#4]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        MOV      v3,#0
-        STR      a1,[sp,#0]
-        LDR      a1,[sp,#&24]
-        CMP      a1,#0
-        BLE      |L001dac.J84.jpeg_scan_file|
-        ADD      a1,v1,#&118
-        STR      a1,[sp,#&20]
-|L001d50.J83.jpeg_scan_file|
-        ADD      a1,v3,v3,LSL #2
-        LDR      a2,[v1,#&818]
-        ADD      a2,a2,a1,LSL #2
-        MOV      a1,v1
-        BL       save_huff_stream
-        ADD      v3,v3,#1
-        MOV      a4,#1
-        LDR      a1,[v1,#&14]
-        ADD      a1,a1,#7
-        MOV      a3,a1,ASR #3
-        MOV      a2,v5
-        LDR      a1,[sp,#0]
-        STMDB    sp!,{a1-a4}
-        MOV      a3,v6
-        MOV      a1,v1
-        LDR      a2,[sp,#&30]
-        LDR      a4,[sp,#&14]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        ADD      v4,v4,#8
-        LDR      a1,[v1,#&18]
-        CMP      v4,a1
-        BLT      |L001d50.J83.jpeg_scan_file|
-|L001dac.J84.jpeg_scan_file|
-        ADD      sp,sp,#8
-        BIC      v2,v2,#&30
-        B        |L00203c.J87.jpeg_scan_file|
-|L001db8.J75.jpeg_scan_file|
-        TEQ      v3,#3
-        BNE      |L0020b4.J88.jpeg_scan_file|
-        LDR      a3,[v6,#&c]
-        STR      a3,[sp,#-4]!
-        LDR      a4,[v6,#8]
-        MOV      v3,a4
-        CMP      a4,#2
-        CMPLE    a3,#2
-        BLE      |L001df0.J90.jpeg_scan_file|
-        STR      a1,[v1,#0]
-        LDR      a1,[v6,#8]
-        STR      a1,[v1,#4]
-        LDR      a1,[v6,#&c]!
-        B        |L001e3c.J137.jpeg_scan_file|
-|L001df0.J90.jpeg_scan_file|
-        LDR      a3,[v6,#&40]
-        TEQ      a3,#1
-        LDREQ    a3,[v6,#&44]
-        TEQEQ    a3,#1
-        BEQ      |L001e18.J94.jpeg_scan_file|
-        STR      a1,[v1,#0]
-        LDR      a1,[v6,#&40]
-        STR      a1,[v1,#4]
-        LDR      a1,[v6,#&44]!
-        B        |L001e3c.J137.jpeg_scan_file|
-|L001e18.J94.jpeg_scan_file|
-        LDR      a3,[v6,#&78]
-        TEQ      a3,#1
-        LDREQ    a3,[v6,#&7c]
-        TEQEQ    a3,#1
-        BEQ      |L001e48.J98.jpeg_scan_file|
-        STR      a1,[v1,#0]
-        LDR      a1,[v6,#&78]
-        STR      a1,[v1,#4]
-        LDR      a1,[v6,#&7c]!
-|L001e3c.J137.jpeg_scan_file|
-        STR      a1,[v1,#8]!
-        MOV      a1,#5
-        B        |L001e60.J138.jpeg_scan_file|
-|L001e48.J98.jpeg_scan_file|
-        LDR      a1,[v1,#&1c]
-        TEQ      a1,#3
-        BEQ      |L001e64.J102.jpeg_scan_file|
-        STR      a1,[v1,#4]
-        STR      a2,[v1,#0]
-        MOV      a1,#8
-|L001e60.J138.jpeg_scan_file|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L001e64.J102.jpeg_scan_file|
-        TEQ      v3,#2
-        LDREQ    a1,[sp,#0]
-        TEQEQ    a1,#2
-        BICNE    v2,v2,#&30
-        SUB      sp,sp,#&28
-        MOV      a1,#0
-        MOV      v4,#0
-        STR      a1,[sp,#&24]
-        LDR      a1,[v1,#&cc]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&20]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#&1c]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#&18]
-        LDR      a1,[v1,#&d0]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&14]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#&10]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#&c]
-        LDR      a1,[v1,#&d4]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#8]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#4]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#0]
-        LDR      a1,[sp,#&48]
-        CMP      a1,#0
-        BLE      |L002038.J109.jpeg_scan_file|
-        LDR      a2,[sp,#&28]
-        MUL      a1,a2,v3
-        ADD      a2,v1,#&218
-        STR      a2,[sp,#&3c]
-        ADD      a2,v1,#&e8
-        STR      a2,[sp,#&38]
-        ADD      a2,v1,#&218
-        ADD      a2,a2,#&400
-        STR      a2,[sp,#&34]
-        ADD      a2,v1,#&ec
-        STR      a1,[sp,#&40]
-        ADD      a1,v1,#&318
-        ADD      a1,a1,#&400
-        STR      a1,[sp,#&2c]
-        STR      a2,[sp,#&30]
-|L001f68.J108.jpeg_scan_file|
-        ADD      a1,v4,v4,LSL #2
-        LDR      a2,[v1,#&818]
-        ADD      a2,a2,a1,LSL #2
-        MOV      a1,v1
-        BL       save_huff_stream
-        ADD      v4,v4,#1
-        MOV      v6,#0
-        LDR      a1,[v1,#&14]
-        CMP      a1,#0
-        BLE      |L00201c.J112.jpeg_scan_file|
-|L001f90.J111.jpeg_scan_file|
-        MOV      a4,#0
-        MOV      a2,v5
-        LDR      a1,[sp,#&18]
-        LDR      a3,[sp,#&40]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&4c]
-        LDR      a3,[sp,#&30]
-        LDR      a4,[sp,#&2c]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        MOV      a4,#1
-        LDR      a2,[sp,#&c]
-        LDR      a3,[sp,#&38]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&40]
-        LDR      a3,[sp,#&20]
-        LDR      a4,[sp,#&1c]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        MOV      a4,#1
-        LDR      a2,[sp,#0]
-        LDR      a3,[sp,#&30]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&38]
-        LDR      a3,[sp,#&14]
-        LDR      a4,[sp,#&10]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        ADD      v6,v6,v3,LSL #3
-        LDR      a1,[v1,#&14]
-        CMP      v6,a1
-        BLT      |L001f90.J111.jpeg_scan_file|
-|L00201c.J112.jpeg_scan_file|
-        ADD      a2,sp,#&24
-        LDMIA    a2,{a1,a2}
-        ADD      a2,a1,a2,LSL #3
-        STR      a2,[sp,#&24]
-        LDR      a1,[v1,#&18]
-        CMP      a2,a1
-        BLT      |L001f68.J108.jpeg_scan_file|
-|L002038.J109.jpeg_scan_file|
-        ADD      sp,sp,#&2c
-|L00203c.J87.jpeg_scan_file|
-        TST      v2,#4
-        BEQ      |L002078.J117.jpeg_scan_file|
-        LDR      a1,[v1,#&50]
-        LDR      a1,[a1,#8]
-        MOV      a1,a1,LSL #3
-        LDR      a2,[v1,#&2c]
-        BL       |__rt_sdiv|
-        LDR      a2,[v1,#&14]
-        CMP      a1,a2,LSL #1
-        LDRLT    a1,[v1,#&100]
-        BICLT    a1,a1,#4
-        STRLT    a1,[v1,#&100]
-        LDRGE    a1,[v1,#4]
-        ORRGE    a1,a1,#4
-        STRGE    a1,[v1,#4]
-|L002078.J117.jpeg_scan_file|
-        TST      v2,#8
-        LDRNE    a1,[v1,#4]
-        ORRNE    a1,a1,#8
-        STRNE    a1,[v1,#4]
-        TST      v2,#&10
-        LDRNE    a1,[v1,#4]
-        ORRNE    a1,a1,#&10
-        STRNE    a1,[v1,#4]
-        TST      v2,#&20
-        LDRNE    a1,[v1,#4]
-        ORRNE    a1,a1,#&20
-        STRNE    a1,[v1,#4]
-        STR      v2,[v1,#&100]
-        LDR      a1,[v1,#0]
-        B        |L0020bc.J135.jpeg_scan_file|
-|L0020b4.J88.jpeg_scan_file|
-        MOV      a1,#9
-        STMIA    v1,{a1,v3}
-|L0020bc.J135.jpeg_scan_file|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-        IMPORT  asm_j_rev_dct
-        IMPORT  asm_mono_convert_block
-        IMPORT  asm_colour_convert_block_16
-        IMPORT  asm_colour_convert_block
-        IMPORT  asm_colour_convert_block_8
-        IMPORT  asm_get_table32k
-        IMPORT  asm_diffuse_to_8bpp
-jpeg_find_line
-        MOV      ip,sp
-        STMDB    sp!,{a1-a3,v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        LDR      a1,[a1,#&50]
-        LDR      a1,[a1,#&c]
-        ADD      a1,a1,#2
-        STR      a1,[sp,#-&34]!
-        LDR      a1,[v1,#&2c]
-        LDR      a2,[sp,#0]
-        MOV      v4,a1,ASR a2
-        LDR      a1,[v1,#&18]
-        LDR      a2,[fp,#-&2c]
-        SUB      a1,a1,a2
-        SUBS     a1,a1,#1
-        MOV      v2,#0
-        STR      a1,[fp,#-&2c]
-        MOVMI    a1,v2
-        MOVPL    a1,#1
-        MOV      a2,#4
-        BL       assert
-        LDR      a2,[fp,#-&2c]
-        LDR      a1,[v1,#&18]
-        CMP      a2,a1
-        MOVGE    a1,v2
-        MOVLT    a1,#1
-        MOV      a2,#4
-        BL       assert
-        LDR      a2,[fp,#-&2c]
-        LDR      a1,[sp,#0]
-        MOV      a2,a2,ASR a1
-        STR      a2,[sp,#4]
-        LDR      a1,[v1,#&f4]
-        TEQ      a2,a1
-        BEQ      |L00297c.J10.jpeg_find_line|
-        SUB      sp,sp,#4
-        LDR      a1,[v1,#&28]
-        TEQ      a1,#0
-        MOVEQ    a1,v2
-        MOVNE    a1,#1
-        MOV      a2,#4
-        BL       assert
-        MVN      a1,#0
-        STR      a1,[v1,#&f4]
-        LDR      a1,[sp,#8]
-        ADD      a2,a1,a1,LSL #2
-        LDR      a1,[v1,#&818]
-        ADD      a2,a1,a2,LSL #2
-        MOV      a1,v1
-        BL       restore_huff_stream
-        LDR      a1,[v1,#&4c]
-        ADD      a3,v1,#&e4
-        ADD      v6,v1,#&118
-        ADD      a2,v1,#&218
-        TEQ      a1,#1
-        STR      a2,[sp,#&30]
-        STR      a3,[sp,#&34]
-        BNE      |L00233c.J15.jpeg_find_line|
-        SUB      sp,sp,#8
-        MOV      v3,#0
-        LDR      a1,[v1,#&cc]
-        LDR      v2,[v1,#&28]
-        LDR      a2,[a1,#&10]
-        ADD      a2,v1,a2,LSL #2
-        LDR      v5,[a2,#&54]!
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#4]
-        LDR      a1,[a1,#&18]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&74]
-        STR      a1,[sp,#0]
-        LDR      a1,[v1,#&f8]
-        CMP      a1,#8
-        BLT      |L002234.J17.jpeg_find_line|
-        SUB      a1,a1,#8
-        MOV      a1,a1,ASR #3
-        MOV      a4,#1
-        STR      a1,[sp,#-4]!
-        MOV      a3,a1
-        MOV      a1,v5
-        LDR      a2,[sp,#&40]
-        STMDB    sp!,{a1-a4}
-        MOV      a2,v6
-        MOV      a1,v1
-        LDR      a3,[sp,#&18]
-        LDR      a4,[sp,#&14]
-        BL       do_huff_skip_blocks
-        LDR      a1,[sp,#&10]!
-        ADD      v3,v3,a1,LSL #3
-        ADD      v2,v2,a1,LSL #5
-        ADD      sp,sp,#4
-|L002234.J17.jpeg_find_line|
-        LDR      a1,[v1,#&100]
-        TST      a1,#2
-        LDR      a1,[v1,#&fc]
-        BEQ      |L0022c8.J19.jpeg_find_line|
-        CMP      v3,a1
-        BGE      |L0022c0.J22.jpeg_find_line|
-|L00224c.J21.jpeg_find_line|
-        MOV      a4,#1
-        MOV      a3,#1
-        MOV      a1,v5
-        LDR      a2,[sp,#&3c]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&48]
-        LDR      a3,[sp,#&14]
-        LDR      a4,[sp,#&10]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        LDR      a2,[v1,#&e4]
-        LDR      a1,[v5,#0]
-        MUL      a2,a1,a2
-        MOV      a1,v1
-        BL       mono_convert_pixel
-        STR      a1,[v2,#0]
-        STR      a1,[v2,#4]
-        STR      a1,[v2,#8]
-        STR      a1,[v2,#&c]
-        STR      a1,[v2,#&10]
-        STR      a1,[v2,#&14]
-        STR      a1,[v2,#&18]
-        ADD      v3,v3,#8
-        STR      a1,[v2,#&1c]!
-        ADD      v2,v2,#4
-        LDR      a1,[v1,#&fc]
-        CMP      v3,a1
-        BLT      |L00224c.J21.jpeg_find_line|
-|L0022c0.J22.jpeg_find_line|
-        MOV      a1,#1
-        B        |L002334.J130.jpeg_find_line|
-|L0022c8.J19.jpeg_find_line|
-        CMP      v3,a1
-        BGE      |L002330.J27.jpeg_find_line|
-|L0022d0.J26.jpeg_find_line|
-        MOV      a4,#1
-        MOV      a3,#1
-        MOV      a1,v5
-        LDR      a2,[sp,#&3c]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&48]
-        LDR      a3,[sp,#&14]
-        LDR      a4,[sp,#&10]
-        BL       do_huff_decode_blocks
-        ADD      sp,sp,#&10
-        MOV      a1,v1
-        MOV      a3,#1
-        LDR      a2,[sp,#&38]
-        BL       asm_j_rev_dct
-        MOV      a1,v6
-        MOV      a3,v4
-        MOV      a2,v2
-        BL       asm_mono_convert_block
-        ADD      v3,v3,#8
-        ADD      v2,v2,#&20
-        LDR      a1,[v1,#&fc]
-        CMP      v3,a1
-        BLT      |L0022d0.J26.jpeg_find_line|
-|L002330.J27.jpeg_find_line|
-        MOV      a1,#8
-|L002334.J130.jpeg_find_line|
-        STR      a1,[sp,#8]!
-        B        |L0028a8.J30.jpeg_find_line|
-|L00233c.J15.jpeg_find_line|
-        SUB      sp,sp,#&28
-        MOV      v5,#0
-        LDR      a1,[v1,#&cc]
-        LDR      v2,[v1,#&28]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&24]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#&20]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#&1c]
-        LDR      a1,[v1,#&d0]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&18]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#&14]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#&10]
-        LDR      a1,[v1,#&d4]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&c]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#8]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#4]
-        LDR      a1,[v1,#&50]
-        LDR      a2,[a1,#&c]
-        STR      a2,[sp,#0]
-        LDR      v3,[a1,#8]!
-        ADD      a2,v5,v3,LSL #3
-        LDR      a1,[v1,#&f8]
-        ADD      a4,v1,#&e8
-        ADD      a3,v1,#&ec
-        CMP      a2,a1
-        STR      a3,[sp,#&50]
-        STR      a4,[sp,#&54]
-        BGT      |L0024cc.J32.jpeg_find_line|
-        LDR      a2,[sp,#0]
-        MUL      a1,a2,v3
-        STR      a1,[sp,#&4c]
-|L002420.J31.jpeg_find_line|
-        MOV      a4,#0
-        LDR      a1,[sp,#&1c]
-        LDR      a2,[sp,#&5c]
-        LDR      a3,[sp,#&4c]
-        STMDB    sp!,{a1-a4}
-        MOV      a2,v6
-        MOV      a1,v1
-        LDR      a3,[sp,#&34]
-        LDR      a4,[sp,#&30]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        MOV      a4,#1
-        LDR      a2,[sp,#&10]
-        LDR      a3,[sp,#&54]
-        STMDB    sp!,{a2-a4}
-        MOV      a2,v6
-        MOV      a1,v1
-        LDR      a3,[sp,#&24]
-        LDR      a4,[sp,#&20]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        MOV      a4,#1
-        LDR      a2,[sp,#4]
-        LDR      a3,[sp,#&50]
-        STMDB    sp!,{a2-a4}
-        MOV      a2,v6
-        MOV      a1,v1
-        LDR      a3,[sp,#&18]
-        LDR      a4,[sp,#&14]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        ADD      v5,v5,v3,LSL #3
-        LDR      a1,[v1,#&100]
-        TST      a1,#&10
-        ADDNE    v2,v2,v3,LSL #4
-        BNE      |L0024bc.J36.jpeg_find_line|
-        TST      a1,#&20
-        ADDEQ    v2,v2,v3,LSL #5
-        ADDNE    v2,v2,v3,LSL #3
-|L0024bc.J36.jpeg_find_line|
-        ADD      a1,v5,v3,LSL #3
-        LDR      a2,[v1,#&f8]
-        CMP      a1,a2
-        BLE      |L002420.J31.jpeg_find_line|
-|L0024cc.J32.jpeg_find_line|
-        LDR      a1,[v1,#&100]
-        TST      a1,#2
-        ADD      a1,v1,#&318
-        ADD      a1,a1,#&400
-        STR      a1,[sp,#&48]
-        MOV      a1,#2
-        ADD      a3,v1,#&218
-        ADD      a3,a3,#&400
-        STR      a3,[sp,#&44]
-        LDR      a2,[v1,#&fc]
-        BEQ      |L0026a8.J41.jpeg_find_line|
-        CMP      v5,a2
-        BGE      |L0026a0.J44.jpeg_find_line|
-        LDR      a2,[sp,#0]
-        MUL      a1,a2,v3
-        STR      a1,[sp,#&40]
-|L00250c.J43.jpeg_find_line|
-        SUB      sp,sp,#&10
-        MOV      a4,#0
-        MOV      a3,#1
-        LDR      a1,[sp,#&2c]
-        LDR      a2,[sp,#&6c]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&78]
-        LDR      a3,[sp,#&44]
-        LDR      a4,[sp,#&40]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        LDR      a1,[v1,#&e4]
-        LDR      a2,[sp,#&2c]
-        LDR      a2,[a2,#0]
-        MUL      a1,a2,a1
-        MOV      v6,#1
-        STR      a1,[sp,#0]
-        LDR      a1,[sp,#&50]
-        CMP      a1,#1
-        BLE      |L0025b0.J47.jpeg_find_line|
-|L002560.J46.jpeg_find_line|
-        MOV      a4,#1
-        LDR      a2,[sp,#&2c]
-        LDR      a3,[sp,#&6c]
-        STMDB    sp!,{a2-a4}
-        ADD      a1,v1,v6,LSL #8
-        ADD      a2,a1,#&218
-        MOV      a1,v1
-        LDR      a3,[sp,#&40]
-        LDR      a4,[sp,#&3c]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        LDR      a2,[v1,#&e4]
-        LDR      a1,[sp,#&2c]
-        LDR      a1,[a1,#0]
-        MUL      a2,a1,a2
-        STR      a2,[sp,v6,LSL #2]
-        ADD      v6,v6,#1
-        LDR      a1,[sp,#&50]
-        CMP      a1,v6
-        BGT      |L002560.J46.jpeg_find_line|
-|L0025b0.J47.jpeg_find_line|
-        MOV      a4,#1
-        LDR      a2,[sp,#&20]
-        LDR      a3,[sp,#&64]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&60]
-        LDR      a3,[sp,#&34]
-        LDR      a4,[sp,#&30]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        MOV      a4,#1
-        LDR      a2,[sp,#&14]
-        LDR      a3,[sp,#&60]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&64]
-        LDR      a3,[sp,#&28]
-        LDR      a4,[sp,#&24]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        LDR      a2,[v1,#&e8]
-        LDR      a1,[sp,#&20]
-        LDR      a1,[a1,#0]
-        MUL      a2,a1,a2
-        LDR      a3,[v1,#&ec]
-        LDR      a1,[sp,#&14]
-        LDR      a1,[a1,#0]
-        MUL      a3,a1,a3
-        MOV      a1,sp
-        BL       colour_convert_pixels
-        MOV      v6,#0
-        MOV      a3,#2
-        MOV      a4,#1
-|L002634.J50.jpeg_find_line|
-        LDR      a1,[sp,#0]
-        STR      a1,[v2,v6,LSL #2]
-        TEQ      v3,#2
-        ADDEQ    a2,v2,v6,LSL #2
-        LDREQ    a1,[sp,#4]
-        STREQ    a1,[a2,#&20]!
-        LDR      a1,[sp,#&10]
-        TEQ      a1,#2
-        BNE      |L00267c.J53.jpeg_find_line|
-        CMP      v3,#2
-        MOVNE    a1,a4
-        MOVEQ    a1,a3
-        LDR      a2,[sp,a1,LSL #2]
-        ADD      a1,v4,v6
-        STR      a2,[v2,a1,LSL #2]
-        ADDEQ    a1,v2,a1,LSL #2
-        LDREQ    a2,[sp,#&c]
-        STREQ    a2,[a1,#&20]!
-|L00267c.J53.jpeg_find_line|
-        ADD      v6,v6,#1
-        CMP      v6,#8
-        BLT      |L002634.J50.jpeg_find_line|
-        ADD      v5,v5,v3,LSL #3
-        ADD      v2,v2,v3,LSL #5
-        ADD      sp,sp,#&10
-        LDR      a1,[v1,#&fc]
-        CMP      v5,a1
-        BLT      |L00250c.J43.jpeg_find_line|
-|L0026a0.J44.jpeg_find_line|
-        LDR      a1,[sp,#0]
-        B        |L0028a4.J131.jpeg_find_line|
-|L0026a8.J41.jpeg_find_line|
-        CMP      v5,a2
-        BGE      |L00289c.J64.jpeg_find_line|
-        ADD      a1,v1,#&18
-        ADD      a1,a1,#&400
-        STR      a1,[sp,#&3c]
-        LDR      a2,[sp,#0]
-        MUL      a1,a2,v3
-        STR      a1,[sp,#&38]
-|L0026c8.J63.jpeg_find_line|
-        MOV      a4,#0
-        LDR      a1,[sp,#&1c]
-        LDR      a2,[sp,#&5c]
-        LDR      a3,[sp,#&38]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&68]
-        LDR      a3,[sp,#&34]
-        LDR      a4,[sp,#&30]
-        BL       do_huff_decode_blocks
-        ADD      sp,sp,#&10
-        MOV      a4,#1
-        LDR      a2,[sp,#&10]
-        LDR      a3,[sp,#&54]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&50]
-        LDR      a3,[sp,#&24]
-        LDR      a4,[sp,#&20]
-        BL       asm_huff_decode_blocks
-        ADD      sp,sp,#&c
-        MOV      a4,#1
-        LDR      a2,[sp,#4]
-        LDR      a3,[sp,#&50]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&54]
-        LDR      a3,[sp,#&18]
-        LDR      a4,[sp,#&14]
-        BL       asm_huff_decode_blocks
-        ADD      sp,sp,#&c
-        LDR      a1,[v1,#&100]
-        TST      a1,#1
-        BEQ      |L0027d8.J66.jpeg_find_line|
-        MOV      a1,v1
-        LDR      a2,[sp,#&58]
-        LDR      a3,[sp,#&38]
-        BL       asm_j_rev_dct
-        MOV      a1,v6
-        MOV      a3,v4
-        MOV      a2,v2
-        BL       asm_mono_convert_block
-        TEQ      v3,#2
-        BNE      |L002788.J68.jpeg_find_line|
-        ADD      a2,v2,#&20
-        MOV      a3,v4
-        LDR      a1,[sp,#&58]
-        BL       asm_mono_convert_block
-|L002788.J68.jpeg_find_line|
-        LDR      a1,[sp,#0]
-        TEQ      a1,#2
-        BNE      |L002870.J77.jpeg_find_line|
-        ADD      a2,v2,v4,LSL #5
-        TEQ      v3,#1
-        STR      a2,[sp,#&34]
-        MOVNE    a1,#2
-        MOVEQ    a1,#1
-        ADD      a1,v1,a1,LSL #8
-        ADD      a1,a1,#&118
-        MOV      a3,v4
-        BL       asm_mono_convert_block
-        TEQ      v3,#2
-        BNE      |L002870.J77.jpeg_find_line|
-        LDR      a1,[sp,#&34]
-        ADD      a2,a1,#&20
-        MOV      a3,v4
-        LDR      a1,[sp,#&3c]
-        BL       asm_mono_convert_block
-        B        |L002870.J77.jpeg_find_line|
-|L0027d8.J66.jpeg_find_line|
-        LDR      a1,[sp,#&38]
-        TEQ      a1,#4
-        BNE      |L002830.J78.jpeg_find_line|
-        MOV      a1,v1
-        MOV      a3,#6
-        LDR      a2,[sp,#&58]
-        BL       asm_j_rev_dct
-        LDR      a1,[v1,#&100]
-        TST      a1,#&10
-        BEQ      |L002814.J80.jpeg_find_line|
-        MOV      a1,v6
-        MOV      a3,v4
-        MOV      a2,v2
-        BL       asm_colour_convert_block_16
-        B        |L002870.J77.jpeg_find_line|
-|L002814.J80.jpeg_find_line|
-        TST      a1,#&20
-        MOV      a1,v6
-        MOV      a3,v4
-        MOV      a2,v2
-        BLEQ     asm_colour_convert_block
-        BLNE     asm_colour_convert_block_8
-        B        |L002870.J77.jpeg_find_line|
-|L002830.J78.jpeg_find_line|
-        MOV      a1,v1
-        LDR      a2,[sp,#&58]
-        LDR      a3,[sp,#&38]
-        BL       asm_j_rev_dct
-        MOV      a1,v1
-        MOV      a3,#2
-        LDR      a2,[sp,#&44]
-        BL       asm_j_rev_dct
-        LDR      a4,[sp,#0]
-        STMDB    sp!,{a4}
-        MOV      a1,v6
-        MOV      a4,v3
-        MOV      a3,v4
-        MOV      a2,v2
-        BL       colour_convert_unusual_block
-        ADD      sp,sp,#4
-|L002870.J77.jpeg_find_line|
-        ADD      v5,v5,v3,LSL #3
-        LDR      a1,[v1,#&100]
-        TST      a1,#&10
-        ADDNE    v2,v2,v3,LSL #4
-        BNE      |L002890.J89.jpeg_find_line|
-        TST      a1,#&20
-        ADDEQ    v2,v2,v3,LSL #5
-        ADDNE    v2,v2,v3,LSL #3
-|L002890.J89.jpeg_find_line|
-        LDR      a1,[v1,#&fc]
-        CMP      v5,a1
-        BLT      |L0026c8.J63.jpeg_find_line|
-|L00289c.J64.jpeg_find_line|
-        LDR      a1,[sp,#0]
-        MOV      a1,a1,LSL #3
-|L0028a4.J131.jpeg_find_line|
-        STR      a1,[sp,#&28]!
-|L0028a8.J30.jpeg_find_line|
-        LDR      a1,[v1,#&100]
-        TST      a1,#8
-        BEQ      |L002970.J94.jpeg_find_line|
-        LDR      a1,[v1,#&20]
-        TEQ      a1,#0
-        BNE      |L0028e0.J96.jpeg_find_line|
-        LDR      a1,[v1,#&24]
-        TEQ      a1,#0
-        BNE      |L0028e0.J96.jpeg_find_line|
-        BL       asm_get_table32k
-        STR      a1,[v1,#&20]
-        TEQ      a1,#0
-        MOVEQ    a1,#1
-        STREQ    a1,[v1,#&24]
-|L0028e0.J96.jpeg_find_line|
-        LDR      a1,[v1,#&f8]
-        LDR      a4,[v1,#&28]
-        ADD      v3,a4,a1,LSL #2
-        LDR      a3,[v1,#&fc]
-        SUB      a3,a3,a1
-        ADD      v6,a4,a1
-        ADD      a3,a3,#&f
-        BIC      v2,a3,#&f
-        LDR      a3,[v1,#&14]
-        SUB      a2,a3,a1
-        CMP      a2,v2
-        MOVLT    v2,a2
-        LDR      a2,[v1,#&100]
-        TST      a2,#4
-        ADDNE    v3,v3,a1,LSL #2
-        MOVNE    v2,v2,LSL #1
-        CMP      v2,#0
-        BLE      |L002970.J94.jpeg_find_line|
-|L002928.J105.jpeg_find_line|
-        CMP      v2,#&20
-        MOVLT    v5,v2
-        MOVGE    v5,#&10
-        MOV      a3,v4
-        LDR      a4,[fp,#-&28]
-        LDR      a2,[sp,#0]
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v6
-        MOV      a2,v5
-        MOV      a1,v3
-        LDR      a4,[v1,#&20]
-        BL       asm_diffuse_to_8bpp
-        ADD      sp,sp,#&c
-        ADD      v3,v3,v5,LSL #2
-        ADD      v6,v6,v5
-        SUB      v2,v2,v5
-        CMP      v2,#0
-        BGT      |L002928.J105.jpeg_find_line|
-|L002970.J94.jpeg_find_line|
-        LDR      a1,[sp,#8]
-        ADD      sp,sp,#4
-        STR      a1,[v1,#&f4]
-|L00297c.J10.jpeg_find_line|
-        LDR      a1,[v1,#&28]!
-        LDR      a2,[v1,#&d8]!
-        TST      a2,#2
-        LDR      a2,[sp,#0]
-        BEQ      |L0029ac.J112.jpeg_find_line|
-        TEQ      a2,#4
-        BNE      |L0029c8.J132.jpeg_find_line|
-        LDR      a2,[fp,#-&2c]
-        AND      a2,a2,#&f
-        CMP      a2,#8
-        ADDGE    a1,a1,v4,LSL #2
-        B        |L0029c8.J132.jpeg_find_line|
-|L0029ac.J112.jpeg_find_line|
-        MOV      a3,#1
-        MOV      a2,a3,LSL a2
-        SUB      a2,a2,#1
-        LDR      a3,[fp,#-&2c]
-        AND      a2,a2,a3
-        MUL      a2,v4,a2
-        ADD      a1,a1,a2,LSL #2
-|L0029c8.J132.jpeg_find_line|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-looks_like_jpeg
-        LDR      a2,[a1,#0]
-        ADD      ip,a2,#&1f000000
-        ADD      ip,ip,#&2700
-        CMN      ip,#1
-        BNE      |L002a10.J5.looks_like_jpeg|
-        LDRB     a2,[a1,#6]
-        TEQ      a2,#&4a
-        LDREQB   a2,[a1,#7]
-        TEQEQ    a2,#&46
-        LDREQB   a2,[a1,#8]
-        TEQEQ    a2,#&49
-        LDREQB   a2,[a1,#9]
-        TEQEQ    a2,#&46
-        LDREQB   a1,[a1,#&a]
-        TEQEQ    a1,#0
-        MOVEQ    a1,#1
-        MOVEQS   pc,lr
-|L002a10.J5.looks_like_jpeg|
-        MOV      a1,#0
-        MOVS     pc,lr
-
-find_image_dims
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        MOV      v4,#0
-        LDR      v3,[fp,#4]
-        AND      a2,v3,#3
-        BL       looks_like_jpeg
-        TEQ      a1,#0
-        ADDNE    v1,v1,#2
-        BNE      |L002a60.J9.find_image_dims|
-        B        |L002ae8.J15.find_image_dims|
-|L002a4c.J8.find_image_dims|
-        LDRB     a2,[v1,#3]
-        LDRB     a1,[v1,#2]
-        ADD      a1,a2,a1,LSL #8
-        ADD      a1,a1,v1
-        ADD      v1,a1,#2
-|L002a60.J9.find_image_dims|
-        LDRB     a1,[v1,#0]
-        TEQ      a1,#&ff
-        LDRB     a1,[v1,#1]
-        BNE      |L002a84.J10.find_image_dims|
-        TEQ      a1,#&c0
-        TEQNE    a1,#&c1
-        TEQNE    a1,#&c9
-        BNE      |L002a4c.J8.find_image_dims|
-        B        |L002a94.J16.find_image_dims|
-|L002a84.J10.find_image_dims|
-        TEQ      a1,#&c0
-        TEQNE    a1,#&c1
-        TEQNE    a1,#&c9
-        BNE      |L002ae8.J15.find_image_dims|
-|L002a94.J16.find_image_dims|
-        LDRB     a1,[v1,#6]
-        LDRB     a2,[v1,#5]
-        ADD      a1,a1,a2,LSL #8
-        LDRB     a2,[v1,#8]
-        LDRB     ip,[v1,#7]
-        ADD      a2,a2,ip,LSL #8
-        LDRB     ip,[v1,#9]
-        ORR      lr,ip,v4
-        CMP      v3,#1
-        BLE      |L002b0c.J21.find_image_dims|
-        CMP      lr,#1
-        MOVNE    ip,#&10
-        MOVEQ    ip,#8
-        ADD      v1,a2,#&f
-        MUL      ip,v1,ip
-        MOV      v4,ip,LSL #2
-        BNE      |L002af0.J27.find_image_dims|
-        ADDS     v1,a1,#7
-        ADDMI    v1,v1,#7
-        MOV      v1,v1,ASR #3
-        B        |L002af4.J26.find_image_dims|
-|L002ae8.J15.find_image_dims|
-        MOV      a1,#1
-        LDMDB    fp,{v1-v4,fp,sp,pc}^
-|L002af0.J27.find_image_dims|
-        MOV      v1,a1
-|L002af4.J26.find_image_dims|
-        ADD      ip,v1,v1,LSL #2
-        ADD      ip,v4,ip,LSL #2
-        ADD      ip,ip,#&ff
-        ADD      ip,ip,#&3d00
-        BIC      ip,ip,#3
-        STR      ip,[v3,#0]
-|L002b0c.J21.find_image_dims|
-        TEQ      a3,#0
-        STRNE    a1,[a3,#0]
-        TEQ      v2,#0
-        STRNE    a2,[v2,#0]
-        TEQ      a4,#0
-        STRNE    lr,[a4,#0]
-        MOV      a1,#0
-        LDMDB    fp,{v1-v4,fp,sp,pc}^
-
-        AREA |C$$data|,DATA
-
-|x$dataseg|
-
-        END
diff --git a/s/stdpalette b/s/stdpalette
deleted file mode 100644
index 89015e2..0000000
--- a/s/stdpalette
+++ /dev/null
@@ -1,276 +0,0 @@
-; Copyright 1996 Acorn Computers Ltd
-;
-; Licensed under the Apache License, Version 2.0 (the "License");
-; you may not use this file except in compliance with the License.
-; You may obtain a copy of the License at
-;
-;     http://www.apache.org/licenses/LICENSE-2.0
-;
-; Unless required by applicable law or agreed to in writing, software
-; distributed under the License is distributed on an "AS IS" BASIS,
-; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-; See the License for the specific language governing permissions and
-; limitations under the License.
-;
-; s.genpalette, generated by c.genpalette
-; The table consists of 256 16bit entries, containing the true RGB values
-; of the 256 pixel values of the standard 8bpp palette.
-; The 8bpp pixels are bggrbrtt, the words are 0BGR
-        DCB     0,0,0,0
-        DCB     17,17,17,0
-        DCB     34,34,34,0
-        DCB     51,51,51,0
-        DCB     68,0,0,0
-        DCB     85,17,17,0
-        DCB     102,34,34,0
-        DCB     119,51,51,0
-        DCB     0,0,68,0
-        DCB     17,17,85,0
-        DCB     34,34,102,0
-        DCB     51,51,119,0
-        DCB     68,0,68,0
-        DCB     85,17,85,0
-        DCB     102,34,102,0
-        DCB     119,51,119,0
-        DCB     136,0,0,0
-        DCB     153,17,17,0
-        DCB     170,34,34,0
-        DCB     187,51,51,0
-        DCB     204,0,0,0
-        DCB     221,17,17,0
-        DCB     238,34,34,0
-        DCB     255,51,51,0
-        DCB     136,0,68,0
-        DCB     153,17,85,0
-        DCB     170,34,102,0
-        DCB     187,51,119,0
-        DCB     204,0,68,0
-        DCB     221,17,85,0
-        DCB     238,34,102,0
-        DCB     255,51,119,0
-        DCB     0,68,0,0
-        DCB     17,85,17,0
-        DCB     34,102,34,0
-        DCB     51,119,51,0
-        DCB     68,68,0,0
-        DCB     85,85,17,0
-        DCB     102,102,34,0
-        DCB     119,119,51,0
-        DCB     0,68,68,0
-        DCB     17,85,85,0
-        DCB     34,102,102,0
-        DCB     51,119,119,0
-        DCB     68,68,68,0
-        DCB     85,85,85,0
-        DCB     102,102,102,0
-        DCB     119,119,119,0
-        DCB     136,68,0,0
-        DCB     153,85,17,0
-        DCB     170,102,34,0
-        DCB     187,119,51,0
-        DCB     204,68,0,0
-        DCB     221,85,17,0
-        DCB     238,102,34,0
-        DCB     255,119,51,0
-        DCB     136,68,68,0
-        DCB     153,85,85,0
-        DCB     170,102,102,0
-        DCB     187,119,119,0
-        DCB     204,68,68,0
-        DCB     221,85,85,0
-        DCB     238,102,102,0
-        DCB     255,119,119,0
-        DCB     0,136,0,0
-        DCB     17,153,17,0
-        DCB     34,170,34,0
-        DCB     51,187,51,0
-        DCB     68,136,0,0
-        DCB     85,153,17,0
-        DCB     102,170,34,0
-        DCB     119,187,51,0
-        DCB     0,136,68,0
-        DCB     17,153,85,0
-        DCB     34,170,102,0
-        DCB     51,187,119,0
-        DCB     68,136,68,0
-        DCB     85,153,85,0
-        DCB     102,170,102,0
-        DCB     119,187,119,0
-        DCB     136,136,0,0
-        DCB     153,153,17,0
-        DCB     170,170,34,0
-        DCB     187,187,51,0
-        DCB     204,136,0,0
-        DCB     221,153,17,0
-        DCB     238,170,34,0
-        DCB     255,187,51,0
-        DCB     136,136,68,0
-        DCB     153,153,85,0
-        DCB     170,170,102,0
-        DCB     187,187,119,0
-        DCB     204,136,68,0
-        DCB     221,153,85,0
-        DCB     238,170,102,0
-        DCB     255,187,119,0
-        DCB     0,204,0,0
-        DCB     17,221,17,0
-        DCB     34,238,34,0
-        DCB     51,255,51,0
-        DCB     68,204,0,0
-        DCB     85,221,17,0
-        DCB     102,238,34,0
-        DCB     119,255,51,0
-        DCB     0,204,68,0
-        DCB     17,221,85,0
-        DCB     34,238,102,0
-        DCB     51,255,119,0
-        DCB     68,204,68,0
-        DCB     85,221,85,0
-        DCB     102,238,102,0
-        DCB     119,255,119,0
-        DCB     136,204,0,0
-        DCB     153,221,17,0
-        DCB     170,238,34,0
-        DCB     187,255,51,0
-        DCB     204,204,0,0
-        DCB     221,221,17,0
-        DCB     238,238,34,0
-        DCB     255,255,51,0
-        DCB     136,204,68,0
-        DCB     153,221,85,0
-        DCB     170,238,102,0
-        DCB     187,255,119,0
-        DCB     204,204,68,0
-        DCB     221,221,85,0
-        DCB     238,238,102,0
-        DCB     255,255,119,0
-        DCB     0,0,136,0
-        DCB     17,17,153,0
-        DCB     34,34,170,0
-        DCB     51,51,187,0
-        DCB     68,0,136,0
-        DCB     85,17,153,0
-        DCB     102,34,170,0
-        DCB     119,51,187,0
-        DCB     0,0,204,0
-        DCB     17,17,221,0
-        DCB     34,34,238,0
-        DCB     51,51,255,0
-        DCB     68,0,204,0
-        DCB     85,17,221,0
-        DCB     102,34,238,0
-        DCB     119,51,255,0
-        DCB     136,0,136,0
-        DCB     153,17,153,0
-        DCB     170,34,170,0
-        DCB     187,51,187,0
-        DCB     204,0,136,0
-        DCB     221,17,153,0
-        DCB     238,34,170,0
-        DCB     255,51,187,0
-        DCB     136,0,204,0
-        DCB     153,17,221,0
-        DCB     170,34,238,0
-        DCB     187,51,255,0
-        DCB     204,0,204,0
-        DCB     221,17,221,0
-        DCB     238,34,238,0
-        DCB     255,51,255,0
-        DCB     0,68,136,0
-        DCB     17,85,153,0
-        DCB     34,102,170,0
-        DCB     51,119,187,0
-        DCB     68,68,136,0
-        DCB     85,85,153,0
-        DCB     102,102,170,0
-        DCB     119,119,187,0
-        DCB     0,68,204,0
-        DCB     17,85,221,0
-        DCB     34,102,238,0
-        DCB     51,119,255,0
-        DCB     68,68,204,0
-        DCB     85,85,221,0
-        DCB     102,102,238,0
-        DCB     119,119,255,0
-        DCB     136,68,136,0
-        DCB     153,85,153,0
-        DCB     170,102,170,0
-        DCB     187,119,187,0
-        DCB     204,68,136,0
-        DCB     221,85,153,0
-        DCB     238,102,170,0
-        DCB     255,119,187,0
-        DCB     136,68,204,0
-        DCB     153,85,221,0
-        DCB     170,102,238,0
-        DCB     187,119,255,0
-        DCB     204,68,204,0
-        DCB     221,85,221,0
-        DCB     238,102,238,0
-        DCB     255,119,255,0
-        DCB     0,136,136,0
-        DCB     17,153,153,0
-        DCB     34,170,170,0
-        DCB     51,187,187,0
-        DCB     68,136,136,0
-        DCB     85,153,153,0
-        DCB     102,170,170,0
-        DCB     119,187,187,0
-        DCB     0,136,204,0
-        DCB     17,153,221,0
-        DCB     34,170,238,0
-        DCB     51,187,255,0
-        DCB     68,136,204,0
-        DCB     85,153,221,0
-        DCB     102,170,238,0
-        DCB     119,187,255,0
-        DCB     136,136,136,0
-        DCB     153,153,153,0
-        DCB     170,170,170,0
-        DCB     187,187,187,0
-        DCB     204,136,136,0
-        DCB     221,153,153,0
-        DCB     238,170,170,0
-        DCB     255,187,187,0
-        DCB     136,136,204,0
-        DCB     153,153,221,0
-        DCB     170,170,238,0
-        DCB     187,187,255,0
-        DCB     204,136,204,0
-        DCB     221,153,221,0
-        DCB     238,170,238,0
-        DCB     255,187,255,0
-        DCB     0,204,136,0
-        DCB     17,221,153,0
-        DCB     34,238,170,0
-        DCB     51,255,187,0
-        DCB     68,204,136,0
-        DCB     85,221,153,0
-        DCB     102,238,170,0
-        DCB     119,255,187,0
-        DCB     0,204,204,0
-        DCB     17,221,221,0
-        DCB     34,238,238,0
-        DCB     51,255,255,0
-        DCB     68,204,204,0
-        DCB     85,221,221,0
-        DCB     102,238,238,0
-        DCB     119,255,255,0
-        DCB     136,204,136,0
-        DCB     153,221,153,0
-        DCB     170,238,170,0
-        DCB     187,255,187,0
-        DCB     204,204,136,0
-        DCB     221,221,153,0
-        DCB     238,238,170,0
-        DCB     255,255,187,0
-        DCB     136,204,204,0
-        DCB     153,221,221,0
-        DCB     170,238,238,0
-        DCB     187,255,255,0
-        DCB     204,204,204,0
-        DCB     221,221,221,0
-        DCB     238,238,238,0
-        DCB     255,255,255,0
-        ALIGN
-        END
diff --git a/s/temp b/s/temp
deleted file mode 100644
index 7ac51e4..0000000
--- a/s/temp
+++ /dev/null
@@ -1,10535 +0,0 @@
-; Copyright 1996 Acorn Computers Ltd
-;
-; Licensed under the Apache License, Version 2.0 (the "License");
-; you may not use this file except in compliance with the License.
-; You may obtain a copy of the License at
-;
-;     http://www.apache.org/licenses/LICENSE-2.0
-;
-; Unless required by applicable law or agreed to in writing, software
-; distributed under the License is distributed on an "AS IS" BASIS,
-; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-; See the License for the specific language governing permissions and
-; limitations under the License.
-;
-; generated by Norcroft RISC OS ARM C vsn 5.05 (Acorn Computers Ltd) [Dec 23 1994]
-
-        AREA |C$$code|, CODE, READONLY
-|x$codeseg|
-
-        EXPORT  memcpy
-memcpy
-        MOV      a4,a1
-        MOV      ip,a3
-        SUB      a3,a3,#1
-        CMP      ip,#0
-        MOVLSS   pc,lr
-|L000014.J4.memcpy|
-        LDRB     ip,[a2],#1
-        STRB     ip,[a4],#1
-        MOV      ip,a3
-        SUB      a3,a3,#1
-        CMP      ip,#0
-        BHI      |L000014.J4.memcpy|
-        MOVS     pc,lr
-
-        EXPORT  strcpy
-strcpy
-        MOV      a3,a1
-        LDRB     a4,[a2,#0]
-        CMP      a4,#&1f
-        MOVLES   pc,lr
-|L000040.J4.strcpy|
-        LDRB     a4,[a2],#1
-        STRB     a4,[a3],#1
-        LDRB     a4,[a2,#0]
-        CMP      a4,#&1f
-        BGT      |L000040.J4.strcpy|
-        MOVS     pc,lr
-
-        EXPORT  memset
-memset
-        MOV      a4,a1
-        MOV      ip,a3
-        SUB      a3,a3,#1
-        CMP      ip,#0
-        MOVLSS   pc,lr
-        AND      a2,a2,#&ff
-|L000070.J4.memset|
-        STRB     a2,[a4],#1
-        MOV      ip,a3
-        SUB      a3,a3,#1
-        CMP      ip,#0
-        BHI      |L000070.J4.memset|
-        MOVS     pc,lr
-
-        IMPORT  exit
-        EXPORT  panic_exit
-panic_exit
-        B        exit
-
-get_2bytes
-        MOV      a4,#&ff
-        LDR      a2,[a1,#&38]
-        LDR      a3,[a1,#&34]
-        CMP      a3,a2
-        LDRCCB   a2,[a3],#1
-        STRCC    a3,[a1,#&34]
-        MOVCS    a2,a4
-        MOV      a3,a2
-        ADD      ip,a1,#&34
-        LDMIA    ip,{a2,ip}
-        CMP      a2,ip
-        LDRCCB   a4,[a2],#1
-        STRCC    a2,[a1,#&34]!
-        ADD      a1,a4,a3,LSL #8
-        MOVS     pc,lr
-
-skip_variable
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        SUB      a1,a1,#2
-        CMP      a1,#0
-        LDMLEDB  fp,{v1,fp,sp,pc}^
-        LDR      a2,[v1,#&38]
-|L0000ec.J4.skip_variable|
-        LDR      a3,[v1,#&34]
-        CMP      a3,a2
-        ADDCC    a3,a3,#1
-        STRCC    a3,[v1,#&34]
-        SUB      a1,a1,#1
-        CMP      a1,#0
-        BGT      |L0000ec.J4.skip_variable|
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-get_dht
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        SUB      sp,sp,#&114
-        BL       get_2bytes
-        SUB      v4,a1,#2
-        CMP      v4,#0
-        BLE      |L000250.J37.get_dht|
-        MOV      v6,#0
-        MOV      v5,#&ff
-|L000138.J4.get_dht|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,v5
-        MOV      v2,a2
-        STRB     v6,[sp,#&100]
-        MOV      v3,#0
-        MOV      a1,#1
-|L000160.J10.get_dht|
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a2,a3}
-        CMP      a2,a3
-        MOVCS    a2,v5
-        BCS      |L000180.J11.get_dht|
-        LDRB     a3,[a2],#1
-        STR      a2,[v1,#&34]
-        MOV      a2,a3
-|L000180.J11.get_dht|
-        ADD      a3,sp,#&100
-        STRB     a2,[a3,a1]
-        ADD      a2,sp,#&100
-        LDRB     a2,[a2,a1]
-        ADD      v3,a2,v3
-        ADD      a1,a1,#1
-        CMP      a1,#&10
-        BLE      |L000160.J10.get_dht|
-        CMP      v3,#&100
-        MOVGT    a1,#&b9
-        ADDGT    a1,a1,#&4e00
-        BLGT     exit
-        MOV      a1,#0
-        CMP      v3,#0
-        BLE      |L0001ec.J18.get_dht|
-|L0001bc.J17.get_dht|
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a2,a3}
-        CMP      a2,a3
-        MOVCS    a2,v5
-        BCS      |L0001dc.J20.get_dht|
-        LDRB     a3,[a2],#1
-        STR      a2,[v1,#&34]
-        MOV      a2,a3
-|L0001dc.J20.get_dht|
-        STRB     a2,[sp,a1]
-        ADD      a1,a1,#1
-        CMP      a1,v3
-        BLT      |L0001bc.J17.get_dht|
-|L0001ec.J18.get_dht|
-        ADD      a1,v3,#&11
-        SUB      v4,v4,a1
-        TST      v2,#&10
-        SUBNE    v2,v2,#&10
-        ADD      a1,v1,v2,LSL #2
-        ADDEQ    v3,a1,#&64
-        ADDNE    v3,a1,#&74
-        CMP      v2,#0
-        BLT      |L000218.J28.get_dht|
-        CMP      v2,#4
-        BLT      |L000224.J27.get_dht|
-|L000218.J28.get_dht|
-        MOV      a1,#&2c8
-        ADD      a1,a1,#&4c00
-        BL       exit
-|L000224.J27.get_dht|
-        ADD      a2,sp,#&100
-        MOV      a3,#&11
-        LDR      a1,[v3,#0]
-        BL       memcpy
-        LDR      a1,[v3,#0]
-        ADD      a1,a1,#&11
-        MOV      a2,sp
-        MOV      a3,#&100
-        BL       memcpy
-        CMP      v4,#0
-        BGT      |L000138.J4.get_dht|
-|L000250.J37.get_dht|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-get_dac
-        MOV      ip,sp
-        STMDB    sp!,{v1-v5,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        SUB      v4,a1,#2
-        CMP      v4,#0
-        LDMLEDB  fp,{v1-v5,fp,sp,pc}^
-        MOV      v5,#&ff
-|L000278.J4.get_dac|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        LDRCCB   a3,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a3,v5
-        MOV      v2,a3
-        LDR      a1,[v1,#&34]
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,v5
-        MOV      v3,a2
-        CMP      v2,#0
-        BLT      |L0002bc.J14.get_dac|
-        CMP      v2,#&20
-        BLT      |L0002c8.J13.get_dac|
-|L0002bc.J14.get_dac|
-        MOV      a1,#&2e8
-        ADD      a1,a1,#&4c00
-        BL       exit
-|L0002c8.J13.get_dac|
-        CMP      v2,#&10
-        MOVGE    a1,v3
-        ADDGE    a2,v1,v2
-        STRGEB   a1,[a2,#&94]
-        BGE      |L000304.J19.get_dac|
-        AND      a1,v3,#&f
-        ADD      a2,v1,v2
-        STRB     a1,[a2,#&84]
-        MOV      a3,v3,ASR #4
-        AND      a3,a3,#&ff
-        STRB     a3,[a2,#&94]
-        CMP      a1,a3
-        MOVGT    a1,#&ef0
-        ADDGT    a1,a1,#&4000
-        BLGT     exit
-|L000304.J19.get_dac|
-        SUB      v4,v4,#2
-        CMP      v4,#0
-        BGT      |L000278.J4.get_dac|
-        LDMDB    fp,{v1-v5,fp,sp,pc}^
-
-get_dqt
-        MOV      ip,sp
-        STMDB    sp!,{v1-v5,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        SUB      v2,a1,#2
-        CMP      v2,#0
-        LDMLEDB  fp,{v1-v5,fp,sp,pc}^
-        MOV      v4,#&ff
-|L000338.J4.get_dqt|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a1,v4
-        BCS      |L000358.J7.get_dqt|
-        LDRB     a2,[a1],#1
-        STR      a1,[v1,#&34]
-        MOV      a1,a2
-|L000358.J7.get_dqt|
-        MOV      v3,a1,ASR #4
-        AND      v5,a1,#&f
-        CMP      v5,#4
-        MOVGE    a1,#&30c
-        ADDGE    a1,a1,#&4c00
-        BLGE     exit
-        ADD      a1,v1,v5,LSL #2
-        LDR      a4,[a1,#&54]!
-        MOV      a1,#0
-|L00037c.J12.get_dqt|
-        ADD      ip,v1,#&34
-        LDMIA    ip,{a3,ip}
-        CMP      a3,ip
-        LDRCCB   a2,[a3],#1
-        STRCC    a3,[v1,#&34]
-        MOVCS    a2,v4
-        MOV      a2,a2,LSL #16
-        MOV      a2,a2,LSR #16
-        TEQ      v3,#0
-        BEQ      |L0003c4.J16.get_dqt|
-        LDR      a3,[v1,#&34]
-        CMP      a3,ip
-        LDRCCB   ip,[a3],#1
-        STRCC    a3,[v1,#&34]
-        MOVCS    ip,v4
-        ADD      a2,ip,a2,LSL #8
-        MOV      a2,a2,LSL #16
-        MOV      a2,a2,LSR #16
-|L0003c4.J16.get_dqt|
-        STR      a2,[a4,a1,LSL #2]
-        ADD      a1,a1,#1
-        CMP      a1,#&40
-        BLT      |L00037c.J12.get_dqt|
-        MOV      a1,#0
-|L0003d8.J22.get_dqt|
-        ADD      a1,a1,#8
-        CMP      a1,#&40
-        BLT      |L0003d8.J22.get_dqt|
-        SUB      v2,v2,#&41
-        TEQ      v3,#0
-        SUBNE    v2,v2,#&40
-        CMP      v2,#0
-        BGT      |L000338.J4.get_dqt|
-        LDMDB    fp,{v1-v5,fp,sp,pc}^
-
-get_dri
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        TEQ      a1,#4
-        MOVNE    a1,#&2d
-        ADDNE    a1,a1,#&4f00
-        BLNE     exit
-        MOV      a1,v1
-        BL       get_2bytes
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,LSR #16
-        STR      a1,[v1,#&bc]!
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-get_app0
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        SUB      sp,sp,#&10
-        BL       get_2bytes
-        SUB      v2,a1,#2
-        CMP      v2,#&e
-        BLT      |L000508.J25.get_app0|
-        MOV      a1,#0
-        MOV      a2,#&ff
-|L000464.J6.get_app0|
-        LDR      a3,[v1,#&38]
-        LDR      a4,[v1,#&34]
-        CMP      a4,a3
-        LDRCCB   a3,[a4],#1
-        STRCC    a4,[v1,#&34]
-        MOVCS    a3,a2
-        STRB     a3,[sp,a1]
-        ADD      a1,a1,#1
-        CMP      a1,#&e
-        BLT      |L000464.J6.get_app0|
-        SUB      v2,v2,#&e
-        LDRB     a1,[sp,#0]
-        TEQ      a1,#&4a
-        LDREQB   a1,[sp,#1]
-        TEQEQ    a1,#&46
-        LDREQB   a1,[sp,#2]
-        TEQEQ    a1,#&49
-        LDREQB   a1,[sp,#3]
-        TEQEQ    a1,#&46
-        LDREQB   a1,[sp,#4]
-        TEQEQ    a1,#0
-        BNE      |L000508.J25.get_app0|
-        LDRB     a1,[sp,#5]
-        TEQ      a1,#1
-        MOVNE    a1,#&4d
-        ADDNE    a1,a1,#&4f00
-        BLNE     exit
-        LDRB     a1,[sp,#7]
-        STR      a1,[v1,#&40]
-        LDRB     a1,[sp,#9]
-        LDRB     a2,[sp,#8]
-        ADD      a1,a1,a2,LSL #8
-        STR      a1,[v1,#&44]
-        LDRB     a2,[sp,#&b]
-        LDRB     a1,[sp,#&a]
-        ADD      a1,a2,a1,LSL #8
-        STR      a1,[v1,#&48]
-        LDR      a1,[v1,#&1c]
-        TEQ      a1,#0
-        MOVEQ    a1,#3
-        STREQ    a1,[v1,#&1c]
-|L000508.J25.get_app0|
-        MOV      a1,v2
-        SUB      v2,v2,#1
-        CMP      a1,#0
-        BLE      |L00053c.J37.get_app0|
-        LDR      a2,[v1,#&38]
-|L00051c.J26.get_app0|
-        LDR      a1,[v1,#&34]
-        CMP      a1,a2
-        ADDCC    a1,a1,#1
-        STRCC    a1,[v1,#&34]
-        MOV      a1,v2
-        SUB      v2,v2,#1
-        CMP      a1,#0
-        BGT      |L00051c.J26.get_app0|
-|L00053c.J37.get_app0|
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-get_sof
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        MOV      v3,a1
-        MOV      v2,#&ff
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,v2
-        STR      a2,[v1,#&3c]
-        MOV      a1,v1
-        BL       get_2bytes
-        STR      a1,[v1,#&18]
-        MOV      a1,v1
-        BL       get_2bytes
-        STR      a1,[v1,#&14]
-        MOV      a2,a1
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a1,a3}
-        CMP      a1,a3
-        MOVCS    a1,v2
-        BCS      |L0005b4.J7.get_sof|
-        LDRB     a3,[a1],#1
-        STR      a1,[v1,#&34]
-        MOV      a1,a3
-|L0005b4.J7.get_sof|
-        STR      a1,[v1,#&4c]
-        LDR      a3,[v1,#&18]
-        CMP      a3,#0
-        CMPGT    a2,#0
-        CMPGT    a1,#0
-        MOVLE    a1,#&82
-        ADDLE    a1,a1,#&4f00
-        BLLE     exit
-        LDR      a1,[v1,#&3c]
-        TEQ      a1,#8
-        MOVNE    a1,#&86
-        ADDNE    a1,a1,#&4f00
-        BLNE     exit
-        LDR      a1,[v1,#&4c]
-        ADD      a1,a1,a1,LSL #1
-        ADD      a1,a1,#8
-        TEQ      a1,v3
-        MOVNE    a1,#&92
-        ADDNE    a1,a1,#&4f00
-        BLNE     exit
-        LDR      a1,[v1,#&4c]
-        CMP      a1,#3
-        MOVGT    a1,#&96
-        ADDGT    a1,a1,#&4f00
-        BLGT     exit
-        MOV      a1,#0
-        LDR      a2,[v1,#&4c]
-        CMP      a2,#0
-        LDMLEDB  fp,{v1-v3,fp,sp,pc}^
-        MOV      a2,#&f
-|L00062c.J21.get_sof|
-        RSB      a4,a1,a1,LSL #3
-        LDR      a3,[v1,#&50]
-        ADD      a3,a3,a4,LSL #3
-        STR      a1,[a3,#4]
-        ADD      ip,v1,#&34
-        LDMIA    ip,{a4,ip}
-        CMP      a4,ip
-        LDRCCB   ip,[a4],#1
-        STRCC    a4,[v1,#&34]
-        MOVCS    ip,v2
-        STR      ip,[a3,#0]
-        ADD      ip,v1,#&34
-        LDMIA    ip,{a4,ip}
-        CMP      a4,ip
-        MOVCS    a4,v2
-        BCS      |L00067c.J27.get_sof|
-        MOV      ip,a4
-        LDRB     a4,[a4,#0]
-        ADD      ip,ip,#1
-        STR      ip,[v1,#&34]
-|L00067c.J27.get_sof|
-        AND      ip,a2,a4,ASR #4
-        AND      a4,a4,#&f
-        STR      a4,[a3,#&c]
-        STR      ip,[a3,#8]
-        ADD      ip,v1,#&34
-        LDMIA    ip,{a4,ip}
-        CMP      a4,ip
-        LDRCCB   ip,[a4],#1
-        STRCC    a4,[v1,#&34]
-        MOVCS    ip,v2
-        ADD      a1,a1,#1
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      ip,[a3,#&10]!
-        LDR      a3,[v1,#&4c]
-        CMP      a1,a3
-        BLT      |L00062c.J21.get_sof|
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-get_sos
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       get_2bytes
-        MOV      v4,#&ff
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a2,a3}
-        CMP      a2,a3
-        LDRCCB   a3,[a2],#1
-        STRCC    a2,[v1,#&34]
-        MOVCS    a3,v4
-        MOV      v3,a3
-        SUB      v2,a1,#3
-        MOV      a1,#3
-        STR      a3,[v1,#&c8]
-        ADD      a1,a1,a3,LSL #1
-        TEQ      a1,v2
-        BNE      |L000720.J8.get_sos|
-        CMP      v3,#1
-        BLT      |L000720.J8.get_sos|
-        CMP      v3,#4
-        BLE      |L00072c.J7.get_sos|
-|L000720.J8.get_sos|
-        MOV      a1,#&3bc
-        ADD      a1,a1,#&4c00
-        BL       exit
-|L00072c.J7.get_sos|
-        MOV      v5,#0
-        CMP      v3,#0
-        BLE      |L0007e4.J13.get_sos|
-|L000738.J12.get_sos|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        LDRCCB   a3,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a3,#&ff
-        LDR      a1,[v1,#&34]
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,#&ff
-        MOV      v6,a2
-        SUB      v2,v2,#2
-        MOV      v4,#0
-        LDR      a1,[v1,#&4c]
-        CMP      a1,#0
-        BLE      |L0007a0.J22.get_sos|
-        LDR      a2,[v1,#&50]
-|L000780.J21.get_sos|
-        RSB      a4,v4,v4,LSL #3
-        ADD      a4,a2,a4,LSL #3
-        LDR      a4,[a4,#0]
-        TEQ      a4,a3
-        BEQ      |L0007a0.J22.get_sos|
-        ADD      v4,v4,#1
-        CMP      v4,a1
-        BLT      |L000780.J21.get_sos|
-|L0007a0.J22.get_sos|
-        CMP      v4,a1
-        MOVGE    a1,#&ca
-        ADDGE    a1,a1,#&4f00
-        BLGE     exit
-        RSB      a1,v4,v4,LSL #3
-        LDR      a2,[v1,#&50]
-        ADD      a1,a2,a1,LSL #3
-        ADD      a2,v1,v5,LSL #2
-        STR      a1,[a2,#&cc]!
-        MOV      a2,#&f
-        AND      a2,a2,v6,ASR #4
-        STR      a2,[a1,#&14]
-        AND      a2,v6,#&f
-        ADD      v5,v5,#1
-        CMP      v5,v3
-        STR      a2,[a1,#&18]!
-        BLT      |L000738.J12.get_sos|
-|L0007e4.J13.get_sos|
-        CMP      v2,#0
-        LDMLEDB  fp,{v1-v6,fp,sp,pc}^
-        LDR      a1,[v1,#&38]
-|L0007f0.J30.get_sos|
-        LDR      a2,[v1,#&34]
-        CMP      a2,a1
-        ADDCC    a2,a2,#1
-        STRCC    a2,[v1,#&34]
-        SUB      v2,v2,#1
-        CMP      v2,#0
-        BGT      |L0007f0.J30.get_sos|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-get_soi
-        STMDB    sp!,{lr}
-        MOV      a2,#0
-        MOV      ip,#0
-        MOV      a4,#1
-        MOV      lr,#5
-|L000824.J4.get_soi|
-        ADD      a3,a1,a2
-        STRB     ip,[a3,#&84]
-        STRB     a4,[a3,#&94]
-        STRB     lr,[a3,#&a4]
-        ADD      a2,a2,#1
-        CMP      a2,#&10
-        BLT      |L000824.J4.get_soi|
-        STR      ip,[a1,#&bc]
-        STR      a4,[a1,#&44]
-        STR      ip,[a1,#&40]
-        STR      a4,[a1,#&48]!
-        STR      ip,[a1,#&70]!
-        LDMIA    sp!,{pc}^
-
-next_marker
-        MOV      a3,#&ff
-        LDR      a2,[a1,#&38]
-|L000860.J5.next_marker|
-        LDR      ip,[a1,#&34]
-        CMP      ip,a2
-        LDRCCB   a4,[ip],#1
-        STRCC    ip,[a1,#&34]
-        MOVCS    a4,a3
-        TEQ      a4,#&ff
-        BNE      |L000860.J5.next_marker|
-|L00087c.J10.next_marker|
-        LDR      ip,[a1,#&34]
-        CMP      ip,a2
-        LDRCCB   a4,[ip],#1
-        STRCC    ip,[a1,#&34]
-        MOVCS    a4,a3
-        TEQ      a4,#&ff
-        BEQ      |L00087c.J10.next_marker|
-        TEQ      a4,#0
-        BEQ      |L000860.J5.next_marker|
-        MOV      a1,a4
-        MOVS     pc,lr
-
-process_tables
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-|L0008b8.J4.process_tables|
-        MOV      a1,v1
-        BL       next_marker
-        MOV      a2,a1
-        CMP      a1,#&ce
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        BGT      |L000950.J39.process_tables|
-        CMP      a1,#&c6
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        BGT      |L000924.J42.process_tables|
-        CMP      a1,#&c2
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        BGT      |L000900.J45.process_tables|
-        TEQ      a1,#1
-        BEQ      |L0008b8.J4.process_tables|
-        TEQ      a1,#&c0
-        TEQNE    a1,#&c1
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        B        |L0009d4.J7.process_tables|
-|L000900.J45.process_tables|
-        TEQ      a1,#&c3
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        TEQ      a1,#&c4
-        MOVEQ    a1,v1
-        BLEQ     get_dht
-        BEQ      |L0008b8.J4.process_tables|
-        TEQ      a1,#&c5
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        B        |L0009d4.J7.process_tables|
-|L000924.J42.process_tables|
-        SUB      a3,a1,#&c7
-        CMP      a3,#6
-        ADDLS    pc,pc,a3,LSL #2
-        B        |L0009d4.J7.process_tables|
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        B        |L0009b0.J25.process_tables|
-        LDMDB    fp,{v1,fp,sp,pc}^
-|L000950.J39.process_tables|
-        SUB      a3,a1,#&cf
-        CMP      a3,#&11
-        ADDLS    pc,pc,a3,LSL #2
-        B        |L0009d4.J7.process_tables|
-        LDMDB    fp,{v1,fp,sp,pc}^
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        B        |L0008b8.J4.process_tables|
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        LDMDB    fp,{v1,fp,sp,pc}^
-        B        |L0009bc.J10.process_tables|
-        B        |L0009d4.J7.process_tables|
-        B        |L0009c8.J9.process_tables|
-        B        |L0009d4.J7.process_tables|
-        B        |L0009d4.J7.process_tables|
-        MOV      a1,v1
-        BL       get_app0
-        B        |L0008b8.J4.process_tables|
-|L0009b0.J25.process_tables|
-        MOV      a1,v1
-        BL       get_dac
-        B        |L0008b8.J4.process_tables|
-|L0009bc.J10.process_tables|
-        MOV      a1,v1
-        BL       get_dqt
-        B        |L0008b8.J4.process_tables|
-|L0009c8.J9.process_tables|
-        MOV      a1,v1
-        BL       get_dri
-        B        |L0008b8.J4.process_tables|
-|L0009d4.J7.process_tables|
-        MOV      a1,v1
-        BL       skip_variable
-        B        |L0008b8.J4.process_tables|
-
-read_file_header
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        LDR      a3,[a1,#&34]
-        LDR      a1,[a1,#&38]
-        MOV      a2,#&ff
-        CMP      a3,a1
-        LDRCCB   a1,[a3],#1
-        STRCC    a3,[v1,#&34]
-        MOVCS    a1,a2
-        TEQ      a1,#&ff
-        BNE      |L000a30.J5.read_file_header|
-        ADD      a3,v1,#&34
-        LDMIA    a3,{a1,a3}
-        CMP      a1,a3
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        TEQ      a2,#&d8
-        BEQ      |L000a3c.J4.read_file_header|
-|L000a30.J5.read_file_header|
-        MOV      a1,#&67
-        ADD      a1,a1,#&5000
-        BL       exit
-|L000a3c.J4.read_file_header|
-        MOV      a1,v1
-        BL       get_soi
-        MOV      a1,v1
-        BL       process_tables
-        MOV      v3,#0
-        MOV      v2,#1
-        TEQ      a1,#&c0
-        TEQNE    a1,#&c1
-        BEQ      |L000a7c.J17.read_file_header|
-        TEQ      a1,#&c9
-        BNE      |L000a90.J15.read_file_header|
-        MOV      a2,a1
-        MOV      a1,v1
-        BL       get_sof
-        STR      v2,[v1,#&b4]
-        B        |L000a9c.J14.read_file_header|
-|L000a7c.J17.read_file_header|
-        MOV      a2,a1
-        MOV      a1,v1
-        BL       get_sof
-        STR      v3,[v1,#&b4]
-        B        |L000a9c.J14.read_file_header|
-|L000a90.J15.read_file_header|
-        MOV      a1,#&7b
-        ADD      a1,a1,#&5000
-        BL       exit
-|L000a9c.J14.read_file_header|
-        LDR      a1,[v1,#&4c]
-        TEQ      a1,#1
-        STREQ    v2,[v1,#&1c]!
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        TEQ      a1,#3
-        BEQ      |L000ac8.J25.read_file_header|
-        TEQ      a1,#4
-        STRNE    v3,[v1,#&1c]!
-        LDMNEDB  fp,{v1-v3,fp,sp,pc}^
-        MOV      a1,#5
-        B        |L000b28.J44.read_file_header|
-|L000ac8.J25.read_file_header|
-        LDR      a1,[v1,#&1c]
-        TEQ      a1,#0
-        LDMNEDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a2,[v1,#&50]
-        LDR      a1,[a2,#0]
-        MOV      a4,a1,LSL #16
-        MOV      a4,a4,ASR #16
-        LDR      a1,[a2,#&38]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        LDR      a2,[a2,#&70]
-        MOV      a2,a2,LSL #16
-        MOV      a2,a2,ASR #16
-        MOV      a3,#3
-        CMP      a4,#1
-        BNE      |L000b14.J32.read_file_header|
-        TEQ      a1,#2
-        BEQ      |L000b30.J37.read_file_header|
-        B        |L000b18.J38.read_file_header|
-|L000b14.J32.read_file_header|
-        BNE      |L000b30.J37.read_file_header|
-|L000b18.J38.read_file_header|
-        TEQ      a1,#4
-        TEQEQ    a2,#5
-        BNE      |L000b30.J37.read_file_header|
-        MOV      a1,#4
-|L000b28.J44.read_file_header|
-        STR      a1,[v1,#&1c]!
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-|L000b30.J37.read_file_header|
-        STR      a3,[v1,#&1c]!
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-read_scan_header
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        BL       process_tables
-        TEQ      a1,#&d9
-        BEQ      |L000b74.J4.read_scan_header|
-        TEQ      a1,#&da
-        MOVEQ    a1,v1
-        BLEQ     get_sos
-        MOVEQ    a1,#1
-        LDMEQDB  fp,{v1,fp,sp,pc}^
-        MOV      a1,#&be
-        ADD      a1,a1,#&5000
-        BL       exit
-|L000b74.J4.read_scan_header|
-        MOV      a1,#0
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-        ;MPORT  huff_DECODE_buildshortcut
-        IMPORT  exit_c
-fix_huff_tbl
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        SUB      sp,sp,#&308
-        MOV      a2,#0
-        MOV      a3,#1
-|L000b9c.J4.fix_huff_tbl|
-        MOV      a1,#1
-        ADD      lr,v1,a3
-        LDRB     a4,[lr,#0]
-        CMP      a4,#1
-        BLT      |L000bd4.J6.fix_huff_tbl|
-        AND      a4,a3,#&ff
-|L000bb4.J5.fix_huff_tbl|
-        MOV      v3,a2
-        ADD      a2,a2,#1
-        ADD      ip,sp,#&204
-        STRB     a4,[ip,v3]
-        ADD      a1,a1,#1
-        LDRB     v3,[lr,#0]
-        CMP      v3,a1
-        BGE      |L000bb4.J5.fix_huff_tbl|
-|L000bd4.J6.fix_huff_tbl|
-        ADD      a3,a3,#1
-        CMP      a3,#&10
-        BLE      |L000b9c.J4.fix_huff_tbl|
-        MOV      v6,#0
-        ADD      a1,sp,#&204
-        STRB     v6,[a1,a2]
-        MOV      a1,#0
-        LDRB     a3,[sp,#&204]
-        MOV      a2,#0
-        LDRB     a4,[sp,#&204]
-        TEQ      a4,#0
-        BEQ      |L000c68.J11.fix_huff_tbl|
-|L000c04.J10.fix_huff_tbl|
-        ADD      a4,sp,#&204
-        LDRB     a4,[a4,a2]
-        TEQ      a4,a3
-        BNE      |L000c48.J14.fix_huff_tbl|
-|L000c14.J13.fix_huff_tbl|
-        MOV      a4,a2
-        ADD      a2,a2,#1
-        ADD      a4,sp,a4,LSL #1
-        STRB     a1,[a4,#0]
-        MOV      ip,a1,ASR #8
-        STRB     ip,[a4,#1]
-        ADD      a1,a1,#1
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,LSR #16
-        ADD      a4,sp,#&204
-        LDRB     a4,[a4,a2]
-        TEQ      a4,a3
-        BEQ      |L000c14.J13.fix_huff_tbl|
-|L000c48.J14.fix_huff_tbl|
-        MOV      a1,a1,LSL #1
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,LSR #16
-        ADD      a3,a3,#1
-        ADD      a4,sp,#&204
-        LDRB     a4,[a4,a2]
-        TEQ      a4,#0
-        BNE      |L000c04.J10.fix_huff_tbl|
-|L000c68.J11.fix_huff_tbl|
-        MOV      a2,#0
-        MOV      a3,#1
-        MVN      a1,#0
-|L000c74.J18.fix_huff_tbl|
-        ADD      v3,v1,a3
-        LDRB     a4,[v3,#0]
-        TEQ      a4,#0
-        BEQ      |L000cc8.J19.fix_huff_tbl|
-        ADD      lr,v1,a3,LSL #2
-        STR      a2,[lr,#&15c]
-        ADD      a4,lr,#&15c
-        LDR      v4,[sp,a2,LSL #1]
-        MOV      v4,v4,LSL #16
-        MOV      v4,v4,LSR #16
-        LDR      ip,[a4,#0]
-        SUB      v4,ip,v4
-        STR      v4,[a4,#0]
-        LDRB     a4,[v3,#0]
-        ADD      a2,a4,a2
-        ADD      a4,sp,a2,LSL #1
-        LDR      a4,[a4,#-2]
-        MOV      a4,a4,LSL #16
-        MOV      a4,a4,LSR #16
-        STR      a4,[lr,#&114]!
-        B        |L000cd0.J21.fix_huff_tbl|
-|L000cc8.J19.fix_huff_tbl|
-        ADD      a4,v1,a3,LSL #2
-        STR      a1,[a4,#&114]!
-|L000cd0.J21.fix_huff_tbl|
-        ADD      a3,a3,#1
-        CMP      a3,#&10
-        BLE      |L000c74.J18.fix_huff_tbl|
-        MVN      a2,#&ff00000
-        ADD      a2,a2,#&10000000
-        MOV      v3,#0
-        MOV      v5,#&20
-        STR      a2,[v1,#&158]
-|L000cf0.J23.fix_huff_tbl|
-        MOV      a1,v3,LSL #24
-        MOV      a2,v1
-        ADD      v2,v2,#&104
-        STMIA    v2,{a1,v5}
-        SUB      v2,v2,#&104
-        MOV      a1,v2
-        BL       huff_DECODE_buildshortcut
-        MOV      v4,a1
-        LDR      a1,[v2,#&108]
-        CMP      a1,#&18
-        MVNLT    a1,#0
-        BLT      |L000d3c.J39.fix_huff_tbl|
-        CMP      v4,#0
-        MOVLT    a2,#4
-        MOVLT    a1,#&69
-        BLLT     exit_c
-        LDR      a1,[v2,#&108]
-        SUB      a1,v5,a1
-        ORR      a1,v4,a1,LSL #24
-|L000d3c.J39.fix_huff_tbl|
-        ADD      a2,v1,v3,LSL #2
-        ADD      v3,v3,#1
-        CMP      v3,#&100
-        STR      a1,[a2,#&1a0]!
-        BLT      |L000cf0.J23.fix_huff_tbl|
-        STR      v6,[v2,#&108]
-        STR      v6,[v2,#&104]!
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-get_bits
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        LDR      a1,[a1,#&108]
-        CMP      a2,a1
-        BLE      |L000df0.J5.get_bits|
-        MOV      v3,#&ff
-|L000d80.J4.get_bits|
-        ADD      a2,v1,#&34
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a1,v3
-        BCS      |L000da0.J7.get_bits|
-        LDRB     a3,[a1],#1
-        STR      a1,[v1,#&34]
-        MOV      a1,a3
-|L000da0.J7.get_bits|
-        LDR      a3,[v1,#&104]
-        ORR      a3,a1,a3,LSL #8
-        STR      a3,[v1,#&104]
-        LDR      a3,[v1,#&108]
-        ADD      a3,a3,#8
-        TEQ      a1,#&ff
-        STR      a3,[v1,#&108]
-        BNE      |L000de4.J10.get_bits|
-        LDR      a1,[v1,#&34]
-        CMP      a1,a2
-        LDRCCB   a2,[a1],#1
-        STRCC    a1,[v1,#&34]
-        MOVCS    a2,v3
-        TEQ      a2,#0
-        MOVNE    a1,#&394
-        ADDNE    a1,a1,#&2400
-        BLNE     exit
-|L000de4.J10.get_bits|
-        LDR      a1,[v1,#&108]
-        CMP      v2,a1
-        BGT      |L000d80.J4.get_bits|
-|L000df0.J5.get_bits|
-        LDR      a1,[v1,#&108]
-        SUB      a1,a1,v2
-        STR      a1,[v1,#&108]
-        LDR      a2,[v1,#&104]!
-        MOV      a1,a2,ASR a1
-        MOV      a2,#1
-        MOV      a2,a2,LSL v2
-        SUB      a2,a2,#1
-        AND      a1,a1,a2
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-huff_DECODE_buildshortcut
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        LDR      a2,[a1,#&108]
-        TEQ      a2,#0
-        BEQ      |L000e50.J5.huff_DECODE_buildshortcut|
-        SUB      a2,a2,#1
-        STR      a2,[v1,#&108]
-        LDR      a1,[v1,#&104]
-        MOV      a1,a1,ASR a2
-        AND      a1,a1,#1
-        B        |L000e58.J4.huff_DECODE_buildshortcut|
-|L000e50.J5.huff_DECODE_buildshortcut|
-        MOV      a2,#1
-        BL       get_bits
-|L000e58.J4.huff_DECODE_buildshortcut|
-        MOV      v4,a1
-        MOV      v3,#1
-        B        |L000e9c.J8.huff_DECODE_buildshortcut|
-|L000e64.J7.huff_DECODE_buildshortcut|
-        LDR      a1,[v1,#&108]
-        TEQ      a1,#0
-        BEQ      |L000e88.J10.huff_DECODE_buildshortcut|
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&108]
-        LDR      a2,[v1,#&104]
-        MOV      a1,a2,ASR a1
-        AND      a1,a1,#1
-        B        |L000e94.J9.huff_DECODE_buildshortcut|
-|L000e88.J10.huff_DECODE_buildshortcut|
-        MOV      a1,v1
-        MOV      a2,#1
-        BL       get_bits
-|L000e94.J9.huff_DECODE_buildshortcut|
-        ADD      v4,a1,v4,LSL #1
-        ADD      v3,v3,#1
-|L000e9c.J8.huff_DECODE_buildshortcut|
-        ADD      a1,v2,v3,LSL #2
-        LDR      a1,[a1,#&114]
-        CMP      a1,v4
-        BGE      |L000eb4.J12.huff_DECODE_buildshortcut|
-        CMP      v3,#8
-        BLE      |L000e64.J7.huff_DECODE_buildshortcut|
-|L000eb4.J12.huff_DECODE_buildshortcut|
-        CMP      v3,#8
-        MVNGT    a1,#0
-        LDMGTDB  fp,{v1-v4,fp,sp,pc}^
-        ADD      a1,v2,v3,LSL #2
-        LDR      a1,[a1,#&15c]
-        ADD      a1,a1,v4
-        ADD      a1,v2,a1
-        LDRB     a1,[a1,#&11]
-        LDMDB    fp,{v1-v4,fp,sp,pc}^
-
-huff_decoder_init
-        MOV      a2,#0
-        STR      a2,[a1,#&108]!
-        MOVS     pc,lr
-
-mono_convert_block
-        STMDB    sp!,{v1,lr}
-        MOV      ip,#0
-|L000eec.J4.mono_convert_block|
-        MOV      a4,#0
-|L000ef0.J5.mono_convert_block|
-        ADD      lr,ip,a4,LSL #3
-        LDR      lr,[a1,lr,LSL #2]
-        ADD      lr,lr,#&40000
-        MOV      lr,lr,ASR #19
-        ADDS     lr,lr,#&80
-        MOVMI    lr,#0
-        BMI      |L000f14.J8.mono_convert_block|
-        CMP      lr,#&ff
-        MOVGT    lr,#&ff
-|L000f14.J8.mono_convert_block|
-        ORR      v1,lr,lr,LSL #8
-        ORR      lr,v1,lr,LSL #16
-        STR      lr,[a2,a4,LSL #2]
-        ADD      a4,a4,#1
-        CMP      a4,#8
-        BLT      |L000ef0.J5.mono_convert_block|
-        ADD      a2,a2,a3,LSL #2
-        ADD      ip,ip,#1
-        CMP      ip,#8
-        BLT      |L000eec.J4.mono_convert_block|
-        LDMIA    sp!,{v1,pc}^
-
-mono_convert_pixel
-        ADDS     a1,a2,#&80
-        MOVMI    a1,#0
-        BMI      |L000f54.J6.mono_convert_pixel|
-        CMP      a1,#&ff
-        MOVGT    a1,#&ff
-|L000f54.J6.mono_convert_pixel|
-        ORR      a2,a1,a1,LSL #8
-        ORR      a1,a2,a1,LSL #16
-        MOVS     pc,lr
-
-colour_convert_block
-        MOV      ip,sp
-        STMDB    sp!,{a1-a3,v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        SUB      sp,sp,#&14
-        MOV      v5,a1
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#&10]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#&c]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#8]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#4]
-        ADD      a1,a1,#&100
-        MOV      a3,#0
-        STR      a1,[sp,#0]
-|L000fa0.J4.colour_convert_block|
-        MOV      a1,#0
-        AND      v3,a3,#7
-        MOV      v2,a3,ASR #1
-|L000fac.J5.colour_convert_block|
-        AND      a4,a1,#7
-        ADD      ip,v3,a4,LSL #3
-        CMP      a3,#8
-        BGE      |L000fcc.J7.colour_convert_block|
-        CMP      a1,#8
-        LDRGE    a4,[sp,#&10]
-        MOVLT    a4,v5
-        B        |L000fd8.J6.colour_convert_block|
-|L000fcc.J7.colour_convert_block|
-        CMP      a1,#8
-        LDRGE    a4,[sp,#8]
-        LDRLT    a4,[sp,#&c]
-|L000fd8.J6.colour_convert_block|
-        LDR      a4,[a4,ip,LSL #2]
-        MOV      ip,a1,ASR #1
-        ADD      ip,v2,ip,LSL #3
-        LDR      lr,[sp,#4]
-        LDR      lr,[lr,ip,LSL #2]
-        LDR      v1,[sp,#0]
-        LDR      ip,[v1,ip,LSL #2]
-        ADD      a4,a4,#&40000
-        MOV      a4,a4,ASR #19
-        ADD      a4,a4,#&80
-        ADD      lr,lr,#&40000
-        MOV      lr,lr,ASR #19
-        ADD      ip,ip,#&40000
-        MOV      v1,ip,ASR #19
-        ADD      v4,v1,v1,LSL #5
-        RSB      v4,v4,v4,LSL #3
-        ADD      v4,v4,v1,LSL #7
-        ADD      ip,lr,lr,LSL #1
-        ADD      ip,ip,lr,LSL #3
-        MOV      ip,ip,LSL #3
-        RSB      v6,ip,#0
-        ADD      ip,v1,v1,LSL #1
-        RSB      ip,ip,v1,LSL #6
-        ADD      ip,ip,ip,LSL #1
-        SUB      v1,v6,ip
-        ADD      ip,lr,lr,LSL #5
-        RSB      ip,ip,lr,LSL #8
-        ADD      ip,ip,lr,LSL #2
-        MOV      ip,ip,LSL #1
-        ADD      lr,v4,#&80
-        ADDS     lr,a4,lr,ASR #8
-        MOVMI    lr,#0
-        BMI      |L001064.J15.colour_convert_block|
-        CMP      lr,#&ff
-        MOVGT    lr,#&ff
-|L001064.J15.colour_convert_block|
-        ADD      v1,v1,#&80
-        ADDS     v1,a4,v1,ASR #8
-        MOVMI    v1,#0
-        BMI      |L00107c.J19.colour_convert_block|
-        CMP      v1,#&ff
-        MOVGT    v1,#&ff
-|L00107c.J19.colour_convert_block|
-        ADD      ip,ip,#&80
-        ADDS     a4,a4,ip,ASR #8
-        MOVMI    a4,#0
-        BMI      |L001094.J23.colour_convert_block|
-        CMP      a4,#&ff
-        MOVGT    a4,#&ff
-|L001094.J23.colour_convert_block|
-        ORR      ip,lr,v1,LSL #8
-        ORR      a4,ip,a4,LSL #16
-        STR      a4,[a2,a1,LSL #2]
-        ADD      a1,a1,#1
-        CMP      a1,#&10
-        BLT      |L000fac.J5.colour_convert_block|
-        LDR      a1,[fp,#-&28]
-        ADD      a2,a2,a1,LSL #2
-        ADD      a3,a3,#1
-        CMP      a3,#&10
-        BLT      |L000fa0.J4.colour_convert_block|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-colour_convert_unusual_block
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        SUB      sp,sp,#&20
-        LDR      v3,[fp,#&14]
-        STR      a1,[sp,#&14]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#&10]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#&c]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#8]
-        ADD      a1,a1,#&100
-        STR      a1,[sp,#4]
-        ADD      a1,a1,#&100
-        MOV      a3,#0
-        CMP      a3,v3,LSL #3
-        STR      a1,[sp,#0]
-        BGE      |L001254.J35.colour_convert_unusual_block|
-        SUB      a1,a4,#1
-        STR      a1,[sp,#&1c]
-|L00111c.J4.colour_convert_unusual_block|
-        MOV      a1,#0
-        CMP      a1,a4,LSL #3
-        BGE      |L001240.J8.colour_convert_unusual_block|
-        AND      v4,a3,#7
-        SUB      lr,v3,#1
-        MOV      ip,a3,ASR lr
-        STR      ip,[sp,#&18]
-|L001138.J7.colour_convert_unusual_block|
-        AND      ip,a1,#7
-        ADD      lr,v4,ip,LSL #3
-        CMP      a3,#8
-        BGE      |L001158.J11.colour_convert_unusual_block|
-        CMP      a1,#8
-        LDRGE    ip,[sp,#&10]
-        LDRLT    ip,[sp,#&14]
-        B        |L001164.J10.colour_convert_unusual_block|
-|L001158.J11.colour_convert_unusual_block|
-        CMP      a1,#8
-        LDRGE    ip,[sp,#8]
-        LDRLT    ip,[sp,#&c]
-|L001164.J10.colour_convert_unusual_block|
-        LDR      lr,[ip,lr,LSL #2]
-        LDR      v1,[sp,#&1c]
-        MOV      v1,a1,ASR v1
-        LDR      ip,[sp,#&18]
-        ADD      ip,ip,v1,LSL #3
-        LDR      v1,[sp,#4]
-        LDR      v1,[v1,ip,LSL #2]
-        LDR      v2,[sp,#0]
-        LDR      ip,[v2,ip,LSL #2]
-        ADD      lr,lr,#&40000
-        MOV      lr,lr,ASR #19
-        ADD      lr,lr,#&80
-        ADD      v1,v1,#&40000
-        MOV      v1,v1,ASR #19
-        ADD      ip,ip,#&40000
-        MOV      v2,ip,ASR #19
-        ADD      v5,v2,v2,LSL #5
-        RSB      v5,v5,v5,LSL #3
-        ADD      v5,v5,v2,LSL #7
-        ADD      ip,v1,v1,LSL #1
-        ADD      ip,ip,v1,LSL #3
-        MOV      ip,ip,LSL #3
-        RSB      v6,ip,#0
-        ADD      ip,v2,v2,LSL #1
-        RSB      ip,ip,v2,LSL #6
-        ADD      ip,ip,ip,LSL #1
-        SUB      v2,v6,ip
-        ADD      ip,v1,v1,LSL #5
-        RSB      ip,ip,v1,LSL #8
-        ADD      ip,ip,v1,LSL #2
-        MOV      ip,ip,LSL #1
-        ADD      v1,v5,#&80
-        ADDS     v1,lr,v1,ASR #8
-        MOVMI    v1,#0
-        BMI      |L0011f8.J19.colour_convert_unusual_block|
-        CMP      v1,#&ff
-        MOVGT    v1,#&ff
-|L0011f8.J19.colour_convert_unusual_block|
-        ADD      v2,v2,#&80
-        ADDS     v2,lr,v2,ASR #8
-        MOVMI    v2,#0
-        BMI      |L001210.J23.colour_convert_unusual_block|
-        CMP      v2,#&ff
-        MOVGT    v2,#&ff
-|L001210.J23.colour_convert_unusual_block|
-        ADD      ip,ip,#&80
-        ADDS     ip,lr,ip,ASR #8
-        MOVMI    ip,#0
-        BMI      |L001228.J27.colour_convert_unusual_block|
-        CMP      ip,#&ff
-        MOVGT    ip,#&ff
-|L001228.J27.colour_convert_unusual_block|
-        ORR      lr,v1,v2,LSL #8
-        ORR      ip,lr,ip,LSL #16
-        STR      ip,[a2,a1,LSL #2]
-        ADD      a1,a1,#1
-        CMP      a1,a4,LSL #3
-        BLT      |L001138.J7.colour_convert_unusual_block|
-|L001240.J8.colour_convert_unusual_block|
-        LDR      a1,[fp,#&c]
-        ADD      a2,a2,a1,LSL #2
-        ADD      a3,a3,#1
-        CMP      a3,v3,LSL #3
-        BLT      |L00111c.J4.colour_convert_unusual_block|
-|L001254.J35.colour_convert_unusual_block|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-colour_convert_pixels
-        STMDB    sp!,{v1-v3,lr}
-        ADD      a2,a2,#4
-        MOV      a2,a2,ASR #3
-        ADD      a3,a3,#4
-        MOV      a3,a3,ASR #3
-        ADD      a4,a3,a3,LSL #5
-        RSB      a4,a4,a4,LSL #3
-        ADD      a4,a4,a3,LSL #7
-        ADD      ip,a2,a2,LSL #1
-        ADD      ip,ip,a2,LSL #3
-        MOV      ip,ip,LSL #3
-        RSB      lr,ip,#0
-        ADD      ip,a3,a3,LSL #1
-        RSB      a3,ip,a3,LSL #6
-        ADD      a3,a3,a3,LSL #1
-        SUB      a3,lr,a3
-        ADD      ip,a2,a2,LSL #5
-        RSB      ip,ip,a2,LSL #8
-        ADD      a2,ip,a2,LSL #2
-        MOV      a2,a2,LSL #1
-        ADD      a4,a4,#&80
-        MOV      v2,a4,ASR #8
-        ADD      a3,a3,#&80
-        MOV      v1,a3,ASR #8
-        ADD      a2,a2,#&80
-        MOV      lr,a2,ASR #8
-        MOV      a4,#0
-        MOV      v3,#&80
-|L0012c8.J4.colour_convert_pixels|
-        LDR      a2,[a1,a4,LSL #2]
-        ADD      a2,a2,#4
-        ADD      ip,v3,a2,ASR #3
-        ADDS     a3,v2,ip
-        MOVMI    a3,#0
-        BMI      |L0012e8.J7.colour_convert_pixels|
-        CMP      a3,#&ff
-        MOVGT    a3,#&ff
-|L0012e8.J7.colour_convert_pixels|
-        ADDS     a2,v1,ip
-        MOVMI    a2,#0
-        BMI      |L0012fc.J11.colour_convert_pixels|
-        CMP      a2,#&ff
-        MOVGT    a2,#&ff
-|L0012fc.J11.colour_convert_pixels|
-        ADDS     ip,lr,ip
-        MOVMI    ip,#0
-        BMI      |L001310.J15.colour_convert_pixels|
-        CMP      ip,#&ff
-        MOVGT    ip,#&ff
-|L001310.J15.colour_convert_pixels|
-        ORR      a2,a3,a2,LSL #8
-        ORR      a2,a2,ip,LSL #16
-        STR      a2,[a1,a4,LSL #2]
-        ADD      a4,a4,#1
-        CMP      a4,#4
-        BLT      |L0012c8.J4.colour_convert_pixels|
-        LDMIA    sp!,{v1-v3,pc}^
-
-        EXPORT  assembler_panic
-assembler_panic
-        MOVS     pc,lr
-
-init_workspace
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      a3,a2
-        MOV      a2,#0
-        LDR      v2,[a1,#&20]
-        LDR      v3,[a1,#&10]
-        BL       memset
-        STR      v2,[v1,#&20]
-        STR      v3,[v1,#&10]
-        ADD      a1,v1,#&1c
-        ADD      a1,a1,#&800
-        STR      a1,[v1,#&50]
-        MOV      a1,#0
-|L00136c.J4.init_workspace|
-        ADD      a2,v1,a1,LSL #8
-        ADD      a2,a2,#&fc
-        ADD      a2,a2,#&800
-        ADD      a3,v1,a1,LSL #2
-        ADD      a1,a1,#1
-        CMP      a1,#4
-        STR      a2,[a3,#&54]!
-        BLT      |L00136c.J4.init_workspace|
-        MOV      a1,#0
-|L001390.J6.init_workspace|
-        RSB      a2,a1,a1,LSL #4
-        ADD      a2,a2,a2,LSL #1
-        ADD      a3,v1,a2,LSL #5
-        SUB      a4,a3,#&304
-        ADD      a4,a4,#&1000
-        ADD      a2,v1,a1,LSL #2
-        ADD      a3,a3,#&37c
-        ADD      a3,a3,#&2000
-        ADD      a1,a1,#1
-        CMP      a1,#4
-        STR      a4,[a2,#&64]!
-        STR      a3,[a2,#&10]
-        BLT      |L001390.J6.init_workspace|
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-save_huff_stream
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        LDR      a1,[a1,#&108]
-        CMP      a1,#&20
-        MOVGE    a2,#2
-        MOVGE    a1,#&d8
-        BLGE     exit_c
-        LDR      a1,[v1,#&108]
-        CMP      a1,#0
-        MOVLT    a2,#2
-        MOVLT    a1,#&d9
-        BLLT     exit_c
-        LDR      a1,[v1,#&34]
-        LDR      a2,[v1,#&30]
-        CMP      a2,a1
-        MOVCS    a2,#2
-        MOVCS    a1,#&da
-        BLCS     exit_c
-        LDR      a1,[v1,#&38]
-        LDR      a2,[v1,#&34]
-        CMP      a2,a1
-        MOVCS    a2,#2
-        MOVCS    a1,#&db
-        BLCS     exit_c
-        ADD      a2,v1,#&30
-        LDMIA    a2,{a1,a2}
-        SUB      a1,a2,a1
-        LDR      a2,[v1,#&108]
-        ADD      a1,a2,a1,LSL #5
-        STR      a1,[v2,#0]
-        LDR      a1,[v1,#&104]
-        STR      a1,[v2,#4]
-        LDR      a1,[v1,#&e4]
-        STRB     a1,[v2,#8]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#9]
-        LDR      a1,[v1,#&e8]
-        STRB     a1,[v2,#&a]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#&b]
-        LDR      a1,[v1,#&ec]
-        STRB     a1,[v2,#&c]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#&d]
-        LDR      a1,[v1,#&c0]
-        STRB     a1,[v2,#&10]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#&11]
-        LDR      a1,[v1,#&c4]!
-        STRB     a1,[v2,#&12]
-        MOV      a1,a1,ASR #8
-        STRB     a1,[v2,#&13]
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-restore_huff_stream
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        LDR      a1,[a2,#4]
-        STR      a1,[v1,#&104]
-        LDR      a1,[a2,#0]
-        CMP      a1,#0
-        ADDLT    a1,a1,#&1f
-        LDR      a3,[v1,#&30]
-        ADD      a1,a3,a1,ASR #5
-        STR      a1,[v1,#&34]
-        LDR      a1,[a2,#0]
-        AND      a1,a1,#&1f
-        STR      a1,[v1,#&108]
-        LDR      a1,[a2,#8]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&e4]
-        LDR      a1,[a2,#&a]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&e8]
-        LDR      a1,[a2,#&c]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&ec]
-        LDR      a1,[a2,#&10]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&c0]
-        LDR      a1,[a2,#&12]
-        MOV      a1,a1,LSL #16
-        MOV      a1,a1,ASR #16
-        STR      a1,[v1,#&c4]
-        ADD      a2,v1,#&30
-        LDMIA    a2,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a2,#4
-        MOVCS    a1,#&fa
-        BLCS     exit_c
-        ADD      v1,v1,#&30
-        LDMIB    v1!,{a1,a2}
-        CMP      a1,a2
-        MOVCS    a2,#4
-        MOVCS    a1,#&fb
-        LDMCSDB  fp,{v1,fp,sp,lr}
-        BCS      exit_c
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-process_restart
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        LDR      a1,[a1,#&34]
-        LDRB     v2,[a1],#1
-        STR      a1,[v1,#&34]
-        LDR      a1,[v1,#&108]
-        CMP      a1,#7
-        MOVGT    a2,#2
-        MOVGT    a1,#&12
-        ADDGT    a1,a1,#&100
-        BLGT     exit_c
-        TEQ      v2,#&ff
-        MOVNE    a2,#2
-        MOVNE    a1,#&13
-        ADDNE    a1,a1,#&100
-        BLNE     exit_c
-        LDR      a1,[v1,#&34]
-        LDRB     a1,[a1,#0]
-        TEQ      a1,#&ff
-        BNE      |L0015dc.J9.process_restart|
-|L0015c4.J8.process_restart|
-        LDR      a1,[v1,#&34]
-        ADD      a1,a1,#1
-        STR      a1,[v1,#&34]
-        LDRB     a1,[a1,#0]
-        TEQ      a1,#&ff
-        BEQ      |L0015c4.J8.process_restart|
-|L0015dc.J9.process_restart|
-        LDR      a1,[v1,#&34]
-        LDRB     v2,[a1],#1
-        STR      a1,[v1,#&34]
-        AND      a1,v2,#&f8
-        TEQ      a1,#&d0
-        MOVNE    a2,#2
-        MOVNE    a1,#&16
-        ADDNE    a1,a1,#&100
-        BLNE     exit_c
-        AND      a2,v2,#7
-        LDR      a1,[v1,#&c4]
-        TEQ      a2,a1
-        MOVNE    a2,#2
-        MOVNE    a1,#&17
-        ADDNE    a1,a1,#&100
-        BLNE     exit_c
-        MOV      a2,#0
-        STR      a2,[v1,#&108]
-        STR      a2,[v1,#&104]
-        LDR      a1,[v1,#&bc]
-        STR      a1,[v1,#&c0]
-        LDR      a1,[v1,#&c4]
-        ADD      a1,a1,#1
-        AND      a1,a1,#7
-        STR      a1,[v1,#&c4]
-        MOV      a1,#0
-        LDR      a3,[v1,#&c8]
-        CMP      a3,#0
-        LDMLEDB  fp,{v1,v2,fp,sp,pc}^
-|L001650.J16.process_restart|
-        ADD      a3,v1,a1,LSL #2
-        ADD      a1,a1,#1
-        STR      a2,[a3,#&e4]!
-        LDR      a3,[v1,#&c8]
-        CMP      a1,a3
-        BLT      |L001650.J16.process_restart|
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-        IMPORT  asm_huff_skip_blocks
-do_huff_skip_blocks
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        MOV      v1,a1
-        MOV      v2,a2
-        MOV      v3,a3
-        LDR      v4,[fp,#&1c]
-        LDR      v5,[fp,#&18]
-        LDR      v6,[fp,#&14]
-        LDR      a2,[a1,#&bc]
-        TEQ      a2,#0
-        BEQ      |L001710.J4.do_huff_skip_blocks|
-        CMP      v4,#0
-        LDMLEDB  fp,{v1-v6,fp,sp,pc}^
-        B        |L0016b4.J10.do_huff_skip_blocks|
-|L0016ac.J6.do_huff_skip_blocks|
-        TEQ      a1,#0
-        BEQ      |L0016d0.J9.do_huff_skip_blocks|
-|L0016b4.J10.do_huff_skip_blocks|
-        LDR      a1,[v1,#&c0]
-        TEQ      a1,#0
-        MOVEQ    a1,v1
-        BLEQ     process_restart
-        LDR      a1,[v1,#&c0]
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&c0]
-|L0016d0.J9.do_huff_skip_blocks|
-        MOV      a4,#1
-        MOV      a3,v5
-        MOV      a2,v6
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v3
-        MOV      a2,v2
-        MOV      a1,v1
-        LDR      a4,[fp,#&10]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        SUB      v4,v4,#1
-        ADD      v2,v2,#&100
-        CMP      v4,#0
-        LDR      a1,[fp,#&20]
-        BGT      |L0016ac.J6.do_huff_skip_blocks|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L001710.J4.do_huff_skip_blocks|
-        MOV      a4,v4
-        MOV      a3,v5
-        MOV      a2,v6
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v3
-        MOV      a2,v2
-        LDR      a4,[fp,#&10]
-        BL       asm_huff_skip_blocks
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-        IMPORT  asm_huff_decode_blocks
-do_huff_decode_blocks
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        MOV      v1,a1
-        MOV      v2,a2
-        MOV      v3,a3
-        LDR      v4,[fp,#&1c]
-        LDR      v5,[fp,#&18]
-        LDR      v6,[fp,#&14]
-        LDR      a2,[a1,#&bc]
-        TEQ      a2,#0
-        BEQ      |L0017d8.J4.do_huff_decode_blocks|
-        CMP      v4,#0
-        LDMLEDB  fp,{v1-v6,fp,sp,pc}^
-        B        |L00177c.J10.do_huff_decode_blocks|
-|L001774.J6.do_huff_decode_blocks|
-        TEQ      a1,#0
-        BEQ      |L001798.J9.do_huff_decode_blocks|
-|L00177c.J10.do_huff_decode_blocks|
-        LDR      a1,[v1,#&c0]
-        TEQ      a1,#0
-        MOVEQ    a1,v1
-        BLEQ     process_restart
-        LDR      a1,[v1,#&c0]
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&c0]
-|L001798.J9.do_huff_decode_blocks|
-        MOV      a4,#1
-        MOV      a3,v5
-        MOV      a2,v6
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v3
-        MOV      a2,v2
-        MOV      a1,v1
-        LDR      a4,[fp,#&10]
-        BL       asm_huff_decode_blocks
-        ADD      sp,sp,#&c
-        SUB      v4,v4,#1
-        ADD      v2,v2,#&100
-        CMP      v4,#0
-        LDR      a1,[fp,#&20]
-        BGT      |L001774.J6.do_huff_decode_blocks|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L0017d8.J4.do_huff_decode_blocks|
-        MOV      a4,v4
-        MOV      a3,v5
-        MOV      a2,v6
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v3
-        MOV      a2,v2
-        LDR      a4,[fp,#&10]
-        BL       asm_huff_decode_blocks
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-        ;MPORT  jpeg_scan_file
-do_jpeg_scan_file
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      lr,a3
-        MOV      ip,a4
-        MOV      v1,a1
-        STR      a2,[a1,#&10]
-        MVN      a1,#0
-        MOV      a4,#0
-        MVN      a3,#0
-        MVN      a2,#0
-        STR      a1,[v1,#0]
-        MVN      a1,#&80000000
-        STMDB    sp!,{a1-a4}
-        MOV      a3,ip
-        MOV      a2,lr
-        MOV      a1,v1
-        BL       jpeg_scan_file
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-do_jpeg_scan_file_16
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      lr,a3
-        MOV      ip,a4
-        MOV      v1,a1
-        STR      a2,[a1,#&10]
-        MVN      a1,#0
-        MOV      a4,#&10
-        MVN      a3,#0
-        MVN      a2,#0
-        STR      a1,[v1,#0]
-        MVN      a1,#&80000000
-        STMDB    sp!,{a1-a4}
-        MOV      a3,ip
-        MOV      a2,lr
-        MOV      a1,v1
-        MOV      a4,#0
-        BL       jpeg_scan_file
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-        IMPORT  |__rt_sdiv|
-jpeg_scan_file
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        MOV      v1,a1
-        MOV      v5,a2
-        MOV      v4,a3
-        MOV      v3,a4
-        SUB      sp,sp,#&20
-        LDR      v2,[fp,#&20]
-        TST      v2,#2
-        LDR      v6,[fp,#&14]
-        BICNE    v2,v2,#&38
-        CMP      v3,#0
-        MOVLT    v3,#0
-        TST      v2,#&28
-        BEQ      |L0018ec.J8.jpeg_scan_file|
-        SUBS     v3,v3,#&10
-        MOVMI    v3,#0
-        BIC      v3,v3,#&f
-        ADD      v6,v6,#&10
-|L0018ec.J8.jpeg_scan_file|
-        LDR      a2,[v1,#0]
-        CMP      a2,#0
-        BNE      |L0019fc.J12.jpeg_scan_file|
-        LDR      a2,[v1,#&30]
-        TEQ      a2,v5
-        BNE      |L001a04.J42.jpeg_scan_file|
-        LDR      a3,[v1,#&38]
-        SUB      a2,a3,a2
-        TEQ      a2,v4
-        BNE      |L001a04.J42.jpeg_scan_file|
-        LDR      a2,[fp,#&18]
-        CMN      a2,#1
-        LDRNE    a2,[v1,#&14]
-        LDRNE    a3,[fp,#&18]
-        TEQNE    a2,a3
-        BNE      |L001a04.J42.jpeg_scan_file|
-        LDR      a2,[fp,#&1c]
-        CMN      a2,#1
-        LDRNE    a2,[v1,#&18]
-        LDRNE    a3,[fp,#&1c]
-        TEQNE    a2,a3
-        BNE      |L001a04.J42.jpeg_scan_file|
-        MOVS     a2,v4
-        ADDMI    a2,a2,#7
-        MOV      a2,a2,ASR #3
-        LDR      a2,[v5,a2,LSL #2]
-        LDR      a3,[v1,#&10c]
-        TEQ      a2,a3
-        BNE      |L001a04.J42.jpeg_scan_file|
-        MOV      a3,v4
-        CMP      v4,#0
-        ADDLT    a3,a3,#3
-        MOV      a3,a3,ASR #2
-        MOV      a2,v4
-        ADDLT    a2,a2,#&f
-        SUB      a2,a3,a2,ASR #4
-        LDR      a3,[v5,a2,LSL #2]
-        LDR      a2,[v1,#&110]
-        TEQ      a3,a2
-        BNE      |L001a04.J42.jpeg_scan_file|
-        MOV      a2,v4
-        CMP      v4,#0
-        ADDLT    a2,a2,#3
-        MOV      a2,a2,ASR #2
-        MOV      a3,v4
-        ADDLT    a3,a3,#&1f
-        SUB      a2,a2,a3,ASR #5
-        LDR      a3,[v5,a2,LSL #2]
-        LDR      a2,[v1,#&114]
-        TEQ      a3,a2
-        LDREQ    a2,[v1,#&100]
-        TEQEQ    a2,v2
-        BNE      |L001a04.J42.jpeg_scan_file|
-        LDR      a1,[v1,#&14]
-        CMP      v6,a1
-        MOVGT    v6,a1
-        LDR      a1,[v1,#&f8]
-        CMP      v3,a1
-        BLT      |L0019e4.J39.jpeg_scan_file|
-        LDR      a1,[v1,#&fc]
-        CMP      v6,a1
-        BLE      |L0019ec.J38.jpeg_scan_file|
-|L0019e4.J39.jpeg_scan_file|
-        MVN      a1,#0
-        STR      a1,[v1,#&f4]
-|L0019ec.J38.jpeg_scan_file|
-        MOV      a1,#0
-        ADD      v1,v1,#&f4
-        STMIB    v1!,{v3,v6}
-        B        |L002040.J135.jpeg_scan_file|
-|L0019fc.J12.jpeg_scan_file|
-        MOVLT    a2,#0
-        STRLT    a2,[v1,#&20]
-|L001a04.J42.jpeg_scan_file|
-        LDR      a2,[v1,#&10]
-        BL       init_workspace
-        LDR      a1,[v1,#&10]
-        TEQ      a1,#0
-        STREQ    a1,[v1,#&28]
-        LDREQ    a1,[pc, #L001b48-.-8]
-        BEQ      |L001a3c.J134.jpeg_scan_file|
-        ADD      a2,v1,#&1fc
-        ADD      a2,a2,#&3800
-        ADD      a1,a1,#&204
-        SUB      a1,a1,#&3c00
-        MOV      a1,a1,LSR #2
-        BIC      a1,a1,#&f
-        STR      a2,[v1,#&28]
-|L001a3c.J134.jpeg_scan_file|
-        STR      a1,[v1,#&2c]
-        MOV      a1,v4
-        CMP      v4,#0
-        ADDLT    a1,a1,#7
-        MOV      a1,a1,ASR #3
-        LDR      a1,[v5,a1,LSL #2]
-        MOV      a2,v4
-        STR      a1,[v1,#&10c]
-        ADDLT    a2,a2,#3
-        MOV      a2,a2,ASR #2
-        MOV      a1,v4
-        ADDLT    a1,a1,#&f
-        SUB      a1,a2,a1,ASR #4
-        LDR      a1,[v5,a1,LSL #2]
-        MOV      a2,v4
-        STR      a1,[v1,#&110]
-        ADDLT    a2,a2,#3
-        MOV      a2,a2,ASR #2
-        MOV      a1,v4
-        ADDLT    a1,a1,#&1f
-        SUB      a1,a2,a1,ASR #5
-        LDR      a1,[v5,a1,LSL #2]
-        STR      a1,[v1,#&114]
-        STR      v5,[v1,#&30]
-        STR      v5,[v1,#&34]
-        ADD      a1,v5,v4
-        STR      a1,[v1,#&38]
-        MOV      a1,v1
-        BL       read_file_header
-        MOV      a1,v1
-        BL       read_scan_header
-        MOV      v4,#0
-|L001abc.J57.jpeg_scan_file|
-        ADD      v5,v1,v4,LSL #2
-        MOV      a1,v1
-        LDR      a2,[v5,#&64]
-        BL       fix_huff_tbl
-        MOV      a1,v1
-        LDR      a2,[v5,#&74]!
-        BL       fix_huff_tbl
-        ADD      v4,v4,#1
-        CMP      v4,#4
-        BLT      |L001abc.J57.jpeg_scan_file|
-        MOV      a1,v1
-        BL       huff_decoder_init
-        MVN      a1,#0
-        STR      a1,[v1,#&f4]
-        LDR      a1,[v1,#&bc]
-        STR      a1,[v1,#&c0]
-        MOV      a1,#0
-        STR      a1,[v1,#&c4]
-        LDR      v4,[v1,#&14]
-        CMP      v6,v4
-        MOVGT    v6,v4
-        CMP      v3,v6
-        MOVGT    v3,v6
-        STR      v2,[v1,#&100]
-        ADD      v1,v1,#&f8
-        STMIA    v1,{v3,v6}
-        SUB      v1,v1,#&f8
-        LDR      a1,[v1,#&3c]
-        TEQ      a1,#8
-        BEQ      |L001b4c.J63.jpeg_scan_file|
-        MOV      a2,#1
-        STR      a1,[v1,#4]
-        STR      a2,[v1,#0]
-        MOV      a1,#1
-        B        |L002040.J135.jpeg_scan_file|
-L001b48
-        DCD     &05f5e100
-|L001b4c.J63.jpeg_scan_file|
-        LDR      a1,[v1,#&c8]
-        LDR      v3,[v1,#&4c]
-        TEQ      v3,a1
-        MOVNE    a1,#3
-        STRNE    a1,[v1,#0]
-        BNE      |L002040.J135.jpeg_scan_file|
-        LDR      a1,[fp,#&18]
-        TEQ      v4,a1
-        LDRNE    a1,[fp,#&18]
-        CMNNE    a1,#1
-        BEQ      |L001b84.J67.jpeg_scan_file|
-        MOV      a1,#7
-        STMIA    v1,{a1,v4}
-        B        |L002040.J135.jpeg_scan_file|
-|L001b84.J67.jpeg_scan_file|
-        LDR      a2,[v1,#&18]
-        STR      a2,[sp,#&1c]
-        LDR      a1,[fp,#&1c]
-        TEQ      a2,a1
-        LDRNE    a1,[fp,#&1c]
-        CMNNE    a1,#1
-        BEQ      |L001bb8.J70.jpeg_scan_file|
-        MOV      a1,#6
-        STR      a1,[v1,#0]
-        LDR      a1,[sp,#&1c]
-        STR      a1,[v1,#4]!
-        MOV      a1,#6
-        B        |L002040.J135.jpeg_scan_file|
-|L001bb8.J70.jpeg_scan_file|
-        LDR      v6,[v1,#&50]
-        LDR      a1,[v6,#&c]
-        MOV      v5,a1,LSL #3
-        LDR      a1,[sp,#&1c]
-        ADD      a1,a1,v5
-        SUB      a2,a1,#1
-        MOV      a1,v5
-        BL       |__rt_sdiv|
-        ADD      a1,a1,a1,LSL #2
-        MOV      a1,a1,LSL #2
-        LDR      a2,[v1,#&28]
-        MOV      a1,a1,LSR #2
-        STR      a2,[v1,#&818]
-        ADD      a2,a2,a1,LSL #2
-        STR      a2,[v1,#&28]
-        LDR      a2,[v1,#&2c]
-        SUB      a2,a2,a1
-        MOV      a1,v5
-        STR      a2,[v1,#&2c]
-        BL       |__rt_sdiv|
-        MOV      a2,a1
-        CMP      a1,v4
-        BGE      |L001c2c.J73.jpeg_scan_file|
-        MOV      a1,#&a
-        STMIA    v1,{a1,v4}
-        MOV      a1,a2
-        STR      a1,[v1,#8]!
-        MOV      a1,#&a
-        B        |L002040.J135.jpeg_scan_file|
-|L001c2c.J73.jpeg_scan_file|
-        MOV      a2,#8
-        MOV      a1,#5
-        ADD      v5,v1,#&e4
-        TEQ      v3,#1
-        BNE      |L001d3c.J75.jpeg_scan_file|
-        LDR      a3,[v1,#&1c]
-        TEQ      a3,#1
-        MOVNE    a1,#8
-        STMNEIA  v1,{a2,a3}
-        BNE      |L002040.J135.jpeg_scan_file|
-        LDR      a2,[v6,#8]
-        TEQ      a2,#1
-        LDREQ    a2,[v6,#&c]
-        TEQEQ    a2,#1
-        BEQ      |L001c84.J79.jpeg_scan_file|
-        STR      a1,[v1,#0]
-        LDR      a1,[v6,#8]
-        STR      a1,[v1,#4]
-        LDR      a1,[v6,#&c]!
-        STR      a1,[v1,#8]!
-        MOV      a1,#5
-        B        |L002040.J135.jpeg_scan_file|
-|L001c84.J79.jpeg_scan_file|
-        SUB      sp,sp,#8
-        MOV      v4,#0
-        LDR      a1,[v1,#&cc]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      v6,[a2,#&64]!
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#4]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        MOV      v3,#0
-        STR      a1,[sp,#0]
-        LDR      a1,[sp,#&24]
-        CMP      a1,#0
-        BLE      |L001d30.J84.jpeg_scan_file|
-        ADD      a1,v1,#&118
-        STR      a1,[sp,#&20]
-|L001cd4.J83.jpeg_scan_file|
-        ADD      a1,v3,v3,LSL #2
-        LDR      a2,[v1,#&818]
-        ADD      a2,a2,a1,LSL #2
-        MOV      a1,v1
-        BL       save_huff_stream
-        ADD      v3,v3,#1
-        MOV      a4,#1
-        LDR      a1,[v1,#&14]
-        ADD      a1,a1,#7
-        MOV      a3,a1,ASR #3
-        MOV      a2,v5
-        LDR      a1,[sp,#0]
-        STMDB    sp!,{a1-a4}
-        MOV      a3,v6
-        MOV      a1,v1
-        LDR      a2,[sp,#&30]
-        LDR      a4,[sp,#&14]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        ADD      v4,v4,#8
-        LDR      a1,[v1,#&18]
-        CMP      v4,a1
-        BLT      |L001cd4.J83.jpeg_scan_file|
-|L001d30.J84.jpeg_scan_file|
-        ADD      sp,sp,#8
-        BIC      v2,v2,#&30
-        B        |L001fc0.J87.jpeg_scan_file|
-|L001d3c.J75.jpeg_scan_file|
-        TEQ      v3,#3
-        BNE      |L002038.J88.jpeg_scan_file|
-        LDR      a3,[v6,#&c]
-        STR      a3,[sp,#-4]!
-        LDR      a4,[v6,#8]
-        MOV      v3,a4
-        CMP      a4,#2
-        CMPLE    a3,#2
-        BLE      |L001d74.J90.jpeg_scan_file|
-        STR      a1,[v1,#0]
-        LDR      a1,[v6,#8]
-        STR      a1,[v1,#4]
-        LDR      a1,[v6,#&c]!
-        B        |L001dc0.J137.jpeg_scan_file|
-|L001d74.J90.jpeg_scan_file|
-        LDR      a3,[v6,#&40]
-        TEQ      a3,#1
-        LDREQ    a3,[v6,#&44]
-        TEQEQ    a3,#1
-        BEQ      |L001d9c.J94.jpeg_scan_file|
-        STR      a1,[v1,#0]
-        LDR      a1,[v6,#&40]
-        STR      a1,[v1,#4]
-        LDR      a1,[v6,#&44]!
-        B        |L001dc0.J137.jpeg_scan_file|
-|L001d9c.J94.jpeg_scan_file|
-        LDR      a3,[v6,#&78]
-        TEQ      a3,#1
-        LDREQ    a3,[v6,#&7c]
-        TEQEQ    a3,#1
-        BEQ      |L001dcc.J98.jpeg_scan_file|
-        STR      a1,[v1,#0]
-        LDR      a1,[v6,#&78]
-        STR      a1,[v1,#4]
-        LDR      a1,[v6,#&7c]!
-|L001dc0.J137.jpeg_scan_file|
-        STR      a1,[v1,#8]!
-        MOV      a1,#5
-        B        |L001de4.J138.jpeg_scan_file|
-|L001dcc.J98.jpeg_scan_file|
-        LDR      a1,[v1,#&1c]
-        TEQ      a1,#3
-        BEQ      |L001de8.J102.jpeg_scan_file|
-        STR      a1,[v1,#4]
-        STR      a2,[v1,#0]
-        MOV      a1,#8
-|L001de4.J138.jpeg_scan_file|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L001de8.J102.jpeg_scan_file|
-        TEQ      v3,#2
-        LDREQ    a1,[sp,#0]
-        TEQEQ    a1,#2
-        BICNE    v2,v2,#&30
-        SUB      sp,sp,#&28
-        MOV      a1,#0
-        MOV      v4,#0
-        STR      a1,[sp,#&24]
-        LDR      a1,[v1,#&cc]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&20]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#&1c]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#&18]
-        LDR      a1,[v1,#&d0]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&14]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#&10]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#&c]
-        LDR      a1,[v1,#&d4]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#8]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#4]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#0]
-        LDR      a1,[sp,#&48]
-        CMP      a1,#0
-        BLE      |L001fbc.J109.jpeg_scan_file|
-        LDR      a2,[sp,#&28]
-        MUL      a1,a2,v3
-        ADD      a2,v1,#&218
-        STR      a2,[sp,#&3c]
-        ADD      a2,v1,#&e8
-        STR      a2,[sp,#&38]
-        ADD      a2,v1,#&218
-        ADD      a2,a2,#&400
-        STR      a2,[sp,#&34]
-        ADD      a2,v1,#&ec
-        STR      a1,[sp,#&40]
-        ADD      a1,v1,#&318
-        ADD      a1,a1,#&400
-        STR      a1,[sp,#&2c]
-        STR      a2,[sp,#&30]
-|L001eec.J108.jpeg_scan_file|
-        ADD      a1,v4,v4,LSL #2
-        LDR      a2,[v1,#&818]
-        ADD      a2,a2,a1,LSL #2
-        MOV      a1,v1
-        BL       save_huff_stream
-        ADD      v4,v4,#1
-        MOV      v6,#0
-        LDR      a1,[v1,#&14]
-        CMP      a1,#0
-        BLE      |L001fa0.J112.jpeg_scan_file|
-|L001f14.J111.jpeg_scan_file|
-        MOV      a4,#0
-        MOV      a2,v5
-        LDR      a1,[sp,#&18]
-        LDR      a3,[sp,#&40]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&4c]
-        LDR      a3,[sp,#&30]
-        LDR      a4,[sp,#&2c]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        MOV      a4,#1
-        LDR      a2,[sp,#&c]
-        LDR      a3,[sp,#&38]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&40]
-        LDR      a3,[sp,#&20]
-        LDR      a4,[sp,#&1c]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        MOV      a4,#1
-        LDR      a2,[sp,#0]
-        LDR      a3,[sp,#&30]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&38]
-        LDR      a3,[sp,#&14]
-        LDR      a4,[sp,#&10]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        ADD      v6,v6,v3,LSL #3
-        LDR      a1,[v1,#&14]
-        CMP      v6,a1
-        BLT      |L001f14.J111.jpeg_scan_file|
-|L001fa0.J112.jpeg_scan_file|
-        ADD      a2,sp,#&24
-        LDMIA    a2,{a1,a2}
-        ADD      a2,a1,a2,LSL #3
-        STR      a2,[sp,#&24]
-        LDR      a1,[v1,#&18]
-        CMP      a2,a1
-        BLT      |L001eec.J108.jpeg_scan_file|
-|L001fbc.J109.jpeg_scan_file|
-        ADD      sp,sp,#&2c
-|L001fc0.J87.jpeg_scan_file|
-        TST      v2,#4
-        BEQ      |L001ffc.J117.jpeg_scan_file|
-        LDR      a1,[v1,#&50]
-        LDR      a1,[a1,#8]
-        MOV      a1,a1,LSL #3
-        LDR      a2,[v1,#&2c]
-        BL       |__rt_sdiv|
-        LDR      a2,[v1,#&14]
-        CMP      a1,a2,LSL #1
-        LDRLT    a1,[v1,#&100]
-        BICLT    a1,a1,#4
-        STRLT    a1,[v1,#&100]
-        LDRGE    a1,[v1,#4]
-        ORRGE    a1,a1,#4
-        STRGE    a1,[v1,#4]
-|L001ffc.J117.jpeg_scan_file|
-        TST      v2,#8
-        LDRNE    a1,[v1,#4]
-        ORRNE    a1,a1,#8
-        STRNE    a1,[v1,#4]
-        TST      v2,#&10
-        LDRNE    a1,[v1,#4]
-        ORRNE    a1,a1,#&10
-        STRNE    a1,[v1,#4]
-        TST      v2,#&20
-        LDRNE    a1,[v1,#4]
-        ORRNE    a1,a1,#&20
-        STRNE    a1,[v1,#4]
-        STR      v2,[v1,#&100]
-        LDR      a1,[v1,#0]
-        B        |L002040.J135.jpeg_scan_file|
-|L002038.J88.jpeg_scan_file|
-        MOV      a1,#9
-        STMIA    v1,{a1,v3}
-|L002040.J135.jpeg_scan_file|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-        IMPORT  asm_j_rev_dct
-        IMPORT  asm_mono_convert_block
-        IMPORT  asm_colour_convert_block_16
-        IMPORT  asm_colour_convert_block
-        IMPORT  asm_colour_convert_block_8
-        IMPORT  asm_get_table32k
-        IMPORT  asm_diffuse_to_8bpp
-jpeg_find_line
-        MOV      ip,sp
-        STMDB    sp!,{a1-a3,v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        LDR      a1,[a1,#&50]
-        LDR      a1,[a1,#&c]
-        ADD      a1,a1,#2
-        STR      a1,[sp,#-&34]!
-        LDR      a1,[v1,#&2c]
-        LDR      a2,[sp,#0]
-        MOV      v4,a1,ASR a2
-        LDR      a1,[v1,#&18]
-        LDR      a2,[fp,#-&2c]
-        SUB      a1,a1,a2
-        SUBS     a1,a1,#1
-        STR      a1,[fp,#-&2c]
-        MOVMI    a2,#4
-        MOVMI    a1,#&8e
-        ADDMI    a1,a1,#&200
-        BLMI     exit_c
-        LDR      a2,[fp,#-&2c]
-        LDR      a1,[v1,#&18]
-        CMP      a2,a1
-        MOVGE    a2,#4
-        MOVGE    a1,#&8f
-        ADDGE    a1,a1,#&200
-        BLGE     exit_c
-        LDR      a2,[fp,#-&2c]
-        LDR      a1,[sp,#0]
-        MOV      a2,a2,ASR a1
-        STR      a2,[sp,#4]
-        LDR      a1,[v1,#&f4]
-        TEQ      a2,a1
-        BEQ      |L002900.J8.jpeg_find_line|
-        SUB      sp,sp,#4
-        LDR      a1,[v1,#&28]
-        TEQ      a1,#0
-        MOVEQ    a2,#4
-        MOVEQ    a1,#&a2
-        ADDEQ    a1,a1,#&200
-        BLEQ     exit_c
-        MVN      a1,#0
-        STR      a1,[v1,#&f4]
-        LDR      a1,[sp,#8]
-        ADD      a2,a1,a1,LSL #2
-        LDR      a1,[v1,#&818]
-        ADD      a2,a1,a2,LSL #2
-        MOV      a1,v1
-        BL       restore_huff_stream
-        LDR      a1,[v1,#&4c]
-        ADD      a3,v1,#&e4
-        ADD      v6,v1,#&118
-        ADD      a2,v1,#&218
-        TEQ      a1,#1
-        STR      a2,[sp,#&30]
-        STR      a3,[sp,#&34]
-        BNE      |L0022bc.J12.jpeg_find_line|
-        SUB      sp,sp,#8
-        MOV      v3,#0
-        LDR      a1,[v1,#&cc]
-        LDR      v2,[v1,#&28]
-        LDR      a2,[a1,#&10]
-        ADD      a2,v1,a2,LSL #2
-        LDR      v5,[a2,#&54]!
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#4]
-        LDR      a1,[a1,#&18]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&74]
-        STR      a1,[sp,#0]
-        LDR      a1,[v1,#&f8]
-        CMP      a1,#8
-        BLT      |L0021b4.J14.jpeg_find_line|
-        SUB      a1,a1,#8
-        MOV      a1,a1,ASR #3
-        MOV      a4,#1
-        STR      a1,[sp,#-4]!
-        MOV      a3,a1
-        MOV      a1,v5
-        LDR      a2,[sp,#&40]
-        STMDB    sp!,{a1-a4}
-        MOV      a2,v6
-        MOV      a1,v1
-        LDR      a3,[sp,#&18]
-        LDR      a4,[sp,#&14]
-        BL       do_huff_skip_blocks
-        LDR      a1,[sp,#&10]!
-        ADD      v3,v3,a1,LSL #3
-        ADD      v2,v2,a1,LSL #5
-        ADD      sp,sp,#4
-|L0021b4.J14.jpeg_find_line|
-        LDR      a1,[v1,#&100]
-        TST      a1,#2
-        LDR      a1,[v1,#&fc]
-        BEQ      |L002248.J16.jpeg_find_line|
-        CMP      v3,a1
-        BGE      |L002240.J19.jpeg_find_line|
-|L0021cc.J18.jpeg_find_line|
-        MOV      a4,#1
-        MOV      a3,#1
-        MOV      a1,v5
-        LDR      a2,[sp,#&3c]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&48]
-        LDR      a3,[sp,#&14]
-        LDR      a4,[sp,#&10]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        LDR      a2,[v1,#&e4]
-        LDR      a1,[v5,#0]
-        MUL      a2,a1,a2
-        MOV      a1,v1
-        BL       mono_convert_pixel
-        STR      a1,[v2,#0]
-        STR      a1,[v2,#4]
-        STR      a1,[v2,#8]
-        STR      a1,[v2,#&c]
-        STR      a1,[v2,#&10]
-        STR      a1,[v2,#&14]
-        STR      a1,[v2,#&18]
-        ADD      v3,v3,#8
-        STR      a1,[v2,#&1c]!
-        ADD      v2,v2,#4
-        LDR      a1,[v1,#&fc]
-        CMP      v3,a1
-        BLT      |L0021cc.J18.jpeg_find_line|
-|L002240.J19.jpeg_find_line|
-        MOV      a1,#1
-        B        |L0022b4.J127.jpeg_find_line|
-|L002248.J16.jpeg_find_line|
-        CMP      v3,a1
-        BGE      |L0022b0.J24.jpeg_find_line|
-|L002250.J23.jpeg_find_line|
-        MOV      a4,#1
-        MOV      a3,#1
-        MOV      a1,v5
-        LDR      a2,[sp,#&3c]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&48]
-        LDR      a3,[sp,#&14]
-        LDR      a4,[sp,#&10]
-        BL       do_huff_decode_blocks
-        ADD      sp,sp,#&10
-        MOV      a1,v1
-        MOV      a3,#1
-        LDR      a2,[sp,#&38]
-        BL       asm_j_rev_dct
-        MOV      a1,v6
-        MOV      a3,v4
-        MOV      a2,v2
-        BL       asm_mono_convert_block
-        ADD      v3,v3,#8
-        ADD      v2,v2,#&20
-        LDR      a1,[v1,#&fc]
-        CMP      v3,a1
-        BLT      |L002250.J23.jpeg_find_line|
-|L0022b0.J24.jpeg_find_line|
-        MOV      a1,#8
-|L0022b4.J127.jpeg_find_line|
-        STR      a1,[sp,#8]!
-        B        |L002828.J27.jpeg_find_line|
-|L0022bc.J12.jpeg_find_line|
-        SUB      sp,sp,#&28
-        MOV      v5,#0
-        LDR      a1,[v1,#&cc]
-        LDR      v2,[v1,#&28]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&24]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#&20]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#&1c]
-        LDR      a1,[v1,#&d0]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&18]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#&14]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#&10]
-        LDR      a1,[v1,#&d4]
-        LDR      a2,[a1,#&14]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&64]
-        STR      a2,[sp,#&c]
-        LDR      a2,[a1,#&18]
-        ADD      a2,v1,a2,LSL #2
-        LDR      a2,[a2,#&74]
-        STR      a2,[sp,#8]
-        LDR      a1,[a1,#&10]
-        ADD      a1,v1,a1,LSL #2
-        LDR      a1,[a1,#&54]
-        STR      a1,[sp,#4]
-        LDR      a1,[v1,#&50]
-        LDR      a2,[a1,#&c]
-        STR      a2,[sp,#0]
-        LDR      v3,[a1,#8]!
-        ADD      a1,v5,v3,LSL #3
-        LDR      a2,[v1,#&f8]
-        ADD      a4,v1,#&e8
-        ADD      a3,v1,#&ec
-        CMP      a1,a2
-        STR      a3,[sp,#&50]
-        STR      a4,[sp,#&54]
-        BGT      |L00244c.J29.jpeg_find_line|
-        LDR      a2,[sp,#0]
-        MUL      a1,a2,v3
-        STR      a1,[sp,#&4c]
-|L0023a0.J28.jpeg_find_line|
-        MOV      a4,#0
-        LDR      a1,[sp,#&1c]
-        LDR      a2,[sp,#&5c]
-        LDR      a3,[sp,#&4c]
-        STMDB    sp!,{a1-a4}
-        MOV      a2,v6
-        MOV      a1,v1
-        LDR      a3,[sp,#&34]
-        LDR      a4,[sp,#&30]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        MOV      a4,#1
-        LDR      a2,[sp,#&10]
-        LDR      a3,[sp,#&54]
-        STMDB    sp!,{a2-a4}
-        MOV      a2,v6
-        MOV      a1,v1
-        LDR      a3,[sp,#&24]
-        LDR      a4,[sp,#&20]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        MOV      a4,#1
-        LDR      a2,[sp,#4]
-        LDR      a3,[sp,#&50]
-        STMDB    sp!,{a2-a4}
-        MOV      a2,v6
-        MOV      a1,v1
-        LDR      a3,[sp,#&18]
-        LDR      a4,[sp,#&14]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        ADD      v5,v5,v3,LSL #3
-        LDR      a1,[v1,#&100]
-        TST      a1,#&10
-        ADDNE    v2,v2,v3,LSL #4
-        BNE      |L00243c.J33.jpeg_find_line|
-        TST      a1,#&20
-        ADDEQ    v2,v2,v3,LSL #5
-        ADDNE    v2,v2,v3,LSL #3
-|L00243c.J33.jpeg_find_line|
-        ADD      a2,v5,v3,LSL #3
-        LDR      a1,[v1,#&f8]
-        CMP      a2,a1
-        BLE      |L0023a0.J28.jpeg_find_line|
-|L00244c.J29.jpeg_find_line|
-        LDR      a1,[v1,#&100]
-        TST      a1,#2
-        ADD      a1,v1,#&318
-        ADD      a1,a1,#&400
-        STR      a1,[sp,#&48]
-        MOV      a1,#2
-        ADD      a3,v1,#&218
-        ADD      a3,a3,#&400
-        STR      a3,[sp,#&44]
-        LDR      a2,[v1,#&fc]
-        BEQ      |L002628.J38.jpeg_find_line|
-        CMP      v5,a2
-        BGE      |L002620.J41.jpeg_find_line|
-        LDR      a2,[sp,#0]
-        MUL      a1,a2,v3
-        STR      a1,[sp,#&40]
-|L00248c.J40.jpeg_find_line|
-        SUB      sp,sp,#&10
-        MOV      a4,#0
-        MOV      a3,#1
-        LDR      a1,[sp,#&2c]
-        LDR      a2,[sp,#&6c]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&78]
-        LDR      a3,[sp,#&44]
-        LDR      a4,[sp,#&40]
-        BL       do_huff_skip_blocks
-        ADD      sp,sp,#&10
-        LDR      a2,[v1,#&e4]
-        LDR      a1,[sp,#&2c]
-        LDR      a1,[a1,#0]
-        MUL      a2,a1,a2
-        MOV      v6,#1
-        STR      a2,[sp,#0]
-        LDR      a1,[sp,#&50]
-        CMP      a1,#1
-        BLE      |L002530.J44.jpeg_find_line|
-|L0024e0.J43.jpeg_find_line|
-        MOV      a4,#1
-        LDR      a2,[sp,#&2c]
-        LDR      a3,[sp,#&6c]
-        STMDB    sp!,{a2-a4}
-        ADD      a1,v1,v6,LSL #8
-        ADD      a2,a1,#&218
-        MOV      a1,v1
-        LDR      a3,[sp,#&40]
-        LDR      a4,[sp,#&3c]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        LDR      a2,[v1,#&e4]
-        LDR      a1,[sp,#&2c]
-        LDR      a1,[a1,#0]
-        MUL      a2,a1,a2
-        STR      a2,[sp,v6,LSL #2]
-        ADD      v6,v6,#1
-        LDR      a1,[sp,#&50]
-        CMP      a1,v6
-        BGT      |L0024e0.J43.jpeg_find_line|
-|L002530.J44.jpeg_find_line|
-        MOV      a4,#1
-        LDR      a2,[sp,#&20]
-        LDR      a3,[sp,#&64]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&60]
-        LDR      a3,[sp,#&34]
-        LDR      a4,[sp,#&30]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        MOV      a4,#1
-        LDR      a2,[sp,#&14]
-        LDR      a3,[sp,#&60]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&64]
-        LDR      a3,[sp,#&28]
-        LDR      a4,[sp,#&24]
-        BL       asm_huff_skip_blocks
-        ADD      sp,sp,#&c
-        LDR      a2,[v1,#&e8]
-        LDR      a1,[sp,#&20]
-        LDR      a1,[a1,#0]
-        MUL      a2,a1,a2
-        LDR      a3,[v1,#&ec]
-        LDR      a1,[sp,#&14]
-        LDR      a1,[a1,#0]
-        MUL      a3,a1,a3
-        MOV      a1,sp
-        BL       colour_convert_pixels
-        MOV      v6,#0
-        MOV      a3,#2
-        MOV      a4,#1
-|L0025b4.J47.jpeg_find_line|
-        LDR      a1,[sp,#0]
-        STR      a1,[v2,v6,LSL #2]
-        TEQ      v3,#2
-        ADDEQ    a2,v2,v6,LSL #2
-        LDREQ    a1,[sp,#4]
-        STREQ    a1,[a2,#&20]!
-        LDR      a1,[sp,#&10]
-        TEQ      a1,#2
-        BNE      |L0025fc.J50.jpeg_find_line|
-        CMP      v3,#2
-        MOVNE    a1,a4
-        MOVEQ    a1,a3
-        LDR      a2,[sp,a1,LSL #2]
-        ADD      a1,v4,v6
-        STR      a2,[v2,a1,LSL #2]
-        ADDEQ    a1,v2,a1,LSL #2
-        LDREQ    a2,[sp,#&c]
-        STREQ    a2,[a1,#&20]!
-|L0025fc.J50.jpeg_find_line|
-        ADD      v6,v6,#1
-        CMP      v6,#8
-        BLT      |L0025b4.J47.jpeg_find_line|
-        ADD      v5,v5,v3,LSL #3
-        ADD      v2,v2,v3,LSL #5
-        ADD      sp,sp,#&10
-        LDR      a1,[v1,#&fc]
-        CMP      v5,a1
-        BLT      |L00248c.J40.jpeg_find_line|
-|L002620.J41.jpeg_find_line|
-        LDR      a1,[sp,#0]
-        B        |L002824.J128.jpeg_find_line|
-|L002628.J38.jpeg_find_line|
-        CMP      v5,a2
-        BGE      |L00281c.J61.jpeg_find_line|
-        ADD      a1,v1,#&18
-        ADD      a1,a1,#&400
-        STR      a1,[sp,#&3c]
-        LDR      a2,[sp,#0]
-        MUL      a1,a2,v3
-        STR      a1,[sp,#&38]
-|L002648.J60.jpeg_find_line|
-        MOV      a4,#0
-        LDR      a1,[sp,#&1c]
-        LDR      a2,[sp,#&5c]
-        LDR      a3,[sp,#&38]
-        STMDB    sp!,{a1-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&68]
-        LDR      a3,[sp,#&34]
-        LDR      a4,[sp,#&30]
-        BL       do_huff_decode_blocks
-        ADD      sp,sp,#&10
-        MOV      a4,#1
-        LDR      a2,[sp,#&10]
-        LDR      a3,[sp,#&54]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&50]
-        LDR      a3,[sp,#&24]
-        LDR      a4,[sp,#&20]
-        BL       asm_huff_decode_blocks
-        ADD      sp,sp,#&c
-        MOV      a4,#1
-        LDR      a2,[sp,#4]
-        LDR      a3,[sp,#&50]
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v1
-        LDR      a2,[sp,#&54]
-        LDR      a3,[sp,#&18]
-        LDR      a4,[sp,#&14]
-        BL       asm_huff_decode_blocks
-        ADD      sp,sp,#&c
-        LDR      a1,[v1,#&100]
-        TST      a1,#1
-        BEQ      |L002758.J63.jpeg_find_line|
-        MOV      a1,v1
-        LDR      a2,[sp,#&58]
-        LDR      a3,[sp,#&38]
-        BL       asm_j_rev_dct
-        MOV      a1,v6
-        MOV      a3,v4
-        MOV      a2,v2
-        BL       asm_mono_convert_block
-        TEQ      v3,#2
-        BNE      |L002708.J65.jpeg_find_line|
-        ADD      a2,v2,#&20
-        MOV      a3,v4
-        LDR      a1,[sp,#&58]
-        BL       asm_mono_convert_block
-|L002708.J65.jpeg_find_line|
-        LDR      a1,[sp,#0]
-        TEQ      a1,#2
-        BNE      |L0027f0.J74.jpeg_find_line|
-        ADD      a2,v2,v4,LSL #5
-        TEQ      v3,#1
-        STR      a2,[sp,#&34]
-        MOVNE    a1,#2
-        MOVEQ    a1,#1
-        ADD      a1,v1,a1,LSL #8
-        ADD      a1,a1,#&118
-        MOV      a3,v4
-        BL       asm_mono_convert_block
-        TEQ      v3,#2
-        BNE      |L0027f0.J74.jpeg_find_line|
-        LDR      a1,[sp,#&34]
-        ADD      a2,a1,#&20
-        MOV      a3,v4
-        LDR      a1,[sp,#&3c]
-        BL       asm_mono_convert_block
-        B        |L0027f0.J74.jpeg_find_line|
-|L002758.J63.jpeg_find_line|
-        LDR      a1,[sp,#&38]
-        TEQ      a1,#4
-        BNE      |L0027b0.J75.jpeg_find_line|
-        MOV      a1,v1
-        MOV      a3,#6
-        LDR      a2,[sp,#&58]
-        BL       asm_j_rev_dct
-        LDR      a1,[v1,#&100]
-        TST      a1,#&10
-        BEQ      |L002794.J77.jpeg_find_line|
-        MOV      a1,v6
-        MOV      a3,v4
-        MOV      a2,v2
-        BL       asm_colour_convert_block_16
-        B        |L0027f0.J74.jpeg_find_line|
-|L002794.J77.jpeg_find_line|
-        TST      a1,#&20
-        MOV      a1,v6
-        MOV      a3,v4
-        MOV      a2,v2
-        BLEQ     asm_colour_convert_block
-        BLNE     asm_colour_convert_block_8
-        B        |L0027f0.J74.jpeg_find_line|
-|L0027b0.J75.jpeg_find_line|
-        MOV      a1,v1
-        LDR      a2,[sp,#&58]
-        LDR      a3,[sp,#&38]
-        BL       asm_j_rev_dct
-        MOV      a1,v1
-        MOV      a3,#2
-        LDR      a2,[sp,#&44]
-        BL       asm_j_rev_dct
-        LDR      a4,[sp,#0]
-        STMDB    sp!,{a4}
-        MOV      a1,v6
-        MOV      a4,v3
-        MOV      a3,v4
-        MOV      a2,v2
-        BL       colour_convert_unusual_block
-        ADD      sp,sp,#4
-|L0027f0.J74.jpeg_find_line|
-        ADD      v5,v5,v3,LSL #3
-        LDR      a1,[v1,#&100]
-        TST      a1,#&10
-        ADDNE    v2,v2,v3,LSL #4
-        BNE      |L002810.J86.jpeg_find_line|
-        TST      a1,#&20
-        ADDEQ    v2,v2,v3,LSL #5
-        ADDNE    v2,v2,v3,LSL #3
-|L002810.J86.jpeg_find_line|
-        LDR      a1,[v1,#&fc]
-        CMP      v5,a1
-        BLT      |L002648.J60.jpeg_find_line|
-|L00281c.J61.jpeg_find_line|
-        LDR      a1,[sp,#0]
-        MOV      a1,a1,LSL #3
-|L002824.J128.jpeg_find_line|
-        STR      a1,[sp,#&28]!
-|L002828.J27.jpeg_find_line|
-        LDR      a1,[v1,#&100]
-        TST      a1,#8
-        BEQ      |L0028f4.J91.jpeg_find_line|
-        LDR      a1,[v1,#&20]
-        TEQ      a1,#0
-        BNE      |L002860.J93.jpeg_find_line|
-        LDR      a1,[v1,#&24]
-        TEQ      a1,#0
-        BNE      |L002860.J93.jpeg_find_line|
-        BL       asm_get_table32k
-        STR      a1,[v1,#&20]
-        TEQ      a1,#0
-        MOVEQ    a1,#1
-        STREQ    a1,[v1,#&24]
-|L002860.J93.jpeg_find_line|
-        LDR      a1,[v1,#&f8]
-        MOV      a2,a1
-        LDR      a4,[v1,#&28]
-        ADD      v3,a4,a1,LSL #2
-        LDR      a3,[v1,#&fc]
-        SUB      a3,a3,a1
-        ADD      v6,a4,a1
-        ADD      a3,a3,#&f
-        BIC      v2,a3,#&f
-        LDR      a3,[v1,#&14]
-        SUB      a1,a3,a1
-        CMP      a1,v2
-        MOVLT    v2,a1
-        LDR      a1,[v1,#&100]
-        TST      a1,#4
-        ADDNE    v3,v3,a2,LSL #2
-        MOVNE    v2,v2,LSL #1
-        CMP      v2,#0
-        BLE      |L0028f4.J91.jpeg_find_line|
-|L0028ac.J102.jpeg_find_line|
-        CMP      v2,#&20
-        MOVLT    v5,v2
-        MOVGE    v5,#&10
-        MOV      a3,v4
-        LDR      a4,[fp,#-&28]
-        LDR      a2,[sp,#0]
-        STMDB    sp!,{a2-a4}
-        MOV      a3,v6
-        MOV      a2,v5
-        MOV      a1,v3
-        LDR      a4,[v1,#&20]
-        BL       asm_diffuse_to_8bpp
-        ADD      sp,sp,#&c
-        ADD      v3,v3,v5,LSL #2
-        ADD      v6,v6,v5
-        SUB      v2,v2,v5
-        CMP      v2,#0
-        BGT      |L0028ac.J102.jpeg_find_line|
-|L0028f4.J91.jpeg_find_line|
-        LDR      a1,[sp,#8]
-        ADD      sp,sp,#4
-        STR      a1,[v1,#&f4]
-|L002900.J8.jpeg_find_line|
-        LDR      a1,[v1,#&28]!
-        LDR      a2,[v1,#&d8]!
-        TST      a2,#2
-        LDR      a2,[sp,#0]
-        BEQ      |L002930.J109.jpeg_find_line|
-        TEQ      a2,#4
-        BNE      |L00294c.J129.jpeg_find_line|
-        LDR      a2,[fp,#-&2c]
-        AND      a2,a2,#&f
-        CMP      a2,#8
-        ADDGE    a1,a1,v4,LSL #2
-        B        |L00294c.J129.jpeg_find_line|
-|L002930.J109.jpeg_find_line|
-        MOV      a3,#1
-        MOV      a2,a3,LSL a2
-        SUB      a2,a2,#1
-        LDR      a3,[fp,#-&2c]
-        AND      a2,a2,a3
-        MUL      a2,v4,a2
-        ADD      a1,a1,a2,LSL #2
-|L00294c.J129.jpeg_find_line|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-looks_like_jpeg
-        LDR      a2,[a1,#0]
-        ADD      ip,a2,#&1f000000
-        ADD      ip,ip,#&2700
-        CMN      ip,#1
-        BNE      |L002994.J5.looks_like_jpeg|
-        LDRB     a2,[a1,#6]
-        TEQ      a2,#&4a
-        LDREQB   a2,[a1,#7]
-        TEQEQ    a2,#&46
-        LDREQB   a2,[a1,#8]
-        TEQEQ    a2,#&49
-        LDREQB   a2,[a1,#9]
-        TEQEQ    a2,#&46
-        LDREQB   a1,[a1,#&a]
-        TEQEQ    a1,#0
-        MOVEQ    a1,#1
-        MOVEQS   pc,lr
-|L002994.J5.looks_like_jpeg|
-        MOV      a1,#0
-        MOVS     pc,lr
-
-        IMPORT  _swix
-find_image_dims
-        MOV      ip,sp
-        STMDB    sp!,{a1-a4}
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#&14
-        MOV      v4,a1
-        SUB      sp,sp,#&14
-        SUB      sp,sp,#&400
-        MOV      a1,#0
-        LDR      v1,[fp,#&1c]
-        LDR      v3,[fp,#&18]
-        MOV      v2,#0
-        STR      a1,[sp,#&40c]
-        AND      a1,v3,#3
-        TEQ      a1,#1
-        BNE      |L002a60.J6.find_image_dims|
-        MOV      v2,#1
-        ADD      a4,sp,#8
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a3,#&4f
-        MOV      a2,#&80000003
-        MOV      a1,#&d
-        BL       _swix
-        ADD      sp,sp,#4
-        MOVS     a2,a1
-        BEQ      |L002a0c.J8.find_image_dims|
-|L002a04.J9.find_image_dims|
-        STR      a2,[v1,#0]
-        B        |L002dec.J95.find_image_dims|
-|L002a0c.J8.find_image_dims|
-        ADD      v4,sp,#&c
-        ADD      a4,sp,#4
-        MOV      a3,#&400
-        MOV      a2,v4
-        STMDB    sp!,{a2-a4}
-        MOV      a3,#4
-        MOV      a2,#&2000000f
-        MOV      a1,#&c
-        LDR      a4,[sp,#&14]
-        BL       _swix
-        ADD      sp,sp,#&c
-        MOVS     v5,a1
-        BEQ      |L002a60.J6.find_image_dims|
-        MOV      a3,#0
-        MOV      a2,#3
-        MOV      a1,#&d
-        LDR      a4,[sp,#8]
-        BL       _swix
-        STR      v5,[v1,#0]
-        MOV      a1,v5
-        B        |L002dec.J95.find_image_dims|
-|L002a60.J6.find_image_dims|
-        MOV      a1,v4
-        BL       looks_like_jpeg
-        TEQ      a1,#0
-        BNE      |L002a9c.J12.find_image_dims|
-        TEQ      v2,#0
-        BEQ      |L002a94.J14.find_image_dims|
-        MOV      a3,#0
-        MOV      a2,#3
-        MOV      a1,#&d
-        LDR      a4,[sp,#8]
-        BL       _swix
-        MOVS     a2,a1
-        BNE      |L002a04.J9.find_image_dims|
-|L002a94.J14.find_image_dims|
-        MOV      a1,#1
-        B        |L002dec.J95.find_image_dims|
-|L002a9c.J12.find_image_dims|
-        LDRB     a1,[v4,#&d]
-        TEQ      a1,#1
-        BNE      |L002acc.J18.find_image_dims|
-        LDRB     a1,[v4,#&e]
-        MOV      a1,a1,LSL #24
-        LDRB     a2,[v4,#&f]
-        ADD      a1,a1,a2,LSL #16
-        LDRB     a2,[v4,#&10]
-        ADD      a1,a1,a2,LSL #8
-        LDRB     a2,[v4,#&11]
-        ADD      a1,a1,a2
-        B        |L002b40.J92.find_image_dims|
-|L002acc.J18.find_image_dims|
-        TEQ      a1,#2
-        BNE      |L002b48.J21.find_image_dims|
-        LDRB     a1,[v4,#&e]
-        RSB      a2,a1,a1,LSL #7
-        MOV      a2,a2,LSL #1
-        MOV      a1,#&64
-        BL       |__rt_sdiv|
-        MOV      v5,a1
-        LDRB     a1,[v4,#&f]
-        RSB      a2,a1,a1,LSL #7
-        MOV      a2,a2,LSL #1
-        MOV      a1,#&64
-        BL       |__rt_sdiv|
-        ADD      a1,a1,#&18
-        MOV      v5,v5,LSL a1
-        LDRB     a1,[v4,#&10]
-        RSB      a2,a1,a1,LSL #7
-        MOV      a2,a2,LSL #1
-        MOV      a1,#&64
-        BL       |__rt_sdiv|
-        ADD      a1,a1,#&10
-        MOV      v5,v5,LSL a1
-        LDRB     a1,[v4,#&11]
-        RSB      a2,a1,a1,LSL #7
-        MOV      a2,a2,LSL #1
-        MOV      a1,#&64
-        BL       |__rt_sdiv|
-        ADD      a1,a1,#8
-        MOV      a1,v5,LSL a1
-|L002b40.J92.find_image_dims|
-        STR      a1,[sp,#0]
-        B        |L002b8c.J20.find_image_dims|
-|L002b48.J21.find_image_dims|
-        LDRB     a1,[v4,#&f]
-        LDRB     a2,[v4,#&e]
-        ADDS     a1,a1,a2,LSL #8
-        MOVEQ    a1,#1
-        LDRB     a2,[v4,#&11]
-        LDRB     a3,[v4,#&10]
-        ADD      a2,a2,a3,LSL #8
-        BL       |__rt_sdiv|
-        TEQ      a1,#0
-        RSBNE    a1,a1,a1,LSL #4
-        ADDNE    a1,a1,a1,LSL #1
-        MOVNE    a1,a1,LSL #1
-        MOVEQ    a1,#&5a
-        ORR      a1,a1,#&5a0000
-        STR      a1,[sp,#0]
-        MOV      a1,#&100
-        STR      a1,[sp,#&40c]
-|L002b8c.J20.find_image_dims|
-        ADD      v4,v4,#2
-|L002b90.J88.find_image_dims|
-        LDR      a1,[sp,#4]
-        B        |L002c60.J30.find_image_dims|
-|L002b98.J29.find_image_dims|
-        LDRB     a2,[v4,#3]
-        LDRB     a3,[v4,#2]
-        ADD      a2,a2,a3,LSL #8
-        ADD      a2,a2,v4
-        ADD      v4,a2,#2
-        TEQ      v2,#0
-        BEQ      |L002c60.J30.find_image_dims|
-        CMP      v4,a1
-        BLT      |L002c60.J30.find_image_dims|
-        SUB      v5,v4,a1
-        ADD      v4,sp,#&c
-        ADD      a4,sp,#4
-        MOV      a3,#&400
-        MOV      a2,v4
-        STMDB    sp!,{a2-a4}
-        MOV      a3,#4
-        MOV      a2,#&2000000f
-        MOV      a1,#&c
-        LDR      a4,[sp,#&14]
-        BL       _swix
-        ADD      sp,sp,#&c
-        MOVS     v6,a1
-        BEQ      |L002c14.J35.find_image_dims|
-|L002bf4.J36.find_image_dims|
-        MOV      a3,#0
-        MOV      a2,#3
-        MOV      a1,#&d
-        LDR      a4,[sp,#8]
-        BL       _swix
-        STR      v6,[v1,#0]
-        MOV      a1,v6
-        B        |L002dec.J95.find_image_dims|
-|L002c14.J35.find_image_dims|
-        CMP      v5,#&400
-        BLE      |L002c58.J38.find_image_dims|
-|L002c1c.J37.find_image_dims|
-        ADD      a4,sp,#4
-        MOV      a3,#&400
-        MOV      a2,v4
-        STMDB    sp!,{a2-a4}
-        MOV      a3,#4
-        MOV      a2,#&2000000f
-        MOV      a1,#&c
-        LDR      a4,[sp,#&14]
-        BL       _swix
-        ADD      sp,sp,#&c
-        MOVS     v6,a1
-        BNE      |L002bf4.J36.find_image_dims|
-        SUB      v5,v5,#&400
-        CMP      v5,#&400
-        BGT      |L002c1c.J37.find_image_dims|
-|L002c58.J38.find_image_dims|
-        ADD      v4,v4,v5
-        B        |L002b90.J88.find_image_dims|
-|L002c60.J30.find_image_dims|
-        LDRB     a2,[v4,#0]
-        TEQ      a2,#&ff
-        BNE      |L002c84.J43.find_image_dims|
-        LDRB     a2,[v4,#1]
-        TEQ      a2,#&c0
-        TEQNE    a2,#&c1
-        TEQNE    a2,#&c9
-        BNE      |L002b98.J29.find_image_dims|
-        B        |L002c98.J49.find_image_dims|
-|L002c84.J43.find_image_dims|
-        LDRB     a1,[v4,#1]
-        TEQ      a1,#&c0
-        TEQNE    a1,#&c1
-        TEQNE    a1,#&c9
-        BNE      |L002a94.J14.find_image_dims|
-|L002c98.J49.find_image_dims|
-        LDRB     a1,[v4,#6]
-        LDRB     a2,[v4,#5]
-        ADD      v5,a1,a2,LSL #8
-        LDRB     a1,[v4,#8]
-        LDRB     a2,[v4,#7]
-        ADD      a1,a1,a2,LSL #8
-        STR      a1,[sp,#&410]
-        LDRB     a1,[v4,#9]
-        LDR      a2,[sp,#&40c]
-        ORR      v6,a1,a2
-        CMP      v3,#3
-        BLE      |L002d78.J54.find_image_dims|
-        SUB      sp,sp,#8
-        BIC      v3,v3,#3
-        LDR      a1,[v3,#0]
-        CMP      v6,#1
-        STR      a1,[sp,#4]
-        MOVNE    a1,#&10
-        MOVEQ    a1,#8
-        LDR      a2,[sp,#&418]
-        ADD      a2,a2,#&f
-        MUL      a1,a2,a1
-        MOV      a2,a1,LSL #2
-        BNE      |L002d08.J60.find_image_dims|
-        ADDS     a1,v5,#7
-        ADDMI    a1,a1,#7
-        MOV      a1,a1,ASR #3
-        B        |L002d0c.J59.find_image_dims|
-|L002d08.J60.find_image_dims|
-        MOV      a1,v5
-|L002d0c.J59.find_image_dims|
-        ADD      a1,a1,a1,LSL #2
-        ADD      a1,a2,a1,LSL #2
-        ADD      a1,a1,#&ff
-        ADD      a1,a1,#&3d00
-        BIC      v4,a1,#3
-        MOV      a3,sp
-        MOV      a2,#&80000000
-        MOV      a1,#&51
-        BL       _swix
-        LDR      a1,[sp,#4]
-        TEQ      a1,#0
-        LDREQ    a1,[sp,#0]
-        ADDEQ    a2,v4,a1
-        BEQ      |L002d64.J93.find_image_dims|
-        LDR      a1,[sp,#4]
-        LDR      a1,[a1,#&10]
-        CMP      a1,v4
-        MOVGE    a1,#0
-        BGE      |L002d70.J66.find_image_dims|
-        SUB      a2,v4,a1
-        LDR      a1,[sp,#0]
-        ADD      a2,a2,a1
-|L002d64.J93.find_image_dims|
-        SUB      a2,a2,#1
-        SUB      a1,a1,#1
-        BIC      a1,a2,a1
-|L002d70.J66.find_image_dims|
-        ADD      sp,sp,#8
-        STR      a1,[v3,#0]
-|L002d78.J54.find_image_dims|
-        LDR      a1,[fp,#&c]
-        TEQ      a1,#0
-        LDRNE    a1,[fp,#&c]
-        STRNE    v5,[a1,#0]
-        LDR      a1,[fp,#8]
-        TEQ      a1,#0
-        LDRNE    a1,[sp,#&410]
-        LDRNE    a2,[fp,#8]
-        STRNE    a1,[a2,#0]
-        LDR      a1,[fp,#&10]
-        TEQ      a1,#0
-        MOVNE    a1,v6
-        LDRNE    a2,[fp,#&10]
-        STRNE    a1,[a2,#0]
-        LDR      a1,[fp,#&14]
-        CMP      a1,#0
-        LDRNE    a1,[sp,#0]
-        LDRNE    a2,[fp,#&14]
-        STRNE    a1,[a2,#0]
-        TEQ      v2,#0
-        BEQ      |L002de8.J80.find_image_dims|
-        MOV      a3,#0
-        MOV      a2,#3
-        MOV      a1,#&d
-        LDR      a4,[sp,#8]
-        BL       _swix
-        MOVS     a2,a1
-        BNE      |L002a04.J9.find_image_dims|
-|L002de8.J80.find_image_dims|
-        MOV      a1,#0
-|L002dec.J95.find_image_dims|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-check_sprite_area
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        SUB      sp,sp,#&10
-        LDMIA    a1,{a2,a3}
-        STR      a3,[sp,#8]
-        ADD      a4,a1,#8
-        LDMIA    a4,{a3,a4}
-        CMP      a3,a4
-        CMPLE    a4,a2
-        MOVGT    a1,#1
-        BGT      |L002fc0.J55.check_sprite_area|
-        ADD      v1,a1,a3
-        MOV      a3,#0
-        STR      a3,[sp,#4]
-        LDR      a3,[sp,#8]
-        CMP      a3,#0
-        BLE      |L002fbc.J9.check_sprite_area|
-        ADD      v5,a1,a2
-|L002e3c.J8.check_sprite_area|
-        ADD      a2,v1,#&18
-        LDMIA    a2,{a1,a2}
-        LDR      a4,[v1,#&14]
-        LDR      v3,[v1,#0]
-        LDR      v6,[v1,#&10]
-        STR      a2,[sp,#-4]!
-        LDR      a3,[v1,#&28]
-        LDR      v2,[v1,#&24]
-        LDR      v4,[v1,#&20]
-        ADD      a2,v3,v1
-        CMP      a2,v5
-        CMPLE    a1,#&1f
-        LDRLE    a2,[sp,#0]
-        CMPLE    a2,#&1f
-        ADDLE    a2,v4,v1
-        CMPLE    a2,v5
-        ADDLE    a2,v2,v1
-        CMPLE    a2,v5
-        BGT      |L002fa0.J50.check_sprite_area|
-        MOV      a2,#0
-        CMP      a2,a3,ASR #24
-        BGE      |L002e9c.J21.check_sprite_area|
-        TEQ      a1,#0
-        BNE      |L002fa0.J50.check_sprite_area|
-|L002e9c.J21.check_sprite_area|
-        TEQ      v4,v2
-        BEQ      |L002f54.J25.check_sprite_area|
-        ADD      a1,v6,#1
-        ADD      a4,a4,#1
-        STR      a4,[sp,#&10]
-        MUL      a1,a4,a1
-        ADD      a4,v4,a1,LSL #2
-        CMP      a4,v2
-        BGT      |L002fa0.J50.check_sprite_area|
-        TEQ      a2,a3,ASR #24
-        BNE      |L002ee8.J29.check_sprite_area|
-        ADD      a1,v2,a1,LSL #2
-        CMP      a1,v3
-        BGT      |L002fa0.J50.check_sprite_area|
-        SUB      a1,v3,v2
-        SUB      a2,v2,v4
-        TEQ      a1,a2
-        BNE      |L002fa0.J50.check_sprite_area|
-        B        |L002f6c.J43.check_sprite_area|
-|L002ee8.J29.check_sprite_area|
-        CMP      a3,#&ff
-        BLE      |L002ef8.J36.check_sprite_area|
-        TST      a3,#1
-        BEQ      |L002fa0.J50.check_sprite_area|
-|L002ef8.J36.check_sprite_area|
-        ADD      a4,sp,#4
-        STMDB    sp!,{a4}
-        MOV      a4,#9
-        MOV      a2,#&20000003
-        MOV      a1,#&35
-        BL       _swix
-        ADD      sp,sp,#4
-        TEQ      a1,#0
-        BNE      |L002fa0.J50.check_sprite_area|
-        LDR      a1,[sp,#4]
-        RSB      a2,a1,#5
-        MOV      a2,v6,LSL a2
-        LDR      a3,[sp,#0]
-        ADD      a3,a3,#1
-        ADD      a1,a2,a3,ASR a1
-        ADD      a1,a1,#&1f
-        BIC      a1,a1,#&1f
-        MOV      a1,a1,LSR #3
-        LDR      a2,[sp,#&10]
-        MLA      a1,a2,a1,v2
-        TEQ      a1,v3
-        BNE      |L002fa0.J50.check_sprite_area|
-        B        |L002f6c.J43.check_sprite_area|
-|L002f54.J25.check_sprite_area|
-        ADD      a1,v6,#1
-        ADD      a2,a4,#1
-        MUL      a1,a2,a1
-        ADD      a1,v4,a1,LSL #2
-        CMP      a1,v3
-        BGT      |L002fa0.J50.check_sprite_area|
-|L002f6c.J43.check_sprite_area|
-        ORR      a1,v3,v4
-        ORR      a1,a1,v2
-        TST      a1,#3
-        BNE      |L002fa0.J50.check_sprite_area|
-        ADD      v1,v1,v3
-        LDR      a1,[sp,#8]
-        ADD      a1,a1,#1
-        LDR      a2,[sp,#&c]
-        CMP      a1,a2
-        BGE      |L002fa8.J48.check_sprite_area|
-        ADD      a2,v1,#&2c
-        CMP      a2,v5
-        BLE      |L002fa8.J48.check_sprite_area|
-|L002fa0.J50.check_sprite_area|
-        MOV      a1,#1
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L002fa8.J48.check_sprite_area|
-        ADD      sp,sp,#4
-        STR      a1,[sp,#4]
-        LDR      a2,[sp,#8]
-        CMP      a1,a2
-        BLT      |L002e3c.J8.check_sprite_area|
-|L002fbc.J9.check_sprite_area|
-        MOV      a1,#0
-|L002fc0.J55.check_sprite_area|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-rr
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        CMN      a1,#1
-        MOVEQ    a2,#4
-        MOVEQ    a1,#&bd
-        ADDEQ    a1,a1,#&200
-        BLEQ     exit_c
-        MOV      a1,v1
-        LDMDB    fp,{v1,fp,sp,pc}^
-
-check_workspace
-        MOV      ip,sp
-        STMDB    sp!,{v1,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOVS     v1,a1
-        MOVEQ    a2,#1
-        MOVEQ    a1,#&2fc
-        BLEQ     exit_c
-        LDR      a3,[v1,#0]
-        LDR      a2,[pc, #L003074-.-8]
-        ADD      a1,v1,#&2000
-        TEQ      a3,a2
-        BEQ      |L003054.J6.check_workspace|
-        STR      a2,[v1,#0]
-        MOV      a3,#0
-        STR      a2,[a1,#&2ec]
-        STR      a3,[v1,#8]
-        ADD      a3,v1,#&22c
-        ADD      a4,v1,#&2ec
-        ADD      a4,a4,#&2000
-        MVN      ip,#0
-        CMP      a4,a3
-        BLS      |L003054.J6.check_workspace|
-|L003048.J8.check_workspace|
-        STR      ip,[a3],#&418
-        CMP      a4,a3
-        BHI      |L003048.J8.check_workspace|
-|L003054.J6.check_workspace|
-        LDR      a1,[a1,#&2ec]
-        TEQ      a1,a2
-        MOVNE    a2,#4
-        MOVNE    a1,#&67
-        ADDNE    a1,a1,#&300
-        LDMNEDB  fp,{v1,fp,sp,lr}
-        BNE      exit_c
-        LDMDB    fp,{v1,fp,sp,pc}^
-L003074
-        DCD     &075bcd15
-
-compile_word
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        LDR      a1,[a1,#&10]
-        LDR      a2,[v1,#&14]
-        CMP      a1,a2
-        MOVCS    a2,#1
-        MOVCS    a1,#&2e
-        ADDCS    a1,a1,#&400
-        BLCS     exit_c
-        LDR      a1,[v1,#&10]
-        STR      v2,[a1],#4
-        STR      a1,[v1,#&10]!
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-do_ins
-        AND      a3,a2,#&f0000000
-        TEQ      a3,#&f0000000
-        BICEQ    a2,a2,#&f0000000
-        BEQ      |L0030d0.J6.do_ins|
-        TEQ      a3,#0
-        ORREQ    a2,a2,#&e0000000
-|L0030d0.J6.do_ins|
-        B        compile_word
-
-define_label
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a2,#0]
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&5f
-        ADDNE    a1,a1,#&400
-        BLNE     exit_c
-        LDR      a2,[v2,#&10]!
-        STR      a2,[v1,#0]
-        LDR      a1,[v1,#4]
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1,v2,fp,sp,pc}^
-        ADD      a3,a1,#8
-        SUBS     a2,a2,a3
-        ADDMI    a2,a2,#3
-        MOV      a2,a2,ASR #2
-        BIC      a2,a2,#&ff000000
-        LDR      a3,[a1,#0]
-        ORR      a2,a2,a3
-        STR      a2,[a1,#0]
-        MOV      a1,#0
-        STR      a1,[v1,#4]!
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-do_branch
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v3,a2
-        MOV      v1,a3
-        LDR      a1,[a3,#0]
-        TEQ      a1,#0
-        LDR      a1,[a3,#4]
-        BNE      |L003194.J4.do_branch|
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&7e
-        ADDNE    a1,a1,#&400
-        BLNE     exit_c
-        LDR      a1,[v2,#&10]
-        MOV      a2,v3
-        STR      a1,[v1,#4]!
-        MOV      a1,v2
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L003194.J4.do_branch|
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&84
-        ADDNE    a1,a1,#&400
-        BLNE     exit_c
-        LDR      a1,[v2,#&10]
-        ADD      a1,a1,#8
-        LDR      a2,[v1,#0]
-        SUBS     a1,a2,a1
-        ADDMI    a1,a1,#3
-        MOV      a1,a1,ASR #2
-        BIC      a1,a1,#&ff000000
-        ORR      a2,a1,v3
-        MOV      a1,v2
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-do_set_regname
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v3,a2
-        MOV      v1,a3
-        CMN      a3,#1
-        BNE      |L003240.J4.do_set_regname|
-        LDR      a1,[v2,#&1e0]
-        MOVS     v1,a1
-        ADD      a1,a1,#1
-        STR      a1,[v2,#&1e0]
-        BMI      |L003210.J7.do_set_regname|
-        CMP      v1,#&c
-        BLE      |L003220.J6.do_set_regname|
-|L003210.J7.do_set_regname|
-        MOV      a2,#4
-        MOV      a1,#&97
-        ADD      a1,a1,#&400
-        BL       exit_c
-|L003220.J6.do_set_regname|
-        TEQ      v1,#&c
-        BNE      |L003240.J4.do_set_regname|
-        LDR      a1,[v2,#&1e4]!
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&98
-        ADDNE    a1,a1,#&400
-        BLNE     exit_c
-|L003240.J4.do_set_regname|
-        STR      v1,[v3,#0]
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-compile_buffer_init
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        LDR      a1,[a2,#8]
-        ADD      ip,a1,a1,LSL #1
-        ADD      a1,ip,a1,LSL #7
-        ADD      a1,a2,a1,LSL #3
-        ADD      a1,a1,#&244
-        STR      a1,[a2,#&c]
-        STR      a1,[a2,#&10]
-        LDR      a1,[a2,#&c]
-        ADD      a1,a1,#&400
-        STR      a1,[a2,#&14]
-        ADD      a1,a2,#&18
-        ADD      a2,v1,#&150
-        MOV      v3,#0
-        CMP      a2,a1
-        BCC      |L0032a8.J5.compile_buffer_init|
-|L003294.J4.compile_buffer_init|
-        STR      v3,[a1,#0]
-        STR      v3,[a1,#4]!
-        ADD      a1,a1,#4
-        CMP      a2,a1
-        BCS      |L003294.J4.compile_buffer_init|
-|L0032a8.J5.compile_buffer_init|
-        ADD      a1,v1,#&158
-        ADD      v2,v1,#&1dc
-        MVN      a2,#0
-        CMP      v2,a1
-        BCC      |L0032c8.J9.compile_buffer_init|
-|L0032bc.J8.compile_buffer_init|
-        STR      a2,[a1],#4
-        CMP      v2,a1
-        BCS      |L0032bc.J8.compile_buffer_init|
-|L0032c8.J9.compile_buffer_init|
-        STR      v3,[v1,#&1e0]
-        ADD      a2,v1,#&1c4
-        MOV      a1,v1
-        MOV      a3,#1
-        BL       do_set_regname
-        ADD      a2,v1,#&1c8
-        MOV      a1,v1
-        MOV      a3,#2
-        BL       do_set_regname
-        ADD      a2,v1,#&1cc
-        MOV      a1,v1
-        MOV      a3,#3
-        BL       do_set_regname
-        ADD      a2,v1,#&1d0
-        MOV      a1,v1
-        MOV      a3,#&c
-        BL       do_set_regname
-        ADD      a2,v1,#&1d4
-        MOV      a1,v1
-        MOV      a3,#&d
-        BL       do_set_regname
-        ADD      a2,v1,#&1d8
-        MOV      a1,v1
-        MOV      a3,#&e
-        BL       do_set_regname
-        MOV      a2,v2
-        MOV      a1,v1
-        MOV      a3,#&f
-        BL       do_set_regname
-        STR      v3,[v1,#&1e4]!
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-compile_buffer_done
-        LDR      a2,[a1,#8]
-        ADD      a2,a2,#1
-        STR      a2,[a1,#8]
-        CMP      a2,#8
-        MOVGE    a2,#0
-        STRGE    a2,[a1,#8]!
-        MOVS     pc,lr
-
-simple_x_scale
-        ADD      ip,a1,#&40
-        LDMIA    ip,{a3,ip}
-        MOV      a4,a3
-        SUB      ip,ip,a3
-        TEQ      ip,a3
-        BNE      |L0033ac.J5.simple_x_scale|
-        LDR      a3,[a1,#&30]
-        CMP      a4,a3
-        BGT      |L0033ac.J5.simple_x_scale|
-        LDR      a1,[a1,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L0033ac.J5.simple_x_scale|
-        LDR      a1,[a2,#&1e8]
-        TEQ      a1,#0
-        LDREQ    a1,[a2,#&1f4]!
-        TEQEQ    a1,#0
-        MOVEQ    a1,#1
-        MOVEQS   pc,lr
-|L0033ac.J5.simple_x_scale|
-        MOV      a1,#0
-        MOVS     pc,lr
-
-x_block_move
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        BL       simple_x_scale
-        TEQ      a1,#0
-        BEQ      |L00341c.J5.x_block_move|
-        MOV      a1,#1
-        LDR      a2,[v1,#&78]
-        MOV      a2,a1,LSL a2
-        LDR      a1,[v1,#&100]
-        TEQ      a2,a1
-        LDREQ    a1,[v2,#&1e8]
-        TEQEQ    a1,#0
-        LDREQ    a1,[v2,#&1ec]!
-        TEQEQ    a1,#0
-        LDREQ    a1,[v1,#&b4]
-        TEQEQ    a1,#0
-        LDREQ    a1,[v1,#&f8]
-        TEQEQ    a1,#0
-        BNE      |L00341c.J5.x_block_move|
-        LDR      a1,[v1,#&10c]!
-        TEQ      a1,#0
-        MOVEQ    a1,#1
-        LDMEQDB  fp,{v1,v2,fp,sp,pc}^
-|L00341c.J5.x_block_move|
-        MOV      a1,#0
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-simple_y_scale
-        ADD      a2,a1,#&10
-        LDMIA    a2,{a1,a2}
-        TEQ      a2,a1
-        MOVNE    a1,#0
-        MOVEQ    a1,#1
-        MOVS     pc,lr
-
-ptrs_rn
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        ADD      a2,a2,#&158
-        MOV      a1,v1
-        MOV      a3,#&e
-        BL       do_set_regname
-        ADD      a2,v1,#&15c
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        ADD      a2,v1,#&198
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L00349c.J5.ptrs_rn|
-        LDR      a1,[v2,#&f4]!
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L0034ac.J4.ptrs_rn|
-|L00349c.J5.ptrs_rn|
-        ADD      a2,v1,#&168
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L0034ac.J4.ptrs_rn|
-        LDR      a1,[v1,#&1f4]
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1,v2,fp,sp,pc}^
-        ADD      a2,v1,#&184
-        MOV      a1,v1
-        MVN      a3,#0
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_set_regname
-
-xloop_rn
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        MOV      v3,#0
-        BL       x_block_move
-        ADD      a2,v1,#&160
-        ADD      v6,v1,#&1a0
-        ADD      v5,v1,#&1a8
-        TEQ      a1,#0
-        BEQ      |L0035b8.J4.xloop_rn|
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        MOV      a2,v6
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        MOV      a2,v5
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        ADD      a2,v1,#&188
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        LDR      a1,[v1,#&15c]
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&f5
-        ADDNE    a1,a1,#&500
-        BLNE     exit_c
-        LDR      a1,[v1,#&198]
-        TEQ      a1,#1
-        MOVNE    a2,#4
-        MOVNE    a1,#&f6
-        ADDNE    a1,a1,#&500
-        BLNE     exit_c
-        LDR      a1,[v1,#&160]
-        TEQ      a1,#2
-        MOVNE    a2,#4
-        MOVNE    a1,#&f7
-        ADDNE    a1,a1,#&500
-        BLNE     exit_c
-        LDR      a1,[v1,#&1a0]
-        TEQ      a1,#3
-        MOVNE    a2,#4
-        MOVNE    a1,#&1f8
-        ADDNE    a1,a1,#&400
-        BLNE     exit_c
-        LDR      a1,[v1,#&1a8]!
-        TEQ      a1,#4
-        MOVNE    a2,#4
-        MOVNE    a1,#&f9
-        ADDNE    a1,a1,#&500
-        LDMNEDB  fp,{v1-v6,fp,sp,lr}
-        BNE      exit_c
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L0035b8.J4.xloop_rn|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        ADD      v4,v1,#&164
-        TEQ      a1,#&32
-        BNE      |L0035e0.J17.xloop_rn|
-|L0035cc.J18.xloop_rn|
-        MOV      a2,v4
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        B        |L0035f8.J19.xloop_rn|
-|L0035e0.J17.xloop_rn|
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#5
-        MOVNE    a1,v1
-        MVNNE    a3,#0
-        BLNE     do_set_regname
-        BNE      |L0035cc.J18.xloop_rn|
-|L0035f8.J19.xloop_rn|
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L003644.J30.xloop_rn|
-        ADD      a2,v1,#&16c
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L003634.J25.xloop_rn|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        ADDNE    a2,v1,#&174
-        BNE      |L003638.J67.xloop_rn|
-|L003634.J25.xloop_rn|
-        ADD      a2,v1,#&170
-|L003638.J67.xloop_rn|
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L003644.J30.xloop_rn|
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#0
-        BEQ      |L00365c.J29.xloop_rn|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        MOVEQ    v3,#1
-|L00365c.J29.xloop_rn|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L003690.J33.xloop_rn|
-        ADD      a2,v1,#&18c
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        ADD      a2,v1,#&190
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        B        |L003734.J35.xloop_rn|
-|L003690.J33.xloop_rn|
-        LDR      a1,[v2,#&b4]
-        TEQ      a1,#0
-        LDREQ    a1,[v2,#&f8]
-        TEQEQ    a1,#0
-        BNE      |L0036b0.J37.xloop_rn|
-        LDR      a1,[v2,#&10c]
-        TEQ      a1,#0
-        BEQ      |L0036c0.J36.xloop_rn|
-|L0036b0.J37.xloop_rn|
-        ADD      a2,v1,#&1a4
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L0036c0.J36.xloop_rn|
-        LDR      a2,[v2,#&f8]
-        TEQ      a2,#0
-        LDR      a1,[v2,#&74]
-        LDRNE    a2,[v2,#&104]
-        TEQNE    a2,#&10
-        BNE      |L0036e0.J45.xloop_rn|
-        TEQ      a1,#5
-        BNE      |L0036f0.J44.xloop_rn|
-|L0036e0.J45.xloop_rn|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        MOVNE    v3,#2
-        B        |L003714.J47.xloop_rn|
-|L0036f0.J44.xloop_rn|
-        TEQ      a1,#4
-        LDREQ    a1,[v2,#&104]
-        TEQEQ    a1,#&20
-        BNE      |L003714.J47.xloop_rn|
-        MOV      v3,#2
-        ADD      a2,v1,#&180
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L003714.J47.xloop_rn|
-        TEQ      v3,#0
-        LDREQ    a1,[v2,#&40]
-        LDREQ    a2,[v2,#&68]
-        BLEQ     |__rt_sdiv|
-        TEQEQ    a2,#0
-        BNE      |L003734.J35.xloop_rn|
-        CMP      a1,#4
-        MOVGT    v3,#1
-|L003734.J35.xloop_rn|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BEQ      |L003760.J54.xloop_rn|
-        ADD      a2,v1,#&19c
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        MOV      a2,v6
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L003760.J54.xloop_rn|
-        LDR      a1,[v2,#&74]
-        CMP      a1,#3
-        BGT      |L003790.J56.xloop_rn|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_x_scale
-        TEQ      a1,#0
-        BEQ      |L003790.J56.xloop_rn|
-        ADD      a2,v1,#&1c0
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L003790.J56.xloop_rn|
-        MOV      a2,v5
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_x_scale
-        TEQ      a1,#0
-        BNE      |L0037c4.J16.xloop_rn|
-        ADD      a2,v1,#&1ac
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L0037c4.J16.xloop_rn|
-        CMP      v3,#1
-        BLT      |L0037dc.J61.xloop_rn|
-        ADD      a2,v1,#&178
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L0037dc.J61.xloop_rn|
-        CMP      v3,#2
-        LDMLTDB  fp,{v1-v6,fp,sp,pc}^
-        ADD      a2,v1,#&17c
-        MOV      a1,v1
-        MVN      a3,#0
-        LDMDB    fp,{v1-v6,fp,sp,lr}
-        B        do_set_regname
-
-yloop_rn_count
-        MOV      a3,#2
-        LDR      a4,[a1,#&14]
-        LDR      ip,[a1,#&10]
-        TEQ      a4,ip
-        MOVNE    a3,#3
-        LDR      a2,[a2,#&1f0]
-        TEQ      a2,#0
-        BNE      |L003828.J7.yloop_rn_count|
-        LDR      a2,[a1,#&f4]
-        AND      a2,a2,#&ff
-        TEQ      a2,#&32
-        BNE      |L00382c.J6.yloop_rn_count|
-|L003828.J7.yloop_rn_count|
-        ADD      a3,a3,#1
-|L00382c.J6.yloop_rn_count|
-        LDR      a1,[a1,#&110]
-        TEQ      a1,#0
-        ADDNE    a3,a3,#1
-        MOV      a1,a3
-        MOVS     pc,lr
-
-yloop_rn
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        ADD      a2,a2,#&1b0
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_y_scale
-        TEQ      a1,#0
-        BNE      |L003888.J4.yloop_rn|
-        ADD      a2,v1,#&1b4
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L003888.J4.yloop_rn|
-        ADD      a2,v1,#&1b8
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L0038b4.J7.yloop_rn|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L0038c4.J6.yloop_rn|
-|L0038b4.J7.yloop_rn|
-        ADD      a2,v1,#&1bc
-        MOV      a1,v1
-        MVN      a3,#0
-        BL       do_set_regname
-|L0038c4.J6.yloop_rn|
-        LDR      a1,[v2,#&110]!
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1,v2,fp,sp,pc}^
-        ADD      a2,v1,#&194
-        MOV      a1,v1
-        MVN      a3,#0
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_set_regname
-
-get_in_shift
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&110]
-        TEQ      a1,#0
-        LDRNE    a1,[v2,#&74]
-        TEQNE    a1,#5
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        BEQ      |L003a24.J4.get_in_shift|
-        ADD      a3,v2,#&114
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&74]!
-        TEQ      a1,#4
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        BNE      |L0039c0.J7.get_in_shift|
-        ORR      a2,a1,#&2100000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      a2,#&1a00000
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&f2000000
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&200
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L0039c0.J7.get_in_shift|
-        ORR      a2,a1,#&2100000
-        ORR      a2,a2,#3
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&180
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L003a24.J4.get_in_shift|
-        ADD      a1,v2,#&20
-        SUB      a1,a1,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-fetch_pixel_init
-        MOV      ip,sp
-        STMDB    sp!,{v1-v5,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&f4]
-        AND      a1,a1,#&ff
-        ADD      a3,v2,#8
-        SUB      a2,a3,v2
-        ORR      v4,a2,#&1800000
-        TEQ      a1,#&32
-        BNE      |L003ac8.J4.fetch_pixel_init|
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&38
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        B        |L003b08.J49.fetch_pixel_init|
-|L003ac8.J4.fetch_pixel_init|
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORREQ    a1,a1,#&4100000
-        ADDEQ    a2,a1,v4
-        BEQ      |L003b08.J49.fetch_pixel_init|
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&118
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-|L003b08.J49.fetch_pixel_init|
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       x_block_move
-        TEQ      a1,#0
-        BEQ      |L003b68.J10.fetch_pixel_init|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       get_in_shift
-        LDR      a1,[v1,#&188]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a1,v2,#&108
-        SUB      a1,a1,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        LDMDB    fp,{v1-v5,fp,sp,lr}
-        B        do_ins
-|L003b68.J10.fetch_pixel_init|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L003c34.J13.fetch_pixel_init|
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&34
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&18
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&190]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&130
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        B        |L003c6c.J50.fetch_pixel_init|
-|L003c34.J13.fetch_pixel_init|
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#5
-        BEQ      |L003c74.J15.fetch_pixel_init|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       get_in_shift
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&d80
-|L003c6c.J50.fetch_pixel_init|
-        MOV      a1,v1
-        BL       do_ins
-|L003c74.J15.fetch_pixel_init|
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L003e04.J18.fetch_pixel_init|
-        ADD      a3,v2,#&48
-        SUB      a2,a3,v2
-        ORR      v3,a2,#&1800000
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L003ca8.J21.fetch_pixel_init|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L003ddc.J20.fetch_pixel_init|
-|L003ca8.J21.fetch_pixel_init|
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&88
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&168]
-        BL       rr
-        BEQ      |L003d18.J24.fetch_pixel_init|
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&8c
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        B        |L003d88.J51.fetch_pixel_init|
-|L003d18.J24.fetch_pixel_init|
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&168]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&168]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&800000
-|L003d88.J51.fetch_pixel_init|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&170]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&170]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&d80
-        B        |L003dfc.J52.fetch_pixel_init|
-|L003ddc.J20.fetch_pixel_init|
-        LDR      a1,[v1,#&174]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-|L003dfc.J52.fetch_pixel_init|
-        MOV      a1,v1
-        BL       do_ins
-|L003e04.J18.fetch_pixel_init|
-        LDR      a1,[v2,#&10c]
-        TEQ      a1,#0
-        BEQ      |L003e40.J28.fetch_pixel_init|
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&10c
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        B        |L003ef4.J53.fetch_pixel_init|
-|L003e40.J28.fetch_pixel_init|
-        LDR      a1,[v2,#&f8]
-        TEQ      a1,#0
-        BEQ      |L003e7c.J31.fetch_pixel_init|
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&f8
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        B        |L003ef4.J53.fetch_pixel_init|
-|L003e7c.J31.fetch_pixel_init|
-        LDR      a1,[v2,#&b4]
-        TEQ      a1,#0
-        BEQ      |L003efc.J30.fetch_pixel_init|
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&b4
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&104]
-        CMP      a1,#8
-        BGT      |L003efc.J30.fetch_pixel_init|
-        LDR      a1,[v2,#&74]
-        CMP      a1,#4
-        BLT      |L003efc.J30.fetch_pixel_init|
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&5900000
-        ORR      a2,a2,#4
-|L003ef4.J53.fetch_pixel_init|
-        MOV      a1,v1
-        BL       do_ins
-|L003efc.J30.fetch_pixel_init|
-        LDR      a1,[v2,#&74]
-        CMP      a1,#3
-        BGT      |L003f38.J39.fetch_pixel_init|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_x_scale
-        TEQ      a1,#0
-        BEQ      |L003f38.J39.fetch_pixel_init|
-        LDR      a1,[v1,#&1c0]
-        BL       rr
-        LDR      a2,[v1,#&200]
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&3a00000
-        MOV      a1,v1
-        BL       do_ins
-|L003f38.J39.fetch_pixel_init|
-        LDR      a1,[v1,#&180]
-        CMN      a1,#1
-        BEQ      |L003fc4.J42.fetch_pixel_init|
-        BL       rr
-        MOV      a2,#&3a00000
-        ADD      a2,a2,#&e0
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&180]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&180]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&180]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&400
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&180]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&180]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&180]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&400
-        MOV      a1,v1
-        BL       do_ins
-|L003fc4.J42.fetch_pixel_init|
-        LDR      a1,[v1,#&1f4]
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1-v5,fp,sp,pc}^
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&4c
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&184]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&50
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&184]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&200000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&184]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&80
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,#&c10
-        ADD      v3,v3,#&3a00000
-        ORR      a2,v3,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a2,a1,#&5900000
-        ORR      a2,a2,#&1fc
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,#&3100000
-        ADD      a2,a2,#1
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&184]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a2,a1,#&10000000
-        ORR      a2,a2,#&2200000
-        ORR      a2,a2,#3
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a2,v3,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&5900000
-        ORR      a2,a2,#&1f8
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&104]!
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&3100000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&184]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&10000000
-        ORR      a2,a2,#&2200000
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&184]
-        BL       rr
-        LDR      a2,[v1,#&1f4]
-        ADD      a2,a2,#&17
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v5,fp,sp,lr}
-        B        do_ins
-
-save_pixel_init
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a2,#&198]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&c
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       x_block_move
-        ADD      a3,v2,#&4c
-        SUB      a2,a3,v2
-        ORR      v3,a2,#&1800000
-        TEQ      a1,#0
-        BEQ      |L004340.J4.save_pixel_init|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        LDR      a2,[v1,#&220]
-        SUB      a2,a2,#1
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2000000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        LDMDB    fp,{v1-v4,fp,sp,lr}
-        B        do_ins
-|L004340.J4.save_pixel_init|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L00435c.J8.save_pixel_init|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BEQ      |L004384.J7.save_pixel_init|
-|L00435c.J8.save_pixel_init|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-        MOV      a1,v1
-        BL       do_ins
-|L004384.J7.save_pixel_init|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L004434.J11.save_pixel_init|
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v1,#&220]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&2000000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&224]
-        CMP      a1,#2
-        BLE      |L0043fc.J13.save_pixel_init|
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        LDR      a2,[v1,#&224]
-        SUB      a2,a2,#2
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-|L0043fc.J13.save_pixel_init|
-        LDR      a1,[v1,#&224]
-        CMP      a1,#2
-        BGE      |L004434.J11.save_pixel_init|
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        LDR      a2,[v1,#&224]
-        RSB      a2,a2,#2
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-|L004434.J11.save_pixel_init|
-        LDR      a1,[v2,#&104]!
-        TEQ      a1,#&20
-        LDMEQDB  fp,{v1-v4,fp,sp,pc}^
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        LDR      a2,[v1,#&220]
-        SUB      a2,a2,#1
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2000000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&d80
-        MOV      a1,v1
-        LDMDB    fp,{v1-v4,fp,sp,lr}
-        B        do_ins
-
-xloop_init
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a2,#&1a8]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&2c
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_x_scale
-        TEQ      a1,#0
-        BNE      |L004598.J4.xloop_init|
-        ADD      a3,v2,#&30
-        SUB      a2,a3,v2
-        ORR      v3,a2,#&1800000
-        LDR      a1,[v1,#&1f4]
-        TEQ      a1,#0
-        BEQ      |L004570.J6.xloop_init|
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#4
-        LDREQ    a1,[v1,#&158]
-        BEQ      |L004574.J14.xloop_init|
-|L004570.J6.xloop_init|
-        LDR      a1,[v1,#&1ac]
-|L004574.J14.xloop_init|
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-        MOV      a1,v1
-        BL       do_ins
-|L004598.J4.xloop_init|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       x_block_move
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1-v4,fp,sp,pc}^
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v4,fp,sp,lr}
-        B        do_ins
-
-yloop_init
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&110]
-        TEQ      a1,#0
-        BEQ      |L00462c.J4.yloop_init|
-        LDR      a1,[v1,#&194]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&11c
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-|L00462c.J4.yloop_init|
-        LDR      a1,[v1,#&1b0]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&18
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_y_scale
-        TEQ      a1,#0
-        BNE      |L0046a8.J6.yloop_init|
-        LDR      a1,[v1,#&1b4]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a3,a1,#&4100000
-        ADD      a2,v2,#&1c
-        SUB      a1,a2,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a3,a1
-        MOV      a1,v1
-        BL       do_ins
-|L0046a8.J6.yloop_init|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        ADD      a3,v2,#4
-        SUB      a2,a3,v2
-        ORR      v3,a2,#&1800000
-        TEQ      a1,#&32
-        BEQ      |L004704.J8.yloop_init|
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&1b8]
-        BL       rr
-        MOVNE    a2,#&3a00000
-        ADDNE    a2,a2,#1
-        ORRNE    a2,a2,a1,LSL #12
-        BNE      |L0046fc.J20.yloop_init|
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-|L0046fc.J20.yloop_init|
-        MOV      a1,v1
-        BL       do_ins
-|L004704.J8.yloop_init|
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BEQ      |L004748.J13.yloop_init|
-        LDR      a1,[v1,#&1bc]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a1,v2,#&90
-        SUB      a1,a1,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        LDMDB    fp,{v1-v4,fp,sp,lr}
-        B        do_ins
-|L004748.J13.yloop_init|
-        LDR      a1,[v2,#&f4]!
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        LDMNEDB  fp,{v1-v4,fp,sp,pc}^
-        LDR      a1,[v1,#&1bc]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,v3
-        MOV      a1,v1
-        LDMDB    fp,{v1-v4,fp,sp,lr}
-        B        do_ins
-
-fetch_pixel_unmasked
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        LDR      a2,[a1,#&f4]
-        AND      a2,a2,#&ff
-        TEQ      a2,#&32
-        BNE      |L00489c.J4.fetch_pixel_unmasked|
-        LDR      a1,[a1,#&104]
-        TEQ      a1,#&20
-        BNE      |L0047e4.J6.fetch_pixel_unmasked|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&7900000
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-|L0047e4.J6.fetch_pixel_unmasked|
-        TEQ      a1,#&10
-        BNE      |L004840.J9.fetch_pixel_unmasked|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&800
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&820
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-|L004840.J9.fetch_pixel_unmasked|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        LDR      a2,[v1,#&218]
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2000000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&190]
-        BL       rr
-        ORR      a2,v2,a1
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-|L00489c.J4.fetch_pixel_unmasked|
-        LDR      a1,[a1,#&74]
-        TEQ      a1,#5
-        BNE      |L0048d0.J13.fetch_pixel_unmasked|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4900000
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-|L0048d0.J13.fetch_pixel_unmasked|
-        TEQ      a1,#4
-        BNE      |L00492c.J16.fetch_pixel_unmasked|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&800
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&820
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-|L00492c.J16.fetch_pixel_unmasked|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a2,v2,a1,LSL #16
-        LDR      a1,[v1,#&200]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&2000000
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-
-fetch_pixel
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        MOV      v3,a3
-        LDR      a1,[a2,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L0049ac.J4.fetch_pixel|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      a2,#&3100000
-        ADD      a2,a2,#1
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-|L0049ac.J4.fetch_pixel|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_unmasked
-        LDR      a1,[v1,#&1ec]!
-        LDMDB    fp,{v1-v3,fp,sp,pc}^
-
-fetch_pixel2
-        MOV      ip,sp
-        STMDB    sp!,{v1-v4,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        MOV      v3,a3
-        LDR      a1,[a1,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        MOVEQ    a2,#4
-        MOVEQ    a1,#&37
-        ADDEQ    a1,a1,#&800
-        BLEQ     exit_c
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L004af0.J6.fetch_pixel2|
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        LDR      a2,[v1,#&204]
-        BEQ      |L004aac.J8.fetch_pixel2|
-        ORR      v4,a1,a2,LSL #7
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v4,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&170]
-        BL       rr
-        ORR      a2,v4,a1,LSL #16
-        LDR      a1,[v1,#&204]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&168]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&5b00000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      a2,#&3100000
-        ADD      a2,a2,#1
-        ORR      a2,a2,a1,LSL #16
-        B        |L004ad8.J22.fetch_pixel2|
-|L004aac.J8.fetch_pixel2|
-        TEQ      a2,#1
-        MOVEQ    a2,#&2000000
-        ADDEQ    a2,a2,#2
-        BEQ      |L004ad0.J11.fetch_pixel2|
-        LDR      a2,[v1,#&208]
-        RSB      a2,a2,#&20
-        MOV      a3,#&2000000
-        ADD      a3,a3,#1
-        ORR      a2,a3,a2,LSL #7
-|L004ad0.J11.fetch_pixel2|
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&1100000
-|L004ad8.J22.fetch_pixel2|
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-|L004af0.J6.fetch_pixel2|
-        LDR      a1,[v2,#&74]!
-        TEQ      a1,#5
-        BNE      |L004b20.J14.fetch_pixel2|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&5900000
-        ORR      a2,a2,#4
-        B        |L004b7c.J23.fetch_pixel2|
-|L004b20.J14.fetch_pixel2|
-        TEQ      a1,#4
-        BNE      |L004b4c.J17.fetch_pixel2|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&820
-        B        |L004b7c.J23.fetch_pixel2|
-|L004b4c.J17.fetch_pixel2|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1c0]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&164]
-        BL       rr
-        LDR      a2,[v1,#&1fc]
-        ORR      a1,a1,a2,LSL #7
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&20
-|L004b7c.J23.fetch_pixel2|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ec]!
-        LDMDB    fp,{v1-v4,fp,sp,pc}^
-
-do_add_ordered_dither_gun
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        RSB      a1,a3,#&20
-        SUB      v2,a1,a4
-        LDR      a1,[a2,#&158]
-        BL       rr
-        ORR      v3,a1,v2,LSL #7
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&1700000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a1,a1,v2,LSL #7
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&30800000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-add_ordered_dither
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v3,a1
-        MOV      v2,a2
-        MOV      v1,a3
-        LDR      a4,[a2,#&1f4]
-        TEQ      a4,#0
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        MOV      a4,v1,LSL #1
-        BL       do_add_ordered_dither_gun
-        MOV      a4,v1
-        MOV      a3,v1
-        MOV      a2,v2
-        MOV      a1,v3
-        BL       do_add_ordered_dither_gun
-        MOV      a3,v1
-        MOV      a2,v2
-        MOV      a1,v3
-        MOV      a4,#0
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_add_ordered_dither_gun
-
-translate_pixel
-        MOV      ip,sp
-        STMDB    sp!,{v1-v5,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a3,[a1,#&f4]
-        AND      a3,a3,#&ff
-        MOV      v5,#&1f
-        TEQ      a3,#&32
-        LDR      v3,[a1,#&74]
-        BNE      |L004d24.J4.translate_pixel|
-        LDR      a1,[v1,#&1e8]
-        AND      a1,a1,#7
-        TEQ      a1,#2
-        LDMNEDB  fp,{v1-v5,fp,sp,pc}^
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&104]
-        SUB      a2,v5,a2
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&3800000
-        ORR      a2,a2,#&100
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&104]!
-        SUB      a2,v5,a2
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&40
-        MOV      a1,v1
-        LDMDB    fp,{v1-v5,fp,sp,lr}
-        B        do_ins
-|L004d24.J4.translate_pixel|
-        LDR      a3,[v1,#&1f4]
-        TEQ      a3,#0
-        BEQ      |L004d40.J8.translate_pixel|
-        TEQ      v3,#5
-        MOVNE    a3,#5
-        MOVEQ    a3,#8
-        BL       add_ordered_dither
-|L004d40.J8.translate_pixel|
-        LDR      a1,[v2,#&f8]
-        TEQ      a1,#0
-        BEQ      |L004dd8.J13.translate_pixel|
-        CMP      v3,#3
-        MOVGT    a2,#4
-        MOVGT    a1,#&9d
-        ADDGT    a1,a1,#&800
-        BLGT     exit_c
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORREQ    a2,a1,#&7900000
-        ORREQ    a2,a2,#&100
-        BEQ      |L004f1c.J58.translate_pixel|
-        ORR      a2,a1,#&7900000
-        ORR      a2,a2,#&180
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&420
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#5
-        B        |L004de0.J21.translate_pixel|
-|L004dd8.J13.translate_pixel|
-        TEQ      v3,#5
-        BNE      |L004f2c.J20.translate_pixel|
-|L004de0.J21.translate_pixel|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BEQ      |L0050d8.J23.translate_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&800
-        ORR      a2,a2,#&f8
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&380
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&f8
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&500
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&f8
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&680
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&820
-|L004f1c.J58.translate_pixel|
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#4
-        B        |L004f34.J24.translate_pixel|
-|L004f2c.J20.translate_pixel|
-        TEQ      v3,#4
-        BNE      |L0050d8.J23.translate_pixel|
-|L004f34.J24.translate_pixel|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BNE      |L0050d8.J23.translate_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&800
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&d20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&980
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&600
-        ORR      a2,a2,#&3e
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&520
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&580
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&c20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&180]
-        BL       rr
-        ORR      a2,v3,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&2a0
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#5
-|L0050d8.J23.translate_pixel|
-        LDR      a1,[v2,#&b4]
-        TEQ      a1,#0
-        BEQ      |L005180.J26.translate_pixel|
-        LDR      a1,[v1,#&210]
-        CMP      a1,#3
-        BGT      |L005130.J28.translate_pixel|
-        CMP      v3,#4
-        MOVGT    a2,#4
-        MOVGT    a1,#&f6
-        ADDGT    a1,a1,#&800
-        BLGT     exit_c
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&7d00000
-        B        |L005170.J59.translate_pixel|
-|L005130.J28.translate_pixel|
-        CMP      v3,#3
-        MOVGT    a2,#4
-        MOVGT    a1,#&fc
-        ADDGT    a1,a1,#&800
-        BLGT     exit_c
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a4]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&7900000
-        ORR      a2,a2,#&100
-|L005170.J59.translate_pixel|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      v3,[v1,#&210]
-        B        |L005624.J35.translate_pixel|
-|L005180.J26.translate_pixel|
-        TEQ      v3,#4
-        BNE      |L005624.J35.translate_pixel|
-        LDR      a1,[v1,#&210]
-        CMP      a1,#4
-        BGE      |L005624.J35.translate_pixel|
-        MOV      v4,#&3100000
-        ADD      v4,v4,#&10
-        TEQ      a1,#0
-        BNE      |L0051f8.J39.translate_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a2,v4,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,#&3a00000
-        ADD      a2,a2,#1
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,#&3a00000
-        ADD      a2,a2,#&10000000
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#0
-        B        |L00527c.J41.translate_pixel|
-|L0051f8.J39.translate_pixel|
-        TEQ      a1,#1
-        BNE      |L00527c.J41.translate_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&1a0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#3
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#3
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#1
-|L00527c.J41.translate_pixel|
-        LDR      a1,[v1,#&210]
-        TEQ      a1,#2
-        BNE      |L005308.J44.translate_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&120
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#7
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#7
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#2
-        B        |L005624.J35.translate_pixel|
-|L005308.J44.translate_pixel|
-        TEQ      a1,#3
-        BNE      |L005624.J35.translate_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&1c
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&520
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#&e0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&800000
-        ORR      a2,a2,#&2a0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2000000
-        ORR      a2,a2,#7
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&800000
-        ORR      a2,a2,#&100
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      a2,#&3a00000
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,#&c40
-        ADD      a2,a2,#&3100000
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&13800000
-        ORR      a2,a2,#&80
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,#&c20
-        ADD      a2,a2,#&3100000
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&13800000
-        ORR      a2,a2,#8
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[pc, #L005728-.-8]
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&13800000
-        ORR      a2,a2,#&40
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[pc, #L00572c-.-8]
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&13800000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a2,v4,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&13800000
-        ORR      a2,a2,#&10
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,#&3100000
-        ADD      a2,a2,#8
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&13800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&17c]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&2a0
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v3,#3
-|L005624.J35.translate_pixel|
-        LDR      a1,[v1,#&210]
-        TEQ      v3,a1
-        MOVNE    a2,#4
-        MOVNE    a1,#&56
-        ADDNE    a1,a1,#&900
-        BLNE     exit_c
-        LDR      a1,[v1,#&1e8]
-        AND      a1,a1,#7
-        TEQ      a1,#2
-        BNE      |L0056dc.J51.translate_pixel|
-        TEQ      v3,#5
-        BEQ      |L0056dc.J51.translate_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&104]
-        SUB      a2,v5,a2
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&3800000
-        ORR      a2,a2,#&100
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&104]
-        SUB      a2,v5,a2
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&40
-        MOV      a1,v1
-        BL       do_ins
-|L0056dc.J51.translate_pixel|
-        LDR      a1,[v2,#&104]
-        LDR      a2,[v2,#&100]
-        TEQ      a1,a2
-        LDMEQDB  fp,{v1-v5,fp,sp,pc}^
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&104]!
-        ORR      a1,a1,a2,LSL #7
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v5,fp,sp,lr}
-        B        do_ins
-L005728
-        DCD     &03100c02
-L00572c
-        DCD     &03100c01
-
-save_pixel
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&104]
-        TEQ      a1,#&20
-        LDR      a1,[a2,#&1e8]
-        BNE      |L00591c.J4.save_pixel|
-        TEQ      a1,#0
-        BEQ      |L0058f4.J6.save_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4900000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1e8]
-        SUB      a1,a1,#1
-        CMP      a1,#6
-        ADDLS    pc,pc,a1,LSL #2
-        B        |L005898.J8.save_pixel|
-        B        |L0057d0.J14.save_pixel|
-        B        |L005820.J13.save_pixel|
-        B        |L005848.J12.save_pixel|
-        B        |L005874.J11.save_pixel|
-        B        |L005898.J8.save_pixel|
-        B        |L0057fc.J10.save_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1e00000
-        MOV      a1,v1
-        BL       do_ins
-|L0057d0.J14.save_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&1800000
-        B        |L005890.J54.save_pixel|
-|L0057fc.J10.save_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1e00000
-        MOV      a1,v1
-        BL       do_ins
-|L005820.J13.save_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a2,v2,a1
-        B        |L005890.J54.save_pixel|
-|L005848.J12.save_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&200000
-        B        |L005890.J54.save_pixel|
-|L005874.J11.save_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1e00000
-|L005890.J54.save_pixel|
-        MOV      a1,v1
-        BL       do_ins
-|L005898.J8.save_pixel|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#7
-        TEQNE    a1,#6
-        LDMNEDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1e00000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L0058f4.J6.save_pixel|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L00591c.J4.save_pixel|
-        TEQ      a1,#6
-        TEQNE    a1,#7
-        BNE      |L005994.J21.save_pixel|
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        LDRNE    a2,[v1,#&21c]
-        ORRNE    a1,a1,a2
-        ORRNE    a2,a1,#&2200000
-        BNE      |L00598c.J55.save_pixel|
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&ff
-|L00598c.J55.save_pixel|
-        MOV      a1,v1
-        BL       do_ins
-|L005994.J21.save_pixel|
-        LDR      a1,[v1,#&1e8]
-        CMP      a1,#7
-        ADDLS    pc,pc,a1,LSL #2
-        B        |L005b38.J28.save_pixel|
-        B        |L0059c4.J36.save_pixel|
-        B        |L005a44.J35.save_pixel|
-        B        |L005a70.J34.save_pixel|
-        B        |L005a98.J33.save_pixel|
-        B        |L005ac4.J32.save_pixel|
-        B        |L005b38.J28.save_pixel|
-        B        |L005a70.J34.save_pixel|
-        B        |L005a44.J35.save_pixel|
-|L0059c4.J36.save_pixel|
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L005a44.J35.save_pixel|
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        BNE      |L005a2c.J39.save_pixel|
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&ff
-        B        |L005a3c.J56.save_pixel|
-|L005a2c.J39.save_pixel|
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v1,#&21c]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&3c00000
-|L005a3c.J56.save_pixel|
-        MOV      a1,v1
-        BL       do_ins
-|L005a44.J35.save_pixel|
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        B        |L005b30.J57.save_pixel|
-|L005a70.J34.save_pixel|
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a2,v3,a1
-        B        |L005b30.J57.save_pixel|
-|L005a98.J33.save_pixel|
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&200000
-        B        |L005b30.J57.save_pixel|
-|L005ac4.J32.save_pixel|
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        BNE      |L005b20.J42.save_pixel|
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&ff
-        B        |L005b30.J57.save_pixel|
-|L005b20.J42.save_pixel|
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v1,#&21c]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&2200000
-|L005b30.J57.save_pixel|
-        MOV      a1,v1
-        BL       do_ins
-|L005b38.J28.save_pixel|
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#6
-        TEQNE    a1,#7
-        LDMNEDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v2,#&100]!
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        BNE      |L005bac.J49.save_pixel|
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L005bac.J49.save_pixel|
-        LDR      a2,[v1,#&21c]
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2200000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-save_pixel_opt
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        LDR      a1,[a1,#&100]
-        TEQ      a1,#&10
-        LDR      a1,[a2,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        BNE      |L005c30.J4.save_pixel_opt|
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#&c00
-        ORR      a2,a2,#&ff
-        B        |L005c40.J9.save_pixel_opt|
-|L005c30.J4.save_pixel_opt|
-        ORR      a2,v2,a1,LSL #16
-        LDR      a1,[v1,#&21c]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&3c00000
-|L005c40.J9.save_pixel_opt|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&1800000
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-
-save_pixel2
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a2,#&1e8]
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&eb
-        ADDNE    a1,a1,#&900
-        BLNE     exit_c
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BNE      |L005ce0.J6.save_pixel2|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&5800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L005ce0.J6.save_pixel2|
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L005d84.J9.save_pixel2|
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        BNE      |L005d4c.J11.save_pixel2|
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#&800
-        ORR      a2,a2,#&ff
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#&400
-        ORR      a2,a2,#&ff
-        B        |L005d7c.J19.save_pixel2|
-|L005d4c.J11.save_pixel2|
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#1
-        MOVEQ    a1,#&2000000
-        ADDEQ    a1,a1,#2
-        BEQ      |L005d74.J14.save_pixel2|
-        RSB      a3,a1,#&20
-        LDR      a1,[v1,#&21c]
-        ORR      a1,a1,a3,LSL #7
-        ORR      a1,a1,#&2000000
-|L005d74.J14.save_pixel2|
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&1c00000
-|L005d7c.J19.save_pixel2|
-        MOV      a1,v1
-        BL       do_ins
-|L005d84.J9.save_pixel2|
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        LDR      a2,[v2,#&100]!
-        ORR      a1,a1,a2,LSL #7
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-fetch_pixel_inc
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L005ee4.J4.fetch_pixel_inc|
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#5
-        BNE      |L005e14.J6.fetch_pixel_inc|
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#4
-        B        |L005edc.J25.fetch_pixel_inc|
-|L005e14.J6.fetch_pixel_inc|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        LDR      a2,[v1,#&1fc]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        MOVNE    a1,#0
-        MOVEQ    a1,#1
-        LDR      a2,[v1,#&1ec]
-        TST      a1,a2
-        BEQ      |L005e88.J9.fetch_pixel_inc|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        LDR      a2,[v1,#&1fc]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-|L005e88.J9.fetch_pixel_inc|
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v1,#&1fc]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&5b00000
-        ORR      a2,a2,#4
-|L005edc.J25.fetch_pixel_inc|
-        MOV      a1,v1
-        BL       do_ins
-|L005ee4.J4.fetch_pixel_inc|
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L005f0c.J17.fetch_pixel_inc|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L005f98.J16.fetch_pixel_inc|
-|L005f0c.J17.fetch_pixel_inc|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        LDR      a2,[v1,#&204]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&170]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        LDR      a2,[v1,#&204]
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&168]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&5b00000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L005f98.J16.fetch_pixel_inc|
-        LDR      a1,[v2,#&74]!
-        TEQ      a1,#5
-        MOVEQ    a2,#4
-        MOVEQ    a1,#&31
-        ADDEQ    a1,a1,#&a00
-        BLEQ     exit_c
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      v2,a1,#&4100000
-        LDR      a1,[v1,#&174]
-        BL       rr
-        ORR      a1,a1,#&3800000
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&f0000000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-fetch_pixel_inc2
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&74]
-        TEQ      a1,#5
-        BNE      |L006030.J4.fetch_pixel_inc2|
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#8
-        B        |L006128.J24.fetch_pixel_inc2|
-|L006030.J4.fetch_pixel_inc2|
-        LDR      a1,[v2,#&78]
-        TEQ      a1,#4
-        LDR      a1,[v1,#&164]
-        BL       rr
-        BNE      |L006060.J7.fetch_pixel_inc2|
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&5b00000
-        ORR      a2,a2,#4
-        B        |L006128.J24.fetch_pixel_inc2|
-|L006060.J7.fetch_pixel_inc2|
-        LDR      a2,[v1,#&1fc]
-        MOV      a2,a2,LSL #1
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        MOVNE    a2,#0
-        MOVEQ    a2,#1
-        LDR      a1,[v1,#&1ec]
-        TST      a2,a1
-        BEQ      |L0060d4.J10.fetch_pixel_inc2|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        LDR      a2,[v1,#&1fc]
-        MOV      a2,a2,LSL #1
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-|L0060d4.J10.fetch_pixel_inc2|
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        LDR      a2,[v1,#&1fc]
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&200
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&5b00000
-        ORR      a2,a2,#4
-|L006128.J24.fetch_pixel_inc2|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BEQ      |L0061d4.J17.fetch_pixel_inc2|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        LDR      a2,[v1,#&204]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&170]
-        BL       rr
-        ORR      a2,v2,a1,LSL #16
-        LDR      a1,[v1,#&204]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&168]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&5b00000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L0061d4.J17.fetch_pixel_inc2|
-        LDR      a1,[v2,#&74]!
-        TEQ      a1,#5
-        MOVEQ    a2,#4
-        MOVEQ    a1,#&6a
-        ADDEQ    a1,a1,#&a00
-        BLEQ     exit_c
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      v2,a1,#&4100000
-        LDR      a1,[v1,#&174]
-        BL       rr
-        ORR      a1,a1,#&3800000
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&f0000000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-odither_inc
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        MOV      v2,a3
-        LDR      a1,[a2,#&1f4]
-        TEQ      a1,#0
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v1,#&184]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&184]
-        BL       rr
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v1,#&1f4]
-        SUB      a3,a1,v2
-        MOV      a1,#1
-        ORR      a1,a2,a1,LSL a3
-        ORR      a2,a1,#&2200000
-        ORR      a2,a2,#&400
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-skip_current_output_words
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        LDR      a1,[a1,#&104]
-        MOV      v2,#&3a00000
-        TEQ      a1,#&20
-        BNE      |L0062f0.J4.skip_current_output_words|
-        LDR      a1,[v1,#&198]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&800000
-        ORR      a2,a2,#&100
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a2,v2,a1,LSL #12
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L0062f0.J4.skip_current_output_words|
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&400000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      v3,v3,a1,LSL #8
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&70
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a2,v2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        LDR      a2,[v1,#&224]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1b00000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&198]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&10800000
-        ORR      a2,a2,#&100
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4900000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[v1,#&224]
-        ORR      a1,a1,a2,LSL #7
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&400000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-skip_some_pixels
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        LDR      a1,[a2,#&1ac]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      v2,a1,a2,LSL #7
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      v2,v2,a1,LSL #8
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&70
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&400000
-        ORR      a2,a2,#&d80
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      a2,#&3a00000
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        LDMDB    fp,{v1,v2,fp,sp,lr}
-        B        do_ins
-
-save_pixel_inc
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&104]
-        TEQ      a1,#&20
-        BNE      |L006590.J4.save_pixel_inc|
-        LDR      a1,[v1,#&198]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L0066dc.J8.save_pixel_inc|
-        B        |L0066ac.J16.save_pixel_inc|
-|L006590.J4.save_pixel_inc|
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L0065f8.J9.save_pixel_inc|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-|L0065f8.J9.save_pixel_inc|
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v2,#&100]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&c0000000
-        ORR      a2,a2,#&34800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#0
-        LDREQ    a1,[v1,#&1ec]
-        TEQEQ    a1,#0
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOVEQ    a2,#&1a00000
-        ORREQ    a1,a2,a1,LSL #12
-        ORREQ    a2,a1,#&f2000000
-        BEQ      |L006694.J19.save_pixel_inc|
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&4900000
-|L006694.J19.save_pixel_inc|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L0066dc.J8.save_pixel_inc|
-|L0066ac.J16.save_pixel_inc|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&7900000
-        MOV      a1,v1
-        BL       do_ins
-|L0066dc.J8.save_pixel_inc|
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#0
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        odither_inc
-
-save_pixel_inc2
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&104]
-        TEQ      a1,#&20
-        BNE      |L006734.J4.save_pixel_inc2|
-        LDR      a1,[v1,#&198]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#8
-        B        |L006858.J18.save_pixel_inc2|
-|L006734.J4.save_pixel_inc2|
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        BNE      |L00679c.J7.save_pixel_inc2|
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOVEQ    a2,#&3a00000
-        ORREQ    a2,a2,a1,LSL #12
-        BEQ      |L006858.J18.save_pixel_inc2|
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4900000
-        B        |L006858.J18.save_pixel_inc2|
-|L00679c.J7.save_pixel_inc2|
-        LDR      a2,[v2,#&100]
-        MOV      a2,a2,LSL #1
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        LDR      a2,[v2,#&100]
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&200
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&c0000000
-        ORR      a2,a2,#&34800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOVEQ    a2,#&1a00000
-        ORREQ    a1,a2,a1,LSL #12
-        ORREQ    a2,a1,#&f2000000
-        BEQ      |L006858.J18.save_pixel_inc2|
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&f0000000
-        ORR      a2,a2,#&4900000
-|L006858.J18.save_pixel_inc2|
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#0
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        odither_inc
-
-plot_current_output_words
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        MOV      v5,a3
-        LDR      a1,[a1,#&104]
-        ADD      v4,a2,#&110
-        ADD      v3,a2,#&108
-        TEQ      a1,#&20
-        BNE      |L006ab0.J4.plot_current_output_words|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        CMP      v5,#&15
-        BGE      |L006968.J6.plot_current_output_words|
-        MOV      v6,#1
-        CMP      v5,#1
-        LDMLEDB  fp,{v1-v6,fp,sp,pc}^
-|L006904.J8.plot_current_output_words|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&14800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&10000000
-        ORR      a2,a2,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        ADD      v6,v6,#1
-        CMP      v6,v5
-        BLT      |L006904.J8.plot_current_output_words|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L006968.J6.plot_current_output_words|
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v2,#&3500000
-        ADD      v2,v2,#&a
-        ORR      a2,v2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v4
-        MOV      a1,v1
-        MOV      a2,#&da000000
-        BL       do_branch
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        MOV      v6,#0
-|L0069a4.J13.plot_current_output_words|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        ADD      v6,v6,#1
-        CMP      v6,#&a
-        BLT      |L0069a4.J13.plot_current_output_words|
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&2400000
-        ORR      a2,a2,#&a
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a2,v2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&ca000000
-        BL       do_branch
-        MOV      a2,v4
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      a2,#&3500000
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v6,#0
-|L006a4c.J15.plot_current_output_words|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&14800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&10000000
-        ORR      a2,a2,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        ADD      v6,v6,#1
-        CMP      v6,#&a
-        BLT      |L006a4c.J15.plot_current_output_words|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-|L006ab0.J4.plot_current_output_words|
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      v5,v5,a1,LSL #16
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v5,a1
-        ORR      a2,a1,#&400000
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a2,v1,#&100
-        MOV      v6,a2
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v5,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v5,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a2,v5,a1,LSL #16
-        LDR      a1,[v2,#&100]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v5,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v5,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        LDR      a2,[v2,#&100]
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v4
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v5,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v5,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a2,v5,a1,LSL #16
-        LDR      a1,[v2,#&100]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&118
-        MOV      v5,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      a2,a1,a2,LSL #7
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        LDR      a2,[v2,#&100]
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v6
-        MOV      a1,v1
-        MOV      a2,#&1a000000
-        BL       do_branch
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v4
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v5
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        LDR      a2,[v1,#&224]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1b00000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&128
-        MOV      v3,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        LDR      v6,[v2,#&104]
-        CMP      v6,#&20
-        BGE      |L006dbc.J19.plot_current_output_words|
-|L006d7c.J18.plot_current_output_words|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v4,v4,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,a1,v6,LSL #7
-        ORR      a1,v4,a1
-        ORR      a2,a1,#&1800000
-        MOV      a1,v1
-        BL       do_ins
-        MOV      v6,v6,LSL #1
-        CMP      v6,#&20
-        BLT      |L006d7c.J18.plot_current_output_words|
-|L006dbc.J19.plot_current_output_words|
-        ADD      a2,v1,#&120
-        MOV      v4,a2
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&4800000
-        ORR      a2,a2,#4
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a2,v5,a1,LSL #16
-        LDR      a1,[v1,#&220]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&2400000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v4
-        MOV      a1,v1
-        MOV      a2,#&1a000000
-        BL       do_branch
-        LDR      a1,[v2,#&100]!
-        TEQ      a1,#&10
-        LDR      a1,[v1,#&158]
-        BL       rr
-        BNE      |L006eb0.J22.plot_current_output_words|
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&800
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&820
-        B        |L006ecc.J32.plot_current_output_words|
-|L006eb0.J22.plot_current_output_words|
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a2,v2,a1,LSL #16
-        LDR      a1,[v1,#&21c]
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&2000000
-|L006ecc.J32.plot_current_output_words|
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4900000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v6,fp,sp,lr}
-        B        do_ins
-
-plot_some_pixels
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        ADD      a2,a2,#&130
-        MOV      v6,a2
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v2,#&100]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&138
-        MOV      v5,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        LDR      a2,[v2,#&100]
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&140
-        MOV      v4,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        LDR      a2,[v2,#&100]
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&148
-        MOV      v3,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_opt
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[v2,#&100]
-        ORR      a2,a1,a2,LSL #7
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&60
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        LDR      a2,[v2,#&100]!
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v6
-        MOV      a1,v1
-        MOV      a2,#&1a000000
-        BL       do_branch
-        MOV      a2,v5
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v4
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v3
-        MOV      a1,v1
-        LDMDB    fp,{v1-v6,fp,sp,lr}
-        B        define_label
-
-arbitrary_add
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a4
-        MOV      ip,#1
-        MOV      a4,#0
-        LDR      v3,[fp,#4]
-        CMP      v3,#0
-        BGE      |L007228.J4.arbitrary_add|
-        RSB      v3,v3,#0
-        TEQ      a2,#0
-        MOVNE    a2,a4
-        MOVEQ    a2,ip
-|L007228.J4.arbitrary_add|
-        TEQ      v3,#0
-        BNE      |L00724c.J9.arbitrary_add|
-        TEQ      a3,#0
-        LDMEQDB  fp,{v1-v6,fp,sp,pc}^
-        MOV      a2,#&3500000
-        LDR      a3,[v1,#0]
-        ORR      a2,a2,a3,LSL #16
-        LDMDB    fp,{v1-v6,fp,sp,lr}
-        B        do_ins
-|L00724c.J9.arbitrary_add|
-        TEQ      a2,#0
-        MOVEQ    v6,#&400000
-        MOVNE    v6,#&800000
-        TEQ      a3,#0
-        MOVEQ    v5,a4
-        MOVNE    v5,#&100000
-        MOV      v4,#0
-|L007268.J20.arbitrary_add|
-        CMP      v3,#&ff
-        BLE      |L007288.J23.arbitrary_add|
-        TST      v3,#3
-        BNE      |L007288.J23.arbitrary_add|
-|L007278.J25.arbitrary_add|
-        MOV      v3,v3,ASR #2
-        ADD      v4,v4,#2
-        TST      v3,#3
-        BEQ      |L007278.J25.arbitrary_add|
-|L007288.J23.arbitrary_add|
-        AND      a2,v3,#&ff
-        BICS     v3,v3,#&ff
-        MOVNE    a1,#0
-        MOVEQ    a1,#1
-        TEQ      a1,#0
-        MOVNE    a1,v5
-        ORR      a3,a1,v6
-        LDR      a1,[v1,#0]
-        ORR      a3,a3,a1,LSL #12
-        ORR      a1,a3,a1,LSL #16
-        ORR      a1,a1,a2
-        RSB      a2,v4,#&20
-        AND      a2,a2,#&1e
-        ORR      a1,a1,a2,LSL #7
-        ORR      a2,a1,#&2000000
-        MOV      a1,v2
-        BL       do_ins
-        TEQ      v3,#0
-        BNE      |L007268.J20.arbitrary_add|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-init_word_registers
-        MOV      ip,sp
-        STMDB    sp!,{v1-v3,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        LDR      a1,[a1,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        LDRNE    a1,[v2,#&74]
-        TEQNE    a1,#5
-        BEQ      |L0073b0.J4.init_word_registers|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,#&800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v3,v3,a1,LSL #8
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&70
-        MOV      a1,v1
-        BL       do_ins
-|L0073b0.J4.init_word_registers|
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L0074b0.J8.init_word_registers|
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L0073d8.J11.init_word_registers|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L00744c.J10.init_word_registers|
-|L0073d8.J11.init_word_registers|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&168]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,#&800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        B        |L007474.J25.init_word_registers|
-|L00744c.J10.init_word_registers|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      v3,v3,a1,LSL #16
-        LDR      a1,[v1,#&174]
-        BL       rr
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&7900000
-|L007474.J25.init_word_registers|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v3,v3,a1,LSL #8
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&70
-        MOV      a1,v1
-        BL       do_ins
-|L0074b0.J8.init_word_registers|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        LDMEQDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#0
-        LDREQ    a1,[v1,#&1ec]
-        TEQEQ    a1,#0
-        BNE      |L00757c.J17.init_word_registers|
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1b00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a1,a1,#&800000
-        ORR      a2,a1,#&10000000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v2,v2,a1,LSL #8
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&10000000
-        ORR      a2,a2,#&1a00000
-        ORR      a2,a2,#&10
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      a2,#&1a00000
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&f2000000
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-|L00757c.J17.init_word_registers|
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a1,a1,#&4100000
-        ADD      a2,a1,#&800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v3,v3,a1,LSL #8
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&70
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&f4]!
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        LDMNEDB  fp,{v1-v3,fp,sp,pc}^
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&18c]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&7900000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&164]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      v2,v2,a1,LSL #8
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&70
-        MOV      a1,v1
-        LDMDB    fp,{v1-v3,fp,sp,lr}
-        B        do_ins
-
-align16
-        MOV      ip,sp
-        STMDB    sp!,{v1,v2,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a2
-        LDR      a1,[a2,#&10]
-        TST      a1,#1
-        LDMEQDB  fp,{v1,v2,fp,sp,pc}^
-|L0076bc.J4.align16|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&10]
-        TST      a1,#1
-        BNE      |L0076bc.J4.align16|
-        LDMDB    fp,{v1,v2,fp,sp,pc}^
-
-loop_x
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        SUB      sp,sp,#&24
-        BL       x_block_move
-        TEQ      a1,#0
-        BEQ      |L007758.J4.loop_x|
-        LDR      a1,[v1,#&1dc]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&188]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1dc]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        B        |L008670.J80.loop_x|
-|L007758.J4.loop_x|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       init_word_registers
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_x_scale
-        ADD      v5,v1,#&30
-        TEQ      a1,#0
-        BEQ      |L007cb8.J7.loop_x|
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BEQ      |L00785c.J9.loop_x|
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      a2,a1,LSL #16
-        LDR      a1,[v2,#&100]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&3100000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&70
-        MOV      v3,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        ADD      a3,v1,#&78
-        MOV      v6,a3
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel
-        MOV      v4,a1
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel
-        TEQ      v4,#0
-        MOVNE    a2,v6
-        MOVNE    a1,v1
-        BLNE     define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v5
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-|L00785c.J9.loop_x|
-        ADD      v3,v1,#&a0
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#5
-        BEQ      |L0078a0.J13.loop_x|
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      a2,a1,LSL #16
-        LDR      a1,[v1,#&1fc]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&3100000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&1a000000
-        BL       do_branch
-|L0078a0.J13.loop_x|
-        ADD      a3,v1,#&88
-        MOV      v6,a3
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       align16
-        ADD      a2,v1,#&80
-        MOV      a1,v1
-        STR      a2,[sp,#&20]
-        BL       define_label
-        ADD      a3,v1,#&90
-        MOV      a2,v1
-        MOV      a1,v2
-        STR      a3,[sp,#&1c]
-        BL       fetch_pixel
-        MOV      v4,a1
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel
-        TEQ      v4,#0
-        MOVNE    a1,v1
-        LDRNE    a2,[sp,#&1c]
-        BLNE     define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#0
-        BL       odither_inc
-        ADD      a3,v1,#&98
-        MOV      a2,v1
-        MOV      a1,v2
-        STR      a3,[sp,#&18]
-        BL       fetch_pixel2
-        MOV      v4,a1
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel2
-        TEQ      v4,#0
-        MOVNE    a1,v1
-        LDRNE    a2,[sp,#&18]
-        BLNE     define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc2
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc2
-        MOV      a2,v6
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      a1,v4,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a1,v1
-        MOV      a2,#&aa000000
-        LDR      a3,[sp,#&20]
-        BL       do_branch
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#5
-        BEQ      |L007c14.J32.loop_x|
-        ADD      a3,v1,#&c8
-        MOV      v4,a3
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        BL       do_branch
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#5
-        BNE      |L007a18.J21.loop_x|
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2400000
-        ORR      a2,a2,#4
-        B        |L007a68.J76.loop_x|
-|L007a18.J21.loop_x|
-        LDR      a1,[v1,#&164]
-        BL       rr
-        LDR      a2,[v1,#&1f8]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&164]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&160]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&160]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        LDR      a2,[v1,#&1f8]
-        ORR      a1,a1,a2,LSL #1
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#&300
-|L007a68.J76.loop_x|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1ec]
-        TEQ      a1,#0
-        BEQ      |L007ae0.J24.loop_x|
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        LDR      a2,[v1,#&204]
-        ORR      v3,a1,a2,LSL #7
-        LDR      a1,[v1,#&16c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BEQ      |L007ae0.J24.loop_x|
-        LDR      a1,[v1,#&170]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&170]
-        BL       rr
-        ORR      a2,v3,a1,LSL #16
-        LDR      a1,[v1,#&204]
-        ORR      a1,a2,a1,LSL #1
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#&300
-        MOV      a1,v1
-        BL       do_ins
-|L007ae0.J24.loop_x|
-        ADD      a3,v1,#&b0
-        MOV      v3,a3
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       align16
-        ADD      a2,v1,#&a8
-        MOV      a1,v1
-        STR      a2,[sp,#&14]
-        BL       define_label
-        ADD      a3,v1,#&b8
-        MOV      a2,v1
-        MOV      a1,v2
-        STR      a3,[sp,#&10]
-        BL       fetch_pixel2
-        MOV      v6,a1
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel
-        TEQ      v6,#0
-        MOVNE    a1,v1
-        LDRNE    a2,[sp,#&10]
-        BLNE     define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc2
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#0
-        BL       odither_inc
-        ADD      a3,v1,#&c0
-        MOV      a2,v1
-        MOV      a1,v2
-        STR      a3,[sp,#&c]
-        BL       fetch_pixel
-        MOV      v6,a1
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel2
-        TEQ      v6,#0
-        MOVNE    a1,v1
-        LDRNE    a2,[sp,#&c]
-        BLNE     define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc2
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a1,v1
-        MOV      a2,#&aa000000
-        LDR      a3,[sp,#&14]
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        MOV      a2,v4
-        MOV      a1,v1
-        BL       define_label
-|L007c14.J32.loop_x|
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2900000
-        ORR      a2,a2,#2
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&d8
-        MOV      v4,a3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        ADD      a3,v1,#&d0
-        MOV      v3,a3
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel
-        MOV      v6,a1
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel
-        TEQ      v6,#0
-        MOVNE    a2,v3
-        MOVNE    a1,v1
-        BLNE     define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc
-        MOV      a2,v4
-        MOV      a1,v1
-        BL       define_label
-        B        |L0084e0.J35.loop_x|
-|L007cb8.J7.loop_x|
-        LDR      a1,[v1,#&1f4]
-        ADD      a3,v1,#&38
-        ADD      v3,v1,#&28
-        ADD      v6,v1,#&40
-        ADD      v4,v1,#&1ac
-        TEQ      a1,#0
-        STR      a3,[sp,#8]
-        BEQ      |L007e28.J36.loop_x|
-        ADD      a2,v2,#&40
-        LDMIA    a2,{a1,a2}
-        SUB      a3,a2,a1
-        CMP      a3,a1
-        BLE      |L007e28.J36.loop_x|
-        MOV      a4,a2
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        LDR      a4,[v2,#&44]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#1
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v1
-        MOV      a1,v2
-        LDR      a3,[sp,#8]
-        BL       fetch_pixel
-        STR      a1,[sp,#0]
-        LDR      a4,[v2,#&40]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#1
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v6
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v5
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_unmasked
-        LDR      a4,[v2,#&40]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#1
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a3,v6
-        MOV      a1,v1
-        MOV      a2,#&5a000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        B        |L0080c4.J50.loop_x|
-|L007e28.J36.loop_x|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L008110.J40.loop_x|
-        LDR      a1,[v2,#&40]
-        LDR      a2,[v2,#&68]
-        BL       |__rt_sdiv|
-        TEQ      a2,#0
-        BNE      |L008110.J40.loop_x|
-        CMP      a1,#4
-        BLE      |L008110.J40.loop_x|
-        LDR      a2,[v1,#&1e8]
-        TEQ      a2,#0
-        BNE      |L008110.J40.loop_x|
-        MOV      v6,a1
-        MOV      a4,a1
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,#&3300000
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a2,v1,#&e0
-        MOV      a1,v1
-        BL       define_label
-        MOV      a3,v5
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a4,v6
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#1
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v1
-        MOV      a1,v2
-        LDR      a3,[sp,#8]
-        BL       fetch_pixel
-        MOV      a2,v1
-        STR      a1,[sp,#0]
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&500000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,#&3a00000
-        ADD      a2,a2,#&40000000
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&40000000
-        ORR      a2,a2,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a2,v1,#&f0
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        STR      a2,[sp,#4]
-        BEQ      |L0080a8.J45.loop_x|
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1b00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      a2,#&1a00000
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&f2000000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#1
-        BEQ      |L00806c.J47.loop_x|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      a2,a1,a2,LSL #7
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-|L00806c.J47.loop_x|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&1500000
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a1,v1
-        MOV      a2,#&ba000000
-        LDR      a3,[sp,#4]
-        BL       do_branch
-|L0080a8.J45.loop_x|
-        MOV      a3,v6
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       plot_current_output_words
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BNE      |L0080cc.J49.loop_x|
-|L0080c4.J50.loop_x|
-        MOV      a3,v3
-        B        |L008220.J77.loop_x|
-|L0080cc.J49.loop_x|
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      a2,#&3300000
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a1,v1
-        LDR      a2,[sp,#4]
-        BL       define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       plot_some_pixels
-        B        |L0080c4.J50.loop_x|
-|L008110.J40.loop_x|
-        LDR      a4,[v2,#&44]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v3
-        MOV      a1,v1
-        BL       define_label
-        LDR      a4,[v2,#&44]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#1
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v1
-        MOV      a1,v2
-        LDR      a3,[sp,#8]
-        BL       fetch_pixel
-        MOV      a2,v1
-        STR      a1,[sp,#0]
-        MOV      a1,v2
-        BL       translate_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        MOV      a2,v6
-        MOV      a1,v1
-        BL       define_label
-        LDR      a4,[v2,#&40]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#1
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&4a000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v6
-        MOV      a1,v1
-        MOV      a2,#&1a000000
-        BL       do_branch
-        MOV      a3,v5
-|L008220.J77.loop_x|
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        BL       do_branch
-        LDR      a1,[sp,#0]
-        TEQ      a1,#0
-        BEQ      |L0084e0.J35.loop_x|
-        MOV      a1,v1
-        LDR      a2,[sp,#8]
-        BL       define_label
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L008450.J55.loop_x|
-        LDR      a1,[v2,#&40]
-        LDR      a2,[v2,#&68]
-        BL       |__rt_sdiv|
-        TEQ      a2,#0
-        BNE      |L008450.J55.loop_x|
-        CMP      a1,#4
-        BLE      |L008450.J55.loop_x|
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#0
-        BNE      |L008450.J55.loop_x|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v4,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v4,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v4,a1,LSL #12
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      v4,v4,a1,LSL #16
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v4,a1
-        ORR      a2,a1,#&500000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      a2,#&3a00000
-        ADD      a2,a2,#&40000000
-        ORR      a2,a2,a1,LSL #12
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v4,a1
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v4,a1,LSL #12
-        ORR      a2,a1,#&40000000
-        ORR      a2,a2,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        ADD      v4,v1,#&e8
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BEQ      |L0083e4.J60.loop_x|
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v6,a1
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v6,a1,LSL #12
-        ORR      a2,a1,#&1b00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      a2,#&1a00000
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&f2000000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&100]
-        TEQ      a1,#1
-        BEQ      |L0083b0.J62.loop_x|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        LDR      a2,[v1,#&214]
-        ORR      v6,a1,a2,LSL #7
-        LDR      a1,[v1,#&178]
-        BL       rr
-        ORR      a1,v6,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-|L0083b0.J62.loop_x|
-        LDR      a1,[v1,#&178]
-        BL       rr
-        MOV      v6,a1
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        ORR      a1,v6,a1,LSL #16
-        ORR      a2,a1,#&1500000
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v4
-        MOV      a1,v1
-        MOV      a2,#&ba000000
-        BL       do_branch
-|L0083e4.J60.loop_x|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       skip_current_output_words
-        LDR      a1,[v2,#&104]
-        TEQ      a1,#&20
-        BNE      |L00840c.J64.loop_x|
-|L0083fc.J65.loop_x|
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        B        |L0084dc.J78.loop_x|
-|L00840c.J64.loop_x|
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        MOV      a2,#&3300000
-        ORR      a2,a2,a1,LSL #16
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&fa000000
-        BL       do_branch
-        MOV      a2,v4
-        MOV      a1,v1
-        BL       define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       skip_some_pixels
-        B        |L0083fc.J65.loop_x|
-|L008450.J55.loop_x|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_inc
-        ADD      a2,v1,#&48
-        MOV      v6,a2
-        MOV      a1,v1
-        BL       define_label
-        LDR      a4,[v2,#&40]
-        STMDB    sp!,{a4}
-        MOV      a4,v4
-        MOV      a1,v1
-        MOV      a3,#1
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a3,v3
-        MOV      a1,v1
-        MOV      a2,#&4a000000
-        BL       do_branch
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_inc
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1a8]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a3,v6
-        MOV      a1,v1
-        MOV      a2,#&1a000000
-|L0084dc.J78.loop_x|
-        BL       do_branch
-|L0084e0.J35.loop_x|
-        MOV      a2,v5
-        MOV      a1,v1
-        BL       define_label
-        LDR      a1,[v2,#&104]!
-        TEQ      a1,#&20
-        BEQ      |L008678.J81.loop_x|
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1b00000
-        ORR      a2,a2,#&da0
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      a2,#&1a00000
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&f2000000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1e8]
-        TEQ      a1,#0
-        LDREQ    a1,[v1,#&1ec]
-        TEQEQ    a1,#0
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      v2,v2,a1,LSL #8
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORRNE    a2,a1,#&1a00000
-        ORRNE    a2,a2,#&70
-        BNE      |L00864c.J79.loop_x|
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&30
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4900000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2600000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      v2,v2,a1,LSL #8
-        LDR      a1,[v1,#&158]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        ORR      a2,a2,#&30
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        ORR      v3,v2,a1,LSL #16
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1a0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #8
-        ORR      a1,v3,a1
-        ORR      a2,a1,#&1800000
-        ORR      a2,a2,#&10
-|L00864c.J79.loop_x|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&19c]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&198]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&4800000
-|L008670.J80.loop_x|
-        MOV      a1,v1
-        BL       do_ins
-|L008678.J81.loop_x|
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-loop_y
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v2,a1
-        MOV      v1,a2
-        SUB      sp,sp,#&10
-        LDR      a1,[a1,#&74]
-        MOV      v3,#1
-        MOV      a1,v3,LSL a1
-        STR      a1,[a2,#&1f8]
-        LDR      a1,[v2,#&78]
-        MOV      a1,v3,LSL a1
-        STR      a1,[a2,#&1fc]
-        LDR      a1,[a2,#&1f8]
-        MOV      a1,v3,LSL a1
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&200]
-        LDR      a2,[v1,#&1ec]
-        TEQ      a2,#0
-        LDR      a1,[v1,#&1f8]
-        BEQ      |L0086fc.J17.loop_y|
-        LDR      a2,[v1,#&1f0]
-        TEQ      a2,#0
-        STRNE    v3,[v1,#&204]
-        STRNE    v3,[v1,#&208]
-        STRNE    v3,[v1,#&20c]
-        BNE      |L0086fc.J17.loop_y|
-        STR      a1,[v1,#&204]
-        LDR      a1,[v1,#&1fc]
-        STR      a1,[v1,#&208]
-        LDR      a1,[v1,#&200]
-        STR      a1,[v1,#&20c]
-|L0086fc.J17.loop_y|
-        LDR      a2,[v1,#&214]
-        RSB      a1,a2,#5
-        STR      a1,[v1,#&224]
-        MOV      a1,v3,LSL a1
-        STR      a1,[v1,#&220]
-        LDR      a1,[v2,#&104]
-        MOV      a1,v3,LSL a1
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&218]
-        LDR      a1,[v2,#&100]
-        MOV      a1,v3,LSL a1
-        SUB      a1,a1,#1
-        STR      a1,[v1,#&21c]
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L0087a4.J20.loop_y|
-        LDR      a2,[v1,#&1f8]
-        CMP      a2,#&10
-        BLT      |L0087a4.J20.loop_y|
-        LDR      a1,[v2,#&104]
-        CMP      a1,a2
-        BGE      |L0087a4.J20.loop_y|
-        LDR      a2,[v2,#&138]
-        TST      a2,#1
-        BEQ      |L0087a4.J20.loop_y|
-        TEQ      a1,#&10
-        MOVEQ    a1,#2
-        BEQ      |L0087a0.J111.loop_y|
-        LDR      a1,[v1,#&210]
-        TEQ      a1,#3
-        RSBNE    a1,a1,#6
-        BNE      |L0087a0.J111.loop_y|
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        BEQ      |L00879c.J30.loop_y|
-        LDR      a1,[a3,#&1c]!
-        TEQ      a1,#1
-        MOVEQ    a1,#3
-        BEQ      |L0087a0.J111.loop_y|
-|L00879c.J30.loop_y|
-        MOV      a1,#4
-|L0087a0.J111.loop_y|
-        STR      a1,[v1,#&1f4]
-|L0087a4.J20.loop_y|
-        MOV      a1,v1
-        MVN      a2,#&2a000
-        ADD      a2,a2,#&9300000
-        BL       do_ins
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        STRNE    v3,[v1,#&1e4]
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       ptrs_rn
-        LDR      a1,[v1,#&1e0]
-        MOV      a1,v3,LSL a1
-        SUB      v5,a1,#1
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L0087f4.J39.loop_y|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L0087fc.J38.loop_y|
-|L0087f4.J39.loop_y|
-        MOV      v6,#&c
-        B        |L008800.J37.loop_y|
-|L0087fc.J38.loop_y|
-        MOV      v6,#8
-|L008800.J37.loop_y|
-        LDR      a1,[v1,#&1f4]
-        TEQ      a1,#0
-        ADDNE    v6,v6,#4
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       xloop_rn
-        MOV      a2,#1
-        LDR      a1,[v1,#&1e0]
-        MOV      a2,a2,LSL a1
-        SUB      a3,a2,#1
-        BIC      v3,a3,v5
-        RSB      v4,v6,a1,LSL #2
-        LDR      a1,[v1,#&164]
-        CMN      a1,#1
-        BEQ      |L00884c.J44.loop_y|
-        MOV      a2,#1
-        MVN      a1,a2,LSL a1
-        AND      v3,a1,v3
-        SUB      v4,v4,#4
-|L00884c.J44.loop_y|
-        LDR      a1,[v1,#&19c]
-        CMN      a1,#1
-        BEQ      |L008868.J46.loop_y|
-        MOV      a2,#1
-        MVN      a1,a2,LSL a1
-        AND      v3,a1,v3
-        SUB      v4,v4,#4
-|L008868.J46.loop_y|
-        LDR      a1,[v1,#&16c]
-        CMN      a1,#1
-        BEQ      |L008884.J48.loop_y|
-        MOV      a2,#1
-        MVN      a1,a2,LSL a1
-        AND      v3,a1,v3
-        SUB      v4,v4,#4
-|L008884.J48.loop_y|
-        LDR      a1,[v1,#&178]
-        CMN      a1,#1
-        BEQ      |L0088a0.J50.loop_y|
-        MOV      a2,#1
-        MVN      a1,a2,LSL a1
-        AND      v3,a1,v3
-        SUB      v4,v4,#4
-|L0088a0.J50.loop_y|
-        LDR      a1,[v1,#&17c]
-        CMN      a1,#1
-        BEQ      |L0088bc.J52.loop_y|
-        MOV      a2,#1
-        MVN      a1,a2,LSL a1
-        AND      v3,a1,v3
-        SUB      v4,v4,#4
-|L0088bc.J52.loop_y|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       yloop_rn_count
-        LDR      a2,[v1,#&1e0]
-        ADD      a2,a1,a2
-        LDR      a1,[v1,#&1e4]
-        ADD      a1,a2,a1
-        CMP      a1,#&d
-        MOVGT    a1,#0
-        MOVLE    a1,#1
-        STR      a1,[sp,#0]
-        CMP      a1,#0
-        MOVEQ    a1,#4
-        STREQ    a1,[v1,#&1e0]
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       yloop_rn
-        BNE      |L00891c.J59.loop_y|
-        MOV      a2,#1
-        LDR      a1,[v1,#&1e0]
-        MOV      a1,a2,LSL a1
-        SUB      a1,a1,#1
-        BIC      a1,a1,#&f
-        STR      a1,[sp,#4]
-|L00891c.J59.loop_y|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       fetch_pixel_init
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       save_pixel_init
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       xloop_init
-        LDR      a1,[v1,#&1f4]
-        TEQ      a1,#0
-        BEQ      |L0089a8.J61.loop_y|
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#4
-        BNE      |L0089a8.J61.loop_y|
-        MOV      a2,#1
-        LDR      a1,[v1,#&1ac]
-        MVN      a1,a2,LSL a1
-        AND      a1,a1,v3
-        MOV      a3,#1
-        LDR      a2,[v1,#&158]
-        ORR      v3,a1,a3,LSL a2
-        ORR      a1,v3,v5
-        ORR      a2,a1,#&9000000
-        ORR      a2,a2,#&2d0000
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,#1
-        LDR      a1,[v1,#&1ac]
-        ORR      a1,v3,a2,LSL a1
-        MOV      a3,#1
-        LDR      a2,[v1,#&158]
-        MVN      a2,a3,LSL a2
-        AND      v3,a2,a1
-        B        |L0089bc.J64.loop_y|
-|L0089a8.J61.loop_y|
-        ORR      a1,v3,v5
-        ORR      a2,a1,#&9000000
-        ORR      a2,a2,#&2d0000
-        MOV      a1,v1
-        BL       do_ins
-|L0089bc.J64.loop_y|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       yloop_init
-        LDR      a1,[v1,#&1f4]
-        TEQ      a1,#0
-        BEQ      |L008a0c.J65.loop_y|
-        LDR      a1,[v2,#&74]
-        TEQ      a1,#4
-        BNE      |L008a0c.J65.loop_y|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1ac]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-|L008a0c.J65.loop_y|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_y_scale
-        ADD      a2,v1,#&58
-        TEQ      a1,#0
-        STR      a2,[sp,#&c]
-        BNE      |L008a38.J68.loop_y|
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        LDR      a3,[sp,#&c]
-        BL       do_branch
-|L008a38.J68.loop_y|
-        ADD      a2,v1,#&50
-        MOV      a1,v1
-        STR      a2,[sp,#8]
-        BL       define_label
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_y_scale
-        TEQ      a1,#0
-        BNE      |L008a74.J70.loop_y|
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&8800000
-        MOV      a1,v1
-        BL       do_ins
-|L008a74.J70.loop_y|
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        BEQ      |L008c10.J72.loop_y|
-        LDR      a1,[v1,#&1dc]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&194]
-        BL       rr
-        MOV      a2,a1
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1dc]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&114
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v2,#&74]
-        CMP      a1,#5
-        BGE      |L008bcc.J74.loop_y|
-        TEQ      a1,#3
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        SUB      sp,sp,#4
-        BNE      |L008b68.J76.loop_y|
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&800000
-        B        |L008b98.J112.loop_y|
-|L008b68.J76.loop_y|
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&800000
-        ORR      a2,a2,#&80
-|L008b98.J112.loop_y|
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&3c00000
-        ORR      a2,a2,#3
-        B        |L008c08.J113.loop_y|
-|L008bcc.J74.loop_y|
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&800000
-        ORR      a2,a2,#&100
-|L008c08.J113.loop_y|
-        MOV      a1,v1
-        BL       do_ins
-|L008c10.J72.loop_y|
-        LDR      a1,[sp,#0]
-        CMP      a1,#0
-        BNE      |L008c78.J82.loop_y|
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a1,a1,v6
-        ORR      a2,a1,#&2800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[sp,#4]
-        ORR      a2,a1,#&9000000
-        ORR      a2,a2,#&2d0000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&8900000
-        MOV      a1,v1
-        BL       do_ins
-|L008c78.J82.loop_y|
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       loop_x
-        BEQ      |L008c9c.J83.loop_y|
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a1,a1,v5
-        B        |L008cbc.J114.loop_y|
-|L008c9c.J83.loop_y|
-        LDR      a1,[sp,#4]
-        ORR      a2,a1,#&8000000
-        ORR      a2,a2,#&bd0000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-|L008cbc.J114.loop_y|
-        ORR      a2,a1,#&8900000
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a2,v1
-        MOV      a1,v2
-        BL       simple_y_scale
-        ADD      v3,v1,#&198
-        TEQ      a1,#0
-        BEQ      |L008e40.J86.loop_y|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L008d60.J88.loop_y|
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        SUB      sp,sp,#4
-        BEQ      |L008d2c.J90.loop_y|
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#1
-        B        |L008d58.J115.loop_y|
-|L008d2c.J90.loop_y|
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1b8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&400000
-|L008d58.J115.loop_y|
-        MOV      a1,v1
-        BL       do_ins
-|L008d60.J88.loop_y|
-        LDR      a4,[v2,#0]
-        STMDB    sp!,{a4}
-        MOV      a4,v3
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#1
-        BL       odither_inc
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#0
-        BL       odither_inc
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L008dbc.J94.loop_y|
-        LDR      a1,[v2,#&f4]!
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L008dec.J93.loop_y|
-|L008dbc.J94.loop_y|
-        LDR      a1,[v1,#&168]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&168]
-        BL       rr
-        ORR      v2,v2,a1,LSL #16
-        LDR      a1,[v1,#&1bc]
-        BL       rr
-        ORR      a1,v2,a1
-        ORR      a2,a1,#&400000
-        MOV      a1,v1
-        BL       do_ins
-|L008dec.J93.loop_y|
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&8800000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&1b0]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1b0]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a1,v1
-        MOV      a2,#&ca000000
-        LDR      a3,[sp,#8]
-        BL       do_branch
-        B        |L0090d8.J97.loop_y|
-|L008e40.J86.loop_y|
-        LDR      a1,[v1,#&1b0]
-        BL       rr
-        MOV      v5,a1,LSL #12
-        LDR      a1,[v1,#&1b0]
-        BL       rr
-        ORR      a1,v5,a1,LSL #16
-        ORR      a2,a1,#&2500000
-        ORR      a2,a2,#1
-        MOV      a1,v1
-        BL       do_ins
-        ADD      a3,v1,#&60
-        MOV      v5,a3
-        MOV      a1,v1
-        MOV      a2,#&da000000
-        BL       do_branch
-        LDR      a4,[v2,#0]
-        STMDB    sp!,{a4}
-        MOV      a4,v3
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#1
-        BL       odither_inc
-        MOV      a2,v1
-        MOV      a1,v2
-        MOV      a3,#0
-        BL       odither_inc
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L008f78.J98.loop_y|
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&1d0]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&4100000
-        ADD      a3,v2,#&38
-        SUB      a1,a3,v2
-        ORR      a1,a1,#&1800000
-        ADD      a2,a2,a1
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&158]
-        BL       rr
-        MOV      v3,a1
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&1500000
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&c0000000
-        ORR      a2,a2,#&32800000
-        ORR      a2,a2,#&20
-        MOV      a1,v1
-        BL       do_ins
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      v3,a1,LSL #12
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        ORR      a1,v3,a1,LSL #16
-        ORR      a2,a1,#&2400000
-        ORR      a2,a2,#8
-        MOV      a1,v1
-        BL       do_ins
-|L008f78.J98.loop_y|
-        MOV      a1,v1
-        LDR      a2,[sp,#&c]
-        BL       define_label
-        LDR      a4,[v2,#&10]
-        STMDB    sp!,{a4}
-        ADD      a4,v1,#&1b4
-        MOV      v3,a4
-        MOV      a1,v1
-        MOV      a3,#1
-        MOV      a2,#0
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a1,v1
-        MOV      a2,#&5a000000
-        LDR      a3,[sp,#8]
-        BL       do_branch
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BEQ      |L009038.J100.loop_y|
-        LDR      a1,[v2,#&110]
-        TEQ      a1,#0
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        SUB      sp,sp,#4
-        BEQ      |L009004.J102.loop_y|
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1,LSL #16
-        ORR      a2,a1,#&2800000
-        ORR      a2,a2,#1
-        B        |L009030.J116.loop_y|
-|L009004.J102.loop_y|
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&15c]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1b8]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&400000
-|L009030.J116.loop_y|
-        MOV      a1,v1
-        BL       do_ins
-|L009038.J100.loop_y|
-        LDR      a1,[v1,#&1f0]
-        TEQ      a1,#0
-        BNE      |L009054.J106.loop_y|
-        LDR      a1,[v2,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        BNE      |L009094.J105.loop_y|
-|L009054.J106.loop_y|
-        LDR      a1,[v1,#&168]
-        BL       rr
-        MOV      a2,a1,LSL #12
-        STR      a2,[sp,#-4]!
-        LDR      a1,[v1,#&168]
-        BL       rr
-        LDR      a2,[sp,#0]
-        ORR      a2,a2,a1,LSL #16
-        STR      a2,[sp,#0]
-        LDR      a1,[v1,#&1bc]
-        BL       rr
-        LDR      a2,[sp],#4
-        ORR      a1,a2,a1
-        ORR      a2,a1,#&400000
-        MOV      a1,v1
-        BL       do_ins
-|L009094.J105.loop_y|
-        ADD      v2,v2,#&c
-        LDMIB    v2!,{a1,a2}
-        ADD      a4,a1,a2
-        STMDB    sp!,{a4}
-        MOV      a4,v3
-        MOV      a1,v1
-        MOV      a3,#0
-        MOV      a2,#1
-        BL       arbitrary_add
-        ADD      sp,sp,#4
-        MOV      a1,v1
-        MOV      a2,#&a000000
-        LDR      a3,[sp,#&c]
-        BL       do_branch
-        MOV      a2,v5
-        MOV      a1,v1
-        BL       define_label
-|L0090d8.J97.loop_y|
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        MOV      v2,a1,LSL #12
-        LDR      a1,[v1,#&1d4]
-        BL       rr
-        ORR      a1,v2,a1,LSL #16
-        ADD      a2,v4,v6
-        ORR      a1,a1,a2
-        ORR      a2,a1,#&2800000
-        MOV      a1,v1
-        BL       do_ins
-        MOV      a1,v1
-        MVN      a2,#&2a000
-        ADD      a2,a2,#&8c00000
-        BL       do_ins
-        LDR      a1,[v1,#&1d8]
-        BL       rr
-        MOV      v2,a1
-        LDR      a1,[v1,#&1dc]
-        BL       rr
-        ORR      a1,v2,a1,LSL #12
-        ORR      a2,a1,#&1a00000
-        MOV      a1,v1
-        BL       do_ins
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-find_or_compile_code
-        MOV      ip,sp
-        STMDB    sp!,{v1-v5,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        MOV      v3,a3
-        LDR      a1,[a1,#&74]
-        LDR      a2,[a2,#&210]
-        ADD      a3,a1,a2,LSL #3
-        LDR      a2,[v2,#&1e8]
-        ADD      v4,a3,a2,LSL #6
-        LDR      a2,[v2,#&1ec]
-        TEQ      a2,#0
-        ORRNE    v4,v4,#&200
-        LDR      a2,[v2,#&1f0]
-        TEQ      a2,#0
-        ORRNE    v4,v4,#&400
-        LDR      a2,[v1,#&f8]
-        TEQ      a2,#0
-        ORRNE    v4,v4,#&800
-        LDR      a2,[v1,#&b4]
-        TEQ      a2,#0
-        ORRNE    v4,v4,#&1000
-        LDR      a2,[v1,#&104]
-        LDR      a3,[v1,#&100]
-        TEQ      a2,a3
-        ORRNE    v4,v4,#&2000
-        LDR      a2,[v1,#&78]
-        TEQ      a1,a2
-        ORRNE    v4,v4,#&4000
-        LDR      a1,[v1,#&f4]
-        AND      a1,a1,#&ff
-        TEQ      a1,#&32
-        ORREQ    v4,v4,#&8000
-        LDR      a2,[v1,#&110]
-        CMP      a2,#0
-        BEQ      |L0091e4.J20.find_or_compile_code|
-        ORR      v4,v4,#&10000
-        BEQ      |L0091e4.J20.find_or_compile_code|
-        LDR      a1,[v3,#&1c]
-        TEQ      a1,#1
-        ORREQ    v4,v4,#&20000
-|L0091e4.J20.find_or_compile_code|
-        LDR      a1,[v1,#&10c]
-        TEQ      a1,#0
-        BEQ      |L00920c.J23.find_or_compile_code|
-        ORR      v4,v4,#&40000
-        LDR      a3,[v2,#&228]
-        TEQ      a3,#0
-        ORRNE    v4,v4,#&80000
-        LDR      a1,[a1,#&10]
-        TEQ      a1,#3
-        ORREQ    v4,v4,#&100000
-|L00920c.J23.find_or_compile_code|
-        TEQ      a2,#0
-        LDRNE    a1,[v1,#&138]
-        ANDNE    a1,a1,#1
-        TEQNE    a1,#0
-        ORRNE    v4,v4,#&200000
-        ADD      a1,v2,#&22c
-        ADD      a2,v2,#&2ec
-        ADD      a2,a2,#&2000
-        CMP      a2,a1
-        BLS      |L009290.J33.find_or_compile_code|
-|L009234.J32.find_or_compile_code|
-        LDR      a3,[a1,#0]
-        TEQ      a3,v4
-        LDREQ    a3,[a1,#4]
-        LDREQ    a4,[v1,#&44]
-        TEQEQ    a3,a4
-        LDREQ    a3,[a1,#8]
-        LDREQ    a4,[v1,#&40]
-        TEQEQ    a3,a4
-        LDREQ    a4,[a1,#&c]
-        LDREQ    a3,[v1,#&14]
-        TEQEQ    a4,a3
-        LDREQ    a3,[a1,#&10]
-        LDREQ    a4,[v1,#&10]
-        TEQEQ    a3,a4
-        LDREQ    a4,[a1,#&14]
-        LDREQ    a3,[v1,#0]
-        TEQEQ    a4,a3
-        ADDEQ    a1,a1,#&18
-        LDMEQDB  fp,{v1-v5,fp,sp,pc}^
-        ADD      a1,a1,#&18
-        ADD      a1,a1,#&400
-        CMP      a2,a1
-        BHI      |L009234.J32.find_or_compile_code|
-|L009290.J33.find_or_compile_code|
-        LDR      a1,[v2,#8]
-        ADD      ip,a1,a1,LSL #1
-        ADD      a1,ip,a1,LSL #7
-        ADD      a1,v2,a1,LSL #3
-        ADD      v5,a1,#&22c
-        MVN      a1,#0
-        STR      a1,[v5,#0]
-        LDR      a1,[v1,#&44]
-        STR      a1,[v5,#4]
-        LDR      a1,[v1,#&40]
-        STR      a1,[v5,#8]
-        LDR      a1,[v1,#&14]
-        STR      a1,[v5,#&c]
-        LDR      a1,[v1,#&10]
-        STR      a1,[v5,#&10]
-        LDR      a1,[v1,#0]
-        MOV      a2,v2
-        STR      a1,[v5,#&14]
-        MOV      a1,v1
-        BL       compile_buffer_init
-        MOV      a3,v3
-        MOV      a2,v2
-        MOV      a1,v1
-        BL       loop_y
-        MOV      a1,v2
-        BL       compile_buffer_done
-        STR      v4,[v5,#0]
-        LDR      a1,[v2,#&c]!
-        LDMDB    fp,{v1-v5,fp,sp,pc}^
-
-        IMPORT  create_dynamic_area
-putscaled_compiler
-        MOV      ip,sp
-        STMDB    sp!,{v1-v6,fp,ip,lr,pc}
-        SUB      fp,ip,#4
-        MOV      v1,a1
-        MOV      v2,a2
-        MOV      v3,a4
-        SUB      sp,sp,#4
-        ADD      a1,a2,#&2f0
-        ADD      a1,a1,#&2000
-        CMP      a1,a3
-        MOVHI    a2,#4
-        MOVHI    a1,#&5a
-        ADDHI    a1,a1,#&f00
-        BLHI     exit_c
-        MOV      a1,v2
-        BL       check_workspace
-        AND      a1,v3,#7
-        STR      a1,[v2,#&1e8]
-        TST      v3,#8
-        MOV      a3,#0
-        MOVEQ    a1,a3
-        MOVNE    a1,#1
-        STR      a1,[v2,#&1ec]
-        MOV      a3,#0
-        LDR      a2,[v1,#&80]
-        TEQ      a3,a2,ASR #27
-        MOVEQ    a2,#0
-        MOVNE    a2,#1
-        AND      a1,a2,a1
-        STR      a1,[v2,#&1f0]
-        LDR      a1,[v1,#&110]
-        TEQ      a1,#0
-        BEQ      |L009780.J12.putscaled_compiler|
-        LDR      v4,[v1,#&120]
-        LDR      a1,[v4,#&20]
-        ADD      a1,v4,a1
-        MOV      a2,#0
-        STR      a2,[sp,#-8]!
-        LDR      a2,[a1,#0]
-        CMN      a2,#1
-        LDREQ    v5,[a1,#4]
-        LDREQ    a1,[a1,#8]
-        BEQ      |L0093c8.J123.putscaled_compiler|
-        LDR      a1,[v4,#&20]
-        ADD      a2,v4,a1
-        ADD      v5,a2,#4
-        LDR      a2,[v4,#0]
-        SUB      a1,a2,a1
-        SUB      a1,a1,#4
-|L0093c8.J123.putscaled_compiler|
-        MOV      a4,#0
-        STR      a1,[sp,#4]
-        MOV      a3,sp
-        MOV      a2,#0
-        STMDB    sp!,{a2-a4}
-        MOV      a1,v5
-        MOV      a3,#0
-        BL       find_image_dims
-        ADD      sp,sp,#&c
-        TEQ      a1,#0
-        MOVNE    a2,#2
-        MOVNE    a1,#&87
-        ADDNE    a1,a1,#&f00
-        BLNE     exit_c
-        LDR      a1,[v1,#&124]
-        STR      a1,[sp,#8]
-        TEQ      a1,#0
-        SUB      sp,sp,#4
-        BNE      |L009490.J19.putscaled_compiler|
-        LDR      a1,[sp,#4]
-        BL       create_dynamic_area
-        MOVS     v3,a1
-        MOVEQ    a2,#1
-        MOVEQ    a1,#&95
-        ADDEQ    a1,a1,#&f00
-        BLEQ     exit_c
-        MOV      a4,sp
-        STMDB    sp!,{a4}
-        ADD      a4,sp,#&10
-        MOV      a3,v3
-        MOV      a2,#&c0000001
-        MOV      a1,#&5c
-        BL       _swix
-        ADD      sp,sp,#4
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&9b
-        ADDNE    a1,a1,#&f00
-        BLNE     exit_c
-        LDR      a1,[sp,#&c]
-        MVN      a2,#0
-        ADD      v1,v1,#&124
-        STMIA    v1,{a1,v3}
-        SUB      v1,v1,#&124
-        LDR      a1,[sp,#&c]
-        STR      a2,[a1,#0]
-        LDR      a1,[sp,#&c]
-        LDR      a2,[sp,#0]
-        STR      a2,[a1,#&10]!
-        B        |L009550.J32.putscaled_compiler|
-|L009490.J19.putscaled_compiler|
-        MOV      a4,sp
-        MOV      a2,#&40000001
-        MOV      a1,#&5c
-        LDR      a3,[v1,#&128]
-        BL       _swix
-        MOV      a3,a1
-        LDR      a1,[sp,#0]
-        CMP      a1,#0
-        BLE      |L0094d4.J26.putscaled_compiler|
-        LDR      a2,[sp,#&c]
-        LDR      a4,[a2,#&10]
-        TEQ      a1,a4
-        BEQ      |L0094d4.J26.putscaled_compiler|
-        MVN      a4,#0
-        STR      a4,[a2,#0]
-        LDR      a2,[sp,#&c]
-        STR      a1,[a2,#&10]!
-|L0094d4.J26.putscaled_compiler|
-        TEQ      a3,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&b9
-        ADDNE    a1,a1,#&f00
-        BLNE     exit_c
-        LDR      a1,[sp,#4]
-        LDR      a2,[sp,#0]
-        CMP      a2,a1
-        BGE      |L009550.J32.putscaled_compiler|
-        SUB      sp,sp,#4
-        MOV      a4,sp
-        STMDB    sp!,{a4}
-        SUB      a4,a1,a2
-        MOV      a2,#&40000003
-        MOV      a1,#&2a
-        LDR      a3,[v1,#&128]
-        BL       _swix
-        ADD      sp,sp,#4
-        TEQ      a1,#0
-        MOVNE    a2,#1
-        MOVNE    a1,#&c1
-        ADDNE    a1,a1,#&f00
-        BLNE     exit_c
-        MVN      a2,#0
-        LDR      a1,[sp,#&10]
-        STR      a2,[a1,#0]
-        LDR      a2,[sp],#4
-        LDR      a1,[sp,#0]
-        ADD      a1,a1,a2
-        LDR      a2,[sp,#&c]
-        STR      a1,[a2,#&10]!
-|L009550.J32.putscaled_compiler|
-        ADD      sp,sp,#4
-        LDR      a1,[v1,#&74]
-        TEQ      a1,#5
-        MOVNE    a2,#4
-        MOVNE    a1,#&3dc
-        ADDNE    a1,a1,#&c00
-        BLNE     exit_c
-        LDR      a1,[v2,#&1ec]
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&dd
-        ADDNE    a1,a1,#&f00
-        BLNE     exit_c
-        MOV      a2,#0
-        LDR      a1,[v1,#&80]
-        TEQ      a2,a1,ASR #24
-        MOVEQ    a1,#0
-        STREQ    a1,[v1,#&b4]
-        STREQ    a1,[v1,#&f8]
-        SUB      sp,sp,#4
-        LDR      a1,[v1,#&40]
-        LDR      a2,[v1,#&2c]
-        MUL      a2,a1,a2
-        LDR      a3,[v1,#&44]
-        SUB      a1,a3,a1
-        BL       |__rt_sdiv|
-        LDR      a2,[v1,#&114]
-        ADD      a1,a1,a2
-        ADD      v6,a1,#2
-        MOV      v3,#0
-        STR      v3,[sp,#0]
-        LDR      a1,[v1,#&104]
-        CMP      a1,#4
-        BGT      |L0095ec.J42.putscaled_compiler|
-        MOV      v3,#1
-        LDR      a2,[v1,#&134]
-        TST      a2,#2
-        MOVEQ    a2,#0
-        STREQ    a2,[v1,#&b4]
-|L0095ec.J42.putscaled_compiler|
-        CMP      v6,#0
-        LDRLT    a2,[v4,#&10]!
-        SUBLT    v6,a2,#1
-        ADD      a3,v1,#&40
-        LDMIA    a3,{a2,a3}
-        SUB      a3,a3,a2
-        ADD      a3,a3,a3,LSL #1
-        CMP      a2,a3,LSL #1
-        BLT      |L009628.J48.putscaled_compiler|
-        ADD      a3,v1,#&10
-        LDMIA    a3,{a2,a3}
-        SUB      a3,a3,a2
-        ADD      a3,a3,a3,LSL #1
-        CMP      a2,a3,LSL #1
-        ORRGE    v3,v3,#2
-|L009628.J48.putscaled_compiler|
-        LDR      a2,[v1,#&134]
-        TST      a2,#2
-        BNE      |L009704.J51.putscaled_compiler|
-        LDR      a2,[v1,#&138]
-        TST      a2,#1
-        BEQ      |L009704.J51.putscaled_compiler|
-        SUB      sp,sp,#4
-        TEQ      a1,#8
-        BNE      |L0096f8.J54.putscaled_compiler|
-        MOV      a4,sp
-        MOV      a3,#0
-        MOV      a2,#&400
-        MOV      a1,#0
-        STMDB    sp!,{a1-a4}
-        MVN      a4,#0
-        MVN      a3,#0
-        MOV      a2,#&1000000f
-        ADD      a2,a2,#&10
-        LDR      a1,[pc, #L0096c4-.-8]
-        BL       _swix
-        ADD      sp,sp,#&10
-        MOV      a4,#0
-        MOV      a3,#&400
-        ADD      a2,v1,#&13c
-        STMDB    sp!,{a2-a4}
-        MVN      a4,#0
-        MVN      a3,#0
-        MOV      a2,#&1f
-        LDR      a1,[pc, #L0096c4-.-8]
-        BL       _swix
-        ADD      sp,sp,#&c
-        LDR      a1,[v1,#&138]
-        TST      a1,#2
-        BEQ      |L0096c8.J56.putscaled_compiler|
-        ORR      v3,v3,#8
-        MVN      a1,#0
-        LDR      a2,[sp,#&10]
-        STR      a1,[a2,#0]
-        B        |L009700.J61.putscaled_compiler|
-L0096c4
-        DCD     &0004075c
-|L0096c8.J56.putscaled_compiler|
-        ADD      a4,sp,#4
-        STMDB    sp!,{a4}
-        MOV      a4,#0
-        MVN      a3,#0
-        MOV      a2,#&20000003
-        MOV      a1,#&35
-        BL       _swix
-        ADD      sp,sp,#4
-        LDR      a1,[sp,#4]
-        TST      a1,#&80
-        ORREQ    v3,v3,#&20
-        B        |L009700.J61.putscaled_compiler|
-|L0096f8.J54.putscaled_compiler|
-        TEQ      a1,#&10
-        ORREQ    v3,v3,#&10
-|L009700.J61.putscaled_compiler|
-        ADD      sp,sp,#4
-|L009704.J51.putscaled_compiler|
-        MOV      a4,v3
-        MVN      a3,#0
-        MVN      a2,#0
-        MOV      a1,v6
-        STMDB    sp!,{a1-a4}
-        LDR      a4,[v1,#&114]
-        MOV      a2,v5
-        LDR      a1,[sp,#&1c]
-        LDR      a3,[sp,#&18]
-        BL       jpeg_scan_file
-        ADD      sp,sp,#&10
-        TEQ      a1,#0
-        MOVNE    a2,#2
-        MOVNE    a1,#&3a
-        ADDNE    a1,a1,#&1000
-        BLNE     exit_c
-        LDR      a1,[sp,#&c]
-        LDR      a1,[a1,#4]
-        TST      a1,#&28
-        BEQ      |L00976c.J66.putscaled_compiler|
-        MOV      a1,#3
-        STR      a1,[v1,#&78]
-        STR      a1,[v1,#&74]
-        MOV      a1,#0
-        STR      a1,[v1,#&b4]
-        B        |L00977c.J68.putscaled_compiler|
-|L00976c.J66.putscaled_compiler|
-        TST      a1,#&10
-        MOVNE    a1,#4
-        STRNE    a1,[v1,#&78]
-        STRNE    a1,[v1,#&74]
-|L00977c.J68.putscaled_compiler|
-        ADD      sp,sp,#&c
-|L009780.J12.putscaled_compiler|
-        MOV      v3,#0
-        STR      v3,[v2,#&1f4]
-        LDR      v4,[v1,#&10c]
-        TEQ      v4,#0
-        BEQ      |L00982c.J71.putscaled_compiler|
-        LDR      a1,[v4,#4]
-        TEQ      a1,#0
-        BNE      |L0097bc.J74.putscaled_compiler|
-        LDR      a1,[v4,#8]
-        CMN      a1,#&100
-        BNE      |L0097bc.J74.putscaled_compiler|
-        LDR      a1,[v4,#&c]
-        TEQ      a1,#0
-        MOVEQ    a1,#1
-        BEQ      |L0097c0.J73.putscaled_compiler|
-|L0097bc.J74.putscaled_compiler|
-        MOV      a1,v3
-|L0097c0.J73.putscaled_compiler|
-        STR      a1,[v2,#&228]
-        LDR      a1,[v1,#&104]
-        TEQ      a1,#&20
-        MOVNE    a2,#4
-        MOVNE    a1,#&98
-        ADDNE    a1,a1,#&1000
-        BLNE     exit_c
-        LDR      a1,[v1,#&74]
-        CMP      a1,#4
-        MOVLT    a2,#4
-        MOVLT    a1,#&99
-        ADDLT    a1,a1,#&1000
-        BLLT     exit_c
-        LDR      a1,[v1,#&b4]
-        TEQ      a1,#0
-        LDREQ    a1,[v1,#&f8]
-        TEQEQ    a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&9a
-        ADDNE    a1,a1,#&1000
-        BLNE     exit_c
-        LDR      a1,[v4,#0]
-        TEQ      a1,#0
-        MOVNE    a2,#4
-        MOVNE    a1,#&9b
-        ADDNE    a1,a1,#&1000
-        BLNE     exit_c
-|L00982c.J71.putscaled_compiler|
-        MOV      a1,#0
-        LDR      a2,[v1,#&104]
-        CMP      a2,#1
-        BLE      |L00984c.J89.putscaled_compiler|
-|L00983c.J88.putscaled_compiler|
-        MOV      a2,a2,ASR #1
-        ADD      a1,a1,#1
-        CMP      a2,#1
-        BGT      |L00983c.J88.putscaled_compiler|
-|L00984c.J89.putscaled_compiler|
-        STR      a1,[v2,#&210]
-        STR      a1,[v2,#&214]
-        LDR      a2,[v1,#&104]
-        LDR      a3,[v1,#&100]
-        TEQ      a2,a3
-        ADDNE    a1,a1,#1
-        STRNE    a1,[v2,#&214]
-        LDR      a1,[v1,#&f8]
-        TEQ      a1,#0
-        STRNE    v3,[v1,#&b4]
-        LDR      a1,[v1,#&44]
-        CMP      a1,#0
-        MOVLE    a2,#4
-        MOVLE    a1,#&ac
-        ADDLE    a1,a1,#&1000
-        BLLE     exit_c
-        LDR      a1,[v1,#&40]
-        CMP      a1,#0
-        MOVLE    a2,#4
-        MOVLE    a1,#&ad
-        ADDLE    a1,a1,#&1000
-        BLLE     exit_c
-        LDR      a1,[v1,#&10]
-        CMP      a1,#0
-        MOVLE    a2,#4
-        MOVLE    a1,#&ae
-        ADDLE    a1,a1,#&1000
-        BLLE     exit_c
-        LDR      a1,[v1,#&10]
-        CMP      a1,#0
-        MOVLE    a2,#4
-        MOVLE    a1,#&af
-        ADDLE    a1,a1,#&1000
-        BLLE     exit_c
-        B        |L0098fc.J105.putscaled_compiler|
-|L0098d8.J104.putscaled_compiler|
-        MOV      a4,a4,ASR #1
-        MOV      a2,a2,ASR #1
-        ADD      v1,v1,#&40
-        STMIA    v1,{a2,a4}
-        SUB      v1,v1,#&40
-        MOV      a2,a3,ASR #1
-        MOV      a1,a1,ASR #1
-        STR      a1,[v1,#&68]
-        STR      a2,[v1,#&30]
-|L0098fc.J105.putscaled_compiler|
-        LDR      a4,[v1,#&44]
-        TST      a4,#1
-        LDREQ    a2,[v1,#&40]
-        ANDEQ    a1,a2,#1
-        TEQEQ    a1,#0
-        LDREQ    a3,[v1,#&30]
-        ANDEQ    a1,a3,#1
-        TEQEQ    a1,#0
-        LDREQ    a1,[v1,#&68]
-        ANDEQ    ip,a1,#1
-        TEQEQ    ip,#0
-        BEQ      |L0098d8.J104.putscaled_compiler|
-        B        |L00994c.J112.putscaled_compiler|
-|L009930.J111.putscaled_compiler|
-        MOV      a3,a3,ASR #1
-        MOV      a2,a2,ASR #1
-        MOV      a1,a1,ASR #1
-        STR      a1,[v1,#&1c]
-        ADD      v1,v1,#&10
-        STMIA    v1,{a2,a3}
-        SUB      v1,v1,#&10
-|L00994c.J112.putscaled_compiler|
-        LDR      a3,[v1,#&14]
-        TST      a3,#1
-        LDREQ    a2,[v1,#&10]
-        ANDEQ    a1,a2,#1
-        TEQEQ    a1,#0
-        LDREQ    a1,[v1,#&1c]
-        ANDEQ    a4,a1,#1
-        TEQEQ    a4,#0
-        BEQ      |L009930.J111.putscaled_compiler|
-        LDR      a1,[v1,#&104]
-        LDR      v3,[v1,#&100]
-        LDR      v4,[v1,#&78]
-        STR      a1,[v1,#&100]
-        LDR      a1,[v1,#&74]
-        STR      a1,[v1,#&78]
-        MOV      a2,v2
-        MOV      a1,v1
-        LDR      a3,[sp,#0]
-        BL       find_or_compile_code
-        STR      v4,[v1,#&78]!
-        STR      v3,[v1,#&88]
-        LDMDB    fp,{v1-v6,fp,sp,pc}^
-
-        AREA |C$$data|,DATA
-
-|x$dataseg|
-
-        END
diff --git a/s/yuvtabs b/s/yuvtabs
deleted file mode 100644
index 5aeaeb5..0000000
--- a/s/yuvtabs
+++ /dev/null
@@ -1,633 +0,0 @@
-; Copyright 1996 Acorn Computers Ltd
-;
-; Licensed under the Apache License, Version 2.0 (the "License");
-; you may not use this file except in compliance with the License.
-; You may obtain a copy of the License at
-;
-;     http://www.apache.org/licenses/LICENSE-2.0
-;
-; Unless required by applicable law or agreed to in writing, software
-; distributed under the License is distributed on an "AS IS" BASIS,
-; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-; See the License for the specific language governing permissions and
-; limitations under the License.
-;
-; YUV<->pixel tables, generated Mar 17 1995
-pixel_to_yuv_table ; word i is the closest yuv value to VIDC1 8bpp pixel i
- DCB 128, 128, 0, 0, 128, 128, 17, 0, 128, 128, 34, 0, 128, 128, 50, 0
- DCB 162, 116, 20, 0, 162, 116, 37, 0, 162, 116, 54, 0, 162, 116, 71, 0
- DCB 122, 162, 7, 0, 122, 162, 24, 0, 122, 162, 41, 0, 122, 162, 58, 0
- DCB 156, 150, 28, 0, 156, 150, 45, 0, 156, 150, 62, 0, 156, 150, 79, 0
- DCB 196, 105, 40, 0, 196, 105, 57, 0, 196, 105, 74, 0, 196, 105, 91, 0
- DCB 230, 93, 60, 0, 230, 93, 77, 0, 230, 93, 94, 0, 230, 93, 111, 0
- DCB 190, 139, 48, 0, 190, 139, 65, 0, 190, 139, 82, 0, 190, 139, 99, 0
- DCB 224, 127, 68, 0, 224, 127, 85, 0, 224, 127, 102, 0, 224, 127, 119, 0
- DCB 99, 105, 39, 0, 99, 105, 56, 0, 99, 105, 73, 0, 99, 105, 90, 0
- DCB 133, 94, 60, 0, 133, 94, 77, 0, 133, 94, 94, 0, 133, 94, 111, 0
- DCB 94, 139, 47, 0, 94, 139, 64, 0, 94, 139, 81, 0, 94, 139, 98, 0
- DCB 128, 128, 68, 0, 128, 128, 85, 0, 128, 128, 101, 0, 128, 128, 119, 0
- DCB 167, 82, 80, 0, 167, 82, 97, 0, 167, 82, 114, 0, 167, 82, 131, 0
- DCB 201, 71, 100, 0, 201, 71, 117, 0, 201, 71, 134, 0, 201, 71, 151, 0
- DCB 162, 116, 88, 0, 162, 116, 105, 0, 162, 116, 122, 0, 162, 116, 139, 0
- DCB 196, 105, 108, 0, 196, 105, 125, 0, 196, 105, 142, 0, 196, 105, 159, 0
- DCB 71, 82, 79, 0, 71, 82, 96, 0, 71, 82, 113, 0, 71, 82, 130, 0
- DCB 105, 71, 100, 0, 105, 71, 117, 0, 105, 71, 134, 0, 105, 71, 151, 0
- DCB 65, 116, 87, 0, 65, 116, 104, 0, 65, 116, 121, 0, 65, 116, 138, 0
- DCB 99, 105, 107, 0, 99, 105, 124, 0, 99, 105, 141, 0, 99, 105, 158, 0
- DCB 139, 60, 120, 0, 139, 60, 137, 0, 139, 60, 154, 0, 139, 60, 171, 0
- DCB 173, 48, 140, 0, 173, 48, 157, 0, 173, 48, 174, 0, 173, 48, 191, 0
- DCB 133, 94, 128, 0, 133, 94, 145, 0, 133, 94, 162, 0, 133, 94, 179, 0
- DCB 167, 82, 148, 0, 167, 82, 165, 0, 167, 82, 182, 0, 167, 82, 199, 0
- DCB 42, 60, 119, 0, 42, 60, 136, 0, 42, 60, 153, 0, 42, 60, 170, 0
- DCB 76, 48, 140, 0, 76, 48, 157, 0, 76, 48, 174, 0, 76, 48, 191, 0
- DCB 37, 94, 127, 0, 37, 94, 144, 0, 37, 94, 161, 0, 37, 94, 178, 0
- DCB 71, 82, 147, 0, 71, 82, 164, 0, 71, 82, 181, 0, 71, 82, 198, 0
- DCB 110, 37, 160, 0, 110, 37, 177, 0, 110, 37, 194, 0, 110, 37, 211, 0
- DCB 144, 26, 180, 0, 144, 26, 197, 0, 144, 26, 214, 0, 144, 26, 231, 0
- DCB 105, 71, 168, 0, 105, 71, 185, 0, 105, 71, 202, 0, 105, 71, 219, 0
- DCB 139, 60, 188, 0, 139, 60, 205, 0, 139, 60, 222, 0, 139, 60, 239, 0
- DCB 116, 196, 15, 0, 116, 196, 32, 0, 116, 196, 49, 0, 116, 196, 66, 0
- DCB 150, 184, 35, 0, 150, 184, 52, 0, 150, 184, 69, 0, 150, 184, 86, 0
- DCB 111, 230, 23, 0, 111, 230, 40, 0, 111, 230, 57, 0, 111, 230, 74, 0
- DCB 145, 218, 43, 0, 145, 218, 60, 0, 145, 218, 77, 0, 145, 218, 94, 0
- DCB 184, 173, 56, 0, 184, 173, 73, 0, 184, 173, 90, 0, 184, 173, 107, 0
- DCB 218, 161, 76, 0, 218, 161, 93, 0, 218, 161, 110, 0, 218, 161, 127, 0
- DCB 179, 207, 63, 0, 179, 207, 80, 0, 179, 207, 97, 0, 179, 207, 114, 0
- DCB 213, 195, 84, 0, 213, 195, 101, 0, 213, 195, 118, 0, 213, 195, 135, 0
- DCB 88, 173, 55, 0, 88, 173, 72, 0, 88, 173, 89, 0, 88, 173, 106, 0
- DCB 122, 162, 75, 0, 122, 162, 92, 0, 122, 162, 109, 0, 122, 162, 126, 0
- DCB 82, 207, 63, 0, 82, 207, 80, 0, 82, 207, 97, 0, 82, 207, 114, 0
- DCB 116, 196, 83, 0, 116, 196, 100, 0, 116, 196, 117, 0, 116, 196, 134, 0
- DCB 156, 150, 96, 0, 156, 150, 113, 0, 156, 150, 130, 0, 156, 150, 147, 0
- DCB 190, 139, 116, 0, 190, 139, 133, 0, 190, 139, 150, 0, 190, 139, 167, 0
- DCB 150, 184, 103, 0, 150, 184, 120, 0, 150, 184, 137, 0, 150, 184, 154, 0
- DCB 184, 173, 124, 0, 184, 173, 141, 0, 184, 173, 158, 0, 184, 173, 175, 0
- DCB 60, 150, 95, 0, 60, 150, 112, 0, 60, 150, 129, 0, 60, 150, 146, 0
- DCB 94, 139, 115, 0, 94, 139, 132, 0, 94, 139, 149, 0, 94, 139, 166, 0
- DCB 54, 184, 103, 0, 54, 184, 120, 0, 54, 184, 137, 0, 54, 184, 154, 0
- DCB 88, 173, 123, 0, 88, 173, 140, 0, 88, 173, 157, 0, 88, 173, 174, 0
- DCB 128, 128, 136, 0, 128, 128, 153, 0, 128, 128, 170, 0, 128, 128, 187, 0
- DCB 162, 116, 156, 0, 162, 116, 173, 0, 162, 116, 190, 0, 162, 116, 207, 0
- DCB 122, 162, 143, 0, 122, 162, 160, 0, 122, 162, 177, 0, 122, 162, 194, 0
- DCB 156, 150, 164, 0, 156, 150, 181, 0, 156, 150, 198, 0, 156, 150, 215, 0
- DCB 31, 128, 135, 0, 31, 128, 152, 0, 31, 128, 169, 0, 31, 128, 186, 0
- DCB 65, 116, 155, 0, 65, 116, 172, 0, 65, 116, 189, 0, 65, 116, 206, 0
- DCB 26, 162, 143, 0, 26, 162, 160, 0, 26, 162, 177, 0, 26, 162, 194, 0
- DCB 60, 150, 163, 0, 60, 150, 180, 0, 60, 150, 197, 0, 60, 150, 214, 0
- DCB 99, 105, 175, 0, 99, 105, 192, 0, 99, 105, 209, 0, 99, 105, 226, 0
- DCB 133, 94, 196, 0, 133, 94, 213, 0, 133, 94, 230, 0, 133, 94, 247, 0
- DCB 94, 139, 183, 0, 94, 139, 200, 0, 94, 139, 217, 0, 94, 139, 234, 0
- DCB 128, 128, 203, 0, 128, 128, 221, 0, 128, 128, 238, 0, 128, 128, 255, 0
-
-yuv_to_pixel_table
-yuvtab_ybits * 5
-yuvtab_ubits * 4
-yuvtab_vbits * 4
-; A byte table indexed by yuv value, returns the closest 8bpp pixel
- ; y=0
- DCB 64, 64, 64, 33, 32, 32, 32, 32, 1, 1, 4, 4, 16, 16, 16, 20
- DCB 64, 64, 64, 32, 32, 32, 32, 32, 1, 1, 4, 4, 16, 16, 16, 20
- DCB 64, 64, 33, 32, 32, 32, 32, 32, 1, 1, 4, 4, 16, 16, 16, 20
- DCB 64, 64, 32, 32, 32, 32, 32, 1, 1, 1, 4, 4, 16, 16, 16, 20
- DCB 64, 33, 32, 32, 32, 32, 32, 1, 0, 1, 4, 4, 16, 16, 16, 20
- DCB 64, 33, 32, 32, 32, 32, 1, 0, 0, 1, 4, 4, 16, 16, 16, 20
- DCB 33, 32, 32, 32, 32, 32, 1, 0, 0, 1, 4, 4, 16, 16, 16, 20
- DCB 33, 32, 32, 32, 32, 1, 0, 0, 0, 1, 4, 4, 16, 16, 16, 20
- DCB 33, 32, 32, 32, 1, 1, 1, 0, 0, 1, 4, 5, 5, 16, 17, 20
- DCB 40, 40, 40, 40, 2, 1, 8, 8, 8, 2, 12, 12, 6, 24, 24, 28
- DCB 40, 40, 40, 40, 9, 8, 8, 8, 8, 9, 12, 12, 13, 24, 24, 28
- DCB 41, 160, 10, 9, 9, 9, 9, 9, 9, 9, 132, 13, 13, 144, 25, 26
- DCB 160, 160, 160, 129, 128, 128, 128, 128, 128, 129, 132, 132, 144, 144, 144, 148
- DCB 160, 160, 129, 129, 129, 129, 129, 129, 129, 129, 132, 133, 133, 144, 145, 145
- DCB 168, 168, 136, 136, 136, 136, 136, 136, 136, 140, 140, 140, 152, 152, 152, 156
- DCB 168, 137, 137, 137, 136, 136, 136, 136, 137, 137, 140, 141, 141, 152, 153, 153
- ; y=8
- DCB 64, 64, 64, 64, 33, 32, 32, 32, 32, 2, 4, 5, 16, 16, 17, 20
- DCB 64, 64, 64, 33, 32, 32, 32, 32, 1, 1, 4, 5, 16, 16, 17, 20
- DCB 64, 64, 64, 33, 32, 32, 32, 32, 1, 1, 4, 4, 16, 16, 17, 20
- DCB 64, 64, 33, 32, 32, 32, 32, 32, 1, 4, 4, 4, 16, 16, 17, 20
- DCB 64, 64, 33, 32, 32, 32, 32, 1, 1, 4, 4, 4, 16, 16, 17, 20
- DCB 64, 33, 32, 32, 32, 32, 32, 1, 1, 4, 4, 4, 16, 16, 17, 20
- DCB 64, 33, 32, 32, 32, 32, 1, 0, 1, 4, 4, 4, 16, 16, 17, 20
- DCB 33, 32, 32, 32, 32, 32, 1, 0, 0, 4, 4, 4, 16, 16, 17, 20
- DCB 33, 33, 33, 32, 32, 1, 1, 1, 1, 1, 4, 5, 16, 16, 17, 20
- DCB 40, 40, 40, 40, 40, 8, 8, 8, 8, 12, 12, 12, 24, 24, 24, 28
- DCB 41, 40, 40, 40, 9, 9, 9, 8, 9, 12, 12, 13, 24, 24, 25, 28
- DCB 160, 160, 160, 160, 9, 128, 128, 128, 128, 132, 132, 13, 144, 144, 25, 148
- DCB 160, 160, 160, 129, 129, 128, 128, 128, 128, 132, 132, 133, 144, 144, 145, 148
- DCB 161, 168, 130, 129, 129, 129, 129, 129, 129, 130, 133, 133, 134, 145, 145, 156
- DCB 168, 168, 168, 136, 136, 136, 136, 136, 136, 140, 140, 140, 152, 152, 152, 156
- DCB 168, 137, 137, 137, 137, 137, 137, 137, 137, 137, 141, 141, 141, 153, 153, 156
- ; y=16
- DCB 64, 64, 64, 64, 33, 32, 32, 32, 32, 36, 5, 5, 16, 16, 17, 20
- DCB 64, 64, 64, 64, 33, 32, 32, 32, 32, 36, 5, 5, 16, 16, 17, 20
- DCB 64, 64, 64, 33, 32, 32, 32, 32, 1, 4, 4, 5, 16, 16, 17, 20
- DCB 64, 64, 64, 33, 32, 32, 32, 32, 1, 4, 4, 5, 16, 16, 17, 20
- DCB 64, 64, 33, 32, 32, 32, 32, 32, 1, 4, 4, 5, 16, 16, 17, 20
- DCB 64, 64, 33, 32, 32, 32, 32, 1, 1, 4, 4, 5, 16, 16, 17, 20
- DCB 64, 33, 32, 32, 32, 32, 32, 1, 1, 4, 4, 5, 16, 16, 17, 20
- DCB 64, 33, 32, 32, 32, 32, 32, 1, 1, 4, 4, 5, 16, 16, 17, 20
- DCB 33, 33, 33, 33, 32, 1, 1, 1, 1, 4, 5, 5, 16, 17, 17, 20
- DCB 40, 40, 40, 40, 40, 40, 8, 8, 8, 12, 12, 12, 24, 24, 25, 28
- DCB 41, 41, 40, 40, 9, 9, 9, 9, 9, 12, 13, 13, 24, 25, 25, 28
- DCB 160, 160, 160, 160, 160, 128, 128, 128, 128, 132, 132, 132, 144, 144, 144, 148
- DCB 161, 160, 160, 160, 129, 129, 128, 128, 129, 132, 132, 133, 144, 144, 145, 148
- DCB 168, 168, 168, 130, 129, 136, 136, 136, 129, 140, 140, 133, 152, 152, 146, 156
- DCB 168, 168, 168, 137, 137, 136, 136, 136, 137, 140, 140, 141, 152, 152, 153, 156
- DCB 169, 138, 137, 137, 137, 137, 137, 137, 137, 138, 141, 141, 142, 153, 153, 157
- ; y=24
- DCB 64, 64, 64, 64, 64, 33, 32, 32, 36, 36, 5, 5, 16, 16, 20, 20
- DCB 64, 64, 64, 64, 64, 32, 32, 32, 36, 36, 5, 5, 16, 16, 20, 20
- DCB 64, 64, 64, 64, 33, 32, 32, 32, 2, 36, 5, 5, 16, 16, 20, 20
- DCB 64, 64, 64, 64, 32, 32, 32, 32, 2, 4, 5, 5, 16, 16, 20, 20
- DCB 64, 64, 64, 33, 32, 32, 32, 32, 1, 4, 5, 16, 16, 16, 20, 20
- DCB 64, 64, 64, 32, 32, 32, 32, 32, 1, 4, 4, 16, 16, 16, 20, 20
- DCB 64, 64, 33, 32, 32, 32, 32, 1, 1, 4, 4, 16, 16, 16, 20, 20
- DCB 64, 33, 33, 32, 32, 32, 32, 1, 1, 4, 4, 5, 16, 17, 20, 20
- DCB 34, 33, 33, 33, 40, 40, 2, 1, 2, 12, 5, 5, 24, 17, 18, 28
- DCB 72, 41, 40, 40, 40, 40, 9, 9, 9, 12, 12, 24, 24, 24, 28, 28
- DCB 41, 41, 41, 41, 40, 9, 9, 9, 9, 12, 13, 13, 24, 25, 25, 29
- DCB 160, 160, 160, 160, 160, 129, 128, 128, 132, 132, 132, 144, 144, 144, 148, 148
- DCB 161, 161, 160, 160, 129, 129, 129, 129, 129, 132, 133, 133, 144, 145, 145, 148
- DCB 168, 168, 168, 168, 136, 136, 136, 136, 140, 140, 140, 152, 152, 152, 156, 156
- DCB 168, 168, 168, 137, 137, 137, 136, 136, 137, 140, 141, 141, 152, 153, 156, 156
- DCB 169, 169, 138, 138, 137, 137, 137, 137, 138, 141, 141, 142, 153, 153, 154, 157
- ; y=32
- DCB 65, 64, 64, 64, 64, 64, 33, 33, 36, 36, 36, 6, 16, 17, 20, 20
- DCB 65, 64, 64, 64, 64, 33, 32, 33, 36, 36, 5, 16, 16, 17, 20, 20
- DCB 64, 64, 64, 64, 64, 33, 32, 32, 36, 36, 5, 16, 16, 17, 20, 20
- DCB 64, 64, 64, 64, 33, 32, 32, 32, 36, 36, 5, 16, 16, 17, 20, 20
- DCB 64, 64, 64, 64, 33, 32, 32, 32, 36, 5, 5, 16, 16, 17, 20, 20
- DCB 64, 64, 64, 33, 32, 32, 32, 32, 36, 5, 5, 16, 16, 17, 20, 20
- DCB 64, 64, 64, 33, 32, 32, 32, 32, 2, 4, 5, 16, 16, 17, 20, 20
- DCB 64, 64, 33, 33, 33, 32, 32, 2, 2, 5, 5, 16, 16, 17, 20, 20
- DCB 72, 72, 40, 40, 40, 40, 40, 2, 2, 12, 12, 24, 24, 24, 28, 28
- DCB 72, 41, 41, 40, 40, 40, 40, 9, 9, 12, 13, 24, 24, 25, 28, 28
- DCB 42, 41, 41, 160, 160, 160, 9, 10, 10, 132, 13, 144, 144, 25, 148, 29
- DCB 161, 160, 160, 160, 160, 160, 129, 129, 132, 132, 132, 144, 144, 145, 148, 148
- DCB 161, 161, 161, 160, 160, 129, 129, 129, 129, 133, 133, 134, 145, 145, 148, 149
- DCB 168, 168, 168, 168, 168, 136, 136, 136, 140, 140, 140, 152, 152, 152, 156, 156
- DCB 169, 169, 168, 168, 137, 137, 137, 137, 137, 140, 141, 152, 153, 153, 156, 157
- DCB 169, 169, 138, 138, 138, 137, 137, 137, 138, 141, 141, 142, 153, 154, 154, 157
- ; y=40
- DCB 96, 65, 64, 64, 64, 64, 33, 33, 36, 36, 36, 48, 17, 17, 20, 20
- DCB 65, 64, 64, 64, 64, 64, 33, 33, 36, 36, 36, 48, 17, 17, 20, 20
- DCB 65, 64, 64, 64, 64, 33, 33, 33, 36, 36, 5, 16, 17, 17, 20, 20
- DCB 64, 64, 64, 64, 64, 33, 32, 33, 36, 36, 5, 16, 16, 17, 20, 20
- DCB 64, 64, 64, 64, 33, 32, 32, 33, 36, 36, 5, 16, 16, 17, 20, 20
- DCB 64, 64, 64, 64, 33, 32, 32, 32, 36, 5, 5, 16, 16, 17, 20, 20
- DCB 64, 64, 64, 33, 32, 32, 32, 32, 36, 5, 5, 16, 16, 17, 20, 20
- DCB 64, 64, 33, 33, 33, 33, 32, 2, 2, 5, 5, 16, 17, 17, 20, 21
- DCB 72, 72, 72, 40, 40, 40, 40, 2, 3, 12, 6, 24, 24, 28, 28, 28
- DCB 72, 72, 41, 41, 40, 40, 40, 10, 10, 13, 13, 24, 25, 25, 28, 29
- DCB 192, 42, 160, 160, 160, 160, 160, 10, 10, 132, 14, 144, 144, 26, 148, 148
- DCB 192, 161, 161, 160, 160, 160, 129, 129, 132, 132, 133, 144, 144, 145, 148, 148
- DCB 162, 161, 161, 168, 168, 130, 129, 130, 130, 133, 133, 152, 145, 145, 156, 149
- DCB 169, 168, 168, 168, 168, 168, 137, 137, 140, 140, 141, 152, 152, 153, 156, 156
- DCB 169, 169, 169, 168, 137, 137, 137, 137, 140, 141, 141, 152, 153, 153, 156, 157
- DCB 169, 169, 169, 138, 138, 138, 137, 138, 138, 141, 142, 142, 153, 154, 154, 157
- ; y=48
- DCB 96, 65, 64, 64, 64, 64, 64, 33, 36, 36, 48, 48, 17, 17, 20, 20
- DCB 96, 65, 64, 64, 64, 64, 33, 33, 36, 36, 48, 48, 17, 17, 20, 20
- DCB 65, 64, 64, 64, 64, 64, 33, 33, 36, 36, 48, 48, 17, 20, 20, 20
- DCB 65, 64, 64, 64, 64, 64, 33, 33, 36, 36, 6, 17, 17, 20, 20, 20
- DCB 64, 64, 64, 64, 64, 33, 33, 33, 36, 36, 6, 16, 17, 20, 20, 20
- DCB 64, 64, 64, 64, 64, 33, 33, 33, 36, 36, 5, 16, 17, 20, 20, 20
- DCB 64, 64, 64, 64, 33, 32, 32, 33, 36, 5, 5, 16, 16, 20, 20, 20
- DCB 65, 65, 64, 33, 33, 33, 33, 2, 3, 6, 6, 17, 17, 17, 21, 21
- DCB 72, 72, 72, 41, 40, 40, 40, 3, 3, 13, 13, 24, 24, 28, 28, 28
- DCB 72, 72, 41, 41, 41, 41, 41, 10, 10, 13, 13, 24, 25, 25, 28, 29
- DCB 192, 192, 160, 160, 160, 160, 160, 11, 11, 132, 144, 144, 144, 148, 148, 148
- DCB 192, 161, 161, 161, 160, 160, 160, 130, 133, 133, 133, 144, 145, 148, 148, 149
- DCB 200, 162, 168, 168, 168, 168, 130, 130, 140, 140, 152, 152, 152, 156, 156, 156
- DCB 200, 169, 168, 168, 168, 168, 137, 137, 140, 140, 141, 152, 153, 156, 156, 157
- DCB 169, 169, 169, 169, 138, 138, 138, 138, 141, 141, 142, 153, 153, 154, 157, 157
- DCB 170, 169, 169, 169, 138, 138, 138, 138, 141, 141, 142, 153, 153, 154, 157, 157
- ; y=56
- DCB 96, 96, 65, 64, 64, 64, 64, 34, 37, 37, 48, 48, 48, 18, 21, 21
- DCB 96, 96, 65, 64, 64, 64, 64, 34, 36, 37, 48, 48, 17, 20, 20, 21
- DCB 96, 65, 64, 64, 64, 64, 33, 33, 36, 37, 48, 48, 17, 20, 20, 21
- DCB 96, 65, 64, 64, 64, 64, 33, 36, 36, 36, 48, 48, 17, 20, 20, 21
- DCB 65, 64, 64, 64, 64, 64, 33, 36, 36, 36, 48, 17, 17, 20, 20, 21
- DCB 65, 64, 64, 64, 64, 33, 33, 36, 36, 36, 48, 17, 17, 20, 20, 21
- DCB 65, 64, 64, 64, 33, 33, 33, 36, 36, 6, 6, 17, 17, 20, 20, 21
- DCB 65, 72, 72, 72, 33, 33, 33, 3, 3, 6, 6, 17, 17, 28, 28, 21
- DCB 72, 72, 72, 72, 41, 40, 41, 3, 44, 13, 24, 24, 25, 28, 28, 29
- DCB 73, 72, 42, 41, 41, 41, 41, 11, 11, 14, 14, 25, 25, 28, 29, 29
- DCB 192, 192, 192, 160, 160, 160, 160, 11, 11, 133, 144, 144, 144, 148, 148, 149
- DCB 192, 192, 161, 161, 161, 160, 130, 130, 133, 133, 134, 145, 145, 148, 149, 149
- DCB 200, 200, 168, 168, 168, 168, 130, 131, 140, 140, 152, 152, 152, 156, 156, 156
- DCB 200, 169, 169, 169, 168, 168, 138, 138, 141, 141, 152, 152, 153, 156, 156, 157
- DCB 170, 170, 169, 169, 169, 138, 138, 138, 141, 141, 142, 153, 153, 154, 157, 158
- DCB 170, 169, 169, 169, 138, 138, 138, 138, 141, 141, 142, 153, 154, 154, 157, 158
- ; y=64
- DCB 96, 96, 96, 65, 64, 64, 64, 68, 37, 37, 48, 48, 52, 52, 21, 21
- DCB 96, 96, 65, 64, 64, 64, 64, 68, 37, 37, 48, 48, 18, 52, 21, 21
- DCB 96, 96, 65, 64, 64, 64, 64, 68, 37, 37, 48, 48, 18, 20, 21, 21
- DCB 96, 65, 64, 64, 64, 64, 33, 36, 37, 37, 48, 48, 17, 20, 21, 21
- DCB 96, 65, 64, 64, 64, 64, 33, 36, 36, 37, 48, 48, 17, 20, 20, 21
- DCB 65, 64, 64, 64, 64, 64, 33, 36, 36, 37, 48, 17, 17, 20, 20, 21
- DCB 65, 65, 64, 64, 64, 33, 33, 36, 37, 6, 6, 17, 17, 20, 21, 21
- DCB 72, 72, 72, 72, 72, 34, 34, 3, 44, 7, 7, 18, 18, 28, 28, 22
- DCB 73, 72, 72, 72, 41, 41, 41, 44, 44, 14, 14, 25, 25, 28, 29, 29
- DCB 192, 192, 192, 192, 41, 41, 42, 11, 11, 14, 14, 25, 26, 148, 29, 30
- DCB 192, 192, 192, 161, 161, 160, 161, 164, 164, 133, 144, 144, 145, 148, 148, 149
- DCB 193, 192, 162, 161, 161, 161, 161, 131, 134, 134, 134, 145, 145, 149, 149, 149
- DCB 200, 200, 200, 168, 168, 168, 131, 131, 141, 141, 152, 152, 156, 156, 156, 157
- DCB 200, 169, 169, 169, 169, 169, 138, 138, 141, 141, 152, 153, 153, 156, 157, 157
- DCB 170, 170, 170, 169, 169, 138, 138, 139, 142, 142, 142, 153, 154, 157, 157, 158
- DCB 170, 170, 169, 169, 169, 138, 138, 139, 141, 142, 142, 153, 154, 157, 157, 158
- ; y=72
- DCB 96, 96, 96, 96, 64, 64, 68, 68, 68, 37, 48, 49, 52, 52, 21, 21
- DCB 96, 96, 96, 65, 64, 64, 68, 68, 37, 37, 48, 48, 52, 52, 21, 21
- DCB 96, 96, 96, 64, 64, 64, 68, 68, 37, 37, 48, 48, 52, 52, 21, 21
- DCB 96, 96, 65, 64, 64, 64, 68, 68, 37, 37, 48, 48, 52, 21, 21, 21
- DCB 96, 96, 64, 64, 64, 64, 34, 37, 37, 48, 48, 48, 18, 21, 21, 21
- DCB 96, 65, 64, 64, 64, 64, 33, 36, 37, 48, 48, 48, 18, 20, 21, 21
- DCB 65, 65, 65, 65, 64, 34, 34, 37, 37, 7, 7, 18, 18, 21, 21, 21
- DCB 72, 72, 72, 72, 72, 34, 34, 44, 44, 7, 7, 18, 18, 28, 28, 22
- DCB 73, 73, 72, 72, 72, 41, 42, 44, 45, 14, 25, 25, 26, 28, 29, 29
- DCB 192, 192, 192, 192, 192, 42, 42, 164, 164, 15, 15, 26, 26, 148, 148, 30
- DCB 193, 192, 192, 192, 161, 161, 161, 164, 164, 134, 145, 145, 148, 148, 149, 149
- DCB 200, 200, 200, 162, 161, 161, 131, 131, 134, 134, 135, 145, 156, 156, 149, 150
- DCB 200, 200, 200, 169, 169, 169, 131, 172, 141, 141, 152, 153, 156, 156, 157, 157
- DCB 201, 200, 169, 169, 169, 169, 139, 139, 142, 142, 153, 153, 154, 157, 157, 158
- DCB 170, 170, 170, 169, 169, 169, 139, 139, 142, 142, 153, 153, 154, 157, 157, 158
- DCB 170, 170, 170, 169, 169, 138, 139, 139, 142, 142, 153, 153, 154, 157, 157, 158
- ; y=80
- DCB 96, 96, 96, 96, 65, 65, 68, 68, 68, 80, 49, 49, 52, 52, 22, 22
- DCB 96, 96, 96, 96, 65, 65, 68, 68, 68, 38, 49, 49, 52, 52, 21, 22
- DCB 96, 96, 96, 65, 64, 65, 68, 68, 37, 48, 48, 49, 52, 52, 21, 21
- DCB 96, 96, 96, 65, 64, 64, 68, 68, 37, 48, 48, 49, 52, 52, 21, 21
- DCB 96, 96, 65, 64, 64, 64, 68, 68, 37, 48, 48, 48, 52, 21, 21, 21
- DCB 96, 96, 65, 64, 64, 64, 68, 37, 37, 48, 48, 48, 52, 21, 21, 21
- DCB 66, 65, 65, 65, 65, 34, 34, 37, 38, 7, 7, 18, 18, 21, 22, 22
- DCB 104, 73, 72, 72, 72, 72, 35, 44, 45, 56, 56, 19, 19, 28, 29, 29
- DCB 73, 73, 73, 73, 72, 42, 42, 45, 45, 15, 15, 26, 26, 29, 29, 30
- DCB 192, 192, 192, 192, 192, 42, 42, 164, 164, 15, 15, 26, 148, 148, 148, 30
- DCB 193, 193, 192, 192, 161, 161, 162, 165, 165, 134, 145, 145, 148, 149, 149, 149
- DCB 200, 200, 200, 200, 200, 162, 162, 172, 135, 135, 135, 146, 156, 156, 156, 150
- DCB 200, 200, 200, 200, 169, 169, 172, 172, 142, 142, 153, 153, 156, 156, 157, 157
- DCB 201, 201, 170, 170, 169, 169, 139, 139, 142, 142, 153, 154, 154, 157, 157, 158
- DCB 201, 170, 170, 170, 169, 170, 139, 139, 142, 142, 153, 154, 154, 157, 158, 158
- DCB 201, 170, 170, 169, 169, 139, 139, 139, 142, 142, 153, 154, 154, 157, 158, 158
- ; y=88
- DCB 96, 96, 96, 96, 96, 65, 68, 68, 68, 80, 49, 49, 52, 52, 22, 22
- DCB 96, 96, 96, 96, 65, 65, 68, 68, 68, 80, 49, 49, 52, 52, 22, 22
- DCB 96, 96, 96, 96, 65, 65, 68, 68, 38, 80, 49, 49, 52, 52, 22, 22
- DCB 96, 96, 96, 65, 65, 65, 68, 68, 37, 48, 49, 49, 52, 52, 22, 21
- DCB 96, 96, 96, 65, 64, 65, 68, 68, 37, 48, 48, 49, 52, 52, 21, 21
- DCB 96, 96, 65, 65, 65, 65, 68, 37, 38, 48, 49, 49, 52, 21, 22, 22
- DCB 104, 66, 65, 72, 72, 35, 35, 38, 38, 56, 56, 19, 19, 22, 22, 22
- DCB 104, 73, 73, 72, 72, 35, 35, 45, 45, 56, 56, 19, 19, 29, 29, 29
- DCB 74, 73, 73, 73, 73, 42, 42, 45, 46, 15, 26, 26, 27, 29, 30, 30
- DCB 193, 192, 192, 192, 192, 43, 43, 165, 165, 176, 176, 27, 148, 149, 149, 149
- DCB 193, 193, 193, 192, 162, 162, 162, 165, 165, 135, 146, 146, 149, 149, 149, 150
- DCB 200, 200, 200, 200, 200, 162, 172, 172, 135, 135, 135, 146, 156, 156, 157, 150
- DCB 201, 201, 200, 200, 169, 169, 172, 173, 142, 142, 153, 154, 156, 157, 157, 157
- DCB 201, 201, 170, 170, 170, 170, 139, 139, 143, 143, 154, 154, 154, 157, 158, 158
- DCB 201, 201, 170, 170, 170, 170, 139, 139, 143, 143, 154, 154, 157, 157, 158, 158
- DCB 201, 170, 170, 170, 170, 170, 139, 139, 142, 143, 154, 154, 157, 157, 158, 158
- ; y=96
- DCB 97, 96, 96, 96, 96, 65, 68, 69, 80, 80, 80, 50, 52, 53, 53, 22
- DCB 96, 96, 96, 96, 96, 65, 68, 68, 80, 80, 49, 49, 52, 53, 22, 22
- DCB 96, 96, 96, 96, 65, 65, 68, 68, 80, 80, 49, 52, 52, 52, 22, 22
- DCB 96, 96, 96, 96, 65, 65, 68, 68, 80, 80, 49, 52, 52, 52, 22, 22
- DCB 96, 96, 96, 96, 65, 65, 68, 68, 80, 49, 49, 52, 52, 52, 22, 22
- DCB 96, 96, 65, 65, 65, 65, 68, 38, 38, 49, 49, 49, 52, 22, 22, 22
- DCB 104, 104, 104, 72, 72, 35, 35, 38, 39, 56, 56, 19, 19, 22, 23, 22
- DCB 104, 104, 73, 73, 73, 73, 76, 45, 46, 57, 57, 60, 60, 29, 30, 30
- DCB 224, 74, 73, 192, 192, 43, 43, 46, 46, 176, 176, 27, 27, 30, 30, 30
- DCB 224, 193, 193, 192, 192, 43, 43, 165, 165, 176, 176, 27, 149, 149, 149, 149
- DCB 193, 193, 193, 193, 162, 162, 163, 166, 166, 135, 146, 146, 149, 150, 150, 150
- DCB 201, 200, 200, 200, 200, 163, 163, 173, 184, 184, 184, 147, 156, 157, 157, 157
- DCB 201, 201, 201, 200, 170, 170, 173, 173, 143, 143, 154, 154, 157, 157, 158, 158
- DCB 201, 201, 201, 170, 170, 170, 139, 173, 143, 143, 154, 154, 157, 157, 158, 158
- DCB 201, 201, 201, 170, 170, 170, 139, 143, 143, 143, 154, 154, 157, 157, 158, 158
- DCB 201, 201, 170, 170, 170, 170, 139, 143, 143, 143, 154, 154, 157, 157, 158, 158
- ; y=104
- DCB 97, 97, 96, 96, 96, 100, 69, 69, 80, 80, 80, 84, 53, 53, 53, 53
- DCB 97, 96, 96, 96, 96, 66, 69, 69, 80, 80, 80, 84, 53, 53, 53, 22
- DCB 97, 96, 96, 96, 96, 66, 68, 69, 80, 80, 49, 52, 53, 53, 53, 22
- DCB 96, 96, 96, 96, 65, 65, 68, 69, 80, 80, 49, 52, 52, 53, 22, 22
- DCB 96, 96, 96, 96, 65, 68, 68, 68, 80, 80, 49, 52, 52, 53, 22, 22
- DCB 97, 97, 96, 65, 66, 66, 69, 38, 39, 49, 50, 50, 53, 22, 22, 22
- DCB 104, 104, 104, 73, 73, 76, 76, 39, 39, 57, 57, 60, 60, 23, 23, 23
- DCB 104, 104, 73, 73, 73, 76, 76, 46, 46, 57, 57, 60, 60, 30, 30, 30
- DCB 224, 224, 224, 192, 192, 43, 43, 46, 47, 176, 27, 27, 180, 30, 31, 30
- DCB 224, 193, 193, 193, 193, 196, 196, 166, 166, 177, 177, 180, 149, 150, 150, 149
- DCB 232, 194, 200, 200, 200, 163, 163, 166, 166, 184, 147, 147, 150, 150, 150, 150
- DCB 232, 201, 200, 200, 200, 163, 173, 173, 184, 184, 184, 147, 157, 157, 157, 157
- DCB 201, 201, 201, 201, 170, 170, 173, 174, 143, 143, 154, 155, 157, 158, 158, 158
- DCB 202, 201, 201, 201, 170, 171, 171, 174, 143, 143, 154, 155, 158, 158, 158, 158
- DCB 201, 201, 201, 170, 170, 171, 171, 174, 143, 143, 154, 155, 157, 158, 158, 158
- DCB 201, 201, 201, 170, 170, 170, 139, 143, 143, 143, 154, 154, 157, 158, 158, 158
- ; y=112
- DCB 97, 97, 96, 96, 97, 100, 100, 69, 80, 80, 84, 84, 53, 53, 53, 53
- DCB 97, 97, 96, 96, 96, 100, 69, 69, 80, 80, 84, 84, 53, 53, 53, 53
- DCB 97, 96, 96, 96, 96, 100, 69, 69, 80, 80, 84, 84, 53, 53, 53, 22
- DCB 97, 96, 96, 96, 96, 100, 69, 69, 80, 80, 50, 52, 53, 53, 53, 22
- DCB 97, 96, 96, 96, 66, 66, 69, 69, 80, 80, 50, 53, 53, 53, 22, 22
- DCB 97, 97, 104, 66, 66, 66, 69, 39, 39, 50, 50, 50, 53, 23, 23, 23
- DCB 104, 104, 104, 104, 73, 76, 76, 39, 39, 57, 57, 60, 60, 23, 23, 23
- DCB 105, 104, 104, 73, 74, 74, 77, 46, 47, 58, 58, 61, 61, 30, 30, 30
- DCB 224, 224, 224, 193, 193, 196, 196, 47, 47, 177, 177, 180, 180, 31, 31, 31
- DCB 224, 224, 193, 193, 193, 196, 196, 166, 166, 177, 177, 180, 150, 150, 150, 150
- DCB 232, 232, 200, 200, 163, 163, 204, 166, 167, 184, 147, 147, 150, 151, 150, 150
- DCB 232, 201, 201, 201, 201, 204, 173, 174, 184, 185, 185, 188, 157, 158, 158, 157
- DCB 202, 202, 201, 201, 171, 171, 174, 174, 174, 185, 155, 155, 158, 158, 158, 158
- DCB 202, 202, 201, 201, 171, 171, 174, 174, 143, 143, 155, 155, 158, 158, 158, 158
- DCB 202, 201, 201, 201, 171, 171, 174, 174, 143, 143, 155, 155, 158, 158, 158, 158
- DCB 202, 201, 201, 170, 170, 171, 174, 174, 143, 143, 155, 155, 158, 158, 158, 158
- ; y=120
- DCB 97, 97, 97, 97, 97, 100, 100, 70, 80, 81, 84, 84, 53, 54, 53, 53
- DCB 97, 97, 96, 97, 100, 100, 100, 69, 80, 81, 84, 84, 53, 53, 53, 53
- DCB 97, 97, 96, 96, 100, 100, 69, 69, 80, 80, 84, 84, 53, 53, 53, 53
- DCB 97, 96, 96, 96, 100, 100, 69, 69, 80, 80, 84, 84, 53, 53, 53, 22
- DCB 97, 97, 96, 96, 66, 69, 69, 69, 80, 81, 50, 53, 53, 53, 23, 22
- DCB 104, 104, 104, 104, 67, 67, 70, 39, 39, 50, 51, 51, 54, 23, 23, 23
- DCB 105, 104, 104, 104, 74, 77, 77, 88, 88, 57, 58, 61, 61, 23, 23, 23
- DCB 105, 224, 224, 74, 74, 74, 77, 47, 47, 58, 58, 61, 61, 31, 31, 30
- DCB 224, 224, 224, 193, 193, 196, 196, 47, 208, 177, 180, 180, 180, 31, 31, 31
- DCB 225, 224, 193, 194, 194, 197, 197, 166, 167, 178, 178, 181, 150, 150, 150, 150
- DCB 232, 232, 232, 201, 201, 204, 204, 167, 167, 185, 188, 188, 151, 151, 151, 151
- DCB 232, 232, 201, 201, 201, 204, 174, 174, 185, 185, 185, 188, 158, 158, 158, 158
- DCB 202, 202, 202, 202, 171, 171, 174, 175, 175, 186, 155, 155, 158, 159, 158, 158
- DCB 202, 202, 201, 201, 171, 171, 174, 174, 143, 186, 155, 155, 158, 158, 158, 158
- DCB 202, 202, 201, 201, 171, 171, 174, 174, 143, 155, 155, 155, 158, 158, 158, 158
- DCB 202, 201, 201, 171, 171, 171, 174, 174, 143, 155, 155, 155, 158, 158, 158, 158
- ; y=128
- DCB 97, 97, 97, 97, 100, 100, 100, 112, 81, 81, 84, 84, 84, 54, 54, 53
- DCB 97, 97, 97, 97, 100, 100, 100, 112, 81, 81, 84, 84, 54, 54, 53, 53
- DCB 97, 97, 97, 97, 100, 100, 100, 70, 81, 81, 84, 84, 53, 54, 53, 53
- DCB 97, 97, 96, 97, 100, 100, 69, 80, 80, 81, 84, 84, 53, 53, 53, 53
- DCB 97, 97, 97, 97, 67, 100, 70, 70, 81, 81, 51, 54, 54, 54, 54, 23
- DCB 104, 104, 104, 104, 67, 67, 70, 88, 88, 51, 51, 51, 54, 23, 23, 23
- DCB 105, 105, 104, 105, 74, 77, 77, 88, 88, 58, 58, 61, 61, 61, 23, 30
- DCB 224, 224, 224, 74, 75, 75, 78, 47, 208, 59, 59, 62, 62, 31, 31, 31
- DCB 225, 224, 224, 194, 194, 197, 197, 208, 208, 178, 178, 181, 181, 31, 31, 150
- DCB 225, 232, 232, 194, 194, 197, 197, 167, 167, 178, 178, 181, 151, 151, 151, 150
- DCB 232, 232, 232, 201, 204, 204, 205, 167, 216, 185, 188, 188, 151, 151, 151, 151
- DCB 233, 232, 201, 202, 202, 205, 174, 175, 185, 186, 186, 189, 158, 159, 158, 158
- DCB 233, 202, 202, 202, 171, 171, 175, 175, 175, 186, 155, 155, 159, 159, 159, 158
- DCB 202, 202, 202, 202, 171, 171, 175, 175, 186, 186, 155, 155, 159, 159, 158, 158
- DCB 202, 202, 201, 202, 171, 171, 174, 175, 186, 186, 155, 155, 158, 159, 158, 158
- DCB 202, 202, 201, 202, 171, 171, 174, 175, 185, 155, 155, 155, 158, 158, 158, 158
- ; y=136
- DCB 97, 97, 97, 97, 100, 100, 101, 112, 112, 81, 84, 84, 85, 54, 54, 53
- DCB 97, 97, 97, 97, 100, 100, 112, 112, 81, 81, 84, 84, 54, 54, 54, 53
- DCB 97, 97, 97, 97, 100, 100, 112, 112, 81, 81, 84, 84, 54, 54, 53, 53
- DCB 97, 97, 97, 97, 100, 100, 70, 112, 81, 81, 84, 84, 54, 54, 53, 53
- DCB 98, 97, 97, 97, 67, 70, 70, 70, 81, 82, 51, 54, 54, 54, 54, 23
- DCB 105, 104, 104, 105, 108, 108, 71, 88, 88, 51, 92, 92, 55, 55, 23, 23
- DCB 105, 105, 105, 105, 75, 78, 78, 89, 89, 58, 59, 62, 62, 62, 31, 31
- DCB 224, 224, 224, 75, 75, 75, 78, 208, 208, 59, 59, 62, 62, 31, 31, 31
- DCB 225, 225, 225, 194, 194, 197, 197, 208, 209, 178, 181, 181, 181, 181, 150, 150
- DCB 232, 232, 232, 195, 195, 198, 198, 167, 216, 179, 179, 182, 151, 151, 151, 151
- DCB 232, 232, 232, 202, 202, 205, 205, 216, 216, 186, 189, 189, 189, 151, 151, 158
- DCB 233, 233, 202, 202, 202, 205, 175, 175, 186, 186, 186, 189, 159, 159, 159, 158
- DCB 233, 202, 202, 202, 202, 205, 175, 175, 186, 186, 155, 189, 159, 159, 159, 158
- DCB 233, 202, 202, 202, 171, 171, 175, 175, 186, 186, 155, 159, 159, 159, 159, 158
- DCB 202, 202, 202, 202, 171, 171, 175, 175, 186, 186, 155, 159, 159, 159, 158, 158
- DCB 202, 202, 202, 202, 171, 171, 175, 175, 186, 155, 155, 158, 159, 159, 158, 158
- ; y=144
- DCB 97, 97, 97, 98, 100, 101, 112, 112, 112, 82, 85, 85, 85, 54, 54, 54
- DCB 97, 97, 97, 98, 100, 101, 112, 112, 81, 82, 84, 85, 85, 54, 54, 54
- DCB 97, 97, 97, 97, 100, 101, 112, 112, 81, 84, 84, 85, 54, 54, 54, 53
- DCB 97, 97, 97, 97, 100, 101, 112, 112, 81, 82, 84, 85, 54, 54, 54, 54
- DCB 98, 98, 98, 98, 108, 101, 71, 71, 82, 82, 92, 54, 55, 54, 54, 23
- DCB 105, 105, 105, 105, 108, 108, 71, 89, 89, 92, 92, 92, 55, 55, 61, 23
- DCB 106, 105, 105, 106, 75, 78, 78, 89, 89, 59, 59, 62, 62, 62, 62, 31
- DCB 225, 224, 225, 75, 228, 228, 79, 208, 209, 59, 212, 63, 63, 31, 31, 31
- DCB 225, 225, 225, 195, 195, 198, 198, 209, 209, 179, 179, 182, 182, 182, 151, 151
- DCB 232, 232, 232, 195, 195, 198, 198, 216, 216, 179, 179, 182, 182, 151, 151, 151
- DCB 233, 233, 233, 202, 205, 205, 206, 216, 217, 186, 189, 189, 190, 159, 158, 158
- DCB 233, 233, 202, 203, 203, 206, 175, 175, 186, 187, 187, 190, 159, 159, 159, 159
- DCB 233, 233, 202, 203, 203, 206, 175, 175, 186, 187, 187, 190, 159, 159, 159, 159
- DCB 233, 202, 202, 202, 203, 206, 175, 175, 186, 187, 189, 159, 159, 159, 159, 158
- DCB 233, 202, 202, 202, 171, 205, 175, 175, 186, 186, 155, 159, 159, 159, 159, 158
- DCB 202, 202, 202, 202, 171, 175, 175, 175, 186, 186, 155, 159, 159, 159, 158, 158
- ; y=152
- DCB 97, 97, 97, 98, 101, 101, 112, 112, 112, 116, 85, 85, 85, 85, 54, 54
- DCB 97, 97, 97, 98, 101, 101, 112, 112, 112, 116, 85, 85, 85, 54, 54, 54
- DCB 97, 97, 97, 98, 101, 101, 112, 112, 82, 84, 85, 85, 85, 54, 54, 54
- DCB 97, 97, 98, 98, 101, 101, 112, 112, 82, 82, 85, 85, 55, 54, 54, 54
- DCB 98, 98, 98, 98, 108, 71, 71, 71, 82, 82, 92, 55, 55, 55, 55, 54
- DCB 105, 105, 105, 106, 108, 109, 120, 89, 89, 92, 92, 93, 55, 62, 62, 61
- DCB 106, 106, 106, 106, 228, 78, 79, 90, 90, 59, 212, 63, 63, 62, 62, 31
- DCB 225, 225, 225, 228, 228, 228, 79, 209, 209, 212, 212, 63, 63, 63, 31, 31
- DCB 225, 225, 225, 195, 195, 198, 198, 209, 209, 179, 182, 182, 182, 182, 151, 151
- DCB 233, 232, 233, 195, 236, 199, 199, 216, 217, 220, 220, 183, 183, 151, 151, 151
- DCB 233, 233, 233, 203, 203, 206, 206, 217, 217, 187, 190, 190, 190, 190, 159, 158
- DCB 233, 233, 203, 203, 203, 206, 206, 175, 187, 187, 190, 190, 159, 159, 159, 159
- DCB 233, 233, 203, 203, 203, 206, 175, 175, 187, 187, 190, 190, 159, 159, 159, 159
- DCB 233, 233, 203, 203, 203, 206, 175, 175, 187, 187, 190, 190, 159, 159, 159, 159
- DCB 233, 233, 202, 203, 203, 206, 175, 175, 186, 187, 190, 159, 159, 159, 159, 159
- DCB 233, 202, 202, 203, 205, 206, 175, 175, 186, 187, 189, 159, 159, 159, 159, 158
- ; y=160
- DCB 97, 97, 98, 98, 101, 101, 112, 113, 116, 116, 85, 85, 85, 85, 85, 54
- DCB 97, 97, 98, 98, 101, 101, 112, 112, 116, 116, 85, 85, 85, 85, 54, 54
- DCB 97, 97, 98, 98, 101, 101, 112, 112, 116, 116, 85, 85, 85, 85, 54, 54
- DCB 98, 98, 98, 98, 101, 102, 113, 113, 82, 83, 85, 86, 55, 55, 54, 54
- DCB 98, 98, 99, 99, 109, 102, 120, 120, 83, 83, 93, 55, 55, 55, 55, 55
- DCB 105, 106, 106, 106, 109, 109, 120, 90, 90, 93, 93, 93, 63, 62, 62, 62
- DCB 106, 106, 106, 107, 228, 79, 79, 90, 90, 212, 212, 63, 63, 63, 63, 62
- DCB 225, 225, 226, 228, 229, 229, 240, 209, 210, 212, 213, 63, 182, 182, 182, 181
- DCB 226, 226, 226, 236, 236, 199, 199, 210, 210, 220, 220, 183, 183, 182, 182, 151
- DCB 233, 233, 233, 236, 236, 199, 199, 217, 217, 220, 220, 183, 183, 190, 151, 151
- DCB 233, 233, 234, 203, 206, 206, 207, 217, 218, 187, 190, 190, 190, 190, 159, 159
- DCB 234, 234, 203, 203, 203, 206, 207, 218, 187, 187, 190, 191, 190, 159, 159, 159
- DCB 234, 233, 203, 203, 203, 206, 207, 217, 187, 187, 190, 190, 190, 159, 159, 159
- DCB 233, 233, 203, 203, 206, 206, 175, 217, 187, 187, 190, 190, 159, 159, 159, 159
- DCB 233, 233, 203, 203, 206, 206, 175, 175, 187, 187, 190, 190, 159, 159, 159, 159
- DCB 233, 233, 203, 203, 206, 206, 175, 175, 187, 187, 190, 159, 159, 159, 159, 159
- ; y=168
- DCB 97, 97, 98, 101, 101, 102, 113, 113, 116, 116, 116, 86, 86, 85, 85, 54
- DCB 97, 97, 98, 101, 101, 102, 112, 113, 116, 116, 85, 86, 85, 85, 85, 54
- DCB 97, 97, 98, 101, 101, 102, 112, 113, 116, 116, 85, 86, 85, 85, 54, 54
- DCB 98, 98, 99, 99, 102, 102, 113, 113, 83, 83, 86, 86, 55, 55, 55, 54
- DCB 105, 99, 99, 99, 109, 120, 120, 120, 83, 83, 93, 55, 55, 55, 55, 55
- DCB 106, 106, 106, 107, 109, 110, 121, 90, 90, 93, 93, 94, 63, 63, 62, 62
- DCB 106, 106, 107, 107, 229, 79, 240, 91, 91, 212, 213, 63, 63, 63, 63, 63
- DCB 225, 226, 226, 229, 229, 229, 240, 210, 210, 213, 213, 183, 182, 182, 182, 182
- DCB 226, 226, 226, 236, 236, 199, 199, 210, 210, 220, 183, 183, 183, 183, 182, 151
- DCB 233, 233, 234, 236, 237, 248, 248, 217, 218, 221, 221, 183, 190, 190, 190, 189
- DCB 234, 234, 234, 203, 237, 207, 207, 218, 218, 187, 191, 191, 191, 190, 159, 159
- DCB 234, 234, 234, 203, 207, 207, 207, 218, 187, 187, 191, 191, 191, 190, 159, 159
- DCB 234, 234, 203, 203, 206, 207, 207, 218, 187, 187, 190, 191, 190, 159, 159, 159
- DCB 234, 234, 203, 203, 206, 207, 207, 218, 187, 187, 190, 191, 190, 159, 159, 159
- DCB 233, 234, 203, 203, 206, 206, 175, 187, 187, 187, 190, 190, 159, 159, 159, 159
- DCB 233, 233, 203, 203, 206, 206, 175, 187, 187, 187, 190, 190, 159, 159, 159, 159
- ; y=176
- DCB 97, 97, 98, 101, 102, 102, 113, 113, 116, 116, 117, 86, 86, 85, 85, 85
- DCB 97, 97, 98, 101, 102, 102, 113, 113, 116, 116, 116, 86, 86, 85, 85, 85
- DCB 97, 98, 98, 101, 102, 102, 113, 113, 116, 116, 86, 86, 86, 85, 85, 54
- DCB 98, 98, 99, 99, 102, 103, 113, 114, 83, 83, 86, 86, 86, 55, 55, 55
- DCB 105, 106, 99, 99, 109, 103, 121, 121, 124, 124, 93, 94, 55, 55, 55, 55
- DCB 106, 106, 107, 107, 110, 110, 121, 91, 91, 94, 94, 94, 63, 63, 63, 62
- DCB 225, 107, 107, 107, 229, 240, 240, 91, 91, 213, 213, 63, 63, 63, 63, 63
- DCB 226, 226, 226, 229, 230, 230, 241, 210, 210, 213, 214, 183, 183, 183, 182, 182
- DCB 226, 227, 227, 236, 237, 248, 248, 211, 211, 221, 221, 183, 183, 183, 183, 183
- DCB 233, 234, 234, 237, 237, 248, 248, 218, 218, 221, 221, 191, 190, 190, 190, 190
- DCB 234, 234, 235, 237, 207, 207, 207, 218, 219, 221, 191, 191, 191, 191, 190, 159
- DCB 234, 234, 234, 203, 207, 207, 207, 218, 218, 221, 191, 191, 191, 191, 159, 159
- DCB 234, 234, 234, 203, 207, 207, 207, 218, 187, 187, 191, 191, 191, 190, 159, 159
- DCB 234, 234, 203, 203, 207, 207, 218, 218, 187, 187, 191, 191, 191, 159, 159, 159
- DCB 234, 234, 203, 203, 207, 207, 218, 218, 187, 187, 191, 191, 190, 159, 159, 159
- DCB 233, 234, 203, 203, 206, 207, 218, 187, 187, 187, 190, 191, 190, 159, 159, 159
- ; y=184
- DCB 97, 98, 98, 101, 102, 113, 113, 113, 116, 117, 117, 86, 86, 86, 85, 85
- DCB 97, 98, 98, 101, 102, 113, 113, 113, 116, 116, 117, 86, 86, 85, 85, 85
- DCB 98, 98, 99, 102, 102, 103, 113, 114, 117, 117, 86, 86, 86, 86, 86, 55
- DCB 98, 99, 99, 99, 103, 103, 114, 114, 124, 124, 87, 87, 87, 55, 55, 55
- DCB 105, 106, 99, 110, 110, 121, 121, 121, 124, 124, 94, 94, 94, 93, 55, 62
- DCB 106, 107, 107, 110, 110, 111, 122, 91, 91, 94, 94, 94, 94, 63, 63, 63
- DCB 225, 107, 107, 229, 230, 240, 241, 244, 244, 213, 214, 213, 63, 63, 63, 63
- DCB 226, 226, 227, 230, 230, 230, 241, 211, 211, 214, 214, 214, 183, 183, 183, 182
- DCB 233, 227, 227, 237, 237, 248, 248, 211, 211, 221, 221, 183, 183, 183, 183, 183
- DCB 234, 234, 235, 237, 238, 249, 249, 218, 219, 221, 222, 191, 191, 190, 190, 190
- DCB 234, 235, 235, 238, 238, 207, 207, 219, 219, 222, 191, 191, 191, 191, 191, 190
- DCB 234, 234, 235, 238, 207, 207, 218, 219, 219, 222, 191, 191, 191, 191, 190, 159
- DCB 234, 234, 235, 238, 207, 207, 218, 218, 219, 222, 191, 191, 191, 191, 190, 159
- DCB 234, 234, 235, 237, 207, 207, 218, 218, 187, 191, 191, 191, 191, 190, 159, 159
- DCB 234, 234, 203, 203, 207, 207, 218, 218, 187, 191, 191, 191, 191, 190, 159, 159
- DCB 234, 234, 203, 203, 207, 207, 218, 218, 187, 191, 191, 191, 190, 159, 159, 159
- ; y=192
- DCB 97, 98, 101, 101, 102, 113, 113, 114, 117, 117, 117, 117, 86, 86, 86, 85
- DCB 97, 98, 101, 101, 102, 113, 113, 114, 117, 117, 117, 86, 86, 86, 85, 85
- DCB 98, 98, 99, 102, 102, 103, 114, 114, 117, 117, 87, 87, 86, 86, 86, 55
- DCB 99, 99, 99, 103, 103, 103, 114, 115, 124, 124, 87, 87, 87, 87, 55, 55
- DCB 106, 106, 107, 110, 110, 121, 122, 122, 125, 125, 94, 94, 94, 94, 63, 63
- DCB 106, 107, 107, 110, 111, 111, 122, 244, 244, 95, 95, 95, 94, 63, 63, 63
- DCB 226, 226, 107, 230, 230, 241, 241, 244, 244, 214, 214, 214, 214, 213, 63, 182
- DCB 226, 227, 227, 230, 231, 231, 242, 211, 211, 214, 215, 214, 183, 183, 183, 183
- DCB 234, 227, 227, 237, 238, 249, 249, 252, 252, 222, 222, 221, 183, 183, 183, 183
- DCB 234, 235, 235, 238, 238, 249, 249, 219, 219, 222, 222, 222, 191, 191, 191, 190
- DCB 234, 235, 235, 238, 238, 207, 219, 219, 219, 222, 222, 191, 191, 191, 191, 190
- DCB 234, 235, 235, 238, 238, 207, 219, 219, 219, 222, 191, 191, 191, 191, 191, 190
- DCB 234, 235, 235, 238, 207, 207, 219, 219, 219, 222, 191, 191, 191, 191, 190, 159
- DCB 234, 235, 235, 238, 207, 207, 218, 219, 219, 222, 191, 191, 191, 191, 190, 159
- DCB 234, 235, 235, 238, 207, 207, 218, 219, 221, 191, 191, 191, 191, 190, 159, 159
- DCB 234, 234, 203, 238, 207, 207, 218, 218, 187, 191, 191, 191, 191, 190, 159, 159
- ; y=200
- DCB 98, 98, 101, 102, 102, 113, 114, 114, 117, 117, 117, 117, 86, 86, 86, 85
- DCB 98, 98, 101, 102, 102, 113, 114, 114, 117, 117, 117, 117, 86, 86, 86, 86
- DCB 98, 99, 99, 102, 103, 103, 114, 115, 118, 118, 87, 87, 87, 86, 86, 86
- DCB 99, 99, 99, 103, 103, 103, 115, 115, 125, 125, 87, 87, 87, 87, 93, 55
- DCB 106, 107, 107, 110, 111, 122, 122, 122, 125, 125, 95, 95, 94, 94, 94, 63
- DCB 107, 107, 107, 111, 111, 111, 123, 244, 244, 95, 95, 95, 95, 95, 63, 63
- DCB 226, 226, 230, 230, 230, 241, 242, 245, 245, 214, 214, 214, 214, 214, 183, 183
- DCB 227, 227, 227, 231, 231, 231, 242, 252, 252, 215, 215, 215, 214, 183, 183, 183
- DCB 234, 234, 237, 238, 238, 249, 249, 252, 252, 222, 222, 222, 222, 183, 190, 190
- DCB 234, 235, 235, 238, 239, 250, 250, 219, 219, 222, 223, 222, 191, 191, 191, 191
- DCB 235, 235, 235, 238, 239, 250, 219, 219, 219, 222, 222, 191, 191, 191, 191, 191
- DCB 235, 235, 235, 238, 239, 249, 219, 219, 222, 222, 222, 191, 191, 191, 191, 191
- DCB 235, 235, 235, 238, 238, 207, 219, 219, 222, 222, 191, 191, 191, 191, 191, 190
- DCB 235, 235, 235, 238, 207, 207, 219, 219, 222, 222, 191, 191, 191, 191, 191, 190
- DCB 235, 235, 235, 238, 207, 207, 219, 219, 222, 222, 191, 191, 191, 191, 190, 159
- DCB 234, 235, 238, 238, 207, 207, 219, 219, 222, 191, 191, 191, 191, 191, 190, 159
- ; y=208
- DCB 98, 98, 101, 102, 113, 113, 114, 117, 117, 118, 117, 117, 117, 86, 86, 86
- DCB 98, 98, 102, 102, 103, 114, 114, 115, 118, 118, 118, 117, 87, 86, 86, 86
- DCB 99, 99, 102, 103, 103, 114, 115, 115, 118, 118, 87, 87, 87, 87, 87, 86
- DCB 106, 99, 109, 103, 103, 122, 115, 115, 125, 125, 87, 87, 87, 87, 94, 93
- DCB 106, 107, 110, 111, 111, 122, 123, 123, 126, 126, 95, 95, 95, 94, 94, 63
- DCB 107, 107, 107, 111, 111, 241, 123, 245, 245, 95, 95, 95, 95, 95, 63, 63
- DCB 226, 227, 230, 230, 231, 242, 242, 245, 245, 215, 215, 214, 214, 214, 214, 183
- DCB 227, 227, 227, 231, 231, 242, 243, 252, 252, 215, 215, 215, 215, 183, 183, 183
- DCB 234, 235, 238, 238, 239, 250, 250, 253, 253, 222, 222, 222, 222, 222, 191, 190
- DCB 235, 235, 235, 239, 239, 250, 250, 219, 223, 223, 223, 223, 222, 191, 191, 191
- DCB 235, 235, 235, 239, 239, 250, 250, 219, 223, 223, 223, 222, 191, 191, 191, 191
- DCB 235, 235, 235, 239, 239, 250, 219, 219, 222, 223, 223, 222, 191, 191, 191, 191
- DCB 235, 235, 238, 238, 239, 250, 219, 219, 222, 223, 222, 191, 191, 191, 191, 191
- DCB 235, 235, 238, 238, 239, 249, 219, 219, 222, 222, 222, 191, 191, 191, 191, 190
- DCB 235, 235, 238, 238, 207, 249, 219, 219, 222, 222, 191, 191, 191, 191, 191, 190
- DCB 235, 235, 238, 238, 207, 207, 219, 219, 222, 222, 191, 191, 191, 191, 190, 159
- ; y=216
- DCB 98, 101, 101, 102, 113, 113, 114, 117, 118, 118, 118, 117, 117, 117, 86, 86
- DCB 98, 99, 102, 102, 103, 114, 114, 115, 118, 118, 118, 118, 87, 87, 86, 86
- DCB 99, 99, 103, 103, 103, 115, 115, 115, 119, 119, 118, 87, 87, 87, 87, 87
- DCB 106, 99, 110, 110, 121, 122, 122, 125, 126, 126, 126, 125, 94, 94, 94, 94
- DCB 107, 107, 110, 111, 111, 122, 123, 123, 126, 126, 95, 95, 95, 95, 94, 94
- DCB 107, 107, 230, 111, 111, 242, 123, 245, 245, 245, 95, 95, 95, 214, 214, 213
- DCB 227, 227, 230, 231, 231, 242, 243, 246, 246, 215, 215, 215, 215, 214, 214, 183
- DCB 227, 227, 231, 231, 231, 243, 243, 253, 253, 215, 215, 215, 215, 215, 183, 183
- DCB 234, 235, 238, 239, 239, 250, 250, 253, 253, 223, 223, 222, 222, 222, 191, 191
- DCB 235, 235, 238, 239, 239, 250, 250, 253, 223, 223, 223, 223, 222, 191, 191, 191
- DCB 235, 235, 238, 239, 239, 250, 250, 219, 223, 223, 223, 223, 222, 191, 191, 191
- DCB 235, 235, 238, 239, 239, 250, 250, 219, 223, 223, 223, 222, 191, 191, 191, 191
- DCB 235, 235, 238, 239, 239, 250, 219, 219, 223, 223, 223, 222, 191, 191, 191, 191
- DCB 235, 235, 238, 239, 239, 250, 219, 219, 223, 223, 222, 191, 191, 191, 191, 191
- DCB 235, 235, 238, 239, 239, 250, 219, 219, 222, 223, 222, 191, 191, 191, 191, 190
- DCB 235, 235, 238, 238, 249, 219, 219, 219, 222, 222, 191, 191, 191, 191, 191, 190
- ; y=224
- DCB 98, 101, 102, 102, 113, 114, 114, 117, 118, 118, 118, 118, 117, 117, 86, 86
- DCB 99, 99, 102, 103, 114, 114, 115, 118, 118, 119, 118, 118, 118, 87, 87, 86
- DCB 99, 99, 103, 103, 103, 115, 115, 115, 119, 119, 119, 87, 87, 87, 87, 87
- DCB 107, 110, 110, 111, 122, 122, 123, 126, 126, 126, 126, 126, 95, 95, 94, 94
- DCB 107, 107, 111, 111, 111, 123, 123, 123, 127, 127, 126, 95, 95, 95, 95, 95
- DCB 226, 229, 230, 230, 242, 242, 242, 246, 246, 246, 246, 215, 214, 214, 214, 214
- DCB 227, 227, 231, 231, 231, 243, 243, 246, 246, 246, 215, 215, 215, 215, 214, 183
- DCB 227, 237, 238, 231, 249, 250, 243, 253, 253, 253, 215, 215, 215, 222, 222, 221
- DCB 235, 235, 238, 239, 239, 250, 251, 254, 254, 223, 223, 223, 223, 222, 222, 191
- DCB 235, 235, 239, 239, 239, 251, 251, 254, 254, 223, 223, 223, 223, 222, 191, 191
- DCB 235, 235, 239, 239, 239, 251, 251, 254, 223, 223, 223, 223, 223, 191, 191, 191
- DCB 235, 235, 239, 239, 239, 250, 251, 254, 223, 223, 223, 223, 222, 191, 191, 191
- DCB 235, 235, 239, 239, 239, 250, 251, 253, 223, 223, 223, 223, 191, 191, 191, 191
- DCB 235, 235, 239, 239, 250, 250, 219, 219, 223, 223, 223, 222, 191, 191, 191, 191
- DCB 235, 235, 239, 239, 250, 250, 219, 219, 223, 223, 223, 222, 191, 191, 191, 191
- DCB 235, 235, 239, 239, 250, 250, 219, 219, 223, 223, 222, 191, 191, 191, 191, 191
- ; y=232
- DCB 98, 102, 102, 102, 114, 114, 117, 118, 118, 118, 118, 118, 118, 117, 117, 86
- DCB 99, 102, 103, 103, 114, 115, 115, 118, 119, 119, 119, 118, 118, 87, 87, 87
- DCB 99, 109, 103, 103, 121, 115, 115, 119, 119, 119, 119, 119, 87, 87, 87, 87
- DCB 107, 110, 110, 111, 122, 122, 123, 126, 127, 127, 126, 126, 95, 95, 95, 94
- DCB 107, 107, 111, 111, 123, 123, 123, 127, 127, 127, 127, 95, 95, 95, 95, 95
- DCB 227, 230, 230, 231, 242, 242, 243, 246, 246, 246, 246, 246, 215, 215, 214, 214
- DCB 227, 227, 231, 231, 242, 243, 243, 247, 247, 247, 215, 215, 215, 215, 215, 215
- DCB 235, 238, 238, 239, 250, 250, 251, 254, 254, 254, 254, 223, 222, 222, 222, 222
- DCB 235, 238, 239, 239, 250, 251, 251, 254, 254, 254, 223, 223, 223, 223, 222, 191
- DCB 235, 238, 239, 239, 250, 251, 251, 254, 254, 223, 223, 223, 223, 223, 222, 191
- DCB 235, 238, 239, 239, 250, 251, 251, 254, 254, 223, 223, 223, 223, 222, 191, 191
- DCB 235, 238, 239, 239, 250, 251, 251, 254, 223, 223, 223, 223, 223, 222, 191, 191
- DCB 235, 238, 239, 239, 250, 251, 251, 254, 223, 223, 223, 223, 222, 191, 191, 191
- DCB 235, 238, 239, 239, 250, 250, 251, 254, 223, 223, 223, 223, 222, 191, 191, 191
- DCB 235, 238, 239, 239, 250, 250, 219, 223, 223, 223, 223, 222, 191, 191, 191, 191
- DCB 235, 238, 239, 239, 250, 250, 219, 223, 223, 223, 223, 222, 191, 191, 191, 191
- ; y=240
- DCB 99, 102, 102, 103, 114, 114, 118, 118, 118, 118, 118, 118, 118, 118, 118, 87
- DCB 99, 102, 103, 103, 114, 115, 115, 119, 119, 119, 119, 119, 118, 118, 87, 87
- DCB 99, 110, 103, 103, 122, 115, 125, 126, 119, 119, 119, 126, 126, 125, 87, 87
- DCB 107, 110, 111, 111, 122, 123, 123, 126, 127, 127, 127, 126, 126, 95, 95, 95
- DCB 107, 111, 111, 111, 123, 123, 123, 127, 127, 127, 127, 127, 95, 95, 95, 95
- DCB 227, 230, 231, 231, 242, 243, 243, 246, 247, 246, 246, 246, 215, 215, 215, 214
- DCB 227, 231, 231, 231, 243, 243, 243, 247, 247, 247, 247, 215, 215, 215, 215, 215
- DCB 235, 238, 238, 239, 250, 251, 251, 254, 254, 254, 254, 223, 223, 222, 222, 222
- DCB 235, 238, 239, 239, 251, 251, 251, 254, 255, 254, 223, 223, 223, 223, 223, 222
- DCB 235, 238, 239, 239, 251, 251, 251, 254, 255, 254, 223, 223, 223, 223, 222, 191
- DCB 235, 238, 239, 239, 251, 251, 251, 254, 254, 223, 223, 223, 223, 223, 222, 191
- DCB 235, 238, 239, 239, 251, 251, 251, 254, 254, 223, 223, 223, 223, 222, 191, 191
- DCB 235, 238, 239, 239, 251, 251, 251, 254, 223, 223, 223, 223, 223, 222, 191, 191
- DCB 235, 238, 239, 239, 251, 251, 251, 254, 223, 223, 223, 223, 222, 191, 191, 191
- DCB 235, 238, 239, 239, 250, 251, 254, 254, 223, 223, 223, 223, 222, 191, 191, 191
- DCB 235, 238, 239, 239, 250, 251, 253, 223, 223, 223, 223, 222, 191, 191, 191, 191
- ; y=248
- DCB 102, 102, 103, 114, 114, 115, 118, 118, 119, 119, 119, 119, 118, 118, 118, 87
- DCB 99, 103, 103, 103, 115, 115, 115, 119, 119, 119, 119, 119, 119, 119, 87, 87
- DCB 110, 110, 110, 122, 122, 123, 126, 126, 126, 126, 126, 126, 126, 126, 125, 95
- DCB 107, 111, 111, 111, 123, 123, 126, 127, 127, 127, 127, 127, 126, 95, 95, 95
- DCB 229, 230, 111, 241, 242, 123, 246, 246, 127, 127, 246, 246, 246, 95, 95, 95
- DCB 227, 230, 231, 231, 242, 243, 246, 247, 247, 247, 247, 246, 215, 215, 215, 215
- DCB 227, 231, 231, 231, 243, 243, 253, 247, 247, 247, 247, 253, 215, 215, 215, 215
- DCB 235, 238, 239, 250, 250, 251, 254, 254, 255, 254, 254, 254, 223, 223, 223, 222
- DCB 235, 239, 239, 239, 251, 251, 251, 255, 255, 255, 254, 223, 223, 223, 223, 222
- DCB 235, 239, 239, 239, 251, 251, 251, 255, 255, 254, 223, 223, 223, 223, 223, 222
- DCB 235, 239, 239, 239, 251, 251, 251, 255, 255, 254, 223, 223, 223, 223, 222, 191
- DCB 235, 239, 239, 239, 251, 251, 254, 254, 254, 223, 223, 223, 223, 223, 222, 191
- DCB 235, 239, 239, 239, 251, 251, 254, 254, 254, 223, 223, 223, 223, 223, 191, 191
- DCB 235, 239, 239, 239, 251, 251, 254, 254, 223, 223, 223, 223, 223, 222, 191, 191
- DCB 235, 239, 239, 239, 251, 251, 254, 254, 223, 223, 223, 223, 223, 191, 191, 191
- DCB 235, 239, 239, 239, 251, 251, 254, 254, 223, 223, 223, 223, 222, 191, 191, 191
-
-
- END
diff --git a/utils/genpalette,ff8 b/utils/genpalette,ff8
deleted file mode 100644
index b0077decccee2f4339a6a94319844e56a156187c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5860
zcmeHHPly{;82?@x;}XW*Y0^b0SRR5>Y_^VNEycYg*<Dv5EbVS7Eo$kcGtEwk$ugPM
z76jkM3W||zL5qjrj(QRC(1RzXFoNDx^yZ=9{OQ1^J#6tR5`S-#t}S@<;9(x~@xAZg
zd*Ao_zBfc}KqLB!=+0iEZ81h<jMIZl48{EqY9YD7gtzD`Ue}+XUSIVpp~ibLQ*zO?
z*PA4-L(J>=@Qa9+qw%}$uW9PsN^8sEpM$~e*L15PkHnROM?5#k|2EZ6U$2B&dNnx4
z=-a0zx?zRU9V#MT1#x+f8wuJ6a`Q#Wxtr(UMc&S<QdZskn3PH6(~_&}`4l(@=kVds
zGsr4rbtgvTOS$!+{6sq_9uYwacRqtVS@BB9l#`J^7<@Ae-P6#`gCCUnAP4n}m-{ok
zb+~3WR`t5+IA(!kZ`!(J8oYX$pTEzPo#7`}Oz!B_y2;Ns8!fBlw0QFZKl0pB{_N4J
z<#4m%*p}HUNV5Z6tVWGHGR9sr`O-p}zpmHU%oa{Um^8@HRqK*jA6f3{TaMl^blc#^
zs;jGfl-uD^21A{UYH{5*d9_xvtG445c8+|bX&XbmR$f@j5+AL(+49crNvkmYw0~@+
z%1aB2S=#lTUz~$PGz)r^=yruR<HvIQV@ASfvWKb{QxScp55j46GtSV}{!f^_0{n=M
zqrcr8iNChwJkV$!-i2L(?|0w?+&_Ac=roiaL8MY@n{hYzWiR42KiZj<<9<{{uRL9z
zc`9NT-92>f+T;tS8)R18U_F!F&JbOc`-jF($(T>|iSB2lxu0Jk`f{4OA*mbj^N*Lp
z)Z~fqEmdDaUgbl09~<L>mREqC!Do5hs@l4JnKzmauQzqWH0bKT*)24C&5<24Fdii9
zrwuna@cUpm+sK#bOr&V;9<{VNnLYv1=2b;|JD0(%9YBpFZmbaRpvHErAeOvdtf-xk
z<a^_7|E9JXe~7$)JU6Pjc7M&+gEnf$JKL@K2h8<8u^tNc@s?nnJ}?Lb;w$JG-dgZ5
z?p1)Ryqgj3E8f^*e|!S0rush*khjbyHPt_ho-p)l4zY@mdHK<c_i`BFK7%tE=Hcrr
zM9w=z0=?_KPn3dA%CeVIzI6>h0xW^PN}cqRI=OcDcQHc=B^V?#@V}jbgYvx!qVL;8
xuYe4YT=K170=+5!0ia|h2qXw32qXw32qXw32qXw32qXw32qXw32>e$F{0&Ov;6nfa

diff --git a/utils/genyuvtabs,ff8 b/utils/genyuvtabs,ff8
deleted file mode 100644
index be3e7072de6d94a30f62efe330fad60d309b6c99..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7476
zcmeHJZERat8Gf&Glenpu96O1qy0M&;6soP+Y>^2{*4b{-Zj>}lKbA43HE|Mm@#Hxs
zaneRYaGi9pj<jwOV?%1{+rcCR`_YOGp_L9#rJ~bTlre2W1H}E{vbb4p1DcQ+3+6dD
z?&_%(;s-zY;VT`T^S<}obDrmU-}jtLr0Rs`AzHY{MGIb{D;H~t;%Lqz7kg!;Ut2V<
zb*f&M>()HEj8;b{@+{Y7`1uJ-^7zcQ+=)iY&5)Fv(XfX}w8yMnQs0ni=FhT!kMYk!
z;c`Xzu|+1iY=1hts04gA^Gf!eVk~)WC0t>%X0lt)WEZCc%$^R&_L!I1w+lP$Tj>K{
z_*?9wVP+q~{0+`K*-lB!KHBWFKmAH}@sQVRr@ia!^{29nQ}8QNvpp@5oor?{(Jqsi
z`csMMr2@tUrk*G20oJR&9<xBgx7#Fs)wkO$aP_>j2HMGK%|(h<5ng_;cImV}x9-j0
z;c&n8!bKxEz`nd`?Vaa>uTH$2-TM6tzw}I;|JlQzeJl7u=gAhL{*ch{jo01@whU}<
zIXm}4FnQqZgwR9bTMX9hvRi}>UT6ZW3Uv9Zz|O*k(5T7LL~!T!t%4)CPBnkZ9tEdc
z1W#~QB*{)fum6_MjkFLPT@7i(FZ~h6rxSk<w*P78k-@6BgWF%+`Rlvi`AhI?UtiOF
z%U3=OekS04p8SY4M`Nm~5Hl5~)`vvT)q0LT#HZ?+u>ESiTi7gJFN@wkUGGBA(R0k<
z@Jp~6Y$m>e-Qk+nx2&7e!@jg$icM&rjKrg<RJ1Rah^2(KjHqx^PSyRtYt752yNnuo
zSij3fXDOtbYkIPljJ$udP*{+q$KRDghYZQH*ZfDJ@RI*W59QltiIzHA^Q$hY=H^#t
z4DpTN#g!(j(4(3a`ZMo#4^?VXa+~&ab(Q9!UcH9s$Ax6ALCJfy?)gg1rFG-oD(z%#
zwN|Yi)~d9ln72=_2&rdkbLtt%KaD;2m<!lbU|E`8o=?UOM&o^{k-o|CiBb+y2?rS*
zo&#>=su|iKX`u#5D-anpd~^Ob)RfTOO<9YWV#!Rkgf<tC5)Dj3oaDHp4eH&|CQ!1j
zEjilgZ9PpE(Nk6(w6Cqp_|RO-5-ngY{ieE%@d3u-y+n#Z^tdz6jXCd2v|29uWqQsM
zI&S1dyt88qI$9qif<|;;WOV31;ds4>LvVUa@Pyu-a;5fLj62<x+8p{858?{Gm%!KI
z6-^9bX}S@wpBL9_uG?w62J8*HnxM;5h<`wrx#|UW-vx<omgz<K{5o*2@-$_PI&eLM
zJQn+W$wim%jV7X_kyLbuua9xD>DWddJ(!FRuDI?H+y?J>B$`0%Qjvi%foE`JJdxs?
zH*;rzz@{Q`;V+GIA1246L=DB5u#%V@2KLp!F$>&JfVap)kt>rJpGGUqTWPgwGGKif
znq0p=Z|6dI9^<hwo*Itw!T88nbS%YzmQO_D<58X(;k{q%><IAB4<wV^S%SxE2opp`
z7MJ`u)}`NHtF3*&+Az1ns3d{$h^Q}9M(haVPH>1jIW%i+!#E~#h|OB}VZ0yXO61md
zj0Z8^fj)x1tH{@lbt+j%lelX7ysFOF5#;u)CBY|b4{TZ3ggMB4FZ6MX{jp{j*6J2}
zC4mKV_8vc^QNK8wW~~R(-_m;5e^YZ~-YR^P{nzz1wG3Yya4?#+s`?d8^7NX2MZJ1p
zS0{!2fO#3V8@3!0_FhwiEpW*22`t3XuT%B!5NX~<RX>jYeyq9llZW!xYwPHZjOd#j
zh^5B(ZAdmG)=EnCjo-jGQR-{wVJ9`YlT$pF7>XW5!VXMc3-d-k8cmIlCO)18*FrAR
zn2;@#o1LAB9*e{h!sjmLXGKYV;^*P48?{mco!`el#Iw+A2e=(T!?|HxfzP@7aTe@|
zjPk(ecwp0}yQrN%cz^HRt@o@XnFAKpgxa}UVPiE^!?$*K0!;_@{shtGE}Us=d~3zI
z<HVU*&Y}?VkB%5^ENfNK@%$z1w^5vZ&K;idk+M85?f@!cegf}3nEQ&r1x!{3=x{dr
z@q&@-3UW-J^WuBIW;$nnk7f>lM=m1P>@}rF)e7qWUgNf?s#guGdb+CSN)^$gVqEF&
z72lkS)McK<UGancxDVPWV-P!Lec_W~!_~OU_y&vYCdzEN9sgO!Y8Bcu92rG?I(R%b
zFd7-1<cX0KkB>x#qC<52M(<I)BjYJPvY!v(C?dh1j;Z?0A6L!>0$!pAO^;u#VBu_|
zybI00m3jQrzADtwt>8$?xnbfn;5cP@@Ga#|SRRHuPW-p=DeVvbto2>se!aiQ`H@o2
zr}ZgtMlO8B`2zC2K}j2m^vt{>&E%nhuHgGF#0+<lUX6V{&{ga$5%vq6o0tA}5?Zz9
ze}g=6@VHv@`w$Ze@#@649!22N%=@llDC*vhHSw=TA3jO+i*FOnA$ISfpj_|?Tf|b>
z;{Gn+QIr**xc}NtVG<r^jQ6yJbD-SH8kBS3|279UpiD&#dkz!*5NGuBXyOsIo<sW;
o+C{YTQ&ym?Kv{vZ0%Zlt3X~NnD^OOTtUy_TvI1oV{?`ip8(e#r$p8QV

diff --git a/utils/makejhdr,ff8 b/utils/makejhdr,ff8
deleted file mode 100644
index 0986e24702eb412a764e719de7e42065ee5ecfc2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5864
zcmeHHUuauZ82{Zaiz8f{+hS1))AKT%vz<4z-E1qGuB{I3#%5t6{z-3|n<g_$Msh1H
z2;S8W6eH<ChC;DdeGx&}qbP&xgW!XTzWE@Sdt;zkA3A&$iN9lRq5~g&@ZlbEIQf0w
zcfLQr?>iT8JOukQU~d4}-#i3l`f=y7J8<|;DUsvF-LrMot<~e$ZfWj<uZ!)bq7F93
z-R&W`RVZ$?PP+!M*yz9Q{1`#?*NDF8|K4ujx@6>w(j`N-?{*z;?5ELI<i>&@!%N<z
zf-jFgQuB{JQ1eIPHUAj}d-L(D{y{BSA0vK>__+X25YG}1prb!Y`~>lEe+N$zPZR4r
z>344&n|_3Tq<n&SCf>o15hsXG1^98|QQ}7f`y}y0#B)3!<SFaYKY5{*I59PLVoFcQ
zTFw|{kvJ(5lamve7M0^qpU#v=#EMxo%Z6oUM0#DEF<vpHSRASFcRUu8_j0S*Y|2U(
zQkRUi<x<8J$Hb95H9h&OM&Ytm?u!4GO9Se<ik^KXS1Mb}t5%>`&KI+#RMA|sQu*TL
zRV$TVx4J<(x)qZ`Ix~AgI`VYhs-y~Lw(AK9<bT<w%wnb+J0^lPe|An*HOsp01#T^1
zr+MGta8rR@S2WIo<~EUJuknsQuI)6VxYqiP^EW~};2dYAHVFHVT{#m7X5vliRoZ^V
z6Xg8;w}2NZtlEHvzI{bF-VX!3uh$z$GRC=jBh5a!hV*%%p<HwhVCnkMlcwWEbB=c<
z8rzQo7v=whhc3uF9~$x6N6?**v%sh0sQJ*gnp1~o{Jx>{{_C3YEb}_`FyF{lzm3J5
zQD!@5MIoOq8|8ITELoyZGBRcc*ZxhPuZR-6QOb%82LZBvY&qWHU)p=!e1Yd1s_q=n
zW_E@m=ehNHP1WBRjB?KIXN|CL<{+x9aigj7F5K;=s#Sf+HzzjgKkGZqcbWIMOF_*m
z|E&3jx51kE)_OI6-EMzzkA20rmG^dSrP^X1p3VCU>=`u2yNhvE@+xC1V7%nbUFEkA
z$kk};`!@5I`SgvpUS>}e_G^xJRa@p&Z=CMt5b!=tp9<&U^G#swDzM4kId21flu0am
zDe>-gehj#5_EpNHos`Md`+uAL4R^>vI0OIN892)KD&O!o8^98Gj$1DI)?eec<u`yk
jTp<G?10e$;10e$;10e$;10e$;10e$;10e(d6$5_)LwDr%

-- 
GitLab