FreeCalypso > hg > freecalypso-reveng
changeset 158:8ed06e07b19e
start of C123 bootloader re
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Thu, 15 May 2014 06:43:14 +0000 |
parents | 9082f3991fe5 |
children | 7c198e6716e4 |
files | .hgignore compal/Makefile compal/c123-boot.bin compal/c123-boot.disasm |
diffstat | 4 files changed, 2640 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Wed May 14 05:34:37 2014 +0000 +++ b/.hgignore Thu May 15 06:43:14 2014 +0000 @@ -5,6 +5,7 @@ ^arm7dis/armdis$ ^arm7dis/thumbdis$ +^compal/c123-boot\. ^compal/c139-boot\. ^compal/c140-boot\. ^compal/c156-boot\.
--- a/compal/Makefile Wed May 14 05:34:37 2014 +0000 +++ b/compal/Makefile Thu May 15 06:43:14 2014 +0000 @@ -1,7 +1,9 @@ +C123= c123-boot.bin C139= c139-boot.90.04.bin C140= c140-boot.bin C156= c156-boot.90.05.bin -GEN= c139-boot.dis16 c139-boot.dis32 c139-boot.hex \ +GEN= c123-boot.dis16 c123-boot.dis32 c123-boot.hex \ + c139-boot.dis16 c139-boot.dis32 c139-boot.hex \ c140-boot.dis16 c140-boot.dis32 c140-boot.hex \ c156-boot.dis16 c156-boot.dis32 c156-boot.hex \ osmovoodoo osmovoodoo.bin @@ -10,6 +12,15 @@ all: ${GEN} +c123-boot.dis16: ${C123} ${THUMBDIS} + ${THUMBDIS} ${C123} > $@ + +c123-boot.dis32: ${C123} ${ARMDIS} + ${ARMDIS} ${C123} > $@ + +c123-boot.hex: ${C123} + hd ${C123} > $@ + c139-boot.dis16: ${C139} ${THUMBDIS} ${THUMBDIS} ${C139} > $@
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compal/c123-boot.disasm Thu May 15 06:43:14 2014 +0000 @@ -0,0 +1,2627 @@ +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 + + 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 + + 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} + 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} + e22: 4708 bx r1 + 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 + 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: ff00 <half-bl> + ece: 0083 lsl r3, r0, #2 + ed0: 5800 ldr r0, [r0, r0] + ed2: ffff <half-bl> + 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: 0100 lsl r0, r0, #4 + f82: 0080 lsl r0, r0, #2 + 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 + 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: ff10 <half-bl> + 1582: 0083 lsl r3, r0, #2 + 1584: ff04 <half-bl> + 1586: 0083 lsl r3, r0, #2 + 1588: ff0e <half-bl> + 158a: 0083 lsl r3, r0, #2 + 158c: ff0c <half-bl> + 158e: 0083 lsl r3, r0, #2 + 1590: ff08 <half-bl> + 1592: 0083 lsl r3, r0, #2 + 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: ff14 <half-bl> + 1bde: 0083 lsl r3, r0, #2 + 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>