view compal/c139-tfboot.disasm @ 162:8d30e1722e0f

locked C139 bootloader reverse-engineered
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Thu, 15 May 2014 20:55:39 +0000
parents
children
line wrap: on
line source

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>