60010070: e92d4800 push {fp, lr}
60010074: e28db004 add fp, sp, #4
60010078: e24dd008 sub sp, sp, #8
6001007c: e30402a8 movw r0, #17064 ; 0x42a8
60010080: e3460009 movt r0, #24585 ; 0x6009
60010084: fa01f6e5 blx 6008dc20
60010088: e3a01002 mov r1, #2
6001008c: e3a00001 mov r0, #1
60010090: eb01f2ee bl 6008cc50
6008cc50
6008cc50: e92d4bf0 push {r4, r5, r6, r7, r8, r9, fp, lr}
6008cc54: e3004c67 movw r4, #3175 ; 0xc67
6008cc58: e1a08001 mov r8, r1
6008cc5c: e346400a movt r4, #24586 ; 0x600a
6008cc60: e1a09000 mov r9, r0
6008cc64: e3a07707 mov r7, #1835008 ; 0x1c0000
6008cc68: e1a06004 mov r6, r4
6008cc6c: ea000004 b 6008cc84
6008cc70: e1a06003 mov r6, r3
6008cc74: ebfe0cf1 bl 60010040
6008cc78: e2840005 add r0, r4, #5
6008cc7c: e1560000 cmp r6, r0
6008cc80: 0a000037 beq 6008cd64
6008cc84: e1a03006 mov r3, r6
6008cc88: e0d310d1 ldrsb r1, [r3], #1
6008cc8c: e3710001 cmn r1, #1
6008cc90: e6ef0071 uxtb r0, r1
6008cc94: cafffff5 bgt 6008cc70
6008cc98: e2842005 add r2, r4, #5
6008cc9c: e200101f and r1, r0, #31
6008cca0: e1530002 cmp r3, r2
6008cca4: 0a00000d beq 6008cce0
6008cca8: e5d63001 ldrb r3, [r6, #1]
6008ccac: e2865002 add r5, r6, #2
6008ccb0: e35000df cmp r0, #223 ; 0xdf
6008ccb4: e203303f and r3, r3, #63 ; 0x3f
6008ccb8: 9a000016 bls 6008cd18
6008ccbc: e1550002 cmp r5, r2
6008ccc0: 0a00001e beq 6008cd40
6008ccc4: e2862003 add r2, r6, #3
6008ccc8: e5d66002 ldrb r6, [r6, #2]
6008cccc: e206603f and r6, r6, #63 ; 0x3f
6008ccd0: e1863303 orr r3, r6, r3, lsl #6
6008ccd4: e35000f0 cmp r0, #240 ; 0xf0
6008ccd8: 2a000007 bcs 6008ccfc
6008ccdc: ea00001b b 6008cd50
6008cce0: e3a03000 mov r3, #0
6008cce4: e35000df cmp r0, #223 ; 0xdf
6008cce8: e3a06000 mov r6, #0
6008ccec: 9a00001a bls 6008cd5c
6008ccf0: e1863303 orr r3, r6, r3, lsl #6
6008ccf4: e35000f0 cmp r0, #240 ; 0xf0
6008ccf8: 3a000014 bcc 6008cd50
6008ccfc: e2846005 add r6, r4, #5
6008cd00: e1520006 cmp r2, r6
6008cd04: 0a000006 beq 6008cd24
6008cd08: e4d20001 ldrb r0, [r2], #1
6008cd0c: e200003f and r0, r0, #63 ; 0x3f
6008cd10: e1a06002 mov r6, r2
6008cd14: ea000003 b 6008cd28
6008cd18: e1830301 orr r0, r3, r1, lsl #6
6008cd1c: e1a06005 mov r6, r5
6008cd20: eaffffd3 b 6008cc74
6008cd24: e3a00000 mov r0, #0
6008cd28: e0071901 and r1, r7, r1, lsl #18
6008cd2c: e1811303 orr r1, r1, r3, lsl #6
6008cd30: e1810000 orr r0, r1, r0
6008cd34: e3500811 cmp r0, #1114112 ; 0x110000
6008cd38: 1affffcd bne 6008cc74
6008cd3c: ea000008 b 6008cd64
6008cd40: e3a06000 mov r6, #0
6008cd44: e1863303 orr r3, r6, r3, lsl #6
6008cd48: e35000f0 cmp r0, #240 ; 0xf0
6008cd4c: 2affffea bcs 6008ccfc
6008cd50: e1830601 orr r0, r3, r1, lsl #12
6008cd54: e1a06002 mov r6, r2
6008cd58: eaffffc5 b 6008cc74
6008cd5c: e1a00301 lsl r0, r1, #6
6008cd60: ebfe0cb6 bl 60010040
6008cd64: e0880009 add r0, r8, r9 // 纯计算 (a + b ) * 2; 这里先做加法
6008cd68: e1a00080 lsl r0, r0, #1 // 乘2优化为左移
6008cd6c: e8bd8bf0 pop {r4, r5, r6, r7, r8, r9, fp, pc}
原作者:aozima