diff compal/c118-newboot.disasm @ 160:db3b300da465

malware version of the C118 bootloader reversed
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Thu, 15 May 2014 08:38:42 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compal/c118-newboot.disasm	Thu May 15 08:38:42 2014 +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>