changeset 399:81cda18b0487

compal: move all bootloader analysis work into boot subdir
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 14 Jan 2023 06:17:56 +0000 (2023-01-14)
parents e5e5ed527cc1
children 5377f91aea97
files .hgignore compal/Makefile compal/boot/Makefile compal/boot/c118-2.2.84.N-boot.bin compal/boot/c118-3.0.81.E-boot.bin compal/boot/c118-newboot.disasm compal/boot/c123-boot.bin compal/boot/c123-boot.disasm compal/boot/c123-newboot.bin compal/boot/c123-newboot.disasm compal/boot/c139-boot.90.04.bin compal/boot/c139-boot.disasm compal/boot/c139-boot.notes compal/boot/c139-boot1004.bin compal/boot/c139-tfboot.bin compal/boot/c139-tfboot.disasm compal/boot/c140-boot.bin compal/boot/c156-boot.90.05.bin compal/boot/c156-boot.disasm compal/c118-2.2.84.N-boot.bin compal/c118-3.0.81.E-boot.bin compal/c118-newboot.disasm compal/c123-boot.bin compal/c123-boot.disasm compal/c123-newboot.bin compal/c123-newboot.disasm compal/c139-boot.90.04.bin compal/c139-boot.disasm compal/c139-boot.notes compal/c139-boot1004.bin compal/c139-tfboot.bin compal/c139-tfboot.disasm compal/c140-boot.bin compal/c156-boot.90.05.bin compal/c156-boot.disasm
diffstat 35 files changed, 14108 insertions(+), 14103 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Sat Jan 14 06:09:25 2023 +0000
+++ b/.hgignore	Sat Jan 14 06:17:56 2023 +0000
@@ -11,15 +11,15 @@
 ^bootrom-old/bootrom-old\.dis32
 ^bootrom-old/bootrom-old\.hex
 
-^compal/c118-dfboot\.
-^compal/c118-newboot\.
-^compal/c123-boot\.
-^compal/c123-newboot\.
-^compal/c139-boot\.
-^compal/c139-newboot\.
-^compal/c139-tfboot\.
-^compal/c140-boot\.
-^compal/c156-boot\.
+^compal/boot/c118-dfboot\.
+^compal/boot/c118-newboot\.
+^compal/boot/c123-boot\.
+^compal/boot/c123-newboot\.
+^compal/boot/c139-boot\.
+^compal/boot/c139-newboot\.
+^compal/boot/c139-tfboot\.
+^compal/boot/c140-boot\.
+^compal/boot/c156-boot\.
 ^compal/melody-extr/extr-onemel$
 ^compal/melody-extr/extr-table$
 ^compal/osmovoodoo
--- a/compal/Makefile	Sat Jan 14 06:09:25 2023 +0000
+++ b/compal/Makefile	Sat Jan 14 06:17:56 2023 +0000
@@ -1,108 +1,7 @@
-C118=	c118-3.0.81.E-boot.bin
-C118DF=	c118-2.2.84.N-boot.bin
-C123=	c123-boot.bin
-C123NEW=c123-newboot.bin
-C139=	c139-boot.90.04.bin
-C139NEW=c139-boot1004.bin
-C139TF=	c139-tfboot.bin
-C140=	c140-boot.bin
-C156=	c156-boot.90.05.bin
-GEN=	c118-newboot.dis16 c118-newboot.dis32 c118-newboot.hex \
-	c118-dfboot.dis16 c118-dfboot.dis32 c118-dfboot.hex \
-	c123-boot.dis16 c123-boot.dis32 c123-boot.hex \
-	c123-newboot.dis16 c123-newboot.dis32 c123-newboot.hex \
-	c139-boot.dis16 c139-boot.dis32 c139-boot.hex \
-	c139-newboot.dis16 c139-newboot.dis32 c139-newboot.hex \
-	c139-tfboot.dis16 c139-tfboot.dis32 c139-tfboot.hex \
-	c140-boot.dis16 c140-boot.dis32 c140-boot.hex \
-	c156-boot.dis16 c156-boot.dis32 c156-boot.hex \
-	osmovoodoo osmovoodoo.bin
-ARMDIS=	../arm7dis/armdis
-THUMBDIS=../arm7dis/thumbdis
+GEN=	osmovoodoo osmovoodoo.bin
 
 all:	${GEN}
 
-c118-dfboot.dis16:	${C118DF} ${THUMBDIS}
-	${THUMBDIS} ${C118DF} > $@
-
-c118-dfboot.dis32:	${C118DF} ${ARMDIS}
-	${ARMDIS} ${C118DF} > $@
-
-c118-dfboot.hex:	${C118DF}
-	hd ${C118DF} > $@
-
-c118-newboot.dis16:	${C118} ${THUMBDIS}
-	${THUMBDIS} ${C118} > $@
-
-c118-newboot.dis32:	${C118} ${ARMDIS}
-	${ARMDIS} ${C118} > $@
-
-c118-newboot.hex:	${C118}
-	hd ${C118} > $@
-
-c123-boot.dis16:	${C123} ${THUMBDIS}
-	${THUMBDIS} ${C123} > $@
-
-c123-boot.dis32:	${C123} ${ARMDIS}
-	${ARMDIS} ${C123} > $@
-
-c123-boot.hex:	${C123}
-	hd ${C123} > $@
-
-c123-newboot.dis16:	${C123NEW} ${THUMBDIS}
-	${THUMBDIS} ${C123NEW} > $@
-
-c123-newboot.dis32:	${C123NEW} ${ARMDIS}
-	${ARMDIS} ${C123NEW} > $@
-
-c123-newboot.hex:	${C123NEW}
-	hd ${C123NEW} > $@
-
-c139-boot.dis16:	${C139} ${THUMBDIS}
-	${THUMBDIS} ${C139} > $@
-
-c139-boot.dis32:	${C139} ${ARMDIS}
-	${ARMDIS} ${C139} > $@
-
-c139-boot.hex:	${C139}
-	hd ${C139} > $@
-
-c139-newboot.dis16:	${C139NEW} ${THUMBDIS}
-	${THUMBDIS} ${C139NEW} > $@
-
-c139-newboot.dis32:	${C139NEW} ${ARMDIS}
-	${ARMDIS} ${C139NEW} > $@
-
-c139-newboot.hex:	${C139NEW}
-	hd ${C139NEW} > $@
-
-c139-tfboot.dis16:	${C139TF} ${THUMBDIS}
-	${THUMBDIS} ${C139TF} > $@
-
-c139-tfboot.dis32:	${C139TF} ${ARMDIS}
-	${ARMDIS} ${C139TF} > $@
-
-c139-tfboot.hex:	${C139TF}
-	hd ${C139TF} > $@
-
-c140-boot.dis16:	${C140} ${THUMBDIS}
-	${THUMBDIS} ${C140} > $@
-
-c140-boot.dis32:	${C140} ${ARMDIS}
-	${ARMDIS} ${C140} > $@
-
-c140-boot.hex:	${C140}
-	hd ${C140} > $@
-
-c156-boot.dis16:	${C156} ${THUMBDIS}
-	${THUMBDIS} ${C156} > $@
-
-c156-boot.dis32:	${C156} ${ARMDIS}
-	${ARMDIS} ${C156} > $@
-
-c156-boot.hex:	${C156}
-	hd ${C156} > $@
-
 osmovoodoo:	osmovoodoo.c
 	gcc -O2 -o $@ $@.c
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compal/boot/Makefile	Sat Jan 14 06:17:56 2023 +0000
@@ -0,0 +1,106 @@
+C118=	c118-3.0.81.E-boot.bin
+C118DF=	c118-2.2.84.N-boot.bin
+C123=	c123-boot.bin
+C123NEW=c123-newboot.bin
+C139=	c139-boot.90.04.bin
+C139NEW=c139-boot1004.bin
+C139TF=	c139-tfboot.bin
+C140=	c140-boot.bin
+C156=	c156-boot.90.05.bin
+GEN=	c118-newboot.dis16 c118-newboot.dis32 c118-newboot.hex \
+	c118-dfboot.dis16 c118-dfboot.dis32 c118-dfboot.hex \
+	c123-boot.dis16 c123-boot.dis32 c123-boot.hex \
+	c123-newboot.dis16 c123-newboot.dis32 c123-newboot.hex \
+	c139-boot.dis16 c139-boot.dis32 c139-boot.hex \
+	c139-newboot.dis16 c139-newboot.dis32 c139-newboot.hex \
+	c139-tfboot.dis16 c139-tfboot.dis32 c139-tfboot.hex \
+	c140-boot.dis16 c140-boot.dis32 c140-boot.hex \
+	c156-boot.dis16 c156-boot.dis32 c156-boot.hex
+ARMDIS=	../../arm7dis/armdis
+THUMBDIS=../../arm7dis/thumbdis
+
+all:	${GEN}
+
+c118-dfboot.dis16:	${C118DF} ${THUMBDIS}
+	${THUMBDIS} ${C118DF} > $@
+
+c118-dfboot.dis32:	${C118DF} ${ARMDIS}
+	${ARMDIS} ${C118DF} > $@
+
+c118-dfboot.hex:	${C118DF}
+	hd ${C118DF} > $@
+
+c118-newboot.dis16:	${C118} ${THUMBDIS}
+	${THUMBDIS} ${C118} > $@
+
+c118-newboot.dis32:	${C118} ${ARMDIS}
+	${ARMDIS} ${C118} > $@
+
+c118-newboot.hex:	${C118}
+	hd ${C118} > $@
+
+c123-boot.dis16:	${C123} ${THUMBDIS}
+	${THUMBDIS} ${C123} > $@
+
+c123-boot.dis32:	${C123} ${ARMDIS}
+	${ARMDIS} ${C123} > $@
+
+c123-boot.hex:	${C123}
+	hd ${C123} > $@
+
+c123-newboot.dis16:	${C123NEW} ${THUMBDIS}
+	${THUMBDIS} ${C123NEW} > $@
+
+c123-newboot.dis32:	${C123NEW} ${ARMDIS}
+	${ARMDIS} ${C123NEW} > $@
+
+c123-newboot.hex:	${C123NEW}
+	hd ${C123NEW} > $@
+
+c139-boot.dis16:	${C139} ${THUMBDIS}
+	${THUMBDIS} ${C139} > $@
+
+c139-boot.dis32:	${C139} ${ARMDIS}
+	${ARMDIS} ${C139} > $@
+
+c139-boot.hex:	${C139}
+	hd ${C139} > $@
+
+c139-newboot.dis16:	${C139NEW} ${THUMBDIS}
+	${THUMBDIS} ${C139NEW} > $@
+
+c139-newboot.dis32:	${C139NEW} ${ARMDIS}
+	${ARMDIS} ${C139NEW} > $@
+
+c139-newboot.hex:	${C139NEW}
+	hd ${C139NEW} > $@
+
+c139-tfboot.dis16:	${C139TF} ${THUMBDIS}
+	${THUMBDIS} ${C139TF} > $@
+
+c139-tfboot.dis32:	${C139TF} ${ARMDIS}
+	${ARMDIS} ${C139TF} > $@
+
+c139-tfboot.hex:	${C139TF}
+	hd ${C139TF} > $@
+
+c140-boot.dis16:	${C140} ${THUMBDIS}
+	${THUMBDIS} ${C140} > $@
+
+c140-boot.dis32:	${C140} ${ARMDIS}
+	${ARMDIS} ${C140} > $@
+
+c140-boot.hex:	${C140}
+	hd ${C140} > $@
+
+c156-boot.dis16:	${C156} ${THUMBDIS}
+	${THUMBDIS} ${C156} > $@
+
+c156-boot.dis32:	${C156} ${ARMDIS}
+	${ARMDIS} ${C156} > $@
+
+c156-boot.hex:	${C156}
+	hd ${C156} > $@
+
+clean:
+	rm -f ${GEN}
Binary file compal/boot/c118-2.2.84.N-boot.bin has changed
Binary file compal/boot/c118-3.0.81.E-boot.bin has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compal/boot/c118-newboot.disasm	Sat Jan 14 06:17:56 2023 +0000
@@ -0,0 +1,2626 @@
+Everything up to 0x958 is the same as in the C123 and C139 versions
+
+RESET entry and exception vectors:
+       0:	ea000225	b	0x89c
+       4:	ea000825	b	0x20a0
+       8:	ea000825	b	0x20a4
+       c:	ea000825	b	0x20a8
+      10:	ea000825	b	0x20ac
+      14:	ea000825	b	0x20b0
+      18:	ea000825	b	0x20b4
+
+<20-7FF: all FFs>
+
+00000800:  42 4F 4F 54 2E 39 30 2E  30 34 00 00 00 00 00 00  BOOT.90.04......
+00000810:  31 30 30 33 01 01 00 00  FF FF FF FF FF FF FF FF  1003............
+00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................
+
+     830:	00000006
+     834:	00000000
+     838:	00000000
+     83c:	00000048
+     840:	00000044
+     844:	00000052
+     848:	0000001b
+     84c:	00000005
+     850:	00000000
+     854:	00000000
+     858:	00000000
+     85c:	00000000
+     860:	000000fa
+     864:	ffff5800
+     868:	ffff5000
+     86c:	fffffb00
+     870:	02a102a1
+     874:	028302a1
+     878:	00c00281
+     87c:	002a0040
+     880:	00000040
+     884:	fffffd00
+     888:	ffff9800
+     88c:	fffffb10
+     890:	ffffff08
+     894:	20061081
+     898:	00000800
+
+; RESET entry point
+     89c:	e51f1020	ldr	r1, =0xfffffd00	; via 0x884
+     8a0:	e1d120b2	ldrh	r2, [r1, #2]
+     8a4:	e51f002c	ldr	r0, =0x40	; via 0x880
+     8a8:	e1800002	orr	r0, r0, r2
+     8ac:	e1c100b2	strh	r0, [r1, #2]
+     8b0:	e51f1030	ldr	r1, =0xffff9800	; via 0x888
+     8b4:	e15f22b6	ldrh	r2, =0x2006	; via 0x896
+     8b8:	e1c120b0	strh	r2, [r1]
+     8bc:	e5912000	ldr	r2, [r1]
+     8c0:	e2022001	and	r2, r2, #1
+     8c4:	e3520001	cmp	r2, #1
+     8c8:	0afffffb	beq	0x8bc
+     8cc:	e51f1050	ldr	r1, =0xfffffd00	; via 0x884
+     8d0:	e15f24b4	ldrh	r2, =0x1081	; via 0x894
+     8d4:	e1c120b0	strh	r2, [r1]
+     8d8:	e51f1054	ldr	r1, =0xfffffb10	; via 0x88c
+     8dc:	e15f24bc	ldrh	r2, =0x800	; via 0x898
+     8e0:	e1d100b0	ldrh	r0, [r1]
+     8e4:	e1800002	orr	r0, r0, r2
+     8e8:	e1c100b0	strh	r0, [r1]
+     8ec:	e51f1064	ldr	r1, =0xffffff08	; via 0x890
+     8f0:	e15f25be	ldrh	r2, =0x0	; via 0x89a
+     8f4:	e1c120b0	strh	r2, [r1]
+     8f8:	e51f1094	ldr	r1, =0xfffffb00	; via 0x86c
+     8fc:	e15f29b4	ldrh	r2, =0x2a1	; via 0x870
+     900:	e1c120b0	strh	r2, [r1]
+     904:	e15f29ba	ldrh	r2, =0x2a1	; via 0x872
+     908:	e1c120b2	strh	r2, [r1, #2]
+     90c:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x874
+     910:	e1c120b4	strh	r2, [r1, #4]
+     914:	e15f2ab6	ldrh	r2, =0x283	; via 0x876
+     918:	e1c120b6	strh	r2, [r1, #6]
+     91c:	e15f2abc	ldrh	r2, =0x281	; via 0x878
+     920:	e1c120ba	strh	r2, [r1, #10]	; 0xa
+     924:	e15f2bb2	ldrh	r2, =0xc0	; via 0x87a
+     928:	e1c120bc	strh	r2, [r1, #12]	; 0xc
+     92c:	e15f2bb8	ldrh	r2, =0x40	; via 0x87c
+     930:	e1c120b8	strh	r2, [r1, #8]
+     934:	e15f2bbe	ldrh	r2, =0x2a	; via 0x87e
+     938:	e1c120be	strh	r2, [r1, #14]	; 0xe
+     93c:	e59f0020	ldr	r0, =0x83e37c	; via 0x964
+     940:	e3a01b01	mov	r1, #1024	; 0x400
+     944:	e2411004	sub	r1, r1, #4
+     948:	e0802001	add	r2, r0, r1
+     94c:	e3c22003	bic	r2, r2, #3
+     950:	e1a0d002	mov	sp, r2
+     954:	e92d100f	stmdb	sp!, {r0, r1, r2, r3, r12}
+     958:	eb000522	bl	0x1de8
+     95c:	e8bd100f	ldmia	sp!, {r0, r1, r2, r3, r12}
+     960:	ea0005e4	b	0x20f8
+
+     964:	0083e37c
+
+     968:	4961		ldr	r1, =0xfffffa08	; via 0xaf0
+     96a:	4862		ldr	r0, =0xffff	; via 0xaf4
+     96c:	8008		strh	r0, [r1, #0]
+     96e:	4862		ldr	r0, =0xfffffa0a	; via 0xaf8
+     970:	211f		mov	r1, #31	; 0x1f
+     972:	8001		strh	r1, [r0, #0]
+     974:	4861		ldr	r0, =0xfffff804	; via 0xafc
+     976:	21f5		mov	r1, #245	; 0xf5
+     978:	8001		strh	r1, [r0, #0]
+     97a:	21a0		mov	r1, #160	; 0xa0
+     97c:	8001		strh	r1, [r0, #0]
+     97e:	4860		ldr	r0, =0xffff9800	; via 0xb00
+     980:	4960		ldr	r1, =0x2002	; via 0xb04
+     982:	8001		strh	r1, [r0, #0]
+     984:	485e		ldr	r0, =0xffff9800	; via 0xb00
+     986:	8800		ldrh	r0, [r0, #0]
+     988:	0840		lsr	r0, r0, #1
+     98a:	d2fb		bcs	0x984
+     98c:	495e		ldr	r1, =0xfffffd00	; via 0xb08
+     98e:	485f		ldr	r0, =0x1001	; via 0xb0c
+     990:	8008		strh	r0, [r1, #0]
+     992:	46f7		mov	pc, lr
+     994:	b500		push	{lr}
+     996:	b0ff		sub	sp, #508	; 0x1fc
+     998:	b0ca		sub	sp, #296	; 0x128
+     99a:	2000		mov	r0, #0
+     99c:	9001		str	r0, [sp, #4]
+     99e:	9801		ldr	r0, [sp, #4]
+     9a0:	2800		cmp	r0, #0
+     9a2:	d14e		bne	0xa42
+     9a4:	a846		add	r0, sp, #280	; 0x118
+     9a6:	2100		mov	r1, #0
+     9a8:	f001 f84a	bl	0x1a40
+     9ac:	a9c8		add	r1, sp, #800	; 0x320
+     9ae:	7008		strb	r0, [r1, #0]
+     9b0:	a846		add	r0, sp, #280	; 0x118
+     9b2:	a902		add	r1, sp, #8
+     9b4:	f000 fb08	bl	0xfc8
+     9b8:	9000		str	r0, [sp, #0]
+     9ba:	9800		ldr	r0, [sp, #0]
+     9bc:	2800		cmp	r0, #0
+     9be:	d01b		beq	0x9f8
+     9c0:	a924		add	r1, sp, #144	; 0x90
+     9c2:	4668		mov	r0, sp
+     9c4:	7a00		ldrb	r0, [r0, #8]
+     9c6:	7008		strb	r0, [r1, #0]
+     9c8:	2191		mov	r1, #145	; 0x91
+     9ca:	466a		mov	r2, sp
+     9cc:	4668		mov	r0, sp
+     9ce:	7800		ldrb	r0, [r0, #0]
+     9d0:	5488		strb	r0, [r1, r2]
+     9d2:	e01b		b	0xa0c
+     9d4:	a802		add	r0, sp, #8
+     9d6:	a924		add	r1, sp, #144	; 0x90
+     9d8:	f000 fde4	bl	0x15a4
+     9dc:	e016		b	0xa0c
+     9de:	a802		add	r0, sp, #8
+     9e0:	a924		add	r1, sp, #144	; 0x90
+     9e2:	aac8		add	r2, sp, #800	; 0x320
+     9e4:	7812		ldrb	r2, [r2, #0]
+     9e6:	f000 fdf1	bl	0x15cc
+     9ea:	e00f		b	0xa0c
+     9ec:	a802		add	r0, sp, #8
+     9ee:	a924		add	r1, sp, #144	; 0x90
+     9f0:	f000 fe23	bl	0x163a
+     9f4:	90c7		str	r0, [sp, #796]	; 0x31c
+     9f6:	e009		b	0xa0c
+     9f8:	4668		mov	r0, sp
+     9fa:	7a00		ldrb	r0, [r0, #8]
+     9fc:	2800		cmp	r0, #0
+     9fe:	d0e9		beq	0x9d4
+     a00:	3809		sub	r0, #9
+     a02:	2800		cmp	r0, #0
+     a04:	d0eb		beq	0x9de
+     a06:	3801		sub	r0, #1
+     a08:	2800		cmp	r0, #0
+     a0a:	d0ef		beq	0x9ec
+     a0c:	a824		add	r0, sp, #144	; 0x90
+     a0e:	a986		add	r1, sp, #536	; 0x218
+     a10:	f000 fbbd	bl	0x118e
+     a14:	2800		cmp	r0, #0
+     a16:	d111		bne	0xa3c
+     a18:	a886		add	r0, sp, #536	; 0x218
+     a1a:	a9c8		add	r1, sp, #800	; 0x320
+     a1c:	7809		ldrb	r1, [r1, #0]
+     a1e:	f000 ffe4	bl	0x19ea
+     a22:	2800		cmp	r0, #0
+     a24:	d00a		beq	0xa3c
+     a26:	4668		mov	r0, sp
+     a28:	7a00		ldrb	r0, [r0, #8]
+     a2a:	280a		cmp	r0, #10	; 0xa
+     a2c:	d106		bne	0xa3c
+     a2e:	a8c8		add	r0, sp, #800	; 0x320
+     a30:	7800		ldrb	r0, [r0, #0]
+     a32:	f001 f935	bl	0x1ca0
+     a36:	98c7		ldr	r0, [sp, #796]	; 0x31c
+     a38:	f000 fac4	bl	0xfc4
+     a3c:	9801		ldr	r0, [sp, #4]
+     a3e:	2800		cmp	r0, #0
+     a40:	d0b0		beq	0x9a4
+     a42:	b07f		add	sp, #508	; 0x1fc
+     a44:	b04a		add	sp, #296	; 0x128
+     a46:	bd00		pop	{pc}
+     a48:	b500		push	{lr}
+     a4a:	b0ff		sub	sp, #508	; 0x1fc
+     a4c:	b0c8		sub	sp, #288	; 0x120
+     a4e:	2000		mov	r0, #0
+     a50:	9000		str	r0, [sp, #0]
+     a52:	a846		add	r0, sp, #280	; 0x118
+     a54:	2101		mov	r1, #1
+     a56:	f000 fff3	bl	0x1a40
+     a5a:	a9c6		add	r1, sp, #792	; 0x318
+     a5c:	7008		strb	r0, [r1, #0]
+     a5e:	a8c6		add	r0, sp, #792	; 0x318
+     a60:	7800		ldrb	r0, [r0, #0]
+     a62:	28ff		cmp	r0, #255	; 0xff
+     a64:	d031		beq	0xaca
+     a66:	a846		add	r0, sp, #280	; 0x118
+     a68:	a902		add	r1, sp, #8
+     a6a:	f000 faad	bl	0xfc8
+     a6e:	9001		str	r0, [sp, #4]
+     a70:	9801		ldr	r0, [sp, #4]
+     a72:	2800		cmp	r0, #0
+     a74:	d014		beq	0xaa0
+     a76:	a924		add	r1, sp, #144	; 0x90
+     a78:	4668		mov	r0, sp
+     a7a:	7a00		ldrb	r0, [r0, #8]
+     a7c:	7008		strb	r0, [r1, #0]
+     a7e:	2291		mov	r2, #145	; 0x91
+     a80:	4668		mov	r0, sp
+     a82:	4669		mov	r1, sp
+     a84:	7909		ldrb	r1, [r1, #4]
+     a86:	5411		strb	r1, [r2, r0]
+     a88:	a824		add	r0, sp, #144	; 0x90
+     a8a:	a986		add	r1, sp, #536	; 0x218
+     a8c:	f000 fb7f	bl	0x118e
+     a90:	2800		cmp	r0, #0
+     a92:	d11a		bne	0xaca
+     a94:	a886		add	r0, sp, #536	; 0x218
+     a96:	a9c6		add	r1, sp, #792	; 0x318
+     a98:	7809		ldrb	r1, [r1, #0]
+     a9a:	f000 ffa6	bl	0x19ea
+     a9e:	e014		b	0xaca
+     aa0:	4668		mov	r0, sp
+     aa2:	7a00		ldrb	r0, [r0, #8]
+     aa4:	2800		cmp	r0, #0
+     aa6:	d110		bne	0xaca
+     aa8:	a802		add	r0, sp, #8
+     aaa:	a924		add	r1, sp, #144	; 0x90
+     aac:	f000 fd7a	bl	0x15a4
+     ab0:	a824		add	r0, sp, #144	; 0x90
+     ab2:	a986		add	r1, sp, #536	; 0x218
+     ab4:	f000 fb6b	bl	0x118e
+     ab8:	2800		cmp	r0, #0
+     aba:	d104		bne	0xac6
+     abc:	a886		add	r0, sp, #536	; 0x218
+     abe:	a9c6		add	r1, sp, #792	; 0x318
+     ac0:	7809		ldrb	r1, [r1, #0]
+     ac2:	f000 ff92	bl	0x19ea
+     ac6:	2001		mov	r0, #1
+     ac8:	9000		str	r0, [sp, #0]
+     aca:	9800		ldr	r0, [sp, #0]
+     acc:	b07f		add	sp, #508	; 0x1fc
+     ace:	b048		add	sp, #288	; 0x120
+     ad0:	bd00		pop	{pc}
+
+     ad2:	b500		push	{lr}
+     ad4:	b082		sub	sp, #8
+     ad6:	f7ff ff47	bl	0x968
+     ada:	f001 f889	bl	0x1bf0
+     ade:	f000 fd4f	bl	0x1580
+     ae2:	f000 f81f	bl	0xb24
+     ae6:	f000 f945	bl	0xd74
+     aea:	b002		add	sp, #8
+     aec:	bd00		pop	{pc}
+     aee:	46c0		nop			(mov r8, r8)
+
+     af0:	fffffa08
+     af4:	0000ffff
+     af8:	fffffa0a
+     afc:	fffff804
+     b00:	ffff9800
+     b04:	00002002
+     b08:	fffffd00
+     b0c:	00001001
+
+     b10:	e3a0d502	mov	sp, #8388608	; 0x800000
+     b14:	e28dd802	add	sp, sp, #131072	; 0x20000
+     b18:	e28fe005	add	lr, pc, #5
+     b1c:	e12fff1e	bx	lr
+     b20:	e1a00000	mov	r0, r0
+
+     b24:	b500		push	{lr}
+     b26:	b082		sub	sp, #8
+     b28:	49ea		ldr	r1, =0x83ff00	; via 0xed4
+     b2a:	48eb		ldr	r0, =0xffff5800	; via 0xed8
+     b2c:	6008		str	r0, [r1, #0]
+     b2e:	2000		mov	r0, #0
+     b30:	2102		mov	r1, #2
+     b32:	f000 f9d3	bl	0xedc
+     b36:	2000		mov	r0, #0
+     b38:	9000		str	r0, [sp, #0]
+     b3a:	9900		ldr	r1, [sp, #0]
+     b3c:	2005		mov	r0, #5
+     b3e:	0300		lsl	r0, r0, #12
+     b40:	4281		cmp	r1, r0
+     b42:	d207		bcs	0xb54
+     b44:	9800		ldr	r0, [sp, #0]
+     b46:	3001		add	r0, #1
+     b48:	9000		str	r0, [sp, #0]
+     b4a:	9900		ldr	r1, [sp, #0]
+     b4c:	2005		mov	r0, #5
+     b4e:	0300		lsl	r0, r0, #12
+     b50:	4281		cmp	r1, r0
+     b52:	d3f7		bcc	0xb44
+     b54:	f000 f82a	bl	0xbac
+     b58:	2000		mov	r0, #0
+     b5a:	2107		mov	r1, #7
+     b5c:	f000 f9be	bl	0xedc
+     b60:	2000		mov	r0, #0
+     b62:	9000		str	r0, [sp, #0]
+     b64:	9900		ldr	r1, [sp, #0]
+     b66:	2005		mov	r0, #5
+     b68:	0300		lsl	r0, r0, #12
+     b6a:	4281		cmp	r1, r0
+     b6c:	d207		bcs	0xb7e
+     b6e:	9800		ldr	r0, [sp, #0]
+     b70:	3001		add	r0, #1
+     b72:	9000		str	r0, [sp, #0]
+     b74:	9900		ldr	r1, [sp, #0]
+     b76:	2005		mov	r0, #5
+     b78:	0300		lsl	r0, r0, #12
+     b7a:	4281		cmp	r1, r0
+     b7c:	d3f7		bcc	0xb6e
+     b7e:	f000 f815	bl	0xbac
+     b82:	2000		mov	r0, #0
+     b84:	9001		str	r0, [sp, #4]
+     b86:	9000		str	r0, [sp, #0]
+     b88:	9900		ldr	r1, [sp, #0]
+     b8a:	2005		mov	r0, #5
+     b8c:	0400		lsl	r0, r0, #16
+     b8e:	4281		cmp	r1, r0
+     b90:	d20a		bcs	0xba8
+     b92:	9801		ldr	r0, [sp, #4]
+     b94:	3001		add	r0, #1
+     b96:	9001		str	r0, [sp, #4]
+     b98:	9800		ldr	r0, [sp, #0]
+     b9a:	3001		add	r0, #1
+     b9c:	9000		str	r0, [sp, #0]
+     b9e:	9900		ldr	r1, [sp, #0]
+     ba0:	2005		mov	r0, #5
+     ba2:	0400		lsl	r0, r0, #16
+     ba4:	4281		cmp	r1, r0
+     ba6:	d3f4		bcc	0xb92
+     ba8:	b002		add	sp, #8
+     baa:	bd00		pop	{pc}
+
+     bac:	b500		push	{lr}
+     bae:	b089		sub	sp, #36	; 0x24
+     bb0:	48f3		ldr	r0, =0x800100	; via 0xf80
+     bb2:	9005		str	r0, [sp, #20]	; 0x14
+     bb4:	48f3		ldr	r0, =0x2060	; via 0xf84
+     bb6:	9008		str	r0, [sp, #32]	; 0x20
+     bb8:	9808		ldr	r0, [sp, #32]	; 0x20
+     bba:	6800		ldr	r0, [r0, #0]
+     bbc:	49f2		ldr	r1, =0xdddddddd	; via 0xf88
+     bbe:	4288		cmp	r0, r1
+     bc0:	d000		beq	0xbc4
+     bc2:	e0d5		b	0xd70
+     bc4:	201b		mov	r0, #27	; 0x1b
+     bc6:	f000 f932	bl	0xe2e
+     bca:	20f6		mov	r0, #246	; 0xf6
+     bcc:	f000 f92f	bl	0xe2e
+     bd0:	2002		mov	r0, #2
+     bd2:	f000 f92c	bl	0xe2e
+     bd6:	2000		mov	r0, #0
+     bd8:	f000 f929	bl	0xe2e
+     bdc:	2041		mov	r0, #65	; 0x41
+     bde:	f000 f926	bl	0xe2e
+     be2:	2001		mov	r0, #1
+     be4:	f000 f923	bl	0xe2e
+     be8:	2040		mov	r0, #64	; 0x40
+     bea:	f000 f920	bl	0xe2e
+     bee:	2001		mov	r0, #1
+     bf0:	0300		lsl	r0, r0, #12
+     bf2:	f000 f934	bl	0xe5e
+     bf6:	281b		cmp	r0, #27	; 0x1b
+     bf8:	d000		beq	0xbfc
+     bfa:	e0b9		b	0xd70
+     bfc:	2001		mov	r0, #1
+     bfe:	0300		lsl	r0, r0, #12
+     c00:	f000 f92d	bl	0xe5e
+     c04:	28f6		cmp	r0, #246	; 0xf6
+     c06:	d000		beq	0xc0a
+     c08:	e0b2		b	0xd70
+     c0a:	2001		mov	r0, #1
+     c0c:	0300		lsl	r0, r0, #12
+     c0e:	f000 f926	bl	0xe5e
+     c12:	2802		cmp	r0, #2
+     c14:	d000		beq	0xc18
+     c16:	e0ab		b	0xd70
+     c18:	2001		mov	r0, #1
+     c1a:	0300		lsl	r0, r0, #12
+     c1c:	f000 f91f	bl	0xe5e
+     c20:	2800		cmp	r0, #0
+     c22:	d000		beq	0xc26
+     c24:	e0a4		b	0xd70
+     c26:	2001		mov	r0, #1
+     c28:	0300		lsl	r0, r0, #12
+     c2a:	f000 f918	bl	0xe5e
+     c2e:	2852		cmp	r0, #82	; 0x52
+     c30:	d000		beq	0xc34
+     c32:	e09d		b	0xd70
+     c34:	2001		mov	r0, #1
+     c36:	0300		lsl	r0, r0, #12
+     c38:	f000 f911	bl	0xe5e
+     c3c:	2801		cmp	r0, #1
+     c3e:	d000		beq	0xc42
+     c40:	e096		b	0xd70
+     c42:	2001		mov	r0, #1
+     c44:	0300		lsl	r0, r0, #12
+     c46:	f000 f90a	bl	0xe5e
+     c4a:	2853		cmp	r0, #83	; 0x53
+     c4c:	d000		beq	0xc50
+     c4e:	e08f		b	0xd70
+     c50:	201b		mov	r0, #27	; 0x1b
+     c52:	f000 f8ec	bl	0xe2e
+     c56:	20f6		mov	r0, #246	; 0xf6
+     c58:	f000 f8e9	bl	0xe2e
+     c5c:	2002		mov	r0, #2
+     c5e:	f000 f8e6	bl	0xe2e
+     c62:	2000		mov	r0, #0
+     c64:	f000 f8e3	bl	0xe2e
+     c68:	2041		mov	r0, #65	; 0x41
+     c6a:	f000 f8e0	bl	0xe2e
+     c6e:	2002		mov	r0, #2
+     c70:	f000 f8dd	bl	0xe2e
+     c74:	2043		mov	r0, #67	; 0x43
+     c76:	f000 f8da	bl	0xe2e
+     c7a:	2001		mov	r0, #1
+     c7c:	0300		lsl	r0, r0, #12
+     c7e:	f000 f8ee	bl	0xe5e
+     c82:	4669		mov	r1, sp
+     c84:	7208		strb	r0, [r1, #8]
+     c86:	2002		mov	r0, #2
+     c88:	7448		strb	r0, [r1, #17]	; 0x11
+     c8a:	2000		mov	r0, #0
+     c8c:	9000		str	r0, [sp, #0]
+     c8e:	9800		ldr	r0, [sp, #0]
+     c90:	2802		cmp	r0, #2
+     c92:	d215		bcs	0xcc0
+     c94:	2001		mov	r0, #1
+     c96:	0300		lsl	r0, r0, #12
+     c98:	f000 f8e1	bl	0xe5e
+     c9c:	4669		mov	r1, sp
+     c9e:	9a00		ldr	r2, [sp, #0]
+     ca0:	1a89		sub	r1, r1, r2
+     ca2:	7348		strb	r0, [r1, #13]	; 0xd
+     ca4:	4669		mov	r1, sp
+     ca6:	9800		ldr	r0, [sp, #0]
+     ca8:	1a08		sub	r0, r1, r0
+     caa:	7b40		ldrb	r0, [r0, #13]	; 0xd
+     cac:	7c49		ldrb	r1, [r1, #17]	; 0x11
+     cae:	4048		eor	r0, r1
+     cb0:	4669		mov	r1, sp
+     cb2:	7448		strb	r0, [r1, #17]	; 0x11
+     cb4:	9800		ldr	r0, [sp, #0]
+     cb6:	3001		add	r0, #1
+     cb8:	9000		str	r0, [sp, #0]
+     cba:	9800		ldr	r0, [sp, #0]
+     cbc:	2802		cmp	r0, #2
+     cbe:	d3e9		bcc	0xc94
+     cc0:	4668		mov	r0, sp
+     cc2:	8980		ldrh	r0, [r0, #12]	; 0xc
+     cc4:	466a		mov	r2, sp
+     cc6:	1e41		sub	r1, r0, #1
+     cc8:	8191		strh	r1, [r2, #12]	; 0xc
+     cca:	2800		cmp	r0, #0
+     ccc:	d015		beq	0xcfa
+     cce:	2001		mov	r0, #1
+     cd0:	0300		lsl	r0, r0, #12
+     cd2:	f000 f8c4	bl	0xe5e
+     cd6:	9905		ldr	r1, [sp, #20]	; 0x14
+     cd8:	7008		strb	r0, [r1, #0]
+     cda:	9805		ldr	r0, [sp, #20]	; 0x14
+     cdc:	7800		ldrb	r0, [r0, #0]
+     cde:	4669		mov	r1, sp
+     ce0:	7c49		ldrb	r1, [r1, #17]	; 0x11
+     ce2:	4048		eor	r0, r1
+     ce4:	4669		mov	r1, sp
+     ce6:	7448		strb	r0, [r1, #17]	; 0x11
+     ce8:	9805		ldr	r0, [sp, #20]	; 0x14
+     cea:	3001		add	r0, #1
+     cec:	9005		str	r0, [sp, #20]	; 0x14
+     cee:	4668		mov	r0, sp
+     cf0:	8982		ldrh	r2, [r0, #12]	; 0xc
+     cf2:	1e50		sub	r0, r2, #1
+     cf4:	8188		strh	r0, [r1, #12]	; 0xc
+     cf6:	2a00		cmp	r2, #0
+     cf8:	d1e9		bne	0xcce
+     cfa:	2001		mov	r0, #1
+     cfc:	0300		lsl	r0, r0, #12
+     cfe:	f000 f8ae	bl	0xe5e
+     d02:	4669		mov	r1, sp
+     d04:	7408		strb	r0, [r1, #16]	; 0x10
+     d06:	4668		mov	r0, sp
+     d08:	7c01		ldrb	r1, [r0, #16]	; 0x10
+     d0a:	7c40		ldrb	r0, [r0, #17]	; 0x11
+     d0c:	4281		cmp	r1, r0
+     d0e:	d015		beq	0xd3c
+     d10:	201b		mov	r0, #27	; 0x1b
+     d12:	f000 f88c	bl	0xe2e
+     d16:	20f6		mov	r0, #246	; 0xf6
+     d18:	f000 f889	bl	0xe2e
+     d1c:	2002		mov	r0, #2
+     d1e:	f000 f886	bl	0xe2e
+     d22:	2000		mov	r0, #0
+     d24:	f000 f883	bl	0xe2e
+     d28:	2045		mov	r0, #69	; 0x45
+     d2a:	f000 f880	bl	0xe2e
+     d2e:	2053		mov	r0, #83	; 0x53
+     d30:	f000 f87d	bl	0xe2e
+     d34:	2016		mov	r0, #22	; 0x16
+     d36:	f000 f87a	bl	0xe2e
+     d3a:	e019		b	0xd70
+     d3c:	201b		mov	r0, #27	; 0x1b
+     d3e:	f000 f876	bl	0xe2e
+     d42:	20f6		mov	r0, #246	; 0xf6
+     d44:	f000 f873	bl	0xe2e
+     d48:	2002		mov	r0, #2
+     d4a:	f000 f870	bl	0xe2e
+     d4e:	2000		mov	r0, #0
+     d50:	f000 f86d	bl	0xe2e
+     d54:	2041		mov	r0, #65	; 0x41
+     d56:	f000 f86a	bl	0xe2e
+     d5a:	2003		mov	r0, #3
+     d5c:	f000 f867	bl	0xe2e
+     d60:	2042		mov	r0, #66	; 0x42
+     d62:	f000 f864	bl	0xe2e
+     d66:	485b		ldr	r0, =0x83ff00	; via 0xed4
+     d68:	6800		ldr	r0, [r0, #0]
+     d6a:	4991		ldr	r1, =0x800100	; via 0xfb0
+     d6c:	f000 f85e	bl	0xe2c
+     d70:	b009		add	sp, #36	; 0x24
+     d72:	bd00		pop	{pc}
+
+     d74:	b500		push	{lr}
+     d76:	b081		sub	sp, #4
+     d78:	2066		mov	r0, #102	; 0x66
+     d7a:	f000 f858	bl	0xe2e
+     d7e:	2074		mov	r0, #116	; 0x74
+     d80:	f000 f855	bl	0xe2e
+     d84:	206d		mov	r0, #109	; 0x6d
+     d86:	f000 f852	bl	0xe2e
+     d8a:	2074		mov	r0, #116	; 0x74
+     d8c:	f000 f84f	bl	0xe2e
+     d90:	206f		mov	r0, #111	; 0x6f
+     d92:	f000 f84c	bl	0xe2e
+     d96:	206f		mov	r0, #111	; 0x6f
+     d98:	f000 f849	bl	0xe2e
+     d9c:	206c		mov	r0, #108	; 0x6c
+     d9e:	f000 f846	bl	0xe2e
+     da2:	4984		ldr	r1, =0x83ff80	; via 0xfb4
+     da4:	2000		mov	r0, #0
+     da6:	7008		strb	r0, [r1, #0]
+     da8:	9000		str	r0, [sp, #0]
+     daa:	9800		ldr	r0, [sp, #0]
+     dac:	0c00		lsr	r0, r0, #16
+     dae:	d105		bne	0xdbc
+     db0:	9800		ldr	r0, [sp, #0]
+     db2:	3001		add	r0, #1
+     db4:	9000		str	r0, [sp, #0]
+     db6:	9800		ldr	r0, [sp, #0]
+     db8:	0c00		lsr	r0, r0, #16
+     dba:	d0f9		beq	0xdb0
+     dbc:	2007		mov	r0, #7
+     dbe:	0400		lsl	r0, r0, #16
+     dc0:	f000 f84d	bl	0xe5e
+     dc4:	2879		cmp	r0, #121	; 0x79
+     dc6:	d10e		bne	0xde6
+     dc8:	2001		mov	r0, #1
+     dca:	0300		lsl	r0, r0, #12
+     dcc:	f000 f847	bl	0xe5e
+     dd0:	2865		cmp	r0, #101	; 0x65
+     dd2:	d108		bne	0xde6
+     dd4:	2001		mov	r0, #1
+     dd6:	0300		lsl	r0, r0, #12
+     dd8:	f000 f841	bl	0xe5e
+     ddc:	2873		cmp	r0, #115	; 0x73
+     dde:	d102		bne	0xde6
+     de0:	4874		ldr	r0, =0x83ff80	; via 0xfb4
+     de2:	2101		mov	r1, #1
+     de4:	7001		strb	r1, [r0, #0]
+     de6:	f000 f8d1	bl	0xf8c
+     dea:	2800		cmp	r0, #0
+     dec:	d00d		beq	0xe0a
+     dee:	206d		mov	r0, #109	; 0x6d
+     df0:	f000 f81d	bl	0xe2e
+     df4:	206f		mov	r0, #111	; 0x6f
+     df6:	f000 f81a	bl	0xe2e
+     dfa:	2064		mov	r0, #100	; 0x64
+     dfc:	f000 f817	bl	0xe2e
+     e00:	2065		mov	r0, #101	; 0x65
+     e02:	f000 f814	bl	0xe2e
+     e06:	206d		mov	r0, #109	; 0x6d
+     e08:	e00c		b	0xe24
+     e0a:	2065		mov	r0, #101	; 0x65
+     e0c:	f000 f80f	bl	0xe2e
+     e10:	2072		mov	r0, #114	; 0x72
+     e12:	f000 f80c	bl	0xe2e
+     e16:	2072		mov	r0, #114	; 0x72
+     e18:	f000 f809	bl	0xe2e
+     e1c:	206f		mov	r0, #111	; 0x6f
+     e1e:	f000 f806	bl	0xe2e
+     e22:	2072		mov	r0, #114	; 0x72
+     e24:	f000 f803	bl	0xe2e
+     e28:	b001		add	sp, #4
+     e2a:	bd00		pop	{pc}
+     e2c:	4708		bx	r1
+     e2e:	b081		sub	sp, #4
+     e30:	4669		mov	r1, sp
+     e32:	7008		strb	r0, [r1, #0]
+     e34:	4827		ldr	r0, =0x83ff00	; via 0xed4
+     e36:	6800		ldr	r0, [r0, #0]
+     e38:	7940		ldrb	r0, [r0, #5]
+     e3a:	0980		lsr	r0, r0, #6
+     e3c:	d3fa		bcc	0xe34
+     e3e:	4825		ldr	r0, =0x83ff00	; via 0xed4
+     e40:	6800		ldr	r0, [r0, #0]
+     e42:	4669		mov	r1, sp
+     e44:	7809		ldrb	r1, [r1, #0]
+     e46:	7001		strb	r1, [r0, #0]
+     e48:	b001		add	sp, #4
+     e4a:	46f7		mov	pc, lr
+     e4c:	4821		ldr	r0, =0x83ff00	; via 0xed4
+     e4e:	6800		ldr	r0, [r0, #0]
+     e50:	7940		ldrb	r0, [r0, #5]
+     e52:	0840		lsr	r0, r0, #1
+     e54:	d3fa		bcc	0xe4c
+     e56:	481f		ldr	r0, =0x83ff00	; via 0xed4
+     e58:	6800		ldr	r0, [r0, #0]
+     e5a:	7800		ldrb	r0, [r0, #0]
+     e5c:	4770		bx	lr
+     e5e:	b083		sub	sp, #12	; 0xc
+     e60:	9000		str	r0, [sp, #0]
+     e62:	9800		ldr	r0, [sp, #0]
+     e64:	9002		str	r0, [sp, #8]
+     e66:	481b		ldr	r0, =0x83ff00	; via 0xed4
+     e68:	6800		ldr	r0, [r0, #0]
+     e6a:	7940		ldrb	r0, [r0, #5]
+     e6c:	0840		lsr	r0, r0, #1
+     e6e:	d20c		bcs	0xe8a
+     e70:	9802		ldr	r0, [sp, #8]
+     e72:	3801		sub	r0, #1
+     e74:	9002		str	r0, [sp, #8]
+     e76:	9802		ldr	r0, [sp, #8]
+     e78:	2800		cmp	r0, #0
+     e7a:	d101		bne	0xe80
+     e7c:	20ff		mov	r0, #255	; 0xff
+     e7e:	e007		b	0xe90
+     e80:	4814		ldr	r0, =0x83ff00	; via 0xed4
+     e82:	6800		ldr	r0, [r0, #0]
+     e84:	7940		ldrb	r0, [r0, #5]
+     e86:	0840		lsr	r0, r0, #1
+     e88:	d3f2		bcc	0xe70
+     e8a:	4812		ldr	r0, =0x83ff00	; via 0xed4
+     e8c:	6800		ldr	r0, [r0, #0]
+     e8e:	7800		ldrb	r0, [r0, #0]
+     e90:	b003		add	sp, #12	; 0xc
+     e92:	4770		bx	lr
+     e94:	b081		sub	sp, #4
+     e96:	e001		b	0xe9c
+     e98:	9800		ldr	r0, [sp, #0]
+     e9a:	3801		sub	r0, #1
+     e9c:	9000		str	r0, [sp, #0]
+     e9e:	480d		ldr	r0, =0x83ff00	; via 0xed4
+     ea0:	6800		ldr	r0, [r0, #0]
+     ea2:	7940		ldrb	r0, [r0, #5]
+     ea4:	0840		lsr	r0, r0, #1
+     ea6:	d202		bcs	0xeae
+     ea8:	9800		ldr	r0, [sp, #0]
+     eaa:	2800		cmp	r0, #0
+     eac:	dcf4		bgt	0xe98
+     eae:	9800		ldr	r0, [sp, #0]
+     eb0:	2800		cmp	r0, #0
+     eb2:	dd01		ble	0xeb8
+     eb4:	2000		mov	r0, #0
+     eb6:	e000		b	0xeba
+     eb8:	2001		mov	r0, #1
+     eba:	b001		add	sp, #4
+     ebc:	4770		bx	lr
+     ebe:	b082		sub	sp, #8
+     ec0:	9000		str	r0, [sp, #0]
+     ec2:	4669		mov	r1, sp
+     ec4:	2000		mov	r0, #0
+     ec6:	7188		strb	r0, [r1, #6]
+     ec8:	9900		ldr	r1, [sp, #0]
+     eca:	483b		ldr	r0, =0xfffef000	; via 0xfb8
+     ecc:	8800		ldrh	r0, [r0, #0]
+     ece:	8008		strh	r0, [r1, #0]
+     ed0:	b002		add	sp, #8
+     ed2:	4770		bx	lr
+     ed4:	ff00		<half-bl>
+     ed6:	0083		lsl	r3, r0, #2
+     ed8:	5800		ldr	r0, [r0, r0]
+     eda:	ffff		<half-bl>
+     edc:	b081		sub	sp, #4
+     ede:	466a		mov	r2, sp
+     ee0:	7051		strb	r1, [r2, #1]
+     ee2:	4669		mov	r1, sp
+     ee4:	7008		strb	r0, [r1, #0]
+     ee6:	4935		ldr	r1, =0xffff6000	; via 0xfbc
+     ee8:	2002		mov	r0, #2
+     eea:	880a		ldrh	r2, [r1, #0]
+     eec:	4310		orr	r0, r2
+     eee:	8008		strh	r0, [r1, #0]
+     ef0:	4832		ldr	r0, =0xffff6000	; via 0xfbc
+     ef2:	8801		ldrh	r1, [r0, #0]
+     ef4:	0849		lsr	r1, r1, #1
+     ef6:	0049		lsl	r1, r1, #1
+     ef8:	8001		strh	r1, [r0, #0]
+     efa:	4930		ldr	r1, =0xffff6000	; via 0xfbc
+     efc:	8808		ldrh	r0, [r1, #0]
+     efe:	2202		mov	r2, #2
+     f00:	4390		bic	r0, r2
+     f02:	8008		strh	r0, [r1, #0]
+     f04:	482e		ldr	r0, =0x83ff00	; via 0xfc0
+     f06:	6801		ldr	r1, [r0, #0]
+     f08:	2007		mov	r0, #7
+     f0a:	7208		strb	r0, [r1, #8]
+     f0c:	482c		ldr	r0, =0x83ff00	; via 0xfc0
+     f0e:	6801		ldr	r1, [r0, #0]
+     f10:	20bf		mov	r0, #191	; 0xbf
+     f12:	70c8		strb	r0, [r1, #3]
+     f14:	482a		ldr	r0, =0x83ff00	; via 0xfc0
+     f16:	6800		ldr	r0, [r0, #0]
+     f18:	1c80		add	r0, r0, #2
+     f1a:	2110		mov	r1, #16	; 0x10
+     f1c:	8802		ldrh	r2, [r0, #0]
+     f1e:	4311		orr	r1, r2
+     f20:	8001		strh	r1, [r0, #0]
+     f22:	4827		ldr	r0, =0x83ff00	; via 0xfc0
+     f24:	6801		ldr	r1, [r0, #0]
+     f26:	2080		mov	r0, #128	; 0x80
+     f28:	70c8		strb	r0, [r1, #3]
+     f2a:	4825		ldr	r0, =0x83ff00	; via 0xfc0
+     f2c:	6800		ldr	r0, [r0, #0]
+     f2e:	2107		mov	r1, #7
+     f30:	7081		strb	r1, [r0, #2]
+     f32:	4823		ldr	r0, =0x83ff00	; via 0xfc0
+     f34:	6800		ldr	r0, [r0, #0]
+     f36:	21bf		mov	r1, #191	; 0xbf
+     f38:	70c1		strb	r1, [r0, #3]
+     f3a:	4821		ldr	r0, =0x83ff00	; via 0xfc0
+     f3c:	6801		ldr	r1, [r0, #0]
+     f3e:	4668		mov	r0, sp
+     f40:	7840		ldrb	r0, [r0, #1]
+     f42:	7008		strb	r0, [r1, #0]
+     f44:	481e		ldr	r0, =0x83ff00	; via 0xfc0
+     f46:	6801		ldr	r1, [r0, #0]
+     f48:	4668		mov	r0, sp
+     f4a:	7800		ldrb	r0, [r0, #0]
+     f4c:	7048		strb	r0, [r1, #1]
+     f4e:	481c		ldr	r0, =0x83ff00	; via 0xfc0
+     f50:	6801		ldr	r1, [r0, #0]
+     f52:	2003		mov	r0, #3
+     f54:	70c8		strb	r0, [r1, #3]
+     f56:	481a		ldr	r0, =0x83ff00	; via 0xfc0
+     f58:	6800		ldr	r0, [r0, #0]
+     f5a:	2100		mov	r1, #0
+     f5c:	7201		strb	r1, [r0, #8]
+     f5e:	4818		ldr	r0, =0x83ff00	; via 0xfc0
+     f60:	6800		ldr	r0, [r0, #0]
+     f62:	7940		ldrb	r0, [r0, #5]
+     f64:	0840		lsr	r0, r0, #1
+     f66:	d309		bcc	0xf7c
+     f68:	4669		mov	r1, sp
+     f6a:	4815		ldr	r0, =0x83ff00	; via 0xfc0
+     f6c:	6800		ldr	r0, [r0, #0]
+     f6e:	7800		ldrb	r0, [r0, #0]
+     f70:	7088		strb	r0, [r1, #2]
+     f72:	4813		ldr	r0, =0x83ff00	; via 0xfc0
+     f74:	6800		ldr	r0, [r0, #0]
+     f76:	7940		ldrb	r0, [r0, #5]
+     f78:	0840		lsr	r0, r0, #1
+     f7a:	d2f5		bcs	0xf68
+     f7c:	b001		add	sp, #4
+     f7e:	4770		bx	lr
+     f80:	0100		lsl	r0, r0, #4
+     f82:	0080		lsl	r0, r0, #2
+     f84:	2060		mov	r0, #96	; 0x60
+     f86:	0000		lsl	r0, r0, #0
+     f88:	dddd		ble	0xf46
+     f8a:	dddd		ble	0xf48
+     f8c:	4809		ldr	r0, =0x83ff80	; via 0xfb4
+     f8e:	7800		ldrb	r0, [r0, #0]
+     f90:	4770		bx	lr
+     f92:	b500		push	{lr}
+     f94:	b081		sub	sp, #4
+     f96:	4669		mov	r1, sp
+     f98:	7008		strb	r0, [r1, #0]
+     f9a:	4668		mov	r0, sp
+     f9c:	7800		ldrb	r0, [r0, #0]
+     f9e:	f7ff ff46	bl	0xe2e
+     fa2:	b001		add	sp, #4
+     fa4:	bd00		pop	{pc}
+     fa6:	b500		push	{lr}
+     fa8:	f7ff ff50	bl	0xe4c
+     fac:	bd00		pop	{pc}
+     fae:	46c0		nop			(mov r8, r8)
+     fb0:	0100		lsl	r0, r0, #4
+     fb2:	0080		lsl	r0, r0, #2
+     fb4:	ff80		<half-bl>
+     fb6:	0083		lsl	r3, r0, #2
+     fb8:	f000 fffe	bl	0x1fb8
+     fbc:	6000		str	r0, [r0, #0]
+     fbe:	ffff		<half-bl>
+     fc0:	ff00		<half-bl>
+     fc2:	0083		lsl	r3, r0, #2
+     fc4:	4700		bx	r0
+     fc6:	0000		lsl	r0, r0, #0
+     fc8:	b08c		sub	sp, #48	; 0x30
+     fca:	9101		str	r1, [sp, #4]
+     fcc:	9000		str	r0, [sp, #0]
+     fce:	2000		mov	r0, #0
+     fd0:	9003		str	r0, [sp, #12]	; 0xc
+     fd2:	9800		ldr	r0, [sp, #0]
+     fd4:	7801		ldrb	r1, [r0, #0]
+     fd6:	3001		add	r0, #1
+     fd8:	9000		str	r0, [sp, #0]
+     fda:	9105		str	r1, [sp, #20]	; 0x14
+     fdc:	9800		ldr	r0, [sp, #0]
+     fde:	7801		ldrb	r1, [r0, #0]
+     fe0:	3001		add	r0, #1
+     fe2:	9000		str	r0, [sp, #0]
+     fe4:	9801		ldr	r0, [sp, #4]
+     fe6:	7001		strb	r1, [r0, #0]
+     fe8:	2001		mov	r0, #1
+     fea:	9004		str	r0, [sp, #16]	; 0x10
+     fec:	e0a8		b	0x1140
+     fee:	9804		ldr	r0, [sp, #16]	; 0x10
+     ff0:	3002		add	r0, #2
+     ff2:	9004		str	r0, [sp, #16]	; 0x10
+     ff4:	9800		ldr	r0, [sp, #0]
+     ff6:	7801		ldrb	r1, [r0, #0]
+     ff8:	3001		add	r0, #1
+     ffa:	9000		str	r0, [sp, #0]
+     ffc:	4668		mov	r0, sp
+     ffe:	8441		strh	r1, [r0, #34]	; 0x22
+    1000:	9800		ldr	r0, [sp, #0]
+    1002:	7801		ldrb	r1, [r0, #0]
+    1004:	3001		add	r0, #1
+    1006:	9000		str	r0, [sp, #0]
+    1008:	4668		mov	r0, sp
+    100a:	8401		strh	r1, [r0, #32]	; 0x20
+    100c:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    100e:	4669		mov	r1, sp
+    1010:	8c49		ldrh	r1, [r1, #34]	; 0x22
+    1012:	0209		lsl	r1, r1, #8
+    1014:	1840		add	r0, r0, r1
+    1016:	9901		ldr	r1, [sp, #4]
+    1018:	8088		strh	r0, [r1, #4]
+    101a:	9804		ldr	r0, [sp, #16]	; 0x10
+    101c:	3001		add	r0, #1
+    101e:	9004		str	r0, [sp, #16]	; 0x10
+    1020:	9800		ldr	r0, [sp, #0]
+    1022:	7801		ldrb	r1, [r0, #0]
+    1024:	3001		add	r0, #1
+    1026:	9000		str	r0, [sp, #0]
+    1028:	4668		mov	r0, sp
+    102a:	7601		strb	r1, [r0, #24]	; 0x18
+    102c:	9901		ldr	r1, [sp, #4]
+    102e:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1030:	7188		strb	r0, [r1, #6]
+    1032:	4668		mov	r0, sp
+    1034:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1036:	2840		cmp	r0, #64	; 0x40
+    1038:	dc00		bgt	0x103c
+    103a:	e09f		b	0x117c
+    103c:	2004		mov	r0, #4
+    103e:	9003		str	r0, [sp, #12]	; 0xc
+    1040:	e09c		b	0x117c
+    1042:	9804		ldr	r0, [sp, #16]	; 0x10
+    1044:	3002		add	r0, #2
+    1046:	9004		str	r0, [sp, #16]	; 0x10
+    1048:	9800		ldr	r0, [sp, #0]
+    104a:	7801		ldrb	r1, [r0, #0]
+    104c:	3001		add	r0, #1
+    104e:	9000		str	r0, [sp, #0]
+    1050:	4668		mov	r0, sp
+    1052:	8441		strh	r1, [r0, #34]	; 0x22
+    1054:	9800		ldr	r0, [sp, #0]
+    1056:	7801		ldrb	r1, [r0, #0]
+    1058:	3001		add	r0, #1
+    105a:	9000		str	r0, [sp, #0]
+    105c:	4668		mov	r0, sp
+    105e:	8401		strh	r1, [r0, #32]	; 0x20
+    1060:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    1062:	4669		mov	r1, sp
+    1064:	8c49		ldrh	r1, [r1, #34]	; 0x22
+    1066:	0209		lsl	r1, r1, #8
+    1068:	1841		add	r1, r0, r1
+    106a:	9801		ldr	r0, [sp, #4]
+    106c:	8081		strh	r1, [r0, #4]
+    106e:	9804		ldr	r0, [sp, #16]	; 0x10
+    1070:	3001		add	r0, #1
+    1072:	9004		str	r0, [sp, #16]	; 0x10
+    1074:	9800		ldr	r0, [sp, #0]
+    1076:	7801		ldrb	r1, [r0, #0]
+    1078:	3001		add	r0, #1
+    107a:	9000		str	r0, [sp, #0]
+    107c:	4668		mov	r0, sp
+    107e:	7601		strb	r1, [r0, #24]	; 0x18
+    1080:	9901		ldr	r1, [sp, #4]
+    1082:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1084:	7188		strb	r0, [r1, #6]
+    1086:	4668		mov	r0, sp
+    1088:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    108a:	2840		cmp	r0, #64	; 0x40
+    108c:	dcd6		bgt	0x103c
+    108e:	9801		ldr	r0, [sp, #4]
+    1090:	3008		add	r0, #8
+    1092:	9007		str	r0, [sp, #28]	; 0x1c
+    1094:	2000		mov	r0, #0
+    1096:	9002		str	r0, [sp, #8]
+    1098:	9902		ldr	r1, [sp, #8]
+    109a:	4668		mov	r0, sp
+    109c:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    109e:	4281		cmp	r1, r0
+    10a0:	da6c		bge	0x117c
+    10a2:	9800		ldr	r0, [sp, #0]
+    10a4:	7801		ldrb	r1, [r0, #0]
+    10a6:	3001		add	r0, #1
+    10a8:	9000		str	r0, [sp, #0]
+    10aa:	4668		mov	r0, sp
+    10ac:	84c1		strh	r1, [r0, #38]	; 0x26
+    10ae:	9800		ldr	r0, [sp, #0]
+    10b0:	7801		ldrb	r1, [r0, #0]
+    10b2:	3001		add	r0, #1
+    10b4:	9000		str	r0, [sp, #0]
+    10b6:	4668		mov	r0, sp
+    10b8:	8481		strh	r1, [r0, #36]	; 0x24
+    10ba:	9807		ldr	r0, [sp, #28]	; 0x1c
+    10bc:	1c81		add	r1, r0, #2
+    10be:	9107		str	r1, [sp, #28]	; 0x1c
+    10c0:	4669		mov	r1, sp
+    10c2:	8c89		ldrh	r1, [r1, #36]	; 0x24
+    10c4:	466a		mov	r2, sp
+    10c6:	8cd2		ldrh	r2, [r2, #38]	; 0x26
+    10c8:	0212		lsl	r2, r2, #8
+    10ca:	1889		add	r1, r1, r2
+    10cc:	8001		strh	r1, [r0, #0]
+    10ce:	9804		ldr	r0, [sp, #16]	; 0x10
+    10d0:	3002		add	r0, #2
+    10d2:	9004		str	r0, [sp, #16]	; 0x10
+    10d4:	9802		ldr	r0, [sp, #8]
+    10d6:	3001		add	r0, #1
+    10d8:	9002		str	r0, [sp, #8]
+    10da:	9902		ldr	r1, [sp, #8]
+    10dc:	4668		mov	r0, sp
+    10de:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    10e0:	4281		cmp	r1, r0
+    10e2:	dbde		blt	0x10a2
+    10e4:	e04a		b	0x117c
+    10e6:	9804		ldr	r0, [sp, #16]	; 0x10
+    10e8:	3002		add	r0, #2
+    10ea:	9004		str	r0, [sp, #16]	; 0x10
+    10ec:	9800		ldr	r0, [sp, #0]
+    10ee:	7801		ldrb	r1, [r0, #0]
+    10f0:	3001		add	r0, #1
+    10f2:	9000		str	r0, [sp, #0]
+    10f4:	4668		mov	r0, sp
+    10f6:	8501		strh	r1, [r0, #40]	; 0x28
+    10f8:	9800		ldr	r0, [sp, #0]
+    10fa:	7801		ldrb	r1, [r0, #0]
+    10fc:	3001		add	r0, #1
+    10fe:	9000		str	r0, [sp, #0]
+    1100:	4668		mov	r0, sp
+    1102:	8541		strh	r1, [r0, #42]	; 0x2a
+    1104:	8d41		ldrh	r1, [r0, #42]	; 0x2a
+    1106:	8d00		ldrh	r0, [r0, #40]	; 0x28
+    1108:	0200		lsl	r0, r0, #8
+    110a:	1809		add	r1, r1, r0
+    110c:	9801		ldr	r0, [sp, #4]
+    110e:	8081		strh	r1, [r0, #4]
+    1110:	9804		ldr	r0, [sp, #16]	; 0x10
+    1112:	3002		add	r0, #2
+    1114:	9004		str	r0, [sp, #16]	; 0x10
+    1116:	9800		ldr	r0, [sp, #0]
+    1118:	7801		ldrb	r1, [r0, #0]
+    111a:	3001		add	r0, #1
+    111c:	9000		str	r0, [sp, #0]
+    111e:	4668		mov	r0, sp
+    1120:	8581		strh	r1, [r0, #44]	; 0x2c
+    1122:	9800		ldr	r0, [sp, #0]
+    1124:	7801		ldrb	r1, [r0, #0]
+    1126:	3001		add	r0, #1
+    1128:	9000		str	r0, [sp, #0]
+    112a:	4668		mov	r0, sp
+    112c:	85c1		strh	r1, [r0, #46]	; 0x2e
+    112e:	8dc1		ldrh	r1, [r0, #46]	; 0x2e
+    1130:	8d80		ldrh	r0, [r0, #44]	; 0x2c
+    1132:	0200		lsl	r0, r0, #8
+    1134:	1808		add	r0, r1, r0
+    1136:	9901		ldr	r1, [sp, #4]
+    1138:	80c8		strh	r0, [r1, #6]
+    113a:	e01f		b	0x117c
+    113c:	2008		mov	r0, #8
+    113e:	e77e		b	0x103e
+    1140:	9801		ldr	r0, [sp, #4]
+    1142:	7801		ldrb	r1, [r0, #0]
+    1144:	290a		cmp	r1, #10	; 0xa
+    1146:	d8f9		bhi	0x113c
+    1148:	a001		add	r0, pc, #4
+    114a:	0089		lsl	r1, r1, #2
+    114c:	5840		ldr	r0, [r0, r1]
+    114e:	4687		mov	pc, r0
+    1150:	117c		asr	r4, r7, #5
+    1152:	0000		lsl	r0, r0, #0
+    1154:	117c		asr	r4, r7, #5
+    1156:	0000		lsl	r0, r0, #0
+    1158:	117c		asr	r4, r7, #5
+    115a:	0000		lsl	r0, r0, #0
+    115c:	117c		asr	r4, r7, #5
+    115e:	0000		lsl	r0, r0, #0
+    1160:	117c		asr	r4, r7, #5
+    1162:	0000		lsl	r0, r0, #0
+    1164:	117c		asr	r4, r7, #5
+    1166:	0000		lsl	r0, r0, #0
+    1168:	117c		asr	r4, r7, #5
+    116a:	0000		lsl	r0, r0, #0
+    116c:	0fee		lsr	r6, r5, #31
+    116e:	0000		lsl	r0, r0, #0
+    1170:	1042		asr	r2, r0, #1
+    1172:	0000		lsl	r0, r0, #0
+    1174:	117c		asr	r4, r7, #5
+    1176:	0000		lsl	r0, r0, #0
+    1178:	10e6		asr	r6, r4, #3
+    117a:	0000		lsl	r0, r0, #0
+    117c:	9905		ldr	r1, [sp, #20]	; 0x14
+    117e:	9804		ldr	r0, [sp, #16]	; 0x10
+    1180:	4281		cmp	r1, r0
+    1182:	d001		beq	0x1188
+    1184:	2004		mov	r0, #4
+    1186:	9003		str	r0, [sp, #12]	; 0xc
+    1188:	9803		ldr	r0, [sp, #12]	; 0xc
+    118a:	b00c		add	sp, #48	; 0x30
+    118c:	4770		bx	lr
+    118e:	b089		sub	sp, #36	; 0x24
+    1190:	9101		str	r1, [sp, #4]
+    1192:	9000		str	r0, [sp, #0]
+    1194:	2000		mov	r0, #0
+    1196:	9003		str	r0, [sp, #12]	; 0xc
+    1198:	9801		ldr	r0, [sp, #4]
+    119a:	1c41		add	r1, r0, #1
+    119c:	9101		str	r1, [sp, #4]
+    119e:	9005		str	r0, [sp, #20]	; 0x14
+    11a0:	9801		ldr	r0, [sp, #4]
+    11a2:	1c41		add	r1, r0, #1
+    11a4:	9101		str	r1, [sp, #4]
+    11a6:	9900		ldr	r1, [sp, #0]
+    11a8:	7809		ldrb	r1, [r1, #0]
+    11aa:	7001		strb	r1, [r0, #0]
+    11ac:	4669		mov	r1, sp
+    11ae:	2001		mov	r0, #1
+    11b0:	7408		strb	r0, [r1, #16]	; 0x10
+    11b2:	9801		ldr	r0, [sp, #4]
+    11b4:	1c41		add	r1, r0, #1
+    11b6:	9101		str	r1, [sp, #4]
+    11b8:	9900		ldr	r1, [sp, #0]
+    11ba:	7849		ldrb	r1, [r1, #1]
+    11bc:	7001		strb	r1, [r0, #0]
+    11be:	4669		mov	r1, sp
+    11c0:	4668		mov	r0, sp
+    11c2:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    11c4:	3001		add	r0, #1
+    11c6:	7408		strb	r0, [r1, #16]	; 0x10
+    11c8:	e0e4		b	0x1394
+    11ca:	9800		ldr	r0, [sp, #0]
+    11cc:	7840		ldrb	r0, [r0, #1]
+    11ce:	2800		cmp	r0, #0
+    11d0:	d000		beq	0x11d4
+    11d2:	e0fd		b	0x13d0
+    11d4:	9801		ldr	r0, [sp, #4]
+    11d6:	1c41		add	r1, r0, #1
+    11d8:	9101		str	r1, [sp, #4]
+    11da:	9900		ldr	r1, [sp, #0]
+    11dc:	7909		ldrb	r1, [r1, #4]
+    11de:	7001		strb	r1, [r0, #0]
+    11e0:	9801		ldr	r0, [sp, #4]
+    11e2:	1c41		add	r1, r0, #1
+    11e4:	9101		str	r1, [sp, #4]
+    11e6:	9900		ldr	r1, [sp, #0]
+    11e8:	7949		ldrb	r1, [r1, #5]
+    11ea:	7001		strb	r1, [r0, #0]
+    11ec:	9801		ldr	r0, [sp, #4]
+    11ee:	1c41		add	r1, r0, #1
+    11f0:	9101		str	r1, [sp, #4]
+    11f2:	9900		ldr	r1, [sp, #0]
+    11f4:	7989		ldrb	r1, [r1, #6]
+    11f6:	7001		strb	r1, [r0, #0]
+    11f8:	4668		mov	r0, sp
+    11fa:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    11fc:	3003		add	r0, #3
+    11fe:	4669		mov	r1, sp
+    1200:	7408		strb	r0, [r1, #16]	; 0x10
+    1202:	e0e5		b	0x13d0
+    1204:	9800		ldr	r0, [sp, #0]
+    1206:	7840		ldrb	r0, [r0, #1]
+    1208:	2800		cmp	r0, #0
+    120a:	d000		beq	0x120e
+    120c:	e0e0		b	0x13d0
+    120e:	9801		ldr	r0, [sp, #4]
+    1210:	1c41		add	r1, r0, #1
+    1212:	9101		str	r1, [sp, #4]
+    1214:	9900		ldr	r1, [sp, #0]
+    1216:	7909		ldrb	r1, [r1, #4]
+    1218:	7001		strb	r1, [r0, #0]
+    121a:	4668		mov	r0, sp
+    121c:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    121e:	3001		add	r0, #1
+    1220:	e7ed		b	0x11fe
+    1222:	9800		ldr	r0, [sp, #0]
+    1224:	7840		ldrb	r0, [r0, #1]
+    1226:	2800		cmp	r0, #0
+    1228:	d000		beq	0x122c
+    122a:	e0d1		b	0x13d0
+    122c:	e7ef		b	0x120e
+    122e:	9800		ldr	r0, [sp, #0]
+    1230:	7840		ldrb	r0, [r0, #1]
+    1232:	2800		cmp	r0, #0
+    1234:	d000		beq	0x1238
+    1236:	e0cb		b	0x13d0
+    1238:	e7e9		b	0x120e
+    123a:	9800		ldr	r0, [sp, #0]
+    123c:	7840		ldrb	r0, [r0, #1]
+    123e:	2800		cmp	r0, #0
+    1240:	d000		beq	0x1244
+    1242:	e0c5		b	0x13d0
+    1244:	4669		mov	r1, sp
+    1246:	9800		ldr	r0, [sp, #0]
+    1248:	8880		ldrh	r0, [r0, #4]
+    124a:	8408		strh	r0, [r1, #32]	; 0x20
+    124c:	9801		ldr	r0, [sp, #4]
+    124e:	1c41		add	r1, r0, #1
+    1250:	9101		str	r1, [sp, #4]
+    1252:	4669		mov	r1, sp
+    1254:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    1256:	0409		lsl	r1, r1, #16
+    1258:	0e09		lsr	r1, r1, #24
+    125a:	0209		lsl	r1, r1, #8
+    125c:	1209		asr	r1, r1, #8
+    125e:	7001		strb	r1, [r0, #0]
+    1260:	9801		ldr	r0, [sp, #4]
+    1262:	1c41		add	r1, r0, #1
+    1264:	9101		str	r1, [sp, #4]
+    1266:	4669		mov	r1, sp
+    1268:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    126a:	0609		lsl	r1, r1, #24
+    126c:	0e09		lsr	r1, r1, #24
+    126e:	7001		strb	r1, [r0, #0]
+    1270:	4669		mov	r1, sp
+    1272:	9800		ldr	r0, [sp, #0]
+    1274:	88c0		ldrh	r0, [r0, #6]
+    1276:	8408		strh	r0, [r1, #32]	; 0x20
+    1278:	9801		ldr	r0, [sp, #4]
+    127a:	1c41		add	r1, r0, #1
+    127c:	9101		str	r1, [sp, #4]
+    127e:	4669		mov	r1, sp
+    1280:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    1282:	0409		lsl	r1, r1, #16
+    1284:	0e09		lsr	r1, r1, #24
+    1286:	0209		lsl	r1, r1, #8
+    1288:	1209		asr	r1, r1, #8
+    128a:	7001		strb	r1, [r0, #0]
+    128c:	9801		ldr	r0, [sp, #4]
+    128e:	1c41		add	r1, r0, #1
+    1290:	9101		str	r1, [sp, #4]
+    1292:	4669		mov	r1, sp
+    1294:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    1296:	0609		lsl	r1, r1, #24
+    1298:	0e09		lsr	r1, r1, #24
+    129a:	7001		strb	r1, [r0, #0]
+    129c:	4668		mov	r0, sp
+    129e:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    12a0:	3004		add	r0, #4
+    12a2:	e7ac		b	0x11fe
+    12a4:	9800		ldr	r0, [sp, #0]
+    12a6:	7840		ldrb	r0, [r0, #1]
+    12a8:	2800		cmp	r0, #0
+    12aa:	d000		beq	0x12ae
+    12ac:	e090		b	0x13d0
+    12ae:	e7ae		b	0x120e
+    12b0:	9800		ldr	r0, [sp, #0]
+    12b2:	7840		ldrb	r0, [r0, #1]
+    12b4:	2800		cmp	r0, #0
+    12b6:	d000		beq	0x12ba
+    12b8:	e08a		b	0x13d0
+    12ba:	4669		mov	r1, sp
+    12bc:	4668		mov	r0, sp
+    12be:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    12c0:	3001		add	r0, #1
+    12c2:	7408		strb	r0, [r1, #16]	; 0x10
+    12c4:	4668		mov	r0, sp
+    12c6:	9900		ldr	r1, [sp, #0]
+    12c8:	7909		ldrb	r1, [r1, #4]
+    12ca:	7601		strb	r1, [r0, #24]	; 0x18
+    12cc:	9801		ldr	r0, [sp, #4]
+    12ce:	1c41		add	r1, r0, #1
+    12d0:	9101		str	r1, [sp, #4]
+    12d2:	4669		mov	r1, sp
+    12d4:	7e09		ldrb	r1, [r1, #24]	; 0x18
+    12d6:	7001		strb	r1, [r0, #0]
+    12d8:	4668		mov	r0, sp
+    12da:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    12dc:	2840		cmp	r0, #64	; 0x40
+    12de:	dd01		ble	0x12e4
+    12e0:	2004		mov	r0, #4
+    12e2:	e055		b	0x1390
+    12e4:	9800		ldr	r0, [sp, #0]
+    12e6:	3006		add	r0, #6
+    12e8:	9007		str	r0, [sp, #28]	; 0x1c
+    12ea:	2000		mov	r0, #0
+    12ec:	9002		str	r0, [sp, #8]
+    12ee:	9902		ldr	r1, [sp, #8]
+    12f0:	4668		mov	r0, sp
+    12f2:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    12f4:	4281		cmp	r1, r0
+    12f6:	da6b		bge	0x13d0
+    12f8:	9801		ldr	r0, [sp, #4]
+    12fa:	1c41		add	r1, r0, #1
+    12fc:	9101		str	r1, [sp, #4]
+    12fe:	9907		ldr	r1, [sp, #28]	; 0x1c
+    1300:	8809		ldrh	r1, [r1, #0]
+    1302:	0409		lsl	r1, r1, #16
+    1304:	0e09		lsr	r1, r1, #24
+    1306:	0209		lsl	r1, r1, #8
+    1308:	1209		asr	r1, r1, #8
+    130a:	7001		strb	r1, [r0, #0]
+    130c:	9807		ldr	r0, [sp, #28]	; 0x1c
+    130e:	8801		ldrh	r1, [r0, #0]
+    1310:	3002		add	r0, #2
+    1312:	9007		str	r0, [sp, #28]	; 0x1c
+    1314:	0608		lsl	r0, r1, #24
+    1316:	0e01		lsr	r1, r0, #24
+    1318:	9801		ldr	r0, [sp, #4]
+    131a:	1c42		add	r2, r0, #1
+    131c:	9201		str	r2, [sp, #4]
+    131e:	7001		strb	r1, [r0, #0]
+    1320:	4669		mov	r1, sp
+    1322:	4668		mov	r0, sp
+    1324:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1326:	3002		add	r0, #2
+    1328:	7408		strb	r0, [r1, #16]	; 0x10
+    132a:	9802		ldr	r0, [sp, #8]
+    132c:	3001		add	r0, #1
+    132e:	9002		str	r0, [sp, #8]
+    1330:	9902		ldr	r1, [sp, #8]
+    1332:	4668		mov	r0, sp
+    1334:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1336:	4281		cmp	r1, r0
+    1338:	dbde		blt	0x12f8
+    133a:	e049		b	0x13d0
+    133c:	9800		ldr	r0, [sp, #0]
+    133e:	7840		ldrb	r0, [r0, #1]
+    1340:	2800		cmp	r0, #0
+    1342:	d145		bne	0x13d0
+    1344:	4669		mov	r1, sp
+    1346:	9800		ldr	r0, [sp, #0]
+    1348:	8880		ldrh	r0, [r0, #4]
+    134a:	8408		strh	r0, [r1, #32]	; 0x20
+    134c:	9801		ldr	r0, [sp, #4]
+    134e:	1c41		add	r1, r0, #1
+    1350:	9101		str	r1, [sp, #4]
+    1352:	4669		mov	r1, sp
+    1354:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    1356:	0409		lsl	r1, r1, #16
+    1358:	0e09		lsr	r1, r1, #24
+    135a:	0209		lsl	r1, r1, #8
+    135c:	1209		asr	r1, r1, #8
+    135e:	7001		strb	r1, [r0, #0]
+    1360:	9801		ldr	r0, [sp, #4]
+    1362:	1c41		add	r1, r0, #1
+    1364:	9101		str	r1, [sp, #4]
+    1366:	4669		mov	r1, sp
+    1368:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    136a:	0609		lsl	r1, r1, #24
+    136c:	0e09		lsr	r1, r1, #24
+    136e:	7001		strb	r1, [r0, #0]
+    1370:	4668		mov	r0, sp
+    1372:	9900		ldr	r1, [sp, #0]
+    1374:	88c9		ldrh	r1, [r1, #6]
+    1376:	8401		strh	r1, [r0, #32]	; 0x20
+    1378:	9901		ldr	r1, [sp, #4]
+    137a:	1c48		add	r0, r1, #1
+    137c:	9001		str	r0, [sp, #4]
+    137e:	4668		mov	r0, sp
+    1380:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    1382:	0400		lsl	r0, r0, #16
+    1384:	0e00		lsr	r0, r0, #24
+    1386:	0200		lsl	r0, r0, #8
+    1388:	1200		asr	r0, r0, #8
+    138a:	7008		strb	r0, [r1, #0]
+    138c:	e77e		b	0x128c
+    138e:	2008		mov	r0, #8
+    1390:	9003		str	r0, [sp, #12]	; 0xc
+    1392:	e01d		b	0x13d0
+    1394:	9800		ldr	r0, [sp, #0]
+    1396:	7800		ldrb	r0, [r0, #0]
+    1398:	280a		cmp	r0, #10	; 0xa
+    139a:	d8f8		bhi	0x138e
+    139c:	a101		add	r1, pc, #4
+    139e:	0080		lsl	r0, r0, #2
+    13a0:	5808		ldr	r0, [r1, r0]
+    13a2:	4687		mov	pc, r0
+    13a4:	11ca		asr	r2, r1, #7
+    13a6:	0000		lsl	r0, r0, #0
+    13a8:	1204		asr	r4, r0, #8
+    13aa:	0000		lsl	r0, r0, #0
+    13ac:	1222		asr	r2, r4, #8
+    13ae:	0000		lsl	r0, r0, #0
+    13b0:	122e		asr	r6, r5, #8
+    13b2:	0000		lsl	r0, r0, #0
+    13b4:	13d0		asr	r0, r2, #15
+    13b6:	0000		lsl	r0, r0, #0
+    13b8:	123a		asr	r2, r7, #8
+    13ba:	0000		lsl	r0, r0, #0
+    13bc:	12a4		asr	r4, r4, #10
+    13be:	0000		lsl	r0, r0, #0
+    13c0:	12b0		asr	r0, r6, #10
+    13c2:	0000		lsl	r0, r0, #0
+    13c4:	13d0		asr	r0, r2, #15
+    13c6:	0000		lsl	r0, r0, #0
+    13c8:	133c		asr	r4, r7, #12
+    13ca:	0000		lsl	r0, r0, #0
+    13cc:	13d0		asr	r0, r2, #15
+    13ce:	0000		lsl	r0, r0, #0
+    13d0:	9805		ldr	r0, [sp, #20]	; 0x14
+    13d2:	4669		mov	r1, sp
+    13d4:	7c09		ldrb	r1, [r1, #16]	; 0x10
+    13d6:	7001		strb	r1, [r0, #0]
+    13d8:	9803		ldr	r0, [sp, #12]	; 0xc
+    13da:	b009		add	sp, #36	; 0x24
+    13dc:	4770		bx	lr
+    13de:	0000		lsl	r0, r0, #0
+    13e0:	b500		push	{lr}
+    13e2:	b083		sub	sp, #12	; 0xc
+    13e4:	9101		str	r1, [sp, #4]
+    13e6:	4669		mov	r1, sp
+    13e8:	7008		strb	r0, [r1, #0]
+    13ea:	2000		mov	r0, #0
+    13ec:	9002		str	r0, [sp, #8]
+    13ee:	e073		b	0x14d8
+    13f0:	4668		mov	r0, sp
+    13f2:	7800		ldrb	r0, [r0, #0]
+    13f4:	28aa		cmp	r0, #170	; 0xaa
+    13f6:	d106		bne	0x1406
+    13f8:	4965		ldr	r1, =0x83ff10	; via 0x1590
+    13fa:	4865		ldr	r0, =0x83ff10	; via 0x1590
+    13fc:	6800		ldr	r0, [r0, #0]
+    13fe:	3001		add	r0, #1
+    1400:	07c0		lsl	r0, r0, #31
+    1402:	0fc0		lsr	r0, r0, #31
+    1404:	e013		b	0x142e
+    1406:	4862		ldr	r0, =0x83ff10	; via 0x1590
+    1408:	6800		ldr	r0, [r0, #0]
+    140a:	2800		cmp	r0, #0
+    140c:	d06b		beq	0x14e6
+    140e:	4961		ldr	r1, =0x83ff04	; via 0x1594
+    1410:	9801		ldr	r0, [sp, #4]
+    1412:	3001		add	r0, #1
+    1414:	6008		str	r0, [r1, #0]
+    1416:	4960		ldr	r1, =0x83ff0e	; via 0x1598
+    1418:	2000		mov	r0, #0
+    141a:	7008		strb	r0, [r1, #0]
+    141c:	495f		ldr	r1, =0x83ff0c	; via 0x159c
+    141e:	4668		mov	r0, sp
+    1420:	7800		ldrb	r0, [r0, #0]
+    1422:	8008		strh	r0, [r1, #0]
+    1424:	495a		ldr	r1, =0x83ff10	; via 0x1590
+    1426:	2000		mov	r0, #0
+    1428:	6008		str	r0, [r1, #0]
+    142a:	495d		ldr	r1, =0x83ff08	; via 0x15a0
+    142c:	2001		mov	r0, #1
+    142e:	6008		str	r0, [r1, #0]
+    1430:	e059		b	0x14e6
+    1432:	4668		mov	r0, sp
+    1434:	7800		ldrb	r0, [r0, #0]
+    1436:	28aa		cmp	r0, #170	; 0xaa
+    1438:	d113		bne	0x1462
+    143a:	4855		ldr	r0, =0x83ff10	; via 0x1590
+    143c:	6800		ldr	r0, [r0, #0]
+    143e:	2800		cmp	r0, #0
+    1440:	d00b		beq	0x145a
+    1442:	4954		ldr	r1, =0x83ff04	; via 0x1594
+    1444:	6808		ldr	r0, [r1, #0]
+    1446:	1c42		add	r2, r0, #1
+    1448:	600a		str	r2, [r1, #0]
+    144a:	4669		mov	r1, sp
+    144c:	7809		ldrb	r1, [r1, #0]
+    144e:	7001		strb	r1, [r0, #0]
+    1450:	4951		ldr	r1, =0x83ff0e	; via 0x1598
+    1452:	7808		ldrb	r0, [r1, #0]
+    1454:	3001		add	r0, #1
+    1456:	7008		strb	r0, [r1, #0]
+    1458:	e013		b	0x1482
+    145a:	2101		mov	r1, #1
+    145c:	484c		ldr	r0, =0x83ff10	; via 0x1590
+    145e:	6001		str	r1, [r0, #0]
+    1460:	e01c		b	0x149c
+    1462:	484b		ldr	r0, =0x83ff10	; via 0x1590
+    1464:	6800		ldr	r0, [r0, #0]
+    1466:	2800		cmp	r0, #0
+    1468:	d00d		beq	0x1486
+    146a:	494a		ldr	r1, =0x83ff04	; via 0x1594
+    146c:	9801		ldr	r0, [sp, #4]
+    146e:	3001		add	r0, #1
+    1470:	6008		str	r0, [r1, #0]
+    1472:	4849		ldr	r0, =0x83ff0e	; via 0x1598
+    1474:	2100		mov	r1, #0
+    1476:	7001		strb	r1, [r0, #0]
+    1478:	4948		ldr	r1, =0x83ff0c	; via 0x159c
+    147a:	4668		mov	r0, sp
+    147c:	7800		ldrb	r0, [r0, #0]
+    147e:	3001		add	r0, #1
+    1480:	8008		strh	r0, [r1, #0]
+    1482:	2100		mov	r1, #0
+    1484:	e7ea		b	0x145c
+    1486:	4843		ldr	r0, =0x83ff04	; via 0x1594
+    1488:	6801		ldr	r1, [r0, #0]
+    148a:	1c4a		add	r2, r1, #1
+    148c:	6002		str	r2, [r0, #0]
+    148e:	4668		mov	r0, sp
+    1490:	7800		ldrb	r0, [r0, #0]
+    1492:	7008		strb	r0, [r1, #0]
+    1494:	4940		ldr	r1, =0x83ff0e	; via 0x1598
+    1496:	7808		ldrb	r0, [r1, #0]
+    1498:	3001		add	r0, #1
+    149a:	7008		strb	r0, [r1, #0]
+    149c:	483f		ldr	r0, =0x83ff0c	; via 0x159c
+    149e:	8801		ldrh	r1, [r0, #0]
+    14a0:	3901		sub	r1, #1
+    14a2:	8001		strh	r1, [r0, #0]
+    14a4:	483d		ldr	r0, =0x83ff0c	; via 0x159c
+    14a6:	8800		ldrh	r0, [r0, #0]
+    14a8:	2800		cmp	r0, #0
+    14aa:	d11c		bne	0x14e6
+    14ac:	9901		ldr	r1, [sp, #4]
+    14ae:	483a		ldr	r0, =0x83ff0e	; via 0x1598
+    14b0:	7800		ldrb	r0, [r0, #0]
+    14b2:	7008		strb	r0, [r1, #0]
+    14b4:	2001		mov	r0, #1
+    14b6:	9002		str	r0, [sp, #8]
+    14b8:	4839		ldr	r0, =0x83ff08	; via 0x15a0
+    14ba:	2100		mov	r1, #0
+    14bc:	6001		str	r1, [r0, #0]
+    14be:	4834		ldr	r0, =0x83ff10	; via 0x1590
+    14c0:	6001		str	r1, [r0, #0]
+    14c2:	9801		ldr	r0, [sp, #4]
+    14c4:	7800		ldrb	r0, [r0, #0]
+    14c6:	2801		cmp	r0, #1
+    14c8:	d10d		bne	0x14e6
+    14ca:	9801		ldr	r0, [sp, #4]
+    14cc:	7840		ldrb	r0, [r0, #1]
+    14ce:	28dd		cmp	r0, #221	; 0xdd
+    14d0:	d109		bne	0x14e6
+    14d2:	f7ff fb27	bl	0xb24
+    14d6:	e006		b	0x14e6
+    14d8:	4831		ldr	r0, =0x83ff08	; via 0x15a0
+    14da:	6800		ldr	r0, [r0, #0]
+    14dc:	2800		cmp	r0, #0
+    14de:	d087		beq	0x13f0
+    14e0:	3801		sub	r0, #1
+    14e2:	2800		cmp	r0, #0
+    14e4:	d0a5		beq	0x1432
+    14e6:	9802		ldr	r0, [sp, #8]
+    14e8:	b003		add	sp, #12	; 0xc
+    14ea:	bd00		pop	{pc}
+    14ec:	b086		sub	sp, #24	; 0x18
+    14ee:	9202		str	r2, [sp, #8]
+    14f0:	9101		str	r1, [sp, #4]
+    14f2:	9000		str	r0, [sp, #0]
+    14f4:	9801		ldr	r0, [sp, #4]
+    14f6:	3001		add	r0, #1
+    14f8:	9004		str	r0, [sp, #16]	; 0x10
+    14fa:	9800		ldr	r0, [sp, #0]
+    14fc:	1c41		add	r1, r0, #1
+    14fe:	9100		str	r1, [sp, #0]
+    1500:	9005		str	r0, [sp, #20]	; 0x14
+    1502:	9901		ldr	r1, [sp, #4]
+    1504:	20aa		mov	r0, #170	; 0xaa
+    1506:	7008		strb	r0, [r1, #0]
+    1508:	9801		ldr	r0, [sp, #4]
+    150a:	3002		add	r0, #2
+    150c:	9001		str	r0, [sp, #4]
+    150e:	9902		ldr	r1, [sp, #8]
+    1510:	2000		mov	r0, #0
+    1512:	8008		strh	r0, [r1, #0]
+    1514:	4669		mov	r1, sp
+    1516:	8188		strh	r0, [r1, #12]	; 0xc
+    1518:	4668		mov	r0, sp
+    151a:	8981		ldrh	r1, [r0, #12]	; 0xc
+    151c:	9805		ldr	r0, [sp, #20]	; 0x14
+    151e:	7800		ldrb	r0, [r0, #0]
+    1520:	4281		cmp	r1, r0
+    1522:	da23		bge	0x156c
+    1524:	9800		ldr	r0, [sp, #0]
+    1526:	7800		ldrb	r0, [r0, #0]
+    1528:	28aa		cmp	r0, #170	; 0xaa
+    152a:	d108		bne	0x153e
+    152c:	9801		ldr	r0, [sp, #4]
+    152e:	1c41		add	r1, r0, #1
+    1530:	9101		str	r1, [sp, #4]
+    1532:	21aa		mov	r1, #170	; 0xaa
+    1534:	7001		strb	r1, [r0, #0]
+    1536:	9902		ldr	r1, [sp, #8]
+    1538:	8808		ldrh	r0, [r1, #0]
+    153a:	3001		add	r0, #1
+    153c:	8008		strh	r0, [r1, #0]
+    153e:	9800		ldr	r0, [sp, #0]
+    1540:	7801		ldrb	r1, [r0, #0]
+    1542:	3001		add	r0, #1
+    1544:	9000		str	r0, [sp, #0]
+    1546:	9801		ldr	r0, [sp, #4]
+    1548:	1c42		add	r2, r0, #1
+    154a:	9201		str	r2, [sp, #4]
+    154c:	7001		strb	r1, [r0, #0]
+    154e:	9902		ldr	r1, [sp, #8]
+    1550:	8808		ldrh	r0, [r1, #0]
+    1552:	3001		add	r0, #1
+    1554:	8008		strh	r0, [r1, #0]
+    1556:	4669		mov	r1, sp
+    1558:	4668		mov	r0, sp
+    155a:	8980		ldrh	r0, [r0, #12]	; 0xc
+    155c:	3001		add	r0, #1
+    155e:	8188		strh	r0, [r1, #12]	; 0xc
+    1560:	4668		mov	r0, sp
+    1562:	8980		ldrh	r0, [r0, #12]	; 0xc
+    1564:	9905		ldr	r1, [sp, #20]	; 0x14
+    1566:	7809		ldrb	r1, [r1, #0]
+    1568:	4288		cmp	r0, r1
+    156a:	dbdb		blt	0x1524
+    156c:	9904		ldr	r1, [sp, #16]	; 0x10
+    156e:	9802		ldr	r0, [sp, #8]
+    1570:	7800		ldrb	r0, [r0, #0]
+    1572:	7008		strb	r0, [r1, #0]
+    1574:	9902		ldr	r1, [sp, #8]
+    1576:	8808		ldrh	r0, [r1, #0]
+    1578:	3002		add	r0, #2
+    157a:	8008		strh	r0, [r1, #0]
+    157c:	b006		add	sp, #24	; 0x18
+    157e:	4770		bx	lr
+    1580:	4907		ldr	r1, =0x83ff08	; via 0x15a0
+    1582:	2000		mov	r0, #0
+    1584:	6008		str	r0, [r1, #0]
+    1586:	4802		ldr	r0, =0x83ff10	; via 0x1590
+    1588:	2100		mov	r1, #0
+    158a:	6001		str	r1, [r0, #0]
+    158c:	4770		bx	lr
+    158e:	46c0		nop			(mov r8, r8)
+    1590:	ff10		<half-bl>
+    1592:	0083		lsl	r3, r0, #2
+    1594:	ff04		<half-bl>
+    1596:	0083		lsl	r3, r0, #2
+    1598:	ff0e		<half-bl>
+    159a:	0083		lsl	r3, r0, #2
+    159c:	ff0c		<half-bl>
+    159e:	0083		lsl	r3, r0, #2
+    15a0:	ff08		<half-bl>
+    15a2:	0083		lsl	r3, r0, #2
+    15a4:	b082		sub	sp, #8
+    15a6:	9101		str	r1, [sp, #4]
+    15a8:	9000		str	r0, [sp, #0]
+    15aa:	9901		ldr	r1, [sp, #4]
+    15ac:	2000		mov	r0, #0
+    15ae:	7008		strb	r0, [r1, #0]
+    15b0:	9801		ldr	r0, [sp, #4]
+    15b2:	2100		mov	r1, #0
+    15b4:	7041		strb	r1, [r0, #1]
+    15b6:	9801		ldr	r0, [sp, #4]
+    15b8:	2102		mov	r1, #2
+    15ba:	7101		strb	r1, [r0, #4]
+    15bc:	9801		ldr	r0, [sp, #4]
+    15be:	2106		mov	r1, #6
+    15c0:	7141		strb	r1, [r0, #5]
+    15c2:	9801		ldr	r0, [sp, #4]
+    15c4:	2102		mov	r1, #2
+    15c6:	7181		strb	r1, [r0, #6]
+    15c8:	b002		add	sp, #8
+    15ca:	4770		bx	lr
+    15cc:	b500		push	{lr}
+    15ce:	b084		sub	sp, #16	; 0x10
+    15d0:	466b		mov	r3, sp
+    15d2:	721a		strb	r2, [r3, #8]
+    15d4:	9101		str	r1, [sp, #4]
+    15d6:	9000		str	r0, [sp, #0]
+    15d8:	9901		ldr	r1, [sp, #4]
+    15da:	2009		mov	r0, #9
+    15dc:	7008		strb	r0, [r1, #0]
+    15de:	e015		b	0x160c
+    15e0:	9801		ldr	r0, [sp, #4]
+    15e2:	2100		mov	r1, #0
+    15e4:	7041		strb	r1, [r0, #1]
+    15e6:	9901		ldr	r1, [sp, #4]
+    15e8:	4668		mov	r0, sp
+    15ea:	8940		ldrh	r0, [r0, #10]	; 0xa
+    15ec:	8088		strh	r0, [r1, #4]
+    15ee:	9901		ldr	r1, [sp, #4]
+    15f0:	4668		mov	r0, sp
+    15f2:	8980		ldrh	r0, [r0, #12]	; 0xc
+    15f4:	80c8		strh	r0, [r1, #6]
+    15f6:	e01e		b	0x1636
+    15f8:	2101		mov	r1, #1
+    15fa:	e004		b	0x1606
+    15fc:	2103		mov	r1, #3
+    15fe:	e002		b	0x1606
+    1600:	2105		mov	r1, #5
+    1602:	e000		b	0x1606
+    1604:	2106		mov	r1, #6
+    1606:	9801		ldr	r0, [sp, #4]
+    1608:	7041		strb	r1, [r0, #1]
+    160a:	e014		b	0x1636
+    160c:	200a		mov	r0, #10	; 0xa
+    160e:	4468		add	r0, sp
+    1610:	a903		add	r1, sp, #12	; 0xc
+    1612:	466a		mov	r2, sp
+    1614:	7a12		ldrb	r2, [r2, #8]
+    1616:	f000 fb71	bl	0x1cfc
+    161a:	2800		cmp	r0, #0
+    161c:	d0e0		beq	0x15e0
+    161e:	3801		sub	r0, #1
+    1620:	2800		cmp	r0, #0
+    1622:	d0e9		beq	0x15f8
+    1624:	3801		sub	r0, #1
+    1626:	2800		cmp	r0, #0
+    1628:	d0e8		beq	0x15fc
+    162a:	3801		sub	r0, #1
+    162c:	2800		cmp	r0, #0
+    162e:	d0e7		beq	0x1600
+    1630:	3801		sub	r0, #1
+    1632:	2800		cmp	r0, #0
+    1634:	d0e6		beq	0x1604
+    1636:	b004		add	sp, #16	; 0x10
+    1638:	bd00		pop	{pc}
+    163a:	b084		sub	sp, #16	; 0x10
+    163c:	9101		str	r1, [sp, #4]
+    163e:	9000		str	r0, [sp, #0]
+    1640:	9901		ldr	r1, [sp, #4]
+    1642:	200a		mov	r0, #10	; 0xa
+    1644:	7008		strb	r0, [r1, #0]
+    1646:	9801		ldr	r0, [sp, #4]
+    1648:	2100		mov	r1, #0
+    164a:	7041		strb	r1, [r0, #1]
+    164c:	4669		mov	r1, sp
+    164e:	9800		ldr	r0, [sp, #0]
+    1650:	8880		ldrh	r0, [r0, #4]
+    1652:	8108		strh	r0, [r1, #8]
+    1654:	9800		ldr	r0, [sp, #0]
+    1656:	88c0		ldrh	r0, [r0, #6]
+    1658:	8148		strh	r0, [r1, #10]	; 0xa
+    165a:	4668		mov	r0, sp
+    165c:	8941		ldrh	r1, [r0, #10]	; 0xa
+    165e:	8900		ldrh	r0, [r0, #8]
+    1660:	0400		lsl	r0, r0, #16
+    1662:	1808		add	r0, r1, r0
+    1664:	9003		str	r0, [sp, #12]	; 0xc
+    1666:	9803		ldr	r0, [sp, #12]	; 0xc
+    1668:	b004		add	sp, #16	; 0x10
+    166a:	4770		bx	lr
+    166c:	b085		sub	sp, #20	; 0x14
+    166e:	9303		str	r3, [sp, #12]	; 0xc
+    1670:	9202		str	r2, [sp, #8]
+    1672:	9101		str	r1, [sp, #4]
+    1674:	4669		mov	r1, sp
+    1676:	7008		strb	r0, [r1, #0]
+    1678:	48ea		ldr	r0, =0x83ff19	; via 0x1a24
+    167a:	7809		ldrb	r1, [r1, #0]
+    167c:	7802		ldrb	r2, [r0, #0]
+    167e:	1889		add	r1, r1, r2
+    1680:	7001		strb	r1, [r0, #0]
+    1682:	48e9		ldr	r0, =0x83ff1a	; via 0x1a28
+    1684:	7800		ldrb	r0, [r0, #0]
+    1686:	2800		cmp	r0, #0
+    1688:	d00e		beq	0x16a8
+    168a:	48e8		ldr	r0, =0x83ff26	; via 0x1a2c
+    168c:	4669		mov	r1, sp
+    168e:	780a		ldrb	r2, [r1, #0]
+    1690:	8801		ldrh	r1, [r0, #0]
+    1692:	1851		add	r1, r2, r1
+    1694:	8001		strh	r1, [r0, #0]
+    1696:	9903		ldr	r1, [sp, #12]	; 0xc
+    1698:	48e4		ldr	r0, =0x83ff26	; via 0x1a2c
+    169a:	8800		ldrh	r0, [r0, #0]
+    169c:	8008		strh	r0, [r1, #0]
+    169e:	9801		ldr	r0, [sp, #4]
+    16a0:	2100		mov	r1, #0
+    16a2:	6001		str	r1, [r0, #0]
+    16a4:	2000		mov	r0, #0
+    16a6:	e009		b	0x16bc
+    16a8:	9902		ldr	r1, [sp, #8]
+    16aa:	6808		ldr	r0, [r1, #0]
+    16ac:	3002		add	r0, #2
+    16ae:	6008		str	r0, [r1, #0]
+    16b0:	49de		ldr	r1, =0x83ff26	; via 0x1a2c
+    16b2:	4668		mov	r0, sp
+    16b4:	7800		ldrb	r0, [r0, #0]
+    16b6:	0200		lsl	r0, r0, #8
+    16b8:	8008		strh	r0, [r1, #0]
+    16ba:	2001		mov	r0, #1
+    16bc:	9004		str	r0, [sp, #16]	; 0x10
+    16be:	2001		mov	r0, #1
+    16c0:	49d9		ldr	r1, =0x83ff1a	; via 0x1a28
+    16c2:	7809		ldrb	r1, [r1, #0]
+    16c4:	4388		bic	r0, r1
+    16c6:	49d8		ldr	r1, =0x83ff1a	; via 0x1a28
+    16c8:	7008		strb	r0, [r1, #0]
+    16ca:	48d9		ldr	r0, =0x83ff24	; via 0x1a30
+    16cc:	7801		ldrb	r1, [r0, #0]
+    16ce:	3901		sub	r1, #1
+    16d0:	7001		strb	r1, [r0, #0]
+    16d2:	48d7		ldr	r0, =0x83ff24	; via 0x1a30
+    16d4:	7800		ldrb	r0, [r0, #0]
+    16d6:	2800		cmp	r0, #0
+    16d8:	d102		bne	0x16e0
+    16da:	48d6		ldr	r0, =0x83ff20	; via 0x1a34
+    16dc:	2106		mov	r1, #6
+    16de:	6001		str	r1, [r0, #0]
+    16e0:	9804		ldr	r0, [sp, #16]	; 0x10
+    16e2:	b005		add	sp, #20	; 0x14
+    16e4:	46f7		mov	pc, lr
+    16e6:	b083		sub	sp, #12	; 0xc
+    16e8:	9101		str	r1, [sp, #4]
+    16ea:	4669		mov	r1, sp
+    16ec:	7008		strb	r0, [r1, #0]
+    16ee:	2001		mov	r0, #1
+    16f0:	9002		str	r0, [sp, #8]
+    16f2:	48d1		ldr	r0, =0x83ff1b	; via 0x1a38
+    16f4:	7800		ldrb	r0, [r0, #0]
+    16f6:	2800		cmp	r0, #0
+    16f8:	d10a		bne	0x1710
+    16fa:	4668		mov	r0, sp
+    16fc:	7800		ldrb	r0, [r0, #0]
+    16fe:	2853		cmp	r0, #83	; 0x53
+    1700:	d102		bne	0x1708
+    1702:	48cd		ldr	r0, =0x83ff1b	; via 0x1a38
+    1704:	2101		mov	r1, #1
+    1706:	e01a		b	0x173e
+    1708:	2101		mov	r1, #1
+    170a:	9801		ldr	r0, [sp, #4]
+    170c:	6001		str	r1, [r0, #0]
+    170e:	e03b		b	0x1788
+    1710:	49c9		ldr	r1, =0x83ff1b	; via 0x1a38
+    1712:	2000		mov	r0, #0
+    1714:	7008		strb	r0, [r1, #0]
+    1716:	4668		mov	r0, sp
+    1718:	7800		ldrb	r0, [r0, #0]
+    171a:	2830		cmp	r0, #48	; 0x30
+    171c:	d111		bne	0x1742
+    171e:	48c7		ldr	r0, =0x83ff18	; via 0x1a3c
+    1720:	7800		ldrb	r0, [r0, #0]
+    1722:	2800		cmp	r0, #0
+    1724:	d006		beq	0x1734
+    1726:	9901		ldr	r1, [sp, #4]
+    1728:	2001		mov	r0, #1
+    172a:	6008		str	r0, [r1, #0]
+    172c:	49c3		ldr	r1, =0x83ff18	; via 0x1a3c
+    172e:	2000		mov	r0, #0
+    1730:	7008		strb	r0, [r1, #0]
+    1732:	e02a		b	0x178a
+    1734:	48bf		ldr	r0, =0x83ff20	; via 0x1a34
+    1736:	2102		mov	r1, #2
+    1738:	6001		str	r1, [r0, #0]
+    173a:	48ef		ldr	r0, =0x83ff1c	; via 0x1af8
+    173c:	2100		mov	r1, #0
+    173e:	7001		strb	r1, [r0, #0]
+    1740:	e024		b	0x178c
+    1742:	4668		mov	r0, sp
+    1744:	7800		ldrb	r0, [r0, #0]
+    1746:	2833		cmp	r0, #51	; 0x33
+    1748:	d105		bne	0x1756
+    174a:	48bc		ldr	r0, =0x83ff18	; via 0x1a3c
+    174c:	7800		ldrb	r0, [r0, #0]
+    174e:	2800		cmp	r0, #0
+    1750:	d0da		beq	0x1708
+    1752:	2004		mov	r0, #4
+    1754:	e00c		b	0x1770
+    1756:	4668		mov	r0, sp
+    1758:	7800		ldrb	r0, [r0, #0]
+    175a:	2837		cmp	r0, #55	; 0x37
+    175c:	d10e		bne	0x177c
+    175e:	48b7		ldr	r0, =0x83ff18	; via 0x1a3c
+    1760:	7800		ldrb	r0, [r0, #0]
+    1762:	2800		cmp	r0, #0
+    1764:	d103		bne	0x176e
+    1766:	9901		ldr	r1, [sp, #4]
+    1768:	2001		mov	r0, #1
+    176a:	6008		str	r0, [r1, #0]
+    176c:	e00c		b	0x1788
+    176e:	2003		mov	r0, #3
+    1770:	49b0		ldr	r1, =0x83ff20	; via 0x1a34
+    1772:	6008		str	r0, [r1, #0]
+    1774:	2000		mov	r0, #0
+    1776:	49e0		ldr	r1, =0x83ff1c	; via 0x1af8
+    1778:	7008		strb	r0, [r1, #0]
+    177a:	e007		b	0x178c
+    177c:	9901		ldr	r1, [sp, #4]
+    177e:	2001		mov	r0, #1
+    1780:	6008		str	r0, [r1, #0]
+    1782:	48ae		ldr	r0, =0x83ff18	; via 0x1a3c
+    1784:	2100		mov	r1, #0
+    1786:	7001		strb	r1, [r0, #0]
+    1788:	2000		mov	r0, #0
+    178a:	9002		str	r0, [sp, #8]
+    178c:	9802		ldr	r0, [sp, #8]
+    178e:	b003		add	sp, #12	; 0xc
+    1790:	46f7		mov	pc, lr
+    1792:	b083		sub	sp, #12	; 0xc
+    1794:	9101		str	r1, [sp, #4]
+    1796:	4669		mov	r1, sp
+    1798:	7008		strb	r0, [r1, #0]
+    179a:	2001		mov	r0, #1
+    179c:	9002		str	r0, [sp, #8]
+    179e:	49d7		ldr	r1, =0x830	; via 0x1afc
+    17a0:	48d5		ldr	r0, =0x83ff1c	; via 0x1af8
+    17a2:	7800		ldrb	r0, [r0, #0]
+    17a4:	0080		lsl	r0, r0, #2
+    17a6:	5808		ldr	r0, [r1, r0]
+    17a8:	4669		mov	r1, sp
+    17aa:	7809		ldrb	r1, [r1, #0]
+    17ac:	4281		cmp	r1, r0
+    17ae:	d10d		bne	0x17cc
+    17b0:	49d1		ldr	r1, =0x83ff1c	; via 0x1af8
+    17b2:	7808		ldrb	r0, [r1, #0]
+    17b4:	3001		add	r0, #1
+    17b6:	7008		strb	r0, [r1, #0]
+    17b8:	48cf		ldr	r0, =0x83ff1c	; via 0x1af8
+    17ba:	7800		ldrb	r0, [r0, #0]
+    17bc:	2807		cmp	r0, #7
+    17be:	d10d		bne	0x17dc
+    17c0:	489c		ldr	r0, =0x83ff20	; via 0x1a34
+    17c2:	2101		mov	r1, #1
+    17c4:	6001		str	r1, [r0, #0]
+    17c6:	489d		ldr	r0, =0x83ff18	; via 0x1a3c
+    17c8:	7001		strb	r1, [r0, #0]
+    17ca:	e007		b	0x17dc
+    17cc:	9801		ldr	r0, [sp, #4]
+    17ce:	2101		mov	r1, #1
+    17d0:	6001		str	r1, [r0, #0]
+    17d2:	4998		ldr	r1, =0x83ff20	; via 0x1a34
+    17d4:	2001		mov	r0, #1
+    17d6:	6008		str	r0, [r1, #0]
+    17d8:	2000		mov	r0, #0
+    17da:	9002		str	r0, [sp, #8]
+    17dc:	9802		ldr	r0, [sp, #8]
+    17de:	b003		add	sp, #12	; 0xc
+    17e0:	46f7		mov	pc, lr
+    17e2:	b083		sub	sp, #12	; 0xc
+    17e4:	9101		str	r1, [sp, #4]
+    17e6:	4669		mov	r1, sp
+    17e8:	7008		strb	r0, [r1, #0]
+    17ea:	2001		mov	r0, #1
+    17ec:	9002		str	r0, [sp, #8]
+    17ee:	49c4		ldr	r1, =0x84c	; via 0x1b00
+    17f0:	48c1		ldr	r0, =0x83ff1c	; via 0x1af8
+    17f2:	7800		ldrb	r0, [r0, #0]
+    17f4:	0080		lsl	r0, r0, #2
+    17f6:	5808		ldr	r0, [r1, r0]
+    17f8:	4669		mov	r1, sp
+    17fa:	7809		ldrb	r1, [r1, #0]
+    17fc:	4281		cmp	r1, r0
+    17fe:	d112		bne	0x1826
+    1800:	49bd		ldr	r1, =0x83ff1c	; via 0x1af8
+    1802:	7808		ldrb	r0, [r1, #0]
+    1804:	3001		add	r0, #1
+    1806:	7008		strb	r0, [r1, #0]
+    1808:	48bb		ldr	r0, =0x83ff1c	; via 0x1af8
+    180a:	7800		ldrb	r0, [r0, #0]
+    180c:	2806		cmp	r0, #6
+    180e:	d114		bne	0x183a
+    1810:	9801		ldr	r0, [sp, #4]
+    1812:	2102		mov	r1, #2
+    1814:	6001		str	r1, [r0, #0]
+    1816:	4887		ldr	r0, =0x83ff20	; via 0x1a34
+    1818:	2101		mov	r1, #1
+    181a:	6001		str	r1, [r0, #0]
+    181c:	4887		ldr	r0, =0x83ff18	; via 0x1a3c
+    181e:	2100		mov	r1, #0
+    1820:	7001		strb	r1, [r0, #0]
+    1822:	2000		mov	r0, #0
+    1824:	e008		b	0x1838
+    1826:	9801		ldr	r0, [sp, #4]
+    1828:	2101		mov	r1, #1
+    182a:	6001		str	r1, [r0, #0]
+    182c:	4981		ldr	r1, =0x83ff20	; via 0x1a34
+    182e:	2001		mov	r0, #1
+    1830:	6008		str	r0, [r1, #0]
+    1832:	4982		ldr	r1, =0x83ff18	; via 0x1a3c
+    1834:	2000		mov	r0, #0
+    1836:	7008		strb	r0, [r1, #0]
+    1838:	9002		str	r0, [sp, #8]
+    183a:	9802		ldr	r0, [sp, #8]
+    183c:	b003		add	sp, #12	; 0xc
+    183e:	46f7		mov	pc, lr
+    1840:	b081		sub	sp, #4
+    1842:	4669		mov	r1, sp
+    1844:	7008		strb	r0, [r1, #0]
+    1846:	497a		ldr	r1, =0x83ff24	; via 0x1a30
+    1848:	4668		mov	r0, sp
+    184a:	7800		ldrb	r0, [r0, #0]
+    184c:	3801		sub	r0, #1
+    184e:	7008		strb	r0, [r1, #0]
+    1850:	4874		ldr	r0, =0x83ff19	; via 0x1a24
+    1852:	4669		mov	r1, sp
+    1854:	7809		ldrb	r1, [r1, #0]
+    1856:	7001		strb	r1, [r0, #0]
+    1858:	48a7		ldr	r0, =0x83ff1c	; via 0x1af8
+    185a:	2100		mov	r1, #0
+    185c:	7001		strb	r1, [r0, #0]
+    185e:	48e3		ldr	r0, =0x83ff14	; via 0x1bec
+    1860:	6001		str	r1, [r0, #0]
+    1862:	4874		ldr	r0, =0x83ff20	; via 0x1a34
+    1864:	2105		mov	r1, #5
+    1866:	6001		str	r1, [r0, #0]
+    1868:	b001		add	sp, #4
+    186a:	46f7		mov	pc, lr
+    186c:	b084		sub	sp, #16	; 0x10
+    186e:	9202		str	r2, [sp, #8]
+    1870:	9101		str	r1, [sp, #4]
+    1872:	4669		mov	r1, sp
+    1874:	7008		strb	r0, [r1, #0]
+    1876:	2001		mov	r0, #1
+    1878:	9003		str	r0, [sp, #12]	; 0xc
+    187a:	496d		ldr	r1, =0x83ff24	; via 0x1a30
+    187c:	7808		ldrb	r0, [r1, #0]
+    187e:	3801		sub	r0, #1
+    1880:	7008		strb	r0, [r1, #0]
+    1882:	486b		ldr	r0, =0x83ff24	; via 0x1a30
+    1884:	7800		ldrb	r0, [r0, #0]
+    1886:	2800		cmp	r0, #0
+    1888:	d026		beq	0x18d8
+    188a:	4866		ldr	r0, =0x83ff19	; via 0x1a24
+    188c:	4669		mov	r1, sp
+    188e:	780a		ldrb	r2, [r1, #0]
+    1890:	7801		ldrb	r1, [r0, #0]
+    1892:	1851		add	r1, r2, r1
+    1894:	7001		strb	r1, [r0, #0]
+    1896:	4998		ldr	r1, =0x83ff1c	; via 0x1af8
+    1898:	7808		ldrb	r0, [r1, #0]
+    189a:	3001		add	r0, #1
+    189c:	7008		strb	r0, [r1, #0]
+    189e:	49d3		ldr	r1, =0x83ff14	; via 0x1bec
+    18a0:	2204		mov	r2, #4
+    18a2:	4895		ldr	r0, =0x83ff1c	; via 0x1af8
+    18a4:	7800		ldrb	r0, [r0, #0]
+    18a6:	1a10		sub	r0, r2, r0
+    18a8:	00c2		lsl	r2, r0, #3
+    18aa:	4668		mov	r0, sp
+    18ac:	7800		ldrb	r0, [r0, #0]
+    18ae:	4090		lsl	r0, r2
+    18b0:	680a		ldr	r2, [r1, #0]
+    18b2:	1880		add	r0, r0, r2
+    18b4:	6008		str	r0, [r1, #0]
+    18b6:	4890		ldr	r0, =0x83ff1c	; via 0x1af8
+    18b8:	7800		ldrb	r0, [r0, #0]
+    18ba:	2804		cmp	r0, #4
+    18bc:	d117		bne	0x18ee
+    18be:	9902		ldr	r1, [sp, #8]
+    18c0:	48ca		ldr	r0, =0x83ff14	; via 0x1bec
+    18c2:	6800		ldr	r0, [r0, #0]
+    18c4:	3802		sub	r0, #2
+    18c6:	6008		str	r0, [r1, #0]
+    18c8:	485a		ldr	r0, =0x83ff20	; via 0x1a34
+    18ca:	2100		mov	r1, #0
+    18cc:	6001		str	r1, [r0, #0]
+    18ce:	4856		ldr	r0, =0x83ff1a	; via 0x1a28
+    18d0:	7001		strb	r1, [r0, #0]
+    18d2:	4889		ldr	r0, =0x83ff1c	; via 0x1af8
+    18d4:	7001		strb	r1, [r0, #0]
+    18d6:	e00a		b	0x18ee
+    18d8:	9801		ldr	r0, [sp, #4]
+    18da:	2101		mov	r1, #1
+    18dc:	6001		str	r1, [r0, #0]
+    18de:	4955		ldr	r1, =0x83ff20	; via 0x1a34
+    18e0:	2001		mov	r0, #1
+    18e2:	6008		str	r0, [r1, #0]
+    18e4:	4855		ldr	r0, =0x83ff18	; via 0x1a3c
+    18e6:	2100		mov	r1, #0
+    18e8:	7001		strb	r1, [r0, #0]
+    18ea:	2000		mov	r0, #0
+    18ec:	9003		str	r0, [sp, #12]	; 0xc
+    18ee:	9803		ldr	r0, [sp, #12]	; 0xc
+    18f0:	b004		add	sp, #16	; 0x10
+    18f2:	46f7		mov	pc, lr
+    18f4:	b083		sub	sp, #12	; 0xc
+    18f6:	9101		str	r1, [sp, #4]
+    18f8:	4669		mov	r1, sp
+    18fa:	7008		strb	r0, [r1, #0]
+    18fc:	2001		mov	r0, #1
+    18fe:	9002		str	r0, [sp, #8]
+    1900:	494c		ldr	r1, =0x83ff20	; via 0x1a34
+    1902:	6008		str	r0, [r1, #0]
+    1904:	20ff		mov	r0, #255	; 0xff
+    1906:	4669		mov	r1, sp
+    1908:	7809		ldrb	r1, [r1, #0]
+    190a:	4388		bic	r0, r1
+    190c:	4945		ldr	r1, =0x83ff19	; via 0x1a24
+    190e:	7809		ldrb	r1, [r1, #0]
+    1910:	4281		cmp	r1, r0
+    1912:	d007		beq	0x1924
+    1914:	9801		ldr	r0, [sp, #4]
+    1916:	2101		mov	r1, #1
+    1918:	6001		str	r1, [r0, #0]
+    191a:	4848		ldr	r0, =0x83ff18	; via 0x1a3c
+    191c:	2100		mov	r1, #0
+    191e:	7001		strb	r1, [r0, #0]
+    1920:	2000		mov	r0, #0
+    1922:	9002		str	r0, [sp, #8]
+    1924:	9802		ldr	r0, [sp, #8]
+    1926:	b003		add	sp, #12	; 0xc
+    1928:	46f7		mov	pc, lr
+    192a:	b085		sub	sp, #20	; 0x14
+    192c:	466b		mov	r3, sp
+    192e:	719a		strb	r2, [r3, #6]
+    1930:	466a		mov	r2, sp
+    1932:	8091		strh	r1, [r2, #4]
+    1934:	9000		str	r0, [sp, #0]
+    1936:	9800		ldr	r0, [sp, #0]
+    1938:	9002		str	r0, [sp, #8]
+    193a:	4669		mov	r1, sp
+    193c:	4668		mov	r0, sp
+    193e:	8880		ldrh	r0, [r0, #4]
+    1940:	8208		strh	r0, [r1, #16]	; 0x10
+    1942:	4668		mov	r0, sp
+    1944:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    1946:	2800		cmp	r0, #0
+    1948:	d01e		beq	0x1988
+    194a:	49e3		ldr	r1, =0x864	; via 0x1cd8
+    194c:	4668		mov	r0, sp
+    194e:	7980		ldrb	r0, [r0, #6]
+    1950:	0080		lsl	r0, r0, #2
+    1952:	5808		ldr	r0, [r1, r0]
+    1954:	7941		ldrb	r1, [r0, #5]
+    1956:	4668		mov	r0, sp
+    1958:	7301		strb	r1, [r0, #12]	; 0xc
+    195a:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    195c:	0980		lsr	r0, r0, #6
+    195e:	d3f4		bcc	0x194a
+    1960:	49dd		ldr	r1, =0x864	; via 0x1cd8
+    1962:	4668		mov	r0, sp
+    1964:	7980		ldrb	r0, [r0, #6]
+    1966:	0080		lsl	r0, r0, #2
+    1968:	5809		ldr	r1, [r1, r0]
+    196a:	9802		ldr	r0, [sp, #8]
+    196c:	7800		ldrb	r0, [r0, #0]
+    196e:	7008		strb	r0, [r1, #0]
+    1970:	9802		ldr	r0, [sp, #8]
+    1972:	3001		add	r0, #1
+    1974:	9002		str	r0, [sp, #8]
+    1976:	4669		mov	r1, sp
+    1978:	4668		mov	r0, sp
+    197a:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    197c:	3801		sub	r0, #1
+    197e:	8208		strh	r0, [r1, #16]	; 0x10
+    1980:	4668		mov	r0, sp
+    1982:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    1984:	2800		cmp	r0, #0
+    1986:	d1e0		bne	0x194a
+    1988:	b005		add	sp, #20	; 0x14
+    198a:	46f7		mov	pc, lr
+    198c:	b082		sub	sp, #8
+    198e:	4669		mov	r1, sp
+    1990:	7008		strb	r0, [r1, #0]
+    1992:	2000		mov	r0, #0
+    1994:	8088		strh	r0, [r1, #4]
+    1996:	4668		mov	r0, sp
+    1998:	8881		ldrh	r1, [r0, #4]
+    199a:	20ff		mov	r0, #255	; 0xff
+    199c:	30f5		add	r0, #245	; 0xf5
+    199e:	4281		cmp	r1, r0
+    19a0:	da21		bge	0x19e6
+    19a2:	4669		mov	r1, sp
+    19a4:	4668		mov	r0, sp
+    19a6:	8880		ldrh	r0, [r0, #4]
+    19a8:	3001		add	r0, #1
+    19aa:	8088		strh	r0, [r1, #4]
+    19ac:	48ca		ldr	r0, =0x864	; via 0x1cd8
+    19ae:	7809		ldrb	r1, [r1, #0]
+    19b0:	0089		lsl	r1, r1, #2
+    19b2:	5840		ldr	r0, [r0, r1]
+    19b4:	7940		ldrb	r0, [r0, #5]
+    19b6:	4669		mov	r1, sp
+    19b8:	7048		strb	r0, [r1, #1]
+    19ba:	4668		mov	r0, sp
+    19bc:	7840		ldrb	r0, [r0, #1]
+    19be:	0840		lsr	r0, r0, #1
+    19c0:	d30b		bcc	0x19da
+    19c2:	49c5		ldr	r1, =0x864	; via 0x1cd8
+    19c4:	4668		mov	r0, sp
+    19c6:	7800		ldrb	r0, [r0, #0]
+    19c8:	0080		lsl	r0, r0, #2
+    19ca:	5808		ldr	r0, [r1, r0]
+    19cc:	7800		ldrb	r0, [r0, #0]
+    19ce:	0600		lsl	r0, r0, #24
+    19d0:	0e00		lsr	r0, r0, #24
+    19d2:	4669		mov	r1, sp
+    19d4:	7088		strb	r0, [r1, #2]
+    19d6:	2000		mov	r0, #0
+    19d8:	8088		strh	r0, [r1, #4]
+    19da:	4668		mov	r0, sp
+    19dc:	8881		ldrh	r1, [r0, #4]
+    19de:	20ff		mov	r0, #255	; 0xff
+    19e0:	30f5		add	r0, #245	; 0xf5
+    19e2:	4281		cmp	r1, r0
+    19e4:	dbdd		blt	0x19a2
+    19e6:	b002		add	sp, #8
+    19e8:	4770		bx	lr
+    19ea:	b500		push	{lr}
+    19ec:	b08c		sub	sp, #48	; 0x30
+    19ee:	466a		mov	r2, sp
+    19f0:	7111		strb	r1, [r2, #4]
+    19f2:	9000		str	r0, [sp, #0]
+    19f4:	2001		mov	r0, #1
+    19f6:	9002		str	r0, [sp, #8]
+    19f8:	9800		ldr	r0, [sp, #0]
+    19fa:	a904		add	r1, sp, #16	; 0x10
+    19fc:	aa03		add	r2, sp, #12	; 0xc
+    19fe:	f7ff fd75	bl	0x14ec
+    1a02:	4668		mov	r0, sp
+    1a04:	8980		ldrh	r0, [r0, #12]	; 0xc
+    1a06:	2820		cmp	r0, #32	; 0x20
+    1a08:	dd02		ble	0x1a10
+    1a0a:	2000		mov	r0, #0
+    1a0c:	9002		str	r0, [sp, #8]
+    1a0e:	e006		b	0x1a1e
+    1a10:	a804		add	r0, sp, #16	; 0x10
+    1a12:	4669		mov	r1, sp
+    1a14:	8989		ldrh	r1, [r1, #12]	; 0xc
+    1a16:	466a		mov	r2, sp
+    1a18:	7912		ldrb	r2, [r2, #4]
+    1a1a:	f7ff ff86	bl	0x192a
+    1a1e:	9802		ldr	r0, [sp, #8]
+    1a20:	b00c		add	sp, #48	; 0x30
+    1a22:	bd00		pop	{pc}
+    1a24:	ff19		<half-bl>
+    1a26:	0083		lsl	r3, r0, #2
+    1a28:	ff1a		<half-bl>
+    1a2a:	0083		lsl	r3, r0, #2
+    1a2c:	ff26		<half-bl>
+    1a2e:	0083		lsl	r3, r0, #2
+    1a30:	ff24		<half-bl>
+    1a32:	0083		lsl	r3, r0, #2
+    1a34:	ff20		<half-bl>
+    1a36:	0083		lsl	r3, r0, #2
+    1a38:	ff1b		<half-bl>
+    1a3a:	0083		lsl	r3, r0, #2
+    1a3c:	ff18		<half-bl>
+    1a3e:	0083		lsl	r3, r0, #2
+    1a40:	b500		push	{lr}
+    1a42:	b084		sub	sp, #16	; 0x10
+    1a44:	9101		str	r1, [sp, #4]
+    1a46:	9000		str	r0, [sp, #0]
+    1a48:	4669		mov	r1, sp
+    1a4a:	20ff		mov	r0, #255	; 0xff
+    1a4c:	7308		strb	r0, [r1, #12]	; 0xc
+    1a4e:	2000		mov	r0, #0
+    1a50:	9002		str	r0, [sp, #8]
+    1a52:	4669		mov	r1, sp
+    1a54:	48a1		ldr	r0, =0xffff5805	; via 0x1cdc
+    1a56:	7800		ldrb	r0, [r0, #0]
+    1a58:	7348		strb	r0, [r1, #13]	; 0xd
+    1a5a:	48a1		ldr	r0, =0xffff5005	; via 0x1ce0
+    1a5c:	7800		ldrb	r0, [r0, #0]
+    1a5e:	7388		strb	r0, [r1, #14]	; 0xe
+    1a60:	4668		mov	r0, sp
+    1a62:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1a64:	0840		lsr	r0, r0, #1
+    1a66:	d206		bcs	0x1a76
+    1a68:	4668		mov	r0, sp
+    1a6a:	7b80		ldrb	r0, [r0, #14]	; 0xe
+    1a6c:	0840		lsr	r0, r0, #1
+    1a6e:	d202		bcs	0x1a76
+    1a70:	9801		ldr	r0, [sp, #4]
+    1a72:	2800		cmp	r0, #0
+    1a74:	d0ed		beq	0x1a52
+    1a76:	4668		mov	r0, sp
+    1a78:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1a7a:	0840		lsr	r0, r0, #1
+    1a7c:	d316		bcc	0x1aac
+    1a7e:	4669		mov	r1, sp
+    1a80:	2000		mov	r0, #0
+    1a82:	7308		strb	r0, [r1, #12]	; 0xc
+    1a84:	4994		ldr	r1, =0x864	; via 0x1cd8
+    1a86:	4668		mov	r0, sp
+    1a88:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1a8a:	0080		lsl	r0, r0, #2
+    1a8c:	5808		ldr	r0, [r1, r0]
+    1a8e:	7800		ldrb	r0, [r0, #0]
+    1a90:	0600		lsl	r0, r0, #24
+    1a92:	0e00		lsr	r0, r0, #24
+    1a94:	4669		mov	r1, sp
+    1a96:	73c8		strb	r0, [r1, #15]	; 0xf
+    1a98:	4668		mov	r0, sp
+    1a9a:	7bc0		ldrb	r0, [r0, #15]	; 0xf
+    1a9c:	9900		ldr	r1, [sp, #0]
+    1a9e:	f7ff fc9f	bl	0x13e0
+    1aa2:	9002		str	r0, [sp, #8]
+    1aa4:	9802		ldr	r0, [sp, #8]
+    1aa6:	2800		cmp	r0, #0
+    1aa8:	d11c		bne	0x1ae4
+    1aaa:	e018		b	0x1ade
+    1aac:	4668		mov	r0, sp
+    1aae:	7b80		ldrb	r0, [r0, #14]	; 0xe
+    1ab0:	0840		lsr	r0, r0, #1
+    1ab2:	d317		bcc	0x1ae4
+    1ab4:	4669		mov	r1, sp
+    1ab6:	2001		mov	r0, #1
+    1ab8:	7308		strb	r0, [r1, #12]	; 0xc
+    1aba:	4987		ldr	r1, =0x864	; via 0x1cd8
+    1abc:	4668		mov	r0, sp
+    1abe:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1ac0:	0080		lsl	r0, r0, #2
+    1ac2:	5808		ldr	r0, [r1, r0]
+    1ac4:	7800		ldrb	r0, [r0, #0]
+    1ac6:	0600		lsl	r0, r0, #24
+    1ac8:	0e01		lsr	r1, r0, #24
+    1aca:	4668		mov	r0, sp
+    1acc:	73c1		strb	r1, [r0, #15]	; 0xf
+    1ace:	7bc0		ldrb	r0, [r0, #15]	; 0xf
+    1ad0:	9900		ldr	r1, [sp, #0]
+    1ad2:	f7ff fc85	bl	0x13e0
+    1ad6:	9002		str	r0, [sp, #8]
+    1ad8:	9802		ldr	r0, [sp, #8]
+    1ada:	2800		cmp	r0, #0
+    1adc:	d102		bne	0x1ae4
+    1ade:	20ff		mov	r0, #255	; 0xff
+    1ae0:	4669		mov	r1, sp
+    1ae2:	7308		strb	r0, [r1, #12]	; 0xc
+    1ae4:	9802		ldr	r0, [sp, #8]
+    1ae6:	2800		cmp	r0, #0
+    1ae8:	d102		bne	0x1af0
+    1aea:	9801		ldr	r0, [sp, #4]
+    1aec:	2800		cmp	r0, #0
+    1aee:	d0b0		beq	0x1a52
+    1af0:	4668		mov	r0, sp
+    1af2:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1af4:	b004		add	sp, #16	; 0x10
+    1af6:	bd00		pop	{pc}
+    1af8:	ff1c		<half-bl>
+    1afa:	0083		lsl	r3, r0, #2
+    1afc:	0830		lsr	r0, r6, #32
+    1afe:	0000		lsl	r0, r0, #0
+    1b00:	084c		lsr	r4, r1, #1
+    1b02:	0000		lsl	r0, r0, #0
+    1b04:	b500		push	{lr}
+    1b06:	b086		sub	sp, #24	; 0x18
+    1b08:	466b		mov	r3, sp
+    1b0a:	721a		strb	r2, [r3, #8]
+    1b0c:	9101		str	r1, [sp, #4]
+    1b0e:	9000		str	r0, [sp, #0]
+    1b10:	2001		mov	r0, #1
+    1b12:	9004		str	r0, [sp, #16]	; 0x10
+    1b14:	9804		ldr	r0, [sp, #16]	; 0x10
+    1b16:	2800		cmp	r0, #0
+    1b18:	d05b		beq	0x1bd2
+    1b1a:	496f		ldr	r1, =0x864	; via 0x1cd8
+    1b1c:	4668		mov	r0, sp
+    1b1e:	7a00		ldrb	r0, [r0, #8]
+    1b20:	0080		lsl	r0, r0, #2
+    1b22:	5808		ldr	r0, [r1, r0]
+    1b24:	7941		ldrb	r1, [r0, #5]
+    1b26:	4668		mov	r0, sp
+    1b28:	7301		strb	r1, [r0, #12]	; 0xc
+    1b2a:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1b2c:	0840		lsr	r0, r0, #1
+    1b2e:	d3f4		bcc	0x1b1a
+    1b30:	4969		ldr	r1, =0x864	; via 0x1cd8
+    1b32:	4668		mov	r0, sp
+    1b34:	7a00		ldrb	r0, [r0, #8]
+    1b36:	0080		lsl	r0, r0, #2
+    1b38:	5808		ldr	r0, [r1, r0]
+    1b3a:	7800		ldrb	r0, [r0, #0]
+    1b3c:	0600		lsl	r0, r0, #24
+    1b3e:	0e01		lsr	r1, r0, #24
+    1b40:	4668		mov	r0, sp
+    1b42:	7341		strb	r1, [r0, #13]	; 0xd
+    1b44:	e02c		b	0x1ba0
+    1b46:	4668		mov	r0, sp
+    1b48:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b4a:	a905		add	r1, sp, #20	; 0x14
+    1b4c:	9a00		ldr	r2, [sp, #0]
+    1b4e:	9b01		ldr	r3, [sp, #4]
+    1b50:	f7ff fd8c	bl	0x166c
+    1b54:	9004		str	r0, [sp, #16]	; 0x10
+    1b56:	e039		b	0x1bcc
+    1b58:	4668		mov	r0, sp
+    1b5a:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b5c:	a905		add	r1, sp, #20	; 0x14
+    1b5e:	f7ff fdc2	bl	0x16e6
+    1b62:	e7f7		b	0x1b54
+    1b64:	4668		mov	r0, sp
+    1b66:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b68:	a905		add	r1, sp, #20	; 0x14
+    1b6a:	f7ff fe12	bl	0x1792
+    1b6e:	e7f1		b	0x1b54
+    1b70:	4668		mov	r0, sp
+    1b72:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b74:	a905		add	r1, sp, #20	; 0x14
+    1b76:	f7ff fe34	bl	0x17e2
+    1b7a:	e7eb		b	0x1b54
+    1b7c:	4668		mov	r0, sp
+    1b7e:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b80:	f7ff fe5e	bl	0x1840
+    1b84:	e022		b	0x1bcc
+    1b86:	4668		mov	r0, sp
+    1b88:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b8a:	a905		add	r1, sp, #20	; 0x14
+    1b8c:	9a00		ldr	r2, [sp, #0]
+    1b8e:	f7ff fe6d	bl	0x186c
+    1b92:	e7df		b	0x1b54
+    1b94:	4668		mov	r0, sp
+    1b96:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b98:	a905		add	r1, sp, #20	; 0x14
+    1b9a:	f7ff feab	bl	0x18f4
+    1b9e:	e7d9		b	0x1b54
+    1ba0:	4850		ldr	r0, =0x83ff20	; via 0x1ce4
+    1ba2:	6800		ldr	r0, [r0, #0]
+    1ba4:	2800		cmp	r0, #0
+    1ba6:	d0ce		beq	0x1b46
+    1ba8:	3801		sub	r0, #1
+    1baa:	2800		cmp	r0, #0
+    1bac:	d0d4		beq	0x1b58
+    1bae:	3801		sub	r0, #1
+    1bb0:	2800		cmp	r0, #0
+    1bb2:	d0d7		beq	0x1b64
+    1bb4:	3801		sub	r0, #1
+    1bb6:	2800		cmp	r0, #0
+    1bb8:	d0da		beq	0x1b70
+    1bba:	3801		sub	r0, #1
+    1bbc:	2800		cmp	r0, #0
+    1bbe:	d0dd		beq	0x1b7c
+    1bc0:	3801		sub	r0, #1
+    1bc2:	2800		cmp	r0, #0
+    1bc4:	d0df		beq	0x1b86
+    1bc6:	3801		sub	r0, #1
+    1bc8:	2800		cmp	r0, #0
+    1bca:	d0e3		beq	0x1b94
+    1bcc:	9804		ldr	r0, [sp, #16]	; 0x10
+    1bce:	2800		cmp	r0, #0
+    1bd0:	d1a3		bne	0x1b1a
+    1bd2:	9805		ldr	r0, [sp, #20]	; 0x14
+    1bd4:	b006		add	sp, #24	; 0x18
+    1bd6:	bd00		pop	{pc}
+    1bd8:	4942		ldr	r1, =0x83ff20	; via 0x1ce4
+    1bda:	2001		mov	r0, #1
+    1bdc:	6008		str	r0, [r1, #0]
+    1bde:	4842		ldr	r0, =0x83ff1b	; via 0x1ce8
+    1be0:	2100		mov	r1, #0
+    1be2:	7001		strb	r1, [r0, #0]
+    1be4:	4841		ldr	r0, =0x83ff18	; via 0x1cec
+    1be6:	7001		strb	r1, [r0, #0]
+    1be8:	4770		bx	lr
+    1bea:	46c0		nop			(mov r8, r8)
+    1bec:	ff14		<half-bl>
+    1bee:	0083		lsl	r3, r0, #2
+    1bf0:	b081		sub	sp, #4
+    1bf2:	483f		ldr	r0, =0xffff5800	; via 0x1cf0
+    1bf4:	9000		str	r0, [sp, #0]
+    1bf6:	493f		ldr	r1, =0xffff6000	; via 0x1cf4
+    1bf8:	2002		mov	r0, #2
+    1bfa:	880a		ldrh	r2, [r1, #0]
+    1bfc:	4310		orr	r0, r2
+    1bfe:	8008		strh	r0, [r1, #0]
+    1c00:	483c		ldr	r0, =0xffff6000	; via 0x1cf4
+    1c02:	8801		ldrh	r1, [r0, #0]
+    1c04:	0849		lsr	r1, r1, #1
+    1c06:	0049		lsl	r1, r1, #1
+    1c08:	8001		strh	r1, [r0, #0]
+    1c0a:	493a		ldr	r1, =0xffff6000	; via 0x1cf4
+    1c0c:	8808		ldrh	r0, [r1, #0]
+    1c0e:	2202		mov	r2, #2
+    1c10:	4390		bic	r0, r2
+    1c12:	8008		strh	r0, [r1, #0]
+    1c14:	9900		ldr	r1, [sp, #0]
+    1c16:	2007		mov	r0, #7
+    1c18:	7208		strb	r0, [r1, #8]
+    1c1a:	9900		ldr	r1, [sp, #0]
+    1c1c:	20bf		mov	r0, #191	; 0xbf
+    1c1e:	70c8		strb	r0, [r1, #3]
+    1c20:	9800		ldr	r0, [sp, #0]
+    1c22:	1c81		add	r1, r0, #2
+    1c24:	2010		mov	r0, #16	; 0x10
+    1c26:	880a		ldrh	r2, [r1, #0]
+    1c28:	4310		orr	r0, r2
+    1c2a:	8008		strh	r0, [r1, #0]
+    1c2c:	9800		ldr	r0, [sp, #0]
+    1c2e:	2180		mov	r1, #128	; 0x80
+    1c30:	70c1		strb	r1, [r0, #3]
+    1c32:	9800		ldr	r0, [sp, #0]
+    1c34:	2107		mov	r1, #7
+    1c36:	7081		strb	r1, [r0, #2]
+    1c38:	9800		ldr	r0, [sp, #0]
+    1c3a:	21bf		mov	r1, #191	; 0xbf
+    1c3c:	70c1		strb	r1, [r0, #3]
+    1c3e:	9800		ldr	r0, [sp, #0]
+    1c40:	2107		mov	r1, #7
+    1c42:	7001		strb	r1, [r0, #0]
+    1c44:	9800		ldr	r0, [sp, #0]
+    1c46:	2100		mov	r1, #0
+    1c48:	7041		strb	r1, [r0, #1]
+    1c4a:	9800		ldr	r0, [sp, #0]
+    1c4c:	2103		mov	r1, #3
+    1c4e:	70c1		strb	r1, [r0, #3]
+    1c50:	9800		ldr	r0, [sp, #0]
+    1c52:	2100		mov	r1, #0
+    1c54:	7201		strb	r1, [r0, #8]
+    1c56:	4828		ldr	r0, =0xffff5000	; via 0x1cf8
+    1c58:	9000		str	r0, [sp, #0]
+    1c5a:	9800		ldr	r0, [sp, #0]
+    1c5c:	2107		mov	r1, #7
+    1c5e:	7201		strb	r1, [r0, #8]
+    1c60:	9900		ldr	r1, [sp, #0]
+    1c62:	20bf		mov	r0, #191	; 0xbf
+    1c64:	70c8		strb	r0, [r1, #3]
+    1c66:	9800		ldr	r0, [sp, #0]
+    1c68:	1c80		add	r0, r0, #2
+    1c6a:	2110		mov	r1, #16	; 0x10
+    1c6c:	8802		ldrh	r2, [r0, #0]
+    1c6e:	4311		orr	r1, r2
+    1c70:	8001		strh	r1, [r0, #0]
+    1c72:	9800		ldr	r0, [sp, #0]
+    1c74:	2180		mov	r1, #128	; 0x80
+    1c76:	70c1		strb	r1, [r0, #3]
+    1c78:	9800		ldr	r0, [sp, #0]
+    1c7a:	2107		mov	r1, #7
+    1c7c:	7081		strb	r1, [r0, #2]
+    1c7e:	9800		ldr	r0, [sp, #0]
+    1c80:	21bf		mov	r1, #191	; 0xbf
+    1c82:	70c1		strb	r1, [r0, #3]
+    1c84:	9800		ldr	r0, [sp, #0]
+    1c86:	2107		mov	r1, #7
+    1c88:	7001		strb	r1, [r0, #0]
+    1c8a:	9800		ldr	r0, [sp, #0]
+    1c8c:	2100		mov	r1, #0
+    1c8e:	7041		strb	r1, [r0, #1]
+    1c90:	9900		ldr	r1, [sp, #0]
+    1c92:	2003		mov	r0, #3
+    1c94:	70c8		strb	r0, [r1, #3]
+    1c96:	9800		ldr	r0, [sp, #0]
+    1c98:	2100		mov	r1, #0
+    1c9a:	7201		strb	r1, [r0, #8]
+    1c9c:	b001		add	sp, #4
+    1c9e:	4770		bx	lr
+    1ca0:	b081		sub	sp, #4
+    1ca2:	4669		mov	r1, sp
+    1ca4:	7008		strb	r0, [r1, #0]
+    1ca6:	490c		ldr	r1, =0x864	; via 0x1cd8
+    1ca8:	4668		mov	r0, sp
+    1caa:	7800		ldrb	r0, [r0, #0]
+    1cac:	0080		lsl	r0, r0, #2
+    1cae:	5808		ldr	r0, [r1, r0]
+    1cb0:	7941		ldrb	r1, [r0, #5]
+    1cb2:	4668		mov	r0, sp
+    1cb4:	7041		strb	r1, [r0, #1]
+    1cb6:	7840		ldrb	r0, [r0, #1]
+    1cb8:	09c0		lsr	r0, r0, #7
+    1cba:	d20b		bcs	0x1cd4
+    1cbc:	4806		ldr	r0, =0x864	; via 0x1cd8
+    1cbe:	4669		mov	r1, sp
+    1cc0:	7809		ldrb	r1, [r1, #0]
+    1cc2:	0089		lsl	r1, r1, #2
+    1cc4:	5840		ldr	r0, [r0, r1]
+    1cc6:	7940		ldrb	r0, [r0, #5]
+    1cc8:	4669		mov	r1, sp
+    1cca:	7048		strb	r0, [r1, #1]
+    1ccc:	4668		mov	r0, sp
+    1cce:	7840		ldrb	r0, [r0, #1]
+    1cd0:	09c0		lsr	r0, r0, #7
+    1cd2:	d3f3		bcc	0x1cbc
+    1cd4:	b001		add	sp, #4
+    1cd6:	4770		bx	lr
+    1cd8:	0864		lsr	r4, r4, #1
+    1cda:	0000		lsl	r0, r0, #0
+    1cdc:	5805		ldr	r5, [r0, r0]
+    1cde:	ffff		<half-bl>
+    1ce0:	5005		str	r5, [r0, r0]
+    1ce2:	ffff		<half-bl>
+    1ce4:	ff20		<half-bl>
+    1ce6:	0083		lsl	r3, r0, #2
+    1ce8:	ff1b		<half-bl>
+    1cea:	0083		lsl	r3, r0, #2
+    1cec:	ff18		<half-bl>
+    1cee:	0083		lsl	r3, r0, #2
+    1cf0:	5800		ldr	r0, [r0, r0]
+    1cf2:	ffff		<half-bl>
+    1cf4:	6000		str	r0, [r0, #0]
+    1cf6:	ffff		<half-bl>
+    1cf8:	5000		str	r0, [r0, r0]
+    1cfa:	ffff		<half-bl>
+    1cfc:	b500		push	{lr}
+    1cfe:	b087		sub	sp, #28	; 0x1c
+    1d00:	466b		mov	r3, sp
+    1d02:	721a		strb	r2, [r3, #8]
+    1d04:	9101		str	r1, [sp, #4]
+    1d06:	9000		str	r0, [sp, #0]
+    1d08:	9900		ldr	r1, [sp, #0]
+    1d0a:	2000		mov	r0, #0
+    1d0c:	8008		strh	r0, [r1, #0]
+    1d0e:	9801		ldr	r0, [sp, #4]
+    1d10:	2100		mov	r1, #0
+    1d12:	8001		strh	r1, [r0, #0]
+    1d14:	2000		mov	r0, #0
+    1d16:	9003		str	r0, [sp, #12]	; 0xc
+    1d18:	f7ff ff5e	bl	0x1bd8
+    1d1c:	a805		add	r0, sp, #20	; 0x14
+    1d1e:	a906		add	r1, sp, #24	; 0x18
+    1d20:	466a		mov	r2, sp
+    1d22:	7a12		ldrb	r2, [r2, #8]
+    1d24:	f7ff feee	bl	0x1b04
+    1d28:	9004		str	r0, [sp, #16]	; 0x10
+    1d2a:	9804		ldr	r0, [sp, #16]	; 0x10
+    1d2c:	2800		cmp	r0, #0
+    1d2e:	d11f		bne	0x1d70
+    1d30:	9803		ldr	r0, [sp, #12]	; 0xc
+    1d32:	2800		cmp	r0, #0
+    1d34:	d11c		bne	0x1d70
+    1d36:	9800		ldr	r0, [sp, #0]
+    1d38:	4669		mov	r1, sp
+    1d3a:	8b0a		ldrh	r2, [r1, #24]	; 0x18
+    1d3c:	8801		ldrh	r1, [r0, #0]
+    1d3e:	1851		add	r1, r2, r1
+    1d40:	8001		strh	r1, [r0, #0]
+    1d42:	9905		ldr	r1, [sp, #20]	; 0x14
+    1d44:	4668		mov	r0, sp
+    1d46:	8b00		ldrh	r0, [r0, #24]	; 0x18
+    1d48:	8008		strh	r0, [r1, #0]
+    1d4a:	9801		ldr	r0, [sp, #4]
+    1d4c:	9905		ldr	r1, [sp, #20]	; 0x14
+    1d4e:	8809		ldrh	r1, [r1, #0]
+    1d50:	8802		ldrh	r2, [r0, #0]
+    1d52:	1889		add	r1, r1, r2
+    1d54:	8001		strh	r1, [r0, #0]
+    1d56:	a805		add	r0, sp, #20	; 0x14
+    1d58:	a906		add	r1, sp, #24	; 0x18
+    1d5a:	466a		mov	r2, sp
+    1d5c:	7a12		ldrb	r2, [r2, #8]
+    1d5e:	f7ff fed1	bl	0x1b04
+    1d62:	9004		str	r0, [sp, #16]	; 0x10
+    1d64:	9804		ldr	r0, [sp, #16]	; 0x10
+    1d66:	2800		cmp	r0, #0
+    1d68:	d102		bne	0x1d70
+    1d6a:	9803		ldr	r0, [sp, #12]	; 0xc
+    1d6c:	2800		cmp	r0, #0
+    1d6e:	d0e2		beq	0x1d36
+    1d70:	9804		ldr	r0, [sp, #16]	; 0x10
+    1d72:	2801		cmp	r0, #1
+    1d74:	d101		bne	0x1d7a
+    1d76:	2004		mov	r0, #4
+    1d78:	9003		str	r0, [sp, #12]	; 0xc
+    1d7a:	9803		ldr	r0, [sp, #12]	; 0xc
+    1d7c:	b007		add	sp, #28	; 0x1c
+    1d7e:	bd00		pop	{pc}
+    1d80:	b089		sub	sp, #36	; 0x24
+    1d82:	201a		mov	r0, #26	; 0x1a
+    1d84:	9005		str	r0, [sp, #20]	; 0x14
+    1d86:	2018		mov	r0, #24	; 0x18
+    1d88:	9006		str	r0, [sp, #24]	; 0x18
+    1d8a:	2000		mov	r0, #0
+    1d8c:	9008		str	r0, [sp, #32]	; 0x20
+    1d8e:	4669		mov	r1, sp
+    1d90:	9805		ldr	r0, [sp, #20]	; 0x14
+    1d92:	8800		ldrh	r0, [r0, #0]
+    1d94:	8008		strh	r0, [r1, #0]
+    1d96:	9806		ldr	r0, [sp, #24]	; 0x18
+    1d98:	8800		ldrh	r0, [r0, #0]
+    1d9a:	8048		strh	r0, [r1, #2]
+    1d9c:	4668		mov	r0, sp
+    1d9e:	8841		ldrh	r1, [r0, #2]
+    1da0:	8800		ldrh	r0, [r0, #0]
+    1da2:	0400		lsl	r0, r0, #16
+    1da4:	1808		add	r0, r1, r0
+    1da6:	9001		str	r0, [sp, #4]
+    1da8:	9801		ldr	r0, [sp, #4]
+    1daa:	0200		lsl	r0, r0, #8
+    1dac:	0a00		lsr	r0, r0, #8
+    1dae:	0080		lsl	r0, r0, #2
+    1db0:	3008		add	r0, #8
+    1db2:	9007		str	r0, [sp, #28]	; 0x1c
+    1db4:	9807		ldr	r0, [sp, #28]	; 0x1c
+    1db6:	3018		add	r0, #24	; 0x18
+    1db8:	9002		str	r0, [sp, #8]
+    1dba:	9802		ldr	r0, [sp, #8]
+    1dbc:	9004		str	r0, [sp, #16]	; 0x10
+    1dbe:	9802		ldr	r0, [sp, #8]
+    1dc0:	3002		add	r0, #2
+    1dc2:	9003		str	r0, [sp, #12]	; 0xc
+    1dc4:	9803		ldr	r0, [sp, #12]	; 0xc
+    1dc6:	8801		ldrh	r1, [r0, #0]
+    1dc8:	4806		ldr	r0, =0xffff	; via 0x1de4
+    1dca:	4281		cmp	r1, r0
+    1dcc:	d104		bne	0x1dd8
+    1dce:	9804		ldr	r0, [sp, #16]	; 0x10
+    1dd0:	8800		ldrh	r0, [r0, #0]
+    1dd2:	4904		ldr	r1, =0xffff	; via 0x1de4
+    1dd4:	4288		cmp	r0, r1
+    1dd6:	d001		beq	0x1ddc
+    1dd8:	2001		mov	r0, #1
+    1dda:	9008		str	r0, [sp, #32]	; 0x20
+    1ddc:	9808		ldr	r0, [sp, #32]	; 0x20
+    1dde:	b009		add	sp, #36	; 0x24
+    1de0:	4770		bx	lr
+    1de2:	46c0		nop			(mov r8, r8)
+
+    1de4:	0000ffff
+
+    1de8:	e92d4000	stmdb	sp!, {lr}
+    1dec:	e28fe001	add	lr, pc, #1
+    1df0:	e12fff1e	bx	lr
+    1df4:	f7fe fe6d	bl	0xad2
+    1df8:	4778		bx	pc
+    1dfa:	46c0		nop			(mov r8, r8)
+    1dfc:	e8bd8000	ldmia	sp!, {pc}
+
+<1E00-1EFF: all FFs>
+
+    1f00:	00000001
+
+<1F04-end: all FFs>
Binary file compal/boot/c123-boot.bin has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compal/boot/c123-boot.disasm	Sat Jan 14 06:17:56 2023 +0000
@@ -0,0 +1,2647 @@
+RESET entry and exception vectors:
+       0:	ea000225	b	0x89c
+       4:	ea000825	b	0x20a0
+       8:	ea000825	b	0x20a4
+       c:	ea000825	b	0x20a8
+      10:	ea000825	b	0x20ac
+      14:	ea000825	b	0x20b0
+      18:	ea000825	b	0x20b4
+
+; magic words, vary by version
+      20:	44aa338a
+      24:	44aa338b
+      28:	44aa33b8
+      2c:	44aa33b9
+
+<30-7FF: all FFs>
+
+00000800:  42 4F 4F 54 2E 39 30 2E  30 34 00 00 00 00 00 00  BOOT.90.04......
+00000810:  31 30 30 33 01 01 00 00  FF FF FF FF FF FF FF FF  1003............
+00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................
+
+; everything up to 0x958 is the same as in the C139 version
+     830:	00000006
+     834:	00000000
+     838:	00000000
+     83c:	00000048
+     840:	00000044
+     844:	00000052
+     848:	0000001b
+     84c:	00000005
+     850:	00000000
+     854:	00000000
+     858:	00000000
+     85c:	00000000
+     860:	000000fa
+     864:	ffff5800
+     868:	ffff5000
+     86c:	fffffb00
+     870:	02a102a1
+     874:	028302a1
+     878:	00c00281
+     87c:	002a0040
+     880:	00000040
+     884:	fffffd00
+     888:	ffff9800
+     88c:	fffffb10
+     890:	ffffff08
+     894:	20061081
+     898:	00000800
+
+; RESET entry point
+     89c:	e51f1020	ldr	r1, =0xfffffd00	; via 0x884
+     8a0:	e1d120b2	ldrh	r2, [r1, #2]
+     8a4:	e51f002c	ldr	r0, =0x40	; via 0x880
+     8a8:	e1800002	orr	r0, r0, r2
+     8ac:	e1c100b2	strh	r0, [r1, #2]
+     8b0:	e51f1030	ldr	r1, =0xffff9800	; via 0x888
+     8b4:	e15f22b6	ldrh	r2, =0x2006	; via 0x896
+     8b8:	e1c120b0	strh	r2, [r1]
+     8bc:	e5912000	ldr	r2, [r1]
+     8c0:	e2022001	and	r2, r2, #1
+     8c4:	e3520001	cmp	r2, #1
+     8c8:	0afffffb	beq	0x8bc
+     8cc:	e51f1050	ldr	r1, =0xfffffd00	; via 0x884
+     8d0:	e15f24b4	ldrh	r2, =0x1081	; via 0x894
+     8d4:	e1c120b0	strh	r2, [r1]
+     8d8:	e51f1054	ldr	r1, =0xfffffb10	; via 0x88c
+     8dc:	e15f24bc	ldrh	r2, =0x800	; via 0x898
+     8e0:	e1d100b0	ldrh	r0, [r1]
+     8e4:	e1800002	orr	r0, r0, r2
+     8e8:	e1c100b0	strh	r0, [r1]
+     8ec:	e51f1064	ldr	r1, =0xffffff08	; via 0x890
+     8f0:	e15f25be	ldrh	r2, =0x0	; via 0x89a
+     8f4:	e1c120b0	strh	r2, [r1]
+     8f8:	e51f1094	ldr	r1, =0xfffffb00	; via 0x86c
+     8fc:	e15f29b4	ldrh	r2, =0x2a1	; via 0x870
+     900:	e1c120b0	strh	r2, [r1]
+     904:	e15f29ba	ldrh	r2, =0x2a1	; via 0x872
+     908:	e1c120b2	strh	r2, [r1, #2]
+     90c:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x874
+     910:	e1c120b4	strh	r2, [r1, #4]
+     914:	e15f2ab6	ldrh	r2, =0x283	; via 0x876
+     918:	e1c120b6	strh	r2, [r1, #6]
+     91c:	e15f2abc	ldrh	r2, =0x281	; via 0x878
+     920:	e1c120ba	strh	r2, [r1, #10]	; 0xa
+     924:	e15f2bb2	ldrh	r2, =0xc0	; via 0x87a
+     928:	e1c120bc	strh	r2, [r1, #12]	; 0xc
+     92c:	e15f2bb8	ldrh	r2, =0x40	; via 0x87c
+     930:	e1c120b8	strh	r2, [r1, #8]
+     934:	e15f2bbe	ldrh	r2, =0x2a	; via 0x87e
+     938:	e1c120be	strh	r2, [r1, #14]	; 0xe
+     93c:	e59f0020	ldr	r0, =0x83e424	; via 0x964
+     940:	e3a01b01	mov	r1, #1024	; 0x400
+     944:	e2411004	sub	r1, r1, #4
+     948:	e0802001	add	r2, r0, r1
+     94c:	e3c22003	bic	r2, r2, #3
+     950:	e1a0d002	mov	sp, r2
+; business logic
+     954:	e92d100f	stmdb	sp!, {r0, r1, r2, r3, r12}
+     958:	eb00051e	bl	0x1dd8
+     95c:	e8bd100f	ldmia	sp!, {r0, r1, r2, r3, r12}
+     960:	ea0005e4	b	0x20f8
+
+; stack address, varies by version
+     964:	0083e424
+
+; 0x968 routine same as in the C139 version
+     968:	4961		ldr	r1, =0xfffffa08	; via 0xaf0
+     96a:	4862		ldr	r0, =0xffff	; via 0xaf4
+     96c:	8008		strh	r0, [r1, #0]
+     96e:	4862		ldr	r0, =0xfffffa0a	; via 0xaf8
+     970:	211f		mov	r1, #31	; 0x1f
+     972:	8001		strh	r1, [r0, #0]
+     974:	4861		ldr	r0, =0xfffff804	; via 0xafc
+     976:	21f5		mov	r1, #245	; 0xf5
+     978:	8001		strh	r1, [r0, #0]
+     97a:	21a0		mov	r1, #160	; 0xa0
+     97c:	8001		strh	r1, [r0, #0]
+     97e:	4860		ldr	r0, =0xffff9800	; via 0xb00
+     980:	4960		ldr	r1, =0x2002	; via 0xb04
+     982:	8001		strh	r1, [r0, #0]
+     984:	485e		ldr	r0, =0xffff9800	; via 0xb00
+     986:	8800		ldrh	r0, [r0, #0]
+     988:	0840		lsr	r0, r0, #1
+     98a:	d2fb		bcs	0x984
+     98c:	495e		ldr	r1, =0xfffffd00	; via 0xb08
+     98e:	485f		ldr	r0, =0x1001	; via 0xb0c
+     990:	8008		strh	r0, [r1, #0]
+     992:	46f7		mov	pc, lr
+
+     994:	b500		push	{lr}
+     996:	b0ff		sub	sp, #508	; 0x1fc
+     998:	b0ca		sub	sp, #296	; 0x128
+     99a:	2000		mov	r0, #0
+     99c:	9001		str	r0, [sp, #4]
+     99e:	9801		ldr	r0, [sp, #4]
+     9a0:	2800		cmp	r0, #0
+     9a2:	d14e		bne	0xa42
+     9a4:	a846		add	r0, sp, #280	; 0x118
+     9a6:	2100		mov	r1, #0
+     9a8:	f001 f842	bl	0x1a30
+     9ac:	a9c8		add	r1, sp, #800	; 0x320
+     9ae:	7008		strb	r0, [r1, #0]
+     9b0:	a846		add	r0, sp, #280	; 0x118
+     9b2:	a902		add	r1, sp, #8
+     9b4:	f000 fb00	bl	0xfb8
+     9b8:	9000		str	r0, [sp, #0]
+     9ba:	9800		ldr	r0, [sp, #0]
+     9bc:	2800		cmp	r0, #0
+     9be:	d01b		beq	0x9f8
+     9c0:	a924		add	r1, sp, #144	; 0x90
+     9c2:	4668		mov	r0, sp
+     9c4:	7a00		ldrb	r0, [r0, #8]
+     9c6:	7008		strb	r0, [r1, #0]
+     9c8:	2191		mov	r1, #145	; 0x91
+     9ca:	466a		mov	r2, sp
+     9cc:	4668		mov	r0, sp
+     9ce:	7800		ldrb	r0, [r0, #0]
+     9d0:	5488		strb	r0, [r1, r2]
+     9d2:	e01b		b	0xa0c
+     9d4:	a802		add	r0, sp, #8
+     9d6:	a924		add	r1, sp, #144	; 0x90
+     9d8:	f000 fddc	bl	0x1594
+     9dc:	e016		b	0xa0c
+     9de:	a802		add	r0, sp, #8
+     9e0:	a924		add	r1, sp, #144	; 0x90
+     9e2:	aac8		add	r2, sp, #800	; 0x320
+     9e4:	7812		ldrb	r2, [r2, #0]
+     9e6:	f000 fde9	bl	0x15bc
+     9ea:	e00f		b	0xa0c
+     9ec:	a802		add	r0, sp, #8
+     9ee:	a924		add	r1, sp, #144	; 0x90
+     9f0:	f000 fe1b	bl	0x162a
+     9f4:	90c7		str	r0, [sp, #796]	; 0x31c
+     9f6:	e009		b	0xa0c
+     9f8:	4668		mov	r0, sp
+     9fa:	7a00		ldrb	r0, [r0, #8]
+     9fc:	2800		cmp	r0, #0
+     9fe:	d0e9		beq	0x9d4
+     a00:	3809		sub	r0, #9
+     a02:	2800		cmp	r0, #0
+     a04:	d0eb		beq	0x9de
+     a06:	3801		sub	r0, #1
+     a08:	2800		cmp	r0, #0
+     a0a:	d0ef		beq	0x9ec
+     a0c:	a824		add	r0, sp, #144	; 0x90
+     a0e:	a986		add	r1, sp, #536	; 0x218
+     a10:	f000 fbb5	bl	0x117e
+     a14:	2800		cmp	r0, #0
+     a16:	d111		bne	0xa3c
+     a18:	a886		add	r0, sp, #536	; 0x218
+     a1a:	a9c8		add	r1, sp, #800	; 0x320
+     a1c:	7809		ldrb	r1, [r1, #0]
+     a1e:	f000 ffdc	bl	0x19da
+     a22:	2800		cmp	r0, #0
+     a24:	d00a		beq	0xa3c
+     a26:	4668		mov	r0, sp
+     a28:	7a00		ldrb	r0, [r0, #8]
+     a2a:	280a		cmp	r0, #10	; 0xa
+     a2c:	d106		bne	0xa3c
+     a2e:	a8c8		add	r0, sp, #800	; 0x320
+     a30:	7800		ldrb	r0, [r0, #0]
+     a32:	f001 f92d	bl	0x1c90
+     a36:	98c7		ldr	r0, [sp, #796]	; 0x31c
+     a38:	f000 fabc	bl	0xfb4
+     a3c:	9801		ldr	r0, [sp, #4]
+     a3e:	2800		cmp	r0, #0
+     a40:	d0b0		beq	0x9a4
+     a42:	b07f		add	sp, #508	; 0x1fc
+     a44:	b04a		add	sp, #296	; 0x128
+     a46:	bd00		pop	{pc}
+
+     a48:	b500		push	{lr}
+     a4a:	b0ff		sub	sp, #508	; 0x1fc
+     a4c:	b0c8		sub	sp, #288	; 0x120
+     a4e:	2000		mov	r0, #0
+     a50:	9000		str	r0, [sp, #0]
+     a52:	a846		add	r0, sp, #280	; 0x118
+     a54:	2101		mov	r1, #1
+     a56:	f000 ffeb	bl	0x1a30
+     a5a:	a9c6		add	r1, sp, #792	; 0x318
+     a5c:	7008		strb	r0, [r1, #0]
+     a5e:	a8c6		add	r0, sp, #792	; 0x318
+     a60:	7800		ldrb	r0, [r0, #0]
+     a62:	28ff		cmp	r0, #255	; 0xff
+     a64:	d031		beq	0xaca
+     a66:	a846		add	r0, sp, #280	; 0x118
+     a68:	a902		add	r1, sp, #8
+     a6a:	f000 faa5	bl	0xfb8
+     a6e:	9001		str	r0, [sp, #4]
+     a70:	9801		ldr	r0, [sp, #4]
+     a72:	2800		cmp	r0, #0
+     a74:	d014		beq	0xaa0
+     a76:	a924		add	r1, sp, #144	; 0x90
+     a78:	4668		mov	r0, sp
+     a7a:	7a00		ldrb	r0, [r0, #8]
+     a7c:	7008		strb	r0, [r1, #0]
+     a7e:	2291		mov	r2, #145	; 0x91
+     a80:	4668		mov	r0, sp
+     a82:	4669		mov	r1, sp
+     a84:	7909		ldrb	r1, [r1, #4]
+     a86:	5411		strb	r1, [r2, r0]
+     a88:	a824		add	r0, sp, #144	; 0x90
+     a8a:	a986		add	r1, sp, #536	; 0x218
+     a8c:	f000 fb77	bl	0x117e
+     a90:	2800		cmp	r0, #0
+     a92:	d11a		bne	0xaca
+     a94:	a886		add	r0, sp, #536	; 0x218
+     a96:	a9c6		add	r1, sp, #792	; 0x318
+     a98:	7809		ldrb	r1, [r1, #0]
+     a9a:	f000 ff9e	bl	0x19da
+     a9e:	e014		b	0xaca
+     aa0:	4668		mov	r0, sp
+     aa2:	7a00		ldrb	r0, [r0, #8]
+     aa4:	2800		cmp	r0, #0
+     aa6:	d110		bne	0xaca
+     aa8:	a802		add	r0, sp, #8
+     aaa:	a924		add	r1, sp, #144	; 0x90
+     aac:	f000 fd72	bl	0x1594
+     ab0:	a824		add	r0, sp, #144	; 0x90
+     ab2:	a986		add	r1, sp, #536	; 0x218
+     ab4:	f000 fb63	bl	0x117e
+     ab8:	2800		cmp	r0, #0
+     aba:	d104		bne	0xac6
+     abc:	a886		add	r0, sp, #536	; 0x218
+     abe:	a9c6		add	r1, sp, #792	; 0x318
+     ac0:	7809		ldrb	r1, [r1, #0]
+     ac2:	f000 ff8a	bl	0x19da
+     ac6:	2001		mov	r0, #1
+     ac8:	9000		str	r0, [sp, #0]
+     aca:	9800		ldr	r0, [sp, #0]
+     acc:	b07f		add	sp, #508	; 0x1fc
+     ace:	b048		add	sp, #288	; 0x120
+     ad0:	bd00		pop	{pc}
+
+; Main entry routine at the same location as in the C139 version
+     ad2:	b500		push	{lr}
+     ad4:	b082		sub	sp, #8
+     ad6:	f7ff ff47	bl	0x968
+     ada:	f001 f881	bl	0x1be0
+     ade:	f000 fd47	bl	0x1570
+     ae2:	f000 f81f	bl	0xb24
+     ae6:	f000 f940	bl	0xd6a
+     aea:	b002		add	sp, #8
+     aec:	bd00		pop	{pc}
+     aee:	46c0		nop			(mov r8, r8)
+
+     af0:	fffffa08
+     af4:	0000ffff
+     af8:	fffffa0a
+     afc:	fffff804
+     b00:	ffff9800
+     b04:	00002002
+     b08:	fffffd00
+     b0c:	00001001
+
+     b10:	e3a0d502	mov	sp, #8388608	; 0x800000
+     b14:	e28dd802	add	sp, sp, #131072	; 0x20000
+     b18:	e28fe005	add	lr, pc, #5
+     b1c:	e12fff1e	bx	lr
+     b20:	e1a00000	mov	r0, r0
+
+; 0xb24 function appears to be the same as in the C139 version,
+; but calls 0xed4 instead of 0xf2c.
+     b24:	b500		push	{lr}
+     b26:	b082		sub	sp, #8
+     b28:	49e8		ldr	r1, =0x83ff00	; via 0xecc
+     b2a:	48e9		ldr	r0, =0xffff5800	; via 0xed0
+     b2c:	6008		str	r0, [r1, #0]
+     b2e:	2000		mov	r0, #0
+     b30:	2102		mov	r1, #2
+     b32:	f000 f9cf	bl	0xed4
+     b36:	2000		mov	r0, #0
+     b38:	9000		str	r0, [sp, #0]
+     b3a:	9900		ldr	r1, [sp, #0]
+     b3c:	2005		mov	r0, #5
+     b3e:	0300		lsl	r0, r0, #12
+     b40:	4281		cmp	r1, r0
+     b42:	d207		bcs	0xb54
+     b44:	9800		ldr	r0, [sp, #0]
+     b46:	3001		add	r0, #1
+     b48:	9000		str	r0, [sp, #0]
+     b4a:	9900		ldr	r1, [sp, #0]
+     b4c:	2005		mov	r0, #5
+     b4e:	0300		lsl	r0, r0, #12
+     b50:	4281		cmp	r1, r0
+     b52:	d3f7		bcc	0xb44
+     b54:	f000 f82a	bl	0xbac
+     b58:	2000		mov	r0, #0
+     b5a:	2107		mov	r1, #7
+     b5c:	f000 f9ba	bl	0xed4
+     b60:	2000		mov	r0, #0
+     b62:	9000		str	r0, [sp, #0]
+     b64:	9900		ldr	r1, [sp, #0]
+     b66:	2005		mov	r0, #5
+     b68:	0300		lsl	r0, r0, #12
+     b6a:	4281		cmp	r1, r0
+     b6c:	d207		bcs	0xb7e
+     b6e:	9800		ldr	r0, [sp, #0]
+     b70:	3001		add	r0, #1
+     b72:	9000		str	r0, [sp, #0]
+     b74:	9900		ldr	r1, [sp, #0]
+     b76:	2005		mov	r0, #5
+     b78:	0300		lsl	r0, r0, #12
+     b7a:	4281		cmp	r1, r0
+     b7c:	d3f7		bcc	0xb6e
+     b7e:	f000 f815	bl	0xbac
+     b82:	2000		mov	r0, #0
+     b84:	9001		str	r0, [sp, #4]
+     b86:	9000		str	r0, [sp, #0]
+     b88:	9900		ldr	r1, [sp, #0]
+     b8a:	2005		mov	r0, #5
+     b8c:	0400		lsl	r0, r0, #16
+     b8e:	4281		cmp	r1, r0
+     b90:	d20a		bcs	0xba8
+     b92:	9801		ldr	r0, [sp, #4]
+     b94:	3001		add	r0, #1
+     b96:	9001		str	r0, [sp, #4]
+     b98:	9800		ldr	r0, [sp, #0]
+     b9a:	3001		add	r0, #1
+     b9c:	9000		str	r0, [sp, #0]
+     b9e:	9900		ldr	r1, [sp, #0]
+     ba0:	2005		mov	r0, #5
+     ba2:	0400		lsl	r0, r0, #16
+     ba4:	4281		cmp	r1, r0
+     ba6:	d3f4		bcc	0xb92
+     ba8:	b002		add	sp, #8
+     baa:	bd00		pop	{pc}
+
+; serial download protocol
+     bac:	b500		push	{lr}
+     bae:	b086		sub	sp, #24	; 0x18
+     bb0:	48f3		ldr	r0, =0x800100	; via 0xf80
+     bb2:	9005		str	r0, [sp, #20]	; 0x14
+     bb4:	201b		mov	r0, #27	; 0x1b
+     bb6:	f000 f935	bl	0xe24
+     bba:	20f6		mov	r0, #246	; 0xf6
+     bbc:	f000 f932	bl	0xe24
+     bc0:	2002		mov	r0, #2
+     bc2:	f000 f92f	bl	0xe24
+     bc6:	2000		mov	r0, #0
+     bc8:	f000 f92c	bl	0xe24
+     bcc:	2041		mov	r0, #65	; 0x41
+     bce:	f000 f929	bl	0xe24
+     bd2:	2001		mov	r0, #1
+     bd4:	f000 f926	bl	0xe24
+     bd8:	2040		mov	r0, #64	; 0x40
+     bda:	f000 f923	bl	0xe24
+     bde:	2001		mov	r0, #1
+     be0:	0300		lsl	r0, r0, #12
+     be2:	f000 f937	bl	0xe54
+     be6:	281b		cmp	r0, #27	; 0x1b
+     be8:	d000		beq	0xbec
+     bea:	e0bc		b	0xd66
+     bec:	2001		mov	r0, #1
+     bee:	0300		lsl	r0, r0, #12
+     bf0:	f000 f930	bl	0xe54
+     bf4:	28f6		cmp	r0, #246	; 0xf6
+     bf6:	d000		beq	0xbfa
+     bf8:	e0b5		b	0xd66
+     bfa:	2001		mov	r0, #1
+     bfc:	0300		lsl	r0, r0, #12
+     bfe:	f000 f929	bl	0xe54
+     c02:	2802		cmp	r0, #2
+     c04:	d000		beq	0xc08
+     c06:	e0ae		b	0xd66
+     c08:	2001		mov	r0, #1
+     c0a:	0300		lsl	r0, r0, #12
+     c0c:	f000 f922	bl	0xe54
+     c10:	2800		cmp	r0, #0
+     c12:	d000		beq	0xc16
+     c14:	e0a7		b	0xd66
+     c16:	2001		mov	r0, #1
+     c18:	0300		lsl	r0, r0, #12
+     c1a:	f000 f91b	bl	0xe54
+     c1e:	2852		cmp	r0, #82	; 0x52
+     c20:	d000		beq	0xc24
+     c22:	e0a0		b	0xd66
+     c24:	2001		mov	r0, #1
+     c26:	0300		lsl	r0, r0, #12
+     c28:	f000 f914	bl	0xe54
+     c2c:	2801		cmp	r0, #1
+     c2e:	d000		beq	0xc32
+     c30:	e099		b	0xd66
+     c32:	2001		mov	r0, #1
+     c34:	0300		lsl	r0, r0, #12
+     c36:	f000 f90d	bl	0xe54
+     c3a:	2853		cmp	r0, #83	; 0x53
+     c3c:	d000		beq	0xc40
+     c3e:	e092		b	0xd66
+     c40:	201b		mov	r0, #27	; 0x1b
+     c42:	f000 f8ef	bl	0xe24
+     c46:	20f6		mov	r0, #246	; 0xf6
+     c48:	f000 f8ec	bl	0xe24
+     c4c:	2002		mov	r0, #2
+     c4e:	f000 f8e9	bl	0xe24
+     c52:	2000		mov	r0, #0
+     c54:	f000 f8e6	bl	0xe24
+     c58:	2041		mov	r0, #65	; 0x41
+     c5a:	f000 f8e3	bl	0xe24
+     c5e:	2002		mov	r0, #2
+     c60:	f000 f8e0	bl	0xe24
+     c64:	2043		mov	r0, #67	; 0x43
+     c66:	f000 f8dd	bl	0xe24
+     c6a:	2001		mov	r0, #1
+     c6c:	0300		lsl	r0, r0, #12
+     c6e:	f000 f8f1	bl	0xe54
+     c72:	4669		mov	r1, sp
+     c74:	7208		strb	r0, [r1, #8]
+     c76:	4668		mov	r0, sp
+     c78:	2102		mov	r1, #2
+     c7a:	7441		strb	r1, [r0, #17]	; 0x11
+     c7c:	2000		mov	r0, #0
+     c7e:	9000		str	r0, [sp, #0]
+     c80:	9800		ldr	r0, [sp, #0]
+     c82:	2802		cmp	r0, #2
+     c84:	d216		bcs	0xcb4
+     c86:	2001		mov	r0, #1
+     c88:	0300		lsl	r0, r0, #12
+     c8a:	f000 f8e3	bl	0xe54
+     c8e:	466a		mov	r2, sp
+     c90:	9900		ldr	r1, [sp, #0]
+     c92:	1a51		sub	r1, r2, r1
+     c94:	7348		strb	r0, [r1, #13]	; 0xd
+     c96:	4668		mov	r0, sp
+     c98:	9900		ldr	r1, [sp, #0]
+     c9a:	1a40		sub	r0, r0, r1
+     c9c:	7b40		ldrb	r0, [r0, #13]	; 0xd
+     c9e:	4669		mov	r1, sp
+     ca0:	7c49		ldrb	r1, [r1, #17]	; 0x11
+     ca2:	4048		eor	r0, r1
+     ca4:	4669		mov	r1, sp
+     ca6:	7448		strb	r0, [r1, #17]	; 0x11
+     ca8:	9800		ldr	r0, [sp, #0]
+     caa:	3001		add	r0, #1
+     cac:	9000		str	r0, [sp, #0]
+     cae:	9800		ldr	r0, [sp, #0]
+     cb0:	2802		cmp	r0, #2
+     cb2:	d3e8		bcc	0xc86
+     cb4:	4668		mov	r0, sp
+     cb6:	8980		ldrh	r0, [r0, #12]	; 0xc
+     cb8:	466a		mov	r2, sp
+     cba:	1e41		sub	r1, r0, #1
+     cbc:	8191		strh	r1, [r2, #12]	; 0xc
+     cbe:	2800		cmp	r0, #0
+     cc0:	d016		beq	0xcf0
+     cc2:	2001		mov	r0, #1
+     cc4:	0300		lsl	r0, r0, #12
+     cc6:	f000 f8c5	bl	0xe54
+     cca:	9905		ldr	r1, [sp, #20]	; 0x14
+     ccc:	7008		strb	r0, [r1, #0]
+     cce:	9805		ldr	r0, [sp, #20]	; 0x14
+     cd0:	7801		ldrb	r1, [r0, #0]
+     cd2:	4668		mov	r0, sp
+     cd4:	7c40		ldrb	r0, [r0, #17]	; 0x11
+     cd6:	4041		eor	r1, r0
+     cd8:	4668		mov	r0, sp
+     cda:	7441		strb	r1, [r0, #17]	; 0x11
+     cdc:	9805		ldr	r0, [sp, #20]	; 0x14
+     cde:	3001		add	r0, #1
+     ce0:	9005		str	r0, [sp, #20]	; 0x14
+     ce2:	4668		mov	r0, sp
+     ce4:	8982		ldrh	r2, [r0, #12]	; 0xc
+     ce6:	4669		mov	r1, sp
+     ce8:	1e50		sub	r0, r2, #1
+     cea:	8188		strh	r0, [r1, #12]	; 0xc
+     cec:	2a00		cmp	r2, #0
+     cee:	d1e8		bne	0xcc2
+     cf0:	2001		mov	r0, #1
+     cf2:	0300		lsl	r0, r0, #12
+     cf4:	f000 f8ae	bl	0xe54
+     cf8:	4669		mov	r1, sp
+     cfa:	7408		strb	r0, [r1, #16]	; 0x10
+     cfc:	4668		mov	r0, sp
+     cfe:	7c01		ldrb	r1, [r0, #16]	; 0x10
+     d00:	7c40		ldrb	r0, [r0, #17]	; 0x11
+     d02:	4281		cmp	r1, r0
+     d04:	d015		beq	0xd32
+     d06:	201b		mov	r0, #27	; 0x1b
+     d08:	f000 f88c	bl	0xe24
+     d0c:	20f6		mov	r0, #246	; 0xf6
+     d0e:	f000 f889	bl	0xe24
+     d12:	2002		mov	r0, #2
+     d14:	f000 f886	bl	0xe24
+     d18:	2000		mov	r0, #0
+     d1a:	f000 f883	bl	0xe24
+     d1e:	2045		mov	r0, #69	; 0x45
+     d20:	f000 f880	bl	0xe24
+     d24:	2053		mov	r0, #83	; 0x53
+     d26:	f000 f87d	bl	0xe24
+     d2a:	2016		mov	r0, #22	; 0x16
+     d2c:	f000 f87a	bl	0xe24
+     d30:	e019		b	0xd66
+     d32:	201b		mov	r0, #27	; 0x1b
+     d34:	f000 f876	bl	0xe24
+     d38:	20f6		mov	r0, #246	; 0xf6
+     d3a:	f000 f873	bl	0xe24
+     d3e:	2002		mov	r0, #2
+     d40:	f000 f870	bl	0xe24
+     d44:	2000		mov	r0, #0
+     d46:	f000 f86d	bl	0xe24
+     d4a:	2041		mov	r0, #65	; 0x41
+     d4c:	f000 f86a	bl	0xe24
+     d50:	2003		mov	r0, #3
+     d52:	f000 f867	bl	0xe24
+     d56:	2042		mov	r0, #66	; 0x42
+     d58:	f000 f864	bl	0xe24
+     d5c:	485b		ldr	r0, =0x83ff00	; via 0xecc
+     d5e:	6800		ldr	r0, [r0, #0]
+     d60:	498f		ldr	r1, =0x800100	; via 0xfa0
+     d62:	f000 f85e	bl	0xe22
+     d66:	b006		add	sp, #24	; 0x18
+     d68:	bd00		pop	{pc}
+
+     d6a:	b500		push	{lr}
+     d6c:	b081		sub	sp, #4
+     d6e:	2066		mov	r0, #102	; 0x66
+     d70:	f000 f858	bl	0xe24
+     d74:	2074		mov	r0, #116	; 0x74
+     d76:	f000 f855	bl	0xe24
+     d7a:	206d		mov	r0, #109	; 0x6d
+     d7c:	f000 f852	bl	0xe24
+     d80:	2074		mov	r0, #116	; 0x74
+     d82:	f000 f84f	bl	0xe24
+     d86:	206f		mov	r0, #111	; 0x6f
+     d88:	f000 f84c	bl	0xe24
+     d8c:	206f		mov	r0, #111	; 0x6f
+     d8e:	f000 f849	bl	0xe24
+     d92:	206c		mov	r0, #108	; 0x6c
+     d94:	f000 f846	bl	0xe24
+     d98:	4982		ldr	r1, =0x83ff80	; via 0xfa4
+     d9a:	2000		mov	r0, #0
+     d9c:	7008		strb	r0, [r1, #0]
+     d9e:	9000		str	r0, [sp, #0]
+     da0:	9800		ldr	r0, [sp, #0]
+     da2:	0c00		lsr	r0, r0, #16
+     da4:	d105		bne	0xdb2
+     da6:	9800		ldr	r0, [sp, #0]
+     da8:	3001		add	r0, #1
+     daa:	9000		str	r0, [sp, #0]
+     dac:	9800		ldr	r0, [sp, #0]
+     dae:	0c00		lsr	r0, r0, #16
+     db0:	d0f9		beq	0xda6
+     db2:	2007		mov	r0, #7
+     db4:	0400		lsl	r0, r0, #16
+     db6:	f000 f84d	bl	0xe54
+     dba:	2879		cmp	r0, #121	; 0x79
+     dbc:	d10e		bne	0xddc
+     dbe:	2001		mov	r0, #1
+     dc0:	0300		lsl	r0, r0, #12
+     dc2:	f000 f847	bl	0xe54
+     dc6:	2865		cmp	r0, #101	; 0x65
+     dc8:	d108		bne	0xddc
+     dca:	2001		mov	r0, #1
+     dcc:	0300		lsl	r0, r0, #12
+     dce:	f000 f841	bl	0xe54
+     dd2:	2873		cmp	r0, #115	; 0x73
+     dd4:	d102		bne	0xddc
+     dd6:	4873		ldr	r0, =0x83ff80	; via 0xfa4
+     dd8:	2101		mov	r1, #1
+     dda:	7001		strb	r1, [r0, #0]
+     ddc:	f000 f8cc	bl	0xf78
+     de0:	2800		cmp	r0, #0
+     de2:	d00d		beq	0xe00
+     de4:	206d		mov	r0, #109	; 0x6d
+     de6:	f000 f81d	bl	0xe24
+     dea:	206f		mov	r0, #111	; 0x6f
+     dec:	f000 f81a	bl	0xe24
+     df0:	2064		mov	r0, #100	; 0x64
+     df2:	f000 f817	bl	0xe24
+     df6:	2065		mov	r0, #101	; 0x65
+     df8:	f000 f814	bl	0xe24
+     dfc:	206d		mov	r0, #109	; 0x6d
+     dfe:	e00c		b	0xe1a
+     e00:	2065		mov	r0, #101	; 0x65
+     e02:	f000 f80f	bl	0xe24
+     e06:	2072		mov	r0, #114	; 0x72
+     e08:	f000 f80c	bl	0xe24
+     e0c:	2072		mov	r0, #114	; 0x72
+     e0e:	f000 f809	bl	0xe24
+     e12:	206f		mov	r0, #111	; 0x6f
+     e14:	f000 f806	bl	0xe24
+     e18:	2072		mov	r0, #114	; 0x72
+     e1a:	f000 f803	bl	0xe24
+     e1e:	b001		add	sp, #4
+     e20:	bd00		pop	{pc}
+
+; corresponds to 0xe76 in the C139 version
+     e22:	4708		bx	r1
+
+; UART character output routine, corresponds to 0xe78 in the C139 version
+     e24:	b081		sub	sp, #4
+     e26:	4669		mov	r1, sp
+     e28:	7008		strb	r0, [r1, #0]
+     e2a:	4828		ldr	r0, =0x83ff00	; via 0xecc
+     e2c:	6800		ldr	r0, [r0, #0]
+     e2e:	7940		ldrb	r0, [r0, #5]
+     e30:	0980		lsr	r0, r0, #6
+     e32:	d3fa		bcc	0xe2a
+     e34:	4825		ldr	r0, =0x83ff00	; via 0xecc
+     e36:	6800		ldr	r0, [r0, #0]
+     e38:	4669		mov	r1, sp
+     e3a:	7809		ldrb	r1, [r1, #0]
+     e3c:	7001		strb	r1, [r0, #0]
+     e3e:	b001		add	sp, #4
+     e40:	46f7		mov	pc, lr
+
+     e42:	4822		ldr	r0, =0x83ff00	; via 0xecc
+     e44:	6800		ldr	r0, [r0, #0]
+     e46:	7940		ldrb	r0, [r0, #5]
+     e48:	0840		lsr	r0, r0, #1
+     e4a:	d3fa		bcc	0xe42
+     e4c:	481f		ldr	r0, =0x83ff00	; via 0xecc
+     e4e:	6800		ldr	r0, [r0, #0]
+     e50:	7800		ldrb	r0, [r0, #0]
+     e52:	4770		bx	lr
+
+; should correspond to 0xea8 in the C139 version
+     e54:	b083		sub	sp, #12	; 0xc
+     e56:	9000		str	r0, [sp, #0]
+     e58:	9800		ldr	r0, [sp, #0]
+     e5a:	9002		str	r0, [sp, #8]
+     e5c:	481b		ldr	r0, =0x83ff00	; via 0xecc
+     e5e:	6800		ldr	r0, [r0, #0]
+     e60:	7940		ldrb	r0, [r0, #5]
+     e62:	0840		lsr	r0, r0, #1
+     e64:	d20c		bcs	0xe80
+     e66:	9802		ldr	r0, [sp, #8]
+     e68:	3801		sub	r0, #1
+     e6a:	9002		str	r0, [sp, #8]
+     e6c:	9802		ldr	r0, [sp, #8]
+     e6e:	2800		cmp	r0, #0
+     e70:	d101		bne	0xe76
+     e72:	20ff		mov	r0, #255	; 0xff
+     e74:	e007		b	0xe86
+     e76:	4815		ldr	r0, =0x83ff00	; via 0xecc
+     e78:	6800		ldr	r0, [r0, #0]
+     e7a:	7940		ldrb	r0, [r0, #5]
+     e7c:	0840		lsr	r0, r0, #1
+     e7e:	d3f2		bcc	0xe66
+     e80:	4812		ldr	r0, =0x83ff00	; via 0xecc
+     e82:	6800		ldr	r0, [r0, #0]
+     e84:	7800		ldrb	r0, [r0, #0]
+     e86:	b003		add	sp, #12	; 0xc
+     e88:	4770		bx	lr
+
+     e8a:	b081		sub	sp, #4
+     e8c:	e001		b	0xe92
+     e8e:	9800		ldr	r0, [sp, #0]
+     e90:	3801		sub	r0, #1
+     e92:	9000		str	r0, [sp, #0]
+     e94:	480d		ldr	r0, =0x83ff00	; via 0xecc
+     e96:	6800		ldr	r0, [r0, #0]
+     e98:	7940		ldrb	r0, [r0, #5]
+     e9a:	0840		lsr	r0, r0, #1
+     e9c:	d202		bcs	0xea4
+     e9e:	9800		ldr	r0, [sp, #0]
+     ea0:	2800		cmp	r0, #0
+     ea2:	dcf4		bgt	0xe8e
+     ea4:	9800		ldr	r0, [sp, #0]
+     ea6:	2800		cmp	r0, #0
+     ea8:	dd01		ble	0xeae
+     eaa:	2000		mov	r0, #0
+     eac:	e000		b	0xeb0
+     eae:	2001		mov	r0, #1
+     eb0:	b001		add	sp, #4
+     eb2:	4770		bx	lr
+     eb4:	b082		sub	sp, #8
+     eb6:	9000		str	r0, [sp, #0]
+     eb8:	4669		mov	r1, sp
+     eba:	2000		mov	r0, #0
+     ebc:	7188		strb	r0, [r1, #6]
+     ebe:	9900		ldr	r1, [sp, #0]
+     ec0:	4839		ldr	r0, =0xfffef000	; via 0xfa8
+     ec2:	8800		ldrh	r0, [r0, #0]
+     ec4:	8008		strh	r0, [r1, #0]
+     ec6:	b002		add	sp, #8
+     ec8:	4770		bx	lr
+     eca:	46c0		nop			(mov r8, r8)
+
+     ecc:	0083ff00
+     ed0:	ffff5800
+
+; should be the same as 0xf2c in the C139 version
+     ed4:	b081		sub	sp, #4
+     ed6:	466a		mov	r2, sp
+     ed8:	7051		strb	r1, [r2, #1]
+     eda:	4669		mov	r1, sp
+     edc:	7008		strb	r0, [r1, #0]
+     ede:	4933		ldr	r1, =0xffff6000	; via 0xfac
+     ee0:	2002		mov	r0, #2
+     ee2:	880a		ldrh	r2, [r1, #0]
+     ee4:	4310		orr	r0, r2
+     ee6:	8008		strh	r0, [r1, #0]
+     ee8:	4830		ldr	r0, =0xffff6000	; via 0xfac
+     eea:	8801		ldrh	r1, [r0, #0]
+     eec:	0849		lsr	r1, r1, #1
+     eee:	0049		lsl	r1, r1, #1
+     ef0:	8001		strh	r1, [r0, #0]
+     ef2:	492e		ldr	r1, =0xffff6000	; via 0xfac
+     ef4:	8808		ldrh	r0, [r1, #0]
+     ef6:	2202		mov	r2, #2
+     ef8:	4390		bic	r0, r2
+     efa:	8008		strh	r0, [r1, #0]
+     efc:	482c		ldr	r0, =0x83ff00	; via 0xfb0
+     efe:	6801		ldr	r1, [r0, #0]
+     f00:	2007		mov	r0, #7
+     f02:	7208		strb	r0, [r1, #8]
+     f04:	482a		ldr	r0, =0x83ff00	; via 0xfb0
+     f06:	6801		ldr	r1, [r0, #0]
+     f08:	20bf		mov	r0, #191	; 0xbf
+     f0a:	70c8		strb	r0, [r1, #3]
+     f0c:	4828		ldr	r0, =0x83ff00	; via 0xfb0
+     f0e:	6800		ldr	r0, [r0, #0]
+     f10:	1c80		add	r0, r0, #2
+     f12:	2110		mov	r1, #16	; 0x10
+     f14:	8802		ldrh	r2, [r0, #0]
+     f16:	4311		orr	r1, r2
+     f18:	8001		strh	r1, [r0, #0]
+     f1a:	4825		ldr	r0, =0x83ff00	; via 0xfb0
+     f1c:	6801		ldr	r1, [r0, #0]
+     f1e:	2080		mov	r0, #128	; 0x80
+     f20:	70c8		strb	r0, [r1, #3]
+     f22:	4823		ldr	r0, =0x83ff00	; via 0xfb0
+     f24:	6800		ldr	r0, [r0, #0]
+     f26:	2107		mov	r1, #7
+     f28:	7081		strb	r1, [r0, #2]
+     f2a:	4821		ldr	r0, =0x83ff00	; via 0xfb0
+     f2c:	6800		ldr	r0, [r0, #0]
+     f2e:	21bf		mov	r1, #191	; 0xbf
+     f30:	70c1		strb	r1, [r0, #3]
+     f32:	481f		ldr	r0, =0x83ff00	; via 0xfb0
+     f34:	6801		ldr	r1, [r0, #0]
+     f36:	4668		mov	r0, sp
+     f38:	7840		ldrb	r0, [r0, #1]
+     f3a:	7008		strb	r0, [r1, #0]
+     f3c:	481c		ldr	r0, =0x83ff00	; via 0xfb0
+     f3e:	6801		ldr	r1, [r0, #0]
+     f40:	4668		mov	r0, sp
+     f42:	7800		ldrb	r0, [r0, #0]
+     f44:	7048		strb	r0, [r1, #1]
+     f46:	481a		ldr	r0, =0x83ff00	; via 0xfb0
+     f48:	6801		ldr	r1, [r0, #0]
+     f4a:	2003		mov	r0, #3
+     f4c:	70c8		strb	r0, [r1, #3]
+     f4e:	4818		ldr	r0, =0x83ff00	; via 0xfb0
+     f50:	6800		ldr	r0, [r0, #0]
+     f52:	2100		mov	r1, #0
+     f54:	7201		strb	r1, [r0, #8]
+     f56:	4816		ldr	r0, =0x83ff00	; via 0xfb0
+     f58:	6800		ldr	r0, [r0, #0]
+     f5a:	7940		ldrb	r0, [r0, #5]
+     f5c:	0840		lsr	r0, r0, #1
+     f5e:	d309		bcc	0xf74
+     f60:	4669		mov	r1, sp
+     f62:	4813		ldr	r0, =0x83ff00	; via 0xfb0
+     f64:	6800		ldr	r0, [r0, #0]
+     f66:	7800		ldrb	r0, [r0, #0]
+     f68:	7088		strb	r0, [r1, #2]
+     f6a:	4811		ldr	r0, =0x83ff00	; via 0xfb0
+     f6c:	6800		ldr	r0, [r0, #0]
+     f6e:	7940		ldrb	r0, [r0, #5]
+     f70:	0840		lsr	r0, r0, #1
+     f72:	d2f5		bcs	0xf60
+     f74:	b001		add	sp, #4
+     f76:	4770		bx	lr
+
+     f78:	480a		ldr	r0, =0x83ff80	; via 0xfa4
+     f7a:	7800		ldrb	r0, [r0, #0]
+     f7c:	4770		bx	lr
+     f7e:	46c0		nop			(mov r8, r8)
+
+     f80:	00800100
+
+     f84:	b500		push	{lr}
+     f86:	b081		sub	sp, #4
+     f88:	4669		mov	r1, sp
+     f8a:	7008		strb	r0, [r1, #0]
+     f8c:	4668		mov	r0, sp
+     f8e:	7800		ldrb	r0, [r0, #0]
+     f90:	f7ff ff48	bl	0xe24
+     f94:	b001		add	sp, #4
+     f96:	bd00		pop	{pc}
+     f98:	b500		push	{lr}
+     f9a:	f7ff ff52	bl	0xe42
+     f9e:	bd00		pop	{pc}
+     fa0:	0100		lsl	r0, r0, #4
+     fa2:	0080		lsl	r0, r0, #2
+     fa4:	ff80		<half-bl>
+     fa6:	0083		lsl	r3, r0, #2
+     fa8:	f000 fffe	bl	0x1fa8
+     fac:	6000		str	r0, [r0, #0]
+     fae:	ffff		<half-bl>
+     fb0:	ff00		<half-bl>
+     fb2:	0083		lsl	r3, r0, #2
+     fb4:	4700		bx	r0
+     fb6:	0000		lsl	r0, r0, #0
+     fb8:	b08c		sub	sp, #48	; 0x30
+     fba:	9101		str	r1, [sp, #4]
+     fbc:	9000		str	r0, [sp, #0]
+     fbe:	2000		mov	r0, #0
+     fc0:	9003		str	r0, [sp, #12]	; 0xc
+     fc2:	9800		ldr	r0, [sp, #0]
+     fc4:	7801		ldrb	r1, [r0, #0]
+     fc6:	3001		add	r0, #1
+     fc8:	9000		str	r0, [sp, #0]
+     fca:	9105		str	r1, [sp, #20]	; 0x14
+     fcc:	9800		ldr	r0, [sp, #0]
+     fce:	7801		ldrb	r1, [r0, #0]
+     fd0:	3001		add	r0, #1
+     fd2:	9000		str	r0, [sp, #0]
+     fd4:	9801		ldr	r0, [sp, #4]
+     fd6:	7001		strb	r1, [r0, #0]
+     fd8:	2001		mov	r0, #1
+     fda:	9004		str	r0, [sp, #16]	; 0x10
+     fdc:	e0a8		b	0x1130
+     fde:	9804		ldr	r0, [sp, #16]	; 0x10
+     fe0:	3002		add	r0, #2
+     fe2:	9004		str	r0, [sp, #16]	; 0x10
+     fe4:	9800		ldr	r0, [sp, #0]
+     fe6:	7801		ldrb	r1, [r0, #0]
+     fe8:	3001		add	r0, #1
+     fea:	9000		str	r0, [sp, #0]
+     fec:	4668		mov	r0, sp
+     fee:	8441		strh	r1, [r0, #34]	; 0x22
+     ff0:	9800		ldr	r0, [sp, #0]
+     ff2:	7801		ldrb	r1, [r0, #0]
+     ff4:	3001		add	r0, #1
+     ff6:	9000		str	r0, [sp, #0]
+     ff8:	4668		mov	r0, sp
+     ffa:	8401		strh	r1, [r0, #32]	; 0x20
+     ffc:	8c00		ldrh	r0, [r0, #32]	; 0x20
+     ffe:	4669		mov	r1, sp
+    1000:	8c49		ldrh	r1, [r1, #34]	; 0x22
+    1002:	0209		lsl	r1, r1, #8
+    1004:	1840		add	r0, r0, r1
+    1006:	9901		ldr	r1, [sp, #4]
+    1008:	8088		strh	r0, [r1, #4]
+    100a:	9804		ldr	r0, [sp, #16]	; 0x10
+    100c:	3001		add	r0, #1
+    100e:	9004		str	r0, [sp, #16]	; 0x10
+    1010:	9800		ldr	r0, [sp, #0]
+    1012:	7801		ldrb	r1, [r0, #0]
+    1014:	3001		add	r0, #1
+    1016:	9000		str	r0, [sp, #0]
+    1018:	4668		mov	r0, sp
+    101a:	7601		strb	r1, [r0, #24]	; 0x18
+    101c:	9901		ldr	r1, [sp, #4]
+    101e:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1020:	7188		strb	r0, [r1, #6]
+    1022:	4668		mov	r0, sp
+    1024:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1026:	2840		cmp	r0, #64	; 0x40
+    1028:	dc00		bgt	0x102c
+    102a:	e09f		b	0x116c
+    102c:	2004		mov	r0, #4
+    102e:	9003		str	r0, [sp, #12]	; 0xc
+    1030:	e09c		b	0x116c
+    1032:	9804		ldr	r0, [sp, #16]	; 0x10
+    1034:	3002		add	r0, #2
+    1036:	9004		str	r0, [sp, #16]	; 0x10
+    1038:	9800		ldr	r0, [sp, #0]
+    103a:	7801		ldrb	r1, [r0, #0]
+    103c:	3001		add	r0, #1
+    103e:	9000		str	r0, [sp, #0]
+    1040:	4668		mov	r0, sp
+    1042:	8441		strh	r1, [r0, #34]	; 0x22
+    1044:	9800		ldr	r0, [sp, #0]
+    1046:	7801		ldrb	r1, [r0, #0]
+    1048:	3001		add	r0, #1
+    104a:	9000		str	r0, [sp, #0]
+    104c:	4668		mov	r0, sp
+    104e:	8401		strh	r1, [r0, #32]	; 0x20
+    1050:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    1052:	4669		mov	r1, sp
+    1054:	8c49		ldrh	r1, [r1, #34]	; 0x22
+    1056:	0209		lsl	r1, r1, #8
+    1058:	1841		add	r1, r0, r1
+    105a:	9801		ldr	r0, [sp, #4]
+    105c:	8081		strh	r1, [r0, #4]
+    105e:	9804		ldr	r0, [sp, #16]	; 0x10
+    1060:	3001		add	r0, #1
+    1062:	9004		str	r0, [sp, #16]	; 0x10
+    1064:	9800		ldr	r0, [sp, #0]
+    1066:	7801		ldrb	r1, [r0, #0]
+    1068:	3001		add	r0, #1
+    106a:	9000		str	r0, [sp, #0]
+    106c:	4668		mov	r0, sp
+    106e:	7601		strb	r1, [r0, #24]	; 0x18
+    1070:	9901		ldr	r1, [sp, #4]
+    1072:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1074:	7188		strb	r0, [r1, #6]
+    1076:	4668		mov	r0, sp
+    1078:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    107a:	2840		cmp	r0, #64	; 0x40
+    107c:	dcd6		bgt	0x102c
+    107e:	9801		ldr	r0, [sp, #4]
+    1080:	3008		add	r0, #8
+    1082:	9007		str	r0, [sp, #28]	; 0x1c
+    1084:	2000		mov	r0, #0
+    1086:	9002		str	r0, [sp, #8]
+    1088:	9902		ldr	r1, [sp, #8]
+    108a:	4668		mov	r0, sp
+    108c:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    108e:	4281		cmp	r1, r0
+    1090:	da6c		bge	0x116c
+    1092:	9800		ldr	r0, [sp, #0]
+    1094:	7801		ldrb	r1, [r0, #0]
+    1096:	3001		add	r0, #1
+    1098:	9000		str	r0, [sp, #0]
+    109a:	4668		mov	r0, sp
+    109c:	84c1		strh	r1, [r0, #38]	; 0x26
+    109e:	9800		ldr	r0, [sp, #0]
+    10a0:	7801		ldrb	r1, [r0, #0]
+    10a2:	3001		add	r0, #1
+    10a4:	9000		str	r0, [sp, #0]
+    10a6:	4668		mov	r0, sp
+    10a8:	8481		strh	r1, [r0, #36]	; 0x24
+    10aa:	9807		ldr	r0, [sp, #28]	; 0x1c
+    10ac:	1c81		add	r1, r0, #2
+    10ae:	9107		str	r1, [sp, #28]	; 0x1c
+    10b0:	4669		mov	r1, sp
+    10b2:	8c89		ldrh	r1, [r1, #36]	; 0x24
+    10b4:	466a		mov	r2, sp
+    10b6:	8cd2		ldrh	r2, [r2, #38]	; 0x26
+    10b8:	0212		lsl	r2, r2, #8
+    10ba:	1889		add	r1, r1, r2
+    10bc:	8001		strh	r1, [r0, #0]
+    10be:	9804		ldr	r0, [sp, #16]	; 0x10
+    10c0:	3002		add	r0, #2
+    10c2:	9004		str	r0, [sp, #16]	; 0x10
+    10c4:	9802		ldr	r0, [sp, #8]
+    10c6:	3001		add	r0, #1
+    10c8:	9002		str	r0, [sp, #8]
+    10ca:	9902		ldr	r1, [sp, #8]
+    10cc:	4668		mov	r0, sp
+    10ce:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    10d0:	4281		cmp	r1, r0
+    10d2:	dbde		blt	0x1092
+    10d4:	e04a		b	0x116c
+    10d6:	9804		ldr	r0, [sp, #16]	; 0x10
+    10d8:	3002		add	r0, #2
+    10da:	9004		str	r0, [sp, #16]	; 0x10
+    10dc:	9800		ldr	r0, [sp, #0]
+    10de:	7801		ldrb	r1, [r0, #0]
+    10e0:	3001		add	r0, #1
+    10e2:	9000		str	r0, [sp, #0]
+    10e4:	4668		mov	r0, sp
+    10e6:	8501		strh	r1, [r0, #40]	; 0x28
+    10e8:	9800		ldr	r0, [sp, #0]
+    10ea:	7801		ldrb	r1, [r0, #0]
+    10ec:	3001		add	r0, #1
+    10ee:	9000		str	r0, [sp, #0]
+    10f0:	4668		mov	r0, sp
+    10f2:	8541		strh	r1, [r0, #42]	; 0x2a
+    10f4:	8d41		ldrh	r1, [r0, #42]	; 0x2a
+    10f6:	8d00		ldrh	r0, [r0, #40]	; 0x28
+    10f8:	0200		lsl	r0, r0, #8
+    10fa:	1809		add	r1, r1, r0
+    10fc:	9801		ldr	r0, [sp, #4]
+    10fe:	8081		strh	r1, [r0, #4]
+    1100:	9804		ldr	r0, [sp, #16]	; 0x10
+    1102:	3002		add	r0, #2
+    1104:	9004		str	r0, [sp, #16]	; 0x10
+    1106:	9800		ldr	r0, [sp, #0]
+    1108:	7801		ldrb	r1, [r0, #0]
+    110a:	3001		add	r0, #1
+    110c:	9000		str	r0, [sp, #0]
+    110e:	4668		mov	r0, sp
+    1110:	8581		strh	r1, [r0, #44]	; 0x2c
+    1112:	9800		ldr	r0, [sp, #0]
+    1114:	7801		ldrb	r1, [r0, #0]
+    1116:	3001		add	r0, #1
+    1118:	9000		str	r0, [sp, #0]
+    111a:	4668		mov	r0, sp
+    111c:	85c1		strh	r1, [r0, #46]	; 0x2e
+    111e:	8dc1		ldrh	r1, [r0, #46]	; 0x2e
+    1120:	8d80		ldrh	r0, [r0, #44]	; 0x2c
+    1122:	0200		lsl	r0, r0, #8
+    1124:	1808		add	r0, r1, r0
+    1126:	9901		ldr	r1, [sp, #4]
+    1128:	80c8		strh	r0, [r1, #6]
+    112a:	e01f		b	0x116c
+    112c:	2008		mov	r0, #8
+    112e:	e77e		b	0x102e
+    1130:	9801		ldr	r0, [sp, #4]
+    1132:	7801		ldrb	r1, [r0, #0]
+    1134:	290a		cmp	r1, #10	; 0xa
+    1136:	d8f9		bhi	0x112c
+    1138:	a001		add	r0, pc, #4
+    113a:	0089		lsl	r1, r1, #2
+    113c:	5840		ldr	r0, [r0, r1]
+    113e:	4687		mov	pc, r0
+    1140:	116c		asr	r4, r5, #5
+    1142:	0000		lsl	r0, r0, #0
+    1144:	116c		asr	r4, r5, #5
+    1146:	0000		lsl	r0, r0, #0
+    1148:	116c		asr	r4, r5, #5
+    114a:	0000		lsl	r0, r0, #0
+    114c:	116c		asr	r4, r5, #5
+    114e:	0000		lsl	r0, r0, #0
+    1150:	116c		asr	r4, r5, #5
+    1152:	0000		lsl	r0, r0, #0
+    1154:	116c		asr	r4, r5, #5
+    1156:	0000		lsl	r0, r0, #0
+    1158:	116c		asr	r4, r5, #5
+    115a:	0000		lsl	r0, r0, #0
+    115c:	0fde		lsr	r6, r3, #31
+    115e:	0000		lsl	r0, r0, #0
+    1160:	1032		asr	r2, r6, #32
+    1162:	0000		lsl	r0, r0, #0
+    1164:	116c		asr	r4, r5, #5
+    1166:	0000		lsl	r0, r0, #0
+    1168:	10d6		asr	r6, r2, #3
+    116a:	0000		lsl	r0, r0, #0
+    116c:	9905		ldr	r1, [sp, #20]	; 0x14
+    116e:	9804		ldr	r0, [sp, #16]	; 0x10
+    1170:	4281		cmp	r1, r0
+    1172:	d001		beq	0x1178
+    1174:	2004		mov	r0, #4
+    1176:	9003		str	r0, [sp, #12]	; 0xc
+    1178:	9803		ldr	r0, [sp, #12]	; 0xc
+    117a:	b00c		add	sp, #48	; 0x30
+    117c:	4770		bx	lr
+    117e:	b089		sub	sp, #36	; 0x24
+    1180:	9101		str	r1, [sp, #4]
+    1182:	9000		str	r0, [sp, #0]
+    1184:	2000		mov	r0, #0
+    1186:	9003		str	r0, [sp, #12]	; 0xc
+    1188:	9801		ldr	r0, [sp, #4]
+    118a:	1c41		add	r1, r0, #1
+    118c:	9101		str	r1, [sp, #4]
+    118e:	9005		str	r0, [sp, #20]	; 0x14
+    1190:	9801		ldr	r0, [sp, #4]
+    1192:	1c41		add	r1, r0, #1
+    1194:	9101		str	r1, [sp, #4]
+    1196:	9900		ldr	r1, [sp, #0]
+    1198:	7809		ldrb	r1, [r1, #0]
+    119a:	7001		strb	r1, [r0, #0]
+    119c:	4669		mov	r1, sp
+    119e:	2001		mov	r0, #1
+    11a0:	7408		strb	r0, [r1, #16]	; 0x10
+    11a2:	9801		ldr	r0, [sp, #4]
+    11a4:	1c41		add	r1, r0, #1
+    11a6:	9101		str	r1, [sp, #4]
+    11a8:	9900		ldr	r1, [sp, #0]
+    11aa:	7849		ldrb	r1, [r1, #1]
+    11ac:	7001		strb	r1, [r0, #0]
+    11ae:	4669		mov	r1, sp
+    11b0:	4668		mov	r0, sp
+    11b2:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    11b4:	3001		add	r0, #1
+    11b6:	7408		strb	r0, [r1, #16]	; 0x10
+    11b8:	e0e4		b	0x1384
+    11ba:	9800		ldr	r0, [sp, #0]
+    11bc:	7840		ldrb	r0, [r0, #1]
+    11be:	2800		cmp	r0, #0
+    11c0:	d000		beq	0x11c4
+    11c2:	e0fd		b	0x13c0
+    11c4:	9801		ldr	r0, [sp, #4]
+    11c6:	1c41		add	r1, r0, #1
+    11c8:	9101		str	r1, [sp, #4]
+    11ca:	9900		ldr	r1, [sp, #0]
+    11cc:	7909		ldrb	r1, [r1, #4]
+    11ce:	7001		strb	r1, [r0, #0]
+    11d0:	9801		ldr	r0, [sp, #4]
+    11d2:	1c41		add	r1, r0, #1
+    11d4:	9101		str	r1, [sp, #4]
+    11d6:	9900		ldr	r1, [sp, #0]
+    11d8:	7949		ldrb	r1, [r1, #5]
+    11da:	7001		strb	r1, [r0, #0]
+    11dc:	9801		ldr	r0, [sp, #4]
+    11de:	1c41		add	r1, r0, #1
+    11e0:	9101		str	r1, [sp, #4]
+    11e2:	9900		ldr	r1, [sp, #0]
+    11e4:	7989		ldrb	r1, [r1, #6]
+    11e6:	7001		strb	r1, [r0, #0]
+    11e8:	4668		mov	r0, sp
+    11ea:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    11ec:	3003		add	r0, #3
+    11ee:	4669		mov	r1, sp
+    11f0:	7408		strb	r0, [r1, #16]	; 0x10
+    11f2:	e0e5		b	0x13c0
+    11f4:	9800		ldr	r0, [sp, #0]
+    11f6:	7840		ldrb	r0, [r0, #1]
+    11f8:	2800		cmp	r0, #0
+    11fa:	d000		beq	0x11fe
+    11fc:	e0e0		b	0x13c0
+    11fe:	9801		ldr	r0, [sp, #4]
+    1200:	1c41		add	r1, r0, #1
+    1202:	9101		str	r1, [sp, #4]
+    1204:	9900		ldr	r1, [sp, #0]
+    1206:	7909		ldrb	r1, [r1, #4]
+    1208:	7001		strb	r1, [r0, #0]
+    120a:	4668		mov	r0, sp
+    120c:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    120e:	3001		add	r0, #1
+    1210:	e7ed		b	0x11ee
+    1212:	9800		ldr	r0, [sp, #0]
+    1214:	7840		ldrb	r0, [r0, #1]
+    1216:	2800		cmp	r0, #0
+    1218:	d000		beq	0x121c
+    121a:	e0d1		b	0x13c0
+    121c:	e7ef		b	0x11fe
+    121e:	9800		ldr	r0, [sp, #0]
+    1220:	7840		ldrb	r0, [r0, #1]
+    1222:	2800		cmp	r0, #0
+    1224:	d000		beq	0x1228
+    1226:	e0cb		b	0x13c0
+    1228:	e7e9		b	0x11fe
+    122a:	9800		ldr	r0, [sp, #0]
+    122c:	7840		ldrb	r0, [r0, #1]
+    122e:	2800		cmp	r0, #0
+    1230:	d000		beq	0x1234
+    1232:	e0c5		b	0x13c0
+    1234:	4669		mov	r1, sp
+    1236:	9800		ldr	r0, [sp, #0]
+    1238:	8880		ldrh	r0, [r0, #4]
+    123a:	8408		strh	r0, [r1, #32]	; 0x20
+    123c:	9801		ldr	r0, [sp, #4]
+    123e:	1c41		add	r1, r0, #1
+    1240:	9101		str	r1, [sp, #4]
+    1242:	4669		mov	r1, sp
+    1244:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    1246:	0409		lsl	r1, r1, #16
+    1248:	0e09		lsr	r1, r1, #24
+    124a:	0209		lsl	r1, r1, #8
+    124c:	1209		asr	r1, r1, #8
+    124e:	7001		strb	r1, [r0, #0]
+    1250:	9801		ldr	r0, [sp, #4]
+    1252:	1c41		add	r1, r0, #1
+    1254:	9101		str	r1, [sp, #4]
+    1256:	4669		mov	r1, sp
+    1258:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    125a:	0609		lsl	r1, r1, #24
+    125c:	0e09		lsr	r1, r1, #24
+    125e:	7001		strb	r1, [r0, #0]
+    1260:	4669		mov	r1, sp
+    1262:	9800		ldr	r0, [sp, #0]
+    1264:	88c0		ldrh	r0, [r0, #6]
+    1266:	8408		strh	r0, [r1, #32]	; 0x20
+    1268:	9801		ldr	r0, [sp, #4]
+    126a:	1c41		add	r1, r0, #1
+    126c:	9101		str	r1, [sp, #4]
+    126e:	4669		mov	r1, sp
+    1270:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    1272:	0409		lsl	r1, r1, #16
+    1274:	0e09		lsr	r1, r1, #24
+    1276:	0209		lsl	r1, r1, #8
+    1278:	1209		asr	r1, r1, #8
+    127a:	7001		strb	r1, [r0, #0]
+    127c:	9801		ldr	r0, [sp, #4]
+    127e:	1c41		add	r1, r0, #1
+    1280:	9101		str	r1, [sp, #4]
+    1282:	4669		mov	r1, sp
+    1284:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    1286:	0609		lsl	r1, r1, #24
+    1288:	0e09		lsr	r1, r1, #24
+    128a:	7001		strb	r1, [r0, #0]
+    128c:	4668		mov	r0, sp
+    128e:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1290:	3004		add	r0, #4
+    1292:	e7ac		b	0x11ee
+    1294:	9800		ldr	r0, [sp, #0]
+    1296:	7840		ldrb	r0, [r0, #1]
+    1298:	2800		cmp	r0, #0
+    129a:	d000		beq	0x129e
+    129c:	e090		b	0x13c0
+    129e:	e7ae		b	0x11fe
+    12a0:	9800		ldr	r0, [sp, #0]
+    12a2:	7840		ldrb	r0, [r0, #1]
+    12a4:	2800		cmp	r0, #0
+    12a6:	d000		beq	0x12aa
+    12a8:	e08a		b	0x13c0
+    12aa:	4669		mov	r1, sp
+    12ac:	4668		mov	r0, sp
+    12ae:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    12b0:	3001		add	r0, #1
+    12b2:	7408		strb	r0, [r1, #16]	; 0x10
+    12b4:	4668		mov	r0, sp
+    12b6:	9900		ldr	r1, [sp, #0]
+    12b8:	7909		ldrb	r1, [r1, #4]
+    12ba:	7601		strb	r1, [r0, #24]	; 0x18
+    12bc:	9801		ldr	r0, [sp, #4]
+    12be:	1c41		add	r1, r0, #1
+    12c0:	9101		str	r1, [sp, #4]
+    12c2:	4669		mov	r1, sp
+    12c4:	7e09		ldrb	r1, [r1, #24]	; 0x18
+    12c6:	7001		strb	r1, [r0, #0]
+    12c8:	4668		mov	r0, sp
+    12ca:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    12cc:	2840		cmp	r0, #64	; 0x40
+    12ce:	dd01		ble	0x12d4
+    12d0:	2004		mov	r0, #4
+    12d2:	e055		b	0x1380
+    12d4:	9800		ldr	r0, [sp, #0]
+    12d6:	3006		add	r0, #6
+    12d8:	9007		str	r0, [sp, #28]	; 0x1c
+    12da:	2000		mov	r0, #0
+    12dc:	9002		str	r0, [sp, #8]
+    12de:	9902		ldr	r1, [sp, #8]
+    12e0:	4668		mov	r0, sp
+    12e2:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    12e4:	4281		cmp	r1, r0
+    12e6:	da6b		bge	0x13c0
+    12e8:	9801		ldr	r0, [sp, #4]
+    12ea:	1c41		add	r1, r0, #1
+    12ec:	9101		str	r1, [sp, #4]
+    12ee:	9907		ldr	r1, [sp, #28]	; 0x1c
+    12f0:	8809		ldrh	r1, [r1, #0]
+    12f2:	0409		lsl	r1, r1, #16
+    12f4:	0e09		lsr	r1, r1, #24
+    12f6:	0209		lsl	r1, r1, #8
+    12f8:	1209		asr	r1, r1, #8
+    12fa:	7001		strb	r1, [r0, #0]
+    12fc:	9807		ldr	r0, [sp, #28]	; 0x1c
+    12fe:	8801		ldrh	r1, [r0, #0]
+    1300:	3002		add	r0, #2
+    1302:	9007		str	r0, [sp, #28]	; 0x1c
+    1304:	0608		lsl	r0, r1, #24
+    1306:	0e01		lsr	r1, r0, #24
+    1308:	9801		ldr	r0, [sp, #4]
+    130a:	1c42		add	r2, r0, #1
+    130c:	9201		str	r2, [sp, #4]
+    130e:	7001		strb	r1, [r0, #0]
+    1310:	4669		mov	r1, sp
+    1312:	4668		mov	r0, sp
+    1314:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1316:	3002		add	r0, #2
+    1318:	7408		strb	r0, [r1, #16]	; 0x10
+    131a:	9802		ldr	r0, [sp, #8]
+    131c:	3001		add	r0, #1
+    131e:	9002		str	r0, [sp, #8]
+    1320:	9902		ldr	r1, [sp, #8]
+    1322:	4668		mov	r0, sp
+    1324:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1326:	4281		cmp	r1, r0
+    1328:	dbde		blt	0x12e8
+    132a:	e049		b	0x13c0
+    132c:	9800		ldr	r0, [sp, #0]
+    132e:	7840		ldrb	r0, [r0, #1]
+    1330:	2800		cmp	r0, #0
+    1332:	d145		bne	0x13c0
+    1334:	4669		mov	r1, sp
+    1336:	9800		ldr	r0, [sp, #0]
+    1338:	8880		ldrh	r0, [r0, #4]
+    133a:	8408		strh	r0, [r1, #32]	; 0x20
+    133c:	9801		ldr	r0, [sp, #4]
+    133e:	1c41		add	r1, r0, #1
+    1340:	9101		str	r1, [sp, #4]
+    1342:	4669		mov	r1, sp
+    1344:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    1346:	0409		lsl	r1, r1, #16
+    1348:	0e09		lsr	r1, r1, #24
+    134a:	0209		lsl	r1, r1, #8
+    134c:	1209		asr	r1, r1, #8
+    134e:	7001		strb	r1, [r0, #0]
+    1350:	9801		ldr	r0, [sp, #4]
+    1352:	1c41		add	r1, r0, #1
+    1354:	9101		str	r1, [sp, #4]
+    1356:	4669		mov	r1, sp
+    1358:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    135a:	0609		lsl	r1, r1, #24
+    135c:	0e09		lsr	r1, r1, #24
+    135e:	7001		strb	r1, [r0, #0]
+    1360:	4668		mov	r0, sp
+    1362:	9900		ldr	r1, [sp, #0]
+    1364:	88c9		ldrh	r1, [r1, #6]
+    1366:	8401		strh	r1, [r0, #32]	; 0x20
+    1368:	9901		ldr	r1, [sp, #4]
+    136a:	1c48		add	r0, r1, #1
+    136c:	9001		str	r0, [sp, #4]
+    136e:	4668		mov	r0, sp
+    1370:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    1372:	0400		lsl	r0, r0, #16
+    1374:	0e00		lsr	r0, r0, #24
+    1376:	0200		lsl	r0, r0, #8
+    1378:	1200		asr	r0, r0, #8
+    137a:	7008		strb	r0, [r1, #0]
+    137c:	e77e		b	0x127c
+    137e:	2008		mov	r0, #8
+    1380:	9003		str	r0, [sp, #12]	; 0xc
+    1382:	e01d		b	0x13c0
+    1384:	9800		ldr	r0, [sp, #0]
+    1386:	7800		ldrb	r0, [r0, #0]
+    1388:	280a		cmp	r0, #10	; 0xa
+    138a:	d8f8		bhi	0x137e
+    138c:	a101		add	r1, pc, #4
+    138e:	0080		lsl	r0, r0, #2
+    1390:	5808		ldr	r0, [r1, r0]
+    1392:	4687		mov	pc, r0
+    1394:	11ba		asr	r2, r7, #6
+    1396:	0000		lsl	r0, r0, #0
+    1398:	11f4		asr	r4, r6, #7
+    139a:	0000		lsl	r0, r0, #0
+    139c:	1212		asr	r2, r2, #8
+    139e:	0000		lsl	r0, r0, #0
+    13a0:	121e		asr	r6, r3, #8
+    13a2:	0000		lsl	r0, r0, #0
+    13a4:	13c0		asr	r0, r0, #15
+    13a6:	0000		lsl	r0, r0, #0
+    13a8:	122a		asr	r2, r5, #8
+    13aa:	0000		lsl	r0, r0, #0
+    13ac:	1294		asr	r4, r2, #10
+    13ae:	0000		lsl	r0, r0, #0
+    13b0:	12a0		asr	r0, r4, #10
+    13b2:	0000		lsl	r0, r0, #0
+    13b4:	13c0		asr	r0, r0, #15
+    13b6:	0000		lsl	r0, r0, #0
+    13b8:	132c		asr	r4, r5, #12
+    13ba:	0000		lsl	r0, r0, #0
+    13bc:	13c0		asr	r0, r0, #15
+    13be:	0000		lsl	r0, r0, #0
+    13c0:	9805		ldr	r0, [sp, #20]	; 0x14
+    13c2:	4669		mov	r1, sp
+    13c4:	7c09		ldrb	r1, [r1, #16]	; 0x10
+    13c6:	7001		strb	r1, [r0, #0]
+    13c8:	9803		ldr	r0, [sp, #12]	; 0xc
+    13ca:	b009		add	sp, #36	; 0x24
+    13cc:	4770		bx	lr
+    13ce:	0000		lsl	r0, r0, #0
+    13d0:	b500		push	{lr}
+    13d2:	b083		sub	sp, #12	; 0xc
+    13d4:	9101		str	r1, [sp, #4]
+    13d6:	4669		mov	r1, sp
+    13d8:	7008		strb	r0, [r1, #0]
+    13da:	2000		mov	r0, #0
+    13dc:	9002		str	r0, [sp, #8]
+    13de:	e073		b	0x14c8
+    13e0:	4668		mov	r0, sp
+    13e2:	7800		ldrb	r0, [r0, #0]
+    13e4:	28aa		cmp	r0, #170	; 0xaa
+    13e6:	d106		bne	0x13f6
+    13e8:	4965		ldr	r1, =0x83ff10	; via 0x1580
+    13ea:	4865		ldr	r0, =0x83ff10	; via 0x1580
+    13ec:	6800		ldr	r0, [r0, #0]
+    13ee:	3001		add	r0, #1
+    13f0:	07c0		lsl	r0, r0, #31
+    13f2:	0fc0		lsr	r0, r0, #31
+    13f4:	e013		b	0x141e
+    13f6:	4862		ldr	r0, =0x83ff10	; via 0x1580
+    13f8:	6800		ldr	r0, [r0, #0]
+    13fa:	2800		cmp	r0, #0
+    13fc:	d06b		beq	0x14d6
+    13fe:	4961		ldr	r1, =0x83ff04	; via 0x1584
+    1400:	9801		ldr	r0, [sp, #4]
+    1402:	3001		add	r0, #1
+    1404:	6008		str	r0, [r1, #0]
+    1406:	4960		ldr	r1, =0x83ff0e	; via 0x1588
+    1408:	2000		mov	r0, #0
+    140a:	7008		strb	r0, [r1, #0]
+    140c:	495f		ldr	r1, =0x83ff0c	; via 0x158c
+    140e:	4668		mov	r0, sp
+    1410:	7800		ldrb	r0, [r0, #0]
+    1412:	8008		strh	r0, [r1, #0]
+    1414:	495a		ldr	r1, =0x83ff10	; via 0x1580
+    1416:	2000		mov	r0, #0
+    1418:	6008		str	r0, [r1, #0]
+    141a:	495d		ldr	r1, =0x83ff08	; via 0x1590
+    141c:	2001		mov	r0, #1
+    141e:	6008		str	r0, [r1, #0]
+    1420:	e059		b	0x14d6
+    1422:	4668		mov	r0, sp
+    1424:	7800		ldrb	r0, [r0, #0]
+    1426:	28aa		cmp	r0, #170	; 0xaa
+    1428:	d113		bne	0x1452
+    142a:	4855		ldr	r0, =0x83ff10	; via 0x1580
+    142c:	6800		ldr	r0, [r0, #0]
+    142e:	2800		cmp	r0, #0
+    1430:	d00b		beq	0x144a
+    1432:	4954		ldr	r1, =0x83ff04	; via 0x1584
+    1434:	6808		ldr	r0, [r1, #0]
+    1436:	1c42		add	r2, r0, #1
+    1438:	600a		str	r2, [r1, #0]
+    143a:	4669		mov	r1, sp
+    143c:	7809		ldrb	r1, [r1, #0]
+    143e:	7001		strb	r1, [r0, #0]
+    1440:	4951		ldr	r1, =0x83ff0e	; via 0x1588
+    1442:	7808		ldrb	r0, [r1, #0]
+    1444:	3001		add	r0, #1
+    1446:	7008		strb	r0, [r1, #0]
+    1448:	e013		b	0x1472
+    144a:	2101		mov	r1, #1
+    144c:	484c		ldr	r0, =0x83ff10	; via 0x1580
+    144e:	6001		str	r1, [r0, #0]
+    1450:	e01c		b	0x148c
+    1452:	484b		ldr	r0, =0x83ff10	; via 0x1580
+    1454:	6800		ldr	r0, [r0, #0]
+    1456:	2800		cmp	r0, #0
+    1458:	d00d		beq	0x1476
+    145a:	494a		ldr	r1, =0x83ff04	; via 0x1584
+    145c:	9801		ldr	r0, [sp, #4]
+    145e:	3001		add	r0, #1
+    1460:	6008		str	r0, [r1, #0]
+    1462:	4849		ldr	r0, =0x83ff0e	; via 0x1588
+    1464:	2100		mov	r1, #0
+    1466:	7001		strb	r1, [r0, #0]
+    1468:	4948		ldr	r1, =0x83ff0c	; via 0x158c
+    146a:	4668		mov	r0, sp
+    146c:	7800		ldrb	r0, [r0, #0]
+    146e:	3001		add	r0, #1
+    1470:	8008		strh	r0, [r1, #0]
+    1472:	2100		mov	r1, #0
+    1474:	e7ea		b	0x144c
+    1476:	4843		ldr	r0, =0x83ff04	; via 0x1584
+    1478:	6801		ldr	r1, [r0, #0]
+    147a:	1c4a		add	r2, r1, #1
+    147c:	6002		str	r2, [r0, #0]
+    147e:	4668		mov	r0, sp
+    1480:	7800		ldrb	r0, [r0, #0]
+    1482:	7008		strb	r0, [r1, #0]
+    1484:	4940		ldr	r1, =0x83ff0e	; via 0x1588
+    1486:	7808		ldrb	r0, [r1, #0]
+    1488:	3001		add	r0, #1
+    148a:	7008		strb	r0, [r1, #0]
+    148c:	483f		ldr	r0, =0x83ff0c	; via 0x158c
+    148e:	8801		ldrh	r1, [r0, #0]
+    1490:	3901		sub	r1, #1
+    1492:	8001		strh	r1, [r0, #0]
+    1494:	483d		ldr	r0, =0x83ff0c	; via 0x158c
+    1496:	8800		ldrh	r0, [r0, #0]
+    1498:	2800		cmp	r0, #0
+    149a:	d11c		bne	0x14d6
+    149c:	9901		ldr	r1, [sp, #4]
+    149e:	483a		ldr	r0, =0x83ff0e	; via 0x1588
+    14a0:	7800		ldrb	r0, [r0, #0]
+    14a2:	7008		strb	r0, [r1, #0]
+    14a4:	2001		mov	r0, #1
+    14a6:	9002		str	r0, [sp, #8]
+    14a8:	4839		ldr	r0, =0x83ff08	; via 0x1590
+    14aa:	2100		mov	r1, #0
+    14ac:	6001		str	r1, [r0, #0]
+    14ae:	4834		ldr	r0, =0x83ff10	; via 0x1580
+    14b0:	6001		str	r1, [r0, #0]
+    14b2:	9801		ldr	r0, [sp, #4]
+    14b4:	7800		ldrb	r0, [r0, #0]
+    14b6:	2801		cmp	r0, #1
+    14b8:	d10d		bne	0x14d6
+    14ba:	9801		ldr	r0, [sp, #4]
+    14bc:	7840		ldrb	r0, [r0, #1]
+    14be:	28dd		cmp	r0, #221	; 0xdd
+    14c0:	d109		bne	0x14d6
+    14c2:	f7ff fb2f	bl	0xb24
+    14c6:	e006		b	0x14d6
+    14c8:	4831		ldr	r0, =0x83ff08	; via 0x1590
+    14ca:	6800		ldr	r0, [r0, #0]
+    14cc:	2800		cmp	r0, #0
+    14ce:	d087		beq	0x13e0
+    14d0:	3801		sub	r0, #1
+    14d2:	2800		cmp	r0, #0
+    14d4:	d0a5		beq	0x1422
+    14d6:	9802		ldr	r0, [sp, #8]
+    14d8:	b003		add	sp, #12	; 0xc
+    14da:	bd00		pop	{pc}
+    14dc:	b086		sub	sp, #24	; 0x18
+    14de:	9202		str	r2, [sp, #8]
+    14e0:	9101		str	r1, [sp, #4]
+    14e2:	9000		str	r0, [sp, #0]
+    14e4:	9801		ldr	r0, [sp, #4]
+    14e6:	3001		add	r0, #1
+    14e8:	9004		str	r0, [sp, #16]	; 0x10
+    14ea:	9800		ldr	r0, [sp, #0]
+    14ec:	1c41		add	r1, r0, #1
+    14ee:	9100		str	r1, [sp, #0]
+    14f0:	9005		str	r0, [sp, #20]	; 0x14
+    14f2:	9901		ldr	r1, [sp, #4]
+    14f4:	20aa		mov	r0, #170	; 0xaa
+    14f6:	7008		strb	r0, [r1, #0]
+    14f8:	9801		ldr	r0, [sp, #4]
+    14fa:	3002		add	r0, #2
+    14fc:	9001		str	r0, [sp, #4]
+    14fe:	9902		ldr	r1, [sp, #8]
+    1500:	2000		mov	r0, #0
+    1502:	8008		strh	r0, [r1, #0]
+    1504:	4669		mov	r1, sp
+    1506:	8188		strh	r0, [r1, #12]	; 0xc
+    1508:	4668		mov	r0, sp
+    150a:	8981		ldrh	r1, [r0, #12]	; 0xc
+    150c:	9805		ldr	r0, [sp, #20]	; 0x14
+    150e:	7800		ldrb	r0, [r0, #0]
+    1510:	4281		cmp	r1, r0
+    1512:	da23		bge	0x155c
+    1514:	9800		ldr	r0, [sp, #0]
+    1516:	7800		ldrb	r0, [r0, #0]
+    1518:	28aa		cmp	r0, #170	; 0xaa
+    151a:	d108		bne	0x152e
+    151c:	9801		ldr	r0, [sp, #4]
+    151e:	1c41		add	r1, r0, #1
+    1520:	9101		str	r1, [sp, #4]
+    1522:	21aa		mov	r1, #170	; 0xaa
+    1524:	7001		strb	r1, [r0, #0]
+    1526:	9902		ldr	r1, [sp, #8]
+    1528:	8808		ldrh	r0, [r1, #0]
+    152a:	3001		add	r0, #1
+    152c:	8008		strh	r0, [r1, #0]
+    152e:	9800		ldr	r0, [sp, #0]
+    1530:	7801		ldrb	r1, [r0, #0]
+    1532:	3001		add	r0, #1
+    1534:	9000		str	r0, [sp, #0]
+    1536:	9801		ldr	r0, [sp, #4]
+    1538:	1c42		add	r2, r0, #1
+    153a:	9201		str	r2, [sp, #4]
+    153c:	7001		strb	r1, [r0, #0]
+    153e:	9902		ldr	r1, [sp, #8]
+    1540:	8808		ldrh	r0, [r1, #0]
+    1542:	3001		add	r0, #1
+    1544:	8008		strh	r0, [r1, #0]
+    1546:	4669		mov	r1, sp
+    1548:	4668		mov	r0, sp
+    154a:	8980		ldrh	r0, [r0, #12]	; 0xc
+    154c:	3001		add	r0, #1
+    154e:	8188		strh	r0, [r1, #12]	; 0xc
+    1550:	4668		mov	r0, sp
+    1552:	8980		ldrh	r0, [r0, #12]	; 0xc
+    1554:	9905		ldr	r1, [sp, #20]	; 0x14
+    1556:	7809		ldrb	r1, [r1, #0]
+    1558:	4288		cmp	r0, r1
+    155a:	dbdb		blt	0x1514
+    155c:	9904		ldr	r1, [sp, #16]	; 0x10
+    155e:	9802		ldr	r0, [sp, #8]
+    1560:	7800		ldrb	r0, [r0, #0]
+    1562:	7008		strb	r0, [r1, #0]
+    1564:	9902		ldr	r1, [sp, #8]
+    1566:	8808		ldrh	r0, [r1, #0]
+    1568:	3002		add	r0, #2
+    156a:	8008		strh	r0, [r1, #0]
+    156c:	b006		add	sp, #24	; 0x18
+    156e:	4770		bx	lr
+
+; same as 0x15c8 in the C139 version
+    1570:	4907		ldr	r1, =0x83ff08	; via 0x1590
+    1572:	2000		mov	r0, #0
+    1574:	6008		str	r0, [r1, #0]
+    1576:	4802		ldr	r0, =0x83ff10	; via 0x1580
+    1578:	2100		mov	r1, #0
+    157a:	6001		str	r1, [r0, #0]
+    157c:	4770		bx	lr
+    157e:	46c0		nop			(mov r8, r8)
+
+    1580:	0083ff10
+    1584:	0083ff04
+    1588:	0083ff0e
+    158c:	0083ff0c
+    1590:	0083ff08
+
+    1594:	b082		sub	sp, #8
+    1596:	9101		str	r1, [sp, #4]
+    1598:	9000		str	r0, [sp, #0]
+    159a:	9901		ldr	r1, [sp, #4]
+    159c:	2000		mov	r0, #0
+    159e:	7008		strb	r0, [r1, #0]
+    15a0:	9801		ldr	r0, [sp, #4]
+    15a2:	2100		mov	r1, #0
+    15a4:	7041		strb	r1, [r0, #1]
+    15a6:	9801		ldr	r0, [sp, #4]
+    15a8:	2102		mov	r1, #2
+    15aa:	7101		strb	r1, [r0, #4]
+    15ac:	9801		ldr	r0, [sp, #4]
+    15ae:	2106		mov	r1, #6
+    15b0:	7141		strb	r1, [r0, #5]
+    15b2:	9801		ldr	r0, [sp, #4]
+    15b4:	2102		mov	r1, #2
+    15b6:	7181		strb	r1, [r0, #6]
+    15b8:	b002		add	sp, #8
+    15ba:	4770		bx	lr
+    15bc:	b500		push	{lr}
+    15be:	b084		sub	sp, #16	; 0x10
+    15c0:	466b		mov	r3, sp
+    15c2:	721a		strb	r2, [r3, #8]
+    15c4:	9101		str	r1, [sp, #4]
+    15c6:	9000		str	r0, [sp, #0]
+    15c8:	9901		ldr	r1, [sp, #4]
+    15ca:	2009		mov	r0, #9
+    15cc:	7008		strb	r0, [r1, #0]
+    15ce:	e015		b	0x15fc
+    15d0:	9801		ldr	r0, [sp, #4]
+    15d2:	2100		mov	r1, #0
+    15d4:	7041		strb	r1, [r0, #1]
+    15d6:	9901		ldr	r1, [sp, #4]
+    15d8:	4668		mov	r0, sp
+    15da:	8940		ldrh	r0, [r0, #10]	; 0xa
+    15dc:	8088		strh	r0, [r1, #4]
+    15de:	9901		ldr	r1, [sp, #4]
+    15e0:	4668		mov	r0, sp
+    15e2:	8980		ldrh	r0, [r0, #12]	; 0xc
+    15e4:	80c8		strh	r0, [r1, #6]
+    15e6:	e01e		b	0x1626
+    15e8:	2101		mov	r1, #1
+    15ea:	e004		b	0x15f6
+    15ec:	2103		mov	r1, #3
+    15ee:	e002		b	0x15f6
+    15f0:	2105		mov	r1, #5
+    15f2:	e000		b	0x15f6
+    15f4:	2106		mov	r1, #6
+    15f6:	9801		ldr	r0, [sp, #4]
+    15f8:	7041		strb	r1, [r0, #1]
+    15fa:	e014		b	0x1626
+    15fc:	200a		mov	r0, #10	; 0xa
+    15fe:	4468		add	r0, sp
+    1600:	a903		add	r1, sp, #12	; 0xc
+    1602:	466a		mov	r2, sp
+    1604:	7a12		ldrb	r2, [r2, #8]
+    1606:	f000 fb71	bl	0x1cec
+    160a:	2800		cmp	r0, #0
+    160c:	d0e0		beq	0x15d0
+    160e:	3801		sub	r0, #1
+    1610:	2800		cmp	r0, #0
+    1612:	d0e9		beq	0x15e8
+    1614:	3801		sub	r0, #1
+    1616:	2800		cmp	r0, #0
+    1618:	d0e8		beq	0x15ec
+    161a:	3801		sub	r0, #1
+    161c:	2800		cmp	r0, #0
+    161e:	d0e7		beq	0x15f0
+    1620:	3801		sub	r0, #1
+    1622:	2800		cmp	r0, #0
+    1624:	d0e6		beq	0x15f4
+    1626:	b004		add	sp, #16	; 0x10
+    1628:	bd00		pop	{pc}
+    162a:	b084		sub	sp, #16	; 0x10
+    162c:	9101		str	r1, [sp, #4]
+    162e:	9000		str	r0, [sp, #0]
+    1630:	9901		ldr	r1, [sp, #4]
+    1632:	200a		mov	r0, #10	; 0xa
+    1634:	7008		strb	r0, [r1, #0]
+    1636:	9801		ldr	r0, [sp, #4]
+    1638:	2100		mov	r1, #0
+    163a:	7041		strb	r1, [r0, #1]
+    163c:	4669		mov	r1, sp
+    163e:	9800		ldr	r0, [sp, #0]
+    1640:	8880		ldrh	r0, [r0, #4]
+    1642:	8108		strh	r0, [r1, #8]
+    1644:	9800		ldr	r0, [sp, #0]
+    1646:	88c0		ldrh	r0, [r0, #6]
+    1648:	8148		strh	r0, [r1, #10]	; 0xa
+    164a:	4668		mov	r0, sp
+    164c:	8941		ldrh	r1, [r0, #10]	; 0xa
+    164e:	8900		ldrh	r0, [r0, #8]
+    1650:	0400		lsl	r0, r0, #16
+    1652:	1808		add	r0, r1, r0
+    1654:	9003		str	r0, [sp, #12]	; 0xc
+    1656:	9803		ldr	r0, [sp, #12]	; 0xc
+    1658:	b004		add	sp, #16	; 0x10
+    165a:	4770		bx	lr
+    165c:	b085		sub	sp, #20	; 0x14
+    165e:	9303		str	r3, [sp, #12]	; 0xc
+    1660:	9202		str	r2, [sp, #8]
+    1662:	9101		str	r1, [sp, #4]
+    1664:	4669		mov	r1, sp
+    1666:	7008		strb	r0, [r1, #0]
+    1668:	48ea		ldr	r0, =0x83ff19	; via 0x1a14
+    166a:	7809		ldrb	r1, [r1, #0]
+    166c:	7802		ldrb	r2, [r0, #0]
+    166e:	1889		add	r1, r1, r2
+    1670:	7001		strb	r1, [r0, #0]
+    1672:	48e9		ldr	r0, =0x83ff1a	; via 0x1a18
+    1674:	7800		ldrb	r0, [r0, #0]
+    1676:	2800		cmp	r0, #0
+    1678:	d00e		beq	0x1698
+    167a:	48e8		ldr	r0, =0x83ff26	; via 0x1a1c
+    167c:	4669		mov	r1, sp
+    167e:	780a		ldrb	r2, [r1, #0]
+    1680:	8801		ldrh	r1, [r0, #0]
+    1682:	1851		add	r1, r2, r1
+    1684:	8001		strh	r1, [r0, #0]
+    1686:	9903		ldr	r1, [sp, #12]	; 0xc
+    1688:	48e4		ldr	r0, =0x83ff26	; via 0x1a1c
+    168a:	8800		ldrh	r0, [r0, #0]
+    168c:	8008		strh	r0, [r1, #0]
+    168e:	9801		ldr	r0, [sp, #4]
+    1690:	2100		mov	r1, #0
+    1692:	6001		str	r1, [r0, #0]
+    1694:	2000		mov	r0, #0
+    1696:	e009		b	0x16ac
+    1698:	9902		ldr	r1, [sp, #8]
+    169a:	6808		ldr	r0, [r1, #0]
+    169c:	3002		add	r0, #2
+    169e:	6008		str	r0, [r1, #0]
+    16a0:	49de		ldr	r1, =0x83ff26	; via 0x1a1c
+    16a2:	4668		mov	r0, sp
+    16a4:	7800		ldrb	r0, [r0, #0]
+    16a6:	0200		lsl	r0, r0, #8
+    16a8:	8008		strh	r0, [r1, #0]
+    16aa:	2001		mov	r0, #1
+    16ac:	9004		str	r0, [sp, #16]	; 0x10
+    16ae:	2001		mov	r0, #1
+    16b0:	49d9		ldr	r1, =0x83ff1a	; via 0x1a18
+    16b2:	7809		ldrb	r1, [r1, #0]
+    16b4:	4388		bic	r0, r1
+    16b6:	49d8		ldr	r1, =0x83ff1a	; via 0x1a18
+    16b8:	7008		strb	r0, [r1, #0]
+    16ba:	48d9		ldr	r0, =0x83ff24	; via 0x1a20
+    16bc:	7801		ldrb	r1, [r0, #0]
+    16be:	3901		sub	r1, #1
+    16c0:	7001		strb	r1, [r0, #0]
+    16c2:	48d7		ldr	r0, =0x83ff24	; via 0x1a20
+    16c4:	7800		ldrb	r0, [r0, #0]
+    16c6:	2800		cmp	r0, #0
+    16c8:	d102		bne	0x16d0
+    16ca:	48d6		ldr	r0, =0x83ff20	; via 0x1a24
+    16cc:	2106		mov	r1, #6
+    16ce:	6001		str	r1, [r0, #0]
+    16d0:	9804		ldr	r0, [sp, #16]	; 0x10
+    16d2:	b005		add	sp, #20	; 0x14
+    16d4:	46f7		mov	pc, lr
+    16d6:	b083		sub	sp, #12	; 0xc
+    16d8:	9101		str	r1, [sp, #4]
+    16da:	4669		mov	r1, sp
+    16dc:	7008		strb	r0, [r1, #0]
+    16de:	2001		mov	r0, #1
+    16e0:	9002		str	r0, [sp, #8]
+    16e2:	48d1		ldr	r0, =0x83ff1b	; via 0x1a28
+    16e4:	7800		ldrb	r0, [r0, #0]
+    16e6:	2800		cmp	r0, #0
+    16e8:	d10a		bne	0x1700
+    16ea:	4668		mov	r0, sp
+    16ec:	7800		ldrb	r0, [r0, #0]
+    16ee:	2853		cmp	r0, #83	; 0x53
+    16f0:	d102		bne	0x16f8
+    16f2:	48cd		ldr	r0, =0x83ff1b	; via 0x1a28
+    16f4:	2101		mov	r1, #1
+    16f6:	e01a		b	0x172e
+    16f8:	2101		mov	r1, #1
+    16fa:	9801		ldr	r0, [sp, #4]
+    16fc:	6001		str	r1, [r0, #0]
+    16fe:	e03b		b	0x1778
+    1700:	49c9		ldr	r1, =0x83ff1b	; via 0x1a28
+    1702:	2000		mov	r0, #0
+    1704:	7008		strb	r0, [r1, #0]
+    1706:	4668		mov	r0, sp
+    1708:	7800		ldrb	r0, [r0, #0]
+    170a:	2830		cmp	r0, #48	; 0x30
+    170c:	d111		bne	0x1732
+    170e:	48c7		ldr	r0, =0x83ff18	; via 0x1a2c
+    1710:	7800		ldrb	r0, [r0, #0]
+    1712:	2800		cmp	r0, #0
+    1714:	d006		beq	0x1724
+    1716:	9901		ldr	r1, [sp, #4]
+    1718:	2001		mov	r0, #1
+    171a:	6008		str	r0, [r1, #0]
+    171c:	49c3		ldr	r1, =0x83ff18	; via 0x1a2c
+    171e:	2000		mov	r0, #0
+    1720:	7008		strb	r0, [r1, #0]
+    1722:	e02a		b	0x177a
+    1724:	48bf		ldr	r0, =0x83ff20	; via 0x1a24
+    1726:	2102		mov	r1, #2
+    1728:	6001		str	r1, [r0, #0]
+    172a:	48ef		ldr	r0, =0x83ff1c	; via 0x1ae8
+    172c:	2100		mov	r1, #0
+    172e:	7001		strb	r1, [r0, #0]
+    1730:	e024		b	0x177c
+    1732:	4668		mov	r0, sp
+    1734:	7800		ldrb	r0, [r0, #0]
+    1736:	2833		cmp	r0, #51	; 0x33
+    1738:	d105		bne	0x1746
+    173a:	48bc		ldr	r0, =0x83ff18	; via 0x1a2c
+    173c:	7800		ldrb	r0, [r0, #0]
+    173e:	2800		cmp	r0, #0
+    1740:	d0da		beq	0x16f8
+    1742:	2004		mov	r0, #4
+    1744:	e00c		b	0x1760
+    1746:	4668		mov	r0, sp
+    1748:	7800		ldrb	r0, [r0, #0]
+    174a:	2837		cmp	r0, #55	; 0x37
+    174c:	d10e		bne	0x176c
+    174e:	48b7		ldr	r0, =0x83ff18	; via 0x1a2c
+    1750:	7800		ldrb	r0, [r0, #0]
+    1752:	2800		cmp	r0, #0
+    1754:	d103		bne	0x175e
+    1756:	9901		ldr	r1, [sp, #4]
+    1758:	2001		mov	r0, #1
+    175a:	6008		str	r0, [r1, #0]
+    175c:	e00c		b	0x1778
+    175e:	2003		mov	r0, #3
+    1760:	49b0		ldr	r1, =0x83ff20	; via 0x1a24
+    1762:	6008		str	r0, [r1, #0]
+    1764:	2000		mov	r0, #0
+    1766:	49e0		ldr	r1, =0x83ff1c	; via 0x1ae8
+    1768:	7008		strb	r0, [r1, #0]
+    176a:	e007		b	0x177c
+    176c:	9901		ldr	r1, [sp, #4]
+    176e:	2001		mov	r0, #1
+    1770:	6008		str	r0, [r1, #0]
+    1772:	48ae		ldr	r0, =0x83ff18	; via 0x1a2c
+    1774:	2100		mov	r1, #0
+    1776:	7001		strb	r1, [r0, #0]
+    1778:	2000		mov	r0, #0
+    177a:	9002		str	r0, [sp, #8]
+    177c:	9802		ldr	r0, [sp, #8]
+    177e:	b003		add	sp, #12	; 0xc
+    1780:	46f7		mov	pc, lr
+    1782:	b083		sub	sp, #12	; 0xc
+    1784:	9101		str	r1, [sp, #4]
+    1786:	4669		mov	r1, sp
+    1788:	7008		strb	r0, [r1, #0]
+    178a:	2001		mov	r0, #1
+    178c:	9002		str	r0, [sp, #8]
+    178e:	49d7		ldr	r1, =0x830	; via 0x1aec
+    1790:	48d5		ldr	r0, =0x83ff1c	; via 0x1ae8
+    1792:	7800		ldrb	r0, [r0, #0]
+    1794:	0080		lsl	r0, r0, #2
+    1796:	5808		ldr	r0, [r1, r0]
+    1798:	4669		mov	r1, sp
+    179a:	7809		ldrb	r1, [r1, #0]
+    179c:	4281		cmp	r1, r0
+    179e:	d10d		bne	0x17bc
+    17a0:	49d1		ldr	r1, =0x83ff1c	; via 0x1ae8
+    17a2:	7808		ldrb	r0, [r1, #0]
+    17a4:	3001		add	r0, #1
+    17a6:	7008		strb	r0, [r1, #0]
+    17a8:	48cf		ldr	r0, =0x83ff1c	; via 0x1ae8
+    17aa:	7800		ldrb	r0, [r0, #0]
+    17ac:	2807		cmp	r0, #7
+    17ae:	d10d		bne	0x17cc
+    17b0:	489c		ldr	r0, =0x83ff20	; via 0x1a24
+    17b2:	2101		mov	r1, #1
+    17b4:	6001		str	r1, [r0, #0]
+    17b6:	489d		ldr	r0, =0x83ff18	; via 0x1a2c
+    17b8:	7001		strb	r1, [r0, #0]
+    17ba:	e007		b	0x17cc
+    17bc:	9801		ldr	r0, [sp, #4]
+    17be:	2101		mov	r1, #1
+    17c0:	6001		str	r1, [r0, #0]
+    17c2:	4998		ldr	r1, =0x83ff20	; via 0x1a24
+    17c4:	2001		mov	r0, #1
+    17c6:	6008		str	r0, [r1, #0]
+    17c8:	2000		mov	r0, #0
+    17ca:	9002		str	r0, [sp, #8]
+    17cc:	9802		ldr	r0, [sp, #8]
+    17ce:	b003		add	sp, #12	; 0xc
+    17d0:	46f7		mov	pc, lr
+    17d2:	b083		sub	sp, #12	; 0xc
+    17d4:	9101		str	r1, [sp, #4]
+    17d6:	4669		mov	r1, sp
+    17d8:	7008		strb	r0, [r1, #0]
+    17da:	2001		mov	r0, #1
+    17dc:	9002		str	r0, [sp, #8]
+    17de:	49c4		ldr	r1, =0x84c	; via 0x1af0
+    17e0:	48c1		ldr	r0, =0x83ff1c	; via 0x1ae8
+    17e2:	7800		ldrb	r0, [r0, #0]
+    17e4:	0080		lsl	r0, r0, #2
+    17e6:	5808		ldr	r0, [r1, r0]
+    17e8:	4669		mov	r1, sp
+    17ea:	7809		ldrb	r1, [r1, #0]
+    17ec:	4281		cmp	r1, r0
+    17ee:	d112		bne	0x1816
+    17f0:	49bd		ldr	r1, =0x83ff1c	; via 0x1ae8
+    17f2:	7808		ldrb	r0, [r1, #0]
+    17f4:	3001		add	r0, #1
+    17f6:	7008		strb	r0, [r1, #0]
+    17f8:	48bb		ldr	r0, =0x83ff1c	; via 0x1ae8
+    17fa:	7800		ldrb	r0, [r0, #0]
+    17fc:	2806		cmp	r0, #6
+    17fe:	d114		bne	0x182a
+    1800:	9801		ldr	r0, [sp, #4]
+    1802:	2102		mov	r1, #2
+    1804:	6001		str	r1, [r0, #0]
+    1806:	4887		ldr	r0, =0x83ff20	; via 0x1a24
+    1808:	2101		mov	r1, #1
+    180a:	6001		str	r1, [r0, #0]
+    180c:	4887		ldr	r0, =0x83ff18	; via 0x1a2c
+    180e:	2100		mov	r1, #0
+    1810:	7001		strb	r1, [r0, #0]
+    1812:	2000		mov	r0, #0
+    1814:	e008		b	0x1828
+    1816:	9801		ldr	r0, [sp, #4]
+    1818:	2101		mov	r1, #1
+    181a:	6001		str	r1, [r0, #0]
+    181c:	4981		ldr	r1, =0x83ff20	; via 0x1a24
+    181e:	2001		mov	r0, #1
+    1820:	6008		str	r0, [r1, #0]
+    1822:	4982		ldr	r1, =0x83ff18	; via 0x1a2c
+    1824:	2000		mov	r0, #0
+    1826:	7008		strb	r0, [r1, #0]
+    1828:	9002		str	r0, [sp, #8]
+    182a:	9802		ldr	r0, [sp, #8]
+    182c:	b003		add	sp, #12	; 0xc
+    182e:	46f7		mov	pc, lr
+    1830:	b081		sub	sp, #4
+    1832:	4669		mov	r1, sp
+    1834:	7008		strb	r0, [r1, #0]
+    1836:	497a		ldr	r1, =0x83ff24	; via 0x1a20
+    1838:	4668		mov	r0, sp
+    183a:	7800		ldrb	r0, [r0, #0]
+    183c:	3801		sub	r0, #1
+    183e:	7008		strb	r0, [r1, #0]
+    1840:	4874		ldr	r0, =0x83ff19	; via 0x1a14
+    1842:	4669		mov	r1, sp
+    1844:	7809		ldrb	r1, [r1, #0]
+    1846:	7001		strb	r1, [r0, #0]
+    1848:	48a7		ldr	r0, =0x83ff1c	; via 0x1ae8
+    184a:	2100		mov	r1, #0
+    184c:	7001		strb	r1, [r0, #0]
+    184e:	48e3		ldr	r0, =0x83ff14	; via 0x1bdc
+    1850:	6001		str	r1, [r0, #0]
+    1852:	4874		ldr	r0, =0x83ff20	; via 0x1a24
+    1854:	2105		mov	r1, #5
+    1856:	6001		str	r1, [r0, #0]
+    1858:	b001		add	sp, #4
+    185a:	46f7		mov	pc, lr
+    185c:	b084		sub	sp, #16	; 0x10
+    185e:	9202		str	r2, [sp, #8]
+    1860:	9101		str	r1, [sp, #4]
+    1862:	4669		mov	r1, sp
+    1864:	7008		strb	r0, [r1, #0]
+    1866:	2001		mov	r0, #1
+    1868:	9003		str	r0, [sp, #12]	; 0xc
+    186a:	496d		ldr	r1, =0x83ff24	; via 0x1a20
+    186c:	7808		ldrb	r0, [r1, #0]
+    186e:	3801		sub	r0, #1
+    1870:	7008		strb	r0, [r1, #0]
+    1872:	486b		ldr	r0, =0x83ff24	; via 0x1a20
+    1874:	7800		ldrb	r0, [r0, #0]
+    1876:	2800		cmp	r0, #0
+    1878:	d026		beq	0x18c8
+    187a:	4866		ldr	r0, =0x83ff19	; via 0x1a14
+    187c:	4669		mov	r1, sp
+    187e:	780a		ldrb	r2, [r1, #0]
+    1880:	7801		ldrb	r1, [r0, #0]
+    1882:	1851		add	r1, r2, r1
+    1884:	7001		strb	r1, [r0, #0]
+    1886:	4998		ldr	r1, =0x83ff1c	; via 0x1ae8
+    1888:	7808		ldrb	r0, [r1, #0]
+    188a:	3001		add	r0, #1
+    188c:	7008		strb	r0, [r1, #0]
+    188e:	49d3		ldr	r1, =0x83ff14	; via 0x1bdc
+    1890:	2204		mov	r2, #4
+    1892:	4895		ldr	r0, =0x83ff1c	; via 0x1ae8
+    1894:	7800		ldrb	r0, [r0, #0]
+    1896:	1a10		sub	r0, r2, r0
+    1898:	00c2		lsl	r2, r0, #3
+    189a:	4668		mov	r0, sp
+    189c:	7800		ldrb	r0, [r0, #0]
+    189e:	4090		lsl	r0, r2
+    18a0:	680a		ldr	r2, [r1, #0]
+    18a2:	1880		add	r0, r0, r2
+    18a4:	6008		str	r0, [r1, #0]
+    18a6:	4890		ldr	r0, =0x83ff1c	; via 0x1ae8
+    18a8:	7800		ldrb	r0, [r0, #0]
+    18aa:	2804		cmp	r0, #4
+    18ac:	d117		bne	0x18de
+    18ae:	9902		ldr	r1, [sp, #8]
+    18b0:	48ca		ldr	r0, =0x83ff14	; via 0x1bdc
+    18b2:	6800		ldr	r0, [r0, #0]
+    18b4:	3802		sub	r0, #2
+    18b6:	6008		str	r0, [r1, #0]
+    18b8:	485a		ldr	r0, =0x83ff20	; via 0x1a24
+    18ba:	2100		mov	r1, #0
+    18bc:	6001		str	r1, [r0, #0]
+    18be:	4856		ldr	r0, =0x83ff1a	; via 0x1a18
+    18c0:	7001		strb	r1, [r0, #0]
+    18c2:	4889		ldr	r0, =0x83ff1c	; via 0x1ae8
+    18c4:	7001		strb	r1, [r0, #0]
+    18c6:	e00a		b	0x18de
+    18c8:	9801		ldr	r0, [sp, #4]
+    18ca:	2101		mov	r1, #1
+    18cc:	6001		str	r1, [r0, #0]
+    18ce:	4955		ldr	r1, =0x83ff20	; via 0x1a24
+    18d0:	2001		mov	r0, #1
+    18d2:	6008		str	r0, [r1, #0]
+    18d4:	4855		ldr	r0, =0x83ff18	; via 0x1a2c
+    18d6:	2100		mov	r1, #0
+    18d8:	7001		strb	r1, [r0, #0]
+    18da:	2000		mov	r0, #0
+    18dc:	9003		str	r0, [sp, #12]	; 0xc
+    18de:	9803		ldr	r0, [sp, #12]	; 0xc
+    18e0:	b004		add	sp, #16	; 0x10
+    18e2:	46f7		mov	pc, lr
+    18e4:	b083		sub	sp, #12	; 0xc
+    18e6:	9101		str	r1, [sp, #4]
+    18e8:	4669		mov	r1, sp
+    18ea:	7008		strb	r0, [r1, #0]
+    18ec:	2001		mov	r0, #1
+    18ee:	9002		str	r0, [sp, #8]
+    18f0:	494c		ldr	r1, =0x83ff20	; via 0x1a24
+    18f2:	6008		str	r0, [r1, #0]
+    18f4:	20ff		mov	r0, #255	; 0xff
+    18f6:	4669		mov	r1, sp
+    18f8:	7809		ldrb	r1, [r1, #0]
+    18fa:	4388		bic	r0, r1
+    18fc:	4945		ldr	r1, =0x83ff19	; via 0x1a14
+    18fe:	7809		ldrb	r1, [r1, #0]
+    1900:	4281		cmp	r1, r0
+    1902:	d007		beq	0x1914
+    1904:	9801		ldr	r0, [sp, #4]
+    1906:	2101		mov	r1, #1
+    1908:	6001		str	r1, [r0, #0]
+    190a:	4848		ldr	r0, =0x83ff18	; via 0x1a2c
+    190c:	2100		mov	r1, #0
+    190e:	7001		strb	r1, [r0, #0]
+    1910:	2000		mov	r0, #0
+    1912:	9002		str	r0, [sp, #8]
+    1914:	9802		ldr	r0, [sp, #8]
+    1916:	b003		add	sp, #12	; 0xc
+    1918:	46f7		mov	pc, lr
+    191a:	b085		sub	sp, #20	; 0x14
+    191c:	466b		mov	r3, sp
+    191e:	719a		strb	r2, [r3, #6]
+    1920:	466a		mov	r2, sp
+    1922:	8091		strh	r1, [r2, #4]
+    1924:	9000		str	r0, [sp, #0]
+    1926:	9800		ldr	r0, [sp, #0]
+    1928:	9002		str	r0, [sp, #8]
+    192a:	4669		mov	r1, sp
+    192c:	4668		mov	r0, sp
+    192e:	8880		ldrh	r0, [r0, #4]
+    1930:	8208		strh	r0, [r1, #16]	; 0x10
+    1932:	4668		mov	r0, sp
+    1934:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    1936:	2800		cmp	r0, #0
+    1938:	d01e		beq	0x1978
+    193a:	49e3		ldr	r1, =0x864	; via 0x1cc8
+    193c:	4668		mov	r0, sp
+    193e:	7980		ldrb	r0, [r0, #6]
+    1940:	0080		lsl	r0, r0, #2
+    1942:	5808		ldr	r0, [r1, r0]
+    1944:	7941		ldrb	r1, [r0, #5]
+    1946:	4668		mov	r0, sp
+    1948:	7301		strb	r1, [r0, #12]	; 0xc
+    194a:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    194c:	0980		lsr	r0, r0, #6
+    194e:	d3f4		bcc	0x193a
+    1950:	49dd		ldr	r1, =0x864	; via 0x1cc8
+    1952:	4668		mov	r0, sp
+    1954:	7980		ldrb	r0, [r0, #6]
+    1956:	0080		lsl	r0, r0, #2
+    1958:	5809		ldr	r1, [r1, r0]
+    195a:	9802		ldr	r0, [sp, #8]
+    195c:	7800		ldrb	r0, [r0, #0]
+    195e:	7008		strb	r0, [r1, #0]
+    1960:	9802		ldr	r0, [sp, #8]
+    1962:	3001		add	r0, #1
+    1964:	9002		str	r0, [sp, #8]
+    1966:	4669		mov	r1, sp
+    1968:	4668		mov	r0, sp
+    196a:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    196c:	3801		sub	r0, #1
+    196e:	8208		strh	r0, [r1, #16]	; 0x10
+    1970:	4668		mov	r0, sp
+    1972:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    1974:	2800		cmp	r0, #0
+    1976:	d1e0		bne	0x193a
+    1978:	b005		add	sp, #20	; 0x14
+    197a:	46f7		mov	pc, lr
+    197c:	b082		sub	sp, #8
+    197e:	4669		mov	r1, sp
+    1980:	7008		strb	r0, [r1, #0]
+    1982:	2000		mov	r0, #0
+    1984:	8088		strh	r0, [r1, #4]
+    1986:	4668		mov	r0, sp
+    1988:	8881		ldrh	r1, [r0, #4]
+    198a:	20ff		mov	r0, #255	; 0xff
+    198c:	30f5		add	r0, #245	; 0xf5
+    198e:	4281		cmp	r1, r0
+    1990:	da21		bge	0x19d6
+    1992:	4669		mov	r1, sp
+    1994:	4668		mov	r0, sp
+    1996:	8880		ldrh	r0, [r0, #4]
+    1998:	3001		add	r0, #1
+    199a:	8088		strh	r0, [r1, #4]
+    199c:	48ca		ldr	r0, =0x864	; via 0x1cc8
+    199e:	7809		ldrb	r1, [r1, #0]
+    19a0:	0089		lsl	r1, r1, #2
+    19a2:	5840		ldr	r0, [r0, r1]
+    19a4:	7940		ldrb	r0, [r0, #5]
+    19a6:	4669		mov	r1, sp
+    19a8:	7048		strb	r0, [r1, #1]
+    19aa:	4668		mov	r0, sp
+    19ac:	7840		ldrb	r0, [r0, #1]
+    19ae:	0840		lsr	r0, r0, #1
+    19b0:	d30b		bcc	0x19ca
+    19b2:	49c5		ldr	r1, =0x864	; via 0x1cc8
+    19b4:	4668		mov	r0, sp
+    19b6:	7800		ldrb	r0, [r0, #0]
+    19b8:	0080		lsl	r0, r0, #2
+    19ba:	5808		ldr	r0, [r1, r0]
+    19bc:	7800		ldrb	r0, [r0, #0]
+    19be:	0600		lsl	r0, r0, #24
+    19c0:	0e00		lsr	r0, r0, #24
+    19c2:	4669		mov	r1, sp
+    19c4:	7088		strb	r0, [r1, #2]
+    19c6:	2000		mov	r0, #0
+    19c8:	8088		strh	r0, [r1, #4]
+    19ca:	4668		mov	r0, sp
+    19cc:	8881		ldrh	r1, [r0, #4]
+    19ce:	20ff		mov	r0, #255	; 0xff
+    19d0:	30f5		add	r0, #245	; 0xf5
+    19d2:	4281		cmp	r1, r0
+    19d4:	dbdd		blt	0x1992
+    19d6:	b002		add	sp, #8
+    19d8:	4770		bx	lr
+    19da:	b500		push	{lr}
+    19dc:	b08c		sub	sp, #48	; 0x30
+    19de:	466a		mov	r2, sp
+    19e0:	7111		strb	r1, [r2, #4]
+    19e2:	9000		str	r0, [sp, #0]
+    19e4:	2001		mov	r0, #1
+    19e6:	9002		str	r0, [sp, #8]
+    19e8:	9800		ldr	r0, [sp, #0]
+    19ea:	a904		add	r1, sp, #16	; 0x10
+    19ec:	aa03		add	r2, sp, #12	; 0xc
+    19ee:	f7ff fd75	bl	0x14dc
+    19f2:	4668		mov	r0, sp
+    19f4:	8980		ldrh	r0, [r0, #12]	; 0xc
+    19f6:	2820		cmp	r0, #32	; 0x20
+    19f8:	dd02		ble	0x1a00
+    19fa:	2000		mov	r0, #0
+    19fc:	9002		str	r0, [sp, #8]
+    19fe:	e006		b	0x1a0e
+    1a00:	a804		add	r0, sp, #16	; 0x10
+    1a02:	4669		mov	r1, sp
+    1a04:	8989		ldrh	r1, [r1, #12]	; 0xc
+    1a06:	466a		mov	r2, sp
+    1a08:	7912		ldrb	r2, [r2, #4]
+    1a0a:	f7ff ff86	bl	0x191a
+    1a0e:	9802		ldr	r0, [sp, #8]
+    1a10:	b00c		add	sp, #48	; 0x30
+    1a12:	bd00		pop	{pc}
+    1a14:	ff19		<half-bl>
+    1a16:	0083		lsl	r3, r0, #2
+    1a18:	ff1a		<half-bl>
+    1a1a:	0083		lsl	r3, r0, #2
+    1a1c:	ff26		<half-bl>
+    1a1e:	0083		lsl	r3, r0, #2
+    1a20:	ff24		<half-bl>
+    1a22:	0083		lsl	r3, r0, #2
+    1a24:	ff20		<half-bl>
+    1a26:	0083		lsl	r3, r0, #2
+    1a28:	ff1b		<half-bl>
+    1a2a:	0083		lsl	r3, r0, #2
+    1a2c:	ff18		<half-bl>
+    1a2e:	0083		lsl	r3, r0, #2
+    1a30:	b500		push	{lr}
+    1a32:	b084		sub	sp, #16	; 0x10
+    1a34:	9101		str	r1, [sp, #4]
+    1a36:	9000		str	r0, [sp, #0]
+    1a38:	4669		mov	r1, sp
+    1a3a:	20ff		mov	r0, #255	; 0xff
+    1a3c:	7308		strb	r0, [r1, #12]	; 0xc
+    1a3e:	2000		mov	r0, #0
+    1a40:	9002		str	r0, [sp, #8]
+    1a42:	4669		mov	r1, sp
+    1a44:	48a1		ldr	r0, =0xffff5805	; via 0x1ccc
+    1a46:	7800		ldrb	r0, [r0, #0]
+    1a48:	7348		strb	r0, [r1, #13]	; 0xd
+    1a4a:	48a1		ldr	r0, =0xffff5005	; via 0x1cd0
+    1a4c:	7800		ldrb	r0, [r0, #0]
+    1a4e:	7388		strb	r0, [r1, #14]	; 0xe
+    1a50:	4668		mov	r0, sp
+    1a52:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1a54:	0840		lsr	r0, r0, #1
+    1a56:	d206		bcs	0x1a66
+    1a58:	4668		mov	r0, sp
+    1a5a:	7b80		ldrb	r0, [r0, #14]	; 0xe
+    1a5c:	0840		lsr	r0, r0, #1
+    1a5e:	d202		bcs	0x1a66
+    1a60:	9801		ldr	r0, [sp, #4]
+    1a62:	2800		cmp	r0, #0
+    1a64:	d0ed		beq	0x1a42
+    1a66:	4668		mov	r0, sp
+    1a68:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1a6a:	0840		lsr	r0, r0, #1
+    1a6c:	d316		bcc	0x1a9c
+    1a6e:	4669		mov	r1, sp
+    1a70:	2000		mov	r0, #0
+    1a72:	7308		strb	r0, [r1, #12]	; 0xc
+    1a74:	4994		ldr	r1, =0x864	; via 0x1cc8
+    1a76:	4668		mov	r0, sp
+    1a78:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1a7a:	0080		lsl	r0, r0, #2
+    1a7c:	5808		ldr	r0, [r1, r0]
+    1a7e:	7800		ldrb	r0, [r0, #0]
+    1a80:	0600		lsl	r0, r0, #24
+    1a82:	0e00		lsr	r0, r0, #24
+    1a84:	4669		mov	r1, sp
+    1a86:	73c8		strb	r0, [r1, #15]	; 0xf
+    1a88:	4668		mov	r0, sp
+    1a8a:	7bc0		ldrb	r0, [r0, #15]	; 0xf
+    1a8c:	9900		ldr	r1, [sp, #0]
+    1a8e:	f7ff fc9f	bl	0x13d0
+    1a92:	9002		str	r0, [sp, #8]
+    1a94:	9802		ldr	r0, [sp, #8]
+    1a96:	2800		cmp	r0, #0
+    1a98:	d11c		bne	0x1ad4
+    1a9a:	e018		b	0x1ace
+    1a9c:	4668		mov	r0, sp
+    1a9e:	7b80		ldrb	r0, [r0, #14]	; 0xe
+    1aa0:	0840		lsr	r0, r0, #1
+    1aa2:	d317		bcc	0x1ad4
+    1aa4:	4669		mov	r1, sp
+    1aa6:	2001		mov	r0, #1
+    1aa8:	7308		strb	r0, [r1, #12]	; 0xc
+    1aaa:	4987		ldr	r1, =0x864	; via 0x1cc8
+    1aac:	4668		mov	r0, sp
+    1aae:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1ab0:	0080		lsl	r0, r0, #2
+    1ab2:	5808		ldr	r0, [r1, r0]
+    1ab4:	7800		ldrb	r0, [r0, #0]
+    1ab6:	0600		lsl	r0, r0, #24
+    1ab8:	0e01		lsr	r1, r0, #24
+    1aba:	4668		mov	r0, sp
+    1abc:	73c1		strb	r1, [r0, #15]	; 0xf
+    1abe:	7bc0		ldrb	r0, [r0, #15]	; 0xf
+    1ac0:	9900		ldr	r1, [sp, #0]
+    1ac2:	f7ff fc85	bl	0x13d0
+    1ac6:	9002		str	r0, [sp, #8]
+    1ac8:	9802		ldr	r0, [sp, #8]
+    1aca:	2800		cmp	r0, #0
+    1acc:	d102		bne	0x1ad4
+    1ace:	20ff		mov	r0, #255	; 0xff
+    1ad0:	4669		mov	r1, sp
+    1ad2:	7308		strb	r0, [r1, #12]	; 0xc
+    1ad4:	9802		ldr	r0, [sp, #8]
+    1ad6:	2800		cmp	r0, #0
+    1ad8:	d102		bne	0x1ae0
+    1ada:	9801		ldr	r0, [sp, #4]
+    1adc:	2800		cmp	r0, #0
+    1ade:	d0b0		beq	0x1a42
+    1ae0:	4668		mov	r0, sp
+    1ae2:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1ae4:	b004		add	sp, #16	; 0x10
+    1ae6:	bd00		pop	{pc}
+    1ae8:	ff1c		<half-bl>
+    1aea:	0083		lsl	r3, r0, #2
+    1aec:	0830		lsr	r0, r6, #32
+    1aee:	0000		lsl	r0, r0, #0
+    1af0:	084c		lsr	r4, r1, #1
+    1af2:	0000		lsl	r0, r0, #0
+    1af4:	b500		push	{lr}
+    1af6:	b086		sub	sp, #24	; 0x18
+    1af8:	466b		mov	r3, sp
+    1afa:	721a		strb	r2, [r3, #8]
+    1afc:	9101		str	r1, [sp, #4]
+    1afe:	9000		str	r0, [sp, #0]
+    1b00:	2001		mov	r0, #1
+    1b02:	9004		str	r0, [sp, #16]	; 0x10
+    1b04:	9804		ldr	r0, [sp, #16]	; 0x10
+    1b06:	2800		cmp	r0, #0
+    1b08:	d05b		beq	0x1bc2
+    1b0a:	496f		ldr	r1, =0x864	; via 0x1cc8
+    1b0c:	4668		mov	r0, sp
+    1b0e:	7a00		ldrb	r0, [r0, #8]
+    1b10:	0080		lsl	r0, r0, #2
+    1b12:	5808		ldr	r0, [r1, r0]
+    1b14:	7941		ldrb	r1, [r0, #5]
+    1b16:	4668		mov	r0, sp
+    1b18:	7301		strb	r1, [r0, #12]	; 0xc
+    1b1a:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1b1c:	0840		lsr	r0, r0, #1
+    1b1e:	d3f4		bcc	0x1b0a
+    1b20:	4969		ldr	r1, =0x864	; via 0x1cc8
+    1b22:	4668		mov	r0, sp
+    1b24:	7a00		ldrb	r0, [r0, #8]
+    1b26:	0080		lsl	r0, r0, #2
+    1b28:	5808		ldr	r0, [r1, r0]
+    1b2a:	7800		ldrb	r0, [r0, #0]
+    1b2c:	0600		lsl	r0, r0, #24
+    1b2e:	0e01		lsr	r1, r0, #24
+    1b30:	4668		mov	r0, sp
+    1b32:	7341		strb	r1, [r0, #13]	; 0xd
+    1b34:	e02c		b	0x1b90
+    1b36:	4668		mov	r0, sp
+    1b38:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b3a:	a905		add	r1, sp, #20	; 0x14
+    1b3c:	9a00		ldr	r2, [sp, #0]
+    1b3e:	9b01		ldr	r3, [sp, #4]
+    1b40:	f7ff fd8c	bl	0x165c
+    1b44:	9004		str	r0, [sp, #16]	; 0x10
+    1b46:	e039		b	0x1bbc
+    1b48:	4668		mov	r0, sp
+    1b4a:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b4c:	a905		add	r1, sp, #20	; 0x14
+    1b4e:	f7ff fdc2	bl	0x16d6
+    1b52:	e7f7		b	0x1b44
+    1b54:	4668		mov	r0, sp
+    1b56:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b58:	a905		add	r1, sp, #20	; 0x14
+    1b5a:	f7ff fe12	bl	0x1782
+    1b5e:	e7f1		b	0x1b44
+    1b60:	4668		mov	r0, sp
+    1b62:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b64:	a905		add	r1, sp, #20	; 0x14
+    1b66:	f7ff fe34	bl	0x17d2
+    1b6a:	e7eb		b	0x1b44
+    1b6c:	4668		mov	r0, sp
+    1b6e:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b70:	f7ff fe5e	bl	0x1830
+    1b74:	e022		b	0x1bbc
+    1b76:	4668		mov	r0, sp
+    1b78:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b7a:	a905		add	r1, sp, #20	; 0x14
+    1b7c:	9a00		ldr	r2, [sp, #0]
+    1b7e:	f7ff fe6d	bl	0x185c
+    1b82:	e7df		b	0x1b44
+    1b84:	4668		mov	r0, sp
+    1b86:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b88:	a905		add	r1, sp, #20	; 0x14
+    1b8a:	f7ff feab	bl	0x18e4
+    1b8e:	e7d9		b	0x1b44
+    1b90:	4850		ldr	r0, =0x83ff20	; via 0x1cd4
+    1b92:	6800		ldr	r0, [r0, #0]
+    1b94:	2800		cmp	r0, #0
+    1b96:	d0ce		beq	0x1b36
+    1b98:	3801		sub	r0, #1
+    1b9a:	2800		cmp	r0, #0
+    1b9c:	d0d4		beq	0x1b48
+    1b9e:	3801		sub	r0, #1
+    1ba0:	2800		cmp	r0, #0
+    1ba2:	d0d7		beq	0x1b54
+    1ba4:	3801		sub	r0, #1
+    1ba6:	2800		cmp	r0, #0
+    1ba8:	d0da		beq	0x1b60
+    1baa:	3801		sub	r0, #1
+    1bac:	2800		cmp	r0, #0
+    1bae:	d0dd		beq	0x1b6c
+    1bb0:	3801		sub	r0, #1
+    1bb2:	2800		cmp	r0, #0
+    1bb4:	d0df		beq	0x1b76
+    1bb6:	3801		sub	r0, #1
+    1bb8:	2800		cmp	r0, #0
+    1bba:	d0e3		beq	0x1b84
+    1bbc:	9804		ldr	r0, [sp, #16]	; 0x10
+    1bbe:	2800		cmp	r0, #0
+    1bc0:	d1a3		bne	0x1b0a
+    1bc2:	9805		ldr	r0, [sp, #20]	; 0x14
+    1bc4:	b006		add	sp, #24	; 0x18
+    1bc6:	bd00		pop	{pc}
+    1bc8:	4942		ldr	r1, =0x83ff20	; via 0x1cd4
+    1bca:	2001		mov	r0, #1
+    1bcc:	6008		str	r0, [r1, #0]
+    1bce:	4842		ldr	r0, =0x83ff1b	; via 0x1cd8
+    1bd0:	2100		mov	r1, #0
+    1bd2:	7001		strb	r1, [r0, #0]
+    1bd4:	4841		ldr	r0, =0x83ff18	; via 0x1cdc
+    1bd6:	7001		strb	r1, [r0, #0]
+    1bd8:	4770		bx	lr
+    1bda:	46c0		nop			(mov r8, r8)
+
+    1bdc:	0083ff14
+
+; hoping this routine will be the same as 0x1c38 in the C139 version
+; same length, looks the same on inspection
+    1be0:	b081		sub	sp, #4
+    1be2:	483f		ldr	r0, =0xffff5800	; via 0x1ce0
+    1be4:	9000		str	r0, [sp, #0]
+    1be6:	493f		ldr	r1, =0xffff6000	; via 0x1ce4
+    1be8:	2002		mov	r0, #2
+    1bea:	880a		ldrh	r2, [r1, #0]
+    1bec:	4310		orr	r0, r2
+    1bee:	8008		strh	r0, [r1, #0]
+    1bf0:	483c		ldr	r0, =0xffff6000	; via 0x1ce4
+    1bf2:	8801		ldrh	r1, [r0, #0]
+    1bf4:	0849		lsr	r1, r1, #1
+    1bf6:	0049		lsl	r1, r1, #1
+    1bf8:	8001		strh	r1, [r0, #0]
+    1bfa:	493a		ldr	r1, =0xffff6000	; via 0x1ce4
+    1bfc:	8808		ldrh	r0, [r1, #0]
+    1bfe:	2202		mov	r2, #2
+    1c00:	4390		bic	r0, r2
+    1c02:	8008		strh	r0, [r1, #0]
+    1c04:	9900		ldr	r1, [sp, #0]
+    1c06:	2007		mov	r0, #7
+    1c08:	7208		strb	r0, [r1, #8]
+    1c0a:	9900		ldr	r1, [sp, #0]
+    1c0c:	20bf		mov	r0, #191	; 0xbf
+    1c0e:	70c8		strb	r0, [r1, #3]
+    1c10:	9800		ldr	r0, [sp, #0]
+    1c12:	1c81		add	r1, r0, #2
+    1c14:	2010		mov	r0, #16	; 0x10
+    1c16:	880a		ldrh	r2, [r1, #0]
+    1c18:	4310		orr	r0, r2
+    1c1a:	8008		strh	r0, [r1, #0]
+    1c1c:	9800		ldr	r0, [sp, #0]
+    1c1e:	2180		mov	r1, #128	; 0x80
+    1c20:	70c1		strb	r1, [r0, #3]
+    1c22:	9800		ldr	r0, [sp, #0]
+    1c24:	2107		mov	r1, #7
+    1c26:	7081		strb	r1, [r0, #2]
+    1c28:	9800		ldr	r0, [sp, #0]
+    1c2a:	21bf		mov	r1, #191	; 0xbf
+    1c2c:	70c1		strb	r1, [r0, #3]
+    1c2e:	9800		ldr	r0, [sp, #0]
+    1c30:	2107		mov	r1, #7
+    1c32:	7001		strb	r1, [r0, #0]
+    1c34:	9800		ldr	r0, [sp, #0]
+    1c36:	2100		mov	r1, #0
+    1c38:	7041		strb	r1, [r0, #1]
+    1c3a:	9800		ldr	r0, [sp, #0]
+    1c3c:	2103		mov	r1, #3
+    1c3e:	70c1		strb	r1, [r0, #3]
+    1c40:	9800		ldr	r0, [sp, #0]
+    1c42:	2100		mov	r1, #0
+    1c44:	7201		strb	r1, [r0, #8]
+    1c46:	4828		ldr	r0, =0xffff5000	; via 0x1ce8
+    1c48:	9000		str	r0, [sp, #0]
+    1c4a:	9800		ldr	r0, [sp, #0]
+    1c4c:	2107		mov	r1, #7
+    1c4e:	7201		strb	r1, [r0, #8]
+    1c50:	9900		ldr	r1, [sp, #0]
+    1c52:	20bf		mov	r0, #191	; 0xbf
+    1c54:	70c8		strb	r0, [r1, #3]
+    1c56:	9800		ldr	r0, [sp, #0]
+    1c58:	1c80		add	r0, r0, #2
+    1c5a:	2110		mov	r1, #16	; 0x10
+    1c5c:	8802		ldrh	r2, [r0, #0]
+    1c5e:	4311		orr	r1, r2
+    1c60:	8001		strh	r1, [r0, #0]
+    1c62:	9800		ldr	r0, [sp, #0]
+    1c64:	2180		mov	r1, #128	; 0x80
+    1c66:	70c1		strb	r1, [r0, #3]
+    1c68:	9800		ldr	r0, [sp, #0]
+    1c6a:	2107		mov	r1, #7
+    1c6c:	7081		strb	r1, [r0, #2]
+    1c6e:	9800		ldr	r0, [sp, #0]
+    1c70:	21bf		mov	r1, #191	; 0xbf
+    1c72:	70c1		strb	r1, [r0, #3]
+    1c74:	9800		ldr	r0, [sp, #0]
+    1c76:	2107		mov	r1, #7
+    1c78:	7001		strb	r1, [r0, #0]
+    1c7a:	9800		ldr	r0, [sp, #0]
+    1c7c:	2100		mov	r1, #0
+    1c7e:	7041		strb	r1, [r0, #1]
+    1c80:	9900		ldr	r1, [sp, #0]
+    1c82:	2003		mov	r0, #3
+    1c84:	70c8		strb	r0, [r1, #3]
+    1c86:	9800		ldr	r0, [sp, #0]
+    1c88:	2100		mov	r1, #0
+    1c8a:	7201		strb	r1, [r0, #8]
+    1c8c:	b001		add	sp, #4
+    1c8e:	4770		bx	lr
+
+    1c90:	b081		sub	sp, #4
+    1c92:	4669		mov	r1, sp
+    1c94:	7008		strb	r0, [r1, #0]
+    1c96:	490c		ldr	r1, =0x864	; via 0x1cc8
+    1c98:	4668		mov	r0, sp
+    1c9a:	7800		ldrb	r0, [r0, #0]
+    1c9c:	0080		lsl	r0, r0, #2
+    1c9e:	5808		ldr	r0, [r1, r0]
+    1ca0:	7941		ldrb	r1, [r0, #5]
+    1ca2:	4668		mov	r0, sp
+    1ca4:	7041		strb	r1, [r0, #1]
+    1ca6:	7840		ldrb	r0, [r0, #1]
+    1ca8:	09c0		lsr	r0, r0, #7
+    1caa:	d20b		bcs	0x1cc4
+    1cac:	4806		ldr	r0, =0x864	; via 0x1cc8
+    1cae:	4669		mov	r1, sp
+    1cb0:	7809		ldrb	r1, [r1, #0]
+    1cb2:	0089		lsl	r1, r1, #2
+    1cb4:	5840		ldr	r0, [r0, r1]
+    1cb6:	7940		ldrb	r0, [r0, #5]
+    1cb8:	4669		mov	r1, sp
+    1cba:	7048		strb	r0, [r1, #1]
+    1cbc:	4668		mov	r0, sp
+    1cbe:	7840		ldrb	r0, [r0, #1]
+    1cc0:	09c0		lsr	r0, r0, #7
+    1cc2:	d3f3		bcc	0x1cac
+    1cc4:	b001		add	sp, #4
+    1cc6:	4770		bx	lr
+    1cc8:	0864		lsr	r4, r4, #1
+    1cca:	0000		lsl	r0, r0, #0
+    1ccc:	5805		ldr	r5, [r0, r0]
+    1cce:	ffff		<half-bl>
+    1cd0:	5005		str	r5, [r0, r0]
+    1cd2:	ffff		<half-bl>
+    1cd4:	ff20		<half-bl>
+    1cd6:	0083		lsl	r3, r0, #2
+    1cd8:	ff1b		<half-bl>
+    1cda:	0083		lsl	r3, r0, #2
+    1cdc:	ff18		<half-bl>
+    1cde:	0083		lsl	r3, r0, #2
+    1ce0:	5800		ldr	r0, [r0, r0]
+    1ce2:	ffff		<half-bl>
+    1ce4:	6000		str	r0, [r0, #0]
+    1ce6:	ffff		<half-bl>
+    1ce8:	5000		str	r0, [r0, r0]
+    1cea:	ffff		<half-bl>
+    1cec:	b500		push	{lr}
+    1cee:	b087		sub	sp, #28	; 0x1c
+    1cf0:	466b		mov	r3, sp
+    1cf2:	721a		strb	r2, [r3, #8]
+    1cf4:	9101		str	r1, [sp, #4]
+    1cf6:	9000		str	r0, [sp, #0]
+    1cf8:	9900		ldr	r1, [sp, #0]
+    1cfa:	2000		mov	r0, #0
+    1cfc:	8008		strh	r0, [r1, #0]
+    1cfe:	9801		ldr	r0, [sp, #4]
+    1d00:	2100		mov	r1, #0
+    1d02:	8001		strh	r1, [r0, #0]
+    1d04:	2000		mov	r0, #0
+    1d06:	9003		str	r0, [sp, #12]	; 0xc
+    1d08:	f7ff ff5e	bl	0x1bc8
+    1d0c:	a805		add	r0, sp, #20	; 0x14
+    1d0e:	a906		add	r1, sp, #24	; 0x18
+    1d10:	466a		mov	r2, sp
+    1d12:	7a12		ldrb	r2, [r2, #8]
+    1d14:	f7ff feee	bl	0x1af4
+    1d18:	9004		str	r0, [sp, #16]	; 0x10
+    1d1a:	9804		ldr	r0, [sp, #16]	; 0x10
+    1d1c:	2800		cmp	r0, #0
+    1d1e:	d11f		bne	0x1d60
+    1d20:	9803		ldr	r0, [sp, #12]	; 0xc
+    1d22:	2800		cmp	r0, #0
+    1d24:	d11c		bne	0x1d60
+    1d26:	9800		ldr	r0, [sp, #0]
+    1d28:	4669		mov	r1, sp
+    1d2a:	8b0a		ldrh	r2, [r1, #24]	; 0x18
+    1d2c:	8801		ldrh	r1, [r0, #0]
+    1d2e:	1851		add	r1, r2, r1
+    1d30:	8001		strh	r1, [r0, #0]
+    1d32:	9905		ldr	r1, [sp, #20]	; 0x14
+    1d34:	4668		mov	r0, sp
+    1d36:	8b00		ldrh	r0, [r0, #24]	; 0x18
+    1d38:	8008		strh	r0, [r1, #0]
+    1d3a:	9801		ldr	r0, [sp, #4]
+    1d3c:	9905		ldr	r1, [sp, #20]	; 0x14
+    1d3e:	8809		ldrh	r1, [r1, #0]
+    1d40:	8802		ldrh	r2, [r0, #0]
+    1d42:	1889		add	r1, r1, r2
+    1d44:	8001		strh	r1, [r0, #0]
+    1d46:	a805		add	r0, sp, #20	; 0x14
+    1d48:	a906		add	r1, sp, #24	; 0x18
+    1d4a:	466a		mov	r2, sp
+    1d4c:	7a12		ldrb	r2, [r2, #8]
+    1d4e:	f7ff fed1	bl	0x1af4
+    1d52:	9004		str	r0, [sp, #16]	; 0x10
+    1d54:	9804		ldr	r0, [sp, #16]	; 0x10
+    1d56:	2800		cmp	r0, #0
+    1d58:	d102		bne	0x1d60
+    1d5a:	9803		ldr	r0, [sp, #12]	; 0xc
+    1d5c:	2800		cmp	r0, #0
+    1d5e:	d0e2		beq	0x1d26
+    1d60:	9804		ldr	r0, [sp, #16]	; 0x10
+    1d62:	2801		cmp	r0, #1
+    1d64:	d101		bne	0x1d6a
+    1d66:	2004		mov	r0, #4
+    1d68:	9003		str	r0, [sp, #12]	; 0xc
+    1d6a:	9803		ldr	r0, [sp, #12]	; 0xc
+    1d6c:	b007		add	sp, #28	; 0x1c
+    1d6e:	bd00		pop	{pc}
+    1d70:	b089		sub	sp, #36	; 0x24
+    1d72:	201a		mov	r0, #26	; 0x1a
+    1d74:	9005		str	r0, [sp, #20]	; 0x14
+    1d76:	2018		mov	r0, #24	; 0x18
+    1d78:	9006		str	r0, [sp, #24]	; 0x18
+    1d7a:	2000		mov	r0, #0
+    1d7c:	9008		str	r0, [sp, #32]	; 0x20
+    1d7e:	4669		mov	r1, sp
+    1d80:	9805		ldr	r0, [sp, #20]	; 0x14
+    1d82:	8800		ldrh	r0, [r0, #0]
+    1d84:	8008		strh	r0, [r1, #0]
+    1d86:	9806		ldr	r0, [sp, #24]	; 0x18
+    1d88:	8800		ldrh	r0, [r0, #0]
+    1d8a:	8048		strh	r0, [r1, #2]
+    1d8c:	4668		mov	r0, sp
+    1d8e:	8841		ldrh	r1, [r0, #2]
+    1d90:	8800		ldrh	r0, [r0, #0]
+    1d92:	0400		lsl	r0, r0, #16
+    1d94:	1808		add	r0, r1, r0
+    1d96:	9001		str	r0, [sp, #4]
+    1d98:	9801		ldr	r0, [sp, #4]
+    1d9a:	0200		lsl	r0, r0, #8
+    1d9c:	0a00		lsr	r0, r0, #8
+    1d9e:	0080		lsl	r0, r0, #2
+    1da0:	3008		add	r0, #8
+    1da2:	9007		str	r0, [sp, #28]	; 0x1c
+    1da4:	9807		ldr	r0, [sp, #28]	; 0x1c
+    1da6:	3018		add	r0, #24	; 0x18
+    1da8:	9002		str	r0, [sp, #8]
+    1daa:	9802		ldr	r0, [sp, #8]
+    1dac:	9004		str	r0, [sp, #16]	; 0x10
+    1dae:	9802		ldr	r0, [sp, #8]
+    1db0:	3002		add	r0, #2
+    1db2:	9003		str	r0, [sp, #12]	; 0xc
+    1db4:	9803		ldr	r0, [sp, #12]	; 0xc
+    1db6:	8801		ldrh	r1, [r0, #0]
+    1db8:	4806		ldr	r0, =0xffff	; via 0x1dd4
+    1dba:	4281		cmp	r1, r0
+    1dbc:	d104		bne	0x1dc8
+    1dbe:	9804		ldr	r0, [sp, #16]	; 0x10
+    1dc0:	8800		ldrh	r0, [r0, #0]
+    1dc2:	4904		ldr	r1, =0xffff	; via 0x1dd4
+    1dc4:	4288		cmp	r0, r1
+    1dc6:	d001		beq	0x1dcc
+    1dc8:	2001		mov	r0, #1
+    1dca:	9008		str	r0, [sp, #32]	; 0x20
+    1dcc:	9808		ldr	r0, [sp, #32]	; 0x20
+    1dce:	b009		add	sp, #36	; 0x24
+    1dd0:	4770		bx	lr
+    1dd2:	46c0		nop			(mov r8, r8)
+
+    1dd4:	0000ffff
+
+; ARM->Thumb call veneer around 0xad2 routine
+    1dd8:	e92d4000	stmdb	sp!, {lr}
+    1ddc:	e28fe001	add	lr, pc, #1
+    1de0:	e12fff1e	bx	lr
+    1de4:	f7fe fe75	bl	0xad2
+    1de8:	4778		bx	pc
+    1dea:	46c0		nop			(mov r8, r8)
+    1dec:	e8bd8000	ldmia	sp!, {pc}
+
+<1DF0-1EFF: all FFs>
+
+    1f00:	00000001
+
+<1F04-end: all FFs>
Binary file compal/boot/c123-newboot.bin has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compal/boot/c123-newboot.disasm	Sat Jan 14 06:17:56 2023 +0000
@@ -0,0 +1,2708 @@
+RESET entry and exception vectors:
+       0:	ea000225	b	0x89c
+       4:	ea000825	b	0x20a0
+       8:	ea000825	b	0x20a4
+       c:	ea000825	b	0x20a8
+      10:	ea000825	b	0x20ac
+      14:	ea000825	b	0x20b0
+      18:	ea000825	b	0x20b4
+      1c:	ea000825	b	0x20b8
+
+; magic words?
+      20:	4491582a
+      24:	4491582b
+      28:	44915857
+      2c:	44915858
+
+<30-7FF: all FFs>
+
+00000800:  42 4F 4F 54 2E 39 30 2E  30 34 00 00 00 00 00 00  BOOT.90.04......
+00000810:  31 30 30 33 01 04 00 00  FF FF FF FF FF FF FF FF  1003............
+00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................
+
+; everything up to 0x958 is the same as in the classic versions
+     830:	00000006
+     834:	00000000
+     838:	00000000
+     83c:	00000048
+     840:	00000044
+     844:	00000052
+     848:	0000001b
+     84c:	00000005
+     850:	00000000
+     854:	00000000
+     858:	00000000
+     85c:	00000000
+     860:	000000fa
+     864:	ffff5800
+     868:	ffff5000
+     86c:	fffffb00
+     870:	02a102a1
+     874:	028302a1
+     878:	00c00281
+     87c:	002a0040
+     880:	00000040
+     884:	fffffd00
+     888:	ffff9800
+     88c:	fffffb10
+     890:	ffffff08
+     894:	20061081
+     898:	00000800
+
+; RESET entry point
+     89c:	e51f1020	ldr	r1, =0xfffffd00	; via 0x884
+     8a0:	e1d120b2	ldrh	r2, [r1, #2]
+     8a4:	e51f002c	ldr	r0, =0x40	; via 0x880
+     8a8:	e1800002	orr	r0, r0, r2
+     8ac:	e1c100b2	strh	r0, [r1, #2]
+     8b0:	e51f1030	ldr	r1, =0xffff9800	; via 0x888
+     8b4:	e15f22b6	ldrh	r2, =0x2006	; via 0x896
+     8b8:	e1c120b0	strh	r2, [r1]
+     8bc:	e5912000	ldr	r2, [r1]
+     8c0:	e2022001	and	r2, r2, #1
+     8c4:	e3520001	cmp	r2, #1
+     8c8:	0afffffb	beq	0x8bc
+     8cc:	e51f1050	ldr	r1, =0xfffffd00	; via 0x884
+     8d0:	e15f24b4	ldrh	r2, =0x1081	; via 0x894
+     8d4:	e1c120b0	strh	r2, [r1]
+     8d8:	e51f1054	ldr	r1, =0xfffffb10	; via 0x88c
+     8dc:	e15f24bc	ldrh	r2, =0x800	; via 0x898
+     8e0:	e1d100b0	ldrh	r0, [r1]
+     8e4:	e1800002	orr	r0, r0, r2
+     8e8:	e1c100b0	strh	r0, [r1]
+     8ec:	e51f1064	ldr	r1, =0xffffff08	; via 0x890
+     8f0:	e15f25be	ldrh	r2, =0x0	; via 0x89a
+     8f4:	e1c120b0	strh	r2, [r1]
+     8f8:	e51f1094	ldr	r1, =0xfffffb00	; via 0x86c
+     8fc:	e15f29b4	ldrh	r2, =0x2a1	; via 0x870
+     900:	e1c120b0	strh	r2, [r1]
+     904:	e15f29ba	ldrh	r2, =0x2a1	; via 0x872
+     908:	e1c120b2	strh	r2, [r1, #2]
+     90c:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x874
+     910:	e1c120b4	strh	r2, [r1, #4]
+     914:	e15f2ab6	ldrh	r2, =0x283	; via 0x876
+     918:	e1c120b6	strh	r2, [r1, #6]
+     91c:	e15f2abc	ldrh	r2, =0x281	; via 0x878
+     920:	e1c120ba	strh	r2, [r1, #10]	; 0xa
+     924:	e15f2bb2	ldrh	r2, =0xc0	; via 0x87a
+     928:	e1c120bc	strh	r2, [r1, #12]	; 0xc
+     92c:	e15f2bb8	ldrh	r2, =0x40	; via 0x87c
+     930:	e1c120b8	strh	r2, [r1, #8]
+     934:	e15f2bbe	ldrh	r2, =0x2a	; via 0x87e
+     938:	e1c120be	strh	r2, [r1, #14]	; 0xe
+     93c:	e59f0020	ldr	r0, =0x83e730	; via 0x964
+     940:	e3a01b01	mov	r1, #1024	; 0x400
+     944:	e2411004	sub	r1, r1, #4
+     948:	e0802001	add	r2, r0, r1
+     94c:	e3c22003	bic	r2, r2, #3
+     950:	e1a0d002	mov	sp, r2
+; business logic
+     954:	e92d100f	stmdb	sp!, {r0, r1, r2, r3, r12}
+     958:	eb000544	bl	0x1e70
+     95c:	e8bd100f	ldmia	sp!, {r0, r1, r2, r3, r12}
+     960:	ea0005e4	b	0x20f8
+
+; stack address, varies by version
+     964:	0083e730
+
+     968:	4961		ldr	r1, =0xfffffa08	; via 0xaf0
+     96a:	4862		ldr	r0, =0xffff	; via 0xaf4
+     96c:	8008		strh	r0, [r1, #0]
+     96e:	4862		ldr	r0, =0xfffffa0a	; via 0xaf8
+     970:	211f		mov	r1, #31	; 0x1f
+     972:	8001		strh	r1, [r0, #0]
+     974:	4861		ldr	r0, =0xfffff804	; via 0xafc
+     976:	21f5		mov	r1, #245	; 0xf5
+     978:	8001		strh	r1, [r0, #0]
+     97a:	21a0		mov	r1, #160	; 0xa0
+     97c:	8001		strh	r1, [r0, #0]
+     97e:	4860		ldr	r0, =0xffff9800	; via 0xb00
+     980:	4960		ldr	r1, =0x2002	; via 0xb04
+     982:	8001		strh	r1, [r0, #0]
+     984:	485e		ldr	r0, =0xffff9800	; via 0xb00
+     986:	8800		ldrh	r0, [r0, #0]
+     988:	0840		lsr	r0, r0, #1
+     98a:	d2fb		bcs	0x984
+     98c:	495e		ldr	r1, =0xfffffd00	; via 0xb08
+     98e:	485f		ldr	r0, =0x1001	; via 0xb0c
+     990:	8008		strh	r0, [r1, #0]
+     992:	46f7		mov	pc, lr
+
+     994:	b500		push	{lr}
+     996:	b0ff		sub	sp, #508	; 0x1fc
+     998:	b0ca		sub	sp, #296	; 0x128
+     99a:	2000		mov	r0, #0
+     99c:	9001		str	r0, [sp, #4]
+     99e:	9801		ldr	r0, [sp, #4]
+     9a0:	2800		cmp	r0, #0
+     9a2:	d14e		bne	0xa42
+     9a4:	a846		add	r0, sp, #280	; 0x118
+     9a6:	2100		mov	r1, #0
+     9a8:	f001 f88e	bl	0x1ac8
+     9ac:	a9c8		add	r1, sp, #800	; 0x320
+     9ae:	7008		strb	r0, [r1, #0]
+     9b0:	a846		add	r0, sp, #280	; 0x118
+     9b2:	a902		add	r1, sp, #8
+     9b4:	f000 fb4c	bl	0x1050
+     9b8:	9000		str	r0, [sp, #0]
+     9ba:	9800		ldr	r0, [sp, #0]
+     9bc:	2800		cmp	r0, #0
+     9be:	d01b		beq	0x9f8
+     9c0:	a924		add	r1, sp, #144	; 0x90
+     9c2:	4668		mov	r0, sp
+     9c4:	7a00		ldrb	r0, [r0, #8]
+     9c6:	7008		strb	r0, [r1, #0]
+     9c8:	2191		mov	r1, #145	; 0x91
+     9ca:	466a		mov	r2, sp
+     9cc:	4668		mov	r0, sp
+     9ce:	7800		ldrb	r0, [r0, #0]
+     9d0:	5488		strb	r0, [r1, r2]
+     9d2:	e01b		b	0xa0c
+     9d4:	a802		add	r0, sp, #8
+     9d6:	a924		add	r1, sp, #144	; 0x90
+     9d8:	f000 fe28	bl	0x162c
+     9dc:	e016		b	0xa0c
+     9de:	a802		add	r0, sp, #8
+     9e0:	a924		add	r1, sp, #144	; 0x90
+     9e2:	aac8		add	r2, sp, #800	; 0x320
+     9e4:	7812		ldrb	r2, [r2, #0]
+     9e6:	f000 fe35	bl	0x1654
+     9ea:	e00f		b	0xa0c
+     9ec:	a802		add	r0, sp, #8
+     9ee:	a924		add	r1, sp, #144	; 0x90
+     9f0:	f000 fe67	bl	0x16c2
+     9f4:	90c7		str	r0, [sp, #796]	; 0x31c
+     9f6:	e009		b	0xa0c
+     9f8:	4668		mov	r0, sp
+     9fa:	7a00		ldrb	r0, [r0, #8]
+     9fc:	2800		cmp	r0, #0
+     9fe:	d0e9		beq	0x9d4
+     a00:	3809		sub	r0, #9
+     a02:	2800		cmp	r0, #0
+     a04:	d0eb		beq	0x9de
+     a06:	3801		sub	r0, #1
+     a08:	2800		cmp	r0, #0
+     a0a:	d0ef		beq	0x9ec
+     a0c:	a824		add	r0, sp, #144	; 0x90
+     a0e:	a986		add	r1, sp, #536	; 0x218
+     a10:	f000 fc01	bl	0x1216
+     a14:	2800		cmp	r0, #0
+     a16:	d111		bne	0xa3c
+     a18:	a886		add	r0, sp, #536	; 0x218
+     a1a:	a9c8		add	r1, sp, #800	; 0x320
+     a1c:	7809		ldrb	r1, [r1, #0]
+     a1e:	f001 f828	bl	0x1a72
+     a22:	2800		cmp	r0, #0
+     a24:	d00a		beq	0xa3c
+     a26:	4668		mov	r0, sp
+     a28:	7a00		ldrb	r0, [r0, #8]
+     a2a:	280a		cmp	r0, #10	; 0xa
+     a2c:	d106		bne	0xa3c
+     a2e:	a8c8		add	r0, sp, #800	; 0x320
+     a30:	7800		ldrb	r0, [r0, #0]
+     a32:	f001 f979	bl	0x1d28
+     a36:	98c7		ldr	r0, [sp, #796]	; 0x31c
+     a38:	f000 fb08	bl	0x104c
+     a3c:	9801		ldr	r0, [sp, #4]
+     a3e:	2800		cmp	r0, #0
+     a40:	d0b0		beq	0x9a4
+     a42:	b07f		add	sp, #508	; 0x1fc
+     a44:	b04a		add	sp, #296	; 0x128
+     a46:	bd00		pop	{pc}
+
+     a48:	b500		push	{lr}
+     a4a:	b0ff		sub	sp, #508	; 0x1fc
+     a4c:	b0c8		sub	sp, #288	; 0x120
+     a4e:	2000		mov	r0, #0
+     a50:	9000		str	r0, [sp, #0]
+     a52:	a846		add	r0, sp, #280	; 0x118
+     a54:	2101		mov	r1, #1
+     a56:	f001 f837	bl	0x1ac8
+     a5a:	a9c6		add	r1, sp, #792	; 0x318
+     a5c:	7008		strb	r0, [r1, #0]
+     a5e:	a8c6		add	r0, sp, #792	; 0x318
+     a60:	7800		ldrb	r0, [r0, #0]
+     a62:	28ff		cmp	r0, #255	; 0xff
+     a64:	d031		beq	0xaca
+     a66:	a846		add	r0, sp, #280	; 0x118
+     a68:	a902		add	r1, sp, #8
+     a6a:	f000 faf1	bl	0x1050
+     a6e:	9001		str	r0, [sp, #4]
+     a70:	9801		ldr	r0, [sp, #4]
+     a72:	2800		cmp	r0, #0
+     a74:	d014		beq	0xaa0
+     a76:	a924		add	r1, sp, #144	; 0x90
+     a78:	4668		mov	r0, sp
+     a7a:	7a00		ldrb	r0, [r0, #8]
+     a7c:	7008		strb	r0, [r1, #0]
+     a7e:	2291		mov	r2, #145	; 0x91
+     a80:	4668		mov	r0, sp
+     a82:	4669		mov	r1, sp
+     a84:	7909		ldrb	r1, [r1, #4]
+     a86:	5411		strb	r1, [r2, r0]
+     a88:	a824		add	r0, sp, #144	; 0x90
+     a8a:	a986		add	r1, sp, #536	; 0x218
+     a8c:	f000 fbc3	bl	0x1216
+     a90:	2800		cmp	r0, #0
+     a92:	d11a		bne	0xaca
+     a94:	a886		add	r0, sp, #536	; 0x218
+     a96:	a9c6		add	r1, sp, #792	; 0x318
+     a98:	7809		ldrb	r1, [r1, #0]
+     a9a:	f000 ffea	bl	0x1a72
+     a9e:	e014		b	0xaca
+     aa0:	4668		mov	r0, sp
+     aa2:	7a00		ldrb	r0, [r0, #8]
+     aa4:	2800		cmp	r0, #0
+     aa6:	d110		bne	0xaca
+     aa8:	a802		add	r0, sp, #8
+     aaa:	a924		add	r1, sp, #144	; 0x90
+     aac:	f000 fdbe	bl	0x162c
+     ab0:	a824		add	r0, sp, #144	; 0x90
+     ab2:	a986		add	r1, sp, #536	; 0x218
+     ab4:	f000 fbaf	bl	0x1216
+     ab8:	2800		cmp	r0, #0
+     aba:	d104		bne	0xac6
+     abc:	a886		add	r0, sp, #536	; 0x218
+     abe:	a9c6		add	r1, sp, #792	; 0x318
+     ac0:	7809		ldrb	r1, [r1, #0]
+     ac2:	f000 ffd6	bl	0x1a72
+     ac6:	2001		mov	r0, #1
+     ac8:	9000		str	r0, [sp, #0]
+     aca:	9800		ldr	r0, [sp, #0]
+     acc:	b07f		add	sp, #508	; 0x1fc
+     ace:	b048		add	sp, #288	; 0x120
+     ad0:	bd00		pop	{pc}
+
+; main function
+     ad2:	b500		push	{lr}
+     ad4:	b082		sub	sp, #8
+     ad6:	f7ff ff47	bl	0x968
+     ada:	f001 f8cd	bl	0x1c78
+     ade:	f000 fd93	bl	0x1608
+     ae2:	f000 f81f	bl	0xb24
+     ae6:	f000 f98b	bl	0xe00
+     aea:	b002		add	sp, #8
+     aec:	bd00		pop	{pc}
+     aee:	46c0		nop			(mov r8, r8)
+
+     af0:	fffffa08
+     af4:	0000ffff
+     af8:	fffffa0a
+     afc:	fffff804
+     b00:	ffff9800
+     b04:	00002002
+     b08:	fffffd00
+     b0c:	00001001
+
+     b10:	e3a0d502	mov	sp, #8388608	; 0x800000
+     b14:	e28dd802	add	sp, sp, #131072	; 0x20000
+     b18:	e28fe005	add	lr, pc, #5
+     b1c:	e12fff1e	bx	lr
+     b20:	e1a00000	mov	r0, r0
+
+; same as in the familiar versions
+     b24:	b500		push	{lr}
+     b26:	b082		sub	sp, #8
+     b28:	49f0		ldr	r1, =0x83ff00	; via 0xeec
+     b2a:	48f1		ldr	r0, =0xffff5800	; via 0xef0
+     b2c:	6008		str	r0, [r1, #0]
+     b2e:	2000		mov	r0, #0
+     b30:	2102		mov	r1, #2
+     b32:	f000 fa1d	bl	0xf70
+     b36:	2000		mov	r0, #0
+     b38:	9000		str	r0, [sp, #0]
+     b3a:	9900		ldr	r1, [sp, #0]
+     b3c:	2005		mov	r0, #5
+     b3e:	0300		lsl	r0, r0, #12
+     b40:	4281		cmp	r1, r0
+     b42:	d207		bcs	0xb54
+     b44:	9800		ldr	r0, [sp, #0]
+     b46:	3001		add	r0, #1
+     b48:	9000		str	r0, [sp, #0]
+     b4a:	9900		ldr	r1, [sp, #0]
+     b4c:	2005		mov	r0, #5
+     b4e:	0300		lsl	r0, r0, #12
+     b50:	4281		cmp	r1, r0
+     b52:	d3f7		bcc	0xb44
+     b54:	f000 f82a	bl	0xbac
+     b58:	2000		mov	r0, #0
+     b5a:	2107		mov	r1, #7
+     b5c:	f000 fa08	bl	0xf70
+     b60:	2000		mov	r0, #0
+     b62:	9000		str	r0, [sp, #0]
+     b64:	9900		ldr	r1, [sp, #0]
+     b66:	2005		mov	r0, #5
+     b68:	0300		lsl	r0, r0, #12
+     b6a:	4281		cmp	r1, r0
+     b6c:	d207		bcs	0xb7e
+     b6e:	9800		ldr	r0, [sp, #0]
+     b70:	3001		add	r0, #1
+     b72:	9000		str	r0, [sp, #0]
+     b74:	9900		ldr	r1, [sp, #0]
+     b76:	2005		mov	r0, #5
+     b78:	0300		lsl	r0, r0, #12
+     b7a:	4281		cmp	r1, r0
+     b7c:	d3f7		bcc	0xb6e
+     b7e:	f000 f815	bl	0xbac
+     b82:	2000		mov	r0, #0
+     b84:	9001		str	r0, [sp, #4]
+     b86:	9000		str	r0, [sp, #0]
+     b88:	9900		ldr	r1, [sp, #0]
+     b8a:	2005		mov	r0, #5
+     b8c:	0400		lsl	r0, r0, #16
+     b8e:	4281		cmp	r1, r0
+     b90:	d20a		bcs	0xba8
+     b92:	9801		ldr	r0, [sp, #4]
+     b94:	3001		add	r0, #1
+     b96:	9001		str	r0, [sp, #4]
+     b98:	9800		ldr	r0, [sp, #0]
+     b9a:	3001		add	r0, #1
+     b9c:	9000		str	r0, [sp, #0]
+     b9e:	9900		ldr	r1, [sp, #0]
+     ba0:	2005		mov	r0, #5
+     ba2:	0400		lsl	r0, r0, #16
+     ba4:	4281		cmp	r1, r0
+     ba6:	d3f4		bcc	0xb92
+     ba8:	b002		add	sp, #8
+     baa:	bd00		pop	{pc}
+
+     bac:	b500		push	{lr}
+     bae:	b08a		sub	sp, #40	; 0x28
+     bb0:	2000		mov	r0, #0
+     bb2:	9002		str	r0, [sp, #8]
+     bb4:	4669		mov	r1, sp
+     bb6:	7708		strb	r0, [r1, #28]	; 0x1c
+     bb8:	7748		strb	r0, [r1, #29]	; 0x1d
+     bba:	4668		mov	r0, sp
+     bbc:	2100		mov	r1, #0
+     bbe:	7781		strb	r1, [r0, #30]	; 0x1e
+     bc0:	2000		mov	r0, #0
+     bc2:	9008		str	r0, [sp, #32]	; 0x20
+     bc4:	a809		add	r0, sp, #36	; 0x24
+     bc6:	7001		strb	r1, [r0, #0]
+     bc8:	2025		mov	r0, #37	; 0x25
+     bca:	4669		mov	r1, sp
+     bcc:	2200		mov	r2, #0
+     bce:	5442		strb	r2, [r0, r1]
+     bd0:	48e6		ldr	r0, =0x800100	; via 0xf6c
+     bd2:	9006		str	r0, [sp, #24]	; 0x18
+     bd4:	201b		mov	r0, #27	; 0x1b
+     bd6:	f000 f970	bl	0xeba
+     bda:	20f6		mov	r0, #246	; 0xf6
+     bdc:	f000 f96d	bl	0xeba
+     be0:	2002		mov	r0, #2
+     be2:	f000 f96a	bl	0xeba
+     be6:	2000		mov	r0, #0
+     be8:	f000 f967	bl	0xeba
+     bec:	2041		mov	r0, #65	; 0x41
+     bee:	f000 f964	bl	0xeba
+     bf2:	2001		mov	r0, #1
+     bf4:	f000 f961	bl	0xeba
+     bf8:	2040		mov	r0, #64	; 0x40
+     bfa:	f000 f95e	bl	0xeba
+     bfe:	2001		mov	r0, #1
+     c00:	0300		lsl	r0, r0, #12
+     c02:	f000 f977	bl	0xef4
+     c06:	281b		cmp	r0, #27	; 0x1b
+     c08:	d000		beq	0xc0c
+     c0a:	e0f7		b	0xdfc
+     c0c:	2001		mov	r0, #1
+     c0e:	0300		lsl	r0, r0, #12
+     c10:	f000 f970	bl	0xef4
+     c14:	28f6		cmp	r0, #246	; 0xf6
+     c16:	d000		beq	0xc1a
+     c18:	e0f0		b	0xdfc
+     c1a:	2001		mov	r0, #1
+     c1c:	0300		lsl	r0, r0, #12
+     c1e:	f000 f969	bl	0xef4
+     c22:	2802		cmp	r0, #2
+     c24:	d000		beq	0xc28
+     c26:	e0e9		b	0xdfc
+     c28:	2001		mov	r0, #1
+     c2a:	0300		lsl	r0, r0, #12
+     c2c:	f000 f962	bl	0xef4
+     c30:	2800		cmp	r0, #0
+     c32:	d000		beq	0xc36
+     c34:	e0e2		b	0xdfc
+     c36:	2001		mov	r0, #1
+     c38:	0300		lsl	r0, r0, #12
+     c3a:	f000 f95b	bl	0xef4
+     c3e:	2852		cmp	r0, #82	; 0x52
+     c40:	d000		beq	0xc44
+     c42:	e0db		b	0xdfc
+     c44:	2001		mov	r0, #1
+     c46:	0300		lsl	r0, r0, #12
+     c48:	f000 f954	bl	0xef4
+     c4c:	2801		cmp	r0, #1
+     c4e:	d000		beq	0xc52
+     c50:	e0d4		b	0xdfc
+     c52:	2001		mov	r0, #1
+     c54:	0300		lsl	r0, r0, #12
+     c56:	f000 f94d	bl	0xef4
+     c5a:	2853		cmp	r0, #83	; 0x53
+     c5c:	d000		beq	0xc60
+     c5e:	e0cd		b	0xdfc
+     c60:	201b		mov	r0, #27	; 0x1b
+     c62:	f000 f92a	bl	0xeba
+     c66:	20f6		mov	r0, #246	; 0xf6
+     c68:	f000 f927	bl	0xeba
+     c6c:	2002		mov	r0, #2
+     c6e:	f000 f924	bl	0xeba
+     c72:	2000		mov	r0, #0
+     c74:	f000 f921	bl	0xeba
+     c78:	2041		mov	r0, #65	; 0x41
+     c7a:	f000 f91e	bl	0xeba
+     c7e:	2002		mov	r0, #2
+     c80:	f000 f91b	bl	0xeba
+     c84:	2043		mov	r0, #67	; 0x43
+     c86:	f000 f918	bl	0xeba
+     c8a:	2001		mov	r0, #1
+     c8c:	0300		lsl	r0, r0, #12
+     c8e:	f000 f931	bl	0xef4
+     c92:	4669		mov	r1, sp
+     c94:	7308		strb	r0, [r1, #12]	; 0xc
+     c96:	2002		mov	r0, #2
+     c98:	7548		strb	r0, [r1, #21]	; 0x15
+     c9a:	2000		mov	r0, #0
+     c9c:	9000		str	r0, [sp, #0]
+     c9e:	9800		ldr	r0, [sp, #0]
+     ca0:	2802		cmp	r0, #2
+     ca2:	d215		bcs	0xcd0
+     ca4:	2001		mov	r0, #1
+     ca6:	0300		lsl	r0, r0, #12
+     ca8:	f000 f924	bl	0xef4
+     cac:	4669		mov	r1, sp
+     cae:	9a00		ldr	r2, [sp, #0]
+     cb0:	1a89		sub	r1, r1, r2
+     cb2:	7448		strb	r0, [r1, #17]	; 0x11
+     cb4:	4669		mov	r1, sp
+     cb6:	9800		ldr	r0, [sp, #0]
+     cb8:	1a08		sub	r0, r1, r0
+     cba:	7c40		ldrb	r0, [r0, #17]	; 0x11
+     cbc:	7d49		ldrb	r1, [r1, #21]	; 0x15
+     cbe:	4048		eor	r0, r1
+     cc0:	4669		mov	r1, sp
+     cc2:	7548		strb	r0, [r1, #21]	; 0x15
+     cc4:	9800		ldr	r0, [sp, #0]
+     cc6:	3001		add	r0, #1
+     cc8:	9000		str	r0, [sp, #0]
+     cca:	9800		ldr	r0, [sp, #0]
+     ccc:	2802		cmp	r0, #2
+     cce:	d3e9		bcc	0xca4
+     cd0:	4668		mov	r0, sp
+     cd2:	8a00		ldrh	r0, [r0, #16]	; 0x10
+     cd4:	466a		mov	r2, sp
+     cd6:	1e41		sub	r1, r0, #1
+     cd8:	8211		strh	r1, [r2, #16]	; 0x10
+     cda:	2800		cmp	r0, #0
+     cdc:	d04f		beq	0xd7e
+     cde:	2001		mov	r0, #1
+     ce0:	0300		lsl	r0, r0, #12
+     ce2:	f000 f907	bl	0xef4
+     ce6:	9906		ldr	r1, [sp, #24]	; 0x18
+     ce8:	7008		strb	r0, [r1, #0]
+     cea:	9802		ldr	r0, [sp, #8]
+     cec:	217d		mov	r1, #125	; 0x7d
+     cee:	00c9		lsl	r1, r1, #3
+     cf0:	f188 f9a8	bl	0x189044	; U$MOD in main fw!!!
+     cf4:	2800		cmp	r0, #0
+     cf6:	d12f		bne	0xd58
+     cf8:	9802		ldr	r0, [sp, #8]
+     cfa:	2800		cmp	r0, #0
+     cfc:	d02c		beq	0xd58
+     cfe:	9808		ldr	r0, [sp, #32]	; 0x20
+     d00:	2805		cmp	r0, #5
+     d02:	d226		bcs	0xd52
+     d04:	e00d		b	0xd22
+     d06:	a909		add	r1, sp, #36	; 0x24
+     d08:	20ee		mov	r0, #238	; 0xee
+     d0a:	7008		strb	r0, [r1, #0]
+     d0c:	e018		b	0xd40
+     d0e:	21a2		mov	r1, #162	; 0xa2
+     d10:	a809		add	r0, sp, #36	; 0x24
+     d12:	7001		strb	r1, [r0, #0]
+     d14:	e014		b	0xd40
+     d16:	213d		mov	r1, #61	; 0x3d
+     d18:	e7fa		b	0xd10
+     d1a:	215e		mov	r1, #94	; 0x5e
+     d1c:	e7f8		b	0xd10
+     d1e:	21d6		mov	r1, #214	; 0xd6
+     d20:	e7f6		b	0xd10
+     d22:	9808		ldr	r0, [sp, #32]	; 0x20
+     d24:	2800		cmp	r0, #0
+     d26:	d0ee		beq	0xd06
+     d28:	3801		sub	r0, #1
+     d2a:	2800		cmp	r0, #0
+     d2c:	d0ef		beq	0xd0e
+     d2e:	3801		sub	r0, #1
+     d30:	2800		cmp	r0, #0
+     d32:	d0f0		beq	0xd16
+     d34:	3801		sub	r0, #1
+     d36:	2800		cmp	r0, #0
+     d38:	d0ef		beq	0xd1a
+     d3a:	3801		sub	r0, #1
+     d3c:	2800		cmp	r0, #0
+     d3e:	d0ee		beq	0xd1e
+     d40:	4668		mov	r0, sp
+     d42:	7d40		ldrb	r0, [r0, #21]	; 0x15
+     d44:	a909		add	r1, sp, #36	; 0x24
+     d46:	7809		ldrb	r1, [r1, #0]
+     d48:	4288		cmp	r0, r1
+     d4a:	d002		beq	0xd52
+     d4c:	4668		mov	r0, sp
+     d4e:	2101		mov	r1, #1
+     d50:	7781		strb	r1, [r0, #30]	; 0x1e
+     d52:	9808		ldr	r0, [sp, #32]	; 0x20
+     d54:	3001		add	r0, #1
+     d56:	9008		str	r0, [sp, #32]	; 0x20
+     d58:	9802		ldr	r0, [sp, #8]
+     d5a:	3001		add	r0, #1
+     d5c:	9002		str	r0, [sp, #8]
+     d5e:	9806		ldr	r0, [sp, #24]	; 0x18
+     d60:	7800		ldrb	r0, [r0, #0]
+     d62:	4669		mov	r1, sp
+     d64:	7d49		ldrb	r1, [r1, #21]	; 0x15
+     d66:	4048		eor	r0, r1
+     d68:	4669		mov	r1, sp
+     d6a:	7548		strb	r0, [r1, #21]	; 0x15
+     d6c:	9806		ldr	r0, [sp, #24]	; 0x18
+     d6e:	3001		add	r0, #1
+     d70:	9006		str	r0, [sp, #24]	; 0x18
+     d72:	4668		mov	r0, sp
+     d74:	8a02		ldrh	r2, [r0, #16]	; 0x10
+     d76:	1e50		sub	r0, r2, #1
+     d78:	8208		strh	r0, [r1, #16]	; 0x10
+     d7a:	2a00		cmp	r2, #0
+     d7c:	d1af		bne	0xcde
+     d7e:	2001		mov	r0, #1
+     d80:	0300		lsl	r0, r0, #12
+     d82:	f000 f8b7	bl	0xef4
+     d86:	4669		mov	r1, sp
+     d88:	7508		strb	r0, [r1, #20]	; 0x14
+     d8a:	4668		mov	r0, sp
+     d8c:	7d01		ldrb	r1, [r0, #20]	; 0x14
+     d8e:	7d40		ldrb	r0, [r0, #21]	; 0x15
+     d90:	4281		cmp	r1, r0
+     d92:	d103		bne	0xd9c
+     d94:	4668		mov	r0, sp
+     d96:	7f80		ldrb	r0, [r0, #30]	; 0x1e
+     d98:	2801		cmp	r0, #1
+     d9a:	d115		bne	0xdc8
+     d9c:	201b		mov	r0, #27	; 0x1b
+     d9e:	f000 f88c	bl	0xeba
+     da2:	20f6		mov	r0, #246	; 0xf6
+     da4:	f000 f889	bl	0xeba
+     da8:	2002		mov	r0, #2
+     daa:	f000 f886	bl	0xeba
+     dae:	2000		mov	r0, #0
+     db0:	f000 f883	bl	0xeba
+     db4:	2045		mov	r0, #69	; 0x45
+     db6:	f000 f880	bl	0xeba
+     dba:	2053		mov	r0, #83	; 0x53
+     dbc:	f000 f87d	bl	0xeba
+     dc0:	2016		mov	r0, #22	; 0x16
+     dc2:	f000 f87a	bl	0xeba
+     dc6:	e019		b	0xdfc
+     dc8:	201b		mov	r0, #27	; 0x1b
+     dca:	f000 f876	bl	0xeba
+     dce:	20f6		mov	r0, #246	; 0xf6
+     dd0:	f000 f873	bl	0xeba
+     dd4:	2002		mov	r0, #2
+     dd6:	f000 f870	bl	0xeba
+     dda:	2000		mov	r0, #0
+     ddc:	f000 f86d	bl	0xeba
+     de0:	2041		mov	r0, #65	; 0x41
+     de2:	f000 f86a	bl	0xeba
+     de6:	2003		mov	r0, #3
+     de8:	f000 f867	bl	0xeba
+     dec:	2042		mov	r0, #66	; 0x42
+     dee:	f000 f864	bl	0xeba
+     df2:	483e		ldr	r0, =0x83ff00	; via 0xeec
+     df4:	6800		ldr	r0, [r0, #0]
+     df6:	4990		ldr	r1, =0x800100	; via 0x1038
+     df8:	f000 f85e	bl	0xeb8
+     dfc:	b00a		add	sp, #40	; 0x28
+     dfe:	bd00		pop	{pc}
+
+     e00:	b500		push	{lr}
+     e02:	b081		sub	sp, #4
+     e04:	2066		mov	r0, #102	; 0x66
+     e06:	f000 f858	bl	0xeba
+     e0a:	2074		mov	r0, #116	; 0x74
+     e0c:	f000 f855	bl	0xeba
+     e10:	206d		mov	r0, #109	; 0x6d
+     e12:	f000 f852	bl	0xeba
+     e16:	2074		mov	r0, #116	; 0x74
+     e18:	f000 f84f	bl	0xeba
+     e1c:	206f		mov	r0, #111	; 0x6f
+     e1e:	f000 f84c	bl	0xeba
+     e22:	206f		mov	r0, #111	; 0x6f
+     e24:	f000 f849	bl	0xeba
+     e28:	206c		mov	r0, #108	; 0x6c
+     e2a:	f000 f846	bl	0xeba
+     e2e:	4983		ldr	r1, =0x83ff80	; via 0x103c
+     e30:	2000		mov	r0, #0
+     e32:	7008		strb	r0, [r1, #0]
+     e34:	9000		str	r0, [sp, #0]
+     e36:	9800		ldr	r0, [sp, #0]
+     e38:	0c00		lsr	r0, r0, #16
+     e3a:	d105		bne	0xe48
+     e3c:	9800		ldr	r0, [sp, #0]
+     e3e:	3001		add	r0, #1
+     e40:	9000		str	r0, [sp, #0]
+     e42:	9800		ldr	r0, [sp, #0]
+     e44:	0c00		lsr	r0, r0, #16
+     e46:	d0f9		beq	0xe3c
+     e48:	2007		mov	r0, #7
+     e4a:	0400		lsl	r0, r0, #16
+     e4c:	f000 f852	bl	0xef4
+     e50:	2879		cmp	r0, #121	; 0x79
+     e52:	d10e		bne	0xe72
+     e54:	2001		mov	r0, #1
+     e56:	0300		lsl	r0, r0, #12
+     e58:	f000 f84c	bl	0xef4
+     e5c:	2865		cmp	r0, #101	; 0x65
+     e5e:	d108		bne	0xe72
+     e60:	2001		mov	r0, #1
+     e62:	0300		lsl	r0, r0, #12
+     e64:	f000 f846	bl	0xef4
+     e68:	2873		cmp	r0, #115	; 0x73
+     e6a:	d102		bne	0xe72
+     e6c:	4873		ldr	r0, =0x83ff80	; via 0x103c
+     e6e:	2101		mov	r1, #1
+     e70:	7001		strb	r1, [r0, #0]
+     e72:	f000 f8cf	bl	0x1014
+     e76:	2800		cmp	r0, #0
+     e78:	d00d		beq	0xe96
+     e7a:	206d		mov	r0, #109	; 0x6d
+     e7c:	f000 f81d	bl	0xeba
+     e80:	206f		mov	r0, #111	; 0x6f
+     e82:	f000 f81a	bl	0xeba
+     e86:	2064		mov	r0, #100	; 0x64
+     e88:	f000 f817	bl	0xeba
+     e8c:	2065		mov	r0, #101	; 0x65
+     e8e:	f000 f814	bl	0xeba
+     e92:	206d		mov	r0, #109	; 0x6d
+     e94:	e00c		b	0xeb0
+     e96:	2065		mov	r0, #101	; 0x65
+     e98:	f000 f80f	bl	0xeba
+     e9c:	2072		mov	r0, #114	; 0x72
+     e9e:	f000 f80c	bl	0xeba
+     ea2:	2072		mov	r0, #114	; 0x72
+     ea4:	f000 f809	bl	0xeba
+     ea8:	206f		mov	r0, #111	; 0x6f
+     eaa:	f000 f806	bl	0xeba
+     eae:	2072		mov	r0, #114	; 0x72
+     eb0:	f000 f803	bl	0xeba
+     eb4:	b001		add	sp, #4
+     eb6:	bd00		pop	{pc}
+
+     eb8:	4708		bx	r1
+
+     eba:	b081		sub	sp, #4
+     ebc:	4669		mov	r1, sp
+     ebe:	7008		strb	r0, [r1, #0]
+     ec0:	480a		ldr	r0, =0x83ff00	; via 0xeec
+     ec2:	6800		ldr	r0, [r0, #0]
+     ec4:	7940		ldrb	r0, [r0, #5]
+     ec6:	0980		lsr	r0, r0, #6
+     ec8:	d3fa		bcc	0xec0
+     eca:	4808		ldr	r0, =0x83ff00	; via 0xeec
+     ecc:	6800		ldr	r0, [r0, #0]
+     ece:	4669		mov	r1, sp
+     ed0:	7809		ldrb	r1, [r1, #0]
+     ed2:	7001		strb	r1, [r0, #0]
+     ed4:	b001		add	sp, #4
+     ed6:	46f7		mov	pc, lr
+     ed8:	4859		ldr	r0, =0x83ff00	; via 0x1040
+     eda:	6800		ldr	r0, [r0, #0]
+     edc:	7940		ldrb	r0, [r0, #5]
+     ede:	0840		lsr	r0, r0, #1
+     ee0:	d3fa		bcc	0xed8
+     ee2:	4857		ldr	r0, =0x83ff00	; via 0x1040
+     ee4:	6800		ldr	r0, [r0, #0]
+     ee6:	7800		ldrb	r0, [r0, #0]
+     ee8:	4770		bx	lr
+     eea:	46c0		nop			(mov r8, r8)
+     eec:	ff00		<half-bl>
+     eee:	0083		lsl	r3, r0, #2
+     ef0:	5800		ldr	r0, [r0, r0]
+     ef2:	ffff		<half-bl>
+     ef4:	b083		sub	sp, #12	; 0xc
+     ef6:	9000		str	r0, [sp, #0]
+     ef8:	9800		ldr	r0, [sp, #0]
+     efa:	9002		str	r0, [sp, #8]
+     efc:	4850		ldr	r0, =0x83ff00	; via 0x1040
+     efe:	6800		ldr	r0, [r0, #0]
+     f00:	7940		ldrb	r0, [r0, #5]
+     f02:	0840		lsr	r0, r0, #1
+     f04:	d20c		bcs	0xf20
+     f06:	9802		ldr	r0, [sp, #8]
+     f08:	3801		sub	r0, #1
+     f0a:	9002		str	r0, [sp, #8]
+     f0c:	9802		ldr	r0, [sp, #8]
+     f0e:	2800		cmp	r0, #0
+     f10:	d101		bne	0xf16
+     f12:	20ff		mov	r0, #255	; 0xff
+     f14:	e007		b	0xf26
+     f16:	484a		ldr	r0, =0x83ff00	; via 0x1040
+     f18:	6800		ldr	r0, [r0, #0]
+     f1a:	7940		ldrb	r0, [r0, #5]
+     f1c:	0840		lsr	r0, r0, #1
+     f1e:	d3f2		bcc	0xf06
+     f20:	4847		ldr	r0, =0x83ff00	; via 0x1040
+     f22:	6800		ldr	r0, [r0, #0]
+     f24:	7800		ldrb	r0, [r0, #0]
+     f26:	b003		add	sp, #12	; 0xc
+     f28:	4770		bx	lr
+     f2a:	b081		sub	sp, #4
+     f2c:	e001		b	0xf32
+     f2e:	9800		ldr	r0, [sp, #0]
+     f30:	3801		sub	r0, #1
+     f32:	9000		str	r0, [sp, #0]
+     f34:	4842		ldr	r0, =0x83ff00	; via 0x1040
+     f36:	6800		ldr	r0, [r0, #0]
+     f38:	7940		ldrb	r0, [r0, #5]
+     f3a:	0840		lsr	r0, r0, #1
+     f3c:	d202		bcs	0xf44
+     f3e:	9800		ldr	r0, [sp, #0]
+     f40:	2800		cmp	r0, #0
+     f42:	dcf4		bgt	0xf2e
+     f44:	9800		ldr	r0, [sp, #0]
+     f46:	2800		cmp	r0, #0
+     f48:	dd01		ble	0xf4e
+     f4a:	2000		mov	r0, #0
+     f4c:	e000		b	0xf50
+     f4e:	2001		mov	r0, #1
+     f50:	b001		add	sp, #4
+     f52:	4770		bx	lr
+     f54:	b082		sub	sp, #8
+     f56:	9000		str	r0, [sp, #0]
+     f58:	4669		mov	r1, sp
+     f5a:	2000		mov	r0, #0
+     f5c:	7188		strb	r0, [r1, #6]
+     f5e:	9900		ldr	r1, [sp, #0]
+     f60:	4838		ldr	r0, =0xfffef000	; via 0x1044
+     f62:	8800		ldrh	r0, [r0, #0]
+     f64:	8008		strh	r0, [r1, #0]
+     f66:	b002		add	sp, #8
+     f68:	4770		bx	lr
+     f6a:	46c0		nop			(mov r8, r8)
+     f6c:	0100		lsl	r0, r0, #4
+     f6e:	0080		lsl	r0, r0, #2
+     f70:	b081		sub	sp, #4
+     f72:	466a		mov	r2, sp
+     f74:	7051		strb	r1, [r2, #1]
+     f76:	4669		mov	r1, sp
+     f78:	7008		strb	r0, [r1, #0]
+     f7a:	4933		ldr	r1, =0xffff6000	; via 0x1048
+     f7c:	2002		mov	r0, #2
+     f7e:	880a		ldrh	r2, [r1, #0]
+     f80:	4310		orr	r0, r2
+     f82:	8008		strh	r0, [r1, #0]
+     f84:	4830		ldr	r0, =0xffff6000	; via 0x1048
+     f86:	8801		ldrh	r1, [r0, #0]
+     f88:	0849		lsr	r1, r1, #1
+     f8a:	0049		lsl	r1, r1, #1
+     f8c:	8001		strh	r1, [r0, #0]
+     f8e:	492e		ldr	r1, =0xffff6000	; via 0x1048
+     f90:	8808		ldrh	r0, [r1, #0]
+     f92:	2202		mov	r2, #2
+     f94:	4390		bic	r0, r2
+     f96:	8008		strh	r0, [r1, #0]
+     f98:	4829		ldr	r0, =0x83ff00	; via 0x1040
+     f9a:	6801		ldr	r1, [r0, #0]
+     f9c:	2007		mov	r0, #7
+     f9e:	7208		strb	r0, [r1, #8]
+     fa0:	4827		ldr	r0, =0x83ff00	; via 0x1040
+     fa2:	6801		ldr	r1, [r0, #0]
+     fa4:	20bf		mov	r0, #191	; 0xbf
+     fa6:	70c8		strb	r0, [r1, #3]
+     fa8:	4825		ldr	r0, =0x83ff00	; via 0x1040
+     faa:	6800		ldr	r0, [r0, #0]
+     fac:	1c80		add	r0, r0, #2
+     fae:	2110		mov	r1, #16	; 0x10
+     fb0:	8802		ldrh	r2, [r0, #0]
+     fb2:	4311		orr	r1, r2
+     fb4:	8001		strh	r1, [r0, #0]
+     fb6:	4822		ldr	r0, =0x83ff00	; via 0x1040
+     fb8:	6801		ldr	r1, [r0, #0]
+     fba:	2080		mov	r0, #128	; 0x80
+     fbc:	70c8		strb	r0, [r1, #3]
+     fbe:	4820		ldr	r0, =0x83ff00	; via 0x1040
+     fc0:	6800		ldr	r0, [r0, #0]
+     fc2:	2107		mov	r1, #7
+     fc4:	7081		strb	r1, [r0, #2]
+     fc6:	481e		ldr	r0, =0x83ff00	; via 0x1040
+     fc8:	6800		ldr	r0, [r0, #0]
+     fca:	21bf		mov	r1, #191	; 0xbf
+     fcc:	70c1		strb	r1, [r0, #3]
+     fce:	481c		ldr	r0, =0x83ff00	; via 0x1040
+     fd0:	6801		ldr	r1, [r0, #0]
+     fd2:	4668		mov	r0, sp
+     fd4:	7840		ldrb	r0, [r0, #1]
+     fd6:	7008		strb	r0, [r1, #0]
+     fd8:	4819		ldr	r0, =0x83ff00	; via 0x1040
+     fda:	6801		ldr	r1, [r0, #0]
+     fdc:	4668		mov	r0, sp
+     fde:	7800		ldrb	r0, [r0, #0]
+     fe0:	7048		strb	r0, [r1, #1]
+     fe2:	4817		ldr	r0, =0x83ff00	; via 0x1040
+     fe4:	6801		ldr	r1, [r0, #0]
+     fe6:	2003		mov	r0, #3
+     fe8:	70c8		strb	r0, [r1, #3]
+     fea:	4815		ldr	r0, =0x83ff00	; via 0x1040
+     fec:	6800		ldr	r0, [r0, #0]
+     fee:	2100		mov	r1, #0
+     ff0:	7201		strb	r1, [r0, #8]
+     ff2:	4813		ldr	r0, =0x83ff00	; via 0x1040
+     ff4:	6800		ldr	r0, [r0, #0]
+     ff6:	7940		ldrb	r0, [r0, #5]
+     ff8:	0840		lsr	r0, r0, #1
+     ffa:	d309		bcc	0x1010
+     ffc:	4669		mov	r1, sp
+     ffe:	4810		ldr	r0, =0x83ff00	; via 0x1040
+    1000:	6800		ldr	r0, [r0, #0]
+    1002:	7800		ldrb	r0, [r0, #0]
+    1004:	7088		strb	r0, [r1, #2]
+    1006:	480e		ldr	r0, =0x83ff00	; via 0x1040
+    1008:	6800		ldr	r0, [r0, #0]
+    100a:	7940		ldrb	r0, [r0, #5]
+    100c:	0840		lsr	r0, r0, #1
+    100e:	d2f5		bcs	0xffc
+    1010:	b001		add	sp, #4
+    1012:	4770		bx	lr
+    1014:	4809		ldr	r0, =0x83ff80	; via 0x103c
+    1016:	7800		ldrb	r0, [r0, #0]
+    1018:	4770		bx	lr
+    101a:	b500		push	{lr}
+    101c:	b081		sub	sp, #4
+    101e:	4669		mov	r1, sp
+    1020:	7008		strb	r0, [r1, #0]
+    1022:	4668		mov	r0, sp
+    1024:	7800		ldrb	r0, [r0, #0]
+    1026:	f7ff ff48	bl	0xeba
+    102a:	b001		add	sp, #4
+    102c:	bd00		pop	{pc}
+    102e:	b500		push	{lr}
+    1030:	f7ff ff52	bl	0xed8
+    1034:	bd00		pop	{pc}
+    1036:	46c0		nop			(mov r8, r8)
+    1038:	0100		lsl	r0, r0, #4
+    103a:	0080		lsl	r0, r0, #2
+    103c:	ff80		<half-bl>
+    103e:	0083		lsl	r3, r0, #2
+    1040:	ff00		<half-bl>
+    1042:	0083		lsl	r3, r0, #2
+    1044:	f000 fffe	bl	0x2044
+    1048:	6000		str	r0, [r0, #0]
+    104a:	ffff		<half-bl>
+    104c:	4700		bx	r0
+    104e:	0000		lsl	r0, r0, #0
+    1050:	b08c		sub	sp, #48	; 0x30
+    1052:	9101		str	r1, [sp, #4]
+    1054:	9000		str	r0, [sp, #0]
+    1056:	2000		mov	r0, #0
+    1058:	9003		str	r0, [sp, #12]	; 0xc
+    105a:	9800		ldr	r0, [sp, #0]
+    105c:	7801		ldrb	r1, [r0, #0]
+    105e:	3001		add	r0, #1
+    1060:	9000		str	r0, [sp, #0]
+    1062:	9105		str	r1, [sp, #20]	; 0x14
+    1064:	9800		ldr	r0, [sp, #0]
+    1066:	7801		ldrb	r1, [r0, #0]
+    1068:	3001		add	r0, #1
+    106a:	9000		str	r0, [sp, #0]
+    106c:	9801		ldr	r0, [sp, #4]
+    106e:	7001		strb	r1, [r0, #0]
+    1070:	2001		mov	r0, #1
+    1072:	9004		str	r0, [sp, #16]	; 0x10
+    1074:	e0a8		b	0x11c8
+    1076:	9804		ldr	r0, [sp, #16]	; 0x10
+    1078:	3002		add	r0, #2
+    107a:	9004		str	r0, [sp, #16]	; 0x10
+    107c:	9800		ldr	r0, [sp, #0]
+    107e:	7801		ldrb	r1, [r0, #0]
+    1080:	3001		add	r0, #1
+    1082:	9000		str	r0, [sp, #0]
+    1084:	4668		mov	r0, sp
+    1086:	8441		strh	r1, [r0, #34]	; 0x22
+    1088:	9800		ldr	r0, [sp, #0]
+    108a:	7801		ldrb	r1, [r0, #0]
+    108c:	3001		add	r0, #1
+    108e:	9000		str	r0, [sp, #0]
+    1090:	4668		mov	r0, sp
+    1092:	8401		strh	r1, [r0, #32]	; 0x20
+    1094:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    1096:	4669		mov	r1, sp
+    1098:	8c49		ldrh	r1, [r1, #34]	; 0x22
+    109a:	0209		lsl	r1, r1, #8
+    109c:	1840		add	r0, r0, r1
+    109e:	9901		ldr	r1, [sp, #4]
+    10a0:	8088		strh	r0, [r1, #4]
+    10a2:	9804		ldr	r0, [sp, #16]	; 0x10
+    10a4:	3001		add	r0, #1
+    10a6:	9004		str	r0, [sp, #16]	; 0x10
+    10a8:	9800		ldr	r0, [sp, #0]
+    10aa:	7801		ldrb	r1, [r0, #0]
+    10ac:	3001		add	r0, #1
+    10ae:	9000		str	r0, [sp, #0]
+    10b0:	4668		mov	r0, sp
+    10b2:	7601		strb	r1, [r0, #24]	; 0x18
+    10b4:	9901		ldr	r1, [sp, #4]
+    10b6:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    10b8:	7188		strb	r0, [r1, #6]
+    10ba:	4668		mov	r0, sp
+    10bc:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    10be:	2840		cmp	r0, #64	; 0x40
+    10c0:	dc00		bgt	0x10c4
+    10c2:	e09f		b	0x1204
+    10c4:	2004		mov	r0, #4
+    10c6:	9003		str	r0, [sp, #12]	; 0xc
+    10c8:	e09c		b	0x1204
+    10ca:	9804		ldr	r0, [sp, #16]	; 0x10
+    10cc:	3002		add	r0, #2
+    10ce:	9004		str	r0, [sp, #16]	; 0x10
+    10d0:	9800		ldr	r0, [sp, #0]
+    10d2:	7801		ldrb	r1, [r0, #0]
+    10d4:	3001		add	r0, #1
+    10d6:	9000		str	r0, [sp, #0]
+    10d8:	4668		mov	r0, sp
+    10da:	8441		strh	r1, [r0, #34]	; 0x22
+    10dc:	9800		ldr	r0, [sp, #0]
+    10de:	7801		ldrb	r1, [r0, #0]
+    10e0:	3001		add	r0, #1
+    10e2:	9000		str	r0, [sp, #0]
+    10e4:	4668		mov	r0, sp
+    10e6:	8401		strh	r1, [r0, #32]	; 0x20
+    10e8:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    10ea:	4669		mov	r1, sp
+    10ec:	8c49		ldrh	r1, [r1, #34]	; 0x22
+    10ee:	0209		lsl	r1, r1, #8
+    10f0:	1841		add	r1, r0, r1
+    10f2:	9801		ldr	r0, [sp, #4]
+    10f4:	8081		strh	r1, [r0, #4]
+    10f6:	9804		ldr	r0, [sp, #16]	; 0x10
+    10f8:	3001		add	r0, #1
+    10fa:	9004		str	r0, [sp, #16]	; 0x10
+    10fc:	9800		ldr	r0, [sp, #0]
+    10fe:	7801		ldrb	r1, [r0, #0]
+    1100:	3001		add	r0, #1
+    1102:	9000		str	r0, [sp, #0]
+    1104:	4668		mov	r0, sp
+    1106:	7601		strb	r1, [r0, #24]	; 0x18
+    1108:	9901		ldr	r1, [sp, #4]
+    110a:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    110c:	7188		strb	r0, [r1, #6]
+    110e:	4668		mov	r0, sp
+    1110:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1112:	2840		cmp	r0, #64	; 0x40
+    1114:	dcd6		bgt	0x10c4
+    1116:	9801		ldr	r0, [sp, #4]
+    1118:	3008		add	r0, #8
+    111a:	9007		str	r0, [sp, #28]	; 0x1c
+    111c:	2000		mov	r0, #0
+    111e:	9002		str	r0, [sp, #8]
+    1120:	9902		ldr	r1, [sp, #8]
+    1122:	4668		mov	r0, sp
+    1124:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1126:	4281		cmp	r1, r0
+    1128:	da6c		bge	0x1204
+    112a:	9800		ldr	r0, [sp, #0]
+    112c:	7801		ldrb	r1, [r0, #0]
+    112e:	3001		add	r0, #1
+    1130:	9000		str	r0, [sp, #0]
+    1132:	4668		mov	r0, sp
+    1134:	84c1		strh	r1, [r0, #38]	; 0x26
+    1136:	9800		ldr	r0, [sp, #0]
+    1138:	7801		ldrb	r1, [r0, #0]
+    113a:	3001		add	r0, #1
+    113c:	9000		str	r0, [sp, #0]
+    113e:	4668		mov	r0, sp
+    1140:	8481		strh	r1, [r0, #36]	; 0x24
+    1142:	9807		ldr	r0, [sp, #28]	; 0x1c
+    1144:	1c81		add	r1, r0, #2
+    1146:	9107		str	r1, [sp, #28]	; 0x1c
+    1148:	4669		mov	r1, sp
+    114a:	8c89		ldrh	r1, [r1, #36]	; 0x24
+    114c:	466a		mov	r2, sp
+    114e:	8cd2		ldrh	r2, [r2, #38]	; 0x26
+    1150:	0212		lsl	r2, r2, #8
+    1152:	1889		add	r1, r1, r2
+    1154:	8001		strh	r1, [r0, #0]
+    1156:	9804		ldr	r0, [sp, #16]	; 0x10
+    1158:	3002		add	r0, #2
+    115a:	9004		str	r0, [sp, #16]	; 0x10
+    115c:	9802		ldr	r0, [sp, #8]
+    115e:	3001		add	r0, #1
+    1160:	9002		str	r0, [sp, #8]
+    1162:	9902		ldr	r1, [sp, #8]
+    1164:	4668		mov	r0, sp
+    1166:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1168:	4281		cmp	r1, r0
+    116a:	dbde		blt	0x112a
+    116c:	e04a		b	0x1204
+    116e:	9804		ldr	r0, [sp, #16]	; 0x10
+    1170:	3002		add	r0, #2
+    1172:	9004		str	r0, [sp, #16]	; 0x10
+    1174:	9800		ldr	r0, [sp, #0]
+    1176:	7801		ldrb	r1, [r0, #0]
+    1178:	3001		add	r0, #1
+    117a:	9000		str	r0, [sp, #0]
+    117c:	4668		mov	r0, sp
+    117e:	8501		strh	r1, [r0, #40]	; 0x28
+    1180:	9800		ldr	r0, [sp, #0]
+    1182:	7801		ldrb	r1, [r0, #0]
+    1184:	3001		add	r0, #1
+    1186:	9000		str	r0, [sp, #0]
+    1188:	4668		mov	r0, sp
+    118a:	8541		strh	r1, [r0, #42]	; 0x2a
+    118c:	8d41		ldrh	r1, [r0, #42]	; 0x2a
+    118e:	8d00		ldrh	r0, [r0, #40]	; 0x28
+    1190:	0200		lsl	r0, r0, #8
+    1192:	1809		add	r1, r1, r0
+    1194:	9801		ldr	r0, [sp, #4]
+    1196:	8081		strh	r1, [r0, #4]
+    1198:	9804		ldr	r0, [sp, #16]	; 0x10
+    119a:	3002		add	r0, #2
+    119c:	9004		str	r0, [sp, #16]	; 0x10
+    119e:	9800		ldr	r0, [sp, #0]
+    11a0:	7801		ldrb	r1, [r0, #0]
+    11a2:	3001		add	r0, #1
+    11a4:	9000		str	r0, [sp, #0]
+    11a6:	4668		mov	r0, sp
+    11a8:	8581		strh	r1, [r0, #44]	; 0x2c
+    11aa:	9800		ldr	r0, [sp, #0]
+    11ac:	7801		ldrb	r1, [r0, #0]
+    11ae:	3001		add	r0, #1
+    11b0:	9000		str	r0, [sp, #0]
+    11b2:	4668		mov	r0, sp
+    11b4:	85c1		strh	r1, [r0, #46]	; 0x2e
+    11b6:	8dc1		ldrh	r1, [r0, #46]	; 0x2e
+    11b8:	8d80		ldrh	r0, [r0, #44]	; 0x2c
+    11ba:	0200		lsl	r0, r0, #8
+    11bc:	1808		add	r0, r1, r0
+    11be:	9901		ldr	r1, [sp, #4]
+    11c0:	80c8		strh	r0, [r1, #6]
+    11c2:	e01f		b	0x1204
+    11c4:	2008		mov	r0, #8
+    11c6:	e77e		b	0x10c6
+    11c8:	9801		ldr	r0, [sp, #4]
+    11ca:	7801		ldrb	r1, [r0, #0]
+    11cc:	290a		cmp	r1, #10	; 0xa
+    11ce:	d8f9		bhi	0x11c4
+    11d0:	a001		add	r0, pc, #4
+    11d2:	0089		lsl	r1, r1, #2
+    11d4:	5840		ldr	r0, [r0, r1]
+    11d6:	4687		mov	pc, r0
+    11d8:	1204		asr	r4, r0, #8
+    11da:	0000		lsl	r0, r0, #0
+    11dc:	1204		asr	r4, r0, #8
+    11de:	0000		lsl	r0, r0, #0
+    11e0:	1204		asr	r4, r0, #8
+    11e2:	0000		lsl	r0, r0, #0
+    11e4:	1204		asr	r4, r0, #8
+    11e6:	0000		lsl	r0, r0, #0
+    11e8:	1204		asr	r4, r0, #8
+    11ea:	0000		lsl	r0, r0, #0
+    11ec:	1204		asr	r4, r0, #8
+    11ee:	0000		lsl	r0, r0, #0
+    11f0:	1204		asr	r4, r0, #8
+    11f2:	0000		lsl	r0, r0, #0
+    11f4:	1076		asr	r6, r6, #1
+    11f6:	0000		lsl	r0, r0, #0
+    11f8:	10ca		asr	r2, r1, #3
+    11fa:	0000		lsl	r0, r0, #0
+    11fc:	1204		asr	r4, r0, #8
+    11fe:	0000		lsl	r0, r0, #0
+    1200:	116e		asr	r6, r5, #5
+    1202:	0000		lsl	r0, r0, #0
+    1204:	9905		ldr	r1, [sp, #20]	; 0x14
+    1206:	9804		ldr	r0, [sp, #16]	; 0x10
+    1208:	4281		cmp	r1, r0
+    120a:	d001		beq	0x1210
+    120c:	2004		mov	r0, #4
+    120e:	9003		str	r0, [sp, #12]	; 0xc
+    1210:	9803		ldr	r0, [sp, #12]	; 0xc
+    1212:	b00c		add	sp, #48	; 0x30
+    1214:	4770		bx	lr
+    1216:	b089		sub	sp, #36	; 0x24
+    1218:	9101		str	r1, [sp, #4]
+    121a:	9000		str	r0, [sp, #0]
+    121c:	2000		mov	r0, #0
+    121e:	9003		str	r0, [sp, #12]	; 0xc
+    1220:	9801		ldr	r0, [sp, #4]
+    1222:	1c41		add	r1, r0, #1
+    1224:	9101		str	r1, [sp, #4]
+    1226:	9005		str	r0, [sp, #20]	; 0x14
+    1228:	9801		ldr	r0, [sp, #4]
+    122a:	1c41		add	r1, r0, #1
+    122c:	9101		str	r1, [sp, #4]
+    122e:	9900		ldr	r1, [sp, #0]
+    1230:	7809		ldrb	r1, [r1, #0]
+    1232:	7001		strb	r1, [r0, #0]
+    1234:	4669		mov	r1, sp
+    1236:	2001		mov	r0, #1
+    1238:	7408		strb	r0, [r1, #16]	; 0x10
+    123a:	9801		ldr	r0, [sp, #4]
+    123c:	1c41		add	r1, r0, #1
+    123e:	9101		str	r1, [sp, #4]
+    1240:	9900		ldr	r1, [sp, #0]
+    1242:	7849		ldrb	r1, [r1, #1]
+    1244:	7001		strb	r1, [r0, #0]
+    1246:	4669		mov	r1, sp
+    1248:	4668		mov	r0, sp
+    124a:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    124c:	3001		add	r0, #1
+    124e:	7408		strb	r0, [r1, #16]	; 0x10
+    1250:	e0e4		b	0x141c
+    1252:	9800		ldr	r0, [sp, #0]
+    1254:	7840		ldrb	r0, [r0, #1]
+    1256:	2800		cmp	r0, #0
+    1258:	d000		beq	0x125c
+    125a:	e0fd		b	0x1458
+    125c:	9801		ldr	r0, [sp, #4]
+    125e:	1c41		add	r1, r0, #1
+    1260:	9101		str	r1, [sp, #4]
+    1262:	9900		ldr	r1, [sp, #0]
+    1264:	7909		ldrb	r1, [r1, #4]
+    1266:	7001		strb	r1, [r0, #0]
+    1268:	9801		ldr	r0, [sp, #4]
+    126a:	1c41		add	r1, r0, #1
+    126c:	9101		str	r1, [sp, #4]
+    126e:	9900		ldr	r1, [sp, #0]
+    1270:	7949		ldrb	r1, [r1, #5]
+    1272:	7001		strb	r1, [r0, #0]
+    1274:	9801		ldr	r0, [sp, #4]
+    1276:	1c41		add	r1, r0, #1
+    1278:	9101		str	r1, [sp, #4]
+    127a:	9900		ldr	r1, [sp, #0]
+    127c:	7989		ldrb	r1, [r1, #6]
+    127e:	7001		strb	r1, [r0, #0]
+    1280:	4668		mov	r0, sp
+    1282:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1284:	3003		add	r0, #3
+    1286:	4669		mov	r1, sp
+    1288:	7408		strb	r0, [r1, #16]	; 0x10
+    128a:	e0e5		b	0x1458
+    128c:	9800		ldr	r0, [sp, #0]
+    128e:	7840		ldrb	r0, [r0, #1]
+    1290:	2800		cmp	r0, #0
+    1292:	d000		beq	0x1296
+    1294:	e0e0		b	0x1458
+    1296:	9801		ldr	r0, [sp, #4]
+    1298:	1c41		add	r1, r0, #1
+    129a:	9101		str	r1, [sp, #4]
+    129c:	9900		ldr	r1, [sp, #0]
+    129e:	7909		ldrb	r1, [r1, #4]
+    12a0:	7001		strb	r1, [r0, #0]
+    12a2:	4668		mov	r0, sp
+    12a4:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    12a6:	3001		add	r0, #1
+    12a8:	e7ed		b	0x1286
+    12aa:	9800		ldr	r0, [sp, #0]
+    12ac:	7840		ldrb	r0, [r0, #1]
+    12ae:	2800		cmp	r0, #0
+    12b0:	d000		beq	0x12b4
+    12b2:	e0d1		b	0x1458
+    12b4:	e7ef		b	0x1296
+    12b6:	9800		ldr	r0, [sp, #0]
+    12b8:	7840		ldrb	r0, [r0, #1]
+    12ba:	2800		cmp	r0, #0
+    12bc:	d000		beq	0x12c0
+    12be:	e0cb		b	0x1458
+    12c0:	e7e9		b	0x1296
+    12c2:	9800		ldr	r0, [sp, #0]
+    12c4:	7840		ldrb	r0, [r0, #1]
+    12c6:	2800		cmp	r0, #0
+    12c8:	d000		beq	0x12cc
+    12ca:	e0c5		b	0x1458
+    12cc:	4669		mov	r1, sp
+    12ce:	9800		ldr	r0, [sp, #0]
+    12d0:	8880		ldrh	r0, [r0, #4]
+    12d2:	8408		strh	r0, [r1, #32]	; 0x20
+    12d4:	9801		ldr	r0, [sp, #4]
+    12d6:	1c41		add	r1, r0, #1
+    12d8:	9101		str	r1, [sp, #4]
+    12da:	4669		mov	r1, sp
+    12dc:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    12de:	0409		lsl	r1, r1, #16
+    12e0:	0e09		lsr	r1, r1, #24
+    12e2:	0209		lsl	r1, r1, #8
+    12e4:	1209		asr	r1, r1, #8
+    12e6:	7001		strb	r1, [r0, #0]
+    12e8:	9801		ldr	r0, [sp, #4]
+    12ea:	1c41		add	r1, r0, #1
+    12ec:	9101		str	r1, [sp, #4]
+    12ee:	4669		mov	r1, sp
+    12f0:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    12f2:	0609		lsl	r1, r1, #24
+    12f4:	0e09		lsr	r1, r1, #24
+    12f6:	7001		strb	r1, [r0, #0]
+    12f8:	4669		mov	r1, sp
+    12fa:	9800		ldr	r0, [sp, #0]
+    12fc:	88c0		ldrh	r0, [r0, #6]
+    12fe:	8408		strh	r0, [r1, #32]	; 0x20
+    1300:	9801		ldr	r0, [sp, #4]
+    1302:	1c41		add	r1, r0, #1
+    1304:	9101		str	r1, [sp, #4]
+    1306:	4669		mov	r1, sp
+    1308:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    130a:	0409		lsl	r1, r1, #16
+    130c:	0e09		lsr	r1, r1, #24
+    130e:	0209		lsl	r1, r1, #8
+    1310:	1209		asr	r1, r1, #8
+    1312:	7001		strb	r1, [r0, #0]
+    1314:	9801		ldr	r0, [sp, #4]
+    1316:	1c41		add	r1, r0, #1
+    1318:	9101		str	r1, [sp, #4]
+    131a:	4669		mov	r1, sp
+    131c:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    131e:	0609		lsl	r1, r1, #24
+    1320:	0e09		lsr	r1, r1, #24
+    1322:	7001		strb	r1, [r0, #0]
+    1324:	4668		mov	r0, sp
+    1326:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1328:	3004		add	r0, #4
+    132a:	e7ac		b	0x1286
+    132c:	9800		ldr	r0, [sp, #0]
+    132e:	7840		ldrb	r0, [r0, #1]
+    1330:	2800		cmp	r0, #0
+    1332:	d000		beq	0x1336
+    1334:	e090		b	0x1458
+    1336:	e7ae		b	0x1296
+    1338:	9800		ldr	r0, [sp, #0]
+    133a:	7840		ldrb	r0, [r0, #1]
+    133c:	2800		cmp	r0, #0
+    133e:	d000		beq	0x1342
+    1340:	e08a		b	0x1458
+    1342:	4669		mov	r1, sp
+    1344:	4668		mov	r0, sp
+    1346:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1348:	3001		add	r0, #1
+    134a:	7408		strb	r0, [r1, #16]	; 0x10
+    134c:	4668		mov	r0, sp
+    134e:	9900		ldr	r1, [sp, #0]
+    1350:	7909		ldrb	r1, [r1, #4]
+    1352:	7601		strb	r1, [r0, #24]	; 0x18
+    1354:	9801		ldr	r0, [sp, #4]
+    1356:	1c41		add	r1, r0, #1
+    1358:	9101		str	r1, [sp, #4]
+    135a:	4669		mov	r1, sp
+    135c:	7e09		ldrb	r1, [r1, #24]	; 0x18
+    135e:	7001		strb	r1, [r0, #0]
+    1360:	4668		mov	r0, sp
+    1362:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1364:	2840		cmp	r0, #64	; 0x40
+    1366:	dd01		ble	0x136c
+    1368:	2004		mov	r0, #4
+    136a:	e055		b	0x1418
+    136c:	9800		ldr	r0, [sp, #0]
+    136e:	3006		add	r0, #6
+    1370:	9007		str	r0, [sp, #28]	; 0x1c
+    1372:	2000		mov	r0, #0
+    1374:	9002		str	r0, [sp, #8]
+    1376:	9902		ldr	r1, [sp, #8]
+    1378:	4668		mov	r0, sp
+    137a:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    137c:	4281		cmp	r1, r0
+    137e:	da6b		bge	0x1458
+    1380:	9801		ldr	r0, [sp, #4]
+    1382:	1c41		add	r1, r0, #1
+    1384:	9101		str	r1, [sp, #4]
+    1386:	9907		ldr	r1, [sp, #28]	; 0x1c
+    1388:	8809		ldrh	r1, [r1, #0]
+    138a:	0409		lsl	r1, r1, #16
+    138c:	0e09		lsr	r1, r1, #24
+    138e:	0209		lsl	r1, r1, #8
+    1390:	1209		asr	r1, r1, #8
+    1392:	7001		strb	r1, [r0, #0]
+    1394:	9807		ldr	r0, [sp, #28]	; 0x1c
+    1396:	8801		ldrh	r1, [r0, #0]
+    1398:	3002		add	r0, #2
+    139a:	9007		str	r0, [sp, #28]	; 0x1c
+    139c:	0608		lsl	r0, r1, #24
+    139e:	0e01		lsr	r1, r0, #24
+    13a0:	9801		ldr	r0, [sp, #4]
+    13a2:	1c42		add	r2, r0, #1
+    13a4:	9201		str	r2, [sp, #4]
+    13a6:	7001		strb	r1, [r0, #0]
+    13a8:	4669		mov	r1, sp
+    13aa:	4668		mov	r0, sp
+    13ac:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    13ae:	3002		add	r0, #2
+    13b0:	7408		strb	r0, [r1, #16]	; 0x10
+    13b2:	9802		ldr	r0, [sp, #8]
+    13b4:	3001		add	r0, #1
+    13b6:	9002		str	r0, [sp, #8]
+    13b8:	9902		ldr	r1, [sp, #8]
+    13ba:	4668		mov	r0, sp
+    13bc:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    13be:	4281		cmp	r1, r0
+    13c0:	dbde		blt	0x1380
+    13c2:	e049		b	0x1458
+    13c4:	9800		ldr	r0, [sp, #0]
+    13c6:	7840		ldrb	r0, [r0, #1]
+    13c8:	2800		cmp	r0, #0
+    13ca:	d145		bne	0x1458
+    13cc:	4669		mov	r1, sp
+    13ce:	9800		ldr	r0, [sp, #0]
+    13d0:	8880		ldrh	r0, [r0, #4]
+    13d2:	8408		strh	r0, [r1, #32]	; 0x20
+    13d4:	9801		ldr	r0, [sp, #4]
+    13d6:	1c41		add	r1, r0, #1
+    13d8:	9101		str	r1, [sp, #4]
+    13da:	4669		mov	r1, sp
+    13dc:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    13de:	0409		lsl	r1, r1, #16
+    13e0:	0e09		lsr	r1, r1, #24
+    13e2:	0209		lsl	r1, r1, #8
+    13e4:	1209		asr	r1, r1, #8
+    13e6:	7001		strb	r1, [r0, #0]
+    13e8:	9801		ldr	r0, [sp, #4]
+    13ea:	1c41		add	r1, r0, #1
+    13ec:	9101		str	r1, [sp, #4]
+    13ee:	4669		mov	r1, sp
+    13f0:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    13f2:	0609		lsl	r1, r1, #24
+    13f4:	0e09		lsr	r1, r1, #24
+    13f6:	7001		strb	r1, [r0, #0]
+    13f8:	4668		mov	r0, sp
+    13fa:	9900		ldr	r1, [sp, #0]
+    13fc:	88c9		ldrh	r1, [r1, #6]
+    13fe:	8401		strh	r1, [r0, #32]	; 0x20
+    1400:	9901		ldr	r1, [sp, #4]
+    1402:	1c48		add	r0, r1, #1
+    1404:	9001		str	r0, [sp, #4]
+    1406:	4668		mov	r0, sp
+    1408:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    140a:	0400		lsl	r0, r0, #16
+    140c:	0e00		lsr	r0, r0, #24
+    140e:	0200		lsl	r0, r0, #8
+    1410:	1200		asr	r0, r0, #8
+    1412:	7008		strb	r0, [r1, #0]
+    1414:	e77e		b	0x1314
+    1416:	2008		mov	r0, #8
+    1418:	9003		str	r0, [sp, #12]	; 0xc
+    141a:	e01d		b	0x1458
+    141c:	9800		ldr	r0, [sp, #0]
+    141e:	7800		ldrb	r0, [r0, #0]
+    1420:	280a		cmp	r0, #10	; 0xa
+    1422:	d8f8		bhi	0x1416
+    1424:	a101		add	r1, pc, #4
+    1426:	0080		lsl	r0, r0, #2
+    1428:	5808		ldr	r0, [r1, r0]
+    142a:	4687		mov	pc, r0
+    142c:	1252		asr	r2, r2, #9
+    142e:	0000		lsl	r0, r0, #0
+    1430:	128c		asr	r4, r1, #10
+    1432:	0000		lsl	r0, r0, #0
+    1434:	12aa		asr	r2, r5, #10
+    1436:	0000		lsl	r0, r0, #0
+    1438:	12b6		asr	r6, r6, #10
+    143a:	0000		lsl	r0, r0, #0
+    143c:	1458		asr	r0, r3, #17
+    143e:	0000		lsl	r0, r0, #0
+    1440:	12c2		asr	r2, r0, #11
+    1442:	0000		lsl	r0, r0, #0
+    1444:	132c		asr	r4, r5, #12
+    1446:	0000		lsl	r0, r0, #0
+    1448:	1338		asr	r0, r7, #12
+    144a:	0000		lsl	r0, r0, #0
+    144c:	1458		asr	r0, r3, #17
+    144e:	0000		lsl	r0, r0, #0
+    1450:	13c4		asr	r4, r0, #15
+    1452:	0000		lsl	r0, r0, #0
+    1454:	1458		asr	r0, r3, #17
+    1456:	0000		lsl	r0, r0, #0
+    1458:	9805		ldr	r0, [sp, #20]	; 0x14
+    145a:	4669		mov	r1, sp
+    145c:	7c09		ldrb	r1, [r1, #16]	; 0x10
+    145e:	7001		strb	r1, [r0, #0]
+    1460:	9803		ldr	r0, [sp, #12]	; 0xc
+    1462:	b009		add	sp, #36	; 0x24
+    1464:	4770		bx	lr
+    1466:	0000		lsl	r0, r0, #0
+    1468:	b500		push	{lr}
+    146a:	b083		sub	sp, #12	; 0xc
+    146c:	9101		str	r1, [sp, #4]
+    146e:	4669		mov	r1, sp
+    1470:	7008		strb	r0, [r1, #0]
+    1472:	2000		mov	r0, #0
+    1474:	9002		str	r0, [sp, #8]
+    1476:	e073		b	0x1560
+    1478:	4668		mov	r0, sp
+    147a:	7800		ldrb	r0, [r0, #0]
+    147c:	28aa		cmp	r0, #170	; 0xaa
+    147e:	d106		bne	0x148e
+    1480:	4965		ldr	r1, =0x83ff10	; via 0x1618
+    1482:	4865		ldr	r0, =0x83ff10	; via 0x1618
+    1484:	6800		ldr	r0, [r0, #0]
+    1486:	3001		add	r0, #1
+    1488:	07c0		lsl	r0, r0, #31
+    148a:	0fc0		lsr	r0, r0, #31
+    148c:	e013		b	0x14b6
+    148e:	4862		ldr	r0, =0x83ff10	; via 0x1618
+    1490:	6800		ldr	r0, [r0, #0]
+    1492:	2800		cmp	r0, #0
+    1494:	d06b		beq	0x156e
+    1496:	4961		ldr	r1, =0x83ff04	; via 0x161c
+    1498:	9801		ldr	r0, [sp, #4]
+    149a:	3001		add	r0, #1
+    149c:	6008		str	r0, [r1, #0]
+    149e:	4960		ldr	r1, =0x83ff0e	; via 0x1620
+    14a0:	2000		mov	r0, #0
+    14a2:	7008		strb	r0, [r1, #0]
+    14a4:	495f		ldr	r1, =0x83ff0c	; via 0x1624
+    14a6:	4668		mov	r0, sp
+    14a8:	7800		ldrb	r0, [r0, #0]
+    14aa:	8008		strh	r0, [r1, #0]
+    14ac:	495a		ldr	r1, =0x83ff10	; via 0x1618
+    14ae:	2000		mov	r0, #0
+    14b0:	6008		str	r0, [r1, #0]
+    14b2:	495d		ldr	r1, =0x83ff08	; via 0x1628
+    14b4:	2001		mov	r0, #1
+    14b6:	6008		str	r0, [r1, #0]
+    14b8:	e059		b	0x156e
+    14ba:	4668		mov	r0, sp
+    14bc:	7800		ldrb	r0, [r0, #0]
+    14be:	28aa		cmp	r0, #170	; 0xaa
+    14c0:	d113		bne	0x14ea
+    14c2:	4855		ldr	r0, =0x83ff10	; via 0x1618
+    14c4:	6800		ldr	r0, [r0, #0]
+    14c6:	2800		cmp	r0, #0
+    14c8:	d00b		beq	0x14e2
+    14ca:	4954		ldr	r1, =0x83ff04	; via 0x161c
+    14cc:	6808		ldr	r0, [r1, #0]
+    14ce:	1c42		add	r2, r0, #1
+    14d0:	600a		str	r2, [r1, #0]
+    14d2:	4669		mov	r1, sp
+    14d4:	7809		ldrb	r1, [r1, #0]
+    14d6:	7001		strb	r1, [r0, #0]
+    14d8:	4951		ldr	r1, =0x83ff0e	; via 0x1620
+    14da:	7808		ldrb	r0, [r1, #0]
+    14dc:	3001		add	r0, #1
+    14de:	7008		strb	r0, [r1, #0]
+    14e0:	e013		b	0x150a
+    14e2:	2101		mov	r1, #1
+    14e4:	484c		ldr	r0, =0x83ff10	; via 0x1618
+    14e6:	6001		str	r1, [r0, #0]
+    14e8:	e01c		b	0x1524
+    14ea:	484b		ldr	r0, =0x83ff10	; via 0x1618
+    14ec:	6800		ldr	r0, [r0, #0]
+    14ee:	2800		cmp	r0, #0
+    14f0:	d00d		beq	0x150e
+    14f2:	494a		ldr	r1, =0x83ff04	; via 0x161c
+    14f4:	9801		ldr	r0, [sp, #4]
+    14f6:	3001		add	r0, #1
+    14f8:	6008		str	r0, [r1, #0]
+    14fa:	4849		ldr	r0, =0x83ff0e	; via 0x1620
+    14fc:	2100		mov	r1, #0
+    14fe:	7001		strb	r1, [r0, #0]
+    1500:	4948		ldr	r1, =0x83ff0c	; via 0x1624
+    1502:	4668		mov	r0, sp
+    1504:	7800		ldrb	r0, [r0, #0]
+    1506:	3001		add	r0, #1
+    1508:	8008		strh	r0, [r1, #0]
+    150a:	2100		mov	r1, #0
+    150c:	e7ea		b	0x14e4
+    150e:	4843		ldr	r0, =0x83ff04	; via 0x161c
+    1510:	6801		ldr	r1, [r0, #0]
+    1512:	1c4a		add	r2, r1, #1
+    1514:	6002		str	r2, [r0, #0]
+    1516:	4668		mov	r0, sp
+    1518:	7800		ldrb	r0, [r0, #0]
+    151a:	7008		strb	r0, [r1, #0]
+    151c:	4940		ldr	r1, =0x83ff0e	; via 0x1620
+    151e:	7808		ldrb	r0, [r1, #0]
+    1520:	3001		add	r0, #1
+    1522:	7008		strb	r0, [r1, #0]
+    1524:	483f		ldr	r0, =0x83ff0c	; via 0x1624
+    1526:	8801		ldrh	r1, [r0, #0]
+    1528:	3901		sub	r1, #1
+    152a:	8001		strh	r1, [r0, #0]
+    152c:	483d		ldr	r0, =0x83ff0c	; via 0x1624
+    152e:	8800		ldrh	r0, [r0, #0]
+    1530:	2800		cmp	r0, #0
+    1532:	d11c		bne	0x156e
+    1534:	9901		ldr	r1, [sp, #4]
+    1536:	483a		ldr	r0, =0x83ff0e	; via 0x1620
+    1538:	7800		ldrb	r0, [r0, #0]
+    153a:	7008		strb	r0, [r1, #0]
+    153c:	2001		mov	r0, #1
+    153e:	9002		str	r0, [sp, #8]
+    1540:	4839		ldr	r0, =0x83ff08	; via 0x1628
+    1542:	2100		mov	r1, #0
+    1544:	6001		str	r1, [r0, #0]
+    1546:	4834		ldr	r0, =0x83ff10	; via 0x1618
+    1548:	6001		str	r1, [r0, #0]
+    154a:	9801		ldr	r0, [sp, #4]
+    154c:	7800		ldrb	r0, [r0, #0]
+    154e:	2801		cmp	r0, #1
+    1550:	d10d		bne	0x156e
+    1552:	9801		ldr	r0, [sp, #4]
+    1554:	7840		ldrb	r0, [r0, #1]
+    1556:	28dd		cmp	r0, #221	; 0xdd
+    1558:	d109		bne	0x156e
+    155a:	f7ff fae3	bl	0xb24
+    155e:	e006		b	0x156e
+    1560:	4831		ldr	r0, =0x83ff08	; via 0x1628
+    1562:	6800		ldr	r0, [r0, #0]
+    1564:	2800		cmp	r0, #0
+    1566:	d087		beq	0x1478
+    1568:	3801		sub	r0, #1
+    156a:	2800		cmp	r0, #0
+    156c:	d0a5		beq	0x14ba
+    156e:	9802		ldr	r0, [sp, #8]
+    1570:	b003		add	sp, #12	; 0xc
+    1572:	bd00		pop	{pc}
+    1574:	b086		sub	sp, #24	; 0x18
+    1576:	9202		str	r2, [sp, #8]
+    1578:	9101		str	r1, [sp, #4]
+    157a:	9000		str	r0, [sp, #0]
+    157c:	9801		ldr	r0, [sp, #4]
+    157e:	3001		add	r0, #1
+    1580:	9004		str	r0, [sp, #16]	; 0x10
+    1582:	9800		ldr	r0, [sp, #0]
+    1584:	1c41		add	r1, r0, #1
+    1586:	9100		str	r1, [sp, #0]
+    1588:	9005		str	r0, [sp, #20]	; 0x14
+    158a:	9901		ldr	r1, [sp, #4]
+    158c:	20aa		mov	r0, #170	; 0xaa
+    158e:	7008		strb	r0, [r1, #0]
+    1590:	9801		ldr	r0, [sp, #4]
+    1592:	3002		add	r0, #2
+    1594:	9001		str	r0, [sp, #4]
+    1596:	9902		ldr	r1, [sp, #8]
+    1598:	2000		mov	r0, #0
+    159a:	8008		strh	r0, [r1, #0]
+    159c:	4669		mov	r1, sp
+    159e:	8188		strh	r0, [r1, #12]	; 0xc
+    15a0:	4668		mov	r0, sp
+    15a2:	8981		ldrh	r1, [r0, #12]	; 0xc
+    15a4:	9805		ldr	r0, [sp, #20]	; 0x14
+    15a6:	7800		ldrb	r0, [r0, #0]
+    15a8:	4281		cmp	r1, r0
+    15aa:	da23		bge	0x15f4
+    15ac:	9800		ldr	r0, [sp, #0]
+    15ae:	7800		ldrb	r0, [r0, #0]
+    15b0:	28aa		cmp	r0, #170	; 0xaa
+    15b2:	d108		bne	0x15c6
+    15b4:	9801		ldr	r0, [sp, #4]
+    15b6:	1c41		add	r1, r0, #1
+    15b8:	9101		str	r1, [sp, #4]
+    15ba:	21aa		mov	r1, #170	; 0xaa
+    15bc:	7001		strb	r1, [r0, #0]
+    15be:	9902		ldr	r1, [sp, #8]
+    15c0:	8808		ldrh	r0, [r1, #0]
+    15c2:	3001		add	r0, #1
+    15c4:	8008		strh	r0, [r1, #0]
+    15c6:	9800		ldr	r0, [sp, #0]
+    15c8:	7801		ldrb	r1, [r0, #0]
+    15ca:	3001		add	r0, #1
+    15cc:	9000		str	r0, [sp, #0]
+    15ce:	9801		ldr	r0, [sp, #4]
+    15d0:	1c42		add	r2, r0, #1
+    15d2:	9201		str	r2, [sp, #4]
+    15d4:	7001		strb	r1, [r0, #0]
+    15d6:	9902		ldr	r1, [sp, #8]
+    15d8:	8808		ldrh	r0, [r1, #0]
+    15da:	3001		add	r0, #1
+    15dc:	8008		strh	r0, [r1, #0]
+    15de:	4669		mov	r1, sp
+    15e0:	4668		mov	r0, sp
+    15e2:	8980		ldrh	r0, [r0, #12]	; 0xc
+    15e4:	3001		add	r0, #1
+    15e6:	8188		strh	r0, [r1, #12]	; 0xc
+    15e8:	4668		mov	r0, sp
+    15ea:	8980		ldrh	r0, [r0, #12]	; 0xc
+    15ec:	9905		ldr	r1, [sp, #20]	; 0x14
+    15ee:	7809		ldrb	r1, [r1, #0]
+    15f0:	4288		cmp	r0, r1
+    15f2:	dbdb		blt	0x15ac
+    15f4:	9904		ldr	r1, [sp, #16]	; 0x10
+    15f6:	9802		ldr	r0, [sp, #8]
+    15f8:	7800		ldrb	r0, [r0, #0]
+    15fa:	7008		strb	r0, [r1, #0]
+    15fc:	9902		ldr	r1, [sp, #8]
+    15fe:	8808		ldrh	r0, [r1, #0]
+    1600:	3002		add	r0, #2
+    1602:	8008		strh	r0, [r1, #0]
+    1604:	b006		add	sp, #24	; 0x18
+    1606:	4770		bx	lr
+    1608:	4907		ldr	r1, =0x83ff08	; via 0x1628
+    160a:	2000		mov	r0, #0
+    160c:	6008		str	r0, [r1, #0]
+    160e:	4802		ldr	r0, =0x83ff10	; via 0x1618
+    1610:	2100		mov	r1, #0
+    1612:	6001		str	r1, [r0, #0]
+    1614:	4770		bx	lr
+    1616:	46c0		nop			(mov r8, r8)
+    1618:	ff10		<half-bl>
+    161a:	0083		lsl	r3, r0, #2
+    161c:	ff04		<half-bl>
+    161e:	0083		lsl	r3, r0, #2
+    1620:	ff0e		<half-bl>
+    1622:	0083		lsl	r3, r0, #2
+    1624:	ff0c		<half-bl>
+    1626:	0083		lsl	r3, r0, #2
+    1628:	ff08		<half-bl>
+    162a:	0083		lsl	r3, r0, #2
+    162c:	b082		sub	sp, #8
+    162e:	9101		str	r1, [sp, #4]
+    1630:	9000		str	r0, [sp, #0]
+    1632:	9901		ldr	r1, [sp, #4]
+    1634:	2000		mov	r0, #0
+    1636:	7008		strb	r0, [r1, #0]
+    1638:	9801		ldr	r0, [sp, #4]
+    163a:	2100		mov	r1, #0
+    163c:	7041		strb	r1, [r0, #1]
+    163e:	9801		ldr	r0, [sp, #4]
+    1640:	2102		mov	r1, #2
+    1642:	7101		strb	r1, [r0, #4]
+    1644:	9801		ldr	r0, [sp, #4]
+    1646:	2106		mov	r1, #6
+    1648:	7141		strb	r1, [r0, #5]
+    164a:	9801		ldr	r0, [sp, #4]
+    164c:	2102		mov	r1, #2
+    164e:	7181		strb	r1, [r0, #6]
+    1650:	b002		add	sp, #8
+    1652:	4770		bx	lr
+    1654:	b500		push	{lr}
+    1656:	b084		sub	sp, #16	; 0x10
+    1658:	466b		mov	r3, sp
+    165a:	721a		strb	r2, [r3, #8]
+    165c:	9101		str	r1, [sp, #4]
+    165e:	9000		str	r0, [sp, #0]
+    1660:	9901		ldr	r1, [sp, #4]
+    1662:	2009		mov	r0, #9
+    1664:	7008		strb	r0, [r1, #0]
+    1666:	e015		b	0x1694
+    1668:	9801		ldr	r0, [sp, #4]
+    166a:	2100		mov	r1, #0
+    166c:	7041		strb	r1, [r0, #1]
+    166e:	9901		ldr	r1, [sp, #4]
+    1670:	4668		mov	r0, sp
+    1672:	8940		ldrh	r0, [r0, #10]	; 0xa
+    1674:	8088		strh	r0, [r1, #4]
+    1676:	9901		ldr	r1, [sp, #4]
+    1678:	4668		mov	r0, sp
+    167a:	8980		ldrh	r0, [r0, #12]	; 0xc
+    167c:	80c8		strh	r0, [r1, #6]
+    167e:	e01e		b	0x16be
+    1680:	2101		mov	r1, #1
+    1682:	e004		b	0x168e
+    1684:	2103		mov	r1, #3
+    1686:	e002		b	0x168e
+    1688:	2105		mov	r1, #5
+    168a:	e000		b	0x168e
+    168c:	2106		mov	r1, #6
+    168e:	9801		ldr	r0, [sp, #4]
+    1690:	7041		strb	r1, [r0, #1]
+    1692:	e014		b	0x16be
+    1694:	200a		mov	r0, #10	; 0xa
+    1696:	4468		add	r0, sp
+    1698:	a903		add	r1, sp, #12	; 0xc
+    169a:	466a		mov	r2, sp
+    169c:	7a12		ldrb	r2, [r2, #8]
+    169e:	f000 fb71	bl	0x1d84
+    16a2:	2800		cmp	r0, #0
+    16a4:	d0e0		beq	0x1668
+    16a6:	3801		sub	r0, #1
+    16a8:	2800		cmp	r0, #0
+    16aa:	d0e9		beq	0x1680
+    16ac:	3801		sub	r0, #1
+    16ae:	2800		cmp	r0, #0
+    16b0:	d0e8		beq	0x1684
+    16b2:	3801		sub	r0, #1
+    16b4:	2800		cmp	r0, #0
+    16b6:	d0e7		beq	0x1688
+    16b8:	3801		sub	r0, #1
+    16ba:	2800		cmp	r0, #0
+    16bc:	d0e6		beq	0x168c
+    16be:	b004		add	sp, #16	; 0x10
+    16c0:	bd00		pop	{pc}
+    16c2:	b084		sub	sp, #16	; 0x10
+    16c4:	9101		str	r1, [sp, #4]
+    16c6:	9000		str	r0, [sp, #0]
+    16c8:	9901		ldr	r1, [sp, #4]
+    16ca:	200a		mov	r0, #10	; 0xa
+    16cc:	7008		strb	r0, [r1, #0]
+    16ce:	9801		ldr	r0, [sp, #4]
+    16d0:	2100		mov	r1, #0
+    16d2:	7041		strb	r1, [r0, #1]
+    16d4:	4669		mov	r1, sp
+    16d6:	9800		ldr	r0, [sp, #0]
+    16d8:	8880		ldrh	r0, [r0, #4]
+    16da:	8108		strh	r0, [r1, #8]
+    16dc:	9800		ldr	r0, [sp, #0]
+    16de:	88c0		ldrh	r0, [r0, #6]
+    16e0:	8148		strh	r0, [r1, #10]	; 0xa
+    16e2:	4668		mov	r0, sp
+    16e4:	8941		ldrh	r1, [r0, #10]	; 0xa
+    16e6:	8900		ldrh	r0, [r0, #8]
+    16e8:	0400		lsl	r0, r0, #16
+    16ea:	1808		add	r0, r1, r0
+    16ec:	9003		str	r0, [sp, #12]	; 0xc
+    16ee:	9803		ldr	r0, [sp, #12]	; 0xc
+    16f0:	b004		add	sp, #16	; 0x10
+    16f2:	4770		bx	lr
+    16f4:	b085		sub	sp, #20	; 0x14
+    16f6:	9303		str	r3, [sp, #12]	; 0xc
+    16f8:	9202		str	r2, [sp, #8]
+    16fa:	9101		str	r1, [sp, #4]
+    16fc:	4669		mov	r1, sp
+    16fe:	7008		strb	r0, [r1, #0]
+    1700:	48ea		ldr	r0, =0x83ff19	; via 0x1aac
+    1702:	7809		ldrb	r1, [r1, #0]
+    1704:	7802		ldrb	r2, [r0, #0]
+    1706:	1889		add	r1, r1, r2
+    1708:	7001		strb	r1, [r0, #0]
+    170a:	48e9		ldr	r0, =0x83ff1a	; via 0x1ab0
+    170c:	7800		ldrb	r0, [r0, #0]
+    170e:	2800		cmp	r0, #0
+    1710:	d00e		beq	0x1730
+    1712:	48e8		ldr	r0, =0x83ff26	; via 0x1ab4
+    1714:	4669		mov	r1, sp
+    1716:	780a		ldrb	r2, [r1, #0]
+    1718:	8801		ldrh	r1, [r0, #0]
+    171a:	1851		add	r1, r2, r1
+    171c:	8001		strh	r1, [r0, #0]
+    171e:	9903		ldr	r1, [sp, #12]	; 0xc
+    1720:	48e4		ldr	r0, =0x83ff26	; via 0x1ab4
+    1722:	8800		ldrh	r0, [r0, #0]
+    1724:	8008		strh	r0, [r1, #0]
+    1726:	9801		ldr	r0, [sp, #4]
+    1728:	2100		mov	r1, #0
+    172a:	6001		str	r1, [r0, #0]
+    172c:	2000		mov	r0, #0
+    172e:	e009		b	0x1744
+    1730:	9902		ldr	r1, [sp, #8]
+    1732:	6808		ldr	r0, [r1, #0]
+    1734:	3002		add	r0, #2
+    1736:	6008		str	r0, [r1, #0]
+    1738:	49de		ldr	r1, =0x83ff26	; via 0x1ab4
+    173a:	4668		mov	r0, sp
+    173c:	7800		ldrb	r0, [r0, #0]
+    173e:	0200		lsl	r0, r0, #8
+    1740:	8008		strh	r0, [r1, #0]
+    1742:	2001		mov	r0, #1
+    1744:	9004		str	r0, [sp, #16]	; 0x10
+    1746:	2001		mov	r0, #1
+    1748:	49d9		ldr	r1, =0x83ff1a	; via 0x1ab0
+    174a:	7809		ldrb	r1, [r1, #0]
+    174c:	4388		bic	r0, r1
+    174e:	49d8		ldr	r1, =0x83ff1a	; via 0x1ab0
+    1750:	7008		strb	r0, [r1, #0]
+    1752:	48d9		ldr	r0, =0x83ff24	; via 0x1ab8
+    1754:	7801		ldrb	r1, [r0, #0]
+    1756:	3901		sub	r1, #1
+    1758:	7001		strb	r1, [r0, #0]
+    175a:	48d7		ldr	r0, =0x83ff24	; via 0x1ab8
+    175c:	7800		ldrb	r0, [r0, #0]
+    175e:	2800		cmp	r0, #0
+    1760:	d102		bne	0x1768
+    1762:	48d6		ldr	r0, =0x83ff20	; via 0x1abc
+    1764:	2106		mov	r1, #6
+    1766:	6001		str	r1, [r0, #0]
+    1768:	9804		ldr	r0, [sp, #16]	; 0x10
+    176a:	b005		add	sp, #20	; 0x14
+    176c:	46f7		mov	pc, lr
+    176e:	b083		sub	sp, #12	; 0xc
+    1770:	9101		str	r1, [sp, #4]
+    1772:	4669		mov	r1, sp
+    1774:	7008		strb	r0, [r1, #0]
+    1776:	2001		mov	r0, #1
+    1778:	9002		str	r0, [sp, #8]
+    177a:	48d1		ldr	r0, =0x83ff1b	; via 0x1ac0
+    177c:	7800		ldrb	r0, [r0, #0]
+    177e:	2800		cmp	r0, #0
+    1780:	d10a		bne	0x1798
+    1782:	4668		mov	r0, sp
+    1784:	7800		ldrb	r0, [r0, #0]
+    1786:	2853		cmp	r0, #83	; 0x53
+    1788:	d102		bne	0x1790
+    178a:	48cd		ldr	r0, =0x83ff1b	; via 0x1ac0
+    178c:	2101		mov	r1, #1
+    178e:	e01a		b	0x17c6
+    1790:	2101		mov	r1, #1
+    1792:	9801		ldr	r0, [sp, #4]
+    1794:	6001		str	r1, [r0, #0]
+    1796:	e03b		b	0x1810
+    1798:	49c9		ldr	r1, =0x83ff1b	; via 0x1ac0
+    179a:	2000		mov	r0, #0
+    179c:	7008		strb	r0, [r1, #0]
+    179e:	4668		mov	r0, sp
+    17a0:	7800		ldrb	r0, [r0, #0]
+    17a2:	2830		cmp	r0, #48	; 0x30
+    17a4:	d111		bne	0x17ca
+    17a6:	48c7		ldr	r0, =0x83ff18	; via 0x1ac4
+    17a8:	7800		ldrb	r0, [r0, #0]
+    17aa:	2800		cmp	r0, #0
+    17ac:	d006		beq	0x17bc
+    17ae:	9901		ldr	r1, [sp, #4]
+    17b0:	2001		mov	r0, #1
+    17b2:	6008		str	r0, [r1, #0]
+    17b4:	49c3		ldr	r1, =0x83ff18	; via 0x1ac4
+    17b6:	2000		mov	r0, #0
+    17b8:	7008		strb	r0, [r1, #0]
+    17ba:	e02a		b	0x1812
+    17bc:	48bf		ldr	r0, =0x83ff20	; via 0x1abc
+    17be:	2102		mov	r1, #2
+    17c0:	6001		str	r1, [r0, #0]
+    17c2:	48ef		ldr	r0, =0x83ff1c	; via 0x1b80
+    17c4:	2100		mov	r1, #0
+    17c6:	7001		strb	r1, [r0, #0]
+    17c8:	e024		b	0x1814
+    17ca:	4668		mov	r0, sp
+    17cc:	7800		ldrb	r0, [r0, #0]
+    17ce:	2833		cmp	r0, #51	; 0x33
+    17d0:	d105		bne	0x17de
+    17d2:	48bc		ldr	r0, =0x83ff18	; via 0x1ac4
+    17d4:	7800		ldrb	r0, [r0, #0]
+    17d6:	2800		cmp	r0, #0
+    17d8:	d0da		beq	0x1790
+    17da:	2004		mov	r0, #4
+    17dc:	e00c		b	0x17f8
+    17de:	4668		mov	r0, sp
+    17e0:	7800		ldrb	r0, [r0, #0]
+    17e2:	2837		cmp	r0, #55	; 0x37
+    17e4:	d10e		bne	0x1804
+    17e6:	48b7		ldr	r0, =0x83ff18	; via 0x1ac4
+    17e8:	7800		ldrb	r0, [r0, #0]
+    17ea:	2800		cmp	r0, #0
+    17ec:	d103		bne	0x17f6
+    17ee:	9901		ldr	r1, [sp, #4]
+    17f0:	2001		mov	r0, #1
+    17f2:	6008		str	r0, [r1, #0]
+    17f4:	e00c		b	0x1810
+    17f6:	2003		mov	r0, #3
+    17f8:	49b0		ldr	r1, =0x83ff20	; via 0x1abc
+    17fa:	6008		str	r0, [r1, #0]
+    17fc:	2000		mov	r0, #0
+    17fe:	49e0		ldr	r1, =0x83ff1c	; via 0x1b80
+    1800:	7008		strb	r0, [r1, #0]
+    1802:	e007		b	0x1814
+    1804:	9901		ldr	r1, [sp, #4]
+    1806:	2001		mov	r0, #1
+    1808:	6008		str	r0, [r1, #0]
+    180a:	48ae		ldr	r0, =0x83ff18	; via 0x1ac4
+    180c:	2100		mov	r1, #0
+    180e:	7001		strb	r1, [r0, #0]
+    1810:	2000		mov	r0, #0
+    1812:	9002		str	r0, [sp, #8]
+    1814:	9802		ldr	r0, [sp, #8]
+    1816:	b003		add	sp, #12	; 0xc
+    1818:	46f7		mov	pc, lr
+    181a:	b083		sub	sp, #12	; 0xc
+    181c:	9101		str	r1, [sp, #4]
+    181e:	4669		mov	r1, sp
+    1820:	7008		strb	r0, [r1, #0]
+    1822:	2001		mov	r0, #1
+    1824:	9002		str	r0, [sp, #8]
+    1826:	49d7		ldr	r1, =0x830	; via 0x1b84
+    1828:	48d5		ldr	r0, =0x83ff1c	; via 0x1b80
+    182a:	7800		ldrb	r0, [r0, #0]
+    182c:	0080		lsl	r0, r0, #2
+    182e:	5808		ldr	r0, [r1, r0]
+    1830:	4669		mov	r1, sp
+    1832:	7809		ldrb	r1, [r1, #0]
+    1834:	4281		cmp	r1, r0
+    1836:	d10d		bne	0x1854
+    1838:	49d1		ldr	r1, =0x83ff1c	; via 0x1b80
+    183a:	7808		ldrb	r0, [r1, #0]
+    183c:	3001		add	r0, #1
+    183e:	7008		strb	r0, [r1, #0]
+    1840:	48cf		ldr	r0, =0x83ff1c	; via 0x1b80
+    1842:	7800		ldrb	r0, [r0, #0]
+    1844:	2807		cmp	r0, #7
+    1846:	d10d		bne	0x1864
+    1848:	489c		ldr	r0, =0x83ff20	; via 0x1abc
+    184a:	2101		mov	r1, #1
+    184c:	6001		str	r1, [r0, #0]
+    184e:	489d		ldr	r0, =0x83ff18	; via 0x1ac4
+    1850:	7001		strb	r1, [r0, #0]
+    1852:	e007		b	0x1864
+    1854:	9801		ldr	r0, [sp, #4]
+    1856:	2101		mov	r1, #1
+    1858:	6001		str	r1, [r0, #0]
+    185a:	4998		ldr	r1, =0x83ff20	; via 0x1abc
+    185c:	2001		mov	r0, #1
+    185e:	6008		str	r0, [r1, #0]
+    1860:	2000		mov	r0, #0
+    1862:	9002		str	r0, [sp, #8]
+    1864:	9802		ldr	r0, [sp, #8]
+    1866:	b003		add	sp, #12	; 0xc
+    1868:	46f7		mov	pc, lr
+    186a:	b083		sub	sp, #12	; 0xc
+    186c:	9101		str	r1, [sp, #4]
+    186e:	4669		mov	r1, sp
+    1870:	7008		strb	r0, [r1, #0]
+    1872:	2001		mov	r0, #1
+    1874:	9002		str	r0, [sp, #8]
+    1876:	49c4		ldr	r1, =0x84c	; via 0x1b88
+    1878:	48c1		ldr	r0, =0x83ff1c	; via 0x1b80
+    187a:	7800		ldrb	r0, [r0, #0]
+    187c:	0080		lsl	r0, r0, #2
+    187e:	5808		ldr	r0, [r1, r0]
+    1880:	4669		mov	r1, sp
+    1882:	7809		ldrb	r1, [r1, #0]
+    1884:	4281		cmp	r1, r0
+    1886:	d112		bne	0x18ae
+    1888:	49bd		ldr	r1, =0x83ff1c	; via 0x1b80
+    188a:	7808		ldrb	r0, [r1, #0]
+    188c:	3001		add	r0, #1
+    188e:	7008		strb	r0, [r1, #0]
+    1890:	48bb		ldr	r0, =0x83ff1c	; via 0x1b80
+    1892:	7800		ldrb	r0, [r0, #0]
+    1894:	2806		cmp	r0, #6
+    1896:	d114		bne	0x18c2
+    1898:	9801		ldr	r0, [sp, #4]
+    189a:	2102		mov	r1, #2
+    189c:	6001		str	r1, [r0, #0]
+    189e:	4887		ldr	r0, =0x83ff20	; via 0x1abc
+    18a0:	2101		mov	r1, #1
+    18a2:	6001		str	r1, [r0, #0]
+    18a4:	4887		ldr	r0, =0x83ff18	; via 0x1ac4
+    18a6:	2100		mov	r1, #0
+    18a8:	7001		strb	r1, [r0, #0]
+    18aa:	2000		mov	r0, #0
+    18ac:	e008		b	0x18c0
+    18ae:	9801		ldr	r0, [sp, #4]
+    18b0:	2101		mov	r1, #1
+    18b2:	6001		str	r1, [r0, #0]
+    18b4:	4981		ldr	r1, =0x83ff20	; via 0x1abc
+    18b6:	2001		mov	r0, #1
+    18b8:	6008		str	r0, [r1, #0]
+    18ba:	4982		ldr	r1, =0x83ff18	; via 0x1ac4
+    18bc:	2000		mov	r0, #0
+    18be:	7008		strb	r0, [r1, #0]
+    18c0:	9002		str	r0, [sp, #8]
+    18c2:	9802		ldr	r0, [sp, #8]
+    18c4:	b003		add	sp, #12	; 0xc
+    18c6:	46f7		mov	pc, lr
+    18c8:	b081		sub	sp, #4
+    18ca:	4669		mov	r1, sp
+    18cc:	7008		strb	r0, [r1, #0]
+    18ce:	497a		ldr	r1, =0x83ff24	; via 0x1ab8
+    18d0:	4668		mov	r0, sp
+    18d2:	7800		ldrb	r0, [r0, #0]
+    18d4:	3801		sub	r0, #1
+    18d6:	7008		strb	r0, [r1, #0]
+    18d8:	4874		ldr	r0, =0x83ff19	; via 0x1aac
+    18da:	4669		mov	r1, sp
+    18dc:	7809		ldrb	r1, [r1, #0]
+    18de:	7001		strb	r1, [r0, #0]
+    18e0:	48a7		ldr	r0, =0x83ff1c	; via 0x1b80
+    18e2:	2100		mov	r1, #0
+    18e4:	7001		strb	r1, [r0, #0]
+    18e6:	48e3		ldr	r0, =0x83ff14	; via 0x1c74
+    18e8:	6001		str	r1, [r0, #0]
+    18ea:	4874		ldr	r0, =0x83ff20	; via 0x1abc
+    18ec:	2105		mov	r1, #5
+    18ee:	6001		str	r1, [r0, #0]
+    18f0:	b001		add	sp, #4
+    18f2:	46f7		mov	pc, lr
+    18f4:	b084		sub	sp, #16	; 0x10
+    18f6:	9202		str	r2, [sp, #8]
+    18f8:	9101		str	r1, [sp, #4]
+    18fa:	4669		mov	r1, sp
+    18fc:	7008		strb	r0, [r1, #0]
+    18fe:	2001		mov	r0, #1
+    1900:	9003		str	r0, [sp, #12]	; 0xc
+    1902:	496d		ldr	r1, =0x83ff24	; via 0x1ab8
+    1904:	7808		ldrb	r0, [r1, #0]
+    1906:	3801		sub	r0, #1
+    1908:	7008		strb	r0, [r1, #0]
+    190a:	486b		ldr	r0, =0x83ff24	; via 0x1ab8
+    190c:	7800		ldrb	r0, [r0, #0]
+    190e:	2800		cmp	r0, #0
+    1910:	d026		beq	0x1960
+    1912:	4866		ldr	r0, =0x83ff19	; via 0x1aac
+    1914:	4669		mov	r1, sp
+    1916:	780a		ldrb	r2, [r1, #0]
+    1918:	7801		ldrb	r1, [r0, #0]
+    191a:	1851		add	r1, r2, r1
+    191c:	7001		strb	r1, [r0, #0]
+    191e:	4998		ldr	r1, =0x83ff1c	; via 0x1b80
+    1920:	7808		ldrb	r0, [r1, #0]
+    1922:	3001		add	r0, #1
+    1924:	7008		strb	r0, [r1, #0]
+    1926:	49d3		ldr	r1, =0x83ff14	; via 0x1c74
+    1928:	2204		mov	r2, #4
+    192a:	4895		ldr	r0, =0x83ff1c	; via 0x1b80
+    192c:	7800		ldrb	r0, [r0, #0]
+    192e:	1a10		sub	r0, r2, r0
+    1930:	00c2		lsl	r2, r0, #3
+    1932:	4668		mov	r0, sp
+    1934:	7800		ldrb	r0, [r0, #0]
+    1936:	4090		lsl	r0, r2
+    1938:	680a		ldr	r2, [r1, #0]
+    193a:	1880		add	r0, r0, r2
+    193c:	6008		str	r0, [r1, #0]
+    193e:	4890		ldr	r0, =0x83ff1c	; via 0x1b80
+    1940:	7800		ldrb	r0, [r0, #0]
+    1942:	2804		cmp	r0, #4
+    1944:	d117		bne	0x1976
+    1946:	9902		ldr	r1, [sp, #8]
+    1948:	48ca		ldr	r0, =0x83ff14	; via 0x1c74
+    194a:	6800		ldr	r0, [r0, #0]
+    194c:	3802		sub	r0, #2
+    194e:	6008		str	r0, [r1, #0]
+    1950:	485a		ldr	r0, =0x83ff20	; via 0x1abc
+    1952:	2100		mov	r1, #0
+    1954:	6001		str	r1, [r0, #0]
+    1956:	4856		ldr	r0, =0x83ff1a	; via 0x1ab0
+    1958:	7001		strb	r1, [r0, #0]
+    195a:	4889		ldr	r0, =0x83ff1c	; via 0x1b80
+    195c:	7001		strb	r1, [r0, #0]
+    195e:	e00a		b	0x1976
+    1960:	9801		ldr	r0, [sp, #4]
+    1962:	2101		mov	r1, #1
+    1964:	6001		str	r1, [r0, #0]
+    1966:	4955		ldr	r1, =0x83ff20	; via 0x1abc
+    1968:	2001		mov	r0, #1
+    196a:	6008		str	r0, [r1, #0]
+    196c:	4855		ldr	r0, =0x83ff18	; via 0x1ac4
+    196e:	2100		mov	r1, #0
+    1970:	7001		strb	r1, [r0, #0]
+    1972:	2000		mov	r0, #0
+    1974:	9003		str	r0, [sp, #12]	; 0xc
+    1976:	9803		ldr	r0, [sp, #12]	; 0xc
+    1978:	b004		add	sp, #16	; 0x10
+    197a:	46f7		mov	pc, lr
+    197c:	b083		sub	sp, #12	; 0xc
+    197e:	9101		str	r1, [sp, #4]
+    1980:	4669		mov	r1, sp
+    1982:	7008		strb	r0, [r1, #0]
+    1984:	2001		mov	r0, #1
+    1986:	9002		str	r0, [sp, #8]
+    1988:	494c		ldr	r1, =0x83ff20	; via 0x1abc
+    198a:	6008		str	r0, [r1, #0]
+    198c:	20ff		mov	r0, #255	; 0xff
+    198e:	4669		mov	r1, sp
+    1990:	7809		ldrb	r1, [r1, #0]
+    1992:	4388		bic	r0, r1
+    1994:	4945		ldr	r1, =0x83ff19	; via 0x1aac
+    1996:	7809		ldrb	r1, [r1, #0]
+    1998:	4281		cmp	r1, r0
+    199a:	d007		beq	0x19ac
+    199c:	9801		ldr	r0, [sp, #4]
+    199e:	2101		mov	r1, #1
+    19a0:	6001		str	r1, [r0, #0]
+    19a2:	4848		ldr	r0, =0x83ff18	; via 0x1ac4
+    19a4:	2100		mov	r1, #0
+    19a6:	7001		strb	r1, [r0, #0]
+    19a8:	2000		mov	r0, #0
+    19aa:	9002		str	r0, [sp, #8]
+    19ac:	9802		ldr	r0, [sp, #8]
+    19ae:	b003		add	sp, #12	; 0xc
+    19b0:	46f7		mov	pc, lr
+    19b2:	b085		sub	sp, #20	; 0x14
+    19b4:	466b		mov	r3, sp
+    19b6:	719a		strb	r2, [r3, #6]
+    19b8:	466a		mov	r2, sp
+    19ba:	8091		strh	r1, [r2, #4]
+    19bc:	9000		str	r0, [sp, #0]
+    19be:	9800		ldr	r0, [sp, #0]
+    19c0:	9002		str	r0, [sp, #8]
+    19c2:	4669		mov	r1, sp
+    19c4:	4668		mov	r0, sp
+    19c6:	8880		ldrh	r0, [r0, #4]
+    19c8:	8208		strh	r0, [r1, #16]	; 0x10
+    19ca:	4668		mov	r0, sp
+    19cc:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    19ce:	2800		cmp	r0, #0
+    19d0:	d01e		beq	0x1a10
+    19d2:	49e3		ldr	r1, =0x864	; via 0x1d60
+    19d4:	4668		mov	r0, sp
+    19d6:	7980		ldrb	r0, [r0, #6]
+    19d8:	0080		lsl	r0, r0, #2
+    19da:	5808		ldr	r0, [r1, r0]
+    19dc:	7941		ldrb	r1, [r0, #5]
+    19de:	4668		mov	r0, sp
+    19e0:	7301		strb	r1, [r0, #12]	; 0xc
+    19e2:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    19e4:	0980		lsr	r0, r0, #6
+    19e6:	d3f4		bcc	0x19d2
+    19e8:	49dd		ldr	r1, =0x864	; via 0x1d60
+    19ea:	4668		mov	r0, sp
+    19ec:	7980		ldrb	r0, [r0, #6]
+    19ee:	0080		lsl	r0, r0, #2
+    19f0:	5809		ldr	r1, [r1, r0]
+    19f2:	9802		ldr	r0, [sp, #8]
+    19f4:	7800		ldrb	r0, [r0, #0]
+    19f6:	7008		strb	r0, [r1, #0]
+    19f8:	9802		ldr	r0, [sp, #8]
+    19fa:	3001		add	r0, #1
+    19fc:	9002		str	r0, [sp, #8]
+    19fe:	4669		mov	r1, sp
+    1a00:	4668		mov	r0, sp
+    1a02:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    1a04:	3801		sub	r0, #1
+    1a06:	8208		strh	r0, [r1, #16]	; 0x10
+    1a08:	4668		mov	r0, sp
+    1a0a:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    1a0c:	2800		cmp	r0, #0
+    1a0e:	d1e0		bne	0x19d2
+    1a10:	b005		add	sp, #20	; 0x14
+    1a12:	46f7		mov	pc, lr
+    1a14:	b082		sub	sp, #8
+    1a16:	4669		mov	r1, sp
+    1a18:	7008		strb	r0, [r1, #0]
+    1a1a:	2000		mov	r0, #0
+    1a1c:	8088		strh	r0, [r1, #4]
+    1a1e:	4668		mov	r0, sp
+    1a20:	8881		ldrh	r1, [r0, #4]
+    1a22:	20ff		mov	r0, #255	; 0xff
+    1a24:	30f5		add	r0, #245	; 0xf5
+    1a26:	4281		cmp	r1, r0
+    1a28:	da21		bge	0x1a6e
+    1a2a:	4669		mov	r1, sp
+    1a2c:	4668		mov	r0, sp
+    1a2e:	8880		ldrh	r0, [r0, #4]
+    1a30:	3001		add	r0, #1
+    1a32:	8088		strh	r0, [r1, #4]
+    1a34:	48ca		ldr	r0, =0x864	; via 0x1d60
+    1a36:	7809		ldrb	r1, [r1, #0]
+    1a38:	0089		lsl	r1, r1, #2
+    1a3a:	5840		ldr	r0, [r0, r1]
+    1a3c:	7940		ldrb	r0, [r0, #5]
+    1a3e:	4669		mov	r1, sp
+    1a40:	7048		strb	r0, [r1, #1]
+    1a42:	4668		mov	r0, sp
+    1a44:	7840		ldrb	r0, [r0, #1]
+    1a46:	0840		lsr	r0, r0, #1
+    1a48:	d30b		bcc	0x1a62
+    1a4a:	49c5		ldr	r1, =0x864	; via 0x1d60
+    1a4c:	4668		mov	r0, sp
+    1a4e:	7800		ldrb	r0, [r0, #0]
+    1a50:	0080		lsl	r0, r0, #2
+    1a52:	5808		ldr	r0, [r1, r0]
+    1a54:	7800		ldrb	r0, [r0, #0]
+    1a56:	0600		lsl	r0, r0, #24
+    1a58:	0e00		lsr	r0, r0, #24
+    1a5a:	4669		mov	r1, sp
+    1a5c:	7088		strb	r0, [r1, #2]
+    1a5e:	2000		mov	r0, #0
+    1a60:	8088		strh	r0, [r1, #4]
+    1a62:	4668		mov	r0, sp
+    1a64:	8881		ldrh	r1, [r0, #4]
+    1a66:	20ff		mov	r0, #255	; 0xff
+    1a68:	30f5		add	r0, #245	; 0xf5
+    1a6a:	4281		cmp	r1, r0
+    1a6c:	dbdd		blt	0x1a2a
+    1a6e:	b002		add	sp, #8
+    1a70:	4770		bx	lr
+    1a72:	b500		push	{lr}
+    1a74:	b08c		sub	sp, #48	; 0x30
+    1a76:	466a		mov	r2, sp
+    1a78:	7111		strb	r1, [r2, #4]
+    1a7a:	9000		str	r0, [sp, #0]
+    1a7c:	2001		mov	r0, #1
+    1a7e:	9002		str	r0, [sp, #8]
+    1a80:	9800		ldr	r0, [sp, #0]
+    1a82:	a904		add	r1, sp, #16	; 0x10
+    1a84:	aa03		add	r2, sp, #12	; 0xc
+    1a86:	f7ff fd75	bl	0x1574
+    1a8a:	4668		mov	r0, sp
+    1a8c:	8980		ldrh	r0, [r0, #12]	; 0xc
+    1a8e:	2820		cmp	r0, #32	; 0x20
+    1a90:	dd02		ble	0x1a98
+    1a92:	2000		mov	r0, #0
+    1a94:	9002		str	r0, [sp, #8]
+    1a96:	e006		b	0x1aa6
+    1a98:	a804		add	r0, sp, #16	; 0x10
+    1a9a:	4669		mov	r1, sp
+    1a9c:	8989		ldrh	r1, [r1, #12]	; 0xc
+    1a9e:	466a		mov	r2, sp
+    1aa0:	7912		ldrb	r2, [r2, #4]
+    1aa2:	f7ff ff86	bl	0x19b2
+    1aa6:	9802		ldr	r0, [sp, #8]
+    1aa8:	b00c		add	sp, #48	; 0x30
+    1aaa:	bd00		pop	{pc}
+    1aac:	ff19		<half-bl>
+    1aae:	0083		lsl	r3, r0, #2
+    1ab0:	ff1a		<half-bl>
+    1ab2:	0083		lsl	r3, r0, #2
+    1ab4:	ff26		<half-bl>
+    1ab6:	0083		lsl	r3, r0, #2
+    1ab8:	ff24		<half-bl>
+    1aba:	0083		lsl	r3, r0, #2
+    1abc:	ff20		<half-bl>
+    1abe:	0083		lsl	r3, r0, #2
+    1ac0:	ff1b		<half-bl>
+    1ac2:	0083		lsl	r3, r0, #2
+    1ac4:	ff18		<half-bl>
+    1ac6:	0083		lsl	r3, r0, #2
+    1ac8:	b500		push	{lr}
+    1aca:	b084		sub	sp, #16	; 0x10
+    1acc:	9101		str	r1, [sp, #4]
+    1ace:	9000		str	r0, [sp, #0]
+    1ad0:	4669		mov	r1, sp
+    1ad2:	20ff		mov	r0, #255	; 0xff
+    1ad4:	7308		strb	r0, [r1, #12]	; 0xc
+    1ad6:	2000		mov	r0, #0
+    1ad8:	9002		str	r0, [sp, #8]
+    1ada:	4669		mov	r1, sp
+    1adc:	48a1		ldr	r0, =0xffff5805	; via 0x1d64
+    1ade:	7800		ldrb	r0, [r0, #0]
+    1ae0:	7348		strb	r0, [r1, #13]	; 0xd
+    1ae2:	48a1		ldr	r0, =0xffff5005	; via 0x1d68
+    1ae4:	7800		ldrb	r0, [r0, #0]
+    1ae6:	7388		strb	r0, [r1, #14]	; 0xe
+    1ae8:	4668		mov	r0, sp
+    1aea:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1aec:	0840		lsr	r0, r0, #1
+    1aee:	d206		bcs	0x1afe
+    1af0:	4668		mov	r0, sp
+    1af2:	7b80		ldrb	r0, [r0, #14]	; 0xe
+    1af4:	0840		lsr	r0, r0, #1
+    1af6:	d202		bcs	0x1afe
+    1af8:	9801		ldr	r0, [sp, #4]
+    1afa:	2800		cmp	r0, #0
+    1afc:	d0ed		beq	0x1ada
+    1afe:	4668		mov	r0, sp
+    1b00:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b02:	0840		lsr	r0, r0, #1
+    1b04:	d316		bcc	0x1b34
+    1b06:	4669		mov	r1, sp
+    1b08:	2000		mov	r0, #0
+    1b0a:	7308		strb	r0, [r1, #12]	; 0xc
+    1b0c:	4994		ldr	r1, =0x864	; via 0x1d60
+    1b0e:	4668		mov	r0, sp
+    1b10:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1b12:	0080		lsl	r0, r0, #2
+    1b14:	5808		ldr	r0, [r1, r0]
+    1b16:	7800		ldrb	r0, [r0, #0]
+    1b18:	0600		lsl	r0, r0, #24
+    1b1a:	0e00		lsr	r0, r0, #24
+    1b1c:	4669		mov	r1, sp
+    1b1e:	73c8		strb	r0, [r1, #15]	; 0xf
+    1b20:	4668		mov	r0, sp
+    1b22:	7bc0		ldrb	r0, [r0, #15]	; 0xf
+    1b24:	9900		ldr	r1, [sp, #0]
+    1b26:	f7ff fc9f	bl	0x1468
+    1b2a:	9002		str	r0, [sp, #8]
+    1b2c:	9802		ldr	r0, [sp, #8]
+    1b2e:	2800		cmp	r0, #0
+    1b30:	d11c		bne	0x1b6c
+    1b32:	e018		b	0x1b66
+    1b34:	4668		mov	r0, sp
+    1b36:	7b80		ldrb	r0, [r0, #14]	; 0xe
+    1b38:	0840		lsr	r0, r0, #1
+    1b3a:	d317		bcc	0x1b6c
+    1b3c:	4669		mov	r1, sp
+    1b3e:	2001		mov	r0, #1
+    1b40:	7308		strb	r0, [r1, #12]	; 0xc
+    1b42:	4987		ldr	r1, =0x864	; via 0x1d60
+    1b44:	4668		mov	r0, sp
+    1b46:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1b48:	0080		lsl	r0, r0, #2
+    1b4a:	5808		ldr	r0, [r1, r0]
+    1b4c:	7800		ldrb	r0, [r0, #0]
+    1b4e:	0600		lsl	r0, r0, #24
+    1b50:	0e01		lsr	r1, r0, #24
+    1b52:	4668		mov	r0, sp
+    1b54:	73c1		strb	r1, [r0, #15]	; 0xf
+    1b56:	7bc0		ldrb	r0, [r0, #15]	; 0xf
+    1b58:	9900		ldr	r1, [sp, #0]
+    1b5a:	f7ff fc85	bl	0x1468
+    1b5e:	9002		str	r0, [sp, #8]
+    1b60:	9802		ldr	r0, [sp, #8]
+    1b62:	2800		cmp	r0, #0
+    1b64:	d102		bne	0x1b6c
+    1b66:	20ff		mov	r0, #255	; 0xff
+    1b68:	4669		mov	r1, sp
+    1b6a:	7308		strb	r0, [r1, #12]	; 0xc
+    1b6c:	9802		ldr	r0, [sp, #8]
+    1b6e:	2800		cmp	r0, #0
+    1b70:	d102		bne	0x1b78
+    1b72:	9801		ldr	r0, [sp, #4]
+    1b74:	2800		cmp	r0, #0
+    1b76:	d0b0		beq	0x1ada
+    1b78:	4668		mov	r0, sp
+    1b7a:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1b7c:	b004		add	sp, #16	; 0x10
+    1b7e:	bd00		pop	{pc}
+    1b80:	ff1c		<half-bl>
+    1b82:	0083		lsl	r3, r0, #2
+    1b84:	0830		lsr	r0, r6, #32
+    1b86:	0000		lsl	r0, r0, #0
+    1b88:	084c		lsr	r4, r1, #1
+    1b8a:	0000		lsl	r0, r0, #0
+    1b8c:	b500		push	{lr}
+    1b8e:	b086		sub	sp, #24	; 0x18
+    1b90:	466b		mov	r3, sp
+    1b92:	721a		strb	r2, [r3, #8]
+    1b94:	9101		str	r1, [sp, #4]
+    1b96:	9000		str	r0, [sp, #0]
+    1b98:	2001		mov	r0, #1
+    1b9a:	9004		str	r0, [sp, #16]	; 0x10
+    1b9c:	9804		ldr	r0, [sp, #16]	; 0x10
+    1b9e:	2800		cmp	r0, #0
+    1ba0:	d05b		beq	0x1c5a
+    1ba2:	496f		ldr	r1, =0x864	; via 0x1d60
+    1ba4:	4668		mov	r0, sp
+    1ba6:	7a00		ldrb	r0, [r0, #8]
+    1ba8:	0080		lsl	r0, r0, #2
+    1baa:	5808		ldr	r0, [r1, r0]
+    1bac:	7941		ldrb	r1, [r0, #5]
+    1bae:	4668		mov	r0, sp
+    1bb0:	7301		strb	r1, [r0, #12]	; 0xc
+    1bb2:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1bb4:	0840		lsr	r0, r0, #1
+    1bb6:	d3f4		bcc	0x1ba2
+    1bb8:	4969		ldr	r1, =0x864	; via 0x1d60
+    1bba:	4668		mov	r0, sp
+    1bbc:	7a00		ldrb	r0, [r0, #8]
+    1bbe:	0080		lsl	r0, r0, #2
+    1bc0:	5808		ldr	r0, [r1, r0]
+    1bc2:	7800		ldrb	r0, [r0, #0]
+    1bc4:	0600		lsl	r0, r0, #24
+    1bc6:	0e01		lsr	r1, r0, #24
+    1bc8:	4668		mov	r0, sp
+    1bca:	7341		strb	r1, [r0, #13]	; 0xd
+    1bcc:	e02c		b	0x1c28
+    1bce:	4668		mov	r0, sp
+    1bd0:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1bd2:	a905		add	r1, sp, #20	; 0x14
+    1bd4:	9a00		ldr	r2, [sp, #0]
+    1bd6:	9b01		ldr	r3, [sp, #4]
+    1bd8:	f7ff fd8c	bl	0x16f4
+    1bdc:	9004		str	r0, [sp, #16]	; 0x10
+    1bde:	e039		b	0x1c54
+    1be0:	4668		mov	r0, sp
+    1be2:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1be4:	a905		add	r1, sp, #20	; 0x14
+    1be6:	f7ff fdc2	bl	0x176e
+    1bea:	e7f7		b	0x1bdc
+    1bec:	4668		mov	r0, sp
+    1bee:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1bf0:	a905		add	r1, sp, #20	; 0x14
+    1bf2:	f7ff fe12	bl	0x181a
+    1bf6:	e7f1		b	0x1bdc
+    1bf8:	4668		mov	r0, sp
+    1bfa:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1bfc:	a905		add	r1, sp, #20	; 0x14
+    1bfe:	f7ff fe34	bl	0x186a
+    1c02:	e7eb		b	0x1bdc
+    1c04:	4668		mov	r0, sp
+    1c06:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1c08:	f7ff fe5e	bl	0x18c8
+    1c0c:	e022		b	0x1c54
+    1c0e:	4668		mov	r0, sp
+    1c10:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1c12:	a905		add	r1, sp, #20	; 0x14
+    1c14:	9a00		ldr	r2, [sp, #0]
+    1c16:	f7ff fe6d	bl	0x18f4
+    1c1a:	e7df		b	0x1bdc
+    1c1c:	4668		mov	r0, sp
+    1c1e:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1c20:	a905		add	r1, sp, #20	; 0x14
+    1c22:	f7ff feab	bl	0x197c
+    1c26:	e7d9		b	0x1bdc
+    1c28:	4850		ldr	r0, =0x83ff20	; via 0x1d6c
+    1c2a:	6800		ldr	r0, [r0, #0]
+    1c2c:	2800		cmp	r0, #0
+    1c2e:	d0ce		beq	0x1bce
+    1c30:	3801		sub	r0, #1
+    1c32:	2800		cmp	r0, #0
+    1c34:	d0d4		beq	0x1be0
+    1c36:	3801		sub	r0, #1
+    1c38:	2800		cmp	r0, #0
+    1c3a:	d0d7		beq	0x1bec
+    1c3c:	3801		sub	r0, #1
+    1c3e:	2800		cmp	r0, #0
+    1c40:	d0da		beq	0x1bf8
+    1c42:	3801		sub	r0, #1
+    1c44:	2800		cmp	r0, #0
+    1c46:	d0dd		beq	0x1c04
+    1c48:	3801		sub	r0, #1
+    1c4a:	2800		cmp	r0, #0
+    1c4c:	d0df		beq	0x1c0e
+    1c4e:	3801		sub	r0, #1
+    1c50:	2800		cmp	r0, #0
+    1c52:	d0e3		beq	0x1c1c
+    1c54:	9804		ldr	r0, [sp, #16]	; 0x10
+    1c56:	2800		cmp	r0, #0
+    1c58:	d1a3		bne	0x1ba2
+    1c5a:	9805		ldr	r0, [sp, #20]	; 0x14
+    1c5c:	b006		add	sp, #24	; 0x18
+    1c5e:	bd00		pop	{pc}
+    1c60:	4942		ldr	r1, =0x83ff20	; via 0x1d6c
+    1c62:	2001		mov	r0, #1
+    1c64:	6008		str	r0, [r1, #0]
+    1c66:	4842		ldr	r0, =0x83ff1b	; via 0x1d70
+    1c68:	2100		mov	r1, #0
+    1c6a:	7001		strb	r1, [r0, #0]
+    1c6c:	4841		ldr	r0, =0x83ff18	; via 0x1d74
+    1c6e:	7001		strb	r1, [r0, #0]
+    1c70:	4770		bx	lr
+    1c72:	46c0		nop			(mov r8, r8)
+    1c74:	ff14		<half-bl>
+    1c76:	0083		lsl	r3, r0, #2
+    1c78:	b081		sub	sp, #4
+    1c7a:	483f		ldr	r0, =0xffff5800	; via 0x1d78
+    1c7c:	9000		str	r0, [sp, #0]
+    1c7e:	493f		ldr	r1, =0xffff6000	; via 0x1d7c
+    1c80:	2002		mov	r0, #2
+    1c82:	880a		ldrh	r2, [r1, #0]
+    1c84:	4310		orr	r0, r2
+    1c86:	8008		strh	r0, [r1, #0]
+    1c88:	483c		ldr	r0, =0xffff6000	; via 0x1d7c
+    1c8a:	8801		ldrh	r1, [r0, #0]
+    1c8c:	0849		lsr	r1, r1, #1
+    1c8e:	0049		lsl	r1, r1, #1
+    1c90:	8001		strh	r1, [r0, #0]
+    1c92:	493a		ldr	r1, =0xffff6000	; via 0x1d7c
+    1c94:	8808		ldrh	r0, [r1, #0]
+    1c96:	2202		mov	r2, #2
+    1c98:	4390		bic	r0, r2
+    1c9a:	8008		strh	r0, [r1, #0]
+    1c9c:	9900		ldr	r1, [sp, #0]
+    1c9e:	2007		mov	r0, #7
+    1ca0:	7208		strb	r0, [r1, #8]
+    1ca2:	9900		ldr	r1, [sp, #0]
+    1ca4:	20bf		mov	r0, #191	; 0xbf
+    1ca6:	70c8		strb	r0, [r1, #3]
+    1ca8:	9800		ldr	r0, [sp, #0]
+    1caa:	1c81		add	r1, r0, #2
+    1cac:	2010		mov	r0, #16	; 0x10
+    1cae:	880a		ldrh	r2, [r1, #0]
+    1cb0:	4310		orr	r0, r2
+    1cb2:	8008		strh	r0, [r1, #0]
+    1cb4:	9800		ldr	r0, [sp, #0]
+    1cb6:	2180		mov	r1, #128	; 0x80
+    1cb8:	70c1		strb	r1, [r0, #3]
+    1cba:	9800		ldr	r0, [sp, #0]
+    1cbc:	2107		mov	r1, #7
+    1cbe:	7081		strb	r1, [r0, #2]
+    1cc0:	9800		ldr	r0, [sp, #0]
+    1cc2:	21bf		mov	r1, #191	; 0xbf
+    1cc4:	70c1		strb	r1, [r0, #3]
+    1cc6:	9800		ldr	r0, [sp, #0]
+    1cc8:	2107		mov	r1, #7
+    1cca:	7001		strb	r1, [r0, #0]
+    1ccc:	9800		ldr	r0, [sp, #0]
+    1cce:	2100		mov	r1, #0
+    1cd0:	7041		strb	r1, [r0, #1]
+    1cd2:	9800		ldr	r0, [sp, #0]
+    1cd4:	2103		mov	r1, #3
+    1cd6:	70c1		strb	r1, [r0, #3]
+    1cd8:	9800		ldr	r0, [sp, #0]
+    1cda:	2100		mov	r1, #0
+    1cdc:	7201		strb	r1, [r0, #8]
+    1cde:	4828		ldr	r0, =0xffff5000	; via 0x1d80
+    1ce0:	9000		str	r0, [sp, #0]
+    1ce2:	9800		ldr	r0, [sp, #0]
+    1ce4:	2107		mov	r1, #7
+    1ce6:	7201		strb	r1, [r0, #8]
+    1ce8:	9900		ldr	r1, [sp, #0]
+    1cea:	20bf		mov	r0, #191	; 0xbf
+    1cec:	70c8		strb	r0, [r1, #3]
+    1cee:	9800		ldr	r0, [sp, #0]
+    1cf0:	1c80		add	r0, r0, #2
+    1cf2:	2110		mov	r1, #16	; 0x10
+    1cf4:	8802		ldrh	r2, [r0, #0]
+    1cf6:	4311		orr	r1, r2
+    1cf8:	8001		strh	r1, [r0, #0]
+    1cfa:	9800		ldr	r0, [sp, #0]
+    1cfc:	2180		mov	r1, #128	; 0x80
+    1cfe:	70c1		strb	r1, [r0, #3]
+    1d00:	9800		ldr	r0, [sp, #0]
+    1d02:	2107		mov	r1, #7
+    1d04:	7081		strb	r1, [r0, #2]
+    1d06:	9800		ldr	r0, [sp, #0]
+    1d08:	21bf		mov	r1, #191	; 0xbf
+    1d0a:	70c1		strb	r1, [r0, #3]
+    1d0c:	9800		ldr	r0, [sp, #0]
+    1d0e:	2107		mov	r1, #7
+    1d10:	7001		strb	r1, [r0, #0]
+    1d12:	9800		ldr	r0, [sp, #0]
+    1d14:	2100		mov	r1, #0
+    1d16:	7041		strb	r1, [r0, #1]
+    1d18:	9900		ldr	r1, [sp, #0]
+    1d1a:	2003		mov	r0, #3
+    1d1c:	70c8		strb	r0, [r1, #3]
+    1d1e:	9800		ldr	r0, [sp, #0]
+    1d20:	2100		mov	r1, #0
+    1d22:	7201		strb	r1, [r0, #8]
+    1d24:	b001		add	sp, #4
+    1d26:	4770		bx	lr
+    1d28:	b081		sub	sp, #4
+    1d2a:	4669		mov	r1, sp
+    1d2c:	7008		strb	r0, [r1, #0]
+    1d2e:	490c		ldr	r1, =0x864	; via 0x1d60
+    1d30:	4668		mov	r0, sp
+    1d32:	7800		ldrb	r0, [r0, #0]
+    1d34:	0080		lsl	r0, r0, #2
+    1d36:	5808		ldr	r0, [r1, r0]
+    1d38:	7941		ldrb	r1, [r0, #5]
+    1d3a:	4668		mov	r0, sp
+    1d3c:	7041		strb	r1, [r0, #1]
+    1d3e:	7840		ldrb	r0, [r0, #1]
+    1d40:	09c0		lsr	r0, r0, #7
+    1d42:	d20b		bcs	0x1d5c
+    1d44:	4806		ldr	r0, =0x864	; via 0x1d60
+    1d46:	4669		mov	r1, sp
+    1d48:	7809		ldrb	r1, [r1, #0]
+    1d4a:	0089		lsl	r1, r1, #2
+    1d4c:	5840		ldr	r0, [r0, r1]
+    1d4e:	7940		ldrb	r0, [r0, #5]
+    1d50:	4669		mov	r1, sp
+    1d52:	7048		strb	r0, [r1, #1]
+    1d54:	4668		mov	r0, sp
+    1d56:	7840		ldrb	r0, [r0, #1]
+    1d58:	09c0		lsr	r0, r0, #7
+    1d5a:	d3f3		bcc	0x1d44
+    1d5c:	b001		add	sp, #4
+    1d5e:	4770		bx	lr
+    1d60:	0864		lsr	r4, r4, #1
+    1d62:	0000		lsl	r0, r0, #0
+    1d64:	5805		ldr	r5, [r0, r0]
+    1d66:	ffff		<half-bl>
+    1d68:	5005		str	r5, [r0, r0]
+    1d6a:	ffff		<half-bl>
+    1d6c:	ff20		<half-bl>
+    1d6e:	0083		lsl	r3, r0, #2
+    1d70:	ff1b		<half-bl>
+    1d72:	0083		lsl	r3, r0, #2
+    1d74:	ff18		<half-bl>
+    1d76:	0083		lsl	r3, r0, #2
+    1d78:	5800		ldr	r0, [r0, r0]
+    1d7a:	ffff		<half-bl>
+    1d7c:	6000		str	r0, [r0, #0]
+    1d7e:	ffff		<half-bl>
+    1d80:	5000		str	r0, [r0, r0]
+    1d82:	ffff		<half-bl>
+    1d84:	b500		push	{lr}
+    1d86:	b087		sub	sp, #28	; 0x1c
+    1d88:	466b		mov	r3, sp
+    1d8a:	721a		strb	r2, [r3, #8]
+    1d8c:	9101		str	r1, [sp, #4]
+    1d8e:	9000		str	r0, [sp, #0]
+    1d90:	9900		ldr	r1, [sp, #0]
+    1d92:	2000		mov	r0, #0
+    1d94:	8008		strh	r0, [r1, #0]
+    1d96:	9801		ldr	r0, [sp, #4]
+    1d98:	2100		mov	r1, #0
+    1d9a:	8001		strh	r1, [r0, #0]
+    1d9c:	2000		mov	r0, #0
+    1d9e:	9003		str	r0, [sp, #12]	; 0xc
+    1da0:	f7ff ff5e	bl	0x1c60
+    1da4:	a805		add	r0, sp, #20	; 0x14
+    1da6:	a906		add	r1, sp, #24	; 0x18
+    1da8:	466a		mov	r2, sp
+    1daa:	7a12		ldrb	r2, [r2, #8]
+    1dac:	f7ff feee	bl	0x1b8c
+    1db0:	9004		str	r0, [sp, #16]	; 0x10
+    1db2:	9804		ldr	r0, [sp, #16]	; 0x10
+    1db4:	2800		cmp	r0, #0
+    1db6:	d11f		bne	0x1df8
+    1db8:	9803		ldr	r0, [sp, #12]	; 0xc
+    1dba:	2800		cmp	r0, #0
+    1dbc:	d11c		bne	0x1df8
+    1dbe:	9800		ldr	r0, [sp, #0]
+    1dc0:	4669		mov	r1, sp
+    1dc2:	8b0a		ldrh	r2, [r1, #24]	; 0x18
+    1dc4:	8801		ldrh	r1, [r0, #0]
+    1dc6:	1851		add	r1, r2, r1
+    1dc8:	8001		strh	r1, [r0, #0]
+    1dca:	9905		ldr	r1, [sp, #20]	; 0x14
+    1dcc:	4668		mov	r0, sp
+    1dce:	8b00		ldrh	r0, [r0, #24]	; 0x18
+    1dd0:	8008		strh	r0, [r1, #0]
+    1dd2:	9801		ldr	r0, [sp, #4]
+    1dd4:	9905		ldr	r1, [sp, #20]	; 0x14
+    1dd6:	8809		ldrh	r1, [r1, #0]
+    1dd8:	8802		ldrh	r2, [r0, #0]
+    1dda:	1889		add	r1, r1, r2
+    1ddc:	8001		strh	r1, [r0, #0]
+    1dde:	a805		add	r0, sp, #20	; 0x14
+    1de0:	a906		add	r1, sp, #24	; 0x18
+    1de2:	466a		mov	r2, sp
+    1de4:	7a12		ldrb	r2, [r2, #8]
+    1de6:	f7ff fed1	bl	0x1b8c
+    1dea:	9004		str	r0, [sp, #16]	; 0x10
+    1dec:	9804		ldr	r0, [sp, #16]	; 0x10
+    1dee:	2800		cmp	r0, #0
+    1df0:	d102		bne	0x1df8
+    1df2:	9803		ldr	r0, [sp, #12]	; 0xc
+    1df4:	2800		cmp	r0, #0
+    1df6:	d0e2		beq	0x1dbe
+    1df8:	9804		ldr	r0, [sp, #16]	; 0x10
+    1dfa:	2801		cmp	r0, #1
+    1dfc:	d101		bne	0x1e02
+    1dfe:	2004		mov	r0, #4
+    1e00:	9003		str	r0, [sp, #12]	; 0xc
+    1e02:	9803		ldr	r0, [sp, #12]	; 0xc
+    1e04:	b007		add	sp, #28	; 0x1c
+    1e06:	bd00		pop	{pc}
+    1e08:	b089		sub	sp, #36	; 0x24
+    1e0a:	201a		mov	r0, #26	; 0x1a
+    1e0c:	9005		str	r0, [sp, #20]	; 0x14
+    1e0e:	2018		mov	r0, #24	; 0x18
+    1e10:	9006		str	r0, [sp, #24]	; 0x18
+    1e12:	2000		mov	r0, #0
+    1e14:	9008		str	r0, [sp, #32]	; 0x20
+    1e16:	4669		mov	r1, sp
+    1e18:	9805		ldr	r0, [sp, #20]	; 0x14
+    1e1a:	8800		ldrh	r0, [r0, #0]
+    1e1c:	8008		strh	r0, [r1, #0]
+    1e1e:	9806		ldr	r0, [sp, #24]	; 0x18
+    1e20:	8800		ldrh	r0, [r0, #0]
+    1e22:	8048		strh	r0, [r1, #2]
+    1e24:	4668		mov	r0, sp
+    1e26:	8841		ldrh	r1, [r0, #2]
+    1e28:	8800		ldrh	r0, [r0, #0]
+    1e2a:	0400		lsl	r0, r0, #16
+    1e2c:	1808		add	r0, r1, r0
+    1e2e:	9001		str	r0, [sp, #4]
+    1e30:	9801		ldr	r0, [sp, #4]
+    1e32:	0200		lsl	r0, r0, #8
+    1e34:	0a00		lsr	r0, r0, #8
+    1e36:	0080		lsl	r0, r0, #2
+    1e38:	3008		add	r0, #8
+    1e3a:	9007		str	r0, [sp, #28]	; 0x1c
+    1e3c:	9807		ldr	r0, [sp, #28]	; 0x1c
+    1e3e:	3018		add	r0, #24	; 0x18
+    1e40:	9002		str	r0, [sp, #8]
+    1e42:	9802		ldr	r0, [sp, #8]
+    1e44:	9004		str	r0, [sp, #16]	; 0x10
+    1e46:	9802		ldr	r0, [sp, #8]
+    1e48:	3002		add	r0, #2
+    1e4a:	9003		str	r0, [sp, #12]	; 0xc
+    1e4c:	9803		ldr	r0, [sp, #12]	; 0xc
+    1e4e:	8801		ldrh	r1, [r0, #0]
+    1e50:	4806		ldr	r0, =0xffff	; via 0x1e6c
+    1e52:	4281		cmp	r1, r0
+    1e54:	d104		bne	0x1e60
+    1e56:	9804		ldr	r0, [sp, #16]	; 0x10
+    1e58:	8800		ldrh	r0, [r0, #0]
+    1e5a:	4904		ldr	r1, =0xffff	; via 0x1e6c
+    1e5c:	4288		cmp	r0, r1
+    1e5e:	d001		beq	0x1e64
+    1e60:	2001		mov	r0, #1
+    1e62:	9008		str	r0, [sp, #32]	; 0x20
+    1e64:	9808		ldr	r0, [sp, #32]	; 0x20
+    1e66:	b009		add	sp, #36	; 0x24
+    1e68:	4770		bx	lr
+    1e6a:	46c0		nop			(mov r8, r8)
+
+    1e6c:	0000ffff
+
+; ARM->Thumb call veneer around 0xad2 routine
+    1e70:	e92d4000	stmdb	sp!, {lr}
+    1e74:	e28fe001	add	lr, pc, #1
+    1e78:	e12fff1e	bx	lr
+    1e7c:	f7fe fe29	bl	0xad2
+    1e80:	4778		bx	pc
+    1e82:	46c0		nop			(mov r8, r8)
+    1e84:	e8bd8000	ldmia	sp!, {pc}
+
+<1E88-1EFF: all FFs>
+
+    1f00:	00000001
+
+<1F04-end: all FFs>
Binary file compal/boot/c139-boot.90.04.bin has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compal/boot/c139-boot.disasm	Sat Jan 14 06:17:56 2023 +0000
@@ -0,0 +1,2736 @@
+RESET entry and exception vectors:
+       0:	ea000225 	b	0x89c
+       4:	ea000825 	b	0x20a0
+       8:	ea000825 	b	0x20a4
+       c:	ea000825 	b	0x20a8
+      10:	ea000825 	b	0x20ac
+      14:	ea000825 	b	0x20b0
+      18:	ea000825 	b	0x20b4
+      1c:	ea000825 	b	0x20b8
+
+; some magic words?
+      20:	444efc57
+      24:	444efc58
+      28:	444efc86
+      2c:	444efc87
+; different in the C140 specimen:
+      20:	44b1b707
+      24:	44b1b708
+      28:	44b1b735
+      2c:	44b1b736
+
+<30-7FF: all FFs>
+
+00000800:  42 4F 4F 54 2E 39 30 2E  30 34 00 00 00 00 00 00  BOOT.90.04......
+00000810:  31 30 30 33 01 01 00 00  FF FF FF FF FF FF FF FF  1003............
+00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................
+
+     830:	00000006
+	...
+     83c:	00000048
+     840:	00000044
+     844:	00000052
+     848:	0000001b
+     84c:	00000005
+	...
+     860:	000000fa
+     864:	ffff5800
+     868:	ffff5000
+     86c:	fffffb00
+     870:	02a1
+     872:	02a1
+     874:	02a1
+     876:	0283
+     878:	0281
+     87a:	00c0
+     87c:	0040
+     87e:	002a
+     880:	00000040
+     884:	fffffd00
+     888:	ffff9800
+     88c:	fffffb10
+     890:	ffffff08
+     894:	1081
+     896:	2006
+     898:	0800
+     89a:	0000
+
+; RESET entry point
+; set VCLKOUT_DIV2 in FFFF:FD02 register
+     89c:	e51f1020	ldr	r1, =0xfffffd00	; via 0x884
+     8a0:	e1d120b2	ldrh	r2, [r1, #2]
+     8a4:	e51f002c	ldr	r0, =0x40	; via 0x880
+     8a8:	e1800002	orr	r0, r0, r2
+     8ac:	e1c100b2	strh	r0, [r1, #2]
+; PLL disable (power-up state)
+     8b0:	e51f1030	ldr	r1, =0xffff9800	; via 0x888
+     8b4:	e15f22b6	ldrh	r2, =0x2006	; via 0x896
+     8b8:	e1c120b0	strh	r2, [r1]
+     8bc:	e5912000	ldr	r2, [r1]
+     8c0:	e2022001	and	r2, r2, #1
+     8c4:	e3520001	cmp	r2, #1
+     8c8:	0afffffb	beq	0x8bc
+; Write power-up default value into FFFF:FD00
+     8cc:	e51f1050	ldr	r1, =0xfffffd00	; via 0x884
+     8d0:	e15f24b4	ldrh	r2, =0x1081	; via 0x894
+     8d4:	e1c120b0	strh	r2, [r1]
+; Disable DU
+     8d8:	e51f1054	ldr	r1, =0xfffffb10	; via 0x88c
+     8dc:	e15f24bc	ldrh	r2, =0x800	; via 0x898
+     8e0:	e1d100b0	ldrh	r0, [r1]
+     8e4:	e1800002	orr	r0, r0, r2
+     8e8:	e1c100b0	strh	r0, [r1]
+; Disable all MPU regions
+     8ec:	e51f1064	ldr	r1, =0xffffff08	; via 0x890
+     8f0:	e15f25be	ldrh	r2, =0x0	; via 0x89a
+     8f4:	e1c120b0	strh	r2, [r1]
+; Memory timings
+     8f8:	e51f1094	ldr	r1, =0xfffffb00	; via 0x86c
+     8fc:	e15f29b4	ldrh	r2, =0x2a1	; via 0x870
+     900:	e1c120b0	strh	r2, [r1]
+     904:	e15f29ba	ldrh	r2, =0x2a1	; via 0x872
+     908:	e1c120b2	strh	r2, [r1, #2]
+     90c:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x874
+     910:	e1c120b4	strh	r2, [r1, #4]
+     914:	e15f2ab6	ldrh	r2, =0x283	; via 0x876
+     918:	e1c120b6	strh	r2, [r1, #6]
+     91c:	e15f2abc	ldrh	r2, =0x281	; via 0x878
+     920:	e1c120ba	strh	r2, [r1, #10]	; 0xa
+     924:	e15f2bb2	ldrh	r2, =0xc0	; via 0x87a
+     928:	e1c120bc	strh	r2, [r1, #12]	; 0xc
+     92c:	e15f2bb8	ldrh	r2, =0x40	; via 0x87c
+     930:	e1c120b8	strh	r2, [r1, #8]
+     934:	e15f2bbe	ldrh	r2, =0x2a	; via 0x87e
+     938:	e1c120be	strh	r2, [r1, #14]	; 0xe
+; set up stack
+     93c:	e59f0020	ldr	r0, =0x83e574	; via 0x964
+     940:	e3a01b01	mov	r1, #1024	; 0x400
+     944:	e2411004	sub	r1, r1, #4
+     948:	e0802001	add	r2, r0, r1
+     94c:	e3c22003	bic	r2, r2, #3
+     950:	e1a0d002	mov	sp, r2
+; business logic
+     954:	e92d100f	stmdb	sp!, {r0, r1, r2, r3, r12}
+     958:	eb000534	bl	0x1e30
+     95c:	e8bd100f	ldmia	sp!, {r0, r1, r2, r3, r12}
+     960:	ea0005e4	b	0x20f8
+
+; C139 specimen:
+     964:	0083e574
+; different in the C140 specimen:
+     964:	0083e55c
+
+; mask all interrupts in INTH
+     968:	4961		ldr	r1, =0xfffffa08	; via 0xaf0
+     96a:	4862		ldr	r0, =0xffff	; via 0xaf4
+     96c:	8008		strh	r0, [r1, #0]
+     96e:	4862		ldr	r0, =0xfffffa0a	; via 0xaf8
+     970:	211f		mov	r1, #31	; 0x1f
+     972:	8001		strh	r1, [r0, #0]
+; disable watchdog
+     974:	4861		ldr	r0, =0xfffff804	; via 0xafc
+     976:	21f5		mov	r1, #245	; 0xf5
+     978:	8001		strh	r1, [r0, #0]
+     97a:	21a0		mov	r1, #160	; 0xa0
+     97c:	8001		strh	r1, [r0, #0]
+; disable PLL
+     97e:	4860		ldr	r0, =0xffff9800	; via 0xb00
+     980:	4960		ldr	r1, =0x2002	; via 0xb04
+     982:	8001		strh	r1, [r0, #0]
+     984:	485e		ldr	r0, =0xffff9800	; via 0xb00
+     986:	8800		ldrh	r0, [r0, #0]
+     988:	0840		lsr	r0, r0, #1
+     98a:	d2fb		bcs	0x984
+; 0x1001 written into FFFF:FD00 - same as power-up default
+; except for one reserved bit
+     98c:	495e		ldr	r1, =0xfffffd00	; via 0xb08
+     98e:	485f		ldr	r0, =0x1001	; via 0xb0c
+     990:	8008		strh	r0, [r1, #0]
+     992:	46f7		mov	pc, lr
+
+     994:	b500		push	{lr}
+     996:	b0ff		sub	sp, #508	; 0x1fc
+     998:	b0ca		sub	sp, #296	; 0x128
+     99a:	2000		mov	r0, #0
+     99c:	9001		str	r0, [sp, #4]
+     99e:	9801		ldr	r0, [sp, #4]
+     9a0:	2800		cmp	r0, #0
+     9a2:	d14e		bne	0xa42
+     9a4:	a846		add	r0, sp, #280	; 0x118
+     9a6:	2100		mov	r1, #0
+     9a8:	f001 f86e	bl	0x1a88
+     9ac:	a9c8		add	r1, sp, #800	; 0x320
+     9ae:	7008		strb	r0, [r1, #0]
+     9b0:	a846		add	r0, sp, #280	; 0x118
+     9b2:	a902		add	r1, sp, #8
+     9b4:	f000 fb2c	bl	0x1010
+     9b8:	9000		str	r0, [sp, #0]
+     9ba:	9800		ldr	r0, [sp, #0]
+     9bc:	2800		cmp	r0, #0
+     9be:	d01b		beq	0x9f8
+     9c0:	a924		add	r1, sp, #144	; 0x90
+     9c2:	4668		mov	r0, sp
+     9c4:	7a00		ldrb	r0, [r0, #8]
+     9c6:	7008		strb	r0, [r1, #0]
+     9c8:	2191		mov	r1, #145	; 0x91
+     9ca:	466a		mov	r2, sp
+     9cc:	4668		mov	r0, sp
+     9ce:	7800		ldrb	r0, [r0, #0]
+     9d0:	5488		strb	r0, [r1, r2]
+     9d2:	e01b		b	0xa0c
+     9d4:	a802		add	r0, sp, #8
+     9d6:	a924		add	r1, sp, #144	; 0x90
+     9d8:	f000 fe08	bl	0x15ec
+     9dc:	e016		b	0xa0c
+     9de:	a802		add	r0, sp, #8
+     9e0:	a924		add	r1, sp, #144	; 0x90
+     9e2:	aac8		add	r2, sp, #800	; 0x320
+     9e4:	7812		ldrb	r2, [r2, #0]
+     9e6:	f000 fe15	bl	0x1614
+     9ea:	e00f		b	0xa0c
+     9ec:	a802		add	r0, sp, #8
+     9ee:	a924		add	r1, sp, #144	; 0x90
+     9f0:	f000 fe47	bl	0x1682
+     9f4:	90c7		str	r0, [sp, #796]	; 0x31c
+     9f6:	e009		b	0xa0c
+     9f8:	4668		mov	r0, sp
+     9fa:	7a00		ldrb	r0, [r0, #8]
+     9fc:	2800		cmp	r0, #0
+     9fe:	d0e9		beq	0x9d4
+     a00:	3809		sub	r0, #9
+     a02:	2800		cmp	r0, #0
+     a04:	d0eb		beq	0x9de
+     a06:	3801		sub	r0, #1
+     a08:	2800		cmp	r0, #0
+     a0a:	d0ef		beq	0x9ec
+     a0c:	a824		add	r0, sp, #144	; 0x90
+     a0e:	a986		add	r1, sp, #536	; 0x218
+     a10:	f000 fbe1	bl	0x11d6
+     a14:	2800		cmp	r0, #0
+     a16:	d111		bne	0xa3c
+     a18:	a886		add	r0, sp, #536	; 0x218
+     a1a:	a9c8		add	r1, sp, #800	; 0x320
+     a1c:	7809		ldrb	r1, [r1, #0]
+     a1e:	f001 f808	bl	0x1a32
+     a22:	2800		cmp	r0, #0
+     a24:	d00a		beq	0xa3c
+     a26:	4668		mov	r0, sp
+     a28:	7a00		ldrb	r0, [r0, #8]
+     a2a:	280a		cmp	r0, #10	; 0xa
+     a2c:	d106		bne	0xa3c
+     a2e:	a8c8		add	r0, sp, #800	; 0x320
+     a30:	7800		ldrb	r0, [r0, #0]
+     a32:	f001 f959	bl	0x1ce8
+     a36:	98c7		ldr	r0, [sp, #796]	; 0x31c
+     a38:	f000 fae8	bl	0x100c
+     a3c:	9801		ldr	r0, [sp, #4]
+     a3e:	2800		cmp	r0, #0
+     a40:	d0b0		beq	0x9a4
+     a42:	b07f		add	sp, #508	; 0x1fc
+     a44:	b04a		add	sp, #296	; 0x128
+     a46:	bd00		pop	{pc}
+
+     a48:	b500		push	{lr}
+     a4a:	b0ff		sub	sp, #508	; 0x1fc
+     a4c:	b0c8		sub	sp, #288	; 0x120
+     a4e:	2000		mov	r0, #0
+     a50:	9000		str	r0, [sp, #0]
+     a52:	a846		add	r0, sp, #280	; 0x118
+     a54:	2101		mov	r1, #1
+     a56:	f001 f817	bl	0x1a88
+     a5a:	a9c6		add	r1, sp, #792	; 0x318
+     a5c:	7008		strb	r0, [r1, #0]
+     a5e:	a8c6		add	r0, sp, #792	; 0x318
+     a60:	7800		ldrb	r0, [r0, #0]
+     a62:	28ff		cmp	r0, #255	; 0xff
+     a64:	d031		beq	0xaca
+     a66:	a846		add	r0, sp, #280	; 0x118
+     a68:	a902		add	r1, sp, #8
+     a6a:	f000 fad1	bl	0x1010
+     a6e:	9001		str	r0, [sp, #4]
+     a70:	9801		ldr	r0, [sp, #4]
+     a72:	2800		cmp	r0, #0
+     a74:	d014		beq	0xaa0
+     a76:	a924		add	r1, sp, #144	; 0x90
+     a78:	4668		mov	r0, sp
+     a7a:	7a00		ldrb	r0, [r0, #8]
+     a7c:	7008		strb	r0, [r1, #0]
+     a7e:	2291		mov	r2, #145	; 0x91
+     a80:	4668		mov	r0, sp
+     a82:	4669		mov	r1, sp
+     a84:	7909		ldrb	r1, [r1, #4]
+     a86:	5411		strb	r1, [r2, r0]
+     a88:	a824		add	r0, sp, #144	; 0x90
+     a8a:	a986		add	r1, sp, #536	; 0x218
+     a8c:	f000 fba3	bl	0x11d6
+     a90:	2800		cmp	r0, #0
+     a92:	d11a		bne	0xaca
+     a94:	a886		add	r0, sp, #536	; 0x218
+     a96:	a9c6		add	r1, sp, #792	; 0x318
+     a98:	7809		ldrb	r1, [r1, #0]
+     a9a:	f000 ffca	bl	0x1a32
+     a9e:	e014		b	0xaca
+     aa0:	4668		mov	r0, sp
+     aa2:	7a00		ldrb	r0, [r0, #8]
+     aa4:	2800		cmp	r0, #0
+     aa6:	d110		bne	0xaca
+     aa8:	a802		add	r0, sp, #8
+     aaa:	a924		add	r1, sp, #144	; 0x90
+     aac:	f000 fd9e	bl	0x15ec
+     ab0:	a824		add	r0, sp, #144	; 0x90
+     ab2:	a986		add	r1, sp, #536	; 0x218
+     ab4:	f000 fb8f	bl	0x11d6
+     ab8:	2800		cmp	r0, #0
+     aba:	d104		bne	0xac6
+     abc:	a886		add	r0, sp, #536	; 0x218
+     abe:	a9c6		add	r1, sp, #792	; 0x318
+     ac0:	7809		ldrb	r1, [r1, #0]
+     ac2:	f000 ffb6	bl	0x1a32
+     ac6:	2001		mov	r0, #1
+     ac8:	9000		str	r0, [sp, #0]
+     aca:	9800		ldr	r0, [sp, #0]
+     acc:	b07f		add	sp, #508	; 0x1fc
+     ace:	b048		add	sp, #288	; 0x120
+     ad0:	bd00		pop	{pc}
+
+; Main entry routine
+     ad2:	b500		push	{lr}
+     ad4:	b082		sub	sp, #8
+     ad6:	f7ff ff47	bl	0x968		; superfluous
+     ada:	f001 f8ad	bl	0x1c38		; UART init
+     ade:	f000 fd73	bl	0x15c8		; zero a couple of vars
+     ae2:	f000 f81f	bl	0xb24		; serial protocol
+     ae6:	f000 f96a	bl	0xdbe		; ftmtool voodoo
+     aea:	b002		add	sp, #8
+     aec:	bd00		pop	{pc}
+     aee:	46c0		nop			(mov r8, r8)
+
+     af0:	fffffa08
+     af4:	0000ffff
+     af8:	fffffa0a
+     afc:	fffff804
+     b00:	ffff9800
+     b04:	00002002
+     b08:	fffffd00
+     b0c:	00001001
+
+     b10:	e3a0d502	mov	sp, #8388608	; 0x800000
+     b14:	e28dd802	add	sp, sp, #131072	; 0x20000
+     b18:	e28fe005	add	lr, pc, #5
+     b1c:	e12fff1e	bx	lr
+     b20:	e1a00000	mov	r0, r0
+
+; This function (0xb24, called from this bootloader's "main") calls
+; 0xbac (serial download attempt) twice, first at 406250 baud, then
+; at 115200 baud.  Only the MODEM UART is tried, not IrDA.
+     b24:	b500		push	{lr}
+     b26:	b082		sub	sp, #8
+; select MODEM UART
+     b28:	49ed		ldr	r1, =0x83ff00	; via 0xee0
+     b2a:	48ee		ldr	r0, =0xffff5800	; via 0xee4
+     b2c:	6008		str	r0, [r1, #0]
+; set it to /2 (406250 baud)
+     b2e:	2000		mov	r0, #0
+     b30:	2102		mov	r1, #2
+     b32:	f000 f9fb	bl	0xf2c
+; delay loop
+     b36:	2000		mov	r0, #0
+     b38:	9000		str	r0, [sp, #0]
+     b3a:	9900		ldr	r1, [sp, #0]
+     b3c:	2005		mov	r0, #5
+     b3e:	0300		lsl	r0, r0, #12
+     b40:	4281		cmp	r1, r0
+     b42:	d207		bcs	0xb54
+     b44:	9800		ldr	r0, [sp, #0]
+     b46:	3001		add	r0, #1
+     b48:	9000		str	r0, [sp, #0]
+     b4a:	9900		ldr	r1, [sp, #0]
+     b4c:	2005		mov	r0, #5
+     b4e:	0300		lsl	r0, r0, #12
+     b50:	4281		cmp	r1, r0
+     b52:	d3f7		bcc	0xb44
+; 0xbac called at 406250 baud
+     b54:	f000 f82a	bl	0xbac
+; set it to /7 (115200 baud)
+     b58:	2000		mov	r0, #0
+     b5a:	2107		mov	r1, #7
+     b5c:	f000 f9e6	bl	0xf2c
+; same delay loop again
+     b60:	2000		mov	r0, #0
+     b62:	9000		str	r0, [sp, #0]
+     b64:	9900		ldr	r1, [sp, #0]
+     b66:	2005		mov	r0, #5
+     b68:	0300		lsl	r0, r0, #12
+     b6a:	4281		cmp	r1, r0
+     b6c:	d207		bcs	0xb7e
+     b6e:	9800		ldr	r0, [sp, #0]
+     b70:	3001		add	r0, #1
+     b72:	9000		str	r0, [sp, #0]
+     b74:	9900		ldr	r1, [sp, #0]
+     b76:	2005		mov	r0, #5
+     b78:	0300		lsl	r0, r0, #12
+     b7a:	4281		cmp	r1, r0
+     b7c:	d3f7		bcc	0xb6e
+; call 0xbac again, this time at 115200 baud
+     b7e:	f000 f815	bl	0xbac
+; another (longer) delay loop, then return
+     b82:	2000		mov	r0, #0
+     b84:	9001		str	r0, [sp, #4]
+     b86:	9000		str	r0, [sp, #0]
+     b88:	9900		ldr	r1, [sp, #0]
+     b8a:	2005		mov	r0, #5
+     b8c:	0400		lsl	r0, r0, #16
+     b8e:	4281		cmp	r1, r0
+     b90:	d20a		bcs	0xba8
+     b92:	9801		ldr	r0, [sp, #4]
+     b94:	3001		add	r0, #1
+     b96:	9001		str	r0, [sp, #4]
+     b98:	9800		ldr	r0, [sp, #0]
+     b9a:	3001		add	r0, #1
+     b9c:	9000		str	r0, [sp, #0]
+     b9e:	9900		ldr	r1, [sp, #0]
+     ba0:	2005		mov	r0, #5
+     ba2:	0400		lsl	r0, r0, #16
+     ba4:	4281		cmp	r1, r0
+     ba6:	d3f4		bcc	0xb92
+     ba8:	b002		add	sp, #8
+     baa:	bd00		pop	{pc}
+
+; This function implements the entirety of the serial download protocol,
+; see c139-boot.notes for the details.
+     bac:	b500		push	{lr}
+     bae:	b088		sub	sp, #32	; 0x20
+     bb0:	48dd		ldr	r0, =0x800100	; via 0xf28
+     bb2:	9005		str	r0, [sp, #20]	; 0x14
+     bb4:	201b		mov	r0, #27	; 0x1b
+     bb6:	f000 f95f	bl	0xe78
+     bba:	20f6		mov	r0, #246	; 0xf6
+     bbc:	f000 f95c	bl	0xe78
+     bc0:	2002		mov	r0, #2
+     bc2:	f000 f959	bl	0xe78
+     bc6:	2000		mov	r0, #0
+     bc8:	f000 f956	bl	0xe78
+     bcc:	2041		mov	r0, #65	; 0x41
+     bce:	f000 f953	bl	0xe78
+     bd2:	2001		mov	r0, #1
+     bd4:	f000 f950	bl	0xe78
+     bd8:	2040		mov	r0, #64	; 0x40
+     bda:	f000 f94d	bl	0xe78
+     bde:	2001		mov	r0, #1
+     be0:	0300		lsl	r0, r0, #12
+     be2:	f000 f961	bl	0xea8
+     be6:	281b		cmp	r0, #27	; 0x1b
+     be8:	d000		beq	0xbec
+     bea:	e0e6		b	0xdba
+     bec:	2001		mov	r0, #1
+     bee:	0300		lsl	r0, r0, #12
+     bf0:	f000 f95a	bl	0xea8
+     bf4:	28f6		cmp	r0, #246	; 0xf6
+     bf6:	d000		beq	0xbfa
+     bf8:	e0df		b	0xdba
+     bfa:	2001		mov	r0, #1
+     bfc:	0300		lsl	r0, r0, #12
+     bfe:	f000 f953	bl	0xea8
+     c02:	2802		cmp	r0, #2
+     c04:	d000		beq	0xc08
+     c06:	e0d8		b	0xdba
+     c08:	2001		mov	r0, #1
+     c0a:	0300		lsl	r0, r0, #12
+     c0c:	f000 f94c	bl	0xea8
+     c10:	2800		cmp	r0, #0
+     c12:	d000		beq	0xc16
+     c14:	e0d1		b	0xdba
+     c16:	2001		mov	r0, #1
+     c18:	0300		lsl	r0, r0, #12
+     c1a:	f000 f945	bl	0xea8
+     c1e:	2852		cmp	r0, #82	; 0x52
+     c20:	d000		beq	0xc24
+     c22:	e0ca		b	0xdba
+     c24:	2001		mov	r0, #1
+     c26:	0300		lsl	r0, r0, #12
+     c28:	f000 f93e	bl	0xea8
+     c2c:	2801		cmp	r0, #1
+     c2e:	d000		beq	0xc32
+     c30:	e0c3		b	0xdba
+     c32:	2001		mov	r0, #1
+     c34:	0300		lsl	r0, r0, #12
+     c36:	f000 f937	bl	0xea8
+     c3a:	2853		cmp	r0, #83	; 0x53
+     c3c:	d000		beq	0xc40
+     c3e:	e0bc		b	0xdba
+     c40:	201b		mov	r0, #27	; 0x1b
+     c42:	f000 f919	bl	0xe78
+     c46:	20f6		mov	r0, #246	; 0xf6
+     c48:	f000 f916	bl	0xe78
+     c4c:	2002		mov	r0, #2
+     c4e:	f000 f913	bl	0xe78
+     c52:	2000		mov	r0, #0
+     c54:	f000 f910	bl	0xe78
+     c58:	2041		mov	r0, #65	; 0x41
+     c5a:	f000 f90d	bl	0xe78
+     c5e:	2002		mov	r0, #2
+     c60:	f000 f90a	bl	0xe78
+     c64:	2043		mov	r0, #67	; 0x43
+     c66:	f000 f907	bl	0xe78
+     c6a:	2001		mov	r0, #1
+     c6c:	0300		lsl	r0, r0, #12
+     c6e:	f000 f91b	bl	0xea8
+     c72:	4669		mov	r1, sp
+     c74:	7208		strb	r0, [r1, #8]
+     c76:	2002		mov	r0, #2
+     c78:	7448		strb	r0, [r1, #17]	; 0x11
+     c7a:	2000		mov	r0, #0
+     c7c:	9000		str	r0, [sp, #0]
+     c7e:	9800		ldr	r0, [sp, #0]
+     c80:	2802		cmp	r0, #2
+     c82:	d215		bcs	0xcb0
+     c84:	2001		mov	r0, #1
+     c86:	0300		lsl	r0, r0, #12
+     c88:	f000 f90e	bl	0xea8
+     c8c:	4669		mov	r1, sp
+     c8e:	9a00		ldr	r2, [sp, #0]
+     c90:	1a89		sub	r1, r1, r2
+     c92:	7348		strb	r0, [r1, #13]	; 0xd
+     c94:	4669		mov	r1, sp
+     c96:	9800		ldr	r0, [sp, #0]
+     c98:	1a08		sub	r0, r1, r0
+     c9a:	7b40		ldrb	r0, [r0, #13]	; 0xd
+     c9c:	7c49		ldrb	r1, [r1, #17]	; 0x11
+     c9e:	4048		eor	r0, r1
+     ca0:	4669		mov	r1, sp
+     ca2:	7448		strb	r0, [r1, #17]	; 0x11
+     ca4:	9800		ldr	r0, [sp, #0]
+     ca6:	3001		add	r0, #1
+     ca8:	9000		str	r0, [sp, #0]
+     caa:	9800		ldr	r0, [sp, #0]
+     cac:	2802		cmp	r0, #2
+     cae:	d3e9		bcc	0xc84
+     cb0:	4668		mov	r0, sp
+     cb2:	8980		ldrh	r0, [r0, #12]	; 0xc
+     cb4:	466a		mov	r2, sp
+     cb6:	1e41		sub	r1, r0, #1
+     cb8:	8191		strh	r1, [r2, #12]	; 0xc
+     cba:	2800		cmp	r0, #0
+     cbc:	d016		beq	0xcec
+     cbe:	2001		mov	r0, #1
+     cc0:	0300		lsl	r0, r0, #12
+     cc2:	f000 f8f1	bl	0xea8
+     cc6:	9905		ldr	r1, [sp, #20]	; 0x14
+     cc8:	7008		strb	r0, [r1, #0]
+     cca:	9805		ldr	r0, [sp, #20]	; 0x14
+     ccc:	7800		ldrb	r0, [r0, #0]
+     cce:	4669		mov	r1, sp
+     cd0:	7c49		ldrb	r1, [r1, #17]	; 0x11
+     cd2:	4048		eor	r0, r1
+     cd4:	4669		mov	r1, sp
+     cd6:	7448		strb	r0, [r1, #17]	; 0x11
+     cd8:	9805		ldr	r0, [sp, #20]	; 0x14
+     cda:	3001		add	r0, #1
+     cdc:	9005		str	r0, [sp, #20]	; 0x14
+     cde:	4668		mov	r0, sp
+     ce0:	8981		ldrh	r1, [r0, #12]	; 0xc
+     ce2:	466a		mov	r2, sp
+     ce4:	1e48		sub	r0, r1, #1
+     ce6:	8190		strh	r0, [r2, #12]	; 0xc
+     ce8:	2900		cmp	r1, #0
+     cea:	d1e8		bne	0xcbe
+     cec:	2001		mov	r0, #1
+     cee:	0300		lsl	r0, r0, #12
+     cf0:	f000 f8da	bl	0xea8
+     cf4:	4669		mov	r1, sp
+     cf6:	7408		strb	r0, [r1, #16]	; 0x10
+     cf8:	4668		mov	r0, sp
+     cfa:	7c00		ldrb	r0, [r0, #16]	; 0x10
+     cfc:	7c49		ldrb	r1, [r1, #17]	; 0x11
+     cfe:	4288		cmp	r0, r1
+     d00:	d015		beq	0xd2e
+     d02:	201b		mov	r0, #27	; 0x1b
+     d04:	f000 f8b8	bl	0xe78
+     d08:	20f6		mov	r0, #246	; 0xf6
+     d0a:	f000 f8b5	bl	0xe78
+     d0e:	2002		mov	r0, #2
+     d10:	f000 f8b2	bl	0xe78
+     d14:	2000		mov	r0, #0
+     d16:	f000 f8af	bl	0xe78
+     d1a:	2045		mov	r0, #69	; 0x45
+     d1c:	f000 f8ac	bl	0xe78
+     d20:	2053		mov	r0, #83	; 0x53
+     d22:	f000 f8a9	bl	0xe78
+     d26:	2016		mov	r0, #22	; 0x16
+     d28:	f000 f8a6	bl	0xe78
+     d2c:	e045		b	0xdba
+     d2e:	2081		mov	r0, #129	; 0x81
+     d30:	0100		lsl	r0, r0, #4
+     d32:	9006		str	r0, [sp, #24]	; 0x18
+     d34:	48af		ldr	r0, =0x803ce0	; via 0xff4
+     d36:	9007		str	r0, [sp, #28]	; 0x1c
+     d38:	2000		mov	r0, #0
+     d3a:	9000		str	r0, [sp, #0]
+     d3c:	9800		ldr	r0, [sp, #0]
+     d3e:	2804		cmp	r0, #4
+     d40:	d221		bcs	0xd86
+     d42:	9900		ldr	r1, [sp, #0]
+     d44:	9806		ldr	r0, [sp, #24]	; 0x18
+     d46:	5c0a		ldrb	r2, [r1, r0]
+     d48:	9900		ldr	r1, [sp, #0]
+     d4a:	9807		ldr	r0, [sp, #28]	; 0x1c
+     d4c:	5c08		ldrb	r0, [r1, r0]
+     d4e:	4282		cmp	r2, r0
+     d50:	dd13		ble	0xd7a
+     d52:	201b		mov	r0, #27	; 0x1b
+     d54:	f000 f890	bl	0xe78
+     d58:	20f6		mov	r0, #246	; 0xf6
+     d5a:	f000 f88d	bl	0xe78
+     d5e:	2002		mov	r0, #2
+     d60:	f000 f88a	bl	0xe78
+     d64:	2000		mov	r0, #0
+     d66:	f000 f887	bl	0xe78
+     d6a:	2041		mov	r0, #65	; 0x41
+     d6c:	f000 f884	bl	0xe78
+     d70:	2003		mov	r0, #3
+     d72:	f000 f881	bl	0xe78
+     d76:	2057		mov	r0, #87	; 0x57
+     d78:	e7d6		b	0xd28
+     d7a:	9800		ldr	r0, [sp, #0]
+     d7c:	3001		add	r0, #1
+     d7e:	9000		str	r0, [sp, #0]
+     d80:	9800		ldr	r0, [sp, #0]
+     d82:	2804		cmp	r0, #4
+     d84:	d3dd		bcc	0xd42
+     d86:	201b		mov	r0, #27	; 0x1b
+     d88:	f000 f876	bl	0xe78
+     d8c:	20f6		mov	r0, #246	; 0xf6
+     d8e:	f000 f873	bl	0xe78
+     d92:	2002		mov	r0, #2
+     d94:	f000 f870	bl	0xe78
+     d98:	2000		mov	r0, #0
+     d9a:	f000 f86d	bl	0xe78
+     d9e:	2041		mov	r0, #65	; 0x41
+     da0:	f000 f86a	bl	0xe78
+     da4:	2003		mov	r0, #3
+     da6:	f000 f867	bl	0xe78
+     daa:	2042		mov	r0, #66	; 0x42
+     dac:	f000 f864	bl	0xe78
+     db0:	484b		ldr	r0, =0x83ff00	; via 0xee0
+     db2:	6800		ldr	r0, [r0, #0]
+     db4:	4990		ldr	r1, =0x800100	; via 0xff8
+     db6:	f000 f85e	bl	0xe76
+     dba:	b008		add	sp, #32	; 0x20
+     dbc:	bd00		pop	{pc}
+
+     dbe:	b500		push	{lr}
+     dc0:	b081		sub	sp, #4
+; transmit "ftmtool" 7 bytes
+     dc2:	2066		mov	r0, #102	; 0x66
+     dc4:	f000 f858	bl	0xe78
+     dc8:	2074		mov	r0, #116	; 0x74
+     dca:	f000 f855	bl	0xe78
+     dce:	206d		mov	r0, #109	; 0x6d
+     dd0:	f000 f852	bl	0xe78
+     dd4:	2074		mov	r0, #116	; 0x74
+     dd6:	f000 f84f	bl	0xe78
+     dda:	206f		mov	r0, #111	; 0x6f
+     ddc:	f000 f84c	bl	0xe78
+     de0:	206f		mov	r0, #111	; 0x6f
+     de2:	f000 f849	bl	0xe78
+     de6:	206c		mov	r0, #108	; 0x6c
+     de8:	f000 f846	bl	0xe78
+     dec:	4983		ldr	r1, =0x83ff80	; via 0xffc
+     dee:	2000		mov	r0, #0
+     df0:	7008		strb	r0, [r1, #0]
+; delay loop
+     df2:	9000		str	r0, [sp, #0]
+     df4:	9800		ldr	r0, [sp, #0]
+     df6:	0c00		lsr	r0, r0, #16
+     df8:	d105		bne	0xe06
+     dfa:	9800		ldr	r0, [sp, #0]
+     dfc:	3001		add	r0, #1
+     dfe:	9000		str	r0, [sp, #0]
+     e00:	9800		ldr	r0, [sp, #0]
+     e02:	0c00		lsr	r0, r0, #16
+     e04:	d0f9		beq	0xdfa
+; call Rx-char: expecting "yes"
+     e06:	2007		mov	r0, #7
+     e08:	0400		lsl	r0, r0, #16
+     e0a:	f000 f84d	bl	0xea8
+     e0e:	2879		cmp	r0, #121	; 0x79
+     e10:	d10e		bne	0xe30
+     e12:	2001		mov	r0, #1
+     e14:	0300		lsl	r0, r0, #12
+     e16:	f000 f847	bl	0xea8
+     e1a:	2865		cmp	r0, #101	; 0x65
+     e1c:	d108		bne	0xe30
+     e1e:	2001		mov	r0, #1
+     e20:	0300		lsl	r0, r0, #12
+     e22:	f000 f841	bl	0xea8
+     e26:	2873		cmp	r0, #115	; 0x73
+     e28:	d102		bne	0xe30
+     e2a:	4874		ldr	r0, =0x83ff80	; via 0xffc
+     e2c:	2101		mov	r1, #1
+     e2e:	7001		strb	r1, [r0, #0]
+; "yes" and normal boot code paths merge
+     e30:	f000 f8ce	bl	0xfd0
+     e34:	2800		cmp	r0, #0
+     e36:	d00d		beq	0xe54
+     e38:	206d		mov	r0, #109	; 0x6d
+     e3a:	f000 f81d	bl	0xe78
+     e3e:	206f		mov	r0, #111	; 0x6f
+     e40:	f000 f81a	bl	0xe78
+     e44:	2064		mov	r0, #100	; 0x64
+     e46:	f000 f817	bl	0xe78
+     e4a:	2065		mov	r0, #101	; 0x65
+     e4c:	f000 f814	bl	0xe78
+     e50:	206d		mov	r0, #109	; 0x6d
+     e52:	e00c		b	0xe6e
+     e54:	2065		mov	r0, #101	; 0x65
+     e56:	f000 f80f	bl	0xe78
+     e5a:	2072		mov	r0, #114	; 0x72
+     e5c:	f000 f80c	bl	0xe78
+     e60:	2072		mov	r0, #114	; 0x72
+     e62:	f000 f809	bl	0xe78
+     e66:	206f		mov	r0, #111	; 0x6f
+     e68:	f000 f806	bl	0xe78
+     e6c:	2072		mov	r0, #114	; 0x72
+     e6e:	f000 f803	bl	0xe78
+     e72:	b001		add	sp, #4
+     e74:	bd00		pop	{pc}
+
+; Called via Thumb-BL to transfer control to the downloaded image
+     e76:	4708		bx	r1
+
+; UART character output routine
+     e78:	b081		sub	sp, #4
+     e7a:	4669		mov	r1, sp
+     e7c:	7008		strb	r0, [r1, #0]
+     e7e:	4818		ldr	r0, =0x83ff00	; via 0xee0
+     e80:	6800		ldr	r0, [r0, #0]
+     e82:	7940		ldrb	r0, [r0, #5]
+     e84:	0980		lsr	r0, r0, #6
+     e86:	d3fa		bcc	0xe7e
+     e88:	4815		ldr	r0, =0x83ff00	; via 0xee0
+     e8a:	6800		ldr	r0, [r0, #0]
+     e8c:	4669		mov	r1, sp
+     e8e:	7809		ldrb	r1, [r1, #0]
+     e90:	7001		strb	r1, [r0, #0]
+     e92:	b001		add	sp, #4
+     e94:	46f7		mov	pc, lr
+
+     e96:	4812		ldr	r0, =0x83ff00	; via 0xee0
+     e98:	6800		ldr	r0, [r0, #0]
+     e9a:	7940		ldrb	r0, [r0, #5]
+     e9c:	0840		lsr	r0, r0, #1
+     e9e:	d3fa		bcc	0xe96
+     ea0:	480f		ldr	r0, =0x83ff00	; via 0xee0
+     ea2:	6800		ldr	r0, [r0, #0]
+     ea4:	7800		ldrb	r0, [r0, #0]
+     ea6:	4770		bx	lr
+
+; UART character input with a timeout (number of LSR read tries passed
+; in r0).  Returns the character read if one was received, or 0xFF
+; if timeout.
+     ea8:	b083		sub	sp, #12	; 0xc
+     eaa:	9000		str	r0, [sp, #0]
+     eac:	9800		ldr	r0, [sp, #0]
+     eae:	9002		str	r0, [sp, #8]
+     eb0:	480b		ldr	r0, =0x83ff00	; via 0xee0
+     eb2:	6800		ldr	r0, [r0, #0]
+     eb4:	7940		ldrb	r0, [r0, #5]
+     eb6:	0840		lsr	r0, r0, #1
+     eb8:	d20c		bcs	0xed4
+     eba:	9802		ldr	r0, [sp, #8]
+     ebc:	3801		sub	r0, #1
+     ebe:	9002		str	r0, [sp, #8]
+     ec0:	9802		ldr	r0, [sp, #8]
+     ec2:	2800		cmp	r0, #0
+     ec4:	d101		bne	0xeca
+     ec6:	20ff		mov	r0, #255	; 0xff
+     ec8:	e007		b	0xeda
+     eca:	4805		ldr	r0, =0x83ff00	; via 0xee0
+     ecc:	6800		ldr	r0, [r0, #0]
+     ece:	7940		ldrb	r0, [r0, #5]
+     ed0:	0840		lsr	r0, r0, #1
+     ed2:	d3f2		bcc	0xeba
+     ed4:	484a		ldr	r0, =0x83ff00	; via 0x1000
+     ed6:	6800		ldr	r0, [r0, #0]
+     ed8:	7800		ldrb	r0, [r0, #0]
+     eda:	b003		add	sp, #12	; 0xc
+     edc:	4770		bx	lr
+     ede:	46c0		nop			(mov r8, r8)
+
+     ee0:	0083ff00
+     ee4:	ffff5800
+
+     ee8:	b081		sub	sp, #4
+     eea:	e001		b	0xef0
+     eec:	9800		ldr	r0, [sp, #0]
+     eee:	3801		sub	r0, #1
+     ef0:	9000		str	r0, [sp, #0]
+     ef2:	4843		ldr	r0, =0x83ff00	; via 0x1000
+     ef4:	6800		ldr	r0, [r0, #0]
+     ef6:	7940		ldrb	r0, [r0, #5]
+     ef8:	0840		lsr	r0, r0, #1
+     efa:	d202		bcs	0xf02
+     efc:	9800		ldr	r0, [sp, #0]
+     efe:	2800		cmp	r0, #0
+     f00:	dcf4		bgt	0xeec
+     f02:	9800		ldr	r0, [sp, #0]
+     f04:	2800		cmp	r0, #0
+     f06:	dd01		ble	0xf0c
+     f08:	2000		mov	r0, #0
+     f0a:	e000		b	0xf0e
+     f0c:	2001		mov	r0, #1
+     f0e:	b001		add	sp, #4
+     f10:	4770		bx	lr
+
+     f12:	b082		sub	sp, #8
+     f14:	9000		str	r0, [sp, #0]
+     f16:	4669		mov	r1, sp
+     f18:	2000		mov	r0, #0
+     f1a:	7188		strb	r0, [r1, #6]
+     f1c:	9900		ldr	r1, [sp, #0]
+     f1e:	4839		ldr	r0, =0xfffef000	; via 0x1004
+     f20:	8800		ldrh	r0, [r0, #0]
+     f22:	8008		strh	r0, [r1, #0]
+     f24:	b002		add	sp, #8
+     f26:	4770		bx	lr
+
+     f28:	00800100
+
+; This function (0xf2c) reprograms the UART selected by the 83FF00
+; var to the baud rate passed as arguments (div upper byte in R0,
+; lower byte in R1) and flushes the Rx FIFO.
+     f2c:	b081		sub	sp, #4
+     f2e:	466a		mov	r2, sp
+     f30:	7051		strb	r1, [r2, #1]
+     f32:	4669		mov	r1, sp
+     f34:	7008		strb	r0, [r1, #0]
+     f36:	4934		ldr	r1, =0xffff6000	; via 0x1008
+     f38:	2002		mov	r0, #2
+     f3a:	880a		ldrh	r2, [r1, #0]
+     f3c:	4310		orr	r0, r2
+     f3e:	8008		strh	r0, [r1, #0]
+     f40:	4831		ldr	r0, =0xffff6000	; via 0x1008
+     f42:	8801		ldrh	r1, [r0, #0]
+     f44:	0849		lsr	r1, r1, #1
+     f46:	0049		lsl	r1, r1, #1
+     f48:	8001		strh	r1, [r0, #0]
+     f4a:	492f		ldr	r1, =0xffff6000	; via 0x1008
+     f4c:	8808		ldrh	r0, [r1, #0]
+     f4e:	2202		mov	r2, #2
+     f50:	4390		bic	r0, r2
+     f52:	8008		strh	r0, [r1, #0]
+     f54:	482a		ldr	r0, =0x83ff00	; via 0x1000
+     f56:	6801		ldr	r1, [r0, #0]
+     f58:	2007		mov	r0, #7
+     f5a:	7208		strb	r0, [r1, #8]
+     f5c:	4828		ldr	r0, =0x83ff00	; via 0x1000
+     f5e:	6801		ldr	r1, [r0, #0]
+     f60:	20bf		mov	r0, #191	; 0xbf
+     f62:	70c8		strb	r0, [r1, #3]
+     f64:	4826		ldr	r0, =0x83ff00	; via 0x1000
+     f66:	6800		ldr	r0, [r0, #0]
+     f68:	1c80		add	r0, r0, #2
+     f6a:	2110		mov	r1, #16	; 0x10
+     f6c:	8802		ldrh	r2, [r0, #0]
+     f6e:	4311		orr	r1, r2
+     f70:	8001		strh	r1, [r0, #0]
+     f72:	4823		ldr	r0, =0x83ff00	; via 0x1000
+     f74:	6801		ldr	r1, [r0, #0]
+     f76:	2080		mov	r0, #128	; 0x80
+     f78:	70c8		strb	r0, [r1, #3]
+     f7a:	4821		ldr	r0, =0x83ff00	; via 0x1000
+     f7c:	6800		ldr	r0, [r0, #0]
+     f7e:	2107		mov	r1, #7
+     f80:	7081		strb	r1, [r0, #2]
+     f82:	481f		ldr	r0, =0x83ff00	; via 0x1000
+     f84:	6800		ldr	r0, [r0, #0]
+     f86:	21bf		mov	r1, #191	; 0xbf
+     f88:	70c1		strb	r1, [r0, #3]
+     f8a:	481d		ldr	r0, =0x83ff00	; via 0x1000
+     f8c:	6801		ldr	r1, [r0, #0]
+     f8e:	4668		mov	r0, sp
+     f90:	7840		ldrb	r0, [r0, #1]
+     f92:	7008		strb	r0, [r1, #0]
+     f94:	481a		ldr	r0, =0x83ff00	; via 0x1000
+     f96:	6801		ldr	r1, [r0, #0]
+     f98:	4668		mov	r0, sp
+     f9a:	7800		ldrb	r0, [r0, #0]
+     f9c:	7048		strb	r0, [r1, #1]
+     f9e:	4818		ldr	r0, =0x83ff00	; via 0x1000
+     fa0:	6801		ldr	r1, [r0, #0]
+     fa2:	2003		mov	r0, #3
+     fa4:	70c8		strb	r0, [r1, #3]
+     fa6:	4816		ldr	r0, =0x83ff00	; via 0x1000
+     fa8:	6800		ldr	r0, [r0, #0]
+     faa:	2100		mov	r1, #0
+     fac:	7201		strb	r1, [r0, #8]
+     fae:	4814		ldr	r0, =0x83ff00	; via 0x1000
+     fb0:	6800		ldr	r0, [r0, #0]
+     fb2:	7940		ldrb	r0, [r0, #5]
+     fb4:	0840		lsr	r0, r0, #1
+     fb6:	d309		bcc	0xfcc
+     fb8:	4669		mov	r1, sp
+     fba:	4811		ldr	r0, =0x83ff00	; via 0x1000
+     fbc:	6800		ldr	r0, [r0, #0]
+     fbe:	7800		ldrb	r0, [r0, #0]
+     fc0:	7088		strb	r0, [r1, #2]
+     fc2:	480f		ldr	r0, =0x83ff00	; via 0x1000
+     fc4:	6800		ldr	r0, [r0, #0]
+     fc6:	7940		ldrb	r0, [r0, #5]
+     fc8:	0840		lsr	r0, r0, #1
+     fca:	d2f5		bcs	0xfb8
+     fcc:	b001		add	sp, #4
+     fce:	4770		bx	lr
+
+     fd0:	480a		ldr	r0, =0x83ff80	; via 0xffc
+     fd2:	7800		ldrb	r0, [r0, #0]
+     fd4:	4770		bx	lr
+
+     fd6:	b500		push	{lr}
+     fd8:	b081		sub	sp, #4
+     fda:	4669		mov	r1, sp
+     fdc:	7008		strb	r0, [r1, #0]
+     fde:	4668		mov	r0, sp
+     fe0:	7800		ldrb	r0, [r0, #0]
+     fe2:	f7ff ff49	bl	0xe78
+     fe6:	b001		add	sp, #4
+     fe8:	bd00		pop	{pc}
+     fea:	b500		push	{lr}
+     fec:	f7ff ff53	bl	0xe96
+     ff0:	bd00		pop	{pc}
+     ff2:	46c0		nop			(mov r8, r8)
+     ff4:	3ce0		sub	r4, #224	; 0xe0
+     ff6:	0080		lsl	r0, r0, #2
+     ff8:	0100		lsl	r0, r0, #4
+     ffa:	0080		lsl	r0, r0, #2
+     ffc:	ff80		<half-bl>
+     ffe:	0083		lsl	r3, r0, #2
+    1000:	ff00		<half-bl>
+    1002:	0083		lsl	r3, r0, #2
+    1004:	f000 fffe	bl	0x2004
+    1008:	6000		str	r0, [r0, #0]
+    100a:	ffff		<half-bl>
+    100c:	4700		bx	r0
+    100e:	0000		lsl	r0, r0, #0
+    1010:	b08c		sub	sp, #48	; 0x30
+    1012:	9101		str	r1, [sp, #4]
+    1014:	9000		str	r0, [sp, #0]
+    1016:	2000		mov	r0, #0
+    1018:	9003		str	r0, [sp, #12]	; 0xc
+    101a:	9800		ldr	r0, [sp, #0]
+    101c:	7801		ldrb	r1, [r0, #0]
+    101e:	3001		add	r0, #1
+    1020:	9000		str	r0, [sp, #0]
+    1022:	9105		str	r1, [sp, #20]	; 0x14
+    1024:	9800		ldr	r0, [sp, #0]
+    1026:	7801		ldrb	r1, [r0, #0]
+    1028:	3001		add	r0, #1
+    102a:	9000		str	r0, [sp, #0]
+    102c:	9801		ldr	r0, [sp, #4]
+    102e:	7001		strb	r1, [r0, #0]
+    1030:	2001		mov	r0, #1
+    1032:	9004		str	r0, [sp, #16]	; 0x10
+    1034:	e0a8		b	0x1188
+    1036:	9804		ldr	r0, [sp, #16]	; 0x10
+    1038:	3002		add	r0, #2
+    103a:	9004		str	r0, [sp, #16]	; 0x10
+    103c:	9800		ldr	r0, [sp, #0]
+    103e:	7801		ldrb	r1, [r0, #0]
+    1040:	3001		add	r0, #1
+    1042:	9000		str	r0, [sp, #0]
+    1044:	4668		mov	r0, sp
+    1046:	8441		strh	r1, [r0, #34]	; 0x22
+    1048:	9800		ldr	r0, [sp, #0]
+    104a:	7801		ldrb	r1, [r0, #0]
+    104c:	3001		add	r0, #1
+    104e:	9000		str	r0, [sp, #0]
+    1050:	4668		mov	r0, sp
+    1052:	8401		strh	r1, [r0, #32]	; 0x20
+    1054:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    1056:	4669		mov	r1, sp
+    1058:	8c49		ldrh	r1, [r1, #34]	; 0x22
+    105a:	0209		lsl	r1, r1, #8
+    105c:	1840		add	r0, r0, r1
+    105e:	9901		ldr	r1, [sp, #4]
+    1060:	8088		strh	r0, [r1, #4]
+    1062:	9804		ldr	r0, [sp, #16]	; 0x10
+    1064:	3001		add	r0, #1
+    1066:	9004		str	r0, [sp, #16]	; 0x10
+    1068:	9800		ldr	r0, [sp, #0]
+    106a:	7801		ldrb	r1, [r0, #0]
+    106c:	3001		add	r0, #1
+    106e:	9000		str	r0, [sp, #0]
+    1070:	4668		mov	r0, sp
+    1072:	7601		strb	r1, [r0, #24]	; 0x18
+    1074:	9901		ldr	r1, [sp, #4]
+    1076:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1078:	7188		strb	r0, [r1, #6]
+    107a:	4668		mov	r0, sp
+    107c:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    107e:	2840		cmp	r0, #64	; 0x40
+    1080:	dc00		bgt	0x1084
+    1082:	e09f		b	0x11c4
+    1084:	2004		mov	r0, #4
+    1086:	9003		str	r0, [sp, #12]	; 0xc
+    1088:	e09c		b	0x11c4
+    108a:	9804		ldr	r0, [sp, #16]	; 0x10
+    108c:	3002		add	r0, #2
+    108e:	9004		str	r0, [sp, #16]	; 0x10
+    1090:	9800		ldr	r0, [sp, #0]
+    1092:	7801		ldrb	r1, [r0, #0]
+    1094:	3001		add	r0, #1
+    1096:	9000		str	r0, [sp, #0]
+    1098:	4668		mov	r0, sp
+    109a:	8441		strh	r1, [r0, #34]	; 0x22
+    109c:	9800		ldr	r0, [sp, #0]
+    109e:	7801		ldrb	r1, [r0, #0]
+    10a0:	3001		add	r0, #1
+    10a2:	9000		str	r0, [sp, #0]
+    10a4:	4668		mov	r0, sp
+    10a6:	8401		strh	r1, [r0, #32]	; 0x20
+    10a8:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    10aa:	4669		mov	r1, sp
+    10ac:	8c49		ldrh	r1, [r1, #34]	; 0x22
+    10ae:	0209		lsl	r1, r1, #8
+    10b0:	1841		add	r1, r0, r1
+    10b2:	9801		ldr	r0, [sp, #4]
+    10b4:	8081		strh	r1, [r0, #4]
+    10b6:	9804		ldr	r0, [sp, #16]	; 0x10
+    10b8:	3001		add	r0, #1
+    10ba:	9004		str	r0, [sp, #16]	; 0x10
+    10bc:	9800		ldr	r0, [sp, #0]
+    10be:	7801		ldrb	r1, [r0, #0]
+    10c0:	3001		add	r0, #1
+    10c2:	9000		str	r0, [sp, #0]
+    10c4:	4668		mov	r0, sp
+    10c6:	7601		strb	r1, [r0, #24]	; 0x18
+    10c8:	9901		ldr	r1, [sp, #4]
+    10ca:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    10cc:	7188		strb	r0, [r1, #6]
+    10ce:	4668		mov	r0, sp
+    10d0:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    10d2:	2840		cmp	r0, #64	; 0x40
+    10d4:	dcd6		bgt	0x1084
+    10d6:	9801		ldr	r0, [sp, #4]
+    10d8:	3008		add	r0, #8
+    10da:	9007		str	r0, [sp, #28]	; 0x1c
+    10dc:	2000		mov	r0, #0
+    10de:	9002		str	r0, [sp, #8]
+    10e0:	9902		ldr	r1, [sp, #8]
+    10e2:	4668		mov	r0, sp
+    10e4:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    10e6:	4281		cmp	r1, r0
+    10e8:	da6c		bge	0x11c4
+    10ea:	9800		ldr	r0, [sp, #0]
+    10ec:	7801		ldrb	r1, [r0, #0]
+    10ee:	3001		add	r0, #1
+    10f0:	9000		str	r0, [sp, #0]
+    10f2:	4668		mov	r0, sp
+    10f4:	84c1		strh	r1, [r0, #38]	; 0x26
+    10f6:	9800		ldr	r0, [sp, #0]
+    10f8:	7801		ldrb	r1, [r0, #0]
+    10fa:	3001		add	r0, #1
+    10fc:	9000		str	r0, [sp, #0]
+    10fe:	4668		mov	r0, sp
+    1100:	8481		strh	r1, [r0, #36]	; 0x24
+    1102:	9807		ldr	r0, [sp, #28]	; 0x1c
+    1104:	1c81		add	r1, r0, #2
+    1106:	9107		str	r1, [sp, #28]	; 0x1c
+    1108:	4669		mov	r1, sp
+    110a:	8c89		ldrh	r1, [r1, #36]	; 0x24
+    110c:	466a		mov	r2, sp
+    110e:	8cd2		ldrh	r2, [r2, #38]	; 0x26
+    1110:	0212		lsl	r2, r2, #8
+    1112:	1889		add	r1, r1, r2
+    1114:	8001		strh	r1, [r0, #0]
+    1116:	9804		ldr	r0, [sp, #16]	; 0x10
+    1118:	3002		add	r0, #2
+    111a:	9004		str	r0, [sp, #16]	; 0x10
+    111c:	9802		ldr	r0, [sp, #8]
+    111e:	3001		add	r0, #1
+    1120:	9002		str	r0, [sp, #8]
+    1122:	9902		ldr	r1, [sp, #8]
+    1124:	4668		mov	r0, sp
+    1126:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1128:	4281		cmp	r1, r0
+    112a:	dbde		blt	0x10ea
+    112c:	e04a		b	0x11c4
+    112e:	9804		ldr	r0, [sp, #16]	; 0x10
+    1130:	3002		add	r0, #2
+    1132:	9004		str	r0, [sp, #16]	; 0x10
+    1134:	9800		ldr	r0, [sp, #0]
+    1136:	7801		ldrb	r1, [r0, #0]
+    1138:	3001		add	r0, #1
+    113a:	9000		str	r0, [sp, #0]
+    113c:	4668		mov	r0, sp
+    113e:	8501		strh	r1, [r0, #40]	; 0x28
+    1140:	9800		ldr	r0, [sp, #0]
+    1142:	7801		ldrb	r1, [r0, #0]
+    1144:	3001		add	r0, #1
+    1146:	9000		str	r0, [sp, #0]
+    1148:	4668		mov	r0, sp
+    114a:	8541		strh	r1, [r0, #42]	; 0x2a
+    114c:	8d41		ldrh	r1, [r0, #42]	; 0x2a
+    114e:	8d00		ldrh	r0, [r0, #40]	; 0x28
+    1150:	0200		lsl	r0, r0, #8
+    1152:	1809		add	r1, r1, r0
+    1154:	9801		ldr	r0, [sp, #4]
+    1156:	8081		strh	r1, [r0, #4]
+    1158:	9804		ldr	r0, [sp, #16]	; 0x10
+    115a:	3002		add	r0, #2
+    115c:	9004		str	r0, [sp, #16]	; 0x10
+    115e:	9800		ldr	r0, [sp, #0]
+    1160:	7801		ldrb	r1, [r0, #0]
+    1162:	3001		add	r0, #1
+    1164:	9000		str	r0, [sp, #0]
+    1166:	4668		mov	r0, sp
+    1168:	8581		strh	r1, [r0, #44]	; 0x2c
+    116a:	9800		ldr	r0, [sp, #0]
+    116c:	7801		ldrb	r1, [r0, #0]
+    116e:	3001		add	r0, #1
+    1170:	9000		str	r0, [sp, #0]
+    1172:	4668		mov	r0, sp
+    1174:	85c1		strh	r1, [r0, #46]	; 0x2e
+    1176:	8dc1		ldrh	r1, [r0, #46]	; 0x2e
+    1178:	8d80		ldrh	r0, [r0, #44]	; 0x2c
+    117a:	0200		lsl	r0, r0, #8
+    117c:	1808		add	r0, r1, r0
+    117e:	9901		ldr	r1, [sp, #4]
+    1180:	80c8		strh	r0, [r1, #6]
+    1182:	e01f		b	0x11c4
+    1184:	2008		mov	r0, #8
+    1186:	e77e		b	0x1086
+    1188:	9801		ldr	r0, [sp, #4]
+    118a:	7801		ldrb	r1, [r0, #0]
+    118c:	290a		cmp	r1, #10	; 0xa
+    118e:	d8f9		bhi	0x1184
+    1190:	a001		add	r0, pc, #4
+    1192:	0089		lsl	r1, r1, #2
+    1194:	5840		ldr	r0, [r0, r1]
+    1196:	4687		mov	pc, r0
+    1198:	11c4		asr	r4, r0, #7
+    119a:	0000		lsl	r0, r0, #0
+    119c:	11c4		asr	r4, r0, #7
+    119e:	0000		lsl	r0, r0, #0
+    11a0:	11c4		asr	r4, r0, #7
+    11a2:	0000		lsl	r0, r0, #0
+    11a4:	11c4		asr	r4, r0, #7
+    11a6:	0000		lsl	r0, r0, #0
+    11a8:	11c4		asr	r4, r0, #7
+    11aa:	0000		lsl	r0, r0, #0
+    11ac:	11c4		asr	r4, r0, #7
+    11ae:	0000		lsl	r0, r0, #0
+    11b0:	11c4		asr	r4, r0, #7
+    11b2:	0000		lsl	r0, r0, #0
+    11b4:	1036		asr	r6, r6, #32
+    11b6:	0000		lsl	r0, r0, #0
+    11b8:	108a		asr	r2, r1, #2
+    11ba:	0000		lsl	r0, r0, #0
+    11bc:	11c4		asr	r4, r0, #7
+    11be:	0000		lsl	r0, r0, #0
+    11c0:	112e		asr	r6, r5, #4
+    11c2:	0000		lsl	r0, r0, #0
+    11c4:	9905		ldr	r1, [sp, #20]	; 0x14
+    11c6:	9804		ldr	r0, [sp, #16]	; 0x10
+    11c8:	4281		cmp	r1, r0
+    11ca:	d001		beq	0x11d0
+    11cc:	2004		mov	r0, #4
+    11ce:	9003		str	r0, [sp, #12]	; 0xc
+    11d0:	9803		ldr	r0, [sp, #12]	; 0xc
+    11d2:	b00c		add	sp, #48	; 0x30
+    11d4:	4770		bx	lr
+    11d6:	b089		sub	sp, #36	; 0x24
+    11d8:	9101		str	r1, [sp, #4]
+    11da:	9000		str	r0, [sp, #0]
+    11dc:	2000		mov	r0, #0
+    11de:	9003		str	r0, [sp, #12]	; 0xc
+    11e0:	9801		ldr	r0, [sp, #4]
+    11e2:	1c41		add	r1, r0, #1
+    11e4:	9101		str	r1, [sp, #4]
+    11e6:	9005		str	r0, [sp, #20]	; 0x14
+    11e8:	9801		ldr	r0, [sp, #4]
+    11ea:	1c41		add	r1, r0, #1
+    11ec:	9101		str	r1, [sp, #4]
+    11ee:	9900		ldr	r1, [sp, #0]
+    11f0:	7809		ldrb	r1, [r1, #0]
+    11f2:	7001		strb	r1, [r0, #0]
+    11f4:	4669		mov	r1, sp
+    11f6:	2001		mov	r0, #1
+    11f8:	7408		strb	r0, [r1, #16]	; 0x10
+    11fa:	9801		ldr	r0, [sp, #4]
+    11fc:	1c41		add	r1, r0, #1
+    11fe:	9101		str	r1, [sp, #4]
+    1200:	9900		ldr	r1, [sp, #0]
+    1202:	7849		ldrb	r1, [r1, #1]
+    1204:	7001		strb	r1, [r0, #0]
+    1206:	4669		mov	r1, sp
+    1208:	4668		mov	r0, sp
+    120a:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    120c:	3001		add	r0, #1
+    120e:	7408		strb	r0, [r1, #16]	; 0x10
+    1210:	e0e4		b	0x13dc
+    1212:	9800		ldr	r0, [sp, #0]
+    1214:	7840		ldrb	r0, [r0, #1]
+    1216:	2800		cmp	r0, #0
+    1218:	d000		beq	0x121c
+    121a:	e0fd		b	0x1418
+    121c:	9801		ldr	r0, [sp, #4]
+    121e:	1c41		add	r1, r0, #1
+    1220:	9101		str	r1, [sp, #4]
+    1222:	9900		ldr	r1, [sp, #0]
+    1224:	7909		ldrb	r1, [r1, #4]
+    1226:	7001		strb	r1, [r0, #0]
+    1228:	9801		ldr	r0, [sp, #4]
+    122a:	1c41		add	r1, r0, #1
+    122c:	9101		str	r1, [sp, #4]
+    122e:	9900		ldr	r1, [sp, #0]
+    1230:	7949		ldrb	r1, [r1, #5]
+    1232:	7001		strb	r1, [r0, #0]
+    1234:	9801		ldr	r0, [sp, #4]
+    1236:	1c41		add	r1, r0, #1
+    1238:	9101		str	r1, [sp, #4]
+    123a:	9900		ldr	r1, [sp, #0]
+    123c:	7989		ldrb	r1, [r1, #6]
+    123e:	7001		strb	r1, [r0, #0]
+    1240:	4668		mov	r0, sp
+    1242:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1244:	3003		add	r0, #3
+    1246:	4669		mov	r1, sp
+    1248:	7408		strb	r0, [r1, #16]	; 0x10
+    124a:	e0e5		b	0x1418
+    124c:	9800		ldr	r0, [sp, #0]
+    124e:	7840		ldrb	r0, [r0, #1]
+    1250:	2800		cmp	r0, #0
+    1252:	d000		beq	0x1256
+    1254:	e0e0		b	0x1418
+    1256:	9801		ldr	r0, [sp, #4]
+    1258:	1c41		add	r1, r0, #1
+    125a:	9101		str	r1, [sp, #4]
+    125c:	9900		ldr	r1, [sp, #0]
+    125e:	7909		ldrb	r1, [r1, #4]
+    1260:	7001		strb	r1, [r0, #0]
+    1262:	4668		mov	r0, sp
+    1264:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1266:	3001		add	r0, #1
+    1268:	e7ed		b	0x1246
+    126a:	9800		ldr	r0, [sp, #0]
+    126c:	7840		ldrb	r0, [r0, #1]
+    126e:	2800		cmp	r0, #0
+    1270:	d000		beq	0x1274
+    1272:	e0d1		b	0x1418
+    1274:	e7ef		b	0x1256
+    1276:	9800		ldr	r0, [sp, #0]
+    1278:	7840		ldrb	r0, [r0, #1]
+    127a:	2800		cmp	r0, #0
+    127c:	d000		beq	0x1280
+    127e:	e0cb		b	0x1418
+    1280:	e7e9		b	0x1256
+    1282:	9800		ldr	r0, [sp, #0]
+    1284:	7840		ldrb	r0, [r0, #1]
+    1286:	2800		cmp	r0, #0
+    1288:	d000		beq	0x128c
+    128a:	e0c5		b	0x1418
+    128c:	4669		mov	r1, sp
+    128e:	9800		ldr	r0, [sp, #0]
+    1290:	8880		ldrh	r0, [r0, #4]
+    1292:	8408		strh	r0, [r1, #32]	; 0x20
+    1294:	9801		ldr	r0, [sp, #4]
+    1296:	1c41		add	r1, r0, #1
+    1298:	9101		str	r1, [sp, #4]
+    129a:	4669		mov	r1, sp
+    129c:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    129e:	0409		lsl	r1, r1, #16
+    12a0:	0e09		lsr	r1, r1, #24
+    12a2:	0209		lsl	r1, r1, #8
+    12a4:	1209		asr	r1, r1, #8
+    12a6:	7001		strb	r1, [r0, #0]
+    12a8:	9801		ldr	r0, [sp, #4]
+    12aa:	1c41		add	r1, r0, #1
+    12ac:	9101		str	r1, [sp, #4]
+    12ae:	4669		mov	r1, sp
+    12b0:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    12b2:	0609		lsl	r1, r1, #24
+    12b4:	0e09		lsr	r1, r1, #24
+    12b6:	7001		strb	r1, [r0, #0]
+    12b8:	4669		mov	r1, sp
+    12ba:	9800		ldr	r0, [sp, #0]
+    12bc:	88c0		ldrh	r0, [r0, #6]
+    12be:	8408		strh	r0, [r1, #32]	; 0x20
+    12c0:	9801		ldr	r0, [sp, #4]
+    12c2:	1c41		add	r1, r0, #1
+    12c4:	9101		str	r1, [sp, #4]
+    12c6:	4669		mov	r1, sp
+    12c8:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    12ca:	0409		lsl	r1, r1, #16
+    12cc:	0e09		lsr	r1, r1, #24
+    12ce:	0209		lsl	r1, r1, #8
+    12d0:	1209		asr	r1, r1, #8
+    12d2:	7001		strb	r1, [r0, #0]
+    12d4:	9801		ldr	r0, [sp, #4]
+    12d6:	1c41		add	r1, r0, #1
+    12d8:	9101		str	r1, [sp, #4]
+    12da:	4669		mov	r1, sp
+    12dc:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    12de:	0609		lsl	r1, r1, #24
+    12e0:	0e09		lsr	r1, r1, #24
+    12e2:	7001		strb	r1, [r0, #0]
+    12e4:	4668		mov	r0, sp
+    12e6:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    12e8:	3004		add	r0, #4
+    12ea:	e7ac		b	0x1246
+    12ec:	9800		ldr	r0, [sp, #0]
+    12ee:	7840		ldrb	r0, [r0, #1]
+    12f0:	2800		cmp	r0, #0
+    12f2:	d000		beq	0x12f6
+    12f4:	e090		b	0x1418
+    12f6:	e7ae		b	0x1256
+    12f8:	9800		ldr	r0, [sp, #0]
+    12fa:	7840		ldrb	r0, [r0, #1]
+    12fc:	2800		cmp	r0, #0
+    12fe:	d000		beq	0x1302
+    1300:	e08a		b	0x1418
+    1302:	4669		mov	r1, sp
+    1304:	4668		mov	r0, sp
+    1306:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1308:	3001		add	r0, #1
+    130a:	7408		strb	r0, [r1, #16]	; 0x10
+    130c:	4668		mov	r0, sp
+    130e:	9900		ldr	r1, [sp, #0]
+    1310:	7909		ldrb	r1, [r1, #4]
+    1312:	7601		strb	r1, [r0, #24]	; 0x18
+    1314:	9801		ldr	r0, [sp, #4]
+    1316:	1c41		add	r1, r0, #1
+    1318:	9101		str	r1, [sp, #4]
+    131a:	4669		mov	r1, sp
+    131c:	7e09		ldrb	r1, [r1, #24]	; 0x18
+    131e:	7001		strb	r1, [r0, #0]
+    1320:	4668		mov	r0, sp
+    1322:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1324:	2840		cmp	r0, #64	; 0x40
+    1326:	dd01		ble	0x132c
+    1328:	2004		mov	r0, #4
+    132a:	e055		b	0x13d8
+    132c:	9800		ldr	r0, [sp, #0]
+    132e:	3006		add	r0, #6
+    1330:	9007		str	r0, [sp, #28]	; 0x1c
+    1332:	2000		mov	r0, #0
+    1334:	9002		str	r0, [sp, #8]
+    1336:	9902		ldr	r1, [sp, #8]
+    1338:	4668		mov	r0, sp
+    133a:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    133c:	4281		cmp	r1, r0
+    133e:	da6b		bge	0x1418
+    1340:	9801		ldr	r0, [sp, #4]
+    1342:	1c41		add	r1, r0, #1
+    1344:	9101		str	r1, [sp, #4]
+    1346:	9907		ldr	r1, [sp, #28]	; 0x1c
+    1348:	8809		ldrh	r1, [r1, #0]
+    134a:	0409		lsl	r1, r1, #16
+    134c:	0e09		lsr	r1, r1, #24
+    134e:	0209		lsl	r1, r1, #8
+    1350:	1209		asr	r1, r1, #8
+    1352:	7001		strb	r1, [r0, #0]
+    1354:	9807		ldr	r0, [sp, #28]	; 0x1c
+    1356:	8801		ldrh	r1, [r0, #0]
+    1358:	3002		add	r0, #2
+    135a:	9007		str	r0, [sp, #28]	; 0x1c
+    135c:	0608		lsl	r0, r1, #24
+    135e:	0e01		lsr	r1, r0, #24
+    1360:	9801		ldr	r0, [sp, #4]
+    1362:	1c42		add	r2, r0, #1
+    1364:	9201		str	r2, [sp, #4]
+    1366:	7001		strb	r1, [r0, #0]
+    1368:	4669		mov	r1, sp
+    136a:	4668		mov	r0, sp
+    136c:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    136e:	3002		add	r0, #2
+    1370:	7408		strb	r0, [r1, #16]	; 0x10
+    1372:	9802		ldr	r0, [sp, #8]
+    1374:	3001		add	r0, #1
+    1376:	9002		str	r0, [sp, #8]
+    1378:	9902		ldr	r1, [sp, #8]
+    137a:	4668		mov	r0, sp
+    137c:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    137e:	4281		cmp	r1, r0
+    1380:	dbde		blt	0x1340
+    1382:	e049		b	0x1418
+    1384:	9800		ldr	r0, [sp, #0]
+    1386:	7840		ldrb	r0, [r0, #1]
+    1388:	2800		cmp	r0, #0
+    138a:	d145		bne	0x1418
+    138c:	4669		mov	r1, sp
+    138e:	9800		ldr	r0, [sp, #0]
+    1390:	8880		ldrh	r0, [r0, #4]
+    1392:	8408		strh	r0, [r1, #32]	; 0x20
+    1394:	9801		ldr	r0, [sp, #4]
+    1396:	1c41		add	r1, r0, #1
+    1398:	9101		str	r1, [sp, #4]
+    139a:	4669		mov	r1, sp
+    139c:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    139e:	0409		lsl	r1, r1, #16
+    13a0:	0e09		lsr	r1, r1, #24
+    13a2:	0209		lsl	r1, r1, #8
+    13a4:	1209		asr	r1, r1, #8
+    13a6:	7001		strb	r1, [r0, #0]
+    13a8:	9801		ldr	r0, [sp, #4]
+    13aa:	1c41		add	r1, r0, #1
+    13ac:	9101		str	r1, [sp, #4]
+    13ae:	4669		mov	r1, sp
+    13b0:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    13b2:	0609		lsl	r1, r1, #24
+    13b4:	0e09		lsr	r1, r1, #24
+    13b6:	7001		strb	r1, [r0, #0]
+    13b8:	4668		mov	r0, sp
+    13ba:	9900		ldr	r1, [sp, #0]
+    13bc:	88c9		ldrh	r1, [r1, #6]
+    13be:	8401		strh	r1, [r0, #32]	; 0x20
+    13c0:	9901		ldr	r1, [sp, #4]
+    13c2:	1c48		add	r0, r1, #1
+    13c4:	9001		str	r0, [sp, #4]
+    13c6:	4668		mov	r0, sp
+    13c8:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    13ca:	0400		lsl	r0, r0, #16
+    13cc:	0e00		lsr	r0, r0, #24
+    13ce:	0200		lsl	r0, r0, #8
+    13d0:	1200		asr	r0, r0, #8
+    13d2:	7008		strb	r0, [r1, #0]
+    13d4:	e77e		b	0x12d4
+    13d6:	2008		mov	r0, #8
+    13d8:	9003		str	r0, [sp, #12]	; 0xc
+    13da:	e01d		b	0x1418
+    13dc:	9800		ldr	r0, [sp, #0]
+    13de:	7800		ldrb	r0, [r0, #0]
+    13e0:	280a		cmp	r0, #10	; 0xa
+    13e2:	d8f8		bhi	0x13d6
+    13e4:	a101		add	r1, pc, #4
+    13e6:	0080		lsl	r0, r0, #2
+    13e8:	5808		ldr	r0, [r1, r0]
+    13ea:	4687		mov	pc, r0
+    13ec:	1212		asr	r2, r2, #8
+    13ee:	0000		lsl	r0, r0, #0
+    13f0:	124c		asr	r4, r1, #9
+    13f2:	0000		lsl	r0, r0, #0
+    13f4:	126a		asr	r2, r5, #9
+    13f6:	0000		lsl	r0, r0, #0
+    13f8:	1276		asr	r6, r6, #9
+    13fa:	0000		lsl	r0, r0, #0
+    13fc:	1418		asr	r0, r3, #16
+    13fe:	0000		lsl	r0, r0, #0
+    1400:	1282		asr	r2, r0, #10
+    1402:	0000		lsl	r0, r0, #0
+    1404:	12ec		asr	r4, r5, #11
+    1406:	0000		lsl	r0, r0, #0
+    1408:	12f8		asr	r0, r7, #11
+    140a:	0000		lsl	r0, r0, #0
+    140c:	1418		asr	r0, r3, #16
+    140e:	0000		lsl	r0, r0, #0
+    1410:	1384		asr	r4, r0, #14
+    1412:	0000		lsl	r0, r0, #0
+    1414:	1418		asr	r0, r3, #16
+    1416:	0000		lsl	r0, r0, #0
+    1418:	9805		ldr	r0, [sp, #20]	; 0x14
+    141a:	4669		mov	r1, sp
+    141c:	7c09		ldrb	r1, [r1, #16]	; 0x10
+    141e:	7001		strb	r1, [r0, #0]
+    1420:	9803		ldr	r0, [sp, #12]	; 0xc
+    1422:	b009		add	sp, #36	; 0x24
+    1424:	4770		bx	lr
+    1426:	0000		lsl	r0, r0, #0
+    1428:	b500		push	{lr}
+    142a:	b083		sub	sp, #12	; 0xc
+    142c:	9101		str	r1, [sp, #4]
+    142e:	4669		mov	r1, sp
+    1430:	7008		strb	r0, [r1, #0]
+    1432:	2000		mov	r0, #0
+    1434:	9002		str	r0, [sp, #8]
+    1436:	e073		b	0x1520
+    1438:	4668		mov	r0, sp
+    143a:	7800		ldrb	r0, [r0, #0]
+    143c:	28aa		cmp	r0, #170	; 0xaa
+    143e:	d106		bne	0x144e
+    1440:	4965		ldr	r1, =0x83ff10	; via 0x15d8
+    1442:	4865		ldr	r0, =0x83ff10	; via 0x15d8
+    1444:	6800		ldr	r0, [r0, #0]
+    1446:	3001		add	r0, #1
+    1448:	07c0		lsl	r0, r0, #31
+    144a:	0fc0		lsr	r0, r0, #31
+    144c:	e013		b	0x1476
+    144e:	4862		ldr	r0, =0x83ff10	; via 0x15d8
+    1450:	6800		ldr	r0, [r0, #0]
+    1452:	2800		cmp	r0, #0
+    1454:	d06b		beq	0x152e
+    1456:	4961		ldr	r1, =0x83ff04	; via 0x15dc
+    1458:	9801		ldr	r0, [sp, #4]
+    145a:	3001		add	r0, #1
+    145c:	6008		str	r0, [r1, #0]
+    145e:	4960		ldr	r1, =0x83ff0e	; via 0x15e0
+    1460:	2000		mov	r0, #0
+    1462:	7008		strb	r0, [r1, #0]
+    1464:	495f		ldr	r1, =0x83ff0c	; via 0x15e4
+    1466:	4668		mov	r0, sp
+    1468:	7800		ldrb	r0, [r0, #0]
+    146a:	8008		strh	r0, [r1, #0]
+    146c:	495a		ldr	r1, =0x83ff10	; via 0x15d8
+    146e:	2000		mov	r0, #0
+    1470:	6008		str	r0, [r1, #0]
+    1472:	495d		ldr	r1, =0x83ff08	; via 0x15e8
+    1474:	2001		mov	r0, #1
+    1476:	6008		str	r0, [r1, #0]
+    1478:	e059		b	0x152e
+    147a:	4668		mov	r0, sp
+    147c:	7800		ldrb	r0, [r0, #0]
+    147e:	28aa		cmp	r0, #170	; 0xaa
+    1480:	d113		bne	0x14aa
+    1482:	4855		ldr	r0, =0x83ff10	; via 0x15d8
+    1484:	6800		ldr	r0, [r0, #0]
+    1486:	2800		cmp	r0, #0
+    1488:	d00b		beq	0x14a2
+    148a:	4954		ldr	r1, =0x83ff04	; via 0x15dc
+    148c:	6808		ldr	r0, [r1, #0]
+    148e:	1c42		add	r2, r0, #1
+    1490:	600a		str	r2, [r1, #0]
+    1492:	4669		mov	r1, sp
+    1494:	7809		ldrb	r1, [r1, #0]
+    1496:	7001		strb	r1, [r0, #0]
+    1498:	4951		ldr	r1, =0x83ff0e	; via 0x15e0
+    149a:	7808		ldrb	r0, [r1, #0]
+    149c:	3001		add	r0, #1
+    149e:	7008		strb	r0, [r1, #0]
+    14a0:	e013		b	0x14ca
+    14a2:	2101		mov	r1, #1
+    14a4:	484c		ldr	r0, =0x83ff10	; via 0x15d8
+    14a6:	6001		str	r1, [r0, #0]
+    14a8:	e01c		b	0x14e4
+    14aa:	484b		ldr	r0, =0x83ff10	; via 0x15d8
+    14ac:	6800		ldr	r0, [r0, #0]
+    14ae:	2800		cmp	r0, #0
+    14b0:	d00d		beq	0x14ce
+    14b2:	494a		ldr	r1, =0x83ff04	; via 0x15dc
+    14b4:	9801		ldr	r0, [sp, #4]
+    14b6:	3001		add	r0, #1
+    14b8:	6008		str	r0, [r1, #0]
+    14ba:	4849		ldr	r0, =0x83ff0e	; via 0x15e0
+    14bc:	2100		mov	r1, #0
+    14be:	7001		strb	r1, [r0, #0]
+    14c0:	4948		ldr	r1, =0x83ff0c	; via 0x15e4
+    14c2:	4668		mov	r0, sp
+    14c4:	7800		ldrb	r0, [r0, #0]
+    14c6:	3001		add	r0, #1
+    14c8:	8008		strh	r0, [r1, #0]
+    14ca:	2100		mov	r1, #0
+    14cc:	e7ea		b	0x14a4
+    14ce:	4843		ldr	r0, =0x83ff04	; via 0x15dc
+    14d0:	6801		ldr	r1, [r0, #0]
+    14d2:	1c4a		add	r2, r1, #1
+    14d4:	6002		str	r2, [r0, #0]
+    14d6:	4668		mov	r0, sp
+    14d8:	7800		ldrb	r0, [r0, #0]
+    14da:	7008		strb	r0, [r1, #0]
+    14dc:	4940		ldr	r1, =0x83ff0e	; via 0x15e0
+    14de:	7808		ldrb	r0, [r1, #0]
+    14e0:	3001		add	r0, #1
+    14e2:	7008		strb	r0, [r1, #0]
+    14e4:	483f		ldr	r0, =0x83ff0c	; via 0x15e4
+    14e6:	8801		ldrh	r1, [r0, #0]
+    14e8:	3901		sub	r1, #1
+    14ea:	8001		strh	r1, [r0, #0]
+    14ec:	483d		ldr	r0, =0x83ff0c	; via 0x15e4
+    14ee:	8800		ldrh	r0, [r0, #0]
+    14f0:	2800		cmp	r0, #0
+    14f2:	d11c		bne	0x152e
+    14f4:	9901		ldr	r1, [sp, #4]
+    14f6:	483a		ldr	r0, =0x83ff0e	; via 0x15e0
+    14f8:	7800		ldrb	r0, [r0, #0]
+    14fa:	7008		strb	r0, [r1, #0]
+    14fc:	2001		mov	r0, #1
+    14fe:	9002		str	r0, [sp, #8]
+    1500:	4839		ldr	r0, =0x83ff08	; via 0x15e8
+    1502:	2100		mov	r1, #0
+    1504:	6001		str	r1, [r0, #0]
+    1506:	4834		ldr	r0, =0x83ff10	; via 0x15d8
+    1508:	6001		str	r1, [r0, #0]
+    150a:	9801		ldr	r0, [sp, #4]
+    150c:	7800		ldrb	r0, [r0, #0]
+    150e:	2801		cmp	r0, #1
+    1510:	d10d		bne	0x152e
+    1512:	9801		ldr	r0, [sp, #4]
+    1514:	7840		ldrb	r0, [r0, #1]
+    1516:	28dd		cmp	r0, #221	; 0xdd
+    1518:	d109		bne	0x152e
+    151a:	f7ff fb03	bl	0xb24
+    151e:	e006		b	0x152e
+    1520:	4831		ldr	r0, =0x83ff08	; via 0x15e8
+    1522:	6800		ldr	r0, [r0, #0]
+    1524:	2800		cmp	r0, #0
+    1526:	d087		beq	0x1438
+    1528:	3801		sub	r0, #1
+    152a:	2800		cmp	r0, #0
+    152c:	d0a5		beq	0x147a
+    152e:	9802		ldr	r0, [sp, #8]
+    1530:	b003		add	sp, #12	; 0xc
+    1532:	bd00		pop	{pc}
+    1534:	b086		sub	sp, #24	; 0x18
+    1536:	9202		str	r2, [sp, #8]
+    1538:	9101		str	r1, [sp, #4]
+    153a:	9000		str	r0, [sp, #0]
+    153c:	9801		ldr	r0, [sp, #4]
+    153e:	3001		add	r0, #1
+    1540:	9004		str	r0, [sp, #16]	; 0x10
+    1542:	9800		ldr	r0, [sp, #0]
+    1544:	1c41		add	r1, r0, #1
+    1546:	9100		str	r1, [sp, #0]
+    1548:	9005		str	r0, [sp, #20]	; 0x14
+    154a:	9901		ldr	r1, [sp, #4]
+    154c:	20aa		mov	r0, #170	; 0xaa
+    154e:	7008		strb	r0, [r1, #0]
+    1550:	9801		ldr	r0, [sp, #4]
+    1552:	3002		add	r0, #2
+    1554:	9001		str	r0, [sp, #4]
+    1556:	9902		ldr	r1, [sp, #8]
+    1558:	2000		mov	r0, #0
+    155a:	8008		strh	r0, [r1, #0]
+    155c:	4669		mov	r1, sp
+    155e:	8188		strh	r0, [r1, #12]	; 0xc
+    1560:	4668		mov	r0, sp
+    1562:	8981		ldrh	r1, [r0, #12]	; 0xc
+    1564:	9805		ldr	r0, [sp, #20]	; 0x14
+    1566:	7800		ldrb	r0, [r0, #0]
+    1568:	4281		cmp	r1, r0
+    156a:	da23		bge	0x15b4
+    156c:	9800		ldr	r0, [sp, #0]
+    156e:	7800		ldrb	r0, [r0, #0]
+    1570:	28aa		cmp	r0, #170	; 0xaa
+    1572:	d108		bne	0x1586
+    1574:	9801		ldr	r0, [sp, #4]
+    1576:	1c41		add	r1, r0, #1
+    1578:	9101		str	r1, [sp, #4]
+    157a:	21aa		mov	r1, #170	; 0xaa
+    157c:	7001		strb	r1, [r0, #0]
+    157e:	9902		ldr	r1, [sp, #8]
+    1580:	8808		ldrh	r0, [r1, #0]
+    1582:	3001		add	r0, #1
+    1584:	8008		strh	r0, [r1, #0]
+    1586:	9800		ldr	r0, [sp, #0]
+    1588:	7801		ldrb	r1, [r0, #0]
+    158a:	3001		add	r0, #1
+    158c:	9000		str	r0, [sp, #0]
+    158e:	9801		ldr	r0, [sp, #4]
+    1590:	1c42		add	r2, r0, #1
+    1592:	9201		str	r2, [sp, #4]
+    1594:	7001		strb	r1, [r0, #0]
+    1596:	9902		ldr	r1, [sp, #8]
+    1598:	8808		ldrh	r0, [r1, #0]
+    159a:	3001		add	r0, #1
+    159c:	8008		strh	r0, [r1, #0]
+    159e:	4669		mov	r1, sp
+    15a0:	4668		mov	r0, sp
+    15a2:	8980		ldrh	r0, [r0, #12]	; 0xc
+    15a4:	3001		add	r0, #1
+    15a6:	8188		strh	r0, [r1, #12]	; 0xc
+    15a8:	4668		mov	r0, sp
+    15aa:	8980		ldrh	r0, [r0, #12]	; 0xc
+    15ac:	9905		ldr	r1, [sp, #20]	; 0x14
+    15ae:	7809		ldrb	r1, [r1, #0]
+    15b0:	4288		cmp	r0, r1
+    15b2:	dbdb		blt	0x156c
+    15b4:	9904		ldr	r1, [sp, #16]	; 0x10
+    15b6:	9802		ldr	r0, [sp, #8]
+    15b8:	7800		ldrb	r0, [r0, #0]
+    15ba:	7008		strb	r0, [r1, #0]
+    15bc:	9902		ldr	r1, [sp, #8]
+    15be:	8808		ldrh	r0, [r1, #0]
+    15c0:	3002		add	r0, #2
+    15c2:	8008		strh	r0, [r1, #0]
+    15c4:	b006		add	sp, #24	; 0x18
+    15c6:	4770		bx	lr
+
+; function zeroes out IRAM word vars at 0x83ff08 and 0x83ff10
+    15c8:	4907		ldr	r1, =0x83ff08	; via 0x15e8
+    15ca:	2000		mov	r0, #0
+    15cc:	6008		str	r0, [r1, #0]
+    15ce:	4802		ldr	r0, =0x83ff10	; via 0x15d8
+    15d0:	2100		mov	r1, #0
+    15d2:	6001		str	r1, [r0, #0]
+    15d4:	4770		bx	lr
+    15d6:	46c0		nop			(mov r8, r8)
+
+    15d8:	0083ff10
+    15dc:	0083ff04
+    15e0:	0083ff0e
+    15e4:	0083ff0c
+    15e8:	0083ff08
+
+    15ec:	b082		sub	sp, #8
+    15ee:	9101		str	r1, [sp, #4]
+    15f0:	9000		str	r0, [sp, #0]
+    15f2:	9901		ldr	r1, [sp, #4]
+    15f4:	2000		mov	r0, #0
+    15f6:	7008		strb	r0, [r1, #0]
+    15f8:	9801		ldr	r0, [sp, #4]
+    15fa:	2100		mov	r1, #0
+    15fc:	7041		strb	r1, [r0, #1]
+    15fe:	9801		ldr	r0, [sp, #4]
+    1600:	2102		mov	r1, #2
+    1602:	7101		strb	r1, [r0, #4]
+    1604:	9801		ldr	r0, [sp, #4]
+    1606:	2106		mov	r1, #6
+    1608:	7141		strb	r1, [r0, #5]
+    160a:	9801		ldr	r0, [sp, #4]
+    160c:	2102		mov	r1, #2
+    160e:	7181		strb	r1, [r0, #6]
+    1610:	b002		add	sp, #8
+    1612:	4770		bx	lr
+
+    1614:	b500		push	{lr}
+    1616:	b084		sub	sp, #16	; 0x10
+    1618:	466b		mov	r3, sp
+    161a:	721a		strb	r2, [r3, #8]
+    161c:	9101		str	r1, [sp, #4]
+    161e:	9000		str	r0, [sp, #0]
+    1620:	9901		ldr	r1, [sp, #4]
+    1622:	2009		mov	r0, #9
+    1624:	7008		strb	r0, [r1, #0]
+    1626:	e015		b	0x1654
+    1628:	9801		ldr	r0, [sp, #4]
+    162a:	2100		mov	r1, #0
+    162c:	7041		strb	r1, [r0, #1]
+    162e:	9901		ldr	r1, [sp, #4]
+    1630:	4668		mov	r0, sp
+    1632:	8940		ldrh	r0, [r0, #10]	; 0xa
+    1634:	8088		strh	r0, [r1, #4]
+    1636:	9901		ldr	r1, [sp, #4]
+    1638:	4668		mov	r0, sp
+    163a:	8980		ldrh	r0, [r0, #12]	; 0xc
+    163c:	80c8		strh	r0, [r1, #6]
+    163e:	e01e		b	0x167e
+    1640:	2101		mov	r1, #1
+    1642:	e004		b	0x164e
+    1644:	2103		mov	r1, #3
+    1646:	e002		b	0x164e
+    1648:	2105		mov	r1, #5
+    164a:	e000		b	0x164e
+    164c:	2106		mov	r1, #6
+    164e:	9801		ldr	r0, [sp, #4]
+    1650:	7041		strb	r1, [r0, #1]
+    1652:	e014		b	0x167e
+    1654:	200a		mov	r0, #10	; 0xa
+    1656:	4468		add	r0, sp
+    1658:	a903		add	r1, sp, #12	; 0xc
+    165a:	466a		mov	r2, sp
+    165c:	7a12		ldrb	r2, [r2, #8]
+    165e:	f000 fb71	bl	0x1d44
+    1662:	2800		cmp	r0, #0
+    1664:	d0e0		beq	0x1628
+    1666:	3801		sub	r0, #1
+    1668:	2800		cmp	r0, #0
+    166a:	d0e9		beq	0x1640
+    166c:	3801		sub	r0, #1
+    166e:	2800		cmp	r0, #0
+    1670:	d0e8		beq	0x1644
+    1672:	3801		sub	r0, #1
+    1674:	2800		cmp	r0, #0
+    1676:	d0e7		beq	0x1648
+    1678:	3801		sub	r0, #1
+    167a:	2800		cmp	r0, #0
+    167c:	d0e6		beq	0x164c
+    167e:	b004		add	sp, #16	; 0x10
+    1680:	bd00		pop	{pc}
+    1682:	b084		sub	sp, #16	; 0x10
+    1684:	9101		str	r1, [sp, #4]
+    1686:	9000		str	r0, [sp, #0]
+    1688:	9901		ldr	r1, [sp, #4]
+    168a:	200a		mov	r0, #10	; 0xa
+    168c:	7008		strb	r0, [r1, #0]
+    168e:	9801		ldr	r0, [sp, #4]
+    1690:	2100		mov	r1, #0
+    1692:	7041		strb	r1, [r0, #1]
+    1694:	4669		mov	r1, sp
+    1696:	9800		ldr	r0, [sp, #0]
+    1698:	8880		ldrh	r0, [r0, #4]
+    169a:	8108		strh	r0, [r1, #8]
+    169c:	9800		ldr	r0, [sp, #0]
+    169e:	88c0		ldrh	r0, [r0, #6]
+    16a0:	8148		strh	r0, [r1, #10]	; 0xa
+    16a2:	4668		mov	r0, sp
+    16a4:	8941		ldrh	r1, [r0, #10]	; 0xa
+    16a6:	8900		ldrh	r0, [r0, #8]
+    16a8:	0400		lsl	r0, r0, #16
+    16aa:	1808		add	r0, r1, r0
+    16ac:	9003		str	r0, [sp, #12]	; 0xc
+    16ae:	9803		ldr	r0, [sp, #12]	; 0xc
+    16b0:	b004		add	sp, #16	; 0x10
+    16b2:	4770		bx	lr
+    16b4:	b085		sub	sp, #20	; 0x14
+    16b6:	9303		str	r3, [sp, #12]	; 0xc
+    16b8:	9202		str	r2, [sp, #8]
+    16ba:	9101		str	r1, [sp, #4]
+    16bc:	4669		mov	r1, sp
+    16be:	7008		strb	r0, [r1, #0]
+    16c0:	48ea		ldr	r0, =0x83ff19	; via 0x1a6c
+    16c2:	7809		ldrb	r1, [r1, #0]
+    16c4:	7802		ldrb	r2, [r0, #0]
+    16c6:	1889		add	r1, r1, r2
+    16c8:	7001		strb	r1, [r0, #0]
+    16ca:	48e9		ldr	r0, =0x83ff1a	; via 0x1a70
+    16cc:	7800		ldrb	r0, [r0, #0]
+    16ce:	2800		cmp	r0, #0
+    16d0:	d00e		beq	0x16f0
+    16d2:	48e8		ldr	r0, =0x83ff26	; via 0x1a74
+    16d4:	4669		mov	r1, sp
+    16d6:	780a		ldrb	r2, [r1, #0]
+    16d8:	8801		ldrh	r1, [r0, #0]
+    16da:	1851		add	r1, r2, r1
+    16dc:	8001		strh	r1, [r0, #0]
+    16de:	9903		ldr	r1, [sp, #12]	; 0xc
+    16e0:	48e4		ldr	r0, =0x83ff26	; via 0x1a74
+    16e2:	8800		ldrh	r0, [r0, #0]
+    16e4:	8008		strh	r0, [r1, #0]
+    16e6:	9801		ldr	r0, [sp, #4]
+    16e8:	2100		mov	r1, #0
+    16ea:	6001		str	r1, [r0, #0]
+    16ec:	2000		mov	r0, #0
+    16ee:	e009		b	0x1704
+    16f0:	9902		ldr	r1, [sp, #8]
+    16f2:	6808		ldr	r0, [r1, #0]
+    16f4:	3002		add	r0, #2
+    16f6:	6008		str	r0, [r1, #0]
+    16f8:	49de		ldr	r1, =0x83ff26	; via 0x1a74
+    16fa:	4668		mov	r0, sp
+    16fc:	7800		ldrb	r0, [r0, #0]
+    16fe:	0200		lsl	r0, r0, #8
+    1700:	8008		strh	r0, [r1, #0]
+    1702:	2001		mov	r0, #1
+    1704:	9004		str	r0, [sp, #16]	; 0x10
+    1706:	2001		mov	r0, #1
+    1708:	49d9		ldr	r1, =0x83ff1a	; via 0x1a70
+    170a:	7809		ldrb	r1, [r1, #0]
+    170c:	4388		bic	r0, r1
+    170e:	49d8		ldr	r1, =0x83ff1a	; via 0x1a70
+    1710:	7008		strb	r0, [r1, #0]
+    1712:	48d9		ldr	r0, =0x83ff24	; via 0x1a78
+    1714:	7801		ldrb	r1, [r0, #0]
+    1716:	3901		sub	r1, #1
+    1718:	7001		strb	r1, [r0, #0]
+    171a:	48d7		ldr	r0, =0x83ff24	; via 0x1a78
+    171c:	7800		ldrb	r0, [r0, #0]
+    171e:	2800		cmp	r0, #0
+    1720:	d102		bne	0x1728
+    1722:	48d6		ldr	r0, =0x83ff20	; via 0x1a7c
+    1724:	2106		mov	r1, #6
+    1726:	6001		str	r1, [r0, #0]
+    1728:	9804		ldr	r0, [sp, #16]	; 0x10
+    172a:	b005		add	sp, #20	; 0x14
+    172c:	46f7		mov	pc, lr
+    172e:	b083		sub	sp, #12	; 0xc
+    1730:	9101		str	r1, [sp, #4]
+    1732:	4669		mov	r1, sp
+    1734:	7008		strb	r0, [r1, #0]
+    1736:	2001		mov	r0, #1
+    1738:	9002		str	r0, [sp, #8]
+    173a:	48d1		ldr	r0, =0x83ff1b	; via 0x1a80
+    173c:	7800		ldrb	r0, [r0, #0]
+    173e:	2800		cmp	r0, #0
+    1740:	d10a		bne	0x1758
+    1742:	4668		mov	r0, sp
+    1744:	7800		ldrb	r0, [r0, #0]
+    1746:	2853		cmp	r0, #83	; 0x53
+    1748:	d102		bne	0x1750
+    174a:	48cd		ldr	r0, =0x83ff1b	; via 0x1a80
+    174c:	2101		mov	r1, #1
+    174e:	e01a		b	0x1786
+    1750:	2101		mov	r1, #1
+    1752:	9801		ldr	r0, [sp, #4]
+    1754:	6001		str	r1, [r0, #0]
+    1756:	e03b		b	0x17d0
+    1758:	49c9		ldr	r1, =0x83ff1b	; via 0x1a80
+    175a:	2000		mov	r0, #0
+    175c:	7008		strb	r0, [r1, #0]
+    175e:	4668		mov	r0, sp
+    1760:	7800		ldrb	r0, [r0, #0]
+    1762:	2830		cmp	r0, #48	; 0x30
+    1764:	d111		bne	0x178a
+    1766:	48c7		ldr	r0, =0x83ff18	; via 0x1a84
+    1768:	7800		ldrb	r0, [r0, #0]
+    176a:	2800		cmp	r0, #0
+    176c:	d006		beq	0x177c
+    176e:	9901		ldr	r1, [sp, #4]
+    1770:	2001		mov	r0, #1
+    1772:	6008		str	r0, [r1, #0]
+    1774:	49c3		ldr	r1, =0x83ff18	; via 0x1a84
+    1776:	2000		mov	r0, #0
+    1778:	7008		strb	r0, [r1, #0]
+    177a:	e02a		b	0x17d2
+    177c:	48bf		ldr	r0, =0x83ff20	; via 0x1a7c
+    177e:	2102		mov	r1, #2
+    1780:	6001		str	r1, [r0, #0]
+    1782:	48ef		ldr	r0, =0x83ff1c	; via 0x1b40
+    1784:	2100		mov	r1, #0
+    1786:	7001		strb	r1, [r0, #0]
+    1788:	e024		b	0x17d4
+    178a:	4668		mov	r0, sp
+    178c:	7800		ldrb	r0, [r0, #0]
+    178e:	2833		cmp	r0, #51	; 0x33
+    1790:	d105		bne	0x179e
+    1792:	48bc		ldr	r0, =0x83ff18	; via 0x1a84
+    1794:	7800		ldrb	r0, [r0, #0]
+    1796:	2800		cmp	r0, #0
+    1798:	d0da		beq	0x1750
+    179a:	2004		mov	r0, #4
+    179c:	e00c		b	0x17b8
+    179e:	4668		mov	r0, sp
+    17a0:	7800		ldrb	r0, [r0, #0]
+    17a2:	2837		cmp	r0, #55	; 0x37
+    17a4:	d10e		bne	0x17c4
+    17a6:	48b7		ldr	r0, =0x83ff18	; via 0x1a84
+    17a8:	7800		ldrb	r0, [r0, #0]
+    17aa:	2800		cmp	r0, #0
+    17ac:	d103		bne	0x17b6
+    17ae:	9901		ldr	r1, [sp, #4]
+    17b0:	2001		mov	r0, #1
+    17b2:	6008		str	r0, [r1, #0]
+    17b4:	e00c		b	0x17d0
+    17b6:	2003		mov	r0, #3
+    17b8:	49b0		ldr	r1, =0x83ff20	; via 0x1a7c
+    17ba:	6008		str	r0, [r1, #0]
+    17bc:	2000		mov	r0, #0
+    17be:	49e0		ldr	r1, =0x83ff1c	; via 0x1b40
+    17c0:	7008		strb	r0, [r1, #0]
+    17c2:	e007		b	0x17d4
+    17c4:	9901		ldr	r1, [sp, #4]
+    17c6:	2001		mov	r0, #1
+    17c8:	6008		str	r0, [r1, #0]
+    17ca:	48ae		ldr	r0, =0x83ff18	; via 0x1a84
+    17cc:	2100		mov	r1, #0
+    17ce:	7001		strb	r1, [r0, #0]
+    17d0:	2000		mov	r0, #0
+    17d2:	9002		str	r0, [sp, #8]
+    17d4:	9802		ldr	r0, [sp, #8]
+    17d6:	b003		add	sp, #12	; 0xc
+    17d8:	46f7		mov	pc, lr
+    17da:	b083		sub	sp, #12	; 0xc
+    17dc:	9101		str	r1, [sp, #4]
+    17de:	4669		mov	r1, sp
+    17e0:	7008		strb	r0, [r1, #0]
+    17e2:	2001		mov	r0, #1
+    17e4:	9002		str	r0, [sp, #8]
+    17e6:	49d7		ldr	r1, =0x830	; via 0x1b44
+    17e8:	48d5		ldr	r0, =0x83ff1c	; via 0x1b40
+    17ea:	7800		ldrb	r0, [r0, #0]
+    17ec:	0080		lsl	r0, r0, #2
+    17ee:	5808		ldr	r0, [r1, r0]
+    17f0:	4669		mov	r1, sp
+    17f2:	7809		ldrb	r1, [r1, #0]
+    17f4:	4281		cmp	r1, r0
+    17f6:	d10d		bne	0x1814
+    17f8:	49d1		ldr	r1, =0x83ff1c	; via 0x1b40
+    17fa:	7808		ldrb	r0, [r1, #0]
+    17fc:	3001		add	r0, #1
+    17fe:	7008		strb	r0, [r1, #0]
+    1800:	48cf		ldr	r0, =0x83ff1c	; via 0x1b40
+    1802:	7800		ldrb	r0, [r0, #0]
+    1804:	2807		cmp	r0, #7
+    1806:	d10d		bne	0x1824
+    1808:	489c		ldr	r0, =0x83ff20	; via 0x1a7c
+    180a:	2101		mov	r1, #1
+    180c:	6001		str	r1, [r0, #0]
+    180e:	489d		ldr	r0, =0x83ff18	; via 0x1a84
+    1810:	7001		strb	r1, [r0, #0]
+    1812:	e007		b	0x1824
+    1814:	9801		ldr	r0, [sp, #4]
+    1816:	2101		mov	r1, #1
+    1818:	6001		str	r1, [r0, #0]
+    181a:	4998		ldr	r1, =0x83ff20	; via 0x1a7c
+    181c:	2001		mov	r0, #1
+    181e:	6008		str	r0, [r1, #0]
+    1820:	2000		mov	r0, #0
+    1822:	9002		str	r0, [sp, #8]
+    1824:	9802		ldr	r0, [sp, #8]
+    1826:	b003		add	sp, #12	; 0xc
+    1828:	46f7		mov	pc, lr
+    182a:	b083		sub	sp, #12	; 0xc
+    182c:	9101		str	r1, [sp, #4]
+    182e:	4669		mov	r1, sp
+    1830:	7008		strb	r0, [r1, #0]
+    1832:	2001		mov	r0, #1
+    1834:	9002		str	r0, [sp, #8]
+    1836:	49c4		ldr	r1, =0x84c	; via 0x1b48
+    1838:	48c1		ldr	r0, =0x83ff1c	; via 0x1b40
+    183a:	7800		ldrb	r0, [r0, #0]
+    183c:	0080		lsl	r0, r0, #2
+    183e:	5808		ldr	r0, [r1, r0]
+    1840:	4669		mov	r1, sp
+    1842:	7809		ldrb	r1, [r1, #0]
+    1844:	4281		cmp	r1, r0
+    1846:	d112		bne	0x186e
+    1848:	49bd		ldr	r1, =0x83ff1c	; via 0x1b40
+    184a:	7808		ldrb	r0, [r1, #0]
+    184c:	3001		add	r0, #1
+    184e:	7008		strb	r0, [r1, #0]
+    1850:	48bb		ldr	r0, =0x83ff1c	; via 0x1b40
+    1852:	7800		ldrb	r0, [r0, #0]
+    1854:	2806		cmp	r0, #6
+    1856:	d114		bne	0x1882
+    1858:	9801		ldr	r0, [sp, #4]
+    185a:	2102		mov	r1, #2
+    185c:	6001		str	r1, [r0, #0]
+    185e:	4887		ldr	r0, =0x83ff20	; via 0x1a7c
+    1860:	2101		mov	r1, #1
+    1862:	6001		str	r1, [r0, #0]
+    1864:	4887		ldr	r0, =0x83ff18	; via 0x1a84
+    1866:	2100		mov	r1, #0
+    1868:	7001		strb	r1, [r0, #0]
+    186a:	2000		mov	r0, #0
+    186c:	e008		b	0x1880
+    186e:	9801		ldr	r0, [sp, #4]
+    1870:	2101		mov	r1, #1
+    1872:	6001		str	r1, [r0, #0]
+    1874:	4981		ldr	r1, =0x83ff20	; via 0x1a7c
+    1876:	2001		mov	r0, #1
+    1878:	6008		str	r0, [r1, #0]
+    187a:	4982		ldr	r1, =0x83ff18	; via 0x1a84
+    187c:	2000		mov	r0, #0
+    187e:	7008		strb	r0, [r1, #0]
+    1880:	9002		str	r0, [sp, #8]
+    1882:	9802		ldr	r0, [sp, #8]
+    1884:	b003		add	sp, #12	; 0xc
+    1886:	46f7		mov	pc, lr
+    1888:	b081		sub	sp, #4
+    188a:	4669		mov	r1, sp
+    188c:	7008		strb	r0, [r1, #0]
+    188e:	497a		ldr	r1, =0x83ff24	; via 0x1a78
+    1890:	4668		mov	r0, sp
+    1892:	7800		ldrb	r0, [r0, #0]
+    1894:	3801		sub	r0, #1
+    1896:	7008		strb	r0, [r1, #0]
+    1898:	4874		ldr	r0, =0x83ff19	; via 0x1a6c
+    189a:	4669		mov	r1, sp
+    189c:	7809		ldrb	r1, [r1, #0]
+    189e:	7001		strb	r1, [r0, #0]
+    18a0:	48a7		ldr	r0, =0x83ff1c	; via 0x1b40
+    18a2:	2100		mov	r1, #0
+    18a4:	7001		strb	r1, [r0, #0]
+    18a6:	48e3		ldr	r0, =0x83ff14	; via 0x1c34
+    18a8:	6001		str	r1, [r0, #0]
+    18aa:	4874		ldr	r0, =0x83ff20	; via 0x1a7c
+    18ac:	2105		mov	r1, #5
+    18ae:	6001		str	r1, [r0, #0]
+    18b0:	b001		add	sp, #4
+    18b2:	46f7		mov	pc, lr
+    18b4:	b084		sub	sp, #16	; 0x10
+    18b6:	9202		str	r2, [sp, #8]
+    18b8:	9101		str	r1, [sp, #4]
+    18ba:	4669		mov	r1, sp
+    18bc:	7008		strb	r0, [r1, #0]
+    18be:	2001		mov	r0, #1
+    18c0:	9003		str	r0, [sp, #12]	; 0xc
+    18c2:	496d		ldr	r1, =0x83ff24	; via 0x1a78
+    18c4:	7808		ldrb	r0, [r1, #0]
+    18c6:	3801		sub	r0, #1
+    18c8:	7008		strb	r0, [r1, #0]
+    18ca:	486b		ldr	r0, =0x83ff24	; via 0x1a78
+    18cc:	7800		ldrb	r0, [r0, #0]
+    18ce:	2800		cmp	r0, #0
+    18d0:	d026		beq	0x1920
+    18d2:	4866		ldr	r0, =0x83ff19	; via 0x1a6c
+    18d4:	4669		mov	r1, sp
+    18d6:	780a		ldrb	r2, [r1, #0]
+    18d8:	7801		ldrb	r1, [r0, #0]
+    18da:	1851		add	r1, r2, r1
+    18dc:	7001		strb	r1, [r0, #0]
+    18de:	4998		ldr	r1, =0x83ff1c	; via 0x1b40
+    18e0:	7808		ldrb	r0, [r1, #0]
+    18e2:	3001		add	r0, #1
+    18e4:	7008		strb	r0, [r1, #0]
+    18e6:	49d3		ldr	r1, =0x83ff14	; via 0x1c34
+    18e8:	2204		mov	r2, #4
+    18ea:	4895		ldr	r0, =0x83ff1c	; via 0x1b40
+    18ec:	7800		ldrb	r0, [r0, #0]
+    18ee:	1a10		sub	r0, r2, r0
+    18f0:	00c2		lsl	r2, r0, #3
+    18f2:	4668		mov	r0, sp
+    18f4:	7800		ldrb	r0, [r0, #0]
+    18f6:	4090		lsl	r0, r2
+    18f8:	680a		ldr	r2, [r1, #0]
+    18fa:	1880		add	r0, r0, r2
+    18fc:	6008		str	r0, [r1, #0]
+    18fe:	4890		ldr	r0, =0x83ff1c	; via 0x1b40
+    1900:	7800		ldrb	r0, [r0, #0]
+    1902:	2804		cmp	r0, #4
+    1904:	d117		bne	0x1936
+    1906:	9902		ldr	r1, [sp, #8]
+    1908:	48ca		ldr	r0, =0x83ff14	; via 0x1c34
+    190a:	6800		ldr	r0, [r0, #0]
+    190c:	3802		sub	r0, #2
+    190e:	6008		str	r0, [r1, #0]
+    1910:	485a		ldr	r0, =0x83ff20	; via 0x1a7c
+    1912:	2100		mov	r1, #0
+    1914:	6001		str	r1, [r0, #0]
+    1916:	4856		ldr	r0, =0x83ff1a	; via 0x1a70
+    1918:	7001		strb	r1, [r0, #0]
+    191a:	4889		ldr	r0, =0x83ff1c	; via 0x1b40
+    191c:	7001		strb	r1, [r0, #0]
+    191e:	e00a		b	0x1936
+    1920:	9801		ldr	r0, [sp, #4]
+    1922:	2101		mov	r1, #1
+    1924:	6001		str	r1, [r0, #0]
+    1926:	4955		ldr	r1, =0x83ff20	; via 0x1a7c
+    1928:	2001		mov	r0, #1
+    192a:	6008		str	r0, [r1, #0]
+    192c:	4855		ldr	r0, =0x83ff18	; via 0x1a84
+    192e:	2100		mov	r1, #0
+    1930:	7001		strb	r1, [r0, #0]
+    1932:	2000		mov	r0, #0
+    1934:	9003		str	r0, [sp, #12]	; 0xc
+    1936:	9803		ldr	r0, [sp, #12]	; 0xc
+    1938:	b004		add	sp, #16	; 0x10
+    193a:	46f7		mov	pc, lr
+    193c:	b083		sub	sp, #12	; 0xc
+    193e:	9101		str	r1, [sp, #4]
+    1940:	4669		mov	r1, sp
+    1942:	7008		strb	r0, [r1, #0]
+    1944:	2001		mov	r0, #1
+    1946:	9002		str	r0, [sp, #8]
+    1948:	494c		ldr	r1, =0x83ff20	; via 0x1a7c
+    194a:	6008		str	r0, [r1, #0]
+    194c:	20ff		mov	r0, #255	; 0xff
+    194e:	4669		mov	r1, sp
+    1950:	7809		ldrb	r1, [r1, #0]
+    1952:	4388		bic	r0, r1
+    1954:	4945		ldr	r1, =0x83ff19	; via 0x1a6c
+    1956:	7809		ldrb	r1, [r1, #0]
+    1958:	4281		cmp	r1, r0
+    195a:	d007		beq	0x196c
+    195c:	9801		ldr	r0, [sp, #4]
+    195e:	2101		mov	r1, #1
+    1960:	6001		str	r1, [r0, #0]
+    1962:	4848		ldr	r0, =0x83ff18	; via 0x1a84
+    1964:	2100		mov	r1, #0
+    1966:	7001		strb	r1, [r0, #0]
+    1968:	2000		mov	r0, #0
+    196a:	9002		str	r0, [sp, #8]
+    196c:	9802		ldr	r0, [sp, #8]
+    196e:	b003		add	sp, #12	; 0xc
+    1970:	46f7		mov	pc, lr
+    1972:	b085		sub	sp, #20	; 0x14
+    1974:	466b		mov	r3, sp
+    1976:	719a		strb	r2, [r3, #6]
+    1978:	466a		mov	r2, sp
+    197a:	8091		strh	r1, [r2, #4]
+    197c:	9000		str	r0, [sp, #0]
+    197e:	9800		ldr	r0, [sp, #0]
+    1980:	9002		str	r0, [sp, #8]
+    1982:	4669		mov	r1, sp
+    1984:	4668		mov	r0, sp
+    1986:	8880		ldrh	r0, [r0, #4]
+    1988:	8208		strh	r0, [r1, #16]	; 0x10
+    198a:	4668		mov	r0, sp
+    198c:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    198e:	2800		cmp	r0, #0
+    1990:	d01e		beq	0x19d0
+    1992:	49e3		ldr	r1, =0x864	; via 0x1d20
+    1994:	4668		mov	r0, sp
+    1996:	7980		ldrb	r0, [r0, #6]
+    1998:	0080		lsl	r0, r0, #2
+    199a:	5808		ldr	r0, [r1, r0]
+    199c:	7941		ldrb	r1, [r0, #5]
+    199e:	4668		mov	r0, sp
+    19a0:	7301		strb	r1, [r0, #12]	; 0xc
+    19a2:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    19a4:	0980		lsr	r0, r0, #6
+    19a6:	d3f4		bcc	0x1992
+    19a8:	49dd		ldr	r1, =0x864	; via 0x1d20
+    19aa:	4668		mov	r0, sp
+    19ac:	7980		ldrb	r0, [r0, #6]
+    19ae:	0080		lsl	r0, r0, #2
+    19b0:	5809		ldr	r1, [r1, r0]
+    19b2:	9802		ldr	r0, [sp, #8]
+    19b4:	7800		ldrb	r0, [r0, #0]
+    19b6:	7008		strb	r0, [r1, #0]
+    19b8:	9802		ldr	r0, [sp, #8]
+    19ba:	3001		add	r0, #1
+    19bc:	9002		str	r0, [sp, #8]
+    19be:	4669		mov	r1, sp
+    19c0:	4668		mov	r0, sp
+    19c2:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    19c4:	3801		sub	r0, #1
+    19c6:	8208		strh	r0, [r1, #16]	; 0x10
+    19c8:	4668		mov	r0, sp
+    19ca:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    19cc:	2800		cmp	r0, #0
+    19ce:	d1e0		bne	0x1992
+    19d0:	b005		add	sp, #20	; 0x14
+    19d2:	46f7		mov	pc, lr
+    19d4:	b082		sub	sp, #8
+    19d6:	4669		mov	r1, sp
+    19d8:	7008		strb	r0, [r1, #0]
+    19da:	2000		mov	r0, #0
+    19dc:	8088		strh	r0, [r1, #4]
+    19de:	4668		mov	r0, sp
+    19e0:	8881		ldrh	r1, [r0, #4]
+    19e2:	20ff		mov	r0, #255	; 0xff
+    19e4:	30f5		add	r0, #245	; 0xf5
+    19e6:	4281		cmp	r1, r0
+    19e8:	da21		bge	0x1a2e
+    19ea:	4669		mov	r1, sp
+    19ec:	4668		mov	r0, sp
+    19ee:	8880		ldrh	r0, [r0, #4]
+    19f0:	3001		add	r0, #1
+    19f2:	8088		strh	r0, [r1, #4]
+    19f4:	48ca		ldr	r0, =0x864	; via 0x1d20
+    19f6:	7809		ldrb	r1, [r1, #0]
+    19f8:	0089		lsl	r1, r1, #2
+    19fa:	5840		ldr	r0, [r0, r1]
+    19fc:	7940		ldrb	r0, [r0, #5]
+    19fe:	4669		mov	r1, sp
+    1a00:	7048		strb	r0, [r1, #1]
+    1a02:	4668		mov	r0, sp
+    1a04:	7840		ldrb	r0, [r0, #1]
+    1a06:	0840		lsr	r0, r0, #1
+    1a08:	d30b		bcc	0x1a22
+    1a0a:	49c5		ldr	r1, =0x864	; via 0x1d20
+    1a0c:	4668		mov	r0, sp
+    1a0e:	7800		ldrb	r0, [r0, #0]
+    1a10:	0080		lsl	r0, r0, #2
+    1a12:	5808		ldr	r0, [r1, r0]
+    1a14:	7800		ldrb	r0, [r0, #0]
+    1a16:	0600		lsl	r0, r0, #24
+    1a18:	0e00		lsr	r0, r0, #24
+    1a1a:	4669		mov	r1, sp
+    1a1c:	7088		strb	r0, [r1, #2]
+    1a1e:	2000		mov	r0, #0
+    1a20:	8088		strh	r0, [r1, #4]
+    1a22:	4668		mov	r0, sp
+    1a24:	8881		ldrh	r1, [r0, #4]
+    1a26:	20ff		mov	r0, #255	; 0xff
+    1a28:	30f5		add	r0, #245	; 0xf5
+    1a2a:	4281		cmp	r1, r0
+    1a2c:	dbdd		blt	0x19ea
+    1a2e:	b002		add	sp, #8
+    1a30:	4770		bx	lr
+    1a32:	b500		push	{lr}
+    1a34:	b08c		sub	sp, #48	; 0x30
+    1a36:	466a		mov	r2, sp
+    1a38:	7111		strb	r1, [r2, #4]
+    1a3a:	9000		str	r0, [sp, #0]
+    1a3c:	2001		mov	r0, #1
+    1a3e:	9002		str	r0, [sp, #8]
+    1a40:	9800		ldr	r0, [sp, #0]
+    1a42:	a904		add	r1, sp, #16	; 0x10
+    1a44:	aa03		add	r2, sp, #12	; 0xc
+    1a46:	f7ff fd75	bl	0x1534
+    1a4a:	4668		mov	r0, sp
+    1a4c:	8980		ldrh	r0, [r0, #12]	; 0xc
+    1a4e:	2820		cmp	r0, #32	; 0x20
+    1a50:	dd02		ble	0x1a58
+    1a52:	2000		mov	r0, #0
+    1a54:	9002		str	r0, [sp, #8]
+    1a56:	e006		b	0x1a66
+    1a58:	a804		add	r0, sp, #16	; 0x10
+    1a5a:	4669		mov	r1, sp
+    1a5c:	8989		ldrh	r1, [r1, #12]	; 0xc
+    1a5e:	466a		mov	r2, sp
+    1a60:	7912		ldrb	r2, [r2, #4]
+    1a62:	f7ff ff86	bl	0x1972
+    1a66:	9802		ldr	r0, [sp, #8]
+    1a68:	b00c		add	sp, #48	; 0x30
+    1a6a:	bd00		pop	{pc}
+    1a6c:	ff19		<half-bl>
+    1a6e:	0083		lsl	r3, r0, #2
+    1a70:	ff1a		<half-bl>
+    1a72:	0083		lsl	r3, r0, #2
+    1a74:	ff26		<half-bl>
+    1a76:	0083		lsl	r3, r0, #2
+    1a78:	ff24		<half-bl>
+    1a7a:	0083		lsl	r3, r0, #2
+    1a7c:	ff20		<half-bl>
+    1a7e:	0083		lsl	r3, r0, #2
+    1a80:	ff1b		<half-bl>
+    1a82:	0083		lsl	r3, r0, #2
+    1a84:	ff18		<half-bl>
+    1a86:	0083		lsl	r3, r0, #2
+    1a88:	b500		push	{lr}
+    1a8a:	b084		sub	sp, #16	; 0x10
+    1a8c:	9101		str	r1, [sp, #4]
+    1a8e:	9000		str	r0, [sp, #0]
+    1a90:	4669		mov	r1, sp
+    1a92:	20ff		mov	r0, #255	; 0xff
+    1a94:	7308		strb	r0, [r1, #12]	; 0xc
+    1a96:	2000		mov	r0, #0
+    1a98:	9002		str	r0, [sp, #8]
+    1a9a:	4669		mov	r1, sp
+    1a9c:	48a1		ldr	r0, =0xffff5805	; via 0x1d24
+    1a9e:	7800		ldrb	r0, [r0, #0]
+    1aa0:	7348		strb	r0, [r1, #13]	; 0xd
+    1aa2:	48a1		ldr	r0, =0xffff5005	; via 0x1d28
+    1aa4:	7800		ldrb	r0, [r0, #0]
+    1aa6:	7388		strb	r0, [r1, #14]	; 0xe
+    1aa8:	4668		mov	r0, sp
+    1aaa:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1aac:	0840		lsr	r0, r0, #1
+    1aae:	d206		bcs	0x1abe
+    1ab0:	4668		mov	r0, sp
+    1ab2:	7b80		ldrb	r0, [r0, #14]	; 0xe
+    1ab4:	0840		lsr	r0, r0, #1
+    1ab6:	d202		bcs	0x1abe
+    1ab8:	9801		ldr	r0, [sp, #4]
+    1aba:	2800		cmp	r0, #0
+    1abc:	d0ed		beq	0x1a9a
+    1abe:	4668		mov	r0, sp
+    1ac0:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1ac2:	0840		lsr	r0, r0, #1
+    1ac4:	d316		bcc	0x1af4
+    1ac6:	4669		mov	r1, sp
+    1ac8:	2000		mov	r0, #0
+    1aca:	7308		strb	r0, [r1, #12]	; 0xc
+    1acc:	4994		ldr	r1, =0x864	; via 0x1d20
+    1ace:	4668		mov	r0, sp
+    1ad0:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1ad2:	0080		lsl	r0, r0, #2
+    1ad4:	5808		ldr	r0, [r1, r0]
+    1ad6:	7800		ldrb	r0, [r0, #0]
+    1ad8:	0600		lsl	r0, r0, #24
+    1ada:	0e00		lsr	r0, r0, #24
+    1adc:	4669		mov	r1, sp
+    1ade:	73c8		strb	r0, [r1, #15]	; 0xf
+    1ae0:	4668		mov	r0, sp
+    1ae2:	7bc0		ldrb	r0, [r0, #15]	; 0xf
+    1ae4:	9900		ldr	r1, [sp, #0]
+    1ae6:	f7ff fc9f	bl	0x1428
+    1aea:	9002		str	r0, [sp, #8]
+    1aec:	9802		ldr	r0, [sp, #8]
+    1aee:	2800		cmp	r0, #0
+    1af0:	d11c		bne	0x1b2c
+    1af2:	e018		b	0x1b26
+    1af4:	4668		mov	r0, sp
+    1af6:	7b80		ldrb	r0, [r0, #14]	; 0xe
+    1af8:	0840		lsr	r0, r0, #1
+    1afa:	d317		bcc	0x1b2c
+    1afc:	4669		mov	r1, sp
+    1afe:	2001		mov	r0, #1
+    1b00:	7308		strb	r0, [r1, #12]	; 0xc
+    1b02:	4987		ldr	r1, =0x864	; via 0x1d20
+    1b04:	4668		mov	r0, sp
+    1b06:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1b08:	0080		lsl	r0, r0, #2
+    1b0a:	5808		ldr	r0, [r1, r0]
+    1b0c:	7800		ldrb	r0, [r0, #0]
+    1b0e:	0600		lsl	r0, r0, #24
+    1b10:	0e01		lsr	r1, r0, #24
+    1b12:	4668		mov	r0, sp
+    1b14:	73c1		strb	r1, [r0, #15]	; 0xf
+    1b16:	7bc0		ldrb	r0, [r0, #15]	; 0xf
+    1b18:	9900		ldr	r1, [sp, #0]
+    1b1a:	f7ff fc85	bl	0x1428
+    1b1e:	9002		str	r0, [sp, #8]
+    1b20:	9802		ldr	r0, [sp, #8]
+    1b22:	2800		cmp	r0, #0
+    1b24:	d102		bne	0x1b2c
+    1b26:	20ff		mov	r0, #255	; 0xff
+    1b28:	4669		mov	r1, sp
+    1b2a:	7308		strb	r0, [r1, #12]	; 0xc
+    1b2c:	9802		ldr	r0, [sp, #8]
+    1b2e:	2800		cmp	r0, #0
+    1b30:	d102		bne	0x1b38
+    1b32:	9801		ldr	r0, [sp, #4]
+    1b34:	2800		cmp	r0, #0
+    1b36:	d0b0		beq	0x1a9a
+    1b38:	4668		mov	r0, sp
+    1b3a:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1b3c:	b004		add	sp, #16	; 0x10
+    1b3e:	bd00		pop	{pc}
+    1b40:	ff1c		<half-bl>
+    1b42:	0083		lsl	r3, r0, #2
+    1b44:	0830		lsr	r0, r6, #32
+    1b46:	0000		lsl	r0, r0, #0
+    1b48:	084c		lsr	r4, r1, #1
+    1b4a:	0000		lsl	r0, r0, #0
+    1b4c:	b500		push	{lr}
+    1b4e:	b086		sub	sp, #24	; 0x18
+    1b50:	466b		mov	r3, sp
+    1b52:	721a		strb	r2, [r3, #8]
+    1b54:	9101		str	r1, [sp, #4]
+    1b56:	9000		str	r0, [sp, #0]
+    1b58:	2001		mov	r0, #1
+    1b5a:	9004		str	r0, [sp, #16]	; 0x10
+    1b5c:	9804		ldr	r0, [sp, #16]	; 0x10
+    1b5e:	2800		cmp	r0, #0
+    1b60:	d05b		beq	0x1c1a
+    1b62:	496f		ldr	r1, =0x864	; via 0x1d20
+    1b64:	4668		mov	r0, sp
+    1b66:	7a00		ldrb	r0, [r0, #8]
+    1b68:	0080		lsl	r0, r0, #2
+    1b6a:	5808		ldr	r0, [r1, r0]
+    1b6c:	7941		ldrb	r1, [r0, #5]
+    1b6e:	4668		mov	r0, sp
+    1b70:	7301		strb	r1, [r0, #12]	; 0xc
+    1b72:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1b74:	0840		lsr	r0, r0, #1
+    1b76:	d3f4		bcc	0x1b62
+    1b78:	4969		ldr	r1, =0x864	; via 0x1d20
+    1b7a:	4668		mov	r0, sp
+    1b7c:	7a00		ldrb	r0, [r0, #8]
+    1b7e:	0080		lsl	r0, r0, #2
+    1b80:	5808		ldr	r0, [r1, r0]
+    1b82:	7800		ldrb	r0, [r0, #0]
+    1b84:	0600		lsl	r0, r0, #24
+    1b86:	0e01		lsr	r1, r0, #24
+    1b88:	4668		mov	r0, sp
+    1b8a:	7341		strb	r1, [r0, #13]	; 0xd
+    1b8c:	e02c		b	0x1be8
+    1b8e:	4668		mov	r0, sp
+    1b90:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1b92:	a905		add	r1, sp, #20	; 0x14
+    1b94:	9a00		ldr	r2, [sp, #0]
+    1b96:	9b01		ldr	r3, [sp, #4]
+    1b98:	f7ff fd8c	bl	0x16b4
+    1b9c:	9004		str	r0, [sp, #16]	; 0x10
+    1b9e:	e039		b	0x1c14
+    1ba0:	4668		mov	r0, sp
+    1ba2:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1ba4:	a905		add	r1, sp, #20	; 0x14
+    1ba6:	f7ff fdc2	bl	0x172e
+    1baa:	e7f7		b	0x1b9c
+    1bac:	4668		mov	r0, sp
+    1bae:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1bb0:	a905		add	r1, sp, #20	; 0x14
+    1bb2:	f7ff fe12	bl	0x17da
+    1bb6:	e7f1		b	0x1b9c
+    1bb8:	4668		mov	r0, sp
+    1bba:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1bbc:	a905		add	r1, sp, #20	; 0x14
+    1bbe:	f7ff fe34	bl	0x182a
+    1bc2:	e7eb		b	0x1b9c
+    1bc4:	4668		mov	r0, sp
+    1bc6:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1bc8:	f7ff fe5e	bl	0x1888
+    1bcc:	e022		b	0x1c14
+    1bce:	4668		mov	r0, sp
+    1bd0:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1bd2:	a905		add	r1, sp, #20	; 0x14
+    1bd4:	9a00		ldr	r2, [sp, #0]
+    1bd6:	f7ff fe6d	bl	0x18b4
+    1bda:	e7df		b	0x1b9c
+    1bdc:	4668		mov	r0, sp
+    1bde:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1be0:	a905		add	r1, sp, #20	; 0x14
+    1be2:	f7ff feab	bl	0x193c
+    1be6:	e7d9		b	0x1b9c
+    1be8:	4850		ldr	r0, =0x83ff20	; via 0x1d2c
+    1bea:	6800		ldr	r0, [r0, #0]
+    1bec:	2800		cmp	r0, #0
+    1bee:	d0ce		beq	0x1b8e
+    1bf0:	3801		sub	r0, #1
+    1bf2:	2800		cmp	r0, #0
+    1bf4:	d0d4		beq	0x1ba0
+    1bf6:	3801		sub	r0, #1
+    1bf8:	2800		cmp	r0, #0
+    1bfa:	d0d7		beq	0x1bac
+    1bfc:	3801		sub	r0, #1
+    1bfe:	2800		cmp	r0, #0
+    1c00:	d0da		beq	0x1bb8
+    1c02:	3801		sub	r0, #1
+    1c04:	2800		cmp	r0, #0
+    1c06:	d0dd		beq	0x1bc4
+    1c08:	3801		sub	r0, #1
+    1c0a:	2800		cmp	r0, #0
+    1c0c:	d0df		beq	0x1bce
+    1c0e:	3801		sub	r0, #1
+    1c10:	2800		cmp	r0, #0
+    1c12:	d0e3		beq	0x1bdc
+    1c14:	9804		ldr	r0, [sp, #16]	; 0x10
+    1c16:	2800		cmp	r0, #0
+    1c18:	d1a3		bne	0x1b62
+    1c1a:	9805		ldr	r0, [sp, #20]	; 0x14
+    1c1c:	b006		add	sp, #24	; 0x18
+    1c1e:	bd00		pop	{pc}
+    1c20:	4942		ldr	r1, =0x83ff20	; via 0x1d2c
+    1c22:	2001		mov	r0, #1
+    1c24:	6008		str	r0, [r1, #0]
+    1c26:	4842		ldr	r0, =0x83ff1b	; via 0x1d30
+    1c28:	2100		mov	r1, #0
+    1c2a:	7001		strb	r1, [r0, #0]
+    1c2c:	4841		ldr	r0, =0x83ff18	; via 0x1d34
+    1c2e:	7001		strb	r1, [r0, #0]
+    1c30:	4770		bx	lr
+    1c32:	46c0		nop			(mov r8, r8)
+
+    1c34:	0083ff14
+
+; UART initialization routine
+    1c38:	b081		sub	sp, #4
+; MODEM UART
+    1c3a:	483f		ldr	r0, =0xffff5800	; via 0x1d38
+    1c3c:	9000		str	r0, [sp, #0]
+; switch to MCU control
+    1c3e:	493f		ldr	r1, =0xffff6000	; via 0x1d3c
+    1c40:	2002		mov	r0, #2
+    1c42:	880a		ldrh	r2, [r1, #0]
+    1c44:	4310		orr	r0, r2
+    1c46:	8008		strh	r0, [r1, #0]
+    1c48:	483c		ldr	r0, =0xffff6000	; via 0x1d3c
+    1c4a:	8801		ldrh	r1, [r0, #0]
+    1c4c:	0849		lsr	r1, r1, #1
+    1c4e:	0049		lsl	r1, r1, #1
+    1c50:	8001		strh	r1, [r0, #0]
+    1c52:	493a		ldr	r1, =0xffff6000	; via 0x1d3c
+    1c54:	8808		ldrh	r0, [r1, #0]
+    1c56:	2202		mov	r2, #2
+    1c58:	4390		bic	r0, r2
+    1c5a:	8008		strh	r0, [r1, #0]
+; MDR1 = reset/default state
+    1c5c:	9900		ldr	r1, [sp, #0]
+    1c5e:	2007		mov	r0, #7
+    1c60:	7208		strb	r0, [r1, #8]
+; LCR = BF
+    1c62:	9900		ldr	r1, [sp, #0]
+    1c64:	20bf		mov	r0, #191	; 0xbf
+    1c66:	70c8		strb	r0, [r1, #3]
+; set ENHANCED_EN bit in EFR
+    1c68:	9800		ldr	r0, [sp, #0]
+    1c6a:	1c81		add	r1, r0, #2
+    1c6c:	2010		mov	r0, #16	; 0x10
+    1c6e:	880a		ldrh	r2, [r1, #0]
+    1c70:	4310		orr	r0, r2
+    1c72:	8008		strh	r0, [r1, #0]
+; LCR = 80
+    1c74:	9800		ldr	r0, [sp, #0]
+    1c76:	2180		mov	r1, #128	; 0x80
+    1c78:	70c1		strb	r1, [r0, #3]
+; FCR = 07 (enable and clear both FIFOs)
+    1c7a:	9800		ldr	r0, [sp, #0]
+    1c7c:	2107		mov	r1, #7
+    1c7e:	7081		strb	r1, [r0, #2]
+; LCR = BF
+    1c80:	9800		ldr	r0, [sp, #0]
+    1c82:	21bf		mov	r1, #191	; 0xbf
+    1c84:	70c1		strb	r1, [r0, #3]
+; baud rate divisor set to 7 (115200 baud)
+    1c86:	9800		ldr	r0, [sp, #0]
+    1c88:	2107		mov	r1, #7
+    1c8a:	7001		strb	r1, [r0, #0]
+    1c8c:	9800		ldr	r0, [sp, #0]
+    1c8e:	2100		mov	r1, #0
+    1c90:	7041		strb	r1, [r0, #1]
+; LCR = 03 (standard setting)
+    1c92:	9800		ldr	r0, [sp, #0]
+    1c94:	2103		mov	r1, #3
+    1c96:	70c1		strb	r1, [r0, #3]
+; MDR1 = UART mode
+    1c98:	9800		ldr	r0, [sp, #0]
+    1c9a:	2100		mov	r1, #0
+    1c9c:	7201		strb	r1, [r0, #8]
+; IrDA UART - same setup as for MODEM
+    1c9e:	4828		ldr	r0, =0xffff5000	; via 0x1d40
+    1ca0:	9000		str	r0, [sp, #0]
+    1ca2:	9800		ldr	r0, [sp, #0]
+    1ca4:	2107		mov	r1, #7
+    1ca6:	7201		strb	r1, [r0, #8]
+    1ca8:	9900		ldr	r1, [sp, #0]
+    1caa:	20bf		mov	r0, #191	; 0xbf
+    1cac:	70c8		strb	r0, [r1, #3]
+    1cae:	9800		ldr	r0, [sp, #0]
+    1cb0:	1c80		add	r0, r0, #2
+    1cb2:	2110		mov	r1, #16	; 0x10
+    1cb4:	8802		ldrh	r2, [r0, #0]
+    1cb6:	4311		orr	r1, r2
+    1cb8:	8001		strh	r1, [r0, #0]
+    1cba:	9800		ldr	r0, [sp, #0]
+    1cbc:	2180		mov	r1, #128	; 0x80
+    1cbe:	70c1		strb	r1, [r0, #3]
+    1cc0:	9800		ldr	r0, [sp, #0]
+    1cc2:	2107		mov	r1, #7
+    1cc4:	7081		strb	r1, [r0, #2]
+    1cc6:	9800		ldr	r0, [sp, #0]
+    1cc8:	21bf		mov	r1, #191	; 0xbf
+    1cca:	70c1		strb	r1, [r0, #3]
+    1ccc:	9800		ldr	r0, [sp, #0]
+    1cce:	2107		mov	r1, #7
+    1cd0:	7001		strb	r1, [r0, #0]
+    1cd2:	9800		ldr	r0, [sp, #0]
+    1cd4:	2100		mov	r1, #0
+    1cd6:	7041		strb	r1, [r0, #1]
+    1cd8:	9900		ldr	r1, [sp, #0]
+    1cda:	2003		mov	r0, #3
+    1cdc:	70c8		strb	r0, [r1, #3]
+    1cde:	9800		ldr	r0, [sp, #0]
+    1ce0:	2100		mov	r1, #0
+    1ce2:	7201		strb	r1, [r0, #8]
+    1ce4:	b001		add	sp, #4
+    1ce6:	4770		bx	lr
+
+    1ce8:	b081		sub	sp, #4
+    1cea:	4669		mov	r1, sp
+    1cec:	7008		strb	r0, [r1, #0]
+    1cee:	490c		ldr	r1, =0x864	; via 0x1d20
+    1cf0:	4668		mov	r0, sp
+    1cf2:	7800		ldrb	r0, [r0, #0]
+    1cf4:	0080		lsl	r0, r0, #2
+    1cf6:	5808		ldr	r0, [r1, r0]
+    1cf8:	7941		ldrb	r1, [r0, #5]
+    1cfa:	4668		mov	r0, sp
+    1cfc:	7041		strb	r1, [r0, #1]
+    1cfe:	7840		ldrb	r0, [r0, #1]
+    1d00:	09c0		lsr	r0, r0, #7
+    1d02:	d20b		bcs	0x1d1c
+    1d04:	4806		ldr	r0, =0x864	; via 0x1d20
+    1d06:	4669		mov	r1, sp
+    1d08:	7809		ldrb	r1, [r1, #0]
+    1d0a:	0089		lsl	r1, r1, #2
+    1d0c:	5840		ldr	r0, [r0, r1]
+    1d0e:	7940		ldrb	r0, [r0, #5]
+    1d10:	4669		mov	r1, sp
+    1d12:	7048		strb	r0, [r1, #1]
+    1d14:	4668		mov	r0, sp
+    1d16:	7840		ldrb	r0, [r0, #1]
+    1d18:	09c0		lsr	r0, r0, #7
+    1d1a:	d3f3		bcc	0x1d04
+    1d1c:	b001		add	sp, #4
+    1d1e:	4770		bx	lr
+    1d20:	0864		lsr	r4, r4, #1
+    1d22:	0000		lsl	r0, r0, #0
+    1d24:	5805		ldr	r5, [r0, r0]
+    1d26:	ffff		<half-bl>
+    1d28:	5005		str	r5, [r0, r0]
+    1d2a:	ffff		<half-bl>
+    1d2c:	ff20		<half-bl>
+    1d2e:	0083		lsl	r3, r0, #2
+    1d30:	ff1b		<half-bl>
+    1d32:	0083		lsl	r3, r0, #2
+    1d34:	ff18		<half-bl>
+    1d36:	0083		lsl	r3, r0, #2
+    1d38:	5800		ldr	r0, [r0, r0]
+    1d3a:	ffff		<half-bl>
+    1d3c:	6000		str	r0, [r0, #0]
+    1d3e:	ffff		<half-bl>
+    1d40:	5000		str	r0, [r0, r0]
+    1d42:	ffff		<half-bl>
+    1d44:	b500		push	{lr}
+    1d46:	b087		sub	sp, #28	; 0x1c
+    1d48:	466b		mov	r3, sp
+    1d4a:	721a		strb	r2, [r3, #8]
+    1d4c:	9101		str	r1, [sp, #4]
+    1d4e:	9000		str	r0, [sp, #0]
+    1d50:	9900		ldr	r1, [sp, #0]
+    1d52:	2000		mov	r0, #0
+    1d54:	8008		strh	r0, [r1, #0]
+    1d56:	9801		ldr	r0, [sp, #4]
+    1d58:	2100		mov	r1, #0
+    1d5a:	8001		strh	r1, [r0, #0]
+    1d5c:	2000		mov	r0, #0
+    1d5e:	9003		str	r0, [sp, #12]	; 0xc
+    1d60:	f7ff ff5e	bl	0x1c20
+    1d64:	a805		add	r0, sp, #20	; 0x14
+    1d66:	a906		add	r1, sp, #24	; 0x18
+    1d68:	466a		mov	r2, sp
+    1d6a:	7a12		ldrb	r2, [r2, #8]
+    1d6c:	f7ff feee	bl	0x1b4c
+    1d70:	9004		str	r0, [sp, #16]	; 0x10
+    1d72:	9804		ldr	r0, [sp, #16]	; 0x10
+    1d74:	2800		cmp	r0, #0
+    1d76:	d11f		bne	0x1db8
+    1d78:	9803		ldr	r0, [sp, #12]	; 0xc
+    1d7a:	2800		cmp	r0, #0
+    1d7c:	d11c		bne	0x1db8
+    1d7e:	9800		ldr	r0, [sp, #0]
+    1d80:	4669		mov	r1, sp
+    1d82:	8b0a		ldrh	r2, [r1, #24]	; 0x18
+    1d84:	8801		ldrh	r1, [r0, #0]
+    1d86:	1851		add	r1, r2, r1
+    1d88:	8001		strh	r1, [r0, #0]
+    1d8a:	9905		ldr	r1, [sp, #20]	; 0x14
+    1d8c:	4668		mov	r0, sp
+    1d8e:	8b00		ldrh	r0, [r0, #24]	; 0x18
+    1d90:	8008		strh	r0, [r1, #0]
+    1d92:	9801		ldr	r0, [sp, #4]
+    1d94:	9905		ldr	r1, [sp, #20]	; 0x14
+    1d96:	8809		ldrh	r1, [r1, #0]
+    1d98:	8802		ldrh	r2, [r0, #0]
+    1d9a:	1889		add	r1, r1, r2
+    1d9c:	8001		strh	r1, [r0, #0]
+    1d9e:	a805		add	r0, sp, #20	; 0x14
+    1da0:	a906		add	r1, sp, #24	; 0x18
+    1da2:	466a		mov	r2, sp
+    1da4:	7a12		ldrb	r2, [r2, #8]
+    1da6:	f7ff fed1	bl	0x1b4c
+    1daa:	9004		str	r0, [sp, #16]	; 0x10
+    1dac:	9804		ldr	r0, [sp, #16]	; 0x10
+    1dae:	2800		cmp	r0, #0
+    1db0:	d102		bne	0x1db8
+    1db2:	9803		ldr	r0, [sp, #12]	; 0xc
+    1db4:	2800		cmp	r0, #0
+    1db6:	d0e2		beq	0x1d7e
+    1db8:	9804		ldr	r0, [sp, #16]	; 0x10
+    1dba:	2801		cmp	r0, #1
+    1dbc:	d101		bne	0x1dc2
+    1dbe:	2004		mov	r0, #4
+    1dc0:	9003		str	r0, [sp, #12]	; 0xc
+    1dc2:	9803		ldr	r0, [sp, #12]	; 0xc
+    1dc4:	b007		add	sp, #28	; 0x1c
+    1dc6:	bd00		pop	{pc}
+    1dc8:	b089		sub	sp, #36	; 0x24
+    1dca:	201a		mov	r0, #26	; 0x1a
+    1dcc:	9005		str	r0, [sp, #20]	; 0x14
+    1dce:	2018		mov	r0, #24	; 0x18
+    1dd0:	9006		str	r0, [sp, #24]	; 0x18
+    1dd2:	2000		mov	r0, #0
+    1dd4:	9008		str	r0, [sp, #32]	; 0x20
+    1dd6:	4669		mov	r1, sp
+    1dd8:	9805		ldr	r0, [sp, #20]	; 0x14
+    1dda:	8800		ldrh	r0, [r0, #0]
+    1ddc:	8008		strh	r0, [r1, #0]
+    1dde:	9806		ldr	r0, [sp, #24]	; 0x18
+    1de0:	8800		ldrh	r0, [r0, #0]
+    1de2:	8048		strh	r0, [r1, #2]
+    1de4:	4668		mov	r0, sp
+    1de6:	8841		ldrh	r1, [r0, #2]
+    1de8:	8800		ldrh	r0, [r0, #0]
+    1dea:	0400		lsl	r0, r0, #16
+    1dec:	1808		add	r0, r1, r0
+    1dee:	9001		str	r0, [sp, #4]
+    1df0:	9801		ldr	r0, [sp, #4]
+    1df2:	0200		lsl	r0, r0, #8
+    1df4:	0a00		lsr	r0, r0, #8
+    1df6:	0080		lsl	r0, r0, #2
+    1df8:	3008		add	r0, #8
+    1dfa:	9007		str	r0, [sp, #28]	; 0x1c
+    1dfc:	9807		ldr	r0, [sp, #28]	; 0x1c
+    1dfe:	3018		add	r0, #24	; 0x18
+    1e00:	9002		str	r0, [sp, #8]
+    1e02:	9802		ldr	r0, [sp, #8]
+    1e04:	9004		str	r0, [sp, #16]	; 0x10
+    1e06:	9802		ldr	r0, [sp, #8]
+    1e08:	3002		add	r0, #2
+    1e0a:	9003		str	r0, [sp, #12]	; 0xc
+    1e0c:	9803		ldr	r0, [sp, #12]	; 0xc
+    1e0e:	8801		ldrh	r1, [r0, #0]
+    1e10:	4806		ldr	r0, =0xffff	; via 0x1e2c
+    1e12:	4281		cmp	r1, r0
+    1e14:	d104		bne	0x1e20
+    1e16:	9804		ldr	r0, [sp, #16]	; 0x10
+    1e18:	8800		ldrh	r0, [r0, #0]
+    1e1a:	4904		ldr	r1, =0xffff	; via 0x1e2c
+    1e1c:	4288		cmp	r0, r1
+    1e1e:	d001		beq	0x1e24
+    1e20:	2001		mov	r0, #1
+    1e22:	9008		str	r0, [sp, #32]	; 0x20
+    1e24:	9808		ldr	r0, [sp, #32]	; 0x20
+    1e26:	b009		add	sp, #36	; 0x24
+    1e28:	4770		bx	lr
+    1e2a:	46c0		nop			(mov r8, r8)
+
+    1e2c:	0000ffff
+
+; ARM->Thumb call veneer around 0xad2 routine
+    1e30:	e92d4000 	stmdb	sp!, {lr}
+    1e34:	e28fe001 	add	lr, pc, #1	; 0x1
+    1e38:	e12fff1e 	bx	lr
+    1e3c:	f7fe fe49	bl	0xad2
+    1e40:	4778      	bx	pc
+    1e42:	46c0      	nop			(mov r8, r8)
+    1e44:	e8bd8000 	ldmia	sp!, {pc}
+
+<1E48-1EFF: all FFs>
+
+    1f00:	00000001
+
+<1F04-end: all FFs>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compal/boot/c139-boot.notes	Sat Jan 14 06:17:56 2023 +0000
@@ -0,0 +1,49 @@
+Download protocol, attempted first at 406250 baud, then 115200, only on the
+MODEM UART:
+
+The boot code begins by transmitting 1B F6 02 00 41 01 40, then calls the
+Rx-with-timeout function 7 times, expecting this seq: 1B F6 02 00 52 01 53.
+Getting anything else or timeout causes the 0xbac function to return,
+ending that download attempt.  If this seq was received, the boot code then
+sends 1B F6 02 00 41 02 43 and expects to receive 3 bytes as follows:
+
+* one dummy byte (stored into an automatic var, but then not used)
+* payload length MSB
+* payload length LSB
+
+The boot code then expects to receive the specified # of bytes [0,65535]
+and stores them beginning at 0x800100.  Then the Rx-with-timeout function
+is called again to receive the XOR checksum byte, not counted in the length.
+If the checksum fails to match, 0xbac function sends 1B F6 02 00 45 53 16
+and returns.  If this check passes, the "1003" check is performed next:
+the 4 bytes starting at 0x803ce0 must match.  If the downloaded image was
+shorter, the comparison will be made against pre-powerup IRAM content,
+i.e., law of chance.  Furthermore, the comparison is actually an inequality:
+each "signature" byte in the downloaded image needs to be >= (in the signed
+sense) than the "1003" reference.  (0x7F7F7F7F thus ought to be a passing
+value.)
+
+If this last check passes, the 0xbac function jumps to the downloaded image
+instead of returning.  Control is transferred to 0x800100 in the ARM state.
+If the "1003" check fails, 0xbac function sends 1B F6 02 00 41 03 57
+and returns.
+
+If the boot process is not diverted to a successful serial download as above,
+the boot code does one strange thing before it jumps to 0x20f8 (main app entry
+point).  The boot code unconditionally transmits "ftmtool" on the MODEM UART
+and waits a certain time for a "yes" response.  If it receives that "yes",
+it responds with "modemerror", otherwise just "error".  Either way, it then
+proceed to jump to the main app entry point at 0x20f8!  There is also a bunch
+of "dead" code in the 8 KiB "boot block", code which does not seem to be
+reachable from any path.  There is no check for whether or not the "main app"
+is present; if the flash contains the 8 KiB "boot block" followed by blank
+space, the boot code will happily jumps to those FFs - but it will still
+provide an opportunity for serial download as usual, so no real problem.
+
+IRAM variables used by the boot code:
+
+83FF00	holds UART base addr, set to FFFF5800 (MODEM)
+83FF08	32-bit var init to 0
+83FF10	32-bit var init to 0
+83FF80	byte var init to 0 at the beginning of ftmtool function (0xdbe),
+	set to 1 if "yes" received in response to "ftmtool"
Binary file compal/boot/c139-boot1004.bin has changed
Binary file compal/boot/c139-tfboot.bin has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compal/boot/c139-tfboot.disasm	Sat Jan 14 06:17:56 2023 +0000
@@ -0,0 +1,2683 @@
+Disassembly of TF's locked C139 bootloader
+same as the classic C139 version up to 0x958
+
+RESET entry and exception vectors:
+       0:	ea000225 	b	0x89c
+       4:	ea000825 	b	0x20a0
+       8:	ea000825 	b	0x20a4
+       c:	ea000825 	b	0x20a8
+      10:	ea000825 	b	0x20ac
+      14:	ea000825 	b	0x20b0
+      18:	ea000825 	b	0x20b4
+      1c:	ea000825 	b	0x20b8
+
+; ID words or whatever
+      20:	449e10f0
+      24:	449e10f1
+      28:	449e1120
+      2c:	449e1121
+
+<30-7FF: all FFs>
+
+00000800:  42 4F 4F 54 2E 39 30 2E  30 34 00 00 00 00 00 00  BOOT.90.04......
+00000810:  31 30 30 33 01 01 00 00  FF FF FF FF FF FF FF FF  1003............
+00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................
+
+     830:	00000006
+	...
+     83c:	00000048
+     840:	00000044
+     844:	00000052
+     848:	0000001b
+     84c:	00000005
+	...
+     860:	000000fa
+     864:	ffff5800
+     868:	ffff5000
+     86c:	fffffb00
+     870:	02a1
+     872:	02a1
+     874:	02a1
+     876:	0283
+     878:	0281
+     87a:	00c0
+     87c:	0040
+     87e:	002a
+     880:	00000040
+     884:	fffffd00
+     888:	ffff9800
+     88c:	fffffb10
+     890:	ffffff08
+     894:	1081
+     896:	2006
+     898:	0800
+     89a:	0000
+
+; RESET entry point, same as classic C139 version
+     89c:	e51f1020	ldr	r1, =0xfffffd00	; via 0x884
+     8a0:	e1d120b2	ldrh	r2, [r1, #2]
+     8a4:	e51f002c	ldr	r0, =0x40	; via 0x880
+     8a8:	e1800002	orr	r0, r0, r2
+     8ac:	e1c100b2	strh	r0, [r1, #2]
+     8b0:	e51f1030	ldr	r1, =0xffff9800	; via 0x888
+     8b4:	e15f22b6	ldrh	r2, =0x2006	; via 0x896
+     8b8:	e1c120b0	strh	r2, [r1]
+     8bc:	e5912000	ldr	r2, [r1]
+     8c0:	e2022001	and	r2, r2, #1
+     8c4:	e3520001	cmp	r2, #1
+     8c8:	0afffffb	beq	0x8bc
+     8cc:	e51f1050	ldr	r1, =0xfffffd00	; via 0x884
+     8d0:	e15f24b4	ldrh	r2, =0x1081	; via 0x894
+     8d4:	e1c120b0	strh	r2, [r1]
+     8d8:	e51f1054	ldr	r1, =0xfffffb10	; via 0x88c
+     8dc:	e15f24bc	ldrh	r2, =0x800	; via 0x898
+     8e0:	e1d100b0	ldrh	r0, [r1]
+     8e4:	e1800002	orr	r0, r0, r2
+     8e8:	e1c100b0	strh	r0, [r1]
+     8ec:	e51f1064	ldr	r1, =0xffffff08	; via 0x890
+     8f0:	e15f25be	ldrh	r2, =0x0	; via 0x89a
+     8f4:	e1c120b0	strh	r2, [r1]
+     8f8:	e51f1094	ldr	r1, =0xfffffb00	; via 0x86c
+     8fc:	e15f29b4	ldrh	r2, =0x2a1	; via 0x870
+     900:	e1c120b0	strh	r2, [r1]
+     904:	e15f29ba	ldrh	r2, =0x2a1	; via 0x872
+     908:	e1c120b2	strh	r2, [r1, #2]
+     90c:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x874
+     910:	e1c120b4	strh	r2, [r1, #4]
+     914:	e15f2ab6	ldrh	r2, =0x283	; via 0x876
+     918:	e1c120b6	strh	r2, [r1, #6]
+     91c:	e15f2abc	ldrh	r2, =0x281	; via 0x878
+     920:	e1c120ba	strh	r2, [r1, #10]	; 0xa
+     924:	e15f2bb2	ldrh	r2, =0xc0	; via 0x87a
+     928:	e1c120bc	strh	r2, [r1, #12]	; 0xc
+     92c:	e15f2bb8	ldrh	r2, =0x40	; via 0x87c
+     930:	e1c120b8	strh	r2, [r1, #8]
+     934:	e15f2bbe	ldrh	r2, =0x2a	; via 0x87e
+     938:	e1c120be	strh	r2, [r1, #14]	; 0xe
+     93c:	e59f0020	ldr	r0, =0x837770	; via 0x964
+     940:	e3a01b01	mov	r1, #1024	; 0x400
+     944:	e2411004	sub	r1, r1, #4
+     948:	e0802001	add	r2, r0, r1
+     94c:	e3c22003	bic	r2, r2, #3
+     950:	e1a0d002	mov	sp, r2
+; business logic
+     954:	e92d100f	stmdb	sp!, {r0, r1, r2, r3, r12}
+     958:	eb00053a	bl	0x1e48
+     95c:	e8bd100f	ldmia	sp!, {r0, r1, r2, r3, r12}
+     960:	ea0005e4	b	0x20f8
+
+     964:	00837770
+
+     968:	4961		ldr	r1, =0xfffffa08	; via 0xaf0
+     96a:	4862		ldr	r0, =0xffff	; via 0xaf4
+     96c:	8008		strh	r0, [r1, #0]
+     96e:	4862		ldr	r0, =0xfffffa0a	; via 0xaf8
+     970:	211f		mov	r1, #31	; 0x1f
+     972:	8001		strh	r1, [r0, #0]
+     974:	4861		ldr	r0, =0xfffff804	; via 0xafc
+     976:	21f5		mov	r1, #245	; 0xf5
+     978:	8001		strh	r1, [r0, #0]
+     97a:	21a0		mov	r1, #160	; 0xa0
+     97c:	8001		strh	r1, [r0, #0]
+     97e:	4860		ldr	r0, =0xffff9800	; via 0xb00
+     980:	4960		ldr	r1, =0x2002	; via 0xb04
+     982:	8001		strh	r1, [r0, #0]
+     984:	485e		ldr	r0, =0xffff9800	; via 0xb00
+     986:	8800		ldrh	r0, [r0, #0]
+     988:	0840		lsr	r0, r0, #1
+     98a:	d2fb		bcs	0x984
+     98c:	495e		ldr	r1, =0xfffffd00	; via 0xb08
+     98e:	485f		ldr	r0, =0x1001	; via 0xb0c
+     990:	8008		strh	r0, [r1, #0]
+     992:	46f7		mov	pc, lr
+
+     994:	b500		push	{lr}
+     996:	b0ff		sub	sp, #508	; 0x1fc
+     998:	b0ca		sub	sp, #296	; 0x128
+     99a:	2000		mov	r0, #0
+     99c:	9001		str	r0, [sp, #4]
+     99e:	9801		ldr	r0, [sp, #4]
+     9a0:	2800		cmp	r0, #0
+     9a2:	d14e		bne	0xa42
+     9a4:	a846		add	r0, sp, #280	; 0x118
+     9a6:	2100		mov	r1, #0
+     9a8:	f001 f87a	bl	0x1aa0
+     9ac:	a9c8		add	r1, sp, #800	; 0x320
+     9ae:	7008		strb	r0, [r1, #0]
+     9b0:	a846		add	r0, sp, #280	; 0x118
+     9b2:	a902		add	r1, sp, #8
+     9b4:	f000 fb38	bl	0x1028
+     9b8:	9000		str	r0, [sp, #0]
+     9ba:	9800		ldr	r0, [sp, #0]
+     9bc:	2800		cmp	r0, #0
+     9be:	d01b		beq	0x9f8
+     9c0:	a924		add	r1, sp, #144	; 0x90
+     9c2:	4668		mov	r0, sp
+     9c4:	7a00		ldrb	r0, [r0, #8]
+     9c6:	7008		strb	r0, [r1, #0]
+     9c8:	2191		mov	r1, #145	; 0x91
+     9ca:	466a		mov	r2, sp
+     9cc:	4668		mov	r0, sp
+     9ce:	7800		ldrb	r0, [r0, #0]
+     9d0:	5488		strb	r0, [r1, r2]
+     9d2:	e01b		b	0xa0c
+     9d4:	a802		add	r0, sp, #8
+     9d6:	a924		add	r1, sp, #144	; 0x90
+     9d8:	f000 fe14	bl	0x1604
+     9dc:	e016		b	0xa0c
+     9de:	a802		add	r0, sp, #8
+     9e0:	a924		add	r1, sp, #144	; 0x90
+     9e2:	aac8		add	r2, sp, #800	; 0x320
+     9e4:	7812		ldrb	r2, [r2, #0]
+     9e6:	f000 fe21	bl	0x162c
+     9ea:	e00f		b	0xa0c
+     9ec:	a802		add	r0, sp, #8
+     9ee:	a924		add	r1, sp, #144	; 0x90
+     9f0:	f000 fe53	bl	0x169a
+     9f4:	90c7		str	r0, [sp, #796]	; 0x31c
+     9f6:	e009		b	0xa0c
+     9f8:	4668		mov	r0, sp
+     9fa:	7a00		ldrb	r0, [r0, #8]
+     9fc:	2800		cmp	r0, #0
+     9fe:	d0e9		beq	0x9d4
+     a00:	3809		sub	r0, #9
+     a02:	2800		cmp	r0, #0
+     a04:	d0eb		beq	0x9de
+     a06:	3801		sub	r0, #1
+     a08:	2800		cmp	r0, #0
+     a0a:	d0ef		beq	0x9ec
+     a0c:	a824		add	r0, sp, #144	; 0x90
+     a0e:	a986		add	r1, sp, #536	; 0x218
+     a10:	f000 fbed	bl	0x11ee
+     a14:	2800		cmp	r0, #0
+     a16:	d111		bne	0xa3c
+     a18:	a886		add	r0, sp, #536	; 0x218
+     a1a:	a9c8		add	r1, sp, #800	; 0x320
+     a1c:	7809		ldrb	r1, [r1, #0]
+     a1e:	f001 f814	bl	0x1a4a
+     a22:	2800		cmp	r0, #0
+     a24:	d00a		beq	0xa3c
+     a26:	4668		mov	r0, sp
+     a28:	7a00		ldrb	r0, [r0, #8]
+     a2a:	280a		cmp	r0, #10	; 0xa
+     a2c:	d106		bne	0xa3c
+     a2e:	a8c8		add	r0, sp, #800	; 0x320
+     a30:	7800		ldrb	r0, [r0, #0]
+     a32:	f001 f965	bl	0x1d00
+     a36:	98c7		ldr	r0, [sp, #796]	; 0x31c
+     a38:	f000 faf4	bl	0x1024
+     a3c:	9801		ldr	r0, [sp, #4]
+     a3e:	2800		cmp	r0, #0
+     a40:	d0b0		beq	0x9a4
+     a42:	b07f		add	sp, #508	; 0x1fc
+     a44:	b04a		add	sp, #296	; 0x128
+     a46:	bd00		pop	{pc}
+
+     a48:	b500		push	{lr}
+     a4a:	b0ff		sub	sp, #508	; 0x1fc
+     a4c:	b0c8		sub	sp, #288	; 0x120
+     a4e:	2000		mov	r0, #0
+     a50:	9000		str	r0, [sp, #0]
+     a52:	a846		add	r0, sp, #280	; 0x118
+     a54:	2101		mov	r1, #1
+     a56:	f001 f823	bl	0x1aa0
+     a5a:	a9c6		add	r1, sp, #792	; 0x318
+     a5c:	7008		strb	r0, [r1, #0]
+     a5e:	a8c6		add	r0, sp, #792	; 0x318
+     a60:	7800		ldrb	r0, [r0, #0]
+     a62:	28ff		cmp	r0, #255	; 0xff
+     a64:	d031		beq	0xaca
+     a66:	a846		add	r0, sp, #280	; 0x118
+     a68:	a902		add	r1, sp, #8
+     a6a:	f000 fadd	bl	0x1028
+     a6e:	9001		str	r0, [sp, #4]
+     a70:	9801		ldr	r0, [sp, #4]
+     a72:	2800		cmp	r0, #0
+     a74:	d014		beq	0xaa0
+     a76:	a924		add	r1, sp, #144	; 0x90
+     a78:	4668		mov	r0, sp
+     a7a:	7a00		ldrb	r0, [r0, #8]
+     a7c:	7008		strb	r0, [r1, #0]
+     a7e:	2291		mov	r2, #145	; 0x91
+     a80:	4668		mov	r0, sp
+     a82:	4669		mov	r1, sp
+     a84:	7909		ldrb	r1, [r1, #4]
+     a86:	5411		strb	r1, [r2, r0]
+     a88:	a824		add	r0, sp, #144	; 0x90
+     a8a:	a986		add	r1, sp, #536	; 0x218
+     a8c:	f000 fbaf	bl	0x11ee
+     a90:	2800		cmp	r0, #0
+     a92:	d11a		bne	0xaca
+     a94:	a886		add	r0, sp, #536	; 0x218
+     a96:	a9c6		add	r1, sp, #792	; 0x318
+     a98:	7809		ldrb	r1, [r1, #0]
+     a9a:	f000 ffd6	bl	0x1a4a
+     a9e:	e014		b	0xaca
+     aa0:	4668		mov	r0, sp
+     aa2:	7a00		ldrb	r0, [r0, #8]
+     aa4:	2800		cmp	r0, #0
+     aa6:	d110		bne	0xaca
+     aa8:	a802		add	r0, sp, #8
+     aaa:	a924		add	r1, sp, #144	; 0x90
+     aac:	f000 fdaa	bl	0x1604
+     ab0:	a824		add	r0, sp, #144	; 0x90
+     ab2:	a986		add	r1, sp, #536	; 0x218
+     ab4:	f000 fb9b	bl	0x11ee
+     ab8:	2800		cmp	r0, #0
+     aba:	d104		bne	0xac6
+     abc:	a886		add	r0, sp, #536	; 0x218
+     abe:	a9c6		add	r1, sp, #792	; 0x318
+     ac0:	7809		ldrb	r1, [r1, #0]
+     ac2:	f000 ffc2	bl	0x1a4a
+     ac6:	2001		mov	r0, #1
+     ac8:	9000		str	r0, [sp, #0]
+     aca:	9800		ldr	r0, [sp, #0]
+     acc:	b07f		add	sp, #508	; 0x1fc
+     ace:	b048		add	sp, #288	; 0x120
+     ad0:	bd00		pop	{pc}
+
+     ad2:	b500		push	{lr}
+     ad4:	b082		sub	sp, #8
+     ad6:	f7ff ff47	bl	0x968
+     ada:	f001 f8b9	bl	0x1c50
+     ade:	f000 fd7f	bl	0x15e0
+     ae2:	f000 f81f	bl	0xb24
+     ae6:	f000 f972	bl	0xdce
+     aea:	b002		add	sp, #8
+     aec:	bd00		pop	{pc}
+     aee:	46c0		nop			(mov r8, r8)
+
+     af0:	fffffa08
+     af4:	0000ffff
+     af8:	fffffa0a
+     afc:	fffff804
+     b00:	ffff9800
+     b04:	00002002
+     b08:	fffffd00
+     b0c:	00001001
+
+     b10:	e3a0d502	mov	sp, #8388608	; 0x800000
+     b14:	e28dd802	add	sp, sp, #131072	; 0x20000
+     b18:	e28fe005	add	lr, pc, #5
+     b1c:	e12fff1e	bx	lr
+     b20:	e1a00000	mov	r0, r0
+
+     b24:	b500		push	{lr}
+     b26:	b082		sub	sp, #8
+     b28:	49f1		ldr	r1, =0x83ff00	; via 0xef0
+     b2a:	48f2		ldr	r0, =0xffff5800	; via 0xef4
+     b2c:	6008		str	r0, [r1, #0]
+     b2e:	2000		mov	r0, #0
+     b30:	2102		mov	r1, #2
+     b32:	f000 fa07	bl	0xf44
+     b36:	2000		mov	r0, #0
+     b38:	9000		str	r0, [sp, #0]
+     b3a:	9900		ldr	r1, [sp, #0]
+     b3c:	2005		mov	r0, #5
+     b3e:	0300		lsl	r0, r0, #12
+     b40:	4281		cmp	r1, r0
+     b42:	d207		bcs	0xb54
+     b44:	9800		ldr	r0, [sp, #0]
+     b46:	3001		add	r0, #1
+     b48:	9000		str	r0, [sp, #0]
+     b4a:	9900		ldr	r1, [sp, #0]
+     b4c:	2005		mov	r0, #5
+     b4e:	0300		lsl	r0, r0, #12
+     b50:	4281		cmp	r1, r0
+     b52:	d3f7		bcc	0xb44
+     b54:	f000 f82a	bl	0xbac
+     b58:	2000		mov	r0, #0
+     b5a:	2107		mov	r1, #7
+     b5c:	f000 f9f2	bl	0xf44
+     b60:	2000		mov	r0, #0
+     b62:	9000		str	r0, [sp, #0]
+     b64:	9900		ldr	r1, [sp, #0]
+     b66:	2005		mov	r0, #5
+     b68:	0300		lsl	r0, r0, #12
+     b6a:	4281		cmp	r1, r0
+     b6c:	d207		bcs	0xb7e
+     b6e:	9800		ldr	r0, [sp, #0]
+     b70:	3001		add	r0, #1
+     b72:	9000		str	r0, [sp, #0]
+     b74:	9900		ldr	r1, [sp, #0]
+     b76:	2005		mov	r0, #5
+     b78:	0300		lsl	r0, r0, #12
+     b7a:	4281		cmp	r1, r0
+     b7c:	d3f7		bcc	0xb6e
+     b7e:	f000 f815	bl	0xbac
+     b82:	2000		mov	r0, #0
+     b84:	9001		str	r0, [sp, #4]
+     b86:	9000		str	r0, [sp, #0]
+     b88:	9900		ldr	r1, [sp, #0]
+     b8a:	2005		mov	r0, #5
+     b8c:	0400		lsl	r0, r0, #16
+     b8e:	4281		cmp	r1, r0
+     b90:	d20a		bcs	0xba8
+     b92:	9801		ldr	r0, [sp, #4]
+     b94:	3001		add	r0, #1
+     b96:	9001		str	r0, [sp, #4]
+     b98:	9800		ldr	r0, [sp, #0]
+     b9a:	3001		add	r0, #1
+     b9c:	9000		str	r0, [sp, #0]
+     b9e:	9900		ldr	r1, [sp, #0]
+     ba0:	2005		mov	r0, #5
+     ba2:	0400		lsl	r0, r0, #16
+     ba4:	4281		cmp	r1, r0
+     ba6:	d3f4		bcc	0xb92
+     ba8:	b002		add	sp, #8
+     baa:	bd00		pop	{pc}
+
+     bac:	b500		push	{lr}
+     bae:	b089		sub	sp, #36	; 0x24
+     bb0:	48e1		ldr	r0, =0x800100	; via 0xf38
+     bb2:	9005		str	r0, [sp, #20]	; 0x14
+     bb4:	48e1		ldr	r0, =0x2060	; via 0xf3c
+     bb6:	9008		str	r0, [sp, #32]	; 0x20
+     bb8:	9808		ldr	r0, [sp, #32]	; 0x20
+     bba:	6801		ldr	r1, [r0, #0]
+     bbc:	48e0		ldr	r0, =0xdddddddd	; via 0xf40
+     bbe:	4281		cmp	r1, r0
+     bc0:	d000		beq	0xbc4
+     bc2:	e102		b	0xdca
+     bc4:	201b		mov	r0, #27	; 0x1b
+     bc6:	f000 f95f	bl	0xe88
+     bca:	20f6		mov	r0, #246	; 0xf6
+     bcc:	f000 f95c	bl	0xe88
+     bd0:	2002		mov	r0, #2
+     bd2:	f000 f959	bl	0xe88
+     bd6:	2000		mov	r0, #0
+     bd8:	f000 f956	bl	0xe88
+     bdc:	2041		mov	r0, #65	; 0x41
+     bde:	f000 f953	bl	0xe88
+     be2:	2001		mov	r0, #1
+     be4:	f000 f950	bl	0xe88
+     be8:	2040		mov	r0, #64	; 0x40
+     bea:	f000 f94d	bl	0xe88
+     bee:	2001		mov	r0, #1
+     bf0:	0300		lsl	r0, r0, #12
+     bf2:	f000 f961	bl	0xeb8
+     bf6:	281b		cmp	r0, #27	; 0x1b
+     bf8:	d000		beq	0xbfc
+     bfa:	e0e6		b	0xdca
+     bfc:	2001		mov	r0, #1
+     bfe:	0300		lsl	r0, r0, #12
+     c00:	f000 f95a	bl	0xeb8
+     c04:	28f6		cmp	r0, #246	; 0xf6
+     c06:	d000		beq	0xc0a
+     c08:	e0df		b	0xdca
+     c0a:	2001		mov	r0, #1
+     c0c:	0300		lsl	r0, r0, #12
+     c0e:	f000 f953	bl	0xeb8
+     c12:	2802		cmp	r0, #2
+     c14:	d000		beq	0xc18
+     c16:	e0d8		b	0xdca
+     c18:	2001		mov	r0, #1
+     c1a:	0300		lsl	r0, r0, #12
+     c1c:	f000 f94c	bl	0xeb8
+     c20:	2800		cmp	r0, #0
+     c22:	d000		beq	0xc26
+     c24:	e0d1		b	0xdca
+     c26:	2001		mov	r0, #1
+     c28:	0300		lsl	r0, r0, #12
+     c2a:	f000 f945	bl	0xeb8
+     c2e:	2852		cmp	r0, #82	; 0x52
+     c30:	d000		beq	0xc34
+     c32:	e0ca		b	0xdca
+     c34:	2001		mov	r0, #1
+     c36:	0300		lsl	r0, r0, #12
+     c38:	f000 f93e	bl	0xeb8
+     c3c:	2801		cmp	r0, #1
+     c3e:	d000		beq	0xc42
+     c40:	e0c3		b	0xdca
+     c42:	2001		mov	r0, #1
+     c44:	0300		lsl	r0, r0, #12
+     c46:	f000 f937	bl	0xeb8
+     c4a:	2853		cmp	r0, #83	; 0x53
+     c4c:	d000		beq	0xc50
+     c4e:	e0bc		b	0xdca
+     c50:	201b		mov	r0, #27	; 0x1b
+     c52:	f000 f919	bl	0xe88
+     c56:	20f6		mov	r0, #246	; 0xf6
+     c58:	f000 f916	bl	0xe88
+     c5c:	2002		mov	r0, #2
+     c5e:	f000 f913	bl	0xe88
+     c62:	2000		mov	r0, #0
+     c64:	f000 f910	bl	0xe88
+     c68:	2041		mov	r0, #65	; 0x41
+     c6a:	f000 f90d	bl	0xe88
+     c6e:	2002		mov	r0, #2
+     c70:	f000 f90a	bl	0xe88
+     c74:	2043		mov	r0, #67	; 0x43
+     c76:	f000 f907	bl	0xe88
+     c7a:	2001		mov	r0, #1
+     c7c:	0300		lsl	r0, r0, #12
+     c7e:	f000 f91b	bl	0xeb8
+     c82:	4669		mov	r1, sp
+     c84:	7208		strb	r0, [r1, #8]
+     c86:	2002		mov	r0, #2
+     c88:	7448		strb	r0, [r1, #17]	; 0x11
+     c8a:	2000		mov	r0, #0
+     c8c:	9000		str	r0, [sp, #0]
+     c8e:	9800		ldr	r0, [sp, #0]
+     c90:	2802		cmp	r0, #2
+     c92:	d215		bcs	0xcc0
+     c94:	2001		mov	r0, #1
+     c96:	0300		lsl	r0, r0, #12
+     c98:	f000 f90e	bl	0xeb8
+     c9c:	4669		mov	r1, sp
+     c9e:	9a00		ldr	r2, [sp, #0]
+     ca0:	1a89		sub	r1, r1, r2
+     ca2:	7348		strb	r0, [r1, #13]	; 0xd
+     ca4:	4669		mov	r1, sp
+     ca6:	9800		ldr	r0, [sp, #0]
+     ca8:	1a08		sub	r0, r1, r0
+     caa:	7b40		ldrb	r0, [r0, #13]	; 0xd
+     cac:	7c49		ldrb	r1, [r1, #17]	; 0x11
+     cae:	4048		eor	r0, r1
+     cb0:	4669		mov	r1, sp
+     cb2:	7448		strb	r0, [r1, #17]	; 0x11
+     cb4:	9800		ldr	r0, [sp, #0]
+     cb6:	3001		add	r0, #1
+     cb8:	9000		str	r0, [sp, #0]
+     cba:	9800		ldr	r0, [sp, #0]
+     cbc:	2802		cmp	r0, #2
+     cbe:	d3e9		bcc	0xc94
+     cc0:	4668		mov	r0, sp
+     cc2:	8980		ldrh	r0, [r0, #12]	; 0xc
+     cc4:	466a		mov	r2, sp
+     cc6:	1e41		sub	r1, r0, #1
+     cc8:	8191		strh	r1, [r2, #12]	; 0xc
+     cca:	2800		cmp	r0, #0
+     ccc:	d016		beq	0xcfc
+     cce:	2001		mov	r0, #1
+     cd0:	0300		lsl	r0, r0, #12
+     cd2:	f000 f8f1	bl	0xeb8
+     cd6:	9905		ldr	r1, [sp, #20]	; 0x14
+     cd8:	7008		strb	r0, [r1, #0]
+     cda:	9805		ldr	r0, [sp, #20]	; 0x14
+     cdc:	7800		ldrb	r0, [r0, #0]
+     cde:	4669		mov	r1, sp
+     ce0:	7c49		ldrb	r1, [r1, #17]	; 0x11
+     ce2:	4048		eor	r0, r1
+     ce4:	4669		mov	r1, sp
+     ce6:	7448		strb	r0, [r1, #17]	; 0x11
+     ce8:	9805		ldr	r0, [sp, #20]	; 0x14
+     cea:	3001		add	r0, #1
+     cec:	9005		str	r0, [sp, #20]	; 0x14
+     cee:	4668		mov	r0, sp
+     cf0:	8981		ldrh	r1, [r0, #12]	; 0xc
+     cf2:	466a		mov	r2, sp
+     cf4:	1e48		sub	r0, r1, #1
+     cf6:	8190		strh	r0, [r2, #12]	; 0xc
+     cf8:	2900		cmp	r1, #0
+     cfa:	d1e8		bne	0xcce
+     cfc:	2001		mov	r0, #1
+     cfe:	0300		lsl	r0, r0, #12
+     d00:	f000 f8da	bl	0xeb8
+     d04:	4669		mov	r1, sp
+     d06:	7408		strb	r0, [r1, #16]	; 0x10
+     d08:	4668		mov	r0, sp
+     d0a:	7c01		ldrb	r1, [r0, #16]	; 0x10
+     d0c:	7c40		ldrb	r0, [r0, #17]	; 0x11
+     d0e:	4281		cmp	r1, r0
+     d10:	d015		beq	0xd3e
+     d12:	201b		mov	r0, #27	; 0x1b
+     d14:	f000 f8b8	bl	0xe88
+     d18:	20f6		mov	r0, #246	; 0xf6
+     d1a:	f000 f8b5	bl	0xe88
+     d1e:	2002		mov	r0, #2
+     d20:	f000 f8b2	bl	0xe88
+     d24:	2000		mov	r0, #0
+     d26:	f000 f8af	bl	0xe88
+     d2a:	2045		mov	r0, #69	; 0x45
+     d2c:	f000 f8ac	bl	0xe88
+     d30:	2053		mov	r0, #83	; 0x53
+     d32:	f000 f8a9	bl	0xe88
+     d36:	2016		mov	r0, #22	; 0x16
+     d38:	f000 f8a6	bl	0xe88
+     d3c:	e045		b	0xdca
+     d3e:	2081		mov	r0, #129	; 0x81
+     d40:	0100		lsl	r0, r0, #4
+     d42:	9006		str	r0, [sp, #24]	; 0x18
+     d44:	48b1		ldr	r0, =0x803ce0	; via 0x100c
+     d46:	9007		str	r0, [sp, #28]	; 0x1c
+     d48:	2000		mov	r0, #0
+     d4a:	9000		str	r0, [sp, #0]
+     d4c:	9800		ldr	r0, [sp, #0]
+     d4e:	2804		cmp	r0, #4
+     d50:	d221		bcs	0xd96
+     d52:	9900		ldr	r1, [sp, #0]
+     d54:	9806		ldr	r0, [sp, #24]	; 0x18
+     d56:	5c0a		ldrb	r2, [r1, r0]
+     d58:	9900		ldr	r1, [sp, #0]
+     d5a:	9807		ldr	r0, [sp, #28]	; 0x1c
+     d5c:	5c08		ldrb	r0, [r1, r0]
+     d5e:	4282		cmp	r2, r0
+     d60:	dd13		ble	0xd8a
+     d62:	201b		mov	r0, #27	; 0x1b
+     d64:	f000 f890	bl	0xe88
+     d68:	20f6		mov	r0, #246	; 0xf6
+     d6a:	f000 f88d	bl	0xe88
+     d6e:	2002		mov	r0, #2
+     d70:	f000 f88a	bl	0xe88
+     d74:	2000		mov	r0, #0
+     d76:	f000 f887	bl	0xe88
+     d7a:	2041		mov	r0, #65	; 0x41
+     d7c:	f000 f884	bl	0xe88
+     d80:	2003		mov	r0, #3
+     d82:	f000 f881	bl	0xe88
+     d86:	2057		mov	r0, #87	; 0x57
+     d88:	e7d6		b	0xd38
+     d8a:	9800		ldr	r0, [sp, #0]
+     d8c:	3001		add	r0, #1
+     d8e:	9000		str	r0, [sp, #0]
+     d90:	9800		ldr	r0, [sp, #0]
+     d92:	2804		cmp	r0, #4
+     d94:	d3dd		bcc	0xd52
+     d96:	201b		mov	r0, #27	; 0x1b
+     d98:	f000 f876	bl	0xe88
+     d9c:	20f6		mov	r0, #246	; 0xf6
+     d9e:	f000 f873	bl	0xe88
+     da2:	2002		mov	r0, #2
+     da4:	f000 f870	bl	0xe88
+     da8:	2000		mov	r0, #0
+     daa:	f000 f86d	bl	0xe88
+     dae:	2041		mov	r0, #65	; 0x41
+     db0:	f000 f86a	bl	0xe88
+     db4:	2003		mov	r0, #3
+     db6:	f000 f867	bl	0xe88
+     dba:	2042		mov	r0, #66	; 0x42
+     dbc:	f000 f864	bl	0xe88
+     dc0:	484b		ldr	r0, =0x83ff00	; via 0xef0
+     dc2:	6800		ldr	r0, [r0, #0]
+     dc4:	4992		ldr	r1, =0x800100	; via 0x1010
+     dc6:	f000 f85e	bl	0xe86
+     dca:	b009		add	sp, #36	; 0x24
+     dcc:	bd00		pop	{pc}
+
+     dce:	b500		push	{lr}
+     dd0:	b081		sub	sp, #4
+     dd2:	2066		mov	r0, #102	; 0x66
+     dd4:	f000 f858	bl	0xe88
+     dd8:	2074		mov	r0, #116	; 0x74
+     dda:	f000 f855	bl	0xe88
+     dde:	206d		mov	r0, #109	; 0x6d
+     de0:	f000 f852	bl	0xe88
+     de4:	2074		mov	r0, #116	; 0x74
+     de6:	f000 f84f	bl	0xe88
+     dea:	206f		mov	r0, #111	; 0x6f
+     dec:	f000 f84c	bl	0xe88
+     df0:	206f		mov	r0, #111	; 0x6f
+     df2:	f000 f849	bl	0xe88
+     df6:	206c		mov	r0, #108	; 0x6c
+     df8:	f000 f846	bl	0xe88
+     dfc:	4985		ldr	r1, =0x83ff80	; via 0x1014
+     dfe:	2000		mov	r0, #0
+     e00:	7008		strb	r0, [r1, #0]
+     e02:	9000		str	r0, [sp, #0]
+     e04:	9800		ldr	r0, [sp, #0]
+     e06:	0c00		lsr	r0, r0, #16
+     e08:	d105		bne	0xe16
+     e0a:	9800		ldr	r0, [sp, #0]
+     e0c:	3001		add	r0, #1
+     e0e:	9000		str	r0, [sp, #0]
+     e10:	9800		ldr	r0, [sp, #0]
+     e12:	0c00		lsr	r0, r0, #16
+     e14:	d0f9		beq	0xe0a
+     e16:	2007		mov	r0, #7
+     e18:	0400		lsl	r0, r0, #16
+     e1a:	f000 f84d	bl	0xeb8
+     e1e:	2879		cmp	r0, #121	; 0x79
+     e20:	d10e		bne	0xe40
+     e22:	2001		mov	r0, #1
+     e24:	0300		lsl	r0, r0, #12
+     e26:	f000 f847	bl	0xeb8
+     e2a:	2865		cmp	r0, #101	; 0x65
+     e2c:	d108		bne	0xe40
+     e2e:	2001		mov	r0, #1
+     e30:	0300		lsl	r0, r0, #12
+     e32:	f000 f841	bl	0xeb8
+     e36:	2873		cmp	r0, #115	; 0x73
+     e38:	d102		bne	0xe40
+     e3a:	4876		ldr	r0, =0x83ff80	; via 0x1014
+     e3c:	2101		mov	r1, #1
+     e3e:	7001		strb	r1, [r0, #0]
+     e40:	f000 f8d2	bl	0xfe8
+     e44:	2800		cmp	r0, #0
+     e46:	d00d		beq	0xe64
+     e48:	206d		mov	r0, #109	; 0x6d
+     e4a:	f000 f81d	bl	0xe88
+     e4e:	206f		mov	r0, #111	; 0x6f
+     e50:	f000 f81a	bl	0xe88
+     e54:	2064		mov	r0, #100	; 0x64
+     e56:	f000 f817	bl	0xe88
+     e5a:	2065		mov	r0, #101	; 0x65
+     e5c:	f000 f814	bl	0xe88
+     e60:	206d		mov	r0, #109	; 0x6d
+     e62:	e00c		b	0xe7e
+     e64:	2065		mov	r0, #101	; 0x65
+     e66:	f000 f80f	bl	0xe88
+     e6a:	2072		mov	r0, #114	; 0x72
+     e6c:	f000 f80c	bl	0xe88
+     e70:	2072		mov	r0, #114	; 0x72
+     e72:	f000 f809	bl	0xe88
+     e76:	206f		mov	r0, #111	; 0x6f
+     e78:	f000 f806	bl	0xe88
+     e7c:	2072		mov	r0, #114	; 0x72
+     e7e:	f000 f803	bl	0xe88
+     e82:	b001		add	sp, #4
+     e84:	bd00		pop	{pc}
+
+     e86:	4708		bx	r1
+
+     e88:	b081		sub	sp, #4
+     e8a:	4669		mov	r1, sp
+     e8c:	7008		strb	r0, [r1, #0]
+     e8e:	4818		ldr	r0, =0x83ff00	; via 0xef0
+     e90:	6800		ldr	r0, [r0, #0]
+     e92:	7940		ldrb	r0, [r0, #5]
+     e94:	0980		lsr	r0, r0, #6
+     e96:	d3fa		bcc	0xe8e
+     e98:	4815		ldr	r0, =0x83ff00	; via 0xef0
+     e9a:	6800		ldr	r0, [r0, #0]
+     e9c:	4669		mov	r1, sp
+     e9e:	7809		ldrb	r1, [r1, #0]
+     ea0:	7001		strb	r1, [r0, #0]
+     ea2:	b001		add	sp, #4
+     ea4:	46f7		mov	pc, lr
+     ea6:	4812		ldr	r0, =0x83ff00	; via 0xef0
+     ea8:	6800		ldr	r0, [r0, #0]
+     eaa:	7940		ldrb	r0, [r0, #5]
+     eac:	0840		lsr	r0, r0, #1
+     eae:	d3fa		bcc	0xea6
+     eb0:	480f		ldr	r0, =0x83ff00	; via 0xef0
+     eb2:	6800		ldr	r0, [r0, #0]
+     eb4:	7800		ldrb	r0, [r0, #0]
+     eb6:	4770		bx	lr
+     eb8:	b083		sub	sp, #12	; 0xc
+     eba:	9000		str	r0, [sp, #0]
+     ebc:	9800		ldr	r0, [sp, #0]
+     ebe:	9002		str	r0, [sp, #8]
+     ec0:	480b		ldr	r0, =0x83ff00	; via 0xef0
+     ec2:	6800		ldr	r0, [r0, #0]
+     ec4:	7940		ldrb	r0, [r0, #5]
+     ec6:	0840		lsr	r0, r0, #1
+     ec8:	d20c		bcs	0xee4
+     eca:	9802		ldr	r0, [sp, #8]
+     ecc:	3801		sub	r0, #1
+     ece:	9002		str	r0, [sp, #8]
+     ed0:	9802		ldr	r0, [sp, #8]
+     ed2:	2800		cmp	r0, #0
+     ed4:	d101		bne	0xeda
+     ed6:	20ff		mov	r0, #255	; 0xff
+     ed8:	e007		b	0xeea
+     eda:	484f		ldr	r0, =0x83ff00	; via 0x1018
+     edc:	6800		ldr	r0, [r0, #0]
+     ede:	7940		ldrb	r0, [r0, #5]
+     ee0:	0840		lsr	r0, r0, #1
+     ee2:	d3f2		bcc	0xeca
+     ee4:	484c		ldr	r0, =0x83ff00	; via 0x1018
+     ee6:	6800		ldr	r0, [r0, #0]
+     ee8:	7800		ldrb	r0, [r0, #0]
+     eea:	b003		add	sp, #12	; 0xc
+     eec:	4770		bx	lr
+     eee:	46c0		nop			(mov r8, r8)
+     ef0:	ff00		<half-bl>
+     ef2:	0083		lsl	r3, r0, #2
+     ef4:	5800		ldr	r0, [r0, r0]
+     ef6:	ffff		<half-bl>
+     ef8:	b081		sub	sp, #4
+     efa:	e001		b	0xf00
+     efc:	9800		ldr	r0, [sp, #0]
+     efe:	3801		sub	r0, #1
+     f00:	9000		str	r0, [sp, #0]
+     f02:	4845		ldr	r0, =0x83ff00	; via 0x1018
+     f04:	6800		ldr	r0, [r0, #0]
+     f06:	7940		ldrb	r0, [r0, #5]
+     f08:	0840		lsr	r0, r0, #1
+     f0a:	d202		bcs	0xf12
+     f0c:	9800		ldr	r0, [sp, #0]
+     f0e:	2800		cmp	r0, #0
+     f10:	dcf4		bgt	0xefc
+     f12:	9800		ldr	r0, [sp, #0]
+     f14:	2800		cmp	r0, #0
+     f16:	dd01		ble	0xf1c
+     f18:	2000		mov	r0, #0
+     f1a:	e000		b	0xf1e
+     f1c:	2001		mov	r0, #1
+     f1e:	b001		add	sp, #4
+     f20:	4770		bx	lr
+     f22:	b082		sub	sp, #8
+     f24:	9000		str	r0, [sp, #0]
+     f26:	4669		mov	r1, sp
+     f28:	2000		mov	r0, #0
+     f2a:	7188		strb	r0, [r1, #6]
+     f2c:	9900		ldr	r1, [sp, #0]
+     f2e:	483b		ldr	r0, =0xfffef000	; via 0x101c
+     f30:	8800		ldrh	r0, [r0, #0]
+     f32:	8008		strh	r0, [r1, #0]
+     f34:	b002		add	sp, #8
+     f36:	4770		bx	lr
+     f38:	0100		lsl	r0, r0, #4
+     f3a:	0080		lsl	r0, r0, #2
+     f3c:	2060		mov	r0, #96	; 0x60
+     f3e:	0000		lsl	r0, r0, #0
+     f40:	dddd		ble	0xefe
+     f42:	dddd		ble	0xf00
+     f44:	b081		sub	sp, #4
+     f46:	466a		mov	r2, sp
+     f48:	7051		strb	r1, [r2, #1]
+     f4a:	4669		mov	r1, sp
+     f4c:	7008		strb	r0, [r1, #0]
+     f4e:	4934		ldr	r1, =0xffff6000	; via 0x1020
+     f50:	2002		mov	r0, #2
+     f52:	880a		ldrh	r2, [r1, #0]
+     f54:	4310		orr	r0, r2
+     f56:	8008		strh	r0, [r1, #0]
+     f58:	4831		ldr	r0, =0xffff6000	; via 0x1020
+     f5a:	8801		ldrh	r1, [r0, #0]
+     f5c:	0849		lsr	r1, r1, #1
+     f5e:	0049		lsl	r1, r1, #1
+     f60:	8001		strh	r1, [r0, #0]
+     f62:	492f		ldr	r1, =0xffff6000	; via 0x1020
+     f64:	8808		ldrh	r0, [r1, #0]
+     f66:	2202		mov	r2, #2
+     f68:	4390		bic	r0, r2
+     f6a:	8008		strh	r0, [r1, #0]
+     f6c:	482a		ldr	r0, =0x83ff00	; via 0x1018
+     f6e:	6801		ldr	r1, [r0, #0]
+     f70:	2007		mov	r0, #7
+     f72:	7208		strb	r0, [r1, #8]
+     f74:	4828		ldr	r0, =0x83ff00	; via 0x1018
+     f76:	6801		ldr	r1, [r0, #0]
+     f78:	20bf		mov	r0, #191	; 0xbf
+     f7a:	70c8		strb	r0, [r1, #3]
+     f7c:	4826		ldr	r0, =0x83ff00	; via 0x1018
+     f7e:	6800		ldr	r0, [r0, #0]
+     f80:	1c80		add	r0, r0, #2
+     f82:	2110		mov	r1, #16	; 0x10
+     f84:	8802		ldrh	r2, [r0, #0]
+     f86:	4311		orr	r1, r2
+     f88:	8001		strh	r1, [r0, #0]
+     f8a:	4823		ldr	r0, =0x83ff00	; via 0x1018
+     f8c:	6801		ldr	r1, [r0, #0]
+     f8e:	2080		mov	r0, #128	; 0x80
+     f90:	70c8		strb	r0, [r1, #3]
+     f92:	4821		ldr	r0, =0x83ff00	; via 0x1018
+     f94:	6800		ldr	r0, [r0, #0]
+     f96:	2107		mov	r1, #7
+     f98:	7081		strb	r1, [r0, #2]
+     f9a:	481f		ldr	r0, =0x83ff00	; via 0x1018
+     f9c:	6800		ldr	r0, [r0, #0]
+     f9e:	21bf		mov	r1, #191	; 0xbf
+     fa0:	70c1		strb	r1, [r0, #3]
+     fa2:	481d		ldr	r0, =0x83ff00	; via 0x1018
+     fa4:	6801		ldr	r1, [r0, #0]
+     fa6:	4668		mov	r0, sp
+     fa8:	7840		ldrb	r0, [r0, #1]
+     faa:	7008		strb	r0, [r1, #0]
+     fac:	481a		ldr	r0, =0x83ff00	; via 0x1018
+     fae:	6801		ldr	r1, [r0, #0]
+     fb0:	4668		mov	r0, sp
+     fb2:	7800		ldrb	r0, [r0, #0]
+     fb4:	7048		strb	r0, [r1, #1]
+     fb6:	4818		ldr	r0, =0x83ff00	; via 0x1018
+     fb8:	6801		ldr	r1, [r0, #0]
+     fba:	2003		mov	r0, #3
+     fbc:	70c8		strb	r0, [r1, #3]
+     fbe:	4816		ldr	r0, =0x83ff00	; via 0x1018
+     fc0:	6800		ldr	r0, [r0, #0]
+     fc2:	2100		mov	r1, #0
+     fc4:	7201		strb	r1, [r0, #8]
+     fc6:	4814		ldr	r0, =0x83ff00	; via 0x1018
+     fc8:	6800		ldr	r0, [r0, #0]
+     fca:	7940		ldrb	r0, [r0, #5]
+     fcc:	0840		lsr	r0, r0, #1
+     fce:	d309		bcc	0xfe4
+     fd0:	4669		mov	r1, sp
+     fd2:	4811		ldr	r0, =0x83ff00	; via 0x1018
+     fd4:	6800		ldr	r0, [r0, #0]
+     fd6:	7800		ldrb	r0, [r0, #0]
+     fd8:	7088		strb	r0, [r1, #2]
+     fda:	480f		ldr	r0, =0x83ff00	; via 0x1018
+     fdc:	6800		ldr	r0, [r0, #0]
+     fde:	7940		ldrb	r0, [r0, #5]
+     fe0:	0840		lsr	r0, r0, #1
+     fe2:	d2f5		bcs	0xfd0
+     fe4:	b001		add	sp, #4
+     fe6:	4770		bx	lr
+     fe8:	480a		ldr	r0, =0x83ff80	; via 0x1014
+     fea:	7800		ldrb	r0, [r0, #0]
+     fec:	4770		bx	lr
+     fee:	b500		push	{lr}
+     ff0:	b081		sub	sp, #4
+     ff2:	4669		mov	r1, sp
+     ff4:	7008		strb	r0, [r1, #0]
+     ff6:	4668		mov	r0, sp
+     ff8:	7800		ldrb	r0, [r0, #0]
+     ffa:	f7ff ff45	bl	0xe88
+     ffe:	b001		add	sp, #4
+    1000:	bd00		pop	{pc}
+    1002:	b500		push	{lr}
+    1004:	f7ff ff4f	bl	0xea6
+    1008:	bd00		pop	{pc}
+    100a:	46c0		nop			(mov r8, r8)
+    100c:	3ce0		sub	r4, #224	; 0xe0
+    100e:	0080		lsl	r0, r0, #2
+    1010:	0100		lsl	r0, r0, #4
+    1012:	0080		lsl	r0, r0, #2
+    1014:	ff80		<half-bl>
+    1016:	0083		lsl	r3, r0, #2
+    1018:	ff00		<half-bl>
+    101a:	0083		lsl	r3, r0, #2
+    101c:	f000 fffe	bl	0x201c
+    1020:	6000		str	r0, [r0, #0]
+    1022:	ffff		<half-bl>
+    1024:	4700		bx	r0
+    1026:	0000		lsl	r0, r0, #0
+    1028:	b08c		sub	sp, #48	; 0x30
+    102a:	9101		str	r1, [sp, #4]
+    102c:	9000		str	r0, [sp, #0]
+    102e:	2000		mov	r0, #0
+    1030:	9003		str	r0, [sp, #12]	; 0xc
+    1032:	9800		ldr	r0, [sp, #0]
+    1034:	7801		ldrb	r1, [r0, #0]
+    1036:	3001		add	r0, #1
+    1038:	9000		str	r0, [sp, #0]
+    103a:	9105		str	r1, [sp, #20]	; 0x14
+    103c:	9800		ldr	r0, [sp, #0]
+    103e:	7801		ldrb	r1, [r0, #0]
+    1040:	3001		add	r0, #1
+    1042:	9000		str	r0, [sp, #0]
+    1044:	9801		ldr	r0, [sp, #4]
+    1046:	7001		strb	r1, [r0, #0]
+    1048:	2001		mov	r0, #1
+    104a:	9004		str	r0, [sp, #16]	; 0x10
+    104c:	e0a8		b	0x11a0
+    104e:	9804		ldr	r0, [sp, #16]	; 0x10
+    1050:	3002		add	r0, #2
+    1052:	9004		str	r0, [sp, #16]	; 0x10
+    1054:	9800		ldr	r0, [sp, #0]
+    1056:	7801		ldrb	r1, [r0, #0]
+    1058:	3001		add	r0, #1
+    105a:	9000		str	r0, [sp, #0]
+    105c:	4668		mov	r0, sp
+    105e:	8441		strh	r1, [r0, #34]	; 0x22
+    1060:	9800		ldr	r0, [sp, #0]
+    1062:	7801		ldrb	r1, [r0, #0]
+    1064:	3001		add	r0, #1
+    1066:	9000		str	r0, [sp, #0]
+    1068:	4668		mov	r0, sp
+    106a:	8401		strh	r1, [r0, #32]	; 0x20
+    106c:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    106e:	4669		mov	r1, sp
+    1070:	8c49		ldrh	r1, [r1, #34]	; 0x22
+    1072:	0209		lsl	r1, r1, #8
+    1074:	1840		add	r0, r0, r1
+    1076:	9901		ldr	r1, [sp, #4]
+    1078:	8088		strh	r0, [r1, #4]
+    107a:	9804		ldr	r0, [sp, #16]	; 0x10
+    107c:	3001		add	r0, #1
+    107e:	9004		str	r0, [sp, #16]	; 0x10
+    1080:	9800		ldr	r0, [sp, #0]
+    1082:	7801		ldrb	r1, [r0, #0]
+    1084:	3001		add	r0, #1
+    1086:	9000		str	r0, [sp, #0]
+    1088:	4668		mov	r0, sp
+    108a:	7601		strb	r1, [r0, #24]	; 0x18
+    108c:	9901		ldr	r1, [sp, #4]
+    108e:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1090:	7188		strb	r0, [r1, #6]
+    1092:	4668		mov	r0, sp
+    1094:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1096:	2840		cmp	r0, #64	; 0x40
+    1098:	dc00		bgt	0x109c
+    109a:	e09f		b	0x11dc
+    109c:	2004		mov	r0, #4
+    109e:	9003		str	r0, [sp, #12]	; 0xc
+    10a0:	e09c		b	0x11dc
+    10a2:	9804		ldr	r0, [sp, #16]	; 0x10
+    10a4:	3002		add	r0, #2
+    10a6:	9004		str	r0, [sp, #16]	; 0x10
+    10a8:	9800		ldr	r0, [sp, #0]
+    10aa:	7801		ldrb	r1, [r0, #0]
+    10ac:	3001		add	r0, #1
+    10ae:	9000		str	r0, [sp, #0]
+    10b0:	4668		mov	r0, sp
+    10b2:	8441		strh	r1, [r0, #34]	; 0x22
+    10b4:	9800		ldr	r0, [sp, #0]
+    10b6:	7801		ldrb	r1, [r0, #0]
+    10b8:	3001		add	r0, #1
+    10ba:	9000		str	r0, [sp, #0]
+    10bc:	4668		mov	r0, sp
+    10be:	8401		strh	r1, [r0, #32]	; 0x20
+    10c0:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    10c2:	4669		mov	r1, sp
+    10c4:	8c49		ldrh	r1, [r1, #34]	; 0x22
+    10c6:	0209		lsl	r1, r1, #8
+    10c8:	1841		add	r1, r0, r1
+    10ca:	9801		ldr	r0, [sp, #4]
+    10cc:	8081		strh	r1, [r0, #4]
+    10ce:	9804		ldr	r0, [sp, #16]	; 0x10
+    10d0:	3001		add	r0, #1
+    10d2:	9004		str	r0, [sp, #16]	; 0x10
+    10d4:	9800		ldr	r0, [sp, #0]
+    10d6:	7801		ldrb	r1, [r0, #0]
+    10d8:	3001		add	r0, #1
+    10da:	9000		str	r0, [sp, #0]
+    10dc:	4668		mov	r0, sp
+    10de:	7601		strb	r1, [r0, #24]	; 0x18
+    10e0:	9901		ldr	r1, [sp, #4]
+    10e2:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    10e4:	7188		strb	r0, [r1, #6]
+    10e6:	4668		mov	r0, sp
+    10e8:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    10ea:	2840		cmp	r0, #64	; 0x40
+    10ec:	dcd6		bgt	0x109c
+    10ee:	9801		ldr	r0, [sp, #4]
+    10f0:	3008		add	r0, #8
+    10f2:	9007		str	r0, [sp, #28]	; 0x1c
+    10f4:	2000		mov	r0, #0
+    10f6:	9002		str	r0, [sp, #8]
+    10f8:	9902		ldr	r1, [sp, #8]
+    10fa:	4668		mov	r0, sp
+    10fc:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    10fe:	4281		cmp	r1, r0
+    1100:	da6c		bge	0x11dc
+    1102:	9800		ldr	r0, [sp, #0]
+    1104:	7801		ldrb	r1, [r0, #0]
+    1106:	3001		add	r0, #1
+    1108:	9000		str	r0, [sp, #0]
+    110a:	4668		mov	r0, sp
+    110c:	84c1		strh	r1, [r0, #38]	; 0x26
+    110e:	9800		ldr	r0, [sp, #0]
+    1110:	7801		ldrb	r1, [r0, #0]
+    1112:	3001		add	r0, #1
+    1114:	9000		str	r0, [sp, #0]
+    1116:	4668		mov	r0, sp
+    1118:	8481		strh	r1, [r0, #36]	; 0x24
+    111a:	9807		ldr	r0, [sp, #28]	; 0x1c
+    111c:	1c81		add	r1, r0, #2
+    111e:	9107		str	r1, [sp, #28]	; 0x1c
+    1120:	4669		mov	r1, sp
+    1122:	8c89		ldrh	r1, [r1, #36]	; 0x24
+    1124:	466a		mov	r2, sp
+    1126:	8cd2		ldrh	r2, [r2, #38]	; 0x26
+    1128:	0212		lsl	r2, r2, #8
+    112a:	1889		add	r1, r1, r2
+    112c:	8001		strh	r1, [r0, #0]
+    112e:	9804		ldr	r0, [sp, #16]	; 0x10
+    1130:	3002		add	r0, #2
+    1132:	9004		str	r0, [sp, #16]	; 0x10
+    1134:	9802		ldr	r0, [sp, #8]
+    1136:	3001		add	r0, #1
+    1138:	9002		str	r0, [sp, #8]
+    113a:	9902		ldr	r1, [sp, #8]
+    113c:	4668		mov	r0, sp
+    113e:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1140:	4281		cmp	r1, r0
+    1142:	dbde		blt	0x1102
+    1144:	e04a		b	0x11dc
+    1146:	9804		ldr	r0, [sp, #16]	; 0x10
+    1148:	3002		add	r0, #2
+    114a:	9004		str	r0, [sp, #16]	; 0x10
+    114c:	9800		ldr	r0, [sp, #0]
+    114e:	7801		ldrb	r1, [r0, #0]
+    1150:	3001		add	r0, #1
+    1152:	9000		str	r0, [sp, #0]
+    1154:	4668		mov	r0, sp
+    1156:	8501		strh	r1, [r0, #40]	; 0x28
+    1158:	9800		ldr	r0, [sp, #0]
+    115a:	7801		ldrb	r1, [r0, #0]
+    115c:	3001		add	r0, #1
+    115e:	9000		str	r0, [sp, #0]
+    1160:	4668		mov	r0, sp
+    1162:	8541		strh	r1, [r0, #42]	; 0x2a
+    1164:	8d41		ldrh	r1, [r0, #42]	; 0x2a
+    1166:	8d00		ldrh	r0, [r0, #40]	; 0x28
+    1168:	0200		lsl	r0, r0, #8
+    116a:	1809		add	r1, r1, r0
+    116c:	9801		ldr	r0, [sp, #4]
+    116e:	8081		strh	r1, [r0, #4]
+    1170:	9804		ldr	r0, [sp, #16]	; 0x10
+    1172:	3002		add	r0, #2
+    1174:	9004		str	r0, [sp, #16]	; 0x10
+    1176:	9800		ldr	r0, [sp, #0]
+    1178:	7801		ldrb	r1, [r0, #0]
+    117a:	3001		add	r0, #1
+    117c:	9000		str	r0, [sp, #0]
+    117e:	4668		mov	r0, sp
+    1180:	8581		strh	r1, [r0, #44]	; 0x2c
+    1182:	9800		ldr	r0, [sp, #0]
+    1184:	7801		ldrb	r1, [r0, #0]
+    1186:	3001		add	r0, #1
+    1188:	9000		str	r0, [sp, #0]
+    118a:	4668		mov	r0, sp
+    118c:	85c1		strh	r1, [r0, #46]	; 0x2e
+    118e:	8dc1		ldrh	r1, [r0, #46]	; 0x2e
+    1190:	8d80		ldrh	r0, [r0, #44]	; 0x2c
+    1192:	0200		lsl	r0, r0, #8
+    1194:	1808		add	r0, r1, r0
+    1196:	9901		ldr	r1, [sp, #4]
+    1198:	80c8		strh	r0, [r1, #6]
+    119a:	e01f		b	0x11dc
+    119c:	2008		mov	r0, #8
+    119e:	e77e		b	0x109e
+    11a0:	9801		ldr	r0, [sp, #4]
+    11a2:	7801		ldrb	r1, [r0, #0]
+    11a4:	290a		cmp	r1, #10	; 0xa
+    11a6:	d8f9		bhi	0x119c
+    11a8:	a001		add	r0, pc, #4
+    11aa:	0089		lsl	r1, r1, #2
+    11ac:	5840		ldr	r0, [r0, r1]
+    11ae:	4687		mov	pc, r0
+    11b0:	11dc		asr	r4, r3, #7
+    11b2:	0000		lsl	r0, r0, #0
+    11b4:	11dc		asr	r4, r3, #7
+    11b6:	0000		lsl	r0, r0, #0
+    11b8:	11dc		asr	r4, r3, #7
+    11ba:	0000		lsl	r0, r0, #0
+    11bc:	11dc		asr	r4, r3, #7
+    11be:	0000		lsl	r0, r0, #0
+    11c0:	11dc		asr	r4, r3, #7
+    11c2:	0000		lsl	r0, r0, #0
+    11c4:	11dc		asr	r4, r3, #7
+    11c6:	0000		lsl	r0, r0, #0
+    11c8:	11dc		asr	r4, r3, #7
+    11ca:	0000		lsl	r0, r0, #0
+    11cc:	104e		asr	r6, r1, #1
+    11ce:	0000		lsl	r0, r0, #0
+    11d0:	10a2		asr	r2, r4, #2
+    11d2:	0000		lsl	r0, r0, #0
+    11d4:	11dc		asr	r4, r3, #7
+    11d6:	0000		lsl	r0, r0, #0
+    11d8:	1146		asr	r6, r0, #5
+    11da:	0000		lsl	r0, r0, #0
+    11dc:	9905		ldr	r1, [sp, #20]	; 0x14
+    11de:	9804		ldr	r0, [sp, #16]	; 0x10
+    11e0:	4281		cmp	r1, r0
+    11e2:	d001		beq	0x11e8
+    11e4:	2004		mov	r0, #4
+    11e6:	9003		str	r0, [sp, #12]	; 0xc
+    11e8:	9803		ldr	r0, [sp, #12]	; 0xc
+    11ea:	b00c		add	sp, #48	; 0x30
+    11ec:	4770		bx	lr
+    11ee:	b089		sub	sp, #36	; 0x24
+    11f0:	9101		str	r1, [sp, #4]
+    11f2:	9000		str	r0, [sp, #0]
+    11f4:	2000		mov	r0, #0
+    11f6:	9003		str	r0, [sp, #12]	; 0xc
+    11f8:	9801		ldr	r0, [sp, #4]
+    11fa:	1c41		add	r1, r0, #1
+    11fc:	9101		str	r1, [sp, #4]
+    11fe:	9005		str	r0, [sp, #20]	; 0x14
+    1200:	9801		ldr	r0, [sp, #4]
+    1202:	1c41		add	r1, r0, #1
+    1204:	9101		str	r1, [sp, #4]
+    1206:	9900		ldr	r1, [sp, #0]
+    1208:	7809		ldrb	r1, [r1, #0]
+    120a:	7001		strb	r1, [r0, #0]
+    120c:	4669		mov	r1, sp
+    120e:	2001		mov	r0, #1
+    1210:	7408		strb	r0, [r1, #16]	; 0x10
+    1212:	9801		ldr	r0, [sp, #4]
+    1214:	1c41		add	r1, r0, #1
+    1216:	9101		str	r1, [sp, #4]
+    1218:	9900		ldr	r1, [sp, #0]
+    121a:	7849		ldrb	r1, [r1, #1]
+    121c:	7001		strb	r1, [r0, #0]
+    121e:	4669		mov	r1, sp
+    1220:	4668		mov	r0, sp
+    1222:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1224:	3001		add	r0, #1
+    1226:	7408		strb	r0, [r1, #16]	; 0x10
+    1228:	e0e4		b	0x13f4
+    122a:	9800		ldr	r0, [sp, #0]
+    122c:	7840		ldrb	r0, [r0, #1]
+    122e:	2800		cmp	r0, #0
+    1230:	d000		beq	0x1234
+    1232:	e0fd		b	0x1430
+    1234:	9801		ldr	r0, [sp, #4]
+    1236:	1c41		add	r1, r0, #1
+    1238:	9101		str	r1, [sp, #4]
+    123a:	9900		ldr	r1, [sp, #0]
+    123c:	7909		ldrb	r1, [r1, #4]
+    123e:	7001		strb	r1, [r0, #0]
+    1240:	9801		ldr	r0, [sp, #4]
+    1242:	1c41		add	r1, r0, #1
+    1244:	9101		str	r1, [sp, #4]
+    1246:	9900		ldr	r1, [sp, #0]
+    1248:	7949		ldrb	r1, [r1, #5]
+    124a:	7001		strb	r1, [r0, #0]
+    124c:	9801		ldr	r0, [sp, #4]
+    124e:	1c41		add	r1, r0, #1
+    1250:	9101		str	r1, [sp, #4]
+    1252:	9900		ldr	r1, [sp, #0]
+    1254:	7989		ldrb	r1, [r1, #6]
+    1256:	7001		strb	r1, [r0, #0]
+    1258:	4668		mov	r0, sp
+    125a:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    125c:	3003		add	r0, #3
+    125e:	4669		mov	r1, sp
+    1260:	7408		strb	r0, [r1, #16]	; 0x10
+    1262:	e0e5		b	0x1430
+    1264:	9800		ldr	r0, [sp, #0]
+    1266:	7840		ldrb	r0, [r0, #1]
+    1268:	2800		cmp	r0, #0
+    126a:	d000		beq	0x126e
+    126c:	e0e0		b	0x1430
+    126e:	9801		ldr	r0, [sp, #4]
+    1270:	1c41		add	r1, r0, #1
+    1272:	9101		str	r1, [sp, #4]
+    1274:	9900		ldr	r1, [sp, #0]
+    1276:	7909		ldrb	r1, [r1, #4]
+    1278:	7001		strb	r1, [r0, #0]
+    127a:	4668		mov	r0, sp
+    127c:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    127e:	3001		add	r0, #1
+    1280:	e7ed		b	0x125e
+    1282:	9800		ldr	r0, [sp, #0]
+    1284:	7840		ldrb	r0, [r0, #1]
+    1286:	2800		cmp	r0, #0
+    1288:	d000		beq	0x128c
+    128a:	e0d1		b	0x1430
+    128c:	e7ef		b	0x126e
+    128e:	9800		ldr	r0, [sp, #0]
+    1290:	7840		ldrb	r0, [r0, #1]
+    1292:	2800		cmp	r0, #0
+    1294:	d000		beq	0x1298
+    1296:	e0cb		b	0x1430
+    1298:	e7e9		b	0x126e
+    129a:	9800		ldr	r0, [sp, #0]
+    129c:	7840		ldrb	r0, [r0, #1]
+    129e:	2800		cmp	r0, #0
+    12a0:	d000		beq	0x12a4
+    12a2:	e0c5		b	0x1430
+    12a4:	4669		mov	r1, sp
+    12a6:	9800		ldr	r0, [sp, #0]
+    12a8:	8880		ldrh	r0, [r0, #4]
+    12aa:	8408		strh	r0, [r1, #32]	; 0x20
+    12ac:	9801		ldr	r0, [sp, #4]
+    12ae:	1c41		add	r1, r0, #1
+    12b0:	9101		str	r1, [sp, #4]
+    12b2:	4669		mov	r1, sp
+    12b4:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    12b6:	0409		lsl	r1, r1, #16
+    12b8:	0e09		lsr	r1, r1, #24
+    12ba:	0209		lsl	r1, r1, #8
+    12bc:	1209		asr	r1, r1, #8
+    12be:	7001		strb	r1, [r0, #0]
+    12c0:	9801		ldr	r0, [sp, #4]
+    12c2:	1c41		add	r1, r0, #1
+    12c4:	9101		str	r1, [sp, #4]
+    12c6:	4669		mov	r1, sp
+    12c8:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    12ca:	0609		lsl	r1, r1, #24
+    12cc:	0e09		lsr	r1, r1, #24
+    12ce:	7001		strb	r1, [r0, #0]
+    12d0:	4669		mov	r1, sp
+    12d2:	9800		ldr	r0, [sp, #0]
+    12d4:	88c0		ldrh	r0, [r0, #6]
+    12d6:	8408		strh	r0, [r1, #32]	; 0x20
+    12d8:	9801		ldr	r0, [sp, #4]
+    12da:	1c41		add	r1, r0, #1
+    12dc:	9101		str	r1, [sp, #4]
+    12de:	4669		mov	r1, sp
+    12e0:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    12e2:	0409		lsl	r1, r1, #16
+    12e4:	0e09		lsr	r1, r1, #24
+    12e6:	0209		lsl	r1, r1, #8
+    12e8:	1209		asr	r1, r1, #8
+    12ea:	7001		strb	r1, [r0, #0]
+    12ec:	9801		ldr	r0, [sp, #4]
+    12ee:	1c41		add	r1, r0, #1
+    12f0:	9101		str	r1, [sp, #4]
+    12f2:	4669		mov	r1, sp
+    12f4:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    12f6:	0609		lsl	r1, r1, #24
+    12f8:	0e09		lsr	r1, r1, #24
+    12fa:	7001		strb	r1, [r0, #0]
+    12fc:	4668		mov	r0, sp
+    12fe:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1300:	3004		add	r0, #4
+    1302:	e7ac		b	0x125e
+    1304:	9800		ldr	r0, [sp, #0]
+    1306:	7840		ldrb	r0, [r0, #1]
+    1308:	2800		cmp	r0, #0
+    130a:	d000		beq	0x130e
+    130c:	e090		b	0x1430
+    130e:	e7ae		b	0x126e
+    1310:	9800		ldr	r0, [sp, #0]
+    1312:	7840		ldrb	r0, [r0, #1]
+    1314:	2800		cmp	r0, #0
+    1316:	d000		beq	0x131a
+    1318:	e08a		b	0x1430
+    131a:	4669		mov	r1, sp
+    131c:	4668		mov	r0, sp
+    131e:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1320:	3001		add	r0, #1
+    1322:	7408		strb	r0, [r1, #16]	; 0x10
+    1324:	4668		mov	r0, sp
+    1326:	9900		ldr	r1, [sp, #0]
+    1328:	7909		ldrb	r1, [r1, #4]
+    132a:	7601		strb	r1, [r0, #24]	; 0x18
+    132c:	9801		ldr	r0, [sp, #4]
+    132e:	1c41		add	r1, r0, #1
+    1330:	9101		str	r1, [sp, #4]
+    1332:	4669		mov	r1, sp
+    1334:	7e09		ldrb	r1, [r1, #24]	; 0x18
+    1336:	7001		strb	r1, [r0, #0]
+    1338:	4668		mov	r0, sp
+    133a:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    133c:	2840		cmp	r0, #64	; 0x40
+    133e:	dd01		ble	0x1344
+    1340:	2004		mov	r0, #4
+    1342:	e055		b	0x13f0
+    1344:	9800		ldr	r0, [sp, #0]
+    1346:	3006		add	r0, #6
+    1348:	9007		str	r0, [sp, #28]	; 0x1c
+    134a:	2000		mov	r0, #0
+    134c:	9002		str	r0, [sp, #8]
+    134e:	9902		ldr	r1, [sp, #8]
+    1350:	4668		mov	r0, sp
+    1352:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1354:	4281		cmp	r1, r0
+    1356:	da6b		bge	0x1430
+    1358:	9801		ldr	r0, [sp, #4]
+    135a:	1c41		add	r1, r0, #1
+    135c:	9101		str	r1, [sp, #4]
+    135e:	9907		ldr	r1, [sp, #28]	; 0x1c
+    1360:	8809		ldrh	r1, [r1, #0]
+    1362:	0409		lsl	r1, r1, #16
+    1364:	0e09		lsr	r1, r1, #24
+    1366:	0209		lsl	r1, r1, #8
+    1368:	1209		asr	r1, r1, #8
+    136a:	7001		strb	r1, [r0, #0]
+    136c:	9807		ldr	r0, [sp, #28]	; 0x1c
+    136e:	8801		ldrh	r1, [r0, #0]
+    1370:	3002		add	r0, #2
+    1372:	9007		str	r0, [sp, #28]	; 0x1c
+    1374:	0608		lsl	r0, r1, #24
+    1376:	0e01		lsr	r1, r0, #24
+    1378:	9801		ldr	r0, [sp, #4]
+    137a:	1c42		add	r2, r0, #1
+    137c:	9201		str	r2, [sp, #4]
+    137e:	7001		strb	r1, [r0, #0]
+    1380:	4669		mov	r1, sp
+    1382:	4668		mov	r0, sp
+    1384:	7c00		ldrb	r0, [r0, #16]	; 0x10
+    1386:	3002		add	r0, #2
+    1388:	7408		strb	r0, [r1, #16]	; 0x10
+    138a:	9802		ldr	r0, [sp, #8]
+    138c:	3001		add	r0, #1
+    138e:	9002		str	r0, [sp, #8]
+    1390:	9902		ldr	r1, [sp, #8]
+    1392:	4668		mov	r0, sp
+    1394:	7e00		ldrb	r0, [r0, #24]	; 0x18
+    1396:	4281		cmp	r1, r0
+    1398:	dbde		blt	0x1358
+    139a:	e049		b	0x1430
+    139c:	9800		ldr	r0, [sp, #0]
+    139e:	7840		ldrb	r0, [r0, #1]
+    13a0:	2800		cmp	r0, #0
+    13a2:	d145		bne	0x1430
+    13a4:	4669		mov	r1, sp
+    13a6:	9800		ldr	r0, [sp, #0]
+    13a8:	8880		ldrh	r0, [r0, #4]
+    13aa:	8408		strh	r0, [r1, #32]	; 0x20
+    13ac:	9801		ldr	r0, [sp, #4]
+    13ae:	1c41		add	r1, r0, #1
+    13b0:	9101		str	r1, [sp, #4]
+    13b2:	4669		mov	r1, sp
+    13b4:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    13b6:	0409		lsl	r1, r1, #16
+    13b8:	0e09		lsr	r1, r1, #24
+    13ba:	0209		lsl	r1, r1, #8
+    13bc:	1209		asr	r1, r1, #8
+    13be:	7001		strb	r1, [r0, #0]
+    13c0:	9801		ldr	r0, [sp, #4]
+    13c2:	1c41		add	r1, r0, #1
+    13c4:	9101		str	r1, [sp, #4]
+    13c6:	4669		mov	r1, sp
+    13c8:	8c09		ldrh	r1, [r1, #32]	; 0x20
+    13ca:	0609		lsl	r1, r1, #24
+    13cc:	0e09		lsr	r1, r1, #24
+    13ce:	7001		strb	r1, [r0, #0]
+    13d0:	4668		mov	r0, sp
+    13d2:	9900		ldr	r1, [sp, #0]
+    13d4:	88c9		ldrh	r1, [r1, #6]
+    13d6:	8401		strh	r1, [r0, #32]	; 0x20
+    13d8:	9901		ldr	r1, [sp, #4]
+    13da:	1c48		add	r0, r1, #1
+    13dc:	9001		str	r0, [sp, #4]
+    13de:	4668		mov	r0, sp
+    13e0:	8c00		ldrh	r0, [r0, #32]	; 0x20
+    13e2:	0400		lsl	r0, r0, #16
+    13e4:	0e00		lsr	r0, r0, #24
+    13e6:	0200		lsl	r0, r0, #8
+    13e8:	1200		asr	r0, r0, #8
+    13ea:	7008		strb	r0, [r1, #0]
+    13ec:	e77e		b	0x12ec
+    13ee:	2008		mov	r0, #8
+    13f0:	9003		str	r0, [sp, #12]	; 0xc
+    13f2:	e01d		b	0x1430
+    13f4:	9800		ldr	r0, [sp, #0]
+    13f6:	7800		ldrb	r0, [r0, #0]
+    13f8:	280a		cmp	r0, #10	; 0xa
+    13fa:	d8f8		bhi	0x13ee
+    13fc:	a101		add	r1, pc, #4
+    13fe:	0080		lsl	r0, r0, #2
+    1400:	5808		ldr	r0, [r1, r0]
+    1402:	4687		mov	pc, r0
+    1404:	122a		asr	r2, r5, #8
+    1406:	0000		lsl	r0, r0, #0
+    1408:	1264		asr	r4, r4, #9
+    140a:	0000		lsl	r0, r0, #0
+    140c:	1282		asr	r2, r0, #10
+    140e:	0000		lsl	r0, r0, #0
+    1410:	128e		asr	r6, r1, #10
+    1412:	0000		lsl	r0, r0, #0
+    1414:	1430		asr	r0, r6, #16
+    1416:	0000		lsl	r0, r0, #0
+    1418:	129a		asr	r2, r3, #10
+    141a:	0000		lsl	r0, r0, #0
+    141c:	1304		asr	r4, r0, #12
+    141e:	0000		lsl	r0, r0, #0
+    1420:	1310		asr	r0, r2, #12
+    1422:	0000		lsl	r0, r0, #0
+    1424:	1430		asr	r0, r6, #16
+    1426:	0000		lsl	r0, r0, #0
+    1428:	139c		asr	r4, r3, #14
+    142a:	0000		lsl	r0, r0, #0
+    142c:	1430		asr	r0, r6, #16
+    142e:	0000		lsl	r0, r0, #0
+    1430:	9805		ldr	r0, [sp, #20]	; 0x14
+    1432:	4669		mov	r1, sp
+    1434:	7c09		ldrb	r1, [r1, #16]	; 0x10
+    1436:	7001		strb	r1, [r0, #0]
+    1438:	9803		ldr	r0, [sp, #12]	; 0xc
+    143a:	b009		add	sp, #36	; 0x24
+    143c:	4770		bx	lr
+    143e:	0000		lsl	r0, r0, #0
+    1440:	b500		push	{lr}
+    1442:	b083		sub	sp, #12	; 0xc
+    1444:	9101		str	r1, [sp, #4]
+    1446:	4669		mov	r1, sp
+    1448:	7008		strb	r0, [r1, #0]
+    144a:	2000		mov	r0, #0
+    144c:	9002		str	r0, [sp, #8]
+    144e:	e073		b	0x1538
+    1450:	4668		mov	r0, sp
+    1452:	7800		ldrb	r0, [r0, #0]
+    1454:	28aa		cmp	r0, #170	; 0xaa
+    1456:	d106		bne	0x1466
+    1458:	4965		ldr	r1, =0x83ff10	; via 0x15f0
+    145a:	4865		ldr	r0, =0x83ff10	; via 0x15f0
+    145c:	6800		ldr	r0, [r0, #0]
+    145e:	3001		add	r0, #1
+    1460:	07c0		lsl	r0, r0, #31
+    1462:	0fc0		lsr	r0, r0, #31
+    1464:	e013		b	0x148e
+    1466:	4862		ldr	r0, =0x83ff10	; via 0x15f0
+    1468:	6800		ldr	r0, [r0, #0]
+    146a:	2800		cmp	r0, #0
+    146c:	d06b		beq	0x1546
+    146e:	4961		ldr	r1, =0x83ff04	; via 0x15f4
+    1470:	9801		ldr	r0, [sp, #4]
+    1472:	3001		add	r0, #1
+    1474:	6008		str	r0, [r1, #0]
+    1476:	4960		ldr	r1, =0x83ff0e	; via 0x15f8
+    1478:	2000		mov	r0, #0
+    147a:	7008		strb	r0, [r1, #0]
+    147c:	495f		ldr	r1, =0x83ff0c	; via 0x15fc
+    147e:	4668		mov	r0, sp
+    1480:	7800		ldrb	r0, [r0, #0]
+    1482:	8008		strh	r0, [r1, #0]
+    1484:	495a		ldr	r1, =0x83ff10	; via 0x15f0
+    1486:	2000		mov	r0, #0
+    1488:	6008		str	r0, [r1, #0]
+    148a:	495d		ldr	r1, =0x83ff08	; via 0x1600
+    148c:	2001		mov	r0, #1
+    148e:	6008		str	r0, [r1, #0]
+    1490:	e059		b	0x1546
+    1492:	4668		mov	r0, sp
+    1494:	7800		ldrb	r0, [r0, #0]
+    1496:	28aa		cmp	r0, #170	; 0xaa
+    1498:	d113		bne	0x14c2
+    149a:	4855		ldr	r0, =0x83ff10	; via 0x15f0
+    149c:	6800		ldr	r0, [r0, #0]
+    149e:	2800		cmp	r0, #0
+    14a0:	d00b		beq	0x14ba
+    14a2:	4954		ldr	r1, =0x83ff04	; via 0x15f4
+    14a4:	6808		ldr	r0, [r1, #0]
+    14a6:	1c42		add	r2, r0, #1
+    14a8:	600a		str	r2, [r1, #0]
+    14aa:	4669		mov	r1, sp
+    14ac:	7809		ldrb	r1, [r1, #0]
+    14ae:	7001		strb	r1, [r0, #0]
+    14b0:	4951		ldr	r1, =0x83ff0e	; via 0x15f8
+    14b2:	7808		ldrb	r0, [r1, #0]
+    14b4:	3001		add	r0, #1
+    14b6:	7008		strb	r0, [r1, #0]
+    14b8:	e013		b	0x14e2
+    14ba:	2101		mov	r1, #1
+    14bc:	484c		ldr	r0, =0x83ff10	; via 0x15f0
+    14be:	6001		str	r1, [r0, #0]
+    14c0:	e01c		b	0x14fc
+    14c2:	484b		ldr	r0, =0x83ff10	; via 0x15f0
+    14c4:	6800		ldr	r0, [r0, #0]
+    14c6:	2800		cmp	r0, #0
+    14c8:	d00d		beq	0x14e6
+    14ca:	494a		ldr	r1, =0x83ff04	; via 0x15f4
+    14cc:	9801		ldr	r0, [sp, #4]
+    14ce:	3001		add	r0, #1
+    14d0:	6008		str	r0, [r1, #0]
+    14d2:	4849		ldr	r0, =0x83ff0e	; via 0x15f8
+    14d4:	2100		mov	r1, #0
+    14d6:	7001		strb	r1, [r0, #0]
+    14d8:	4948		ldr	r1, =0x83ff0c	; via 0x15fc
+    14da:	4668		mov	r0, sp
+    14dc:	7800		ldrb	r0, [r0, #0]
+    14de:	3001		add	r0, #1
+    14e0:	8008		strh	r0, [r1, #0]
+    14e2:	2100		mov	r1, #0
+    14e4:	e7ea		b	0x14bc
+    14e6:	4843		ldr	r0, =0x83ff04	; via 0x15f4
+    14e8:	6801		ldr	r1, [r0, #0]
+    14ea:	1c4a		add	r2, r1, #1
+    14ec:	6002		str	r2, [r0, #0]
+    14ee:	4668		mov	r0, sp
+    14f0:	7800		ldrb	r0, [r0, #0]
+    14f2:	7008		strb	r0, [r1, #0]
+    14f4:	4940		ldr	r1, =0x83ff0e	; via 0x15f8
+    14f6:	7808		ldrb	r0, [r1, #0]
+    14f8:	3001		add	r0, #1
+    14fa:	7008		strb	r0, [r1, #0]
+    14fc:	483f		ldr	r0, =0x83ff0c	; via 0x15fc
+    14fe:	8801		ldrh	r1, [r0, #0]
+    1500:	3901		sub	r1, #1
+    1502:	8001		strh	r1, [r0, #0]
+    1504:	483d		ldr	r0, =0x83ff0c	; via 0x15fc
+    1506:	8800		ldrh	r0, [r0, #0]
+    1508:	2800		cmp	r0, #0
+    150a:	d11c		bne	0x1546
+    150c:	9901		ldr	r1, [sp, #4]
+    150e:	483a		ldr	r0, =0x83ff0e	; via 0x15f8
+    1510:	7800		ldrb	r0, [r0, #0]
+    1512:	7008		strb	r0, [r1, #0]
+    1514:	2001		mov	r0, #1
+    1516:	9002		str	r0, [sp, #8]
+    1518:	4839		ldr	r0, =0x83ff08	; via 0x1600
+    151a:	2100		mov	r1, #0
+    151c:	6001		str	r1, [r0, #0]
+    151e:	4834		ldr	r0, =0x83ff10	; via 0x15f0
+    1520:	6001		str	r1, [r0, #0]
+    1522:	9801		ldr	r0, [sp, #4]
+    1524:	7800		ldrb	r0, [r0, #0]
+    1526:	2801		cmp	r0, #1
+    1528:	d10d		bne	0x1546
+    152a:	9801		ldr	r0, [sp, #4]
+    152c:	7840		ldrb	r0, [r0, #1]
+    152e:	28dd		cmp	r0, #221	; 0xdd
+    1530:	d109		bne	0x1546
+    1532:	f7ff faf7	bl	0xb24
+    1536:	e006		b	0x1546
+    1538:	4831		ldr	r0, =0x83ff08	; via 0x1600
+    153a:	6800		ldr	r0, [r0, #0]
+    153c:	2800		cmp	r0, #0
+    153e:	d087		beq	0x1450
+    1540:	3801		sub	r0, #1
+    1542:	2800		cmp	r0, #0
+    1544:	d0a5		beq	0x1492
+    1546:	9802		ldr	r0, [sp, #8]
+    1548:	b003		add	sp, #12	; 0xc
+    154a:	bd00		pop	{pc}
+    154c:	b086		sub	sp, #24	; 0x18
+    154e:	9202		str	r2, [sp, #8]
+    1550:	9101		str	r1, [sp, #4]
+    1552:	9000		str	r0, [sp, #0]
+    1554:	9801		ldr	r0, [sp, #4]
+    1556:	3001		add	r0, #1
+    1558:	9004		str	r0, [sp, #16]	; 0x10
+    155a:	9800		ldr	r0, [sp, #0]
+    155c:	1c41		add	r1, r0, #1
+    155e:	9100		str	r1, [sp, #0]
+    1560:	9005		str	r0, [sp, #20]	; 0x14
+    1562:	9901		ldr	r1, [sp, #4]
+    1564:	20aa		mov	r0, #170	; 0xaa
+    1566:	7008		strb	r0, [r1, #0]
+    1568:	9801		ldr	r0, [sp, #4]
+    156a:	3002		add	r0, #2
+    156c:	9001		str	r0, [sp, #4]
+    156e:	9902		ldr	r1, [sp, #8]
+    1570:	2000		mov	r0, #0
+    1572:	8008		strh	r0, [r1, #0]
+    1574:	4669		mov	r1, sp
+    1576:	8188		strh	r0, [r1, #12]	; 0xc
+    1578:	4668		mov	r0, sp
+    157a:	8981		ldrh	r1, [r0, #12]	; 0xc
+    157c:	9805		ldr	r0, [sp, #20]	; 0x14
+    157e:	7800		ldrb	r0, [r0, #0]
+    1580:	4281		cmp	r1, r0
+    1582:	da23		bge	0x15cc
+    1584:	9800		ldr	r0, [sp, #0]
+    1586:	7800		ldrb	r0, [r0, #0]
+    1588:	28aa		cmp	r0, #170	; 0xaa
+    158a:	d108		bne	0x159e
+    158c:	9801		ldr	r0, [sp, #4]
+    158e:	1c41		add	r1, r0, #1
+    1590:	9101		str	r1, [sp, #4]
+    1592:	21aa		mov	r1, #170	; 0xaa
+    1594:	7001		strb	r1, [r0, #0]
+    1596:	9902		ldr	r1, [sp, #8]
+    1598:	8808		ldrh	r0, [r1, #0]
+    159a:	3001		add	r0, #1
+    159c:	8008		strh	r0, [r1, #0]
+    159e:	9800		ldr	r0, [sp, #0]
+    15a0:	7801		ldrb	r1, [r0, #0]
+    15a2:	3001		add	r0, #1
+    15a4:	9000		str	r0, [sp, #0]
+    15a6:	9801		ldr	r0, [sp, #4]
+    15a8:	1c42		add	r2, r0, #1
+    15aa:	9201		str	r2, [sp, #4]
+    15ac:	7001		strb	r1, [r0, #0]
+    15ae:	9902		ldr	r1, [sp, #8]
+    15b0:	8808		ldrh	r0, [r1, #0]
+    15b2:	3001		add	r0, #1
+    15b4:	8008		strh	r0, [r1, #0]
+    15b6:	4669		mov	r1, sp
+    15b8:	4668		mov	r0, sp
+    15ba:	8980		ldrh	r0, [r0, #12]	; 0xc
+    15bc:	3001		add	r0, #1
+    15be:	8188		strh	r0, [r1, #12]	; 0xc
+    15c0:	4668		mov	r0, sp
+    15c2:	8980		ldrh	r0, [r0, #12]	; 0xc
+    15c4:	9905		ldr	r1, [sp, #20]	; 0x14
+    15c6:	7809		ldrb	r1, [r1, #0]
+    15c8:	4288		cmp	r0, r1
+    15ca:	dbdb		blt	0x1584
+    15cc:	9904		ldr	r1, [sp, #16]	; 0x10
+    15ce:	9802		ldr	r0, [sp, #8]
+    15d0:	7800		ldrb	r0, [r0, #0]
+    15d2:	7008		strb	r0, [r1, #0]
+    15d4:	9902		ldr	r1, [sp, #8]
+    15d6:	8808		ldrh	r0, [r1, #0]
+    15d8:	3002		add	r0, #2
+    15da:	8008		strh	r0, [r1, #0]
+    15dc:	b006		add	sp, #24	; 0x18
+    15de:	4770		bx	lr
+    15e0:	4907		ldr	r1, =0x83ff08	; via 0x1600
+    15e2:	2000		mov	r0, #0
+    15e4:	6008		str	r0, [r1, #0]
+    15e6:	4802		ldr	r0, =0x83ff10	; via 0x15f0
+    15e8:	2100		mov	r1, #0
+    15ea:	6001		str	r1, [r0, #0]
+    15ec:	4770		bx	lr
+    15ee:	46c0		nop			(mov r8, r8)
+    15f0:	ff10		<half-bl>
+    15f2:	0083		lsl	r3, r0, #2
+    15f4:	ff04		<half-bl>
+    15f6:	0083		lsl	r3, r0, #2
+    15f8:	ff0e		<half-bl>
+    15fa:	0083		lsl	r3, r0, #2
+    15fc:	ff0c		<half-bl>
+    15fe:	0083		lsl	r3, r0, #2
+    1600:	ff08		<half-bl>
+    1602:	0083		lsl	r3, r0, #2
+    1604:	b082		sub	sp, #8
+    1606:	9101		str	r1, [sp, #4]
+    1608:	9000		str	r0, [sp, #0]
+    160a:	9901		ldr	r1, [sp, #4]
+    160c:	2000		mov	r0, #0
+    160e:	7008		strb	r0, [r1, #0]
+    1610:	9801		ldr	r0, [sp, #4]
+    1612:	2100		mov	r1, #0
+    1614:	7041		strb	r1, [r0, #1]
+    1616:	9801		ldr	r0, [sp, #4]
+    1618:	2102		mov	r1, #2
+    161a:	7101		strb	r1, [r0, #4]
+    161c:	9801		ldr	r0, [sp, #4]
+    161e:	2106		mov	r1, #6
+    1620:	7141		strb	r1, [r0, #5]
+    1622:	9801		ldr	r0, [sp, #4]
+    1624:	2102		mov	r1, #2
+    1626:	7181		strb	r1, [r0, #6]
+    1628:	b002		add	sp, #8
+    162a:	4770		bx	lr
+    162c:	b500		push	{lr}
+    162e:	b084		sub	sp, #16	; 0x10
+    1630:	466b		mov	r3, sp
+    1632:	721a		strb	r2, [r3, #8]
+    1634:	9101		str	r1, [sp, #4]
+    1636:	9000		str	r0, [sp, #0]
+    1638:	9901		ldr	r1, [sp, #4]
+    163a:	2009		mov	r0, #9
+    163c:	7008		strb	r0, [r1, #0]
+    163e:	e015		b	0x166c
+    1640:	9801		ldr	r0, [sp, #4]
+    1642:	2100		mov	r1, #0
+    1644:	7041		strb	r1, [r0, #1]
+    1646:	9901		ldr	r1, [sp, #4]
+    1648:	4668		mov	r0, sp
+    164a:	8940		ldrh	r0, [r0, #10]	; 0xa
+    164c:	8088		strh	r0, [r1, #4]
+    164e:	9901		ldr	r1, [sp, #4]
+    1650:	4668		mov	r0, sp
+    1652:	8980		ldrh	r0, [r0, #12]	; 0xc
+    1654:	80c8		strh	r0, [r1, #6]
+    1656:	e01e		b	0x1696
+    1658:	2101		mov	r1, #1
+    165a:	e004		b	0x1666
+    165c:	2103		mov	r1, #3
+    165e:	e002		b	0x1666
+    1660:	2105		mov	r1, #5
+    1662:	e000		b	0x1666
+    1664:	2106		mov	r1, #6
+    1666:	9801		ldr	r0, [sp, #4]
+    1668:	7041		strb	r1, [r0, #1]
+    166a:	e014		b	0x1696
+    166c:	200a		mov	r0, #10	; 0xa
+    166e:	4468		add	r0, sp
+    1670:	a903		add	r1, sp, #12	; 0xc
+    1672:	466a		mov	r2, sp
+    1674:	7a12		ldrb	r2, [r2, #8]
+    1676:	f000 fb71	bl	0x1d5c
+    167a:	2800		cmp	r0, #0
+    167c:	d0e0		beq	0x1640
+    167e:	3801		sub	r0, #1
+    1680:	2800		cmp	r0, #0
+    1682:	d0e9		beq	0x1658
+    1684:	3801		sub	r0, #1
+    1686:	2800		cmp	r0, #0
+    1688:	d0e8		beq	0x165c
+    168a:	3801		sub	r0, #1
+    168c:	2800		cmp	r0, #0
+    168e:	d0e7		beq	0x1660
+    1690:	3801		sub	r0, #1
+    1692:	2800		cmp	r0, #0
+    1694:	d0e6		beq	0x1664
+    1696:	b004		add	sp, #16	; 0x10
+    1698:	bd00		pop	{pc}
+    169a:	b084		sub	sp, #16	; 0x10
+    169c:	9101		str	r1, [sp, #4]
+    169e:	9000		str	r0, [sp, #0]
+    16a0:	9901		ldr	r1, [sp, #4]
+    16a2:	200a		mov	r0, #10	; 0xa
+    16a4:	7008		strb	r0, [r1, #0]
+    16a6:	9801		ldr	r0, [sp, #4]
+    16a8:	2100		mov	r1, #0
+    16aa:	7041		strb	r1, [r0, #1]
+    16ac:	4669		mov	r1, sp
+    16ae:	9800		ldr	r0, [sp, #0]
+    16b0:	8880		ldrh	r0, [r0, #4]
+    16b2:	8108		strh	r0, [r1, #8]
+    16b4:	9800		ldr	r0, [sp, #0]
+    16b6:	88c0		ldrh	r0, [r0, #6]
+    16b8:	8148		strh	r0, [r1, #10]	; 0xa
+    16ba:	4668		mov	r0, sp
+    16bc:	8941		ldrh	r1, [r0, #10]	; 0xa
+    16be:	8900		ldrh	r0, [r0, #8]
+    16c0:	0400		lsl	r0, r0, #16
+    16c2:	1808		add	r0, r1, r0
+    16c4:	9003		str	r0, [sp, #12]	; 0xc
+    16c6:	9803		ldr	r0, [sp, #12]	; 0xc
+    16c8:	b004		add	sp, #16	; 0x10
+    16ca:	4770		bx	lr
+    16cc:	b085		sub	sp, #20	; 0x14
+    16ce:	9303		str	r3, [sp, #12]	; 0xc
+    16d0:	9202		str	r2, [sp, #8]
+    16d2:	9101		str	r1, [sp, #4]
+    16d4:	4669		mov	r1, sp
+    16d6:	7008		strb	r0, [r1, #0]
+    16d8:	48ea		ldr	r0, =0x83ff19	; via 0x1a84
+    16da:	7809		ldrb	r1, [r1, #0]
+    16dc:	7802		ldrb	r2, [r0, #0]
+    16de:	1889		add	r1, r1, r2
+    16e0:	7001		strb	r1, [r0, #0]
+    16e2:	48e9		ldr	r0, =0x83ff1a	; via 0x1a88
+    16e4:	7800		ldrb	r0, [r0, #0]
+    16e6:	2800		cmp	r0, #0
+    16e8:	d00e		beq	0x1708
+    16ea:	48e8		ldr	r0, =0x83ff26	; via 0x1a8c
+    16ec:	4669		mov	r1, sp
+    16ee:	780a		ldrb	r2, [r1, #0]
+    16f0:	8801		ldrh	r1, [r0, #0]
+    16f2:	1851		add	r1, r2, r1
+    16f4:	8001		strh	r1, [r0, #0]
+    16f6:	9903		ldr	r1, [sp, #12]	; 0xc
+    16f8:	48e4		ldr	r0, =0x83ff26	; via 0x1a8c
+    16fa:	8800		ldrh	r0, [r0, #0]
+    16fc:	8008		strh	r0, [r1, #0]
+    16fe:	9801		ldr	r0, [sp, #4]
+    1700:	2100		mov	r1, #0
+    1702:	6001		str	r1, [r0, #0]
+    1704:	2000		mov	r0, #0
+    1706:	e009		b	0x171c
+    1708:	9902		ldr	r1, [sp, #8]
+    170a:	6808		ldr	r0, [r1, #0]
+    170c:	3002		add	r0, #2
+    170e:	6008		str	r0, [r1, #0]
+    1710:	49de		ldr	r1, =0x83ff26	; via 0x1a8c
+    1712:	4668		mov	r0, sp
+    1714:	7800		ldrb	r0, [r0, #0]
+    1716:	0200		lsl	r0, r0, #8
+    1718:	8008		strh	r0, [r1, #0]
+    171a:	2001		mov	r0, #1
+    171c:	9004		str	r0, [sp, #16]	; 0x10
+    171e:	2001		mov	r0, #1
+    1720:	49d9		ldr	r1, =0x83ff1a	; via 0x1a88
+    1722:	7809		ldrb	r1, [r1, #0]
+    1724:	4388		bic	r0, r1
+    1726:	49d8		ldr	r1, =0x83ff1a	; via 0x1a88
+    1728:	7008		strb	r0, [r1, #0]
+    172a:	48d9		ldr	r0, =0x83ff24	; via 0x1a90
+    172c:	7801		ldrb	r1, [r0, #0]
+    172e:	3901		sub	r1, #1
+    1730:	7001		strb	r1, [r0, #0]
+    1732:	48d7		ldr	r0, =0x83ff24	; via 0x1a90
+    1734:	7800		ldrb	r0, [r0, #0]
+    1736:	2800		cmp	r0, #0
+    1738:	d102		bne	0x1740
+    173a:	48d6		ldr	r0, =0x83ff20	; via 0x1a94
+    173c:	2106		mov	r1, #6
+    173e:	6001		str	r1, [r0, #0]
+    1740:	9804		ldr	r0, [sp, #16]	; 0x10
+    1742:	b005		add	sp, #20	; 0x14
+    1744:	46f7		mov	pc, lr
+    1746:	b083		sub	sp, #12	; 0xc
+    1748:	9101		str	r1, [sp, #4]
+    174a:	4669		mov	r1, sp
+    174c:	7008		strb	r0, [r1, #0]
+    174e:	2001		mov	r0, #1
+    1750:	9002		str	r0, [sp, #8]
+    1752:	48d1		ldr	r0, =0x83ff1b	; via 0x1a98
+    1754:	7800		ldrb	r0, [r0, #0]
+    1756:	2800		cmp	r0, #0
+    1758:	d10a		bne	0x1770
+    175a:	4668		mov	r0, sp
+    175c:	7800		ldrb	r0, [r0, #0]
+    175e:	2853		cmp	r0, #83	; 0x53
+    1760:	d102		bne	0x1768
+    1762:	48cd		ldr	r0, =0x83ff1b	; via 0x1a98
+    1764:	2101		mov	r1, #1
+    1766:	e01a		b	0x179e
+    1768:	2101		mov	r1, #1
+    176a:	9801		ldr	r0, [sp, #4]
+    176c:	6001		str	r1, [r0, #0]
+    176e:	e03b		b	0x17e8
+    1770:	49c9		ldr	r1, =0x83ff1b	; via 0x1a98
+    1772:	2000		mov	r0, #0
+    1774:	7008		strb	r0, [r1, #0]
+    1776:	4668		mov	r0, sp
+    1778:	7800		ldrb	r0, [r0, #0]
+    177a:	2830		cmp	r0, #48	; 0x30
+    177c:	d111		bne	0x17a2
+    177e:	48c7		ldr	r0, =0x83ff18	; via 0x1a9c
+    1780:	7800		ldrb	r0, [r0, #0]
+    1782:	2800		cmp	r0, #0
+    1784:	d006		beq	0x1794
+    1786:	9901		ldr	r1, [sp, #4]
+    1788:	2001		mov	r0, #1
+    178a:	6008		str	r0, [r1, #0]
+    178c:	49c3		ldr	r1, =0x83ff18	; via 0x1a9c
+    178e:	2000		mov	r0, #0
+    1790:	7008		strb	r0, [r1, #0]
+    1792:	e02a		b	0x17ea
+    1794:	48bf		ldr	r0, =0x83ff20	; via 0x1a94
+    1796:	2102		mov	r1, #2
+    1798:	6001		str	r1, [r0, #0]
+    179a:	48ef		ldr	r0, =0x83ff1c	; via 0x1b58
+    179c:	2100		mov	r1, #0
+    179e:	7001		strb	r1, [r0, #0]
+    17a0:	e024		b	0x17ec
+    17a2:	4668		mov	r0, sp
+    17a4:	7800		ldrb	r0, [r0, #0]
+    17a6:	2833		cmp	r0, #51	; 0x33
+    17a8:	d105		bne	0x17b6
+    17aa:	48bc		ldr	r0, =0x83ff18	; via 0x1a9c
+    17ac:	7800		ldrb	r0, [r0, #0]
+    17ae:	2800		cmp	r0, #0
+    17b0:	d0da		beq	0x1768
+    17b2:	2004		mov	r0, #4
+    17b4:	e00c		b	0x17d0
+    17b6:	4668		mov	r0, sp
+    17b8:	7800		ldrb	r0, [r0, #0]
+    17ba:	2837		cmp	r0, #55	; 0x37
+    17bc:	d10e		bne	0x17dc
+    17be:	48b7		ldr	r0, =0x83ff18	; via 0x1a9c
+    17c0:	7800		ldrb	r0, [r0, #0]
+    17c2:	2800		cmp	r0, #0
+    17c4:	d103		bne	0x17ce
+    17c6:	9901		ldr	r1, [sp, #4]
+    17c8:	2001		mov	r0, #1
+    17ca:	6008		str	r0, [r1, #0]
+    17cc:	e00c		b	0x17e8
+    17ce:	2003		mov	r0, #3
+    17d0:	49b0		ldr	r1, =0x83ff20	; via 0x1a94
+    17d2:	6008		str	r0, [r1, #0]
+    17d4:	2000		mov	r0, #0
+    17d6:	49e0		ldr	r1, =0x83ff1c	; via 0x1b58
+    17d8:	7008		strb	r0, [r1, #0]
+    17da:	e007		b	0x17ec
+    17dc:	9901		ldr	r1, [sp, #4]
+    17de:	2001		mov	r0, #1
+    17e0:	6008		str	r0, [r1, #0]
+    17e2:	48ae		ldr	r0, =0x83ff18	; via 0x1a9c
+    17e4:	2100		mov	r1, #0
+    17e6:	7001		strb	r1, [r0, #0]
+    17e8:	2000		mov	r0, #0
+    17ea:	9002		str	r0, [sp, #8]
+    17ec:	9802		ldr	r0, [sp, #8]
+    17ee:	b003		add	sp, #12	; 0xc
+    17f0:	46f7		mov	pc, lr
+    17f2:	b083		sub	sp, #12	; 0xc
+    17f4:	9101		str	r1, [sp, #4]
+    17f6:	4669		mov	r1, sp
+    17f8:	7008		strb	r0, [r1, #0]
+    17fa:	2001		mov	r0, #1
+    17fc:	9002		str	r0, [sp, #8]
+    17fe:	49d7		ldr	r1, =0x830	; via 0x1b5c
+    1800:	48d5		ldr	r0, =0x83ff1c	; via 0x1b58
+    1802:	7800		ldrb	r0, [r0, #0]
+    1804:	0080		lsl	r0, r0, #2
+    1806:	5808		ldr	r0, [r1, r0]
+    1808:	4669		mov	r1, sp
+    180a:	7809		ldrb	r1, [r1, #0]
+    180c:	4281		cmp	r1, r0
+    180e:	d10d		bne	0x182c
+    1810:	49d1		ldr	r1, =0x83ff1c	; via 0x1b58
+    1812:	7808		ldrb	r0, [r1, #0]
+    1814:	3001		add	r0, #1
+    1816:	7008		strb	r0, [r1, #0]
+    1818:	48cf		ldr	r0, =0x83ff1c	; via 0x1b58
+    181a:	7800		ldrb	r0, [r0, #0]
+    181c:	2807		cmp	r0, #7
+    181e:	d10d		bne	0x183c
+    1820:	489c		ldr	r0, =0x83ff20	; via 0x1a94
+    1822:	2101		mov	r1, #1
+    1824:	6001		str	r1, [r0, #0]
+    1826:	489d		ldr	r0, =0x83ff18	; via 0x1a9c
+    1828:	7001		strb	r1, [r0, #0]
+    182a:	e007		b	0x183c
+    182c:	9801		ldr	r0, [sp, #4]
+    182e:	2101		mov	r1, #1
+    1830:	6001		str	r1, [r0, #0]
+    1832:	4998		ldr	r1, =0x83ff20	; via 0x1a94
+    1834:	2001		mov	r0, #1
+    1836:	6008		str	r0, [r1, #0]
+    1838:	2000		mov	r0, #0
+    183a:	9002		str	r0, [sp, #8]
+    183c:	9802		ldr	r0, [sp, #8]
+    183e:	b003		add	sp, #12	; 0xc
+    1840:	46f7		mov	pc, lr
+    1842:	b083		sub	sp, #12	; 0xc
+    1844:	9101		str	r1, [sp, #4]
+    1846:	4669		mov	r1, sp
+    1848:	7008		strb	r0, [r1, #0]
+    184a:	2001		mov	r0, #1
+    184c:	9002		str	r0, [sp, #8]
+    184e:	49c4		ldr	r1, =0x84c	; via 0x1b60
+    1850:	48c1		ldr	r0, =0x83ff1c	; via 0x1b58
+    1852:	7800		ldrb	r0, [r0, #0]
+    1854:	0080		lsl	r0, r0, #2
+    1856:	5808		ldr	r0, [r1, r0]
+    1858:	4669		mov	r1, sp
+    185a:	7809		ldrb	r1, [r1, #0]
+    185c:	4281		cmp	r1, r0
+    185e:	d112		bne	0x1886
+    1860:	49bd		ldr	r1, =0x83ff1c	; via 0x1b58
+    1862:	7808		ldrb	r0, [r1, #0]
+    1864:	3001		add	r0, #1
+    1866:	7008		strb	r0, [r1, #0]
+    1868:	48bb		ldr	r0, =0x83ff1c	; via 0x1b58
+    186a:	7800		ldrb	r0, [r0, #0]
+    186c:	2806		cmp	r0, #6
+    186e:	d114		bne	0x189a
+    1870:	9801		ldr	r0, [sp, #4]
+    1872:	2102		mov	r1, #2
+    1874:	6001		str	r1, [r0, #0]
+    1876:	4887		ldr	r0, =0x83ff20	; via 0x1a94
+    1878:	2101		mov	r1, #1
+    187a:	6001		str	r1, [r0, #0]
+    187c:	4887		ldr	r0, =0x83ff18	; via 0x1a9c
+    187e:	2100		mov	r1, #0
+    1880:	7001		strb	r1, [r0, #0]
+    1882:	2000		mov	r0, #0
+    1884:	e008		b	0x1898
+    1886:	9801		ldr	r0, [sp, #4]
+    1888:	2101		mov	r1, #1
+    188a:	6001		str	r1, [r0, #0]
+    188c:	4981		ldr	r1, =0x83ff20	; via 0x1a94
+    188e:	2001		mov	r0, #1
+    1890:	6008		str	r0, [r1, #0]
+    1892:	4982		ldr	r1, =0x83ff18	; via 0x1a9c
+    1894:	2000		mov	r0, #0
+    1896:	7008		strb	r0, [r1, #0]
+    1898:	9002		str	r0, [sp, #8]
+    189a:	9802		ldr	r0, [sp, #8]
+    189c:	b003		add	sp, #12	; 0xc
+    189e:	46f7		mov	pc, lr
+    18a0:	b081		sub	sp, #4
+    18a2:	4669		mov	r1, sp
+    18a4:	7008		strb	r0, [r1, #0]
+    18a6:	497a		ldr	r1, =0x83ff24	; via 0x1a90
+    18a8:	4668		mov	r0, sp
+    18aa:	7800		ldrb	r0, [r0, #0]
+    18ac:	3801		sub	r0, #1
+    18ae:	7008		strb	r0, [r1, #0]
+    18b0:	4874		ldr	r0, =0x83ff19	; via 0x1a84
+    18b2:	4669		mov	r1, sp
+    18b4:	7809		ldrb	r1, [r1, #0]
+    18b6:	7001		strb	r1, [r0, #0]
+    18b8:	48a7		ldr	r0, =0x83ff1c	; via 0x1b58
+    18ba:	2100		mov	r1, #0
+    18bc:	7001		strb	r1, [r0, #0]
+    18be:	48e3		ldr	r0, =0x83ff14	; via 0x1c4c
+    18c0:	6001		str	r1, [r0, #0]
+    18c2:	4874		ldr	r0, =0x83ff20	; via 0x1a94
+    18c4:	2105		mov	r1, #5
+    18c6:	6001		str	r1, [r0, #0]
+    18c8:	b001		add	sp, #4
+    18ca:	46f7		mov	pc, lr
+    18cc:	b084		sub	sp, #16	; 0x10
+    18ce:	9202		str	r2, [sp, #8]
+    18d0:	9101		str	r1, [sp, #4]
+    18d2:	4669		mov	r1, sp
+    18d4:	7008		strb	r0, [r1, #0]
+    18d6:	2001		mov	r0, #1
+    18d8:	9003		str	r0, [sp, #12]	; 0xc
+    18da:	496d		ldr	r1, =0x83ff24	; via 0x1a90
+    18dc:	7808		ldrb	r0, [r1, #0]
+    18de:	3801		sub	r0, #1
+    18e0:	7008		strb	r0, [r1, #0]
+    18e2:	486b		ldr	r0, =0x83ff24	; via 0x1a90
+    18e4:	7800		ldrb	r0, [r0, #0]
+    18e6:	2800		cmp	r0, #0
+    18e8:	d026		beq	0x1938
+    18ea:	4866		ldr	r0, =0x83ff19	; via 0x1a84
+    18ec:	4669		mov	r1, sp
+    18ee:	780a		ldrb	r2, [r1, #0]
+    18f0:	7801		ldrb	r1, [r0, #0]
+    18f2:	1851		add	r1, r2, r1
+    18f4:	7001		strb	r1, [r0, #0]
+    18f6:	4998		ldr	r1, =0x83ff1c	; via 0x1b58
+    18f8:	7808		ldrb	r0, [r1, #0]
+    18fa:	3001		add	r0, #1
+    18fc:	7008		strb	r0, [r1, #0]
+    18fe:	49d3		ldr	r1, =0x83ff14	; via 0x1c4c
+    1900:	2204		mov	r2, #4
+    1902:	4895		ldr	r0, =0x83ff1c	; via 0x1b58
+    1904:	7800		ldrb	r0, [r0, #0]
+    1906:	1a10		sub	r0, r2, r0
+    1908:	00c2		lsl	r2, r0, #3
+    190a:	4668		mov	r0, sp
+    190c:	7800		ldrb	r0, [r0, #0]
+    190e:	4090		lsl	r0, r2
+    1910:	680a		ldr	r2, [r1, #0]
+    1912:	1880		add	r0, r0, r2
+    1914:	6008		str	r0, [r1, #0]
+    1916:	4890		ldr	r0, =0x83ff1c	; via 0x1b58
+    1918:	7800		ldrb	r0, [r0, #0]
+    191a:	2804		cmp	r0, #4
+    191c:	d117		bne	0x194e
+    191e:	9902		ldr	r1, [sp, #8]
+    1920:	48ca		ldr	r0, =0x83ff14	; via 0x1c4c
+    1922:	6800		ldr	r0, [r0, #0]
+    1924:	3802		sub	r0, #2
+    1926:	6008		str	r0, [r1, #0]
+    1928:	485a		ldr	r0, =0x83ff20	; via 0x1a94
+    192a:	2100		mov	r1, #0
+    192c:	6001		str	r1, [r0, #0]
+    192e:	4856		ldr	r0, =0x83ff1a	; via 0x1a88
+    1930:	7001		strb	r1, [r0, #0]
+    1932:	4889		ldr	r0, =0x83ff1c	; via 0x1b58
+    1934:	7001		strb	r1, [r0, #0]
+    1936:	e00a		b	0x194e
+    1938:	9801		ldr	r0, [sp, #4]
+    193a:	2101		mov	r1, #1
+    193c:	6001		str	r1, [r0, #0]
+    193e:	4955		ldr	r1, =0x83ff20	; via 0x1a94
+    1940:	2001		mov	r0, #1
+    1942:	6008		str	r0, [r1, #0]
+    1944:	4855		ldr	r0, =0x83ff18	; via 0x1a9c
+    1946:	2100		mov	r1, #0
+    1948:	7001		strb	r1, [r0, #0]
+    194a:	2000		mov	r0, #0
+    194c:	9003		str	r0, [sp, #12]	; 0xc
+    194e:	9803		ldr	r0, [sp, #12]	; 0xc
+    1950:	b004		add	sp, #16	; 0x10
+    1952:	46f7		mov	pc, lr
+    1954:	b083		sub	sp, #12	; 0xc
+    1956:	9101		str	r1, [sp, #4]
+    1958:	4669		mov	r1, sp
+    195a:	7008		strb	r0, [r1, #0]
+    195c:	2001		mov	r0, #1
+    195e:	9002		str	r0, [sp, #8]
+    1960:	494c		ldr	r1, =0x83ff20	; via 0x1a94
+    1962:	6008		str	r0, [r1, #0]
+    1964:	20ff		mov	r0, #255	; 0xff
+    1966:	4669		mov	r1, sp
+    1968:	7809		ldrb	r1, [r1, #0]
+    196a:	4388		bic	r0, r1
+    196c:	4945		ldr	r1, =0x83ff19	; via 0x1a84
+    196e:	7809		ldrb	r1, [r1, #0]
+    1970:	4281		cmp	r1, r0
+    1972:	d007		beq	0x1984
+    1974:	9801		ldr	r0, [sp, #4]
+    1976:	2101		mov	r1, #1
+    1978:	6001		str	r1, [r0, #0]
+    197a:	4848		ldr	r0, =0x83ff18	; via 0x1a9c
+    197c:	2100		mov	r1, #0
+    197e:	7001		strb	r1, [r0, #0]
+    1980:	2000		mov	r0, #0
+    1982:	9002		str	r0, [sp, #8]
+    1984:	9802		ldr	r0, [sp, #8]
+    1986:	b003		add	sp, #12	; 0xc
+    1988:	46f7		mov	pc, lr
+    198a:	b085		sub	sp, #20	; 0x14
+    198c:	466b		mov	r3, sp
+    198e:	719a		strb	r2, [r3, #6]
+    1990:	466a		mov	r2, sp
+    1992:	8091		strh	r1, [r2, #4]
+    1994:	9000		str	r0, [sp, #0]
+    1996:	9800		ldr	r0, [sp, #0]
+    1998:	9002		str	r0, [sp, #8]
+    199a:	4669		mov	r1, sp
+    199c:	4668		mov	r0, sp
+    199e:	8880		ldrh	r0, [r0, #4]
+    19a0:	8208		strh	r0, [r1, #16]	; 0x10
+    19a2:	4668		mov	r0, sp
+    19a4:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    19a6:	2800		cmp	r0, #0
+    19a8:	d01e		beq	0x19e8
+    19aa:	49e3		ldr	r1, =0x864	; via 0x1d38
+    19ac:	4668		mov	r0, sp
+    19ae:	7980		ldrb	r0, [r0, #6]
+    19b0:	0080		lsl	r0, r0, #2
+    19b2:	5808		ldr	r0, [r1, r0]
+    19b4:	7941		ldrb	r1, [r0, #5]
+    19b6:	4668		mov	r0, sp
+    19b8:	7301		strb	r1, [r0, #12]	; 0xc
+    19ba:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    19bc:	0980		lsr	r0, r0, #6
+    19be:	d3f4		bcc	0x19aa
+    19c0:	49dd		ldr	r1, =0x864	; via 0x1d38
+    19c2:	4668		mov	r0, sp
+    19c4:	7980		ldrb	r0, [r0, #6]
+    19c6:	0080		lsl	r0, r0, #2
+    19c8:	5809		ldr	r1, [r1, r0]
+    19ca:	9802		ldr	r0, [sp, #8]
+    19cc:	7800		ldrb	r0, [r0, #0]
+    19ce:	7008		strb	r0, [r1, #0]
+    19d0:	9802		ldr	r0, [sp, #8]
+    19d2:	3001		add	r0, #1
+    19d4:	9002		str	r0, [sp, #8]
+    19d6:	4669		mov	r1, sp
+    19d8:	4668		mov	r0, sp
+    19da:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    19dc:	3801		sub	r0, #1
+    19de:	8208		strh	r0, [r1, #16]	; 0x10
+    19e0:	4668		mov	r0, sp
+    19e2:	8a00		ldrh	r0, [r0, #16]	; 0x10
+    19e4:	2800		cmp	r0, #0
+    19e6:	d1e0		bne	0x19aa
+    19e8:	b005		add	sp, #20	; 0x14
+    19ea:	46f7		mov	pc, lr
+    19ec:	b082		sub	sp, #8
+    19ee:	4669		mov	r1, sp
+    19f0:	7008		strb	r0, [r1, #0]
+    19f2:	2000		mov	r0, #0
+    19f4:	8088		strh	r0, [r1, #4]
+    19f6:	4668		mov	r0, sp
+    19f8:	8881		ldrh	r1, [r0, #4]
+    19fa:	20ff		mov	r0, #255	; 0xff
+    19fc:	30f5		add	r0, #245	; 0xf5
+    19fe:	4281		cmp	r1, r0
+    1a00:	da21		bge	0x1a46
+    1a02:	4669		mov	r1, sp
+    1a04:	4668		mov	r0, sp
+    1a06:	8880		ldrh	r0, [r0, #4]
+    1a08:	3001		add	r0, #1
+    1a0a:	8088		strh	r0, [r1, #4]
+    1a0c:	48ca		ldr	r0, =0x864	; via 0x1d38
+    1a0e:	7809		ldrb	r1, [r1, #0]
+    1a10:	0089		lsl	r1, r1, #2
+    1a12:	5840		ldr	r0, [r0, r1]
+    1a14:	7940		ldrb	r0, [r0, #5]
+    1a16:	4669		mov	r1, sp
+    1a18:	7048		strb	r0, [r1, #1]
+    1a1a:	4668		mov	r0, sp
+    1a1c:	7840		ldrb	r0, [r0, #1]
+    1a1e:	0840		lsr	r0, r0, #1
+    1a20:	d30b		bcc	0x1a3a
+    1a22:	49c5		ldr	r1, =0x864	; via 0x1d38
+    1a24:	4668		mov	r0, sp
+    1a26:	7800		ldrb	r0, [r0, #0]
+    1a28:	0080		lsl	r0, r0, #2
+    1a2a:	5808		ldr	r0, [r1, r0]
+    1a2c:	7800		ldrb	r0, [r0, #0]
+    1a2e:	0600		lsl	r0, r0, #24
+    1a30:	0e00		lsr	r0, r0, #24
+    1a32:	4669		mov	r1, sp
+    1a34:	7088		strb	r0, [r1, #2]
+    1a36:	2000		mov	r0, #0
+    1a38:	8088		strh	r0, [r1, #4]
+    1a3a:	4668		mov	r0, sp
+    1a3c:	8881		ldrh	r1, [r0, #4]
+    1a3e:	20ff		mov	r0, #255	; 0xff
+    1a40:	30f5		add	r0, #245	; 0xf5
+    1a42:	4281		cmp	r1, r0
+    1a44:	dbdd		blt	0x1a02
+    1a46:	b002		add	sp, #8
+    1a48:	4770		bx	lr
+    1a4a:	b500		push	{lr}
+    1a4c:	b08c		sub	sp, #48	; 0x30
+    1a4e:	466a		mov	r2, sp
+    1a50:	7111		strb	r1, [r2, #4]
+    1a52:	9000		str	r0, [sp, #0]
+    1a54:	2001		mov	r0, #1
+    1a56:	9002		str	r0, [sp, #8]
+    1a58:	9800		ldr	r0, [sp, #0]
+    1a5a:	a904		add	r1, sp, #16	; 0x10
+    1a5c:	aa03		add	r2, sp, #12	; 0xc
+    1a5e:	f7ff fd75	bl	0x154c
+    1a62:	4668		mov	r0, sp
+    1a64:	8980		ldrh	r0, [r0, #12]	; 0xc
+    1a66:	2820		cmp	r0, #32	; 0x20
+    1a68:	dd02		ble	0x1a70
+    1a6a:	2000		mov	r0, #0
+    1a6c:	9002		str	r0, [sp, #8]
+    1a6e:	e006		b	0x1a7e
+    1a70:	a804		add	r0, sp, #16	; 0x10
+    1a72:	4669		mov	r1, sp
+    1a74:	8989		ldrh	r1, [r1, #12]	; 0xc
+    1a76:	466a		mov	r2, sp
+    1a78:	7912		ldrb	r2, [r2, #4]
+    1a7a:	f7ff ff86	bl	0x198a
+    1a7e:	9802		ldr	r0, [sp, #8]
+    1a80:	b00c		add	sp, #48	; 0x30
+    1a82:	bd00		pop	{pc}
+    1a84:	ff19		<half-bl>
+    1a86:	0083		lsl	r3, r0, #2
+    1a88:	ff1a		<half-bl>
+    1a8a:	0083		lsl	r3, r0, #2
+    1a8c:	ff26		<half-bl>
+    1a8e:	0083		lsl	r3, r0, #2
+    1a90:	ff24		<half-bl>
+    1a92:	0083		lsl	r3, r0, #2
+    1a94:	ff20		<half-bl>
+    1a96:	0083		lsl	r3, r0, #2
+    1a98:	ff1b		<half-bl>
+    1a9a:	0083		lsl	r3, r0, #2
+    1a9c:	ff18		<half-bl>
+    1a9e:	0083		lsl	r3, r0, #2
+    1aa0:	b500		push	{lr}
+    1aa2:	b084		sub	sp, #16	; 0x10
+    1aa4:	9101		str	r1, [sp, #4]
+    1aa6:	9000		str	r0, [sp, #0]
+    1aa8:	4669		mov	r1, sp
+    1aaa:	20ff		mov	r0, #255	; 0xff
+    1aac:	7308		strb	r0, [r1, #12]	; 0xc
+    1aae:	2000		mov	r0, #0
+    1ab0:	9002		str	r0, [sp, #8]
+    1ab2:	4669		mov	r1, sp
+    1ab4:	48a1		ldr	r0, =0xffff5805	; via 0x1d3c
+    1ab6:	7800		ldrb	r0, [r0, #0]
+    1ab8:	7348		strb	r0, [r1, #13]	; 0xd
+    1aba:	48a1		ldr	r0, =0xffff5005	; via 0x1d40
+    1abc:	7800		ldrb	r0, [r0, #0]
+    1abe:	7388		strb	r0, [r1, #14]	; 0xe
+    1ac0:	4668		mov	r0, sp
+    1ac2:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1ac4:	0840		lsr	r0, r0, #1
+    1ac6:	d206		bcs	0x1ad6
+    1ac8:	4668		mov	r0, sp
+    1aca:	7b80		ldrb	r0, [r0, #14]	; 0xe
+    1acc:	0840		lsr	r0, r0, #1
+    1ace:	d202		bcs	0x1ad6
+    1ad0:	9801		ldr	r0, [sp, #4]
+    1ad2:	2800		cmp	r0, #0
+    1ad4:	d0ed		beq	0x1ab2
+    1ad6:	4668		mov	r0, sp
+    1ad8:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1ada:	0840		lsr	r0, r0, #1
+    1adc:	d316		bcc	0x1b0c
+    1ade:	4669		mov	r1, sp
+    1ae0:	2000		mov	r0, #0
+    1ae2:	7308		strb	r0, [r1, #12]	; 0xc
+    1ae4:	4994		ldr	r1, =0x864	; via 0x1d38
+    1ae6:	4668		mov	r0, sp
+    1ae8:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1aea:	0080		lsl	r0, r0, #2
+    1aec:	5808		ldr	r0, [r1, r0]
+    1aee:	7800		ldrb	r0, [r0, #0]
+    1af0:	0600		lsl	r0, r0, #24
+    1af2:	0e00		lsr	r0, r0, #24
+    1af4:	4669		mov	r1, sp
+    1af6:	73c8		strb	r0, [r1, #15]	; 0xf
+    1af8:	4668		mov	r0, sp
+    1afa:	7bc0		ldrb	r0, [r0, #15]	; 0xf
+    1afc:	9900		ldr	r1, [sp, #0]
+    1afe:	f7ff fc9f	bl	0x1440
+    1b02:	9002		str	r0, [sp, #8]
+    1b04:	9802		ldr	r0, [sp, #8]
+    1b06:	2800		cmp	r0, #0
+    1b08:	d11c		bne	0x1b44
+    1b0a:	e018		b	0x1b3e
+    1b0c:	4668		mov	r0, sp
+    1b0e:	7b80		ldrb	r0, [r0, #14]	; 0xe
+    1b10:	0840		lsr	r0, r0, #1
+    1b12:	d317		bcc	0x1b44
+    1b14:	4669		mov	r1, sp
+    1b16:	2001		mov	r0, #1
+    1b18:	7308		strb	r0, [r1, #12]	; 0xc
+    1b1a:	4987		ldr	r1, =0x864	; via 0x1d38
+    1b1c:	4668		mov	r0, sp
+    1b1e:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1b20:	0080		lsl	r0, r0, #2
+    1b22:	5808		ldr	r0, [r1, r0]
+    1b24:	7800		ldrb	r0, [r0, #0]
+    1b26:	0600		lsl	r0, r0, #24
+    1b28:	0e01		lsr	r1, r0, #24
+    1b2a:	4668		mov	r0, sp
+    1b2c:	73c1		strb	r1, [r0, #15]	; 0xf
+    1b2e:	7bc0		ldrb	r0, [r0, #15]	; 0xf
+    1b30:	9900		ldr	r1, [sp, #0]
+    1b32:	f7ff fc85	bl	0x1440
+    1b36:	9002		str	r0, [sp, #8]
+    1b38:	9802		ldr	r0, [sp, #8]
+    1b3a:	2800		cmp	r0, #0
+    1b3c:	d102		bne	0x1b44
+    1b3e:	20ff		mov	r0, #255	; 0xff
+    1b40:	4669		mov	r1, sp
+    1b42:	7308		strb	r0, [r1, #12]	; 0xc
+    1b44:	9802		ldr	r0, [sp, #8]
+    1b46:	2800		cmp	r0, #0
+    1b48:	d102		bne	0x1b50
+    1b4a:	9801		ldr	r0, [sp, #4]
+    1b4c:	2800		cmp	r0, #0
+    1b4e:	d0b0		beq	0x1ab2
+    1b50:	4668		mov	r0, sp
+    1b52:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1b54:	b004		add	sp, #16	; 0x10
+    1b56:	bd00		pop	{pc}
+    1b58:	ff1c		<half-bl>
+    1b5a:	0083		lsl	r3, r0, #2
+    1b5c:	0830		lsr	r0, r6, #32
+    1b5e:	0000		lsl	r0, r0, #0
+    1b60:	084c		lsr	r4, r1, #1
+    1b62:	0000		lsl	r0, r0, #0
+    1b64:	b500		push	{lr}
+    1b66:	b086		sub	sp, #24	; 0x18
+    1b68:	466b		mov	r3, sp
+    1b6a:	721a		strb	r2, [r3, #8]
+    1b6c:	9101		str	r1, [sp, #4]
+    1b6e:	9000		str	r0, [sp, #0]
+    1b70:	2001		mov	r0, #1
+    1b72:	9004		str	r0, [sp, #16]	; 0x10
+    1b74:	9804		ldr	r0, [sp, #16]	; 0x10
+    1b76:	2800		cmp	r0, #0
+    1b78:	d05b		beq	0x1c32
+    1b7a:	496f		ldr	r1, =0x864	; via 0x1d38
+    1b7c:	4668		mov	r0, sp
+    1b7e:	7a00		ldrb	r0, [r0, #8]
+    1b80:	0080		lsl	r0, r0, #2
+    1b82:	5808		ldr	r0, [r1, r0]
+    1b84:	7941		ldrb	r1, [r0, #5]
+    1b86:	4668		mov	r0, sp
+    1b88:	7301		strb	r1, [r0, #12]	; 0xc
+    1b8a:	7b00		ldrb	r0, [r0, #12]	; 0xc
+    1b8c:	0840		lsr	r0, r0, #1
+    1b8e:	d3f4		bcc	0x1b7a
+    1b90:	4969		ldr	r1, =0x864	; via 0x1d38
+    1b92:	4668		mov	r0, sp
+    1b94:	7a00		ldrb	r0, [r0, #8]
+    1b96:	0080		lsl	r0, r0, #2
+    1b98:	5808		ldr	r0, [r1, r0]
+    1b9a:	7800		ldrb	r0, [r0, #0]
+    1b9c:	0600		lsl	r0, r0, #24
+    1b9e:	0e01		lsr	r1, r0, #24
+    1ba0:	4668		mov	r0, sp
+    1ba2:	7341		strb	r1, [r0, #13]	; 0xd
+    1ba4:	e02c		b	0x1c00
+    1ba6:	4668		mov	r0, sp
+    1ba8:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1baa:	a905		add	r1, sp, #20	; 0x14
+    1bac:	9a00		ldr	r2, [sp, #0]
+    1bae:	9b01		ldr	r3, [sp, #4]
+    1bb0:	f7ff fd8c	bl	0x16cc
+    1bb4:	9004		str	r0, [sp, #16]	; 0x10
+    1bb6:	e039		b	0x1c2c
+    1bb8:	4668		mov	r0, sp
+    1bba:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1bbc:	a905		add	r1, sp, #20	; 0x14
+    1bbe:	f7ff fdc2	bl	0x1746
+    1bc2:	e7f7		b	0x1bb4
+    1bc4:	4668		mov	r0, sp
+    1bc6:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1bc8:	a905		add	r1, sp, #20	; 0x14
+    1bca:	f7ff fe12	bl	0x17f2
+    1bce:	e7f1		b	0x1bb4
+    1bd0:	4668		mov	r0, sp
+    1bd2:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1bd4:	a905		add	r1, sp, #20	; 0x14
+    1bd6:	f7ff fe34	bl	0x1842
+    1bda:	e7eb		b	0x1bb4
+    1bdc:	4668		mov	r0, sp
+    1bde:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1be0:	f7ff fe5e	bl	0x18a0
+    1be4:	e022		b	0x1c2c
+    1be6:	4668		mov	r0, sp
+    1be8:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1bea:	a905		add	r1, sp, #20	; 0x14
+    1bec:	9a00		ldr	r2, [sp, #0]
+    1bee:	f7ff fe6d	bl	0x18cc
+    1bf2:	e7df		b	0x1bb4
+    1bf4:	4668		mov	r0, sp
+    1bf6:	7b40		ldrb	r0, [r0, #13]	; 0xd
+    1bf8:	a905		add	r1, sp, #20	; 0x14
+    1bfa:	f7ff feab	bl	0x1954
+    1bfe:	e7d9		b	0x1bb4
+    1c00:	4850		ldr	r0, =0x83ff20	; via 0x1d44
+    1c02:	6800		ldr	r0, [r0, #0]
+    1c04:	2800		cmp	r0, #0
+    1c06:	d0ce		beq	0x1ba6
+    1c08:	3801		sub	r0, #1
+    1c0a:	2800		cmp	r0, #0
+    1c0c:	d0d4		beq	0x1bb8
+    1c0e:	3801		sub	r0, #1
+    1c10:	2800		cmp	r0, #0
+    1c12:	d0d7		beq	0x1bc4
+    1c14:	3801		sub	r0, #1
+    1c16:	2800		cmp	r0, #0
+    1c18:	d0da		beq	0x1bd0
+    1c1a:	3801		sub	r0, #1
+    1c1c:	2800		cmp	r0, #0
+    1c1e:	d0dd		beq	0x1bdc
+    1c20:	3801		sub	r0, #1
+    1c22:	2800		cmp	r0, #0
+    1c24:	d0df		beq	0x1be6
+    1c26:	3801		sub	r0, #1
+    1c28:	2800		cmp	r0, #0
+    1c2a:	d0e3		beq	0x1bf4
+    1c2c:	9804		ldr	r0, [sp, #16]	; 0x10
+    1c2e:	2800		cmp	r0, #0
+    1c30:	d1a3		bne	0x1b7a
+    1c32:	9805		ldr	r0, [sp, #20]	; 0x14
+    1c34:	b006		add	sp, #24	; 0x18
+    1c36:	bd00		pop	{pc}
+    1c38:	4942		ldr	r1, =0x83ff20	; via 0x1d44
+    1c3a:	2001		mov	r0, #1
+    1c3c:	6008		str	r0, [r1, #0]
+    1c3e:	4842		ldr	r0, =0x83ff1b	; via 0x1d48
+    1c40:	2100		mov	r1, #0
+    1c42:	7001		strb	r1, [r0, #0]
+    1c44:	4841		ldr	r0, =0x83ff18	; via 0x1d4c
+    1c46:	7001		strb	r1, [r0, #0]
+    1c48:	4770		bx	lr
+    1c4a:	46c0		nop			(mov r8, r8)
+    1c4c:	ff14		<half-bl>
+    1c4e:	0083		lsl	r3, r0, #2
+    1c50:	b081		sub	sp, #4
+    1c52:	483f		ldr	r0, =0xffff5800	; via 0x1d50
+    1c54:	9000		str	r0, [sp, #0]
+    1c56:	493f		ldr	r1, =0xffff6000	; via 0x1d54
+    1c58:	2002		mov	r0, #2
+    1c5a:	880a		ldrh	r2, [r1, #0]
+    1c5c:	4310		orr	r0, r2
+    1c5e:	8008		strh	r0, [r1, #0]
+    1c60:	483c		ldr	r0, =0xffff6000	; via 0x1d54
+    1c62:	8801		ldrh	r1, [r0, #0]
+    1c64:	0849		lsr	r1, r1, #1
+    1c66:	0049		lsl	r1, r1, #1
+    1c68:	8001		strh	r1, [r0, #0]
+    1c6a:	493a		ldr	r1, =0xffff6000	; via 0x1d54
+    1c6c:	8808		ldrh	r0, [r1, #0]
+    1c6e:	2202		mov	r2, #2
+    1c70:	4390		bic	r0, r2
+    1c72:	8008		strh	r0, [r1, #0]
+    1c74:	9900		ldr	r1, [sp, #0]
+    1c76:	2007		mov	r0, #7
+    1c78:	7208		strb	r0, [r1, #8]
+    1c7a:	9900		ldr	r1, [sp, #0]
+    1c7c:	20bf		mov	r0, #191	; 0xbf
+    1c7e:	70c8		strb	r0, [r1, #3]
+    1c80:	9800		ldr	r0, [sp, #0]
+    1c82:	1c81		add	r1, r0, #2
+    1c84:	2010		mov	r0, #16	; 0x10
+    1c86:	880a		ldrh	r2, [r1, #0]
+    1c88:	4310		orr	r0, r2
+    1c8a:	8008		strh	r0, [r1, #0]
+    1c8c:	9800		ldr	r0, [sp, #0]
+    1c8e:	2180		mov	r1, #128	; 0x80
+    1c90:	70c1		strb	r1, [r0, #3]
+    1c92:	9800		ldr	r0, [sp, #0]
+    1c94:	2107		mov	r1, #7
+    1c96:	7081		strb	r1, [r0, #2]
+    1c98:	9800		ldr	r0, [sp, #0]
+    1c9a:	21bf		mov	r1, #191	; 0xbf
+    1c9c:	70c1		strb	r1, [r0, #3]
+    1c9e:	9800		ldr	r0, [sp, #0]
+    1ca0:	2107		mov	r1, #7
+    1ca2:	7001		strb	r1, [r0, #0]
+    1ca4:	9800		ldr	r0, [sp, #0]
+    1ca6:	2100		mov	r1, #0
+    1ca8:	7041		strb	r1, [r0, #1]
+    1caa:	9800		ldr	r0, [sp, #0]
+    1cac:	2103		mov	r1, #3
+    1cae:	70c1		strb	r1, [r0, #3]
+    1cb0:	9800		ldr	r0, [sp, #0]
+    1cb2:	2100		mov	r1, #0
+    1cb4:	7201		strb	r1, [r0, #8]
+    1cb6:	4828		ldr	r0, =0xffff5000	; via 0x1d58
+    1cb8:	9000		str	r0, [sp, #0]
+    1cba:	9800		ldr	r0, [sp, #0]
+    1cbc:	2107		mov	r1, #7
+    1cbe:	7201		strb	r1, [r0, #8]
+    1cc0:	9900		ldr	r1, [sp, #0]
+    1cc2:	20bf		mov	r0, #191	; 0xbf
+    1cc4:	70c8		strb	r0, [r1, #3]
+    1cc6:	9800		ldr	r0, [sp, #0]
+    1cc8:	1c80		add	r0, r0, #2
+    1cca:	2110		mov	r1, #16	; 0x10
+    1ccc:	8802		ldrh	r2, [r0, #0]
+    1cce:	4311		orr	r1, r2
+    1cd0:	8001		strh	r1, [r0, #0]
+    1cd2:	9800		ldr	r0, [sp, #0]
+    1cd4:	2180		mov	r1, #128	; 0x80
+    1cd6:	70c1		strb	r1, [r0, #3]
+    1cd8:	9800		ldr	r0, [sp, #0]
+    1cda:	2107		mov	r1, #7
+    1cdc:	7081		strb	r1, [r0, #2]
+    1cde:	9800		ldr	r0, [sp, #0]
+    1ce0:	21bf		mov	r1, #191	; 0xbf
+    1ce2:	70c1		strb	r1, [r0, #3]
+    1ce4:	9800		ldr	r0, [sp, #0]
+    1ce6:	2107		mov	r1, #7
+    1ce8:	7001		strb	r1, [r0, #0]
+    1cea:	9800		ldr	r0, [sp, #0]
+    1cec:	2100		mov	r1, #0
+    1cee:	7041		strb	r1, [r0, #1]
+    1cf0:	9900		ldr	r1, [sp, #0]
+    1cf2:	2003		mov	r0, #3
+    1cf4:	70c8		strb	r0, [r1, #3]
+    1cf6:	9800		ldr	r0, [sp, #0]
+    1cf8:	2100		mov	r1, #0
+    1cfa:	7201		strb	r1, [r0, #8]
+    1cfc:	b001		add	sp, #4
+    1cfe:	4770		bx	lr
+    1d00:	b081		sub	sp, #4
+    1d02:	4669		mov	r1, sp
+    1d04:	7008		strb	r0, [r1, #0]
+    1d06:	490c		ldr	r1, =0x864	; via 0x1d38
+    1d08:	4668		mov	r0, sp
+    1d0a:	7800		ldrb	r0, [r0, #0]
+    1d0c:	0080		lsl	r0, r0, #2
+    1d0e:	5808		ldr	r0, [r1, r0]
+    1d10:	7941		ldrb	r1, [r0, #5]
+    1d12:	4668		mov	r0, sp
+    1d14:	7041		strb	r1, [r0, #1]
+    1d16:	7840		ldrb	r0, [r0, #1]
+    1d18:	09c0		lsr	r0, r0, #7
+    1d1a:	d20b		bcs	0x1d34
+    1d1c:	4806		ldr	r0, =0x864	; via 0x1d38
+    1d1e:	4669		mov	r1, sp
+    1d20:	7809		ldrb	r1, [r1, #0]
+    1d22:	0089		lsl	r1, r1, #2
+    1d24:	5840		ldr	r0, [r0, r1]
+    1d26:	7940		ldrb	r0, [r0, #5]
+    1d28:	4669		mov	r1, sp
+    1d2a:	7048		strb	r0, [r1, #1]
+    1d2c:	4668		mov	r0, sp
+    1d2e:	7840		ldrb	r0, [r0, #1]
+    1d30:	09c0		lsr	r0, r0, #7
+    1d32:	d3f3		bcc	0x1d1c
+    1d34:	b001		add	sp, #4
+    1d36:	4770		bx	lr
+    1d38:	0864		lsr	r4, r4, #1
+    1d3a:	0000		lsl	r0, r0, #0
+    1d3c:	5805		ldr	r5, [r0, r0]
+    1d3e:	ffff		<half-bl>
+    1d40:	5005		str	r5, [r0, r0]
+    1d42:	ffff		<half-bl>
+    1d44:	ff20		<half-bl>
+    1d46:	0083		lsl	r3, r0, #2
+    1d48:	ff1b		<half-bl>
+    1d4a:	0083		lsl	r3, r0, #2
+    1d4c:	ff18		<half-bl>
+    1d4e:	0083		lsl	r3, r0, #2
+    1d50:	5800		ldr	r0, [r0, r0]
+    1d52:	ffff		<half-bl>
+    1d54:	6000		str	r0, [r0, #0]
+    1d56:	ffff		<half-bl>
+    1d58:	5000		str	r0, [r0, r0]
+    1d5a:	ffff		<half-bl>
+    1d5c:	b500		push	{lr}
+    1d5e:	b087		sub	sp, #28	; 0x1c
+    1d60:	466b		mov	r3, sp
+    1d62:	721a		strb	r2, [r3, #8]
+    1d64:	9101		str	r1, [sp, #4]
+    1d66:	9000		str	r0, [sp, #0]
+    1d68:	9900		ldr	r1, [sp, #0]
+    1d6a:	2000		mov	r0, #0
+    1d6c:	8008		strh	r0, [r1, #0]
+    1d6e:	9801		ldr	r0, [sp, #4]
+    1d70:	2100		mov	r1, #0
+    1d72:	8001		strh	r1, [r0, #0]
+    1d74:	2000		mov	r0, #0
+    1d76:	9003		str	r0, [sp, #12]	; 0xc
+    1d78:	f7ff ff5e	bl	0x1c38
+    1d7c:	a805		add	r0, sp, #20	; 0x14
+    1d7e:	a906		add	r1, sp, #24	; 0x18
+    1d80:	466a		mov	r2, sp
+    1d82:	7a12		ldrb	r2, [r2, #8]
+    1d84:	f7ff feee	bl	0x1b64
+    1d88:	9004		str	r0, [sp, #16]	; 0x10
+    1d8a:	9804		ldr	r0, [sp, #16]	; 0x10
+    1d8c:	2800		cmp	r0, #0
+    1d8e:	d11f		bne	0x1dd0
+    1d90:	9803		ldr	r0, [sp, #12]	; 0xc
+    1d92:	2800		cmp	r0, #0
+    1d94:	d11c		bne	0x1dd0
+    1d96:	9800		ldr	r0, [sp, #0]
+    1d98:	4669		mov	r1, sp
+    1d9a:	8b0a		ldrh	r2, [r1, #24]	; 0x18
+    1d9c:	8801		ldrh	r1, [r0, #0]
+    1d9e:	1851		add	r1, r2, r1
+    1da0:	8001		strh	r1, [r0, #0]
+    1da2:	9905		ldr	r1, [sp, #20]	; 0x14
+    1da4:	4668		mov	r0, sp
+    1da6:	8b00		ldrh	r0, [r0, #24]	; 0x18
+    1da8:	8008		strh	r0, [r1, #0]
+    1daa:	9801		ldr	r0, [sp, #4]
+    1dac:	9905		ldr	r1, [sp, #20]	; 0x14
+    1dae:	8809		ldrh	r1, [r1, #0]
+    1db0:	8802		ldrh	r2, [r0, #0]
+    1db2:	1889		add	r1, r1, r2
+    1db4:	8001		strh	r1, [r0, #0]
+    1db6:	a805		add	r0, sp, #20	; 0x14
+    1db8:	a906		add	r1, sp, #24	; 0x18
+    1dba:	466a		mov	r2, sp
+    1dbc:	7a12		ldrb	r2, [r2, #8]
+    1dbe:	f7ff fed1	bl	0x1b64
+    1dc2:	9004		str	r0, [sp, #16]	; 0x10
+    1dc4:	9804		ldr	r0, [sp, #16]	; 0x10
+    1dc6:	2800		cmp	r0, #0
+    1dc8:	d102		bne	0x1dd0
+    1dca:	9803		ldr	r0, [sp, #12]	; 0xc
+    1dcc:	2800		cmp	r0, #0
+    1dce:	d0e2		beq	0x1d96
+    1dd0:	9804		ldr	r0, [sp, #16]	; 0x10
+    1dd2:	2801		cmp	r0, #1
+    1dd4:	d101		bne	0x1dda
+    1dd6:	2004		mov	r0, #4
+    1dd8:	9003		str	r0, [sp, #12]	; 0xc
+    1dda:	9803		ldr	r0, [sp, #12]	; 0xc
+    1ddc:	b007		add	sp, #28	; 0x1c
+    1dde:	bd00		pop	{pc}
+    1de0:	b089		sub	sp, #36	; 0x24
+    1de2:	201a		mov	r0, #26	; 0x1a
+    1de4:	9005		str	r0, [sp, #20]	; 0x14
+    1de6:	2018		mov	r0, #24	; 0x18
+    1de8:	9006		str	r0, [sp, #24]	; 0x18
+    1dea:	2000		mov	r0, #0
+    1dec:	9008		str	r0, [sp, #32]	; 0x20
+    1dee:	4669		mov	r1, sp
+    1df0:	9805		ldr	r0, [sp, #20]	; 0x14
+    1df2:	8800		ldrh	r0, [r0, #0]
+    1df4:	8008		strh	r0, [r1, #0]
+    1df6:	9806		ldr	r0, [sp, #24]	; 0x18
+    1df8:	8800		ldrh	r0, [r0, #0]
+    1dfa:	8048		strh	r0, [r1, #2]
+    1dfc:	4668		mov	r0, sp
+    1dfe:	8841		ldrh	r1, [r0, #2]
+    1e00:	8800		ldrh	r0, [r0, #0]
+    1e02:	0400		lsl	r0, r0, #16
+    1e04:	1808		add	r0, r1, r0
+    1e06:	9001		str	r0, [sp, #4]
+    1e08:	9801		ldr	r0, [sp, #4]
+    1e0a:	0200		lsl	r0, r0, #8
+    1e0c:	0a00		lsr	r0, r0, #8
+    1e0e:	0080		lsl	r0, r0, #2
+    1e10:	3008		add	r0, #8
+    1e12:	9007		str	r0, [sp, #28]	; 0x1c
+    1e14:	9807		ldr	r0, [sp, #28]	; 0x1c
+    1e16:	3018		add	r0, #24	; 0x18
+    1e18:	9002		str	r0, [sp, #8]
+    1e1a:	9802		ldr	r0, [sp, #8]
+    1e1c:	9004		str	r0, [sp, #16]	; 0x10
+    1e1e:	9802		ldr	r0, [sp, #8]
+    1e20:	3002		add	r0, #2
+    1e22:	9003		str	r0, [sp, #12]	; 0xc
+    1e24:	9803		ldr	r0, [sp, #12]	; 0xc
+    1e26:	8801		ldrh	r1, [r0, #0]
+    1e28:	4806		ldr	r0, =0xffff	; via 0x1e44
+    1e2a:	4281		cmp	r1, r0
+    1e2c:	d104		bne	0x1e38
+    1e2e:	9804		ldr	r0, [sp, #16]	; 0x10
+    1e30:	8800		ldrh	r0, [r0, #0]
+    1e32:	4904		ldr	r1, =0xffff	; via 0x1e44
+    1e34:	4288		cmp	r0, r1
+    1e36:	d001		beq	0x1e3c
+    1e38:	2001		mov	r0, #1
+    1e3a:	9008		str	r0, [sp, #32]	; 0x20
+    1e3c:	9808		ldr	r0, [sp, #32]	; 0x20
+    1e3e:	b009		add	sp, #36	; 0x24
+    1e40:	4770		bx	lr
+    1e42:	46c0		nop			(mov r8, r8)
+
+    1e44:	0000ffff
+
+    1e48:	e92d4000	stmdb	sp!, {lr}
+    1e4c:	e28fe001	add	lr, pc, #1
+    1e50:	e12fff1e	bx	lr
+    1e54:	f7fe fe3d	bl	0xad2
+    1e58:	4778		bx	pc
+    1e5a:	46c0		nop			(mov r8, r8)
+    1e5c:	e8bd8000	ldmia	sp!, {pc}
+
+<1E60-1EFF: all FFs>
+
+    1f00:	00000001
+
+<1F04-end: all FFs>
Binary file compal/boot/c140-boot.bin has changed
Binary file compal/boot/c156-boot.90.05.bin has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compal/boot/c156-boot.disasm	Sat Jan 14 06:17:56 2023 +0000
@@ -0,0 +1,543 @@
+RESET entry and exception vectors:
+       0:	ea000011	b	0x4c
+       4:	ea008036	b	0x200e4
+       8:	ea008036	b	0x200e8
+       c:	ea008036	b	0x200ec
+      10:	ea008036	b	0x200f0
+      14:	ea008036	b	0x200f4
+      18:	ea008036	b	0x200f8
+      1c:	ea008036	b	0x200fc
+
+      20:	02a102a1
+      24:	02a302a1
+      28:	00000040
+      2c:	fffffd00
+      30:	ffff9800
+      34:	fffffb10
+      38:	ffffff08
+      3c:	20021081
+      40:	00000800
+      44:	004000c0
+      48:	00000e85
+
+; RESET entry point
+; same init as in the C139 version
+      4c:	e51f1028	ldr	r1, =0xfffffd00	; via 0x2c
+      50:	e1d120b2	ldrh	r2, [r1, #2]
+      54:	e51f0034	ldr	r0, =0x40	; via 0x28
+      58:	e1800002	orr	r0, r0, r2
+      5c:	e1c100b2	strh	r0, [r1, #2]
+; disable PLL
+; diff from C139 version: writing 2002 into FFFF:9800 instead of 2006
+; diff in the BYPASS_DIV field
+      60:	e51f1038	ldr	r1, =0xffff9800	; via 0x30
+      64:	e15f22be	ldrh	r2, =0x2002	; via 0x3e
+      68:	e1c120b0	strh	r2, [r1]
+      6c:	e5912000	ldr	r2, [r1]
+      70:	e2022001	and	r2, r2, #1
+      74:	e3520001	cmp	r2, #1
+      78:	0afffffb	beq	0x6c
+; FFFF:FD00 write same as C139
+      7c:	e51f1058	ldr	r1, =0xfffffd00	; via 0x2c
+      80:	e15f24bc	ldrh	r2, =0x1081	; via 0x3c
+      84:	e1c120b0	strh	r2, [r1]
+; disable DU like C139
+      88:	e51f105c	ldr	r1, =0xfffffb10	; via 0x34
+      8c:	e15f25b4	ldrh	r2, =0x800	; via 0x40
+      90:	e1d100b0	ldrh	r0, [r1]
+      94:	e1800002	orr	r0, r0, r2
+      98:	e1c100b0	strh	r0, [r1]
+; ditto for MPU
+      9c:	e51f106c	ldr	r1, =0xffffff08	; via 0x38
+      a0:	e15f26b6	ldrh	r2, =0x0	; via 0x42
+      a4:	e1c120b0	strh	r2, [r1]
+; Memory timings
+      a8:	e59f1640	ldr	r1, =0xfffffb00	; via 0x6f0
+      ac:	e15f29b4	ldrh	r2, =0x2a1	; via 0x20
+      b0:	e1c120b0	strh	r2, [r1]
+      b4:	e15f29ba	ldrh	r2, =0x2a1	; via 0x22
+      b8:	e1c120b2	strh	r2, [r1, #2]
+      bc:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x24
+      c0:	e1c120b4	strh	r2, [r1, #4]
+      c4:	e15f2ab6	ldrh	r2, =0x2a3	; via 0x26
+      c8:	e1c120b6	strh	r2, [r1, #6]
+      cc:	e15f28bc	ldrh	r2, =0xe85	; via 0x48
+      d0:	e1c120ba	strh	r2, [r1, #10]	; 0xa
+      d4:	e15f29b8	ldrh	r2, =0xc0	; via 0x44
+      d8:	e1c120bc	strh	r2, [r1, #12]	; 0xc
+      dc:	e15f29be	ldrh	r2, =0x40	; via 0x46
+      e0:	e1c120b8	strh	r2, [r1, #8]
+; enable 8 MiB chip select regions
+      e4:	e59f3630	ldr	r3, =0xfffef006	; via 0x71c
+      e8:	e1d310b0	ldrh	r1, [r3]
+      ec:	e3a02008	mov	r2, #8
+      f0:	e1811002	orr	r1, r1, r2
+      f4:	e1c310b0	strh	r1, [r3]
+; write 0x0110 into FFFE:F00A
+; enable I/O(8) and I/O(12)
+      f8:	e59f3604	ldr	r3, =0xfffef000	; via 0x704
+      fc:	e3a01e11	mov	r1, #272	; 0x110
+     100:	e1c310ba	strh	r1, [r3, #10]	; 0xa
+; FFFE:4804: set GPIOs 8 and 12 as outputs
+     104:	e59f3604	ldr	r3, =0xfffe4804	; via 0x710
+     108:	e5931000	ldr	r1, [r3]
+     10c:	e3a030ff	mov	r3, #255	; 0xff
+     110:	e3a02cee	mov	r2, #60928	; 0xee00
+     114:	e1822003	orr	r2, r2, r3
+     118:	e0011002	and	r1, r1, r2
+     11c:	e59f35e4	ldr	r3, =0xfffe4800	; via 0x708
+     120:	e1c310b4	strh	r1, [r3, #4]
+; ARMIO_LATCH_OUT: GPIO 8 set to 0
+     124:	e59f35e0	ldr	r3, =0xfffe4802	; via 0x70c
+     128:	e5931000	ldr	r1, [r3]
+     12c:	e3a030ff	mov	r3, #255	; 0xff
+     130:	e3a02cfe	mov	r2, #65024	; 0xfe00
+     134:	e1822003	orr	r2, r2, r3
+     138:	e0011002	and	r1, r1, r2
+     13c:	e59f35c4	ldr	r3, =0xfffe4800	; via 0x708
+     140:	e1c310b2	strh	r1, [r3, #2]
+; ... and then reset it to 0xF400
+     144:	e3a01b3d	mov	r1, #62464	; 0xf400
+     148:	e59f35b8	ldr	r3, =0xfffe4800	; via 0x708
+     14c:	e1c310b2	strh	r1, [r3, #2]
+; SVC mode, IRQ and FIQ disabled
+     150:	e10f0000	mrs	r0, CPSR
+     154:	e3c0001f	bic	r0, r0, #31	; 0x1f
+     158:	e3800013	orr	r0, r0, #19	; 0x13
+     15c:	e38000c0	orr	r0, r0, #192	; 0xc0
+     160:	e129f000	msr	CPSR_fc, r0
+; zero all 256 KiB IRAM except last 128 bytes
+     164:	e3a00502	mov	r0, #8388608	; 0x800000
+     168:	e3a02000	mov	r2, #0
+     16c:	e3a01721	mov	r1, #8650752	; 0x840000
+     170:	e2411080	sub	r1, r1, #128	; 0x80
+     174:	e4802004	str	r2, [r0], #4
+     178:	e1500001	cmp	r0, r1
+     17c:	1afffffc	bne	0x174
+; ditto for 2 MiB XRAM
+     180:	e3a00401	mov	r0, #16777216	; 0x1000000
+     184:	e3a02000	mov	r2, #0
+     188:	e3a01612	mov	r1, #18874368	; 0x1200000
+     18c:	e2411080	sub	r1, r1, #128	; 0x80
+     190:	e4802004	str	r2, [r0], #4
+     194:	e1500001	cmp	r0, r1
+     198:	1afffffc	bne	0x190
+; MODEM UART
+     19c:	e59f0550	ldr	r0, =0xffff5800	; via 0x6f4
+; 0 into LCR for IER access
+     1a0:	e3a01000	mov	r1, #0
+     1a4:	e5c01003	strb	r1, [r0, #3]
+; clear IER
+     1a8:	e3a01000	mov	r1, #0
+     1ac:	e5c01001	strb	r1, [r0, #1]
+; BF into LCR
+     1b0:	e3a010bf	mov	r1, #191	; 0xbf
+     1b4:	e5c01003	strb	r1, [r0, #3]
+; 0x10 into EFR
+     1b8:	e3a01010	mov	r1, #16	; 0x10
+     1bc:	e5c01002	strb	r1, [r0, #2]
+; set 115200 baud
+     1c0:	e59f3534	ldr	r3, =0xffff5803	; via 0x6fc
+     1c4:	e5931000	ldr	r1, [r3]
+     1c8:	e3811080	orr	r1, r1, #128	; 0x80
+     1cc:	e5c31000	strb	r1, [r3]
+     1d0:	e3a01007	mov	r1, #7
+     1d4:	e5c01000	strb	r1, [r0]
+     1d8:	e3a01000	mov	r1, #0
+     1dc:	e5c01001	strb	r1, [r0, #1]
+; LCR will eventually get back to 03
+     1e0:	e59f3514	ldr	r3, =0xffff5803	; via 0x6fc
+     1e4:	e5931000	ldr	r1, [r3]
+     1e8:	e201107f	and	r1, r1, #127	; 0x7f
+     1ec:	e5c31000	strb	r1, [r3]
+     1f0:	e5931000	ldr	r1, [r3]
+     1f4:	e3811003	orr	r1, r1, #3
+     1f8:	e5c31000	strb	r1, [r3]
+; 0x40 into MCR: TCR/TLR access
+     1fc:	e3a01040	mov	r1, #64	; 0x40
+     200:	e5c01004	strb	r1, [r0, #4]
+; TCR=0x0F (same as default)
+     204:	e3a0100f	mov	r1, #15	; 0xf
+     208:	e5c01006	strb	r1, [r0, #6]
+; BF into LCR again
+     20c:	e3a010bf	mov	r1, #191	; 0xbf
+     210:	e5c01003	strb	r1, [r0, #3]
+; 0x10 into EFR again
+     214:	e3a01010	mov	r1, #16	; 0x10
+     218:	e5c01002	strb	r1, [r0, #2]
+; finally 03 into LCR
+     21c:	e3a01003	mov	r1, #3
+     220:	e5c01003	strb	r1, [r0, #3]
+; clear SCR (default, all weird stuff disabled)
+     224:	e3a01000	mov	r1, #0
+     228:	e5c01010	strb	r1, [r0, #16]	; 0x10
+; FCR=06: FIFOs cleared and *disabled*
+     22c:	e3a01006	mov	r1, #6
+     230:	e5c01002	strb	r1, [r0, #2]
+; MCR=0F
+     234:	e3a0100f	mov	r1, #15	; 0xf
+     238:	e5c01004	strb	r1, [r0, #4]
+; FCR=F1: enable FIFOs with max trigger levels
+     23c:	e3a010f1	mov	r1, #241	; 0xf1
+     240:	e5c01002	strb	r1, [r0, #2]
+; MDR1: write 7 for reset, then 0 for UART mode
+     244:	e3a01007	mov	r1, #7
+     248:	e5c01008	strb	r1, [r0, #8]
+     24c:	e3a01000	mov	r1, #0
+     250:	e5c01008	strb	r1, [r0, #8]
+; IER: enable Rx interrupt
+     254:	e59f349c	ldr	r3, =0xffff5801	; via 0x6f8
+     258:	e5931000	ldr	r1, [r3]
+     25c:	e3811001	orr	r1, r1, #1
+     260:	e5c31000	strb	r1, [r3]
+; nCS0: WS=3, write enable, DC=1
+     264:	e59f1484	ldr	r1, =0xfffffb00	; via 0x6f0
+     268:	e59f247c	ldr	r2, =0x2a3	; via 0x6ec
+     26c:	e1c120b0	strh	r2, [r1]
+; FFFF:FB0E = 0x6A: adapt enabled for RHEA and API,
+; all ARM7 cycles visible externally
+     270:	e59f3488	ldr	r3, =0xfffffb00	; via 0x700
+     274:	e3a0106a	mov	r1, #106	; 0x6a
+     278:	e1c310be	strh	r1, [r3, #14]	; 0xe
+; dingle UART FIFOs again, same settings
+     27c:	e59f0470	ldr	r0, =0xffff5800	; via 0x6f4
+     280:	e3a010f7	mov	r1, #247	; 0xf7
+     284:	e5c01002	strb	r1, [r0, #2]
+     288:	e3a010f1	mov	r1, #241	; 0xf1
+     28c:	e5c01002	strb	r1, [r0, #2]
+; short delay loop
+     290:	e3a01f4b	mov	r1, #300	; 0x12c
+     294:	e2411001	sub	r1, r1, #1
+     298:	e3510000	cmp	r1, #0
+     29c:	1afffffc	bne	0x294
+; check UART for unsolicited input?
+     2a0:	e59f044c	ldr	r0, =0xffff5800	; via 0x6f4
+     2a4:	e3a02064	mov	r2, #100	; 0x64
+     2a8:	e3a08801	mov	r8, #65536	; 0x10000
+     2ac:	e2488001	sub	r8, r8, #1
+     2b0:	e3580000	cmp	r8, #0
+     2b4:	0a000040	beq	0x3bc
+     2b8:	e5d01005	ldrb	r1, [r0, #5]
+     2bc:	e2011001	and	r1, r1, #1
+     2c0:	e3510001	cmp	r1, #1
+     2c4:	1afffff8	bne	0x2ac
+     2c8:	e5d01000	ldrb	r1, [r0]
+; unsolicited input received
+; repeats the whole UART init, but with /2 div for 406250 baud
+     2cc:	e59f0420	ldr	r0, =0xffff5800	; via 0x6f4
+     2d0:	e3a01000	mov	r1, #0
+     2d4:	e5c01003	strb	r1, [r0, #3]
+     2d8:	e3a01000	mov	r1, #0
+     2dc:	e5c01001	strb	r1, [r0, #1]
+     2e0:	e3a010bf	mov	r1, #191	; 0xbf
+     2e4:	e5c01003	strb	r1, [r0, #3]
+     2e8:	e3a01010	mov	r1, #16	; 0x10
+     2ec:	e5c01002	strb	r1, [r0, #2]
+     2f0:	e59f3404	ldr	r3, =0xffff5803	; via 0x6fc
+     2f4:	e5931000	ldr	r1, [r3]
+     2f8:	e3811080	orr	r1, r1, #128	; 0x80
+     2fc:	e5c31000	strb	r1, [r3]
+     300:	e3a01002	mov	r1, #2
+     304:	e5c01000	strb	r1, [r0]
+     308:	e3a01000	mov	r1, #0
+     30c:	e5c01001	strb	r1, [r0, #1]
+     310:	e59f33e4	ldr	r3, =0xffff5803	; via 0x6fc
+     314:	e5931000	ldr	r1, [r3]
+     318:	e201107f	and	r1, r1, #127	; 0x7f
+     31c:	e5c31000	strb	r1, [r3]
+     320:	e5931000	ldr	r1, [r3]
+     324:	e3811003	orr	r1, r1, #3
+     328:	e5c31000	strb	r1, [r3]
+     32c:	e3a01040	mov	r1, #64	; 0x40
+     330:	e5c01004	strb	r1, [r0, #4]
+     334:	e3a0100f	mov	r1, #15	; 0xf
+     338:	e5c01006	strb	r1, [r0, #6]
+     33c:	e3a010bf	mov	r1, #191	; 0xbf
+     340:	e5c01003	strb	r1, [r0, #3]
+     344:	e3a01010	mov	r1, #16	; 0x10
+     348:	e5c01002	strb	r1, [r0, #2]
+     34c:	e3a01003	mov	r1, #3
+     350:	e5c01003	strb	r1, [r0, #3]
+     354:	e3a01000	mov	r1, #0
+     358:	e5c01010	strb	r1, [r0, #16]	; 0x10
+     35c:	e3a01006	mov	r1, #6
+     360:	e5c01002	strb	r1, [r0, #2]
+     364:	e3a0100f	mov	r1, #15	; 0xf
+     368:	e5c01004	strb	r1, [r0, #4]
+     36c:	e3a010f1	mov	r1, #241	; 0xf1
+     370:	e5c01002	strb	r1, [r0, #2]
+     374:	e3a01007	mov	r1, #7
+     378:	e5c01008	strb	r1, [r0, #8]
+     37c:	e3a01000	mov	r1, #0
+     380:	e5c01008	strb	r1, [r0, #8]
+     384:	e59f336c	ldr	r3, =0xffff5801	; via 0x6f8
+     388:	e5931000	ldr	r1, [r3]
+     38c:	e3811001	orr	r1, r1, #1
+     390:	e5c31000	strb	r1, [r3]
+     394:	e59f0358	ldr	r0, =0xffff5800	; via 0x6f4
+     398:	e3a010f7	mov	r1, #247	; 0xf7
+     39c:	e5c01002	strb	r1, [r0, #2]
+     3a0:	e3a010f1	mov	r1, #241	; 0xf1
+     3a4:	e5c01002	strb	r1, [r0, #2]
+     3a8:	e3a01f4b	mov	r1, #300	; 0x12c
+     3ac:	e2411001	sub	r1, r1, #1
+     3b0:	e3510000	cmp	r1, #0
+     3b4:	1afffffc	bne	0x3ac
+     3b8:	e59f0334	ldr	r0, =0xffff5800	; via 0x6f4
+; normal path continues
+; emit 1B F6 02 00 41 01 40
+     3bc:	e3a0101b	mov	r1, #27	; 0x1b
+     3c0:	e5c01000	strb	r1, [r0]
+     3c4:	e3a010f6	mov	r1, #246	; 0xf6
+     3c8:	e5c01000	strb	r1, [r0]
+     3cc:	e3a01002	mov	r1, #2
+     3d0:	e5c01000	strb	r1, [r0]
+     3d4:	e3a01000	mov	r1, #0
+     3d8:	e5c01000	strb	r1, [r0]
+     3dc:	e3a01041	mov	r1, #65	; 0x41
+     3e0:	e5c01000	strb	r1, [r0]
+     3e4:	e3a01001	mov	r1, #1
+     3e8:	e5c01000	strb	r1, [r0]
+     3ec:	e3a01040	mov	r1, #64	; 0x40
+     3f0:	e5c01000	strb	r1, [r0]
+; wait for UART input
+     3f4:	e3a02064	mov	r2, #100	; 0x64
+     3f8:	e3a08701	mov	r8, #262144	; 0x40000
+     3fc:	e2488001	sub	r8, r8, #1
+     400:	e3580000	cmp	r8, #0
+     404:	0a0000aa	beq	0x6b4
+     408:	e5d01005	ldrb	r1, [r0, #5]
+     40c:	e2011001	and	r1, r1, #1
+     410:	e3510001	cmp	r1, #1
+     414:	1afffff8	bne	0x3fc
+     418:	e5d01000	ldrb	r1, [r0]
+     41c:	e3510000	cmp	r1, #0
+     420:	1a000003	bne	0x434
+     424:	e2422001	sub	r2, r2, #1
+     428:	e3520000	cmp	r2, #0
+     42c:	0a0000a0	beq	0x6b4
+     430:	eafffff1	b	0x3fc
+     434:	e351001b	cmp	r1, #27	; 0x1b
+     438:	1affffef	bne	0x3fc
+; got 1B
+     43c:	e3a08701	mov	r8, #262144	; 0x40000
+     440:	e2488001	sub	r8, r8, #1
+     444:	e3580000	cmp	r8, #0
+     448:	0a000099	beq	0x6b4
+     44c:	e5d01005	ldrb	r1, [r0, #5]
+     450:	e2011001	and	r1, r1, #1
+     454:	e3510001	cmp	r1, #1
+     458:	1afffff8	bne	0x440
+     45c:	e5d01000	ldrb	r1, [r0]
+     460:	e35100f6	cmp	r1, #246	; 0xf6
+     464:	1a000092	bne	0x6b4
+; got F6
+     468:	e3a08801	mov	r8, #65536	; 0x10000
+     46c:	e2488001	sub	r8, r8, #1
+     470:	e3580000	cmp	r8, #0
+     474:	0a00008e	beq	0x6b4
+     478:	e5d01005	ldrb	r1, [r0, #5]
+     47c:	e2011001	and	r1, r1, #1
+     480:	e3510001	cmp	r1, #1
+     484:	1afffff8	bne	0x46c
+     488:	e5d01000	ldrb	r1, [r0]
+     48c:	e3510002	cmp	r1, #2
+     490:	1a000087	bne	0x6b4
+; got 02
+     494:	e3a08801	mov	r8, #65536	; 0x10000
+     498:	e2488001	sub	r8, r8, #1
+     49c:	e3580000	cmp	r8, #0
+     4a0:	0a000083	beq	0x6b4
+     4a4:	e5d01005	ldrb	r1, [r0, #5]
+     4a8:	e2011001	and	r1, r1, #1
+     4ac:	e3510001	cmp	r1, #1
+     4b0:	1afffff8	bne	0x498
+     4b4:	e5d01000	ldrb	r1, [r0]
+     4b8:	e3510000	cmp	r1, #0
+     4bc:	1a00007c	bne	0x6b4
+; got 00
+     4c0:	e3a08801	mov	r8, #65536	; 0x10000
+     4c4:	e2488001	sub	r8, r8, #1
+     4c8:	e3580000	cmp	r8, #0
+     4cc:	0a000078	beq	0x6b4
+     4d0:	e5d01005	ldrb	r1, [r0, #5]
+     4d4:	e2011001	and	r1, r1, #1
+     4d8:	e3510001	cmp	r1, #1
+     4dc:	1afffff8	bne	0x4c4
+     4e0:	e5d01000	ldrb	r1, [r0]
+     4e4:	e3510052	cmp	r1, #82	; 0x52
+     4e8:	1a000071	bne	0x6b4
+; got 52
+     4ec:	e3a08801	mov	r8, #65536	; 0x10000
+     4f0:	e2488001	sub	r8, r8, #1
+     4f4:	e3580000	cmp	r8, #0
+     4f8:	0a00006d	beq	0x6b4
+     4fc:	e5d01005	ldrb	r1, [r0, #5]
+     500:	e2011001	and	r1, r1, #1
+     504:	e3510001	cmp	r1, #1
+     508:	1afffff8	bne	0x4f0
+     50c:	e5d01000	ldrb	r1, [r0]
+     510:	e3510001	cmp	r1, #1
+     514:	1a000066	bne	0x6b4
+; got 01
+     518:	e3a08801	mov	r8, #65536	; 0x10000
+     51c:	e2488001	sub	r8, r8, #1
+     520:	e3580000	cmp	r8, #0
+     524:	0a000062	beq	0x6b4
+     528:	e5d01005	ldrb	r1, [r0, #5]
+     52c:	e2011001	and	r1, r1, #1
+     530:	e3510001	cmp	r1, #1
+     534:	1afffff8	bne	0x51c
+     538:	e59f01b4	ldr	r0, =0xffff5800	; via 0x6f4
+     53c:	e5d01000	ldrb	r1, [r0]
+; emit 1B F6 02 00 41 02 43 before checking the last Rx char!
+     540:	e3a0201b	mov	r2, #27	; 0x1b
+     544:	e5c02000	strb	r2, [r0]
+     548:	e3a020f6	mov	r2, #246	; 0xf6
+     54c:	e5c02000	strb	r2, [r0]
+     550:	e3a02002	mov	r2, #2
+     554:	e5c02000	strb	r2, [r0]
+     558:	e3a02000	mov	r2, #0
+     55c:	e5c02000	strb	r2, [r0]
+     560:	e3a02041	mov	r2, #65	; 0x41
+     564:	e5c02000	strb	r2, [r0]
+     568:	e3a02002	mov	r2, #2
+     56c:	e5c02000	strb	r2, [r0]
+     570:	e3a02043	mov	r2, #67	; 0x43
+     574:	e5c02000	strb	r2, [r0]
+; now check for 53
+; if not 53, go back to wait for 01-53
+     578:	e3510053	cmp	r1, #83	; 0x53
+     57c:	0a000000	beq	0x584
+     580:	eaffffda	b	0x4f0
+; got 53
+     584:	e3a02000	mov	r2, #0
+     588:	e59f3190	ldr	r3, =0x800100	; via 0x720
+     58c:	e3a04000	mov	r4, #0
+     590:	e3a05001	mov	r5, #1
+; endless wait for Rx byte
+     594:	e5d01005	ldrb	r1, [r0, #5]
+     598:	e2011001	and	r1, r1, #1
+     59c:	e3510001	cmp	r1, #1
+     5a0:	1afffffb	bne	0x594
+     5a4:	e5d01000	ldrb	r1, [r0]
+; state machine dispatch
+     5a8:	e3520000	cmp	r2, #0
+     5ac:	0a000008	beq	0x5d4
+     5b0:	e3520001	cmp	r2, #1
+     5b4:	0a00000b	beq	0x5e8
+     5b8:	e3520002	cmp	r2, #2
+     5bc:	0a00000d	beq	0x5f8
+     5c0:	e3520003	cmp	r2, #3
+     5c4:	0a00000f	beq	0x608
+     5c8:	e3520004	cmp	r2, #4
+     5cc:	0a000015	beq	0x628
+     5d0:	ea000037	b	0x6b4
+; R2=0: must receive 02 first
+     5d4:	e3510002	cmp	r1, #2
+     5d8:	1affffed	bne	0x594
+     5dc:	e1a06001	mov	r6, r1
+     5e0:	e2822001	add	r2, r2, #1
+     5e4:	eaffffea	b	0x594
+; R2=1: got MSB of length
+     5e8:	e1a04401	mov	r4, r1, lsl #8
+     5ec:	e0266001	eor	r6, r6, r1
+     5f0:	e2822001	add	r2, r2, #1
+     5f4:	eaffffe6	b	0x594
+; R2=2: got LSB of length
+     5f8:	e0844001	add	r4, r4, r1
+     5fc:	e0266001	eor	r6, r6, r1
+     600:	e2822001	add	r2, r2, #1
+     604:	eaffffe2	b	0x594
+; R2=3: payload
+     608:	e5c31000	strb	r1, [r3]
+     60c:	e0266001	eor	r6, r6, r1
+     610:	e2833001	add	r3, r3, #1
+     614:	e2444001	sub	r4, r4, #1
+     618:	e3540000	cmp	r4, #0
+     61c:	1affffdc	bne	0x594
+     620:	e2822001	add	r2, r2, #1
+     624:	eaffffda	b	0x594
+; R2=4: checksum expected
+     628:	e1560001	cmp	r6, r1
+     62c:	1a000012	bne	0x67c
+; checksum good
+; emit 1B F6 02 00 41 03 42
+     630:	e3a0101b	mov	r1, #27	; 0x1b
+     634:	e5c01000	strb	r1, [r0]
+     638:	e3a010f6	mov	r1, #246	; 0xf6
+     63c:	e5c01000	strb	r1, [r0]
+     640:	e3a01002	mov	r1, #2
+     644:	e5c01000	strb	r1, [r0]
+     648:	e3a01000	mov	r1, #0
+     64c:	e5c01000	strb	r1, [r0]
+     650:	e3a01041	mov	r1, #65	; 0x41
+     654:	e5c01000	strb	r1, [r0]
+     658:	e3a01003	mov	r1, #3
+     65c:	e5c01000	strb	r1, [r0]
+     660:	e3a01042	mov	r1, #66	; 0x42
+     664:	e5c01000	strb	r1, [r0]
+; SP=0x803FFC
+     668:	e59f00b4	ldr	r0, =0x803ffc	; via 0x724
+     66c:	e1a0d000	mov	sp, r0
+; jump to 0x800100 in Thumb state
+     670:	e59f00a8	ldr	r0, =0x800100	; via 0x720
+     674:	e280e001	add	lr, r0, #1
+     678:	e12fff1e	bx	lr
+; checksum mismatch
+; emit 1B F6 02 00 45 53 16
+     67c:	e3a0101b	mov	r1, #27	; 0x1b
+     680:	e5c01000	strb	r1, [r0]
+     684:	e3a010f6	mov	r1, #246	; 0xf6
+     688:	e5c01000	strb	r1, [r0]
+     68c:	e3a01002	mov	r1, #2
+     690:	e5c01000	strb	r1, [r0]
+     694:	e3a01000	mov	r1, #0
+     698:	e5c01000	strb	r1, [r0]
+     69c:	e3a01045	mov	r1, #69	; 0x45
+     6a0:	e5c01000	strb	r1, [r0]
+     6a4:	e3a01053	mov	r1, #83	; 0x53
+     6a8:	e5c01000	strb	r1, [r0]
+     6ac:	e3a01016	mov	r1, #22	; 0x16
+     6b0:	e5c01000	strb	r1, [r0]
+; bail out path
+; ARMIO_LATCH_OUT: set GPIO 9 low
+     6b4:	e59f3050	ldr	r3, =0xfffe4802	; via 0x70c
+     6b8:	e5931000	ldr	r1, [r3]
+     6bc:	e3a030ff	mov	r3, #255	; 0xff
+     6c0:	e3a02cfd	mov	r2, #64768	; 0xfd00
+     6c4:	e1822003	orr	r2, r2, r3
+     6c8:	e0011002	and	r1, r1, r2
+     6cc:	e59f3034	ldr	r3, =0xfffe4800	; via 0x708
+     6d0:	e1c310b2	strh	r1, [r3, #2]
+; switch GPIO12 back to input
+     6d4:	e59f3034	ldr	r3, =0xfffe4804	; via 0x710
+     6d8:	e5931000	ldr	r1, [r3]
+     6dc:	e3811a01	orr	r1, r1, #4096	; 0x1000
+     6e0:	e59f3020	ldr	r3, =0xfffe4800	; via 0x708
+     6e4:	e1c310b4	strh	r1, [r3, #4]
+     6e8:	ea007e7c	b	0x200e0
+
+     6ec:	000002a3
+     6f0:	fffffb00
+     6f4:	ffff5800
+     6f8:	ffff5801
+     6fc:	ffff5803
+     700:	fffffb00
+     704:	fffef000
+     708:	fffe4800
+     70c:	fffe4802
+     710:	fffe4804
+     714:	fffe480c
+     718:	fffe480a
+     71c:	fffef006
+     720:	00800100
+     724:	00803ffc
+
+<728-7FF: all FFs>
+
+00000800:  42 4F 4F 54 2E 39 30 2E  30 35 00 00 00 00 00 00  BOOT.90.05......
+00000810:  31 30 30 33 01 02 00 00  FF FF FF FF FF FF FF FF  1003............
+00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................
+
+blank flash from here onward, until the main fw image starts at 0x20000
Binary file compal/c118-2.2.84.N-boot.bin has changed
Binary file compal/c118-3.0.81.E-boot.bin has changed
--- a/compal/c118-newboot.disasm	Sat Jan 14 06:09:25 2023 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2626 +0,0 @@
-Everything up to 0x958 is the same as in the C123 and C139 versions
-
-RESET entry and exception vectors:
-       0:	ea000225	b	0x89c
-       4:	ea000825	b	0x20a0
-       8:	ea000825	b	0x20a4
-       c:	ea000825	b	0x20a8
-      10:	ea000825	b	0x20ac
-      14:	ea000825	b	0x20b0
-      18:	ea000825	b	0x20b4
-
-<20-7FF: all FFs>
-
-00000800:  42 4F 4F 54 2E 39 30 2E  30 34 00 00 00 00 00 00  BOOT.90.04......
-00000810:  31 30 30 33 01 01 00 00  FF FF FF FF FF FF FF FF  1003............
-00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................
-
-     830:	00000006
-     834:	00000000
-     838:	00000000
-     83c:	00000048
-     840:	00000044
-     844:	00000052
-     848:	0000001b
-     84c:	00000005
-     850:	00000000
-     854:	00000000
-     858:	00000000
-     85c:	00000000
-     860:	000000fa
-     864:	ffff5800
-     868:	ffff5000
-     86c:	fffffb00
-     870:	02a102a1
-     874:	028302a1
-     878:	00c00281
-     87c:	002a0040
-     880:	00000040
-     884:	fffffd00
-     888:	ffff9800
-     88c:	fffffb10
-     890:	ffffff08
-     894:	20061081
-     898:	00000800
-
-; RESET entry point
-     89c:	e51f1020	ldr	r1, =0xfffffd00	; via 0x884
-     8a0:	e1d120b2	ldrh	r2, [r1, #2]
-     8a4:	e51f002c	ldr	r0, =0x40	; via 0x880
-     8a8:	e1800002	orr	r0, r0, r2
-     8ac:	e1c100b2	strh	r0, [r1, #2]
-     8b0:	e51f1030	ldr	r1, =0xffff9800	; via 0x888
-     8b4:	e15f22b6	ldrh	r2, =0x2006	; via 0x896
-     8b8:	e1c120b0	strh	r2, [r1]
-     8bc:	e5912000	ldr	r2, [r1]
-     8c0:	e2022001	and	r2, r2, #1
-     8c4:	e3520001	cmp	r2, #1
-     8c8:	0afffffb	beq	0x8bc
-     8cc:	e51f1050	ldr	r1, =0xfffffd00	; via 0x884
-     8d0:	e15f24b4	ldrh	r2, =0x1081	; via 0x894
-     8d4:	e1c120b0	strh	r2, [r1]
-     8d8:	e51f1054	ldr	r1, =0xfffffb10	; via 0x88c
-     8dc:	e15f24bc	ldrh	r2, =0x800	; via 0x898
-     8e0:	e1d100b0	ldrh	r0, [r1]
-     8e4:	e1800002	orr	r0, r0, r2
-     8e8:	e1c100b0	strh	r0, [r1]
-     8ec:	e51f1064	ldr	r1, =0xffffff08	; via 0x890
-     8f0:	e15f25be	ldrh	r2, =0x0	; via 0x89a
-     8f4:	e1c120b0	strh	r2, [r1]
-     8f8:	e51f1094	ldr	r1, =0xfffffb00	; via 0x86c
-     8fc:	e15f29b4	ldrh	r2, =0x2a1	; via 0x870
-     900:	e1c120b0	strh	r2, [r1]
-     904:	e15f29ba	ldrh	r2, =0x2a1	; via 0x872
-     908:	e1c120b2	strh	r2, [r1, #2]
-     90c:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x874
-     910:	e1c120b4	strh	r2, [r1, #4]
-     914:	e15f2ab6	ldrh	r2, =0x283	; via 0x876
-     918:	e1c120b6	strh	r2, [r1, #6]
-     91c:	e15f2abc	ldrh	r2, =0x281	; via 0x878
-     920:	e1c120ba	strh	r2, [r1, #10]	; 0xa
-     924:	e15f2bb2	ldrh	r2, =0xc0	; via 0x87a
-     928:	e1c120bc	strh	r2, [r1, #12]	; 0xc
-     92c:	e15f2bb8	ldrh	r2, =0x40	; via 0x87c
-     930:	e1c120b8	strh	r2, [r1, #8]
-     934:	e15f2bbe	ldrh	r2, =0x2a	; via 0x87e
-     938:	e1c120be	strh	r2, [r1, #14]	; 0xe
-     93c:	e59f0020	ldr	r0, =0x83e37c	; via 0x964
-     940:	e3a01b01	mov	r1, #1024	; 0x400
-     944:	e2411004	sub	r1, r1, #4
-     948:	e0802001	add	r2, r0, r1
-     94c:	e3c22003	bic	r2, r2, #3
-     950:	e1a0d002	mov	sp, r2
-     954:	e92d100f	stmdb	sp!, {r0, r1, r2, r3, r12}
-     958:	eb000522	bl	0x1de8
-     95c:	e8bd100f	ldmia	sp!, {r0, r1, r2, r3, r12}
-     960:	ea0005e4	b	0x20f8
-
-     964:	0083e37c
-
-     968:	4961		ldr	r1, =0xfffffa08	; via 0xaf0
-     96a:	4862		ldr	r0, =0xffff	; via 0xaf4
-     96c:	8008		strh	r0, [r1, #0]
-     96e:	4862		ldr	r0, =0xfffffa0a	; via 0xaf8
-     970:	211f		mov	r1, #31	; 0x1f
-     972:	8001		strh	r1, [r0, #0]
-     974:	4861		ldr	r0, =0xfffff804	; via 0xafc
-     976:	21f5		mov	r1, #245	; 0xf5
-     978:	8001		strh	r1, [r0, #0]
-     97a:	21a0		mov	r1, #160	; 0xa0
-     97c:	8001		strh	r1, [r0, #0]
-     97e:	4860		ldr	r0, =0xffff9800	; via 0xb00
-     980:	4960		ldr	r1, =0x2002	; via 0xb04
-     982:	8001		strh	r1, [r0, #0]
-     984:	485e		ldr	r0, =0xffff9800	; via 0xb00
-     986:	8800		ldrh	r0, [r0, #0]
-     988:	0840		lsr	r0, r0, #1
-     98a:	d2fb		bcs	0x984
-     98c:	495e		ldr	r1, =0xfffffd00	; via 0xb08
-     98e:	485f		ldr	r0, =0x1001	; via 0xb0c
-     990:	8008		strh	r0, [r1, #0]
-     992:	46f7		mov	pc, lr
-     994:	b500		push	{lr}
-     996:	b0ff		sub	sp, #508	; 0x1fc
-     998:	b0ca		sub	sp, #296	; 0x128
-     99a:	2000		mov	r0, #0
-     99c:	9001		str	r0, [sp, #4]
-     99e:	9801		ldr	r0, [sp, #4]
-     9a0:	2800		cmp	r0, #0
-     9a2:	d14e		bne	0xa42
-     9a4:	a846		add	r0, sp, #280	; 0x118
-     9a6:	2100		mov	r1, #0
-     9a8:	f001 f84a	bl	0x1a40
-     9ac:	a9c8		add	r1, sp, #800	; 0x320
-     9ae:	7008		strb	r0, [r1, #0]
-     9b0:	a846		add	r0, sp, #280	; 0x118
-     9b2:	a902		add	r1, sp, #8
-     9b4:	f000 fb08	bl	0xfc8
-     9b8:	9000		str	r0, [sp, #0]
-     9ba:	9800		ldr	r0, [sp, #0]
-     9bc:	2800		cmp	r0, #0
-     9be:	d01b		beq	0x9f8
-     9c0:	a924		add	r1, sp, #144	; 0x90
-     9c2:	4668		mov	r0, sp
-     9c4:	7a00		ldrb	r0, [r0, #8]
-     9c6:	7008		strb	r0, [r1, #0]
-     9c8:	2191		mov	r1, #145	; 0x91
-     9ca:	466a		mov	r2, sp
-     9cc:	4668		mov	r0, sp
-     9ce:	7800		ldrb	r0, [r0, #0]
-     9d0:	5488		strb	r0, [r1, r2]
-     9d2:	e01b		b	0xa0c
-     9d4:	a802		add	r0, sp, #8
-     9d6:	a924		add	r1, sp, #144	; 0x90
-     9d8:	f000 fde4	bl	0x15a4
-     9dc:	e016		b	0xa0c
-     9de:	a802		add	r0, sp, #8
-     9e0:	a924		add	r1, sp, #144	; 0x90
-     9e2:	aac8		add	r2, sp, #800	; 0x320
-     9e4:	7812		ldrb	r2, [r2, #0]
-     9e6:	f000 fdf1	bl	0x15cc
-     9ea:	e00f		b	0xa0c
-     9ec:	a802		add	r0, sp, #8
-     9ee:	a924		add	r1, sp, #144	; 0x90
-     9f0:	f000 fe23	bl	0x163a
-     9f4:	90c7		str	r0, [sp, #796]	; 0x31c
-     9f6:	e009		b	0xa0c
-     9f8:	4668		mov	r0, sp
-     9fa:	7a00		ldrb	r0, [r0, #8]
-     9fc:	2800		cmp	r0, #0
-     9fe:	d0e9		beq	0x9d4
-     a00:	3809		sub	r0, #9
-     a02:	2800		cmp	r0, #0
-     a04:	d0eb		beq	0x9de
-     a06:	3801		sub	r0, #1
-     a08:	2800		cmp	r0, #0
-     a0a:	d0ef		beq	0x9ec
-     a0c:	a824		add	r0, sp, #144	; 0x90
-     a0e:	a986		add	r1, sp, #536	; 0x218
-     a10:	f000 fbbd	bl	0x118e
-     a14:	2800		cmp	r0, #0
-     a16:	d111		bne	0xa3c
-     a18:	a886		add	r0, sp, #536	; 0x218
-     a1a:	a9c8		add	r1, sp, #800	; 0x320
-     a1c:	7809		ldrb	r1, [r1, #0]
-     a1e:	f000 ffe4	bl	0x19ea
-     a22:	2800		cmp	r0, #0
-     a24:	d00a		beq	0xa3c
-     a26:	4668		mov	r0, sp
-     a28:	7a00		ldrb	r0, [r0, #8]
-     a2a:	280a		cmp	r0, #10	; 0xa
-     a2c:	d106		bne	0xa3c
-     a2e:	a8c8		add	r0, sp, #800	; 0x320
-     a30:	7800		ldrb	r0, [r0, #0]
-     a32:	f001 f935	bl	0x1ca0
-     a36:	98c7		ldr	r0, [sp, #796]	; 0x31c
-     a38:	f000 fac4	bl	0xfc4
-     a3c:	9801		ldr	r0, [sp, #4]
-     a3e:	2800		cmp	r0, #0
-     a40:	d0b0		beq	0x9a4
-     a42:	b07f		add	sp, #508	; 0x1fc
-     a44:	b04a		add	sp, #296	; 0x128
-     a46:	bd00		pop	{pc}
-     a48:	b500		push	{lr}
-     a4a:	b0ff		sub	sp, #508	; 0x1fc
-     a4c:	b0c8		sub	sp, #288	; 0x120
-     a4e:	2000		mov	r0, #0
-     a50:	9000		str	r0, [sp, #0]
-     a52:	a846		add	r0, sp, #280	; 0x118
-     a54:	2101		mov	r1, #1
-     a56:	f000 fff3	bl	0x1a40
-     a5a:	a9c6		add	r1, sp, #792	; 0x318
-     a5c:	7008		strb	r0, [r1, #0]
-     a5e:	a8c6		add	r0, sp, #792	; 0x318
-     a60:	7800		ldrb	r0, [r0, #0]
-     a62:	28ff		cmp	r0, #255	; 0xff
-     a64:	d031		beq	0xaca
-     a66:	a846		add	r0, sp, #280	; 0x118
-     a68:	a902		add	r1, sp, #8
-     a6a:	f000 faad	bl	0xfc8
-     a6e:	9001		str	r0, [sp, #4]
-     a70:	9801		ldr	r0, [sp, #4]
-     a72:	2800		cmp	r0, #0
-     a74:	d014		beq	0xaa0
-     a76:	a924		add	r1, sp, #144	; 0x90
-     a78:	4668		mov	r0, sp
-     a7a:	7a00		ldrb	r0, [r0, #8]
-     a7c:	7008		strb	r0, [r1, #0]
-     a7e:	2291		mov	r2, #145	; 0x91
-     a80:	4668		mov	r0, sp
-     a82:	4669		mov	r1, sp
-     a84:	7909		ldrb	r1, [r1, #4]
-     a86:	5411		strb	r1, [r2, r0]
-     a88:	a824		add	r0, sp, #144	; 0x90
-     a8a:	a986		add	r1, sp, #536	; 0x218
-     a8c:	f000 fb7f	bl	0x118e
-     a90:	2800		cmp	r0, #0
-     a92:	d11a		bne	0xaca
-     a94:	a886		add	r0, sp, #536	; 0x218
-     a96:	a9c6		add	r1, sp, #792	; 0x318
-     a98:	7809		ldrb	r1, [r1, #0]
-     a9a:	f000 ffa6	bl	0x19ea
-     a9e:	e014		b	0xaca
-     aa0:	4668		mov	r0, sp
-     aa2:	7a00		ldrb	r0, [r0, #8]
-     aa4:	2800		cmp	r0, #0
-     aa6:	d110		bne	0xaca
-     aa8:	a802		add	r0, sp, #8
-     aaa:	a924		add	r1, sp, #144	; 0x90
-     aac:	f000 fd7a	bl	0x15a4
-     ab0:	a824		add	r0, sp, #144	; 0x90
-     ab2:	a986		add	r1, sp, #536	; 0x218
-     ab4:	f000 fb6b	bl	0x118e
-     ab8:	2800		cmp	r0, #0
-     aba:	d104		bne	0xac6
-     abc:	a886		add	r0, sp, #536	; 0x218
-     abe:	a9c6		add	r1, sp, #792	; 0x318
-     ac0:	7809		ldrb	r1, [r1, #0]
-     ac2:	f000 ff92	bl	0x19ea
-     ac6:	2001		mov	r0, #1
-     ac8:	9000		str	r0, [sp, #0]
-     aca:	9800		ldr	r0, [sp, #0]
-     acc:	b07f		add	sp, #508	; 0x1fc
-     ace:	b048		add	sp, #288	; 0x120
-     ad0:	bd00		pop	{pc}
-
-     ad2:	b500		push	{lr}
-     ad4:	b082		sub	sp, #8
-     ad6:	f7ff ff47	bl	0x968
-     ada:	f001 f889	bl	0x1bf0
-     ade:	f000 fd4f	bl	0x1580
-     ae2:	f000 f81f	bl	0xb24
-     ae6:	f000 f945	bl	0xd74
-     aea:	b002		add	sp, #8
-     aec:	bd00		pop	{pc}
-     aee:	46c0		nop			(mov r8, r8)
-
-     af0:	fffffa08
-     af4:	0000ffff
-     af8:	fffffa0a
-     afc:	fffff804
-     b00:	ffff9800
-     b04:	00002002
-     b08:	fffffd00
-     b0c:	00001001
-
-     b10:	e3a0d502	mov	sp, #8388608	; 0x800000
-     b14:	e28dd802	add	sp, sp, #131072	; 0x20000
-     b18:	e28fe005	add	lr, pc, #5
-     b1c:	e12fff1e	bx	lr
-     b20:	e1a00000	mov	r0, r0
-
-     b24:	b500		push	{lr}
-     b26:	b082		sub	sp, #8
-     b28:	49ea		ldr	r1, =0x83ff00	; via 0xed4
-     b2a:	48eb		ldr	r0, =0xffff5800	; via 0xed8
-     b2c:	6008		str	r0, [r1, #0]
-     b2e:	2000		mov	r0, #0
-     b30:	2102		mov	r1, #2
-     b32:	f000 f9d3	bl	0xedc
-     b36:	2000		mov	r0, #0
-     b38:	9000		str	r0, [sp, #0]
-     b3a:	9900		ldr	r1, [sp, #0]
-     b3c:	2005		mov	r0, #5
-     b3e:	0300		lsl	r0, r0, #12
-     b40:	4281		cmp	r1, r0
-     b42:	d207		bcs	0xb54
-     b44:	9800		ldr	r0, [sp, #0]
-     b46:	3001		add	r0, #1
-     b48:	9000		str	r0, [sp, #0]
-     b4a:	9900		ldr	r1, [sp, #0]
-     b4c:	2005		mov	r0, #5
-     b4e:	0300		lsl	r0, r0, #12
-     b50:	4281		cmp	r1, r0
-     b52:	d3f7		bcc	0xb44
-     b54:	f000 f82a	bl	0xbac
-     b58:	2000		mov	r0, #0
-     b5a:	2107		mov	r1, #7
-     b5c:	f000 f9be	bl	0xedc
-     b60:	2000		mov	r0, #0
-     b62:	9000		str	r0, [sp, #0]
-     b64:	9900		ldr	r1, [sp, #0]
-     b66:	2005		mov	r0, #5
-     b68:	0300		lsl	r0, r0, #12
-     b6a:	4281		cmp	r1, r0
-     b6c:	d207		bcs	0xb7e
-     b6e:	9800		ldr	r0, [sp, #0]
-     b70:	3001		add	r0, #1
-     b72:	9000		str	r0, [sp, #0]
-     b74:	9900		ldr	r1, [sp, #0]
-     b76:	2005		mov	r0, #5
-     b78:	0300		lsl	r0, r0, #12
-     b7a:	4281		cmp	r1, r0
-     b7c:	d3f7		bcc	0xb6e
-     b7e:	f000 f815	bl	0xbac
-     b82:	2000		mov	r0, #0
-     b84:	9001		str	r0, [sp, #4]
-     b86:	9000		str	r0, [sp, #0]
-     b88:	9900		ldr	r1, [sp, #0]
-     b8a:	2005		mov	r0, #5
-     b8c:	0400		lsl	r0, r0, #16
-     b8e:	4281		cmp	r1, r0
-     b90:	d20a		bcs	0xba8
-     b92:	9801		ldr	r0, [sp, #4]
-     b94:	3001		add	r0, #1
-     b96:	9001		str	r0, [sp, #4]
-     b98:	9800		ldr	r0, [sp, #0]
-     b9a:	3001		add	r0, #1
-     b9c:	9000		str	r0, [sp, #0]
-     b9e:	9900		ldr	r1, [sp, #0]
-     ba0:	2005		mov	r0, #5
-     ba2:	0400		lsl	r0, r0, #16
-     ba4:	4281		cmp	r1, r0
-     ba6:	d3f4		bcc	0xb92
-     ba8:	b002		add	sp, #8
-     baa:	bd00		pop	{pc}
-
-     bac:	b500		push	{lr}
-     bae:	b089		sub	sp, #36	; 0x24
-     bb0:	48f3		ldr	r0, =0x800100	; via 0xf80
-     bb2:	9005		str	r0, [sp, #20]	; 0x14
-     bb4:	48f3		ldr	r0, =0x2060	; via 0xf84
-     bb6:	9008		str	r0, [sp, #32]	; 0x20
-     bb8:	9808		ldr	r0, [sp, #32]	; 0x20
-     bba:	6800		ldr	r0, [r0, #0]
-     bbc:	49f2		ldr	r1, =0xdddddddd	; via 0xf88
-     bbe:	4288		cmp	r0, r1
-     bc0:	d000		beq	0xbc4
-     bc2:	e0d5		b	0xd70
-     bc4:	201b		mov	r0, #27	; 0x1b
-     bc6:	f000 f932	bl	0xe2e
-     bca:	20f6		mov	r0, #246	; 0xf6
-     bcc:	f000 f92f	bl	0xe2e
-     bd0:	2002		mov	r0, #2
-     bd2:	f000 f92c	bl	0xe2e
-     bd6:	2000		mov	r0, #0
-     bd8:	f000 f929	bl	0xe2e
-     bdc:	2041		mov	r0, #65	; 0x41
-     bde:	f000 f926	bl	0xe2e
-     be2:	2001		mov	r0, #1
-     be4:	f000 f923	bl	0xe2e
-     be8:	2040		mov	r0, #64	; 0x40
-     bea:	f000 f920	bl	0xe2e
-     bee:	2001		mov	r0, #1
-     bf0:	0300		lsl	r0, r0, #12
-     bf2:	f000 f934	bl	0xe5e
-     bf6:	281b		cmp	r0, #27	; 0x1b
-     bf8:	d000		beq	0xbfc
-     bfa:	e0b9		b	0xd70
-     bfc:	2001		mov	r0, #1
-     bfe:	0300		lsl	r0, r0, #12
-     c00:	f000 f92d	bl	0xe5e
-     c04:	28f6		cmp	r0, #246	; 0xf6
-     c06:	d000		beq	0xc0a
-     c08:	e0b2		b	0xd70
-     c0a:	2001		mov	r0, #1
-     c0c:	0300		lsl	r0, r0, #12
-     c0e:	f000 f926	bl	0xe5e
-     c12:	2802		cmp	r0, #2
-     c14:	d000		beq	0xc18
-     c16:	e0ab		b	0xd70
-     c18:	2001		mov	r0, #1
-     c1a:	0300		lsl	r0, r0, #12
-     c1c:	f000 f91f	bl	0xe5e
-     c20:	2800		cmp	r0, #0
-     c22:	d000		beq	0xc26
-     c24:	e0a4		b	0xd70
-     c26:	2001		mov	r0, #1
-     c28:	0300		lsl	r0, r0, #12
-     c2a:	f000 f918	bl	0xe5e
-     c2e:	2852		cmp	r0, #82	; 0x52
-     c30:	d000		beq	0xc34
-     c32:	e09d		b	0xd70
-     c34:	2001		mov	r0, #1
-     c36:	0300		lsl	r0, r0, #12
-     c38:	f000 f911	bl	0xe5e
-     c3c:	2801		cmp	r0, #1
-     c3e:	d000		beq	0xc42
-     c40:	e096		b	0xd70
-     c42:	2001		mov	r0, #1
-     c44:	0300		lsl	r0, r0, #12
-     c46:	f000 f90a	bl	0xe5e
-     c4a:	2853		cmp	r0, #83	; 0x53
-     c4c:	d000		beq	0xc50
-     c4e:	e08f		b	0xd70
-     c50:	201b		mov	r0, #27	; 0x1b
-     c52:	f000 f8ec	bl	0xe2e
-     c56:	20f6		mov	r0, #246	; 0xf6
-     c58:	f000 f8e9	bl	0xe2e
-     c5c:	2002		mov	r0, #2
-     c5e:	f000 f8e6	bl	0xe2e
-     c62:	2000		mov	r0, #0
-     c64:	f000 f8e3	bl	0xe2e
-     c68:	2041		mov	r0, #65	; 0x41
-     c6a:	f000 f8e0	bl	0xe2e
-     c6e:	2002		mov	r0, #2
-     c70:	f000 f8dd	bl	0xe2e
-     c74:	2043		mov	r0, #67	; 0x43
-     c76:	f000 f8da	bl	0xe2e
-     c7a:	2001		mov	r0, #1
-     c7c:	0300		lsl	r0, r0, #12
-     c7e:	f000 f8ee	bl	0xe5e
-     c82:	4669		mov	r1, sp
-     c84:	7208		strb	r0, [r1, #8]
-     c86:	2002		mov	r0, #2
-     c88:	7448		strb	r0, [r1, #17]	; 0x11
-     c8a:	2000		mov	r0, #0
-     c8c:	9000		str	r0, [sp, #0]
-     c8e:	9800		ldr	r0, [sp, #0]
-     c90:	2802		cmp	r0, #2
-     c92:	d215		bcs	0xcc0
-     c94:	2001		mov	r0, #1
-     c96:	0300		lsl	r0, r0, #12
-     c98:	f000 f8e1	bl	0xe5e
-     c9c:	4669		mov	r1, sp
-     c9e:	9a00		ldr	r2, [sp, #0]
-     ca0:	1a89		sub	r1, r1, r2
-     ca2:	7348		strb	r0, [r1, #13]	; 0xd
-     ca4:	4669		mov	r1, sp
-     ca6:	9800		ldr	r0, [sp, #0]
-     ca8:	1a08		sub	r0, r1, r0
-     caa:	7b40		ldrb	r0, [r0, #13]	; 0xd
-     cac:	7c49		ldrb	r1, [r1, #17]	; 0x11
-     cae:	4048		eor	r0, r1
-     cb0:	4669		mov	r1, sp
-     cb2:	7448		strb	r0, [r1, #17]	; 0x11
-     cb4:	9800		ldr	r0, [sp, #0]
-     cb6:	3001		add	r0, #1
-     cb8:	9000		str	r0, [sp, #0]
-     cba:	9800		ldr	r0, [sp, #0]
-     cbc:	2802		cmp	r0, #2
-     cbe:	d3e9		bcc	0xc94
-     cc0:	4668		mov	r0, sp
-     cc2:	8980		ldrh	r0, [r0, #12]	; 0xc
-     cc4:	466a		mov	r2, sp
-     cc6:	1e41		sub	r1, r0, #1
-     cc8:	8191		strh	r1, [r2, #12]	; 0xc
-     cca:	2800		cmp	r0, #0
-     ccc:	d015		beq	0xcfa
-     cce:	2001		mov	r0, #1
-     cd0:	0300		lsl	r0, r0, #12
-     cd2:	f000 f8c4	bl	0xe5e
-     cd6:	9905		ldr	r1, [sp, #20]	; 0x14
-     cd8:	7008		strb	r0, [r1, #0]
-     cda:	9805		ldr	r0, [sp, #20]	; 0x14
-     cdc:	7800		ldrb	r0, [r0, #0]
-     cde:	4669		mov	r1, sp
-     ce0:	7c49		ldrb	r1, [r1, #17]	; 0x11
-     ce2:	4048		eor	r0, r1
-     ce4:	4669		mov	r1, sp
-     ce6:	7448		strb	r0, [r1, #17]	; 0x11
-     ce8:	9805		ldr	r0, [sp, #20]	; 0x14
-     cea:	3001		add	r0, #1
-     cec:	9005		str	r0, [sp, #20]	; 0x14
-     cee:	4668		mov	r0, sp
-     cf0:	8982		ldrh	r2, [r0, #12]	; 0xc
-     cf2:	1e50		sub	r0, r2, #1
-     cf4:	8188		strh	r0, [r1, #12]	; 0xc
-     cf6:	2a00		cmp	r2, #0
-     cf8:	d1e9		bne	0xcce
-     cfa:	2001		mov	r0, #1
-     cfc:	0300		lsl	r0, r0, #12
-     cfe:	f000 f8ae	bl	0xe5e
-     d02:	4669		mov	r1, sp
-     d04:	7408		strb	r0, [r1, #16]	; 0x10
-     d06:	4668		mov	r0, sp
-     d08:	7c01		ldrb	r1, [r0, #16]	; 0x10
-     d0a:	7c40		ldrb	r0, [r0, #17]	; 0x11
-     d0c:	4281		cmp	r1, r0
-     d0e:	d015		beq	0xd3c
-     d10:	201b		mov	r0, #27	; 0x1b
-     d12:	f000 f88c	bl	0xe2e
-     d16:	20f6		mov	r0, #246	; 0xf6
-     d18:	f000 f889	bl	0xe2e
-     d1c:	2002		mov	r0, #2
-     d1e:	f000 f886	bl	0xe2e
-     d22:	2000		mov	r0, #0
-     d24:	f000 f883	bl	0xe2e
-     d28:	2045		mov	r0, #69	; 0x45
-     d2a:	f000 f880	bl	0xe2e
-     d2e:	2053		mov	r0, #83	; 0x53
-     d30:	f000 f87d	bl	0xe2e
-     d34:	2016		mov	r0, #22	; 0x16
-     d36:	f000 f87a	bl	0xe2e
-     d3a:	e019		b	0xd70
-     d3c:	201b		mov	r0, #27	; 0x1b
-     d3e:	f000 f876	bl	0xe2e
-     d42:	20f6		mov	r0, #246	; 0xf6
-     d44:	f000 f873	bl	0xe2e
-     d48:	2002		mov	r0, #2
-     d4a:	f000 f870	bl	0xe2e
-     d4e:	2000		mov	r0, #0
-     d50:	f000 f86d	bl	0xe2e
-     d54:	2041		mov	r0, #65	; 0x41
-     d56:	f000 f86a	bl	0xe2e
-     d5a:	2003		mov	r0, #3
-     d5c:	f000 f867	bl	0xe2e
-     d60:	2042		mov	r0, #66	; 0x42
-     d62:	f000 f864	bl	0xe2e
-     d66:	485b		ldr	r0, =0x83ff00	; via 0xed4
-     d68:	6800		ldr	r0, [r0, #0]
-     d6a:	4991		ldr	r1, =0x800100	; via 0xfb0
-     d6c:	f000 f85e	bl	0xe2c
-     d70:	b009		add	sp, #36	; 0x24
-     d72:	bd00		pop	{pc}
-
-     d74:	b500		push	{lr}
-     d76:	b081		sub	sp, #4
-     d78:	2066		mov	r0, #102	; 0x66
-     d7a:	f000 f858	bl	0xe2e
-     d7e:	2074		mov	r0, #116	; 0x74
-     d80:	f000 f855	bl	0xe2e
-     d84:	206d		mov	r0, #109	; 0x6d
-     d86:	f000 f852	bl	0xe2e
-     d8a:	2074		mov	r0, #116	; 0x74
-     d8c:	f000 f84f	bl	0xe2e
-     d90:	206f		mov	r0, #111	; 0x6f
-     d92:	f000 f84c	bl	0xe2e
-     d96:	206f		mov	r0, #111	; 0x6f
-     d98:	f000 f849	bl	0xe2e
-     d9c:	206c		mov	r0, #108	; 0x6c
-     d9e:	f000 f846	bl	0xe2e
-     da2:	4984		ldr	r1, =0x83ff80	; via 0xfb4
-     da4:	2000		mov	r0, #0
-     da6:	7008		strb	r0, [r1, #0]
-     da8:	9000		str	r0, [sp, #0]
-     daa:	9800		ldr	r0, [sp, #0]
-     dac:	0c00		lsr	r0, r0, #16
-     dae:	d105		bne	0xdbc
-     db0:	9800		ldr	r0, [sp, #0]
-     db2:	3001		add	r0, #1
-     db4:	9000		str	r0, [sp, #0]
-     db6:	9800		ldr	r0, [sp, #0]
-     db8:	0c00		lsr	r0, r0, #16
-     dba:	d0f9		beq	0xdb0
-     dbc:	2007		mov	r0, #7
-     dbe:	0400		lsl	r0, r0, #16
-     dc0:	f000 f84d	bl	0xe5e
-     dc4:	2879		cmp	r0, #121	; 0x79
-     dc6:	d10e		bne	0xde6
-     dc8:	2001		mov	r0, #1
-     dca:	0300		lsl	r0, r0, #12
-     dcc:	f000 f847	bl	0xe5e
-     dd0:	2865		cmp	r0, #101	; 0x65
-     dd2:	d108		bne	0xde6
-     dd4:	2001		mov	r0, #1
-     dd6:	0300		lsl	r0, r0, #12
-     dd8:	f000 f841	bl	0xe5e
-     ddc:	2873		cmp	r0, #115	; 0x73
-     dde:	d102		bne	0xde6
-     de0:	4874		ldr	r0, =0x83ff80	; via 0xfb4
-     de2:	2101		mov	r1, #1
-     de4:	7001		strb	r1, [r0, #0]
-     de6:	f000 f8d1	bl	0xf8c
-     dea:	2800		cmp	r0, #0
-     dec:	d00d		beq	0xe0a
-     dee:	206d		mov	r0, #109	; 0x6d
-     df0:	f000 f81d	bl	0xe2e
-     df4:	206f		mov	r0, #111	; 0x6f
-     df6:	f000 f81a	bl	0xe2e
-     dfa:	2064		mov	r0, #100	; 0x64
-     dfc:	f000 f817	bl	0xe2e
-     e00:	2065		mov	r0, #101	; 0x65
-     e02:	f000 f814	bl	0xe2e
-     e06:	206d		mov	r0, #109	; 0x6d
-     e08:	e00c		b	0xe24
-     e0a:	2065		mov	r0, #101	; 0x65
-     e0c:	f000 f80f	bl	0xe2e
-     e10:	2072		mov	r0, #114	; 0x72
-     e12:	f000 f80c	bl	0xe2e
-     e16:	2072		mov	r0, #114	; 0x72
-     e18:	f000 f809	bl	0xe2e
-     e1c:	206f		mov	r0, #111	; 0x6f
-     e1e:	f000 f806	bl	0xe2e
-     e22:	2072		mov	r0, #114	; 0x72
-     e24:	f000 f803	bl	0xe2e
-     e28:	b001		add	sp, #4
-     e2a:	bd00		pop	{pc}
-     e2c:	4708		bx	r1
-     e2e:	b081		sub	sp, #4
-     e30:	4669		mov	r1, sp
-     e32:	7008		strb	r0, [r1, #0]
-     e34:	4827		ldr	r0, =0x83ff00	; via 0xed4
-     e36:	6800		ldr	r0, [r0, #0]
-     e38:	7940		ldrb	r0, [r0, #5]
-     e3a:	0980		lsr	r0, r0, #6
-     e3c:	d3fa		bcc	0xe34
-     e3e:	4825		ldr	r0, =0x83ff00	; via 0xed4
-     e40:	6800		ldr	r0, [r0, #0]
-     e42:	4669		mov	r1, sp
-     e44:	7809		ldrb	r1, [r1, #0]
-     e46:	7001		strb	r1, [r0, #0]
-     e48:	b001		add	sp, #4
-     e4a:	46f7		mov	pc, lr
-     e4c:	4821		ldr	r0, =0x83ff00	; via 0xed4
-     e4e:	6800		ldr	r0, [r0, #0]
-     e50:	7940		ldrb	r0, [r0, #5]
-     e52:	0840		lsr	r0, r0, #1
-     e54:	d3fa		bcc	0xe4c
-     e56:	481f		ldr	r0, =0x83ff00	; via 0xed4
-     e58:	6800		ldr	r0, [r0, #0]
-     e5a:	7800		ldrb	r0, [r0, #0]
-     e5c:	4770		bx	lr
-     e5e:	b083		sub	sp, #12	; 0xc
-     e60:	9000		str	r0, [sp, #0]
-     e62:	9800		ldr	r0, [sp, #0]
-     e64:	9002		str	r0, [sp, #8]
-     e66:	481b		ldr	r0, =0x83ff00	; via 0xed4
-     e68:	6800		ldr	r0, [r0, #0]
-     e6a:	7940		ldrb	r0, [r0, #5]
-     e6c:	0840		lsr	r0, r0, #1
-     e6e:	d20c		bcs	0xe8a
-     e70:	9802		ldr	r0, [sp, #8]
-     e72:	3801		sub	r0, #1
-     e74:	9002		str	r0, [sp, #8]
-     e76:	9802		ldr	r0, [sp, #8]
-     e78:	2800		cmp	r0, #0
-     e7a:	d101		bne	0xe80
-     e7c:	20ff		mov	r0, #255	; 0xff
-     e7e:	e007		b	0xe90
-     e80:	4814		ldr	r0, =0x83ff00	; via 0xed4
-     e82:	6800		ldr	r0, [r0, #0]
-     e84:	7940		ldrb	r0, [r0, #5]
-     e86:	0840		lsr	r0, r0, #1
-     e88:	d3f2		bcc	0xe70
-     e8a:	4812		ldr	r0, =0x83ff00	; via 0xed4
-     e8c:	6800		ldr	r0, [r0, #0]
-     e8e:	7800		ldrb	r0, [r0, #0]
-     e90:	b003		add	sp, #12	; 0xc
-     e92:	4770		bx	lr
-     e94:	b081		sub	sp, #4
-     e96:	e001		b	0xe9c
-     e98:	9800		ldr	r0, [sp, #0]
-     e9a:	3801		sub	r0, #1
-     e9c:	9000		str	r0, [sp, #0]
-     e9e:	480d		ldr	r0, =0x83ff00	; via 0xed4
-     ea0:	6800		ldr	r0, [r0, #0]
-     ea2:	7940		ldrb	r0, [r0, #5]
-     ea4:	0840		lsr	r0, r0, #1
-     ea6:	d202		bcs	0xeae
-     ea8:	9800		ldr	r0, [sp, #0]
-     eaa:	2800		cmp	r0, #0
-     eac:	dcf4		bgt	0xe98
-     eae:	9800		ldr	r0, [sp, #0]
-     eb0:	2800		cmp	r0, #0
-     eb2:	dd01		ble	0xeb8
-     eb4:	2000		mov	r0, #0
-     eb6:	e000		b	0xeba
-     eb8:	2001		mov	r0, #1
-     eba:	b001		add	sp, #4
-     ebc:	4770		bx	lr
-     ebe:	b082		sub	sp, #8
-     ec0:	9000		str	r0, [sp, #0]
-     ec2:	4669		mov	r1, sp
-     ec4:	2000		mov	r0, #0
-     ec6:	7188		strb	r0, [r1, #6]
-     ec8:	9900		ldr	r1, [sp, #0]
-     eca:	483b		ldr	r0, =0xfffef000	; via 0xfb8
-     ecc:	8800		ldrh	r0, [r0, #0]
-     ece:	8008		strh	r0, [r1, #0]
-     ed0:	b002		add	sp, #8
-     ed2:	4770		bx	lr
-     ed4:	ff00		<half-bl>
-     ed6:	0083		lsl	r3, r0, #2
-     ed8:	5800		ldr	r0, [r0, r0]
-     eda:	ffff		<half-bl>
-     edc:	b081		sub	sp, #4
-     ede:	466a		mov	r2, sp
-     ee0:	7051		strb	r1, [r2, #1]
-     ee2:	4669		mov	r1, sp
-     ee4:	7008		strb	r0, [r1, #0]
-     ee6:	4935		ldr	r1, =0xffff6000	; via 0xfbc
-     ee8:	2002		mov	r0, #2
-     eea:	880a		ldrh	r2, [r1, #0]
-     eec:	4310		orr	r0, r2
-     eee:	8008		strh	r0, [r1, #0]
-     ef0:	4832		ldr	r0, =0xffff6000	; via 0xfbc
-     ef2:	8801		ldrh	r1, [r0, #0]
-     ef4:	0849		lsr	r1, r1, #1
-     ef6:	0049		lsl	r1, r1, #1
-     ef8:	8001		strh	r1, [r0, #0]
-     efa:	4930		ldr	r1, =0xffff6000	; via 0xfbc
-     efc:	8808		ldrh	r0, [r1, #0]
-     efe:	2202		mov	r2, #2
-     f00:	4390		bic	r0, r2
-     f02:	8008		strh	r0, [r1, #0]
-     f04:	482e		ldr	r0, =0x83ff00	; via 0xfc0
-     f06:	6801		ldr	r1, [r0, #0]
-     f08:	2007		mov	r0, #7
-     f0a:	7208		strb	r0, [r1, #8]
-     f0c:	482c		ldr	r0, =0x83ff00	; via 0xfc0
-     f0e:	6801		ldr	r1, [r0, #0]
-     f10:	20bf		mov	r0, #191	; 0xbf
-     f12:	70c8		strb	r0, [r1, #3]
-     f14:	482a		ldr	r0, =0x83ff00	; via 0xfc0
-     f16:	6800		ldr	r0, [r0, #0]
-     f18:	1c80		add	r0, r0, #2
-     f1a:	2110		mov	r1, #16	; 0x10
-     f1c:	8802		ldrh	r2, [r0, #0]
-     f1e:	4311		orr	r1, r2
-     f20:	8001		strh	r1, [r0, #0]
-     f22:	4827		ldr	r0, =0x83ff00	; via 0xfc0
-     f24:	6801		ldr	r1, [r0, #0]
-     f26:	2080		mov	r0, #128	; 0x80
-     f28:	70c8		strb	r0, [r1, #3]
-     f2a:	4825		ldr	r0, =0x83ff00	; via 0xfc0
-     f2c:	6800		ldr	r0, [r0, #0]
-     f2e:	2107		mov	r1, #7
-     f30:	7081		strb	r1, [r0, #2]
-     f32:	4823		ldr	r0, =0x83ff00	; via 0xfc0
-     f34:	6800		ldr	r0, [r0, #0]
-     f36:	21bf		mov	r1, #191	; 0xbf
-     f38:	70c1		strb	r1, [r0, #3]
-     f3a:	4821		ldr	r0, =0x83ff00	; via 0xfc0
-     f3c:	6801		ldr	r1, [r0, #0]
-     f3e:	4668		mov	r0, sp
-     f40:	7840		ldrb	r0, [r0, #1]
-     f42:	7008		strb	r0, [r1, #0]
-     f44:	481e		ldr	r0, =0x83ff00	; via 0xfc0
-     f46:	6801		ldr	r1, [r0, #0]
-     f48:	4668		mov	r0, sp
-     f4a:	7800		ldrb	r0, [r0, #0]
-     f4c:	7048		strb	r0, [r1, #1]
-     f4e:	481c		ldr	r0, =0x83ff00	; via 0xfc0
-     f50:	6801		ldr	r1, [r0, #0]
-     f52:	2003		mov	r0, #3
-     f54:	70c8		strb	r0, [r1, #3]
-     f56:	481a		ldr	r0, =0x83ff00	; via 0xfc0
-     f58:	6800		ldr	r0, [r0, #0]
-     f5a:	2100		mov	r1, #0
-     f5c:	7201		strb	r1, [r0, #8]
-     f5e:	4818		ldr	r0, =0x83ff00	; via 0xfc0
-     f60:	6800		ldr	r0, [r0, #0]
-     f62:	7940		ldrb	r0, [r0, #5]
-     f64:	0840		lsr	r0, r0, #1
-     f66:	d309		bcc	0xf7c
-     f68:	4669		mov	r1, sp
-     f6a:	4815		ldr	r0, =0x83ff00	; via 0xfc0
-     f6c:	6800		ldr	r0, [r0, #0]
-     f6e:	7800		ldrb	r0, [r0, #0]
-     f70:	7088		strb	r0, [r1, #2]
-     f72:	4813		ldr	r0, =0x83ff00	; via 0xfc0
-     f74:	6800		ldr	r0, [r0, #0]
-     f76:	7940		ldrb	r0, [r0, #5]
-     f78:	0840		lsr	r0, r0, #1
-     f7a:	d2f5		bcs	0xf68
-     f7c:	b001		add	sp, #4
-     f7e:	4770		bx	lr
-     f80:	0100		lsl	r0, r0, #4
-     f82:	0080		lsl	r0, r0, #2
-     f84:	2060		mov	r0, #96	; 0x60
-     f86:	0000		lsl	r0, r0, #0
-     f88:	dddd		ble	0xf46
-     f8a:	dddd		ble	0xf48
-     f8c:	4809		ldr	r0, =0x83ff80	; via 0xfb4
-     f8e:	7800		ldrb	r0, [r0, #0]
-     f90:	4770		bx	lr
-     f92:	b500		push	{lr}
-     f94:	b081		sub	sp, #4
-     f96:	4669		mov	r1, sp
-     f98:	7008		strb	r0, [r1, #0]
-     f9a:	4668		mov	r0, sp
-     f9c:	7800		ldrb	r0, [r0, #0]
-     f9e:	f7ff ff46	bl	0xe2e
-     fa2:	b001		add	sp, #4
-     fa4:	bd00		pop	{pc}
-     fa6:	b500		push	{lr}
-     fa8:	f7ff ff50	bl	0xe4c
-     fac:	bd00		pop	{pc}
-     fae:	46c0		nop			(mov r8, r8)
-     fb0:	0100		lsl	r0, r0, #4
-     fb2:	0080		lsl	r0, r0, #2
-     fb4:	ff80		<half-bl>
-     fb6:	0083		lsl	r3, r0, #2
-     fb8:	f000 fffe	bl	0x1fb8
-     fbc:	6000		str	r0, [r0, #0]
-     fbe:	ffff		<half-bl>
-     fc0:	ff00		<half-bl>
-     fc2:	0083		lsl	r3, r0, #2
-     fc4:	4700		bx	r0
-     fc6:	0000		lsl	r0, r0, #0
-     fc8:	b08c		sub	sp, #48	; 0x30
-     fca:	9101		str	r1, [sp, #4]
-     fcc:	9000		str	r0, [sp, #0]
-     fce:	2000		mov	r0, #0
-     fd0:	9003		str	r0, [sp, #12]	; 0xc
-     fd2:	9800		ldr	r0, [sp, #0]
-     fd4:	7801		ldrb	r1, [r0, #0]
-     fd6:	3001		add	r0, #1
-     fd8:	9000		str	r0, [sp, #0]
-     fda:	9105		str	r1, [sp, #20]	; 0x14
-     fdc:	9800		ldr	r0, [sp, #0]
-     fde:	7801		ldrb	r1, [r0, #0]
-     fe0:	3001		add	r0, #1
-     fe2:	9000		str	r0, [sp, #0]
-     fe4:	9801		ldr	r0, [sp, #4]
-     fe6:	7001		strb	r1, [r0, #0]
-     fe8:	2001		mov	r0, #1
-     fea:	9004		str	r0, [sp, #16]	; 0x10
-     fec:	e0a8		b	0x1140
-     fee:	9804		ldr	r0, [sp, #16]	; 0x10
-     ff0:	3002		add	r0, #2
-     ff2:	9004		str	r0, [sp, #16]	; 0x10
-     ff4:	9800		ldr	r0, [sp, #0]
-     ff6:	7801		ldrb	r1, [r0, #0]
-     ff8:	3001		add	r0, #1
-     ffa:	9000		str	r0, [sp, #0]
-     ffc:	4668		mov	r0, sp
-     ffe:	8441		strh	r1, [r0, #34]	; 0x22
-    1000:	9800		ldr	r0, [sp, #0]
-    1002:	7801		ldrb	r1, [r0, #0]
-    1004:	3001		add	r0, #1
-    1006:	9000		str	r0, [sp, #0]
-    1008:	4668		mov	r0, sp
-    100a:	8401		strh	r1, [r0, #32]	; 0x20
-    100c:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    100e:	4669		mov	r1, sp
-    1010:	8c49		ldrh	r1, [r1, #34]	; 0x22
-    1012:	0209		lsl	r1, r1, #8
-    1014:	1840		add	r0, r0, r1
-    1016:	9901		ldr	r1, [sp, #4]
-    1018:	8088		strh	r0, [r1, #4]
-    101a:	9804		ldr	r0, [sp, #16]	; 0x10
-    101c:	3001		add	r0, #1
-    101e:	9004		str	r0, [sp, #16]	; 0x10
-    1020:	9800		ldr	r0, [sp, #0]
-    1022:	7801		ldrb	r1, [r0, #0]
-    1024:	3001		add	r0, #1
-    1026:	9000		str	r0, [sp, #0]
-    1028:	4668		mov	r0, sp
-    102a:	7601		strb	r1, [r0, #24]	; 0x18
-    102c:	9901		ldr	r1, [sp, #4]
-    102e:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1030:	7188		strb	r0, [r1, #6]
-    1032:	4668		mov	r0, sp
-    1034:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1036:	2840		cmp	r0, #64	; 0x40
-    1038:	dc00		bgt	0x103c
-    103a:	e09f		b	0x117c
-    103c:	2004		mov	r0, #4
-    103e:	9003		str	r0, [sp, #12]	; 0xc
-    1040:	e09c		b	0x117c
-    1042:	9804		ldr	r0, [sp, #16]	; 0x10
-    1044:	3002		add	r0, #2
-    1046:	9004		str	r0, [sp, #16]	; 0x10
-    1048:	9800		ldr	r0, [sp, #0]
-    104a:	7801		ldrb	r1, [r0, #0]
-    104c:	3001		add	r0, #1
-    104e:	9000		str	r0, [sp, #0]
-    1050:	4668		mov	r0, sp
-    1052:	8441		strh	r1, [r0, #34]	; 0x22
-    1054:	9800		ldr	r0, [sp, #0]
-    1056:	7801		ldrb	r1, [r0, #0]
-    1058:	3001		add	r0, #1
-    105a:	9000		str	r0, [sp, #0]
-    105c:	4668		mov	r0, sp
-    105e:	8401		strh	r1, [r0, #32]	; 0x20
-    1060:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    1062:	4669		mov	r1, sp
-    1064:	8c49		ldrh	r1, [r1, #34]	; 0x22
-    1066:	0209		lsl	r1, r1, #8
-    1068:	1841		add	r1, r0, r1
-    106a:	9801		ldr	r0, [sp, #4]
-    106c:	8081		strh	r1, [r0, #4]
-    106e:	9804		ldr	r0, [sp, #16]	; 0x10
-    1070:	3001		add	r0, #1
-    1072:	9004		str	r0, [sp, #16]	; 0x10
-    1074:	9800		ldr	r0, [sp, #0]
-    1076:	7801		ldrb	r1, [r0, #0]
-    1078:	3001		add	r0, #1
-    107a:	9000		str	r0, [sp, #0]
-    107c:	4668		mov	r0, sp
-    107e:	7601		strb	r1, [r0, #24]	; 0x18
-    1080:	9901		ldr	r1, [sp, #4]
-    1082:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1084:	7188		strb	r0, [r1, #6]
-    1086:	4668		mov	r0, sp
-    1088:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    108a:	2840		cmp	r0, #64	; 0x40
-    108c:	dcd6		bgt	0x103c
-    108e:	9801		ldr	r0, [sp, #4]
-    1090:	3008		add	r0, #8
-    1092:	9007		str	r0, [sp, #28]	; 0x1c
-    1094:	2000		mov	r0, #0
-    1096:	9002		str	r0, [sp, #8]
-    1098:	9902		ldr	r1, [sp, #8]
-    109a:	4668		mov	r0, sp
-    109c:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    109e:	4281		cmp	r1, r0
-    10a0:	da6c		bge	0x117c
-    10a2:	9800		ldr	r0, [sp, #0]
-    10a4:	7801		ldrb	r1, [r0, #0]
-    10a6:	3001		add	r0, #1
-    10a8:	9000		str	r0, [sp, #0]
-    10aa:	4668		mov	r0, sp
-    10ac:	84c1		strh	r1, [r0, #38]	; 0x26
-    10ae:	9800		ldr	r0, [sp, #0]
-    10b0:	7801		ldrb	r1, [r0, #0]
-    10b2:	3001		add	r0, #1
-    10b4:	9000		str	r0, [sp, #0]
-    10b6:	4668		mov	r0, sp
-    10b8:	8481		strh	r1, [r0, #36]	; 0x24
-    10ba:	9807		ldr	r0, [sp, #28]	; 0x1c
-    10bc:	1c81		add	r1, r0, #2
-    10be:	9107		str	r1, [sp, #28]	; 0x1c
-    10c0:	4669		mov	r1, sp
-    10c2:	8c89		ldrh	r1, [r1, #36]	; 0x24
-    10c4:	466a		mov	r2, sp
-    10c6:	8cd2		ldrh	r2, [r2, #38]	; 0x26
-    10c8:	0212		lsl	r2, r2, #8
-    10ca:	1889		add	r1, r1, r2
-    10cc:	8001		strh	r1, [r0, #0]
-    10ce:	9804		ldr	r0, [sp, #16]	; 0x10
-    10d0:	3002		add	r0, #2
-    10d2:	9004		str	r0, [sp, #16]	; 0x10
-    10d4:	9802		ldr	r0, [sp, #8]
-    10d6:	3001		add	r0, #1
-    10d8:	9002		str	r0, [sp, #8]
-    10da:	9902		ldr	r1, [sp, #8]
-    10dc:	4668		mov	r0, sp
-    10de:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    10e0:	4281		cmp	r1, r0
-    10e2:	dbde		blt	0x10a2
-    10e4:	e04a		b	0x117c
-    10e6:	9804		ldr	r0, [sp, #16]	; 0x10
-    10e8:	3002		add	r0, #2
-    10ea:	9004		str	r0, [sp, #16]	; 0x10
-    10ec:	9800		ldr	r0, [sp, #0]
-    10ee:	7801		ldrb	r1, [r0, #0]
-    10f0:	3001		add	r0, #1
-    10f2:	9000		str	r0, [sp, #0]
-    10f4:	4668		mov	r0, sp
-    10f6:	8501		strh	r1, [r0, #40]	; 0x28
-    10f8:	9800		ldr	r0, [sp, #0]
-    10fa:	7801		ldrb	r1, [r0, #0]
-    10fc:	3001		add	r0, #1
-    10fe:	9000		str	r0, [sp, #0]
-    1100:	4668		mov	r0, sp
-    1102:	8541		strh	r1, [r0, #42]	; 0x2a
-    1104:	8d41		ldrh	r1, [r0, #42]	; 0x2a
-    1106:	8d00		ldrh	r0, [r0, #40]	; 0x28
-    1108:	0200		lsl	r0, r0, #8
-    110a:	1809		add	r1, r1, r0
-    110c:	9801		ldr	r0, [sp, #4]
-    110e:	8081		strh	r1, [r0, #4]
-    1110:	9804		ldr	r0, [sp, #16]	; 0x10
-    1112:	3002		add	r0, #2
-    1114:	9004		str	r0, [sp, #16]	; 0x10
-    1116:	9800		ldr	r0, [sp, #0]
-    1118:	7801		ldrb	r1, [r0, #0]
-    111a:	3001		add	r0, #1
-    111c:	9000		str	r0, [sp, #0]
-    111e:	4668		mov	r0, sp
-    1120:	8581		strh	r1, [r0, #44]	; 0x2c
-    1122:	9800		ldr	r0, [sp, #0]
-    1124:	7801		ldrb	r1, [r0, #0]
-    1126:	3001		add	r0, #1
-    1128:	9000		str	r0, [sp, #0]
-    112a:	4668		mov	r0, sp
-    112c:	85c1		strh	r1, [r0, #46]	; 0x2e
-    112e:	8dc1		ldrh	r1, [r0, #46]	; 0x2e
-    1130:	8d80		ldrh	r0, [r0, #44]	; 0x2c
-    1132:	0200		lsl	r0, r0, #8
-    1134:	1808		add	r0, r1, r0
-    1136:	9901		ldr	r1, [sp, #4]
-    1138:	80c8		strh	r0, [r1, #6]
-    113a:	e01f		b	0x117c
-    113c:	2008		mov	r0, #8
-    113e:	e77e		b	0x103e
-    1140:	9801		ldr	r0, [sp, #4]
-    1142:	7801		ldrb	r1, [r0, #0]
-    1144:	290a		cmp	r1, #10	; 0xa
-    1146:	d8f9		bhi	0x113c
-    1148:	a001		add	r0, pc, #4
-    114a:	0089		lsl	r1, r1, #2
-    114c:	5840		ldr	r0, [r0, r1]
-    114e:	4687		mov	pc, r0
-    1150:	117c		asr	r4, r7, #5
-    1152:	0000		lsl	r0, r0, #0
-    1154:	117c		asr	r4, r7, #5
-    1156:	0000		lsl	r0, r0, #0
-    1158:	117c		asr	r4, r7, #5
-    115a:	0000		lsl	r0, r0, #0
-    115c:	117c		asr	r4, r7, #5
-    115e:	0000		lsl	r0, r0, #0
-    1160:	117c		asr	r4, r7, #5
-    1162:	0000		lsl	r0, r0, #0
-    1164:	117c		asr	r4, r7, #5
-    1166:	0000		lsl	r0, r0, #0
-    1168:	117c		asr	r4, r7, #5
-    116a:	0000		lsl	r0, r0, #0
-    116c:	0fee		lsr	r6, r5, #31
-    116e:	0000		lsl	r0, r0, #0
-    1170:	1042		asr	r2, r0, #1
-    1172:	0000		lsl	r0, r0, #0
-    1174:	117c		asr	r4, r7, #5
-    1176:	0000		lsl	r0, r0, #0
-    1178:	10e6		asr	r6, r4, #3
-    117a:	0000		lsl	r0, r0, #0
-    117c:	9905		ldr	r1, [sp, #20]	; 0x14
-    117e:	9804		ldr	r0, [sp, #16]	; 0x10
-    1180:	4281		cmp	r1, r0
-    1182:	d001		beq	0x1188
-    1184:	2004		mov	r0, #4
-    1186:	9003		str	r0, [sp, #12]	; 0xc
-    1188:	9803		ldr	r0, [sp, #12]	; 0xc
-    118a:	b00c		add	sp, #48	; 0x30
-    118c:	4770		bx	lr
-    118e:	b089		sub	sp, #36	; 0x24
-    1190:	9101		str	r1, [sp, #4]
-    1192:	9000		str	r0, [sp, #0]
-    1194:	2000		mov	r0, #0
-    1196:	9003		str	r0, [sp, #12]	; 0xc
-    1198:	9801		ldr	r0, [sp, #4]
-    119a:	1c41		add	r1, r0, #1
-    119c:	9101		str	r1, [sp, #4]
-    119e:	9005		str	r0, [sp, #20]	; 0x14
-    11a0:	9801		ldr	r0, [sp, #4]
-    11a2:	1c41		add	r1, r0, #1
-    11a4:	9101		str	r1, [sp, #4]
-    11a6:	9900		ldr	r1, [sp, #0]
-    11a8:	7809		ldrb	r1, [r1, #0]
-    11aa:	7001		strb	r1, [r0, #0]
-    11ac:	4669		mov	r1, sp
-    11ae:	2001		mov	r0, #1
-    11b0:	7408		strb	r0, [r1, #16]	; 0x10
-    11b2:	9801		ldr	r0, [sp, #4]
-    11b4:	1c41		add	r1, r0, #1
-    11b6:	9101		str	r1, [sp, #4]
-    11b8:	9900		ldr	r1, [sp, #0]
-    11ba:	7849		ldrb	r1, [r1, #1]
-    11bc:	7001		strb	r1, [r0, #0]
-    11be:	4669		mov	r1, sp
-    11c0:	4668		mov	r0, sp
-    11c2:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    11c4:	3001		add	r0, #1
-    11c6:	7408		strb	r0, [r1, #16]	; 0x10
-    11c8:	e0e4		b	0x1394
-    11ca:	9800		ldr	r0, [sp, #0]
-    11cc:	7840		ldrb	r0, [r0, #1]
-    11ce:	2800		cmp	r0, #0
-    11d0:	d000		beq	0x11d4
-    11d2:	e0fd		b	0x13d0
-    11d4:	9801		ldr	r0, [sp, #4]
-    11d6:	1c41		add	r1, r0, #1
-    11d8:	9101		str	r1, [sp, #4]
-    11da:	9900		ldr	r1, [sp, #0]
-    11dc:	7909		ldrb	r1, [r1, #4]
-    11de:	7001		strb	r1, [r0, #0]
-    11e0:	9801		ldr	r0, [sp, #4]
-    11e2:	1c41		add	r1, r0, #1
-    11e4:	9101		str	r1, [sp, #4]
-    11e6:	9900		ldr	r1, [sp, #0]
-    11e8:	7949		ldrb	r1, [r1, #5]
-    11ea:	7001		strb	r1, [r0, #0]
-    11ec:	9801		ldr	r0, [sp, #4]
-    11ee:	1c41		add	r1, r0, #1
-    11f0:	9101		str	r1, [sp, #4]
-    11f2:	9900		ldr	r1, [sp, #0]
-    11f4:	7989		ldrb	r1, [r1, #6]
-    11f6:	7001		strb	r1, [r0, #0]
-    11f8:	4668		mov	r0, sp
-    11fa:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    11fc:	3003		add	r0, #3
-    11fe:	4669		mov	r1, sp
-    1200:	7408		strb	r0, [r1, #16]	; 0x10
-    1202:	e0e5		b	0x13d0
-    1204:	9800		ldr	r0, [sp, #0]
-    1206:	7840		ldrb	r0, [r0, #1]
-    1208:	2800		cmp	r0, #0
-    120a:	d000		beq	0x120e
-    120c:	e0e0		b	0x13d0
-    120e:	9801		ldr	r0, [sp, #4]
-    1210:	1c41		add	r1, r0, #1
-    1212:	9101		str	r1, [sp, #4]
-    1214:	9900		ldr	r1, [sp, #0]
-    1216:	7909		ldrb	r1, [r1, #4]
-    1218:	7001		strb	r1, [r0, #0]
-    121a:	4668		mov	r0, sp
-    121c:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    121e:	3001		add	r0, #1
-    1220:	e7ed		b	0x11fe
-    1222:	9800		ldr	r0, [sp, #0]
-    1224:	7840		ldrb	r0, [r0, #1]
-    1226:	2800		cmp	r0, #0
-    1228:	d000		beq	0x122c
-    122a:	e0d1		b	0x13d0
-    122c:	e7ef		b	0x120e
-    122e:	9800		ldr	r0, [sp, #0]
-    1230:	7840		ldrb	r0, [r0, #1]
-    1232:	2800		cmp	r0, #0
-    1234:	d000		beq	0x1238
-    1236:	e0cb		b	0x13d0
-    1238:	e7e9		b	0x120e
-    123a:	9800		ldr	r0, [sp, #0]
-    123c:	7840		ldrb	r0, [r0, #1]
-    123e:	2800		cmp	r0, #0
-    1240:	d000		beq	0x1244
-    1242:	e0c5		b	0x13d0
-    1244:	4669		mov	r1, sp
-    1246:	9800		ldr	r0, [sp, #0]
-    1248:	8880		ldrh	r0, [r0, #4]
-    124a:	8408		strh	r0, [r1, #32]	; 0x20
-    124c:	9801		ldr	r0, [sp, #4]
-    124e:	1c41		add	r1, r0, #1
-    1250:	9101		str	r1, [sp, #4]
-    1252:	4669		mov	r1, sp
-    1254:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    1256:	0409		lsl	r1, r1, #16
-    1258:	0e09		lsr	r1, r1, #24
-    125a:	0209		lsl	r1, r1, #8
-    125c:	1209		asr	r1, r1, #8
-    125e:	7001		strb	r1, [r0, #0]
-    1260:	9801		ldr	r0, [sp, #4]
-    1262:	1c41		add	r1, r0, #1
-    1264:	9101		str	r1, [sp, #4]
-    1266:	4669		mov	r1, sp
-    1268:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    126a:	0609		lsl	r1, r1, #24
-    126c:	0e09		lsr	r1, r1, #24
-    126e:	7001		strb	r1, [r0, #0]
-    1270:	4669		mov	r1, sp
-    1272:	9800		ldr	r0, [sp, #0]
-    1274:	88c0		ldrh	r0, [r0, #6]
-    1276:	8408		strh	r0, [r1, #32]	; 0x20
-    1278:	9801		ldr	r0, [sp, #4]
-    127a:	1c41		add	r1, r0, #1
-    127c:	9101		str	r1, [sp, #4]
-    127e:	4669		mov	r1, sp
-    1280:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    1282:	0409		lsl	r1, r1, #16
-    1284:	0e09		lsr	r1, r1, #24
-    1286:	0209		lsl	r1, r1, #8
-    1288:	1209		asr	r1, r1, #8
-    128a:	7001		strb	r1, [r0, #0]
-    128c:	9801		ldr	r0, [sp, #4]
-    128e:	1c41		add	r1, r0, #1
-    1290:	9101		str	r1, [sp, #4]
-    1292:	4669		mov	r1, sp
-    1294:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    1296:	0609		lsl	r1, r1, #24
-    1298:	0e09		lsr	r1, r1, #24
-    129a:	7001		strb	r1, [r0, #0]
-    129c:	4668		mov	r0, sp
-    129e:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    12a0:	3004		add	r0, #4
-    12a2:	e7ac		b	0x11fe
-    12a4:	9800		ldr	r0, [sp, #0]
-    12a6:	7840		ldrb	r0, [r0, #1]
-    12a8:	2800		cmp	r0, #0
-    12aa:	d000		beq	0x12ae
-    12ac:	e090		b	0x13d0
-    12ae:	e7ae		b	0x120e
-    12b0:	9800		ldr	r0, [sp, #0]
-    12b2:	7840		ldrb	r0, [r0, #1]
-    12b4:	2800		cmp	r0, #0
-    12b6:	d000		beq	0x12ba
-    12b8:	e08a		b	0x13d0
-    12ba:	4669		mov	r1, sp
-    12bc:	4668		mov	r0, sp
-    12be:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    12c0:	3001		add	r0, #1
-    12c2:	7408		strb	r0, [r1, #16]	; 0x10
-    12c4:	4668		mov	r0, sp
-    12c6:	9900		ldr	r1, [sp, #0]
-    12c8:	7909		ldrb	r1, [r1, #4]
-    12ca:	7601		strb	r1, [r0, #24]	; 0x18
-    12cc:	9801		ldr	r0, [sp, #4]
-    12ce:	1c41		add	r1, r0, #1
-    12d0:	9101		str	r1, [sp, #4]
-    12d2:	4669		mov	r1, sp
-    12d4:	7e09		ldrb	r1, [r1, #24]	; 0x18
-    12d6:	7001		strb	r1, [r0, #0]
-    12d8:	4668		mov	r0, sp
-    12da:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    12dc:	2840		cmp	r0, #64	; 0x40
-    12de:	dd01		ble	0x12e4
-    12e0:	2004		mov	r0, #4
-    12e2:	e055		b	0x1390
-    12e4:	9800		ldr	r0, [sp, #0]
-    12e6:	3006		add	r0, #6
-    12e8:	9007		str	r0, [sp, #28]	; 0x1c
-    12ea:	2000		mov	r0, #0
-    12ec:	9002		str	r0, [sp, #8]
-    12ee:	9902		ldr	r1, [sp, #8]
-    12f0:	4668		mov	r0, sp
-    12f2:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    12f4:	4281		cmp	r1, r0
-    12f6:	da6b		bge	0x13d0
-    12f8:	9801		ldr	r0, [sp, #4]
-    12fa:	1c41		add	r1, r0, #1
-    12fc:	9101		str	r1, [sp, #4]
-    12fe:	9907		ldr	r1, [sp, #28]	; 0x1c
-    1300:	8809		ldrh	r1, [r1, #0]
-    1302:	0409		lsl	r1, r1, #16
-    1304:	0e09		lsr	r1, r1, #24
-    1306:	0209		lsl	r1, r1, #8
-    1308:	1209		asr	r1, r1, #8
-    130a:	7001		strb	r1, [r0, #0]
-    130c:	9807		ldr	r0, [sp, #28]	; 0x1c
-    130e:	8801		ldrh	r1, [r0, #0]
-    1310:	3002		add	r0, #2
-    1312:	9007		str	r0, [sp, #28]	; 0x1c
-    1314:	0608		lsl	r0, r1, #24
-    1316:	0e01		lsr	r1, r0, #24
-    1318:	9801		ldr	r0, [sp, #4]
-    131a:	1c42		add	r2, r0, #1
-    131c:	9201		str	r2, [sp, #4]
-    131e:	7001		strb	r1, [r0, #0]
-    1320:	4669		mov	r1, sp
-    1322:	4668		mov	r0, sp
-    1324:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1326:	3002		add	r0, #2
-    1328:	7408		strb	r0, [r1, #16]	; 0x10
-    132a:	9802		ldr	r0, [sp, #8]
-    132c:	3001		add	r0, #1
-    132e:	9002		str	r0, [sp, #8]
-    1330:	9902		ldr	r1, [sp, #8]
-    1332:	4668		mov	r0, sp
-    1334:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1336:	4281		cmp	r1, r0
-    1338:	dbde		blt	0x12f8
-    133a:	e049		b	0x13d0
-    133c:	9800		ldr	r0, [sp, #0]
-    133e:	7840		ldrb	r0, [r0, #1]
-    1340:	2800		cmp	r0, #0
-    1342:	d145		bne	0x13d0
-    1344:	4669		mov	r1, sp
-    1346:	9800		ldr	r0, [sp, #0]
-    1348:	8880		ldrh	r0, [r0, #4]
-    134a:	8408		strh	r0, [r1, #32]	; 0x20
-    134c:	9801		ldr	r0, [sp, #4]
-    134e:	1c41		add	r1, r0, #1
-    1350:	9101		str	r1, [sp, #4]
-    1352:	4669		mov	r1, sp
-    1354:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    1356:	0409		lsl	r1, r1, #16
-    1358:	0e09		lsr	r1, r1, #24
-    135a:	0209		lsl	r1, r1, #8
-    135c:	1209		asr	r1, r1, #8
-    135e:	7001		strb	r1, [r0, #0]
-    1360:	9801		ldr	r0, [sp, #4]
-    1362:	1c41		add	r1, r0, #1
-    1364:	9101		str	r1, [sp, #4]
-    1366:	4669		mov	r1, sp
-    1368:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    136a:	0609		lsl	r1, r1, #24
-    136c:	0e09		lsr	r1, r1, #24
-    136e:	7001		strb	r1, [r0, #0]
-    1370:	4668		mov	r0, sp
-    1372:	9900		ldr	r1, [sp, #0]
-    1374:	88c9		ldrh	r1, [r1, #6]
-    1376:	8401		strh	r1, [r0, #32]	; 0x20
-    1378:	9901		ldr	r1, [sp, #4]
-    137a:	1c48		add	r0, r1, #1
-    137c:	9001		str	r0, [sp, #4]
-    137e:	4668		mov	r0, sp
-    1380:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    1382:	0400		lsl	r0, r0, #16
-    1384:	0e00		lsr	r0, r0, #24
-    1386:	0200		lsl	r0, r0, #8
-    1388:	1200		asr	r0, r0, #8
-    138a:	7008		strb	r0, [r1, #0]
-    138c:	e77e		b	0x128c
-    138e:	2008		mov	r0, #8
-    1390:	9003		str	r0, [sp, #12]	; 0xc
-    1392:	e01d		b	0x13d0
-    1394:	9800		ldr	r0, [sp, #0]
-    1396:	7800		ldrb	r0, [r0, #0]
-    1398:	280a		cmp	r0, #10	; 0xa
-    139a:	d8f8		bhi	0x138e
-    139c:	a101		add	r1, pc, #4
-    139e:	0080		lsl	r0, r0, #2
-    13a0:	5808		ldr	r0, [r1, r0]
-    13a2:	4687		mov	pc, r0
-    13a4:	11ca		asr	r2, r1, #7
-    13a6:	0000		lsl	r0, r0, #0
-    13a8:	1204		asr	r4, r0, #8
-    13aa:	0000		lsl	r0, r0, #0
-    13ac:	1222		asr	r2, r4, #8
-    13ae:	0000		lsl	r0, r0, #0
-    13b0:	122e		asr	r6, r5, #8
-    13b2:	0000		lsl	r0, r0, #0
-    13b4:	13d0		asr	r0, r2, #15
-    13b6:	0000		lsl	r0, r0, #0
-    13b8:	123a		asr	r2, r7, #8
-    13ba:	0000		lsl	r0, r0, #0
-    13bc:	12a4		asr	r4, r4, #10
-    13be:	0000		lsl	r0, r0, #0
-    13c0:	12b0		asr	r0, r6, #10
-    13c2:	0000		lsl	r0, r0, #0
-    13c4:	13d0		asr	r0, r2, #15
-    13c6:	0000		lsl	r0, r0, #0
-    13c8:	133c		asr	r4, r7, #12
-    13ca:	0000		lsl	r0, r0, #0
-    13cc:	13d0		asr	r0, r2, #15
-    13ce:	0000		lsl	r0, r0, #0
-    13d0:	9805		ldr	r0, [sp, #20]	; 0x14
-    13d2:	4669		mov	r1, sp
-    13d4:	7c09		ldrb	r1, [r1, #16]	; 0x10
-    13d6:	7001		strb	r1, [r0, #0]
-    13d8:	9803		ldr	r0, [sp, #12]	; 0xc
-    13da:	b009		add	sp, #36	; 0x24
-    13dc:	4770		bx	lr
-    13de:	0000		lsl	r0, r0, #0
-    13e0:	b500		push	{lr}
-    13e2:	b083		sub	sp, #12	; 0xc
-    13e4:	9101		str	r1, [sp, #4]
-    13e6:	4669		mov	r1, sp
-    13e8:	7008		strb	r0, [r1, #0]
-    13ea:	2000		mov	r0, #0
-    13ec:	9002		str	r0, [sp, #8]
-    13ee:	e073		b	0x14d8
-    13f0:	4668		mov	r0, sp
-    13f2:	7800		ldrb	r0, [r0, #0]
-    13f4:	28aa		cmp	r0, #170	; 0xaa
-    13f6:	d106		bne	0x1406
-    13f8:	4965		ldr	r1, =0x83ff10	; via 0x1590
-    13fa:	4865		ldr	r0, =0x83ff10	; via 0x1590
-    13fc:	6800		ldr	r0, [r0, #0]
-    13fe:	3001		add	r0, #1
-    1400:	07c0		lsl	r0, r0, #31
-    1402:	0fc0		lsr	r0, r0, #31
-    1404:	e013		b	0x142e
-    1406:	4862		ldr	r0, =0x83ff10	; via 0x1590
-    1408:	6800		ldr	r0, [r0, #0]
-    140a:	2800		cmp	r0, #0
-    140c:	d06b		beq	0x14e6
-    140e:	4961		ldr	r1, =0x83ff04	; via 0x1594
-    1410:	9801		ldr	r0, [sp, #4]
-    1412:	3001		add	r0, #1
-    1414:	6008		str	r0, [r1, #0]
-    1416:	4960		ldr	r1, =0x83ff0e	; via 0x1598
-    1418:	2000		mov	r0, #0
-    141a:	7008		strb	r0, [r1, #0]
-    141c:	495f		ldr	r1, =0x83ff0c	; via 0x159c
-    141e:	4668		mov	r0, sp
-    1420:	7800		ldrb	r0, [r0, #0]
-    1422:	8008		strh	r0, [r1, #0]
-    1424:	495a		ldr	r1, =0x83ff10	; via 0x1590
-    1426:	2000		mov	r0, #0
-    1428:	6008		str	r0, [r1, #0]
-    142a:	495d		ldr	r1, =0x83ff08	; via 0x15a0
-    142c:	2001		mov	r0, #1
-    142e:	6008		str	r0, [r1, #0]
-    1430:	e059		b	0x14e6
-    1432:	4668		mov	r0, sp
-    1434:	7800		ldrb	r0, [r0, #0]
-    1436:	28aa		cmp	r0, #170	; 0xaa
-    1438:	d113		bne	0x1462
-    143a:	4855		ldr	r0, =0x83ff10	; via 0x1590
-    143c:	6800		ldr	r0, [r0, #0]
-    143e:	2800		cmp	r0, #0
-    1440:	d00b		beq	0x145a
-    1442:	4954		ldr	r1, =0x83ff04	; via 0x1594
-    1444:	6808		ldr	r0, [r1, #0]
-    1446:	1c42		add	r2, r0, #1
-    1448:	600a		str	r2, [r1, #0]
-    144a:	4669		mov	r1, sp
-    144c:	7809		ldrb	r1, [r1, #0]
-    144e:	7001		strb	r1, [r0, #0]
-    1450:	4951		ldr	r1, =0x83ff0e	; via 0x1598
-    1452:	7808		ldrb	r0, [r1, #0]
-    1454:	3001		add	r0, #1
-    1456:	7008		strb	r0, [r1, #0]
-    1458:	e013		b	0x1482
-    145a:	2101		mov	r1, #1
-    145c:	484c		ldr	r0, =0x83ff10	; via 0x1590
-    145e:	6001		str	r1, [r0, #0]
-    1460:	e01c		b	0x149c
-    1462:	484b		ldr	r0, =0x83ff10	; via 0x1590
-    1464:	6800		ldr	r0, [r0, #0]
-    1466:	2800		cmp	r0, #0
-    1468:	d00d		beq	0x1486
-    146a:	494a		ldr	r1, =0x83ff04	; via 0x1594
-    146c:	9801		ldr	r0, [sp, #4]
-    146e:	3001		add	r0, #1
-    1470:	6008		str	r0, [r1, #0]
-    1472:	4849		ldr	r0, =0x83ff0e	; via 0x1598
-    1474:	2100		mov	r1, #0
-    1476:	7001		strb	r1, [r0, #0]
-    1478:	4948		ldr	r1, =0x83ff0c	; via 0x159c
-    147a:	4668		mov	r0, sp
-    147c:	7800		ldrb	r0, [r0, #0]
-    147e:	3001		add	r0, #1
-    1480:	8008		strh	r0, [r1, #0]
-    1482:	2100		mov	r1, #0
-    1484:	e7ea		b	0x145c
-    1486:	4843		ldr	r0, =0x83ff04	; via 0x1594
-    1488:	6801		ldr	r1, [r0, #0]
-    148a:	1c4a		add	r2, r1, #1
-    148c:	6002		str	r2, [r0, #0]
-    148e:	4668		mov	r0, sp
-    1490:	7800		ldrb	r0, [r0, #0]
-    1492:	7008		strb	r0, [r1, #0]
-    1494:	4940		ldr	r1, =0x83ff0e	; via 0x1598
-    1496:	7808		ldrb	r0, [r1, #0]
-    1498:	3001		add	r0, #1
-    149a:	7008		strb	r0, [r1, #0]
-    149c:	483f		ldr	r0, =0x83ff0c	; via 0x159c
-    149e:	8801		ldrh	r1, [r0, #0]
-    14a0:	3901		sub	r1, #1
-    14a2:	8001		strh	r1, [r0, #0]
-    14a4:	483d		ldr	r0, =0x83ff0c	; via 0x159c
-    14a6:	8800		ldrh	r0, [r0, #0]
-    14a8:	2800		cmp	r0, #0
-    14aa:	d11c		bne	0x14e6
-    14ac:	9901		ldr	r1, [sp, #4]
-    14ae:	483a		ldr	r0, =0x83ff0e	; via 0x1598
-    14b0:	7800		ldrb	r0, [r0, #0]
-    14b2:	7008		strb	r0, [r1, #0]
-    14b4:	2001		mov	r0, #1
-    14b6:	9002		str	r0, [sp, #8]
-    14b8:	4839		ldr	r0, =0x83ff08	; via 0x15a0
-    14ba:	2100		mov	r1, #0
-    14bc:	6001		str	r1, [r0, #0]
-    14be:	4834		ldr	r0, =0x83ff10	; via 0x1590
-    14c0:	6001		str	r1, [r0, #0]
-    14c2:	9801		ldr	r0, [sp, #4]
-    14c4:	7800		ldrb	r0, [r0, #0]
-    14c6:	2801		cmp	r0, #1
-    14c8:	d10d		bne	0x14e6
-    14ca:	9801		ldr	r0, [sp, #4]
-    14cc:	7840		ldrb	r0, [r0, #1]
-    14ce:	28dd		cmp	r0, #221	; 0xdd
-    14d0:	d109		bne	0x14e6
-    14d2:	f7ff fb27	bl	0xb24
-    14d6:	e006		b	0x14e6
-    14d8:	4831		ldr	r0, =0x83ff08	; via 0x15a0
-    14da:	6800		ldr	r0, [r0, #0]
-    14dc:	2800		cmp	r0, #0
-    14de:	d087		beq	0x13f0
-    14e0:	3801		sub	r0, #1
-    14e2:	2800		cmp	r0, #0
-    14e4:	d0a5		beq	0x1432
-    14e6:	9802		ldr	r0, [sp, #8]
-    14e8:	b003		add	sp, #12	; 0xc
-    14ea:	bd00		pop	{pc}
-    14ec:	b086		sub	sp, #24	; 0x18
-    14ee:	9202		str	r2, [sp, #8]
-    14f0:	9101		str	r1, [sp, #4]
-    14f2:	9000		str	r0, [sp, #0]
-    14f4:	9801		ldr	r0, [sp, #4]
-    14f6:	3001		add	r0, #1
-    14f8:	9004		str	r0, [sp, #16]	; 0x10
-    14fa:	9800		ldr	r0, [sp, #0]
-    14fc:	1c41		add	r1, r0, #1
-    14fe:	9100		str	r1, [sp, #0]
-    1500:	9005		str	r0, [sp, #20]	; 0x14
-    1502:	9901		ldr	r1, [sp, #4]
-    1504:	20aa		mov	r0, #170	; 0xaa
-    1506:	7008		strb	r0, [r1, #0]
-    1508:	9801		ldr	r0, [sp, #4]
-    150a:	3002		add	r0, #2
-    150c:	9001		str	r0, [sp, #4]
-    150e:	9902		ldr	r1, [sp, #8]
-    1510:	2000		mov	r0, #0
-    1512:	8008		strh	r0, [r1, #0]
-    1514:	4669		mov	r1, sp
-    1516:	8188		strh	r0, [r1, #12]	; 0xc
-    1518:	4668		mov	r0, sp
-    151a:	8981		ldrh	r1, [r0, #12]	; 0xc
-    151c:	9805		ldr	r0, [sp, #20]	; 0x14
-    151e:	7800		ldrb	r0, [r0, #0]
-    1520:	4281		cmp	r1, r0
-    1522:	da23		bge	0x156c
-    1524:	9800		ldr	r0, [sp, #0]
-    1526:	7800		ldrb	r0, [r0, #0]
-    1528:	28aa		cmp	r0, #170	; 0xaa
-    152a:	d108		bne	0x153e
-    152c:	9801		ldr	r0, [sp, #4]
-    152e:	1c41		add	r1, r0, #1
-    1530:	9101		str	r1, [sp, #4]
-    1532:	21aa		mov	r1, #170	; 0xaa
-    1534:	7001		strb	r1, [r0, #0]
-    1536:	9902		ldr	r1, [sp, #8]
-    1538:	8808		ldrh	r0, [r1, #0]
-    153a:	3001		add	r0, #1
-    153c:	8008		strh	r0, [r1, #0]
-    153e:	9800		ldr	r0, [sp, #0]
-    1540:	7801		ldrb	r1, [r0, #0]
-    1542:	3001		add	r0, #1
-    1544:	9000		str	r0, [sp, #0]
-    1546:	9801		ldr	r0, [sp, #4]
-    1548:	1c42		add	r2, r0, #1
-    154a:	9201		str	r2, [sp, #4]
-    154c:	7001		strb	r1, [r0, #0]
-    154e:	9902		ldr	r1, [sp, #8]
-    1550:	8808		ldrh	r0, [r1, #0]
-    1552:	3001		add	r0, #1
-    1554:	8008		strh	r0, [r1, #0]
-    1556:	4669		mov	r1, sp
-    1558:	4668		mov	r0, sp
-    155a:	8980		ldrh	r0, [r0, #12]	; 0xc
-    155c:	3001		add	r0, #1
-    155e:	8188		strh	r0, [r1, #12]	; 0xc
-    1560:	4668		mov	r0, sp
-    1562:	8980		ldrh	r0, [r0, #12]	; 0xc
-    1564:	9905		ldr	r1, [sp, #20]	; 0x14
-    1566:	7809		ldrb	r1, [r1, #0]
-    1568:	4288		cmp	r0, r1
-    156a:	dbdb		blt	0x1524
-    156c:	9904		ldr	r1, [sp, #16]	; 0x10
-    156e:	9802		ldr	r0, [sp, #8]
-    1570:	7800		ldrb	r0, [r0, #0]
-    1572:	7008		strb	r0, [r1, #0]
-    1574:	9902		ldr	r1, [sp, #8]
-    1576:	8808		ldrh	r0, [r1, #0]
-    1578:	3002		add	r0, #2
-    157a:	8008		strh	r0, [r1, #0]
-    157c:	b006		add	sp, #24	; 0x18
-    157e:	4770		bx	lr
-    1580:	4907		ldr	r1, =0x83ff08	; via 0x15a0
-    1582:	2000		mov	r0, #0
-    1584:	6008		str	r0, [r1, #0]
-    1586:	4802		ldr	r0, =0x83ff10	; via 0x1590
-    1588:	2100		mov	r1, #0
-    158a:	6001		str	r1, [r0, #0]
-    158c:	4770		bx	lr
-    158e:	46c0		nop			(mov r8, r8)
-    1590:	ff10		<half-bl>
-    1592:	0083		lsl	r3, r0, #2
-    1594:	ff04		<half-bl>
-    1596:	0083		lsl	r3, r0, #2
-    1598:	ff0e		<half-bl>
-    159a:	0083		lsl	r3, r0, #2
-    159c:	ff0c		<half-bl>
-    159e:	0083		lsl	r3, r0, #2
-    15a0:	ff08		<half-bl>
-    15a2:	0083		lsl	r3, r0, #2
-    15a4:	b082		sub	sp, #8
-    15a6:	9101		str	r1, [sp, #4]
-    15a8:	9000		str	r0, [sp, #0]
-    15aa:	9901		ldr	r1, [sp, #4]
-    15ac:	2000		mov	r0, #0
-    15ae:	7008		strb	r0, [r1, #0]
-    15b0:	9801		ldr	r0, [sp, #4]
-    15b2:	2100		mov	r1, #0
-    15b4:	7041		strb	r1, [r0, #1]
-    15b6:	9801		ldr	r0, [sp, #4]
-    15b8:	2102		mov	r1, #2
-    15ba:	7101		strb	r1, [r0, #4]
-    15bc:	9801		ldr	r0, [sp, #4]
-    15be:	2106		mov	r1, #6
-    15c0:	7141		strb	r1, [r0, #5]
-    15c2:	9801		ldr	r0, [sp, #4]
-    15c4:	2102		mov	r1, #2
-    15c6:	7181		strb	r1, [r0, #6]
-    15c8:	b002		add	sp, #8
-    15ca:	4770		bx	lr
-    15cc:	b500		push	{lr}
-    15ce:	b084		sub	sp, #16	; 0x10
-    15d0:	466b		mov	r3, sp
-    15d2:	721a		strb	r2, [r3, #8]
-    15d4:	9101		str	r1, [sp, #4]
-    15d6:	9000		str	r0, [sp, #0]
-    15d8:	9901		ldr	r1, [sp, #4]
-    15da:	2009		mov	r0, #9
-    15dc:	7008		strb	r0, [r1, #0]
-    15de:	e015		b	0x160c
-    15e0:	9801		ldr	r0, [sp, #4]
-    15e2:	2100		mov	r1, #0
-    15e4:	7041		strb	r1, [r0, #1]
-    15e6:	9901		ldr	r1, [sp, #4]
-    15e8:	4668		mov	r0, sp
-    15ea:	8940		ldrh	r0, [r0, #10]	; 0xa
-    15ec:	8088		strh	r0, [r1, #4]
-    15ee:	9901		ldr	r1, [sp, #4]
-    15f0:	4668		mov	r0, sp
-    15f2:	8980		ldrh	r0, [r0, #12]	; 0xc
-    15f4:	80c8		strh	r0, [r1, #6]
-    15f6:	e01e		b	0x1636
-    15f8:	2101		mov	r1, #1
-    15fa:	e004		b	0x1606
-    15fc:	2103		mov	r1, #3
-    15fe:	e002		b	0x1606
-    1600:	2105		mov	r1, #5
-    1602:	e000		b	0x1606
-    1604:	2106		mov	r1, #6
-    1606:	9801		ldr	r0, [sp, #4]
-    1608:	7041		strb	r1, [r0, #1]
-    160a:	e014		b	0x1636
-    160c:	200a		mov	r0, #10	; 0xa
-    160e:	4468		add	r0, sp
-    1610:	a903		add	r1, sp, #12	; 0xc
-    1612:	466a		mov	r2, sp
-    1614:	7a12		ldrb	r2, [r2, #8]
-    1616:	f000 fb71	bl	0x1cfc
-    161a:	2800		cmp	r0, #0
-    161c:	d0e0		beq	0x15e0
-    161e:	3801		sub	r0, #1
-    1620:	2800		cmp	r0, #0
-    1622:	d0e9		beq	0x15f8
-    1624:	3801		sub	r0, #1
-    1626:	2800		cmp	r0, #0
-    1628:	d0e8		beq	0x15fc
-    162a:	3801		sub	r0, #1
-    162c:	2800		cmp	r0, #0
-    162e:	d0e7		beq	0x1600
-    1630:	3801		sub	r0, #1
-    1632:	2800		cmp	r0, #0
-    1634:	d0e6		beq	0x1604
-    1636:	b004		add	sp, #16	; 0x10
-    1638:	bd00		pop	{pc}
-    163a:	b084		sub	sp, #16	; 0x10
-    163c:	9101		str	r1, [sp, #4]
-    163e:	9000		str	r0, [sp, #0]
-    1640:	9901		ldr	r1, [sp, #4]
-    1642:	200a		mov	r0, #10	; 0xa
-    1644:	7008		strb	r0, [r1, #0]
-    1646:	9801		ldr	r0, [sp, #4]
-    1648:	2100		mov	r1, #0
-    164a:	7041		strb	r1, [r0, #1]
-    164c:	4669		mov	r1, sp
-    164e:	9800		ldr	r0, [sp, #0]
-    1650:	8880		ldrh	r0, [r0, #4]
-    1652:	8108		strh	r0, [r1, #8]
-    1654:	9800		ldr	r0, [sp, #0]
-    1656:	88c0		ldrh	r0, [r0, #6]
-    1658:	8148		strh	r0, [r1, #10]	; 0xa
-    165a:	4668		mov	r0, sp
-    165c:	8941		ldrh	r1, [r0, #10]	; 0xa
-    165e:	8900		ldrh	r0, [r0, #8]
-    1660:	0400		lsl	r0, r0, #16
-    1662:	1808		add	r0, r1, r0
-    1664:	9003		str	r0, [sp, #12]	; 0xc
-    1666:	9803		ldr	r0, [sp, #12]	; 0xc
-    1668:	b004		add	sp, #16	; 0x10
-    166a:	4770		bx	lr
-    166c:	b085		sub	sp, #20	; 0x14
-    166e:	9303		str	r3, [sp, #12]	; 0xc
-    1670:	9202		str	r2, [sp, #8]
-    1672:	9101		str	r1, [sp, #4]
-    1674:	4669		mov	r1, sp
-    1676:	7008		strb	r0, [r1, #0]
-    1678:	48ea		ldr	r0, =0x83ff19	; via 0x1a24
-    167a:	7809		ldrb	r1, [r1, #0]
-    167c:	7802		ldrb	r2, [r0, #0]
-    167e:	1889		add	r1, r1, r2
-    1680:	7001		strb	r1, [r0, #0]
-    1682:	48e9		ldr	r0, =0x83ff1a	; via 0x1a28
-    1684:	7800		ldrb	r0, [r0, #0]
-    1686:	2800		cmp	r0, #0
-    1688:	d00e		beq	0x16a8
-    168a:	48e8		ldr	r0, =0x83ff26	; via 0x1a2c
-    168c:	4669		mov	r1, sp
-    168e:	780a		ldrb	r2, [r1, #0]
-    1690:	8801		ldrh	r1, [r0, #0]
-    1692:	1851		add	r1, r2, r1
-    1694:	8001		strh	r1, [r0, #0]
-    1696:	9903		ldr	r1, [sp, #12]	; 0xc
-    1698:	48e4		ldr	r0, =0x83ff26	; via 0x1a2c
-    169a:	8800		ldrh	r0, [r0, #0]
-    169c:	8008		strh	r0, [r1, #0]
-    169e:	9801		ldr	r0, [sp, #4]
-    16a0:	2100		mov	r1, #0
-    16a2:	6001		str	r1, [r0, #0]
-    16a4:	2000		mov	r0, #0
-    16a6:	e009		b	0x16bc
-    16a8:	9902		ldr	r1, [sp, #8]
-    16aa:	6808		ldr	r0, [r1, #0]
-    16ac:	3002		add	r0, #2
-    16ae:	6008		str	r0, [r1, #0]
-    16b0:	49de		ldr	r1, =0x83ff26	; via 0x1a2c
-    16b2:	4668		mov	r0, sp
-    16b4:	7800		ldrb	r0, [r0, #0]
-    16b6:	0200		lsl	r0, r0, #8
-    16b8:	8008		strh	r0, [r1, #0]
-    16ba:	2001		mov	r0, #1
-    16bc:	9004		str	r0, [sp, #16]	; 0x10
-    16be:	2001		mov	r0, #1
-    16c0:	49d9		ldr	r1, =0x83ff1a	; via 0x1a28
-    16c2:	7809		ldrb	r1, [r1, #0]
-    16c4:	4388		bic	r0, r1
-    16c6:	49d8		ldr	r1, =0x83ff1a	; via 0x1a28
-    16c8:	7008		strb	r0, [r1, #0]
-    16ca:	48d9		ldr	r0, =0x83ff24	; via 0x1a30
-    16cc:	7801		ldrb	r1, [r0, #0]
-    16ce:	3901		sub	r1, #1
-    16d0:	7001		strb	r1, [r0, #0]
-    16d2:	48d7		ldr	r0, =0x83ff24	; via 0x1a30
-    16d4:	7800		ldrb	r0, [r0, #0]
-    16d6:	2800		cmp	r0, #0
-    16d8:	d102		bne	0x16e0
-    16da:	48d6		ldr	r0, =0x83ff20	; via 0x1a34
-    16dc:	2106		mov	r1, #6
-    16de:	6001		str	r1, [r0, #0]
-    16e0:	9804		ldr	r0, [sp, #16]	; 0x10
-    16e2:	b005		add	sp, #20	; 0x14
-    16e4:	46f7		mov	pc, lr
-    16e6:	b083		sub	sp, #12	; 0xc
-    16e8:	9101		str	r1, [sp, #4]
-    16ea:	4669		mov	r1, sp
-    16ec:	7008		strb	r0, [r1, #0]
-    16ee:	2001		mov	r0, #1
-    16f0:	9002		str	r0, [sp, #8]
-    16f2:	48d1		ldr	r0, =0x83ff1b	; via 0x1a38
-    16f4:	7800		ldrb	r0, [r0, #0]
-    16f6:	2800		cmp	r0, #0
-    16f8:	d10a		bne	0x1710
-    16fa:	4668		mov	r0, sp
-    16fc:	7800		ldrb	r0, [r0, #0]
-    16fe:	2853		cmp	r0, #83	; 0x53
-    1700:	d102		bne	0x1708
-    1702:	48cd		ldr	r0, =0x83ff1b	; via 0x1a38
-    1704:	2101		mov	r1, #1
-    1706:	e01a		b	0x173e
-    1708:	2101		mov	r1, #1
-    170a:	9801		ldr	r0, [sp, #4]
-    170c:	6001		str	r1, [r0, #0]
-    170e:	e03b		b	0x1788
-    1710:	49c9		ldr	r1, =0x83ff1b	; via 0x1a38
-    1712:	2000		mov	r0, #0
-    1714:	7008		strb	r0, [r1, #0]
-    1716:	4668		mov	r0, sp
-    1718:	7800		ldrb	r0, [r0, #0]
-    171a:	2830		cmp	r0, #48	; 0x30
-    171c:	d111		bne	0x1742
-    171e:	48c7		ldr	r0, =0x83ff18	; via 0x1a3c
-    1720:	7800		ldrb	r0, [r0, #0]
-    1722:	2800		cmp	r0, #0
-    1724:	d006		beq	0x1734
-    1726:	9901		ldr	r1, [sp, #4]
-    1728:	2001		mov	r0, #1
-    172a:	6008		str	r0, [r1, #0]
-    172c:	49c3		ldr	r1, =0x83ff18	; via 0x1a3c
-    172e:	2000		mov	r0, #0
-    1730:	7008		strb	r0, [r1, #0]
-    1732:	e02a		b	0x178a
-    1734:	48bf		ldr	r0, =0x83ff20	; via 0x1a34
-    1736:	2102		mov	r1, #2
-    1738:	6001		str	r1, [r0, #0]
-    173a:	48ef		ldr	r0, =0x83ff1c	; via 0x1af8
-    173c:	2100		mov	r1, #0
-    173e:	7001		strb	r1, [r0, #0]
-    1740:	e024		b	0x178c
-    1742:	4668		mov	r0, sp
-    1744:	7800		ldrb	r0, [r0, #0]
-    1746:	2833		cmp	r0, #51	; 0x33
-    1748:	d105		bne	0x1756
-    174a:	48bc		ldr	r0, =0x83ff18	; via 0x1a3c
-    174c:	7800		ldrb	r0, [r0, #0]
-    174e:	2800		cmp	r0, #0
-    1750:	d0da		beq	0x1708
-    1752:	2004		mov	r0, #4
-    1754:	e00c		b	0x1770
-    1756:	4668		mov	r0, sp
-    1758:	7800		ldrb	r0, [r0, #0]
-    175a:	2837		cmp	r0, #55	; 0x37
-    175c:	d10e		bne	0x177c
-    175e:	48b7		ldr	r0, =0x83ff18	; via 0x1a3c
-    1760:	7800		ldrb	r0, [r0, #0]
-    1762:	2800		cmp	r0, #0
-    1764:	d103		bne	0x176e
-    1766:	9901		ldr	r1, [sp, #4]
-    1768:	2001		mov	r0, #1
-    176a:	6008		str	r0, [r1, #0]
-    176c:	e00c		b	0x1788
-    176e:	2003		mov	r0, #3
-    1770:	49b0		ldr	r1, =0x83ff20	; via 0x1a34
-    1772:	6008		str	r0, [r1, #0]
-    1774:	2000		mov	r0, #0
-    1776:	49e0		ldr	r1, =0x83ff1c	; via 0x1af8
-    1778:	7008		strb	r0, [r1, #0]
-    177a:	e007		b	0x178c
-    177c:	9901		ldr	r1, [sp, #4]
-    177e:	2001		mov	r0, #1
-    1780:	6008		str	r0, [r1, #0]
-    1782:	48ae		ldr	r0, =0x83ff18	; via 0x1a3c
-    1784:	2100		mov	r1, #0
-    1786:	7001		strb	r1, [r0, #0]
-    1788:	2000		mov	r0, #0
-    178a:	9002		str	r0, [sp, #8]
-    178c:	9802		ldr	r0, [sp, #8]
-    178e:	b003		add	sp, #12	; 0xc
-    1790:	46f7		mov	pc, lr
-    1792:	b083		sub	sp, #12	; 0xc
-    1794:	9101		str	r1, [sp, #4]
-    1796:	4669		mov	r1, sp
-    1798:	7008		strb	r0, [r1, #0]
-    179a:	2001		mov	r0, #1
-    179c:	9002		str	r0, [sp, #8]
-    179e:	49d7		ldr	r1, =0x830	; via 0x1afc
-    17a0:	48d5		ldr	r0, =0x83ff1c	; via 0x1af8
-    17a2:	7800		ldrb	r0, [r0, #0]
-    17a4:	0080		lsl	r0, r0, #2
-    17a6:	5808		ldr	r0, [r1, r0]
-    17a8:	4669		mov	r1, sp
-    17aa:	7809		ldrb	r1, [r1, #0]
-    17ac:	4281		cmp	r1, r0
-    17ae:	d10d		bne	0x17cc
-    17b0:	49d1		ldr	r1, =0x83ff1c	; via 0x1af8
-    17b2:	7808		ldrb	r0, [r1, #0]
-    17b4:	3001		add	r0, #1
-    17b6:	7008		strb	r0, [r1, #0]
-    17b8:	48cf		ldr	r0, =0x83ff1c	; via 0x1af8
-    17ba:	7800		ldrb	r0, [r0, #0]
-    17bc:	2807		cmp	r0, #7
-    17be:	d10d		bne	0x17dc
-    17c0:	489c		ldr	r0, =0x83ff20	; via 0x1a34
-    17c2:	2101		mov	r1, #1
-    17c4:	6001		str	r1, [r0, #0]
-    17c6:	489d		ldr	r0, =0x83ff18	; via 0x1a3c
-    17c8:	7001		strb	r1, [r0, #0]
-    17ca:	e007		b	0x17dc
-    17cc:	9801		ldr	r0, [sp, #4]
-    17ce:	2101		mov	r1, #1
-    17d0:	6001		str	r1, [r0, #0]
-    17d2:	4998		ldr	r1, =0x83ff20	; via 0x1a34
-    17d4:	2001		mov	r0, #1
-    17d6:	6008		str	r0, [r1, #0]
-    17d8:	2000		mov	r0, #0
-    17da:	9002		str	r0, [sp, #8]
-    17dc:	9802		ldr	r0, [sp, #8]
-    17de:	b003		add	sp, #12	; 0xc
-    17e0:	46f7		mov	pc, lr
-    17e2:	b083		sub	sp, #12	; 0xc
-    17e4:	9101		str	r1, [sp, #4]
-    17e6:	4669		mov	r1, sp
-    17e8:	7008		strb	r0, [r1, #0]
-    17ea:	2001		mov	r0, #1
-    17ec:	9002		str	r0, [sp, #8]
-    17ee:	49c4		ldr	r1, =0x84c	; via 0x1b00
-    17f0:	48c1		ldr	r0, =0x83ff1c	; via 0x1af8
-    17f2:	7800		ldrb	r0, [r0, #0]
-    17f4:	0080		lsl	r0, r0, #2
-    17f6:	5808		ldr	r0, [r1, r0]
-    17f8:	4669		mov	r1, sp
-    17fa:	7809		ldrb	r1, [r1, #0]
-    17fc:	4281		cmp	r1, r0
-    17fe:	d112		bne	0x1826
-    1800:	49bd		ldr	r1, =0x83ff1c	; via 0x1af8
-    1802:	7808		ldrb	r0, [r1, #0]
-    1804:	3001		add	r0, #1
-    1806:	7008		strb	r0, [r1, #0]
-    1808:	48bb		ldr	r0, =0x83ff1c	; via 0x1af8
-    180a:	7800		ldrb	r0, [r0, #0]
-    180c:	2806		cmp	r0, #6
-    180e:	d114		bne	0x183a
-    1810:	9801		ldr	r0, [sp, #4]
-    1812:	2102		mov	r1, #2
-    1814:	6001		str	r1, [r0, #0]
-    1816:	4887		ldr	r0, =0x83ff20	; via 0x1a34
-    1818:	2101		mov	r1, #1
-    181a:	6001		str	r1, [r0, #0]
-    181c:	4887		ldr	r0, =0x83ff18	; via 0x1a3c
-    181e:	2100		mov	r1, #0
-    1820:	7001		strb	r1, [r0, #0]
-    1822:	2000		mov	r0, #0
-    1824:	e008		b	0x1838
-    1826:	9801		ldr	r0, [sp, #4]
-    1828:	2101		mov	r1, #1
-    182a:	6001		str	r1, [r0, #0]
-    182c:	4981		ldr	r1, =0x83ff20	; via 0x1a34
-    182e:	2001		mov	r0, #1
-    1830:	6008		str	r0, [r1, #0]
-    1832:	4982		ldr	r1, =0x83ff18	; via 0x1a3c
-    1834:	2000		mov	r0, #0
-    1836:	7008		strb	r0, [r1, #0]
-    1838:	9002		str	r0, [sp, #8]
-    183a:	9802		ldr	r0, [sp, #8]
-    183c:	b003		add	sp, #12	; 0xc
-    183e:	46f7		mov	pc, lr
-    1840:	b081		sub	sp, #4
-    1842:	4669		mov	r1, sp
-    1844:	7008		strb	r0, [r1, #0]
-    1846:	497a		ldr	r1, =0x83ff24	; via 0x1a30
-    1848:	4668		mov	r0, sp
-    184a:	7800		ldrb	r0, [r0, #0]
-    184c:	3801		sub	r0, #1
-    184e:	7008		strb	r0, [r1, #0]
-    1850:	4874		ldr	r0, =0x83ff19	; via 0x1a24
-    1852:	4669		mov	r1, sp
-    1854:	7809		ldrb	r1, [r1, #0]
-    1856:	7001		strb	r1, [r0, #0]
-    1858:	48a7		ldr	r0, =0x83ff1c	; via 0x1af8
-    185a:	2100		mov	r1, #0
-    185c:	7001		strb	r1, [r0, #0]
-    185e:	48e3		ldr	r0, =0x83ff14	; via 0x1bec
-    1860:	6001		str	r1, [r0, #0]
-    1862:	4874		ldr	r0, =0x83ff20	; via 0x1a34
-    1864:	2105		mov	r1, #5
-    1866:	6001		str	r1, [r0, #0]
-    1868:	b001		add	sp, #4
-    186a:	46f7		mov	pc, lr
-    186c:	b084		sub	sp, #16	; 0x10
-    186e:	9202		str	r2, [sp, #8]
-    1870:	9101		str	r1, [sp, #4]
-    1872:	4669		mov	r1, sp
-    1874:	7008		strb	r0, [r1, #0]
-    1876:	2001		mov	r0, #1
-    1878:	9003		str	r0, [sp, #12]	; 0xc
-    187a:	496d		ldr	r1, =0x83ff24	; via 0x1a30
-    187c:	7808		ldrb	r0, [r1, #0]
-    187e:	3801		sub	r0, #1
-    1880:	7008		strb	r0, [r1, #0]
-    1882:	486b		ldr	r0, =0x83ff24	; via 0x1a30
-    1884:	7800		ldrb	r0, [r0, #0]
-    1886:	2800		cmp	r0, #0
-    1888:	d026		beq	0x18d8
-    188a:	4866		ldr	r0, =0x83ff19	; via 0x1a24
-    188c:	4669		mov	r1, sp
-    188e:	780a		ldrb	r2, [r1, #0]
-    1890:	7801		ldrb	r1, [r0, #0]
-    1892:	1851		add	r1, r2, r1
-    1894:	7001		strb	r1, [r0, #0]
-    1896:	4998		ldr	r1, =0x83ff1c	; via 0x1af8
-    1898:	7808		ldrb	r0, [r1, #0]
-    189a:	3001		add	r0, #1
-    189c:	7008		strb	r0, [r1, #0]
-    189e:	49d3		ldr	r1, =0x83ff14	; via 0x1bec
-    18a0:	2204		mov	r2, #4
-    18a2:	4895		ldr	r0, =0x83ff1c	; via 0x1af8
-    18a4:	7800		ldrb	r0, [r0, #0]
-    18a6:	1a10		sub	r0, r2, r0
-    18a8:	00c2		lsl	r2, r0, #3
-    18aa:	4668		mov	r0, sp
-    18ac:	7800		ldrb	r0, [r0, #0]
-    18ae:	4090		lsl	r0, r2
-    18b0:	680a		ldr	r2, [r1, #0]
-    18b2:	1880		add	r0, r0, r2
-    18b4:	6008		str	r0, [r1, #0]
-    18b6:	4890		ldr	r0, =0x83ff1c	; via 0x1af8
-    18b8:	7800		ldrb	r0, [r0, #0]
-    18ba:	2804		cmp	r0, #4
-    18bc:	d117		bne	0x18ee
-    18be:	9902		ldr	r1, [sp, #8]
-    18c0:	48ca		ldr	r0, =0x83ff14	; via 0x1bec
-    18c2:	6800		ldr	r0, [r0, #0]
-    18c4:	3802		sub	r0, #2
-    18c6:	6008		str	r0, [r1, #0]
-    18c8:	485a		ldr	r0, =0x83ff20	; via 0x1a34
-    18ca:	2100		mov	r1, #0
-    18cc:	6001		str	r1, [r0, #0]
-    18ce:	4856		ldr	r0, =0x83ff1a	; via 0x1a28
-    18d0:	7001		strb	r1, [r0, #0]
-    18d2:	4889		ldr	r0, =0x83ff1c	; via 0x1af8
-    18d4:	7001		strb	r1, [r0, #0]
-    18d6:	e00a		b	0x18ee
-    18d8:	9801		ldr	r0, [sp, #4]
-    18da:	2101		mov	r1, #1
-    18dc:	6001		str	r1, [r0, #0]
-    18de:	4955		ldr	r1, =0x83ff20	; via 0x1a34
-    18e0:	2001		mov	r0, #1
-    18e2:	6008		str	r0, [r1, #0]
-    18e4:	4855		ldr	r0, =0x83ff18	; via 0x1a3c
-    18e6:	2100		mov	r1, #0
-    18e8:	7001		strb	r1, [r0, #0]
-    18ea:	2000		mov	r0, #0
-    18ec:	9003		str	r0, [sp, #12]	; 0xc
-    18ee:	9803		ldr	r0, [sp, #12]	; 0xc
-    18f0:	b004		add	sp, #16	; 0x10
-    18f2:	46f7		mov	pc, lr
-    18f4:	b083		sub	sp, #12	; 0xc
-    18f6:	9101		str	r1, [sp, #4]
-    18f8:	4669		mov	r1, sp
-    18fa:	7008		strb	r0, [r1, #0]
-    18fc:	2001		mov	r0, #1
-    18fe:	9002		str	r0, [sp, #8]
-    1900:	494c		ldr	r1, =0x83ff20	; via 0x1a34
-    1902:	6008		str	r0, [r1, #0]
-    1904:	20ff		mov	r0, #255	; 0xff
-    1906:	4669		mov	r1, sp
-    1908:	7809		ldrb	r1, [r1, #0]
-    190a:	4388		bic	r0, r1
-    190c:	4945		ldr	r1, =0x83ff19	; via 0x1a24
-    190e:	7809		ldrb	r1, [r1, #0]
-    1910:	4281		cmp	r1, r0
-    1912:	d007		beq	0x1924
-    1914:	9801		ldr	r0, [sp, #4]
-    1916:	2101		mov	r1, #1
-    1918:	6001		str	r1, [r0, #0]
-    191a:	4848		ldr	r0, =0x83ff18	; via 0x1a3c
-    191c:	2100		mov	r1, #0
-    191e:	7001		strb	r1, [r0, #0]
-    1920:	2000		mov	r0, #0
-    1922:	9002		str	r0, [sp, #8]
-    1924:	9802		ldr	r0, [sp, #8]
-    1926:	b003		add	sp, #12	; 0xc
-    1928:	46f7		mov	pc, lr
-    192a:	b085		sub	sp, #20	; 0x14
-    192c:	466b		mov	r3, sp
-    192e:	719a		strb	r2, [r3, #6]
-    1930:	466a		mov	r2, sp
-    1932:	8091		strh	r1, [r2, #4]
-    1934:	9000		str	r0, [sp, #0]
-    1936:	9800		ldr	r0, [sp, #0]
-    1938:	9002		str	r0, [sp, #8]
-    193a:	4669		mov	r1, sp
-    193c:	4668		mov	r0, sp
-    193e:	8880		ldrh	r0, [r0, #4]
-    1940:	8208		strh	r0, [r1, #16]	; 0x10
-    1942:	4668		mov	r0, sp
-    1944:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    1946:	2800		cmp	r0, #0
-    1948:	d01e		beq	0x1988
-    194a:	49e3		ldr	r1, =0x864	; via 0x1cd8
-    194c:	4668		mov	r0, sp
-    194e:	7980		ldrb	r0, [r0, #6]
-    1950:	0080		lsl	r0, r0, #2
-    1952:	5808		ldr	r0, [r1, r0]
-    1954:	7941		ldrb	r1, [r0, #5]
-    1956:	4668		mov	r0, sp
-    1958:	7301		strb	r1, [r0, #12]	; 0xc
-    195a:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    195c:	0980		lsr	r0, r0, #6
-    195e:	d3f4		bcc	0x194a
-    1960:	49dd		ldr	r1, =0x864	; via 0x1cd8
-    1962:	4668		mov	r0, sp
-    1964:	7980		ldrb	r0, [r0, #6]
-    1966:	0080		lsl	r0, r0, #2
-    1968:	5809		ldr	r1, [r1, r0]
-    196a:	9802		ldr	r0, [sp, #8]
-    196c:	7800		ldrb	r0, [r0, #0]
-    196e:	7008		strb	r0, [r1, #0]
-    1970:	9802		ldr	r0, [sp, #8]
-    1972:	3001		add	r0, #1
-    1974:	9002		str	r0, [sp, #8]
-    1976:	4669		mov	r1, sp
-    1978:	4668		mov	r0, sp
-    197a:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    197c:	3801		sub	r0, #1
-    197e:	8208		strh	r0, [r1, #16]	; 0x10
-    1980:	4668		mov	r0, sp
-    1982:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    1984:	2800		cmp	r0, #0
-    1986:	d1e0		bne	0x194a
-    1988:	b005		add	sp, #20	; 0x14
-    198a:	46f7		mov	pc, lr
-    198c:	b082		sub	sp, #8
-    198e:	4669		mov	r1, sp
-    1990:	7008		strb	r0, [r1, #0]
-    1992:	2000		mov	r0, #0
-    1994:	8088		strh	r0, [r1, #4]
-    1996:	4668		mov	r0, sp
-    1998:	8881		ldrh	r1, [r0, #4]
-    199a:	20ff		mov	r0, #255	; 0xff
-    199c:	30f5		add	r0, #245	; 0xf5
-    199e:	4281		cmp	r1, r0
-    19a0:	da21		bge	0x19e6
-    19a2:	4669		mov	r1, sp
-    19a4:	4668		mov	r0, sp
-    19a6:	8880		ldrh	r0, [r0, #4]
-    19a8:	3001		add	r0, #1
-    19aa:	8088		strh	r0, [r1, #4]
-    19ac:	48ca		ldr	r0, =0x864	; via 0x1cd8
-    19ae:	7809		ldrb	r1, [r1, #0]
-    19b0:	0089		lsl	r1, r1, #2
-    19b2:	5840		ldr	r0, [r0, r1]
-    19b4:	7940		ldrb	r0, [r0, #5]
-    19b6:	4669		mov	r1, sp
-    19b8:	7048		strb	r0, [r1, #1]
-    19ba:	4668		mov	r0, sp
-    19bc:	7840		ldrb	r0, [r0, #1]
-    19be:	0840		lsr	r0, r0, #1
-    19c0:	d30b		bcc	0x19da
-    19c2:	49c5		ldr	r1, =0x864	; via 0x1cd8
-    19c4:	4668		mov	r0, sp
-    19c6:	7800		ldrb	r0, [r0, #0]
-    19c8:	0080		lsl	r0, r0, #2
-    19ca:	5808		ldr	r0, [r1, r0]
-    19cc:	7800		ldrb	r0, [r0, #0]
-    19ce:	0600		lsl	r0, r0, #24
-    19d0:	0e00		lsr	r0, r0, #24
-    19d2:	4669		mov	r1, sp
-    19d4:	7088		strb	r0, [r1, #2]
-    19d6:	2000		mov	r0, #0
-    19d8:	8088		strh	r0, [r1, #4]
-    19da:	4668		mov	r0, sp
-    19dc:	8881		ldrh	r1, [r0, #4]
-    19de:	20ff		mov	r0, #255	; 0xff
-    19e0:	30f5		add	r0, #245	; 0xf5
-    19e2:	4281		cmp	r1, r0
-    19e4:	dbdd		blt	0x19a2
-    19e6:	b002		add	sp, #8
-    19e8:	4770		bx	lr
-    19ea:	b500		push	{lr}
-    19ec:	b08c		sub	sp, #48	; 0x30
-    19ee:	466a		mov	r2, sp
-    19f0:	7111		strb	r1, [r2, #4]
-    19f2:	9000		str	r0, [sp, #0]
-    19f4:	2001		mov	r0, #1
-    19f6:	9002		str	r0, [sp, #8]
-    19f8:	9800		ldr	r0, [sp, #0]
-    19fa:	a904		add	r1, sp, #16	; 0x10
-    19fc:	aa03		add	r2, sp, #12	; 0xc
-    19fe:	f7ff fd75	bl	0x14ec
-    1a02:	4668		mov	r0, sp
-    1a04:	8980		ldrh	r0, [r0, #12]	; 0xc
-    1a06:	2820		cmp	r0, #32	; 0x20
-    1a08:	dd02		ble	0x1a10
-    1a0a:	2000		mov	r0, #0
-    1a0c:	9002		str	r0, [sp, #8]
-    1a0e:	e006		b	0x1a1e
-    1a10:	a804		add	r0, sp, #16	; 0x10
-    1a12:	4669		mov	r1, sp
-    1a14:	8989		ldrh	r1, [r1, #12]	; 0xc
-    1a16:	466a		mov	r2, sp
-    1a18:	7912		ldrb	r2, [r2, #4]
-    1a1a:	f7ff ff86	bl	0x192a
-    1a1e:	9802		ldr	r0, [sp, #8]
-    1a20:	b00c		add	sp, #48	; 0x30
-    1a22:	bd00		pop	{pc}
-    1a24:	ff19		<half-bl>
-    1a26:	0083		lsl	r3, r0, #2
-    1a28:	ff1a		<half-bl>
-    1a2a:	0083		lsl	r3, r0, #2
-    1a2c:	ff26		<half-bl>
-    1a2e:	0083		lsl	r3, r0, #2
-    1a30:	ff24		<half-bl>
-    1a32:	0083		lsl	r3, r0, #2
-    1a34:	ff20		<half-bl>
-    1a36:	0083		lsl	r3, r0, #2
-    1a38:	ff1b		<half-bl>
-    1a3a:	0083		lsl	r3, r0, #2
-    1a3c:	ff18		<half-bl>
-    1a3e:	0083		lsl	r3, r0, #2
-    1a40:	b500		push	{lr}
-    1a42:	b084		sub	sp, #16	; 0x10
-    1a44:	9101		str	r1, [sp, #4]
-    1a46:	9000		str	r0, [sp, #0]
-    1a48:	4669		mov	r1, sp
-    1a4a:	20ff		mov	r0, #255	; 0xff
-    1a4c:	7308		strb	r0, [r1, #12]	; 0xc
-    1a4e:	2000		mov	r0, #0
-    1a50:	9002		str	r0, [sp, #8]
-    1a52:	4669		mov	r1, sp
-    1a54:	48a1		ldr	r0, =0xffff5805	; via 0x1cdc
-    1a56:	7800		ldrb	r0, [r0, #0]
-    1a58:	7348		strb	r0, [r1, #13]	; 0xd
-    1a5a:	48a1		ldr	r0, =0xffff5005	; via 0x1ce0
-    1a5c:	7800		ldrb	r0, [r0, #0]
-    1a5e:	7388		strb	r0, [r1, #14]	; 0xe
-    1a60:	4668		mov	r0, sp
-    1a62:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1a64:	0840		lsr	r0, r0, #1
-    1a66:	d206		bcs	0x1a76
-    1a68:	4668		mov	r0, sp
-    1a6a:	7b80		ldrb	r0, [r0, #14]	; 0xe
-    1a6c:	0840		lsr	r0, r0, #1
-    1a6e:	d202		bcs	0x1a76
-    1a70:	9801		ldr	r0, [sp, #4]
-    1a72:	2800		cmp	r0, #0
-    1a74:	d0ed		beq	0x1a52
-    1a76:	4668		mov	r0, sp
-    1a78:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1a7a:	0840		lsr	r0, r0, #1
-    1a7c:	d316		bcc	0x1aac
-    1a7e:	4669		mov	r1, sp
-    1a80:	2000		mov	r0, #0
-    1a82:	7308		strb	r0, [r1, #12]	; 0xc
-    1a84:	4994		ldr	r1, =0x864	; via 0x1cd8
-    1a86:	4668		mov	r0, sp
-    1a88:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1a8a:	0080		lsl	r0, r0, #2
-    1a8c:	5808		ldr	r0, [r1, r0]
-    1a8e:	7800		ldrb	r0, [r0, #0]
-    1a90:	0600		lsl	r0, r0, #24
-    1a92:	0e00		lsr	r0, r0, #24
-    1a94:	4669		mov	r1, sp
-    1a96:	73c8		strb	r0, [r1, #15]	; 0xf
-    1a98:	4668		mov	r0, sp
-    1a9a:	7bc0		ldrb	r0, [r0, #15]	; 0xf
-    1a9c:	9900		ldr	r1, [sp, #0]
-    1a9e:	f7ff fc9f	bl	0x13e0
-    1aa2:	9002		str	r0, [sp, #8]
-    1aa4:	9802		ldr	r0, [sp, #8]
-    1aa6:	2800		cmp	r0, #0
-    1aa8:	d11c		bne	0x1ae4
-    1aaa:	e018		b	0x1ade
-    1aac:	4668		mov	r0, sp
-    1aae:	7b80		ldrb	r0, [r0, #14]	; 0xe
-    1ab0:	0840		lsr	r0, r0, #1
-    1ab2:	d317		bcc	0x1ae4
-    1ab4:	4669		mov	r1, sp
-    1ab6:	2001		mov	r0, #1
-    1ab8:	7308		strb	r0, [r1, #12]	; 0xc
-    1aba:	4987		ldr	r1, =0x864	; via 0x1cd8
-    1abc:	4668		mov	r0, sp
-    1abe:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1ac0:	0080		lsl	r0, r0, #2
-    1ac2:	5808		ldr	r0, [r1, r0]
-    1ac4:	7800		ldrb	r0, [r0, #0]
-    1ac6:	0600		lsl	r0, r0, #24
-    1ac8:	0e01		lsr	r1, r0, #24
-    1aca:	4668		mov	r0, sp
-    1acc:	73c1		strb	r1, [r0, #15]	; 0xf
-    1ace:	7bc0		ldrb	r0, [r0, #15]	; 0xf
-    1ad0:	9900		ldr	r1, [sp, #0]
-    1ad2:	f7ff fc85	bl	0x13e0
-    1ad6:	9002		str	r0, [sp, #8]
-    1ad8:	9802		ldr	r0, [sp, #8]
-    1ada:	2800		cmp	r0, #0
-    1adc:	d102		bne	0x1ae4
-    1ade:	20ff		mov	r0, #255	; 0xff
-    1ae0:	4669		mov	r1, sp
-    1ae2:	7308		strb	r0, [r1, #12]	; 0xc
-    1ae4:	9802		ldr	r0, [sp, #8]
-    1ae6:	2800		cmp	r0, #0
-    1ae8:	d102		bne	0x1af0
-    1aea:	9801		ldr	r0, [sp, #4]
-    1aec:	2800		cmp	r0, #0
-    1aee:	d0b0		beq	0x1a52
-    1af0:	4668		mov	r0, sp
-    1af2:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1af4:	b004		add	sp, #16	; 0x10
-    1af6:	bd00		pop	{pc}
-    1af8:	ff1c		<half-bl>
-    1afa:	0083		lsl	r3, r0, #2
-    1afc:	0830		lsr	r0, r6, #32
-    1afe:	0000		lsl	r0, r0, #0
-    1b00:	084c		lsr	r4, r1, #1
-    1b02:	0000		lsl	r0, r0, #0
-    1b04:	b500		push	{lr}
-    1b06:	b086		sub	sp, #24	; 0x18
-    1b08:	466b		mov	r3, sp
-    1b0a:	721a		strb	r2, [r3, #8]
-    1b0c:	9101		str	r1, [sp, #4]
-    1b0e:	9000		str	r0, [sp, #0]
-    1b10:	2001		mov	r0, #1
-    1b12:	9004		str	r0, [sp, #16]	; 0x10
-    1b14:	9804		ldr	r0, [sp, #16]	; 0x10
-    1b16:	2800		cmp	r0, #0
-    1b18:	d05b		beq	0x1bd2
-    1b1a:	496f		ldr	r1, =0x864	; via 0x1cd8
-    1b1c:	4668		mov	r0, sp
-    1b1e:	7a00		ldrb	r0, [r0, #8]
-    1b20:	0080		lsl	r0, r0, #2
-    1b22:	5808		ldr	r0, [r1, r0]
-    1b24:	7941		ldrb	r1, [r0, #5]
-    1b26:	4668		mov	r0, sp
-    1b28:	7301		strb	r1, [r0, #12]	; 0xc
-    1b2a:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1b2c:	0840		lsr	r0, r0, #1
-    1b2e:	d3f4		bcc	0x1b1a
-    1b30:	4969		ldr	r1, =0x864	; via 0x1cd8
-    1b32:	4668		mov	r0, sp
-    1b34:	7a00		ldrb	r0, [r0, #8]
-    1b36:	0080		lsl	r0, r0, #2
-    1b38:	5808		ldr	r0, [r1, r0]
-    1b3a:	7800		ldrb	r0, [r0, #0]
-    1b3c:	0600		lsl	r0, r0, #24
-    1b3e:	0e01		lsr	r1, r0, #24
-    1b40:	4668		mov	r0, sp
-    1b42:	7341		strb	r1, [r0, #13]	; 0xd
-    1b44:	e02c		b	0x1ba0
-    1b46:	4668		mov	r0, sp
-    1b48:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b4a:	a905		add	r1, sp, #20	; 0x14
-    1b4c:	9a00		ldr	r2, [sp, #0]
-    1b4e:	9b01		ldr	r3, [sp, #4]
-    1b50:	f7ff fd8c	bl	0x166c
-    1b54:	9004		str	r0, [sp, #16]	; 0x10
-    1b56:	e039		b	0x1bcc
-    1b58:	4668		mov	r0, sp
-    1b5a:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b5c:	a905		add	r1, sp, #20	; 0x14
-    1b5e:	f7ff fdc2	bl	0x16e6
-    1b62:	e7f7		b	0x1b54
-    1b64:	4668		mov	r0, sp
-    1b66:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b68:	a905		add	r1, sp, #20	; 0x14
-    1b6a:	f7ff fe12	bl	0x1792
-    1b6e:	e7f1		b	0x1b54
-    1b70:	4668		mov	r0, sp
-    1b72:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b74:	a905		add	r1, sp, #20	; 0x14
-    1b76:	f7ff fe34	bl	0x17e2
-    1b7a:	e7eb		b	0x1b54
-    1b7c:	4668		mov	r0, sp
-    1b7e:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b80:	f7ff fe5e	bl	0x1840
-    1b84:	e022		b	0x1bcc
-    1b86:	4668		mov	r0, sp
-    1b88:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b8a:	a905		add	r1, sp, #20	; 0x14
-    1b8c:	9a00		ldr	r2, [sp, #0]
-    1b8e:	f7ff fe6d	bl	0x186c
-    1b92:	e7df		b	0x1b54
-    1b94:	4668		mov	r0, sp
-    1b96:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b98:	a905		add	r1, sp, #20	; 0x14
-    1b9a:	f7ff feab	bl	0x18f4
-    1b9e:	e7d9		b	0x1b54
-    1ba0:	4850		ldr	r0, =0x83ff20	; via 0x1ce4
-    1ba2:	6800		ldr	r0, [r0, #0]
-    1ba4:	2800		cmp	r0, #0
-    1ba6:	d0ce		beq	0x1b46
-    1ba8:	3801		sub	r0, #1
-    1baa:	2800		cmp	r0, #0
-    1bac:	d0d4		beq	0x1b58
-    1bae:	3801		sub	r0, #1
-    1bb0:	2800		cmp	r0, #0
-    1bb2:	d0d7		beq	0x1b64
-    1bb4:	3801		sub	r0, #1
-    1bb6:	2800		cmp	r0, #0
-    1bb8:	d0da		beq	0x1b70
-    1bba:	3801		sub	r0, #1
-    1bbc:	2800		cmp	r0, #0
-    1bbe:	d0dd		beq	0x1b7c
-    1bc0:	3801		sub	r0, #1
-    1bc2:	2800		cmp	r0, #0
-    1bc4:	d0df		beq	0x1b86
-    1bc6:	3801		sub	r0, #1
-    1bc8:	2800		cmp	r0, #0
-    1bca:	d0e3		beq	0x1b94
-    1bcc:	9804		ldr	r0, [sp, #16]	; 0x10
-    1bce:	2800		cmp	r0, #0
-    1bd0:	d1a3		bne	0x1b1a
-    1bd2:	9805		ldr	r0, [sp, #20]	; 0x14
-    1bd4:	b006		add	sp, #24	; 0x18
-    1bd6:	bd00		pop	{pc}
-    1bd8:	4942		ldr	r1, =0x83ff20	; via 0x1ce4
-    1bda:	2001		mov	r0, #1
-    1bdc:	6008		str	r0, [r1, #0]
-    1bde:	4842		ldr	r0, =0x83ff1b	; via 0x1ce8
-    1be0:	2100		mov	r1, #0
-    1be2:	7001		strb	r1, [r0, #0]
-    1be4:	4841		ldr	r0, =0x83ff18	; via 0x1cec
-    1be6:	7001		strb	r1, [r0, #0]
-    1be8:	4770		bx	lr
-    1bea:	46c0		nop			(mov r8, r8)
-    1bec:	ff14		<half-bl>
-    1bee:	0083		lsl	r3, r0, #2
-    1bf0:	b081		sub	sp, #4
-    1bf2:	483f		ldr	r0, =0xffff5800	; via 0x1cf0
-    1bf4:	9000		str	r0, [sp, #0]
-    1bf6:	493f		ldr	r1, =0xffff6000	; via 0x1cf4
-    1bf8:	2002		mov	r0, #2
-    1bfa:	880a		ldrh	r2, [r1, #0]
-    1bfc:	4310		orr	r0, r2
-    1bfe:	8008		strh	r0, [r1, #0]
-    1c00:	483c		ldr	r0, =0xffff6000	; via 0x1cf4
-    1c02:	8801		ldrh	r1, [r0, #0]
-    1c04:	0849		lsr	r1, r1, #1
-    1c06:	0049		lsl	r1, r1, #1
-    1c08:	8001		strh	r1, [r0, #0]
-    1c0a:	493a		ldr	r1, =0xffff6000	; via 0x1cf4
-    1c0c:	8808		ldrh	r0, [r1, #0]
-    1c0e:	2202		mov	r2, #2
-    1c10:	4390		bic	r0, r2
-    1c12:	8008		strh	r0, [r1, #0]
-    1c14:	9900		ldr	r1, [sp, #0]
-    1c16:	2007		mov	r0, #7
-    1c18:	7208		strb	r0, [r1, #8]
-    1c1a:	9900		ldr	r1, [sp, #0]
-    1c1c:	20bf		mov	r0, #191	; 0xbf
-    1c1e:	70c8		strb	r0, [r1, #3]
-    1c20:	9800		ldr	r0, [sp, #0]
-    1c22:	1c81		add	r1, r0, #2
-    1c24:	2010		mov	r0, #16	; 0x10
-    1c26:	880a		ldrh	r2, [r1, #0]
-    1c28:	4310		orr	r0, r2
-    1c2a:	8008		strh	r0, [r1, #0]
-    1c2c:	9800		ldr	r0, [sp, #0]
-    1c2e:	2180		mov	r1, #128	; 0x80
-    1c30:	70c1		strb	r1, [r0, #3]
-    1c32:	9800		ldr	r0, [sp, #0]
-    1c34:	2107		mov	r1, #7
-    1c36:	7081		strb	r1, [r0, #2]
-    1c38:	9800		ldr	r0, [sp, #0]
-    1c3a:	21bf		mov	r1, #191	; 0xbf
-    1c3c:	70c1		strb	r1, [r0, #3]
-    1c3e:	9800		ldr	r0, [sp, #0]
-    1c40:	2107		mov	r1, #7
-    1c42:	7001		strb	r1, [r0, #0]
-    1c44:	9800		ldr	r0, [sp, #0]
-    1c46:	2100		mov	r1, #0
-    1c48:	7041		strb	r1, [r0, #1]
-    1c4a:	9800		ldr	r0, [sp, #0]
-    1c4c:	2103		mov	r1, #3
-    1c4e:	70c1		strb	r1, [r0, #3]
-    1c50:	9800		ldr	r0, [sp, #0]
-    1c52:	2100		mov	r1, #0
-    1c54:	7201		strb	r1, [r0, #8]
-    1c56:	4828		ldr	r0, =0xffff5000	; via 0x1cf8
-    1c58:	9000		str	r0, [sp, #0]
-    1c5a:	9800		ldr	r0, [sp, #0]
-    1c5c:	2107		mov	r1, #7
-    1c5e:	7201		strb	r1, [r0, #8]
-    1c60:	9900		ldr	r1, [sp, #0]
-    1c62:	20bf		mov	r0, #191	; 0xbf
-    1c64:	70c8		strb	r0, [r1, #3]
-    1c66:	9800		ldr	r0, [sp, #0]
-    1c68:	1c80		add	r0, r0, #2
-    1c6a:	2110		mov	r1, #16	; 0x10
-    1c6c:	8802		ldrh	r2, [r0, #0]
-    1c6e:	4311		orr	r1, r2
-    1c70:	8001		strh	r1, [r0, #0]
-    1c72:	9800		ldr	r0, [sp, #0]
-    1c74:	2180		mov	r1, #128	; 0x80
-    1c76:	70c1		strb	r1, [r0, #3]
-    1c78:	9800		ldr	r0, [sp, #0]
-    1c7a:	2107		mov	r1, #7
-    1c7c:	7081		strb	r1, [r0, #2]
-    1c7e:	9800		ldr	r0, [sp, #0]
-    1c80:	21bf		mov	r1, #191	; 0xbf
-    1c82:	70c1		strb	r1, [r0, #3]
-    1c84:	9800		ldr	r0, [sp, #0]
-    1c86:	2107		mov	r1, #7
-    1c88:	7001		strb	r1, [r0, #0]
-    1c8a:	9800		ldr	r0, [sp, #0]
-    1c8c:	2100		mov	r1, #0
-    1c8e:	7041		strb	r1, [r0, #1]
-    1c90:	9900		ldr	r1, [sp, #0]
-    1c92:	2003		mov	r0, #3
-    1c94:	70c8		strb	r0, [r1, #3]
-    1c96:	9800		ldr	r0, [sp, #0]
-    1c98:	2100		mov	r1, #0
-    1c9a:	7201		strb	r1, [r0, #8]
-    1c9c:	b001		add	sp, #4
-    1c9e:	4770		bx	lr
-    1ca0:	b081		sub	sp, #4
-    1ca2:	4669		mov	r1, sp
-    1ca4:	7008		strb	r0, [r1, #0]
-    1ca6:	490c		ldr	r1, =0x864	; via 0x1cd8
-    1ca8:	4668		mov	r0, sp
-    1caa:	7800		ldrb	r0, [r0, #0]
-    1cac:	0080		lsl	r0, r0, #2
-    1cae:	5808		ldr	r0, [r1, r0]
-    1cb0:	7941		ldrb	r1, [r0, #5]
-    1cb2:	4668		mov	r0, sp
-    1cb4:	7041		strb	r1, [r0, #1]
-    1cb6:	7840		ldrb	r0, [r0, #1]
-    1cb8:	09c0		lsr	r0, r0, #7
-    1cba:	d20b		bcs	0x1cd4
-    1cbc:	4806		ldr	r0, =0x864	; via 0x1cd8
-    1cbe:	4669		mov	r1, sp
-    1cc0:	7809		ldrb	r1, [r1, #0]
-    1cc2:	0089		lsl	r1, r1, #2
-    1cc4:	5840		ldr	r0, [r0, r1]
-    1cc6:	7940		ldrb	r0, [r0, #5]
-    1cc8:	4669		mov	r1, sp
-    1cca:	7048		strb	r0, [r1, #1]
-    1ccc:	4668		mov	r0, sp
-    1cce:	7840		ldrb	r0, [r0, #1]
-    1cd0:	09c0		lsr	r0, r0, #7
-    1cd2:	d3f3		bcc	0x1cbc
-    1cd4:	b001		add	sp, #4
-    1cd6:	4770		bx	lr
-    1cd8:	0864		lsr	r4, r4, #1
-    1cda:	0000		lsl	r0, r0, #0
-    1cdc:	5805		ldr	r5, [r0, r0]
-    1cde:	ffff		<half-bl>
-    1ce0:	5005		str	r5, [r0, r0]
-    1ce2:	ffff		<half-bl>
-    1ce4:	ff20		<half-bl>
-    1ce6:	0083		lsl	r3, r0, #2
-    1ce8:	ff1b		<half-bl>
-    1cea:	0083		lsl	r3, r0, #2
-    1cec:	ff18		<half-bl>
-    1cee:	0083		lsl	r3, r0, #2
-    1cf0:	5800		ldr	r0, [r0, r0]
-    1cf2:	ffff		<half-bl>
-    1cf4:	6000		str	r0, [r0, #0]
-    1cf6:	ffff		<half-bl>
-    1cf8:	5000		str	r0, [r0, r0]
-    1cfa:	ffff		<half-bl>
-    1cfc:	b500		push	{lr}
-    1cfe:	b087		sub	sp, #28	; 0x1c
-    1d00:	466b		mov	r3, sp
-    1d02:	721a		strb	r2, [r3, #8]
-    1d04:	9101		str	r1, [sp, #4]
-    1d06:	9000		str	r0, [sp, #0]
-    1d08:	9900		ldr	r1, [sp, #0]
-    1d0a:	2000		mov	r0, #0
-    1d0c:	8008		strh	r0, [r1, #0]
-    1d0e:	9801		ldr	r0, [sp, #4]
-    1d10:	2100		mov	r1, #0
-    1d12:	8001		strh	r1, [r0, #0]
-    1d14:	2000		mov	r0, #0
-    1d16:	9003		str	r0, [sp, #12]	; 0xc
-    1d18:	f7ff ff5e	bl	0x1bd8
-    1d1c:	a805		add	r0, sp, #20	; 0x14
-    1d1e:	a906		add	r1, sp, #24	; 0x18
-    1d20:	466a		mov	r2, sp
-    1d22:	7a12		ldrb	r2, [r2, #8]
-    1d24:	f7ff feee	bl	0x1b04
-    1d28:	9004		str	r0, [sp, #16]	; 0x10
-    1d2a:	9804		ldr	r0, [sp, #16]	; 0x10
-    1d2c:	2800		cmp	r0, #0
-    1d2e:	d11f		bne	0x1d70
-    1d30:	9803		ldr	r0, [sp, #12]	; 0xc
-    1d32:	2800		cmp	r0, #0
-    1d34:	d11c		bne	0x1d70
-    1d36:	9800		ldr	r0, [sp, #0]
-    1d38:	4669		mov	r1, sp
-    1d3a:	8b0a		ldrh	r2, [r1, #24]	; 0x18
-    1d3c:	8801		ldrh	r1, [r0, #0]
-    1d3e:	1851		add	r1, r2, r1
-    1d40:	8001		strh	r1, [r0, #0]
-    1d42:	9905		ldr	r1, [sp, #20]	; 0x14
-    1d44:	4668		mov	r0, sp
-    1d46:	8b00		ldrh	r0, [r0, #24]	; 0x18
-    1d48:	8008		strh	r0, [r1, #0]
-    1d4a:	9801		ldr	r0, [sp, #4]
-    1d4c:	9905		ldr	r1, [sp, #20]	; 0x14
-    1d4e:	8809		ldrh	r1, [r1, #0]
-    1d50:	8802		ldrh	r2, [r0, #0]
-    1d52:	1889		add	r1, r1, r2
-    1d54:	8001		strh	r1, [r0, #0]
-    1d56:	a805		add	r0, sp, #20	; 0x14
-    1d58:	a906		add	r1, sp, #24	; 0x18
-    1d5a:	466a		mov	r2, sp
-    1d5c:	7a12		ldrb	r2, [r2, #8]
-    1d5e:	f7ff fed1	bl	0x1b04
-    1d62:	9004		str	r0, [sp, #16]	; 0x10
-    1d64:	9804		ldr	r0, [sp, #16]	; 0x10
-    1d66:	2800		cmp	r0, #0
-    1d68:	d102		bne	0x1d70
-    1d6a:	9803		ldr	r0, [sp, #12]	; 0xc
-    1d6c:	2800		cmp	r0, #0
-    1d6e:	d0e2		beq	0x1d36
-    1d70:	9804		ldr	r0, [sp, #16]	; 0x10
-    1d72:	2801		cmp	r0, #1
-    1d74:	d101		bne	0x1d7a
-    1d76:	2004		mov	r0, #4
-    1d78:	9003		str	r0, [sp, #12]	; 0xc
-    1d7a:	9803		ldr	r0, [sp, #12]	; 0xc
-    1d7c:	b007		add	sp, #28	; 0x1c
-    1d7e:	bd00		pop	{pc}
-    1d80:	b089		sub	sp, #36	; 0x24
-    1d82:	201a		mov	r0, #26	; 0x1a
-    1d84:	9005		str	r0, [sp, #20]	; 0x14
-    1d86:	2018		mov	r0, #24	; 0x18
-    1d88:	9006		str	r0, [sp, #24]	; 0x18
-    1d8a:	2000		mov	r0, #0
-    1d8c:	9008		str	r0, [sp, #32]	; 0x20
-    1d8e:	4669		mov	r1, sp
-    1d90:	9805		ldr	r0, [sp, #20]	; 0x14
-    1d92:	8800		ldrh	r0, [r0, #0]
-    1d94:	8008		strh	r0, [r1, #0]
-    1d96:	9806		ldr	r0, [sp, #24]	; 0x18
-    1d98:	8800		ldrh	r0, [r0, #0]
-    1d9a:	8048		strh	r0, [r1, #2]
-    1d9c:	4668		mov	r0, sp
-    1d9e:	8841		ldrh	r1, [r0, #2]
-    1da0:	8800		ldrh	r0, [r0, #0]
-    1da2:	0400		lsl	r0, r0, #16
-    1da4:	1808		add	r0, r1, r0
-    1da6:	9001		str	r0, [sp, #4]
-    1da8:	9801		ldr	r0, [sp, #4]
-    1daa:	0200		lsl	r0, r0, #8
-    1dac:	0a00		lsr	r0, r0, #8
-    1dae:	0080		lsl	r0, r0, #2
-    1db0:	3008		add	r0, #8
-    1db2:	9007		str	r0, [sp, #28]	; 0x1c
-    1db4:	9807		ldr	r0, [sp, #28]	; 0x1c
-    1db6:	3018		add	r0, #24	; 0x18
-    1db8:	9002		str	r0, [sp, #8]
-    1dba:	9802		ldr	r0, [sp, #8]
-    1dbc:	9004		str	r0, [sp, #16]	; 0x10
-    1dbe:	9802		ldr	r0, [sp, #8]
-    1dc0:	3002		add	r0, #2
-    1dc2:	9003		str	r0, [sp, #12]	; 0xc
-    1dc4:	9803		ldr	r0, [sp, #12]	; 0xc
-    1dc6:	8801		ldrh	r1, [r0, #0]
-    1dc8:	4806		ldr	r0, =0xffff	; via 0x1de4
-    1dca:	4281		cmp	r1, r0
-    1dcc:	d104		bne	0x1dd8
-    1dce:	9804		ldr	r0, [sp, #16]	; 0x10
-    1dd0:	8800		ldrh	r0, [r0, #0]
-    1dd2:	4904		ldr	r1, =0xffff	; via 0x1de4
-    1dd4:	4288		cmp	r0, r1
-    1dd6:	d001		beq	0x1ddc
-    1dd8:	2001		mov	r0, #1
-    1dda:	9008		str	r0, [sp, #32]	; 0x20
-    1ddc:	9808		ldr	r0, [sp, #32]	; 0x20
-    1dde:	b009		add	sp, #36	; 0x24
-    1de0:	4770		bx	lr
-    1de2:	46c0		nop			(mov r8, r8)
-
-    1de4:	0000ffff
-
-    1de8:	e92d4000	stmdb	sp!, {lr}
-    1dec:	e28fe001	add	lr, pc, #1
-    1df0:	e12fff1e	bx	lr
-    1df4:	f7fe fe6d	bl	0xad2
-    1df8:	4778		bx	pc
-    1dfa:	46c0		nop			(mov r8, r8)
-    1dfc:	e8bd8000	ldmia	sp!, {pc}
-
-<1E00-1EFF: all FFs>
-
-    1f00:	00000001
-
-<1F04-end: all FFs>
Binary file compal/c123-boot.bin has changed
--- a/compal/c123-boot.disasm	Sat Jan 14 06:09:25 2023 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2647 +0,0 @@
-RESET entry and exception vectors:
-       0:	ea000225	b	0x89c
-       4:	ea000825	b	0x20a0
-       8:	ea000825	b	0x20a4
-       c:	ea000825	b	0x20a8
-      10:	ea000825	b	0x20ac
-      14:	ea000825	b	0x20b0
-      18:	ea000825	b	0x20b4
-
-; magic words, vary by version
-      20:	44aa338a
-      24:	44aa338b
-      28:	44aa33b8
-      2c:	44aa33b9
-
-<30-7FF: all FFs>
-
-00000800:  42 4F 4F 54 2E 39 30 2E  30 34 00 00 00 00 00 00  BOOT.90.04......
-00000810:  31 30 30 33 01 01 00 00  FF FF FF FF FF FF FF FF  1003............
-00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................
-
-; everything up to 0x958 is the same as in the C139 version
-     830:	00000006
-     834:	00000000
-     838:	00000000
-     83c:	00000048
-     840:	00000044
-     844:	00000052
-     848:	0000001b
-     84c:	00000005
-     850:	00000000
-     854:	00000000
-     858:	00000000
-     85c:	00000000
-     860:	000000fa
-     864:	ffff5800
-     868:	ffff5000
-     86c:	fffffb00
-     870:	02a102a1
-     874:	028302a1
-     878:	00c00281
-     87c:	002a0040
-     880:	00000040
-     884:	fffffd00
-     888:	ffff9800
-     88c:	fffffb10
-     890:	ffffff08
-     894:	20061081
-     898:	00000800
-
-; RESET entry point
-     89c:	e51f1020	ldr	r1, =0xfffffd00	; via 0x884
-     8a0:	e1d120b2	ldrh	r2, [r1, #2]
-     8a4:	e51f002c	ldr	r0, =0x40	; via 0x880
-     8a8:	e1800002	orr	r0, r0, r2
-     8ac:	e1c100b2	strh	r0, [r1, #2]
-     8b0:	e51f1030	ldr	r1, =0xffff9800	; via 0x888
-     8b4:	e15f22b6	ldrh	r2, =0x2006	; via 0x896
-     8b8:	e1c120b0	strh	r2, [r1]
-     8bc:	e5912000	ldr	r2, [r1]
-     8c0:	e2022001	and	r2, r2, #1
-     8c4:	e3520001	cmp	r2, #1
-     8c8:	0afffffb	beq	0x8bc
-     8cc:	e51f1050	ldr	r1, =0xfffffd00	; via 0x884
-     8d0:	e15f24b4	ldrh	r2, =0x1081	; via 0x894
-     8d4:	e1c120b0	strh	r2, [r1]
-     8d8:	e51f1054	ldr	r1, =0xfffffb10	; via 0x88c
-     8dc:	e15f24bc	ldrh	r2, =0x800	; via 0x898
-     8e0:	e1d100b0	ldrh	r0, [r1]
-     8e4:	e1800002	orr	r0, r0, r2
-     8e8:	e1c100b0	strh	r0, [r1]
-     8ec:	e51f1064	ldr	r1, =0xffffff08	; via 0x890
-     8f0:	e15f25be	ldrh	r2, =0x0	; via 0x89a
-     8f4:	e1c120b0	strh	r2, [r1]
-     8f8:	e51f1094	ldr	r1, =0xfffffb00	; via 0x86c
-     8fc:	e15f29b4	ldrh	r2, =0x2a1	; via 0x870
-     900:	e1c120b0	strh	r2, [r1]
-     904:	e15f29ba	ldrh	r2, =0x2a1	; via 0x872
-     908:	e1c120b2	strh	r2, [r1, #2]
-     90c:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x874
-     910:	e1c120b4	strh	r2, [r1, #4]
-     914:	e15f2ab6	ldrh	r2, =0x283	; via 0x876
-     918:	e1c120b6	strh	r2, [r1, #6]
-     91c:	e15f2abc	ldrh	r2, =0x281	; via 0x878
-     920:	e1c120ba	strh	r2, [r1, #10]	; 0xa
-     924:	e15f2bb2	ldrh	r2, =0xc0	; via 0x87a
-     928:	e1c120bc	strh	r2, [r1, #12]	; 0xc
-     92c:	e15f2bb8	ldrh	r2, =0x40	; via 0x87c
-     930:	e1c120b8	strh	r2, [r1, #8]
-     934:	e15f2bbe	ldrh	r2, =0x2a	; via 0x87e
-     938:	e1c120be	strh	r2, [r1, #14]	; 0xe
-     93c:	e59f0020	ldr	r0, =0x83e424	; via 0x964
-     940:	e3a01b01	mov	r1, #1024	; 0x400
-     944:	e2411004	sub	r1, r1, #4
-     948:	e0802001	add	r2, r0, r1
-     94c:	e3c22003	bic	r2, r2, #3
-     950:	e1a0d002	mov	sp, r2
-; business logic
-     954:	e92d100f	stmdb	sp!, {r0, r1, r2, r3, r12}
-     958:	eb00051e	bl	0x1dd8
-     95c:	e8bd100f	ldmia	sp!, {r0, r1, r2, r3, r12}
-     960:	ea0005e4	b	0x20f8
-
-; stack address, varies by version
-     964:	0083e424
-
-; 0x968 routine same as in the C139 version
-     968:	4961		ldr	r1, =0xfffffa08	; via 0xaf0
-     96a:	4862		ldr	r0, =0xffff	; via 0xaf4
-     96c:	8008		strh	r0, [r1, #0]
-     96e:	4862		ldr	r0, =0xfffffa0a	; via 0xaf8
-     970:	211f		mov	r1, #31	; 0x1f
-     972:	8001		strh	r1, [r0, #0]
-     974:	4861		ldr	r0, =0xfffff804	; via 0xafc
-     976:	21f5		mov	r1, #245	; 0xf5
-     978:	8001		strh	r1, [r0, #0]
-     97a:	21a0		mov	r1, #160	; 0xa0
-     97c:	8001		strh	r1, [r0, #0]
-     97e:	4860		ldr	r0, =0xffff9800	; via 0xb00
-     980:	4960		ldr	r1, =0x2002	; via 0xb04
-     982:	8001		strh	r1, [r0, #0]
-     984:	485e		ldr	r0, =0xffff9800	; via 0xb00
-     986:	8800		ldrh	r0, [r0, #0]
-     988:	0840		lsr	r0, r0, #1
-     98a:	d2fb		bcs	0x984
-     98c:	495e		ldr	r1, =0xfffffd00	; via 0xb08
-     98e:	485f		ldr	r0, =0x1001	; via 0xb0c
-     990:	8008		strh	r0, [r1, #0]
-     992:	46f7		mov	pc, lr
-
-     994:	b500		push	{lr}
-     996:	b0ff		sub	sp, #508	; 0x1fc
-     998:	b0ca		sub	sp, #296	; 0x128
-     99a:	2000		mov	r0, #0
-     99c:	9001		str	r0, [sp, #4]
-     99e:	9801		ldr	r0, [sp, #4]
-     9a0:	2800		cmp	r0, #0
-     9a2:	d14e		bne	0xa42
-     9a4:	a846		add	r0, sp, #280	; 0x118
-     9a6:	2100		mov	r1, #0
-     9a8:	f001 f842	bl	0x1a30
-     9ac:	a9c8		add	r1, sp, #800	; 0x320
-     9ae:	7008		strb	r0, [r1, #0]
-     9b0:	a846		add	r0, sp, #280	; 0x118
-     9b2:	a902		add	r1, sp, #8
-     9b4:	f000 fb00	bl	0xfb8
-     9b8:	9000		str	r0, [sp, #0]
-     9ba:	9800		ldr	r0, [sp, #0]
-     9bc:	2800		cmp	r0, #0
-     9be:	d01b		beq	0x9f8
-     9c0:	a924		add	r1, sp, #144	; 0x90
-     9c2:	4668		mov	r0, sp
-     9c4:	7a00		ldrb	r0, [r0, #8]
-     9c6:	7008		strb	r0, [r1, #0]
-     9c8:	2191		mov	r1, #145	; 0x91
-     9ca:	466a		mov	r2, sp
-     9cc:	4668		mov	r0, sp
-     9ce:	7800		ldrb	r0, [r0, #0]
-     9d0:	5488		strb	r0, [r1, r2]
-     9d2:	e01b		b	0xa0c
-     9d4:	a802		add	r0, sp, #8
-     9d6:	a924		add	r1, sp, #144	; 0x90
-     9d8:	f000 fddc	bl	0x1594
-     9dc:	e016		b	0xa0c
-     9de:	a802		add	r0, sp, #8
-     9e0:	a924		add	r1, sp, #144	; 0x90
-     9e2:	aac8		add	r2, sp, #800	; 0x320
-     9e4:	7812		ldrb	r2, [r2, #0]
-     9e6:	f000 fde9	bl	0x15bc
-     9ea:	e00f		b	0xa0c
-     9ec:	a802		add	r0, sp, #8
-     9ee:	a924		add	r1, sp, #144	; 0x90
-     9f0:	f000 fe1b	bl	0x162a
-     9f4:	90c7		str	r0, [sp, #796]	; 0x31c
-     9f6:	e009		b	0xa0c
-     9f8:	4668		mov	r0, sp
-     9fa:	7a00		ldrb	r0, [r0, #8]
-     9fc:	2800		cmp	r0, #0
-     9fe:	d0e9		beq	0x9d4
-     a00:	3809		sub	r0, #9
-     a02:	2800		cmp	r0, #0
-     a04:	d0eb		beq	0x9de
-     a06:	3801		sub	r0, #1
-     a08:	2800		cmp	r0, #0
-     a0a:	d0ef		beq	0x9ec
-     a0c:	a824		add	r0, sp, #144	; 0x90
-     a0e:	a986		add	r1, sp, #536	; 0x218
-     a10:	f000 fbb5	bl	0x117e
-     a14:	2800		cmp	r0, #0
-     a16:	d111		bne	0xa3c
-     a18:	a886		add	r0, sp, #536	; 0x218
-     a1a:	a9c8		add	r1, sp, #800	; 0x320
-     a1c:	7809		ldrb	r1, [r1, #0]
-     a1e:	f000 ffdc	bl	0x19da
-     a22:	2800		cmp	r0, #0
-     a24:	d00a		beq	0xa3c
-     a26:	4668		mov	r0, sp
-     a28:	7a00		ldrb	r0, [r0, #8]
-     a2a:	280a		cmp	r0, #10	; 0xa
-     a2c:	d106		bne	0xa3c
-     a2e:	a8c8		add	r0, sp, #800	; 0x320
-     a30:	7800		ldrb	r0, [r0, #0]
-     a32:	f001 f92d	bl	0x1c90
-     a36:	98c7		ldr	r0, [sp, #796]	; 0x31c
-     a38:	f000 fabc	bl	0xfb4
-     a3c:	9801		ldr	r0, [sp, #4]
-     a3e:	2800		cmp	r0, #0
-     a40:	d0b0		beq	0x9a4
-     a42:	b07f		add	sp, #508	; 0x1fc
-     a44:	b04a		add	sp, #296	; 0x128
-     a46:	bd00		pop	{pc}
-
-     a48:	b500		push	{lr}
-     a4a:	b0ff		sub	sp, #508	; 0x1fc
-     a4c:	b0c8		sub	sp, #288	; 0x120
-     a4e:	2000		mov	r0, #0
-     a50:	9000		str	r0, [sp, #0]
-     a52:	a846		add	r0, sp, #280	; 0x118
-     a54:	2101		mov	r1, #1
-     a56:	f000 ffeb	bl	0x1a30
-     a5a:	a9c6		add	r1, sp, #792	; 0x318
-     a5c:	7008		strb	r0, [r1, #0]
-     a5e:	a8c6		add	r0, sp, #792	; 0x318
-     a60:	7800		ldrb	r0, [r0, #0]
-     a62:	28ff		cmp	r0, #255	; 0xff
-     a64:	d031		beq	0xaca
-     a66:	a846		add	r0, sp, #280	; 0x118
-     a68:	a902		add	r1, sp, #8
-     a6a:	f000 faa5	bl	0xfb8
-     a6e:	9001		str	r0, [sp, #4]
-     a70:	9801		ldr	r0, [sp, #4]
-     a72:	2800		cmp	r0, #0
-     a74:	d014		beq	0xaa0
-     a76:	a924		add	r1, sp, #144	; 0x90
-     a78:	4668		mov	r0, sp
-     a7a:	7a00		ldrb	r0, [r0, #8]
-     a7c:	7008		strb	r0, [r1, #0]
-     a7e:	2291		mov	r2, #145	; 0x91
-     a80:	4668		mov	r0, sp
-     a82:	4669		mov	r1, sp
-     a84:	7909		ldrb	r1, [r1, #4]
-     a86:	5411		strb	r1, [r2, r0]
-     a88:	a824		add	r0, sp, #144	; 0x90
-     a8a:	a986		add	r1, sp, #536	; 0x218
-     a8c:	f000 fb77	bl	0x117e
-     a90:	2800		cmp	r0, #0
-     a92:	d11a		bne	0xaca
-     a94:	a886		add	r0, sp, #536	; 0x218
-     a96:	a9c6		add	r1, sp, #792	; 0x318
-     a98:	7809		ldrb	r1, [r1, #0]
-     a9a:	f000 ff9e	bl	0x19da
-     a9e:	e014		b	0xaca
-     aa0:	4668		mov	r0, sp
-     aa2:	7a00		ldrb	r0, [r0, #8]
-     aa4:	2800		cmp	r0, #0
-     aa6:	d110		bne	0xaca
-     aa8:	a802		add	r0, sp, #8
-     aaa:	a924		add	r1, sp, #144	; 0x90
-     aac:	f000 fd72	bl	0x1594
-     ab0:	a824		add	r0, sp, #144	; 0x90
-     ab2:	a986		add	r1, sp, #536	; 0x218
-     ab4:	f000 fb63	bl	0x117e
-     ab8:	2800		cmp	r0, #0
-     aba:	d104		bne	0xac6
-     abc:	a886		add	r0, sp, #536	; 0x218
-     abe:	a9c6		add	r1, sp, #792	; 0x318
-     ac0:	7809		ldrb	r1, [r1, #0]
-     ac2:	f000 ff8a	bl	0x19da
-     ac6:	2001		mov	r0, #1
-     ac8:	9000		str	r0, [sp, #0]
-     aca:	9800		ldr	r0, [sp, #0]
-     acc:	b07f		add	sp, #508	; 0x1fc
-     ace:	b048		add	sp, #288	; 0x120
-     ad0:	bd00		pop	{pc}
-
-; Main entry routine at the same location as in the C139 version
-     ad2:	b500		push	{lr}
-     ad4:	b082		sub	sp, #8
-     ad6:	f7ff ff47	bl	0x968
-     ada:	f001 f881	bl	0x1be0
-     ade:	f000 fd47	bl	0x1570
-     ae2:	f000 f81f	bl	0xb24
-     ae6:	f000 f940	bl	0xd6a
-     aea:	b002		add	sp, #8
-     aec:	bd00		pop	{pc}
-     aee:	46c0		nop			(mov r8, r8)
-
-     af0:	fffffa08
-     af4:	0000ffff
-     af8:	fffffa0a
-     afc:	fffff804
-     b00:	ffff9800
-     b04:	00002002
-     b08:	fffffd00
-     b0c:	00001001
-
-     b10:	e3a0d502	mov	sp, #8388608	; 0x800000
-     b14:	e28dd802	add	sp, sp, #131072	; 0x20000
-     b18:	e28fe005	add	lr, pc, #5
-     b1c:	e12fff1e	bx	lr
-     b20:	e1a00000	mov	r0, r0
-
-; 0xb24 function appears to be the same as in the C139 version,
-; but calls 0xed4 instead of 0xf2c.
-     b24:	b500		push	{lr}
-     b26:	b082		sub	sp, #8
-     b28:	49e8		ldr	r1, =0x83ff00	; via 0xecc
-     b2a:	48e9		ldr	r0, =0xffff5800	; via 0xed0
-     b2c:	6008		str	r0, [r1, #0]
-     b2e:	2000		mov	r0, #0
-     b30:	2102		mov	r1, #2
-     b32:	f000 f9cf	bl	0xed4
-     b36:	2000		mov	r0, #0
-     b38:	9000		str	r0, [sp, #0]
-     b3a:	9900		ldr	r1, [sp, #0]
-     b3c:	2005		mov	r0, #5
-     b3e:	0300		lsl	r0, r0, #12
-     b40:	4281		cmp	r1, r0
-     b42:	d207		bcs	0xb54
-     b44:	9800		ldr	r0, [sp, #0]
-     b46:	3001		add	r0, #1
-     b48:	9000		str	r0, [sp, #0]
-     b4a:	9900		ldr	r1, [sp, #0]
-     b4c:	2005		mov	r0, #5
-     b4e:	0300		lsl	r0, r0, #12
-     b50:	4281		cmp	r1, r0
-     b52:	d3f7		bcc	0xb44
-     b54:	f000 f82a	bl	0xbac
-     b58:	2000		mov	r0, #0
-     b5a:	2107		mov	r1, #7
-     b5c:	f000 f9ba	bl	0xed4
-     b60:	2000		mov	r0, #0
-     b62:	9000		str	r0, [sp, #0]
-     b64:	9900		ldr	r1, [sp, #0]
-     b66:	2005		mov	r0, #5
-     b68:	0300		lsl	r0, r0, #12
-     b6a:	4281		cmp	r1, r0
-     b6c:	d207		bcs	0xb7e
-     b6e:	9800		ldr	r0, [sp, #0]
-     b70:	3001		add	r0, #1
-     b72:	9000		str	r0, [sp, #0]
-     b74:	9900		ldr	r1, [sp, #0]
-     b76:	2005		mov	r0, #5
-     b78:	0300		lsl	r0, r0, #12
-     b7a:	4281		cmp	r1, r0
-     b7c:	d3f7		bcc	0xb6e
-     b7e:	f000 f815	bl	0xbac
-     b82:	2000		mov	r0, #0
-     b84:	9001		str	r0, [sp, #4]
-     b86:	9000		str	r0, [sp, #0]
-     b88:	9900		ldr	r1, [sp, #0]
-     b8a:	2005		mov	r0, #5
-     b8c:	0400		lsl	r0, r0, #16
-     b8e:	4281		cmp	r1, r0
-     b90:	d20a		bcs	0xba8
-     b92:	9801		ldr	r0, [sp, #4]
-     b94:	3001		add	r0, #1
-     b96:	9001		str	r0, [sp, #4]
-     b98:	9800		ldr	r0, [sp, #0]
-     b9a:	3001		add	r0, #1
-     b9c:	9000		str	r0, [sp, #0]
-     b9e:	9900		ldr	r1, [sp, #0]
-     ba0:	2005		mov	r0, #5
-     ba2:	0400		lsl	r0, r0, #16
-     ba4:	4281		cmp	r1, r0
-     ba6:	d3f4		bcc	0xb92
-     ba8:	b002		add	sp, #8
-     baa:	bd00		pop	{pc}
-
-; serial download protocol
-     bac:	b500		push	{lr}
-     bae:	b086		sub	sp, #24	; 0x18
-     bb0:	48f3		ldr	r0, =0x800100	; via 0xf80
-     bb2:	9005		str	r0, [sp, #20]	; 0x14
-     bb4:	201b		mov	r0, #27	; 0x1b
-     bb6:	f000 f935	bl	0xe24
-     bba:	20f6		mov	r0, #246	; 0xf6
-     bbc:	f000 f932	bl	0xe24
-     bc0:	2002		mov	r0, #2
-     bc2:	f000 f92f	bl	0xe24
-     bc6:	2000		mov	r0, #0
-     bc8:	f000 f92c	bl	0xe24
-     bcc:	2041		mov	r0, #65	; 0x41
-     bce:	f000 f929	bl	0xe24
-     bd2:	2001		mov	r0, #1
-     bd4:	f000 f926	bl	0xe24
-     bd8:	2040		mov	r0, #64	; 0x40
-     bda:	f000 f923	bl	0xe24
-     bde:	2001		mov	r0, #1
-     be0:	0300		lsl	r0, r0, #12
-     be2:	f000 f937	bl	0xe54
-     be6:	281b		cmp	r0, #27	; 0x1b
-     be8:	d000		beq	0xbec
-     bea:	e0bc		b	0xd66
-     bec:	2001		mov	r0, #1
-     bee:	0300		lsl	r0, r0, #12
-     bf0:	f000 f930	bl	0xe54
-     bf4:	28f6		cmp	r0, #246	; 0xf6
-     bf6:	d000		beq	0xbfa
-     bf8:	e0b5		b	0xd66
-     bfa:	2001		mov	r0, #1
-     bfc:	0300		lsl	r0, r0, #12
-     bfe:	f000 f929	bl	0xe54
-     c02:	2802		cmp	r0, #2
-     c04:	d000		beq	0xc08
-     c06:	e0ae		b	0xd66
-     c08:	2001		mov	r0, #1
-     c0a:	0300		lsl	r0, r0, #12
-     c0c:	f000 f922	bl	0xe54
-     c10:	2800		cmp	r0, #0
-     c12:	d000		beq	0xc16
-     c14:	e0a7		b	0xd66
-     c16:	2001		mov	r0, #1
-     c18:	0300		lsl	r0, r0, #12
-     c1a:	f000 f91b	bl	0xe54
-     c1e:	2852		cmp	r0, #82	; 0x52
-     c20:	d000		beq	0xc24
-     c22:	e0a0		b	0xd66
-     c24:	2001		mov	r0, #1
-     c26:	0300		lsl	r0, r0, #12
-     c28:	f000 f914	bl	0xe54
-     c2c:	2801		cmp	r0, #1
-     c2e:	d000		beq	0xc32
-     c30:	e099		b	0xd66
-     c32:	2001		mov	r0, #1
-     c34:	0300		lsl	r0, r0, #12
-     c36:	f000 f90d	bl	0xe54
-     c3a:	2853		cmp	r0, #83	; 0x53
-     c3c:	d000		beq	0xc40
-     c3e:	e092		b	0xd66
-     c40:	201b		mov	r0, #27	; 0x1b
-     c42:	f000 f8ef	bl	0xe24
-     c46:	20f6		mov	r0, #246	; 0xf6
-     c48:	f000 f8ec	bl	0xe24
-     c4c:	2002		mov	r0, #2
-     c4e:	f000 f8e9	bl	0xe24
-     c52:	2000		mov	r0, #0
-     c54:	f000 f8e6	bl	0xe24
-     c58:	2041		mov	r0, #65	; 0x41
-     c5a:	f000 f8e3	bl	0xe24
-     c5e:	2002		mov	r0, #2
-     c60:	f000 f8e0	bl	0xe24
-     c64:	2043		mov	r0, #67	; 0x43
-     c66:	f000 f8dd	bl	0xe24
-     c6a:	2001		mov	r0, #1
-     c6c:	0300		lsl	r0, r0, #12
-     c6e:	f000 f8f1	bl	0xe54
-     c72:	4669		mov	r1, sp
-     c74:	7208		strb	r0, [r1, #8]
-     c76:	4668		mov	r0, sp
-     c78:	2102		mov	r1, #2
-     c7a:	7441		strb	r1, [r0, #17]	; 0x11
-     c7c:	2000		mov	r0, #0
-     c7e:	9000		str	r0, [sp, #0]
-     c80:	9800		ldr	r0, [sp, #0]
-     c82:	2802		cmp	r0, #2
-     c84:	d216		bcs	0xcb4
-     c86:	2001		mov	r0, #1
-     c88:	0300		lsl	r0, r0, #12
-     c8a:	f000 f8e3	bl	0xe54
-     c8e:	466a		mov	r2, sp
-     c90:	9900		ldr	r1, [sp, #0]
-     c92:	1a51		sub	r1, r2, r1
-     c94:	7348		strb	r0, [r1, #13]	; 0xd
-     c96:	4668		mov	r0, sp
-     c98:	9900		ldr	r1, [sp, #0]
-     c9a:	1a40		sub	r0, r0, r1
-     c9c:	7b40		ldrb	r0, [r0, #13]	; 0xd
-     c9e:	4669		mov	r1, sp
-     ca0:	7c49		ldrb	r1, [r1, #17]	; 0x11
-     ca2:	4048		eor	r0, r1
-     ca4:	4669		mov	r1, sp
-     ca6:	7448		strb	r0, [r1, #17]	; 0x11
-     ca8:	9800		ldr	r0, [sp, #0]
-     caa:	3001		add	r0, #1
-     cac:	9000		str	r0, [sp, #0]
-     cae:	9800		ldr	r0, [sp, #0]
-     cb0:	2802		cmp	r0, #2
-     cb2:	d3e8		bcc	0xc86
-     cb4:	4668		mov	r0, sp
-     cb6:	8980		ldrh	r0, [r0, #12]	; 0xc
-     cb8:	466a		mov	r2, sp
-     cba:	1e41		sub	r1, r0, #1
-     cbc:	8191		strh	r1, [r2, #12]	; 0xc
-     cbe:	2800		cmp	r0, #0
-     cc0:	d016		beq	0xcf0
-     cc2:	2001		mov	r0, #1
-     cc4:	0300		lsl	r0, r0, #12
-     cc6:	f000 f8c5	bl	0xe54
-     cca:	9905		ldr	r1, [sp, #20]	; 0x14
-     ccc:	7008		strb	r0, [r1, #0]
-     cce:	9805		ldr	r0, [sp, #20]	; 0x14
-     cd0:	7801		ldrb	r1, [r0, #0]
-     cd2:	4668		mov	r0, sp
-     cd4:	7c40		ldrb	r0, [r0, #17]	; 0x11
-     cd6:	4041		eor	r1, r0
-     cd8:	4668		mov	r0, sp
-     cda:	7441		strb	r1, [r0, #17]	; 0x11
-     cdc:	9805		ldr	r0, [sp, #20]	; 0x14
-     cde:	3001		add	r0, #1
-     ce0:	9005		str	r0, [sp, #20]	; 0x14
-     ce2:	4668		mov	r0, sp
-     ce4:	8982		ldrh	r2, [r0, #12]	; 0xc
-     ce6:	4669		mov	r1, sp
-     ce8:	1e50		sub	r0, r2, #1
-     cea:	8188		strh	r0, [r1, #12]	; 0xc
-     cec:	2a00		cmp	r2, #0
-     cee:	d1e8		bne	0xcc2
-     cf0:	2001		mov	r0, #1
-     cf2:	0300		lsl	r0, r0, #12
-     cf4:	f000 f8ae	bl	0xe54
-     cf8:	4669		mov	r1, sp
-     cfa:	7408		strb	r0, [r1, #16]	; 0x10
-     cfc:	4668		mov	r0, sp
-     cfe:	7c01		ldrb	r1, [r0, #16]	; 0x10
-     d00:	7c40		ldrb	r0, [r0, #17]	; 0x11
-     d02:	4281		cmp	r1, r0
-     d04:	d015		beq	0xd32
-     d06:	201b		mov	r0, #27	; 0x1b
-     d08:	f000 f88c	bl	0xe24
-     d0c:	20f6		mov	r0, #246	; 0xf6
-     d0e:	f000 f889	bl	0xe24
-     d12:	2002		mov	r0, #2
-     d14:	f000 f886	bl	0xe24
-     d18:	2000		mov	r0, #0
-     d1a:	f000 f883	bl	0xe24
-     d1e:	2045		mov	r0, #69	; 0x45
-     d20:	f000 f880	bl	0xe24
-     d24:	2053		mov	r0, #83	; 0x53
-     d26:	f000 f87d	bl	0xe24
-     d2a:	2016		mov	r0, #22	; 0x16
-     d2c:	f000 f87a	bl	0xe24
-     d30:	e019		b	0xd66
-     d32:	201b		mov	r0, #27	; 0x1b
-     d34:	f000 f876	bl	0xe24
-     d38:	20f6		mov	r0, #246	; 0xf6
-     d3a:	f000 f873	bl	0xe24
-     d3e:	2002		mov	r0, #2
-     d40:	f000 f870	bl	0xe24
-     d44:	2000		mov	r0, #0
-     d46:	f000 f86d	bl	0xe24
-     d4a:	2041		mov	r0, #65	; 0x41
-     d4c:	f000 f86a	bl	0xe24
-     d50:	2003		mov	r0, #3
-     d52:	f000 f867	bl	0xe24
-     d56:	2042		mov	r0, #66	; 0x42
-     d58:	f000 f864	bl	0xe24
-     d5c:	485b		ldr	r0, =0x83ff00	; via 0xecc
-     d5e:	6800		ldr	r0, [r0, #0]
-     d60:	498f		ldr	r1, =0x800100	; via 0xfa0
-     d62:	f000 f85e	bl	0xe22
-     d66:	b006		add	sp, #24	; 0x18
-     d68:	bd00		pop	{pc}
-
-     d6a:	b500		push	{lr}
-     d6c:	b081		sub	sp, #4
-     d6e:	2066		mov	r0, #102	; 0x66
-     d70:	f000 f858	bl	0xe24
-     d74:	2074		mov	r0, #116	; 0x74
-     d76:	f000 f855	bl	0xe24
-     d7a:	206d		mov	r0, #109	; 0x6d
-     d7c:	f000 f852	bl	0xe24
-     d80:	2074		mov	r0, #116	; 0x74
-     d82:	f000 f84f	bl	0xe24
-     d86:	206f		mov	r0, #111	; 0x6f
-     d88:	f000 f84c	bl	0xe24
-     d8c:	206f		mov	r0, #111	; 0x6f
-     d8e:	f000 f849	bl	0xe24
-     d92:	206c		mov	r0, #108	; 0x6c
-     d94:	f000 f846	bl	0xe24
-     d98:	4982		ldr	r1, =0x83ff80	; via 0xfa4
-     d9a:	2000		mov	r0, #0
-     d9c:	7008		strb	r0, [r1, #0]
-     d9e:	9000		str	r0, [sp, #0]
-     da0:	9800		ldr	r0, [sp, #0]
-     da2:	0c00		lsr	r0, r0, #16
-     da4:	d105		bne	0xdb2
-     da6:	9800		ldr	r0, [sp, #0]
-     da8:	3001		add	r0, #1
-     daa:	9000		str	r0, [sp, #0]
-     dac:	9800		ldr	r0, [sp, #0]
-     dae:	0c00		lsr	r0, r0, #16
-     db0:	d0f9		beq	0xda6
-     db2:	2007		mov	r0, #7
-     db4:	0400		lsl	r0, r0, #16
-     db6:	f000 f84d	bl	0xe54
-     dba:	2879		cmp	r0, #121	; 0x79
-     dbc:	d10e		bne	0xddc
-     dbe:	2001		mov	r0, #1
-     dc0:	0300		lsl	r0, r0, #12
-     dc2:	f000 f847	bl	0xe54
-     dc6:	2865		cmp	r0, #101	; 0x65
-     dc8:	d108		bne	0xddc
-     dca:	2001		mov	r0, #1
-     dcc:	0300		lsl	r0, r0, #12
-     dce:	f000 f841	bl	0xe54
-     dd2:	2873		cmp	r0, #115	; 0x73
-     dd4:	d102		bne	0xddc
-     dd6:	4873		ldr	r0, =0x83ff80	; via 0xfa4
-     dd8:	2101		mov	r1, #1
-     dda:	7001		strb	r1, [r0, #0]
-     ddc:	f000 f8cc	bl	0xf78
-     de0:	2800		cmp	r0, #0
-     de2:	d00d		beq	0xe00
-     de4:	206d		mov	r0, #109	; 0x6d
-     de6:	f000 f81d	bl	0xe24
-     dea:	206f		mov	r0, #111	; 0x6f
-     dec:	f000 f81a	bl	0xe24
-     df0:	2064		mov	r0, #100	; 0x64
-     df2:	f000 f817	bl	0xe24
-     df6:	2065		mov	r0, #101	; 0x65
-     df8:	f000 f814	bl	0xe24
-     dfc:	206d		mov	r0, #109	; 0x6d
-     dfe:	e00c		b	0xe1a
-     e00:	2065		mov	r0, #101	; 0x65
-     e02:	f000 f80f	bl	0xe24
-     e06:	2072		mov	r0, #114	; 0x72
-     e08:	f000 f80c	bl	0xe24
-     e0c:	2072		mov	r0, #114	; 0x72
-     e0e:	f000 f809	bl	0xe24
-     e12:	206f		mov	r0, #111	; 0x6f
-     e14:	f000 f806	bl	0xe24
-     e18:	2072		mov	r0, #114	; 0x72
-     e1a:	f000 f803	bl	0xe24
-     e1e:	b001		add	sp, #4
-     e20:	bd00		pop	{pc}
-
-; corresponds to 0xe76 in the C139 version
-     e22:	4708		bx	r1
-
-; UART character output routine, corresponds to 0xe78 in the C139 version
-     e24:	b081		sub	sp, #4
-     e26:	4669		mov	r1, sp
-     e28:	7008		strb	r0, [r1, #0]
-     e2a:	4828		ldr	r0, =0x83ff00	; via 0xecc
-     e2c:	6800		ldr	r0, [r0, #0]
-     e2e:	7940		ldrb	r0, [r0, #5]
-     e30:	0980		lsr	r0, r0, #6
-     e32:	d3fa		bcc	0xe2a
-     e34:	4825		ldr	r0, =0x83ff00	; via 0xecc
-     e36:	6800		ldr	r0, [r0, #0]
-     e38:	4669		mov	r1, sp
-     e3a:	7809		ldrb	r1, [r1, #0]
-     e3c:	7001		strb	r1, [r0, #0]
-     e3e:	b001		add	sp, #4
-     e40:	46f7		mov	pc, lr
-
-     e42:	4822		ldr	r0, =0x83ff00	; via 0xecc
-     e44:	6800		ldr	r0, [r0, #0]
-     e46:	7940		ldrb	r0, [r0, #5]
-     e48:	0840		lsr	r0, r0, #1
-     e4a:	d3fa		bcc	0xe42
-     e4c:	481f		ldr	r0, =0x83ff00	; via 0xecc
-     e4e:	6800		ldr	r0, [r0, #0]
-     e50:	7800		ldrb	r0, [r0, #0]
-     e52:	4770		bx	lr
-
-; should correspond to 0xea8 in the C139 version
-     e54:	b083		sub	sp, #12	; 0xc
-     e56:	9000		str	r0, [sp, #0]
-     e58:	9800		ldr	r0, [sp, #0]
-     e5a:	9002		str	r0, [sp, #8]
-     e5c:	481b		ldr	r0, =0x83ff00	; via 0xecc
-     e5e:	6800		ldr	r0, [r0, #0]
-     e60:	7940		ldrb	r0, [r0, #5]
-     e62:	0840		lsr	r0, r0, #1
-     e64:	d20c		bcs	0xe80
-     e66:	9802		ldr	r0, [sp, #8]
-     e68:	3801		sub	r0, #1
-     e6a:	9002		str	r0, [sp, #8]
-     e6c:	9802		ldr	r0, [sp, #8]
-     e6e:	2800		cmp	r0, #0
-     e70:	d101		bne	0xe76
-     e72:	20ff		mov	r0, #255	; 0xff
-     e74:	e007		b	0xe86
-     e76:	4815		ldr	r0, =0x83ff00	; via 0xecc
-     e78:	6800		ldr	r0, [r0, #0]
-     e7a:	7940		ldrb	r0, [r0, #5]
-     e7c:	0840		lsr	r0, r0, #1
-     e7e:	d3f2		bcc	0xe66
-     e80:	4812		ldr	r0, =0x83ff00	; via 0xecc
-     e82:	6800		ldr	r0, [r0, #0]
-     e84:	7800		ldrb	r0, [r0, #0]
-     e86:	b003		add	sp, #12	; 0xc
-     e88:	4770		bx	lr
-
-     e8a:	b081		sub	sp, #4
-     e8c:	e001		b	0xe92
-     e8e:	9800		ldr	r0, [sp, #0]
-     e90:	3801		sub	r0, #1
-     e92:	9000		str	r0, [sp, #0]
-     e94:	480d		ldr	r0, =0x83ff00	; via 0xecc
-     e96:	6800		ldr	r0, [r0, #0]
-     e98:	7940		ldrb	r0, [r0, #5]
-     e9a:	0840		lsr	r0, r0, #1
-     e9c:	d202		bcs	0xea4
-     e9e:	9800		ldr	r0, [sp, #0]
-     ea0:	2800		cmp	r0, #0
-     ea2:	dcf4		bgt	0xe8e
-     ea4:	9800		ldr	r0, [sp, #0]
-     ea6:	2800		cmp	r0, #0
-     ea8:	dd01		ble	0xeae
-     eaa:	2000		mov	r0, #0
-     eac:	e000		b	0xeb0
-     eae:	2001		mov	r0, #1
-     eb0:	b001		add	sp, #4
-     eb2:	4770		bx	lr
-     eb4:	b082		sub	sp, #8
-     eb6:	9000		str	r0, [sp, #0]
-     eb8:	4669		mov	r1, sp
-     eba:	2000		mov	r0, #0
-     ebc:	7188		strb	r0, [r1, #6]
-     ebe:	9900		ldr	r1, [sp, #0]
-     ec0:	4839		ldr	r0, =0xfffef000	; via 0xfa8
-     ec2:	8800		ldrh	r0, [r0, #0]
-     ec4:	8008		strh	r0, [r1, #0]
-     ec6:	b002		add	sp, #8
-     ec8:	4770		bx	lr
-     eca:	46c0		nop			(mov r8, r8)
-
-     ecc:	0083ff00
-     ed0:	ffff5800
-
-; should be the same as 0xf2c in the C139 version
-     ed4:	b081		sub	sp, #4
-     ed6:	466a		mov	r2, sp
-     ed8:	7051		strb	r1, [r2, #1]
-     eda:	4669		mov	r1, sp
-     edc:	7008		strb	r0, [r1, #0]
-     ede:	4933		ldr	r1, =0xffff6000	; via 0xfac
-     ee0:	2002		mov	r0, #2
-     ee2:	880a		ldrh	r2, [r1, #0]
-     ee4:	4310		orr	r0, r2
-     ee6:	8008		strh	r0, [r1, #0]
-     ee8:	4830		ldr	r0, =0xffff6000	; via 0xfac
-     eea:	8801		ldrh	r1, [r0, #0]
-     eec:	0849		lsr	r1, r1, #1
-     eee:	0049		lsl	r1, r1, #1
-     ef0:	8001		strh	r1, [r0, #0]
-     ef2:	492e		ldr	r1, =0xffff6000	; via 0xfac
-     ef4:	8808		ldrh	r0, [r1, #0]
-     ef6:	2202		mov	r2, #2
-     ef8:	4390		bic	r0, r2
-     efa:	8008		strh	r0, [r1, #0]
-     efc:	482c		ldr	r0, =0x83ff00	; via 0xfb0
-     efe:	6801		ldr	r1, [r0, #0]
-     f00:	2007		mov	r0, #7
-     f02:	7208		strb	r0, [r1, #8]
-     f04:	482a		ldr	r0, =0x83ff00	; via 0xfb0
-     f06:	6801		ldr	r1, [r0, #0]
-     f08:	20bf		mov	r0, #191	; 0xbf
-     f0a:	70c8		strb	r0, [r1, #3]
-     f0c:	4828		ldr	r0, =0x83ff00	; via 0xfb0
-     f0e:	6800		ldr	r0, [r0, #0]
-     f10:	1c80		add	r0, r0, #2
-     f12:	2110		mov	r1, #16	; 0x10
-     f14:	8802		ldrh	r2, [r0, #0]
-     f16:	4311		orr	r1, r2
-     f18:	8001		strh	r1, [r0, #0]
-     f1a:	4825		ldr	r0, =0x83ff00	; via 0xfb0
-     f1c:	6801		ldr	r1, [r0, #0]
-     f1e:	2080		mov	r0, #128	; 0x80
-     f20:	70c8		strb	r0, [r1, #3]
-     f22:	4823		ldr	r0, =0x83ff00	; via 0xfb0
-     f24:	6800		ldr	r0, [r0, #0]
-     f26:	2107		mov	r1, #7
-     f28:	7081		strb	r1, [r0, #2]
-     f2a:	4821		ldr	r0, =0x83ff00	; via 0xfb0
-     f2c:	6800		ldr	r0, [r0, #0]
-     f2e:	21bf		mov	r1, #191	; 0xbf
-     f30:	70c1		strb	r1, [r0, #3]
-     f32:	481f		ldr	r0, =0x83ff00	; via 0xfb0
-     f34:	6801		ldr	r1, [r0, #0]
-     f36:	4668		mov	r0, sp
-     f38:	7840		ldrb	r0, [r0, #1]
-     f3a:	7008		strb	r0, [r1, #0]
-     f3c:	481c		ldr	r0, =0x83ff00	; via 0xfb0
-     f3e:	6801		ldr	r1, [r0, #0]
-     f40:	4668		mov	r0, sp
-     f42:	7800		ldrb	r0, [r0, #0]
-     f44:	7048		strb	r0, [r1, #1]
-     f46:	481a		ldr	r0, =0x83ff00	; via 0xfb0
-     f48:	6801		ldr	r1, [r0, #0]
-     f4a:	2003		mov	r0, #3
-     f4c:	70c8		strb	r0, [r1, #3]
-     f4e:	4818		ldr	r0, =0x83ff00	; via 0xfb0
-     f50:	6800		ldr	r0, [r0, #0]
-     f52:	2100		mov	r1, #0
-     f54:	7201		strb	r1, [r0, #8]
-     f56:	4816		ldr	r0, =0x83ff00	; via 0xfb0
-     f58:	6800		ldr	r0, [r0, #0]
-     f5a:	7940		ldrb	r0, [r0, #5]
-     f5c:	0840		lsr	r0, r0, #1
-     f5e:	d309		bcc	0xf74
-     f60:	4669		mov	r1, sp
-     f62:	4813		ldr	r0, =0x83ff00	; via 0xfb0
-     f64:	6800		ldr	r0, [r0, #0]
-     f66:	7800		ldrb	r0, [r0, #0]
-     f68:	7088		strb	r0, [r1, #2]
-     f6a:	4811		ldr	r0, =0x83ff00	; via 0xfb0
-     f6c:	6800		ldr	r0, [r0, #0]
-     f6e:	7940		ldrb	r0, [r0, #5]
-     f70:	0840		lsr	r0, r0, #1
-     f72:	d2f5		bcs	0xf60
-     f74:	b001		add	sp, #4
-     f76:	4770		bx	lr
-
-     f78:	480a		ldr	r0, =0x83ff80	; via 0xfa4
-     f7a:	7800		ldrb	r0, [r0, #0]
-     f7c:	4770		bx	lr
-     f7e:	46c0		nop			(mov r8, r8)
-
-     f80:	00800100
-
-     f84:	b500		push	{lr}
-     f86:	b081		sub	sp, #4
-     f88:	4669		mov	r1, sp
-     f8a:	7008		strb	r0, [r1, #0]
-     f8c:	4668		mov	r0, sp
-     f8e:	7800		ldrb	r0, [r0, #0]
-     f90:	f7ff ff48	bl	0xe24
-     f94:	b001		add	sp, #4
-     f96:	bd00		pop	{pc}
-     f98:	b500		push	{lr}
-     f9a:	f7ff ff52	bl	0xe42
-     f9e:	bd00		pop	{pc}
-     fa0:	0100		lsl	r0, r0, #4
-     fa2:	0080		lsl	r0, r0, #2
-     fa4:	ff80		<half-bl>
-     fa6:	0083		lsl	r3, r0, #2
-     fa8:	f000 fffe	bl	0x1fa8
-     fac:	6000		str	r0, [r0, #0]
-     fae:	ffff		<half-bl>
-     fb0:	ff00		<half-bl>
-     fb2:	0083		lsl	r3, r0, #2
-     fb4:	4700		bx	r0
-     fb6:	0000		lsl	r0, r0, #0
-     fb8:	b08c		sub	sp, #48	; 0x30
-     fba:	9101		str	r1, [sp, #4]
-     fbc:	9000		str	r0, [sp, #0]
-     fbe:	2000		mov	r0, #0
-     fc0:	9003		str	r0, [sp, #12]	; 0xc
-     fc2:	9800		ldr	r0, [sp, #0]
-     fc4:	7801		ldrb	r1, [r0, #0]
-     fc6:	3001		add	r0, #1
-     fc8:	9000		str	r0, [sp, #0]
-     fca:	9105		str	r1, [sp, #20]	; 0x14
-     fcc:	9800		ldr	r0, [sp, #0]
-     fce:	7801		ldrb	r1, [r0, #0]
-     fd0:	3001		add	r0, #1
-     fd2:	9000		str	r0, [sp, #0]
-     fd4:	9801		ldr	r0, [sp, #4]
-     fd6:	7001		strb	r1, [r0, #0]
-     fd8:	2001		mov	r0, #1
-     fda:	9004		str	r0, [sp, #16]	; 0x10
-     fdc:	e0a8		b	0x1130
-     fde:	9804		ldr	r0, [sp, #16]	; 0x10
-     fe0:	3002		add	r0, #2
-     fe2:	9004		str	r0, [sp, #16]	; 0x10
-     fe4:	9800		ldr	r0, [sp, #0]
-     fe6:	7801		ldrb	r1, [r0, #0]
-     fe8:	3001		add	r0, #1
-     fea:	9000		str	r0, [sp, #0]
-     fec:	4668		mov	r0, sp
-     fee:	8441		strh	r1, [r0, #34]	; 0x22
-     ff0:	9800		ldr	r0, [sp, #0]
-     ff2:	7801		ldrb	r1, [r0, #0]
-     ff4:	3001		add	r0, #1
-     ff6:	9000		str	r0, [sp, #0]
-     ff8:	4668		mov	r0, sp
-     ffa:	8401		strh	r1, [r0, #32]	; 0x20
-     ffc:	8c00		ldrh	r0, [r0, #32]	; 0x20
-     ffe:	4669		mov	r1, sp
-    1000:	8c49		ldrh	r1, [r1, #34]	; 0x22
-    1002:	0209		lsl	r1, r1, #8
-    1004:	1840		add	r0, r0, r1
-    1006:	9901		ldr	r1, [sp, #4]
-    1008:	8088		strh	r0, [r1, #4]
-    100a:	9804		ldr	r0, [sp, #16]	; 0x10
-    100c:	3001		add	r0, #1
-    100e:	9004		str	r0, [sp, #16]	; 0x10
-    1010:	9800		ldr	r0, [sp, #0]
-    1012:	7801		ldrb	r1, [r0, #0]
-    1014:	3001		add	r0, #1
-    1016:	9000		str	r0, [sp, #0]
-    1018:	4668		mov	r0, sp
-    101a:	7601		strb	r1, [r0, #24]	; 0x18
-    101c:	9901		ldr	r1, [sp, #4]
-    101e:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1020:	7188		strb	r0, [r1, #6]
-    1022:	4668		mov	r0, sp
-    1024:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1026:	2840		cmp	r0, #64	; 0x40
-    1028:	dc00		bgt	0x102c
-    102a:	e09f		b	0x116c
-    102c:	2004		mov	r0, #4
-    102e:	9003		str	r0, [sp, #12]	; 0xc
-    1030:	e09c		b	0x116c
-    1032:	9804		ldr	r0, [sp, #16]	; 0x10
-    1034:	3002		add	r0, #2
-    1036:	9004		str	r0, [sp, #16]	; 0x10
-    1038:	9800		ldr	r0, [sp, #0]
-    103a:	7801		ldrb	r1, [r0, #0]
-    103c:	3001		add	r0, #1
-    103e:	9000		str	r0, [sp, #0]
-    1040:	4668		mov	r0, sp
-    1042:	8441		strh	r1, [r0, #34]	; 0x22
-    1044:	9800		ldr	r0, [sp, #0]
-    1046:	7801		ldrb	r1, [r0, #0]
-    1048:	3001		add	r0, #1
-    104a:	9000		str	r0, [sp, #0]
-    104c:	4668		mov	r0, sp
-    104e:	8401		strh	r1, [r0, #32]	; 0x20
-    1050:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    1052:	4669		mov	r1, sp
-    1054:	8c49		ldrh	r1, [r1, #34]	; 0x22
-    1056:	0209		lsl	r1, r1, #8
-    1058:	1841		add	r1, r0, r1
-    105a:	9801		ldr	r0, [sp, #4]
-    105c:	8081		strh	r1, [r0, #4]
-    105e:	9804		ldr	r0, [sp, #16]	; 0x10
-    1060:	3001		add	r0, #1
-    1062:	9004		str	r0, [sp, #16]	; 0x10
-    1064:	9800		ldr	r0, [sp, #0]
-    1066:	7801		ldrb	r1, [r0, #0]
-    1068:	3001		add	r0, #1
-    106a:	9000		str	r0, [sp, #0]
-    106c:	4668		mov	r0, sp
-    106e:	7601		strb	r1, [r0, #24]	; 0x18
-    1070:	9901		ldr	r1, [sp, #4]
-    1072:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1074:	7188		strb	r0, [r1, #6]
-    1076:	4668		mov	r0, sp
-    1078:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    107a:	2840		cmp	r0, #64	; 0x40
-    107c:	dcd6		bgt	0x102c
-    107e:	9801		ldr	r0, [sp, #4]
-    1080:	3008		add	r0, #8
-    1082:	9007		str	r0, [sp, #28]	; 0x1c
-    1084:	2000		mov	r0, #0
-    1086:	9002		str	r0, [sp, #8]
-    1088:	9902		ldr	r1, [sp, #8]
-    108a:	4668		mov	r0, sp
-    108c:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    108e:	4281		cmp	r1, r0
-    1090:	da6c		bge	0x116c
-    1092:	9800		ldr	r0, [sp, #0]
-    1094:	7801		ldrb	r1, [r0, #0]
-    1096:	3001		add	r0, #1
-    1098:	9000		str	r0, [sp, #0]
-    109a:	4668		mov	r0, sp
-    109c:	84c1		strh	r1, [r0, #38]	; 0x26
-    109e:	9800		ldr	r0, [sp, #0]
-    10a0:	7801		ldrb	r1, [r0, #0]
-    10a2:	3001		add	r0, #1
-    10a4:	9000		str	r0, [sp, #0]
-    10a6:	4668		mov	r0, sp
-    10a8:	8481		strh	r1, [r0, #36]	; 0x24
-    10aa:	9807		ldr	r0, [sp, #28]	; 0x1c
-    10ac:	1c81		add	r1, r0, #2
-    10ae:	9107		str	r1, [sp, #28]	; 0x1c
-    10b0:	4669		mov	r1, sp
-    10b2:	8c89		ldrh	r1, [r1, #36]	; 0x24
-    10b4:	466a		mov	r2, sp
-    10b6:	8cd2		ldrh	r2, [r2, #38]	; 0x26
-    10b8:	0212		lsl	r2, r2, #8
-    10ba:	1889		add	r1, r1, r2
-    10bc:	8001		strh	r1, [r0, #0]
-    10be:	9804		ldr	r0, [sp, #16]	; 0x10
-    10c0:	3002		add	r0, #2
-    10c2:	9004		str	r0, [sp, #16]	; 0x10
-    10c4:	9802		ldr	r0, [sp, #8]
-    10c6:	3001		add	r0, #1
-    10c8:	9002		str	r0, [sp, #8]
-    10ca:	9902		ldr	r1, [sp, #8]
-    10cc:	4668		mov	r0, sp
-    10ce:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    10d0:	4281		cmp	r1, r0
-    10d2:	dbde		blt	0x1092
-    10d4:	e04a		b	0x116c
-    10d6:	9804		ldr	r0, [sp, #16]	; 0x10
-    10d8:	3002		add	r0, #2
-    10da:	9004		str	r0, [sp, #16]	; 0x10
-    10dc:	9800		ldr	r0, [sp, #0]
-    10de:	7801		ldrb	r1, [r0, #0]
-    10e0:	3001		add	r0, #1
-    10e2:	9000		str	r0, [sp, #0]
-    10e4:	4668		mov	r0, sp
-    10e6:	8501		strh	r1, [r0, #40]	; 0x28
-    10e8:	9800		ldr	r0, [sp, #0]
-    10ea:	7801		ldrb	r1, [r0, #0]
-    10ec:	3001		add	r0, #1
-    10ee:	9000		str	r0, [sp, #0]
-    10f0:	4668		mov	r0, sp
-    10f2:	8541		strh	r1, [r0, #42]	; 0x2a
-    10f4:	8d41		ldrh	r1, [r0, #42]	; 0x2a
-    10f6:	8d00		ldrh	r0, [r0, #40]	; 0x28
-    10f8:	0200		lsl	r0, r0, #8
-    10fa:	1809		add	r1, r1, r0
-    10fc:	9801		ldr	r0, [sp, #4]
-    10fe:	8081		strh	r1, [r0, #4]
-    1100:	9804		ldr	r0, [sp, #16]	; 0x10
-    1102:	3002		add	r0, #2
-    1104:	9004		str	r0, [sp, #16]	; 0x10
-    1106:	9800		ldr	r0, [sp, #0]
-    1108:	7801		ldrb	r1, [r0, #0]
-    110a:	3001		add	r0, #1
-    110c:	9000		str	r0, [sp, #0]
-    110e:	4668		mov	r0, sp
-    1110:	8581		strh	r1, [r0, #44]	; 0x2c
-    1112:	9800		ldr	r0, [sp, #0]
-    1114:	7801		ldrb	r1, [r0, #0]
-    1116:	3001		add	r0, #1
-    1118:	9000		str	r0, [sp, #0]
-    111a:	4668		mov	r0, sp
-    111c:	85c1		strh	r1, [r0, #46]	; 0x2e
-    111e:	8dc1		ldrh	r1, [r0, #46]	; 0x2e
-    1120:	8d80		ldrh	r0, [r0, #44]	; 0x2c
-    1122:	0200		lsl	r0, r0, #8
-    1124:	1808		add	r0, r1, r0
-    1126:	9901		ldr	r1, [sp, #4]
-    1128:	80c8		strh	r0, [r1, #6]
-    112a:	e01f		b	0x116c
-    112c:	2008		mov	r0, #8
-    112e:	e77e		b	0x102e
-    1130:	9801		ldr	r0, [sp, #4]
-    1132:	7801		ldrb	r1, [r0, #0]
-    1134:	290a		cmp	r1, #10	; 0xa
-    1136:	d8f9		bhi	0x112c
-    1138:	a001		add	r0, pc, #4
-    113a:	0089		lsl	r1, r1, #2
-    113c:	5840		ldr	r0, [r0, r1]
-    113e:	4687		mov	pc, r0
-    1140:	116c		asr	r4, r5, #5
-    1142:	0000		lsl	r0, r0, #0
-    1144:	116c		asr	r4, r5, #5
-    1146:	0000		lsl	r0, r0, #0
-    1148:	116c		asr	r4, r5, #5
-    114a:	0000		lsl	r0, r0, #0
-    114c:	116c		asr	r4, r5, #5
-    114e:	0000		lsl	r0, r0, #0
-    1150:	116c		asr	r4, r5, #5
-    1152:	0000		lsl	r0, r0, #0
-    1154:	116c		asr	r4, r5, #5
-    1156:	0000		lsl	r0, r0, #0
-    1158:	116c		asr	r4, r5, #5
-    115a:	0000		lsl	r0, r0, #0
-    115c:	0fde		lsr	r6, r3, #31
-    115e:	0000		lsl	r0, r0, #0
-    1160:	1032		asr	r2, r6, #32
-    1162:	0000		lsl	r0, r0, #0
-    1164:	116c		asr	r4, r5, #5
-    1166:	0000		lsl	r0, r0, #0
-    1168:	10d6		asr	r6, r2, #3
-    116a:	0000		lsl	r0, r0, #0
-    116c:	9905		ldr	r1, [sp, #20]	; 0x14
-    116e:	9804		ldr	r0, [sp, #16]	; 0x10
-    1170:	4281		cmp	r1, r0
-    1172:	d001		beq	0x1178
-    1174:	2004		mov	r0, #4
-    1176:	9003		str	r0, [sp, #12]	; 0xc
-    1178:	9803		ldr	r0, [sp, #12]	; 0xc
-    117a:	b00c		add	sp, #48	; 0x30
-    117c:	4770		bx	lr
-    117e:	b089		sub	sp, #36	; 0x24
-    1180:	9101		str	r1, [sp, #4]
-    1182:	9000		str	r0, [sp, #0]
-    1184:	2000		mov	r0, #0
-    1186:	9003		str	r0, [sp, #12]	; 0xc
-    1188:	9801		ldr	r0, [sp, #4]
-    118a:	1c41		add	r1, r0, #1
-    118c:	9101		str	r1, [sp, #4]
-    118e:	9005		str	r0, [sp, #20]	; 0x14
-    1190:	9801		ldr	r0, [sp, #4]
-    1192:	1c41		add	r1, r0, #1
-    1194:	9101		str	r1, [sp, #4]
-    1196:	9900		ldr	r1, [sp, #0]
-    1198:	7809		ldrb	r1, [r1, #0]
-    119a:	7001		strb	r1, [r0, #0]
-    119c:	4669		mov	r1, sp
-    119e:	2001		mov	r0, #1
-    11a0:	7408		strb	r0, [r1, #16]	; 0x10
-    11a2:	9801		ldr	r0, [sp, #4]
-    11a4:	1c41		add	r1, r0, #1
-    11a6:	9101		str	r1, [sp, #4]
-    11a8:	9900		ldr	r1, [sp, #0]
-    11aa:	7849		ldrb	r1, [r1, #1]
-    11ac:	7001		strb	r1, [r0, #0]
-    11ae:	4669		mov	r1, sp
-    11b0:	4668		mov	r0, sp
-    11b2:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    11b4:	3001		add	r0, #1
-    11b6:	7408		strb	r0, [r1, #16]	; 0x10
-    11b8:	e0e4		b	0x1384
-    11ba:	9800		ldr	r0, [sp, #0]
-    11bc:	7840		ldrb	r0, [r0, #1]
-    11be:	2800		cmp	r0, #0
-    11c0:	d000		beq	0x11c4
-    11c2:	e0fd		b	0x13c0
-    11c4:	9801		ldr	r0, [sp, #4]
-    11c6:	1c41		add	r1, r0, #1
-    11c8:	9101		str	r1, [sp, #4]
-    11ca:	9900		ldr	r1, [sp, #0]
-    11cc:	7909		ldrb	r1, [r1, #4]
-    11ce:	7001		strb	r1, [r0, #0]
-    11d0:	9801		ldr	r0, [sp, #4]
-    11d2:	1c41		add	r1, r0, #1
-    11d4:	9101		str	r1, [sp, #4]
-    11d6:	9900		ldr	r1, [sp, #0]
-    11d8:	7949		ldrb	r1, [r1, #5]
-    11da:	7001		strb	r1, [r0, #0]
-    11dc:	9801		ldr	r0, [sp, #4]
-    11de:	1c41		add	r1, r0, #1
-    11e0:	9101		str	r1, [sp, #4]
-    11e2:	9900		ldr	r1, [sp, #0]
-    11e4:	7989		ldrb	r1, [r1, #6]
-    11e6:	7001		strb	r1, [r0, #0]
-    11e8:	4668		mov	r0, sp
-    11ea:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    11ec:	3003		add	r0, #3
-    11ee:	4669		mov	r1, sp
-    11f0:	7408		strb	r0, [r1, #16]	; 0x10
-    11f2:	e0e5		b	0x13c0
-    11f4:	9800		ldr	r0, [sp, #0]
-    11f6:	7840		ldrb	r0, [r0, #1]
-    11f8:	2800		cmp	r0, #0
-    11fa:	d000		beq	0x11fe
-    11fc:	e0e0		b	0x13c0
-    11fe:	9801		ldr	r0, [sp, #4]
-    1200:	1c41		add	r1, r0, #1
-    1202:	9101		str	r1, [sp, #4]
-    1204:	9900		ldr	r1, [sp, #0]
-    1206:	7909		ldrb	r1, [r1, #4]
-    1208:	7001		strb	r1, [r0, #0]
-    120a:	4668		mov	r0, sp
-    120c:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    120e:	3001		add	r0, #1
-    1210:	e7ed		b	0x11ee
-    1212:	9800		ldr	r0, [sp, #0]
-    1214:	7840		ldrb	r0, [r0, #1]
-    1216:	2800		cmp	r0, #0
-    1218:	d000		beq	0x121c
-    121a:	e0d1		b	0x13c0
-    121c:	e7ef		b	0x11fe
-    121e:	9800		ldr	r0, [sp, #0]
-    1220:	7840		ldrb	r0, [r0, #1]
-    1222:	2800		cmp	r0, #0
-    1224:	d000		beq	0x1228
-    1226:	e0cb		b	0x13c0
-    1228:	e7e9		b	0x11fe
-    122a:	9800		ldr	r0, [sp, #0]
-    122c:	7840		ldrb	r0, [r0, #1]
-    122e:	2800		cmp	r0, #0
-    1230:	d000		beq	0x1234
-    1232:	e0c5		b	0x13c0
-    1234:	4669		mov	r1, sp
-    1236:	9800		ldr	r0, [sp, #0]
-    1238:	8880		ldrh	r0, [r0, #4]
-    123a:	8408		strh	r0, [r1, #32]	; 0x20
-    123c:	9801		ldr	r0, [sp, #4]
-    123e:	1c41		add	r1, r0, #1
-    1240:	9101		str	r1, [sp, #4]
-    1242:	4669		mov	r1, sp
-    1244:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    1246:	0409		lsl	r1, r1, #16
-    1248:	0e09		lsr	r1, r1, #24
-    124a:	0209		lsl	r1, r1, #8
-    124c:	1209		asr	r1, r1, #8
-    124e:	7001		strb	r1, [r0, #0]
-    1250:	9801		ldr	r0, [sp, #4]
-    1252:	1c41		add	r1, r0, #1
-    1254:	9101		str	r1, [sp, #4]
-    1256:	4669		mov	r1, sp
-    1258:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    125a:	0609		lsl	r1, r1, #24
-    125c:	0e09		lsr	r1, r1, #24
-    125e:	7001		strb	r1, [r0, #0]
-    1260:	4669		mov	r1, sp
-    1262:	9800		ldr	r0, [sp, #0]
-    1264:	88c0		ldrh	r0, [r0, #6]
-    1266:	8408		strh	r0, [r1, #32]	; 0x20
-    1268:	9801		ldr	r0, [sp, #4]
-    126a:	1c41		add	r1, r0, #1
-    126c:	9101		str	r1, [sp, #4]
-    126e:	4669		mov	r1, sp
-    1270:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    1272:	0409		lsl	r1, r1, #16
-    1274:	0e09		lsr	r1, r1, #24
-    1276:	0209		lsl	r1, r1, #8
-    1278:	1209		asr	r1, r1, #8
-    127a:	7001		strb	r1, [r0, #0]
-    127c:	9801		ldr	r0, [sp, #4]
-    127e:	1c41		add	r1, r0, #1
-    1280:	9101		str	r1, [sp, #4]
-    1282:	4669		mov	r1, sp
-    1284:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    1286:	0609		lsl	r1, r1, #24
-    1288:	0e09		lsr	r1, r1, #24
-    128a:	7001		strb	r1, [r0, #0]
-    128c:	4668		mov	r0, sp
-    128e:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1290:	3004		add	r0, #4
-    1292:	e7ac		b	0x11ee
-    1294:	9800		ldr	r0, [sp, #0]
-    1296:	7840		ldrb	r0, [r0, #1]
-    1298:	2800		cmp	r0, #0
-    129a:	d000		beq	0x129e
-    129c:	e090		b	0x13c0
-    129e:	e7ae		b	0x11fe
-    12a0:	9800		ldr	r0, [sp, #0]
-    12a2:	7840		ldrb	r0, [r0, #1]
-    12a4:	2800		cmp	r0, #0
-    12a6:	d000		beq	0x12aa
-    12a8:	e08a		b	0x13c0
-    12aa:	4669		mov	r1, sp
-    12ac:	4668		mov	r0, sp
-    12ae:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    12b0:	3001		add	r0, #1
-    12b2:	7408		strb	r0, [r1, #16]	; 0x10
-    12b4:	4668		mov	r0, sp
-    12b6:	9900		ldr	r1, [sp, #0]
-    12b8:	7909		ldrb	r1, [r1, #4]
-    12ba:	7601		strb	r1, [r0, #24]	; 0x18
-    12bc:	9801		ldr	r0, [sp, #4]
-    12be:	1c41		add	r1, r0, #1
-    12c0:	9101		str	r1, [sp, #4]
-    12c2:	4669		mov	r1, sp
-    12c4:	7e09		ldrb	r1, [r1, #24]	; 0x18
-    12c6:	7001		strb	r1, [r0, #0]
-    12c8:	4668		mov	r0, sp
-    12ca:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    12cc:	2840		cmp	r0, #64	; 0x40
-    12ce:	dd01		ble	0x12d4
-    12d0:	2004		mov	r0, #4
-    12d2:	e055		b	0x1380
-    12d4:	9800		ldr	r0, [sp, #0]
-    12d6:	3006		add	r0, #6
-    12d8:	9007		str	r0, [sp, #28]	; 0x1c
-    12da:	2000		mov	r0, #0
-    12dc:	9002		str	r0, [sp, #8]
-    12de:	9902		ldr	r1, [sp, #8]
-    12e0:	4668		mov	r0, sp
-    12e2:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    12e4:	4281		cmp	r1, r0
-    12e6:	da6b		bge	0x13c0
-    12e8:	9801		ldr	r0, [sp, #4]
-    12ea:	1c41		add	r1, r0, #1
-    12ec:	9101		str	r1, [sp, #4]
-    12ee:	9907		ldr	r1, [sp, #28]	; 0x1c
-    12f0:	8809		ldrh	r1, [r1, #0]
-    12f2:	0409		lsl	r1, r1, #16
-    12f4:	0e09		lsr	r1, r1, #24
-    12f6:	0209		lsl	r1, r1, #8
-    12f8:	1209		asr	r1, r1, #8
-    12fa:	7001		strb	r1, [r0, #0]
-    12fc:	9807		ldr	r0, [sp, #28]	; 0x1c
-    12fe:	8801		ldrh	r1, [r0, #0]
-    1300:	3002		add	r0, #2
-    1302:	9007		str	r0, [sp, #28]	; 0x1c
-    1304:	0608		lsl	r0, r1, #24
-    1306:	0e01		lsr	r1, r0, #24
-    1308:	9801		ldr	r0, [sp, #4]
-    130a:	1c42		add	r2, r0, #1
-    130c:	9201		str	r2, [sp, #4]
-    130e:	7001		strb	r1, [r0, #0]
-    1310:	4669		mov	r1, sp
-    1312:	4668		mov	r0, sp
-    1314:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1316:	3002		add	r0, #2
-    1318:	7408		strb	r0, [r1, #16]	; 0x10
-    131a:	9802		ldr	r0, [sp, #8]
-    131c:	3001		add	r0, #1
-    131e:	9002		str	r0, [sp, #8]
-    1320:	9902		ldr	r1, [sp, #8]
-    1322:	4668		mov	r0, sp
-    1324:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1326:	4281		cmp	r1, r0
-    1328:	dbde		blt	0x12e8
-    132a:	e049		b	0x13c0
-    132c:	9800		ldr	r0, [sp, #0]
-    132e:	7840		ldrb	r0, [r0, #1]
-    1330:	2800		cmp	r0, #0
-    1332:	d145		bne	0x13c0
-    1334:	4669		mov	r1, sp
-    1336:	9800		ldr	r0, [sp, #0]
-    1338:	8880		ldrh	r0, [r0, #4]
-    133a:	8408		strh	r0, [r1, #32]	; 0x20
-    133c:	9801		ldr	r0, [sp, #4]
-    133e:	1c41		add	r1, r0, #1
-    1340:	9101		str	r1, [sp, #4]
-    1342:	4669		mov	r1, sp
-    1344:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    1346:	0409		lsl	r1, r1, #16
-    1348:	0e09		lsr	r1, r1, #24
-    134a:	0209		lsl	r1, r1, #8
-    134c:	1209		asr	r1, r1, #8
-    134e:	7001		strb	r1, [r0, #0]
-    1350:	9801		ldr	r0, [sp, #4]
-    1352:	1c41		add	r1, r0, #1
-    1354:	9101		str	r1, [sp, #4]
-    1356:	4669		mov	r1, sp
-    1358:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    135a:	0609		lsl	r1, r1, #24
-    135c:	0e09		lsr	r1, r1, #24
-    135e:	7001		strb	r1, [r0, #0]
-    1360:	4668		mov	r0, sp
-    1362:	9900		ldr	r1, [sp, #0]
-    1364:	88c9		ldrh	r1, [r1, #6]
-    1366:	8401		strh	r1, [r0, #32]	; 0x20
-    1368:	9901		ldr	r1, [sp, #4]
-    136a:	1c48		add	r0, r1, #1
-    136c:	9001		str	r0, [sp, #4]
-    136e:	4668		mov	r0, sp
-    1370:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    1372:	0400		lsl	r0, r0, #16
-    1374:	0e00		lsr	r0, r0, #24
-    1376:	0200		lsl	r0, r0, #8
-    1378:	1200		asr	r0, r0, #8
-    137a:	7008		strb	r0, [r1, #0]
-    137c:	e77e		b	0x127c
-    137e:	2008		mov	r0, #8
-    1380:	9003		str	r0, [sp, #12]	; 0xc
-    1382:	e01d		b	0x13c0
-    1384:	9800		ldr	r0, [sp, #0]
-    1386:	7800		ldrb	r0, [r0, #0]
-    1388:	280a		cmp	r0, #10	; 0xa
-    138a:	d8f8		bhi	0x137e
-    138c:	a101		add	r1, pc, #4
-    138e:	0080		lsl	r0, r0, #2
-    1390:	5808		ldr	r0, [r1, r0]
-    1392:	4687		mov	pc, r0
-    1394:	11ba		asr	r2, r7, #6
-    1396:	0000		lsl	r0, r0, #0
-    1398:	11f4		asr	r4, r6, #7
-    139a:	0000		lsl	r0, r0, #0
-    139c:	1212		asr	r2, r2, #8
-    139e:	0000		lsl	r0, r0, #0
-    13a0:	121e		asr	r6, r3, #8
-    13a2:	0000		lsl	r0, r0, #0
-    13a4:	13c0		asr	r0, r0, #15
-    13a6:	0000		lsl	r0, r0, #0
-    13a8:	122a		asr	r2, r5, #8
-    13aa:	0000		lsl	r0, r0, #0
-    13ac:	1294		asr	r4, r2, #10
-    13ae:	0000		lsl	r0, r0, #0
-    13b0:	12a0		asr	r0, r4, #10
-    13b2:	0000		lsl	r0, r0, #0
-    13b4:	13c0		asr	r0, r0, #15
-    13b6:	0000		lsl	r0, r0, #0
-    13b8:	132c		asr	r4, r5, #12
-    13ba:	0000		lsl	r0, r0, #0
-    13bc:	13c0		asr	r0, r0, #15
-    13be:	0000		lsl	r0, r0, #0
-    13c0:	9805		ldr	r0, [sp, #20]	; 0x14
-    13c2:	4669		mov	r1, sp
-    13c4:	7c09		ldrb	r1, [r1, #16]	; 0x10
-    13c6:	7001		strb	r1, [r0, #0]
-    13c8:	9803		ldr	r0, [sp, #12]	; 0xc
-    13ca:	b009		add	sp, #36	; 0x24
-    13cc:	4770		bx	lr
-    13ce:	0000		lsl	r0, r0, #0
-    13d0:	b500		push	{lr}
-    13d2:	b083		sub	sp, #12	; 0xc
-    13d4:	9101		str	r1, [sp, #4]
-    13d6:	4669		mov	r1, sp
-    13d8:	7008		strb	r0, [r1, #0]
-    13da:	2000		mov	r0, #0
-    13dc:	9002		str	r0, [sp, #8]
-    13de:	e073		b	0x14c8
-    13e0:	4668		mov	r0, sp
-    13e2:	7800		ldrb	r0, [r0, #0]
-    13e4:	28aa		cmp	r0, #170	; 0xaa
-    13e6:	d106		bne	0x13f6
-    13e8:	4965		ldr	r1, =0x83ff10	; via 0x1580
-    13ea:	4865		ldr	r0, =0x83ff10	; via 0x1580
-    13ec:	6800		ldr	r0, [r0, #0]
-    13ee:	3001		add	r0, #1
-    13f0:	07c0		lsl	r0, r0, #31
-    13f2:	0fc0		lsr	r0, r0, #31
-    13f4:	e013		b	0x141e
-    13f6:	4862		ldr	r0, =0x83ff10	; via 0x1580
-    13f8:	6800		ldr	r0, [r0, #0]
-    13fa:	2800		cmp	r0, #0
-    13fc:	d06b		beq	0x14d6
-    13fe:	4961		ldr	r1, =0x83ff04	; via 0x1584
-    1400:	9801		ldr	r0, [sp, #4]
-    1402:	3001		add	r0, #1
-    1404:	6008		str	r0, [r1, #0]
-    1406:	4960		ldr	r1, =0x83ff0e	; via 0x1588
-    1408:	2000		mov	r0, #0
-    140a:	7008		strb	r0, [r1, #0]
-    140c:	495f		ldr	r1, =0x83ff0c	; via 0x158c
-    140e:	4668		mov	r0, sp
-    1410:	7800		ldrb	r0, [r0, #0]
-    1412:	8008		strh	r0, [r1, #0]
-    1414:	495a		ldr	r1, =0x83ff10	; via 0x1580
-    1416:	2000		mov	r0, #0
-    1418:	6008		str	r0, [r1, #0]
-    141a:	495d		ldr	r1, =0x83ff08	; via 0x1590
-    141c:	2001		mov	r0, #1
-    141e:	6008		str	r0, [r1, #0]
-    1420:	e059		b	0x14d6
-    1422:	4668		mov	r0, sp
-    1424:	7800		ldrb	r0, [r0, #0]
-    1426:	28aa		cmp	r0, #170	; 0xaa
-    1428:	d113		bne	0x1452
-    142a:	4855		ldr	r0, =0x83ff10	; via 0x1580
-    142c:	6800		ldr	r0, [r0, #0]
-    142e:	2800		cmp	r0, #0
-    1430:	d00b		beq	0x144a
-    1432:	4954		ldr	r1, =0x83ff04	; via 0x1584
-    1434:	6808		ldr	r0, [r1, #0]
-    1436:	1c42		add	r2, r0, #1
-    1438:	600a		str	r2, [r1, #0]
-    143a:	4669		mov	r1, sp
-    143c:	7809		ldrb	r1, [r1, #0]
-    143e:	7001		strb	r1, [r0, #0]
-    1440:	4951		ldr	r1, =0x83ff0e	; via 0x1588
-    1442:	7808		ldrb	r0, [r1, #0]
-    1444:	3001		add	r0, #1
-    1446:	7008		strb	r0, [r1, #0]
-    1448:	e013		b	0x1472
-    144a:	2101		mov	r1, #1
-    144c:	484c		ldr	r0, =0x83ff10	; via 0x1580
-    144e:	6001		str	r1, [r0, #0]
-    1450:	e01c		b	0x148c
-    1452:	484b		ldr	r0, =0x83ff10	; via 0x1580
-    1454:	6800		ldr	r0, [r0, #0]
-    1456:	2800		cmp	r0, #0
-    1458:	d00d		beq	0x1476
-    145a:	494a		ldr	r1, =0x83ff04	; via 0x1584
-    145c:	9801		ldr	r0, [sp, #4]
-    145e:	3001		add	r0, #1
-    1460:	6008		str	r0, [r1, #0]
-    1462:	4849		ldr	r0, =0x83ff0e	; via 0x1588
-    1464:	2100		mov	r1, #0
-    1466:	7001		strb	r1, [r0, #0]
-    1468:	4948		ldr	r1, =0x83ff0c	; via 0x158c
-    146a:	4668		mov	r0, sp
-    146c:	7800		ldrb	r0, [r0, #0]
-    146e:	3001		add	r0, #1
-    1470:	8008		strh	r0, [r1, #0]
-    1472:	2100		mov	r1, #0
-    1474:	e7ea		b	0x144c
-    1476:	4843		ldr	r0, =0x83ff04	; via 0x1584
-    1478:	6801		ldr	r1, [r0, #0]
-    147a:	1c4a		add	r2, r1, #1
-    147c:	6002		str	r2, [r0, #0]
-    147e:	4668		mov	r0, sp
-    1480:	7800		ldrb	r0, [r0, #0]
-    1482:	7008		strb	r0, [r1, #0]
-    1484:	4940		ldr	r1, =0x83ff0e	; via 0x1588
-    1486:	7808		ldrb	r0, [r1, #0]
-    1488:	3001		add	r0, #1
-    148a:	7008		strb	r0, [r1, #0]
-    148c:	483f		ldr	r0, =0x83ff0c	; via 0x158c
-    148e:	8801		ldrh	r1, [r0, #0]
-    1490:	3901		sub	r1, #1
-    1492:	8001		strh	r1, [r0, #0]
-    1494:	483d		ldr	r0, =0x83ff0c	; via 0x158c
-    1496:	8800		ldrh	r0, [r0, #0]
-    1498:	2800		cmp	r0, #0
-    149a:	d11c		bne	0x14d6
-    149c:	9901		ldr	r1, [sp, #4]
-    149e:	483a		ldr	r0, =0x83ff0e	; via 0x1588
-    14a0:	7800		ldrb	r0, [r0, #0]
-    14a2:	7008		strb	r0, [r1, #0]
-    14a4:	2001		mov	r0, #1
-    14a6:	9002		str	r0, [sp, #8]
-    14a8:	4839		ldr	r0, =0x83ff08	; via 0x1590
-    14aa:	2100		mov	r1, #0
-    14ac:	6001		str	r1, [r0, #0]
-    14ae:	4834		ldr	r0, =0x83ff10	; via 0x1580
-    14b0:	6001		str	r1, [r0, #0]
-    14b2:	9801		ldr	r0, [sp, #4]
-    14b4:	7800		ldrb	r0, [r0, #0]
-    14b6:	2801		cmp	r0, #1
-    14b8:	d10d		bne	0x14d6
-    14ba:	9801		ldr	r0, [sp, #4]
-    14bc:	7840		ldrb	r0, [r0, #1]
-    14be:	28dd		cmp	r0, #221	; 0xdd
-    14c0:	d109		bne	0x14d6
-    14c2:	f7ff fb2f	bl	0xb24
-    14c6:	e006		b	0x14d6
-    14c8:	4831		ldr	r0, =0x83ff08	; via 0x1590
-    14ca:	6800		ldr	r0, [r0, #0]
-    14cc:	2800		cmp	r0, #0
-    14ce:	d087		beq	0x13e0
-    14d0:	3801		sub	r0, #1
-    14d2:	2800		cmp	r0, #0
-    14d4:	d0a5		beq	0x1422
-    14d6:	9802		ldr	r0, [sp, #8]
-    14d8:	b003		add	sp, #12	; 0xc
-    14da:	bd00		pop	{pc}
-    14dc:	b086		sub	sp, #24	; 0x18
-    14de:	9202		str	r2, [sp, #8]
-    14e0:	9101		str	r1, [sp, #4]
-    14e2:	9000		str	r0, [sp, #0]
-    14e4:	9801		ldr	r0, [sp, #4]
-    14e6:	3001		add	r0, #1
-    14e8:	9004		str	r0, [sp, #16]	; 0x10
-    14ea:	9800		ldr	r0, [sp, #0]
-    14ec:	1c41		add	r1, r0, #1
-    14ee:	9100		str	r1, [sp, #0]
-    14f0:	9005		str	r0, [sp, #20]	; 0x14
-    14f2:	9901		ldr	r1, [sp, #4]
-    14f4:	20aa		mov	r0, #170	; 0xaa
-    14f6:	7008		strb	r0, [r1, #0]
-    14f8:	9801		ldr	r0, [sp, #4]
-    14fa:	3002		add	r0, #2
-    14fc:	9001		str	r0, [sp, #4]
-    14fe:	9902		ldr	r1, [sp, #8]
-    1500:	2000		mov	r0, #0
-    1502:	8008		strh	r0, [r1, #0]
-    1504:	4669		mov	r1, sp
-    1506:	8188		strh	r0, [r1, #12]	; 0xc
-    1508:	4668		mov	r0, sp
-    150a:	8981		ldrh	r1, [r0, #12]	; 0xc
-    150c:	9805		ldr	r0, [sp, #20]	; 0x14
-    150e:	7800		ldrb	r0, [r0, #0]
-    1510:	4281		cmp	r1, r0
-    1512:	da23		bge	0x155c
-    1514:	9800		ldr	r0, [sp, #0]
-    1516:	7800		ldrb	r0, [r0, #0]
-    1518:	28aa		cmp	r0, #170	; 0xaa
-    151a:	d108		bne	0x152e
-    151c:	9801		ldr	r0, [sp, #4]
-    151e:	1c41		add	r1, r0, #1
-    1520:	9101		str	r1, [sp, #4]
-    1522:	21aa		mov	r1, #170	; 0xaa
-    1524:	7001		strb	r1, [r0, #0]
-    1526:	9902		ldr	r1, [sp, #8]
-    1528:	8808		ldrh	r0, [r1, #0]
-    152a:	3001		add	r0, #1
-    152c:	8008		strh	r0, [r1, #0]
-    152e:	9800		ldr	r0, [sp, #0]
-    1530:	7801		ldrb	r1, [r0, #0]
-    1532:	3001		add	r0, #1
-    1534:	9000		str	r0, [sp, #0]
-    1536:	9801		ldr	r0, [sp, #4]
-    1538:	1c42		add	r2, r0, #1
-    153a:	9201		str	r2, [sp, #4]
-    153c:	7001		strb	r1, [r0, #0]
-    153e:	9902		ldr	r1, [sp, #8]
-    1540:	8808		ldrh	r0, [r1, #0]
-    1542:	3001		add	r0, #1
-    1544:	8008		strh	r0, [r1, #0]
-    1546:	4669		mov	r1, sp
-    1548:	4668		mov	r0, sp
-    154a:	8980		ldrh	r0, [r0, #12]	; 0xc
-    154c:	3001		add	r0, #1
-    154e:	8188		strh	r0, [r1, #12]	; 0xc
-    1550:	4668		mov	r0, sp
-    1552:	8980		ldrh	r0, [r0, #12]	; 0xc
-    1554:	9905		ldr	r1, [sp, #20]	; 0x14
-    1556:	7809		ldrb	r1, [r1, #0]
-    1558:	4288		cmp	r0, r1
-    155a:	dbdb		blt	0x1514
-    155c:	9904		ldr	r1, [sp, #16]	; 0x10
-    155e:	9802		ldr	r0, [sp, #8]
-    1560:	7800		ldrb	r0, [r0, #0]
-    1562:	7008		strb	r0, [r1, #0]
-    1564:	9902		ldr	r1, [sp, #8]
-    1566:	8808		ldrh	r0, [r1, #0]
-    1568:	3002		add	r0, #2
-    156a:	8008		strh	r0, [r1, #0]
-    156c:	b006		add	sp, #24	; 0x18
-    156e:	4770		bx	lr
-
-; same as 0x15c8 in the C139 version
-    1570:	4907		ldr	r1, =0x83ff08	; via 0x1590
-    1572:	2000		mov	r0, #0
-    1574:	6008		str	r0, [r1, #0]
-    1576:	4802		ldr	r0, =0x83ff10	; via 0x1580
-    1578:	2100		mov	r1, #0
-    157a:	6001		str	r1, [r0, #0]
-    157c:	4770		bx	lr
-    157e:	46c0		nop			(mov r8, r8)
-
-    1580:	0083ff10
-    1584:	0083ff04
-    1588:	0083ff0e
-    158c:	0083ff0c
-    1590:	0083ff08
-
-    1594:	b082		sub	sp, #8
-    1596:	9101		str	r1, [sp, #4]
-    1598:	9000		str	r0, [sp, #0]
-    159a:	9901		ldr	r1, [sp, #4]
-    159c:	2000		mov	r0, #0
-    159e:	7008		strb	r0, [r1, #0]
-    15a0:	9801		ldr	r0, [sp, #4]
-    15a2:	2100		mov	r1, #0
-    15a4:	7041		strb	r1, [r0, #1]
-    15a6:	9801		ldr	r0, [sp, #4]
-    15a8:	2102		mov	r1, #2
-    15aa:	7101		strb	r1, [r0, #4]
-    15ac:	9801		ldr	r0, [sp, #4]
-    15ae:	2106		mov	r1, #6
-    15b0:	7141		strb	r1, [r0, #5]
-    15b2:	9801		ldr	r0, [sp, #4]
-    15b4:	2102		mov	r1, #2
-    15b6:	7181		strb	r1, [r0, #6]
-    15b8:	b002		add	sp, #8
-    15ba:	4770		bx	lr
-    15bc:	b500		push	{lr}
-    15be:	b084		sub	sp, #16	; 0x10
-    15c0:	466b		mov	r3, sp
-    15c2:	721a		strb	r2, [r3, #8]
-    15c4:	9101		str	r1, [sp, #4]
-    15c6:	9000		str	r0, [sp, #0]
-    15c8:	9901		ldr	r1, [sp, #4]
-    15ca:	2009		mov	r0, #9
-    15cc:	7008		strb	r0, [r1, #0]
-    15ce:	e015		b	0x15fc
-    15d0:	9801		ldr	r0, [sp, #4]
-    15d2:	2100		mov	r1, #0
-    15d4:	7041		strb	r1, [r0, #1]
-    15d6:	9901		ldr	r1, [sp, #4]
-    15d8:	4668		mov	r0, sp
-    15da:	8940		ldrh	r0, [r0, #10]	; 0xa
-    15dc:	8088		strh	r0, [r1, #4]
-    15de:	9901		ldr	r1, [sp, #4]
-    15e0:	4668		mov	r0, sp
-    15e2:	8980		ldrh	r0, [r0, #12]	; 0xc
-    15e4:	80c8		strh	r0, [r1, #6]
-    15e6:	e01e		b	0x1626
-    15e8:	2101		mov	r1, #1
-    15ea:	e004		b	0x15f6
-    15ec:	2103		mov	r1, #3
-    15ee:	e002		b	0x15f6
-    15f0:	2105		mov	r1, #5
-    15f2:	e000		b	0x15f6
-    15f4:	2106		mov	r1, #6
-    15f6:	9801		ldr	r0, [sp, #4]
-    15f8:	7041		strb	r1, [r0, #1]
-    15fa:	e014		b	0x1626
-    15fc:	200a		mov	r0, #10	; 0xa
-    15fe:	4468		add	r0, sp
-    1600:	a903		add	r1, sp, #12	; 0xc
-    1602:	466a		mov	r2, sp
-    1604:	7a12		ldrb	r2, [r2, #8]
-    1606:	f000 fb71	bl	0x1cec
-    160a:	2800		cmp	r0, #0
-    160c:	d0e0		beq	0x15d0
-    160e:	3801		sub	r0, #1
-    1610:	2800		cmp	r0, #0
-    1612:	d0e9		beq	0x15e8
-    1614:	3801		sub	r0, #1
-    1616:	2800		cmp	r0, #0
-    1618:	d0e8		beq	0x15ec
-    161a:	3801		sub	r0, #1
-    161c:	2800		cmp	r0, #0
-    161e:	d0e7		beq	0x15f0
-    1620:	3801		sub	r0, #1
-    1622:	2800		cmp	r0, #0
-    1624:	d0e6		beq	0x15f4
-    1626:	b004		add	sp, #16	; 0x10
-    1628:	bd00		pop	{pc}
-    162a:	b084		sub	sp, #16	; 0x10
-    162c:	9101		str	r1, [sp, #4]
-    162e:	9000		str	r0, [sp, #0]
-    1630:	9901		ldr	r1, [sp, #4]
-    1632:	200a		mov	r0, #10	; 0xa
-    1634:	7008		strb	r0, [r1, #0]
-    1636:	9801		ldr	r0, [sp, #4]
-    1638:	2100		mov	r1, #0
-    163a:	7041		strb	r1, [r0, #1]
-    163c:	4669		mov	r1, sp
-    163e:	9800		ldr	r0, [sp, #0]
-    1640:	8880		ldrh	r0, [r0, #4]
-    1642:	8108		strh	r0, [r1, #8]
-    1644:	9800		ldr	r0, [sp, #0]
-    1646:	88c0		ldrh	r0, [r0, #6]
-    1648:	8148		strh	r0, [r1, #10]	; 0xa
-    164a:	4668		mov	r0, sp
-    164c:	8941		ldrh	r1, [r0, #10]	; 0xa
-    164e:	8900		ldrh	r0, [r0, #8]
-    1650:	0400		lsl	r0, r0, #16
-    1652:	1808		add	r0, r1, r0
-    1654:	9003		str	r0, [sp, #12]	; 0xc
-    1656:	9803		ldr	r0, [sp, #12]	; 0xc
-    1658:	b004		add	sp, #16	; 0x10
-    165a:	4770		bx	lr
-    165c:	b085		sub	sp, #20	; 0x14
-    165e:	9303		str	r3, [sp, #12]	; 0xc
-    1660:	9202		str	r2, [sp, #8]
-    1662:	9101		str	r1, [sp, #4]
-    1664:	4669		mov	r1, sp
-    1666:	7008		strb	r0, [r1, #0]
-    1668:	48ea		ldr	r0, =0x83ff19	; via 0x1a14
-    166a:	7809		ldrb	r1, [r1, #0]
-    166c:	7802		ldrb	r2, [r0, #0]
-    166e:	1889		add	r1, r1, r2
-    1670:	7001		strb	r1, [r0, #0]
-    1672:	48e9		ldr	r0, =0x83ff1a	; via 0x1a18
-    1674:	7800		ldrb	r0, [r0, #0]
-    1676:	2800		cmp	r0, #0
-    1678:	d00e		beq	0x1698
-    167a:	48e8		ldr	r0, =0x83ff26	; via 0x1a1c
-    167c:	4669		mov	r1, sp
-    167e:	780a		ldrb	r2, [r1, #0]
-    1680:	8801		ldrh	r1, [r0, #0]
-    1682:	1851		add	r1, r2, r1
-    1684:	8001		strh	r1, [r0, #0]
-    1686:	9903		ldr	r1, [sp, #12]	; 0xc
-    1688:	48e4		ldr	r0, =0x83ff26	; via 0x1a1c
-    168a:	8800		ldrh	r0, [r0, #0]
-    168c:	8008		strh	r0, [r1, #0]
-    168e:	9801		ldr	r0, [sp, #4]
-    1690:	2100		mov	r1, #0
-    1692:	6001		str	r1, [r0, #0]
-    1694:	2000		mov	r0, #0
-    1696:	e009		b	0x16ac
-    1698:	9902		ldr	r1, [sp, #8]
-    169a:	6808		ldr	r0, [r1, #0]
-    169c:	3002		add	r0, #2
-    169e:	6008		str	r0, [r1, #0]
-    16a0:	49de		ldr	r1, =0x83ff26	; via 0x1a1c
-    16a2:	4668		mov	r0, sp
-    16a4:	7800		ldrb	r0, [r0, #0]
-    16a6:	0200		lsl	r0, r0, #8
-    16a8:	8008		strh	r0, [r1, #0]
-    16aa:	2001		mov	r0, #1
-    16ac:	9004		str	r0, [sp, #16]	; 0x10
-    16ae:	2001		mov	r0, #1
-    16b0:	49d9		ldr	r1, =0x83ff1a	; via 0x1a18
-    16b2:	7809		ldrb	r1, [r1, #0]
-    16b4:	4388		bic	r0, r1
-    16b6:	49d8		ldr	r1, =0x83ff1a	; via 0x1a18
-    16b8:	7008		strb	r0, [r1, #0]
-    16ba:	48d9		ldr	r0, =0x83ff24	; via 0x1a20
-    16bc:	7801		ldrb	r1, [r0, #0]
-    16be:	3901		sub	r1, #1
-    16c0:	7001		strb	r1, [r0, #0]
-    16c2:	48d7		ldr	r0, =0x83ff24	; via 0x1a20
-    16c4:	7800		ldrb	r0, [r0, #0]
-    16c6:	2800		cmp	r0, #0
-    16c8:	d102		bne	0x16d0
-    16ca:	48d6		ldr	r0, =0x83ff20	; via 0x1a24
-    16cc:	2106		mov	r1, #6
-    16ce:	6001		str	r1, [r0, #0]
-    16d0:	9804		ldr	r0, [sp, #16]	; 0x10
-    16d2:	b005		add	sp, #20	; 0x14
-    16d4:	46f7		mov	pc, lr
-    16d6:	b083		sub	sp, #12	; 0xc
-    16d8:	9101		str	r1, [sp, #4]
-    16da:	4669		mov	r1, sp
-    16dc:	7008		strb	r0, [r1, #0]
-    16de:	2001		mov	r0, #1
-    16e0:	9002		str	r0, [sp, #8]
-    16e2:	48d1		ldr	r0, =0x83ff1b	; via 0x1a28
-    16e4:	7800		ldrb	r0, [r0, #0]
-    16e6:	2800		cmp	r0, #0
-    16e8:	d10a		bne	0x1700
-    16ea:	4668		mov	r0, sp
-    16ec:	7800		ldrb	r0, [r0, #0]
-    16ee:	2853		cmp	r0, #83	; 0x53
-    16f0:	d102		bne	0x16f8
-    16f2:	48cd		ldr	r0, =0x83ff1b	; via 0x1a28
-    16f4:	2101		mov	r1, #1
-    16f6:	e01a		b	0x172e
-    16f8:	2101		mov	r1, #1
-    16fa:	9801		ldr	r0, [sp, #4]
-    16fc:	6001		str	r1, [r0, #0]
-    16fe:	e03b		b	0x1778
-    1700:	49c9		ldr	r1, =0x83ff1b	; via 0x1a28
-    1702:	2000		mov	r0, #0
-    1704:	7008		strb	r0, [r1, #0]
-    1706:	4668		mov	r0, sp
-    1708:	7800		ldrb	r0, [r0, #0]
-    170a:	2830		cmp	r0, #48	; 0x30
-    170c:	d111		bne	0x1732
-    170e:	48c7		ldr	r0, =0x83ff18	; via 0x1a2c
-    1710:	7800		ldrb	r0, [r0, #0]
-    1712:	2800		cmp	r0, #0
-    1714:	d006		beq	0x1724
-    1716:	9901		ldr	r1, [sp, #4]
-    1718:	2001		mov	r0, #1
-    171a:	6008		str	r0, [r1, #0]
-    171c:	49c3		ldr	r1, =0x83ff18	; via 0x1a2c
-    171e:	2000		mov	r0, #0
-    1720:	7008		strb	r0, [r1, #0]
-    1722:	e02a		b	0x177a
-    1724:	48bf		ldr	r0, =0x83ff20	; via 0x1a24
-    1726:	2102		mov	r1, #2
-    1728:	6001		str	r1, [r0, #0]
-    172a:	48ef		ldr	r0, =0x83ff1c	; via 0x1ae8
-    172c:	2100		mov	r1, #0
-    172e:	7001		strb	r1, [r0, #0]
-    1730:	e024		b	0x177c
-    1732:	4668		mov	r0, sp
-    1734:	7800		ldrb	r0, [r0, #0]
-    1736:	2833		cmp	r0, #51	; 0x33
-    1738:	d105		bne	0x1746
-    173a:	48bc		ldr	r0, =0x83ff18	; via 0x1a2c
-    173c:	7800		ldrb	r0, [r0, #0]
-    173e:	2800		cmp	r0, #0
-    1740:	d0da		beq	0x16f8
-    1742:	2004		mov	r0, #4
-    1744:	e00c		b	0x1760
-    1746:	4668		mov	r0, sp
-    1748:	7800		ldrb	r0, [r0, #0]
-    174a:	2837		cmp	r0, #55	; 0x37
-    174c:	d10e		bne	0x176c
-    174e:	48b7		ldr	r0, =0x83ff18	; via 0x1a2c
-    1750:	7800		ldrb	r0, [r0, #0]
-    1752:	2800		cmp	r0, #0
-    1754:	d103		bne	0x175e
-    1756:	9901		ldr	r1, [sp, #4]
-    1758:	2001		mov	r0, #1
-    175a:	6008		str	r0, [r1, #0]
-    175c:	e00c		b	0x1778
-    175e:	2003		mov	r0, #3
-    1760:	49b0		ldr	r1, =0x83ff20	; via 0x1a24
-    1762:	6008		str	r0, [r1, #0]
-    1764:	2000		mov	r0, #0
-    1766:	49e0		ldr	r1, =0x83ff1c	; via 0x1ae8
-    1768:	7008		strb	r0, [r1, #0]
-    176a:	e007		b	0x177c
-    176c:	9901		ldr	r1, [sp, #4]
-    176e:	2001		mov	r0, #1
-    1770:	6008		str	r0, [r1, #0]
-    1772:	48ae		ldr	r0, =0x83ff18	; via 0x1a2c
-    1774:	2100		mov	r1, #0
-    1776:	7001		strb	r1, [r0, #0]
-    1778:	2000		mov	r0, #0
-    177a:	9002		str	r0, [sp, #8]
-    177c:	9802		ldr	r0, [sp, #8]
-    177e:	b003		add	sp, #12	; 0xc
-    1780:	46f7		mov	pc, lr
-    1782:	b083		sub	sp, #12	; 0xc
-    1784:	9101		str	r1, [sp, #4]
-    1786:	4669		mov	r1, sp
-    1788:	7008		strb	r0, [r1, #0]
-    178a:	2001		mov	r0, #1
-    178c:	9002		str	r0, [sp, #8]
-    178e:	49d7		ldr	r1, =0x830	; via 0x1aec
-    1790:	48d5		ldr	r0, =0x83ff1c	; via 0x1ae8
-    1792:	7800		ldrb	r0, [r0, #0]
-    1794:	0080		lsl	r0, r0, #2
-    1796:	5808		ldr	r0, [r1, r0]
-    1798:	4669		mov	r1, sp
-    179a:	7809		ldrb	r1, [r1, #0]
-    179c:	4281		cmp	r1, r0
-    179e:	d10d		bne	0x17bc
-    17a0:	49d1		ldr	r1, =0x83ff1c	; via 0x1ae8
-    17a2:	7808		ldrb	r0, [r1, #0]
-    17a4:	3001		add	r0, #1
-    17a6:	7008		strb	r0, [r1, #0]
-    17a8:	48cf		ldr	r0, =0x83ff1c	; via 0x1ae8
-    17aa:	7800		ldrb	r0, [r0, #0]
-    17ac:	2807		cmp	r0, #7
-    17ae:	d10d		bne	0x17cc
-    17b0:	489c		ldr	r0, =0x83ff20	; via 0x1a24
-    17b2:	2101		mov	r1, #1
-    17b4:	6001		str	r1, [r0, #0]
-    17b6:	489d		ldr	r0, =0x83ff18	; via 0x1a2c
-    17b8:	7001		strb	r1, [r0, #0]
-    17ba:	e007		b	0x17cc
-    17bc:	9801		ldr	r0, [sp, #4]
-    17be:	2101		mov	r1, #1
-    17c0:	6001		str	r1, [r0, #0]
-    17c2:	4998		ldr	r1, =0x83ff20	; via 0x1a24
-    17c4:	2001		mov	r0, #1
-    17c6:	6008		str	r0, [r1, #0]
-    17c8:	2000		mov	r0, #0
-    17ca:	9002		str	r0, [sp, #8]
-    17cc:	9802		ldr	r0, [sp, #8]
-    17ce:	b003		add	sp, #12	; 0xc
-    17d0:	46f7		mov	pc, lr
-    17d2:	b083		sub	sp, #12	; 0xc
-    17d4:	9101		str	r1, [sp, #4]
-    17d6:	4669		mov	r1, sp
-    17d8:	7008		strb	r0, [r1, #0]
-    17da:	2001		mov	r0, #1
-    17dc:	9002		str	r0, [sp, #8]
-    17de:	49c4		ldr	r1, =0x84c	; via 0x1af0
-    17e0:	48c1		ldr	r0, =0x83ff1c	; via 0x1ae8
-    17e2:	7800		ldrb	r0, [r0, #0]
-    17e4:	0080		lsl	r0, r0, #2
-    17e6:	5808		ldr	r0, [r1, r0]
-    17e8:	4669		mov	r1, sp
-    17ea:	7809		ldrb	r1, [r1, #0]
-    17ec:	4281		cmp	r1, r0
-    17ee:	d112		bne	0x1816
-    17f0:	49bd		ldr	r1, =0x83ff1c	; via 0x1ae8
-    17f2:	7808		ldrb	r0, [r1, #0]
-    17f4:	3001		add	r0, #1
-    17f6:	7008		strb	r0, [r1, #0]
-    17f8:	48bb		ldr	r0, =0x83ff1c	; via 0x1ae8
-    17fa:	7800		ldrb	r0, [r0, #0]
-    17fc:	2806		cmp	r0, #6
-    17fe:	d114		bne	0x182a
-    1800:	9801		ldr	r0, [sp, #4]
-    1802:	2102		mov	r1, #2
-    1804:	6001		str	r1, [r0, #0]
-    1806:	4887		ldr	r0, =0x83ff20	; via 0x1a24
-    1808:	2101		mov	r1, #1
-    180a:	6001		str	r1, [r0, #0]
-    180c:	4887		ldr	r0, =0x83ff18	; via 0x1a2c
-    180e:	2100		mov	r1, #0
-    1810:	7001		strb	r1, [r0, #0]
-    1812:	2000		mov	r0, #0
-    1814:	e008		b	0x1828
-    1816:	9801		ldr	r0, [sp, #4]
-    1818:	2101		mov	r1, #1
-    181a:	6001		str	r1, [r0, #0]
-    181c:	4981		ldr	r1, =0x83ff20	; via 0x1a24
-    181e:	2001		mov	r0, #1
-    1820:	6008		str	r0, [r1, #0]
-    1822:	4982		ldr	r1, =0x83ff18	; via 0x1a2c
-    1824:	2000		mov	r0, #0
-    1826:	7008		strb	r0, [r1, #0]
-    1828:	9002		str	r0, [sp, #8]
-    182a:	9802		ldr	r0, [sp, #8]
-    182c:	b003		add	sp, #12	; 0xc
-    182e:	46f7		mov	pc, lr
-    1830:	b081		sub	sp, #4
-    1832:	4669		mov	r1, sp
-    1834:	7008		strb	r0, [r1, #0]
-    1836:	497a		ldr	r1, =0x83ff24	; via 0x1a20
-    1838:	4668		mov	r0, sp
-    183a:	7800		ldrb	r0, [r0, #0]
-    183c:	3801		sub	r0, #1
-    183e:	7008		strb	r0, [r1, #0]
-    1840:	4874		ldr	r0, =0x83ff19	; via 0x1a14
-    1842:	4669		mov	r1, sp
-    1844:	7809		ldrb	r1, [r1, #0]
-    1846:	7001		strb	r1, [r0, #0]
-    1848:	48a7		ldr	r0, =0x83ff1c	; via 0x1ae8
-    184a:	2100		mov	r1, #0
-    184c:	7001		strb	r1, [r0, #0]
-    184e:	48e3		ldr	r0, =0x83ff14	; via 0x1bdc
-    1850:	6001		str	r1, [r0, #0]
-    1852:	4874		ldr	r0, =0x83ff20	; via 0x1a24
-    1854:	2105		mov	r1, #5
-    1856:	6001		str	r1, [r0, #0]
-    1858:	b001		add	sp, #4
-    185a:	46f7		mov	pc, lr
-    185c:	b084		sub	sp, #16	; 0x10
-    185e:	9202		str	r2, [sp, #8]
-    1860:	9101		str	r1, [sp, #4]
-    1862:	4669		mov	r1, sp
-    1864:	7008		strb	r0, [r1, #0]
-    1866:	2001		mov	r0, #1
-    1868:	9003		str	r0, [sp, #12]	; 0xc
-    186a:	496d		ldr	r1, =0x83ff24	; via 0x1a20
-    186c:	7808		ldrb	r0, [r1, #0]
-    186e:	3801		sub	r0, #1
-    1870:	7008		strb	r0, [r1, #0]
-    1872:	486b		ldr	r0, =0x83ff24	; via 0x1a20
-    1874:	7800		ldrb	r0, [r0, #0]
-    1876:	2800		cmp	r0, #0
-    1878:	d026		beq	0x18c8
-    187a:	4866		ldr	r0, =0x83ff19	; via 0x1a14
-    187c:	4669		mov	r1, sp
-    187e:	780a		ldrb	r2, [r1, #0]
-    1880:	7801		ldrb	r1, [r0, #0]
-    1882:	1851		add	r1, r2, r1
-    1884:	7001		strb	r1, [r0, #0]
-    1886:	4998		ldr	r1, =0x83ff1c	; via 0x1ae8
-    1888:	7808		ldrb	r0, [r1, #0]
-    188a:	3001		add	r0, #1
-    188c:	7008		strb	r0, [r1, #0]
-    188e:	49d3		ldr	r1, =0x83ff14	; via 0x1bdc
-    1890:	2204		mov	r2, #4
-    1892:	4895		ldr	r0, =0x83ff1c	; via 0x1ae8
-    1894:	7800		ldrb	r0, [r0, #0]
-    1896:	1a10		sub	r0, r2, r0
-    1898:	00c2		lsl	r2, r0, #3
-    189a:	4668		mov	r0, sp
-    189c:	7800		ldrb	r0, [r0, #0]
-    189e:	4090		lsl	r0, r2
-    18a0:	680a		ldr	r2, [r1, #0]
-    18a2:	1880		add	r0, r0, r2
-    18a4:	6008		str	r0, [r1, #0]
-    18a6:	4890		ldr	r0, =0x83ff1c	; via 0x1ae8
-    18a8:	7800		ldrb	r0, [r0, #0]
-    18aa:	2804		cmp	r0, #4
-    18ac:	d117		bne	0x18de
-    18ae:	9902		ldr	r1, [sp, #8]
-    18b0:	48ca		ldr	r0, =0x83ff14	; via 0x1bdc
-    18b2:	6800		ldr	r0, [r0, #0]
-    18b4:	3802		sub	r0, #2
-    18b6:	6008		str	r0, [r1, #0]
-    18b8:	485a		ldr	r0, =0x83ff20	; via 0x1a24
-    18ba:	2100		mov	r1, #0
-    18bc:	6001		str	r1, [r0, #0]
-    18be:	4856		ldr	r0, =0x83ff1a	; via 0x1a18
-    18c0:	7001		strb	r1, [r0, #0]
-    18c2:	4889		ldr	r0, =0x83ff1c	; via 0x1ae8
-    18c4:	7001		strb	r1, [r0, #0]
-    18c6:	e00a		b	0x18de
-    18c8:	9801		ldr	r0, [sp, #4]
-    18ca:	2101		mov	r1, #1
-    18cc:	6001		str	r1, [r0, #0]
-    18ce:	4955		ldr	r1, =0x83ff20	; via 0x1a24
-    18d0:	2001		mov	r0, #1
-    18d2:	6008		str	r0, [r1, #0]
-    18d4:	4855		ldr	r0, =0x83ff18	; via 0x1a2c
-    18d6:	2100		mov	r1, #0
-    18d8:	7001		strb	r1, [r0, #0]
-    18da:	2000		mov	r0, #0
-    18dc:	9003		str	r0, [sp, #12]	; 0xc
-    18de:	9803		ldr	r0, [sp, #12]	; 0xc
-    18e0:	b004		add	sp, #16	; 0x10
-    18e2:	46f7		mov	pc, lr
-    18e4:	b083		sub	sp, #12	; 0xc
-    18e6:	9101		str	r1, [sp, #4]
-    18e8:	4669		mov	r1, sp
-    18ea:	7008		strb	r0, [r1, #0]
-    18ec:	2001		mov	r0, #1
-    18ee:	9002		str	r0, [sp, #8]
-    18f0:	494c		ldr	r1, =0x83ff20	; via 0x1a24
-    18f2:	6008		str	r0, [r1, #0]
-    18f4:	20ff		mov	r0, #255	; 0xff
-    18f6:	4669		mov	r1, sp
-    18f8:	7809		ldrb	r1, [r1, #0]
-    18fa:	4388		bic	r0, r1
-    18fc:	4945		ldr	r1, =0x83ff19	; via 0x1a14
-    18fe:	7809		ldrb	r1, [r1, #0]
-    1900:	4281		cmp	r1, r0
-    1902:	d007		beq	0x1914
-    1904:	9801		ldr	r0, [sp, #4]
-    1906:	2101		mov	r1, #1
-    1908:	6001		str	r1, [r0, #0]
-    190a:	4848		ldr	r0, =0x83ff18	; via 0x1a2c
-    190c:	2100		mov	r1, #0
-    190e:	7001		strb	r1, [r0, #0]
-    1910:	2000		mov	r0, #0
-    1912:	9002		str	r0, [sp, #8]
-    1914:	9802		ldr	r0, [sp, #8]
-    1916:	b003		add	sp, #12	; 0xc
-    1918:	46f7		mov	pc, lr
-    191a:	b085		sub	sp, #20	; 0x14
-    191c:	466b		mov	r3, sp
-    191e:	719a		strb	r2, [r3, #6]
-    1920:	466a		mov	r2, sp
-    1922:	8091		strh	r1, [r2, #4]
-    1924:	9000		str	r0, [sp, #0]
-    1926:	9800		ldr	r0, [sp, #0]
-    1928:	9002		str	r0, [sp, #8]
-    192a:	4669		mov	r1, sp
-    192c:	4668		mov	r0, sp
-    192e:	8880		ldrh	r0, [r0, #4]
-    1930:	8208		strh	r0, [r1, #16]	; 0x10
-    1932:	4668		mov	r0, sp
-    1934:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    1936:	2800		cmp	r0, #0
-    1938:	d01e		beq	0x1978
-    193a:	49e3		ldr	r1, =0x864	; via 0x1cc8
-    193c:	4668		mov	r0, sp
-    193e:	7980		ldrb	r0, [r0, #6]
-    1940:	0080		lsl	r0, r0, #2
-    1942:	5808		ldr	r0, [r1, r0]
-    1944:	7941		ldrb	r1, [r0, #5]
-    1946:	4668		mov	r0, sp
-    1948:	7301		strb	r1, [r0, #12]	; 0xc
-    194a:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    194c:	0980		lsr	r0, r0, #6
-    194e:	d3f4		bcc	0x193a
-    1950:	49dd		ldr	r1, =0x864	; via 0x1cc8
-    1952:	4668		mov	r0, sp
-    1954:	7980		ldrb	r0, [r0, #6]
-    1956:	0080		lsl	r0, r0, #2
-    1958:	5809		ldr	r1, [r1, r0]
-    195a:	9802		ldr	r0, [sp, #8]
-    195c:	7800		ldrb	r0, [r0, #0]
-    195e:	7008		strb	r0, [r1, #0]
-    1960:	9802		ldr	r0, [sp, #8]
-    1962:	3001		add	r0, #1
-    1964:	9002		str	r0, [sp, #8]
-    1966:	4669		mov	r1, sp
-    1968:	4668		mov	r0, sp
-    196a:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    196c:	3801		sub	r0, #1
-    196e:	8208		strh	r0, [r1, #16]	; 0x10
-    1970:	4668		mov	r0, sp
-    1972:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    1974:	2800		cmp	r0, #0
-    1976:	d1e0		bne	0x193a
-    1978:	b005		add	sp, #20	; 0x14
-    197a:	46f7		mov	pc, lr
-    197c:	b082		sub	sp, #8
-    197e:	4669		mov	r1, sp
-    1980:	7008		strb	r0, [r1, #0]
-    1982:	2000		mov	r0, #0
-    1984:	8088		strh	r0, [r1, #4]
-    1986:	4668		mov	r0, sp
-    1988:	8881		ldrh	r1, [r0, #4]
-    198a:	20ff		mov	r0, #255	; 0xff
-    198c:	30f5		add	r0, #245	; 0xf5
-    198e:	4281		cmp	r1, r0
-    1990:	da21		bge	0x19d6
-    1992:	4669		mov	r1, sp
-    1994:	4668		mov	r0, sp
-    1996:	8880		ldrh	r0, [r0, #4]
-    1998:	3001		add	r0, #1
-    199a:	8088		strh	r0, [r1, #4]
-    199c:	48ca		ldr	r0, =0x864	; via 0x1cc8
-    199e:	7809		ldrb	r1, [r1, #0]
-    19a0:	0089		lsl	r1, r1, #2
-    19a2:	5840		ldr	r0, [r0, r1]
-    19a4:	7940		ldrb	r0, [r0, #5]
-    19a6:	4669		mov	r1, sp
-    19a8:	7048		strb	r0, [r1, #1]
-    19aa:	4668		mov	r0, sp
-    19ac:	7840		ldrb	r0, [r0, #1]
-    19ae:	0840		lsr	r0, r0, #1
-    19b0:	d30b		bcc	0x19ca
-    19b2:	49c5		ldr	r1, =0x864	; via 0x1cc8
-    19b4:	4668		mov	r0, sp
-    19b6:	7800		ldrb	r0, [r0, #0]
-    19b8:	0080		lsl	r0, r0, #2
-    19ba:	5808		ldr	r0, [r1, r0]
-    19bc:	7800		ldrb	r0, [r0, #0]
-    19be:	0600		lsl	r0, r0, #24
-    19c0:	0e00		lsr	r0, r0, #24
-    19c2:	4669		mov	r1, sp
-    19c4:	7088		strb	r0, [r1, #2]
-    19c6:	2000		mov	r0, #0
-    19c8:	8088		strh	r0, [r1, #4]
-    19ca:	4668		mov	r0, sp
-    19cc:	8881		ldrh	r1, [r0, #4]
-    19ce:	20ff		mov	r0, #255	; 0xff
-    19d0:	30f5		add	r0, #245	; 0xf5
-    19d2:	4281		cmp	r1, r0
-    19d4:	dbdd		blt	0x1992
-    19d6:	b002		add	sp, #8
-    19d8:	4770		bx	lr
-    19da:	b500		push	{lr}
-    19dc:	b08c		sub	sp, #48	; 0x30
-    19de:	466a		mov	r2, sp
-    19e0:	7111		strb	r1, [r2, #4]
-    19e2:	9000		str	r0, [sp, #0]
-    19e4:	2001		mov	r0, #1
-    19e6:	9002		str	r0, [sp, #8]
-    19e8:	9800		ldr	r0, [sp, #0]
-    19ea:	a904		add	r1, sp, #16	; 0x10
-    19ec:	aa03		add	r2, sp, #12	; 0xc
-    19ee:	f7ff fd75	bl	0x14dc
-    19f2:	4668		mov	r0, sp
-    19f4:	8980		ldrh	r0, [r0, #12]	; 0xc
-    19f6:	2820		cmp	r0, #32	; 0x20
-    19f8:	dd02		ble	0x1a00
-    19fa:	2000		mov	r0, #0
-    19fc:	9002		str	r0, [sp, #8]
-    19fe:	e006		b	0x1a0e
-    1a00:	a804		add	r0, sp, #16	; 0x10
-    1a02:	4669		mov	r1, sp
-    1a04:	8989		ldrh	r1, [r1, #12]	; 0xc
-    1a06:	466a		mov	r2, sp
-    1a08:	7912		ldrb	r2, [r2, #4]
-    1a0a:	f7ff ff86	bl	0x191a
-    1a0e:	9802		ldr	r0, [sp, #8]
-    1a10:	b00c		add	sp, #48	; 0x30
-    1a12:	bd00		pop	{pc}
-    1a14:	ff19		<half-bl>
-    1a16:	0083		lsl	r3, r0, #2
-    1a18:	ff1a		<half-bl>
-    1a1a:	0083		lsl	r3, r0, #2
-    1a1c:	ff26		<half-bl>
-    1a1e:	0083		lsl	r3, r0, #2
-    1a20:	ff24		<half-bl>
-    1a22:	0083		lsl	r3, r0, #2
-    1a24:	ff20		<half-bl>
-    1a26:	0083		lsl	r3, r0, #2
-    1a28:	ff1b		<half-bl>
-    1a2a:	0083		lsl	r3, r0, #2
-    1a2c:	ff18		<half-bl>
-    1a2e:	0083		lsl	r3, r0, #2
-    1a30:	b500		push	{lr}
-    1a32:	b084		sub	sp, #16	; 0x10
-    1a34:	9101		str	r1, [sp, #4]
-    1a36:	9000		str	r0, [sp, #0]
-    1a38:	4669		mov	r1, sp
-    1a3a:	20ff		mov	r0, #255	; 0xff
-    1a3c:	7308		strb	r0, [r1, #12]	; 0xc
-    1a3e:	2000		mov	r0, #0
-    1a40:	9002		str	r0, [sp, #8]
-    1a42:	4669		mov	r1, sp
-    1a44:	48a1		ldr	r0, =0xffff5805	; via 0x1ccc
-    1a46:	7800		ldrb	r0, [r0, #0]
-    1a48:	7348		strb	r0, [r1, #13]	; 0xd
-    1a4a:	48a1		ldr	r0, =0xffff5005	; via 0x1cd0
-    1a4c:	7800		ldrb	r0, [r0, #0]
-    1a4e:	7388		strb	r0, [r1, #14]	; 0xe
-    1a50:	4668		mov	r0, sp
-    1a52:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1a54:	0840		lsr	r0, r0, #1
-    1a56:	d206		bcs	0x1a66
-    1a58:	4668		mov	r0, sp
-    1a5a:	7b80		ldrb	r0, [r0, #14]	; 0xe
-    1a5c:	0840		lsr	r0, r0, #1
-    1a5e:	d202		bcs	0x1a66
-    1a60:	9801		ldr	r0, [sp, #4]
-    1a62:	2800		cmp	r0, #0
-    1a64:	d0ed		beq	0x1a42
-    1a66:	4668		mov	r0, sp
-    1a68:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1a6a:	0840		lsr	r0, r0, #1
-    1a6c:	d316		bcc	0x1a9c
-    1a6e:	4669		mov	r1, sp
-    1a70:	2000		mov	r0, #0
-    1a72:	7308		strb	r0, [r1, #12]	; 0xc
-    1a74:	4994		ldr	r1, =0x864	; via 0x1cc8
-    1a76:	4668		mov	r0, sp
-    1a78:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1a7a:	0080		lsl	r0, r0, #2
-    1a7c:	5808		ldr	r0, [r1, r0]
-    1a7e:	7800		ldrb	r0, [r0, #0]
-    1a80:	0600		lsl	r0, r0, #24
-    1a82:	0e00		lsr	r0, r0, #24
-    1a84:	4669		mov	r1, sp
-    1a86:	73c8		strb	r0, [r1, #15]	; 0xf
-    1a88:	4668		mov	r0, sp
-    1a8a:	7bc0		ldrb	r0, [r0, #15]	; 0xf
-    1a8c:	9900		ldr	r1, [sp, #0]
-    1a8e:	f7ff fc9f	bl	0x13d0
-    1a92:	9002		str	r0, [sp, #8]
-    1a94:	9802		ldr	r0, [sp, #8]
-    1a96:	2800		cmp	r0, #0
-    1a98:	d11c		bne	0x1ad4
-    1a9a:	e018		b	0x1ace
-    1a9c:	4668		mov	r0, sp
-    1a9e:	7b80		ldrb	r0, [r0, #14]	; 0xe
-    1aa0:	0840		lsr	r0, r0, #1
-    1aa2:	d317		bcc	0x1ad4
-    1aa4:	4669		mov	r1, sp
-    1aa6:	2001		mov	r0, #1
-    1aa8:	7308		strb	r0, [r1, #12]	; 0xc
-    1aaa:	4987		ldr	r1, =0x864	; via 0x1cc8
-    1aac:	4668		mov	r0, sp
-    1aae:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1ab0:	0080		lsl	r0, r0, #2
-    1ab2:	5808		ldr	r0, [r1, r0]
-    1ab4:	7800		ldrb	r0, [r0, #0]
-    1ab6:	0600		lsl	r0, r0, #24
-    1ab8:	0e01		lsr	r1, r0, #24
-    1aba:	4668		mov	r0, sp
-    1abc:	73c1		strb	r1, [r0, #15]	; 0xf
-    1abe:	7bc0		ldrb	r0, [r0, #15]	; 0xf
-    1ac0:	9900		ldr	r1, [sp, #0]
-    1ac2:	f7ff fc85	bl	0x13d0
-    1ac6:	9002		str	r0, [sp, #8]
-    1ac8:	9802		ldr	r0, [sp, #8]
-    1aca:	2800		cmp	r0, #0
-    1acc:	d102		bne	0x1ad4
-    1ace:	20ff		mov	r0, #255	; 0xff
-    1ad0:	4669		mov	r1, sp
-    1ad2:	7308		strb	r0, [r1, #12]	; 0xc
-    1ad4:	9802		ldr	r0, [sp, #8]
-    1ad6:	2800		cmp	r0, #0
-    1ad8:	d102		bne	0x1ae0
-    1ada:	9801		ldr	r0, [sp, #4]
-    1adc:	2800		cmp	r0, #0
-    1ade:	d0b0		beq	0x1a42
-    1ae0:	4668		mov	r0, sp
-    1ae2:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1ae4:	b004		add	sp, #16	; 0x10
-    1ae6:	bd00		pop	{pc}
-    1ae8:	ff1c		<half-bl>
-    1aea:	0083		lsl	r3, r0, #2
-    1aec:	0830		lsr	r0, r6, #32
-    1aee:	0000		lsl	r0, r0, #0
-    1af0:	084c		lsr	r4, r1, #1
-    1af2:	0000		lsl	r0, r0, #0
-    1af4:	b500		push	{lr}
-    1af6:	b086		sub	sp, #24	; 0x18
-    1af8:	466b		mov	r3, sp
-    1afa:	721a		strb	r2, [r3, #8]
-    1afc:	9101		str	r1, [sp, #4]
-    1afe:	9000		str	r0, [sp, #0]
-    1b00:	2001		mov	r0, #1
-    1b02:	9004		str	r0, [sp, #16]	; 0x10
-    1b04:	9804		ldr	r0, [sp, #16]	; 0x10
-    1b06:	2800		cmp	r0, #0
-    1b08:	d05b		beq	0x1bc2
-    1b0a:	496f		ldr	r1, =0x864	; via 0x1cc8
-    1b0c:	4668		mov	r0, sp
-    1b0e:	7a00		ldrb	r0, [r0, #8]
-    1b10:	0080		lsl	r0, r0, #2
-    1b12:	5808		ldr	r0, [r1, r0]
-    1b14:	7941		ldrb	r1, [r0, #5]
-    1b16:	4668		mov	r0, sp
-    1b18:	7301		strb	r1, [r0, #12]	; 0xc
-    1b1a:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1b1c:	0840		lsr	r0, r0, #1
-    1b1e:	d3f4		bcc	0x1b0a
-    1b20:	4969		ldr	r1, =0x864	; via 0x1cc8
-    1b22:	4668		mov	r0, sp
-    1b24:	7a00		ldrb	r0, [r0, #8]
-    1b26:	0080		lsl	r0, r0, #2
-    1b28:	5808		ldr	r0, [r1, r0]
-    1b2a:	7800		ldrb	r0, [r0, #0]
-    1b2c:	0600		lsl	r0, r0, #24
-    1b2e:	0e01		lsr	r1, r0, #24
-    1b30:	4668		mov	r0, sp
-    1b32:	7341		strb	r1, [r0, #13]	; 0xd
-    1b34:	e02c		b	0x1b90
-    1b36:	4668		mov	r0, sp
-    1b38:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b3a:	a905		add	r1, sp, #20	; 0x14
-    1b3c:	9a00		ldr	r2, [sp, #0]
-    1b3e:	9b01		ldr	r3, [sp, #4]
-    1b40:	f7ff fd8c	bl	0x165c
-    1b44:	9004		str	r0, [sp, #16]	; 0x10
-    1b46:	e039		b	0x1bbc
-    1b48:	4668		mov	r0, sp
-    1b4a:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b4c:	a905		add	r1, sp, #20	; 0x14
-    1b4e:	f7ff fdc2	bl	0x16d6
-    1b52:	e7f7		b	0x1b44
-    1b54:	4668		mov	r0, sp
-    1b56:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b58:	a905		add	r1, sp, #20	; 0x14
-    1b5a:	f7ff fe12	bl	0x1782
-    1b5e:	e7f1		b	0x1b44
-    1b60:	4668		mov	r0, sp
-    1b62:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b64:	a905		add	r1, sp, #20	; 0x14
-    1b66:	f7ff fe34	bl	0x17d2
-    1b6a:	e7eb		b	0x1b44
-    1b6c:	4668		mov	r0, sp
-    1b6e:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b70:	f7ff fe5e	bl	0x1830
-    1b74:	e022		b	0x1bbc
-    1b76:	4668		mov	r0, sp
-    1b78:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b7a:	a905		add	r1, sp, #20	; 0x14
-    1b7c:	9a00		ldr	r2, [sp, #0]
-    1b7e:	f7ff fe6d	bl	0x185c
-    1b82:	e7df		b	0x1b44
-    1b84:	4668		mov	r0, sp
-    1b86:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b88:	a905		add	r1, sp, #20	; 0x14
-    1b8a:	f7ff feab	bl	0x18e4
-    1b8e:	e7d9		b	0x1b44
-    1b90:	4850		ldr	r0, =0x83ff20	; via 0x1cd4
-    1b92:	6800		ldr	r0, [r0, #0]
-    1b94:	2800		cmp	r0, #0
-    1b96:	d0ce		beq	0x1b36
-    1b98:	3801		sub	r0, #1
-    1b9a:	2800		cmp	r0, #0
-    1b9c:	d0d4		beq	0x1b48
-    1b9e:	3801		sub	r0, #1
-    1ba0:	2800		cmp	r0, #0
-    1ba2:	d0d7		beq	0x1b54
-    1ba4:	3801		sub	r0, #1
-    1ba6:	2800		cmp	r0, #0
-    1ba8:	d0da		beq	0x1b60
-    1baa:	3801		sub	r0, #1
-    1bac:	2800		cmp	r0, #0
-    1bae:	d0dd		beq	0x1b6c
-    1bb0:	3801		sub	r0, #1
-    1bb2:	2800		cmp	r0, #0
-    1bb4:	d0df		beq	0x1b76
-    1bb6:	3801		sub	r0, #1
-    1bb8:	2800		cmp	r0, #0
-    1bba:	d0e3		beq	0x1b84
-    1bbc:	9804		ldr	r0, [sp, #16]	; 0x10
-    1bbe:	2800		cmp	r0, #0
-    1bc0:	d1a3		bne	0x1b0a
-    1bc2:	9805		ldr	r0, [sp, #20]	; 0x14
-    1bc4:	b006		add	sp, #24	; 0x18
-    1bc6:	bd00		pop	{pc}
-    1bc8:	4942		ldr	r1, =0x83ff20	; via 0x1cd4
-    1bca:	2001		mov	r0, #1
-    1bcc:	6008		str	r0, [r1, #0]
-    1bce:	4842		ldr	r0, =0x83ff1b	; via 0x1cd8
-    1bd0:	2100		mov	r1, #0
-    1bd2:	7001		strb	r1, [r0, #0]
-    1bd4:	4841		ldr	r0, =0x83ff18	; via 0x1cdc
-    1bd6:	7001		strb	r1, [r0, #0]
-    1bd8:	4770		bx	lr
-    1bda:	46c0		nop			(mov r8, r8)
-
-    1bdc:	0083ff14
-
-; hoping this routine will be the same as 0x1c38 in the C139 version
-; same length, looks the same on inspection
-    1be0:	b081		sub	sp, #4
-    1be2:	483f		ldr	r0, =0xffff5800	; via 0x1ce0
-    1be4:	9000		str	r0, [sp, #0]
-    1be6:	493f		ldr	r1, =0xffff6000	; via 0x1ce4
-    1be8:	2002		mov	r0, #2
-    1bea:	880a		ldrh	r2, [r1, #0]
-    1bec:	4310		orr	r0, r2
-    1bee:	8008		strh	r0, [r1, #0]
-    1bf0:	483c		ldr	r0, =0xffff6000	; via 0x1ce4
-    1bf2:	8801		ldrh	r1, [r0, #0]
-    1bf4:	0849		lsr	r1, r1, #1
-    1bf6:	0049		lsl	r1, r1, #1
-    1bf8:	8001		strh	r1, [r0, #0]
-    1bfa:	493a		ldr	r1, =0xffff6000	; via 0x1ce4
-    1bfc:	8808		ldrh	r0, [r1, #0]
-    1bfe:	2202		mov	r2, #2
-    1c00:	4390		bic	r0, r2
-    1c02:	8008		strh	r0, [r1, #0]
-    1c04:	9900		ldr	r1, [sp, #0]
-    1c06:	2007		mov	r0, #7
-    1c08:	7208		strb	r0, [r1, #8]
-    1c0a:	9900		ldr	r1, [sp, #0]
-    1c0c:	20bf		mov	r0, #191	; 0xbf
-    1c0e:	70c8		strb	r0, [r1, #3]
-    1c10:	9800		ldr	r0, [sp, #0]
-    1c12:	1c81		add	r1, r0, #2
-    1c14:	2010		mov	r0, #16	; 0x10
-    1c16:	880a		ldrh	r2, [r1, #0]
-    1c18:	4310		orr	r0, r2
-    1c1a:	8008		strh	r0, [r1, #0]
-    1c1c:	9800		ldr	r0, [sp, #0]
-    1c1e:	2180		mov	r1, #128	; 0x80
-    1c20:	70c1		strb	r1, [r0, #3]
-    1c22:	9800		ldr	r0, [sp, #0]
-    1c24:	2107		mov	r1, #7
-    1c26:	7081		strb	r1, [r0, #2]
-    1c28:	9800		ldr	r0, [sp, #0]
-    1c2a:	21bf		mov	r1, #191	; 0xbf
-    1c2c:	70c1		strb	r1, [r0, #3]
-    1c2e:	9800		ldr	r0, [sp, #0]
-    1c30:	2107		mov	r1, #7
-    1c32:	7001		strb	r1, [r0, #0]
-    1c34:	9800		ldr	r0, [sp, #0]
-    1c36:	2100		mov	r1, #0
-    1c38:	7041		strb	r1, [r0, #1]
-    1c3a:	9800		ldr	r0, [sp, #0]
-    1c3c:	2103		mov	r1, #3
-    1c3e:	70c1		strb	r1, [r0, #3]
-    1c40:	9800		ldr	r0, [sp, #0]
-    1c42:	2100		mov	r1, #0
-    1c44:	7201		strb	r1, [r0, #8]
-    1c46:	4828		ldr	r0, =0xffff5000	; via 0x1ce8
-    1c48:	9000		str	r0, [sp, #0]
-    1c4a:	9800		ldr	r0, [sp, #0]
-    1c4c:	2107		mov	r1, #7
-    1c4e:	7201		strb	r1, [r0, #8]
-    1c50:	9900		ldr	r1, [sp, #0]
-    1c52:	20bf		mov	r0, #191	; 0xbf
-    1c54:	70c8		strb	r0, [r1, #3]
-    1c56:	9800		ldr	r0, [sp, #0]
-    1c58:	1c80		add	r0, r0, #2
-    1c5a:	2110		mov	r1, #16	; 0x10
-    1c5c:	8802		ldrh	r2, [r0, #0]
-    1c5e:	4311		orr	r1, r2
-    1c60:	8001		strh	r1, [r0, #0]
-    1c62:	9800		ldr	r0, [sp, #0]
-    1c64:	2180		mov	r1, #128	; 0x80
-    1c66:	70c1		strb	r1, [r0, #3]
-    1c68:	9800		ldr	r0, [sp, #0]
-    1c6a:	2107		mov	r1, #7
-    1c6c:	7081		strb	r1, [r0, #2]
-    1c6e:	9800		ldr	r0, [sp, #0]
-    1c70:	21bf		mov	r1, #191	; 0xbf
-    1c72:	70c1		strb	r1, [r0, #3]
-    1c74:	9800		ldr	r0, [sp, #0]
-    1c76:	2107		mov	r1, #7
-    1c78:	7001		strb	r1, [r0, #0]
-    1c7a:	9800		ldr	r0, [sp, #0]
-    1c7c:	2100		mov	r1, #0
-    1c7e:	7041		strb	r1, [r0, #1]
-    1c80:	9900		ldr	r1, [sp, #0]
-    1c82:	2003		mov	r0, #3
-    1c84:	70c8		strb	r0, [r1, #3]
-    1c86:	9800		ldr	r0, [sp, #0]
-    1c88:	2100		mov	r1, #0
-    1c8a:	7201		strb	r1, [r0, #8]
-    1c8c:	b001		add	sp, #4
-    1c8e:	4770		bx	lr
-
-    1c90:	b081		sub	sp, #4
-    1c92:	4669		mov	r1, sp
-    1c94:	7008		strb	r0, [r1, #0]
-    1c96:	490c		ldr	r1, =0x864	; via 0x1cc8
-    1c98:	4668		mov	r0, sp
-    1c9a:	7800		ldrb	r0, [r0, #0]
-    1c9c:	0080		lsl	r0, r0, #2
-    1c9e:	5808		ldr	r0, [r1, r0]
-    1ca0:	7941		ldrb	r1, [r0, #5]
-    1ca2:	4668		mov	r0, sp
-    1ca4:	7041		strb	r1, [r0, #1]
-    1ca6:	7840		ldrb	r0, [r0, #1]
-    1ca8:	09c0		lsr	r0, r0, #7
-    1caa:	d20b		bcs	0x1cc4
-    1cac:	4806		ldr	r0, =0x864	; via 0x1cc8
-    1cae:	4669		mov	r1, sp
-    1cb0:	7809		ldrb	r1, [r1, #0]
-    1cb2:	0089		lsl	r1, r1, #2
-    1cb4:	5840		ldr	r0, [r0, r1]
-    1cb6:	7940		ldrb	r0, [r0, #5]
-    1cb8:	4669		mov	r1, sp
-    1cba:	7048		strb	r0, [r1, #1]
-    1cbc:	4668		mov	r0, sp
-    1cbe:	7840		ldrb	r0, [r0, #1]
-    1cc0:	09c0		lsr	r0, r0, #7
-    1cc2:	d3f3		bcc	0x1cac
-    1cc4:	b001		add	sp, #4
-    1cc6:	4770		bx	lr
-    1cc8:	0864		lsr	r4, r4, #1
-    1cca:	0000		lsl	r0, r0, #0
-    1ccc:	5805		ldr	r5, [r0, r0]
-    1cce:	ffff		<half-bl>
-    1cd0:	5005		str	r5, [r0, r0]
-    1cd2:	ffff		<half-bl>
-    1cd4:	ff20		<half-bl>
-    1cd6:	0083		lsl	r3, r0, #2
-    1cd8:	ff1b		<half-bl>
-    1cda:	0083		lsl	r3, r0, #2
-    1cdc:	ff18		<half-bl>
-    1cde:	0083		lsl	r3, r0, #2
-    1ce0:	5800		ldr	r0, [r0, r0]
-    1ce2:	ffff		<half-bl>
-    1ce4:	6000		str	r0, [r0, #0]
-    1ce6:	ffff		<half-bl>
-    1ce8:	5000		str	r0, [r0, r0]
-    1cea:	ffff		<half-bl>
-    1cec:	b500		push	{lr}
-    1cee:	b087		sub	sp, #28	; 0x1c
-    1cf0:	466b		mov	r3, sp
-    1cf2:	721a		strb	r2, [r3, #8]
-    1cf4:	9101		str	r1, [sp, #4]
-    1cf6:	9000		str	r0, [sp, #0]
-    1cf8:	9900		ldr	r1, [sp, #0]
-    1cfa:	2000		mov	r0, #0
-    1cfc:	8008		strh	r0, [r1, #0]
-    1cfe:	9801		ldr	r0, [sp, #4]
-    1d00:	2100		mov	r1, #0
-    1d02:	8001		strh	r1, [r0, #0]
-    1d04:	2000		mov	r0, #0
-    1d06:	9003		str	r0, [sp, #12]	; 0xc
-    1d08:	f7ff ff5e	bl	0x1bc8
-    1d0c:	a805		add	r0, sp, #20	; 0x14
-    1d0e:	a906		add	r1, sp, #24	; 0x18
-    1d10:	466a		mov	r2, sp
-    1d12:	7a12		ldrb	r2, [r2, #8]
-    1d14:	f7ff feee	bl	0x1af4
-    1d18:	9004		str	r0, [sp, #16]	; 0x10
-    1d1a:	9804		ldr	r0, [sp, #16]	; 0x10
-    1d1c:	2800		cmp	r0, #0
-    1d1e:	d11f		bne	0x1d60
-    1d20:	9803		ldr	r0, [sp, #12]	; 0xc
-    1d22:	2800		cmp	r0, #0
-    1d24:	d11c		bne	0x1d60
-    1d26:	9800		ldr	r0, [sp, #0]
-    1d28:	4669		mov	r1, sp
-    1d2a:	8b0a		ldrh	r2, [r1, #24]	; 0x18
-    1d2c:	8801		ldrh	r1, [r0, #0]
-    1d2e:	1851		add	r1, r2, r1
-    1d30:	8001		strh	r1, [r0, #0]
-    1d32:	9905		ldr	r1, [sp, #20]	; 0x14
-    1d34:	4668		mov	r0, sp
-    1d36:	8b00		ldrh	r0, [r0, #24]	; 0x18
-    1d38:	8008		strh	r0, [r1, #0]
-    1d3a:	9801		ldr	r0, [sp, #4]
-    1d3c:	9905		ldr	r1, [sp, #20]	; 0x14
-    1d3e:	8809		ldrh	r1, [r1, #0]
-    1d40:	8802		ldrh	r2, [r0, #0]
-    1d42:	1889		add	r1, r1, r2
-    1d44:	8001		strh	r1, [r0, #0]
-    1d46:	a805		add	r0, sp, #20	; 0x14
-    1d48:	a906		add	r1, sp, #24	; 0x18
-    1d4a:	466a		mov	r2, sp
-    1d4c:	7a12		ldrb	r2, [r2, #8]
-    1d4e:	f7ff fed1	bl	0x1af4
-    1d52:	9004		str	r0, [sp, #16]	; 0x10
-    1d54:	9804		ldr	r0, [sp, #16]	; 0x10
-    1d56:	2800		cmp	r0, #0
-    1d58:	d102		bne	0x1d60
-    1d5a:	9803		ldr	r0, [sp, #12]	; 0xc
-    1d5c:	2800		cmp	r0, #0
-    1d5e:	d0e2		beq	0x1d26
-    1d60:	9804		ldr	r0, [sp, #16]	; 0x10
-    1d62:	2801		cmp	r0, #1
-    1d64:	d101		bne	0x1d6a
-    1d66:	2004		mov	r0, #4
-    1d68:	9003		str	r0, [sp, #12]	; 0xc
-    1d6a:	9803		ldr	r0, [sp, #12]	; 0xc
-    1d6c:	b007		add	sp, #28	; 0x1c
-    1d6e:	bd00		pop	{pc}
-    1d70:	b089		sub	sp, #36	; 0x24
-    1d72:	201a		mov	r0, #26	; 0x1a
-    1d74:	9005		str	r0, [sp, #20]	; 0x14
-    1d76:	2018		mov	r0, #24	; 0x18
-    1d78:	9006		str	r0, [sp, #24]	; 0x18
-    1d7a:	2000		mov	r0, #0
-    1d7c:	9008		str	r0, [sp, #32]	; 0x20
-    1d7e:	4669		mov	r1, sp
-    1d80:	9805		ldr	r0, [sp, #20]	; 0x14
-    1d82:	8800		ldrh	r0, [r0, #0]
-    1d84:	8008		strh	r0, [r1, #0]
-    1d86:	9806		ldr	r0, [sp, #24]	; 0x18
-    1d88:	8800		ldrh	r0, [r0, #0]
-    1d8a:	8048		strh	r0, [r1, #2]
-    1d8c:	4668		mov	r0, sp
-    1d8e:	8841		ldrh	r1, [r0, #2]
-    1d90:	8800		ldrh	r0, [r0, #0]
-    1d92:	0400		lsl	r0, r0, #16
-    1d94:	1808		add	r0, r1, r0
-    1d96:	9001		str	r0, [sp, #4]
-    1d98:	9801		ldr	r0, [sp, #4]
-    1d9a:	0200		lsl	r0, r0, #8
-    1d9c:	0a00		lsr	r0, r0, #8
-    1d9e:	0080		lsl	r0, r0, #2
-    1da0:	3008		add	r0, #8
-    1da2:	9007		str	r0, [sp, #28]	; 0x1c
-    1da4:	9807		ldr	r0, [sp, #28]	; 0x1c
-    1da6:	3018		add	r0, #24	; 0x18
-    1da8:	9002		str	r0, [sp, #8]
-    1daa:	9802		ldr	r0, [sp, #8]
-    1dac:	9004		str	r0, [sp, #16]	; 0x10
-    1dae:	9802		ldr	r0, [sp, #8]
-    1db0:	3002		add	r0, #2
-    1db2:	9003		str	r0, [sp, #12]	; 0xc
-    1db4:	9803		ldr	r0, [sp, #12]	; 0xc
-    1db6:	8801		ldrh	r1, [r0, #0]
-    1db8:	4806		ldr	r0, =0xffff	; via 0x1dd4
-    1dba:	4281		cmp	r1, r0
-    1dbc:	d104		bne	0x1dc8
-    1dbe:	9804		ldr	r0, [sp, #16]	; 0x10
-    1dc0:	8800		ldrh	r0, [r0, #0]
-    1dc2:	4904		ldr	r1, =0xffff	; via 0x1dd4
-    1dc4:	4288		cmp	r0, r1
-    1dc6:	d001		beq	0x1dcc
-    1dc8:	2001		mov	r0, #1
-    1dca:	9008		str	r0, [sp, #32]	; 0x20
-    1dcc:	9808		ldr	r0, [sp, #32]	; 0x20
-    1dce:	b009		add	sp, #36	; 0x24
-    1dd0:	4770		bx	lr
-    1dd2:	46c0		nop			(mov r8, r8)
-
-    1dd4:	0000ffff
-
-; ARM->Thumb call veneer around 0xad2 routine
-    1dd8:	e92d4000	stmdb	sp!, {lr}
-    1ddc:	e28fe001	add	lr, pc, #1
-    1de0:	e12fff1e	bx	lr
-    1de4:	f7fe fe75	bl	0xad2
-    1de8:	4778		bx	pc
-    1dea:	46c0		nop			(mov r8, r8)
-    1dec:	e8bd8000	ldmia	sp!, {pc}
-
-<1DF0-1EFF: all FFs>
-
-    1f00:	00000001
-
-<1F04-end: all FFs>
Binary file compal/c123-newboot.bin has changed
--- a/compal/c123-newboot.disasm	Sat Jan 14 06:09:25 2023 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2708 +0,0 @@
-RESET entry and exception vectors:
-       0:	ea000225	b	0x89c
-       4:	ea000825	b	0x20a0
-       8:	ea000825	b	0x20a4
-       c:	ea000825	b	0x20a8
-      10:	ea000825	b	0x20ac
-      14:	ea000825	b	0x20b0
-      18:	ea000825	b	0x20b4
-      1c:	ea000825	b	0x20b8
-
-; magic words?
-      20:	4491582a
-      24:	4491582b
-      28:	44915857
-      2c:	44915858
-
-<30-7FF: all FFs>
-
-00000800:  42 4F 4F 54 2E 39 30 2E  30 34 00 00 00 00 00 00  BOOT.90.04......
-00000810:  31 30 30 33 01 04 00 00  FF FF FF FF FF FF FF FF  1003............
-00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................
-
-; everything up to 0x958 is the same as in the classic versions
-     830:	00000006
-     834:	00000000
-     838:	00000000
-     83c:	00000048
-     840:	00000044
-     844:	00000052
-     848:	0000001b
-     84c:	00000005
-     850:	00000000
-     854:	00000000
-     858:	00000000
-     85c:	00000000
-     860:	000000fa
-     864:	ffff5800
-     868:	ffff5000
-     86c:	fffffb00
-     870:	02a102a1
-     874:	028302a1
-     878:	00c00281
-     87c:	002a0040
-     880:	00000040
-     884:	fffffd00
-     888:	ffff9800
-     88c:	fffffb10
-     890:	ffffff08
-     894:	20061081
-     898:	00000800
-
-; RESET entry point
-     89c:	e51f1020	ldr	r1, =0xfffffd00	; via 0x884
-     8a0:	e1d120b2	ldrh	r2, [r1, #2]
-     8a4:	e51f002c	ldr	r0, =0x40	; via 0x880
-     8a8:	e1800002	orr	r0, r0, r2
-     8ac:	e1c100b2	strh	r0, [r1, #2]
-     8b0:	e51f1030	ldr	r1, =0xffff9800	; via 0x888
-     8b4:	e15f22b6	ldrh	r2, =0x2006	; via 0x896
-     8b8:	e1c120b0	strh	r2, [r1]
-     8bc:	e5912000	ldr	r2, [r1]
-     8c0:	e2022001	and	r2, r2, #1
-     8c4:	e3520001	cmp	r2, #1
-     8c8:	0afffffb	beq	0x8bc
-     8cc:	e51f1050	ldr	r1, =0xfffffd00	; via 0x884
-     8d0:	e15f24b4	ldrh	r2, =0x1081	; via 0x894
-     8d4:	e1c120b0	strh	r2, [r1]
-     8d8:	e51f1054	ldr	r1, =0xfffffb10	; via 0x88c
-     8dc:	e15f24bc	ldrh	r2, =0x800	; via 0x898
-     8e0:	e1d100b0	ldrh	r0, [r1]
-     8e4:	e1800002	orr	r0, r0, r2
-     8e8:	e1c100b0	strh	r0, [r1]
-     8ec:	e51f1064	ldr	r1, =0xffffff08	; via 0x890
-     8f0:	e15f25be	ldrh	r2, =0x0	; via 0x89a
-     8f4:	e1c120b0	strh	r2, [r1]
-     8f8:	e51f1094	ldr	r1, =0xfffffb00	; via 0x86c
-     8fc:	e15f29b4	ldrh	r2, =0x2a1	; via 0x870
-     900:	e1c120b0	strh	r2, [r1]
-     904:	e15f29ba	ldrh	r2, =0x2a1	; via 0x872
-     908:	e1c120b2	strh	r2, [r1, #2]
-     90c:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x874
-     910:	e1c120b4	strh	r2, [r1, #4]
-     914:	e15f2ab6	ldrh	r2, =0x283	; via 0x876
-     918:	e1c120b6	strh	r2, [r1, #6]
-     91c:	e15f2abc	ldrh	r2, =0x281	; via 0x878
-     920:	e1c120ba	strh	r2, [r1, #10]	; 0xa
-     924:	e15f2bb2	ldrh	r2, =0xc0	; via 0x87a
-     928:	e1c120bc	strh	r2, [r1, #12]	; 0xc
-     92c:	e15f2bb8	ldrh	r2, =0x40	; via 0x87c
-     930:	e1c120b8	strh	r2, [r1, #8]
-     934:	e15f2bbe	ldrh	r2, =0x2a	; via 0x87e
-     938:	e1c120be	strh	r2, [r1, #14]	; 0xe
-     93c:	e59f0020	ldr	r0, =0x83e730	; via 0x964
-     940:	e3a01b01	mov	r1, #1024	; 0x400
-     944:	e2411004	sub	r1, r1, #4
-     948:	e0802001	add	r2, r0, r1
-     94c:	e3c22003	bic	r2, r2, #3
-     950:	e1a0d002	mov	sp, r2
-; business logic
-     954:	e92d100f	stmdb	sp!, {r0, r1, r2, r3, r12}
-     958:	eb000544	bl	0x1e70
-     95c:	e8bd100f	ldmia	sp!, {r0, r1, r2, r3, r12}
-     960:	ea0005e4	b	0x20f8
-
-; stack address, varies by version
-     964:	0083e730
-
-     968:	4961		ldr	r1, =0xfffffa08	; via 0xaf0
-     96a:	4862		ldr	r0, =0xffff	; via 0xaf4
-     96c:	8008		strh	r0, [r1, #0]
-     96e:	4862		ldr	r0, =0xfffffa0a	; via 0xaf8
-     970:	211f		mov	r1, #31	; 0x1f
-     972:	8001		strh	r1, [r0, #0]
-     974:	4861		ldr	r0, =0xfffff804	; via 0xafc
-     976:	21f5		mov	r1, #245	; 0xf5
-     978:	8001		strh	r1, [r0, #0]
-     97a:	21a0		mov	r1, #160	; 0xa0
-     97c:	8001		strh	r1, [r0, #0]
-     97e:	4860		ldr	r0, =0xffff9800	; via 0xb00
-     980:	4960		ldr	r1, =0x2002	; via 0xb04
-     982:	8001		strh	r1, [r0, #0]
-     984:	485e		ldr	r0, =0xffff9800	; via 0xb00
-     986:	8800		ldrh	r0, [r0, #0]
-     988:	0840		lsr	r0, r0, #1
-     98a:	d2fb		bcs	0x984
-     98c:	495e		ldr	r1, =0xfffffd00	; via 0xb08
-     98e:	485f		ldr	r0, =0x1001	; via 0xb0c
-     990:	8008		strh	r0, [r1, #0]
-     992:	46f7		mov	pc, lr
-
-     994:	b500		push	{lr}
-     996:	b0ff		sub	sp, #508	; 0x1fc
-     998:	b0ca		sub	sp, #296	; 0x128
-     99a:	2000		mov	r0, #0
-     99c:	9001		str	r0, [sp, #4]
-     99e:	9801		ldr	r0, [sp, #4]
-     9a0:	2800		cmp	r0, #0
-     9a2:	d14e		bne	0xa42
-     9a4:	a846		add	r0, sp, #280	; 0x118
-     9a6:	2100		mov	r1, #0
-     9a8:	f001 f88e	bl	0x1ac8
-     9ac:	a9c8		add	r1, sp, #800	; 0x320
-     9ae:	7008		strb	r0, [r1, #0]
-     9b0:	a846		add	r0, sp, #280	; 0x118
-     9b2:	a902		add	r1, sp, #8
-     9b4:	f000 fb4c	bl	0x1050
-     9b8:	9000		str	r0, [sp, #0]
-     9ba:	9800		ldr	r0, [sp, #0]
-     9bc:	2800		cmp	r0, #0
-     9be:	d01b		beq	0x9f8
-     9c0:	a924		add	r1, sp, #144	; 0x90
-     9c2:	4668		mov	r0, sp
-     9c4:	7a00		ldrb	r0, [r0, #8]
-     9c6:	7008		strb	r0, [r1, #0]
-     9c8:	2191		mov	r1, #145	; 0x91
-     9ca:	466a		mov	r2, sp
-     9cc:	4668		mov	r0, sp
-     9ce:	7800		ldrb	r0, [r0, #0]
-     9d0:	5488		strb	r0, [r1, r2]
-     9d2:	e01b		b	0xa0c
-     9d4:	a802		add	r0, sp, #8
-     9d6:	a924		add	r1, sp, #144	; 0x90
-     9d8:	f000 fe28	bl	0x162c
-     9dc:	e016		b	0xa0c
-     9de:	a802		add	r0, sp, #8
-     9e0:	a924		add	r1, sp, #144	; 0x90
-     9e2:	aac8		add	r2, sp, #800	; 0x320
-     9e4:	7812		ldrb	r2, [r2, #0]
-     9e6:	f000 fe35	bl	0x1654
-     9ea:	e00f		b	0xa0c
-     9ec:	a802		add	r0, sp, #8
-     9ee:	a924		add	r1, sp, #144	; 0x90
-     9f0:	f000 fe67	bl	0x16c2
-     9f4:	90c7		str	r0, [sp, #796]	; 0x31c
-     9f6:	e009		b	0xa0c
-     9f8:	4668		mov	r0, sp
-     9fa:	7a00		ldrb	r0, [r0, #8]
-     9fc:	2800		cmp	r0, #0
-     9fe:	d0e9		beq	0x9d4
-     a00:	3809		sub	r0, #9
-     a02:	2800		cmp	r0, #0
-     a04:	d0eb		beq	0x9de
-     a06:	3801		sub	r0, #1
-     a08:	2800		cmp	r0, #0
-     a0a:	d0ef		beq	0x9ec
-     a0c:	a824		add	r0, sp, #144	; 0x90
-     a0e:	a986		add	r1, sp, #536	; 0x218
-     a10:	f000 fc01	bl	0x1216
-     a14:	2800		cmp	r0, #0
-     a16:	d111		bne	0xa3c
-     a18:	a886		add	r0, sp, #536	; 0x218
-     a1a:	a9c8		add	r1, sp, #800	; 0x320
-     a1c:	7809		ldrb	r1, [r1, #0]
-     a1e:	f001 f828	bl	0x1a72
-     a22:	2800		cmp	r0, #0
-     a24:	d00a		beq	0xa3c
-     a26:	4668		mov	r0, sp
-     a28:	7a00		ldrb	r0, [r0, #8]
-     a2a:	280a		cmp	r0, #10	; 0xa
-     a2c:	d106		bne	0xa3c
-     a2e:	a8c8		add	r0, sp, #800	; 0x320
-     a30:	7800		ldrb	r0, [r0, #0]
-     a32:	f001 f979	bl	0x1d28
-     a36:	98c7		ldr	r0, [sp, #796]	; 0x31c
-     a38:	f000 fb08	bl	0x104c
-     a3c:	9801		ldr	r0, [sp, #4]
-     a3e:	2800		cmp	r0, #0
-     a40:	d0b0		beq	0x9a4
-     a42:	b07f		add	sp, #508	; 0x1fc
-     a44:	b04a		add	sp, #296	; 0x128
-     a46:	bd00		pop	{pc}
-
-     a48:	b500		push	{lr}
-     a4a:	b0ff		sub	sp, #508	; 0x1fc
-     a4c:	b0c8		sub	sp, #288	; 0x120
-     a4e:	2000		mov	r0, #0
-     a50:	9000		str	r0, [sp, #0]
-     a52:	a846		add	r0, sp, #280	; 0x118
-     a54:	2101		mov	r1, #1
-     a56:	f001 f837	bl	0x1ac8
-     a5a:	a9c6		add	r1, sp, #792	; 0x318
-     a5c:	7008		strb	r0, [r1, #0]
-     a5e:	a8c6		add	r0, sp, #792	; 0x318
-     a60:	7800		ldrb	r0, [r0, #0]
-     a62:	28ff		cmp	r0, #255	; 0xff
-     a64:	d031		beq	0xaca
-     a66:	a846		add	r0, sp, #280	; 0x118
-     a68:	a902		add	r1, sp, #8
-     a6a:	f000 faf1	bl	0x1050
-     a6e:	9001		str	r0, [sp, #4]
-     a70:	9801		ldr	r0, [sp, #4]
-     a72:	2800		cmp	r0, #0
-     a74:	d014		beq	0xaa0
-     a76:	a924		add	r1, sp, #144	; 0x90
-     a78:	4668		mov	r0, sp
-     a7a:	7a00		ldrb	r0, [r0, #8]
-     a7c:	7008		strb	r0, [r1, #0]
-     a7e:	2291		mov	r2, #145	; 0x91
-     a80:	4668		mov	r0, sp
-     a82:	4669		mov	r1, sp
-     a84:	7909		ldrb	r1, [r1, #4]
-     a86:	5411		strb	r1, [r2, r0]
-     a88:	a824		add	r0, sp, #144	; 0x90
-     a8a:	a986		add	r1, sp, #536	; 0x218
-     a8c:	f000 fbc3	bl	0x1216
-     a90:	2800		cmp	r0, #0
-     a92:	d11a		bne	0xaca
-     a94:	a886		add	r0, sp, #536	; 0x218
-     a96:	a9c6		add	r1, sp, #792	; 0x318
-     a98:	7809		ldrb	r1, [r1, #0]
-     a9a:	f000 ffea	bl	0x1a72
-     a9e:	e014		b	0xaca
-     aa0:	4668		mov	r0, sp
-     aa2:	7a00		ldrb	r0, [r0, #8]
-     aa4:	2800		cmp	r0, #0
-     aa6:	d110		bne	0xaca
-     aa8:	a802		add	r0, sp, #8
-     aaa:	a924		add	r1, sp, #144	; 0x90
-     aac:	f000 fdbe	bl	0x162c
-     ab0:	a824		add	r0, sp, #144	; 0x90
-     ab2:	a986		add	r1, sp, #536	; 0x218
-     ab4:	f000 fbaf	bl	0x1216
-     ab8:	2800		cmp	r0, #0
-     aba:	d104		bne	0xac6
-     abc:	a886		add	r0, sp, #536	; 0x218
-     abe:	a9c6		add	r1, sp, #792	; 0x318
-     ac0:	7809		ldrb	r1, [r1, #0]
-     ac2:	f000 ffd6	bl	0x1a72
-     ac6:	2001		mov	r0, #1
-     ac8:	9000		str	r0, [sp, #0]
-     aca:	9800		ldr	r0, [sp, #0]
-     acc:	b07f		add	sp, #508	; 0x1fc
-     ace:	b048		add	sp, #288	; 0x120
-     ad0:	bd00		pop	{pc}
-
-; main function
-     ad2:	b500		push	{lr}
-     ad4:	b082		sub	sp, #8
-     ad6:	f7ff ff47	bl	0x968
-     ada:	f001 f8cd	bl	0x1c78
-     ade:	f000 fd93	bl	0x1608
-     ae2:	f000 f81f	bl	0xb24
-     ae6:	f000 f98b	bl	0xe00
-     aea:	b002		add	sp, #8
-     aec:	bd00		pop	{pc}
-     aee:	46c0		nop			(mov r8, r8)
-
-     af0:	fffffa08
-     af4:	0000ffff
-     af8:	fffffa0a
-     afc:	fffff804
-     b00:	ffff9800
-     b04:	00002002
-     b08:	fffffd00
-     b0c:	00001001
-
-     b10:	e3a0d502	mov	sp, #8388608	; 0x800000
-     b14:	e28dd802	add	sp, sp, #131072	; 0x20000
-     b18:	e28fe005	add	lr, pc, #5
-     b1c:	e12fff1e	bx	lr
-     b20:	e1a00000	mov	r0, r0
-
-; same as in the familiar versions
-     b24:	b500		push	{lr}
-     b26:	b082		sub	sp, #8
-     b28:	49f0		ldr	r1, =0x83ff00	; via 0xeec
-     b2a:	48f1		ldr	r0, =0xffff5800	; via 0xef0
-     b2c:	6008		str	r0, [r1, #0]
-     b2e:	2000		mov	r0, #0
-     b30:	2102		mov	r1, #2
-     b32:	f000 fa1d	bl	0xf70
-     b36:	2000		mov	r0, #0
-     b38:	9000		str	r0, [sp, #0]
-     b3a:	9900		ldr	r1, [sp, #0]
-     b3c:	2005		mov	r0, #5
-     b3e:	0300		lsl	r0, r0, #12
-     b40:	4281		cmp	r1, r0
-     b42:	d207		bcs	0xb54
-     b44:	9800		ldr	r0, [sp, #0]
-     b46:	3001		add	r0, #1
-     b48:	9000		str	r0, [sp, #0]
-     b4a:	9900		ldr	r1, [sp, #0]
-     b4c:	2005		mov	r0, #5
-     b4e:	0300		lsl	r0, r0, #12
-     b50:	4281		cmp	r1, r0
-     b52:	d3f7		bcc	0xb44
-     b54:	f000 f82a	bl	0xbac
-     b58:	2000		mov	r0, #0
-     b5a:	2107		mov	r1, #7
-     b5c:	f000 fa08	bl	0xf70
-     b60:	2000		mov	r0, #0
-     b62:	9000		str	r0, [sp, #0]
-     b64:	9900		ldr	r1, [sp, #0]
-     b66:	2005		mov	r0, #5
-     b68:	0300		lsl	r0, r0, #12
-     b6a:	4281		cmp	r1, r0
-     b6c:	d207		bcs	0xb7e
-     b6e:	9800		ldr	r0, [sp, #0]
-     b70:	3001		add	r0, #1
-     b72:	9000		str	r0, [sp, #0]
-     b74:	9900		ldr	r1, [sp, #0]
-     b76:	2005		mov	r0, #5
-     b78:	0300		lsl	r0, r0, #12
-     b7a:	4281		cmp	r1, r0
-     b7c:	d3f7		bcc	0xb6e
-     b7e:	f000 f815	bl	0xbac
-     b82:	2000		mov	r0, #0
-     b84:	9001		str	r0, [sp, #4]
-     b86:	9000		str	r0, [sp, #0]
-     b88:	9900		ldr	r1, [sp, #0]
-     b8a:	2005		mov	r0, #5
-     b8c:	0400		lsl	r0, r0, #16
-     b8e:	4281		cmp	r1, r0
-     b90:	d20a		bcs	0xba8
-     b92:	9801		ldr	r0, [sp, #4]
-     b94:	3001		add	r0, #1
-     b96:	9001		str	r0, [sp, #4]
-     b98:	9800		ldr	r0, [sp, #0]
-     b9a:	3001		add	r0, #1
-     b9c:	9000		str	r0, [sp, #0]
-     b9e:	9900		ldr	r1, [sp, #0]
-     ba0:	2005		mov	r0, #5
-     ba2:	0400		lsl	r0, r0, #16
-     ba4:	4281		cmp	r1, r0
-     ba6:	d3f4		bcc	0xb92
-     ba8:	b002		add	sp, #8
-     baa:	bd00		pop	{pc}
-
-     bac:	b500		push	{lr}
-     bae:	b08a		sub	sp, #40	; 0x28
-     bb0:	2000		mov	r0, #0
-     bb2:	9002		str	r0, [sp, #8]
-     bb4:	4669		mov	r1, sp
-     bb6:	7708		strb	r0, [r1, #28]	; 0x1c
-     bb8:	7748		strb	r0, [r1, #29]	; 0x1d
-     bba:	4668		mov	r0, sp
-     bbc:	2100		mov	r1, #0
-     bbe:	7781		strb	r1, [r0, #30]	; 0x1e
-     bc0:	2000		mov	r0, #0
-     bc2:	9008		str	r0, [sp, #32]	; 0x20
-     bc4:	a809		add	r0, sp, #36	; 0x24
-     bc6:	7001		strb	r1, [r0, #0]
-     bc8:	2025		mov	r0, #37	; 0x25
-     bca:	4669		mov	r1, sp
-     bcc:	2200		mov	r2, #0
-     bce:	5442		strb	r2, [r0, r1]
-     bd0:	48e6		ldr	r0, =0x800100	; via 0xf6c
-     bd2:	9006		str	r0, [sp, #24]	; 0x18
-     bd4:	201b		mov	r0, #27	; 0x1b
-     bd6:	f000 f970	bl	0xeba
-     bda:	20f6		mov	r0, #246	; 0xf6
-     bdc:	f000 f96d	bl	0xeba
-     be0:	2002		mov	r0, #2
-     be2:	f000 f96a	bl	0xeba
-     be6:	2000		mov	r0, #0
-     be8:	f000 f967	bl	0xeba
-     bec:	2041		mov	r0, #65	; 0x41
-     bee:	f000 f964	bl	0xeba
-     bf2:	2001		mov	r0, #1
-     bf4:	f000 f961	bl	0xeba
-     bf8:	2040		mov	r0, #64	; 0x40
-     bfa:	f000 f95e	bl	0xeba
-     bfe:	2001		mov	r0, #1
-     c00:	0300		lsl	r0, r0, #12
-     c02:	f000 f977	bl	0xef4
-     c06:	281b		cmp	r0, #27	; 0x1b
-     c08:	d000		beq	0xc0c
-     c0a:	e0f7		b	0xdfc
-     c0c:	2001		mov	r0, #1
-     c0e:	0300		lsl	r0, r0, #12
-     c10:	f000 f970	bl	0xef4
-     c14:	28f6		cmp	r0, #246	; 0xf6
-     c16:	d000		beq	0xc1a
-     c18:	e0f0		b	0xdfc
-     c1a:	2001		mov	r0, #1
-     c1c:	0300		lsl	r0, r0, #12
-     c1e:	f000 f969	bl	0xef4
-     c22:	2802		cmp	r0, #2
-     c24:	d000		beq	0xc28
-     c26:	e0e9		b	0xdfc
-     c28:	2001		mov	r0, #1
-     c2a:	0300		lsl	r0, r0, #12
-     c2c:	f000 f962	bl	0xef4
-     c30:	2800		cmp	r0, #0
-     c32:	d000		beq	0xc36
-     c34:	e0e2		b	0xdfc
-     c36:	2001		mov	r0, #1
-     c38:	0300		lsl	r0, r0, #12
-     c3a:	f000 f95b	bl	0xef4
-     c3e:	2852		cmp	r0, #82	; 0x52
-     c40:	d000		beq	0xc44
-     c42:	e0db		b	0xdfc
-     c44:	2001		mov	r0, #1
-     c46:	0300		lsl	r0, r0, #12
-     c48:	f000 f954	bl	0xef4
-     c4c:	2801		cmp	r0, #1
-     c4e:	d000		beq	0xc52
-     c50:	e0d4		b	0xdfc
-     c52:	2001		mov	r0, #1
-     c54:	0300		lsl	r0, r0, #12
-     c56:	f000 f94d	bl	0xef4
-     c5a:	2853		cmp	r0, #83	; 0x53
-     c5c:	d000		beq	0xc60
-     c5e:	e0cd		b	0xdfc
-     c60:	201b		mov	r0, #27	; 0x1b
-     c62:	f000 f92a	bl	0xeba
-     c66:	20f6		mov	r0, #246	; 0xf6
-     c68:	f000 f927	bl	0xeba
-     c6c:	2002		mov	r0, #2
-     c6e:	f000 f924	bl	0xeba
-     c72:	2000		mov	r0, #0
-     c74:	f000 f921	bl	0xeba
-     c78:	2041		mov	r0, #65	; 0x41
-     c7a:	f000 f91e	bl	0xeba
-     c7e:	2002		mov	r0, #2
-     c80:	f000 f91b	bl	0xeba
-     c84:	2043		mov	r0, #67	; 0x43
-     c86:	f000 f918	bl	0xeba
-     c8a:	2001		mov	r0, #1
-     c8c:	0300		lsl	r0, r0, #12
-     c8e:	f000 f931	bl	0xef4
-     c92:	4669		mov	r1, sp
-     c94:	7308		strb	r0, [r1, #12]	; 0xc
-     c96:	2002		mov	r0, #2
-     c98:	7548		strb	r0, [r1, #21]	; 0x15
-     c9a:	2000		mov	r0, #0
-     c9c:	9000		str	r0, [sp, #0]
-     c9e:	9800		ldr	r0, [sp, #0]
-     ca0:	2802		cmp	r0, #2
-     ca2:	d215		bcs	0xcd0
-     ca4:	2001		mov	r0, #1
-     ca6:	0300		lsl	r0, r0, #12
-     ca8:	f000 f924	bl	0xef4
-     cac:	4669		mov	r1, sp
-     cae:	9a00		ldr	r2, [sp, #0]
-     cb0:	1a89		sub	r1, r1, r2
-     cb2:	7448		strb	r0, [r1, #17]	; 0x11
-     cb4:	4669		mov	r1, sp
-     cb6:	9800		ldr	r0, [sp, #0]
-     cb8:	1a08		sub	r0, r1, r0
-     cba:	7c40		ldrb	r0, [r0, #17]	; 0x11
-     cbc:	7d49		ldrb	r1, [r1, #21]	; 0x15
-     cbe:	4048		eor	r0, r1
-     cc0:	4669		mov	r1, sp
-     cc2:	7548		strb	r0, [r1, #21]	; 0x15
-     cc4:	9800		ldr	r0, [sp, #0]
-     cc6:	3001		add	r0, #1
-     cc8:	9000		str	r0, [sp, #0]
-     cca:	9800		ldr	r0, [sp, #0]
-     ccc:	2802		cmp	r0, #2
-     cce:	d3e9		bcc	0xca4
-     cd0:	4668		mov	r0, sp
-     cd2:	8a00		ldrh	r0, [r0, #16]	; 0x10
-     cd4:	466a		mov	r2, sp
-     cd6:	1e41		sub	r1, r0, #1
-     cd8:	8211		strh	r1, [r2, #16]	; 0x10
-     cda:	2800		cmp	r0, #0
-     cdc:	d04f		beq	0xd7e
-     cde:	2001		mov	r0, #1
-     ce0:	0300		lsl	r0, r0, #12
-     ce2:	f000 f907	bl	0xef4
-     ce6:	9906		ldr	r1, [sp, #24]	; 0x18
-     ce8:	7008		strb	r0, [r1, #0]
-     cea:	9802		ldr	r0, [sp, #8]
-     cec:	217d		mov	r1, #125	; 0x7d
-     cee:	00c9		lsl	r1, r1, #3
-     cf0:	f188 f9a8	bl	0x189044	; U$MOD in main fw!!!
-     cf4:	2800		cmp	r0, #0
-     cf6:	d12f		bne	0xd58
-     cf8:	9802		ldr	r0, [sp, #8]
-     cfa:	2800		cmp	r0, #0
-     cfc:	d02c		beq	0xd58
-     cfe:	9808		ldr	r0, [sp, #32]	; 0x20
-     d00:	2805		cmp	r0, #5
-     d02:	d226		bcs	0xd52
-     d04:	e00d		b	0xd22
-     d06:	a909		add	r1, sp, #36	; 0x24
-     d08:	20ee		mov	r0, #238	; 0xee
-     d0a:	7008		strb	r0, [r1, #0]
-     d0c:	e018		b	0xd40
-     d0e:	21a2		mov	r1, #162	; 0xa2
-     d10:	a809		add	r0, sp, #36	; 0x24
-     d12:	7001		strb	r1, [r0, #0]
-     d14:	e014		b	0xd40
-     d16:	213d		mov	r1, #61	; 0x3d
-     d18:	e7fa		b	0xd10
-     d1a:	215e		mov	r1, #94	; 0x5e
-     d1c:	e7f8		b	0xd10
-     d1e:	21d6		mov	r1, #214	; 0xd6
-     d20:	e7f6		b	0xd10
-     d22:	9808		ldr	r0, [sp, #32]	; 0x20
-     d24:	2800		cmp	r0, #0
-     d26:	d0ee		beq	0xd06
-     d28:	3801		sub	r0, #1
-     d2a:	2800		cmp	r0, #0
-     d2c:	d0ef		beq	0xd0e
-     d2e:	3801		sub	r0, #1
-     d30:	2800		cmp	r0, #0
-     d32:	d0f0		beq	0xd16
-     d34:	3801		sub	r0, #1
-     d36:	2800		cmp	r0, #0
-     d38:	d0ef		beq	0xd1a
-     d3a:	3801		sub	r0, #1
-     d3c:	2800		cmp	r0, #0
-     d3e:	d0ee		beq	0xd1e
-     d40:	4668		mov	r0, sp
-     d42:	7d40		ldrb	r0, [r0, #21]	; 0x15
-     d44:	a909		add	r1, sp, #36	; 0x24
-     d46:	7809		ldrb	r1, [r1, #0]
-     d48:	4288		cmp	r0, r1
-     d4a:	d002		beq	0xd52
-     d4c:	4668		mov	r0, sp
-     d4e:	2101		mov	r1, #1
-     d50:	7781		strb	r1, [r0, #30]	; 0x1e
-     d52:	9808		ldr	r0, [sp, #32]	; 0x20
-     d54:	3001		add	r0, #1
-     d56:	9008		str	r0, [sp, #32]	; 0x20
-     d58:	9802		ldr	r0, [sp, #8]
-     d5a:	3001		add	r0, #1
-     d5c:	9002		str	r0, [sp, #8]
-     d5e:	9806		ldr	r0, [sp, #24]	; 0x18
-     d60:	7800		ldrb	r0, [r0, #0]
-     d62:	4669		mov	r1, sp
-     d64:	7d49		ldrb	r1, [r1, #21]	; 0x15
-     d66:	4048		eor	r0, r1
-     d68:	4669		mov	r1, sp
-     d6a:	7548		strb	r0, [r1, #21]	; 0x15
-     d6c:	9806		ldr	r0, [sp, #24]	; 0x18
-     d6e:	3001		add	r0, #1
-     d70:	9006		str	r0, [sp, #24]	; 0x18
-     d72:	4668		mov	r0, sp
-     d74:	8a02		ldrh	r2, [r0, #16]	; 0x10
-     d76:	1e50		sub	r0, r2, #1
-     d78:	8208		strh	r0, [r1, #16]	; 0x10
-     d7a:	2a00		cmp	r2, #0
-     d7c:	d1af		bne	0xcde
-     d7e:	2001		mov	r0, #1
-     d80:	0300		lsl	r0, r0, #12
-     d82:	f000 f8b7	bl	0xef4
-     d86:	4669		mov	r1, sp
-     d88:	7508		strb	r0, [r1, #20]	; 0x14
-     d8a:	4668		mov	r0, sp
-     d8c:	7d01		ldrb	r1, [r0, #20]	; 0x14
-     d8e:	7d40		ldrb	r0, [r0, #21]	; 0x15
-     d90:	4281		cmp	r1, r0
-     d92:	d103		bne	0xd9c
-     d94:	4668		mov	r0, sp
-     d96:	7f80		ldrb	r0, [r0, #30]	; 0x1e
-     d98:	2801		cmp	r0, #1
-     d9a:	d115		bne	0xdc8
-     d9c:	201b		mov	r0, #27	; 0x1b
-     d9e:	f000 f88c	bl	0xeba
-     da2:	20f6		mov	r0, #246	; 0xf6
-     da4:	f000 f889	bl	0xeba
-     da8:	2002		mov	r0, #2
-     daa:	f000 f886	bl	0xeba
-     dae:	2000		mov	r0, #0
-     db0:	f000 f883	bl	0xeba
-     db4:	2045		mov	r0, #69	; 0x45
-     db6:	f000 f880	bl	0xeba
-     dba:	2053		mov	r0, #83	; 0x53
-     dbc:	f000 f87d	bl	0xeba
-     dc0:	2016		mov	r0, #22	; 0x16
-     dc2:	f000 f87a	bl	0xeba
-     dc6:	e019		b	0xdfc
-     dc8:	201b		mov	r0, #27	; 0x1b
-     dca:	f000 f876	bl	0xeba
-     dce:	20f6		mov	r0, #246	; 0xf6
-     dd0:	f000 f873	bl	0xeba
-     dd4:	2002		mov	r0, #2
-     dd6:	f000 f870	bl	0xeba
-     dda:	2000		mov	r0, #0
-     ddc:	f000 f86d	bl	0xeba
-     de0:	2041		mov	r0, #65	; 0x41
-     de2:	f000 f86a	bl	0xeba
-     de6:	2003		mov	r0, #3
-     de8:	f000 f867	bl	0xeba
-     dec:	2042		mov	r0, #66	; 0x42
-     dee:	f000 f864	bl	0xeba
-     df2:	483e		ldr	r0, =0x83ff00	; via 0xeec
-     df4:	6800		ldr	r0, [r0, #0]
-     df6:	4990		ldr	r1, =0x800100	; via 0x1038
-     df8:	f000 f85e	bl	0xeb8
-     dfc:	b00a		add	sp, #40	; 0x28
-     dfe:	bd00		pop	{pc}
-
-     e00:	b500		push	{lr}
-     e02:	b081		sub	sp, #4
-     e04:	2066		mov	r0, #102	; 0x66
-     e06:	f000 f858	bl	0xeba
-     e0a:	2074		mov	r0, #116	; 0x74
-     e0c:	f000 f855	bl	0xeba
-     e10:	206d		mov	r0, #109	; 0x6d
-     e12:	f000 f852	bl	0xeba
-     e16:	2074		mov	r0, #116	; 0x74
-     e18:	f000 f84f	bl	0xeba
-     e1c:	206f		mov	r0, #111	; 0x6f
-     e1e:	f000 f84c	bl	0xeba
-     e22:	206f		mov	r0, #111	; 0x6f
-     e24:	f000 f849	bl	0xeba
-     e28:	206c		mov	r0, #108	; 0x6c
-     e2a:	f000 f846	bl	0xeba
-     e2e:	4983		ldr	r1, =0x83ff80	; via 0x103c
-     e30:	2000		mov	r0, #0
-     e32:	7008		strb	r0, [r1, #0]
-     e34:	9000		str	r0, [sp, #0]
-     e36:	9800		ldr	r0, [sp, #0]
-     e38:	0c00		lsr	r0, r0, #16
-     e3a:	d105		bne	0xe48
-     e3c:	9800		ldr	r0, [sp, #0]
-     e3e:	3001		add	r0, #1
-     e40:	9000		str	r0, [sp, #0]
-     e42:	9800		ldr	r0, [sp, #0]
-     e44:	0c00		lsr	r0, r0, #16
-     e46:	d0f9		beq	0xe3c
-     e48:	2007		mov	r0, #7
-     e4a:	0400		lsl	r0, r0, #16
-     e4c:	f000 f852	bl	0xef4
-     e50:	2879		cmp	r0, #121	; 0x79
-     e52:	d10e		bne	0xe72
-     e54:	2001		mov	r0, #1
-     e56:	0300		lsl	r0, r0, #12
-     e58:	f000 f84c	bl	0xef4
-     e5c:	2865		cmp	r0, #101	; 0x65
-     e5e:	d108		bne	0xe72
-     e60:	2001		mov	r0, #1
-     e62:	0300		lsl	r0, r0, #12
-     e64:	f000 f846	bl	0xef4
-     e68:	2873		cmp	r0, #115	; 0x73
-     e6a:	d102		bne	0xe72
-     e6c:	4873		ldr	r0, =0x83ff80	; via 0x103c
-     e6e:	2101		mov	r1, #1
-     e70:	7001		strb	r1, [r0, #0]
-     e72:	f000 f8cf	bl	0x1014
-     e76:	2800		cmp	r0, #0
-     e78:	d00d		beq	0xe96
-     e7a:	206d		mov	r0, #109	; 0x6d
-     e7c:	f000 f81d	bl	0xeba
-     e80:	206f		mov	r0, #111	; 0x6f
-     e82:	f000 f81a	bl	0xeba
-     e86:	2064		mov	r0, #100	; 0x64
-     e88:	f000 f817	bl	0xeba
-     e8c:	2065		mov	r0, #101	; 0x65
-     e8e:	f000 f814	bl	0xeba
-     e92:	206d		mov	r0, #109	; 0x6d
-     e94:	e00c		b	0xeb0
-     e96:	2065		mov	r0, #101	; 0x65
-     e98:	f000 f80f	bl	0xeba
-     e9c:	2072		mov	r0, #114	; 0x72
-     e9e:	f000 f80c	bl	0xeba
-     ea2:	2072		mov	r0, #114	; 0x72
-     ea4:	f000 f809	bl	0xeba
-     ea8:	206f		mov	r0, #111	; 0x6f
-     eaa:	f000 f806	bl	0xeba
-     eae:	2072		mov	r0, #114	; 0x72
-     eb0:	f000 f803	bl	0xeba
-     eb4:	b001		add	sp, #4
-     eb6:	bd00		pop	{pc}
-
-     eb8:	4708		bx	r1
-
-     eba:	b081		sub	sp, #4
-     ebc:	4669		mov	r1, sp
-     ebe:	7008		strb	r0, [r1, #0]
-     ec0:	480a		ldr	r0, =0x83ff00	; via 0xeec
-     ec2:	6800		ldr	r0, [r0, #0]
-     ec4:	7940		ldrb	r0, [r0, #5]
-     ec6:	0980		lsr	r0, r0, #6
-     ec8:	d3fa		bcc	0xec0
-     eca:	4808		ldr	r0, =0x83ff00	; via 0xeec
-     ecc:	6800		ldr	r0, [r0, #0]
-     ece:	4669		mov	r1, sp
-     ed0:	7809		ldrb	r1, [r1, #0]
-     ed2:	7001		strb	r1, [r0, #0]
-     ed4:	b001		add	sp, #4
-     ed6:	46f7		mov	pc, lr
-     ed8:	4859		ldr	r0, =0x83ff00	; via 0x1040
-     eda:	6800		ldr	r0, [r0, #0]
-     edc:	7940		ldrb	r0, [r0, #5]
-     ede:	0840		lsr	r0, r0, #1
-     ee0:	d3fa		bcc	0xed8
-     ee2:	4857		ldr	r0, =0x83ff00	; via 0x1040
-     ee4:	6800		ldr	r0, [r0, #0]
-     ee6:	7800		ldrb	r0, [r0, #0]
-     ee8:	4770		bx	lr
-     eea:	46c0		nop			(mov r8, r8)
-     eec:	ff00		<half-bl>
-     eee:	0083		lsl	r3, r0, #2
-     ef0:	5800		ldr	r0, [r0, r0]
-     ef2:	ffff		<half-bl>
-     ef4:	b083		sub	sp, #12	; 0xc
-     ef6:	9000		str	r0, [sp, #0]
-     ef8:	9800		ldr	r0, [sp, #0]
-     efa:	9002		str	r0, [sp, #8]
-     efc:	4850		ldr	r0, =0x83ff00	; via 0x1040
-     efe:	6800		ldr	r0, [r0, #0]
-     f00:	7940		ldrb	r0, [r0, #5]
-     f02:	0840		lsr	r0, r0, #1
-     f04:	d20c		bcs	0xf20
-     f06:	9802		ldr	r0, [sp, #8]
-     f08:	3801		sub	r0, #1
-     f0a:	9002		str	r0, [sp, #8]
-     f0c:	9802		ldr	r0, [sp, #8]
-     f0e:	2800		cmp	r0, #0
-     f10:	d101		bne	0xf16
-     f12:	20ff		mov	r0, #255	; 0xff
-     f14:	e007		b	0xf26
-     f16:	484a		ldr	r0, =0x83ff00	; via 0x1040
-     f18:	6800		ldr	r0, [r0, #0]
-     f1a:	7940		ldrb	r0, [r0, #5]
-     f1c:	0840		lsr	r0, r0, #1
-     f1e:	d3f2		bcc	0xf06
-     f20:	4847		ldr	r0, =0x83ff00	; via 0x1040
-     f22:	6800		ldr	r0, [r0, #0]
-     f24:	7800		ldrb	r0, [r0, #0]
-     f26:	b003		add	sp, #12	; 0xc
-     f28:	4770		bx	lr
-     f2a:	b081		sub	sp, #4
-     f2c:	e001		b	0xf32
-     f2e:	9800		ldr	r0, [sp, #0]
-     f30:	3801		sub	r0, #1
-     f32:	9000		str	r0, [sp, #0]
-     f34:	4842		ldr	r0, =0x83ff00	; via 0x1040
-     f36:	6800		ldr	r0, [r0, #0]
-     f38:	7940		ldrb	r0, [r0, #5]
-     f3a:	0840		lsr	r0, r0, #1
-     f3c:	d202		bcs	0xf44
-     f3e:	9800		ldr	r0, [sp, #0]
-     f40:	2800		cmp	r0, #0
-     f42:	dcf4		bgt	0xf2e
-     f44:	9800		ldr	r0, [sp, #0]
-     f46:	2800		cmp	r0, #0
-     f48:	dd01		ble	0xf4e
-     f4a:	2000		mov	r0, #0
-     f4c:	e000		b	0xf50
-     f4e:	2001		mov	r0, #1
-     f50:	b001		add	sp, #4
-     f52:	4770		bx	lr
-     f54:	b082		sub	sp, #8
-     f56:	9000		str	r0, [sp, #0]
-     f58:	4669		mov	r1, sp
-     f5a:	2000		mov	r0, #0
-     f5c:	7188		strb	r0, [r1, #6]
-     f5e:	9900		ldr	r1, [sp, #0]
-     f60:	4838		ldr	r0, =0xfffef000	; via 0x1044
-     f62:	8800		ldrh	r0, [r0, #0]
-     f64:	8008		strh	r0, [r1, #0]
-     f66:	b002		add	sp, #8
-     f68:	4770		bx	lr
-     f6a:	46c0		nop			(mov r8, r8)
-     f6c:	0100		lsl	r0, r0, #4
-     f6e:	0080		lsl	r0, r0, #2
-     f70:	b081		sub	sp, #4
-     f72:	466a		mov	r2, sp
-     f74:	7051		strb	r1, [r2, #1]
-     f76:	4669		mov	r1, sp
-     f78:	7008		strb	r0, [r1, #0]
-     f7a:	4933		ldr	r1, =0xffff6000	; via 0x1048
-     f7c:	2002		mov	r0, #2
-     f7e:	880a		ldrh	r2, [r1, #0]
-     f80:	4310		orr	r0, r2
-     f82:	8008		strh	r0, [r1, #0]
-     f84:	4830		ldr	r0, =0xffff6000	; via 0x1048
-     f86:	8801		ldrh	r1, [r0, #0]
-     f88:	0849		lsr	r1, r1, #1
-     f8a:	0049		lsl	r1, r1, #1
-     f8c:	8001		strh	r1, [r0, #0]
-     f8e:	492e		ldr	r1, =0xffff6000	; via 0x1048
-     f90:	8808		ldrh	r0, [r1, #0]
-     f92:	2202		mov	r2, #2
-     f94:	4390		bic	r0, r2
-     f96:	8008		strh	r0, [r1, #0]
-     f98:	4829		ldr	r0, =0x83ff00	; via 0x1040
-     f9a:	6801		ldr	r1, [r0, #0]
-     f9c:	2007		mov	r0, #7
-     f9e:	7208		strb	r0, [r1, #8]
-     fa0:	4827		ldr	r0, =0x83ff00	; via 0x1040
-     fa2:	6801		ldr	r1, [r0, #0]
-     fa4:	20bf		mov	r0, #191	; 0xbf
-     fa6:	70c8		strb	r0, [r1, #3]
-     fa8:	4825		ldr	r0, =0x83ff00	; via 0x1040
-     faa:	6800		ldr	r0, [r0, #0]
-     fac:	1c80		add	r0, r0, #2
-     fae:	2110		mov	r1, #16	; 0x10
-     fb0:	8802		ldrh	r2, [r0, #0]
-     fb2:	4311		orr	r1, r2
-     fb4:	8001		strh	r1, [r0, #0]
-     fb6:	4822		ldr	r0, =0x83ff00	; via 0x1040
-     fb8:	6801		ldr	r1, [r0, #0]
-     fba:	2080		mov	r0, #128	; 0x80
-     fbc:	70c8		strb	r0, [r1, #3]
-     fbe:	4820		ldr	r0, =0x83ff00	; via 0x1040
-     fc0:	6800		ldr	r0, [r0, #0]
-     fc2:	2107		mov	r1, #7
-     fc4:	7081		strb	r1, [r0, #2]
-     fc6:	481e		ldr	r0, =0x83ff00	; via 0x1040
-     fc8:	6800		ldr	r0, [r0, #0]
-     fca:	21bf		mov	r1, #191	; 0xbf
-     fcc:	70c1		strb	r1, [r0, #3]
-     fce:	481c		ldr	r0, =0x83ff00	; via 0x1040
-     fd0:	6801		ldr	r1, [r0, #0]
-     fd2:	4668		mov	r0, sp
-     fd4:	7840		ldrb	r0, [r0, #1]
-     fd6:	7008		strb	r0, [r1, #0]
-     fd8:	4819		ldr	r0, =0x83ff00	; via 0x1040
-     fda:	6801		ldr	r1, [r0, #0]
-     fdc:	4668		mov	r0, sp
-     fde:	7800		ldrb	r0, [r0, #0]
-     fe0:	7048		strb	r0, [r1, #1]
-     fe2:	4817		ldr	r0, =0x83ff00	; via 0x1040
-     fe4:	6801		ldr	r1, [r0, #0]
-     fe6:	2003		mov	r0, #3
-     fe8:	70c8		strb	r0, [r1, #3]
-     fea:	4815		ldr	r0, =0x83ff00	; via 0x1040
-     fec:	6800		ldr	r0, [r0, #0]
-     fee:	2100		mov	r1, #0
-     ff0:	7201		strb	r1, [r0, #8]
-     ff2:	4813		ldr	r0, =0x83ff00	; via 0x1040
-     ff4:	6800		ldr	r0, [r0, #0]
-     ff6:	7940		ldrb	r0, [r0, #5]
-     ff8:	0840		lsr	r0, r0, #1
-     ffa:	d309		bcc	0x1010
-     ffc:	4669		mov	r1, sp
-     ffe:	4810		ldr	r0, =0x83ff00	; via 0x1040
-    1000:	6800		ldr	r0, [r0, #0]
-    1002:	7800		ldrb	r0, [r0, #0]
-    1004:	7088		strb	r0, [r1, #2]
-    1006:	480e		ldr	r0, =0x83ff00	; via 0x1040
-    1008:	6800		ldr	r0, [r0, #0]
-    100a:	7940		ldrb	r0, [r0, #5]
-    100c:	0840		lsr	r0, r0, #1
-    100e:	d2f5		bcs	0xffc
-    1010:	b001		add	sp, #4
-    1012:	4770		bx	lr
-    1014:	4809		ldr	r0, =0x83ff80	; via 0x103c
-    1016:	7800		ldrb	r0, [r0, #0]
-    1018:	4770		bx	lr
-    101a:	b500		push	{lr}
-    101c:	b081		sub	sp, #4
-    101e:	4669		mov	r1, sp
-    1020:	7008		strb	r0, [r1, #0]
-    1022:	4668		mov	r0, sp
-    1024:	7800		ldrb	r0, [r0, #0]
-    1026:	f7ff ff48	bl	0xeba
-    102a:	b001		add	sp, #4
-    102c:	bd00		pop	{pc}
-    102e:	b500		push	{lr}
-    1030:	f7ff ff52	bl	0xed8
-    1034:	bd00		pop	{pc}
-    1036:	46c0		nop			(mov r8, r8)
-    1038:	0100		lsl	r0, r0, #4
-    103a:	0080		lsl	r0, r0, #2
-    103c:	ff80		<half-bl>
-    103e:	0083		lsl	r3, r0, #2
-    1040:	ff00		<half-bl>
-    1042:	0083		lsl	r3, r0, #2
-    1044:	f000 fffe	bl	0x2044
-    1048:	6000		str	r0, [r0, #0]
-    104a:	ffff		<half-bl>
-    104c:	4700		bx	r0
-    104e:	0000		lsl	r0, r0, #0
-    1050:	b08c		sub	sp, #48	; 0x30
-    1052:	9101		str	r1, [sp, #4]
-    1054:	9000		str	r0, [sp, #0]
-    1056:	2000		mov	r0, #0
-    1058:	9003		str	r0, [sp, #12]	; 0xc
-    105a:	9800		ldr	r0, [sp, #0]
-    105c:	7801		ldrb	r1, [r0, #0]
-    105e:	3001		add	r0, #1
-    1060:	9000		str	r0, [sp, #0]
-    1062:	9105		str	r1, [sp, #20]	; 0x14
-    1064:	9800		ldr	r0, [sp, #0]
-    1066:	7801		ldrb	r1, [r0, #0]
-    1068:	3001		add	r0, #1
-    106a:	9000		str	r0, [sp, #0]
-    106c:	9801		ldr	r0, [sp, #4]
-    106e:	7001		strb	r1, [r0, #0]
-    1070:	2001		mov	r0, #1
-    1072:	9004		str	r0, [sp, #16]	; 0x10
-    1074:	e0a8		b	0x11c8
-    1076:	9804		ldr	r0, [sp, #16]	; 0x10
-    1078:	3002		add	r0, #2
-    107a:	9004		str	r0, [sp, #16]	; 0x10
-    107c:	9800		ldr	r0, [sp, #0]
-    107e:	7801		ldrb	r1, [r0, #0]
-    1080:	3001		add	r0, #1
-    1082:	9000		str	r0, [sp, #0]
-    1084:	4668		mov	r0, sp
-    1086:	8441		strh	r1, [r0, #34]	; 0x22
-    1088:	9800		ldr	r0, [sp, #0]
-    108a:	7801		ldrb	r1, [r0, #0]
-    108c:	3001		add	r0, #1
-    108e:	9000		str	r0, [sp, #0]
-    1090:	4668		mov	r0, sp
-    1092:	8401		strh	r1, [r0, #32]	; 0x20
-    1094:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    1096:	4669		mov	r1, sp
-    1098:	8c49		ldrh	r1, [r1, #34]	; 0x22
-    109a:	0209		lsl	r1, r1, #8
-    109c:	1840		add	r0, r0, r1
-    109e:	9901		ldr	r1, [sp, #4]
-    10a0:	8088		strh	r0, [r1, #4]
-    10a2:	9804		ldr	r0, [sp, #16]	; 0x10
-    10a4:	3001		add	r0, #1
-    10a6:	9004		str	r0, [sp, #16]	; 0x10
-    10a8:	9800		ldr	r0, [sp, #0]
-    10aa:	7801		ldrb	r1, [r0, #0]
-    10ac:	3001		add	r0, #1
-    10ae:	9000		str	r0, [sp, #0]
-    10b0:	4668		mov	r0, sp
-    10b2:	7601		strb	r1, [r0, #24]	; 0x18
-    10b4:	9901		ldr	r1, [sp, #4]
-    10b6:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    10b8:	7188		strb	r0, [r1, #6]
-    10ba:	4668		mov	r0, sp
-    10bc:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    10be:	2840		cmp	r0, #64	; 0x40
-    10c0:	dc00		bgt	0x10c4
-    10c2:	e09f		b	0x1204
-    10c4:	2004		mov	r0, #4
-    10c6:	9003		str	r0, [sp, #12]	; 0xc
-    10c8:	e09c		b	0x1204
-    10ca:	9804		ldr	r0, [sp, #16]	; 0x10
-    10cc:	3002		add	r0, #2
-    10ce:	9004		str	r0, [sp, #16]	; 0x10
-    10d0:	9800		ldr	r0, [sp, #0]
-    10d2:	7801		ldrb	r1, [r0, #0]
-    10d4:	3001		add	r0, #1
-    10d6:	9000		str	r0, [sp, #0]
-    10d8:	4668		mov	r0, sp
-    10da:	8441		strh	r1, [r0, #34]	; 0x22
-    10dc:	9800		ldr	r0, [sp, #0]
-    10de:	7801		ldrb	r1, [r0, #0]
-    10e0:	3001		add	r0, #1
-    10e2:	9000		str	r0, [sp, #0]
-    10e4:	4668		mov	r0, sp
-    10e6:	8401		strh	r1, [r0, #32]	; 0x20
-    10e8:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    10ea:	4669		mov	r1, sp
-    10ec:	8c49		ldrh	r1, [r1, #34]	; 0x22
-    10ee:	0209		lsl	r1, r1, #8
-    10f0:	1841		add	r1, r0, r1
-    10f2:	9801		ldr	r0, [sp, #4]
-    10f4:	8081		strh	r1, [r0, #4]
-    10f6:	9804		ldr	r0, [sp, #16]	; 0x10
-    10f8:	3001		add	r0, #1
-    10fa:	9004		str	r0, [sp, #16]	; 0x10
-    10fc:	9800		ldr	r0, [sp, #0]
-    10fe:	7801		ldrb	r1, [r0, #0]
-    1100:	3001		add	r0, #1
-    1102:	9000		str	r0, [sp, #0]
-    1104:	4668		mov	r0, sp
-    1106:	7601		strb	r1, [r0, #24]	; 0x18
-    1108:	9901		ldr	r1, [sp, #4]
-    110a:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    110c:	7188		strb	r0, [r1, #6]
-    110e:	4668		mov	r0, sp
-    1110:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1112:	2840		cmp	r0, #64	; 0x40
-    1114:	dcd6		bgt	0x10c4
-    1116:	9801		ldr	r0, [sp, #4]
-    1118:	3008		add	r0, #8
-    111a:	9007		str	r0, [sp, #28]	; 0x1c
-    111c:	2000		mov	r0, #0
-    111e:	9002		str	r0, [sp, #8]
-    1120:	9902		ldr	r1, [sp, #8]
-    1122:	4668		mov	r0, sp
-    1124:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1126:	4281		cmp	r1, r0
-    1128:	da6c		bge	0x1204
-    112a:	9800		ldr	r0, [sp, #0]
-    112c:	7801		ldrb	r1, [r0, #0]
-    112e:	3001		add	r0, #1
-    1130:	9000		str	r0, [sp, #0]
-    1132:	4668		mov	r0, sp
-    1134:	84c1		strh	r1, [r0, #38]	; 0x26
-    1136:	9800		ldr	r0, [sp, #0]
-    1138:	7801		ldrb	r1, [r0, #0]
-    113a:	3001		add	r0, #1
-    113c:	9000		str	r0, [sp, #0]
-    113e:	4668		mov	r0, sp
-    1140:	8481		strh	r1, [r0, #36]	; 0x24
-    1142:	9807		ldr	r0, [sp, #28]	; 0x1c
-    1144:	1c81		add	r1, r0, #2
-    1146:	9107		str	r1, [sp, #28]	; 0x1c
-    1148:	4669		mov	r1, sp
-    114a:	8c89		ldrh	r1, [r1, #36]	; 0x24
-    114c:	466a		mov	r2, sp
-    114e:	8cd2		ldrh	r2, [r2, #38]	; 0x26
-    1150:	0212		lsl	r2, r2, #8
-    1152:	1889		add	r1, r1, r2
-    1154:	8001		strh	r1, [r0, #0]
-    1156:	9804		ldr	r0, [sp, #16]	; 0x10
-    1158:	3002		add	r0, #2
-    115a:	9004		str	r0, [sp, #16]	; 0x10
-    115c:	9802		ldr	r0, [sp, #8]
-    115e:	3001		add	r0, #1
-    1160:	9002		str	r0, [sp, #8]
-    1162:	9902		ldr	r1, [sp, #8]
-    1164:	4668		mov	r0, sp
-    1166:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1168:	4281		cmp	r1, r0
-    116a:	dbde		blt	0x112a
-    116c:	e04a		b	0x1204
-    116e:	9804		ldr	r0, [sp, #16]	; 0x10
-    1170:	3002		add	r0, #2
-    1172:	9004		str	r0, [sp, #16]	; 0x10
-    1174:	9800		ldr	r0, [sp, #0]
-    1176:	7801		ldrb	r1, [r0, #0]
-    1178:	3001		add	r0, #1
-    117a:	9000		str	r0, [sp, #0]
-    117c:	4668		mov	r0, sp
-    117e:	8501		strh	r1, [r0, #40]	; 0x28
-    1180:	9800		ldr	r0, [sp, #0]
-    1182:	7801		ldrb	r1, [r0, #0]
-    1184:	3001		add	r0, #1
-    1186:	9000		str	r0, [sp, #0]
-    1188:	4668		mov	r0, sp
-    118a:	8541		strh	r1, [r0, #42]	; 0x2a
-    118c:	8d41		ldrh	r1, [r0, #42]	; 0x2a
-    118e:	8d00		ldrh	r0, [r0, #40]	; 0x28
-    1190:	0200		lsl	r0, r0, #8
-    1192:	1809		add	r1, r1, r0
-    1194:	9801		ldr	r0, [sp, #4]
-    1196:	8081		strh	r1, [r0, #4]
-    1198:	9804		ldr	r0, [sp, #16]	; 0x10
-    119a:	3002		add	r0, #2
-    119c:	9004		str	r0, [sp, #16]	; 0x10
-    119e:	9800		ldr	r0, [sp, #0]
-    11a0:	7801		ldrb	r1, [r0, #0]
-    11a2:	3001		add	r0, #1
-    11a4:	9000		str	r0, [sp, #0]
-    11a6:	4668		mov	r0, sp
-    11a8:	8581		strh	r1, [r0, #44]	; 0x2c
-    11aa:	9800		ldr	r0, [sp, #0]
-    11ac:	7801		ldrb	r1, [r0, #0]
-    11ae:	3001		add	r0, #1
-    11b0:	9000		str	r0, [sp, #0]
-    11b2:	4668		mov	r0, sp
-    11b4:	85c1		strh	r1, [r0, #46]	; 0x2e
-    11b6:	8dc1		ldrh	r1, [r0, #46]	; 0x2e
-    11b8:	8d80		ldrh	r0, [r0, #44]	; 0x2c
-    11ba:	0200		lsl	r0, r0, #8
-    11bc:	1808		add	r0, r1, r0
-    11be:	9901		ldr	r1, [sp, #4]
-    11c0:	80c8		strh	r0, [r1, #6]
-    11c2:	e01f		b	0x1204
-    11c4:	2008		mov	r0, #8
-    11c6:	e77e		b	0x10c6
-    11c8:	9801		ldr	r0, [sp, #4]
-    11ca:	7801		ldrb	r1, [r0, #0]
-    11cc:	290a		cmp	r1, #10	; 0xa
-    11ce:	d8f9		bhi	0x11c4
-    11d0:	a001		add	r0, pc, #4
-    11d2:	0089		lsl	r1, r1, #2
-    11d4:	5840		ldr	r0, [r0, r1]
-    11d6:	4687		mov	pc, r0
-    11d8:	1204		asr	r4, r0, #8
-    11da:	0000		lsl	r0, r0, #0
-    11dc:	1204		asr	r4, r0, #8
-    11de:	0000		lsl	r0, r0, #0
-    11e0:	1204		asr	r4, r0, #8
-    11e2:	0000		lsl	r0, r0, #0
-    11e4:	1204		asr	r4, r0, #8
-    11e6:	0000		lsl	r0, r0, #0
-    11e8:	1204		asr	r4, r0, #8
-    11ea:	0000		lsl	r0, r0, #0
-    11ec:	1204		asr	r4, r0, #8
-    11ee:	0000		lsl	r0, r0, #0
-    11f0:	1204		asr	r4, r0, #8
-    11f2:	0000		lsl	r0, r0, #0
-    11f4:	1076		asr	r6, r6, #1
-    11f6:	0000		lsl	r0, r0, #0
-    11f8:	10ca		asr	r2, r1, #3
-    11fa:	0000		lsl	r0, r0, #0
-    11fc:	1204		asr	r4, r0, #8
-    11fe:	0000		lsl	r0, r0, #0
-    1200:	116e		asr	r6, r5, #5
-    1202:	0000		lsl	r0, r0, #0
-    1204:	9905		ldr	r1, [sp, #20]	; 0x14
-    1206:	9804		ldr	r0, [sp, #16]	; 0x10
-    1208:	4281		cmp	r1, r0
-    120a:	d001		beq	0x1210
-    120c:	2004		mov	r0, #4
-    120e:	9003		str	r0, [sp, #12]	; 0xc
-    1210:	9803		ldr	r0, [sp, #12]	; 0xc
-    1212:	b00c		add	sp, #48	; 0x30
-    1214:	4770		bx	lr
-    1216:	b089		sub	sp, #36	; 0x24
-    1218:	9101		str	r1, [sp, #4]
-    121a:	9000		str	r0, [sp, #0]
-    121c:	2000		mov	r0, #0
-    121e:	9003		str	r0, [sp, #12]	; 0xc
-    1220:	9801		ldr	r0, [sp, #4]
-    1222:	1c41		add	r1, r0, #1
-    1224:	9101		str	r1, [sp, #4]
-    1226:	9005		str	r0, [sp, #20]	; 0x14
-    1228:	9801		ldr	r0, [sp, #4]
-    122a:	1c41		add	r1, r0, #1
-    122c:	9101		str	r1, [sp, #4]
-    122e:	9900		ldr	r1, [sp, #0]
-    1230:	7809		ldrb	r1, [r1, #0]
-    1232:	7001		strb	r1, [r0, #0]
-    1234:	4669		mov	r1, sp
-    1236:	2001		mov	r0, #1
-    1238:	7408		strb	r0, [r1, #16]	; 0x10
-    123a:	9801		ldr	r0, [sp, #4]
-    123c:	1c41		add	r1, r0, #1
-    123e:	9101		str	r1, [sp, #4]
-    1240:	9900		ldr	r1, [sp, #0]
-    1242:	7849		ldrb	r1, [r1, #1]
-    1244:	7001		strb	r1, [r0, #0]
-    1246:	4669		mov	r1, sp
-    1248:	4668		mov	r0, sp
-    124a:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    124c:	3001		add	r0, #1
-    124e:	7408		strb	r0, [r1, #16]	; 0x10
-    1250:	e0e4		b	0x141c
-    1252:	9800		ldr	r0, [sp, #0]
-    1254:	7840		ldrb	r0, [r0, #1]
-    1256:	2800		cmp	r0, #0
-    1258:	d000		beq	0x125c
-    125a:	e0fd		b	0x1458
-    125c:	9801		ldr	r0, [sp, #4]
-    125e:	1c41		add	r1, r0, #1
-    1260:	9101		str	r1, [sp, #4]
-    1262:	9900		ldr	r1, [sp, #0]
-    1264:	7909		ldrb	r1, [r1, #4]
-    1266:	7001		strb	r1, [r0, #0]
-    1268:	9801		ldr	r0, [sp, #4]
-    126a:	1c41		add	r1, r0, #1
-    126c:	9101		str	r1, [sp, #4]
-    126e:	9900		ldr	r1, [sp, #0]
-    1270:	7949		ldrb	r1, [r1, #5]
-    1272:	7001		strb	r1, [r0, #0]
-    1274:	9801		ldr	r0, [sp, #4]
-    1276:	1c41		add	r1, r0, #1
-    1278:	9101		str	r1, [sp, #4]
-    127a:	9900		ldr	r1, [sp, #0]
-    127c:	7989		ldrb	r1, [r1, #6]
-    127e:	7001		strb	r1, [r0, #0]
-    1280:	4668		mov	r0, sp
-    1282:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1284:	3003		add	r0, #3
-    1286:	4669		mov	r1, sp
-    1288:	7408		strb	r0, [r1, #16]	; 0x10
-    128a:	e0e5		b	0x1458
-    128c:	9800		ldr	r0, [sp, #0]
-    128e:	7840		ldrb	r0, [r0, #1]
-    1290:	2800		cmp	r0, #0
-    1292:	d000		beq	0x1296
-    1294:	e0e0		b	0x1458
-    1296:	9801		ldr	r0, [sp, #4]
-    1298:	1c41		add	r1, r0, #1
-    129a:	9101		str	r1, [sp, #4]
-    129c:	9900		ldr	r1, [sp, #0]
-    129e:	7909		ldrb	r1, [r1, #4]
-    12a0:	7001		strb	r1, [r0, #0]
-    12a2:	4668		mov	r0, sp
-    12a4:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    12a6:	3001		add	r0, #1
-    12a8:	e7ed		b	0x1286
-    12aa:	9800		ldr	r0, [sp, #0]
-    12ac:	7840		ldrb	r0, [r0, #1]
-    12ae:	2800		cmp	r0, #0
-    12b0:	d000		beq	0x12b4
-    12b2:	e0d1		b	0x1458
-    12b4:	e7ef		b	0x1296
-    12b6:	9800		ldr	r0, [sp, #0]
-    12b8:	7840		ldrb	r0, [r0, #1]
-    12ba:	2800		cmp	r0, #0
-    12bc:	d000		beq	0x12c0
-    12be:	e0cb		b	0x1458
-    12c0:	e7e9		b	0x1296
-    12c2:	9800		ldr	r0, [sp, #0]
-    12c4:	7840		ldrb	r0, [r0, #1]
-    12c6:	2800		cmp	r0, #0
-    12c8:	d000		beq	0x12cc
-    12ca:	e0c5		b	0x1458
-    12cc:	4669		mov	r1, sp
-    12ce:	9800		ldr	r0, [sp, #0]
-    12d0:	8880		ldrh	r0, [r0, #4]
-    12d2:	8408		strh	r0, [r1, #32]	; 0x20
-    12d4:	9801		ldr	r0, [sp, #4]
-    12d6:	1c41		add	r1, r0, #1
-    12d8:	9101		str	r1, [sp, #4]
-    12da:	4669		mov	r1, sp
-    12dc:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    12de:	0409		lsl	r1, r1, #16
-    12e0:	0e09		lsr	r1, r1, #24
-    12e2:	0209		lsl	r1, r1, #8
-    12e4:	1209		asr	r1, r1, #8
-    12e6:	7001		strb	r1, [r0, #0]
-    12e8:	9801		ldr	r0, [sp, #4]
-    12ea:	1c41		add	r1, r0, #1
-    12ec:	9101		str	r1, [sp, #4]
-    12ee:	4669		mov	r1, sp
-    12f0:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    12f2:	0609		lsl	r1, r1, #24
-    12f4:	0e09		lsr	r1, r1, #24
-    12f6:	7001		strb	r1, [r0, #0]
-    12f8:	4669		mov	r1, sp
-    12fa:	9800		ldr	r0, [sp, #0]
-    12fc:	88c0		ldrh	r0, [r0, #6]
-    12fe:	8408		strh	r0, [r1, #32]	; 0x20
-    1300:	9801		ldr	r0, [sp, #4]
-    1302:	1c41		add	r1, r0, #1
-    1304:	9101		str	r1, [sp, #4]
-    1306:	4669		mov	r1, sp
-    1308:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    130a:	0409		lsl	r1, r1, #16
-    130c:	0e09		lsr	r1, r1, #24
-    130e:	0209		lsl	r1, r1, #8
-    1310:	1209		asr	r1, r1, #8
-    1312:	7001		strb	r1, [r0, #0]
-    1314:	9801		ldr	r0, [sp, #4]
-    1316:	1c41		add	r1, r0, #1
-    1318:	9101		str	r1, [sp, #4]
-    131a:	4669		mov	r1, sp
-    131c:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    131e:	0609		lsl	r1, r1, #24
-    1320:	0e09		lsr	r1, r1, #24
-    1322:	7001		strb	r1, [r0, #0]
-    1324:	4668		mov	r0, sp
-    1326:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1328:	3004		add	r0, #4
-    132a:	e7ac		b	0x1286
-    132c:	9800		ldr	r0, [sp, #0]
-    132e:	7840		ldrb	r0, [r0, #1]
-    1330:	2800		cmp	r0, #0
-    1332:	d000		beq	0x1336
-    1334:	e090		b	0x1458
-    1336:	e7ae		b	0x1296
-    1338:	9800		ldr	r0, [sp, #0]
-    133a:	7840		ldrb	r0, [r0, #1]
-    133c:	2800		cmp	r0, #0
-    133e:	d000		beq	0x1342
-    1340:	e08a		b	0x1458
-    1342:	4669		mov	r1, sp
-    1344:	4668		mov	r0, sp
-    1346:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1348:	3001		add	r0, #1
-    134a:	7408		strb	r0, [r1, #16]	; 0x10
-    134c:	4668		mov	r0, sp
-    134e:	9900		ldr	r1, [sp, #0]
-    1350:	7909		ldrb	r1, [r1, #4]
-    1352:	7601		strb	r1, [r0, #24]	; 0x18
-    1354:	9801		ldr	r0, [sp, #4]
-    1356:	1c41		add	r1, r0, #1
-    1358:	9101		str	r1, [sp, #4]
-    135a:	4669		mov	r1, sp
-    135c:	7e09		ldrb	r1, [r1, #24]	; 0x18
-    135e:	7001		strb	r1, [r0, #0]
-    1360:	4668		mov	r0, sp
-    1362:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1364:	2840		cmp	r0, #64	; 0x40
-    1366:	dd01		ble	0x136c
-    1368:	2004		mov	r0, #4
-    136a:	e055		b	0x1418
-    136c:	9800		ldr	r0, [sp, #0]
-    136e:	3006		add	r0, #6
-    1370:	9007		str	r0, [sp, #28]	; 0x1c
-    1372:	2000		mov	r0, #0
-    1374:	9002		str	r0, [sp, #8]
-    1376:	9902		ldr	r1, [sp, #8]
-    1378:	4668		mov	r0, sp
-    137a:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    137c:	4281		cmp	r1, r0
-    137e:	da6b		bge	0x1458
-    1380:	9801		ldr	r0, [sp, #4]
-    1382:	1c41		add	r1, r0, #1
-    1384:	9101		str	r1, [sp, #4]
-    1386:	9907		ldr	r1, [sp, #28]	; 0x1c
-    1388:	8809		ldrh	r1, [r1, #0]
-    138a:	0409		lsl	r1, r1, #16
-    138c:	0e09		lsr	r1, r1, #24
-    138e:	0209		lsl	r1, r1, #8
-    1390:	1209		asr	r1, r1, #8
-    1392:	7001		strb	r1, [r0, #0]
-    1394:	9807		ldr	r0, [sp, #28]	; 0x1c
-    1396:	8801		ldrh	r1, [r0, #0]
-    1398:	3002		add	r0, #2
-    139a:	9007		str	r0, [sp, #28]	; 0x1c
-    139c:	0608		lsl	r0, r1, #24
-    139e:	0e01		lsr	r1, r0, #24
-    13a0:	9801		ldr	r0, [sp, #4]
-    13a2:	1c42		add	r2, r0, #1
-    13a4:	9201		str	r2, [sp, #4]
-    13a6:	7001		strb	r1, [r0, #0]
-    13a8:	4669		mov	r1, sp
-    13aa:	4668		mov	r0, sp
-    13ac:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    13ae:	3002		add	r0, #2
-    13b0:	7408		strb	r0, [r1, #16]	; 0x10
-    13b2:	9802		ldr	r0, [sp, #8]
-    13b4:	3001		add	r0, #1
-    13b6:	9002		str	r0, [sp, #8]
-    13b8:	9902		ldr	r1, [sp, #8]
-    13ba:	4668		mov	r0, sp
-    13bc:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    13be:	4281		cmp	r1, r0
-    13c0:	dbde		blt	0x1380
-    13c2:	e049		b	0x1458
-    13c4:	9800		ldr	r0, [sp, #0]
-    13c6:	7840		ldrb	r0, [r0, #1]
-    13c8:	2800		cmp	r0, #0
-    13ca:	d145		bne	0x1458
-    13cc:	4669		mov	r1, sp
-    13ce:	9800		ldr	r0, [sp, #0]
-    13d0:	8880		ldrh	r0, [r0, #4]
-    13d2:	8408		strh	r0, [r1, #32]	; 0x20
-    13d4:	9801		ldr	r0, [sp, #4]
-    13d6:	1c41		add	r1, r0, #1
-    13d8:	9101		str	r1, [sp, #4]
-    13da:	4669		mov	r1, sp
-    13dc:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    13de:	0409		lsl	r1, r1, #16
-    13e0:	0e09		lsr	r1, r1, #24
-    13e2:	0209		lsl	r1, r1, #8
-    13e4:	1209		asr	r1, r1, #8
-    13e6:	7001		strb	r1, [r0, #0]
-    13e8:	9801		ldr	r0, [sp, #4]
-    13ea:	1c41		add	r1, r0, #1
-    13ec:	9101		str	r1, [sp, #4]
-    13ee:	4669		mov	r1, sp
-    13f0:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    13f2:	0609		lsl	r1, r1, #24
-    13f4:	0e09		lsr	r1, r1, #24
-    13f6:	7001		strb	r1, [r0, #0]
-    13f8:	4668		mov	r0, sp
-    13fa:	9900		ldr	r1, [sp, #0]
-    13fc:	88c9		ldrh	r1, [r1, #6]
-    13fe:	8401		strh	r1, [r0, #32]	; 0x20
-    1400:	9901		ldr	r1, [sp, #4]
-    1402:	1c48		add	r0, r1, #1
-    1404:	9001		str	r0, [sp, #4]
-    1406:	4668		mov	r0, sp
-    1408:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    140a:	0400		lsl	r0, r0, #16
-    140c:	0e00		lsr	r0, r0, #24
-    140e:	0200		lsl	r0, r0, #8
-    1410:	1200		asr	r0, r0, #8
-    1412:	7008		strb	r0, [r1, #0]
-    1414:	e77e		b	0x1314
-    1416:	2008		mov	r0, #8
-    1418:	9003		str	r0, [sp, #12]	; 0xc
-    141a:	e01d		b	0x1458
-    141c:	9800		ldr	r0, [sp, #0]
-    141e:	7800		ldrb	r0, [r0, #0]
-    1420:	280a		cmp	r0, #10	; 0xa
-    1422:	d8f8		bhi	0x1416
-    1424:	a101		add	r1, pc, #4
-    1426:	0080		lsl	r0, r0, #2
-    1428:	5808		ldr	r0, [r1, r0]
-    142a:	4687		mov	pc, r0
-    142c:	1252		asr	r2, r2, #9
-    142e:	0000		lsl	r0, r0, #0
-    1430:	128c		asr	r4, r1, #10
-    1432:	0000		lsl	r0, r0, #0
-    1434:	12aa		asr	r2, r5, #10
-    1436:	0000		lsl	r0, r0, #0
-    1438:	12b6		asr	r6, r6, #10
-    143a:	0000		lsl	r0, r0, #0
-    143c:	1458		asr	r0, r3, #17
-    143e:	0000		lsl	r0, r0, #0
-    1440:	12c2		asr	r2, r0, #11
-    1442:	0000		lsl	r0, r0, #0
-    1444:	132c		asr	r4, r5, #12
-    1446:	0000		lsl	r0, r0, #0
-    1448:	1338		asr	r0, r7, #12
-    144a:	0000		lsl	r0, r0, #0
-    144c:	1458		asr	r0, r3, #17
-    144e:	0000		lsl	r0, r0, #0
-    1450:	13c4		asr	r4, r0, #15
-    1452:	0000		lsl	r0, r0, #0
-    1454:	1458		asr	r0, r3, #17
-    1456:	0000		lsl	r0, r0, #0
-    1458:	9805		ldr	r0, [sp, #20]	; 0x14
-    145a:	4669		mov	r1, sp
-    145c:	7c09		ldrb	r1, [r1, #16]	; 0x10
-    145e:	7001		strb	r1, [r0, #0]
-    1460:	9803		ldr	r0, [sp, #12]	; 0xc
-    1462:	b009		add	sp, #36	; 0x24
-    1464:	4770		bx	lr
-    1466:	0000		lsl	r0, r0, #0
-    1468:	b500		push	{lr}
-    146a:	b083		sub	sp, #12	; 0xc
-    146c:	9101		str	r1, [sp, #4]
-    146e:	4669		mov	r1, sp
-    1470:	7008		strb	r0, [r1, #0]
-    1472:	2000		mov	r0, #0
-    1474:	9002		str	r0, [sp, #8]
-    1476:	e073		b	0x1560
-    1478:	4668		mov	r0, sp
-    147a:	7800		ldrb	r0, [r0, #0]
-    147c:	28aa		cmp	r0, #170	; 0xaa
-    147e:	d106		bne	0x148e
-    1480:	4965		ldr	r1, =0x83ff10	; via 0x1618
-    1482:	4865		ldr	r0, =0x83ff10	; via 0x1618
-    1484:	6800		ldr	r0, [r0, #0]
-    1486:	3001		add	r0, #1
-    1488:	07c0		lsl	r0, r0, #31
-    148a:	0fc0		lsr	r0, r0, #31
-    148c:	e013		b	0x14b6
-    148e:	4862		ldr	r0, =0x83ff10	; via 0x1618
-    1490:	6800		ldr	r0, [r0, #0]
-    1492:	2800		cmp	r0, #0
-    1494:	d06b		beq	0x156e
-    1496:	4961		ldr	r1, =0x83ff04	; via 0x161c
-    1498:	9801		ldr	r0, [sp, #4]
-    149a:	3001		add	r0, #1
-    149c:	6008		str	r0, [r1, #0]
-    149e:	4960		ldr	r1, =0x83ff0e	; via 0x1620
-    14a0:	2000		mov	r0, #0
-    14a2:	7008		strb	r0, [r1, #0]
-    14a4:	495f		ldr	r1, =0x83ff0c	; via 0x1624
-    14a6:	4668		mov	r0, sp
-    14a8:	7800		ldrb	r0, [r0, #0]
-    14aa:	8008		strh	r0, [r1, #0]
-    14ac:	495a		ldr	r1, =0x83ff10	; via 0x1618
-    14ae:	2000		mov	r0, #0
-    14b0:	6008		str	r0, [r1, #0]
-    14b2:	495d		ldr	r1, =0x83ff08	; via 0x1628
-    14b4:	2001		mov	r0, #1
-    14b6:	6008		str	r0, [r1, #0]
-    14b8:	e059		b	0x156e
-    14ba:	4668		mov	r0, sp
-    14bc:	7800		ldrb	r0, [r0, #0]
-    14be:	28aa		cmp	r0, #170	; 0xaa
-    14c0:	d113		bne	0x14ea
-    14c2:	4855		ldr	r0, =0x83ff10	; via 0x1618
-    14c4:	6800		ldr	r0, [r0, #0]
-    14c6:	2800		cmp	r0, #0
-    14c8:	d00b		beq	0x14e2
-    14ca:	4954		ldr	r1, =0x83ff04	; via 0x161c
-    14cc:	6808		ldr	r0, [r1, #0]
-    14ce:	1c42		add	r2, r0, #1
-    14d0:	600a		str	r2, [r1, #0]
-    14d2:	4669		mov	r1, sp
-    14d4:	7809		ldrb	r1, [r1, #0]
-    14d6:	7001		strb	r1, [r0, #0]
-    14d8:	4951		ldr	r1, =0x83ff0e	; via 0x1620
-    14da:	7808		ldrb	r0, [r1, #0]
-    14dc:	3001		add	r0, #1
-    14de:	7008		strb	r0, [r1, #0]
-    14e0:	e013		b	0x150a
-    14e2:	2101		mov	r1, #1
-    14e4:	484c		ldr	r0, =0x83ff10	; via 0x1618
-    14e6:	6001		str	r1, [r0, #0]
-    14e8:	e01c		b	0x1524
-    14ea:	484b		ldr	r0, =0x83ff10	; via 0x1618
-    14ec:	6800		ldr	r0, [r0, #0]
-    14ee:	2800		cmp	r0, #0
-    14f0:	d00d		beq	0x150e
-    14f2:	494a		ldr	r1, =0x83ff04	; via 0x161c
-    14f4:	9801		ldr	r0, [sp, #4]
-    14f6:	3001		add	r0, #1
-    14f8:	6008		str	r0, [r1, #0]
-    14fa:	4849		ldr	r0, =0x83ff0e	; via 0x1620
-    14fc:	2100		mov	r1, #0
-    14fe:	7001		strb	r1, [r0, #0]
-    1500:	4948		ldr	r1, =0x83ff0c	; via 0x1624
-    1502:	4668		mov	r0, sp
-    1504:	7800		ldrb	r0, [r0, #0]
-    1506:	3001		add	r0, #1
-    1508:	8008		strh	r0, [r1, #0]
-    150a:	2100		mov	r1, #0
-    150c:	e7ea		b	0x14e4
-    150e:	4843		ldr	r0, =0x83ff04	; via 0x161c
-    1510:	6801		ldr	r1, [r0, #0]
-    1512:	1c4a		add	r2, r1, #1
-    1514:	6002		str	r2, [r0, #0]
-    1516:	4668		mov	r0, sp
-    1518:	7800		ldrb	r0, [r0, #0]
-    151a:	7008		strb	r0, [r1, #0]
-    151c:	4940		ldr	r1, =0x83ff0e	; via 0x1620
-    151e:	7808		ldrb	r0, [r1, #0]
-    1520:	3001		add	r0, #1
-    1522:	7008		strb	r0, [r1, #0]
-    1524:	483f		ldr	r0, =0x83ff0c	; via 0x1624
-    1526:	8801		ldrh	r1, [r0, #0]
-    1528:	3901		sub	r1, #1
-    152a:	8001		strh	r1, [r0, #0]
-    152c:	483d		ldr	r0, =0x83ff0c	; via 0x1624
-    152e:	8800		ldrh	r0, [r0, #0]
-    1530:	2800		cmp	r0, #0
-    1532:	d11c		bne	0x156e
-    1534:	9901		ldr	r1, [sp, #4]
-    1536:	483a		ldr	r0, =0x83ff0e	; via 0x1620
-    1538:	7800		ldrb	r0, [r0, #0]
-    153a:	7008		strb	r0, [r1, #0]
-    153c:	2001		mov	r0, #1
-    153e:	9002		str	r0, [sp, #8]
-    1540:	4839		ldr	r0, =0x83ff08	; via 0x1628
-    1542:	2100		mov	r1, #0
-    1544:	6001		str	r1, [r0, #0]
-    1546:	4834		ldr	r0, =0x83ff10	; via 0x1618
-    1548:	6001		str	r1, [r0, #0]
-    154a:	9801		ldr	r0, [sp, #4]
-    154c:	7800		ldrb	r0, [r0, #0]
-    154e:	2801		cmp	r0, #1
-    1550:	d10d		bne	0x156e
-    1552:	9801		ldr	r0, [sp, #4]
-    1554:	7840		ldrb	r0, [r0, #1]
-    1556:	28dd		cmp	r0, #221	; 0xdd
-    1558:	d109		bne	0x156e
-    155a:	f7ff fae3	bl	0xb24
-    155e:	e006		b	0x156e
-    1560:	4831		ldr	r0, =0x83ff08	; via 0x1628
-    1562:	6800		ldr	r0, [r0, #0]
-    1564:	2800		cmp	r0, #0
-    1566:	d087		beq	0x1478
-    1568:	3801		sub	r0, #1
-    156a:	2800		cmp	r0, #0
-    156c:	d0a5		beq	0x14ba
-    156e:	9802		ldr	r0, [sp, #8]
-    1570:	b003		add	sp, #12	; 0xc
-    1572:	bd00		pop	{pc}
-    1574:	b086		sub	sp, #24	; 0x18
-    1576:	9202		str	r2, [sp, #8]
-    1578:	9101		str	r1, [sp, #4]
-    157a:	9000		str	r0, [sp, #0]
-    157c:	9801		ldr	r0, [sp, #4]
-    157e:	3001		add	r0, #1
-    1580:	9004		str	r0, [sp, #16]	; 0x10
-    1582:	9800		ldr	r0, [sp, #0]
-    1584:	1c41		add	r1, r0, #1
-    1586:	9100		str	r1, [sp, #0]
-    1588:	9005		str	r0, [sp, #20]	; 0x14
-    158a:	9901		ldr	r1, [sp, #4]
-    158c:	20aa		mov	r0, #170	; 0xaa
-    158e:	7008		strb	r0, [r1, #0]
-    1590:	9801		ldr	r0, [sp, #4]
-    1592:	3002		add	r0, #2
-    1594:	9001		str	r0, [sp, #4]
-    1596:	9902		ldr	r1, [sp, #8]
-    1598:	2000		mov	r0, #0
-    159a:	8008		strh	r0, [r1, #0]
-    159c:	4669		mov	r1, sp
-    159e:	8188		strh	r0, [r1, #12]	; 0xc
-    15a0:	4668		mov	r0, sp
-    15a2:	8981		ldrh	r1, [r0, #12]	; 0xc
-    15a4:	9805		ldr	r0, [sp, #20]	; 0x14
-    15a6:	7800		ldrb	r0, [r0, #0]
-    15a8:	4281		cmp	r1, r0
-    15aa:	da23		bge	0x15f4
-    15ac:	9800		ldr	r0, [sp, #0]
-    15ae:	7800		ldrb	r0, [r0, #0]
-    15b0:	28aa		cmp	r0, #170	; 0xaa
-    15b2:	d108		bne	0x15c6
-    15b4:	9801		ldr	r0, [sp, #4]
-    15b6:	1c41		add	r1, r0, #1
-    15b8:	9101		str	r1, [sp, #4]
-    15ba:	21aa		mov	r1, #170	; 0xaa
-    15bc:	7001		strb	r1, [r0, #0]
-    15be:	9902		ldr	r1, [sp, #8]
-    15c0:	8808		ldrh	r0, [r1, #0]
-    15c2:	3001		add	r0, #1
-    15c4:	8008		strh	r0, [r1, #0]
-    15c6:	9800		ldr	r0, [sp, #0]
-    15c8:	7801		ldrb	r1, [r0, #0]
-    15ca:	3001		add	r0, #1
-    15cc:	9000		str	r0, [sp, #0]
-    15ce:	9801		ldr	r0, [sp, #4]
-    15d0:	1c42		add	r2, r0, #1
-    15d2:	9201		str	r2, [sp, #4]
-    15d4:	7001		strb	r1, [r0, #0]
-    15d6:	9902		ldr	r1, [sp, #8]
-    15d8:	8808		ldrh	r0, [r1, #0]
-    15da:	3001		add	r0, #1
-    15dc:	8008		strh	r0, [r1, #0]
-    15de:	4669		mov	r1, sp
-    15e0:	4668		mov	r0, sp
-    15e2:	8980		ldrh	r0, [r0, #12]	; 0xc
-    15e4:	3001		add	r0, #1
-    15e6:	8188		strh	r0, [r1, #12]	; 0xc
-    15e8:	4668		mov	r0, sp
-    15ea:	8980		ldrh	r0, [r0, #12]	; 0xc
-    15ec:	9905		ldr	r1, [sp, #20]	; 0x14
-    15ee:	7809		ldrb	r1, [r1, #0]
-    15f0:	4288		cmp	r0, r1
-    15f2:	dbdb		blt	0x15ac
-    15f4:	9904		ldr	r1, [sp, #16]	; 0x10
-    15f6:	9802		ldr	r0, [sp, #8]
-    15f8:	7800		ldrb	r0, [r0, #0]
-    15fa:	7008		strb	r0, [r1, #0]
-    15fc:	9902		ldr	r1, [sp, #8]
-    15fe:	8808		ldrh	r0, [r1, #0]
-    1600:	3002		add	r0, #2
-    1602:	8008		strh	r0, [r1, #0]
-    1604:	b006		add	sp, #24	; 0x18
-    1606:	4770		bx	lr
-    1608:	4907		ldr	r1, =0x83ff08	; via 0x1628
-    160a:	2000		mov	r0, #0
-    160c:	6008		str	r0, [r1, #0]
-    160e:	4802		ldr	r0, =0x83ff10	; via 0x1618
-    1610:	2100		mov	r1, #0
-    1612:	6001		str	r1, [r0, #0]
-    1614:	4770		bx	lr
-    1616:	46c0		nop			(mov r8, r8)
-    1618:	ff10		<half-bl>
-    161a:	0083		lsl	r3, r0, #2
-    161c:	ff04		<half-bl>
-    161e:	0083		lsl	r3, r0, #2
-    1620:	ff0e		<half-bl>
-    1622:	0083		lsl	r3, r0, #2
-    1624:	ff0c		<half-bl>
-    1626:	0083		lsl	r3, r0, #2
-    1628:	ff08		<half-bl>
-    162a:	0083		lsl	r3, r0, #2
-    162c:	b082		sub	sp, #8
-    162e:	9101		str	r1, [sp, #4]
-    1630:	9000		str	r0, [sp, #0]
-    1632:	9901		ldr	r1, [sp, #4]
-    1634:	2000		mov	r0, #0
-    1636:	7008		strb	r0, [r1, #0]
-    1638:	9801		ldr	r0, [sp, #4]
-    163a:	2100		mov	r1, #0
-    163c:	7041		strb	r1, [r0, #1]
-    163e:	9801		ldr	r0, [sp, #4]
-    1640:	2102		mov	r1, #2
-    1642:	7101		strb	r1, [r0, #4]
-    1644:	9801		ldr	r0, [sp, #4]
-    1646:	2106		mov	r1, #6
-    1648:	7141		strb	r1, [r0, #5]
-    164a:	9801		ldr	r0, [sp, #4]
-    164c:	2102		mov	r1, #2
-    164e:	7181		strb	r1, [r0, #6]
-    1650:	b002		add	sp, #8
-    1652:	4770		bx	lr
-    1654:	b500		push	{lr}
-    1656:	b084		sub	sp, #16	; 0x10
-    1658:	466b		mov	r3, sp
-    165a:	721a		strb	r2, [r3, #8]
-    165c:	9101		str	r1, [sp, #4]
-    165e:	9000		str	r0, [sp, #0]
-    1660:	9901		ldr	r1, [sp, #4]
-    1662:	2009		mov	r0, #9
-    1664:	7008		strb	r0, [r1, #0]
-    1666:	e015		b	0x1694
-    1668:	9801		ldr	r0, [sp, #4]
-    166a:	2100		mov	r1, #0
-    166c:	7041		strb	r1, [r0, #1]
-    166e:	9901		ldr	r1, [sp, #4]
-    1670:	4668		mov	r0, sp
-    1672:	8940		ldrh	r0, [r0, #10]	; 0xa
-    1674:	8088		strh	r0, [r1, #4]
-    1676:	9901		ldr	r1, [sp, #4]
-    1678:	4668		mov	r0, sp
-    167a:	8980		ldrh	r0, [r0, #12]	; 0xc
-    167c:	80c8		strh	r0, [r1, #6]
-    167e:	e01e		b	0x16be
-    1680:	2101		mov	r1, #1
-    1682:	e004		b	0x168e
-    1684:	2103		mov	r1, #3
-    1686:	e002		b	0x168e
-    1688:	2105		mov	r1, #5
-    168a:	e000		b	0x168e
-    168c:	2106		mov	r1, #6
-    168e:	9801		ldr	r0, [sp, #4]
-    1690:	7041		strb	r1, [r0, #1]
-    1692:	e014		b	0x16be
-    1694:	200a		mov	r0, #10	; 0xa
-    1696:	4468		add	r0, sp
-    1698:	a903		add	r1, sp, #12	; 0xc
-    169a:	466a		mov	r2, sp
-    169c:	7a12		ldrb	r2, [r2, #8]
-    169e:	f000 fb71	bl	0x1d84
-    16a2:	2800		cmp	r0, #0
-    16a4:	d0e0		beq	0x1668
-    16a6:	3801		sub	r0, #1
-    16a8:	2800		cmp	r0, #0
-    16aa:	d0e9		beq	0x1680
-    16ac:	3801		sub	r0, #1
-    16ae:	2800		cmp	r0, #0
-    16b0:	d0e8		beq	0x1684
-    16b2:	3801		sub	r0, #1
-    16b4:	2800		cmp	r0, #0
-    16b6:	d0e7		beq	0x1688
-    16b8:	3801		sub	r0, #1
-    16ba:	2800		cmp	r0, #0
-    16bc:	d0e6		beq	0x168c
-    16be:	b004		add	sp, #16	; 0x10
-    16c0:	bd00		pop	{pc}
-    16c2:	b084		sub	sp, #16	; 0x10
-    16c4:	9101		str	r1, [sp, #4]
-    16c6:	9000		str	r0, [sp, #0]
-    16c8:	9901		ldr	r1, [sp, #4]
-    16ca:	200a		mov	r0, #10	; 0xa
-    16cc:	7008		strb	r0, [r1, #0]
-    16ce:	9801		ldr	r0, [sp, #4]
-    16d0:	2100		mov	r1, #0
-    16d2:	7041		strb	r1, [r0, #1]
-    16d4:	4669		mov	r1, sp
-    16d6:	9800		ldr	r0, [sp, #0]
-    16d8:	8880		ldrh	r0, [r0, #4]
-    16da:	8108		strh	r0, [r1, #8]
-    16dc:	9800		ldr	r0, [sp, #0]
-    16de:	88c0		ldrh	r0, [r0, #6]
-    16e0:	8148		strh	r0, [r1, #10]	; 0xa
-    16e2:	4668		mov	r0, sp
-    16e4:	8941		ldrh	r1, [r0, #10]	; 0xa
-    16e6:	8900		ldrh	r0, [r0, #8]
-    16e8:	0400		lsl	r0, r0, #16
-    16ea:	1808		add	r0, r1, r0
-    16ec:	9003		str	r0, [sp, #12]	; 0xc
-    16ee:	9803		ldr	r0, [sp, #12]	; 0xc
-    16f0:	b004		add	sp, #16	; 0x10
-    16f2:	4770		bx	lr
-    16f4:	b085		sub	sp, #20	; 0x14
-    16f6:	9303		str	r3, [sp, #12]	; 0xc
-    16f8:	9202		str	r2, [sp, #8]
-    16fa:	9101		str	r1, [sp, #4]
-    16fc:	4669		mov	r1, sp
-    16fe:	7008		strb	r0, [r1, #0]
-    1700:	48ea		ldr	r0, =0x83ff19	; via 0x1aac
-    1702:	7809		ldrb	r1, [r1, #0]
-    1704:	7802		ldrb	r2, [r0, #0]
-    1706:	1889		add	r1, r1, r2
-    1708:	7001		strb	r1, [r0, #0]
-    170a:	48e9		ldr	r0, =0x83ff1a	; via 0x1ab0
-    170c:	7800		ldrb	r0, [r0, #0]
-    170e:	2800		cmp	r0, #0
-    1710:	d00e		beq	0x1730
-    1712:	48e8		ldr	r0, =0x83ff26	; via 0x1ab4
-    1714:	4669		mov	r1, sp
-    1716:	780a		ldrb	r2, [r1, #0]
-    1718:	8801		ldrh	r1, [r0, #0]
-    171a:	1851		add	r1, r2, r1
-    171c:	8001		strh	r1, [r0, #0]
-    171e:	9903		ldr	r1, [sp, #12]	; 0xc
-    1720:	48e4		ldr	r0, =0x83ff26	; via 0x1ab4
-    1722:	8800		ldrh	r0, [r0, #0]
-    1724:	8008		strh	r0, [r1, #0]
-    1726:	9801		ldr	r0, [sp, #4]
-    1728:	2100		mov	r1, #0
-    172a:	6001		str	r1, [r0, #0]
-    172c:	2000		mov	r0, #0
-    172e:	e009		b	0x1744
-    1730:	9902		ldr	r1, [sp, #8]
-    1732:	6808		ldr	r0, [r1, #0]
-    1734:	3002		add	r0, #2
-    1736:	6008		str	r0, [r1, #0]
-    1738:	49de		ldr	r1, =0x83ff26	; via 0x1ab4
-    173a:	4668		mov	r0, sp
-    173c:	7800		ldrb	r0, [r0, #0]
-    173e:	0200		lsl	r0, r0, #8
-    1740:	8008		strh	r0, [r1, #0]
-    1742:	2001		mov	r0, #1
-    1744:	9004		str	r0, [sp, #16]	; 0x10
-    1746:	2001		mov	r0, #1
-    1748:	49d9		ldr	r1, =0x83ff1a	; via 0x1ab0
-    174a:	7809		ldrb	r1, [r1, #0]
-    174c:	4388		bic	r0, r1
-    174e:	49d8		ldr	r1, =0x83ff1a	; via 0x1ab0
-    1750:	7008		strb	r0, [r1, #0]
-    1752:	48d9		ldr	r0, =0x83ff24	; via 0x1ab8
-    1754:	7801		ldrb	r1, [r0, #0]
-    1756:	3901		sub	r1, #1
-    1758:	7001		strb	r1, [r0, #0]
-    175a:	48d7		ldr	r0, =0x83ff24	; via 0x1ab8
-    175c:	7800		ldrb	r0, [r0, #0]
-    175e:	2800		cmp	r0, #0
-    1760:	d102		bne	0x1768
-    1762:	48d6		ldr	r0, =0x83ff20	; via 0x1abc
-    1764:	2106		mov	r1, #6
-    1766:	6001		str	r1, [r0, #0]
-    1768:	9804		ldr	r0, [sp, #16]	; 0x10
-    176a:	b005		add	sp, #20	; 0x14
-    176c:	46f7		mov	pc, lr
-    176e:	b083		sub	sp, #12	; 0xc
-    1770:	9101		str	r1, [sp, #4]
-    1772:	4669		mov	r1, sp
-    1774:	7008		strb	r0, [r1, #0]
-    1776:	2001		mov	r0, #1
-    1778:	9002		str	r0, [sp, #8]
-    177a:	48d1		ldr	r0, =0x83ff1b	; via 0x1ac0
-    177c:	7800		ldrb	r0, [r0, #0]
-    177e:	2800		cmp	r0, #0
-    1780:	d10a		bne	0x1798
-    1782:	4668		mov	r0, sp
-    1784:	7800		ldrb	r0, [r0, #0]
-    1786:	2853		cmp	r0, #83	; 0x53
-    1788:	d102		bne	0x1790
-    178a:	48cd		ldr	r0, =0x83ff1b	; via 0x1ac0
-    178c:	2101		mov	r1, #1
-    178e:	e01a		b	0x17c6
-    1790:	2101		mov	r1, #1
-    1792:	9801		ldr	r0, [sp, #4]
-    1794:	6001		str	r1, [r0, #0]
-    1796:	e03b		b	0x1810
-    1798:	49c9		ldr	r1, =0x83ff1b	; via 0x1ac0
-    179a:	2000		mov	r0, #0
-    179c:	7008		strb	r0, [r1, #0]
-    179e:	4668		mov	r0, sp
-    17a0:	7800		ldrb	r0, [r0, #0]
-    17a2:	2830		cmp	r0, #48	; 0x30
-    17a4:	d111		bne	0x17ca
-    17a6:	48c7		ldr	r0, =0x83ff18	; via 0x1ac4
-    17a8:	7800		ldrb	r0, [r0, #0]
-    17aa:	2800		cmp	r0, #0
-    17ac:	d006		beq	0x17bc
-    17ae:	9901		ldr	r1, [sp, #4]
-    17b0:	2001		mov	r0, #1
-    17b2:	6008		str	r0, [r1, #0]
-    17b4:	49c3		ldr	r1, =0x83ff18	; via 0x1ac4
-    17b6:	2000		mov	r0, #0
-    17b8:	7008		strb	r0, [r1, #0]
-    17ba:	e02a		b	0x1812
-    17bc:	48bf		ldr	r0, =0x83ff20	; via 0x1abc
-    17be:	2102		mov	r1, #2
-    17c0:	6001		str	r1, [r0, #0]
-    17c2:	48ef		ldr	r0, =0x83ff1c	; via 0x1b80
-    17c4:	2100		mov	r1, #0
-    17c6:	7001		strb	r1, [r0, #0]
-    17c8:	e024		b	0x1814
-    17ca:	4668		mov	r0, sp
-    17cc:	7800		ldrb	r0, [r0, #0]
-    17ce:	2833		cmp	r0, #51	; 0x33
-    17d0:	d105		bne	0x17de
-    17d2:	48bc		ldr	r0, =0x83ff18	; via 0x1ac4
-    17d4:	7800		ldrb	r0, [r0, #0]
-    17d6:	2800		cmp	r0, #0
-    17d8:	d0da		beq	0x1790
-    17da:	2004		mov	r0, #4
-    17dc:	e00c		b	0x17f8
-    17de:	4668		mov	r0, sp
-    17e0:	7800		ldrb	r0, [r0, #0]
-    17e2:	2837		cmp	r0, #55	; 0x37
-    17e4:	d10e		bne	0x1804
-    17e6:	48b7		ldr	r0, =0x83ff18	; via 0x1ac4
-    17e8:	7800		ldrb	r0, [r0, #0]
-    17ea:	2800		cmp	r0, #0
-    17ec:	d103		bne	0x17f6
-    17ee:	9901		ldr	r1, [sp, #4]
-    17f0:	2001		mov	r0, #1
-    17f2:	6008		str	r0, [r1, #0]
-    17f4:	e00c		b	0x1810
-    17f6:	2003		mov	r0, #3
-    17f8:	49b0		ldr	r1, =0x83ff20	; via 0x1abc
-    17fa:	6008		str	r0, [r1, #0]
-    17fc:	2000		mov	r0, #0
-    17fe:	49e0		ldr	r1, =0x83ff1c	; via 0x1b80
-    1800:	7008		strb	r0, [r1, #0]
-    1802:	e007		b	0x1814
-    1804:	9901		ldr	r1, [sp, #4]
-    1806:	2001		mov	r0, #1
-    1808:	6008		str	r0, [r1, #0]
-    180a:	48ae		ldr	r0, =0x83ff18	; via 0x1ac4
-    180c:	2100		mov	r1, #0
-    180e:	7001		strb	r1, [r0, #0]
-    1810:	2000		mov	r0, #0
-    1812:	9002		str	r0, [sp, #8]
-    1814:	9802		ldr	r0, [sp, #8]
-    1816:	b003		add	sp, #12	; 0xc
-    1818:	46f7		mov	pc, lr
-    181a:	b083		sub	sp, #12	; 0xc
-    181c:	9101		str	r1, [sp, #4]
-    181e:	4669		mov	r1, sp
-    1820:	7008		strb	r0, [r1, #0]
-    1822:	2001		mov	r0, #1
-    1824:	9002		str	r0, [sp, #8]
-    1826:	49d7		ldr	r1, =0x830	; via 0x1b84
-    1828:	48d5		ldr	r0, =0x83ff1c	; via 0x1b80
-    182a:	7800		ldrb	r0, [r0, #0]
-    182c:	0080		lsl	r0, r0, #2
-    182e:	5808		ldr	r0, [r1, r0]
-    1830:	4669		mov	r1, sp
-    1832:	7809		ldrb	r1, [r1, #0]
-    1834:	4281		cmp	r1, r0
-    1836:	d10d		bne	0x1854
-    1838:	49d1		ldr	r1, =0x83ff1c	; via 0x1b80
-    183a:	7808		ldrb	r0, [r1, #0]
-    183c:	3001		add	r0, #1
-    183e:	7008		strb	r0, [r1, #0]
-    1840:	48cf		ldr	r0, =0x83ff1c	; via 0x1b80
-    1842:	7800		ldrb	r0, [r0, #0]
-    1844:	2807		cmp	r0, #7
-    1846:	d10d		bne	0x1864
-    1848:	489c		ldr	r0, =0x83ff20	; via 0x1abc
-    184a:	2101		mov	r1, #1
-    184c:	6001		str	r1, [r0, #0]
-    184e:	489d		ldr	r0, =0x83ff18	; via 0x1ac4
-    1850:	7001		strb	r1, [r0, #0]
-    1852:	e007		b	0x1864
-    1854:	9801		ldr	r0, [sp, #4]
-    1856:	2101		mov	r1, #1
-    1858:	6001		str	r1, [r0, #0]
-    185a:	4998		ldr	r1, =0x83ff20	; via 0x1abc
-    185c:	2001		mov	r0, #1
-    185e:	6008		str	r0, [r1, #0]
-    1860:	2000		mov	r0, #0
-    1862:	9002		str	r0, [sp, #8]
-    1864:	9802		ldr	r0, [sp, #8]
-    1866:	b003		add	sp, #12	; 0xc
-    1868:	46f7		mov	pc, lr
-    186a:	b083		sub	sp, #12	; 0xc
-    186c:	9101		str	r1, [sp, #4]
-    186e:	4669		mov	r1, sp
-    1870:	7008		strb	r0, [r1, #0]
-    1872:	2001		mov	r0, #1
-    1874:	9002		str	r0, [sp, #8]
-    1876:	49c4		ldr	r1, =0x84c	; via 0x1b88
-    1878:	48c1		ldr	r0, =0x83ff1c	; via 0x1b80
-    187a:	7800		ldrb	r0, [r0, #0]
-    187c:	0080		lsl	r0, r0, #2
-    187e:	5808		ldr	r0, [r1, r0]
-    1880:	4669		mov	r1, sp
-    1882:	7809		ldrb	r1, [r1, #0]
-    1884:	4281		cmp	r1, r0
-    1886:	d112		bne	0x18ae
-    1888:	49bd		ldr	r1, =0x83ff1c	; via 0x1b80
-    188a:	7808		ldrb	r0, [r1, #0]
-    188c:	3001		add	r0, #1
-    188e:	7008		strb	r0, [r1, #0]
-    1890:	48bb		ldr	r0, =0x83ff1c	; via 0x1b80
-    1892:	7800		ldrb	r0, [r0, #0]
-    1894:	2806		cmp	r0, #6
-    1896:	d114		bne	0x18c2
-    1898:	9801		ldr	r0, [sp, #4]
-    189a:	2102		mov	r1, #2
-    189c:	6001		str	r1, [r0, #0]
-    189e:	4887		ldr	r0, =0x83ff20	; via 0x1abc
-    18a0:	2101		mov	r1, #1
-    18a2:	6001		str	r1, [r0, #0]
-    18a4:	4887		ldr	r0, =0x83ff18	; via 0x1ac4
-    18a6:	2100		mov	r1, #0
-    18a8:	7001		strb	r1, [r0, #0]
-    18aa:	2000		mov	r0, #0
-    18ac:	e008		b	0x18c0
-    18ae:	9801		ldr	r0, [sp, #4]
-    18b0:	2101		mov	r1, #1
-    18b2:	6001		str	r1, [r0, #0]
-    18b4:	4981		ldr	r1, =0x83ff20	; via 0x1abc
-    18b6:	2001		mov	r0, #1
-    18b8:	6008		str	r0, [r1, #0]
-    18ba:	4982		ldr	r1, =0x83ff18	; via 0x1ac4
-    18bc:	2000		mov	r0, #0
-    18be:	7008		strb	r0, [r1, #0]
-    18c0:	9002		str	r0, [sp, #8]
-    18c2:	9802		ldr	r0, [sp, #8]
-    18c4:	b003		add	sp, #12	; 0xc
-    18c6:	46f7		mov	pc, lr
-    18c8:	b081		sub	sp, #4
-    18ca:	4669		mov	r1, sp
-    18cc:	7008		strb	r0, [r1, #0]
-    18ce:	497a		ldr	r1, =0x83ff24	; via 0x1ab8
-    18d0:	4668		mov	r0, sp
-    18d2:	7800		ldrb	r0, [r0, #0]
-    18d4:	3801		sub	r0, #1
-    18d6:	7008		strb	r0, [r1, #0]
-    18d8:	4874		ldr	r0, =0x83ff19	; via 0x1aac
-    18da:	4669		mov	r1, sp
-    18dc:	7809		ldrb	r1, [r1, #0]
-    18de:	7001		strb	r1, [r0, #0]
-    18e0:	48a7		ldr	r0, =0x83ff1c	; via 0x1b80
-    18e2:	2100		mov	r1, #0
-    18e4:	7001		strb	r1, [r0, #0]
-    18e6:	48e3		ldr	r0, =0x83ff14	; via 0x1c74
-    18e8:	6001		str	r1, [r0, #0]
-    18ea:	4874		ldr	r0, =0x83ff20	; via 0x1abc
-    18ec:	2105		mov	r1, #5
-    18ee:	6001		str	r1, [r0, #0]
-    18f0:	b001		add	sp, #4
-    18f2:	46f7		mov	pc, lr
-    18f4:	b084		sub	sp, #16	; 0x10
-    18f6:	9202		str	r2, [sp, #8]
-    18f8:	9101		str	r1, [sp, #4]
-    18fa:	4669		mov	r1, sp
-    18fc:	7008		strb	r0, [r1, #0]
-    18fe:	2001		mov	r0, #1
-    1900:	9003		str	r0, [sp, #12]	; 0xc
-    1902:	496d		ldr	r1, =0x83ff24	; via 0x1ab8
-    1904:	7808		ldrb	r0, [r1, #0]
-    1906:	3801		sub	r0, #1
-    1908:	7008		strb	r0, [r1, #0]
-    190a:	486b		ldr	r0, =0x83ff24	; via 0x1ab8
-    190c:	7800		ldrb	r0, [r0, #0]
-    190e:	2800		cmp	r0, #0
-    1910:	d026		beq	0x1960
-    1912:	4866		ldr	r0, =0x83ff19	; via 0x1aac
-    1914:	4669		mov	r1, sp
-    1916:	780a		ldrb	r2, [r1, #0]
-    1918:	7801		ldrb	r1, [r0, #0]
-    191a:	1851		add	r1, r2, r1
-    191c:	7001		strb	r1, [r0, #0]
-    191e:	4998		ldr	r1, =0x83ff1c	; via 0x1b80
-    1920:	7808		ldrb	r0, [r1, #0]
-    1922:	3001		add	r0, #1
-    1924:	7008		strb	r0, [r1, #0]
-    1926:	49d3		ldr	r1, =0x83ff14	; via 0x1c74
-    1928:	2204		mov	r2, #4
-    192a:	4895		ldr	r0, =0x83ff1c	; via 0x1b80
-    192c:	7800		ldrb	r0, [r0, #0]
-    192e:	1a10		sub	r0, r2, r0
-    1930:	00c2		lsl	r2, r0, #3
-    1932:	4668		mov	r0, sp
-    1934:	7800		ldrb	r0, [r0, #0]
-    1936:	4090		lsl	r0, r2
-    1938:	680a		ldr	r2, [r1, #0]
-    193a:	1880		add	r0, r0, r2
-    193c:	6008		str	r0, [r1, #0]
-    193e:	4890		ldr	r0, =0x83ff1c	; via 0x1b80
-    1940:	7800		ldrb	r0, [r0, #0]
-    1942:	2804		cmp	r0, #4
-    1944:	d117		bne	0x1976
-    1946:	9902		ldr	r1, [sp, #8]
-    1948:	48ca		ldr	r0, =0x83ff14	; via 0x1c74
-    194a:	6800		ldr	r0, [r0, #0]
-    194c:	3802		sub	r0, #2
-    194e:	6008		str	r0, [r1, #0]
-    1950:	485a		ldr	r0, =0x83ff20	; via 0x1abc
-    1952:	2100		mov	r1, #0
-    1954:	6001		str	r1, [r0, #0]
-    1956:	4856		ldr	r0, =0x83ff1a	; via 0x1ab0
-    1958:	7001		strb	r1, [r0, #0]
-    195a:	4889		ldr	r0, =0x83ff1c	; via 0x1b80
-    195c:	7001		strb	r1, [r0, #0]
-    195e:	e00a		b	0x1976
-    1960:	9801		ldr	r0, [sp, #4]
-    1962:	2101		mov	r1, #1
-    1964:	6001		str	r1, [r0, #0]
-    1966:	4955		ldr	r1, =0x83ff20	; via 0x1abc
-    1968:	2001		mov	r0, #1
-    196a:	6008		str	r0, [r1, #0]
-    196c:	4855		ldr	r0, =0x83ff18	; via 0x1ac4
-    196e:	2100		mov	r1, #0
-    1970:	7001		strb	r1, [r0, #0]
-    1972:	2000		mov	r0, #0
-    1974:	9003		str	r0, [sp, #12]	; 0xc
-    1976:	9803		ldr	r0, [sp, #12]	; 0xc
-    1978:	b004		add	sp, #16	; 0x10
-    197a:	46f7		mov	pc, lr
-    197c:	b083		sub	sp, #12	; 0xc
-    197e:	9101		str	r1, [sp, #4]
-    1980:	4669		mov	r1, sp
-    1982:	7008		strb	r0, [r1, #0]
-    1984:	2001		mov	r0, #1
-    1986:	9002		str	r0, [sp, #8]
-    1988:	494c		ldr	r1, =0x83ff20	; via 0x1abc
-    198a:	6008		str	r0, [r1, #0]
-    198c:	20ff		mov	r0, #255	; 0xff
-    198e:	4669		mov	r1, sp
-    1990:	7809		ldrb	r1, [r1, #0]
-    1992:	4388		bic	r0, r1
-    1994:	4945		ldr	r1, =0x83ff19	; via 0x1aac
-    1996:	7809		ldrb	r1, [r1, #0]
-    1998:	4281		cmp	r1, r0
-    199a:	d007		beq	0x19ac
-    199c:	9801		ldr	r0, [sp, #4]
-    199e:	2101		mov	r1, #1
-    19a0:	6001		str	r1, [r0, #0]
-    19a2:	4848		ldr	r0, =0x83ff18	; via 0x1ac4
-    19a4:	2100		mov	r1, #0
-    19a6:	7001		strb	r1, [r0, #0]
-    19a8:	2000		mov	r0, #0
-    19aa:	9002		str	r0, [sp, #8]
-    19ac:	9802		ldr	r0, [sp, #8]
-    19ae:	b003		add	sp, #12	; 0xc
-    19b0:	46f7		mov	pc, lr
-    19b2:	b085		sub	sp, #20	; 0x14
-    19b4:	466b		mov	r3, sp
-    19b6:	719a		strb	r2, [r3, #6]
-    19b8:	466a		mov	r2, sp
-    19ba:	8091		strh	r1, [r2, #4]
-    19bc:	9000		str	r0, [sp, #0]
-    19be:	9800		ldr	r0, [sp, #0]
-    19c0:	9002		str	r0, [sp, #8]
-    19c2:	4669		mov	r1, sp
-    19c4:	4668		mov	r0, sp
-    19c6:	8880		ldrh	r0, [r0, #4]
-    19c8:	8208		strh	r0, [r1, #16]	; 0x10
-    19ca:	4668		mov	r0, sp
-    19cc:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    19ce:	2800		cmp	r0, #0
-    19d0:	d01e		beq	0x1a10
-    19d2:	49e3		ldr	r1, =0x864	; via 0x1d60
-    19d4:	4668		mov	r0, sp
-    19d6:	7980		ldrb	r0, [r0, #6]
-    19d8:	0080		lsl	r0, r0, #2
-    19da:	5808		ldr	r0, [r1, r0]
-    19dc:	7941		ldrb	r1, [r0, #5]
-    19de:	4668		mov	r0, sp
-    19e0:	7301		strb	r1, [r0, #12]	; 0xc
-    19e2:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    19e4:	0980		lsr	r0, r0, #6
-    19e6:	d3f4		bcc	0x19d2
-    19e8:	49dd		ldr	r1, =0x864	; via 0x1d60
-    19ea:	4668		mov	r0, sp
-    19ec:	7980		ldrb	r0, [r0, #6]
-    19ee:	0080		lsl	r0, r0, #2
-    19f0:	5809		ldr	r1, [r1, r0]
-    19f2:	9802		ldr	r0, [sp, #8]
-    19f4:	7800		ldrb	r0, [r0, #0]
-    19f6:	7008		strb	r0, [r1, #0]
-    19f8:	9802		ldr	r0, [sp, #8]
-    19fa:	3001		add	r0, #1
-    19fc:	9002		str	r0, [sp, #8]
-    19fe:	4669		mov	r1, sp
-    1a00:	4668		mov	r0, sp
-    1a02:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    1a04:	3801		sub	r0, #1
-    1a06:	8208		strh	r0, [r1, #16]	; 0x10
-    1a08:	4668		mov	r0, sp
-    1a0a:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    1a0c:	2800		cmp	r0, #0
-    1a0e:	d1e0		bne	0x19d2
-    1a10:	b005		add	sp, #20	; 0x14
-    1a12:	46f7		mov	pc, lr
-    1a14:	b082		sub	sp, #8
-    1a16:	4669		mov	r1, sp
-    1a18:	7008		strb	r0, [r1, #0]
-    1a1a:	2000		mov	r0, #0
-    1a1c:	8088		strh	r0, [r1, #4]
-    1a1e:	4668		mov	r0, sp
-    1a20:	8881		ldrh	r1, [r0, #4]
-    1a22:	20ff		mov	r0, #255	; 0xff
-    1a24:	30f5		add	r0, #245	; 0xf5
-    1a26:	4281		cmp	r1, r0
-    1a28:	da21		bge	0x1a6e
-    1a2a:	4669		mov	r1, sp
-    1a2c:	4668		mov	r0, sp
-    1a2e:	8880		ldrh	r0, [r0, #4]
-    1a30:	3001		add	r0, #1
-    1a32:	8088		strh	r0, [r1, #4]
-    1a34:	48ca		ldr	r0, =0x864	; via 0x1d60
-    1a36:	7809		ldrb	r1, [r1, #0]
-    1a38:	0089		lsl	r1, r1, #2
-    1a3a:	5840		ldr	r0, [r0, r1]
-    1a3c:	7940		ldrb	r0, [r0, #5]
-    1a3e:	4669		mov	r1, sp
-    1a40:	7048		strb	r0, [r1, #1]
-    1a42:	4668		mov	r0, sp
-    1a44:	7840		ldrb	r0, [r0, #1]
-    1a46:	0840		lsr	r0, r0, #1
-    1a48:	d30b		bcc	0x1a62
-    1a4a:	49c5		ldr	r1, =0x864	; via 0x1d60
-    1a4c:	4668		mov	r0, sp
-    1a4e:	7800		ldrb	r0, [r0, #0]
-    1a50:	0080		lsl	r0, r0, #2
-    1a52:	5808		ldr	r0, [r1, r0]
-    1a54:	7800		ldrb	r0, [r0, #0]
-    1a56:	0600		lsl	r0, r0, #24
-    1a58:	0e00		lsr	r0, r0, #24
-    1a5a:	4669		mov	r1, sp
-    1a5c:	7088		strb	r0, [r1, #2]
-    1a5e:	2000		mov	r0, #0
-    1a60:	8088		strh	r0, [r1, #4]
-    1a62:	4668		mov	r0, sp
-    1a64:	8881		ldrh	r1, [r0, #4]
-    1a66:	20ff		mov	r0, #255	; 0xff
-    1a68:	30f5		add	r0, #245	; 0xf5
-    1a6a:	4281		cmp	r1, r0
-    1a6c:	dbdd		blt	0x1a2a
-    1a6e:	b002		add	sp, #8
-    1a70:	4770		bx	lr
-    1a72:	b500		push	{lr}
-    1a74:	b08c		sub	sp, #48	; 0x30
-    1a76:	466a		mov	r2, sp
-    1a78:	7111		strb	r1, [r2, #4]
-    1a7a:	9000		str	r0, [sp, #0]
-    1a7c:	2001		mov	r0, #1
-    1a7e:	9002		str	r0, [sp, #8]
-    1a80:	9800		ldr	r0, [sp, #0]
-    1a82:	a904		add	r1, sp, #16	; 0x10
-    1a84:	aa03		add	r2, sp, #12	; 0xc
-    1a86:	f7ff fd75	bl	0x1574
-    1a8a:	4668		mov	r0, sp
-    1a8c:	8980		ldrh	r0, [r0, #12]	; 0xc
-    1a8e:	2820		cmp	r0, #32	; 0x20
-    1a90:	dd02		ble	0x1a98
-    1a92:	2000		mov	r0, #0
-    1a94:	9002		str	r0, [sp, #8]
-    1a96:	e006		b	0x1aa6
-    1a98:	a804		add	r0, sp, #16	; 0x10
-    1a9a:	4669		mov	r1, sp
-    1a9c:	8989		ldrh	r1, [r1, #12]	; 0xc
-    1a9e:	466a		mov	r2, sp
-    1aa0:	7912		ldrb	r2, [r2, #4]
-    1aa2:	f7ff ff86	bl	0x19b2
-    1aa6:	9802		ldr	r0, [sp, #8]
-    1aa8:	b00c		add	sp, #48	; 0x30
-    1aaa:	bd00		pop	{pc}
-    1aac:	ff19		<half-bl>
-    1aae:	0083		lsl	r3, r0, #2
-    1ab0:	ff1a		<half-bl>
-    1ab2:	0083		lsl	r3, r0, #2
-    1ab4:	ff26		<half-bl>
-    1ab6:	0083		lsl	r3, r0, #2
-    1ab8:	ff24		<half-bl>
-    1aba:	0083		lsl	r3, r0, #2
-    1abc:	ff20		<half-bl>
-    1abe:	0083		lsl	r3, r0, #2
-    1ac0:	ff1b		<half-bl>
-    1ac2:	0083		lsl	r3, r0, #2
-    1ac4:	ff18		<half-bl>
-    1ac6:	0083		lsl	r3, r0, #2
-    1ac8:	b500		push	{lr}
-    1aca:	b084		sub	sp, #16	; 0x10
-    1acc:	9101		str	r1, [sp, #4]
-    1ace:	9000		str	r0, [sp, #0]
-    1ad0:	4669		mov	r1, sp
-    1ad2:	20ff		mov	r0, #255	; 0xff
-    1ad4:	7308		strb	r0, [r1, #12]	; 0xc
-    1ad6:	2000		mov	r0, #0
-    1ad8:	9002		str	r0, [sp, #8]
-    1ada:	4669		mov	r1, sp
-    1adc:	48a1		ldr	r0, =0xffff5805	; via 0x1d64
-    1ade:	7800		ldrb	r0, [r0, #0]
-    1ae0:	7348		strb	r0, [r1, #13]	; 0xd
-    1ae2:	48a1		ldr	r0, =0xffff5005	; via 0x1d68
-    1ae4:	7800		ldrb	r0, [r0, #0]
-    1ae6:	7388		strb	r0, [r1, #14]	; 0xe
-    1ae8:	4668		mov	r0, sp
-    1aea:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1aec:	0840		lsr	r0, r0, #1
-    1aee:	d206		bcs	0x1afe
-    1af0:	4668		mov	r0, sp
-    1af2:	7b80		ldrb	r0, [r0, #14]	; 0xe
-    1af4:	0840		lsr	r0, r0, #1
-    1af6:	d202		bcs	0x1afe
-    1af8:	9801		ldr	r0, [sp, #4]
-    1afa:	2800		cmp	r0, #0
-    1afc:	d0ed		beq	0x1ada
-    1afe:	4668		mov	r0, sp
-    1b00:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b02:	0840		lsr	r0, r0, #1
-    1b04:	d316		bcc	0x1b34
-    1b06:	4669		mov	r1, sp
-    1b08:	2000		mov	r0, #0
-    1b0a:	7308		strb	r0, [r1, #12]	; 0xc
-    1b0c:	4994		ldr	r1, =0x864	; via 0x1d60
-    1b0e:	4668		mov	r0, sp
-    1b10:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1b12:	0080		lsl	r0, r0, #2
-    1b14:	5808		ldr	r0, [r1, r0]
-    1b16:	7800		ldrb	r0, [r0, #0]
-    1b18:	0600		lsl	r0, r0, #24
-    1b1a:	0e00		lsr	r0, r0, #24
-    1b1c:	4669		mov	r1, sp
-    1b1e:	73c8		strb	r0, [r1, #15]	; 0xf
-    1b20:	4668		mov	r0, sp
-    1b22:	7bc0		ldrb	r0, [r0, #15]	; 0xf
-    1b24:	9900		ldr	r1, [sp, #0]
-    1b26:	f7ff fc9f	bl	0x1468
-    1b2a:	9002		str	r0, [sp, #8]
-    1b2c:	9802		ldr	r0, [sp, #8]
-    1b2e:	2800		cmp	r0, #0
-    1b30:	d11c		bne	0x1b6c
-    1b32:	e018		b	0x1b66
-    1b34:	4668		mov	r0, sp
-    1b36:	7b80		ldrb	r0, [r0, #14]	; 0xe
-    1b38:	0840		lsr	r0, r0, #1
-    1b3a:	d317		bcc	0x1b6c
-    1b3c:	4669		mov	r1, sp
-    1b3e:	2001		mov	r0, #1
-    1b40:	7308		strb	r0, [r1, #12]	; 0xc
-    1b42:	4987		ldr	r1, =0x864	; via 0x1d60
-    1b44:	4668		mov	r0, sp
-    1b46:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1b48:	0080		lsl	r0, r0, #2
-    1b4a:	5808		ldr	r0, [r1, r0]
-    1b4c:	7800		ldrb	r0, [r0, #0]
-    1b4e:	0600		lsl	r0, r0, #24
-    1b50:	0e01		lsr	r1, r0, #24
-    1b52:	4668		mov	r0, sp
-    1b54:	73c1		strb	r1, [r0, #15]	; 0xf
-    1b56:	7bc0		ldrb	r0, [r0, #15]	; 0xf
-    1b58:	9900		ldr	r1, [sp, #0]
-    1b5a:	f7ff fc85	bl	0x1468
-    1b5e:	9002		str	r0, [sp, #8]
-    1b60:	9802		ldr	r0, [sp, #8]
-    1b62:	2800		cmp	r0, #0
-    1b64:	d102		bne	0x1b6c
-    1b66:	20ff		mov	r0, #255	; 0xff
-    1b68:	4669		mov	r1, sp
-    1b6a:	7308		strb	r0, [r1, #12]	; 0xc
-    1b6c:	9802		ldr	r0, [sp, #8]
-    1b6e:	2800		cmp	r0, #0
-    1b70:	d102		bne	0x1b78
-    1b72:	9801		ldr	r0, [sp, #4]
-    1b74:	2800		cmp	r0, #0
-    1b76:	d0b0		beq	0x1ada
-    1b78:	4668		mov	r0, sp
-    1b7a:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1b7c:	b004		add	sp, #16	; 0x10
-    1b7e:	bd00		pop	{pc}
-    1b80:	ff1c		<half-bl>
-    1b82:	0083		lsl	r3, r0, #2
-    1b84:	0830		lsr	r0, r6, #32
-    1b86:	0000		lsl	r0, r0, #0
-    1b88:	084c		lsr	r4, r1, #1
-    1b8a:	0000		lsl	r0, r0, #0
-    1b8c:	b500		push	{lr}
-    1b8e:	b086		sub	sp, #24	; 0x18
-    1b90:	466b		mov	r3, sp
-    1b92:	721a		strb	r2, [r3, #8]
-    1b94:	9101		str	r1, [sp, #4]
-    1b96:	9000		str	r0, [sp, #0]
-    1b98:	2001		mov	r0, #1
-    1b9a:	9004		str	r0, [sp, #16]	; 0x10
-    1b9c:	9804		ldr	r0, [sp, #16]	; 0x10
-    1b9e:	2800		cmp	r0, #0
-    1ba0:	d05b		beq	0x1c5a
-    1ba2:	496f		ldr	r1, =0x864	; via 0x1d60
-    1ba4:	4668		mov	r0, sp
-    1ba6:	7a00		ldrb	r0, [r0, #8]
-    1ba8:	0080		lsl	r0, r0, #2
-    1baa:	5808		ldr	r0, [r1, r0]
-    1bac:	7941		ldrb	r1, [r0, #5]
-    1bae:	4668		mov	r0, sp
-    1bb0:	7301		strb	r1, [r0, #12]	; 0xc
-    1bb2:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1bb4:	0840		lsr	r0, r0, #1
-    1bb6:	d3f4		bcc	0x1ba2
-    1bb8:	4969		ldr	r1, =0x864	; via 0x1d60
-    1bba:	4668		mov	r0, sp
-    1bbc:	7a00		ldrb	r0, [r0, #8]
-    1bbe:	0080		lsl	r0, r0, #2
-    1bc0:	5808		ldr	r0, [r1, r0]
-    1bc2:	7800		ldrb	r0, [r0, #0]
-    1bc4:	0600		lsl	r0, r0, #24
-    1bc6:	0e01		lsr	r1, r0, #24
-    1bc8:	4668		mov	r0, sp
-    1bca:	7341		strb	r1, [r0, #13]	; 0xd
-    1bcc:	e02c		b	0x1c28
-    1bce:	4668		mov	r0, sp
-    1bd0:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1bd2:	a905		add	r1, sp, #20	; 0x14
-    1bd4:	9a00		ldr	r2, [sp, #0]
-    1bd6:	9b01		ldr	r3, [sp, #4]
-    1bd8:	f7ff fd8c	bl	0x16f4
-    1bdc:	9004		str	r0, [sp, #16]	; 0x10
-    1bde:	e039		b	0x1c54
-    1be0:	4668		mov	r0, sp
-    1be2:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1be4:	a905		add	r1, sp, #20	; 0x14
-    1be6:	f7ff fdc2	bl	0x176e
-    1bea:	e7f7		b	0x1bdc
-    1bec:	4668		mov	r0, sp
-    1bee:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1bf0:	a905		add	r1, sp, #20	; 0x14
-    1bf2:	f7ff fe12	bl	0x181a
-    1bf6:	e7f1		b	0x1bdc
-    1bf8:	4668		mov	r0, sp
-    1bfa:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1bfc:	a905		add	r1, sp, #20	; 0x14
-    1bfe:	f7ff fe34	bl	0x186a
-    1c02:	e7eb		b	0x1bdc
-    1c04:	4668		mov	r0, sp
-    1c06:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1c08:	f7ff fe5e	bl	0x18c8
-    1c0c:	e022		b	0x1c54
-    1c0e:	4668		mov	r0, sp
-    1c10:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1c12:	a905		add	r1, sp, #20	; 0x14
-    1c14:	9a00		ldr	r2, [sp, #0]
-    1c16:	f7ff fe6d	bl	0x18f4
-    1c1a:	e7df		b	0x1bdc
-    1c1c:	4668		mov	r0, sp
-    1c1e:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1c20:	a905		add	r1, sp, #20	; 0x14
-    1c22:	f7ff feab	bl	0x197c
-    1c26:	e7d9		b	0x1bdc
-    1c28:	4850		ldr	r0, =0x83ff20	; via 0x1d6c
-    1c2a:	6800		ldr	r0, [r0, #0]
-    1c2c:	2800		cmp	r0, #0
-    1c2e:	d0ce		beq	0x1bce
-    1c30:	3801		sub	r0, #1
-    1c32:	2800		cmp	r0, #0
-    1c34:	d0d4		beq	0x1be0
-    1c36:	3801		sub	r0, #1
-    1c38:	2800		cmp	r0, #0
-    1c3a:	d0d7		beq	0x1bec
-    1c3c:	3801		sub	r0, #1
-    1c3e:	2800		cmp	r0, #0
-    1c40:	d0da		beq	0x1bf8
-    1c42:	3801		sub	r0, #1
-    1c44:	2800		cmp	r0, #0
-    1c46:	d0dd		beq	0x1c04
-    1c48:	3801		sub	r0, #1
-    1c4a:	2800		cmp	r0, #0
-    1c4c:	d0df		beq	0x1c0e
-    1c4e:	3801		sub	r0, #1
-    1c50:	2800		cmp	r0, #0
-    1c52:	d0e3		beq	0x1c1c
-    1c54:	9804		ldr	r0, [sp, #16]	; 0x10
-    1c56:	2800		cmp	r0, #0
-    1c58:	d1a3		bne	0x1ba2
-    1c5a:	9805		ldr	r0, [sp, #20]	; 0x14
-    1c5c:	b006		add	sp, #24	; 0x18
-    1c5e:	bd00		pop	{pc}
-    1c60:	4942		ldr	r1, =0x83ff20	; via 0x1d6c
-    1c62:	2001		mov	r0, #1
-    1c64:	6008		str	r0, [r1, #0]
-    1c66:	4842		ldr	r0, =0x83ff1b	; via 0x1d70
-    1c68:	2100		mov	r1, #0
-    1c6a:	7001		strb	r1, [r0, #0]
-    1c6c:	4841		ldr	r0, =0x83ff18	; via 0x1d74
-    1c6e:	7001		strb	r1, [r0, #0]
-    1c70:	4770		bx	lr
-    1c72:	46c0		nop			(mov r8, r8)
-    1c74:	ff14		<half-bl>
-    1c76:	0083		lsl	r3, r0, #2
-    1c78:	b081		sub	sp, #4
-    1c7a:	483f		ldr	r0, =0xffff5800	; via 0x1d78
-    1c7c:	9000		str	r0, [sp, #0]
-    1c7e:	493f		ldr	r1, =0xffff6000	; via 0x1d7c
-    1c80:	2002		mov	r0, #2
-    1c82:	880a		ldrh	r2, [r1, #0]
-    1c84:	4310		orr	r0, r2
-    1c86:	8008		strh	r0, [r1, #0]
-    1c88:	483c		ldr	r0, =0xffff6000	; via 0x1d7c
-    1c8a:	8801		ldrh	r1, [r0, #0]
-    1c8c:	0849		lsr	r1, r1, #1
-    1c8e:	0049		lsl	r1, r1, #1
-    1c90:	8001		strh	r1, [r0, #0]
-    1c92:	493a		ldr	r1, =0xffff6000	; via 0x1d7c
-    1c94:	8808		ldrh	r0, [r1, #0]
-    1c96:	2202		mov	r2, #2
-    1c98:	4390		bic	r0, r2
-    1c9a:	8008		strh	r0, [r1, #0]
-    1c9c:	9900		ldr	r1, [sp, #0]
-    1c9e:	2007		mov	r0, #7
-    1ca0:	7208		strb	r0, [r1, #8]
-    1ca2:	9900		ldr	r1, [sp, #0]
-    1ca4:	20bf		mov	r0, #191	; 0xbf
-    1ca6:	70c8		strb	r0, [r1, #3]
-    1ca8:	9800		ldr	r0, [sp, #0]
-    1caa:	1c81		add	r1, r0, #2
-    1cac:	2010		mov	r0, #16	; 0x10
-    1cae:	880a		ldrh	r2, [r1, #0]
-    1cb0:	4310		orr	r0, r2
-    1cb2:	8008		strh	r0, [r1, #0]
-    1cb4:	9800		ldr	r0, [sp, #0]
-    1cb6:	2180		mov	r1, #128	; 0x80
-    1cb8:	70c1		strb	r1, [r0, #3]
-    1cba:	9800		ldr	r0, [sp, #0]
-    1cbc:	2107		mov	r1, #7
-    1cbe:	7081		strb	r1, [r0, #2]
-    1cc0:	9800		ldr	r0, [sp, #0]
-    1cc2:	21bf		mov	r1, #191	; 0xbf
-    1cc4:	70c1		strb	r1, [r0, #3]
-    1cc6:	9800		ldr	r0, [sp, #0]
-    1cc8:	2107		mov	r1, #7
-    1cca:	7001		strb	r1, [r0, #0]
-    1ccc:	9800		ldr	r0, [sp, #0]
-    1cce:	2100		mov	r1, #0
-    1cd0:	7041		strb	r1, [r0, #1]
-    1cd2:	9800		ldr	r0, [sp, #0]
-    1cd4:	2103		mov	r1, #3
-    1cd6:	70c1		strb	r1, [r0, #3]
-    1cd8:	9800		ldr	r0, [sp, #0]
-    1cda:	2100		mov	r1, #0
-    1cdc:	7201		strb	r1, [r0, #8]
-    1cde:	4828		ldr	r0, =0xffff5000	; via 0x1d80
-    1ce0:	9000		str	r0, [sp, #0]
-    1ce2:	9800		ldr	r0, [sp, #0]
-    1ce4:	2107		mov	r1, #7
-    1ce6:	7201		strb	r1, [r0, #8]
-    1ce8:	9900		ldr	r1, [sp, #0]
-    1cea:	20bf		mov	r0, #191	; 0xbf
-    1cec:	70c8		strb	r0, [r1, #3]
-    1cee:	9800		ldr	r0, [sp, #0]
-    1cf0:	1c80		add	r0, r0, #2
-    1cf2:	2110		mov	r1, #16	; 0x10
-    1cf4:	8802		ldrh	r2, [r0, #0]
-    1cf6:	4311		orr	r1, r2
-    1cf8:	8001		strh	r1, [r0, #0]
-    1cfa:	9800		ldr	r0, [sp, #0]
-    1cfc:	2180		mov	r1, #128	; 0x80
-    1cfe:	70c1		strb	r1, [r0, #3]
-    1d00:	9800		ldr	r0, [sp, #0]
-    1d02:	2107		mov	r1, #7
-    1d04:	7081		strb	r1, [r0, #2]
-    1d06:	9800		ldr	r0, [sp, #0]
-    1d08:	21bf		mov	r1, #191	; 0xbf
-    1d0a:	70c1		strb	r1, [r0, #3]
-    1d0c:	9800		ldr	r0, [sp, #0]
-    1d0e:	2107		mov	r1, #7
-    1d10:	7001		strb	r1, [r0, #0]
-    1d12:	9800		ldr	r0, [sp, #0]
-    1d14:	2100		mov	r1, #0
-    1d16:	7041		strb	r1, [r0, #1]
-    1d18:	9900		ldr	r1, [sp, #0]
-    1d1a:	2003		mov	r0, #3
-    1d1c:	70c8		strb	r0, [r1, #3]
-    1d1e:	9800		ldr	r0, [sp, #0]
-    1d20:	2100		mov	r1, #0
-    1d22:	7201		strb	r1, [r0, #8]
-    1d24:	b001		add	sp, #4
-    1d26:	4770		bx	lr
-    1d28:	b081		sub	sp, #4
-    1d2a:	4669		mov	r1, sp
-    1d2c:	7008		strb	r0, [r1, #0]
-    1d2e:	490c		ldr	r1, =0x864	; via 0x1d60
-    1d30:	4668		mov	r0, sp
-    1d32:	7800		ldrb	r0, [r0, #0]
-    1d34:	0080		lsl	r0, r0, #2
-    1d36:	5808		ldr	r0, [r1, r0]
-    1d38:	7941		ldrb	r1, [r0, #5]
-    1d3a:	4668		mov	r0, sp
-    1d3c:	7041		strb	r1, [r0, #1]
-    1d3e:	7840		ldrb	r0, [r0, #1]
-    1d40:	09c0		lsr	r0, r0, #7
-    1d42:	d20b		bcs	0x1d5c
-    1d44:	4806		ldr	r0, =0x864	; via 0x1d60
-    1d46:	4669		mov	r1, sp
-    1d48:	7809		ldrb	r1, [r1, #0]
-    1d4a:	0089		lsl	r1, r1, #2
-    1d4c:	5840		ldr	r0, [r0, r1]
-    1d4e:	7940		ldrb	r0, [r0, #5]
-    1d50:	4669		mov	r1, sp
-    1d52:	7048		strb	r0, [r1, #1]
-    1d54:	4668		mov	r0, sp
-    1d56:	7840		ldrb	r0, [r0, #1]
-    1d58:	09c0		lsr	r0, r0, #7
-    1d5a:	d3f3		bcc	0x1d44
-    1d5c:	b001		add	sp, #4
-    1d5e:	4770		bx	lr
-    1d60:	0864		lsr	r4, r4, #1
-    1d62:	0000		lsl	r0, r0, #0
-    1d64:	5805		ldr	r5, [r0, r0]
-    1d66:	ffff		<half-bl>
-    1d68:	5005		str	r5, [r0, r0]
-    1d6a:	ffff		<half-bl>
-    1d6c:	ff20		<half-bl>
-    1d6e:	0083		lsl	r3, r0, #2
-    1d70:	ff1b		<half-bl>
-    1d72:	0083		lsl	r3, r0, #2
-    1d74:	ff18		<half-bl>
-    1d76:	0083		lsl	r3, r0, #2
-    1d78:	5800		ldr	r0, [r0, r0]
-    1d7a:	ffff		<half-bl>
-    1d7c:	6000		str	r0, [r0, #0]
-    1d7e:	ffff		<half-bl>
-    1d80:	5000		str	r0, [r0, r0]
-    1d82:	ffff		<half-bl>
-    1d84:	b500		push	{lr}
-    1d86:	b087		sub	sp, #28	; 0x1c
-    1d88:	466b		mov	r3, sp
-    1d8a:	721a		strb	r2, [r3, #8]
-    1d8c:	9101		str	r1, [sp, #4]
-    1d8e:	9000		str	r0, [sp, #0]
-    1d90:	9900		ldr	r1, [sp, #0]
-    1d92:	2000		mov	r0, #0
-    1d94:	8008		strh	r0, [r1, #0]
-    1d96:	9801		ldr	r0, [sp, #4]
-    1d98:	2100		mov	r1, #0
-    1d9a:	8001		strh	r1, [r0, #0]
-    1d9c:	2000		mov	r0, #0
-    1d9e:	9003		str	r0, [sp, #12]	; 0xc
-    1da0:	f7ff ff5e	bl	0x1c60
-    1da4:	a805		add	r0, sp, #20	; 0x14
-    1da6:	a906		add	r1, sp, #24	; 0x18
-    1da8:	466a		mov	r2, sp
-    1daa:	7a12		ldrb	r2, [r2, #8]
-    1dac:	f7ff feee	bl	0x1b8c
-    1db0:	9004		str	r0, [sp, #16]	; 0x10
-    1db2:	9804		ldr	r0, [sp, #16]	; 0x10
-    1db4:	2800		cmp	r0, #0
-    1db6:	d11f		bne	0x1df8
-    1db8:	9803		ldr	r0, [sp, #12]	; 0xc
-    1dba:	2800		cmp	r0, #0
-    1dbc:	d11c		bne	0x1df8
-    1dbe:	9800		ldr	r0, [sp, #0]
-    1dc0:	4669		mov	r1, sp
-    1dc2:	8b0a		ldrh	r2, [r1, #24]	; 0x18
-    1dc4:	8801		ldrh	r1, [r0, #0]
-    1dc6:	1851		add	r1, r2, r1
-    1dc8:	8001		strh	r1, [r0, #0]
-    1dca:	9905		ldr	r1, [sp, #20]	; 0x14
-    1dcc:	4668		mov	r0, sp
-    1dce:	8b00		ldrh	r0, [r0, #24]	; 0x18
-    1dd0:	8008		strh	r0, [r1, #0]
-    1dd2:	9801		ldr	r0, [sp, #4]
-    1dd4:	9905		ldr	r1, [sp, #20]	; 0x14
-    1dd6:	8809		ldrh	r1, [r1, #0]
-    1dd8:	8802		ldrh	r2, [r0, #0]
-    1dda:	1889		add	r1, r1, r2
-    1ddc:	8001		strh	r1, [r0, #0]
-    1dde:	a805		add	r0, sp, #20	; 0x14
-    1de0:	a906		add	r1, sp, #24	; 0x18
-    1de2:	466a		mov	r2, sp
-    1de4:	7a12		ldrb	r2, [r2, #8]
-    1de6:	f7ff fed1	bl	0x1b8c
-    1dea:	9004		str	r0, [sp, #16]	; 0x10
-    1dec:	9804		ldr	r0, [sp, #16]	; 0x10
-    1dee:	2800		cmp	r0, #0
-    1df0:	d102		bne	0x1df8
-    1df2:	9803		ldr	r0, [sp, #12]	; 0xc
-    1df4:	2800		cmp	r0, #0
-    1df6:	d0e2		beq	0x1dbe
-    1df8:	9804		ldr	r0, [sp, #16]	; 0x10
-    1dfa:	2801		cmp	r0, #1
-    1dfc:	d101		bne	0x1e02
-    1dfe:	2004		mov	r0, #4
-    1e00:	9003		str	r0, [sp, #12]	; 0xc
-    1e02:	9803		ldr	r0, [sp, #12]	; 0xc
-    1e04:	b007		add	sp, #28	; 0x1c
-    1e06:	bd00		pop	{pc}
-    1e08:	b089		sub	sp, #36	; 0x24
-    1e0a:	201a		mov	r0, #26	; 0x1a
-    1e0c:	9005		str	r0, [sp, #20]	; 0x14
-    1e0e:	2018		mov	r0, #24	; 0x18
-    1e10:	9006		str	r0, [sp, #24]	; 0x18
-    1e12:	2000		mov	r0, #0
-    1e14:	9008		str	r0, [sp, #32]	; 0x20
-    1e16:	4669		mov	r1, sp
-    1e18:	9805		ldr	r0, [sp, #20]	; 0x14
-    1e1a:	8800		ldrh	r0, [r0, #0]
-    1e1c:	8008		strh	r0, [r1, #0]
-    1e1e:	9806		ldr	r0, [sp, #24]	; 0x18
-    1e20:	8800		ldrh	r0, [r0, #0]
-    1e22:	8048		strh	r0, [r1, #2]
-    1e24:	4668		mov	r0, sp
-    1e26:	8841		ldrh	r1, [r0, #2]
-    1e28:	8800		ldrh	r0, [r0, #0]
-    1e2a:	0400		lsl	r0, r0, #16
-    1e2c:	1808		add	r0, r1, r0
-    1e2e:	9001		str	r0, [sp, #4]
-    1e30:	9801		ldr	r0, [sp, #4]
-    1e32:	0200		lsl	r0, r0, #8
-    1e34:	0a00		lsr	r0, r0, #8
-    1e36:	0080		lsl	r0, r0, #2
-    1e38:	3008		add	r0, #8
-    1e3a:	9007		str	r0, [sp, #28]	; 0x1c
-    1e3c:	9807		ldr	r0, [sp, #28]	; 0x1c
-    1e3e:	3018		add	r0, #24	; 0x18
-    1e40:	9002		str	r0, [sp, #8]
-    1e42:	9802		ldr	r0, [sp, #8]
-    1e44:	9004		str	r0, [sp, #16]	; 0x10
-    1e46:	9802		ldr	r0, [sp, #8]
-    1e48:	3002		add	r0, #2
-    1e4a:	9003		str	r0, [sp, #12]	; 0xc
-    1e4c:	9803		ldr	r0, [sp, #12]	; 0xc
-    1e4e:	8801		ldrh	r1, [r0, #0]
-    1e50:	4806		ldr	r0, =0xffff	; via 0x1e6c
-    1e52:	4281		cmp	r1, r0
-    1e54:	d104		bne	0x1e60
-    1e56:	9804		ldr	r0, [sp, #16]	; 0x10
-    1e58:	8800		ldrh	r0, [r0, #0]
-    1e5a:	4904		ldr	r1, =0xffff	; via 0x1e6c
-    1e5c:	4288		cmp	r0, r1
-    1e5e:	d001		beq	0x1e64
-    1e60:	2001		mov	r0, #1
-    1e62:	9008		str	r0, [sp, #32]	; 0x20
-    1e64:	9808		ldr	r0, [sp, #32]	; 0x20
-    1e66:	b009		add	sp, #36	; 0x24
-    1e68:	4770		bx	lr
-    1e6a:	46c0		nop			(mov r8, r8)
-
-    1e6c:	0000ffff
-
-; ARM->Thumb call veneer around 0xad2 routine
-    1e70:	e92d4000	stmdb	sp!, {lr}
-    1e74:	e28fe001	add	lr, pc, #1
-    1e78:	e12fff1e	bx	lr
-    1e7c:	f7fe fe29	bl	0xad2
-    1e80:	4778		bx	pc
-    1e82:	46c0		nop			(mov r8, r8)
-    1e84:	e8bd8000	ldmia	sp!, {pc}
-
-<1E88-1EFF: all FFs>
-
-    1f00:	00000001
-
-<1F04-end: all FFs>
Binary file compal/c139-boot.90.04.bin has changed
--- a/compal/c139-boot.disasm	Sat Jan 14 06:09:25 2023 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2736 +0,0 @@
-RESET entry and exception vectors:
-       0:	ea000225 	b	0x89c
-       4:	ea000825 	b	0x20a0
-       8:	ea000825 	b	0x20a4
-       c:	ea000825 	b	0x20a8
-      10:	ea000825 	b	0x20ac
-      14:	ea000825 	b	0x20b0
-      18:	ea000825 	b	0x20b4
-      1c:	ea000825 	b	0x20b8
-
-; some magic words?
-      20:	444efc57
-      24:	444efc58
-      28:	444efc86
-      2c:	444efc87
-; different in the C140 specimen:
-      20:	44b1b707
-      24:	44b1b708
-      28:	44b1b735
-      2c:	44b1b736
-
-<30-7FF: all FFs>
-
-00000800:  42 4F 4F 54 2E 39 30 2E  30 34 00 00 00 00 00 00  BOOT.90.04......
-00000810:  31 30 30 33 01 01 00 00  FF FF FF FF FF FF FF FF  1003............
-00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................
-
-     830:	00000006
-	...
-     83c:	00000048
-     840:	00000044
-     844:	00000052
-     848:	0000001b
-     84c:	00000005
-	...
-     860:	000000fa
-     864:	ffff5800
-     868:	ffff5000
-     86c:	fffffb00
-     870:	02a1
-     872:	02a1
-     874:	02a1
-     876:	0283
-     878:	0281
-     87a:	00c0
-     87c:	0040
-     87e:	002a
-     880:	00000040
-     884:	fffffd00
-     888:	ffff9800
-     88c:	fffffb10
-     890:	ffffff08
-     894:	1081
-     896:	2006
-     898:	0800
-     89a:	0000
-
-; RESET entry point
-; set VCLKOUT_DIV2 in FFFF:FD02 register
-     89c:	e51f1020	ldr	r1, =0xfffffd00	; via 0x884
-     8a0:	e1d120b2	ldrh	r2, [r1, #2]
-     8a4:	e51f002c	ldr	r0, =0x40	; via 0x880
-     8a8:	e1800002	orr	r0, r0, r2
-     8ac:	e1c100b2	strh	r0, [r1, #2]
-; PLL disable (power-up state)
-     8b0:	e51f1030	ldr	r1, =0xffff9800	; via 0x888
-     8b4:	e15f22b6	ldrh	r2, =0x2006	; via 0x896
-     8b8:	e1c120b0	strh	r2, [r1]
-     8bc:	e5912000	ldr	r2, [r1]
-     8c0:	e2022001	and	r2, r2, #1
-     8c4:	e3520001	cmp	r2, #1
-     8c8:	0afffffb	beq	0x8bc
-; Write power-up default value into FFFF:FD00
-     8cc:	e51f1050	ldr	r1, =0xfffffd00	; via 0x884
-     8d0:	e15f24b4	ldrh	r2, =0x1081	; via 0x894
-     8d4:	e1c120b0	strh	r2, [r1]
-; Disable DU
-     8d8:	e51f1054	ldr	r1, =0xfffffb10	; via 0x88c
-     8dc:	e15f24bc	ldrh	r2, =0x800	; via 0x898
-     8e0:	e1d100b0	ldrh	r0, [r1]
-     8e4:	e1800002	orr	r0, r0, r2
-     8e8:	e1c100b0	strh	r0, [r1]
-; Disable all MPU regions
-     8ec:	e51f1064	ldr	r1, =0xffffff08	; via 0x890
-     8f0:	e15f25be	ldrh	r2, =0x0	; via 0x89a
-     8f4:	e1c120b0	strh	r2, [r1]
-; Memory timings
-     8f8:	e51f1094	ldr	r1, =0xfffffb00	; via 0x86c
-     8fc:	e15f29b4	ldrh	r2, =0x2a1	; via 0x870
-     900:	e1c120b0	strh	r2, [r1]
-     904:	e15f29ba	ldrh	r2, =0x2a1	; via 0x872
-     908:	e1c120b2	strh	r2, [r1, #2]
-     90c:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x874
-     910:	e1c120b4	strh	r2, [r1, #4]
-     914:	e15f2ab6	ldrh	r2, =0x283	; via 0x876
-     918:	e1c120b6	strh	r2, [r1, #6]
-     91c:	e15f2abc	ldrh	r2, =0x281	; via 0x878
-     920:	e1c120ba	strh	r2, [r1, #10]	; 0xa
-     924:	e15f2bb2	ldrh	r2, =0xc0	; via 0x87a
-     928:	e1c120bc	strh	r2, [r1, #12]	; 0xc
-     92c:	e15f2bb8	ldrh	r2, =0x40	; via 0x87c
-     930:	e1c120b8	strh	r2, [r1, #8]
-     934:	e15f2bbe	ldrh	r2, =0x2a	; via 0x87e
-     938:	e1c120be	strh	r2, [r1, #14]	; 0xe
-; set up stack
-     93c:	e59f0020	ldr	r0, =0x83e574	; via 0x964
-     940:	e3a01b01	mov	r1, #1024	; 0x400
-     944:	e2411004	sub	r1, r1, #4
-     948:	e0802001	add	r2, r0, r1
-     94c:	e3c22003	bic	r2, r2, #3
-     950:	e1a0d002	mov	sp, r2
-; business logic
-     954:	e92d100f	stmdb	sp!, {r0, r1, r2, r3, r12}
-     958:	eb000534	bl	0x1e30
-     95c:	e8bd100f	ldmia	sp!, {r0, r1, r2, r3, r12}
-     960:	ea0005e4	b	0x20f8
-
-; C139 specimen:
-     964:	0083e574
-; different in the C140 specimen:
-     964:	0083e55c
-
-; mask all interrupts in INTH
-     968:	4961		ldr	r1, =0xfffffa08	; via 0xaf0
-     96a:	4862		ldr	r0, =0xffff	; via 0xaf4
-     96c:	8008		strh	r0, [r1, #0]
-     96e:	4862		ldr	r0, =0xfffffa0a	; via 0xaf8
-     970:	211f		mov	r1, #31	; 0x1f
-     972:	8001		strh	r1, [r0, #0]
-; disable watchdog
-     974:	4861		ldr	r0, =0xfffff804	; via 0xafc
-     976:	21f5		mov	r1, #245	; 0xf5
-     978:	8001		strh	r1, [r0, #0]
-     97a:	21a0		mov	r1, #160	; 0xa0
-     97c:	8001		strh	r1, [r0, #0]
-; disable PLL
-     97e:	4860		ldr	r0, =0xffff9800	; via 0xb00
-     980:	4960		ldr	r1, =0x2002	; via 0xb04
-     982:	8001		strh	r1, [r0, #0]
-     984:	485e		ldr	r0, =0xffff9800	; via 0xb00
-     986:	8800		ldrh	r0, [r0, #0]
-     988:	0840		lsr	r0, r0, #1
-     98a:	d2fb		bcs	0x984
-; 0x1001 written into FFFF:FD00 - same as power-up default
-; except for one reserved bit
-     98c:	495e		ldr	r1, =0xfffffd00	; via 0xb08
-     98e:	485f		ldr	r0, =0x1001	; via 0xb0c
-     990:	8008		strh	r0, [r1, #0]
-     992:	46f7		mov	pc, lr
-
-     994:	b500		push	{lr}
-     996:	b0ff		sub	sp, #508	; 0x1fc
-     998:	b0ca		sub	sp, #296	; 0x128
-     99a:	2000		mov	r0, #0
-     99c:	9001		str	r0, [sp, #4]
-     99e:	9801		ldr	r0, [sp, #4]
-     9a0:	2800		cmp	r0, #0
-     9a2:	d14e		bne	0xa42
-     9a4:	a846		add	r0, sp, #280	; 0x118
-     9a6:	2100		mov	r1, #0
-     9a8:	f001 f86e	bl	0x1a88
-     9ac:	a9c8		add	r1, sp, #800	; 0x320
-     9ae:	7008		strb	r0, [r1, #0]
-     9b0:	a846		add	r0, sp, #280	; 0x118
-     9b2:	a902		add	r1, sp, #8
-     9b4:	f000 fb2c	bl	0x1010
-     9b8:	9000		str	r0, [sp, #0]
-     9ba:	9800		ldr	r0, [sp, #0]
-     9bc:	2800		cmp	r0, #0
-     9be:	d01b		beq	0x9f8
-     9c0:	a924		add	r1, sp, #144	; 0x90
-     9c2:	4668		mov	r0, sp
-     9c4:	7a00		ldrb	r0, [r0, #8]
-     9c6:	7008		strb	r0, [r1, #0]
-     9c8:	2191		mov	r1, #145	; 0x91
-     9ca:	466a		mov	r2, sp
-     9cc:	4668		mov	r0, sp
-     9ce:	7800		ldrb	r0, [r0, #0]
-     9d0:	5488		strb	r0, [r1, r2]
-     9d2:	e01b		b	0xa0c
-     9d4:	a802		add	r0, sp, #8
-     9d6:	a924		add	r1, sp, #144	; 0x90
-     9d8:	f000 fe08	bl	0x15ec
-     9dc:	e016		b	0xa0c
-     9de:	a802		add	r0, sp, #8
-     9e0:	a924		add	r1, sp, #144	; 0x90
-     9e2:	aac8		add	r2, sp, #800	; 0x320
-     9e4:	7812		ldrb	r2, [r2, #0]
-     9e6:	f000 fe15	bl	0x1614
-     9ea:	e00f		b	0xa0c
-     9ec:	a802		add	r0, sp, #8
-     9ee:	a924		add	r1, sp, #144	; 0x90
-     9f0:	f000 fe47	bl	0x1682
-     9f4:	90c7		str	r0, [sp, #796]	; 0x31c
-     9f6:	e009		b	0xa0c
-     9f8:	4668		mov	r0, sp
-     9fa:	7a00		ldrb	r0, [r0, #8]
-     9fc:	2800		cmp	r0, #0
-     9fe:	d0e9		beq	0x9d4
-     a00:	3809		sub	r0, #9
-     a02:	2800		cmp	r0, #0
-     a04:	d0eb		beq	0x9de
-     a06:	3801		sub	r0, #1
-     a08:	2800		cmp	r0, #0
-     a0a:	d0ef		beq	0x9ec
-     a0c:	a824		add	r0, sp, #144	; 0x90
-     a0e:	a986		add	r1, sp, #536	; 0x218
-     a10:	f000 fbe1	bl	0x11d6
-     a14:	2800		cmp	r0, #0
-     a16:	d111		bne	0xa3c
-     a18:	a886		add	r0, sp, #536	; 0x218
-     a1a:	a9c8		add	r1, sp, #800	; 0x320
-     a1c:	7809		ldrb	r1, [r1, #0]
-     a1e:	f001 f808	bl	0x1a32
-     a22:	2800		cmp	r0, #0
-     a24:	d00a		beq	0xa3c
-     a26:	4668		mov	r0, sp
-     a28:	7a00		ldrb	r0, [r0, #8]
-     a2a:	280a		cmp	r0, #10	; 0xa
-     a2c:	d106		bne	0xa3c
-     a2e:	a8c8		add	r0, sp, #800	; 0x320
-     a30:	7800		ldrb	r0, [r0, #0]
-     a32:	f001 f959	bl	0x1ce8
-     a36:	98c7		ldr	r0, [sp, #796]	; 0x31c
-     a38:	f000 fae8	bl	0x100c
-     a3c:	9801		ldr	r0, [sp, #4]
-     a3e:	2800		cmp	r0, #0
-     a40:	d0b0		beq	0x9a4
-     a42:	b07f		add	sp, #508	; 0x1fc
-     a44:	b04a		add	sp, #296	; 0x128
-     a46:	bd00		pop	{pc}
-
-     a48:	b500		push	{lr}
-     a4a:	b0ff		sub	sp, #508	; 0x1fc
-     a4c:	b0c8		sub	sp, #288	; 0x120
-     a4e:	2000		mov	r0, #0
-     a50:	9000		str	r0, [sp, #0]
-     a52:	a846		add	r0, sp, #280	; 0x118
-     a54:	2101		mov	r1, #1
-     a56:	f001 f817	bl	0x1a88
-     a5a:	a9c6		add	r1, sp, #792	; 0x318
-     a5c:	7008		strb	r0, [r1, #0]
-     a5e:	a8c6		add	r0, sp, #792	; 0x318
-     a60:	7800		ldrb	r0, [r0, #0]
-     a62:	28ff		cmp	r0, #255	; 0xff
-     a64:	d031		beq	0xaca
-     a66:	a846		add	r0, sp, #280	; 0x118
-     a68:	a902		add	r1, sp, #8
-     a6a:	f000 fad1	bl	0x1010
-     a6e:	9001		str	r0, [sp, #4]
-     a70:	9801		ldr	r0, [sp, #4]
-     a72:	2800		cmp	r0, #0
-     a74:	d014		beq	0xaa0
-     a76:	a924		add	r1, sp, #144	; 0x90
-     a78:	4668		mov	r0, sp
-     a7a:	7a00		ldrb	r0, [r0, #8]
-     a7c:	7008		strb	r0, [r1, #0]
-     a7e:	2291		mov	r2, #145	; 0x91
-     a80:	4668		mov	r0, sp
-     a82:	4669		mov	r1, sp
-     a84:	7909		ldrb	r1, [r1, #4]
-     a86:	5411		strb	r1, [r2, r0]
-     a88:	a824		add	r0, sp, #144	; 0x90
-     a8a:	a986		add	r1, sp, #536	; 0x218
-     a8c:	f000 fba3	bl	0x11d6
-     a90:	2800		cmp	r0, #0
-     a92:	d11a		bne	0xaca
-     a94:	a886		add	r0, sp, #536	; 0x218
-     a96:	a9c6		add	r1, sp, #792	; 0x318
-     a98:	7809		ldrb	r1, [r1, #0]
-     a9a:	f000 ffca	bl	0x1a32
-     a9e:	e014		b	0xaca
-     aa0:	4668		mov	r0, sp
-     aa2:	7a00		ldrb	r0, [r0, #8]
-     aa4:	2800		cmp	r0, #0
-     aa6:	d110		bne	0xaca
-     aa8:	a802		add	r0, sp, #8
-     aaa:	a924		add	r1, sp, #144	; 0x90
-     aac:	f000 fd9e	bl	0x15ec
-     ab0:	a824		add	r0, sp, #144	; 0x90
-     ab2:	a986		add	r1, sp, #536	; 0x218
-     ab4:	f000 fb8f	bl	0x11d6
-     ab8:	2800		cmp	r0, #0
-     aba:	d104		bne	0xac6
-     abc:	a886		add	r0, sp, #536	; 0x218
-     abe:	a9c6		add	r1, sp, #792	; 0x318
-     ac0:	7809		ldrb	r1, [r1, #0]
-     ac2:	f000 ffb6	bl	0x1a32
-     ac6:	2001		mov	r0, #1
-     ac8:	9000		str	r0, [sp, #0]
-     aca:	9800		ldr	r0, [sp, #0]
-     acc:	b07f		add	sp, #508	; 0x1fc
-     ace:	b048		add	sp, #288	; 0x120
-     ad0:	bd00		pop	{pc}
-
-; Main entry routine
-     ad2:	b500		push	{lr}
-     ad4:	b082		sub	sp, #8
-     ad6:	f7ff ff47	bl	0x968		; superfluous
-     ada:	f001 f8ad	bl	0x1c38		; UART init
-     ade:	f000 fd73	bl	0x15c8		; zero a couple of vars
-     ae2:	f000 f81f	bl	0xb24		; serial protocol
-     ae6:	f000 f96a	bl	0xdbe		; ftmtool voodoo
-     aea:	b002		add	sp, #8
-     aec:	bd00		pop	{pc}
-     aee:	46c0		nop			(mov r8, r8)
-
-     af0:	fffffa08
-     af4:	0000ffff
-     af8:	fffffa0a
-     afc:	fffff804
-     b00:	ffff9800
-     b04:	00002002
-     b08:	fffffd00
-     b0c:	00001001
-
-     b10:	e3a0d502	mov	sp, #8388608	; 0x800000
-     b14:	e28dd802	add	sp, sp, #131072	; 0x20000
-     b18:	e28fe005	add	lr, pc, #5
-     b1c:	e12fff1e	bx	lr
-     b20:	e1a00000	mov	r0, r0
-
-; This function (0xb24, called from this bootloader's "main") calls
-; 0xbac (serial download attempt) twice, first at 406250 baud, then
-; at 115200 baud.  Only the MODEM UART is tried, not IrDA.
-     b24:	b500		push	{lr}
-     b26:	b082		sub	sp, #8
-; select MODEM UART
-     b28:	49ed		ldr	r1, =0x83ff00	; via 0xee0
-     b2a:	48ee		ldr	r0, =0xffff5800	; via 0xee4
-     b2c:	6008		str	r0, [r1, #0]
-; set it to /2 (406250 baud)
-     b2e:	2000		mov	r0, #0
-     b30:	2102		mov	r1, #2
-     b32:	f000 f9fb	bl	0xf2c
-; delay loop
-     b36:	2000		mov	r0, #0
-     b38:	9000		str	r0, [sp, #0]
-     b3a:	9900		ldr	r1, [sp, #0]
-     b3c:	2005		mov	r0, #5
-     b3e:	0300		lsl	r0, r0, #12
-     b40:	4281		cmp	r1, r0
-     b42:	d207		bcs	0xb54
-     b44:	9800		ldr	r0, [sp, #0]
-     b46:	3001		add	r0, #1
-     b48:	9000		str	r0, [sp, #0]
-     b4a:	9900		ldr	r1, [sp, #0]
-     b4c:	2005		mov	r0, #5
-     b4e:	0300		lsl	r0, r0, #12
-     b50:	4281		cmp	r1, r0
-     b52:	d3f7		bcc	0xb44
-; 0xbac called at 406250 baud
-     b54:	f000 f82a	bl	0xbac
-; set it to /7 (115200 baud)
-     b58:	2000		mov	r0, #0
-     b5a:	2107		mov	r1, #7
-     b5c:	f000 f9e6	bl	0xf2c
-; same delay loop again
-     b60:	2000		mov	r0, #0
-     b62:	9000		str	r0, [sp, #0]
-     b64:	9900		ldr	r1, [sp, #0]
-     b66:	2005		mov	r0, #5
-     b68:	0300		lsl	r0, r0, #12
-     b6a:	4281		cmp	r1, r0
-     b6c:	d207		bcs	0xb7e
-     b6e:	9800		ldr	r0, [sp, #0]
-     b70:	3001		add	r0, #1
-     b72:	9000		str	r0, [sp, #0]
-     b74:	9900		ldr	r1, [sp, #0]
-     b76:	2005		mov	r0, #5
-     b78:	0300		lsl	r0, r0, #12
-     b7a:	4281		cmp	r1, r0
-     b7c:	d3f7		bcc	0xb6e
-; call 0xbac again, this time at 115200 baud
-     b7e:	f000 f815	bl	0xbac
-; another (longer) delay loop, then return
-     b82:	2000		mov	r0, #0
-     b84:	9001		str	r0, [sp, #4]
-     b86:	9000		str	r0, [sp, #0]
-     b88:	9900		ldr	r1, [sp, #0]
-     b8a:	2005		mov	r0, #5
-     b8c:	0400		lsl	r0, r0, #16
-     b8e:	4281		cmp	r1, r0
-     b90:	d20a		bcs	0xba8
-     b92:	9801		ldr	r0, [sp, #4]
-     b94:	3001		add	r0, #1
-     b96:	9001		str	r0, [sp, #4]
-     b98:	9800		ldr	r0, [sp, #0]
-     b9a:	3001		add	r0, #1
-     b9c:	9000		str	r0, [sp, #0]
-     b9e:	9900		ldr	r1, [sp, #0]
-     ba0:	2005		mov	r0, #5
-     ba2:	0400		lsl	r0, r0, #16
-     ba4:	4281		cmp	r1, r0
-     ba6:	d3f4		bcc	0xb92
-     ba8:	b002		add	sp, #8
-     baa:	bd00		pop	{pc}
-
-; This function implements the entirety of the serial download protocol,
-; see c139-boot.notes for the details.
-     bac:	b500		push	{lr}
-     bae:	b088		sub	sp, #32	; 0x20
-     bb0:	48dd		ldr	r0, =0x800100	; via 0xf28
-     bb2:	9005		str	r0, [sp, #20]	; 0x14
-     bb4:	201b		mov	r0, #27	; 0x1b
-     bb6:	f000 f95f	bl	0xe78
-     bba:	20f6		mov	r0, #246	; 0xf6
-     bbc:	f000 f95c	bl	0xe78
-     bc0:	2002		mov	r0, #2
-     bc2:	f000 f959	bl	0xe78
-     bc6:	2000		mov	r0, #0
-     bc8:	f000 f956	bl	0xe78
-     bcc:	2041		mov	r0, #65	; 0x41
-     bce:	f000 f953	bl	0xe78
-     bd2:	2001		mov	r0, #1
-     bd4:	f000 f950	bl	0xe78
-     bd8:	2040		mov	r0, #64	; 0x40
-     bda:	f000 f94d	bl	0xe78
-     bde:	2001		mov	r0, #1
-     be0:	0300		lsl	r0, r0, #12
-     be2:	f000 f961	bl	0xea8
-     be6:	281b		cmp	r0, #27	; 0x1b
-     be8:	d000		beq	0xbec
-     bea:	e0e6		b	0xdba
-     bec:	2001		mov	r0, #1
-     bee:	0300		lsl	r0, r0, #12
-     bf0:	f000 f95a	bl	0xea8
-     bf4:	28f6		cmp	r0, #246	; 0xf6
-     bf6:	d000		beq	0xbfa
-     bf8:	e0df		b	0xdba
-     bfa:	2001		mov	r0, #1
-     bfc:	0300		lsl	r0, r0, #12
-     bfe:	f000 f953	bl	0xea8
-     c02:	2802		cmp	r0, #2
-     c04:	d000		beq	0xc08
-     c06:	e0d8		b	0xdba
-     c08:	2001		mov	r0, #1
-     c0a:	0300		lsl	r0, r0, #12
-     c0c:	f000 f94c	bl	0xea8
-     c10:	2800		cmp	r0, #0
-     c12:	d000		beq	0xc16
-     c14:	e0d1		b	0xdba
-     c16:	2001		mov	r0, #1
-     c18:	0300		lsl	r0, r0, #12
-     c1a:	f000 f945	bl	0xea8
-     c1e:	2852		cmp	r0, #82	; 0x52
-     c20:	d000		beq	0xc24
-     c22:	e0ca		b	0xdba
-     c24:	2001		mov	r0, #1
-     c26:	0300		lsl	r0, r0, #12
-     c28:	f000 f93e	bl	0xea8
-     c2c:	2801		cmp	r0, #1
-     c2e:	d000		beq	0xc32
-     c30:	e0c3		b	0xdba
-     c32:	2001		mov	r0, #1
-     c34:	0300		lsl	r0, r0, #12
-     c36:	f000 f937	bl	0xea8
-     c3a:	2853		cmp	r0, #83	; 0x53
-     c3c:	d000		beq	0xc40
-     c3e:	e0bc		b	0xdba
-     c40:	201b		mov	r0, #27	; 0x1b
-     c42:	f000 f919	bl	0xe78
-     c46:	20f6		mov	r0, #246	; 0xf6
-     c48:	f000 f916	bl	0xe78
-     c4c:	2002		mov	r0, #2
-     c4e:	f000 f913	bl	0xe78
-     c52:	2000		mov	r0, #0
-     c54:	f000 f910	bl	0xe78
-     c58:	2041		mov	r0, #65	; 0x41
-     c5a:	f000 f90d	bl	0xe78
-     c5e:	2002		mov	r0, #2
-     c60:	f000 f90a	bl	0xe78
-     c64:	2043		mov	r0, #67	; 0x43
-     c66:	f000 f907	bl	0xe78
-     c6a:	2001		mov	r0, #1
-     c6c:	0300		lsl	r0, r0, #12
-     c6e:	f000 f91b	bl	0xea8
-     c72:	4669		mov	r1, sp
-     c74:	7208		strb	r0, [r1, #8]
-     c76:	2002		mov	r0, #2
-     c78:	7448		strb	r0, [r1, #17]	; 0x11
-     c7a:	2000		mov	r0, #0
-     c7c:	9000		str	r0, [sp, #0]
-     c7e:	9800		ldr	r0, [sp, #0]
-     c80:	2802		cmp	r0, #2
-     c82:	d215		bcs	0xcb0
-     c84:	2001		mov	r0, #1
-     c86:	0300		lsl	r0, r0, #12
-     c88:	f000 f90e	bl	0xea8
-     c8c:	4669		mov	r1, sp
-     c8e:	9a00		ldr	r2, [sp, #0]
-     c90:	1a89		sub	r1, r1, r2
-     c92:	7348		strb	r0, [r1, #13]	; 0xd
-     c94:	4669		mov	r1, sp
-     c96:	9800		ldr	r0, [sp, #0]
-     c98:	1a08		sub	r0, r1, r0
-     c9a:	7b40		ldrb	r0, [r0, #13]	; 0xd
-     c9c:	7c49		ldrb	r1, [r1, #17]	; 0x11
-     c9e:	4048		eor	r0, r1
-     ca0:	4669		mov	r1, sp
-     ca2:	7448		strb	r0, [r1, #17]	; 0x11
-     ca4:	9800		ldr	r0, [sp, #0]
-     ca6:	3001		add	r0, #1
-     ca8:	9000		str	r0, [sp, #0]
-     caa:	9800		ldr	r0, [sp, #0]
-     cac:	2802		cmp	r0, #2
-     cae:	d3e9		bcc	0xc84
-     cb0:	4668		mov	r0, sp
-     cb2:	8980		ldrh	r0, [r0, #12]	; 0xc
-     cb4:	466a		mov	r2, sp
-     cb6:	1e41		sub	r1, r0, #1
-     cb8:	8191		strh	r1, [r2, #12]	; 0xc
-     cba:	2800		cmp	r0, #0
-     cbc:	d016		beq	0xcec
-     cbe:	2001		mov	r0, #1
-     cc0:	0300		lsl	r0, r0, #12
-     cc2:	f000 f8f1	bl	0xea8
-     cc6:	9905		ldr	r1, [sp, #20]	; 0x14
-     cc8:	7008		strb	r0, [r1, #0]
-     cca:	9805		ldr	r0, [sp, #20]	; 0x14
-     ccc:	7800		ldrb	r0, [r0, #0]
-     cce:	4669		mov	r1, sp
-     cd0:	7c49		ldrb	r1, [r1, #17]	; 0x11
-     cd2:	4048		eor	r0, r1
-     cd4:	4669		mov	r1, sp
-     cd6:	7448		strb	r0, [r1, #17]	; 0x11
-     cd8:	9805		ldr	r0, [sp, #20]	; 0x14
-     cda:	3001		add	r0, #1
-     cdc:	9005		str	r0, [sp, #20]	; 0x14
-     cde:	4668		mov	r0, sp
-     ce0:	8981		ldrh	r1, [r0, #12]	; 0xc
-     ce2:	466a		mov	r2, sp
-     ce4:	1e48		sub	r0, r1, #1
-     ce6:	8190		strh	r0, [r2, #12]	; 0xc
-     ce8:	2900		cmp	r1, #0
-     cea:	d1e8		bne	0xcbe
-     cec:	2001		mov	r0, #1
-     cee:	0300		lsl	r0, r0, #12
-     cf0:	f000 f8da	bl	0xea8
-     cf4:	4669		mov	r1, sp
-     cf6:	7408		strb	r0, [r1, #16]	; 0x10
-     cf8:	4668		mov	r0, sp
-     cfa:	7c00		ldrb	r0, [r0, #16]	; 0x10
-     cfc:	7c49		ldrb	r1, [r1, #17]	; 0x11
-     cfe:	4288		cmp	r0, r1
-     d00:	d015		beq	0xd2e
-     d02:	201b		mov	r0, #27	; 0x1b
-     d04:	f000 f8b8	bl	0xe78
-     d08:	20f6		mov	r0, #246	; 0xf6
-     d0a:	f000 f8b5	bl	0xe78
-     d0e:	2002		mov	r0, #2
-     d10:	f000 f8b2	bl	0xe78
-     d14:	2000		mov	r0, #0
-     d16:	f000 f8af	bl	0xe78
-     d1a:	2045		mov	r0, #69	; 0x45
-     d1c:	f000 f8ac	bl	0xe78
-     d20:	2053		mov	r0, #83	; 0x53
-     d22:	f000 f8a9	bl	0xe78
-     d26:	2016		mov	r0, #22	; 0x16
-     d28:	f000 f8a6	bl	0xe78
-     d2c:	e045		b	0xdba
-     d2e:	2081		mov	r0, #129	; 0x81
-     d30:	0100		lsl	r0, r0, #4
-     d32:	9006		str	r0, [sp, #24]	; 0x18
-     d34:	48af		ldr	r0, =0x803ce0	; via 0xff4
-     d36:	9007		str	r0, [sp, #28]	; 0x1c
-     d38:	2000		mov	r0, #0
-     d3a:	9000		str	r0, [sp, #0]
-     d3c:	9800		ldr	r0, [sp, #0]
-     d3e:	2804		cmp	r0, #4
-     d40:	d221		bcs	0xd86
-     d42:	9900		ldr	r1, [sp, #0]
-     d44:	9806		ldr	r0, [sp, #24]	; 0x18
-     d46:	5c0a		ldrb	r2, [r1, r0]
-     d48:	9900		ldr	r1, [sp, #0]
-     d4a:	9807		ldr	r0, [sp, #28]	; 0x1c
-     d4c:	5c08		ldrb	r0, [r1, r0]
-     d4e:	4282		cmp	r2, r0
-     d50:	dd13		ble	0xd7a
-     d52:	201b		mov	r0, #27	; 0x1b
-     d54:	f000 f890	bl	0xe78
-     d58:	20f6		mov	r0, #246	; 0xf6
-     d5a:	f000 f88d	bl	0xe78
-     d5e:	2002		mov	r0, #2
-     d60:	f000 f88a	bl	0xe78
-     d64:	2000		mov	r0, #0
-     d66:	f000 f887	bl	0xe78
-     d6a:	2041		mov	r0, #65	; 0x41
-     d6c:	f000 f884	bl	0xe78
-     d70:	2003		mov	r0, #3
-     d72:	f000 f881	bl	0xe78
-     d76:	2057		mov	r0, #87	; 0x57
-     d78:	e7d6		b	0xd28
-     d7a:	9800		ldr	r0, [sp, #0]
-     d7c:	3001		add	r0, #1
-     d7e:	9000		str	r0, [sp, #0]
-     d80:	9800		ldr	r0, [sp, #0]
-     d82:	2804		cmp	r0, #4
-     d84:	d3dd		bcc	0xd42
-     d86:	201b		mov	r0, #27	; 0x1b
-     d88:	f000 f876	bl	0xe78
-     d8c:	20f6		mov	r0, #246	; 0xf6
-     d8e:	f000 f873	bl	0xe78
-     d92:	2002		mov	r0, #2
-     d94:	f000 f870	bl	0xe78
-     d98:	2000		mov	r0, #0
-     d9a:	f000 f86d	bl	0xe78
-     d9e:	2041		mov	r0, #65	; 0x41
-     da0:	f000 f86a	bl	0xe78
-     da4:	2003		mov	r0, #3
-     da6:	f000 f867	bl	0xe78
-     daa:	2042		mov	r0, #66	; 0x42
-     dac:	f000 f864	bl	0xe78
-     db0:	484b		ldr	r0, =0x83ff00	; via 0xee0
-     db2:	6800		ldr	r0, [r0, #0]
-     db4:	4990		ldr	r1, =0x800100	; via 0xff8
-     db6:	f000 f85e	bl	0xe76
-     dba:	b008		add	sp, #32	; 0x20
-     dbc:	bd00		pop	{pc}
-
-     dbe:	b500		push	{lr}
-     dc0:	b081		sub	sp, #4
-; transmit "ftmtool" 7 bytes
-     dc2:	2066		mov	r0, #102	; 0x66
-     dc4:	f000 f858	bl	0xe78
-     dc8:	2074		mov	r0, #116	; 0x74
-     dca:	f000 f855	bl	0xe78
-     dce:	206d		mov	r0, #109	; 0x6d
-     dd0:	f000 f852	bl	0xe78
-     dd4:	2074		mov	r0, #116	; 0x74
-     dd6:	f000 f84f	bl	0xe78
-     dda:	206f		mov	r0, #111	; 0x6f
-     ddc:	f000 f84c	bl	0xe78
-     de0:	206f		mov	r0, #111	; 0x6f
-     de2:	f000 f849	bl	0xe78
-     de6:	206c		mov	r0, #108	; 0x6c
-     de8:	f000 f846	bl	0xe78
-     dec:	4983		ldr	r1, =0x83ff80	; via 0xffc
-     dee:	2000		mov	r0, #0
-     df0:	7008		strb	r0, [r1, #0]
-; delay loop
-     df2:	9000		str	r0, [sp, #0]
-     df4:	9800		ldr	r0, [sp, #0]
-     df6:	0c00		lsr	r0, r0, #16
-     df8:	d105		bne	0xe06
-     dfa:	9800		ldr	r0, [sp, #0]
-     dfc:	3001		add	r0, #1
-     dfe:	9000		str	r0, [sp, #0]
-     e00:	9800		ldr	r0, [sp, #0]
-     e02:	0c00		lsr	r0, r0, #16
-     e04:	d0f9		beq	0xdfa
-; call Rx-char: expecting "yes"
-     e06:	2007		mov	r0, #7
-     e08:	0400		lsl	r0, r0, #16
-     e0a:	f000 f84d	bl	0xea8
-     e0e:	2879		cmp	r0, #121	; 0x79
-     e10:	d10e		bne	0xe30
-     e12:	2001		mov	r0, #1
-     e14:	0300		lsl	r0, r0, #12
-     e16:	f000 f847	bl	0xea8
-     e1a:	2865		cmp	r0, #101	; 0x65
-     e1c:	d108		bne	0xe30
-     e1e:	2001		mov	r0, #1
-     e20:	0300		lsl	r0, r0, #12
-     e22:	f000 f841	bl	0xea8
-     e26:	2873		cmp	r0, #115	; 0x73
-     e28:	d102		bne	0xe30
-     e2a:	4874		ldr	r0, =0x83ff80	; via 0xffc
-     e2c:	2101		mov	r1, #1
-     e2e:	7001		strb	r1, [r0, #0]
-; "yes" and normal boot code paths merge
-     e30:	f000 f8ce	bl	0xfd0
-     e34:	2800		cmp	r0, #0
-     e36:	d00d		beq	0xe54
-     e38:	206d		mov	r0, #109	; 0x6d
-     e3a:	f000 f81d	bl	0xe78
-     e3e:	206f		mov	r0, #111	; 0x6f
-     e40:	f000 f81a	bl	0xe78
-     e44:	2064		mov	r0, #100	; 0x64
-     e46:	f000 f817	bl	0xe78
-     e4a:	2065		mov	r0, #101	; 0x65
-     e4c:	f000 f814	bl	0xe78
-     e50:	206d		mov	r0, #109	; 0x6d
-     e52:	e00c		b	0xe6e
-     e54:	2065		mov	r0, #101	; 0x65
-     e56:	f000 f80f	bl	0xe78
-     e5a:	2072		mov	r0, #114	; 0x72
-     e5c:	f000 f80c	bl	0xe78
-     e60:	2072		mov	r0, #114	; 0x72
-     e62:	f000 f809	bl	0xe78
-     e66:	206f		mov	r0, #111	; 0x6f
-     e68:	f000 f806	bl	0xe78
-     e6c:	2072		mov	r0, #114	; 0x72
-     e6e:	f000 f803	bl	0xe78
-     e72:	b001		add	sp, #4
-     e74:	bd00		pop	{pc}
-
-; Called via Thumb-BL to transfer control to the downloaded image
-     e76:	4708		bx	r1
-
-; UART character output routine
-     e78:	b081		sub	sp, #4
-     e7a:	4669		mov	r1, sp
-     e7c:	7008		strb	r0, [r1, #0]
-     e7e:	4818		ldr	r0, =0x83ff00	; via 0xee0
-     e80:	6800		ldr	r0, [r0, #0]
-     e82:	7940		ldrb	r0, [r0, #5]
-     e84:	0980		lsr	r0, r0, #6
-     e86:	d3fa		bcc	0xe7e
-     e88:	4815		ldr	r0, =0x83ff00	; via 0xee0
-     e8a:	6800		ldr	r0, [r0, #0]
-     e8c:	4669		mov	r1, sp
-     e8e:	7809		ldrb	r1, [r1, #0]
-     e90:	7001		strb	r1, [r0, #0]
-     e92:	b001		add	sp, #4
-     e94:	46f7		mov	pc, lr
-
-     e96:	4812		ldr	r0, =0x83ff00	; via 0xee0
-     e98:	6800		ldr	r0, [r0, #0]
-     e9a:	7940		ldrb	r0, [r0, #5]
-     e9c:	0840		lsr	r0, r0, #1
-     e9e:	d3fa		bcc	0xe96
-     ea0:	480f		ldr	r0, =0x83ff00	; via 0xee0
-     ea2:	6800		ldr	r0, [r0, #0]
-     ea4:	7800		ldrb	r0, [r0, #0]
-     ea6:	4770		bx	lr
-
-; UART character input with a timeout (number of LSR read tries passed
-; in r0).  Returns the character read if one was received, or 0xFF
-; if timeout.
-     ea8:	b083		sub	sp, #12	; 0xc
-     eaa:	9000		str	r0, [sp, #0]
-     eac:	9800		ldr	r0, [sp, #0]
-     eae:	9002		str	r0, [sp, #8]
-     eb0:	480b		ldr	r0, =0x83ff00	; via 0xee0
-     eb2:	6800		ldr	r0, [r0, #0]
-     eb4:	7940		ldrb	r0, [r0, #5]
-     eb6:	0840		lsr	r0, r0, #1
-     eb8:	d20c		bcs	0xed4
-     eba:	9802		ldr	r0, [sp, #8]
-     ebc:	3801		sub	r0, #1
-     ebe:	9002		str	r0, [sp, #8]
-     ec0:	9802		ldr	r0, [sp, #8]
-     ec2:	2800		cmp	r0, #0
-     ec4:	d101		bne	0xeca
-     ec6:	20ff		mov	r0, #255	; 0xff
-     ec8:	e007		b	0xeda
-     eca:	4805		ldr	r0, =0x83ff00	; via 0xee0
-     ecc:	6800		ldr	r0, [r0, #0]
-     ece:	7940		ldrb	r0, [r0, #5]
-     ed0:	0840		lsr	r0, r0, #1
-     ed2:	d3f2		bcc	0xeba
-     ed4:	484a		ldr	r0, =0x83ff00	; via 0x1000
-     ed6:	6800		ldr	r0, [r0, #0]
-     ed8:	7800		ldrb	r0, [r0, #0]
-     eda:	b003		add	sp, #12	; 0xc
-     edc:	4770		bx	lr
-     ede:	46c0		nop			(mov r8, r8)
-
-     ee0:	0083ff00
-     ee4:	ffff5800
-
-     ee8:	b081		sub	sp, #4
-     eea:	e001		b	0xef0
-     eec:	9800		ldr	r0, [sp, #0]
-     eee:	3801		sub	r0, #1
-     ef0:	9000		str	r0, [sp, #0]
-     ef2:	4843		ldr	r0, =0x83ff00	; via 0x1000
-     ef4:	6800		ldr	r0, [r0, #0]
-     ef6:	7940		ldrb	r0, [r0, #5]
-     ef8:	0840		lsr	r0, r0, #1
-     efa:	d202		bcs	0xf02
-     efc:	9800		ldr	r0, [sp, #0]
-     efe:	2800		cmp	r0, #0
-     f00:	dcf4		bgt	0xeec
-     f02:	9800		ldr	r0, [sp, #0]
-     f04:	2800		cmp	r0, #0
-     f06:	dd01		ble	0xf0c
-     f08:	2000		mov	r0, #0
-     f0a:	e000		b	0xf0e
-     f0c:	2001		mov	r0, #1
-     f0e:	b001		add	sp, #4
-     f10:	4770		bx	lr
-
-     f12:	b082		sub	sp, #8
-     f14:	9000		str	r0, [sp, #0]
-     f16:	4669		mov	r1, sp
-     f18:	2000		mov	r0, #0
-     f1a:	7188		strb	r0, [r1, #6]
-     f1c:	9900		ldr	r1, [sp, #0]
-     f1e:	4839		ldr	r0, =0xfffef000	; via 0x1004
-     f20:	8800		ldrh	r0, [r0, #0]
-     f22:	8008		strh	r0, [r1, #0]
-     f24:	b002		add	sp, #8
-     f26:	4770		bx	lr
-
-     f28:	00800100
-
-; This function (0xf2c) reprograms the UART selected by the 83FF00
-; var to the baud rate passed as arguments (div upper byte in R0,
-; lower byte in R1) and flushes the Rx FIFO.
-     f2c:	b081		sub	sp, #4
-     f2e:	466a		mov	r2, sp
-     f30:	7051		strb	r1, [r2, #1]
-     f32:	4669		mov	r1, sp
-     f34:	7008		strb	r0, [r1, #0]
-     f36:	4934		ldr	r1, =0xffff6000	; via 0x1008
-     f38:	2002		mov	r0, #2
-     f3a:	880a		ldrh	r2, [r1, #0]
-     f3c:	4310		orr	r0, r2
-     f3e:	8008		strh	r0, [r1, #0]
-     f40:	4831		ldr	r0, =0xffff6000	; via 0x1008
-     f42:	8801		ldrh	r1, [r0, #0]
-     f44:	0849		lsr	r1, r1, #1
-     f46:	0049		lsl	r1, r1, #1
-     f48:	8001		strh	r1, [r0, #0]
-     f4a:	492f		ldr	r1, =0xffff6000	; via 0x1008
-     f4c:	8808		ldrh	r0, [r1, #0]
-     f4e:	2202		mov	r2, #2
-     f50:	4390		bic	r0, r2
-     f52:	8008		strh	r0, [r1, #0]
-     f54:	482a		ldr	r0, =0x83ff00	; via 0x1000
-     f56:	6801		ldr	r1, [r0, #0]
-     f58:	2007		mov	r0, #7
-     f5a:	7208		strb	r0, [r1, #8]
-     f5c:	4828		ldr	r0, =0x83ff00	; via 0x1000
-     f5e:	6801		ldr	r1, [r0, #0]
-     f60:	20bf		mov	r0, #191	; 0xbf
-     f62:	70c8		strb	r0, [r1, #3]
-     f64:	4826		ldr	r0, =0x83ff00	; via 0x1000
-     f66:	6800		ldr	r0, [r0, #0]
-     f68:	1c80		add	r0, r0, #2
-     f6a:	2110		mov	r1, #16	; 0x10
-     f6c:	8802		ldrh	r2, [r0, #0]
-     f6e:	4311		orr	r1, r2
-     f70:	8001		strh	r1, [r0, #0]
-     f72:	4823		ldr	r0, =0x83ff00	; via 0x1000
-     f74:	6801		ldr	r1, [r0, #0]
-     f76:	2080		mov	r0, #128	; 0x80
-     f78:	70c8		strb	r0, [r1, #3]
-     f7a:	4821		ldr	r0, =0x83ff00	; via 0x1000
-     f7c:	6800		ldr	r0, [r0, #0]
-     f7e:	2107		mov	r1, #7
-     f80:	7081		strb	r1, [r0, #2]
-     f82:	481f		ldr	r0, =0x83ff00	; via 0x1000
-     f84:	6800		ldr	r0, [r0, #0]
-     f86:	21bf		mov	r1, #191	; 0xbf
-     f88:	70c1		strb	r1, [r0, #3]
-     f8a:	481d		ldr	r0, =0x83ff00	; via 0x1000
-     f8c:	6801		ldr	r1, [r0, #0]
-     f8e:	4668		mov	r0, sp
-     f90:	7840		ldrb	r0, [r0, #1]
-     f92:	7008		strb	r0, [r1, #0]
-     f94:	481a		ldr	r0, =0x83ff00	; via 0x1000
-     f96:	6801		ldr	r1, [r0, #0]
-     f98:	4668		mov	r0, sp
-     f9a:	7800		ldrb	r0, [r0, #0]
-     f9c:	7048		strb	r0, [r1, #1]
-     f9e:	4818		ldr	r0, =0x83ff00	; via 0x1000
-     fa0:	6801		ldr	r1, [r0, #0]
-     fa2:	2003		mov	r0, #3
-     fa4:	70c8		strb	r0, [r1, #3]
-     fa6:	4816		ldr	r0, =0x83ff00	; via 0x1000
-     fa8:	6800		ldr	r0, [r0, #0]
-     faa:	2100		mov	r1, #0
-     fac:	7201		strb	r1, [r0, #8]
-     fae:	4814		ldr	r0, =0x83ff00	; via 0x1000
-     fb0:	6800		ldr	r0, [r0, #0]
-     fb2:	7940		ldrb	r0, [r0, #5]
-     fb4:	0840		lsr	r0, r0, #1
-     fb6:	d309		bcc	0xfcc
-     fb8:	4669		mov	r1, sp
-     fba:	4811		ldr	r0, =0x83ff00	; via 0x1000
-     fbc:	6800		ldr	r0, [r0, #0]
-     fbe:	7800		ldrb	r0, [r0, #0]
-     fc0:	7088		strb	r0, [r1, #2]
-     fc2:	480f		ldr	r0, =0x83ff00	; via 0x1000
-     fc4:	6800		ldr	r0, [r0, #0]
-     fc6:	7940		ldrb	r0, [r0, #5]
-     fc8:	0840		lsr	r0, r0, #1
-     fca:	d2f5		bcs	0xfb8
-     fcc:	b001		add	sp, #4
-     fce:	4770		bx	lr
-
-     fd0:	480a		ldr	r0, =0x83ff80	; via 0xffc
-     fd2:	7800		ldrb	r0, [r0, #0]
-     fd4:	4770		bx	lr
-
-     fd6:	b500		push	{lr}
-     fd8:	b081		sub	sp, #4
-     fda:	4669		mov	r1, sp
-     fdc:	7008		strb	r0, [r1, #0]
-     fde:	4668		mov	r0, sp
-     fe0:	7800		ldrb	r0, [r0, #0]
-     fe2:	f7ff ff49	bl	0xe78
-     fe6:	b001		add	sp, #4
-     fe8:	bd00		pop	{pc}
-     fea:	b500		push	{lr}
-     fec:	f7ff ff53	bl	0xe96
-     ff0:	bd00		pop	{pc}
-     ff2:	46c0		nop			(mov r8, r8)
-     ff4:	3ce0		sub	r4, #224	; 0xe0
-     ff6:	0080		lsl	r0, r0, #2
-     ff8:	0100		lsl	r0, r0, #4
-     ffa:	0080		lsl	r0, r0, #2
-     ffc:	ff80		<half-bl>
-     ffe:	0083		lsl	r3, r0, #2
-    1000:	ff00		<half-bl>
-    1002:	0083		lsl	r3, r0, #2
-    1004:	f000 fffe	bl	0x2004
-    1008:	6000		str	r0, [r0, #0]
-    100a:	ffff		<half-bl>
-    100c:	4700		bx	r0
-    100e:	0000		lsl	r0, r0, #0
-    1010:	b08c		sub	sp, #48	; 0x30
-    1012:	9101		str	r1, [sp, #4]
-    1014:	9000		str	r0, [sp, #0]
-    1016:	2000		mov	r0, #0
-    1018:	9003		str	r0, [sp, #12]	; 0xc
-    101a:	9800		ldr	r0, [sp, #0]
-    101c:	7801		ldrb	r1, [r0, #0]
-    101e:	3001		add	r0, #1
-    1020:	9000		str	r0, [sp, #0]
-    1022:	9105		str	r1, [sp, #20]	; 0x14
-    1024:	9800		ldr	r0, [sp, #0]
-    1026:	7801		ldrb	r1, [r0, #0]
-    1028:	3001		add	r0, #1
-    102a:	9000		str	r0, [sp, #0]
-    102c:	9801		ldr	r0, [sp, #4]
-    102e:	7001		strb	r1, [r0, #0]
-    1030:	2001		mov	r0, #1
-    1032:	9004		str	r0, [sp, #16]	; 0x10
-    1034:	e0a8		b	0x1188
-    1036:	9804		ldr	r0, [sp, #16]	; 0x10
-    1038:	3002		add	r0, #2
-    103a:	9004		str	r0, [sp, #16]	; 0x10
-    103c:	9800		ldr	r0, [sp, #0]
-    103e:	7801		ldrb	r1, [r0, #0]
-    1040:	3001		add	r0, #1
-    1042:	9000		str	r0, [sp, #0]
-    1044:	4668		mov	r0, sp
-    1046:	8441		strh	r1, [r0, #34]	; 0x22
-    1048:	9800		ldr	r0, [sp, #0]
-    104a:	7801		ldrb	r1, [r0, #0]
-    104c:	3001		add	r0, #1
-    104e:	9000		str	r0, [sp, #0]
-    1050:	4668		mov	r0, sp
-    1052:	8401		strh	r1, [r0, #32]	; 0x20
-    1054:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    1056:	4669		mov	r1, sp
-    1058:	8c49		ldrh	r1, [r1, #34]	; 0x22
-    105a:	0209		lsl	r1, r1, #8
-    105c:	1840		add	r0, r0, r1
-    105e:	9901		ldr	r1, [sp, #4]
-    1060:	8088		strh	r0, [r1, #4]
-    1062:	9804		ldr	r0, [sp, #16]	; 0x10
-    1064:	3001		add	r0, #1
-    1066:	9004		str	r0, [sp, #16]	; 0x10
-    1068:	9800		ldr	r0, [sp, #0]
-    106a:	7801		ldrb	r1, [r0, #0]
-    106c:	3001		add	r0, #1
-    106e:	9000		str	r0, [sp, #0]
-    1070:	4668		mov	r0, sp
-    1072:	7601		strb	r1, [r0, #24]	; 0x18
-    1074:	9901		ldr	r1, [sp, #4]
-    1076:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1078:	7188		strb	r0, [r1, #6]
-    107a:	4668		mov	r0, sp
-    107c:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    107e:	2840		cmp	r0, #64	; 0x40
-    1080:	dc00		bgt	0x1084
-    1082:	e09f		b	0x11c4
-    1084:	2004		mov	r0, #4
-    1086:	9003		str	r0, [sp, #12]	; 0xc
-    1088:	e09c		b	0x11c4
-    108a:	9804		ldr	r0, [sp, #16]	; 0x10
-    108c:	3002		add	r0, #2
-    108e:	9004		str	r0, [sp, #16]	; 0x10
-    1090:	9800		ldr	r0, [sp, #0]
-    1092:	7801		ldrb	r1, [r0, #0]
-    1094:	3001		add	r0, #1
-    1096:	9000		str	r0, [sp, #0]
-    1098:	4668		mov	r0, sp
-    109a:	8441		strh	r1, [r0, #34]	; 0x22
-    109c:	9800		ldr	r0, [sp, #0]
-    109e:	7801		ldrb	r1, [r0, #0]
-    10a0:	3001		add	r0, #1
-    10a2:	9000		str	r0, [sp, #0]
-    10a4:	4668		mov	r0, sp
-    10a6:	8401		strh	r1, [r0, #32]	; 0x20
-    10a8:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    10aa:	4669		mov	r1, sp
-    10ac:	8c49		ldrh	r1, [r1, #34]	; 0x22
-    10ae:	0209		lsl	r1, r1, #8
-    10b0:	1841		add	r1, r0, r1
-    10b2:	9801		ldr	r0, [sp, #4]
-    10b4:	8081		strh	r1, [r0, #4]
-    10b6:	9804		ldr	r0, [sp, #16]	; 0x10
-    10b8:	3001		add	r0, #1
-    10ba:	9004		str	r0, [sp, #16]	; 0x10
-    10bc:	9800		ldr	r0, [sp, #0]
-    10be:	7801		ldrb	r1, [r0, #0]
-    10c0:	3001		add	r0, #1
-    10c2:	9000		str	r0, [sp, #0]
-    10c4:	4668		mov	r0, sp
-    10c6:	7601		strb	r1, [r0, #24]	; 0x18
-    10c8:	9901		ldr	r1, [sp, #4]
-    10ca:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    10cc:	7188		strb	r0, [r1, #6]
-    10ce:	4668		mov	r0, sp
-    10d0:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    10d2:	2840		cmp	r0, #64	; 0x40
-    10d4:	dcd6		bgt	0x1084
-    10d6:	9801		ldr	r0, [sp, #4]
-    10d8:	3008		add	r0, #8
-    10da:	9007		str	r0, [sp, #28]	; 0x1c
-    10dc:	2000		mov	r0, #0
-    10de:	9002		str	r0, [sp, #8]
-    10e0:	9902		ldr	r1, [sp, #8]
-    10e2:	4668		mov	r0, sp
-    10e4:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    10e6:	4281		cmp	r1, r0
-    10e8:	da6c		bge	0x11c4
-    10ea:	9800		ldr	r0, [sp, #0]
-    10ec:	7801		ldrb	r1, [r0, #0]
-    10ee:	3001		add	r0, #1
-    10f0:	9000		str	r0, [sp, #0]
-    10f2:	4668		mov	r0, sp
-    10f4:	84c1		strh	r1, [r0, #38]	; 0x26
-    10f6:	9800		ldr	r0, [sp, #0]
-    10f8:	7801		ldrb	r1, [r0, #0]
-    10fa:	3001		add	r0, #1
-    10fc:	9000		str	r0, [sp, #0]
-    10fe:	4668		mov	r0, sp
-    1100:	8481		strh	r1, [r0, #36]	; 0x24
-    1102:	9807		ldr	r0, [sp, #28]	; 0x1c
-    1104:	1c81		add	r1, r0, #2
-    1106:	9107		str	r1, [sp, #28]	; 0x1c
-    1108:	4669		mov	r1, sp
-    110a:	8c89		ldrh	r1, [r1, #36]	; 0x24
-    110c:	466a		mov	r2, sp
-    110e:	8cd2		ldrh	r2, [r2, #38]	; 0x26
-    1110:	0212		lsl	r2, r2, #8
-    1112:	1889		add	r1, r1, r2
-    1114:	8001		strh	r1, [r0, #0]
-    1116:	9804		ldr	r0, [sp, #16]	; 0x10
-    1118:	3002		add	r0, #2
-    111a:	9004		str	r0, [sp, #16]	; 0x10
-    111c:	9802		ldr	r0, [sp, #8]
-    111e:	3001		add	r0, #1
-    1120:	9002		str	r0, [sp, #8]
-    1122:	9902		ldr	r1, [sp, #8]
-    1124:	4668		mov	r0, sp
-    1126:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1128:	4281		cmp	r1, r0
-    112a:	dbde		blt	0x10ea
-    112c:	e04a		b	0x11c4
-    112e:	9804		ldr	r0, [sp, #16]	; 0x10
-    1130:	3002		add	r0, #2
-    1132:	9004		str	r0, [sp, #16]	; 0x10
-    1134:	9800		ldr	r0, [sp, #0]
-    1136:	7801		ldrb	r1, [r0, #0]
-    1138:	3001		add	r0, #1
-    113a:	9000		str	r0, [sp, #0]
-    113c:	4668		mov	r0, sp
-    113e:	8501		strh	r1, [r0, #40]	; 0x28
-    1140:	9800		ldr	r0, [sp, #0]
-    1142:	7801		ldrb	r1, [r0, #0]
-    1144:	3001		add	r0, #1
-    1146:	9000		str	r0, [sp, #0]
-    1148:	4668		mov	r0, sp
-    114a:	8541		strh	r1, [r0, #42]	; 0x2a
-    114c:	8d41		ldrh	r1, [r0, #42]	; 0x2a
-    114e:	8d00		ldrh	r0, [r0, #40]	; 0x28
-    1150:	0200		lsl	r0, r0, #8
-    1152:	1809		add	r1, r1, r0
-    1154:	9801		ldr	r0, [sp, #4]
-    1156:	8081		strh	r1, [r0, #4]
-    1158:	9804		ldr	r0, [sp, #16]	; 0x10
-    115a:	3002		add	r0, #2
-    115c:	9004		str	r0, [sp, #16]	; 0x10
-    115e:	9800		ldr	r0, [sp, #0]
-    1160:	7801		ldrb	r1, [r0, #0]
-    1162:	3001		add	r0, #1
-    1164:	9000		str	r0, [sp, #0]
-    1166:	4668		mov	r0, sp
-    1168:	8581		strh	r1, [r0, #44]	; 0x2c
-    116a:	9800		ldr	r0, [sp, #0]
-    116c:	7801		ldrb	r1, [r0, #0]
-    116e:	3001		add	r0, #1
-    1170:	9000		str	r0, [sp, #0]
-    1172:	4668		mov	r0, sp
-    1174:	85c1		strh	r1, [r0, #46]	; 0x2e
-    1176:	8dc1		ldrh	r1, [r0, #46]	; 0x2e
-    1178:	8d80		ldrh	r0, [r0, #44]	; 0x2c
-    117a:	0200		lsl	r0, r0, #8
-    117c:	1808		add	r0, r1, r0
-    117e:	9901		ldr	r1, [sp, #4]
-    1180:	80c8		strh	r0, [r1, #6]
-    1182:	e01f		b	0x11c4
-    1184:	2008		mov	r0, #8
-    1186:	e77e		b	0x1086
-    1188:	9801		ldr	r0, [sp, #4]
-    118a:	7801		ldrb	r1, [r0, #0]
-    118c:	290a		cmp	r1, #10	; 0xa
-    118e:	d8f9		bhi	0x1184
-    1190:	a001		add	r0, pc, #4
-    1192:	0089		lsl	r1, r1, #2
-    1194:	5840		ldr	r0, [r0, r1]
-    1196:	4687		mov	pc, r0
-    1198:	11c4		asr	r4, r0, #7
-    119a:	0000		lsl	r0, r0, #0
-    119c:	11c4		asr	r4, r0, #7
-    119e:	0000		lsl	r0, r0, #0
-    11a0:	11c4		asr	r4, r0, #7
-    11a2:	0000		lsl	r0, r0, #0
-    11a4:	11c4		asr	r4, r0, #7
-    11a6:	0000		lsl	r0, r0, #0
-    11a8:	11c4		asr	r4, r0, #7
-    11aa:	0000		lsl	r0, r0, #0
-    11ac:	11c4		asr	r4, r0, #7
-    11ae:	0000		lsl	r0, r0, #0
-    11b0:	11c4		asr	r4, r0, #7
-    11b2:	0000		lsl	r0, r0, #0
-    11b4:	1036		asr	r6, r6, #32
-    11b6:	0000		lsl	r0, r0, #0
-    11b8:	108a		asr	r2, r1, #2
-    11ba:	0000		lsl	r0, r0, #0
-    11bc:	11c4		asr	r4, r0, #7
-    11be:	0000		lsl	r0, r0, #0
-    11c0:	112e		asr	r6, r5, #4
-    11c2:	0000		lsl	r0, r0, #0
-    11c4:	9905		ldr	r1, [sp, #20]	; 0x14
-    11c6:	9804		ldr	r0, [sp, #16]	; 0x10
-    11c8:	4281		cmp	r1, r0
-    11ca:	d001		beq	0x11d0
-    11cc:	2004		mov	r0, #4
-    11ce:	9003		str	r0, [sp, #12]	; 0xc
-    11d0:	9803		ldr	r0, [sp, #12]	; 0xc
-    11d2:	b00c		add	sp, #48	; 0x30
-    11d4:	4770		bx	lr
-    11d6:	b089		sub	sp, #36	; 0x24
-    11d8:	9101		str	r1, [sp, #4]
-    11da:	9000		str	r0, [sp, #0]
-    11dc:	2000		mov	r0, #0
-    11de:	9003		str	r0, [sp, #12]	; 0xc
-    11e0:	9801		ldr	r0, [sp, #4]
-    11e2:	1c41		add	r1, r0, #1
-    11e4:	9101		str	r1, [sp, #4]
-    11e6:	9005		str	r0, [sp, #20]	; 0x14
-    11e8:	9801		ldr	r0, [sp, #4]
-    11ea:	1c41		add	r1, r0, #1
-    11ec:	9101		str	r1, [sp, #4]
-    11ee:	9900		ldr	r1, [sp, #0]
-    11f0:	7809		ldrb	r1, [r1, #0]
-    11f2:	7001		strb	r1, [r0, #0]
-    11f4:	4669		mov	r1, sp
-    11f6:	2001		mov	r0, #1
-    11f8:	7408		strb	r0, [r1, #16]	; 0x10
-    11fa:	9801		ldr	r0, [sp, #4]
-    11fc:	1c41		add	r1, r0, #1
-    11fe:	9101		str	r1, [sp, #4]
-    1200:	9900		ldr	r1, [sp, #0]
-    1202:	7849		ldrb	r1, [r1, #1]
-    1204:	7001		strb	r1, [r0, #0]
-    1206:	4669		mov	r1, sp
-    1208:	4668		mov	r0, sp
-    120a:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    120c:	3001		add	r0, #1
-    120e:	7408		strb	r0, [r1, #16]	; 0x10
-    1210:	e0e4		b	0x13dc
-    1212:	9800		ldr	r0, [sp, #0]
-    1214:	7840		ldrb	r0, [r0, #1]
-    1216:	2800		cmp	r0, #0
-    1218:	d000		beq	0x121c
-    121a:	e0fd		b	0x1418
-    121c:	9801		ldr	r0, [sp, #4]
-    121e:	1c41		add	r1, r0, #1
-    1220:	9101		str	r1, [sp, #4]
-    1222:	9900		ldr	r1, [sp, #0]
-    1224:	7909		ldrb	r1, [r1, #4]
-    1226:	7001		strb	r1, [r0, #0]
-    1228:	9801		ldr	r0, [sp, #4]
-    122a:	1c41		add	r1, r0, #1
-    122c:	9101		str	r1, [sp, #4]
-    122e:	9900		ldr	r1, [sp, #0]
-    1230:	7949		ldrb	r1, [r1, #5]
-    1232:	7001		strb	r1, [r0, #0]
-    1234:	9801		ldr	r0, [sp, #4]
-    1236:	1c41		add	r1, r0, #1
-    1238:	9101		str	r1, [sp, #4]
-    123a:	9900		ldr	r1, [sp, #0]
-    123c:	7989		ldrb	r1, [r1, #6]
-    123e:	7001		strb	r1, [r0, #0]
-    1240:	4668		mov	r0, sp
-    1242:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1244:	3003		add	r0, #3
-    1246:	4669		mov	r1, sp
-    1248:	7408		strb	r0, [r1, #16]	; 0x10
-    124a:	e0e5		b	0x1418
-    124c:	9800		ldr	r0, [sp, #0]
-    124e:	7840		ldrb	r0, [r0, #1]
-    1250:	2800		cmp	r0, #0
-    1252:	d000		beq	0x1256
-    1254:	e0e0		b	0x1418
-    1256:	9801		ldr	r0, [sp, #4]
-    1258:	1c41		add	r1, r0, #1
-    125a:	9101		str	r1, [sp, #4]
-    125c:	9900		ldr	r1, [sp, #0]
-    125e:	7909		ldrb	r1, [r1, #4]
-    1260:	7001		strb	r1, [r0, #0]
-    1262:	4668		mov	r0, sp
-    1264:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1266:	3001		add	r0, #1
-    1268:	e7ed		b	0x1246
-    126a:	9800		ldr	r0, [sp, #0]
-    126c:	7840		ldrb	r0, [r0, #1]
-    126e:	2800		cmp	r0, #0
-    1270:	d000		beq	0x1274
-    1272:	e0d1		b	0x1418
-    1274:	e7ef		b	0x1256
-    1276:	9800		ldr	r0, [sp, #0]
-    1278:	7840		ldrb	r0, [r0, #1]
-    127a:	2800		cmp	r0, #0
-    127c:	d000		beq	0x1280
-    127e:	e0cb		b	0x1418
-    1280:	e7e9		b	0x1256
-    1282:	9800		ldr	r0, [sp, #0]
-    1284:	7840		ldrb	r0, [r0, #1]
-    1286:	2800		cmp	r0, #0
-    1288:	d000		beq	0x128c
-    128a:	e0c5		b	0x1418
-    128c:	4669		mov	r1, sp
-    128e:	9800		ldr	r0, [sp, #0]
-    1290:	8880		ldrh	r0, [r0, #4]
-    1292:	8408		strh	r0, [r1, #32]	; 0x20
-    1294:	9801		ldr	r0, [sp, #4]
-    1296:	1c41		add	r1, r0, #1
-    1298:	9101		str	r1, [sp, #4]
-    129a:	4669		mov	r1, sp
-    129c:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    129e:	0409		lsl	r1, r1, #16
-    12a0:	0e09		lsr	r1, r1, #24
-    12a2:	0209		lsl	r1, r1, #8
-    12a4:	1209		asr	r1, r1, #8
-    12a6:	7001		strb	r1, [r0, #0]
-    12a8:	9801		ldr	r0, [sp, #4]
-    12aa:	1c41		add	r1, r0, #1
-    12ac:	9101		str	r1, [sp, #4]
-    12ae:	4669		mov	r1, sp
-    12b0:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    12b2:	0609		lsl	r1, r1, #24
-    12b4:	0e09		lsr	r1, r1, #24
-    12b6:	7001		strb	r1, [r0, #0]
-    12b8:	4669		mov	r1, sp
-    12ba:	9800		ldr	r0, [sp, #0]
-    12bc:	88c0		ldrh	r0, [r0, #6]
-    12be:	8408		strh	r0, [r1, #32]	; 0x20
-    12c0:	9801		ldr	r0, [sp, #4]
-    12c2:	1c41		add	r1, r0, #1
-    12c4:	9101		str	r1, [sp, #4]
-    12c6:	4669		mov	r1, sp
-    12c8:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    12ca:	0409		lsl	r1, r1, #16
-    12cc:	0e09		lsr	r1, r1, #24
-    12ce:	0209		lsl	r1, r1, #8
-    12d0:	1209		asr	r1, r1, #8
-    12d2:	7001		strb	r1, [r0, #0]
-    12d4:	9801		ldr	r0, [sp, #4]
-    12d6:	1c41		add	r1, r0, #1
-    12d8:	9101		str	r1, [sp, #4]
-    12da:	4669		mov	r1, sp
-    12dc:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    12de:	0609		lsl	r1, r1, #24
-    12e0:	0e09		lsr	r1, r1, #24
-    12e2:	7001		strb	r1, [r0, #0]
-    12e4:	4668		mov	r0, sp
-    12e6:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    12e8:	3004		add	r0, #4
-    12ea:	e7ac		b	0x1246
-    12ec:	9800		ldr	r0, [sp, #0]
-    12ee:	7840		ldrb	r0, [r0, #1]
-    12f0:	2800		cmp	r0, #0
-    12f2:	d000		beq	0x12f6
-    12f4:	e090		b	0x1418
-    12f6:	e7ae		b	0x1256
-    12f8:	9800		ldr	r0, [sp, #0]
-    12fa:	7840		ldrb	r0, [r0, #1]
-    12fc:	2800		cmp	r0, #0
-    12fe:	d000		beq	0x1302
-    1300:	e08a		b	0x1418
-    1302:	4669		mov	r1, sp
-    1304:	4668		mov	r0, sp
-    1306:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1308:	3001		add	r0, #1
-    130a:	7408		strb	r0, [r1, #16]	; 0x10
-    130c:	4668		mov	r0, sp
-    130e:	9900		ldr	r1, [sp, #0]
-    1310:	7909		ldrb	r1, [r1, #4]
-    1312:	7601		strb	r1, [r0, #24]	; 0x18
-    1314:	9801		ldr	r0, [sp, #4]
-    1316:	1c41		add	r1, r0, #1
-    1318:	9101		str	r1, [sp, #4]
-    131a:	4669		mov	r1, sp
-    131c:	7e09		ldrb	r1, [r1, #24]	; 0x18
-    131e:	7001		strb	r1, [r0, #0]
-    1320:	4668		mov	r0, sp
-    1322:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1324:	2840		cmp	r0, #64	; 0x40
-    1326:	dd01		ble	0x132c
-    1328:	2004		mov	r0, #4
-    132a:	e055		b	0x13d8
-    132c:	9800		ldr	r0, [sp, #0]
-    132e:	3006		add	r0, #6
-    1330:	9007		str	r0, [sp, #28]	; 0x1c
-    1332:	2000		mov	r0, #0
-    1334:	9002		str	r0, [sp, #8]
-    1336:	9902		ldr	r1, [sp, #8]
-    1338:	4668		mov	r0, sp
-    133a:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    133c:	4281		cmp	r1, r0
-    133e:	da6b		bge	0x1418
-    1340:	9801		ldr	r0, [sp, #4]
-    1342:	1c41		add	r1, r0, #1
-    1344:	9101		str	r1, [sp, #4]
-    1346:	9907		ldr	r1, [sp, #28]	; 0x1c
-    1348:	8809		ldrh	r1, [r1, #0]
-    134a:	0409		lsl	r1, r1, #16
-    134c:	0e09		lsr	r1, r1, #24
-    134e:	0209		lsl	r1, r1, #8
-    1350:	1209		asr	r1, r1, #8
-    1352:	7001		strb	r1, [r0, #0]
-    1354:	9807		ldr	r0, [sp, #28]	; 0x1c
-    1356:	8801		ldrh	r1, [r0, #0]
-    1358:	3002		add	r0, #2
-    135a:	9007		str	r0, [sp, #28]	; 0x1c
-    135c:	0608		lsl	r0, r1, #24
-    135e:	0e01		lsr	r1, r0, #24
-    1360:	9801		ldr	r0, [sp, #4]
-    1362:	1c42		add	r2, r0, #1
-    1364:	9201		str	r2, [sp, #4]
-    1366:	7001		strb	r1, [r0, #0]
-    1368:	4669		mov	r1, sp
-    136a:	4668		mov	r0, sp
-    136c:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    136e:	3002		add	r0, #2
-    1370:	7408		strb	r0, [r1, #16]	; 0x10
-    1372:	9802		ldr	r0, [sp, #8]
-    1374:	3001		add	r0, #1
-    1376:	9002		str	r0, [sp, #8]
-    1378:	9902		ldr	r1, [sp, #8]
-    137a:	4668		mov	r0, sp
-    137c:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    137e:	4281		cmp	r1, r0
-    1380:	dbde		blt	0x1340
-    1382:	e049		b	0x1418
-    1384:	9800		ldr	r0, [sp, #0]
-    1386:	7840		ldrb	r0, [r0, #1]
-    1388:	2800		cmp	r0, #0
-    138a:	d145		bne	0x1418
-    138c:	4669		mov	r1, sp
-    138e:	9800		ldr	r0, [sp, #0]
-    1390:	8880		ldrh	r0, [r0, #4]
-    1392:	8408		strh	r0, [r1, #32]	; 0x20
-    1394:	9801		ldr	r0, [sp, #4]
-    1396:	1c41		add	r1, r0, #1
-    1398:	9101		str	r1, [sp, #4]
-    139a:	4669		mov	r1, sp
-    139c:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    139e:	0409		lsl	r1, r1, #16
-    13a0:	0e09		lsr	r1, r1, #24
-    13a2:	0209		lsl	r1, r1, #8
-    13a4:	1209		asr	r1, r1, #8
-    13a6:	7001		strb	r1, [r0, #0]
-    13a8:	9801		ldr	r0, [sp, #4]
-    13aa:	1c41		add	r1, r0, #1
-    13ac:	9101		str	r1, [sp, #4]
-    13ae:	4669		mov	r1, sp
-    13b0:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    13b2:	0609		lsl	r1, r1, #24
-    13b4:	0e09		lsr	r1, r1, #24
-    13b6:	7001		strb	r1, [r0, #0]
-    13b8:	4668		mov	r0, sp
-    13ba:	9900		ldr	r1, [sp, #0]
-    13bc:	88c9		ldrh	r1, [r1, #6]
-    13be:	8401		strh	r1, [r0, #32]	; 0x20
-    13c0:	9901		ldr	r1, [sp, #4]
-    13c2:	1c48		add	r0, r1, #1
-    13c4:	9001		str	r0, [sp, #4]
-    13c6:	4668		mov	r0, sp
-    13c8:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    13ca:	0400		lsl	r0, r0, #16
-    13cc:	0e00		lsr	r0, r0, #24
-    13ce:	0200		lsl	r0, r0, #8
-    13d0:	1200		asr	r0, r0, #8
-    13d2:	7008		strb	r0, [r1, #0]
-    13d4:	e77e		b	0x12d4
-    13d6:	2008		mov	r0, #8
-    13d8:	9003		str	r0, [sp, #12]	; 0xc
-    13da:	e01d		b	0x1418
-    13dc:	9800		ldr	r0, [sp, #0]
-    13de:	7800		ldrb	r0, [r0, #0]
-    13e0:	280a		cmp	r0, #10	; 0xa
-    13e2:	d8f8		bhi	0x13d6
-    13e4:	a101		add	r1, pc, #4
-    13e6:	0080		lsl	r0, r0, #2
-    13e8:	5808		ldr	r0, [r1, r0]
-    13ea:	4687		mov	pc, r0
-    13ec:	1212		asr	r2, r2, #8
-    13ee:	0000		lsl	r0, r0, #0
-    13f0:	124c		asr	r4, r1, #9
-    13f2:	0000		lsl	r0, r0, #0
-    13f4:	126a		asr	r2, r5, #9
-    13f6:	0000		lsl	r0, r0, #0
-    13f8:	1276		asr	r6, r6, #9
-    13fa:	0000		lsl	r0, r0, #0
-    13fc:	1418		asr	r0, r3, #16
-    13fe:	0000		lsl	r0, r0, #0
-    1400:	1282		asr	r2, r0, #10
-    1402:	0000		lsl	r0, r0, #0
-    1404:	12ec		asr	r4, r5, #11
-    1406:	0000		lsl	r0, r0, #0
-    1408:	12f8		asr	r0, r7, #11
-    140a:	0000		lsl	r0, r0, #0
-    140c:	1418		asr	r0, r3, #16
-    140e:	0000		lsl	r0, r0, #0
-    1410:	1384		asr	r4, r0, #14
-    1412:	0000		lsl	r0, r0, #0
-    1414:	1418		asr	r0, r3, #16
-    1416:	0000		lsl	r0, r0, #0
-    1418:	9805		ldr	r0, [sp, #20]	; 0x14
-    141a:	4669		mov	r1, sp
-    141c:	7c09		ldrb	r1, [r1, #16]	; 0x10
-    141e:	7001		strb	r1, [r0, #0]
-    1420:	9803		ldr	r0, [sp, #12]	; 0xc
-    1422:	b009		add	sp, #36	; 0x24
-    1424:	4770		bx	lr
-    1426:	0000		lsl	r0, r0, #0
-    1428:	b500		push	{lr}
-    142a:	b083		sub	sp, #12	; 0xc
-    142c:	9101		str	r1, [sp, #4]
-    142e:	4669		mov	r1, sp
-    1430:	7008		strb	r0, [r1, #0]
-    1432:	2000		mov	r0, #0
-    1434:	9002		str	r0, [sp, #8]
-    1436:	e073		b	0x1520
-    1438:	4668		mov	r0, sp
-    143a:	7800		ldrb	r0, [r0, #0]
-    143c:	28aa		cmp	r0, #170	; 0xaa
-    143e:	d106		bne	0x144e
-    1440:	4965		ldr	r1, =0x83ff10	; via 0x15d8
-    1442:	4865		ldr	r0, =0x83ff10	; via 0x15d8
-    1444:	6800		ldr	r0, [r0, #0]
-    1446:	3001		add	r0, #1
-    1448:	07c0		lsl	r0, r0, #31
-    144a:	0fc0		lsr	r0, r0, #31
-    144c:	e013		b	0x1476
-    144e:	4862		ldr	r0, =0x83ff10	; via 0x15d8
-    1450:	6800		ldr	r0, [r0, #0]
-    1452:	2800		cmp	r0, #0
-    1454:	d06b		beq	0x152e
-    1456:	4961		ldr	r1, =0x83ff04	; via 0x15dc
-    1458:	9801		ldr	r0, [sp, #4]
-    145a:	3001		add	r0, #1
-    145c:	6008		str	r0, [r1, #0]
-    145e:	4960		ldr	r1, =0x83ff0e	; via 0x15e0
-    1460:	2000		mov	r0, #0
-    1462:	7008		strb	r0, [r1, #0]
-    1464:	495f		ldr	r1, =0x83ff0c	; via 0x15e4
-    1466:	4668		mov	r0, sp
-    1468:	7800		ldrb	r0, [r0, #0]
-    146a:	8008		strh	r0, [r1, #0]
-    146c:	495a		ldr	r1, =0x83ff10	; via 0x15d8
-    146e:	2000		mov	r0, #0
-    1470:	6008		str	r0, [r1, #0]
-    1472:	495d		ldr	r1, =0x83ff08	; via 0x15e8
-    1474:	2001		mov	r0, #1
-    1476:	6008		str	r0, [r1, #0]
-    1478:	e059		b	0x152e
-    147a:	4668		mov	r0, sp
-    147c:	7800		ldrb	r0, [r0, #0]
-    147e:	28aa		cmp	r0, #170	; 0xaa
-    1480:	d113		bne	0x14aa
-    1482:	4855		ldr	r0, =0x83ff10	; via 0x15d8
-    1484:	6800		ldr	r0, [r0, #0]
-    1486:	2800		cmp	r0, #0
-    1488:	d00b		beq	0x14a2
-    148a:	4954		ldr	r1, =0x83ff04	; via 0x15dc
-    148c:	6808		ldr	r0, [r1, #0]
-    148e:	1c42		add	r2, r0, #1
-    1490:	600a		str	r2, [r1, #0]
-    1492:	4669		mov	r1, sp
-    1494:	7809		ldrb	r1, [r1, #0]
-    1496:	7001		strb	r1, [r0, #0]
-    1498:	4951		ldr	r1, =0x83ff0e	; via 0x15e0
-    149a:	7808		ldrb	r0, [r1, #0]
-    149c:	3001		add	r0, #1
-    149e:	7008		strb	r0, [r1, #0]
-    14a0:	e013		b	0x14ca
-    14a2:	2101		mov	r1, #1
-    14a4:	484c		ldr	r0, =0x83ff10	; via 0x15d8
-    14a6:	6001		str	r1, [r0, #0]
-    14a8:	e01c		b	0x14e4
-    14aa:	484b		ldr	r0, =0x83ff10	; via 0x15d8
-    14ac:	6800		ldr	r0, [r0, #0]
-    14ae:	2800		cmp	r0, #0
-    14b0:	d00d		beq	0x14ce
-    14b2:	494a		ldr	r1, =0x83ff04	; via 0x15dc
-    14b4:	9801		ldr	r0, [sp, #4]
-    14b6:	3001		add	r0, #1
-    14b8:	6008		str	r0, [r1, #0]
-    14ba:	4849		ldr	r0, =0x83ff0e	; via 0x15e0
-    14bc:	2100		mov	r1, #0
-    14be:	7001		strb	r1, [r0, #0]
-    14c0:	4948		ldr	r1, =0x83ff0c	; via 0x15e4
-    14c2:	4668		mov	r0, sp
-    14c4:	7800		ldrb	r0, [r0, #0]
-    14c6:	3001		add	r0, #1
-    14c8:	8008		strh	r0, [r1, #0]
-    14ca:	2100		mov	r1, #0
-    14cc:	e7ea		b	0x14a4
-    14ce:	4843		ldr	r0, =0x83ff04	; via 0x15dc
-    14d0:	6801		ldr	r1, [r0, #0]
-    14d2:	1c4a		add	r2, r1, #1
-    14d4:	6002		str	r2, [r0, #0]
-    14d6:	4668		mov	r0, sp
-    14d8:	7800		ldrb	r0, [r0, #0]
-    14da:	7008		strb	r0, [r1, #0]
-    14dc:	4940		ldr	r1, =0x83ff0e	; via 0x15e0
-    14de:	7808		ldrb	r0, [r1, #0]
-    14e0:	3001		add	r0, #1
-    14e2:	7008		strb	r0, [r1, #0]
-    14e4:	483f		ldr	r0, =0x83ff0c	; via 0x15e4
-    14e6:	8801		ldrh	r1, [r0, #0]
-    14e8:	3901		sub	r1, #1
-    14ea:	8001		strh	r1, [r0, #0]
-    14ec:	483d		ldr	r0, =0x83ff0c	; via 0x15e4
-    14ee:	8800		ldrh	r0, [r0, #0]
-    14f0:	2800		cmp	r0, #0
-    14f2:	d11c		bne	0x152e
-    14f4:	9901		ldr	r1, [sp, #4]
-    14f6:	483a		ldr	r0, =0x83ff0e	; via 0x15e0
-    14f8:	7800		ldrb	r0, [r0, #0]
-    14fa:	7008		strb	r0, [r1, #0]
-    14fc:	2001		mov	r0, #1
-    14fe:	9002		str	r0, [sp, #8]
-    1500:	4839		ldr	r0, =0x83ff08	; via 0x15e8
-    1502:	2100		mov	r1, #0
-    1504:	6001		str	r1, [r0, #0]
-    1506:	4834		ldr	r0, =0x83ff10	; via 0x15d8
-    1508:	6001		str	r1, [r0, #0]
-    150a:	9801		ldr	r0, [sp, #4]
-    150c:	7800		ldrb	r0, [r0, #0]
-    150e:	2801		cmp	r0, #1
-    1510:	d10d		bne	0x152e
-    1512:	9801		ldr	r0, [sp, #4]
-    1514:	7840		ldrb	r0, [r0, #1]
-    1516:	28dd		cmp	r0, #221	; 0xdd
-    1518:	d109		bne	0x152e
-    151a:	f7ff fb03	bl	0xb24
-    151e:	e006		b	0x152e
-    1520:	4831		ldr	r0, =0x83ff08	; via 0x15e8
-    1522:	6800		ldr	r0, [r0, #0]
-    1524:	2800		cmp	r0, #0
-    1526:	d087		beq	0x1438
-    1528:	3801		sub	r0, #1
-    152a:	2800		cmp	r0, #0
-    152c:	d0a5		beq	0x147a
-    152e:	9802		ldr	r0, [sp, #8]
-    1530:	b003		add	sp, #12	; 0xc
-    1532:	bd00		pop	{pc}
-    1534:	b086		sub	sp, #24	; 0x18
-    1536:	9202		str	r2, [sp, #8]
-    1538:	9101		str	r1, [sp, #4]
-    153a:	9000		str	r0, [sp, #0]
-    153c:	9801		ldr	r0, [sp, #4]
-    153e:	3001		add	r0, #1
-    1540:	9004		str	r0, [sp, #16]	; 0x10
-    1542:	9800		ldr	r0, [sp, #0]
-    1544:	1c41		add	r1, r0, #1
-    1546:	9100		str	r1, [sp, #0]
-    1548:	9005		str	r0, [sp, #20]	; 0x14
-    154a:	9901		ldr	r1, [sp, #4]
-    154c:	20aa		mov	r0, #170	; 0xaa
-    154e:	7008		strb	r0, [r1, #0]
-    1550:	9801		ldr	r0, [sp, #4]
-    1552:	3002		add	r0, #2
-    1554:	9001		str	r0, [sp, #4]
-    1556:	9902		ldr	r1, [sp, #8]
-    1558:	2000		mov	r0, #0
-    155a:	8008		strh	r0, [r1, #0]
-    155c:	4669		mov	r1, sp
-    155e:	8188		strh	r0, [r1, #12]	; 0xc
-    1560:	4668		mov	r0, sp
-    1562:	8981		ldrh	r1, [r0, #12]	; 0xc
-    1564:	9805		ldr	r0, [sp, #20]	; 0x14
-    1566:	7800		ldrb	r0, [r0, #0]
-    1568:	4281		cmp	r1, r0
-    156a:	da23		bge	0x15b4
-    156c:	9800		ldr	r0, [sp, #0]
-    156e:	7800		ldrb	r0, [r0, #0]
-    1570:	28aa		cmp	r0, #170	; 0xaa
-    1572:	d108		bne	0x1586
-    1574:	9801		ldr	r0, [sp, #4]
-    1576:	1c41		add	r1, r0, #1
-    1578:	9101		str	r1, [sp, #4]
-    157a:	21aa		mov	r1, #170	; 0xaa
-    157c:	7001		strb	r1, [r0, #0]
-    157e:	9902		ldr	r1, [sp, #8]
-    1580:	8808		ldrh	r0, [r1, #0]
-    1582:	3001		add	r0, #1
-    1584:	8008		strh	r0, [r1, #0]
-    1586:	9800		ldr	r0, [sp, #0]
-    1588:	7801		ldrb	r1, [r0, #0]
-    158a:	3001		add	r0, #1
-    158c:	9000		str	r0, [sp, #0]
-    158e:	9801		ldr	r0, [sp, #4]
-    1590:	1c42		add	r2, r0, #1
-    1592:	9201		str	r2, [sp, #4]
-    1594:	7001		strb	r1, [r0, #0]
-    1596:	9902		ldr	r1, [sp, #8]
-    1598:	8808		ldrh	r0, [r1, #0]
-    159a:	3001		add	r0, #1
-    159c:	8008		strh	r0, [r1, #0]
-    159e:	4669		mov	r1, sp
-    15a0:	4668		mov	r0, sp
-    15a2:	8980		ldrh	r0, [r0, #12]	; 0xc
-    15a4:	3001		add	r0, #1
-    15a6:	8188		strh	r0, [r1, #12]	; 0xc
-    15a8:	4668		mov	r0, sp
-    15aa:	8980		ldrh	r0, [r0, #12]	; 0xc
-    15ac:	9905		ldr	r1, [sp, #20]	; 0x14
-    15ae:	7809		ldrb	r1, [r1, #0]
-    15b0:	4288		cmp	r0, r1
-    15b2:	dbdb		blt	0x156c
-    15b4:	9904		ldr	r1, [sp, #16]	; 0x10
-    15b6:	9802		ldr	r0, [sp, #8]
-    15b8:	7800		ldrb	r0, [r0, #0]
-    15ba:	7008		strb	r0, [r1, #0]
-    15bc:	9902		ldr	r1, [sp, #8]
-    15be:	8808		ldrh	r0, [r1, #0]
-    15c0:	3002		add	r0, #2
-    15c2:	8008		strh	r0, [r1, #0]
-    15c4:	b006		add	sp, #24	; 0x18
-    15c6:	4770		bx	lr
-
-; function zeroes out IRAM word vars at 0x83ff08 and 0x83ff10
-    15c8:	4907		ldr	r1, =0x83ff08	; via 0x15e8
-    15ca:	2000		mov	r0, #0
-    15cc:	6008		str	r0, [r1, #0]
-    15ce:	4802		ldr	r0, =0x83ff10	; via 0x15d8
-    15d0:	2100		mov	r1, #0
-    15d2:	6001		str	r1, [r0, #0]
-    15d4:	4770		bx	lr
-    15d6:	46c0		nop			(mov r8, r8)
-
-    15d8:	0083ff10
-    15dc:	0083ff04
-    15e0:	0083ff0e
-    15e4:	0083ff0c
-    15e8:	0083ff08
-
-    15ec:	b082		sub	sp, #8
-    15ee:	9101		str	r1, [sp, #4]
-    15f0:	9000		str	r0, [sp, #0]
-    15f2:	9901		ldr	r1, [sp, #4]
-    15f4:	2000		mov	r0, #0
-    15f6:	7008		strb	r0, [r1, #0]
-    15f8:	9801		ldr	r0, [sp, #4]
-    15fa:	2100		mov	r1, #0
-    15fc:	7041		strb	r1, [r0, #1]
-    15fe:	9801		ldr	r0, [sp, #4]
-    1600:	2102		mov	r1, #2
-    1602:	7101		strb	r1, [r0, #4]
-    1604:	9801		ldr	r0, [sp, #4]
-    1606:	2106		mov	r1, #6
-    1608:	7141		strb	r1, [r0, #5]
-    160a:	9801		ldr	r0, [sp, #4]
-    160c:	2102		mov	r1, #2
-    160e:	7181		strb	r1, [r0, #6]
-    1610:	b002		add	sp, #8
-    1612:	4770		bx	lr
-
-    1614:	b500		push	{lr}
-    1616:	b084		sub	sp, #16	; 0x10
-    1618:	466b		mov	r3, sp
-    161a:	721a		strb	r2, [r3, #8]
-    161c:	9101		str	r1, [sp, #4]
-    161e:	9000		str	r0, [sp, #0]
-    1620:	9901		ldr	r1, [sp, #4]
-    1622:	2009		mov	r0, #9
-    1624:	7008		strb	r0, [r1, #0]
-    1626:	e015		b	0x1654
-    1628:	9801		ldr	r0, [sp, #4]
-    162a:	2100		mov	r1, #0
-    162c:	7041		strb	r1, [r0, #1]
-    162e:	9901		ldr	r1, [sp, #4]
-    1630:	4668		mov	r0, sp
-    1632:	8940		ldrh	r0, [r0, #10]	; 0xa
-    1634:	8088		strh	r0, [r1, #4]
-    1636:	9901		ldr	r1, [sp, #4]
-    1638:	4668		mov	r0, sp
-    163a:	8980		ldrh	r0, [r0, #12]	; 0xc
-    163c:	80c8		strh	r0, [r1, #6]
-    163e:	e01e		b	0x167e
-    1640:	2101		mov	r1, #1
-    1642:	e004		b	0x164e
-    1644:	2103		mov	r1, #3
-    1646:	e002		b	0x164e
-    1648:	2105		mov	r1, #5
-    164a:	e000		b	0x164e
-    164c:	2106		mov	r1, #6
-    164e:	9801		ldr	r0, [sp, #4]
-    1650:	7041		strb	r1, [r0, #1]
-    1652:	e014		b	0x167e
-    1654:	200a		mov	r0, #10	; 0xa
-    1656:	4468		add	r0, sp
-    1658:	a903		add	r1, sp, #12	; 0xc
-    165a:	466a		mov	r2, sp
-    165c:	7a12		ldrb	r2, [r2, #8]
-    165e:	f000 fb71	bl	0x1d44
-    1662:	2800		cmp	r0, #0
-    1664:	d0e0		beq	0x1628
-    1666:	3801		sub	r0, #1
-    1668:	2800		cmp	r0, #0
-    166a:	d0e9		beq	0x1640
-    166c:	3801		sub	r0, #1
-    166e:	2800		cmp	r0, #0
-    1670:	d0e8		beq	0x1644
-    1672:	3801		sub	r0, #1
-    1674:	2800		cmp	r0, #0
-    1676:	d0e7		beq	0x1648
-    1678:	3801		sub	r0, #1
-    167a:	2800		cmp	r0, #0
-    167c:	d0e6		beq	0x164c
-    167e:	b004		add	sp, #16	; 0x10
-    1680:	bd00		pop	{pc}
-    1682:	b084		sub	sp, #16	; 0x10
-    1684:	9101		str	r1, [sp, #4]
-    1686:	9000		str	r0, [sp, #0]
-    1688:	9901		ldr	r1, [sp, #4]
-    168a:	200a		mov	r0, #10	; 0xa
-    168c:	7008		strb	r0, [r1, #0]
-    168e:	9801		ldr	r0, [sp, #4]
-    1690:	2100		mov	r1, #0
-    1692:	7041		strb	r1, [r0, #1]
-    1694:	4669		mov	r1, sp
-    1696:	9800		ldr	r0, [sp, #0]
-    1698:	8880		ldrh	r0, [r0, #4]
-    169a:	8108		strh	r0, [r1, #8]
-    169c:	9800		ldr	r0, [sp, #0]
-    169e:	88c0		ldrh	r0, [r0, #6]
-    16a0:	8148		strh	r0, [r1, #10]	; 0xa
-    16a2:	4668		mov	r0, sp
-    16a4:	8941		ldrh	r1, [r0, #10]	; 0xa
-    16a6:	8900		ldrh	r0, [r0, #8]
-    16a8:	0400		lsl	r0, r0, #16
-    16aa:	1808		add	r0, r1, r0
-    16ac:	9003		str	r0, [sp, #12]	; 0xc
-    16ae:	9803		ldr	r0, [sp, #12]	; 0xc
-    16b0:	b004		add	sp, #16	; 0x10
-    16b2:	4770		bx	lr
-    16b4:	b085		sub	sp, #20	; 0x14
-    16b6:	9303		str	r3, [sp, #12]	; 0xc
-    16b8:	9202		str	r2, [sp, #8]
-    16ba:	9101		str	r1, [sp, #4]
-    16bc:	4669		mov	r1, sp
-    16be:	7008		strb	r0, [r1, #0]
-    16c0:	48ea		ldr	r0, =0x83ff19	; via 0x1a6c
-    16c2:	7809		ldrb	r1, [r1, #0]
-    16c4:	7802		ldrb	r2, [r0, #0]
-    16c6:	1889		add	r1, r1, r2
-    16c8:	7001		strb	r1, [r0, #0]
-    16ca:	48e9		ldr	r0, =0x83ff1a	; via 0x1a70
-    16cc:	7800		ldrb	r0, [r0, #0]
-    16ce:	2800		cmp	r0, #0
-    16d0:	d00e		beq	0x16f0
-    16d2:	48e8		ldr	r0, =0x83ff26	; via 0x1a74
-    16d4:	4669		mov	r1, sp
-    16d6:	780a		ldrb	r2, [r1, #0]
-    16d8:	8801		ldrh	r1, [r0, #0]
-    16da:	1851		add	r1, r2, r1
-    16dc:	8001		strh	r1, [r0, #0]
-    16de:	9903		ldr	r1, [sp, #12]	; 0xc
-    16e0:	48e4		ldr	r0, =0x83ff26	; via 0x1a74
-    16e2:	8800		ldrh	r0, [r0, #0]
-    16e4:	8008		strh	r0, [r1, #0]
-    16e6:	9801		ldr	r0, [sp, #4]
-    16e8:	2100		mov	r1, #0
-    16ea:	6001		str	r1, [r0, #0]
-    16ec:	2000		mov	r0, #0
-    16ee:	e009		b	0x1704
-    16f0:	9902		ldr	r1, [sp, #8]
-    16f2:	6808		ldr	r0, [r1, #0]
-    16f4:	3002		add	r0, #2
-    16f6:	6008		str	r0, [r1, #0]
-    16f8:	49de		ldr	r1, =0x83ff26	; via 0x1a74
-    16fa:	4668		mov	r0, sp
-    16fc:	7800		ldrb	r0, [r0, #0]
-    16fe:	0200		lsl	r0, r0, #8
-    1700:	8008		strh	r0, [r1, #0]
-    1702:	2001		mov	r0, #1
-    1704:	9004		str	r0, [sp, #16]	; 0x10
-    1706:	2001		mov	r0, #1
-    1708:	49d9		ldr	r1, =0x83ff1a	; via 0x1a70
-    170a:	7809		ldrb	r1, [r1, #0]
-    170c:	4388		bic	r0, r1
-    170e:	49d8		ldr	r1, =0x83ff1a	; via 0x1a70
-    1710:	7008		strb	r0, [r1, #0]
-    1712:	48d9		ldr	r0, =0x83ff24	; via 0x1a78
-    1714:	7801		ldrb	r1, [r0, #0]
-    1716:	3901		sub	r1, #1
-    1718:	7001		strb	r1, [r0, #0]
-    171a:	48d7		ldr	r0, =0x83ff24	; via 0x1a78
-    171c:	7800		ldrb	r0, [r0, #0]
-    171e:	2800		cmp	r0, #0
-    1720:	d102		bne	0x1728
-    1722:	48d6		ldr	r0, =0x83ff20	; via 0x1a7c
-    1724:	2106		mov	r1, #6
-    1726:	6001		str	r1, [r0, #0]
-    1728:	9804		ldr	r0, [sp, #16]	; 0x10
-    172a:	b005		add	sp, #20	; 0x14
-    172c:	46f7		mov	pc, lr
-    172e:	b083		sub	sp, #12	; 0xc
-    1730:	9101		str	r1, [sp, #4]
-    1732:	4669		mov	r1, sp
-    1734:	7008		strb	r0, [r1, #0]
-    1736:	2001		mov	r0, #1
-    1738:	9002		str	r0, [sp, #8]
-    173a:	48d1		ldr	r0, =0x83ff1b	; via 0x1a80
-    173c:	7800		ldrb	r0, [r0, #0]
-    173e:	2800		cmp	r0, #0
-    1740:	d10a		bne	0x1758
-    1742:	4668		mov	r0, sp
-    1744:	7800		ldrb	r0, [r0, #0]
-    1746:	2853		cmp	r0, #83	; 0x53
-    1748:	d102		bne	0x1750
-    174a:	48cd		ldr	r0, =0x83ff1b	; via 0x1a80
-    174c:	2101		mov	r1, #1
-    174e:	e01a		b	0x1786
-    1750:	2101		mov	r1, #1
-    1752:	9801		ldr	r0, [sp, #4]
-    1754:	6001		str	r1, [r0, #0]
-    1756:	e03b		b	0x17d0
-    1758:	49c9		ldr	r1, =0x83ff1b	; via 0x1a80
-    175a:	2000		mov	r0, #0
-    175c:	7008		strb	r0, [r1, #0]
-    175e:	4668		mov	r0, sp
-    1760:	7800		ldrb	r0, [r0, #0]
-    1762:	2830		cmp	r0, #48	; 0x30
-    1764:	d111		bne	0x178a
-    1766:	48c7		ldr	r0, =0x83ff18	; via 0x1a84
-    1768:	7800		ldrb	r0, [r0, #0]
-    176a:	2800		cmp	r0, #0
-    176c:	d006		beq	0x177c
-    176e:	9901		ldr	r1, [sp, #4]
-    1770:	2001		mov	r0, #1
-    1772:	6008		str	r0, [r1, #0]
-    1774:	49c3		ldr	r1, =0x83ff18	; via 0x1a84
-    1776:	2000		mov	r0, #0
-    1778:	7008		strb	r0, [r1, #0]
-    177a:	e02a		b	0x17d2
-    177c:	48bf		ldr	r0, =0x83ff20	; via 0x1a7c
-    177e:	2102		mov	r1, #2
-    1780:	6001		str	r1, [r0, #0]
-    1782:	48ef		ldr	r0, =0x83ff1c	; via 0x1b40
-    1784:	2100		mov	r1, #0
-    1786:	7001		strb	r1, [r0, #0]
-    1788:	e024		b	0x17d4
-    178a:	4668		mov	r0, sp
-    178c:	7800		ldrb	r0, [r0, #0]
-    178e:	2833		cmp	r0, #51	; 0x33
-    1790:	d105		bne	0x179e
-    1792:	48bc		ldr	r0, =0x83ff18	; via 0x1a84
-    1794:	7800		ldrb	r0, [r0, #0]
-    1796:	2800		cmp	r0, #0
-    1798:	d0da		beq	0x1750
-    179a:	2004		mov	r0, #4
-    179c:	e00c		b	0x17b8
-    179e:	4668		mov	r0, sp
-    17a0:	7800		ldrb	r0, [r0, #0]
-    17a2:	2837		cmp	r0, #55	; 0x37
-    17a4:	d10e		bne	0x17c4
-    17a6:	48b7		ldr	r0, =0x83ff18	; via 0x1a84
-    17a8:	7800		ldrb	r0, [r0, #0]
-    17aa:	2800		cmp	r0, #0
-    17ac:	d103		bne	0x17b6
-    17ae:	9901		ldr	r1, [sp, #4]
-    17b0:	2001		mov	r0, #1
-    17b2:	6008		str	r0, [r1, #0]
-    17b4:	e00c		b	0x17d0
-    17b6:	2003		mov	r0, #3
-    17b8:	49b0		ldr	r1, =0x83ff20	; via 0x1a7c
-    17ba:	6008		str	r0, [r1, #0]
-    17bc:	2000		mov	r0, #0
-    17be:	49e0		ldr	r1, =0x83ff1c	; via 0x1b40
-    17c0:	7008		strb	r0, [r1, #0]
-    17c2:	e007		b	0x17d4
-    17c4:	9901		ldr	r1, [sp, #4]
-    17c6:	2001		mov	r0, #1
-    17c8:	6008		str	r0, [r1, #0]
-    17ca:	48ae		ldr	r0, =0x83ff18	; via 0x1a84
-    17cc:	2100		mov	r1, #0
-    17ce:	7001		strb	r1, [r0, #0]
-    17d0:	2000		mov	r0, #0
-    17d2:	9002		str	r0, [sp, #8]
-    17d4:	9802		ldr	r0, [sp, #8]
-    17d6:	b003		add	sp, #12	; 0xc
-    17d8:	46f7		mov	pc, lr
-    17da:	b083		sub	sp, #12	; 0xc
-    17dc:	9101		str	r1, [sp, #4]
-    17de:	4669		mov	r1, sp
-    17e0:	7008		strb	r0, [r1, #0]
-    17e2:	2001		mov	r0, #1
-    17e4:	9002		str	r0, [sp, #8]
-    17e6:	49d7		ldr	r1, =0x830	; via 0x1b44
-    17e8:	48d5		ldr	r0, =0x83ff1c	; via 0x1b40
-    17ea:	7800		ldrb	r0, [r0, #0]
-    17ec:	0080		lsl	r0, r0, #2
-    17ee:	5808		ldr	r0, [r1, r0]
-    17f0:	4669		mov	r1, sp
-    17f2:	7809		ldrb	r1, [r1, #0]
-    17f4:	4281		cmp	r1, r0
-    17f6:	d10d		bne	0x1814
-    17f8:	49d1		ldr	r1, =0x83ff1c	; via 0x1b40
-    17fa:	7808		ldrb	r0, [r1, #0]
-    17fc:	3001		add	r0, #1
-    17fe:	7008		strb	r0, [r1, #0]
-    1800:	48cf		ldr	r0, =0x83ff1c	; via 0x1b40
-    1802:	7800		ldrb	r0, [r0, #0]
-    1804:	2807		cmp	r0, #7
-    1806:	d10d		bne	0x1824
-    1808:	489c		ldr	r0, =0x83ff20	; via 0x1a7c
-    180a:	2101		mov	r1, #1
-    180c:	6001		str	r1, [r0, #0]
-    180e:	489d		ldr	r0, =0x83ff18	; via 0x1a84
-    1810:	7001		strb	r1, [r0, #0]
-    1812:	e007		b	0x1824
-    1814:	9801		ldr	r0, [sp, #4]
-    1816:	2101		mov	r1, #1
-    1818:	6001		str	r1, [r0, #0]
-    181a:	4998		ldr	r1, =0x83ff20	; via 0x1a7c
-    181c:	2001		mov	r0, #1
-    181e:	6008		str	r0, [r1, #0]
-    1820:	2000		mov	r0, #0
-    1822:	9002		str	r0, [sp, #8]
-    1824:	9802		ldr	r0, [sp, #8]
-    1826:	b003		add	sp, #12	; 0xc
-    1828:	46f7		mov	pc, lr
-    182a:	b083		sub	sp, #12	; 0xc
-    182c:	9101		str	r1, [sp, #4]
-    182e:	4669		mov	r1, sp
-    1830:	7008		strb	r0, [r1, #0]
-    1832:	2001		mov	r0, #1
-    1834:	9002		str	r0, [sp, #8]
-    1836:	49c4		ldr	r1, =0x84c	; via 0x1b48
-    1838:	48c1		ldr	r0, =0x83ff1c	; via 0x1b40
-    183a:	7800		ldrb	r0, [r0, #0]
-    183c:	0080		lsl	r0, r0, #2
-    183e:	5808		ldr	r0, [r1, r0]
-    1840:	4669		mov	r1, sp
-    1842:	7809		ldrb	r1, [r1, #0]
-    1844:	4281		cmp	r1, r0
-    1846:	d112		bne	0x186e
-    1848:	49bd		ldr	r1, =0x83ff1c	; via 0x1b40
-    184a:	7808		ldrb	r0, [r1, #0]
-    184c:	3001		add	r0, #1
-    184e:	7008		strb	r0, [r1, #0]
-    1850:	48bb		ldr	r0, =0x83ff1c	; via 0x1b40
-    1852:	7800		ldrb	r0, [r0, #0]
-    1854:	2806		cmp	r0, #6
-    1856:	d114		bne	0x1882
-    1858:	9801		ldr	r0, [sp, #4]
-    185a:	2102		mov	r1, #2
-    185c:	6001		str	r1, [r0, #0]
-    185e:	4887		ldr	r0, =0x83ff20	; via 0x1a7c
-    1860:	2101		mov	r1, #1
-    1862:	6001		str	r1, [r0, #0]
-    1864:	4887		ldr	r0, =0x83ff18	; via 0x1a84
-    1866:	2100		mov	r1, #0
-    1868:	7001		strb	r1, [r0, #0]
-    186a:	2000		mov	r0, #0
-    186c:	e008		b	0x1880
-    186e:	9801		ldr	r0, [sp, #4]
-    1870:	2101		mov	r1, #1
-    1872:	6001		str	r1, [r0, #0]
-    1874:	4981		ldr	r1, =0x83ff20	; via 0x1a7c
-    1876:	2001		mov	r0, #1
-    1878:	6008		str	r0, [r1, #0]
-    187a:	4982		ldr	r1, =0x83ff18	; via 0x1a84
-    187c:	2000		mov	r0, #0
-    187e:	7008		strb	r0, [r1, #0]
-    1880:	9002		str	r0, [sp, #8]
-    1882:	9802		ldr	r0, [sp, #8]
-    1884:	b003		add	sp, #12	; 0xc
-    1886:	46f7		mov	pc, lr
-    1888:	b081		sub	sp, #4
-    188a:	4669		mov	r1, sp
-    188c:	7008		strb	r0, [r1, #0]
-    188e:	497a		ldr	r1, =0x83ff24	; via 0x1a78
-    1890:	4668		mov	r0, sp
-    1892:	7800		ldrb	r0, [r0, #0]
-    1894:	3801		sub	r0, #1
-    1896:	7008		strb	r0, [r1, #0]
-    1898:	4874		ldr	r0, =0x83ff19	; via 0x1a6c
-    189a:	4669		mov	r1, sp
-    189c:	7809		ldrb	r1, [r1, #0]
-    189e:	7001		strb	r1, [r0, #0]
-    18a0:	48a7		ldr	r0, =0x83ff1c	; via 0x1b40
-    18a2:	2100		mov	r1, #0
-    18a4:	7001		strb	r1, [r0, #0]
-    18a6:	48e3		ldr	r0, =0x83ff14	; via 0x1c34
-    18a8:	6001		str	r1, [r0, #0]
-    18aa:	4874		ldr	r0, =0x83ff20	; via 0x1a7c
-    18ac:	2105		mov	r1, #5
-    18ae:	6001		str	r1, [r0, #0]
-    18b0:	b001		add	sp, #4
-    18b2:	46f7		mov	pc, lr
-    18b4:	b084		sub	sp, #16	; 0x10
-    18b6:	9202		str	r2, [sp, #8]
-    18b8:	9101		str	r1, [sp, #4]
-    18ba:	4669		mov	r1, sp
-    18bc:	7008		strb	r0, [r1, #0]
-    18be:	2001		mov	r0, #1
-    18c0:	9003		str	r0, [sp, #12]	; 0xc
-    18c2:	496d		ldr	r1, =0x83ff24	; via 0x1a78
-    18c4:	7808		ldrb	r0, [r1, #0]
-    18c6:	3801		sub	r0, #1
-    18c8:	7008		strb	r0, [r1, #0]
-    18ca:	486b		ldr	r0, =0x83ff24	; via 0x1a78
-    18cc:	7800		ldrb	r0, [r0, #0]
-    18ce:	2800		cmp	r0, #0
-    18d0:	d026		beq	0x1920
-    18d2:	4866		ldr	r0, =0x83ff19	; via 0x1a6c
-    18d4:	4669		mov	r1, sp
-    18d6:	780a		ldrb	r2, [r1, #0]
-    18d8:	7801		ldrb	r1, [r0, #0]
-    18da:	1851		add	r1, r2, r1
-    18dc:	7001		strb	r1, [r0, #0]
-    18de:	4998		ldr	r1, =0x83ff1c	; via 0x1b40
-    18e0:	7808		ldrb	r0, [r1, #0]
-    18e2:	3001		add	r0, #1
-    18e4:	7008		strb	r0, [r1, #0]
-    18e6:	49d3		ldr	r1, =0x83ff14	; via 0x1c34
-    18e8:	2204		mov	r2, #4
-    18ea:	4895		ldr	r0, =0x83ff1c	; via 0x1b40
-    18ec:	7800		ldrb	r0, [r0, #0]
-    18ee:	1a10		sub	r0, r2, r0
-    18f0:	00c2		lsl	r2, r0, #3
-    18f2:	4668		mov	r0, sp
-    18f4:	7800		ldrb	r0, [r0, #0]
-    18f6:	4090		lsl	r0, r2
-    18f8:	680a		ldr	r2, [r1, #0]
-    18fa:	1880		add	r0, r0, r2
-    18fc:	6008		str	r0, [r1, #0]
-    18fe:	4890		ldr	r0, =0x83ff1c	; via 0x1b40
-    1900:	7800		ldrb	r0, [r0, #0]
-    1902:	2804		cmp	r0, #4
-    1904:	d117		bne	0x1936
-    1906:	9902		ldr	r1, [sp, #8]
-    1908:	48ca		ldr	r0, =0x83ff14	; via 0x1c34
-    190a:	6800		ldr	r0, [r0, #0]
-    190c:	3802		sub	r0, #2
-    190e:	6008		str	r0, [r1, #0]
-    1910:	485a		ldr	r0, =0x83ff20	; via 0x1a7c
-    1912:	2100		mov	r1, #0
-    1914:	6001		str	r1, [r0, #0]
-    1916:	4856		ldr	r0, =0x83ff1a	; via 0x1a70
-    1918:	7001		strb	r1, [r0, #0]
-    191a:	4889		ldr	r0, =0x83ff1c	; via 0x1b40
-    191c:	7001		strb	r1, [r0, #0]
-    191e:	e00a		b	0x1936
-    1920:	9801		ldr	r0, [sp, #4]
-    1922:	2101		mov	r1, #1
-    1924:	6001		str	r1, [r0, #0]
-    1926:	4955		ldr	r1, =0x83ff20	; via 0x1a7c
-    1928:	2001		mov	r0, #1
-    192a:	6008		str	r0, [r1, #0]
-    192c:	4855		ldr	r0, =0x83ff18	; via 0x1a84
-    192e:	2100		mov	r1, #0
-    1930:	7001		strb	r1, [r0, #0]
-    1932:	2000		mov	r0, #0
-    1934:	9003		str	r0, [sp, #12]	; 0xc
-    1936:	9803		ldr	r0, [sp, #12]	; 0xc
-    1938:	b004		add	sp, #16	; 0x10
-    193a:	46f7		mov	pc, lr
-    193c:	b083		sub	sp, #12	; 0xc
-    193e:	9101		str	r1, [sp, #4]
-    1940:	4669		mov	r1, sp
-    1942:	7008		strb	r0, [r1, #0]
-    1944:	2001		mov	r0, #1
-    1946:	9002		str	r0, [sp, #8]
-    1948:	494c		ldr	r1, =0x83ff20	; via 0x1a7c
-    194a:	6008		str	r0, [r1, #0]
-    194c:	20ff		mov	r0, #255	; 0xff
-    194e:	4669		mov	r1, sp
-    1950:	7809		ldrb	r1, [r1, #0]
-    1952:	4388		bic	r0, r1
-    1954:	4945		ldr	r1, =0x83ff19	; via 0x1a6c
-    1956:	7809		ldrb	r1, [r1, #0]
-    1958:	4281		cmp	r1, r0
-    195a:	d007		beq	0x196c
-    195c:	9801		ldr	r0, [sp, #4]
-    195e:	2101		mov	r1, #1
-    1960:	6001		str	r1, [r0, #0]
-    1962:	4848		ldr	r0, =0x83ff18	; via 0x1a84
-    1964:	2100		mov	r1, #0
-    1966:	7001		strb	r1, [r0, #0]
-    1968:	2000		mov	r0, #0
-    196a:	9002		str	r0, [sp, #8]
-    196c:	9802		ldr	r0, [sp, #8]
-    196e:	b003		add	sp, #12	; 0xc
-    1970:	46f7		mov	pc, lr
-    1972:	b085		sub	sp, #20	; 0x14
-    1974:	466b		mov	r3, sp
-    1976:	719a		strb	r2, [r3, #6]
-    1978:	466a		mov	r2, sp
-    197a:	8091		strh	r1, [r2, #4]
-    197c:	9000		str	r0, [sp, #0]
-    197e:	9800		ldr	r0, [sp, #0]
-    1980:	9002		str	r0, [sp, #8]
-    1982:	4669		mov	r1, sp
-    1984:	4668		mov	r0, sp
-    1986:	8880		ldrh	r0, [r0, #4]
-    1988:	8208		strh	r0, [r1, #16]	; 0x10
-    198a:	4668		mov	r0, sp
-    198c:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    198e:	2800		cmp	r0, #0
-    1990:	d01e		beq	0x19d0
-    1992:	49e3		ldr	r1, =0x864	; via 0x1d20
-    1994:	4668		mov	r0, sp
-    1996:	7980		ldrb	r0, [r0, #6]
-    1998:	0080		lsl	r0, r0, #2
-    199a:	5808		ldr	r0, [r1, r0]
-    199c:	7941		ldrb	r1, [r0, #5]
-    199e:	4668		mov	r0, sp
-    19a0:	7301		strb	r1, [r0, #12]	; 0xc
-    19a2:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    19a4:	0980		lsr	r0, r0, #6
-    19a6:	d3f4		bcc	0x1992
-    19a8:	49dd		ldr	r1, =0x864	; via 0x1d20
-    19aa:	4668		mov	r0, sp
-    19ac:	7980		ldrb	r0, [r0, #6]
-    19ae:	0080		lsl	r0, r0, #2
-    19b0:	5809		ldr	r1, [r1, r0]
-    19b2:	9802		ldr	r0, [sp, #8]
-    19b4:	7800		ldrb	r0, [r0, #0]
-    19b6:	7008		strb	r0, [r1, #0]
-    19b8:	9802		ldr	r0, [sp, #8]
-    19ba:	3001		add	r0, #1
-    19bc:	9002		str	r0, [sp, #8]
-    19be:	4669		mov	r1, sp
-    19c0:	4668		mov	r0, sp
-    19c2:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    19c4:	3801		sub	r0, #1
-    19c6:	8208		strh	r0, [r1, #16]	; 0x10
-    19c8:	4668		mov	r0, sp
-    19ca:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    19cc:	2800		cmp	r0, #0
-    19ce:	d1e0		bne	0x1992
-    19d0:	b005		add	sp, #20	; 0x14
-    19d2:	46f7		mov	pc, lr
-    19d4:	b082		sub	sp, #8
-    19d6:	4669		mov	r1, sp
-    19d8:	7008		strb	r0, [r1, #0]
-    19da:	2000		mov	r0, #0
-    19dc:	8088		strh	r0, [r1, #4]
-    19de:	4668		mov	r0, sp
-    19e0:	8881		ldrh	r1, [r0, #4]
-    19e2:	20ff		mov	r0, #255	; 0xff
-    19e4:	30f5		add	r0, #245	; 0xf5
-    19e6:	4281		cmp	r1, r0
-    19e8:	da21		bge	0x1a2e
-    19ea:	4669		mov	r1, sp
-    19ec:	4668		mov	r0, sp
-    19ee:	8880		ldrh	r0, [r0, #4]
-    19f0:	3001		add	r0, #1
-    19f2:	8088		strh	r0, [r1, #4]
-    19f4:	48ca		ldr	r0, =0x864	; via 0x1d20
-    19f6:	7809		ldrb	r1, [r1, #0]
-    19f8:	0089		lsl	r1, r1, #2
-    19fa:	5840		ldr	r0, [r0, r1]
-    19fc:	7940		ldrb	r0, [r0, #5]
-    19fe:	4669		mov	r1, sp
-    1a00:	7048		strb	r0, [r1, #1]
-    1a02:	4668		mov	r0, sp
-    1a04:	7840		ldrb	r0, [r0, #1]
-    1a06:	0840		lsr	r0, r0, #1
-    1a08:	d30b		bcc	0x1a22
-    1a0a:	49c5		ldr	r1, =0x864	; via 0x1d20
-    1a0c:	4668		mov	r0, sp
-    1a0e:	7800		ldrb	r0, [r0, #0]
-    1a10:	0080		lsl	r0, r0, #2
-    1a12:	5808		ldr	r0, [r1, r0]
-    1a14:	7800		ldrb	r0, [r0, #0]
-    1a16:	0600		lsl	r0, r0, #24
-    1a18:	0e00		lsr	r0, r0, #24
-    1a1a:	4669		mov	r1, sp
-    1a1c:	7088		strb	r0, [r1, #2]
-    1a1e:	2000		mov	r0, #0
-    1a20:	8088		strh	r0, [r1, #4]
-    1a22:	4668		mov	r0, sp
-    1a24:	8881		ldrh	r1, [r0, #4]
-    1a26:	20ff		mov	r0, #255	; 0xff
-    1a28:	30f5		add	r0, #245	; 0xf5
-    1a2a:	4281		cmp	r1, r0
-    1a2c:	dbdd		blt	0x19ea
-    1a2e:	b002		add	sp, #8
-    1a30:	4770		bx	lr
-    1a32:	b500		push	{lr}
-    1a34:	b08c		sub	sp, #48	; 0x30
-    1a36:	466a		mov	r2, sp
-    1a38:	7111		strb	r1, [r2, #4]
-    1a3a:	9000		str	r0, [sp, #0]
-    1a3c:	2001		mov	r0, #1
-    1a3e:	9002		str	r0, [sp, #8]
-    1a40:	9800		ldr	r0, [sp, #0]
-    1a42:	a904		add	r1, sp, #16	; 0x10
-    1a44:	aa03		add	r2, sp, #12	; 0xc
-    1a46:	f7ff fd75	bl	0x1534
-    1a4a:	4668		mov	r0, sp
-    1a4c:	8980		ldrh	r0, [r0, #12]	; 0xc
-    1a4e:	2820		cmp	r0, #32	; 0x20
-    1a50:	dd02		ble	0x1a58
-    1a52:	2000		mov	r0, #0
-    1a54:	9002		str	r0, [sp, #8]
-    1a56:	e006		b	0x1a66
-    1a58:	a804		add	r0, sp, #16	; 0x10
-    1a5a:	4669		mov	r1, sp
-    1a5c:	8989		ldrh	r1, [r1, #12]	; 0xc
-    1a5e:	466a		mov	r2, sp
-    1a60:	7912		ldrb	r2, [r2, #4]
-    1a62:	f7ff ff86	bl	0x1972
-    1a66:	9802		ldr	r0, [sp, #8]
-    1a68:	b00c		add	sp, #48	; 0x30
-    1a6a:	bd00		pop	{pc}
-    1a6c:	ff19		<half-bl>
-    1a6e:	0083		lsl	r3, r0, #2
-    1a70:	ff1a		<half-bl>
-    1a72:	0083		lsl	r3, r0, #2
-    1a74:	ff26		<half-bl>
-    1a76:	0083		lsl	r3, r0, #2
-    1a78:	ff24		<half-bl>
-    1a7a:	0083		lsl	r3, r0, #2
-    1a7c:	ff20		<half-bl>
-    1a7e:	0083		lsl	r3, r0, #2
-    1a80:	ff1b		<half-bl>
-    1a82:	0083		lsl	r3, r0, #2
-    1a84:	ff18		<half-bl>
-    1a86:	0083		lsl	r3, r0, #2
-    1a88:	b500		push	{lr}
-    1a8a:	b084		sub	sp, #16	; 0x10
-    1a8c:	9101		str	r1, [sp, #4]
-    1a8e:	9000		str	r0, [sp, #0]
-    1a90:	4669		mov	r1, sp
-    1a92:	20ff		mov	r0, #255	; 0xff
-    1a94:	7308		strb	r0, [r1, #12]	; 0xc
-    1a96:	2000		mov	r0, #0
-    1a98:	9002		str	r0, [sp, #8]
-    1a9a:	4669		mov	r1, sp
-    1a9c:	48a1		ldr	r0, =0xffff5805	; via 0x1d24
-    1a9e:	7800		ldrb	r0, [r0, #0]
-    1aa0:	7348		strb	r0, [r1, #13]	; 0xd
-    1aa2:	48a1		ldr	r0, =0xffff5005	; via 0x1d28
-    1aa4:	7800		ldrb	r0, [r0, #0]
-    1aa6:	7388		strb	r0, [r1, #14]	; 0xe
-    1aa8:	4668		mov	r0, sp
-    1aaa:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1aac:	0840		lsr	r0, r0, #1
-    1aae:	d206		bcs	0x1abe
-    1ab0:	4668		mov	r0, sp
-    1ab2:	7b80		ldrb	r0, [r0, #14]	; 0xe
-    1ab4:	0840		lsr	r0, r0, #1
-    1ab6:	d202		bcs	0x1abe
-    1ab8:	9801		ldr	r0, [sp, #4]
-    1aba:	2800		cmp	r0, #0
-    1abc:	d0ed		beq	0x1a9a
-    1abe:	4668		mov	r0, sp
-    1ac0:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1ac2:	0840		lsr	r0, r0, #1
-    1ac4:	d316		bcc	0x1af4
-    1ac6:	4669		mov	r1, sp
-    1ac8:	2000		mov	r0, #0
-    1aca:	7308		strb	r0, [r1, #12]	; 0xc
-    1acc:	4994		ldr	r1, =0x864	; via 0x1d20
-    1ace:	4668		mov	r0, sp
-    1ad0:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1ad2:	0080		lsl	r0, r0, #2
-    1ad4:	5808		ldr	r0, [r1, r0]
-    1ad6:	7800		ldrb	r0, [r0, #0]
-    1ad8:	0600		lsl	r0, r0, #24
-    1ada:	0e00		lsr	r0, r0, #24
-    1adc:	4669		mov	r1, sp
-    1ade:	73c8		strb	r0, [r1, #15]	; 0xf
-    1ae0:	4668		mov	r0, sp
-    1ae2:	7bc0		ldrb	r0, [r0, #15]	; 0xf
-    1ae4:	9900		ldr	r1, [sp, #0]
-    1ae6:	f7ff fc9f	bl	0x1428
-    1aea:	9002		str	r0, [sp, #8]
-    1aec:	9802		ldr	r0, [sp, #8]
-    1aee:	2800		cmp	r0, #0
-    1af0:	d11c		bne	0x1b2c
-    1af2:	e018		b	0x1b26
-    1af4:	4668		mov	r0, sp
-    1af6:	7b80		ldrb	r0, [r0, #14]	; 0xe
-    1af8:	0840		lsr	r0, r0, #1
-    1afa:	d317		bcc	0x1b2c
-    1afc:	4669		mov	r1, sp
-    1afe:	2001		mov	r0, #1
-    1b00:	7308		strb	r0, [r1, #12]	; 0xc
-    1b02:	4987		ldr	r1, =0x864	; via 0x1d20
-    1b04:	4668		mov	r0, sp
-    1b06:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1b08:	0080		lsl	r0, r0, #2
-    1b0a:	5808		ldr	r0, [r1, r0]
-    1b0c:	7800		ldrb	r0, [r0, #0]
-    1b0e:	0600		lsl	r0, r0, #24
-    1b10:	0e01		lsr	r1, r0, #24
-    1b12:	4668		mov	r0, sp
-    1b14:	73c1		strb	r1, [r0, #15]	; 0xf
-    1b16:	7bc0		ldrb	r0, [r0, #15]	; 0xf
-    1b18:	9900		ldr	r1, [sp, #0]
-    1b1a:	f7ff fc85	bl	0x1428
-    1b1e:	9002		str	r0, [sp, #8]
-    1b20:	9802		ldr	r0, [sp, #8]
-    1b22:	2800		cmp	r0, #0
-    1b24:	d102		bne	0x1b2c
-    1b26:	20ff		mov	r0, #255	; 0xff
-    1b28:	4669		mov	r1, sp
-    1b2a:	7308		strb	r0, [r1, #12]	; 0xc
-    1b2c:	9802		ldr	r0, [sp, #8]
-    1b2e:	2800		cmp	r0, #0
-    1b30:	d102		bne	0x1b38
-    1b32:	9801		ldr	r0, [sp, #4]
-    1b34:	2800		cmp	r0, #0
-    1b36:	d0b0		beq	0x1a9a
-    1b38:	4668		mov	r0, sp
-    1b3a:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1b3c:	b004		add	sp, #16	; 0x10
-    1b3e:	bd00		pop	{pc}
-    1b40:	ff1c		<half-bl>
-    1b42:	0083		lsl	r3, r0, #2
-    1b44:	0830		lsr	r0, r6, #32
-    1b46:	0000		lsl	r0, r0, #0
-    1b48:	084c		lsr	r4, r1, #1
-    1b4a:	0000		lsl	r0, r0, #0
-    1b4c:	b500		push	{lr}
-    1b4e:	b086		sub	sp, #24	; 0x18
-    1b50:	466b		mov	r3, sp
-    1b52:	721a		strb	r2, [r3, #8]
-    1b54:	9101		str	r1, [sp, #4]
-    1b56:	9000		str	r0, [sp, #0]
-    1b58:	2001		mov	r0, #1
-    1b5a:	9004		str	r0, [sp, #16]	; 0x10
-    1b5c:	9804		ldr	r0, [sp, #16]	; 0x10
-    1b5e:	2800		cmp	r0, #0
-    1b60:	d05b		beq	0x1c1a
-    1b62:	496f		ldr	r1, =0x864	; via 0x1d20
-    1b64:	4668		mov	r0, sp
-    1b66:	7a00		ldrb	r0, [r0, #8]
-    1b68:	0080		lsl	r0, r0, #2
-    1b6a:	5808		ldr	r0, [r1, r0]
-    1b6c:	7941		ldrb	r1, [r0, #5]
-    1b6e:	4668		mov	r0, sp
-    1b70:	7301		strb	r1, [r0, #12]	; 0xc
-    1b72:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1b74:	0840		lsr	r0, r0, #1
-    1b76:	d3f4		bcc	0x1b62
-    1b78:	4969		ldr	r1, =0x864	; via 0x1d20
-    1b7a:	4668		mov	r0, sp
-    1b7c:	7a00		ldrb	r0, [r0, #8]
-    1b7e:	0080		lsl	r0, r0, #2
-    1b80:	5808		ldr	r0, [r1, r0]
-    1b82:	7800		ldrb	r0, [r0, #0]
-    1b84:	0600		lsl	r0, r0, #24
-    1b86:	0e01		lsr	r1, r0, #24
-    1b88:	4668		mov	r0, sp
-    1b8a:	7341		strb	r1, [r0, #13]	; 0xd
-    1b8c:	e02c		b	0x1be8
-    1b8e:	4668		mov	r0, sp
-    1b90:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1b92:	a905		add	r1, sp, #20	; 0x14
-    1b94:	9a00		ldr	r2, [sp, #0]
-    1b96:	9b01		ldr	r3, [sp, #4]
-    1b98:	f7ff fd8c	bl	0x16b4
-    1b9c:	9004		str	r0, [sp, #16]	; 0x10
-    1b9e:	e039		b	0x1c14
-    1ba0:	4668		mov	r0, sp
-    1ba2:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1ba4:	a905		add	r1, sp, #20	; 0x14
-    1ba6:	f7ff fdc2	bl	0x172e
-    1baa:	e7f7		b	0x1b9c
-    1bac:	4668		mov	r0, sp
-    1bae:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1bb0:	a905		add	r1, sp, #20	; 0x14
-    1bb2:	f7ff fe12	bl	0x17da
-    1bb6:	e7f1		b	0x1b9c
-    1bb8:	4668		mov	r0, sp
-    1bba:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1bbc:	a905		add	r1, sp, #20	; 0x14
-    1bbe:	f7ff fe34	bl	0x182a
-    1bc2:	e7eb		b	0x1b9c
-    1bc4:	4668		mov	r0, sp
-    1bc6:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1bc8:	f7ff fe5e	bl	0x1888
-    1bcc:	e022		b	0x1c14
-    1bce:	4668		mov	r0, sp
-    1bd0:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1bd2:	a905		add	r1, sp, #20	; 0x14
-    1bd4:	9a00		ldr	r2, [sp, #0]
-    1bd6:	f7ff fe6d	bl	0x18b4
-    1bda:	e7df		b	0x1b9c
-    1bdc:	4668		mov	r0, sp
-    1bde:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1be0:	a905		add	r1, sp, #20	; 0x14
-    1be2:	f7ff feab	bl	0x193c
-    1be6:	e7d9		b	0x1b9c
-    1be8:	4850		ldr	r0, =0x83ff20	; via 0x1d2c
-    1bea:	6800		ldr	r0, [r0, #0]
-    1bec:	2800		cmp	r0, #0
-    1bee:	d0ce		beq	0x1b8e
-    1bf0:	3801		sub	r0, #1
-    1bf2:	2800		cmp	r0, #0
-    1bf4:	d0d4		beq	0x1ba0
-    1bf6:	3801		sub	r0, #1
-    1bf8:	2800		cmp	r0, #0
-    1bfa:	d0d7		beq	0x1bac
-    1bfc:	3801		sub	r0, #1
-    1bfe:	2800		cmp	r0, #0
-    1c00:	d0da		beq	0x1bb8
-    1c02:	3801		sub	r0, #1
-    1c04:	2800		cmp	r0, #0
-    1c06:	d0dd		beq	0x1bc4
-    1c08:	3801		sub	r0, #1
-    1c0a:	2800		cmp	r0, #0
-    1c0c:	d0df		beq	0x1bce
-    1c0e:	3801		sub	r0, #1
-    1c10:	2800		cmp	r0, #0
-    1c12:	d0e3		beq	0x1bdc
-    1c14:	9804		ldr	r0, [sp, #16]	; 0x10
-    1c16:	2800		cmp	r0, #0
-    1c18:	d1a3		bne	0x1b62
-    1c1a:	9805		ldr	r0, [sp, #20]	; 0x14
-    1c1c:	b006		add	sp, #24	; 0x18
-    1c1e:	bd00		pop	{pc}
-    1c20:	4942		ldr	r1, =0x83ff20	; via 0x1d2c
-    1c22:	2001		mov	r0, #1
-    1c24:	6008		str	r0, [r1, #0]
-    1c26:	4842		ldr	r0, =0x83ff1b	; via 0x1d30
-    1c28:	2100		mov	r1, #0
-    1c2a:	7001		strb	r1, [r0, #0]
-    1c2c:	4841		ldr	r0, =0x83ff18	; via 0x1d34
-    1c2e:	7001		strb	r1, [r0, #0]
-    1c30:	4770		bx	lr
-    1c32:	46c0		nop			(mov r8, r8)
-
-    1c34:	0083ff14
-
-; UART initialization routine
-    1c38:	b081		sub	sp, #4
-; MODEM UART
-    1c3a:	483f		ldr	r0, =0xffff5800	; via 0x1d38
-    1c3c:	9000		str	r0, [sp, #0]
-; switch to MCU control
-    1c3e:	493f		ldr	r1, =0xffff6000	; via 0x1d3c
-    1c40:	2002		mov	r0, #2
-    1c42:	880a		ldrh	r2, [r1, #0]
-    1c44:	4310		orr	r0, r2
-    1c46:	8008		strh	r0, [r1, #0]
-    1c48:	483c		ldr	r0, =0xffff6000	; via 0x1d3c
-    1c4a:	8801		ldrh	r1, [r0, #0]
-    1c4c:	0849		lsr	r1, r1, #1
-    1c4e:	0049		lsl	r1, r1, #1
-    1c50:	8001		strh	r1, [r0, #0]
-    1c52:	493a		ldr	r1, =0xffff6000	; via 0x1d3c
-    1c54:	8808		ldrh	r0, [r1, #0]
-    1c56:	2202		mov	r2, #2
-    1c58:	4390		bic	r0, r2
-    1c5a:	8008		strh	r0, [r1, #0]
-; MDR1 = reset/default state
-    1c5c:	9900		ldr	r1, [sp, #0]
-    1c5e:	2007		mov	r0, #7
-    1c60:	7208		strb	r0, [r1, #8]
-; LCR = BF
-    1c62:	9900		ldr	r1, [sp, #0]
-    1c64:	20bf		mov	r0, #191	; 0xbf
-    1c66:	70c8		strb	r0, [r1, #3]
-; set ENHANCED_EN bit in EFR
-    1c68:	9800		ldr	r0, [sp, #0]
-    1c6a:	1c81		add	r1, r0, #2
-    1c6c:	2010		mov	r0, #16	; 0x10
-    1c6e:	880a		ldrh	r2, [r1, #0]
-    1c70:	4310		orr	r0, r2
-    1c72:	8008		strh	r0, [r1, #0]
-; LCR = 80
-    1c74:	9800		ldr	r0, [sp, #0]
-    1c76:	2180		mov	r1, #128	; 0x80
-    1c78:	70c1		strb	r1, [r0, #3]
-; FCR = 07 (enable and clear both FIFOs)
-    1c7a:	9800		ldr	r0, [sp, #0]
-    1c7c:	2107		mov	r1, #7
-    1c7e:	7081		strb	r1, [r0, #2]
-; LCR = BF
-    1c80:	9800		ldr	r0, [sp, #0]
-    1c82:	21bf		mov	r1, #191	; 0xbf
-    1c84:	70c1		strb	r1, [r0, #3]
-; baud rate divisor set to 7 (115200 baud)
-    1c86:	9800		ldr	r0, [sp, #0]
-    1c88:	2107		mov	r1, #7
-    1c8a:	7001		strb	r1, [r0, #0]
-    1c8c:	9800		ldr	r0, [sp, #0]
-    1c8e:	2100		mov	r1, #0
-    1c90:	7041		strb	r1, [r0, #1]
-; LCR = 03 (standard setting)
-    1c92:	9800		ldr	r0, [sp, #0]
-    1c94:	2103		mov	r1, #3
-    1c96:	70c1		strb	r1, [r0, #3]
-; MDR1 = UART mode
-    1c98:	9800		ldr	r0, [sp, #0]
-    1c9a:	2100		mov	r1, #0
-    1c9c:	7201		strb	r1, [r0, #8]
-; IrDA UART - same setup as for MODEM
-    1c9e:	4828		ldr	r0, =0xffff5000	; via 0x1d40
-    1ca0:	9000		str	r0, [sp, #0]
-    1ca2:	9800		ldr	r0, [sp, #0]
-    1ca4:	2107		mov	r1, #7
-    1ca6:	7201		strb	r1, [r0, #8]
-    1ca8:	9900		ldr	r1, [sp, #0]
-    1caa:	20bf		mov	r0, #191	; 0xbf
-    1cac:	70c8		strb	r0, [r1, #3]
-    1cae:	9800		ldr	r0, [sp, #0]
-    1cb0:	1c80		add	r0, r0, #2
-    1cb2:	2110		mov	r1, #16	; 0x10
-    1cb4:	8802		ldrh	r2, [r0, #0]
-    1cb6:	4311		orr	r1, r2
-    1cb8:	8001		strh	r1, [r0, #0]
-    1cba:	9800		ldr	r0, [sp, #0]
-    1cbc:	2180		mov	r1, #128	; 0x80
-    1cbe:	70c1		strb	r1, [r0, #3]
-    1cc0:	9800		ldr	r0, [sp, #0]
-    1cc2:	2107		mov	r1, #7
-    1cc4:	7081		strb	r1, [r0, #2]
-    1cc6:	9800		ldr	r0, [sp, #0]
-    1cc8:	21bf		mov	r1, #191	; 0xbf
-    1cca:	70c1		strb	r1, [r0, #3]
-    1ccc:	9800		ldr	r0, [sp, #0]
-    1cce:	2107		mov	r1, #7
-    1cd0:	7001		strb	r1, [r0, #0]
-    1cd2:	9800		ldr	r0, [sp, #0]
-    1cd4:	2100		mov	r1, #0
-    1cd6:	7041		strb	r1, [r0, #1]
-    1cd8:	9900		ldr	r1, [sp, #0]
-    1cda:	2003		mov	r0, #3
-    1cdc:	70c8		strb	r0, [r1, #3]
-    1cde:	9800		ldr	r0, [sp, #0]
-    1ce0:	2100		mov	r1, #0
-    1ce2:	7201		strb	r1, [r0, #8]
-    1ce4:	b001		add	sp, #4
-    1ce6:	4770		bx	lr
-
-    1ce8:	b081		sub	sp, #4
-    1cea:	4669		mov	r1, sp
-    1cec:	7008		strb	r0, [r1, #0]
-    1cee:	490c		ldr	r1, =0x864	; via 0x1d20
-    1cf0:	4668		mov	r0, sp
-    1cf2:	7800		ldrb	r0, [r0, #0]
-    1cf4:	0080		lsl	r0, r0, #2
-    1cf6:	5808		ldr	r0, [r1, r0]
-    1cf8:	7941		ldrb	r1, [r0, #5]
-    1cfa:	4668		mov	r0, sp
-    1cfc:	7041		strb	r1, [r0, #1]
-    1cfe:	7840		ldrb	r0, [r0, #1]
-    1d00:	09c0		lsr	r0, r0, #7
-    1d02:	d20b		bcs	0x1d1c
-    1d04:	4806		ldr	r0, =0x864	; via 0x1d20
-    1d06:	4669		mov	r1, sp
-    1d08:	7809		ldrb	r1, [r1, #0]
-    1d0a:	0089		lsl	r1, r1, #2
-    1d0c:	5840		ldr	r0, [r0, r1]
-    1d0e:	7940		ldrb	r0, [r0, #5]
-    1d10:	4669		mov	r1, sp
-    1d12:	7048		strb	r0, [r1, #1]
-    1d14:	4668		mov	r0, sp
-    1d16:	7840		ldrb	r0, [r0, #1]
-    1d18:	09c0		lsr	r0, r0, #7
-    1d1a:	d3f3		bcc	0x1d04
-    1d1c:	b001		add	sp, #4
-    1d1e:	4770		bx	lr
-    1d20:	0864		lsr	r4, r4, #1
-    1d22:	0000		lsl	r0, r0, #0
-    1d24:	5805		ldr	r5, [r0, r0]
-    1d26:	ffff		<half-bl>
-    1d28:	5005		str	r5, [r0, r0]
-    1d2a:	ffff		<half-bl>
-    1d2c:	ff20		<half-bl>
-    1d2e:	0083		lsl	r3, r0, #2
-    1d30:	ff1b		<half-bl>
-    1d32:	0083		lsl	r3, r0, #2
-    1d34:	ff18		<half-bl>
-    1d36:	0083		lsl	r3, r0, #2
-    1d38:	5800		ldr	r0, [r0, r0]
-    1d3a:	ffff		<half-bl>
-    1d3c:	6000		str	r0, [r0, #0]
-    1d3e:	ffff		<half-bl>
-    1d40:	5000		str	r0, [r0, r0]
-    1d42:	ffff		<half-bl>
-    1d44:	b500		push	{lr}
-    1d46:	b087		sub	sp, #28	; 0x1c
-    1d48:	466b		mov	r3, sp
-    1d4a:	721a		strb	r2, [r3, #8]
-    1d4c:	9101		str	r1, [sp, #4]
-    1d4e:	9000		str	r0, [sp, #0]
-    1d50:	9900		ldr	r1, [sp, #0]
-    1d52:	2000		mov	r0, #0
-    1d54:	8008		strh	r0, [r1, #0]
-    1d56:	9801		ldr	r0, [sp, #4]
-    1d58:	2100		mov	r1, #0
-    1d5a:	8001		strh	r1, [r0, #0]
-    1d5c:	2000		mov	r0, #0
-    1d5e:	9003		str	r0, [sp, #12]	; 0xc
-    1d60:	f7ff ff5e	bl	0x1c20
-    1d64:	a805		add	r0, sp, #20	; 0x14
-    1d66:	a906		add	r1, sp, #24	; 0x18
-    1d68:	466a		mov	r2, sp
-    1d6a:	7a12		ldrb	r2, [r2, #8]
-    1d6c:	f7ff feee	bl	0x1b4c
-    1d70:	9004		str	r0, [sp, #16]	; 0x10
-    1d72:	9804		ldr	r0, [sp, #16]	; 0x10
-    1d74:	2800		cmp	r0, #0
-    1d76:	d11f		bne	0x1db8
-    1d78:	9803		ldr	r0, [sp, #12]	; 0xc
-    1d7a:	2800		cmp	r0, #0
-    1d7c:	d11c		bne	0x1db8
-    1d7e:	9800		ldr	r0, [sp, #0]
-    1d80:	4669		mov	r1, sp
-    1d82:	8b0a		ldrh	r2, [r1, #24]	; 0x18
-    1d84:	8801		ldrh	r1, [r0, #0]
-    1d86:	1851		add	r1, r2, r1
-    1d88:	8001		strh	r1, [r0, #0]
-    1d8a:	9905		ldr	r1, [sp, #20]	; 0x14
-    1d8c:	4668		mov	r0, sp
-    1d8e:	8b00		ldrh	r0, [r0, #24]	; 0x18
-    1d90:	8008		strh	r0, [r1, #0]
-    1d92:	9801		ldr	r0, [sp, #4]
-    1d94:	9905		ldr	r1, [sp, #20]	; 0x14
-    1d96:	8809		ldrh	r1, [r1, #0]
-    1d98:	8802		ldrh	r2, [r0, #0]
-    1d9a:	1889		add	r1, r1, r2
-    1d9c:	8001		strh	r1, [r0, #0]
-    1d9e:	a805		add	r0, sp, #20	; 0x14
-    1da0:	a906		add	r1, sp, #24	; 0x18
-    1da2:	466a		mov	r2, sp
-    1da4:	7a12		ldrb	r2, [r2, #8]
-    1da6:	f7ff fed1	bl	0x1b4c
-    1daa:	9004		str	r0, [sp, #16]	; 0x10
-    1dac:	9804		ldr	r0, [sp, #16]	; 0x10
-    1dae:	2800		cmp	r0, #0
-    1db0:	d102		bne	0x1db8
-    1db2:	9803		ldr	r0, [sp, #12]	; 0xc
-    1db4:	2800		cmp	r0, #0
-    1db6:	d0e2		beq	0x1d7e
-    1db8:	9804		ldr	r0, [sp, #16]	; 0x10
-    1dba:	2801		cmp	r0, #1
-    1dbc:	d101		bne	0x1dc2
-    1dbe:	2004		mov	r0, #4
-    1dc0:	9003		str	r0, [sp, #12]	; 0xc
-    1dc2:	9803		ldr	r0, [sp, #12]	; 0xc
-    1dc4:	b007		add	sp, #28	; 0x1c
-    1dc6:	bd00		pop	{pc}
-    1dc8:	b089		sub	sp, #36	; 0x24
-    1dca:	201a		mov	r0, #26	; 0x1a
-    1dcc:	9005		str	r0, [sp, #20]	; 0x14
-    1dce:	2018		mov	r0, #24	; 0x18
-    1dd0:	9006		str	r0, [sp, #24]	; 0x18
-    1dd2:	2000		mov	r0, #0
-    1dd4:	9008		str	r0, [sp, #32]	; 0x20
-    1dd6:	4669		mov	r1, sp
-    1dd8:	9805		ldr	r0, [sp, #20]	; 0x14
-    1dda:	8800		ldrh	r0, [r0, #0]
-    1ddc:	8008		strh	r0, [r1, #0]
-    1dde:	9806		ldr	r0, [sp, #24]	; 0x18
-    1de0:	8800		ldrh	r0, [r0, #0]
-    1de2:	8048		strh	r0, [r1, #2]
-    1de4:	4668		mov	r0, sp
-    1de6:	8841		ldrh	r1, [r0, #2]
-    1de8:	8800		ldrh	r0, [r0, #0]
-    1dea:	0400		lsl	r0, r0, #16
-    1dec:	1808		add	r0, r1, r0
-    1dee:	9001		str	r0, [sp, #4]
-    1df0:	9801		ldr	r0, [sp, #4]
-    1df2:	0200		lsl	r0, r0, #8
-    1df4:	0a00		lsr	r0, r0, #8
-    1df6:	0080		lsl	r0, r0, #2
-    1df8:	3008		add	r0, #8
-    1dfa:	9007		str	r0, [sp, #28]	; 0x1c
-    1dfc:	9807		ldr	r0, [sp, #28]	; 0x1c
-    1dfe:	3018		add	r0, #24	; 0x18
-    1e00:	9002		str	r0, [sp, #8]
-    1e02:	9802		ldr	r0, [sp, #8]
-    1e04:	9004		str	r0, [sp, #16]	; 0x10
-    1e06:	9802		ldr	r0, [sp, #8]
-    1e08:	3002		add	r0, #2
-    1e0a:	9003		str	r0, [sp, #12]	; 0xc
-    1e0c:	9803		ldr	r0, [sp, #12]	; 0xc
-    1e0e:	8801		ldrh	r1, [r0, #0]
-    1e10:	4806		ldr	r0, =0xffff	; via 0x1e2c
-    1e12:	4281		cmp	r1, r0
-    1e14:	d104		bne	0x1e20
-    1e16:	9804		ldr	r0, [sp, #16]	; 0x10
-    1e18:	8800		ldrh	r0, [r0, #0]
-    1e1a:	4904		ldr	r1, =0xffff	; via 0x1e2c
-    1e1c:	4288		cmp	r0, r1
-    1e1e:	d001		beq	0x1e24
-    1e20:	2001		mov	r0, #1
-    1e22:	9008		str	r0, [sp, #32]	; 0x20
-    1e24:	9808		ldr	r0, [sp, #32]	; 0x20
-    1e26:	b009		add	sp, #36	; 0x24
-    1e28:	4770		bx	lr
-    1e2a:	46c0		nop			(mov r8, r8)
-
-    1e2c:	0000ffff
-
-; ARM->Thumb call veneer around 0xad2 routine
-    1e30:	e92d4000 	stmdb	sp!, {lr}
-    1e34:	e28fe001 	add	lr, pc, #1	; 0x1
-    1e38:	e12fff1e 	bx	lr
-    1e3c:	f7fe fe49	bl	0xad2
-    1e40:	4778      	bx	pc
-    1e42:	46c0      	nop			(mov r8, r8)
-    1e44:	e8bd8000 	ldmia	sp!, {pc}
-
-<1E48-1EFF: all FFs>
-
-    1f00:	00000001
-
-<1F04-end: all FFs>
--- a/compal/c139-boot.notes	Sat Jan 14 06:09:25 2023 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-Download protocol, attempted first at 406250 baud, then 115200, only on the
-MODEM UART:
-
-The boot code begins by transmitting 1B F6 02 00 41 01 40, then calls the
-Rx-with-timeout function 7 times, expecting this seq: 1B F6 02 00 52 01 53.
-Getting anything else or timeout causes the 0xbac function to return,
-ending that download attempt.  If this seq was received, the boot code then
-sends 1B F6 02 00 41 02 43 and expects to receive 3 bytes as follows:
-
-* one dummy byte (stored into an automatic var, but then not used)
-* payload length MSB
-* payload length LSB
-
-The boot code then expects to receive the specified # of bytes [0,65535]
-and stores them beginning at 0x800100.  Then the Rx-with-timeout function
-is called again to receive the XOR checksum byte, not counted in the length.
-If the checksum fails to match, 0xbac function sends 1B F6 02 00 45 53 16
-and returns.  If this check passes, the "1003" check is performed next:
-the 4 bytes starting at 0x803ce0 must match.  If the downloaded image was
-shorter, the comparison will be made against pre-powerup IRAM content,
-i.e., law of chance.  Furthermore, the comparison is actually an inequality:
-each "signature" byte in the downloaded image needs to be >= (in the signed
-sense) than the "1003" reference.  (0x7F7F7F7F thus ought to be a passing
-value.)
-
-If this last check passes, the 0xbac function jumps to the downloaded image
-instead of returning.  Control is transferred to 0x800100 in the ARM state.
-If the "1003" check fails, 0xbac function sends 1B F6 02 00 41 03 57
-and returns.
-
-If the boot process is not diverted to a successful serial download as above,
-the boot code does one strange thing before it jumps to 0x20f8 (main app entry
-point).  The boot code unconditionally transmits "ftmtool" on the MODEM UART
-and waits a certain time for a "yes" response.  If it receives that "yes",
-it responds with "modemerror", otherwise just "error".  Either way, it then
-proceed to jump to the main app entry point at 0x20f8!  There is also a bunch
-of "dead" code in the 8 KiB "boot block", code which does not seem to be
-reachable from any path.  There is no check for whether or not the "main app"
-is present; if the flash contains the 8 KiB "boot block" followed by blank
-space, the boot code will happily jumps to those FFs - but it will still
-provide an opportunity for serial download as usual, so no real problem.
-
-IRAM variables used by the boot code:
-
-83FF00	holds UART base addr, set to FFFF5800 (MODEM)
-83FF08	32-bit var init to 0
-83FF10	32-bit var init to 0
-83FF80	byte var init to 0 at the beginning of ftmtool function (0xdbe),
-	set to 1 if "yes" received in response to "ftmtool"
Binary file compal/c139-boot1004.bin has changed
Binary file compal/c139-tfboot.bin has changed
--- a/compal/c139-tfboot.disasm	Sat Jan 14 06:09:25 2023 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2683 +0,0 @@
-Disassembly of TF's locked C139 bootloader
-same as the classic C139 version up to 0x958
-
-RESET entry and exception vectors:
-       0:	ea000225 	b	0x89c
-       4:	ea000825 	b	0x20a0
-       8:	ea000825 	b	0x20a4
-       c:	ea000825 	b	0x20a8
-      10:	ea000825 	b	0x20ac
-      14:	ea000825 	b	0x20b0
-      18:	ea000825 	b	0x20b4
-      1c:	ea000825 	b	0x20b8
-
-; ID words or whatever
-      20:	449e10f0
-      24:	449e10f1
-      28:	449e1120
-      2c:	449e1121
-
-<30-7FF: all FFs>
-
-00000800:  42 4F 4F 54 2E 39 30 2E  30 34 00 00 00 00 00 00  BOOT.90.04......
-00000810:  31 30 30 33 01 01 00 00  FF FF FF FF FF FF FF FF  1003............
-00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................
-
-     830:	00000006
-	...
-     83c:	00000048
-     840:	00000044
-     844:	00000052
-     848:	0000001b
-     84c:	00000005
-	...
-     860:	000000fa
-     864:	ffff5800
-     868:	ffff5000
-     86c:	fffffb00
-     870:	02a1
-     872:	02a1
-     874:	02a1
-     876:	0283
-     878:	0281
-     87a:	00c0
-     87c:	0040
-     87e:	002a
-     880:	00000040
-     884:	fffffd00
-     888:	ffff9800
-     88c:	fffffb10
-     890:	ffffff08
-     894:	1081
-     896:	2006
-     898:	0800
-     89a:	0000
-
-; RESET entry point, same as classic C139 version
-     89c:	e51f1020	ldr	r1, =0xfffffd00	; via 0x884
-     8a0:	e1d120b2	ldrh	r2, [r1, #2]
-     8a4:	e51f002c	ldr	r0, =0x40	; via 0x880
-     8a8:	e1800002	orr	r0, r0, r2
-     8ac:	e1c100b2	strh	r0, [r1, #2]
-     8b0:	e51f1030	ldr	r1, =0xffff9800	; via 0x888
-     8b4:	e15f22b6	ldrh	r2, =0x2006	; via 0x896
-     8b8:	e1c120b0	strh	r2, [r1]
-     8bc:	e5912000	ldr	r2, [r1]
-     8c0:	e2022001	and	r2, r2, #1
-     8c4:	e3520001	cmp	r2, #1
-     8c8:	0afffffb	beq	0x8bc
-     8cc:	e51f1050	ldr	r1, =0xfffffd00	; via 0x884
-     8d0:	e15f24b4	ldrh	r2, =0x1081	; via 0x894
-     8d4:	e1c120b0	strh	r2, [r1]
-     8d8:	e51f1054	ldr	r1, =0xfffffb10	; via 0x88c
-     8dc:	e15f24bc	ldrh	r2, =0x800	; via 0x898
-     8e0:	e1d100b0	ldrh	r0, [r1]
-     8e4:	e1800002	orr	r0, r0, r2
-     8e8:	e1c100b0	strh	r0, [r1]
-     8ec:	e51f1064	ldr	r1, =0xffffff08	; via 0x890
-     8f0:	e15f25be	ldrh	r2, =0x0	; via 0x89a
-     8f4:	e1c120b0	strh	r2, [r1]
-     8f8:	e51f1094	ldr	r1, =0xfffffb00	; via 0x86c
-     8fc:	e15f29b4	ldrh	r2, =0x2a1	; via 0x870
-     900:	e1c120b0	strh	r2, [r1]
-     904:	e15f29ba	ldrh	r2, =0x2a1	; via 0x872
-     908:	e1c120b2	strh	r2, [r1, #2]
-     90c:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x874
-     910:	e1c120b4	strh	r2, [r1, #4]
-     914:	e15f2ab6	ldrh	r2, =0x283	; via 0x876
-     918:	e1c120b6	strh	r2, [r1, #6]
-     91c:	e15f2abc	ldrh	r2, =0x281	; via 0x878
-     920:	e1c120ba	strh	r2, [r1, #10]	; 0xa
-     924:	e15f2bb2	ldrh	r2, =0xc0	; via 0x87a
-     928:	e1c120bc	strh	r2, [r1, #12]	; 0xc
-     92c:	e15f2bb8	ldrh	r2, =0x40	; via 0x87c
-     930:	e1c120b8	strh	r2, [r1, #8]
-     934:	e15f2bbe	ldrh	r2, =0x2a	; via 0x87e
-     938:	e1c120be	strh	r2, [r1, #14]	; 0xe
-     93c:	e59f0020	ldr	r0, =0x837770	; via 0x964
-     940:	e3a01b01	mov	r1, #1024	; 0x400
-     944:	e2411004	sub	r1, r1, #4
-     948:	e0802001	add	r2, r0, r1
-     94c:	e3c22003	bic	r2, r2, #3
-     950:	e1a0d002	mov	sp, r2
-; business logic
-     954:	e92d100f	stmdb	sp!, {r0, r1, r2, r3, r12}
-     958:	eb00053a	bl	0x1e48
-     95c:	e8bd100f	ldmia	sp!, {r0, r1, r2, r3, r12}
-     960:	ea0005e4	b	0x20f8
-
-     964:	00837770
-
-     968:	4961		ldr	r1, =0xfffffa08	; via 0xaf0
-     96a:	4862		ldr	r0, =0xffff	; via 0xaf4
-     96c:	8008		strh	r0, [r1, #0]
-     96e:	4862		ldr	r0, =0xfffffa0a	; via 0xaf8
-     970:	211f		mov	r1, #31	; 0x1f
-     972:	8001		strh	r1, [r0, #0]
-     974:	4861		ldr	r0, =0xfffff804	; via 0xafc
-     976:	21f5		mov	r1, #245	; 0xf5
-     978:	8001		strh	r1, [r0, #0]
-     97a:	21a0		mov	r1, #160	; 0xa0
-     97c:	8001		strh	r1, [r0, #0]
-     97e:	4860		ldr	r0, =0xffff9800	; via 0xb00
-     980:	4960		ldr	r1, =0x2002	; via 0xb04
-     982:	8001		strh	r1, [r0, #0]
-     984:	485e		ldr	r0, =0xffff9800	; via 0xb00
-     986:	8800		ldrh	r0, [r0, #0]
-     988:	0840		lsr	r0, r0, #1
-     98a:	d2fb		bcs	0x984
-     98c:	495e		ldr	r1, =0xfffffd00	; via 0xb08
-     98e:	485f		ldr	r0, =0x1001	; via 0xb0c
-     990:	8008		strh	r0, [r1, #0]
-     992:	46f7		mov	pc, lr
-
-     994:	b500		push	{lr}
-     996:	b0ff		sub	sp, #508	; 0x1fc
-     998:	b0ca		sub	sp, #296	; 0x128
-     99a:	2000		mov	r0, #0
-     99c:	9001		str	r0, [sp, #4]
-     99e:	9801		ldr	r0, [sp, #4]
-     9a0:	2800		cmp	r0, #0
-     9a2:	d14e		bne	0xa42
-     9a4:	a846		add	r0, sp, #280	; 0x118
-     9a6:	2100		mov	r1, #0
-     9a8:	f001 f87a	bl	0x1aa0
-     9ac:	a9c8		add	r1, sp, #800	; 0x320
-     9ae:	7008		strb	r0, [r1, #0]
-     9b0:	a846		add	r0, sp, #280	; 0x118
-     9b2:	a902		add	r1, sp, #8
-     9b4:	f000 fb38	bl	0x1028
-     9b8:	9000		str	r0, [sp, #0]
-     9ba:	9800		ldr	r0, [sp, #0]
-     9bc:	2800		cmp	r0, #0
-     9be:	d01b		beq	0x9f8
-     9c0:	a924		add	r1, sp, #144	; 0x90
-     9c2:	4668		mov	r0, sp
-     9c4:	7a00		ldrb	r0, [r0, #8]
-     9c6:	7008		strb	r0, [r1, #0]
-     9c8:	2191		mov	r1, #145	; 0x91
-     9ca:	466a		mov	r2, sp
-     9cc:	4668		mov	r0, sp
-     9ce:	7800		ldrb	r0, [r0, #0]
-     9d0:	5488		strb	r0, [r1, r2]
-     9d2:	e01b		b	0xa0c
-     9d4:	a802		add	r0, sp, #8
-     9d6:	a924		add	r1, sp, #144	; 0x90
-     9d8:	f000 fe14	bl	0x1604
-     9dc:	e016		b	0xa0c
-     9de:	a802		add	r0, sp, #8
-     9e0:	a924		add	r1, sp, #144	; 0x90
-     9e2:	aac8		add	r2, sp, #800	; 0x320
-     9e4:	7812		ldrb	r2, [r2, #0]
-     9e6:	f000 fe21	bl	0x162c
-     9ea:	e00f		b	0xa0c
-     9ec:	a802		add	r0, sp, #8
-     9ee:	a924		add	r1, sp, #144	; 0x90
-     9f0:	f000 fe53	bl	0x169a
-     9f4:	90c7		str	r0, [sp, #796]	; 0x31c
-     9f6:	e009		b	0xa0c
-     9f8:	4668		mov	r0, sp
-     9fa:	7a00		ldrb	r0, [r0, #8]
-     9fc:	2800		cmp	r0, #0
-     9fe:	d0e9		beq	0x9d4
-     a00:	3809		sub	r0, #9
-     a02:	2800		cmp	r0, #0
-     a04:	d0eb		beq	0x9de
-     a06:	3801		sub	r0, #1
-     a08:	2800		cmp	r0, #0
-     a0a:	d0ef		beq	0x9ec
-     a0c:	a824		add	r0, sp, #144	; 0x90
-     a0e:	a986		add	r1, sp, #536	; 0x218
-     a10:	f000 fbed	bl	0x11ee
-     a14:	2800		cmp	r0, #0
-     a16:	d111		bne	0xa3c
-     a18:	a886		add	r0, sp, #536	; 0x218
-     a1a:	a9c8		add	r1, sp, #800	; 0x320
-     a1c:	7809		ldrb	r1, [r1, #0]
-     a1e:	f001 f814	bl	0x1a4a
-     a22:	2800		cmp	r0, #0
-     a24:	d00a		beq	0xa3c
-     a26:	4668		mov	r0, sp
-     a28:	7a00		ldrb	r0, [r0, #8]
-     a2a:	280a		cmp	r0, #10	; 0xa
-     a2c:	d106		bne	0xa3c
-     a2e:	a8c8		add	r0, sp, #800	; 0x320
-     a30:	7800		ldrb	r0, [r0, #0]
-     a32:	f001 f965	bl	0x1d00
-     a36:	98c7		ldr	r0, [sp, #796]	; 0x31c
-     a38:	f000 faf4	bl	0x1024
-     a3c:	9801		ldr	r0, [sp, #4]
-     a3e:	2800		cmp	r0, #0
-     a40:	d0b0		beq	0x9a4
-     a42:	b07f		add	sp, #508	; 0x1fc
-     a44:	b04a		add	sp, #296	; 0x128
-     a46:	bd00		pop	{pc}
-
-     a48:	b500		push	{lr}
-     a4a:	b0ff		sub	sp, #508	; 0x1fc
-     a4c:	b0c8		sub	sp, #288	; 0x120
-     a4e:	2000		mov	r0, #0
-     a50:	9000		str	r0, [sp, #0]
-     a52:	a846		add	r0, sp, #280	; 0x118
-     a54:	2101		mov	r1, #1
-     a56:	f001 f823	bl	0x1aa0
-     a5a:	a9c6		add	r1, sp, #792	; 0x318
-     a5c:	7008		strb	r0, [r1, #0]
-     a5e:	a8c6		add	r0, sp, #792	; 0x318
-     a60:	7800		ldrb	r0, [r0, #0]
-     a62:	28ff		cmp	r0, #255	; 0xff
-     a64:	d031		beq	0xaca
-     a66:	a846		add	r0, sp, #280	; 0x118
-     a68:	a902		add	r1, sp, #8
-     a6a:	f000 fadd	bl	0x1028
-     a6e:	9001		str	r0, [sp, #4]
-     a70:	9801		ldr	r0, [sp, #4]
-     a72:	2800		cmp	r0, #0
-     a74:	d014		beq	0xaa0
-     a76:	a924		add	r1, sp, #144	; 0x90
-     a78:	4668		mov	r0, sp
-     a7a:	7a00		ldrb	r0, [r0, #8]
-     a7c:	7008		strb	r0, [r1, #0]
-     a7e:	2291		mov	r2, #145	; 0x91
-     a80:	4668		mov	r0, sp
-     a82:	4669		mov	r1, sp
-     a84:	7909		ldrb	r1, [r1, #4]
-     a86:	5411		strb	r1, [r2, r0]
-     a88:	a824		add	r0, sp, #144	; 0x90
-     a8a:	a986		add	r1, sp, #536	; 0x218
-     a8c:	f000 fbaf	bl	0x11ee
-     a90:	2800		cmp	r0, #0
-     a92:	d11a		bne	0xaca
-     a94:	a886		add	r0, sp, #536	; 0x218
-     a96:	a9c6		add	r1, sp, #792	; 0x318
-     a98:	7809		ldrb	r1, [r1, #0]
-     a9a:	f000 ffd6	bl	0x1a4a
-     a9e:	e014		b	0xaca
-     aa0:	4668		mov	r0, sp
-     aa2:	7a00		ldrb	r0, [r0, #8]
-     aa4:	2800		cmp	r0, #0
-     aa6:	d110		bne	0xaca
-     aa8:	a802		add	r0, sp, #8
-     aaa:	a924		add	r1, sp, #144	; 0x90
-     aac:	f000 fdaa	bl	0x1604
-     ab0:	a824		add	r0, sp, #144	; 0x90
-     ab2:	a986		add	r1, sp, #536	; 0x218
-     ab4:	f000 fb9b	bl	0x11ee
-     ab8:	2800		cmp	r0, #0
-     aba:	d104		bne	0xac6
-     abc:	a886		add	r0, sp, #536	; 0x218
-     abe:	a9c6		add	r1, sp, #792	; 0x318
-     ac0:	7809		ldrb	r1, [r1, #0]
-     ac2:	f000 ffc2	bl	0x1a4a
-     ac6:	2001		mov	r0, #1
-     ac8:	9000		str	r0, [sp, #0]
-     aca:	9800		ldr	r0, [sp, #0]
-     acc:	b07f		add	sp, #508	; 0x1fc
-     ace:	b048		add	sp, #288	; 0x120
-     ad0:	bd00		pop	{pc}
-
-     ad2:	b500		push	{lr}
-     ad4:	b082		sub	sp, #8
-     ad6:	f7ff ff47	bl	0x968
-     ada:	f001 f8b9	bl	0x1c50
-     ade:	f000 fd7f	bl	0x15e0
-     ae2:	f000 f81f	bl	0xb24
-     ae6:	f000 f972	bl	0xdce
-     aea:	b002		add	sp, #8
-     aec:	bd00		pop	{pc}
-     aee:	46c0		nop			(mov r8, r8)
-
-     af0:	fffffa08
-     af4:	0000ffff
-     af8:	fffffa0a
-     afc:	fffff804
-     b00:	ffff9800
-     b04:	00002002
-     b08:	fffffd00
-     b0c:	00001001
-
-     b10:	e3a0d502	mov	sp, #8388608	; 0x800000
-     b14:	e28dd802	add	sp, sp, #131072	; 0x20000
-     b18:	e28fe005	add	lr, pc, #5
-     b1c:	e12fff1e	bx	lr
-     b20:	e1a00000	mov	r0, r0
-
-     b24:	b500		push	{lr}
-     b26:	b082		sub	sp, #8
-     b28:	49f1		ldr	r1, =0x83ff00	; via 0xef0
-     b2a:	48f2		ldr	r0, =0xffff5800	; via 0xef4
-     b2c:	6008		str	r0, [r1, #0]
-     b2e:	2000		mov	r0, #0
-     b30:	2102		mov	r1, #2
-     b32:	f000 fa07	bl	0xf44
-     b36:	2000		mov	r0, #0
-     b38:	9000		str	r0, [sp, #0]
-     b3a:	9900		ldr	r1, [sp, #0]
-     b3c:	2005		mov	r0, #5
-     b3e:	0300		lsl	r0, r0, #12
-     b40:	4281		cmp	r1, r0
-     b42:	d207		bcs	0xb54
-     b44:	9800		ldr	r0, [sp, #0]
-     b46:	3001		add	r0, #1
-     b48:	9000		str	r0, [sp, #0]
-     b4a:	9900		ldr	r1, [sp, #0]
-     b4c:	2005		mov	r0, #5
-     b4e:	0300		lsl	r0, r0, #12
-     b50:	4281		cmp	r1, r0
-     b52:	d3f7		bcc	0xb44
-     b54:	f000 f82a	bl	0xbac
-     b58:	2000		mov	r0, #0
-     b5a:	2107		mov	r1, #7
-     b5c:	f000 f9f2	bl	0xf44
-     b60:	2000		mov	r0, #0
-     b62:	9000		str	r0, [sp, #0]
-     b64:	9900		ldr	r1, [sp, #0]
-     b66:	2005		mov	r0, #5
-     b68:	0300		lsl	r0, r0, #12
-     b6a:	4281		cmp	r1, r0
-     b6c:	d207		bcs	0xb7e
-     b6e:	9800		ldr	r0, [sp, #0]
-     b70:	3001		add	r0, #1
-     b72:	9000		str	r0, [sp, #0]
-     b74:	9900		ldr	r1, [sp, #0]
-     b76:	2005		mov	r0, #5
-     b78:	0300		lsl	r0, r0, #12
-     b7a:	4281		cmp	r1, r0
-     b7c:	d3f7		bcc	0xb6e
-     b7e:	f000 f815	bl	0xbac
-     b82:	2000		mov	r0, #0
-     b84:	9001		str	r0, [sp, #4]
-     b86:	9000		str	r0, [sp, #0]
-     b88:	9900		ldr	r1, [sp, #0]
-     b8a:	2005		mov	r0, #5
-     b8c:	0400		lsl	r0, r0, #16
-     b8e:	4281		cmp	r1, r0
-     b90:	d20a		bcs	0xba8
-     b92:	9801		ldr	r0, [sp, #4]
-     b94:	3001		add	r0, #1
-     b96:	9001		str	r0, [sp, #4]
-     b98:	9800		ldr	r0, [sp, #0]
-     b9a:	3001		add	r0, #1
-     b9c:	9000		str	r0, [sp, #0]
-     b9e:	9900		ldr	r1, [sp, #0]
-     ba0:	2005		mov	r0, #5
-     ba2:	0400		lsl	r0, r0, #16
-     ba4:	4281		cmp	r1, r0
-     ba6:	d3f4		bcc	0xb92
-     ba8:	b002		add	sp, #8
-     baa:	bd00		pop	{pc}
-
-     bac:	b500		push	{lr}
-     bae:	b089		sub	sp, #36	; 0x24
-     bb0:	48e1		ldr	r0, =0x800100	; via 0xf38
-     bb2:	9005		str	r0, [sp, #20]	; 0x14
-     bb4:	48e1		ldr	r0, =0x2060	; via 0xf3c
-     bb6:	9008		str	r0, [sp, #32]	; 0x20
-     bb8:	9808		ldr	r0, [sp, #32]	; 0x20
-     bba:	6801		ldr	r1, [r0, #0]
-     bbc:	48e0		ldr	r0, =0xdddddddd	; via 0xf40
-     bbe:	4281		cmp	r1, r0
-     bc0:	d000		beq	0xbc4
-     bc2:	e102		b	0xdca
-     bc4:	201b		mov	r0, #27	; 0x1b
-     bc6:	f000 f95f	bl	0xe88
-     bca:	20f6		mov	r0, #246	; 0xf6
-     bcc:	f000 f95c	bl	0xe88
-     bd0:	2002		mov	r0, #2
-     bd2:	f000 f959	bl	0xe88
-     bd6:	2000		mov	r0, #0
-     bd8:	f000 f956	bl	0xe88
-     bdc:	2041		mov	r0, #65	; 0x41
-     bde:	f000 f953	bl	0xe88
-     be2:	2001		mov	r0, #1
-     be4:	f000 f950	bl	0xe88
-     be8:	2040		mov	r0, #64	; 0x40
-     bea:	f000 f94d	bl	0xe88
-     bee:	2001		mov	r0, #1
-     bf0:	0300		lsl	r0, r0, #12
-     bf2:	f000 f961	bl	0xeb8
-     bf6:	281b		cmp	r0, #27	; 0x1b
-     bf8:	d000		beq	0xbfc
-     bfa:	e0e6		b	0xdca
-     bfc:	2001		mov	r0, #1
-     bfe:	0300		lsl	r0, r0, #12
-     c00:	f000 f95a	bl	0xeb8
-     c04:	28f6		cmp	r0, #246	; 0xf6
-     c06:	d000		beq	0xc0a
-     c08:	e0df		b	0xdca
-     c0a:	2001		mov	r0, #1
-     c0c:	0300		lsl	r0, r0, #12
-     c0e:	f000 f953	bl	0xeb8
-     c12:	2802		cmp	r0, #2
-     c14:	d000		beq	0xc18
-     c16:	e0d8		b	0xdca
-     c18:	2001		mov	r0, #1
-     c1a:	0300		lsl	r0, r0, #12
-     c1c:	f000 f94c	bl	0xeb8
-     c20:	2800		cmp	r0, #0
-     c22:	d000		beq	0xc26
-     c24:	e0d1		b	0xdca
-     c26:	2001		mov	r0, #1
-     c28:	0300		lsl	r0, r0, #12
-     c2a:	f000 f945	bl	0xeb8
-     c2e:	2852		cmp	r0, #82	; 0x52
-     c30:	d000		beq	0xc34
-     c32:	e0ca		b	0xdca
-     c34:	2001		mov	r0, #1
-     c36:	0300		lsl	r0, r0, #12
-     c38:	f000 f93e	bl	0xeb8
-     c3c:	2801		cmp	r0, #1
-     c3e:	d000		beq	0xc42
-     c40:	e0c3		b	0xdca
-     c42:	2001		mov	r0, #1
-     c44:	0300		lsl	r0, r0, #12
-     c46:	f000 f937	bl	0xeb8
-     c4a:	2853		cmp	r0, #83	; 0x53
-     c4c:	d000		beq	0xc50
-     c4e:	e0bc		b	0xdca
-     c50:	201b		mov	r0, #27	; 0x1b
-     c52:	f000 f919	bl	0xe88
-     c56:	20f6		mov	r0, #246	; 0xf6
-     c58:	f000 f916	bl	0xe88
-     c5c:	2002		mov	r0, #2
-     c5e:	f000 f913	bl	0xe88
-     c62:	2000		mov	r0, #0
-     c64:	f000 f910	bl	0xe88
-     c68:	2041		mov	r0, #65	; 0x41
-     c6a:	f000 f90d	bl	0xe88
-     c6e:	2002		mov	r0, #2
-     c70:	f000 f90a	bl	0xe88
-     c74:	2043		mov	r0, #67	; 0x43
-     c76:	f000 f907	bl	0xe88
-     c7a:	2001		mov	r0, #1
-     c7c:	0300		lsl	r0, r0, #12
-     c7e:	f000 f91b	bl	0xeb8
-     c82:	4669		mov	r1, sp
-     c84:	7208		strb	r0, [r1, #8]
-     c86:	2002		mov	r0, #2
-     c88:	7448		strb	r0, [r1, #17]	; 0x11
-     c8a:	2000		mov	r0, #0
-     c8c:	9000		str	r0, [sp, #0]
-     c8e:	9800		ldr	r0, [sp, #0]
-     c90:	2802		cmp	r0, #2
-     c92:	d215		bcs	0xcc0
-     c94:	2001		mov	r0, #1
-     c96:	0300		lsl	r0, r0, #12
-     c98:	f000 f90e	bl	0xeb8
-     c9c:	4669		mov	r1, sp
-     c9e:	9a00		ldr	r2, [sp, #0]
-     ca0:	1a89		sub	r1, r1, r2
-     ca2:	7348		strb	r0, [r1, #13]	; 0xd
-     ca4:	4669		mov	r1, sp
-     ca6:	9800		ldr	r0, [sp, #0]
-     ca8:	1a08		sub	r0, r1, r0
-     caa:	7b40		ldrb	r0, [r0, #13]	; 0xd
-     cac:	7c49		ldrb	r1, [r1, #17]	; 0x11
-     cae:	4048		eor	r0, r1
-     cb0:	4669		mov	r1, sp
-     cb2:	7448		strb	r0, [r1, #17]	; 0x11
-     cb4:	9800		ldr	r0, [sp, #0]
-     cb6:	3001		add	r0, #1
-     cb8:	9000		str	r0, [sp, #0]
-     cba:	9800		ldr	r0, [sp, #0]
-     cbc:	2802		cmp	r0, #2
-     cbe:	d3e9		bcc	0xc94
-     cc0:	4668		mov	r0, sp
-     cc2:	8980		ldrh	r0, [r0, #12]	; 0xc
-     cc4:	466a		mov	r2, sp
-     cc6:	1e41		sub	r1, r0, #1
-     cc8:	8191		strh	r1, [r2, #12]	; 0xc
-     cca:	2800		cmp	r0, #0
-     ccc:	d016		beq	0xcfc
-     cce:	2001		mov	r0, #1
-     cd0:	0300		lsl	r0, r0, #12
-     cd2:	f000 f8f1	bl	0xeb8
-     cd6:	9905		ldr	r1, [sp, #20]	; 0x14
-     cd8:	7008		strb	r0, [r1, #0]
-     cda:	9805		ldr	r0, [sp, #20]	; 0x14
-     cdc:	7800		ldrb	r0, [r0, #0]
-     cde:	4669		mov	r1, sp
-     ce0:	7c49		ldrb	r1, [r1, #17]	; 0x11
-     ce2:	4048		eor	r0, r1
-     ce4:	4669		mov	r1, sp
-     ce6:	7448		strb	r0, [r1, #17]	; 0x11
-     ce8:	9805		ldr	r0, [sp, #20]	; 0x14
-     cea:	3001		add	r0, #1
-     cec:	9005		str	r0, [sp, #20]	; 0x14
-     cee:	4668		mov	r0, sp
-     cf0:	8981		ldrh	r1, [r0, #12]	; 0xc
-     cf2:	466a		mov	r2, sp
-     cf4:	1e48		sub	r0, r1, #1
-     cf6:	8190		strh	r0, [r2, #12]	; 0xc
-     cf8:	2900		cmp	r1, #0
-     cfa:	d1e8		bne	0xcce
-     cfc:	2001		mov	r0, #1
-     cfe:	0300		lsl	r0, r0, #12
-     d00:	f000 f8da	bl	0xeb8
-     d04:	4669		mov	r1, sp
-     d06:	7408		strb	r0, [r1, #16]	; 0x10
-     d08:	4668		mov	r0, sp
-     d0a:	7c01		ldrb	r1, [r0, #16]	; 0x10
-     d0c:	7c40		ldrb	r0, [r0, #17]	; 0x11
-     d0e:	4281		cmp	r1, r0
-     d10:	d015		beq	0xd3e
-     d12:	201b		mov	r0, #27	; 0x1b
-     d14:	f000 f8b8	bl	0xe88
-     d18:	20f6		mov	r0, #246	; 0xf6
-     d1a:	f000 f8b5	bl	0xe88
-     d1e:	2002		mov	r0, #2
-     d20:	f000 f8b2	bl	0xe88
-     d24:	2000		mov	r0, #0
-     d26:	f000 f8af	bl	0xe88
-     d2a:	2045		mov	r0, #69	; 0x45
-     d2c:	f000 f8ac	bl	0xe88
-     d30:	2053		mov	r0, #83	; 0x53
-     d32:	f000 f8a9	bl	0xe88
-     d36:	2016		mov	r0, #22	; 0x16
-     d38:	f000 f8a6	bl	0xe88
-     d3c:	e045		b	0xdca
-     d3e:	2081		mov	r0, #129	; 0x81
-     d40:	0100		lsl	r0, r0, #4
-     d42:	9006		str	r0, [sp, #24]	; 0x18
-     d44:	48b1		ldr	r0, =0x803ce0	; via 0x100c
-     d46:	9007		str	r0, [sp, #28]	; 0x1c
-     d48:	2000		mov	r0, #0
-     d4a:	9000		str	r0, [sp, #0]
-     d4c:	9800		ldr	r0, [sp, #0]
-     d4e:	2804		cmp	r0, #4
-     d50:	d221		bcs	0xd96
-     d52:	9900		ldr	r1, [sp, #0]
-     d54:	9806		ldr	r0, [sp, #24]	; 0x18
-     d56:	5c0a		ldrb	r2, [r1, r0]
-     d58:	9900		ldr	r1, [sp, #0]
-     d5a:	9807		ldr	r0, [sp, #28]	; 0x1c
-     d5c:	5c08		ldrb	r0, [r1, r0]
-     d5e:	4282		cmp	r2, r0
-     d60:	dd13		ble	0xd8a
-     d62:	201b		mov	r0, #27	; 0x1b
-     d64:	f000 f890	bl	0xe88
-     d68:	20f6		mov	r0, #246	; 0xf6
-     d6a:	f000 f88d	bl	0xe88
-     d6e:	2002		mov	r0, #2
-     d70:	f000 f88a	bl	0xe88
-     d74:	2000		mov	r0, #0
-     d76:	f000 f887	bl	0xe88
-     d7a:	2041		mov	r0, #65	; 0x41
-     d7c:	f000 f884	bl	0xe88
-     d80:	2003		mov	r0, #3
-     d82:	f000 f881	bl	0xe88
-     d86:	2057		mov	r0, #87	; 0x57
-     d88:	e7d6		b	0xd38
-     d8a:	9800		ldr	r0, [sp, #0]
-     d8c:	3001		add	r0, #1
-     d8e:	9000		str	r0, [sp, #0]
-     d90:	9800		ldr	r0, [sp, #0]
-     d92:	2804		cmp	r0, #4
-     d94:	d3dd		bcc	0xd52
-     d96:	201b		mov	r0, #27	; 0x1b
-     d98:	f000 f876	bl	0xe88
-     d9c:	20f6		mov	r0, #246	; 0xf6
-     d9e:	f000 f873	bl	0xe88
-     da2:	2002		mov	r0, #2
-     da4:	f000 f870	bl	0xe88
-     da8:	2000		mov	r0, #0
-     daa:	f000 f86d	bl	0xe88
-     dae:	2041		mov	r0, #65	; 0x41
-     db0:	f000 f86a	bl	0xe88
-     db4:	2003		mov	r0, #3
-     db6:	f000 f867	bl	0xe88
-     dba:	2042		mov	r0, #66	; 0x42
-     dbc:	f000 f864	bl	0xe88
-     dc0:	484b		ldr	r0, =0x83ff00	; via 0xef0
-     dc2:	6800		ldr	r0, [r0, #0]
-     dc4:	4992		ldr	r1, =0x800100	; via 0x1010
-     dc6:	f000 f85e	bl	0xe86
-     dca:	b009		add	sp, #36	; 0x24
-     dcc:	bd00		pop	{pc}
-
-     dce:	b500		push	{lr}
-     dd0:	b081		sub	sp, #4
-     dd2:	2066		mov	r0, #102	; 0x66
-     dd4:	f000 f858	bl	0xe88
-     dd8:	2074		mov	r0, #116	; 0x74
-     dda:	f000 f855	bl	0xe88
-     dde:	206d		mov	r0, #109	; 0x6d
-     de0:	f000 f852	bl	0xe88
-     de4:	2074		mov	r0, #116	; 0x74
-     de6:	f000 f84f	bl	0xe88
-     dea:	206f		mov	r0, #111	; 0x6f
-     dec:	f000 f84c	bl	0xe88
-     df0:	206f		mov	r0, #111	; 0x6f
-     df2:	f000 f849	bl	0xe88
-     df6:	206c		mov	r0, #108	; 0x6c
-     df8:	f000 f846	bl	0xe88
-     dfc:	4985		ldr	r1, =0x83ff80	; via 0x1014
-     dfe:	2000		mov	r0, #0
-     e00:	7008		strb	r0, [r1, #0]
-     e02:	9000		str	r0, [sp, #0]
-     e04:	9800		ldr	r0, [sp, #0]
-     e06:	0c00		lsr	r0, r0, #16
-     e08:	d105		bne	0xe16
-     e0a:	9800		ldr	r0, [sp, #0]
-     e0c:	3001		add	r0, #1
-     e0e:	9000		str	r0, [sp, #0]
-     e10:	9800		ldr	r0, [sp, #0]
-     e12:	0c00		lsr	r0, r0, #16
-     e14:	d0f9		beq	0xe0a
-     e16:	2007		mov	r0, #7
-     e18:	0400		lsl	r0, r0, #16
-     e1a:	f000 f84d	bl	0xeb8
-     e1e:	2879		cmp	r0, #121	; 0x79
-     e20:	d10e		bne	0xe40
-     e22:	2001		mov	r0, #1
-     e24:	0300		lsl	r0, r0, #12
-     e26:	f000 f847	bl	0xeb8
-     e2a:	2865		cmp	r0, #101	; 0x65
-     e2c:	d108		bne	0xe40
-     e2e:	2001		mov	r0, #1
-     e30:	0300		lsl	r0, r0, #12
-     e32:	f000 f841	bl	0xeb8
-     e36:	2873		cmp	r0, #115	; 0x73
-     e38:	d102		bne	0xe40
-     e3a:	4876		ldr	r0, =0x83ff80	; via 0x1014
-     e3c:	2101		mov	r1, #1
-     e3e:	7001		strb	r1, [r0, #0]
-     e40:	f000 f8d2	bl	0xfe8
-     e44:	2800		cmp	r0, #0
-     e46:	d00d		beq	0xe64
-     e48:	206d		mov	r0, #109	; 0x6d
-     e4a:	f000 f81d	bl	0xe88
-     e4e:	206f		mov	r0, #111	; 0x6f
-     e50:	f000 f81a	bl	0xe88
-     e54:	2064		mov	r0, #100	; 0x64
-     e56:	f000 f817	bl	0xe88
-     e5a:	2065		mov	r0, #101	; 0x65
-     e5c:	f000 f814	bl	0xe88
-     e60:	206d		mov	r0, #109	; 0x6d
-     e62:	e00c		b	0xe7e
-     e64:	2065		mov	r0, #101	; 0x65
-     e66:	f000 f80f	bl	0xe88
-     e6a:	2072		mov	r0, #114	; 0x72
-     e6c:	f000 f80c	bl	0xe88
-     e70:	2072		mov	r0, #114	; 0x72
-     e72:	f000 f809	bl	0xe88
-     e76:	206f		mov	r0, #111	; 0x6f
-     e78:	f000 f806	bl	0xe88
-     e7c:	2072		mov	r0, #114	; 0x72
-     e7e:	f000 f803	bl	0xe88
-     e82:	b001		add	sp, #4
-     e84:	bd00		pop	{pc}
-
-     e86:	4708		bx	r1
-
-     e88:	b081		sub	sp, #4
-     e8a:	4669		mov	r1, sp
-     e8c:	7008		strb	r0, [r1, #0]
-     e8e:	4818		ldr	r0, =0x83ff00	; via 0xef0
-     e90:	6800		ldr	r0, [r0, #0]
-     e92:	7940		ldrb	r0, [r0, #5]
-     e94:	0980		lsr	r0, r0, #6
-     e96:	d3fa		bcc	0xe8e
-     e98:	4815		ldr	r0, =0x83ff00	; via 0xef0
-     e9a:	6800		ldr	r0, [r0, #0]
-     e9c:	4669		mov	r1, sp
-     e9e:	7809		ldrb	r1, [r1, #0]
-     ea0:	7001		strb	r1, [r0, #0]
-     ea2:	b001		add	sp, #4
-     ea4:	46f7		mov	pc, lr
-     ea6:	4812		ldr	r0, =0x83ff00	; via 0xef0
-     ea8:	6800		ldr	r0, [r0, #0]
-     eaa:	7940		ldrb	r0, [r0, #5]
-     eac:	0840		lsr	r0, r0, #1
-     eae:	d3fa		bcc	0xea6
-     eb0:	480f		ldr	r0, =0x83ff00	; via 0xef0
-     eb2:	6800		ldr	r0, [r0, #0]
-     eb4:	7800		ldrb	r0, [r0, #0]
-     eb6:	4770		bx	lr
-     eb8:	b083		sub	sp, #12	; 0xc
-     eba:	9000		str	r0, [sp, #0]
-     ebc:	9800		ldr	r0, [sp, #0]
-     ebe:	9002		str	r0, [sp, #8]
-     ec0:	480b		ldr	r0, =0x83ff00	; via 0xef0
-     ec2:	6800		ldr	r0, [r0, #0]
-     ec4:	7940		ldrb	r0, [r0, #5]
-     ec6:	0840		lsr	r0, r0, #1
-     ec8:	d20c		bcs	0xee4
-     eca:	9802		ldr	r0, [sp, #8]
-     ecc:	3801		sub	r0, #1
-     ece:	9002		str	r0, [sp, #8]
-     ed0:	9802		ldr	r0, [sp, #8]
-     ed2:	2800		cmp	r0, #0
-     ed4:	d101		bne	0xeda
-     ed6:	20ff		mov	r0, #255	; 0xff
-     ed8:	e007		b	0xeea
-     eda:	484f		ldr	r0, =0x83ff00	; via 0x1018
-     edc:	6800		ldr	r0, [r0, #0]
-     ede:	7940		ldrb	r0, [r0, #5]
-     ee0:	0840		lsr	r0, r0, #1
-     ee2:	d3f2		bcc	0xeca
-     ee4:	484c		ldr	r0, =0x83ff00	; via 0x1018
-     ee6:	6800		ldr	r0, [r0, #0]
-     ee8:	7800		ldrb	r0, [r0, #0]
-     eea:	b003		add	sp, #12	; 0xc
-     eec:	4770		bx	lr
-     eee:	46c0		nop			(mov r8, r8)
-     ef0:	ff00		<half-bl>
-     ef2:	0083		lsl	r3, r0, #2
-     ef4:	5800		ldr	r0, [r0, r0]
-     ef6:	ffff		<half-bl>
-     ef8:	b081		sub	sp, #4
-     efa:	e001		b	0xf00
-     efc:	9800		ldr	r0, [sp, #0]
-     efe:	3801		sub	r0, #1
-     f00:	9000		str	r0, [sp, #0]
-     f02:	4845		ldr	r0, =0x83ff00	; via 0x1018
-     f04:	6800		ldr	r0, [r0, #0]
-     f06:	7940		ldrb	r0, [r0, #5]
-     f08:	0840		lsr	r0, r0, #1
-     f0a:	d202		bcs	0xf12
-     f0c:	9800		ldr	r0, [sp, #0]
-     f0e:	2800		cmp	r0, #0
-     f10:	dcf4		bgt	0xefc
-     f12:	9800		ldr	r0, [sp, #0]
-     f14:	2800		cmp	r0, #0
-     f16:	dd01		ble	0xf1c
-     f18:	2000		mov	r0, #0
-     f1a:	e000		b	0xf1e
-     f1c:	2001		mov	r0, #1
-     f1e:	b001		add	sp, #4
-     f20:	4770		bx	lr
-     f22:	b082		sub	sp, #8
-     f24:	9000		str	r0, [sp, #0]
-     f26:	4669		mov	r1, sp
-     f28:	2000		mov	r0, #0
-     f2a:	7188		strb	r0, [r1, #6]
-     f2c:	9900		ldr	r1, [sp, #0]
-     f2e:	483b		ldr	r0, =0xfffef000	; via 0x101c
-     f30:	8800		ldrh	r0, [r0, #0]
-     f32:	8008		strh	r0, [r1, #0]
-     f34:	b002		add	sp, #8
-     f36:	4770		bx	lr
-     f38:	0100		lsl	r0, r0, #4
-     f3a:	0080		lsl	r0, r0, #2
-     f3c:	2060		mov	r0, #96	; 0x60
-     f3e:	0000		lsl	r0, r0, #0
-     f40:	dddd		ble	0xefe
-     f42:	dddd		ble	0xf00
-     f44:	b081		sub	sp, #4
-     f46:	466a		mov	r2, sp
-     f48:	7051		strb	r1, [r2, #1]
-     f4a:	4669		mov	r1, sp
-     f4c:	7008		strb	r0, [r1, #0]
-     f4e:	4934		ldr	r1, =0xffff6000	; via 0x1020
-     f50:	2002		mov	r0, #2
-     f52:	880a		ldrh	r2, [r1, #0]
-     f54:	4310		orr	r0, r2
-     f56:	8008		strh	r0, [r1, #0]
-     f58:	4831		ldr	r0, =0xffff6000	; via 0x1020
-     f5a:	8801		ldrh	r1, [r0, #0]
-     f5c:	0849		lsr	r1, r1, #1
-     f5e:	0049		lsl	r1, r1, #1
-     f60:	8001		strh	r1, [r0, #0]
-     f62:	492f		ldr	r1, =0xffff6000	; via 0x1020
-     f64:	8808		ldrh	r0, [r1, #0]
-     f66:	2202		mov	r2, #2
-     f68:	4390		bic	r0, r2
-     f6a:	8008		strh	r0, [r1, #0]
-     f6c:	482a		ldr	r0, =0x83ff00	; via 0x1018
-     f6e:	6801		ldr	r1, [r0, #0]
-     f70:	2007		mov	r0, #7
-     f72:	7208		strb	r0, [r1, #8]
-     f74:	4828		ldr	r0, =0x83ff00	; via 0x1018
-     f76:	6801		ldr	r1, [r0, #0]
-     f78:	20bf		mov	r0, #191	; 0xbf
-     f7a:	70c8		strb	r0, [r1, #3]
-     f7c:	4826		ldr	r0, =0x83ff00	; via 0x1018
-     f7e:	6800		ldr	r0, [r0, #0]
-     f80:	1c80		add	r0, r0, #2
-     f82:	2110		mov	r1, #16	; 0x10
-     f84:	8802		ldrh	r2, [r0, #0]
-     f86:	4311		orr	r1, r2
-     f88:	8001		strh	r1, [r0, #0]
-     f8a:	4823		ldr	r0, =0x83ff00	; via 0x1018
-     f8c:	6801		ldr	r1, [r0, #0]
-     f8e:	2080		mov	r0, #128	; 0x80
-     f90:	70c8		strb	r0, [r1, #3]
-     f92:	4821		ldr	r0, =0x83ff00	; via 0x1018
-     f94:	6800		ldr	r0, [r0, #0]
-     f96:	2107		mov	r1, #7
-     f98:	7081		strb	r1, [r0, #2]
-     f9a:	481f		ldr	r0, =0x83ff00	; via 0x1018
-     f9c:	6800		ldr	r0, [r0, #0]
-     f9e:	21bf		mov	r1, #191	; 0xbf
-     fa0:	70c1		strb	r1, [r0, #3]
-     fa2:	481d		ldr	r0, =0x83ff00	; via 0x1018
-     fa4:	6801		ldr	r1, [r0, #0]
-     fa6:	4668		mov	r0, sp
-     fa8:	7840		ldrb	r0, [r0, #1]
-     faa:	7008		strb	r0, [r1, #0]
-     fac:	481a		ldr	r0, =0x83ff00	; via 0x1018
-     fae:	6801		ldr	r1, [r0, #0]
-     fb0:	4668		mov	r0, sp
-     fb2:	7800		ldrb	r0, [r0, #0]
-     fb4:	7048		strb	r0, [r1, #1]
-     fb6:	4818		ldr	r0, =0x83ff00	; via 0x1018
-     fb8:	6801		ldr	r1, [r0, #0]
-     fba:	2003		mov	r0, #3
-     fbc:	70c8		strb	r0, [r1, #3]
-     fbe:	4816		ldr	r0, =0x83ff00	; via 0x1018
-     fc0:	6800		ldr	r0, [r0, #0]
-     fc2:	2100		mov	r1, #0
-     fc4:	7201		strb	r1, [r0, #8]
-     fc6:	4814		ldr	r0, =0x83ff00	; via 0x1018
-     fc8:	6800		ldr	r0, [r0, #0]
-     fca:	7940		ldrb	r0, [r0, #5]
-     fcc:	0840		lsr	r0, r0, #1
-     fce:	d309		bcc	0xfe4
-     fd0:	4669		mov	r1, sp
-     fd2:	4811		ldr	r0, =0x83ff00	; via 0x1018
-     fd4:	6800		ldr	r0, [r0, #0]
-     fd6:	7800		ldrb	r0, [r0, #0]
-     fd8:	7088		strb	r0, [r1, #2]
-     fda:	480f		ldr	r0, =0x83ff00	; via 0x1018
-     fdc:	6800		ldr	r0, [r0, #0]
-     fde:	7940		ldrb	r0, [r0, #5]
-     fe0:	0840		lsr	r0, r0, #1
-     fe2:	d2f5		bcs	0xfd0
-     fe4:	b001		add	sp, #4
-     fe6:	4770		bx	lr
-     fe8:	480a		ldr	r0, =0x83ff80	; via 0x1014
-     fea:	7800		ldrb	r0, [r0, #0]
-     fec:	4770		bx	lr
-     fee:	b500		push	{lr}
-     ff0:	b081		sub	sp, #4
-     ff2:	4669		mov	r1, sp
-     ff4:	7008		strb	r0, [r1, #0]
-     ff6:	4668		mov	r0, sp
-     ff8:	7800		ldrb	r0, [r0, #0]
-     ffa:	f7ff ff45	bl	0xe88
-     ffe:	b001		add	sp, #4
-    1000:	bd00		pop	{pc}
-    1002:	b500		push	{lr}
-    1004:	f7ff ff4f	bl	0xea6
-    1008:	bd00		pop	{pc}
-    100a:	46c0		nop			(mov r8, r8)
-    100c:	3ce0		sub	r4, #224	; 0xe0
-    100e:	0080		lsl	r0, r0, #2
-    1010:	0100		lsl	r0, r0, #4
-    1012:	0080		lsl	r0, r0, #2
-    1014:	ff80		<half-bl>
-    1016:	0083		lsl	r3, r0, #2
-    1018:	ff00		<half-bl>
-    101a:	0083		lsl	r3, r0, #2
-    101c:	f000 fffe	bl	0x201c
-    1020:	6000		str	r0, [r0, #0]
-    1022:	ffff		<half-bl>
-    1024:	4700		bx	r0
-    1026:	0000		lsl	r0, r0, #0
-    1028:	b08c		sub	sp, #48	; 0x30
-    102a:	9101		str	r1, [sp, #4]
-    102c:	9000		str	r0, [sp, #0]
-    102e:	2000		mov	r0, #0
-    1030:	9003		str	r0, [sp, #12]	; 0xc
-    1032:	9800		ldr	r0, [sp, #0]
-    1034:	7801		ldrb	r1, [r0, #0]
-    1036:	3001		add	r0, #1
-    1038:	9000		str	r0, [sp, #0]
-    103a:	9105		str	r1, [sp, #20]	; 0x14
-    103c:	9800		ldr	r0, [sp, #0]
-    103e:	7801		ldrb	r1, [r0, #0]
-    1040:	3001		add	r0, #1
-    1042:	9000		str	r0, [sp, #0]
-    1044:	9801		ldr	r0, [sp, #4]
-    1046:	7001		strb	r1, [r0, #0]
-    1048:	2001		mov	r0, #1
-    104a:	9004		str	r0, [sp, #16]	; 0x10
-    104c:	e0a8		b	0x11a0
-    104e:	9804		ldr	r0, [sp, #16]	; 0x10
-    1050:	3002		add	r0, #2
-    1052:	9004		str	r0, [sp, #16]	; 0x10
-    1054:	9800		ldr	r0, [sp, #0]
-    1056:	7801		ldrb	r1, [r0, #0]
-    1058:	3001		add	r0, #1
-    105a:	9000		str	r0, [sp, #0]
-    105c:	4668		mov	r0, sp
-    105e:	8441		strh	r1, [r0, #34]	; 0x22
-    1060:	9800		ldr	r0, [sp, #0]
-    1062:	7801		ldrb	r1, [r0, #0]
-    1064:	3001		add	r0, #1
-    1066:	9000		str	r0, [sp, #0]
-    1068:	4668		mov	r0, sp
-    106a:	8401		strh	r1, [r0, #32]	; 0x20
-    106c:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    106e:	4669		mov	r1, sp
-    1070:	8c49		ldrh	r1, [r1, #34]	; 0x22
-    1072:	0209		lsl	r1, r1, #8
-    1074:	1840		add	r0, r0, r1
-    1076:	9901		ldr	r1, [sp, #4]
-    1078:	8088		strh	r0, [r1, #4]
-    107a:	9804		ldr	r0, [sp, #16]	; 0x10
-    107c:	3001		add	r0, #1
-    107e:	9004		str	r0, [sp, #16]	; 0x10
-    1080:	9800		ldr	r0, [sp, #0]
-    1082:	7801		ldrb	r1, [r0, #0]
-    1084:	3001		add	r0, #1
-    1086:	9000		str	r0, [sp, #0]
-    1088:	4668		mov	r0, sp
-    108a:	7601		strb	r1, [r0, #24]	; 0x18
-    108c:	9901		ldr	r1, [sp, #4]
-    108e:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1090:	7188		strb	r0, [r1, #6]
-    1092:	4668		mov	r0, sp
-    1094:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1096:	2840		cmp	r0, #64	; 0x40
-    1098:	dc00		bgt	0x109c
-    109a:	e09f		b	0x11dc
-    109c:	2004		mov	r0, #4
-    109e:	9003		str	r0, [sp, #12]	; 0xc
-    10a0:	e09c		b	0x11dc
-    10a2:	9804		ldr	r0, [sp, #16]	; 0x10
-    10a4:	3002		add	r0, #2
-    10a6:	9004		str	r0, [sp, #16]	; 0x10
-    10a8:	9800		ldr	r0, [sp, #0]
-    10aa:	7801		ldrb	r1, [r0, #0]
-    10ac:	3001		add	r0, #1
-    10ae:	9000		str	r0, [sp, #0]
-    10b0:	4668		mov	r0, sp
-    10b2:	8441		strh	r1, [r0, #34]	; 0x22
-    10b4:	9800		ldr	r0, [sp, #0]
-    10b6:	7801		ldrb	r1, [r0, #0]
-    10b8:	3001		add	r0, #1
-    10ba:	9000		str	r0, [sp, #0]
-    10bc:	4668		mov	r0, sp
-    10be:	8401		strh	r1, [r0, #32]	; 0x20
-    10c0:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    10c2:	4669		mov	r1, sp
-    10c4:	8c49		ldrh	r1, [r1, #34]	; 0x22
-    10c6:	0209		lsl	r1, r1, #8
-    10c8:	1841		add	r1, r0, r1
-    10ca:	9801		ldr	r0, [sp, #4]
-    10cc:	8081		strh	r1, [r0, #4]
-    10ce:	9804		ldr	r0, [sp, #16]	; 0x10
-    10d0:	3001		add	r0, #1
-    10d2:	9004		str	r0, [sp, #16]	; 0x10
-    10d4:	9800		ldr	r0, [sp, #0]
-    10d6:	7801		ldrb	r1, [r0, #0]
-    10d8:	3001		add	r0, #1
-    10da:	9000		str	r0, [sp, #0]
-    10dc:	4668		mov	r0, sp
-    10de:	7601		strb	r1, [r0, #24]	; 0x18
-    10e0:	9901		ldr	r1, [sp, #4]
-    10e2:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    10e4:	7188		strb	r0, [r1, #6]
-    10e6:	4668		mov	r0, sp
-    10e8:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    10ea:	2840		cmp	r0, #64	; 0x40
-    10ec:	dcd6		bgt	0x109c
-    10ee:	9801		ldr	r0, [sp, #4]
-    10f0:	3008		add	r0, #8
-    10f2:	9007		str	r0, [sp, #28]	; 0x1c
-    10f4:	2000		mov	r0, #0
-    10f6:	9002		str	r0, [sp, #8]
-    10f8:	9902		ldr	r1, [sp, #8]
-    10fa:	4668		mov	r0, sp
-    10fc:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    10fe:	4281		cmp	r1, r0
-    1100:	da6c		bge	0x11dc
-    1102:	9800		ldr	r0, [sp, #0]
-    1104:	7801		ldrb	r1, [r0, #0]
-    1106:	3001		add	r0, #1
-    1108:	9000		str	r0, [sp, #0]
-    110a:	4668		mov	r0, sp
-    110c:	84c1		strh	r1, [r0, #38]	; 0x26
-    110e:	9800		ldr	r0, [sp, #0]
-    1110:	7801		ldrb	r1, [r0, #0]
-    1112:	3001		add	r0, #1
-    1114:	9000		str	r0, [sp, #0]
-    1116:	4668		mov	r0, sp
-    1118:	8481		strh	r1, [r0, #36]	; 0x24
-    111a:	9807		ldr	r0, [sp, #28]	; 0x1c
-    111c:	1c81		add	r1, r0, #2
-    111e:	9107		str	r1, [sp, #28]	; 0x1c
-    1120:	4669		mov	r1, sp
-    1122:	8c89		ldrh	r1, [r1, #36]	; 0x24
-    1124:	466a		mov	r2, sp
-    1126:	8cd2		ldrh	r2, [r2, #38]	; 0x26
-    1128:	0212		lsl	r2, r2, #8
-    112a:	1889		add	r1, r1, r2
-    112c:	8001		strh	r1, [r0, #0]
-    112e:	9804		ldr	r0, [sp, #16]	; 0x10
-    1130:	3002		add	r0, #2
-    1132:	9004		str	r0, [sp, #16]	; 0x10
-    1134:	9802		ldr	r0, [sp, #8]
-    1136:	3001		add	r0, #1
-    1138:	9002		str	r0, [sp, #8]
-    113a:	9902		ldr	r1, [sp, #8]
-    113c:	4668		mov	r0, sp
-    113e:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1140:	4281		cmp	r1, r0
-    1142:	dbde		blt	0x1102
-    1144:	e04a		b	0x11dc
-    1146:	9804		ldr	r0, [sp, #16]	; 0x10
-    1148:	3002		add	r0, #2
-    114a:	9004		str	r0, [sp, #16]	; 0x10
-    114c:	9800		ldr	r0, [sp, #0]
-    114e:	7801		ldrb	r1, [r0, #0]
-    1150:	3001		add	r0, #1
-    1152:	9000		str	r0, [sp, #0]
-    1154:	4668		mov	r0, sp
-    1156:	8501		strh	r1, [r0, #40]	; 0x28
-    1158:	9800		ldr	r0, [sp, #0]
-    115a:	7801		ldrb	r1, [r0, #0]
-    115c:	3001		add	r0, #1
-    115e:	9000		str	r0, [sp, #0]
-    1160:	4668		mov	r0, sp
-    1162:	8541		strh	r1, [r0, #42]	; 0x2a
-    1164:	8d41		ldrh	r1, [r0, #42]	; 0x2a
-    1166:	8d00		ldrh	r0, [r0, #40]	; 0x28
-    1168:	0200		lsl	r0, r0, #8
-    116a:	1809		add	r1, r1, r0
-    116c:	9801		ldr	r0, [sp, #4]
-    116e:	8081		strh	r1, [r0, #4]
-    1170:	9804		ldr	r0, [sp, #16]	; 0x10
-    1172:	3002		add	r0, #2
-    1174:	9004		str	r0, [sp, #16]	; 0x10
-    1176:	9800		ldr	r0, [sp, #0]
-    1178:	7801		ldrb	r1, [r0, #0]
-    117a:	3001		add	r0, #1
-    117c:	9000		str	r0, [sp, #0]
-    117e:	4668		mov	r0, sp
-    1180:	8581		strh	r1, [r0, #44]	; 0x2c
-    1182:	9800		ldr	r0, [sp, #0]
-    1184:	7801		ldrb	r1, [r0, #0]
-    1186:	3001		add	r0, #1
-    1188:	9000		str	r0, [sp, #0]
-    118a:	4668		mov	r0, sp
-    118c:	85c1		strh	r1, [r0, #46]	; 0x2e
-    118e:	8dc1		ldrh	r1, [r0, #46]	; 0x2e
-    1190:	8d80		ldrh	r0, [r0, #44]	; 0x2c
-    1192:	0200		lsl	r0, r0, #8
-    1194:	1808		add	r0, r1, r0
-    1196:	9901		ldr	r1, [sp, #4]
-    1198:	80c8		strh	r0, [r1, #6]
-    119a:	e01f		b	0x11dc
-    119c:	2008		mov	r0, #8
-    119e:	e77e		b	0x109e
-    11a0:	9801		ldr	r0, [sp, #4]
-    11a2:	7801		ldrb	r1, [r0, #0]
-    11a4:	290a		cmp	r1, #10	; 0xa
-    11a6:	d8f9		bhi	0x119c
-    11a8:	a001		add	r0, pc, #4
-    11aa:	0089		lsl	r1, r1, #2
-    11ac:	5840		ldr	r0, [r0, r1]
-    11ae:	4687		mov	pc, r0
-    11b0:	11dc		asr	r4, r3, #7
-    11b2:	0000		lsl	r0, r0, #0
-    11b4:	11dc		asr	r4, r3, #7
-    11b6:	0000		lsl	r0, r0, #0
-    11b8:	11dc		asr	r4, r3, #7
-    11ba:	0000		lsl	r0, r0, #0
-    11bc:	11dc		asr	r4, r3, #7
-    11be:	0000		lsl	r0, r0, #0
-    11c0:	11dc		asr	r4, r3, #7
-    11c2:	0000		lsl	r0, r0, #0
-    11c4:	11dc		asr	r4, r3, #7
-    11c6:	0000		lsl	r0, r0, #0
-    11c8:	11dc		asr	r4, r3, #7
-    11ca:	0000		lsl	r0, r0, #0
-    11cc:	104e		asr	r6, r1, #1
-    11ce:	0000		lsl	r0, r0, #0
-    11d0:	10a2		asr	r2, r4, #2
-    11d2:	0000		lsl	r0, r0, #0
-    11d4:	11dc		asr	r4, r3, #7
-    11d6:	0000		lsl	r0, r0, #0
-    11d8:	1146		asr	r6, r0, #5
-    11da:	0000		lsl	r0, r0, #0
-    11dc:	9905		ldr	r1, [sp, #20]	; 0x14
-    11de:	9804		ldr	r0, [sp, #16]	; 0x10
-    11e0:	4281		cmp	r1, r0
-    11e2:	d001		beq	0x11e8
-    11e4:	2004		mov	r0, #4
-    11e6:	9003		str	r0, [sp, #12]	; 0xc
-    11e8:	9803		ldr	r0, [sp, #12]	; 0xc
-    11ea:	b00c		add	sp, #48	; 0x30
-    11ec:	4770		bx	lr
-    11ee:	b089		sub	sp, #36	; 0x24
-    11f0:	9101		str	r1, [sp, #4]
-    11f2:	9000		str	r0, [sp, #0]
-    11f4:	2000		mov	r0, #0
-    11f6:	9003		str	r0, [sp, #12]	; 0xc
-    11f8:	9801		ldr	r0, [sp, #4]
-    11fa:	1c41		add	r1, r0, #1
-    11fc:	9101		str	r1, [sp, #4]
-    11fe:	9005		str	r0, [sp, #20]	; 0x14
-    1200:	9801		ldr	r0, [sp, #4]
-    1202:	1c41		add	r1, r0, #1
-    1204:	9101		str	r1, [sp, #4]
-    1206:	9900		ldr	r1, [sp, #0]
-    1208:	7809		ldrb	r1, [r1, #0]
-    120a:	7001		strb	r1, [r0, #0]
-    120c:	4669		mov	r1, sp
-    120e:	2001		mov	r0, #1
-    1210:	7408		strb	r0, [r1, #16]	; 0x10
-    1212:	9801		ldr	r0, [sp, #4]
-    1214:	1c41		add	r1, r0, #1
-    1216:	9101		str	r1, [sp, #4]
-    1218:	9900		ldr	r1, [sp, #0]
-    121a:	7849		ldrb	r1, [r1, #1]
-    121c:	7001		strb	r1, [r0, #0]
-    121e:	4669		mov	r1, sp
-    1220:	4668		mov	r0, sp
-    1222:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1224:	3001		add	r0, #1
-    1226:	7408		strb	r0, [r1, #16]	; 0x10
-    1228:	e0e4		b	0x13f4
-    122a:	9800		ldr	r0, [sp, #0]
-    122c:	7840		ldrb	r0, [r0, #1]
-    122e:	2800		cmp	r0, #0
-    1230:	d000		beq	0x1234
-    1232:	e0fd		b	0x1430
-    1234:	9801		ldr	r0, [sp, #4]
-    1236:	1c41		add	r1, r0, #1
-    1238:	9101		str	r1, [sp, #4]
-    123a:	9900		ldr	r1, [sp, #0]
-    123c:	7909		ldrb	r1, [r1, #4]
-    123e:	7001		strb	r1, [r0, #0]
-    1240:	9801		ldr	r0, [sp, #4]
-    1242:	1c41		add	r1, r0, #1
-    1244:	9101		str	r1, [sp, #4]
-    1246:	9900		ldr	r1, [sp, #0]
-    1248:	7949		ldrb	r1, [r1, #5]
-    124a:	7001		strb	r1, [r0, #0]
-    124c:	9801		ldr	r0, [sp, #4]
-    124e:	1c41		add	r1, r0, #1
-    1250:	9101		str	r1, [sp, #4]
-    1252:	9900		ldr	r1, [sp, #0]
-    1254:	7989		ldrb	r1, [r1, #6]
-    1256:	7001		strb	r1, [r0, #0]
-    1258:	4668		mov	r0, sp
-    125a:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    125c:	3003		add	r0, #3
-    125e:	4669		mov	r1, sp
-    1260:	7408		strb	r0, [r1, #16]	; 0x10
-    1262:	e0e5		b	0x1430
-    1264:	9800		ldr	r0, [sp, #0]
-    1266:	7840		ldrb	r0, [r0, #1]
-    1268:	2800		cmp	r0, #0
-    126a:	d000		beq	0x126e
-    126c:	e0e0		b	0x1430
-    126e:	9801		ldr	r0, [sp, #4]
-    1270:	1c41		add	r1, r0, #1
-    1272:	9101		str	r1, [sp, #4]
-    1274:	9900		ldr	r1, [sp, #0]
-    1276:	7909		ldrb	r1, [r1, #4]
-    1278:	7001		strb	r1, [r0, #0]
-    127a:	4668		mov	r0, sp
-    127c:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    127e:	3001		add	r0, #1
-    1280:	e7ed		b	0x125e
-    1282:	9800		ldr	r0, [sp, #0]
-    1284:	7840		ldrb	r0, [r0, #1]
-    1286:	2800		cmp	r0, #0
-    1288:	d000		beq	0x128c
-    128a:	e0d1		b	0x1430
-    128c:	e7ef		b	0x126e
-    128e:	9800		ldr	r0, [sp, #0]
-    1290:	7840		ldrb	r0, [r0, #1]
-    1292:	2800		cmp	r0, #0
-    1294:	d000		beq	0x1298
-    1296:	e0cb		b	0x1430
-    1298:	e7e9		b	0x126e
-    129a:	9800		ldr	r0, [sp, #0]
-    129c:	7840		ldrb	r0, [r0, #1]
-    129e:	2800		cmp	r0, #0
-    12a0:	d000		beq	0x12a4
-    12a2:	e0c5		b	0x1430
-    12a4:	4669		mov	r1, sp
-    12a6:	9800		ldr	r0, [sp, #0]
-    12a8:	8880		ldrh	r0, [r0, #4]
-    12aa:	8408		strh	r0, [r1, #32]	; 0x20
-    12ac:	9801		ldr	r0, [sp, #4]
-    12ae:	1c41		add	r1, r0, #1
-    12b0:	9101		str	r1, [sp, #4]
-    12b2:	4669		mov	r1, sp
-    12b4:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    12b6:	0409		lsl	r1, r1, #16
-    12b8:	0e09		lsr	r1, r1, #24
-    12ba:	0209		lsl	r1, r1, #8
-    12bc:	1209		asr	r1, r1, #8
-    12be:	7001		strb	r1, [r0, #0]
-    12c0:	9801		ldr	r0, [sp, #4]
-    12c2:	1c41		add	r1, r0, #1
-    12c4:	9101		str	r1, [sp, #4]
-    12c6:	4669		mov	r1, sp
-    12c8:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    12ca:	0609		lsl	r1, r1, #24
-    12cc:	0e09		lsr	r1, r1, #24
-    12ce:	7001		strb	r1, [r0, #0]
-    12d0:	4669		mov	r1, sp
-    12d2:	9800		ldr	r0, [sp, #0]
-    12d4:	88c0		ldrh	r0, [r0, #6]
-    12d6:	8408		strh	r0, [r1, #32]	; 0x20
-    12d8:	9801		ldr	r0, [sp, #4]
-    12da:	1c41		add	r1, r0, #1
-    12dc:	9101		str	r1, [sp, #4]
-    12de:	4669		mov	r1, sp
-    12e0:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    12e2:	0409		lsl	r1, r1, #16
-    12e4:	0e09		lsr	r1, r1, #24
-    12e6:	0209		lsl	r1, r1, #8
-    12e8:	1209		asr	r1, r1, #8
-    12ea:	7001		strb	r1, [r0, #0]
-    12ec:	9801		ldr	r0, [sp, #4]
-    12ee:	1c41		add	r1, r0, #1
-    12f0:	9101		str	r1, [sp, #4]
-    12f2:	4669		mov	r1, sp
-    12f4:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    12f6:	0609		lsl	r1, r1, #24
-    12f8:	0e09		lsr	r1, r1, #24
-    12fa:	7001		strb	r1, [r0, #0]
-    12fc:	4668		mov	r0, sp
-    12fe:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1300:	3004		add	r0, #4
-    1302:	e7ac		b	0x125e
-    1304:	9800		ldr	r0, [sp, #0]
-    1306:	7840		ldrb	r0, [r0, #1]
-    1308:	2800		cmp	r0, #0
-    130a:	d000		beq	0x130e
-    130c:	e090		b	0x1430
-    130e:	e7ae		b	0x126e
-    1310:	9800		ldr	r0, [sp, #0]
-    1312:	7840		ldrb	r0, [r0, #1]
-    1314:	2800		cmp	r0, #0
-    1316:	d000		beq	0x131a
-    1318:	e08a		b	0x1430
-    131a:	4669		mov	r1, sp
-    131c:	4668		mov	r0, sp
-    131e:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1320:	3001		add	r0, #1
-    1322:	7408		strb	r0, [r1, #16]	; 0x10
-    1324:	4668		mov	r0, sp
-    1326:	9900		ldr	r1, [sp, #0]
-    1328:	7909		ldrb	r1, [r1, #4]
-    132a:	7601		strb	r1, [r0, #24]	; 0x18
-    132c:	9801		ldr	r0, [sp, #4]
-    132e:	1c41		add	r1, r0, #1
-    1330:	9101		str	r1, [sp, #4]
-    1332:	4669		mov	r1, sp
-    1334:	7e09		ldrb	r1, [r1, #24]	; 0x18
-    1336:	7001		strb	r1, [r0, #0]
-    1338:	4668		mov	r0, sp
-    133a:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    133c:	2840		cmp	r0, #64	; 0x40
-    133e:	dd01		ble	0x1344
-    1340:	2004		mov	r0, #4
-    1342:	e055		b	0x13f0
-    1344:	9800		ldr	r0, [sp, #0]
-    1346:	3006		add	r0, #6
-    1348:	9007		str	r0, [sp, #28]	; 0x1c
-    134a:	2000		mov	r0, #0
-    134c:	9002		str	r0, [sp, #8]
-    134e:	9902		ldr	r1, [sp, #8]
-    1350:	4668		mov	r0, sp
-    1352:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1354:	4281		cmp	r1, r0
-    1356:	da6b		bge	0x1430
-    1358:	9801		ldr	r0, [sp, #4]
-    135a:	1c41		add	r1, r0, #1
-    135c:	9101		str	r1, [sp, #4]
-    135e:	9907		ldr	r1, [sp, #28]	; 0x1c
-    1360:	8809		ldrh	r1, [r1, #0]
-    1362:	0409		lsl	r1, r1, #16
-    1364:	0e09		lsr	r1, r1, #24
-    1366:	0209		lsl	r1, r1, #8
-    1368:	1209		asr	r1, r1, #8
-    136a:	7001		strb	r1, [r0, #0]
-    136c:	9807		ldr	r0, [sp, #28]	; 0x1c
-    136e:	8801		ldrh	r1, [r0, #0]
-    1370:	3002		add	r0, #2
-    1372:	9007		str	r0, [sp, #28]	; 0x1c
-    1374:	0608		lsl	r0, r1, #24
-    1376:	0e01		lsr	r1, r0, #24
-    1378:	9801		ldr	r0, [sp, #4]
-    137a:	1c42		add	r2, r0, #1
-    137c:	9201		str	r2, [sp, #4]
-    137e:	7001		strb	r1, [r0, #0]
-    1380:	4669		mov	r1, sp
-    1382:	4668		mov	r0, sp
-    1384:	7c00		ldrb	r0, [r0, #16]	; 0x10
-    1386:	3002		add	r0, #2
-    1388:	7408		strb	r0, [r1, #16]	; 0x10
-    138a:	9802		ldr	r0, [sp, #8]
-    138c:	3001		add	r0, #1
-    138e:	9002		str	r0, [sp, #8]
-    1390:	9902		ldr	r1, [sp, #8]
-    1392:	4668		mov	r0, sp
-    1394:	7e00		ldrb	r0, [r0, #24]	; 0x18
-    1396:	4281		cmp	r1, r0
-    1398:	dbde		blt	0x1358
-    139a:	e049		b	0x1430
-    139c:	9800		ldr	r0, [sp, #0]
-    139e:	7840		ldrb	r0, [r0, #1]
-    13a0:	2800		cmp	r0, #0
-    13a2:	d145		bne	0x1430
-    13a4:	4669		mov	r1, sp
-    13a6:	9800		ldr	r0, [sp, #0]
-    13a8:	8880		ldrh	r0, [r0, #4]
-    13aa:	8408		strh	r0, [r1, #32]	; 0x20
-    13ac:	9801		ldr	r0, [sp, #4]
-    13ae:	1c41		add	r1, r0, #1
-    13b0:	9101		str	r1, [sp, #4]
-    13b2:	4669		mov	r1, sp
-    13b4:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    13b6:	0409		lsl	r1, r1, #16
-    13b8:	0e09		lsr	r1, r1, #24
-    13ba:	0209		lsl	r1, r1, #8
-    13bc:	1209		asr	r1, r1, #8
-    13be:	7001		strb	r1, [r0, #0]
-    13c0:	9801		ldr	r0, [sp, #4]
-    13c2:	1c41		add	r1, r0, #1
-    13c4:	9101		str	r1, [sp, #4]
-    13c6:	4669		mov	r1, sp
-    13c8:	8c09		ldrh	r1, [r1, #32]	; 0x20
-    13ca:	0609		lsl	r1, r1, #24
-    13cc:	0e09		lsr	r1, r1, #24
-    13ce:	7001		strb	r1, [r0, #0]
-    13d0:	4668		mov	r0, sp
-    13d2:	9900		ldr	r1, [sp, #0]
-    13d4:	88c9		ldrh	r1, [r1, #6]
-    13d6:	8401		strh	r1, [r0, #32]	; 0x20
-    13d8:	9901		ldr	r1, [sp, #4]
-    13da:	1c48		add	r0, r1, #1
-    13dc:	9001		str	r0, [sp, #4]
-    13de:	4668		mov	r0, sp
-    13e0:	8c00		ldrh	r0, [r0, #32]	; 0x20
-    13e2:	0400		lsl	r0, r0, #16
-    13e4:	0e00		lsr	r0, r0, #24
-    13e6:	0200		lsl	r0, r0, #8
-    13e8:	1200		asr	r0, r0, #8
-    13ea:	7008		strb	r0, [r1, #0]
-    13ec:	e77e		b	0x12ec
-    13ee:	2008		mov	r0, #8
-    13f0:	9003		str	r0, [sp, #12]	; 0xc
-    13f2:	e01d		b	0x1430
-    13f4:	9800		ldr	r0, [sp, #0]
-    13f6:	7800		ldrb	r0, [r0, #0]
-    13f8:	280a		cmp	r0, #10	; 0xa
-    13fa:	d8f8		bhi	0x13ee
-    13fc:	a101		add	r1, pc, #4
-    13fe:	0080		lsl	r0, r0, #2
-    1400:	5808		ldr	r0, [r1, r0]
-    1402:	4687		mov	pc, r0
-    1404:	122a		asr	r2, r5, #8
-    1406:	0000		lsl	r0, r0, #0
-    1408:	1264		asr	r4, r4, #9
-    140a:	0000		lsl	r0, r0, #0
-    140c:	1282		asr	r2, r0, #10
-    140e:	0000		lsl	r0, r0, #0
-    1410:	128e		asr	r6, r1, #10
-    1412:	0000		lsl	r0, r0, #0
-    1414:	1430		asr	r0, r6, #16
-    1416:	0000		lsl	r0, r0, #0
-    1418:	129a		asr	r2, r3, #10
-    141a:	0000		lsl	r0, r0, #0
-    141c:	1304		asr	r4, r0, #12
-    141e:	0000		lsl	r0, r0, #0
-    1420:	1310		asr	r0, r2, #12
-    1422:	0000		lsl	r0, r0, #0
-    1424:	1430		asr	r0, r6, #16
-    1426:	0000		lsl	r0, r0, #0
-    1428:	139c		asr	r4, r3, #14
-    142a:	0000		lsl	r0, r0, #0
-    142c:	1430		asr	r0, r6, #16
-    142e:	0000		lsl	r0, r0, #0
-    1430:	9805		ldr	r0, [sp, #20]	; 0x14
-    1432:	4669		mov	r1, sp
-    1434:	7c09		ldrb	r1, [r1, #16]	; 0x10
-    1436:	7001		strb	r1, [r0, #0]
-    1438:	9803		ldr	r0, [sp, #12]	; 0xc
-    143a:	b009		add	sp, #36	; 0x24
-    143c:	4770		bx	lr
-    143e:	0000		lsl	r0, r0, #0
-    1440:	b500		push	{lr}
-    1442:	b083		sub	sp, #12	; 0xc
-    1444:	9101		str	r1, [sp, #4]
-    1446:	4669		mov	r1, sp
-    1448:	7008		strb	r0, [r1, #0]
-    144a:	2000		mov	r0, #0
-    144c:	9002		str	r0, [sp, #8]
-    144e:	e073		b	0x1538
-    1450:	4668		mov	r0, sp
-    1452:	7800		ldrb	r0, [r0, #0]
-    1454:	28aa		cmp	r0, #170	; 0xaa
-    1456:	d106		bne	0x1466
-    1458:	4965		ldr	r1, =0x83ff10	; via 0x15f0
-    145a:	4865		ldr	r0, =0x83ff10	; via 0x15f0
-    145c:	6800		ldr	r0, [r0, #0]
-    145e:	3001		add	r0, #1
-    1460:	07c0		lsl	r0, r0, #31
-    1462:	0fc0		lsr	r0, r0, #31
-    1464:	e013		b	0x148e
-    1466:	4862		ldr	r0, =0x83ff10	; via 0x15f0
-    1468:	6800		ldr	r0, [r0, #0]
-    146a:	2800		cmp	r0, #0
-    146c:	d06b		beq	0x1546
-    146e:	4961		ldr	r1, =0x83ff04	; via 0x15f4
-    1470:	9801		ldr	r0, [sp, #4]
-    1472:	3001		add	r0, #1
-    1474:	6008		str	r0, [r1, #0]
-    1476:	4960		ldr	r1, =0x83ff0e	; via 0x15f8
-    1478:	2000		mov	r0, #0
-    147a:	7008		strb	r0, [r1, #0]
-    147c:	495f		ldr	r1, =0x83ff0c	; via 0x15fc
-    147e:	4668		mov	r0, sp
-    1480:	7800		ldrb	r0, [r0, #0]
-    1482:	8008		strh	r0, [r1, #0]
-    1484:	495a		ldr	r1, =0x83ff10	; via 0x15f0
-    1486:	2000		mov	r0, #0
-    1488:	6008		str	r0, [r1, #0]
-    148a:	495d		ldr	r1, =0x83ff08	; via 0x1600
-    148c:	2001		mov	r0, #1
-    148e:	6008		str	r0, [r1, #0]
-    1490:	e059		b	0x1546
-    1492:	4668		mov	r0, sp
-    1494:	7800		ldrb	r0, [r0, #0]
-    1496:	28aa		cmp	r0, #170	; 0xaa
-    1498:	d113		bne	0x14c2
-    149a:	4855		ldr	r0, =0x83ff10	; via 0x15f0
-    149c:	6800		ldr	r0, [r0, #0]
-    149e:	2800		cmp	r0, #0
-    14a0:	d00b		beq	0x14ba
-    14a2:	4954		ldr	r1, =0x83ff04	; via 0x15f4
-    14a4:	6808		ldr	r0, [r1, #0]
-    14a6:	1c42		add	r2, r0, #1
-    14a8:	600a		str	r2, [r1, #0]
-    14aa:	4669		mov	r1, sp
-    14ac:	7809		ldrb	r1, [r1, #0]
-    14ae:	7001		strb	r1, [r0, #0]
-    14b0:	4951		ldr	r1, =0x83ff0e	; via 0x15f8
-    14b2:	7808		ldrb	r0, [r1, #0]
-    14b4:	3001		add	r0, #1
-    14b6:	7008		strb	r0, [r1, #0]
-    14b8:	e013		b	0x14e2
-    14ba:	2101		mov	r1, #1
-    14bc:	484c		ldr	r0, =0x83ff10	; via 0x15f0
-    14be:	6001		str	r1, [r0, #0]
-    14c0:	e01c		b	0x14fc
-    14c2:	484b		ldr	r0, =0x83ff10	; via 0x15f0
-    14c4:	6800		ldr	r0, [r0, #0]
-    14c6:	2800		cmp	r0, #0
-    14c8:	d00d		beq	0x14e6
-    14ca:	494a		ldr	r1, =0x83ff04	; via 0x15f4
-    14cc:	9801		ldr	r0, [sp, #4]
-    14ce:	3001		add	r0, #1
-    14d0:	6008		str	r0, [r1, #0]
-    14d2:	4849		ldr	r0, =0x83ff0e	; via 0x15f8
-    14d4:	2100		mov	r1, #0
-    14d6:	7001		strb	r1, [r0, #0]
-    14d8:	4948		ldr	r1, =0x83ff0c	; via 0x15fc
-    14da:	4668		mov	r0, sp
-    14dc:	7800		ldrb	r0, [r0, #0]
-    14de:	3001		add	r0, #1
-    14e0:	8008		strh	r0, [r1, #0]
-    14e2:	2100		mov	r1, #0
-    14e4:	e7ea		b	0x14bc
-    14e6:	4843		ldr	r0, =0x83ff04	; via 0x15f4
-    14e8:	6801		ldr	r1, [r0, #0]
-    14ea:	1c4a		add	r2, r1, #1
-    14ec:	6002		str	r2, [r0, #0]
-    14ee:	4668		mov	r0, sp
-    14f0:	7800		ldrb	r0, [r0, #0]
-    14f2:	7008		strb	r0, [r1, #0]
-    14f4:	4940		ldr	r1, =0x83ff0e	; via 0x15f8
-    14f6:	7808		ldrb	r0, [r1, #0]
-    14f8:	3001		add	r0, #1
-    14fa:	7008		strb	r0, [r1, #0]
-    14fc:	483f		ldr	r0, =0x83ff0c	; via 0x15fc
-    14fe:	8801		ldrh	r1, [r0, #0]
-    1500:	3901		sub	r1, #1
-    1502:	8001		strh	r1, [r0, #0]
-    1504:	483d		ldr	r0, =0x83ff0c	; via 0x15fc
-    1506:	8800		ldrh	r0, [r0, #0]
-    1508:	2800		cmp	r0, #0
-    150a:	d11c		bne	0x1546
-    150c:	9901		ldr	r1, [sp, #4]
-    150e:	483a		ldr	r0, =0x83ff0e	; via 0x15f8
-    1510:	7800		ldrb	r0, [r0, #0]
-    1512:	7008		strb	r0, [r1, #0]
-    1514:	2001		mov	r0, #1
-    1516:	9002		str	r0, [sp, #8]
-    1518:	4839		ldr	r0, =0x83ff08	; via 0x1600
-    151a:	2100		mov	r1, #0
-    151c:	6001		str	r1, [r0, #0]
-    151e:	4834		ldr	r0, =0x83ff10	; via 0x15f0
-    1520:	6001		str	r1, [r0, #0]
-    1522:	9801		ldr	r0, [sp, #4]
-    1524:	7800		ldrb	r0, [r0, #0]
-    1526:	2801		cmp	r0, #1
-    1528:	d10d		bne	0x1546
-    152a:	9801		ldr	r0, [sp, #4]
-    152c:	7840		ldrb	r0, [r0, #1]
-    152e:	28dd		cmp	r0, #221	; 0xdd
-    1530:	d109		bne	0x1546
-    1532:	f7ff faf7	bl	0xb24
-    1536:	e006		b	0x1546
-    1538:	4831		ldr	r0, =0x83ff08	; via 0x1600
-    153a:	6800		ldr	r0, [r0, #0]
-    153c:	2800		cmp	r0, #0
-    153e:	d087		beq	0x1450
-    1540:	3801		sub	r0, #1
-    1542:	2800		cmp	r0, #0
-    1544:	d0a5		beq	0x1492
-    1546:	9802		ldr	r0, [sp, #8]
-    1548:	b003		add	sp, #12	; 0xc
-    154a:	bd00		pop	{pc}
-    154c:	b086		sub	sp, #24	; 0x18
-    154e:	9202		str	r2, [sp, #8]
-    1550:	9101		str	r1, [sp, #4]
-    1552:	9000		str	r0, [sp, #0]
-    1554:	9801		ldr	r0, [sp, #4]
-    1556:	3001		add	r0, #1
-    1558:	9004		str	r0, [sp, #16]	; 0x10
-    155a:	9800		ldr	r0, [sp, #0]
-    155c:	1c41		add	r1, r0, #1
-    155e:	9100		str	r1, [sp, #0]
-    1560:	9005		str	r0, [sp, #20]	; 0x14
-    1562:	9901		ldr	r1, [sp, #4]
-    1564:	20aa		mov	r0, #170	; 0xaa
-    1566:	7008		strb	r0, [r1, #0]
-    1568:	9801		ldr	r0, [sp, #4]
-    156a:	3002		add	r0, #2
-    156c:	9001		str	r0, [sp, #4]
-    156e:	9902		ldr	r1, [sp, #8]
-    1570:	2000		mov	r0, #0
-    1572:	8008		strh	r0, [r1, #0]
-    1574:	4669		mov	r1, sp
-    1576:	8188		strh	r0, [r1, #12]	; 0xc
-    1578:	4668		mov	r0, sp
-    157a:	8981		ldrh	r1, [r0, #12]	; 0xc
-    157c:	9805		ldr	r0, [sp, #20]	; 0x14
-    157e:	7800		ldrb	r0, [r0, #0]
-    1580:	4281		cmp	r1, r0
-    1582:	da23		bge	0x15cc
-    1584:	9800		ldr	r0, [sp, #0]
-    1586:	7800		ldrb	r0, [r0, #0]
-    1588:	28aa		cmp	r0, #170	; 0xaa
-    158a:	d108		bne	0x159e
-    158c:	9801		ldr	r0, [sp, #4]
-    158e:	1c41		add	r1, r0, #1
-    1590:	9101		str	r1, [sp, #4]
-    1592:	21aa		mov	r1, #170	; 0xaa
-    1594:	7001		strb	r1, [r0, #0]
-    1596:	9902		ldr	r1, [sp, #8]
-    1598:	8808		ldrh	r0, [r1, #0]
-    159a:	3001		add	r0, #1
-    159c:	8008		strh	r0, [r1, #0]
-    159e:	9800		ldr	r0, [sp, #0]
-    15a0:	7801		ldrb	r1, [r0, #0]
-    15a2:	3001		add	r0, #1
-    15a4:	9000		str	r0, [sp, #0]
-    15a6:	9801		ldr	r0, [sp, #4]
-    15a8:	1c42		add	r2, r0, #1
-    15aa:	9201		str	r2, [sp, #4]
-    15ac:	7001		strb	r1, [r0, #0]
-    15ae:	9902		ldr	r1, [sp, #8]
-    15b0:	8808		ldrh	r0, [r1, #0]
-    15b2:	3001		add	r0, #1
-    15b4:	8008		strh	r0, [r1, #0]
-    15b6:	4669		mov	r1, sp
-    15b8:	4668		mov	r0, sp
-    15ba:	8980		ldrh	r0, [r0, #12]	; 0xc
-    15bc:	3001		add	r0, #1
-    15be:	8188		strh	r0, [r1, #12]	; 0xc
-    15c0:	4668		mov	r0, sp
-    15c2:	8980		ldrh	r0, [r0, #12]	; 0xc
-    15c4:	9905		ldr	r1, [sp, #20]	; 0x14
-    15c6:	7809		ldrb	r1, [r1, #0]
-    15c8:	4288		cmp	r0, r1
-    15ca:	dbdb		blt	0x1584
-    15cc:	9904		ldr	r1, [sp, #16]	; 0x10
-    15ce:	9802		ldr	r0, [sp, #8]
-    15d0:	7800		ldrb	r0, [r0, #0]
-    15d2:	7008		strb	r0, [r1, #0]
-    15d4:	9902		ldr	r1, [sp, #8]
-    15d6:	8808		ldrh	r0, [r1, #0]
-    15d8:	3002		add	r0, #2
-    15da:	8008		strh	r0, [r1, #0]
-    15dc:	b006		add	sp, #24	; 0x18
-    15de:	4770		bx	lr
-    15e0:	4907		ldr	r1, =0x83ff08	; via 0x1600
-    15e2:	2000		mov	r0, #0
-    15e4:	6008		str	r0, [r1, #0]
-    15e6:	4802		ldr	r0, =0x83ff10	; via 0x15f0
-    15e8:	2100		mov	r1, #0
-    15ea:	6001		str	r1, [r0, #0]
-    15ec:	4770		bx	lr
-    15ee:	46c0		nop			(mov r8, r8)
-    15f0:	ff10		<half-bl>
-    15f2:	0083		lsl	r3, r0, #2
-    15f4:	ff04		<half-bl>
-    15f6:	0083		lsl	r3, r0, #2
-    15f8:	ff0e		<half-bl>
-    15fa:	0083		lsl	r3, r0, #2
-    15fc:	ff0c		<half-bl>
-    15fe:	0083		lsl	r3, r0, #2
-    1600:	ff08		<half-bl>
-    1602:	0083		lsl	r3, r0, #2
-    1604:	b082		sub	sp, #8
-    1606:	9101		str	r1, [sp, #4]
-    1608:	9000		str	r0, [sp, #0]
-    160a:	9901		ldr	r1, [sp, #4]
-    160c:	2000		mov	r0, #0
-    160e:	7008		strb	r0, [r1, #0]
-    1610:	9801		ldr	r0, [sp, #4]
-    1612:	2100		mov	r1, #0
-    1614:	7041		strb	r1, [r0, #1]
-    1616:	9801		ldr	r0, [sp, #4]
-    1618:	2102		mov	r1, #2
-    161a:	7101		strb	r1, [r0, #4]
-    161c:	9801		ldr	r0, [sp, #4]
-    161e:	2106		mov	r1, #6
-    1620:	7141		strb	r1, [r0, #5]
-    1622:	9801		ldr	r0, [sp, #4]
-    1624:	2102		mov	r1, #2
-    1626:	7181		strb	r1, [r0, #6]
-    1628:	b002		add	sp, #8
-    162a:	4770		bx	lr
-    162c:	b500		push	{lr}
-    162e:	b084		sub	sp, #16	; 0x10
-    1630:	466b		mov	r3, sp
-    1632:	721a		strb	r2, [r3, #8]
-    1634:	9101		str	r1, [sp, #4]
-    1636:	9000		str	r0, [sp, #0]
-    1638:	9901		ldr	r1, [sp, #4]
-    163a:	2009		mov	r0, #9
-    163c:	7008		strb	r0, [r1, #0]
-    163e:	e015		b	0x166c
-    1640:	9801		ldr	r0, [sp, #4]
-    1642:	2100		mov	r1, #0
-    1644:	7041		strb	r1, [r0, #1]
-    1646:	9901		ldr	r1, [sp, #4]
-    1648:	4668		mov	r0, sp
-    164a:	8940		ldrh	r0, [r0, #10]	; 0xa
-    164c:	8088		strh	r0, [r1, #4]
-    164e:	9901		ldr	r1, [sp, #4]
-    1650:	4668		mov	r0, sp
-    1652:	8980		ldrh	r0, [r0, #12]	; 0xc
-    1654:	80c8		strh	r0, [r1, #6]
-    1656:	e01e		b	0x1696
-    1658:	2101		mov	r1, #1
-    165a:	e004		b	0x1666
-    165c:	2103		mov	r1, #3
-    165e:	e002		b	0x1666
-    1660:	2105		mov	r1, #5
-    1662:	e000		b	0x1666
-    1664:	2106		mov	r1, #6
-    1666:	9801		ldr	r0, [sp, #4]
-    1668:	7041		strb	r1, [r0, #1]
-    166a:	e014		b	0x1696
-    166c:	200a		mov	r0, #10	; 0xa
-    166e:	4468		add	r0, sp
-    1670:	a903		add	r1, sp, #12	; 0xc
-    1672:	466a		mov	r2, sp
-    1674:	7a12		ldrb	r2, [r2, #8]
-    1676:	f000 fb71	bl	0x1d5c
-    167a:	2800		cmp	r0, #0
-    167c:	d0e0		beq	0x1640
-    167e:	3801		sub	r0, #1
-    1680:	2800		cmp	r0, #0
-    1682:	d0e9		beq	0x1658
-    1684:	3801		sub	r0, #1
-    1686:	2800		cmp	r0, #0
-    1688:	d0e8		beq	0x165c
-    168a:	3801		sub	r0, #1
-    168c:	2800		cmp	r0, #0
-    168e:	d0e7		beq	0x1660
-    1690:	3801		sub	r0, #1
-    1692:	2800		cmp	r0, #0
-    1694:	d0e6		beq	0x1664
-    1696:	b004		add	sp, #16	; 0x10
-    1698:	bd00		pop	{pc}
-    169a:	b084		sub	sp, #16	; 0x10
-    169c:	9101		str	r1, [sp, #4]
-    169e:	9000		str	r0, [sp, #0]
-    16a0:	9901		ldr	r1, [sp, #4]
-    16a2:	200a		mov	r0, #10	; 0xa
-    16a4:	7008		strb	r0, [r1, #0]
-    16a6:	9801		ldr	r0, [sp, #4]
-    16a8:	2100		mov	r1, #0
-    16aa:	7041		strb	r1, [r0, #1]
-    16ac:	4669		mov	r1, sp
-    16ae:	9800		ldr	r0, [sp, #0]
-    16b0:	8880		ldrh	r0, [r0, #4]
-    16b2:	8108		strh	r0, [r1, #8]
-    16b4:	9800		ldr	r0, [sp, #0]
-    16b6:	88c0		ldrh	r0, [r0, #6]
-    16b8:	8148		strh	r0, [r1, #10]	; 0xa
-    16ba:	4668		mov	r0, sp
-    16bc:	8941		ldrh	r1, [r0, #10]	; 0xa
-    16be:	8900		ldrh	r0, [r0, #8]
-    16c0:	0400		lsl	r0, r0, #16
-    16c2:	1808		add	r0, r1, r0
-    16c4:	9003		str	r0, [sp, #12]	; 0xc
-    16c6:	9803		ldr	r0, [sp, #12]	; 0xc
-    16c8:	b004		add	sp, #16	; 0x10
-    16ca:	4770		bx	lr
-    16cc:	b085		sub	sp, #20	; 0x14
-    16ce:	9303		str	r3, [sp, #12]	; 0xc
-    16d0:	9202		str	r2, [sp, #8]
-    16d2:	9101		str	r1, [sp, #4]
-    16d4:	4669		mov	r1, sp
-    16d6:	7008		strb	r0, [r1, #0]
-    16d8:	48ea		ldr	r0, =0x83ff19	; via 0x1a84
-    16da:	7809		ldrb	r1, [r1, #0]
-    16dc:	7802		ldrb	r2, [r0, #0]
-    16de:	1889		add	r1, r1, r2
-    16e0:	7001		strb	r1, [r0, #0]
-    16e2:	48e9		ldr	r0, =0x83ff1a	; via 0x1a88
-    16e4:	7800		ldrb	r0, [r0, #0]
-    16e6:	2800		cmp	r0, #0
-    16e8:	d00e		beq	0x1708
-    16ea:	48e8		ldr	r0, =0x83ff26	; via 0x1a8c
-    16ec:	4669		mov	r1, sp
-    16ee:	780a		ldrb	r2, [r1, #0]
-    16f0:	8801		ldrh	r1, [r0, #0]
-    16f2:	1851		add	r1, r2, r1
-    16f4:	8001		strh	r1, [r0, #0]
-    16f6:	9903		ldr	r1, [sp, #12]	; 0xc
-    16f8:	48e4		ldr	r0, =0x83ff26	; via 0x1a8c
-    16fa:	8800		ldrh	r0, [r0, #0]
-    16fc:	8008		strh	r0, [r1, #0]
-    16fe:	9801		ldr	r0, [sp, #4]
-    1700:	2100		mov	r1, #0
-    1702:	6001		str	r1, [r0, #0]
-    1704:	2000		mov	r0, #0
-    1706:	e009		b	0x171c
-    1708:	9902		ldr	r1, [sp, #8]
-    170a:	6808		ldr	r0, [r1, #0]
-    170c:	3002		add	r0, #2
-    170e:	6008		str	r0, [r1, #0]
-    1710:	49de		ldr	r1, =0x83ff26	; via 0x1a8c
-    1712:	4668		mov	r0, sp
-    1714:	7800		ldrb	r0, [r0, #0]
-    1716:	0200		lsl	r0, r0, #8
-    1718:	8008		strh	r0, [r1, #0]
-    171a:	2001		mov	r0, #1
-    171c:	9004		str	r0, [sp, #16]	; 0x10
-    171e:	2001		mov	r0, #1
-    1720:	49d9		ldr	r1, =0x83ff1a	; via 0x1a88
-    1722:	7809		ldrb	r1, [r1, #0]
-    1724:	4388		bic	r0, r1
-    1726:	49d8		ldr	r1, =0x83ff1a	; via 0x1a88
-    1728:	7008		strb	r0, [r1, #0]
-    172a:	48d9		ldr	r0, =0x83ff24	; via 0x1a90
-    172c:	7801		ldrb	r1, [r0, #0]
-    172e:	3901		sub	r1, #1
-    1730:	7001		strb	r1, [r0, #0]
-    1732:	48d7		ldr	r0, =0x83ff24	; via 0x1a90
-    1734:	7800		ldrb	r0, [r0, #0]
-    1736:	2800		cmp	r0, #0
-    1738:	d102		bne	0x1740
-    173a:	48d6		ldr	r0, =0x83ff20	; via 0x1a94
-    173c:	2106		mov	r1, #6
-    173e:	6001		str	r1, [r0, #0]
-    1740:	9804		ldr	r0, [sp, #16]	; 0x10
-    1742:	b005		add	sp, #20	; 0x14
-    1744:	46f7		mov	pc, lr
-    1746:	b083		sub	sp, #12	; 0xc
-    1748:	9101		str	r1, [sp, #4]
-    174a:	4669		mov	r1, sp
-    174c:	7008		strb	r0, [r1, #0]
-    174e:	2001		mov	r0, #1
-    1750:	9002		str	r0, [sp, #8]
-    1752:	48d1		ldr	r0, =0x83ff1b	; via 0x1a98
-    1754:	7800		ldrb	r0, [r0, #0]
-    1756:	2800		cmp	r0, #0
-    1758:	d10a		bne	0x1770
-    175a:	4668		mov	r0, sp
-    175c:	7800		ldrb	r0, [r0, #0]
-    175e:	2853		cmp	r0, #83	; 0x53
-    1760:	d102		bne	0x1768
-    1762:	48cd		ldr	r0, =0x83ff1b	; via 0x1a98
-    1764:	2101		mov	r1, #1
-    1766:	e01a		b	0x179e
-    1768:	2101		mov	r1, #1
-    176a:	9801		ldr	r0, [sp, #4]
-    176c:	6001		str	r1, [r0, #0]
-    176e:	e03b		b	0x17e8
-    1770:	49c9		ldr	r1, =0x83ff1b	; via 0x1a98
-    1772:	2000		mov	r0, #0
-    1774:	7008		strb	r0, [r1, #0]
-    1776:	4668		mov	r0, sp
-    1778:	7800		ldrb	r0, [r0, #0]
-    177a:	2830		cmp	r0, #48	; 0x30
-    177c:	d111		bne	0x17a2
-    177e:	48c7		ldr	r0, =0x83ff18	; via 0x1a9c
-    1780:	7800		ldrb	r0, [r0, #0]
-    1782:	2800		cmp	r0, #0
-    1784:	d006		beq	0x1794
-    1786:	9901		ldr	r1, [sp, #4]
-    1788:	2001		mov	r0, #1
-    178a:	6008		str	r0, [r1, #0]
-    178c:	49c3		ldr	r1, =0x83ff18	; via 0x1a9c
-    178e:	2000		mov	r0, #0
-    1790:	7008		strb	r0, [r1, #0]
-    1792:	e02a		b	0x17ea
-    1794:	48bf		ldr	r0, =0x83ff20	; via 0x1a94
-    1796:	2102		mov	r1, #2
-    1798:	6001		str	r1, [r0, #0]
-    179a:	48ef		ldr	r0, =0x83ff1c	; via 0x1b58
-    179c:	2100		mov	r1, #0
-    179e:	7001		strb	r1, [r0, #0]
-    17a0:	e024		b	0x17ec
-    17a2:	4668		mov	r0, sp
-    17a4:	7800		ldrb	r0, [r0, #0]
-    17a6:	2833		cmp	r0, #51	; 0x33
-    17a8:	d105		bne	0x17b6
-    17aa:	48bc		ldr	r0, =0x83ff18	; via 0x1a9c
-    17ac:	7800		ldrb	r0, [r0, #0]
-    17ae:	2800		cmp	r0, #0
-    17b0:	d0da		beq	0x1768
-    17b2:	2004		mov	r0, #4
-    17b4:	e00c		b	0x17d0
-    17b6:	4668		mov	r0, sp
-    17b8:	7800		ldrb	r0, [r0, #0]
-    17ba:	2837		cmp	r0, #55	; 0x37
-    17bc:	d10e		bne	0x17dc
-    17be:	48b7		ldr	r0, =0x83ff18	; via 0x1a9c
-    17c0:	7800		ldrb	r0, [r0, #0]
-    17c2:	2800		cmp	r0, #0
-    17c4:	d103		bne	0x17ce
-    17c6:	9901		ldr	r1, [sp, #4]
-    17c8:	2001		mov	r0, #1
-    17ca:	6008		str	r0, [r1, #0]
-    17cc:	e00c		b	0x17e8
-    17ce:	2003		mov	r0, #3
-    17d0:	49b0		ldr	r1, =0x83ff20	; via 0x1a94
-    17d2:	6008		str	r0, [r1, #0]
-    17d4:	2000		mov	r0, #0
-    17d6:	49e0		ldr	r1, =0x83ff1c	; via 0x1b58
-    17d8:	7008		strb	r0, [r1, #0]
-    17da:	e007		b	0x17ec
-    17dc:	9901		ldr	r1, [sp, #4]
-    17de:	2001		mov	r0, #1
-    17e0:	6008		str	r0, [r1, #0]
-    17e2:	48ae		ldr	r0, =0x83ff18	; via 0x1a9c
-    17e4:	2100		mov	r1, #0
-    17e6:	7001		strb	r1, [r0, #0]
-    17e8:	2000		mov	r0, #0
-    17ea:	9002		str	r0, [sp, #8]
-    17ec:	9802		ldr	r0, [sp, #8]
-    17ee:	b003		add	sp, #12	; 0xc
-    17f0:	46f7		mov	pc, lr
-    17f2:	b083		sub	sp, #12	; 0xc
-    17f4:	9101		str	r1, [sp, #4]
-    17f6:	4669		mov	r1, sp
-    17f8:	7008		strb	r0, [r1, #0]
-    17fa:	2001		mov	r0, #1
-    17fc:	9002		str	r0, [sp, #8]
-    17fe:	49d7		ldr	r1, =0x830	; via 0x1b5c
-    1800:	48d5		ldr	r0, =0x83ff1c	; via 0x1b58
-    1802:	7800		ldrb	r0, [r0, #0]
-    1804:	0080		lsl	r0, r0, #2
-    1806:	5808		ldr	r0, [r1, r0]
-    1808:	4669		mov	r1, sp
-    180a:	7809		ldrb	r1, [r1, #0]
-    180c:	4281		cmp	r1, r0
-    180e:	d10d		bne	0x182c
-    1810:	49d1		ldr	r1, =0x83ff1c	; via 0x1b58
-    1812:	7808		ldrb	r0, [r1, #0]
-    1814:	3001		add	r0, #1
-    1816:	7008		strb	r0, [r1, #0]
-    1818:	48cf		ldr	r0, =0x83ff1c	; via 0x1b58
-    181a:	7800		ldrb	r0, [r0, #0]
-    181c:	2807		cmp	r0, #7
-    181e:	d10d		bne	0x183c
-    1820:	489c		ldr	r0, =0x83ff20	; via 0x1a94
-    1822:	2101		mov	r1, #1
-    1824:	6001		str	r1, [r0, #0]
-    1826:	489d		ldr	r0, =0x83ff18	; via 0x1a9c
-    1828:	7001		strb	r1, [r0, #0]
-    182a:	e007		b	0x183c
-    182c:	9801		ldr	r0, [sp, #4]
-    182e:	2101		mov	r1, #1
-    1830:	6001		str	r1, [r0, #0]
-    1832:	4998		ldr	r1, =0x83ff20	; via 0x1a94
-    1834:	2001		mov	r0, #1
-    1836:	6008		str	r0, [r1, #0]
-    1838:	2000		mov	r0, #0
-    183a:	9002		str	r0, [sp, #8]
-    183c:	9802		ldr	r0, [sp, #8]
-    183e:	b003		add	sp, #12	; 0xc
-    1840:	46f7		mov	pc, lr
-    1842:	b083		sub	sp, #12	; 0xc
-    1844:	9101		str	r1, [sp, #4]
-    1846:	4669		mov	r1, sp
-    1848:	7008		strb	r0, [r1, #0]
-    184a:	2001		mov	r0, #1
-    184c:	9002		str	r0, [sp, #8]
-    184e:	49c4		ldr	r1, =0x84c	; via 0x1b60
-    1850:	48c1		ldr	r0, =0x83ff1c	; via 0x1b58
-    1852:	7800		ldrb	r0, [r0, #0]
-    1854:	0080		lsl	r0, r0, #2
-    1856:	5808		ldr	r0, [r1, r0]
-    1858:	4669		mov	r1, sp
-    185a:	7809		ldrb	r1, [r1, #0]
-    185c:	4281		cmp	r1, r0
-    185e:	d112		bne	0x1886
-    1860:	49bd		ldr	r1, =0x83ff1c	; via 0x1b58
-    1862:	7808		ldrb	r0, [r1, #0]
-    1864:	3001		add	r0, #1
-    1866:	7008		strb	r0, [r1, #0]
-    1868:	48bb		ldr	r0, =0x83ff1c	; via 0x1b58
-    186a:	7800		ldrb	r0, [r0, #0]
-    186c:	2806		cmp	r0, #6
-    186e:	d114		bne	0x189a
-    1870:	9801		ldr	r0, [sp, #4]
-    1872:	2102		mov	r1, #2
-    1874:	6001		str	r1, [r0, #0]
-    1876:	4887		ldr	r0, =0x83ff20	; via 0x1a94
-    1878:	2101		mov	r1, #1
-    187a:	6001		str	r1, [r0, #0]
-    187c:	4887		ldr	r0, =0x83ff18	; via 0x1a9c
-    187e:	2100		mov	r1, #0
-    1880:	7001		strb	r1, [r0, #0]
-    1882:	2000		mov	r0, #0
-    1884:	e008		b	0x1898
-    1886:	9801		ldr	r0, [sp, #4]
-    1888:	2101		mov	r1, #1
-    188a:	6001		str	r1, [r0, #0]
-    188c:	4981		ldr	r1, =0x83ff20	; via 0x1a94
-    188e:	2001		mov	r0, #1
-    1890:	6008		str	r0, [r1, #0]
-    1892:	4982		ldr	r1, =0x83ff18	; via 0x1a9c
-    1894:	2000		mov	r0, #0
-    1896:	7008		strb	r0, [r1, #0]
-    1898:	9002		str	r0, [sp, #8]
-    189a:	9802		ldr	r0, [sp, #8]
-    189c:	b003		add	sp, #12	; 0xc
-    189e:	46f7		mov	pc, lr
-    18a0:	b081		sub	sp, #4
-    18a2:	4669		mov	r1, sp
-    18a4:	7008		strb	r0, [r1, #0]
-    18a6:	497a		ldr	r1, =0x83ff24	; via 0x1a90
-    18a8:	4668		mov	r0, sp
-    18aa:	7800		ldrb	r0, [r0, #0]
-    18ac:	3801		sub	r0, #1
-    18ae:	7008		strb	r0, [r1, #0]
-    18b0:	4874		ldr	r0, =0x83ff19	; via 0x1a84
-    18b2:	4669		mov	r1, sp
-    18b4:	7809		ldrb	r1, [r1, #0]
-    18b6:	7001		strb	r1, [r0, #0]
-    18b8:	48a7		ldr	r0, =0x83ff1c	; via 0x1b58
-    18ba:	2100		mov	r1, #0
-    18bc:	7001		strb	r1, [r0, #0]
-    18be:	48e3		ldr	r0, =0x83ff14	; via 0x1c4c
-    18c0:	6001		str	r1, [r0, #0]
-    18c2:	4874		ldr	r0, =0x83ff20	; via 0x1a94
-    18c4:	2105		mov	r1, #5
-    18c6:	6001		str	r1, [r0, #0]
-    18c8:	b001		add	sp, #4
-    18ca:	46f7		mov	pc, lr
-    18cc:	b084		sub	sp, #16	; 0x10
-    18ce:	9202		str	r2, [sp, #8]
-    18d0:	9101		str	r1, [sp, #4]
-    18d2:	4669		mov	r1, sp
-    18d4:	7008		strb	r0, [r1, #0]
-    18d6:	2001		mov	r0, #1
-    18d8:	9003		str	r0, [sp, #12]	; 0xc
-    18da:	496d		ldr	r1, =0x83ff24	; via 0x1a90
-    18dc:	7808		ldrb	r0, [r1, #0]
-    18de:	3801		sub	r0, #1
-    18e0:	7008		strb	r0, [r1, #0]
-    18e2:	486b		ldr	r0, =0x83ff24	; via 0x1a90
-    18e4:	7800		ldrb	r0, [r0, #0]
-    18e6:	2800		cmp	r0, #0
-    18e8:	d026		beq	0x1938
-    18ea:	4866		ldr	r0, =0x83ff19	; via 0x1a84
-    18ec:	4669		mov	r1, sp
-    18ee:	780a		ldrb	r2, [r1, #0]
-    18f0:	7801		ldrb	r1, [r0, #0]
-    18f2:	1851		add	r1, r2, r1
-    18f4:	7001		strb	r1, [r0, #0]
-    18f6:	4998		ldr	r1, =0x83ff1c	; via 0x1b58
-    18f8:	7808		ldrb	r0, [r1, #0]
-    18fa:	3001		add	r0, #1
-    18fc:	7008		strb	r0, [r1, #0]
-    18fe:	49d3		ldr	r1, =0x83ff14	; via 0x1c4c
-    1900:	2204		mov	r2, #4
-    1902:	4895		ldr	r0, =0x83ff1c	; via 0x1b58
-    1904:	7800		ldrb	r0, [r0, #0]
-    1906:	1a10		sub	r0, r2, r0
-    1908:	00c2		lsl	r2, r0, #3
-    190a:	4668		mov	r0, sp
-    190c:	7800		ldrb	r0, [r0, #0]
-    190e:	4090		lsl	r0, r2
-    1910:	680a		ldr	r2, [r1, #0]
-    1912:	1880		add	r0, r0, r2
-    1914:	6008		str	r0, [r1, #0]
-    1916:	4890		ldr	r0, =0x83ff1c	; via 0x1b58
-    1918:	7800		ldrb	r0, [r0, #0]
-    191a:	2804		cmp	r0, #4
-    191c:	d117		bne	0x194e
-    191e:	9902		ldr	r1, [sp, #8]
-    1920:	48ca		ldr	r0, =0x83ff14	; via 0x1c4c
-    1922:	6800		ldr	r0, [r0, #0]
-    1924:	3802		sub	r0, #2
-    1926:	6008		str	r0, [r1, #0]
-    1928:	485a		ldr	r0, =0x83ff20	; via 0x1a94
-    192a:	2100		mov	r1, #0
-    192c:	6001		str	r1, [r0, #0]
-    192e:	4856		ldr	r0, =0x83ff1a	; via 0x1a88
-    1930:	7001		strb	r1, [r0, #0]
-    1932:	4889		ldr	r0, =0x83ff1c	; via 0x1b58
-    1934:	7001		strb	r1, [r0, #0]
-    1936:	e00a		b	0x194e
-    1938:	9801		ldr	r0, [sp, #4]
-    193a:	2101		mov	r1, #1
-    193c:	6001		str	r1, [r0, #0]
-    193e:	4955		ldr	r1, =0x83ff20	; via 0x1a94
-    1940:	2001		mov	r0, #1
-    1942:	6008		str	r0, [r1, #0]
-    1944:	4855		ldr	r0, =0x83ff18	; via 0x1a9c
-    1946:	2100		mov	r1, #0
-    1948:	7001		strb	r1, [r0, #0]
-    194a:	2000		mov	r0, #0
-    194c:	9003		str	r0, [sp, #12]	; 0xc
-    194e:	9803		ldr	r0, [sp, #12]	; 0xc
-    1950:	b004		add	sp, #16	; 0x10
-    1952:	46f7		mov	pc, lr
-    1954:	b083		sub	sp, #12	; 0xc
-    1956:	9101		str	r1, [sp, #4]
-    1958:	4669		mov	r1, sp
-    195a:	7008		strb	r0, [r1, #0]
-    195c:	2001		mov	r0, #1
-    195e:	9002		str	r0, [sp, #8]
-    1960:	494c		ldr	r1, =0x83ff20	; via 0x1a94
-    1962:	6008		str	r0, [r1, #0]
-    1964:	20ff		mov	r0, #255	; 0xff
-    1966:	4669		mov	r1, sp
-    1968:	7809		ldrb	r1, [r1, #0]
-    196a:	4388		bic	r0, r1
-    196c:	4945		ldr	r1, =0x83ff19	; via 0x1a84
-    196e:	7809		ldrb	r1, [r1, #0]
-    1970:	4281		cmp	r1, r0
-    1972:	d007		beq	0x1984
-    1974:	9801		ldr	r0, [sp, #4]
-    1976:	2101		mov	r1, #1
-    1978:	6001		str	r1, [r0, #0]
-    197a:	4848		ldr	r0, =0x83ff18	; via 0x1a9c
-    197c:	2100		mov	r1, #0
-    197e:	7001		strb	r1, [r0, #0]
-    1980:	2000		mov	r0, #0
-    1982:	9002		str	r0, [sp, #8]
-    1984:	9802		ldr	r0, [sp, #8]
-    1986:	b003		add	sp, #12	; 0xc
-    1988:	46f7		mov	pc, lr
-    198a:	b085		sub	sp, #20	; 0x14
-    198c:	466b		mov	r3, sp
-    198e:	719a		strb	r2, [r3, #6]
-    1990:	466a		mov	r2, sp
-    1992:	8091		strh	r1, [r2, #4]
-    1994:	9000		str	r0, [sp, #0]
-    1996:	9800		ldr	r0, [sp, #0]
-    1998:	9002		str	r0, [sp, #8]
-    199a:	4669		mov	r1, sp
-    199c:	4668		mov	r0, sp
-    199e:	8880		ldrh	r0, [r0, #4]
-    19a0:	8208		strh	r0, [r1, #16]	; 0x10
-    19a2:	4668		mov	r0, sp
-    19a4:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    19a6:	2800		cmp	r0, #0
-    19a8:	d01e		beq	0x19e8
-    19aa:	49e3		ldr	r1, =0x864	; via 0x1d38
-    19ac:	4668		mov	r0, sp
-    19ae:	7980		ldrb	r0, [r0, #6]
-    19b0:	0080		lsl	r0, r0, #2
-    19b2:	5808		ldr	r0, [r1, r0]
-    19b4:	7941		ldrb	r1, [r0, #5]
-    19b6:	4668		mov	r0, sp
-    19b8:	7301		strb	r1, [r0, #12]	; 0xc
-    19ba:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    19bc:	0980		lsr	r0, r0, #6
-    19be:	d3f4		bcc	0x19aa
-    19c0:	49dd		ldr	r1, =0x864	; via 0x1d38
-    19c2:	4668		mov	r0, sp
-    19c4:	7980		ldrb	r0, [r0, #6]
-    19c6:	0080		lsl	r0, r0, #2
-    19c8:	5809		ldr	r1, [r1, r0]
-    19ca:	9802		ldr	r0, [sp, #8]
-    19cc:	7800		ldrb	r0, [r0, #0]
-    19ce:	7008		strb	r0, [r1, #0]
-    19d0:	9802		ldr	r0, [sp, #8]
-    19d2:	3001		add	r0, #1
-    19d4:	9002		str	r0, [sp, #8]
-    19d6:	4669		mov	r1, sp
-    19d8:	4668		mov	r0, sp
-    19da:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    19dc:	3801		sub	r0, #1
-    19de:	8208		strh	r0, [r1, #16]	; 0x10
-    19e0:	4668		mov	r0, sp
-    19e2:	8a00		ldrh	r0, [r0, #16]	; 0x10
-    19e4:	2800		cmp	r0, #0
-    19e6:	d1e0		bne	0x19aa
-    19e8:	b005		add	sp, #20	; 0x14
-    19ea:	46f7		mov	pc, lr
-    19ec:	b082		sub	sp, #8
-    19ee:	4669		mov	r1, sp
-    19f0:	7008		strb	r0, [r1, #0]
-    19f2:	2000		mov	r0, #0
-    19f4:	8088		strh	r0, [r1, #4]
-    19f6:	4668		mov	r0, sp
-    19f8:	8881		ldrh	r1, [r0, #4]
-    19fa:	20ff		mov	r0, #255	; 0xff
-    19fc:	30f5		add	r0, #245	; 0xf5
-    19fe:	4281		cmp	r1, r0
-    1a00:	da21		bge	0x1a46
-    1a02:	4669		mov	r1, sp
-    1a04:	4668		mov	r0, sp
-    1a06:	8880		ldrh	r0, [r0, #4]
-    1a08:	3001		add	r0, #1
-    1a0a:	8088		strh	r0, [r1, #4]
-    1a0c:	48ca		ldr	r0, =0x864	; via 0x1d38
-    1a0e:	7809		ldrb	r1, [r1, #0]
-    1a10:	0089		lsl	r1, r1, #2
-    1a12:	5840		ldr	r0, [r0, r1]
-    1a14:	7940		ldrb	r0, [r0, #5]
-    1a16:	4669		mov	r1, sp
-    1a18:	7048		strb	r0, [r1, #1]
-    1a1a:	4668		mov	r0, sp
-    1a1c:	7840		ldrb	r0, [r0, #1]
-    1a1e:	0840		lsr	r0, r0, #1
-    1a20:	d30b		bcc	0x1a3a
-    1a22:	49c5		ldr	r1, =0x864	; via 0x1d38
-    1a24:	4668		mov	r0, sp
-    1a26:	7800		ldrb	r0, [r0, #0]
-    1a28:	0080		lsl	r0, r0, #2
-    1a2a:	5808		ldr	r0, [r1, r0]
-    1a2c:	7800		ldrb	r0, [r0, #0]
-    1a2e:	0600		lsl	r0, r0, #24
-    1a30:	0e00		lsr	r0, r0, #24
-    1a32:	4669		mov	r1, sp
-    1a34:	7088		strb	r0, [r1, #2]
-    1a36:	2000		mov	r0, #0
-    1a38:	8088		strh	r0, [r1, #4]
-    1a3a:	4668		mov	r0, sp
-    1a3c:	8881		ldrh	r1, [r0, #4]
-    1a3e:	20ff		mov	r0, #255	; 0xff
-    1a40:	30f5		add	r0, #245	; 0xf5
-    1a42:	4281		cmp	r1, r0
-    1a44:	dbdd		blt	0x1a02
-    1a46:	b002		add	sp, #8
-    1a48:	4770		bx	lr
-    1a4a:	b500		push	{lr}
-    1a4c:	b08c		sub	sp, #48	; 0x30
-    1a4e:	466a		mov	r2, sp
-    1a50:	7111		strb	r1, [r2, #4]
-    1a52:	9000		str	r0, [sp, #0]
-    1a54:	2001		mov	r0, #1
-    1a56:	9002		str	r0, [sp, #8]
-    1a58:	9800		ldr	r0, [sp, #0]
-    1a5a:	a904		add	r1, sp, #16	; 0x10
-    1a5c:	aa03		add	r2, sp, #12	; 0xc
-    1a5e:	f7ff fd75	bl	0x154c
-    1a62:	4668		mov	r0, sp
-    1a64:	8980		ldrh	r0, [r0, #12]	; 0xc
-    1a66:	2820		cmp	r0, #32	; 0x20
-    1a68:	dd02		ble	0x1a70
-    1a6a:	2000		mov	r0, #0
-    1a6c:	9002		str	r0, [sp, #8]
-    1a6e:	e006		b	0x1a7e
-    1a70:	a804		add	r0, sp, #16	; 0x10
-    1a72:	4669		mov	r1, sp
-    1a74:	8989		ldrh	r1, [r1, #12]	; 0xc
-    1a76:	466a		mov	r2, sp
-    1a78:	7912		ldrb	r2, [r2, #4]
-    1a7a:	f7ff ff86	bl	0x198a
-    1a7e:	9802		ldr	r0, [sp, #8]
-    1a80:	b00c		add	sp, #48	; 0x30
-    1a82:	bd00		pop	{pc}
-    1a84:	ff19		<half-bl>
-    1a86:	0083		lsl	r3, r0, #2
-    1a88:	ff1a		<half-bl>
-    1a8a:	0083		lsl	r3, r0, #2
-    1a8c:	ff26		<half-bl>
-    1a8e:	0083		lsl	r3, r0, #2
-    1a90:	ff24		<half-bl>
-    1a92:	0083		lsl	r3, r0, #2
-    1a94:	ff20		<half-bl>
-    1a96:	0083		lsl	r3, r0, #2
-    1a98:	ff1b		<half-bl>
-    1a9a:	0083		lsl	r3, r0, #2
-    1a9c:	ff18		<half-bl>
-    1a9e:	0083		lsl	r3, r0, #2
-    1aa0:	b500		push	{lr}
-    1aa2:	b084		sub	sp, #16	; 0x10
-    1aa4:	9101		str	r1, [sp, #4]
-    1aa6:	9000		str	r0, [sp, #0]
-    1aa8:	4669		mov	r1, sp
-    1aaa:	20ff		mov	r0, #255	; 0xff
-    1aac:	7308		strb	r0, [r1, #12]	; 0xc
-    1aae:	2000		mov	r0, #0
-    1ab0:	9002		str	r0, [sp, #8]
-    1ab2:	4669		mov	r1, sp
-    1ab4:	48a1		ldr	r0, =0xffff5805	; via 0x1d3c
-    1ab6:	7800		ldrb	r0, [r0, #0]
-    1ab8:	7348		strb	r0, [r1, #13]	; 0xd
-    1aba:	48a1		ldr	r0, =0xffff5005	; via 0x1d40
-    1abc:	7800		ldrb	r0, [r0, #0]
-    1abe:	7388		strb	r0, [r1, #14]	; 0xe
-    1ac0:	4668		mov	r0, sp
-    1ac2:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1ac4:	0840		lsr	r0, r0, #1
-    1ac6:	d206		bcs	0x1ad6
-    1ac8:	4668		mov	r0, sp
-    1aca:	7b80		ldrb	r0, [r0, #14]	; 0xe
-    1acc:	0840		lsr	r0, r0, #1
-    1ace:	d202		bcs	0x1ad6
-    1ad0:	9801		ldr	r0, [sp, #4]
-    1ad2:	2800		cmp	r0, #0
-    1ad4:	d0ed		beq	0x1ab2
-    1ad6:	4668		mov	r0, sp
-    1ad8:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1ada:	0840		lsr	r0, r0, #1
-    1adc:	d316		bcc	0x1b0c
-    1ade:	4669		mov	r1, sp
-    1ae0:	2000		mov	r0, #0
-    1ae2:	7308		strb	r0, [r1, #12]	; 0xc
-    1ae4:	4994		ldr	r1, =0x864	; via 0x1d38
-    1ae6:	4668		mov	r0, sp
-    1ae8:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1aea:	0080		lsl	r0, r0, #2
-    1aec:	5808		ldr	r0, [r1, r0]
-    1aee:	7800		ldrb	r0, [r0, #0]
-    1af0:	0600		lsl	r0, r0, #24
-    1af2:	0e00		lsr	r0, r0, #24
-    1af4:	4669		mov	r1, sp
-    1af6:	73c8		strb	r0, [r1, #15]	; 0xf
-    1af8:	4668		mov	r0, sp
-    1afa:	7bc0		ldrb	r0, [r0, #15]	; 0xf
-    1afc:	9900		ldr	r1, [sp, #0]
-    1afe:	f7ff fc9f	bl	0x1440
-    1b02:	9002		str	r0, [sp, #8]
-    1b04:	9802		ldr	r0, [sp, #8]
-    1b06:	2800		cmp	r0, #0
-    1b08:	d11c		bne	0x1b44
-    1b0a:	e018		b	0x1b3e
-    1b0c:	4668		mov	r0, sp
-    1b0e:	7b80		ldrb	r0, [r0, #14]	; 0xe
-    1b10:	0840		lsr	r0, r0, #1
-    1b12:	d317		bcc	0x1b44
-    1b14:	4669		mov	r1, sp
-    1b16:	2001		mov	r0, #1
-    1b18:	7308		strb	r0, [r1, #12]	; 0xc
-    1b1a:	4987		ldr	r1, =0x864	; via 0x1d38
-    1b1c:	4668		mov	r0, sp
-    1b1e:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1b20:	0080		lsl	r0, r0, #2
-    1b22:	5808		ldr	r0, [r1, r0]
-    1b24:	7800		ldrb	r0, [r0, #0]
-    1b26:	0600		lsl	r0, r0, #24
-    1b28:	0e01		lsr	r1, r0, #24
-    1b2a:	4668		mov	r0, sp
-    1b2c:	73c1		strb	r1, [r0, #15]	; 0xf
-    1b2e:	7bc0		ldrb	r0, [r0, #15]	; 0xf
-    1b30:	9900		ldr	r1, [sp, #0]
-    1b32:	f7ff fc85	bl	0x1440
-    1b36:	9002		str	r0, [sp, #8]
-    1b38:	9802		ldr	r0, [sp, #8]
-    1b3a:	2800		cmp	r0, #0
-    1b3c:	d102		bne	0x1b44
-    1b3e:	20ff		mov	r0, #255	; 0xff
-    1b40:	4669		mov	r1, sp
-    1b42:	7308		strb	r0, [r1, #12]	; 0xc
-    1b44:	9802		ldr	r0, [sp, #8]
-    1b46:	2800		cmp	r0, #0
-    1b48:	d102		bne	0x1b50
-    1b4a:	9801		ldr	r0, [sp, #4]
-    1b4c:	2800		cmp	r0, #0
-    1b4e:	d0b0		beq	0x1ab2
-    1b50:	4668		mov	r0, sp
-    1b52:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1b54:	b004		add	sp, #16	; 0x10
-    1b56:	bd00		pop	{pc}
-    1b58:	ff1c		<half-bl>
-    1b5a:	0083		lsl	r3, r0, #2
-    1b5c:	0830		lsr	r0, r6, #32
-    1b5e:	0000		lsl	r0, r0, #0
-    1b60:	084c		lsr	r4, r1, #1
-    1b62:	0000		lsl	r0, r0, #0
-    1b64:	b500		push	{lr}
-    1b66:	b086		sub	sp, #24	; 0x18
-    1b68:	466b		mov	r3, sp
-    1b6a:	721a		strb	r2, [r3, #8]
-    1b6c:	9101		str	r1, [sp, #4]
-    1b6e:	9000		str	r0, [sp, #0]
-    1b70:	2001		mov	r0, #1
-    1b72:	9004		str	r0, [sp, #16]	; 0x10
-    1b74:	9804		ldr	r0, [sp, #16]	; 0x10
-    1b76:	2800		cmp	r0, #0
-    1b78:	d05b		beq	0x1c32
-    1b7a:	496f		ldr	r1, =0x864	; via 0x1d38
-    1b7c:	4668		mov	r0, sp
-    1b7e:	7a00		ldrb	r0, [r0, #8]
-    1b80:	0080		lsl	r0, r0, #2
-    1b82:	5808		ldr	r0, [r1, r0]
-    1b84:	7941		ldrb	r1, [r0, #5]
-    1b86:	4668		mov	r0, sp
-    1b88:	7301		strb	r1, [r0, #12]	; 0xc
-    1b8a:	7b00		ldrb	r0, [r0, #12]	; 0xc
-    1b8c:	0840		lsr	r0, r0, #1
-    1b8e:	d3f4		bcc	0x1b7a
-    1b90:	4969		ldr	r1, =0x864	; via 0x1d38
-    1b92:	4668		mov	r0, sp
-    1b94:	7a00		ldrb	r0, [r0, #8]
-    1b96:	0080		lsl	r0, r0, #2
-    1b98:	5808		ldr	r0, [r1, r0]
-    1b9a:	7800		ldrb	r0, [r0, #0]
-    1b9c:	0600		lsl	r0, r0, #24
-    1b9e:	0e01		lsr	r1, r0, #24
-    1ba0:	4668		mov	r0, sp
-    1ba2:	7341		strb	r1, [r0, #13]	; 0xd
-    1ba4:	e02c		b	0x1c00
-    1ba6:	4668		mov	r0, sp
-    1ba8:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1baa:	a905		add	r1, sp, #20	; 0x14
-    1bac:	9a00		ldr	r2, [sp, #0]
-    1bae:	9b01		ldr	r3, [sp, #4]
-    1bb0:	f7ff fd8c	bl	0x16cc
-    1bb4:	9004		str	r0, [sp, #16]	; 0x10
-    1bb6:	e039		b	0x1c2c
-    1bb8:	4668		mov	r0, sp
-    1bba:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1bbc:	a905		add	r1, sp, #20	; 0x14
-    1bbe:	f7ff fdc2	bl	0x1746
-    1bc2:	e7f7		b	0x1bb4
-    1bc4:	4668		mov	r0, sp
-    1bc6:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1bc8:	a905		add	r1, sp, #20	; 0x14
-    1bca:	f7ff fe12	bl	0x17f2
-    1bce:	e7f1		b	0x1bb4
-    1bd0:	4668		mov	r0, sp
-    1bd2:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1bd4:	a905		add	r1, sp, #20	; 0x14
-    1bd6:	f7ff fe34	bl	0x1842
-    1bda:	e7eb		b	0x1bb4
-    1bdc:	4668		mov	r0, sp
-    1bde:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1be0:	f7ff fe5e	bl	0x18a0
-    1be4:	e022		b	0x1c2c
-    1be6:	4668		mov	r0, sp
-    1be8:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1bea:	a905		add	r1, sp, #20	; 0x14
-    1bec:	9a00		ldr	r2, [sp, #0]
-    1bee:	f7ff fe6d	bl	0x18cc
-    1bf2:	e7df		b	0x1bb4
-    1bf4:	4668		mov	r0, sp
-    1bf6:	7b40		ldrb	r0, [r0, #13]	; 0xd
-    1bf8:	a905		add	r1, sp, #20	; 0x14
-    1bfa:	f7ff feab	bl	0x1954
-    1bfe:	e7d9		b	0x1bb4
-    1c00:	4850		ldr	r0, =0x83ff20	; via 0x1d44
-    1c02:	6800		ldr	r0, [r0, #0]
-    1c04:	2800		cmp	r0, #0
-    1c06:	d0ce		beq	0x1ba6
-    1c08:	3801		sub	r0, #1
-    1c0a:	2800		cmp	r0, #0
-    1c0c:	d0d4		beq	0x1bb8
-    1c0e:	3801		sub	r0, #1
-    1c10:	2800		cmp	r0, #0
-    1c12:	d0d7		beq	0x1bc4
-    1c14:	3801		sub	r0, #1
-    1c16:	2800		cmp	r0, #0
-    1c18:	d0da		beq	0x1bd0
-    1c1a:	3801		sub	r0, #1
-    1c1c:	2800		cmp	r0, #0
-    1c1e:	d0dd		beq	0x1bdc
-    1c20:	3801		sub	r0, #1
-    1c22:	2800		cmp	r0, #0
-    1c24:	d0df		beq	0x1be6
-    1c26:	3801		sub	r0, #1
-    1c28:	2800		cmp	r0, #0
-    1c2a:	d0e3		beq	0x1bf4
-    1c2c:	9804		ldr	r0, [sp, #16]	; 0x10
-    1c2e:	2800		cmp	r0, #0
-    1c30:	d1a3		bne	0x1b7a
-    1c32:	9805		ldr	r0, [sp, #20]	; 0x14
-    1c34:	b006		add	sp, #24	; 0x18
-    1c36:	bd00		pop	{pc}
-    1c38:	4942		ldr	r1, =0x83ff20	; via 0x1d44
-    1c3a:	2001		mov	r0, #1
-    1c3c:	6008		str	r0, [r1, #0]
-    1c3e:	4842		ldr	r0, =0x83ff1b	; via 0x1d48
-    1c40:	2100		mov	r1, #0
-    1c42:	7001		strb	r1, [r0, #0]
-    1c44:	4841		ldr	r0, =0x83ff18	; via 0x1d4c
-    1c46:	7001		strb	r1, [r0, #0]
-    1c48:	4770		bx	lr
-    1c4a:	46c0		nop			(mov r8, r8)
-    1c4c:	ff14		<half-bl>
-    1c4e:	0083		lsl	r3, r0, #2
-    1c50:	b081		sub	sp, #4
-    1c52:	483f		ldr	r0, =0xffff5800	; via 0x1d50
-    1c54:	9000		str	r0, [sp, #0]
-    1c56:	493f		ldr	r1, =0xffff6000	; via 0x1d54
-    1c58:	2002		mov	r0, #2
-    1c5a:	880a		ldrh	r2, [r1, #0]
-    1c5c:	4310		orr	r0, r2
-    1c5e:	8008		strh	r0, [r1, #0]
-    1c60:	483c		ldr	r0, =0xffff6000	; via 0x1d54
-    1c62:	8801		ldrh	r1, [r0, #0]
-    1c64:	0849		lsr	r1, r1, #1
-    1c66:	0049		lsl	r1, r1, #1
-    1c68:	8001		strh	r1, [r0, #0]
-    1c6a:	493a		ldr	r1, =0xffff6000	; via 0x1d54
-    1c6c:	8808		ldrh	r0, [r1, #0]
-    1c6e:	2202		mov	r2, #2
-    1c70:	4390		bic	r0, r2
-    1c72:	8008		strh	r0, [r1, #0]
-    1c74:	9900		ldr	r1, [sp, #0]
-    1c76:	2007		mov	r0, #7
-    1c78:	7208		strb	r0, [r1, #8]
-    1c7a:	9900		ldr	r1, [sp, #0]
-    1c7c:	20bf		mov	r0, #191	; 0xbf
-    1c7e:	70c8		strb	r0, [r1, #3]
-    1c80:	9800		ldr	r0, [sp, #0]
-    1c82:	1c81		add	r1, r0, #2
-    1c84:	2010		mov	r0, #16	; 0x10
-    1c86:	880a		ldrh	r2, [r1, #0]
-    1c88:	4310		orr	r0, r2
-    1c8a:	8008		strh	r0, [r1, #0]
-    1c8c:	9800		ldr	r0, [sp, #0]
-    1c8e:	2180		mov	r1, #128	; 0x80
-    1c90:	70c1		strb	r1, [r0, #3]
-    1c92:	9800		ldr	r0, [sp, #0]
-    1c94:	2107		mov	r1, #7
-    1c96:	7081		strb	r1, [r0, #2]
-    1c98:	9800		ldr	r0, [sp, #0]
-    1c9a:	21bf		mov	r1, #191	; 0xbf
-    1c9c:	70c1		strb	r1, [r0, #3]
-    1c9e:	9800		ldr	r0, [sp, #0]
-    1ca0:	2107		mov	r1, #7
-    1ca2:	7001		strb	r1, [r0, #0]
-    1ca4:	9800		ldr	r0, [sp, #0]
-    1ca6:	2100		mov	r1, #0
-    1ca8:	7041		strb	r1, [r0, #1]
-    1caa:	9800		ldr	r0, [sp, #0]
-    1cac:	2103		mov	r1, #3
-    1cae:	70c1		strb	r1, [r0, #3]
-    1cb0:	9800		ldr	r0, [sp, #0]
-    1cb2:	2100		mov	r1, #0
-    1cb4:	7201		strb	r1, [r0, #8]
-    1cb6:	4828		ldr	r0, =0xffff5000	; via 0x1d58
-    1cb8:	9000		str	r0, [sp, #0]
-    1cba:	9800		ldr	r0, [sp, #0]
-    1cbc:	2107		mov	r1, #7
-    1cbe:	7201		strb	r1, [r0, #8]
-    1cc0:	9900		ldr	r1, [sp, #0]
-    1cc2:	20bf		mov	r0, #191	; 0xbf
-    1cc4:	70c8		strb	r0, [r1, #3]
-    1cc6:	9800		ldr	r0, [sp, #0]
-    1cc8:	1c80		add	r0, r0, #2
-    1cca:	2110		mov	r1, #16	; 0x10
-    1ccc:	8802		ldrh	r2, [r0, #0]
-    1cce:	4311		orr	r1, r2
-    1cd0:	8001		strh	r1, [r0, #0]
-    1cd2:	9800		ldr	r0, [sp, #0]
-    1cd4:	2180		mov	r1, #128	; 0x80
-    1cd6:	70c1		strb	r1, [r0, #3]
-    1cd8:	9800		ldr	r0, [sp, #0]
-    1cda:	2107		mov	r1, #7
-    1cdc:	7081		strb	r1, [r0, #2]
-    1cde:	9800		ldr	r0, [sp, #0]
-    1ce0:	21bf		mov	r1, #191	; 0xbf
-    1ce2:	70c1		strb	r1, [r0, #3]
-    1ce4:	9800		ldr	r0, [sp, #0]
-    1ce6:	2107		mov	r1, #7
-    1ce8:	7001		strb	r1, [r0, #0]
-    1cea:	9800		ldr	r0, [sp, #0]
-    1cec:	2100		mov	r1, #0
-    1cee:	7041		strb	r1, [r0, #1]
-    1cf0:	9900		ldr	r1, [sp, #0]
-    1cf2:	2003		mov	r0, #3
-    1cf4:	70c8		strb	r0, [r1, #3]
-    1cf6:	9800		ldr	r0, [sp, #0]
-    1cf8:	2100		mov	r1, #0
-    1cfa:	7201		strb	r1, [r0, #8]
-    1cfc:	b001		add	sp, #4
-    1cfe:	4770		bx	lr
-    1d00:	b081		sub	sp, #4
-    1d02:	4669		mov	r1, sp
-    1d04:	7008		strb	r0, [r1, #0]
-    1d06:	490c		ldr	r1, =0x864	; via 0x1d38
-    1d08:	4668		mov	r0, sp
-    1d0a:	7800		ldrb	r0, [r0, #0]
-    1d0c:	0080		lsl	r0, r0, #2
-    1d0e:	5808		ldr	r0, [r1, r0]
-    1d10:	7941		ldrb	r1, [r0, #5]
-    1d12:	4668		mov	r0, sp
-    1d14:	7041		strb	r1, [r0, #1]
-    1d16:	7840		ldrb	r0, [r0, #1]
-    1d18:	09c0		lsr	r0, r0, #7
-    1d1a:	d20b		bcs	0x1d34
-    1d1c:	4806		ldr	r0, =0x864	; via 0x1d38
-    1d1e:	4669		mov	r1, sp
-    1d20:	7809		ldrb	r1, [r1, #0]
-    1d22:	0089		lsl	r1, r1, #2
-    1d24:	5840		ldr	r0, [r0, r1]
-    1d26:	7940		ldrb	r0, [r0, #5]
-    1d28:	4669		mov	r1, sp
-    1d2a:	7048		strb	r0, [r1, #1]
-    1d2c:	4668		mov	r0, sp
-    1d2e:	7840		ldrb	r0, [r0, #1]
-    1d30:	09c0		lsr	r0, r0, #7
-    1d32:	d3f3		bcc	0x1d1c
-    1d34:	b001		add	sp, #4
-    1d36:	4770		bx	lr
-    1d38:	0864		lsr	r4, r4, #1
-    1d3a:	0000		lsl	r0, r0, #0
-    1d3c:	5805		ldr	r5, [r0, r0]
-    1d3e:	ffff		<half-bl>
-    1d40:	5005		str	r5, [r0, r0]
-    1d42:	ffff		<half-bl>
-    1d44:	ff20		<half-bl>
-    1d46:	0083		lsl	r3, r0, #2
-    1d48:	ff1b		<half-bl>
-    1d4a:	0083		lsl	r3, r0, #2
-    1d4c:	ff18		<half-bl>
-    1d4e:	0083		lsl	r3, r0, #2
-    1d50:	5800		ldr	r0, [r0, r0]
-    1d52:	ffff		<half-bl>
-    1d54:	6000		str	r0, [r0, #0]
-    1d56:	ffff		<half-bl>
-    1d58:	5000		str	r0, [r0, r0]
-    1d5a:	ffff		<half-bl>
-    1d5c:	b500		push	{lr}
-    1d5e:	b087		sub	sp, #28	; 0x1c
-    1d60:	466b		mov	r3, sp
-    1d62:	721a		strb	r2, [r3, #8]
-    1d64:	9101		str	r1, [sp, #4]
-    1d66:	9000		str	r0, [sp, #0]
-    1d68:	9900		ldr	r1, [sp, #0]
-    1d6a:	2000		mov	r0, #0
-    1d6c:	8008		strh	r0, [r1, #0]
-    1d6e:	9801		ldr	r0, [sp, #4]
-    1d70:	2100		mov	r1, #0
-    1d72:	8001		strh	r1, [r0, #0]
-    1d74:	2000		mov	r0, #0
-    1d76:	9003		str	r0, [sp, #12]	; 0xc
-    1d78:	f7ff ff5e	bl	0x1c38
-    1d7c:	a805		add	r0, sp, #20	; 0x14
-    1d7e:	a906		add	r1, sp, #24	; 0x18
-    1d80:	466a		mov	r2, sp
-    1d82:	7a12		ldrb	r2, [r2, #8]
-    1d84:	f7ff feee	bl	0x1b64
-    1d88:	9004		str	r0, [sp, #16]	; 0x10
-    1d8a:	9804		ldr	r0, [sp, #16]	; 0x10
-    1d8c:	2800		cmp	r0, #0
-    1d8e:	d11f		bne	0x1dd0
-    1d90:	9803		ldr	r0, [sp, #12]	; 0xc
-    1d92:	2800		cmp	r0, #0
-    1d94:	d11c		bne	0x1dd0
-    1d96:	9800		ldr	r0, [sp, #0]
-    1d98:	4669		mov	r1, sp
-    1d9a:	8b0a		ldrh	r2, [r1, #24]	; 0x18
-    1d9c:	8801		ldrh	r1, [r0, #0]
-    1d9e:	1851		add	r1, r2, r1
-    1da0:	8001		strh	r1, [r0, #0]
-    1da2:	9905		ldr	r1, [sp, #20]	; 0x14
-    1da4:	4668		mov	r0, sp
-    1da6:	8b00		ldrh	r0, [r0, #24]	; 0x18
-    1da8:	8008		strh	r0, [r1, #0]
-    1daa:	9801		ldr	r0, [sp, #4]
-    1dac:	9905		ldr	r1, [sp, #20]	; 0x14
-    1dae:	8809		ldrh	r1, [r1, #0]
-    1db0:	8802		ldrh	r2, [r0, #0]
-    1db2:	1889		add	r1, r1, r2
-    1db4:	8001		strh	r1, [r0, #0]
-    1db6:	a805		add	r0, sp, #20	; 0x14
-    1db8:	a906		add	r1, sp, #24	; 0x18
-    1dba:	466a		mov	r2, sp
-    1dbc:	7a12		ldrb	r2, [r2, #8]
-    1dbe:	f7ff fed1	bl	0x1b64
-    1dc2:	9004		str	r0, [sp, #16]	; 0x10
-    1dc4:	9804		ldr	r0, [sp, #16]	; 0x10
-    1dc6:	2800		cmp	r0, #0
-    1dc8:	d102		bne	0x1dd0
-    1dca:	9803		ldr	r0, [sp, #12]	; 0xc
-    1dcc:	2800		cmp	r0, #0
-    1dce:	d0e2		beq	0x1d96
-    1dd0:	9804		ldr	r0, [sp, #16]	; 0x10
-    1dd2:	2801		cmp	r0, #1
-    1dd4:	d101		bne	0x1dda
-    1dd6:	2004		mov	r0, #4
-    1dd8:	9003		str	r0, [sp, #12]	; 0xc
-    1dda:	9803		ldr	r0, [sp, #12]	; 0xc
-    1ddc:	b007		add	sp, #28	; 0x1c
-    1dde:	bd00		pop	{pc}
-    1de0:	b089		sub	sp, #36	; 0x24
-    1de2:	201a		mov	r0, #26	; 0x1a
-    1de4:	9005		str	r0, [sp, #20]	; 0x14
-    1de6:	2018		mov	r0, #24	; 0x18
-    1de8:	9006		str	r0, [sp, #24]	; 0x18
-    1dea:	2000		mov	r0, #0
-    1dec:	9008		str	r0, [sp, #32]	; 0x20
-    1dee:	4669		mov	r1, sp
-    1df0:	9805		ldr	r0, [sp, #20]	; 0x14
-    1df2:	8800		ldrh	r0, [r0, #0]
-    1df4:	8008		strh	r0, [r1, #0]
-    1df6:	9806		ldr	r0, [sp, #24]	; 0x18
-    1df8:	8800		ldrh	r0, [r0, #0]
-    1dfa:	8048		strh	r0, [r1, #2]
-    1dfc:	4668		mov	r0, sp
-    1dfe:	8841		ldrh	r1, [r0, #2]
-    1e00:	8800		ldrh	r0, [r0, #0]
-    1e02:	0400		lsl	r0, r0, #16
-    1e04:	1808		add	r0, r1, r0
-    1e06:	9001		str	r0, [sp, #4]
-    1e08:	9801		ldr	r0, [sp, #4]
-    1e0a:	0200		lsl	r0, r0, #8
-    1e0c:	0a00		lsr	r0, r0, #8
-    1e0e:	0080		lsl	r0, r0, #2
-    1e10:	3008		add	r0, #8
-    1e12:	9007		str	r0, [sp, #28]	; 0x1c
-    1e14:	9807		ldr	r0, [sp, #28]	; 0x1c
-    1e16:	3018		add	r0, #24	; 0x18
-    1e18:	9002		str	r0, [sp, #8]
-    1e1a:	9802		ldr	r0, [sp, #8]
-    1e1c:	9004		str	r0, [sp, #16]	; 0x10
-    1e1e:	9802		ldr	r0, [sp, #8]
-    1e20:	3002		add	r0, #2
-    1e22:	9003		str	r0, [sp, #12]	; 0xc
-    1e24:	9803		ldr	r0, [sp, #12]	; 0xc
-    1e26:	8801		ldrh	r1, [r0, #0]
-    1e28:	4806		ldr	r0, =0xffff	; via 0x1e44
-    1e2a:	4281		cmp	r1, r0
-    1e2c:	d104		bne	0x1e38
-    1e2e:	9804		ldr	r0, [sp, #16]	; 0x10
-    1e30:	8800		ldrh	r0, [r0, #0]
-    1e32:	4904		ldr	r1, =0xffff	; via 0x1e44
-    1e34:	4288		cmp	r0, r1
-    1e36:	d001		beq	0x1e3c
-    1e38:	2001		mov	r0, #1
-    1e3a:	9008		str	r0, [sp, #32]	; 0x20
-    1e3c:	9808		ldr	r0, [sp, #32]	; 0x20
-    1e3e:	b009		add	sp, #36	; 0x24
-    1e40:	4770		bx	lr
-    1e42:	46c0		nop			(mov r8, r8)
-
-    1e44:	0000ffff
-
-    1e48:	e92d4000	stmdb	sp!, {lr}
-    1e4c:	e28fe001	add	lr, pc, #1
-    1e50:	e12fff1e	bx	lr
-    1e54:	f7fe fe3d	bl	0xad2
-    1e58:	4778		bx	pc
-    1e5a:	46c0		nop			(mov r8, r8)
-    1e5c:	e8bd8000	ldmia	sp!, {pc}
-
-<1E60-1EFF: all FFs>
-
-    1f00:	00000001
-
-<1F04-end: all FFs>
Binary file compal/c140-boot.bin has changed
Binary file compal/c156-boot.90.05.bin has changed
--- a/compal/c156-boot.disasm	Sat Jan 14 06:09:25 2023 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,543 +0,0 @@
-RESET entry and exception vectors:
-       0:	ea000011	b	0x4c
-       4:	ea008036	b	0x200e4
-       8:	ea008036	b	0x200e8
-       c:	ea008036	b	0x200ec
-      10:	ea008036	b	0x200f0
-      14:	ea008036	b	0x200f4
-      18:	ea008036	b	0x200f8
-      1c:	ea008036	b	0x200fc
-
-      20:	02a102a1
-      24:	02a302a1
-      28:	00000040
-      2c:	fffffd00
-      30:	ffff9800
-      34:	fffffb10
-      38:	ffffff08
-      3c:	20021081
-      40:	00000800
-      44:	004000c0
-      48:	00000e85
-
-; RESET entry point
-; same init as in the C139 version
-      4c:	e51f1028	ldr	r1, =0xfffffd00	; via 0x2c
-      50:	e1d120b2	ldrh	r2, [r1, #2]
-      54:	e51f0034	ldr	r0, =0x40	; via 0x28
-      58:	e1800002	orr	r0, r0, r2
-      5c:	e1c100b2	strh	r0, [r1, #2]
-; disable PLL
-; diff from C139 version: writing 2002 into FFFF:9800 instead of 2006
-; diff in the BYPASS_DIV field
-      60:	e51f1038	ldr	r1, =0xffff9800	; via 0x30
-      64:	e15f22be	ldrh	r2, =0x2002	; via 0x3e
-      68:	e1c120b0	strh	r2, [r1]
-      6c:	e5912000	ldr	r2, [r1]
-      70:	e2022001	and	r2, r2, #1
-      74:	e3520001	cmp	r2, #1
-      78:	0afffffb	beq	0x6c
-; FFFF:FD00 write same as C139
-      7c:	e51f1058	ldr	r1, =0xfffffd00	; via 0x2c
-      80:	e15f24bc	ldrh	r2, =0x1081	; via 0x3c
-      84:	e1c120b0	strh	r2, [r1]
-; disable DU like C139
-      88:	e51f105c	ldr	r1, =0xfffffb10	; via 0x34
-      8c:	e15f25b4	ldrh	r2, =0x800	; via 0x40
-      90:	e1d100b0	ldrh	r0, [r1]
-      94:	e1800002	orr	r0, r0, r2
-      98:	e1c100b0	strh	r0, [r1]
-; ditto for MPU
-      9c:	e51f106c	ldr	r1, =0xffffff08	; via 0x38
-      a0:	e15f26b6	ldrh	r2, =0x0	; via 0x42
-      a4:	e1c120b0	strh	r2, [r1]
-; Memory timings
-      a8:	e59f1640	ldr	r1, =0xfffffb00	; via 0x6f0
-      ac:	e15f29b4	ldrh	r2, =0x2a1	; via 0x20
-      b0:	e1c120b0	strh	r2, [r1]
-      b4:	e15f29ba	ldrh	r2, =0x2a1	; via 0x22
-      b8:	e1c120b2	strh	r2, [r1, #2]
-      bc:	e15f2ab0	ldrh	r2, =0x2a1	; via 0x24
-      c0:	e1c120b4	strh	r2, [r1, #4]
-      c4:	e15f2ab6	ldrh	r2, =0x2a3	; via 0x26
-      c8:	e1c120b6	strh	r2, [r1, #6]
-      cc:	e15f28bc	ldrh	r2, =0xe85	; via 0x48
-      d0:	e1c120ba	strh	r2, [r1, #10]	; 0xa
-      d4:	e15f29b8	ldrh	r2, =0xc0	; via 0x44
-      d8:	e1c120bc	strh	r2, [r1, #12]	; 0xc
-      dc:	e15f29be	ldrh	r2, =0x40	; via 0x46
-      e0:	e1c120b8	strh	r2, [r1, #8]
-; enable 8 MiB chip select regions
-      e4:	e59f3630	ldr	r3, =0xfffef006	; via 0x71c
-      e8:	e1d310b0	ldrh	r1, [r3]
-      ec:	e3a02008	mov	r2, #8
-      f0:	e1811002	orr	r1, r1, r2
-      f4:	e1c310b0	strh	r1, [r3]
-; write 0x0110 into FFFE:F00A
-; enable I/O(8) and I/O(12)
-      f8:	e59f3604	ldr	r3, =0xfffef000	; via 0x704
-      fc:	e3a01e11	mov	r1, #272	; 0x110
-     100:	e1c310ba	strh	r1, [r3, #10]	; 0xa
-; FFFE:4804: set GPIOs 8 and 12 as outputs
-     104:	e59f3604	ldr	r3, =0xfffe4804	; via 0x710
-     108:	e5931000	ldr	r1, [r3]
-     10c:	e3a030ff	mov	r3, #255	; 0xff
-     110:	e3a02cee	mov	r2, #60928	; 0xee00
-     114:	e1822003	orr	r2, r2, r3
-     118:	e0011002	and	r1, r1, r2
-     11c:	e59f35e4	ldr	r3, =0xfffe4800	; via 0x708
-     120:	e1c310b4	strh	r1, [r3, #4]
-; ARMIO_LATCH_OUT: GPIO 8 set to 0
-     124:	e59f35e0	ldr	r3, =0xfffe4802	; via 0x70c
-     128:	e5931000	ldr	r1, [r3]
-     12c:	e3a030ff	mov	r3, #255	; 0xff
-     130:	e3a02cfe	mov	r2, #65024	; 0xfe00
-     134:	e1822003	orr	r2, r2, r3
-     138:	e0011002	and	r1, r1, r2
-     13c:	e59f35c4	ldr	r3, =0xfffe4800	; via 0x708
-     140:	e1c310b2	strh	r1, [r3, #2]
-; ... and then reset it to 0xF400
-     144:	e3a01b3d	mov	r1, #62464	; 0xf400
-     148:	e59f35b8	ldr	r3, =0xfffe4800	; via 0x708
-     14c:	e1c310b2	strh	r1, [r3, #2]
-; SVC mode, IRQ and FIQ disabled
-     150:	e10f0000	mrs	r0, CPSR
-     154:	e3c0001f	bic	r0, r0, #31	; 0x1f
-     158:	e3800013	orr	r0, r0, #19	; 0x13
-     15c:	e38000c0	orr	r0, r0, #192	; 0xc0
-     160:	e129f000	msr	CPSR_fc, r0
-; zero all 256 KiB IRAM except last 128 bytes
-     164:	e3a00502	mov	r0, #8388608	; 0x800000
-     168:	e3a02000	mov	r2, #0
-     16c:	e3a01721	mov	r1, #8650752	; 0x840000
-     170:	e2411080	sub	r1, r1, #128	; 0x80
-     174:	e4802004	str	r2, [r0], #4
-     178:	e1500001	cmp	r0, r1
-     17c:	1afffffc	bne	0x174
-; ditto for 2 MiB XRAM
-     180:	e3a00401	mov	r0, #16777216	; 0x1000000
-     184:	e3a02000	mov	r2, #0
-     188:	e3a01612	mov	r1, #18874368	; 0x1200000
-     18c:	e2411080	sub	r1, r1, #128	; 0x80
-     190:	e4802004	str	r2, [r0], #4
-     194:	e1500001	cmp	r0, r1
-     198:	1afffffc	bne	0x190
-; MODEM UART
-     19c:	e59f0550	ldr	r0, =0xffff5800	; via 0x6f4
-; 0 into LCR for IER access
-     1a0:	e3a01000	mov	r1, #0
-     1a4:	e5c01003	strb	r1, [r0, #3]
-; clear IER
-     1a8:	e3a01000	mov	r1, #0
-     1ac:	e5c01001	strb	r1, [r0, #1]
-; BF into LCR
-     1b0:	e3a010bf	mov	r1, #191	; 0xbf
-     1b4:	e5c01003	strb	r1, [r0, #3]
-; 0x10 into EFR
-     1b8:	e3a01010	mov	r1, #16	; 0x10
-     1bc:	e5c01002	strb	r1, [r0, #2]
-; set 115200 baud
-     1c0:	e59f3534	ldr	r3, =0xffff5803	; via 0x6fc
-     1c4:	e5931000	ldr	r1, [r3]
-     1c8:	e3811080	orr	r1, r1, #128	; 0x80
-     1cc:	e5c31000	strb	r1, [r3]
-     1d0:	e3a01007	mov	r1, #7
-     1d4:	e5c01000	strb	r1, [r0]
-     1d8:	e3a01000	mov	r1, #0
-     1dc:	e5c01001	strb	r1, [r0, #1]
-; LCR will eventually get back to 03
-     1e0:	e59f3514	ldr	r3, =0xffff5803	; via 0x6fc
-     1e4:	e5931000	ldr	r1, [r3]
-     1e8:	e201107f	and	r1, r1, #127	; 0x7f
-     1ec:	e5c31000	strb	r1, [r3]
-     1f0:	e5931000	ldr	r1, [r3]
-     1f4:	e3811003	orr	r1, r1, #3
-     1f8:	e5c31000	strb	r1, [r3]
-; 0x40 into MCR: TCR/TLR access
-     1fc:	e3a01040	mov	r1, #64	; 0x40
-     200:	e5c01004	strb	r1, [r0, #4]
-; TCR=0x0F (same as default)
-     204:	e3a0100f	mov	r1, #15	; 0xf
-     208:	e5c01006	strb	r1, [r0, #6]
-; BF into LCR again
-     20c:	e3a010bf	mov	r1, #191	; 0xbf
-     210:	e5c01003	strb	r1, [r0, #3]
-; 0x10 into EFR again
-     214:	e3a01010	mov	r1, #16	; 0x10
-     218:	e5c01002	strb	r1, [r0, #2]
-; finally 03 into LCR
-     21c:	e3a01003	mov	r1, #3
-     220:	e5c01003	strb	r1, [r0, #3]
-; clear SCR (default, all weird stuff disabled)
-     224:	e3a01000	mov	r1, #0
-     228:	e5c01010	strb	r1, [r0, #16]	; 0x10
-; FCR=06: FIFOs cleared and *disabled*
-     22c:	e3a01006	mov	r1, #6
-     230:	e5c01002	strb	r1, [r0, #2]
-; MCR=0F
-     234:	e3a0100f	mov	r1, #15	; 0xf
-     238:	e5c01004	strb	r1, [r0, #4]
-; FCR=F1: enable FIFOs with max trigger levels
-     23c:	e3a010f1	mov	r1, #241	; 0xf1
-     240:	e5c01002	strb	r1, [r0, #2]
-; MDR1: write 7 for reset, then 0 for UART mode
-     244:	e3a01007	mov	r1, #7
-     248:	e5c01008	strb	r1, [r0, #8]
-     24c:	e3a01000	mov	r1, #0
-     250:	e5c01008	strb	r1, [r0, #8]
-; IER: enable Rx interrupt
-     254:	e59f349c	ldr	r3, =0xffff5801	; via 0x6f8
-     258:	e5931000	ldr	r1, [r3]
-     25c:	e3811001	orr	r1, r1, #1
-     260:	e5c31000	strb	r1, [r3]
-; nCS0: WS=3, write enable, DC=1
-     264:	e59f1484	ldr	r1, =0xfffffb00	; via 0x6f0
-     268:	e59f247c	ldr	r2, =0x2a3	; via 0x6ec
-     26c:	e1c120b0	strh	r2, [r1]
-; FFFF:FB0E = 0x6A: adapt enabled for RHEA and API,
-; all ARM7 cycles visible externally
-     270:	e59f3488	ldr	r3, =0xfffffb00	; via 0x700
-     274:	e3a0106a	mov	r1, #106	; 0x6a
-     278:	e1c310be	strh	r1, [r3, #14]	; 0xe
-; dingle UART FIFOs again, same settings
-     27c:	e59f0470	ldr	r0, =0xffff5800	; via 0x6f4
-     280:	e3a010f7	mov	r1, #247	; 0xf7
-     284:	e5c01002	strb	r1, [r0, #2]
-     288:	e3a010f1	mov	r1, #241	; 0xf1
-     28c:	e5c01002	strb	r1, [r0, #2]
-; short delay loop
-     290:	e3a01f4b	mov	r1, #300	; 0x12c
-     294:	e2411001	sub	r1, r1, #1
-     298:	e3510000	cmp	r1, #0
-     29c:	1afffffc	bne	0x294
-; check UART for unsolicited input?
-     2a0:	e59f044c	ldr	r0, =0xffff5800	; via 0x6f4
-     2a4:	e3a02064	mov	r2, #100	; 0x64
-     2a8:	e3a08801	mov	r8, #65536	; 0x10000
-     2ac:	e2488001	sub	r8, r8, #1
-     2b0:	e3580000	cmp	r8, #0
-     2b4:	0a000040	beq	0x3bc
-     2b8:	e5d01005	ldrb	r1, [r0, #5]
-     2bc:	e2011001	and	r1, r1, #1
-     2c0:	e3510001	cmp	r1, #1
-     2c4:	1afffff8	bne	0x2ac
-     2c8:	e5d01000	ldrb	r1, [r0]
-; unsolicited input received
-; repeats the whole UART init, but with /2 div for 406250 baud
-     2cc:	e59f0420	ldr	r0, =0xffff5800	; via 0x6f4
-     2d0:	e3a01000	mov	r1, #0
-     2d4:	e5c01003	strb	r1, [r0, #3]
-     2d8:	e3a01000	mov	r1, #0
-     2dc:	e5c01001	strb	r1, [r0, #1]
-     2e0:	e3a010bf	mov	r1, #191	; 0xbf
-     2e4:	e5c01003	strb	r1, [r0, #3]
-     2e8:	e3a01010	mov	r1, #16	; 0x10
-     2ec:	e5c01002	strb	r1, [r0, #2]
-     2f0:	e59f3404	ldr	r3, =0xffff5803	; via 0x6fc
-     2f4:	e5931000	ldr	r1, [r3]
-     2f8:	e3811080	orr	r1, r1, #128	; 0x80
-     2fc:	e5c31000	strb	r1, [r3]
-     300:	e3a01002	mov	r1, #2
-     304:	e5c01000	strb	r1, [r0]
-     308:	e3a01000	mov	r1, #0
-     30c:	e5c01001	strb	r1, [r0, #1]
-     310:	e59f33e4	ldr	r3, =0xffff5803	; via 0x6fc
-     314:	e5931000	ldr	r1, [r3]
-     318:	e201107f	and	r1, r1, #127	; 0x7f
-     31c:	e5c31000	strb	r1, [r3]
-     320:	e5931000	ldr	r1, [r3]
-     324:	e3811003	orr	r1, r1, #3
-     328:	e5c31000	strb	r1, [r3]
-     32c:	e3a01040	mov	r1, #64	; 0x40
-     330:	e5c01004	strb	r1, [r0, #4]
-     334:	e3a0100f	mov	r1, #15	; 0xf
-     338:	e5c01006	strb	r1, [r0, #6]
-     33c:	e3a010bf	mov	r1, #191	; 0xbf
-     340:	e5c01003	strb	r1, [r0, #3]
-     344:	e3a01010	mov	r1, #16	; 0x10
-     348:	e5c01002	strb	r1, [r0, #2]
-     34c:	e3a01003	mov	r1, #3
-     350:	e5c01003	strb	r1, [r0, #3]
-     354:	e3a01000	mov	r1, #0
-     358:	e5c01010	strb	r1, [r0, #16]	; 0x10
-     35c:	e3a01006	mov	r1, #6
-     360:	e5c01002	strb	r1, [r0, #2]
-     364:	e3a0100f	mov	r1, #15	; 0xf
-     368:	e5c01004	strb	r1, [r0, #4]
-     36c:	e3a010f1	mov	r1, #241	; 0xf1
-     370:	e5c01002	strb	r1, [r0, #2]
-     374:	e3a01007	mov	r1, #7
-     378:	e5c01008	strb	r1, [r0, #8]
-     37c:	e3a01000	mov	r1, #0
-     380:	e5c01008	strb	r1, [r0, #8]
-     384:	e59f336c	ldr	r3, =0xffff5801	; via 0x6f8
-     388:	e5931000	ldr	r1, [r3]
-     38c:	e3811001	orr	r1, r1, #1
-     390:	e5c31000	strb	r1, [r3]
-     394:	e59f0358	ldr	r0, =0xffff5800	; via 0x6f4
-     398:	e3a010f7	mov	r1, #247	; 0xf7
-     39c:	e5c01002	strb	r1, [r0, #2]
-     3a0:	e3a010f1	mov	r1, #241	; 0xf1
-     3a4:	e5c01002	strb	r1, [r0, #2]
-     3a8:	e3a01f4b	mov	r1, #300	; 0x12c
-     3ac:	e2411001	sub	r1, r1, #1
-     3b0:	e3510000	cmp	r1, #0
-     3b4:	1afffffc	bne	0x3ac
-     3b8:	e59f0334	ldr	r0, =0xffff5800	; via 0x6f4
-; normal path continues
-; emit 1B F6 02 00 41 01 40
-     3bc:	e3a0101b	mov	r1, #27	; 0x1b
-     3c0:	e5c01000	strb	r1, [r0]
-     3c4:	e3a010f6	mov	r1, #246	; 0xf6
-     3c8:	e5c01000	strb	r1, [r0]
-     3cc:	e3a01002	mov	r1, #2
-     3d0:	e5c01000	strb	r1, [r0]
-     3d4:	e3a01000	mov	r1, #0
-     3d8:	e5c01000	strb	r1, [r0]
-     3dc:	e3a01041	mov	r1, #65	; 0x41
-     3e0:	e5c01000	strb	r1, [r0]
-     3e4:	e3a01001	mov	r1, #1
-     3e8:	e5c01000	strb	r1, [r0]
-     3ec:	e3a01040	mov	r1, #64	; 0x40
-     3f0:	e5c01000	strb	r1, [r0]
-; wait for UART input
-     3f4:	e3a02064	mov	r2, #100	; 0x64
-     3f8:	e3a08701	mov	r8, #262144	; 0x40000
-     3fc:	e2488001	sub	r8, r8, #1
-     400:	e3580000	cmp	r8, #0
-     404:	0a0000aa	beq	0x6b4
-     408:	e5d01005	ldrb	r1, [r0, #5]
-     40c:	e2011001	and	r1, r1, #1
-     410:	e3510001	cmp	r1, #1
-     414:	1afffff8	bne	0x3fc
-     418:	e5d01000	ldrb	r1, [r0]
-     41c:	e3510000	cmp	r1, #0
-     420:	1a000003	bne	0x434
-     424:	e2422001	sub	r2, r2, #1
-     428:	e3520000	cmp	r2, #0
-     42c:	0a0000a0	beq	0x6b4
-     430:	eafffff1	b	0x3fc
-     434:	e351001b	cmp	r1, #27	; 0x1b
-     438:	1affffef	bne	0x3fc
-; got 1B
-     43c:	e3a08701	mov	r8, #262144	; 0x40000
-     440:	e2488001	sub	r8, r8, #1
-     444:	e3580000	cmp	r8, #0
-     448:	0a000099	beq	0x6b4
-     44c:	e5d01005	ldrb	r1, [r0, #5]
-     450:	e2011001	and	r1, r1, #1
-     454:	e3510001	cmp	r1, #1
-     458:	1afffff8	bne	0x440
-     45c:	e5d01000	ldrb	r1, [r0]
-     460:	e35100f6	cmp	r1, #246	; 0xf6
-     464:	1a000092	bne	0x6b4
-; got F6
-     468:	e3a08801	mov	r8, #65536	; 0x10000
-     46c:	e2488001	sub	r8, r8, #1
-     470:	e3580000	cmp	r8, #0
-     474:	0a00008e	beq	0x6b4
-     478:	e5d01005	ldrb	r1, [r0, #5]
-     47c:	e2011001	and	r1, r1, #1
-     480:	e3510001	cmp	r1, #1
-     484:	1afffff8	bne	0x46c
-     488:	e5d01000	ldrb	r1, [r0]
-     48c:	e3510002	cmp	r1, #2
-     490:	1a000087	bne	0x6b4
-; got 02
-     494:	e3a08801	mov	r8, #65536	; 0x10000
-     498:	e2488001	sub	r8, r8, #1
-     49c:	e3580000	cmp	r8, #0
-     4a0:	0a000083	beq	0x6b4
-     4a4:	e5d01005	ldrb	r1, [r0, #5]
-     4a8:	e2011001	and	r1, r1, #1
-     4ac:	e3510001	cmp	r1, #1
-     4b0:	1afffff8	bne	0x498
-     4b4:	e5d01000	ldrb	r1, [r0]
-     4b8:	e3510000	cmp	r1, #0
-     4bc:	1a00007c	bne	0x6b4
-; got 00
-     4c0:	e3a08801	mov	r8, #65536	; 0x10000
-     4c4:	e2488001	sub	r8, r8, #1
-     4c8:	e3580000	cmp	r8, #0
-     4cc:	0a000078	beq	0x6b4
-     4d0:	e5d01005	ldrb	r1, [r0, #5]
-     4d4:	e2011001	and	r1, r1, #1
-     4d8:	e3510001	cmp	r1, #1
-     4dc:	1afffff8	bne	0x4c4
-     4e0:	e5d01000	ldrb	r1, [r0]
-     4e4:	e3510052	cmp	r1, #82	; 0x52
-     4e8:	1a000071	bne	0x6b4
-; got 52
-     4ec:	e3a08801	mov	r8, #65536	; 0x10000
-     4f0:	e2488001	sub	r8, r8, #1
-     4f4:	e3580000	cmp	r8, #0
-     4f8:	0a00006d	beq	0x6b4
-     4fc:	e5d01005	ldrb	r1, [r0, #5]
-     500:	e2011001	and	r1, r1, #1
-     504:	e3510001	cmp	r1, #1
-     508:	1afffff8	bne	0x4f0
-     50c:	e5d01000	ldrb	r1, [r0]
-     510:	e3510001	cmp	r1, #1
-     514:	1a000066	bne	0x6b4
-; got 01
-     518:	e3a08801	mov	r8, #65536	; 0x10000
-     51c:	e2488001	sub	r8, r8, #1
-     520:	e3580000	cmp	r8, #0
-     524:	0a000062	beq	0x6b4
-     528:	e5d01005	ldrb	r1, [r0, #5]
-     52c:	e2011001	and	r1, r1, #1
-     530:	e3510001	cmp	r1, #1
-     534:	1afffff8	bne	0x51c
-     538:	e59f01b4	ldr	r0, =0xffff5800	; via 0x6f4
-     53c:	e5d01000	ldrb	r1, [r0]
-; emit 1B F6 02 00 41 02 43 before checking the last Rx char!
-     540:	e3a0201b	mov	r2, #27	; 0x1b
-     544:	e5c02000	strb	r2, [r0]
-     548:	e3a020f6	mov	r2, #246	; 0xf6
-     54c:	e5c02000	strb	r2, [r0]
-     550:	e3a02002	mov	r2, #2
-     554:	e5c02000	strb	r2, [r0]
-     558:	e3a02000	mov	r2, #0
-     55c:	e5c02000	strb	r2, [r0]
-     560:	e3a02041	mov	r2, #65	; 0x41
-     564:	e5c02000	strb	r2, [r0]
-     568:	e3a02002	mov	r2, #2
-     56c:	e5c02000	strb	r2, [r0]
-     570:	e3a02043	mov	r2, #67	; 0x43
-     574:	e5c02000	strb	r2, [r0]
-; now check for 53
-; if not 53, go back to wait for 01-53
-     578:	e3510053	cmp	r1, #83	; 0x53
-     57c:	0a000000	beq	0x584
-     580:	eaffffda	b	0x4f0
-; got 53
-     584:	e3a02000	mov	r2, #0
-     588:	e59f3190	ldr	r3, =0x800100	; via 0x720
-     58c:	e3a04000	mov	r4, #0
-     590:	e3a05001	mov	r5, #1
-; endless wait for Rx byte
-     594:	e5d01005	ldrb	r1, [r0, #5]
-     598:	e2011001	and	r1, r1, #1
-     59c:	e3510001	cmp	r1, #1
-     5a0:	1afffffb	bne	0x594
-     5a4:	e5d01000	ldrb	r1, [r0]
-; state machine dispatch
-     5a8:	e3520000	cmp	r2, #0
-     5ac:	0a000008	beq	0x5d4
-     5b0:	e3520001	cmp	r2, #1
-     5b4:	0a00000b	beq	0x5e8
-     5b8:	e3520002	cmp	r2, #2
-     5bc:	0a00000d	beq	0x5f8
-     5c0:	e3520003	cmp	r2, #3
-     5c4:	0a00000f	beq	0x608
-     5c8:	e3520004	cmp	r2, #4
-     5cc:	0a000015	beq	0x628
-     5d0:	ea000037	b	0x6b4
-; R2=0: must receive 02 first
-     5d4:	e3510002	cmp	r1, #2
-     5d8:	1affffed	bne	0x594
-     5dc:	e1a06001	mov	r6, r1
-     5e0:	e2822001	add	r2, r2, #1
-     5e4:	eaffffea	b	0x594
-; R2=1: got MSB of length
-     5e8:	e1a04401	mov	r4, r1, lsl #8
-     5ec:	e0266001	eor	r6, r6, r1
-     5f0:	e2822001	add	r2, r2, #1
-     5f4:	eaffffe6	b	0x594
-; R2=2: got LSB of length
-     5f8:	e0844001	add	r4, r4, r1
-     5fc:	e0266001	eor	r6, r6, r1
-     600:	e2822001	add	r2, r2, #1
-     604:	eaffffe2	b	0x594
-; R2=3: payload
-     608:	e5c31000	strb	r1, [r3]
-     60c:	e0266001	eor	r6, r6, r1
-     610:	e2833001	add	r3, r3, #1
-     614:	e2444001	sub	r4, r4, #1
-     618:	e3540000	cmp	r4, #0
-     61c:	1affffdc	bne	0x594
-     620:	e2822001	add	r2, r2, #1
-     624:	eaffffda	b	0x594
-; R2=4: checksum expected
-     628:	e1560001	cmp	r6, r1
-     62c:	1a000012	bne	0x67c
-; checksum good
-; emit 1B F6 02 00 41 03 42
-     630:	e3a0101b	mov	r1, #27	; 0x1b
-     634:	e5c01000	strb	r1, [r0]
-     638:	e3a010f6	mov	r1, #246	; 0xf6
-     63c:	e5c01000	strb	r1, [r0]
-     640:	e3a01002	mov	r1, #2
-     644:	e5c01000	strb	r1, [r0]
-     648:	e3a01000	mov	r1, #0
-     64c:	e5c01000	strb	r1, [r0]
-     650:	e3a01041	mov	r1, #65	; 0x41
-     654:	e5c01000	strb	r1, [r0]
-     658:	e3a01003	mov	r1, #3
-     65c:	e5c01000	strb	r1, [r0]
-     660:	e3a01042	mov	r1, #66	; 0x42
-     664:	e5c01000	strb	r1, [r0]
-; SP=0x803FFC
-     668:	e59f00b4	ldr	r0, =0x803ffc	; via 0x724
-     66c:	e1a0d000	mov	sp, r0
-; jump to 0x800100 in Thumb state
-     670:	e59f00a8	ldr	r0, =0x800100	; via 0x720
-     674:	e280e001	add	lr, r0, #1
-     678:	e12fff1e	bx	lr
-; checksum mismatch
-; emit 1B F6 02 00 45 53 16
-     67c:	e3a0101b	mov	r1, #27	; 0x1b
-     680:	e5c01000	strb	r1, [r0]
-     684:	e3a010f6	mov	r1, #246	; 0xf6
-     688:	e5c01000	strb	r1, [r0]
-     68c:	e3a01002	mov	r1, #2
-     690:	e5c01000	strb	r1, [r0]
-     694:	e3a01000	mov	r1, #0
-     698:	e5c01000	strb	r1, [r0]
-     69c:	e3a01045	mov	r1, #69	; 0x45
-     6a0:	e5c01000	strb	r1, [r0]
-     6a4:	e3a01053	mov	r1, #83	; 0x53
-     6a8:	e5c01000	strb	r1, [r0]
-     6ac:	e3a01016	mov	r1, #22	; 0x16
-     6b0:	e5c01000	strb	r1, [r0]
-; bail out path
-; ARMIO_LATCH_OUT: set GPIO 9 low
-     6b4:	e59f3050	ldr	r3, =0xfffe4802	; via 0x70c
-     6b8:	e5931000	ldr	r1, [r3]
-     6bc:	e3a030ff	mov	r3, #255	; 0xff
-     6c0:	e3a02cfd	mov	r2, #64768	; 0xfd00
-     6c4:	e1822003	orr	r2, r2, r3
-     6c8:	e0011002	and	r1, r1, r2
-     6cc:	e59f3034	ldr	r3, =0xfffe4800	; via 0x708
-     6d0:	e1c310b2	strh	r1, [r3, #2]
-; switch GPIO12 back to input
-     6d4:	e59f3034	ldr	r3, =0xfffe4804	; via 0x710
-     6d8:	e5931000	ldr	r1, [r3]
-     6dc:	e3811a01	orr	r1, r1, #4096	; 0x1000
-     6e0:	e59f3020	ldr	r3, =0xfffe4800	; via 0x708
-     6e4:	e1c310b4	strh	r1, [r3, #4]
-     6e8:	ea007e7c	b	0x200e0
-
-     6ec:	000002a3
-     6f0:	fffffb00
-     6f4:	ffff5800
-     6f8:	ffff5801
-     6fc:	ffff5803
-     700:	fffffb00
-     704:	fffef000
-     708:	fffe4800
-     70c:	fffe4802
-     710:	fffe4804
-     714:	fffe480c
-     718:	fffe480a
-     71c:	fffef006
-     720:	00800100
-     724:	00803ffc
-
-<728-7FF: all FFs>
-
-00000800:  42 4F 4F 54 2E 39 30 2E  30 35 00 00 00 00 00 00  BOOT.90.05......
-00000810:  31 30 30 33 01 02 00 00  FF FF FF FF FF FF FF FF  1003............
-00000820:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ................
-
-blank flash from here onward, until the main fw image starts at 0x20000