FreeCalypso > hg > freecalypso-reveng
view compal/c123-boot.disasm @ 278:42575bc59702
benq-fw-disasm: dug a little into BenQ's M32 firmware
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 12 Dec 2018 07:48:48 +0000 |
parents | 7c198e6716e4 |
children |
line wrap: on
line source
RESET entry and exception vectors: 0: ea000225 b 0x89c 4: ea000825 b 0x20a0 8: ea000825 b 0x20a4 c: ea000825 b 0x20a8 10: ea000825 b 0x20ac 14: ea000825 b 0x20b0 18: ea000825 b 0x20b4 ; magic words, vary by version 20: 44aa338a 24: 44aa338b 28: 44aa33b8 2c: 44aa33b9 <30-7FF: all FFs> 00000800: 42 4F 4F 54 2E 39 30 2E 30 34 00 00 00 00 00 00 BOOT.90.04...... 00000810: 31 30 30 33 01 01 00 00 FF FF FF FF FF FF FF FF 1003............ 00000820: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................ ; everything up to 0x958 is the same as in the C139 version 830: 00000006 834: 00000000 838: 00000000 83c: 00000048 840: 00000044 844: 00000052 848: 0000001b 84c: 00000005 850: 00000000 854: 00000000 858: 00000000 85c: 00000000 860: 000000fa 864: ffff5800 868: ffff5000 86c: fffffb00 870: 02a102a1 874: 028302a1 878: 00c00281 87c: 002a0040 880: 00000040 884: fffffd00 888: ffff9800 88c: fffffb10 890: ffffff08 894: 20061081 898: 00000800 ; RESET entry point 89c: e51f1020 ldr r1, =0xfffffd00 ; via 0x884 8a0: e1d120b2 ldrh r2, [r1, #2] 8a4: e51f002c ldr r0, =0x40 ; via 0x880 8a8: e1800002 orr r0, r0, r2 8ac: e1c100b2 strh r0, [r1, #2] 8b0: e51f1030 ldr r1, =0xffff9800 ; via 0x888 8b4: e15f22b6 ldrh r2, =0x2006 ; via 0x896 8b8: e1c120b0 strh r2, [r1] 8bc: e5912000 ldr r2, [r1] 8c0: e2022001 and r2, r2, #1 8c4: e3520001 cmp r2, #1 8c8: 0afffffb beq 0x8bc 8cc: e51f1050 ldr r1, =0xfffffd00 ; via 0x884 8d0: e15f24b4 ldrh r2, =0x1081 ; via 0x894 8d4: e1c120b0 strh r2, [r1] 8d8: e51f1054 ldr r1, =0xfffffb10 ; via 0x88c 8dc: e15f24bc ldrh r2, =0x800 ; via 0x898 8e0: e1d100b0 ldrh r0, [r1] 8e4: e1800002 orr r0, r0, r2 8e8: e1c100b0 strh r0, [r1] 8ec: e51f1064 ldr r1, =0xffffff08 ; via 0x890 8f0: e15f25be ldrh r2, =0x0 ; via 0x89a 8f4: e1c120b0 strh r2, [r1] 8f8: e51f1094 ldr r1, =0xfffffb00 ; via 0x86c 8fc: e15f29b4 ldrh r2, =0x2a1 ; via 0x870 900: e1c120b0 strh r2, [r1] 904: e15f29ba ldrh r2, =0x2a1 ; via 0x872 908: e1c120b2 strh r2, [r1, #2] 90c: e15f2ab0 ldrh r2, =0x2a1 ; via 0x874 910: e1c120b4 strh r2, [r1, #4] 914: e15f2ab6 ldrh r2, =0x283 ; via 0x876 918: e1c120b6 strh r2, [r1, #6] 91c: e15f2abc ldrh r2, =0x281 ; via 0x878 920: e1c120ba strh r2, [r1, #10] ; 0xa 924: e15f2bb2 ldrh r2, =0xc0 ; via 0x87a 928: e1c120bc strh r2, [r1, #12] ; 0xc 92c: e15f2bb8 ldrh r2, =0x40 ; via 0x87c 930: e1c120b8 strh r2, [r1, #8] 934: e15f2bbe ldrh r2, =0x2a ; via 0x87e 938: e1c120be strh r2, [r1, #14] ; 0xe 93c: e59f0020 ldr r0, =0x83e424 ; via 0x964 940: e3a01b01 mov r1, #1024 ; 0x400 944: e2411004 sub r1, r1, #4 948: e0802001 add r2, r0, r1 94c: e3c22003 bic r2, r2, #3 950: e1a0d002 mov sp, r2 ; business logic 954: e92d100f stmdb sp!, {r0, r1, r2, r3, r12} 958: eb00051e bl 0x1dd8 95c: e8bd100f ldmia sp!, {r0, r1, r2, r3, r12} 960: ea0005e4 b 0x20f8 ; stack address, varies by version 964: 0083e424 ; 0x968 routine same as in the C139 version 968: 4961 ldr r1, =0xfffffa08 ; via 0xaf0 96a: 4862 ldr r0, =0xffff ; via 0xaf4 96c: 8008 strh r0, [r1, #0] 96e: 4862 ldr r0, =0xfffffa0a ; via 0xaf8 970: 211f mov r1, #31 ; 0x1f 972: 8001 strh r1, [r0, #0] 974: 4861 ldr r0, =0xfffff804 ; via 0xafc 976: 21f5 mov r1, #245 ; 0xf5 978: 8001 strh r1, [r0, #0] 97a: 21a0 mov r1, #160 ; 0xa0 97c: 8001 strh r1, [r0, #0] 97e: 4860 ldr r0, =0xffff9800 ; via 0xb00 980: 4960 ldr r1, =0x2002 ; via 0xb04 982: 8001 strh r1, [r0, #0] 984: 485e ldr r0, =0xffff9800 ; via 0xb00 986: 8800 ldrh r0, [r0, #0] 988: 0840 lsr r0, r0, #1 98a: d2fb bcs 0x984 98c: 495e ldr r1, =0xfffffd00 ; via 0xb08 98e: 485f ldr r0, =0x1001 ; via 0xb0c 990: 8008 strh r0, [r1, #0] 992: 46f7 mov pc, lr 994: b500 push {lr} 996: b0ff sub sp, #508 ; 0x1fc 998: b0ca sub sp, #296 ; 0x128 99a: 2000 mov r0, #0 99c: 9001 str r0, [sp, #4] 99e: 9801 ldr r0, [sp, #4] 9a0: 2800 cmp r0, #0 9a2: d14e bne 0xa42 9a4: a846 add r0, sp, #280 ; 0x118 9a6: 2100 mov r1, #0 9a8: f001 f842 bl 0x1a30 9ac: a9c8 add r1, sp, #800 ; 0x320 9ae: 7008 strb r0, [r1, #0] 9b0: a846 add r0, sp, #280 ; 0x118 9b2: a902 add r1, sp, #8 9b4: f000 fb00 bl 0xfb8 9b8: 9000 str r0, [sp, #0] 9ba: 9800 ldr r0, [sp, #0] 9bc: 2800 cmp r0, #0 9be: d01b beq 0x9f8 9c0: a924 add r1, sp, #144 ; 0x90 9c2: 4668 mov r0, sp 9c4: 7a00 ldrb r0, [r0, #8] 9c6: 7008 strb r0, [r1, #0] 9c8: 2191 mov r1, #145 ; 0x91 9ca: 466a mov r2, sp 9cc: 4668 mov r0, sp 9ce: 7800 ldrb r0, [r0, #0] 9d0: 5488 strb r0, [r1, r2] 9d2: e01b b 0xa0c 9d4: a802 add r0, sp, #8 9d6: a924 add r1, sp, #144 ; 0x90 9d8: f000 fddc bl 0x1594 9dc: e016 b 0xa0c 9de: a802 add r0, sp, #8 9e0: a924 add r1, sp, #144 ; 0x90 9e2: aac8 add r2, sp, #800 ; 0x320 9e4: 7812 ldrb r2, [r2, #0] 9e6: f000 fde9 bl 0x15bc 9ea: e00f b 0xa0c 9ec: a802 add r0, sp, #8 9ee: a924 add r1, sp, #144 ; 0x90 9f0: f000 fe1b bl 0x162a 9f4: 90c7 str r0, [sp, #796] ; 0x31c 9f6: e009 b 0xa0c 9f8: 4668 mov r0, sp 9fa: 7a00 ldrb r0, [r0, #8] 9fc: 2800 cmp r0, #0 9fe: d0e9 beq 0x9d4 a00: 3809 sub r0, #9 a02: 2800 cmp r0, #0 a04: d0eb beq 0x9de a06: 3801 sub r0, #1 a08: 2800 cmp r0, #0 a0a: d0ef beq 0x9ec a0c: a824 add r0, sp, #144 ; 0x90 a0e: a986 add r1, sp, #536 ; 0x218 a10: f000 fbb5 bl 0x117e a14: 2800 cmp r0, #0 a16: d111 bne 0xa3c a18: a886 add r0, sp, #536 ; 0x218 a1a: a9c8 add r1, sp, #800 ; 0x320 a1c: 7809 ldrb r1, [r1, #0] a1e: f000 ffdc bl 0x19da a22: 2800 cmp r0, #0 a24: d00a beq 0xa3c a26: 4668 mov r0, sp a28: 7a00 ldrb r0, [r0, #8] a2a: 280a cmp r0, #10 ; 0xa a2c: d106 bne 0xa3c a2e: a8c8 add r0, sp, #800 ; 0x320 a30: 7800 ldrb r0, [r0, #0] a32: f001 f92d bl 0x1c90 a36: 98c7 ldr r0, [sp, #796] ; 0x31c a38: f000 fabc bl 0xfb4 a3c: 9801 ldr r0, [sp, #4] a3e: 2800 cmp r0, #0 a40: d0b0 beq 0x9a4 a42: b07f add sp, #508 ; 0x1fc a44: b04a add sp, #296 ; 0x128 a46: bd00 pop {pc} a48: b500 push {lr} a4a: b0ff sub sp, #508 ; 0x1fc a4c: b0c8 sub sp, #288 ; 0x120 a4e: 2000 mov r0, #0 a50: 9000 str r0, [sp, #0] a52: a846 add r0, sp, #280 ; 0x118 a54: 2101 mov r1, #1 a56: f000 ffeb bl 0x1a30 a5a: a9c6 add r1, sp, #792 ; 0x318 a5c: 7008 strb r0, [r1, #0] a5e: a8c6 add r0, sp, #792 ; 0x318 a60: 7800 ldrb r0, [r0, #0] a62: 28ff cmp r0, #255 ; 0xff a64: d031 beq 0xaca a66: a846 add r0, sp, #280 ; 0x118 a68: a902 add r1, sp, #8 a6a: f000 faa5 bl 0xfb8 a6e: 9001 str r0, [sp, #4] a70: 9801 ldr r0, [sp, #4] a72: 2800 cmp r0, #0 a74: d014 beq 0xaa0 a76: a924 add r1, sp, #144 ; 0x90 a78: 4668 mov r0, sp a7a: 7a00 ldrb r0, [r0, #8] a7c: 7008 strb r0, [r1, #0] a7e: 2291 mov r2, #145 ; 0x91 a80: 4668 mov r0, sp a82: 4669 mov r1, sp a84: 7909 ldrb r1, [r1, #4] a86: 5411 strb r1, [r2, r0] a88: a824 add r0, sp, #144 ; 0x90 a8a: a986 add r1, sp, #536 ; 0x218 a8c: f000 fb77 bl 0x117e a90: 2800 cmp r0, #0 a92: d11a bne 0xaca a94: a886 add r0, sp, #536 ; 0x218 a96: a9c6 add r1, sp, #792 ; 0x318 a98: 7809 ldrb r1, [r1, #0] a9a: f000 ff9e bl 0x19da a9e: e014 b 0xaca aa0: 4668 mov r0, sp aa2: 7a00 ldrb r0, [r0, #8] aa4: 2800 cmp r0, #0 aa6: d110 bne 0xaca aa8: a802 add r0, sp, #8 aaa: a924 add r1, sp, #144 ; 0x90 aac: f000 fd72 bl 0x1594 ab0: a824 add r0, sp, #144 ; 0x90 ab2: a986 add r1, sp, #536 ; 0x218 ab4: f000 fb63 bl 0x117e ab8: 2800 cmp r0, #0 aba: d104 bne 0xac6 abc: a886 add r0, sp, #536 ; 0x218 abe: a9c6 add r1, sp, #792 ; 0x318 ac0: 7809 ldrb r1, [r1, #0] ac2: f000 ff8a bl 0x19da ac6: 2001 mov r0, #1 ac8: 9000 str r0, [sp, #0] aca: 9800 ldr r0, [sp, #0] acc: b07f add sp, #508 ; 0x1fc ace: b048 add sp, #288 ; 0x120 ad0: bd00 pop {pc} ; Main entry routine at the same location as in the C139 version ad2: b500 push {lr} ad4: b082 sub sp, #8 ad6: f7ff ff47 bl 0x968 ada: f001 f881 bl 0x1be0 ade: f000 fd47 bl 0x1570 ae2: f000 f81f bl 0xb24 ae6: f000 f940 bl 0xd6a aea: b002 add sp, #8 aec: bd00 pop {pc} aee: 46c0 nop (mov r8, r8) af0: fffffa08 af4: 0000ffff af8: fffffa0a afc: fffff804 b00: ffff9800 b04: 00002002 b08: fffffd00 b0c: 00001001 b10: e3a0d502 mov sp, #8388608 ; 0x800000 b14: e28dd802 add sp, sp, #131072 ; 0x20000 b18: e28fe005 add lr, pc, #5 b1c: e12fff1e bx lr b20: e1a00000 mov r0, r0 ; 0xb24 function appears to be the same as in the C139 version, ; but calls 0xed4 instead of 0xf2c. b24: b500 push {lr} b26: b082 sub sp, #8 b28: 49e8 ldr r1, =0x83ff00 ; via 0xecc b2a: 48e9 ldr r0, =0xffff5800 ; via 0xed0 b2c: 6008 str r0, [r1, #0] b2e: 2000 mov r0, #0 b30: 2102 mov r1, #2 b32: f000 f9cf bl 0xed4 b36: 2000 mov r0, #0 b38: 9000 str r0, [sp, #0] b3a: 9900 ldr r1, [sp, #0] b3c: 2005 mov r0, #5 b3e: 0300 lsl r0, r0, #12 b40: 4281 cmp r1, r0 b42: d207 bcs 0xb54 b44: 9800 ldr r0, [sp, #0] b46: 3001 add r0, #1 b48: 9000 str r0, [sp, #0] b4a: 9900 ldr r1, [sp, #0] b4c: 2005 mov r0, #5 b4e: 0300 lsl r0, r0, #12 b50: 4281 cmp r1, r0 b52: d3f7 bcc 0xb44 b54: f000 f82a bl 0xbac b58: 2000 mov r0, #0 b5a: 2107 mov r1, #7 b5c: f000 f9ba bl 0xed4 b60: 2000 mov r0, #0 b62: 9000 str r0, [sp, #0] b64: 9900 ldr r1, [sp, #0] b66: 2005 mov r0, #5 b68: 0300 lsl r0, r0, #12 b6a: 4281 cmp r1, r0 b6c: d207 bcs 0xb7e b6e: 9800 ldr r0, [sp, #0] b70: 3001 add r0, #1 b72: 9000 str r0, [sp, #0] b74: 9900 ldr r1, [sp, #0] b76: 2005 mov r0, #5 b78: 0300 lsl r0, r0, #12 b7a: 4281 cmp r1, r0 b7c: d3f7 bcc 0xb6e b7e: f000 f815 bl 0xbac b82: 2000 mov r0, #0 b84: 9001 str r0, [sp, #4] b86: 9000 str r0, [sp, #0] b88: 9900 ldr r1, [sp, #0] b8a: 2005 mov r0, #5 b8c: 0400 lsl r0, r0, #16 b8e: 4281 cmp r1, r0 b90: d20a bcs 0xba8 b92: 9801 ldr r0, [sp, #4] b94: 3001 add r0, #1 b96: 9001 str r0, [sp, #4] b98: 9800 ldr r0, [sp, #0] b9a: 3001 add r0, #1 b9c: 9000 str r0, [sp, #0] b9e: 9900 ldr r1, [sp, #0] ba0: 2005 mov r0, #5 ba2: 0400 lsl r0, r0, #16 ba4: 4281 cmp r1, r0 ba6: d3f4 bcc 0xb92 ba8: b002 add sp, #8 baa: bd00 pop {pc} ; serial download protocol bac: b500 push {lr} bae: b086 sub sp, #24 ; 0x18 bb0: 48f3 ldr r0, =0x800100 ; via 0xf80 bb2: 9005 str r0, [sp, #20] ; 0x14 bb4: 201b mov r0, #27 ; 0x1b bb6: f000 f935 bl 0xe24 bba: 20f6 mov r0, #246 ; 0xf6 bbc: f000 f932 bl 0xe24 bc0: 2002 mov r0, #2 bc2: f000 f92f bl 0xe24 bc6: 2000 mov r0, #0 bc8: f000 f92c bl 0xe24 bcc: 2041 mov r0, #65 ; 0x41 bce: f000 f929 bl 0xe24 bd2: 2001 mov r0, #1 bd4: f000 f926 bl 0xe24 bd8: 2040 mov r0, #64 ; 0x40 bda: f000 f923 bl 0xe24 bde: 2001 mov r0, #1 be0: 0300 lsl r0, r0, #12 be2: f000 f937 bl 0xe54 be6: 281b cmp r0, #27 ; 0x1b be8: d000 beq 0xbec bea: e0bc b 0xd66 bec: 2001 mov r0, #1 bee: 0300 lsl r0, r0, #12 bf0: f000 f930 bl 0xe54 bf4: 28f6 cmp r0, #246 ; 0xf6 bf6: d000 beq 0xbfa bf8: e0b5 b 0xd66 bfa: 2001 mov r0, #1 bfc: 0300 lsl r0, r0, #12 bfe: f000 f929 bl 0xe54 c02: 2802 cmp r0, #2 c04: d000 beq 0xc08 c06: e0ae b 0xd66 c08: 2001 mov r0, #1 c0a: 0300 lsl r0, r0, #12 c0c: f000 f922 bl 0xe54 c10: 2800 cmp r0, #0 c12: d000 beq 0xc16 c14: e0a7 b 0xd66 c16: 2001 mov r0, #1 c18: 0300 lsl r0, r0, #12 c1a: f000 f91b bl 0xe54 c1e: 2852 cmp r0, #82 ; 0x52 c20: d000 beq 0xc24 c22: e0a0 b 0xd66 c24: 2001 mov r0, #1 c26: 0300 lsl r0, r0, #12 c28: f000 f914 bl 0xe54 c2c: 2801 cmp r0, #1 c2e: d000 beq 0xc32 c30: e099 b 0xd66 c32: 2001 mov r0, #1 c34: 0300 lsl r0, r0, #12 c36: f000 f90d bl 0xe54 c3a: 2853 cmp r0, #83 ; 0x53 c3c: d000 beq 0xc40 c3e: e092 b 0xd66 c40: 201b mov r0, #27 ; 0x1b c42: f000 f8ef bl 0xe24 c46: 20f6 mov r0, #246 ; 0xf6 c48: f000 f8ec bl 0xe24 c4c: 2002 mov r0, #2 c4e: f000 f8e9 bl 0xe24 c52: 2000 mov r0, #0 c54: f000 f8e6 bl 0xe24 c58: 2041 mov r0, #65 ; 0x41 c5a: f000 f8e3 bl 0xe24 c5e: 2002 mov r0, #2 c60: f000 f8e0 bl 0xe24 c64: 2043 mov r0, #67 ; 0x43 c66: f000 f8dd bl 0xe24 c6a: 2001 mov r0, #1 c6c: 0300 lsl r0, r0, #12 c6e: f000 f8f1 bl 0xe54 c72: 4669 mov r1, sp c74: 7208 strb r0, [r1, #8] c76: 4668 mov r0, sp c78: 2102 mov r1, #2 c7a: 7441 strb r1, [r0, #17] ; 0x11 c7c: 2000 mov r0, #0 c7e: 9000 str r0, [sp, #0] c80: 9800 ldr r0, [sp, #0] c82: 2802 cmp r0, #2 c84: d216 bcs 0xcb4 c86: 2001 mov r0, #1 c88: 0300 lsl r0, r0, #12 c8a: f000 f8e3 bl 0xe54 c8e: 466a mov r2, sp c90: 9900 ldr r1, [sp, #0] c92: 1a51 sub r1, r2, r1 c94: 7348 strb r0, [r1, #13] ; 0xd c96: 4668 mov r0, sp c98: 9900 ldr r1, [sp, #0] c9a: 1a40 sub r0, r0, r1 c9c: 7b40 ldrb r0, [r0, #13] ; 0xd c9e: 4669 mov r1, sp ca0: 7c49 ldrb r1, [r1, #17] ; 0x11 ca2: 4048 eor r0, r1 ca4: 4669 mov r1, sp ca6: 7448 strb r0, [r1, #17] ; 0x11 ca8: 9800 ldr r0, [sp, #0] caa: 3001 add r0, #1 cac: 9000 str r0, [sp, #0] cae: 9800 ldr r0, [sp, #0] cb0: 2802 cmp r0, #2 cb2: d3e8 bcc 0xc86 cb4: 4668 mov r0, sp cb6: 8980 ldrh r0, [r0, #12] ; 0xc cb8: 466a mov r2, sp cba: 1e41 sub r1, r0, #1 cbc: 8191 strh r1, [r2, #12] ; 0xc cbe: 2800 cmp r0, #0 cc0: d016 beq 0xcf0 cc2: 2001 mov r0, #1 cc4: 0300 lsl r0, r0, #12 cc6: f000 f8c5 bl 0xe54 cca: 9905 ldr r1, [sp, #20] ; 0x14 ccc: 7008 strb r0, [r1, #0] cce: 9805 ldr r0, [sp, #20] ; 0x14 cd0: 7801 ldrb r1, [r0, #0] cd2: 4668 mov r0, sp cd4: 7c40 ldrb r0, [r0, #17] ; 0x11 cd6: 4041 eor r1, r0 cd8: 4668 mov r0, sp cda: 7441 strb r1, [r0, #17] ; 0x11 cdc: 9805 ldr r0, [sp, #20] ; 0x14 cde: 3001 add r0, #1 ce0: 9005 str r0, [sp, #20] ; 0x14 ce2: 4668 mov r0, sp ce4: 8982 ldrh r2, [r0, #12] ; 0xc ce6: 4669 mov r1, sp ce8: 1e50 sub r0, r2, #1 cea: 8188 strh r0, [r1, #12] ; 0xc cec: 2a00 cmp r2, #0 cee: d1e8 bne 0xcc2 cf0: 2001 mov r0, #1 cf2: 0300 lsl r0, r0, #12 cf4: f000 f8ae bl 0xe54 cf8: 4669 mov r1, sp cfa: 7408 strb r0, [r1, #16] ; 0x10 cfc: 4668 mov r0, sp cfe: 7c01 ldrb r1, [r0, #16] ; 0x10 d00: 7c40 ldrb r0, [r0, #17] ; 0x11 d02: 4281 cmp r1, r0 d04: d015 beq 0xd32 d06: 201b mov r0, #27 ; 0x1b d08: f000 f88c bl 0xe24 d0c: 20f6 mov r0, #246 ; 0xf6 d0e: f000 f889 bl 0xe24 d12: 2002 mov r0, #2 d14: f000 f886 bl 0xe24 d18: 2000 mov r0, #0 d1a: f000 f883 bl 0xe24 d1e: 2045 mov r0, #69 ; 0x45 d20: f000 f880 bl 0xe24 d24: 2053 mov r0, #83 ; 0x53 d26: f000 f87d bl 0xe24 d2a: 2016 mov r0, #22 ; 0x16 d2c: f000 f87a bl 0xe24 d30: e019 b 0xd66 d32: 201b mov r0, #27 ; 0x1b d34: f000 f876 bl 0xe24 d38: 20f6 mov r0, #246 ; 0xf6 d3a: f000 f873 bl 0xe24 d3e: 2002 mov r0, #2 d40: f000 f870 bl 0xe24 d44: 2000 mov r0, #0 d46: f000 f86d bl 0xe24 d4a: 2041 mov r0, #65 ; 0x41 d4c: f000 f86a bl 0xe24 d50: 2003 mov r0, #3 d52: f000 f867 bl 0xe24 d56: 2042 mov r0, #66 ; 0x42 d58: f000 f864 bl 0xe24 d5c: 485b ldr r0, =0x83ff00 ; via 0xecc d5e: 6800 ldr r0, [r0, #0] d60: 498f ldr r1, =0x800100 ; via 0xfa0 d62: f000 f85e bl 0xe22 d66: b006 add sp, #24 ; 0x18 d68: bd00 pop {pc} d6a: b500 push {lr} d6c: b081 sub sp, #4 d6e: 2066 mov r0, #102 ; 0x66 d70: f000 f858 bl 0xe24 d74: 2074 mov r0, #116 ; 0x74 d76: f000 f855 bl 0xe24 d7a: 206d mov r0, #109 ; 0x6d d7c: f000 f852 bl 0xe24 d80: 2074 mov r0, #116 ; 0x74 d82: f000 f84f bl 0xe24 d86: 206f mov r0, #111 ; 0x6f d88: f000 f84c bl 0xe24 d8c: 206f mov r0, #111 ; 0x6f d8e: f000 f849 bl 0xe24 d92: 206c mov r0, #108 ; 0x6c d94: f000 f846 bl 0xe24 d98: 4982 ldr r1, =0x83ff80 ; via 0xfa4 d9a: 2000 mov r0, #0 d9c: 7008 strb r0, [r1, #0] d9e: 9000 str r0, [sp, #0] da0: 9800 ldr r0, [sp, #0] da2: 0c00 lsr r0, r0, #16 da4: d105 bne 0xdb2 da6: 9800 ldr r0, [sp, #0] da8: 3001 add r0, #1 daa: 9000 str r0, [sp, #0] dac: 9800 ldr r0, [sp, #0] dae: 0c00 lsr r0, r0, #16 db0: d0f9 beq 0xda6 db2: 2007 mov r0, #7 db4: 0400 lsl r0, r0, #16 db6: f000 f84d bl 0xe54 dba: 2879 cmp r0, #121 ; 0x79 dbc: d10e bne 0xddc dbe: 2001 mov r0, #1 dc0: 0300 lsl r0, r0, #12 dc2: f000 f847 bl 0xe54 dc6: 2865 cmp r0, #101 ; 0x65 dc8: d108 bne 0xddc dca: 2001 mov r0, #1 dcc: 0300 lsl r0, r0, #12 dce: f000 f841 bl 0xe54 dd2: 2873 cmp r0, #115 ; 0x73 dd4: d102 bne 0xddc dd6: 4873 ldr r0, =0x83ff80 ; via 0xfa4 dd8: 2101 mov r1, #1 dda: 7001 strb r1, [r0, #0] ddc: f000 f8cc bl 0xf78 de0: 2800 cmp r0, #0 de2: d00d beq 0xe00 de4: 206d mov r0, #109 ; 0x6d de6: f000 f81d bl 0xe24 dea: 206f mov r0, #111 ; 0x6f dec: f000 f81a bl 0xe24 df0: 2064 mov r0, #100 ; 0x64 df2: f000 f817 bl 0xe24 df6: 2065 mov r0, #101 ; 0x65 df8: f000 f814 bl 0xe24 dfc: 206d mov r0, #109 ; 0x6d dfe: e00c b 0xe1a e00: 2065 mov r0, #101 ; 0x65 e02: f000 f80f bl 0xe24 e06: 2072 mov r0, #114 ; 0x72 e08: f000 f80c bl 0xe24 e0c: 2072 mov r0, #114 ; 0x72 e0e: f000 f809 bl 0xe24 e12: 206f mov r0, #111 ; 0x6f e14: f000 f806 bl 0xe24 e18: 2072 mov r0, #114 ; 0x72 e1a: f000 f803 bl 0xe24 e1e: b001 add sp, #4 e20: bd00 pop {pc} ; corresponds to 0xe76 in the C139 version e22: 4708 bx r1 ; UART character output routine, corresponds to 0xe78 in the C139 version e24: b081 sub sp, #4 e26: 4669 mov r1, sp e28: 7008 strb r0, [r1, #0] e2a: 4828 ldr r0, =0x83ff00 ; via 0xecc e2c: 6800 ldr r0, [r0, #0] e2e: 7940 ldrb r0, [r0, #5] e30: 0980 lsr r0, r0, #6 e32: d3fa bcc 0xe2a e34: 4825 ldr r0, =0x83ff00 ; via 0xecc e36: 6800 ldr r0, [r0, #0] e38: 4669 mov r1, sp e3a: 7809 ldrb r1, [r1, #0] e3c: 7001 strb r1, [r0, #0] e3e: b001 add sp, #4 e40: 46f7 mov pc, lr e42: 4822 ldr r0, =0x83ff00 ; via 0xecc e44: 6800 ldr r0, [r0, #0] e46: 7940 ldrb r0, [r0, #5] e48: 0840 lsr r0, r0, #1 e4a: d3fa bcc 0xe42 e4c: 481f ldr r0, =0x83ff00 ; via 0xecc e4e: 6800 ldr r0, [r0, #0] e50: 7800 ldrb r0, [r0, #0] e52: 4770 bx lr ; should correspond to 0xea8 in the C139 version e54: b083 sub sp, #12 ; 0xc e56: 9000 str r0, [sp, #0] e58: 9800 ldr r0, [sp, #0] e5a: 9002 str r0, [sp, #8] e5c: 481b ldr r0, =0x83ff00 ; via 0xecc e5e: 6800 ldr r0, [r0, #0] e60: 7940 ldrb r0, [r0, #5] e62: 0840 lsr r0, r0, #1 e64: d20c bcs 0xe80 e66: 9802 ldr r0, [sp, #8] e68: 3801 sub r0, #1 e6a: 9002 str r0, [sp, #8] e6c: 9802 ldr r0, [sp, #8] e6e: 2800 cmp r0, #0 e70: d101 bne 0xe76 e72: 20ff mov r0, #255 ; 0xff e74: e007 b 0xe86 e76: 4815 ldr r0, =0x83ff00 ; via 0xecc e78: 6800 ldr r0, [r0, #0] e7a: 7940 ldrb r0, [r0, #5] e7c: 0840 lsr r0, r0, #1 e7e: d3f2 bcc 0xe66 e80: 4812 ldr r0, =0x83ff00 ; via 0xecc e82: 6800 ldr r0, [r0, #0] e84: 7800 ldrb r0, [r0, #0] e86: b003 add sp, #12 ; 0xc e88: 4770 bx lr e8a: b081 sub sp, #4 e8c: e001 b 0xe92 e8e: 9800 ldr r0, [sp, #0] e90: 3801 sub r0, #1 e92: 9000 str r0, [sp, #0] e94: 480d ldr r0, =0x83ff00 ; via 0xecc e96: 6800 ldr r0, [r0, #0] e98: 7940 ldrb r0, [r0, #5] e9a: 0840 lsr r0, r0, #1 e9c: d202 bcs 0xea4 e9e: 9800 ldr r0, [sp, #0] ea0: 2800 cmp r0, #0 ea2: dcf4 bgt 0xe8e ea4: 9800 ldr r0, [sp, #0] ea6: 2800 cmp r0, #0 ea8: dd01 ble 0xeae eaa: 2000 mov r0, #0 eac: e000 b 0xeb0 eae: 2001 mov r0, #1 eb0: b001 add sp, #4 eb2: 4770 bx lr eb4: b082 sub sp, #8 eb6: 9000 str r0, [sp, #0] eb8: 4669 mov r1, sp eba: 2000 mov r0, #0 ebc: 7188 strb r0, [r1, #6] ebe: 9900 ldr r1, [sp, #0] ec0: 4839 ldr r0, =0xfffef000 ; via 0xfa8 ec2: 8800 ldrh r0, [r0, #0] ec4: 8008 strh r0, [r1, #0] ec6: b002 add sp, #8 ec8: 4770 bx lr eca: 46c0 nop (mov r8, r8) ecc: 0083ff00 ed0: ffff5800 ; should be the same as 0xf2c in the C139 version ed4: b081 sub sp, #4 ed6: 466a mov r2, sp ed8: 7051 strb r1, [r2, #1] eda: 4669 mov r1, sp edc: 7008 strb r0, [r1, #0] ede: 4933 ldr r1, =0xffff6000 ; via 0xfac ee0: 2002 mov r0, #2 ee2: 880a ldrh r2, [r1, #0] ee4: 4310 orr r0, r2 ee6: 8008 strh r0, [r1, #0] ee8: 4830 ldr r0, =0xffff6000 ; via 0xfac eea: 8801 ldrh r1, [r0, #0] eec: 0849 lsr r1, r1, #1 eee: 0049 lsl r1, r1, #1 ef0: 8001 strh r1, [r0, #0] ef2: 492e ldr r1, =0xffff6000 ; via 0xfac ef4: 8808 ldrh r0, [r1, #0] ef6: 2202 mov r2, #2 ef8: 4390 bic r0, r2 efa: 8008 strh r0, [r1, #0] efc: 482c ldr r0, =0x83ff00 ; via 0xfb0 efe: 6801 ldr r1, [r0, #0] f00: 2007 mov r0, #7 f02: 7208 strb r0, [r1, #8] f04: 482a ldr r0, =0x83ff00 ; via 0xfb0 f06: 6801 ldr r1, [r0, #0] f08: 20bf mov r0, #191 ; 0xbf f0a: 70c8 strb r0, [r1, #3] f0c: 4828 ldr r0, =0x83ff00 ; via 0xfb0 f0e: 6800 ldr r0, [r0, #0] f10: 1c80 add r0, r0, #2 f12: 2110 mov r1, #16 ; 0x10 f14: 8802 ldrh r2, [r0, #0] f16: 4311 orr r1, r2 f18: 8001 strh r1, [r0, #0] f1a: 4825 ldr r0, =0x83ff00 ; via 0xfb0 f1c: 6801 ldr r1, [r0, #0] f1e: 2080 mov r0, #128 ; 0x80 f20: 70c8 strb r0, [r1, #3] f22: 4823 ldr r0, =0x83ff00 ; via 0xfb0 f24: 6800 ldr r0, [r0, #0] f26: 2107 mov r1, #7 f28: 7081 strb r1, [r0, #2] f2a: 4821 ldr r0, =0x83ff00 ; via 0xfb0 f2c: 6800 ldr r0, [r0, #0] f2e: 21bf mov r1, #191 ; 0xbf f30: 70c1 strb r1, [r0, #3] f32: 481f ldr r0, =0x83ff00 ; via 0xfb0 f34: 6801 ldr r1, [r0, #0] f36: 4668 mov r0, sp f38: 7840 ldrb r0, [r0, #1] f3a: 7008 strb r0, [r1, #0] f3c: 481c ldr r0, =0x83ff00 ; via 0xfb0 f3e: 6801 ldr r1, [r0, #0] f40: 4668 mov r0, sp f42: 7800 ldrb r0, [r0, #0] f44: 7048 strb r0, [r1, #1] f46: 481a ldr r0, =0x83ff00 ; via 0xfb0 f48: 6801 ldr r1, [r0, #0] f4a: 2003 mov r0, #3 f4c: 70c8 strb r0, [r1, #3] f4e: 4818 ldr r0, =0x83ff00 ; via 0xfb0 f50: 6800 ldr r0, [r0, #0] f52: 2100 mov r1, #0 f54: 7201 strb r1, [r0, #8] f56: 4816 ldr r0, =0x83ff00 ; via 0xfb0 f58: 6800 ldr r0, [r0, #0] f5a: 7940 ldrb r0, [r0, #5] f5c: 0840 lsr r0, r0, #1 f5e: d309 bcc 0xf74 f60: 4669 mov r1, sp f62: 4813 ldr r0, =0x83ff00 ; via 0xfb0 f64: 6800 ldr r0, [r0, #0] f66: 7800 ldrb r0, [r0, #0] f68: 7088 strb r0, [r1, #2] f6a: 4811 ldr r0, =0x83ff00 ; via 0xfb0 f6c: 6800 ldr r0, [r0, #0] f6e: 7940 ldrb r0, [r0, #5] f70: 0840 lsr r0, r0, #1 f72: d2f5 bcs 0xf60 f74: b001 add sp, #4 f76: 4770 bx lr f78: 480a ldr r0, =0x83ff80 ; via 0xfa4 f7a: 7800 ldrb r0, [r0, #0] f7c: 4770 bx lr f7e: 46c0 nop (mov r8, r8) f80: 00800100 f84: b500 push {lr} f86: b081 sub sp, #4 f88: 4669 mov r1, sp f8a: 7008 strb r0, [r1, #0] f8c: 4668 mov r0, sp f8e: 7800 ldrb r0, [r0, #0] f90: f7ff ff48 bl 0xe24 f94: b001 add sp, #4 f96: bd00 pop {pc} f98: b500 push {lr} f9a: f7ff ff52 bl 0xe42 f9e: bd00 pop {pc} fa0: 0100 lsl r0, r0, #4 fa2: 0080 lsl r0, r0, #2 fa4: ff80 <half-bl> fa6: 0083 lsl r3, r0, #2 fa8: f000 fffe bl 0x1fa8 fac: 6000 str r0, [r0, #0] fae: ffff <half-bl> fb0: ff00 <half-bl> fb2: 0083 lsl r3, r0, #2 fb4: 4700 bx r0 fb6: 0000 lsl r0, r0, #0 fb8: b08c sub sp, #48 ; 0x30 fba: 9101 str r1, [sp, #4] fbc: 9000 str r0, [sp, #0] fbe: 2000 mov r0, #0 fc0: 9003 str r0, [sp, #12] ; 0xc fc2: 9800 ldr r0, [sp, #0] fc4: 7801 ldrb r1, [r0, #0] fc6: 3001 add r0, #1 fc8: 9000 str r0, [sp, #0] fca: 9105 str r1, [sp, #20] ; 0x14 fcc: 9800 ldr r0, [sp, #0] fce: 7801 ldrb r1, [r0, #0] fd0: 3001 add r0, #1 fd2: 9000 str r0, [sp, #0] fd4: 9801 ldr r0, [sp, #4] fd6: 7001 strb r1, [r0, #0] fd8: 2001 mov r0, #1 fda: 9004 str r0, [sp, #16] ; 0x10 fdc: e0a8 b 0x1130 fde: 9804 ldr r0, [sp, #16] ; 0x10 fe0: 3002 add r0, #2 fe2: 9004 str r0, [sp, #16] ; 0x10 fe4: 9800 ldr r0, [sp, #0] fe6: 7801 ldrb r1, [r0, #0] fe8: 3001 add r0, #1 fea: 9000 str r0, [sp, #0] fec: 4668 mov r0, sp fee: 8441 strh r1, [r0, #34] ; 0x22 ff0: 9800 ldr r0, [sp, #0] ff2: 7801 ldrb r1, [r0, #0] ff4: 3001 add r0, #1 ff6: 9000 str r0, [sp, #0] ff8: 4668 mov r0, sp ffa: 8401 strh r1, [r0, #32] ; 0x20 ffc: 8c00 ldrh r0, [r0, #32] ; 0x20 ffe: 4669 mov r1, sp 1000: 8c49 ldrh r1, [r1, #34] ; 0x22 1002: 0209 lsl r1, r1, #8 1004: 1840 add r0, r0, r1 1006: 9901 ldr r1, [sp, #4] 1008: 8088 strh r0, [r1, #4] 100a: 9804 ldr r0, [sp, #16] ; 0x10 100c: 3001 add r0, #1 100e: 9004 str r0, [sp, #16] ; 0x10 1010: 9800 ldr r0, [sp, #0] 1012: 7801 ldrb r1, [r0, #0] 1014: 3001 add r0, #1 1016: 9000 str r0, [sp, #0] 1018: 4668 mov r0, sp 101a: 7601 strb r1, [r0, #24] ; 0x18 101c: 9901 ldr r1, [sp, #4] 101e: 7e00 ldrb r0, [r0, #24] ; 0x18 1020: 7188 strb r0, [r1, #6] 1022: 4668 mov r0, sp 1024: 7e00 ldrb r0, [r0, #24] ; 0x18 1026: 2840 cmp r0, #64 ; 0x40 1028: dc00 bgt 0x102c 102a: e09f b 0x116c 102c: 2004 mov r0, #4 102e: 9003 str r0, [sp, #12] ; 0xc 1030: e09c b 0x116c 1032: 9804 ldr r0, [sp, #16] ; 0x10 1034: 3002 add r0, #2 1036: 9004 str r0, [sp, #16] ; 0x10 1038: 9800 ldr r0, [sp, #0] 103a: 7801 ldrb r1, [r0, #0] 103c: 3001 add r0, #1 103e: 9000 str r0, [sp, #0] 1040: 4668 mov r0, sp 1042: 8441 strh r1, [r0, #34] ; 0x22 1044: 9800 ldr r0, [sp, #0] 1046: 7801 ldrb r1, [r0, #0] 1048: 3001 add r0, #1 104a: 9000 str r0, [sp, #0] 104c: 4668 mov r0, sp 104e: 8401 strh r1, [r0, #32] ; 0x20 1050: 8c00 ldrh r0, [r0, #32] ; 0x20 1052: 4669 mov r1, sp 1054: 8c49 ldrh r1, [r1, #34] ; 0x22 1056: 0209 lsl r1, r1, #8 1058: 1841 add r1, r0, r1 105a: 9801 ldr r0, [sp, #4] 105c: 8081 strh r1, [r0, #4] 105e: 9804 ldr r0, [sp, #16] ; 0x10 1060: 3001 add r0, #1 1062: 9004 str r0, [sp, #16] ; 0x10 1064: 9800 ldr r0, [sp, #0] 1066: 7801 ldrb r1, [r0, #0] 1068: 3001 add r0, #1 106a: 9000 str r0, [sp, #0] 106c: 4668 mov r0, sp 106e: 7601 strb r1, [r0, #24] ; 0x18 1070: 9901 ldr r1, [sp, #4] 1072: 7e00 ldrb r0, [r0, #24] ; 0x18 1074: 7188 strb r0, [r1, #6] 1076: 4668 mov r0, sp 1078: 7e00 ldrb r0, [r0, #24] ; 0x18 107a: 2840 cmp r0, #64 ; 0x40 107c: dcd6 bgt 0x102c 107e: 9801 ldr r0, [sp, #4] 1080: 3008 add r0, #8 1082: 9007 str r0, [sp, #28] ; 0x1c 1084: 2000 mov r0, #0 1086: 9002 str r0, [sp, #8] 1088: 9902 ldr r1, [sp, #8] 108a: 4668 mov r0, sp 108c: 7e00 ldrb r0, [r0, #24] ; 0x18 108e: 4281 cmp r1, r0 1090: da6c bge 0x116c 1092: 9800 ldr r0, [sp, #0] 1094: 7801 ldrb r1, [r0, #0] 1096: 3001 add r0, #1 1098: 9000 str r0, [sp, #0] 109a: 4668 mov r0, sp 109c: 84c1 strh r1, [r0, #38] ; 0x26 109e: 9800 ldr r0, [sp, #0] 10a0: 7801 ldrb r1, [r0, #0] 10a2: 3001 add r0, #1 10a4: 9000 str r0, [sp, #0] 10a6: 4668 mov r0, sp 10a8: 8481 strh r1, [r0, #36] ; 0x24 10aa: 9807 ldr r0, [sp, #28] ; 0x1c 10ac: 1c81 add r1, r0, #2 10ae: 9107 str r1, [sp, #28] ; 0x1c 10b0: 4669 mov r1, sp 10b2: 8c89 ldrh r1, [r1, #36] ; 0x24 10b4: 466a mov r2, sp 10b6: 8cd2 ldrh r2, [r2, #38] ; 0x26 10b8: 0212 lsl r2, r2, #8 10ba: 1889 add r1, r1, r2 10bc: 8001 strh r1, [r0, #0] 10be: 9804 ldr r0, [sp, #16] ; 0x10 10c0: 3002 add r0, #2 10c2: 9004 str r0, [sp, #16] ; 0x10 10c4: 9802 ldr r0, [sp, #8] 10c6: 3001 add r0, #1 10c8: 9002 str r0, [sp, #8] 10ca: 9902 ldr r1, [sp, #8] 10cc: 4668 mov r0, sp 10ce: 7e00 ldrb r0, [r0, #24] ; 0x18 10d0: 4281 cmp r1, r0 10d2: dbde blt 0x1092 10d4: e04a b 0x116c 10d6: 9804 ldr r0, [sp, #16] ; 0x10 10d8: 3002 add r0, #2 10da: 9004 str r0, [sp, #16] ; 0x10 10dc: 9800 ldr r0, [sp, #0] 10de: 7801 ldrb r1, [r0, #0] 10e0: 3001 add r0, #1 10e2: 9000 str r0, [sp, #0] 10e4: 4668 mov r0, sp 10e6: 8501 strh r1, [r0, #40] ; 0x28 10e8: 9800 ldr r0, [sp, #0] 10ea: 7801 ldrb r1, [r0, #0] 10ec: 3001 add r0, #1 10ee: 9000 str r0, [sp, #0] 10f0: 4668 mov r0, sp 10f2: 8541 strh r1, [r0, #42] ; 0x2a 10f4: 8d41 ldrh r1, [r0, #42] ; 0x2a 10f6: 8d00 ldrh r0, [r0, #40] ; 0x28 10f8: 0200 lsl r0, r0, #8 10fa: 1809 add r1, r1, r0 10fc: 9801 ldr r0, [sp, #4] 10fe: 8081 strh r1, [r0, #4] 1100: 9804 ldr r0, [sp, #16] ; 0x10 1102: 3002 add r0, #2 1104: 9004 str r0, [sp, #16] ; 0x10 1106: 9800 ldr r0, [sp, #0] 1108: 7801 ldrb r1, [r0, #0] 110a: 3001 add r0, #1 110c: 9000 str r0, [sp, #0] 110e: 4668 mov r0, sp 1110: 8581 strh r1, [r0, #44] ; 0x2c 1112: 9800 ldr r0, [sp, #0] 1114: 7801 ldrb r1, [r0, #0] 1116: 3001 add r0, #1 1118: 9000 str r0, [sp, #0] 111a: 4668 mov r0, sp 111c: 85c1 strh r1, [r0, #46] ; 0x2e 111e: 8dc1 ldrh r1, [r0, #46] ; 0x2e 1120: 8d80 ldrh r0, [r0, #44] ; 0x2c 1122: 0200 lsl r0, r0, #8 1124: 1808 add r0, r1, r0 1126: 9901 ldr r1, [sp, #4] 1128: 80c8 strh r0, [r1, #6] 112a: e01f b 0x116c 112c: 2008 mov r0, #8 112e: e77e b 0x102e 1130: 9801 ldr r0, [sp, #4] 1132: 7801 ldrb r1, [r0, #0] 1134: 290a cmp r1, #10 ; 0xa 1136: d8f9 bhi 0x112c 1138: a001 add r0, pc, #4 113a: 0089 lsl r1, r1, #2 113c: 5840 ldr r0, [r0, r1] 113e: 4687 mov pc, r0 1140: 116c asr r4, r5, #5 1142: 0000 lsl r0, r0, #0 1144: 116c asr r4, r5, #5 1146: 0000 lsl r0, r0, #0 1148: 116c asr r4, r5, #5 114a: 0000 lsl r0, r0, #0 114c: 116c asr r4, r5, #5 114e: 0000 lsl r0, r0, #0 1150: 116c asr r4, r5, #5 1152: 0000 lsl r0, r0, #0 1154: 116c asr r4, r5, #5 1156: 0000 lsl r0, r0, #0 1158: 116c asr r4, r5, #5 115a: 0000 lsl r0, r0, #0 115c: 0fde lsr r6, r3, #31 115e: 0000 lsl r0, r0, #0 1160: 1032 asr r2, r6, #32 1162: 0000 lsl r0, r0, #0 1164: 116c asr r4, r5, #5 1166: 0000 lsl r0, r0, #0 1168: 10d6 asr r6, r2, #3 116a: 0000 lsl r0, r0, #0 116c: 9905 ldr r1, [sp, #20] ; 0x14 116e: 9804 ldr r0, [sp, #16] ; 0x10 1170: 4281 cmp r1, r0 1172: d001 beq 0x1178 1174: 2004 mov r0, #4 1176: 9003 str r0, [sp, #12] ; 0xc 1178: 9803 ldr r0, [sp, #12] ; 0xc 117a: b00c add sp, #48 ; 0x30 117c: 4770 bx lr 117e: b089 sub sp, #36 ; 0x24 1180: 9101 str r1, [sp, #4] 1182: 9000 str r0, [sp, #0] 1184: 2000 mov r0, #0 1186: 9003 str r0, [sp, #12] ; 0xc 1188: 9801 ldr r0, [sp, #4] 118a: 1c41 add r1, r0, #1 118c: 9101 str r1, [sp, #4] 118e: 9005 str r0, [sp, #20] ; 0x14 1190: 9801 ldr r0, [sp, #4] 1192: 1c41 add r1, r0, #1 1194: 9101 str r1, [sp, #4] 1196: 9900 ldr r1, [sp, #0] 1198: 7809 ldrb r1, [r1, #0] 119a: 7001 strb r1, [r0, #0] 119c: 4669 mov r1, sp 119e: 2001 mov r0, #1 11a0: 7408 strb r0, [r1, #16] ; 0x10 11a2: 9801 ldr r0, [sp, #4] 11a4: 1c41 add r1, r0, #1 11a6: 9101 str r1, [sp, #4] 11a8: 9900 ldr r1, [sp, #0] 11aa: 7849 ldrb r1, [r1, #1] 11ac: 7001 strb r1, [r0, #0] 11ae: 4669 mov r1, sp 11b0: 4668 mov r0, sp 11b2: 7c00 ldrb r0, [r0, #16] ; 0x10 11b4: 3001 add r0, #1 11b6: 7408 strb r0, [r1, #16] ; 0x10 11b8: e0e4 b 0x1384 11ba: 9800 ldr r0, [sp, #0] 11bc: 7840 ldrb r0, [r0, #1] 11be: 2800 cmp r0, #0 11c0: d000 beq 0x11c4 11c2: e0fd b 0x13c0 11c4: 9801 ldr r0, [sp, #4] 11c6: 1c41 add r1, r0, #1 11c8: 9101 str r1, [sp, #4] 11ca: 9900 ldr r1, [sp, #0] 11cc: 7909 ldrb r1, [r1, #4] 11ce: 7001 strb r1, [r0, #0] 11d0: 9801 ldr r0, [sp, #4] 11d2: 1c41 add r1, r0, #1 11d4: 9101 str r1, [sp, #4] 11d6: 9900 ldr r1, [sp, #0] 11d8: 7949 ldrb r1, [r1, #5] 11da: 7001 strb r1, [r0, #0] 11dc: 9801 ldr r0, [sp, #4] 11de: 1c41 add r1, r0, #1 11e0: 9101 str r1, [sp, #4] 11e2: 9900 ldr r1, [sp, #0] 11e4: 7989 ldrb r1, [r1, #6] 11e6: 7001 strb r1, [r0, #0] 11e8: 4668 mov r0, sp 11ea: 7c00 ldrb r0, [r0, #16] ; 0x10 11ec: 3003 add r0, #3 11ee: 4669 mov r1, sp 11f0: 7408 strb r0, [r1, #16] ; 0x10 11f2: e0e5 b 0x13c0 11f4: 9800 ldr r0, [sp, #0] 11f6: 7840 ldrb r0, [r0, #1] 11f8: 2800 cmp r0, #0 11fa: d000 beq 0x11fe 11fc: e0e0 b 0x13c0 11fe: 9801 ldr r0, [sp, #4] 1200: 1c41 add r1, r0, #1 1202: 9101 str r1, [sp, #4] 1204: 9900 ldr r1, [sp, #0] 1206: 7909 ldrb r1, [r1, #4] 1208: 7001 strb r1, [r0, #0] 120a: 4668 mov r0, sp 120c: 7c00 ldrb r0, [r0, #16] ; 0x10 120e: 3001 add r0, #1 1210: e7ed b 0x11ee 1212: 9800 ldr r0, [sp, #0] 1214: 7840 ldrb r0, [r0, #1] 1216: 2800 cmp r0, #0 1218: d000 beq 0x121c 121a: e0d1 b 0x13c0 121c: e7ef b 0x11fe 121e: 9800 ldr r0, [sp, #0] 1220: 7840 ldrb r0, [r0, #1] 1222: 2800 cmp r0, #0 1224: d000 beq 0x1228 1226: e0cb b 0x13c0 1228: e7e9 b 0x11fe 122a: 9800 ldr r0, [sp, #0] 122c: 7840 ldrb r0, [r0, #1] 122e: 2800 cmp r0, #0 1230: d000 beq 0x1234 1232: e0c5 b 0x13c0 1234: 4669 mov r1, sp 1236: 9800 ldr r0, [sp, #0] 1238: 8880 ldrh r0, [r0, #4] 123a: 8408 strh r0, [r1, #32] ; 0x20 123c: 9801 ldr r0, [sp, #4] 123e: 1c41 add r1, r0, #1 1240: 9101 str r1, [sp, #4] 1242: 4669 mov r1, sp 1244: 8c09 ldrh r1, [r1, #32] ; 0x20 1246: 0409 lsl r1, r1, #16 1248: 0e09 lsr r1, r1, #24 124a: 0209 lsl r1, r1, #8 124c: 1209 asr r1, r1, #8 124e: 7001 strb r1, [r0, #0] 1250: 9801 ldr r0, [sp, #4] 1252: 1c41 add r1, r0, #1 1254: 9101 str r1, [sp, #4] 1256: 4669 mov r1, sp 1258: 8c09 ldrh r1, [r1, #32] ; 0x20 125a: 0609 lsl r1, r1, #24 125c: 0e09 lsr r1, r1, #24 125e: 7001 strb r1, [r0, #0] 1260: 4669 mov r1, sp 1262: 9800 ldr r0, [sp, #0] 1264: 88c0 ldrh r0, [r0, #6] 1266: 8408 strh r0, [r1, #32] ; 0x20 1268: 9801 ldr r0, [sp, #4] 126a: 1c41 add r1, r0, #1 126c: 9101 str r1, [sp, #4] 126e: 4669 mov r1, sp 1270: 8c09 ldrh r1, [r1, #32] ; 0x20 1272: 0409 lsl r1, r1, #16 1274: 0e09 lsr r1, r1, #24 1276: 0209 lsl r1, r1, #8 1278: 1209 asr r1, r1, #8 127a: 7001 strb r1, [r0, #0] 127c: 9801 ldr r0, [sp, #4] 127e: 1c41 add r1, r0, #1 1280: 9101 str r1, [sp, #4] 1282: 4669 mov r1, sp 1284: 8c09 ldrh r1, [r1, #32] ; 0x20 1286: 0609 lsl r1, r1, #24 1288: 0e09 lsr r1, r1, #24 128a: 7001 strb r1, [r0, #0] 128c: 4668 mov r0, sp 128e: 7c00 ldrb r0, [r0, #16] ; 0x10 1290: 3004 add r0, #4 1292: e7ac b 0x11ee 1294: 9800 ldr r0, [sp, #0] 1296: 7840 ldrb r0, [r0, #1] 1298: 2800 cmp r0, #0 129a: d000 beq 0x129e 129c: e090 b 0x13c0 129e: e7ae b 0x11fe 12a0: 9800 ldr r0, [sp, #0] 12a2: 7840 ldrb r0, [r0, #1] 12a4: 2800 cmp r0, #0 12a6: d000 beq 0x12aa 12a8: e08a b 0x13c0 12aa: 4669 mov r1, sp 12ac: 4668 mov r0, sp 12ae: 7c00 ldrb r0, [r0, #16] ; 0x10 12b0: 3001 add r0, #1 12b2: 7408 strb r0, [r1, #16] ; 0x10 12b4: 4668 mov r0, sp 12b6: 9900 ldr r1, [sp, #0] 12b8: 7909 ldrb r1, [r1, #4] 12ba: 7601 strb r1, [r0, #24] ; 0x18 12bc: 9801 ldr r0, [sp, #4] 12be: 1c41 add r1, r0, #1 12c0: 9101 str r1, [sp, #4] 12c2: 4669 mov r1, sp 12c4: 7e09 ldrb r1, [r1, #24] ; 0x18 12c6: 7001 strb r1, [r0, #0] 12c8: 4668 mov r0, sp 12ca: 7e00 ldrb r0, [r0, #24] ; 0x18 12cc: 2840 cmp r0, #64 ; 0x40 12ce: dd01 ble 0x12d4 12d0: 2004 mov r0, #4 12d2: e055 b 0x1380 12d4: 9800 ldr r0, [sp, #0] 12d6: 3006 add r0, #6 12d8: 9007 str r0, [sp, #28] ; 0x1c 12da: 2000 mov r0, #0 12dc: 9002 str r0, [sp, #8] 12de: 9902 ldr r1, [sp, #8] 12e0: 4668 mov r0, sp 12e2: 7e00 ldrb r0, [r0, #24] ; 0x18 12e4: 4281 cmp r1, r0 12e6: da6b bge 0x13c0 12e8: 9801 ldr r0, [sp, #4] 12ea: 1c41 add r1, r0, #1 12ec: 9101 str r1, [sp, #4] 12ee: 9907 ldr r1, [sp, #28] ; 0x1c 12f0: 8809 ldrh r1, [r1, #0] 12f2: 0409 lsl r1, r1, #16 12f4: 0e09 lsr r1, r1, #24 12f6: 0209 lsl r1, r1, #8 12f8: 1209 asr r1, r1, #8 12fa: 7001 strb r1, [r0, #0] 12fc: 9807 ldr r0, [sp, #28] ; 0x1c 12fe: 8801 ldrh r1, [r0, #0] 1300: 3002 add r0, #2 1302: 9007 str r0, [sp, #28] ; 0x1c 1304: 0608 lsl r0, r1, #24 1306: 0e01 lsr r1, r0, #24 1308: 9801 ldr r0, [sp, #4] 130a: 1c42 add r2, r0, #1 130c: 9201 str r2, [sp, #4] 130e: 7001 strb r1, [r0, #0] 1310: 4669 mov r1, sp 1312: 4668 mov r0, sp 1314: 7c00 ldrb r0, [r0, #16] ; 0x10 1316: 3002 add r0, #2 1318: 7408 strb r0, [r1, #16] ; 0x10 131a: 9802 ldr r0, [sp, #8] 131c: 3001 add r0, #1 131e: 9002 str r0, [sp, #8] 1320: 9902 ldr r1, [sp, #8] 1322: 4668 mov r0, sp 1324: 7e00 ldrb r0, [r0, #24] ; 0x18 1326: 4281 cmp r1, r0 1328: dbde blt 0x12e8 132a: e049 b 0x13c0 132c: 9800 ldr r0, [sp, #0] 132e: 7840 ldrb r0, [r0, #1] 1330: 2800 cmp r0, #0 1332: d145 bne 0x13c0 1334: 4669 mov r1, sp 1336: 9800 ldr r0, [sp, #0] 1338: 8880 ldrh r0, [r0, #4] 133a: 8408 strh r0, [r1, #32] ; 0x20 133c: 9801 ldr r0, [sp, #4] 133e: 1c41 add r1, r0, #1 1340: 9101 str r1, [sp, #4] 1342: 4669 mov r1, sp 1344: 8c09 ldrh r1, [r1, #32] ; 0x20 1346: 0409 lsl r1, r1, #16 1348: 0e09 lsr r1, r1, #24 134a: 0209 lsl r1, r1, #8 134c: 1209 asr r1, r1, #8 134e: 7001 strb r1, [r0, #0] 1350: 9801 ldr r0, [sp, #4] 1352: 1c41 add r1, r0, #1 1354: 9101 str r1, [sp, #4] 1356: 4669 mov r1, sp 1358: 8c09 ldrh r1, [r1, #32] ; 0x20 135a: 0609 lsl r1, r1, #24 135c: 0e09 lsr r1, r1, #24 135e: 7001 strb r1, [r0, #0] 1360: 4668 mov r0, sp 1362: 9900 ldr r1, [sp, #0] 1364: 88c9 ldrh r1, [r1, #6] 1366: 8401 strh r1, [r0, #32] ; 0x20 1368: 9901 ldr r1, [sp, #4] 136a: 1c48 add r0, r1, #1 136c: 9001 str r0, [sp, #4] 136e: 4668 mov r0, sp 1370: 8c00 ldrh r0, [r0, #32] ; 0x20 1372: 0400 lsl r0, r0, #16 1374: 0e00 lsr r0, r0, #24 1376: 0200 lsl r0, r0, #8 1378: 1200 asr r0, r0, #8 137a: 7008 strb r0, [r1, #0] 137c: e77e b 0x127c 137e: 2008 mov r0, #8 1380: 9003 str r0, [sp, #12] ; 0xc 1382: e01d b 0x13c0 1384: 9800 ldr r0, [sp, #0] 1386: 7800 ldrb r0, [r0, #0] 1388: 280a cmp r0, #10 ; 0xa 138a: d8f8 bhi 0x137e 138c: a101 add r1, pc, #4 138e: 0080 lsl r0, r0, #2 1390: 5808 ldr r0, [r1, r0] 1392: 4687 mov pc, r0 1394: 11ba asr r2, r7, #6 1396: 0000 lsl r0, r0, #0 1398: 11f4 asr r4, r6, #7 139a: 0000 lsl r0, r0, #0 139c: 1212 asr r2, r2, #8 139e: 0000 lsl r0, r0, #0 13a0: 121e asr r6, r3, #8 13a2: 0000 lsl r0, r0, #0 13a4: 13c0 asr r0, r0, #15 13a6: 0000 lsl r0, r0, #0 13a8: 122a asr r2, r5, #8 13aa: 0000 lsl r0, r0, #0 13ac: 1294 asr r4, r2, #10 13ae: 0000 lsl r0, r0, #0 13b0: 12a0 asr r0, r4, #10 13b2: 0000 lsl r0, r0, #0 13b4: 13c0 asr r0, r0, #15 13b6: 0000 lsl r0, r0, #0 13b8: 132c asr r4, r5, #12 13ba: 0000 lsl r0, r0, #0 13bc: 13c0 asr r0, r0, #15 13be: 0000 lsl r0, r0, #0 13c0: 9805 ldr r0, [sp, #20] ; 0x14 13c2: 4669 mov r1, sp 13c4: 7c09 ldrb r1, [r1, #16] ; 0x10 13c6: 7001 strb r1, [r0, #0] 13c8: 9803 ldr r0, [sp, #12] ; 0xc 13ca: b009 add sp, #36 ; 0x24 13cc: 4770 bx lr 13ce: 0000 lsl r0, r0, #0 13d0: b500 push {lr} 13d2: b083 sub sp, #12 ; 0xc 13d4: 9101 str r1, [sp, #4] 13d6: 4669 mov r1, sp 13d8: 7008 strb r0, [r1, #0] 13da: 2000 mov r0, #0 13dc: 9002 str r0, [sp, #8] 13de: e073 b 0x14c8 13e0: 4668 mov r0, sp 13e2: 7800 ldrb r0, [r0, #0] 13e4: 28aa cmp r0, #170 ; 0xaa 13e6: d106 bne 0x13f6 13e8: 4965 ldr r1, =0x83ff10 ; via 0x1580 13ea: 4865 ldr r0, =0x83ff10 ; via 0x1580 13ec: 6800 ldr r0, [r0, #0] 13ee: 3001 add r0, #1 13f0: 07c0 lsl r0, r0, #31 13f2: 0fc0 lsr r0, r0, #31 13f4: e013 b 0x141e 13f6: 4862 ldr r0, =0x83ff10 ; via 0x1580 13f8: 6800 ldr r0, [r0, #0] 13fa: 2800 cmp r0, #0 13fc: d06b beq 0x14d6 13fe: 4961 ldr r1, =0x83ff04 ; via 0x1584 1400: 9801 ldr r0, [sp, #4] 1402: 3001 add r0, #1 1404: 6008 str r0, [r1, #0] 1406: 4960 ldr r1, =0x83ff0e ; via 0x1588 1408: 2000 mov r0, #0 140a: 7008 strb r0, [r1, #0] 140c: 495f ldr r1, =0x83ff0c ; via 0x158c 140e: 4668 mov r0, sp 1410: 7800 ldrb r0, [r0, #0] 1412: 8008 strh r0, [r1, #0] 1414: 495a ldr r1, =0x83ff10 ; via 0x1580 1416: 2000 mov r0, #0 1418: 6008 str r0, [r1, #0] 141a: 495d ldr r1, =0x83ff08 ; via 0x1590 141c: 2001 mov r0, #1 141e: 6008 str r0, [r1, #0] 1420: e059 b 0x14d6 1422: 4668 mov r0, sp 1424: 7800 ldrb r0, [r0, #0] 1426: 28aa cmp r0, #170 ; 0xaa 1428: d113 bne 0x1452 142a: 4855 ldr r0, =0x83ff10 ; via 0x1580 142c: 6800 ldr r0, [r0, #0] 142e: 2800 cmp r0, #0 1430: d00b beq 0x144a 1432: 4954 ldr r1, =0x83ff04 ; via 0x1584 1434: 6808 ldr r0, [r1, #0] 1436: 1c42 add r2, r0, #1 1438: 600a str r2, [r1, #0] 143a: 4669 mov r1, sp 143c: 7809 ldrb r1, [r1, #0] 143e: 7001 strb r1, [r0, #0] 1440: 4951 ldr r1, =0x83ff0e ; via 0x1588 1442: 7808 ldrb r0, [r1, #0] 1444: 3001 add r0, #1 1446: 7008 strb r0, [r1, #0] 1448: e013 b 0x1472 144a: 2101 mov r1, #1 144c: 484c ldr r0, =0x83ff10 ; via 0x1580 144e: 6001 str r1, [r0, #0] 1450: e01c b 0x148c 1452: 484b ldr r0, =0x83ff10 ; via 0x1580 1454: 6800 ldr r0, [r0, #0] 1456: 2800 cmp r0, #0 1458: d00d beq 0x1476 145a: 494a ldr r1, =0x83ff04 ; via 0x1584 145c: 9801 ldr r0, [sp, #4] 145e: 3001 add r0, #1 1460: 6008 str r0, [r1, #0] 1462: 4849 ldr r0, =0x83ff0e ; via 0x1588 1464: 2100 mov r1, #0 1466: 7001 strb r1, [r0, #0] 1468: 4948 ldr r1, =0x83ff0c ; via 0x158c 146a: 4668 mov r0, sp 146c: 7800 ldrb r0, [r0, #0] 146e: 3001 add r0, #1 1470: 8008 strh r0, [r1, #0] 1472: 2100 mov r1, #0 1474: e7ea b 0x144c 1476: 4843 ldr r0, =0x83ff04 ; via 0x1584 1478: 6801 ldr r1, [r0, #0] 147a: 1c4a add r2, r1, #1 147c: 6002 str r2, [r0, #0] 147e: 4668 mov r0, sp 1480: 7800 ldrb r0, [r0, #0] 1482: 7008 strb r0, [r1, #0] 1484: 4940 ldr r1, =0x83ff0e ; via 0x1588 1486: 7808 ldrb r0, [r1, #0] 1488: 3001 add r0, #1 148a: 7008 strb r0, [r1, #0] 148c: 483f ldr r0, =0x83ff0c ; via 0x158c 148e: 8801 ldrh r1, [r0, #0] 1490: 3901 sub r1, #1 1492: 8001 strh r1, [r0, #0] 1494: 483d ldr r0, =0x83ff0c ; via 0x158c 1496: 8800 ldrh r0, [r0, #0] 1498: 2800 cmp r0, #0 149a: d11c bne 0x14d6 149c: 9901 ldr r1, [sp, #4] 149e: 483a ldr r0, =0x83ff0e ; via 0x1588 14a0: 7800 ldrb r0, [r0, #0] 14a2: 7008 strb r0, [r1, #0] 14a4: 2001 mov r0, #1 14a6: 9002 str r0, [sp, #8] 14a8: 4839 ldr r0, =0x83ff08 ; via 0x1590 14aa: 2100 mov r1, #0 14ac: 6001 str r1, [r0, #0] 14ae: 4834 ldr r0, =0x83ff10 ; via 0x1580 14b0: 6001 str r1, [r0, #0] 14b2: 9801 ldr r0, [sp, #4] 14b4: 7800 ldrb r0, [r0, #0] 14b6: 2801 cmp r0, #1 14b8: d10d bne 0x14d6 14ba: 9801 ldr r0, [sp, #4] 14bc: 7840 ldrb r0, [r0, #1] 14be: 28dd cmp r0, #221 ; 0xdd 14c0: d109 bne 0x14d6 14c2: f7ff fb2f bl 0xb24 14c6: e006 b 0x14d6 14c8: 4831 ldr r0, =0x83ff08 ; via 0x1590 14ca: 6800 ldr r0, [r0, #0] 14cc: 2800 cmp r0, #0 14ce: d087 beq 0x13e0 14d0: 3801 sub r0, #1 14d2: 2800 cmp r0, #0 14d4: d0a5 beq 0x1422 14d6: 9802 ldr r0, [sp, #8] 14d8: b003 add sp, #12 ; 0xc 14da: bd00 pop {pc} 14dc: b086 sub sp, #24 ; 0x18 14de: 9202 str r2, [sp, #8] 14e0: 9101 str r1, [sp, #4] 14e2: 9000 str r0, [sp, #0] 14e4: 9801 ldr r0, [sp, #4] 14e6: 3001 add r0, #1 14e8: 9004 str r0, [sp, #16] ; 0x10 14ea: 9800 ldr r0, [sp, #0] 14ec: 1c41 add r1, r0, #1 14ee: 9100 str r1, [sp, #0] 14f0: 9005 str r0, [sp, #20] ; 0x14 14f2: 9901 ldr r1, [sp, #4] 14f4: 20aa mov r0, #170 ; 0xaa 14f6: 7008 strb r0, [r1, #0] 14f8: 9801 ldr r0, [sp, #4] 14fa: 3002 add r0, #2 14fc: 9001 str r0, [sp, #4] 14fe: 9902 ldr r1, [sp, #8] 1500: 2000 mov r0, #0 1502: 8008 strh r0, [r1, #0] 1504: 4669 mov r1, sp 1506: 8188 strh r0, [r1, #12] ; 0xc 1508: 4668 mov r0, sp 150a: 8981 ldrh r1, [r0, #12] ; 0xc 150c: 9805 ldr r0, [sp, #20] ; 0x14 150e: 7800 ldrb r0, [r0, #0] 1510: 4281 cmp r1, r0 1512: da23 bge 0x155c 1514: 9800 ldr r0, [sp, #0] 1516: 7800 ldrb r0, [r0, #0] 1518: 28aa cmp r0, #170 ; 0xaa 151a: d108 bne 0x152e 151c: 9801 ldr r0, [sp, #4] 151e: 1c41 add r1, r0, #1 1520: 9101 str r1, [sp, #4] 1522: 21aa mov r1, #170 ; 0xaa 1524: 7001 strb r1, [r0, #0] 1526: 9902 ldr r1, [sp, #8] 1528: 8808 ldrh r0, [r1, #0] 152a: 3001 add r0, #1 152c: 8008 strh r0, [r1, #0] 152e: 9800 ldr r0, [sp, #0] 1530: 7801 ldrb r1, [r0, #0] 1532: 3001 add r0, #1 1534: 9000 str r0, [sp, #0] 1536: 9801 ldr r0, [sp, #4] 1538: 1c42 add r2, r0, #1 153a: 9201 str r2, [sp, #4] 153c: 7001 strb r1, [r0, #0] 153e: 9902 ldr r1, [sp, #8] 1540: 8808 ldrh r0, [r1, #0] 1542: 3001 add r0, #1 1544: 8008 strh r0, [r1, #0] 1546: 4669 mov r1, sp 1548: 4668 mov r0, sp 154a: 8980 ldrh r0, [r0, #12] ; 0xc 154c: 3001 add r0, #1 154e: 8188 strh r0, [r1, #12] ; 0xc 1550: 4668 mov r0, sp 1552: 8980 ldrh r0, [r0, #12] ; 0xc 1554: 9905 ldr r1, [sp, #20] ; 0x14 1556: 7809 ldrb r1, [r1, #0] 1558: 4288 cmp r0, r1 155a: dbdb blt 0x1514 155c: 9904 ldr r1, [sp, #16] ; 0x10 155e: 9802 ldr r0, [sp, #8] 1560: 7800 ldrb r0, [r0, #0] 1562: 7008 strb r0, [r1, #0] 1564: 9902 ldr r1, [sp, #8] 1566: 8808 ldrh r0, [r1, #0] 1568: 3002 add r0, #2 156a: 8008 strh r0, [r1, #0] 156c: b006 add sp, #24 ; 0x18 156e: 4770 bx lr ; same as 0x15c8 in the C139 version 1570: 4907 ldr r1, =0x83ff08 ; via 0x1590 1572: 2000 mov r0, #0 1574: 6008 str r0, [r1, #0] 1576: 4802 ldr r0, =0x83ff10 ; via 0x1580 1578: 2100 mov r1, #0 157a: 6001 str r1, [r0, #0] 157c: 4770 bx lr 157e: 46c0 nop (mov r8, r8) 1580: 0083ff10 1584: 0083ff04 1588: 0083ff0e 158c: 0083ff0c 1590: 0083ff08 1594: b082 sub sp, #8 1596: 9101 str r1, [sp, #4] 1598: 9000 str r0, [sp, #0] 159a: 9901 ldr r1, [sp, #4] 159c: 2000 mov r0, #0 159e: 7008 strb r0, [r1, #0] 15a0: 9801 ldr r0, [sp, #4] 15a2: 2100 mov r1, #0 15a4: 7041 strb r1, [r0, #1] 15a6: 9801 ldr r0, [sp, #4] 15a8: 2102 mov r1, #2 15aa: 7101 strb r1, [r0, #4] 15ac: 9801 ldr r0, [sp, #4] 15ae: 2106 mov r1, #6 15b0: 7141 strb r1, [r0, #5] 15b2: 9801 ldr r0, [sp, #4] 15b4: 2102 mov r1, #2 15b6: 7181 strb r1, [r0, #6] 15b8: b002 add sp, #8 15ba: 4770 bx lr 15bc: b500 push {lr} 15be: b084 sub sp, #16 ; 0x10 15c0: 466b mov r3, sp 15c2: 721a strb r2, [r3, #8] 15c4: 9101 str r1, [sp, #4] 15c6: 9000 str r0, [sp, #0] 15c8: 9901 ldr r1, [sp, #4] 15ca: 2009 mov r0, #9 15cc: 7008 strb r0, [r1, #0] 15ce: e015 b 0x15fc 15d0: 9801 ldr r0, [sp, #4] 15d2: 2100 mov r1, #0 15d4: 7041 strb r1, [r0, #1] 15d6: 9901 ldr r1, [sp, #4] 15d8: 4668 mov r0, sp 15da: 8940 ldrh r0, [r0, #10] ; 0xa 15dc: 8088 strh r0, [r1, #4] 15de: 9901 ldr r1, [sp, #4] 15e0: 4668 mov r0, sp 15e2: 8980 ldrh r0, [r0, #12] ; 0xc 15e4: 80c8 strh r0, [r1, #6] 15e6: e01e b 0x1626 15e8: 2101 mov r1, #1 15ea: e004 b 0x15f6 15ec: 2103 mov r1, #3 15ee: e002 b 0x15f6 15f0: 2105 mov r1, #5 15f2: e000 b 0x15f6 15f4: 2106 mov r1, #6 15f6: 9801 ldr r0, [sp, #4] 15f8: 7041 strb r1, [r0, #1] 15fa: e014 b 0x1626 15fc: 200a mov r0, #10 ; 0xa 15fe: 4468 add r0, sp 1600: a903 add r1, sp, #12 ; 0xc 1602: 466a mov r2, sp 1604: 7a12 ldrb r2, [r2, #8] 1606: f000 fb71 bl 0x1cec 160a: 2800 cmp r0, #0 160c: d0e0 beq 0x15d0 160e: 3801 sub r0, #1 1610: 2800 cmp r0, #0 1612: d0e9 beq 0x15e8 1614: 3801 sub r0, #1 1616: 2800 cmp r0, #0 1618: d0e8 beq 0x15ec 161a: 3801 sub r0, #1 161c: 2800 cmp r0, #0 161e: d0e7 beq 0x15f0 1620: 3801 sub r0, #1 1622: 2800 cmp r0, #0 1624: d0e6 beq 0x15f4 1626: b004 add sp, #16 ; 0x10 1628: bd00 pop {pc} 162a: b084 sub sp, #16 ; 0x10 162c: 9101 str r1, [sp, #4] 162e: 9000 str r0, [sp, #0] 1630: 9901 ldr r1, [sp, #4] 1632: 200a mov r0, #10 ; 0xa 1634: 7008 strb r0, [r1, #0] 1636: 9801 ldr r0, [sp, #4] 1638: 2100 mov r1, #0 163a: 7041 strb r1, [r0, #1] 163c: 4669 mov r1, sp 163e: 9800 ldr r0, [sp, #0] 1640: 8880 ldrh r0, [r0, #4] 1642: 8108 strh r0, [r1, #8] 1644: 9800 ldr r0, [sp, #0] 1646: 88c0 ldrh r0, [r0, #6] 1648: 8148 strh r0, [r1, #10] ; 0xa 164a: 4668 mov r0, sp 164c: 8941 ldrh r1, [r0, #10] ; 0xa 164e: 8900 ldrh r0, [r0, #8] 1650: 0400 lsl r0, r0, #16 1652: 1808 add r0, r1, r0 1654: 9003 str r0, [sp, #12] ; 0xc 1656: 9803 ldr r0, [sp, #12] ; 0xc 1658: b004 add sp, #16 ; 0x10 165a: 4770 bx lr 165c: b085 sub sp, #20 ; 0x14 165e: 9303 str r3, [sp, #12] ; 0xc 1660: 9202 str r2, [sp, #8] 1662: 9101 str r1, [sp, #4] 1664: 4669 mov r1, sp 1666: 7008 strb r0, [r1, #0] 1668: 48ea ldr r0, =0x83ff19 ; via 0x1a14 166a: 7809 ldrb r1, [r1, #0] 166c: 7802 ldrb r2, [r0, #0] 166e: 1889 add r1, r1, r2 1670: 7001 strb r1, [r0, #0] 1672: 48e9 ldr r0, =0x83ff1a ; via 0x1a18 1674: 7800 ldrb r0, [r0, #0] 1676: 2800 cmp r0, #0 1678: d00e beq 0x1698 167a: 48e8 ldr r0, =0x83ff26 ; via 0x1a1c 167c: 4669 mov r1, sp 167e: 780a ldrb r2, [r1, #0] 1680: 8801 ldrh r1, [r0, #0] 1682: 1851 add r1, r2, r1 1684: 8001 strh r1, [r0, #0] 1686: 9903 ldr r1, [sp, #12] ; 0xc 1688: 48e4 ldr r0, =0x83ff26 ; via 0x1a1c 168a: 8800 ldrh r0, [r0, #0] 168c: 8008 strh r0, [r1, #0] 168e: 9801 ldr r0, [sp, #4] 1690: 2100 mov r1, #0 1692: 6001 str r1, [r0, #0] 1694: 2000 mov r0, #0 1696: e009 b 0x16ac 1698: 9902 ldr r1, [sp, #8] 169a: 6808 ldr r0, [r1, #0] 169c: 3002 add r0, #2 169e: 6008 str r0, [r1, #0] 16a0: 49de ldr r1, =0x83ff26 ; via 0x1a1c 16a2: 4668 mov r0, sp 16a4: 7800 ldrb r0, [r0, #0] 16a6: 0200 lsl r0, r0, #8 16a8: 8008 strh r0, [r1, #0] 16aa: 2001 mov r0, #1 16ac: 9004 str r0, [sp, #16] ; 0x10 16ae: 2001 mov r0, #1 16b0: 49d9 ldr r1, =0x83ff1a ; via 0x1a18 16b2: 7809 ldrb r1, [r1, #0] 16b4: 4388 bic r0, r1 16b6: 49d8 ldr r1, =0x83ff1a ; via 0x1a18 16b8: 7008 strb r0, [r1, #0] 16ba: 48d9 ldr r0, =0x83ff24 ; via 0x1a20 16bc: 7801 ldrb r1, [r0, #0] 16be: 3901 sub r1, #1 16c0: 7001 strb r1, [r0, #0] 16c2: 48d7 ldr r0, =0x83ff24 ; via 0x1a20 16c4: 7800 ldrb r0, [r0, #0] 16c6: 2800 cmp r0, #0 16c8: d102 bne 0x16d0 16ca: 48d6 ldr r0, =0x83ff20 ; via 0x1a24 16cc: 2106 mov r1, #6 16ce: 6001 str r1, [r0, #0] 16d0: 9804 ldr r0, [sp, #16] ; 0x10 16d2: b005 add sp, #20 ; 0x14 16d4: 46f7 mov pc, lr 16d6: b083 sub sp, #12 ; 0xc 16d8: 9101 str r1, [sp, #4] 16da: 4669 mov r1, sp 16dc: 7008 strb r0, [r1, #0] 16de: 2001 mov r0, #1 16e0: 9002 str r0, [sp, #8] 16e2: 48d1 ldr r0, =0x83ff1b ; via 0x1a28 16e4: 7800 ldrb r0, [r0, #0] 16e6: 2800 cmp r0, #0 16e8: d10a bne 0x1700 16ea: 4668 mov r0, sp 16ec: 7800 ldrb r0, [r0, #0] 16ee: 2853 cmp r0, #83 ; 0x53 16f0: d102 bne 0x16f8 16f2: 48cd ldr r0, =0x83ff1b ; via 0x1a28 16f4: 2101 mov r1, #1 16f6: e01a b 0x172e 16f8: 2101 mov r1, #1 16fa: 9801 ldr r0, [sp, #4] 16fc: 6001 str r1, [r0, #0] 16fe: e03b b 0x1778 1700: 49c9 ldr r1, =0x83ff1b ; via 0x1a28 1702: 2000 mov r0, #0 1704: 7008 strb r0, [r1, #0] 1706: 4668 mov r0, sp 1708: 7800 ldrb r0, [r0, #0] 170a: 2830 cmp r0, #48 ; 0x30 170c: d111 bne 0x1732 170e: 48c7 ldr r0, =0x83ff18 ; via 0x1a2c 1710: 7800 ldrb r0, [r0, #0] 1712: 2800 cmp r0, #0 1714: d006 beq 0x1724 1716: 9901 ldr r1, [sp, #4] 1718: 2001 mov r0, #1 171a: 6008 str r0, [r1, #0] 171c: 49c3 ldr r1, =0x83ff18 ; via 0x1a2c 171e: 2000 mov r0, #0 1720: 7008 strb r0, [r1, #0] 1722: e02a b 0x177a 1724: 48bf ldr r0, =0x83ff20 ; via 0x1a24 1726: 2102 mov r1, #2 1728: 6001 str r1, [r0, #0] 172a: 48ef ldr r0, =0x83ff1c ; via 0x1ae8 172c: 2100 mov r1, #0 172e: 7001 strb r1, [r0, #0] 1730: e024 b 0x177c 1732: 4668 mov r0, sp 1734: 7800 ldrb r0, [r0, #0] 1736: 2833 cmp r0, #51 ; 0x33 1738: d105 bne 0x1746 173a: 48bc ldr r0, =0x83ff18 ; via 0x1a2c 173c: 7800 ldrb r0, [r0, #0] 173e: 2800 cmp r0, #0 1740: d0da beq 0x16f8 1742: 2004 mov r0, #4 1744: e00c b 0x1760 1746: 4668 mov r0, sp 1748: 7800 ldrb r0, [r0, #0] 174a: 2837 cmp r0, #55 ; 0x37 174c: d10e bne 0x176c 174e: 48b7 ldr r0, =0x83ff18 ; via 0x1a2c 1750: 7800 ldrb r0, [r0, #0] 1752: 2800 cmp r0, #0 1754: d103 bne 0x175e 1756: 9901 ldr r1, [sp, #4] 1758: 2001 mov r0, #1 175a: 6008 str r0, [r1, #0] 175c: e00c b 0x1778 175e: 2003 mov r0, #3 1760: 49b0 ldr r1, =0x83ff20 ; via 0x1a24 1762: 6008 str r0, [r1, #0] 1764: 2000 mov r0, #0 1766: 49e0 ldr r1, =0x83ff1c ; via 0x1ae8 1768: 7008 strb r0, [r1, #0] 176a: e007 b 0x177c 176c: 9901 ldr r1, [sp, #4] 176e: 2001 mov r0, #1 1770: 6008 str r0, [r1, #0] 1772: 48ae ldr r0, =0x83ff18 ; via 0x1a2c 1774: 2100 mov r1, #0 1776: 7001 strb r1, [r0, #0] 1778: 2000 mov r0, #0 177a: 9002 str r0, [sp, #8] 177c: 9802 ldr r0, [sp, #8] 177e: b003 add sp, #12 ; 0xc 1780: 46f7 mov pc, lr 1782: b083 sub sp, #12 ; 0xc 1784: 9101 str r1, [sp, #4] 1786: 4669 mov r1, sp 1788: 7008 strb r0, [r1, #0] 178a: 2001 mov r0, #1 178c: 9002 str r0, [sp, #8] 178e: 49d7 ldr r1, =0x830 ; via 0x1aec 1790: 48d5 ldr r0, =0x83ff1c ; via 0x1ae8 1792: 7800 ldrb r0, [r0, #0] 1794: 0080 lsl r0, r0, #2 1796: 5808 ldr r0, [r1, r0] 1798: 4669 mov r1, sp 179a: 7809 ldrb r1, [r1, #0] 179c: 4281 cmp r1, r0 179e: d10d bne 0x17bc 17a0: 49d1 ldr r1, =0x83ff1c ; via 0x1ae8 17a2: 7808 ldrb r0, [r1, #0] 17a4: 3001 add r0, #1 17a6: 7008 strb r0, [r1, #0] 17a8: 48cf ldr r0, =0x83ff1c ; via 0x1ae8 17aa: 7800 ldrb r0, [r0, #0] 17ac: 2807 cmp r0, #7 17ae: d10d bne 0x17cc 17b0: 489c ldr r0, =0x83ff20 ; via 0x1a24 17b2: 2101 mov r1, #1 17b4: 6001 str r1, [r0, #0] 17b6: 489d ldr r0, =0x83ff18 ; via 0x1a2c 17b8: 7001 strb r1, [r0, #0] 17ba: e007 b 0x17cc 17bc: 9801 ldr r0, [sp, #4] 17be: 2101 mov r1, #1 17c0: 6001 str r1, [r0, #0] 17c2: 4998 ldr r1, =0x83ff20 ; via 0x1a24 17c4: 2001 mov r0, #1 17c6: 6008 str r0, [r1, #0] 17c8: 2000 mov r0, #0 17ca: 9002 str r0, [sp, #8] 17cc: 9802 ldr r0, [sp, #8] 17ce: b003 add sp, #12 ; 0xc 17d0: 46f7 mov pc, lr 17d2: b083 sub sp, #12 ; 0xc 17d4: 9101 str r1, [sp, #4] 17d6: 4669 mov r1, sp 17d8: 7008 strb r0, [r1, #0] 17da: 2001 mov r0, #1 17dc: 9002 str r0, [sp, #8] 17de: 49c4 ldr r1, =0x84c ; via 0x1af0 17e0: 48c1 ldr r0, =0x83ff1c ; via 0x1ae8 17e2: 7800 ldrb r0, [r0, #0] 17e4: 0080 lsl r0, r0, #2 17e6: 5808 ldr r0, [r1, r0] 17e8: 4669 mov r1, sp 17ea: 7809 ldrb r1, [r1, #0] 17ec: 4281 cmp r1, r0 17ee: d112 bne 0x1816 17f0: 49bd ldr r1, =0x83ff1c ; via 0x1ae8 17f2: 7808 ldrb r0, [r1, #0] 17f4: 3001 add r0, #1 17f6: 7008 strb r0, [r1, #0] 17f8: 48bb ldr r0, =0x83ff1c ; via 0x1ae8 17fa: 7800 ldrb r0, [r0, #0] 17fc: 2806 cmp r0, #6 17fe: d114 bne 0x182a 1800: 9801 ldr r0, [sp, #4] 1802: 2102 mov r1, #2 1804: 6001 str r1, [r0, #0] 1806: 4887 ldr r0, =0x83ff20 ; via 0x1a24 1808: 2101 mov r1, #1 180a: 6001 str r1, [r0, #0] 180c: 4887 ldr r0, =0x83ff18 ; via 0x1a2c 180e: 2100 mov r1, #0 1810: 7001 strb r1, [r0, #0] 1812: 2000 mov r0, #0 1814: e008 b 0x1828 1816: 9801 ldr r0, [sp, #4] 1818: 2101 mov r1, #1 181a: 6001 str r1, [r0, #0] 181c: 4981 ldr r1, =0x83ff20 ; via 0x1a24 181e: 2001 mov r0, #1 1820: 6008 str r0, [r1, #0] 1822: 4982 ldr r1, =0x83ff18 ; via 0x1a2c 1824: 2000 mov r0, #0 1826: 7008 strb r0, [r1, #0] 1828: 9002 str r0, [sp, #8] 182a: 9802 ldr r0, [sp, #8] 182c: b003 add sp, #12 ; 0xc 182e: 46f7 mov pc, lr 1830: b081 sub sp, #4 1832: 4669 mov r1, sp 1834: 7008 strb r0, [r1, #0] 1836: 497a ldr r1, =0x83ff24 ; via 0x1a20 1838: 4668 mov r0, sp 183a: 7800 ldrb r0, [r0, #0] 183c: 3801 sub r0, #1 183e: 7008 strb r0, [r1, #0] 1840: 4874 ldr r0, =0x83ff19 ; via 0x1a14 1842: 4669 mov r1, sp 1844: 7809 ldrb r1, [r1, #0] 1846: 7001 strb r1, [r0, #0] 1848: 48a7 ldr r0, =0x83ff1c ; via 0x1ae8 184a: 2100 mov r1, #0 184c: 7001 strb r1, [r0, #0] 184e: 48e3 ldr r0, =0x83ff14 ; via 0x1bdc 1850: 6001 str r1, [r0, #0] 1852: 4874 ldr r0, =0x83ff20 ; via 0x1a24 1854: 2105 mov r1, #5 1856: 6001 str r1, [r0, #0] 1858: b001 add sp, #4 185a: 46f7 mov pc, lr 185c: b084 sub sp, #16 ; 0x10 185e: 9202 str r2, [sp, #8] 1860: 9101 str r1, [sp, #4] 1862: 4669 mov r1, sp 1864: 7008 strb r0, [r1, #0] 1866: 2001 mov r0, #1 1868: 9003 str r0, [sp, #12] ; 0xc 186a: 496d ldr r1, =0x83ff24 ; via 0x1a20 186c: 7808 ldrb r0, [r1, #0] 186e: 3801 sub r0, #1 1870: 7008 strb r0, [r1, #0] 1872: 486b ldr r0, =0x83ff24 ; via 0x1a20 1874: 7800 ldrb r0, [r0, #0] 1876: 2800 cmp r0, #0 1878: d026 beq 0x18c8 187a: 4866 ldr r0, =0x83ff19 ; via 0x1a14 187c: 4669 mov r1, sp 187e: 780a ldrb r2, [r1, #0] 1880: 7801 ldrb r1, [r0, #0] 1882: 1851 add r1, r2, r1 1884: 7001 strb r1, [r0, #0] 1886: 4998 ldr r1, =0x83ff1c ; via 0x1ae8 1888: 7808 ldrb r0, [r1, #0] 188a: 3001 add r0, #1 188c: 7008 strb r0, [r1, #0] 188e: 49d3 ldr r1, =0x83ff14 ; via 0x1bdc 1890: 2204 mov r2, #4 1892: 4895 ldr r0, =0x83ff1c ; via 0x1ae8 1894: 7800 ldrb r0, [r0, #0] 1896: 1a10 sub r0, r2, r0 1898: 00c2 lsl r2, r0, #3 189a: 4668 mov r0, sp 189c: 7800 ldrb r0, [r0, #0] 189e: 4090 lsl r0, r2 18a0: 680a ldr r2, [r1, #0] 18a2: 1880 add r0, r0, r2 18a4: 6008 str r0, [r1, #0] 18a6: 4890 ldr r0, =0x83ff1c ; via 0x1ae8 18a8: 7800 ldrb r0, [r0, #0] 18aa: 2804 cmp r0, #4 18ac: d117 bne 0x18de 18ae: 9902 ldr r1, [sp, #8] 18b0: 48ca ldr r0, =0x83ff14 ; via 0x1bdc 18b2: 6800 ldr r0, [r0, #0] 18b4: 3802 sub r0, #2 18b6: 6008 str r0, [r1, #0] 18b8: 485a ldr r0, =0x83ff20 ; via 0x1a24 18ba: 2100 mov r1, #0 18bc: 6001 str r1, [r0, #0] 18be: 4856 ldr r0, =0x83ff1a ; via 0x1a18 18c0: 7001 strb r1, [r0, #0] 18c2: 4889 ldr r0, =0x83ff1c ; via 0x1ae8 18c4: 7001 strb r1, [r0, #0] 18c6: e00a b 0x18de 18c8: 9801 ldr r0, [sp, #4] 18ca: 2101 mov r1, #1 18cc: 6001 str r1, [r0, #0] 18ce: 4955 ldr r1, =0x83ff20 ; via 0x1a24 18d0: 2001 mov r0, #1 18d2: 6008 str r0, [r1, #0] 18d4: 4855 ldr r0, =0x83ff18 ; via 0x1a2c 18d6: 2100 mov r1, #0 18d8: 7001 strb r1, [r0, #0] 18da: 2000 mov r0, #0 18dc: 9003 str r0, [sp, #12] ; 0xc 18de: 9803 ldr r0, [sp, #12] ; 0xc 18e0: b004 add sp, #16 ; 0x10 18e2: 46f7 mov pc, lr 18e4: b083 sub sp, #12 ; 0xc 18e6: 9101 str r1, [sp, #4] 18e8: 4669 mov r1, sp 18ea: 7008 strb r0, [r1, #0] 18ec: 2001 mov r0, #1 18ee: 9002 str r0, [sp, #8] 18f0: 494c ldr r1, =0x83ff20 ; via 0x1a24 18f2: 6008 str r0, [r1, #0] 18f4: 20ff mov r0, #255 ; 0xff 18f6: 4669 mov r1, sp 18f8: 7809 ldrb r1, [r1, #0] 18fa: 4388 bic r0, r1 18fc: 4945 ldr r1, =0x83ff19 ; via 0x1a14 18fe: 7809 ldrb r1, [r1, #0] 1900: 4281 cmp r1, r0 1902: d007 beq 0x1914 1904: 9801 ldr r0, [sp, #4] 1906: 2101 mov r1, #1 1908: 6001 str r1, [r0, #0] 190a: 4848 ldr r0, =0x83ff18 ; via 0x1a2c 190c: 2100 mov r1, #0 190e: 7001 strb r1, [r0, #0] 1910: 2000 mov r0, #0 1912: 9002 str r0, [sp, #8] 1914: 9802 ldr r0, [sp, #8] 1916: b003 add sp, #12 ; 0xc 1918: 46f7 mov pc, lr 191a: b085 sub sp, #20 ; 0x14 191c: 466b mov r3, sp 191e: 719a strb r2, [r3, #6] 1920: 466a mov r2, sp 1922: 8091 strh r1, [r2, #4] 1924: 9000 str r0, [sp, #0] 1926: 9800 ldr r0, [sp, #0] 1928: 9002 str r0, [sp, #8] 192a: 4669 mov r1, sp 192c: 4668 mov r0, sp 192e: 8880 ldrh r0, [r0, #4] 1930: 8208 strh r0, [r1, #16] ; 0x10 1932: 4668 mov r0, sp 1934: 8a00 ldrh r0, [r0, #16] ; 0x10 1936: 2800 cmp r0, #0 1938: d01e beq 0x1978 193a: 49e3 ldr r1, =0x864 ; via 0x1cc8 193c: 4668 mov r0, sp 193e: 7980 ldrb r0, [r0, #6] 1940: 0080 lsl r0, r0, #2 1942: 5808 ldr r0, [r1, r0] 1944: 7941 ldrb r1, [r0, #5] 1946: 4668 mov r0, sp 1948: 7301 strb r1, [r0, #12] ; 0xc 194a: 7b00 ldrb r0, [r0, #12] ; 0xc 194c: 0980 lsr r0, r0, #6 194e: d3f4 bcc 0x193a 1950: 49dd ldr r1, =0x864 ; via 0x1cc8 1952: 4668 mov r0, sp 1954: 7980 ldrb r0, [r0, #6] 1956: 0080 lsl r0, r0, #2 1958: 5809 ldr r1, [r1, r0] 195a: 9802 ldr r0, [sp, #8] 195c: 7800 ldrb r0, [r0, #0] 195e: 7008 strb r0, [r1, #0] 1960: 9802 ldr r0, [sp, #8] 1962: 3001 add r0, #1 1964: 9002 str r0, [sp, #8] 1966: 4669 mov r1, sp 1968: 4668 mov r0, sp 196a: 8a00 ldrh r0, [r0, #16] ; 0x10 196c: 3801 sub r0, #1 196e: 8208 strh r0, [r1, #16] ; 0x10 1970: 4668 mov r0, sp 1972: 8a00 ldrh r0, [r0, #16] ; 0x10 1974: 2800 cmp r0, #0 1976: d1e0 bne 0x193a 1978: b005 add sp, #20 ; 0x14 197a: 46f7 mov pc, lr 197c: b082 sub sp, #8 197e: 4669 mov r1, sp 1980: 7008 strb r0, [r1, #0] 1982: 2000 mov r0, #0 1984: 8088 strh r0, [r1, #4] 1986: 4668 mov r0, sp 1988: 8881 ldrh r1, [r0, #4] 198a: 20ff mov r0, #255 ; 0xff 198c: 30f5 add r0, #245 ; 0xf5 198e: 4281 cmp r1, r0 1990: da21 bge 0x19d6 1992: 4669 mov r1, sp 1994: 4668 mov r0, sp 1996: 8880 ldrh r0, [r0, #4] 1998: 3001 add r0, #1 199a: 8088 strh r0, [r1, #4] 199c: 48ca ldr r0, =0x864 ; via 0x1cc8 199e: 7809 ldrb r1, [r1, #0] 19a0: 0089 lsl r1, r1, #2 19a2: 5840 ldr r0, [r0, r1] 19a4: 7940 ldrb r0, [r0, #5] 19a6: 4669 mov r1, sp 19a8: 7048 strb r0, [r1, #1] 19aa: 4668 mov r0, sp 19ac: 7840 ldrb r0, [r0, #1] 19ae: 0840 lsr r0, r0, #1 19b0: d30b bcc 0x19ca 19b2: 49c5 ldr r1, =0x864 ; via 0x1cc8 19b4: 4668 mov r0, sp 19b6: 7800 ldrb r0, [r0, #0] 19b8: 0080 lsl r0, r0, #2 19ba: 5808 ldr r0, [r1, r0] 19bc: 7800 ldrb r0, [r0, #0] 19be: 0600 lsl r0, r0, #24 19c0: 0e00 lsr r0, r0, #24 19c2: 4669 mov r1, sp 19c4: 7088 strb r0, [r1, #2] 19c6: 2000 mov r0, #0 19c8: 8088 strh r0, [r1, #4] 19ca: 4668 mov r0, sp 19cc: 8881 ldrh r1, [r0, #4] 19ce: 20ff mov r0, #255 ; 0xff 19d0: 30f5 add r0, #245 ; 0xf5 19d2: 4281 cmp r1, r0 19d4: dbdd blt 0x1992 19d6: b002 add sp, #8 19d8: 4770 bx lr 19da: b500 push {lr} 19dc: b08c sub sp, #48 ; 0x30 19de: 466a mov r2, sp 19e0: 7111 strb r1, [r2, #4] 19e2: 9000 str r0, [sp, #0] 19e4: 2001 mov r0, #1 19e6: 9002 str r0, [sp, #8] 19e8: 9800 ldr r0, [sp, #0] 19ea: a904 add r1, sp, #16 ; 0x10 19ec: aa03 add r2, sp, #12 ; 0xc 19ee: f7ff fd75 bl 0x14dc 19f2: 4668 mov r0, sp 19f4: 8980 ldrh r0, [r0, #12] ; 0xc 19f6: 2820 cmp r0, #32 ; 0x20 19f8: dd02 ble 0x1a00 19fa: 2000 mov r0, #0 19fc: 9002 str r0, [sp, #8] 19fe: e006 b 0x1a0e 1a00: a804 add r0, sp, #16 ; 0x10 1a02: 4669 mov r1, sp 1a04: 8989 ldrh r1, [r1, #12] ; 0xc 1a06: 466a mov r2, sp 1a08: 7912 ldrb r2, [r2, #4] 1a0a: f7ff ff86 bl 0x191a 1a0e: 9802 ldr r0, [sp, #8] 1a10: b00c add sp, #48 ; 0x30 1a12: bd00 pop {pc} 1a14: ff19 <half-bl> 1a16: 0083 lsl r3, r0, #2 1a18: ff1a <half-bl> 1a1a: 0083 lsl r3, r0, #2 1a1c: ff26 <half-bl> 1a1e: 0083 lsl r3, r0, #2 1a20: ff24 <half-bl> 1a22: 0083 lsl r3, r0, #2 1a24: ff20 <half-bl> 1a26: 0083 lsl r3, r0, #2 1a28: ff1b <half-bl> 1a2a: 0083 lsl r3, r0, #2 1a2c: ff18 <half-bl> 1a2e: 0083 lsl r3, r0, #2 1a30: b500 push {lr} 1a32: b084 sub sp, #16 ; 0x10 1a34: 9101 str r1, [sp, #4] 1a36: 9000 str r0, [sp, #0] 1a38: 4669 mov r1, sp 1a3a: 20ff mov r0, #255 ; 0xff 1a3c: 7308 strb r0, [r1, #12] ; 0xc 1a3e: 2000 mov r0, #0 1a40: 9002 str r0, [sp, #8] 1a42: 4669 mov r1, sp 1a44: 48a1 ldr r0, =0xffff5805 ; via 0x1ccc 1a46: 7800 ldrb r0, [r0, #0] 1a48: 7348 strb r0, [r1, #13] ; 0xd 1a4a: 48a1 ldr r0, =0xffff5005 ; via 0x1cd0 1a4c: 7800 ldrb r0, [r0, #0] 1a4e: 7388 strb r0, [r1, #14] ; 0xe 1a50: 4668 mov r0, sp 1a52: 7b40 ldrb r0, [r0, #13] ; 0xd 1a54: 0840 lsr r0, r0, #1 1a56: d206 bcs 0x1a66 1a58: 4668 mov r0, sp 1a5a: 7b80 ldrb r0, [r0, #14] ; 0xe 1a5c: 0840 lsr r0, r0, #1 1a5e: d202 bcs 0x1a66 1a60: 9801 ldr r0, [sp, #4] 1a62: 2800 cmp r0, #0 1a64: d0ed beq 0x1a42 1a66: 4668 mov r0, sp 1a68: 7b40 ldrb r0, [r0, #13] ; 0xd 1a6a: 0840 lsr r0, r0, #1 1a6c: d316 bcc 0x1a9c 1a6e: 4669 mov r1, sp 1a70: 2000 mov r0, #0 1a72: 7308 strb r0, [r1, #12] ; 0xc 1a74: 4994 ldr r1, =0x864 ; via 0x1cc8 1a76: 4668 mov r0, sp 1a78: 7b00 ldrb r0, [r0, #12] ; 0xc 1a7a: 0080 lsl r0, r0, #2 1a7c: 5808 ldr r0, [r1, r0] 1a7e: 7800 ldrb r0, [r0, #0] 1a80: 0600 lsl r0, r0, #24 1a82: 0e00 lsr r0, r0, #24 1a84: 4669 mov r1, sp 1a86: 73c8 strb r0, [r1, #15] ; 0xf 1a88: 4668 mov r0, sp 1a8a: 7bc0 ldrb r0, [r0, #15] ; 0xf 1a8c: 9900 ldr r1, [sp, #0] 1a8e: f7ff fc9f bl 0x13d0 1a92: 9002 str r0, [sp, #8] 1a94: 9802 ldr r0, [sp, #8] 1a96: 2800 cmp r0, #0 1a98: d11c bne 0x1ad4 1a9a: e018 b 0x1ace 1a9c: 4668 mov r0, sp 1a9e: 7b80 ldrb r0, [r0, #14] ; 0xe 1aa0: 0840 lsr r0, r0, #1 1aa2: d317 bcc 0x1ad4 1aa4: 4669 mov r1, sp 1aa6: 2001 mov r0, #1 1aa8: 7308 strb r0, [r1, #12] ; 0xc 1aaa: 4987 ldr r1, =0x864 ; via 0x1cc8 1aac: 4668 mov r0, sp 1aae: 7b00 ldrb r0, [r0, #12] ; 0xc 1ab0: 0080 lsl r0, r0, #2 1ab2: 5808 ldr r0, [r1, r0] 1ab4: 7800 ldrb r0, [r0, #0] 1ab6: 0600 lsl r0, r0, #24 1ab8: 0e01 lsr r1, r0, #24 1aba: 4668 mov r0, sp 1abc: 73c1 strb r1, [r0, #15] ; 0xf 1abe: 7bc0 ldrb r0, [r0, #15] ; 0xf 1ac0: 9900 ldr r1, [sp, #0] 1ac2: f7ff fc85 bl 0x13d0 1ac6: 9002 str r0, [sp, #8] 1ac8: 9802 ldr r0, [sp, #8] 1aca: 2800 cmp r0, #0 1acc: d102 bne 0x1ad4 1ace: 20ff mov r0, #255 ; 0xff 1ad0: 4669 mov r1, sp 1ad2: 7308 strb r0, [r1, #12] ; 0xc 1ad4: 9802 ldr r0, [sp, #8] 1ad6: 2800 cmp r0, #0 1ad8: d102 bne 0x1ae0 1ada: 9801 ldr r0, [sp, #4] 1adc: 2800 cmp r0, #0 1ade: d0b0 beq 0x1a42 1ae0: 4668 mov r0, sp 1ae2: 7b00 ldrb r0, [r0, #12] ; 0xc 1ae4: b004 add sp, #16 ; 0x10 1ae6: bd00 pop {pc} 1ae8: ff1c <half-bl> 1aea: 0083 lsl r3, r0, #2 1aec: 0830 lsr r0, r6, #32 1aee: 0000 lsl r0, r0, #0 1af0: 084c lsr r4, r1, #1 1af2: 0000 lsl r0, r0, #0 1af4: b500 push {lr} 1af6: b086 sub sp, #24 ; 0x18 1af8: 466b mov r3, sp 1afa: 721a strb r2, [r3, #8] 1afc: 9101 str r1, [sp, #4] 1afe: 9000 str r0, [sp, #0] 1b00: 2001 mov r0, #1 1b02: 9004 str r0, [sp, #16] ; 0x10 1b04: 9804 ldr r0, [sp, #16] ; 0x10 1b06: 2800 cmp r0, #0 1b08: d05b beq 0x1bc2 1b0a: 496f ldr r1, =0x864 ; via 0x1cc8 1b0c: 4668 mov r0, sp 1b0e: 7a00 ldrb r0, [r0, #8] 1b10: 0080 lsl r0, r0, #2 1b12: 5808 ldr r0, [r1, r0] 1b14: 7941 ldrb r1, [r0, #5] 1b16: 4668 mov r0, sp 1b18: 7301 strb r1, [r0, #12] ; 0xc 1b1a: 7b00 ldrb r0, [r0, #12] ; 0xc 1b1c: 0840 lsr r0, r0, #1 1b1e: d3f4 bcc 0x1b0a 1b20: 4969 ldr r1, =0x864 ; via 0x1cc8 1b22: 4668 mov r0, sp 1b24: 7a00 ldrb r0, [r0, #8] 1b26: 0080 lsl r0, r0, #2 1b28: 5808 ldr r0, [r1, r0] 1b2a: 7800 ldrb r0, [r0, #0] 1b2c: 0600 lsl r0, r0, #24 1b2e: 0e01 lsr r1, r0, #24 1b30: 4668 mov r0, sp 1b32: 7341 strb r1, [r0, #13] ; 0xd 1b34: e02c b 0x1b90 1b36: 4668 mov r0, sp 1b38: 7b40 ldrb r0, [r0, #13] ; 0xd 1b3a: a905 add r1, sp, #20 ; 0x14 1b3c: 9a00 ldr r2, [sp, #0] 1b3e: 9b01 ldr r3, [sp, #4] 1b40: f7ff fd8c bl 0x165c 1b44: 9004 str r0, [sp, #16] ; 0x10 1b46: e039 b 0x1bbc 1b48: 4668 mov r0, sp 1b4a: 7b40 ldrb r0, [r0, #13] ; 0xd 1b4c: a905 add r1, sp, #20 ; 0x14 1b4e: f7ff fdc2 bl 0x16d6 1b52: e7f7 b 0x1b44 1b54: 4668 mov r0, sp 1b56: 7b40 ldrb r0, [r0, #13] ; 0xd 1b58: a905 add r1, sp, #20 ; 0x14 1b5a: f7ff fe12 bl 0x1782 1b5e: e7f1 b 0x1b44 1b60: 4668 mov r0, sp 1b62: 7b40 ldrb r0, [r0, #13] ; 0xd 1b64: a905 add r1, sp, #20 ; 0x14 1b66: f7ff fe34 bl 0x17d2 1b6a: e7eb b 0x1b44 1b6c: 4668 mov r0, sp 1b6e: 7b40 ldrb r0, [r0, #13] ; 0xd 1b70: f7ff fe5e bl 0x1830 1b74: e022 b 0x1bbc 1b76: 4668 mov r0, sp 1b78: 7b40 ldrb r0, [r0, #13] ; 0xd 1b7a: a905 add r1, sp, #20 ; 0x14 1b7c: 9a00 ldr r2, [sp, #0] 1b7e: f7ff fe6d bl 0x185c 1b82: e7df b 0x1b44 1b84: 4668 mov r0, sp 1b86: 7b40 ldrb r0, [r0, #13] ; 0xd 1b88: a905 add r1, sp, #20 ; 0x14 1b8a: f7ff feab bl 0x18e4 1b8e: e7d9 b 0x1b44 1b90: 4850 ldr r0, =0x83ff20 ; via 0x1cd4 1b92: 6800 ldr r0, [r0, #0] 1b94: 2800 cmp r0, #0 1b96: d0ce beq 0x1b36 1b98: 3801 sub r0, #1 1b9a: 2800 cmp r0, #0 1b9c: d0d4 beq 0x1b48 1b9e: 3801 sub r0, #1 1ba0: 2800 cmp r0, #0 1ba2: d0d7 beq 0x1b54 1ba4: 3801 sub r0, #1 1ba6: 2800 cmp r0, #0 1ba8: d0da beq 0x1b60 1baa: 3801 sub r0, #1 1bac: 2800 cmp r0, #0 1bae: d0dd beq 0x1b6c 1bb0: 3801 sub r0, #1 1bb2: 2800 cmp r0, #0 1bb4: d0df beq 0x1b76 1bb6: 3801 sub r0, #1 1bb8: 2800 cmp r0, #0 1bba: d0e3 beq 0x1b84 1bbc: 9804 ldr r0, [sp, #16] ; 0x10 1bbe: 2800 cmp r0, #0 1bc0: d1a3 bne 0x1b0a 1bc2: 9805 ldr r0, [sp, #20] ; 0x14 1bc4: b006 add sp, #24 ; 0x18 1bc6: bd00 pop {pc} 1bc8: 4942 ldr r1, =0x83ff20 ; via 0x1cd4 1bca: 2001 mov r0, #1 1bcc: 6008 str r0, [r1, #0] 1bce: 4842 ldr r0, =0x83ff1b ; via 0x1cd8 1bd0: 2100 mov r1, #0 1bd2: 7001 strb r1, [r0, #0] 1bd4: 4841 ldr r0, =0x83ff18 ; via 0x1cdc 1bd6: 7001 strb r1, [r0, #0] 1bd8: 4770 bx lr 1bda: 46c0 nop (mov r8, r8) 1bdc: 0083ff14 ; hoping this routine will be the same as 0x1c38 in the C139 version ; same length, looks the same on inspection 1be0: b081 sub sp, #4 1be2: 483f ldr r0, =0xffff5800 ; via 0x1ce0 1be4: 9000 str r0, [sp, #0] 1be6: 493f ldr r1, =0xffff6000 ; via 0x1ce4 1be8: 2002 mov r0, #2 1bea: 880a ldrh r2, [r1, #0] 1bec: 4310 orr r0, r2 1bee: 8008 strh r0, [r1, #0] 1bf0: 483c ldr r0, =0xffff6000 ; via 0x1ce4 1bf2: 8801 ldrh r1, [r0, #0] 1bf4: 0849 lsr r1, r1, #1 1bf6: 0049 lsl r1, r1, #1 1bf8: 8001 strh r1, [r0, #0] 1bfa: 493a ldr r1, =0xffff6000 ; via 0x1ce4 1bfc: 8808 ldrh r0, [r1, #0] 1bfe: 2202 mov r2, #2 1c00: 4390 bic r0, r2 1c02: 8008 strh r0, [r1, #0] 1c04: 9900 ldr r1, [sp, #0] 1c06: 2007 mov r0, #7 1c08: 7208 strb r0, [r1, #8] 1c0a: 9900 ldr r1, [sp, #0] 1c0c: 20bf mov r0, #191 ; 0xbf 1c0e: 70c8 strb r0, [r1, #3] 1c10: 9800 ldr r0, [sp, #0] 1c12: 1c81 add r1, r0, #2 1c14: 2010 mov r0, #16 ; 0x10 1c16: 880a ldrh r2, [r1, #0] 1c18: 4310 orr r0, r2 1c1a: 8008 strh r0, [r1, #0] 1c1c: 9800 ldr r0, [sp, #0] 1c1e: 2180 mov r1, #128 ; 0x80 1c20: 70c1 strb r1, [r0, #3] 1c22: 9800 ldr r0, [sp, #0] 1c24: 2107 mov r1, #7 1c26: 7081 strb r1, [r0, #2] 1c28: 9800 ldr r0, [sp, #0] 1c2a: 21bf mov r1, #191 ; 0xbf 1c2c: 70c1 strb r1, [r0, #3] 1c2e: 9800 ldr r0, [sp, #0] 1c30: 2107 mov r1, #7 1c32: 7001 strb r1, [r0, #0] 1c34: 9800 ldr r0, [sp, #0] 1c36: 2100 mov r1, #0 1c38: 7041 strb r1, [r0, #1] 1c3a: 9800 ldr r0, [sp, #0] 1c3c: 2103 mov r1, #3 1c3e: 70c1 strb r1, [r0, #3] 1c40: 9800 ldr r0, [sp, #0] 1c42: 2100 mov r1, #0 1c44: 7201 strb r1, [r0, #8] 1c46: 4828 ldr r0, =0xffff5000 ; via 0x1ce8 1c48: 9000 str r0, [sp, #0] 1c4a: 9800 ldr r0, [sp, #0] 1c4c: 2107 mov r1, #7 1c4e: 7201 strb r1, [r0, #8] 1c50: 9900 ldr r1, [sp, #0] 1c52: 20bf mov r0, #191 ; 0xbf 1c54: 70c8 strb r0, [r1, #3] 1c56: 9800 ldr r0, [sp, #0] 1c58: 1c80 add r0, r0, #2 1c5a: 2110 mov r1, #16 ; 0x10 1c5c: 8802 ldrh r2, [r0, #0] 1c5e: 4311 orr r1, r2 1c60: 8001 strh r1, [r0, #0] 1c62: 9800 ldr r0, [sp, #0] 1c64: 2180 mov r1, #128 ; 0x80 1c66: 70c1 strb r1, [r0, #3] 1c68: 9800 ldr r0, [sp, #0] 1c6a: 2107 mov r1, #7 1c6c: 7081 strb r1, [r0, #2] 1c6e: 9800 ldr r0, [sp, #0] 1c70: 21bf mov r1, #191 ; 0xbf 1c72: 70c1 strb r1, [r0, #3] 1c74: 9800 ldr r0, [sp, #0] 1c76: 2107 mov r1, #7 1c78: 7001 strb r1, [r0, #0] 1c7a: 9800 ldr r0, [sp, #0] 1c7c: 2100 mov r1, #0 1c7e: 7041 strb r1, [r0, #1] 1c80: 9900 ldr r1, [sp, #0] 1c82: 2003 mov r0, #3 1c84: 70c8 strb r0, [r1, #3] 1c86: 9800 ldr r0, [sp, #0] 1c88: 2100 mov r1, #0 1c8a: 7201 strb r1, [r0, #8] 1c8c: b001 add sp, #4 1c8e: 4770 bx lr 1c90: b081 sub sp, #4 1c92: 4669 mov r1, sp 1c94: 7008 strb r0, [r1, #0] 1c96: 490c ldr r1, =0x864 ; via 0x1cc8 1c98: 4668 mov r0, sp 1c9a: 7800 ldrb r0, [r0, #0] 1c9c: 0080 lsl r0, r0, #2 1c9e: 5808 ldr r0, [r1, r0] 1ca0: 7941 ldrb r1, [r0, #5] 1ca2: 4668 mov r0, sp 1ca4: 7041 strb r1, [r0, #1] 1ca6: 7840 ldrb r0, [r0, #1] 1ca8: 09c0 lsr r0, r0, #7 1caa: d20b bcs 0x1cc4 1cac: 4806 ldr r0, =0x864 ; via 0x1cc8 1cae: 4669 mov r1, sp 1cb0: 7809 ldrb r1, [r1, #0] 1cb2: 0089 lsl r1, r1, #2 1cb4: 5840 ldr r0, [r0, r1] 1cb6: 7940 ldrb r0, [r0, #5] 1cb8: 4669 mov r1, sp 1cba: 7048 strb r0, [r1, #1] 1cbc: 4668 mov r0, sp 1cbe: 7840 ldrb r0, [r0, #1] 1cc0: 09c0 lsr r0, r0, #7 1cc2: d3f3 bcc 0x1cac 1cc4: b001 add sp, #4 1cc6: 4770 bx lr 1cc8: 0864 lsr r4, r4, #1 1cca: 0000 lsl r0, r0, #0 1ccc: 5805 ldr r5, [r0, r0] 1cce: ffff <half-bl> 1cd0: 5005 str r5, [r0, r0] 1cd2: ffff <half-bl> 1cd4: ff20 <half-bl> 1cd6: 0083 lsl r3, r0, #2 1cd8: ff1b <half-bl> 1cda: 0083 lsl r3, r0, #2 1cdc: ff18 <half-bl> 1cde: 0083 lsl r3, r0, #2 1ce0: 5800 ldr r0, [r0, r0] 1ce2: ffff <half-bl> 1ce4: 6000 str r0, [r0, #0] 1ce6: ffff <half-bl> 1ce8: 5000 str r0, [r0, r0] 1cea: ffff <half-bl> 1cec: b500 push {lr} 1cee: b087 sub sp, #28 ; 0x1c 1cf0: 466b mov r3, sp 1cf2: 721a strb r2, [r3, #8] 1cf4: 9101 str r1, [sp, #4] 1cf6: 9000 str r0, [sp, #0] 1cf8: 9900 ldr r1, [sp, #0] 1cfa: 2000 mov r0, #0 1cfc: 8008 strh r0, [r1, #0] 1cfe: 9801 ldr r0, [sp, #4] 1d00: 2100 mov r1, #0 1d02: 8001 strh r1, [r0, #0] 1d04: 2000 mov r0, #0 1d06: 9003 str r0, [sp, #12] ; 0xc 1d08: f7ff ff5e bl 0x1bc8 1d0c: a805 add r0, sp, #20 ; 0x14 1d0e: a906 add r1, sp, #24 ; 0x18 1d10: 466a mov r2, sp 1d12: 7a12 ldrb r2, [r2, #8] 1d14: f7ff feee bl 0x1af4 1d18: 9004 str r0, [sp, #16] ; 0x10 1d1a: 9804 ldr r0, [sp, #16] ; 0x10 1d1c: 2800 cmp r0, #0 1d1e: d11f bne 0x1d60 1d20: 9803 ldr r0, [sp, #12] ; 0xc 1d22: 2800 cmp r0, #0 1d24: d11c bne 0x1d60 1d26: 9800 ldr r0, [sp, #0] 1d28: 4669 mov r1, sp 1d2a: 8b0a ldrh r2, [r1, #24] ; 0x18 1d2c: 8801 ldrh r1, [r0, #0] 1d2e: 1851 add r1, r2, r1 1d30: 8001 strh r1, [r0, #0] 1d32: 9905 ldr r1, [sp, #20] ; 0x14 1d34: 4668 mov r0, sp 1d36: 8b00 ldrh r0, [r0, #24] ; 0x18 1d38: 8008 strh r0, [r1, #0] 1d3a: 9801 ldr r0, [sp, #4] 1d3c: 9905 ldr r1, [sp, #20] ; 0x14 1d3e: 8809 ldrh r1, [r1, #0] 1d40: 8802 ldrh r2, [r0, #0] 1d42: 1889 add r1, r1, r2 1d44: 8001 strh r1, [r0, #0] 1d46: a805 add r0, sp, #20 ; 0x14 1d48: a906 add r1, sp, #24 ; 0x18 1d4a: 466a mov r2, sp 1d4c: 7a12 ldrb r2, [r2, #8] 1d4e: f7ff fed1 bl 0x1af4 1d52: 9004 str r0, [sp, #16] ; 0x10 1d54: 9804 ldr r0, [sp, #16] ; 0x10 1d56: 2800 cmp r0, #0 1d58: d102 bne 0x1d60 1d5a: 9803 ldr r0, [sp, #12] ; 0xc 1d5c: 2800 cmp r0, #0 1d5e: d0e2 beq 0x1d26 1d60: 9804 ldr r0, [sp, #16] ; 0x10 1d62: 2801 cmp r0, #1 1d64: d101 bne 0x1d6a 1d66: 2004 mov r0, #4 1d68: 9003 str r0, [sp, #12] ; 0xc 1d6a: 9803 ldr r0, [sp, #12] ; 0xc 1d6c: b007 add sp, #28 ; 0x1c 1d6e: bd00 pop {pc} 1d70: b089 sub sp, #36 ; 0x24 1d72: 201a mov r0, #26 ; 0x1a 1d74: 9005 str r0, [sp, #20] ; 0x14 1d76: 2018 mov r0, #24 ; 0x18 1d78: 9006 str r0, [sp, #24] ; 0x18 1d7a: 2000 mov r0, #0 1d7c: 9008 str r0, [sp, #32] ; 0x20 1d7e: 4669 mov r1, sp 1d80: 9805 ldr r0, [sp, #20] ; 0x14 1d82: 8800 ldrh r0, [r0, #0] 1d84: 8008 strh r0, [r1, #0] 1d86: 9806 ldr r0, [sp, #24] ; 0x18 1d88: 8800 ldrh r0, [r0, #0] 1d8a: 8048 strh r0, [r1, #2] 1d8c: 4668 mov r0, sp 1d8e: 8841 ldrh r1, [r0, #2] 1d90: 8800 ldrh r0, [r0, #0] 1d92: 0400 lsl r0, r0, #16 1d94: 1808 add r0, r1, r0 1d96: 9001 str r0, [sp, #4] 1d98: 9801 ldr r0, [sp, #4] 1d9a: 0200 lsl r0, r0, #8 1d9c: 0a00 lsr r0, r0, #8 1d9e: 0080 lsl r0, r0, #2 1da0: 3008 add r0, #8 1da2: 9007 str r0, [sp, #28] ; 0x1c 1da4: 9807 ldr r0, [sp, #28] ; 0x1c 1da6: 3018 add r0, #24 ; 0x18 1da8: 9002 str r0, [sp, #8] 1daa: 9802 ldr r0, [sp, #8] 1dac: 9004 str r0, [sp, #16] ; 0x10 1dae: 9802 ldr r0, [sp, #8] 1db0: 3002 add r0, #2 1db2: 9003 str r0, [sp, #12] ; 0xc 1db4: 9803 ldr r0, [sp, #12] ; 0xc 1db6: 8801 ldrh r1, [r0, #0] 1db8: 4806 ldr r0, =0xffff ; via 0x1dd4 1dba: 4281 cmp r1, r0 1dbc: d104 bne 0x1dc8 1dbe: 9804 ldr r0, [sp, #16] ; 0x10 1dc0: 8800 ldrh r0, [r0, #0] 1dc2: 4904 ldr r1, =0xffff ; via 0x1dd4 1dc4: 4288 cmp r0, r1 1dc6: d001 beq 0x1dcc 1dc8: 2001 mov r0, #1 1dca: 9008 str r0, [sp, #32] ; 0x20 1dcc: 9808 ldr r0, [sp, #32] ; 0x20 1dce: b009 add sp, #36 ; 0x24 1dd0: 4770 bx lr 1dd2: 46c0 nop (mov r8, r8) 1dd4: 0000ffff ; ARM->Thumb call veneer around 0xad2 routine 1dd8: e92d4000 stmdb sp!, {lr} 1ddc: e28fe001 add lr, pc, #1 1de0: e12fff1e bx lr 1de4: f7fe fe75 bl 0xad2 1de8: 4778 bx pc 1dea: 46c0 nop (mov r8, r8) 1dec: e8bd8000 ldmia sp!, {pc} <1DF0-1EFF: all FFs> 1f00: 00000001 <1F04-end: all FFs>