# HG changeset patch # User Michael Spacefalcon # Date 1396235485 0 # Node ID 52cec4b71cfe5cd47caa8a759bb4c6c91ba007f4 # Parent a10acb1688e0a6954df16e24d8749591cb6712ac C139 boot re: got to UART initialization diff -r a10acb1688e0 -r 52cec4b71cfe compal/c139-boot.disasm --- a/compal/c139-boot.disasm Mon Mar 31 01:59:28 2014 +0000 +++ b/compal/c139-boot.disasm Mon Mar 31 03:11:25 2014 +0000 @@ -120,7 +120,2570 @@ ; different in the C140 specimen: 964: 0083e55c -<968-1E2F: not yet analyzed> +; mask all interrupts in INTH + 968: 4961 ldr r1, =0xfffffa08 ; via 0xaf0 + 96a: 4862 ldr r0, =0xffff ; via 0xaf4 + 96c: 8008 strh r0, [r1, #0] + 96e: 4862 ldr r0, =0xfffffa0a ; via 0xaf8 + 970: 211f mov r1, #31 ; 0x1f + 972: 8001 strh r1, [r0, #0] +; disable watchdog + 974: 4861 ldr r0, =0xfffff804 ; via 0xafc + 976: 21f5 mov r1, #245 ; 0xf5 + 978: 8001 strh r1, [r0, #0] + 97a: 21a0 mov r1, #160 ; 0xa0 + 97c: 8001 strh r1, [r0, #0] +; disable PLL + 97e: 4860 ldr r0, =0xffff9800 ; via 0xb00 + 980: 4960 ldr r1, =0x2002 ; via 0xb04 + 982: 8001 strh r1, [r0, #0] + 984: 485e ldr r0, =0xffff9800 ; via 0xb00 + 986: 8800 ldrh r0, [r0, #0] + 988: 0840 lsr r0, r0, #1 + 98a: d2fb bcs 0x984 +; 0x1001 written into FFFF:FD00 - same as power-up default +; except for one reserved bit + 98c: 495e ldr r1, =0xfffffd00 ; via 0xb08 + 98e: 485f ldr r0, =0x1001 ; via 0xb0c + 990: 8008 strh r0, [r1, #0] + 992: 46f7 mov pc, lr + + 994: b500 push {lr} + 996: b0ff sub sp, #508 ; 0x1fc + 998: b0ca sub sp, #296 ; 0x128 + 99a: 2000 mov r0, #0 + 99c: 9001 str r0, [sp, #4] + 99e: 9801 ldr r0, [sp, #4] + 9a0: 2800 cmp r0, #0 + 9a2: d14e bne 0xa42 + 9a4: a846 add r0, sp, #280 ; 0x118 + 9a6: 2100 mov r1, #0 + 9a8: f001 f86e bl 0x1a88 + 9ac: a9c8 add r1, sp, #800 ; 0x320 + 9ae: 7008 strb r0, [r1, #0] + 9b0: a846 add r0, sp, #280 ; 0x118 + 9b2: a902 add r1, sp, #8 + 9b4: f000 fb2c bl 0x1010 + 9b8: 9000 str r0, [sp, #0] + 9ba: 9800 ldr r0, [sp, #0] + 9bc: 2800 cmp r0, #0 + 9be: d01b beq 0x9f8 + 9c0: a924 add r1, sp, #144 ; 0x90 + 9c2: 4668 mov r0, sp + 9c4: 7a00 ldrb r0, [r0, #8] + 9c6: 7008 strb r0, [r1, #0] + 9c8: 2191 mov r1, #145 ; 0x91 + 9ca: 466a mov r2, sp + 9cc: 4668 mov r0, sp + 9ce: 7800 ldrb r0, [r0, #0] + 9d0: 5488 strb r0, [r1, r2] + 9d2: e01b b 0xa0c + 9d4: a802 add r0, sp, #8 + 9d6: a924 add r1, sp, #144 ; 0x90 + 9d8: f000 fe08 bl 0x15ec + 9dc: e016 b 0xa0c + 9de: a802 add r0, sp, #8 + 9e0: a924 add r1, sp, #144 ; 0x90 + 9e2: aac8 add r2, sp, #800 ; 0x320 + 9e4: 7812 ldrb r2, [r2, #0] + 9e6: f000 fe15 bl 0x1614 + 9ea: e00f b 0xa0c + 9ec: a802 add r0, sp, #8 + 9ee: a924 add r1, sp, #144 ; 0x90 + 9f0: f000 fe47 bl 0x1682 + 9f4: 90c7 str r0, [sp, #796] ; 0x31c + 9f6: e009 b 0xa0c + 9f8: 4668 mov r0, sp + 9fa: 7a00 ldrb r0, [r0, #8] + 9fc: 2800 cmp r0, #0 + 9fe: d0e9 beq 0x9d4 + a00: 3809 sub r0, #9 + a02: 2800 cmp r0, #0 + a04: d0eb beq 0x9de + a06: 3801 sub r0, #1 + a08: 2800 cmp r0, #0 + a0a: d0ef beq 0x9ec + a0c: a824 add r0, sp, #144 ; 0x90 + a0e: a986 add r1, sp, #536 ; 0x218 + a10: f000 fbe1 bl 0x11d6 + a14: 2800 cmp r0, #0 + a16: d111 bne 0xa3c + a18: a886 add r0, sp, #536 ; 0x218 + a1a: a9c8 add r1, sp, #800 ; 0x320 + a1c: 7809 ldrb r1, [r1, #0] + a1e: f001 f808 bl 0x1a32 + a22: 2800 cmp r0, #0 + a24: d00a beq 0xa3c + a26: 4668 mov r0, sp + a28: 7a00 ldrb r0, [r0, #8] + a2a: 280a cmp r0, #10 ; 0xa + a2c: d106 bne 0xa3c + a2e: a8c8 add r0, sp, #800 ; 0x320 + a30: 7800 ldrb r0, [r0, #0] + a32: f001 f959 bl 0x1ce8 + a36: 98c7 ldr r0, [sp, #796] ; 0x31c + a38: f000 fae8 bl 0x100c + a3c: 9801 ldr r0, [sp, #4] + a3e: 2800 cmp r0, #0 + a40: d0b0 beq 0x9a4 + a42: b07f add sp, #508 ; 0x1fc + a44: b04a add sp, #296 ; 0x128 + a46: bd00 pop {pc} + + a48: b500 push {lr} + a4a: b0ff sub sp, #508 ; 0x1fc + a4c: b0c8 sub sp, #288 ; 0x120 + a4e: 2000 mov r0, #0 + a50: 9000 str r0, [sp, #0] + a52: a846 add r0, sp, #280 ; 0x118 + a54: 2101 mov r1, #1 + a56: f001 f817 bl 0x1a88 + a5a: a9c6 add r1, sp, #792 ; 0x318 + a5c: 7008 strb r0, [r1, #0] + a5e: a8c6 add r0, sp, #792 ; 0x318 + a60: 7800 ldrb r0, [r0, #0] + a62: 28ff cmp r0, #255 ; 0xff + a64: d031 beq 0xaca + a66: a846 add r0, sp, #280 ; 0x118 + a68: a902 add r1, sp, #8 + a6a: f000 fad1 bl 0x1010 + a6e: 9001 str r0, [sp, #4] + a70: 9801 ldr r0, [sp, #4] + a72: 2800 cmp r0, #0 + a74: d014 beq 0xaa0 + a76: a924 add r1, sp, #144 ; 0x90 + a78: 4668 mov r0, sp + a7a: 7a00 ldrb r0, [r0, #8] + a7c: 7008 strb r0, [r1, #0] + a7e: 2291 mov r2, #145 ; 0x91 + a80: 4668 mov r0, sp + a82: 4669 mov r1, sp + a84: 7909 ldrb r1, [r1, #4] + a86: 5411 strb r1, [r2, r0] + a88: a824 add r0, sp, #144 ; 0x90 + a8a: a986 add r1, sp, #536 ; 0x218 + a8c: f000 fba3 bl 0x11d6 + a90: 2800 cmp r0, #0 + a92: d11a bne 0xaca + a94: a886 add r0, sp, #536 ; 0x218 + a96: a9c6 add r1, sp, #792 ; 0x318 + a98: 7809 ldrb r1, [r1, #0] + a9a: f000 ffca bl 0x1a32 + a9e: e014 b 0xaca + aa0: 4668 mov r0, sp + aa2: 7a00 ldrb r0, [r0, #8] + aa4: 2800 cmp r0, #0 + aa6: d110 bne 0xaca + aa8: a802 add r0, sp, #8 + aaa: a924 add r1, sp, #144 ; 0x90 + aac: f000 fd9e bl 0x15ec + ab0: a824 add r0, sp, #144 ; 0x90 + ab2: a986 add r1, sp, #536 ; 0x218 + ab4: f000 fb8f bl 0x11d6 + ab8: 2800 cmp r0, #0 + aba: d104 bne 0xac6 + abc: a886 add r0, sp, #536 ; 0x218 + abe: a9c6 add r1, sp, #792 ; 0x318 + ac0: 7809 ldrb r1, [r1, #0] + ac2: f000 ffb6 bl 0x1a32 + ac6: 2001 mov r0, #1 + ac8: 9000 str r0, [sp, #0] + aca: 9800 ldr r0, [sp, #0] + acc: b07f add sp, #508 ; 0x1fc + ace: b048 add sp, #288 ; 0x120 + ad0: bd00 pop {pc} + +; Main entry routine + ad2: b500 push {lr} + ad4: b082 sub sp, #8 + ad6: f7ff ff47 bl 0x968 + ada: f001 f8ad bl 0x1c38 + ade: f000 fd73 bl 0x15c8 + ae2: f000 f81f bl 0xb24 + ae6: f000 f96a bl 0xdbe + 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: 49ed ldr r1, =0x83ff00 ; via 0xee0 + b2a: 48ee ldr r0, =0xffff5800 ; via 0xee4 + b2c: 6008 str r0, [r1, #0] + b2e: 2000 mov r0, #0 + b30: 2102 mov r1, #2 + b32: f000 f9fb bl 0xf2c + 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 f9e6 bl 0xf2c + 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: b088 sub sp, #32 ; 0x20 + bb0: 48dd ldr r0, =0x800100 ; via 0xf28 + bb2: 9005 str r0, [sp, #20] ; 0x14 + bb4: 201b mov r0, #27 ; 0x1b + bb6: f000 f95f bl 0xe78 + bba: 20f6 mov r0, #246 ; 0xf6 + bbc: f000 f95c bl 0xe78 + bc0: 2002 mov r0, #2 + bc2: f000 f959 bl 0xe78 + bc6: 2000 mov r0, #0 + bc8: f000 f956 bl 0xe78 + bcc: 2041 mov r0, #65 ; 0x41 + bce: f000 f953 bl 0xe78 + bd2: 2001 mov r0, #1 + bd4: f000 f950 bl 0xe78 + bd8: 2040 mov r0, #64 ; 0x40 + bda: f000 f94d bl 0xe78 + bde: 2001 mov r0, #1 + be0: 0300 lsl r0, r0, #12 + be2: f000 f961 bl 0xea8 + be6: 281b cmp r0, #27 ; 0x1b + be8: d000 beq 0xbec + bea: e0e6 b 0xdba + bec: 2001 mov r0, #1 + bee: 0300 lsl r0, r0, #12 + bf0: f000 f95a bl 0xea8 + bf4: 28f6 cmp r0, #246 ; 0xf6 + bf6: d000 beq 0xbfa + bf8: e0df b 0xdba + bfa: 2001 mov r0, #1 + bfc: 0300 lsl r0, r0, #12 + bfe: f000 f953 bl 0xea8 + c02: 2802 cmp r0, #2 + c04: d000 beq 0xc08 + c06: e0d8 b 0xdba + c08: 2001 mov r0, #1 + c0a: 0300 lsl r0, r0, #12 + c0c: f000 f94c bl 0xea8 + c10: 2800 cmp r0, #0 + c12: d000 beq 0xc16 + c14: e0d1 b 0xdba + c16: 2001 mov r0, #1 + c18: 0300 lsl r0, r0, #12 + c1a: f000 f945 bl 0xea8 + c1e: 2852 cmp r0, #82 ; 0x52 + c20: d000 beq 0xc24 + c22: e0ca b 0xdba + c24: 2001 mov r0, #1 + c26: 0300 lsl r0, r0, #12 + c28: f000 f93e bl 0xea8 + c2c: 2801 cmp r0, #1 + c2e: d000 beq 0xc32 + c30: e0c3 b 0xdba + c32: 2001 mov r0, #1 + c34: 0300 lsl r0, r0, #12 + c36: f000 f937 bl 0xea8 + c3a: 2853 cmp r0, #83 ; 0x53 + c3c: d000 beq 0xc40 + c3e: e0bc b 0xdba + c40: 201b mov r0, #27 ; 0x1b + c42: f000 f919 bl 0xe78 + c46: 20f6 mov r0, #246 ; 0xf6 + c48: f000 f916 bl 0xe78 + c4c: 2002 mov r0, #2 + c4e: f000 f913 bl 0xe78 + c52: 2000 mov r0, #0 + c54: f000 f910 bl 0xe78 + c58: 2041 mov r0, #65 ; 0x41 + c5a: f000 f90d bl 0xe78 + c5e: 2002 mov r0, #2 + c60: f000 f90a bl 0xe78 + c64: 2043 mov r0, #67 ; 0x43 + c66: f000 f907 bl 0xe78 + c6a: 2001 mov r0, #1 + c6c: 0300 lsl r0, r0, #12 + c6e: f000 f91b bl 0xea8 + c72: 4669 mov r1, sp + c74: 7208 strb r0, [r1, #8] + c76: 2002 mov r0, #2 + c78: 7448 strb r0, [r1, #17] ; 0x11 + c7a: 2000 mov r0, #0 + c7c: 9000 str r0, [sp, #0] + c7e: 9800 ldr r0, [sp, #0] + c80: 2802 cmp r0, #2 + c82: d215 bcs 0xcb0 + c84: 2001 mov r0, #1 + c86: 0300 lsl r0, r0, #12 + c88: f000 f90e bl 0xea8 + c8c: 4669 mov r1, sp + c8e: 9a00 ldr r2, [sp, #0] + c90: 1a89 sub r1, r1, r2 + c92: 7348 strb r0, [r1, #13] ; 0xd + c94: 4669 mov r1, sp + c96: 9800 ldr r0, [sp, #0] + c98: 1a08 sub r0, r1, r0 + c9a: 7b40 ldrb r0, [r0, #13] ; 0xd + c9c: 7c49 ldrb r1, [r1, #17] ; 0x11 + c9e: 4048 eor r0, r1 + ca0: 4669 mov r1, sp + ca2: 7448 strb r0, [r1, #17] ; 0x11 + ca4: 9800 ldr r0, [sp, #0] + ca6: 3001 add r0, #1 + ca8: 9000 str r0, [sp, #0] + caa: 9800 ldr r0, [sp, #0] + cac: 2802 cmp r0, #2 + cae: d3e9 bcc 0xc84 + cb0: 4668 mov r0, sp + cb2: 8980 ldrh r0, [r0, #12] ; 0xc + cb4: 466a mov r2, sp + cb6: 1e41 sub r1, r0, #1 + cb8: 8191 strh r1, [r2, #12] ; 0xc + cba: 2800 cmp r0, #0 + cbc: d016 beq 0xcec + cbe: 2001 mov r0, #1 + cc0: 0300 lsl r0, r0, #12 + cc2: f000 f8f1 bl 0xea8 + cc6: 9905 ldr r1, [sp, #20] ; 0x14 + cc8: 7008 strb r0, [r1, #0] + cca: 9805 ldr r0, [sp, #20] ; 0x14 + ccc: 7800 ldrb r0, [r0, #0] + cce: 4669 mov r1, sp + cd0: 7c49 ldrb r1, [r1, #17] ; 0x11 + cd2: 4048 eor r0, r1 + cd4: 4669 mov r1, sp + cd6: 7448 strb r0, [r1, #17] ; 0x11 + cd8: 9805 ldr r0, [sp, #20] ; 0x14 + cda: 3001 add r0, #1 + cdc: 9005 str r0, [sp, #20] ; 0x14 + cde: 4668 mov r0, sp + ce0: 8981 ldrh r1, [r0, #12] ; 0xc + ce2: 466a mov r2, sp + ce4: 1e48 sub r0, r1, #1 + ce6: 8190 strh r0, [r2, #12] ; 0xc + ce8: 2900 cmp r1, #0 + cea: d1e8 bne 0xcbe + cec: 2001 mov r0, #1 + cee: 0300 lsl r0, r0, #12 + cf0: f000 f8da bl 0xea8 + cf4: 4669 mov r1, sp + cf6: 7408 strb r0, [r1, #16] ; 0x10 + cf8: 4668 mov r0, sp + cfa: 7c00 ldrb r0, [r0, #16] ; 0x10 + cfc: 7c49 ldrb r1, [r1, #17] ; 0x11 + cfe: 4288 cmp r0, r1 + d00: d015 beq 0xd2e + d02: 201b mov r0, #27 ; 0x1b + d04: f000 f8b8 bl 0xe78 + d08: 20f6 mov r0, #246 ; 0xf6 + d0a: f000 f8b5 bl 0xe78 + d0e: 2002 mov r0, #2 + d10: f000 f8b2 bl 0xe78 + d14: 2000 mov r0, #0 + d16: f000 f8af bl 0xe78 + d1a: 2045 mov r0, #69 ; 0x45 + d1c: f000 f8ac bl 0xe78 + d20: 2053 mov r0, #83 ; 0x53 + d22: f000 f8a9 bl 0xe78 + d26: 2016 mov r0, #22 ; 0x16 + d28: f000 f8a6 bl 0xe78 + d2c: e045 b 0xdba + d2e: 2081 mov r0, #129 ; 0x81 + d30: 0100 lsl r0, r0, #4 + d32: 9006 str r0, [sp, #24] ; 0x18 + d34: 48af ldr r0, =0x803ce0 ; via 0xff4 + d36: 9007 str r0, [sp, #28] ; 0x1c + d38: 2000 mov r0, #0 + d3a: 9000 str r0, [sp, #0] + d3c: 9800 ldr r0, [sp, #0] + d3e: 2804 cmp r0, #4 + d40: d221 bcs 0xd86 + d42: 9900 ldr r1, [sp, #0] + d44: 9806 ldr r0, [sp, #24] ; 0x18 + d46: 5c0a ldrb r2, [r1, r0] + d48: 9900 ldr r1, [sp, #0] + d4a: 9807 ldr r0, [sp, #28] ; 0x1c + d4c: 5c08 ldrb r0, [r1, r0] + d4e: 4282 cmp r2, r0 + d50: dd13 ble 0xd7a + d52: 201b mov r0, #27 ; 0x1b + d54: f000 f890 bl 0xe78 + d58: 20f6 mov r0, #246 ; 0xf6 + d5a: f000 f88d bl 0xe78 + d5e: 2002 mov r0, #2 + d60: f000 f88a bl 0xe78 + d64: 2000 mov r0, #0 + d66: f000 f887 bl 0xe78 + d6a: 2041 mov r0, #65 ; 0x41 + d6c: f000 f884 bl 0xe78 + d70: 2003 mov r0, #3 + d72: f000 f881 bl 0xe78 + d76: 2057 mov r0, #87 ; 0x57 + d78: e7d6 b 0xd28 + d7a: 9800 ldr r0, [sp, #0] + d7c: 3001 add r0, #1 + d7e: 9000 str r0, [sp, #0] + d80: 9800 ldr r0, [sp, #0] + d82: 2804 cmp r0, #4 + d84: d3dd bcc 0xd42 + d86: 201b mov r0, #27 ; 0x1b + d88: f000 f876 bl 0xe78 + d8c: 20f6 mov r0, #246 ; 0xf6 + d8e: f000 f873 bl 0xe78 + d92: 2002 mov r0, #2 + d94: f000 f870 bl 0xe78 + d98: 2000 mov r0, #0 + d9a: f000 f86d bl 0xe78 + d9e: 2041 mov r0, #65 ; 0x41 + da0: f000 f86a bl 0xe78 + da4: 2003 mov r0, #3 + da6: f000 f867 bl 0xe78 + daa: 2042 mov r0, #66 ; 0x42 + dac: f000 f864 bl 0xe78 + db0: 484b ldr r0, =0x83ff00 ; via 0xee0 + db2: 6800 ldr r0, [r0, #0] + db4: 4990 ldr r1, =0x800100 ; via 0xff8 + db6: f000 f85e bl 0xe76 + dba: b008 add sp, #32 ; 0x20 + dbc: bd00 pop {pc} + dbe: b500 push {lr} + dc0: b081 sub sp, #4 + dc2: 2066 mov r0, #102 ; 0x66 + dc4: f000 f858 bl 0xe78 + dc8: 2074 mov r0, #116 ; 0x74 + dca: f000 f855 bl 0xe78 + dce: 206d mov r0, #109 ; 0x6d + dd0: f000 f852 bl 0xe78 + dd4: 2074 mov r0, #116 ; 0x74 + dd6: f000 f84f bl 0xe78 + dda: 206f mov r0, #111 ; 0x6f + ddc: f000 f84c bl 0xe78 + de0: 206f mov r0, #111 ; 0x6f + de2: f000 f849 bl 0xe78 + de6: 206c mov r0, #108 ; 0x6c + de8: f000 f846 bl 0xe78 + dec: 4983 ldr r1, =0x83ff80 ; via 0xffc + dee: 2000 mov r0, #0 + df0: 7008 strb r0, [r1, #0] + df2: 9000 str r0, [sp, #0] + df4: 9800 ldr r0, [sp, #0] + df6: 0c00 lsr r0, r0, #16 + df8: d105 bne 0xe06 + dfa: 9800 ldr r0, [sp, #0] + dfc: 3001 add r0, #1 + dfe: 9000 str r0, [sp, #0] + e00: 9800 ldr r0, [sp, #0] + e02: 0c00 lsr r0, r0, #16 + e04: d0f9 beq 0xdfa + e06: 2007 mov r0, #7 + e08: 0400 lsl r0, r0, #16 + e0a: f000 f84d bl 0xea8 + e0e: 2879 cmp r0, #121 ; 0x79 + e10: d10e bne 0xe30 + e12: 2001 mov r0, #1 + e14: 0300 lsl r0, r0, #12 + e16: f000 f847 bl 0xea8 + e1a: 2865 cmp r0, #101 ; 0x65 + e1c: d108 bne 0xe30 + e1e: 2001 mov r0, #1 + e20: 0300 lsl r0, r0, #12 + e22: f000 f841 bl 0xea8 + e26: 2873 cmp r0, #115 ; 0x73 + e28: d102 bne 0xe30 + e2a: 4874 ldr r0, =0x83ff80 ; via 0xffc + e2c: 2101 mov r1, #1 + e2e: 7001 strb r1, [r0, #0] + e30: f000 f8ce bl 0xfd0 + e34: 2800 cmp r0, #0 + e36: d00d beq 0xe54 + e38: 206d mov r0, #109 ; 0x6d + e3a: f000 f81d bl 0xe78 + e3e: 206f mov r0, #111 ; 0x6f + e40: f000 f81a bl 0xe78 + e44: 2064 mov r0, #100 ; 0x64 + e46: f000 f817 bl 0xe78 + e4a: 2065 mov r0, #101 ; 0x65 + e4c: f000 f814 bl 0xe78 + e50: 206d mov r0, #109 ; 0x6d + e52: e00c b 0xe6e + e54: 2065 mov r0, #101 ; 0x65 + e56: f000 f80f bl 0xe78 + e5a: 2072 mov r0, #114 ; 0x72 + e5c: f000 f80c bl 0xe78 + e60: 2072 mov r0, #114 ; 0x72 + e62: f000 f809 bl 0xe78 + e66: 206f mov r0, #111 ; 0x6f + e68: f000 f806 bl 0xe78 + e6c: 2072 mov r0, #114 ; 0x72 + e6e: f000 f803 bl 0xe78 + e72: b001 add sp, #4 + e74: bd00 pop {pc} + e76: 4708 bx r1 + e78: b081 sub sp, #4 + e7a: 4669 mov r1, sp + e7c: 7008 strb r0, [r1, #0] + e7e: 4818 ldr r0, =0x83ff00 ; via 0xee0 + e80: 6800 ldr r0, [r0, #0] + e82: 7940 ldrb r0, [r0, #5] + e84: 0980 lsr r0, r0, #6 + e86: d3fa bcc 0xe7e + e88: 4815 ldr r0, =0x83ff00 ; via 0xee0 + e8a: 6800 ldr r0, [r0, #0] + e8c: 4669 mov r1, sp + e8e: 7809 ldrb r1, [r1, #0] + e90: 7001 strb r1, [r0, #0] + e92: b001 add sp, #4 + e94: 46f7 mov pc, lr + e96: 4812 ldr r0, =0x83ff00 ; via 0xee0 + e98: 6800 ldr r0, [r0, #0] + e9a: 7940 ldrb r0, [r0, #5] + e9c: 0840 lsr r0, r0, #1 + e9e: d3fa bcc 0xe96 + ea0: 480f ldr r0, =0x83ff00 ; via 0xee0 + ea2: 6800 ldr r0, [r0, #0] + ea4: 7800 ldrb r0, [r0, #0] + ea6: 4770 bx lr + ea8: b083 sub sp, #12 ; 0xc + eaa: 9000 str r0, [sp, #0] + eac: 9800 ldr r0, [sp, #0] + eae: 9002 str r0, [sp, #8] + eb0: 480b ldr r0, =0x83ff00 ; via 0xee0 + eb2: 6800 ldr r0, [r0, #0] + eb4: 7940 ldrb r0, [r0, #5] + eb6: 0840 lsr r0, r0, #1 + eb8: d20c bcs 0xed4 + eba: 9802 ldr r0, [sp, #8] + ebc: 3801 sub r0, #1 + ebe: 9002 str r0, [sp, #8] + ec0: 9802 ldr r0, [sp, #8] + ec2: 2800 cmp r0, #0 + ec4: d101 bne 0xeca + ec6: 20ff mov r0, #255 ; 0xff + ec8: e007 b 0xeda + eca: 4805 ldr r0, =0x83ff00 ; via 0xee0 + ecc: 6800 ldr r0, [r0, #0] + ece: 7940 ldrb r0, [r0, #5] + ed0: 0840 lsr r0, r0, #1 + ed2: d3f2 bcc 0xeba + ed4: 484a ldr r0, =0x83ff00 ; via 0x1000 + ed6: 6800 ldr r0, [r0, #0] + ed8: 7800 ldrb r0, [r0, #0] + eda: b003 add sp, #12 ; 0xc + edc: 4770 bx lr + ede: 46c0 nop (mov r8, r8) + ee0: ff00 + ee2: 0083 lsl r3, r0, #2 + ee4: 5800 ldr r0, [r0, r0] + ee6: ffff + ee8: b081 sub sp, #4 + eea: e001 b 0xef0 + eec: 9800 ldr r0, [sp, #0] + eee: 3801 sub r0, #1 + ef0: 9000 str r0, [sp, #0] + ef2: 4843 ldr r0, =0x83ff00 ; via 0x1000 + ef4: 6800 ldr r0, [r0, #0] + ef6: 7940 ldrb r0, [r0, #5] + ef8: 0840 lsr r0, r0, #1 + efa: d202 bcs 0xf02 + efc: 9800 ldr r0, [sp, #0] + efe: 2800 cmp r0, #0 + f00: dcf4 bgt 0xeec + f02: 9800 ldr r0, [sp, #0] + f04: 2800 cmp r0, #0 + f06: dd01 ble 0xf0c + f08: 2000 mov r0, #0 + f0a: e000 b 0xf0e + f0c: 2001 mov r0, #1 + f0e: b001 add sp, #4 + f10: 4770 bx lr + f12: b082 sub sp, #8 + f14: 9000 str r0, [sp, #0] + f16: 4669 mov r1, sp + f18: 2000 mov r0, #0 + f1a: 7188 strb r0, [r1, #6] + f1c: 9900 ldr r1, [sp, #0] + f1e: 4839 ldr r0, =0xfffef000 ; via 0x1004 + f20: 8800 ldrh r0, [r0, #0] + f22: 8008 strh r0, [r1, #0] + f24: b002 add sp, #8 + f26: 4770 bx lr + f28: 0100 lsl r0, r0, #4 + f2a: 0080 lsl r0, r0, #2 + f2c: b081 sub sp, #4 + f2e: 466a mov r2, sp + f30: 7051 strb r1, [r2, #1] + f32: 4669 mov r1, sp + f34: 7008 strb r0, [r1, #0] + f36: 4934 ldr r1, =0xffff6000 ; via 0x1008 + f38: 2002 mov r0, #2 + f3a: 880a ldrh r2, [r1, #0] + f3c: 4310 orr r0, r2 + f3e: 8008 strh r0, [r1, #0] + f40: 4831 ldr r0, =0xffff6000 ; via 0x1008 + f42: 8801 ldrh r1, [r0, #0] + f44: 0849 lsr r1, r1, #1 + f46: 0049 lsl r1, r1, #1 + f48: 8001 strh r1, [r0, #0] + f4a: 492f ldr r1, =0xffff6000 ; via 0x1008 + f4c: 8808 ldrh r0, [r1, #0] + f4e: 2202 mov r2, #2 + f50: 4390 bic r0, r2 + f52: 8008 strh r0, [r1, #0] + f54: 482a ldr r0, =0x83ff00 ; via 0x1000 + f56: 6801 ldr r1, [r0, #0] + f58: 2007 mov r0, #7 + f5a: 7208 strb r0, [r1, #8] + f5c: 4828 ldr r0, =0x83ff00 ; via 0x1000 + f5e: 6801 ldr r1, [r0, #0] + f60: 20bf mov r0, #191 ; 0xbf + f62: 70c8 strb r0, [r1, #3] + f64: 4826 ldr r0, =0x83ff00 ; via 0x1000 + f66: 6800 ldr r0, [r0, #0] + f68: 1c80 add r0, r0, #2 + f6a: 2110 mov r1, #16 ; 0x10 + f6c: 8802 ldrh r2, [r0, #0] + f6e: 4311 orr r1, r2 + f70: 8001 strh r1, [r0, #0] + f72: 4823 ldr r0, =0x83ff00 ; via 0x1000 + f74: 6801 ldr r1, [r0, #0] + f76: 2080 mov r0, #128 ; 0x80 + f78: 70c8 strb r0, [r1, #3] + f7a: 4821 ldr r0, =0x83ff00 ; via 0x1000 + f7c: 6800 ldr r0, [r0, #0] + f7e: 2107 mov r1, #7 + f80: 7081 strb r1, [r0, #2] + f82: 481f ldr r0, =0x83ff00 ; via 0x1000 + f84: 6800 ldr r0, [r0, #0] + f86: 21bf mov r1, #191 ; 0xbf + f88: 70c1 strb r1, [r0, #3] + f8a: 481d ldr r0, =0x83ff00 ; via 0x1000 + f8c: 6801 ldr r1, [r0, #0] + f8e: 4668 mov r0, sp + f90: 7840 ldrb r0, [r0, #1] + f92: 7008 strb r0, [r1, #0] + f94: 481a ldr r0, =0x83ff00 ; via 0x1000 + f96: 6801 ldr r1, [r0, #0] + f98: 4668 mov r0, sp + f9a: 7800 ldrb r0, [r0, #0] + f9c: 7048 strb r0, [r1, #1] + f9e: 4818 ldr r0, =0x83ff00 ; via 0x1000 + fa0: 6801 ldr r1, [r0, #0] + fa2: 2003 mov r0, #3 + fa4: 70c8 strb r0, [r1, #3] + fa6: 4816 ldr r0, =0x83ff00 ; via 0x1000 + fa8: 6800 ldr r0, [r0, #0] + faa: 2100 mov r1, #0 + fac: 7201 strb r1, [r0, #8] + fae: 4814 ldr r0, =0x83ff00 ; via 0x1000 + fb0: 6800 ldr r0, [r0, #0] + fb2: 7940 ldrb r0, [r0, #5] + fb4: 0840 lsr r0, r0, #1 + fb6: d309 bcc 0xfcc + fb8: 4669 mov r1, sp + fba: 4811 ldr r0, =0x83ff00 ; via 0x1000 + fbc: 6800 ldr r0, [r0, #0] + fbe: 7800 ldrb r0, [r0, #0] + fc0: 7088 strb r0, [r1, #2] + fc2: 480f ldr r0, =0x83ff00 ; via 0x1000 + fc4: 6800 ldr r0, [r0, #0] + fc6: 7940 ldrb r0, [r0, #5] + fc8: 0840 lsr r0, r0, #1 + fca: d2f5 bcs 0xfb8 + fcc: b001 add sp, #4 + fce: 4770 bx lr + fd0: 480a ldr r0, =0x83ff80 ; via 0xffc + fd2: 7800 ldrb r0, [r0, #0] + fd4: 4770 bx lr + fd6: b500 push {lr} + fd8: b081 sub sp, #4 + fda: 4669 mov r1, sp + fdc: 7008 strb r0, [r1, #0] + fde: 4668 mov r0, sp + fe0: 7800 ldrb r0, [r0, #0] + fe2: f7ff ff49 bl 0xe78 + fe6: b001 add sp, #4 + fe8: bd00 pop {pc} + fea: b500 push {lr} + fec: f7ff ff53 bl 0xe96 + ff0: bd00 pop {pc} + ff2: 46c0 nop (mov r8, r8) + ff4: 3ce0 sub r4, #224 ; 0xe0 + ff6: 0080 lsl r0, r0, #2 + ff8: 0100 lsl r0, r0, #4 + ffa: 0080 lsl r0, r0, #2 + ffc: ff80 + ffe: 0083 lsl r3, r0, #2 + 1000: ff00 + 1002: 0083 lsl r3, r0, #2 + 1004: f000 fffe bl 0x2004 + 1008: 6000 str r0, [r0, #0] + 100a: ffff + 100c: 4700 bx r0 + 100e: 0000 lsl r0, r0, #0 + 1010: b08c sub sp, #48 ; 0x30 + 1012: 9101 str r1, [sp, #4] + 1014: 9000 str r0, [sp, #0] + 1016: 2000 mov r0, #0 + 1018: 9003 str r0, [sp, #12] ; 0xc + 101a: 9800 ldr r0, [sp, #0] + 101c: 7801 ldrb r1, [r0, #0] + 101e: 3001 add r0, #1 + 1020: 9000 str r0, [sp, #0] + 1022: 9105 str r1, [sp, #20] ; 0x14 + 1024: 9800 ldr r0, [sp, #0] + 1026: 7801 ldrb r1, [r0, #0] + 1028: 3001 add r0, #1 + 102a: 9000 str r0, [sp, #0] + 102c: 9801 ldr r0, [sp, #4] + 102e: 7001 strb r1, [r0, #0] + 1030: 2001 mov r0, #1 + 1032: 9004 str r0, [sp, #16] ; 0x10 + 1034: e0a8 b 0x1188 + 1036: 9804 ldr r0, [sp, #16] ; 0x10 + 1038: 3002 add r0, #2 + 103a: 9004 str r0, [sp, #16] ; 0x10 + 103c: 9800 ldr r0, [sp, #0] + 103e: 7801 ldrb r1, [r0, #0] + 1040: 3001 add r0, #1 + 1042: 9000 str r0, [sp, #0] + 1044: 4668 mov r0, sp + 1046: 8441 strh r1, [r0, #34] ; 0x22 + 1048: 9800 ldr r0, [sp, #0] + 104a: 7801 ldrb r1, [r0, #0] + 104c: 3001 add r0, #1 + 104e: 9000 str r0, [sp, #0] + 1050: 4668 mov r0, sp + 1052: 8401 strh r1, [r0, #32] ; 0x20 + 1054: 8c00 ldrh r0, [r0, #32] ; 0x20 + 1056: 4669 mov r1, sp + 1058: 8c49 ldrh r1, [r1, #34] ; 0x22 + 105a: 0209 lsl r1, r1, #8 + 105c: 1840 add r0, r0, r1 + 105e: 9901 ldr r1, [sp, #4] + 1060: 8088 strh r0, [r1, #4] + 1062: 9804 ldr r0, [sp, #16] ; 0x10 + 1064: 3001 add r0, #1 + 1066: 9004 str r0, [sp, #16] ; 0x10 + 1068: 9800 ldr r0, [sp, #0] + 106a: 7801 ldrb r1, [r0, #0] + 106c: 3001 add r0, #1 + 106e: 9000 str r0, [sp, #0] + 1070: 4668 mov r0, sp + 1072: 7601 strb r1, [r0, #24] ; 0x18 + 1074: 9901 ldr r1, [sp, #4] + 1076: 7e00 ldrb r0, [r0, #24] ; 0x18 + 1078: 7188 strb r0, [r1, #6] + 107a: 4668 mov r0, sp + 107c: 7e00 ldrb r0, [r0, #24] ; 0x18 + 107e: 2840 cmp r0, #64 ; 0x40 + 1080: dc00 bgt 0x1084 + 1082: e09f b 0x11c4 + 1084: 2004 mov r0, #4 + 1086: 9003 str r0, [sp, #12] ; 0xc + 1088: e09c b 0x11c4 + 108a: 9804 ldr r0, [sp, #16] ; 0x10 + 108c: 3002 add r0, #2 + 108e: 9004 str r0, [sp, #16] ; 0x10 + 1090: 9800 ldr r0, [sp, #0] + 1092: 7801 ldrb r1, [r0, #0] + 1094: 3001 add r0, #1 + 1096: 9000 str r0, [sp, #0] + 1098: 4668 mov r0, sp + 109a: 8441 strh r1, [r0, #34] ; 0x22 + 109c: 9800 ldr r0, [sp, #0] + 109e: 7801 ldrb r1, [r0, #0] + 10a0: 3001 add r0, #1 + 10a2: 9000 str r0, [sp, #0] + 10a4: 4668 mov r0, sp + 10a6: 8401 strh r1, [r0, #32] ; 0x20 + 10a8: 8c00 ldrh r0, [r0, #32] ; 0x20 + 10aa: 4669 mov r1, sp + 10ac: 8c49 ldrh r1, [r1, #34] ; 0x22 + 10ae: 0209 lsl r1, r1, #8 + 10b0: 1841 add r1, r0, r1 + 10b2: 9801 ldr r0, [sp, #4] + 10b4: 8081 strh r1, [r0, #4] + 10b6: 9804 ldr r0, [sp, #16] ; 0x10 + 10b8: 3001 add r0, #1 + 10ba: 9004 str r0, [sp, #16] ; 0x10 + 10bc: 9800 ldr r0, [sp, #0] + 10be: 7801 ldrb r1, [r0, #0] + 10c0: 3001 add r0, #1 + 10c2: 9000 str r0, [sp, #0] + 10c4: 4668 mov r0, sp + 10c6: 7601 strb r1, [r0, #24] ; 0x18 + 10c8: 9901 ldr r1, [sp, #4] + 10ca: 7e00 ldrb r0, [r0, #24] ; 0x18 + 10cc: 7188 strb r0, [r1, #6] + 10ce: 4668 mov r0, sp + 10d0: 7e00 ldrb r0, [r0, #24] ; 0x18 + 10d2: 2840 cmp r0, #64 ; 0x40 + 10d4: dcd6 bgt 0x1084 + 10d6: 9801 ldr r0, [sp, #4] + 10d8: 3008 add r0, #8 + 10da: 9007 str r0, [sp, #28] ; 0x1c + 10dc: 2000 mov r0, #0 + 10de: 9002 str r0, [sp, #8] + 10e0: 9902 ldr r1, [sp, #8] + 10e2: 4668 mov r0, sp + 10e4: 7e00 ldrb r0, [r0, #24] ; 0x18 + 10e6: 4281 cmp r1, r0 + 10e8: da6c bge 0x11c4 + 10ea: 9800 ldr r0, [sp, #0] + 10ec: 7801 ldrb r1, [r0, #0] + 10ee: 3001 add r0, #1 + 10f0: 9000 str r0, [sp, #0] + 10f2: 4668 mov r0, sp + 10f4: 84c1 strh r1, [r0, #38] ; 0x26 + 10f6: 9800 ldr r0, [sp, #0] + 10f8: 7801 ldrb r1, [r0, #0] + 10fa: 3001 add r0, #1 + 10fc: 9000 str r0, [sp, #0] + 10fe: 4668 mov r0, sp + 1100: 8481 strh r1, [r0, #36] ; 0x24 + 1102: 9807 ldr r0, [sp, #28] ; 0x1c + 1104: 1c81 add r1, r0, #2 + 1106: 9107 str r1, [sp, #28] ; 0x1c + 1108: 4669 mov r1, sp + 110a: 8c89 ldrh r1, [r1, #36] ; 0x24 + 110c: 466a mov r2, sp + 110e: 8cd2 ldrh r2, [r2, #38] ; 0x26 + 1110: 0212 lsl r2, r2, #8 + 1112: 1889 add r1, r1, r2 + 1114: 8001 strh r1, [r0, #0] + 1116: 9804 ldr r0, [sp, #16] ; 0x10 + 1118: 3002 add r0, #2 + 111a: 9004 str r0, [sp, #16] ; 0x10 + 111c: 9802 ldr r0, [sp, #8] + 111e: 3001 add r0, #1 + 1120: 9002 str r0, [sp, #8] + 1122: 9902 ldr r1, [sp, #8] + 1124: 4668 mov r0, sp + 1126: 7e00 ldrb r0, [r0, #24] ; 0x18 + 1128: 4281 cmp r1, r0 + 112a: dbde blt 0x10ea + 112c: e04a b 0x11c4 + 112e: 9804 ldr r0, [sp, #16] ; 0x10 + 1130: 3002 add r0, #2 + 1132: 9004 str r0, [sp, #16] ; 0x10 + 1134: 9800 ldr r0, [sp, #0] + 1136: 7801 ldrb r1, [r0, #0] + 1138: 3001 add r0, #1 + 113a: 9000 str r0, [sp, #0] + 113c: 4668 mov r0, sp + 113e: 8501 strh r1, [r0, #40] ; 0x28 + 1140: 9800 ldr r0, [sp, #0] + 1142: 7801 ldrb r1, [r0, #0] + 1144: 3001 add r0, #1 + 1146: 9000 str r0, [sp, #0] + 1148: 4668 mov r0, sp + 114a: 8541 strh r1, [r0, #42] ; 0x2a + 114c: 8d41 ldrh r1, [r0, #42] ; 0x2a + 114e: 8d00 ldrh r0, [r0, #40] ; 0x28 + 1150: 0200 lsl r0, r0, #8 + 1152: 1809 add r1, r1, r0 + 1154: 9801 ldr r0, [sp, #4] + 1156: 8081 strh r1, [r0, #4] + 1158: 9804 ldr r0, [sp, #16] ; 0x10 + 115a: 3002 add r0, #2 + 115c: 9004 str r0, [sp, #16] ; 0x10 + 115e: 9800 ldr r0, [sp, #0] + 1160: 7801 ldrb r1, [r0, #0] + 1162: 3001 add r0, #1 + 1164: 9000 str r0, [sp, #0] + 1166: 4668 mov r0, sp + 1168: 8581 strh r1, [r0, #44] ; 0x2c + 116a: 9800 ldr r0, [sp, #0] + 116c: 7801 ldrb r1, [r0, #0] + 116e: 3001 add r0, #1 + 1170: 9000 str r0, [sp, #0] + 1172: 4668 mov r0, sp + 1174: 85c1 strh r1, [r0, #46] ; 0x2e + 1176: 8dc1 ldrh r1, [r0, #46] ; 0x2e + 1178: 8d80 ldrh r0, [r0, #44] ; 0x2c + 117a: 0200 lsl r0, r0, #8 + 117c: 1808 add r0, r1, r0 + 117e: 9901 ldr r1, [sp, #4] + 1180: 80c8 strh r0, [r1, #6] + 1182: e01f b 0x11c4 + 1184: 2008 mov r0, #8 + 1186: e77e b 0x1086 + 1188: 9801 ldr r0, [sp, #4] + 118a: 7801 ldrb r1, [r0, #0] + 118c: 290a cmp r1, #10 ; 0xa + 118e: d8f9 bhi 0x1184 + 1190: a001 add r0, pc, #4 + 1192: 0089 lsl r1, r1, #2 + 1194: 5840 ldr r0, [r0, r1] + 1196: 4687 mov pc, r0 + 1198: 11c4 asr r4, r0, #7 + 119a: 0000 lsl r0, r0, #0 + 119c: 11c4 asr r4, r0, #7 + 119e: 0000 lsl r0, r0, #0 + 11a0: 11c4 asr r4, r0, #7 + 11a2: 0000 lsl r0, r0, #0 + 11a4: 11c4 asr r4, r0, #7 + 11a6: 0000 lsl r0, r0, #0 + 11a8: 11c4 asr r4, r0, #7 + 11aa: 0000 lsl r0, r0, #0 + 11ac: 11c4 asr r4, r0, #7 + 11ae: 0000 lsl r0, r0, #0 + 11b0: 11c4 asr r4, r0, #7 + 11b2: 0000 lsl r0, r0, #0 + 11b4: 1036 asr r6, r6, #32 + 11b6: 0000 lsl r0, r0, #0 + 11b8: 108a asr r2, r1, #2 + 11ba: 0000 lsl r0, r0, #0 + 11bc: 11c4 asr r4, r0, #7 + 11be: 0000 lsl r0, r0, #0 + 11c0: 112e asr r6, r5, #4 + 11c2: 0000 lsl r0, r0, #0 + 11c4: 9905 ldr r1, [sp, #20] ; 0x14 + 11c6: 9804 ldr r0, [sp, #16] ; 0x10 + 11c8: 4281 cmp r1, r0 + 11ca: d001 beq 0x11d0 + 11cc: 2004 mov r0, #4 + 11ce: 9003 str r0, [sp, #12] ; 0xc + 11d0: 9803 ldr r0, [sp, #12] ; 0xc + 11d2: b00c add sp, #48 ; 0x30 + 11d4: 4770 bx lr + 11d6: b089 sub sp, #36 ; 0x24 + 11d8: 9101 str r1, [sp, #4] + 11da: 9000 str r0, [sp, #0] + 11dc: 2000 mov r0, #0 + 11de: 9003 str r0, [sp, #12] ; 0xc + 11e0: 9801 ldr r0, [sp, #4] + 11e2: 1c41 add r1, r0, #1 + 11e4: 9101 str r1, [sp, #4] + 11e6: 9005 str r0, [sp, #20] ; 0x14 + 11e8: 9801 ldr r0, [sp, #4] + 11ea: 1c41 add r1, r0, #1 + 11ec: 9101 str r1, [sp, #4] + 11ee: 9900 ldr r1, [sp, #0] + 11f0: 7809 ldrb r1, [r1, #0] + 11f2: 7001 strb r1, [r0, #0] + 11f4: 4669 mov r1, sp + 11f6: 2001 mov r0, #1 + 11f8: 7408 strb r0, [r1, #16] ; 0x10 + 11fa: 9801 ldr r0, [sp, #4] + 11fc: 1c41 add r1, r0, #1 + 11fe: 9101 str r1, [sp, #4] + 1200: 9900 ldr r1, [sp, #0] + 1202: 7849 ldrb r1, [r1, #1] + 1204: 7001 strb r1, [r0, #0] + 1206: 4669 mov r1, sp + 1208: 4668 mov r0, sp + 120a: 7c00 ldrb r0, [r0, #16] ; 0x10 + 120c: 3001 add r0, #1 + 120e: 7408 strb r0, [r1, #16] ; 0x10 + 1210: e0e4 b 0x13dc + 1212: 9800 ldr r0, [sp, #0] + 1214: 7840 ldrb r0, [r0, #1] + 1216: 2800 cmp r0, #0 + 1218: d000 beq 0x121c + 121a: e0fd b 0x1418 + 121c: 9801 ldr r0, [sp, #4] + 121e: 1c41 add r1, r0, #1 + 1220: 9101 str r1, [sp, #4] + 1222: 9900 ldr r1, [sp, #0] + 1224: 7909 ldrb r1, [r1, #4] + 1226: 7001 strb r1, [r0, #0] + 1228: 9801 ldr r0, [sp, #4] + 122a: 1c41 add r1, r0, #1 + 122c: 9101 str r1, [sp, #4] + 122e: 9900 ldr r1, [sp, #0] + 1230: 7949 ldrb r1, [r1, #5] + 1232: 7001 strb r1, [r0, #0] + 1234: 9801 ldr r0, [sp, #4] + 1236: 1c41 add r1, r0, #1 + 1238: 9101 str r1, [sp, #4] + 123a: 9900 ldr r1, [sp, #0] + 123c: 7989 ldrb r1, [r1, #6] + 123e: 7001 strb r1, [r0, #0] + 1240: 4668 mov r0, sp + 1242: 7c00 ldrb r0, [r0, #16] ; 0x10 + 1244: 3003 add r0, #3 + 1246: 4669 mov r1, sp + 1248: 7408 strb r0, [r1, #16] ; 0x10 + 124a: e0e5 b 0x1418 + 124c: 9800 ldr r0, [sp, #0] + 124e: 7840 ldrb r0, [r0, #1] + 1250: 2800 cmp r0, #0 + 1252: d000 beq 0x1256 + 1254: e0e0 b 0x1418 + 1256: 9801 ldr r0, [sp, #4] + 1258: 1c41 add r1, r0, #1 + 125a: 9101 str r1, [sp, #4] + 125c: 9900 ldr r1, [sp, #0] + 125e: 7909 ldrb r1, [r1, #4] + 1260: 7001 strb r1, [r0, #0] + 1262: 4668 mov r0, sp + 1264: 7c00 ldrb r0, [r0, #16] ; 0x10 + 1266: 3001 add r0, #1 + 1268: e7ed b 0x1246 + 126a: 9800 ldr r0, [sp, #0] + 126c: 7840 ldrb r0, [r0, #1] + 126e: 2800 cmp r0, #0 + 1270: d000 beq 0x1274 + 1272: e0d1 b 0x1418 + 1274: e7ef b 0x1256 + 1276: 9800 ldr r0, [sp, #0] + 1278: 7840 ldrb r0, [r0, #1] + 127a: 2800 cmp r0, #0 + 127c: d000 beq 0x1280 + 127e: e0cb b 0x1418 + 1280: e7e9 b 0x1256 + 1282: 9800 ldr r0, [sp, #0] + 1284: 7840 ldrb r0, [r0, #1] + 1286: 2800 cmp r0, #0 + 1288: d000 beq 0x128c + 128a: e0c5 b 0x1418 + 128c: 4669 mov r1, sp + 128e: 9800 ldr r0, [sp, #0] + 1290: 8880 ldrh r0, [r0, #4] + 1292: 8408 strh r0, [r1, #32] ; 0x20 + 1294: 9801 ldr r0, [sp, #4] + 1296: 1c41 add r1, r0, #1 + 1298: 9101 str r1, [sp, #4] + 129a: 4669 mov r1, sp + 129c: 8c09 ldrh r1, [r1, #32] ; 0x20 + 129e: 0409 lsl r1, r1, #16 + 12a0: 0e09 lsr r1, r1, #24 + 12a2: 0209 lsl r1, r1, #8 + 12a4: 1209 asr r1, r1, #8 + 12a6: 7001 strb r1, [r0, #0] + 12a8: 9801 ldr r0, [sp, #4] + 12aa: 1c41 add r1, r0, #1 + 12ac: 9101 str r1, [sp, #4] + 12ae: 4669 mov r1, sp + 12b0: 8c09 ldrh r1, [r1, #32] ; 0x20 + 12b2: 0609 lsl r1, r1, #24 + 12b4: 0e09 lsr r1, r1, #24 + 12b6: 7001 strb r1, [r0, #0] + 12b8: 4669 mov r1, sp + 12ba: 9800 ldr r0, [sp, #0] + 12bc: 88c0 ldrh r0, [r0, #6] + 12be: 8408 strh r0, [r1, #32] ; 0x20 + 12c0: 9801 ldr r0, [sp, #4] + 12c2: 1c41 add r1, r0, #1 + 12c4: 9101 str r1, [sp, #4] + 12c6: 4669 mov r1, sp + 12c8: 8c09 ldrh r1, [r1, #32] ; 0x20 + 12ca: 0409 lsl r1, r1, #16 + 12cc: 0e09 lsr r1, r1, #24 + 12ce: 0209 lsl r1, r1, #8 + 12d0: 1209 asr r1, r1, #8 + 12d2: 7001 strb r1, [r0, #0] + 12d4: 9801 ldr r0, [sp, #4] + 12d6: 1c41 add r1, r0, #1 + 12d8: 9101 str r1, [sp, #4] + 12da: 4669 mov r1, sp + 12dc: 8c09 ldrh r1, [r1, #32] ; 0x20 + 12de: 0609 lsl r1, r1, #24 + 12e0: 0e09 lsr r1, r1, #24 + 12e2: 7001 strb r1, [r0, #0] + 12e4: 4668 mov r0, sp + 12e6: 7c00 ldrb r0, [r0, #16] ; 0x10 + 12e8: 3004 add r0, #4 + 12ea: e7ac b 0x1246 + 12ec: 9800 ldr r0, [sp, #0] + 12ee: 7840 ldrb r0, [r0, #1] + 12f0: 2800 cmp r0, #0 + 12f2: d000 beq 0x12f6 + 12f4: e090 b 0x1418 + 12f6: e7ae b 0x1256 + 12f8: 9800 ldr r0, [sp, #0] + 12fa: 7840 ldrb r0, [r0, #1] + 12fc: 2800 cmp r0, #0 + 12fe: d000 beq 0x1302 + 1300: e08a b 0x1418 + 1302: 4669 mov r1, sp + 1304: 4668 mov r0, sp + 1306: 7c00 ldrb r0, [r0, #16] ; 0x10 + 1308: 3001 add r0, #1 + 130a: 7408 strb r0, [r1, #16] ; 0x10 + 130c: 4668 mov r0, sp + 130e: 9900 ldr r1, [sp, #0] + 1310: 7909 ldrb r1, [r1, #4] + 1312: 7601 strb r1, [r0, #24] ; 0x18 + 1314: 9801 ldr r0, [sp, #4] + 1316: 1c41 add r1, r0, #1 + 1318: 9101 str r1, [sp, #4] + 131a: 4669 mov r1, sp + 131c: 7e09 ldrb r1, [r1, #24] ; 0x18 + 131e: 7001 strb r1, [r0, #0] + 1320: 4668 mov r0, sp + 1322: 7e00 ldrb r0, [r0, #24] ; 0x18 + 1324: 2840 cmp r0, #64 ; 0x40 + 1326: dd01 ble 0x132c + 1328: 2004 mov r0, #4 + 132a: e055 b 0x13d8 + 132c: 9800 ldr r0, [sp, #0] + 132e: 3006 add r0, #6 + 1330: 9007 str r0, [sp, #28] ; 0x1c + 1332: 2000 mov r0, #0 + 1334: 9002 str r0, [sp, #8] + 1336: 9902 ldr r1, [sp, #8] + 1338: 4668 mov r0, sp + 133a: 7e00 ldrb r0, [r0, #24] ; 0x18 + 133c: 4281 cmp r1, r0 + 133e: da6b bge 0x1418 + 1340: 9801 ldr r0, [sp, #4] + 1342: 1c41 add r1, r0, #1 + 1344: 9101 str r1, [sp, #4] + 1346: 9907 ldr r1, [sp, #28] ; 0x1c + 1348: 8809 ldrh r1, [r1, #0] + 134a: 0409 lsl r1, r1, #16 + 134c: 0e09 lsr r1, r1, #24 + 134e: 0209 lsl r1, r1, #8 + 1350: 1209 asr r1, r1, #8 + 1352: 7001 strb r1, [r0, #0] + 1354: 9807 ldr r0, [sp, #28] ; 0x1c + 1356: 8801 ldrh r1, [r0, #0] + 1358: 3002 add r0, #2 + 135a: 9007 str r0, [sp, #28] ; 0x1c + 135c: 0608 lsl r0, r1, #24 + 135e: 0e01 lsr r1, r0, #24 + 1360: 9801 ldr r0, [sp, #4] + 1362: 1c42 add r2, r0, #1 + 1364: 9201 str r2, [sp, #4] + 1366: 7001 strb r1, [r0, #0] + 1368: 4669 mov r1, sp + 136a: 4668 mov r0, sp + 136c: 7c00 ldrb r0, [r0, #16] ; 0x10 + 136e: 3002 add r0, #2 + 1370: 7408 strb r0, [r1, #16] ; 0x10 + 1372: 9802 ldr r0, [sp, #8] + 1374: 3001 add r0, #1 + 1376: 9002 str r0, [sp, #8] + 1378: 9902 ldr r1, [sp, #8] + 137a: 4668 mov r0, sp + 137c: 7e00 ldrb r0, [r0, #24] ; 0x18 + 137e: 4281 cmp r1, r0 + 1380: dbde blt 0x1340 + 1382: e049 b 0x1418 + 1384: 9800 ldr r0, [sp, #0] + 1386: 7840 ldrb r0, [r0, #1] + 1388: 2800 cmp r0, #0 + 138a: d145 bne 0x1418 + 138c: 4669 mov r1, sp + 138e: 9800 ldr r0, [sp, #0] + 1390: 8880 ldrh r0, [r0, #4] + 1392: 8408 strh r0, [r1, #32] ; 0x20 + 1394: 9801 ldr r0, [sp, #4] + 1396: 1c41 add r1, r0, #1 + 1398: 9101 str r1, [sp, #4] + 139a: 4669 mov r1, sp + 139c: 8c09 ldrh r1, [r1, #32] ; 0x20 + 139e: 0409 lsl r1, r1, #16 + 13a0: 0e09 lsr r1, r1, #24 + 13a2: 0209 lsl r1, r1, #8 + 13a4: 1209 asr r1, r1, #8 + 13a6: 7001 strb r1, [r0, #0] + 13a8: 9801 ldr r0, [sp, #4] + 13aa: 1c41 add r1, r0, #1 + 13ac: 9101 str r1, [sp, #4] + 13ae: 4669 mov r1, sp + 13b0: 8c09 ldrh r1, [r1, #32] ; 0x20 + 13b2: 0609 lsl r1, r1, #24 + 13b4: 0e09 lsr r1, r1, #24 + 13b6: 7001 strb r1, [r0, #0] + 13b8: 4668 mov r0, sp + 13ba: 9900 ldr r1, [sp, #0] + 13bc: 88c9 ldrh r1, [r1, #6] + 13be: 8401 strh r1, [r0, #32] ; 0x20 + 13c0: 9901 ldr r1, [sp, #4] + 13c2: 1c48 add r0, r1, #1 + 13c4: 9001 str r0, [sp, #4] + 13c6: 4668 mov r0, sp + 13c8: 8c00 ldrh r0, [r0, #32] ; 0x20 + 13ca: 0400 lsl r0, r0, #16 + 13cc: 0e00 lsr r0, r0, #24 + 13ce: 0200 lsl r0, r0, #8 + 13d0: 1200 asr r0, r0, #8 + 13d2: 7008 strb r0, [r1, #0] + 13d4: e77e b 0x12d4 + 13d6: 2008 mov r0, #8 + 13d8: 9003 str r0, [sp, #12] ; 0xc + 13da: e01d b 0x1418 + 13dc: 9800 ldr r0, [sp, #0] + 13de: 7800 ldrb r0, [r0, #0] + 13e0: 280a cmp r0, #10 ; 0xa + 13e2: d8f8 bhi 0x13d6 + 13e4: a101 add r1, pc, #4 + 13e6: 0080 lsl r0, r0, #2 + 13e8: 5808 ldr r0, [r1, r0] + 13ea: 4687 mov pc, r0 + 13ec: 1212 asr r2, r2, #8 + 13ee: 0000 lsl r0, r0, #0 + 13f0: 124c asr r4, r1, #9 + 13f2: 0000 lsl r0, r0, #0 + 13f4: 126a asr r2, r5, #9 + 13f6: 0000 lsl r0, r0, #0 + 13f8: 1276 asr r6, r6, #9 + 13fa: 0000 lsl r0, r0, #0 + 13fc: 1418 asr r0, r3, #16 + 13fe: 0000 lsl r0, r0, #0 + 1400: 1282 asr r2, r0, #10 + 1402: 0000 lsl r0, r0, #0 + 1404: 12ec asr r4, r5, #11 + 1406: 0000 lsl r0, r0, #0 + 1408: 12f8 asr r0, r7, #11 + 140a: 0000 lsl r0, r0, #0 + 140c: 1418 asr r0, r3, #16 + 140e: 0000 lsl r0, r0, #0 + 1410: 1384 asr r4, r0, #14 + 1412: 0000 lsl r0, r0, #0 + 1414: 1418 asr r0, r3, #16 + 1416: 0000 lsl r0, r0, #0 + 1418: 9805 ldr r0, [sp, #20] ; 0x14 + 141a: 4669 mov r1, sp + 141c: 7c09 ldrb r1, [r1, #16] ; 0x10 + 141e: 7001 strb r1, [r0, #0] + 1420: 9803 ldr r0, [sp, #12] ; 0xc + 1422: b009 add sp, #36 ; 0x24 + 1424: 4770 bx lr + 1426: 0000 lsl r0, r0, #0 + 1428: b500 push {lr} + 142a: b083 sub sp, #12 ; 0xc + 142c: 9101 str r1, [sp, #4] + 142e: 4669 mov r1, sp + 1430: 7008 strb r0, [r1, #0] + 1432: 2000 mov r0, #0 + 1434: 9002 str r0, [sp, #8] + 1436: e073 b 0x1520 + 1438: 4668 mov r0, sp + 143a: 7800 ldrb r0, [r0, #0] + 143c: 28aa cmp r0, #170 ; 0xaa + 143e: d106 bne 0x144e + 1440: 4965 ldr r1, =0x83ff10 ; via 0x15d8 + 1442: 4865 ldr r0, =0x83ff10 ; via 0x15d8 + 1444: 6800 ldr r0, [r0, #0] + 1446: 3001 add r0, #1 + 1448: 07c0 lsl r0, r0, #31 + 144a: 0fc0 lsr r0, r0, #31 + 144c: e013 b 0x1476 + 144e: 4862 ldr r0, =0x83ff10 ; via 0x15d8 + 1450: 6800 ldr r0, [r0, #0] + 1452: 2800 cmp r0, #0 + 1454: d06b beq 0x152e + 1456: 4961 ldr r1, =0x83ff04 ; via 0x15dc + 1458: 9801 ldr r0, [sp, #4] + 145a: 3001 add r0, #1 + 145c: 6008 str r0, [r1, #0] + 145e: 4960 ldr r1, =0x83ff0e ; via 0x15e0 + 1460: 2000 mov r0, #0 + 1462: 7008 strb r0, [r1, #0] + 1464: 495f ldr r1, =0x83ff0c ; via 0x15e4 + 1466: 4668 mov r0, sp + 1468: 7800 ldrb r0, [r0, #0] + 146a: 8008 strh r0, [r1, #0] + 146c: 495a ldr r1, =0x83ff10 ; via 0x15d8 + 146e: 2000 mov r0, #0 + 1470: 6008 str r0, [r1, #0] + 1472: 495d ldr r1, =0x83ff08 ; via 0x15e8 + 1474: 2001 mov r0, #1 + 1476: 6008 str r0, [r1, #0] + 1478: e059 b 0x152e + 147a: 4668 mov r0, sp + 147c: 7800 ldrb r0, [r0, #0] + 147e: 28aa cmp r0, #170 ; 0xaa + 1480: d113 bne 0x14aa + 1482: 4855 ldr r0, =0x83ff10 ; via 0x15d8 + 1484: 6800 ldr r0, [r0, #0] + 1486: 2800 cmp r0, #0 + 1488: d00b beq 0x14a2 + 148a: 4954 ldr r1, =0x83ff04 ; via 0x15dc + 148c: 6808 ldr r0, [r1, #0] + 148e: 1c42 add r2, r0, #1 + 1490: 600a str r2, [r1, #0] + 1492: 4669 mov r1, sp + 1494: 7809 ldrb r1, [r1, #0] + 1496: 7001 strb r1, [r0, #0] + 1498: 4951 ldr r1, =0x83ff0e ; via 0x15e0 + 149a: 7808 ldrb r0, [r1, #0] + 149c: 3001 add r0, #1 + 149e: 7008 strb r0, [r1, #0] + 14a0: e013 b 0x14ca + 14a2: 2101 mov r1, #1 + 14a4: 484c ldr r0, =0x83ff10 ; via 0x15d8 + 14a6: 6001 str r1, [r0, #0] + 14a8: e01c b 0x14e4 + 14aa: 484b ldr r0, =0x83ff10 ; via 0x15d8 + 14ac: 6800 ldr r0, [r0, #0] + 14ae: 2800 cmp r0, #0 + 14b0: d00d beq 0x14ce + 14b2: 494a ldr r1, =0x83ff04 ; via 0x15dc + 14b4: 9801 ldr r0, [sp, #4] + 14b6: 3001 add r0, #1 + 14b8: 6008 str r0, [r1, #0] + 14ba: 4849 ldr r0, =0x83ff0e ; via 0x15e0 + 14bc: 2100 mov r1, #0 + 14be: 7001 strb r1, [r0, #0] + 14c0: 4948 ldr r1, =0x83ff0c ; via 0x15e4 + 14c2: 4668 mov r0, sp + 14c4: 7800 ldrb r0, [r0, #0] + 14c6: 3001 add r0, #1 + 14c8: 8008 strh r0, [r1, #0] + 14ca: 2100 mov r1, #0 + 14cc: e7ea b 0x14a4 + 14ce: 4843 ldr r0, =0x83ff04 ; via 0x15dc + 14d0: 6801 ldr r1, [r0, #0] + 14d2: 1c4a add r2, r1, #1 + 14d4: 6002 str r2, [r0, #0] + 14d6: 4668 mov r0, sp + 14d8: 7800 ldrb r0, [r0, #0] + 14da: 7008 strb r0, [r1, #0] + 14dc: 4940 ldr r1, =0x83ff0e ; via 0x15e0 + 14de: 7808 ldrb r0, [r1, #0] + 14e0: 3001 add r0, #1 + 14e2: 7008 strb r0, [r1, #0] + 14e4: 483f ldr r0, =0x83ff0c ; via 0x15e4 + 14e6: 8801 ldrh r1, [r0, #0] + 14e8: 3901 sub r1, #1 + 14ea: 8001 strh r1, [r0, #0] + 14ec: 483d ldr r0, =0x83ff0c ; via 0x15e4 + 14ee: 8800 ldrh r0, [r0, #0] + 14f0: 2800 cmp r0, #0 + 14f2: d11c bne 0x152e + 14f4: 9901 ldr r1, [sp, #4] + 14f6: 483a ldr r0, =0x83ff0e ; via 0x15e0 + 14f8: 7800 ldrb r0, [r0, #0] + 14fa: 7008 strb r0, [r1, #0] + 14fc: 2001 mov r0, #1 + 14fe: 9002 str r0, [sp, #8] + 1500: 4839 ldr r0, =0x83ff08 ; via 0x15e8 + 1502: 2100 mov r1, #0 + 1504: 6001 str r1, [r0, #0] + 1506: 4834 ldr r0, =0x83ff10 ; via 0x15d8 + 1508: 6001 str r1, [r0, #0] + 150a: 9801 ldr r0, [sp, #4] + 150c: 7800 ldrb r0, [r0, #0] + 150e: 2801 cmp r0, #1 + 1510: d10d bne 0x152e + 1512: 9801 ldr r0, [sp, #4] + 1514: 7840 ldrb r0, [r0, #1] + 1516: 28dd cmp r0, #221 ; 0xdd + 1518: d109 bne 0x152e + 151a: f7ff fb03 bl 0xb24 + 151e: e006 b 0x152e + 1520: 4831 ldr r0, =0x83ff08 ; via 0x15e8 + 1522: 6800 ldr r0, [r0, #0] + 1524: 2800 cmp r0, #0 + 1526: d087 beq 0x1438 + 1528: 3801 sub r0, #1 + 152a: 2800 cmp r0, #0 + 152c: d0a5 beq 0x147a + 152e: 9802 ldr r0, [sp, #8] + 1530: b003 add sp, #12 ; 0xc + 1532: bd00 pop {pc} + 1534: b086 sub sp, #24 ; 0x18 + 1536: 9202 str r2, [sp, #8] + 1538: 9101 str r1, [sp, #4] + 153a: 9000 str r0, [sp, #0] + 153c: 9801 ldr r0, [sp, #4] + 153e: 3001 add r0, #1 + 1540: 9004 str r0, [sp, #16] ; 0x10 + 1542: 9800 ldr r0, [sp, #0] + 1544: 1c41 add r1, r0, #1 + 1546: 9100 str r1, [sp, #0] + 1548: 9005 str r0, [sp, #20] ; 0x14 + 154a: 9901 ldr r1, [sp, #4] + 154c: 20aa mov r0, #170 ; 0xaa + 154e: 7008 strb r0, [r1, #0] + 1550: 9801 ldr r0, [sp, #4] + 1552: 3002 add r0, #2 + 1554: 9001 str r0, [sp, #4] + 1556: 9902 ldr r1, [sp, #8] + 1558: 2000 mov r0, #0 + 155a: 8008 strh r0, [r1, #0] + 155c: 4669 mov r1, sp + 155e: 8188 strh r0, [r1, #12] ; 0xc + 1560: 4668 mov r0, sp + 1562: 8981 ldrh r1, [r0, #12] ; 0xc + 1564: 9805 ldr r0, [sp, #20] ; 0x14 + 1566: 7800 ldrb r0, [r0, #0] + 1568: 4281 cmp r1, r0 + 156a: da23 bge 0x15b4 + 156c: 9800 ldr r0, [sp, #0] + 156e: 7800 ldrb r0, [r0, #0] + 1570: 28aa cmp r0, #170 ; 0xaa + 1572: d108 bne 0x1586 + 1574: 9801 ldr r0, [sp, #4] + 1576: 1c41 add r1, r0, #1 + 1578: 9101 str r1, [sp, #4] + 157a: 21aa mov r1, #170 ; 0xaa + 157c: 7001 strb r1, [r0, #0] + 157e: 9902 ldr r1, [sp, #8] + 1580: 8808 ldrh r0, [r1, #0] + 1582: 3001 add r0, #1 + 1584: 8008 strh r0, [r1, #0] + 1586: 9800 ldr r0, [sp, #0] + 1588: 7801 ldrb r1, [r0, #0] + 158a: 3001 add r0, #1 + 158c: 9000 str r0, [sp, #0] + 158e: 9801 ldr r0, [sp, #4] + 1590: 1c42 add r2, r0, #1 + 1592: 9201 str r2, [sp, #4] + 1594: 7001 strb r1, [r0, #0] + 1596: 9902 ldr r1, [sp, #8] + 1598: 8808 ldrh r0, [r1, #0] + 159a: 3001 add r0, #1 + 159c: 8008 strh r0, [r1, #0] + 159e: 4669 mov r1, sp + 15a0: 4668 mov r0, sp + 15a2: 8980 ldrh r0, [r0, #12] ; 0xc + 15a4: 3001 add r0, #1 + 15a6: 8188 strh r0, [r1, #12] ; 0xc + 15a8: 4668 mov r0, sp + 15aa: 8980 ldrh r0, [r0, #12] ; 0xc + 15ac: 9905 ldr r1, [sp, #20] ; 0x14 + 15ae: 7809 ldrb r1, [r1, #0] + 15b0: 4288 cmp r0, r1 + 15b2: dbdb blt 0x156c + 15b4: 9904 ldr r1, [sp, #16] ; 0x10 + 15b6: 9802 ldr r0, [sp, #8] + 15b8: 7800 ldrb r0, [r0, #0] + 15ba: 7008 strb r0, [r1, #0] + 15bc: 9902 ldr r1, [sp, #8] + 15be: 8808 ldrh r0, [r1, #0] + 15c0: 3002 add r0, #2 + 15c2: 8008 strh r0, [r1, #0] + 15c4: b006 add sp, #24 ; 0x18 + 15c6: 4770 bx lr + 15c8: 4907 ldr r1, =0x83ff08 ; via 0x15e8 + 15ca: 2000 mov r0, #0 + 15cc: 6008 str r0, [r1, #0] + 15ce: 4802 ldr r0, =0x83ff10 ; via 0x15d8 + 15d0: 2100 mov r1, #0 + 15d2: 6001 str r1, [r0, #0] + 15d4: 4770 bx lr + 15d6: 46c0 nop (mov r8, r8) + 15d8: ff10 + 15da: 0083 lsl r3, r0, #2 + 15dc: ff04 + 15de: 0083 lsl r3, r0, #2 + 15e0: ff0e + 15e2: 0083 lsl r3, r0, #2 + 15e4: ff0c + 15e6: 0083 lsl r3, r0, #2 + 15e8: ff08 + 15ea: 0083 lsl r3, r0, #2 + 15ec: b082 sub sp, #8 + 15ee: 9101 str r1, [sp, #4] + 15f0: 9000 str r0, [sp, #0] + 15f2: 9901 ldr r1, [sp, #4] + 15f4: 2000 mov r0, #0 + 15f6: 7008 strb r0, [r1, #0] + 15f8: 9801 ldr r0, [sp, #4] + 15fa: 2100 mov r1, #0 + 15fc: 7041 strb r1, [r0, #1] + 15fe: 9801 ldr r0, [sp, #4] + 1600: 2102 mov r1, #2 + 1602: 7101 strb r1, [r0, #4] + 1604: 9801 ldr r0, [sp, #4] + 1606: 2106 mov r1, #6 + 1608: 7141 strb r1, [r0, #5] + 160a: 9801 ldr r0, [sp, #4] + 160c: 2102 mov r1, #2 + 160e: 7181 strb r1, [r0, #6] + 1610: b002 add sp, #8 + 1612: 4770 bx lr + 1614: b500 push {lr} + 1616: b084 sub sp, #16 ; 0x10 + 1618: 466b mov r3, sp + 161a: 721a strb r2, [r3, #8] + 161c: 9101 str r1, [sp, #4] + 161e: 9000 str r0, [sp, #0] + 1620: 9901 ldr r1, [sp, #4] + 1622: 2009 mov r0, #9 + 1624: 7008 strb r0, [r1, #0] + 1626: e015 b 0x1654 + 1628: 9801 ldr r0, [sp, #4] + 162a: 2100 mov r1, #0 + 162c: 7041 strb r1, [r0, #1] + 162e: 9901 ldr r1, [sp, #4] + 1630: 4668 mov r0, sp + 1632: 8940 ldrh r0, [r0, #10] ; 0xa + 1634: 8088 strh r0, [r1, #4] + 1636: 9901 ldr r1, [sp, #4] + 1638: 4668 mov r0, sp + 163a: 8980 ldrh r0, [r0, #12] ; 0xc + 163c: 80c8 strh r0, [r1, #6] + 163e: e01e b 0x167e + 1640: 2101 mov r1, #1 + 1642: e004 b 0x164e + 1644: 2103 mov r1, #3 + 1646: e002 b 0x164e + 1648: 2105 mov r1, #5 + 164a: e000 b 0x164e + 164c: 2106 mov r1, #6 + 164e: 9801 ldr r0, [sp, #4] + 1650: 7041 strb r1, [r0, #1] + 1652: e014 b 0x167e + 1654: 200a mov r0, #10 ; 0xa + 1656: 4468 add r0, sp + 1658: a903 add r1, sp, #12 ; 0xc + 165a: 466a mov r2, sp + 165c: 7a12 ldrb r2, [r2, #8] + 165e: f000 fb71 bl 0x1d44 + 1662: 2800 cmp r0, #0 + 1664: d0e0 beq 0x1628 + 1666: 3801 sub r0, #1 + 1668: 2800 cmp r0, #0 + 166a: d0e9 beq 0x1640 + 166c: 3801 sub r0, #1 + 166e: 2800 cmp r0, #0 + 1670: d0e8 beq 0x1644 + 1672: 3801 sub r0, #1 + 1674: 2800 cmp r0, #0 + 1676: d0e7 beq 0x1648 + 1678: 3801 sub r0, #1 + 167a: 2800 cmp r0, #0 + 167c: d0e6 beq 0x164c + 167e: b004 add sp, #16 ; 0x10 + 1680: bd00 pop {pc} + 1682: b084 sub sp, #16 ; 0x10 + 1684: 9101 str r1, [sp, #4] + 1686: 9000 str r0, [sp, #0] + 1688: 9901 ldr r1, [sp, #4] + 168a: 200a mov r0, #10 ; 0xa + 168c: 7008 strb r0, [r1, #0] + 168e: 9801 ldr r0, [sp, #4] + 1690: 2100 mov r1, #0 + 1692: 7041 strb r1, [r0, #1] + 1694: 4669 mov r1, sp + 1696: 9800 ldr r0, [sp, #0] + 1698: 8880 ldrh r0, [r0, #4] + 169a: 8108 strh r0, [r1, #8] + 169c: 9800 ldr r0, [sp, #0] + 169e: 88c0 ldrh r0, [r0, #6] + 16a0: 8148 strh r0, [r1, #10] ; 0xa + 16a2: 4668 mov r0, sp + 16a4: 8941 ldrh r1, [r0, #10] ; 0xa + 16a6: 8900 ldrh r0, [r0, #8] + 16a8: 0400 lsl r0, r0, #16 + 16aa: 1808 add r0, r1, r0 + 16ac: 9003 str r0, [sp, #12] ; 0xc + 16ae: 9803 ldr r0, [sp, #12] ; 0xc + 16b0: b004 add sp, #16 ; 0x10 + 16b2: 4770 bx lr + 16b4: b085 sub sp, #20 ; 0x14 + 16b6: 9303 str r3, [sp, #12] ; 0xc + 16b8: 9202 str r2, [sp, #8] + 16ba: 9101 str r1, [sp, #4] + 16bc: 4669 mov r1, sp + 16be: 7008 strb r0, [r1, #0] + 16c0: 48ea ldr r0, =0x83ff19 ; via 0x1a6c + 16c2: 7809 ldrb r1, [r1, #0] + 16c4: 7802 ldrb r2, [r0, #0] + 16c6: 1889 add r1, r1, r2 + 16c8: 7001 strb r1, [r0, #0] + 16ca: 48e9 ldr r0, =0x83ff1a ; via 0x1a70 + 16cc: 7800 ldrb r0, [r0, #0] + 16ce: 2800 cmp r0, #0 + 16d0: d00e beq 0x16f0 + 16d2: 48e8 ldr r0, =0x83ff26 ; via 0x1a74 + 16d4: 4669 mov r1, sp + 16d6: 780a ldrb r2, [r1, #0] + 16d8: 8801 ldrh r1, [r0, #0] + 16da: 1851 add r1, r2, r1 + 16dc: 8001 strh r1, [r0, #0] + 16de: 9903 ldr r1, [sp, #12] ; 0xc + 16e0: 48e4 ldr r0, =0x83ff26 ; via 0x1a74 + 16e2: 8800 ldrh r0, [r0, #0] + 16e4: 8008 strh r0, [r1, #0] + 16e6: 9801 ldr r0, [sp, #4] + 16e8: 2100 mov r1, #0 + 16ea: 6001 str r1, [r0, #0] + 16ec: 2000 mov r0, #0 + 16ee: e009 b 0x1704 + 16f0: 9902 ldr r1, [sp, #8] + 16f2: 6808 ldr r0, [r1, #0] + 16f4: 3002 add r0, #2 + 16f6: 6008 str r0, [r1, #0] + 16f8: 49de ldr r1, =0x83ff26 ; via 0x1a74 + 16fa: 4668 mov r0, sp + 16fc: 7800 ldrb r0, [r0, #0] + 16fe: 0200 lsl r0, r0, #8 + 1700: 8008 strh r0, [r1, #0] + 1702: 2001 mov r0, #1 + 1704: 9004 str r0, [sp, #16] ; 0x10 + 1706: 2001 mov r0, #1 + 1708: 49d9 ldr r1, =0x83ff1a ; via 0x1a70 + 170a: 7809 ldrb r1, [r1, #0] + 170c: 4388 bic r0, r1 + 170e: 49d8 ldr r1, =0x83ff1a ; via 0x1a70 + 1710: 7008 strb r0, [r1, #0] + 1712: 48d9 ldr r0, =0x83ff24 ; via 0x1a78 + 1714: 7801 ldrb r1, [r0, #0] + 1716: 3901 sub r1, #1 + 1718: 7001 strb r1, [r0, #0] + 171a: 48d7 ldr r0, =0x83ff24 ; via 0x1a78 + 171c: 7800 ldrb r0, [r0, #0] + 171e: 2800 cmp r0, #0 + 1720: d102 bne 0x1728 + 1722: 48d6 ldr r0, =0x83ff20 ; via 0x1a7c + 1724: 2106 mov r1, #6 + 1726: 6001 str r1, [r0, #0] + 1728: 9804 ldr r0, [sp, #16] ; 0x10 + 172a: b005 add sp, #20 ; 0x14 + 172c: 46f7 mov pc, lr + 172e: b083 sub sp, #12 ; 0xc + 1730: 9101 str r1, [sp, #4] + 1732: 4669 mov r1, sp + 1734: 7008 strb r0, [r1, #0] + 1736: 2001 mov r0, #1 + 1738: 9002 str r0, [sp, #8] + 173a: 48d1 ldr r0, =0x83ff1b ; via 0x1a80 + 173c: 7800 ldrb r0, [r0, #0] + 173e: 2800 cmp r0, #0 + 1740: d10a bne 0x1758 + 1742: 4668 mov r0, sp + 1744: 7800 ldrb r0, [r0, #0] + 1746: 2853 cmp r0, #83 ; 0x53 + 1748: d102 bne 0x1750 + 174a: 48cd ldr r0, =0x83ff1b ; via 0x1a80 + 174c: 2101 mov r1, #1 + 174e: e01a b 0x1786 + 1750: 2101 mov r1, #1 + 1752: 9801 ldr r0, [sp, #4] + 1754: 6001 str r1, [r0, #0] + 1756: e03b b 0x17d0 + 1758: 49c9 ldr r1, =0x83ff1b ; via 0x1a80 + 175a: 2000 mov r0, #0 + 175c: 7008 strb r0, [r1, #0] + 175e: 4668 mov r0, sp + 1760: 7800 ldrb r0, [r0, #0] + 1762: 2830 cmp r0, #48 ; 0x30 + 1764: d111 bne 0x178a + 1766: 48c7 ldr r0, =0x83ff18 ; via 0x1a84 + 1768: 7800 ldrb r0, [r0, #0] + 176a: 2800 cmp r0, #0 + 176c: d006 beq 0x177c + 176e: 9901 ldr r1, [sp, #4] + 1770: 2001 mov r0, #1 + 1772: 6008 str r0, [r1, #0] + 1774: 49c3 ldr r1, =0x83ff18 ; via 0x1a84 + 1776: 2000 mov r0, #0 + 1778: 7008 strb r0, [r1, #0] + 177a: e02a b 0x17d2 + 177c: 48bf ldr r0, =0x83ff20 ; via 0x1a7c + 177e: 2102 mov r1, #2 + 1780: 6001 str r1, [r0, #0] + 1782: 48ef ldr r0, =0x83ff1c ; via 0x1b40 + 1784: 2100 mov r1, #0 + 1786: 7001 strb r1, [r0, #0] + 1788: e024 b 0x17d4 + 178a: 4668 mov r0, sp + 178c: 7800 ldrb r0, [r0, #0] + 178e: 2833 cmp r0, #51 ; 0x33 + 1790: d105 bne 0x179e + 1792: 48bc ldr r0, =0x83ff18 ; via 0x1a84 + 1794: 7800 ldrb r0, [r0, #0] + 1796: 2800 cmp r0, #0 + 1798: d0da beq 0x1750 + 179a: 2004 mov r0, #4 + 179c: e00c b 0x17b8 + 179e: 4668 mov r0, sp + 17a0: 7800 ldrb r0, [r0, #0] + 17a2: 2837 cmp r0, #55 ; 0x37 + 17a4: d10e bne 0x17c4 + 17a6: 48b7 ldr r0, =0x83ff18 ; via 0x1a84 + 17a8: 7800 ldrb r0, [r0, #0] + 17aa: 2800 cmp r0, #0 + 17ac: d103 bne 0x17b6 + 17ae: 9901 ldr r1, [sp, #4] + 17b0: 2001 mov r0, #1 + 17b2: 6008 str r0, [r1, #0] + 17b4: e00c b 0x17d0 + 17b6: 2003 mov r0, #3 + 17b8: 49b0 ldr r1, =0x83ff20 ; via 0x1a7c + 17ba: 6008 str r0, [r1, #0] + 17bc: 2000 mov r0, #0 + 17be: 49e0 ldr r1, =0x83ff1c ; via 0x1b40 + 17c0: 7008 strb r0, [r1, #0] + 17c2: e007 b 0x17d4 + 17c4: 9901 ldr r1, [sp, #4] + 17c6: 2001 mov r0, #1 + 17c8: 6008 str r0, [r1, #0] + 17ca: 48ae ldr r0, =0x83ff18 ; via 0x1a84 + 17cc: 2100 mov r1, #0 + 17ce: 7001 strb r1, [r0, #0] + 17d0: 2000 mov r0, #0 + 17d2: 9002 str r0, [sp, #8] + 17d4: 9802 ldr r0, [sp, #8] + 17d6: b003 add sp, #12 ; 0xc + 17d8: 46f7 mov pc, lr + 17da: b083 sub sp, #12 ; 0xc + 17dc: 9101 str r1, [sp, #4] + 17de: 4669 mov r1, sp + 17e0: 7008 strb r0, [r1, #0] + 17e2: 2001 mov r0, #1 + 17e4: 9002 str r0, [sp, #8] + 17e6: 49d7 ldr r1, =0x830 ; via 0x1b44 + 17e8: 48d5 ldr r0, =0x83ff1c ; via 0x1b40 + 17ea: 7800 ldrb r0, [r0, #0] + 17ec: 0080 lsl r0, r0, #2 + 17ee: 5808 ldr r0, [r1, r0] + 17f0: 4669 mov r1, sp + 17f2: 7809 ldrb r1, [r1, #0] + 17f4: 4281 cmp r1, r0 + 17f6: d10d bne 0x1814 + 17f8: 49d1 ldr r1, =0x83ff1c ; via 0x1b40 + 17fa: 7808 ldrb r0, [r1, #0] + 17fc: 3001 add r0, #1 + 17fe: 7008 strb r0, [r1, #0] + 1800: 48cf ldr r0, =0x83ff1c ; via 0x1b40 + 1802: 7800 ldrb r0, [r0, #0] + 1804: 2807 cmp r0, #7 + 1806: d10d bne 0x1824 + 1808: 489c ldr r0, =0x83ff20 ; via 0x1a7c + 180a: 2101 mov r1, #1 + 180c: 6001 str r1, [r0, #0] + 180e: 489d ldr r0, =0x83ff18 ; via 0x1a84 + 1810: 7001 strb r1, [r0, #0] + 1812: e007 b 0x1824 + 1814: 9801 ldr r0, [sp, #4] + 1816: 2101 mov r1, #1 + 1818: 6001 str r1, [r0, #0] + 181a: 4998 ldr r1, =0x83ff20 ; via 0x1a7c + 181c: 2001 mov r0, #1 + 181e: 6008 str r0, [r1, #0] + 1820: 2000 mov r0, #0 + 1822: 9002 str r0, [sp, #8] + 1824: 9802 ldr r0, [sp, #8] + 1826: b003 add sp, #12 ; 0xc + 1828: 46f7 mov pc, lr + 182a: b083 sub sp, #12 ; 0xc + 182c: 9101 str r1, [sp, #4] + 182e: 4669 mov r1, sp + 1830: 7008 strb r0, [r1, #0] + 1832: 2001 mov r0, #1 + 1834: 9002 str r0, [sp, #8] + 1836: 49c4 ldr r1, =0x84c ; via 0x1b48 + 1838: 48c1 ldr r0, =0x83ff1c ; via 0x1b40 + 183a: 7800 ldrb r0, [r0, #0] + 183c: 0080 lsl r0, r0, #2 + 183e: 5808 ldr r0, [r1, r0] + 1840: 4669 mov r1, sp + 1842: 7809 ldrb r1, [r1, #0] + 1844: 4281 cmp r1, r0 + 1846: d112 bne 0x186e + 1848: 49bd ldr r1, =0x83ff1c ; via 0x1b40 + 184a: 7808 ldrb r0, [r1, #0] + 184c: 3001 add r0, #1 + 184e: 7008 strb r0, [r1, #0] + 1850: 48bb ldr r0, =0x83ff1c ; via 0x1b40 + 1852: 7800 ldrb r0, [r0, #0] + 1854: 2806 cmp r0, #6 + 1856: d114 bne 0x1882 + 1858: 9801 ldr r0, [sp, #4] + 185a: 2102 mov r1, #2 + 185c: 6001 str r1, [r0, #0] + 185e: 4887 ldr r0, =0x83ff20 ; via 0x1a7c + 1860: 2101 mov r1, #1 + 1862: 6001 str r1, [r0, #0] + 1864: 4887 ldr r0, =0x83ff18 ; via 0x1a84 + 1866: 2100 mov r1, #0 + 1868: 7001 strb r1, [r0, #0] + 186a: 2000 mov r0, #0 + 186c: e008 b 0x1880 + 186e: 9801 ldr r0, [sp, #4] + 1870: 2101 mov r1, #1 + 1872: 6001 str r1, [r0, #0] + 1874: 4981 ldr r1, =0x83ff20 ; via 0x1a7c + 1876: 2001 mov r0, #1 + 1878: 6008 str r0, [r1, #0] + 187a: 4982 ldr r1, =0x83ff18 ; via 0x1a84 + 187c: 2000 mov r0, #0 + 187e: 7008 strb r0, [r1, #0] + 1880: 9002 str r0, [sp, #8] + 1882: 9802 ldr r0, [sp, #8] + 1884: b003 add sp, #12 ; 0xc + 1886: 46f7 mov pc, lr + 1888: b081 sub sp, #4 + 188a: 4669 mov r1, sp + 188c: 7008 strb r0, [r1, #0] + 188e: 497a ldr r1, =0x83ff24 ; via 0x1a78 + 1890: 4668 mov r0, sp + 1892: 7800 ldrb r0, [r0, #0] + 1894: 3801 sub r0, #1 + 1896: 7008 strb r0, [r1, #0] + 1898: 4874 ldr r0, =0x83ff19 ; via 0x1a6c + 189a: 4669 mov r1, sp + 189c: 7809 ldrb r1, [r1, #0] + 189e: 7001 strb r1, [r0, #0] + 18a0: 48a7 ldr r0, =0x83ff1c ; via 0x1b40 + 18a2: 2100 mov r1, #0 + 18a4: 7001 strb r1, [r0, #0] + 18a6: 48e3 ldr r0, =0x83ff14 ; via 0x1c34 + 18a8: 6001 str r1, [r0, #0] + 18aa: 4874 ldr r0, =0x83ff20 ; via 0x1a7c + 18ac: 2105 mov r1, #5 + 18ae: 6001 str r1, [r0, #0] + 18b0: b001 add sp, #4 + 18b2: 46f7 mov pc, lr + 18b4: b084 sub sp, #16 ; 0x10 + 18b6: 9202 str r2, [sp, #8] + 18b8: 9101 str r1, [sp, #4] + 18ba: 4669 mov r1, sp + 18bc: 7008 strb r0, [r1, #0] + 18be: 2001 mov r0, #1 + 18c0: 9003 str r0, [sp, #12] ; 0xc + 18c2: 496d ldr r1, =0x83ff24 ; via 0x1a78 + 18c4: 7808 ldrb r0, [r1, #0] + 18c6: 3801 sub r0, #1 + 18c8: 7008 strb r0, [r1, #0] + 18ca: 486b ldr r0, =0x83ff24 ; via 0x1a78 + 18cc: 7800 ldrb r0, [r0, #0] + 18ce: 2800 cmp r0, #0 + 18d0: d026 beq 0x1920 + 18d2: 4866 ldr r0, =0x83ff19 ; via 0x1a6c + 18d4: 4669 mov r1, sp + 18d6: 780a ldrb r2, [r1, #0] + 18d8: 7801 ldrb r1, [r0, #0] + 18da: 1851 add r1, r2, r1 + 18dc: 7001 strb r1, [r0, #0] + 18de: 4998 ldr r1, =0x83ff1c ; via 0x1b40 + 18e0: 7808 ldrb r0, [r1, #0] + 18e2: 3001 add r0, #1 + 18e4: 7008 strb r0, [r1, #0] + 18e6: 49d3 ldr r1, =0x83ff14 ; via 0x1c34 + 18e8: 2204 mov r2, #4 + 18ea: 4895 ldr r0, =0x83ff1c ; via 0x1b40 + 18ec: 7800 ldrb r0, [r0, #0] + 18ee: 1a10 sub r0, r2, r0 + 18f0: 00c2 lsl r2, r0, #3 + 18f2: 4668 mov r0, sp + 18f4: 7800 ldrb r0, [r0, #0] + 18f6: 4090 lsl r0, r2 + 18f8: 680a ldr r2, [r1, #0] + 18fa: 1880 add r0, r0, r2 + 18fc: 6008 str r0, [r1, #0] + 18fe: 4890 ldr r0, =0x83ff1c ; via 0x1b40 + 1900: 7800 ldrb r0, [r0, #0] + 1902: 2804 cmp r0, #4 + 1904: d117 bne 0x1936 + 1906: 9902 ldr r1, [sp, #8] + 1908: 48ca ldr r0, =0x83ff14 ; via 0x1c34 + 190a: 6800 ldr r0, [r0, #0] + 190c: 3802 sub r0, #2 + 190e: 6008 str r0, [r1, #0] + 1910: 485a ldr r0, =0x83ff20 ; via 0x1a7c + 1912: 2100 mov r1, #0 + 1914: 6001 str r1, [r0, #0] + 1916: 4856 ldr r0, =0x83ff1a ; via 0x1a70 + 1918: 7001 strb r1, [r0, #0] + 191a: 4889 ldr r0, =0x83ff1c ; via 0x1b40 + 191c: 7001 strb r1, [r0, #0] + 191e: e00a b 0x1936 + 1920: 9801 ldr r0, [sp, #4] + 1922: 2101 mov r1, #1 + 1924: 6001 str r1, [r0, #0] + 1926: 4955 ldr r1, =0x83ff20 ; via 0x1a7c + 1928: 2001 mov r0, #1 + 192a: 6008 str r0, [r1, #0] + 192c: 4855 ldr r0, =0x83ff18 ; via 0x1a84 + 192e: 2100 mov r1, #0 + 1930: 7001 strb r1, [r0, #0] + 1932: 2000 mov r0, #0 + 1934: 9003 str r0, [sp, #12] ; 0xc + 1936: 9803 ldr r0, [sp, #12] ; 0xc + 1938: b004 add sp, #16 ; 0x10 + 193a: 46f7 mov pc, lr + 193c: b083 sub sp, #12 ; 0xc + 193e: 9101 str r1, [sp, #4] + 1940: 4669 mov r1, sp + 1942: 7008 strb r0, [r1, #0] + 1944: 2001 mov r0, #1 + 1946: 9002 str r0, [sp, #8] + 1948: 494c ldr r1, =0x83ff20 ; via 0x1a7c + 194a: 6008 str r0, [r1, #0] + 194c: 20ff mov r0, #255 ; 0xff + 194e: 4669 mov r1, sp + 1950: 7809 ldrb r1, [r1, #0] + 1952: 4388 bic r0, r1 + 1954: 4945 ldr r1, =0x83ff19 ; via 0x1a6c + 1956: 7809 ldrb r1, [r1, #0] + 1958: 4281 cmp r1, r0 + 195a: d007 beq 0x196c + 195c: 9801 ldr r0, [sp, #4] + 195e: 2101 mov r1, #1 + 1960: 6001 str r1, [r0, #0] + 1962: 4848 ldr r0, =0x83ff18 ; via 0x1a84 + 1964: 2100 mov r1, #0 + 1966: 7001 strb r1, [r0, #0] + 1968: 2000 mov r0, #0 + 196a: 9002 str r0, [sp, #8] + 196c: 9802 ldr r0, [sp, #8] + 196e: b003 add sp, #12 ; 0xc + 1970: 46f7 mov pc, lr + 1972: b085 sub sp, #20 ; 0x14 + 1974: 466b mov r3, sp + 1976: 719a strb r2, [r3, #6] + 1978: 466a mov r2, sp + 197a: 8091 strh r1, [r2, #4] + 197c: 9000 str r0, [sp, #0] + 197e: 9800 ldr r0, [sp, #0] + 1980: 9002 str r0, [sp, #8] + 1982: 4669 mov r1, sp + 1984: 4668 mov r0, sp + 1986: 8880 ldrh r0, [r0, #4] + 1988: 8208 strh r0, [r1, #16] ; 0x10 + 198a: 4668 mov r0, sp + 198c: 8a00 ldrh r0, [r0, #16] ; 0x10 + 198e: 2800 cmp r0, #0 + 1990: d01e beq 0x19d0 + 1992: 49e3 ldr r1, =0x864 ; via 0x1d20 + 1994: 4668 mov r0, sp + 1996: 7980 ldrb r0, [r0, #6] + 1998: 0080 lsl r0, r0, #2 + 199a: 5808 ldr r0, [r1, r0] + 199c: 7941 ldrb r1, [r0, #5] + 199e: 4668 mov r0, sp + 19a0: 7301 strb r1, [r0, #12] ; 0xc + 19a2: 7b00 ldrb r0, [r0, #12] ; 0xc + 19a4: 0980 lsr r0, r0, #6 + 19a6: d3f4 bcc 0x1992 + 19a8: 49dd ldr r1, =0x864 ; via 0x1d20 + 19aa: 4668 mov r0, sp + 19ac: 7980 ldrb r0, [r0, #6] + 19ae: 0080 lsl r0, r0, #2 + 19b0: 5809 ldr r1, [r1, r0] + 19b2: 9802 ldr r0, [sp, #8] + 19b4: 7800 ldrb r0, [r0, #0] + 19b6: 7008 strb r0, [r1, #0] + 19b8: 9802 ldr r0, [sp, #8] + 19ba: 3001 add r0, #1 + 19bc: 9002 str r0, [sp, #8] + 19be: 4669 mov r1, sp + 19c0: 4668 mov r0, sp + 19c2: 8a00 ldrh r0, [r0, #16] ; 0x10 + 19c4: 3801 sub r0, #1 + 19c6: 8208 strh r0, [r1, #16] ; 0x10 + 19c8: 4668 mov r0, sp + 19ca: 8a00 ldrh r0, [r0, #16] ; 0x10 + 19cc: 2800 cmp r0, #0 + 19ce: d1e0 bne 0x1992 + 19d0: b005 add sp, #20 ; 0x14 + 19d2: 46f7 mov pc, lr + 19d4: b082 sub sp, #8 + 19d6: 4669 mov r1, sp + 19d8: 7008 strb r0, [r1, #0] + 19da: 2000 mov r0, #0 + 19dc: 8088 strh r0, [r1, #4] + 19de: 4668 mov r0, sp + 19e0: 8881 ldrh r1, [r0, #4] + 19e2: 20ff mov r0, #255 ; 0xff + 19e4: 30f5 add r0, #245 ; 0xf5 + 19e6: 4281 cmp r1, r0 + 19e8: da21 bge 0x1a2e + 19ea: 4669 mov r1, sp + 19ec: 4668 mov r0, sp + 19ee: 8880 ldrh r0, [r0, #4] + 19f0: 3001 add r0, #1 + 19f2: 8088 strh r0, [r1, #4] + 19f4: 48ca ldr r0, =0x864 ; via 0x1d20 + 19f6: 7809 ldrb r1, [r1, #0] + 19f8: 0089 lsl r1, r1, #2 + 19fa: 5840 ldr r0, [r0, r1] + 19fc: 7940 ldrb r0, [r0, #5] + 19fe: 4669 mov r1, sp + 1a00: 7048 strb r0, [r1, #1] + 1a02: 4668 mov r0, sp + 1a04: 7840 ldrb r0, [r0, #1] + 1a06: 0840 lsr r0, r0, #1 + 1a08: d30b bcc 0x1a22 + 1a0a: 49c5 ldr r1, =0x864 ; via 0x1d20 + 1a0c: 4668 mov r0, sp + 1a0e: 7800 ldrb r0, [r0, #0] + 1a10: 0080 lsl r0, r0, #2 + 1a12: 5808 ldr r0, [r1, r0] + 1a14: 7800 ldrb r0, [r0, #0] + 1a16: 0600 lsl r0, r0, #24 + 1a18: 0e00 lsr r0, r0, #24 + 1a1a: 4669 mov r1, sp + 1a1c: 7088 strb r0, [r1, #2] + 1a1e: 2000 mov r0, #0 + 1a20: 8088 strh r0, [r1, #4] + 1a22: 4668 mov r0, sp + 1a24: 8881 ldrh r1, [r0, #4] + 1a26: 20ff mov r0, #255 ; 0xff + 1a28: 30f5 add r0, #245 ; 0xf5 + 1a2a: 4281 cmp r1, r0 + 1a2c: dbdd blt 0x19ea + 1a2e: b002 add sp, #8 + 1a30: 4770 bx lr + 1a32: b500 push {lr} + 1a34: b08c sub sp, #48 ; 0x30 + 1a36: 466a mov r2, sp + 1a38: 7111 strb r1, [r2, #4] + 1a3a: 9000 str r0, [sp, #0] + 1a3c: 2001 mov r0, #1 + 1a3e: 9002 str r0, [sp, #8] + 1a40: 9800 ldr r0, [sp, #0] + 1a42: a904 add r1, sp, #16 ; 0x10 + 1a44: aa03 add r2, sp, #12 ; 0xc + 1a46: f7ff fd75 bl 0x1534 + 1a4a: 4668 mov r0, sp + 1a4c: 8980 ldrh r0, [r0, #12] ; 0xc + 1a4e: 2820 cmp r0, #32 ; 0x20 + 1a50: dd02 ble 0x1a58 + 1a52: 2000 mov r0, #0 + 1a54: 9002 str r0, [sp, #8] + 1a56: e006 b 0x1a66 + 1a58: a804 add r0, sp, #16 ; 0x10 + 1a5a: 4669 mov r1, sp + 1a5c: 8989 ldrh r1, [r1, #12] ; 0xc + 1a5e: 466a mov r2, sp + 1a60: 7912 ldrb r2, [r2, #4] + 1a62: f7ff ff86 bl 0x1972 + 1a66: 9802 ldr r0, [sp, #8] + 1a68: b00c add sp, #48 ; 0x30 + 1a6a: bd00 pop {pc} + 1a6c: ff19 + 1a6e: 0083 lsl r3, r0, #2 + 1a70: ff1a + 1a72: 0083 lsl r3, r0, #2 + 1a74: ff26 + 1a76: 0083 lsl r3, r0, #2 + 1a78: ff24 + 1a7a: 0083 lsl r3, r0, #2 + 1a7c: ff20 + 1a7e: 0083 lsl r3, r0, #2 + 1a80: ff1b + 1a82: 0083 lsl r3, r0, #2 + 1a84: ff18 + 1a86: 0083 lsl r3, r0, #2 + 1a88: b500 push {lr} + 1a8a: b084 sub sp, #16 ; 0x10 + 1a8c: 9101 str r1, [sp, #4] + 1a8e: 9000 str r0, [sp, #0] + 1a90: 4669 mov r1, sp + 1a92: 20ff mov r0, #255 ; 0xff + 1a94: 7308 strb r0, [r1, #12] ; 0xc + 1a96: 2000 mov r0, #0 + 1a98: 9002 str r0, [sp, #8] + 1a9a: 4669 mov r1, sp + 1a9c: 48a1 ldr r0, =0xffff5805 ; via 0x1d24 + 1a9e: 7800 ldrb r0, [r0, #0] + 1aa0: 7348 strb r0, [r1, #13] ; 0xd + 1aa2: 48a1 ldr r0, =0xffff5005 ; via 0x1d28 + 1aa4: 7800 ldrb r0, [r0, #0] + 1aa6: 7388 strb r0, [r1, #14] ; 0xe + 1aa8: 4668 mov r0, sp + 1aaa: 7b40 ldrb r0, [r0, #13] ; 0xd + 1aac: 0840 lsr r0, r0, #1 + 1aae: d206 bcs 0x1abe + 1ab0: 4668 mov r0, sp + 1ab2: 7b80 ldrb r0, [r0, #14] ; 0xe + 1ab4: 0840 lsr r0, r0, #1 + 1ab6: d202 bcs 0x1abe + 1ab8: 9801 ldr r0, [sp, #4] + 1aba: 2800 cmp r0, #0 + 1abc: d0ed beq 0x1a9a + 1abe: 4668 mov r0, sp + 1ac0: 7b40 ldrb r0, [r0, #13] ; 0xd + 1ac2: 0840 lsr r0, r0, #1 + 1ac4: d316 bcc 0x1af4 + 1ac6: 4669 mov r1, sp + 1ac8: 2000 mov r0, #0 + 1aca: 7308 strb r0, [r1, #12] ; 0xc + 1acc: 4994 ldr r1, =0x864 ; via 0x1d20 + 1ace: 4668 mov r0, sp + 1ad0: 7b00 ldrb r0, [r0, #12] ; 0xc + 1ad2: 0080 lsl r0, r0, #2 + 1ad4: 5808 ldr r0, [r1, r0] + 1ad6: 7800 ldrb r0, [r0, #0] + 1ad8: 0600 lsl r0, r0, #24 + 1ada: 0e00 lsr r0, r0, #24 + 1adc: 4669 mov r1, sp + 1ade: 73c8 strb r0, [r1, #15] ; 0xf + 1ae0: 4668 mov r0, sp + 1ae2: 7bc0 ldrb r0, [r0, #15] ; 0xf + 1ae4: 9900 ldr r1, [sp, #0] + 1ae6: f7ff fc9f bl 0x1428 + 1aea: 9002 str r0, [sp, #8] + 1aec: 9802 ldr r0, [sp, #8] + 1aee: 2800 cmp r0, #0 + 1af0: d11c bne 0x1b2c + 1af2: e018 b 0x1b26 + 1af4: 4668 mov r0, sp + 1af6: 7b80 ldrb r0, [r0, #14] ; 0xe + 1af8: 0840 lsr r0, r0, #1 + 1afa: d317 bcc 0x1b2c + 1afc: 4669 mov r1, sp + 1afe: 2001 mov r0, #1 + 1b00: 7308 strb r0, [r1, #12] ; 0xc + 1b02: 4987 ldr r1, =0x864 ; via 0x1d20 + 1b04: 4668 mov r0, sp + 1b06: 7b00 ldrb r0, [r0, #12] ; 0xc + 1b08: 0080 lsl r0, r0, #2 + 1b0a: 5808 ldr r0, [r1, r0] + 1b0c: 7800 ldrb r0, [r0, #0] + 1b0e: 0600 lsl r0, r0, #24 + 1b10: 0e01 lsr r1, r0, #24 + 1b12: 4668 mov r0, sp + 1b14: 73c1 strb r1, [r0, #15] ; 0xf + 1b16: 7bc0 ldrb r0, [r0, #15] ; 0xf + 1b18: 9900 ldr r1, [sp, #0] + 1b1a: f7ff fc85 bl 0x1428 + 1b1e: 9002 str r0, [sp, #8] + 1b20: 9802 ldr r0, [sp, #8] + 1b22: 2800 cmp r0, #0 + 1b24: d102 bne 0x1b2c + 1b26: 20ff mov r0, #255 ; 0xff + 1b28: 4669 mov r1, sp + 1b2a: 7308 strb r0, [r1, #12] ; 0xc + 1b2c: 9802 ldr r0, [sp, #8] + 1b2e: 2800 cmp r0, #0 + 1b30: d102 bne 0x1b38 + 1b32: 9801 ldr r0, [sp, #4] + 1b34: 2800 cmp r0, #0 + 1b36: d0b0 beq 0x1a9a + 1b38: 4668 mov r0, sp + 1b3a: 7b00 ldrb r0, [r0, #12] ; 0xc + 1b3c: b004 add sp, #16 ; 0x10 + 1b3e: bd00 pop {pc} + 1b40: ff1c + 1b42: 0083 lsl r3, r0, #2 + 1b44: 0830 lsr r0, r6, #32 + 1b46: 0000 lsl r0, r0, #0 + 1b48: 084c lsr r4, r1, #1 + 1b4a: 0000 lsl r0, r0, #0 + 1b4c: b500 push {lr} + 1b4e: b086 sub sp, #24 ; 0x18 + 1b50: 466b mov r3, sp + 1b52: 721a strb r2, [r3, #8] + 1b54: 9101 str r1, [sp, #4] + 1b56: 9000 str r0, [sp, #0] + 1b58: 2001 mov r0, #1 + 1b5a: 9004 str r0, [sp, #16] ; 0x10 + 1b5c: 9804 ldr r0, [sp, #16] ; 0x10 + 1b5e: 2800 cmp r0, #0 + 1b60: d05b beq 0x1c1a + 1b62: 496f ldr r1, =0x864 ; via 0x1d20 + 1b64: 4668 mov r0, sp + 1b66: 7a00 ldrb r0, [r0, #8] + 1b68: 0080 lsl r0, r0, #2 + 1b6a: 5808 ldr r0, [r1, r0] + 1b6c: 7941 ldrb r1, [r0, #5] + 1b6e: 4668 mov r0, sp + 1b70: 7301 strb r1, [r0, #12] ; 0xc + 1b72: 7b00 ldrb r0, [r0, #12] ; 0xc + 1b74: 0840 lsr r0, r0, #1 + 1b76: d3f4 bcc 0x1b62 + 1b78: 4969 ldr r1, =0x864 ; via 0x1d20 + 1b7a: 4668 mov r0, sp + 1b7c: 7a00 ldrb r0, [r0, #8] + 1b7e: 0080 lsl r0, r0, #2 + 1b80: 5808 ldr r0, [r1, r0] + 1b82: 7800 ldrb r0, [r0, #0] + 1b84: 0600 lsl r0, r0, #24 + 1b86: 0e01 lsr r1, r0, #24 + 1b88: 4668 mov r0, sp + 1b8a: 7341 strb r1, [r0, #13] ; 0xd + 1b8c: e02c b 0x1be8 + 1b8e: 4668 mov r0, sp + 1b90: 7b40 ldrb r0, [r0, #13] ; 0xd + 1b92: a905 add r1, sp, #20 ; 0x14 + 1b94: 9a00 ldr r2, [sp, #0] + 1b96: 9b01 ldr r3, [sp, #4] + 1b98: f7ff fd8c bl 0x16b4 + 1b9c: 9004 str r0, [sp, #16] ; 0x10 + 1b9e: e039 b 0x1c14 + 1ba0: 4668 mov r0, sp + 1ba2: 7b40 ldrb r0, [r0, #13] ; 0xd + 1ba4: a905 add r1, sp, #20 ; 0x14 + 1ba6: f7ff fdc2 bl 0x172e + 1baa: e7f7 b 0x1b9c + 1bac: 4668 mov r0, sp + 1bae: 7b40 ldrb r0, [r0, #13] ; 0xd + 1bb0: a905 add r1, sp, #20 ; 0x14 + 1bb2: f7ff fe12 bl 0x17da + 1bb6: e7f1 b 0x1b9c + 1bb8: 4668 mov r0, sp + 1bba: 7b40 ldrb r0, [r0, #13] ; 0xd + 1bbc: a905 add r1, sp, #20 ; 0x14 + 1bbe: f7ff fe34 bl 0x182a + 1bc2: e7eb b 0x1b9c + 1bc4: 4668 mov r0, sp + 1bc6: 7b40 ldrb r0, [r0, #13] ; 0xd + 1bc8: f7ff fe5e bl 0x1888 + 1bcc: e022 b 0x1c14 + 1bce: 4668 mov r0, sp + 1bd0: 7b40 ldrb r0, [r0, #13] ; 0xd + 1bd2: a905 add r1, sp, #20 ; 0x14 + 1bd4: 9a00 ldr r2, [sp, #0] + 1bd6: f7ff fe6d bl 0x18b4 + 1bda: e7df b 0x1b9c + 1bdc: 4668 mov r0, sp + 1bde: 7b40 ldrb r0, [r0, #13] ; 0xd + 1be0: a905 add r1, sp, #20 ; 0x14 + 1be2: f7ff feab bl 0x193c + 1be6: e7d9 b 0x1b9c + 1be8: 4850 ldr r0, =0x83ff20 ; via 0x1d2c + 1bea: 6800 ldr r0, [r0, #0] + 1bec: 2800 cmp r0, #0 + 1bee: d0ce beq 0x1b8e + 1bf0: 3801 sub r0, #1 + 1bf2: 2800 cmp r0, #0 + 1bf4: d0d4 beq 0x1ba0 + 1bf6: 3801 sub r0, #1 + 1bf8: 2800 cmp r0, #0 + 1bfa: d0d7 beq 0x1bac + 1bfc: 3801 sub r0, #1 + 1bfe: 2800 cmp r0, #0 + 1c00: d0da beq 0x1bb8 + 1c02: 3801 sub r0, #1 + 1c04: 2800 cmp r0, #0 + 1c06: d0dd beq 0x1bc4 + 1c08: 3801 sub r0, #1 + 1c0a: 2800 cmp r0, #0 + 1c0c: d0df beq 0x1bce + 1c0e: 3801 sub r0, #1 + 1c10: 2800 cmp r0, #0 + 1c12: d0e3 beq 0x1bdc + 1c14: 9804 ldr r0, [sp, #16] ; 0x10 + 1c16: 2800 cmp r0, #0 + 1c18: d1a3 bne 0x1b62 + 1c1a: 9805 ldr r0, [sp, #20] ; 0x14 + 1c1c: b006 add sp, #24 ; 0x18 + 1c1e: bd00 pop {pc} + 1c20: 4942 ldr r1, =0x83ff20 ; via 0x1d2c + 1c22: 2001 mov r0, #1 + 1c24: 6008 str r0, [r1, #0] + 1c26: 4842 ldr r0, =0x83ff1b ; via 0x1d30 + 1c28: 2100 mov r1, #0 + 1c2a: 7001 strb r1, [r0, #0] + 1c2c: 4841 ldr r0, =0x83ff18 ; via 0x1d34 + 1c2e: 7001 strb r1, [r0, #0] + 1c30: 4770 bx lr + 1c32: 46c0 nop (mov r8, r8) + + 1c34: 0083ff14 + +; UART initialization routine + 1c38: b081 sub sp, #4 +; MODEM UART + 1c3a: 483f ldr r0, =0xffff5800 ; via 0x1d38 + 1c3c: 9000 str r0, [sp, #0] +; switch to MCU control + 1c3e: 493f ldr r1, =0xffff6000 ; via 0x1d3c + 1c40: 2002 mov r0, #2 + 1c42: 880a ldrh r2, [r1, #0] + 1c44: 4310 orr r0, r2 + 1c46: 8008 strh r0, [r1, #0] + 1c48: 483c ldr r0, =0xffff6000 ; via 0x1d3c + 1c4a: 8801 ldrh r1, [r0, #0] + 1c4c: 0849 lsr r1, r1, #1 + 1c4e: 0049 lsl r1, r1, #1 + 1c50: 8001 strh r1, [r0, #0] + 1c52: 493a ldr r1, =0xffff6000 ; via 0x1d3c + 1c54: 8808 ldrh r0, [r1, #0] + 1c56: 2202 mov r2, #2 + 1c58: 4390 bic r0, r2 + 1c5a: 8008 strh r0, [r1, #0] +; MDR1 = reset/default state + 1c5c: 9900 ldr r1, [sp, #0] + 1c5e: 2007 mov r0, #7 + 1c60: 7208 strb r0, [r1, #8] +; LCR = BF + 1c62: 9900 ldr r1, [sp, #0] + 1c64: 20bf mov r0, #191 ; 0xbf + 1c66: 70c8 strb r0, [r1, #3] +; set ENHANCED_EN bit in EFR + 1c68: 9800 ldr r0, [sp, #0] + 1c6a: 1c81 add r1, r0, #2 + 1c6c: 2010 mov r0, #16 ; 0x10 + 1c6e: 880a ldrh r2, [r1, #0] + 1c70: 4310 orr r0, r2 + 1c72: 8008 strh r0, [r1, #0] +; LCR = 80 + 1c74: 9800 ldr r0, [sp, #0] + 1c76: 2180 mov r1, #128 ; 0x80 + 1c78: 70c1 strb r1, [r0, #3] +; FCR = 07 (enable and clear both FIFOs) + 1c7a: 9800 ldr r0, [sp, #0] + 1c7c: 2107 mov r1, #7 + 1c7e: 7081 strb r1, [r0, #2] +; LCR = BF + 1c80: 9800 ldr r0, [sp, #0] + 1c82: 21bf mov r1, #191 ; 0xbf + 1c84: 70c1 strb r1, [r0, #3] +; baud rate divisor set to 7 (115200 baud) + 1c86: 9800 ldr r0, [sp, #0] + 1c88: 2107 mov r1, #7 + 1c8a: 7001 strb r1, [r0, #0] + 1c8c: 9800 ldr r0, [sp, #0] + 1c8e: 2100 mov r1, #0 + 1c90: 7041 strb r1, [r0, #1] +; LCR = 03 (standard setting) + 1c92: 9800 ldr r0, [sp, #0] + 1c94: 2103 mov r1, #3 + 1c96: 70c1 strb r1, [r0, #3] +; MDR1 = UART mode + 1c98: 9800 ldr r0, [sp, #0] + 1c9a: 2100 mov r1, #0 + 1c9c: 7201 strb r1, [r0, #8] +; IrDA UART - same setup as for MODEM + 1c9e: 4828 ldr r0, =0xffff5000 ; via 0x1d40 + 1ca0: 9000 str r0, [sp, #0] + 1ca2: 9800 ldr r0, [sp, #0] + 1ca4: 2107 mov r1, #7 + 1ca6: 7201 strb r1, [r0, #8] + 1ca8: 9900 ldr r1, [sp, #0] + 1caa: 20bf mov r0, #191 ; 0xbf + 1cac: 70c8 strb r0, [r1, #3] + 1cae: 9800 ldr r0, [sp, #0] + 1cb0: 1c80 add r0, r0, #2 + 1cb2: 2110 mov r1, #16 ; 0x10 + 1cb4: 8802 ldrh r2, [r0, #0] + 1cb6: 4311 orr r1, r2 + 1cb8: 8001 strh r1, [r0, #0] + 1cba: 9800 ldr r0, [sp, #0] + 1cbc: 2180 mov r1, #128 ; 0x80 + 1cbe: 70c1 strb r1, [r0, #3] + 1cc0: 9800 ldr r0, [sp, #0] + 1cc2: 2107 mov r1, #7 + 1cc4: 7081 strb r1, [r0, #2] + 1cc6: 9800 ldr r0, [sp, #0] + 1cc8: 21bf mov r1, #191 ; 0xbf + 1cca: 70c1 strb r1, [r0, #3] + 1ccc: 9800 ldr r0, [sp, #0] + 1cce: 2107 mov r1, #7 + 1cd0: 7001 strb r1, [r0, #0] + 1cd2: 9800 ldr r0, [sp, #0] + 1cd4: 2100 mov r1, #0 + 1cd6: 7041 strb r1, [r0, #1] + 1cd8: 9900 ldr r1, [sp, #0] + 1cda: 2003 mov r0, #3 + 1cdc: 70c8 strb r0, [r1, #3] + 1cde: 9800 ldr r0, [sp, #0] + 1ce0: 2100 mov r1, #0 + 1ce2: 7201 strb r1, [r0, #8] + 1ce4: b001 add sp, #4 + 1ce6: 4770 bx lr + + 1ce8: b081 sub sp, #4 + 1cea: 4669 mov r1, sp + 1cec: 7008 strb r0, [r1, #0] + 1cee: 490c ldr r1, =0x864 ; via 0x1d20 + 1cf0: 4668 mov r0, sp + 1cf2: 7800 ldrb r0, [r0, #0] + 1cf4: 0080 lsl r0, r0, #2 + 1cf6: 5808 ldr r0, [r1, r0] + 1cf8: 7941 ldrb r1, [r0, #5] + 1cfa: 4668 mov r0, sp + 1cfc: 7041 strb r1, [r0, #1] + 1cfe: 7840 ldrb r0, [r0, #1] + 1d00: 09c0 lsr r0, r0, #7 + 1d02: d20b bcs 0x1d1c + 1d04: 4806 ldr r0, =0x864 ; via 0x1d20 + 1d06: 4669 mov r1, sp + 1d08: 7809 ldrb r1, [r1, #0] + 1d0a: 0089 lsl r1, r1, #2 + 1d0c: 5840 ldr r0, [r0, r1] + 1d0e: 7940 ldrb r0, [r0, #5] + 1d10: 4669 mov r1, sp + 1d12: 7048 strb r0, [r1, #1] + 1d14: 4668 mov r0, sp + 1d16: 7840 ldrb r0, [r0, #1] + 1d18: 09c0 lsr r0, r0, #7 + 1d1a: d3f3 bcc 0x1d04 + 1d1c: b001 add sp, #4 + 1d1e: 4770 bx lr + 1d20: 0864 lsr r4, r4, #1 + 1d22: 0000 lsl r0, r0, #0 + 1d24: 5805 ldr r5, [r0, r0] + 1d26: ffff + 1d28: 5005 str r5, [r0, r0] + 1d2a: ffff + 1d2c: ff20 + 1d2e: 0083 lsl r3, r0, #2 + 1d30: ff1b + 1d32: 0083 lsl r3, r0, #2 + 1d34: ff18 + 1d36: 0083 lsl r3, r0, #2 + 1d38: 5800 ldr r0, [r0, r0] + 1d3a: ffff + 1d3c: 6000 str r0, [r0, #0] + 1d3e: ffff + 1d40: 5000 str r0, [r0, r0] + 1d42: ffff + 1d44: b500 push {lr} + 1d46: b087 sub sp, #28 ; 0x1c + 1d48: 466b mov r3, sp + 1d4a: 721a strb r2, [r3, #8] + 1d4c: 9101 str r1, [sp, #4] + 1d4e: 9000 str r0, [sp, #0] + 1d50: 9900 ldr r1, [sp, #0] + 1d52: 2000 mov r0, #0 + 1d54: 8008 strh r0, [r1, #0] + 1d56: 9801 ldr r0, [sp, #4] + 1d58: 2100 mov r1, #0 + 1d5a: 8001 strh r1, [r0, #0] + 1d5c: 2000 mov r0, #0 + 1d5e: 9003 str r0, [sp, #12] ; 0xc + 1d60: f7ff ff5e bl 0x1c20 + 1d64: a805 add r0, sp, #20 ; 0x14 + 1d66: a906 add r1, sp, #24 ; 0x18 + 1d68: 466a mov r2, sp + 1d6a: 7a12 ldrb r2, [r2, #8] + 1d6c: f7ff feee bl 0x1b4c + 1d70: 9004 str r0, [sp, #16] ; 0x10 + 1d72: 9804 ldr r0, [sp, #16] ; 0x10 + 1d74: 2800 cmp r0, #0 + 1d76: d11f bne 0x1db8 + 1d78: 9803 ldr r0, [sp, #12] ; 0xc + 1d7a: 2800 cmp r0, #0 + 1d7c: d11c bne 0x1db8 + 1d7e: 9800 ldr r0, [sp, #0] + 1d80: 4669 mov r1, sp + 1d82: 8b0a ldrh r2, [r1, #24] ; 0x18 + 1d84: 8801 ldrh r1, [r0, #0] + 1d86: 1851 add r1, r2, r1 + 1d88: 8001 strh r1, [r0, #0] + 1d8a: 9905 ldr r1, [sp, #20] ; 0x14 + 1d8c: 4668 mov r0, sp + 1d8e: 8b00 ldrh r0, [r0, #24] ; 0x18 + 1d90: 8008 strh r0, [r1, #0] + 1d92: 9801 ldr r0, [sp, #4] + 1d94: 9905 ldr r1, [sp, #20] ; 0x14 + 1d96: 8809 ldrh r1, [r1, #0] + 1d98: 8802 ldrh r2, [r0, #0] + 1d9a: 1889 add r1, r1, r2 + 1d9c: 8001 strh r1, [r0, #0] + 1d9e: a805 add r0, sp, #20 ; 0x14 + 1da0: a906 add r1, sp, #24 ; 0x18 + 1da2: 466a mov r2, sp + 1da4: 7a12 ldrb r2, [r2, #8] + 1da6: f7ff fed1 bl 0x1b4c + 1daa: 9004 str r0, [sp, #16] ; 0x10 + 1dac: 9804 ldr r0, [sp, #16] ; 0x10 + 1dae: 2800 cmp r0, #0 + 1db0: d102 bne 0x1db8 + 1db2: 9803 ldr r0, [sp, #12] ; 0xc + 1db4: 2800 cmp r0, #0 + 1db6: d0e2 beq 0x1d7e + 1db8: 9804 ldr r0, [sp, #16] ; 0x10 + 1dba: 2801 cmp r0, #1 + 1dbc: d101 bne 0x1dc2 + 1dbe: 2004 mov r0, #4 + 1dc0: 9003 str r0, [sp, #12] ; 0xc + 1dc2: 9803 ldr r0, [sp, #12] ; 0xc + 1dc4: b007 add sp, #28 ; 0x1c + 1dc6: bd00 pop {pc} + 1dc8: b089 sub sp, #36 ; 0x24 + 1dca: 201a mov r0, #26 ; 0x1a + 1dcc: 9005 str r0, [sp, #20] ; 0x14 + 1dce: 2018 mov r0, #24 ; 0x18 + 1dd0: 9006 str r0, [sp, #24] ; 0x18 + 1dd2: 2000 mov r0, #0 + 1dd4: 9008 str r0, [sp, #32] ; 0x20 + 1dd6: 4669 mov r1, sp + 1dd8: 9805 ldr r0, [sp, #20] ; 0x14 + 1dda: 8800 ldrh r0, [r0, #0] + 1ddc: 8008 strh r0, [r1, #0] + 1dde: 9806 ldr r0, [sp, #24] ; 0x18 + 1de0: 8800 ldrh r0, [r0, #0] + 1de2: 8048 strh r0, [r1, #2] + 1de4: 4668 mov r0, sp + 1de6: 8841 ldrh r1, [r0, #2] + 1de8: 8800 ldrh r0, [r0, #0] + 1dea: 0400 lsl r0, r0, #16 + 1dec: 1808 add r0, r1, r0 + 1dee: 9001 str r0, [sp, #4] + 1df0: 9801 ldr r0, [sp, #4] + 1df2: 0200 lsl r0, r0, #8 + 1df4: 0a00 lsr r0, r0, #8 + 1df6: 0080 lsl r0, r0, #2 + 1df8: 3008 add r0, #8 + 1dfa: 9007 str r0, [sp, #28] ; 0x1c + 1dfc: 9807 ldr r0, [sp, #28] ; 0x1c + 1dfe: 3018 add r0, #24 ; 0x18 + 1e00: 9002 str r0, [sp, #8] + 1e02: 9802 ldr r0, [sp, #8] + 1e04: 9004 str r0, [sp, #16] ; 0x10 + 1e06: 9802 ldr r0, [sp, #8] + 1e08: 3002 add r0, #2 + 1e0a: 9003 str r0, [sp, #12] ; 0xc + 1e0c: 9803 ldr r0, [sp, #12] ; 0xc + 1e0e: 8801 ldrh r1, [r0, #0] + 1e10: 4806 ldr r0, =0xffff ; via 0x1e2c + 1e12: 4281 cmp r1, r0 + 1e14: d104 bne 0x1e20 + 1e16: 9804 ldr r0, [sp, #16] ; 0x10 + 1e18: 8800 ldrh r0, [r0, #0] + 1e1a: 4904 ldr r1, =0xffff ; via 0x1e2c + 1e1c: 4288 cmp r0, r1 + 1e1e: d001 beq 0x1e24 + 1e20: 2001 mov r0, #1 + 1e22: 9008 str r0, [sp, #32] ; 0x20 + 1e24: 9808 ldr r0, [sp, #32] ; 0x20 + 1e26: b009 add sp, #36 ; 0x24 + 1e28: 4770 bx lr + 1e2a: 46c0 nop (mov r8, r8) + + 1e2c: 0000ffff ; ARM->Thumb call veneer around 0xad2 routine 1e30: e92d4000 stmdb sp!, {lr}