summaryrefslogtreecommitdiff
path: root/gp2x/video.S
diff options
context:
space:
mode:
Diffstat (limited to 'gp2x/video.S')
-rw-r--r--gp2x/video.S78790
1 files changed, 78790 insertions, 0 deletions
diff --git a/gp2x/video.S b/gp2x/video.S
new file mode 100644
index 0000000..4838fe5
--- /dev/null
+++ b/gp2x/video.S
@@ -0,0 +1,78790 @@
+ .file "video.c"
+ .text
+ .align 2
+ .global render_scanline_text_base_normal
+ .type render_scanline_text_base_normal, %function
+render_scanline_text_base_normal:
+ @ args = 0, pretend = 0, frame = 8
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr ip, .L516
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ add r5, ip, r0, asl #2
+ ldrh lr, [r5, #18]
+ ldrh r4, [ip, #6]
+ add ip, ip, r0, asl #1
+ add r4, r4, lr
+ mov r7, r4, asl #23
+ ldrh r6, [ip, #8]
+ mov r7, r7, lsr #23
+ ldrh r0, [r5, #16]
+ cmp r7, #255
+ movls lr, #0
+ movhi lr, #1
+ mov r5, r6, lsr #14
+ rsb fp, r1, r2
+ ldr r2, .L516+4
+ ands lr, lr, r5, lsr #1
+ add r8, r3, r1, asl #1
+ mov ip, r6, asl #3
+ subne r3, r7, #256
+ ldr r9, .L516+8
+ ldr r2, [r2, r5, asl #2]
+ movne r3, r3, lsr #3
+ moveq r3, r4, asl #3
+ add r0, r0, r1
+ and ip, ip, #63488
+ addne r3, r3, r2, lsr #3
+ andeq r3, r3, #1984
+ add ip, ip, r9
+ mov r0, r0, asl #23
+ addne r4, ip, r3, asl #6
+ addeq r4, ip, r3
+ mov r0, r0, lsr #23
+ tst r5, #1
+ andeq r0, r0, #255
+ sub sp, sp, #8
+ moveq r3, r0, lsr #3
+ addeq sl, r4, r3, asl #1
+ streq r4, [sp, #0]
+ beq .L9
+ cmp r0, #255
+ subhi r0, r0, #256
+ movhi r3, r0, lsr #3
+ movls r3, r0, lsr #3
+ addhi r3, r4, r3, asl #1
+ addls sl, r4, r3, asl #1
+ addls r4, r4, #2048
+ addhi sl, r3, #2048
+ strhi r4, [sp, #0]
+ strls r4, [sp, #0]
+.L9:
+ ands r5, r6, #128
+ beq .L10
+ and r3, r7, #7
+ mov r2, r6, asl #12
+ and r1, r0, #255
+ mov r3, r3, asl #3
+ and r2, r2, #49152
+ add r2, r2, r3
+ rsb r4, r1, #256
+ mov r3, r3, asl #1
+ rsb r3, r3, #56
+ cmp fp, r4
+ add r9, r2, r9
+ str r3, [sp, #4]
+ and r0, r0, #7
+ bls .L487
+ cmp r0, #0
+ moveq ip, r0
+ bne .L488
+.L100:
+ rsb r3, ip, r4
+ movs r7, r3, lsr #3
+ beq .L124
+ ldr lr, .L516+12
+ mov r5, r8
+ mov r6, #0
+ b .L126
+.L490:
+ ldr r0, [ip, #4]
+ ldr ip, [ip, #0]
+ and r1, r0, #255
+ mov r1, r1, asl #1
+ ldrh r1, [r1, lr]
+ mov r3, r0, lsr #8
+ and r3, r3, #255
+ strh r1, [r5, #6] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ mov r2, r0, lsr #16
+ and r2, r2, #255
+ strh r3, [r5, #4] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ mov r0, r0, lsr #24
+ strh r2, [r5, #2] @ movhi
+ mov r0, r0, asl #1
+ ldrh r0, [r0, lr]
+ and r1, ip, #255
+ strh r0, [r5, #0] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, lr]
+ mov r2, ip, lsr #8
+ and r2, r2, #255
+ strh r1, [r5, #14] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ mov r3, ip, lsr #16
+ and r3, r3, #255
+ strh r2, [r5, #12] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ mov ip, ip, lsr #24
+ strh r3, [r5, #10] @ movhi
+ mov ip, ip, asl #1
+ ldrh ip, [ip, lr]
+ add r6, r6, #1
+ cmp r7, r6
+ strh ip, [r5, #8] @ movhi
+ add sl, sl, #2
+ add r5, r5, #16
+ beq .L489
+.L126:
+ ldrh r2, [sl, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add ip, r9, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne ip, ip, r3
+ tst r2, #1024
+ bne .L490
+ ldmia ip, {r0, ip} @ phole ldm
+ and r1, r0, #255
+ mov r1, r1, asl #1
+ ldrh r1, [r1, lr]
+ mov r3, r0, lsr #8
+ and r3, r3, #255
+ strh r1, [r5, #0] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ mov r2, r0, lsr #16
+ and r2, r2, #255
+ strh r3, [r5, #2] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ mov r0, r0, lsr #24
+ strh r2, [r5, #4] @ movhi
+ mov r0, r0, asl #1
+ ldrh r0, [r0, lr]
+ and r1, ip, #255
+ strh r0, [r5, #6] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, lr]
+ mov r2, ip, lsr #8
+ and r2, r2, #255
+ strh r1, [r5, #8] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ mov r3, ip, lsr #16
+ and r3, r3, #255
+ strh r2, [r5, #10] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ mov ip, ip, lsr #24
+ strh r3, [r5, #12] @ movhi
+ mov ip, ip, asl #1
+ ldrh ip, [ip, lr]
+ add r6, r6, #1
+ cmp r7, r6
+ strh ip, [r5, #14] @ movhi
+ add sl, sl, #2
+ add r5, r5, #16
+ bne .L126
+.L489:
+ add r8, r8, r7, asl #4
+.L124:
+ rsb sl, r4, fp
+ movs r4, sl, lsr #3
+ ldreq r3, [sp, #0]
+ beq .L136
+ ldr lr, .L516+12
+ ldr r6, [sp, #0]
+ mov r5, r8
+ mov r7, #0
+ b .L137
+.L492:
+ ldr r0, [ip, #4]
+ ldr ip, [ip, #0]
+ and r1, r0, #255
+ mov r1, r1, asl #1
+ ldrh r1, [r1, lr]
+ mov r3, r0, lsr #8
+ and r3, r3, #255
+ strh r1, [r5, #6] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ mov r2, r0, lsr #16
+ and r2, r2, #255
+ strh r3, [r5, #4] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ mov r0, r0, lsr #24
+ strh r2, [r5, #2] @ movhi
+ mov r0, r0, asl #1
+ ldrh r0, [r0, lr]
+ and r1, ip, #255
+ strh r0, [r5, #0] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, lr]
+ mov r2, ip, lsr #8
+ and r2, r2, #255
+ strh r1, [r5, #14] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ mov r3, ip, lsr #16
+ and r3, r3, #255
+ strh r2, [r5, #12] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ mov ip, ip, lsr #24
+ strh r3, [r5, #10] @ movhi
+ mov ip, ip, asl #1
+ ldrh ip, [ip, lr]
+ add r7, r7, #1
+ cmp r4, r7
+ strh ip, [r5, #8] @ movhi
+ add r6, r6, #2
+ add r5, r5, #16
+ beq .L491
+.L137:
+ ldrh r2, [r6, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add ip, r9, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne ip, ip, r3
+ tst r2, #1024
+ bne .L492
+ ldmia ip, {r0, ip} @ phole ldm
+ and r1, r0, #255
+ mov r1, r1, asl #1
+ ldrh r1, [r1, lr]
+ mov r3, r0, lsr #8
+ and r3, r3, #255
+ strh r1, [r5, #0] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ mov r2, r0, lsr #16
+ and r2, r2, #255
+ strh r3, [r5, #2] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ mov r0, r0, lsr #24
+ strh r2, [r5, #4] @ movhi
+ mov r0, r0, asl #1
+ ldrh r0, [r0, lr]
+ and r1, ip, #255
+ strh r0, [r5, #6] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, lr]
+ mov r2, ip, lsr #8
+ and r2, r2, #255
+ strh r1, [r5, #8] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ mov r3, ip, lsr #16
+ and r3, r3, #255
+ strh r2, [r5, #10] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ mov ip, ip, lsr #24
+ strh r3, [r5, #12] @ movhi
+ mov ip, ip, asl #1
+ ldrh ip, [ip, lr]
+ add r7, r7, #1
+ cmp r4, r7
+ strh ip, [r5, #14] @ movhi
+ add r6, r6, #2
+ add r5, r5, #16
+ bne .L137
+.L491:
+ ldr r2, [sp, #0]
+ add r8, r8, r4, asl #4
+ add r3, r2, r4, asl #1
+.L136:
+ ands r5, sl, #7
+ beq .L431
+ ldrh r4, [r3, #0]
+ mov r3, r4, asl #22
+ mov r3, r3, lsr #22
+ tst r4, #2048
+ add ip, r9, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne ip, ip, r3
+ tst r4, #1024
+ beq .L147
+ cmp r5, #3
+ bhi .L493
+ ldr r1, [ip, #4]
+ ldr lr, .L516+12
+.L152:
+ mov r0, #0
+.L153:
+ mov r3, r1, lsr #24
+ mov r3, r3, asl #1
+ add r0, r0, #1
+ ldrh r3, [r3, lr]
+ cmp r5, r0
+ strh r3, [r8], #2 @ movhi
+ mov r1, r1, asl #8
+ bhi .L153
+.L431:
+ add sp, sp, #8
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L10:
+ and r1, r0, #255
+ and r3, r7, #7
+ mov r2, r6, asl #12
+ mov r3, r3, asl #2
+ and r2, r2, #49152
+ rsb r4, r1, #256
+ add r2, r2, r3
+ cmp fp, r4
+ mov r3, r3, asl #1
+ add ip, r2, r9
+ rsb lr, r3, #28
+ and r0, r0, #7
+ bls .L494
+ cmp r0, #0
+ moveq r6, r0
+ bne .L495
+.L276:
+ rsb r3, r6, r4
+ movs r9, r3, lsr #3
+ beq .L296
+ ldr r6, .L516+12
+ mov r0, r8
+ mov r7, #0
+ b .L298
+.L496:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L329
+ ands r3, r2, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #14] @ movhi
+ streqh r3, [r0, #14] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #12] @ movhi
+ streqh r3, [r0, #12] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #10] @ movhi
+ streqh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #8] @ movhi
+ streqh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #6] @ movhi
+ streqh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #4] @ movhi
+ streqh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #2] @ movhi
+ streqh r3, [r0, #2] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r2, [r6, #0]
+ strneh r3, [r0, #0] @ movhi
+ streqh r2, [r0, #0] @ movhi
+.L328:
+ add r7, r7, #1
+ cmp r9, r7
+ add r0, r0, #16
+ beq .L354
+.L497:
+ add sl, sl, #2
+.L298:
+ ldrh r1, [sl, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r5, r3, asl #4
+ add r3, ip, r2, asl #5
+ addne r3, r3, lr
+ tst r1, #1024
+ bne .L496
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L329
+ ands r3, r2, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #0] @ movhi
+ streqh r3, [r0, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #2] @ movhi
+ streqh r3, [r0, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #4] @ movhi
+ streqh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #6] @ movhi
+ streqh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #8] @ movhi
+ streqh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #10] @ movhi
+ streqh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #12] @ movhi
+ streqh r3, [r0, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r2, [r6, #0]
+ add r7, r7, #1
+ strneh r3, [r0, #14] @ movhi
+ streqh r2, [r0, #14] @ movhi
+ cmp r9, r7
+ add r0, r0, #16
+ bne .L497
+.L354:
+ add r8, r8, r9, asl #4
+.L296:
+ rsb r9, r4, fp
+ movs r4, r9, lsr #3
+ ldreq r2, [sp, #0]
+ beq .L358
+ ldr r6, .L516+12
+ ldr r7, [sp, #0]
+ mov r0, r8
+ mov sl, #0
+ b .L359
+.L499:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L390
+ ands r3, r2, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #14] @ movhi
+ streqh r3, [r0, #14] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #12] @ movhi
+ streqh r3, [r0, #12] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #10] @ movhi
+ streqh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #8] @ movhi
+ streqh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #6] @ movhi
+ streqh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #4] @ movhi
+ streqh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #2] @ movhi
+ streqh r3, [r0, #2] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r2, [r6, #0]
+ strneh r3, [r0, #0] @ movhi
+ streqh r2, [r0, #0] @ movhi
+.L389:
+ add sl, sl, #1
+ cmp r4, sl
+ add r0, r0, #16
+ add r7, r7, #2
+ beq .L498
+.L359:
+ ldrh r1, [r7, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r5, r3, asl #4
+ add r3, ip, r2, asl #5
+ addne r3, r3, lr
+ tst r1, #1024
+ bne .L499
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L390
+ ands r3, r2, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #0] @ movhi
+ streqh r3, [r0, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #2] @ movhi
+ streqh r3, [r0, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #4] @ movhi
+ streqh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #6] @ movhi
+ streqh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #8] @ movhi
+ streqh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #10] @ movhi
+ streqh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ strneh r3, [r0, #12] @ movhi
+ streqh r3, [r0, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r2, [r6, #0]
+ add sl, sl, #1
+ strneh r3, [r0, #14] @ movhi
+ streqh r2, [r0, #14] @ movhi
+ cmp r4, sl
+ add r0, r0, #16
+ add r7, r7, #2
+ bne .L359
+.L498:
+ ldr r3, [sp, #0]
+ add r8, r8, r4, asl #4
+ add r2, r3, r4, asl #1
+.L358:
+ ands r5, r9, #7
+ beq .L431
+ ldrh r4, [r2, #0]
+ mov r3, r4, asl #22
+ mov r3, r3, lsr #22
+ tst r4, #2048
+ add r3, ip, r3, asl #5
+ mov r2, r4, lsr #12
+ addne r3, r3, lr
+ tst r4, #1024
+ mov r0, r2, asl #4
+ beq .L419
+ ldr r2, [r3, #0]
+ ldr ip, .L516+12
+ mov r1, #0
+.L421:
+ movs r3, r2, lsr #28
+ orr r3, r0, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldreqh r3, [ip, #0]
+ add r1, r1, #1
+ strneh r3, [r8, #0] @ movhi
+ streqh r3, [r8, #0] @ movhi
+ cmp r5, r1
+ mov r2, r2, asl #4
+ add r8, r8, #2
+ bne .L421
+ b .L431
+.L494:
+ cmp r0, #0
+ bne .L500
+.L161:
+ movs r9, fp, lsr #3
+ beq .L200
+ ldr r5, .L516+12
+ mov r0, r8
+ mov r6, sl
+ mov r7, #0
+ b .L202
+.L502:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L233
+ ands r3, r2, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #14] @ movhi
+ streqh r3, [r0, #14] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #12] @ movhi
+ streqh r3, [r0, #12] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #10] @ movhi
+ streqh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #8] @ movhi
+ streqh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #6] @ movhi
+ streqh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #4] @ movhi
+ streqh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #2] @ movhi
+ streqh r3, [r0, #2] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r2, [r5, #0]
+ strneh r3, [r0, #0] @ movhi
+ streqh r2, [r0, #0] @ movhi
+.L232:
+ add r7, r7, #1
+ cmp r9, r7
+ add r0, r0, #16
+ add r6, r6, #2
+ beq .L501
+.L202:
+ ldrh r1, [r6, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r4, r3, asl #4
+ add r3, ip, r2, asl #5
+ addne r3, r3, lr
+ tst r1, #1024
+ bne .L502
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L233
+ ands r3, r2, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #0] @ movhi
+ streqh r3, [r0, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #2] @ movhi
+ streqh r3, [r0, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #4] @ movhi
+ streqh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #6] @ movhi
+ streqh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #8] @ movhi
+ streqh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #10] @ movhi
+ streqh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ strneh r3, [r0, #12] @ movhi
+ streqh r3, [r0, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r2, [r5, #0]
+ add r7, r7, #1
+ strneh r3, [r0, #14] @ movhi
+ streqh r2, [r0, #14] @ movhi
+ cmp r9, r7
+ add r0, r0, #16
+ add r6, r6, #2
+ bne .L202
+.L501:
+ add r8, r8, r9, asl #4
+ add sl, sl, r9, asl #1
+.L200:
+ ands r4, fp, #7
+ beq .L431
+ ldrh r1, [sl, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r3, ip, r3, asl #5
+ mov r2, r1, lsr #12
+ addne r3, r3, lr
+ tst r1, #1024
+ mov r0, r2, asl #4
+ beq .L262
+ ldr r2, [r3, #0]
+ ldr ip, .L516+12
+ mov r1, #0
+.L264:
+ movs r3, r2, lsr #28
+ orr r3, r0, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldreqh r3, [ip, #0]
+ add r1, r1, #1
+ strneh r3, [r8, #0] @ movhi
+ streqh r3, [r8, #0] @ movhi
+ cmp r4, r1
+ mov r2, r2, asl #4
+ add r8, r8, #2
+ bne .L264
+ b .L431
+.L487:
+ cmp r0, #0
+ bne .L503
+.L14:
+ movs lr, fp, lsr #3
+ beq .L74
+ ldr r5, .L516+12
+ mov r4, r8
+ mov r6, sl
+ mov r7, #0
+ b .L76
+.L505:
+ ldr r0, [ip, #4]
+ ldr ip, [ip, #0]
+ and r1, r0, #255
+ mov r1, r1, asl #1
+ ldrh r1, [r1, r5]
+ mov r3, r0, lsr #8
+ and r3, r3, #255
+ strh r1, [r4, #6] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r5]
+ mov r2, r0, lsr #16
+ and r2, r2, #255
+ strh r3, [r4, #4] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, r5]
+ mov r0, r0, lsr #24
+ strh r2, [r4, #2] @ movhi
+ mov r0, r0, asl #1
+ ldrh r0, [r0, r5]
+ and r1, ip, #255
+ strh r0, [r4, #0] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, r5]
+ mov r2, ip, lsr #8
+ and r2, r2, #255
+ strh r1, [r4, #14] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, r5]
+ mov r3, ip, lsr #16
+ and r3, r3, #255
+ strh r2, [r4, #12] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r5]
+ mov ip, ip, lsr #24
+ strh r3, [r4, #10] @ movhi
+ mov ip, ip, asl #1
+ ldrh ip, [ip, r5]
+ add r7, r7, #1
+ cmp lr, r7
+ strh ip, [r4, #8] @ movhi
+ add r6, r6, #2
+ add r4, r4, #16
+ beq .L504
+.L76:
+ ldrh r2, [r6, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add ip, r9, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne ip, ip, r3
+ tst r2, #1024
+ bne .L505
+ ldmia ip, {r0, ip} @ phole ldm
+ and r1, r0, #255
+ mov r1, r1, asl #1
+ ldrh r1, [r1, r5]
+ mov r3, r0, lsr #8
+ and r3, r3, #255
+ strh r1, [r4, #0] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r5]
+ mov r2, r0, lsr #16
+ and r2, r2, #255
+ strh r3, [r4, #2] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, r5]
+ mov r0, r0, lsr #24
+ strh r2, [r4, #4] @ movhi
+ mov r0, r0, asl #1
+ ldrh r0, [r0, r5]
+ and r1, ip, #255
+ strh r0, [r4, #6] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, r5]
+ mov r2, ip, lsr #8
+ and r2, r2, #255
+ strh r1, [r4, #8] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, r5]
+ mov r3, ip, lsr #16
+ and r3, r3, #255
+ strh r2, [r4, #10] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r5]
+ mov ip, ip, lsr #24
+ strh r3, [r4, #12] @ movhi
+ mov ip, ip, asl #1
+ ldrh ip, [ip, r5]
+ add r7, r7, #1
+ cmp lr, r7
+ strh ip, [r4, #14] @ movhi
+ add r6, r6, #2
+ add r4, r4, #16
+ bne .L76
+.L504:
+ add r8, r8, lr, asl #4
+ add sl, sl, lr, asl #1
+.L74:
+ ands r4, fp, #7
+ beq .L431
+ ldrh r2, [sl, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add ip, r9, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne ip, ip, r3
+ tst r2, #1024
+ beq .L86
+ cmp r4, #3
+ bhi .L506
+ ldr r1, [ip, #4]
+ ldr lr, .L516+12
+.L91:
+ mov r0, #0
+.L92:
+ mov r3, r1, lsr #24
+ mov r3, r3, asl #1
+ add r0, r0, #1
+ ldrh r3, [r3, lr]
+ cmp r4, r0
+ strh r3, [r8], #2 @ movhi
+ mov r1, r1, asl #8
+ bhi .L92
+ b .L431
+.L329:
+ ldrh r3, [r6, #0]
+ strh r3, [r0, #14] @ movhi
+ strh r3, [r0, #0] @ movhi
+ strh r3, [r0, #2] @ movhi
+ strh r3, [r0, #4] @ movhi
+ strh r3, [r0, #6] @ movhi
+ strh r3, [r0, #8] @ movhi
+ strh r3, [r0, #10] @ movhi
+ strh r3, [r0, #12] @ movhi
+ b .L328
+.L390:
+ ldrh r3, [r6, #0]
+ strh r3, [r0, #14] @ movhi
+ strh r3, [r0, #0] @ movhi
+ strh r3, [r0, #2] @ movhi
+ strh r3, [r0, #4] @ movhi
+ strh r3, [r0, #6] @ movhi
+ strh r3, [r0, #8] @ movhi
+ strh r3, [r0, #10] @ movhi
+ strh r3, [r0, #12] @ movhi
+ b .L389
+.L517:
+ .align 2
+.L516:
+ .word io_registers
+ .word map_widths
+ .word vram
+ .word palette_ram_converted
+.L500:
+ rsb r4, r0, #8
+ cmp fp, r4
+ bcs .L163
+ ldrh r1, [sl, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add ip, ip, r3, asl #5
+ mov r2, r1, lsr #12
+ addne ip, ip, lr
+ tst r1, #1024
+ mov r4, r2, asl #4
+ bne .L507
+ cmp fp, #0
+ ldr r2, [ip, #0]
+ beq .L431
+ mov r3, r0, asl #2
+ mov r0, r2, lsr r3
+ ldr r2, .L516+12
+ mov r1, #0
+.L176:
+ ands r3, r0, #15
+ orr r3, r4, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ ldreqh r3, [r2, #0]
+ add r1, r1, #1
+ strneh r3, [r8, #0] @ movhi
+ streqh r3, [r8, #0] @ movhi
+ cmp fp, r1
+ mov r0, r0, lsr #4
+ add r8, r8, #2
+ bne .L176
+ b .L431
+.L495:
+ ldrh r5, [sl, #0]
+ rsb r6, r0, #8
+ mov r2, r5, asl #22
+ mov r3, r5, lsr #12
+ mov r2, r2, lsr #22
+ tst r5, #2048
+ mov r7, r3, asl #4
+ add r3, ip, r2, asl #5
+ addne r3, r3, lr
+ tst r5, #1024
+ beq .L279
+ cmp r6, #0
+ ldr r2, [r3, #0]
+ beq .L281
+ mov r3, r0, asl #2
+ ldr r5, .L516+12
+ mov r0, r2, asl r3
+ mov r1, #0
+ mov r2, r8
+.L283:
+ movs r3, r0, lsr #28
+ orr r3, r7, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ add r1, r1, #1
+ strneh r3, [r2, #0] @ movhi
+ streqh r3, [r2, #0] @ movhi
+ cmp r6, r1
+ mov r0, r0, asl #4
+ add r2, r2, #2
+ bne .L283
+ add r8, r8, r6, asl #1
+.L281:
+ add sl, sl, #2
+ b .L276
+.L488:
+ ldrh r2, [sl, #0]
+ rsb ip, r0, #8
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add r5, r9, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r5, r5, r3
+ ands r1, r2, #1024
+ beq .L103
+ cmp r0, #3
+ bhi .L508
+ subs lr, ip, #4
+ ldr r2, [r5, #4]
+ ldreq r6, .L516+12
+ beq .L111
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ ldr r6, .L516+12
+ mov r0, r2, asl r3
+ mov r1, r8
+ mov r2, #0
+.L113:
+ mov r3, r0, lsr #24
+ mov r3, r3, asl #1
+ add r2, r2, #1
+ ldrh r3, [r3, r6]
+ cmp lr, r2
+ strh r3, [r1], #2 @ movhi
+ mov r0, r0, asl #8
+ bne .L113
+ add r3, r8, ip, asl #1
+ sub r8, r3, #8
+.L111:
+ ldr r3, [r5, #0]
+ mov ip, lr
+ and r0, r3, #255
+ mov r0, r0, asl #1
+ ldrh r0, [r0, r6]
+ mov r2, r3, lsr #8
+ and r2, r2, #255
+ strh r0, [r8, #6] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, r6]
+ mov r1, r3, lsr #16
+ and r1, r1, #255
+ strh r2, [r8, #4] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, r6]
+ mov r3, r3, lsr #24
+ strh r1, [r8, #2] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r6]
+ strh r3, [r8], #8 @ movhi
+.L107:
+ add sl, sl, #2
+ b .L100
+.L503:
+ rsb ip, r0, #8
+ cmp fp, ip
+ bcs .L16
+ ldrh r2, [sl, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add ip, r9, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne ip, ip, r3
+ ands r4, r2, #1024
+ bne .L509
+ cmp r0, #3
+ bls .L37
+ cmp fp, #0
+ ldr r2, [ip, #4]
+ beq .L431
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ ldr r1, .L516+12
+ mov r0, r2, lsr r3
+ mov r2, r4
+.L40:
+ and r3, r0, #255
+ mov r3, r3, asl #1
+ add r2, r2, #1
+ ldrh r3, [r3, r1]
+ cmp fp, r2
+ strh r3, [r8], #2 @ movhi
+ mov r0, r0, lsr #8
+ bne .L40
+ b .L431
+.L233:
+ ldrh r3, [r5, #0]
+ strh r3, [r0, #14] @ movhi
+ strh r3, [r0, #0] @ movhi
+ strh r3, [r0, #2] @ movhi
+ strh r3, [r0, #4] @ movhi
+ strh r3, [r0, #6] @ movhi
+ strh r3, [r0, #8] @ movhi
+ strh r3, [r0, #10] @ movhi
+ strh r3, [r0, #12] @ movhi
+ b .L232
+.L147:
+ cmp r5, #3
+ bhi .L510
+ ldr r1, [ip, #0]
+ ldr lr, .L516+12
+.L157:
+ mov r0, #0
+.L158:
+ and r3, r1, #255
+ mov r3, r3, asl #1
+ add r0, r0, #1
+ ldrh r3, [r3, lr]
+ cmp r5, r0
+ strh r3, [r8], #2 @ movhi
+ mov r1, r1, lsr #8
+ bhi .L158
+ b .L431
+.L419:
+ ldr r2, [r3, #0]
+ ldr ip, .L516+12
+ mov r1, #0
+.L426:
+ ands r3, r2, #15
+ orr r3, r0, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldreqh r3, [ip, #0]
+ add r1, r1, #1
+ strneh r3, [r8, #0] @ movhi
+ streqh r3, [r8, #0] @ movhi
+ cmp r5, r1
+ mov r2, r2, lsr #4
+ add r8, r8, #2
+ bne .L426
+ b .L431
+.L86:
+ cmp r4, #3
+ bhi .L511
+ ldr r1, [ip, #0]
+ ldr lr, .L516+12
+.L96:
+ mov r0, #0
+.L97:
+ and r3, r1, #255
+ mov r3, r3, asl #1
+ add r0, r0, #1
+ ldrh r3, [r3, lr]
+ cmp r4, r0
+ strh r3, [r8], #2 @ movhi
+ mov r1, r1, lsr #8
+ bhi .L97
+ b .L431
+.L262:
+ ldr r2, [r3, #0]
+ ldr ip, .L516+12
+ mov r1, #0
+.L269:
+ ands r3, r2, #15
+ orr r3, r0, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldreqh r3, [ip, #0]
+ add r1, r1, #1
+ strneh r3, [r8, #0] @ movhi
+ streqh r3, [r8, #0] @ movhi
+ cmp r4, r1
+ mov r2, r2, lsr #4
+ add r8, r8, #2
+ bne .L269
+ b .L431
+.L279:
+ cmp r6, #0
+ ldr r2, [r3, #0]
+ beq .L281
+ mov r3, r0, asl #2
+ ldr r5, .L516+12
+ mov r0, r2, lsr r3
+ mov r1, #0
+ mov r2, r8
+.L290:
+ ands r3, r0, #15
+ orr r3, r7, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldreqh r3, [r5, #0]
+ add r1, r1, #1
+ strneh r3, [r2, #0] @ movhi
+ streqh r3, [r2, #0] @ movhi
+ cmp r6, r1
+ mov r0, r0, lsr #4
+ add r2, r2, #2
+ bne .L290
+ add r8, r8, r6, asl #1
+ b .L281
+.L163:
+ ldrh r1, [sl, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r5, r3, asl #4
+ add r3, ip, r2, asl #5
+ addne r3, r3, lr
+ tst r1, #1024
+ bne .L512
+ cmp r4, #0
+ ldr r2, [r3, #0]
+ beq .L185
+ mov r3, r0, asl #2
+ ldr r6, .L516+12
+ mov r0, r2, lsr r3
+ mov r1, #0
+ mov r2, r8
+.L194:
+ ands r3, r0, #15
+ orr r3, r5, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ add r1, r1, #1
+ strneh r3, [r2, #0] @ movhi
+ streqh r3, [r2, #0] @ movhi
+ cmp r4, r1
+ mov r0, r0, lsr #4
+ add r2, r2, #2
+ bne .L194
+.L484:
+ add r8, r8, r4, asl #1
+.L185:
+ rsb fp, r4, fp
+ add sl, sl, #2
+ b .L161
+.L103:
+ cmp r0, #3
+ bhi .L513
+ subs lr, ip, #4
+ ldr r2, [r5, #0]
+ ldreq r6, .L516+12
+ beq .L120
+ mov r3, r0, asl #3
+ ldr r6, .L516+12
+ mov r0, r2, lsr r3
+ mov r2, r1
+ mov r1, r8
+.L122:
+ and r3, r0, #255
+ mov r3, r3, asl #1
+ add r2, r2, #1
+ ldrh r3, [r3, r6]
+ cmp lr, r2
+ strh r3, [r1], #2 @ movhi
+ mov r0, r0, lsr #8
+ bne .L122
+ add r3, r8, ip, asl #1
+ sub r8, r3, #8
+.L120:
+ ldr r3, [r5, #4]
+ mov ip, lr
+ and r0, r3, #255
+ mov r0, r0, asl #1
+ ldrh r0, [r0, r6]
+ mov r2, r3, lsr #8
+ and r2, r2, #255
+ strh r0, [r8, #0] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, r6]
+ mov r1, r3, lsr #16
+ and r1, r1, #255
+ strh r2, [r8, #2] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, r6]
+ mov r3, r3, lsr #24
+ strh r1, [r8, #4] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r6]
+ add sl, sl, #2
+ strh r3, [r8, #6] @ movhi
+ add r8, r8, #8
+ b .L100
+.L16:
+ ldrh r2, [sl, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add lr, r9, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne lr, lr, r3
+ ands r1, r2, #1024
+ bne .L514
+ cmp r0, #3
+ bls .L65
+ cmp ip, #0
+ ldr r2, [lr, #4]
+ beq .L57
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ ldr lr, .L516+12
+ mov r0, r2, lsr r3
+ mov r2, r1
+ mov r1, r8
+.L68:
+ and r3, r0, #255
+ mov r3, r3, asl #1
+ add r2, r2, #1
+ ldrh r3, [r3, lr]
+ cmp ip, r2
+ strh r3, [r1], #2 @ movhi
+ mov r0, r0, lsr #8
+ bne .L68
+.L482:
+ add r8, r8, ip, asl #1
+.L57:
+ rsb fp, ip, fp
+ add sl, sl, #2
+ b .L14
+.L510:
+ ldr r1, [ip, #0]
+ ldr lr, .L516+12
+ and r0, r1, #255
+ mov r0, r0, asl #1
+ ldrh r0, [r0, lr]
+ mov r3, r1, lsr #8
+ and r3, r3, #255
+ strh r0, [r8, #0] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ mov r2, r1, lsr #16
+ and r2, r2, #255
+ strh r3, [r8, #2] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ mov r1, r1, lsr #24
+ strh r2, [r8, #4] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, lr]
+ subs r5, r5, #4
+ strh r1, [r8, #6] @ movhi
+ ldr r1, [ip, #4]
+ addne r8, r8, #8
+ bne .L157
+ b .L431
+.L493:
+ ldr r1, [ip, #4]
+ ldr lr, .L516+12
+ and r0, r1, #255
+ mov r0, r0, asl #1
+ ldrh r0, [r0, lr]
+ mov r3, r1, lsr #8
+ and r3, r3, #255
+ strh r0, [r8, #6] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ mov r2, r1, lsr #16
+ and r2, r2, #255
+ strh r3, [r8, #4] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ mov r1, r1, lsr #24
+ strh r2, [r8, #2] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, lr]
+ subs r5, r5, #4
+ strh r1, [r8, #0] @ movhi
+ ldr r1, [ip, #0]
+ addne r8, r8, #8
+ bne .L152
+ b .L431
+.L506:
+ ldr r1, [ip, #4]
+ ldr lr, .L516+12
+ and r0, r1, #255
+ mov r0, r0, asl #1
+ ldrh r0, [r0, lr]
+ mov r3, r1, lsr #8
+ and r3, r3, #255
+ strh r0, [r8, #6] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ mov r2, r1, lsr #16
+ and r2, r2, #255
+ strh r3, [r8, #4] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ mov r1, r1, lsr #24
+ strh r2, [r8, #2] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, lr]
+ subs r4, r4, #4
+ strh r1, [r8, #0] @ movhi
+ ldr r1, [ip, #0]
+ addne r8, r8, #8
+ bne .L91
+ b .L431
+.L511:
+ ldr r1, [ip, #0]
+ ldr lr, .L516+12
+ and r0, r1, #255
+ mov r0, r0, asl #1
+ ldrh r0, [r0, lr]
+ mov r3, r1, lsr #8
+ and r3, r3, #255
+ strh r0, [r8, #0] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ mov r2, r1, lsr #16
+ and r2, r2, #255
+ strh r3, [r8, #2] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ mov r1, r1, lsr #24
+ strh r2, [r8, #4] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, lr]
+ subs r4, r4, #4
+ strh r1, [r8, #6] @ movhi
+ ldr r1, [ip, #4]
+ addne r8, r8, #8
+ bne .L96
+ b .L431
+.L509:
+ cmp r0, #3
+ bls .L22
+ cmp fp, #0
+ ldr r2, [ip, #0]
+ beq .L431
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ ldr r1, .L516+12
+ mov r0, r2, asl r3
+ mov r2, #0
+.L26:
+ mov r3, r0, lsr #24
+ mov r3, r3, asl #1
+ add r2, r2, #1
+ ldrh r3, [r3, r1]
+ cmp fp, r2
+ strh r3, [r8], #2 @ movhi
+ mov r0, r0, asl #8
+ bne .L26
+ b .L431
+.L508:
+ cmp ip, #0
+ ldr r2, [r5, #0]
+ beq .L107
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ ldr lr, .L516+12
+ mov r0, r2, asl r3
+ mov r1, r8
+ mov r2, #0
+.L109:
+ mov r3, r0, lsr #24
+ mov r3, r3, asl #1
+ add r2, r2, #1
+ ldrh r3, [r3, lr]
+ cmp ip, r2
+ strh r3, [r1], #2 @ movhi
+ mov r0, r0, asl #8
+ bne .L109
+ add r8, r8, ip, asl #1
+.L515:
+ add sl, sl, #2
+ b .L100
+.L507:
+ cmp fp, #0
+ ldr r2, [ip, #0]
+ beq .L431
+ mov r3, r0, asl #2
+ mov r0, r2, asl r3
+ ldr r2, .L516+12
+ mov r1, r5
+.L170:
+ movs r3, r0, lsr #28
+ orr r3, r4, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ ldreqh r3, [r2, #0]
+ add r1, r1, #1
+ strneh r3, [r8, #0] @ movhi
+ streqh r3, [r8, #0] @ movhi
+ cmp fp, r1
+ mov r0, r0, asl #4
+ add r8, r8, #2
+ bne .L170
+ b .L431
+.L514:
+ cmp r0, #3
+ bls .L55
+ cmp ip, #0
+ ldr r2, [lr, #0]
+ beq .L57
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ ldr lr, .L516+12
+ mov r0, r2, asl r3
+ mov r1, r8
+ mov r2, #0
+.L59:
+ mov r3, r0, lsr #24
+ mov r3, r3, asl #1
+ add r2, r2, #1
+ ldrh r3, [r3, lr]
+ cmp ip, r2
+ strh r3, [r1], #2 @ movhi
+ mov r0, r0, asl #8
+ bne .L59
+ b .L482
+.L513:
+ cmp ip, #0
+ ldr r2, [r5, #4]
+ beq .L107
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ ldr lr, .L516+12
+ mov r0, r2, lsr r3
+ mov r2, r1
+ mov r1, r8
+.L118:
+ and r3, r0, #255
+ mov r3, r3, asl #1
+ add r2, r2, #1
+ ldrh r3, [r3, lr]
+ cmp ip, r2
+ strh r3, [r1], #2 @ movhi
+ mov r0, r0, lsr #8
+ bne .L118
+ add r8, r8, ip, asl #1
+ b .L515
+.L512:
+ cmp r4, #0
+ ldr r2, [r3, #0]
+ beq .L185
+ mov r3, r0, asl #2
+ ldr r6, .L516+12
+ mov r0, r2, asl r3
+ mov r1, #0
+ mov r2, r8
+.L187:
+ movs r3, r0, lsr #28
+ orr r3, r5, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldreqh r3, [r6, #0]
+ add r1, r1, #1
+ strneh r3, [r2, #0] @ movhi
+ streqh r3, [r2, #0] @ movhi
+ cmp r4, r1
+ mov r0, r0, asl #4
+ add r2, r2, #2
+ bne .L187
+ b .L484
+.L65:
+ subs r4, ip, #4
+ ldr r2, [lr, #0]
+ ldreq r5, .L516+12
+ beq .L70
+ mov r3, r0, asl #3
+ ldr r5, .L516+12
+ mov r0, r2, lsr r3
+ mov r2, r1
+ mov r1, r8
+.L72:
+ and r3, r0, #255
+ mov r3, r3, asl #1
+ add r2, r2, #1
+ ldrh r3, [r3, r5]
+ cmp r4, r2
+ strh r3, [r1], #2 @ movhi
+ mov r0, r0, lsr #8
+ bne .L72
+ add r3, r8, ip, asl #1
+ sub r8, r3, #8
+.L70:
+ ldr r3, [lr, #4]
+ and r0, r3, #255
+ mov r0, r0, asl #1
+ ldrh r0, [r0, r5]
+ mov r2, r3, lsr #8
+ and r2, r2, #255
+ strh r0, [r8, #0] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, r5]
+ mov r1, r3, lsr #16
+ and r1, r1, #255
+ strh r2, [r8, #2] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, r5]
+ mov r3, r3, lsr #24
+ strh r1, [r8, #4] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r5]
+ strh r3, [r8, #6] @ movhi
+ add r8, r8, #8
+ b .L57
+.L55:
+ subs r4, ip, #4
+ ldr r2, [lr, #4]
+ ldreq r5, .L516+12
+ beq .L61
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ ldr r5, .L516+12
+ mov r0, r2, asl r3
+ mov r1, r8
+ mov r2, #0
+.L63:
+ mov r3, r0, lsr #24
+ mov r3, r3, asl #1
+ add r2, r2, #1
+ ldrh r3, [r3, r5]
+ cmp r4, r2
+ strh r3, [r1], #2 @ movhi
+ mov r0, r0, asl #8
+ bne .L63
+ add r3, r8, ip, asl #1
+ sub r8, r3, #8
+.L61:
+ ldr r3, [lr, #0]
+ and r0, r3, #255
+ mov r0, r0, asl #1
+ ldrh r0, [r0, r5]
+ mov r2, r3, lsr #8
+ and r2, r2, #255
+ strh r0, [r8, #6] @ movhi
+ mov r2, r2, asl #1
+ ldrh r2, [r2, r5]
+ mov r1, r3, lsr #16
+ and r1, r1, #255
+ strh r2, [r8, #4] @ movhi
+ mov r1, r1, asl #1
+ ldrh r1, [r1, r5]
+ mov r3, r3, lsr #24
+ strh r1, [r8, #2] @ movhi
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r5]
+ strh r3, [r8], #8 @ movhi
+ b .L57
+.L22:
+ mov r3, r0, asl #3
+ ldr r1, [ip, #4]
+ add r2, fp, r0
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L27
+ cmp fp, #0
+ ldrne r0, .L516+12
+ movne r2, #0
+ beq .L431
+.L36:
+ mov r3, r1, lsr #24
+ mov r3, r3, asl #1
+ add r2, r2, #1
+ ldrh r3, [r3, r0]
+ cmp fp, r2
+ strh r3, [r8], #2 @ movhi
+ mov r1, r1, asl #8
+ bne .L36
+ b .L431
+.L37:
+ add r2, fp, r0
+ ldr r3, [ip, #0]
+ cmp r2, #4
+ mov r1, r0, asl #3
+ mov r2, r3, lsr r1
+ bhi .L41
+ cmp fp, #0
+ ldrne r0, .L516+12
+ movne r1, r4
+ beq .L431
+.L50:
+ and r3, r2, #255
+ mov r3, r3, asl #1
+ add r1, r1, #1
+ ldrh r3, [r3, r0]
+ cmp fp, r1
+ strh r3, [r8], #2 @ movhi
+ mov r2, r2, lsr #8
+ bne .L50
+ b .L431
+.L27:
+ rsbs lr, r0, #4
+ beq .L30
+ ldr r4, .L516+12
+ mov r0, r8
+ mov r2, #0
+.L32:
+ mov r3, r1, lsr #24
+ mov r3, r3, asl #1
+ add r2, r2, #1
+ ldrh r3, [r3, r4]
+ cmp lr, r2
+ strh r3, [r0], #2 @ movhi
+ mov r1, r1, asl #8
+ bne .L32
+ add r8, r8, lr, asl #1
+.L30:
+ subs r0, fp, lr
+ ldr r2, [ip, #0]
+ beq .L431
+ ldr ip, .L516+12
+ mov r1, #0
+.L35:
+ mov r3, r2, lsr #24
+ mov r3, r3, asl #1
+ add r1, r1, #1
+ ldrh r3, [r3, ip]
+ cmp r0, r1
+ strh r3, [r8], #2 @ movhi
+ mov r2, r2, asl #8
+ bne .L35
+ b .L431
+.L41:
+ rsbs lr, r0, #4
+ beq .L44
+ ldr r5, .L516+12
+ mov r1, r4
+ mov r0, r8
+.L46:
+ and r3, r2, #255
+ mov r3, r3, asl #1
+ add r1, r1, #1
+ ldrh r3, [r3, r5]
+ cmp lr, r1
+ strh r3, [r0], #2 @ movhi
+ mov r2, r2, lsr #8
+ bne .L46
+ add r8, r8, lr, asl #1
+.L44:
+ subs r0, fp, lr
+ ldr r2, [ip, #4]
+ beq .L431
+ ldr ip, .L516+12
+ mov r1, #0
+.L49:
+ and r3, r2, #255
+ mov r3, r3, asl #1
+ add r1, r1, #1
+ ldrh r3, [r3, ip]
+ cmp r0, r1
+ strh r3, [r8], #2 @ movhi
+ mov r2, r2, lsr #8
+ bne .L49
+ b .L431
+ .size render_scanline_text_base_normal, .-render_scanline_text_base_normal
+ .align 2
+ .global render_scanline_text_transparent_normal
+ .type render_scanline_text_transparent_normal, %function
+render_scanline_text_transparent_normal:
+ @ args = 0, pretend = 0, frame = 4
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr ip, .L1161
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ add r5, ip, r0, asl #2
+ ldrh lr, [r5, #18]
+ ldrh r4, [ip, #6]
+ add ip, ip, r0, asl #1
+ add r4, r4, lr
+ mov r6, r4, asl #23
+ ldrh r7, [ip, #8]
+ mov r6, r6, lsr #23
+ ldrh r0, [r5, #16]
+ cmp r6, #255
+ movls lr, #0
+ movhi lr, #1
+ mov r5, r7, lsr #14
+ rsb r9, r1, r2
+ ldr r2, .L1161+4
+ ands lr, lr, r5, lsr #1
+ mov ip, r7, asl #3
+ add lr, r3, r1, asl #1
+ ldr r8, .L1161+8
+ subne r3, r6, #256
+ ldr r2, [r2, r5, asl #2]
+ movne r3, r3, lsr #3
+ moveq r3, r4, asl #3
+ add r0, r0, r1
+ and ip, ip, #63488
+ addne r3, r3, r2, lsr #3
+ andeq r3, r3, #1984
+ add ip, ip, r8
+ mov r0, r0, asl #23
+ addne r4, ip, r3, asl #6
+ addeq r4, ip, r3
+ mov r0, r0, lsr #23
+ tst r5, #1
+ andeq r0, r0, #255
+ sub sp, sp, #4
+ moveq r3, r0, lsr #3
+ addeq ip, r4, r3, asl #1
+ streq r4, [sp, #0]
+ beq .L526
+ cmp r0, #255
+ subhi r0, r0, #256
+ movhi r3, r0, lsr #3
+ movls r3, r0, lsr #3
+ addhi r3, r4, r3, asl #1
+ addls ip, r4, r3, asl #1
+ addls r4, r4, #2048
+ addhi ip, r3, #2048
+ strhi r4, [sp, #0]
+ strls r4, [sp, #0]
+.L526:
+ tst r7, #128
+ beq .L527
+ and r1, r0, #255
+ and r3, r6, #7
+ mov r2, r7, asl #12
+ mov r3, r3, asl #3
+ and r2, r2, #49152
+ rsb sl, r1, #256
+ add r2, r2, r3
+ cmp r9, sl
+ mov r3, r3, asl #1
+ add r8, r2, r8
+ rsb fp, r3, #56
+ and r0, r0, #7
+ bls .L1136
+ cmp r0, #0
+ moveq r5, r0
+ bne .L1137
+.L729:
+ rsb r3, r5, sl
+ movs r7, r3, lsr #3
+ beq .L783
+ ldr r5, .L1161+12
+ mov r0, lr
+ mov r6, #0
+ b .L785
+.L1138:
+ ldr r2, [r1, #4]
+ cmp r2, #0
+ beq .L790
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #0] @ movhi
+.L790:
+ ldr r2, [r1, #0]
+ cmp r2, #0
+ beq .L799
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #14] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #12] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #10] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #8] @ movhi
+.L799:
+ add r6, r6, #1
+ cmp r7, r6
+ add r0, r0, #16
+ beq .L825
+.L1139:
+ add ip, ip, #2
+.L785:
+ ldrh r2, [ip, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add r1, r8, r3, asl #6
+ addne r1, r1, fp
+ tst r2, #1024
+ bne .L1138
+ ldr r2, [r1, #0]
+ cmp r2, #0
+ beq .L808
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #4] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #6] @ movhi
+.L808:
+ ldr r2, [r1, #4]
+ cmp r2, #0
+ beq .L799
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ add r6, r6, #1
+ strneh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #12] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #14] @ movhi
+ cmp r7, r6
+ add r0, r0, #16
+ bne .L1139
+.L825:
+ add lr, lr, r7, asl #4
+.L783:
+ rsb sl, sl, r9
+ movs r4, sl, lsr #3
+ ldreq r3, [sp, #0]
+ beq .L829
+ ldr r7, .L1161+12
+ ldr r6, [sp, #0]
+ mov r5, lr
+ mov r2, #0
+ b .L830
+.L1141:
+ ldr r1, [r0, #4]
+ cmp r1, #0
+ beq .L835
+ ands r3, r1, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #2] @ movhi
+ movs r3, r1, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #0] @ movhi
+.L835:
+ ldr r1, [r0, #0]
+ cmp r1, #0
+ beq .L844
+ ands r3, r1, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #14] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #12] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #10] @ movhi
+ movs r3, r1, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #8] @ movhi
+.L844:
+ add r2, r2, #1
+ cmp r4, r2
+ add r5, r5, #16
+ add r6, r6, #2
+ beq .L1140
+.L830:
+ ldrh r1, [r6, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r0, r8, r3, asl #6
+ addne r0, r0, fp
+ tst r1, #1024
+ bne .L1141
+ ldr r1, [r0, #0]
+ cmp r1, #0
+ beq .L853
+ ands r3, r1, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #0] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #2] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #4] @ movhi
+ movs r3, r1, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #6] @ movhi
+.L853:
+ ldr r1, [r0, #4]
+ cmp r1, #0
+ beq .L844
+ ands r3, r1, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ add r2, r2, #1
+ strneh r3, [r5, #8] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ add r6, r6, #2
+ strneh r3, [r5, #10] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #12] @ movhi
+ movs r3, r1, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r5, #14] @ movhi
+ cmp r4, r2
+ add r5, r5, #16
+ bne .L830
+.L1140:
+ ldr r2, [sp, #0]
+ add lr, lr, r4, asl #4
+ add r3, r2, r4, asl #1
+.L829:
+ ands r5, sl, #7
+ beq .L1118
+ ldrh r4, [r3, #0]
+ mov r3, r4, asl #22
+ mov r3, r3, lsr #22
+ tst r4, #2048
+ add ip, r8, r3, asl #6
+ addne ip, ip, fp
+ tst r4, #1024
+ beq .L874
+ cmp r5, #3
+ ldrls r2, [ip, #4]
+ bls .L888
+ ldr r1, [ip, #4]
+ cmp r1, #0
+ beq .L878
+ ands r2, r1, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #8
+ strneh r2, [lr, #6] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #16
+ strneh r2, [lr, #4] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #2] @ movhi
+ movs r2, r1, lsr #24
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #0] @ movhi
+.L878:
+ subs r5, r5, #4
+ ldr r2, [ip, #0]
+ addne lr, lr, #8
+ beq .L1118
+.L888:
+ mov r1, #0
+.L889:
+ movs r3, r2, lsr #24
+ mov ip, r3, asl #1
+ ldrne r3, .L1161+12
+ mov r0, r1, asl #1
+ ldrneh ip, [ip, r3]
+ add r1, r1, #1
+ strneh ip, [r0, lr] @ movhi
+ cmp r1, r5
+ mov r2, r2, asl #8
+ bcc .L889
+.L1118:
+ add sp, sp, #4
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L527:
+ and r1, r0, #255
+ and r3, r6, #7
+ mov r2, r7, asl #12
+ mov r3, r3, asl #2
+ and r2, r2, #49152
+ rsb r4, r1, #256
+ add r2, r2, r3
+ cmp r9, r4
+ mov r3, r3, asl #1
+ add r8, r2, r8
+ rsb fp, r3, #28
+ and r0, r0, #7
+ bls .L1142
+ cmp r0, #0
+ moveq r6, r0
+ bne .L1143
+.L1003:
+ rsb r3, r6, r4
+ movs sl, r3, lsr #3
+ beq .L1021
+ ldr r6, .L1161+12
+ mov r0, lr
+ mov r7, #0
+ b .L1023
+.L1144:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L1028
+ ands r3, r2, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #14] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #12] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #0] @ movhi
+.L1028:
+ add r7, r7, #1
+ cmp sl, r7
+ add r0, r0, #16
+ beq .L1061
+.L1145:
+ add ip, ip, #2
+.L1023:
+ ldrh r1, [ip, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r5, r3, asl #4
+ add r3, r8, r2, asl #5
+ addne r3, r3, fp
+ tst r1, #1024
+ bne .L1144
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L1028
+ ands r3, r2, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ add r7, r7, #1
+ strneh r3, [r0, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #14] @ movhi
+ cmp sl, r7
+ add r0, r0, #16
+ bne .L1145
+.L1061:
+ add lr, lr, sl, asl #4
+.L1021:
+ rsb sl, r4, r9
+ movs r4, sl, lsr #3
+ ldreq r2, [sp, #0]
+ beq .L1065
+ ldr r7, .L1161+12
+ ldr r6, [sp, #0]
+ mov r0, lr
+ mov ip, #0
+ b .L1066
+.L1147:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L1071
+ ands r3, r2, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #14] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #12] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #0] @ movhi
+.L1071:
+ add ip, ip, #1
+ cmp r4, ip
+ add r0, r0, #16
+ add r6, r6, #2
+ beq .L1146
+.L1066:
+ ldrh r1, [r6, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r5, r3, asl #4
+ add r3, r8, r2, asl #5
+ addne r3, r3, fp
+ tst r1, #1024
+ bne .L1147
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L1071
+ ands r3, r2, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ add ip, ip, #1
+ strneh r3, [r0, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ add r6, r6, #2
+ strneh r3, [r0, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r5, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #14] @ movhi
+ cmp r4, ip
+ add r0, r0, #16
+ bne .L1066
+.L1146:
+ ldr r3, [sp, #0]
+ add lr, lr, r4, asl #4
+ add r2, r3, r4, asl #1
+.L1065:
+ ands r5, sl, #7
+ beq .L1118
+ ldrh r4, [r2, #0]
+ mov r3, r4, asl #22
+ mov r3, r3, lsr #22
+ tst r4, #2048
+ add r3, r8, r3, asl #5
+ mov r2, r4, lsr #12
+ addne r3, r3, fp
+ tst r4, #1024
+ mov ip, r2, asl #4
+ beq .L1108
+ ldr r2, [r3, #0]
+ ldr r4, .L1161+12
+ mov r0, #0
+.L1110:
+ movs r3, r2, lsr #28
+ orr r3, ip, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r5, r0
+ mov r2, r2, asl #4
+ bne .L1110
+ b .L1118
+.L1142:
+ cmp r0, #0
+ bne .L1148
+.L912:
+ movs sl, r9, lsr #3
+ beq .L947
+ ldr r6, .L1161+12
+ mov r0, lr
+ mov r5, ip
+ mov r7, #0
+ b .L949
+.L1150:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L954
+ ands r3, r2, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #14] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #12] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #0] @ movhi
+.L954:
+ add r7, r7, #1
+ cmp sl, r7
+ add r0, r0, #16
+ add r5, r5, #2
+ beq .L1149
+.L949:
+ ldrh r1, [r5, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r4, r3, asl #4
+ add r3, r8, r2, asl #5
+ addne r3, r3, fp
+ tst r1, #1024
+ bne .L1150
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L954
+ ands r3, r2, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ add r7, r7, #1
+ strneh r3, [r0, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ add r5, r5, #2
+ strneh r3, [r0, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r4, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #14] @ movhi
+ cmp sl, r7
+ add r0, r0, #16
+ bne .L949
+.L1149:
+ add lr, lr, sl, asl #4
+ add ip, ip, sl, asl #1
+.L947:
+ ands r4, r9, #7
+ beq .L1118
+ ldrh r1, [ip, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r3, r8, r3, asl #5
+ mov r2, r1, lsr #12
+ addne r3, r3, fp
+ tst r1, #1024
+ mov ip, r2, asl #4
+ beq .L991
+ ldr r2, [r3, #0]
+ ldr r5, .L1161+12
+ mov r0, #0
+.L993:
+ movs r3, r2, lsr #28
+ orr r3, ip, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r4, r0
+ mov r2, r2, asl #4
+ bne .L993
+ b .L1118
+.L1136:
+ cmp r0, #0
+ bne .L1151
+.L531:
+ movs r7, r9, lsr #3
+ beq .L645
+ ldr r5, .L1161+12
+ mov r0, lr
+ mov r4, ip
+ mov r6, #0
+ b .L647
+.L1153:
+ ldr r2, [r1, #4]
+ cmp r2, #0
+ beq .L652
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #0] @ movhi
+.L652:
+ ldr r2, [r1, #0]
+ cmp r2, #0
+ beq .L661
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #14] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #12] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #10] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #8] @ movhi
+.L661:
+ add r6, r6, #1
+ cmp r7, r6
+ add r0, r0, #16
+ add r4, r4, #2
+ beq .L1152
+.L647:
+ ldrh r2, [r4, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add r1, r8, r3, asl #6
+ addne r1, r1, fp
+ tst r2, #1024
+ bne .L1153
+ ldr r2, [r1, #0]
+ cmp r2, #0
+ beq .L670
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #4] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #6] @ movhi
+.L670:
+ ldr r2, [r1, #4]
+ cmp r2, #0
+ beq .L661
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ add r6, r6, #1
+ strneh r3, [r0, #8] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ add r4, r4, #2
+ strneh r3, [r0, #10] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #12] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #14] @ movhi
+ cmp r7, r6
+ add r0, r0, #16
+ bne .L647
+.L1152:
+ add lr, lr, r7, asl #4
+ add ip, ip, r7, asl #1
+.L645:
+ ands r4, r9, #7
+ beq .L1118
+ ldrh r2, [ip, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add ip, r8, r3, asl #6
+ addne ip, ip, fp
+ tst r2, #1024
+ beq .L691
+ cmp r4, #3
+ ldrls r2, [ip, #4]
+ bls .L705
+ ldr r1, [ip, #4]
+ cmp r1, #0
+ beq .L695
+ ands r2, r1, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #8
+ strneh r2, [lr, #6] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #16
+ strneh r2, [lr, #4] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #2] @ movhi
+ movs r2, r1, lsr #24
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #0] @ movhi
+.L695:
+ subs r4, r4, #4
+ ldr r2, [ip, #0]
+ addne lr, lr, #8
+ beq .L1118
+.L705:
+ mov r1, #0
+.L706:
+ movs r3, r2, lsr #24
+ mov ip, r3, asl #1
+ ldrne r3, .L1161+12
+ mov r0, r1, asl #1
+ ldrneh ip, [ip, r3]
+ add r1, r1, #1
+ strneh ip, [r0, lr] @ movhi
+ cmp r4, r1
+ mov r2, r2, asl #8
+ bhi .L706
+ b .L1118
+.L1148:
+ rsb r4, r0, #8
+ cmp r9, r4
+ bcs .L914
+ ldrh r1, [ip, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add ip, r8, r3, asl #5
+ mov r2, r1, lsr #12
+ addne ip, ip, fp
+ tst r1, #1024
+ mov r2, r2, asl #4
+ bne .L1154
+ cmp r9, #0
+ ldr ip, [ip, #0]
+ beq .L1118
+ mov r3, r0, asl #2
+ ldr r4, .L1161+12
+ mov r0, ip, lsr r3
+ mov ip, #0
+.L926:
+ ands r3, r0, #15
+ orr r3, r2, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r1, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r9, ip
+ mov r0, r0, lsr #4
+ bne .L926
+ b .L1118
+.L1162:
+ .align 2
+.L1161:
+ .word io_registers
+ .word map_widths
+ .word vram
+ .word palette_ram_converted
+.L1137:
+ ldrh r2, [ip, #0]
+ rsb r5, r0, #8
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add r6, r8, r3, asl #6
+ addne r6, r6, fp
+ ands r2, r2, #1024
+ beq .L732
+ cmp r0, #3
+ bhi .L1155
+ subs r4, r5, #4
+ ldr r2, [r6, #4]
+ beq .L743
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r0, r2, asl r3
+ ldr r7, .L1161+12
+ mov r1, #0
+.L745:
+ movs r3, r0, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r4, r1
+ mov r0, r0, asl #8
+ bne .L745
+ add r3, lr, r5, asl #1
+ sub lr, r3, #8
+.L743:
+ ldr r1, [r6, #0]
+ cmp r1, #0
+ beq .L774
+ ands r2, r1, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #8
+ strneh r2, [lr, #6] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #16
+ strneh r2, [lr, #4] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #2] @ movhi
+ movs r2, r1, lsr #24
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #0] @ movhi
+.L774:
+ add lr, lr, #8
+ mov r5, r4
+.L736:
+ add ip, ip, #2
+ b .L729
+.L1143:
+ ldrh r5, [ip, #0]
+ rsb r6, r0, #8
+ mov r2, r5, asl #22
+ mov r3, r5, lsr #12
+ mov r2, r2, lsr #22
+ tst r5, #2048
+ mov r7, r3, asl #4
+ add r3, r8, r2, asl #5
+ addne r3, r3, fp
+ tst r5, #1024
+ beq .L1006
+ cmp r6, #0
+ ldr r2, [r3, #0]
+ beq .L1008
+ mov r3, r0, asl #2
+ mov r0, r2, asl r3
+ ldr r5, .L1161+12
+ mov r1, #0
+.L1010:
+ movs r3, r0, lsr #28
+ orr r3, r7, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r6, r1
+ mov r0, r0, asl #4
+ bne .L1010
+ add lr, lr, r6, asl #1
+.L1008:
+ add ip, ip, #2
+ b .L1003
+.L1151:
+ rsb r4, r0, #8
+ cmp r9, r4
+ bcs .L533
+ ldrh r2, [ip, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add ip, r8, r3, asl #6
+ addne ip, ip, fp
+ tst r2, #1024
+ bne .L1156
+ cmp r0, #3
+ bls .L566
+ cmp r9, #0
+ ldr r2, [ip, #4]
+ beq .L1118
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r0, r2, lsr r3
+ ldr ip, .L1161+12
+ mov r1, #0
+.L569:
+ ands r3, r0, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r9, r1
+ mov r0, r0, lsr #8
+ bne .L569
+ b .L1118
+.L1108:
+ ldr r2, [r3, #0]
+ ldr r4, .L1161+12
+ mov r0, #0
+.L1114:
+ ands r3, r2, #15
+ orr r3, ip, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r5, r0
+ mov r2, r2, lsr #4
+ bne .L1114
+ b .L1118
+.L874:
+ cmp r5, #3
+ ldrls r2, [ip, #0]
+ bls .L905
+ ldr r1, [ip, #0]
+ cmp r1, #0
+ beq .L895
+ ands r2, r1, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #8
+ strneh r2, [lr, #0] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #16
+ strneh r2, [lr, #2] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #4] @ movhi
+ movs r2, r1, lsr #24
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #6] @ movhi
+.L895:
+ subs r5, r5, #4
+ ldr r2, [ip, #4]
+ addne lr, lr, #8
+ beq .L1118
+.L905:
+ mov r1, #0
+.L906:
+ ands r3, r2, #255
+ mov ip, r3, asl #1
+ ldrne r3, .L1161+12
+ mov r0, r1, asl #1
+ ldrneh ip, [ip, r3]
+ add r1, r1, #1
+ strneh ip, [r0, lr] @ movhi
+ cmp r1, r5
+ mov r2, r2, lsr #8
+ bcc .L906
+ b .L1118
+.L991:
+ ldr r2, [r3, #0]
+ ldr r5, .L1161+12
+ mov r0, #0
+.L997:
+ ands r3, r2, #15
+ orr r3, ip, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r4, r0
+ mov r2, r2, lsr #4
+ bne .L997
+ b .L1118
+.L691:
+ cmp r4, #3
+ ldrls r2, [ip, #0]
+ bls .L722
+ ldr r1, [ip, #0]
+ cmp r1, #0
+ beq .L712
+ ands r2, r1, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #8
+ strneh r2, [lr, #0] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #16
+ strneh r2, [lr, #2] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #4] @ movhi
+ movs r2, r1, lsr #24
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #6] @ movhi
+.L712:
+ subs r4, r4, #4
+ ldr r2, [ip, #4]
+ addne lr, lr, #8
+ beq .L1118
+.L722:
+ mov r1, #0
+.L723:
+ ands r3, r2, #255
+ mov ip, r3, asl #1
+ ldrne r3, .L1161+12
+ mov r0, r1, asl #1
+ ldrneh ip, [ip, r3]
+ add r1, r1, #1
+ strneh ip, [r0, lr] @ movhi
+ cmp r4, r1
+ mov r2, r2, lsr #8
+ bhi .L723
+ b .L1118
+.L732:
+ cmp r0, #3
+ bhi .L1157
+ subs r4, r5, #4
+ ldr r2, [r6, #0]
+ beq .L767
+ mov r3, r0, asl #3
+ mov r0, r2, lsr r3
+ ldr r7, .L1161+12
+ mov r1, #0
+.L769:
+ ands r3, r0, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r4, r1
+ mov r0, r0, lsr #8
+ bne .L769
+ add r3, lr, r5, asl #1
+ sub lr, r3, #8
+.L767:
+ ldr r1, [r6, #4]
+ cmp r1, #0
+ beq .L774
+ ands r2, r1, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #8
+ strneh r2, [lr, #0] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #16
+ strneh r2, [lr, #2] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #4] @ movhi
+ movs r2, r1, lsr #24
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #6] @ movhi
+ b .L774
+.L1006:
+ cmp r6, #0
+ ldr r2, [r3, #0]
+ beq .L1008
+ mov r3, r0, asl #2
+ mov r0, r2, lsr r3
+ ldr r5, .L1161+12
+ mov r1, #0
+.L1016:
+ ands r3, r0, #15
+ orr r3, r7, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r6, r1
+ mov r0, r0, lsr #4
+ bne .L1016
+ add lr, lr, r6, asl #1
+ b .L1008
+.L914:
+ ldrh r1, [ip, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r5, r3, asl #4
+ add r3, r8, r2, asl #5
+ addne r3, r3, fp
+ tst r1, #1024
+ bne .L1158
+ cmp r4, #0
+ ldr r2, [r3, #0]
+ beq .L934
+ mov r3, r0, asl #2
+ mov r0, r2, lsr r3
+ ldr r6, .L1161+12
+ mov r1, #0
+.L942:
+ ands r3, r0, #15
+ orr r3, r5, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r4, r1
+ mov r0, r0, lsr #4
+ bne .L942
+.L1133:
+ add lr, lr, r4, asl #1
+.L934:
+ rsb r9, r4, r9
+ add ip, ip, #2
+ b .L912
+.L533:
+ ldrh r2, [ip, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add r5, r8, r3, asl #6
+ addne r5, r5, fp
+ ands r2, r2, #1024
+ bne .L1159
+ cmp r0, #3
+ bls .L621
+ cmp r4, #0
+ ldr r1, [r5, #4]
+ beq .L598
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ ldr r5, .L1161+12
+ mov r0, r1, lsr r3
+ mov r1, r2
+.L624:
+ ands r3, r0, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r4, r1
+ mov r0, r0, lsr #8
+ bne .L624
+.L1120:
+ add lr, lr, r4, asl #1
+.L598:
+ rsb r9, r4, r9
+ add ip, ip, #2
+ b .L531
+.L1155:
+ cmp r5, #0
+ ldr r2, [r6, #0]
+ beq .L736
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r0, r2, asl r3
+ ldr r4, .L1161+12
+ mov r1, #0
+.L738:
+ movs r3, r0, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r5, r1
+ mov r0, r0, asl #8
+ bne .L738
+ add lr, lr, r5, asl #1
+.L1160:
+ add ip, ip, #2
+ b .L729
+.L1154:
+ cmp r9, #0
+ ldr ip, [ip, #0]
+ beq .L1118
+ mov r3, r0, asl #2
+ ldr r4, .L1161+12
+ mov r0, ip, asl r3
+ mov ip, #0
+.L921:
+ movs r3, r0, lsr #28
+ orr r3, r2, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r1, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r9, ip
+ mov r0, r0, asl #4
+ bne .L921
+ b .L1118
+.L1159:
+ cmp r0, #3
+ bls .L596
+ cmp r4, #0
+ ldr r2, [r5, #0]
+ beq .L598
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r0, r2, asl r3
+ ldr r5, .L1161+12
+ mov r1, #0
+.L600:
+ movs r3, r0, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r4, r1
+ mov r0, r0, asl #8
+ bne .L600
+ b .L1120
+.L1157:
+ cmp r5, #0
+ ldr r1, [r6, #4]
+ beq .L736
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ ldr r4, .L1161+12
+ mov r0, r1, lsr r3
+ mov r1, r2
+.L762:
+ ands r3, r0, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r5, r1
+ mov r0, r0, lsr #8
+ bne .L762
+ add lr, lr, r5, asl #1
+ b .L1160
+.L1156:
+ cmp r0, #3
+ bls .L539
+ cmp r9, #0
+ ldr r2, [ip, #0]
+ beq .L1118
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r0, r2, asl r3
+ ldr ip, .L1161+12
+ mov r1, #0
+.L543:
+ movs r3, r0, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r9, r1
+ mov r0, r0, asl #8
+ bne .L543
+ b .L1118
+.L1158:
+ cmp r4, #0
+ ldr r2, [r3, #0]
+ beq .L934
+ mov r3, r0, asl #2
+ mov r0, r2, asl r3
+ ldr r6, .L1161+12
+ mov r1, #0
+.L936:
+ movs r3, r0, lsr #28
+ orr r3, r5, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r4, r1
+ mov r0, r0, asl #4
+ bne .L936
+ b .L1133
+.L539:
+ mov r3, r0, asl #3
+ ldr r1, [ip, #4]
+ add r2, r9, r0
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L547
+ cmp r9, #0
+ ldrne ip, .L1161+12
+ movne r0, #0
+ beq .L1118
+.L562:
+ movs r3, r1, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r9, r0
+ mov r1, r1, asl #8
+ bne .L562
+ b .L1118
+.L596:
+ subs r6, r4, #4
+ ldr r2, [r5, #4]
+ beq .L605
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r0, r2, asl r3
+ ldr r7, .L1161+12
+ mov r1, #0
+.L607:
+ movs r3, r0, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r6, r1
+ mov r0, r0, asl #8
+ bne .L607
+ add r3, lr, r4, asl #1
+ sub lr, r3, #8
+.L605:
+ ldr r1, [r5, #0]
+ cmp r1, #0
+ beq .L636
+ ands r2, r1, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #8
+ strneh r2, [lr, #6] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #16
+ strneh r2, [lr, #4] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #2] @ movhi
+ movs r2, r1, lsr #24
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #0] @ movhi
+.L636:
+ add lr, lr, #8
+ b .L598
+.L566:
+ add r2, r9, r0
+ ldr r3, [ip, #0]
+ cmp r2, #4
+ mov r1, r0, asl #3
+ mov r2, r3, lsr r1
+ bhi .L573
+ cmp r9, #0
+ ldrne ip, .L1161+12
+ movne r0, #0
+ beq .L1118
+.L588:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r9, r0
+ mov r2, r2, lsr #8
+ bne .L588
+ b .L1118
+.L621:
+ subs r6, r4, #4
+ ldr r2, [r5, #0]
+ beq .L629
+ mov r3, r0, asl #3
+ mov r0, r2, lsr r3
+ ldr r7, .L1161+12
+ mov r1, #0
+.L631:
+ ands r3, r0, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ mov r2, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r6, r1
+ mov r0, r0, lsr #8
+ bne .L631
+ add r3, lr, r4, asl #1
+ sub lr, r3, #8
+.L629:
+ ldr r1, [r5, #4]
+ cmp r1, #0
+ beq .L636
+ ands r2, r1, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #8
+ strneh r2, [lr, #0] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r3, r1, lsr #16
+ strneh r2, [lr, #2] @ movhi
+ ands r2, r3, #255
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #4] @ movhi
+ movs r2, r1, lsr #24
+ ldrne r3, .L1161+12
+ movne r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ strneh r2, [lr, #6] @ movhi
+ add lr, lr, #8
+ b .L598
+.L547:
+ rsbs r4, r0, #4
+ beq .L550
+ ldr r5, .L1161+12
+ mov r0, #0
+.L552:
+ movs r3, r1, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r4, r0
+ mov r1, r1, asl #8
+ bne .L552
+ add lr, lr, r4, asl #1
+.L550:
+ subs r4, r9, r4
+ ldr r2, [ip, #0]
+ beq .L1118
+ ldr ip, .L1161+12
+ mov r0, #0
+.L558:
+ movs r3, r2, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r4, r0
+ mov r2, r2, asl #8
+ bne .L558
+ b .L1118
+.L573:
+ rsbs r4, r0, #4
+ beq .L576
+ ldr r5, .L1161+12
+ mov r0, #0
+.L578:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r4, r0
+ mov r2, r2, lsr #8
+ bne .L578
+ add lr, lr, r4, asl #1
+.L576:
+ subs r4, r9, r4
+ ldr r2, [ip, #4]
+ beq .L1118
+ ldr ip, .L1161+12
+ mov r0, #0
+.L584:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r4, r0
+ mov r2, r2, lsr #8
+ bne .L584
+ b .L1118
+ .size render_scanline_text_transparent_normal, .-render_scanline_text_transparent_normal
+ .align 2
+ .global render_scanline_text_base_color16
+ .type render_scanline_text_base_color16, %function
+render_scanline_text_base_color16:
+ @ args = 0, pretend = 0, frame = 16
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr ip, .L1954
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldrh r5, [ip, #80]
+ add r7, r0, #7
+ mov r8, r5, asr r0
+ mov r7, r5, asr r7
+ add r6, ip, r0, asl #2
+ ldrh r4, [ip, #6]
+ ldrh lr, [r6, #18]
+ add ip, ip, r0, asl #1
+ add fp, r4, lr
+ ldrh r9, [ip, #8]
+ mov sl, fp, asl #23
+ rsb r2, r1, r2
+ sub sp, sp, #16
+ mov sl, sl, lsr #23
+ cmp sl, #255
+ movls r4, #0
+ movhi r4, #1
+ ldrh lr, [r6, #16]
+ str r2, [sp, #12]
+ mov r6, r9, lsr #14
+ ldr r2, .L1954+4
+ ands r4, r4, r6, lsr #1
+ and r7, r7, #2
+ and r8, r8, #1
+ add lr, lr, r1
+ orr r8, r8, r7
+ mov ip, r9, asl #3
+ add r7, r3, r1, asl #1
+ ldr r2, [r2, r6, asl #2]
+ subne r3, sl, #256
+ ldr r1, .L1954+8
+ movne r3, r3, lsr #3
+ moveq r3, fp, asl #3
+ and ip, ip, #63488
+ addne r3, r3, r2, lsr #3
+ andeq r3, r3, #1984
+ add ip, ip, r1
+ mov lr, lr, asl #23
+ addne r4, ip, r3, asl #6
+ addeq r4, ip, r3
+ mov r0, r5, lsr #12
+ tst r6, #1
+ mov lr, lr, lsr #23
+ and r0, r0, #2
+ mov r5, r5, asl #26
+ andeq lr, lr, #255
+ orr r0, r0, r5, lsr #31
+ moveq r3, lr, lsr #3
+ mov r0, r0, asl #9
+ mov r8, r8, asl #9
+ addeq fp, r4, r3, asl #1
+ streq r4, [sp, #0]
+ beq .L1171
+ cmp lr, #255
+ subhi lr, lr, #256
+ movhi r3, lr, lsr #3
+ movls r3, lr, lsr #3
+ addhi r3, r4, r3, asl #1
+ addls fp, r4, r3, asl #1
+ addls r4, r4, #2048
+ addhi fp, r3, #2048
+ strhi r4, [sp, #0]
+ strls r4, [sp, #0]
+.L1171:
+ tst r9, #128
+ beq .L1172
+ mov r2, r9, asl #12
+ and r3, sl, #7
+ and r1, lr, #255
+ mov r3, r3, asl #3
+ and r2, r2, #49152
+ ldr r4, [sp, #12]
+ rsb r9, r1, #256
+ add r2, r2, r3
+ ldr r1, .L1954+8
+ mov r3, r3, asl #1
+ rsb r3, r3, #56
+ cmp r4, r9
+ add r2, r2, r1
+ str r3, [sp, #4]
+ and lr, lr, #7
+ bls .L1925
+ cmp lr, #0
+ moveq r6, lr
+ bne .L1926
+.L1412:
+ rsb r3, r6, r9
+ movs sl, r3, lsr #3
+ beq .L1476
+ mov lr, r7
+ mov r6, #0
+ b .L1478
+.L1927:
+ ldr r1, [r5, #4]
+ add r6, r6, #1
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #6] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [lr, #6] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #4] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [lr, #4] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #2] @ movhi
+ streqh r0, [lr, #2] @ movhi
+ movs r3, r1, lsr #24
+ ldr r1, [r5, #0]
+ orrne r3, r3, r8
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #14] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [lr, #14] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #12] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [lr, #12] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #10] @ movhi
+ streqh r0, [lr, #10] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [lr, #8] @ movhi
+ streqh r0, [lr, #8] @ movhi
+ cmp sl, r6
+ add lr, lr, #16
+ beq .L1530
+.L1928:
+ add fp, fp, #2
+.L1478:
+ ldrh r1, [fp, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r5, r2, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r5, r5, r3
+ tst r1, #1024
+ bne .L1927
+ ldr r1, [r5, #0]
+ add r6, r6, #1
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #0] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [lr, #0] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #2] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [lr, #2] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #4] @ movhi
+ streqh r0, [lr, #4] @ movhi
+ movs r3, r1, lsr #24
+ ldr r1, [r5, #4]
+ orrne r3, r3, r8
+ strneh r3, [lr, #6] @ movhi
+ streqh r0, [lr, #6] @ movhi
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #8] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [lr, #8] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #10] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [lr, #10] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #12] @ movhi
+ streqh r0, [lr, #12] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [lr, #14] @ movhi
+ streqh r0, [lr, #14] @ movhi
+ cmp sl, r6
+ add lr, lr, #16
+ bne .L1928
+.L1530:
+ add r7, r7, sl, asl #4
+.L1476:
+ ldr r4, [sp, #12]
+ rsb r9, r9, r4
+ movs r4, r9, lsr #3
+ ldreq r3, [sp, #0]
+ beq .L1534
+ ldr r6, [sp, #0]
+ mov lr, r7
+ mov sl, #0
+ b .L1535
+.L1930:
+ ldr r1, [r5, #4]
+ add sl, sl, #1
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #6] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [lr, #6] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #4] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [lr, #4] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #2] @ movhi
+ streqh r0, [lr, #2] @ movhi
+ movs r3, r1, lsr #24
+ ldr r1, [r5, #0]
+ orrne r3, r3, r8
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #14] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [lr, #14] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #12] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [lr, #12] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #10] @ movhi
+ streqh r0, [lr, #10] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [lr, #8] @ movhi
+ streqh r0, [lr, #8] @ movhi
+ cmp r4, sl
+ add lr, lr, #16
+ add r6, r6, #2
+ beq .L1929
+.L1535:
+ ldrh r1, [r6, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r5, r2, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r5, r5, r3
+ tst r1, #1024
+ bne .L1930
+ ldr r1, [r5, #0]
+ add sl, sl, #1
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #0] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [lr, #0] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #2] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [lr, #2] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #4] @ movhi
+ streqh r0, [lr, #4] @ movhi
+ movs r3, r1, lsr #24
+ ldr r1, [r5, #4]
+ orrne r3, r3, r8
+ strneh r3, [lr, #6] @ movhi
+ streqh r0, [lr, #6] @ movhi
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #8] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [lr, #8] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #10] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [lr, #10] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #12] @ movhi
+ streqh r0, [lr, #12] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [lr, #14] @ movhi
+ streqh r0, [lr, #14] @ movhi
+ cmp r4, sl
+ add lr, lr, #16
+ add r6, r6, #2
+ bne .L1535
+.L1929:
+ ldr r1, [sp, #0]
+ add r7, r7, r4, asl #4
+ add r3, r1, r4, asl #1
+.L1534:
+ ands lr, r9, #7
+ beq .L1907
+ ldrh r4, [r3, #0]
+ mov r3, r4, asl #22
+ mov r3, r3, lsr #22
+ tst r4, #2048
+ add r2, r2, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r2, r2, r3
+ tst r4, #1024
+ beq .L1591
+ cmp lr, #3
+ ldrls r2, [r2, #4]
+ bhi .L1931
+.L1608:
+ mov r1, #0
+.L1609:
+ movs r3, r2, lsr #24
+ orr r3, r3, r8
+ add r1, r1, #1
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+ cmp lr, r1
+ mov r2, r2, asl #8
+ add r7, r7, #2
+ bhi .L1609
+.L1907:
+ add sp, sp, #16
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L1172:
+ and r1, lr, #255
+ rsb r4, r1, #256
+ and r3, sl, #7
+ ldr r1, [sp, #12]
+ mov r2, r9, asl #12
+ mov r3, r3, asl #2
+ and r2, r2, #49152
+ add r2, r2, r3
+ cmp r1, r4
+ mov r3, r3, asl #1
+ ldr r1, .L1954+8
+ rsb r3, r3, #28
+ add ip, r2, r1
+ str r3, [sp, #8]
+ and r1, lr, #7
+ bls .L1932
+ cmp r1, #0
+ moveq r6, r1
+ bne .L1933
+.L1752:
+ rsb r3, r6, r4
+ movs r9, r3, lsr #3
+ beq .L1772
+ mov r3, r0, asl #16
+ mov r5, r3, lsr #16
+ mov lr, r7
+ mov sl, #0
+ b .L1774
+.L1934:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L1805
+ ands r3, r2, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #14] @ movhi
+ mov r3, r2, lsr #4
+ streqh r0, [lr, #14] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #12] @ movhi
+ mov r3, r2, lsr #8
+ streqh r0, [lr, #12] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #10] @ movhi
+ mov r3, r2, lsr #12
+ streqh r0, [lr, #10] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #8] @ movhi
+ mov r3, r2, lsr #16
+ streqh r0, [lr, #8] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #6] @ movhi
+ mov r3, r2, lsr #20
+ streqh r0, [lr, #6] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #4] @ movhi
+ mov r3, r2, lsr #24
+ streqh r0, [lr, #4] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #2] @ movhi
+ streqh r0, [lr, #2] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+.L1804:
+ add sl, sl, #1
+ cmp r9, sl
+ add lr, lr, #16
+ beq .L1830
+.L1935:
+ add fp, fp, #2
+.L1774:
+ ldrh r1, [fp, #0]
+ mov r2, r1, asl #22
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r3, r1, lsr #12
+ mov r6, r3, asl #4
+ add r3, ip, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst r1, #1024
+ bne .L1934
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L1805
+ ands r3, r2, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #0] @ movhi
+ mov r3, r2, lsr #4
+ streqh r0, [lr, #0] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #2] @ movhi
+ mov r3, r2, lsr #8
+ streqh r0, [lr, #2] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #4] @ movhi
+ mov r3, r2, lsr #12
+ streqh r0, [lr, #4] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #6] @ movhi
+ mov r3, r2, lsr #16
+ streqh r0, [lr, #6] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #8] @ movhi
+ mov r3, r2, lsr #20
+ streqh r0, [lr, #8] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #10] @ movhi
+ mov r3, r2, lsr #24
+ streqh r0, [lr, #10] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #12] @ movhi
+ streqh r0, [lr, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ add sl, sl, #1
+ strneh r3, [lr, #14] @ movhi
+ streqh r0, [lr, #14] @ movhi
+ cmp r9, sl
+ add lr, lr, #16
+ bne .L1935
+.L1830:
+ add r7, r7, r9, asl #4
+.L1772:
+ ldr r3, [sp, #12]
+ rsb fp, r4, r3
+ movs r4, fp, lsr #3
+ ldreq r2, [sp, #0]
+ beq .L1834
+ mov r3, r0, asl #16
+ ldr sl, [sp, #0]
+ mov r5, r3, lsr #16
+ mov lr, r7
+ mov r9, #0
+ b .L1835
+.L1937:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L1866
+ ands r3, r2, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #14] @ movhi
+ mov r3, r2, lsr #4
+ streqh r0, [lr, #14] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #12] @ movhi
+ mov r3, r2, lsr #8
+ streqh r0, [lr, #12] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #10] @ movhi
+ mov r3, r2, lsr #12
+ streqh r0, [lr, #10] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #8] @ movhi
+ mov r3, r2, lsr #16
+ streqh r0, [lr, #8] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #6] @ movhi
+ mov r3, r2, lsr #20
+ streqh r0, [lr, #6] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #4] @ movhi
+ mov r3, r2, lsr #24
+ streqh r0, [lr, #4] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #2] @ movhi
+ streqh r0, [lr, #2] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+.L1865:
+ add r9, r9, #1
+ cmp r4, r9
+ add lr, lr, #16
+ add sl, sl, #2
+ beq .L1936
+.L1835:
+ ldrh r1, [sl, #0]
+ mov r2, r1, asl #22
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r3, r1, lsr #12
+ mov r6, r3, asl #4
+ add r3, ip, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst r1, #1024
+ bne .L1937
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L1866
+ ands r3, r2, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #0] @ movhi
+ mov r3, r2, lsr #4
+ streqh r0, [lr, #0] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #2] @ movhi
+ mov r3, r2, lsr #8
+ streqh r0, [lr, #2] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #4] @ movhi
+ mov r3, r2, lsr #12
+ streqh r0, [lr, #4] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #6] @ movhi
+ mov r3, r2, lsr #16
+ streqh r0, [lr, #6] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #8] @ movhi
+ mov r3, r2, lsr #20
+ streqh r0, [lr, #8] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #10] @ movhi
+ mov r3, r2, lsr #24
+ streqh r0, [lr, #10] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #12] @ movhi
+ streqh r0, [lr, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ add r9, r9, #1
+ strneh r3, [lr, #14] @ movhi
+ streqh r0, [lr, #14] @ movhi
+ cmp r4, r9
+ add lr, lr, #16
+ add sl, sl, #2
+ bne .L1835
+.L1936:
+ ldr r3, [sp, #0]
+ add r7, r7, r4, asl #4
+ add r2, r3, r4, asl #1
+.L1834:
+ ands lr, fp, #7
+ beq .L1907
+ ldrh r4, [r2, #0]
+ tst r4, #2048
+ mov r3, r4, asl #22
+ ldrne r1, [sp, #8]
+ mov r3, r3, lsr #22
+ add r3, ip, r3, asl #5
+ addne r3, r3, r1
+ mov r2, r4, lsr #12
+ tst r4, #1024
+ mov ip, r2, asl #4
+ moveq r1, #0
+ ldreq r2, [r3, #0]
+ beq .L1902
+ ldr r2, [r3, #0]
+ mov r1, #0
+.L1897:
+ movs r3, r2, lsr #28
+ orr r3, ip, r3
+ orr r3, r3, r8
+ add r1, r1, #1
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+ cmp lr, r1
+ mov r2, r2, asl #4
+ add r7, r7, #2
+ bne .L1897
+ b .L1907
+.L1932:
+ cmp r1, #0
+ bne .L1938
+.L1637:
+ ldr r1, [sp, #12]
+ movs r4, r1, lsr #3
+ beq .L1676
+ mov r3, r0, asl #16
+ mov r5, r3, lsr #16
+ mov lr, r7
+ mov sl, fp
+ mov r9, #0
+ b .L1678
+.L1940:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L1709
+ ands r3, r2, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #14] @ movhi
+ mov r3, r2, lsr #4
+ streqh r0, [lr, #14] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #12] @ movhi
+ mov r3, r2, lsr #8
+ streqh r0, [lr, #12] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #10] @ movhi
+ mov r3, r2, lsr #12
+ streqh r0, [lr, #10] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #8] @ movhi
+ mov r3, r2, lsr #16
+ streqh r0, [lr, #8] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #6] @ movhi
+ mov r3, r2, lsr #20
+ streqh r0, [lr, #6] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #4] @ movhi
+ mov r3, r2, lsr #24
+ streqh r0, [lr, #4] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #2] @ movhi
+ streqh r0, [lr, #2] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+.L1708:
+ add r9, r9, #1
+ cmp r4, r9
+ add lr, lr, #16
+ add sl, sl, #2
+ beq .L1939
+.L1678:
+ ldrh r1, [sl, #0]
+ mov r2, r1, asl #22
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r3, r1, lsr #12
+ mov r6, r3, asl #4
+ add r3, ip, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst r1, #1024
+ bne .L1940
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L1709
+ ands r3, r2, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #0] @ movhi
+ mov r3, r2, lsr #4
+ streqh r0, [lr, #0] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #2] @ movhi
+ mov r3, r2, lsr #8
+ streqh r0, [lr, #2] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #4] @ movhi
+ mov r3, r2, lsr #12
+ streqh r0, [lr, #4] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #6] @ movhi
+ mov r3, r2, lsr #16
+ streqh r0, [lr, #6] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #8] @ movhi
+ mov r3, r2, lsr #20
+ streqh r0, [lr, #8] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #10] @ movhi
+ mov r3, r2, lsr #24
+ streqh r0, [lr, #10] @ movhi
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ strneh r3, [lr, #12] @ movhi
+ streqh r0, [lr, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r6, r3
+ orrne r3, r3, r8
+ add r9, r9, #1
+ strneh r3, [lr, #14] @ movhi
+ streqh r0, [lr, #14] @ movhi
+ cmp r4, r9
+ add lr, lr, #16
+ add sl, sl, #2
+ bne .L1678
+.L1939:
+ add r7, r7, r4, asl #4
+ add fp, fp, r4, asl #1
+.L1676:
+ ldr r3, [sp, #12]
+ ands lr, r3, #7
+ beq .L1907
+ ldrh r1, [fp, #0]
+ tst r1, #2048
+ mov r3, r1, asl #22
+ ldrne r4, [sp, #8]
+ mov r3, r3, lsr #22
+ add r3, ip, r3, asl #5
+ mov r2, r1, lsr #12
+ addne r3, r3, r4
+ tst r1, #1024
+ mov ip, r2, asl #4
+ moveq r1, #0
+ ldreq r2, [r3, #0]
+ beq .L1745
+ ldr r2, [r3, #0]
+ mov r1, #0
+.L1740:
+ movs r3, r2, lsr #28
+ orr r3, ip, r3
+ orr r3, r3, r8
+ add r1, r1, #1
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+ cmp lr, r1
+ mov r2, r2, asl #4
+ add r7, r7, #2
+ bne .L1740
+ b .L1907
+.L1925:
+ cmp lr, #0
+ bne .L1941
+.L1176:
+ ldr r3, [sp, #12]
+ movs r9, r3, lsr #3
+ beq .L1308
+ mov lr, r7
+ mov r6, fp
+ mov sl, #0
+ b .L1310
+.L1943:
+ ldr r1, [r5, #4]
+ add sl, sl, #1
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #6] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [lr, #6] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #4] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [lr, #4] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #2] @ movhi
+ streqh r0, [lr, #2] @ movhi
+ movs r3, r1, lsr #24
+ ldr r1, [r5, #0]
+ orrne r3, r3, r8
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #14] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [lr, #14] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #12] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [lr, #12] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #10] @ movhi
+ streqh r0, [lr, #10] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [lr, #8] @ movhi
+ streqh r0, [lr, #8] @ movhi
+ cmp r9, sl
+ add lr, lr, #16
+ add r6, r6, #2
+ beq .L1942
+.L1310:
+ ldrh r1, [r6, #0]
+ tst r1, #2048
+ mov r3, r1, asl #22
+ ldrne r4, [sp, #4]
+ mov r3, r3, lsr #22
+ add r5, r2, r3, asl #6
+ addne r5, r5, r4
+ tst r1, #1024
+ bne .L1943
+ ldr r1, [r5, #0]
+ add sl, sl, #1
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #0] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [lr, #0] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #2] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [lr, #2] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #4] @ movhi
+ streqh r0, [lr, #4] @ movhi
+ movs r3, r1, lsr #24
+ ldr r1, [r5, #4]
+ orrne r3, r3, r8
+ strneh r3, [lr, #6] @ movhi
+ streqh r0, [lr, #6] @ movhi
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #8] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [lr, #8] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #10] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [lr, #10] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [lr, #12] @ movhi
+ streqh r0, [lr, #12] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [lr, #14] @ movhi
+ streqh r0, [lr, #14] @ movhi
+ cmp r9, sl
+ add lr, lr, #16
+ add r6, r6, #2
+ bne .L1310
+.L1942:
+ add r7, r7, r9, asl #4
+ add fp, fp, r9, asl #1
+.L1308:
+ ldr r1, [sp, #12]
+ ands lr, r1, #7
+ beq .L1907
+ ldrh r1, [fp, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r2, r2, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r2, r2, r3
+ tst r1, #1024
+ beq .L1366
+ cmp lr, #3
+ ldrls r2, [r2, #4]
+ bhi .L1944
+.L1383:
+ mov r1, #0
+.L1384:
+ movs r3, r2, lsr #24
+ orr r3, r3, r8
+ add r1, r1, #1
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+ cmp lr, r1
+ mov r2, r2, asl #8
+ add r7, r7, #2
+ bhi .L1384
+ b .L1907
+.L1805:
+ strh r5, [lr, #0] @ movhi
+ strh r5, [lr, #2] @ movhi
+ strh r5, [lr, #4] @ movhi
+ strh r5, [lr, #6] @ movhi
+ strh r5, [lr, #8] @ movhi
+ strh r5, [lr, #10] @ movhi
+ strh r5, [lr, #12] @ movhi
+ strh r5, [lr, #14] @ movhi
+ b .L1804
+.L1866:
+ strh r5, [lr, #0] @ movhi
+ strh r5, [lr, #2] @ movhi
+ strh r5, [lr, #4] @ movhi
+ strh r5, [lr, #6] @ movhi
+ strh r5, [lr, #8] @ movhi
+ strh r5, [lr, #10] @ movhi
+ strh r5, [lr, #12] @ movhi
+ strh r5, [lr, #14] @ movhi
+ b .L1865
+.L1902:
+ ands r3, r2, #15
+ orr r3, ip, r3
+ orr r3, r3, r8
+ add r1, r1, #1
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+ cmp lr, r1
+ mov r2, r2, lsr #4
+ add r7, r7, #2
+ bne .L1902
+ b .L1907
+.L1938:
+ ldr r2, [sp, #12]
+ rsb r5, r1, #8
+ cmp r2, r5
+ bcs .L1639
+ ldrh lr, [fp, #0]
+ mov r3, lr, asl #22
+ mov r3, r3, lsr #22
+ tst lr, #2048
+ add ip, ip, r3, asl #5
+ ldrne r3, [sp, #8]
+ mov r2, lr, lsr #12
+ addne ip, ip, r3
+ tst lr, #1024
+ mov r2, r2, asl #4
+ bne .L1945
+ ldr r4, [sp, #12]
+ ldr ip, [ip, #0]
+ cmp r4, #0
+ beq .L1907
+ mov r3, r1, asl #2
+ mov r1, ip, lsr r3
+ mov ip, #0
+.L1652:
+ ands r3, r1, #15
+ orr r3, r2, r3
+ orr r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ ldr r3, [sp, #12]
+ add ip, ip, #1
+ streqh r0, [r7, #0] @ movhi
+ cmp r3, ip
+ mov r1, r1, lsr #4
+ add r7, r7, #2
+ bne .L1652
+ b .L1907
+.L1955:
+ .align 2
+.L1954:
+ .word io_registers
+ .word map_widths
+ .word vram
+.L1933:
+ ldrh r5, [fp, #0]
+ rsb r6, r1, #8
+ mov r2, r5, asl #22
+ mov r2, r2, lsr #22
+ tst r5, #2048
+ mov r3, r5, lsr #12
+ mov sl, r3, asl #4
+ add r3, ip, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst r5, #1024
+ beq .L1755
+ cmp r6, #0
+ ldr r2, [r3, #0]
+ beq .L1757
+ mov r3, r1, asl #2
+ mov r1, r2, asl r3
+ mov lr, #0
+ mov r2, r7
+.L1759:
+ movs r3, r1, lsr #28
+ orr r3, sl, r3
+ orr r3, r3, r8
+ add lr, lr, #1
+ strneh r3, [r2, #0] @ movhi
+ streqh r0, [r2, #0] @ movhi
+ cmp r6, lr
+ mov r1, r1, asl #4
+ add r2, r2, #2
+ bne .L1759
+ add r7, r7, r6, asl #1
+.L1757:
+ add fp, fp, #2
+ b .L1752
+.L1926:
+ ldrh r1, [fp, #0]
+ rsb r6, lr, #8
+ tst r1, #2048
+ mov r3, r1, asl #22
+ ldrne r4, [sp, #4]
+ mov r3, r3, lsr #22
+ add sl, r2, r3, asl #6
+ addne sl, sl, r4
+ ands r5, r1, #1024
+ beq .L1415
+ cmp lr, #3
+ bhi .L1946
+ subs ip, r6, #4
+ ldr r1, [sl, #4]
+ beq .L1427
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov lr, r7
+ mov r5, #0
+.L1429:
+ movs r3, r1, lsr #24
+ orr r3, r3, r8
+ add r5, r5, #1
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+ cmp ip, r5
+ mov r1, r1, asl #8
+ add lr, lr, #2
+ bne .L1429
+ add r3, r7, r6, asl #1
+ sub r7, r3, #8
+.L1427:
+ ldr r1, [sl, #0]
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #6] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [r7, #6] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #4] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [r7, #4] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #2] @ movhi
+ streqh r0, [r7, #2] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+.L1475:
+ add r7, r7, #8
+ mov r6, ip
+.L1419:
+ add fp, fp, #2
+ b .L1412
+.L1941:
+ ldr r3, [sp, #12]
+ rsb r4, lr, #8
+ cmp r3, r4
+ bcs .L1178
+ ldrh r1, [fp, #0]
+ tst r1, #2048
+ mov r3, r1, asl #22
+ ldrne r4, [sp, #4]
+ mov r3, r3, lsr #22
+ add ip, r2, r3, asl #6
+ addne ip, ip, r4
+ tst r1, #1024
+ bne .L1947
+ cmp lr, #3
+ bls .L1215
+ ldr r4, [sp, #12]
+ ldr r2, [ip, #4]
+ cmp r4, #0
+ beq .L1907
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L1218:
+ ands r3, r1, #255
+ orr r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ ldr r3, [sp, #12]
+ add r2, r2, #1
+ streqh r0, [r7, #0] @ movhi
+ cmp r3, r2
+ mov r1, r1, lsr #8
+ add r7, r7, #2
+ bne .L1218
+ b .L1907
+.L1709:
+ strh r5, [lr, #0] @ movhi
+ strh r5, [lr, #2] @ movhi
+ strh r5, [lr, #4] @ movhi
+ strh r5, [lr, #6] @ movhi
+ strh r5, [lr, #8] @ movhi
+ strh r5, [lr, #10] @ movhi
+ strh r5, [lr, #12] @ movhi
+ strh r5, [lr, #14] @ movhi
+ b .L1708
+.L1745:
+ ands r3, r2, #15
+ orr r3, ip, r3
+ orr r3, r3, r8
+ add r1, r1, #1
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+ cmp lr, r1
+ mov r2, r2, lsr #4
+ add r7, r7, #2
+ bne .L1745
+ b .L1907
+.L1591:
+ cmp lr, #3
+ ldrls r2, [r2, #0]
+ bhi .L1948
+.L1629:
+ mov r1, #0
+.L1630:
+ ands r3, r2, #255
+ orr r3, r3, r8
+ add r1, r1, #1
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+ cmp lr, r1
+ mov r2, r2, lsr #8
+ add r7, r7, #2
+ bhi .L1630
+ b .L1907
+.L1366:
+ cmp lr, #3
+ ldrls r2, [r2, #0]
+ bhi .L1949
+.L1404:
+ mov r1, #0
+.L1405:
+ ands r3, r2, #255
+ orr r3, r3, r8
+ add r1, r1, #1
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+ cmp lr, r1
+ mov r2, r2, lsr #8
+ add r7, r7, #2
+ bhi .L1405
+ b .L1907
+.L1755:
+ cmp r6, #0
+ ldr r2, [r3, #0]
+ beq .L1757
+ mov r3, r1, asl #2
+ mov r1, r2, lsr r3
+ mov lr, #0
+ mov r2, r7
+.L1766:
+ ands r3, r1, #15
+ orr r3, sl, r3
+ orr r3, r3, r8
+ add lr, lr, #1
+ strneh r3, [r2, #0] @ movhi
+ streqh r0, [r2, #0] @ movhi
+ cmp r6, lr
+ mov r1, r1, lsr #4
+ add r2, r2, #2
+ bne .L1766
+ add r7, r7, r6, asl #1
+ b .L1757
+.L1639:
+ ldrh lr, [fp, #0]
+ mov r2, lr, asl #22
+ mov r2, r2, lsr #22
+ tst lr, #2048
+ mov r3, lr, lsr #12
+ mov r4, r3, asl #4
+ add r3, ip, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst lr, #1024
+ bne .L1950
+ cmp r5, #0
+ ldr r2, [r3, #0]
+ beq .L1661
+ mov r3, r1, asl #2
+ mov r1, r2, lsr r3
+ mov lr, #0
+ mov r2, r7
+.L1670:
+ ands r3, r1, #15
+ orr r3, r4, r3
+ orr r3, r3, r8
+ add lr, lr, #1
+ strneh r3, [r2, #0] @ movhi
+ streqh r0, [r2, #0] @ movhi
+ cmp r5, lr
+ mov r1, r1, lsr #4
+ add r2, r2, #2
+ bne .L1670
+.L1922:
+ add r7, r7, r5, asl #1
+.L1661:
+ ldr r3, [sp, #12]
+ add fp, fp, #2
+ rsb r3, r5, r3
+ str r3, [sp, #12]
+ b .L1637
+.L1415:
+ cmp lr, #3
+ bhi .L1951
+ subs ip, r6, #4
+ ldr r1, [sl, #0]
+ beq .L1456
+ mov r3, lr, asl #3
+ mov r1, r1, lsr r3
+ mov lr, r7
+ mov r5, #0
+.L1458:
+ ands r3, r1, #255
+ orr r3, r3, r8
+ add r5, r5, #1
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+ cmp ip, r5
+ mov r1, r1, lsr #8
+ add lr, lr, #2
+ bne .L1458
+ add r3, r7, r6, asl #1
+ sub r7, r3, #8
+.L1456:
+ ldr r1, [sl, #4]
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [r7, #0] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #2] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [r7, #2] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #4] @ movhi
+ streqh r0, [r7, #4] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [r7, #6] @ movhi
+ streqh r0, [r7, #6] @ movhi
+ b .L1475
+.L1178:
+ ldrh r1, [fp, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add ip, r2, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne ip, ip, r3
+ ands r5, r1, #1024
+ bne .L1952
+ cmp lr, #3
+ bls .L1279
+ cmp r4, #0
+ ldr r1, [ip, #4]
+ beq .L1251
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r1, lsr r3
+ mov ip, r5
+ mov lr, r7
+.L1282:
+ ands r3, r1, #255
+ orr r3, r3, r8
+ add ip, ip, #1
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+ cmp r4, ip
+ mov r1, r1, lsr #8
+ add lr, lr, #2
+ bne .L1282
+.L1909:
+ add r7, r7, r4, asl #1
+.L1251:
+ ldr r1, [sp, #12]
+ add fp, fp, #2
+ rsb r1, r4, r1
+ str r1, [sp, #12]
+ b .L1176
+.L1948:
+ ldmia r2, {r1, r2} @ phole ldm
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [r7, #0] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #2] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [r7, #2] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #4] @ movhi
+ streqh r0, [r7, #4] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [r7, #6] @ movhi
+ streqh r0, [r7, #6] @ movhi
+ subs lr, lr, #4
+ addne r7, r7, #8
+ bne .L1629
+ b .L1907
+.L1931:
+ ldr r1, [r2, #4]
+ ldr r2, [r2, #0]
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #6] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [r7, #6] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #4] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [r7, #4] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #2] @ movhi
+ streqh r0, [r7, #2] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+ subs lr, lr, #4
+ addne r7, r7, #8
+ bne .L1608
+ b .L1907
+.L1944:
+ ldr r1, [r2, #4]
+ ldr r2, [r2, #0]
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #6] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [r7, #6] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #4] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [r7, #4] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #2] @ movhi
+ streqh r0, [r7, #2] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+ subs lr, lr, #4
+ addne r7, r7, #8
+ bne .L1383
+ b .L1907
+.L1949:
+ ldmia r2, {r1, r2} @ phole ldm
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [r7, #0] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #2] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [r7, #2] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #4] @ movhi
+ streqh r0, [r7, #4] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [r7, #6] @ movhi
+ streqh r0, [r7, #6] @ movhi
+ subs lr, lr, #4
+ addne r7, r7, #8
+ bne .L1404
+ b .L1907
+.L1946:
+ cmp r6, #0
+ ldr r1, [sl, #0]
+ beq .L1419
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov lr, r7
+ mov r5, #0
+.L1421:
+ movs r3, r1, lsr #24
+ orr r3, r3, r8
+ add r5, r5, #1
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+ cmp r6, r5
+ mov r1, r1, asl #8
+ add lr, lr, #2
+ bne .L1421
+ add r7, r7, r6, asl #1
+.L1953:
+ add fp, fp, #2
+ b .L1412
+.L1945:
+ ldr r4, [sp, #12]
+ ldr ip, [ip, #0]
+ cmp r4, #0
+ beq .L1907
+ mov r3, r1, asl #2
+ mov r1, ip, asl r3
+ mov ip, #0
+.L1646:
+ movs r3, r1, lsr #28
+ orr r3, r2, r3
+ orr r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ ldr r3, [sp, #12]
+ add ip, ip, #1
+ streqh r0, [r7, #0] @ movhi
+ cmp r3, ip
+ mov r1, r1, asl #4
+ add r7, r7, #2
+ bne .L1646
+ b .L1907
+.L1952:
+ cmp lr, #3
+ bls .L1249
+ cmp r4, #0
+ ldr r1, [ip, #0]
+ beq .L1251
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov lr, r7
+ mov r5, #0
+.L1253:
+ movs r3, r1, lsr #24
+ orr r3, r3, r8
+ add r5, r5, #1
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+ cmp r4, r5
+ mov r1, r1, asl #8
+ add lr, lr, #2
+ bne .L1253
+ b .L1909
+.L1950:
+ cmp r5, #0
+ ldr r2, [r3, #0]
+ beq .L1661
+ mov r3, r1, asl #2
+ mov r1, r2, asl r3
+ mov lr, #0
+ mov r2, r7
+.L1663:
+ movs r3, r1, lsr #28
+ orr r3, r4, r3
+ orr r3, r3, r8
+ add lr, lr, #1
+ strneh r3, [r2, #0] @ movhi
+ streqh r0, [r2, #0] @ movhi
+ cmp r5, lr
+ mov r1, r1, asl #4
+ add r2, r2, #2
+ bne .L1663
+ b .L1922
+.L1947:
+ cmp lr, #3
+ bls .L1184
+ ldr r1, [sp, #12]
+ ldr r2, [ip, #0]
+ cmp r1, #0
+ beq .L1907
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r2, asl r3
+ mov r2, #0
+.L1188:
+ movs r3, r1, lsr #24
+ orr r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ ldr r3, [sp, #12]
+ add r2, r2, #1
+ streqh r0, [r7, #0] @ movhi
+ cmp r3, r2
+ mov r1, r1, asl #8
+ add r7, r7, #2
+ bne .L1188
+ b .L1907
+.L1951:
+ cmp r6, #0
+ ldr r1, [sl, #4]
+ beq .L1419
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r1, lsr r3
+ mov lr, r7
+.L1450:
+ ands r3, r1, #255
+ orr r3, r3, r8
+ add r5, r5, #1
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+ cmp r6, r5
+ mov r1, r1, lsr #8
+ add lr, lr, #2
+ bne .L1450
+ add r7, r7, r6, asl #1
+ b .L1953
+.L1184:
+ ldr r4, [sp, #12]
+ mov r3, lr, asl #3
+ ldr r1, [ip, #4]
+ add r2, r4, lr
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L1193
+ cmp r4, #0
+ movne r2, #0
+ beq .L1907
+.L1210:
+ movs r3, r1, lsr #24
+ orr r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ ldr r3, [sp, #12]
+ add r2, r2, #1
+ streqh r0, [r7, #0] @ movhi
+ cmp r3, r2
+ mov r1, r1, asl #8
+ add r7, r7, #2
+ bne .L1210
+ b .L1907
+.L1249:
+ subs r6, r4, #4
+ ldr r1, [ip, #4]
+ beq .L1259
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov lr, r7
+ mov r5, #0
+.L1261:
+ movs r3, r1, lsr #24
+ orr r3, r3, r8
+ add r5, r5, #1
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+ cmp r6, r5
+ mov r1, r1, asl #8
+ add lr, lr, #2
+ bne .L1261
+ add r3, r7, r4, asl #1
+ sub r7, r3, #8
+.L1259:
+ ldr r1, [ip, #0]
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #6] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [r7, #6] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #4] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [r7, #4] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #2] @ movhi
+ streqh r0, [r7, #2] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+.L1307:
+ add r7, r7, #8
+ b .L1251
+.L1215:
+ ldr r4, [sp, #12]
+ ldr r3, [ip, #0]
+ add r2, r4, lr
+ cmp r2, #4
+ mov r1, lr, asl #3
+ mov r2, r3, lsr r1
+ bhi .L1223
+ cmp r4, #0
+ movne r1, #0
+ beq .L1907
+.L1240:
+ ands r3, r2, #255
+ orr r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ ldr r3, [sp, #12]
+ add r1, r1, #1
+ streqh r0, [r7, #0] @ movhi
+ cmp r3, r1
+ mov r2, r2, lsr #8
+ add r7, r7, #2
+ bne .L1240
+ b .L1907
+.L1279:
+ subs r6, r4, #4
+ ldr r1, [ip, #0]
+ beq .L1288
+ mov r3, lr, asl #3
+ mov r1, r1, lsr r3
+ mov lr, r7
+ mov r5, #0
+.L1290:
+ ands r3, r1, #255
+ orr r3, r3, r8
+ add r5, r5, #1
+ strneh r3, [lr, #0] @ movhi
+ streqh r0, [lr, #0] @ movhi
+ cmp r6, r5
+ mov r1, r1, lsr #8
+ add lr, lr, #2
+ bne .L1290
+ add r3, r7, r4, asl #1
+ sub r7, r3, #8
+.L1288:
+ ldr r1, [ip, #4]
+ ands r3, r1, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #0] @ movhi
+ mov r3, r1, lsr #8
+ streqh r0, [r7, #0] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #2] @ movhi
+ mov r3, r1, lsr #16
+ streqh r0, [r7, #2] @ movhi
+ ands r3, r3, #255
+ orrne r3, r3, r8
+ strneh r3, [r7, #4] @ movhi
+ streqh r0, [r7, #4] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, r8
+ strneh r3, [r7, #6] @ movhi
+ bne .L1307
+ strh r0, [r7, #6] @ movhi
+ add r7, r7, #8
+ b .L1251
+.L1193:
+ rsbs r4, lr, #4
+ beq .L1196
+ mov r2, r7
+ mov lr, #0
+.L1198:
+ movs r3, r1, lsr #24
+ orr r3, r3, r8
+ add lr, lr, #1
+ strneh r3, [r2, #0] @ movhi
+ streqh r0, [r2, #0] @ movhi
+ cmp r4, lr
+ mov r1, r1, asl #8
+ add r2, r2, #2
+ bne .L1198
+ add r7, r7, r4, asl #1
+.L1196:
+ ldr r1, [sp, #12]
+ ldr r2, [ip, #0]
+ subs lr, r1, r4
+ beq .L1907
+ mov r1, #0
+.L1205:
+ movs r3, r2, lsr #24
+ orr r3, r3, r8
+ add r1, r1, #1
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+ cmp lr, r1
+ mov r2, r2, asl #8
+ add r7, r7, #2
+ bne .L1205
+ b .L1907
+.L1223:
+ rsbs r4, lr, #4
+ beq .L1226
+ mov r1, r7
+ mov lr, #0
+.L1228:
+ ands r3, r2, #255
+ orr r3, r3, r8
+ add lr, lr, #1
+ strneh r3, [r1, #0] @ movhi
+ streqh r0, [r1, #0] @ movhi
+ cmp r4, lr
+ mov r2, r2, lsr #8
+ add r1, r1, #2
+ bne .L1228
+ add r7, r7, r4, asl #1
+.L1226:
+ ldr r1, [sp, #12]
+ ldr r2, [ip, #4]
+ subs lr, r1, r4
+ beq .L1907
+ mov r1, #0
+.L1235:
+ ands r3, r2, #255
+ orr r3, r3, r8
+ add r1, r1, #1
+ strneh r3, [r7, #0] @ movhi
+ streqh r0, [r7, #0] @ movhi
+ cmp lr, r1
+ mov r2, r2, lsr #8
+ add r7, r7, #2
+ bne .L1235
+ b .L1907
+ .size render_scanline_text_base_color16, .-render_scanline_text_base_color16
+ .align 2
+ .global render_scanline_text_transparent_color16
+ .type render_scanline_text_transparent_color16, %function
+render_scanline_text_transparent_color16:
+ @ args = 0, pretend = 0, frame = 8
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr ip, .L2599
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldrh lr, [ip, #80]
+ add r6, r0, #7
+ mov r6, lr, asr r6
+ mov lr, lr, asr r0
+ add r7, ip, r0, asl #2
+ ldrh r5, [ip, #6]
+ ldrh r4, [r7, #18]
+ add ip, ip, r0, asl #1
+ add sl, r5, r4
+ ldrh r8, [ip, #8]
+ mov r5, sl, asl #23
+ sub sp, sp, #8
+ mov r5, r5, lsr #23
+ rsb r2, r1, r2
+ ldrh r4, [r7, #16]
+ cmp r5, #255
+ movls ip, #0
+ movhi ip, #1
+ mov r7, r8, lsr #14
+ str r2, [sp, #4]
+ ldr r2, .L2599+4
+ ands ip, ip, r7, lsr #1
+ add fp, r3, r1, asl #1
+ ldr r2, [r2, r7, asl #2]
+ subne r3, r5, #256
+ mov r0, r8, asl #3
+ ldr r9, .L2599+8
+ movne r3, r3, lsr #3
+ moveq r3, sl, asl #3
+ add r4, r4, r1
+ and r0, r0, #63488
+ add r0, r0, r9
+ addne r3, r3, r2, lsr #3
+ andeq r3, r3, #1984
+ mov r4, r4, asl #23
+ addne r0, r0, r3, asl #6
+ addeq r0, r0, r3
+ mov r4, r4, lsr #23
+ tst r7, #1
+ and lr, lr, #1
+ and r6, r6, #2
+ andeq r4, r4, #255
+ orr lr, lr, r6
+ moveq r3, r4, lsr #3
+ mov lr, lr, asl #9
+ addeq r7, r0, r3, asl #1
+ streq r0, [sp, #0]
+ beq .L1964
+ cmp r4, #255
+ subhi r4, r4, #256
+ movhi r3, r4, lsr #3
+ movls r3, r4, lsr #3
+ addhi r3, r0, r3, asl #1
+ addls r7, r0, r3, asl #1
+ addls r0, r0, #2048
+ addhi r7, r3, #2048
+ strhi r0, [sp, #0]
+ strls r0, [sp, #0]
+.L1964:
+ tst r8, #128
+ beq .L1965
+ and r1, r4, #255
+ rsb r0, r1, #256
+ and r3, r5, #7
+ mov r2, r8, asl #12
+ ldr r1, [sp, #4]
+ mov r3, r3, asl #3
+ and r2, r2, #49152
+ add r2, r2, r3
+ cmp r1, r0
+ mov r3, r3, asl #1
+ add r2, r2, r9
+ rsb ip, r3, #56
+ and r4, r4, #7
+ bls .L2574
+ cmp r4, #0
+ moveq r8, r4
+ bne .L2575
+.L2167:
+ rsb r3, r8, r0
+ movs sl, r3, lsr #3
+ beq .L2221
+ mov r6, fp
+ mov r8, #0
+ b .L2223
+.L2576:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L2228
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #2] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [r6, #0] @ movhi
+.L2228:
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L2237
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #14] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #12] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #10] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [r6, #8] @ movhi
+.L2237:
+ add r8, r8, #1
+ cmp sl, r8
+ add r6, r6, #16
+ beq .L2263
+.L2577:
+ add r7, r7, #2
+.L2223:
+ ldrh r1, [r7, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r4, r2, r3, asl #6
+ addne r4, r4, ip
+ tst r1, #1024
+ bne .L2576
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L2246
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #0] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #2] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #4] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [r6, #6] @ movhi
+.L2246:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L2237
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #8] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #10] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #12] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ add r8, r8, #1
+ strneh r3, [r6, #14] @ movhi
+ cmp sl, r8
+ add r6, r6, #16
+ bne .L2577
+.L2263:
+ add fp, fp, sl, asl #4
+.L2221:
+ ldr r3, [sp, #4]
+ rsb sl, r0, r3
+ movs r0, sl, lsr #3
+ ldreq r0, [sp, #0]
+ beq .L2267
+ ldr r7, [sp, #0]
+ mov r6, fp
+ mov r8, #0
+ b .L2268
+.L2579:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L2273
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #2] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [r6, #0] @ movhi
+.L2273:
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L2282
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #14] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #12] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #10] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [r6, #8] @ movhi
+.L2282:
+ add r8, r8, #1
+ cmp r0, r8
+ add r6, r6, #16
+ add r7, r7, #2
+ beq .L2578
+.L2268:
+ ldrh r1, [r7, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r4, r2, r3, asl #6
+ addne r4, r4, ip
+ tst r1, #1024
+ bne .L2579
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L2291
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #0] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #2] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #4] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [r6, #6] @ movhi
+.L2291:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L2282
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #8] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #10] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r6, #12] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ add r8, r8, #1
+ strneh r3, [r6, #14] @ movhi
+ cmp r0, r8
+ add r6, r6, #16
+ add r7, r7, #2
+ bne .L2268
+.L2578:
+ ldr r1, [sp, #0]
+ add fp, fp, r0, asl #4
+ add r0, r1, r0, asl #1
+.L2267:
+ ands r4, sl, #7
+ beq .L2556
+ ldrh r0, [r0, #0]
+ mov r3, r0, asl #22
+ mov r3, r3, lsr #22
+ tst r0, #2048
+ add r2, r2, r3, asl #6
+ addne r2, r2, ip
+ tst r0, #1024
+ beq .L2312
+ cmp r4, #3
+ ldrls r0, [r2, #4]
+ bls .L2326
+ ldr r1, [r2, #4]
+ cmp r1, #0
+ beq .L2316
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #2] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [fp, #0] @ movhi
+.L2316:
+ subs r4, r4, #4
+ ldr r0, [r2, #0]
+ addne fp, fp, #8
+ beq .L2556
+.L2326:
+ mov r1, #0
+.L2327:
+ movs r3, r0, lsr #24
+ mov r2, r1, asl #1
+ orr r3, r3, lr
+ add r1, r1, #1
+ strneh r3, [r2, fp] @ movhi
+ cmp r1, r4
+ mov r0, r0, asl #8
+ bcc .L2327
+.L2556:
+ add sp, sp, #8
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L1965:
+ and r1, r4, #255
+ ldr ip, [sp, #4]
+ and r3, r5, #7
+ mov r2, r8, asl #12
+ mov r3, r3, asl #2
+ rsb r0, r1, #256
+ and r2, r2, #49152
+ add r2, r2, r3
+ cmp ip, r0
+ mov r3, r3, asl #1
+ add sl, r2, r9
+ rsb ip, r3, #28
+ and r1, r4, #7
+ bls .L2580
+ cmp r1, #0
+ moveq r8, r1
+ bne .L2581
+.L2441:
+ rsb r3, r8, r0
+ movs r9, r3, lsr #3
+ beq .L2459
+ mov r4, fp
+ mov r8, #0
+ b .L2461
+.L2582:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L2466
+ ands r3, r2, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #14] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #12] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #10] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #8] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #6] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #4] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #2] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #0] @ movhi
+.L2466:
+ add r8, r8, #1
+ cmp r9, r8
+ add r4, r4, #16
+ beq .L2499
+.L2583:
+ add r7, r7, #2
+.L2461:
+ ldrh r1, [r7, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r6, r3, asl #4
+ add r3, sl, r2, asl #5
+ addne r3, r3, ip
+ tst r1, #1024
+ bne .L2582
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L2466
+ ands r3, r2, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ add r8, r8, #1
+ strneh r3, [r4, #14] @ movhi
+ cmp r9, r8
+ add r4, r4, #16
+ bne .L2583
+.L2499:
+ add fp, fp, r9, asl #4
+.L2459:
+ ldr r1, [sp, #4]
+ rsb r9, r0, r1
+ movs r0, r9, lsr #3
+ ldreq r0, [sp, #0]
+ beq .L2503
+ ldr r7, [sp, #0]
+ mov r4, fp
+ mov r8, #0
+ b .L2504
+.L2585:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L2509
+ ands r3, r2, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #14] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #12] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #10] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #8] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #6] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #4] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #2] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #0] @ movhi
+.L2509:
+ add r8, r8, #1
+ cmp r0, r8
+ add r4, r4, #16
+ add r7, r7, #2
+ beq .L2584
+.L2504:
+ ldrh r1, [r7, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r6, r3, asl #4
+ add r3, sl, r2, asl #5
+ addne r3, r3, ip
+ tst r1, #1024
+ bne .L2585
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L2509
+ ands r3, r2, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r6, r3
+ orrne r3, r3, lr
+ add r8, r8, #1
+ strneh r3, [r4, #14] @ movhi
+ cmp r0, r8
+ add r4, r4, #16
+ add r7, r7, #2
+ bne .L2504
+.L2584:
+ ldr r3, [sp, #0]
+ add fp, fp, r0, asl #4
+ add r0, r3, r0, asl #1
+.L2503:
+ ands r4, r9, #7
+ beq .L2556
+ ldrh r0, [r0, #0]
+ mov r3, r0, asl #22
+ mov r3, r3, lsr #22
+ tst r0, #2048
+ add r3, sl, r3, asl #5
+ addne r3, r3, ip
+ mov r2, r0, lsr #12
+ tst r0, #1024
+ mov r2, r2, asl #4
+ ldreq r0, [r3, #0]
+ moveq ip, #0
+ beq .L2552
+ ldr r0, [r3, #0]
+ mov ip, #0
+.L2548:
+ movs r3, r0, lsr #28
+ orr r3, r2, r3
+ mov r1, ip, asl #1
+ orr r3, r3, lr
+ add ip, ip, #1
+ strneh r3, [r1, fp] @ movhi
+ cmp r4, ip
+ mov r0, r0, asl #4
+ bne .L2548
+ b .L2556
+.L2580:
+ cmp r1, #0
+ bne .L2586
+.L2350:
+ ldr r1, [sp, #4]
+ movs r0, r1, lsr #3
+ beq .L2385
+ mov r4, fp
+ mov r6, r7
+ mov r8, #0
+ b .L2387
+.L2588:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L2392
+ ands r3, r2, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #14] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #12] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #10] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #8] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #6] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #4] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #2] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #0] @ movhi
+.L2392:
+ add r8, r8, #1
+ cmp r0, r8
+ add r4, r4, #16
+ add r6, r6, #2
+ beq .L2587
+.L2387:
+ ldrh r1, [r6, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r5, r3, asl #4
+ add r3, sl, r2, asl #5
+ addne r3, r3, ip
+ tst r1, #1024
+ bne .L2588
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L2392
+ ands r3, r2, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ strneh r3, [r4, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r5, r3
+ orrne r3, r3, lr
+ add r8, r8, #1
+ strneh r3, [r4, #14] @ movhi
+ cmp r0, r8
+ add r4, r4, #16
+ add r6, r6, #2
+ bne .L2387
+.L2587:
+ add fp, fp, r0, asl #4
+ add r7, r7, r0, asl #1
+.L2385:
+ ldr r3, [sp, #4]
+ ands r4, r3, #7
+ beq .L2556
+ ldrh r1, [r7, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r0, sl, r3, asl #5
+ addne r0, r0, ip
+ mov r2, r1, lsr #12
+ tst r1, #1024
+ mov r2, r2, asl #4
+ ldreq r0, [r0, #0]
+ moveq ip, #0
+ beq .L2435
+ ldr r0, [r0, #0]
+ mov ip, #0
+.L2431:
+ movs r3, r0, lsr #28
+ orr r3, r2, r3
+ mov r1, ip, asl #1
+ orr r3, r3, lr
+ add ip, ip, #1
+ strneh r3, [r1, fp] @ movhi
+ cmp r4, ip
+ mov r0, r0, asl #4
+ bne .L2431
+ b .L2556
+.L2574:
+ cmp r4, #0
+ bne .L2589
+.L1969:
+ ldr r3, [sp, #4]
+ movs sl, r3, lsr #3
+ beq .L2083
+ mov r5, fp
+ mov r6, r7
+ mov r8, #0
+ b .L2085
+.L2591:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L2090
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r5, #2] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [r5, #0] @ movhi
+.L2090:
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L2099
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [r5, #14] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r5, #12] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r5, #10] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [r5, #8] @ movhi
+.L2099:
+ add r8, r8, #1
+ cmp sl, r8
+ add r5, r5, #16
+ add r6, r6, #2
+ beq .L2590
+.L2085:
+ ldrh r1, [r6, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r4, r2, r3, asl #6
+ addne r4, r4, ip
+ tst r1, #1024
+ bne .L2591
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L2108
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [r5, #0] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r5, #2] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r5, #4] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [r5, #6] @ movhi
+.L2108:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L2099
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [r5, #8] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r5, #10] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [r5, #12] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ add r8, r8, #1
+ strneh r3, [r5, #14] @ movhi
+ cmp sl, r8
+ add r5, r5, #16
+ add r6, r6, #2
+ bne .L2085
+.L2590:
+ add fp, fp, sl, asl #4
+ add r7, r7, sl, asl #1
+.L2083:
+ ldr r1, [sp, #4]
+ ands r4, r1, #7
+ beq .L2556
+ ldrh r1, [r7, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r0, r2, r3, asl #6
+ addne r0, r0, ip
+ tst r1, #1024
+ beq .L2129
+ cmp r4, #3
+ ldrls r0, [r0, #4]
+ bls .L2143
+ ldr r1, [r0, #4]
+ cmp r1, #0
+ beq .L2133
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #2] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [fp, #0] @ movhi
+.L2133:
+ subs r4, r4, #4
+ ldr r0, [r0, #0]
+ addne fp, fp, #8
+ beq .L2556
+.L2143:
+ mov r1, #0
+.L2144:
+ movs r3, r0, lsr #24
+ mov r2, r1, asl #1
+ orr r3, r3, lr
+ add r1, r1, #1
+ strneh r3, [r2, fp] @ movhi
+ cmp r4, r1
+ mov r0, r0, asl #8
+ bhi .L2144
+ b .L2556
+.L2552:
+ ands r3, r0, #15
+ orr r3, r2, r3
+ mov r1, ip, asl #1
+ orr r3, r3, lr
+ add ip, ip, #1
+ strneh r3, [r1, fp] @ movhi
+ cmp r4, ip
+ mov r0, r0, lsr #4
+ bne .L2552
+ b .L2556
+.L2586:
+ ldr r3, [sp, #4]
+ rsb r5, r1, #8
+ cmp r3, r5
+ bcs .L2352
+ ldrh r4, [r7, #0]
+ mov r3, r4, asl #22
+ mov r3, r3, lsr #22
+ tst r4, #2048
+ add r0, sl, r3, asl #5
+ mov r2, r4, lsr #12
+ addne r0, r0, ip
+ tst r4, #1024
+ mov r2, r2, asl #4
+ bne .L2592
+ ldr r3, [sp, #4]
+ ldr r0, [r0, #0]
+ cmp r3, #0
+ beq .L2556
+ mov r3, r1, asl #2
+ mov r0, r0, lsr r3
+ mov ip, #0
+.L2364:
+ ands r3, r0, #15
+ orr r3, r2, r3
+ mov r1, ip, asl #1
+ orr r3, r3, lr
+ strneh r3, [r1, fp] @ movhi
+ ldr r1, [sp, #4]
+ add ip, ip, #1
+ cmp r1, ip
+ mov r0, r0, lsr #4
+ bne .L2364
+ b .L2556
+.L2581:
+ ldrh r6, [r7, #0]
+ rsb r8, r1, #8
+ mov r2, r6, asl #22
+ mov r3, r6, lsr #12
+ mov r2, r2, lsr #22
+ tst r6, #2048
+ mov r9, r3, asl #4
+ add r3, sl, r2, asl #5
+ addne r3, r3, ip
+ tst r6, #1024
+ beq .L2444
+ cmp r8, #0
+ ldr r2, [r3, #0]
+ beq .L2446
+ mov r3, r1, asl #2
+ mov r1, r2, asl r3
+ mov r4, #0
+.L2448:
+ movs r3, r1, lsr #28
+ orr r3, r9, r3
+ mov r2, r4, asl #1
+ orr r3, r3, lr
+ add r4, r4, #1
+ strneh r3, [r2, fp] @ movhi
+ cmp r8, r4
+ mov r1, r1, asl #4
+ bne .L2448
+ add fp, fp, r8, asl #1
+.L2446:
+ add r7, r7, #2
+ b .L2441
+.L2575:
+ ldrh r1, [r7, #0]
+ rsb r8, r4, #8
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add sl, r2, r3, asl #6
+ addne sl, sl, ip
+ ands r6, r1, #1024
+ beq .L2170
+ cmp r4, #3
+ bhi .L2593
+ subs r5, r8, #4
+ ldr r1, [sl, #4]
+ beq .L2181
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov r6, #0
+.L2183:
+ movs r3, r1, lsr #24
+ mov r4, r6, asl #1
+ orr r3, r3, lr
+ add r6, r6, #1
+ strneh r3, [r4, fp] @ movhi
+ cmp r5, r6
+ mov r1, r1, asl #8
+ bne .L2183
+ add r3, fp, r8, asl #1
+ sub fp, r3, #8
+.L2181:
+ ldr r1, [sl, #0]
+ cmp r1, #0
+ beq .L2212
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #2] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [fp, #0] @ movhi
+.L2212:
+ add fp, fp, #8
+ mov r8, r5
+.L2174:
+ add r7, r7, #2
+ b .L2167
+.L2589:
+ rsb r0, r4, #8
+ cmp r1, r0
+ bcs .L1971
+ ldrh r1, [r7, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r0, r2, r3, asl #6
+ addne r0, r0, ip
+ tst r1, #1024
+ bne .L2594
+ cmp r4, #3
+ bls .L2004
+ ldr ip, [sp, #4]
+ ldr r0, [r0, #4]
+ cmp ip, #0
+ beq .L2556
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r0, r0, lsr r3
+ mov r1, #0
+.L2007:
+ ands r3, r0, #255
+ orr r3, r3, lr
+ mov r2, r1, asl #1
+ strneh r3, [r2, fp] @ movhi
+ ldr r3, [sp, #4]
+ add r1, r1, #1
+ cmp r3, r1
+ mov r0, r0, lsr #8
+ bne .L2007
+ b .L2556
+.L2600:
+ .align 2
+.L2599:
+ .word io_registers
+ .word map_widths
+ .word vram
+.L2435:
+ ands r3, r0, #15
+ orr r3, r2, r3
+ mov r1, ip, asl #1
+ orr r3, r3, lr
+ add ip, ip, #1
+ strneh r3, [r1, fp] @ movhi
+ cmp r4, ip
+ mov r0, r0, lsr #4
+ bne .L2435
+ b .L2556
+.L2312:
+ cmp r4, #3
+ ldrls r0, [r2, #0]
+ bls .L2343
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L2333
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #0] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #2] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #4] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [fp, #6] @ movhi
+.L2333:
+ subs r4, r4, #4
+ ldr r0, [r2, #4]
+ addne fp, fp, #8
+ beq .L2556
+.L2343:
+ mov r1, #0
+.L2344:
+ ands r3, r0, #255
+ mov r2, r1, asl #1
+ orr r3, r3, lr
+ add r1, r1, #1
+ strneh r3, [r2, fp] @ movhi
+ cmp r1, r4
+ mov r0, r0, lsr #8
+ bcc .L2344
+ b .L2556
+.L2129:
+ cmp r4, #3
+ ldrls r0, [r0, #0]
+ bls .L2160
+ ldr r1, [r0, #0]
+ cmp r1, #0
+ beq .L2150
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #0] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #2] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #4] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [fp, #6] @ movhi
+.L2150:
+ subs r4, r4, #4
+ ldr r0, [r0, #4]
+ addne fp, fp, #8
+ beq .L2556
+.L2160:
+ mov r1, #0
+.L2161:
+ ands r3, r0, #255
+ mov r2, r1, asl #1
+ orr r3, r3, lr
+ add r1, r1, #1
+ strneh r3, [r2, fp] @ movhi
+ cmp r4, r1
+ mov r0, r0, lsr #8
+ bhi .L2161
+ b .L2556
+.L2352:
+ ldrh r4, [r7, #0]
+ mov r2, r4, asl #22
+ mov r3, r4, lsr #12
+ mov r2, r2, lsr #22
+ tst r4, #2048
+ mov r0, r3, asl #4
+ add r3, sl, r2, asl #5
+ addne r3, r3, ip
+ tst r4, #1024
+ bne .L2595
+ cmp r5, #0
+ ldr r2, [r3, #0]
+ beq .L2372
+ mov r3, r1, asl #2
+ mov r1, r2, lsr r3
+ mov r4, #0
+.L2380:
+ ands r3, r1, #15
+ orr r3, r0, r3
+ mov r2, r4, asl #1
+ orr r3, r3, lr
+ add r4, r4, #1
+ strneh r3, [r2, fp] @ movhi
+ cmp r5, r4
+ mov r1, r1, lsr #4
+ bne .L2380
+.L2571:
+ add fp, fp, r5, asl #1
+.L2372:
+ ldr r3, [sp, #4]
+ add r7, r7, #2
+ rsb r3, r5, r3
+ str r3, [sp, #4]
+ b .L2350
+.L2444:
+ cmp r8, #0
+ ldr r2, [r3, #0]
+ beq .L2446
+ mov r3, r1, asl #2
+ mov r1, r2, lsr r3
+ mov r4, #0
+.L2454:
+ ands r3, r1, #15
+ orr r3, r9, r3
+ mov r2, r4, asl #1
+ orr r3, r3, lr
+ add r4, r4, #1
+ strneh r3, [r2, fp] @ movhi
+ cmp r8, r4
+ mov r1, r1, lsr #4
+ bne .L2454
+ add fp, fp, r8, asl #1
+ b .L2446
+.L2170:
+ cmp r4, #3
+ bhi .L2596
+ subs r5, r8, #4
+ ldr r1, [sl, #0]
+ beq .L2205
+ mov r3, r4, asl #3
+ mov r1, r1, lsr r3
+ mov r6, #0
+.L2207:
+ ands r3, r1, #255
+ mov r4, r6, asl #1
+ orr r3, r3, lr
+ add r6, r6, #1
+ strneh r3, [r4, fp] @ movhi
+ cmp r5, r6
+ mov r1, r1, lsr #8
+ bne .L2207
+ add r3, fp, r8, asl #1
+ sub fp, r3, #8
+.L2205:
+ ldr r1, [sl, #4]
+ cmp r1, #0
+ beq .L2212
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #0] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #2] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #4] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [fp, #6] @ movhi
+ b .L2212
+.L1971:
+ ldrh r1, [r7, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r6, r2, r3, asl #6
+ addne r6, r6, ip
+ ands r5, r1, #1024
+ bne .L2597
+ cmp r4, #3
+ bls .L2059
+ cmp r0, #0
+ ldr r1, [r6, #4]
+ beq .L2036
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, lsr r3
+.L2062:
+ ands r3, r1, #255
+ mov r4, r5, asl #1
+ orr r3, r3, lr
+ add r5, r5, #1
+ strneh r3, [r4, fp] @ movhi
+ cmp r0, r5
+ mov r1, r1, lsr #8
+ bne .L2062
+.L2558:
+ add fp, fp, r0, asl #1
+.L2036:
+ ldr r1, [sp, #4]
+ add r7, r7, #2
+ rsb r1, r0, r1
+ str r1, [sp, #4]
+ b .L1969
+.L2593:
+ cmp r8, #0
+ ldr r1, [sl, #0]
+ beq .L2174
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov r6, #0
+.L2176:
+ movs r3, r1, lsr #24
+ mov r4, r6, asl #1
+ orr r3, r3, lr
+ add r6, r6, #1
+ strneh r3, [r4, fp] @ movhi
+ cmp r8, r6
+ mov r1, r1, asl #8
+ bne .L2176
+ add fp, fp, r8, asl #1
+.L2598:
+ add r7, r7, #2
+ b .L2167
+.L2592:
+ ldr ip, [sp, #4]
+ ldr r0, [r0, #0]
+ cmp ip, #0
+ beq .L2556
+ mov r3, r1, asl #2
+ mov r0, r0, asl r3
+ mov ip, #0
+.L2359:
+ movs r3, r0, lsr #28
+ orr r3, r2, r3
+ mov r1, ip, asl #1
+ orr r3, r3, lr
+ strneh r3, [r1, fp] @ movhi
+ ldr r1, [sp, #4]
+ add ip, ip, #1
+ cmp r1, ip
+ mov r0, r0, asl #4
+ bne .L2359
+ b .L2556
+.L2597:
+ cmp r4, #3
+ bls .L2034
+ cmp r0, #0
+ ldr r1, [r6, #0]
+ beq .L2036
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov r5, #0
+.L2038:
+ movs r3, r1, lsr #24
+ mov r4, r5, asl #1
+ orr r3, r3, lr
+ add r5, r5, #1
+ strneh r3, [r4, fp] @ movhi
+ cmp r0, r5
+ mov r1, r1, asl #8
+ bne .L2038
+ b .L2558
+.L2595:
+ cmp r5, #0
+ ldr r2, [r3, #0]
+ beq .L2372
+ mov r3, r1, asl #2
+ mov r1, r2, asl r3
+ mov r4, #0
+.L2374:
+ movs r3, r1, lsr #28
+ orr r3, r0, r3
+ mov r2, r4, asl #1
+ orr r3, r3, lr
+ add r4, r4, #1
+ strneh r3, [r2, fp] @ movhi
+ cmp r5, r4
+ mov r1, r1, asl #4
+ bne .L2374
+ b .L2571
+.L2594:
+ cmp r4, #3
+ bls .L1977
+ ldr r3, [sp, #4]
+ ldr r0, [r0, #0]
+ cmp r3, #0
+ beq .L2556
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r0, r0, asl r3
+ mov r1, #0
+.L1981:
+ movs r3, r0, lsr #24
+ ldr ip, [sp, #4]
+ mov r2, r1, asl #1
+ orr r3, r3, lr
+ add r1, r1, #1
+ strneh r3, [r2, fp] @ movhi
+ cmp ip, r1
+ mov r0, r0, asl #8
+ bne .L1981
+ b .L2556
+.L2596:
+ cmp r8, #0
+ ldr r1, [sl, #4]
+ beq .L2174
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, lsr r3
+.L2200:
+ ands r3, r1, #255
+ mov r4, r6, asl #1
+ orr r3, r3, lr
+ add r6, r6, #1
+ strneh r3, [r4, fp] @ movhi
+ cmp r8, r6
+ mov r1, r1, lsr #8
+ bne .L2200
+ add fp, fp, r8, asl #1
+ b .L2598
+.L1977:
+ ldr ip, [sp, #4]
+ mov r3, r4, asl #3
+ ldr r1, [r0, #4]
+ add r2, ip, r4
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L1985
+ cmp ip, #0
+ movne r0, #0
+ beq .L2556
+.L2000:
+ movs r3, r1, lsr #24
+ orr r3, r3, lr
+ mov r2, r0, asl #1
+ strneh r3, [r2, fp] @ movhi
+ ldr r3, [sp, #4]
+ add r0, r0, #1
+ cmp r3, r0
+ mov r1, r1, asl #8
+ bne .L2000
+ b .L2556
+.L2034:
+ subs r8, r0, #4
+ ldr r1, [r6, #4]
+ beq .L2043
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov r5, #0
+.L2045:
+ movs r3, r1, lsr #24
+ mov r4, r5, asl #1
+ orr r3, r3, lr
+ add r5, r5, #1
+ strneh r3, [r4, fp] @ movhi
+ cmp r8, r5
+ mov r1, r1, asl #8
+ bne .L2045
+ add r3, fp, r0, asl #1
+ sub fp, r3, #8
+.L2043:
+ ldr r1, [r6, #0]
+ cmp r1, #0
+ beq .L2074
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #2] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [fp, #0] @ movhi
+.L2074:
+ add fp, fp, #8
+ b .L2036
+.L2004:
+ ldr ip, [sp, #4]
+ ldr r3, [r0, #0]
+ add r2, ip, r4
+ cmp r2, #4
+ mov r1, r4, asl #3
+ mov r2, r3, lsr r1
+ bhi .L2011
+ cmp ip, #0
+ movne r0, #0
+ beq .L2556
+.L2026:
+ ands r3, r2, #255
+ orr r3, r3, lr
+ mov r1, r0, asl #1
+ strneh r3, [r1, fp] @ movhi
+ ldr r3, [sp, #4]
+ add r0, r0, #1
+ cmp r3, r0
+ mov r2, r2, lsr #8
+ bne .L2026
+ b .L2556
+.L2059:
+ subs r8, r0, #4
+ ldr r1, [r6, #0]
+ beq .L2067
+ mov r3, r4, asl #3
+ mov r1, r1, lsr r3
+ mov r5, #0
+.L2069:
+ ands r3, r1, #255
+ mov r4, r5, asl #1
+ orr r3, r3, lr
+ add r5, r5, #1
+ strneh r3, [r4, fp] @ movhi
+ cmp r8, r5
+ mov r1, r1, lsr #8
+ bne .L2069
+ add r3, fp, r0, asl #1
+ sub fp, r3, #8
+.L2067:
+ ldr r1, [r6, #4]
+ cmp r1, #0
+ beq .L2074
+ ands r3, r1, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #0] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #2] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, r3, lr
+ strneh r3, [fp, #4] @ movhi
+ movs r3, r1, lsr #24
+ orrne r3, r3, lr
+ strneh r3, [fp, #6] @ movhi
+ add fp, fp, #8
+ b .L2036
+.L1985:
+ rsbs r4, r4, #4
+ beq .L1988
+ mov ip, #0
+.L1990:
+ movs r3, r1, lsr #24
+ mov r2, ip, asl #1
+ orr r3, r3, lr
+ add ip, ip, #1
+ strneh r3, [r2, fp] @ movhi
+ cmp r4, ip
+ mov r1, r1, asl #8
+ bne .L1990
+ add fp, fp, r4, asl #1
+.L1988:
+ ldr r1, [sp, #4]
+ ldr r0, [r0, #0]
+ subs ip, r1, r4
+ beq .L2556
+ mov r1, #0
+.L1996:
+ movs r3, r0, lsr #24
+ mov r2, r1, asl #1
+ orr r3, r3, lr
+ add r1, r1, #1
+ strneh r3, [r2, fp] @ movhi
+ cmp ip, r1
+ mov r0, r0, asl #8
+ bne .L1996
+ b .L2556
+.L2011:
+ rsbs r4, r4, #4
+ beq .L2014
+ mov ip, #0
+.L2016:
+ ands r3, r2, #255
+ mov r1, ip, asl #1
+ orr r3, r3, lr
+ add ip, ip, #1
+ strneh r3, [r1, fp] @ movhi
+ cmp r4, ip
+ mov r2, r2, lsr #8
+ bne .L2016
+ add fp, fp, r4, asl #1
+.L2014:
+ ldr r1, [sp, #4]
+ ldr r0, [r0, #4]
+ subs ip, r1, r4
+ beq .L2556
+ mov r1, #0
+.L2022:
+ ands r3, r0, #255
+ mov r2, r1, asl #1
+ orr r3, r3, lr
+ add r1, r1, #1
+ strneh r3, [r2, fp] @ movhi
+ cmp ip, r1
+ mov r0, r0, lsr #8
+ bne .L2022
+ b .L2556
+ .size render_scanline_text_transparent_color16, .-render_scanline_text_transparent_color16
+ .align 2
+ .global render_scanline_text_base_color32
+ .type render_scanline_text_base_color32, %function
+render_scanline_text_base_color32:
+ @ args = 0, pretend = 0, frame = 16
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr ip, .L3398
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldrh r5, [ip, #80]
+ add r7, r0, #7
+ mov r8, r5, asr r0
+ mov r7, r5, asr r7
+ add r6, ip, r0, asl #2
+ ldrh r4, [ip, #6]
+ ldrh lr, [r6, #18]
+ add ip, ip, r0, asl #1
+ add fp, r4, lr
+ ldrh r9, [ip, #8]
+ mov sl, fp, asl #23
+ rsb r2, r1, r2
+ sub sp, sp, #16
+ mov sl, sl, lsr #23
+ cmp sl, #255
+ movls r4, #0
+ movhi r4, #1
+ ldrh lr, [r6, #16]
+ str r2, [sp, #12]
+ mov r6, r9, lsr #14
+ ldr r2, .L3398+4
+ ands r4, r4, r6, lsr #1
+ and r7, r7, #2
+ and r8, r8, #1
+ add lr, lr, r1
+ orr r8, r8, r7
+ mov ip, r9, asl #3
+ add r7, r3, r1, asl #2
+ ldr r2, [r2, r6, asl #2]
+ subne r3, sl, #256
+ ldr r1, .L3398+8
+ movne r3, r3, lsr #3
+ moveq r3, fp, asl #3
+ and ip, ip, #63488
+ addne r3, r3, r2, lsr #3
+ andeq r3, r3, #1984
+ add ip, ip, r1
+ mov lr, lr, asl #23
+ addne r4, ip, r3, asl #6
+ addeq r4, ip, r3
+ mov r0, r5, lsr #12
+ tst r6, #1
+ mov lr, lr, lsr #23
+ and r0, r0, #2
+ mov r5, r5, asl #26
+ andeq lr, lr, #255
+ orr r0, r0, r5, lsr #31
+ moveq r3, lr, lsr #3
+ mov r0, r0, asl #9
+ mov r8, r8, asl #9
+ addeq fp, r4, r3, asl #1
+ streq r4, [sp, #0]
+ beq .L2609
+ cmp lr, #255
+ subhi lr, lr, #256
+ movhi r3, lr, lsr #3
+ movls r3, lr, lsr #3
+ addhi r3, r4, r3, asl #1
+ addls fp, r4, r3, asl #1
+ addls r4, r4, #2048
+ addhi fp, r3, #2048
+ strhi r4, [sp, #0]
+ strls r4, [sp, #0]
+.L2609:
+ tst r9, #128
+ beq .L2610
+ mov r2, r9, asl #12
+ and r3, sl, #7
+ and r1, lr, #255
+ mov r3, r3, asl #3
+ and r2, r2, #49152
+ ldr r4, [sp, #12]
+ rsb r9, r1, #256
+ add r2, r2, r3
+ ldr r1, .L3398+8
+ mov r3, r3, asl #1
+ rsb r3, r3, #56
+ cmp r4, r9
+ add r2, r2, r1
+ str r3, [sp, #4]
+ and lr, lr, #7
+ bls .L3366
+ cmp lr, #0
+ moveq r6, lr
+ bne .L3367
+.L2850:
+ rsb r3, r6, r9
+ movs sl, r3, lsr #3
+ beq .L2914
+ mov lr, r7
+ mov r6, #0
+ b .L2916
+.L3368:
+ ldr r1, [r5, #4]
+ add r6, r6, #1
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #12]
+ mov r3, r1, lsr #8
+ streq r0, [lr, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #8]
+ mov r3, r1, lsr #16
+ streq r0, [lr, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #4]
+ streq r0, [lr, #4]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+ ldr r1, [r5, #0]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #28]
+ mov r3, r1, lsr #8
+ streq r0, [lr, #28]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #24]
+ mov r3, r1, lsr #16
+ streq r0, [lr, #24]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #20]
+ streq r0, [lr, #20]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [lr, #16]
+ streq r0, [lr, #16]
+ cmp sl, r6
+ add lr, lr, #32
+ beq .L2968
+.L3369:
+ add fp, fp, #2
+.L2916:
+ ldrh r1, [fp, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r5, r2, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r5, r5, r3
+ tst r1, #1024
+ bne .L3368
+ ldr r1, [r5, #0]
+ add r6, r6, #1
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #0]
+ mov r3, r1, lsr #8
+ streq r0, [lr, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #4]
+ mov r3, r1, lsr #16
+ streq r0, [lr, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #8]
+ streq r0, [lr, #8]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [lr, #12]
+ streq r0, [lr, #12]
+ ldr r1, [r5, #4]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #16]
+ mov r3, r1, lsr #8
+ streq r0, [lr, #16]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #20]
+ mov r3, r1, lsr #16
+ streq r0, [lr, #20]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #24]
+ streq r0, [lr, #24]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [lr, #28]
+ streq r0, [lr, #28]
+ cmp sl, r6
+ add lr, lr, #32
+ bne .L3369
+.L2968:
+ add r7, r7, sl, asl #5
+.L2914:
+ ldr r4, [sp, #12]
+ rsb r9, r9, r4
+ movs r4, r9, lsr #3
+ ldreq r3, [sp, #0]
+ beq .L2972
+ ldr r6, [sp, #0]
+ mov lr, r7
+ mov sl, #0
+ b .L2973
+.L3371:
+ ldr r1, [r5, #4]
+ add sl, sl, #1
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #12]
+ mov r3, r1, lsr #8
+ streq r0, [lr, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #8]
+ mov r3, r1, lsr #16
+ streq r0, [lr, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #4]
+ streq r0, [lr, #4]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+ ldr r1, [r5, #0]
+ add r6, r6, #2
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #28]
+ mov r3, r1, lsr #8
+ streq r0, [lr, #28]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #24]
+ mov r3, r1, lsr #16
+ streq r0, [lr, #24]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #20]
+ streq r0, [lr, #20]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [lr, #16]
+ streq r0, [lr, #16]
+ cmp r4, sl
+ add lr, lr, #32
+ beq .L3370
+.L2973:
+ ldrh r1, [r6, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r5, r2, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r5, r5, r3
+ tst r1, #1024
+ bne .L3371
+ ldr r1, [r5, #0]
+ add sl, sl, #1
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #0]
+ mov r3, r1, lsr #8
+ streq r0, [lr, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #4]
+ mov r3, r1, lsr #16
+ streq r0, [lr, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #8]
+ streq r0, [lr, #8]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [lr, #12]
+ streq r0, [lr, #12]
+ ldr r1, [r5, #4]
+ add r6, r6, #2
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #16]
+ mov r3, r1, lsr #8
+ streq r0, [lr, #16]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #20]
+ mov r3, r1, lsr #16
+ streq r0, [lr, #20]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #24]
+ streq r0, [lr, #24]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [lr, #28]
+ streq r0, [lr, #28]
+ cmp r4, sl
+ add lr, lr, #32
+ bne .L2973
+.L3370:
+ ldr r1, [sp, #0]
+ add r7, r7, r4, asl #5
+ add r3, r1, r4, asl #1
+.L2972:
+ ands lr, r9, #7
+ beq .L3345
+ ldrh r4, [r3, #0]
+ mov r3, r4, asl #22
+ mov r3, r3, lsr #22
+ tst r4, #2048
+ add r2, r2, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r2, r2, r3
+ tst r4, #1024
+ beq .L3029
+ cmp lr, #3
+ ldrls r2, [r2, #4]
+ bhi .L3372
+.L3046:
+ mov r1, #0
+.L3047:
+ movs r3, r2, lsr #24
+ orr r3, r8, r3
+ add r1, r1, #1
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+ cmp r1, lr
+ mov r2, r2, asl #8
+ add r7, r7, #4
+ bcc .L3047
+.L3345:
+ add sp, sp, #16
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L2610:
+ mov r2, r9, asl #12
+ and r3, sl, #7
+ and r1, lr, #255
+ mov r3, r3, asl #2
+ and r2, r2, #49152
+ ldr r4, [sp, #12]
+ rsb r9, r1, #256
+ add r2, r2, r3
+ ldr r1, .L3398+8
+ mov r3, r3, asl #1
+ rsb r3, r3, #28
+ cmp r4, r9
+ add ip, r2, r1
+ str r3, [sp, #8]
+ and r1, lr, #7
+ bls .L3373
+ cmp r1, #0
+ moveq r6, r1
+ bne .L3374
+.L3190:
+ rsb r3, r6, r9
+ movs sl, r3, lsr #3
+ beq .L3210
+ mov lr, r7
+ mov r6, #0
+ b .L3212
+.L3375:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L3243
+ ands r3, r2, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #28]
+ mov r3, r2, lsr #4
+ streq r0, [lr, #28]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #24]
+ mov r3, r2, lsr #8
+ streq r0, [lr, #24]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #20]
+ mov r3, r2, lsr #12
+ streq r0, [lr, #20]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #16]
+ mov r3, r2, lsr #16
+ streq r0, [lr, #16]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #12]
+ mov r3, r2, lsr #20
+ streq r0, [lr, #12]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #8]
+ mov r3, r2, lsr #24
+ streq r0, [lr, #8]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #4]
+ streq r0, [lr, #4]
+ movs r3, r2, lsr #28
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L3242:
+ add r6, r6, #1
+ cmp sl, r6
+ add lr, lr, #32
+ beq .L3268
+.L3376:
+ add fp, fp, #2
+.L3212:
+ ldrh r1, [fp, #0]
+ tst r1, #2048
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ ldrne r4, [sp, #8]
+ mov r2, r2, lsr #22
+ mov r5, r3, asl #4
+ add r3, ip, r2, asl #5
+ addne r3, r3, r4
+ tst r1, #1024
+ bne .L3375
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L3243
+ ands r3, r2, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #0]
+ mov r3, r2, lsr #4
+ streq r0, [lr, #0]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #4]
+ mov r3, r2, lsr #8
+ streq r0, [lr, #4]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #8]
+ mov r3, r2, lsr #12
+ streq r0, [lr, #8]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #12]
+ mov r3, r2, lsr #16
+ streq r0, [lr, #12]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #16]
+ mov r3, r2, lsr #20
+ streq r0, [lr, #16]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #20]
+ mov r3, r2, lsr #24
+ streq r0, [lr, #20]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #24]
+ streq r0, [lr, #24]
+ movs r3, r2, lsr #28
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #28]
+ bne .L3242
+ str r0, [lr, #28]
+.L3386:
+ add r6, r6, #1
+ cmp sl, r6
+ add lr, lr, #32
+ bne .L3376
+.L3268:
+ add r7, r7, sl, asl #5
+.L3210:
+ ldr r1, [sp, #12]
+ rsb r9, r9, r1
+ movs r4, r9, lsr #3
+ ldreq r2, [sp, #0]
+ beq .L3272
+ ldr r6, [sp, #0]
+ mov lr, r7
+ mov sl, #0
+ b .L3273
+.L3378:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L3304
+ ands r3, r2, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #28]
+ mov r3, r2, lsr #4
+ streq r0, [lr, #28]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #24]
+ mov r3, r2, lsr #8
+ streq r0, [lr, #24]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #20]
+ mov r3, r2, lsr #12
+ streq r0, [lr, #20]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #16]
+ mov r3, r2, lsr #16
+ streq r0, [lr, #16]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #12]
+ mov r3, r2, lsr #20
+ streq r0, [lr, #12]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #8]
+ mov r3, r2, lsr #24
+ streq r0, [lr, #8]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #4]
+ streq r0, [lr, #4]
+ movs r3, r2, lsr #28
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L3303:
+ add sl, sl, #1
+ cmp r4, sl
+ add lr, lr, #32
+ add r6, r6, #2
+ beq .L3377
+.L3273:
+ ldrh r1, [r6, #0]
+ mov r2, r1, asl #22
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r3, r1, lsr #12
+ mov r5, r3, asl #4
+ add r3, ip, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst r1, #1024
+ bne .L3378
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L3304
+ ands r3, r2, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #0]
+ mov r3, r2, lsr #4
+ streq r0, [lr, #0]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #4]
+ mov r3, r2, lsr #8
+ streq r0, [lr, #4]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #8]
+ mov r3, r2, lsr #12
+ streq r0, [lr, #8]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #12]
+ mov r3, r2, lsr #16
+ streq r0, [lr, #12]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #16]
+ mov r3, r2, lsr #20
+ streq r0, [lr, #16]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #20]
+ mov r3, r2, lsr #24
+ streq r0, [lr, #20]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #24]
+ streq r0, [lr, #24]
+ movs r3, r2, lsr #28
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #28]
+ bne .L3303
+ str r0, [lr, #28]
+.L3387:
+ add sl, sl, #1
+ cmp r4, sl
+ add lr, lr, #32
+ add r6, r6, #2
+ bne .L3273
+.L3377:
+ ldr r3, [sp, #0]
+ add r7, r7, r4, asl #5
+ add r2, r3, r4, asl #1
+.L3272:
+ ands lr, r9, #7
+ beq .L3345
+ ldrh r4, [r2, #0]
+ tst r4, #2048
+ mov r3, r4, asl #22
+ ldrne r1, [sp, #8]
+ mov r3, r3, lsr #22
+ add r3, ip, r3, asl #5
+ addne r3, r3, r1
+ mov r2, r4, lsr #12
+ tst r4, #1024
+ mov ip, r2, asl #4
+ moveq r1, #0
+ ldreq r2, [r3, #0]
+ beq .L3340
+ ldr r2, [r3, #0]
+ mov r1, #0
+.L3335:
+ movs r3, r2, lsr #28
+ orr r3, r8, r3
+ orr r3, ip, r3
+ add r1, r1, #1
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+ cmp lr, r1
+ mov r2, r2, asl #4
+ add r7, r7, #4
+ bne .L3335
+ b .L3345
+.L3373:
+ cmp r1, #0
+ bne .L3379
+.L3075:
+ ldr r4, [sp, #12]
+ movs r9, r4, lsr #3
+ beq .L3114
+ mov lr, r7
+ mov r6, fp
+ mov sl, #0
+ b .L3116
+.L3381:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L3147
+ ands r3, r2, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #28]
+ mov r3, r2, lsr #4
+ streq r0, [lr, #28]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #24]
+ mov r3, r2, lsr #8
+ streq r0, [lr, #24]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #20]
+ mov r3, r2, lsr #12
+ streq r0, [lr, #20]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #16]
+ mov r3, r2, lsr #16
+ streq r0, [lr, #16]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #12]
+ mov r3, r2, lsr #20
+ streq r0, [lr, #12]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #8]
+ mov r3, r2, lsr #24
+ streq r0, [lr, #8]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #4]
+ streq r0, [lr, #4]
+ movs r3, r2, lsr #28
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L3146:
+ add sl, sl, #1
+ cmp r9, sl
+ add lr, lr, #32
+ add r6, r6, #2
+ beq .L3380
+.L3116:
+ ldrh r1, [r6, #0]
+ mov r2, r1, asl #22
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r3, r1, lsr #12
+ mov r5, r3, asl #4
+ add r3, ip, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst r1, #1024
+ bne .L3381
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L3147
+ ands r3, r2, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #0]
+ mov r3, r2, lsr #4
+ streq r0, [lr, #0]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #4]
+ mov r3, r2, lsr #8
+ streq r0, [lr, #4]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #8]
+ mov r3, r2, lsr #12
+ streq r0, [lr, #8]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #12]
+ mov r3, r2, lsr #16
+ streq r0, [lr, #12]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #16]
+ mov r3, r2, lsr #20
+ streq r0, [lr, #16]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #20]
+ mov r3, r2, lsr #24
+ streq r0, [lr, #20]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #24]
+ streq r0, [lr, #24]
+ movs r3, r2, lsr #28
+ orrne r3, r8, r3
+ orrne r3, r5, r3
+ strne r3, [lr, #28]
+ bne .L3146
+ str r0, [lr, #28]
+.L3391:
+ add sl, sl, #1
+ cmp r9, sl
+ add lr, lr, #32
+ add r6, r6, #2
+ bne .L3116
+.L3380:
+ add r7, r7, r9, asl #5
+ add fp, fp, r9, asl #1
+.L3114:
+ ldr r3, [sp, #12]
+ ands lr, r3, #7
+ beq .L3345
+ ldrh r1, [fp, #0]
+ tst r1, #2048
+ mov r3, r1, asl #22
+ ldrne r4, [sp, #8]
+ mov r3, r3, lsr #22
+ add r3, ip, r3, asl #5
+ mov r2, r1, lsr #12
+ addne r3, r3, r4
+ tst r1, #1024
+ mov ip, r2, asl #4
+ moveq r1, #0
+ ldreq r2, [r3, #0]
+ beq .L3183
+ ldr r2, [r3, #0]
+ mov r1, #0
+.L3178:
+ movs r3, r2, lsr #28
+ orr r3, r8, r3
+ orr r3, ip, r3
+ add r1, r1, #1
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+ cmp lr, r1
+ mov r2, r2, asl #4
+ add r7, r7, #4
+ bne .L3178
+ b .L3345
+.L3366:
+ cmp lr, #0
+ bne .L3382
+.L2614:
+ ldr r3, [sp, #12]
+ movs r9, r3, lsr #3
+ beq .L2746
+ mov lr, r7
+ mov r6, fp
+ mov sl, #0
+ b .L2748
+.L3384:
+ ldr r1, [r5, #4]
+ add sl, sl, #1
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #12]
+ mov r3, r1, lsr #8
+ streq r0, [lr, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #8]
+ mov r3, r1, lsr #16
+ streq r0, [lr, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #4]
+ streq r0, [lr, #4]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+ ldr r1, [r5, #0]
+ add r6, r6, #2
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #28]
+ mov r3, r1, lsr #8
+ streq r0, [lr, #28]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #24]
+ mov r3, r1, lsr #16
+ streq r0, [lr, #24]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #20]
+ streq r0, [lr, #20]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [lr, #16]
+ streq r0, [lr, #16]
+ cmp r9, sl
+ add lr, lr, #32
+ beq .L3383
+.L2748:
+ ldrh r1, [r6, #0]
+ tst r1, #2048
+ mov r3, r1, asl #22
+ ldrne r4, [sp, #4]
+ mov r3, r3, lsr #22
+ add r5, r2, r3, asl #6
+ addne r5, r5, r4
+ tst r1, #1024
+ bne .L3384
+ ldr r1, [r5, #0]
+ add sl, sl, #1
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #0]
+ mov r3, r1, lsr #8
+ streq r0, [lr, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #4]
+ mov r3, r1, lsr #16
+ streq r0, [lr, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #8]
+ streq r0, [lr, #8]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [lr, #12]
+ streq r0, [lr, #12]
+ ldr r1, [r5, #4]
+ add r6, r6, #2
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #16]
+ mov r3, r1, lsr #8
+ streq r0, [lr, #16]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #20]
+ mov r3, r1, lsr #16
+ streq r0, [lr, #20]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [lr, #24]
+ streq r0, [lr, #24]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [lr, #28]
+ streq r0, [lr, #28]
+ cmp r9, sl
+ add lr, lr, #32
+ bne .L2748
+.L3383:
+ add r7, r7, r9, asl #5
+ add fp, fp, r9, asl #1
+.L2746:
+ ldr r1, [sp, #12]
+ ands lr, r1, #7
+ beq .L3345
+ ldrh r1, [fp, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r2, r2, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r2, r2, r3
+ tst r1, #1024
+ beq .L2804
+ cmp lr, #3
+ ldrls r2, [r2, #4]
+ bhi .L3385
+.L2821:
+ mov r1, #0
+.L2822:
+ movs r3, r2, lsr #24
+ orr r3, r8, r3
+ add r1, r1, #1
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+ cmp lr, r1
+ mov r2, r2, asl #8
+ add r7, r7, #4
+ bhi .L2822
+ b .L3345
+.L3243:
+ str r0, [lr, #0]
+ str r0, [lr, #4]
+ str r0, [lr, #8]
+ str r0, [lr, #12]
+ str r0, [lr, #16]
+ str r0, [lr, #20]
+ str r0, [lr, #24]
+ str r0, [lr, #28]
+ b .L3386
+.L3304:
+ str r0, [lr, #0]
+ str r0, [lr, #4]
+ str r0, [lr, #8]
+ str r0, [lr, #12]
+ str r0, [lr, #16]
+ str r0, [lr, #20]
+ str r0, [lr, #24]
+ str r0, [lr, #28]
+ b .L3387
+.L3340:
+ ands r3, r2, #15
+ orr r3, r8, r3
+ orr r3, ip, r3
+ add r1, r1, #1
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+ cmp lr, r1
+ mov r2, r2, lsr #4
+ add r7, r7, #4
+ bne .L3340
+ b .L3345
+.L3379:
+ rsb r5, r1, #8
+ cmp r4, r5
+ bcs .L3077
+ ldrh lr, [fp, #0]
+ mov r3, lr, asl #22
+ mov r3, r3, lsr #22
+ tst lr, #2048
+ add ip, ip, r3, asl #5
+ ldrne r3, [sp, #8]
+ mov r2, lr, lsr #12
+ addne ip, ip, r3
+ tst lr, #1024
+ mov r2, r2, asl #4
+ bne .L3388
+ ldr r4, [sp, #12]
+ ldr ip, [ip, #0]
+ cmp r4, #0
+ beq .L3345
+ mov r3, r1, asl #2
+ mov r1, ip, lsr r3
+ mov ip, #0
+.L3090:
+ ands r3, r1, #15
+ orr r3, r8, r3
+ orr r3, r2, r3
+ strne r3, [r7, #0]
+ ldr r3, [sp, #12]
+ add ip, ip, #1
+ streq r0, [r7, #0]
+ cmp r3, ip
+ mov r1, r1, lsr #4
+ add r7, r7, #4
+ bne .L3090
+ b .L3345
+.L3374:
+ ldrh r5, [fp, #0]
+ rsb r6, r1, #8
+ mov r2, r5, asl #22
+ mov r2, r2, lsr #22
+ tst r5, #2048
+ mov r3, r5, lsr #12
+ mov sl, r3, asl #4
+ add r3, ip, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst r5, #1024
+ beq .L3193
+ cmp r6, #0
+ ldr r2, [r3, #0]
+ beq .L3195
+ mov r3, r1, asl #2
+ mov r1, r2, asl r3
+ mov lr, #0
+ mov r2, r7
+.L3197:
+ movs r3, r1, lsr #28
+ orr r3, r8, r3
+ orr r3, sl, r3
+ add lr, lr, #1
+ strne r3, [r2, #0]
+ streq r0, [r2, #0]
+ cmp r6, lr
+ mov r1, r1, asl #4
+ add r2, r2, #4
+ bne .L3197
+ add r7, r7, r6, asl #2
+.L3195:
+ add fp, fp, #2
+ b .L3190
+.L3399:
+ .align 2
+.L3398:
+ .word io_registers
+ .word map_widths
+ .word vram
+.L3367:
+ ldrh r1, [fp, #0]
+ rsb r6, lr, #8
+ tst r1, #2048
+ mov r3, r1, asl #22
+ ldrne r4, [sp, #4]
+ mov r3, r3, lsr #22
+ add sl, r2, r3, asl #6
+ addne sl, sl, r4
+ ands r5, r1, #1024
+ beq .L2853
+ cmp lr, #3
+ bhi .L3389
+ subs ip, r6, #4
+ ldr r1, [sl, #4]
+ beq .L2865
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov lr, r7
+ mov r5, #0
+.L2867:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ add r5, r5, #1
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+ cmp ip, r5
+ mov r1, r1, asl #8
+ add lr, lr, #4
+ bne .L2867
+ add r3, r7, r6, asl #2
+ sub r7, r3, #16
+.L2865:
+ ldr r1, [sl, #0]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #12]
+ mov r3, r1, lsr #8
+ streq r0, [r7, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #8]
+ mov r3, r1, lsr #16
+ streq r0, [r7, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #4]
+ streq r0, [r7, #4]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+.L2913:
+ add r7, r7, #16
+ mov r6, ip
+.L2857:
+ add fp, fp, #2
+ b .L2850
+.L3382:
+ ldr r3, [sp, #12]
+ rsb r4, lr, #8
+ cmp r3, r4
+ bcs .L2616
+ ldrh r1, [fp, #0]
+ tst r1, #2048
+ mov r3, r1, asl #22
+ ldrne r4, [sp, #4]
+ mov r3, r3, lsr #22
+ add ip, r2, r3, asl #6
+ addne ip, ip, r4
+ tst r1, #1024
+ bne .L3390
+ cmp lr, #3
+ bls .L2653
+ ldr r4, [sp, #12]
+ ldr r2, [ip, #4]
+ cmp r4, #0
+ beq .L3345
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L2656:
+ ands r3, r1, #255
+ orr r3, r8, r3
+ strne r3, [r7, #0]
+ ldr r3, [sp, #12]
+ add r2, r2, #1
+ streq r0, [r7, #0]
+ cmp r3, r2
+ mov r1, r1, lsr #8
+ add r7, r7, #4
+ bne .L2656
+ b .L3345
+.L3147:
+ str r0, [lr, #0]
+ str r0, [lr, #4]
+ str r0, [lr, #8]
+ str r0, [lr, #12]
+ str r0, [lr, #16]
+ str r0, [lr, #20]
+ str r0, [lr, #24]
+ str r0, [lr, #28]
+ b .L3391
+.L3183:
+ ands r3, r2, #15
+ orr r3, r8, r3
+ orr r3, ip, r3
+ add r1, r1, #1
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+ cmp lr, r1
+ mov r2, r2, lsr #4
+ add r7, r7, #4
+ bne .L3183
+ b .L3345
+.L3029:
+ cmp lr, #3
+ ldrls r2, [r2, #0]
+ bhi .L3392
+.L3067:
+ mov r1, #0
+.L3068:
+ ands r3, r2, #255
+ orr r3, r8, r3
+ add r1, r1, #1
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+ cmp lr, r1
+ mov r2, r2, lsr #8
+ add r7, r7, #4
+ bhi .L3068
+ b .L3345
+.L2804:
+ cmp lr, #3
+ ldrls r2, [r2, #0]
+ bhi .L3393
+.L2842:
+ mov r1, #0
+.L2843:
+ ands r3, r2, #255
+ orr r3, r8, r3
+ add r1, r1, #1
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+ cmp lr, r1
+ mov r2, r2, lsr #8
+ add r7, r7, #4
+ bhi .L2843
+ b .L3345
+.L3193:
+ cmp r6, #0
+ ldr r2, [r3, #0]
+ beq .L3195
+ mov r3, r1, asl #2
+ mov r1, r2, lsr r3
+ mov lr, #0
+ mov r2, r7
+.L3204:
+ ands r3, r1, #15
+ orr r3, r8, r3
+ orr r3, sl, r3
+ add lr, lr, #1
+ strne r3, [r2, #0]
+ streq r0, [r2, #0]
+ cmp r6, lr
+ mov r1, r1, lsr #4
+ add r2, r2, #4
+ bne .L3204
+ add r7, r7, r6, asl #2
+ b .L3195
+.L3077:
+ ldrh lr, [fp, #0]
+ mov r2, lr, asl #22
+ mov r2, r2, lsr #22
+ tst lr, #2048
+ mov r3, lr, lsr #12
+ mov r4, r3, asl #4
+ add r3, ip, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst lr, #1024
+ bne .L3394
+ cmp r5, #0
+ ldr r2, [r3, #0]
+ beq .L3099
+ mov r3, r1, asl #2
+ mov r1, r2, lsr r3
+ mov lr, #0
+ mov r2, r7
+.L3108:
+ ands r3, r1, #15
+ orr r3, r8, r3
+ orr r3, r4, r3
+ add lr, lr, #1
+ strne r3, [r2, #0]
+ streq r0, [r2, #0]
+ cmp r5, lr
+ mov r1, r1, lsr #4
+ add r2, r2, #4
+ bne .L3108
+.L3360:
+ add r7, r7, r5, asl #2
+.L3099:
+ ldr r3, [sp, #12]
+ add fp, fp, #2
+ rsb r3, r5, r3
+ str r3, [sp, #12]
+ b .L3075
+.L2853:
+ cmp lr, #3
+ bhi .L3395
+ subs ip, r6, #4
+ ldr r1, [sl, #0]
+ beq .L2894
+ mov r3, lr, asl #3
+ mov r1, r1, lsr r3
+ mov lr, r7
+ mov r5, #0
+.L2896:
+ ands r3, r1, #255
+ orr r3, r8, r3
+ add r5, r5, #1
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+ cmp ip, r5
+ mov r1, r1, lsr #8
+ add lr, lr, #4
+ bne .L2896
+ add r3, r7, r6, asl #2
+ sub r7, r3, #16
+.L2894:
+ ldr r1, [sl, #4]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #0]
+ mov r3, r1, lsr #8
+ streq r0, [r7, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #4]
+ mov r3, r1, lsr #16
+ streq r0, [r7, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #8]
+ streq r0, [r7, #8]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r7, #12]
+ streq r0, [r7, #12]
+ b .L2913
+.L2616:
+ ldrh r1, [fp, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add ip, r2, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne ip, ip, r3
+ ands r5, r1, #1024
+ bne .L3396
+ cmp lr, #3
+ bls .L2717
+ cmp r4, #0
+ ldr r1, [ip, #4]
+ beq .L2689
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r1, lsr r3
+ mov ip, r5
+ mov lr, r7
+.L2720:
+ ands r3, r1, #255
+ orr r3, r8, r3
+ add ip, ip, #1
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+ cmp r4, ip
+ mov r1, r1, lsr #8
+ add lr, lr, #4
+ bne .L2720
+.L3347:
+ add r7, r7, r4, asl #2
+.L2689:
+ ldr r1, [sp, #12]
+ add fp, fp, #2
+ rsb r1, r4, r1
+ str r1, [sp, #12]
+ b .L2614
+.L3392:
+ ldr r1, [r2, #0]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #0]
+ mov r3, r1, lsr #8
+ streq r0, [r7, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #4]
+ mov r3, r1, lsr #16
+ streq r0, [r7, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #8]
+ streq r0, [r7, #8]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r7, #12]
+ streq r0, [r7, #12]
+ subs lr, lr, #4
+ ldr r2, [r2, #4]
+ addne r7, r7, #16
+ bne .L3067
+ b .L3345
+.L3372:
+ ldr r1, [r2, #4]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #12]
+ mov r3, r1, lsr #8
+ streq r0, [r7, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #8]
+ mov r3, r1, lsr #16
+ streq r0, [r7, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #4]
+ streq r0, [r7, #4]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+ subs lr, lr, #4
+ ldr r2, [r2, #0]
+ addne r7, r7, #16
+ bne .L3046
+ b .L3345
+.L3385:
+ ldr r1, [r2, #4]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #12]
+ mov r3, r1, lsr #8
+ streq r0, [r7, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #8]
+ mov r3, r1, lsr #16
+ streq r0, [r7, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #4]
+ streq r0, [r7, #4]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+ subs lr, lr, #4
+ ldr r2, [r2, #0]
+ addne r7, r7, #16
+ bne .L2821
+ b .L3345
+.L3393:
+ ldr r1, [r2, #0]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #0]
+ mov r3, r1, lsr #8
+ streq r0, [r7, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #4]
+ mov r3, r1, lsr #16
+ streq r0, [r7, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #8]
+ streq r0, [r7, #8]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r7, #12]
+ streq r0, [r7, #12]
+ subs lr, lr, #4
+ ldr r2, [r2, #4]
+ addne r7, r7, #16
+ bne .L2842
+ b .L3345
+.L3389:
+ cmp r6, #0
+ ldr r1, [sl, #0]
+ beq .L2857
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov lr, r7
+ mov r5, #0
+.L2859:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ add r5, r5, #1
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+ cmp r6, r5
+ mov r1, r1, asl #8
+ add lr, lr, #4
+ bne .L2859
+ add r7, r7, r6, asl #2
+.L3397:
+ add fp, fp, #2
+ b .L2850
+.L3388:
+ ldr r4, [sp, #12]
+ ldr ip, [ip, #0]
+ cmp r4, #0
+ beq .L3345
+ mov r3, r1, asl #2
+ mov r1, ip, asl r3
+ mov ip, #0
+.L3084:
+ movs r3, r1, lsr #28
+ orr r3, r8, r3
+ orr r3, r2, r3
+ strne r3, [r7, #0]
+ ldr r3, [sp, #12]
+ add ip, ip, #1
+ streq r0, [r7, #0]
+ cmp r3, ip
+ mov r1, r1, asl #4
+ add r7, r7, #4
+ bne .L3084
+ b .L3345
+.L3396:
+ cmp lr, #3
+ bls .L2687
+ cmp r4, #0
+ ldr r1, [ip, #0]
+ beq .L2689
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov lr, r7
+ mov r5, #0
+.L2691:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ add r5, r5, #1
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+ cmp r4, r5
+ mov r1, r1, asl #8
+ add lr, lr, #4
+ bne .L2691
+ b .L3347
+.L3394:
+ cmp r5, #0
+ ldr r2, [r3, #0]
+ beq .L3099
+ mov r3, r1, asl #2
+ mov r1, r2, asl r3
+ mov lr, #0
+ mov r2, r7
+.L3101:
+ movs r3, r1, lsr #28
+ orr r3, r8, r3
+ orr r3, r4, r3
+ add lr, lr, #1
+ strne r3, [r2, #0]
+ streq r0, [r2, #0]
+ cmp r5, lr
+ mov r1, r1, asl #4
+ add r2, r2, #4
+ bne .L3101
+ b .L3360
+.L3390:
+ cmp lr, #3
+ bls .L2622
+ ldr r1, [sp, #12]
+ ldr r2, [ip, #0]
+ cmp r1, #0
+ beq .L3345
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r2, asl r3
+ mov r2, #0
+.L2626:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ strne r3, [r7, #0]
+ ldr r3, [sp, #12]
+ add r2, r2, #1
+ streq r0, [r7, #0]
+ cmp r3, r2
+ mov r1, r1, asl #8
+ add r7, r7, #4
+ bne .L2626
+ b .L3345
+.L3395:
+ cmp r6, #0
+ ldr r1, [sl, #4]
+ beq .L2857
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r1, lsr r3
+ mov lr, r7
+.L2888:
+ ands r3, r1, #255
+ orr r3, r8, r3
+ add r5, r5, #1
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+ cmp r6, r5
+ mov r1, r1, lsr #8
+ add lr, lr, #4
+ bne .L2888
+ add r7, r7, r6, asl #2
+ b .L3397
+.L2622:
+ ldr r4, [sp, #12]
+ mov r3, lr, asl #3
+ ldr r1, [ip, #4]
+ add r2, r4, lr
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L2631
+ cmp r4, #0
+ movne r2, #0
+ beq .L3345
+.L2648:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ strne r3, [r7, #0]
+ ldr r3, [sp, #12]
+ add r2, r2, #1
+ streq r0, [r7, #0]
+ cmp r3, r2
+ mov r1, r1, asl #8
+ add r7, r7, #4
+ bne .L2648
+ b .L3345
+.L2687:
+ subs r6, r4, #4
+ ldr r1, [ip, #4]
+ beq .L2697
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov lr, r7
+ mov r5, #0
+.L2699:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ add r5, r5, #1
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+ cmp r6, r5
+ mov r1, r1, asl #8
+ add lr, lr, #4
+ bne .L2699
+ add r3, r7, r4, asl #2
+ sub r7, r3, #16
+.L2697:
+ ldr r1, [ip, #0]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #12]
+ mov r3, r1, lsr #8
+ streq r0, [r7, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #8]
+ mov r3, r1, lsr #16
+ streq r0, [r7, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #4]
+ streq r0, [r7, #4]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+.L2745:
+ add r7, r7, #16
+ b .L2689
+.L2653:
+ ldr r4, [sp, #12]
+ ldr r3, [ip, #0]
+ add r2, r4, lr
+ cmp r2, #4
+ mov r1, lr, asl #3
+ mov r2, r3, lsr r1
+ bhi .L2661
+ cmp r4, #0
+ movne r1, #0
+ beq .L3345
+.L2678:
+ ands r3, r2, #255
+ orr r3, r8, r3
+ strne r3, [r7, #0]
+ ldr r3, [sp, #12]
+ add r1, r1, #1
+ streq r0, [r7, #0]
+ cmp r3, r1
+ mov r2, r2, lsr #8
+ add r7, r7, #4
+ bne .L2678
+ b .L3345
+.L2717:
+ subs r6, r4, #4
+ ldr r1, [ip, #0]
+ beq .L2726
+ mov r3, lr, asl #3
+ mov r1, r1, lsr r3
+ mov lr, r7
+ mov r5, #0
+.L2728:
+ ands r3, r1, #255
+ orr r3, r8, r3
+ add r5, r5, #1
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+ cmp r6, r5
+ mov r1, r1, lsr #8
+ add lr, lr, #4
+ bne .L2728
+ add r3, r7, r4, asl #2
+ sub r7, r3, #16
+.L2726:
+ ldr r1, [ip, #4]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #0]
+ mov r3, r1, lsr #8
+ streq r0, [r7, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #4]
+ mov r3, r1, lsr #16
+ streq r0, [r7, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r7, #8]
+ streq r0, [r7, #8]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r7, #12]
+ bne .L2745
+ str r0, [r7, #12]
+ add r7, r7, #16
+ b .L2689
+.L2631:
+ rsbs r4, lr, #4
+ beq .L2634
+ mov r2, r7
+ mov lr, #0
+.L2636:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ add lr, lr, #1
+ strne r3, [r2, #0]
+ streq r0, [r2, #0]
+ cmp r4, lr
+ mov r1, r1, asl #8
+ add r2, r2, #4
+ bne .L2636
+ add r7, r7, r4, asl #2
+.L2634:
+ ldr r1, [sp, #12]
+ ldr r2, [ip, #0]
+ subs lr, r1, r4
+ beq .L3345
+ mov r1, #0
+.L2643:
+ movs r3, r2, lsr #24
+ orr r3, r8, r3
+ add r1, r1, #1
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+ cmp lr, r1
+ mov r2, r2, asl #8
+ add r7, r7, #4
+ bne .L2643
+ b .L3345
+.L2661:
+ rsbs r4, lr, #4
+ beq .L2664
+ mov r1, r7
+ mov lr, #0
+.L2666:
+ ands r3, r2, #255
+ orr r3, r8, r3
+ add lr, lr, #1
+ strne r3, [r1, #0]
+ streq r0, [r1, #0]
+ cmp r4, lr
+ mov r2, r2, lsr #8
+ add r1, r1, #4
+ bne .L2666
+ add r7, r7, r4, asl #2
+.L2664:
+ ldr r1, [sp, #12]
+ ldr r2, [ip, #4]
+ subs lr, r1, r4
+ beq .L3345
+ mov r1, #0
+.L2673:
+ ands r3, r2, #255
+ orr r3, r8, r3
+ add r1, r1, #1
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+ cmp lr, r1
+ mov r2, r2, lsr #8
+ add r7, r7, #4
+ bne .L2673
+ b .L3345
+ .size render_scanline_text_base_color32, .-render_scanline_text_base_color32
+ .align 2
+ .global render_scanline_text_transparent_color32
+ .type render_scanline_text_transparent_color32, %function
+render_scanline_text_transparent_color32:
+ @ args = 0, pretend = 0, frame = 4
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr ip, .L4043
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldrh lr, [ip, #80]
+ add r6, r0, #7
+ mov r6, lr, asr r6
+ mov lr, lr, asr r0
+ add r7, ip, r0, asl #2
+ ldrh r5, [ip, #6]
+ ldrh r4, [r7, #18]
+ add ip, ip, r0, asl #1
+ add sl, r5, r4
+ ldrh r8, [ip, #8]
+ mov r5, sl, asl #23
+ mov r5, r5, lsr #23
+ ldrh r4, [r7, #16]
+ cmp r5, #255
+ movls ip, #0
+ movhi ip, #1
+ mov r7, r8, lsr #14
+ rsb fp, r1, r2
+ ldr r2, .L4043+4
+ ands ip, ip, r7, lsr #1
+ ldr r2, [r2, r7, asl #2]
+ add ip, r3, r1, asl #2
+ mov r0, r8, asl #3
+ subne r3, r5, #256
+ ldr r9, .L4043+8
+ movne r3, r3, lsr #3
+ moveq r3, sl, asl #3
+ add r4, r4, r1
+ and r0, r0, #63488
+ add r0, r0, r9
+ addne r3, r3, r2, lsr #3
+ andeq r3, r3, #1984
+ mov r4, r4, asl #23
+ addne r0, r0, r3, asl #6
+ addeq r0, r0, r3
+ mov r4, r4, lsr #23
+ tst r7, #1
+ and lr, lr, #1
+ and r6, r6, #2
+ andeq r4, r4, #255
+ sub sp, sp, #4
+ orr lr, lr, r6
+ moveq r3, r4, lsr #3
+ mov lr, lr, asl #9
+ addeq r7, r0, r3, asl #1
+ streq r0, [sp, #0]
+ beq .L3408
+ cmp r4, #255
+ subhi r4, r4, #256
+ movhi r3, r4, lsr #3
+ movls r3, r4, lsr #3
+ addhi r3, r0, r3, asl #1
+ addls r7, r0, r3, asl #1
+ addls r0, r0, #2048
+ addhi r7, r3, #2048
+ strhi r0, [sp, #0]
+ strls r0, [sp, #0]
+.L3408:
+ tst r8, #128
+ beq .L3409
+ and r1, r4, #255
+ and r3, r5, #7
+ mov r2, r8, asl #12
+ mov r3, r3, asl #3
+ and r2, r2, #49152
+ rsb r0, r1, #256
+ add r2, r2, r3
+ cmp fp, r0
+ mov r3, r3, asl #1
+ add r2, r2, r9
+ and r4, r4, #7
+ rsb r9, r3, #56
+ bls .L4018
+ cmp r4, #0
+ moveq r6, r4
+ bne .L4019
+.L3611:
+ rsb r3, r6, r0
+ movs sl, r3, lsr #3
+ beq .L3665
+ mov r6, ip
+ mov r8, #0
+ b .L3667
+.L4020:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L3672
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #4]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [r6, #0]
+.L3672:
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L3681
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #28]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #24]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #20]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [r6, #16]
+.L3681:
+ add r8, r8, #1
+ cmp sl, r8
+ add r6, r6, #32
+ beq .L3707
+.L4021:
+ add r7, r7, #2
+.L3667:
+ ldrh r1, [r7, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r4, r2, r3, asl #6
+ addne r4, r4, r9
+ tst r1, #1024
+ bne .L4020
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L3690
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #0]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #4]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #8]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [r6, #12]
+.L3690:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L3681
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #16]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #20]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #24]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ add r8, r8, #1
+ strne r3, [r6, #28]
+ cmp sl, r8
+ add r6, r6, #32
+ bne .L4021
+.L3707:
+ add ip, ip, sl, asl #5
+.L3665:
+ rsb sl, r0, fp
+ movs r0, sl, lsr #3
+ ldreq r0, [sp, #0]
+ beq .L3711
+ ldr r7, [sp, #0]
+ mov r6, ip
+ mov r8, #0
+ b .L3712
+.L4023:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L3717
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #4]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [r6, #0]
+.L3717:
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L3726
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #28]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #24]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #20]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [r6, #16]
+.L3726:
+ add r8, r8, #1
+ cmp r0, r8
+ add r6, r6, #32
+ add r7, r7, #2
+ beq .L4022
+.L3712:
+ ldrh r1, [r7, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r4, r2, r3, asl #6
+ addne r4, r4, r9
+ tst r1, #1024
+ bne .L4023
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L3735
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #0]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #4]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #8]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [r6, #12]
+.L3735:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L3726
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #16]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #20]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r6, #24]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ add r8, r8, #1
+ strne r3, [r6, #28]
+ cmp r0, r8
+ add r6, r6, #32
+ add r7, r7, #2
+ bne .L3712
+.L4022:
+ ldr r3, [sp, #0]
+ add ip, ip, r0, asl #5
+ add r0, r3, r0, asl #1
+.L3711:
+ ands r4, sl, #7
+ beq .L4000
+ ldrh r0, [r0, #0]
+ mov r3, r0, asl #22
+ mov r3, r3, lsr #22
+ tst r0, #2048
+ add r2, r2, r3, asl #6
+ addne r2, r2, r9
+ tst r0, #1024
+ beq .L3756
+ cmp r4, #3
+ ldrls r0, [r2, #4]
+ bls .L3770
+ ldr r1, [r2, #4]
+ cmp r1, #0
+ beq .L3760
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #4]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [ip, #0]
+.L3760:
+ subs r4, r4, #4
+ ldr r0, [r2, #0]
+ addne ip, ip, #16
+ beq .L4000
+.L3770:
+ mov r1, #0
+.L3771:
+ movs r3, r0, lsr #24
+ orr r3, lr, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r4
+ mov r0, r0, asl #8
+ bcc .L3771
+.L4000:
+ add sp, sp, #4
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L3409:
+ and r3, r5, #7
+ and r1, r4, #255
+ mov r2, r8, asl #12
+ mov r3, r3, asl #2
+ rsb r5, r1, #256
+ and r2, r2, #49152
+ add r2, r2, r3
+ cmp fp, r5
+ mov r3, r3, asl #1
+ add sl, r2, r9
+ and r1, r4, #7
+ rsb r9, r3, #28
+ bls .L4024
+ cmp r1, #0
+ moveq r4, r1
+ bne .L4025
+.L3885:
+ rsb r3, r4, r5
+ movs r0, r3, lsr #3
+ beq .L3903
+ mov r4, ip
+ mov r8, #0
+ b .L3905
+.L4026:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L3910
+ ands r3, r2, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #28]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ movs r3, r2, lsr #28
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+.L3910:
+ add r8, r8, #1
+ cmp r0, r8
+ add r4, r4, #32
+ beq .L3943
+.L4027:
+ add r7, r7, #2
+.L3905:
+ ldrh r1, [r7, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r6, r3, asl #4
+ add r3, sl, r2, asl #5
+ addne r3, r3, r9
+ tst r1, #1024
+ bne .L4026
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L3910
+ ands r3, r2, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ movs r3, r2, lsr #28
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ add r8, r8, #1
+ strne r3, [r4, #28]
+ cmp r0, r8
+ add r4, r4, #32
+ bne .L4027
+.L3943:
+ add ip, ip, r0, asl #5
+.L3903:
+ rsb fp, r5, fp
+ movs r0, fp, lsr #3
+ ldreq r0, [sp, #0]
+ beq .L3947
+ ldr r7, [sp, #0]
+ mov r4, ip
+ mov r8, #0
+ b .L3948
+.L4029:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L3953
+ ands r3, r2, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #28]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ movs r3, r2, lsr #28
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+.L3953:
+ add r8, r8, #1
+ cmp r0, r8
+ add r4, r4, #32
+ add r7, r7, #2
+ beq .L4028
+.L3948:
+ ldrh r1, [r7, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r6, r3, asl #4
+ add r3, sl, r2, asl #5
+ addne r3, r3, r9
+ tst r1, #1024
+ bne .L4029
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L3953
+ ands r3, r2, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ movs r3, r2, lsr #28
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ add r8, r8, #1
+ strne r3, [r4, #28]
+ cmp r0, r8
+ add r4, r4, #32
+ add r7, r7, #2
+ bne .L3948
+.L4028:
+ ldr r3, [sp, #0]
+ add ip, ip, r0, asl #5
+ add r0, r3, r0, asl #1
+.L3947:
+ ands r4, fp, #7
+ beq .L4000
+ ldrh r0, [r0, #0]
+ mov r3, r0, asl #22
+ mov r3, r3, lsr #22
+ tst r0, #2048
+ add r3, sl, r3, asl #5
+ mov r2, r0, lsr #12
+ addne r3, r3, r9
+ tst r0, #1024
+ mov r2, r2, asl #4
+ ldreq r0, [r3, #0]
+ moveq r1, #0
+ beq .L3996
+ ldr r0, [r3, #0]
+ mov r1, #0
+.L3992:
+ movs r3, r0, lsr #28
+ orr r3, lr, r3
+ orr r3, r2, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r4, r1
+ mov r0, r0, asl #4
+ bne .L3992
+ b .L4000
+.L4024:
+ cmp r1, #0
+ bne .L4030
+.L3794:
+ movs r0, fp, lsr #3
+ beq .L3829
+ mov r4, ip
+ mov r6, r7
+ mov r8, #0
+ b .L3831
+.L4032:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L3836
+ ands r3, r2, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #28]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #24]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #20]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #16]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #4]
+ movs r3, r2, lsr #28
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #0]
+.L3836:
+ add r8, r8, #1
+ cmp r0, r8
+ add r4, r4, #32
+ add r6, r6, #2
+ beq .L4031
+.L3831:
+ ldrh r1, [r6, #0]
+ mov r2, r1, asl #22
+ mov r3, r1, lsr #12
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r5, r3, asl #4
+ add r3, sl, r2, asl #5
+ addne r3, r3, r9
+ tst r1, #1024
+ bne .L4032
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L3836
+ ands r3, r2, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #0]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #4]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #16]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #20]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ strne r3, [r4, #24]
+ movs r3, r2, lsr #28
+ orrne r3, lr, r3
+ orrne r3, r5, r3
+ add r8, r8, #1
+ strne r3, [r4, #28]
+ cmp r0, r8
+ add r4, r4, #32
+ add r6, r6, #2
+ bne .L3831
+.L4031:
+ add ip, ip, r0, asl #5
+ add r7, r7, r0, asl #1
+.L3829:
+ ands r4, fp, #7
+ beq .L4000
+ ldrh r1, [r7, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r0, sl, r3, asl #5
+ mov r2, r1, lsr #12
+ addne r0, r0, r9
+ tst r1, #1024
+ mov r2, r2, asl #4
+ ldreq r0, [r0, #0]
+ moveq r1, #0
+ beq .L3879
+ ldr r0, [r0, #0]
+ mov r1, #0
+.L3875:
+ movs r3, r0, lsr #28
+ orr r3, lr, r3
+ orr r3, r2, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r4, r1
+ mov r0, r0, asl #4
+ bne .L3875
+ b .L4000
+.L4018:
+ cmp r4, #0
+ bne .L4033
+.L3413:
+ movs sl, fp, lsr #3
+ beq .L3527
+ mov r5, ip
+ mov r6, r7
+ mov r8, #0
+ b .L3529
+.L4035:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L3534
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [r5, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r5, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r5, #4]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [r5, #0]
+.L3534:
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L3543
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [r5, #28]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r5, #24]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r5, #20]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [r5, #16]
+.L3543:
+ add r8, r8, #1
+ cmp sl, r8
+ add r5, r5, #32
+ add r6, r6, #2
+ beq .L4034
+.L3529:
+ ldrh r1, [r6, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r4, r2, r3, asl #6
+ addne r4, r4, r9
+ tst r1, #1024
+ bne .L4035
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L3552
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [r5, #0]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r5, #4]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r5, #8]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [r5, #12]
+.L3552:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L3543
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [r5, #16]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r5, #20]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [r5, #24]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ add r8, r8, #1
+ strne r3, [r5, #28]
+ cmp sl, r8
+ add r5, r5, #32
+ add r6, r6, #2
+ bne .L3529
+.L4034:
+ add ip, ip, sl, asl #5
+ add r7, r7, sl, asl #1
+.L3527:
+ ands r4, fp, #7
+ beq .L4000
+ ldrh r1, [r7, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r0, r2, r3, asl #6
+ addne r0, r0, r9
+ tst r1, #1024
+ beq .L3573
+ cmp r4, #3
+ ldrls r0, [r0, #4]
+ bls .L3587
+ ldr r1, [r0, #4]
+ cmp r1, #0
+ beq .L3577
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #4]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [ip, #0]
+.L3577:
+ subs r4, r4, #4
+ ldr r0, [r0, #0]
+ addne ip, ip, #16
+ beq .L4000
+.L3587:
+ mov r1, #0
+.L3588:
+ movs r3, r0, lsr #24
+ orr r3, lr, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r4, r1
+ mov r0, r0, asl #8
+ bhi .L3588
+ b .L4000
+.L3996:
+ ands r3, r0, #15
+ orr r3, lr, r3
+ orr r3, r2, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r4, r1
+ mov r0, r0, lsr #4
+ beq .L4000
+ ands r3, r0, #15
+ orr r3, lr, r3
+ orr r3, r2, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r4, r1
+ mov r0, r0, lsr #4
+ bne .L3996
+ b .L4000
+.L4030:
+ rsb r5, r1, #8
+ cmp fp, r5
+ bcs .L3796
+ ldrh r4, [r7, #0]
+ mov r3, r4, asl #22
+ mov r3, r3, lsr #22
+ tst r4, #2048
+ add r0, sl, r3, asl #5
+ mov r2, r4, lsr #12
+ addne r0, r0, r9
+ tst r4, #1024
+ mov r2, r2, asl #4
+ bne .L4036
+ cmp fp, #0
+ ldr r0, [r0, #0]
+ beq .L4000
+ mov r3, r1, asl #2
+ mov r0, r0, lsr r3
+ mov r1, #0
+.L3808:
+ ands r3, r0, #15
+ orr r3, lr, r3
+ orr r3, r2, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp fp, r1
+ mov r0, r0, lsr #4
+ bne .L3808
+ b .L4000
+.L4025:
+ ldrh r6, [r7, #0]
+ rsb r4, r1, #8
+ mov r2, r6, asl #22
+ mov r3, r6, lsr #12
+ mov r2, r2, lsr #22
+ tst r6, #2048
+ mov r8, r3, asl #4
+ add r3, sl, r2, asl #5
+ addne r3, r3, r9
+ tst r6, #1024
+ beq .L3888
+ cmp r4, #0
+ ldr r2, [r3, #0]
+ beq .L3890
+ mov r3, r1, asl #2
+ mov r1, r2, asl r3
+ mov r2, #0
+.L3892:
+ movs r3, r1, lsr #28
+ orr r3, lr, r3
+ orr r3, r8, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r4, r2
+ mov r1, r1, asl #4
+ bne .L3892
+ add ip, ip, r4, asl #2
+.L3890:
+ add r7, r7, #2
+ b .L3885
+.L4019:
+ ldrh r1, [r7, #0]
+ rsb r6, r4, #8
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r8, r2, r3, asl #6
+ addne r8, r8, r9
+ ands sl, r1, #1024
+ beq .L3614
+ cmp r4, #3
+ bhi .L4037
+ subs r5, r6, #4
+ ldr r1, [r8, #4]
+ beq .L3625
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov r4, #0
+.L3627:
+ movs r3, r1, lsr #24
+ orr r3, lr, r3
+ strne r3, [ip, r4, asl #2]
+ add r4, r4, #1
+ cmp r5, r4
+ mov r1, r1, asl #8
+ bne .L3627
+ add r3, ip, r6, asl #2
+ sub ip, r3, #16
+.L3625:
+ ldr r1, [r8, #0]
+ cmp r1, #0
+ beq .L3656
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #4]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [ip, #0]
+.L3656:
+ add ip, ip, #16
+ mov r6, r5
+.L3618:
+ add r7, r7, #2
+ b .L3611
+.L4033:
+ rsb r0, r4, #8
+ cmp fp, r0
+ bcs .L3415
+ ldrh r1, [r7, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r0, r2, r3, asl #6
+ addne r0, r0, r9
+ tst r1, #1024
+ bne .L4038
+ cmp r4, #3
+ bls .L3448
+ cmp fp, #0
+ ldr r0, [r0, #4]
+ beq .L4000
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r0, r0, lsr r3
+ mov r2, #0
+.L3451:
+ ands r3, r0, #255
+ orr r3, lr, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp fp, r2
+ mov r0, r0, lsr #8
+ bne .L3451
+ b .L4000
+.L3879:
+ ands r3, r0, #15
+ orr r3, lr, r3
+ orr r3, r2, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r4, r1
+ mov r0, r0, lsr #4
+ beq .L4000
+ ands r3, r0, #15
+ orr r3, lr, r3
+ orr r3, r2, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r4, r1
+ mov r0, r0, lsr #4
+ bne .L3879
+ b .L4000
+.L4044:
+ .align 2
+.L4043:
+ .word io_registers
+ .word map_widths
+ .word vram
+.L3756:
+ cmp r4, #3
+ ldrls r0, [r2, #0]
+ bls .L3787
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L3777
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #0]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #4]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #8]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [ip, #12]
+.L3777:
+ subs r4, r4, #4
+ ldr r0, [r2, #4]
+ addne ip, ip, #16
+ beq .L4000
+.L3787:
+ mov r1, #0
+.L3788:
+ ands r3, r0, #255
+ orr r3, lr, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r4
+ mov r0, r0, lsr #8
+ bcc .L3788
+ b .L4000
+.L3573:
+ cmp r4, #3
+ ldrls r0, [r0, #0]
+ bls .L3604
+ ldr r1, [r0, #0]
+ cmp r1, #0
+ beq .L3594
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #0]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #4]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #8]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [ip, #12]
+.L3594:
+ subs r4, r4, #4
+ ldr r0, [r0, #4]
+ addne ip, ip, #16
+ beq .L4000
+.L3604:
+ mov r1, #0
+.L3605:
+ ands r3, r0, #255
+ orr r3, lr, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r4, r1
+ mov r0, r0, lsr #8
+ bhi .L3605
+ b .L4000
+.L3796:
+ ldrh r4, [r7, #0]
+ mov r2, r4, asl #22
+ mov r3, r4, lsr #12
+ mov r2, r2, lsr #22
+ tst r4, #2048
+ mov r0, r3, asl #4
+ add r3, sl, r2, asl #5
+ addne r3, r3, r9
+ tst r4, #1024
+ bne .L4039
+ cmp r5, #0
+ ldr r2, [r3, #0]
+ beq .L3816
+ mov r3, r1, asl #2
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L3824:
+ ands r3, r1, #15
+ orr r3, lr, r3
+ orr r3, r0, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r5, r2
+ mov r1, r1, lsr #4
+ bne .L3824
+.L4015:
+ add ip, ip, r5, asl #2
+.L3816:
+ rsb fp, r5, fp
+ add r7, r7, #2
+ b .L3794
+.L3888:
+ cmp r4, #0
+ ldr r2, [r3, #0]
+ beq .L3890
+ mov r3, r1, asl #2
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L3898:
+ ands r3, r1, #15
+ orr r3, lr, r3
+ orr r3, r8, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r4, r2
+ mov r1, r1, lsr #4
+ bne .L3898
+ add ip, ip, r4, asl #2
+ b .L3890
+.L3614:
+ cmp r4, #3
+ bhi .L4040
+ subs r5, r6, #4
+ ldr r1, [r8, #0]
+ beq .L3649
+ mov r3, r4, asl #3
+ mov r1, r1, lsr r3
+ mov r4, #0
+.L3651:
+ ands r3, r1, #255
+ orr r3, lr, r3
+ strne r3, [ip, r4, asl #2]
+ add r4, r4, #1
+ cmp r5, r4
+ mov r1, r1, lsr #8
+ bne .L3651
+ add r3, ip, r6, asl #2
+ sub ip, r3, #16
+.L3649:
+ ldr r1, [r8, #4]
+ cmp r1, #0
+ beq .L3656
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #0]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #4]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #8]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [ip, #12]
+ b .L3656
+.L3415:
+ ldrh r1, [r7, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r5, r2, r3, asl #6
+ addne r5, r5, r9
+ ands r6, r1, #1024
+ bne .L4041
+ cmp r4, #3
+ bls .L3503
+ cmp r0, #0
+ ldr r1, [r5, #4]
+ beq .L3480
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, lsr r3
+ mov r4, r6
+.L3506:
+ ands r3, r1, #255
+ orr r3, lr, r3
+ strne r3, [ip, r4, asl #2]
+ add r4, r4, #1
+ cmp r0, r4
+ mov r1, r1, lsr #8
+ bne .L3506
+.L4002:
+ add ip, ip, r0, asl #2
+.L3480:
+ rsb fp, r0, fp
+ add r7, r7, #2
+ b .L3413
+.L4037:
+ cmp r6, #0
+ ldr r1, [r8, #0]
+ beq .L3618
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov r4, #0
+.L3620:
+ movs r3, r1, lsr #24
+ orr r3, lr, r3
+ strne r3, [ip, r4, asl #2]
+ add r4, r4, #1
+ cmp r6, r4
+ mov r1, r1, asl #8
+ bne .L3620
+ add ip, ip, r6, asl #2
+.L4042:
+ add r7, r7, #2
+ b .L3611
+.L4036:
+ cmp fp, #0
+ ldr r0, [r0, #0]
+ beq .L4000
+ mov r3, r1, asl #2
+ mov r0, r0, asl r3
+ mov r1, #0
+.L3803:
+ movs r3, r0, lsr #28
+ orr r3, lr, r3
+ orr r3, r2, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp fp, r1
+ mov r0, r0, asl #4
+ bne .L3803
+ b .L4000
+.L4041:
+ cmp r4, #3
+ bls .L3478
+ cmp r0, #0
+ ldr r1, [r5, #0]
+ beq .L3480
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov r4, #0
+.L3482:
+ movs r3, r1, lsr #24
+ orr r3, lr, r3
+ strne r3, [ip, r4, asl #2]
+ add r4, r4, #1
+ cmp r0, r4
+ mov r1, r1, asl #8
+ bne .L3482
+ b .L4002
+.L4039:
+ cmp r5, #0
+ ldr r2, [r3, #0]
+ beq .L3816
+ mov r3, r1, asl #2
+ mov r1, r2, asl r3
+ mov r2, #0
+.L3818:
+ movs r3, r1, lsr #28
+ orr r3, lr, r3
+ orr r3, r0, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r5, r2
+ mov r1, r1, asl #4
+ bne .L3818
+ b .L4015
+.L4038:
+ cmp r4, #3
+ bls .L3421
+ cmp fp, #0
+ ldr r0, [r0, #0]
+ beq .L4000
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r0, r0, asl r3
+ mov r2, #0
+.L3425:
+ movs r3, r0, lsr #24
+ orr r3, lr, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp fp, r2
+ mov r0, r0, asl #8
+ bne .L3425
+ b .L4000
+.L4040:
+ cmp r6, #0
+ ldr r1, [r8, #4]
+ beq .L3618
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, lsr r3
+ mov r4, sl
+.L3644:
+ ands r3, r1, #255
+ orr r3, lr, r3
+ strne r3, [ip, r4, asl #2]
+ add r4, r4, #1
+ cmp r6, r4
+ mov r1, r1, lsr #8
+ bne .L3644
+ add ip, ip, r6, asl #2
+ b .L4042
+.L3421:
+ mov r3, r4, asl #3
+ ldr r1, [r0, #4]
+ add r2, fp, r4
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L3429
+ cmp fp, #0
+ movne r2, #0
+ beq .L4000
+.L3444:
+ movs r3, r1, lsr #24
+ orr r3, lr, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp fp, r2
+ mov r1, r1, asl #8
+ bne .L3444
+ b .L4000
+.L3478:
+ subs r6, r0, #4
+ ldr r1, [r5, #4]
+ beq .L3487
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov r4, #0
+.L3489:
+ movs r3, r1, lsr #24
+ orr r3, lr, r3
+ strne r3, [ip, r4, asl #2]
+ add r4, r4, #1
+ cmp r6, r4
+ mov r1, r1, asl #8
+ bne .L3489
+ add r3, ip, r0, asl #2
+ sub ip, r3, #16
+.L3487:
+ ldr r1, [r5, #0]
+ cmp r1, #0
+ beq .L3518
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #4]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [ip, #0]
+.L3518:
+ add ip, ip, #16
+ b .L3480
+.L3448:
+ add r2, fp, r4
+ ldr r3, [r0, #0]
+ cmp r2, #4
+ mov r1, r4, asl #3
+ mov r2, r3, lsr r1
+ bhi .L3455
+ cmp fp, #0
+ movne r1, #0
+ beq .L4000
+.L3470:
+ ands r3, r2, #255
+ orr r3, lr, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp fp, r1
+ mov r2, r2, lsr #8
+ bne .L3470
+ b .L4000
+.L3503:
+ subs r6, r0, #4
+ ldr r1, [r5, #0]
+ beq .L3511
+ mov r3, r4, asl #3
+ mov r1, r1, lsr r3
+ mov r4, #0
+.L3513:
+ ands r3, r1, #255
+ orr r3, lr, r3
+ strne r3, [ip, r4, asl #2]
+ add r4, r4, #1
+ cmp r6, r4
+ mov r1, r1, lsr #8
+ bne .L3513
+ add r3, ip, r0, asl #2
+ sub ip, r3, #16
+.L3511:
+ ldr r1, [r5, #4]
+ cmp r1, #0
+ beq .L3518
+ ands r3, r1, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #0]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #4]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ orrne r3, lr, r3
+ strne r3, [ip, #8]
+ movs r3, r1, lsr #24
+ orrne r3, lr, r3
+ strne r3, [ip, #12]
+ add ip, ip, #16
+ b .L3480
+.L3429:
+ rsbs r4, r4, #4
+ beq .L3432
+ mov r2, #0
+.L3434:
+ movs r3, r1, lsr #24
+ orr r3, lr, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r4, r2
+ mov r1, r1, asl #8
+ bne .L3434
+ add ip, ip, r4, asl #2
+.L3432:
+ subs r1, fp, r4
+ ldr r0, [r0, #0]
+ beq .L4000
+ mov r2, #0
+.L3440:
+ movs r3, r0, lsr #24
+ orr r3, lr, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r1, r2
+ mov r0, r0, asl #8
+ bne .L3440
+ b .L4000
+.L3455:
+ rsbs r4, r4, #4
+ beq .L3458
+ mov r1, #0
+.L3460:
+ ands r3, r2, #255
+ orr r3, lr, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r4, r1
+ mov r2, r2, lsr #8
+ bne .L3460
+ add ip, ip, r4, asl #2
+.L3458:
+ subs r1, fp, r4
+ ldr r0, [r0, #4]
+ beq .L4000
+ mov r2, #0
+.L3466:
+ ands r3, r0, #255
+ orr r3, lr, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r1, r2
+ mov r0, r0, lsr #8
+ bne .L3466
+ b .L4000
+ .size render_scanline_text_transparent_color32, .-render_scanline_text_transparent_color32
+ .align 2
+ .global render_scanline_text_base_alpha
+ .type render_scanline_text_base_alpha, %function
+render_scanline_text_base_alpha:
+ @ args = 0, pretend = 0, frame = 16
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r7, .L4840
+ add lr, r0, #7
+ ldrh ip, [r7, #80]
+ sub sp, sp, #16
+ mov lr, ip, asr lr
+ mov r4, ip, asr r0
+ mov r5, ip, lsr #12
+ and r5, r5, #2
+ mov ip, ip, asl #26
+ orr r5, r5, ip, lsr #31
+ and lr, lr, #2
+ and r4, r4, #1
+ orr r4, r4, lr
+ mov ip, r5, asl #25
+ orr r8, ip, r4, asl #9
+ tst r8, #512
+ mov r6, r0
+ mov lr, r1
+ mov r9, r2
+ mov fp, r3
+ mov r5, r5, asl #9
+ beq .L4813
+ add r0, r7, r0, asl #2
+ ldrh r1, [r7, #6]
+ ldrh r3, [r0, #18]
+ add r2, r7, r6, asl #1
+ add sl, r1, r3
+ ldrh r3, [r0, #16]
+ ldrh r7, [r2, #8]
+ mov r6, sl, asl #23
+ mov r6, r6, lsr #23
+ add r3, r3, lr
+ mov r4, r7, lsr #14
+ cmp r6, #255
+ movls r1, #0
+ movhi r1, #1
+ mov ip, r3, asl #23
+ ldr r3, .L4840+4
+ ands r1, r1, r4, lsr #1
+ mov r2, r7, asl #3
+ ldr r1, [r3, r4, asl #2]
+ ldr r0, .L4840+8
+ subne r3, r6, #256
+ movne r3, r3, lsr #3
+ moveq r3, sl, asl #3
+ and r2, r2, #63488
+ addne r3, r3, r1, lsr #3
+ andeq r3, r3, #1984
+ add r2, r2, r0
+ addne r1, r2, r3, asl #6
+ addeq r1, r2, r3
+ mov ip, ip, lsr #23
+ tst r4, #1
+ andeq ip, ip, #255
+ rsb r9, lr, r9
+ moveq r3, ip, lsr #3
+ str r9, [sp, #12]
+ addeq sl, r1, r3, asl #1
+ add r9, fp, lr, asl #2
+ streq r1, [sp, #0]
+ bne .L4814
+ tst r7, #128
+ bne .L4815
+.L4056:
+ and r1, ip, #255
+ and r3, r6, #7
+ mov r2, r7, asl #12
+ mov r3, r3, asl #2
+ rsb fp, r1, #256
+ and r2, r2, #49152
+ ldr r1, [sp, #12]
+ add r2, r2, r3
+ mov r3, r3, asl #1
+ cmp r1, fp
+ rsb r3, r3, #28
+ add r0, r2, r0
+ str r3, [sp, #8]
+ and r1, ip, #7
+ bls .L4816
+ cmp r1, #0
+ moveq r4, r1
+ beq .L4636
+ ldrh ip, [sl, #0]
+ rsb r4, r1, #8
+ mov r2, ip, asl #22
+ mov r2, r2, lsr #22
+ tst ip, #2048
+ mov r3, ip, lsr #12
+ mov lr, r3, asl #4
+ add r3, r0, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst ip, #1024
+ bne .L4817
+ cmp r4, #0
+ ldr r2, [r3, #0]
+ beq .L4641
+ mov r3, r1, asl #2
+ mov r1, r2, lsr r3
+ mov ip, #0
+ mov r2, r9
+.L4650:
+ ands r3, r1, #15
+ orr r3, r8, r3
+ orr r3, lr, r3
+ add ip, ip, #1
+ strne r3, [r2, #0]
+ streq r5, [r2, #0]
+ cmp r4, ip
+ mov r1, r1, lsr #4
+ add r2, r2, #4
+ bne .L4650
+ add r9, r9, r4, asl #2
+.L4641:
+ add sl, sl, #2
+.L4636:
+ rsb r3, r4, fp
+ movs r1, r3, lsr #3
+ beq .L4656
+ mov r4, r9
+ mov r7, #0
+ b .L4658
+.L4818:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L4689
+ ands r3, r2, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #28]
+ mov r3, r2, lsr #4
+ streq r5, [r4, #28]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ mov r3, r2, lsr #8
+ streq r5, [r4, #24]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, r2, lsr #12
+ streq r5, [r4, #20]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, r2, lsr #16
+ streq r5, [r4, #16]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #20
+ streq r5, [r4, #12]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #24
+ streq r5, [r4, #8]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ streq r5, [r4, #4]
+ movs r3, r2, lsr #28
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+ streq r5, [r4, #0]
+.L4688:
+ add r7, r7, #1
+ cmp r1, r7
+ add r4, r4, #32
+ beq .L4714
+.L4819:
+ add sl, sl, #2
+.L4658:
+ ldrh ip, [sl, #0]
+ mov r2, ip, asl #22
+ mov r2, r2, lsr #22
+ tst ip, #2048
+ mov r3, ip, lsr #12
+ mov r6, r3, asl #4
+ add r3, r0, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst ip, #1024
+ bne .L4818
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L4689
+ ands r3, r2, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+ mov r3, r2, lsr #4
+ streq r5, [r4, #0]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ mov r3, r2, lsr #8
+ streq r5, [r4, #4]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #12
+ streq r5, [r4, #8]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #16
+ streq r5, [r4, #12]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, r2, lsr #20
+ streq r5, [r4, #16]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, r2, lsr #24
+ streq r5, [r4, #20]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ streq r5, [r4, #24]
+ movs r3, r2, lsr #28
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #28]
+ bne .L4688
+ str r5, [r4, #28]
+.L4836:
+ add r7, r7, #1
+ cmp r1, r7
+ add r4, r4, #32
+ bne .L4819
+.L4714:
+ add r9, r9, r1, asl #5
+.L4656:
+ ldr r3, [sp, #12]
+ rsb lr, fp, r3
+ movs r1, lr, lsr #3
+ ldreq r1, [sp, #0]
+ beq .L4718
+ ldr r7, [sp, #0]
+ mov r4, r9
+ mov sl, #0
+ b .L4719
+.L4821:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L4750
+ ands r3, r2, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #28]
+ mov r3, r2, lsr #4
+ streq r5, [r4, #28]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ mov r3, r2, lsr #8
+ streq r5, [r4, #24]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, r2, lsr #12
+ streq r5, [r4, #20]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, r2, lsr #16
+ streq r5, [r4, #16]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #20
+ streq r5, [r4, #12]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #24
+ streq r5, [r4, #8]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ streq r5, [r4, #4]
+ movs r3, r2, lsr #28
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+ streq r5, [r4, #0]
+.L4749:
+ add sl, sl, #1
+ cmp r1, sl
+ add r4, r4, #32
+ add r7, r7, #2
+ beq .L4820
+.L4719:
+ ldrh ip, [r7, #0]
+ mov r2, ip, asl #22
+ mov r2, r2, lsr #22
+ tst ip, #2048
+ mov r3, ip, lsr #12
+ mov r6, r3, asl #4
+ add r3, r0, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst ip, #1024
+ bne .L4821
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L4750
+ ands r3, r2, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+ mov r3, r2, lsr #4
+ streq r5, [r4, #0]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ mov r3, r2, lsr #8
+ streq r5, [r4, #4]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #12
+ streq r5, [r4, #8]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #16
+ streq r5, [r4, #12]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, r2, lsr #20
+ streq r5, [r4, #16]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, r2, lsr #24
+ streq r5, [r4, #20]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ streq r5, [r4, #24]
+ movs r3, r2, lsr #28
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #28]
+ bne .L4749
+ str r5, [r4, #28]
+.L4837:
+ add sl, sl, #1
+ cmp r1, sl
+ add r4, r4, #32
+ add r7, r7, #2
+ bne .L4719
+.L4820:
+ ldr r3, [sp, #0]
+ add r9, r9, r1, asl #5
+ add r1, r3, r1, asl #1
+.L4718:
+ ands ip, lr, #7
+ beq .L4791
+ ldrh r1, [r1, #0]
+ mov r3, r1, asl #22
+ tst r1, #2048
+ mov r3, r3, lsr #22
+ add r0, r0, r3, asl #5
+ ldrne r3, [sp, #8]
+ mov r2, r1, lsr #12
+ addne r0, r0, r3
+ tst r1, #1024
+ mov r2, r2, asl #4
+ ldreq r0, [r0, #0]
+ moveq r1, #0
+ beq .L4786
+ ldr r0, [r0, #0]
+ mov r1, #0
+.L4781:
+ movs r3, r0, lsr #28
+ orr r3, r8, r3
+ orr r3, r2, r3
+ add r1, r1, #1
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ cmp ip, r1
+ mov r0, r0, asl #4
+ add r9, r9, #4
+ bne .L4781
+.L4791:
+ add sp, sp, #16
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L4815:
+ and r1, ip, #255
+ and r3, r6, #7
+ mov r2, r7, asl #12
+ mov r3, r3, asl #3
+ rsb fp, r1, #256
+ and r2, r2, #49152
+ ldr r1, [sp, #12]
+ add r2, r2, r3
+ mov r3, r3, asl #1
+ rsb r3, r3, #56
+ cmp r1, fp
+ add r0, r2, r0
+ str r3, [sp, #4]
+ and r4, ip, #7
+ bls .L4822
+ cmp r4, #0
+ moveq r2, r4
+ beq .L4296
+ ldrh ip, [sl, #0]
+ rsb r2, r4, #8
+ tst ip, #2048
+ mov r3, ip, asl #22
+ ldrne r1, [sp, #4]
+ mov r3, r3, lsr #22
+ add lr, r0, r3, asl #6
+ addne lr, lr, r1
+ ands ip, ip, #1024
+ bne .L4823
+ cmp r4, #3
+ bls .L4331
+ cmp r2, #0
+ ldr r1, [lr, #4]
+ beq .L4303
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, lsr r3
+ mov r4, ip
+ mov ip, r9
+.L4334:
+ ands r3, r1, #255
+ orr r3, r8, r3
+ add r4, r4, #1
+ strne r3, [ip, #0]
+ streq r5, [ip, #0]
+ cmp r2, r4
+ mov r1, r1, lsr #8
+ add ip, ip, #4
+ bne .L4334
+ add r9, r9, r2, asl #2
+.L4303:
+ add sl, sl, #2
+.L4296:
+ rsb r3, r2, fp
+ movs r2, r3, lsr #3
+ beq .L4360
+ mov r4, r9
+ mov r7, #0
+ b .L4362
+.L4824:
+ ldr ip, [r6, #4]
+ add r7, r7, #1
+ ands r3, ip, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #12]
+ mov r3, ip, lsr #8
+ streq r5, [r4, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #8]
+ mov r3, ip, lsr #16
+ streq r5, [r4, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #4]
+ streq r5, [r4, #4]
+ movs r3, ip, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r4, #0]
+ streq r5, [r4, #0]
+ ldr ip, [r6, #0]
+ ands r3, ip, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #28]
+ mov r3, ip, lsr #8
+ streq r5, [r4, #28]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #24]
+ mov r3, ip, lsr #16
+ streq r5, [r4, #24]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #20]
+ streq r5, [r4, #20]
+ movs r3, ip, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r4, #16]
+ streq r5, [r4, #16]
+ cmp r2, r7
+ add r4, r4, #32
+ beq .L4414
+.L4825:
+ add sl, sl, #2
+.L4362:
+ ldrh ip, [sl, #0]
+ mov r3, ip, asl #22
+ mov r3, r3, lsr #22
+ tst ip, #2048
+ add r6, r0, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r6, r6, r3
+ tst ip, #1024
+ bne .L4824
+ ldr ip, [r6, #0]
+ add r7, r7, #1
+ ands r3, ip, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #0]
+ mov r3, ip, lsr #8
+ streq r5, [r4, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #4]
+ mov r3, ip, lsr #16
+ streq r5, [r4, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #8]
+ streq r5, [r4, #8]
+ movs r3, ip, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r4, #12]
+ streq r5, [r4, #12]
+ ldr ip, [r6, #4]
+ ands r3, ip, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #16]
+ mov r3, ip, lsr #8
+ streq r5, [r4, #16]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #20]
+ mov r3, ip, lsr #16
+ streq r5, [r4, #20]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #24]
+ streq r5, [r4, #24]
+ movs r3, ip, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r4, #28]
+ streq r5, [r4, #28]
+ cmp r2, r7
+ add r4, r4, #32
+ bne .L4825
+.L4414:
+ add r9, r9, r2, asl #5
+.L4360:
+ ldr ip, [sp, #12]
+ rsb r2, fp, ip
+ movs r1, r2, lsr #3
+ ldreq r1, [sp, #0]
+ beq .L4418
+ ldr r7, [sp, #0]
+ mov r4, r9
+ mov sl, #0
+ b .L4419
+.L4827:
+ ldr ip, [r6, #4]
+ add sl, sl, #1
+ ands r3, ip, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #12]
+ mov r3, ip, lsr #8
+ streq r5, [r4, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #8]
+ mov r3, ip, lsr #16
+ streq r5, [r4, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #4]
+ streq r5, [r4, #4]
+ movs r3, ip, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r4, #0]
+ streq r5, [r4, #0]
+ ldr ip, [r6, #0]
+ add r7, r7, #2
+ ands r3, ip, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #28]
+ mov r3, ip, lsr #8
+ streq r5, [r4, #28]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #24]
+ mov r3, ip, lsr #16
+ streq r5, [r4, #24]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #20]
+ streq r5, [r4, #20]
+ movs r3, ip, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r4, #16]
+ streq r5, [r4, #16]
+ cmp r1, sl
+ add r4, r4, #32
+ beq .L4826
+.L4419:
+ ldrh ip, [r7, #0]
+ mov r3, ip, asl #22
+ mov r3, r3, lsr #22
+ tst ip, #2048
+ add r6, r0, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r6, r6, r3
+ tst ip, #1024
+ bne .L4827
+ ldr ip, [r6, #0]
+ add sl, sl, #1
+ ands r3, ip, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #0]
+ mov r3, ip, lsr #8
+ streq r5, [r4, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #4]
+ mov r3, ip, lsr #16
+ streq r5, [r4, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #8]
+ streq r5, [r4, #8]
+ movs r3, ip, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r4, #12]
+ streq r5, [r4, #12]
+ ldr ip, [r6, #4]
+ add r7, r7, #2
+ ands r3, ip, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #16]
+ mov r3, ip, lsr #8
+ streq r5, [r4, #16]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #20]
+ mov r3, ip, lsr #16
+ streq r5, [r4, #20]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #24]
+ streq r5, [r4, #24]
+ movs r3, ip, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r4, #28]
+ streq r5, [r4, #28]
+ cmp r1, sl
+ add r4, r4, #32
+ bne .L4419
+.L4826:
+ ldr ip, [sp, #0]
+ add r9, r9, r1, asl #5
+ add r1, ip, r1, asl #1
+.L4418:
+ ands ip, r2, #7
+ beq .L4791
+ ldrh r1, [r1, #0]
+ tst r1, #2048
+ mov r3, r1, asl #22
+ ldrne r2, [sp, #4]
+ mov r3, r3, lsr #22
+ add r0, r0, r3, asl #6
+ addne r0, r0, r2
+ tst r1, #1024
+ beq .L4475
+ cmp ip, #3
+ ldrls r0, [r0, #4]
+ bhi .L4828
+.L4492:
+ mov r1, #0
+.L4493:
+ movs r3, r0, lsr #24
+ orr r3, r8, r3
+ add r1, r1, #1
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ cmp r1, ip
+ mov r0, r0, asl #8
+ add r9, r9, #4
+ bcc .L4493
+ b .L4791
+.L4814:
+ cmp ip, #255
+ subhi ip, ip, #256
+ movhi r3, ip, lsr #3
+ movls r3, ip, lsr #3
+ addhi r3, r1, r3, asl #1
+ addls sl, r1, r3, asl #1
+ addls r1, r1, #2048
+ addhi sl, r3, #2048
+ strhi r1, [sp, #0]
+ strls r1, [sp, #0]
+ tst r7, #128
+ beq .L4056
+ b .L4815
+.L4813:
+ add sp, sp, #16
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_text_base_color32
+.L4816:
+ cmp r1, #0
+ beq .L4521
+ ldr r2, [sp, #12]
+ rsb r4, r1, #8
+ cmp r2, r4
+ bcc .L4829
+ ldrh ip, [sl, #0]
+ mov r2, ip, asl #22
+ mov r2, r2, lsr #22
+ tst ip, #2048
+ mov r3, ip, lsr #12
+ mov lr, r3, asl #4
+ add r3, r0, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst ip, #1024
+ beq .L4543
+ cmp r4, #0
+ ldr r2, [r3, #0]
+ beq .L4545
+ mov r3, r1, asl #2
+ mov r1, r2, asl r3
+ mov ip, #0
+ mov r2, r9
+.L4547:
+ movs r3, r1, lsr #28
+ orr r3, r8, r3
+ orr r3, lr, r3
+ add ip, ip, #1
+ strne r3, [r2, #0]
+ streq r5, [r2, #0]
+ cmp r4, ip
+ mov r1, r1, asl #4
+ add r2, r2, #4
+ bne .L4547
+.L4806:
+ add r9, r9, r4, asl #2
+.L4545:
+ ldr r3, [sp, #12]
+ add sl, sl, #2
+ rsb r3, r4, r3
+ str r3, [sp, #12]
+.L4521:
+ ldr ip, [sp, #12]
+ movs fp, ip, lsr #3
+ beq .L4560
+ mov r4, r9
+ mov r7, sl
+ mov lr, #0
+ b .L4562
+.L4831:
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L4593
+ ands r3, r2, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #28]
+ mov r3, r2, lsr #4
+ streq r5, [r4, #28]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ mov r3, r2, lsr #8
+ streq r5, [r4, #24]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, r2, lsr #12
+ streq r5, [r4, #20]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, r2, lsr #16
+ streq r5, [r4, #16]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #20
+ streq r5, [r4, #12]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #24
+ streq r5, [r4, #8]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ streq r5, [r4, #4]
+ movs r3, r2, lsr #28
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+ streq r5, [r4, #0]
+.L4592:
+ add lr, lr, #1
+ cmp fp, lr
+ add r4, r4, #32
+ add r7, r7, #2
+ beq .L4830
+.L4562:
+ ldrh ip, [r7, #0]
+ tst ip, #2048
+ mov r2, ip, asl #22
+ mov r3, ip, lsr #12
+ ldrne r1, [sp, #8]
+ mov r2, r2, lsr #22
+ mov r6, r3, asl #4
+ add r3, r0, r2, asl #5
+ addne r3, r3, r1
+ tst ip, #1024
+ bne .L4831
+ ldr r2, [r3, #0]
+ cmp r2, #0
+ beq .L4593
+ ands r3, r2, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+ mov r3, r2, lsr #4
+ streq r5, [r4, #0]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ mov r3, r2, lsr #8
+ streq r5, [r4, #4]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #12
+ streq r5, [r4, #8]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #16
+ streq r5, [r4, #12]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, r2, lsr #20
+ streq r5, [r4, #16]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, r2, lsr #24
+ streq r5, [r4, #20]
+ ands r3, r3, #15
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ streq r5, [r4, #24]
+ movs r3, r2, lsr #28
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #28]
+ bne .L4592
+ str r5, [r4, #28]
+.L4838:
+ add lr, lr, #1
+ cmp fp, lr
+ add r4, r4, #32
+ add r7, r7, #2
+ bne .L4562
+.L4830:
+ add r9, r9, fp, asl #5
+ add sl, sl, fp, asl #1
+.L4560:
+ ldr r2, [sp, #12]
+ ands r4, r2, #7
+ beq .L4791
+ ldrh ip, [sl, #0]
+ mov r3, ip, asl #22
+ mov r3, r3, lsr #22
+ tst ip, #2048
+ add r0, r0, r3, asl #5
+ ldrne r3, [sp, #8]
+ mov r2, ip, lsr #12
+ addne r0, r0, r3
+ tst ip, #1024
+ mov r2, r2, asl #4
+ ldreq r0, [r0, #0]
+ moveq r1, #0
+ beq .L4629
+ ldr r0, [r0, #0]
+ mov r1, #0
+.L4624:
+ movs r3, r0, lsr #28
+ orr r3, r8, r3
+ orr r3, r2, r3
+ add r1, r1, #1
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ cmp r4, r1
+ mov r0, r0, asl #4
+ add r9, r9, #4
+ bne .L4624
+ b .L4791
+.L4822:
+ cmp r4, #0
+ beq .L4060
+ rsb lr, r4, #8
+ cmp r1, lr
+ bcc .L4832
+ ldrh ip, [sl, #0]
+ tst ip, #2048
+ mov r3, ip, asl #22
+ ldrne r1, [sp, #4]
+ mov r3, r3, lsr #22
+ add r2, r0, r3, asl #6
+ addne r2, r2, r1
+ ands ip, ip, #1024
+ beq .L4131
+ cmp r4, #3
+ bls .L4133
+ cmp lr, #0
+ ldr r2, [r2, #0]
+ beq .L4135
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r2, asl r3
+ mov ip, r9
+ mov r4, #0
+.L4137:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ add r4, r4, #1
+ strne r3, [ip, #0]
+ streq r5, [ip, #0]
+ cmp lr, r4
+ mov r1, r1, asl #8
+ add ip, ip, #4
+ bne .L4137
+.L4793:
+ add r9, r9, lr, asl #2
+.L4135:
+ ldr r2, [sp, #12]
+ add sl, sl, #2
+ rsb r2, lr, r2
+ str r2, [sp, #12]
+.L4060:
+ ldr r3, [sp, #12]
+ movs r2, r3, lsr #3
+ beq .L4192
+ mov r4, r9
+ mov r7, sl
+ mov fp, #0
+ b .L4194
+.L4841:
+ .align 2
+.L4840:
+ .word io_registers
+ .word map_widths
+ .word vram
+.L4834:
+ ldr ip, [r6, #4]
+ add fp, fp, #1
+ ands r3, ip, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #12]
+ mov r3, ip, lsr #8
+ streq r5, [r4, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #8]
+ mov r3, ip, lsr #16
+ streq r5, [r4, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #4]
+ streq r5, [r4, #4]
+ movs r3, ip, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r4, #0]
+ streq r5, [r4, #0]
+ ldr ip, [r6, #0]
+ add r7, r7, #2
+ ands r3, ip, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #28]
+ mov r3, ip, lsr #8
+ streq r5, [r4, #28]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #24]
+ mov r3, ip, lsr #16
+ streq r5, [r4, #24]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #20]
+ streq r5, [r4, #20]
+ movs r3, ip, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r4, #16]
+ streq r5, [r4, #16]
+ cmp r2, fp
+ add r4, r4, #32
+ beq .L4833
+.L4194:
+ ldrh ip, [r7, #0]
+ tst ip, #2048
+ mov r3, ip, asl #22
+ ldrne r1, [sp, #4]
+ mov r3, r3, lsr #22
+ add r6, r0, r3, asl #6
+ addne r6, r6, r1
+ tst ip, #1024
+ bne .L4834
+ ldr ip, [r6, #0]
+ add fp, fp, #1
+ ands r3, ip, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #0]
+ mov r3, ip, lsr #8
+ streq r5, [r4, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #4]
+ mov r3, ip, lsr #16
+ streq r5, [r4, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #8]
+ streq r5, [r4, #8]
+ movs r3, ip, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r4, #12]
+ streq r5, [r4, #12]
+ ldr ip, [r6, #4]
+ add r7, r7, #2
+ ands r3, ip, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #16]
+ mov r3, ip, lsr #8
+ streq r5, [r4, #16]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #20]
+ mov r3, ip, lsr #16
+ streq r5, [r4, #20]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r4, #24]
+ streq r5, [r4, #24]
+ movs r3, ip, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r4, #28]
+ streq r5, [r4, #28]
+ cmp r2, fp
+ add r4, r4, #32
+ bne .L4194
+.L4833:
+ add r9, r9, r2, asl #5
+ add sl, sl, r2, asl #1
+.L4192:
+ ldr r2, [sp, #12]
+ ands r4, r2, #7
+ beq .L4791
+ ldrh ip, [sl, #0]
+ mov r3, ip, asl #22
+ mov r3, r3, lsr #22
+ tst ip, #2048
+ add r0, r0, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r0, r0, r3
+ tst ip, #1024
+ bne .L4835
+ cmp r4, #3
+ ldrls r0, [r0, #0]
+ bls .L4288
+ ldr r1, [r0, #0]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #0]
+ mov r3, r1, lsr #8
+ streq r5, [r9, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #4]
+ mov r3, r1, lsr #16
+ streq r5, [r9, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #8]
+ streq r5, [r9, #8]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r9, #12]
+ streq r5, [r9, #12]
+ subs r4, r4, #4
+ ldr r0, [r0, #4]
+ addne r9, r9, #16
+ beq .L4791
+.L4288:
+ mov r1, #0
+.L4289:
+ ands r3, r0, #255
+ orr r3, r8, r3
+ add r1, r1, #1
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ cmp r4, r1
+ mov r0, r0, lsr #8
+ add r9, r9, #4
+ bhi .L4289
+ b .L4791
+.L4689:
+ str r5, [r4, #0]
+ str r5, [r4, #4]
+ str r5, [r4, #8]
+ str r5, [r4, #12]
+ str r5, [r4, #16]
+ str r5, [r4, #20]
+ str r5, [r4, #24]
+ str r5, [r4, #28]
+ b .L4836
+.L4750:
+ str r5, [r4, #0]
+ str r5, [r4, #4]
+ str r5, [r4, #8]
+ str r5, [r4, #12]
+ str r5, [r4, #16]
+ str r5, [r4, #20]
+ str r5, [r4, #24]
+ str r5, [r4, #28]
+ b .L4837
+.L4786:
+ ands r3, r0, #15
+ orr r3, r8, r3
+ orr r3, r2, r3
+ add r1, r1, #1
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ cmp ip, r1
+ mov r0, r0, lsr #4
+ add r9, r9, #4
+ bne .L4786
+ b .L4791
+.L4593:
+ str r5, [r4, #0]
+ str r5, [r4, #4]
+ str r5, [r4, #8]
+ str r5, [r4, #12]
+ str r5, [r4, #16]
+ str r5, [r4, #20]
+ str r5, [r4, #24]
+ str r5, [r4, #28]
+ b .L4838
+.L4629:
+ ands r3, r0, #15
+ orr r3, r8, r3
+ orr r3, r2, r3
+ add r1, r1, #1
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ cmp r4, r1
+ mov r0, r0, lsr #4
+ add r9, r9, #4
+ bne .L4629
+ b .L4791
+.L4475:
+ cmp ip, #3
+ ldrls r0, [r0, #0]
+ bhi .L4839
+.L4513:
+ mov r1, #0
+.L4514:
+ ands r3, r0, #255
+ orr r3, r8, r3
+ add r1, r1, #1
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ cmp ip, r1
+ mov r0, r0, lsr #8
+ add r9, r9, #4
+ bhi .L4514
+ b .L4791
+.L4835:
+ cmp r4, #3
+ ldrls r0, [r0, #4]
+ bls .L4267
+ ldr r1, [r0, #4]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #12]
+ mov r3, r1, lsr #8
+ streq r5, [r9, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #8]
+ mov r3, r1, lsr #16
+ streq r5, [r9, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #4]
+ streq r5, [r9, #4]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ subs r4, r4, #4
+ ldr r0, [r0, #0]
+ addne r9, r9, #16
+ beq .L4791
+.L4267:
+ mov r1, #0
+.L4268:
+ movs r3, r0, lsr #24
+ orr r3, r8, r3
+ add r1, r1, #1
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ cmp r4, r1
+ mov r0, r0, asl #8
+ add r9, r9, #4
+ bhi .L4268
+ b .L4791
+.L4823:
+ cmp r4, #3
+ bls .L4301
+ cmp r2, #0
+ ldr r1, [lr, #0]
+ beq .L4303
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov ip, r9
+ mov r4, #0
+.L4305:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ add r4, r4, #1
+ strne r3, [ip, #0]
+ streq r5, [ip, #0]
+ cmp r2, r4
+ mov r1, r1, asl #8
+ add ip, ip, #4
+ bne .L4305
+ add r9, r9, r2, asl #2
+ b .L4303
+.L4817:
+ cmp r4, #0
+ ldr r2, [r3, #0]
+ beq .L4641
+ mov r3, r1, asl #2
+ mov r1, r2, asl r3
+ mov ip, #0
+ mov r2, r9
+.L4643:
+ movs r3, r1, lsr #28
+ orr r3, r8, r3
+ orr r3, lr, r3
+ add ip, ip, #1
+ strne r3, [r2, #0]
+ streq r5, [r2, #0]
+ cmp r4, ip
+ mov r1, r1, asl #4
+ add r2, r2, #4
+ bne .L4643
+ add r9, r9, r4, asl #2
+ b .L4641
+.L4829:
+ ldrh ip, [sl, #0]
+ mov r3, ip, asl #22
+ mov r3, r3, lsr #22
+ tst ip, #2048
+ add r0, r0, r3, asl #5
+ ldrne r3, [sp, #8]
+ mov r2, ip, lsr #12
+ addne r0, r0, r3
+ tst ip, #1024
+ mov r2, r2, asl #4
+ beq .L4527
+ ldr ip, [sp, #12]
+ ldr r0, [r0, #0]
+ cmp ip, #0
+ beq .L4791
+ mov r3, r1, asl #2
+ mov r0, r0, asl r3
+ mov r1, #0
+.L4530:
+ movs r3, r0, lsr #28
+ orr r3, r8, r3
+ orr r3, r2, r3
+ strne r3, [r9, #0]
+ ldr r3, [sp, #12]
+ add r1, r1, #1
+ streq r5, [r9, #0]
+ cmp r3, r1
+ mov r0, r0, asl #4
+ add r9, r9, #4
+ bne .L4530
+ b .L4791
+.L4832:
+ ldrh ip, [sl, #0]
+ tst ip, #2048
+ mov r3, ip, asl #22
+ ldrne r2, [sp, #4]
+ mov r3, r3, lsr #22
+ add r0, r0, r3, asl #6
+ addne r0, r0, r2
+ tst ip, #1024
+ beq .L4066
+ cmp r4, #3
+ bls .L4068
+ ldr r3, [sp, #12]
+ ldr r0, [r0, #0]
+ cmp r3, #0
+ beq .L4791
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r0, r0, asl r3
+ mov r2, #0
+.L4072:
+ movs r3, r0, lsr #24
+ ldr ip, [sp, #12]
+ orr r3, r8, r3
+ add r2, r2, #1
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ cmp ip, r2
+ mov r0, r0, asl #8
+ add r9, r9, #4
+ bne .L4072
+ b .L4791
+.L4839:
+ ldr r1, [r0, #0]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #0]
+ mov r3, r1, lsr #8
+ streq r5, [r9, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #4]
+ mov r3, r1, lsr #16
+ streq r5, [r9, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #8]
+ streq r5, [r9, #8]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r9, #12]
+ streq r5, [r9, #12]
+ subs ip, ip, #4
+ ldr r0, [r0, #4]
+ addne r9, r9, #16
+ bne .L4513
+ b .L4791
+.L4828:
+ ldr r1, [r0, #4]
+ ands r3, r1, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #12]
+ mov r3, r1, lsr #8
+ streq r5, [r9, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #8]
+ mov r3, r1, lsr #16
+ streq r5, [r9, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #4]
+ streq r5, [r9, #4]
+ movs r3, r1, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ subs ip, ip, #4
+ ldr r0, [r0, #0]
+ addne r9, r9, #16
+ bne .L4492
+ b .L4791
+.L4066:
+ cmp r4, #3
+ bls .L4099
+ ldr ip, [sp, #12]
+ ldr r0, [r0, #4]
+ cmp ip, #0
+ beq .L4791
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r0, r0, lsr r3
+ mov r2, #0
+.L4102:
+ ands r3, r0, #255
+ ldr r1, [sp, #12]
+ orr r3, r8, r3
+ add r2, r2, #1
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ cmp r1, r2
+ mov r0, r0, lsr #8
+ add r9, r9, #4
+ bne .L4102
+ b .L4791
+.L4131:
+ cmp r4, #3
+ bls .L4163
+ cmp lr, #0
+ ldr r2, [r2, #4]
+ beq .L4135
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, ip
+ mov ip, r9
+.L4166:
+ ands r3, r1, #255
+ orr r3, r8, r3
+ add r2, r2, #1
+ strne r3, [ip, #0]
+ streq r5, [ip, #0]
+ cmp lr, r2
+ mov r1, r1, lsr #8
+ add ip, ip, #4
+ bne .L4166
+ b .L4793
+.L4301:
+ subs r6, r2, #4
+ ldr r1, [lr, #4]
+ beq .L4311
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov ip, r9
+ mov r4, #0
+.L4313:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ add r4, r4, #1
+ strne r3, [ip, #0]
+ streq r5, [ip, #0]
+ cmp r6, r4
+ mov r1, r1, asl #8
+ add ip, ip, #4
+ bne .L4313
+ add r3, r9, r2, asl #2
+ sub r9, r3, #16
+.L4311:
+ ldr r2, [lr, #0]
+ ands r3, r2, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #12]
+ mov r3, r2, lsr #8
+ streq r5, [r9, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #8]
+ mov r3, r2, lsr #16
+ streq r5, [r9, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #4]
+ streq r5, [r9, #4]
+ movs r3, r2, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+.L4359:
+ add r9, r9, #16
+ mov r2, r6
+ add sl, sl, #2
+ b .L4296
+.L4331:
+ subs r6, r2, #4
+ ldr r1, [lr, #0]
+ beq .L4340
+ mov r3, r4, asl #3
+ mov r1, r1, lsr r3
+ mov ip, r9
+ mov r4, #0
+.L4342:
+ ands r3, r1, #255
+ orr r3, r8, r3
+ add r4, r4, #1
+ strne r3, [ip, #0]
+ streq r5, [ip, #0]
+ cmp r6, r4
+ mov r1, r1, lsr #8
+ add ip, ip, #4
+ bne .L4342
+ add r3, r9, r2, asl #2
+ sub r9, r3, #16
+.L4340:
+ ldr r2, [lr, #4]
+ ands r3, r2, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #0]
+ mov r3, r2, lsr #8
+ streq r5, [r9, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #4]
+ mov r3, r2, lsr #16
+ streq r5, [r9, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #8]
+ streq r5, [r9, #8]
+ movs r3, r2, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r9, #12]
+ streq r5, [r9, #12]
+ b .L4359
+.L4527:
+ ldr ip, [sp, #12]
+ ldr r0, [r0, #0]
+ cmp ip, #0
+ beq .L4791
+ mov r3, r1, asl #2
+ mov r0, r0, lsr r3
+ mov r1, #0
+.L4536:
+ ands r3, r0, #15
+ orr r3, r8, r3
+ orr r3, r2, r3
+ strne r3, [r9, #0]
+ ldr r3, [sp, #12]
+ add r1, r1, #1
+ streq r5, [r9, #0]
+ cmp r3, r1
+ mov r0, r0, lsr #4
+ add r9, r9, #4
+ bne .L4536
+ b .L4791
+.L4543:
+ cmp r4, #0
+ ldr r2, [r3, #0]
+ beq .L4545
+ mov r3, r1, asl #2
+ mov r1, r2, lsr r3
+ mov ip, #0
+ mov r2, r9
+.L4554:
+ ands r3, r1, #15
+ orr r3, r8, r3
+ orr r3, lr, r3
+ add ip, ip, #1
+ strne r3, [r2, #0]
+ streq r5, [r2, #0]
+ cmp r4, ip
+ mov r1, r1, lsr #4
+ add r2, r2, #4
+ bne .L4554
+ b .L4806
+.L4068:
+ ldr ip, [sp, #12]
+ mov r3, r4, asl #3
+ ldr r1, [r0, #4]
+ add r2, ip, r4
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L4077
+ cmp ip, #0
+ movne r2, #0
+ beq .L4791
+.L4094:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ strne r3, [r9, #0]
+ ldr r3, [sp, #12]
+ add r2, r2, #1
+ streq r5, [r9, #0]
+ cmp r3, r2
+ mov r1, r1, asl #8
+ add r9, r9, #4
+ bne .L4094
+ b .L4791
+.L4163:
+ subs r6, lr, #4
+ ldr r1, [r2, #0]
+ beq .L4172
+ mov r3, r4, asl #3
+ mov r1, r1, lsr r3
+ mov ip, r9
+ mov r4, #0
+.L4174:
+ ands r3, r1, #255
+ orr r3, r8, r3
+ add r4, r4, #1
+ strne r3, [ip, #0]
+ streq r5, [ip, #0]
+ cmp r6, r4
+ mov r1, r1, lsr #8
+ add ip, ip, #4
+ bne .L4174
+ add r3, r9, lr, asl #2
+ sub r9, r3, #16
+.L4172:
+ ldr r2, [r2, #4]
+ ands r3, r2, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #0]
+ mov r3, r2, lsr #8
+ streq r5, [r9, #0]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #4]
+ mov r3, r2, lsr #16
+ streq r5, [r9, #4]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #8]
+ streq r5, [r9, #8]
+ movs r3, r2, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r9, #12]
+ streq r5, [r9, #12]
+.L4191:
+ add r9, r9, #16
+ b .L4135
+.L4133:
+ subs r6, lr, #4
+ ldr r1, [r2, #4]
+ beq .L4143
+ mov r3, r4, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov ip, r9
+ mov r4, #0
+.L4145:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ add r4, r4, #1
+ strne r3, [ip, #0]
+ streq r5, [ip, #0]
+ cmp r6, r4
+ mov r1, r1, asl #8
+ add ip, ip, #4
+ bne .L4145
+ add r3, r9, lr, asl #2
+ sub r9, r3, #16
+.L4143:
+ ldr r2, [r2, #0]
+ ands r3, r2, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #12]
+ mov r3, r2, lsr #8
+ streq r5, [r9, #12]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #8]
+ mov r3, r2, lsr #16
+ streq r5, [r9, #8]
+ ands r3, r3, #255
+ orrne r3, r8, r3
+ strne r3, [r9, #4]
+ streq r5, [r9, #4]
+ movs r3, r2, lsr #24
+ orrne r3, r8, r3
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ add r9, r9, #16
+ b .L4135
+.L4099:
+ ldr ip, [sp, #12]
+ ldr r3, [r0, #0]
+ add r2, ip, r4
+ cmp r2, #4
+ mov r1, r4, asl #3
+ mov r2, r3, lsr r1
+ bhi .L4107
+ cmp ip, #0
+ movne r1, #0
+ beq .L4791
+.L4124:
+ ands r3, r2, #255
+ orr r3, r8, r3
+ strne r3, [r9, #0]
+ ldr r3, [sp, #12]
+ add r1, r1, #1
+ streq r5, [r9, #0]
+ cmp r3, r1
+ mov r2, r2, lsr #8
+ add r9, r9, #4
+ bne .L4124
+ b .L4791
+.L4077:
+ rsbs r4, r4, #4
+ beq .L4080
+ mov r2, r9
+ mov ip, #0
+.L4082:
+ movs r3, r1, lsr #24
+ orr r3, r8, r3
+ add ip, ip, #1
+ strne r3, [r2, #0]
+ streq r5, [r2, #0]
+ cmp r4, ip
+ mov r1, r1, asl #8
+ add r2, r2, #4
+ bne .L4082
+ add r9, r9, r4, asl #2
+.L4080:
+ ldr r2, [sp, #12]
+ ldr r0, [r0, #0]
+ subs r1, r2, r4
+ beq .L4791
+ mov r2, #0
+.L4089:
+ movs r3, r0, lsr #24
+ orr r3, r8, r3
+ add r2, r2, #1
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ cmp r1, r2
+ mov r0, r0, asl #8
+ add r9, r9, #4
+ bne .L4089
+ b .L4791
+.L4107:
+ rsbs r4, r4, #4
+ beq .L4110
+ mov r1, r9
+ mov ip, #0
+.L4112:
+ ands r3, r2, #255
+ orr r3, r8, r3
+ add ip, ip, #1
+ strne r3, [r1, #0]
+ streq r5, [r1, #0]
+ cmp r4, ip
+ mov r2, r2, lsr #8
+ add r1, r1, #4
+ bne .L4112
+ add r9, r9, r4, asl #2
+.L4110:
+ ldr r2, [sp, #12]
+ ldr r0, [r0, #4]
+ subs r1, r2, r4
+ beq .L4791
+ mov r2, #0
+.L4119:
+ ands r3, r0, #255
+ orr r3, r8, r3
+ add r2, r2, #1
+ strne r3, [r9, #0]
+ streq r5, [r9, #0]
+ cmp r1, r2
+ mov r0, r0, lsr #8
+ add r9, r9, #4
+ bne .L4119
+ b .L4791
+ .size render_scanline_text_base_alpha, .-render_scanline_text_base_alpha
+ .align 2
+ .global render_scanline_text_transparent_alpha
+ .type render_scanline_text_transparent_alpha, %function
+render_scanline_text_transparent_alpha:
+ @ args = 0, pretend = 0, frame = 16
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r5, .L5485
+ add lr, r0, #7
+ ldrh ip, [r5, #80]
+ sub sp, sp, #16
+ mov lr, ip, asr lr
+ mov ip, ip, asr r0
+ and lr, lr, #2
+ and ip, ip, #1
+ orr ip, ip, lr
+ mov r6, ip, asl #9
+ tst r6, #512
+ mov r4, r0
+ mov ip, r1
+ mov r8, r2
+ mov sl, r3
+ beq .L5463
+ add r0, r5, r0, asl #2
+ ldrh r1, [r5, #6]
+ ldrh r3, [r0, #18]
+ add r2, r5, r4, asl #1
+ add r7, r1, r3
+ ldrh r3, [r0, #16]
+ ldrh lr, [r2, #8]
+ mov r5, r7, asl #23
+ mov r5, r5, lsr #23
+ add r3, r3, ip
+ mov r0, lr, lsr #14
+ cmp r5, #255
+ movls r1, #0
+ movhi r1, #1
+ mov r4, r3, asl #23
+ ldr r3, .L5485+4
+ ands r1, r1, r0, lsr #1
+ mov r2, lr, asl #3
+ ldr r1, [r3, r0, asl #2]
+ ldr r9, .L5485+8
+ subne r3, r5, #256
+ movne r3, r3, lsr #3
+ moveq r3, r7, asl #3
+ and r2, r2, #63488
+ addne r3, r3, r1, lsr #3
+ andeq r3, r3, #1984
+ add r2, r2, r9
+ addne r1, r2, r3, asl #6
+ addeq r1, r2, r3
+ mov r4, r4, lsr #23
+ tst r0, #1
+ andeq r4, r4, #255
+ moveq r3, r4, lsr #3
+ rsb fp, ip, r8
+ addeq r7, r1, r3, asl #1
+ add r8, sl, ip, asl #2
+ streq r1, [sp, #0]
+ bne .L5464
+ tst lr, #128
+ bne .L5465
+.L4853:
+ mov r2, lr, asl #12
+ and r3, r5, #7
+ mov r3, r3, asl #2
+ and r1, r4, #255
+ and r2, r2, #49152
+ rsb r1, r1, #256
+ add r2, r2, r3
+ mov r3, r3, asl #1
+ cmp fp, r1
+ rsb r3, r3, #28
+ str r1, [sp, #12]
+ add lr, r2, r9
+ str r3, [sp, #8]
+ and r1, r4, #7
+ bls .L5466
+ cmp r1, #0
+ moveq r5, r1
+ beq .L5329
+ ldrh ip, [r7, #0]
+ rsb r5, r1, #8
+ mov r2, ip, asl #22
+ mov r2, r2, lsr #22
+ tst ip, #2048
+ mov r3, ip, lsr #12
+ mov r0, r3, asl #4
+ add r3, lr, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst ip, #1024
+ bne .L5467
+ cmp r5, #0
+ ldr r2, [r3, #0]
+ beq .L5334
+ mov r3, r1, asl #2
+ mov r1, r2, lsr r3
+ orr r0, r6, r0
+ mov r2, r8
+ mov ip, #0
+.L5342:
+ ands r4, r1, #15
+ ldrne r3, [r2, #0]
+ add ip, ip, #1
+ orrne r3, r4, r3, asl #16
+ orrne r3, r3, r0
+ strne r3, [r2, #0]
+ cmp r5, ip
+ mov r1, r1, lsr #4
+ add r2, r2, #4
+ bne .L5342
+ add r8, r8, r5, asl #2
+.L5334:
+ add r7, r7, #2
+.L5329:
+ ldr r1, [sp, #12]
+ rsb r3, r5, r1
+ movs sl, r3, lsr #3
+ beq .L5347
+ mov r4, r8
+ mov ip, #0
+ b .L5349
+.L5468:
+ ldr r1, [r3, #0]
+ cmp r1, #0
+ beq .L5354
+ ands r0, r1, #15
+ ldrne r3, [r4, #28]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #28]
+ mov r3, r1, lsr #4
+ ands r0, r3, #15
+ ldrne r3, [r4, #24]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #24]
+ mov r3, r1, lsr #8
+ ands r0, r3, #15
+ ldrne r3, [r4, #20]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #20]
+ mov r3, r1, lsr #12
+ ands r0, r3, #15
+ ldrne r3, [r4, #16]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #16]
+ mov r3, r1, lsr #16
+ ands r0, r3, #15
+ ldrne r3, [r4, #12]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #12]
+ mov r3, r1, lsr #20
+ ands r0, r3, #15
+ ldrne r3, [r4, #8]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #8]
+ mov r3, r1, lsr #24
+ ands r0, r3, #15
+ ldrne r3, [r4, #4]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #4]
+ movs r1, r1, lsr #28
+ beq .L5354
+ ldr r3, [r4, #0]
+ orr r2, r6, r5
+ orr r3, r1, r3, asl #16
+ orr r3, r3, r2
+ str r3, [r4, #0]
+.L5354:
+ add ip, ip, #1
+ cmp sl, ip
+ add r4, r4, #32
+ beq .L5387
+.L5469:
+ add r7, r7, #2
+.L5349:
+ ldrh r1, [r7, #0]
+ mov r2, r1, asl #22
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r3, r1, lsr #12
+ mov r5, r3, asl #4
+ add r3, lr, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst r1, #1024
+ bne .L5468
+ ldr r1, [r3, #0]
+ cmp r1, #0
+ beq .L5354
+ ands r0, r1, #15
+ ldrne r3, [r4, #0]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #0]
+ mov r3, r1, lsr #4
+ ands r0, r3, #15
+ ldrne r3, [r4, #4]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #4]
+ mov r3, r1, lsr #8
+ ands r0, r3, #15
+ ldrne r3, [r4, #8]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #8]
+ mov r3, r1, lsr #12
+ ands r0, r3, #15
+ ldrne r3, [r4, #12]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #12]
+ mov r3, r1, lsr #16
+ ands r0, r3, #15
+ ldrne r3, [r4, #16]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #16]
+ mov r3, r1, lsr #20
+ ands r0, r3, #15
+ ldrne r3, [r4, #20]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #20]
+ mov r3, r1, lsr #24
+ ands r0, r3, #15
+ ldrne r3, [r4, #24]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #24]
+ movs r1, r1, lsr #28
+ ldrne r3, [r4, #28]
+ orrne r2, r6, r5
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ add ip, ip, #1
+ strne r3, [r4, #28]
+ cmp sl, ip
+ add r4, r4, #32
+ bne .L5469
+.L5387:
+ add r8, r8, sl, asl #5
+.L5347:
+ ldr r3, [sp, #12]
+ rsb r9, r3, fp
+ movs sl, r9, lsr #3
+ ldreq r1, [sp, #0]
+ beq .L5391
+ ldr ip, [sp, #0]
+ mov r4, r8
+ mov r7, #0
+ b .L5392
+.L5471:
+ ldr r1, [r3, #0]
+ cmp r1, #0
+ beq .L5397
+ ands r0, r1, #15
+ ldrne r3, [r4, #28]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #28]
+ mov r3, r1, lsr #4
+ ands r0, r3, #15
+ ldrne r3, [r4, #24]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #24]
+ mov r3, r1, lsr #8
+ ands r0, r3, #15
+ ldrne r3, [r4, #20]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #20]
+ mov r3, r1, lsr #12
+ ands r0, r3, #15
+ ldrne r3, [r4, #16]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #16]
+ mov r3, r1, lsr #16
+ ands r0, r3, #15
+ ldrne r3, [r4, #12]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #12]
+ mov r3, r1, lsr #20
+ ands r0, r3, #15
+ ldrne r3, [r4, #8]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #8]
+ mov r3, r1, lsr #24
+ ands r0, r3, #15
+ ldrne r3, [r4, #4]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #4]
+ movs r1, r1, lsr #28
+ beq .L5397
+ ldr r3, [r4, #0]
+ orr r2, r6, r5
+ orr r3, r1, r3, asl #16
+ orr r3, r3, r2
+ str r3, [r4, #0]
+.L5397:
+ add r7, r7, #1
+ cmp sl, r7
+ add r4, r4, #32
+ add ip, ip, #2
+ beq .L5470
+.L5392:
+ ldrh r1, [ip, #0]
+ mov r2, r1, asl #22
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r3, r1, lsr #12
+ mov r5, r3, asl #4
+ add r3, lr, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst r1, #1024
+ bne .L5471
+ ldr r1, [r3, #0]
+ cmp r1, #0
+ beq .L5397
+ ands r0, r1, #15
+ ldrne r3, [r4, #0]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #0]
+ mov r3, r1, lsr #4
+ ands r0, r3, #15
+ ldrne r3, [r4, #4]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #4]
+ mov r3, r1, lsr #8
+ ands r0, r3, #15
+ ldrne r3, [r4, #8]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #8]
+ mov r3, r1, lsr #12
+ ands r0, r3, #15
+ ldrne r3, [r4, #12]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #12]
+ mov r3, r1, lsr #16
+ ands r0, r3, #15
+ ldrne r3, [r4, #16]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #16]
+ mov r3, r1, lsr #20
+ ands r0, r3, #15
+ ldrne r3, [r4, #20]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #20]
+ mov r3, r1, lsr #24
+ ands r0, r3, #15
+ ldrne r3, [r4, #24]
+ orrne r2, r6, r5
+ orrne r3, r0, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #24]
+ movs r1, r1, lsr #28
+ ldrne r3, [r4, #28]
+ orrne r2, r6, r5
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ add r7, r7, #1
+ strne r3, [r4, #28]
+ cmp sl, r7
+ add r4, r4, #32
+ add ip, ip, #2
+ bne .L5392
+.L5470:
+ ldr r3, [sp, #0]
+ add r8, r8, sl, asl #5
+ add r1, r3, sl, asl #1
+.L5391:
+ ands r4, r9, #7
+ beq .L5444
+ ldrh r1, [r1, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r0, lr, r3, asl #5
+ ldrne r3, [sp, #8]
+ mov r2, r1, lsr #12
+ addne r0, r0, r3
+ mov r2, r2, asl #4
+ tst r1, #1024
+ ldreq r0, [r0, #0]
+ orreq r2, r6, r2
+ moveq lr, #0
+ beq .L5440
+ ldr r0, [r0, #0]
+ orr r2, r6, r2
+ mov lr, #0
+.L5436:
+ movs r1, r0, lsr #28
+ ldrne r3, [r8, #0]
+ add lr, lr, #1
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r8, #0]
+ cmp r4, lr
+ mov r0, r0, asl #4
+ add r8, r8, #4
+ bne .L5436
+.L5444:
+ add sp, sp, #16
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L5465:
+ and r3, r5, #7
+ mov r2, lr, asl #12
+ mov r3, r3, asl #3
+ and r1, r4, #255
+ and r2, r2, #49152
+ add r2, r2, r3
+ rsb sl, r1, #256
+ mov r3, r3, asl #1
+ rsb r3, r3, #56
+ cmp fp, sl
+ add r0, r2, r9
+ str r3, [sp, #4]
+ and ip, r4, #7
+ bls .L5472
+ cmp ip, #0
+ moveq lr, ip
+ beq .L5055
+ ldrh r2, [r7, #0]
+ rsb lr, ip, #8
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add r5, r0, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r5, r5, r3
+ ands r2, r2, #1024
+ bne .L5473
+ cmp ip, #3
+ bls .L5085
+ cmp lr, #0
+ ldr r1, [r5, #4]
+ beq .L5062
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r1, lsr r3
+ mov r4, r2
+ mov r2, r8
+.L5088:
+ ands r3, r1, #255
+ orr ip, r6, r3
+ ldrne r3, [r2, #0]
+ add r4, r4, #1
+ orrne r3, ip, r3, asl #16
+ strne r3, [r2, #0]
+ cmp lr, r4
+ mov r1, r1, lsr #8
+ add r2, r2, #4
+ bne .L5088
+ add r8, r8, lr, asl #2
+.L5062:
+ add r7, r7, #2
+.L5055:
+ rsb r3, lr, sl
+ movs lr, r3, lsr #3
+ beq .L5109
+ mov r4, r8
+ mov ip, #0
+ b .L5111
+.L5474:
+ ldr r1, [r5, #4]
+ cmp r1, #0
+ beq .L5116
+ ands r3, r1, #255
+ ldrne r2, [r4, #12]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r4, #8]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r4, #4]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #4]
+ movs r3, r1, lsr #24
+ ldrne r2, [r4, #0]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #0]
+.L5116:
+ ldr r1, [r5, #0]
+ cmp r1, #0
+ beq .L5125
+ ands r3, r1, #255
+ ldrne r2, [r4, #28]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #28]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r4, #24]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #24]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r4, #20]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #20]
+ movs r3, r1, lsr #24
+ ldrne r2, [r4, #16]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #16]
+.L5125:
+ add ip, ip, #1
+ cmp lr, ip
+ add r4, r4, #32
+ beq .L5151
+.L5475:
+ add r7, r7, #2
+.L5111:
+ ldrh r2, [r7, #0]
+ tst r2, #2048
+ mov r3, r2, asl #22
+ ldrne r1, [sp, #4]
+ mov r3, r3, lsr #22
+ add r5, r0, r3, asl #6
+ addne r5, r5, r1
+ tst r2, #1024
+ bne .L5474
+ ldr r1, [r5, #0]
+ cmp r1, #0
+ beq .L5134
+ ands r3, r1, #255
+ ldrne r2, [r4, #0]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #0]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r4, #4]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #4]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r4, #8]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #8]
+ movs r3, r1, lsr #24
+ ldrne r2, [r4, #12]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #12]
+.L5134:
+ ldr r1, [r5, #4]
+ cmp r1, #0
+ beq .L5125
+ ands r3, r1, #255
+ ldrne r2, [r4, #16]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #16]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r4, #20]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #20]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r4, #24]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #24]
+ movs r3, r1, lsr #24
+ ldrne r2, [r4, #28]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ add ip, ip, #1
+ strne r3, [r4, #28]
+ cmp lr, ip
+ add r4, r4, #32
+ bne .L5475
+.L5151:
+ add r8, r8, lr, asl #5
+.L5109:
+ rsb lr, sl, fp
+ movs sl, lr, lsr #3
+ ldreq r1, [sp, #0]
+ beq .L5155
+ ldr ip, [sp, #0]
+ mov r4, r8
+ mov r7, #0
+ b .L5156
+.L5477:
+ ldr r1, [r5, #4]
+ cmp r1, #0
+ beq .L5161
+ ands r3, r1, #255
+ ldrne r2, [r4, #12]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r4, #8]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r4, #4]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #4]
+ movs r3, r1, lsr #24
+ ldrne r2, [r4, #0]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #0]
+.L5161:
+ ldr r1, [r5, #0]
+ cmp r1, #0
+ beq .L5170
+ ands r3, r1, #255
+ ldrne r2, [r4, #28]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #28]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r4, #24]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #24]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r4, #20]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #20]
+ movs r3, r1, lsr #24
+ ldrne r2, [r4, #16]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #16]
+.L5170:
+ add r7, r7, #1
+ cmp sl, r7
+ add r4, r4, #32
+ add ip, ip, #2
+ beq .L5476
+.L5156:
+ ldrh r2, [ip, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add r5, r0, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r5, r5, r3
+ tst r2, #1024
+ bne .L5477
+ ldr r1, [r5, #0]
+ cmp r1, #0
+ beq .L5179
+ ands r3, r1, #255
+ ldrne r2, [r4, #0]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #0]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r4, #4]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #4]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r4, #8]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #8]
+ movs r3, r1, lsr #24
+ ldrne r2, [r4, #12]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #12]
+.L5179:
+ ldr r1, [r5, #4]
+ cmp r1, #0
+ beq .L5170
+ ands r3, r1, #255
+ ldrne r2, [r4, #16]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #16]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r4, #20]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #20]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r4, #24]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r4, #24]
+ movs r3, r1, lsr #24
+ ldrne r2, [r4, #28]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ add r7, r7, #1
+ strne r3, [r4, #28]
+ cmp sl, r7
+ add r4, r4, #32
+ add ip, ip, #2
+ bne .L5156
+.L5476:
+ ldr r2, [sp, #0]
+ add r8, r8, sl, asl #5
+ add r1, r2, sl, asl #1
+.L5155:
+ ands ip, lr, #7
+ beq .L5444
+ ldrh r1, [r1, #0]
+ mov r3, r1, asl #22
+ mov r3, r3, lsr #22
+ tst r1, #2048
+ add r0, r0, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r0, r0, r3
+ tst r1, #1024
+ beq .L5200
+ cmp ip, #3
+ ldrls r0, [r0, #4]
+ bls .L5214
+ ldr r1, [r0, #4]
+ cmp r1, #0
+ beq .L5204
+ ands r3, r1, #255
+ ldrne r2, [r8, #12]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r8, #8]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r8, #4]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #4]
+ movs r3, r1, lsr #24
+ ldrne r2, [r8, #0]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #0]
+.L5204:
+ subs ip, ip, #4
+ ldr r0, [r0, #0]
+ addne r8, r8, #16
+ beq .L5444
+.L5214:
+ mov r1, #0
+.L5215:
+ movs r3, r0, lsr #24
+ orr r2, r6, r3
+ ldrne r3, [r8, #0]
+ add r1, r1, #1
+ orrne r3, r2, r3, asl #16
+ strne r3, [r8, #0]
+ cmp ip, r1
+ mov r0, r0, asl #8
+ add r8, r8, #4
+ bhi .L5215
+ b .L5444
+.L5464:
+ cmp r4, #255
+ subhi r4, r4, #256
+ movhi r3, r4, lsr #3
+ movls r3, r4, lsr #3
+ addhi r3, r1, r3, asl #1
+ addls r7, r1, r3, asl #1
+ addls r1, r1, #2048
+ addhi r7, r3, #2048
+ strhi r1, [sp, #0]
+ strls r1, [sp, #0]
+ tst lr, #128
+ beq .L4853
+ b .L5465
+.L5463:
+ add sp, sp, #16
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_text_transparent_color32
+.L5466:
+ cmp r1, #0
+ beq .L5238
+ rsb r5, r1, #8
+ cmp fp, r5
+ bcc .L5478
+ ldrh ip, [r7, #0]
+ mov r2, ip, asl #22
+ mov r2, r2, lsr #22
+ tst ip, #2048
+ mov r3, ip, lsr #12
+ mov r0, r3, asl #4
+ add r3, lr, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst ip, #1024
+ beq .L5258
+ cmp r5, #0
+ ldr r2, [r3, #0]
+ beq .L5260
+ mov r3, r1, asl #2
+ mov r1, r2, asl r3
+ orr r0, r6, r0
+ mov r2, r8
+ mov r4, #0
+.L5262:
+ movs ip, r1, lsr #28
+ ldrne r3, [r2, #0]
+ add r4, r4, #1
+ orrne r3, ip, r3, asl #16
+ orrne r3, r3, r0
+ strne r3, [r2, #0]
+ cmp r5, r4
+ mov r1, r1, asl #4
+ add r2, r2, #4
+ bne .L5262
+.L5459:
+ add r8, r8, r5, asl #2
+.L5260:
+ rsb fp, r5, fp
+ add r7, r7, #2
+.L5238:
+ movs r9, fp, lsr #3
+ beq .L5273
+ mov r4, r8
+ mov ip, r7
+ mov sl, #0
+ b .L5275
+.L5486:
+ .align 2
+.L5485:
+ .word io_registers
+ .word map_widths
+ .word vram
+.L5480:
+ ldr r5, [r3, #0]
+ cmp r5, #0
+ beq .L5280
+ ands r1, r5, #15
+ ldrne r3, [r4, #28]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #28]
+ mov r3, r5, lsr #4
+ ands r1, r3, #15
+ ldrne r3, [r4, #24]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #24]
+ mov r3, r5, lsr #8
+ ands r1, r3, #15
+ ldrne r3, [r4, #20]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #20]
+ mov r3, r5, lsr #12
+ ands r1, r3, #15
+ ldrne r3, [r4, #16]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #16]
+ mov r3, r5, lsr #16
+ ands r1, r3, #15
+ ldrne r3, [r4, #12]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #12]
+ mov r3, r5, lsr #20
+ ands r1, r3, #15
+ ldrne r3, [r4, #8]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #8]
+ mov r3, r5, lsr #24
+ ands r1, r3, #15
+ ldrne r3, [r4, #4]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #4]
+ movs r5, r5, lsr #28
+ beq .L5280
+ ldr r3, [r4, #0]
+ orr r2, r6, r0
+ orr r3, r5, r3, asl #16
+ orr r3, r3, r2
+ str r3, [r4, #0]
+.L5280:
+ add sl, sl, #1
+ cmp r9, sl
+ add r4, r4, #32
+ add ip, ip, #2
+ beq .L5479
+.L5275:
+ ldrh r1, [ip, #0]
+ mov r2, r1, asl #22
+ mov r2, r2, lsr #22
+ tst r1, #2048
+ mov r3, r1, lsr #12
+ mov r0, r3, asl #4
+ add r3, lr, r2, asl #5
+ ldrne r2, [sp, #8]
+ addne r3, r3, r2
+ tst r1, #1024
+ bne .L5480
+ ldr r5, [r3, #0]
+ cmp r5, #0
+ beq .L5280
+ ands r1, r5, #15
+ ldrne r3, [r4, #0]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #0]
+ mov r3, r5, lsr #4
+ ands r1, r3, #15
+ ldrne r3, [r4, #4]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #4]
+ mov r3, r5, lsr #8
+ ands r1, r3, #15
+ ldrne r3, [r4, #8]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #8]
+ mov r3, r5, lsr #12
+ ands r1, r3, #15
+ ldrne r3, [r4, #12]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #12]
+ mov r3, r5, lsr #16
+ ands r1, r3, #15
+ ldrne r3, [r4, #16]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #16]
+ mov r3, r5, lsr #20
+ ands r1, r3, #15
+ ldrne r3, [r4, #20]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #20]
+ mov r3, r5, lsr #24
+ ands r1, r3, #15
+ ldrne r3, [r4, #24]
+ orrne r2, r6, r0
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r4, #24]
+ movs r5, r5, lsr #28
+ ldrne r3, [r4, #28]
+ orrne r2, r6, r0
+ orrne r3, r5, r3, asl #16
+ orrne r3, r3, r2
+ add sl, sl, #1
+ strne r3, [r4, #28]
+ cmp r9, sl
+ add r4, r4, #32
+ add ip, ip, #2
+ bne .L5275
+.L5479:
+ add r8, r8, r9, asl #5
+ add r7, r7, r9, asl #1
+.L5273:
+ ands r5, fp, #7
+ beq .L5444
+ ldrh r4, [r7, #0]
+ mov r3, r4, asl #22
+ mov r3, r3, lsr #22
+ tst r4, #2048
+ add r0, lr, r3, asl #5
+ ldrne r3, [sp, #8]
+ mov r2, r4, lsr #12
+ addne r0, r0, r3
+ mov r2, r2, asl #4
+ tst r4, #1024
+ ldreq r0, [r0, #0]
+ orreq r2, r6, r2
+ moveq lr, #0
+ beq .L5323
+ ldr r0, [r0, #0]
+ orr r2, r6, r2
+ mov lr, #0
+.L5319:
+ movs r1, r0, lsr #28
+ ldrne r3, [r8, #0]
+ add lr, lr, #1
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r8, #0]
+ cmp r5, lr
+ mov r0, r0, asl #4
+ add r8, r8, #4
+ bne .L5319
+ b .L5444
+.L5472:
+ cmp ip, #0
+ beq .L4857
+ rsb lr, ip, #8
+ cmp fp, lr
+ bcc .L5481
+ ldrh r2, [r7, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add r5, r0, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r5, r5, r3
+ ands r2, r2, #1024
+ beq .L4920
+ cmp ip, #3
+ bls .L4922
+ cmp lr, #0
+ ldr r2, [r5, #0]
+ beq .L4924
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, asl r3
+ mov r4, #0
+ mov r2, r8
+.L4926:
+ movs r3, r1, lsr #24
+ orr ip, r6, r3
+ ldrne r3, [r2, #0]
+ add r4, r4, #1
+ orrne r3, ip, r3, asl #16
+ strne r3, [r2, #0]
+ cmp lr, r4
+ mov r1, r1, asl #8
+ add r2, r2, #4
+ bne .L4926
+.L5446:
+ add r8, r8, lr, asl #2
+.L4924:
+ rsb fp, lr, fp
+ add r7, r7, #2
+.L4857:
+ movs r9, fp, lsr #3
+ beq .L4971
+ mov r1, r8
+ mov ip, r7
+ mov sl, #0
+ b .L4973
+.L5483:
+ ldr r4, [r5, #4]
+ cmp r4, #0
+ beq .L4978
+ ands r3, r4, #255
+ ldrne r2, [r1, #12]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #12]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r1, #8]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #8]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r1, #4]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #4]
+ movs r3, r4, lsr #24
+ ldrne r2, [r1, #0]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #0]
+.L4978:
+ ldr r4, [r5, #0]
+ cmp r4, #0
+ beq .L4987
+ ands r3, r4, #255
+ ldrne r2, [r1, #28]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #28]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r1, #24]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #24]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r1, #20]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #20]
+ movs r3, r4, lsr #24
+ ldrne r2, [r1, #16]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #16]
+.L4987:
+ add sl, sl, #1
+ cmp r9, sl
+ add r1, r1, #32
+ add ip, ip, #2
+ beq .L5482
+.L4973:
+ ldrh r2, [ip, #0]
+ mov r3, r2, asl #22
+ mov r3, r3, lsr #22
+ tst r2, #2048
+ add r5, r0, r3, asl #6
+ ldrne r3, [sp, #4]
+ addne r5, r5, r3
+ tst r2, #1024
+ bne .L5483
+ ldr r4, [r5, #0]
+ cmp r4, #0
+ beq .L4996
+ ands r3, r4, #255
+ ldrne r2, [r1, #0]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #0]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r1, #4]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #4]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r1, #8]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #8]
+ movs r3, r4, lsr #24
+ ldrne r2, [r1, #12]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #12]
+.L4996:
+ ldr r4, [r5, #4]
+ cmp r4, #0
+ beq .L4987
+ ands r3, r4, #255
+ ldrne r2, [r1, #16]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #16]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r1, #20]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #20]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r1, #24]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r1, #24]
+ movs r3, r4, lsr #24
+ ldrne r2, [r1, #28]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ add sl, sl, #1
+ strne r3, [r1, #28]
+ cmp r9, sl
+ add r1, r1, #32
+ add ip, ip, #2
+ bne .L4973
+.L5482:
+ add r8, r8, r9, asl #5
+ add r7, r7, r9, asl #1
+.L4971:
+ ands ip, fp, #7
+ beq .L5444
+ ldrh r2, [r7, #0]
+ tst r2, #2048
+ mov r3, r2, asl #22
+ ldrne r1, [sp, #4]
+ mov r3, r3, lsr #22
+ add r0, r0, r3, asl #6
+ addne r0, r0, r1
+ tst r2, #1024
+ bne .L5484
+ cmp ip, #3
+ ldrls r0, [r0, #0]
+ bls .L5048
+ ldr r1, [r0, #0]
+ cmp r1, #0
+ beq .L5038
+ ands r3, r1, #255
+ ldrne r2, [r8, #0]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #0]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r8, #4]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #4]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r8, #8]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #8]
+ movs r3, r1, lsr #24
+ ldrne r2, [r8, #12]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #12]
+.L5038:
+ subs ip, ip, #4
+ ldr r0, [r0, #4]
+ addne r8, r8, #16
+ beq .L5444
+.L5048:
+ mov r1, #0
+.L5049:
+ ands r3, r0, #255
+ orr r2, r6, r3
+ ldrne r3, [r8, #0]
+ add r1, r1, #1
+ orrne r3, r2, r3, asl #16
+ strne r3, [r8, #0]
+ cmp ip, r1
+ mov r0, r0, lsr #8
+ add r8, r8, #4
+ bhi .L5049
+ b .L5444
+.L5440:
+ ands r1, r0, #15
+ ldrne r3, [r8, #0]
+ add lr, lr, #1
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r8, #0]
+ cmp r4, lr
+ mov r0, r0, lsr #4
+ add r8, r8, #4
+ bne .L5440
+ b .L5444
+.L5323:
+ ands r1, r0, #15
+ ldrne r3, [r8, #0]
+ add lr, lr, #1
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r8, #0]
+ cmp r5, lr
+ mov r0, r0, lsr #4
+ add r8, r8, #4
+ bne .L5323
+ b .L5444
+.L5200:
+ cmp ip, #3
+ ldrls r0, [r0, #0]
+ bls .L5231
+ ldr r1, [r0, #0]
+ cmp r1, #0
+ beq .L5221
+ ands r3, r1, #255
+ ldrne r2, [r8, #0]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #0]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r8, #4]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #4]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r8, #8]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #8]
+ movs r3, r1, lsr #24
+ ldrne r2, [r8, #12]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #12]
+.L5221:
+ subs ip, ip, #4
+ ldr r0, [r0, #4]
+ addne r8, r8, #16
+ beq .L5444
+.L5231:
+ mov r1, #0
+.L5232:
+ ands r3, r0, #255
+ orr r2, r6, r3
+ ldrne r3, [r8, #0]
+ add r1, r1, #1
+ orrne r3, r2, r3, asl #16
+ strne r3, [r8, #0]
+ cmp ip, r1
+ mov r0, r0, lsr #8
+ add r8, r8, #4
+ bhi .L5232
+ b .L5444
+.L5484:
+ cmp ip, #3
+ ldrls r0, [r0, #4]
+ bls .L5031
+ ldr r1, [r0, #4]
+ cmp r1, #0
+ beq .L5021
+ ands r3, r1, #255
+ ldrne r2, [r8, #12]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [r8, #8]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [r8, #4]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #4]
+ movs r3, r1, lsr #24
+ ldrne r2, [r8, #0]
+ orrne r3, r6, r3
+ orrne r3, r3, r2, asl #16
+ strne r3, [r8, #0]
+.L5021:
+ subs ip, ip, #4
+ ldr r0, [r0, #0]
+ addne r8, r8, #16
+ beq .L5444
+.L5031:
+ mov r1, #0
+.L5032:
+ movs r3, r0, lsr #24
+ orr r2, r6, r3
+ ldrne r3, [r8, #0]
+ add r1, r1, #1
+ orrne r3, r2, r3, asl #16
+ strne r3, [r8, #0]
+ cmp ip, r1
+ mov r0, r0, asl #8
+ add r8, r8, #4
+ bhi .L5032
+ b .L5444
+.L5473:
+ cmp ip, #3
+ bls .L5060
+ cmp lr, #0
+ ldr r2, [r5, #0]
+ beq .L5062
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, asl r3
+ mov r4, #0
+ mov r2, r8
+.L5064:
+ movs r3, r1, lsr #24
+ orr ip, r6, r3
+ ldrne r3, [r2, #0]
+ add r4, r4, #1
+ orrne r3, ip, r3, asl #16
+ strne r3, [r2, #0]
+ cmp lr, r4
+ mov r1, r1, asl #8
+ add r2, r2, #4
+ bne .L5064
+ add r8, r8, lr, asl #2
+ b .L5062
+.L5467:
+ cmp r5, #0
+ ldr r2, [r3, #0]
+ beq .L5334
+ mov r3, r1, asl #2
+ mov r1, r2, asl r3
+ orr r0, r6, r0
+ mov r2, r8
+ mov ip, #0
+.L5336:
+ movs r4, r1, lsr #28
+ ldrne r3, [r2, #0]
+ add ip, ip, #1
+ orrne r3, r4, r3, asl #16
+ orrne r3, r3, r0
+ strne r3, [r2, #0]
+ cmp r5, ip
+ mov r1, r1, asl #4
+ add r2, r2, #4
+ bne .L5336
+ add r8, r8, r5, asl #2
+ b .L5334
+.L5478:
+ ldrh r4, [r7, #0]
+ mov r3, r4, asl #22
+ mov r3, r3, lsr #22
+ tst r4, #2048
+ add r0, lr, r3, asl #5
+ ldrne r3, [sp, #8]
+ mov r2, r4, lsr #12
+ addne r0, r0, r3
+ tst r4, #1024
+ mov r2, r2, asl #4
+ beq .L5244
+ cmp fp, #0
+ ldr r0, [r0, #0]
+ beq .L5444
+ mov r3, r1, asl #2
+ mov r0, r0, asl r3
+ orr r2, r6, r2
+ mov lr, #0
+.L5247:
+ movs r1, r0, lsr #28
+ ldrne r3, [r8, #0]
+ add lr, lr, #1
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r8, #0]
+ cmp fp, lr
+ mov r0, r0, asl #4
+ add r8, r8, #4
+ bne .L5247
+ b .L5444
+.L5481:
+ ldrh r2, [r7, #0]
+ tst r2, #2048
+ mov r3, r2, asl #22
+ ldrne r1, [sp, #4]
+ mov r3, r3, lsr #22
+ add r0, r0, r3, asl #6
+ addne r0, r0, r1
+ tst r2, #1024
+ beq .L4863
+ cmp ip, #3
+ bls .L4865
+ cmp fp, #0
+ ldr r0, [r0, #0]
+ beq .L5444
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r0, r0, asl r3
+ mov r1, #0
+.L4869:
+ movs r3, r0, lsr #24
+ orr r2, r6, r3
+ ldrne r3, [r8, #0]
+ add r1, r1, #1
+ orrne r3, r2, r3, asl #16
+ strne r3, [r8, #0]
+ cmp fp, r1
+ mov r0, r0, asl #8
+ add r8, r8, #4
+ bne .L4869
+ b .L5444
+.L5060:
+ subs r9, lr, #4
+ ldr r2, [r5, #4]
+ beq .L5069
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, asl r3
+ mov r4, #0
+ mov r2, r8
+.L5071:
+ movs r3, r1, lsr #24
+ orr ip, r6, r3
+ ldrne r3, [r2, #0]
+ add r4, r4, #1
+ orrne r3, ip, r3, asl #16
+ strne r3, [r2, #0]
+ cmp r9, r4
+ mov r1, r1, asl #8
+ add r2, r2, #4
+ bne .L5071
+ add r3, r8, lr, asl #2
+ sub r8, r3, #16
+.L5069:
+ ldr r2, [r5, #0]
+ cmp r2, #0
+ beq .L5100
+ ands r1, r2, #255
+ ldrne r3, [r8, #12]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ strne r3, [r8, #12]
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ ldrne r3, [r8, #8]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ strne r3, [r8, #8]
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ ldrne r3, [r8, #4]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ strne r3, [r8, #4]
+ movs r2, r2, lsr #24
+ ldrne r3, [r8, #0]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r2, r3
+ strne r3, [r8, #0]
+.L5100:
+ add r8, r8, #16
+ mov lr, r9
+ add r7, r7, #2
+ b .L5055
+.L5258:
+ cmp r5, #0
+ ldr r2, [r3, #0]
+ beq .L5260
+ mov r3, r1, asl #2
+ mov r1, r2, lsr r3
+ orr r0, r6, r0
+ mov r2, r8
+ mov r4, #0
+.L5268:
+ ands ip, r1, #15
+ ldrne r3, [r2, #0]
+ add r4, r4, #1
+ orrne r3, ip, r3, asl #16
+ orrne r3, r3, r0
+ strne r3, [r2, #0]
+ cmp r5, r4
+ mov r1, r1, lsr #4
+ add r2, r2, #4
+ bne .L5268
+ b .L5459
+.L4920:
+ cmp ip, #3
+ bls .L4947
+ cmp lr, #0
+ ldr r1, [r5, #4]
+ beq .L4924
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r1, lsr r3
+ mov r4, r2
+ mov r2, r8
+.L4950:
+ ands r3, r1, #255
+ orr ip, r6, r3
+ ldrne r3, [r2, #0]
+ add r4, r4, #1
+ orrne r3, ip, r3, asl #16
+ strne r3, [r2, #0]
+ cmp lr, r4
+ mov r1, r1, lsr #8
+ add r2, r2, #4
+ bne .L4950
+ b .L5446
+.L5244:
+ cmp fp, #0
+ ldr r0, [r0, #0]
+ beq .L5444
+ mov r3, r1, asl #2
+ mov r0, r0, lsr r3
+ orr r2, r6, r2
+ mov lr, #0
+.L5252:
+ ands r1, r0, #15
+ ldrne r3, [r8, #0]
+ add lr, lr, #1
+ orrne r3, r1, r3, asl #16
+ orrne r3, r3, r2
+ strne r3, [r8, #0]
+ cmp fp, lr
+ mov r0, r0, lsr #4
+ add r8, r8, #4
+ bne .L5252
+ b .L5444
+.L4863:
+ cmp ip, #3
+ bls .L4892
+ cmp fp, #0
+ ldr r0, [r0, #4]
+ beq .L5444
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r0, r0, lsr r3
+ mov r1, #0
+.L4895:
+ ands r3, r0, #255
+ orr r2, r6, r3
+ ldrne r3, [r8, #0]
+ add r1, r1, #1
+ orrne r3, r2, r3, asl #16
+ strne r3, [r8, #0]
+ cmp fp, r1
+ mov r0, r0, lsr #8
+ add r8, r8, #4
+ bne .L4895
+ b .L5444
+.L5085:
+ subs r9, lr, #4
+ ldr r2, [r5, #0]
+ beq .L5093
+ mov r3, ip, asl #3
+ mov r1, r2, lsr r3
+ mov r4, #0
+ mov r2, r8
+.L5095:
+ ands r3, r1, #255
+ orr ip, r6, r3
+ ldrne r3, [r2, #0]
+ add r4, r4, #1
+ orrne r3, ip, r3, asl #16
+ strne r3, [r2, #0]
+ cmp r9, r4
+ mov r1, r1, lsr #8
+ add r2, r2, #4
+ bne .L5095
+ add r3, r8, lr, asl #2
+ sub r8, r3, #16
+.L5093:
+ ldr r2, [r5, #4]
+ cmp r2, #0
+ beq .L5100
+ ands r1, r2, #255
+ ldrne r3, [r8, #0]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ strne r3, [r8, #0]
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ ldrne r3, [r8, #4]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ strne r3, [r8, #4]
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ ldrne r3, [r8, #8]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ strne r3, [r8, #8]
+ movs r2, r2, lsr #24
+ ldrne r3, [r8, #12]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r2, r3
+ strne r3, [r8, #12]
+ b .L5100
+.L4922:
+ subs sl, lr, #4
+ ldr r2, [r5, #4]
+ beq .L4931
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, asl r3
+ mov r4, #0
+ mov r2, r8
+.L4933:
+ movs r3, r1, lsr #24
+ orr ip, r6, r3
+ ldrne r3, [r2, #0]
+ add r4, r4, #1
+ orrne r3, ip, r3, asl #16
+ strne r3, [r2, #0]
+ cmp sl, r4
+ mov r1, r1, asl #8
+ add r2, r2, #4
+ bne .L4933
+ add r3, r8, lr, asl #2
+ sub r8, r3, #16
+.L4931:
+ ldr r2, [r5, #0]
+ cmp r2, #0
+ beq .L4962
+ ands r1, r2, #255
+ ldrne r3, [r8, #12]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ strne r3, [r8, #12]
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ ldrne r3, [r8, #8]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ strne r3, [r8, #8]
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ ldrne r3, [r8, #4]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ strne r3, [r8, #4]
+ movs r2, r2, lsr #24
+ ldrne r3, [r8, #0]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r2, r3
+ strne r3, [r8, #0]
+.L4962:
+ add r8, r8, #16
+ b .L4924
+.L4865:
+ mov r3, ip, asl #3
+ ldr r1, [r0, #4]
+ add r2, fp, ip
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L4873
+ cmp fp, #0
+ movne r0, #0
+ beq .L5444
+.L4888:
+ movs r3, r1, lsr #24
+ orr r2, r6, r3
+ ldrne r3, [r8, #0]
+ add r0, r0, #1
+ orrne r3, r2, r3, asl #16
+ strne r3, [r8, #0]
+ cmp fp, r0
+ mov r1, r1, asl #8
+ add r8, r8, #4
+ bne .L4888
+ b .L5444
+.L4947:
+ subs sl, lr, #4
+ ldr r2, [r5, #0]
+ beq .L4955
+ mov r3, ip, asl #3
+ mov r1, r2, lsr r3
+ mov r4, #0
+ mov r2, r8
+.L4957:
+ ands r3, r1, #255
+ orr ip, r6, r3
+ ldrne r3, [r2, #0]
+ add r4, r4, #1
+ orrne r3, ip, r3, asl #16
+ strne r3, [r2, #0]
+ cmp sl, r4
+ mov r1, r1, lsr #8
+ add r2, r2, #4
+ bne .L4957
+ add r3, r8, lr, asl #2
+ sub r8, r3, #16
+.L4955:
+ ldr r2, [r5, #4]
+ cmp r2, #0
+ beq .L4962
+ ands r1, r2, #255
+ ldrne r3, [r8, #0]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ strne r3, [r8, #0]
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ ldrne r3, [r8, #4]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ strne r3, [r8, #4]
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ ldrne r3, [r8, #8]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ strne r3, [r8, #8]
+ movs r2, r2, lsr #24
+ ldrne r3, [r8, #12]
+ orrne r3, r6, r3, asl #16
+ orrne r3, r2, r3
+ strne r3, [r8, #12]
+ add r8, r8, #16
+ b .L4924
+.L4892:
+ add r2, fp, ip
+ ldr r3, [r0, #0]
+ cmp r2, #4
+ mov r1, ip, asl #3
+ mov r2, r3, lsr r1
+ bhi .L4899
+ cmp fp, #0
+ movne r0, #0
+ beq .L5444
+.L4914:
+ ands r3, r2, #255
+ orr r1, r6, r3
+ ldrne r3, [r8, #0]
+ add r0, r0, #1
+ orrne r3, r1, r3, asl #16
+ strne r3, [r8, #0]
+ cmp fp, r0
+ mov r2, r2, lsr #8
+ add r8, r8, #4
+ bne .L4914
+ b .L5444
+.L4873:
+ rsbs r5, ip, #4
+ beq .L4876
+ mov r2, r8
+ mov r4, #0
+.L4878:
+ movs r3, r1, lsr #24
+ orr ip, r6, r3
+ ldrne r3, [r2, #0]
+ add r4, r4, #1
+ orrne r3, ip, r3, asl #16
+ strne r3, [r2, #0]
+ cmp r5, r4
+ mov r1, r1, asl #8
+ add r2, r2, #4
+ bne .L4878
+ add r8, r8, r5, asl #2
+.L4876:
+ subs ip, fp, r5
+ ldr r0, [r0, #0]
+ beq .L5444
+ mov r1, #0
+.L4884:
+ movs r3, r0, lsr #24
+ orr r2, r6, r3
+ ldrne r3, [r8, #0]
+ add r1, r1, #1
+ orrne r3, r2, r3, asl #16
+ strne r3, [r8, #0]
+ cmp ip, r1
+ mov r0, r0, asl #8
+ add r8, r8, #4
+ bne .L4884
+ b .L5444
+.L4899:
+ rsbs r5, ip, #4
+ beq .L4902
+ mov r1, r8
+ mov r4, #0
+.L4904:
+ ands r3, r2, #255
+ orr ip, r6, r3
+ ldrne r3, [r1, #0]
+ add r4, r4, #1
+ orrne r3, ip, r3, asl #16
+ strne r3, [r1, #0]
+ cmp r5, r4
+ mov r2, r2, lsr #8
+ add r1, r1, #4
+ bne .L4904
+ add r8, r8, r5, asl #2
+.L4902:
+ subs ip, fp, r5
+ ldr r0, [r0, #4]
+ beq .L5444
+ mov r1, #0
+.L4910:
+ ands r3, r0, #255
+ orr r2, r6, r3
+ ldrne r3, [r8, #0]
+ add r1, r1, #1
+ orrne r3, r2, r3, asl #16
+ strne r3, [r8, #0]
+ cmp ip, r1
+ mov r0, r0, lsr #8
+ add r8, r8, #4
+ bne .L4910
+ b .L5444
+ .size render_scanline_text_transparent_alpha, .-render_scanline_text_transparent_alpha
+ .align 2
+ .global render_scanline_affine_base_normal
+ .type render_scanline_affine_base_normal, %function
+render_scanline_affine_base_normal:
+ @ args = 0, pretend = 0, frame = 24
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r5, .L5544
+ mov lr, r0, asl #4
+ add ip, r5, r0, asl #1
+ ldrh r4, [ip, #8]
+ ldr ip, .L5544+4
+ sub r0, r0, #2
+ sub lr, lr, #32
+ add lr, lr, r5
+ ldr sl, [ip, r0, asl #2]
+ ldr ip, .L5544+8
+ ldrsh fp, [lr, #36]
+ mov r6, r4, lsr #14
+ ldr r7, .L5544+12
+ mov r5, r4, lsr #12
+ ldrsh r9, [lr, #32]
+ mov lr, r4, asl #3
+ mov r4, r4, asl #12
+ ldr r8, [ip, r0, asl #2]
+ and r5, r5, #2
+ and lr, lr, #63488
+ and r4, r4, #49152
+ sub sp, sp, #24
+ add ip, r6, #7
+ add r4, r4, r7
+ add lr, lr, r7
+ mov r0, #1
+ add r6, r6, #4
+ cmp fp, #0
+ orrne r5, r5, #1
+ mov r0, r0, asl ip
+ str r4, [sp, #16]
+ mla ip, r9, r1, r8
+ rsb r4, r1, r2
+ str r6, [sp, #8]
+ str lr, [sp, #12]
+ add r7, r3, r1, asl #1
+ mla r8, fp, r1, sl
+ cmp r5, #3
+ ldrls pc, [pc, r5, asl #2]
+ b .L5531
+ .p2align 2
+.L5493:
+ .word .L5489
+ .word .L5490
+ .word .L5491
+ .word .L5492
+.L5491:
+ sub sl, r0, #1
+ and r3, sl, r8, asr #8
+ cmp r0, r3
+ bhi .L5541
+.L5531:
+ add sp, sp, #24
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L5489:
+ mov r3, r8, asr #8
+ ldr sl, .L5544+16
+ cmp r0, r3
+ ldrh r1, [sl, #0]
+ bls .L5497
+ ldr r5, [sp, #12]
+ ldr lr, [sp, #8]
+ mov r2, r3, lsr #3
+ add r6, r5, r2, asl lr
+ ldr r2, [sp, #16]
+ and r3, r3, #7
+ cmp r4, #0
+ add fp, r2, r3, asl #3
+ beq .L5497
+ mov r5, ip, asr #8
+ cmp r0, r5
+ movhi r8, #0
+ bhi .L5536
+ mov r3, r1, asl #16
+ mov r3, r3, lsr #16
+ mov r8, #0
+.L5504:
+ add r8, r8, #1
+ add ip, ip, r9
+ cmp r4, r8
+ mov r2, ip, asr #8
+ strh r3, [r7], #2 @ movhi
+ beq .L5496
+ cmp r0, r2
+ bls .L5504
+ mov r5, r2
+ b .L5536
+.L5490:
+ ldr r5, .L5544+16
+ cmp r4, #0
+ ldrh r3, [r5, #0]
+ beq .L5531
+ mov r1, r8, asr #8
+ mov r5, ip, asr #8
+ cmp r0, r5
+ cmphi r0, r1
+ movls r2, #0
+ movhi r2, #1
+ movls r3, r3, asl #16
+ movls r1, r3, lsr #16
+ movls sl, r2
+ bls .L5512
+ b .L5543
+.L5513:
+ cmp r0, r2
+ cmphi r0, r3
+ bhi .L5514
+.L5512:
+ add sl, sl, #1
+ add ip, ip, r9
+ add r8, r8, fp
+ cmp r4, sl
+ strh r1, [r7, #0] @ movhi
+ mov r2, ip, asr #8
+ mov r3, r8, asr #8
+ add r7, r7, #2
+ bne .L5513
+ b .L5531
+.L5492:
+ cmp r4, #0
+ sub lr, r0, #1
+ beq .L5531
+ mvn r6, #0
+ mov r0, #0
+.L5527:
+ and r3, lr, r8, asr #8
+ ldr r5, [sp, #8]
+ mov r2, r3, lsr #3
+ mov r2, r2, asl r5
+ and r1, lr, ip, asr #8
+ and sl, r3, #7
+ add r3, r2, r1, lsr #3
+ cmp r3, r6
+ and r5, r1, #7
+ ldrne r1, [sp, #12]
+ mov r6, r3
+ ldrne r2, [sp, #16]
+ ldrneb r3, [r1, r3] @ zero_extendqisi2
+ add r0, r0, #1
+ addne r3, r2, r3, asl #6
+ strne r3, [sp, #4]
+ ldr r3, [sp, #4]
+ cmp r4, r0
+ add r2, r3, sl, asl #3
+ ldrb r3, [r2, r5] @ zero_extendqisi2
+ ldr r5, .L5544+16
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r5]
+ add ip, ip, r9
+ strh r3, [r7, #0] @ movhi
+ add r8, r8, fp
+ add r7, r7, #2
+ bne .L5527
+ b .L5531
+.L5541:
+ ldr r0, [sp, #12]
+ ldr r1, [sp, #8]
+ mov r2, r3, lsr #3
+ add r6, r0, r2, asl r1
+ ldr r2, [sp, #16]
+ and r3, r3, #7
+ cmp r4, #0
+ add r5, r2, r3, asl #3
+ beq .L5531
+ ldr lr, .L5544+16
+ mov r0, #0
+.L5525:
+ and r3, sl, ip, asr #8
+ ldrb r1, [r6, r3, lsr #3] @ zero_extendqisi2
+ and r3, r3, #7
+ add r3, r3, r1, asl #6
+ ldrb r2, [r3, r5] @ zero_extendqisi2
+ add r0, r0, #1
+ mov r2, r2, asl #1
+ ldrh r2, [r2, lr]
+ cmp r4, r0
+ strh r2, [r7], #2 @ movhi
+ add ip, ip, r9
+ bne .L5525
+ b .L5531
+.L5497:
+ mov r8, #0
+.L5496:
+ cmp r8, r4
+ ldrh r3, [sl, #0]
+ bcs .L5531
+ mov r3, r3, asl #16
+ rsb r2, r8, r4
+ mov r3, r3, lsr #16
+ mov r1, #0
+.L5508:
+ add r1, r1, #1
+ cmp r2, r1
+ strh r3, [r7], #2 @ movhi
+ bne .L5508
+ b .L5531
+.L5506:
+ cmp r0, r5
+ bls .L5496
+.L5536:
+ ldrb r3, [r6, r5, lsr #3] @ zero_extendqisi2
+ and r2, r5, #7
+ add r2, r2, r3, asl #6
+ ldrb r1, [r2, fp] @ zero_extendqisi2
+ add r8, r8, #1
+ mov r1, r1, asl #1
+ ldrh r1, [r1, sl]
+ add ip, ip, r9
+ cmp r4, r8
+ mov r5, ip, asr #8
+ strh r1, [r7], #2 @ movhi
+ bhi .L5506
+ b .L5496
+.L5514:
+ mov r5, r2
+ mov r1, r3
+.L5515:
+ cmp r0, r1
+ cmphi r0, r5
+ mvnhi r6, #0
+ bhi .L5519
+ b .L5516
+.L5518:
+ cmp r0, r1
+ cmphi r0, r5
+ bls .L5516
+.L5519:
+ ldr r2, [sp, #8]
+ mov r3, r1, lsr #3
+ mov r3, r3, asl r2
+ add r3, r3, r5, lsr #3
+ cmp r3, r6
+ ldrne r2, [sp, #12]
+ and r1, r1, #7
+ str r1, [sp, #0]
+ mov r6, r3
+ ldrneb r3, [r2, r3] @ zero_extendqisi2
+ ldrne r2, [sp, #16]
+ and lr, r5, #7
+ addne r3, r2, r3, asl #6
+ strne r3, [sp, #20]
+ ldr r2, [sp, #0]
+ ldr r3, [sp, #20]
+ add sl, sl, #1
+ add r3, r3, r2, asl #3
+ str r3, [sp, #0]
+ ldrb r3, [r3, lr] @ zero_extendqisi2
+ ldr lr, .L5544+16
+ mov r3, r3, asl #1
+ ldrh r3, [r3, lr]
+ add ip, ip, r9
+ add r8, r8, fp
+ cmp r4, sl
+ strh r3, [r7, #0] @ movhi
+ mov r1, r8, asr #8
+ mov r5, ip, asr #8
+ add r7, r7, #2
+ bhi .L5518
+ b .L5531
+.L5516:
+ ldr lr, .L5544+16
+ ldrh r3, [lr, #0]
+.L5520:
+ add sl, sl, #1
+ cmp r4, sl
+ strh r3, [r7], #2 @ movhi
+ bhi .L5520
+ b .L5531
+.L5543:
+ mov sl, #0
+ b .L5515
+.L5545:
+ .align 2
+.L5544:
+ .word io_registers
+ .word affine_reference_y
+ .word affine_reference_x
+ .word vram
+ .word palette_ram_converted
+ .size render_scanline_affine_base_normal, .-render_scanline_affine_base_normal
+ .align 2
+ .global render_scanline_affine_transparent_normal
+ .type render_scanline_affine_transparent_normal, %function
+render_scanline_affine_transparent_normal:
+ @ args = 0, pretend = 0, frame = 28
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r5, .L5602
+ mov lr, r0, asl #4
+ add ip, r5, r0, asl #1
+ ldrh r4, [ip, #8]
+ ldr ip, .L5602+4
+ sub r0, r0, #2
+ sub lr, lr, #32
+ add lr, lr, r5
+ ldr sl, [ip, r0, asl #2]
+ ldr ip, .L5602+8
+ ldrsh fp, [lr, #36]
+ mov r6, r4, lsr #14
+ ldr r7, .L5602+12
+ mov r5, r4, lsr #12
+ ldrsh r9, [lr, #32]
+ mov lr, r4, asl #3
+ mov r4, r4, asl #12
+ ldr r8, [ip, r0, asl #2]
+ and r5, r5, #2
+ and lr, lr, #63488
+ and r4, r4, #49152
+ sub sp, sp, #28
+ add ip, r6, #7
+ add r4, r4, r7
+ add lr, lr, r7
+ mov r0, #1
+ add r6, r6, #4
+ cmp fp, #0
+ orrne r5, r5, #1
+ mov r0, r0, asl ip
+ str r4, [sp, #16]
+ str lr, [sp, #12]
+ rsb r4, r1, r2
+ str r6, [sp, #8]
+ add lr, r3, r1, asl #1
+ mla ip, r9, r1, r8
+ mla r7, fp, r1, sl
+ cmp r5, #3
+ ldrls pc, [pc, r5, asl #2]
+ b .L5594
+ .p2align 2
+.L5552:
+ .word .L5548
+ .word .L5549
+ .word .L5550
+ .word .L5551
+.L5548:
+ mov r3, r7, asr #8
+ cmp r0, r3
+ bhi .L5597
+.L5594:
+ add sp, sp, #28
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L5549:
+ cmp r4, #0
+ beq .L5594
+ mov r5, ip, asr #8
+ mov r1, r7, asr #8
+ cmp r0, r5
+ cmphi r0, r1
+ movls r3, #0
+ movhi r3, #1
+ movls r8, r3
+ bls .L5556
+ b .L5600
+.L5570:
+ cmp r0, r2
+ cmphi r0, r3
+ bhi .L5571
+.L5556:
+ add r8, r8, #1
+ add ip, ip, r9
+ add r7, r7, fp
+ cmp r4, r8
+ mov r2, ip, asr #8
+ mov r3, r7, asr #8
+ add lr, lr, #2
+ bne .L5570
+ b .L5594
+.L5550:
+ sub r8, r0, #1
+ and r3, r8, r7, asr #8
+ cmp r0, r3
+ bls .L5594
+ ldr r0, [sp, #12]
+ ldr r1, [sp, #8]
+ mov r2, r3, lsr #3
+ add r6, r0, r2, asl r1
+ ldr r2, [sp, #16]
+ and r3, r3, #7
+ cmp r4, #0
+ add r5, r2, r3, asl #3
+ beq .L5594
+ ldr r7, .L5602+16
+ mov r0, #0
+.L5583:
+ and r3, r8, ip, asr #8
+ ldrb r2, [r6, r3, lsr #3] @ zero_extendqisi2
+ and r3, r3, #7
+ add r3, r3, r2, asl #6
+ ldrb r1, [r3, r5] @ zero_extendqisi2
+ mov r3, r0, asl #1
+ cmp r1, #0
+ mov r1, r1, asl #1
+ ldrneh r1, [r1, r7]
+ add r0, r0, #1
+ strneh r1, [r3, lr] @ movhi
+ cmp r4, r0
+ add ip, ip, r9
+ bne .L5583
+ b .L5594
+.L5551:
+ cmp r4, #0
+ sub r6, r0, #1
+ beq .L5594
+ mvn r3, #0
+ str r3, [sp, #24]
+ mov r5, #0
+.L5588:
+ and r3, r6, r7, asr #8
+ ldr sl, [sp, #8]
+ mov r2, r3, lsr #3
+ mov r2, r2, asl sl
+ and r1, r6, ip, asr #8
+ and r0, r3, #7
+ and r8, r1, #7
+ add r3, r2, r1, lsr #3
+ ldr r1, [sp, #24]
+ str r3, [sp, #24]
+ cmp r3, r1
+ ldrne r2, [sp, #12]
+ ldrne r1, [sp, #16]
+ ldrneb r3, [r2, r3] @ zero_extendqisi2
+ mov sl, r5, asl #1
+ addne r3, r1, r3, asl #6
+ strne r3, [sp, #4]
+ ldr r2, [sp, #4]
+ add r5, r5, #1
+ add r3, r2, r0, asl #3
+ ldrb r2, [r3, r8] @ zero_extendqisi2
+ add ip, ip, r9
+ cmp r2, #0
+ ldrne r3, .L5602+16
+ mov r1, r2, asl #1
+ ldrneh r1, [r1, r3]
+ add r7, r7, fp
+ strneh r1, [sl, lr] @ movhi
+ cmp r4, r5
+ bne .L5588
+ b .L5594
+.L5597:
+ ldr r1, [sp, #12]
+ ldr r5, [sp, #8]
+ ldr sl, [sp, #16]
+ mov r2, r3, lsr #3
+ cmp r4, #0
+ and r3, r3, #7
+ add r6, r1, r2, asl r5
+ add r8, sl, r3, asl #3
+ beq .L5594
+ mov r5, ip, asr #8
+ cmp r0, r5
+ movls r7, #0
+ bls .L5563
+ b .L5601
+.L5561:
+ cmp r0, r2
+ add lr, lr, #2
+ bhi .L5562
+.L5563:
+ add r7, r7, #1
+ add ip, ip, r9
+ cmp r4, r7
+ mov r2, ip, asr #8
+ bne .L5561
+ b .L5594
+.L5571:
+ mov r5, r2
+ mov r1, r3
+.L5572:
+ cmp r1, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp r0, r5
+ orrls r3, r3, #1
+ cmp r3, #0
+ mvneq r6, #0
+ beq .L5574
+ b .L5594
+.L5575:
+ cmp r0, r1
+ cmphi r0, r5
+ bls .L5594
+.L5574:
+ ldr r2, [sp, #8]
+ mov r3, r1, lsr #3
+ mov r3, r3, asl r2
+ add r3, r3, r5, lsr #3
+ cmp r3, r6
+ and r2, r5, #7
+ str r2, [sp, #0]
+ ldrne r2, [sp, #12]
+ mov r6, r3
+ ldrneb r3, [r2, r3] @ zero_extendqisi2
+ ldrne r2, [sp, #16]
+ and sl, r1, #7
+ addne r3, r2, r3, asl #6
+ strne r3, [sp, #20]
+ ldr r2, [sp, #20]
+ add r8, r8, #1
+ add r3, r2, sl, asl #3
+ ldr sl, [sp, #0]
+ add ip, ip, r9
+ ldrb r2, [r3, sl] @ zero_extendqisi2
+ add r7, r7, fp
+ cmp r2, #0
+ ldrne r3, .L5602+16
+ mov r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov r1, r7, asr #8
+ strneh r2, [lr, #0] @ movhi
+ cmp r4, r8
+ mov r5, ip, asr #8
+ add lr, lr, #2
+ bhi .L5575
+ b .L5594
+.L5562:
+ mov r5, r2
+.L5564:
+ cmp r5, r0
+ bcc .L5596
+ b .L5594
+.L5566:
+ cmp r0, r5
+ bls .L5594
+.L5596:
+ ldrb r3, [r6, r5, lsr #3] @ zero_extendqisi2
+ and r2, r5, #7
+ add r2, r2, r3, asl #6
+ ldrb r1, [r2, r8] @ zero_extendqisi2
+ add r7, r7, #1
+ cmp r1, #0
+ ldrne r3, .L5602+16
+ mov r1, r1, asl #1
+ ldrneh r1, [r1, r3]
+ add ip, ip, r9
+ strneh r1, [lr, #0] @ movhi
+ cmp r4, r7
+ mov r5, ip, asr #8
+ add lr, lr, #2
+ bhi .L5566
+ b .L5594
+.L5600:
+ mov r8, #0
+ b .L5572
+.L5601:
+ mov r7, #0
+ b .L5564
+.L5603:
+ .align 2
+.L5602:
+ .word io_registers
+ .word affine_reference_y
+ .word affine_reference_x
+ .word vram
+ .word palette_ram_converted
+ .size render_scanline_affine_transparent_normal, .-render_scanline_affine_transparent_normal
+ .align 2
+ .global render_scanline_affine_base_color16
+ .type render_scanline_affine_base_color16, %function
+render_scanline_affine_base_color16:
+ @ args = 0, pretend = 0, frame = 36
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r5, .L5672
+ add r7, r0, #7
+ ldrh r6, [r5, #80]
+ mov lr, r0, asl #4
+ mov sl, r6, asr r0
+ mov r7, r6, asr r7
+ sub lr, lr, #32
+ add ip, r5, r0, asl #1
+ add lr, lr, r5
+ ldrh r4, [ip, #8]
+ ldrsh ip, [lr, #36]
+ sub sp, sp, #36
+ str ip, [sp, #24]
+ ldr ip, .L5672+4
+ sub r0, r0, #2
+ ldr ip, [ip, r0, asl #2]
+ mov r8, r4, lsr #12
+ str ip, [sp, #4]
+ ldr ip, .L5672+8
+ mov r9, r4, lsr #14
+ ldr r0, [ip, r0, asl #2]
+ ldrsh lr, [lr, #32]
+ str r0, [sp, #8]
+ ldr r0, [sp, #24]
+ and r8, r8, #2
+ add ip, r9, #7
+ cmp r0, #0
+ orrne r8, r8, #1
+ mov r0, #1
+ mov r5, r6, lsr #12
+ str lr, [sp, #12]
+ mov ip, r0, asl ip
+ mov lr, r4, asl #3
+ ldr r0, .L5672+12
+ mov r4, r4, asl #12
+ and r7, r7, #2
+ mov r6, r6, asl #26
+ and r5, r5, #2
+ and sl, sl, #1
+ and lr, lr, #63488
+ and r4, r4, #49152
+ orr r5, r5, r6, lsr #31
+ orr sl, sl, r7
+ add r4, r4, r0
+ add lr, lr, r0
+ rsb fp, r1, r2
+ add r7, r3, r1, asl #1
+ ldr r6, [sp, #8]
+ ldr r2, [sp, #12]
+ ldr r0, [sp, #4]
+ ldr r3, [sp, #24]
+ mov r5, r5, asl #9
+ mov sl, sl, asl #9
+ str r4, [sp, #32]
+ str r5, [sp, #16]
+ str sl, [sp, #20]
+ add r9, r9, #4
+ str lr, [sp, #28]
+ mla r6, r2, r1, r6
+ mla r0, r3, r1, r0
+ cmp r8, #3
+ ldrls pc, [pc, r8, asl #2]
+ b .L5661
+ .p2align 2
+.L5610:
+ .word .L5606
+ .word .L5607
+ .word .L5608
+ .word .L5609
+.L5608:
+ sub lr, ip, #1
+ and r3, lr, r0, asr #8
+ cmp ip, r3
+ bhi .L5669
+.L5661:
+ add sp, sp, #36
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L5606:
+ mov r3, r0, asr #8
+ cmp ip, r3
+ movls r0, #0
+ bls .L5617
+ ldr r0, [sp, #28]
+ ldr r1, [sp, #32]
+ mov r2, r3, lsr #3
+ cmp fp, #0
+ and r3, r3, #7
+ add r9, r0, r2, asl r9
+ add r4, r1, r3, asl #3
+ beq .L5661
+ mov r2, r6, asr #8
+ cmp ip, r2
+ movhi r0, #0
+ bhi .L5664
+ ldr r2, [sp, #16]
+ mov r0, #0
+ mov r3, r2, asl #16
+ mov r3, r3, lsr #16
+ b .L5625
+.L5623:
+ cmp ip, r2
+ bhi .L5664
+.L5625:
+ ldr r1, [sp, #12]
+ add r0, r0, #1
+ add r6, r6, r1
+ cmp fp, r0
+ mov r2, r6, asr #8
+ strh r3, [r7], #2 @ movhi
+ bne .L5623
+.L5617:
+ cmp r0, fp
+ bcs .L5661
+ ldr r2, [sp, #16]
+ mov r1, #0
+ mov r3, r2, asl #16
+ mov r3, r3, lsr #16
+ rsb r2, r0, fp
+.L5632:
+ add r1, r1, #1
+ cmp r1, r2
+ strh r3, [r7], #2 @ movhi
+ bne .L5632
+ b .L5661
+.L5607:
+ cmp fp, #0
+ beq .L5661
+ mov r1, r6, asr #8
+ mov r2, r0, asr #8
+ cmp ip, r1
+ cmphi ip, r2
+ ldrls r4, [sp, #16]
+ movls r8, #0
+ movhi r8, #1
+ movls r3, r4, asl #16
+ movls r1, r3, lsr #16
+ bls .L5614
+ b .L5671
+.L5633:
+ cmp ip, r2
+ cmphi ip, r3
+ bhi .L5634
+.L5614:
+ ldr r3, [sp, #12]
+ ldr r4, [sp, #24]
+ add r8, r8, #1
+ add r6, r6, r3
+ add r0, r0, r4
+ cmp fp, r8
+ strh r1, [r7, #0] @ movhi
+ mov r2, r6, asr #8
+ mov r3, r0, asr #8
+ add r7, r7, #2
+ bne .L5633
+ b .L5661
+.L5609:
+ cmp fp, #0
+ sub sl, ip, #1
+ beq .L5661
+ mvn r5, #0
+ mov r4, #0
+.L5654:
+ and r3, sl, r0, asr #8
+ mov r2, r3, lsr #3
+ mov r2, r2, asl r9
+ and r1, sl, r6, asr #8
+ add ip, r2, r1, lsr #3
+ cmp ip, r5
+ and r8, r1, #7
+ ldrne r1, [sp, #28]
+ and lr, r3, #7
+ ldrne r2, [sp, #32]
+ ldrneb r3, [r1, ip] @ zero_extendqisi2
+ add r4, r4, #1
+ addne r3, r2, r3, asl #6
+ strne r3, [sp, #0]
+ ldr r1, [sp, #0]
+ mov r5, ip
+ add r3, r1, lr, asl #3
+ ldrb r2, [r3, r8] @ zero_extendqisi2
+ ldr r3, [sp, #20]
+ cmp r2, #0
+ orr r1, r2, r3
+ ldreq r1, [sp, #16]
+ ldr r2, [sp, #12]
+ ldr r3, [sp, #24]
+ cmp fp, r4
+ strh r1, [r7, #0] @ movhi
+ add r6, r6, r2
+ add r0, r0, r3
+ add r7, r7, #2
+ bne .L5654
+ b .L5661
+.L5669:
+ ldr r4, [sp, #28]
+ ldr ip, [sp, #32]
+ mov r2, r3, lsr #3
+ cmp fp, #0
+ and r3, r3, #7
+ add r9, r4, r2, asl r9
+ add r4, ip, r3, asl #3
+ beq .L5661
+ mov r0, #0
+.L5648:
+ and r3, lr, r6, asr #8
+ ldrb r1, [r9, r3, lsr #3] @ zero_extendqisi2
+ and r3, r3, #7
+ add r3, r3, r1, asl #6
+ ldrb r2, [r3, r4] @ zero_extendqisi2
+ ldr r1, [sp, #20]
+ cmp r2, #0
+ add r0, r0, #1
+ orr r2, r2, r1
+ ldr r3, [sp, #12]
+ ldreq r2, [sp, #16]
+ cmp fp, r0
+ strh r2, [r7, #0] @ movhi
+ add r6, r6, r3
+ add r7, r7, #2
+ bne .L5648
+ b .L5661
+.L5627:
+ cmp ip, r2
+ bls .L5617
+.L5664:
+ ldrb r3, [r9, r2, lsr #3] @ zero_extendqisi2
+ and r2, r2, #7
+ add r2, r2, r3, asl #6
+ ldrb r1, [r2, r4] @ zero_extendqisi2
+ ldr r2, [sp, #20]
+ cmp r1, #0
+ orr r1, r1, r2
+ strneh r1, [r7, #0] @ movhi
+ ldreq r3, [sp, #16]
+ ldr r1, [sp, #12]
+ add r0, r0, #1
+ streqh r3, [r7, #0] @ movhi
+ add r6, r6, r1
+ cmp fp, r0
+ add r7, r7, #2
+ mov r2, r6, asr #8
+ bhi .L5627
+ b .L5617
+.L5634:
+ mov r1, r2
+ mov r2, r3
+.L5635:
+ cmp r2, ip
+ cmpcc r1, ip
+ mvncc r4, #0
+ bcc .L5639
+ b .L5636
+.L5638:
+ cmp ip, r2
+ cmphi ip, r1
+ bls .L5636
+.L5639:
+ mov r3, r2, lsr #3
+ mov r3, r3, asl r9
+ and lr, r2, #7
+ and r2, r1, #7
+ add r1, r3, r1, lsr #3
+ cmp r1, r4
+ ldrne r4, [sp, #28]
+ add r8, r8, #1
+ ldrneb r3, [r4, r1] @ zero_extendqisi2
+ ldrne r4, [sp, #32]
+ addne r5, r4, r3, asl #6
+ add r3, r5, lr, asl #3
+ ldrb r2, [r3, r2] @ zero_extendqisi2
+ ldr r3, [sp, #20]
+ cmp r2, #0
+ orr r2, r2, r3
+ strneh r2, [r7, #0] @ movhi
+ ldreq r4, [sp, #16]
+ ldr r2, [sp, #12]
+ ldr r3, [sp, #24]
+ streqh r4, [r7, #0] @ movhi
+ add r6, r6, r2
+ add r0, r0, r3
+ cmp fp, r8
+ mov r4, r1
+ add r7, r7, #2
+ mov r1, r6, asr #8
+ mov r2, r0, asr #8
+ bhi .L5638
+ b .L5661
+.L5636:
+ ldr r4, [sp, #16]
+ mov r3, r4, asl #16
+ mov r3, r3, lsr #16
+.L5640:
+ add r8, r8, #1
+ cmp fp, r8
+ strh r3, [r7], #2 @ movhi
+ bhi .L5640
+ b .L5661
+.L5671:
+ mov r8, #0
+ b .L5635
+.L5673:
+ .align 2
+.L5672:
+ .word io_registers
+ .word affine_reference_y
+ .word affine_reference_x
+ .word vram
+ .size render_scanline_affine_base_color16, .-render_scanline_affine_base_color16
+ .align 2
+ .global render_scanline_affine_transparent_color16
+ .type render_scanline_affine_transparent_color16, %function
+render_scanline_affine_transparent_color16:
+ @ args = 0, pretend = 0, frame = 36
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r5, .L5730
+ add r7, r0, #7
+ ldrh r6, [r5, #80]
+ add ip, r5, r0, asl #1
+ mov r7, r6, asr r7
+ mov r6, r6, asr r0
+ ldrh r4, [ip, #8]
+ mov lr, r0, asl #4
+ ldr ip, .L5730+4
+ sub r0, r0, #2
+ sub lr, lr, #32
+ add lr, lr, r5
+ ldr ip, [ip, r0, asl #2]
+ sub sp, sp, #36
+ ldrsh r9, [lr, #36]
+ mov r8, r4, lsr #14
+ mov r5, r4, lsr #12
+ str ip, [sp, #8]
+ ldrsh fp, [lr, #32]
+ ldr ip, .L5730+8
+ ldr sl, .L5730+12
+ mov lr, r4, asl #3
+ mov r4, r4, asl #12
+ str r9, [sp, #16]
+ and r4, r4, #49152
+ ldr r9, [ip, r0, asl #2]
+ and r7, r7, #2
+ ldr ip, [sp, #16]
+ add r4, r4, sl
+ and r6, r6, #1
+ orr r6, r6, r7
+ and r5, r5, #2
+ and lr, lr, #63488
+ str r4, [sp, #24]
+ ldr r7, [sp, #8]
+ rsb r4, r1, r2
+ ldr r2, [sp, #16]
+ add lr, lr, sl
+ cmp ip, #0
+ orrne r5, r5, #1
+ mov r0, #1
+ add ip, r8, #7
+ mov r6, r6, asl #9
+ mov r0, r0, asl ip
+ str lr, [sp, #20]
+ str r6, [sp, #12]
+ add r8, r8, #4
+ add lr, r3, r1, asl #1
+ mla ip, fp, r1, r9
+ mla r7, r2, r1, r7
+ cmp r5, #3
+ ldrls pc, [pc, r5, asl #2]
+ b .L5722
+ .p2align 2
+.L5680:
+ .word .L5676
+ .word .L5677
+ .word .L5678
+ .word .L5679
+.L5676:
+ mov r3, r7, asr #8
+ cmp r0, r3
+ bhi .L5725
+.L5722:
+ add sp, sp, #36
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L5677:
+ cmp r4, #0
+ beq .L5722
+ mov r5, ip, asr #8
+ mov r1, r7, asr #8
+ cmp r0, r5
+ cmphi r0, r1
+ movls r3, #0
+ movhi r3, #1
+ movls sl, r3
+ bls .L5684
+ b .L5728
+.L5698:
+ cmp r0, r2
+ cmphi r0, r3
+ bhi .L5699
+.L5684:
+ ldr r3, [sp, #16]
+ add sl, sl, #1
+ add ip, ip, fp
+ add r7, r7, r3
+ cmp r4, sl
+ mov r2, ip, asr #8
+ mov r3, r7, asr #8
+ add lr, lr, #2
+ bne .L5698
+ b .L5722
+.L5678:
+ sub r6, r0, #1
+ and r3, r6, r7, asr #8
+ cmp r0, r3
+ bls .L5722
+ ldr r9, [sp, #20]
+ ldr r0, [sp, #24]
+ mov r2, r3, lsr #3
+ cmp r4, #0
+ and r3, r3, #7
+ add r8, r9, r2, asl r8
+ add r5, r0, r3, asl #3
+ beq .L5722
+ mov r0, #0
+.L5711:
+ and r3, r6, ip, asr #8
+ ldrb r2, [r8, r3, lsr #3] @ zero_extendqisi2
+ and r3, r3, #7
+ add r3, r3, r2, asl #6
+ ldrb r1, [r3, r5] @ zero_extendqisi2
+ ldr r2, [sp, #12]
+ cmp r1, #0
+ mov r3, r0, asl #1
+ orr r1, r1, r2
+ add r0, r0, #1
+ strneh r1, [r3, lr] @ movhi
+ cmp r4, r0
+ add ip, ip, fp
+ bne .L5711
+ b .L5722
+.L5679:
+ cmp r4, #0
+ sub r6, r0, #1
+ beq .L5722
+ mvn r3, #0
+ str r3, [sp, #32]
+ mov sl, #0
+.L5716:
+ and r3, r6, r7, asr #8
+ mov r2, r3, lsr #3
+ mov r2, r2, asl r8
+ and r1, r6, ip, asr #8
+ and r9, r3, #7
+ and r5, r1, #7
+ add r3, r2, r1, lsr #3
+ ldr r1, [sp, #32]
+ str r3, [sp, #32]
+ cmp r3, r1
+ ldrne r2, [sp, #20]
+ ldrne r1, [sp, #24]
+ ldrneb r3, [r2, r3] @ zero_extendqisi2
+ ldr r0, [sp, #16]
+ addne r3, r1, r3, asl #6
+ strne r3, [sp, #4]
+ ldr r2, [sp, #4]
+ add r7, r7, r0
+ add r3, r2, r9, asl #3
+ ldrb r2, [r3, r5] @ zero_extendqisi2
+ ldr r3, [sp, #12]
+ mov r0, sl, asl #1
+ cmp r2, #0
+ add sl, sl, #1
+ orr r1, r2, r3
+ strneh r1, [r0, lr] @ movhi
+ cmp r4, sl
+ add ip, ip, fp
+ bne .L5716
+ b .L5722
+.L5725:
+ ldr r9, [sp, #20]
+ ldr r1, [sp, #24]
+ mov r2, r3, lsr #3
+ cmp r4, #0
+ and r3, r3, #7
+ add r8, r9, r2, asl r8
+ add r6, r1, r3, asl #3
+ beq .L5722
+ mov r5, ip, asr #8
+ cmp r0, r5
+ movls r7, #0
+ bls .L5691
+ b .L5729
+.L5689:
+ cmp r0, r2
+ add lr, lr, #2
+ bhi .L5690
+.L5691:
+ add r7, r7, #1
+ add ip, ip, fp
+ cmp r4, r7
+ mov r2, ip, asr #8
+ bne .L5689
+ b .L5722
+.L5699:
+ mov r5, r2
+ mov r1, r3
+.L5700:
+ cmp r1, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp r0, r5
+ orrls r3, r3, #1
+ cmp r3, #0
+ mvneq r6, #0
+ beq .L5702
+ b .L5722
+.L5703:
+ cmp r0, r1
+ cmphi r0, r5
+ bls .L5722
+.L5702:
+ mov r3, r1, lsr #3
+ mov r3, r3, asl r8
+ add r3, r3, r5, lsr #3
+ cmp r3, r6
+ and r2, r5, #7
+ str r2, [sp, #0]
+ ldrne r2, [sp, #20]
+ mov r6, r3
+ ldrneb r3, [r2, r3] @ zero_extendqisi2
+ ldrne r2, [sp, #24]
+ ldr r9, [sp, #16]
+ addne r3, r2, r3, asl #6
+ strne r3, [sp, #28]
+ ldr r2, [sp, #28]
+ add r7, r7, r9
+ and r9, r1, #7
+ add r3, r2, r9, asl #3
+ ldr r9, [sp, #0]
+ add sl, sl, #1
+ ldrb r2, [r3, r9] @ zero_extendqisi2
+ ldr r3, [sp, #12]
+ cmp r2, #0
+ orr r2, r2, r3
+ strneh r2, [lr, #0] @ movhi
+ add ip, ip, fp
+ cmp r4, sl
+ mov r1, r7, asr #8
+ mov r5, ip, asr #8
+ add lr, lr, #2
+ bhi .L5703
+ b .L5722
+.L5690:
+ mov r5, r2
+.L5692:
+ cmp r5, r0
+ bcc .L5724
+ b .L5722
+.L5694:
+ cmp r0, r5
+ bls .L5722
+.L5724:
+ ldrb r3, [r8, r5, lsr #3] @ zero_extendqisi2
+ and r2, r5, #7
+ add r2, r2, r3, asl #6
+ ldrb r1, [r2, r6] @ zero_extendqisi2
+ ldr r2, [sp, #12]
+ cmp r1, #0
+ add r7, r7, #1
+ orr r1, r1, r2
+ strneh r1, [lr, #0] @ movhi
+ add ip, ip, fp
+ cmp r4, r7
+ mov r5, ip, asr #8
+ add lr, lr, #2
+ bhi .L5694
+ b .L5722
+.L5728:
+ mov sl, #0
+ b .L5700
+.L5729:
+ mov r7, #0
+ b .L5692
+.L5731:
+ .align 2
+.L5730:
+ .word io_registers
+ .word affine_reference_y
+ .word affine_reference_x
+ .word vram
+ .size render_scanline_affine_transparent_color16, .-render_scanline_affine_transparent_color16
+ .align 2
+ .global render_scanline_affine_base_color32
+ .type render_scanline_affine_base_color32, %function
+render_scanline_affine_base_color32:
+ @ args = 0, pretend = 0, frame = 36
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r5, .L5799
+ add r7, r0, #7
+ ldrh r6, [r5, #80]
+ add ip, r5, r0, asl #1
+ mov sl, r6, asr r0
+ mov r7, r6, asr r7
+ ldrh r4, [ip, #8]
+ mov lr, r0, asl #4
+ ldr ip, .L5799+4
+ sub r0, r0, #2
+ sub lr, lr, #32
+ ldr ip, [ip, r0, asl #2]
+ add lr, lr, r5
+ sub sp, sp, #36
+ ldrsh r5, [lr, #36]
+ str ip, [sp, #4]
+ ldr ip, .L5799+8
+ str r5, [sp, #24]
+ ldr r0, [ip, r0, asl #2]
+ mov r8, r4, lsr #12
+ ldr ip, [sp, #24]
+ mov r9, r4, lsr #14
+ ldrsh lr, [lr, #32]
+ and r8, r8, #2
+ str r0, [sp, #8]
+ cmp ip, #0
+ orrne r8, r8, #1
+ mov r0, #1
+ add ip, r9, #7
+ mov r5, r6, lsr #12
+ str lr, [sp, #12]
+ mov ip, r0, asl ip
+ mov lr, r4, asl #3
+ ldr r0, .L5799+12
+ mov r4, r4, asl #12
+ and r7, r7, #2
+ mov r6, r6, asl #26
+ and r5, r5, #2
+ and sl, sl, #1
+ and lr, lr, #63488
+ and r4, r4, #49152
+ orr r5, r5, r6, lsr #31
+ orr sl, sl, r7
+ add r4, r4, r0
+ add lr, lr, r0
+ rsb fp, r1, r2
+ add r6, r3, r1, asl #2
+ ldr r7, [sp, #8]
+ ldr r2, [sp, #12]
+ ldr r0, [sp, #4]
+ ldr r3, [sp, #24]
+ mov r5, r5, asl #9
+ mov sl, sl, asl #9
+ str r4, [sp, #32]
+ str r5, [sp, #16]
+ str sl, [sp, #20]
+ add r9, r9, #4
+ str lr, [sp, #28]
+ mla r7, r2, r1, r7
+ mla r0, r3, r1, r0
+ cmp r8, #3
+ ldrls pc, [pc, r8, asl #2]
+ b .L5788
+ .p2align 2
+.L5738:
+ .word .L5734
+ .word .L5735
+ .word .L5736
+ .word .L5737
+.L5736:
+ sub lr, ip, #1
+ and r3, lr, r0, asr #8
+ cmp ip, r3
+ bhi .L5796
+.L5788:
+ add sp, sp, #36
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L5734:
+ mov r3, r0, asr #8
+ cmp ip, r3
+ movls r0, #0
+ bls .L5745
+ ldr r4, [sp, #28]
+ ldr r5, [sp, #32]
+ mov r2, r3, lsr #3
+ cmp fp, #0
+ and r3, r3, #7
+ add r9, r4, r2, asl r9
+ add r4, r5, r3, asl #3
+ beq .L5788
+ mov r2, r7, asr #8
+ cmp ip, r2
+ movhi r0, #0
+ movls r0, #0
+ bls .L5751
+ b .L5793
+.L5752:
+ cmp ip, r2
+ bhi .L5793
+.L5751:
+ ldr lr, [sp, #12]
+ add r0, r0, #1
+ ldr r1, [sp, #16]
+ add r7, r7, lr
+ cmp fp, r0
+ mov r2, r7, asr #8
+ str r1, [r6], #4
+ bne .L5752
+.L5745:
+ cmp r0, fp
+ bcs .L5788
+ rsb r2, r0, fp
+ ldr r0, [sp, #16]
+ mov r3, #0
+.L5760:
+ add r3, r3, #1
+ cmp r2, r3
+ str r0, [r6], #4
+ bne .L5760
+ b .L5788
+.L5735:
+ cmp fp, #0
+ beq .L5788
+ mov r1, r7, asr #8
+ mov r2, r0, asr #8
+ cmp ip, r1
+ cmphi ip, r2
+ movls r3, #0
+ movhi r3, #1
+ movls r8, r3
+ bls .L5742
+ b .L5798
+.L5761:
+ cmp ip, r2
+ cmphi ip, r3
+ bhi .L5762
+.L5742:
+ ldr r2, [sp, #24]
+ ldr r1, [sp, #12]
+ add r8, r8, #1
+ ldr r4, [sp, #16]
+ add r0, r0, r2
+ add r7, r7, r1
+ cmp fp, r8
+ str r4, [r6, #0]
+ mov r2, r7, asr #8
+ mov r3, r0, asr #8
+ add r6, r6, #4
+ bne .L5761
+ b .L5788
+.L5737:
+ cmp fp, #0
+ sub sl, ip, #1
+ beq .L5788
+ mvn r5, #0
+ mov r4, #0
+.L5781:
+ and r3, sl, r0, asr #8
+ mov r2, r3, lsr #3
+ mov r2, r2, asl r9
+ and r1, sl, r7, asr #8
+ add ip, r2, r1, lsr #3
+ cmp ip, r5
+ ldrne r5, [sp, #28]
+ and lr, r3, #7
+ and r8, r1, #7
+ ldrneb r3, [r5, ip] @ zero_extendqisi2
+ ldrne r1, [sp, #32]
+ add r4, r4, #1
+ addne r3, r1, r3, asl #6
+ strne r3, [sp, #0]
+ ldr r2, [sp, #0]
+ add r3, r2, lr, asl #3
+ ldrb r2, [r3, r8] @ zero_extendqisi2
+ ldr r3, [sp, #20]
+ cmp r2, #0
+ ldreq r5, [sp, #16]
+ orr r1, r3, r2
+ strne r1, [r6, #0]
+ ldr lr, [sp, #12]
+ ldr r1, [sp, #24]
+ streq r5, [r6, #0]
+ cmp fp, r4
+ add r7, r7, lr
+ add r0, r0, r1
+ add r6, r6, #4
+ mov r5, ip
+ bne .L5781
+ b .L5788
+.L5796:
+ ldr ip, [sp, #28]
+ ldr r0, [sp, #32]
+ mov r2, r3, lsr #3
+ cmp fp, #0
+ and r3, r3, #7
+ add r9, ip, r2, asl r9
+ add r4, r0, r3, asl #3
+ beq .L5788
+ mov r0, #0
+.L5775:
+ and r3, lr, r7, asr #8
+ ldrb r1, [r9, r3, lsr #3] @ zero_extendqisi2
+ and r3, r3, #7
+ add r3, r3, r1, asl #6
+ ldrb r2, [r3, r4] @ zero_extendqisi2
+ ldr r1, [sp, #20]
+ cmp r2, #0
+ orr r3, r1, r2
+ ldreq r2, [sp, #16]
+ strne r3, [r6, #0]
+ add r0, r0, #1
+ ldr r3, [sp, #12]
+ streq r2, [r6, #0]
+ cmp fp, r0
+ add r7, r7, r3
+ add r6, r6, #4
+ bne .L5775
+ b .L5788
+.L5755:
+ cmp ip, r2
+ bls .L5745
+.L5793:
+ ldrb r3, [r9, r2, lsr #3] @ zero_extendqisi2
+ and r2, r2, #7
+ add r2, r2, r3, asl #6
+ ldrb r1, [r2, r4] @ zero_extendqisi2
+ ldr r3, [sp, #20]
+ cmp r1, #0
+ ldreq r5, [sp, #16]
+ ldr lr, [sp, #12]
+ orr r2, r3, r1
+ add r0, r0, #1
+ strne r2, [r6, #0]
+ streq r5, [r6, #0]
+ add r7, r7, lr
+ cmp fp, r0
+ add r6, r6, #4
+ mov r2, r7, asr #8
+ bhi .L5755
+ b .L5745
+.L5762:
+ mov r1, r2
+ mov r2, r3
+.L5763:
+ cmp r2, ip
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ mvneq r5, #0
+ beq .L5767
+ b .L5789
+.L5766:
+ cmp ip, r2
+ cmphi ip, r1
+ bls .L5789
+.L5767:
+ mov r3, r2, lsr #3
+ mov r3, r3, asl r9
+ and lr, r2, #7
+ and r2, r1, #7
+ add r1, r3, r1, lsr #3
+ cmp r1, r5
+ ldrne r4, [sp, #28]
+ ldrne r5, [sp, #32]
+ ldrneb r3, [r4, r1] @ zero_extendqisi2
+ add r8, r8, #1
+ addne r4, r5, r3, asl #6
+ add r3, r4, lr, asl #3
+ ldrb r2, [r3, r2] @ zero_extendqisi2
+ ldr lr, [sp, #20]
+ cmp r2, #0
+ orr r3, lr, r2
+ strne r3, [r6, #0]
+ ldreq r2, [sp, #16]
+ ldr r5, [sp, #24]
+ ldr r3, [sp, #12]
+ streq r2, [r6, #0]
+ add r0, r0, r5
+ add r7, r7, r3
+ cmp fp, r8
+ mov r5, r1
+ add r6, r6, #4
+ mov r1, r7, asr #8
+ mov r2, r0, asr #8
+ bhi .L5766
+ b .L5788
+.L5789:
+ add r8, r8, #1
+ ldr r5, [sp, #16]
+ cmp fp, r8
+ str r5, [r6], #4
+ bls .L5788
+ add r8, r8, #1
+ ldr r5, [sp, #16]
+ cmp fp, r8
+ str r5, [r6], #4
+ bhi .L5789
+ b .L5788
+.L5798:
+ mov r8, #0
+ b .L5763
+.L5800:
+ .align 2
+.L5799:
+ .word io_registers
+ .word affine_reference_y
+ .word affine_reference_x
+ .word vram
+ .size render_scanline_affine_base_color32, .-render_scanline_affine_base_color32
+ .align 2
+ .global render_scanline_affine_transparent_color32
+ .type render_scanline_affine_transparent_color32, %function
+render_scanline_affine_transparent_color32:
+ @ args = 0, pretend = 0, frame = 32
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r5, .L5857
+ add r7, r0, #7
+ ldrh r6, [r5, #80]
+ add ip, r5, r0, asl #1
+ mov r7, r6, asr r7
+ mov r6, r6, asr r0
+ ldrh r4, [ip, #8]
+ mov lr, r0, asl #4
+ ldr ip, .L5857+4
+ sub r0, r0, #2
+ sub lr, lr, #32
+ add lr, lr, r5
+ ldr ip, [ip, r0, asl #2]
+ sub sp, sp, #32
+ ldrsh r9, [lr, #36]
+ mov r8, r4, lsr #14
+ mov r5, r4, lsr #12
+ str ip, [sp, #8]
+ ldrsh fp, [lr, #32]
+ ldr ip, .L5857+8
+ ldr sl, .L5857+12
+ mov lr, r4, asl #3
+ mov r4, r4, asl #12
+ str r9, [sp, #16]
+ and r4, r4, #49152
+ ldr r9, [ip, r0, asl #2]
+ and r7, r7, #2
+ ldr ip, [sp, #16]
+ add r4, r4, sl
+ and r6, r6, #1
+ orr r6, r6, r7
+ and r5, r5, #2
+ and lr, lr, #63488
+ str r4, [sp, #24]
+ ldr r7, [sp, #8]
+ rsb r4, r1, r2
+ ldr r2, [sp, #16]
+ add lr, lr, sl
+ cmp ip, #0
+ orrne r5, r5, #1
+ mov r0, #1
+ add ip, r8, #7
+ mov r6, r6, asl #9
+ mov r0, r0, asl ip
+ str lr, [sp, #20]
+ str r6, [sp, #12]
+ add r8, r8, #4
+ add lr, r3, r1, asl #2
+ mla ip, fp, r1, r9
+ mla r7, r2, r1, r7
+ cmp r5, #3
+ ldrls pc, [pc, r5, asl #2]
+ b .L5849
+ .p2align 2
+.L5807:
+ .word .L5803
+ .word .L5804
+ .word .L5805
+ .word .L5806
+.L5803:
+ mov r3, r7, asr #8
+ cmp r0, r3
+ bhi .L5852
+.L5849:
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L5804:
+ cmp r4, #0
+ beq .L5849
+ mov r5, ip, asr #8
+ mov r1, r7, asr #8
+ cmp r0, r5
+ cmphi r0, r1
+ movls r3, #0
+ movhi r3, #1
+ movls sl, r3
+ bls .L5811
+ b .L5855
+.L5825:
+ cmp r0, r2
+ cmphi r0, r3
+ bhi .L5826
+.L5811:
+ ldr r3, [sp, #16]
+ add sl, sl, #1
+ add ip, ip, fp
+ add r7, r7, r3
+ cmp r4, sl
+ mov r2, ip, asr #8
+ mov r3, r7, asr #8
+ add lr, lr, #4
+ bne .L5825
+ b .L5849
+.L5805:
+ sub r6, r0, #1
+ and r3, r6, r7, asr #8
+ cmp r0, r3
+ bls .L5849
+ ldr r0, [sp, #20]
+ ldr r1, [sp, #24]
+ mov r2, r3, lsr #3
+ cmp r4, #0
+ and r3, r3, #7
+ add r8, r0, r2, asl r8
+ add r5, r1, r3, asl #3
+ beq .L5849
+ mov r0, #0
+.L5838:
+ and r3, r6, ip, asr #8
+ ldrb r2, [r8, r3, lsr #3] @ zero_extendqisi2
+ and r3, r3, #7
+ add r3, r3, r2, asl #6
+ ldrb r1, [r3, r5] @ zero_extendqisi2
+ ldr r2, [sp, #12]
+ cmp r1, #0
+ orr r3, r2, r1
+ strne r3, [lr, r0, asl #2]
+ add r0, r0, #1
+ cmp r4, r0
+ add ip, ip, fp
+ bne .L5838
+ b .L5849
+.L5806:
+ cmp r4, #0
+ sub r0, r0, #1
+ beq .L5849
+ mov r9, #0
+ mvn r6, #0
+.L5843:
+ and r3, r0, r7, asr #8
+ mov r2, r3, lsr #3
+ mov r2, r2, asl r8
+ and r1, r0, ip, asr #8
+ and sl, r3, #7
+ add r3, r2, r1, lsr #3
+ cmp r3, r6
+ ldrne r2, [sp, #20]
+ and r5, r1, #7
+ ldr r1, [sp, #16]
+ mov r6, r3
+ add r7, r7, r1
+ ldrneb r3, [r2, r3] @ zero_extendqisi2
+ ldrne r1, [sp, #24]
+ add ip, ip, fp
+ addne r3, r1, r3, asl #6
+ strne r3, [sp, #4]
+ ldr r2, [sp, #4]
+ add r3, r2, sl, asl #3
+ ldrb r2, [r3, r5] @ zero_extendqisi2
+ ldr r3, [sp, #12]
+ cmp r2, #0
+ orr r1, r3, r2
+ strne r1, [lr, r9, asl #2]
+ add r9, r9, #1
+ cmp r4, r9
+ bne .L5843
+ b .L5849
+.L5852:
+ ldr r9, [sp, #20]
+ ldr r1, [sp, #24]
+ mov r2, r3, lsr #3
+ cmp r4, #0
+ and r3, r3, #7
+ add r8, r9, r2, asl r8
+ add r6, r1, r3, asl #3
+ beq .L5849
+ mov r5, ip, asr #8
+ cmp r0, r5
+ movls r7, #0
+ bls .L5818
+ b .L5856
+.L5816:
+ cmp r0, r2
+ add lr, lr, #4
+ bhi .L5817
+.L5818:
+ add r7, r7, #1
+ add ip, ip, fp
+ cmp r4, r7
+ mov r2, ip, asr #8
+ bne .L5816
+ b .L5849
+.L5826:
+ mov r5, r2
+ mov r1, r3
+.L5827:
+ cmp r1, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp r0, r5
+ orrls r3, r3, #1
+ cmp r3, #0
+ mvneq r6, #0
+ beq .L5829
+ b .L5849
+.L5830:
+ cmp r0, r1
+ cmphi r0, r5
+ bls .L5849
+.L5829:
+ mov r3, r1, lsr #3
+ mov r3, r3, asl r8
+ add r3, r3, r5, lsr #3
+ cmp r3, r6
+ and r2, r5, #7
+ str r2, [sp, #0]
+ ldrne r2, [sp, #20]
+ mov r6, r3
+ ldrneb r3, [r2, r3] @ zero_extendqisi2
+ ldrne r2, [sp, #24]
+ ldr r9, [sp, #16]
+ addne r3, r2, r3, asl #6
+ strne r3, [sp, #28]
+ ldr r2, [sp, #28]
+ add r7, r7, r9
+ and r9, r1, #7
+ add r3, r2, r9, asl #3
+ ldr r9, [sp, #0]
+ add sl, sl, #1
+ ldrb r2, [r3, r9] @ zero_extendqisi2
+ ldr r9, [sp, #12]
+ cmp r2, #0
+ orr r3, r9, r2
+ strne r3, [lr, #0]
+ add ip, ip, fp
+ cmp r4, sl
+ mov r1, r7, asr #8
+ mov r5, ip, asr #8
+ add lr, lr, #4
+ bhi .L5830
+ b .L5849
+.L5817:
+ mov r5, r2
+.L5819:
+ cmp r5, r0
+ bcc .L5851
+ b .L5849
+.L5821:
+ cmp r0, r5
+ bls .L5849
+.L5851:
+ ldrb r3, [r8, r5, lsr #3] @ zero_extendqisi2
+ and r2, r5, #7
+ add r2, r2, r3, asl #6
+ ldrb r1, [r2, r6] @ zero_extendqisi2
+ ldr r2, [sp, #12]
+ cmp r1, #0
+ add r7, r7, #1
+ orr r3, r2, r1
+ strne r3, [lr, #0]
+ add ip, ip, fp
+ cmp r4, r7
+ mov r5, ip, asr #8
+ add lr, lr, #4
+ bhi .L5821
+ b .L5849
+.L5855:
+ mov sl, #0
+ b .L5827
+.L5856:
+ mov r7, #0
+ b .L5819
+.L5858:
+ .align 2
+.L5857:
+ .word io_registers
+ .word affine_reference_y
+ .word affine_reference_x
+ .word vram
+ .size render_scanline_affine_transparent_color32, .-render_scanline_affine_transparent_color32
+ .align 2
+ .global render_scanline_affine_base_alpha
+ .type render_scanline_affine_base_alpha, %function
+render_scanline_affine_base_alpha:
+ @ args = 0, pretend = 0, frame = 32
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r7, .L5933
+ add lr, r0, #7
+ ldrh ip, [r7, #80]
+ sub sp, sp, #32
+ mov lr, ip, asr lr
+ mov r4, ip, asr r0
+ mov r5, ip, lsr #12
+ and r5, r5, #2
+ mov ip, ip, asl #26
+ orr r5, r5, ip, lsr #31
+ and r4, r4, #1
+ and lr, lr, #2
+ mov ip, r5, asl #25
+ orr r4, r4, lr
+ orr r4, ip, r4, asl #9
+ mov r5, r5, asl #9
+ tst r4, #512
+ mov r6, r0
+ str r4, [sp, #12]
+ mov r8, r1
+ mov sl, r2
+ stmib sp, {r3, r5} @ phole stm
+ beq .L5928
+ add r3, r7, r0, asl #1
+ ldrh r1, [r3, #8]
+ ldr r3, .L5933+4
+ mov r2, r0, asl #4
+ sub r0, r0, #2
+ ldr r6, [r3, r0, asl #2]
+ ldr r3, .L5933+8
+ mov lr, r1, lsr #14
+ ldr r5, [r3, r0, asl #2]
+ ldr r4, .L5933+12
+ mov ip, r1, lsr #12
+ mov r0, r1, asl #3
+ sub r2, r2, #32
+ mov r1, r1, asl #12
+ add r2, r2, r7
+ and r1, r1, #49152
+ ldrsh fp, [r2, #36]
+ add r1, r1, r4
+ ldrsh r9, [r2, #32]
+ and ip, ip, #2
+ and r0, r0, #63488
+ str r1, [sp, #24]
+ ldr r1, [sp, #4]
+ add r0, r0, r4
+ add r2, lr, #7
+ mov r3, #1
+ add lr, lr, #4
+ cmp fp, #0
+ orrne ip, ip, #1
+ str r0, [sp, #20]
+ mov r7, r3, asl r2
+ mla r0, r9, r8, r5
+ rsb sl, r8, sl
+ str lr, [sp, #16]
+ add r4, r1, r8, asl #2
+ mla r5, fp, r8, r6
+ cmp ip, #3
+ ldrls pc, [pc, ip, asl #2]
+ b .L5918
+ .p2align 2
+.L5867:
+ .word .L5863
+ .word .L5864
+ .word .L5865
+ .word .L5866
+.L5919:
+ add ip, ip, #1
+ ldr r1, [sp, #8]
+ cmp sl, ip
+ str r1, [r4], #4
+ bhi .L5919
+.L5918:
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L5928:
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_affine_base_color32
+.L5863:
+ mov r1, r5, asr #8
+ cmp r7, r1
+ movls ip, #0
+ bls .L5874
+ ldr r6, [sp, #20]
+ ldr r8, [sp, #16]
+ ldr ip, [sp, #24]
+ mov r2, r1, lsr #3
+ and r3, r1, #7
+ cmp sl, #0
+ add lr, r6, r2, asl r8
+ add r5, ip, r3, asl #3
+ beq .L5918
+ mov r2, r0, asr #8
+ cmp r7, r2
+ movls ip, #0
+ bls .L5881
+ b .L5931
+.L5879:
+ cmp r7, r2
+ bhi .L5882
+.L5881:
+ add ip, ip, #1
+ ldr r1, [sp, #8]
+ add r0, r0, r9
+ cmp sl, ip
+ mov r2, r0, asr #8
+ str r1, [r4], #4
+ bne .L5879
+.L5874:
+ cmp ip, sl
+ bcs .L5918
+ ldr r8, [sp, #8]
+ rsb r2, ip, sl
+ mov r3, #0
+.L5890:
+ add r3, r3, #1
+ cmp r2, r3
+ str r8, [r4], #4
+ bne .L5890
+ b .L5918
+.L5866:
+ sub r7, r7, #1
+ cmp sl, #0
+ str r7, [sp, #28]
+ beq .L5918
+ mvn r8, #0
+ mov r7, #0
+.L5911:
+ ldr r2, [sp, #28]
+ ldr r6, [sp, #16]
+ and r3, r2, r5, asr #8
+ mov r2, r3, lsr #3
+ mov r2, r2, asl r6
+ ldr ip, [sp, #28]
+ and lr, r3, #7
+ and r1, ip, r0, asr #8
+ add ip, r2, r1, lsr #3
+ cmp ip, r8
+ and r6, r1, #7
+ ldrne r1, [sp, #20]
+ ldrne r2, [sp, #24]
+ ldrneb r3, [r1, ip] @ zero_extendqisi2
+ add r7, r7, #1
+ addne r3, r2, r3, asl #6
+ strne r3, [sp, #0]
+ ldr r8, [sp, #0]
+ add r0, r0, r9
+ add r3, r8, lr, asl #3
+ ldrb r2, [r3, r6] @ zero_extendqisi2
+ ldr lr, [sp, #12]
+ cmp r2, #0
+ orr r1, lr, r2
+ ldreq r1, [sp, #8]
+ cmp sl, r7
+ str r1, [r4, #0]
+ add r5, r5, fp
+ add r4, r4, #4
+ mov r8, ip
+ bne .L5911
+ b .L5918
+.L5865:
+ sub r6, r7, #1
+ and r1, r6, r5, asr #8
+ cmp r7, r1
+ bls .L5918
+ mov r2, r1, lsr #3
+ and r3, r1, #7
+ ldr ip, [sp, #20]
+ ldr r1, [sp, #16]
+ cmp sl, #0
+ add lr, ip, r2, asl r1
+ ldr r2, [sp, #24]
+ add r5, r2, r3, asl #3
+ beq .L5918
+ mov ip, #0
+.L5905:
+ and r3, r6, r0, asr #8
+ ldrb r1, [lr, r3, lsr #3] @ zero_extendqisi2
+ and r3, r3, #7
+ add r3, r3, r1, asl #6
+ ldrb r2, [r3, r5] @ zero_extendqisi2
+ ldr r8, [sp, #12]
+ cmp r2, #0
+ ldreq r1, [sp, #8]
+ orr r3, r8, r2
+ add ip, ip, #1
+ strne r3, [r4, #0]
+ streq r1, [r4, #0]
+ cmp sl, ip
+ add r0, r0, r9
+ add r4, r4, #4
+ bne .L5905
+ b .L5918
+.L5864:
+ cmp sl, #0
+ beq .L5918
+ mov r1, r0, asr #8
+ mov r2, r5, asr #8
+ cmp r7, r1
+ cmphi r7, r2
+ movls r3, #0
+ movhi r3, #1
+ movls ip, r3
+ bls .L5871
+ b .L5932
+.L5891:
+ cmp r7, r2
+ cmphi r7, r3
+ bhi .L5892
+.L5871:
+ add ip, ip, #1
+ ldr lr, [sp, #8]
+ add r0, r0, r9
+ add r5, r5, fp
+ cmp sl, ip
+ str lr, [r4, #0]
+ mov r2, r0, asr #8
+ mov r3, r5, asr #8
+ add r4, r4, #4
+ bne .L5891
+ b .L5918
+.L5892:
+ mov r1, r2
+ mov r2, r3
+.L5893:
+ cmp r7, r2
+ cmphi r7, r1
+ mvnhi r8, #0
+ bhi .L5897
+ b .L5919
+.L5896:
+ cmp r7, r2
+ cmphi r7, r1
+ bls .L5919
+.L5897:
+ ldr r6, [sp, #16]
+ mov r3, r2, lsr #3
+ mov r3, r3, asl r6
+ and r6, r2, #7
+ and r2, r1, #7
+ add r1, r3, r1, lsr #3
+ cmp r1, r8
+ ldrne r8, [sp, #20]
+ add ip, ip, #1
+ ldrneb r3, [r8, r1] @ zero_extendqisi2
+ ldrne r8, [sp, #24]
+ add r0, r0, r9
+ addne lr, r8, r3, asl #6
+ add r3, lr, r6, asl #3
+ ldrb r2, [r3, r2] @ zero_extendqisi2
+ ldr r6, [sp, #12]
+ cmp r2, #0
+ ldreq r8, [sp, #8]
+ orr r3, r6, r2
+ streq r8, [r4, #0]
+ strne r3, [r4, #0]
+ add r5, r5, fp
+ cmp sl, ip
+ mov r8, r1
+ add r4, r4, #4
+ mov r1, r0, asr #8
+ mov r2, r5, asr #8
+ bhi .L5896
+ b .L5918
+.L5931:
+ mov ip, #0
+.L5882:
+ cmp r2, r7
+ bcc .L5924
+ b .L5874
+.L5885:
+ cmp r7, r2
+ bls .L5874
+.L5924:
+ ldrb r3, [lr, r2, lsr #3] @ zero_extendqisi2
+ and r2, r2, #7
+ add r2, r2, r3, asl #6
+ ldrb r1, [r2, r5] @ zero_extendqisi2
+ ldr r3, [sp, #12]
+ cmp r1, #0
+ ldreq r6, [sp, #8]
+ orr r2, r3, r1
+ add ip, ip, #1
+ strne r2, [r4, #0]
+ streq r6, [r4, #0]
+ add r0, r0, r9
+ cmp sl, ip
+ add r4, r4, #4
+ mov r2, r0, asr #8
+ bhi .L5885
+ b .L5874
+.L5932:
+ mov ip, #0
+ b .L5893
+.L5934:
+ .align 2
+.L5933:
+ .word io_registers
+ .word affine_reference_y
+ .word affine_reference_x
+ .word vram
+ .size render_scanline_affine_base_alpha, .-render_scanline_affine_base_alpha
+ .align 2
+ .global render_scanline_affine_transparent_alpha
+ .type render_scanline_affine_transparent_alpha, %function
+render_scanline_affine_transparent_alpha:
+ @ args = 0, pretend = 0, frame = 36
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r5, .L5993
+ add lr, r0, #7
+ ldrh ip, [r5, #80]
+ sub sp, sp, #36
+ mov lr, ip, asr lr
+ mov ip, ip, asr r0
+ and lr, lr, #2
+ and ip, ip, #1
+ orr ip, ip, lr
+ mov ip, ip, asl #9
+ tst ip, #512
+ mov r4, r0
+ str ip, [sp, #12]
+ mov r8, r1
+ mov sl, r2
+ str r3, [sp, #8]
+ beq .L5988
+ add r3, r5, r0, asl #1
+ ldrh r1, [r3, #8]
+ ldr r3, .L5993+4
+ mov r2, r0, asl #4
+ sub r0, r0, #2
+ ldr r6, [r3, r0, asl #2]
+ ldr r3, .L5993+8
+ sub r2, r2, #32
+ add r2, r2, r5
+ mov lr, r1, lsr #14
+ ldr r5, [r3, r0, asl #2]
+ ldr r4, .L5993+12
+ mov ip, r1, lsr #12
+ mov r0, r1, asl #3
+ mov r1, r1, asl #12
+ and r1, r1, #49152
+ ldrsh fp, [r2, #36]
+ add r1, r1, r4
+ ldrsh r9, [r2, #32]
+ and ip, ip, #2
+ and r0, r0, #63488
+ str r1, [sp, #20]
+ ldr r1, [sp, #8]
+ add r0, r0, r4
+ add r2, lr, #7
+ mov r3, #1
+ cmp fp, #0
+ orrne ip, ip, #1
+ str r0, [sp, #16]
+ mov r7, r3, asl r2
+ mla r0, r9, r8, r5
+ rsb sl, r8, sl
+ add lr, lr, #4
+ add r4, r1, r8, asl #2
+ mla r5, fp, r8, r6
+ cmp ip, #3
+ ldrls pc, [pc, ip, asl #2]
+ b .L5985
+ .p2align 2
+.L5943:
+ .word .L5939
+ .word .L5940
+ .word .L5941
+ .word .L5942
+.L5941:
+ sub r6, r7, #1
+ and r1, r6, r5, asr #8
+ cmp r7, r1
+ bls .L5985
+ ldr r5, [sp, #16]
+ ldr ip, [sp, #20]
+ mov r2, r1, lsr #3
+ and r3, r1, #7
+ cmp sl, #0
+ add lr, r5, r2, asl lr
+ add r1, ip, r3, asl #3
+ beq .L5985
+ mov ip, #0
+.L5974:
+ and r3, r6, r0, asr #8
+ ldrb r2, [lr, r3, lsr #3] @ zero_extendqisi2
+ and r3, r3, #7
+ add r3, r3, r2, asl #6
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ add ip, ip, #1
+ cmp r2, #0
+ ldrne r3, [r4, #0]
+ ldrne r5, [sp, #12]
+ add r0, r0, r9
+ orrne r3, r5, r3, asl #16
+ orrne r3, r2, r3
+ strne r3, [r4, #0]
+ cmp sl, ip
+ add r4, r4, #4
+ bne .L5974
+.L5985:
+ add sp, sp, #36
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L5988:
+ add sp, sp, #36
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_affine_transparent_color32
+.L5939:
+ mov r1, r5, asr #8
+ cmp r7, r1
+ bls .L5985
+ ldr r5, [sp, #16]
+ ldr r6, [sp, #20]
+ mov r2, r1, lsr #3
+ and r3, r1, #7
+ cmp sl, #0
+ add lr, r5, r2, asl lr
+ add r1, r6, r3, asl #3
+ beq .L5985
+ mov ip, r0, asr #8
+ cmp r7, ip
+ movls r5, #0
+ bls .L5954
+ b .L5991
+.L5952:
+ cmp r7, r3
+ add r4, r4, #4
+ bhi .L5953
+.L5954:
+ add r5, r5, #1
+ add r0, r0, r9
+ cmp sl, r5
+ mov r3, r0, asr #8
+ bne .L5952
+ b .L5985
+.L5942:
+ cmp sl, #0
+ sub r8, r7, #1
+ beq .L5985
+ mvn r6, #0
+ str r6, [sp, #32]
+ mov r7, #0
+.L5979:
+ and r3, r8, r5, asr #8
+ mov r2, r3, lsr #3
+ mov r2, r2, asl lr
+ and r1, r8, r0, asr #8
+ and r6, r3, #7
+ and ip, r1, #7
+ add r3, r2, r1, lsr #3
+ ldr r1, [sp, #32]
+ str r3, [sp, #32]
+ cmp r3, r1
+ ldrne r2, [sp, #16]
+ ldrne r1, [sp, #20]
+ ldrneb r3, [r2, r3] @ zero_extendqisi2
+ add r7, r7, #1
+ addne r3, r1, r3, asl #6
+ strne r3, [sp, #4]
+ ldr r2, [sp, #4]
+ add r0, r0, r9
+ add r3, r2, r6, asl #3
+ ldrb r2, [r3, ip] @ zero_extendqisi2
+ ldr r3, [sp, #12]
+ cmp r2, #0
+ orr r1, r3, r2
+ ldrne r3, [r4, #0]
+ add r5, r5, fp
+ orrne r3, r1, r3, asl #16
+ strne r3, [r4, #0]
+ cmp sl, r7
+ add r4, r4, #4
+ bne .L5979
+ b .L5985
+.L5940:
+ cmp sl, #0
+ beq .L5985
+ mov ip, r0, asr #8
+ mov r1, r5, asr #8
+ cmp r7, ip
+ cmphi r7, r1
+ movls r3, #0
+ movhi r3, #1
+ movls r8, r3
+ bls .L5947
+ b .L5992
+.L5961:
+ cmp r7, r2
+ cmphi r7, r3
+ bhi .L5962
+.L5947:
+ add r8, r8, #1
+ add r0, r0, r9
+ add r5, r5, fp
+ cmp sl, r8
+ mov r2, r0, asr #8
+ mov r3, r5, asr #8
+ add r4, r4, #4
+ bne .L5961
+ b .L5985
+.L5962:
+ mov ip, r2
+ mov r1, r3
+.L5963:
+ cmp r1, r7
+ movcc r3, #0
+ movcs r3, #1
+ cmp r7, ip
+ orrls r3, r3, #1
+ cmp r3, #0
+ mvneq r2, #0
+ streq r2, [sp, #28]
+ beq .L5965
+ b .L5985
+.L5966:
+ cmp r7, r1
+ cmphi r7, ip
+ bls .L5985
+.L5965:
+ mov r3, r1, lsr #3
+ mov r3, r3, asl lr
+ and r2, ip, #7
+ str r2, [sp, #0]
+ ldr r2, [sp, #28]
+ add r3, r3, ip, lsr #3
+ cmp r3, r2
+ ldrne r2, [sp, #16]
+ str r3, [sp, #28]
+ ldrneb r3, [r2, r3] @ zero_extendqisi2
+ ldrne r2, [sp, #20]
+ and r6, r1, #7
+ addne r3, r2, r3, asl #6
+ strne r3, [sp, #24]
+ ldr r2, [sp, #24]
+ add r8, r8, #1
+ add r3, r2, r6, asl #3
+ ldr r6, [sp, #0]
+ add r0, r0, r9
+ ldrb r2, [r3, r6] @ zero_extendqisi2
+ ldr r3, [sp, #12]
+ cmp r2, #0
+ orr r6, r3, r2
+ ldrne r3, [r4, #0]
+ add r5, r5, fp
+ orrne r3, r6, r3, asl #16
+ strne r3, [r4, #0]
+ cmp sl, r8
+ mov r1, r5, asr #8
+ mov ip, r0, asr #8
+ add r4, r4, #4
+ bhi .L5966
+ b .L5985
+.L5953:
+ mov ip, r3
+.L5955:
+ cmp ip, r7
+ bcc .L5987
+ b .L5985
+.L5957:
+ cmp r7, ip
+ bls .L5985
+.L5987:
+ ldrb r2, [lr, ip, lsr #3] @ zero_extendqisi2
+ and r3, ip, #7
+ add r3, r3, r2, asl #6
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ add r5, r5, #1
+ cmp r2, #0
+ ldrne r3, [r4, #0]
+ ldrne r6, [sp, #12]
+ add r0, r0, r9
+ orrne r3, r6, r3, asl #16
+ orrne r3, r2, r3
+ strne r3, [r4, #0]
+ cmp sl, r5
+ mov ip, r0, asr #8
+ add r4, r4, #4
+ bhi .L5957
+ b .L5985
+.L5992:
+ mov r8, #0
+ b .L5963
+.L5991:
+ mov r5, #0
+ b .L5955
+.L5994:
+ .align 2
+.L5993:
+ .word io_registers
+ .word affine_reference_y
+ .word affine_reference_x
+ .word vram
+ .size render_scanline_affine_transparent_alpha, .-render_scanline_affine_transparent_alpha
+ .align 2
+ .global render_scanline_bitmap_mode3_normal
+ .type render_scanline_bitmap_mode3_normal, %function
+render_scanline_bitmap_mode3_normal:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr ip, .L6038
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r3, .L6038+4
+ ldrh r6, [ip, #36]
+ ldrh r9, [ip, #32]
+ ldr ip, .L6038+8
+ ldr r4, [r3, #0]
+ ldr lr, [ip, #0]
+ mov r3, r9, asl #16
+ mov ip, r6, asl #16
+ mov sl, r3, asr #16
+ mov r7, ip, asr #16
+ cmp r6, #0
+ mla lr, r7, r0, lr
+ add r5, r2, r0, asl #1
+ rsb r8, r0, r1
+ ldr fp, .L6038+12
+ mla r0, sl, r0, r4
+ beq .L5996
+ cmp r8, #0
+ ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+ mov r6, r0, asr #8
+ mov r4, lr, asr #8
+ cmp r6, #239
+ cmpls r4, #159
+ movhi r1, #0
+ movls r1, #1
+ mov r2, r6
+ mov r3, r4
+ movhi ip, r1
+ bhi .L6002
+ b .L6036
+.L6023:
+ cmp r3, #239
+ cmpls r2, #159
+ bls .L6024
+.L6002:
+ add ip, ip, #1
+ add r0, r0, sl
+ add lr, lr, r7
+ cmp r8, ip
+ mov r3, r0, asr #8
+ mov r2, lr, asr #8
+ add r5, r5, #2
+ bne .L6023
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L5996:
+ mov r3, lr, asr #8
+ cmp r3, #159
+ ldmhifd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+ rsb r3, r3, r3, asl #4
+ cmp r9, #256
+ add r4, fp, r3, asl #5
+ mov lr, r0, asr #8
+ beq .L6004
+ cmp r8, #0
+ ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+ cmp lr, #239
+ movhi ip, r6
+ bhi .L6009
+ b .L6037
+.L6019:
+ cmp r2, #239
+ bls .L6020
+.L6009:
+ add ip, ip, #1
+ add r0, r0, sl
+ cmp r8, ip
+ mov r2, r0, asr #8
+ add r5, r5, #2
+ bne .L6019
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6024:
+ mov r4, r2
+ mov r6, r3
+ mov r2, r3
+ mov r3, r4
+.L6025:
+ cmp r3, #159
+ cmpls r2, #239
+ bls .L6032
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6027:
+ cmp r4, #159
+ cmpls r6, #239
+ ldmhifd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6032:
+ rsb r3, r4, r4, asl #4
+ add r3, r6, r3, asl #4
+ mov r3, r3, asl #1
+ ldrh r2, [r3, fp]
+ add ip, ip, #1
+ mov r3, r2, lsr #10
+ and r1, r2, #31
+ orr r3, r3, r1, asl #11
+ and r2, r2, #992
+ add r0, r0, sl
+ add lr, lr, r7
+ orr r3, r3, r2, asl #1
+ cmp r8, ip
+ mov r4, lr, asr #8
+ mov r6, r0, asr #8
+ strh r3, [r5], #2 @ movhi
+ bhi .L6027
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6020:
+ mov lr, r2
+ b .L6031
+.L6021:
+ cmp lr, #239
+ ldmhifd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6031:
+ mov r2, lr, asl #1
+ ldrh r3, [r2, r4]
+ add ip, ip, #1
+ mov r2, r3, lsr #10
+ and r1, r3, #31
+ orr r2, r2, r1, asl #11
+ and r3, r3, #992
+ add r0, r0, sl
+ orr r2, r2, r3, asl #1
+ cmp r8, ip
+ mov lr, r0, asr #8
+ strh r2, [r5], #2 @ movhi
+ bhi .L6021
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6004:
+ cmp lr, #0
+ sublt r5, r5, lr, asl #1
+ addlt r8, r8, lr
+ movlt lr, r6
+ movlt r3, lr
+ blt .L6012
+ addne r4, r4, lr, asl #1
+ mov r3, lr
+.L6012:
+ add r3, r8, r3
+ cmp r3, #239
+ rsbhi r8, lr, #240
+ cmp r8, #0
+ ldmlefd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+ mov r0, #0
+.L6018:
+ ldrh r3, [r4], #2
+ add r0, r0, #1
+ mov r2, r3, lsr #10
+ and r1, r3, #31
+ orr r2, r2, r1, asl #11
+ and r3, r3, #992
+ orr r2, r2, r3, asl #1
+ cmp r8, r0
+ strh r2, [r5], #2 @ movhi
+ bne .L6018
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6036:
+ mov ip, #0
+ b .L6025
+.L6037:
+ mov ip, r6
+ b .L6031
+.L6039:
+ .align 2
+.L6038:
+ .word io_registers
+ .word affine_reference_x
+ .word affine_reference_y
+ .word vram
+ .size render_scanline_bitmap_mode3_normal, .-render_scanline_bitmap_mode3_normal
+ .align 2
+ .global render_scanline_bitmap_mode4_normal
+ .type render_scanline_bitmap_mode4_normal, %function
+render_scanline_bitmap_mode4_normal:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr r3, .L6084
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldrh ip, [r3, #0]
+ ldr r4, .L6084+4
+ ldrh sl, [r3, #36]
+ tst ip, #16
+ ldrh r9, [r3, #32]
+ ldr ip, .L6084+8
+ ldr r3, .L6084+12
+ ldr r5, [ip, #0]
+ ldr r6, [r3, #0]
+ mov lr, r9, asl #16
+ mov ip, sl, asl #16
+ add r3, r4, #40960
+ moveq fp, r4
+ movne fp, r3
+ mov r8, lr, asr #16
+ mov r7, ip, asr #16
+ cmp sl, #0
+ mla r4, r7, r0, r5
+ add ip, r2, r0, asl #1
+ rsb lr, r0, r1
+ mla r5, r8, r0, r6
+ beq .L6044
+ cmp lr, #0
+ ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+ mov r1, r5, asr #8
+ mov r0, r4, asr #8
+ cmp r1, #239
+ cmpls r0, #159
+ mov r2, r1
+ mov r3, r0
+ movhi r6, #0
+ movls r6, #1
+ bhi .L6050
+ b .L6082
+.L6071:
+ cmp r3, #239
+ cmpls r2, #159
+ bls .L6072
+.L6050:
+ add r6, r6, #1
+ add r5, r5, r8
+ add r4, r4, r7
+ cmp lr, r6
+ mov r3, r5, asr #8
+ mov r2, r4, asr #8
+ add ip, ip, #2
+ bne .L6071
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6044:
+ mov r3, r4, asr #8
+ cmp r3, #159
+ ldmhifd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+ rsb r3, r3, r3, asl #4
+ cmp r9, #256
+ add r1, fp, r3, asl #4
+ mov r0, r5, asr #8
+ beq .L6052
+ cmp lr, #0
+ ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+ cmp r0, #239
+ movhi r2, sl
+ bhi .L6057
+ b .L6083
+.L6067:
+ cmp r3, #239
+ bls .L6068
+.L6057:
+ add r2, r2, #1
+ add r5, r5, r8
+ cmp lr, r2
+ mov r3, r5, asr #8
+ add ip, ip, #2
+ bne .L6067
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6072:
+ mov r0, r2
+ mov r1, r3
+ mov r2, r3
+ mov r3, r0
+.L6073:
+ cmp r3, #159
+ cmpls r2, #239
+ ldrls sl, .L6084+16
+ bls .L6074
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6075:
+ cmp r0, #159
+ cmpls r1, #239
+ ldmhifd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6074:
+ rsb r3, r0, r0, asl #4
+ add r3, fp, r3, asl #4
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ add r6, r6, #1
+ mov r2, r2, asl #1
+ ldrh r2, [r2, sl]
+ add r5, r5, r8
+ add r4, r4, r7
+ cmp lr, r6
+ mov r0, r4, asr #8
+ mov r1, r5, asr #8
+ strh r2, [ip], #2 @ movhi
+ bhi .L6075
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6068:
+ ldr r4, .L6084+16
+ mov r0, r3
+ b .L6079
+.L6069:
+ cmp r0, #239
+ ldmhifd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6079:
+ ldrb r3, [r1, r0] @ zero_extendqisi2
+ add r2, r2, #1
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r4]
+ add r5, r5, r8
+ cmp lr, r2
+ mov r0, r5, asr #8
+ strh r3, [ip], #2 @ movhi
+ bhi .L6069
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6052:
+ cmp r0, #0
+ sublt ip, ip, r0, asl #1
+ addlt lr, lr, r0
+ movlt r0, sl
+ movlt r3, r0
+ blt .L6060
+ addne r1, r1, r0
+ mov r3, r0
+.L6060:
+ add r3, lr, r3
+ cmp r3, #239
+ rsbhi lr, r0, #240
+ cmp lr, #0
+ ldmlefd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+ ldr r0, .L6084+16
+ mov r2, #0
+.L6066:
+ ldrb r3, [r1], #1 @ zero_extendqisi2
+ add r2, r2, #1
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r0]
+ cmp lr, r2
+ strh r3, [ip], #2 @ movhi
+ bne .L6066
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6082:
+ mov r6, #0
+ b .L6073
+.L6083:
+ ldr r4, .L6084+16
+ mov r2, sl
+ b .L6079
+.L6085:
+ .align 2
+.L6084:
+ .word io_registers
+ .word vram
+ .word affine_reference_y
+ .word affine_reference_x
+ .word palette_ram_converted
+ .size render_scanline_bitmap_mode4_normal, .-render_scanline_bitmap_mode4_normal
+ .align 2
+ .global render_scanline_bitmap_mode5_normal
+ .type render_scanline_bitmap_mode5_normal, %function
+render_scanline_bitmap_mode5_normal:
+ @ args = 0, pretend = 0, frame = 4
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr r3, .L6132
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldrh ip, [r3, #0]
+ ldrh r9, [r3, #36]
+ tst ip, #16
+ ldr r4, .L6132+4
+ ldrh fp, [r3, #32]
+ ldr ip, .L6132+8
+ ldr r3, .L6132+12
+ ldr r5, [ip, #0]
+ ldr r6, [r3, #0]
+ mov ip, r9, asl #16
+ mov lr, fp, asl #16
+ add r3, r4, #40960
+ movne r4, r3
+ mov r7, ip, asr #16
+ sub sp, sp, #4
+ mov sl, lr, asr #16
+ cmp r9, #0
+ str r4, [sp, #0]
+ add ip, r2, r0, asl #1
+ mla r4, r7, r0, r5
+ rsb r8, r0, r1
+ mla r0, sl, r0, r6
+ beq .L6090
+ cmp r8, #0
+ beq .L6122
+ mov lr, r0, asr #8
+ mov r5, r4, asr #8
+ cmp lr, #159
+ cmpls r5, #127
+ movhi r1, #0
+ movls r1, #1
+ mov r2, lr
+ mov r3, r5
+ movhi r6, r1
+ bhi .L6096
+ b .L6130
+.L6117:
+ cmp r3, #159
+ cmpls r2, #127
+ bls .L6118
+.L6096:
+ add r6, r6, #1
+ add r0, r0, sl
+ add r4, r4, r7
+ cmp r8, r6
+ mov r3, r0, asr #8
+ mov r2, r4, asr #8
+ add ip, ip, #2
+ bne .L6117
+.L6122:
+ add sp, sp, #4
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6090:
+ mov r3, r4, asr #8
+ cmp r3, #127
+ bhi .L6122
+ ldr r1, [sp, #0]
+ add r3, r3, r3, asl #2
+ cmp fp, #256
+ add lr, r1, r3, asl #6
+ mov r5, r0, asr #8
+ beq .L6098
+ cmp r8, #0
+ beq .L6122
+ cmp r5, #159
+ movhi r4, r9
+ bhi .L6103
+ b .L6131
+.L6113:
+ cmp r2, #159
+ bls .L6114
+.L6103:
+ add r4, r4, #1
+ add r0, r0, sl
+ cmp r8, r4
+ mov r2, r0, asr #8
+ add ip, ip, #2
+ bne .L6113
+ b .L6122
+.L6118:
+ mov r5, r2
+ mov lr, r3
+ mov r2, r3
+ mov r3, r5
+.L6119:
+ cmp r3, #127
+ cmpls r2, #159
+ bls .L6126
+ b .L6122
+.L6121:
+ cmp r5, #127
+ cmpls lr, #159
+ bhi .L6122
+.L6126:
+ add r3, r5, r5, asl #2
+ add r3, lr, r3, asl #5
+ ldr r1, [sp, #0]
+ mov r3, r3, asl #1
+ ldrh r2, [r3, r1]
+ add r6, r6, #1
+ mov r3, r2, lsr #10
+ and r1, r2, #31
+ orr r3, r3, r1, asl #11
+ and r2, r2, #992
+ add r0, r0, sl
+ add r4, r4, r7
+ orr r3, r3, r2, asl #1
+ cmp r8, r6
+ mov r5, r4, asr #8
+ mov lr, r0, asr #8
+ strh r3, [ip], #2 @ movhi
+ bhi .L6121
+ b .L6122
+.L6114:
+ mov r5, r2
+ b .L6125
+.L6115:
+ cmp r5, #159
+ bhi .L6122
+.L6125:
+ mov r2, r5, asl #1
+ ldrh r3, [r2, lr]
+ add r4, r4, #1
+ mov r2, r3, lsr #10
+ and r1, r3, #31
+ orr r2, r2, r1, asl #11
+ and r3, r3, #992
+ add r0, r0, sl
+ orr r2, r2, r3, asl #1
+ cmp r8, r4
+ mov r5, r0, asr #8
+ strh r2, [ip], #2 @ movhi
+ bhi .L6115
+ b .L6122
+.L6098:
+ cmp r5, #0
+ sublt ip, ip, r5, asl #1
+ addlt r8, r8, r5
+ movlt r5, r9
+ movlt r3, r5
+ blt .L6106
+ addne lr, lr, r5, asl #1
+ mov r3, r5
+.L6106:
+ add r3, r8, r3
+ cmp r3, #159
+ rsbhi r8, r5, #160
+ cmp r8, #0
+ ble .L6122
+ mov r0, #0
+.L6112:
+ ldrh r3, [lr], #2
+ add r0, r0, #1
+ mov r2, r3, lsr #10
+ and r1, r3, #31
+ orr r2, r2, r1, asl #11
+ and r3, r3, #992
+ orr r2, r2, r3, asl #1
+ cmp r8, r0
+ strh r2, [ip], #2 @ movhi
+ bne .L6112
+ b .L6122
+.L6130:
+ mov r6, #0
+ b .L6119
+.L6131:
+ mov r4, r9
+ b .L6125
+.L6133:
+ .align 2
+.L6132:
+ .word io_registers
+ .word vram
+ .word affine_reference_y
+ .word affine_reference_x
+ .size render_scanline_bitmap_mode5_normal, .-render_scanline_bitmap_mode5_normal
+ .align 2
+ .global render_scanline_obj_normal_1D
+ .type render_scanline_obj_normal_1D, %function
+render_scanline_obj_normal_1D:
+ @ args = 0, pretend = 0, frame = 104
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr ip, .L6976
+ sub sp, sp, #104
+ ldrh ip, [ip, #6]
+ add r0, r0, r0, asl #2
+ add r0, ip, r0, asl #5
+ str ip, [sp, #28]
+ ldr ip, .L6976+4
+ str r1, [sp, #8]
+ ldr ip, [ip, r0, asl #2]
+ str r2, [sp, #4]
+ str ip, [sp, #32]
+ cmp ip, #0
+ ldr ip, .L6976+8
+ str r3, [sp, #0]
+ add r0, ip, r0, asl #7
+ str r0, [sp, #36]
+ beq .L6922
+ add r0, r3, r1, asl #1
+ rsb r1, r1, r2
+ mov r2, #0
+ str r0, [sp, #76]
+ str r1, [sp, #100]
+ str r2, [sp, #24]
+ mov r4, r2
+.L6137:
+ ldr r5, [sp, #36]
+ ldr r6, .L6976+12
+ ldrb r3, [r4, r5] @ zero_extendqisi2
+ mov r3, r3, asl #3
+ ldrh lr, [r3, r6]
+ add r3, r3, r6
+ ldrh r1, [r3, #2]
+ mov r4, lr, lsr #12
+ and r2, r4, #12
+ orr r0, r2, r1, lsr #14
+ and ip, lr, #255
+ mov r2, r1, asl #23
+ cmp ip, #160
+ ldrh r6, [r3, #4]
+ mov r5, r2, asr #23
+ ldr r3, .L6976+16
+ ldr r2, .L6976+20
+ subgt ip, ip, #256
+ tst lr, #256
+ ldr r7, [r2, r0, asl #2]
+ ldr sl, [r3, r0, asl #2]
+ beq .L6140
+ tst lr, #8192
+ beq .L6142
+ mov r3, r1, lsr #4
+ ldr r4, .L6976+12
+ and r3, r3, #992
+ add r3, r3, r4
+ tst lr, #512
+ ldrh lr, [r3, #30]
+ add r2, r7, r7, lsr #31
+ add r1, sl, sl, lsr #31
+ str lr, [sp, #12]
+ mov lr, r2, asr #1
+ ldr r2, [sp, #8]
+ mov r4, r1, asr #1
+ movne r0, lr, asl #1
+ strne r0, [sp, #48]
+ moveq r9, r7
+ streq lr, [sp, #48]
+ moveq r0, r4
+ movne r9, r7, asl #1
+ movne r0, r4, asl #1
+ cmp r5, r2
+ ldrh r8, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh fp, [r3, #22]
+ bge .L6147
+ rsb r2, r5, r2
+ rsb r9, r2, r9
+ cmp r9, #0
+ ble .L6149
+ ldr r3, [sp, #48]
+ ldr r5, [sp, #8]
+ rsb r3, r2, r3
+ str r3, [sp, #48]
+.L6147:
+ ldr r2, [sp, #4]
+ add r3, r5, r9
+ cmp r3, r2
+ blt .L6151
+ rsb r9, r5, r2
+ cmp r9, #0
+ ble .L6149
+.L6151:
+ add r0, ip, r0
+ ldr ip, [sp, #12]
+ mov r2, r1, asl #16
+ mov lr, lr, asl #8
+ mov r1, ip, asl #16
+ mov r3, r8, asl #16
+ mov ip, r1, asr #16
+ str lr, [sp, #84]
+ ldr r1, [sp, #28]
+ ldr lr, [sp, #0]
+ mov r3, r3, asr #16
+ mov r2, r2, asr #16
+ cmp fp, #0
+ add r8, lr, r5, asl #1
+ str r3, [sp, #40]
+ str r2, [sp, #44]
+ mov r4, r4, asl #8
+ rsb lr, r0, r1
+ bne .L6153
+ mla r3, lr, ip, r4
+ mov r0, r3, asr #8
+ cmp r0, sl
+ bcs .L6149
+ cmp r7, #0
+ add r3, r7, #7
+ movge r3, r7
+ mov r3, r3, asr #3
+ mov r2, r6, asl #22
+ mov r3, r3, asl #1
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ mla ip, r3, r1, r2
+ and r0, r0, #7
+ ldr r3, .L6976+24
+ add r0, r0, ip, asl #2
+ cmp r9, #0
+ add r4, r3, r0, asl #3
+ ble .L6149
+ ldr r3, [sp, #44]
+ ldr r2, [sp, #48]
+ ldr r5, [sp, #40]
+ mul r3, lr, r3
+ mul r2, r5, r2
+ ldr r6, [sp, #84]
+ rsb r3, r2, r3
+ add r0, r6, r3
+ mov lr, r0, asr #8
+ cmp lr, r7
+ movcs ip, fp
+ bcs .L6159
+ b .L6972
+.L6160:
+ cmp lr, r7
+ bcc .L6936
+.L6159:
+ ldr lr, [sp, #40]
+ add ip, ip, #1
+ add r0, r0, lr
+ cmp r9, ip
+ mov lr, r0, asr #8
+ add r8, r8, #2
+ bne .L6160
+.L6149:
+ ldr lr, [sp, #24]
+ ldr r0, [sp, #32]
+ add lr, lr, #1
+ cmp lr, r0
+ str lr, [sp, #24]
+ beq .L6922
+.L6954:
+ ldr r4, [sp, #24]
+ b .L6137
+.L6140:
+ ldr lr, [sp, #28]
+ tst r1, #8192
+ rsb ip, ip, lr
+ rsbne r3, ip, sl
+ subne ip, r3, #1
+ mov r2, r1, asl #19
+ and r3, r4, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L6149
+ .p2align 2
+.L6221:
+ .word .L6217
+ .word .L6218
+ .word .L6219
+ .word .L6220
+.L6217:
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, r6, asl #22
+ movge r3, r7
+ mov r8, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r3, ip, lsr #3
+ mla r0, r8, r3, r2
+ and r1, ip, #7
+ add r1, r1, r0, asl #3
+ ldr r0, [sp, #8]
+ ldr r3, .L6976+24
+ cmp r5, r0
+ mov r2, r6, lsr #8
+ add r0, r3, r1, asl #2
+ and r1, r2, #240
+ blt .L6949
+ ldr r2, [sp, #4]
+ add r3, r5, r7
+ cmp r2, r3
+ bhi .L6303
+ rsb r8, r5, r2
+ cmp r8, #0
+ ble .L6149
+ ldr r3, [sp, #0]
+ movs r7, r8, lsr #3
+ add r2, r3, r5, asl #1
+ beq .L6306
+ ldr r6, .L6976+36
+ mov r4, r2
+ mov r5, r0
+ mov ip, #0
+.L6308:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L6309
+ ands r3, lr, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #0] @ movhi
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #2] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #4] @ movhi
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #6] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #8] @ movhi
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #10] @ movhi
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #12] @ movhi
+ movs r3, lr, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #14] @ movhi
+.L6309:
+ add ip, ip, #1
+ cmp ip, r7
+ add r5, r5, #32
+ add r4, r4, #16
+ bne .L6308
+ add r0, r0, r7, asl #5
+ add r2, r2, r7, asl #4
+.L6306:
+ ands r4, r8, #7
+ beq .L6149
+ ldr r0, [r0, #0]
+ ldr r5, .L6976+36
+ mov lr, #0
+.L6328:
+ ands r3, r0, #15
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ mov ip, lr, asl #1
+ add lr, lr, #1
+ strneh r3, [ip, r2] @ movhi
+ cmp lr, r4
+ mov r0, r0, lsr #4
+ bne .L6328
+ b .L6149
+.L6218:
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, r6, asl #22
+ movge r3, r7
+ mov r1, ip, lsr #3
+ mov r8, r3, asr #3
+ mov r2, r2, lsr #22
+ mla r0, r8, r1, r2
+ subs r3, r7, #8
+ submi r3, r7, #1
+ and r2, ip, #7
+ ldr ip, [sp, #8]
+ add r0, r0, r3, asr #3
+ ldr r3, .L6976+24
+ add r2, r2, r0, asl #3
+ mov r1, r6, lsr #8
+ cmp r5, ip
+ add r0, r3, r2, asl #2
+ and r1, r1, #240
+ blt .L6950
+ ldr r2, [sp, #4]
+ add r3, r5, r7
+ cmp r2, r3
+ bhi .L6433
+ rsb r8, r5, r2
+ cmp r8, #0
+ ble .L6149
+ ldr r3, [sp, #0]
+ movs r7, r8, lsr #3
+ add r2, r3, r5, asl #1
+ beq .L6436
+ ldr r6, .L6976+36
+ mov r4, r2
+ mov r5, r0
+ mov ip, #0
+.L6438:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L6439
+ ands r3, lr, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #14] @ movhi
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #12] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #10] @ movhi
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #8] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #6] @ movhi
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #4] @ movhi
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #2] @ movhi
+ movs r3, lr, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #0] @ movhi
+.L6439:
+ add ip, ip, #1
+ cmp ip, r7
+ sub r5, r5, #32
+ add r4, r4, #16
+ bne .L6438
+ rsb r3, r7, r7, asl #27
+ add r0, r0, r3, asl #5
+ add r2, r2, r7, asl #4
+.L6436:
+ ands r4, r8, #7
+ beq .L6149
+ ldr r0, [r0, #0]
+ ldr r5, .L6976+36
+ mov lr, #0
+.L6458:
+ movs r3, r0, lsr #28
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ mov ip, lr, asl #1
+ add lr, lr, #1
+ strneh r3, [ip, r2] @ movhi
+ cmp lr, r4
+ mov r0, r0, asl #4
+ bne .L6458
+ b .L6149
+.L6219:
+ cmp r7, #0
+ add r3, r7, #7
+ mov r1, r6, asl #22
+ movge r3, r7
+ mov r2, ip, lsr #3
+ mov r6, r3, asr #3
+ mov r1, r1, lsr #22
+ mov r2, r2, asl #1
+ mla r0, r2, r6, r1
+ and r3, ip, #7
+ add r3, r3, r0, asl #2
+ ldr ip, [sp, #8]
+ mov r0, r3, asl #3
+ ldr r3, .L6976+24
+ cmp r5, ip
+ add r1, r0, r3
+ blt .L6951
+ ldr ip, [sp, #4]
+ add r3, r5, r7
+ cmp ip, r3
+ bhi .L6638
+ rsb r8, r5, ip
+ cmp r8, #0
+ ble .L6149
+ ldr lr, [sp, #0]
+ movs r7, r8, lsr #3
+ add r2, lr, r5, asl #1
+ beq .L6641
+ ldr r3, .L6976+32
+ ldr r6, .L6976+36
+ add r0, r0, r3
+ mov r4, r2
+ mov r5, r1
+ mov ip, #0
+.L6643:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L6644
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #0] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #2] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #4] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #6] @ movhi
+.L6644:
+ ldr lr, [r0, #-60]
+ cmp lr, #0
+ beq .L6653
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #8] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #10] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #12] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #14] @ movhi
+.L6653:
+ add ip, ip, #1
+ cmp r7, ip
+ add r5, r5, #64
+ add r4, r4, #16
+ add r0, r0, #64
+ bne .L6643
+ add r1, r1, r7, asl #6
+ add r2, r2, r7, asl #4
+.L6641:
+ ands lr, r8, #7
+ beq .L6149
+ cmp lr, #3
+ ldrls r0, [r1, #0]
+ bls .L6676
+ ldr r0, [r1, #0]
+ cmp r0, #0
+ beq .L6666
+ ands r3, r0, #255
+ ldrne r4, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #0] @ movhi
+ mov r3, r0, lsr #8
+ ands r3, r3, #255
+ ldrne r5, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r2, #2] @ movhi
+ mov r3, r0, lsr #16
+ ands r3, r3, #255
+ ldrne r6, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r2, #4] @ movhi
+ movs r3, r0, lsr #24
+ ldrne r7, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r2, #6] @ movhi
+.L6666:
+ subs lr, lr, #4
+ ldr r0, [r1, #4]
+ addne r2, r2, #8
+ beq .L6149
+.L6676:
+ mov r1, #0
+.L6677:
+ ands r3, r0, #255
+ ldrne r4, .L6976+36
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov ip, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [ip, r2] @ movhi
+ cmp lr, r1
+ mov r0, r0, lsr #8
+ bhi .L6677
+ b .L6149
+.L6220:
+ cmp r7, #0
+ add r2, r7, #7
+ movge r2, r7
+ subs r3, r7, #8
+ submi r3, r7, #1
+ mov r1, ip, lsr #3
+ mov r8, r2, asr #3
+ mov r3, r3, asr #3
+ mla r0, r8, r1, r3
+ mov r2, r6, asl #22
+ mov r2, r2, lsr #22
+ add r2, r2, r0, asl #1
+ and r3, ip, #7
+ add r3, r3, r2, asl #2
+ ldr ip, [sp, #8]
+ mov r0, r3, asl #3
+ ldr r3, .L6976+24
+ cmp r5, ip
+ add r1, r0, r3
+ blt .L6952
+ ldr ip, [sp, #4]
+ add r3, r5, r7
+ cmp r3, ip
+ bcc .L6858
+ rsb r8, r5, ip
+ cmp r8, #0
+ ble .L6149
+ ldr lr, [sp, #0]
+ movs r7, r8, lsr #3
+ add sl, lr, r5, asl #1
+ beq .L6861
+ ldr r3, .L6976+28
+ ldr r6, .L6976+36
+ add r0, r0, r3
+ mov r4, sl
+ mov r5, r1
+ mov ip, #0
+.L6863:
+ ldr lr, [r0, #68]
+ cmp lr, #0
+ beq .L6864
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #6] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #4] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #2] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #0] @ movhi
+.L6864:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L6873
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #14] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #12] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #10] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #8] @ movhi
+.L6873:
+ add ip, ip, #1
+ cmp ip, r7
+ sub r5, r5, #64
+ add r4, r4, #16
+ sub r0, r0, #64
+ bne .L6863
+ rsb r3, r7, r7, asl #26
+ add r1, r1, r3, asl #6
+ add sl, sl, r7, asl #4
+.L6861:
+ ands ip, r8, #7
+ beq .L6149
+ cmp ip, #3
+ ldrls r2, [r1, #4]
+ bls .L6896
+ ldr r2, [r1, #4]
+ cmp r2, #0
+ beq .L6886
+ ands r3, r2, #255
+ ldrne r0, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [sl, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r4, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [sl, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r5, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [sl, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r6, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [sl, #0] @ movhi
+.L6886:
+ subs ip, ip, #4
+ ldr r2, [r1, #0]
+ addne sl, sl, #8
+ beq .L6149
+.L6896:
+ mov r1, #0
+.L6897:
+ movs r3, r2, lsr #24
+ ldrne r7, .L6976+36
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ mov r0, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r0, sl] @ movhi
+ cmp ip, r1
+ mov r2, r2, asl #8
+ bhi .L6897
+ b .L6149
+.L6142:
+ mov r3, r1, lsr #4
+ ldr r4, .L6976+12
+ and r3, r3, #992
+ add r3, r3, r4
+ tst lr, #512
+ ldrh lr, [r3, #30]
+ add r2, r7, r7, lsr #31
+ add r1, sl, sl, lsr #31
+ str lr, [sp, #20]
+ mov lr, r2, asr #1
+ ldr r2, [sp, #8]
+ mov r4, r1, asr #1
+ ldrh r8, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh r3, [r3, #22]
+ moveq fp, r7
+ moveq r9, lr
+ moveq r0, r4
+ movne fp, r7, asl #1
+ movne r9, lr, asl #1
+ movne r0, r4, asl #1
+ cmp r5, r2
+ str r3, [sp, #16]
+ bge .L6180
+ rsb r2, r5, r2
+ rsb fp, r2, fp
+ cmp fp, #0
+ ble .L6149
+ ldr r5, [sp, #8]
+ rsb r9, r2, r9
+.L6180:
+ ldr r2, [sp, #4]
+ add r3, r5, fp
+ cmp r3, r2
+ blt .L6183
+ rsb fp, r5, r2
+ cmp fp, #0
+ ble .L6149
+.L6183:
+ add ip, ip, r0
+ ldr r0, [sp, #20]
+ mov r2, r1, asl #16
+ mov r1, r0, asl #16
+ ldr r0, [sp, #16]
+ mov r2, r2, asr #16
+ mov r1, r1, asr #16
+ mov r3, r8, asl #16
+ cmp r0, #0
+ str r2, [sp, #60]
+ mov r0, r6, lsr #8
+ str r1, [sp, #68]
+ ldr r2, [sp, #28]
+ ldr r1, [sp, #0]
+ mov lr, lr, asl #8
+ mov r3, r3, asr #16
+ and r0, r0, #240
+ str lr, [sp, #80]
+ str r3, [sp, #56]
+ mov r4, r4, asl #8
+ add r8, r1, r5, asl #1
+ rsb lr, ip, r2
+ str r0, [sp, #96]
+ bne .L6185
+ ldr r3, [sp, #68]
+ mla r3, lr, r3, r4
+ mov r0, r3, asr #8
+ cmp r0, sl
+ bcs .L6149
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, r6, asl #22
+ movge r3, r7
+ mov r1, r0, lsr #3
+ mov r3, r3, asr #3
+ mov r2, r2, lsr #22
+ mla ip, r3, r1, r2
+ and r0, r0, #7
+ ldr r3, .L6976+24
+ add r0, r0, ip, asl #3
+ cmp fp, #0
+ add r1, r3, r0, asl #2
+ ble .L6149
+ ldr r3, [sp, #60]
+ ldr r2, [sp, #56]
+ mul r3, lr, r3
+ mul r2, r9, r2
+ ldr r4, [sp, #80]
+ rsb r3, r2, r3
+ add r0, r4, r3
+ mov lr, r0, asr #8
+ cmp lr, r7
+ ldrcs r4, [sp, #16]
+ bcs .L6191
+ b .L6973
+.L6192:
+ cmp lr, r7
+ bcc .L6938
+.L6191:
+ ldr r5, [sp, #56]
+ add r4, r4, #1
+ add r0, r0, r5
+ cmp fp, r4
+ mov lr, r0, asr #8
+ add r8, r8, #2
+ bne .L6192
+ ldr lr, [sp, #24]
+ ldr r0, [sp, #32]
+ add lr, lr, #1
+ cmp lr, r0
+ str lr, [sp, #24]
+ bne .L6954
+.L6922:
+ add sp, sp, #104
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6153:
+ cmp r7, #0
+ add r1, r7, #7
+ mov r2, r6, asl #22
+ movge r1, r7
+ ldr r3, .L6976+24
+ mov r2, r2, lsr #22
+ mov r1, r1, asr #3
+ add r2, r3, r2, asl #5
+ mov r1, r1, asl #6
+ cmp r9, #0
+ str r2, [sp, #92]
+ str r1, [sp, #52]
+ ble .L6149
+ mov r3, fp, asl #16
+ mov fp, r3, asr #16
+ ldr r5, [sp, #40]
+ ldr r3, [sp, #44]
+ ldr r1, [sp, #48]
+ ldr r0, [sp, #48]
+ mul r2, lr, ip
+ mul r3, lr, r3
+ mul r0, r5, r0
+ mul r1, fp, r1
+ ldr r6, [sp, #84]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add r5, r6, r3
+ add r4, r4, r2
+ mov ip, r5, asr #8
+ mov lr, r4, asr #8
+ cmp ip, r7
+ cmpcc lr, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L6169
+ b .L6974
+.L6170:
+ cmp ip, r7
+ cmpcc lr, sl
+ bcc .L6171
+.L6169:
+ ldr ip, [sp, #40]
+ add r6, r6, #1
+ add r5, r5, ip
+ add r4, r4, fp
+ cmp r9, r6
+ mov ip, r5, asr #8
+ mov lr, r4, asr #8
+ add r8, r8, #2
+ bne .L6170
+ b .L6149
+.L6185:
+ cmp r7, #0
+ add r1, r7, #7
+ mov r2, r6, asl #22
+ movge r1, r7
+ ldr r3, .L6976+24
+ mov r2, r2, lsr #22
+ mov r1, r1, asr #3
+ add r2, r3, r2, asl #5
+ mov r1, r1, asl #5
+ cmp fp, #0
+ str r2, [sp, #88]
+ str r1, [sp, #72]
+ ble .L6149
+ ldr r5, [sp, #16]
+ ldr r2, [sp, #68]
+ mov r3, r5, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #64]
+ ldr r1, [sp, #64]
+ ldr r3, [sp, #60]
+ ldr r0, [sp, #56]
+ mul r2, lr, r2
+ mul r3, lr, r3
+ mul r1, r9, r1
+ mul r0, r9, r0
+ ldr r6, [sp, #80]
+ rsb r2, r1, r2
+ rsb r3, r0, r3
+ add r5, r6, r3
+ add r4, r4, r2
+ mov lr, r5, asr #8
+ mov r2, r4, asr #8
+ cmp lr, r7
+ cmpcc r2, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L6204
+ b .L6975
+.L6205:
+ cmp lr, r7
+ cmpcc r2, sl
+ bcc .L6207
+.L6204:
+ ldr lr, [sp, #64]
+ ldr ip, [sp, #56]
+ add r6, r6, #1
+ add r4, r4, lr
+ add r5, r5, ip
+ cmp fp, r6
+ mov lr, r5, asr #8
+ mov r2, r4, asr #8
+ add r8, r8, #2
+ bne .L6205
+ b .L6149
+.L6957:
+ ldr r1, [sp, #88]
+ and r0, r2, #7
+ add r0, r1, r0, asl #2
+ mov r3, r2, asr #3
+ and r1, r2, #7
+ ldr r2, [sp, #72]
+ mov ip, lr, asr #1
+ mul r2, r3, r2
+ and r9, ip, #3
+ ldr ip, [sp, #88]
+ mov r3, lr, asr #1
+ add r1, ip, r1, asl #2
+ and ip, r3, #3
+ mov r3, lr, asr #3
+ add r2, r2, r3, asl #5
+ add r3, r0, r2
+ tst lr, #1
+ add r0, r1, r2
+ ldreqb r3, [r0, ip] @ zero_extendqisi2
+ ldrneb r3, [r3, r9] @ zero_extendqisi2
+ andeq r0, r3, #15
+ movne r0, r3, lsr #4
+ ldr r2, [sp, #96]
+ cmp r0, #0
+ orr r3, r0, r2
+ ldrne ip, .L6976+36
+ mov r3, r3, asl #1
+ ldr lr, [sp, #56]
+ ldrneh r3, [r3, ip]
+ ldr r1, [sp, #64]
+ add r6, r6, #1
+ strneh r3, [r8, #0] @ movhi
+ add r5, r5, lr
+ add r4, r4, r1
+ cmp fp, r6
+ mov lr, r5, asr #8
+ mov r2, r4, asr #8
+ add r8, r8, #2
+ ble .L6149
+.L6207:
+ cmp r2, sl
+ cmpcc lr, r7
+ bcc .L6957
+ b .L6149
+.L6194:
+ cmp lr, r7
+ bcs .L6149
+.L6938:
+ mov r3, lr, asr #1
+ and r6, r3, #3
+ mov r3, lr, asr #3
+ mov r3, r3, asl #5
+ mov r2, lr, asr #1
+ tst lr, #1
+ add ip, r3, r1
+ and r5, r2, #3
+ add r2, r3, r1
+ ldreqb r3, [r2, r5] @ zero_extendqisi2
+ ldrneb r3, [ip, r6] @ zero_extendqisi2
+ andeq r2, r3, #15
+ movne r2, r3, lsr #4
+ ldr ip, [sp, #96]
+ cmp r2, #0
+ orr r3, r2, ip
+ ldrne r2, .L6976+36
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ ldr r6, [sp, #56]
+ add r4, r4, #1
+ strneh r3, [r8, #0] @ movhi
+ add r0, r0, r6
+ cmp fp, r4
+ mov lr, r0, asr #8
+ add r8, r8, #2
+ bgt .L6194
+ b .L6149
+.L6162:
+ cmp lr, r7
+ bcs .L6149
+.L6936:
+ ldr r1, [sp, #40]
+ mov r3, lr, asr #3
+ add r3, r4, r3, asl #6
+ add r0, r0, r1
+ and r1, lr, #7
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ add ip, ip, #1
+ cmp r2, #0
+ ldrne r3, .L6976+36
+ mov r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov lr, r0, asr #8
+ strneh r2, [r8, #0] @ movhi
+ cmp r9, ip
+ add r8, r8, #2
+ bgt .L6162
+ b .L6149
+.L6977:
+ .align 2
+.L6976:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word oam_ram
+ .word obj_height_table
+ .word obj_width_table
+ .word vram+65536
+ .word vram+65472
+ .word vram+65600
+ .word palette_ram_converted+512
+.L6952:
+ rsb r0, r5, ip
+ rsb r4, r0, r7
+ cmp r4, #0
+ ble .L6149
+ ldr lr, [sp, #4]
+ add r3, r5, r7
+ cmp lr, r3
+ bhi .L6705
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ sub r7, r1, r3, asl #6
+ bne .L6707
+ ldr r6, [sp, #100]
+ ldr r5, [sp, #76]
+.L6709:
+ movs r4, r6, lsr #3
+ beq .L6767
+ ldr lr, .L6976+36
+ mov r1, r5
+ mov r0, r7
+ mov ip, #0
+.L6769:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L6770
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #2] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #0] @ movhi
+.L6770:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L6779
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #12] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #10] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #8] @ movhi
+.L6779:
+ add ip, ip, #1
+ cmp ip, r4
+ sub r0, r0, #64
+ add r1, r1, #16
+ bne .L6769
+ rsb r3, r4, r4, asl #26
+ add r7, r7, r3, asl #6
+ add r5, r5, r4, asl #4
+.L6767:
+ ands ip, r6, #7
+ beq .L6149
+ cmp ip, #3
+ ldrls r2, [r7, #4]
+ bls .L6802
+ ldr r2, [r7, #4]
+ cmp r2, #0
+ beq .L6792
+ ands r3, r2, #255
+ ldrne lr, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r0, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r1]
+ strneh r3, [r5, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r2, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r5, #0] @ movhi
+.L6792:
+ subs ip, ip, #4
+ ldr r2, [r7, #0]
+ addne r5, r5, #8
+ beq .L6149
+.L6802:
+ mov r1, #0
+.L6803:
+ movs r3, r2, lsr #24
+ ldrne r4, .L6976+36
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r0, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r0, r5] @ movhi
+ cmp ip, r1
+ mov r2, r2, asl #8
+ bhi .L6803
+ b .L6149
+.L6951:
+ rsb r0, r5, ip
+ rsb r4, r0, r7
+ cmp r4, #0
+ ble .L6149
+ ldr lr, [sp, #4]
+ add r3, r5, r7
+ cmp lr, r3
+ bhi .L6485
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ add r7, r1, r3, asl #6
+ bne .L6487
+ ldr r6, [sp, #100]
+ ldr r5, [sp, #76]
+.L6489:
+ movs r4, r6, lsr #3
+ beq .L6547
+ ldr lr, .L6976+36
+ mov r1, r5
+ mov r0, r7
+ mov ip, #0
+.L6549:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L6550
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #6] @ movhi
+.L6550:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L6559
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #10] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #12] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #14] @ movhi
+.L6559:
+ add ip, ip, #1
+ cmp r4, ip
+ add r0, r0, #64
+ add r1, r1, #16
+ bne .L6549
+ add r7, r7, r4, asl #6
+ add r5, r5, r4, asl #4
+.L6547:
+ ands ip, r6, #7
+ beq .L6149
+ cmp ip, #3
+ ldrls r1, [r7, #0]
+ bls .L6582
+ ldr r2, [r7, #0]
+ cmp r2, #0
+ beq .L6572
+ ands r3, r2, #255
+ ldrne lr, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r5, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r0, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [r5, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r1]
+ strneh r3, [r5, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r2, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r5, #6] @ movhi
+.L6572:
+ subs ip, ip, #4
+ ldr r1, [r7, #4]
+ addne r5, r5, #8
+ beq .L6149
+.L6582:
+ mov r2, #0
+.L6583:
+ ands r3, r1, #255
+ ldrne r4, .L6976+36
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r0, r2, asl #1
+ add r2, r2, #1
+ strneh r3, [r0, r5] @ movhi
+ cmp ip, r2
+ mov r1, r1, lsr #8
+ bhi .L6583
+ b .L6149
+.L6950:
+ rsb lr, r5, ip
+ rsb ip, lr, r7
+ cmp ip, #0
+ ble .L6149
+ ldr r2, [sp, #4]
+ add r3, r5, r7
+ cmp r2, r3
+ bhi .L6355
+ mov r3, lr, lsr #3
+ ands r4, lr, #7
+ sub r0, r0, r3, asl #5
+ bne .L6357
+ ldr r2, [sp, #100]
+ ldr sl, [sp, #76]
+.L6359:
+ movs r8, r2, lsr #3
+ beq .L6376
+ ldr r7, .L6976+36
+ mov r4, sl
+ mov r5, r0
+ mov r6, #0
+.L6378:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L6379
+ ands r3, lr, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #14] @ movhi
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #12] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #10] @ movhi
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #8] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #6] @ movhi
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #4] @ movhi
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #2] @ movhi
+ movs r3, lr, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #0] @ movhi
+.L6379:
+ add r6, r6, #1
+ cmp r6, r8
+ sub r5, r5, #32
+ add r4, r4, #16
+ bne .L6378
+ rsb r3, r8, r8, asl #27
+ add r0, r0, r3, asl #5
+ add sl, sl, r8, asl #4
+.L6376:
+ ands lr, r2, #7
+ beq .L6149
+ ldr r0, [r0, #0]
+ ldr r4, .L6976+36
+ mov ip, #0
+.L6398:
+ movs r3, r0, lsr #28
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r2, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r2, sl] @ movhi
+ cmp ip, lr
+ mov r0, r0, asl #4
+ bne .L6398
+ b .L6149
+.L6949:
+ ldr r2, [sp, #8]
+ rsb lr, r5, r2
+ rsb r4, lr, r7
+ cmp r4, #0
+ ble .L6149
+ add r3, r5, r7
+ ldr r5, [sp, #4]
+ cmp r5, r3
+ bhi .L6225
+ mov r3, lr, lsr #3
+ mov r2, r3, asl #5
+ ands r3, lr, #7
+ add r6, r0, r2
+ bne .L6227
+ ldr r8, [sp, #100]
+ ldr r7, [sp, #76]
+.L6229:
+ movs r5, r8, lsr #3
+ beq .L6246
+ ldr r4, .L6976+36
+ mov ip, r7
+ mov r0, r6
+ mov lr, #0
+.L6248:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L6249
+ ands r3, r2, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #14] @ movhi
+.L6249:
+ add lr, lr, #1
+ cmp r5, lr
+ add r0, r0, #32
+ add ip, ip, #16
+ bne .L6248
+ add r6, r6, r5, asl #5
+ add r7, r7, r5, asl #4
+.L6246:
+ ands lr, r8, #7
+ beq .L6149
+ ldr r2, [r6, #0]
+ ldr r4, .L6976+36
+ mov r0, #0
+.L6268:
+ ands r3, r2, #15
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov ip, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [ip, r7] @ movhi
+ cmp r0, lr
+ mov r2, r2, lsr #4
+ bne .L6268
+ b .L6149
+.L6974:
+ mov r6, #0
+.L6171:
+ cmp lr, sl
+ movcc r3, #0
+ movcs r3, #1
+ cmp r7, ip
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L6937
+ b .L6149
+.L6172:
+ cmp lr, sl
+ cmpcc ip, r7
+ bcs .L6149
+.L6937:
+ ldr r0, [sp, #40]
+ and r3, lr, #7
+ mov r2, ip, asr #3
+ ldr r1, [sp, #92]
+ mov r3, r3, asl #3
+ add r5, r5, r0
+ add r3, r3, r2, asl #6
+ ldr r0, [sp, #52]
+ mov r2, lr, asr #3
+ add r3, r3, r1
+ mla r0, r2, r0, r3
+ and r1, ip, #7
+ ldrb r3, [r0, r1] @ zero_extendqisi2
+ add r6, r6, #1
+ cmp r3, #0
+ ldrne r2, .L6976+36
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ add r4, r4, fp
+ strneh r3, [r8, #0] @ movhi
+ cmp r9, r6
+ mov lr, r4, asr #8
+ mov ip, r5, asr #8
+ add r8, r8, #2
+ bgt .L6172
+ b .L6149
+.L6433:
+ cmp r8, #0
+ beq .L6149
+ ldr r6, [sp, #0]
+ ldr r4, .L6976+36
+ add r2, r6, r5, asl #1
+ mov ip, #0
+ b .L6463
+.L6958:
+ sub r0, r0, #32
+ add r2, r2, #16
+.L6463:
+ ldr lr, [r0, #0]
+ cmp lr, #0
+ beq .L6464
+ ands r3, lr, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #14] @ movhi
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #12] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #10] @ movhi
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #8] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #6] @ movhi
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #4] @ movhi
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #2] @ movhi
+ movs r3, lr, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #0] @ movhi
+.L6464:
+ add ip, ip, #1
+ cmp r8, ip
+ bne .L6958
+ b .L6149
+.L6858:
+ cmp r8, #0
+ beq .L6149
+ ldr ip, [sp, #0]
+ ldr r3, .L6976+28
+ ldr r4, .L6976+36
+ add r2, ip, r5, asl #1
+ add r0, r0, r3
+ mov ip, #0
+ b .L6902
+.L6959:
+ sub r1, r1, #64
+ add r2, r2, #16
+.L6902:
+ ldr lr, [r0, #68]
+ cmp lr, #0
+ beq .L6903
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #6] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #4] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #2] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #0] @ movhi
+.L6903:
+ ldr lr, [r1, #0]
+ cmp lr, #0
+ beq .L6912
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #14] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #12] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #10] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #8] @ movhi
+.L6912:
+ add ip, ip, #1
+ cmp r8, ip
+ sub r0, r0, #64
+ bne .L6959
+ b .L6149
+.L6303:
+ cmp r8, #0
+ beq .L6149
+ ldr r6, [sp, #0]
+ ldr r4, .L6976+36
+ add r2, r6, r5, asl #1
+ mov ip, #0
+ b .L6333
+.L6960:
+ add r0, r0, #32
+ add r2, r2, #16
+.L6333:
+ ldr lr, [r0, #0]
+ cmp lr, #0
+ beq .L6334
+ ands r3, lr, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #0] @ movhi
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #2] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #4] @ movhi
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #6] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #8] @ movhi
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #10] @ movhi
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #12] @ movhi
+ movs r3, lr, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #14] @ movhi
+.L6334:
+ add ip, ip, #1
+ cmp r8, ip
+ bne .L6960
+ b .L6149
+.L6638:
+ cmp r6, #0
+ beq .L6149
+ ldr r3, .L6976+32
+ ldr r7, [sp, #0]
+ ldr r4, .L6976+36
+ add r0, r0, r3
+ add r2, r7, r5, asl #1
+ mov ip, #0
+ b .L6682
+.L6961:
+ add r1, r1, #64
+ add r2, r2, #16
+.L6682:
+ ldr lr, [r1, #0]
+ cmp lr, #0
+ beq .L6683
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #0] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #2] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #4] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #6] @ movhi
+.L6683:
+ ldr lr, [r0, #-60]
+ cmp lr, #0
+ beq .L6692
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #8] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #10] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #12] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #14] @ movhi
+.L6692:
+ add ip, ip, #1
+ cmp r6, ip
+ add r0, r0, #64
+ bne .L6961
+ b .L6149
+.L6485:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ add r0, r1, r3, asl #6
+ ldreq r1, [sp, #76]
+ beq .L6589
+ cmp r2, #3
+ rsb lr, r2, #8
+ bhi .L6962
+ subs r5, lr, #4
+ ldr r1, [r0, #0]
+ ldreq r1, [sp, #76]
+ beq .L6602
+ mov r3, r2, asl #3
+ mov r2, r1, lsr r3
+ ldr r6, .L6976+36
+ mov ip, #0
+.L6603:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldrne r7, [sp, #76]
+ mov r1, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r1, r7] @ movhi
+ cmp ip, r5
+ mov r2, r2, lsr #8
+ bne .L6603
+ ldr ip, [sp, #76]
+ add r3, ip, lr, asl #1
+ sub r1, r3, #8
+.L6602:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L6608
+ ands r3, r2, #255
+ ldrne lr, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r5, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r6, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r7, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r1, #6] @ movhi
+.L6608:
+ add r1, r1, #8
+.L6594:
+ add r0, r0, #64
+.L6589:
+ movs r4, r4, lsr #3
+ beq .L6149
+ ldr ip, .L6976+36
+ mov lr, #0
+ b .L6618
+.L6963:
+ add r0, r0, #64
+ add r1, r1, #16
+.L6618:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L6619
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #6] @ movhi
+.L6619:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L6628
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #10] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #12] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #14] @ movhi
+.L6628:
+ add lr, lr, #1
+ cmp r4, lr
+ bne .L6963
+ b .L6149
+.L6355:
+ ands r2, lr, #7
+ mov r3, lr, lsr #3
+ sub r0, r0, r3, asl #5
+ ldreq r4, [sp, #76]
+ beq .L6404
+ rsbs r6, r2, #8
+ ldr lr, [r0, #0]
+ ldreq r4, [sp, #76]
+ beq .L6407
+ mov r3, r2, asl #2
+ mov lr, lr, asl r3
+ ldr r2, .L6976+36
+ mov r5, #0
+.L6408:
+ movs r3, lr, lsr #28
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ ldrne r7, [sp, #76]
+ mov r4, r5, asl #1
+ add r5, r5, #1
+ strneh r3, [r4, r7] @ movhi
+ cmp r6, r5
+ mov lr, lr, asl #4
+ bne .L6408
+ ldr lr, [sp, #76]
+ add r4, lr, r6, asl #1
+.L6407:
+ sub r0, r0, #32
+.L6404:
+ movs r5, ip, lsr #3
+ beq .L6149
+ ldr r2, .L6976+36
+ mov ip, #0
+ b .L6414
+.L6964:
+ sub r0, r0, #32
+ add r4, r4, #16
+.L6414:
+ ldr lr, [r0, #0]
+ cmp lr, #0
+ beq .L6415
+ ands r3, lr, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #14] @ movhi
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #12] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #10] @ movhi
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #8] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #6] @ movhi
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #4] @ movhi
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #2] @ movhi
+ movs r3, lr, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #0] @ movhi
+.L6415:
+ add ip, ip, #1
+ cmp ip, r5
+ bne .L6964
+ b .L6149
+.L6705:
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ sub r2, r1, r3, asl #6
+ ldreq r0, [sp, #76]
+ beq .L6809
+ cmp ip, #3
+ rsb lr, ip, #8
+ bhi .L6965
+ subs r5, lr, #4
+ ldr r1, [r2, #4]
+ ldreq r0, [sp, #76]
+ beq .L6822
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ ldr r6, .L6976+36
+ mov ip, #0
+.L6823:
+ movs r3, r1, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldrne r7, [sp, #76]
+ mov r0, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r0, r7] @ movhi
+ cmp r5, ip
+ mov r1, r1, asl #8
+ bne .L6823
+ ldr ip, [sp, #76]
+ add r3, ip, lr, asl #1
+ sub r0, r3, #8
+.L6822:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L6828
+ ands r3, r1, #255
+ ldrne lr, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r5, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r6, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r1, lsr #24
+ ldrne r7, .L6976+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #0] @ movhi
+.L6828:
+ add r0, r0, #8
+.L6814:
+ sub r2, r2, #64
+.L6809:
+ movs r4, r4, lsr #3
+ beq .L6149
+ ldr ip, .L6976+36
+ mov lr, #0
+ b .L6838
+.L6966:
+ sub r2, r2, #64
+ add r0, r0, #16
+.L6838:
+ ldr r1, [r2, #4]
+ cmp r1, #0
+ beq .L6839
+ ands r3, r1, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r1, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #0] @ movhi
+.L6839:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L6848
+ ands r3, r1, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #14] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #12] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #10] @ movhi
+ movs r3, r1, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #8] @ movhi
+.L6848:
+ add lr, lr, #1
+ cmp lr, r4
+ bne .L6966
+ b .L6149
+.L6225:
+ mov r3, lr, lsr #3
+ mov r2, r3, asl #5
+ ands r3, lr, #7
+ ldreq ip, [sp, #76]
+ add lr, r0, r2
+ beq .L6274
+ rsbs r5, r3, #8
+ ldr r0, [r0, r2]
+ ldreq ip, [sp, #76]
+ beq .L6277
+ mov r3, r3, asl #2
+ mov r0, r0, lsr r3
+ ldr r6, .L6976+36
+ mov ip, #0
+.L6278:
+ ands r3, r0, #15
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldrne r7, [sp, #76]
+ mov r2, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r2, r7] @ movhi
+ cmp ip, r5
+ mov r0, r0, lsr #4
+ bne .L6278
+ ldr r0, [sp, #76]
+ add ip, r0, r5, asl #1
+.L6277:
+ add lr, lr, #32
+.L6274:
+ movs r5, r4, lsr #3
+ beq .L6149
+ ldr r0, .L6978
+ mov r4, #0
+ b .L6284
+.L6967:
+ add lr, lr, #32
+ add ip, ip, #16
+.L6284:
+ ldr r2, [lr, #0]
+ cmp r2, #0
+ beq .L6285
+ ands r3, r2, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #14] @ movhi
+.L6285:
+ add r4, r4, #1
+ cmp r4, r5
+ bne .L6967
+ b .L6149
+.L6487:
+ ldr r0, [sp, #100]
+ rsb lr, ip, #8
+ cmp r0, lr
+ blt .L6968
+ cmp ip, #3
+ bls .L6520
+ cmp lr, #0
+ ldr r2, [r7, #4]
+ ldreq r5, [sp, #76]
+ beq .L6524
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ ldr ip, .L6978
+ mov r0, #0
+.L6525:
+ ands r3, r1, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldrne r4, [sp, #76]
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp lr, r0
+ mov r1, r1, lsr #8
+ bne .L6525
+ ldr r6, [sp, #76]
+ add r5, r6, lr, asl #1
+.L6524:
+ ldr ip, [sp, #100]
+ add r7, r7, #64
+ rsb r6, lr, ip
+ b .L6489
+.L6357:
+ ldr r3, [sp, #100]
+ rsb r6, r4, #8
+ cmp r3, r6
+ blt .L6969
+ cmp r6, #0
+ ldr r2, [r0, #0]
+ ldreq sl, [sp, #76]
+ beq .L6370
+ mov r3, r4, asl #2
+ mov lr, r2, asl r3
+ ldr r2, .L6978
+ mov r5, #0
+.L6371:
+ movs r3, lr, lsr #28
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ ldrne r7, [sp, #76]
+ mov r4, r5, asl #1
+ add r5, r5, #1
+ strneh r3, [r4, r7] @ movhi
+ cmp r6, r5
+ mov lr, lr, asl #4
+ bne .L6371
+ ldr ip, [sp, #76]
+ add sl, ip, r6, asl #1
+.L6370:
+ ldr lr, [sp, #100]
+ sub r0, r0, #32
+ rsb r2, r6, lr
+ b .L6359
+.L6227:
+ ldr r7, [sp, #100]
+ rsb lr, r3, #8
+ cmp r7, lr
+ blt .L6970
+ cmp lr, #0
+ ldr r2, [r6, #0]
+ ldreq r7, [sp, #76]
+ beq .L6240
+ mov r3, r3, asl #2
+ mov r2, r2, lsr r3
+ ldr r4, .L6978
+ mov ip, #0
+.L6241:
+ ands r3, r2, #15
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ ldrne r7, [sp, #76]
+ mov r0, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r0, r7] @ movhi
+ cmp lr, ip
+ mov r2, r2, lsr #4
+ bne .L6241
+ ldr ip, [sp, #76]
+ add r7, ip, lr, asl #1
+.L6240:
+ ldr r0, [sp, #100]
+ add r6, r6, #32
+ rsb r8, lr, r0
+ b .L6229
+.L6707:
+ ldr r0, [sp, #100]
+ rsb lr, ip, #8
+ cmp r0, lr
+ blt .L6971
+ cmp ip, #3
+ bls .L6740
+ cmp lr, #0
+ ldr r2, [r7, #0]
+ ldreq r5, [sp, #76]
+ beq .L6744
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ ldr ip, .L6978
+ mov r0, #0
+.L6745:
+ movs r3, r2, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldrne r4, [sp, #76]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r4] @ movhi
+ cmp lr, r0
+ mov r2, r2, asl #8
+ bne .L6745
+ ldr r6, [sp, #76]
+ add r5, r6, lr, asl #1
+.L6744:
+ ldr ip, [sp, #100]
+ sub r7, r7, #64
+ rsb r6, lr, ip
+ b .L6709
+.L6971:
+ cmp r0, #0
+ ble .L6149
+ cmp ip, #3
+ bls .L6713
+ mov r3, ip, asl #3
+ ldr r2, [r7, #0]
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ ldr ip, .L6978
+ mov r0, #0
+.L6716:
+ movs r3, r2, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldrne r4, [sp, #76]
+ ldr r5, [sp, #100]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r4] @ movhi
+ cmp r5, r0
+ mov r2, r2, asl #8
+ bne .L6716
+ b .L6149
+.L6970:
+ cmp r7, #0
+ ble .L6149
+ ldr r2, [r0, r2]
+ mov r3, r3, asl #2
+ mov r0, r2, lsr r3
+ ldr lr, .L6978
+ mov ip, #0
+.L6234:
+ ands r3, r0, #15
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ ldrne r4, [sp, #76]
+ ldr r5, [sp, #100]
+ mov r2, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp r5, ip
+ mov r0, r0, lsr #4
+ bne .L6234
+ b .L6149
+.L6969:
+ cmp r3, #0
+ ble .L6149
+ ldr r2, [r0, #0]
+ mov r3, r4, asl #2
+ mov r0, r2, asl r3
+ ldr lr, .L6978
+ mov ip, #0
+.L6364:
+ movs r3, r0, lsr #28
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ ldrne r4, [sp, #76]
+ ldr r5, [sp, #100]
+ mov r2, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp r5, ip
+ mov r0, r0, asl #4
+ bne .L6364
+ b .L6149
+.L6965:
+ cmp lr, #0
+ ldr r1, [r2, #0]
+ ldreq r0, [sp, #76]
+ beq .L6814
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ ldr r5, .L6978
+ mov ip, #0
+.L6815:
+ movs r3, r1, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldrne r6, [sp, #76]
+ mov r0, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r0, r6] @ movhi
+ cmp ip, lr
+ mov r1, r1, asl #8
+ bne .L6815
+ ldr r7, [sp, #76]
+ sub r2, r2, #64
+ add r0, r7, lr, asl #1
+ b .L6809
+.L6962:
+ cmp lr, #0
+ ldr r1, [r0, #4]
+ ldreq r1, [sp, #76]
+ beq .L6594
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r2, r1, lsr r3
+ ldr r5, .L6978
+ mov ip, #0
+.L6595:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldrne r6, [sp, #76]
+ mov r1, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r1, r6] @ movhi
+ cmp ip, lr
+ mov r2, r2, lsr #8
+ bne .L6595
+ ldr r7, [sp, #76]
+ add r0, r0, #64
+ add r1, r7, lr, asl #1
+ b .L6589
+.L6968:
+ cmp r0, #0
+ ble .L6149
+ cmp ip, #3
+ bls .L6493
+ mov r3, ip, asl #3
+ ldr r2, [r7, #4]
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ ldr ip, .L6978
+ mov r0, #0
+.L6496:
+ ands r3, r1, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldrne r4, [sp, #76]
+ ldr r5, [sp, #100]
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp r5, r0
+ mov r1, r1, lsr #8
+ bne .L6496
+ b .L6149
+.L6975:
+ mov r6, #0
+ b .L6207
+.L6740:
+ subs r4, lr, #4
+ ldr r2, [r7, #4]
+ ldreq r1, [sp, #76]
+ beq .L6752
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ ldr ip, .L6978
+ mov r0, #0
+.L6753:
+ movs r3, r2, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldrne r5, [sp, #76]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r5] @ movhi
+ cmp r4, r0
+ mov r2, r2, asl #8
+ bne .L6753
+ ldr r6, [sp, #76]
+ add r3, r6, lr, asl #1
+ sub r1, r3, #8
+.L6752:
+ ldr r2, [r7, #0]
+ cmp r2, #0
+ beq .L6758
+ ands r3, r2, #255
+ ldrne ip, .L6978
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r0, .L6978
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [r1, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r4, .L6978
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r1, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r5, .L6978
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r1, #0] @ movhi
+.L6758:
+ add r5, r1, #8
+ b .L6744
+.L6520:
+ subs r4, lr, #4
+ ldr r2, [r7, #0]
+ ldreq r1, [sp, #76]
+ beq .L6532
+ mov r3, ip, asl #3
+ mov r1, r2, lsr r3
+ ldr ip, .L6978
+ mov r0, #0
+.L6533:
+ ands r3, r1, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldrne r5, [sp, #76]
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r5] @ movhi
+ cmp r0, r4
+ mov r1, r1, lsr #8
+ bne .L6533
+ ldr r6, [sp, #76]
+ add r3, r6, lr, asl #1
+ sub r1, r3, #8
+.L6532:
+ ldr r2, [r7, #4]
+ cmp r2, #0
+ beq .L6538
+ ands r3, r2, #255
+ ldrne ip, .L6978
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r0, .L6978
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r4, .L6978
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r5, .L6978
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r1, #6] @ movhi
+.L6538:
+ add r5, r1, #8
+ b .L6524
+.L6973:
+ ldr r4, [sp, #16]
+ b .L6938
+.L6972:
+ mov ip, fp
+ b .L6936
+.L6713:
+ ldr r6, [sp, #100]
+ mov r3, ip, asl #3
+ ldr r1, [r7, #4]
+ add r2, r6, ip
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L6720
+ cmp r6, #0
+ ldrne ip, .L6978
+ movne r0, #0
+ beq .L6149
+.L6736:
+ movs r3, r1, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldrne r7, [sp, #76]
+ ldr lr, [sp, #100]
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r7] @ movhi
+ cmp lr, r0
+ mov r1, r1, asl #8
+ bne .L6736
+ b .L6149
+.L6493:
+ ldr r6, [sp, #100]
+ ldr r3, [r7, #0]
+ add r2, r6, ip
+ cmp r2, #4
+ mov r1, ip, asl #3
+ mov r2, r3, lsr r1
+ bhi .L6500
+ cmp r6, #0
+ ldrne ip, .L6978
+ movne r0, #0
+ beq .L6149
+.L6516:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldrne r7, [sp, #76]
+ ldr lr, [sp, #100]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r7] @ movhi
+ cmp lr, r0
+ mov r2, r2, lsr #8
+ bne .L6516
+ b .L6149
+.L6720:
+ rsbs ip, ip, #4
+ ldreq lr, [sp, #76]
+ beq .L6725
+ ldr lr, .L6978
+ mov r0, #0
+.L6726:
+ movs r3, r1, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ ldrne r4, [sp, #76]
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp r0, ip
+ mov r1, r1, asl #8
+ bne .L6726
+ ldr r5, [sp, #76]
+ add lr, r5, ip, asl #1
+.L6725:
+ ldr r6, [sp, #100]
+ ldr r2, [r7, #0]
+ subs ip, r6, ip
+ beq .L6149
+ ldr r4, .L6978
+ mov r0, #0
+.L6732:
+ movs r3, r2, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r0, ip
+ mov r2, r2, asl #8
+ bne .L6732
+ b .L6149
+.L6500:
+ rsbs ip, ip, #4
+ ldreq lr, [sp, #76]
+ beq .L6505
+ ldr lr, .L6978
+ mov r0, #0
+.L6506:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ ldrne r4, [sp, #76]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r4] @ movhi
+ cmp r0, ip
+ mov r2, r2, lsr #8
+ bne .L6506
+ ldr r5, [sp, #76]
+ add lr, r5, ip, asl #1
+.L6505:
+ ldr r6, [sp, #100]
+ ldr r2, [r7, #4]
+ subs ip, r6, ip
+ beq .L6149
+ ldr r4, .L6978
+ mov r0, #0
+.L6512:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r0, ip
+ mov r2, r2, lsr #8
+ bne .L6512
+ b .L6149
+.L6979:
+ .align 2
+.L6978:
+ .word palette_ram_converted+512
+ .size render_scanline_obj_normal_1D, .-render_scanline_obj_normal_1D
+ .align 2
+ .global render_scanline_obj_normal_2D
+ .type render_scanline_obj_normal_2D, %function
+render_scanline_obj_normal_2D:
+ @ args = 0, pretend = 0, frame = 92
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr ip, .L7822
+ sub sp, sp, #92
+ ldrh ip, [ip, #6]
+ add r0, r0, r0, asl #2
+ add r0, ip, r0, asl #5
+ str ip, [sp, #32]
+ ldr ip, .L7822+4
+ str r1, [sp, #12]
+ ldr ip, [ip, r0, asl #2]
+ str r2, [sp, #8]
+ str ip, [sp, #36]
+ cmp ip, #0
+ ldr ip, .L7822+8
+ str r3, [sp, #4]
+ add r0, ip, r0, asl #7
+ str r0, [sp, #40]
+ beq .L7768
+ add r0, r3, r1, asl #1
+ rsb r1, r1, r2
+ mov r2, #0
+ str r0, [sp, #64]
+ str r1, [sp, #88]
+ str r2, [sp, #28]
+ mov r4, r2
+.L6983:
+ ldr r5, [sp, #40]
+ ldr r6, .L7822+12
+ ldrb r3, [r4, r5] @ zero_extendqisi2
+ ldr r7, .L7822+16
+ mov r3, r3, asl #3
+ ldrh lr, [r3, r6]
+ add r3, r3, r6
+ ldrh r1, [r3, #2]
+ mov r4, lr, lsr #12
+ and r2, r4, #12
+ orr r0, r2, r1, lsr #14
+ and ip, lr, #255
+ mov r2, r1, asl #23
+ cmp ip, #160
+ mov r5, r2, asr #23
+ ldr r2, .L7822+20
+ subgt ip, ip, #256
+ tst lr, #256
+ ldrh r6, [r3, #4]
+ ldr r8, [r7, r0, asl #2]
+ ldr sl, [r2, r0, asl #2]
+ beq .L6986
+ tst lr, #8192
+ beq .L6988
+ mov r3, r1, lsr #4
+ ldr r4, .L7822+12
+ add r2, r8, r8, lsr #31
+ and r3, r3, #992
+ tst lr, #512
+ add r3, r3, r4
+ mov lr, r2, asr #1
+ add r1, sl, sl, lsr #31
+ ldr r2, [sp, #12]
+ mov r4, r1, asr #1
+ movne r0, lr, asl #1
+ ldrh r7, [r3, #30]
+ strne r0, [sp, #48]
+ moveq r9, r8
+ streq lr, [sp, #48]
+ moveq r0, r4
+ movne r9, r8, asl #1
+ movne r0, r4, asl #1
+ cmp r5, r2
+ str r7, [sp, #16]
+ ldrh r1, [r3, #14]
+ ldrh r7, [r3, #6]
+ ldrh fp, [r3, #22]
+ bge .L6993
+ rsb r2, r5, r2
+ rsb r9, r2, r9
+ cmp r9, #0
+ ble .L6995
+ ldr r3, [sp, #48]
+ ldr r5, [sp, #12]
+ rsb r3, r2, r3
+ str r3, [sp, #48]
+.L6993:
+ ldr r2, [sp, #8]
+ add r3, r5, r9
+ cmp r3, r2
+ blt .L6997
+ rsb r9, r5, r2
+ cmp r9, #0
+ ble .L6995
+.L6997:
+ mov r3, r7, asl #16
+ mov r2, r1, asl #16
+ ldr r7, [sp, #16]
+ mov r3, r3, asr #16
+ add r0, ip, r0
+ str r3, [sp, #44]
+ mov ip, r2, asr #16
+ ldr r3, [sp, #32]
+ ldr r2, [sp, #4]
+ mov r1, r7, asl #16
+ mov lr, lr, asl #8
+ cmp fp, #0
+ str lr, [sp, #72]
+ mov r1, r1, asr #16
+ mov lr, r4, asl #8
+ add r7, r2, r5, asl #1
+ rsb r0, r0, r3
+ bne .L6999
+ mla r3, r0, r1, lr
+ mov r1, r3, asr #8
+ cmp r1, sl
+ bcs .L6995
+ mov r3, r6, asl #22
+ mov r2, r1, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r1, #7
+ add r1, r1, r3, asl #2
+ ldr r3, .L7822+24
+ cmp r9, #0
+ add r4, r3, r1, asl #3
+ ble .L6995
+ ldr r2, [sp, #48]
+ ldr r5, [sp, #44]
+ mul r3, r0, ip
+ mul r2, r5, r2
+ ldr r6, [sp, #72]
+ rsb r3, r2, r3
+ add r0, r6, r3
+ mov lr, r0, asr #8
+ cmp lr, r8
+ movcs ip, fp
+ bcs .L7005
+ b .L7818
+.L7006:
+ cmp lr, r8
+ bcc .L7782
+.L7005:
+ ldr lr, [sp, #44]
+ add ip, ip, #1
+ add r0, r0, lr
+ cmp r9, ip
+ mov lr, r0, asr #8
+ add r7, r7, #2
+ bne .L7006
+.L6995:
+ ldr r0, [sp, #28]
+ ldr r1, [sp, #36]
+ add r0, r0, #1
+ cmp r0, r1
+ str r0, [sp, #28]
+ beq .L7768
+.L7800:
+ ldr r4, [sp, #28]
+ b .L6983
+.L6986:
+ ldr r2, [sp, #32]
+ tst r1, #8192
+ rsb r0, ip, r2
+ rsbne r3, r0, sl
+ subne r0, r3, #1
+ mov r2, r1, asl #19
+ and r3, r4, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L6995
+ .p2align 2
+.L7067:
+ .word .L7063
+ .word .L7064
+ .word .L7065
+ .word .L7066
+.L7063:
+ mov r3, r6, asl #22
+ mov r2, r0, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r0, #7
+ add r1, r1, r3, asl #3
+ ldr r3, [sp, #12]
+ mov r2, r6, lsr #8
+ cmp r5, r3
+ ldr r3, .L7822+24
+ add r0, r3, r1, asl #2
+ and r1, r2, #240
+ blt .L7795
+ ldr r2, [sp, #8]
+ add r3, r5, r8
+ cmp r2, r3
+ bhi .L7149
+ rsb r8, r5, r2
+ cmp r8, #0
+ ble .L6995
+ ldr r3, [sp, #4]
+ movs r7, r8, lsr #3
+ add r2, r3, r5, asl #1
+ beq .L7152
+ ldr r6, .L7822+36
+ mov r4, r2
+ mov r5, r0
+ mov ip, #0
+.L7154:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L7155
+ ands r3, lr, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #0] @ movhi
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #2] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #4] @ movhi
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #6] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #8] @ movhi
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #10] @ movhi
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #12] @ movhi
+ movs r3, lr, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #14] @ movhi
+.L7155:
+ add ip, ip, #1
+ cmp ip, r7
+ add r5, r5, #32
+ add r4, r4, #16
+ bne .L7154
+ add r0, r0, r7, asl #5
+ add r2, r2, r7, asl #4
+.L7152:
+ ands r4, r8, #7
+ beq .L6995
+ ldr r0, [r0, #0]
+ ldr r5, .L7822+36
+ mov lr, #0
+.L7174:
+ ands r3, r0, #15
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ mov ip, lr, asl #1
+ add lr, lr, #1
+ strneh r3, [ip, r2] @ movhi
+ cmp lr, r4
+ mov r0, r0, lsr #4
+ bne .L7174
+ b .L6995
+.L7064:
+ mov r3, r6, asl #22
+ mov r1, r0, lsr #3
+ subs r2, r8, #8
+ mov r3, r3, lsr #22
+ submi r2, r8, #1
+ add r3, r3, r1, asl #5
+ add r3, r3, r2, asr #3
+ and r1, r0, #7
+ ldr ip, [sp, #12]
+ add r1, r1, r3, asl #3
+ ldr r3, .L7822+24
+ mov r2, r6, lsr #8
+ cmp r5, ip
+ add r0, r3, r1, asl #2
+ and r1, r2, #240
+ blt .L7796
+ ldr r2, [sp, #8]
+ add r3, r5, r8
+ cmp r2, r3
+ bhi .L7279
+ rsb r8, r5, r2
+ cmp r8, #0
+ ble .L6995
+ ldr r3, [sp, #4]
+ movs r7, r8, lsr #3
+ add r2, r3, r5, asl #1
+ beq .L7282
+ ldr r6, .L7822+36
+ mov r4, r2
+ mov r5, r0
+ mov ip, #0
+.L7284:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L7285
+ ands r3, lr, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #14] @ movhi
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #12] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #10] @ movhi
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #8] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #6] @ movhi
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #4] @ movhi
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #2] @ movhi
+ movs r3, lr, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #0] @ movhi
+.L7285:
+ add ip, ip, #1
+ cmp ip, r7
+ sub r5, r5, #32
+ add r4, r4, #16
+ bne .L7284
+ rsb r3, r7, r7, asl #27
+ add r0, r0, r3, asl #5
+ add r2, r2, r7, asl #4
+.L7282:
+ ands r4, r8, #7
+ beq .L6995
+ ldr r0, [r0, #0]
+ ldr r5, .L7822+36
+ mov lr, #0
+.L7304:
+ movs r3, r0, lsr #28
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ mov ip, lr, asl #1
+ add lr, lr, #1
+ strneh r3, [ip, r2] @ movhi
+ cmp lr, r4
+ mov r0, r0, asl #4
+ bne .L7304
+ b .L6995
+.L7065:
+ mov r2, r6, asl #22
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ and r3, r0, #7
+ add r2, r2, r1, asl #5
+ add r3, r3, r2, asl #2
+ ldr ip, [sp, #12]
+ mov r0, r3, asl #3
+ ldr r3, .L7822+24
+ cmp r5, ip
+ add ip, r0, r3
+ blt .L7797
+ ldr lr, [sp, #8]
+ add r3, r5, r8
+ cmp lr, r3
+ bhi .L7484
+ rsb r8, r5, lr
+ cmp r8, #0
+ ble .L6995
+ ldr r1, [sp, #4]
+ movs r7, r8, lsr #3
+ add r2, r1, r5, asl #1
+ beq .L7487
+ ldr r3, .L7822+32
+ ldr r6, .L7822+36
+ add r0, r0, r3
+ mov r4, r2
+ mov r5, ip
+ mov r1, #0
+.L7489:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L7490
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #0] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #2] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #4] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #6] @ movhi
+.L7490:
+ ldr lr, [r0, #-60]
+ cmp lr, #0
+ beq .L7499
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #8] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #10] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #12] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #14] @ movhi
+.L7499:
+ add r1, r1, #1
+ cmp r7, r1
+ add r5, r5, #64
+ add r4, r4, #16
+ add r0, r0, #64
+ bne .L7489
+ add ip, ip, r7, asl #6
+ add r2, r2, r7, asl #4
+.L7487:
+ ands lr, r8, #7
+ beq .L6995
+ cmp lr, #3
+ ldrls r0, [ip, #0]
+ bls .L7522
+ ldr r1, [ip, #0]
+ cmp r1, #0
+ beq .L7512
+ ands r3, r1, #255
+ ldrne r4, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #0] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r5, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r2, #2] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r6, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r2, #4] @ movhi
+ movs r3, r1, lsr #24
+ ldrne r7, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r2, #6] @ movhi
+.L7512:
+ subs lr, lr, #4
+ ldr r0, [ip, #4]
+ addne r2, r2, #8
+ beq .L6995
+.L7522:
+ mov r1, #0
+.L7523:
+ ands r3, r0, #255
+ ldrne r4, .L7822+36
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov ip, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [ip, r2] @ movhi
+ cmp lr, r1
+ mov r0, r0, lsr #8
+ bhi .L7523
+ b .L6995
+.L7066:
+ subs r2, r8, #8
+ submi r2, r8, #1
+ mov r3, r0, lsr #3
+ mov r2, r2, asr #3
+ mov r1, r6, asl #22
+ add r2, r2, r3, asl #4
+ mov r1, r1, lsr #22
+ and r3, r0, #7
+ add r1, r1, r2, asl #1
+ add r3, r3, r1, asl #2
+ ldr ip, [sp, #12]
+ mov r0, r3, asl #3
+ ldr r3, .L7822+24
+ cmp r5, ip
+ add ip, r0, r3
+ blt .L7798
+ ldr lr, [sp, #8]
+ add r3, r5, r8
+ cmp r3, lr
+ bcc .L7704
+ rsb r8, r5, lr
+ cmp r8, #0
+ ble .L6995
+ ldr r1, [sp, #4]
+ movs r7, r8, lsr #3
+ add sl, r1, r5, asl #1
+ beq .L7707
+ ldr r3, .L7822+28
+ ldr r6, .L7822+36
+ add r0, r0, r3
+ mov r4, sl
+ mov r5, ip
+ mov r1, #0
+.L7709:
+ ldr lr, [r0, #68]
+ cmp lr, #0
+ beq .L7710
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #6] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #4] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #2] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #0] @ movhi
+.L7710:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L7719
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #14] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #12] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #10] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r4, #8] @ movhi
+.L7719:
+ add r1, r1, #1
+ cmp r1, r7
+ sub r5, r5, #64
+ add r4, r4, #16
+ sub r0, r0, #64
+ bne .L7709
+ rsb r3, r7, r7, asl #26
+ add ip, ip, r3, asl #6
+ add sl, sl, r7, asl #4
+.L7707:
+ ands lr, r8, #7
+ beq .L6995
+ cmp lr, #3
+ ldrls r2, [ip, #4]
+ bls .L7742
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L7732
+ ands r3, r2, #255
+ ldrne r4, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [sl, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r5, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [sl, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r6, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [sl, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r7, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [sl, #0] @ movhi
+.L7732:
+ subs lr, lr, #4
+ ldr r2, [ip, #0]
+ addne sl, sl, #8
+ beq .L6995
+.L7742:
+ mov r1, #0
+.L7743:
+ movs r3, r2, lsr #24
+ ldrne ip, .L7822+36
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ mov r0, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r0, sl] @ movhi
+ cmp lr, r1
+ mov r2, r2, asl #8
+ bhi .L7743
+ b .L6995
+.L6988:
+ mov r3, r1, lsr #4
+ ldr r4, .L7822+12
+ and r3, r3, #992
+ add r3, r3, r4
+ ldrh r7, [r3, #30]
+ add r2, r8, r8, lsr #31
+ tst lr, #512
+ add r1, sl, sl, lsr #31
+ mov lr, r2, asr #1
+ ldr r2, [sp, #12]
+ mov r4, r1, asr #1
+ str r7, [sp, #24]
+ ldrh r1, [r3, #14]
+ ldrh r7, [r3, #6]
+ ldrh r3, [r3, #22]
+ moveq fp, r8
+ moveq r9, lr
+ moveq r0, r4
+ movne fp, r8, asl #1
+ movne r9, lr, asl #1
+ movne r0, r4, asl #1
+ cmp r5, r2
+ str r3, [sp, #20]
+ bge .L7026
+ rsb r2, r5, r2
+ rsb fp, r2, fp
+ cmp fp, #0
+ ble .L6995
+ ldr r5, [sp, #12]
+ rsb r9, r2, r9
+.L7026:
+ ldr r2, [sp, #8]
+ add r3, r5, fp
+ cmp r3, r2
+ blt .L7029
+ rsb fp, r5, r2
+ cmp fp, #0
+ ble .L6995
+.L7029:
+ add ip, ip, r0
+ mov r3, r7, asl #16
+ mov r2, r1, asl #16
+ ldr r0, [sp, #20]
+ ldr r7, [sp, #24]
+ mov r3, r3, asr #16
+ mov r2, r2, asr #16
+ cmp r0, #0
+ str r3, [sp, #52]
+ mov r0, r6, lsr #8
+ str r2, [sp, #56]
+ ldr r3, [sp, #32]
+ ldr r2, [sp, #4]
+ mov r1, r7, asl #16
+ mov lr, lr, asl #8
+ and r0, r0, #240
+ str lr, [sp, #68]
+ mov r1, r1, asr #16
+ mov lr, r4, asl #8
+ add r7, r2, r5, asl #1
+ rsb ip, ip, r3
+ str r0, [sp, #84]
+ bne .L7031
+ mla r3, ip, r1, lr
+ mov r1, r3, asr #8
+ cmp r1, sl
+ bcs .L6995
+ mov r3, r6, asl #22
+ mov r2, r1, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r1, #7
+ add r1, r1, r3, asl #3
+ ldr r3, .L7822+24
+ cmp fp, #0
+ add r1, r3, r1, asl #2
+ ble .L6995
+ ldr r3, [sp, #56]
+ ldr r2, [sp, #52]
+ mul r3, ip, r3
+ mul r2, r9, r2
+ ldr r4, [sp, #68]
+ rsb r3, r2, r3
+ add r0, r4, r3
+ mov lr, r0, asr #8
+ cmp lr, r8
+ ldrcs r4, [sp, #20]
+ bcs .L7037
+ b .L7819
+.L7038:
+ cmp lr, r8
+ bcc .L7784
+.L7037:
+ ldr r5, [sp, #52]
+ add r4, r4, #1
+ add r0, r0, r5
+ cmp fp, r4
+ mov lr, r0, asr #8
+ add r7, r7, #2
+ bne .L7038
+ ldr r0, [sp, #28]
+ ldr r1, [sp, #36]
+ add r0, r0, #1
+ cmp r0, r1
+ str r0, [sp, #28]
+ bne .L7800
+.L7768:
+ add sp, sp, #92
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L6999:
+ mov r3, r6, asl #22
+ ldr r2, .L7822+24
+ mov r3, r3, lsr #22
+ add r3, r2, r3, asl #5
+ cmp r9, #0
+ str r3, [sp, #80]
+ ble .L6995
+ mov r3, fp, asl #16
+ mul r2, r0, r1
+ mov fp, r3, asr #16
+ ldr r4, [sp, #44]
+ mul r3, r0, ip
+ ldr r1, [sp, #48]
+ ldr r0, [sp, #48]
+ mul r1, fp, r1
+ mul r0, r4, r0
+ ldr r6, [sp, #72]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add r5, r6, r3
+ add r4, lr, r2
+ mov ip, r5, asr #8
+ mov lr, r4, asr #8
+ cmp ip, r8
+ cmpcc lr, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L7015
+ b .L7820
+.L7016:
+ cmp ip, r8
+ cmpcc lr, sl
+ bcc .L7017
+.L7015:
+ ldr ip, [sp, #44]
+ add r6, r6, #1
+ add r5, r5, ip
+ add r4, r4, fp
+ cmp r9, r6
+ mov ip, r5, asr #8
+ mov lr, r4, asr #8
+ add r7, r7, #2
+ bne .L7016
+ b .L6995
+.L7031:
+ mov r3, r6, asl #22
+ ldr r2, .L7822+24
+ mov r3, r3, lsr #22
+ add r3, r2, r3, asl #5
+ cmp fp, #0
+ str r3, [sp, #76]
+ ble .L6995
+ ldr r4, [sp, #20]
+ mul r2, ip, r1
+ mov r3, r4, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #60]
+ ldr r1, [sp, #60]
+ ldr r3, [sp, #56]
+ ldr r0, [sp, #52]
+ mul r3, ip, r3
+ mul r1, r9, r1
+ mul r0, r9, r0
+ ldr r6, [sp, #68]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add r5, r6, r3
+ add r4, lr, r2
+ mov ip, r5, asr #8
+ mov lr, r4, asr #8
+ cmp ip, r8
+ cmpcc lr, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L7050
+ b .L7821
+.L7051:
+ cmp ip, r8
+ cmpcc lr, sl
+ bcc .L7053
+.L7050:
+ ldr ip, [sp, #52]
+ ldr lr, [sp, #60]
+ add r6, r6, #1
+ add r5, r5, ip
+ add r4, r4, lr
+ cmp fp, r6
+ mov ip, r5, asr #8
+ mov lr, r4, asr #8
+ add r7, r7, #2
+ bne .L7051
+ b .L6995
+.L7803:
+ mov r3, ip, asr #1
+ ldr r1, [sp, #76]
+ and r3, r3, #3
+ str r3, [sp, #0]
+ and r0, lr, #7
+ ldr r3, [sp, #76]
+ add r0, r1, r0, asl #2
+ and r1, lr, #7
+ mov r2, ip, asr #1
+ add r1, r3, r1, asl #2
+ mov r3, lr, asr #3
+ and r9, r2, #3
+ mov r3, r3, asl #10
+ mov r2, ip, asr #3
+ tst ip, #1
+ add r3, r3, r2, asl #5
+ add r2, r0, r3
+ movne ip, r9
+ add r0, r1, r3
+ ldreqb r3, [r0, r9] @ zero_extendqisi2
+ ldrneb r3, [r2, ip] @ zero_extendqisi2
+ andeq r0, r3, #15
+ movne r0, r3, lsr #4
+ ldr r2, [sp, #84]
+ cmp r0, #0
+ orr r3, r0, r2
+ ldrne r0, .L7822+36
+ mov r3, r3, asl #1
+ ldr lr, [sp, #52]
+ ldrneh r3, [r3, r0]
+ ldr r1, [sp, #60]
+ add r6, r6, #1
+ add r5, r5, lr
+ strneh r3, [r7, #0] @ movhi
+ add r4, r4, r1
+ cmp fp, r6
+ mov ip, r5, asr #8
+ mov lr, r4, asr #8
+ add r7, r7, #2
+ ble .L6995
+.L7053:
+ cmp lr, sl
+ cmpcc ip, r8
+ bcc .L7803
+ b .L6995
+.L7040:
+ cmp lr, r8
+ bcs .L6995
+.L7784:
+ mov r3, lr, asr #1
+ and r6, r3, #3
+ mov r3, lr, asr #3
+ mov r3, r3, asl #5
+ mov r2, lr, asr #1
+ tst lr, #1
+ add ip, r3, r1
+ and r5, r2, #3
+ add r2, r3, r1
+ ldreqb r3, [r2, r5] @ zero_extendqisi2
+ ldrneb r3, [ip, r6] @ zero_extendqisi2
+ andeq r2, r3, #15
+ movne r2, r3, lsr #4
+ ldr ip, [sp, #84]
+ cmp r2, #0
+ orr r3, r2, ip
+ ldrne r2, .L7822+36
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ ldr r6, [sp, #52]
+ add r4, r4, #1
+ strneh r3, [r7, #0] @ movhi
+ add r0, r0, r6
+ cmp fp, r4
+ mov lr, r0, asr #8
+ add r7, r7, #2
+ bgt .L7040
+ b .L6995
+.L7008:
+ cmp lr, r8
+ bcs .L6995
+.L7782:
+ ldr r1, [sp, #44]
+ mov r3, lr, asr #3
+ add r3, r4, r3, asl #6
+ add r0, r0, r1
+ and r1, lr, #7
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ add ip, ip, #1
+ cmp r2, #0
+ ldrne r3, .L7822+36
+ mov r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ mov lr, r0, asr #8
+ strneh r2, [r7, #0] @ movhi
+ cmp r9, ip
+ add r7, r7, #2
+ bgt .L7008
+ b .L6995
+.L7823:
+ .align 2
+.L7822:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word oam_ram
+ .word obj_width_table
+ .word obj_height_table
+ .word vram+65536
+ .word vram+65472
+ .word vram+65600
+ .word palette_ram_converted+512
+.L7798:
+ ldr lr, [sp, #12]
+ rsb r1, r5, lr
+ rsb r4, r1, r8
+ cmp r4, #0
+ ble .L6995
+ ldr r0, [sp, #8]
+ add r3, r5, r8
+ cmp r0, r3
+ bhi .L7551
+ mov r3, r1, lsr #3
+ ands r0, r1, #7
+ sub r7, ip, r3, asl #6
+ bne .L7553
+ ldr r6, [sp, #88]
+ ldr r5, [sp, #64]
+.L7555:
+ movs r4, r6, lsr #3
+ beq .L7613
+ ldr lr, .L7822+36
+ mov r1, r5
+ mov r0, r7
+ mov ip, #0
+.L7615:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L7616
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #2] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #0] @ movhi
+.L7616:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L7625
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #12] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #10] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #8] @ movhi
+.L7625:
+ add ip, ip, #1
+ cmp ip, r4
+ sub r0, r0, #64
+ add r1, r1, #16
+ bne .L7615
+ rsb r3, r4, r4, asl #26
+ add r7, r7, r3, asl #6
+ add r5, r5, r4, asl #4
+.L7613:
+ ands ip, r6, #7
+ beq .L6995
+ cmp ip, #3
+ ldrls r2, [r7, #4]
+ bls .L7648
+ ldr r2, [r7, #4]
+ cmp r2, #0
+ beq .L7638
+ ands r3, r2, #255
+ ldrne r0, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r1, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r1]
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r4, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r5, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r6, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r5, #0] @ movhi
+.L7638:
+ subs ip, ip, #4
+ ldr r2, [r7, #0]
+ addne r5, r5, #8
+ beq .L6995
+.L7648:
+ mov r1, #0
+.L7649:
+ movs r3, r2, lsr #24
+ ldrne r7, .L7822+36
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ mov r0, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r0, r5] @ movhi
+ cmp ip, r1
+ mov r2, r2, asl #8
+ bhi .L7649
+ b .L6995
+.L7797:
+ ldr lr, [sp, #12]
+ rsb r1, r5, lr
+ rsb r4, r1, r8
+ cmp r4, #0
+ ble .L6995
+ ldr r0, [sp, #8]
+ add r3, r5, r8
+ cmp r0, r3
+ bhi .L7331
+ mov r3, r1, lsr #3
+ ands r0, r1, #7
+ add r7, ip, r3, asl #6
+ bne .L7333
+ ldr r6, [sp, #88]
+ ldr r5, [sp, #64]
+.L7335:
+ movs r4, r6, lsr #3
+ beq .L7393
+ ldr lr, .L7822+36
+ mov r1, r5
+ mov r0, r7
+ mov ip, #0
+.L7395:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L7396
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #6] @ movhi
+.L7396:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L7405
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #10] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #12] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #14] @ movhi
+.L7405:
+ add ip, ip, #1
+ cmp r4, ip
+ add r0, r0, #64
+ add r1, r1, #16
+ bne .L7395
+ add r7, r7, r4, asl #6
+ add r5, r5, r4, asl #4
+.L7393:
+ ands ip, r6, #7
+ beq .L6995
+ cmp ip, #3
+ ldrls r1, [r7, #0]
+ bls .L7428
+ ldr r2, [r7, #0]
+ cmp r2, #0
+ beq .L7418
+ ands r3, r2, #255
+ ldrne r0, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [r5, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r1, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r1]
+ strneh r3, [r5, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r4, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r5, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r6, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r5, #6] @ movhi
+.L7418:
+ subs ip, ip, #4
+ ldr r1, [r7, #4]
+ addne r5, r5, #8
+ beq .L6995
+.L7428:
+ mov r2, #0
+.L7429:
+ ands r3, r1, #255
+ ldrne r7, .L7822+36
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ mov r0, r2, asl #1
+ add r2, r2, #1
+ strneh r3, [r0, r5] @ movhi
+ cmp ip, r2
+ mov r1, r1, lsr #8
+ bhi .L7429
+ b .L6995
+.L7796:
+ rsb lr, r5, ip
+ rsb ip, lr, r8
+ cmp ip, #0
+ ble .L6995
+ ldr r2, [sp, #8]
+ add r3, r5, r8
+ cmp r2, r3
+ bhi .L7201
+ mov r3, lr, lsr #3
+ ands r4, lr, #7
+ sub r0, r0, r3, asl #5
+ bne .L7203
+ ldr r2, [sp, #88]
+ ldr sl, [sp, #64]
+.L7205:
+ movs r8, r2, lsr #3
+ beq .L7222
+ ldr r7, .L7822+36
+ mov r4, sl
+ mov r5, r0
+ mov r6, #0
+.L7224:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L7225
+ ands r3, lr, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #14] @ movhi
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #12] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #10] @ movhi
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #8] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #6] @ movhi
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #4] @ movhi
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #2] @ movhi
+ movs r3, lr, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r4, #0] @ movhi
+.L7225:
+ add r6, r6, #1
+ cmp r6, r8
+ sub r5, r5, #32
+ add r4, r4, #16
+ bne .L7224
+ rsb r3, r8, r8, asl #27
+ add r0, r0, r3, asl #5
+ add sl, sl, r8, asl #4
+.L7222:
+ ands lr, r2, #7
+ beq .L6995
+ ldr r0, [r0, #0]
+ ldr r4, .L7822+36
+ mov ip, #0
+.L7244:
+ movs r3, r0, lsr #28
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r2, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r2, sl] @ movhi
+ cmp ip, lr
+ mov r0, r0, asl #4
+ bne .L7244
+ b .L6995
+.L7795:
+ ldr r4, [sp, #12]
+ rsb lr, r5, r4
+ rsb r4, lr, r8
+ cmp r4, #0
+ ble .L6995
+ add r3, r5, r8
+ ldr r5, [sp, #8]
+ cmp r5, r3
+ bhi .L7071
+ mov r3, lr, lsr #3
+ mov r2, r3, asl #5
+ ands r3, lr, #7
+ add r6, r0, r2
+ bne .L7073
+ ldr r8, [sp, #88]
+ ldr r7, [sp, #64]
+.L7075:
+ movs r5, r8, lsr #3
+ beq .L7092
+ ldr r4, .L7822+36
+ mov ip, r7
+ mov r0, r6
+ mov lr, #0
+.L7094:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L7095
+ ands r3, r2, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [ip, #14] @ movhi
+.L7095:
+ add lr, lr, #1
+ cmp r5, lr
+ add r0, r0, #32
+ add ip, ip, #16
+ bne .L7094
+ add r6, r6, r5, asl #5
+ add r7, r7, r5, asl #4
+.L7092:
+ ands lr, r8, #7
+ beq .L6995
+ ldr r2, [r6, #0]
+ ldr r4, .L7822+36
+ mov r0, #0
+.L7114:
+ ands r3, r2, #15
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov ip, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [ip, r7] @ movhi
+ cmp r0, lr
+ mov r2, r2, lsr #4
+ bne .L7114
+ b .L6995
+.L7820:
+ mov r6, #0
+.L7017:
+ cmp lr, sl
+ movcc r3, #0
+ movcs r3, #1
+ cmp r8, ip
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L7783
+ b .L6995
+.L7018:
+ cmp lr, sl
+ cmpcc ip, r8
+ bcs .L6995
+.L7783:
+ and r3, lr, #7
+ mov r2, ip, asr #3
+ mov r3, r3, asl #3
+ mov r1, lr, asr #3
+ add r3, r3, r2, asl #6
+ ldr r0, [sp, #44]
+ add r3, r3, r1, asl #10
+ ldr r1, [sp, #80]
+ add r5, r5, r0
+ add r3, r3, r1
+ and r0, ip, #7
+ ldrb r2, [r3, r0] @ zero_extendqisi2
+ add r6, r6, #1
+ cmp r2, #0
+ ldrne r3, .L7822+36
+ mov r2, r2, asl #1
+ ldrneh r2, [r2, r3]
+ add r4, r4, fp
+ strneh r2, [r7, #0] @ movhi
+ cmp r9, r6
+ mov lr, r4, asr #8
+ mov ip, r5, asr #8
+ add r7, r7, #2
+ bgt .L7018
+ b .L6995
+.L7279:
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs r6, r3, asr #3
+ beq .L6995
+ ldr r7, [sp, #4]
+ ldr r4, .L7822+36
+ add r2, r7, r5, asl #1
+ mov ip, #0
+ b .L7309
+.L7804:
+ sub r0, r0, #32
+ add r2, r2, #16
+.L7309:
+ ldr lr, [r0, #0]
+ cmp lr, #0
+ beq .L7310
+ ands r3, lr, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #14] @ movhi
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #12] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #10] @ movhi
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #8] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #6] @ movhi
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #4] @ movhi
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #2] @ movhi
+ movs r3, lr, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #0] @ movhi
+.L7310:
+ add ip, ip, #1
+ cmp r6, ip
+ bne .L7804
+ b .L6995
+.L7704:
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs r6, r3, asr #3
+ beq .L6995
+ ldr r3, .L7822+28
+ ldr lr, [sp, #4]
+ ldr r4, .L7822+36
+ add r0, r0, r3
+ add r2, lr, r5, asl #1
+ mov r1, #0
+ b .L7748
+.L7805:
+ sub ip, ip, #64
+ add r2, r2, #16
+.L7748:
+ ldr lr, [r0, #68]
+ cmp lr, #0
+ beq .L7749
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #6] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #4] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #2] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #0] @ movhi
+.L7749:
+ ldr lr, [ip, #0]
+ cmp lr, #0
+ beq .L7758
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #14] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #12] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #10] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #8] @ movhi
+.L7758:
+ add r1, r1, #1
+ cmp r6, r1
+ sub r0, r0, #64
+ bne .L7805
+ b .L6995
+.L7149:
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs r6, r3, asr #3
+ beq .L6995
+ ldr r7, [sp, #4]
+ ldr r4, .L7822+36
+ add r2, r7, r5, asl #1
+ mov ip, #0
+ b .L7179
+.L7806:
+ add r0, r0, #32
+ add r2, r2, #16
+.L7179:
+ ldr lr, [r0, #0]
+ cmp lr, #0
+ beq .L7180
+ ands r3, lr, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #0] @ movhi
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #2] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #4] @ movhi
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #6] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #8] @ movhi
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #10] @ movhi
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #12] @ movhi
+ movs r3, lr, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #14] @ movhi
+.L7180:
+ add ip, ip, #1
+ cmp r6, ip
+ bne .L7806
+ b .L6995
+.L7484:
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs r6, r3, asr #3
+ beq .L6995
+ ldr r3, .L7822+32
+ ldr r7, [sp, #4]
+ ldr r4, .L7822+36
+ add r0, r0, r3
+ add r2, r7, r5, asl #1
+ mov r1, #0
+ b .L7528
+.L7807:
+ add ip, ip, #64
+ add r2, r2, #16
+.L7528:
+ ldr lr, [ip, #0]
+ cmp lr, #0
+ beq .L7529
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #0] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #2] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #4] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #6] @ movhi
+.L7529:
+ ldr lr, [r0, #-60]
+ cmp lr, #0
+ beq .L7538
+ ands r3, lr, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #8] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #10] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #12] @ movhi
+ movs r3, lr, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r2, #14] @ movhi
+.L7538:
+ add r1, r1, #1
+ cmp r6, r1
+ add r0, r0, #64
+ bne .L7807
+ b .L6995
+.L7331:
+ mov r3, r1, lsr #3
+ ands r2, r1, #7
+ add r0, ip, r3, asl #6
+ ldreq r1, [sp, #64]
+ beq .L7435
+ cmp r2, #3
+ rsb lr, r2, #8
+ bhi .L7808
+ subs r5, lr, #4
+ ldr r1, [r0, #0]
+ ldreq r1, [sp, #64]
+ beq .L7448
+ mov r3, r2, asl #3
+ mov r2, r1, lsr r3
+ ldr r6, .L7822+36
+ mov ip, #0
+.L7449:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldrne r7, [sp, #64]
+ mov r1, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r1, r7] @ movhi
+ cmp ip, r5
+ mov r2, r2, lsr #8
+ bne .L7449
+ ldr ip, [sp, #64]
+ add r3, ip, lr, asl #1
+ sub r1, r3, #8
+.L7448:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L7454
+ ands r3, r2, #255
+ ldrne lr, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r5, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r6, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r7, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r1, #6] @ movhi
+.L7454:
+ add r1, r1, #8
+.L7440:
+ add r0, r0, #64
+.L7435:
+ movs r4, r4, lsr #3
+ beq .L6995
+ ldr ip, .L7822+36
+ mov lr, #0
+ b .L7464
+.L7809:
+ add r0, r0, #64
+ add r1, r1, #16
+.L7464:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L7465
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #6] @ movhi
+.L7465:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L7474
+ ands r3, r2, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #10] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #12] @ movhi
+ movs r3, r2, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r1, #14] @ movhi
+.L7474:
+ add lr, lr, #1
+ cmp r4, lr
+ bne .L7809
+ b .L6995
+.L7201:
+ ands r2, lr, #7
+ mov r3, lr, lsr #3
+ sub r0, r0, r3, asl #5
+ ldreq r4, [sp, #64]
+ beq .L7250
+ rsbs r6, r2, #8
+ ldr lr, [r0, #0]
+ ldreq r4, [sp, #64]
+ beq .L7253
+ mov r3, r2, asl #2
+ mov lr, lr, asl r3
+ ldr r2, .L7822+36
+ mov r5, #0
+.L7254:
+ movs r3, lr, lsr #28
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ ldrne r7, [sp, #64]
+ mov r4, r5, asl #1
+ add r5, r5, #1
+ strneh r3, [r4, r7] @ movhi
+ cmp r6, r5
+ mov lr, lr, asl #4
+ bne .L7254
+ ldr lr, [sp, #64]
+ add r4, lr, r6, asl #1
+.L7253:
+ sub r0, r0, #32
+.L7250:
+ movs r5, ip, lsr #3
+ beq .L6995
+ ldr r2, .L7822+36
+ mov ip, #0
+ b .L7260
+.L7810:
+ sub r0, r0, #32
+ add r4, r4, #16
+.L7260:
+ ldr lr, [r0, #0]
+ cmp lr, #0
+ beq .L7261
+ ands r3, lr, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #14] @ movhi
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #12] @ movhi
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #10] @ movhi
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #8] @ movhi
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #6] @ movhi
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #4] @ movhi
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #2] @ movhi
+ movs r3, lr, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ strneh r3, [r4, #0] @ movhi
+.L7261:
+ add ip, ip, #1
+ cmp ip, r5
+ bne .L7810
+ b .L6995
+.L7551:
+ ands r0, r1, #7
+ mov r3, r1, lsr #3
+ sub r2, ip, r3, asl #6
+ ldreq r0, [sp, #64]
+ beq .L7655
+ cmp r0, #3
+ rsb lr, r0, #8
+ bhi .L7811
+ subs r5, lr, #4
+ ldr r1, [r2, #4]
+ ldreq r0, [sp, #64]
+ beq .L7668
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ ldr r6, .L7822+36
+ mov ip, #0
+.L7669:
+ movs r3, r1, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldrne r7, [sp, #64]
+ mov r0, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r0, r7] @ movhi
+ cmp r5, ip
+ mov r1, r1, asl #8
+ bne .L7669
+ ldr ip, [sp, #64]
+ add r3, ip, lr, asl #1
+ sub r0, r3, #8
+.L7668:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L7674
+ ands r3, r1, #255
+ ldrne lr, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r5, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r6, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r1, lsr #24
+ ldrne r7, .L7822+36
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r7]
+ strneh r3, [r0, #0] @ movhi
+.L7674:
+ add r0, r0, #8
+.L7660:
+ sub r2, r2, #64
+.L7655:
+ movs r4, r4, lsr #3
+ beq .L6995
+ ldr ip, .L7822+36
+ mov lr, #0
+ b .L7684
+.L7812:
+ sub r2, r2, #64
+ add r0, r0, #16
+.L7684:
+ ldr r1, [r2, #4]
+ cmp r1, #0
+ beq .L7685
+ ands r3, r1, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r1, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #0] @ movhi
+.L7685:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L7694
+ ands r3, r1, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #14] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #12] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #10] @ movhi
+ movs r3, r1, lsr #24
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ strneh r3, [r0, #8] @ movhi
+.L7694:
+ add lr, lr, #1
+ cmp lr, r4
+ bne .L7812
+ b .L6995
+.L7071:
+ mov r3, lr, lsr #3
+ mov r2, r3, asl #5
+ ands r3, lr, #7
+ ldreq ip, [sp, #64]
+ add lr, r0, r2
+ beq .L7120
+ rsbs r5, r3, #8
+ ldr r0, [r0, r2]
+ ldreq ip, [sp, #64]
+ beq .L7123
+ mov r3, r3, asl #2
+ mov r0, r0, lsr r3
+ ldr r6, .L7824
+ mov ip, #0
+.L7124:
+ ands r3, r0, #15
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r6]
+ ldrne r7, [sp, #64]
+ mov r2, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r2, r7] @ movhi
+ cmp ip, r5
+ mov r0, r0, lsr #4
+ bne .L7124
+ ldr r0, [sp, #64]
+ add ip, r0, r5, asl #1
+.L7123:
+ add lr, lr, #32
+.L7120:
+ movs r5, r4, lsr #3
+ beq .L6995
+ ldr r0, .L7824
+ mov r4, #0
+ b .L7130
+.L7813:
+ add lr, lr, #32
+ add ip, ip, #16
+.L7130:
+ ldr r2, [lr, #0]
+ cmp r2, #0
+ beq .L7131
+ ands r3, r2, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #12] @ movhi
+ movs r3, r2, lsr #28
+ orrne r3, r1, r3
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [ip, #14] @ movhi
+.L7131:
+ add r4, r4, #1
+ cmp r4, r5
+ bne .L7813
+ b .L6995
+.L7333:
+ ldr r1, [sp, #88]
+ rsb ip, r0, #8
+ cmp r1, ip
+ blt .L7814
+ cmp r0, #3
+ bls .L7366
+ cmp ip, #0
+ ldr r2, [r7, #4]
+ ldreq r5, [sp, #64]
+ beq .L7370
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ ldr lr, .L7824
+ mov r0, #0
+.L7371:
+ ands r3, r1, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ ldrne r4, [sp, #64]
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp ip, r0
+ mov r1, r1, lsr #8
+ bne .L7371
+ ldr r6, [sp, #64]
+ add r5, r6, ip, asl #1
+.L7370:
+ ldr lr, [sp, #88]
+ add r7, r7, #64
+ rsb r6, ip, lr
+ b .L7335
+.L7203:
+ ldr r3, [sp, #88]
+ rsb r6, r4, #8
+ cmp r3, r6
+ blt .L7815
+ cmp r6, #0
+ ldr r2, [r0, #0]
+ ldreq sl, [sp, #64]
+ beq .L7216
+ mov r3, r4, asl #2
+ mov lr, r2, asl r3
+ ldr r2, .L7824
+ mov r5, #0
+.L7217:
+ movs r3, lr, lsr #28
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r2]
+ ldrne r7, [sp, #64]
+ mov r4, r5, asl #1
+ add r5, r5, #1
+ strneh r3, [r4, r7] @ movhi
+ cmp r6, r5
+ mov lr, lr, asl #4
+ bne .L7217
+ ldr ip, [sp, #64]
+ add sl, ip, r6, asl #1
+.L7216:
+ ldr lr, [sp, #88]
+ sub r0, r0, #32
+ rsb r2, r6, lr
+ b .L7205
+.L7073:
+ ldr r7, [sp, #88]
+ rsb lr, r3, #8
+ cmp r7, lr
+ blt .L7816
+ cmp lr, #0
+ ldr r2, [r6, #0]
+ ldreq r7, [sp, #64]
+ beq .L7086
+ mov r3, r3, asl #2
+ mov r2, r2, lsr r3
+ ldr r4, .L7824
+ mov ip, #0
+.L7087:
+ ands r3, r2, #15
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ ldrne r7, [sp, #64]
+ mov r0, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r0, r7] @ movhi
+ cmp lr, ip
+ mov r2, r2, lsr #4
+ bne .L7087
+ ldr ip, [sp, #64]
+ add r7, ip, lr, asl #1
+.L7086:
+ ldr r0, [sp, #88]
+ add r6, r6, #32
+ rsb r8, lr, r0
+ b .L7075
+.L7553:
+ ldr r1, [sp, #88]
+ rsb ip, r0, #8
+ cmp r1, ip
+ blt .L7817
+ cmp r0, #3
+ bls .L7586
+ cmp ip, #0
+ ldr r2, [r7, #0]
+ ldreq r5, [sp, #64]
+ beq .L7590
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ ldr lr, .L7824
+ mov r0, #0
+.L7591:
+ movs r3, r2, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ ldrne r4, [sp, #64]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r4] @ movhi
+ cmp ip, r0
+ mov r2, r2, asl #8
+ bne .L7591
+ ldr r6, [sp, #64]
+ add r5, r6, ip, asl #1
+.L7590:
+ ldr lr, [sp, #88]
+ sub r7, r7, #64
+ rsb r6, ip, lr
+ b .L7555
+.L7817:
+ cmp r1, #0
+ ble .L6995
+ cmp r0, #3
+ bls .L7559
+ mov r3, r0, asl #3
+ ldr r2, [r7, #0]
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ ldr ip, .L7824
+ mov r0, #0
+.L7562:
+ movs r3, r2, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldrne r4, [sp, #64]
+ ldr r5, [sp, #88]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r4] @ movhi
+ cmp r5, r0
+ mov r2, r2, asl #8
+ bne .L7562
+ b .L6995
+.L7816:
+ cmp r7, #0
+ ble .L6995
+ ldr r2, [r0, r2]
+ mov r3, r3, asl #2
+ mov r0, r2, lsr r3
+ ldr lr, .L7824
+ mov ip, #0
+.L7080:
+ ands r3, r0, #15
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ ldrne r4, [sp, #64]
+ ldr r5, [sp, #88]
+ mov r2, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp r5, ip
+ mov r0, r0, lsr #4
+ bne .L7080
+ b .L6995
+.L7815:
+ cmp r3, #0
+ ble .L6995
+ ldr r2, [r0, #0]
+ mov r3, r4, asl #2
+ mov r0, r2, asl r3
+ ldr lr, .L7824
+ mov ip, #0
+.L7210:
+ movs r3, r0, lsr #28
+ orr r3, r1, r3
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ ldrne r4, [sp, #64]
+ ldr r5, [sp, #88]
+ mov r2, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp r5, ip
+ mov r0, r0, asl #4
+ bne .L7210
+ b .L6995
+.L7811:
+ cmp lr, #0
+ ldr r1, [r2, #0]
+ ldreq r0, [sp, #64]
+ beq .L7660
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ ldr r5, .L7824
+ mov ip, #0
+.L7661:
+ movs r3, r1, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldrne r6, [sp, #64]
+ mov r0, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r0, r6] @ movhi
+ cmp ip, lr
+ mov r1, r1, asl #8
+ bne .L7661
+ ldr r7, [sp, #64]
+ sub r2, r2, #64
+ add r0, r7, lr, asl #1
+ b .L7655
+.L7808:
+ cmp lr, #0
+ ldr r1, [r0, #4]
+ ldreq r1, [sp, #64]
+ beq .L7440
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r2, r1, lsr r3
+ ldr r5, .L7824
+ mov ip, #0
+.L7441:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ ldrne r6, [sp, #64]
+ mov r1, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r1, r6] @ movhi
+ cmp ip, lr
+ mov r2, r2, lsr #8
+ bne .L7441
+ ldr r7, [sp, #64]
+ add r0, r0, #64
+ add r1, r7, lr, asl #1
+ b .L7435
+.L7814:
+ cmp r1, #0
+ ble .L6995
+ cmp r0, #3
+ bls .L7339
+ mov r3, r0, asl #3
+ ldr r2, [r7, #4]
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ ldr ip, .L7824
+ mov r0, #0
+.L7342:
+ ands r3, r1, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldrne r4, [sp, #64]
+ ldr r5, [sp, #88]
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp r5, r0
+ mov r1, r1, lsr #8
+ bne .L7342
+ b .L6995
+.L7821:
+ mov r6, #0
+ b .L7053
+.L7586:
+ subs lr, ip, #4
+ ldr r2, [r7, #4]
+ ldreq r1, [sp, #64]
+ beq .L7598
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ ldr r4, .L7824
+ mov r0, #0
+.L7599:
+ movs r3, r2, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ ldrne r5, [sp, #64]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r5] @ movhi
+ cmp lr, r0
+ mov r2, r2, asl #8
+ bne .L7599
+ ldr r6, [sp, #64]
+ add r3, r6, ip, asl #1
+ sub r1, r3, #8
+.L7598:
+ ldr r2, [r7, #0]
+ cmp r2, #0
+ beq .L7604
+ ands r3, r2, #255
+ ldrne lr, .L7824
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r0, .L7824
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [r1, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r4, .L7824
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r1, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r5, .L7824
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r1, #0] @ movhi
+.L7604:
+ add r5, r1, #8
+ b .L7590
+.L7366:
+ subs lr, ip, #4
+ ldr r2, [r7, #0]
+ ldreq r1, [sp, #64]
+ beq .L7378
+ mov r3, r0, asl #3
+ mov r1, r2, lsr r3
+ ldr r4, .L7824
+ mov r0, #0
+.L7379:
+ ands r3, r1, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ ldrne r5, [sp, #64]
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r5] @ movhi
+ cmp r0, lr
+ mov r1, r1, lsr #8
+ bne .L7379
+ ldr r6, [sp, #64]
+ add r3, r6, ip, asl #1
+ sub r1, r3, #8
+.L7378:
+ ldr r2, [r7, #4]
+ cmp r2, #0
+ beq .L7384
+ ands r3, r2, #255
+ ldrne lr, .L7824
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r0, .L7824
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r0]
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r4, .L7824
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r5, .L7824
+ movne r3, r3, asl #1
+ ldrneh r3, [r3, r5]
+ strneh r3, [r1, #6] @ movhi
+.L7384:
+ add r5, r1, #8
+ b .L7370
+.L7819:
+ ldr r4, [sp, #20]
+ b .L7784
+.L7818:
+ mov ip, fp
+ b .L7782
+.L7559:
+ ldr r6, [sp, #88]
+ mov r3, r0, asl #3
+ ldr r1, [r7, #4]
+ add r2, r6, r0
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L7566
+ cmp r6, #0
+ ldrne ip, .L7824
+ movne r0, #0
+ beq .L6995
+.L7582:
+ movs r3, r1, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldrne r7, [sp, #64]
+ ldr lr, [sp, #88]
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r7] @ movhi
+ cmp lr, r0
+ mov r1, r1, asl #8
+ bne .L7582
+ b .L6995
+.L7339:
+ ldr r6, [sp, #88]
+ ldr r3, [r7, #0]
+ add r2, r6, r0
+ cmp r2, #4
+ mov r1, r0, asl #3
+ mov r2, r3, lsr r1
+ bhi .L7346
+ cmp r6, #0
+ ldrne ip, .L7824
+ movne r0, #0
+ beq .L6995
+.L7362:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, ip]
+ ldrne r7, [sp, #64]
+ ldr lr, [sp, #88]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r7] @ movhi
+ cmp lr, r0
+ mov r2, r2, lsr #8
+ bne .L7362
+ b .L6995
+.L7566:
+ rsbs ip, r0, #4
+ ldreq lr, [sp, #64]
+ beq .L7571
+ ldr lr, .L7824
+ mov r0, #0
+.L7572:
+ movs r3, r1, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ ldrne r4, [sp, #64]
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp r0, ip
+ mov r1, r1, asl #8
+ bne .L7572
+ ldr r5, [sp, #64]
+ add lr, r5, ip, asl #1
+.L7571:
+ ldr r6, [sp, #88]
+ ldr r2, [r7, #0]
+ subs ip, r6, ip
+ beq .L6995
+ ldr r4, .L7824
+ mov r0, #0
+.L7578:
+ movs r3, r2, lsr #24
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r0, ip
+ mov r2, r2, asl #8
+ bne .L7578
+ b .L6995
+.L7346:
+ rsbs ip, r0, #4
+ ldreq lr, [sp, #64]
+ beq .L7351
+ ldr lr, .L7824
+ mov r0, #0
+.L7352:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, lr]
+ ldrne r4, [sp, #64]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r4] @ movhi
+ cmp r0, ip
+ mov r2, r2, lsr #8
+ bne .L7352
+ ldr r5, [sp, #64]
+ add lr, r5, ip, asl #1
+.L7351:
+ ldr r6, [sp, #88]
+ ldr r2, [r7, #4]
+ subs ip, r6, ip
+ beq .L6995
+ ldr r4, .L7824
+ mov r0, #0
+.L7358:
+ ands r3, r2, #255
+ mov r3, r3, asl #1
+ ldrneh r3, [r3, r4]
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r0, ip
+ mov r2, r2, lsr #8
+ bne .L7358
+ b .L6995
+.L7825:
+ .align 2
+.L7824:
+ .word palette_ram_converted+512
+ .size render_scanline_obj_normal_2D, .-render_scanline_obj_normal_2D
+ .align 2
+ .global render_scanline_obj_color16_1D
+ .type render_scanline_obj_color16_1D, %function
+render_scanline_obj_color16_1D:
+ @ args = 0, pretend = 0, frame = 112
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr ip, .L8668
+ sub sp, sp, #112
+ ldrh r4, [ip, #6]
+ add r0, r0, r0, asl #2
+ str r4, [sp, #32]
+ ldr r5, [sp, #32]
+ ldrh r4, [ip, #80]
+ ldr ip, .L8668+4
+ add r0, r5, r0, asl #5
+ ldr ip, [ip, r0, asl #2]
+ mov lr, r4, lsr #11
+ and lr, lr, #2
+ mov r4, r4, asl #27
+ str ip, [sp, #36]
+ orr lr, lr, r4, lsr #31
+ cmp ip, #0
+ ldr ip, .L8668+8
+ mov lr, lr, asl #9
+ add r0, ip, r0, asl #7
+ orr lr, lr, #256
+ str r0, [sp, #40]
+ str r1, [sp, #8]
+ str r2, [sp, #4]
+ str r3, [sp, #0]
+ str lr, [sp, #24]
+ beq .L8614
+ mov r8, #0
+ add r6, r3, r1, asl #1
+ rsb r7, r1, r2
+ str r6, [sp, #84]
+ str r7, [sp, #108]
+ str r8, [sp, #28]
+ mov ip, r8
+.L7829:
+ ldr lr, [sp, #40]
+ ldr r0, .L8668+12
+ ldrb r3, [ip, lr] @ zero_extendqisi2
+ mov r3, r3, asl #3
+ ldrh r4, [r3, r0]
+ add r3, r3, r0
+ ldrh r1, [r3, #2]
+ mov r5, r4, lsr #12
+ and r2, r5, #12
+ orr r0, r2, r1, lsr #14
+ and ip, r4, #255
+ mov r2, r1, asl #23
+ cmp ip, #160
+ ldrh lr, [r3, #4]
+ mov r6, r2, asr #23
+ ldr r3, .L8668+16
+ ldr r2, .L8668+20
+ subgt ip, ip, #256
+ tst r4, #256
+ ldr r7, [r2, r0, asl #2]
+ ldr sl, [r3, r0, asl #2]
+ beq .L7832
+ tst r4, #8192
+ beq .L7834
+ tst r4, #512
+ mov r3, r1, lsr #4
+ ldr r4, .L8668+12
+ and r3, r3, #992
+ add r3, r3, r4
+ add r2, r7, r7, lsr #31
+ ldrh r5, [r3, #30]
+ mov r4, r2, asr #1
+ add r1, sl, sl, lsr #31
+ ldr r2, [sp, #8]
+ movne r0, r4, asl #1
+ str r5, [sp, #12]
+ mov r5, r1, asr #1
+ strne r0, [sp, #56]
+ moveq r9, r7
+ streq r4, [sp, #56]
+ moveq r0, r5
+ movne r9, r7, asl #1
+ movne r0, r5, asl #1
+ cmp r6, r2
+ ldrh r8, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh fp, [r3, #22]
+ bge .L7839
+ rsb r2, r6, r2
+ rsb r9, r2, r9
+ cmp r9, #0
+ ble .L7841
+ ldr r3, [sp, #56]
+ ldr r6, [sp, #8]
+ rsb r3, r2, r3
+ str r3, [sp, #56]
+.L7839:
+ ldr r2, [sp, #4]
+ add r3, r6, r9
+ cmp r3, r2
+ blt .L7843
+ rsb r9, r6, r2
+ cmp r9, #0
+ ble .L7841
+.L7843:
+ mov r3, r8, asl #16
+ ldr r8, [sp, #12]
+ mov r2, r1, asl #16
+ mov r2, r2, asr #16
+ mov r1, r8, asl #16
+ add r0, ip, r0
+ str r2, [sp, #48]
+ mov ip, r1, asr #16
+ ldr r2, [sp, #32]
+ ldr r1, [sp, #0]
+ mov r4, r4, asl #8
+ mov r3, r3, asr #16
+ mov r5, r5, asl #8
+ cmp fp, #0
+ str r4, [sp, #92]
+ str r3, [sp, #44]
+ str r5, [sp, #52]
+ add r8, r1, r6, asl #1
+ rsb r4, r0, r2
+ bne .L7845
+ mov r3, r5
+ mla r3, r4, ip, r3
+ mov r0, r3, asr #8
+ cmp r0, sl
+ bcs .L7841
+ cmp r7, #0
+ add r3, r7, #7
+ movge r3, r7
+ mov r2, lr, asl #22
+ mov r3, r3, asr #3
+ mov r3, r3, asl #1
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ mla ip, r3, r1, r2
+ and r0, r0, #7
+ ldr r3, .L8668+24
+ add r0, r0, ip, asl #2
+ cmp r9, #0
+ add lr, r3, r0, asl #3
+ ble .L7841
+ ldr r3, [sp, #48]
+ ldr r2, [sp, #56]
+ mul r3, r4, r3
+ ldr r4, [sp, #44]
+ ldr r5, [sp, #92]
+ mul r2, r4, r2
+ rsb r3, r2, r3
+ add r0, r5, r3
+ mov r4, r0, asr #8
+ cmp r4, r7
+ movcs ip, fp
+ bcs .L7851
+ b .L8664
+.L7852:
+ cmp r4, r7
+ bcc .L8628
+.L7851:
+ ldr r6, [sp, #44]
+ add ip, ip, #1
+ add r0, r0, r6
+ cmp r9, ip
+ mov r4, r0, asr #8
+ add r8, r8, #2
+ bne .L7852
+.L7841:
+ ldr r0, [sp, #28]
+ ldr r1, [sp, #36]
+ add r0, r0, #1
+ cmp r0, r1
+ str r0, [sp, #28]
+ beq .L8614
+.L8646:
+ ldr ip, [sp, #28]
+ b .L7829
+.L7832:
+ ldr r0, [sp, #32]
+ tst r1, #8192
+ rsb ip, ip, r0
+ rsbne r3, ip, sl
+ subne ip, r3, #1
+ mov r2, r1, asl #19
+ and r3, r5, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L7841
+ .p2align 2
+.L7913:
+ .word .L7909
+ .word .L7910
+ .word .L7911
+ .word .L7912
+.L7909:
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, lr, asl #22
+ movge r3, r7
+ mov r5, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r3, ip, lsr #3
+ mla r0, r5, r3, r2
+ ldr r2, [sp, #8]
+ and r1, ip, #7
+ ldr r3, .L8668+24
+ add r1, r1, r0, asl #3
+ cmp r6, r2
+ mov r2, lr, lsr #8
+ add r0, r3, r1, asl #2
+ and r1, r2, #240
+ blt .L8641
+ ldr ip, [sp, #4]
+ add r3, r6, r7
+ cmp ip, r3
+ bhi .L7995
+ rsb r8, r6, ip
+ cmp r8, #0
+ ble .L7841
+ ldr lr, [sp, #0]
+ movs r7, r8, lsr #3
+ add r2, lr, r6, asl #1
+ beq .L7998
+ mov r5, r2
+ mov lr, r0
+ mov ip, #0
+.L8000:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L8001
+ ands r3, r4, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #0] @ movhi
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #2] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #8] @ movhi
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #10] @ movhi
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #12] @ movhi
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r4
+ strneh r3, [r5, #14] @ movhi
+.L8001:
+ add ip, ip, #1
+ cmp ip, r7
+ add lr, lr, #32
+ add r5, r5, #16
+ bne .L8000
+ add r0, r0, r7, asl #5
+ add r2, r2, r7, asl #4
+.L7998:
+ ands lr, r8, #7
+ beq .L7841
+ ldr r0, [r0, #0]
+ mov r4, #0
+.L8020:
+ ands r3, r0, #15
+ ldr r5, [sp, #24]
+ orr r3, r1, r3
+ mov ip, r4, asl #1
+ orr r3, r3, r5
+ add r4, r4, #1
+ strneh r3, [ip, r2] @ movhi
+ cmp r4, lr
+ mov r0, r0, lsr #4
+ bne .L8020
+ b .L7841
+.L7910:
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, lr, asl #22
+ movge r3, r7
+ mov r5, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r1, ip, lsr #3
+ mla r0, r5, r1, r2
+ subs r3, r7, #8
+ submi r3, r7, #1
+ ldr r8, [sp, #8]
+ add r0, r0, r3, asr #3
+ and r2, ip, #7
+ ldr r3, .L8668+24
+ add r2, r2, r0, asl #3
+ mov r1, lr, lsr #8
+ cmp r6, r8
+ add r0, r3, r2, asl #2
+ and r1, r1, #240
+ blt .L8642
+ ldr r2, [sp, #4]
+ add r3, r6, r7
+ cmp r2, r3
+ bhi .L8125
+ rsb r8, r6, r2
+ cmp r8, #0
+ ble .L7841
+ ldr r3, [sp, #0]
+ movs r7, r8, lsr #3
+ add r2, r3, r6, asl #1
+ beq .L8128
+ mov r5, r2
+ mov lr, r0
+ mov ip, #0
+.L8130:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L8131
+ ands r3, r4, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #14] @ movhi
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #12] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #10] @ movhi
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #8] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #2] @ movhi
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r4
+ strneh r3, [r5, #0] @ movhi
+.L8131:
+ add ip, ip, #1
+ cmp ip, r7
+ sub lr, lr, #32
+ add r5, r5, #16
+ bne .L8130
+ rsb r3, r7, r7, asl #27
+ add r0, r0, r3, asl #5
+ add r2, r2, r7, asl #4
+.L8128:
+ ands lr, r8, #7
+ beq .L7841
+ ldr r0, [r0, #0]
+ mov r4, #0
+.L8150:
+ movs r3, r0, lsr #28
+ ldr r5, [sp, #24]
+ orr r3, r1, r3
+ mov ip, r4, asl #1
+ orr r3, r3, r5
+ add r4, r4, #1
+ strneh r3, [ip, r2] @ movhi
+ cmp r4, lr
+ mov r0, r0, asl #4
+ bne .L8150
+ b .L7841
+.L7911:
+ cmp r7, #0
+ add r3, r7, #7
+ mov r1, lr, asl #22
+ movge r3, r7
+ mov r2, ip, lsr #3
+ mov lr, r3, asr #3
+ mov r1, r1, lsr #22
+ mov r2, r2, asl #1
+ mla r0, r2, lr, r1
+ and r3, ip, #7
+ add r3, r3, r0, asl #2
+ ldr r8, [sp, #8]
+ mov r0, r3, asl #3
+ ldr r3, .L8668+24
+ cmp r6, r8
+ add r1, r0, r3
+ blt .L8643
+ add r3, r6, r7
+ ldr r7, [sp, #4]
+ cmp r7, r3
+ bhi .L8330
+ rsb r8, r6, r7
+ cmp r8, #0
+ ble .L7841
+ ldr ip, [sp, #0]
+ movs r7, r8, lsr #3
+ add r2, ip, r6, asl #1
+ beq .L8333
+ ldr r3, .L8668+32
+ mov r5, r2
+ add r0, r0, r3
+ mov lr, r1
+ mov ip, #0
+.L8335:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L8336
+ ands r3, r4, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r5, #0] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r5, #2] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r5, #4] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #24]
+ orrne r3, r3, r4
+ strneh r3, [r5, #6] @ movhi
+.L8336:
+ ldr r4, [r0, #-60]
+ cmp r4, #0
+ beq .L8345
+ ands r3, r4, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r5, #8] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r5, #10] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r5, #12] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #24]
+ orrne r3, r3, r4
+ strneh r3, [r5, #14] @ movhi
+.L8345:
+ add ip, ip, #1
+ cmp r7, ip
+ add lr, lr, #64
+ add r5, r5, #16
+ add r0, r0, #64
+ bne .L8335
+ add r1, r1, r7, asl #6
+ add r2, r2, r7, asl #4
+.L8333:
+ ands lr, r8, #7
+ beq .L7841
+ cmp lr, #3
+ ldrls r0, [r1, #0]
+ bls .L8368
+ ldr r0, [r1, #0]
+ cmp r0, #0
+ beq .L8358
+ ands r3, r0, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r3, r5
+ strneh r3, [r2, #0] @ movhi
+ mov r3, r0, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r2, #2] @ movhi
+ mov r3, r0, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r2, #4] @ movhi
+ movs r3, r0, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r2, #6] @ movhi
+.L8358:
+ subs lr, lr, #4
+ ldr r0, [r1, #4]
+ addne r2, r2, #8
+ beq .L7841
+.L8368:
+ mov r1, #0
+.L8369:
+ ldr ip, [sp, #24]
+ ands r3, r0, #255
+ orr r3, r3, ip
+ mov ip, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [ip, r2] @ movhi
+ cmp lr, r1
+ mov r0, r0, lsr #8
+ bhi .L8369
+ b .L7841
+.L7912:
+ cmp r7, #0
+ add r2, r7, #7
+ movge r2, r7
+ subs r3, r7, #8
+ submi r3, r7, #1
+ mov r1, ip, lsr #3
+ mov r5, r2, asr #3
+ mov r3, r3, asr #3
+ mla r0, r5, r1, r3
+ mov r2, lr, asl #22
+ mov r2, r2, lsr #22
+ add r2, r2, r0, asl #1
+ and r3, ip, #7
+ add r3, r3, r2, asl #2
+ ldr ip, [sp, #8]
+ mov r0, r3, asl #3
+ ldr r3, .L8668+24
+ cmp r6, ip
+ add r1, r0, r3
+ blt .L8644
+ add r3, r6, r7
+ ldr r7, [sp, #4]
+ cmp r3, r7
+ bcc .L8550
+ rsb r8, r6, r7
+ cmp r8, #0
+ ble .L7841
+ ldr ip, [sp, #0]
+ movs r7, r8, lsr #3
+ add r6, ip, r6, asl #1
+ beq .L8553
+ ldr r3, .L8668+28
+ mov r5, r6
+ add r0, r0, r3
+ mov lr, r1
+ mov ip, #0
+.L8555:
+ ldr r4, [r0, #68]
+ cmp r4, #0
+ beq .L8556
+ ands r3, r4, #255
+ ldrne r2, [sp, #24]
+ orrne r3, r3, r2
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [sp, #24]
+ orrne r3, r3, r2
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [sp, #24]
+ orrne r3, r3, r2
+ strneh r3, [r5, #2] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #24]
+ orrne r3, r3, r4
+ strneh r3, [r5, #0] @ movhi
+.L8556:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L8565
+ ands r3, r4, #255
+ ldrne r2, [sp, #24]
+ orrne r3, r3, r2
+ strneh r3, [r5, #14] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [sp, #24]
+ orrne r3, r3, r2
+ strneh r3, [r5, #12] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [sp, #24]
+ orrne r3, r3, r2
+ strneh r3, [r5, #10] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #24]
+ orrne r3, r3, r4
+ strneh r3, [r5, #8] @ movhi
+.L8565:
+ add ip, ip, #1
+ cmp ip, r7
+ sub lr, lr, #64
+ add r5, r5, #16
+ sub r0, r0, #64
+ bne .L8555
+ rsb r3, r7, r7, asl #26
+ add r1, r1, r3, asl #6
+ add r6, r6, r7, asl #4
+.L8553:
+ ands ip, r8, #7
+ beq .L7841
+ cmp ip, #3
+ ldrls r2, [r1, #4]
+ bls .L8588
+ ldr r2, [r1, #4]
+ cmp r2, #0
+ beq .L8578
+ ands r3, r2, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r3, r5
+ strneh r3, [r6, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r6, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r6, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne lr, [sp, #24]
+ orrne r3, r3, lr
+ strneh r3, [r6, #0] @ movhi
+.L8578:
+ subs ip, ip, #4
+ ldr r2, [r1, #0]
+ addne r6, r6, #8
+ beq .L7841
+.L8588:
+ mov r1, #0
+.L8589:
+ ldr r0, [sp, #24]
+ movs r3, r2, lsr #24
+ orr r3, r3, r0
+ mov r0, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [r0, r6] @ movhi
+ cmp ip, r1
+ mov r2, r2, asl #8
+ bhi .L8589
+ b .L7841
+.L7834:
+ mov r3, r1, lsr #4
+ ldr r1, .L8668+12
+ and r3, r3, #992
+ add r3, r3, r1
+ tst r4, #512
+ ldrh r4, [r3, #30]
+ add r2, r7, r7, lsr #31
+ add r1, sl, sl, lsr #31
+ str r4, [sp, #20]
+ mov r4, r2, asr #1
+ ldr r2, [sp, #8]
+ mov r5, r1, asr #1
+ ldrh r8, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh r3, [r3, #22]
+ moveq fp, r7
+ moveq r9, r4
+ moveq r0, r5
+ movne fp, r7, asl #1
+ movne r9, r4, asl #1
+ movne r0, r5, asl #1
+ cmp r6, r2
+ str r3, [sp, #16]
+ bge .L7872
+ rsb r2, r6, r2
+ rsb fp, r2, fp
+ cmp fp, #0
+ ble .L7841
+ ldr r6, [sp, #8]
+ rsb r9, r2, r9
+.L7872:
+ ldr r2, [sp, #4]
+ add r3, r6, fp
+ cmp r3, r2
+ blt .L7875
+ rsb fp, r6, r2
+ cmp fp, #0
+ ble .L7841
+.L7875:
+ mov r3, r8, asl #16
+ ldr r8, [sp, #20]
+ add ip, ip, r0
+ mov r2, r1, asl #16
+ ldr r0, [sp, #16]
+ mov r1, r8, asl #16
+ mov r2, r2, asr #16
+ mov r1, r1, asr #16
+ cmp r0, #0
+ str r2, [sp, #68]
+ mov r0, lr, lsr #8
+ str r1, [sp, #76]
+ ldr r2, [sp, #32]
+ ldr r1, [sp, #0]
+ mov r4, r4, asl #8
+ mov r3, r3, asr #16
+ and r0, r0, #240
+ str r4, [sp, #88]
+ str r3, [sp, #64]
+ mov r5, r5, asl #8
+ add r8, r1, r6, asl #1
+ rsb r4, ip, r2
+ str r0, [sp, #104]
+ bne .L7877
+ ldr r3, [sp, #76]
+ mla r3, r4, r3, r5
+ mov r0, r3, asr #8
+ cmp r0, sl
+ bcs .L7841
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, lr, asl #22
+ movge r3, r7
+ mov r1, r0, lsr #3
+ mov r3, r3, asr #3
+ mov r2, r2, lsr #22
+ mla ip, r3, r1, r2
+ and r0, r0, #7
+ ldr r3, .L8668+24
+ add r0, r0, ip, asl #3
+ cmp fp, #0
+ add r1, r3, r0, asl #2
+ ble .L7841
+ ldr r3, [sp, #68]
+ ldr r2, [sp, #64]
+ mul r3, r4, r3
+ mul r2, r9, r2
+ ldr r4, [sp, #88]
+ rsb r3, r2, r3
+ add r0, r4, r3
+ mov r4, r0, asr #8
+ cmp r4, r7
+ ldrcs r5, [sp, #16]
+ bcs .L7883
+ b .L8665
+.L7884:
+ cmp r4, r7
+ bcc .L8630
+.L7883:
+ ldr r6, [sp, #64]
+ add r5, r5, #1
+ add r0, r0, r6
+ cmp fp, r5
+ mov r4, r0, asr #8
+ add r8, r8, #2
+ bne .L7884
+ ldr r0, [sp, #28]
+ ldr r1, [sp, #36]
+ add r0, r0, #1
+ cmp r0, r1
+ str r0, [sp, #28]
+ bne .L8646
+.L8614:
+ add sp, sp, #112
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L7845:
+ cmp r7, #0
+ add r1, r7, #7
+ mov r2, lr, asl #22
+ movge r1, r7
+ ldr r3, .L8668+24
+ mov r2, r2, lsr #22
+ mov r1, r1, asr #3
+ add r2, r3, r2, asl #5
+ mov r1, r1, asl #6
+ cmp r9, #0
+ str r2, [sp, #100]
+ str r1, [sp, #60]
+ ble .L7841
+ mov r3, fp, asl #16
+ mov fp, r3, asr #16
+ ldr r3, [sp, #48]
+ mul r2, r4, ip
+ mul r3, r4, r3
+ ldr r1, [sp, #56]
+ ldr r4, [sp, #44]
+ ldr r0, [sp, #56]
+ mul r1, fp, r1
+ mul r0, r4, r0
+ ldr r6, [sp, #92]
+ ldr ip, [sp, #52]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add r5, r6, r3
+ add lr, ip, r2
+ mov r4, lr, asr #8
+ mov ip, r5, asr #8
+ cmp ip, r7
+ cmpcc r4, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L7861
+ b .L8666
+.L7862:
+ cmp ip, r7
+ cmpcc r4, sl
+ bcc .L7863
+.L7861:
+ ldr r0, [sp, #44]
+ add r6, r6, #1
+ add r5, r5, r0
+ add lr, lr, fp
+ cmp r9, r6
+ mov ip, r5, asr #8
+ mov r4, lr, asr #8
+ add r8, r8, #2
+ bne .L7862
+ b .L7841
+.L7877:
+ cmp r7, #0
+ add r1, r7, #7
+ mov r2, lr, asl #22
+ movge r1, r7
+ ldr r3, .L8668+24
+ mov r2, r2, lsr #22
+ mov r1, r1, asr #3
+ add r2, r3, r2, asl #5
+ mov r1, r1, asl #5
+ cmp fp, #0
+ str r2, [sp, #96]
+ str r1, [sp, #80]
+ ble .L7841
+ ldr r6, [sp, #16]
+ ldr r2, [sp, #76]
+ mov r3, r6, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #72]
+ ldr r1, [sp, #72]
+ ldr r3, [sp, #68]
+ ldr r0, [sp, #64]
+ mul r2, r4, r2
+ mul r3, r4, r3
+ mul r1, r9, r1
+ mul r0, r9, r0
+ ldr ip, [sp, #88]
+ rsb r2, r1, r2
+ rsb r3, r0, r3
+ add lr, ip, r3
+ add r5, r5, r2
+ mov r4, lr, asr #8
+ mov r2, r5, asr #8
+ cmp r4, r7
+ cmpcc r2, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L7896
+ b .L8667
+.L7897:
+ cmp r4, r7
+ cmpcc r2, sl
+ bcc .L7899
+.L7896:
+ ldr r0, [sp, #64]
+ ldr r1, [sp, #72]
+ add r6, r6, #1
+ add lr, lr, r0
+ add r5, r5, r1
+ cmp fp, r6
+ mov r4, lr, asr #8
+ mov r2, r5, asr #8
+ add r8, r8, #2
+ bne .L7897
+ b .L7841
+.L8649:
+ ldr r3, [sp, #96]
+ and r0, r2, #7
+ add r0, r3, r0, asl #2
+ and r1, r2, #7
+ mov r3, r2, asr #3
+ ldr r2, [sp, #80]
+ mov ip, r4, asr #1
+ mul r2, r3, r2
+ and r9, ip, #3
+ ldr ip, [sp, #96]
+ mov r3, r4, asr #1
+ add r1, ip, r1, asl #2
+ and ip, r3, #3
+ mov r3, r4, asr #3
+ add r2, r2, r3, asl #5
+ add r3, r0, r2
+ tst r4, #1
+ add r0, r1, r2
+ ldreqb r3, [r0, ip] @ zero_extendqisi2
+ ldrneb r3, [r3, r9] @ zero_extendqisi2
+ ldr r4, [sp, #104]
+ movne r0, r3, lsr #4
+ andeq r0, r3, #15
+ ldr ip, [sp, #24]
+ ldr r2, [sp, #72]
+ orr r3, r0, r4
+ ldr r1, [sp, #64]
+ cmp r0, #0
+ add r6, r6, #1
+ orr r3, r3, ip
+ strneh r3, [r8, #0] @ movhi
+ add lr, lr, r1
+ add r5, r5, r2
+ cmp fp, r6
+ mov r4, lr, asr #8
+ mov r2, r5, asr #8
+ add r8, r8, #2
+ ble .L7841
+.L7899:
+ cmp r2, sl
+ cmpcc r4, r7
+ bcc .L8649
+ b .L7841
+.L7886:
+ cmp r4, r7
+ bcs .L7841
+.L8630:
+ mov r3, r4, asr #1
+ and sl, r3, #3
+ mov r3, r4, asr #3
+ mov r3, r3, asl #5
+ mov r2, r4, asr #1
+ tst r4, #1
+ add ip, r3, r1
+ and r6, r2, #3
+ add r2, r3, r1
+ ldreqb r3, [r2, r6] @ zero_extendqisi2
+ ldrneb r3, [ip, sl] @ zero_extendqisi2
+ ldr lr, [sp, #104]
+ movne r2, r3, lsr #4
+ andeq r2, r3, #15
+ cmp r2, #0
+ orr r3, r2, lr
+ ldr r2, [sp, #24]
+ ldr ip, [sp, #64]
+ add r5, r5, #1
+ orr r3, r3, r2
+ strneh r3, [r8, #0] @ movhi
+ add r0, r0, ip
+ cmp fp, r5
+ mov r4, r0, asr #8
+ add r8, r8, #2
+ bgt .L7886
+ b .L7841
+.L7854:
+ cmp r4, r7
+ bcs .L7841
+.L8628:
+ ldr r1, [sp, #44]
+ mov r3, r4, asr #3
+ add r0, r0, r1
+ add r3, lr, r3, asl #6
+ and r1, r4, #7
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ ldr r3, [sp, #24]
+ cmp r2, #0
+ add ip, ip, #1
+ orr r2, r2, r3
+ strneh r2, [r8, #0] @ movhi
+ cmp r9, ip
+ mov r4, r0, asr #8
+ add r8, r8, #2
+ bgt .L7854
+ b .L7841
+.L8669:
+ .align 2
+.L8668:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word oam_ram
+ .word obj_height_table
+ .word obj_width_table
+ .word vram+65536
+ .word vram+65472
+ .word vram+65600
+.L8644:
+ rsb r0, r6, ip
+ rsb r4, r0, r7
+ cmp r4, #0
+ ble .L7841
+ ldr lr, [sp, #4]
+ add r3, r6, r7
+ cmp lr, r3
+ bhi .L8397
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ sub r6, r1, r3, asl #6
+ bne .L8399
+ ldr r5, [sp, #108]
+ ldr r4, [sp, #84]
+.L8401:
+ movs lr, r5, lsr #3
+ beq .L8459
+ mov r1, r4
+ mov r0, r6
+ mov ip, #0
+.L8461:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L8462
+ ands r3, r2, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r1, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r1, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r1, #0] @ movhi
+.L8462:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L8471
+ ands r3, r2, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r1, #14] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r1, #12] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r1, #10] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r1, #8] @ movhi
+.L8471:
+ add ip, ip, #1
+ cmp ip, lr
+ sub r0, r0, #64
+ add r1, r1, #16
+ bne .L8461
+ rsb r3, lr, lr, asl #26
+ add r6, r6, r3, asl #6
+ add r4, r4, lr, asl #4
+.L8459:
+ ands ip, r5, #7
+ beq .L7841
+ cmp ip, #3
+ ldrls r2, [r6, #4]
+ bls .L8494
+ ldr r2, [r6, #4]
+ cmp r2, #0
+ beq .L8484
+ ands r3, r2, #255
+ ldrne lr, [sp, #24]
+ orrne r3, r3, lr
+ strneh r3, [r4, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r0, [sp, #24]
+ orrne r3, r3, r0
+ strneh r3, [r4, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, [sp, #24]
+ orrne r3, r3, r1
+ strneh r3, [r4, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #24]
+ orrne r3, r3, r2
+ strneh r3, [r4, #0] @ movhi
+.L8484:
+ subs ip, ip, #4
+ ldr r2, [r6, #0]
+ addne r4, r4, #8
+ beq .L7841
+.L8494:
+ mov r1, #0
+.L8495:
+ ldr r5, [sp, #24]
+ movs r3, r2, lsr #24
+ mov r0, r1, asl #1
+ orr r3, r3, r5
+ add r1, r1, #1
+ strneh r3, [r0, r4] @ movhi
+ cmp ip, r1
+ mov r2, r2, asl #8
+ bhi .L8495
+ b .L7841
+.L8643:
+ rsb r0, r6, r8
+ rsb r4, r0, r7
+ cmp r4, #0
+ ble .L7841
+ ldr ip, [sp, #4]
+ add r3, r6, r7
+ cmp ip, r3
+ bhi .L8177
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ add r6, r1, r3, asl #6
+ bne .L8179
+ ldr r5, [sp, #108]
+ ldr r4, [sp, #84]
+.L8181:
+ movs lr, r5, lsr #3
+ beq .L8239
+ mov r1, r4
+ mov r0, r6
+ mov ip, #0
+.L8241:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L8242
+ ands r3, r2, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r1, #6] @ movhi
+.L8242:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L8251
+ ands r3, r2, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r1, #10] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r1, #12] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r1, #14] @ movhi
+.L8251:
+ add ip, ip, #1
+ cmp lr, ip
+ add r0, r0, #64
+ add r1, r1, #16
+ bne .L8241
+ add r6, r6, lr, asl #6
+ add r4, r4, lr, asl #4
+.L8239:
+ ands ip, r5, #7
+ beq .L7841
+ cmp ip, #3
+ ldrls r1, [r6, #0]
+ bls .L8274
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L8264
+ ands r3, r2, #255
+ ldrne lr, [sp, #24]
+ orrne r3, r3, lr
+ strneh r3, [r4, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r0, [sp, #24]
+ orrne r3, r3, r0
+ strneh r3, [r4, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, [sp, #24]
+ orrne r3, r3, r1
+ strneh r3, [r4, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #24]
+ orrne r3, r3, r2
+ strneh r3, [r4, #6] @ movhi
+.L8264:
+ subs ip, ip, #4
+ ldr r1, [r6, #4]
+ addne r4, r4, #8
+ beq .L7841
+.L8274:
+ mov r2, #0
+.L8275:
+ ldr r5, [sp, #24]
+ ands r3, r1, #255
+ mov r0, r2, asl #1
+ orr r3, r3, r5
+ add r2, r2, #1
+ strneh r3, [r0, r4] @ movhi
+ cmp ip, r2
+ mov r1, r1, lsr #8
+ bhi .L8275
+ b .L7841
+.L8642:
+ rsb r4, r6, r8
+ rsb ip, r4, r7
+ cmp ip, #0
+ ble .L7841
+ ldr lr, [sp, #4]
+ add r3, r6, r7
+ cmp lr, r3
+ bhi .L8047
+ mov r3, r4, lsr #3
+ ands lr, r4, #7
+ sub r0, r0, r3, asl #5
+ bne .L8049
+ ldr r2, [sp, #108]
+ ldr r8, [sp, #84]
+.L8051:
+ movs r7, r2, lsr #3
+ beq .L8068
+ mov r5, r8
+ mov lr, r0
+ mov r6, #0
+.L8070:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L8071
+ ands r3, r4, #15
+ ldrne ip, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #14] @ movhi
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne ip, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #12] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne ip, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #10] @ movhi
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne ip, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #8] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne ip, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne ip, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne ip, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #2] @ movhi
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r4
+ strneh r3, [r5, #0] @ movhi
+.L8071:
+ add r6, r6, #1
+ cmp r6, r7
+ sub lr, lr, #32
+ add r5, r5, #16
+ bne .L8070
+ rsb r3, r7, r7, asl #27
+ add r0, r0, r3, asl #5
+ add r8, r8, r7, asl #4
+.L8068:
+ ands lr, r2, #7
+ beq .L7841
+ ldr r0, [r0, #0]
+ mov ip, #0
+.L8090:
+ movs r3, r0, lsr #28
+ ldr r5, [sp, #24]
+ orr r3, r1, r3
+ mov r2, ip, asl #1
+ orr r3, r3, r5
+ add ip, ip, #1
+ strneh r3, [r2, r8] @ movhi
+ cmp ip, lr
+ mov r0, r0, asl #4
+ bne .L8090
+ b .L7841
+.L8641:
+ ldr r3, [sp, #8]
+ rsb r4, r6, r3
+ rsb r5, r4, r7
+ cmp r5, #0
+ ble .L7841
+ add r3, r6, r7
+ ldr r6, [sp, #4]
+ cmp r6, r3
+ bhi .L7917
+ mov r3, r4, lsr #3
+ mov r2, r3, asl #5
+ ands r3, r4, #7
+ add r5, r0, r2
+ bne .L7919
+ ldr r7, [sp, #108]
+ ldr r6, [sp, #84]
+.L7921:
+ movs r4, r7, lsr #3
+ beq .L7938
+ mov ip, r6
+ mov r0, r5
+ mov lr, #0
+.L7940:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L7941
+ ands r3, r2, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #12] @ movhi
+ movs r3, r2, lsr #28
+ ldrne r2, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r2
+ strneh r3, [ip, #14] @ movhi
+.L7941:
+ add lr, lr, #1
+ cmp r4, lr
+ add r0, r0, #32
+ add ip, ip, #16
+ bne .L7940
+ add r5, r5, r4, asl #5
+ add r6, r6, r4, asl #4
+.L7938:
+ ands lr, r7, #7
+ beq .L7841
+ ldr r2, [r5, #0]
+ mov r0, #0
+.L7960:
+ ands r3, r2, #15
+ ldr r4, [sp, #24]
+ orr r3, r1, r3
+ mov ip, r0, asl #1
+ orr r3, r3, r4
+ add r0, r0, #1
+ strneh r3, [ip, r6] @ movhi
+ cmp r0, lr
+ mov r2, r2, lsr #4
+ bne .L7960
+ b .L7841
+.L8666:
+ mov r6, #0
+.L7863:
+ cmp r4, sl
+ movcc r3, #0
+ movcs r3, #1
+ cmp r7, ip
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L8629
+ b .L7841
+.L7864:
+ cmp r4, sl
+ cmpcc ip, r7
+ bcs .L7841
+.L8629:
+ and r3, r4, #7
+ mov r2, ip, asr #3
+ mov r3, r3, asl #3
+ add r3, r3, r2, asl #6
+ ldr r2, [sp, #100]
+ ldr r0, [sp, #60]
+ add r3, r3, r2
+ mov r2, r4, asr #3
+ mla r0, r2, r0, r3
+ ldr r1, [sp, #44]
+ add r6, r6, #1
+ add r5, r5, r1
+ and r1, ip, #7
+ ldrb r3, [r0, r1] @ zero_extendqisi2
+ ldr r0, [sp, #24]
+ cmp r3, #0
+ orr r3, r3, r0
+ strneh r3, [r8, #0] @ movhi
+ add lr, lr, fp
+ cmp r9, r6
+ mov r4, lr, asr #8
+ mov ip, r5, asr #8
+ add r8, r8, #2
+ bgt .L7864
+ b .L7841
+.L8125:
+ cmp r5, #0
+ beq .L7841
+ ldr r7, [sp, #0]
+ mov ip, #0
+ add r2, r7, r6, asl #1
+ b .L8155
+.L8650:
+ sub r0, r0, #32
+ add r2, r2, #16
+.L8155:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L8156
+ ands r3, r4, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [r2, #14] @ movhi
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne lr, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, lr
+ strneh r3, [r2, #12] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r2, #10] @ movhi
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r7, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [r2, #8] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [r2, #6] @ movhi
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne lr, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, lr
+ strneh r3, [r2, #4] @ movhi
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r2, #2] @ movhi
+ movs r3, r4, lsr #28
+ ldrne r7, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [r2, #0] @ movhi
+.L8156:
+ add ip, ip, #1
+ cmp r5, ip
+ bne .L8650
+ b .L7841
+.L8550:
+ cmp r5, #0
+ beq .L7841
+ ldr r3, [sp, #0]
+ mov ip, #0
+ add r2, r3, r6, asl #1
+ ldr r3, .L8668+28
+ add r0, r0, r3
+ b .L8594
+.L8651:
+ sub r1, r1, #64
+ add r2, r2, #16
+.L8594:
+ ldr r4, [r0, #68]
+ cmp r4, #0
+ beq .L8595
+ ands r3, r4, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r2, #6] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r2, #4] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r2, #2] @ movhi
+ movs r3, r4, lsr #24
+ ldrne lr, [sp, #24]
+ orrne r3, r3, lr
+ strneh r3, [r2, #0] @ movhi
+.L8595:
+ ldr r4, [r1, #0]
+ cmp r4, #0
+ beq .L8604
+ ands r3, r4, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r2, #14] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r2, #12] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r2, #10] @ movhi
+ movs r3, r4, lsr #24
+ ldrne lr, [sp, #24]
+ orrne r3, r3, lr
+ strneh r3, [r2, #8] @ movhi
+.L8604:
+ add ip, ip, #1
+ cmp r5, ip
+ sub r0, r0, #64
+ bne .L8651
+ b .L7841
+.L7995:
+ cmp r5, #0
+ beq .L7841
+ ldr r7, [sp, #0]
+ mov ip, #0
+ add r2, r7, r6, asl #1
+ b .L8025
+.L8652:
+ add r0, r0, #32
+ add r2, r2, #16
+.L8025:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L8026
+ ands r3, r4, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [r2, #0] @ movhi
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne lr, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, lr
+ strneh r3, [r2, #2] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r2, #4] @ movhi
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r7, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [r2, #6] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [r2, #8] @ movhi
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne lr, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, lr
+ strneh r3, [r2, #10] @ movhi
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r2, #12] @ movhi
+ movs r3, r4, lsr #28
+ ldrne r7, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [r2, #14] @ movhi
+.L8026:
+ add ip, ip, #1
+ cmp r5, ip
+ bne .L8652
+ b .L7841
+.L8330:
+ cmp lr, #0
+ beq .L7841
+ ldr r3, [sp, #0]
+ mov ip, #0
+ add r2, r3, r6, asl #1
+ ldr r3, .L8668+32
+ add r0, r0, r3
+ b .L8374
+.L8653:
+ add r1, r1, #64
+ add r2, r2, #16
+.L8374:
+ ldr r4, [r1, #0]
+ cmp r4, #0
+ beq .L8375
+ ands r3, r4, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r3, r5
+ strneh r3, [r2, #0] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r2, #2] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r2, #4] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r2, #6] @ movhi
+.L8375:
+ ldr r4, [r0, #-60]
+ cmp r4, #0
+ beq .L8384
+ ands r3, r4, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r3, r5
+ strneh r3, [r2, #8] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r2, #10] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r2, #12] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r2, #14] @ movhi
+.L8384:
+ add ip, ip, #1
+ cmp lr, ip
+ add r0, r0, #64
+ bne .L8653
+ b .L7841
+.L8177:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ add r0, r1, r3, asl #6
+ ldreq r1, [sp, #84]
+ beq .L8281
+ cmp r2, #3
+ rsb lr, r2, #8
+ bhi .L8654
+ subs r5, lr, #4
+ ldr r1, [r0, #0]
+ ldreq r1, [sp, #84]
+ beq .L8294
+ mov r3, r2, asl #3
+ mov r2, r1, lsr r3
+ mov ip, #0
+.L8295:
+ ands r3, r2, #255
+ ldr r1, [sp, #24]
+ ldrne r6, [sp, #84]
+ orr r3, r3, r1
+ mov r1, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r1, r6] @ movhi
+ cmp ip, r5
+ mov r2, r2, lsr #8
+ bne .L8295
+ ldr r7, [sp, #84]
+ add r3, r7, lr, asl #1
+ sub r1, r3, #8
+.L8294:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L8300
+ ands r3, r2, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #24]
+ orrne r3, r3, ip
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne lr, [sp, #24]
+ orrne r3, r3, lr
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #24]
+ orrne r3, r3, r2
+ strneh r3, [r1, #6] @ movhi
+.L8300:
+ add r1, r1, #8
+.L8286:
+ add r0, r0, #64
+.L8281:
+ movs lr, r4, lsr #3
+ beq .L7841
+ mov ip, #0
+ b .L8310
+.L8655:
+ add r0, r0, #64
+ add r1, r1, #16
+.L8310:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L8311
+ ands r3, r2, #255
+ ldrne r4, [sp, #24]
+ orrne r3, r3, r4
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r3, r5
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r1, #6] @ movhi
+.L8311:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L8320
+ ands r3, r2, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #24]
+ orrne r3, r3, r4
+ strneh r3, [r1, #10] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r3, r5
+ strneh r3, [r1, #12] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r1, #14] @ movhi
+.L8320:
+ add ip, ip, #1
+ cmp lr, ip
+ bne .L8655
+ b .L7841
+.L8047:
+ ands r2, r4, #7
+ mov r3, r4, lsr #3
+ sub r0, r0, r3, asl #5
+ ldreq r5, [sp, #84]
+ beq .L8096
+ rsbs lr, r2, #8
+ ldr r4, [r0, #0]
+ ldreq r5, [sp, #84]
+ beq .L8099
+ mov r3, r2, asl #2
+ mov r4, r4, asl r3
+ mov r6, #0
+.L8100:
+ movs r3, r4, lsr #28
+ ldr r7, [sp, #24]
+ ldrne r8, [sp, #84]
+ orr r3, r1, r3
+ mov r5, r6, asl #1
+ orr r3, r3, r7
+ add r6, r6, #1
+ strneh r3, [r5, r8] @ movhi
+ cmp lr, r6
+ mov r4, r4, asl #4
+ bne .L8100
+ ldr r2, [sp, #84]
+ add r5, r2, lr, asl #1
+.L8099:
+ sub r0, r0, #32
+.L8096:
+ movs ip, ip, lsr #3
+ beq .L7841
+ mov r2, #0
+ b .L8106
+.L8656:
+ sub r0, r0, #32
+ add r5, r5, #16
+.L8106:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L8107
+ ands r3, r4, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #14] @ movhi
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r7, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [r5, #12] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [r5, #10] @ movhi
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne lr, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, lr
+ strneh r3, [r5, #8] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r7, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [r5, #2] @ movhi
+ movs r3, r4, lsr #28
+ ldrne lr, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, lr
+ strneh r3, [r5, #0] @ movhi
+.L8107:
+ add r2, r2, #1
+ cmp r2, ip
+ bne .L8656
+ b .L7841
+.L8397:
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ sub r2, r1, r3, asl #6
+ ldreq r0, [sp, #84]
+ beq .L8501
+ cmp ip, #3
+ rsb lr, ip, #8
+ bhi .L8657
+ subs r5, lr, #4
+ ldr r1, [r2, #4]
+ ldreq r0, [sp, #84]
+ beq .L8514
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov ip, #0
+.L8515:
+ movs r3, r1, lsr #24
+ ldr r0, [sp, #24]
+ ldrne r6, [sp, #84]
+ orr r3, r3, r0
+ mov r0, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r0, r6] @ movhi
+ cmp r5, ip
+ mov r1, r1, asl #8
+ bne .L8515
+ ldr r7, [sp, #84]
+ add r3, r7, lr, asl #1
+ sub r0, r3, #8
+.L8514:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L8520
+ ands r3, r1, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #24]
+ orrne r3, r3, ip
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne lr, [sp, #24]
+ orrne r3, r3, lr
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r1, lsr #24
+ ldrne r1, [sp, #24]
+ orrne r3, r3, r1
+ strneh r3, [r0, #0] @ movhi
+.L8520:
+ add r0, r0, #8
+.L8506:
+ sub r2, r2, #64
+.L8501:
+ movs lr, r4, lsr #3
+ beq .L7841
+ mov ip, #0
+ b .L8530
+.L8658:
+ sub r2, r2, #64
+ add r0, r0, #16
+.L8530:
+ ldr r1, [r2, #4]
+ cmp r1, #0
+ beq .L8531
+ ands r3, r1, #255
+ ldrne r4, [sp, #24]
+ orrne r3, r3, r4
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r3, r5
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r1, lsr #24
+ ldrne r7, [sp, #24]
+ orrne r3, r3, r7
+ strneh r3, [r0, #0] @ movhi
+.L8531:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L8540
+ ands r3, r1, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r0, #14] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #24]
+ orrne r3, r3, r4
+ strneh r3, [r0, #12] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r3, r5
+ strneh r3, [r0, #10] @ movhi
+ movs r3, r1, lsr #24
+ ldrne r6, [sp, #24]
+ orrne r3, r3, r6
+ strneh r3, [r0, #8] @ movhi
+.L8540:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L8658
+ b .L7841
+.L7917:
+ mov r3, r4, lsr #3
+ mov r2, r3, asl #5
+ ands r3, r4, #7
+ add lr, r0, r2
+ ldreq ip, [sp, #84]
+ beq .L7966
+ rsbs r4, r3, #8
+ ldr r0, [r0, r2]
+ ldreq ip, [sp, #84]
+ beq .L7969
+ mov r3, r3, asl #2
+ mov r0, r0, lsr r3
+ mov ip, #0
+.L7970:
+ ands r3, r0, #15
+ ldr r6, [sp, #24]
+ ldrne r7, [sp, #84]
+ orr r3, r1, r3
+ mov r2, ip, asl #1
+ orr r3, r3, r6
+ add ip, ip, #1
+ strneh r3, [r2, r7] @ movhi
+ cmp ip, r4
+ mov r0, r0, lsr #4
+ bne .L7970
+ ldr r8, [sp, #84]
+ add ip, r8, r4, asl #1
+.L7969:
+ add lr, lr, #32
+.L7966:
+ movs r4, r5, lsr #3
+ beq .L7841
+ mov r0, #0
+ b .L7976
+.L8659:
+ add lr, lr, #32
+ add ip, ip, #16
+.L7976:
+ ldr r2, [lr, #0]
+ cmp r2, #0
+ beq .L7977
+ ands r3, r2, #15
+ ldrne r5, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r5
+ strneh r3, [ip, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [ip, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ ldrne r7, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [ip, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ ldrne r5, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r5
+ strneh r3, [ip, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [ip, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ ldrne r7, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [ip, #12] @ movhi
+ movs r3, r2, lsr #28
+ ldrne r8, [sp, #24]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #14] @ movhi
+.L7977:
+ add r0, r0, #1
+ cmp r0, r4
+ bne .L8659
+ b .L7841
+.L8179:
+ ldr r0, [sp, #108]
+ rsb lr, ip, #8
+ cmp r0, lr
+ blt .L8660
+ cmp ip, #3
+ bls .L8212
+ cmp lr, #0
+ ldr r2, [r6, #4]
+ ldreq r4, [sp, #84]
+ beq .L8216
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r0, #0
+.L8217:
+ ands r3, r1, #255
+ ldr r8, [sp, #24]
+ ldrne ip, [sp, #84]
+ mov r2, r0, asl #1
+ orr r3, r3, r8
+ add r0, r0, #1
+ strneh r3, [r2, ip] @ movhi
+ cmp lr, r0
+ mov r1, r1, lsr #8
+ bne .L8217
+ ldr r0, [sp, #84]
+ add r4, r0, lr, asl #1
+.L8216:
+ ldr r3, [sp, #108]
+ add r6, r6, #64
+ rsb r5, lr, r3
+ b .L8181
+.L8049:
+ ldr r2, [sp, #108]
+ rsb r6, lr, #8
+ cmp r2, r6
+ blt .L8661
+ cmp r6, #0
+ ldr r2, [r0, #0]
+ ldreq r8, [sp, #84]
+ beq .L8062
+ mov r3, lr, asl #2
+ mov lr, r2, asl r3
+ mov r5, #0
+.L8063:
+ movs r3, lr, lsr #28
+ ldr r7, [sp, #24]
+ ldrne r8, [sp, #84]
+ orr r3, r1, r3
+ mov r4, r5, asl #1
+ orr r3, r3, r7
+ add r5, r5, #1
+ strneh r3, [r4, r8] @ movhi
+ cmp r6, r5
+ mov lr, lr, asl #4
+ bne .L8063
+ ldr ip, [sp, #84]
+ add r8, ip, r6, asl #1
+.L8062:
+ ldr lr, [sp, #108]
+ sub r0, r0, #32
+ rsb r2, r6, lr
+ b .L8051
+.L7919:
+ ldr r7, [sp, #108]
+ rsb lr, r3, #8
+ cmp r7, lr
+ blt .L8662
+ cmp lr, #0
+ ldr r2, [r5, #0]
+ ldreq r6, [sp, #84]
+ beq .L7932
+ mov r3, r3, asl #2
+ mov r2, r2, lsr r3
+ mov ip, #0
+.L7933:
+ ands r3, r2, #15
+ ldr r4, [sp, #24]
+ ldrne r6, [sp, #84]
+ orr r3, r1, r3
+ mov r0, ip, asl #1
+ orr r3, r3, r4
+ add ip, ip, #1
+ strneh r3, [r0, r6] @ movhi
+ cmp lr, ip
+ mov r2, r2, lsr #4
+ bne .L7933
+ ldr r7, [sp, #84]
+ add r6, r7, lr, asl #1
+.L7932:
+ ldr r8, [sp, #108]
+ add r5, r5, #32
+ rsb r7, lr, r8
+ b .L7921
+.L8399:
+ ldr r0, [sp, #108]
+ rsb lr, ip, #8
+ cmp r0, lr
+ blt .L8663
+ cmp ip, #3
+ bls .L8432
+ cmp lr, #0
+ ldr r2, [r6, #0]
+ ldreq r4, [sp, #84]
+ beq .L8436
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r0, #0
+.L8437:
+ movs r3, r2, lsr #24
+ ldr r8, [sp, #24]
+ ldrne ip, [sp, #84]
+ mov r1, r0, asl #1
+ orr r3, r3, r8
+ add r0, r0, #1
+ strneh r3, [r1, ip] @ movhi
+ cmp lr, r0
+ mov r2, r2, asl #8
+ bne .L8437
+ ldr r0, [sp, #84]
+ add r4, r0, lr, asl #1
+.L8436:
+ ldr r3, [sp, #108]
+ sub r6, r6, #64
+ rsb r5, lr, r3
+ b .L8401
+.L8663:
+ cmp r0, #0
+ ble .L7841
+ cmp ip, #3
+ bls .L8405
+ ldr r2, [r6, #0]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r0, #0
+.L8408:
+ movs r3, r2, lsr #24
+ ldr r1, [sp, #24]
+ ldrne r4, [sp, #84]
+ ldr r5, [sp, #108]
+ orr r3, r3, r1
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r4] @ movhi
+ cmp r5, r0
+ mov r2, r2, asl #8
+ bne .L8408
+ b .L7841
+.L8662:
+ cmp r7, #0
+ ble .L7841
+ ldr r2, [r0, r2]
+ mov r3, r3, asl #2
+ mov r0, r2, lsr r3
+ mov ip, #0
+.L7926:
+ ands r3, r0, #15
+ ldr r8, [sp, #24]
+ ldrne lr, [sp, #84]
+ orr r3, r1, r3
+ mov r2, ip, asl #1
+ orr r3, r3, r8
+ strneh r3, [r2, lr] @ movhi
+ ldr r2, [sp, #108]
+ add ip, ip, #1
+ cmp r2, ip
+ mov r0, r0, lsr #4
+ bne .L7926
+ b .L7841
+.L8661:
+ cmp r2, #0
+ ble .L7841
+ ldr r2, [r0, #0]
+ mov r3, lr, asl #2
+ mov r0, r2, asl r3
+ mov ip, #0
+.L8056:
+ movs r3, r0, lsr #28
+ ldr r4, [sp, #24]
+ ldrne r5, [sp, #84]
+ orr r3, r1, r3
+ ldr r6, [sp, #108]
+ mov r2, ip, asl #1
+ orr r3, r3, r4
+ add ip, ip, #1
+ strneh r3, [r2, r5] @ movhi
+ cmp r6, ip
+ mov r0, r0, asl #4
+ bne .L8056
+ b .L7841
+.L8657:
+ cmp lr, #0
+ ldr r1, [r2, #0]
+ ldreq r0, [sp, #84]
+ beq .L8506
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov ip, #0
+.L8507:
+ movs r3, r1, lsr #24
+ ldr r6, [sp, #24]
+ ldrne r7, [sp, #84]
+ mov r0, ip, asl #1
+ orr r3, r3, r6
+ add ip, ip, #1
+ strneh r3, [r0, r7] @ movhi
+ cmp ip, lr
+ mov r1, r1, asl #8
+ bne .L8507
+ ldr r8, [sp, #84]
+ sub r2, r2, #64
+ add r0, r8, lr, asl #1
+ b .L8501
+.L8654:
+ cmp lr, #0
+ ldr r1, [r0, #4]
+ ldreq r1, [sp, #84]
+ beq .L8286
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r2, r1, lsr r3
+ mov ip, #0
+.L8287:
+ ands r3, r2, #255
+ ldr r6, [sp, #24]
+ ldrne r7, [sp, #84]
+ mov r1, ip, asl #1
+ orr r3, r3, r6
+ add ip, ip, #1
+ strneh r3, [r1, r7] @ movhi
+ cmp ip, lr
+ mov r2, r2, lsr #8
+ bne .L8287
+ ldr r8, [sp, #84]
+ add r0, r0, #64
+ add r1, r8, lr, asl #1
+ b .L8281
+.L8660:
+ cmp r0, #0
+ ble .L7841
+ cmp ip, #3
+ bls .L8185
+ ldr r2, [r6, #4]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r0, #0
+.L8188:
+ ands r3, r1, #255
+ ldr r2, [sp, #24]
+ ldrne r4, [sp, #84]
+ ldr r5, [sp, #108]
+ orr r3, r3, r2
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp r5, r0
+ mov r1, r1, lsr #8
+ bne .L8188
+ b .L7841
+.L8667:
+ mov r6, #0
+ b .L7899
+.L8432:
+ subs r4, lr, #4
+ ldr r2, [r6, #4]
+ ldreq r1, [sp, #84]
+ beq .L8444
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r0, #0
+.L8445:
+ movs r3, r2, lsr #24
+ ldr r1, [sp, #24]
+ ldrne r5, [sp, #84]
+ orr r3, r3, r1
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r5] @ movhi
+ cmp r4, r0
+ mov r2, r2, asl #8
+ bne .L8445
+ ldr r7, [sp, #84]
+ add r3, r7, lr, asl #1
+ sub r1, r3, #8
+.L8444:
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L8450
+ ands r3, r2, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #24]
+ orrne r3, r3, ip
+ strneh r3, [r1, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r0, [sp, #24]
+ orrne r3, r3, r0
+ strneh r3, [r1, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #24]
+ orrne r3, r3, r2
+ strneh r3, [r1, #0] @ movhi
+.L8450:
+ add r4, r1, #8
+ b .L8436
+.L8212:
+ subs r4, lr, #4
+ ldr r2, [r6, #0]
+ ldreq r1, [sp, #84]
+ beq .L8224
+ mov r3, ip, asl #3
+ mov r1, r2, lsr r3
+ mov r0, #0
+.L8225:
+ ands r3, r1, #255
+ ldr r2, [sp, #24]
+ ldrne r5, [sp, #84]
+ orr r3, r3, r2
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r5] @ movhi
+ cmp r0, r4
+ mov r1, r1, lsr #8
+ bne .L8225
+ ldr r7, [sp, #84]
+ add r3, r7, lr, asl #1
+ sub r1, r3, #8
+.L8224:
+ ldr r2, [r6, #4]
+ cmp r2, #0
+ beq .L8230
+ ands r3, r2, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r3, r8
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #24]
+ orrne r3, r3, ip
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r0, [sp, #24]
+ orrne r3, r3, r0
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #24]
+ orrne r3, r3, r2
+ strneh r3, [r1, #6] @ movhi
+.L8230:
+ add r4, r1, #8
+ b .L8216
+.L8665:
+ ldr r5, [sp, #16]
+ b .L8630
+.L8664:
+ mov ip, fp
+ b .L8628
+.L8405:
+ ldr r7, [sp, #108]
+ mov r3, ip, asl #3
+ ldr r1, [r6, #4]
+ add r2, r7, ip
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L8412
+ cmp r7, #0
+ movne r0, #0
+ beq .L7841
+.L8428:
+ movs r3, r1, lsr #24
+ ldr r5, [sp, #24]
+ ldrne r6, [sp, #84]
+ ldr r7, [sp, #108]
+ mov r2, r0, asl #1
+ orr r3, r3, r5
+ add r0, r0, #1
+ strneh r3, [r2, r6] @ movhi
+ cmp r7, r0
+ mov r1, r1, asl #8
+ bne .L8428
+ b .L7841
+.L8185:
+ ldr r7, [sp, #108]
+ ldr r3, [r6, #0]
+ add r2, r7, ip
+ cmp r2, #4
+ mov r1, ip, asl #3
+ mov r2, r3, lsr r1
+ bhi .L8192
+ cmp r7, #0
+ movne r0, #0
+ beq .L7841
+.L8208:
+ ands r3, r2, #255
+ ldr r5, [sp, #24]
+ ldrne r6, [sp, #84]
+ ldr r7, [sp, #108]
+ mov r1, r0, asl #1
+ orr r3, r3, r5
+ add r0, r0, #1
+ strneh r3, [r1, r6] @ movhi
+ cmp r7, r0
+ mov r2, r2, lsr #8
+ bne .L8208
+ b .L7841
+.L8412:
+ rsbs ip, ip, #4
+ ldreq lr, [sp, #84]
+ beq .L8417
+ mov r0, #0
+.L8418:
+ movs r3, r1, lsr #24
+ ldr r8, [sp, #24]
+ ldrne lr, [sp, #84]
+ mov r2, r0, asl #1
+ orr r3, r3, r8
+ add r0, r0, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r0, ip
+ mov r1, r1, asl #8
+ bne .L8418
+ ldr r0, [sp, #84]
+ add lr, r0, ip, asl #1
+.L8417:
+ ldr r1, [sp, #108]
+ ldr r2, [r6, #0]
+ subs ip, r1, ip
+ beq .L7841
+ mov r0, #0
+.L8424:
+ ldr r4, [sp, #24]
+ movs r3, r2, lsr #24
+ mov r1, r0, asl #1
+ orr r3, r3, r4
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r0, ip
+ mov r2, r2, asl #8
+ bne .L8424
+ b .L7841
+.L8192:
+ rsbs ip, ip, #4
+ ldreq lr, [sp, #84]
+ beq .L8197
+ mov r0, #0
+.L8198:
+ ands r3, r2, #255
+ ldr r8, [sp, #24]
+ ldrne lr, [sp, #84]
+ mov r1, r0, asl #1
+ orr r3, r3, r8
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r0, ip
+ mov r2, r2, lsr #8
+ bne .L8198
+ ldr r0, [sp, #84]
+ add lr, r0, ip, asl #1
+.L8197:
+ ldr r1, [sp, #108]
+ ldr r2, [r6, #4]
+ subs ip, r1, ip
+ beq .L7841
+ mov r0, #0
+.L8204:
+ ldr r4, [sp, #24]
+ ands r3, r2, #255
+ mov r1, r0, asl #1
+ orr r3, r3, r4
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r0, ip
+ mov r2, r2, lsr #8
+ bne .L8204
+ b .L7841
+ .size render_scanline_obj_color16_1D, .-render_scanline_obj_color16_1D
+ .align 2
+ .global render_scanline_obj_color16_2D
+ .type render_scanline_obj_color16_2D, %function
+render_scanline_obj_color16_2D:
+ @ args = 0, pretend = 0, frame = 96
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr ip, .L9512
+ sub sp, sp, #96
+ ldrh r4, [ip, #6]
+ add r0, r0, r0, asl #2
+ str r4, [sp, #36]
+ ldr r5, [sp, #36]
+ ldrh r4, [ip, #80]
+ ldr ip, .L9512+4
+ add r0, r5, r0, asl #5
+ ldr ip, [ip, r0, asl #2]
+ mov lr, r4, lsr #11
+ and lr, lr, #2
+ mov r4, r4, asl #27
+ str ip, [sp, #40]
+ orr lr, lr, r4, lsr #31
+ cmp ip, #0
+ ldr ip, .L9512+8
+ mov lr, lr, asl #9
+ add r0, ip, r0, asl #7
+ orr lr, lr, #256
+ str r0, [sp, #44]
+ str r1, [sp, #12]
+ str r2, [sp, #8]
+ str r3, [sp, #4]
+ str lr, [sp, #28]
+ beq .L9458
+ mov r8, #0
+ add r6, r3, r1, asl #1
+ rsb r7, r1, r2
+ str r6, [sp, #68]
+ str r7, [sp, #92]
+ str r8, [sp, #32]
+ mov ip, r8
+.L8673:
+ ldr lr, [sp, #44]
+ ldr r0, .L9512+12
+ ldrb r3, [ip, lr] @ zero_extendqisi2
+ mov r3, r3, asl #3
+ ldrh r4, [r3, r0]
+ add r3, r3, r0
+ ldrh r1, [r3, #2]
+ mov r5, r4, lsr #12
+ and r2, r5, #12
+ orr r0, r2, r1, lsr #14
+ and ip, r4, #255
+ mov r2, r1, asl #23
+ cmp ip, #160
+ ldrh lr, [r3, #4]
+ mov r6, r2, asr #23
+ ldr r3, .L9512+16
+ ldr r2, .L9512+20
+ subgt ip, ip, #256
+ tst r4, #256
+ ldr r8, [r2, r0, asl #2]
+ ldr sl, [r3, r0, asl #2]
+ beq .L8676
+ tst r4, #8192
+ beq .L8678
+ tst r4, #512
+ mov r3, r1, lsr #4
+ ldr r4, .L9512+12
+ and r3, r3, #992
+ add r3, r3, r4
+ add r2, r8, r8, lsr #31
+ ldrh r5, [r3, #30]
+ mov r4, r2, asr #1
+ add r1, sl, sl, lsr #31
+ ldr r2, [sp, #12]
+ movne r0, r4, asl #1
+ str r5, [sp, #16]
+ mov r5, r1, asr #1
+ strne r0, [sp, #52]
+ moveq r9, r8
+ streq r4, [sp, #52]
+ moveq r0, r5
+ movne r9, r8, asl #1
+ movne r0, r5, asl #1
+ cmp r6, r2
+ ldrh r7, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh fp, [r3, #22]
+ bge .L8683
+ rsb r2, r6, r2
+ rsb r9, r2, r9
+ cmp r9, #0
+ ble .L8685
+ ldr r3, [sp, #52]
+ ldr r6, [sp, #12]
+ rsb r3, r2, r3
+ str r3, [sp, #52]
+.L8683:
+ ldr r2, [sp, #8]
+ add r3, r6, r9
+ cmp r3, r2
+ blt .L8687
+ rsb r9, r6, r2
+ cmp r9, #0
+ ble .L8685
+.L8687:
+ mov r3, r7, asl #16
+ mov r2, r1, asl #16
+ ldr r7, [sp, #16]
+ mov r3, r3, asr #16
+ add r0, ip, r0
+ str r3, [sp, #48]
+ mov ip, r2, asr #16
+ ldr r3, [sp, #36]
+ ldr r2, [sp, #4]
+ mov r1, r7, asl #16
+ mov r4, r4, asl #8
+ cmp fp, #0
+ str r4, [sp, #76]
+ mov r1, r1, asr #16
+ mov r4, r5, asl #8
+ add r7, r2, r6, asl #1
+ rsb r0, r0, r3
+ bne .L8689
+ mla r3, r0, r1, r4
+ mov r1, r3, asr #8
+ cmp r1, sl
+ bcs .L8685
+ mov r3, lr, asl #22
+ mov r2, r1, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r1, #7
+ add r1, r1, r3, asl #2
+ ldr r3, .L9512+24
+ cmp r9, #0
+ add lr, r3, r1, asl #3
+ ble .L8685
+ ldr r4, [sp, #48]
+ ldr r2, [sp, #52]
+ mul r3, r0, ip
+ mul r2, r4, r2
+ ldr r5, [sp, #76]
+ rsb r3, r2, r3
+ add r0, r5, r3
+ mov r4, r0, asr #8
+ cmp r4, r8
+ movcs ip, fp
+ bcs .L8695
+ b .L9508
+.L8696:
+ cmp r4, r8
+ bcc .L9472
+.L8695:
+ ldr r6, [sp, #48]
+ add ip, ip, #1
+ add r0, r0, r6
+ cmp r9, ip
+ mov r4, r0, asr #8
+ add r7, r7, #2
+ bne .L8696
+.L8685:
+ ldr ip, [sp, #32]
+ ldr lr, [sp, #40]
+ add ip, ip, #1
+ cmp ip, lr
+ str ip, [sp, #32]
+ beq .L9458
+.L9490:
+ ldr ip, [sp, #32]
+ b .L8673
+.L8676:
+ ldr r2, [sp, #36]
+ tst r1, #8192
+ rsb r0, ip, r2
+ rsbne r3, r0, sl
+ subne r0, r3, #1
+ mov r2, r1, asl #19
+ and r3, r5, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L8685
+ .p2align 2
+.L8757:
+ .word .L8753
+ .word .L8754
+ .word .L8755
+ .word .L8756
+.L8753:
+ mov r3, lr, asl #22
+ mov r2, r0, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r0, #7
+ add r1, r1, r3, asl #3
+ ldr r3, [sp, #12]
+ mov r2, lr, lsr #8
+ cmp r6, r3
+ ldr r3, .L9512+24
+ add r0, r3, r1, asl #2
+ and r1, r2, #240
+ blt .L9485
+ ldr ip, [sp, #8]
+ add r3, r6, r8
+ cmp ip, r3
+ bhi .L8839
+ rsb r8, r6, ip
+ cmp r8, #0
+ ble .L8685
+ ldr lr, [sp, #4]
+ movs r7, r8, lsr #3
+ add r2, lr, r6, asl #1
+ beq .L8842
+ mov r5, r2
+ mov lr, r0
+ mov ip, #0
+.L8844:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L8845
+ ands r3, r4, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #0] @ movhi
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #2] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #8] @ movhi
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #10] @ movhi
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #12] @ movhi
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r4
+ strneh r3, [r5, #14] @ movhi
+.L8845:
+ add ip, ip, #1
+ cmp ip, r7
+ add lr, lr, #32
+ add r5, r5, #16
+ bne .L8844
+ add r0, r0, r7, asl #5
+ add r2, r2, r7, asl #4
+.L8842:
+ ands lr, r8, #7
+ beq .L8685
+ ldr r0, [r0, #0]
+ mov r4, #0
+.L8864:
+ ands r3, r0, #15
+ ldr r5, [sp, #28]
+ orr r3, r1, r3
+ mov ip, r4, asl #1
+ orr r3, r3, r5
+ add r4, r4, #1
+ strneh r3, [ip, r2] @ movhi
+ cmp r4, lr
+ mov r0, r0, lsr #4
+ bne .L8864
+ b .L8685
+.L8754:
+ mov r3, lr, asl #22
+ mov r1, r0, lsr #3
+ subs r2, r8, #8
+ mov r3, r3, lsr #22
+ submi r2, r8, #1
+ add r3, r3, r1, asl #5
+ add r3, r3, r2, asr #3
+ and r1, r0, #7
+ ldr ip, [sp, #12]
+ add r1, r1, r3, asl #3
+ ldr r3, .L9512+24
+ mov r2, lr, lsr #8
+ cmp r6, ip
+ add r0, r3, r1, asl #2
+ and r1, r2, #240
+ blt .L9486
+ ldr r2, [sp, #8]
+ add r3, r6, r8
+ cmp r2, r3
+ bhi .L8969
+ rsb r8, r6, r2
+ cmp r8, #0
+ ble .L8685
+ ldr r3, [sp, #4]
+ movs r7, r8, lsr #3
+ add r2, r3, r6, asl #1
+ beq .L8972
+ mov r5, r2
+ mov lr, r0
+ mov ip, #0
+.L8974:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L8975
+ ands r3, r4, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #14] @ movhi
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #12] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #10] @ movhi
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #8] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #2] @ movhi
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r4
+ strneh r3, [r5, #0] @ movhi
+.L8975:
+ add ip, ip, #1
+ cmp ip, r7
+ sub lr, lr, #32
+ add r5, r5, #16
+ bne .L8974
+ rsb r3, r7, r7, asl #27
+ add r0, r0, r3, asl #5
+ add r2, r2, r7, asl #4
+.L8972:
+ ands lr, r8, #7
+ beq .L8685
+ ldr r0, [r0, #0]
+ mov r4, #0
+.L8994:
+ movs r3, r0, lsr #28
+ ldr r5, [sp, #28]
+ orr r3, r1, r3
+ mov ip, r4, asl #1
+ orr r3, r3, r5
+ add r4, r4, #1
+ strneh r3, [ip, r2] @ movhi
+ cmp r4, lr
+ mov r0, r0, asl #4
+ bne .L8994
+ b .L8685
+.L8755:
+ mov r2, lr, asl #22
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ and r3, r0, #7
+ add r2, r2, r1, asl #5
+ add r3, r3, r2, asl #2
+ ldr ip, [sp, #12]
+ mov r0, r3, asl #3
+ ldr r3, .L9512+24
+ cmp r6, ip
+ add ip, r0, r3
+ blt .L9487
+ ldr r7, [sp, #8]
+ add r3, r6, r8
+ cmp r7, r3
+ bhi .L9174
+ rsb r8, r6, r7
+ cmp r8, #0
+ ble .L8685
+ ldr lr, [sp, #4]
+ movs r7, r8, lsr #3
+ add r2, lr, r6, asl #1
+ beq .L9177
+ ldr r3, .L9512+32
+ mov r5, r2
+ add r0, r0, r3
+ mov lr, ip
+ mov r1, #0
+.L9179:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L9180
+ ands r3, r4, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r5, #0] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r5, #2] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r5, #4] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #28]
+ orrne r3, r3, r4
+ strneh r3, [r5, #6] @ movhi
+.L9180:
+ ldr r4, [r0, #-60]
+ cmp r4, #0
+ beq .L9189
+ ands r3, r4, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r5, #8] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r5, #10] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r5, #12] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #28]
+ orrne r3, r3, r4
+ strneh r3, [r5, #14] @ movhi
+.L9189:
+ add r1, r1, #1
+ cmp r7, r1
+ add lr, lr, #64
+ add r5, r5, #16
+ add r0, r0, #64
+ bne .L9179
+ add ip, ip, r7, asl #6
+ add r2, r2, r7, asl #4
+.L9177:
+ ands lr, r8, #7
+ beq .L8685
+ cmp lr, #3
+ ldrls r0, [ip, #0]
+ bls .L9212
+ ldr r1, [ip, #0]
+ cmp r1, #0
+ beq .L9202
+ ands r3, r1, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r3, r5
+ strneh r3, [r2, #0] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r2, #2] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r2, #4] @ movhi
+ movs r3, r1, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r2, #6] @ movhi
+.L9202:
+ subs lr, lr, #4
+ ldr r0, [ip, #4]
+ addne r2, r2, #8
+ beq .L8685
+.L9212:
+ mov r1, #0
+.L9213:
+ ldr ip, [sp, #28]
+ ands r3, r0, #255
+ orr r3, r3, ip
+ mov ip, r1, asl #1
+ add r1, r1, #1
+ strneh r3, [ip, r2] @ movhi
+ cmp lr, r1
+ mov r0, r0, lsr #8
+ bhi .L9213
+ b .L8685
+.L8756:
+ subs r2, r8, #8
+ submi r2, r8, #1
+ mov r3, r0, lsr #3
+ mov r2, r2, asr #3
+ mov r1, lr, asl #22
+ add r2, r2, r3, asl #4
+ mov r1, r1, lsr #22
+ and r3, r0, #7
+ add r1, r1, r2, asl #1
+ add r3, r3, r1, asl #2
+ ldr ip, [sp, #12]
+ mov r0, r3, asl #3
+ ldr r3, .L9512+24
+ cmp r6, ip
+ add ip, r0, r3
+ blt .L9488
+ ldr r7, [sp, #8]
+ add r3, r6, r8
+ cmp r3, r7
+ bcc .L9394
+ rsb r8, r6, r7
+ cmp r8, #0
+ ble .L8685
+ ldr lr, [sp, #4]
+ movs r7, r8, lsr #3
+ add r6, lr, r6, asl #1
+ beq .L9397
+ ldr r3, .L9512+28
+ mov r5, r6
+ add r0, r0, r3
+ mov lr, ip
+ mov r1, #0
+.L9399:
+ ldr r4, [r0, #68]
+ cmp r4, #0
+ beq .L9400
+ ands r3, r4, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r3, r2
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r3, r2
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r3, r2
+ strneh r3, [r5, #2] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #28]
+ orrne r3, r3, r4
+ strneh r3, [r5, #0] @ movhi
+.L9400:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L9409
+ ands r3, r4, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r3, r2
+ strneh r3, [r5, #14] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r3, r2
+ strneh r3, [r5, #12] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r3, r2
+ strneh r3, [r5, #10] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #28]
+ orrne r3, r3, r4
+ strneh r3, [r5, #8] @ movhi
+.L9409:
+ add r1, r1, #1
+ cmp r1, r7
+ sub lr, lr, #64
+ add r5, r5, #16
+ sub r0, r0, #64
+ bne .L9399
+ rsb r3, r7, r7, asl #26
+ add ip, ip, r3, asl #6
+ add r6, r6, r7, asl #4
+.L9397:
+ ands lr, r8, #7
+ beq .L8685
+ cmp lr, #3
+ ldrls r2, [ip, #4]
+ bls .L9432
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L9422
+ ands r3, r2, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r3, r5
+ strneh r3, [r6, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r6, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r6, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r0, [sp, #28]
+ orrne r3, r3, r0
+ strneh r3, [r6, #0] @ movhi
+.L9422:
+ subs lr, lr, #4
+ ldr r2, [ip, #0]
+ addne r6, r6, #8
+ beq .L8685
+.L9432:
+ mov r1, #0
+.L9433:
+ ldr r4, [sp, #28]
+ movs r3, r2, lsr #24
+ mov r0, r1, asl #1
+ orr r3, r3, r4
+ add r1, r1, #1
+ strneh r3, [r0, r6] @ movhi
+ cmp lr, r1
+ mov r2, r2, asl #8
+ bhi .L9433
+ b .L8685
+.L8678:
+ tst r4, #512
+ mov r3, r1, lsr #4
+ ldr r4, .L9512+12
+ and r3, r3, #992
+ add r3, r3, r4
+ ldrh r5, [r3, #30]
+ add r2, r8, r8, lsr #31
+ mov r4, r2, asr #1
+ add r1, sl, sl, lsr #31
+ ldr r2, [sp, #12]
+ str r5, [sp, #24]
+ ldrh r7, [r3, #6]
+ mov r5, r1, asr #1
+ ldrh r1, [r3, #14]
+ ldrh r3, [r3, #22]
+ moveq fp, r8
+ moveq r9, r4
+ moveq r0, r5
+ movne fp, r8, asl #1
+ movne r9, r4, asl #1
+ movne r0, r5, asl #1
+ cmp r6, r2
+ str r3, [sp, #20]
+ bge .L8716
+ rsb r2, r6, r2
+ rsb fp, r2, fp
+ cmp fp, #0
+ ble .L8685
+ ldr r6, [sp, #12]
+ rsb r9, r2, r9
+.L8716:
+ ldr r2, [sp, #8]
+ add r3, r6, fp
+ cmp r3, r2
+ blt .L8719
+ rsb fp, r6, r2
+ cmp fp, #0
+ ble .L8685
+.L8719:
+ add ip, ip, r0
+ mov r3, r7, asl #16
+ mov r2, r1, asl #16
+ ldr r0, [sp, #20]
+ ldr r7, [sp, #24]
+ mov r3, r3, asr #16
+ mov r2, r2, asr #16
+ cmp r0, #0
+ str r3, [sp, #56]
+ mov r0, lr, lsr #8
+ str r2, [sp, #60]
+ ldr r3, [sp, #36]
+ ldr r2, [sp, #4]
+ mov r1, r7, asl #16
+ mov r4, r4, asl #8
+ and r0, r0, #240
+ str r4, [sp, #72]
+ mov r1, r1, asr #16
+ mov r4, r5, asl #8
+ add r7, r2, r6, asl #1
+ rsb ip, ip, r3
+ str r0, [sp, #88]
+ bne .L8721
+ mla r3, ip, r1, r4
+ mov r1, r3, asr #8
+ cmp r1, sl
+ bcs .L8685
+ mov r3, lr, asl #22
+ mov r2, r1, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r1, #7
+ add r1, r1, r3, asl #3
+ ldr r3, .L9512+24
+ cmp fp, #0
+ add r1, r3, r1, asl #2
+ ble .L8685
+ ldr r3, [sp, #60]
+ ldr r2, [sp, #56]
+ mul r3, ip, r3
+ mul r2, r9, r2
+ ldr r4, [sp, #72]
+ rsb r3, r2, r3
+ add r0, r4, r3
+ mov r4, r0, asr #8
+ cmp r4, r8
+ ldrcs r5, [sp, #20]
+ bcs .L8727
+ b .L9509
+.L8728:
+ cmp r4, r8
+ bcc .L9474
+.L8727:
+ ldr r6, [sp, #56]
+ add r5, r5, #1
+ add r0, r0, r6
+ cmp fp, r5
+ mov r4, r0, asr #8
+ add r7, r7, #2
+ bne .L8728
+ ldr ip, [sp, #32]
+ ldr lr, [sp, #40]
+ add ip, ip, #1
+ cmp ip, lr
+ str ip, [sp, #32]
+ bne .L9490
+.L9458:
+ add sp, sp, #96
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L8689:
+ mov r3, lr, asl #22
+ ldr r2, .L9512+24
+ mov r3, r3, lsr #22
+ add r3, r2, r3, asl #5
+ cmp r9, #0
+ str r3, [sp, #84]
+ ble .L8685
+ mov r3, fp, asl #16
+ mul r2, r0, r1
+ mov fp, r3, asr #16
+ ldr r5, [sp, #48]
+ mul r3, r0, ip
+ ldr r1, [sp, #52]
+ ldr r0, [sp, #52]
+ mul r1, fp, r1
+ mul r0, r5, r0
+ ldr r6, [sp, #76]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add r5, r6, r3
+ add lr, r4, r2
+ mov ip, r5, asr #8
+ mov r4, lr, asr #8
+ cmp ip, r8
+ cmpcc r4, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L8705
+ b .L9510
+.L8706:
+ cmp ip, r8
+ cmpcc r4, sl
+ bcc .L8707
+.L8705:
+ ldr ip, [sp, #48]
+ add r6, r6, #1
+ add r5, r5, ip
+ add lr, lr, fp
+ cmp r9, r6
+ mov ip, r5, asr #8
+ mov r4, lr, asr #8
+ add r7, r7, #2
+ bne .L8706
+ b .L8685
+.L8721:
+ mov r3, lr, asl #22
+ ldr r2, .L9512+24
+ mov r3, r3, lsr #22
+ add r3, r2, r3, asl #5
+ cmp fp, #0
+ str r3, [sp, #80]
+ ble .L8685
+ ldr r5, [sp, #20]
+ mul r2, ip, r1
+ mov r3, r5, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #64]
+ ldr r1, [sp, #64]
+ ldr r3, [sp, #60]
+ ldr r0, [sp, #56]
+ mul r3, ip, r3
+ mul r1, r9, r1
+ mul r0, r9, r0
+ ldr r6, [sp, #72]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add lr, r6, r3
+ add r5, r4, r2
+ mov ip, lr, asr #8
+ mov r4, r5, asr #8
+ cmp ip, r8
+ cmpcc r4, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L8740
+ b .L9511
+.L8741:
+ cmp ip, r8
+ cmpcc r4, sl
+ bcc .L8743
+.L8740:
+ ldr ip, [sp, #56]
+ ldr r0, [sp, #64]
+ add r6, r6, #1
+ add lr, lr, ip
+ add r5, r5, r0
+ cmp fp, r6
+ mov ip, lr, asr #8
+ mov r4, r5, asr #8
+ add r7, r7, #2
+ bne .L8741
+ b .L8685
+.L9493:
+ mov r3, ip, asr #1
+ ldr r1, [sp, #80]
+ and r3, r3, #3
+ and r0, r4, #7
+ str r3, [sp, #0]
+ ldr r3, [sp, #80]
+ add r0, r1, r0, asl #2
+ and r1, r4, #7
+ mov r2, ip, asr #1
+ add r1, r3, r1, asl #2
+ mov r3, r4, asr #3
+ and r9, r2, #3
+ mov r3, r3, asl #10
+ mov r2, ip, asr #3
+ tst ip, #1
+ add r3, r3, r2, asl #5
+ add r2, r0, r3
+ movne r4, r9
+ add r0, r1, r3
+ ldreqb r3, [r0, r9] @ zero_extendqisi2
+ ldrneb r3, [r2, r4] @ zero_extendqisi2
+ ldr r2, [sp, #88]
+ movne r0, r3, lsr #4
+ andeq r0, r3, #15
+ cmp r0, #0
+ orr r3, r0, r2
+ ldr r0, [sp, #28]
+ ldr ip, [sp, #56]
+ ldr r1, [sp, #64]
+ add r6, r6, #1
+ orr r3, r3, r0
+ strneh r3, [r7, #0] @ movhi
+ add lr, lr, ip
+ add r5, r5, r1
+ cmp fp, r6
+ mov ip, lr, asr #8
+ mov r4, r5, asr #8
+ add r7, r7, #2
+ ble .L8685
+.L8743:
+ cmp r4, sl
+ cmpcc ip, r8
+ bcc .L9493
+ b .L8685
+.L8730:
+ cmp r4, r8
+ bcs .L8685
+.L9474:
+ mov r3, r4, asr #1
+ and sl, r3, #3
+ mov r3, r4, asr #3
+ mov r3, r3, asl #5
+ mov r2, r4, asr #1
+ tst r4, #1
+ add ip, r3, r1
+ and r6, r2, #3
+ add r2, r3, r1
+ ldreqb r3, [r2, r6] @ zero_extendqisi2
+ ldrneb r3, [ip, sl] @ zero_extendqisi2
+ ldr lr, [sp, #88]
+ movne r2, r3, lsr #4
+ andeq r2, r3, #15
+ cmp r2, #0
+ orr r3, r2, lr
+ ldr r2, [sp, #28]
+ ldr ip, [sp, #56]
+ add r5, r5, #1
+ orr r3, r3, r2
+ strneh r3, [r7, #0] @ movhi
+ add r0, r0, ip
+ cmp fp, r5
+ mov r4, r0, asr #8
+ add r7, r7, #2
+ bgt .L8730
+ b .L8685
+.L8698:
+ cmp r4, r8
+ bcs .L8685
+.L9472:
+ ldr r1, [sp, #48]
+ mov r3, r4, asr #3
+ add r0, r0, r1
+ add r3, lr, r3, asl #6
+ and r1, r4, #7
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ ldr r3, [sp, #28]
+ cmp r2, #0
+ add ip, ip, #1
+ orr r2, r2, r3
+ strneh r2, [r7, #0] @ movhi
+ cmp r9, ip
+ mov r4, r0, asr #8
+ add r7, r7, #2
+ bgt .L8698
+ b .L8685
+.L9488:
+ ldr lr, [sp, #12]
+ rsb r1, r6, lr
+ rsb r4, r1, r8
+ cmp r4, #0
+ ble .L8685
+ ldr r0, [sp, #8]
+ add r3, r6, r8
+ cmp r0, r3
+ bhi .L9241
+ mov r3, r1, lsr #3
+ ands r0, r1, #7
+ sub r6, ip, r3, asl #6
+ bne .L9243
+ ldr r5, [sp, #92]
+ ldr r4, [sp, #68]
+.L9245:
+ movs lr, r5, lsr #3
+ beq .L9303
+ mov r1, r4
+ mov r0, r6
+ mov ip, #0
+.L9305:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L9306
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r1, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r1, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r1, #0] @ movhi
+.L9306:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L9315
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r1, #14] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r1, #12] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r1, #10] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r1, #8] @ movhi
+.L9315:
+ add ip, ip, #1
+ cmp ip, lr
+ sub r0, r0, #64
+ add r1, r1, #16
+ bne .L9305
+ rsb r3, lr, lr, asl #26
+ add r6, r6, r3, asl #6
+ add r4, r4, lr, asl #4
+.L9303:
+ ands ip, r5, #7
+ beq .L8685
+ cmp ip, #3
+ ldrls r2, [r6, #4]
+ bls .L9338
+ ldr r2, [r6, #4]
+ cmp r2, #0
+ beq .L9328
+ ands r3, r2, #255
+ ldrne lr, [sp, #28]
+ orrne r3, r3, lr
+ strneh r3, [r4, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r0, [sp, #28]
+ orrne r3, r3, r0
+ strneh r3, [r4, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, [sp, #28]
+ orrne r3, r3, r1
+ strneh r3, [r4, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #28]
+ orrne r3, r3, r2
+ strneh r3, [r4, #0] @ movhi
+.L9328:
+ subs ip, ip, #4
+ ldr r2, [r6, #0]
+ addne r4, r4, #8
+ beq .L8685
+.L9338:
+ mov r1, #0
+.L9339:
+ ldr r5, [sp, #28]
+ movs r3, r2, lsr #24
+ mov r0, r1, asl #1
+ orr r3, r3, r5
+ add r1, r1, #1
+ strneh r3, [r0, r4] @ movhi
+ cmp ip, r1
+ mov r2, r2, asl #8
+ bhi .L9339
+ b .L8685
+.L9513:
+ .align 2
+.L9512:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word oam_ram
+ .word obj_height_table
+ .word obj_width_table
+ .word vram+65536
+ .word vram+65472
+ .word vram+65600
+.L9487:
+ ldr lr, [sp, #12]
+ rsb r1, r6, lr
+ rsb r4, r1, r8
+ cmp r4, #0
+ ble .L8685
+ ldr r0, [sp, #8]
+ add r3, r6, r8
+ cmp r0, r3
+ bhi .L9021
+ mov r3, r1, lsr #3
+ ands r0, r1, #7
+ add r6, ip, r3, asl #6
+ bne .L9023
+ ldr r5, [sp, #92]
+ ldr r4, [sp, #68]
+.L9025:
+ movs lr, r5, lsr #3
+ beq .L9083
+ mov r1, r4
+ mov r0, r6
+ mov ip, #0
+.L9085:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L9086
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r1, #6] @ movhi
+.L9086:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L9095
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r1, #10] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r1, #12] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r1, #14] @ movhi
+.L9095:
+ add ip, ip, #1
+ cmp lr, ip
+ add r0, r0, #64
+ add r1, r1, #16
+ bne .L9085
+ add r6, r6, lr, asl #6
+ add r4, r4, lr, asl #4
+.L9083:
+ ands ip, r5, #7
+ beq .L8685
+ cmp ip, #3
+ ldrls r1, [r6, #0]
+ bls .L9118
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L9108
+ ands r3, r2, #255
+ ldrne lr, [sp, #28]
+ orrne r3, r3, lr
+ strneh r3, [r4, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r0, [sp, #28]
+ orrne r3, r3, r0
+ strneh r3, [r4, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, [sp, #28]
+ orrne r3, r3, r1
+ strneh r3, [r4, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #28]
+ orrne r3, r3, r2
+ strneh r3, [r4, #6] @ movhi
+.L9108:
+ subs ip, ip, #4
+ ldr r1, [r6, #4]
+ addne r4, r4, #8
+ beq .L8685
+.L9118:
+ mov r2, #0
+.L9119:
+ ldr r5, [sp, #28]
+ ands r3, r1, #255
+ mov r0, r2, asl #1
+ orr r3, r3, r5
+ add r2, r2, #1
+ strneh r3, [r0, r4] @ movhi
+ cmp ip, r2
+ mov r1, r1, lsr #8
+ bhi .L9119
+ b .L8685
+.L9486:
+ rsb r4, r6, ip
+ rsb ip, r4, r8
+ cmp ip, #0
+ ble .L8685
+ ldr lr, [sp, #8]
+ add r3, r6, r8
+ cmp lr, r3
+ bhi .L8891
+ mov r3, r4, lsr #3
+ ands lr, r4, #7
+ sub r0, r0, r3, asl #5
+ bne .L8893
+ ldr r2, [sp, #92]
+ ldr r8, [sp, #68]
+.L8895:
+ movs r7, r2, lsr #3
+ beq .L8912
+ mov r5, r8
+ mov lr, r0
+ mov r6, #0
+.L8914:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L8915
+ ands r3, r4, #15
+ ldrne ip, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #14] @ movhi
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #12] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #10] @ movhi
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #8] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, ip
+ strneh r3, [r5, #2] @ movhi
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r4
+ strneh r3, [r5, #0] @ movhi
+.L8915:
+ add r6, r6, #1
+ cmp r6, r7
+ sub lr, lr, #32
+ add r5, r5, #16
+ bne .L8914
+ rsb r3, r7, r7, asl #27
+ add r0, r0, r3, asl #5
+ add r8, r8, r7, asl #4
+.L8912:
+ ands lr, r2, #7
+ beq .L8685
+ ldr r0, [r0, #0]
+ mov ip, #0
+.L8934:
+ movs r3, r0, lsr #28
+ ldr r5, [sp, #28]
+ orr r3, r1, r3
+ mov r2, ip, asl #1
+ orr r3, r3, r5
+ add ip, ip, #1
+ strneh r3, [r2, r8] @ movhi
+ cmp ip, lr
+ mov r0, r0, asl #4
+ bne .L8934
+ b .L8685
+.L9485:
+ ldr r5, [sp, #12]
+ rsb r4, r6, r5
+ rsb r5, r4, r8
+ cmp r5, #0
+ ble .L8685
+ add r3, r6, r8
+ ldr r6, [sp, #8]
+ cmp r6, r3
+ bhi .L8761
+ mov r3, r4, lsr #3
+ mov r2, r3, asl #5
+ ands r3, r4, #7
+ add r5, r0, r2
+ bne .L8763
+ ldr r7, [sp, #92]
+ ldr r6, [sp, #68]
+.L8765:
+ movs r4, r7, lsr #3
+ beq .L8782
+ mov ip, r6
+ mov r0, r5
+ mov lr, #0
+.L8784:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L8785
+ ands r3, r2, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #12] @ movhi
+ movs r3, r2, lsr #28
+ ldrne r2, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r2
+ strneh r3, [ip, #14] @ movhi
+.L8785:
+ add lr, lr, #1
+ cmp r4, lr
+ add r0, r0, #32
+ add ip, ip, #16
+ bne .L8784
+ add r5, r5, r4, asl #5
+ add r6, r6, r4, asl #4
+.L8782:
+ ands lr, r7, #7
+ beq .L8685
+ ldr r2, [r5, #0]
+ mov r0, #0
+.L8804:
+ ands r3, r2, #15
+ ldr r4, [sp, #28]
+ orr r3, r1, r3
+ mov ip, r0, asl #1
+ orr r3, r3, r4
+ add r0, r0, #1
+ strneh r3, [ip, r6] @ movhi
+ cmp r0, lr
+ mov r2, r2, lsr #4
+ bne .L8804
+ b .L8685
+.L9510:
+ mov r6, #0
+.L8707:
+ cmp r4, sl
+ movcc r3, #0
+ movcs r3, #1
+ cmp r8, ip
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L9473
+ b .L8685
+.L8708:
+ cmp r4, sl
+ cmpcc ip, r8
+ bcs .L8685
+.L9473:
+ and r3, r4, #7
+ mov r2, ip, asr #3
+ mov r3, r3, asl #3
+ mov r1, r4, asr #3
+ add r3, r3, r2, asl #6
+ ldr r0, [sp, #48]
+ add r3, r3, r1, asl #10
+ ldr r1, [sp, #84]
+ add r5, r5, r0
+ add r3, r3, r1
+ and r0, ip, #7
+ ldrb r2, [r3, r0] @ zero_extendqisi2
+ ldr r3, [sp, #28]
+ cmp r2, #0
+ add r6, r6, #1
+ orr r2, r2, r3
+ strneh r2, [r7, #0] @ movhi
+ add lr, lr, fp
+ cmp r9, r6
+ mov r4, lr, asr #8
+ mov ip, r5, asr #8
+ add r7, r7, #2
+ bgt .L8708
+ b .L8685
+.L8969:
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs lr, r3, asr #3
+ beq .L8685
+ ldr r7, [sp, #4]
+ mov ip, #0
+ add r2, r7, r6, asl #1
+ b .L8999
+.L9494:
+ sub r0, r0, #32
+ add r2, r2, #16
+.L8999:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L9000
+ ands r3, r4, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [r2, #14] @ movhi
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r5
+ strneh r3, [r2, #12] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r2, #10] @ movhi
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [r2, #8] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [r2, #6] @ movhi
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r5
+ strneh r3, [r2, #4] @ movhi
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r2, #2] @ movhi
+ movs r3, r4, lsr #28
+ ldrne r7, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [r2, #0] @ movhi
+.L9000:
+ add ip, ip, #1
+ cmp lr, ip
+ bne .L9494
+ b .L8685
+.L9394:
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs lr, r3, asr #3
+ beq .L8685
+ ldr r5, [sp, #4]
+ ldr r3, .L9512+28
+ add r2, r5, r6, asl #1
+ add r0, r0, r3
+ mov r1, #0
+ b .L9438
+.L9495:
+ sub ip, ip, #64
+ add r2, r2, #16
+.L9438:
+ ldr r4, [r0, #68]
+ cmp r4, #0
+ beq .L9439
+ ands r3, r4, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r2, #6] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r2, #4] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r2, #2] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #28]
+ orrne r3, r3, r4
+ strneh r3, [r2, #0] @ movhi
+.L9439:
+ ldr r4, [ip, #0]
+ cmp r4, #0
+ beq .L9448
+ ands r3, r4, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r3, r5
+ strneh r3, [r2, #14] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r2, #12] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r2, #10] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r2, #8] @ movhi
+.L9448:
+ add r1, r1, #1
+ cmp lr, r1
+ sub r0, r0, #64
+ bne .L9495
+ b .L8685
+.L8839:
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs lr, r3, asr #3
+ beq .L8685
+ ldr r7, [sp, #4]
+ mov ip, #0
+ add r2, r7, r6, asl #1
+ b .L8869
+.L9496:
+ add r0, r0, #32
+ add r2, r2, #16
+.L8869:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L8870
+ ands r3, r4, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [r2, #0] @ movhi
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r5
+ strneh r3, [r2, #2] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r2, #4] @ movhi
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [r2, #6] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [r2, #8] @ movhi
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r5
+ strneh r3, [r2, #10] @ movhi
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r2, #12] @ movhi
+ movs r3, r4, lsr #28
+ ldrne r7, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [r2, #14] @ movhi
+.L8870:
+ add ip, ip, #1
+ cmp lr, ip
+ bne .L9496
+ b .L8685
+.L9174:
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs lr, r3, asr #3
+ beq .L8685
+ ldr r1, [sp, #4]
+ ldr r3, .L9512+32
+ add r2, r1, r6, asl #1
+ add r0, r0, r3
+ mov r1, #0
+ b .L9218
+.L9497:
+ add ip, ip, #64
+ add r2, r2, #16
+.L9218:
+ ldr r4, [ip, #0]
+ cmp r4, #0
+ beq .L9219
+ ands r3, r4, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r3, r5
+ strneh r3, [r2, #0] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r2, #2] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r2, #4] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r2, #6] @ movhi
+.L9219:
+ ldr r4, [r0, #-60]
+ cmp r4, #0
+ beq .L9228
+ ands r3, r4, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r3, r5
+ strneh r3, [r2, #8] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r2, #10] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r2, #12] @ movhi
+ movs r3, r4, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r2, #14] @ movhi
+.L9228:
+ add r1, r1, #1
+ cmp lr, r1
+ add r0, r0, #64
+ bne .L9497
+ b .L8685
+.L9021:
+ mov r3, r1, lsr #3
+ ands r2, r1, #7
+ add r0, ip, r3, asl #6
+ ldreq r1, [sp, #68]
+ beq .L9125
+ cmp r2, #3
+ rsb lr, r2, #8
+ bhi .L9498
+ subs r5, lr, #4
+ ldr r1, [r0, #0]
+ ldreq r1, [sp, #68]
+ beq .L9138
+ mov r3, r2, asl #3
+ mov r2, r1, lsr r3
+ mov ip, #0
+.L9139:
+ ands r3, r2, #255
+ ldr r1, [sp, #28]
+ ldrne r6, [sp, #68]
+ orr r3, r3, r1
+ mov r1, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r1, r6] @ movhi
+ cmp ip, r5
+ mov r2, r2, lsr #8
+ bne .L9139
+ ldr r7, [sp, #68]
+ add r3, r7, lr, asl #1
+ sub r1, r3, #8
+.L9138:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L9144
+ ands r3, r2, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #28]
+ orrne r3, r3, ip
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne lr, [sp, #28]
+ orrne r3, r3, lr
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #28]
+ orrne r3, r3, r2
+ strneh r3, [r1, #6] @ movhi
+.L9144:
+ add r1, r1, #8
+.L9130:
+ add r0, r0, #64
+.L9125:
+ movs lr, r4, lsr #3
+ beq .L8685
+ mov ip, #0
+ b .L9154
+.L9499:
+ add r0, r0, #64
+ add r1, r1, #16
+.L9154:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L9155
+ ands r3, r2, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r3, r4
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r3, r5
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r1, #6] @ movhi
+.L9155:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L9164
+ ands r3, r2, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r3, r4
+ strneh r3, [r1, #10] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r3, r5
+ strneh r3, [r1, #12] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r1, #14] @ movhi
+.L9164:
+ add ip, ip, #1
+ cmp lr, ip
+ bne .L9499
+ b .L8685
+.L8891:
+ ands r2, r4, #7
+ mov r3, r4, lsr #3
+ sub r0, r0, r3, asl #5
+ ldreq r5, [sp, #68]
+ beq .L8940
+ rsbs lr, r2, #8
+ ldr r4, [r0, #0]
+ ldreq r5, [sp, #68]
+ beq .L8943
+ mov r3, r2, asl #2
+ mov r4, r4, asl r3
+ mov r6, #0
+.L8944:
+ movs r3, r4, lsr #28
+ ldr r7, [sp, #28]
+ ldrne r8, [sp, #68]
+ orr r3, r1, r3
+ mov r5, r6, asl #1
+ orr r3, r3, r7
+ add r6, r6, #1
+ strneh r3, [r5, r8] @ movhi
+ cmp lr, r6
+ mov r4, r4, asl #4
+ bne .L8944
+ ldr r2, [sp, #68]
+ add r5, r2, lr, asl #1
+.L8943:
+ sub r0, r0, #32
+.L8940:
+ movs ip, ip, lsr #3
+ beq .L8685
+ mov r2, #0
+ b .L8950
+.L9500:
+ sub r0, r0, #32
+ add r5, r5, #16
+.L8950:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L8951
+ ands r3, r4, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #14] @ movhi
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [r5, #12] @ movhi
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [r5, #10] @ movhi
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne lr, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, lr
+ strneh r3, [r5, #8] @ movhi
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [r5, #6] @ movhi
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [r5, #4] @ movhi
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [r5, #2] @ movhi
+ movs r3, r4, lsr #28
+ ldrne lr, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, lr
+ strneh r3, [r5, #0] @ movhi
+.L8951:
+ add r2, r2, #1
+ cmp r2, ip
+ bne .L9500
+ b .L8685
+.L9241:
+ ands r0, r1, #7
+ mov r3, r1, lsr #3
+ sub r2, ip, r3, asl #6
+ ldreq r0, [sp, #68]
+ beq .L9345
+ cmp r0, #3
+ rsb lr, r0, #8
+ bhi .L9501
+ subs r5, lr, #4
+ ldr r1, [r2, #4]
+ ldreq r0, [sp, #68]
+ beq .L9358
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov ip, #0
+.L9359:
+ movs r3, r1, lsr #24
+ ldr r0, [sp, #28]
+ ldrne r6, [sp, #68]
+ orr r3, r3, r0
+ mov r0, ip, asl #1
+ add ip, ip, #1
+ strneh r3, [r0, r6] @ movhi
+ cmp r5, ip
+ mov r1, r1, asl #8
+ bne .L9359
+ ldr r7, [sp, #68]
+ add r3, r7, lr, asl #1
+ sub r0, r3, #8
+.L9358:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L9364
+ ands r3, r1, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #28]
+ orrne r3, r3, ip
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne lr, [sp, #28]
+ orrne r3, r3, lr
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r1, lsr #24
+ ldrne r1, [sp, #28]
+ orrne r3, r3, r1
+ strneh r3, [r0, #0] @ movhi
+.L9364:
+ add r0, r0, #8
+.L9350:
+ sub r2, r2, #64
+.L9345:
+ movs lr, r4, lsr #3
+ beq .L8685
+ mov ip, #0
+ b .L9374
+.L9502:
+ sub r2, r2, #64
+ add r0, r0, #16
+.L9374:
+ ldr r1, [r2, #4]
+ cmp r1, #0
+ beq .L9375
+ ands r3, r1, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r3, r4
+ strneh r3, [r0, #6] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r3, r5
+ strneh r3, [r0, #4] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r0, #2] @ movhi
+ movs r3, r1, lsr #24
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r0, #0] @ movhi
+.L9375:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L9384
+ ands r3, r1, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r0, #14] @ movhi
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r3, r4
+ strneh r3, [r0, #12] @ movhi
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r3, r5
+ strneh r3, [r0, #10] @ movhi
+ movs r3, r1, lsr #24
+ ldrne r6, [sp, #28]
+ orrne r3, r3, r6
+ strneh r3, [r0, #8] @ movhi
+.L9384:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L9502
+ b .L8685
+.L8761:
+ mov r3, r4, lsr #3
+ mov r2, r3, asl #5
+ ands r3, r4, #7
+ add lr, r0, r2
+ ldreq ip, [sp, #68]
+ beq .L8810
+ rsbs r4, r3, #8
+ ldr r0, [r0, r2]
+ ldreq ip, [sp, #68]
+ beq .L8813
+ mov r3, r3, asl #2
+ mov r0, r0, lsr r3
+ mov ip, #0
+.L8814:
+ ands r3, r0, #15
+ ldr r6, [sp, #28]
+ ldrne r7, [sp, #68]
+ orr r3, r1, r3
+ mov r2, ip, asl #1
+ orr r3, r3, r6
+ add ip, ip, #1
+ strneh r3, [r2, r7] @ movhi
+ cmp ip, r4
+ mov r0, r0, lsr #4
+ bne .L8814
+ ldr r8, [sp, #68]
+ add ip, r8, r4, asl #1
+.L8813:
+ add lr, lr, #32
+.L8810:
+ movs r4, r5, lsr #3
+ beq .L8685
+ mov r0, #0
+ b .L8820
+.L9503:
+ add lr, lr, #32
+ add ip, ip, #16
+.L8820:
+ ldr r2, [lr, #0]
+ cmp r2, #0
+ beq .L8821
+ ands r3, r2, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r5
+ strneh r3, [ip, #0] @ movhi
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [ip, #2] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [ip, #4] @ movhi
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #6] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r5
+ strneh r3, [ip, #8] @ movhi
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r6
+ strneh r3, [ip, #10] @ movhi
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r7
+ strneh r3, [ip, #12] @ movhi
+ movs r3, r2, lsr #28
+ ldrne r8, [sp, #28]
+ orrne r3, r1, r3
+ orrne r3, r3, r8
+ strneh r3, [ip, #14] @ movhi
+.L8821:
+ add r0, r0, #1
+ cmp r0, r4
+ bne .L9503
+ b .L8685
+.L9023:
+ ldr r1, [sp, #92]
+ rsb ip, r0, #8
+ cmp r1, ip
+ blt .L9504
+ cmp r0, #3
+ bls .L9056
+ cmp ip, #0
+ ldr r2, [r6, #4]
+ ldreq r4, [sp, #68]
+ beq .L9060
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r0, #0
+.L9061:
+ ands r3, r1, #255
+ ldr r8, [sp, #28]
+ ldrne lr, [sp, #68]
+ mov r2, r0, asl #1
+ orr r3, r3, r8
+ add r0, r0, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp ip, r0
+ mov r1, r1, lsr #8
+ bne .L9061
+ ldr r0, [sp, #68]
+ add r4, r0, ip, asl #1
+.L9060:
+ ldr r1, [sp, #92]
+ add r6, r6, #64
+ rsb r5, ip, r1
+ b .L9025
+.L8893:
+ ldr r2, [sp, #92]
+ rsb r6, lr, #8
+ cmp r2, r6
+ blt .L9505
+ cmp r6, #0
+ ldr r2, [r0, #0]
+ ldreq r8, [sp, #68]
+ beq .L8906
+ mov r3, lr, asl #2
+ mov lr, r2, asl r3
+ mov r5, #0
+.L8907:
+ movs r3, lr, lsr #28
+ ldr r7, [sp, #28]
+ ldrne r8, [sp, #68]
+ orr r3, r1, r3
+ mov r4, r5, asl #1
+ orr r3, r3, r7
+ add r5, r5, #1
+ strneh r3, [r4, r8] @ movhi
+ cmp r6, r5
+ mov lr, lr, asl #4
+ bne .L8907
+ ldr ip, [sp, #68]
+ add r8, ip, r6, asl #1
+.L8906:
+ ldr lr, [sp, #92]
+ sub r0, r0, #32
+ rsb r2, r6, lr
+ b .L8895
+.L8763:
+ ldr r7, [sp, #92]
+ rsb lr, r3, #8
+ cmp r7, lr
+ blt .L9506
+ cmp lr, #0
+ ldr r2, [r5, #0]
+ ldreq r6, [sp, #68]
+ beq .L8776
+ mov r3, r3, asl #2
+ mov r2, r2, lsr r3
+ mov ip, #0
+.L8777:
+ ands r3, r2, #15
+ ldr r4, [sp, #28]
+ ldrne r6, [sp, #68]
+ orr r3, r1, r3
+ mov r0, ip, asl #1
+ orr r3, r3, r4
+ add ip, ip, #1
+ strneh r3, [r0, r6] @ movhi
+ cmp lr, ip
+ mov r2, r2, lsr #4
+ bne .L8777
+ ldr r7, [sp, #68]
+ add r6, r7, lr, asl #1
+.L8776:
+ ldr r8, [sp, #92]
+ add r5, r5, #32
+ rsb r7, lr, r8
+ b .L8765
+.L9243:
+ ldr r1, [sp, #92]
+ rsb ip, r0, #8
+ cmp r1, ip
+ blt .L9507
+ cmp r0, #3
+ bls .L9276
+ cmp ip, #0
+ ldr r2, [r6, #0]
+ ldreq r4, [sp, #68]
+ beq .L9280
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r0, #0
+.L9281:
+ movs r3, r2, lsr #24
+ ldr r8, [sp, #28]
+ ldrne lr, [sp, #68]
+ mov r1, r0, asl #1
+ orr r3, r3, r8
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp ip, r0
+ mov r2, r2, asl #8
+ bne .L9281
+ ldr r0, [sp, #68]
+ add r4, r0, ip, asl #1
+.L9280:
+ ldr r1, [sp, #92]
+ sub r6, r6, #64
+ rsb r5, ip, r1
+ b .L9245
+.L9507:
+ cmp r1, #0
+ ble .L8685
+ cmp r0, #3
+ bls .L9249
+ mov r3, r0, asl #3
+ ldr r2, [r6, #0]
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r0, #0
+.L9252:
+ movs r3, r2, lsr #24
+ ldr r4, [sp, #28]
+ ldrne r5, [sp, #68]
+ ldr r6, [sp, #92]
+ mov r1, r0, asl #1
+ orr r3, r3, r4
+ add r0, r0, #1
+ strneh r3, [r1, r5] @ movhi
+ cmp r6, r0
+ mov r2, r2, asl #8
+ bne .L9252
+ b .L8685
+.L9506:
+ cmp r7, #0
+ ble .L8685
+ ldr r2, [r0, r2]
+ mov r3, r3, asl #2
+ mov r0, r2, lsr r3
+ mov ip, #0
+.L8770:
+ ands r3, r0, #15
+ ldr r8, [sp, #28]
+ ldrne lr, [sp, #68]
+ orr r3, r1, r3
+ mov r2, ip, asl #1
+ orr r3, r3, r8
+ strneh r3, [r2, lr] @ movhi
+ ldr r2, [sp, #92]
+ add ip, ip, #1
+ cmp r2, ip
+ mov r0, r0, lsr #4
+ bne .L8770
+ b .L8685
+.L9505:
+ cmp r2, #0
+ ble .L8685
+ ldr r2, [r0, #0]
+ mov r3, lr, asl #2
+ mov r0, r2, asl r3
+ mov ip, #0
+.L8900:
+ movs r3, r0, lsr #28
+ ldr r4, [sp, #28]
+ ldrne r5, [sp, #68]
+ orr r3, r1, r3
+ ldr r6, [sp, #92]
+ mov r2, ip, asl #1
+ orr r3, r3, r4
+ add ip, ip, #1
+ strneh r3, [r2, r5] @ movhi
+ cmp r6, ip
+ mov r0, r0, asl #4
+ bne .L8900
+ b .L8685
+.L9501:
+ cmp lr, #0
+ ldr r1, [r2, #0]
+ ldreq r0, [sp, #68]
+ beq .L9350
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov ip, #0
+.L9351:
+ movs r3, r1, lsr #24
+ ldr r6, [sp, #28]
+ ldrne r7, [sp, #68]
+ mov r0, ip, asl #1
+ orr r3, r3, r6
+ add ip, ip, #1
+ strneh r3, [r0, r7] @ movhi
+ cmp ip, lr
+ mov r1, r1, asl #8
+ bne .L9351
+ ldr r8, [sp, #68]
+ sub r2, r2, #64
+ add r0, r8, lr, asl #1
+ b .L9345
+.L9498:
+ cmp lr, #0
+ ldr r1, [r0, #4]
+ ldreq r1, [sp, #68]
+ beq .L9130
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r2, r1, lsr r3
+ mov ip, #0
+.L9131:
+ ands r3, r2, #255
+ ldr r6, [sp, #28]
+ ldrne r7, [sp, #68]
+ mov r1, ip, asl #1
+ orr r3, r3, r6
+ add ip, ip, #1
+ strneh r3, [r1, r7] @ movhi
+ cmp ip, lr
+ mov r2, r2, lsr #8
+ bne .L9131
+ ldr r8, [sp, #68]
+ add r0, r0, #64
+ add r1, r8, lr, asl #1
+ b .L9125
+.L9504:
+ cmp r1, #0
+ ble .L8685
+ cmp r0, #3
+ bls .L9029
+ mov r3, r0, asl #3
+ ldr r2, [r6, #4]
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r0, #0
+.L9032:
+ ands r3, r1, #255
+ ldr r2, [sp, #28]
+ ldrne r4, [sp, #68]
+ ldr r5, [sp, #92]
+ orr r3, r3, r2
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp r5, r0
+ mov r1, r1, lsr #8
+ bne .L9032
+ b .L8685
+.L9511:
+ mov r6, #0
+ b .L8743
+.L9276:
+ subs lr, ip, #4
+ ldr r2, [r6, #4]
+ ldreq r1, [sp, #68]
+ beq .L9288
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r0, #0
+.L9289:
+ movs r3, r2, lsr #24
+ ldr r1, [sp, #28]
+ ldrne r4, [sp, #68]
+ orr r3, r3, r1
+ mov r1, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r1, r4] @ movhi
+ cmp lr, r0
+ mov r2, r2, asl #8
+ bne .L9289
+ ldr r5, [sp, #68]
+ add r3, r5, ip, asl #1
+ sub r1, r3, #8
+.L9288:
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L9294
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r1, #4] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne lr, [sp, #28]
+ orrne r3, r3, lr
+ strneh r3, [r1, #2] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r0, [sp, #28]
+ orrne r3, r3, r0
+ strneh r3, [r1, #0] @ movhi
+.L9294:
+ add r4, r1, #8
+ b .L9280
+.L9056:
+ subs lr, ip, #4
+ ldr r2, [r6, #0]
+ ldreq r1, [sp, #68]
+ beq .L9068
+ mov r3, r0, asl #3
+ mov r1, r2, lsr r3
+ mov r0, #0
+.L9069:
+ ands r3, r1, #255
+ ldr r2, [sp, #28]
+ ldrne r4, [sp, #68]
+ orr r3, r3, r2
+ mov r2, r0, asl #1
+ add r0, r0, #1
+ strneh r3, [r2, r4] @ movhi
+ cmp r0, lr
+ mov r1, r1, lsr #8
+ bne .L9069
+ ldr r5, [sp, #68]
+ add r3, r5, ip, asl #1
+ sub r1, r3, #8
+.L9068:
+ ldr r2, [r6, #4]
+ cmp r2, #0
+ beq .L9074
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r3, r7
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r3, r8
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne lr, [sp, #28]
+ orrne r3, r3, lr
+ strneh r3, [r1, #4] @ movhi
+ movs r3, r2, lsr #24
+ ldrne r0, [sp, #28]
+ orrne r3, r3, r0
+ strneh r3, [r1, #6] @ movhi
+.L9074:
+ add r4, r1, #8
+ b .L9060
+.L9509:
+ ldr r5, [sp, #20]
+ b .L9474
+.L9508:
+ mov ip, fp
+ b .L9472
+.L9249:
+ ldr r7, [sp, #92]
+ mov r3, r0, asl #3
+ ldr r1, [r6, #4]
+ add r2, r7, r0
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L9256
+ cmp r7, #0
+ movne r0, #0
+ beq .L8685
+.L9272:
+ movs r3, r1, lsr #24
+ ldr r5, [sp, #28]
+ ldrne r6, [sp, #68]
+ ldr r7, [sp, #92]
+ mov r2, r0, asl #1
+ orr r3, r3, r5
+ add r0, r0, #1
+ strneh r3, [r2, r6] @ movhi
+ cmp r7, r0
+ mov r1, r1, asl #8
+ bne .L9272
+ b .L8685
+.L9029:
+ ldr r7, [sp, #92]
+ ldr r3, [r6, #0]
+ add r2, r7, r0
+ cmp r2, #4
+ mov r1, r0, asl #3
+ mov r2, r3, lsr r1
+ bhi .L9036
+ cmp r7, #0
+ movne r0, #0
+ beq .L8685
+.L9052:
+ ands r3, r2, #255
+ ldr r5, [sp, #28]
+ ldrne r6, [sp, #68]
+ ldr r7, [sp, #92]
+ mov r1, r0, asl #1
+ orr r3, r3, r5
+ add r0, r0, #1
+ strneh r3, [r1, r6] @ movhi
+ cmp r7, r0
+ mov r2, r2, lsr #8
+ bne .L9052
+ b .L8685
+.L9256:
+ rsbs ip, r0, #4
+ ldreq lr, [sp, #68]
+ beq .L9261
+ mov r0, #0
+.L9262:
+ movs r3, r1, lsr #24
+ ldr r8, [sp, #28]
+ ldrne lr, [sp, #68]
+ mov r2, r0, asl #1
+ orr r3, r3, r8
+ add r0, r0, #1
+ strneh r3, [r2, lr] @ movhi
+ cmp r0, ip
+ mov r1, r1, asl #8
+ bne .L9262
+ ldr r0, [sp, #68]
+ add lr, r0, ip, asl #1
+.L9261:
+ ldr r1, [sp, #92]
+ ldr r2, [r6, #0]
+ subs ip, r1, ip
+ beq .L8685
+ mov r0, #0
+.L9268:
+ ldr r4, [sp, #28]
+ movs r3, r2, lsr #24
+ mov r1, r0, asl #1
+ orr r3, r3, r4
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r0, ip
+ mov r2, r2, asl #8
+ bne .L9268
+ b .L8685
+.L9036:
+ rsbs ip, r0, #4
+ ldreq lr, [sp, #68]
+ beq .L9041
+ mov r0, #0
+.L9042:
+ ands r3, r2, #255
+ ldr r8, [sp, #28]
+ ldrne lr, [sp, #68]
+ mov r1, r0, asl #1
+ orr r3, r3, r8
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r0, ip
+ mov r2, r2, lsr #8
+ bne .L9042
+ ldr r0, [sp, #68]
+ add lr, r0, ip, asl #1
+.L9041:
+ ldr r1, [sp, #92]
+ ldr r2, [r6, #4]
+ subs ip, r1, ip
+ beq .L8685
+ mov r0, #0
+.L9048:
+ ldr r4, [sp, #28]
+ ands r3, r2, #255
+ mov r1, r0, asl #1
+ orr r3, r3, r4
+ add r0, r0, #1
+ strneh r3, [r1, lr] @ movhi
+ cmp r0, ip
+ mov r2, r2, lsr #8
+ bne .L9048
+ b .L8685
+ .size render_scanline_obj_color16_2D, .-render_scanline_obj_color16_2D
+ .align 2
+ .global render_scanline_obj_color32_1D
+ .type render_scanline_obj_color32_1D, %function
+render_scanline_obj_color32_1D:
+ @ args = 0, pretend = 0, frame = 112
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr ip, .L10356
+ sub sp, sp, #112
+ ldrh r4, [ip, #6]
+ add r0, r0, r0, asl #2
+ str r4, [sp, #32]
+ ldr r5, [sp, #32]
+ ldrh r4, [ip, #80]
+ ldr ip, .L10356+4
+ add r0, r5, r0, asl #5
+ ldr ip, [ip, r0, asl #2]
+ mov lr, r4, lsr #11
+ and lr, lr, #2
+ mov r4, r4, asl #27
+ str ip, [sp, #36]
+ orr lr, lr, r4, lsr #31
+ cmp ip, #0
+ ldr ip, .L10356+8
+ mov lr, lr, asl #9
+ add r0, ip, r0, asl #7
+ orr lr, lr, #256
+ str r0, [sp, #40]
+ str r1, [sp, #8]
+ str r2, [sp, #4]
+ str r3, [sp, #0]
+ str lr, [sp, #24]
+ beq .L10302
+ mov r8, #0
+ add r6, r3, r1, asl #2
+ rsb r7, r1, r2
+ str r6, [sp, #84]
+ str r7, [sp, #108]
+ str r8, [sp, #28]
+ mov ip, r8
+.L9517:
+ ldr lr, [sp, #40]
+ ldr r0, .L10356+12
+ ldrb r3, [ip, lr] @ zero_extendqisi2
+ mov r3, r3, asl #3
+ ldrh r4, [r3, r0]
+ add r3, r3, r0
+ ldrh r1, [r3, #2]
+ mov r5, r4, lsr #12
+ and r2, r5, #12
+ orr r0, r2, r1, lsr #14
+ and ip, r4, #255
+ mov r2, r1, asl #23
+ cmp ip, #160
+ ldrh lr, [r3, #4]
+ mov r6, r2, asr #23
+ ldr r3, .L10356+16
+ ldr r2, .L10356+20
+ subgt ip, ip, #256
+ tst r4, #256
+ ldr r7, [r2, r0, asl #2]
+ ldr sl, [r3, r0, asl #2]
+ beq .L9520
+ tst r4, #8192
+ beq .L9522
+ tst r4, #512
+ mov r3, r1, lsr #4
+ ldr r4, .L10356+12
+ and r3, r3, #992
+ add r3, r3, r4
+ add r2, r7, r7, lsr #31
+ ldrh r5, [r3, #30]
+ mov r4, r2, asr #1
+ add r1, sl, sl, lsr #31
+ ldr r2, [sp, #8]
+ movne r0, r4, asl #1
+ str r5, [sp, #12]
+ mov r5, r1, asr #1
+ strne r0, [sp, #56]
+ moveq r9, r7
+ streq r4, [sp, #56]
+ moveq r0, r5
+ movne r9, r7, asl #1
+ movne r0, r5, asl #1
+ cmp r6, r2
+ ldrh r8, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh fp, [r3, #22]
+ bge .L9527
+ rsb r2, r6, r2
+ rsb r9, r2, r9
+ cmp r9, #0
+ ble .L9529
+ ldr r3, [sp, #56]
+ ldr r6, [sp, #8]
+ rsb r3, r2, r3
+ str r3, [sp, #56]
+.L9527:
+ ldr r2, [sp, #4]
+ add r3, r6, r9
+ cmp r3, r2
+ blt .L9531
+ rsb r9, r6, r2
+ cmp r9, #0
+ ble .L9529
+.L9531:
+ mov r3, r8, asl #16
+ ldr r8, [sp, #12]
+ mov r2, r1, asl #16
+ mov r2, r2, asr #16
+ mov r1, r8, asl #16
+ add r0, ip, r0
+ str r2, [sp, #48]
+ mov ip, r1, asr #16
+ ldr r2, [sp, #32]
+ ldr r1, [sp, #0]
+ mov r4, r4, asl #8
+ mov r3, r3, asr #16
+ mov r5, r5, asl #8
+ cmp fp, #0
+ str r4, [sp, #92]
+ str r3, [sp, #44]
+ str r5, [sp, #52]
+ add r8, r1, r6, asl #2
+ rsb r4, r0, r2
+ bne .L9533
+ mov r3, r5
+ mla r3, r4, ip, r3
+ mov r0, r3, asr #8
+ cmp r0, sl
+ bcs .L9529
+ cmp r7, #0
+ add r3, r7, #7
+ movge r3, r7
+ mov r2, lr, asl #22
+ mov r3, r3, asr #3
+ mov r3, r3, asl #1
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ mla ip, r3, r1, r2
+ and r0, r0, #7
+ ldr r3, .L10356+24
+ add r0, r0, ip, asl #2
+ cmp r9, #0
+ add lr, r3, r0, asl #3
+ ble .L9529
+ ldr r3, [sp, #48]
+ ldr r2, [sp, #56]
+ mul r3, r4, r3
+ ldr r4, [sp, #44]
+ ldr r5, [sp, #92]
+ mul r2, r4, r2
+ rsb r3, r2, r3
+ add r0, r5, r3
+ mov r4, r0, asr #8
+ cmp r4, r7
+ movcs ip, fp
+ bcs .L9539
+ b .L10352
+.L9540:
+ cmp r4, r7
+ bcc .L10316
+.L9539:
+ ldr r6, [sp, #44]
+ add ip, ip, #1
+ add r0, r0, r6
+ cmp r9, ip
+ mov r4, r0, asr #8
+ add r8, r8, #4
+ bne .L9540
+.L9529:
+ ldr r0, [sp, #28]
+ ldr r1, [sp, #36]
+ add r0, r0, #1
+ cmp r0, r1
+ str r0, [sp, #28]
+ beq .L10302
+.L10334:
+ ldr ip, [sp, #28]
+ b .L9517
+.L9520:
+ ldr r0, [sp, #32]
+ tst r1, #8192
+ rsb ip, ip, r0
+ rsbne r3, ip, sl
+ subne ip, r3, #1
+ mov r2, r1, asl #19
+ and r3, r5, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L9529
+ .p2align 2
+.L9601:
+ .word .L9597
+ .word .L9598
+ .word .L9599
+ .word .L9600
+.L9597:
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, lr, asl #22
+ movge r3, r7
+ mov r5, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r3, ip, lsr #3
+ mla r0, r5, r3, r2
+ ldr r2, [sp, #8]
+ and r1, ip, #7
+ ldr r3, .L10356+24
+ add r1, r1, r0, asl #3
+ cmp r6, r2
+ mov r2, lr, lsr #8
+ add r0, r3, r1, asl #2
+ and r1, r2, #240
+ blt .L10329
+ ldr ip, [sp, #4]
+ add r3, r6, r7
+ cmp ip, r3
+ bhi .L9683
+ rsb r7, r6, ip
+ cmp r7, #0
+ ble .L9529
+ ldr lr, [sp, #0]
+ movs r8, r7, lsr #3
+ add r2, lr, r6, asl #2
+ beq .L9686
+ mov r5, r2
+ mov lr, r0
+ mov ip, #0
+.L9688:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L9689
+ ands r3, r4, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #0]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #4]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #24]
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #24]
+ orrne r3, r4, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #28]
+.L9689:
+ add ip, ip, #1
+ cmp ip, r8
+ add lr, lr, #32
+ add r5, r5, #32
+ bne .L9688
+ mov r3, r8, asl #5
+ add r0, r0, r3
+ add r2, r2, r3
+.L9686:
+ ands lr, r7, #7
+ beq .L9529
+ ldr r0, [r0, #0]
+ mov ip, #0
+.L9708:
+ ldr r5, [sp, #24]
+ ands r3, r0, #15
+ orr r3, r5, r3
+ orr r3, r1, r3
+ strne r3, [r2, ip, asl #2]
+ add ip, ip, #1
+ cmp ip, lr
+ mov r0, r0, lsr #4
+ bne .L9708
+ b .L9529
+.L9598:
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, lr, asl #22
+ movge r3, r7
+ mov r5, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r1, ip, lsr #3
+ mla r0, r5, r1, r2
+ subs r3, r7, #8
+ submi r3, r7, #1
+ ldr r8, [sp, #8]
+ add r0, r0, r3, asr #3
+ and r2, ip, #7
+ ldr r3, .L10356+24
+ add r2, r2, r0, asl #3
+ mov r1, lr, lsr #8
+ cmp r6, r8
+ add r0, r3, r2, asl #2
+ and r1, r1, #240
+ blt .L10330
+ ldr ip, [sp, #4]
+ add r3, r6, r7
+ cmp ip, r3
+ bhi .L9813
+ rsb r8, r6, ip
+ cmp r8, #0
+ ble .L9529
+ ldr lr, [sp, #0]
+ movs r7, r8, lsr #3
+ add r2, lr, r6, asl #2
+ beq .L9816
+ mov r5, r2
+ mov lr, r0
+ mov ip, #0
+.L9818:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L9819
+ ands r3, r4, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #28]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #24]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #4]
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #24]
+ orrne r3, r4, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #0]
+.L9819:
+ add ip, ip, #1
+ cmp ip, r7
+ sub lr, lr, #32
+ add r5, r5, #32
+ bne .L9818
+ rsb r3, r7, r7, asl #27
+ add r0, r0, r3, asl #5
+ add r2, r2, r7, asl #5
+.L9816:
+ ands lr, r8, #7
+ beq .L9529
+ ldr r0, [r0, #0]
+ mov ip, #0
+.L9838:
+ ldr r5, [sp, #24]
+ movs r3, r0, lsr #28
+ orr r3, r5, r3
+ orr r3, r1, r3
+ strne r3, [r2, ip, asl #2]
+ add ip, ip, #1
+ cmp ip, lr
+ mov r0, r0, asl #4
+ bne .L9838
+ b .L9529
+.L9599:
+ cmp r7, #0
+ add r3, r7, #7
+ mov r1, lr, asl #22
+ movge r3, r7
+ mov r2, ip, lsr #3
+ mov lr, r3, asr #3
+ mov r1, r1, lsr #22
+ mov r2, r2, asl #1
+ mla r0, r2, lr, r1
+ and r3, ip, #7
+ add r3, r3, r0, asl #2
+ ldr r8, [sp, #8]
+ mov r0, r3, asl #3
+ ldr r3, .L10356+24
+ cmp r6, r8
+ add r1, r0, r3
+ blt .L10331
+ ldr r8, [sp, #4]
+ add r3, r6, r7
+ cmp r8, r3
+ bhi .L10018
+ rsb r8, r6, r8
+ cmp r8, #0
+ ble .L9529
+ ldr ip, [sp, #0]
+ movs r7, r8, lsr #3
+ add r2, ip, r6, asl #2
+ beq .L10021
+ ldr r3, .L10356+32
+ mov r5, r2
+ add r0, r0, r3
+ mov lr, r1
+ mov ip, #0
+.L10023:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L10024
+ ands r3, r4, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r5, #0]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r5, #4]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r5, #8]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #24]
+ orrne r3, r4, r3
+ strne r3, [r5, #12]
+.L10024:
+ ldr r4, [r0, #-60]
+ cmp r4, #0
+ beq .L10033
+ ands r3, r4, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r5, #24]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #24]
+ orrne r3, r4, r3
+ strne r3, [r5, #28]
+.L10033:
+ add ip, ip, #1
+ cmp r7, ip
+ add lr, lr, #64
+ add r5, r5, #32
+ add r0, r0, #64
+ bne .L10023
+ add r1, r1, r7, asl #6
+ add r2, r2, r7, asl #5
+.L10021:
+ ands ip, r8, #7
+ beq .L9529
+ cmp ip, #3
+ ldrls r0, [r1, #0]
+ bls .L10056
+ ldr r0, [r1, #0]
+ cmp r0, #0
+ beq .L10046
+ ands r3, r0, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r5, r3
+ strne r3, [r2, #0]
+ mov r3, r0, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r2, #4]
+ mov r3, r0, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r2, #8]
+ movs r3, r0, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r2, #12]
+.L10046:
+ subs ip, ip, #4
+ ldr r0, [r1, #4]
+ addne r2, r2, #16
+ beq .L9529
+.L10056:
+ mov r1, #0
+.L10057:
+ ldr lr, [sp, #24]
+ ands r3, r0, #255
+ orr r3, lr, r3
+ strne r3, [r2, r1, asl #2]
+ add r1, r1, #1
+ cmp ip, r1
+ mov r0, r0, lsr #8
+ bhi .L10057
+ b .L9529
+.L9600:
+ cmp r7, #0
+ add r2, r7, #7
+ movge r2, r7
+ subs r3, r7, #8
+ submi r3, r7, #1
+ mov r1, ip, lsr #3
+ mov r5, r2, asr #3
+ mov r3, r3, asr #3
+ mla r0, r5, r1, r3
+ mov r2, lr, asl #22
+ mov r2, r2, lsr #22
+ add r2, r2, r0, asl #1
+ and r3, ip, #7
+ add r3, r3, r2, asl #2
+ ldr ip, [sp, #8]
+ mov r0, r3, asl #3
+ ldr r3, .L10356+24
+ cmp r6, ip
+ add r1, r0, r3
+ blt .L10332
+ add r3, r6, r7
+ ldr r7, [sp, #4]
+ cmp r3, r7
+ bcc .L10238
+ rsb r8, r6, r7
+ cmp r8, #0
+ ble .L9529
+ ldr ip, [sp, #0]
+ movs r7, r8, lsr #3
+ add r6, ip, r6, asl #2
+ beq .L10241
+ ldr r3, .L10356+28
+ mov r5, r6
+ add r0, r0, r3
+ mov lr, r1
+ mov ip, #0
+.L10243:
+ ldr r4, [r0, #68]
+ cmp r4, #0
+ beq .L10244
+ ands r3, r4, #255
+ ldrne r2, [sp, #24]
+ orrne r3, r2, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [sp, #24]
+ orrne r3, r2, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [sp, #24]
+ orrne r3, r2, r3
+ strne r3, [r5, #4]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #24]
+ orrne r3, r4, r3
+ strne r3, [r5, #0]
+.L10244:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L10253
+ ands r3, r4, #255
+ ldrne r2, [sp, #24]
+ orrne r3, r2, r3
+ strne r3, [r5, #28]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [sp, #24]
+ orrne r3, r2, r3
+ strne r3, [r5, #24]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [sp, #24]
+ orrne r3, r2, r3
+ strne r3, [r5, #20]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #24]
+ orrne r3, r4, r3
+ strne r3, [r5, #16]
+.L10253:
+ add ip, ip, #1
+ cmp ip, r7
+ sub lr, lr, #64
+ add r5, r5, #32
+ sub r0, r0, #64
+ bne .L10243
+ rsb r3, r7, r7, asl #26
+ add r1, r1, r3, asl #6
+ add r6, r6, r7, asl #5
+.L10241:
+ ands r0, r8, #7
+ beq .L9529
+ cmp r0, #3
+ ldrls r2, [r1, #4]
+ bls .L10276
+ ldr r2, [r1, #4]
+ cmp r2, #0
+ beq .L10266
+ ands r3, r2, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r5, r3
+ strne r3, [r6, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r6, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r6, #4]
+ movs r3, r2, lsr #24
+ ldrne ip, [sp, #24]
+ orrne r3, ip, r3
+ strne r3, [r6, #0]
+.L10266:
+ subs r0, r0, #4
+ ldr r2, [r1, #0]
+ addne r6, r6, #16
+ beq .L9529
+.L10276:
+ mov r1, #0
+.L10277:
+ ldr lr, [sp, #24]
+ movs r3, r2, lsr #24
+ orr r3, lr, r3
+ strne r3, [r6, r1, asl #2]
+ add r1, r1, #1
+ cmp r0, r1
+ mov r2, r2, asl #8
+ bhi .L10277
+ b .L9529
+.L9522:
+ mov r3, r1, lsr #4
+ ldr r2, .L10356+12
+ and r3, r3, #992
+ add r3, r3, r2
+ tst r4, #512
+ ldrh r4, [r3, #30]
+ add r2, r7, r7, lsr #31
+ add r1, sl, sl, lsr #31
+ str r4, [sp, #20]
+ mov r4, r2, asr #1
+ ldr r2, [sp, #8]
+ mov r5, r1, asr #1
+ ldrh r8, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh r3, [r3, #22]
+ moveq fp, r7
+ moveq r9, r4
+ moveq r0, r5
+ movne fp, r7, asl #1
+ movne r9, r4, asl #1
+ movne r0, r5, asl #1
+ cmp r6, r2
+ str r3, [sp, #16]
+ bge .L9560
+ rsb r2, r6, r2
+ rsb fp, r2, fp
+ cmp fp, #0
+ ble .L9529
+ ldr r6, [sp, #8]
+ rsb r9, r2, r9
+.L9560:
+ ldr r2, [sp, #4]
+ add r3, r6, fp
+ cmp r3, r2
+ blt .L9563
+ rsb fp, r6, r2
+ cmp fp, #0
+ ble .L9529
+.L9563:
+ mov r3, r8, asl #16
+ ldr r8, [sp, #20]
+ add ip, ip, r0
+ mov r2, r1, asl #16
+ ldr r0, [sp, #16]
+ mov r1, r8, asl #16
+ mov r2, r2, asr #16
+ mov r1, r1, asr #16
+ cmp r0, #0
+ str r2, [sp, #68]
+ mov r0, lr, lsr #8
+ str r1, [sp, #76]
+ ldr r2, [sp, #32]
+ ldr r1, [sp, #0]
+ mov r4, r4, asl #8
+ mov r3, r3, asr #16
+ and r0, r0, #240
+ str r4, [sp, #88]
+ str r3, [sp, #64]
+ mov r5, r5, asl #8
+ add r8, r1, r6, asl #2
+ rsb r4, ip, r2
+ str r0, [sp, #104]
+ bne .L9565
+ ldr r3, [sp, #76]
+ mla r3, r4, r3, r5
+ mov r0, r3, asr #8
+ cmp r0, sl
+ bcs .L9529
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, lr, asl #22
+ movge r3, r7
+ mov r1, r0, lsr #3
+ mov r3, r3, asr #3
+ mov r2, r2, lsr #22
+ mla ip, r3, r1, r2
+ and r0, r0, #7
+ ldr r3, .L10356+24
+ add r0, r0, ip, asl #3
+ cmp fp, #0
+ add r1, r3, r0, asl #2
+ ble .L9529
+ ldr r3, [sp, #68]
+ ldr r2, [sp, #64]
+ mul r3, r4, r3
+ mul r2, r9, r2
+ ldr r4, [sp, #88]
+ rsb r3, r2, r3
+ add r0, r4, r3
+ mov r4, r0, asr #8
+ cmp r4, r7
+ ldrcs r5, [sp, #16]
+ bcs .L9571
+ b .L10353
+.L9572:
+ cmp r4, r7
+ bcc .L10318
+.L9571:
+ ldr r6, [sp, #64]
+ add r5, r5, #1
+ add r0, r0, r6
+ cmp fp, r5
+ mov r4, r0, asr #8
+ add r8, r8, #4
+ bne .L9572
+ ldr r0, [sp, #28]
+ ldr r1, [sp, #36]
+ add r0, r0, #1
+ cmp r0, r1
+ str r0, [sp, #28]
+ bne .L10334
+.L10302:
+ add sp, sp, #112
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L9533:
+ cmp r7, #0
+ add r1, r7, #7
+ mov r2, lr, asl #22
+ movge r1, r7
+ ldr r3, .L10356+24
+ mov r2, r2, lsr #22
+ mov r1, r1, asr #3
+ add r2, r3, r2, asl #5
+ mov r1, r1, asl #6
+ cmp r9, #0
+ str r2, [sp, #100]
+ str r1, [sp, #60]
+ ble .L9529
+ mov r3, fp, asl #16
+ mov fp, r3, asr #16
+ ldr r6, [sp, #44]
+ ldr r3, [sp, #48]
+ ldr r0, [sp, #56]
+ ldr r1, [sp, #56]
+ mul r0, r6, r0
+ mul r3, r4, r3
+ mul r2, r4, ip
+ mul r1, fp, r1
+ rsb r3, r0, r3
+ ldr ip, [sp, #92]
+ ldr r0, [sp, #52]
+ rsb r2, r1, r2
+ add r5, ip, r3
+ add lr, r0, r2
+ mov ip, r5, asr #8
+ mov r4, lr, asr #8
+ cmp ip, r7
+ cmpcc r4, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L9549
+ b .L10354
+.L9550:
+ cmp ip, r7
+ cmpcc r4, sl
+ bcc .L9551
+.L9549:
+ ldr r1, [sp, #44]
+ add r6, r6, #1
+ add r5, r5, r1
+ add lr, lr, fp
+ cmp r9, r6
+ mov ip, r5, asr #8
+ mov r4, lr, asr #8
+ add r8, r8, #4
+ bne .L9550
+ b .L9529
+.L9565:
+ cmp r7, #0
+ add r1, r7, #7
+ mov r2, lr, asl #22
+ movge r1, r7
+ ldr r3, .L10356+24
+ mov r2, r2, lsr #22
+ mov r1, r1, asr #3
+ add r2, r3, r2, asl #5
+ mov r1, r1, asl #5
+ cmp fp, #0
+ str r2, [sp, #96]
+ str r1, [sp, #80]
+ ble .L9529
+ ldr r6, [sp, #16]
+ ldr r2, [sp, #76]
+ mov r3, r6, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #72]
+ ldr r1, [sp, #72]
+ ldr r3, [sp, #68]
+ ldr r0, [sp, #64]
+ mul r2, r4, r2
+ mul r3, r4, r3
+ mul r1, r9, r1
+ mul r0, r9, r0
+ ldr ip, [sp, #88]
+ rsb r2, r1, r2
+ rsb r3, r0, r3
+ add lr, ip, r3
+ add r5, r5, r2
+ mov r4, lr, asr #8
+ mov r2, r5, asr #8
+ cmp r4, r7
+ cmpcc r2, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L9584
+ b .L10355
+.L9585:
+ cmp r4, r7
+ cmpcc r2, sl
+ bcc .L9587
+.L9584:
+ ldr r0, [sp, #64]
+ ldr r1, [sp, #72]
+ add r6, r6, #1
+ add lr, lr, r0
+ add r5, r5, r1
+ cmp fp, r6
+ mov r4, lr, asr #8
+ mov r2, r5, asr #8
+ add r8, r8, #4
+ bne .L9585
+ b .L9529
+.L10337:
+ ldr r3, [sp, #96]
+ and r0, r2, #7
+ add r0, r3, r0, asl #2
+ and r1, r2, #7
+ mov r3, r2, asr #3
+ ldr r2, [sp, #80]
+ mov ip, r4, asr #1
+ mul r2, r3, r2
+ and r9, ip, #3
+ ldr ip, [sp, #96]
+ mov r3, r4, asr #1
+ add r1, ip, r1, asl #2
+ and ip, r3, #3
+ mov r3, r4, asr #3
+ add r2, r2, r3, asl #5
+ add r3, r0, r2
+ tst r4, #1
+ add r0, r1, r2
+ ldreqb r3, [r0, ip] @ zero_extendqisi2
+ ldrneb r3, [r3, r9] @ zero_extendqisi2
+ ldr r4, [sp, #24]
+ movne r0, r3, lsr #4
+ andeq r0, r3, #15
+ ldr ip, [sp, #104]
+ ldr r2, [sp, #72]
+ orr r3, r0, r4
+ ldr r1, [sp, #64]
+ cmp r0, #0
+ add r6, r6, #1
+ orr r3, ip, r3
+ strne r3, [r8, #0]
+ add lr, lr, r1
+ add r5, r5, r2
+ cmp fp, r6
+ mov r4, lr, asr #8
+ mov r2, r5, asr #8
+ add r8, r8, #4
+ ble .L9529
+.L9587:
+ cmp r2, sl
+ cmpcc r4, r7
+ bcc .L10337
+ b .L9529
+.L9574:
+ cmp r4, r7
+ bcs .L9529
+.L10318:
+ mov r3, r4, asr #1
+ and sl, r3, #3
+ mov r3, r4, asr #3
+ mov r3, r3, asl #5
+ mov r2, r4, asr #1
+ tst r4, #1
+ add ip, r3, r1
+ and r6, r2, #3
+ add r2, r3, r1
+ ldreqb r3, [r2, r6] @ zero_extendqisi2
+ ldrneb r3, [ip, sl] @ zero_extendqisi2
+ ldr lr, [sp, #24]
+ movne r2, r3, lsr #4
+ andeq r2, r3, #15
+ cmp r2, #0
+ orr r3, r2, lr
+ ldr r2, [sp, #104]
+ ldr ip, [sp, #64]
+ add r5, r5, #1
+ orr r3, r2, r3
+ strne r3, [r8, #0]
+ add r0, r0, ip
+ cmp fp, r5
+ mov r4, r0, asr #8
+ add r8, r8, #4
+ bgt .L9574
+ b .L9529
+.L9542:
+ cmp r4, r7
+ bcs .L9529
+.L10316:
+ ldr r1, [sp, #44]
+ mov r3, r4, asr #3
+ add r0, r0, r1
+ add r3, lr, r3, asl #6
+ and r1, r4, #7
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ ldr r5, [sp, #24]
+ cmp r2, #0
+ add ip, ip, #1
+ orr r3, r5, r2
+ strne r3, [r8, #0]
+ cmp r9, ip
+ mov r4, r0, asr #8
+ add r8, r8, #4
+ bgt .L9542
+ b .L9529
+.L10357:
+ .align 2
+.L10356:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word oam_ram
+ .word obj_height_table
+ .word obj_width_table
+ .word vram+65536
+ .word vram+65472
+ .word vram+65600
+.L10332:
+ rsb r0, r6, ip
+ rsb r4, r0, r7
+ cmp r4, #0
+ ble .L9529
+ ldr lr, [sp, #4]
+ add r3, r6, r7
+ cmp lr, r3
+ bhi .L10085
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ sub r6, r1, r3, asl #6
+ bne .L10087
+ ldr r5, [sp, #108]
+ ldr r4, [sp, #84]
+.L10089:
+ movs lr, r5, lsr #3
+ beq .L10147
+ mov r1, r4
+ mov r0, r6
+ mov ip, #0
+.L10149:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L10150
+ ands r3, r2, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r1, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r1, #0]
+.L10150:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L10159
+ ands r3, r2, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r1, #28]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r1, #24]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r1, #20]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r1, #16]
+.L10159:
+ add ip, ip, #1
+ cmp ip, lr
+ sub r0, r0, #64
+ add r1, r1, #32
+ bne .L10149
+ rsb r3, lr, lr, asl #26
+ add r6, r6, r3, asl #6
+ add r4, r4, lr, asl #5
+.L10147:
+ ands r0, r5, #7
+ beq .L9529
+ cmp r0, #3
+ ldrls r2, [r6, #4]
+ bls .L10182
+ ldr r2, [r6, #4]
+ cmp r2, #0
+ beq .L10172
+ ands r3, r2, #255
+ ldrne ip, [sp, #24]
+ orrne r3, ip, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, [sp, #24]
+ orrne r3, r1, r3
+ strne r3, [r4, #4]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #24]
+ orrne r3, r2, r3
+ strne r3, [r4, #0]
+.L10172:
+ subs r0, r0, #4
+ ldr r2, [r6, #0]
+ addne r4, r4, #16
+ beq .L9529
+.L10182:
+ mov r1, #0
+.L10183:
+ ldr r5, [sp, #24]
+ movs r3, r2, lsr #24
+ orr r3, r5, r3
+ strne r3, [r4, r1, asl #2]
+ add r1, r1, #1
+ cmp r0, r1
+ mov r2, r2, asl #8
+ bhi .L10183
+ b .L9529
+.L10331:
+ rsb r0, r6, r8
+ rsb lr, r0, r7
+ cmp lr, #0
+ ble .L9529
+ ldr ip, [sp, #4]
+ add r3, r6, r7
+ cmp ip, r3
+ bhi .L9865
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ add r6, r1, r3, asl #6
+ bne .L9867
+ ldr r5, [sp, #108]
+ ldr r4, [sp, #84]
+.L9869:
+ movs lr, r5, lsr #3
+ beq .L9927
+ mov r1, r4
+ mov r0, r6
+ mov ip, #0
+.L9929:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L9930
+ ands r3, r2, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r1, #12]
+.L9930:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L9939
+ ands r3, r2, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r1, #16]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r1, #20]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r1, #24]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r1, #28]
+.L9939:
+ add ip, ip, #1
+ cmp lr, ip
+ add r0, r0, #64
+ add r1, r1, #32
+ bne .L9929
+ add r6, r6, lr, asl #6
+ add r4, r4, lr, asl #5
+.L9927:
+ ands r0, r5, #7
+ beq .L9529
+ cmp r0, #3
+ ldrls r1, [r6, #0]
+ bls .L9962
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L9952
+ ands r3, r2, #255
+ ldrne ip, [sp, #24]
+ orrne r3, ip, r3
+ strne r3, [r4, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ strne r3, [r4, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, [sp, #24]
+ orrne r3, r1, r3
+ strne r3, [r4, #8]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #24]
+ orrne r3, r2, r3
+ strne r3, [r4, #12]
+.L9952:
+ subs r0, r0, #4
+ ldr r1, [r6, #4]
+ addne r4, r4, #16
+ beq .L9529
+.L9962:
+ mov r2, #0
+.L9963:
+ ldr r5, [sp, #24]
+ ands r3, r1, #255
+ orr r3, r5, r3
+ strne r3, [r4, r2, asl #2]
+ add r2, r2, #1
+ cmp r0, r2
+ mov r1, r1, lsr #8
+ bhi .L9963
+ b .L9529
+.L10330:
+ rsb r4, r6, r8
+ rsb ip, r4, r7
+ cmp ip, #0
+ ble .L9529
+ ldr lr, [sp, #4]
+ add r3, r6, r7
+ cmp lr, r3
+ bhi .L9735
+ mov r3, r4, lsr #3
+ ands lr, r4, #7
+ sub r0, r0, r3, asl #5
+ bne .L9737
+ ldr r2, [sp, #108]
+ ldr ip, [sp, #84]
+.L9739:
+ movs r7, r2, lsr #3
+ beq .L9756
+ mov r5, ip
+ mov lr, r0
+ mov r6, #0
+.L9758:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L9759
+ ands r3, r4, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #28]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #24]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #4]
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #24]
+ orrne r3, r4, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #0]
+.L9759:
+ add r6, r6, #1
+ cmp r6, r7
+ sub lr, lr, #32
+ add r5, r5, #32
+ bne .L9758
+ rsb r3, r7, r7, asl #27
+ add r0, r0, r3, asl #5
+ add ip, ip, r7, asl #5
+.L9756:
+ ands lr, r2, #7
+ beq .L9529
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L9778:
+ ldr r5, [sp, #24]
+ movs r3, r0, lsr #28
+ orr r3, r5, r3
+ orr r3, r1, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, lr
+ mov r0, r0, asl #4
+ bne .L9778
+ b .L9529
+.L10329:
+ ldr r3, [sp, #8]
+ rsb r4, r6, r3
+ rsb r5, r4, r7
+ cmp r5, #0
+ ble .L9529
+ add r3, r6, r7
+ ldr r6, [sp, #4]
+ cmp r6, r3
+ bhi .L9605
+ mov r3, r4, lsr #3
+ mov r2, r3, asl #5
+ ands r3, r4, #7
+ add r5, r0, r2
+ bne .L9607
+ ldr r7, [sp, #108]
+ ldr r6, [sp, #84]
+.L9609:
+ movs r4, r7, lsr #3
+ beq .L9626
+ mov ip, r6
+ mov r0, r5
+ mov lr, #0
+.L9628:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L9629
+ ands r3, r2, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #0]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #4]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #8]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #12]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #16]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #20]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #24]
+ movs r3, r2, lsr #28
+ ldrne r2, [sp, #24]
+ orrne r3, r2, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #28]
+.L9629:
+ add lr, lr, #1
+ cmp r4, lr
+ add r0, r0, #32
+ add ip, ip, #32
+ bne .L9628
+ mov r3, r4, asl #5
+ add r5, r5, r3
+ add r6, r6, r3
+.L9626:
+ ands ip, r7, #7
+ beq .L9529
+ ldr r2, [r5, #0]
+ mov r0, #0
+.L9648:
+ ldr r4, [sp, #24]
+ ands r3, r2, #15
+ orr r3, r4, r3
+ orr r3, r1, r3
+ strne r3, [r6, r0, asl #2]
+ add r0, r0, #1
+ cmp r0, ip
+ mov r2, r2, lsr #4
+ bne .L9648
+ b .L9529
+.L10354:
+ mov r6, #0
+.L9551:
+ cmp r4, sl
+ movcc r3, #0
+ movcs r3, #1
+ cmp r7, ip
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L10317
+ b .L9529
+.L9552:
+ cmp r4, sl
+ cmpcc ip, r7
+ bcs .L9529
+.L10317:
+ ldr r2, [sp, #44]
+ and r3, r4, #7
+ add r5, r5, r2
+ ldr r0, [sp, #100]
+ mov r2, ip, asr #3
+ mov r3, r3, asl #3
+ add r3, r3, r2, asl #6
+ add r3, r3, r0
+ ldr r0, [sp, #60]
+ mov r2, r4, asr #3
+ mla r0, r2, r0, r3
+ and r1, ip, #7
+ ldrb r3, [r0, r1] @ zero_extendqisi2
+ ldr r1, [sp, #24]
+ cmp r3, #0
+ add r6, r6, #1
+ orr r3, r1, r3
+ strne r3, [r8, #0]
+ add lr, lr, fp
+ cmp r9, r6
+ mov r4, lr, asr #8
+ mov ip, r5, asr #8
+ add r8, r8, #4
+ bgt .L9552
+ b .L9529
+.L9813:
+ cmp r5, #0
+ beq .L9529
+ ldr r7, [sp, #0]
+ mov ip, #0
+ add r2, r7, r6, asl #2
+ b .L9843
+.L10338:
+ sub r0, r0, #32
+ add r2, r2, #32
+.L9843:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L9844
+ ands r3, r4, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #28]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #24]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #20]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #16]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #12]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #8]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #4]
+ movs r3, r4, lsr #28
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #0]
+.L9844:
+ add ip, ip, #1
+ cmp r5, ip
+ bne .L10338
+ b .L9529
+.L10238:
+ cmp r5, #0
+ beq .L9529
+ ldr r3, [sp, #0]
+ mov ip, #0
+ add r2, r3, r6, asl #2
+ ldr r3, .L10356+28
+ add r0, r0, r3
+ b .L10282
+.L10339:
+ sub r1, r1, #64
+ add r2, r2, #32
+.L10282:
+ ldr r4, [r0, #68]
+ cmp r4, #0
+ beq .L10283
+ ands r3, r4, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r2, #12]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r2, #8]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r2, #4]
+ movs r3, r4, lsr #24
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ strne r3, [r2, #0]
+.L10283:
+ ldr r4, [r1, #0]
+ cmp r4, #0
+ beq .L10292
+ ands r3, r4, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r2, #28]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r2, #24]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r2, #20]
+ movs r3, r4, lsr #24
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ strne r3, [r2, #16]
+.L10292:
+ add ip, ip, #1
+ cmp r5, ip
+ sub r0, r0, #64
+ bne .L10339
+ b .L9529
+.L9683:
+ cmp r5, #0
+ beq .L9529
+ ldr r7, [sp, #0]
+ mov ip, #0
+ add r2, r7, r6, asl #2
+ b .L9713
+.L10340:
+ add r0, r0, #32
+ add r2, r2, #32
+.L9713:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L9714
+ ands r3, r4, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #0]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #4]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #8]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #12]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #16]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #20]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #24]
+ movs r3, r4, lsr #28
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #28]
+.L9714:
+ add ip, ip, #1
+ cmp r5, ip
+ bne .L10340
+ b .L9529
+.L10018:
+ cmp lr, #0
+ beq .L9529
+ ldr r3, [sp, #0]
+ mov ip, #0
+ add r2, r3, r6, asl #2
+ ldr r3, .L10356+32
+ add r0, r0, r3
+ b .L10062
+.L10341:
+ add r1, r1, #64
+ add r2, r2, #32
+.L10062:
+ ldr r4, [r1, #0]
+ cmp r4, #0
+ beq .L10063
+ ands r3, r4, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r5, r3
+ strne r3, [r2, #0]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r2, #4]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r2, #8]
+ movs r3, r4, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r2, #12]
+.L10063:
+ ldr r4, [r0, #-60]
+ cmp r4, #0
+ beq .L10072
+ ands r3, r4, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r5, r3
+ strne r3, [r2, #16]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r2, #20]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r2, #24]
+ movs r3, r4, lsr #24
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r2, #28]
+.L10072:
+ add ip, ip, #1
+ cmp lr, ip
+ add r0, r0, #64
+ bne .L10341
+ b .L9529
+.L9865:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ add r0, r1, r3, asl #6
+ ldreq r1, [sp, #84]
+ beq .L9969
+ cmp r2, #3
+ rsb ip, r2, #8
+ bhi .L10342
+ subs r4, ip, #4
+ ldr r1, [r0, #0]
+ ldreq r1, [sp, #84]
+ beq .L9982
+ mov r3, r2, asl #3
+ mov r2, r1, lsr r3
+ mov r1, #0
+.L9983:
+ ands r3, r2, #255
+ ldr r5, [sp, #24]
+ ldrne r6, [sp, #84]
+ orr r3, r5, r3
+ strne r3, [r6, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r4
+ mov r2, r2, lsr #8
+ bne .L9983
+ ldr r7, [sp, #84]
+ add r3, r7, ip, asl #2
+ sub r1, r3, #16
+.L9982:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L9988
+ ands r3, r2, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #24]
+ orrne r3, ip, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r4, [sp, #24]
+ orrne r3, r4, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r5, [sp, #24]
+ orrne r3, r5, r3
+ strne r3, [r1, #12]
+.L9988:
+ add r1, r1, #16
+.L9974:
+ add r0, r0, #64
+.L9969:
+ movs lr, lr, lsr #3
+ beq .L9529
+ mov ip, #0
+ b .L9998
+.L10343:
+ add r0, r0, #64
+ add r1, r1, #32
+.L9998:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L9999
+ ands r3, r2, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #24]
+ orrne r3, r2, r3
+ strne r3, [r1, #12]
+.L9999:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L10008
+ ands r3, r2, #255
+ ldrne r4, [sp, #24]
+ orrne r3, r4, r3
+ strne r3, [r1, #16]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r5, r3
+ strne r3, [r1, #20]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r1, #24]
+ movs r3, r2, lsr #24
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r1, #28]
+.L10008:
+ add ip, ip, #1
+ cmp lr, ip
+ bne .L10343
+ b .L9529
+.L9735:
+ ands r2, r4, #7
+ mov r3, r4, lsr #3
+ sub r0, r0, r3, asl #5
+ ldreq r5, [sp, #84]
+ beq .L9784
+ rsbs r5, r2, #8
+ ldr lr, [r0, #0]
+ ldreq r5, [sp, #84]
+ beq .L9787
+ mov r3, r2, asl #2
+ mov r4, lr, asl r3
+ mov lr, #0
+.L9788:
+ ldr r6, [sp, #24]
+ movs r3, r4, lsr #28
+ ldrne r7, [sp, #84]
+ orr r3, r6, r3
+ orr r3, r1, r3
+ strne r3, [r7, lr, asl #2]
+ add lr, lr, #1
+ cmp r5, lr
+ mov r4, r4, asl #4
+ bne .L9788
+ ldr r8, [sp, #84]
+ add r5, r8, r5, asl #2
+.L9787:
+ sub r0, r0, #32
+.L9784:
+ movs ip, ip, lsr #3
+ beq .L9529
+ mov r2, #0
+ b .L9794
+.L10344:
+ sub r0, r0, #32
+ add r5, r5, #32
+.L9794:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L9795
+ ands r3, r4, #15
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #28]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #24]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #4]
+ movs r3, r4, lsr #28
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #0]
+.L9795:
+ add r2, r2, #1
+ cmp r2, ip
+ bne .L10344
+ b .L9529
+.L10085:
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ sub r2, r1, r3, asl #6
+ ldreq r0, [sp, #84]
+ beq .L10189
+ cmp ip, #3
+ rsb lr, ip, #8
+ bhi .L10345
+ subs r5, lr, #4
+ ldr r1, [r2, #4]
+ ldreq r0, [sp, #84]
+ beq .L10202
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov r0, #0
+.L10203:
+ movs r3, r1, lsr #24
+ ldr ip, [sp, #24]
+ ldrne r6, [sp, #84]
+ orr r3, ip, r3
+ strne r3, [r6, r0, asl #2]
+ add r0, r0, #1
+ cmp r5, r0
+ mov r1, r1, asl #8
+ bne .L10203
+ ldr r7, [sp, #84]
+ add r3, r7, lr, asl #2
+ sub r0, r3, #16
+.L10202:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L10208
+ ands r3, r1, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r0, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #24]
+ orrne r3, ip, r3
+ strne r3, [r0, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ strne r3, [r0, #4]
+ movs r3, r1, lsr #24
+ ldrne r1, [sp, #24]
+ orrne r3, r1, r3
+ strne r3, [r0, #0]
+.L10208:
+ add r0, r0, #16
+.L10194:
+ sub r2, r2, #64
+.L10189:
+ movs lr, r4, lsr #3
+ beq .L9529
+ mov ip, #0
+ b .L10218
+.L10346:
+ sub r2, r2, #64
+ add r0, r0, #32
+.L10218:
+ ldr r1, [r2, #4]
+ cmp r1, #0
+ beq .L10219
+ ands r3, r1, #255
+ ldrne r4, [sp, #24]
+ orrne r3, r4, r3
+ strne r3, [r0, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r5, r3
+ strne r3, [r0, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r0, #4]
+ movs r3, r1, lsr #24
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ strne r3, [r0, #0]
+.L10219:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L10228
+ ands r3, r1, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r0, #28]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #24]
+ orrne r3, r4, r3
+ strne r3, [r0, #24]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #24]
+ orrne r3, r5, r3
+ strne r3, [r0, #20]
+ movs r3, r1, lsr #24
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ strne r3, [r0, #16]
+.L10228:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L10346
+ b .L9529
+.L9605:
+ mov r3, r4, lsr #3
+ mov r2, r3, asl #5
+ ands r3, r4, #7
+ add lr, r0, r2
+ ldreq ip, [sp, #84]
+ beq .L9654
+ rsbs r4, r3, #8
+ ldr r0, [r0, r2]
+ ldreq ip, [sp, #84]
+ beq .L9657
+ mov r3, r3, asl #2
+ mov r0, r0, lsr r3
+ mov r2, #0
+.L9658:
+ ldr r6, [sp, #24]
+ ands r3, r0, #15
+ ldrne r7, [sp, #84]
+ orr r3, r6, r3
+ orr r3, r1, r3
+ strne r3, [r7, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, r4
+ mov r0, r0, lsr #4
+ bne .L9658
+ ldr r8, [sp, #84]
+ add ip, r8, r4, asl #2
+.L9657:
+ add lr, lr, #32
+.L9654:
+ movs r4, r5, lsr #3
+ beq .L9529
+ mov r0, #0
+ b .L9664
+.L10347:
+ add lr, lr, #32
+ add ip, ip, #32
+.L9664:
+ ldr r2, [lr, #0]
+ cmp r2, #0
+ beq .L9665
+ ands r3, r2, #15
+ ldrne r5, [sp, #24]
+ orrne r3, r5, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #0]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #4]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #8]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #12]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ ldrne r5, [sp, #24]
+ orrne r3, r5, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #16]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #24]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #20]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ ldrne r7, [sp, #24]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #24]
+ movs r3, r2, lsr #28
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #28]
+.L9665:
+ add r0, r0, #1
+ cmp r0, r4
+ bne .L10347
+ b .L9529
+.L9867:
+ ldr lr, [sp, #108]
+ rsb r0, ip, #8
+ cmp lr, r0
+ blt .L10348
+ cmp ip, #3
+ bls .L9900
+ cmp r0, #0
+ ldr r2, [r6, #4]
+ ldreq r4, [sp, #84]
+ beq .L9904
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L9905:
+ ands r3, r1, #255
+ ldr r8, [sp, #24]
+ ldrne ip, [sp, #84]
+ orr r3, r8, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r0, r2
+ mov r1, r1, lsr #8
+ bne .L9905
+ ldr lr, [sp, #84]
+ add r4, lr, r0, asl #2
+.L9904:
+ ldr r3, [sp, #108]
+ add r6, r6, #64
+ rsb r5, r0, r3
+ b .L9869
+.L9737:
+ ldr r2, [sp, #108]
+ rsb r5, lr, #8
+ cmp r2, r5
+ blt .L10349
+ cmp r5, #0
+ ldr r2, [r0, #0]
+ ldreq ip, [sp, #84]
+ beq .L9750
+ mov r3, lr, asl #2
+ mov r4, r2, asl r3
+ mov lr, #0
+.L9751:
+ ldr r7, [sp, #24]
+ movs r3, r4, lsr #28
+ ldrne r8, [sp, #84]
+ orr r3, r7, r3
+ orr r3, r1, r3
+ strne r3, [r8, lr, asl #2]
+ add lr, lr, #1
+ cmp r5, lr
+ mov r4, r4, asl #4
+ bne .L9751
+ ldr lr, [sp, #84]
+ add ip, lr, r5, asl #2
+.L9750:
+ ldr r3, [sp, #108]
+ sub r0, r0, #32
+ rsb r2, r5, r3
+ b .L9739
+.L9607:
+ ldr r7, [sp, #108]
+ rsb lr, r3, #8
+ cmp r7, lr
+ blt .L10350
+ cmp lr, #0
+ ldr r2, [r5, #0]
+ ldreq r6, [sp, #84]
+ beq .L9620
+ mov r3, r3, asl #2
+ mov r2, r2, lsr r3
+ mov r0, #0
+.L9621:
+ ldr r4, [sp, #24]
+ ands r3, r2, #15
+ ldrne r6, [sp, #84]
+ orr r3, r4, r3
+ orr r3, r1, r3
+ strne r3, [r6, r0, asl #2]
+ add r0, r0, #1
+ cmp lr, r0
+ mov r2, r2, lsr #4
+ bne .L9621
+ ldr r7, [sp, #84]
+ add r6, r7, lr, asl #2
+.L9620:
+ ldr r8, [sp, #108]
+ add r5, r5, #32
+ rsb r7, lr, r8
+ b .L9609
+.L10087:
+ ldr r1, [sp, #108]
+ rsb r0, ip, #8
+ cmp r1, r0
+ blt .L10351
+ cmp ip, #3
+ bls .L10120
+ cmp r0, #0
+ ldr r2, [r6, #0]
+ ldreq r4, [sp, #84]
+ beq .L10124
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L10125:
+ movs r3, r2, lsr #24
+ ldr r8, [sp, #24]
+ ldrne ip, [sp, #84]
+ orr r3, r8, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r0, r1
+ mov r2, r2, asl #8
+ bne .L10125
+ ldr lr, [sp, #84]
+ add r4, lr, r0, asl #2
+.L10124:
+ ldr r3, [sp, #108]
+ sub r6, r6, #64
+ rsb r5, r0, r3
+ b .L10089
+.L10351:
+ cmp r1, #0
+ ble .L9529
+ cmp ip, #3
+ bls .L10093
+ ldr r2, [r6, #0]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L10096:
+ movs r3, r2, lsr #24
+ ldr r4, [sp, #24]
+ ldrne r5, [sp, #84]
+ orr r3, r4, r3
+ ldr r6, [sp, #108]
+ strne r3, [r5, r1, asl #2]
+ add r1, r1, #1
+ cmp r6, r1
+ mov r2, r2, asl #8
+ bne .L10096
+ b .L9529
+.L10350:
+ cmp r7, #0
+ ble .L9529
+ ldr r2, [r0, r2]
+ mov r3, r3, asl #2
+ mov r0, r2, lsr r3
+ mov r2, #0
+.L9614:
+ ldr r8, [sp, #24]
+ ands r3, r0, #15
+ ldrne ip, [sp, #84]
+ orr r3, r8, r3
+ orr r3, r1, r3
+ ldr lr, [sp, #108]
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp lr, r2
+ mov r0, r0, lsr #4
+ bne .L9614
+ b .L9529
+.L10349:
+ cmp r2, #0
+ ble .L9529
+ ldr r2, [r0, #0]
+ mov r3, lr, asl #2
+ mov r0, r2, asl r3
+ mov r2, #0
+.L9744:
+ ldr r4, [sp, #24]
+ movs r3, r0, lsr #28
+ ldrne r5, [sp, #84]
+ orr r3, r4, r3
+ orr r3, r1, r3
+ ldr r6, [sp, #108]
+ strne r3, [r5, r2, asl #2]
+ add r2, r2, #1
+ cmp r6, r2
+ mov r0, r0, asl #4
+ bne .L9744
+ b .L9529
+.L10345:
+ cmp lr, #0
+ ldr r1, [r2, #0]
+ ldreq r0, [sp, #84]
+ beq .L10194
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov r0, #0
+.L10195:
+ movs r3, r1, lsr #24
+ ldr r6, [sp, #24]
+ ldrne r7, [sp, #84]
+ orr r3, r6, r3
+ strne r3, [r7, r0, asl #2]
+ add r0, r0, #1
+ cmp r0, lr
+ mov r1, r1, asl #8
+ bne .L10195
+ ldr r8, [sp, #84]
+ sub r2, r2, #64
+ add r0, r8, lr, asl #2
+ b .L10189
+.L10342:
+ cmp ip, #0
+ ldr r1, [r0, #4]
+ ldreq r1, [sp, #84]
+ beq .L9974
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r2, r1, lsr r3
+ mov r1, #0
+.L9975:
+ ands r3, r2, #255
+ ldr r6, [sp, #24]
+ ldrne r7, [sp, #84]
+ orr r3, r6, r3
+ strne r3, [r7, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, ip
+ mov r2, r2, lsr #8
+ bne .L9975
+ ldr r8, [sp, #84]
+ add r0, r0, #64
+ add r1, r8, ip, asl #2
+ b .L9969
+.L10348:
+ cmp lr, #0
+ ble .L9529
+ cmp ip, #3
+ bls .L9873
+ ldr r2, [r6, #4]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L9876:
+ ands r3, r1, #255
+ ldr r0, [sp, #24]
+ ldrne r4, [sp, #84]
+ orr r3, r0, r3
+ ldr r5, [sp, #108]
+ strne r3, [r4, r2, asl #2]
+ add r2, r2, #1
+ cmp r5, r2
+ mov r1, r1, lsr #8
+ bne .L9876
+ b .L9529
+.L10355:
+ mov r6, #0
+ b .L9587
+.L10120:
+ subs lr, r0, #4
+ ldr r2, [r6, #4]
+ ldreq r1, [sp, #84]
+ beq .L10132
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L10133:
+ movs r3, r2, lsr #24
+ ldr r4, [sp, #24]
+ ldrne r5, [sp, #84]
+ orr r3, r4, r3
+ strne r3, [r5, r1, asl #2]
+ add r1, r1, #1
+ cmp lr, r1
+ mov r2, r2, asl #8
+ bne .L10133
+ ldr r7, [sp, #84]
+ add r3, r7, r0, asl #2
+ sub r1, r3, #16
+.L10132:
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L10138
+ ands r3, r2, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r1, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #24]
+ orrne r3, ip, r3
+ strne r3, [r1, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ strne r3, [r1, #4]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #24]
+ orrne r3, r2, r3
+ strne r3, [r1, #0]
+.L10138:
+ add r4, r1, #16
+ b .L10124
+.L9900:
+ subs lr, r0, #4
+ ldr r2, [r6, #0]
+ ldreq r1, [sp, #84]
+ beq .L9912
+ mov r3, ip, asl #3
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L9913:
+ ands r3, r1, #255
+ ldr r4, [sp, #24]
+ ldrne r5, [sp, #84]
+ orr r3, r4, r3
+ strne r3, [r5, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, lr
+ mov r1, r1, lsr #8
+ bne .L9913
+ ldr r7, [sp, #84]
+ add r3, r7, r0, asl #2
+ sub r1, r3, #16
+.L9912:
+ ldr r2, [r6, #4]
+ cmp r2, #0
+ beq .L9918
+ ands r3, r2, #255
+ ldrne r8, [sp, #24]
+ orrne r3, r8, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #24]
+ orrne r3, ip, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne lr, [sp, #24]
+ orrne r3, lr, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #24]
+ orrne r3, r2, r3
+ strne r3, [r1, #12]
+.L9918:
+ add r4, r1, #16
+ b .L9904
+.L10353:
+ ldr r5, [sp, #16]
+ b .L10318
+.L10352:
+ mov ip, fp
+ b .L10316
+.L10093:
+ ldr r7, [sp, #108]
+ mov r3, ip, asl #3
+ ldr r1, [r6, #4]
+ add r2, r7, ip
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L10100
+ cmp r7, #0
+ movne r2, #0
+ beq .L9529
+.L10116:
+ movs r3, r1, lsr #24
+ ldr r5, [sp, #24]
+ ldrne r6, [sp, #84]
+ orr r3, r5, r3
+ ldr r7, [sp, #108]
+ strne r3, [r6, r2, asl #2]
+ add r2, r2, #1
+ cmp r7, r2
+ mov r1, r1, asl #8
+ bne .L10116
+ b .L9529
+.L9873:
+ ldr r7, [sp, #108]
+ ldr r3, [r6, #0]
+ add r2, r7, ip
+ cmp r2, #4
+ mov r1, ip, asl #3
+ mov r2, r3, lsr r1
+ bhi .L9880
+ cmp r7, #0
+ movne r1, #0
+ beq .L9529
+.L9896:
+ ands r3, r2, #255
+ ldr r5, [sp, #24]
+ ldrne r6, [sp, #84]
+ orr r3, r5, r3
+ ldr r7, [sp, #108]
+ strne r3, [r6, r1, asl #2]
+ add r1, r1, #1
+ cmp r7, r1
+ mov r2, r2, lsr #8
+ bne .L9896
+ b .L9529
+.L10100:
+ rsbs r0, ip, #4
+ ldreq ip, [sp, #84]
+ beq .L10105
+ mov r2, #0
+.L10106:
+ movs r3, r1, lsr #24
+ ldr r8, [sp, #24]
+ ldrne ip, [sp, #84]
+ orr r3, r8, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, r0
+ mov r1, r1, asl #8
+ bne .L10106
+ ldr lr, [sp, #84]
+ add ip, lr, r0, asl #2
+.L10105:
+ ldr r1, [sp, #108]
+ ldr r2, [r6, #0]
+ subs r0, r1, r0
+ beq .L9529
+ mov r1, #0
+.L10112:
+ ldr r4, [sp, #24]
+ movs r3, r2, lsr #24
+ orr r3, r4, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, asl #8
+ bne .L10112
+ b .L9529
+.L9880:
+ rsbs r0, ip, #4
+ ldreq ip, [sp, #84]
+ beq .L9885
+ mov r1, #0
+.L9886:
+ ands r3, r2, #255
+ ldr r8, [sp, #24]
+ ldrne ip, [sp, #84]
+ orr r3, r8, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, lsr #8
+ bne .L9886
+ ldr lr, [sp, #84]
+ add ip, lr, r0, asl #2
+.L9885:
+ ldr r1, [sp, #108]
+ ldr r2, [r6, #4]
+ subs r0, r1, r0
+ beq .L9529
+ mov r1, #0
+.L9892:
+ ldr r4, [sp, #24]
+ ands r3, r2, #255
+ orr r3, r4, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, lsr #8
+ bne .L9892
+ b .L9529
+ .size render_scanline_obj_color32_1D, .-render_scanline_obj_color32_1D
+ .align 2
+ .global render_scanline_obj_color32_2D
+ .type render_scanline_obj_color32_2D, %function
+render_scanline_obj_color32_2D:
+ @ args = 0, pretend = 0, frame = 96
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr ip, .L11200
+ sub sp, sp, #96
+ ldrh r4, [ip, #6]
+ add r0, r0, r0, asl #2
+ str r4, [sp, #36]
+ ldr r5, [sp, #36]
+ ldrh r4, [ip, #80]
+ ldr ip, .L11200+4
+ add r0, r5, r0, asl #5
+ ldr ip, [ip, r0, asl #2]
+ mov lr, r4, lsr #11
+ and lr, lr, #2
+ mov r4, r4, asl #27
+ str ip, [sp, #40]
+ orr lr, lr, r4, lsr #31
+ cmp ip, #0
+ ldr ip, .L11200+8
+ mov lr, lr, asl #9
+ add r0, ip, r0, asl #7
+ orr lr, lr, #256
+ str r0, [sp, #44]
+ str r1, [sp, #12]
+ str r2, [sp, #8]
+ str r3, [sp, #4]
+ str lr, [sp, #28]
+ beq .L11146
+ mov r8, #0
+ add r6, r3, r1, asl #2
+ rsb r7, r1, r2
+ str r6, [sp, #68]
+ str r7, [sp, #92]
+ str r8, [sp, #32]
+ mov ip, r8
+.L10361:
+ ldr lr, [sp, #44]
+ ldr r0, .L11200+12
+ ldrb r3, [ip, lr] @ zero_extendqisi2
+ mov r3, r3, asl #3
+ ldrh r4, [r3, r0]
+ add r3, r3, r0
+ ldrh r1, [r3, #2]
+ mov r5, r4, lsr #12
+ and r2, r5, #12
+ orr r0, r2, r1, lsr #14
+ and ip, r4, #255
+ mov r2, r1, asl #23
+ cmp ip, #160
+ ldrh lr, [r3, #4]
+ mov r6, r2, asr #23
+ ldr r3, .L11200+16
+ ldr r2, .L11200+20
+ subgt ip, ip, #256
+ tst r4, #256
+ ldr r8, [r2, r0, asl #2]
+ ldr sl, [r3, r0, asl #2]
+ beq .L10364
+ tst r4, #8192
+ beq .L10366
+ tst r4, #512
+ mov r3, r1, lsr #4
+ ldr r4, .L11200+12
+ and r3, r3, #992
+ add r3, r3, r4
+ add r2, r8, r8, lsr #31
+ ldrh r5, [r3, #30]
+ mov r4, r2, asr #1
+ add r1, sl, sl, lsr #31
+ ldr r2, [sp, #12]
+ movne r0, r4, asl #1
+ str r5, [sp, #16]
+ mov r5, r1, asr #1
+ strne r0, [sp, #52]
+ moveq r9, r8
+ streq r4, [sp, #52]
+ moveq r0, r5
+ movne r9, r8, asl #1
+ movne r0, r5, asl #1
+ cmp r6, r2
+ ldrh r7, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh fp, [r3, #22]
+ bge .L10371
+ rsb r2, r6, r2
+ rsb r9, r2, r9
+ cmp r9, #0
+ ble .L10373
+ ldr r3, [sp, #52]
+ ldr r6, [sp, #12]
+ rsb r3, r2, r3
+ str r3, [sp, #52]
+.L10371:
+ ldr r2, [sp, #8]
+ add r3, r6, r9
+ cmp r3, r2
+ blt .L10375
+ rsb r9, r6, r2
+ cmp r9, #0
+ ble .L10373
+.L10375:
+ mov r3, r7, asl #16
+ mov r2, r1, asl #16
+ ldr r7, [sp, #16]
+ mov r3, r3, asr #16
+ add r0, ip, r0
+ str r3, [sp, #48]
+ mov ip, r2, asr #16
+ ldr r3, [sp, #36]
+ ldr r2, [sp, #4]
+ mov r1, r7, asl #16
+ mov r4, r4, asl #8
+ cmp fp, #0
+ str r4, [sp, #76]
+ mov r1, r1, asr #16
+ mov r4, r5, asl #8
+ add r7, r2, r6, asl #2
+ rsb r0, r0, r3
+ bne .L10377
+ mla r3, r0, r1, r4
+ mov r1, r3, asr #8
+ cmp r1, sl
+ bcs .L10373
+ mov r3, lr, asl #22
+ mov r2, r1, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r1, #7
+ add r1, r1, r3, asl #2
+ ldr r3, .L11200+24
+ cmp r9, #0
+ add lr, r3, r1, asl #3
+ ble .L10373
+ ldr r4, [sp, #48]
+ ldr r2, [sp, #52]
+ mul r3, r0, ip
+ mul r2, r4, r2
+ ldr r5, [sp, #76]
+ rsb r3, r2, r3
+ add r0, r5, r3
+ mov r4, r0, asr #8
+ cmp r4, r8
+ movcs ip, fp
+ bcs .L10383
+ b .L11196
+.L10384:
+ cmp r4, r8
+ bcc .L11160
+.L10383:
+ ldr r6, [sp, #48]
+ add ip, ip, #1
+ add r0, r0, r6
+ cmp r9, ip
+ mov r4, r0, asr #8
+ add r7, r7, #4
+ bne .L10384
+.L10373:
+ ldr ip, [sp, #32]
+ ldr lr, [sp, #40]
+ add ip, ip, #1
+ cmp ip, lr
+ str ip, [sp, #32]
+ beq .L11146
+.L11178:
+ ldr ip, [sp, #32]
+ b .L10361
+.L10364:
+ ldr r2, [sp, #36]
+ tst r1, #8192
+ rsb r0, ip, r2
+ rsbne r3, r0, sl
+ subne r0, r3, #1
+ mov r2, r1, asl #19
+ and r3, r5, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L10373
+ .p2align 2
+.L10445:
+ .word .L10441
+ .word .L10442
+ .word .L10443
+ .word .L10444
+.L10441:
+ mov r3, lr, asl #22
+ mov r2, r0, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r0, #7
+ add r1, r1, r3, asl #3
+ ldr r3, [sp, #12]
+ mov r2, lr, lsr #8
+ cmp r6, r3
+ ldr r3, .L11200+24
+ add r0, r3, r1, asl #2
+ and r1, r2, #240
+ blt .L11173
+ ldr ip, [sp, #8]
+ add r3, r6, r8
+ cmp ip, r3
+ bhi .L10527
+ rsb r7, r6, ip
+ cmp r7, #0
+ ble .L10373
+ ldr lr, [sp, #4]
+ movs r8, r7, lsr #3
+ add r2, lr, r6, asl #2
+ beq .L10530
+ mov r5, r2
+ mov lr, r0
+ mov ip, #0
+.L10532:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L10533
+ ands r3, r4, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #0]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #4]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #24]
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #28]
+.L10533:
+ add ip, ip, #1
+ cmp ip, r8
+ add lr, lr, #32
+ add r5, r5, #32
+ bne .L10532
+ mov r3, r8, asl #5
+ add r0, r0, r3
+ add r2, r2, r3
+.L10530:
+ ands lr, r7, #7
+ beq .L10373
+ ldr r0, [r0, #0]
+ mov ip, #0
+.L10552:
+ ldr r5, [sp, #28]
+ ands r3, r0, #15
+ orr r3, r5, r3
+ orr r3, r1, r3
+ strne r3, [r2, ip, asl #2]
+ add ip, ip, #1
+ cmp ip, lr
+ mov r0, r0, lsr #4
+ bne .L10552
+ b .L10373
+.L10442:
+ mov r3, lr, asl #22
+ mov r1, r0, lsr #3
+ subs r2, r8, #8
+ mov r3, r3, lsr #22
+ submi r2, r8, #1
+ add r3, r3, r1, asl #5
+ add r3, r3, r2, asr #3
+ and r1, r0, #7
+ ldr ip, [sp, #12]
+ add r1, r1, r3, asl #3
+ ldr r3, .L11200+24
+ mov r2, lr, lsr #8
+ cmp r6, ip
+ add r0, r3, r1, asl #2
+ and r1, r2, #240
+ blt .L11174
+ ldr ip, [sp, #8]
+ add r3, r6, r8
+ cmp ip, r3
+ bhi .L10657
+ rsb r8, r6, ip
+ cmp r8, #0
+ ble .L10373
+ ldr lr, [sp, #4]
+ movs r7, r8, lsr #3
+ add r2, lr, r6, asl #2
+ beq .L10660
+ mov r5, r2
+ mov lr, r0
+ mov ip, #0
+.L10662:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L10663
+ ands r3, r4, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #28]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #24]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #4]
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #0]
+.L10663:
+ add ip, ip, #1
+ cmp ip, r7
+ sub lr, lr, #32
+ add r5, r5, #32
+ bne .L10662
+ rsb r3, r7, r7, asl #27
+ add r0, r0, r3, asl #5
+ add r2, r2, r7, asl #5
+.L10660:
+ ands lr, r8, #7
+ beq .L10373
+ ldr r0, [r0, #0]
+ mov ip, #0
+.L10682:
+ ldr r5, [sp, #28]
+ movs r3, r0, lsr #28
+ orr r3, r5, r3
+ orr r3, r1, r3
+ strne r3, [r2, ip, asl #2]
+ add ip, ip, #1
+ cmp ip, lr
+ mov r0, r0, asl #4
+ bne .L10682
+ b .L10373
+.L10443:
+ mov r2, lr, asl #22
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ and r3, r0, #7
+ add r2, r2, r1, asl #5
+ add r3, r3, r2, asl #2
+ ldr ip, [sp, #12]
+ mov r0, r3, asl #3
+ ldr r3, .L11200+24
+ cmp r6, ip
+ add ip, r0, r3
+ blt .L11175
+ ldr lr, [sp, #8]
+ add r3, r6, r8
+ cmp lr, r3
+ bhi .L10862
+ rsb r8, r6, lr
+ cmp r8, #0
+ ble .L10373
+ ldr r1, [sp, #4]
+ movs r7, r8, lsr #3
+ add r2, r1, r6, asl #2
+ beq .L10865
+ ldr r3, .L11200+32
+ mov r5, r2
+ add r0, r0, r3
+ mov lr, ip
+ mov r1, #0
+.L10867:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L10868
+ ands r3, r4, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r5, #0]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r5, #4]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r5, #8]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r5, #12]
+.L10868:
+ ldr r4, [r0, #-60]
+ cmp r4, #0
+ beq .L10877
+ ands r3, r4, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r5, #24]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r5, #28]
+.L10877:
+ add r1, r1, #1
+ cmp r7, r1
+ add lr, lr, #64
+ add r5, r5, #32
+ add r0, r0, #64
+ bne .L10867
+ add ip, ip, r7, asl #6
+ add r2, r2, r7, asl #5
+.L10865:
+ ands lr, r8, #7
+ beq .L10373
+ cmp lr, #3
+ ldrls r0, [ip, #0]
+ bls .L10900
+ ldr r1, [ip, #0]
+ cmp r1, #0
+ beq .L10890
+ ands r3, r1, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r2, #0]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r2, #4]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r2, #8]
+ movs r3, r1, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r2, #12]
+.L10890:
+ subs lr, lr, #4
+ ldr r0, [ip, #4]
+ addne r2, r2, #16
+ beq .L10373
+.L10900:
+ mov r1, #0
+.L10901:
+ ldr ip, [sp, #28]
+ ands r3, r0, #255
+ orr r3, ip, r3
+ strne r3, [r2, r1, asl #2]
+ add r1, r1, #1
+ cmp lr, r1
+ mov r0, r0, lsr #8
+ bhi .L10901
+ b .L10373
+.L10444:
+ subs r2, r8, #8
+ submi r2, r8, #1
+ mov r3, r0, lsr #3
+ mov r2, r2, asr #3
+ mov r1, lr, asl #22
+ add r2, r2, r3, asl #4
+ mov r1, r1, lsr #22
+ and r3, r0, #7
+ add r1, r1, r2, asl #1
+ add r3, r3, r1, asl #2
+ ldr ip, [sp, #12]
+ mov r0, r3, asl #3
+ ldr r3, .L11200+24
+ cmp r6, ip
+ add ip, r0, r3
+ blt .L11176
+ ldr lr, [sp, #8]
+ add r3, r6, r8
+ cmp r3, lr
+ bcc .L11082
+ rsb r8, r6, lr
+ cmp r8, #0
+ ble .L10373
+ ldr r1, [sp, #4]
+ movs r7, r8, lsr #3
+ add r6, r1, r6, asl #2
+ beq .L11085
+ ldr r3, .L11200+28
+ mov r5, r6
+ add r0, r0, r3
+ mov lr, ip
+ mov r1, #0
+.L11087:
+ ldr r4, [r0, #68]
+ cmp r4, #0
+ beq .L11088
+ ands r3, r4, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r5, #4]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r5, #0]
+.L11088:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L11097
+ ands r3, r4, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r5, #28]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r5, #24]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r5, #20]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r5, #16]
+.L11097:
+ add r1, r1, #1
+ cmp r1, r7
+ sub lr, lr, #64
+ add r5, r5, #32
+ sub r0, r0, #64
+ bne .L11087
+ rsb r3, r7, r7, asl #26
+ add ip, ip, r3, asl #6
+ add r6, r6, r7, asl #5
+.L11085:
+ ands r0, r8, #7
+ beq .L10373
+ cmp r0, #3
+ ldrls r2, [ip, #4]
+ bls .L11120
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L11110
+ ands r3, r2, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r6, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r6, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r6, #4]
+ movs r3, r2, lsr #24
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r6, #0]
+.L11110:
+ subs r0, r0, #4
+ ldr r2, [ip, #0]
+ addne r6, r6, #16
+ beq .L10373
+.L11120:
+ mov r1, #0
+.L11121:
+ ldr r4, [sp, #28]
+ movs r3, r2, lsr #24
+ orr r3, r4, r3
+ strne r3, [r6, r1, asl #2]
+ add r1, r1, #1
+ cmp r0, r1
+ mov r2, r2, asl #8
+ bhi .L11121
+ b .L10373
+.L10366:
+ mov r3, r1, lsr #4
+ ldr r1, .L11200+12
+ and r3, r3, #992
+ add r3, r3, r1
+ tst r4, #512
+ ldrh r4, [r3, #30]
+ add r2, r8, r8, lsr #31
+ add r1, sl, sl, lsr #31
+ str r4, [sp, #24]
+ mov r4, r2, asr #1
+ ldr r2, [sp, #12]
+ mov r5, r1, asr #1
+ ldrh r7, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh r3, [r3, #22]
+ moveq fp, r8
+ moveq r9, r4
+ moveq r0, r5
+ movne fp, r8, asl #1
+ movne r9, r4, asl #1
+ movne r0, r5, asl #1
+ cmp r6, r2
+ str r3, [sp, #20]
+ bge .L10404
+ rsb r2, r6, r2
+ rsb fp, r2, fp
+ cmp fp, #0
+ ble .L10373
+ ldr r6, [sp, #12]
+ rsb r9, r2, r9
+.L10404:
+ ldr r2, [sp, #8]
+ add r3, r6, fp
+ cmp r3, r2
+ blt .L10407
+ rsb fp, r6, r2
+ cmp fp, #0
+ ble .L10373
+.L10407:
+ add ip, ip, r0
+ mov r3, r7, asl #16
+ mov r2, r1, asl #16
+ ldr r0, [sp, #20]
+ ldr r7, [sp, #24]
+ mov r3, r3, asr #16
+ mov r2, r2, asr #16
+ cmp r0, #0
+ str r3, [sp, #56]
+ mov r0, lr, lsr #8
+ str r2, [sp, #60]
+ ldr r3, [sp, #36]
+ ldr r2, [sp, #4]
+ mov r1, r7, asl #16
+ mov r4, r4, asl #8
+ and r0, r0, #240
+ str r4, [sp, #72]
+ mov r1, r1, asr #16
+ mov r4, r5, asl #8
+ add r7, r2, r6, asl #2
+ rsb ip, ip, r3
+ str r0, [sp, #88]
+ bne .L10409
+ mla r3, ip, r1, r4
+ mov r1, r3, asr #8
+ cmp r1, sl
+ bcs .L10373
+ mov r3, lr, asl #22
+ mov r2, r1, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r1, #7
+ add r1, r1, r3, asl #3
+ ldr r3, .L11200+24
+ cmp fp, #0
+ add r1, r3, r1, asl #2
+ ble .L10373
+ ldr r3, [sp, #60]
+ ldr r2, [sp, #56]
+ mul r3, ip, r3
+ mul r2, r9, r2
+ ldr r4, [sp, #72]
+ rsb r3, r2, r3
+ add r0, r4, r3
+ mov r4, r0, asr #8
+ cmp r4, r8
+ ldrcs r5, [sp, #20]
+ bcs .L10415
+ b .L11197
+.L10416:
+ cmp r4, r8
+ bcc .L11162
+.L10415:
+ ldr r6, [sp, #56]
+ add r5, r5, #1
+ add r0, r0, r6
+ cmp fp, r5
+ mov r4, r0, asr #8
+ add r7, r7, #4
+ bne .L10416
+ ldr ip, [sp, #32]
+ ldr lr, [sp, #40]
+ add ip, ip, #1
+ cmp ip, lr
+ str ip, [sp, #32]
+ bne .L11178
+.L11146:
+ add sp, sp, #96
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L10377:
+ mov r3, lr, asl #22
+ ldr r2, .L11200+24
+ mov r3, r3, lsr #22
+ add r3, r2, r3, asl #5
+ cmp r9, #0
+ str r3, [sp, #84]
+ ble .L10373
+ mov r3, fp, asl #16
+ mul r2, r0, r1
+ mov fp, r3, asr #16
+ ldr r6, [sp, #48]
+ mul r3, r0, ip
+ ldr r1, [sp, #52]
+ ldr r0, [sp, #52]
+ mul r1, fp, r1
+ mul r0, r6, r0
+ ldr ip, [sp, #76]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add r5, ip, r3
+ add lr, r4, r2
+ mov ip, r5, asr #8
+ mov r4, lr, asr #8
+ cmp ip, r8
+ cmpcc r4, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L10393
+ b .L11198
+.L10394:
+ cmp ip, r8
+ cmpcc r4, sl
+ bcc .L10395
+.L10393:
+ ldr r0, [sp, #48]
+ add r6, r6, #1
+ add r5, r5, r0
+ add lr, lr, fp
+ cmp r9, r6
+ mov ip, r5, asr #8
+ mov r4, lr, asr #8
+ add r7, r7, #4
+ bne .L10394
+ b .L10373
+.L10409:
+ mov r3, lr, asl #22
+ ldr r2, .L11200+24
+ mov r3, r3, lsr #22
+ add r3, r2, r3, asl #5
+ cmp fp, #0
+ str r3, [sp, #80]
+ ble .L10373
+ ldr r5, [sp, #20]
+ mul r2, ip, r1
+ mov r3, r5, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #64]
+ ldr r1, [sp, #64]
+ ldr r3, [sp, #60]
+ ldr r0, [sp, #56]
+ mul r3, ip, r3
+ mul r1, r9, r1
+ mul r0, r9, r0
+ ldr r6, [sp, #72]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add lr, r6, r3
+ add r5, r4, r2
+ mov ip, lr, asr #8
+ mov r4, r5, asr #8
+ cmp ip, r8
+ cmpcc r4, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L10428
+ b .L11199
+.L10429:
+ cmp ip, r8
+ cmpcc r4, sl
+ bcc .L10431
+.L10428:
+ ldr ip, [sp, #56]
+ ldr r0, [sp, #64]
+ add r6, r6, #1
+ add lr, lr, ip
+ add r5, r5, r0
+ cmp fp, r6
+ mov ip, lr, asr #8
+ mov r4, r5, asr #8
+ add r7, r7, #4
+ bne .L10429
+ b .L10373
+.L11181:
+ mov r3, ip, asr #1
+ ldr r1, [sp, #80]
+ and r3, r3, #3
+ and r0, r4, #7
+ str r3, [sp, #0]
+ ldr r3, [sp, #80]
+ add r0, r1, r0, asl #2
+ and r1, r4, #7
+ mov r2, ip, asr #1
+ add r1, r3, r1, asl #2
+ mov r3, r4, asr #3
+ and r9, r2, #3
+ mov r3, r3, asl #10
+ mov r2, ip, asr #3
+ tst ip, #1
+ add r3, r3, r2, asl #5
+ add r2, r0, r3
+ movne r4, r9
+ add r0, r1, r3
+ ldreqb r3, [r0, r9] @ zero_extendqisi2
+ ldrneb r3, [r2, r4] @ zero_extendqisi2
+ ldr r2, [sp, #28]
+ movne r0, r3, lsr #4
+ andeq r0, r3, #15
+ cmp r0, #0
+ orr r3, r0, r2
+ ldr r0, [sp, #88]
+ ldr ip, [sp, #56]
+ ldr r1, [sp, #64]
+ add r6, r6, #1
+ orr r3, r0, r3
+ strne r3, [r7, #0]
+ add lr, lr, ip
+ add r5, r5, r1
+ cmp fp, r6
+ mov ip, lr, asr #8
+ mov r4, r5, asr #8
+ add r7, r7, #4
+ ble .L10373
+.L10431:
+ cmp r4, sl
+ cmpcc ip, r8
+ bcc .L11181
+ b .L10373
+.L10418:
+ cmp r4, r8
+ bcs .L10373
+.L11162:
+ mov r3, r4, asr #1
+ and sl, r3, #3
+ mov r3, r4, asr #3
+ mov r3, r3, asl #5
+ mov r2, r4, asr #1
+ tst r4, #1
+ add ip, r3, r1
+ and r6, r2, #3
+ add r2, r3, r1
+ ldreqb r3, [r2, r6] @ zero_extendqisi2
+ ldrneb r3, [ip, sl] @ zero_extendqisi2
+ ldr lr, [sp, #28]
+ movne r2, r3, lsr #4
+ andeq r2, r3, #15
+ cmp r2, #0
+ orr r3, r2, lr
+ ldr r2, [sp, #88]
+ ldr ip, [sp, #56]
+ add r5, r5, #1
+ orr r3, r2, r3
+ strne r3, [r7, #0]
+ add r0, r0, ip
+ cmp fp, r5
+ mov r4, r0, asr #8
+ add r7, r7, #4
+ bgt .L10418
+ b .L10373
+.L10386:
+ cmp r4, r8
+ bcs .L10373
+.L11160:
+ ldr r1, [sp, #48]
+ mov r3, r4, asr #3
+ add r0, r0, r1
+ add r3, lr, r3, asl #6
+ and r1, r4, #7
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ ldr r5, [sp, #28]
+ cmp r2, #0
+ add ip, ip, #1
+ orr r3, r5, r2
+ strne r3, [r7, #0]
+ cmp r9, ip
+ mov r4, r0, asr #8
+ add r7, r7, #4
+ bgt .L10386
+ b .L10373
+.L11176:
+ ldr lr, [sp, #12]
+ rsb r1, r6, lr
+ rsb lr, r1, r8
+ cmp lr, #0
+ ble .L10373
+ ldr r0, [sp, #8]
+ add r3, r6, r8
+ cmp r0, r3
+ bhi .L10929
+ mov r3, r1, lsr #3
+ ands r0, r1, #7
+ sub r6, ip, r3, asl #6
+ bne .L10931
+ ldr r5, [sp, #92]
+ ldr r4, [sp, #68]
+.L10933:
+ movs lr, r5, lsr #3
+ beq .L10991
+ mov r1, r4
+ mov r0, r6
+ mov ip, #0
+.L10993:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L10994
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #0]
+.L10994:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L11003
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #28]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #24]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #20]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #16]
+.L11003:
+ add ip, ip, #1
+ cmp ip, lr
+ sub r0, r0, #64
+ add r1, r1, #32
+ bne .L10993
+ rsb r3, lr, lr, asl #26
+ add r6, r6, r3, asl #6
+ add r4, r4, lr, asl #5
+.L10991:
+ ands r0, r5, #7
+ beq .L10373
+ cmp r0, #3
+ ldrls r2, [r6, #4]
+ bls .L11026
+ ldr r2, [r6, #4]
+ cmp r2, #0
+ beq .L11016
+ ands r3, r2, #255
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, [sp, #28]
+ orrne r3, r1, r3
+ strne r3, [r4, #4]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r4, #0]
+.L11016:
+ subs r0, r0, #4
+ ldr r2, [r6, #0]
+ addne r4, r4, #16
+ beq .L10373
+.L11026:
+ mov r1, #0
+.L11027:
+ ldr r5, [sp, #28]
+ movs r3, r2, lsr #24
+ orr r3, r5, r3
+ strne r3, [r4, r1, asl #2]
+ add r1, r1, #1
+ cmp r0, r1
+ mov r2, r2, asl #8
+ bhi .L11027
+ b .L10373
+.L11201:
+ .align 2
+.L11200:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word oam_ram
+ .word obj_height_table
+ .word obj_width_table
+ .word vram+65536
+ .word vram+65472
+ .word vram+65600
+.L11175:
+ ldr lr, [sp, #12]
+ rsb r1, r6, lr
+ rsb lr, r1, r8
+ cmp lr, #0
+ ble .L10373
+ ldr r0, [sp, #8]
+ add r3, r6, r8
+ cmp r0, r3
+ bhi .L10709
+ mov r3, r1, lsr #3
+ ands r0, r1, #7
+ add r6, ip, r3, asl #6
+ bne .L10711
+ ldr r5, [sp, #92]
+ ldr r4, [sp, #68]
+.L10713:
+ movs lr, r5, lsr #3
+ beq .L10771
+ mov r1, r4
+ mov r0, r6
+ mov ip, #0
+.L10773:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L10774
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #12]
+.L10774:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L10783
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #16]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #20]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #24]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #28]
+.L10783:
+ add ip, ip, #1
+ cmp lr, ip
+ add r0, r0, #64
+ add r1, r1, #32
+ bne .L10773
+ add r6, r6, lr, asl #6
+ add r4, r4, lr, asl #5
+.L10771:
+ ands r0, r5, #7
+ beq .L10373
+ cmp r0, #3
+ ldrls r1, [r6, #0]
+ bls .L10806
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L10796
+ ands r3, r2, #255
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ strne r3, [r4, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r4, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, [sp, #28]
+ orrne r3, r1, r3
+ strne r3, [r4, #8]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r4, #12]
+.L10796:
+ subs r0, r0, #4
+ ldr r1, [r6, #4]
+ addne r4, r4, #16
+ beq .L10373
+.L10806:
+ mov r2, #0
+.L10807:
+ ldr r5, [sp, #28]
+ ands r3, r1, #255
+ orr r3, r5, r3
+ strne r3, [r4, r2, asl #2]
+ add r2, r2, #1
+ cmp r0, r2
+ mov r1, r1, lsr #8
+ bhi .L10807
+ b .L10373
+.L11174:
+ rsb r4, r6, ip
+ rsb ip, r4, r8
+ cmp ip, #0
+ ble .L10373
+ ldr lr, [sp, #8]
+ add r3, r6, r8
+ cmp lr, r3
+ bhi .L10579
+ mov r3, r4, lsr #3
+ ands lr, r4, #7
+ sub r0, r0, r3, asl #5
+ bne .L10581
+ ldr r2, [sp, #92]
+ ldr ip, [sp, #68]
+.L10583:
+ movs r7, r2, lsr #3
+ beq .L10600
+ mov r5, ip
+ mov lr, r0
+ mov r6, #0
+.L10602:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L10603
+ ands r3, r4, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #28]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #24]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #4]
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #0]
+.L10603:
+ add r6, r6, #1
+ cmp r6, r7
+ sub lr, lr, #32
+ add r5, r5, #32
+ bne .L10602
+ rsb r3, r7, r7, asl #27
+ add r0, r0, r3, asl #5
+ add ip, ip, r7, asl #5
+.L10600:
+ ands lr, r2, #7
+ beq .L10373
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L10622:
+ ldr r5, [sp, #28]
+ movs r3, r0, lsr #28
+ orr r3, r5, r3
+ orr r3, r1, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, lr
+ mov r0, r0, asl #4
+ bne .L10622
+ b .L10373
+.L11173:
+ ldr r5, [sp, #12]
+ rsb r4, r6, r5
+ rsb r5, r4, r8
+ cmp r5, #0
+ ble .L10373
+ add r3, r6, r8
+ ldr r6, [sp, #8]
+ cmp r6, r3
+ bhi .L10449
+ mov r3, r4, lsr #3
+ mov r2, r3, asl #5
+ ands r3, r4, #7
+ add r5, r0, r2
+ bne .L10451
+ ldr r7, [sp, #92]
+ ldr r6, [sp, #68]
+.L10453:
+ movs r4, r7, lsr #3
+ beq .L10470
+ mov ip, r6
+ mov r0, r5
+ mov lr, #0
+.L10472:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L10473
+ ands r3, r2, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #0]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #4]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #8]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #12]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #16]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #20]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #24]
+ movs r3, r2, lsr #28
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #28]
+.L10473:
+ add lr, lr, #1
+ cmp r4, lr
+ add r0, r0, #32
+ add ip, ip, #32
+ bne .L10472
+ mov r3, r4, asl #5
+ add r5, r5, r3
+ add r6, r6, r3
+.L10470:
+ ands ip, r7, #7
+ beq .L10373
+ ldr r2, [r5, #0]
+ mov r0, #0
+.L10492:
+ ldr r4, [sp, #28]
+ ands r3, r2, #15
+ orr r3, r4, r3
+ orr r3, r1, r3
+ strne r3, [r6, r0, asl #2]
+ add r0, r0, #1
+ cmp r0, ip
+ mov r2, r2, lsr #4
+ bne .L10492
+ b .L10373
+.L11198:
+ mov r6, #0
+.L10395:
+ cmp r4, sl
+ movcc r3, #0
+ movcs r3, #1
+ cmp r8, ip
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L11161
+ b .L10373
+.L10396:
+ cmp r4, sl
+ cmpcc ip, r8
+ bcs .L10373
+.L11161:
+ ldr r1, [sp, #48]
+ and r3, r4, #7
+ mov r2, ip, asr #3
+ mov r3, r3, asl #3
+ add r5, r5, r1
+ add r3, r3, r2, asl #6
+ mov r1, r4, asr #3
+ ldr r2, [sp, #84]
+ add r3, r3, r1, asl #10
+ and r0, ip, #7
+ add r3, r3, r2
+ ldrb r2, [r3, r0] @ zero_extendqisi2
+ ldr r0, [sp, #28]
+ cmp r2, #0
+ add r6, r6, #1
+ orr r3, r0, r2
+ strne r3, [r7, #0]
+ add lr, lr, fp
+ cmp r9, r6
+ mov r4, lr, asr #8
+ mov ip, r5, asr #8
+ add r7, r7, #4
+ bgt .L10396
+ b .L10373
+.L10657:
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs lr, r3, asr #3
+ beq .L10373
+ ldr r7, [sp, #4]
+ mov ip, #0
+ add r2, r7, r6, asl #2
+ b .L10687
+.L11182:
+ sub r0, r0, #32
+ add r2, r2, #32
+.L10687:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L10688
+ ands r3, r4, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #28]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #24]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #20]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #16]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #12]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #8]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #4]
+ movs r3, r4, lsr #28
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #0]
+.L10688:
+ add ip, ip, #1
+ cmp lr, ip
+ bne .L11182
+ b .L10373
+.L11082:
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs lr, r3, asr #3
+ beq .L10373
+ ldr r5, [sp, #4]
+ ldr r3, .L11200+28
+ add r2, r5, r6, asl #2
+ add r0, r0, r3
+ mov r1, #0
+ b .L11126
+.L11183:
+ sub ip, ip, #64
+ add r2, r2, #32
+.L11126:
+ ldr r4, [r0, #68]
+ cmp r4, #0
+ beq .L11127
+ ands r3, r4, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r2, #12]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r2, #8]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r2, #4]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r2, #0]
+.L11127:
+ ldr r4, [ip, #0]
+ cmp r4, #0
+ beq .L11136
+ ands r3, r4, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r2, #28]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r2, #24]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r2, #20]
+ movs r3, r4, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r2, #16]
+.L11136:
+ add r1, r1, #1
+ cmp lr, r1
+ sub r0, r0, #64
+ bne .L11183
+ b .L10373
+.L10527:
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs lr, r3, asr #3
+ beq .L10373
+ ldr r7, [sp, #4]
+ mov ip, #0
+ add r2, r7, r6, asl #2
+ b .L10557
+.L11184:
+ add r0, r0, #32
+ add r2, r2, #32
+.L10557:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L10558
+ ands r3, r4, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #0]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #4]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #8]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #12]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #16]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #20]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #24]
+ movs r3, r4, lsr #28
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [r2, #28]
+.L10558:
+ add ip, ip, #1
+ cmp lr, ip
+ bne .L11184
+ b .L10373
+.L10862:
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs lr, r3, asr #3
+ beq .L10373
+ ldr r1, [sp, #4]
+ ldr r3, .L11200+32
+ add r2, r1, r6, asl #2
+ add r0, r0, r3
+ mov r1, #0
+ b .L10906
+.L11185:
+ add ip, ip, #64
+ add r2, r2, #32
+.L10906:
+ ldr r4, [ip, #0]
+ cmp r4, #0
+ beq .L10907
+ ands r3, r4, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r2, #0]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r2, #4]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r2, #8]
+ movs r3, r4, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r2, #12]
+.L10907:
+ ldr r4, [r0, #-60]
+ cmp r4, #0
+ beq .L10916
+ ands r3, r4, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r2, #16]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r2, #20]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r2, #24]
+ movs r3, r4, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r2, #28]
+.L10916:
+ add r1, r1, #1
+ cmp lr, r1
+ add r0, r0, #64
+ bne .L11185
+ b .L10373
+.L10709:
+ mov r3, r1, lsr #3
+ ands r2, r1, #7
+ add r0, ip, r3, asl #6
+ ldreq r1, [sp, #68]
+ beq .L10813
+ cmp r2, #3
+ rsb ip, r2, #8
+ bhi .L11186
+ subs r4, ip, #4
+ ldr r1, [r0, #0]
+ ldreq r1, [sp, #68]
+ beq .L10826
+ mov r3, r2, asl #3
+ mov r2, r1, lsr r3
+ mov r1, #0
+.L10827:
+ ands r3, r2, #255
+ ldr r5, [sp, #28]
+ ldrne r6, [sp, #68]
+ orr r3, r5, r3
+ strne r3, [r6, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r4
+ mov r2, r2, lsr #8
+ bne .L10827
+ ldr r7, [sp, #68]
+ add r3, r7, ip, asl #2
+ sub r1, r3, #16
+.L10826:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L10832
+ ands r3, r2, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r1, #12]
+.L10832:
+ add r1, r1, #16
+.L10818:
+ add r0, r0, #64
+.L10813:
+ movs lr, lr, lsr #3
+ beq .L10373
+ mov ip, #0
+ b .L10842
+.L11187:
+ add r0, r0, #64
+ add r1, r1, #32
+.L10842:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L10843
+ ands r3, r2, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r1, #12]
+.L10843:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L10852
+ ands r3, r2, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r1, #16]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r1, #20]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r1, #24]
+ movs r3, r2, lsr #24
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #28]
+.L10852:
+ add ip, ip, #1
+ cmp lr, ip
+ bne .L11187
+ b .L10373
+.L10579:
+ ands r2, r4, #7
+ mov r3, r4, lsr #3
+ sub r0, r0, r3, asl #5
+ ldreq r5, [sp, #68]
+ beq .L10628
+ rsbs r5, r2, #8
+ ldr lr, [r0, #0]
+ ldreq r5, [sp, #68]
+ beq .L10631
+ mov r3, r2, asl #2
+ mov r4, lr, asl r3
+ mov lr, #0
+.L10632:
+ ldr r6, [sp, #28]
+ movs r3, r4, lsr #28
+ ldrne r7, [sp, #68]
+ orr r3, r6, r3
+ orr r3, r1, r3
+ strne r3, [r7, lr, asl #2]
+ add lr, lr, #1
+ cmp r5, lr
+ mov r4, r4, asl #4
+ bne .L10632
+ ldr r8, [sp, #68]
+ add r5, r8, r5, asl #2
+.L10631:
+ sub r0, r0, #32
+.L10628:
+ movs ip, ip, lsr #3
+ beq .L10373
+ mov r2, #0
+ b .L10638
+.L11188:
+ sub r0, r0, #32
+ add r5, r5, #32
+.L10638:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L10639
+ ands r3, r4, #15
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #28]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #24]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #4]
+ movs r3, r4, lsr #28
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [r5, #0]
+.L10639:
+ add r2, r2, #1
+ cmp r2, ip
+ bne .L11188
+ b .L10373
+.L10929:
+ ands r0, r1, #7
+ mov r3, r1, lsr #3
+ sub r2, ip, r3, asl #6
+ ldreq r0, [sp, #68]
+ beq .L11033
+ cmp r0, #3
+ rsb ip, r0, #8
+ bhi .L11189
+ subs r4, ip, #4
+ ldr r1, [r2, #4]
+ ldreq r0, [sp, #68]
+ beq .L11046
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov r0, #0
+.L11047:
+ movs r3, r1, lsr #24
+ ldr r5, [sp, #28]
+ ldrne r6, [sp, #68]
+ orr r3, r5, r3
+ strne r3, [r6, r0, asl #2]
+ add r0, r0, #1
+ cmp r4, r0
+ mov r1, r1, asl #8
+ bne .L11047
+ ldr r7, [sp, #68]
+ add r3, r7, ip, asl #2
+ sub r0, r3, #16
+.L11046:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L11052
+ ands r3, r1, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r0, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ strne r3, [r0, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r0, #4]
+ movs r3, r1, lsr #24
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r0, #0]
+.L11052:
+ add r0, r0, #16
+.L11038:
+ sub r2, r2, #64
+.L11033:
+ movs lr, lr, lsr #3
+ beq .L10373
+ mov ip, #0
+ b .L11062
+.L11190:
+ sub r2, r2, #64
+ add r0, r0, #32
+.L11062:
+ ldr r1, [r2, #4]
+ cmp r1, #0
+ beq .L11063
+ ands r3, r1, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r0, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r0, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r0, #4]
+ movs r3, r1, lsr #24
+ ldrne r1, [sp, #28]
+ orrne r3, r1, r3
+ strne r3, [r0, #0]
+.L11063:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L11072
+ ands r3, r1, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r0, #28]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r0, #24]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ strne r3, [r0, #20]
+ movs r3, r1, lsr #24
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r0, #16]
+.L11072:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L11190
+ b .L10373
+.L10449:
+ mov r3, r4, lsr #3
+ mov r2, r3, asl #5
+ ands r3, r4, #7
+ add lr, r0, r2
+ ldreq ip, [sp, #68]
+ beq .L10498
+ rsbs r4, r3, #8
+ ldr r0, [r0, r2]
+ ldreq ip, [sp, #68]
+ beq .L10501
+ mov r3, r3, asl #2
+ mov r0, r0, lsr r3
+ mov r2, #0
+.L10502:
+ ldr r6, [sp, #28]
+ ands r3, r0, #15
+ ldrne r7, [sp, #68]
+ orr r3, r6, r3
+ orr r3, r1, r3
+ strne r3, [r7, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, r4
+ mov r0, r0, lsr #4
+ bne .L10502
+ ldr r8, [sp, #68]
+ add ip, r8, r4, asl #2
+.L10501:
+ add lr, lr, #32
+.L10498:
+ movs r4, r5, lsr #3
+ beq .L10373
+ mov r0, #0
+ b .L10508
+.L11191:
+ add lr, lr, #32
+ add ip, ip, #32
+.L10508:
+ ldr r2, [lr, #0]
+ cmp r2, #0
+ beq .L10509
+ ands r3, r2, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #0]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #4]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #8]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #12]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #16]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ ldrne r6, [sp, #28]
+ orrne r3, r6, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #20]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #24]
+ movs r3, r2, lsr #28
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r1, r3
+ strne r3, [ip, #28]
+.L10509:
+ add r0, r0, #1
+ cmp r0, r4
+ bne .L11191
+ b .L10373
+.L10711:
+ ldr r1, [sp, #92]
+ rsb ip, r0, #8
+ cmp r1, ip
+ blt .L11192
+ cmp r0, #3
+ bls .L10744
+ cmp ip, #0
+ ldr r2, [r6, #4]
+ ldreq r4, [sp, #68]
+ beq .L10748
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L10749:
+ ands r3, r1, #255
+ ldr r8, [sp, #28]
+ ldrne lr, [sp, #68]
+ orr r3, r8, r3
+ strne r3, [lr, r2, asl #2]
+ add r2, r2, #1
+ cmp ip, r2
+ mov r1, r1, lsr #8
+ bne .L10749
+ ldr r0, [sp, #68]
+ add r4, r0, ip, asl #2
+.L10748:
+ ldr r3, [sp, #92]
+ add r6, r6, #64
+ rsb r5, ip, r3
+ b .L10713
+.L10581:
+ ldr r2, [sp, #92]
+ rsb r5, lr, #8
+ cmp r2, r5
+ blt .L11193
+ cmp r5, #0
+ ldr r2, [r0, #0]
+ ldreq ip, [sp, #68]
+ beq .L10594
+ mov r3, lr, asl #2
+ mov r4, r2, asl r3
+ mov lr, #0
+.L10595:
+ ldr r7, [sp, #28]
+ movs r3, r4, lsr #28
+ ldrne r8, [sp, #68]
+ orr r3, r7, r3
+ orr r3, r1, r3
+ strne r3, [r8, lr, asl #2]
+ add lr, lr, #1
+ cmp r5, lr
+ mov r4, r4, asl #4
+ bne .L10595
+ ldr lr, [sp, #68]
+ add ip, lr, r5, asl #2
+.L10594:
+ ldr r3, [sp, #92]
+ sub r0, r0, #32
+ rsb r2, r5, r3
+ b .L10583
+.L10451:
+ ldr r7, [sp, #92]
+ rsb lr, r3, #8
+ cmp r7, lr
+ blt .L11194
+ cmp lr, #0
+ ldr r2, [r5, #0]
+ ldreq r6, [sp, #68]
+ beq .L10464
+ mov r3, r3, asl #2
+ mov r2, r2, lsr r3
+ mov r0, #0
+.L10465:
+ ldr r4, [sp, #28]
+ ands r3, r2, #15
+ ldrne r6, [sp, #68]
+ orr r3, r4, r3
+ orr r3, r1, r3
+ strne r3, [r6, r0, asl #2]
+ add r0, r0, #1
+ cmp lr, r0
+ mov r2, r2, lsr #4
+ bne .L10465
+ ldr r7, [sp, #68]
+ add r6, r7, lr, asl #2
+.L10464:
+ ldr r8, [sp, #92]
+ add r5, r5, #32
+ rsb r7, lr, r8
+ b .L10453
+.L10931:
+ ldr r1, [sp, #92]
+ rsb ip, r0, #8
+ cmp r1, ip
+ blt .L11195
+ cmp r0, #3
+ bls .L10964
+ cmp ip, #0
+ ldr r2, [r6, #0]
+ ldreq r4, [sp, #68]
+ beq .L10968
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L10969:
+ movs r3, r2, lsr #24
+ ldr r8, [sp, #28]
+ ldrne lr, [sp, #68]
+ orr r3, r8, r3
+ strne r3, [lr, r1, asl #2]
+ add r1, r1, #1
+ cmp ip, r1
+ mov r2, r2, asl #8
+ bne .L10969
+ ldr r0, [sp, #68]
+ add r4, r0, ip, asl #2
+.L10968:
+ ldr r3, [sp, #92]
+ sub r6, r6, #64
+ rsb r5, ip, r3
+ b .L10933
+.L11195:
+ cmp r1, #0
+ ble .L10373
+ cmp r0, #3
+ bls .L10937
+ ldr r2, [r6, #0]
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L10940:
+ movs r3, r2, lsr #24
+ ldr r4, [sp, #28]
+ ldrne r5, [sp, #68]
+ orr r3, r4, r3
+ ldr r6, [sp, #92]
+ strne r3, [r5, r1, asl #2]
+ add r1, r1, #1
+ cmp r6, r1
+ mov r2, r2, asl #8
+ bne .L10940
+ b .L10373
+.L11194:
+ cmp r7, #0
+ ble .L10373
+ ldr r2, [r0, r2]
+ mov r3, r3, asl #2
+ mov r0, r2, lsr r3
+ mov r2, #0
+.L10458:
+ ldr r8, [sp, #28]
+ ands r3, r0, #15
+ ldrne ip, [sp, #68]
+ orr r3, r8, r3
+ orr r3, r1, r3
+ ldr lr, [sp, #92]
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp lr, r2
+ mov r0, r0, lsr #4
+ bne .L10458
+ b .L10373
+.L11193:
+ cmp r2, #0
+ ble .L10373
+ ldr r2, [r0, #0]
+ mov r3, lr, asl #2
+ mov r0, r2, asl r3
+ mov r2, #0
+.L10588:
+ ldr r4, [sp, #28]
+ movs r3, r0, lsr #28
+ ldrne r5, [sp, #68]
+ orr r3, r4, r3
+ orr r3, r1, r3
+ ldr r6, [sp, #92]
+ strne r3, [r5, r2, asl #2]
+ add r2, r2, #1
+ cmp r6, r2
+ mov r0, r0, asl #4
+ bne .L10588
+ b .L10373
+.L11189:
+ cmp ip, #0
+ ldr r1, [r2, #0]
+ ldreq r0, [sp, #68]
+ beq .L11038
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r1, r1, asl r3
+ mov r0, #0
+.L11039:
+ movs r3, r1, lsr #24
+ ldr r6, [sp, #28]
+ ldrne r7, [sp, #68]
+ orr r3, r6, r3
+ strne r3, [r7, r0, asl #2]
+ add r0, r0, #1
+ cmp r0, ip
+ mov r1, r1, asl #8
+ bne .L11039
+ ldr r8, [sp, #68]
+ sub r2, r2, #64
+ add r0, r8, ip, asl #2
+ b .L11033
+.L11186:
+ cmp ip, #0
+ ldr r1, [r0, #4]
+ ldreq r1, [sp, #68]
+ beq .L10818
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r2, r1, lsr r3
+ mov r1, #0
+.L10819:
+ ands r3, r2, #255
+ ldr r6, [sp, #28]
+ ldrne r7, [sp, #68]
+ orr r3, r6, r3
+ strne r3, [r7, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, ip
+ mov r2, r2, lsr #8
+ bne .L10819
+ ldr r8, [sp, #68]
+ add r0, r0, #64
+ add r1, r8, ip, asl #2
+ b .L10813
+.L11192:
+ cmp r1, #0
+ ble .L10373
+ cmp r0, #3
+ bls .L10717
+ ldr r2, [r6, #4]
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L10720:
+ ands r3, r1, #255
+ ldr r4, [sp, #28]
+ ldrne r5, [sp, #68]
+ orr r3, r4, r3
+ ldr r6, [sp, #92]
+ strne r3, [r5, r2, asl #2]
+ add r2, r2, #1
+ cmp r6, r2
+ mov r1, r1, lsr #8
+ bne .L10720
+ b .L10373
+.L11199:
+ mov r6, #0
+ b .L10431
+.L10964:
+ subs lr, ip, #4
+ ldr r2, [r6, #4]
+ ldreq r1, [sp, #68]
+ beq .L10976
+ mov r3, r0, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L10977:
+ movs r3, r2, lsr #24
+ ldr r4, [sp, #28]
+ ldrne r5, [sp, #68]
+ orr r3, r4, r3
+ strne r3, [r5, r1, asl #2]
+ add r1, r1, #1
+ cmp lr, r1
+ mov r2, r2, asl #8
+ bne .L10977
+ ldr r7, [sp, #68]
+ add r3, r7, ip, asl #2
+ sub r1, r3, #16
+.L10976:
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L10982
+ ands r3, r2, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r1, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r0, [sp, #28]
+ orrne r3, r0, r3
+ strne r3, [r1, #4]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r1, #0]
+.L10982:
+ add r4, r1, #16
+ b .L10968
+.L10744:
+ subs lr, ip, #4
+ ldr r2, [r6, #0]
+ ldreq r1, [sp, #68]
+ beq .L10756
+ mov r3, r0, asl #3
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L10757:
+ ands r3, r1, #255
+ ldr r4, [sp, #28]
+ ldrne r5, [sp, #68]
+ orr r3, r4, r3
+ strne r3, [r5, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, lr
+ mov r1, r1, lsr #8
+ bne .L10757
+ ldr r7, [sp, #68]
+ add r3, r7, ip, asl #2
+ sub r1, r3, #16
+.L10756:
+ ldr r2, [r6, #4]
+ cmp r2, #0
+ beq .L10762
+ ands r3, r2, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r0, [sp, #28]
+ orrne r3, r0, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r1, #12]
+.L10762:
+ add r4, r1, #16
+ b .L10748
+.L11197:
+ ldr r5, [sp, #20]
+ b .L11162
+.L11196:
+ mov ip, fp
+ b .L11160
+.L10937:
+ ldr r7, [sp, #92]
+ mov r3, r0, asl #3
+ ldr r1, [r6, #4]
+ add r2, r7, r0
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L10944
+ cmp r7, #0
+ movne r2, #0
+ beq .L10373
+.L10960:
+ movs r3, r1, lsr #24
+ ldr r5, [sp, #28]
+ ldrne r6, [sp, #68]
+ orr r3, r5, r3
+ ldr r7, [sp, #92]
+ strne r3, [r6, r2, asl #2]
+ add r2, r2, #1
+ cmp r7, r2
+ mov r1, r1, asl #8
+ bne .L10960
+ b .L10373
+.L10717:
+ ldr r7, [sp, #92]
+ ldr r3, [r6, #0]
+ add r2, r7, r0
+ cmp r2, #4
+ mov r1, r0, asl #3
+ mov r2, r3, lsr r1
+ bhi .L10724
+ cmp r7, #0
+ movne r1, #0
+ beq .L10373
+.L10740:
+ ands r3, r2, #255
+ ldr r5, [sp, #28]
+ ldrne r6, [sp, #68]
+ orr r3, r5, r3
+ ldr r7, [sp, #92]
+ strne r3, [r6, r1, asl #2]
+ add r1, r1, #1
+ cmp r7, r1
+ mov r2, r2, lsr #8
+ bne .L10740
+ b .L10373
+.L10944:
+ rsbs r0, r0, #4
+ ldreq ip, [sp, #68]
+ beq .L10949
+ mov r2, #0
+.L10950:
+ movs r3, r1, lsr #24
+ ldr r8, [sp, #28]
+ ldrne ip, [sp, #68]
+ orr r3, r8, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, r0
+ mov r1, r1, asl #8
+ bne .L10950
+ ldr lr, [sp, #68]
+ add ip, lr, r0, asl #2
+.L10949:
+ ldr r1, [sp, #92]
+ ldr r2, [r6, #0]
+ subs r0, r1, r0
+ beq .L10373
+ mov r1, #0
+.L10956:
+ ldr r4, [sp, #28]
+ movs r3, r2, lsr #24
+ orr r3, r4, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, asl #8
+ bne .L10956
+ b .L10373
+.L10724:
+ rsbs r0, r0, #4
+ ldreq ip, [sp, #68]
+ beq .L10729
+ mov r1, #0
+.L10730:
+ ands r3, r2, #255
+ ldr r8, [sp, #28]
+ ldrne ip, [sp, #68]
+ orr r3, r8, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, lsr #8
+ bne .L10730
+ ldr lr, [sp, #68]
+ add ip, lr, r0, asl #2
+.L10729:
+ ldr r1, [sp, #92]
+ ldr r2, [r6, #4]
+ subs r0, r1, r0
+ beq .L10373
+ mov r1, #0
+.L10736:
+ ldr r4, [sp, #28]
+ ands r3, r2, #255
+ orr r3, r4, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, lsr #8
+ bne .L10736
+ b .L10373
+ .size render_scanline_obj_color32_2D, .-render_scanline_obj_color32_2D
+ .align 2
+ .global render_scanline_obj_alpha_obj_1D
+ .type render_scanline_obj_alpha_obj_1D, %function
+render_scanline_obj_alpha_obj_1D:
+ @ args = 0, pretend = 0, frame = 96
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r5, .L12434
+ sub sp, sp, #96
+ ldrh lr, [r5, #80]
+ mov r4, r0
+ mov ip, lr, lsr #11
+ and ip, ip, #2
+ mov lr, lr, asl #27
+ orr ip, ip, lr, lsr #31
+ mov ip, ip, asl #9
+ orr ip, ip, #256
+ tst ip, #512
+ str r1, [sp, #8]
+ str ip, [sp, #20]
+ str r2, [sp, #4]
+ str r3, [sp, #0]
+ beq .L12407
+ ldrh r5, [r5, #6]
+ add r3, r0, r0, asl #2
+ ldr r2, .L12434+4
+ add r3, r5, r3, asl #5
+ ldr r2, [r2, r3, asl #2]
+ str r5, [sp, #32]
+ str r2, [sp, #36]
+ cmp r2, #0
+ ldr r2, .L12434+8
+ add r3, r2, r3, asl #7
+ str r3, [sp, #40]
+ beq .L12381
+ ldr r1, [sp, #8]
+ ldmia sp, {r0, r2} @ phole ldm
+ mov r3, #0
+ add r0, r0, r1, asl #2
+ rsb r2, r1, r2
+ str r0, [sp, #68]
+ str r2, [sp, #92]
+ str r3, [sp, #24]
+ mov r4, r3
+.L11207:
+ ldr r5, [sp, #40]
+ ldr r6, .L12434+20
+ ldrb r3, [r4, r5] @ zero_extendqisi2
+ ldr r8, .L12434+12
+ mov r3, r3, asl #3
+ ldrh lr, [r3, r6]
+ add r3, r3, r6
+ ldrh r4, [r3, #2]
+ and r0, lr, #255
+ mov r5, lr, lsr #12
+ and r2, r5, #12
+ cmp r0, #160
+ ldrh r3, [r3, #4]
+ ldr sl, .L12434+16
+ orr r1, r2, r4, lsr #14
+ subgt r0, r0, #256
+ mov r2, r4, asl #23
+ tst lr, #256
+ str r3, [sp, #28]
+ mov r6, r2, asr #23
+ ldr r7, [r8, r1, asl #2]
+ ldr r9, [sl, r1, asl #2]
+ beq .L11210
+ tst lr, #8192
+ beq .L11212
+ ldr fp, .L12434+20
+ mov r3, r4, lsr #4
+ add r2, r7, r7, lsr #31
+ and r3, r3, #992
+ tst lr, #512
+ add r3, r3, fp
+ mov lr, r2, asr #1
+ add r1, r9, r9, lsr #31
+ ldr r2, [sp, #8]
+ mov r4, r1, asr #1
+ ldrh sl, [r3, #30]
+ ldrh r5, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh r3, [r3, #22]
+ moveq r8, r7
+ moveq fp, lr
+ moveq ip, r4
+ movne r8, r7, asl #1
+ movne fp, lr, asl #1
+ movne ip, r4, asl #1
+ cmp r6, r2
+ str r3, [sp, #12]
+ bge .L11217
+ rsb r2, r6, r2
+ rsb r8, r2, r8
+ cmp r8, #0
+ ble .L11219
+ ldr r6, [sp, #8]
+ rsb fp, r2, fp
+.L11217:
+ ldr r2, [sp, #4]
+ add r3, r6, r8
+ cmp r3, r2
+ blt .L11221
+ rsb r8, r6, r2
+ cmp r8, #0
+ ble .L11219
+.L11221:
+ mov r3, r5, asl #16
+ mov r2, r1, asl #16
+ ldr r5, [sp, #12]
+ mov r1, sl, asl #16
+ mov lr, lr, asl #8
+ add r0, r0, ip
+ str lr, [sp, #80]
+ mov ip, r1, asr #16
+ ldr lr, [sp, #0]
+ ldr r1, [sp, #32]
+ cmp r5, #0
+ mov r2, r2, asr #16
+ add r5, lr, r6, asl #2
+ mov sl, r3, asr #16
+ str r2, [sp, #44]
+ mov r4, r4, asl #8
+ rsb lr, r0, r1
+ bne .L11223
+ mla r3, lr, ip, r4
+ mov r0, r3, asr #8
+ cmp r0, r9
+ bcs .L11219
+ cmp r7, #0
+ ldr r4, [sp, #28]
+ add r3, r7, #7
+ movge r3, r7
+ mov r3, r3, asr #3
+ mov r2, r4, asl #22
+ mov r3, r3, asl #1
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ mla ip, r3, r1, r2
+ and r0, r0, #7
+ ldr r3, .L12434+24
+ add r0, r0, ip, asl #2
+ cmp r8, #0
+ add r6, r3, r0, asl #3
+ ble .L11219
+ ldr r3, [sp, #44]
+ mul r2, sl, fp
+ mul r3, lr, r3
+ ldr r9, [sp, #80]
+ rsb r3, r2, r3
+ add r0, r9, r3
+ mov r2, r0, asr #8
+ cmp r7, r2
+ ldrls lr, [sp, #12]
+ bls .L11229
+ b .L12431
+.L11230:
+ cmp r7, r2
+ bhi .L12395
+.L11229:
+ add lr, lr, #1
+ add r0, r0, sl
+ cmp r8, lr
+ mov r2, r0, asr #8
+ add r5, r5, #4
+ bne .L11230
+.L11219:
+ ldr r9, [sp, #24]
+ ldr sl, [sp, #36]
+ add r9, r9, #1
+ cmp r9, sl
+ str r9, [sp, #24]
+ beq .L12381
+ ldr r4, [sp, #24]
+ b .L11207
+.L11210:
+ ldr r1, [sp, #32]
+ tst r4, #8192
+ rsb ip, r0, r1
+ rsbne r3, ip, r9
+ subne ip, r3, #1
+ mov r2, r4, asl #19
+ and r3, r5, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L11219
+ .p2align 2
+.L11300:
+ .word .L11296
+ .word .L11297
+ .word .L11298
+ .word .L11299
+.L11296:
+ ldr r4, [sp, #28]
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, r4, asl #22
+ movge r3, r7
+ mov r5, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r3, ip, lsr #3
+ mla r0, r5, r3, r2
+ ldr r8, [sp, #8]
+ and r1, ip, #7
+ ldr r3, .L12434+24
+ add r1, r1, r0, asl #3
+ cmp r6, r8
+ mov r2, r4, lsr #8
+ add r0, r3, r1, asl #2
+ and r8, r2, #240
+ bge .L11301
+ ldr r9, [sp, #8]
+ rsb lr, r6, r9
+ rsb r5, lr, r7
+ cmp r5, #0
+ ble .L11219
+ ldr sl, [sp, #4]
+ add r3, r6, r7
+ cmp sl, r3
+ bhi .L11304
+ mov r3, lr, lsr #3
+ mov r1, r3, asl #5
+ ands r3, lr, #7
+ add r6, r0, r1
+ bne .L11306
+ ldr sl, [sp, #92]
+ ldr r4, [sp, #68]
+.L11308:
+ movs r7, sl, lsr #3
+ beq .L11329
+ mov r0, r4
+ mov lr, r6
+ mov r5, #0
+.L11331:
+ ldr r1, [lr, #0]
+ cmp r1, #0
+ beq .L11332
+ ands r3, r1, #15
+ beq .L11334
+ ldr r2, [r0, #0]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L11334:
+ mov r3, r1, lsr #4
+ ands r3, r3, #15
+ beq .L11338
+ ldr r2, [r0, #4]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L11338:
+ mov r3, r1, lsr #8
+ ands r3, r3, #15
+ beq .L11342
+ ldr r2, [r0, #8]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L11342:
+ mov r3, r1, lsr #12
+ ands r3, r3, #15
+ beq .L11346
+ ldr r2, [r0, #12]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L11346:
+ mov r3, r1, lsr #16
+ ands r3, r3, #15
+ beq .L11350
+ ldr r2, [r0, #16]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L11350:
+ mov r3, r1, lsr #20
+ ands r3, r3, #15
+ beq .L11354
+ ldr r2, [r0, #20]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L11354:
+ mov r3, r1, lsr #24
+ ands r3, r3, #15
+ beq .L11358
+ ldr r2, [r0, #24]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L11358:
+ movs r3, r1, lsr #28
+ beq .L11332
+ ldr r2, [r0, #28]
+ orr r1, r8, r3
+ tst r2, #256
+ ldrne ip, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r1
+ orrne r2, ip, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L11332:
+ add r5, r5, #1
+ cmp r5, r7
+ add lr, lr, #32
+ add r0, r0, #32
+ bne .L11331
+ mov r3, r7, asl #5
+ add r6, r6, r3
+ add r4, r4, r3
+.L11329:
+ ands r5, sl, #7
+ beq .L11219
+ ldr ip, [r6, #0]
+ mov lr, #0
+.L11367:
+ ands r3, ip, #15
+ beq .L11368
+ ldr r1, [r4, #0]
+ ldr sl, [sp, #20]
+ orr r2, r8, r3
+ mov r3, r1, lsr #16
+ orr r0, sl, r2
+ mov r3, r3, asl #16
+ orr r2, sl, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L11368:
+ add lr, lr, #1
+ cmp r5, lr
+ mov ip, ip, lsr #4
+ add r4, r4, #4
+ bne .L11367
+ b .L11219
+.L11297:
+ ldr r5, [sp, #28]
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, r5, asl #22
+ movge r3, r7
+ mov r5, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r1, ip, lsr #3
+ mla r0, r5, r1, r2
+ subs r3, r7, #8
+ submi r3, r7, #1
+ ldr r8, [sp, #8]
+ ldr r9, [sp, #28]
+ add r0, r0, r3, asr #3
+ and r2, ip, #7
+ ldr r3, .L12434+24
+ add r2, r2, r0, asl #3
+ cmp r6, r8
+ mov r1, r9, lsr #8
+ add r0, r3, r2, asl #2
+ and r8, r1, #240
+ bge .L11505
+ ldr sl, [sp, #8]
+ rsb lr, r6, sl
+ rsb sl, lr, r7
+ cmp sl, #0
+ ble .L11219
+ ldr fp, [sp, #4]
+ add r3, r6, r7
+ cmp fp, r3
+ bhi .L11508
+ mov r3, lr, lsr #3
+ ands r4, lr, #7
+ sub ip, r0, r3, asl #5
+ bne .L11510
+ ldr sl, [sp, #92]
+ ldr r5, [sp, #68]
+.L11512:
+ movs r7, sl, lsr #3
+ beq .L11533
+ mov r0, r5
+ mov r4, ip
+ mov r6, #0
+.L11535:
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L11536
+ ands r3, r1, #15
+ beq .L11538
+ ldr r2, [r0, #28]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L11538:
+ mov r3, r1, lsr #4
+ ands r3, r3, #15
+ beq .L11542
+ ldr r2, [r0, #24]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L11542:
+ mov r3, r1, lsr #8
+ ands r3, r3, #15
+ beq .L11546
+ ldr r2, [r0, #20]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L11546:
+ mov r3, r1, lsr #12
+ ands r3, r3, #15
+ beq .L11550
+ ldr r2, [r0, #16]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L11550:
+ mov r3, r1, lsr #16
+ ands r3, r3, #15
+ beq .L11554
+ ldr r2, [r0, #12]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L11554:
+ mov r3, r1, lsr #20
+ ands r3, r3, #15
+ beq .L11558
+ ldr r2, [r0, #8]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L11558:
+ mov r3, r1, lsr #24
+ ands r3, r3, #15
+ beq .L11562
+ ldr r2, [r0, #4]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L11562:
+ movs r3, r1, lsr #28
+ beq .L11536
+ ldr r2, [r0, #0]
+ orr r1, r8, r3
+ tst r2, #256
+ ldrne lr, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r1
+ orrne r2, lr, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L11536:
+ add r6, r6, #1
+ cmp r7, r6
+ sub r4, r4, #32
+ add r0, r0, #32
+ bne .L11535
+ rsb r3, r7, r7, asl #27
+ add ip, ip, r3, asl #5
+ add r5, r5, r7, asl #5
+.L11533:
+ ands r4, sl, #7
+ beq .L11219
+ ldr ip, [ip, #0]
+ mov lr, #0
+.L11571:
+ movs r3, ip, lsr #28
+ beq .L11572
+ ldr r1, [r5, #0]
+ ldr sl, [sp, #20]
+ orr r2, r8, r3
+ mov r3, r1, lsr #16
+ orr r0, sl, r2
+ mov r3, r3, asl #16
+ orr r2, sl, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r5, #0]
+ streq r2, [r5, #0]
+.L11572:
+ add lr, lr, #1
+ cmp r4, lr
+ mov ip, ip, asl #4
+ add r5, r5, #4
+ bne .L11571
+ b .L11219
+.L11298:
+ ldr r5, [sp, #28]
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, ip, lsr #3
+ movge r3, r7
+ mov r1, r5, asl #22
+ mov r4, r3, asr #3
+ mov r2, r2, asl #1
+ mov r1, r1, lsr #22
+ mla r0, r2, r4, r1
+ and r3, ip, #7
+ add r3, r3, r0, asl #2
+ ldr r8, [sp, #8]
+ mov r0, r3, asl #3
+ ldr r3, .L12434+24
+ cmp r6, r8
+ add ip, r0, r3
+ bge .L11709
+ rsb r0, r6, r8
+ rsb r8, r0, r7
+ cmp r8, #0
+ ble .L11219
+ ldr r9, [sp, #4]
+ add r3, r6, r7
+ cmp r9, r3
+ bhi .L11712
+ mov r3, r0, lsr #3
+ ands lr, r0, #7
+ add r7, ip, r3, asl #6
+ bne .L11714
+ ldr r6, [sp, #92]
+ ldr r4, [sp, #68]
+.L11716:
+ movs r5, r6, lsr #3
+ beq .L11794
+ mov r1, r4
+ mov ip, r7
+ mov lr, #0
+.L11796:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L11797
+ ands r0, r2, #255
+ beq .L11799
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L11799:
+ mov r3, r2, lsr #8
+ ands r0, r3, #255
+ beq .L11803
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L11803:
+ mov r3, r2, lsr #16
+ ands r0, r3, #255
+ beq .L11807
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L11807:
+ movs r0, r2, lsr #24
+ beq .L11797
+ ldr r2, [r1, #12]
+ tst r2, #256
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r0
+ orrne r2, sl, r0
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L11797:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L11814
+ ands r0, r2, #255
+ beq .L11816
+ ldr r3, [r1, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L11816:
+ mov r3, r2, lsr #8
+ ands r0, r3, #255
+ beq .L11820
+ ldr r3, [r1, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L11820:
+ mov r3, r2, lsr #16
+ ands r0, r3, #255
+ beq .L11824
+ ldr r3, [r1, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L11824:
+ movs r2, r2, lsr #24
+ beq .L11814
+ ldr r3, [r1, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L11814:
+ add lr, lr, #1
+ cmp lr, r5
+ add ip, ip, #64
+ add r1, r1, #32
+ bne .L11796
+ add r7, r7, r5, asl #6
+ add r4, r4, r5, asl #5
+.L11794:
+ ands r5, r6, #7
+ beq .L11219
+ cmp r5, #3
+ ldrls ip, [r7, #0]
+ bls .L11853
+ ldr r2, [r7, #0]
+ cmp r2, #0
+ beq .L11835
+ ands r1, r2, #255
+ beq .L11837
+ ldr r3, [r4, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne ip, [sp, #20]
+ ldreq lr, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, ip, r3
+ orreq r3, lr, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L11837:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L11841
+ ldr r3, [r4, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r0, [sp, #20]
+ ldreq r6, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L11841:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L11845
+ ldr r3, [r4, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L11845:
+ movs r1, r2, lsr #24
+ beq .L11835
+ ldr r2, [r4, #12]
+ tst r2, #256
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r1
+ orrne r2, sl, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L11835:
+ subs r5, r5, #4
+ ldr ip, [r7, #4]
+ addne r4, r4, #16
+ beq .L11219
+.L11853:
+ mov lr, #0
+.L11854:
+ ands r3, ip, #255
+ beq .L11855
+ ldr r2, [r4, #0]
+ ldr r0, [sp, #20]
+ tst r2, #256
+ orr r1, r0, r3
+ orr r0, r0, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [r4, #0]
+ streq r1, [r4, #0]
+.L11855:
+ add lr, lr, #1
+ cmp r5, lr
+ mov ip, ip, lsr #8
+ add r4, r4, #4
+ bhi .L11854
+ b .L11219
+.L12435:
+ .align 2
+.L12434:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word obj_width_table
+ .word obj_height_table
+ .word oam_ram
+ .word vram+65536
+ .word vram+65472
+ .word vram+65600
+.L11299:
+ cmp r7, #0
+ add r2, r7, #7
+ movge r2, r7
+ subs r3, r7, #8
+ submi r3, r7, #1
+ mov r5, r2, asr #3
+ mov r3, r3, asr #3
+ mov r1, ip, lsr #3
+ mla r0, r5, r1, r3
+ ldr sl, [sp, #28]
+ and r3, ip, #7
+ mov r2, sl, asl #22
+ mov r2, r2, lsr #22
+ add r2, r2, r0, asl #1
+ add r3, r3, r2, asl #2
+ ldr fp, [sp, #8]
+ mov r0, r3, asl #3
+ ldr r3, .L12434+24
+ cmp r6, fp
+ add ip, r0, r3
+ bge .L12045
+ rsb r0, r6, fp
+ rsb r8, r0, r7
+ cmp r8, #0
+ ble .L11219
+ ldr lr, [sp, #4]
+ add r3, r6, r7
+ cmp lr, r3
+ bhi .L12048
+ mov r3, r0, lsr #3
+ ands lr, r0, #7
+ sub r8, ip, r3, asl #6
+ bne .L12050
+ ldr r7, [sp, #92]
+ ldr r4, [sp, #68]
+.L12052:
+ movs r6, r7, lsr #3
+ beq .L12130
+ mov r0, r4
+ mov lr, r8
+ mov r5, #0
+.L12132:
+ ldr r2, [lr, #4]
+ cmp r2, #0
+ beq .L12133
+ ands r1, r2, #255
+ beq .L12135
+ ldr r3, [r0, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L12135:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L12139
+ ldr r3, [r0, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq ip, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, ip, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L12139:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L12143
+ ldr r3, [r0, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L12143:
+ movs r2, r2, lsr #24
+ beq .L12133
+ ldr r3, [r0, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq ip, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, ip, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L12133:
+ ldr r1, [lr, #0]
+ cmp r1, #0
+ beq .L12150
+ ands ip, r1, #255
+ beq .L12152
+ ldr r2, [r0, #28]
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L12152:
+ mov r3, r1, lsr #8
+ ands r2, r3, #255
+ beq .L12156
+ ldr r3, [r0, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq ip, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, ip, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L12156:
+ mov r3, r1, lsr #16
+ ands r2, r3, #255
+ beq .L12160
+ ldr r3, [r0, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L12160:
+ movs r1, r1, lsr #24
+ beq .L12150
+ ldr r2, [r0, #16]
+ tst r2, #256
+ ldrne fp, [sp, #20]
+ ldreq ip, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, ip, r1
+ orrne r2, fp, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L12150:
+ add r5, r5, #1
+ cmp r5, r6
+ sub lr, lr, #64
+ add r0, r0, #32
+ bne .L12132
+ rsb r3, r6, r6, asl #26
+ add r8, r8, r3, asl #6
+ add r4, r4, r6, asl #5
+.L12130:
+ ands r5, r7, #7
+ beq .L11219
+ cmp r5, #3
+ ldrls ip, [r8, #4]
+ bls .L12189
+ ldr r2, [r8, #4]
+ cmp r2, #0
+ beq .L12171
+ ands r1, r2, #255
+ beq .L12173
+ ldr r3, [r4, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne lr, [sp, #20]
+ ldreq r0, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r0, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L12173:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L12177
+ ldr r3, [r4, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r6, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L12177:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L12181
+ ldr r3, [r4, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L12181:
+ movs r2, r2, lsr #24
+ beq .L12171
+ ldr r3, [r4, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq ip, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, ip, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L12171:
+ subs r5, r5, #4
+ ldr ip, [r8, #0]
+ addne r4, r4, #16
+ beq .L11219
+.L12189:
+ mov lr, #0
+.L12190:
+ movs r3, ip, lsr #24
+ beq .L12191
+ ldr r2, [r4, #0]
+ ldr r0, [sp, #20]
+ tst r2, #256
+ orr r1, r0, r3
+ orr r0, r0, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [r4, #0]
+ streq r1, [r4, #0]
+.L12191:
+ add lr, lr, #1
+ cmp r5, lr
+ mov ip, ip, asl #8
+ add r4, r4, #4
+ bhi .L12190
+ b .L11219
+.L11212:
+ ldr ip, .L12434+20
+ mov r3, r4, lsr #4
+ add r2, r7, r7, lsr #31
+ and r3, r3, #992
+ tst lr, #512
+ add r3, r3, ip
+ mov lr, r2, asr #1
+ add r1, r9, r9, lsr #31
+ ldr r2, [sp, #8]
+ mov r4, r1, asr #1
+ ldrh sl, [r3, #30]
+ ldrh r8, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh r3, [r3, #22]
+ moveq fp, r7
+ moveq r5, lr
+ moveq ip, r4
+ movne fp, r7, asl #1
+ movne r5, lr, asl #1
+ movne ip, r4, asl #1
+ cmp r6, r2
+ str r3, [sp, #16]
+ bge .L11254
+ rsb r2, r6, r2
+ rsb fp, r2, fp
+ cmp fp, #0
+ ble .L11219
+ ldr r6, [sp, #8]
+ rsb r5, r2, r5
+.L11254:
+ ldr r2, [sp, #4]
+ add r3, r6, fp
+ cmp r3, r2
+ blt .L11257
+ rsb fp, r6, r2
+ cmp fp, #0
+ ble .L11219
+.L11257:
+ mov r3, r8, asl #16
+ mov r2, r1, asl #16
+ ldr r8, [sp, #16]
+ mov r1, sl, asl #16
+ ldr sl, [sp, #28]
+ mov lr, lr, asl #8
+ add ip, r0, ip
+ cmp r8, #0
+ mov r0, sl, lsr #8
+ mov r8, r1, asr #16
+ str lr, [sp, #88]
+ ldr r1, [sp, #32]
+ ldr lr, [sp, #0]
+ mov r3, r3, asr #16
+ mov r2, r2, asr #16
+ and r0, r0, #240
+ add sl, lr, r6, asl #2
+ str r3, [sp, #52]
+ str r2, [sp, #56]
+ mov r4, r4, asl #8
+ rsb lr, ip, r1
+ str r0, [sp, #84]
+ bne .L11259
+ mla r3, lr, r8, r4
+ mov r0, r3, asr #8
+ cmp r0, r9
+ bcs .L11219
+ ldr r4, [sp, #28]
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, r4, asl #22
+ movge r3, r7
+ mov r3, r3, asr #3
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ mla ip, r3, r1, r2
+ and r0, r0, #7
+ ldr r3, .L12434+24
+ add r0, r0, ip, asl #3
+ cmp fp, #0
+ add r6, r3, r0, asl #2
+ ble .L11219
+ ldr r3, [sp, #56]
+ ldr r2, [sp, #52]
+ mul r3, lr, r3
+ mul r2, r5, r2
+ ldr r5, [sp, #88]
+ rsb r3, r2, r3
+ add ip, r5, r3
+ mov r1, ip, asr #8
+ cmp r1, r7
+ ldrcc r4, [sp, #16]
+ ldrcs r4, [sp, #16]
+ bcs .L11266
+ b .L12397
+.L11267:
+ cmp r7, r2
+ bhi .L11268
+.L11266:
+ ldr r8, [sp, #52]
+ add r4, r4, #1
+ add ip, ip, r8
+ cmp fp, r4
+ mov r2, ip, asr #8
+ add sl, sl, #4
+ bne .L11267
+ b .L11219
+.L12381:
+ add sp, sp, #96
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L11223:
+ ldr r0, [sp, #28]
+ cmp r7, #0
+ add r1, r7, #7
+ mov r2, r0, asl #22
+ movge r1, r7
+ ldr r3, .L12434+24
+ mov r2, r2, lsr #22
+ mov r1, r1, asr #3
+ add r2, r3, r2, asl #5
+ mov r1, r1, asl #6
+ cmp r8, #0
+ str r2, [sp, #76]
+ str r1, [sp, #48]
+ ble .L11219
+ ldr r1, [sp, #12]
+ mul r2, lr, ip
+ mov r3, r1, asl #16
+ mov r6, r3, asr #16
+ ldr r3, [sp, #44]
+ mul r1, r6, fp
+ mul r0, sl, fp
+ mul r3, lr, r3
+ ldr fp, [sp, #80]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add ip, fp, r3
+ add lr, r4, r2
+ mov r1, ip, asr #8
+ mov r0, lr, asr #8
+ cmp r1, r7
+ cmpcc r0, r9
+ movcs r3, #0
+ movcc r3, #1
+ movcs r4, r3
+ bcs .L11241
+ b .L12432
+.L11242:
+ cmp r7, r1
+ cmphi r9, r0
+ bhi .L11244
+.L11241:
+ add r4, r4, #1
+ add ip, ip, sl
+ add lr, lr, r6
+ cmp r8, r4
+ mov r1, ip, asr #8
+ mov r0, lr, asr #8
+ add r5, r5, #4
+ bne .L11242
+ b .L11219
+.L12410:
+ and r3, r0, #7
+ mov r2, r1, asr #3
+ mov r3, r3, asl #3
+ add r3, r3, r2, asl #6
+ ldr r2, [sp, #76]
+ and r1, r1, #7
+ add r3, r3, r2
+ mov r2, r0, asr #3
+ ldr r0, [sp, #48]
+ mla r0, r2, r0, r3
+ ldrb r0, [r0, r1] @ zero_extendqisi2
+ cmp r0, #0
+ beq .L11247
+ ldr r3, [r5, #0]
+ ldr fp, [sp, #20]
+ mov r2, r3, lsr #16
+ mov r2, r2, asl #16
+ orr r2, fp, r2
+ orr r1, fp, r3, asl #16
+ tst r3, #256
+ orr r2, r0, r2
+ orr r1, r0, r1
+ strne r2, [r5, #0]
+ streq r1, [r5, #0]
+.L11247:
+ add r4, r4, #1
+ add ip, ip, sl
+ add lr, lr, r6
+ cmp r8, r4
+ mov r1, ip, asr #8
+ mov r0, lr, asr #8
+ add r5, r5, #4
+ ble .L11219
+.L11244:
+ cmp r9, r0
+ cmphi r7, r1
+ bhi .L12410
+ b .L11219
+.L11259:
+ ldr r3, [sp, #28]
+ cmp r7, #0
+ add r1, r7, #7
+ mov r2, r3, asl #22
+ movge r1, r7
+ ldr r3, .L12434+24
+ mov r2, r2, lsr #22
+ mov r1, r1, asr #3
+ add r2, r3, r2, asl #5
+ mov r1, r1, asl #5
+ cmp fp, #0
+ str r2, [sp, #72]
+ str r1, [sp, #64]
+ ble .L11219
+ ldr r6, [sp, #16]
+ ldr r0, [sp, #52]
+ mov r3, r6, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #60]
+ ldr r1, [sp, #60]
+ ldr r3, [sp, #56]
+ mul r2, lr, r8
+ mul r1, r5, r1
+ mul r0, r5, r0
+ mul r3, lr, r3
+ ldr r8, [sp, #88]
+ rsb r2, r1, r2
+ rsb r3, r0, r3
+ add r6, r8, r3
+ add r5, r4, r2
+ mov r3, r5, asr #8
+ mov r4, r6, asr #8
+ cmp r4, r7
+ cmpcc r3, r9
+ movcs r2, #0
+ movcc r2, #1
+ movcs r8, r2
+ bcs .L11281
+ b .L12433
+.L11282:
+ cmp r7, r4
+ cmphi r9, r3
+ bhi .L11284
+.L11281:
+ ldr ip, [sp, #52]
+ ldr lr, [sp, #60]
+ add r8, r8, #1
+ add r6, r6, ip
+ add r5, r5, lr
+ cmp fp, r8
+ mov r4, r6, asr #8
+ mov r3, r5, asr #8
+ add sl, sl, #4
+ bne .L11282
+ b .L11219
+.L12412:
+ ldr r2, [sp, #64]
+ and r0, r3, #7
+ and ip, r3, #7
+ mov r3, r3, asr #3
+ mul r2, r3, r2
+ ldr r3, [sp, #72]
+ ldr r1, [sp, #72]
+ add ip, r3, ip, asl #2
+ mov r3, r4, asr #3
+ add r0, r1, r0, asl #2
+ mov lr, r4, asr #1
+ mov r1, r4, asr #1
+ add r2, r2, r3, asl #5
+ tst r4, #1
+ add r3, r0, r2
+ and lr, lr, #3
+ add r0, ip, r2
+ and r1, r1, #3
+ ldreqb r3, [r0, r1] @ zero_extendqisi2
+ ldrneb r3, [r3, lr] @ zero_extendqisi2
+ andeq r0, r3, #15
+ movne r0, r3, lsr #4
+ ldr r4, [sp, #84]
+ cmp r0, #0
+ orr r0, r0, r4
+ beq .L11290
+ ldr r2, [sl, #0]
+ ldr ip, [sp, #20]
+ mov r3, r2, lsr #16
+ orr r1, ip, r0
+ mov r3, r3, asl #16
+ orr r0, ip, r0
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [sl, #0]
+ streq r0, [sl, #0]
+.L11290:
+ ldr lr, [sp, #52]
+ ldr r0, [sp, #60]
+ add r8, r8, #1
+ add r6, r6, lr
+ add r5, r5, r0
+ cmp fp, r8
+ add sl, sl, #4
+ mov r4, r6, asr #8
+ mov r3, r5, asr #8
+ ble .L11219
+.L11284:
+ cmp r9, r3
+ cmphi r7, r4
+ bhi .L12412
+ b .L11219
+.L11269:
+ cmp r7, r1
+ bls .L11219
+.L12397:
+ mov r3, r1, asr #1
+ and lr, r3, #3
+ mov r3, r1, asr #3
+ mov r3, r3, asl #5
+ mov r2, r1, asr #1
+ tst r1, #1
+ and r0, r2, #3
+ add r1, r3, r6
+ add r2, r3, r6
+ ldreqb r3, [r2, r0] @ zero_extendqisi2
+ ldrneb r3, [r1, lr] @ zero_extendqisi2
+ andeq r2, r3, #15
+ movne r2, r3, lsr #4
+ ldr r9, [sp, #84]
+ cmp r2, #0
+ orr r3, r2, r9
+ beq .L11274
+ ldr r2, [sl, #0]
+ ldr lr, [sp, #20]
+ tst r2, #256
+ orr r1, lr, r3
+ orr r0, lr, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r1, r3, r1
+ orr r3, r0, r2, asl #16
+ strne r1, [sl, #0]
+ streq r3, [sl, #0]
+.L11274:
+ ldr r0, [sp, #52]
+ add r4, r4, #1
+ add ip, ip, r0
+ cmp fp, r4
+ add sl, sl, #4
+ mov r1, ip, asr #8
+ bgt .L11269
+ b .L11219
+.L11232:
+ cmp r7, r2
+ bls .L11219
+.L12395:
+ mov r3, r2, asr #3
+ add r3, r6, r3, asl #6
+ and r2, r2, #7
+ ldrb ip, [r3, r2] @ zero_extendqisi2
+ cmp ip, #0
+ beq .L11234
+ ldr r3, [r5, #0]
+ ldr fp, [sp, #20]
+ mov r2, r3, lsr #16
+ mov r2, r2, asl #16
+ orr r2, fp, r2
+ orr r1, fp, r3, asl #16
+ orr r4, ip, r2
+ tst r3, #256
+ orr r2, ip, r1
+ strne r4, [r5, #0]
+ streq r2, [r5, #0]
+.L11234:
+ add lr, lr, #1
+ add r0, r0, sl
+ cmp r8, lr
+ add r5, r5, #4
+ mov r2, r0, asr #8
+ bgt .L11232
+ b .L11219
+.L12045:
+ add r3, r6, r7
+ ldr r7, [sp, #4]
+ cmp r3, r7
+ bcs .L12413
+ cmp r5, #0
+ beq .L11219
+ ldr r2, [sp, #0]
+ ldr r3, .L12434+28
+ add r1, r2, r6, asl #2
+ add r0, r0, r3
+ mov r6, #0
+ b .L12345
+.L12414:
+ sub ip, ip, #64
+ add r1, r1, #32
+.L12345:
+ ldr r2, [r0, #68]
+ cmp r2, #0
+ beq .L12346
+ ands lr, r2, #255
+ beq .L12348
+ ldr r3, [r1, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r4, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L12348:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L12352
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L12352:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L12356
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L12356:
+ movs r2, r2, lsr #24
+ beq .L12346
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne lr, [sp, #20]
+ ldreq r4, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r4, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L12346:
+ ldr lr, [ip, #0]
+ cmp lr, #0
+ beq .L12363
+ ands r4, lr, #255
+ beq .L12365
+ ldr r2, [r1, #28]
+ tst r2, #256
+ ldrne r7, [sp, #20]
+ ldreq r8, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, r4
+ orrne r2, r7, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L12365:
+ mov r3, lr, lsr #8
+ ands r2, r3, #255
+ beq .L12369
+ ldr r3, [r1, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L12369:
+ mov r3, lr, lsr #16
+ ands r2, r3, #255
+ beq .L12373
+ ldr r3, [r1, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq r4, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, r4, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L12373:
+ movs lr, lr, lsr #24
+ beq .L12363
+ ldr r2, [r1, #16]
+ tst r2, #256
+ ldrne r7, [sp, #20]
+ ldreq r8, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, lr
+ orrne r2, r7, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L12363:
+ add r6, r6, #1
+ cmp r5, r6
+ sub r0, r0, #64
+ bne .L12414
+ b .L11219
+.L11709:
+ add r3, r6, r7
+ ldr r7, [sp, #4]
+ cmp r7, r3
+ bls .L12415
+ cmp r4, #0
+ beq .L11219
+ ldr fp, [sp, #0]
+ ldr r3, .L12434+32
+ add r1, fp, r6, asl #2
+ add r0, r0, r3
+ mov r5, #0
+ b .L12009
+.L12416:
+ add ip, ip, #64
+ add r1, r1, #32
+.L12009:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L12010
+ ands lr, r2, #255
+ beq .L12012
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r6, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L12012:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L12016
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L12016:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L12020
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L12020:
+ movs lr, r2, lsr #24
+ beq .L12010
+ ldr r2, [r1, #12]
+ tst r2, #256
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r7, lr
+ orrne r2, r6, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L12010:
+ ldr r2, [r0, #-60]
+ cmp r2, #0
+ beq .L12027
+ ands lr, r2, #255
+ beq .L12029
+ ldr r3, [r1, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L12029:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L12033
+ ldr r3, [r1, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L12033:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L12037
+ ldr r3, [r1, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r6, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L12037:
+ movs r2, r2, lsr #24
+ beq .L12027
+ ldr r3, [r1, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L12027:
+ add r5, r5, #1
+ cmp r4, r5
+ add r0, r0, #64
+ bne .L12416
+ b .L11219
+.L11505:
+ ldr r1, [sp, #4]
+ add r3, r6, r7
+ cmp r1, r3
+ bls .L12417
+ cmp r5, #0
+ beq .L11219
+ ldr fp, [sp, #0]
+ mov ip, #0
+ add r1, fp, r6, asl #2
+ b .L11674
+.L12418:
+ sub r0, r0, #32
+ add r1, r1, #32
+.L11674:
+ ldr lr, [r0, #0]
+ cmp lr, #0
+ beq .L11675
+ ands r3, lr, #15
+ beq .L11677
+ ldr r2, [r1, #28]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r7, r4
+ orrne r2, r6, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L11677:
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ beq .L11681
+ ldr r2, [r1, #24]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L11681:
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ beq .L11685
+ ldr r2, [r1, #20]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne fp, [sp, #20]
+ ldreq r6, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r6, r4
+ orrne r2, fp, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L11685:
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ beq .L11689
+ ldr r2, [r1, #16]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r7, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r4
+ orrne r2, r7, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L11689:
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ beq .L11693
+ ldr r2, [r1, #12]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r4
+ orrne r2, sl, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L11693:
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ beq .L11697
+ ldr r2, [r1, #8]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r7, r4
+ orrne r2, r6, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L11697:
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ beq .L11701
+ ldr r2, [r1, #4]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L11701:
+ movs r3, lr, lsr #28
+ beq .L11675
+ ldr r2, [r1, #0]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne fp, [sp, #20]
+ ldreq r4, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r4, lr
+ orrne r2, fp, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L11675:
+ add ip, ip, #1
+ cmp r5, ip
+ bne .L12418
+ b .L11219
+.L11301:
+ ldr lr, [sp, #4]
+ add r3, r6, r7
+ cmp lr, r3
+ bls .L12419
+ cmp r5, #0
+ beq .L11219
+ ldr fp, [sp, #0]
+ mov ip, #0
+ add r1, fp, r6, asl #2
+ b .L11470
+.L12420:
+ add r0, r0, #32
+ add r1, r1, #32
+.L11470:
+ ldr lr, [r0, #0]
+ cmp lr, #0
+ beq .L11471
+ ands r3, lr, #15
+ beq .L11473
+ ldr r2, [r1, #0]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r7, r4
+ orrne r2, r6, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L11473:
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ beq .L11477
+ ldr r2, [r1, #4]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L11477:
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ beq .L11481
+ ldr r2, [r1, #8]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne fp, [sp, #20]
+ ldreq r6, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r6, r4
+ orrne r2, fp, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L11481:
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ beq .L11485
+ ldr r2, [r1, #12]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r7, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r4
+ orrne r2, r7, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L11485:
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ beq .L11489
+ ldr r2, [r1, #16]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r4
+ orrne r2, sl, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L11489:
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ beq .L11493
+ ldr r2, [r1, #20]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r7, r4
+ orrne r2, r6, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L11493:
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ beq .L11497
+ ldr r2, [r1, #24]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L11497:
+ movs r3, lr, lsr #28
+ beq .L11471
+ ldr r2, [r1, #28]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne fp, [sp, #20]
+ ldreq r4, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r4, lr
+ orrne r2, fp, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L11471:
+ add ip, ip, #1
+ cmp r5, ip
+ bne .L12420
+ b .L11219
+.L12407:
+ add sp, sp, #96
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_obj_color32_1D
+.L12419:
+ rsb ip, r6, lr
+ cmp ip, #0
+ ble .L11219
+ ldr r1, [sp, #0]
+ movs sl, ip, lsr #3
+ add r7, r1, r6, asl #2
+ beq .L11425
+ mov r4, r7
+ mov r6, r0
+ mov r1, #0
+.L11427:
+ ldr lr, [r6, #0]
+ cmp lr, #0
+ beq .L11428
+ ands r3, lr, #15
+ beq .L11430
+ ldr r2, [r4, #0]
+ orr r5, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L11430:
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ beq .L11434
+ ldr r2, [r4, #4]
+ orr r5, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L11434:
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ beq .L11438
+ ldr r2, [r4, #8]
+ orr r5, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L11438:
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ beq .L11442
+ ldr r2, [r4, #12]
+ orr r5, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L11442:
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ beq .L11446
+ ldr r2, [r4, #16]
+ orr r5, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #16]
+ streq r3, [r4, #16]
+.L11446:
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ beq .L11450
+ ldr r2, [r4, #20]
+ orr r5, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #20]
+ streq r3, [r4, #20]
+.L11450:
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ beq .L11454
+ ldr r2, [r4, #24]
+ orr r5, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #24]
+ streq r3, [r4, #24]
+.L11454:
+ movs r3, lr, lsr #28
+ beq .L11428
+ ldr r2, [r4, #28]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r5, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, lr
+ orrne r2, r5, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #28]
+ streq r3, [r4, #28]
+.L11428:
+ add r1, r1, #1
+ cmp sl, r1
+ add r6, r6, #32
+ add r4, r4, #32
+ bne .L11427
+ mov r3, sl, asl #5
+ add r0, r0, r3
+ add r7, r7, r3
+.L11425:
+ ands r4, ip, #7
+ beq .L11219
+ ldr ip, [r0, #0]
+ mov lr, #0
+.L11463:
+ ands r3, ip, #15
+ beq .L11464
+ ldr r1, [r7, #0]
+ ldr sl, [sp, #20]
+ orr r2, r8, r3
+ mov r3, r1, lsr #16
+ orr r0, sl, r2
+ mov r3, r3, asl #16
+ orr r2, sl, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r7, #0]
+ streq r2, [r7, #0]
+.L11464:
+ add lr, lr, #1
+ cmp r4, lr
+ mov ip, ip, lsr #4
+ add r7, r7, #4
+ bne .L11463
+ b .L11219
+.L12417:
+ rsb sl, r6, r1
+ cmp sl, #0
+ ble .L11219
+ ldr r2, [sp, #0]
+ movs r7, sl, lsr #3
+ add r6, r2, r6, asl #2
+ beq .L11629
+ mov lr, r6
+ mov r5, r0
+ mov ip, #0
+.L11631:
+ ldr r1, [r5, #0]
+ cmp r1, #0
+ beq .L11632
+ ands r3, r1, #15
+ beq .L11634
+ ldr r2, [lr, #28]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [lr, #28]
+ streq r3, [lr, #28]
+.L11634:
+ mov r3, r1, lsr #4
+ ands r3, r3, #15
+ beq .L11638
+ ldr r2, [lr, #24]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [lr, #24]
+ streq r3, [lr, #24]
+.L11638:
+ mov r3, r1, lsr #8
+ ands r3, r3, #15
+ beq .L11642
+ ldr r2, [lr, #20]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [lr, #20]
+ streq r3, [lr, #20]
+.L11642:
+ mov r3, r1, lsr #12
+ ands r3, r3, #15
+ beq .L11646
+ ldr r2, [lr, #16]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [lr, #16]
+ streq r3, [lr, #16]
+.L11646:
+ mov r3, r1, lsr #16
+ ands r3, r3, #15
+ beq .L11650
+ ldr r2, [lr, #12]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [lr, #12]
+ streq r3, [lr, #12]
+.L11650:
+ mov r3, r1, lsr #20
+ ands r3, r3, #15
+ beq .L11654
+ ldr r2, [lr, #8]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [lr, #8]
+ streq r3, [lr, #8]
+.L11654:
+ mov r3, r1, lsr #24
+ ands r3, r3, #15
+ beq .L11658
+ ldr r2, [lr, #4]
+ orr r4, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [lr, #4]
+ streq r3, [lr, #4]
+.L11658:
+ movs r3, r1, lsr #28
+ beq .L11632
+ ldr r2, [lr, #0]
+ orr r1, r8, r3
+ tst r2, #256
+ ldrne r4, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r1
+ orrne r2, r4, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [lr, #0]
+ streq r3, [lr, #0]
+.L11632:
+ add ip, ip, #1
+ cmp r7, ip
+ sub r5, r5, #32
+ add lr, lr, #32
+ bne .L11631
+ rsb r3, r7, r7, asl #27
+ add r0, r0, r3, asl #5
+ add r6, r6, r7, asl #5
+.L11629:
+ ands r4, sl, #7
+ beq .L11219
+ ldr ip, [r0, #0]
+ mov lr, #0
+.L11667:
+ movs r3, ip, lsr #28
+ beq .L11668
+ ldr r1, [r6, #0]
+ ldr sl, [sp, #20]
+ orr r2, r8, r3
+ mov r3, r1, lsr #16
+ orr r0, sl, r2
+ mov r3, r3, asl #16
+ orr r2, sl, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r6, #0]
+ streq r2, [r6, #0]
+.L11668:
+ add lr, lr, #1
+ cmp r4, lr
+ mov ip, ip, asl #4
+ add r6, r6, #4
+ bne .L11667
+ b .L11219
+.L12415:
+ rsb r8, r6, r7
+ cmp r8, #0
+ ble .L11219
+ ldr r9, [sp, #0]
+ movs r7, r8, lsr #3
+ add r6, r9, r6, asl #2
+ beq .L11942
+ ldr r3, .L12436
+ mov lr, r6
+ add r0, r0, r3
+ mov r5, ip
+ mov r1, #0
+.L11944:
+ ldr r2, [r5, #0]
+ cmp r2, #0
+ beq .L11945
+ ands r4, r2, #255
+ beq .L11947
+ ldr r3, [lr, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r4, r3
+ strne r3, [lr, #0]
+ streq r3, [lr, #0]
+.L11947:
+ mov r3, r2, lsr #8
+ ands r4, r3, #255
+ beq .L11951
+ ldr r3, [lr, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r4, r3
+ strne r3, [lr, #4]
+ streq r3, [lr, #4]
+.L11951:
+ mov r3, r2, lsr #16
+ ands r4, r3, #255
+ beq .L11955
+ ldr r3, [lr, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r4, r3
+ strne r3, [lr, #8]
+ streq r3, [lr, #8]
+.L11955:
+ movs r4, r2, lsr #24
+ beq .L11945
+ ldr r2, [lr, #12]
+ tst r2, #256
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r4
+ orrne r2, sl, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [lr, #12]
+ streq r3, [lr, #12]
+.L11945:
+ ldr r2, [r0, #-60]
+ cmp r2, #0
+ beq .L11962
+ ands r4, r2, #255
+ beq .L11964
+ ldr r3, [lr, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r4, r3
+ strne r3, [lr, #16]
+ streq r3, [lr, #16]
+.L11964:
+ mov r3, r2, lsr #8
+ ands r4, r3, #255
+ beq .L11968
+ ldr r3, [lr, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r4, r3
+ strne r3, [lr, #20]
+ streq r3, [lr, #20]
+.L11968:
+ mov r3, r2, lsr #16
+ ands r4, r3, #255
+ beq .L11972
+ ldr r3, [lr, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r4, r3
+ strne r3, [lr, #24]
+ streq r3, [lr, #24]
+.L11972:
+ movs r2, r2, lsr #24
+ beq .L11962
+ ldr r3, [lr, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r4, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [lr, #28]
+ streq r3, [lr, #28]
+.L11962:
+ add r1, r1, #1
+ cmp r7, r1
+ add r5, r5, #64
+ add lr, lr, #32
+ add r0, r0, #64
+ bne .L11944
+ add ip, ip, r7, asl #6
+ add r6, r6, r7, asl #5
+.L11942:
+ ands r4, r8, #7
+ beq .L11219
+ cmp r4, #3
+ ldrls ip, [ip, #0]
+ bls .L12001
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L11983
+ ands r1, r2, #255
+ beq .L11985
+ ldr r3, [r6, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r6, #0]
+ streq r3, [r6, #0]
+.L11985:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L11989
+ ldr r3, [r6, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne lr, [sp, #20]
+ ldreq r0, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r0, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r6, #4]
+ streq r3, [r6, #4]
+.L11989:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L11993
+ ldr r3, [r6, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r6, #8]
+ streq r3, [r6, #8]
+.L11993:
+ movs r1, r2, lsr #24
+ beq .L11983
+ ldr r2, [r6, #12]
+ tst r2, #256
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r1
+ orrne r2, r8, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r6, #12]
+ streq r3, [r6, #12]
+.L11983:
+ subs r4, r4, #4
+ ldr ip, [ip, #4]
+ addne r6, r6, #16
+ beq .L11219
+.L12001:
+ mov lr, #0
+.L12002:
+ ands r3, ip, #255
+ beq .L12003
+ ldr r2, [r6, #0]
+ ldr sl, [sp, #20]
+ tst r2, #256
+ orr r1, sl, r3
+ orr r0, sl, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [r6, #0]
+ streq r1, [r6, #0]
+.L12003:
+ add lr, lr, #1
+ cmp lr, r4
+ mov ip, ip, lsr #8
+ add r6, r6, #4
+ bcc .L12002
+ b .L11219
+.L12413:
+ rsb sl, r6, r7
+ cmp sl, #0
+ ble .L11219
+ ldr r9, [sp, #0]
+ movs r8, sl, lsr #3
+ add r7, r9, r6, asl #2
+ beq .L12278
+ ldr r3, .L12436+4
+ mov r4, r7
+ add r0, r0, r3
+ mov r6, ip
+ mov r1, #0
+.L12280:
+ ldr r2, [r0, #68]
+ cmp r2, #0
+ beq .L12281
+ ands lr, r2, #255
+ beq .L12283
+ ldr r3, [r4, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq r5, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, r5, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L12283:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L12287
+ ldr r3, [r4, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L12287:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L12291
+ ldr r3, [r4, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L12291:
+ movs r2, r2, lsr #24
+ beq .L12281
+ ldr r3, [r4, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq lr, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, lr, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L12281:
+ ldr lr, [r6, #0]
+ cmp lr, #0
+ beq .L12298
+ ands r5, lr, #255
+ beq .L12300
+ ldr r2, [r4, #28]
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #28]
+ streq r3, [r4, #28]
+.L12300:
+ mov r3, lr, lsr #8
+ ands r2, r3, #255
+ beq .L12304
+ ldr r3, [r4, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r4, #24]
+ streq r3, [r4, #24]
+.L12304:
+ mov r3, lr, lsr #16
+ ands r2, r3, #255
+ beq .L12308
+ ldr r3, [r4, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq r5, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, r5, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r4, #20]
+ streq r3, [r4, #20]
+.L12308:
+ movs lr, lr, lsr #24
+ beq .L12298
+ ldr r2, [r4, #16]
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #16]
+ streq r3, [r4, #16]
+.L12298:
+ add r1, r1, #1
+ cmp r8, r1
+ sub r6, r6, #64
+ add r4, r4, #32
+ sub r0, r0, #64
+ bne .L12280
+ rsb r3, r8, r8, asl #26
+ add ip, ip, r3, asl #6
+ add r7, r7, r8, asl #5
+.L12278:
+ ands r4, sl, #7
+ beq .L11219
+ cmp r4, #3
+ ldrls ip, [ip, #4]
+ bls .L12337
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L12319
+ ands r1, r2, #255
+ beq .L12321
+ ldr r3, [r7, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne lr, [sp, #20]
+ ldreq r0, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r0, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r7, #12]
+ streq r3, [r7, #12]
+.L12321:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L12325
+ ldr r3, [r7, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #20]
+ ldreq r6, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r7, #8]
+ streq r3, [r7, #8]
+.L12325:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L12329
+ ldr r3, [r7, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r7, #4]
+ streq r3, [r7, #4]
+.L12329:
+ movs r2, r2, lsr #24
+ beq .L12319
+ ldr r3, [r7, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r7, #0]
+ streq r3, [r7, #0]
+.L12319:
+ subs r4, r4, #4
+ ldr ip, [ip, #0]
+ addne r7, r7, #16
+ beq .L11219
+.L12337:
+ mov lr, #0
+.L12338:
+ movs r3, ip, lsr #24
+ beq .L12339
+ ldr r2, [r7, #0]
+ ldr r0, [sp, #20]
+ tst r2, #256
+ orr r1, r0, r3
+ orr r0, r0, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [r7, #0]
+ streq r1, [r7, #0]
+.L12339:
+ add lr, lr, #1
+ cmp r4, lr
+ mov ip, ip, asl #8
+ add r7, r7, #4
+ bhi .L12338
+ b .L11219
+.L12048:
+ mov r3, r0, lsr #3
+ ands r2, r0, #7
+ sub r4, ip, r3, asl #6
+ ldreq r0, [sp, #68]
+ beq .L12198
+ cmp r2, #3
+ rsb r6, r2, #8
+ bhi .L12421
+ subs r7, r6, #4
+ ldr r1, [r4, #4]
+ ldreq r1, [sp, #68]
+ beq .L12213
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov ip, r1, asl r3
+ ldr lr, [sp, #68]
+ mov r5, #0
+.L12214:
+ movs r3, ip, lsr #24
+ beq .L12215
+ ldr r2, [lr, #0]
+ ldr r9, [sp, #20]
+ tst r2, #256
+ orr r1, r9, r3
+ orr r0, r9, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12215:
+ add r5, r5, #1
+ cmp r7, r5
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L12214
+ ldr sl, [sp, #68]
+ add r3, sl, r6, asl #2
+ sub r1, r3, #16
+.L12213:
+ ldr r2, [r4, #0]
+ cmp r2, #0
+ beq .L12221
+ ands r0, r2, #255
+ beq .L12223
+ ldr r3, [r1, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq ip, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, ip, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L12223:
+ mov r3, r2, lsr #8
+ ands r0, r3, #255
+ beq .L12227
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne lr, [sp, #20]
+ ldreq r5, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r5, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L12227:
+ mov r3, r2, lsr #16
+ ands r0, r3, #255
+ beq .L12231
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r6, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L12231:
+ movs r2, r2, lsr #24
+ beq .L12221
+ ldr r3, [r1, #0]
+ tst r3, #256
+ beq .L12236
+ mov r3, r3, lsr #16
+ ldr r9, [sp, #20]
+ mov r3, r3, asl #16
+ orr r3, r9, r3
+ orr r3, r2, r3
+ str r3, [r1, #0]
+.L12221:
+ add r0, r1, #16
+.L12203:
+ sub r4, r4, #64
+.L12198:
+ movs r5, r8, lsr #3
+ beq .L11219
+ mov lr, #0
+ b .L12239
+.L12422:
+ sub r4, r4, #64
+ add r0, r0, #32
+.L12239:
+ ldr r2, [r4, #4]
+ cmp r2, #0
+ beq .L12240
+ ands r1, r2, #255
+ beq .L12242
+ ldr r3, [r0, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne ip, [sp, #20]
+ ldreq r6, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, ip, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L12242:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L12246
+ ldr r3, [r0, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r7, [sp, #20]
+ ldreq r8, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r7, r3
+ orreq r3, r8, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L12246:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L12250
+ ldr r3, [r0, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L12250:
+ movs r2, r2, lsr #24
+ beq .L12240
+ ldr r3, [r0, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq ip, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, ip, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L12240:
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L12257
+ ands ip, r1, #255
+ beq .L12259
+ ldr r2, [r0, #28]
+ tst r2, #256
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r7, ip
+ orrne r2, r6, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L12259:
+ mov r3, r1, lsr #8
+ ands r2, r3, #255
+ beq .L12263
+ ldr r3, [r0, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L12263:
+ mov r3, r1, lsr #16
+ ands r2, r3, #255
+ beq .L12267
+ ldr r3, [r0, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L12267:
+ movs r1, r1, lsr #24
+ beq .L12257
+ ldr r2, [r0, #16]
+ tst r2, #256
+ ldrne ip, [sp, #20]
+ ldreq r6, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r6, r1
+ orrne r2, ip, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L12257:
+ add lr, lr, #1
+ cmp lr, r5
+ bne .L12422
+ b .L11219
+.L11712:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ add r4, ip, r3, asl #6
+ ldreq r1, [sp, #68]
+ beq .L11862
+ cmp r2, #3
+ rsb r6, r2, #8
+ bhi .L12423
+ subs r7, r6, #4
+ ldr r1, [r4, #0]
+ ldreq r1, [sp, #68]
+ beq .L11877
+ mov r3, r2, asl #3
+ mov ip, r1, lsr r3
+ ldr lr, [sp, #68]
+ mov r5, #0
+.L11878:
+ ands r3, ip, #255
+ beq .L11879
+ ldr r2, [lr, #0]
+ ldr r9, [sp, #20]
+ tst r2, #256
+ orr r1, r9, r3
+ orr r0, r9, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L11879:
+ add r5, r5, #1
+ cmp r7, r5
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L11878
+ ldr sl, [sp, #68]
+ add r3, sl, r6, asl #2
+ sub r1, r3, #16
+.L11877:
+ ldr r2, [r4, #4]
+ cmp r2, #0
+ beq .L11885
+ ands r0, r2, #255
+ beq .L11887
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq ip, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, ip, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L11887:
+ mov r3, r2, lsr #8
+ ands r0, r3, #255
+ beq .L11891
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne lr, [sp, #20]
+ ldreq r5, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r5, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L11891:
+ mov r3, r2, lsr #16
+ ands r0, r3, #255
+ beq .L11895
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r6, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L11895:
+ movs r2, r2, lsr #24
+ beq .L11885
+ ldr r3, [r1, #12]
+ tst r3, #256
+ beq .L11900
+ mov r3, r3, lsr #16
+ ldr r9, [sp, #20]
+ mov r3, r3, asl #16
+ orr r3, r9, r3
+ orr r3, r2, r3
+ str r3, [r1, #12]
+.L11885:
+ add r1, r1, #16
+.L11867:
+ add r4, r4, #64
+.L11862:
+ movs lr, r8, lsr #3
+ beq .L11219
+ mov ip, #0
+ b .L11903
+.L12424:
+ add r4, r4, #64
+ add r1, r1, #32
+.L11903:
+ ldr r2, [r4, #0]
+ cmp r2, #0
+ beq .L11904
+ ands r0, r2, #255
+ beq .L11906
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #20]
+ ldreq r6, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L11906:
+ mov r3, r2, lsr #8
+ ands r0, r3, #255
+ beq .L11910
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r7, [sp, #20]
+ ldreq r8, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r7, r3
+ orreq r3, r8, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L11910:
+ mov r3, r2, lsr #16
+ ands r0, r3, #255
+ beq .L11914
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L11914:
+ movs r0, r2, lsr #24
+ beq .L11904
+ ldr r2, [r1, #12]
+ tst r2, #256
+ ldrne fp, [sp, #20]
+ ldreq r5, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r5, r0
+ orrne r2, fp, r0
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L11904:
+ ldr r2, [r4, #4]
+ cmp r2, #0
+ beq .L11921
+ ands r0, r2, #255
+ beq .L11923
+ ldr r3, [r1, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r6, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L11923:
+ mov r3, r2, lsr #8
+ ands r0, r3, #255
+ beq .L11927
+ ldr r3, [r1, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L11927:
+ mov r3, r2, lsr #16
+ ands r0, r3, #255
+ beq .L11931
+ ldr r3, [r1, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L11931:
+ movs r2, r2, lsr #24
+ beq .L11921
+ ldr r3, [r1, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r0, [sp, #20]
+ ldreq r5, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r5, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L11921:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L12424
+ b .L11219
+.L11508:
+ ands r2, lr, #7
+ mov r3, lr, lsr #3
+ sub ip, r0, r3, asl #5
+ ldreq r0, [sp, #68]
+ beq .L11579
+ rsbs r6, r2, #8
+ ldr r1, [ip, #0]
+ ldreq r0, [sp, #68]
+ beq .L11582
+ mov r3, r2, asl #2
+ mov lr, r1, asl r3
+ ldr r4, [sp, #68]
+ mov r5, #0
+.L11583:
+ movs r3, lr, lsr #28
+ beq .L11584
+ ldr r1, [r4, #0]
+ ldr fp, [sp, #20]
+ orr r2, r8, r3
+ mov r3, r1, lsr #16
+ orr r0, fp, r2
+ mov r3, r3, asl #16
+ orr r2, fp, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L11584:
+ add r5, r5, #1
+ cmp r5, r6
+ mov lr, lr, asl #4
+ add r4, r4, #4
+ bne .L11583
+ ldr lr, [sp, #68]
+ add r0, lr, r6, asl #2
+.L11582:
+ sub ip, ip, #32
+.L11579:
+ movs r5, sl, lsr #3
+ beq .L11219
+ mov r4, #0
+ b .L11591
+.L12437:
+ .align 2
+.L12436:
+ .word vram+65600
+ .word vram+65472
+.L12425:
+ sub ip, ip, #32
+ add r0, r0, #32
+.L11591:
+ ldr r1, [ip, #0]
+ cmp r1, #0
+ beq .L11592
+ ands r3, r1, #15
+ beq .L11594
+ ldr r2, [r0, #28]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r7, lr
+ orrne r2, r6, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L11594:
+ mov r3, r1, lsr #4
+ ands r3, r3, #15
+ beq .L11598
+ ldr r2, [r0, #24]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L11598:
+ mov r3, r1, lsr #8
+ ands r3, r3, #15
+ beq .L11602
+ ldr r2, [r0, #20]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne fp, [sp, #20]
+ ldreq r6, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r6, lr
+ orrne r2, fp, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L11602:
+ mov r3, r1, lsr #12
+ ands r3, r3, #15
+ beq .L11606
+ ldr r2, [r0, #16]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r7, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, lr
+ orrne r2, r7, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L11606:
+ mov r3, r1, lsr #16
+ ands r3, r3, #15
+ beq .L11610
+ ldr r2, [r0, #12]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, lr
+ orrne r2, sl, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L11610:
+ mov r3, r1, lsr #20
+ ands r3, r3, #15
+ beq .L11614
+ ldr r2, [r0, #8]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r7, lr
+ orrne r2, r6, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L11614:
+ mov r3, r1, lsr #24
+ ands r3, r3, #15
+ beq .L11618
+ ldr r2, [r0, #4]
+ orr lr, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L11618:
+ movs r3, r1, lsr #28
+ beq .L11592
+ ldr r2, [r0, #0]
+ orr r1, r8, r3
+ tst r2, #256
+ ldrne fp, [sp, #20]
+ ldreq lr, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, lr, r1
+ orrne r2, fp, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L11592:
+ add r4, r4, #1
+ cmp r5, r4
+ bne .L12425
+ b .L11219
+.L11304:
+ mov r3, lr, lsr #3
+ mov r1, r3, asl #5
+ ands r3, lr, #7
+ add r6, r0, r1
+ ldreq r0, [sp, #68]
+ beq .L11375
+ rsbs r7, r3, #8
+ ldr r0, [r0, r1]
+ ldreq r0, [sp, #68]
+ beq .L11378
+ mov r3, r3, asl #2
+ mov ip, r0, lsr r3
+ ldr lr, [sp, #68]
+ mov r4, #0
+.L11379:
+ ands r3, ip, #15
+ beq .L11380
+ ldr r1, [lr, #0]
+ ldr fp, [sp, #20]
+ orr r2, r8, r3
+ mov r3, r1, lsr #16
+ orr r0, fp, r2
+ mov r3, r3, asl #16
+ orr r2, fp, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [lr, #0]
+ streq r2, [lr, #0]
+.L11380:
+ add r4, r4, #1
+ cmp r7, r4
+ mov ip, ip, lsr #4
+ add lr, lr, #4
+ bne .L11379
+ ldr ip, [sp, #68]
+ add r0, ip, r7, asl #2
+.L11378:
+ add r6, r6, #32
+.L11375:
+ movs r4, r5, lsr #3
+ beq .L11219
+ mov lr, #0
+ b .L11387
+.L12426:
+ add r6, r6, #32
+ add r0, r0, #32
+.L11387:
+ ldr r1, [r6, #0]
+ cmp r1, #0
+ beq .L11388
+ ands r3, r1, #15
+ beq .L11390
+ ldr r2, [r0, #0]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne r5, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r7, ip
+ orrne r2, r5, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L11390:
+ mov r3, r1, lsr #4
+ ands r3, r3, #15
+ beq .L11394
+ ldr r2, [r0, #4]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L11394:
+ mov r3, r1, lsr #8
+ ands r3, r3, #15
+ beq .L11398
+ ldr r2, [r0, #8]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne fp, [sp, #20]
+ ldreq r5, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r5, ip
+ orrne r2, fp, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L11398:
+ mov r3, r1, lsr #12
+ ands r3, r3, #15
+ beq .L11402
+ ldr r2, [r0, #12]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne r7, [sp, #20]
+ ldreq r9, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, ip
+ orrne r2, r7, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L11402:
+ mov r3, r1, lsr #16
+ ands r3, r3, #15
+ beq .L11406
+ ldr r2, [r0, #16]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, fp, ip
+ orrne r2, sl, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L11406:
+ mov r3, r1, lsr #20
+ ands r3, r3, #15
+ beq .L11410
+ ldr r2, [r0, #20]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne r5, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r7, ip
+ orrne r2, r5, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L11410:
+ mov r3, r1, lsr #24
+ ands r3, r3, #15
+ beq .L11414
+ ldr r2, [r0, #24]
+ orr ip, r8, r3
+ tst r2, #256
+ ldrne r9, [sp, #20]
+ ldreq sl, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L11414:
+ movs r3, r1, lsr #28
+ beq .L11388
+ ldr r2, [r0, #28]
+ orr r1, r8, r3
+ tst r2, #256
+ ldrne fp, [sp, #20]
+ ldreq ip, [sp, #20]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, ip, r1
+ orrne r2, fp, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L11388:
+ add lr, lr, #1
+ cmp r4, lr
+ bne .L12426
+ b .L11219
+.L11268:
+ mov r1, r2
+ b .L12397
+.L11510:
+ ldr lr, [sp, #92]
+ rsb r6, r4, #8
+ cmp lr, r6
+ blt .L12427
+ cmp r6, #0
+ ldr r2, [ip, #0]
+ ldreq r5, [sp, #68]
+ beq .L11525
+ mov r3, r4, asl #2
+ mov lr, r2, asl r3
+ ldr r4, [sp, #68]
+ mov r5, #0
+.L11526:
+ movs r3, lr, lsr #28
+ beq .L11527
+ ldr r1, [r4, #0]
+ ldr r7, [sp, #20]
+ orr r2, r8, r3
+ mov r3, r1, lsr #16
+ orr r0, r7, r2
+ mov r3, r3, asl #16
+ orr r2, r7, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L11527:
+ add r5, r5, #1
+ cmp r6, r5
+ mov lr, lr, asl #4
+ add r4, r4, #4
+ bne .L11526
+ ldr r9, [sp, #68]
+ add r5, r9, r6, asl #2
+.L11525:
+ ldr fp, [sp, #92]
+ sub ip, ip, #32
+ rsb sl, r6, fp
+ b .L11512
+.L12050:
+ ldr r0, [sp, #92]
+ rsb r5, lr, #8
+ cmp r0, r5
+ blt .L12428
+ cmp lr, #3
+ bls .L12091
+ cmp r5, #0
+ ldr r2, [r8, #0]
+ ldreq r4, [sp, #68]
+ beq .L12095
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov ip, r2, asl r3
+ ldr lr, [sp, #68]
+ mov r4, #0
+.L12096:
+ movs r3, ip, lsr #24
+ beq .L12097
+ ldr r2, [lr, #0]
+ ldr r7, [sp, #20]
+ tst r2, #256
+ orr r1, r7, r3
+ orr r0, r7, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12097:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L12096
+ ldr sl, [sp, #68]
+ add r4, sl, r5, asl #2
+.L12095:
+ ldr ip, [sp, #92]
+ sub r8, r8, #64
+ rsb r7, r5, ip
+ b .L12052
+.L11714:
+ ldr sl, [sp, #92]
+ rsb r5, lr, #8
+ cmp sl, r5
+ blt .L12429
+ cmp lr, #3
+ bls .L11755
+ cmp r5, #0
+ ldr r2, [r7, #4]
+ ldreq r4, [sp, #68]
+ beq .L11759
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #68]
+ mov r4, #0
+.L11760:
+ ands r3, ip, #255
+ beq .L11761
+ ldr r2, [lr, #0]
+ ldr r6, [sp, #20]
+ tst r2, #256
+ orr r1, r6, r3
+ orr r0, r6, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L11761:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L11760
+ ldr r9, [sp, #68]
+ add r4, r9, r5, asl #2
+.L11759:
+ ldr fp, [sp, #92]
+ add r7, r7, #64
+ rsb r6, r5, fp
+ b .L11716
+.L11306:
+ ldr fp, [sp, #92]
+ rsb r5, r3, #8
+ cmp fp, r5
+ blt .L12430
+ cmp r5, #0
+ ldr r2, [r6, #0]
+ ldreq r4, [sp, #68]
+ beq .L11321
+ mov r3, r3, asl #2
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #68]
+ mov r4, #0
+.L11322:
+ ands r3, ip, #15
+ beq .L11323
+ ldr r1, [lr, #0]
+ ldr r7, [sp, #20]
+ orr r2, r8, r3
+ mov r3, r1, lsr #16
+ orr r0, r7, r2
+ mov r3, r3, asl #16
+ orr r2, r7, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [lr, #0]
+ streq r2, [lr, #0]
+.L11323:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, lsr #4
+ add lr, lr, #4
+ bne .L11322
+ ldr r9, [sp, #68]
+ add r4, r9, r5, asl #2
+.L11321:
+ ldr fp, [sp, #92]
+ add r6, r6, #32
+ rsb sl, r5, fp
+ b .L11308
+.L12423:
+ cmp r6, #0
+ ldr r1, [r4, #4]
+ ldreq r1, [sp, #68]
+ beq .L11867
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov ip, r1, lsr r3
+ ldr lr, [sp, #68]
+ mov r5, #0
+.L11868:
+ ands r3, ip, #255
+ beq .L11869
+ ldr r2, [lr, #0]
+ ldr r7, [sp, #20]
+ tst r2, #256
+ orr r1, r7, r3
+ orr r0, r7, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L11869:
+ add r5, r5, #1
+ cmp r5, r6
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L11868
+ ldr sl, [sp, #68]
+ add r4, r4, #64
+ add r1, sl, r6, asl #2
+ b .L11862
+.L12430:
+ cmp fp, #0
+ ble .L11219
+ ldr r2, [r0, r1]
+ mov r3, r3, asl #2
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #68]
+ mov r4, #0
+.L11313:
+ ands r3, ip, #15
+ beq .L11314
+ ldr r1, [lr, #0]
+ orr r2, r8, r3
+ ldr r3, [sp, #20]
+ ldr r5, [sp, #20]
+ orr r0, r3, r2
+ mov r3, r1, lsr #16
+ mov r3, r3, asl #16
+ orr r2, r5, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [lr, #0]
+ streq r2, [lr, #0]
+.L11314:
+ ldr r6, [sp, #92]
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, lsr #4
+ add lr, lr, #4
+ bne .L11313
+ b .L11219
+.L12421:
+ cmp r6, #0
+ ldr r1, [r4, #0]
+ ldreq r0, [sp, #68]
+ beq .L12203
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov ip, r1, asl r3
+ ldr lr, [sp, #68]
+ mov r5, #0
+.L12204:
+ movs r3, ip, lsr #24
+ beq .L12205
+ ldr r2, [lr, #0]
+ ldr r7, [sp, #20]
+ tst r2, #256
+ orr r1, r7, r3
+ orr r0, r7, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12205:
+ add r5, r5, #1
+ cmp r5, r6
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L12204
+ ldr sl, [sp, #68]
+ sub r4, r4, #64
+ add r0, sl, r6, asl #2
+ b .L12198
+.L12428:
+ cmp r0, #0
+ ble .L11219
+ cmp lr, #3
+ bls .L12056
+ mov r3, lr, asl #3
+ ldr r2, [r8, #0]
+ sub r3, r3, #32
+ mov ip, r2, asl r3
+ ldr lr, [sp, #68]
+ mov r4, #0
+.L12059:
+ movs r3, ip, lsr #24
+ beq .L12060
+ ldr r2, [lr, #0]
+ ldr r5, [sp, #20]
+ tst r2, #256
+ orr r1, r5, r3
+ orr r0, r5, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12060:
+ ldr r6, [sp, #92]
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L12059
+ b .L11219
+.L12429:
+ cmp sl, #0
+ ble .L11219
+ cmp lr, #3
+ bls .L11720
+ mov r3, lr, asl #3
+ ldr r2, [r7, #4]
+ sub r3, r3, #32
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #68]
+ mov r4, #0
+.L11723:
+ ands r3, ip, #255
+ beq .L11724
+ ldr r2, [lr, #0]
+ ldr fp, [sp, #20]
+ tst r2, #256
+ orr r1, fp, r3
+ orr r0, fp, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L11724:
+ ldr r0, [sp, #92]
+ add r4, r4, #1
+ cmp r0, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L11723
+ b .L11219
+.L12427:
+ cmp lr, #0
+ ble .L11219
+ ldr r2, [ip, #0]
+ mov r3, r4, asl #2
+ mov ip, r2, asl r3
+ ldr lr, [sp, #68]
+ mov r4, #0
+.L11517:
+ movs r3, ip, lsr #28
+ beq .L11518
+ ldr r1, [lr, #0]
+ orr r2, r8, r3
+ ldr r3, [sp, #20]
+ ldr r5, [sp, #20]
+ orr r0, r3, r2
+ mov r3, r1, lsr #16
+ mov r3, r3, asl #16
+ orr r2, r5, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [lr, #0]
+ streq r2, [lr, #0]
+.L11518:
+ ldr r6, [sp, #92]
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, asl #4
+ add lr, lr, #4
+ bne .L11517
+ b .L11219
+.L12433:
+ mov r8, #0
+ b .L11284
+.L12432:
+ mov r4, #0
+ b .L11244
+.L12091:
+ subs r6, r5, #4
+ ldr r2, [r8, #4]
+ ldreq r2, [sp, #68]
+ beq .L12105
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov ip, r2, asl r3
+ ldr lr, [sp, #68]
+ mov r4, #0
+.L12106:
+ movs r3, ip, lsr #24
+ beq .L12107
+ ldr r2, [lr, #0]
+ ldr r9, [sp, #20]
+ tst r2, #256
+ orr r1, r9, r3
+ orr r0, r9, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12107:
+ add r4, r4, #1
+ cmp r4, r6
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L12106
+ ldr sl, [sp, #68]
+ add r3, sl, r5, asl #2
+ sub r2, r3, #16
+.L12105:
+ ldr r1, [r8, #0]
+ cmp r1, #0
+ beq .L12113
+ ands r0, r1, #255
+ beq .L12115
+ ldr r3, [r2, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne fp, [sp, #20]
+ ldreq ip, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, fp, r3
+ orreq r3, ip, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r2, #12]
+ streq r3, [r2, #12]
+.L12115:
+ mov r3, r1, lsr #8
+ ands r0, r3, #255
+ beq .L12119
+ ldr r3, [r2, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne lr, [sp, #20]
+ ldreq r4, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r4, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r2, #8]
+ streq r3, [r2, #8]
+.L12119:
+ mov r3, r1, lsr #16
+ ands r0, r3, #255
+ beq .L12123
+ ldr r3, [r2, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r6, [sp, #20]
+ ldreq r7, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r6, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r2, #4]
+ streq r3, [r2, #4]
+.L12123:
+ movs r1, r1, lsr #24
+ beq .L12113
+ ldr r3, [r2, #0]
+ tst r3, #256
+ beq .L12128
+ mov r3, r3, lsr #16
+ ldr r9, [sp, #20]
+ mov r3, r3, asl #16
+ orr r3, r9, r3
+ orr r3, r1, r3
+ str r3, [r2, #0]
+.L12113:
+ add r4, r2, #16
+ b .L12095
+.L11755:
+ subs r6, r5, #4
+ ldr r2, [r7, #0]
+ ldreq r2, [sp, #68]
+ beq .L11769
+ mov r3, lr, asl #3
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #68]
+ mov r4, #0
+.L11770:
+ ands r3, ip, #255
+ beq .L11771
+ ldr r2, [lr, #0]
+ ldr r8, [sp, #20]
+ tst r2, #256
+ orr r1, r8, r3
+ orr r0, r8, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L11771:
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L11770
+ ldr r9, [sp, #68]
+ add r3, r9, r5, asl #2
+ sub r2, r3, #16
+.L11769:
+ ldr r1, [r7, #4]
+ cmp r1, #0
+ beq .L11777
+ ands r0, r1, #255
+ beq .L11779
+ ldr r3, [r2, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #20]
+ ldreq fp, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, fp, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r2, #0]
+ streq r3, [r2, #0]
+.L11779:
+ mov r3, r1, lsr #8
+ ands r0, r3, #255
+ beq .L11783
+ ldr r3, [r2, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne ip, [sp, #20]
+ ldreq lr, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, ip, r3
+ orreq r3, lr, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r2, #4]
+ streq r3, [r2, #4]
+.L11783:
+ mov r3, r1, lsr #16
+ ands r0, r3, #255
+ beq .L11787
+ ldr r3, [r2, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r4, [sp, #20]
+ ldreq r6, [sp, #20]
+ movne r3, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r2, #8]
+ streq r3, [r2, #8]
+.L11787:
+ movs r1, r1, lsr #24
+ beq .L11777
+ ldr r3, [r2, #12]
+ tst r3, #256
+ beq .L11792
+ mov r3, r3, lsr #16
+ ldr r8, [sp, #20]
+ mov r3, r3, asl #16
+ orr r3, r8, r3
+ orr r3, r1, r3
+ str r3, [r2, #12]
+.L11777:
+ add r4, r2, #16
+ b .L11759
+.L12431:
+ ldr lr, [sp, #12]
+ b .L12395
+.L12056:
+ ldr r7, [sp, #92]
+ mov r3, lr, asl #3
+ ldr r1, [r8, #4]
+ add r2, r7, lr
+ sub r3, r3, #32
+ cmp r2, #4
+ mov ip, r1, asl r3
+ bhi .L12065
+ cmp r7, #0
+ ldrne lr, [sp, #68]
+ movne r4, #0
+ beq .L11219
+.L12085:
+ movs r3, ip, lsr #24
+ beq .L12086
+ ldr r2, [lr, #0]
+ ldr r5, [sp, #20]
+ tst r2, #256
+ orr r1, r5, r3
+ orr r0, r5, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12086:
+ ldr r6, [sp, #92]
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L12085
+ b .L11219
+.L11720:
+ ldr r1, [sp, #92]
+ ldr r3, [r7, #0]
+ add r2, r1, lr
+ cmp r2, #4
+ mov r1, lr, asl #3
+ mov ip, r3, lsr r1
+ bhi .L11729
+ ldr r2, [sp, #92]
+ cmp r2, #0
+ ldrne lr, [sp, #68]
+ movne r4, #0
+ beq .L11219
+.L11749:
+ ands r3, ip, #255
+ beq .L11750
+ ldr r2, [lr, #0]
+ ldr fp, [sp, #20]
+ tst r2, #256
+ orr r1, fp, r3
+ orr r0, fp, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L11750:
+ ldr r0, [sp, #92]
+ add r4, r4, #1
+ cmp r0, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L11749
+ b .L11219
+.L11729:
+ rsbs r5, lr, #4
+ ldreq lr, [sp, #68]
+ beq .L11734
+ ldr lr, [sp, #68]
+ mov r4, #0
+.L11735:
+ ands r3, ip, #255
+ beq .L11736
+ ldr r2, [lr, #0]
+ ldr r6, [sp, #20]
+ tst r2, #256
+ orr r1, r6, r3
+ orr r0, r6, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L11736:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L11735
+ ldr r8, [sp, #68]
+ add lr, r8, r5, asl #2
+.L11734:
+ ldr r9, [sp, #92]
+ ldr ip, [r7, #4]
+ subs r5, r9, r5
+ beq .L11219
+ mov r4, #0
+.L11743:
+ ands r3, ip, #255
+ beq .L11744
+ ldr r2, [lr, #0]
+ ldr sl, [sp, #20]
+ tst r2, #256
+ orr r1, sl, r3
+ orr r0, sl, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L11744:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L11743
+ b .L11219
+.L12065:
+ rsbs r5, lr, #4
+ ldreq lr, [sp, #68]
+ beq .L12070
+ ldr lr, [sp, #68]
+ mov r4, #0
+.L12071:
+ movs r3, ip, lsr #24
+ beq .L12072
+ ldr r2, [lr, #0]
+ ldr r9, [sp, #20]
+ tst r2, #256
+ orr r1, r9, r3
+ orr r0, r9, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12072:
+ add r4, r4, #1
+ cmp r4, r5
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L12071
+ ldr sl, [sp, #68]
+ add lr, sl, r5, asl #2
+.L12070:
+ ldr fp, [sp, #92]
+ ldr ip, [r8, #0]
+ subs r5, fp, r5
+ beq .L11219
+ mov r4, #0
+.L12079:
+ movs r3, ip, lsr #24
+ beq .L12080
+ ldr r2, [lr, #0]
+ ldr r0, [sp, #20]
+ tst r2, #256
+ orr r1, r0, r3
+ orr r0, r0, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12080:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L12079
+ b .L11219
+.L11900:
+ ldr fp, [sp, #20]
+ orr r3, fp, r3, asl #16
+ orr r3, r2, r3
+ str r3, [r1, #12]
+ add r1, r1, #16
+ b .L11867
+.L12236:
+ ldr fp, [sp, #20]
+ add r0, r1, #16
+ orr r3, fp, r3, asl #16
+ orr r3, r2, r3
+ str r3, [r1, #0]
+ b .L12203
+.L12128:
+ ldr fp, [sp, #20]
+ add r4, r2, #16
+ orr r3, fp, r3, asl #16
+ orr r3, r1, r3
+ str r3, [r2, #0]
+ b .L12095
+.L11792:
+ ldr sl, [sp, #20]
+ add r4, r2, #16
+ orr r3, sl, r3, asl #16
+ orr r3, r1, r3
+ str r3, [r2, #12]
+ b .L11759
+ .size render_scanline_obj_alpha_obj_1D, .-render_scanline_obj_alpha_obj_1D
+ .align 2
+ .global render_scanline_obj_alpha_obj_2D
+ .type render_scanline_obj_alpha_obj_2D, %function
+render_scanline_obj_alpha_obj_2D:
+ @ args = 0, pretend = 0, frame = 88
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r5, .L13670
+ sub sp, sp, #88
+ ldrh lr, [r5, #80]
+ mov r4, r0
+ mov ip, lr, lsr #11
+ and ip, ip, #2
+ mov lr, lr, asl #27
+ orr ip, ip, lr, lsr #31
+ mov ip, ip, asl #9
+ orr ip, ip, #256
+ tst ip, #512
+ str r1, [sp, #12]
+ str ip, [sp, #24]
+ str r2, [sp, #8]
+ str r3, [sp, #4]
+ beq .L13643
+ ldrh r5, [r5, #6]
+ add r3, r0, r0, asl #2
+ ldr r2, .L13670+4
+ add r3, r5, r3, asl #5
+ ldr r2, [r2, r3, asl #2]
+ str r5, [sp, #32]
+ str r2, [sp, #36]
+ cmp r2, #0
+ ldr r2, .L13670+8
+ add r3, r2, r3, asl #7
+ str r3, [sp, #40]
+ beq .L13617
+ ldr r1, [sp, #12]
+ ldmib sp, {r0, r2} @ phole ldm
+ mov r3, #0
+ add r0, r0, r1, asl #2
+ rsb r2, r1, r2
+ str r0, [sp, #60]
+ str r2, [sp, #80]
+ str r3, [sp, #28]
+ mov r4, r3
+.L12443:
+ ldr r5, [sp, #40]
+ ldr r6, .L13670+20
+ ldrb r3, [r4, r5] @ zero_extendqisi2
+ ldr r7, .L13670+12
+ mov r3, r3, asl #3
+ ldrh lr, [r3, r6]
+ add r3, r3, r6
+ ldrh r1, [r3, #2]
+ mov r4, lr, lsr #12
+ and r2, r4, #12
+ orr r0, r2, r1, lsr #14
+ and ip, lr, #255
+ mov r2, r1, asl #23
+ cmp ip, #160
+ mov r5, r2, asr #23
+ ldr r2, .L13670+16
+ subgt ip, ip, #256
+ tst lr, #256
+ ldrh r9, [r3, #4]
+ ldr r8, [r7, r0, asl #2]
+ ldr sl, [r2, r0, asl #2]
+ beq .L12446
+ tst lr, #8192
+ beq .L12448
+ mov r3, r1, lsr #4
+ ldr r4, .L13670+20
+ and r3, r3, #992
+ add r3, r3, r4
+ add r2, r8, r8, lsr #31
+ tst lr, #512
+ ldrh r6, [r3, #30]
+ mov lr, r2, asr #1
+ add r1, sl, sl, lsr #31
+ ldr r2, [sp, #12]
+ mov r4, r1, asr #1
+ movne r0, lr, asl #1
+ str r6, [sp, #16]
+ strne r0, [sp, #44]
+ moveq r6, r8
+ streq lr, [sp, #44]
+ moveq r0, r4
+ movne r6, r8, asl #1
+ movne r0, r4, asl #1
+ cmp r5, r2
+ ldrh fp, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh r7, [r3, #22]
+ bge .L12453
+ rsb r2, r5, r2
+ rsb r6, r2, r6
+ cmp r6, #0
+ ble .L12455
+ ldr r3, [sp, #44]
+ ldr r5, [sp, #12]
+ rsb r3, r2, r3
+ str r3, [sp, #44]
+.L12453:
+ ldr r2, [sp, #8]
+ add r3, r5, r6
+ cmp r3, r2
+ blt .L12457
+ rsb r6, r5, r2
+ cmp r6, #0
+ ble .L12455
+.L12457:
+ add r0, ip, r0
+ ldr ip, [sp, #16]
+ mov r2, r1, asl #16
+ mov r3, fp, asl #16
+ mov r1, ip, asl #16
+ mov fp, r3, asr #16
+ mov ip, r2, asr #16
+ ldr r3, [sp, #32]
+ ldr r2, [sp, #4]
+ mov lr, lr, asl #8
+ cmp r7, #0
+ str lr, [sp, #72]
+ mov r1, r1, asr #16
+ mov lr, r4, asl #8
+ add r5, r2, r5, asl #2
+ rsb r0, r0, r3
+ bne .L12459
+ mla r3, r0, r1, lr
+ mov r1, r3, asr #8
+ cmp r1, sl
+ bcs .L12455
+ mov r3, r9, asl #22
+ mov r2, r1, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r1, #7
+ add r1, r1, r3, asl #2
+ ldr r3, .L13670+24
+ cmp r6, #0
+ add sl, r3, r1, asl #3
+ ble .L12455
+ ldr r2, [sp, #44]
+ mul r3, r0, ip
+ mul r2, fp, r2
+ ldr r4, [sp, #72]
+ rsb r3, r2, r3
+ add r0, r4, r3
+ mov r2, r0, asr #8
+ cmp r8, r2
+ movls lr, r7
+ bls .L12465
+ b .L13667
+.L12466:
+ cmp r8, r2
+ bhi .L13631
+.L12465:
+ add lr, lr, #1
+ add r0, r0, fp
+ cmp r6, lr
+ mov r2, r0, asr #8
+ add r5, r5, #4
+ bne .L12466
+.L12455:
+ ldr r5, [sp, #28]
+ ldr r6, [sp, #36]
+ add r5, r5, #1
+ cmp r5, r6
+ str r5, [sp, #28]
+ beq .L13617
+ ldr r4, [sp, #28]
+ b .L12443
+.L12446:
+ ldr r2, [sp, #32]
+ tst r1, #8192
+ rsb r0, ip, r2
+ rsbne r3, r0, sl
+ subne r0, r3, #1
+ mov r2, r1, asl #19
+ and r3, r4, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L12455
+ .p2align 2
+.L12536:
+ .word .L12532
+ .word .L12533
+ .word .L12534
+ .word .L12535
+.L12532:
+ mov r3, r9, asl #22
+ mov r2, r0, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r0, #7
+ add r1, r1, r3, asl #3
+ ldr r3, [sp, #12]
+ mov r2, r9, lsr #8
+ cmp r5, r3
+ ldr r3, .L13670+24
+ and r6, r2, #240
+ add ip, r3, r1, asl #2
+ bge .L12537
+ ldr r4, [sp, #12]
+ rsb lr, r5, r4
+ rsb r7, lr, r8
+ cmp r7, #0
+ ble .L12455
+ add r3, r5, r8
+ ldr r5, [sp, #8]
+ cmp r5, r3
+ bhi .L12540
+ mov r3, lr, lsr #3
+ mov r0, r3, asl #5
+ ands r3, lr, #7
+ add r7, ip, r0
+ bne .L12542
+ ldr sl, [sp, #80]
+ ldr r4, [sp, #60]
+.L12544:
+ movs r8, sl, lsr #3
+ beq .L12565
+ mov r0, r4
+ mov lr, r7
+ mov r5, #0
+.L12567:
+ ldr r1, [lr, #0]
+ cmp r1, #0
+ beq .L12568
+ ands r3, r1, #15
+ beq .L12570
+ ldr r2, [r0, #0]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L12570:
+ mov r3, r1, lsr #4
+ ands r3, r3, #15
+ beq .L12574
+ ldr r2, [r0, #4]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L12574:
+ mov r3, r1, lsr #8
+ ands r3, r3, #15
+ beq .L12578
+ ldr r2, [r0, #8]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L12578:
+ mov r3, r1, lsr #12
+ ands r3, r3, #15
+ beq .L12582
+ ldr r2, [r0, #12]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L12582:
+ mov r3, r1, lsr #16
+ ands r3, r3, #15
+ beq .L12586
+ ldr r2, [r0, #16]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L12586:
+ mov r3, r1, lsr #20
+ ands r3, r3, #15
+ beq .L12590
+ ldr r2, [r0, #20]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L12590:
+ mov r3, r1, lsr #24
+ ands r3, r3, #15
+ beq .L12594
+ ldr r2, [r0, #24]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L12594:
+ movs r3, r1, lsr #28
+ beq .L12568
+ ldr r2, [r0, #28]
+ orr r1, r6, r3
+ tst r2, #256
+ ldrne ip, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r1
+ orrne r2, ip, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L12568:
+ add r5, r5, #1
+ cmp r5, r8
+ add lr, lr, #32
+ add r0, r0, #32
+ bne .L12567
+ mov r3, r8, asl #5
+ add r7, r7, r3
+ add r4, r4, r3
+.L12565:
+ ands r5, sl, #7
+ beq .L12455
+ ldr ip, [r7, #0]
+ mov lr, #0
+.L12603:
+ ands r3, ip, #15
+ beq .L12604
+ ldr r1, [r4, #0]
+ ldr sl, [sp, #24]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, sl, r2
+ mov r3, r3, asl #16
+ orr r2, sl, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L12604:
+ add lr, lr, #1
+ cmp r5, lr
+ mov ip, ip, lsr #4
+ add r4, r4, #4
+ bne .L12603
+ b .L12455
+.L12533:
+ mov r3, r9, asl #22
+ mov r1, r0, lsr #3
+ subs r2, r8, #8
+ mov r3, r3, lsr #22
+ submi r2, r8, #1
+ add r3, r3, r1, asl #5
+ add r3, r3, r2, asr #3
+ and r1, r0, #7
+ ldr ip, [sp, #12]
+ add r1, r1, r3, asl #3
+ ldr r3, .L13670+24
+ mov r2, r9, lsr #8
+ cmp r5, ip
+ add r0, r3, r1, asl #2
+ and r6, r2, #240
+ bge .L12741
+ rsb lr, r5, ip
+ rsb r7, lr, r8
+ cmp r7, #0
+ ble .L12455
+ ldr r1, [sp, #8]
+ add r3, r5, r8
+ cmp r1, r3
+ bhi .L12744
+ mov r3, lr, lsr #3
+ ands r4, lr, #7
+ sub ip, r0, r3, asl #5
+ bne .L12746
+ ldr sl, [sp, #80]
+ ldr r5, [sp, #60]
+.L12748:
+ movs r8, sl, lsr #3
+ beq .L12769
+ mov r0, r5
+ mov r4, ip
+ mov r7, #0
+.L12771:
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L12772
+ ands r3, r1, #15
+ beq .L12774
+ ldr r2, [r0, #28]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L12774:
+ mov r3, r1, lsr #4
+ ands r3, r3, #15
+ beq .L12778
+ ldr r2, [r0, #24]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L12778:
+ mov r3, r1, lsr #8
+ ands r3, r3, #15
+ beq .L12782
+ ldr r2, [r0, #20]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L12782:
+ mov r3, r1, lsr #12
+ ands r3, r3, #15
+ beq .L12786
+ ldr r2, [r0, #16]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L12786:
+ mov r3, r1, lsr #16
+ ands r3, r3, #15
+ beq .L12790
+ ldr r2, [r0, #12]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L12790:
+ mov r3, r1, lsr #20
+ ands r3, r3, #15
+ beq .L12794
+ ldr r2, [r0, #8]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L12794:
+ mov r3, r1, lsr #24
+ ands r3, r3, #15
+ beq .L12798
+ ldr r2, [r0, #4]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L12798:
+ movs r3, r1, lsr #28
+ beq .L12772
+ ldr r2, [r0, #0]
+ orr r1, r6, r3
+ tst r2, #256
+ ldrne lr, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r1
+ orrne r2, lr, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L12772:
+ add r7, r7, #1
+ cmp r8, r7
+ sub r4, r4, #32
+ add r0, r0, #32
+ bne .L12771
+ rsb r3, r8, r8, asl #27
+ add ip, ip, r3, asl #5
+ add r5, r5, r8, asl #5
+.L12769:
+ ands r4, sl, #7
+ beq .L12455
+ ldr ip, [ip, #0]
+ mov lr, #0
+.L12807:
+ movs r3, ip, lsr #28
+ beq .L12808
+ ldr r1, [r5, #0]
+ ldr sl, [sp, #24]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, sl, r2
+ mov r3, r3, asl #16
+ orr r2, sl, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r5, #0]
+ streq r2, [r5, #0]
+.L12808:
+ add lr, lr, #1
+ cmp r4, lr
+ mov ip, ip, asl #4
+ add r5, r5, #4
+ bne .L12807
+ b .L12455
+.L12534:
+ mov r2, r9, asl #22
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ and r3, r0, #7
+ add r2, r2, r1, asl #5
+ add r3, r3, r2, asl #2
+ ldr ip, [sp, #12]
+ mov r0, r3, asl #3
+ ldr r3, .L13670+24
+ cmp r5, ip
+ add ip, r0, r3
+ bge .L12945
+ ldr lr, [sp, #12]
+ rsb r0, r5, lr
+ rsb r7, r0, r8
+ cmp r7, #0
+ ble .L12455
+ ldr r1, [sp, #8]
+ add r3, r5, r8
+ cmp r1, r3
+ bhi .L12948
+ mov r3, r0, lsr #3
+ ands lr, r0, #7
+ add r7, ip, r3, asl #6
+ bne .L12950
+ ldr r6, [sp, #80]
+ ldr r4, [sp, #60]
+.L12952:
+ movs r5, r6, lsr #3
+ beq .L13030
+ mov r1, r4
+ mov ip, r7
+ mov lr, #0
+.L13032:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L13033
+ ands r0, r2, #255
+ beq .L13035
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L13035:
+ mov r3, r2, lsr #8
+ ands r0, r3, #255
+ beq .L13039
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, r8, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L13039:
+ mov r3, r2, lsr #16
+ ands r0, r3, #255
+ beq .L13043
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L13043:
+ movs r0, r2, lsr #24
+ beq .L13033
+ ldr r2, [r1, #12]
+ tst r2, #256
+ ldrne r8, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r0
+ orrne r2, r8, r0
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L13033:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L13050
+ ands r0, r2, #255
+ beq .L13052
+ ldr r3, [r1, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, r8, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L13052:
+ mov r3, r2, lsr #8
+ ands r0, r3, #255
+ beq .L13056
+ ldr r3, [r1, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L13056:
+ mov r3, r2, lsr #16
+ ands r0, r3, #255
+ beq .L13060
+ ldr r3, [r1, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L13060:
+ movs r2, r2, lsr #24
+ beq .L13050
+ ldr r3, [r1, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #24]
+ ldreq r0, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, r0, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L13050:
+ add lr, lr, #1
+ cmp lr, r5
+ add ip, ip, #64
+ add r1, r1, #32
+ bne .L13032
+ add r7, r7, r5, asl #6
+ add r4, r4, r5, asl #5
+.L13030:
+ ands r5, r6, #7
+ beq .L12455
+ cmp r5, #3
+ ldrls ip, [r7, #0]
+ bls .L13089
+ ldr r2, [r7, #0]
+ cmp r2, #0
+ beq .L13071
+ ands r1, r2, #255
+ beq .L13073
+ ldr r3, [r4, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r6, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r6, r3
+ orreq r3, r8, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L13073:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L13077
+ ldr r3, [r4, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L13077:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L13081
+ ldr r3, [r4, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne ip, [sp, #24]
+ ldreq lr, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, ip, r3
+ orreq r3, lr, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L13081:
+ movs r1, r2, lsr #24
+ beq .L13071
+ ldr r2, [r4, #12]
+ tst r2, #256
+ ldrne r0, [sp, #24]
+ ldreq r6, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r6, r1
+ orrne r2, r0, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L13071:
+ subs r5, r5, #4
+ ldr ip, [r7, #4]
+ addne r4, r4, #16
+ beq .L12455
+.L13089:
+ mov lr, #0
+.L13090:
+ ands r3, ip, #255
+ beq .L13091
+ ldr r2, [r4, #0]
+ ldr r7, [sp, #24]
+ tst r2, #256
+ orr r1, r7, r3
+ orr r0, r7, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [r4, #0]
+ streq r1, [r4, #0]
+.L13091:
+ add lr, lr, #1
+ cmp r5, lr
+ mov ip, ip, lsr #8
+ add r4, r4, #4
+ bhi .L13090
+ b .L12455
+.L13671:
+ .align 2
+.L13670:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word obj_width_table
+ .word obj_height_table
+ .word oam_ram
+ .word vram+65536
+ .word vram+65472
+ .word vram+65600
+.L12535:
+ subs r2, r8, #8
+ submi r2, r8, #1
+ mov r3, r0, lsr #3
+ mov r2, r2, asr #3
+ mov r1, r9, asl #22
+ add r2, r2, r3, asl #4
+ mov r1, r1, lsr #22
+ add r1, r1, r2, asl #1
+ and r3, r0, #7
+ add r3, r3, r1, asl #2
+ ldr r1, [sp, #12]
+ mov r0, r3, asl #3
+ ldr r3, .L13670+24
+ cmp r5, r1
+ add ip, r0, r3
+ bge .L13281
+ rsb r0, r5, r1
+ rsb r7, r0, r8
+ cmp r7, #0
+ ble .L12455
+ ldr r2, [sp, #8]
+ add r3, r5, r8
+ cmp r2, r3
+ bhi .L13284
+ mov r3, r0, lsr #3
+ ands lr, r0, #7
+ sub r8, ip, r3, asl #6
+ bne .L13286
+ ldr r7, [sp, #80]
+ ldr r4, [sp, #60]
+.L13288:
+ movs r6, r7, lsr #3
+ beq .L13366
+ mov r0, r4
+ mov lr, r8
+ mov r5, #0
+.L13368:
+ ldr r2, [lr, #4]
+ cmp r2, #0
+ beq .L13369
+ ands r1, r2, #255
+ beq .L13371
+ ldr r3, [r0, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L13371:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L13375
+ ldr r3, [r0, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne ip, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, ip, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L13375:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L13379
+ ldr r3, [r0, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #24]
+ ldreq ip, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, ip, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L13379:
+ movs r2, r2, lsr #24
+ beq .L13369
+ ldr r3, [r0, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r1, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L13369:
+ ldr r1, [lr, #0]
+ cmp r1, #0
+ beq .L13386
+ ands ip, r1, #255
+ beq .L13388
+ ldr r2, [r0, #28]
+ tst r2, #256
+ ldrne sl, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, ip
+ orrne r2, sl, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L13388:
+ mov r3, r1, lsr #8
+ ands r2, r3, #255
+ beq .L13392
+ ldr r3, [r0, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #24]
+ ldreq ip, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, ip, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L13392:
+ mov r3, r1, lsr #16
+ ands r2, r3, #255
+ beq .L13396
+ ldr r3, [r0, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L13396:
+ movs r1, r1, lsr #24
+ beq .L13386
+ ldr r2, [r0, #16]
+ tst r2, #256
+ ldrne ip, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r1
+ orrne r2, ip, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L13386:
+ add r5, r5, #1
+ cmp r5, r6
+ sub lr, lr, #64
+ add r0, r0, #32
+ bne .L13368
+ rsb r3, r6, r6, asl #26
+ add r8, r8, r3, asl #6
+ add r4, r4, r6, asl #5
+.L13366:
+ ands r5, r7, #7
+ beq .L12455
+ cmp r5, #3
+ ldrls ip, [r8, #4]
+ bls .L13425
+ ldr r2, [r8, #4]
+ cmp r2, #0
+ beq .L13407
+ ands r1, r2, #255
+ beq .L13409
+ ldr r3, [r4, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #24]
+ ldreq ip, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, ip, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L13409:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L13413
+ ldr r3, [r4, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne lr, [sp, #24]
+ ldreq r0, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r0, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L13413:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L13417
+ ldr r3, [r4, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r6, [sp, #24]
+ ldreq r7, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r6, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L13417:
+ movs r2, r2, lsr #24
+ beq .L13407
+ ldr r3, [r4, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L13407:
+ subs r5, r5, #4
+ ldr ip, [r8, #0]
+ addne r4, r4, #16
+ beq .L12455
+.L13425:
+ mov lr, #0
+.L13426:
+ movs r3, ip, lsr #24
+ beq .L13427
+ ldr r2, [r4, #0]
+ ldr r0, [sp, #24]
+ tst r2, #256
+ orr r1, r0, r3
+ orr r0, r0, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [r4, #0]
+ streq r1, [r4, #0]
+.L13427:
+ add lr, lr, #1
+ cmp r5, lr
+ mov ip, ip, asl #8
+ add r4, r4, #4
+ bhi .L13426
+ b .L12455
+.L12448:
+ mov r3, r1, lsr #4
+ ldr r4, .L13670+20
+ and r3, r3, #992
+ add r3, r3, r4
+ add r2, r8, r8, lsr #31
+ tst lr, #512
+ ldrh r6, [r3, #30]
+ mov lr, r2, asr #1
+ add r1, sl, sl, lsr #31
+ ldr r2, [sp, #12]
+ mov r4, r1, asr #1
+ movne r0, r8, asl #1
+ str r6, [sp, #20]
+ strne r0, [sp, #84]
+ streq r8, [sp, #84]
+ moveq r6, lr
+ moveq r0, r4
+ movne r6, lr, asl #1
+ movne r0, r4, asl #1
+ cmp r5, r2
+ ldrh r7, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh fp, [r3, #22]
+ bge .L12490
+ ldr r3, [sp, #84]
+ rsb r2, r5, r2
+ rsb r3, r2, r3
+ cmp r3, #0
+ str r3, [sp, #84]
+ ble .L12455
+ ldr r5, [sp, #12]
+ rsb r6, r2, r6
+.L12490:
+ ldr r2, [sp, #84]
+ add r3, r5, r2
+ ldr r2, [sp, #8]
+ cmp r3, r2
+ blt .L12493
+ rsb r3, r5, r2
+ cmp r3, #0
+ str r3, [sp, #84]
+ ble .L12455
+.L12493:
+ mov r3, r7, asl #16
+ mov r2, r1, asl #16
+ ldr r7, [sp, #20]
+ mov r3, r3, asr #16
+ mov r2, r2, asr #16
+ add ip, ip, r0
+ str r3, [sp, #48]
+ mov r0, r9, lsr #8
+ str r2, [sp, #52]
+ ldr r3, [sp, #32]
+ ldr r2, [sp, #4]
+ mov r1, r7, asl #16
+ mov lr, lr, asl #8
+ and r0, r0, #240
+ cmp fp, #0
+ str lr, [sp, #64]
+ mov r1, r1, asr #16
+ mov lr, r4, asl #8
+ add r7, r2, r5, asl #2
+ rsb ip, ip, r3
+ str r0, [sp, #76]
+ bne .L12495
+ mla r3, ip, r1, lr
+ mov r1, r3, asr #8
+ cmp r1, sl
+ bcs .L12455
+ mov r3, r9, asl #22
+ mov r2, r1, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r1, #7
+ ldr r4, [sp, #84]
+ add r1, r1, r3, asl #3
+ ldr r3, .L13670+24
+ cmp r4, #0
+ add r5, r3, r1, asl #2
+ ble .L12455
+ ldr r3, [sp, #52]
+ ldr r2, [sp, #48]
+ mul r3, ip, r3
+ mul r2, r6, r2
+ ldr r6, [sp, #64]
+ rsb r3, r2, r3
+ add ip, r6, r3
+ mov r1, ip, asr #8
+ cmp r1, r8
+ movcc r4, fp
+ movcs r4, fp
+ bcs .L12502
+ b .L13633
+.L12503:
+ cmp r8, r2
+ bhi .L12504
+.L12502:
+ ldr r9, [sp, #48]
+ ldr sl, [sp, #84]
+ add r4, r4, #1
+ add ip, ip, r9
+ cmp sl, r4
+ mov r2, ip, asr #8
+ add r7, r7, #4
+ bne .L12503
+ b .L12455
+.L13617:
+ add sp, sp, #88
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L12459:
+ mov r3, r9, asl #22
+ ldr r2, .L13670+24
+ mov r3, r3, lsr #22
+ cmp r6, #0
+ add r9, r2, r3, asl #5
+ ble .L12455
+ mov r3, r7, asl #16
+ mul r2, r0, r1
+ mov r7, r3, asr #16
+ mul r3, r0, ip
+ ldr r0, [sp, #44]
+ ldr r1, [sp, #44]
+ mul r0, fp, r0
+ mul r1, r7, r1
+ rsb r3, r0, r3
+ ldr r0, [sp, #72]
+ rsb r2, r1, r2
+ add ip, r0, r3
+ add r0, lr, r2
+ mov r1, r0, asr #8
+ mov lr, ip, asr #8
+ cmp lr, r8
+ cmpcc r1, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r4, r3
+ bcs .L12477
+ b .L13668
+.L12478:
+ cmp r8, lr
+ cmphi sl, r1
+ bhi .L12480
+.L12477:
+ add r4, r4, #1
+ add ip, ip, fp
+ add r0, r0, r7
+ cmp r6, r4
+ mov lr, ip, asr #8
+ mov r1, r0, asr #8
+ add r5, r5, #4
+ bne .L12478
+ b .L12455
+.L13646:
+ and r3, r1, #7
+ mov r2, lr, asr #3
+ mov r3, r3, asl #3
+ add r3, r3, r2, asl #6
+ mov r1, r1, asr #3
+ add r3, r3, r1, asl #10
+ and r2, lr, #7
+ add r3, r3, r9
+ ldrb lr, [r3, r2] @ zero_extendqisi2
+ cmp lr, #0
+ beq .L12483
+ ldr r3, [r5, #0]
+ ldr r1, [sp, #24]
+ mov r2, r3, lsr #16
+ mov r2, r2, asl #16
+ orr r2, r1, r2
+ orr r1, r1, r3, asl #16
+ orr r2, lr, r2
+ tst r3, #256
+ orr r1, lr, r1
+ str r2, [sp, #0]
+ strne r2, [r5, #0]
+ streq r1, [r5, #0]
+.L12483:
+ add r4, r4, #1
+ add ip, ip, fp
+ add r0, r0, r7
+ cmp r6, r4
+ mov lr, ip, asr #8
+ mov r1, r0, asr #8
+ add r5, r5, #4
+ ble .L12455
+.L12480:
+ cmp sl, r1
+ cmphi r8, lr
+ bhi .L13646
+ b .L12455
+.L12495:
+ mov r3, r9, asl #22
+ ldr r4, [sp, #84]
+ ldr r2, .L13670+24
+ mov r3, r3, lsr #22
+ add r3, r2, r3, asl #5
+ cmp r4, #0
+ str r3, [sp, #68]
+ ble .L12455
+ mov r3, fp, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #56]
+ mul r2, ip, r1
+ ldr r3, [sp, #52]
+ ldr r1, [sp, #56]
+ ldr r0, [sp, #48]
+ mul r3, ip, r3
+ mul r1, r6, r1
+ mul r0, r6, r0
+ ldr r6, [sp, #64]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add r5, r6, r3
+ add r4, lr, r2
+ mov ip, r5, asr #8
+ mov lr, r4, asr #8
+ cmp ip, r8
+ cmpcc lr, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L12517
+ b .L13669
+.L12518:
+ cmp r8, ip
+ cmphi sl, lr
+ bhi .L12520
+.L12517:
+ ldr ip, [sp, #56]
+ ldr r9, [sp, #48]
+ ldr r0, [sp, #84]
+ add r6, r6, #1
+ add r4, r4, ip
+ add r5, r5, r9
+ cmp r0, r6
+ mov ip, r5, asr #8
+ mov lr, r4, asr #8
+ add r7, r7, #4
+ bne .L12518
+ b .L12455
+.L13648:
+ mov r3, ip, asr #1
+ ldr r2, [sp, #68]
+ and fp, r3, #3
+ ldr r3, [sp, #68]
+ and r1, lr, #7
+ and r0, lr, #7
+ add r1, r2, r1, asl #2
+ add r0, r3, r0, asl #2
+ mov r2, ip, asr #1
+ mov r3, lr, asr #3
+ and r9, r2, #3
+ mov r3, r3, asl #10
+ mov r2, ip, asr #3
+ add r3, r3, r2, asl #5
+ add r0, r0, r3
+ tst ip, #1
+ add r1, r1, r3
+ ldrneb r3, [r1, fp] @ zero_extendqisi2
+ ldreqb r3, [r0, r9] @ zero_extendqisi2
+ movne r0, r3, lsr #4
+ andeq r0, r3, #15
+ ldr r9, [sp, #76]
+ cmp r0, #0
+ orr r0, r0, r9
+ beq .L12526
+ ldr r2, [r7, #0]
+ ldr ip, [sp, #24]
+ mov r3, r2, lsr #16
+ orr r1, ip, r0
+ mov r3, r3, asl #16
+ orr r0, ip, r0
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+.L12526:
+ ldr lr, [sp, #48]
+ ldr r0, [sp, #56]
+ ldr r1, [sp, #84]
+ add r6, r6, #1
+ add r5, r5, lr
+ add r4, r4, r0
+ cmp r1, r6
+ add r7, r7, #4
+ mov ip, r5, asr #8
+ mov lr, r4, asr #8
+ ble .L12455
+.L12520:
+ cmp sl, lr
+ cmphi r8, ip
+ bhi .L13648
+ b .L12455
+.L12505:
+ cmp r8, r1
+ bls .L12455
+.L13633:
+ mov r3, r1, asr #1
+ and lr, r3, #3
+ mov r3, r1, asr #3
+ mov r3, r3, asl #5
+ mov r2, r1, asr #1
+ tst r1, #1
+ and r0, r2, #3
+ add r1, r3, r5
+ add r2, r3, r5
+ ldreqb r3, [r2, r0] @ zero_extendqisi2
+ ldrneb r3, [r1, lr] @ zero_extendqisi2
+ andeq r2, r3, #15
+ movne r2, r3, lsr #4
+ ldr lr, [sp, #76]
+ cmp r2, #0
+ orr r3, r2, lr
+ beq .L12510
+ ldr r2, [r7, #0]
+ ldr r0, [sp, #24]
+ tst r2, #256
+ orr r1, r0, r3
+ orr r0, r0, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r1, r3, r1
+ orr r3, r0, r2, asl #16
+ strne r1, [r7, #0]
+ streq r3, [r7, #0]
+.L12510:
+ ldr r1, [sp, #48]
+ ldr r2, [sp, #84]
+ add r4, r4, #1
+ add ip, ip, r1
+ cmp r2, r4
+ add r7, r7, #4
+ mov r1, ip, asr #8
+ bgt .L12505
+ b .L12455
+.L12468:
+ cmp r8, r2
+ bls .L12455
+.L13631:
+ mov r3, r2, asr #3
+ add r3, sl, r3, asl #6
+ and r2, r2, #7
+ ldrb ip, [r3, r2] @ zero_extendqisi2
+ cmp ip, #0
+ beq .L12470
+ ldr r3, [r5, #0]
+ ldr r7, [sp, #24]
+ mov r2, r3, lsr #16
+ mov r2, r2, asl #16
+ orr r2, r7, r2
+ orr r1, r7, r3, asl #16
+ orr r4, ip, r2
+ tst r3, #256
+ orr r2, ip, r1
+ strne r4, [r5, #0]
+ streq r2, [r5, #0]
+.L12470:
+ add lr, lr, #1
+ add r0, r0, fp
+ cmp r6, lr
+ add r5, r5, #4
+ mov r2, r0, asr #8
+ bgt .L12468
+ b .L12455
+.L13281:
+ ldr r9, [sp, #8]
+ add r3, r5, r8
+ cmp r3, r9
+ bcs .L13649
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs r6, r3, asr #3
+ beq .L12455
+ ldr r2, [sp, #4]
+ ldr r3, .L13670+28
+ add r1, r2, r5, asl #2
+ add r0, r0, r3
+ mov r5, #0
+ b .L13581
+.L13650:
+ sub ip, ip, #64
+ add r1, r1, #32
+.L13581:
+ ldr r2, [r0, #68]
+ cmp r2, #0
+ beq .L13582
+ ands lr, r2, #255
+ beq .L13584
+ ldr r3, [r1, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r4, [sp, #24]
+ ldreq r7, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L13584:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L13588
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L13588:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L13592
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #24]
+ ldreq r4, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, r4, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L13592:
+ movs r2, r2, lsr #24
+ beq .L13582
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r7, r3
+ orreq r3, r8, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L13582:
+ ldr lr, [ip, #0]
+ cmp lr, #0
+ beq .L13599
+ ands r4, lr, #255
+ beq .L13601
+ ldr r2, [r1, #28]
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L13601:
+ mov r3, lr, lsr #8
+ ands r2, r3, #255
+ beq .L13605
+ ldr r3, [r1, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r4, [sp, #24]
+ ldreq r7, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L13605:
+ mov r3, lr, lsr #16
+ ands r2, r3, #255
+ beq .L13609
+ ldr r3, [r1, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L13609:
+ movs lr, lr, lsr #24
+ beq .L13599
+ ldr r2, [r1, #16]
+ tst r2, #256
+ ldrne sl, [sp, #24]
+ ldreq r4, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r4, lr
+ orrne r2, sl, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L13599:
+ add r5, r5, #1
+ cmp r6, r5
+ sub r0, r0, #64
+ bne .L13650
+ b .L12455
+.L12945:
+ ldr r9, [sp, #8]
+ add r3, r5, r8
+ cmp r9, r3
+ bls .L13651
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs r6, r3, asr #3
+ beq .L12455
+ ldr r2, [sp, #4]
+ ldr r3, .L13670+32
+ add r1, r2, r5, asl #2
+ add r0, r0, r3
+ mov r4, #0
+ b .L13245
+.L13652:
+ add ip, ip, #64
+ add r1, r1, #32
+.L13245:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L13246
+ ands lr, r2, #255
+ beq .L13248
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #24]
+ ldreq r7, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L13248:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L13252
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L13252:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L13256
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #24]
+ ldreq r5, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, r5, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L13256:
+ movs lr, r2, lsr #24
+ beq .L13246
+ ldr r2, [r1, #12]
+ tst r2, #256
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, lr
+ orrne r2, r7, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L13246:
+ ldr r2, [r0, #-60]
+ cmp r2, #0
+ beq .L13263
+ ands lr, r2, #255
+ beq .L13265
+ ldr r3, [r1, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L13265:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L13269
+ ldr r3, [r1, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #24]
+ ldreq r7, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L13269:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L13273
+ ldr r3, [r1, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L13273:
+ movs r2, r2, lsr #24
+ beq .L13263
+ ldr r3, [r1, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #24]
+ ldreq lr, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, lr, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L13263:
+ add r4, r4, #1
+ cmp r6, r4
+ add r0, r0, #64
+ bne .L13652
+ b .L12455
+.L12741:
+ ldr ip, [sp, #8]
+ add r3, r5, r8
+ cmp ip, r3
+ bls .L13653
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs r7, r3, asr #3
+ beq .L12455
+ ldr ip, [sp, #4]
+ add r1, ip, r5, asl #2
+ mov ip, #0
+ b .L12910
+.L13654:
+ sub r0, r0, #32
+ add r1, r1, #32
+.L12910:
+ ldr lr, [r0, #0]
+ cmp lr, #0
+ beq .L12911
+ ands r3, lr, #15
+ beq .L12913
+ ldr r2, [r1, #28]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r5, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, r4
+ orrne r2, r5, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L12913:
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ beq .L12917
+ ldr r2, [r1, #24]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L12917:
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ beq .L12921
+ ldr r2, [r1, #20]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r5, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, r4
+ orrne r2, r5, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L12921:
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ beq .L12925
+ ldr r2, [r1, #16]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L12925:
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ beq .L12929
+ ldr r2, [r1, #12]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r5, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, r4
+ orrne r2, r5, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L12929:
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ beq .L12933
+ ldr r2, [r1, #8]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L12933:
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ beq .L12937
+ ldr r2, [r1, #4]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r5, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, r4
+ orrne r2, r5, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L12937:
+ movs r3, lr, lsr #28
+ beq .L12911
+ ldr r2, [r1, #0]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L12911:
+ add ip, ip, #1
+ cmp r7, ip
+ bne .L13654
+ b .L12455
+.L12537:
+ ldr lr, [sp, #8]
+ add r3, r5, r8
+ cmp lr, r3
+ bls .L13655
+ cmp r8, #0
+ add r3, r8, #7
+ movge r3, r8
+ movs r7, r3, asr #3
+ beq .L12455
+ ldr lr, [sp, #4]
+ mov r0, #0
+ add r1, lr, r5, asl #2
+ b .L12706
+.L13656:
+ add ip, ip, #32
+ add r1, r1, #32
+.L12706:
+ ldr lr, [ip, #0]
+ cmp lr, #0
+ beq .L12707
+ ands r3, lr, #15
+ beq .L12709
+ ldr r2, [r1, #0]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r5, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, r4
+ orrne r2, r5, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L12709:
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ beq .L12713
+ ldr r2, [r1, #4]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L12713:
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ beq .L12717
+ ldr r2, [r1, #8]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r5, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, r4
+ orrne r2, r5, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L12717:
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ beq .L12721
+ ldr r2, [r1, #12]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L12721:
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ beq .L12725
+ ldr r2, [r1, #16]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r5, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, r4
+ orrne r2, r5, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L12725:
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ beq .L12729
+ ldr r2, [r1, #20]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L12729:
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ beq .L12733
+ ldr r2, [r1, #24]
+ orr r4, r6, r3
+ tst r2, #256
+ ldrne r5, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, r4
+ orrne r2, r5, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L12733:
+ movs r3, lr, lsr #28
+ beq .L12707
+ ldr r2, [r1, #28]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L12707:
+ add r0, r0, #1
+ cmp r7, r0
+ bne .L13656
+ b .L12455
+.L13643:
+ add sp, sp, #88
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_obj_color32_2D
+.L13655:
+ rsb r0, r5, lr
+ cmp r0, #0
+ ble .L12455
+ ldr r1, [sp, #4]
+ movs sl, r0, lsr #3
+ add r8, r1, r5, asl #2
+ beq .L12661
+ mov r4, r8
+ mov r7, ip
+ mov r1, #0
+.L12663:
+ ldr lr, [r7, #0]
+ cmp lr, #0
+ beq .L12664
+ ands r3, lr, #15
+ beq .L12666
+ ldr r2, [r4, #0]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L12666:
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ beq .L12670
+ ldr r2, [r4, #4]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L12670:
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ beq .L12674
+ ldr r2, [r4, #8]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L12674:
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ beq .L12678
+ ldr r2, [r4, #12]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L12678:
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ beq .L12682
+ ldr r2, [r4, #16]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #16]
+ streq r3, [r4, #16]
+.L12682:
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ beq .L12686
+ ldr r2, [r4, #20]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #20]
+ streq r3, [r4, #20]
+.L12686:
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ beq .L12690
+ ldr r2, [r4, #24]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #24]
+ streq r3, [r4, #24]
+.L12690:
+ movs r3, lr, lsr #28
+ beq .L12664
+ ldr r2, [r4, #28]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r5, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, lr
+ orrne r2, r5, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #28]
+ streq r3, [r4, #28]
+.L12664:
+ add r1, r1, #1
+ cmp sl, r1
+ add r7, r7, #32
+ add r4, r4, #32
+ bne .L12663
+ mov r3, sl, asl #5
+ add ip, ip, r3
+ add r8, r8, r3
+.L12661:
+ ands r4, r0, #7
+ beq .L12455
+ ldr ip, [ip, #0]
+ mov lr, #0
+.L12699:
+ ands r3, ip, #15
+ beq .L12700
+ ldr r1, [r8, #0]
+ ldr sl, [sp, #24]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, sl, r2
+ mov r3, r3, asl #16
+ orr r2, sl, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r8, #0]
+ streq r2, [r8, #0]
+.L12700:
+ add lr, lr, #1
+ cmp r4, lr
+ mov ip, ip, lsr #4
+ add r8, r8, #4
+ bne .L12699
+ b .L12455
+.L13653:
+ rsb sl, r5, ip
+ cmp sl, #0
+ ble .L12455
+ ldr lr, [sp, #4]
+ movs ip, sl, lsr #3
+ add r8, lr, r5, asl #2
+ beq .L12865
+ mov r4, r8
+ mov r7, r0
+ mov r1, #0
+.L12867:
+ ldr lr, [r7, #0]
+ cmp lr, #0
+ beq .L12868
+ ands r3, lr, #15
+ beq .L12870
+ ldr r2, [r4, #28]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #28]
+ streq r3, [r4, #28]
+.L12870:
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ beq .L12874
+ ldr r2, [r4, #24]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #24]
+ streq r3, [r4, #24]
+.L12874:
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ beq .L12878
+ ldr r2, [r4, #20]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #20]
+ streq r3, [r4, #20]
+.L12878:
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ beq .L12882
+ ldr r2, [r4, #16]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #16]
+ streq r3, [r4, #16]
+.L12882:
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ beq .L12886
+ ldr r2, [r4, #12]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L12886:
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ beq .L12890
+ ldr r2, [r4, #8]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L12890:
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ beq .L12894
+ ldr r2, [r4, #4]
+ orr r5, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L12894:
+ movs r3, lr, lsr #28
+ beq .L12868
+ ldr r2, [r4, #0]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r5, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, lr
+ orrne r2, r5, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L12868:
+ add r1, r1, #1
+ cmp ip, r1
+ sub r7, r7, #32
+ add r4, r4, #32
+ bne .L12867
+ rsb r3, ip, ip, asl #27
+ add r0, r0, r3, asl #5
+ add r8, r8, ip, asl #5
+.L12865:
+ ands r4, sl, #7
+ beq .L12455
+ ldr ip, [r0, #0]
+ mov lr, #0
+.L12903:
+ movs r3, ip, lsr #28
+ beq .L12904
+ ldr r1, [r8, #0]
+ ldr sl, [sp, #24]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, sl, r2
+ mov r3, r3, asl #16
+ orr r2, sl, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r8, #0]
+ streq r2, [r8, #0]
+.L12904:
+ add lr, lr, #1
+ cmp r4, lr
+ mov ip, ip, asl #4
+ add r8, r8, #4
+ bne .L12903
+ b .L12455
+.L13651:
+ rsb r8, r5, r9
+ cmp r8, #0
+ ble .L12455
+ ldr sl, [sp, #4]
+ movs r7, r8, lsr #3
+ add r6, sl, r5, asl #2
+ beq .L13178
+ ldr r3, .L13672
+ mov lr, r6
+ add r0, r0, r3
+ mov r5, ip
+ mov r1, #0
+.L13180:
+ ldr r2, [r5, #0]
+ cmp r2, #0
+ beq .L13181
+ ands r4, r2, #255
+ beq .L13183
+ ldr r3, [lr, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r4, r3
+ strne r3, [lr, #0]
+ streq r3, [lr, #0]
+.L13183:
+ mov r3, r2, lsr #8
+ ands r4, r3, #255
+ beq .L13187
+ ldr r3, [lr, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r4, r3
+ strne r3, [lr, #4]
+ streq r3, [lr, #4]
+.L13187:
+ mov r3, r2, lsr #16
+ ands r4, r3, #255
+ beq .L13191
+ ldr r3, [lr, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r4, r3
+ strne r3, [lr, #8]
+ streq r3, [lr, #8]
+.L13191:
+ movs r4, r2, lsr #24
+ beq .L13181
+ ldr r2, [lr, #12]
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r4
+ orrne r2, r9, r4
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [lr, #12]
+ streq r3, [lr, #12]
+.L13181:
+ ldr r2, [r0, #-60]
+ cmp r2, #0
+ beq .L13198
+ ands r4, r2, #255
+ beq .L13200
+ ldr r3, [lr, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r4, r3
+ strne r3, [lr, #16]
+ streq r3, [lr, #16]
+.L13200:
+ mov r3, r2, lsr #8
+ ands r4, r3, #255
+ beq .L13204
+ ldr r3, [lr, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r4, r3
+ strne r3, [lr, #20]
+ streq r3, [lr, #20]
+.L13204:
+ mov r3, r2, lsr #16
+ ands r4, r3, #255
+ beq .L13208
+ ldr r3, [lr, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r4, r3
+ strne r3, [lr, #24]
+ streq r3, [lr, #24]
+.L13208:
+ movs r2, r2, lsr #24
+ beq .L13198
+ ldr r3, [lr, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r4, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [lr, #28]
+ streq r3, [lr, #28]
+.L13198:
+ add r1, r1, #1
+ cmp r7, r1
+ add r5, r5, #64
+ add lr, lr, #32
+ add r0, r0, #64
+ bne .L13180
+ add ip, ip, r7, asl #6
+ add r6, r6, r7, asl #5
+.L13178:
+ ands r4, r8, #7
+ beq .L12455
+ cmp r4, #3
+ ldrls ip, [ip, #0]
+ bls .L13237
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L13219
+ ands r1, r2, #255
+ beq .L13221
+ ldr r3, [r6, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #24]
+ ldreq lr, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, lr, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r6, #0]
+ streq r3, [r6, #0]
+.L13221:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L13225
+ ldr r3, [r6, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r0, [sp, #24]
+ ldreq r5, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r5, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r6, #4]
+ streq r3, [r6, #4]
+.L13225:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L13229
+ ldr r3, [r6, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r7, r3
+ orreq r3, r8, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r6, #8]
+ streq r3, [r6, #8]
+.L13229:
+ movs r1, r2, lsr #24
+ beq .L13219
+ ldr r2, [r6, #12]
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r1
+ orrne r2, r9, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r6, #12]
+ streq r3, [r6, #12]
+.L13219:
+ subs r4, r4, #4
+ ldr ip, [ip, #4]
+ addne r6, r6, #16
+ beq .L12455
+.L13237:
+ mov lr, #0
+.L13238:
+ ands r3, ip, #255
+ beq .L13239
+ ldr r2, [r6, #0]
+ ldr r0, [sp, #24]
+ tst r2, #256
+ orr r1, r0, r3
+ orr r0, r0, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [r6, #0]
+ streq r1, [r6, #0]
+.L13239:
+ add lr, lr, #1
+ cmp lr, r4
+ mov ip, ip, lsr #8
+ add r6, r6, #4
+ bcc .L13238
+ b .L12455
+.L13649:
+ rsb sl, r5, r9
+ cmp sl, #0
+ ble .L12455
+ ldr lr, [sp, #4]
+ movs r8, sl, lsr #3
+ add r7, lr, r5, asl #2
+ beq .L13514
+ ldr r3, .L13672+4
+ mov r4, r7
+ add r0, r0, r3
+ mov r6, ip
+ mov r1, #0
+.L13516:
+ ldr r2, [r0, #68]
+ cmp r2, #0
+ beq .L13517
+ ands lr, r2, #255
+ beq .L13519
+ ldr r3, [r4, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L13519:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L13523
+ ldr r3, [r4, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L13523:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L13527
+ ldr r3, [r4, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, lr, r3
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L13527:
+ movs r2, r2, lsr #24
+ beq .L13517
+ ldr r3, [r4, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne lr, [sp, #24]
+ ldreq r5, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r5, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L13517:
+ ldr lr, [r6, #0]
+ cmp lr, #0
+ beq .L13534
+ ands r5, lr, #255
+ beq .L13536
+ ldr r2, [r4, #28]
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, r5
+ orrne r2, r9, r5
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #28]
+ streq r3, [r4, #28]
+.L13536:
+ mov r3, lr, lsr #8
+ ands r2, r3, #255
+ beq .L13540
+ ldr r3, [r4, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r4, #24]
+ streq r3, [r4, #24]
+.L13540:
+ mov r3, lr, lsr #16
+ ands r2, r3, #255
+ beq .L13544
+ ldr r3, [r4, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r4, #20]
+ streq r3, [r4, #20]
+.L13544:
+ movs lr, lr, lsr #24
+ beq .L13534
+ ldr r2, [r4, #16]
+ tst r2, #256
+ ldrne r5, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r9, lr
+ orrne r2, r5, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r4, #16]
+ streq r3, [r4, #16]
+.L13534:
+ add r1, r1, #1
+ cmp r8, r1
+ sub r6, r6, #64
+ add r4, r4, #32
+ sub r0, r0, #64
+ bne .L13516
+ rsb r3, r8, r8, asl #26
+ add ip, ip, r3, asl #6
+ add r7, r7, r8, asl #5
+.L13514:
+ ands r4, sl, #7
+ beq .L12455
+ cmp r4, #3
+ ldrls ip, [ip, #4]
+ bls .L13573
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L13555
+ ands r1, r2, #255
+ beq .L13557
+ ldr r3, [r7, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #24]
+ ldreq lr, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, lr, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r7, #12]
+ streq r3, [r7, #12]
+.L13557:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L13561
+ ldr r3, [r7, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r0, [sp, #24]
+ ldreq r5, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r5, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r7, #8]
+ streq r3, [r7, #8]
+.L13561:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L13565
+ ldr r3, [r7, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r6, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r6, r3
+ orreq r3, r8, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r7, #4]
+ streq r3, [r7, #4]
+.L13565:
+ movs r2, r2, lsr #24
+ beq .L13555
+ ldr r3, [r7, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r7, #0]
+ streq r3, [r7, #0]
+.L13555:
+ subs r4, r4, #4
+ ldr ip, [ip, #0]
+ addne r7, r7, #16
+ beq .L12455
+.L13573:
+ mov lr, #0
+.L13574:
+ movs r3, ip, lsr #24
+ beq .L13575
+ ldr r2, [r7, #0]
+ ldr r0, [sp, #24]
+ tst r2, #256
+ orr r1, r0, r3
+ orr r0, r0, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [r7, #0]
+ streq r1, [r7, #0]
+.L13575:
+ add lr, lr, #1
+ cmp r4, lr
+ mov ip, ip, asl #8
+ add r7, r7, #4
+ bhi .L13574
+ b .L12455
+.L13284:
+ mov r3, r0, lsr #3
+ ands r2, r0, #7
+ sub r4, ip, r3, asl #6
+ ldreq r0, [sp, #60]
+ beq .L13434
+ cmp r2, #3
+ rsb r6, r2, #8
+ bhi .L13657
+ subs r8, r6, #4
+ ldr r1, [r4, #4]
+ ldreq r1, [sp, #60]
+ beq .L13449
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov ip, r1, asl r3
+ ldr lr, [sp, #60]
+ mov r5, #0
+.L13450:
+ movs r3, ip, lsr #24
+ beq .L13451
+ ldr r2, [lr, #0]
+ ldr r9, [sp, #24]
+ tst r2, #256
+ orr r1, r9, r3
+ orr r0, r9, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L13451:
+ add r5, r5, #1
+ cmp r8, r5
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L13450
+ ldr sl, [sp, #60]
+ add r3, sl, r6, asl #2
+ sub r1, r3, #16
+.L13449:
+ ldr r2, [r4, #0]
+ cmp r2, #0
+ beq .L13457
+ ands r0, r2, #255
+ beq .L13459
+ ldr r3, [r1, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne ip, [sp, #24]
+ ldreq lr, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, ip, r3
+ orreq r3, lr, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L13459:
+ mov r3, r2, lsr #8
+ ands r0, r3, #255
+ beq .L13463
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #24]
+ ldreq r6, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L13463:
+ mov r3, r2, lsr #16
+ ands r0, r3, #255
+ beq .L13467
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L13467:
+ movs r2, r2, lsr #24
+ beq .L13457
+ ldr r3, [r1, #0]
+ tst r3, #256
+ beq .L13472
+ mov r3, r3, lsr #16
+ ldr sl, [sp, #24]
+ mov r3, r3, asl #16
+ orr r3, sl, r3
+ orr r3, r2, r3
+ str r3, [r1, #0]
+.L13457:
+ add r0, r1, #16
+.L13439:
+ sub r4, r4, #64
+.L13434:
+ movs r5, r7, lsr #3
+ beq .L12455
+ mov lr, #0
+ b .L13475
+.L13658:
+ sub r4, r4, #64
+ add r0, r0, #32
+.L13475:
+ ldr r2, [r4, #4]
+ cmp r2, #0
+ beq .L13476
+ ands r1, r2, #255
+ beq .L13478
+ ldr r3, [r0, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r6, [sp, #24]
+ ldreq r7, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r6, r3
+ orreq r3, r7, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L13478:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L13482
+ ldr r3, [r0, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L13482:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L13486
+ ldr r3, [r0, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne sl, [sp, #24]
+ ldreq ip, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, sl, r3
+ orreq r3, ip, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r1, r3
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L13486:
+ movs r2, r2, lsr #24
+ beq .L13476
+ ldr r3, [r0, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r1, [sp, #24]
+ ldreq r6, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L13476:
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L13493
+ ands ip, r1, #255
+ beq .L13495
+ ldr r2, [r0, #28]
+ tst r2, #256
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, ip
+ orrne r2, r7, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L13495:
+ mov r3, r1, lsr #8
+ ands r2, r3, #255
+ beq .L13499
+ ldr r3, [r0, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L13499:
+ mov r3, r1, lsr #16
+ ands r2, r3, #255
+ beq .L13503
+ ldr r3, [r0, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne ip, [sp, #24]
+ ldreq r6, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, ip, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L13503:
+ movs r1, r1, lsr #24
+ beq .L13493
+ ldr r2, [r0, #16]
+ tst r2, #256
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, r1
+ orrne r2, r7, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L13493:
+ add lr, lr, #1
+ cmp lr, r5
+ bne .L13658
+ b .L12455
+.L12948:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ add r4, ip, r3, asl #6
+ ldreq r1, [sp, #60]
+ beq .L13098
+ cmp r2, #3
+ rsb r6, r2, #8
+ bhi .L13659
+ subs r8, r6, #4
+ ldr r1, [r4, #0]
+ ldreq r1, [sp, #60]
+ beq .L13113
+ mov r3, r2, asl #3
+ mov ip, r1, lsr r3
+ ldr lr, [sp, #60]
+ mov r5, #0
+.L13114:
+ ands r3, ip, #255
+ beq .L13115
+ ldr r2, [lr, #0]
+ ldr r9, [sp, #24]
+ tst r2, #256
+ orr r1, r9, r3
+ orr r0, r9, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L13115:
+ add r5, r5, #1
+ cmp r8, r5
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L13114
+ ldr sl, [sp, #60]
+ add r3, sl, r6, asl #2
+ sub r1, r3, #16
+.L13113:
+ ldr r2, [r4, #4]
+ cmp r2, #0
+ beq .L13121
+ ands r0, r2, #255
+ beq .L13123
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne ip, [sp, #24]
+ ldreq lr, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, ip, r3
+ orreq r3, lr, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L13123:
+ mov r3, r2, lsr #8
+ ands r0, r3, #255
+ beq .L13127
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #24]
+ ldreq r6, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L13127:
+ mov r3, r2, lsr #16
+ ands r0, r3, #255
+ beq .L13131
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L13131:
+ movs r2, r2, lsr #24
+ beq .L13121
+ ldr r3, [r1, #12]
+ tst r3, #256
+ beq .L13136
+ mov r3, r3, lsr #16
+ ldr sl, [sp, #24]
+ mov r3, r3, asl #16
+ orr r3, sl, r3
+ orr r3, r2, r3
+ str r3, [r1, #12]
+.L13121:
+ add r1, r1, #16
+.L13103:
+ add r4, r4, #64
+.L13098:
+ movs lr, r7, lsr #3
+ beq .L12455
+ mov ip, #0
+ b .L13139
+.L13660:
+ add r4, r4, #64
+ add r1, r1, #32
+.L13139:
+ ldr r2, [r4, #0]
+ cmp r2, #0
+ beq .L13140
+ ands r0, r2, #255
+ beq .L13142
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #24]
+ ldreq r6, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L13142:
+ mov r3, r2, lsr #8
+ ands r0, r3, #255
+ beq .L13146
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r7, r3
+ orreq r3, r8, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L13146:
+ mov r3, r2, lsr #16
+ ands r0, r3, #255
+ beq .L13150
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L13150:
+ movs r0, r2, lsr #24
+ beq .L13140
+ ldr r2, [r1, #12]
+ tst r2, #256
+ ldrne r5, [sp, #24]
+ ldreq r6, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r6, r0
+ orrne r2, r5, r0
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L13140:
+ ldr r2, [r4, #4]
+ cmp r2, #0
+ beq .L13157
+ ands r0, r2, #255
+ beq .L13159
+ ldr r3, [r1, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r7, r3
+ orreq r3, r8, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L13159:
+ mov r3, r2, lsr #8
+ ands r0, r3, #255
+ beq .L13163
+ ldr r3, [r1, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r9, r3
+ orreq r3, sl, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L13163:
+ mov r3, r2, lsr #16
+ ands r0, r3, #255
+ beq .L13167
+ ldr r3, [r1, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r5, [sp, #24]
+ ldreq r6, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r5, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L13167:
+ movs r2, r2, lsr #24
+ beq .L13157
+ ldr r3, [r1, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r7, r3
+ orreq r3, r8, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r2, r3
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L13157:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L13660
+ b .L12455
+.L12744:
+ ands r2, lr, #7
+ mov r3, lr, lsr #3
+ sub ip, r0, r3, asl #5
+ ldreq r0, [sp, #60]
+ beq .L12815
+ rsbs r8, r2, #8
+ ldr r1, [ip, #0]
+ ldreq r0, [sp, #60]
+ beq .L12818
+ mov r3, r2, asl #2
+ mov lr, r1, asl r3
+ ldr r4, [sp, #60]
+ mov r5, #0
+.L12819:
+ movs r3, lr, lsr #28
+ beq .L12820
+ ldr r1, [r4, #0]
+ orr r2, r6, r3
+ ldr r3, [sp, #24]
+ ldr r9, [sp, #24]
+ orr r0, r3, r2
+ mov r3, r1, lsr #16
+ mov r3, r3, asl #16
+ orr r2, r9, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L12820:
+ add r5, r5, #1
+ cmp r5, r8
+ mov lr, lr, asl #4
+ add r4, r4, #4
+ bne .L12819
+ ldr sl, [sp, #60]
+ add r0, sl, r8, asl #2
+.L12818:
+ sub ip, ip, #32
+.L12815:
+ movs r5, r7, lsr #3
+ beq .L12455
+ mov r4, #0
+ b .L12827
+.L13673:
+ .align 2
+.L13672:
+ .word vram+65600
+ .word vram+65472
+.L13661:
+ sub ip, ip, #32
+ add r0, r0, #32
+.L12827:
+ ldr r1, [ip, #0]
+ cmp r1, #0
+ beq .L12828
+ ands r3, r1, #15
+ beq .L12830
+ ldr r2, [r0, #28]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, lr
+ orrne r2, r7, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L12830:
+ mov r3, r1, lsr #4
+ ands r3, r3, #15
+ beq .L12834
+ ldr r2, [r0, #24]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L12834:
+ mov r3, r1, lsr #8
+ ands r3, r3, #15
+ beq .L12838
+ ldr r2, [r0, #20]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, lr
+ orrne r2, r7, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L12838:
+ mov r3, r1, lsr #12
+ ands r3, r3, #15
+ beq .L12842
+ ldr r2, [r0, #16]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L12842:
+ mov r3, r1, lsr #16
+ ands r3, r3, #15
+ beq .L12846
+ ldr r2, [r0, #12]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, lr
+ orrne r2, r7, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L12846:
+ mov r3, r1, lsr #20
+ ands r3, r3, #15
+ beq .L12850
+ ldr r2, [r0, #8]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, lr
+ orrne r2, r9, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L12850:
+ mov r3, r1, lsr #24
+ ands r3, r3, #15
+ beq .L12854
+ ldr r2, [r0, #4]
+ orr lr, r6, r3
+ tst r2, #256
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, lr
+ orrne r2, r7, lr
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L12854:
+ movs r3, r1, lsr #28
+ beq .L12828
+ ldr r2, [r0, #0]
+ orr r1, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r1
+ orrne r2, r9, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L12828:
+ add r4, r4, #1
+ cmp r5, r4
+ bne .L13661
+ b .L12455
+.L12540:
+ mov r3, lr, lsr #3
+ mov r0, r3, asl #5
+ ands r3, lr, #7
+ add r5, ip, r0
+ ldreq r0, [sp, #60]
+ beq .L12611
+ rsbs r8, r3, #8
+ ldr r0, [ip, r0]
+ ldreq r0, [sp, #60]
+ beq .L12614
+ mov r3, r3, asl #2
+ mov ip, r0, lsr r3
+ ldr lr, [sp, #60]
+ mov r4, #0
+.L12615:
+ ands r3, ip, #15
+ beq .L12616
+ ldr r1, [lr, #0]
+ orr r2, r6, r3
+ ldr r3, [sp, #24]
+ ldr r9, [sp, #24]
+ orr r0, r3, r2
+ mov r3, r1, lsr #16
+ mov r3, r3, asl #16
+ orr r2, r9, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [lr, #0]
+ streq r2, [lr, #0]
+.L12616:
+ add r4, r4, #1
+ cmp r8, r4
+ mov ip, ip, lsr #4
+ add lr, lr, #4
+ bne .L12615
+ ldr sl, [sp, #60]
+ add r0, sl, r8, asl #2
+.L12614:
+ add r5, r5, #32
+.L12611:
+ movs r4, r7, lsr #3
+ beq .L12455
+ mov lr, #0
+ b .L12623
+.L13662:
+ add r5, r5, #32
+ add r0, r0, #32
+.L12623:
+ ldr r1, [r5, #0]
+ cmp r1, #0
+ beq .L12624
+ ands r3, r1, #15
+ beq .L12626
+ ldr r2, [r0, #0]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, ip
+ orrne r2, r7, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L12626:
+ mov r3, r1, lsr #4
+ ands r3, r3, #15
+ beq .L12630
+ ldr r2, [r0, #4]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L12630:
+ mov r3, r1, lsr #8
+ ands r3, r3, #15
+ beq .L12634
+ ldr r2, [r0, #8]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, ip
+ orrne r2, r7, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L12634:
+ mov r3, r1, lsr #12
+ ands r3, r3, #15
+ beq .L12638
+ ldr r2, [r0, #12]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L12638:
+ mov r3, r1, lsr #16
+ ands r3, r3, #15
+ beq .L12642
+ ldr r2, [r0, #16]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, ip
+ orrne r2, r7, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L12642:
+ mov r3, r1, lsr #20
+ ands r3, r3, #15
+ beq .L12646
+ ldr r2, [r0, #20]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, ip
+ orrne r2, r9, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L12646:
+ mov r3, r1, lsr #24
+ ands r3, r3, #15
+ beq .L12650
+ ldr r2, [r0, #24]
+ orr ip, r6, r3
+ tst r2, #256
+ ldrne r7, [sp, #24]
+ ldreq r8, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r8, ip
+ orrne r2, r7, ip
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L12650:
+ movs r3, r1, lsr #28
+ beq .L12624
+ ldr r2, [r0, #28]
+ orr r1, r6, r3
+ tst r2, #256
+ ldrne r9, [sp, #24]
+ ldreq sl, [sp, #24]
+ movne r3, r2, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, sl, r1
+ orrne r2, r9, r1
+ orrne r3, r3, r2
+ orreq r3, r3, r2, asl #16
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L12624:
+ add lr, lr, #1
+ cmp r4, lr
+ bne .L13662
+ b .L12455
+.L12504:
+ mov r1, r2
+ b .L13633
+.L12746:
+ ldr r2, [sp, #80]
+ rsb r7, r4, #8
+ cmp r2, r7
+ blt .L13663
+ cmp r7, #0
+ ldr r2, [ip, #0]
+ ldreq r5, [sp, #60]
+ beq .L12761
+ mov r3, r4, asl #2
+ mov lr, r2, asl r3
+ ldr r4, [sp, #60]
+ mov r5, #0
+.L12762:
+ movs r3, lr, lsr #28
+ beq .L12763
+ ldr r1, [r4, #0]
+ ldr r8, [sp, #24]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, r8, r2
+ mov r3, r3, asl #16
+ orr r2, r8, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L12763:
+ add r5, r5, #1
+ cmp r7, r5
+ mov lr, lr, asl #4
+ add r4, r4, #4
+ bne .L12762
+ ldr r9, [sp, #60]
+ add r5, r9, r7, asl #2
+.L12761:
+ ldr lr, [sp, #80]
+ sub ip, ip, #32
+ rsb sl, r7, lr
+ b .L12748
+.L13286:
+ ldr r3, [sp, #80]
+ rsb r5, lr, #8
+ cmp r3, r5
+ blt .L13664
+ cmp lr, #3
+ bls .L13327
+ cmp r5, #0
+ ldr r2, [r8, #0]
+ ldreq r4, [sp, #60]
+ beq .L13331
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov ip, r2, asl r3
+ ldr lr, [sp, #60]
+ mov r4, #0
+.L13332:
+ movs r3, ip, lsr #24
+ beq .L13333
+ ldr r2, [lr, #0]
+ ldr r7, [sp, #24]
+ tst r2, #256
+ orr r1, r7, r3
+ orr r0, r7, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L13333:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L13332
+ ldr ip, [sp, #60]
+ add r4, ip, r5, asl #2
+.L13331:
+ ldr r0, [sp, #80]
+ sub r8, r8, #64
+ rsb r7, r5, r0
+ b .L13288
+.L12950:
+ ldr r2, [sp, #80]
+ rsb r5, lr, #8
+ cmp r2, r5
+ blt .L13665
+ cmp lr, #3
+ bls .L12991
+ cmp r5, #0
+ ldr r2, [r7, #4]
+ ldreq r4, [sp, #60]
+ beq .L12995
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #60]
+ mov r4, #0
+.L12996:
+ ands r3, ip, #255
+ beq .L12997
+ ldr r2, [lr, #0]
+ ldr r8, [sp, #24]
+ tst r2, #256
+ orr r1, r8, r3
+ orr r0, r8, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12997:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L12996
+ ldr ip, [sp, #60]
+ add r4, ip, r5, asl #2
+.L12995:
+ ldr r0, [sp, #80]
+ add r7, r7, #64
+ rsb r6, r5, r0
+ b .L12952
+.L12542:
+ ldr r8, [sp, #80]
+ rsb r5, r3, #8
+ cmp r8, r5
+ blt .L13666
+ cmp r5, #0
+ ldr r2, [r7, #0]
+ ldreq r4, [sp, #60]
+ beq .L12557
+ mov r3, r3, asl #2
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #60]
+ mov r4, #0
+.L12558:
+ ands r3, ip, #15
+ beq .L12559
+ ldr r1, [lr, #0]
+ orr r2, r6, r3
+ ldr r3, [sp, #24]
+ ldr r8, [sp, #24]
+ orr r0, r3, r2
+ mov r3, r1, lsr #16
+ mov r3, r3, asl #16
+ orr r2, r8, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [lr, #0]
+ streq r2, [lr, #0]
+.L12559:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, lsr #4
+ add lr, lr, #4
+ bne .L12558
+ ldr r9, [sp, #60]
+ add r4, r9, r5, asl #2
+.L12557:
+ ldr ip, [sp, #80]
+ add r7, r7, #32
+ rsb sl, r5, ip
+ b .L12544
+.L13659:
+ cmp r6, #0
+ ldr r1, [r4, #4]
+ ldreq r1, [sp, #60]
+ beq .L13103
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov ip, r1, lsr r3
+ ldr lr, [sp, #60]
+ mov r5, #0
+.L13104:
+ ands r3, ip, #255
+ beq .L13105
+ ldr r2, [lr, #0]
+ ldr r8, [sp, #24]
+ tst r2, #256
+ orr r1, r8, r3
+ orr r0, r8, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L13105:
+ add r5, r5, #1
+ cmp r5, r6
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L13104
+ ldr ip, [sp, #60]
+ add r4, r4, #64
+ add r1, ip, r6, asl #2
+ b .L13098
+.L13666:
+ cmp r8, #0
+ ble .L12455
+ ldr r2, [ip, r0]
+ mov r3, r3, asl #2
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #60]
+ mov r4, #0
+.L12549:
+ ands r3, ip, #15
+ beq .L12550
+ ldr r1, [lr, #0]
+ ldr r9, [sp, #24]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, r9, r2
+ mov r3, r3, asl #16
+ orr r2, r9, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [lr, #0]
+ streq r2, [lr, #0]
+.L12550:
+ ldr sl, [sp, #80]
+ add r4, r4, #1
+ cmp sl, r4
+ mov ip, ip, lsr #4
+ add lr, lr, #4
+ bne .L12549
+ b .L12455
+.L13657:
+ cmp r6, #0
+ ldr r1, [r4, #0]
+ ldreq r0, [sp, #60]
+ beq .L13439
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov ip, r1, asl r3
+ ldr lr, [sp, #60]
+ mov r5, #0
+.L13440:
+ movs r3, ip, lsr #24
+ beq .L13441
+ ldr r2, [lr, #0]
+ ldr r8, [sp, #24]
+ tst r2, #256
+ orr r1, r8, r3
+ orr r0, r8, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L13441:
+ add r5, r5, #1
+ cmp r5, r6
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L13440
+ ldr ip, [sp, #60]
+ sub r4, r4, #64
+ add r0, ip, r6, asl #2
+ b .L13434
+.L13664:
+ cmp r3, #0
+ ble .L12455
+ cmp lr, #3
+ bls .L13292
+ mov r3, lr, asl #3
+ ldr r2, [r8, #0]
+ sub r3, r3, #32
+ mov ip, r2, asl r3
+ ldr lr, [sp, #60]
+ mov r4, #0
+.L13295:
+ movs r3, ip, lsr #24
+ beq .L13296
+ ldr r2, [lr, #0]
+ ldr r5, [sp, #24]
+ tst r2, #256
+ orr r1, r5, r3
+ orr r0, r5, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L13296:
+ ldr r6, [sp, #80]
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L13295
+ b .L12455
+.L13665:
+ cmp r2, #0
+ ble .L12455
+ cmp lr, #3
+ bls .L12956
+ mov r3, lr, asl #3
+ ldr r2, [r7, #4]
+ sub r3, r3, #32
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #60]
+ mov r4, #0
+.L12959:
+ ands r3, ip, #255
+ beq .L12960
+ ldr r2, [lr, #0]
+ ldr r5, [sp, #24]
+ tst r2, #256
+ orr r1, r5, r3
+ orr r0, r5, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12960:
+ ldr r6, [sp, #80]
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L12959
+ b .L12455
+.L13663:
+ cmp r2, #0
+ ble .L12455
+ ldr r2, [ip, #0]
+ mov r3, r4, asl #2
+ mov ip, r2, asl r3
+ ldr lr, [sp, #60]
+ mov r4, #0
+.L12753:
+ movs r3, ip, lsr #28
+ beq .L12754
+ ldr r1, [lr, #0]
+ orr r2, r6, r3
+ ldr r3, [sp, #24]
+ ldr r5, [sp, #24]
+ orr r0, r3, r2
+ mov r3, r1, lsr #16
+ mov r3, r3, asl #16
+ orr r2, r5, r2
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [lr, #0]
+ streq r2, [lr, #0]
+.L12754:
+ ldr r7, [sp, #80]
+ add r4, r4, #1
+ cmp r7, r4
+ mov ip, ip, asl #4
+ add lr, lr, #4
+ bne .L12753
+ b .L12455
+.L13669:
+ mov r6, #0
+ b .L12520
+.L13668:
+ mov r4, #0
+ b .L12480
+.L13327:
+ subs r6, r5, #4
+ ldr r2, [r8, #4]
+ ldreq r2, [sp, #60]
+ beq .L13341
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov ip, r2, asl r3
+ ldr lr, [sp, #60]
+ mov r4, #0
+.L13342:
+ movs r3, ip, lsr #24
+ beq .L13343
+ ldr r2, [lr, #0]
+ ldr r9, [sp, #24]
+ tst r2, #256
+ orr r1, r9, r3
+ orr r0, r9, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L13343:
+ add r4, r4, #1
+ cmp r4, r6
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L13342
+ ldr sl, [sp, #60]
+ add r3, sl, r5, asl #2
+ sub r2, r3, #16
+.L13341:
+ ldr r1, [r8, #0]
+ cmp r1, #0
+ beq .L13349
+ ands r0, r1, #255
+ beq .L13351
+ ldr r3, [r2, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne ip, [sp, #24]
+ ldreq lr, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, ip, r3
+ orreq r3, lr, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r2, #12]
+ streq r3, [r2, #12]
+.L13351:
+ mov r3, r1, lsr #8
+ ands r0, r3, #255
+ beq .L13355
+ ldr r3, [r2, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r4, [sp, #24]
+ ldreq r6, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r2, #8]
+ streq r3, [r2, #8]
+.L13355:
+ mov r3, r1, lsr #16
+ ands r0, r3, #255
+ beq .L13359
+ ldr r3, [r2, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r7, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r7, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r2, #4]
+ streq r3, [r2, #4]
+.L13359:
+ movs r1, r1, lsr #24
+ beq .L13349
+ ldr r3, [r2, #0]
+ tst r3, #256
+ beq .L13364
+ mov r3, r3, lsr #16
+ ldr sl, [sp, #24]
+ mov r3, r3, asl #16
+ orr r3, sl, r3
+ orr r3, r1, r3
+ str r3, [r2, #0]
+.L13349:
+ add r4, r2, #16
+ b .L13331
+.L12991:
+ subs r6, r5, #4
+ ldr r2, [r7, #0]
+ ldreq r2, [sp, #60]
+ beq .L13005
+ mov r3, lr, asl #3
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #60]
+ mov r4, #0
+.L13006:
+ ands r3, ip, #255
+ beq .L13007
+ ldr r2, [lr, #0]
+ ldr r9, [sp, #24]
+ tst r2, #256
+ orr r1, r9, r3
+ orr r0, r9, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L13007:
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L13006
+ ldr sl, [sp, #60]
+ add r3, sl, r5, asl #2
+ sub r2, r3, #16
+.L13005:
+ ldr r1, [r7, #4]
+ cmp r1, #0
+ beq .L13013
+ ands r0, r1, #255
+ beq .L13015
+ ldr r3, [r2, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne ip, [sp, #24]
+ ldreq lr, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, ip, r3
+ orreq r3, lr, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r2, #0]
+ streq r3, [r2, #0]
+.L13015:
+ mov r3, r1, lsr #8
+ ands r0, r3, #255
+ beq .L13019
+ ldr r3, [r2, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r4, [sp, #24]
+ ldreq r6, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r6, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r2, #4]
+ streq r3, [r2, #4]
+.L13019:
+ mov r3, r1, lsr #16
+ ands r0, r3, #255
+ beq .L13023
+ ldr r3, [r2, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ ldrne r8, [sp, #24]
+ ldreq r9, [sp, #24]
+ movne r3, r3, asl #16
+ orrne r3, r8, r3
+ orreq r3, r9, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r0, r3
+ strne r3, [r2, #8]
+ streq r3, [r2, #8]
+.L13023:
+ movs r1, r1, lsr #24
+ beq .L13013
+ ldr r3, [r2, #12]
+ tst r3, #256
+ beq .L13028
+ mov r3, r3, lsr #16
+ ldr sl, [sp, #24]
+ mov r3, r3, asl #16
+ orr r3, sl, r3
+ orr r3, r1, r3
+ str r3, [r2, #12]
+.L13013:
+ add r4, r2, #16
+ b .L12995
+.L13667:
+ mov lr, r7
+ b .L13631
+.L13292:
+ ldr r7, [sp, #80]
+ mov r3, lr, asl #3
+ ldr r1, [r8, #4]
+ add r2, r7, lr
+ sub r3, r3, #32
+ cmp r2, #4
+ mov ip, r1, asl r3
+ bhi .L13301
+ cmp r7, #0
+ ldrne lr, [sp, #60]
+ movne r4, #0
+ beq .L12455
+.L13321:
+ movs r3, ip, lsr #24
+ beq .L13322
+ ldr r2, [lr, #0]
+ ldr r5, [sp, #24]
+ tst r2, #256
+ orr r1, r5, r3
+ orr r0, r5, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L13322:
+ ldr r6, [sp, #80]
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L13321
+ b .L12455
+.L12956:
+ ldr r8, [sp, #80]
+ ldr r3, [r7, #0]
+ add r2, r8, lr
+ mov r1, lr, asl #3
+ cmp r2, #4
+ mov ip, r3, lsr r1
+ bhi .L12965
+ cmp r8, #0
+ ldrne lr, [sp, #60]
+ movne r4, #0
+ beq .L12455
+.L12985:
+ ands r3, ip, #255
+ beq .L12986
+ ldr r2, [lr, #0]
+ ldr r5, [sp, #24]
+ tst r2, #256
+ orr r1, r5, r3
+ orr r0, r5, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12986:
+ ldr r6, [sp, #80]
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L12985
+ b .L12455
+.L12965:
+ rsbs r5, lr, #4
+ ldreq lr, [sp, #60]
+ beq .L12970
+ ldr lr, [sp, #60]
+ mov r4, #0
+.L12971:
+ ands r3, ip, #255
+ beq .L12972
+ ldr r2, [lr, #0]
+ ldr r9, [sp, #24]
+ tst r2, #256
+ orr r1, r9, r3
+ orr r0, r9, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12972:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L12971
+ ldr sl, [sp, #60]
+ add lr, sl, r5, asl #2
+.L12970:
+ ldr ip, [sp, #80]
+ subs r5, ip, r5
+ ldr ip, [r7, #4]
+ beq .L12455
+ mov r4, #0
+.L12979:
+ ands r3, ip, #255
+ beq .L12980
+ ldr r2, [lr, #0]
+ ldr r0, [sp, #24]
+ tst r2, #256
+ orr r1, r0, r3
+ orr r0, r0, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L12980:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L12979
+ b .L12455
+.L13301:
+ rsbs r5, lr, #4
+ ldreq lr, [sp, #60]
+ beq .L13306
+ ldr lr, [sp, #60]
+ mov r4, #0
+.L13307:
+ movs r3, ip, lsr #24
+ beq .L13308
+ ldr r2, [lr, #0]
+ ldr r9, [sp, #24]
+ tst r2, #256
+ orr r1, r9, r3
+ orr r0, r9, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L13308:
+ add r4, r4, #1
+ cmp r4, r5
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L13307
+ ldr sl, [sp, #60]
+ add lr, sl, r5, asl #2
+.L13306:
+ ldr ip, [sp, #80]
+ subs r5, ip, r5
+ ldr ip, [r8, #0]
+ beq .L12455
+ mov r4, #0
+.L13315:
+ movs r3, ip, lsr #24
+ beq .L13316
+ ldr r2, [lr, #0]
+ ldr r0, [sp, #24]
+ tst r2, #256
+ orr r1, r0, r3
+ orr r0, r0, r3
+ mov r3, r2, lsr #16
+ mov r3, r3, asl #16
+ orr r3, r3, r1
+ orr r1, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r1, [lr, #0]
+.L13316:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L13315
+ b .L12455
+.L13136:
+ ldr lr, [sp, #24]
+ orr r3, lr, r3, asl #16
+ orr r3, r2, r3
+ str r3, [r1, #12]
+ add r1, r1, #16
+ b .L13103
+.L13472:
+ ldr lr, [sp, #24]
+ add r0, r1, #16
+ orr r3, lr, r3, asl #16
+ orr r3, r2, r3
+ str r3, [r1, #0]
+ b .L13439
+.L13364:
+ ldr lr, [sp, #24]
+ add r4, r2, #16
+ orr r3, lr, r3, asl #16
+ orr r3, r1, r3
+ str r3, [r2, #0]
+ b .L13331
+.L13028:
+ ldr lr, [sp, #24]
+ add r4, r2, #16
+ orr r3, lr, r3, asl #16
+ orr r3, r1, r3
+ str r3, [r2, #12]
+ b .L12995
+ .size render_scanline_obj_alpha_obj_2D, .-render_scanline_obj_alpha_obj_2D
+ .align 2
+ .global render_scanline_obj_partial_alpha_1D
+ .type render_scanline_obj_partial_alpha_1D, %function
+render_scanline_obj_partial_alpha_1D:
+ @ args = 0, pretend = 0, frame = 148
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr ip, .L15733
+ sub sp, sp, #148
+ ldrh r4, [ip, #6]
+ add r0, r0, r0, asl #2
+ str r4, [sp, #40]
+ ldr r5, [sp, #40]
+ ldrh r4, [ip, #80]
+ ldr ip, .L15733+4
+ add r0, r5, r0, asl #5
+ ldr ip, [ip, r0, asl #2]
+ mov lr, r4, lsr #11
+ and lr, lr, #2
+ mov r4, r4, asl #27
+ str ip, [sp, #44]
+ orr lr, lr, r4, lsr #31
+ cmp ip, #0
+ ldr ip, .L15733+8
+ mov lr, lr, asl #9
+ add r0, ip, r0, asl #7
+ orr lr, lr, #256
+ str r0, [sp, #48]
+ str r1, [sp, #8]
+ str r2, [sp, #4]
+ str r3, [sp, #0]
+ str lr, [sp, #28]
+ beq .L15634
+ mov ip, #0
+ add r7, r3, r1, asl #2
+ rsb r8, r1, r2
+ str r7, [sp, #108]
+ str r8, [sp, #144]
+ str ip, [sp, #32]
+ mov lr, ip
+.L13677:
+ ldr r0, [sp, #48]
+ ldr r1, .L15733+12
+ ldrb r3, [lr, r0] @ zero_extendqisi2
+ mov r3, r3, asl #3
+ ldrh lr, [r3, r1]
+ add r3, r3, r1
+ ldrh r4, [r3, #2]
+ mov r0, lr, lsr #12
+ and r2, r0, #12
+ ldrh r3, [r3, #4]
+ orr r1, r2, r4, lsr #14
+ and ip, lr, #255
+ mov r2, r4, asl #23
+ cmp ip, #160
+ str r3, [sp, #36]
+ mov r5, r2, asr #23
+ ldr r3, .L15733+16
+ ldr r2, .L15733+20
+ subgt ip, ip, #256
+ tst lr, #3072
+ ldr r7, [r2, r1, asl #2]
+ ldr sl, [r3, r1, asl #2]
+ beq .L13680
+ tst lr, #256
+ beq .L13682
+ tst lr, #8192
+ beq .L13684
+ mov r3, r4, lsr #4
+ ldr r4, .L15733+12
+ add r2, r7, r7, lsr #31
+ and r3, r3, #992
+ tst lr, #512
+ add r3, r3, r4
+ mov lr, r2, asr #1
+ add r1, sl, sl, lsr #31
+ ldr r2, [sp, #8]
+ mov r4, r1, asr #1
+ ldrh r9, [r3, #30]
+ ldrh r8, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh r3, [r3, #22]
+ moveq r6, r7
+ moveq fp, lr
+ moveq r0, r4
+ movne r6, r7, asl #1
+ movne fp, lr, asl #1
+ movne r0, r4, asl #1
+ cmp r5, r2
+ str r3, [sp, #12]
+ bge .L13689
+ rsb r2, r5, r2
+ rsb r6, r2, r6
+ cmp r6, #0
+ ble .L13691
+ ldr r5, [sp, #8]
+ rsb fp, r2, fp
+.L13689:
+ ldr r2, [sp, #4]
+ add r3, r5, r6
+ cmp r3, r2
+ blt .L13693
+ rsb r6, r5, r2
+ cmp r6, #0
+ ble .L13691
+.L13693:
+ mov r2, r1, asl #16
+ mov r3, r8, asl #16
+ mov r2, r2, asr #16
+ ldr r8, [sp, #12]
+ add r0, ip, r0
+ str r2, [sp, #52]
+ ldr ip, [sp, #0]
+ ldr r2, [sp, #40]
+ mov r1, r9, asl #16
+ mov lr, lr, asl #8
+ cmp r8, #0
+ str lr, [sp, #128]
+ mov r9, r3, asr #16
+ mov r1, r1, asr #16
+ mov r4, r4, asl #8
+ add r5, ip, r5, asl #2
+ rsb lr, r0, r2
+ bne .L13695
+ mla r3, lr, r1, r4
+ mov r2, r3, asr #8
+ cmp r2, sl
+ bcs .L13691
+ cmp r7, #0
+ ldr r4, [sp, #36]
+ add r3, r7, #7
+ movge r3, r7
+ mov r1, r4, asl #22
+ mov r3, r3, asr #3
+ mov r0, r2, lsr #3
+ mov r3, r3, asl #1
+ mov r1, r1, lsr #22
+ mla ip, r3, r0, r1
+ and r2, r2, #7
+ ldr r8, .L15733+24
+ add r2, r2, ip, asl #2
+ cmp r6, #0
+ add r4, r8, r2, asl #3
+ ble .L13691
+ ldr r3, [sp, #52]
+ mul r2, r9, fp
+ mul r3, lr, r3
+ ldr ip, [sp, #128]
+ rsb r3, r2, r3
+ add r0, ip, r3
+ mov r2, r0, asr #8
+ cmp r2, r7
+ ldrcs ip, [sp, #12]
+ bcs .L13701
+ b .L15725
+.L13702:
+ cmp r2, r7
+ bcc .L15660
+.L13701:
+ add ip, ip, #1
+ add r0, r0, r9
+ cmp r6, ip
+ mov r2, r0, asr #8
+ add r5, r5, #4
+ bne .L13702
+.L13691:
+ ldr r0, [sp, #32]
+ ldr r1, [sp, #44]
+ add r0, r0, #1
+ cmp r0, r1
+ str r0, [sp, #32]
+ beq .L15634
+.L15686:
+ ldr lr, [sp, #32]
+ b .L13677
+.L13680:
+ tst lr, #256
+ beq .L14852
+ tst lr, #8192
+ beq .L14854
+ mov r3, r4, lsr #4
+ ldr r4, .L15733+12
+ add r1, sl, sl, lsr #31
+ and r3, r3, #992
+ add r3, r3, r4
+ add r2, r7, r7, lsr #31
+ mov r4, r1, asr #1
+ ldr r1, [sp, #8]
+ tst lr, #512
+ ldrh r8, [r3, #30]
+ mov lr, r2, asr #1
+ moveq r9, r7
+ moveq r6, lr
+ moveq r0, r4
+ movne r9, r7, asl #1
+ movne r6, lr, asl #1
+ movne r0, r4, asl #1
+ cmp r5, r1
+ str r8, [sp, #20]
+ ldrh r2, [r3, #14]
+ ldrh r8, [r3, #6]
+ ldrh fp, [r3, #22]
+ bge .L14859
+ rsb r1, r5, r1
+ rsb r9, r1, r9
+ cmp r9, #0
+ ble .L13691
+ ldr r5, [sp, #8]
+ rsb r6, r1, r6
+.L14859:
+ ldr r1, [sp, #4]
+ add r3, r5, r9
+ cmp r3, r1
+ blt .L14862
+ rsb r9, r5, r1
+ cmp r9, #0
+ ble .L13691
+.L14862:
+ mov r2, r2, asl #16
+ mov r3, r8, asl #16
+ mov r2, r2, asr #16
+ ldr r8, [sp, #20]
+ mov lr, lr, asl #8
+ str r2, [sp, #76]
+ str lr, [sp, #80]
+ ldr r2, [sp, #40]
+ ldr lr, [sp, #0]
+ add r0, ip, r0
+ mov r1, r8, asl #16
+ mov r3, r3, asr #16
+ cmp fp, #0
+ add r8, lr, r5, asl #2
+ str r3, [sp, #72]
+ mov r1, r1, asr #16
+ mov ip, r4, asl #8
+ rsb lr, r0, r2
+ bne .L14864
+ mla r3, lr, r1, ip
+ mov r2, r3, asr #8
+ cmp r2, sl
+ bcs .L13691
+ cmp r7, #0
+ ldr r4, [sp, #36]
+ add r3, r7, #7
+ movge r3, r7
+ mov r1, r4, asl #22
+ mov r3, r3, asr #3
+ mov r0, r2, lsr #3
+ mov r3, r3, asl #1
+ mov r1, r1, lsr #22
+ mla ip, r3, r0, r1
+ and r2, r2, #7
+ ldr r5, .L15733+24
+ add r2, r2, ip, asl #2
+ cmp r9, #0
+ add r4, r5, r2, asl #3
+ ble .L13691
+ ldr r3, [sp, #76]
+ ldr r2, [sp, #72]
+ mul r3, lr, r3
+ mul r2, r6, r2
+ ldr ip, [sp, #80]
+ rsb r3, r2, r3
+ add r0, ip, r3
+ mov lr, r0, asr #8
+ cmp lr, r7
+ movcs ip, fp
+ bcs .L14870
+ b .L15726
+.L14871:
+ cmp lr, r7
+ bcc .L15672
+.L14870:
+ ldr lr, [sp, #72]
+ add ip, ip, #1
+ add r0, r0, lr
+ cmp r9, ip
+ mov lr, r0, asr #8
+ add r8, r8, #4
+ bne .L14871
+ ldr r0, [sp, #32]
+ ldr r1, [sp, #44]
+ add r0, r0, #1
+ cmp r0, r1
+ str r0, [sp, #32]
+ bne .L15686
+.L15634:
+ add sp, sp, #148
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L13682:
+ ldr r1, [sp, #40]
+ tst r4, #8192
+ rsb ip, ip, r1
+ rsbne r3, ip, sl
+ subne ip, r3, #1
+ mov r2, r4, asl #19
+ and r3, r0, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L13691
+ .p2align 2
+.L13771:
+ .word .L13767
+ .word .L13768
+ .word .L13769
+ .word .L13770
+.L14852:
+ ldr lr, [sp, #40]
+ tst r4, #8192
+ rsb ip, ip, lr
+ rsbne r3, ip, sl
+ subne ip, r3, #1
+ mov r2, r4, asl #19
+ and r3, r0, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L13691
+ .p2align 2
+.L14933:
+ .word .L14929
+ .word .L14930
+ .word .L14931
+ .word .L14932
+.L14854:
+ mov r3, r4, lsr #4
+ ldr r1, .L15733+12
+ and r3, r3, #992
+ add r3, r3, r1
+ ldrh r4, [r3, #30]
+ add r1, sl, sl, lsr #31
+ add r2, r7, r7, lsr #31
+ str r4, [sp, #24]
+ mov r4, r1, asr #1
+ ldr r1, [sp, #8]
+ tst lr, #512
+ mov lr, r2, asr #1
+ moveq fp, r7
+ moveq r6, lr
+ moveq r0, r4
+ movne fp, r7, asl #1
+ movne r6, lr, asl #1
+ movne r0, r4, asl #1
+ cmp r5, r1
+ ldrh r8, [r3, #6]
+ ldrh r2, [r3, #14]
+ ldrh r9, [r3, #22]
+ bge .L14891
+ rsb r1, r5, r1
+ rsb fp, r1, fp
+ cmp fp, #0
+ ble .L13691
+ ldr r5, [sp, #8]
+ rsb r6, r1, r6
+.L14891:
+ ldr r1, [sp, #4]
+ add r3, r5, fp
+ cmp r3, r1
+ blt .L14894
+ rsb fp, r5, r1
+ cmp fp, #0
+ ble .L13691
+.L14894:
+ mov r3, r8, asl #16
+ ldr r8, [sp, #24]
+ mov r2, r2, asl #16
+ mov r1, r8, asl #16
+ ldr r8, [sp, #36]
+ mov r2, r2, asr #16
+ mov lr, lr, asl #8
+ add ip, ip, r0
+ str r2, [sp, #92]
+ mov r0, r8, lsr #8
+ str lr, [sp, #100]
+ ldr r2, [sp, #40]
+ ldr lr, [sp, #0]
+ mov r3, r3, asr #16
+ and r0, r0, #240
+ cmp r9, #0
+ add r8, lr, r5, asl #2
+ str r3, [sp, #88]
+ mov r1, r1, asr #16
+ mov r4, r4, asl #8
+ rsb lr, ip, r2
+ str r0, [sp, #136]
+ bne .L14896
+ mla r3, lr, r1, r4
+ mov r3, r3, asr #8
+ cmp r3, sl
+ bcs .L13691
+ ldr r4, [sp, #36]
+ cmp r7, #0
+ add r2, r7, #7
+ mov r1, r4, asl #22
+ movge r2, r7
+ mov r1, r1, lsr #22
+ mov r0, r3, lsr #3
+ mov r2, r2, asr #3
+ mla ip, r2, r0, r1
+ and r3, r3, #7
+ ldr r5, .L15733+24
+ add r3, r3, ip, asl #3
+ cmp fp, #0
+ add r1, r5, r3, asl #2
+ ble .L13691
+ ldr r3, [sp, #92]
+ ldr r2, [sp, #88]
+ mul r3, lr, r3
+ mul r2, r6, r2
+ ldr ip, [sp, #100]
+ rsb r3, r2, r3
+ add r0, ip, r3
+ mov r3, r0, asr #8
+ cmp r3, r7
+ mov lr, r3
+ movcs r4, r9
+ bcs .L14902
+ b .L15727
+.L14903:
+ cmp r3, r7
+ bcc .L14904
+.L14902:
+ ldr lr, [sp, #88]
+ add r4, r4, #1
+ add r0, r0, lr
+ mov r3, r0, asr #8
+ cmp fp, r4
+ add r8, r8, #4
+ mov lr, r3
+ bne .L14903
+ b .L13691
+.L13684:
+ mov r3, r4, lsr #4
+ ldr r4, .L15733+12
+ add r2, r7, r7, lsr #31
+ and r3, r3, #992
+ tst lr, #512
+ add r3, r3, r4
+ mov lr, r2, asr #1
+ add r1, sl, sl, lsr #31
+ ldr r2, [sp, #8]
+ mov r4, r1, asr #1
+ ldrh r9, [r3, #30]
+ ldrh r8, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh r3, [r3, #22]
+ moveq fp, r7
+ moveq r6, lr
+ moveq r0, r4
+ movne fp, r7, asl #1
+ movne r6, lr, asl #1
+ movne r0, r4, asl #1
+ cmp r5, r2
+ str r3, [sp, #16]
+ bge .L13726
+ rsb r2, r5, r2
+ rsb fp, r2, fp
+ cmp fp, #0
+ ble .L13691
+ ldr r5, [sp, #8]
+ rsb r6, r2, r6
+.L13726:
+ ldr r2, [sp, #4]
+ add r3, r5, fp
+ cmp r3, r2
+ blt .L13729
+ rsb fp, r5, r2
+ cmp fp, #0
+ ble .L13691
+.L13729:
+ mov r3, r8, asl #16
+ ldr r8, [sp, #16]
+ mov r2, r1, asl #16
+ cmp r8, #0
+ ldr r8, [sp, #36]
+ mov lr, lr, asl #8
+ add ip, ip, r0
+ str lr, [sp, #132]
+ mov r0, r8, lsr #8
+ ldr lr, [sp, #0]
+ mov r8, r2, asr #16
+ ldr r2, [sp, #40]
+ mov r1, r9, asl #16
+ mov r3, r3, asr #16
+ and r0, r0, #240
+ add r9, lr, r5, asl #2
+ str r3, [sp, #60]
+ mov r1, r1, asr #16
+ mov r4, r4, asl #8
+ rsb lr, ip, r2
+ str r0, [sp, #140]
+ bne .L13731
+ mla r3, lr, r1, r4
+ mov r3, r3, asr #8
+ cmp r3, sl
+ bcs .L13691
+ ldr r4, [sp, #36]
+ cmp r7, #0
+ add r2, r7, #7
+ mov r1, r4, asl #22
+ movge r2, r7
+ mov r0, r3, lsr #3
+ mov r1, r1, lsr #22
+ mov r2, r2, asr #3
+ mla ip, r2, r0, r1
+ and r3, r3, #7
+ add r3, r3, ip, asl #3
+ ldr ip, .L15733+24
+ cmp fp, #0
+ add r5, ip, r3, asl #2
+ ble .L13691
+ ldr r2, [sp, #60]
+ mul r3, lr, r8
+ mul r2, r6, r2
+ ldr lr, [sp, #132]
+ rsb r3, r2, r3
+ add ip, lr, r3
+ mov r1, ip, asr #8
+ cmp r1, r7
+ ldrcs lr, [sp, #16]
+ bcs .L13737
+ b .L15728
+.L13738:
+ cmp r1, r7
+ bcc .L15662
+.L13737:
+ ldr r0, [sp, #60]
+ add lr, lr, #1
+ add ip, ip, r0
+ cmp fp, lr
+ mov r1, ip, asr #8
+ add r9, r9, #4
+ bne .L13738
+ b .L13691
+.L13740:
+ cmp r1, r7
+ bcs .L13691
+.L15662:
+ mov r3, r1, asr #1
+ and r4, r3, #3
+ mov r3, r1, asr #3
+ mov r3, r3, asl #5
+ mov r2, r1, asr #1
+ and r0, r2, #3
+ tst r1, #1
+ add r2, r3, r5
+ add r1, r3, r5
+ ldrneb r3, [r1, r4] @ zero_extendqisi2
+ ldreqb r3, [r2, r0] @ zero_extendqisi2
+ movne r0, r3, lsr #4
+ andeq r0, r3, #15
+ ldr r1, [sp, #140]
+ cmp r0, #0
+ orr r0, r0, r1
+ beq .L13745
+ ldr r2, [r9, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r9, #0]
+ streq r0, [r9, #0]
+.L13745:
+ ldr r2, [sp, #60]
+ add lr, lr, #1
+ add ip, ip, r2
+ cmp fp, lr
+ add r9, r9, #4
+ mov r1, ip, asr #8
+ bgt .L13740
+ b .L13691
+.L13731:
+ ldr r5, [sp, #36]
+ cmp r7, #0
+ add r2, r7, #7
+ mov r3, r5, asl #22
+ movge r2, r7
+ ldr ip, .L15733+24
+ mov r3, r3, lsr #22
+ mov r2, r2, asr #3
+ add r3, ip, r3, asl #5
+ mov r2, r2, asl #5
+ cmp fp, #0
+ str r3, [sp, #120]
+ str r2, [sp, #68]
+ ble .L13691
+ ldr r0, [sp, #16]
+ mul r2, lr, r1
+ mov r3, r0, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #64]
+ ldr r1, [sp, #64]
+ ldr r0, [sp, #60]
+ mul r1, r6, r1
+ mul r3, lr, r8
+ mul r0, r6, r0
+ rsb r2, r1, r2
+ ldr r1, [sp, #132]
+ rsb r3, r0, r3
+ add r5, r4, r2
+ add r6, r1, r3
+ mov r4, r6, asr #8
+ mov r3, r5, asr #8
+ cmp r4, r7
+ cmpcc r3, sl
+ movcs r2, #0
+ movcc r2, #1
+ movcs r8, r2
+ bcs .L13752
+ b .L15729
+.L13753:
+ cmp r4, r7
+ cmpcc r3, sl
+ bcc .L13754
+.L13752:
+ ldr r3, [sp, #64]
+ ldr r2, [sp, #60]
+ add r8, r8, #1
+ add r6, r6, r2
+ add r5, r5, r3
+ cmp fp, r8
+ mov r4, r6, asr #8
+ mov r3, r5, asr #8
+ add r9, r9, #4
+ bne .L13753
+ b .L13691
+.L14896:
+ ldr r0, [sp, #36]
+ cmp r7, #0
+ add r2, r7, #7
+ mov r3, r0, asl #22
+ movge r2, r7
+ ldr r5, .L15733+24
+ mov r3, r3, lsr #22
+ mov r2, r2, asr #3
+ add r3, r5, r3, asl #5
+ mov r2, r2, asl #5
+ cmp fp, #0
+ str r3, [sp, #112]
+ str r2, [sp, #104]
+ ble .L13691
+ mov r3, r9, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #96]
+ mul r2, lr, r1
+ ldr r3, [sp, #92]
+ ldr r1, [sp, #96]
+ ldr r0, [sp, #88]
+ mul r3, lr, r3
+ mul r1, r6, r1
+ mul r0, r6, r0
+ ldr ip, [sp, #100]
+ rsb r2, r1, r2
+ rsb r3, r0, r3
+ add r5, ip, r3
+ add r4, r4, r2
+ mov lr, r5, asr #8
+ mov r2, r4, asr #8
+ cmp lr, r7
+ cmpcc r2, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L14916
+ b .L15730
+.L14917:
+ cmp lr, r7
+ cmpcc r2, sl
+ bcc .L14918
+.L14916:
+ ldr lr, [sp, #88]
+ ldr r0, [sp, #96]
+ add r6, r6, #1
+ add r5, r5, lr
+ add r4, r4, r0
+ cmp fp, r6
+ mov lr, r5, asr #8
+ mov r2, r4, asr #8
+ add r8, r8, #4
+ bne .L14917
+ b .L13691
+.L14873:
+ cmp lr, r7
+ bcs .L13691
+.L15672:
+ ldr r1, [sp, #72]
+ mov r3, lr, asr #3
+ add r0, r0, r1
+ add r3, r4, r3, asl #6
+ and r1, lr, #7
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ ldr r5, [sp, #28]
+ cmp r2, #0
+ add ip, ip, #1
+ orr r3, r5, r2
+ strne r3, [r8, #0]
+ cmp r9, ip
+ mov lr, r0, asr #8
+ add r8, r8, #4
+ bgt .L14873
+ b .L13691
+.L13704:
+ cmp r2, r7
+ bcs .L13691
+.L15660:
+ mov r3, r2, asr #3
+ add r3, r4, r3, asl #6
+ and r2, r2, #7
+ ldrb lr, [r3, r2] @ zero_extendqisi2
+ cmp lr, #0
+ beq .L13706
+ ldr r3, [r5, #0]
+ mov r2, r3, lsr #16
+ mov r2, r2, asl #16
+ orr r1, lr, r3, asl #16
+ orr r2, r2, #768
+ tst r3, #256
+ orr r2, lr, r2
+ orr r1, r1, #768
+ strne r2, [r5, #0]
+ streq r1, [r5, #0]
+.L13706:
+ add ip, ip, #1
+ add r0, r0, r9
+ cmp r6, ip
+ add r5, r5, #4
+ mov r2, r0, asr #8
+ bgt .L13704
+ b .L13691
+.L13695:
+ ldr r0, [sp, #36]
+ cmp r7, #0
+ add r2, r7, #7
+ mov r3, r0, asl #22
+ movge r2, r7
+ ldr r8, .L15733+24
+ mov r3, r3, lsr #22
+ mov r2, r2, asr #3
+ add r3, r8, r3, asl #5
+ mov r2, r2, asl #6
+ cmp r6, #0
+ str r3, [sp, #124]
+ str r2, [sp, #56]
+ ble .L13691
+ ldr ip, [sp, #12]
+ mul r2, lr, r1
+ mov r3, ip, asl #16
+ mov r8, r3, asr #16
+ ldr r3, [sp, #52]
+ mul r1, r8, fp
+ mul r3, lr, r3
+ mul r0, r9, fp
+ ldr lr, [sp, #128]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add ip, lr, r3
+ add lr, r4, r2
+ mov r1, ip, asr #8
+ mov r0, lr, asr #8
+ cmp r1, r7
+ cmpcc r0, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r4, r3
+ bcs .L13713
+ b .L15731
+.L13714:
+ cmp r1, r7
+ cmpcc r0, sl
+ bcc .L13715
+.L13713:
+ add r4, r4, #1
+ add ip, ip, r9
+ add lr, lr, r8
+ cmp r6, r4
+ mov r1, ip, asr #8
+ mov r0, lr, asr #8
+ add r5, r5, #4
+ bne .L13714
+ b .L13691
+.L14864:
+ ldr r0, [sp, #36]
+ cmp r7, #0
+ add r2, r7, #7
+ mov r3, r0, asl #22
+ movge r2, r7
+ ldr r4, .L15733+24
+ mov r3, r3, lsr #22
+ mov r2, r2, asr #3
+ add r3, r4, r3, asl #5
+ mov r2, r2, asl #6
+ cmp r9, #0
+ str r3, [sp, #116]
+ str r2, [sp, #84]
+ ble .L13691
+ mov r3, fp, asl #16
+ mov fp, r3, asr #16
+ ldr r0, [sp, #72]
+ ldr r3, [sp, #76]
+ mul r2, lr, r1
+ mul r3, lr, r3
+ mul r1, fp, r6
+ mul r0, r6, r0
+ ldr lr, [sp, #80]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add r5, lr, r3
+ add ip, ip, r2
+ mov r4, r5, asr #8
+ mov lr, ip, asr #8
+ cmp r4, r7
+ cmpcc lr, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L14880
+ b .L15732
+.L14881:
+ cmp r4, r7
+ cmpcc lr, sl
+ bcc .L14882
+.L14880:
+ ldr r0, [sp, #72]
+ add r6, r6, #1
+ add r5, r5, r0
+ add ip, ip, fp
+ cmp r9, r6
+ mov r4, r5, asr #8
+ mov lr, ip, asr #8
+ add r8, r8, #4
+ bne .L14881
+ b .L13691
+.L14929:
+ ldr r0, [sp, #36]
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, r0, asl #22
+ movge r3, r7
+ mov r4, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r3, ip, lsr #3
+ mla r0, r4, r3, r2
+ ldr r8, [sp, #36]
+ ldr r2, [sp, #8]
+ and r1, ip, #7
+ ldr ip, .L15733+24
+ add r1, r1, r0, asl #3
+ mov r3, r8, lsr #8
+ cmp r5, r2
+ and r6, r3, #240
+ add r0, ip, r1, asl #2
+ bge .L14934
+ rsb lr, r5, r2
+ rsb r4, lr, r7
+ cmp r4, #0
+ ble .L13691
+ ldr r1, [sp, #4]
+ add r3, r5, r7
+ cmp r1, r3
+ bhi .L14937
+ mov r3, lr, lsr #3
+ mov r1, r3, asl #5
+ ands r3, lr, #7
+ add r4, r0, r1
+ bne .L14939
+ ldr r5, [sp, #144]
+ ldr r7, [sp, #108]
+.L14941:
+ movs lr, r5, lsr #3
+ beq .L14958
+ mov r1, r7
+ mov r0, r4
+ mov ip, #0
+.L14960:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L14961
+ ands r3, r2, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #8]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #12]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #16]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #20]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #24]
+ movs r3, r2, lsr #28
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #28]
+.L14961:
+ add ip, ip, #1
+ cmp lr, ip
+ add r0, r0, #32
+ add r1, r1, #32
+ bne .L14960
+ mov r3, lr, asl #5
+ add r4, r4, r3
+ add r7, r7, r3
+.L14958:
+ ands r0, r5, #7
+ beq .L13691
+ ldr r2, [r4, #0]
+ mov r1, #0
+.L14980:
+ ldr r4, [sp, #28]
+ ands r3, r2, #15
+ orr r3, r4, r3
+ orr r3, r6, r3
+ strne r3, [r7, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, lsr #4
+ bne .L14980
+ b .L13691
+.L14930:
+ ldr lr, [sp, #36]
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, lr, asl #22
+ movge r3, r7
+ mov r4, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r1, ip, lsr #3
+ mla r0, r4, r1, r2
+ subs r3, r7, #8
+ submi r3, r7, #1
+ add r0, r0, r3, asr #3
+ and r2, ip, #7
+ add r2, r2, r0, asl #3
+ ldr r0, [sp, #8]
+ ldr r1, .L15733+24
+ cmp r5, r0
+ mov r3, lr, lsr #8
+ and r6, r3, #240
+ add r0, r1, r2, asl #2
+ bge .L15064
+ ldr r2, [sp, #8]
+ rsb lr, r5, r2
+ rsb r1, lr, r7
+ cmp r1, #0
+ ble .L13691
+ ldr r4, [sp, #4]
+ add r3, r5, r7
+ cmp r4, r3
+ bhi .L15067
+ mov r3, lr, lsr #3
+ ands r4, lr, #7
+ sub r0, r0, r3, asl #5
+ bne .L15069
+ ldr r2, [sp, #144]
+ ldr r1, [sp, #108]
+.L15071:
+ movs r8, r2, lsr #3
+ beq .L15088
+ mov r4, r1
+ mov r5, r0
+ mov r7, #0
+.L15090:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L15091
+ ands r3, lr, #15
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #28]
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ movs r3, lr, lsr #28
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+.L15091:
+ add r7, r7, #1
+ cmp r7, r8
+ sub r5, r5, #32
+ add r4, r4, #32
+ bne .L15090
+ rsb r3, r8, r8, asl #27
+ add r0, r0, r3, asl #5
+ add r1, r1, r8, asl #5
+.L15088:
+ ands lr, r2, #7
+ beq .L13691
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L15110:
+ ldr r4, [sp, #28]
+ movs r3, r0, lsr #28
+ orr r3, r4, r3
+ orr r3, r6, r3
+ strne r3, [r1, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, lr
+ mov r0, r0, asl #4
+ bne .L15110
+ b .L13691
+.L15734:
+ .align 2
+.L15733:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word oam_ram
+ .word obj_height_table
+ .word obj_width_table
+ .word vram+65536
+.L14931:
+ ldr lr, [sp, #36]
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, ip, lsr #3
+ movge r3, r7
+ mov r1, lr, asl #22
+ mov r4, r3, asr #3
+ mov r2, r2, asl #1
+ mov r1, r1, lsr #22
+ mla r0, r2, r4, r1
+ and r3, ip, #7
+ ldr r1, [sp, #8]
+ add r3, r3, r0, asl #2
+ ldr r2, .L15733+24
+ mov r0, r3, asl #3
+ cmp r5, r1
+ add ip, r0, r2
+ bge .L15194
+ rsb r0, r5, r1
+ rsb lr, r0, r7
+ cmp lr, #0
+ ble .L13691
+ ldr r4, [sp, #4]
+ add r3, r5, r7
+ cmp r4, r3
+ bhi .L15197
+ mov r3, r0, lsr #3
+ ands lr, r0, #7
+ add r6, ip, r3, asl #6
+ bne .L15199
+ ldr r5, [sp, #144]
+ ldr r4, [sp, #108]
+.L15201:
+ movs lr, r5, lsr #3
+ beq .L15259
+ mov r1, r4
+ mov r0, r6
+ mov ip, #0
+.L15261:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L15262
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #12]
+.L15262:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L15271
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #16]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #20]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #24]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #28]
+.L15271:
+ add ip, ip, #1
+ cmp ip, lr
+ add r0, r0, #64
+ add r1, r1, #32
+ bne .L15261
+ add r6, r6, lr, asl #6
+ add r4, r4, lr, asl #5
+.L15259:
+ ands r0, r5, #7
+ beq .L13691
+ cmp r0, #3
+ ldrls r1, [r6, #0]
+ bls .L15294
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L15284
+ ands r3, r2, #255
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ strne r3, [r4, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r4, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, [sp, #28]
+ orrne r3, r1, r3
+ strne r3, [r4, #8]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r4, #12]
+.L15284:
+ subs r0, r0, #4
+ ldr r1, [r6, #4]
+ addne r4, r4, #16
+ beq .L13691
+.L15294:
+ mov r2, #0
+.L15295:
+ ldr r5, [sp, #28]
+ ands r3, r1, #255
+ orr r3, r5, r3
+ strne r3, [r4, r2, asl #2]
+ add r2, r2, #1
+ cmp r0, r2
+ mov r1, r1, lsr #8
+ bhi .L15295
+ b .L13691
+.L13769:
+ ldr r4, [sp, #36]
+ cmp r7, #0
+ add r3, r7, #7
+ mov r1, r4, asl #22
+ movge r3, r7
+ mov r2, ip, lsr #3
+ mov r4, r3, asr #3
+ mov r2, r2, asl #1
+ mov r1, r1, lsr #22
+ mla r0, r2, r4, r1
+ and r3, ip, #7
+ ldr r8, [sp, #8]
+ add r3, r3, r0, asl #2
+ ldr lr, .L15733+24
+ mov r0, r3, asl #3
+ cmp r5, r8
+ add ip, r0, lr
+ bge .L14180
+ rsb r0, r5, r8
+ rsb r8, r0, r7
+ cmp r8, #0
+ ble .L13691
+ ldr r1, [sp, #4]
+ add r3, r5, r7
+ cmp r1, r3
+ bhi .L14183
+ mov r3, r0, lsr #3
+ ands lr, r0, #7
+ add r7, ip, r3, asl #6
+ bne .L14185
+ ldr r6, [sp, #144]
+ ldr r4, [sp, #108]
+.L14187:
+ movs r5, r6, lsr #3
+ beq .L14265
+ mov r0, r4
+ mov ip, r7
+ mov lr, #0
+.L14267:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L14268
+ ands r1, r2, #255
+ beq .L14270
+ ldr r3, [r0, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L14270:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L14274
+ ldr r3, [r0, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L14274:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L14278
+ ldr r3, [r0, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L14278:
+ movs r2, r2, lsr #24
+ beq .L14268
+ ldr r1, [r0, #12]
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L14268:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L14285
+ ands r1, r2, #255
+ beq .L14287
+ ldr r3, [r0, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L14287:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L14291
+ ldr r3, [r0, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L14291:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L14295
+ ldr r3, [r0, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L14295:
+ movs r2, r2, lsr #24
+ beq .L14285
+ ldr r3, [r0, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L14285:
+ add lr, lr, #1
+ cmp r5, lr
+ add ip, ip, #64
+ add r0, r0, #32
+ bne .L14267
+ add r7, r7, r5, asl #6
+ add r4, r4, r5, asl #5
+.L14265:
+ ands r5, r6, #7
+ beq .L13691
+ cmp r5, #3
+ ldrls ip, [r7, #0]
+ bls .L14324
+ ldr r2, [r7, #0]
+ cmp r2, #0
+ beq .L14306
+ ands r1, r2, #255
+ beq .L14308
+ ldr r3, [r4, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L14308:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L14312
+ ldr r3, [r4, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L14312:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L14316
+ ldr r3, [r4, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L14316:
+ movs r2, r2, lsr #24
+ beq .L14306
+ ldr r1, [r4, #12]
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L14306:
+ subs r5, r5, #4
+ ldr ip, [r7, #4]
+ addne r4, r4, #16
+ beq .L13691
+.L14324:
+ mov lr, #0
+.L14325:
+ ands r0, ip, #255
+ beq .L14326
+ ldr r2, [r4, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r4, #0]
+ streq r0, [r4, #0]
+.L14326:
+ add lr, lr, #1
+ cmp lr, r5
+ mov ip, ip, lsr #8
+ add r4, r4, #4
+ bcc .L14325
+ b .L13691
+.L13767:
+ ldr r4, [sp, #36]
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, r4, asl #22
+ movge r3, r7
+ mov r8, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r3, ip, lsr #3
+ mla r0, r8, r3, r2
+ and r1, ip, #7
+ ldr ip, [sp, #8]
+ ldr lr, .L15733+24
+ add r1, r1, r0, asl #3
+ mov r3, r4, lsr #8
+ cmp r5, ip
+ and r6, r3, #240
+ add r0, lr, r1, asl #2
+ bge .L13772
+ rsb lr, r5, ip
+ rsb r8, lr, r7
+ cmp r8, #0
+ ble .L13691
+ ldr r1, [sp, #4]
+ add r3, r5, r7
+ cmp r1, r3
+ bhi .L13775
+ mov r3, lr, lsr #3
+ mov r1, r3, asl #5
+ ands r3, lr, #7
+ add r8, r0, r1
+ bne .L13777
+ ldr sl, [sp, #144]
+ ldr r4, [sp, #108]
+.L13779:
+ movs r7, sl, lsr #3
+ beq .L13800
+ mov ip, r4
+ mov lr, r8
+ mov r5, #0
+.L13802:
+ ldr r0, [lr, #0]
+ cmp r0, #0
+ beq .L13803
+ ands r2, r0, #15
+ beq .L13805
+ ldr r1, [ip, #0]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #0]
+ streq r3, [ip, #0]
+.L13805:
+ mov r3, r0, lsr #4
+ ands r2, r3, #15
+ beq .L13809
+ ldr r1, [ip, #4]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #4]
+ streq r3, [ip, #4]
+.L13809:
+ mov r3, r0, lsr #8
+ ands r2, r3, #15
+ beq .L13813
+ ldr r1, [ip, #8]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #8]
+ streq r3, [ip, #8]
+.L13813:
+ mov r3, r0, lsr #12
+ ands r2, r3, #15
+ beq .L13817
+ ldr r1, [ip, #12]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #12]
+ streq r3, [ip, #12]
+.L13817:
+ mov r3, r0, lsr #16
+ ands r2, r3, #15
+ beq .L13821
+ ldr r1, [ip, #16]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #16]
+ streq r3, [ip, #16]
+.L13821:
+ mov r3, r0, lsr #20
+ ands r2, r3, #15
+ beq .L13825
+ ldr r1, [ip, #20]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #20]
+ streq r3, [ip, #20]
+.L13825:
+ mov r3, r0, lsr #24
+ ands r2, r3, #15
+ beq .L13829
+ ldr r1, [ip, #24]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #24]
+ streq r3, [ip, #24]
+.L13829:
+ movs r2, r0, lsr #28
+ beq .L13803
+ ldr r1, [ip, #28]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #28]
+ streq r3, [ip, #28]
+.L13803:
+ add r5, r5, #1
+ cmp r7, r5
+ add lr, lr, #32
+ add ip, ip, #32
+ bne .L13802
+ mov r3, r7, asl #5
+ add r8, r8, r3
+ add r4, r4, r3
+.L13800:
+ ands r5, sl, #7
+ beq .L13691
+ ldr ip, [r8, #0]
+ mov lr, #0
+.L13838:
+ ands r3, ip, #15
+ beq .L13839
+ ldr r1, [r4, #0]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L13839:
+ add lr, lr, #1
+ cmp r5, lr
+ mov ip, ip, lsr #4
+ add r4, r4, #4
+ bne .L13838
+ b .L13691
+.L13770:
+ cmp r7, #0
+ add r2, r7, #7
+ movge r2, r7
+ subs r3, r7, #8
+ submi r3, r7, #1
+ mov r6, r2, asr #3
+ mov r3, r3, asr #3
+ mov r1, ip, lsr #3
+ mla r0, r6, r1, r3
+ ldr r3, [sp, #36]
+ ldr r4, [sp, #8]
+ mov r2, r3, asl #22
+ mov r2, r2, lsr #22
+ add r2, r2, r0, asl #1
+ and r3, ip, #7
+ add r3, r3, r2, asl #2
+ ldr r8, .L15733+24
+ mov r0, r3, asl #3
+ cmp r5, r4
+ add ip, r0, r8
+ bge .L14516
+ rsb r0, r5, r4
+ rsb r8, r0, r7
+ cmp r8, #0
+ ble .L13691
+ ldr lr, [sp, #4]
+ add r3, r5, r7
+ cmp lr, r3
+ bhi .L14519
+ mov r3, r0, lsr #3
+ ands lr, r0, #7
+ sub r8, ip, r3, asl #6
+ bne .L14521
+ ldr r7, [sp, #144]
+ ldr r4, [sp, #108]
+.L14523:
+ movs r6, r7, lsr #3
+ beq .L14601
+ mov ip, r4
+ mov lr, r8
+ mov r5, #0
+.L14603:
+ ldr r2, [lr, #4]
+ cmp r2, #0
+ beq .L14604
+ ands r1, r2, #255
+ beq .L14606
+ ldr r3, [ip, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #12]
+ streq r3, [ip, #12]
+.L14606:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L14610
+ ldr r3, [ip, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #8]
+ streq r3, [ip, #8]
+.L14610:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L14614
+ ldr r3, [ip, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #4]
+ streq r3, [ip, #4]
+.L14614:
+ movs r2, r2, lsr #24
+ beq .L14604
+ ldr r3, [ip, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #0]
+ streq r3, [ip, #0]
+.L14604:
+ ldr r1, [lr, #0]
+ cmp r1, #0
+ beq .L14621
+ ands r2, r1, #255
+ beq .L14623
+ ldr r0, [ip, #28]
+ tst r0, #256
+ movne r3, r0, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r0, asl #16
+ strne r3, [ip, #28]
+ streq r3, [ip, #28]
+.L14623:
+ mov r3, r1, lsr #8
+ ands r2, r3, #255
+ beq .L14627
+ ldr r3, [ip, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #24]
+ streq r3, [ip, #24]
+.L14627:
+ mov r3, r1, lsr #16
+ ands r2, r3, #255
+ beq .L14631
+ ldr r3, [ip, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #20]
+ streq r3, [ip, #20]
+.L14631:
+ movs r2, r1, lsr #24
+ beq .L14621
+ ldr r1, [ip, #16]
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #16]
+ streq r3, [ip, #16]
+.L14621:
+ add r5, r5, #1
+ cmp r5, r6
+ sub lr, lr, #64
+ add ip, ip, #32
+ bne .L14603
+ rsb r3, r6, r6, asl #26
+ add r8, r8, r3, asl #6
+ add r4, r4, r6, asl #5
+.L14601:
+ ands r5, r7, #7
+ beq .L13691
+ cmp r5, #3
+ ldrls ip, [r8, #4]
+ bls .L14660
+ ldr r2, [r8, #4]
+ cmp r2, #0
+ beq .L14642
+ ands r1, r2, #255
+ beq .L14644
+ ldr r3, [r4, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L14644:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L14648
+ ldr r3, [r4, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L14648:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L14652
+ ldr r3, [r4, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L14652:
+ movs r2, r2, lsr #24
+ beq .L14642
+ ldr r3, [r4, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L14642:
+ subs r5, r5, #4
+ ldr ip, [r8, #0]
+ addne r4, r4, #16
+ beq .L13691
+.L14660:
+ mov lr, #0
+.L14661:
+ movs r0, ip, lsr #24
+ beq .L14662
+ ldr r2, [r4, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r4, #0]
+ streq r0, [r4, #0]
+.L14662:
+ add lr, lr, #1
+ cmp lr, r5
+ mov ip, ip, asl #8
+ add r4, r4, #4
+ bcc .L14661
+ b .L13691
+.L14932:
+ cmp r7, #0
+ add r2, r7, #7
+ movge r2, r7
+ subs r3, r7, #8
+ submi r3, r7, #1
+ mov r4, r2, asr #3
+ mov r3, r3, asr #3
+ mov r1, ip, lsr #3
+ mla r0, r4, r1, r3
+ ldr r1, [sp, #36]
+ and r3, ip, #7
+ mov r2, r1, asl #22
+ mov r2, r2, lsr #22
+ add r2, r2, r0, asl #1
+ add r3, r3, r2, asl #2
+ ldr r2, [sp, #8]
+ mov r0, r3, asl #3
+ ldr r3, .L15733+24
+ cmp r5, r2
+ add r2, r0, r3
+ bge .L15414
+ ldr r4, [sp, #8]
+ rsb r0, r5, r4
+ rsb lr, r0, r7
+ cmp lr, #0
+ ble .L13691
+ add r3, r5, r7
+ ldr r5, [sp, #4]
+ cmp r5, r3
+ bhi .L15417
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ sub r6, r2, r3, asl #6
+ bne .L15419
+ ldr r5, [sp, #144]
+ ldr r4, [sp, #108]
+.L15421:
+ movs lr, r5, lsr #3
+ beq .L15479
+ mov r1, r4
+ mov r0, r6
+ mov ip, #0
+.L15481:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L15482
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #0]
+.L15482:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L15491
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #28]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #24]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #20]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #16]
+.L15491:
+ add ip, ip, #1
+ cmp ip, lr
+ sub r0, r0, #64
+ add r1, r1, #32
+ bne .L15481
+ rsb r3, lr, lr, asl #26
+ add r6, r6, r3, asl #6
+ add r4, r4, lr, asl #5
+.L15479:
+ ands r0, r5, #7
+ beq .L13691
+ cmp r0, #3
+ ldrls r2, [r6, #4]
+ bls .L15514
+ ldr r2, [r6, #4]
+ cmp r2, #0
+ beq .L15504
+ ands r3, r2, #255
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, [sp, #28]
+ orrne r3, r1, r3
+ strne r3, [r4, #4]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r4, #0]
+.L15504:
+ subs r0, r0, #4
+ ldr r2, [r6, #0]
+ addne r4, r4, #16
+ beq .L13691
+.L15514:
+ mov r1, #0
+.L15515:
+ ldr r5, [sp, #28]
+ movs r3, r2, lsr #24
+ orr r3, r5, r3
+ strne r3, [r4, r1, asl #2]
+ add r1, r1, #1
+ cmp r0, r1
+ mov r2, r2, asl #8
+ bhi .L15515
+ b .L13691
+.L13768:
+ ldr r4, [sp, #36]
+ cmp r7, #0
+ add r3, r7, #7
+ mov r2, r4, asl #22
+ movge r3, r7
+ mov r8, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r1, ip, lsr #3
+ mla r0, r8, r1, r2
+ subs r3, r7, #8
+ submi r3, r7, #1
+ and r2, ip, #7
+ ldr ip, [sp, #8]
+ add r0, r0, r3, asr #3
+ ldr lr, .L15733+24
+ add r2, r2, r0, asl #3
+ mov r3, r4, lsr #8
+ cmp r5, ip
+ and r6, r3, #240
+ add r0, lr, r2, asl #2
+ bge .L13976
+ rsb lr, r5, ip
+ rsb r8, lr, r7
+ cmp r8, #0
+ ble .L13691
+ ldr r1, [sp, #4]
+ add r3, r5, r7
+ cmp r1, r3
+ bhi .L13979
+ mov r3, lr, lsr #3
+ ands r4, lr, #7
+ sub ip, r0, r3, asl #5
+ bne .L13981
+ ldr sl, [sp, #144]
+ ldr r5, [sp, #108]
+.L13983:
+ movs r8, sl, lsr #3
+ beq .L14004
+ mov lr, r5
+ mov r4, ip
+ mov r7, #0
+.L14006:
+ ldr r0, [r4, #0]
+ cmp r0, #0
+ beq .L14007
+ ands r2, r0, #15
+ beq .L14009
+ ldr r1, [lr, #28]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #28]
+ streq r3, [lr, #28]
+.L14009:
+ mov r3, r0, lsr #4
+ ands r2, r3, #15
+ beq .L14013
+ ldr r1, [lr, #24]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #24]
+ streq r3, [lr, #24]
+.L14013:
+ mov r3, r0, lsr #8
+ ands r2, r3, #15
+ beq .L14017
+ ldr r1, [lr, #20]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #20]
+ streq r3, [lr, #20]
+.L14017:
+ mov r3, r0, lsr #12
+ ands r2, r3, #15
+ beq .L14021
+ ldr r1, [lr, #16]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #16]
+ streq r3, [lr, #16]
+.L14021:
+ mov r3, r0, lsr #16
+ ands r2, r3, #15
+ beq .L14025
+ ldr r1, [lr, #12]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #12]
+ streq r3, [lr, #12]
+.L14025:
+ mov r3, r0, lsr #20
+ ands r2, r3, #15
+ beq .L14029
+ ldr r1, [lr, #8]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #8]
+ streq r3, [lr, #8]
+.L14029:
+ mov r3, r0, lsr #24
+ ands r2, r3, #15
+ beq .L14033
+ ldr r1, [lr, #4]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #4]
+ streq r3, [lr, #4]
+.L14033:
+ movs r2, r0, lsr #28
+ beq .L14007
+ ldr r1, [lr, #0]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #0]
+ streq r3, [lr, #0]
+.L14007:
+ add r7, r7, #1
+ cmp r8, r7
+ sub r4, r4, #32
+ add lr, lr, #32
+ bne .L14006
+ rsb r3, r8, r8, asl #27
+ add ip, ip, r3, asl #5
+ add r5, r5, r8, asl #5
+.L14004:
+ ands r4, sl, #7
+ beq .L13691
+ ldr ip, [ip, #0]
+ mov lr, #0
+.L14042:
+ movs r3, ip, lsr #28
+ beq .L14043
+ ldr r1, [r5, #0]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r5, #0]
+ streq r2, [r5, #0]
+.L14043:
+ add lr, lr, #1
+ cmp r4, lr
+ mov ip, ip, asl #4
+ add r5, r5, #4
+ bne .L14042
+ b .L13691
+.L13976:
+ ldr r1, [sp, #4]
+ add r3, r5, r7
+ cmp r1, r3
+ bls .L15693
+ cmp r8, #0
+ beq .L13691
+ ldr r3, [sp, #0]
+ mov ip, #0
+ add r1, r3, r5, asl #2
+ b .L14145
+.L15694:
+ sub r0, r0, #32
+ add r1, r1, #32
+.L14145:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L14146
+ ands r2, r4, #15
+ beq .L14148
+ ldr lr, [r1, #28]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L14148:
+ mov r3, r4, lsr #4
+ ands r2, r3, #15
+ beq .L14152
+ ldr lr, [r1, #24]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L14152:
+ mov r3, r4, lsr #8
+ ands r2, r3, #15
+ beq .L14156
+ ldr lr, [r1, #20]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L14156:
+ mov r3, r4, lsr #12
+ ands r2, r3, #15
+ beq .L14160
+ ldr lr, [r1, #16]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L14160:
+ mov r3, r4, lsr #16
+ ands r2, r3, #15
+ beq .L14164
+ ldr lr, [r1, #12]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L14164:
+ mov r3, r4, lsr #20
+ ands r2, r3, #15
+ beq .L14168
+ ldr lr, [r1, #8]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L14168:
+ mov r3, r4, lsr #24
+ ands r2, r3, #15
+ beq .L14172
+ ldr lr, [r1, #4]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L14172:
+ movs r2, r4, lsr #28
+ beq .L14146
+ ldr lr, [r1, #0]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L14146:
+ add ip, ip, #1
+ cmp r8, ip
+ bne .L15694
+ b .L13691
+.L14934:
+ ldr ip, [sp, #4]
+ add r3, r5, r7
+ cmp ip, r3
+ bls .L15695
+ cmp r4, #0
+ beq .L13691
+ ldr r3, [sp, #0]
+ mov r2, #0
+ add r1, r3, r5, asl #2
+ b .L15045
+.L15696:
+ add r0, r0, #32
+ add r1, r1, #32
+.L15045:
+ ldr lr, [r0, #0]
+ cmp lr, #0
+ beq .L15046
+ ands r3, lr, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #0]
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #4]
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #8]
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #12]
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #16]
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #20]
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #24]
+ movs r3, lr, lsr #28
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #28]
+.L15046:
+ add r2, r2, #1
+ cmp r4, r2
+ bne .L15696
+ b .L13691
+.L15194:
+ ldr r8, [sp, #4]
+ add r3, r5, r7
+ cmp r8, r3
+ bls .L15697
+ cmp r4, #0
+ beq .L13691
+ ldr lr, [sp, #0]
+ ldr r3, .L15735+4
+ add r1, lr, r5, asl #2
+ add r0, r0, r3
+ mov r2, #0
+ b .L15394
+.L15698:
+ add ip, ip, #64
+ add r1, r1, #32
+.L15394:
+ ldr lr, [ip, #0]
+ cmp lr, #0
+ beq .L15395
+ ands r3, lr, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r1, #0]
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #8]
+ movs r3, lr, lsr #24
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r1, #12]
+.L15395:
+ ldr lr, [r0, #-60]
+ cmp lr, #0
+ beq .L15404
+ ands r3, lr, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r1, #16]
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #20]
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #24]
+ movs r3, lr, lsr #24
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r1, #28]
+.L15404:
+ add r2, r2, #1
+ cmp r4, r2
+ add r0, r0, #64
+ bne .L15698
+ b .L13691
+.L13772:
+ ldr r1, [sp, #4]
+ add r3, r5, r7
+ cmp r1, r3
+ bls .L15699
+ cmp r8, #0
+ beq .L13691
+ ldr r3, [sp, #0]
+ mov ip, #0
+ add r1, r3, r5, asl #2
+ b .L13941
+.L15700:
+ add r0, r0, #32
+ add r1, r1, #32
+.L13941:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L13942
+ ands r2, r4, #15
+ beq .L13944
+ ldr lr, [r1, #0]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L13944:
+ mov r3, r4, lsr #4
+ ands r2, r3, #15
+ beq .L13948
+ ldr lr, [r1, #4]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L13948:
+ mov r3, r4, lsr #8
+ ands r2, r3, #15
+ beq .L13952
+ ldr lr, [r1, #8]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L13952:
+ mov r3, r4, lsr #12
+ ands r2, r3, #15
+ beq .L13956
+ ldr lr, [r1, #12]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L13956:
+ mov r3, r4, lsr #16
+ ands r2, r3, #15
+ beq .L13960
+ ldr lr, [r1, #16]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L13960:
+ mov r3, r4, lsr #20
+ ands r2, r3, #15
+ beq .L13964
+ ldr lr, [r1, #20]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L13964:
+ mov r3, r4, lsr #24
+ ands r2, r3, #15
+ beq .L13968
+ ldr lr, [r1, #24]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L13968:
+ movs r2, r4, lsr #28
+ beq .L13942
+ ldr lr, [r1, #28]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L13942:
+ add ip, ip, #1
+ cmp r8, ip
+ bne .L15700
+ b .L13691
+.L15064:
+ ldr ip, [sp, #4]
+ add r3, r5, r7
+ cmp ip, r3
+ bls .L15701
+ cmp r4, #0
+ beq .L13691
+ ldr r3, [sp, #0]
+ mov r2, #0
+ add r1, r3, r5, asl #2
+ b .L15175
+.L15702:
+ sub r0, r0, #32
+ add r1, r1, #32
+.L15175:
+ ldr lr, [r0, #0]
+ cmp lr, #0
+ beq .L15176
+ ands r3, lr, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #28]
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #24]
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #20]
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #16]
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #12]
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #8]
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #4]
+ movs r3, lr, lsr #28
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #0]
+.L15176:
+ add r2, r2, #1
+ cmp r4, r2
+ bne .L15702
+ b .L13691
+.L14516:
+ ldr r4, [sp, #4]
+ add r3, r5, r7
+ cmp r4, r3
+ bls .L15703
+ cmp r6, #0
+ beq .L13691
+ ldr r2, [sp, #0]
+ ldr r3, .L15735
+ add r1, r2, r5, asl #2
+ add r0, r0, r3
+ mov r5, #0
+ b .L14816
+.L15704:
+ sub ip, ip, #64
+ add r1, r1, #32
+.L14816:
+ ldr r2, [r0, #68]
+ cmp r2, #0
+ beq .L14817
+ ands lr, r2, #255
+ beq .L14819
+ ldr r3, [r1, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L14819:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L14823
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L14823:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L14827
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L14827:
+ movs r2, r2, lsr #24
+ beq .L14817
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L14817:
+ ldr lr, [ip, #0]
+ cmp lr, #0
+ beq .L14834
+ ands r2, lr, #255
+ beq .L14836
+ ldr r4, [r1, #28]
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L14836:
+ mov r3, lr, lsr #8
+ ands r2, r3, #255
+ beq .L14840
+ ldr r3, [r1, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L14840:
+ mov r3, lr, lsr #16
+ ands r2, r3, #255
+ beq .L14844
+ ldr r3, [r1, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L14844:
+ movs r2, lr, lsr #24
+ beq .L14834
+ ldr lr, [r1, #16]
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L14834:
+ add r5, r5, #1
+ cmp r6, r5
+ sub r0, r0, #64
+ bne .L15704
+ b .L13691
+.L14180:
+ ldr r8, [sp, #4]
+ add r3, r5, r7
+ cmp r8, r3
+ bls .L15705
+ cmp r4, #0
+ beq .L13691
+ ldr r2, [sp, #0]
+ ldr r3, .L15735+4
+ add r1, r2, r5, asl #2
+ add r0, r0, r3
+ mov r5, #0
+ b .L14480
+.L15706:
+ add ip, ip, #64
+ add r1, r1, #32
+.L14480:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L14481
+ ands lr, r2, #255
+ beq .L14483
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L14483:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L14487
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L14487:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L14491
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L14491:
+ movs r2, r2, lsr #24
+ beq .L14481
+ ldr lr, [r1, #12]
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L14481:
+ ldr r2, [r0, #-60]
+ cmp r2, #0
+ beq .L14498
+ ands lr, r2, #255
+ beq .L14500
+ ldr r3, [r1, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L14500:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L14504
+ ldr r3, [r1, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L14504:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L14508
+ ldr r3, [r1, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L14508:
+ movs r2, r2, lsr #24
+ beq .L14498
+ ldr r3, [r1, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L14498:
+ add r5, r5, #1
+ cmp r4, r5
+ add r0, r0, #64
+ bne .L15706
+ b .L13691
+.L15414:
+ ldr r8, [sp, #4]
+ add r3, r5, r7
+ cmp r3, r8
+ bcs .L15707
+ cmp r4, #0
+ beq .L13691
+ ldr r3, [sp, #0]
+ mov ip, #0
+ add r1, r3, r5, asl #2
+ ldr r3, .L15735
+ add r0, r0, r3
+ b .L15614
+.L15708:
+ sub r2, r2, #64
+ add r1, r1, #32
+.L15614:
+ ldr lr, [r0, #68]
+ cmp lr, #0
+ beq .L15615
+ ands r3, lr, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r1, #12]
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #8]
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #4]
+ movs r3, lr, lsr #24
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r1, #0]
+.L15615:
+ ldr lr, [r2, #0]
+ cmp lr, #0
+ beq .L15624
+ ands r3, lr, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r1, #28]
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #24]
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #20]
+ movs r3, lr, lsr #24
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r1, #16]
+.L15624:
+ add ip, ip, #1
+ cmp r4, ip
+ sub r0, r0, #64
+ bne .L15708
+ b .L13691
+.L15729:
+ mov r8, #0
+.L13754:
+ cmp sl, r3
+ cmphi r7, r4
+ bhi .L15663
+ b .L13691
+.L13755:
+ cmp r3, sl
+ cmpcc r4, r7
+ bcs .L13691
+.L15663:
+ ldr r2, [sp, #68]
+ and r0, r3, #7
+ and ip, r3, #7
+ mov r3, r3, asr #3
+ mul r2, r3, r2
+ ldr r3, [sp, #120]
+ ldr r1, [sp, #120]
+ add ip, r3, ip, asl #2
+ mov r3, r4, asr #3
+ add r0, r1, r0, asl #2
+ mov lr, r4, asr #1
+ mov r1, r4, asr #1
+ add r2, r2, r3, asl #5
+ tst r4, #1
+ add r3, r0, r2
+ and lr, lr, #3
+ add r0, ip, r2
+ and r1, r1, #3
+ ldreqb r3, [r0, r1] @ zero_extendqisi2
+ ldrneb r3, [r3, lr] @ zero_extendqisi2
+ andeq r0, r3, #15
+ movne r0, r3, lsr #4
+ ldr r4, [sp, #140]
+ cmp r0, #0
+ orr r0, r0, r4
+ beq .L13761
+ ldr r2, [r9, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r9, #0]
+ streq r0, [r9, #0]
+.L13761:
+ ldr ip, [sp, #60]
+ ldr lr, [sp, #64]
+ add r8, r8, #1
+ add r6, r6, ip
+ add r5, r5, lr
+ cmp fp, r8
+ add r9, r9, #4
+ mov r4, r6, asr #8
+ mov r3, r5, asr #8
+ bgt .L13755
+ b .L13691
+.L15732:
+ mov r6, #0
+.L14882:
+ cmp sl, lr
+ cmphi r7, r4
+ bhi .L15673
+ b .L13691
+.L14883:
+ cmp lr, sl
+ cmpcc r4, r7
+ bcs .L13691
+.L15673:
+ and r3, lr, #7
+ mov r2, r4, asr #3
+ mov r3, r3, asl #3
+ add r3, r3, r2, asl #6
+ ldr r2, [sp, #116]
+ ldr r0, [sp, #84]
+ add r3, r3, r2
+ mov r2, lr, asr #3
+ mla r0, r2, r0, r3
+ ldr r1, [sp, #72]
+ add r6, r6, #1
+ add r5, r5, r1
+ and r1, r4, #7
+ ldrb r3, [r0, r1] @ zero_extendqisi2
+ ldr r0, [sp, #28]
+ cmp r3, #0
+ orr r3, r0, r3
+ strne r3, [r8, #0]
+ add ip, ip, fp
+ cmp r9, r6
+ mov lr, ip, asr #8
+ mov r4, r5, asr #8
+ add r8, r8, #4
+ bgt .L14883
+ b .L13691
+.L15730:
+ mov r6, #0
+.L14918:
+ cmp sl, r2
+ cmphi r7, lr
+ bhi .L15675
+ b .L13691
+.L14919:
+ cmp r2, sl
+ cmpcc lr, r7
+ bcs .L13691
+.L15675:
+ ldr r1, [sp, #112]
+ and r0, r2, #7
+ add r0, r1, r0, asl #2
+ mov r3, r2, asr #3
+ and r1, r2, #7
+ ldr r2, [sp, #104]
+ mov ip, lr, asr #1
+ mul r2, r3, r2
+ and r9, ip, #3
+ ldr ip, [sp, #112]
+ mov r3, lr, asr #1
+ add r1, ip, r1, asl #2
+ and ip, r3, #3
+ mov r3, lr, asr #3
+ add r2, r2, r3, asl #5
+ add r3, r0, r2
+ tst lr, #1
+ add r0, r1, r2
+ ldreqb r3, [r0, ip] @ zero_extendqisi2
+ ldrneb r3, [r3, r9] @ zero_extendqisi2
+ ldr r2, [sp, #28]
+ movne r0, r3, lsr #4
+ andeq r0, r3, #15
+ ldr ip, [sp, #136]
+ ldr lr, [sp, #88]
+ orr r3, r0, r2
+ ldr r1, [sp, #96]
+ cmp r0, #0
+ add r6, r6, #1
+ orr r3, ip, r3
+ strne r3, [r8, #0]
+ add r5, r5, lr
+ add r4, r4, r1
+ cmp fp, r6
+ mov lr, r5, asr #8
+ mov r2, r4, asr #8
+ add r8, r8, #4
+ bgt .L14919
+ b .L13691
+.L15731:
+ mov r4, #0
+.L13715:
+ cmp sl, r0
+ cmphi r7, r1
+ bhi .L15661
+ b .L13691
+.L13716:
+ cmp r0, sl
+ cmpcc r1, r7
+ bcs .L13691
+.L15661:
+ and r3, r0, #7
+ mov r2, r1, asr #3
+ mov r3, r3, asl #3
+ add r3, r3, r2, asl #6
+ ldr r2, [sp, #124]
+ and r1, r1, #7
+ add r3, r3, r2
+ mov r2, r0, asr #3
+ ldr r0, [sp, #56]
+ mla r0, r2, r0, r3
+ ldrb r0, [r0, r1] @ zero_extendqisi2
+ cmp r0, #0
+ beq .L13719
+ ldr r3, [r5, #0]
+ mov r2, r3, lsr #16
+ mov r2, r2, asl #16
+ orr r1, r0, r3, asl #16
+ orr r2, r2, #768
+ tst r3, #256
+ orr r2, r0, r2
+ orr r1, r1, #768
+ strne r2, [r5, #0]
+ streq r1, [r5, #0]
+.L13719:
+ add r4, r4, #1
+ add ip, ip, r9
+ add lr, lr, r8
+ cmp r6, r4
+ mov r1, ip, asr #8
+ mov r0, lr, asr #8
+ add r5, r5, #4
+ bgt .L13716
+ b .L13691
+.L15707:
+ rsb r7, r5, r8
+ cmp r7, #0
+ ble .L13691
+ ldr ip, [sp, #0]
+ movs r6, r7, lsr #3
+ add r1, ip, r5, asl #2
+ beq .L15573
+ ldr r3, .L15735
+ mov r4, r1
+ add r0, r0, r3
+ mov r5, r2
+ mov ip, #0
+.L15575:
+ ldr lr, [r0, #68]
+ cmp lr, #0
+ beq .L15576
+ ands r3, lr, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r4, #12]
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r4, #8]
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r4, #4]
+ movs r3, lr, lsr #24
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r4, #0]
+.L15576:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L15585
+ ands r3, lr, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r4, #28]
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r4, #24]
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r4, #20]
+ movs r3, lr, lsr #24
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r4, #16]
+.L15585:
+ add ip, ip, #1
+ cmp ip, r6
+ sub r5, r5, #64
+ add r4, r4, #32
+ sub r0, r0, #64
+ bne .L15575
+ rsb r3, r6, r6, asl #26
+ add r2, r2, r3, asl #6
+ add r1, r1, r6, asl #5
+.L15573:
+ ands ip, r7, #7
+ beq .L13691
+ cmp ip, #3
+ ldrls r2, [r2, #4]
+ bls .L15608
+ ldr r0, [r2, #4]
+ cmp r0, #0
+ beq .L15598
+ ands r3, r0, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r1, #12]
+ mov r3, r0, lsr #8
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r1, #8]
+ mov r3, r0, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ movs r3, r0, lsr #24
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #0]
+.L15598:
+ subs ip, ip, #4
+ ldr r2, [r2, #0]
+ addne r1, r1, #16
+ beq .L13691
+.L15608:
+ mov r0, #0
+.L15609:
+ ldr lr, [sp, #28]
+ movs r3, r2, lsr #24
+ orr r3, lr, r3
+ strne r3, [r1, r0, asl #2]
+ add r0, r0, #1
+ cmp ip, r0
+ mov r2, r2, asl #8
+ bhi .L15609
+ b .L13691
+.L15699:
+ rsb ip, r5, r1
+ cmp ip, #0
+ ble .L13691
+ ldr r2, [sp, #0]
+ movs sl, ip, lsr #3
+ add r8, r2, r5, asl #2
+ beq .L13896
+ mov r5, r8
+ mov r7, r0
+ mov r1, #0
+.L13898:
+ ldr r4, [r7, #0]
+ cmp r4, #0
+ beq .L13899
+ ands r2, r4, #15
+ beq .L13901
+ ldr lr, [r5, #0]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #0]
+ streq r3, [r5, #0]
+.L13901:
+ mov r3, r4, lsr #4
+ ands r2, r3, #15
+ beq .L13905
+ ldr lr, [r5, #4]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #4]
+ streq r3, [r5, #4]
+.L13905:
+ mov r3, r4, lsr #8
+ ands r2, r3, #15
+ beq .L13909
+ ldr lr, [r5, #8]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #8]
+ streq r3, [r5, #8]
+.L13909:
+ mov r3, r4, lsr #12
+ ands r2, r3, #15
+ beq .L13913
+ ldr lr, [r5, #12]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #12]
+ streq r3, [r5, #12]
+.L13913:
+ mov r3, r4, lsr #16
+ ands r2, r3, #15
+ beq .L13917
+ ldr lr, [r5, #16]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #16]
+ streq r3, [r5, #16]
+.L13917:
+ mov r3, r4, lsr #20
+ ands r2, r3, #15
+ beq .L13921
+ ldr lr, [r5, #20]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #20]
+ streq r3, [r5, #20]
+.L13921:
+ mov r3, r4, lsr #24
+ ands r2, r3, #15
+ beq .L13925
+ ldr lr, [r5, #24]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #24]
+ streq r3, [r5, #24]
+.L13925:
+ movs r2, r4, lsr #28
+ beq .L13899
+ ldr lr, [r5, #28]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #28]
+ streq r3, [r5, #28]
+.L13899:
+ add r1, r1, #1
+ cmp sl, r1
+ add r7, r7, #32
+ add r5, r5, #32
+ bne .L13898
+ mov r3, sl, asl #5
+ add r0, r0, r3
+ add r8, r8, r3
+.L13896:
+ ands r4, ip, #7
+ beq .L13691
+ ldr ip, [r0, #0]
+ mov lr, #0
+.L13934:
+ ands r3, ip, #15
+ beq .L13935
+ ldr r1, [r8, #0]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r8, #0]
+ streq r2, [r8, #0]
+.L13935:
+ add lr, lr, #1
+ cmp r4, lr
+ mov ip, ip, lsr #4
+ add r8, r8, #4
+ bne .L13934
+ b .L13691
+.L15736:
+ .align 2
+.L15735:
+ .word vram+65472
+ .word vram+65600
+.L15703:
+ rsb sl, r5, r4
+ cmp sl, #0
+ ble .L13691
+ ldr lr, [sp, #0]
+ movs r8, sl, lsr #3
+ add r7, lr, r5, asl #2
+ beq .L14749
+ ldr r3, .L15735
+ mov r5, r7
+ add r0, r0, r3
+ mov r6, ip
+ mov r1, #0
+.L14751:
+ ldr r2, [r0, #68]
+ cmp r2, #0
+ beq .L14752
+ ands lr, r2, #255
+ beq .L14754
+ ldr r3, [r5, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #12]
+ streq r3, [r5, #12]
+.L14754:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L14758
+ ldr r3, [r5, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #8]
+ streq r3, [r5, #8]
+.L14758:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L14762
+ ldr r3, [r5, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #4]
+ streq r3, [r5, #4]
+.L14762:
+ movs r2, r2, lsr #24
+ beq .L14752
+ ldr r3, [r5, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #0]
+ streq r3, [r5, #0]
+.L14752:
+ ldr lr, [r6, #0]
+ cmp lr, #0
+ beq .L14769
+ ands r2, lr, #255
+ beq .L14771
+ ldr r4, [r5, #28]
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r5, #28]
+ streq r3, [r5, #28]
+.L14771:
+ mov r3, lr, lsr #8
+ ands r2, r3, #255
+ beq .L14775
+ ldr r3, [r5, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #24]
+ streq r3, [r5, #24]
+.L14775:
+ mov r3, lr, lsr #16
+ ands r2, r3, #255
+ beq .L14779
+ ldr r3, [r5, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #20]
+ streq r3, [r5, #20]
+.L14779:
+ movs r2, lr, lsr #24
+ beq .L14769
+ ldr lr, [r5, #16]
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #16]
+ streq r3, [r5, #16]
+.L14769:
+ add r1, r1, #1
+ cmp r1, r8
+ sub r6, r6, #64
+ add r5, r5, #32
+ sub r0, r0, #64
+ bne .L14751
+ rsb r3, r8, r8, asl #26
+ add ip, ip, r3, asl #6
+ add r7, r7, r8, asl #5
+.L14749:
+ ands r4, sl, #7
+ beq .L13691
+ cmp r4, #3
+ ldrls ip, [ip, #4]
+ bls .L14808
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L14790
+ ands r1, r2, #255
+ beq .L14792
+ ldr r3, [r7, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r7, #12]
+ streq r3, [r7, #12]
+.L14792:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L14796
+ ldr r3, [r7, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r7, #8]
+ streq r3, [r7, #8]
+.L14796:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L14800
+ ldr r3, [r7, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r7, #4]
+ streq r3, [r7, #4]
+.L14800:
+ movs r2, r2, lsr #24
+ beq .L14790
+ ldr r3, [r7, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r7, #0]
+ streq r3, [r7, #0]
+.L14790:
+ subs r4, r4, #4
+ ldr ip, [ip, #0]
+ addne r7, r7, #16
+ beq .L13691
+.L14808:
+ mov lr, #0
+.L14809:
+ movs r0, ip, lsr #24
+ beq .L14810
+ ldr r2, [r7, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+.L14810:
+ add lr, lr, #1
+ cmp r4, lr
+ mov ip, ip, asl #8
+ add r7, r7, #4
+ bhi .L14809
+ b .L13691
+.L15695:
+ rsb r7, r5, ip
+ cmp r7, #0
+ ble .L13691
+ ldr lr, [sp, #0]
+ movs r8, r7, lsr #3
+ add r1, lr, r5, asl #2
+ beq .L15018
+ mov r4, r1
+ mov r5, r0
+ mov ip, #0
+.L15020:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L15021
+ ands r3, lr, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ movs r3, lr, lsr #28
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #28]
+.L15021:
+ add ip, ip, #1
+ cmp r8, ip
+ add r5, r5, #32
+ add r4, r4, #32
+ bne .L15020
+ mov r3, r8, asl #5
+ add r0, r0, r3
+ add r1, r1, r3
+.L15018:
+ ands lr, r7, #7
+ beq .L13691
+ ldr r0, [r0, #0]
+ mov ip, #0
+.L15040:
+ ldr r2, [sp, #28]
+ ands r3, r0, #15
+ orr r3, r2, r3
+ orr r3, r6, r3
+ strne r3, [r1, ip, asl #2]
+ add ip, ip, #1
+ cmp ip, lr
+ mov r0, r0, lsr #4
+ bne .L15040
+ b .L13691
+.L15705:
+ rsb r8, r5, r8
+ cmp r8, #0
+ ble .L13691
+ ldr lr, [sp, #0]
+ movs r7, r8, lsr #3
+ add r6, lr, r5, asl #2
+ beq .L14413
+ ldr r3, .L15735+4
+ mov r4, r6
+ add r0, r0, r3
+ mov r5, ip
+ mov r1, #0
+.L14415:
+ ldr r2, [r5, #0]
+ cmp r2, #0
+ beq .L14416
+ ands lr, r2, #255
+ beq .L14418
+ ldr r3, [r4, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L14418:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L14422
+ ldr r3, [r4, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L14422:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L14426
+ ldr r3, [r4, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L14426:
+ movs r2, r2, lsr #24
+ beq .L14416
+ ldr lr, [r4, #12]
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L14416:
+ ldr r2, [r0, #-60]
+ cmp r2, #0
+ beq .L14433
+ ands lr, r2, #255
+ beq .L14435
+ ldr r3, [r4, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #16]
+ streq r3, [r4, #16]
+.L14435:
+ mov r3, r2, lsr #8
+ ands lr, r3, #255
+ beq .L14439
+ ldr r3, [r4, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #20]
+ streq r3, [r4, #20]
+.L14439:
+ mov r3, r2, lsr #16
+ ands lr, r3, #255
+ beq .L14443
+ ldr r3, [r4, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, lr, r3, asl #16
+ orrne r3, lr, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #24]
+ streq r3, [r4, #24]
+.L14443:
+ movs r2, r2, lsr #24
+ beq .L14433
+ ldr r3, [r4, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r4, #28]
+ streq r3, [r4, #28]
+.L14433:
+ add r1, r1, #1
+ cmp r1, r7
+ add r5, r5, #64
+ add r4, r4, #32
+ add r0, r0, #64
+ bne .L14415
+ add ip, ip, r7, asl #6
+ add r6, r6, r7, asl #5
+.L14413:
+ ands r4, r8, #7
+ beq .L13691
+ cmp r4, #3
+ ldrls ip, [ip, #0]
+ bls .L14472
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L14454
+ ands r1, r2, #255
+ beq .L14456
+ ldr r3, [r6, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r6, #0]
+ streq r3, [r6, #0]
+.L14456:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L14460
+ ldr r3, [r6, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r6, #4]
+ streq r3, [r6, #4]
+.L14460:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L14464
+ ldr r3, [r6, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r6, #8]
+ streq r3, [r6, #8]
+.L14464:
+ movs r2, r2, lsr #24
+ beq .L14454
+ ldr r1, [r6, #12]
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r6, #12]
+ streq r3, [r6, #12]
+.L14454:
+ subs r4, r4, #4
+ ldr ip, [ip, #4]
+ addne r6, r6, #16
+ beq .L13691
+.L14472:
+ mov lr, #0
+.L14473:
+ ands r0, ip, #255
+ beq .L14474
+ ldr r2, [r6, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r6, #0]
+ streq r0, [r6, #0]
+.L14474:
+ add lr, lr, #1
+ cmp r4, lr
+ mov ip, ip, lsr #8
+ add r6, r6, #4
+ bhi .L14473
+ b .L13691
+.L15697:
+ rsb r8, r5, r8
+ cmp r8, #0
+ ble .L13691
+ ldr lr, [sp, #0]
+ movs r7, r8, lsr #3
+ add r1, lr, r5, asl #2
+ beq .L15353
+ ldr r3, .L15735+4
+ mov r4, r1
+ add r0, r0, r3
+ mov r5, ip
+ mov r6, #0
+.L15355:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L15356
+ ands r3, lr, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r4, #0]
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r4, #4]
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r4, #8]
+ movs r3, lr, lsr #24
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r4, #12]
+.L15356:
+ ldr lr, [r0, #-60]
+ cmp lr, #0
+ beq .L15365
+ ands r3, lr, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r4, #16]
+ mov r3, lr, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r4, #20]
+ mov r3, lr, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r4, #24]
+ movs r3, lr, lsr #24
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r4, #28]
+.L15365:
+ add r6, r6, #1
+ cmp r6, r7
+ add r5, r5, #64
+ add r4, r4, #32
+ add r0, r0, #64
+ bne .L15355
+ add ip, ip, r7, asl #6
+ add r1, r1, r7, asl #5
+.L15353:
+ ands lr, r8, #7
+ beq .L13691
+ cmp lr, #3
+ ldrls ip, [ip, #0]
+ bls .L15388
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L15378
+ ands r3, r2, #255
+ ldrne r0, [sp, #28]
+ orrne r3, r0, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+.L15378:
+ subs lr, lr, #4
+ ldr ip, [ip, #4]
+ addne r1, r1, #16
+ beq .L13691
+.L15388:
+ mov r0, #0
+.L15389:
+ ldr r8, [sp, #28]
+ ands r3, ip, #255
+ orr r3, r8, r3
+ strne r3, [r1, r0, asl #2]
+ add r0, r0, #1
+ cmp lr, r0
+ mov ip, ip, lsr #8
+ bhi .L15389
+ b .L13691
+.L15701:
+ rsb r8, r5, ip
+ cmp r8, #0
+ ble .L13691
+ ldr lr, [sp, #0]
+ movs r7, r8, lsr #3
+ add r1, lr, r5, asl #2
+ beq .L15148
+ mov r4, r1
+ mov r5, r0
+ mov ip, #0
+.L15150:
+ ldr lr, [r5, #0]
+ cmp lr, #0
+ beq .L15151
+ ands r3, lr, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #28]
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ movs r3, lr, lsr #28
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+.L15151:
+ add ip, ip, #1
+ cmp ip, r7
+ sub r5, r5, #32
+ add r4, r4, #32
+ bne .L15150
+ rsb r3, r7, r7, asl #27
+ add r0, r0, r3, asl #5
+ add r1, r1, r7, asl #5
+.L15148:
+ ands lr, r8, #7
+ beq .L13691
+ ldr r0, [r0, #0]
+ mov ip, #0
+.L15170:
+ ldr r2, [sp, #28]
+ movs r3, r0, lsr #28
+ orr r3, r2, r3
+ orr r3, r6, r3
+ strne r3, [r1, ip, asl #2]
+ add ip, ip, #1
+ cmp ip, lr
+ mov r0, r0, asl #4
+ bne .L15170
+ b .L13691
+.L15693:
+ rsb sl, r5, r1
+ cmp sl, #0
+ ble .L13691
+ ldr r2, [sp, #0]
+ movs ip, sl, lsr #3
+ add r8, r2, r5, asl #2
+ beq .L14100
+ mov r5, r8
+ mov r7, r0
+ mov r1, #0
+.L14102:
+ ldr r4, [r7, #0]
+ cmp r4, #0
+ beq .L14103
+ ands r2, r4, #15
+ beq .L14105
+ ldr lr, [r5, #28]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #28]
+ streq r3, [r5, #28]
+.L14105:
+ mov r3, r4, lsr #4
+ ands r2, r3, #15
+ beq .L14109
+ ldr lr, [r5, #24]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #24]
+ streq r3, [r5, #24]
+.L14109:
+ mov r3, r4, lsr #8
+ ands r2, r3, #15
+ beq .L14113
+ ldr lr, [r5, #20]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #20]
+ streq r3, [r5, #20]
+.L14113:
+ mov r3, r4, lsr #12
+ ands r2, r3, #15
+ beq .L14117
+ ldr lr, [r5, #16]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #16]
+ streq r3, [r5, #16]
+.L14117:
+ mov r3, r4, lsr #16
+ ands r2, r3, #15
+ beq .L14121
+ ldr lr, [r5, #12]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #12]
+ streq r3, [r5, #12]
+.L14121:
+ mov r3, r4, lsr #20
+ ands r2, r3, #15
+ beq .L14125
+ ldr lr, [r5, #8]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #8]
+ streq r3, [r5, #8]
+.L14125:
+ mov r3, r4, lsr #24
+ ands r2, r3, #15
+ beq .L14129
+ ldr lr, [r5, #4]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #4]
+ streq r3, [r5, #4]
+.L14129:
+ movs r2, r4, lsr #28
+ beq .L14103
+ ldr lr, [r5, #0]
+ orr r2, r6, r2
+ tst lr, #256
+ movne r3, lr, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, lr, asl #16
+ strne r3, [r5, #0]
+ streq r3, [r5, #0]
+.L14103:
+ add r1, r1, #1
+ cmp ip, r1
+ sub r7, r7, #32
+ add r5, r5, #32
+ bne .L14102
+ rsb r3, ip, ip, asl #27
+ add r0, r0, r3, asl #5
+ add r8, r8, ip, asl #5
+.L14100:
+ ands r4, sl, #7
+ beq .L13691
+ ldr ip, [r0, #0]
+ mov lr, #0
+.L14138:
+ movs r3, ip, lsr #28
+ beq .L14139
+ ldr r1, [r8, #0]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r8, #0]
+ streq r2, [r8, #0]
+.L14139:
+ add lr, lr, #1
+ cmp lr, r4
+ mov ip, ip, asl #4
+ add r8, r8, #4
+ bne .L14138
+ b .L13691
+.L15727:
+ mov r4, r9
+.L14904:
+ cmp r7, r3
+ bhi .L15674
+ b .L13691
+.L14905:
+ cmp lr, r7
+ bcs .L13691
+.L15674:
+ mov r3, lr, asr #1
+ and r6, r3, #3
+ mov r3, lr, asr #3
+ mov r3, r3, asl #5
+ mov r2, lr, asr #1
+ tst lr, #1
+ add ip, r3, r1
+ and r5, r2, #3
+ add r2, r3, r1
+ ldreqb r3, [r2, r5] @ zero_extendqisi2
+ ldrneb r3, [ip, r6] @ zero_extendqisi2
+ andeq r2, r3, #15
+ movne r2, r3, lsr #4
+ ldr r5, [sp, #28]
+ ldr r3, [sp, #88]
+ ldr ip, [sp, #136]
+ add r0, r0, r3
+ orr r3, r2, r5
+ cmp r2, #0
+ add r4, r4, #1
+ orr r3, ip, r3
+ strne r3, [r8, #0]
+ cmp fp, r4
+ mov lr, r0, asr #8
+ add r8, r8, #4
+ bgt .L14905
+ b .L13691
+.L14183:
+ mov r3, r0, lsr #3
+ ands r2, r0, #7
+ add r4, ip, r3, asl #6
+ ldreq r0, [sp, #108]
+ bne .L15709
+.L14333:
+ movs lr, r8, lsr #3
+ beq .L13691
+ mov ip, #0
+ b .L14374
+.L15710:
+ add r4, r4, #64
+ add r0, r0, #32
+.L14374:
+ ldr r2, [r4, #0]
+ cmp r2, #0
+ beq .L14375
+ ands r1, r2, #255
+ beq .L14377
+ ldr r3, [r0, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L14377:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L14381
+ ldr r3, [r0, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L14381:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L14385
+ ldr r3, [r0, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L14385:
+ movs r2, r2, lsr #24
+ beq .L14375
+ ldr r1, [r0, #12]
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L14375:
+ ldr r2, [r4, #4]
+ cmp r2, #0
+ beq .L14392
+ ands r1, r2, #255
+ beq .L14394
+ ldr r3, [r0, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L14394:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L14398
+ ldr r3, [r0, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L14398:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L14402
+ ldr r3, [r0, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L14402:
+ movs r2, r2, lsr #24
+ beq .L14392
+ ldr r3, [r0, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L14392:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L15710
+ b .L13691
+.L13775:
+ mov r3, lr, lsr #3
+ mov r1, r3, asl #5
+ ands r3, lr, #7
+ add r5, r0, r1
+ ldreq ip, [sp, #108]
+ bne .L15711
+.L13846:
+ movs r4, r8, lsr #3
+ beq .L13691
+ mov lr, #0
+ b .L13858
+.L15712:
+ add r5, r5, #32
+ add ip, ip, #32
+.L13858:
+ ldr r0, [r5, #0]
+ cmp r0, #0
+ beq .L13859
+ ands r2, r0, #15
+ beq .L13861
+ ldr r1, [ip, #0]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #0]
+ streq r3, [ip, #0]
+.L13861:
+ mov r3, r0, lsr #4
+ ands r2, r3, #15
+ beq .L13865
+ ldr r1, [ip, #4]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #4]
+ streq r3, [ip, #4]
+.L13865:
+ mov r3, r0, lsr #8
+ ands r2, r3, #15
+ beq .L13869
+ ldr r1, [ip, #8]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #8]
+ streq r3, [ip, #8]
+.L13869:
+ mov r3, r0, lsr #12
+ ands r2, r3, #15
+ beq .L13873
+ ldr r1, [ip, #12]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #12]
+ streq r3, [ip, #12]
+.L13873:
+ mov r3, r0, lsr #16
+ ands r2, r3, #15
+ beq .L13877
+ ldr r1, [ip, #16]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #16]
+ streq r3, [ip, #16]
+.L13877:
+ mov r3, r0, lsr #20
+ ands r2, r3, #15
+ beq .L13881
+ ldr r1, [ip, #20]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #20]
+ streq r3, [ip, #20]
+.L13881:
+ mov r3, r0, lsr #24
+ ands r2, r3, #15
+ beq .L13885
+ ldr r1, [ip, #24]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #24]
+ streq r3, [ip, #24]
+.L13885:
+ movs r2, r0, lsr #28
+ beq .L13859
+ ldr r1, [ip, #28]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #28]
+ streq r3, [ip, #28]
+.L13859:
+ add lr, lr, #1
+ cmp r4, lr
+ bne .L15712
+ b .L13691
+.L15417:
+ mov r3, r0, lsr #3
+ ands r1, r0, #7
+ sub r2, r2, r3, asl #6
+ ldreq r0, [sp, #108]
+ bne .L15713
+.L15521:
+ movs lr, lr, lsr #3
+ beq .L13691
+ mov ip, #0
+ b .L15550
+.L15714:
+ sub r2, r2, #64
+ add r0, r0, #32
+.L15550:
+ ldr r1, [r2, #4]
+ cmp r1, #0
+ beq .L15551
+ ands r3, r1, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r0, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r0, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r0, #4]
+ movs r3, r1, lsr #24
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r0, #0]
+.L15551:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L15560
+ ands r3, r1, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r0, #28]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r0, #24]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r0, #20]
+ movs r3, r1, lsr #24
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r0, #16]
+.L15560:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L15714
+ b .L13691
+.L14519:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ sub r4, ip, r3, asl #6
+ ldreq ip, [sp, #108]
+ bne .L15715
+.L14669:
+ movs r5, r8, lsr #3
+ beq .L13691
+ mov lr, #0
+ b .L14710
+.L15716:
+ sub r4, r4, #64
+ add ip, ip, #32
+.L14710:
+ ldr r2, [r4, #4]
+ cmp r2, #0
+ beq .L14711
+ ands r1, r2, #255
+ beq .L14713
+ ldr r3, [ip, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #12]
+ streq r3, [ip, #12]
+.L14713:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L14717
+ ldr r3, [ip, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #8]
+ streq r3, [ip, #8]
+.L14717:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L14721
+ ldr r3, [ip, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #4]
+ streq r3, [ip, #4]
+.L14721:
+ movs r2, r2, lsr #24
+ beq .L14711
+ ldr r3, [ip, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #0]
+ streq r3, [ip, #0]
+.L14711:
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L14728
+ ands r2, r1, #255
+ beq .L14730
+ ldr r0, [ip, #28]
+ tst r0, #256
+ movne r3, r0, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r0, asl #16
+ strne r3, [ip, #28]
+ streq r3, [ip, #28]
+.L14730:
+ mov r3, r1, lsr #8
+ ands r2, r3, #255
+ beq .L14734
+ ldr r3, [ip, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #24]
+ streq r3, [ip, #24]
+.L14734:
+ mov r3, r1, lsr #16
+ ands r2, r3, #255
+ beq .L14738
+ ldr r3, [ip, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #20]
+ streq r3, [ip, #20]
+.L14738:
+ movs r2, r1, lsr #24
+ beq .L14728
+ ldr r1, [ip, #16]
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #16]
+ streq r3, [ip, #16]
+.L14728:
+ add lr, lr, #1
+ cmp r5, lr
+ bne .L15716
+ b .L13691
+.L13979:
+ mov r3, lr, lsr #3
+ ands r2, lr, #7
+ sub ip, r0, r3, asl #5
+ ldreq lr, [sp, #108]
+ bne .L15717
+.L14050:
+ movs r5, r8, lsr #3
+ beq .L13691
+ mov r4, #0
+ b .L14062
+.L15718:
+ sub ip, ip, #32
+ add lr, lr, #32
+.L14062:
+ ldr r0, [ip, #0]
+ cmp r0, #0
+ beq .L14063
+ ands r2, r0, #15
+ beq .L14065
+ ldr r1, [lr, #28]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #28]
+ streq r3, [lr, #28]
+.L14065:
+ mov r3, r0, lsr #4
+ ands r2, r3, #15
+ beq .L14069
+ ldr r1, [lr, #24]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #24]
+ streq r3, [lr, #24]
+.L14069:
+ mov r3, r0, lsr #8
+ ands r2, r3, #15
+ beq .L14073
+ ldr r1, [lr, #20]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #20]
+ streq r3, [lr, #20]
+.L14073:
+ mov r3, r0, lsr #12
+ ands r2, r3, #15
+ beq .L14077
+ ldr r1, [lr, #16]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #16]
+ streq r3, [lr, #16]
+.L14077:
+ mov r3, r0, lsr #16
+ ands r2, r3, #15
+ beq .L14081
+ ldr r1, [lr, #12]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #12]
+ streq r3, [lr, #12]
+.L14081:
+ mov r3, r0, lsr #20
+ ands r2, r3, #15
+ beq .L14085
+ ldr r1, [lr, #8]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #8]
+ streq r3, [lr, #8]
+.L14085:
+ mov r3, r0, lsr #24
+ ands r2, r3, #15
+ beq .L14089
+ ldr r1, [lr, #4]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #4]
+ streq r3, [lr, #4]
+.L14089:
+ movs r2, r0, lsr #28
+ beq .L14063
+ ldr r1, [lr, #0]
+ orr r2, r6, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #0]
+ streq r3, [lr, #0]
+.L14063:
+ add r4, r4, #1
+ cmp r4, r5
+ bne .L15718
+ b .L13691
+.L14937:
+ mov r3, lr, lsr #3
+ mov r1, r3, asl #5
+ ands r3, lr, #7
+ add lr, r0, r1
+ ldreq r1, [sp, #108]
+ bne .L15719
+.L14986:
+ movs ip, r4, lsr #3
+ beq .L13691
+ mov r0, #0
+ b .L14996
+.L15720:
+ add lr, lr, #32
+ add r1, r1, #32
+.L14996:
+ ldr r2, [lr, #0]
+ cmp r2, #0
+ beq .L14997
+ ands r3, r2, #15
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #8]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #12]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #16]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #20]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #24]
+ movs r3, r2, lsr #28
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r1, #28]
+.L14997:
+ add r0, r0, #1
+ cmp r0, ip
+ bne .L15720
+ b .L13691
+.L15197:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ add r0, ip, r3, asl #6
+ ldreq r1, [sp, #108]
+ bne .L15721
+.L15301:
+ movs lr, lr, lsr #3
+ beq .L13691
+ mov ip, #0
+ b .L15330
+.L15722:
+ add r0, r0, #64
+ add r1, r1, #32
+.L15330:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L15331
+ ands r3, r2, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+.L15331:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L15340
+ ands r3, r2, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #16]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r1, #20]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r1, #24]
+ movs r3, r2, lsr #24
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #28]
+.L15340:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L15722
+ b .L13691
+.L15067:
+ ands r2, lr, #7
+ mov r3, lr, lsr #3
+ sub r0, r0, r3, asl #5
+ ldreq r4, [sp, #108]
+ bne .L15723
+.L15116:
+ movs r1, r1, lsr #3
+ beq .L13691
+ mov r2, #0
+ b .L15126
+.L15724:
+ sub r0, r0, #32
+ add r4, r4, #32
+.L15126:
+ ldr lr, [r0, #0]
+ cmp lr, #0
+ beq .L15127
+ ands r3, lr, #15
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #28]
+ mov r3, lr, lsr #4
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #24]
+ mov r3, lr, lsr #8
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #20]
+ mov r3, lr, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #16]
+ mov r3, lr, lsr #16
+ ands r3, r3, #15
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #12]
+ mov r3, lr, lsr #20
+ ands r3, r3, #15
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #8]
+ mov r3, lr, lsr #24
+ ands r3, r3, #15
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #4]
+ movs r3, lr, lsr #28
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ orrne r3, r6, r3
+ strne r3, [r4, #0]
+.L15127:
+ add r2, r2, #1
+ cmp r1, r2
+ bne .L15724
+ b .L13691
+.L15723:
+ rsbs ip, r2, #8
+ ldr lr, [r0, #0]
+ ldreq r4, [sp, #108]
+ beq .L15119
+ mov r3, r2, asl #2
+ mov lr, lr, asl r3
+ mov r4, #0
+.L15120:
+ ldr r5, [sp, #28]
+ movs r3, lr, lsr #28
+ ldrne r7, [sp, #108]
+ orr r3, r5, r3
+ orr r3, r6, r3
+ strne r3, [r7, r4, asl #2]
+ add r4, r4, #1
+ cmp ip, r4
+ mov lr, lr, asl #4
+ bne .L15120
+ ldr r8, [sp, #108]
+ add r4, r8, ip, asl #2
+.L15119:
+ sub r0, r0, #32
+ b .L15116
+.L15721:
+ cmp r2, #3
+ rsb ip, r2, #8
+ bls .L15302
+ cmp ip, #0
+ ldr r1, [r0, #4]
+ ldreq r1, [sp, #108]
+ beq .L15306
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r2, r1, lsr r3
+ mov r1, #0
+.L15307:
+ ands r3, r2, #255
+ ldr r7, [sp, #28]
+ ldrne r8, [sp, #108]
+ orr r3, r7, r3
+ strne r3, [r8, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, ip
+ mov r2, r2, lsr #8
+ bne .L15307
+ ldr r2, [sp, #108]
+ add r1, r2, ip, asl #2
+.L15306:
+ add r0, r0, #64
+ b .L15301
+.L15719:
+ rsbs r5, r3, #8
+ ldr r0, [r0, r1]
+ ldreq r1, [sp, #108]
+ beq .L14989
+ mov r3, r3, asl #2
+ mov r0, r0, lsr r3
+ mov r2, #0
+.L14990:
+ ldr r7, [sp, #28]
+ ands r3, r0, #15
+ ldrne r8, [sp, #108]
+ orr r3, r7, r3
+ orr r3, r6, r3
+ strne r3, [r8, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, r5
+ mov r0, r0, lsr #4
+ bne .L14990
+ ldr ip, [sp, #108]
+ add r1, ip, r5, asl #2
+.L14989:
+ add lr, lr, #32
+ b .L14986
+.L15715:
+ cmp r2, #3
+ rsb r6, r2, #8
+ bls .L14670
+ cmp r6, #0
+ ldr r1, [r4, #0]
+ ldreq ip, [sp, #108]
+ beq .L14674
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov ip, r1, asl r3
+ ldr lr, [sp, #108]
+ mov r5, #0
+.L14675:
+ movs r0, ip, lsr #24
+ beq .L14676
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14676:
+ add r5, r5, #1
+ cmp r5, r6
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L14675
+ ldr r2, [sp, #108]
+ add ip, r2, r6, asl #2
+.L14674:
+ sub r4, r4, #64
+ b .L14669
+.L15713:
+ cmp r1, #3
+ rsb ip, r1, #8
+ bls .L15522
+ cmp ip, #0
+ ldr r0, [r2, #0]
+ ldreq r0, [sp, #108]
+ beq .L15526
+ mov r3, r1, asl #3
+ sub r3, r3, #32
+ mov r1, r0, asl r3
+ mov r0, #0
+.L15527:
+ movs r3, r1, lsr #24
+ ldr r7, [sp, #28]
+ ldrne r8, [sp, #108]
+ orr r3, r7, r3
+ strne r3, [r8, r0, asl #2]
+ add r0, r0, #1
+ cmp ip, r0
+ mov r1, r1, asl #8
+ bne .L15527
+ ldr r1, [sp, #108]
+ add r0, r1, ip, asl #2
+.L15526:
+ sub r2, r2, #64
+ b .L15521
+.L15717:
+ rsbs r7, r2, #8
+ ldr r1, [ip, #0]
+ ldreq lr, [sp, #108]
+ beq .L14053
+ mov r3, r2, asl #2
+ mov lr, r1, asl r3
+ ldr r4, [sp, #108]
+ mov r5, #0
+.L14054:
+ movs r3, lr, lsr #28
+ beq .L14055
+ ldr r1, [r4, #0]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L14055:
+ add r5, r5, #1
+ cmp r5, r7
+ mov lr, lr, asl #4
+ add r4, r4, #4
+ bne .L14054
+ ldr r0, [sp, #108]
+ add lr, r0, r7, asl #2
+.L14053:
+ sub ip, ip, #32
+ b .L14050
+.L15711:
+ rsbs r7, r3, #8
+ ldr r0, [r0, r1]
+ ldreq ip, [sp, #108]
+ beq .L13849
+ mov r3, r3, asl #2
+ mov ip, r0, lsr r3
+ ldr lr, [sp, #108]
+ mov r4, #0
+.L13850:
+ ands r3, ip, #15
+ beq .L13851
+ ldr r1, [lr, #0]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [lr, #0]
+ streq r2, [lr, #0]
+.L13851:
+ add r4, r4, #1
+ cmp r7, r4
+ mov ip, ip, lsr #4
+ add lr, lr, #4
+ bne .L13850
+ ldr lr, [sp, #108]
+ add ip, lr, r7, asl #2
+.L13849:
+ add r5, r5, #32
+ b .L13846
+.L15709:
+ cmp r2, #3
+ rsb r6, r2, #8
+ bls .L14334
+ cmp r6, #0
+ ldr r1, [r4, #4]
+ ldreq r0, [sp, #108]
+ beq .L14338
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov ip, r1, lsr r3
+ ldr lr, [sp, #108]
+ mov r5, #0
+.L14339:
+ ands r0, ip, #255
+ beq .L14340
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14340:
+ add r5, r5, #1
+ cmp r6, r5
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L14339
+ ldr r7, [sp, #108]
+ add r0, r7, r6, asl #2
+.L14338:
+ add r4, r4, #64
+ b .L14333
+.L14185:
+ ldr r2, [sp, #144]
+ rsb r5, lr, #8
+ cmp r2, r5
+ bge .L14188
+ cmp r2, #0
+ ble .L13691
+ cmp lr, #3
+ bls .L14191
+ mov r3, lr, asl #3
+ ldr r2, [r7, #4]
+ sub r3, r3, #32
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #108]
+ mov r4, #0
+.L14194:
+ ands r0, ip, #255
+ beq .L14195
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14195:
+ ldr r3, [sp, #144]
+ add r4, r4, #1
+ cmp r3, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L14194
+ b .L13691
+.L15069:
+ ldr r7, [sp, #144]
+ rsb r5, r4, #8
+ cmp r7, r5
+ bge .L15072
+ cmp r7, #0
+ ble .L13691
+ ldr r2, [r0, #0]
+ mov r3, r4, asl #2
+ mov r0, r2, asl r3
+ mov r2, #0
+.L15076:
+ ldr r8, [sp, #28]
+ movs r3, r0, lsr #28
+ ldrne ip, [sp, #108]
+ orr r3, r8, r3
+ orr r3, r6, r3
+ ldr lr, [sp, #144]
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp lr, r2
+ mov r0, r0, asl #4
+ bne .L15076
+ b .L13691
+.L15419:
+ ldr r7, [sp, #144]
+ rsb r0, ip, #8
+ cmp r7, r0
+ bge .L15422
+ cmp r7, #0
+ ble .L13691
+ cmp ip, #3
+ bls .L15425
+ ldr r2, [r6, #0]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L15428:
+ movs r3, r2, lsr #24
+ ldr r8, [sp, #28]
+ ldrne ip, [sp, #108]
+ orr r3, r8, r3
+ ldr lr, [sp, #144]
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp lr, r1
+ mov r2, r2, asl #8
+ bne .L15428
+ b .L13691
+.L13981:
+ ldr r2, [sp, #144]
+ rsb r7, r4, #8
+ cmp r2, r7
+ bge .L13984
+ cmp r2, #0
+ ble .L13691
+ ldr r2, [ip, #0]
+ mov r3, r4, asl #2
+ mov ip, r2, asl r3
+ ldr lr, [sp, #108]
+ mov r4, #0
+.L13988:
+ movs r3, ip, lsr #28
+ beq .L13989
+ ldr r1, [lr, #0]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [lr, #0]
+ streq r2, [lr, #0]
+.L13989:
+ ldr r3, [sp, #144]
+ add r4, r4, #1
+ cmp r3, r4
+ mov ip, ip, asl #4
+ add lr, lr, #4
+ bne .L13988
+ b .L13691
+.L14521:
+ ldr r0, [sp, #144]
+ rsb r5, lr, #8
+ cmp r0, r5
+ bge .L14524
+ cmp r0, #0
+ ble .L13691
+ cmp lr, #3
+ bls .L14527
+ mov r3, lr, asl #3
+ ldr r2, [r8, #0]
+ sub r3, r3, #32
+ mov ip, r2, asl r3
+ ldr lr, [sp, #108]
+ mov r4, #0
+.L14530:
+ movs r0, ip, lsr #24
+ beq .L14531
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14531:
+ ldr r1, [sp, #144]
+ add r4, r4, #1
+ cmp r1, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L14530
+ b .L13691
+.L14939:
+ ldr r2, [sp, #144]
+ rsb lr, r3, #8
+ cmp r2, lr
+ bge .L14942
+ cmp r2, #0
+ ble .L13691
+ ldr r2, [r0, r1]
+ mov r3, r3, asl #2
+ mov r0, r2, lsr r3
+ mov r2, #0
+.L14946:
+ ldr r4, [sp, #28]
+ ands r3, r0, #15
+ ldrne r5, [sp, #108]
+ orr r3, r4, r3
+ orr r3, r6, r3
+ ldr r7, [sp, #144]
+ strne r3, [r5, r2, asl #2]
+ add r2, r2, #1
+ cmp r7, r2
+ mov r0, r0, lsr #4
+ bne .L14946
+ b .L13691
+.L13777:
+ ldr r2, [sp, #144]
+ rsb r5, r3, #8
+ cmp r2, r5
+ bge .L13780
+ cmp r2, #0
+ ble .L13691
+ ldr r2, [r0, r1]
+ mov r3, r3, asl #2
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #108]
+ mov r4, #0
+.L13784:
+ ands r3, ip, #15
+ beq .L13785
+ ldr r1, [lr, #0]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [lr, #0]
+ streq r2, [lr, #0]
+.L13785:
+ ldr r3, [sp, #144]
+ add r4, r4, #1
+ cmp r3, r4
+ mov ip, ip, lsr #4
+ add lr, lr, #4
+ bne .L13784
+ b .L13691
+.L15199:
+ ldr r5, [sp, #144]
+ rsb r0, lr, #8
+ cmp r5, r0
+ bge .L15202
+ cmp r5, #0
+ ble .L13691
+ cmp lr, #3
+ bls .L15205
+ ldr r2, [r6, #4]
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L15208:
+ ands r3, r1, #255
+ ldr r7, [sp, #28]
+ ldrne r8, [sp, #108]
+ orr r3, r7, r3
+ ldr ip, [sp, #144]
+ strne r3, [r8, r2, asl #2]
+ add r2, r2, #1
+ cmp ip, r2
+ mov r1, r1, lsr #8
+ bne .L15208
+ b .L13691
+.L13984:
+ cmp r7, #0
+ ldr r2, [ip, #0]
+ ldreq r5, [sp, #108]
+ beq .L13996
+ mov r3, r4, asl #2
+ mov lr, r2, asl r3
+ ldr r4, [sp, #108]
+ mov r5, #0
+.L13997:
+ movs r3, lr, lsr #28
+ beq .L13998
+ ldr r1, [r4, #0]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L13998:
+ add r5, r5, #1
+ cmp r7, r5
+ mov lr, lr, asl #4
+ add r4, r4, #4
+ bne .L13997
+ ldr r4, [sp, #108]
+ add r5, r4, r7, asl #2
+.L13996:
+ ldr r8, [sp, #144]
+ sub ip, ip, #32
+ rsb sl, r7, r8
+ b .L13983
+.L14188:
+ cmp lr, #3
+ bls .L14226
+ cmp r5, #0
+ ldr r2, [r7, #4]
+ ldreq r4, [sp, #108]
+ beq .L14230
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #108]
+ mov r4, #0
+.L14231:
+ ands r0, ip, #255
+ beq .L14232
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14232:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L14231
+ ldr r2, [sp, #108]
+ add r4, r2, r5, asl #2
+.L14230:
+ ldr r3, [sp, #144]
+ add r7, r7, #64
+ rsb r6, r5, r3
+ b .L14187
+.L14524:
+ cmp lr, #3
+ bls .L14562
+ cmp r5, #0
+ ldr r2, [r8, #0]
+ ldreq r4, [sp, #108]
+ beq .L14566
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov ip, r2, asl r3
+ ldr lr, [sp, #108]
+ mov r4, #0
+.L14567:
+ movs r0, ip, lsr #24
+ beq .L14568
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14568:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L14567
+ ldr lr, [sp, #108]
+ add r4, lr, r5, asl #2
+.L14566:
+ ldr r0, [sp, #144]
+ sub r8, r8, #64
+ rsb r7, r5, r0
+ b .L14523
+.L15302:
+ subs r4, ip, #4
+ ldr r1, [r0, #0]
+ ldreq r1, [sp, #108]
+ beq .L15314
+ mov r3, r2, asl #3
+ mov r2, r1, lsr r3
+ mov r1, #0
+.L15315:
+ ands r3, r2, #255
+ ldr r5, [sp, #28]
+ ldrne r7, [sp, #108]
+ orr r3, r5, r3
+ strne r3, [r7, r1, asl #2]
+ add r1, r1, #1
+ cmp r4, r1
+ mov r2, r2, lsr #8
+ bne .L15315
+ ldr r8, [sp, #108]
+ add r3, r8, ip, asl #2
+ sub r1, r3, #16
+.L15314:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L15320
+ ands r3, r2, #255
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+.L15320:
+ add r1, r1, #16
+ add r0, r0, #64
+ b .L15301
+.L15522:
+ subs r4, ip, #4
+ ldr r0, [r2, #4]
+ ldreq r0, [sp, #108]
+ beq .L15534
+ mov r3, r1, asl #3
+ sub r3, r3, #32
+ mov r1, r0, asl r3
+ mov r0, #0
+.L15535:
+ movs r3, r1, lsr #24
+ ldr r5, [sp, #28]
+ ldrne r7, [sp, #108]
+ orr r3, r5, r3
+ strne r3, [r7, r0, asl #2]
+ add r0, r0, #1
+ cmp r0, r4
+ mov r1, r1, asl #8
+ bne .L15535
+ ldr r8, [sp, #108]
+ add r3, r8, ip, asl #2
+ sub r0, r3, #16
+.L15534:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L15540
+ ands r3, r1, #255
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ strne r3, [r0, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #28]
+ orrne r3, r4, r3
+ strne r3, [r0, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #28]
+ orrne r3, r5, r3
+ strne r3, [r0, #4]
+ movs r3, r1, lsr #24
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r0, #0]
+.L15540:
+ add r0, r0, #16
+ sub r2, r2, #64
+ b .L15521
+.L15202:
+ cmp lr, #3
+ bls .L15232
+ cmp r0, #0
+ ldr r2, [r6, #4]
+ ldreq r4, [sp, #108]
+ beq .L15236
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L15237:
+ ands r3, r1, #255
+ ldr r7, [sp, #28]
+ ldrne r8, [sp, #108]
+ orr r3, r7, r3
+ strne r3, [r8, r2, asl #2]
+ add r2, r2, #1
+ cmp r0, r2
+ mov r1, r1, lsr #8
+ bne .L15237
+ ldr ip, [sp, #108]
+ add r4, ip, r0, asl #2
+.L15236:
+ ldr r1, [sp, #144]
+ add r6, r6, #64
+ rsb r5, r0, r1
+ b .L15201
+.L13780:
+ cmp r5, #0
+ ldr r2, [r8, #0]
+ ldreq r4, [sp, #108]
+ beq .L13792
+ mov r3, r3, asl #2
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #108]
+ mov r4, #0
+.L13793:
+ ands r3, ip, #15
+ beq .L13794
+ ldr r1, [lr, #0]
+ orr r2, r6, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [lr, #0]
+ streq r2, [lr, #0]
+.L13794:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, lsr #4
+ add lr, lr, #4
+ bne .L13793
+ ldr r7, [sp, #108]
+ add r4, r7, r5, asl #2
+.L13792:
+ ldr ip, [sp, #144]
+ add r8, r8, #32
+ rsb sl, r5, ip
+ b .L13779
+.L15422:
+ cmp ip, #3
+ bls .L15452
+ cmp r0, #0
+ ldr r2, [r6, #0]
+ ldreq r4, [sp, #108]
+ beq .L15456
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L15457:
+ movs r3, r2, lsr #24
+ ldr r7, [sp, #28]
+ ldrne r8, [sp, #108]
+ orr r3, r7, r3
+ strne r3, [r8, r1, asl #2]
+ add r1, r1, #1
+ cmp r0, r1
+ mov r2, r2, asl #8
+ bne .L15457
+ ldr ip, [sp, #108]
+ add r4, ip, r0, asl #2
+.L15456:
+ ldr r3, [sp, #144]
+ sub r6, r6, #64
+ rsb r5, r0, r3
+ b .L15421
+.L15072:
+ cmp r5, #0
+ ldr r2, [r0, #0]
+ ldreq r1, [sp, #108]
+ beq .L15082
+ mov r3, r4, asl #2
+ mov lr, r2, asl r3
+ mov r4, #0
+.L15083:
+ ldr r1, [sp, #28]
+ movs r3, lr, lsr #28
+ ldrne r2, [sp, #108]
+ orr r3, r1, r3
+ orr r3, r6, r3
+ strne r3, [r2, r4, asl #2]
+ add r4, r4, #1
+ cmp r5, r4
+ mov lr, lr, asl #4
+ bne .L15083
+ ldr r3, [sp, #108]
+ add r1, r3, r5, asl #2
+.L15082:
+ ldr r4, [sp, #144]
+ sub r0, r0, #32
+ rsb r2, r5, r4
+ b .L15071
+.L14334:
+ subs r7, r6, #4
+ ldr r1, [r4, #0]
+ ldreq r2, [sp, #108]
+ beq .L14348
+ mov r3, r2, asl #3
+ mov ip, r1, lsr r3
+ ldr lr, [sp, #108]
+ mov r5, #0
+.L14349:
+ ands r0, ip, #255
+ beq .L14350
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14350:
+ add r5, r5, #1
+ cmp r7, r5
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L14349
+ ldr r5, [sp, #108]
+ add r3, r5, r6, asl #2
+ sub r2, r3, #16
+.L14348:
+ ldr r1, [r4, #4]
+ cmp r1, #0
+ beq .L14356
+ ands r0, r1, #255
+ beq .L14358
+ ldr r3, [r2, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #0]
+ streq r3, [r2, #0]
+.L14358:
+ mov r3, r1, lsr #8
+ ands r0, r3, #255
+ beq .L14362
+ ldr r3, [r2, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #4]
+ streq r3, [r2, #4]
+.L14362:
+ mov r3, r1, lsr #16
+ ands r0, r3, #255
+ beq .L14366
+ ldr r3, [r2, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #8]
+ streq r3, [r2, #8]
+.L14366:
+ movs r1, r1, lsr #24
+ beq .L14356
+ ldr r3, [r2, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orrne r3, r1, r3
+ strne r3, [r2, #12]
+ orreq r3, r1, r3, asl #16
+ orreq r3, r3, #768
+ streq r3, [r2, #12]
+.L14356:
+ add r0, r2, #16
+ add r4, r4, #64
+ b .L14333
+.L14670:
+ subs r7, r6, #4
+ ldr r1, [r4, #4]
+ ldreq r2, [sp, #108]
+ beq .L14684
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov ip, r1, asl r3
+ ldr lr, [sp, #108]
+ mov r5, #0
+.L14685:
+ movs r0, ip, lsr #24
+ beq .L14686
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14686:
+ add r5, r5, #1
+ cmp r5, r7
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L14685
+ ldr r1, [sp, #108]
+ add r3, r1, r6, asl #2
+ sub r2, r3, #16
+.L14684:
+ ldr r1, [r4, #0]
+ cmp r1, #0
+ beq .L14692
+ ands r0, r1, #255
+ beq .L14694
+ ldr r3, [r2, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #12]
+ streq r3, [r2, #12]
+.L14694:
+ mov r3, r1, lsr #8
+ ands r0, r3, #255
+ beq .L14698
+ ldr r3, [r2, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #8]
+ streq r3, [r2, #8]
+.L14698:
+ mov r3, r1, lsr #16
+ ands r0, r3, #255
+ beq .L14702
+ ldr r3, [r2, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #4]
+ streq r3, [r2, #4]
+.L14702:
+ movs r1, r1, lsr #24
+ beq .L14692
+ ldr r3, [r2, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orrne r3, r1, r3
+ strne r3, [r2, #0]
+ orreq r3, r1, r3, asl #16
+ orreq r3, r3, #768
+ streq r3, [r2, #0]
+.L14692:
+ add ip, r2, #16
+ sub r4, r4, #64
+ b .L14669
+.L14942:
+ cmp lr, #0
+ ldr r2, [r4, #0]
+ ldreq r7, [sp, #108]
+ beq .L14952
+ mov r3, r3, asl #2
+ mov r2, r2, lsr r3
+ mov r1, #0
+.L14953:
+ ldr r8, [sp, #28]
+ ands r3, r2, #15
+ ldrne ip, [sp, #108]
+ orr r3, r8, r3
+ orr r3, r6, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp lr, r1
+ mov r2, r2, lsr #4
+ bne .L14953
+ ldr r0, [sp, #108]
+ add r7, r0, lr, asl #2
+.L14952:
+ ldr r1, [sp, #144]
+ add r4, r4, #32
+ rsb r5, lr, r1
+ b .L14941
+.L15726:
+ mov ip, fp
+ b .L15672
+.L15725:
+ ldr ip, [sp, #12]
+ b .L15660
+.L15728:
+ ldr lr, [sp, #16]
+ b .L15662
+.L15452:
+ subs lr, r0, #4
+ ldr r2, [r6, #4]
+ ldreq r1, [sp, #108]
+ beq .L15464
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L15465:
+ movs r3, r2, lsr #24
+ ldr r4, [sp, #28]
+ ldrne r5, [sp, #108]
+ orr r3, r4, r3
+ strne r3, [r5, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, lr
+ mov r2, r2, asl #8
+ bne .L15465
+ ldr r7, [sp, #108]
+ add r3, r7, r0, asl #2
+ sub r1, r3, #16
+.L15464:
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L15470
+ ands r3, r2, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ strne r3, [r1, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r1, #4]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #28]
+ orrne r3, r2, r3
+ strne r3, [r1, #0]
+.L15470:
+ add r4, r1, #16
+ b .L15456
+.L15232:
+ subs ip, r0, #4
+ ldr r2, [r6, #0]
+ ldreq r1, [sp, #108]
+ beq .L15244
+ mov r3, lr, asl #3
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L15245:
+ ands r3, r1, #255
+ ldr lr, [sp, #28]
+ ldrne r4, [sp, #108]
+ orr r3, lr, r3
+ strne r3, [r4, r2, asl #2]
+ add r2, r2, #1
+ cmp ip, r2
+ mov r1, r1, lsr #8
+ bne .L15245
+ ldr r5, [sp, #108]
+ add r3, r5, r0, asl #2
+ sub r1, r3, #16
+.L15244:
+ ldr r2, [r6, #4]
+ cmp r2, #0
+ beq .L15250
+ ands r3, r2, #255
+ ldrne r7, [sp, #28]
+ orrne r3, r7, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #28]
+ orrne r3, r8, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne ip, [sp, #28]
+ orrne r3, ip, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne lr, [sp, #28]
+ orrne r3, lr, r3
+ strne r3, [r1, #12]
+.L15250:
+ add r4, r1, #16
+ b .L15236
+.L14562:
+ subs r6, r5, #4
+ ldr r2, [r8, #4]
+ ldreq r2, [sp, #108]
+ beq .L14576
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov ip, r2, asl r3
+ ldr lr, [sp, #108]
+ mov r4, #0
+.L14577:
+ movs r0, ip, lsr #24
+ beq .L14578
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14578:
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L14577
+ ldr ip, [sp, #108]
+ add r3, ip, r5, asl #2
+ sub r2, r3, #16
+.L14576:
+ ldr r1, [r8, #0]
+ cmp r1, #0
+ beq .L14584
+ ands r0, r1, #255
+ beq .L14586
+ ldr r3, [r2, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #12]
+ streq r3, [r2, #12]
+.L14586:
+ mov r3, r1, lsr #8
+ ands r0, r3, #255
+ beq .L14590
+ ldr r3, [r2, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #8]
+ streq r3, [r2, #8]
+.L14590:
+ mov r3, r1, lsr #16
+ ands r0, r3, #255
+ beq .L14594
+ ldr r3, [r2, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #4]
+ streq r3, [r2, #4]
+.L14594:
+ movs r1, r1, lsr #24
+ beq .L14584
+ ldr r3, [r2, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orrne r3, r1, r3
+ strne r3, [r2, #0]
+ orreq r3, r1, r3, asl #16
+ orreq r3, r3, #768
+ streq r3, [r2, #0]
+.L14584:
+ add r4, r2, #16
+ b .L14566
+.L14226:
+ subs r6, r5, #4
+ ldr r2, [r7, #0]
+ ldreq r2, [sp, #108]
+ beq .L14240
+ mov r3, lr, asl #3
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #108]
+ mov r4, #0
+.L14241:
+ ands r0, ip, #255
+ beq .L14242
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14242:
+ add r4, r4, #1
+ cmp r4, r6
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L14241
+ ldr r1, [sp, #108]
+ add r3, r1, r5, asl #2
+ sub r2, r3, #16
+.L14240:
+ ldr r1, [r7, #4]
+ cmp r1, #0
+ beq .L14248
+ ands r0, r1, #255
+ beq .L14250
+ ldr r3, [r2, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #0]
+ streq r3, [r2, #0]
+.L14250:
+ mov r3, r1, lsr #8
+ ands r0, r3, #255
+ beq .L14254
+ ldr r3, [r2, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #4]
+ streq r3, [r2, #4]
+.L14254:
+ mov r3, r1, lsr #16
+ ands r0, r3, #255
+ beq .L14258
+ ldr r3, [r2, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #8]
+ streq r3, [r2, #8]
+.L14258:
+ movs r1, r1, lsr #24
+ beq .L14248
+ ldr r3, [r2, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orrne r3, r1, r3
+ strne r3, [r2, #12]
+ orreq r3, r1, r3, asl #16
+ orreq r3, r3, #768
+ streq r3, [r2, #12]
+.L14248:
+ add r4, r2, #16
+ b .L14230
+.L15205:
+ ldr r0, [sp, #144]
+ ldr r3, [r6, #0]
+ add r2, r0, lr
+ cmp r2, #4
+ mov r1, lr, asl #3
+ mov r2, r3, lsr r1
+ bhi .L15212
+ cmp r0, #0
+ movne r1, #0
+ beq .L13691
+.L15228:
+ ands r3, r2, #255
+ ldr r0, [sp, #28]
+ ldrne r4, [sp, #108]
+ orr r3, r0, r3
+ ldr r5, [sp, #144]
+ strne r3, [r4, r1, asl #2]
+ add r1, r1, #1
+ cmp r5, r1
+ mov r2, r2, lsr #8
+ bne .L15228
+ b .L13691
+.L14527:
+ ldr r4, [sp, #144]
+ mov r3, lr, asl #3
+ ldr r1, [r8, #4]
+ add r2, r4, lr
+ sub r3, r3, #32
+ cmp r2, #4
+ mov ip, r1, asl r3
+ bhi .L14536
+ cmp r4, #0
+ ldrne lr, [sp, #108]
+ movne r4, #0
+ beq .L13691
+.L14556:
+ movs r0, ip, lsr #24
+ beq .L14557
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14557:
+ ldr r8, [sp, #144]
+ add r4, r4, #1
+ cmp r8, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L14556
+ b .L13691
+.L15425:
+ ldr r0, [sp, #144]
+ mov r3, ip, asl #3
+ ldr r1, [r6, #4]
+ add r2, r0, ip
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L15432
+ cmp r0, #0
+ movne r2, #0
+ beq .L13691
+.L15448:
+ movs r3, r1, lsr #24
+ ldr r0, [sp, #28]
+ ldrne r4, [sp, #108]
+ orr r3, r0, r3
+ ldr r5, [sp, #144]
+ strne r3, [r4, r2, asl #2]
+ add r2, r2, #1
+ cmp r5, r2
+ mov r1, r1, asl #8
+ bne .L15448
+ b .L13691
+.L14191:
+ ldr r4, [sp, #144]
+ ldr r3, [r7, #0]
+ add r2, r4, lr
+ mov r1, lr, asl #3
+ cmp r2, #4
+ mov ip, r3, lsr r1
+ bhi .L14200
+ cmp r4, #0
+ ldrne lr, [sp, #108]
+ movne r4, #0
+ beq .L13691
+.L14220:
+ ands r0, ip, #255
+ beq .L14221
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14221:
+ ldr r0, [sp, #144]
+ add r4, r4, #1
+ cmp r0, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L14220
+ b .L13691
+.L14200:
+ rsbs r4, lr, #4
+ ldreq lr, [sp, #108]
+ beq .L14205
+ ldr lr, [sp, #108]
+ mov r5, #0
+.L14206:
+ ands r0, ip, #255
+ beq .L14207
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14207:
+ add r5, r5, #1
+ cmp r5, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L14206
+ ldr r5, [sp, #108]
+ add lr, r5, r4, asl #2
+.L14205:
+ ldr r8, [sp, #144]
+ ldr ip, [r7, #4]
+ subs r5, r8, r4
+ beq .L13691
+ mov r4, #0
+.L14214:
+ ands r0, ip, #255
+ beq .L14215
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14215:
+ add r4, r4, #1
+ cmp r4, r5
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L14214
+ b .L13691
+.L15432:
+ rsbs r0, ip, #4
+ ldreq ip, [sp, #108]
+ beq .L15437
+ mov r2, #0
+.L15438:
+ movs r3, r1, lsr #24
+ ldr r4, [sp, #28]
+ ldrne r5, [sp, #108]
+ orr r3, r4, r3
+ strne r3, [r5, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, r0
+ mov r1, r1, asl #8
+ bne .L15438
+ ldr r7, [sp, #108]
+ add ip, r7, r0, asl #2
+.L15437:
+ ldr r8, [sp, #144]
+ ldr r2, [r6, #0]
+ subs r0, r8, r0
+ beq .L13691
+ mov r1, #0
+.L15444:
+ ldr lr, [sp, #28]
+ movs r3, r2, lsr #24
+ orr r3, lr, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, asl #8
+ bne .L15444
+ b .L13691
+.L14536:
+ rsbs r4, lr, #4
+ ldreq lr, [sp, #108]
+ beq .L14541
+ ldr lr, [sp, #108]
+ mov r5, #0
+.L14542:
+ movs r0, ip, lsr #24
+ beq .L14543
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14543:
+ add r5, r5, #1
+ cmp r4, r5
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L14542
+ ldr r5, [sp, #108]
+ add lr, r5, r4, asl #2
+.L14541:
+ ldr r7, [sp, #144]
+ ldr ip, [r8, #0]
+ subs r5, r7, r4
+ beq .L13691
+ mov r4, #0
+.L14550:
+ movs r0, ip, lsr #24
+ beq .L14551
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L14551:
+ add r4, r4, #1
+ cmp r4, r5
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L14550
+ b .L13691
+.L15212:
+ rsbs r0, lr, #4
+ ldreq ip, [sp, #108]
+ beq .L15217
+ mov r1, #0
+.L15218:
+ ands r3, r2, #255
+ ldr r4, [sp, #28]
+ ldrne r5, [sp, #108]
+ orr r3, r4, r3
+ strne r3, [r5, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, lsr #8
+ bne .L15218
+ ldr r7, [sp, #108]
+ add ip, r7, r0, asl #2
+.L15217:
+ ldr r8, [sp, #144]
+ ldr r2, [r6, #4]
+ subs r0, r8, r0
+ beq .L13691
+ mov r1, #0
+.L15224:
+ ldr lr, [sp, #28]
+ ands r3, r2, #255
+ orr r3, lr, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, lsr #8
+ bne .L15224
+ b .L13691
+ .size render_scanline_obj_partial_alpha_1D, .-render_scanline_obj_partial_alpha_1D
+ .align 2
+ .global render_scanline_obj_partial_alpha_2D
+ .type render_scanline_obj_partial_alpha_2D, %function
+render_scanline_obj_partial_alpha_2D:
+ @ args = 0, pretend = 0, frame = 140
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr ip, .L17801
+ sub sp, sp, #140
+ ldrh r4, [ip, #6]
+ add r0, r0, r0, asl #2
+ str r4, [sp, #60]
+ ldr r5, [sp, #60]
+ ldrh r4, [ip, #80]
+ ldr ip, .L17801+4
+ add r0, r5, r0, asl #5
+ ldr ip, [ip, r0, asl #2]
+ mov lr, r4, lsr #11
+ and lr, lr, #2
+ mov r4, r4, asl #27
+ str ip, [sp, #64]
+ orr lr, lr, r4, lsr #31
+ cmp ip, #0
+ ldr ip, .L17801+8
+ mov lr, lr, asl #9
+ add r0, ip, r0, asl #7
+ orr lr, lr, #256
+ str r0, [sp, #68]
+ str r1, [sp, #12]
+ str r2, [sp, #8]
+ str r3, [sp, #4]
+ str lr, [sp, #52]
+ beq .L17699
+ mov ip, #0
+ add r7, r3, r1, asl #2
+ rsb r8, r1, r2
+ str r7, [sp, #96]
+ str r8, [sp, #128]
+ str ip, [sp, #56]
+ mov lr, ip
+.L15740:
+ ldr r0, [sp, #68]
+ ldr r1, .L17801+12
+ ldrb r3, [lr, r0] @ zero_extendqisi2
+ mov r3, r3, asl #3
+ ldrh r4, [r3, r1]
+ add r3, r3, r1
+ ldrh r1, [r3, #2]
+ mov ip, r4, lsr #12
+ and r2, ip, #12
+ orr r0, r2, r1, lsr #14
+ and r5, r4, #255
+ mov r2, r1, asl #23
+ cmp r5, #160
+ ldrh lr, [r3, #4]
+ mov r6, r2, asr #23
+ ldr r3, .L17801+16
+ ldr r2, .L17801+20
+ subgt r5, r5, #256
+ tst r4, #3072
+ ldr sl, [r2, r0, asl #2]
+ ldr r8, [r3, r0, asl #2]
+ beq .L15743
+ tst r4, #256
+ beq .L15745
+ tst r4, #8192
+ beq .L15747
+ tst r4, #512
+ mov r3, r1, lsr #4
+ ldr r4, .L17801+12
+ and r3, r3, #992
+ add r3, r3, r4
+ add r2, sl, sl, lsr #31
+ ldrh r7, [r3, #30]
+ mov r4, r2, asr #1
+ add r1, r8, r8, lsr #31
+ ldr r2, [sp, #12]
+ mov r9, r1, asr #1
+ ldrh fp, [r3, #6]
+ ldrh r1, [r3, #14]
+ ldrh r3, [r3, #22]
+ str r7, [sp, #20]
+ moveq ip, r4
+ moveq r7, sl
+ moveq r0, r9
+ movne r7, sl, asl #1
+ movne ip, r4, asl #1
+ movne r0, r9, asl #1
+ cmp r6, r2
+ str r3, [sp, #16]
+ bge .L15752
+ rsb r2, r6, r2
+ rsb r7, r2, r7
+ cmp r7, #0
+ ble .L15754
+ ldr r6, [sp, #12]
+ rsb ip, r2, ip
+.L15752:
+ ldr r2, [sp, #8]
+ add r3, r6, r7
+ cmp r3, r2
+ blt .L15756
+ rsb r7, r6, r2
+ cmp r7, #0
+ ble .L15754
+.L15756:
+ add r0, r5, r0
+ ldr r5, [sp, #20]
+ mov r2, r1, asl #16
+ mov r1, r5, asl #16
+ ldr r5, [sp, #16]
+ mov r3, fp, asl #16
+ cmp r5, #0
+ mov fp, r3, asr #16
+ mov r5, r2, asr #16
+ ldr r3, [sp, #60]
+ ldr r2, [sp, #4]
+ mov r4, r4, asl #8
+ str r4, [sp, #100]
+ mov r1, r1, asr #16
+ mov r4, r9, asl #8
+ add r6, r2, r6, asl #2
+ rsb r0, r0, r3
+ bne .L15758
+ mla r3, r0, r1, r4
+ mov r2, r3, asr #8
+ cmp r2, r8
+ bcs .L15754
+ mov r3, lr, asl #22
+ mov r1, r2, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r1, asl #5
+ and r2, r2, #7
+ ldr r4, .L17801+24
+ add r2, r2, r3, asl #2
+ cmp r7, #0
+ add lr, r4, r2, asl #3
+ ble .L15754
+ mul r3, r0, r5
+ mul r2, fp, ip
+ ldr r5, [sp, #100]
+ rsb r3, r2, r3
+ add r0, r5, r3
+ mov r2, r0, asr #8
+ cmp r2, sl
+ ldrcs ip, [sp, #16]
+ bcs .L15764
+ b .L17793
+.L15765:
+ cmp r2, sl
+ bcc .L15766
+.L15764:
+ add ip, ip, #1
+ add r0, r0, fp
+ cmp r7, ip
+ mov r2, r0, asr #8
+ add r6, r6, #4
+ bne .L15765
+.L15754:
+ ldr ip, [sp, #56]
+ ldr lr, [sp, #64]
+ add ip, ip, #1
+ cmp ip, lr
+ str ip, [sp, #56]
+ beq .L17699
+.L17751:
+ ldr lr, [sp, #56]
+ b .L15740
+.L15743:
+ tst r4, #256
+ beq .L16917
+ tst r4, #8192
+ beq .L16919
+ mov r3, r1, lsr #4
+ ldr r7, .L17801+12
+ and r3, r3, #992
+ add r3, r3, r7
+ add r1, r8, r8, lsr #31
+ ldrh ip, [r3, #30]
+ mov r7, r1, asr #1
+ ldrh r0, [r3, #6]
+ add r2, sl, sl, lsr #31
+ ldr r1, [sp, #12]
+ tst r4, #512
+ mov r4, r2, asr #1
+ str ip, [sp, #36]
+ str r0, [sp, #32]
+ moveq r9, sl
+ moveq ip, r4
+ moveq r0, r7
+ movne r9, sl, asl #1
+ movne ip, r4, asl #1
+ movne r0, r7, asl #1
+ cmp r6, r1
+ ldrh r2, [r3, #14]
+ ldrh fp, [r3, #22]
+ bge .L16924
+ rsb r1, r6, r1
+ rsb r9, r1, r9
+ cmp r9, #0
+ ble .L15754
+ ldr r6, [sp, #12]
+ rsb ip, r1, ip
+.L16924:
+ ldr r1, [sp, #8]
+ add r3, r6, r9
+ cmp r3, r1
+ blt .L16927
+ rsb r9, r6, r1
+ cmp r9, #0
+ ble .L15754
+.L16927:
+ add r0, r5, r0
+ ldr r5, [sp, #32]
+ mov r2, r2, asl #16
+ mov r3, r5, asl #16
+ ldr r5, [sp, #36]
+ mov r3, r3, asr #16
+ mov r1, r5, asl #16
+ str r3, [sp, #80]
+ mov r5, r2, asr #16
+ ldr r3, [sp, #60]
+ ldr r2, [sp, #4]
+ mov r4, r4, asl #8
+ cmp fp, #0
+ str r4, [sp, #132]
+ mov r1, r1, asr #16
+ mov r4, r7, asl #8
+ rsb r0, r0, r3
+ add r7, r2, r6, asl #2
+ bne .L16929
+ mla r3, r0, r1, r4
+ mov r2, r3, asr #8
+ cmp r2, r8
+ bcs .L15754
+ mov r3, lr, asl #22
+ mov r1, r2, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r1, asl #5
+ and r2, r2, #7
+ ldr r4, .L17801+24
+ add r2, r2, r3, asl #2
+ cmp r9, #0
+ add lr, r4, r2, asl #3
+ ble .L15754
+ ldr r2, [sp, #80]
+ mul r3, r0, r5
+ mul r2, ip, r2
+ ldr r5, [sp, #132]
+ rsb r3, r2, r3
+ add r0, r5, r3
+ mov r4, r0, asr #8
+ cmp r4, sl
+ movcs ip, fp
+ bcs .L16935
+ b .L17794
+.L16936:
+ cmp r4, sl
+ bcc .L17737
+.L16935:
+ ldr r8, [sp, #80]
+ add ip, ip, #1
+ add r0, r0, r8
+ cmp r9, ip
+ mov r4, r0, asr #8
+ add r7, r7, #4
+ bne .L16936
+ ldr ip, [sp, #56]
+ ldr lr, [sp, #64]
+ add ip, ip, #1
+ cmp ip, lr
+ str ip, [sp, #56]
+ bne .L17751
+.L17699:
+ add sp, sp, #140
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L15745:
+ ldr r2, [sp, #60]
+ tst r1, #8192
+ rsb r0, r5, r2
+ rsbne r3, r0, r8
+ subne r0, r3, #1
+ mov r2, r1, asl #19
+ and r3, ip, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L15754
+ .p2align 2
+.L15836:
+ .word .L15832
+ .word .L15833
+ .word .L15834
+ .word .L15835
+.L16917:
+ ldr r2, [sp, #60]
+ tst r1, #8192
+ rsb r0, r5, r2
+ rsbne r3, r0, r8
+ subne r0, r3, #1
+ mov r2, r1, asl #19
+ and r3, ip, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L15754
+ .p2align 2
+.L16998:
+ .word .L16994
+ .word .L16995
+ .word .L16996
+ .word .L16997
+.L16919:
+ mov r3, r1, lsr #4
+ ldr r1, .L17801+12
+ and r3, r3, #992
+ add r3, r3, r1
+ tst r4, #512
+ add r1, r8, r8, lsr #31
+ ldrh r4, [r3, #30]
+ mov r7, r1, asr #1
+ add r2, sl, sl, lsr #31
+ ldr r1, [sp, #12]
+ ldrh ip, [r3, #6]
+ str r4, [sp, #48]
+ mov r4, r2, asr #1
+ ldrh r2, [r3, #14]
+ ldrh r3, [r3, #22]
+ moveq fp, sl
+ moveq r9, r4
+ moveq r0, r7
+ movne fp, sl, asl #1
+ movne r9, r4, asl #1
+ movne r0, r7, asl #1
+ cmp r6, r1
+ str ip, [sp, #40]
+ str r3, [sp, #44]
+ bge .L16956
+ rsb r1, r6, r1
+ rsb fp, r1, fp
+ cmp fp, #0
+ ble .L15754
+ ldr r6, [sp, #12]
+ rsb r9, r1, r9
+.L16956:
+ ldr ip, [sp, #8]
+ add r3, r6, fp
+ cmp r3, ip
+ blt .L16959
+ rsb fp, r6, ip
+ cmp fp, #0
+ ble .L15754
+.L16959:
+ add ip, r5, r0
+ ldr r0, [sp, #40]
+ ldr r5, [sp, #48]
+ mov r3, r0, asl #16
+ ldr r0, [sp, #44]
+ mov r2, r2, asl #16
+ mov r3, r3, asr #16
+ mov r1, r5, asl #16
+ cmp r0, #0
+ str r3, [sp, #84]
+ mov r0, lr, lsr #8
+ mov r5, r2, asr #16
+ ldr r3, [sp, #60]
+ ldr r2, [sp, #4]
+ mov r4, r4, asl #8
+ and r0, r0, #240
+ str r4, [sp, #92]
+ mov r1, r1, asr #16
+ mov r4, r7, asl #8
+ rsb ip, ip, r3
+ add r7, r2, r6, asl #2
+ str r0, [sp, #116]
+ bne .L16961
+ mla r3, ip, r1, r4
+ mov r2, r3, asr #8
+ cmp r2, r8
+ bcs .L15754
+ mov r3, lr, asl #22
+ mov r1, r2, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r1, asl #5
+ and r2, r2, #7
+ ldr r4, .L17801+24
+ add r2, r2, r3, asl #3
+ cmp fp, #0
+ add r1, r4, r2, asl #2
+ ble .L15754
+ ldr r2, [sp, #84]
+ mul r3, ip, r5
+ mul r2, r9, r2
+ ldr r5, [sp, #92]
+ rsb r3, r2, r3
+ add r0, r5, r3
+ mov r3, r0, asr #8
+ cmp r3, sl
+ mov r4, r3
+ ldrcs r5, [sp, #44]
+ bcs .L16967
+ b .L17795
+.L16968:
+ cmp r3, sl
+ bcc .L16969
+.L16967:
+ ldr r8, [sp, #84]
+ add r5, r5, #1
+ add r0, r0, r8
+ mov r3, r0, asr #8
+ cmp fp, r5
+ add r7, r7, #4
+ mov r4, r3
+ bne .L16968
+ b .L15754
+.L15747:
+ mov r3, r1, lsr #4
+ ldr r7, .L17801+12
+ and r3, r3, #992
+ add r3, r3, r7
+ add r1, r8, r8, lsr #31
+ tst r4, #512
+ ldrh r0, [r3, #6]
+ add r2, sl, sl, lsr #31
+ mov r7, r1, asr #1
+ ldrh ip, [r3, #30]
+ ldrh r1, [r3, #14]
+ ldrh fp, [r3, #22]
+ ldr r3, [sp, #12]
+ mov r4, r2, asr #1
+ movne r2, sl, asl #1
+ str r0, [sp, #24]
+ streq sl, [sp, #136]
+ moveq r9, r4
+ moveq r0, r7
+ strne r2, [sp, #136]
+ movne r9, r4, asl #1
+ movne r0, r7, asl #1
+ cmp r6, r3
+ str ip, [sp, #28]
+ bge .L15790
+ ldr ip, [sp, #136]
+ rsb r2, r6, r3
+ rsb ip, r2, ip
+ cmp ip, #0
+ str ip, [sp, #136]
+ ble .L15754
+ rsb r9, r2, r9
+ mov r6, r3
+.L15790:
+ ldr r2, [sp, #136]
+ ldr ip, [sp, #8]
+ add r3, r6, r2
+ cmp r3, ip
+ blt .L15793
+ rsb r2, r6, ip
+ cmp r2, #0
+ str r2, [sp, #136]
+ ble .L15754
+.L15793:
+ add ip, r5, r0
+ ldr r5, [sp, #24]
+ ldr r0, [sp, #28]
+ mov r3, r5, asl #16
+ mov r2, r1, asl #16
+ mov r3, r3, asr #16
+ mov r1, r0, asl #16
+ str r3, [sp, #72]
+ mov r0, lr, lsr #8
+ mov r5, r2, asr #16
+ ldr r3, [sp, #60]
+ ldr r2, [sp, #4]
+ mov r4, r4, asl #8
+ and r0, r0, #240
+ cmp fp, #0
+ str r4, [sp, #124]
+ mov r1, r1, asr #16
+ mov r4, r7, asl #8
+ rsb ip, ip, r3
+ add r7, r2, r6, asl #2
+ str r0, [sp, #120]
+ bne .L15795
+ mla r3, ip, r1, r4
+ mov r2, r3, asr #8
+ cmp r2, r8
+ bcs .L15754
+ mov r3, lr, asl #22
+ mov r1, r2, lsr #3
+ mov r3, r3, lsr #22
+ ldr r4, [sp, #136]
+ add r3, r3, r1, asl #5
+ and r2, r2, #7
+ ldr r8, .L17801+24
+ add r2, r2, r3, asl #3
+ cmp r4, #0
+ add lr, r8, r2, asl #2
+ ble .L15754
+ ldr r2, [sp, #72]
+ mul r3, ip, r5
+ mul r2, r9, r2
+ ldr r0, [sp, #124]
+ rsb r3, r2, r3
+ add ip, r0, r3
+ mov r3, ip, asr #8
+ cmp r3, sl
+ mov r1, r3
+ movcs r4, fp
+ bcs .L15801
+ b .L17796
+.L15802:
+ cmp r3, sl
+ bcc .L15803
+.L15801:
+ ldr r1, [sp, #72]
+ ldr r2, [sp, #136]
+ add ip, ip, r1
+ add r4, r4, #1
+ mov r3, ip, asr #8
+ cmp r2, r4
+ add r7, r7, #4
+ mov r1, r3
+ bne .L15802
+ b .L15754
+.L15795:
+ mov r3, lr, asl #22
+ ldr r0, .L17801+24
+ ldr lr, [sp, #136]
+ mov r3, r3, lsr #22
+ add r3, r0, r3, asl #5
+ cmp lr, #0
+ str r3, [sp, #112]
+ ble .L15754
+ mov r3, fp, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #76]
+ mul r2, ip, r1
+ ldr r1, [sp, #76]
+ ldr r0, [sp, #72]
+ mul r1, r9, r1
+ mul r3, ip, r5
+ mul r0, r9, r0
+ rsb r2, r1, r2
+ ldr r1, [sp, #124]
+ rsb r3, r0, r3
+ add lr, r1, r3
+ add r5, r4, r2
+ mov ip, lr, asr #8
+ mov r4, r5, asr #8
+ cmp ip, sl
+ cmpcc r4, r8
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L15817
+ b .L17797
+.L15818:
+ cmp ip, sl
+ cmpcc r4, r8
+ bcc .L15820
+.L15817:
+ ldr r2, [sp, #72]
+ ldr r3, [sp, #76]
+ ldr r0, [sp, #136]
+ add r6, r6, #1
+ add lr, lr, r2
+ add r5, r5, r3
+ cmp r0, r6
+ mov ip, lr, asr #8
+ mov r4, r5, asr #8
+ add r7, r7, #4
+ bne .L15818
+ b .L15754
+.L17755:
+ mov r3, ip, asr #1
+ ldr r2, [sp, #112]
+ and fp, r3, #3
+ ldr r3, [sp, #112]
+ and r1, r4, #7
+ and r0, r4, #7
+ add r1, r2, r1, asl #2
+ add r0, r3, r0, asl #2
+ mov r2, ip, asr #1
+ mov r3, r4, asr #3
+ and r9, r2, #3
+ mov r3, r3, asl #10
+ mov r2, ip, asr #3
+ add r3, r3, r2, asl #5
+ add r0, r0, r3
+ tst ip, #1
+ add r1, r1, r3
+ ldrneb r3, [r1, fp] @ zero_extendqisi2
+ ldreqb r3, [r0, r9] @ zero_extendqisi2
+ movne r0, r3, lsr #4
+ andeq r0, r3, #15
+ ldr r4, [sp, #120]
+ cmp r0, #0
+ orr r0, r0, r4
+ beq .L15826
+ ldr r2, [r7, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+.L15826:
+ ldr ip, [sp, #72]
+ ldr r0, [sp, #76]
+ ldr r1, [sp, #136]
+ add r6, r6, #1
+ add lr, lr, ip
+ add r5, r5, r0
+ cmp r1, r6
+ add r7, r7, #4
+ mov ip, lr, asr #8
+ mov r4, r5, asr #8
+ ble .L15754
+.L15820:
+ cmp r4, r8
+ cmpcc ip, sl
+ bcc .L17755
+ b .L15754
+.L16961:
+ mov r3, lr, asl #22
+ ldr lr, .L17801+24
+ mov r3, r3, lsr #22
+ add r3, lr, r3, asl #5
+ cmp fp, #0
+ str r3, [sp, #104]
+ ble .L15754
+ ldr r0, [sp, #44]
+ mul r2, ip, r1
+ mov r3, r0, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #88]
+ ldr r1, [sp, #88]
+ ldr r0, [sp, #84]
+ mul r1, r9, r1
+ mul r3, ip, r5
+ mul r0, r9, r0
+ rsb r2, r1, r2
+ ldr r1, [sp, #92]
+ rsb r3, r0, r3
+ add lr, r1, r3
+ add r5, r4, r2
+ mov ip, lr, asr #8
+ mov r4, r5, asr #8
+ cmp ip, sl
+ movcs r3, #0
+ movcc r3, #1
+ cmp r8, r4
+ movls r3, #0
+ cmp r3, #0
+ moveq r6, r3
+ beq .L16981
+ b .L17798
+.L16982:
+ cmp ip, sl
+ cmpcc r4, r8
+ bcc .L16983
+.L16981:
+ ldr r2, [sp, #84]
+ ldr r3, [sp, #88]
+ add r6, r6, #1
+ add lr, lr, r2
+ add r5, r5, r3
+ cmp fp, r6
+ mov ip, lr, asr #8
+ mov r4, r5, asr #8
+ add r7, r7, #4
+ bne .L16982
+ b .L15754
+.L16938:
+ cmp r4, sl
+ bcs .L15754
+.L17737:
+ ldr r1, [sp, #80]
+ mov r3, r4, asr #3
+ add r0, r0, r1
+ add r3, lr, r3, asl #6
+ and r1, r4, #7
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ ldr r5, [sp, #52]
+ cmp r2, #0
+ add ip, ip, #1
+ orr r3, r5, r2
+ strne r3, [r7, #0]
+ cmp r9, ip
+ mov r4, r0, asr #8
+ add r7, r7, #4
+ bgt .L16938
+ b .L15754
+.L15758:
+ mov r3, lr, asl #22
+ ldr r2, .L17801+24
+ mov r3, r3, lsr #22
+ cmp r7, #0
+ add lr, r2, r3, asl #5
+ ble .L15754
+ ldr r2, [sp, #16]
+ mov r3, r2, asl #16
+ mov r9, r3, asr #16
+ mul r2, r0, r1
+ mul r3, r0, r5
+ mul r1, r9, ip
+ mul r0, fp, ip
+ ldr r5, [sp, #100]
+ rsb r2, r1, r2
+ rsb r3, r0, r3
+ add r0, r5, r3
+ add r5, r4, r2
+ mov r1, r5, asr #8
+ mov r4, r0, asr #8
+ cmp r4, sl
+ cmpcc r1, r8
+ movcs r3, #0
+ movcc r3, #1
+ movcs ip, r3
+ bcs .L15777
+ b .L17799
+.L15778:
+ cmp r4, sl
+ cmpcc r1, r8
+ bcc .L15780
+.L15777:
+ add ip, ip, #1
+ add r0, r0, fp
+ add r5, r5, r9
+ cmp r7, ip
+ mov r4, r0, asr #8
+ mov r1, r5, asr #8
+ add r6, r6, #4
+ bne .L15778
+ b .L15754
+.L17758:
+ and r3, r1, #7
+ mov r2, r4, asr #3
+ mov r3, r3, asl #3
+ add r3, r3, r2, asl #6
+ mov r1, r1, asr #3
+ add r3, r3, r1, asl #10
+ and r2, r4, #7
+ add r3, r3, lr
+ ldrb r4, [r3, r2] @ zero_extendqisi2
+ cmp r4, #0
+ beq .L15783
+ ldr r3, [r6, #0]
+ mov r2, r3, lsr #16
+ mov r2, r2, asl #16
+ orr r1, r4, r3, asl #16
+ orr r2, r2, #768
+ tst r3, #256
+ orr r2, r4, r2
+ orr r1, r1, #768
+ strne r2, [r6, #0]
+ streq r1, [r6, #0]
+.L15783:
+ add ip, ip, #1
+ add r0, r0, fp
+ add r5, r5, r9
+ cmp r7, ip
+ mov r4, r0, asr #8
+ mov r1, r5, asr #8
+ add r6, r6, #4
+ ble .L15754
+.L15780:
+ cmp r1, r8
+ cmpcc r4, sl
+ bcc .L17758
+ b .L15754
+.L16929:
+ mov r3, lr, asl #22
+ ldr lr, .L17801+24
+ mov r3, r3, lsr #22
+ add r3, lr, r3, asl #5
+ cmp r9, #0
+ str r3, [sp, #108]
+ ble .L15754
+ mov r3, fp, asl #16
+ mul r2, r0, r1
+ mov fp, r3, asr #16
+ mul r3, r0, r5
+ ldr r0, [sp, #80]
+ mul r1, fp, ip
+ mul r0, ip, r0
+ rsb r3, r0, r3
+ ldr r0, [sp, #132]
+ rsb r2, r1, r2
+ add r5, r0, r3
+ add lr, r4, r2
+ mov ip, r5, asr #8
+ mov r4, lr, asr #8
+ cmp ip, sl
+ cmpcc r4, r8
+ movcs r3, #0
+ movcc r3, #1
+ movcs r6, r3
+ bcs .L16945
+ b .L17800
+.L16946:
+ cmp ip, sl
+ cmpcc r4, r8
+ bcc .L16948
+.L16945:
+ ldr r1, [sp, #80]
+ add r6, r6, #1
+ add r5, r5, r1
+ add lr, lr, fp
+ cmp r9, r6
+ mov ip, r5, asr #8
+ mov r4, lr, asr #8
+ add r7, r7, #4
+ bne .L16946
+ b .L15754
+.L17760:
+ ldr r2, [sp, #80]
+ and r3, r4, #7
+ add r5, r5, r2
+ mov r3, r3, asl #3
+ mov r2, ip, asr #3
+ mov r1, r4, asr #3
+ add r3, r3, r2, asl #6
+ add r3, r3, r1, asl #10
+ ldr r1, [sp, #108]
+ and r0, ip, #7
+ add r3, r3, r1
+ ldrb r2, [r3, r0] @ zero_extendqisi2
+ ldr r0, [sp, #52]
+ cmp r2, #0
+ add r6, r6, #1
+ orr r3, r0, r2
+ strne r3, [r7, #0]
+ add lr, lr, fp
+ cmp r9, r6
+ mov r4, lr, asr #8
+ mov ip, r5, asr #8
+ add r7, r7, #4
+ ble .L15754
+.L16948:
+ cmp r4, r8
+ cmpcc ip, sl
+ bcc .L17760
+ b .L15754
+.L16994:
+ mov r3, lr, asl #22
+ mov r2, r0, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r0, #7
+ add r1, r1, r3, asl #3
+ ldr r3, [sp, #12]
+ ldr r4, .L17801+24
+ cmp r6, r3
+ mov r3, lr, lsr #8
+ and r7, r3, #240
+ add r0, r4, r1, asl #2
+ bge .L16999
+ ldr r5, [sp, #12]
+ rsb r4, r6, r5
+ rsb lr, r4, sl
+ cmp lr, #0
+ ble .L15754
+ ldr r8, [sp, #8]
+ add r3, r6, sl
+ cmp r8, r3
+ bhi .L17002
+ mov r3, r4, lsr #3
+ mov r1, r3, asl #5
+ ands r3, r4, #7
+ add r4, r0, r1
+ bne .L17004
+ ldr r5, [sp, #128]
+ ldr r6, [sp, #96]
+.L17006:
+ movs lr, r5, lsr #3
+ beq .L17023
+ mov r1, r6
+ mov r0, r4
+ mov ip, #0
+.L17025:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L17026
+ ands r3, r2, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #8]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #16]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #20]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #24]
+ movs r3, r2, lsr #28
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #28]
+.L17026:
+ add ip, ip, #1
+ cmp ip, lr
+ add r0, r0, #32
+ add r1, r1, #32
+ bne .L17025
+ mov r3, lr, asl #5
+ add r4, r4, r3
+ add r6, r6, r3
+.L17023:
+ ands r0, r5, #7
+ beq .L15754
+ ldr r2, [r4, #0]
+ mov r1, #0
+.L17045:
+ ldr r4, [sp, #52]
+ ands r3, r2, #15
+ orr r3, r4, r3
+ orr r3, r7, r3
+ strne r3, [r6, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, lsr #4
+ bne .L17045
+ b .L15754
+.L16995:
+ mov r3, lr, asl #22
+ mov r1, r0, lsr #3
+ subs r2, sl, #8
+ mov r3, r3, lsr #22
+ submi r2, sl, #1
+ add r3, r3, r1, asl #5
+ ldr r5, [sp, #12]
+ add r3, r3, r2, asr #3
+ and r1, r0, #7
+ ldr r8, .L17801+24
+ add r1, r1, r3, asl #3
+ cmp r6, r5
+ mov r3, lr, lsr #8
+ and r7, r3, #240
+ add r0, r8, r1, asl #2
+ bge .L17129
+ rsb r4, r6, r5
+ rsb r1, r4, sl
+ cmp r1, #0
+ ble .L15754
+ ldr ip, [sp, #8]
+ add r3, r6, sl
+ cmp ip, r3
+ bhi .L17132
+ mov r3, r4, lsr #3
+ ands r5, r4, #7
+ sub r0, r0, r3, asl #5
+ bne .L17134
+ ldr r2, [sp, #128]
+ ldr r1, [sp, #96]
+.L17136:
+ movs r8, r2, lsr #3
+ beq .L17153
+ mov r5, r1
+ mov r6, r0
+ mov lr, #0
+.L17155:
+ ldr r4, [r6, #0]
+ cmp r4, #0
+ beq .L17156
+ ands r3, r4, #15
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #28]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #24]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #4]
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #0]
+.L17156:
+ add lr, lr, #1
+ cmp lr, r8
+ sub r6, r6, #32
+ add r5, r5, #32
+ bne .L17155
+ rsb r3, r8, r8, asl #27
+ add r0, r0, r3, asl #5
+ add r1, r1, r8, asl #5
+.L17153:
+ ands lr, r2, #7
+ beq .L15754
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L17175:
+ ldr r5, [sp, #52]
+ movs r3, r0, lsr #28
+ orr r3, r5, r3
+ orr r3, r7, r3
+ strne r3, [r1, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, lr
+ mov r0, r0, asl #4
+ bne .L17175
+ b .L15754
+.L17802:
+ .align 2
+.L17801:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word oam_ram
+ .word obj_height_table
+ .word obj_width_table
+ .word vram+65536
+.L16996:
+ mov r3, lr, asl #22
+ mov r1, r0, lsr #3
+ mov r3, r3, lsr #22
+ and r2, r0, #7
+ add r3, r3, r1, asl #5
+ ldr r5, [sp, #12]
+ add r2, r2, r3, asl #2
+ ldr r7, .L17801+24
+ mov r0, r2, asl #3
+ cmp r6, r5
+ add ip, r0, r7
+ bge .L17259
+ rsb r0, r6, r5
+ rsb lr, r0, sl
+ cmp lr, #0
+ ble .L15754
+ ldr r8, [sp, #8]
+ add r3, r6, sl
+ cmp r8, r3
+ bhi .L17262
+ mov r3, r0, lsr #3
+ ands lr, r0, #7
+ add r6, ip, r3, asl #6
+ bne .L17264
+ ldr r5, [sp, #128]
+ ldr r4, [sp, #96]
+.L17266:
+ movs lr, r5, lsr #3
+ beq .L17324
+ mov r1, r4
+ mov r0, r6
+ mov ip, #0
+.L17326:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L17327
+ ands r3, r2, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #12]
+.L17327:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L17336
+ ands r3, r2, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #16]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #20]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #24]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #28]
+.L17336:
+ add ip, ip, #1
+ cmp lr, ip
+ add r0, r0, #64
+ add r1, r1, #32
+ bne .L17326
+ add r6, r6, lr, asl #6
+ add r4, r4, lr, asl #5
+.L17324:
+ ands r0, r5, #7
+ beq .L15754
+ cmp r0, #3
+ ldrls r1, [r6, #0]
+ bls .L17359
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L17349
+ ands r3, r2, #255
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ strne r3, [r4, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ strne r3, [r4, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, [sp, #52]
+ orrne r3, r1, r3
+ strne r3, [r4, #8]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ strne r3, [r4, #12]
+.L17349:
+ subs r0, r0, #4
+ ldr r1, [r6, #4]
+ addne r4, r4, #16
+ beq .L15754
+.L17359:
+ mov r2, #0
+.L17360:
+ ldr r5, [sp, #52]
+ ands r3, r1, #255
+ orr r3, r5, r3
+ strne r3, [r4, r2, asl #2]
+ add r2, r2, #1
+ cmp r0, r2
+ mov r1, r1, lsr #8
+ bhi .L17360
+ b .L15754
+.L15834:
+ mov r3, lr, asl #22
+ mov r1, r0, lsr #3
+ mov r3, r3, lsr #22
+ and r2, r0, #7
+ add r3, r3, r1, asl #5
+ ldr r4, [sp, #12]
+ add r2, r2, r3, asl #2
+ ldr r5, .L17801+24
+ mov r0, r2, asl #3
+ cmp r6, r4
+ add ip, r0, r5
+ bge .L16245
+ rsb r0, r6, r4
+ rsb r7, r0, sl
+ cmp r7, #0
+ ble .L15754
+ ldr r8, [sp, #8]
+ add r3, r6, sl
+ cmp r8, r3
+ bhi .L16248
+ mov r3, r0, lsr #3
+ ands lr, r0, #7
+ add r7, ip, r3, asl #6
+ bne .L16250
+ ldr r6, [sp, #128]
+ ldr lr, [sp, #96]
+.L16252:
+ movs r5, r6, lsr #3
+ beq .L16330
+ mov r0, lr
+ mov ip, r7
+ mov r4, #0
+.L16332:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L16333
+ ands r1, r2, #255
+ beq .L16335
+ ldr r3, [r0, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L16335:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L16339
+ ldr r3, [r0, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L16339:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L16343
+ ldr r3, [r0, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L16343:
+ movs r2, r2, lsr #24
+ beq .L16333
+ ldr r1, [r0, #12]
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L16333:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L16350
+ ands r1, r2, #255
+ beq .L16352
+ ldr r3, [r0, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L16352:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L16356
+ ldr r3, [r0, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L16356:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L16360
+ ldr r3, [r0, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L16360:
+ movs r2, r2, lsr #24
+ beq .L16350
+ ldr r3, [r0, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L16350:
+ add r4, r4, #1
+ cmp r4, r5
+ add ip, ip, #64
+ add r0, r0, #32
+ bne .L16332
+ add r7, r7, r5, asl #6
+ add lr, lr, r5, asl #5
+.L16330:
+ ands r5, r6, #7
+ beq .L15754
+ cmp r5, #3
+ ldrls ip, [r7, #0]
+ bls .L16389
+ ldr r2, [r7, #0]
+ cmp r2, #0
+ beq .L16371
+ ands r1, r2, #255
+ beq .L16373
+ ldr r3, [lr, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [lr, #0]
+ streq r3, [lr, #0]
+.L16373:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L16377
+ ldr r3, [lr, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [lr, #4]
+ streq r3, [lr, #4]
+.L16377:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L16381
+ ldr r3, [lr, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [lr, #8]
+ streq r3, [lr, #8]
+.L16381:
+ movs r2, r2, lsr #24
+ beq .L16371
+ ldr r1, [lr, #12]
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [lr, #12]
+ streq r3, [lr, #12]
+.L16371:
+ subs r5, r5, #4
+ ldr ip, [r7, #4]
+ addne lr, lr, #16
+ beq .L15754
+.L16389:
+ mov r4, #0
+.L16390:
+ ands r0, ip, #255
+ beq .L16391
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16391:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bhi .L16390
+ b .L15754
+.L15832:
+ mov r3, lr, asl #22
+ mov r2, r0, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r0, #7
+ add r1, r1, r3, asl #3
+ ldr r3, [sp, #12]
+ ldr r4, .L17801+24
+ cmp r6, r3
+ mov r3, lr, lsr #8
+ and r7, r3, #240
+ add r0, r4, r1, asl #2
+ bge .L15837
+ ldr r5, [sp, #12]
+ rsb r4, r6, r5
+ rsb r8, r4, sl
+ cmp r8, #0
+ ble .L15754
+ ldr ip, [sp, #8]
+ add r3, r6, sl
+ cmp ip, r3
+ bhi .L15840
+ mov r3, r4, lsr #3
+ mov r1, r3, asl #5
+ ands r3, r4, #7
+ add r8, r0, r1
+ bne .L15842
+ ldr sl, [sp, #128]
+ ldr r5, [sp, #96]
+.L15844:
+ movs r6, sl, lsr #3
+ beq .L15865
+ mov ip, r5
+ mov lr, r8
+ mov r4, #0
+.L15867:
+ ldr r0, [lr, #0]
+ cmp r0, #0
+ beq .L15868
+ ands r2, r0, #15
+ beq .L15870
+ ldr r1, [ip, #0]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #0]
+ streq r3, [ip, #0]
+.L15870:
+ mov r3, r0, lsr #4
+ ands r2, r3, #15
+ beq .L15874
+ ldr r1, [ip, #4]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #4]
+ streq r3, [ip, #4]
+.L15874:
+ mov r3, r0, lsr #8
+ ands r2, r3, #15
+ beq .L15878
+ ldr r1, [ip, #8]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #8]
+ streq r3, [ip, #8]
+.L15878:
+ mov r3, r0, lsr #12
+ ands r2, r3, #15
+ beq .L15882
+ ldr r1, [ip, #12]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #12]
+ streq r3, [ip, #12]
+.L15882:
+ mov r3, r0, lsr #16
+ ands r2, r3, #15
+ beq .L15886
+ ldr r1, [ip, #16]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #16]
+ streq r3, [ip, #16]
+.L15886:
+ mov r3, r0, lsr #20
+ ands r2, r3, #15
+ beq .L15890
+ ldr r1, [ip, #20]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #20]
+ streq r3, [ip, #20]
+.L15890:
+ mov r3, r0, lsr #24
+ ands r2, r3, #15
+ beq .L15894
+ ldr r1, [ip, #24]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #24]
+ streq r3, [ip, #24]
+.L15894:
+ movs r2, r0, lsr #28
+ beq .L15868
+ ldr r1, [ip, #28]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #28]
+ streq r3, [ip, #28]
+.L15868:
+ add r4, r4, #1
+ cmp r6, r4
+ add lr, lr, #32
+ add ip, ip, #32
+ bne .L15867
+ mov r3, r6, asl #5
+ add r8, r8, r3
+ add r5, r5, r3
+.L15865:
+ ands lr, sl, #7
+ beq .L15754
+ ldr ip, [r8, #0]
+ mov r4, #0
+.L15903:
+ ands r3, ip, #15
+ beq .L15904
+ ldr r1, [r5, #0]
+ orr r2, r7, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r5, #0]
+ streq r2, [r5, #0]
+.L15904:
+ add r4, r4, #1
+ cmp lr, r4
+ mov ip, ip, lsr #4
+ add r5, r5, #4
+ bne .L15903
+ b .L15754
+.L15835:
+ subs r2, sl, #8
+ submi r2, sl, #1
+ mov r3, r0, lsr #3
+ mov r2, r2, asr #3
+ mov r1, lr, asl #22
+ add r2, r2, r3, asl #4
+ mov r1, r1, lsr #22
+ and r3, r0, #7
+ add r1, r1, r2, asl #1
+ add r3, r3, r1, asl #2
+ mov r0, r3, asl #3
+ ldr r3, [sp, #12]
+ ldr r4, .L17801+24
+ cmp r6, r3
+ add ip, r0, r4
+ bge .L16581
+ rsb r0, r6, r3
+ rsb r7, r0, sl
+ cmp r7, #0
+ ble .L15754
+ ldr r5, [sp, #8]
+ add r3, r6, sl
+ cmp r5, r3
+ bhi .L16584
+ mov r3, r0, lsr #3
+ ands lr, r0, #7
+ sub r8, ip, r3, asl #6
+ bne .L16586
+ ldr r7, [sp, #128]
+ ldr r5, [sp, #96]
+.L16588:
+ movs r6, r7, lsr #3
+ beq .L16666
+ mov ip, r5
+ mov lr, r8
+ mov r4, #0
+.L16668:
+ ldr r2, [lr, #4]
+ cmp r2, #0
+ beq .L16669
+ ands r1, r2, #255
+ beq .L16671
+ ldr r3, [ip, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #12]
+ streq r3, [ip, #12]
+.L16671:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L16675
+ ldr r3, [ip, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #8]
+ streq r3, [ip, #8]
+.L16675:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L16679
+ ldr r3, [ip, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #4]
+ streq r3, [ip, #4]
+.L16679:
+ movs r2, r2, lsr #24
+ beq .L16669
+ ldr r3, [ip, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #0]
+ streq r3, [ip, #0]
+.L16669:
+ ldr r1, [lr, #0]
+ cmp r1, #0
+ beq .L16686
+ ands r2, r1, #255
+ beq .L16688
+ ldr r0, [ip, #28]
+ tst r0, #256
+ movne r3, r0, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r0, asl #16
+ strne r3, [ip, #28]
+ streq r3, [ip, #28]
+.L16688:
+ mov r3, r1, lsr #8
+ ands r2, r3, #255
+ beq .L16692
+ ldr r3, [ip, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #24]
+ streq r3, [ip, #24]
+.L16692:
+ mov r3, r1, lsr #16
+ ands r2, r3, #255
+ beq .L16696
+ ldr r3, [ip, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #20]
+ streq r3, [ip, #20]
+.L16696:
+ movs r2, r1, lsr #24
+ beq .L16686
+ ldr r1, [ip, #16]
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #16]
+ streq r3, [ip, #16]
+.L16686:
+ add r4, r4, #1
+ cmp r6, r4
+ sub lr, lr, #64
+ add ip, ip, #32
+ bne .L16668
+ rsb r3, r6, r6, asl #26
+ add r8, r8, r3, asl #6
+ add r5, r5, r6, asl #5
+.L16666:
+ ands lr, r7, #7
+ beq .L15754
+ cmp lr, #3
+ ldrls ip, [r8, #4]
+ bls .L16725
+ ldr r2, [r8, #4]
+ cmp r2, #0
+ beq .L16707
+ ands r1, r2, #255
+ beq .L16709
+ ldr r3, [r5, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #12]
+ streq r3, [r5, #12]
+.L16709:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L16713
+ ldr r3, [r5, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #8]
+ streq r3, [r5, #8]
+.L16713:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L16717
+ ldr r3, [r5, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #4]
+ streq r3, [r5, #4]
+.L16717:
+ movs r2, r2, lsr #24
+ beq .L16707
+ ldr r3, [r5, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #0]
+ streq r3, [r5, #0]
+.L16707:
+ subs lr, lr, #4
+ ldr ip, [r8, #0]
+ addne r5, r5, #16
+ beq .L15754
+.L16725:
+ mov r4, #0
+.L16726:
+ movs r0, ip, lsr #24
+ beq .L16727
+ ldr r2, [r5, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r5, #0]
+ streq r0, [r5, #0]
+.L16727:
+ add r4, r4, #1
+ cmp r4, lr
+ mov ip, ip, asl #8
+ add r5, r5, #4
+ bcc .L16726
+ b .L15754
+.L16997:
+ subs r2, sl, #8
+ submi r2, sl, #1
+ mov r3, r0, lsr #3
+ mov r2, r2, asr #3
+ mov r1, lr, asl #22
+ add r2, r2, r3, asl #4
+ mov r1, r1, lsr #22
+ add r1, r1, r2, asl #1
+ and r3, r0, #7
+ ldr r5, [sp, #12]
+ add r3, r3, r1, asl #2
+ ldr r7, .L17801+24
+ mov r0, r3, asl #3
+ cmp r6, r5
+ add r2, r0, r7
+ bge .L17479
+ rsb r0, r6, r5
+ rsb lr, r0, sl
+ cmp lr, #0
+ ble .L15754
+ ldr r8, [sp, #8]
+ add r3, r6, sl
+ cmp r8, r3
+ bhi .L17482
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ sub r6, r2, r3, asl #6
+ bne .L17484
+ ldr r5, [sp, #128]
+ ldr r4, [sp, #96]
+.L17486:
+ movs lr, r5, lsr #3
+ beq .L17544
+ mov r1, r4
+ mov r0, r6
+ mov ip, #0
+.L17546:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L17547
+ ands r3, r2, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #0]
+.L17547:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L17556
+ ands r3, r2, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #28]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #24]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #20]
+ movs r3, r2, lsr #24
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #16]
+.L17556:
+ add ip, ip, #1
+ cmp ip, lr
+ sub r0, r0, #64
+ add r1, r1, #32
+ bne .L17546
+ rsb r3, lr, lr, asl #26
+ add r6, r6, r3, asl #6
+ add r4, r4, lr, asl #5
+.L17544:
+ ands r0, r5, #7
+ beq .L15754
+ cmp r0, #3
+ ldrls r2, [r6, #4]
+ bls .L17579
+ ldr r2, [r6, #4]
+ cmp r2, #0
+ beq .L17569
+ ands r3, r2, #255
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ strne r3, [r4, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ strne r3, [r4, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r1, [sp, #52]
+ orrne r3, r1, r3
+ strne r3, [r4, #4]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ strne r3, [r4, #0]
+.L17569:
+ subs r0, r0, #4
+ ldr r2, [r6, #0]
+ addne r4, r4, #16
+ beq .L15754
+.L17579:
+ mov r1, #0
+.L17580:
+ ldr r5, [sp, #52]
+ movs r3, r2, lsr #24
+ orr r3, r5, r3
+ strne r3, [r4, r1, asl #2]
+ add r1, r1, #1
+ cmp r0, r1
+ mov r2, r2, asl #8
+ bhi .L17580
+ b .L15754
+.L15833:
+ mov r3, lr, asl #22
+ mov r1, r0, lsr #3
+ subs r2, sl, #8
+ mov r3, r3, lsr #22
+ submi r2, sl, #1
+ add r3, r3, r1, asl #5
+ add r3, r3, r2, asr #3
+ and r1, r0, #7
+ ldr ip, [sp, #12]
+ add r1, r1, r3, asl #3
+ mov r3, lr, lsr #8
+ ldr lr, .L17801+24
+ cmp r6, ip
+ and r7, r3, #240
+ add r0, lr, r1, asl #2
+ bge .L16041
+ rsb r4, r6, ip
+ rsb lr, r4, sl
+ cmp lr, #0
+ ble .L15754
+ ldr r1, [sp, #8]
+ add r3, r6, sl
+ cmp r1, r3
+ bhi .L16044
+ mov r3, r4, lsr #3
+ ands lr, r4, #7
+ sub ip, r0, r3, asl #5
+ bne .L16046
+ ldr sl, [sp, #128]
+ ldr r5, [sp, #96]
+.L16048:
+ movs r8, sl, lsr #3
+ beq .L16069
+ mov r4, r5
+ mov lr, ip
+ mov r6, #0
+.L16071:
+ ldr r0, [lr, #0]
+ cmp r0, #0
+ beq .L16072
+ ands r2, r0, #15
+ beq .L16074
+ ldr r1, [r4, #28]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #28]
+ streq r3, [r4, #28]
+.L16074:
+ mov r3, r0, lsr #4
+ ands r2, r3, #15
+ beq .L16078
+ ldr r1, [r4, #24]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #24]
+ streq r3, [r4, #24]
+.L16078:
+ mov r3, r0, lsr #8
+ ands r2, r3, #15
+ beq .L16082
+ ldr r1, [r4, #20]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #20]
+ streq r3, [r4, #20]
+.L16082:
+ mov r3, r0, lsr #12
+ ands r2, r3, #15
+ beq .L16086
+ ldr r1, [r4, #16]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #16]
+ streq r3, [r4, #16]
+.L16086:
+ mov r3, r0, lsr #16
+ ands r2, r3, #15
+ beq .L16090
+ ldr r1, [r4, #12]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L16090:
+ mov r3, r0, lsr #20
+ ands r2, r3, #15
+ beq .L16094
+ ldr r1, [r4, #8]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L16094:
+ mov r3, r0, lsr #24
+ ands r2, r3, #15
+ beq .L16098
+ ldr r1, [r4, #4]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L16098:
+ movs r2, r0, lsr #28
+ beq .L16072
+ ldr r1, [r4, #0]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L16072:
+ add r6, r6, #1
+ cmp r8, r6
+ sub lr, lr, #32
+ add r4, r4, #32
+ bne .L16071
+ rsb r3, r8, r8, asl #27
+ add ip, ip, r3, asl #5
+ add r5, r5, r8, asl #5
+.L16069:
+ ands lr, sl, #7
+ beq .L15754
+ ldr ip, [ip, #0]
+ mov r4, #0
+.L16107:
+ movs r3, ip, lsr #28
+ beq .L16108
+ ldr r1, [r5, #0]
+ orr r2, r7, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r5, #0]
+ streq r2, [r5, #0]
+.L16108:
+ add r4, r4, #1
+ cmp r4, lr
+ mov ip, ip, asl #4
+ add r5, r5, #4
+ bne .L16107
+ b .L15754
+.L16041:
+ ldr r1, [sp, #8]
+ add r3, r6, sl
+ cmp r1, r3
+ bls .L17761
+ cmp sl, #0
+ add r3, sl, #7
+ movge r3, sl
+ movs lr, r3, asr #3
+ beq .L15754
+ ldr r3, [sp, #4]
+ mov ip, #0
+ add r1, r3, r6, asl #2
+ b .L16210
+.L17762:
+ sub r0, r0, #32
+ add r1, r1, #32
+.L16210:
+ ldr r5, [r0, #0]
+ cmp r5, #0
+ beq .L16211
+ ands r2, r5, #15
+ beq .L16213
+ ldr r4, [r1, #28]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L16213:
+ mov r3, r5, lsr #4
+ ands r2, r3, #15
+ beq .L16217
+ ldr r4, [r1, #24]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L16217:
+ mov r3, r5, lsr #8
+ ands r2, r3, #15
+ beq .L16221
+ ldr r4, [r1, #20]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L16221:
+ mov r3, r5, lsr #12
+ ands r2, r3, #15
+ beq .L16225
+ ldr r4, [r1, #16]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L16225:
+ mov r3, r5, lsr #16
+ ands r2, r3, #15
+ beq .L16229
+ ldr r4, [r1, #12]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L16229:
+ mov r3, r5, lsr #20
+ ands r2, r3, #15
+ beq .L16233
+ ldr r4, [r1, #8]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L16233:
+ mov r3, r5, lsr #24
+ ands r2, r3, #15
+ beq .L16237
+ ldr r4, [r1, #4]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L16237:
+ movs r2, r5, lsr #28
+ beq .L16211
+ ldr r4, [r1, #0]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L16211:
+ add ip, ip, #1
+ cmp lr, ip
+ bne .L17762
+ b .L15754
+.L16999:
+ ldr ip, [sp, #8]
+ add r3, r6, sl
+ cmp ip, r3
+ bls .L17763
+ cmp sl, #0
+ add r3, sl, #7
+ movge r3, sl
+ movs ip, r3, asr #3
+ beq .L15754
+ ldr r8, [sp, #4]
+ mov r2, #0
+ add r1, r8, r6, asl #2
+ b .L17110
+.L17764:
+ add r0, r0, #32
+ add r1, r1, #32
+.L17110:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L17111
+ ands r3, r4, #15
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #0]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #8]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #16]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #20]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #24]
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #28]
+.L17111:
+ add r2, r2, #1
+ cmp ip, r2
+ bne .L17764
+ b .L15754
+.L17259:
+ ldr r8, [sp, #8]
+ add r3, r6, sl
+ cmp r8, r3
+ bls .L17765
+ cmp sl, #0
+ add r3, sl, #7
+ movge r3, sl
+ movs lr, r3, asr #3
+ beq .L15754
+ ldr r3, [sp, #4]
+ mov r2, #0
+ add r1, r3, r6, asl #2
+ ldr r3, .L17803+4
+ add r0, r0, r3
+ b .L17459
+.L17766:
+ add ip, ip, #64
+ add r1, r1, #32
+.L17459:
+ ldr r4, [ip, #0]
+ cmp r4, #0
+ beq .L17460
+ ands r3, r4, #255
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ strne r3, [r1, #0]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #8]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ strne r3, [r1, #12]
+.L17460:
+ ldr r4, [r0, #-60]
+ cmp r4, #0
+ beq .L17469
+ ands r3, r4, #255
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ strne r3, [r1, #16]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #20]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #24]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ strne r3, [r1, #28]
+.L17469:
+ add r2, r2, #1
+ cmp lr, r2
+ add r0, r0, #64
+ bne .L17766
+ b .L15754
+.L15837:
+ ldr r4, [sp, #8]
+ add r3, r6, sl
+ cmp r4, r3
+ bls .L17767
+ cmp sl, #0
+ add r3, sl, #7
+ movge r3, sl
+ movs lr, r3, asr #3
+ beq .L15754
+ ldr r8, [sp, #4]
+ mov ip, #0
+ add r1, r8, r6, asl #2
+ b .L16006
+.L17768:
+ add r0, r0, #32
+ add r1, r1, #32
+.L16006:
+ ldr r5, [r0, #0]
+ cmp r5, #0
+ beq .L16007
+ ands r2, r5, #15
+ beq .L16009
+ ldr r4, [r1, #0]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L16009:
+ mov r3, r5, lsr #4
+ ands r2, r3, #15
+ beq .L16013
+ ldr r4, [r1, #4]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L16013:
+ mov r3, r5, lsr #8
+ ands r2, r3, #15
+ beq .L16017
+ ldr r4, [r1, #8]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L16017:
+ mov r3, r5, lsr #12
+ ands r2, r3, #15
+ beq .L16021
+ ldr r4, [r1, #12]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L16021:
+ mov r3, r5, lsr #16
+ ands r2, r3, #15
+ beq .L16025
+ ldr r4, [r1, #16]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L16025:
+ mov r3, r5, lsr #20
+ ands r2, r3, #15
+ beq .L16029
+ ldr r4, [r1, #20]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L16029:
+ mov r3, r5, lsr #24
+ ands r2, r3, #15
+ beq .L16033
+ ldr r4, [r1, #24]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L16033:
+ movs r2, r5, lsr #28
+ beq .L16007
+ ldr r4, [r1, #28]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L16007:
+ add ip, ip, #1
+ cmp lr, ip
+ bne .L17768
+ b .L15754
+.L17129:
+ ldr lr, [sp, #8]
+ add r3, r6, sl
+ cmp lr, r3
+ bls .L17769
+ cmp sl, #0
+ add r3, sl, #7
+ movge r3, sl
+ movs ip, r3, asr #3
+ beq .L15754
+ ldr r8, [sp, #4]
+ mov r2, #0
+ add r1, r8, r6, asl #2
+ b .L17240
+.L17770:
+ sub r0, r0, #32
+ add r1, r1, #32
+.L17240:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L17241
+ ands r3, r4, #15
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #28]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #24]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #20]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #16]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #8]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #0]
+.L17241:
+ add r2, r2, #1
+ cmp ip, r2
+ bne .L17770
+ b .L15754
+.L16581:
+ ldr r2, [sp, #8]
+ add r3, r6, sl
+ cmp r2, r3
+ bls .L17771
+ cmp sl, #0
+ add r3, sl, #7
+ movge r3, sl
+ movs r7, r3, asr #3
+ beq .L15754
+ ldr r4, [sp, #4]
+ ldr r3, .L17803
+ add r1, r4, r6, asl #2
+ add r0, r0, r3
+ mov lr, #0
+ b .L16881
+.L17772:
+ sub ip, ip, #64
+ add r1, r1, #32
+.L16881:
+ ldr r2, [r0, #68]
+ cmp r2, #0
+ beq .L16882
+ ands r4, r2, #255
+ beq .L16884
+ ldr r3, [r1, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L16884:
+ mov r3, r2, lsr #8
+ ands r4, r3, #255
+ beq .L16888
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L16888:
+ mov r3, r2, lsr #16
+ ands r4, r3, #255
+ beq .L16892
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L16892:
+ movs r2, r2, lsr #24
+ beq .L16882
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L16882:
+ ldr r4, [ip, #0]
+ cmp r4, #0
+ beq .L16899
+ ands r2, r4, #255
+ beq .L16901
+ ldr r5, [r1, #28]
+ tst r5, #256
+ movne r3, r5, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r5, asl #16
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L16901:
+ mov r3, r4, lsr #8
+ ands r2, r3, #255
+ beq .L16905
+ ldr r3, [r1, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L16905:
+ mov r3, r4, lsr #16
+ ands r2, r3, #255
+ beq .L16909
+ ldr r3, [r1, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L16909:
+ movs r2, r4, lsr #24
+ beq .L16899
+ ldr r4, [r1, #16]
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L16899:
+ add lr, lr, #1
+ cmp r7, lr
+ sub r0, r0, #64
+ bne .L17772
+ b .L15754
+.L16245:
+ ldr r7, [sp, #8]
+ add r3, r6, sl
+ cmp r7, r3
+ bls .L17773
+ cmp sl, #0
+ add r3, sl, #7
+ movge r3, sl
+ movs r5, r3, asr #3
+ beq .L15754
+ ldr r2, [sp, #4]
+ ldr r3, .L17803+4
+ add r1, r2, r6, asl #2
+ add r0, r0, r3
+ mov lr, #0
+ b .L16545
+.L17774:
+ add ip, ip, #64
+ add r1, r1, #32
+.L16545:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L16546
+ ands r4, r2, #255
+ beq .L16548
+ ldr r3, [r1, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #0]
+ streq r3, [r1, #0]
+.L16548:
+ mov r3, r2, lsr #8
+ ands r4, r3, #255
+ beq .L16552
+ ldr r3, [r1, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #4]
+ streq r3, [r1, #4]
+.L16552:
+ mov r3, r2, lsr #16
+ ands r4, r3, #255
+ beq .L16556
+ ldr r3, [r1, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #8]
+ streq r3, [r1, #8]
+.L16556:
+ movs r2, r2, lsr #24
+ beq .L16546
+ ldr r4, [r1, #12]
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r1, #12]
+ streq r3, [r1, #12]
+.L16546:
+ ldr r2, [r0, #-60]
+ cmp r2, #0
+ beq .L16563
+ ands r4, r2, #255
+ beq .L16565
+ ldr r3, [r1, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #16]
+ streq r3, [r1, #16]
+.L16565:
+ mov r3, r2, lsr #8
+ ands r4, r3, #255
+ beq .L16569
+ ldr r3, [r1, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #20]
+ streq r3, [r1, #20]
+.L16569:
+ mov r3, r2, lsr #16
+ ands r4, r3, #255
+ beq .L16573
+ ldr r3, [r1, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #24]
+ streq r3, [r1, #24]
+.L16573:
+ movs r2, r2, lsr #24
+ beq .L16563
+ ldr r3, [r1, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r1, #28]
+ streq r3, [r1, #28]
+.L16563:
+ add lr, lr, #1
+ cmp r5, lr
+ add r0, r0, #64
+ bne .L17774
+ b .L15754
+.L17479:
+ ldr r8, [sp, #8]
+ add r3, r6, sl
+ cmp r3, r8
+ bcs .L17775
+ cmp sl, #0
+ add r3, sl, #7
+ movge r3, sl
+ movs lr, r3, asr #3
+ beq .L15754
+ ldr r5, [sp, #4]
+ ldr r3, .L17803
+ add r1, r5, r6, asl #2
+ add r0, r0, r3
+ mov ip, #0
+ b .L17679
+.L17776:
+ sub r2, r2, #64
+ add r1, r1, #32
+.L17679:
+ ldr r4, [r0, #68]
+ cmp r4, #0
+ beq .L17680
+ ands r3, r4, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #8]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ strne r3, [r1, #4]
+ movs r3, r4, lsr #24
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #0]
+.L17680:
+ ldr r4, [r2, #0]
+ cmp r4, #0
+ beq .L17689
+ ands r3, r4, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #28]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ strne r3, [r1, #24]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #20]
+ movs r3, r4, lsr #24
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #16]
+.L17689:
+ add ip, ip, #1
+ cmp lr, ip
+ sub r0, r0, #64
+ bne .L17776
+ b .L15754
+.L17798:
+ mov r6, #0
+.L16983:
+ cmp r8, r4
+ cmphi sl, ip
+ bhi .L17740
+ b .L15754
+.L16984:
+ cmp r4, r8
+ cmpcc ip, sl
+ bcs .L15754
+.L17740:
+ mov r3, ip, asr #1
+ ldr r1, [sp, #104]
+ and r3, r3, #3
+ and r0, r4, #7
+ str r3, [sp, #0]
+ ldr r3, [sp, #104]
+ add r0, r1, r0, asl #2
+ and r1, r4, #7
+ mov r2, ip, asr #1
+ add r1, r3, r1, asl #2
+ mov r3, r4, asr #3
+ and r9, r2, #3
+ mov r3, r3, asl #10
+ mov r2, ip, asr #3
+ tst ip, #1
+ add r3, r3, r2, asl #5
+ add r2, r0, r3
+ movne r4, r9
+ add r0, r1, r3
+ ldreqb r3, [r0, r9] @ zero_extendqisi2
+ ldrneb r3, [r2, r4] @ zero_extendqisi2
+ ldr r2, [sp, #52]
+ movne r0, r3, lsr #4
+ andeq r0, r3, #15
+ cmp r0, #0
+ orr r3, r0, r2
+ ldr r0, [sp, #116]
+ ldr ip, [sp, #84]
+ ldr r1, [sp, #88]
+ add r6, r6, #1
+ orr r3, r0, r3
+ strne r3, [r7, #0]
+ add lr, lr, ip
+ add r5, r5, r1
+ cmp fp, r6
+ mov ip, lr, asr #8
+ mov r4, r5, asr #8
+ add r7, r7, #4
+ bgt .L16984
+ b .L15754
+.L17775:
+ rsb r7, r6, r8
+ cmp r7, #0
+ ble .L15754
+ ldr ip, [sp, #4]
+ movs lr, r7, lsr #3
+ add r1, ip, r6, asl #2
+ beq .L17638
+ ldr r3, .L17803
+ mov r5, r1
+ add r0, r0, r3
+ mov r6, r2
+ mov ip, #0
+.L17640:
+ ldr r4, [r0, #68]
+ cmp r4, #0
+ beq .L17641
+ ands r3, r4, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r5, #4]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ strne r3, [r5, #0]
+.L17641:
+ ldr r4, [r6, #0]
+ cmp r4, #0
+ beq .L17650
+ ands r3, r4, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r5, #28]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r5, #24]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r5, #20]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ strne r3, [r5, #16]
+.L17650:
+ add ip, ip, #1
+ cmp lr, ip
+ sub r6, r6, #64
+ add r5, r5, #32
+ sub r0, r0, #64
+ bne .L17640
+ rsb r3, lr, lr, asl #26
+ add r2, r2, r3, asl #6
+ add r1, r1, lr, asl #5
+.L17638:
+ ands ip, r7, #7
+ beq .L15754
+ cmp ip, #3
+ ldrls r2, [r2, #4]
+ bls .L17673
+ ldr r0, [r2, #4]
+ cmp r0, #0
+ beq .L17663
+ ands r3, r0, #255
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ strne r3, [r1, #12]
+ mov r3, r0, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #8]
+ mov r3, r0, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #4]
+ movs r3, r0, lsr #24
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ strne r3, [r1, #0]
+.L17663:
+ subs ip, ip, #4
+ ldr r2, [r2, #0]
+ addne r1, r1, #16
+ beq .L15754
+.L17673:
+ mov r0, #0
+.L17674:
+ ldr r4, [sp, #52]
+ movs r3, r2, lsr #24
+ orr r3, r4, r3
+ strne r3, [r1, r0, asl #2]
+ add r0, r0, #1
+ cmp ip, r0
+ mov r2, r2, asl #8
+ bhi .L17674
+ b .L15754
+.L17767:
+ rsb ip, r6, r4
+ cmp ip, #0
+ ble .L15754
+ ldr r5, [sp, #4]
+ movs sl, ip, lsr #3
+ add r8, r5, r6, asl #2
+ beq .L15961
+ mov r6, r8
+ mov lr, r0
+ mov r1, #0
+.L15963:
+ ldr r5, [lr, #0]
+ cmp r5, #0
+ beq .L15964
+ ands r2, r5, #15
+ beq .L15966
+ ldr r4, [r6, #0]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #0]
+ streq r3, [r6, #0]
+.L15966:
+ mov r3, r5, lsr #4
+ ands r2, r3, #15
+ beq .L15970
+ ldr r4, [r6, #4]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #4]
+ streq r3, [r6, #4]
+.L15970:
+ mov r3, r5, lsr #8
+ ands r2, r3, #15
+ beq .L15974
+ ldr r4, [r6, #8]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #8]
+ streq r3, [r6, #8]
+.L15974:
+ mov r3, r5, lsr #12
+ ands r2, r3, #15
+ beq .L15978
+ ldr r4, [r6, #12]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #12]
+ streq r3, [r6, #12]
+.L15978:
+ mov r3, r5, lsr #16
+ ands r2, r3, #15
+ beq .L15982
+ ldr r4, [r6, #16]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #16]
+ streq r3, [r6, #16]
+.L15982:
+ mov r3, r5, lsr #20
+ ands r2, r3, #15
+ beq .L15986
+ ldr r4, [r6, #20]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #20]
+ streq r3, [r6, #20]
+.L15986:
+ mov r3, r5, lsr #24
+ ands r2, r3, #15
+ beq .L15990
+ ldr r4, [r6, #24]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #24]
+ streq r3, [r6, #24]
+.L15990:
+ movs r2, r5, lsr #28
+ beq .L15964
+ ldr r4, [r6, #28]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #28]
+ streq r3, [r6, #28]
+.L15964:
+ add r1, r1, #1
+ cmp r1, sl
+ add lr, lr, #32
+ add r6, r6, #32
+ bne .L15963
+ mov r3, sl, asl #5
+ add r0, r0, r3
+ add r8, r8, r3
+.L15961:
+ ands lr, ip, #7
+ beq .L15754
+ ldr ip, [r0, #0]
+ mov r4, #0
+.L15999:
+ ands r3, ip, #15
+ beq .L16000
+ ldr r1, [r8, #0]
+ orr r2, r7, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r8, #0]
+ streq r2, [r8, #0]
+.L16000:
+ add r4, r4, #1
+ cmp lr, r4
+ mov ip, ip, lsr #4
+ add r8, r8, #4
+ bne .L15999
+ b .L15754
+.L17804:
+ .align 2
+.L17803:
+ .word vram+65472
+ .word vram+65600
+.L17771:
+ rsb sl, r6, r2
+ cmp sl, #0
+ ble .L15754
+ ldr r3, [sp, #4]
+ movs r8, sl, lsr #3
+ add r7, r3, r6, asl #2
+ beq .L16814
+ ldr r3, .L17803
+ mov r6, r7
+ add r0, r0, r3
+ mov lr, ip
+ mov r1, #0
+.L16816:
+ ldr r2, [r0, #68]
+ cmp r2, #0
+ beq .L16817
+ ands r4, r2, #255
+ beq .L16819
+ ldr r3, [r6, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r6, #12]
+ streq r3, [r6, #12]
+.L16819:
+ mov r3, r2, lsr #8
+ ands r4, r3, #255
+ beq .L16823
+ ldr r3, [r6, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r6, #8]
+ streq r3, [r6, #8]
+.L16823:
+ mov r3, r2, lsr #16
+ ands r4, r3, #255
+ beq .L16827
+ ldr r3, [r6, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r6, #4]
+ streq r3, [r6, #4]
+.L16827:
+ movs r2, r2, lsr #24
+ beq .L16817
+ ldr r3, [r6, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r6, #0]
+ streq r3, [r6, #0]
+.L16817:
+ ldr r4, [lr, #0]
+ cmp r4, #0
+ beq .L16834
+ ands r2, r4, #255
+ beq .L16836
+ ldr r5, [r6, #28]
+ tst r5, #256
+ movne r3, r5, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r5, asl #16
+ strne r3, [r6, #28]
+ streq r3, [r6, #28]
+.L16836:
+ mov r3, r4, lsr #8
+ ands r2, r3, #255
+ beq .L16840
+ ldr r3, [r6, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r6, #24]
+ streq r3, [r6, #24]
+.L16840:
+ mov r3, r4, lsr #16
+ ands r2, r3, #255
+ beq .L16844
+ ldr r3, [r6, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r6, #20]
+ streq r3, [r6, #20]
+.L16844:
+ movs r2, r4, lsr #24
+ beq .L16834
+ ldr r4, [r6, #16]
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #16]
+ streq r3, [r6, #16]
+.L16834:
+ add r1, r1, #1
+ cmp r1, r8
+ sub lr, lr, #64
+ add r6, r6, #32
+ sub r0, r0, #64
+ bne .L16816
+ rsb r3, r8, r8, asl #26
+ add ip, ip, r3, asl #6
+ add r7, r7, r8, asl #5
+.L16814:
+ ands lr, sl, #7
+ beq .L15754
+ cmp lr, #3
+ ldrls ip, [ip, #4]
+ bls .L16873
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L16855
+ ands r1, r2, #255
+ beq .L16857
+ ldr r3, [r7, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r7, #12]
+ streq r3, [r7, #12]
+.L16857:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L16861
+ ldr r3, [r7, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r7, #8]
+ streq r3, [r7, #8]
+.L16861:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L16865
+ ldr r3, [r7, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r7, #4]
+ streq r3, [r7, #4]
+.L16865:
+ movs r2, r2, lsr #24
+ beq .L16855
+ ldr r3, [r7, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r7, #0]
+ streq r3, [r7, #0]
+.L16855:
+ subs lr, lr, #4
+ ldr ip, [ip, #0]
+ addne r7, r7, #16
+ beq .L15754
+.L16873:
+ mov r4, #0
+.L16874:
+ movs r0, ip, lsr #24
+ beq .L16875
+ ldr r2, [r7, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+.L16875:
+ add r4, r4, #1
+ cmp lr, r4
+ mov ip, ip, asl #8
+ add r7, r7, #4
+ bhi .L16874
+ b .L15754
+.L17763:
+ rsb lr, r6, ip
+ cmp lr, #0
+ ble .L15754
+ ldr r2, [sp, #4]
+ movs r8, lr, lsr #3
+ add r1, r2, r6, asl #2
+ beq .L17083
+ mov r5, r1
+ mov r6, r0
+ mov ip, #0
+.L17085:
+ ldr r4, [r6, #0]
+ cmp r4, #0
+ beq .L17086
+ ands r3, r4, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #0]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #4]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #24]
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #28]
+.L17086:
+ add ip, ip, #1
+ cmp ip, r8
+ add r6, r6, #32
+ add r5, r5, #32
+ bne .L17085
+ mov r3, r8, asl #5
+ add r0, r0, r3
+ add r1, r1, r3
+.L17083:
+ ands lr, lr, #7
+ beq .L15754
+ ldr r0, [r0, #0]
+ mov ip, #0
+.L17105:
+ ldr r5, [sp, #52]
+ ands r3, r0, #15
+ orr r3, r5, r3
+ orr r3, r7, r3
+ strne r3, [r1, ip, asl #2]
+ add ip, ip, #1
+ cmp ip, lr
+ mov r0, r0, lsr #4
+ bne .L17105
+ b .L15754
+.L17773:
+ rsb r8, r6, r7
+ cmp r8, #0
+ ble .L15754
+ ldr lr, [sp, #4]
+ movs r7, r8, lsr #3
+ add r6, lr, r6, asl #2
+ beq .L16478
+ ldr r3, .L17803+4
+ mov r5, r6
+ add r0, r0, r3
+ mov lr, ip
+ mov r1, #0
+.L16480:
+ ldr r2, [lr, #0]
+ cmp r2, #0
+ beq .L16481
+ ands r4, r2, #255
+ beq .L16483
+ ldr r3, [r5, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #0]
+ streq r3, [r5, #0]
+.L16483:
+ mov r3, r2, lsr #8
+ ands r4, r3, #255
+ beq .L16487
+ ldr r3, [r5, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #4]
+ streq r3, [r5, #4]
+.L16487:
+ mov r3, r2, lsr #16
+ ands r4, r3, #255
+ beq .L16491
+ ldr r3, [r5, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #8]
+ streq r3, [r5, #8]
+.L16491:
+ movs r2, r2, lsr #24
+ beq .L16481
+ ldr r4, [r5, #12]
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r5, #12]
+ streq r3, [r5, #12]
+.L16481:
+ ldr r2, [r0, #-60]
+ cmp r2, #0
+ beq .L16498
+ ands r4, r2, #255
+ beq .L16500
+ ldr r3, [r5, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #16]
+ streq r3, [r5, #16]
+.L16500:
+ mov r3, r2, lsr #8
+ ands r4, r3, #255
+ beq .L16504
+ ldr r3, [r5, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #20]
+ streq r3, [r5, #20]
+.L16504:
+ mov r3, r2, lsr #16
+ ands r4, r3, #255
+ beq .L16508
+ ldr r3, [r5, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r4, r3, asl #16
+ orrne r3, r4, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #24]
+ streq r3, [r5, #24]
+.L16508:
+ movs r2, r2, lsr #24
+ beq .L16498
+ ldr r3, [r5, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r5, #28]
+ streq r3, [r5, #28]
+.L16498:
+ add r1, r1, #1
+ cmp r7, r1
+ add lr, lr, #64
+ add r5, r5, #32
+ add r0, r0, #64
+ bne .L16480
+ add ip, ip, r7, asl #6
+ add r6, r6, r7, asl #5
+.L16478:
+ ands lr, r8, #7
+ beq .L15754
+ cmp lr, #3
+ ldrls ip, [ip, #0]
+ bls .L16537
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L16519
+ ands r1, r2, #255
+ beq .L16521
+ ldr r3, [r6, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r6, #0]
+ streq r3, [r6, #0]
+.L16521:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L16525
+ ldr r3, [r6, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r6, #4]
+ streq r3, [r6, #4]
+.L16525:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L16529
+ ldr r3, [r6, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r6, #8]
+ streq r3, [r6, #8]
+.L16529:
+ movs r2, r2, lsr #24
+ beq .L16519
+ ldr r1, [r6, #12]
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r6, #12]
+ streq r3, [r6, #12]
+.L16519:
+ subs lr, lr, #4
+ ldr ip, [ip, #4]
+ addne r6, r6, #16
+ beq .L15754
+.L16537:
+ mov r4, #0
+.L16538:
+ ands r0, ip, #255
+ beq .L16539
+ ldr r2, [r6, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r6, #0]
+ streq r0, [r6, #0]
+.L16539:
+ add r4, r4, #1
+ cmp r4, lr
+ mov ip, ip, lsr #8
+ add r6, r6, #4
+ bcc .L16538
+ b .L15754
+.L17765:
+ rsb r8, r6, r8
+ cmp r8, #0
+ ble .L15754
+ ldr r2, [sp, #4]
+ movs lr, r8, lsr #3
+ add r1, r2, r6, asl #2
+ beq .L17418
+ ldr r3, .L17803+4
+ mov r5, r1
+ add r0, r0, r3
+ mov r6, ip
+ mov r7, #0
+.L17420:
+ ldr r4, [r6, #0]
+ cmp r4, #0
+ beq .L17421
+ ands r3, r4, #255
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ strne r3, [r5, #0]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ strne r3, [r5, #4]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ strne r3, [r5, #8]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ strne r3, [r5, #12]
+.L17421:
+ ldr r4, [r0, #-60]
+ cmp r4, #0
+ beq .L17430
+ ands r3, r4, #255
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #8
+ ands r3, r3, #255
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #16
+ ands r3, r3, #255
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ strne r3, [r5, #24]
+ movs r3, r4, lsr #24
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ strne r3, [r5, #28]
+.L17430:
+ add r7, r7, #1
+ cmp lr, r7
+ add r6, r6, #64
+ add r5, r5, #32
+ add r0, r0, #64
+ bne .L17420
+ add ip, ip, lr, asl #6
+ add r1, r1, lr, asl #5
+.L17418:
+ ands lr, r8, #7
+ beq .L15754
+ cmp lr, #3
+ ldrls ip, [ip, #0]
+ bls .L17453
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L17443
+ ands r3, r2, #255
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r0, [sp, #52]
+ orrne r3, r0, r3
+ strne r3, [r1, #12]
+.L17443:
+ subs lr, lr, #4
+ ldr ip, [ip, #4]
+ addne r1, r1, #16
+ beq .L15754
+.L17453:
+ mov r0, #0
+.L17454:
+ ldr r2, [sp, #52]
+ ands r3, ip, #255
+ orr r3, r2, r3
+ strne r3, [r1, r0, asl #2]
+ add r0, r0, #1
+ cmp lr, r0
+ mov ip, ip, lsr #8
+ bhi .L17454
+ b .L15754
+.L17769:
+ rsb r8, r6, lr
+ cmp r8, #0
+ ble .L15754
+ ldr r2, [sp, #4]
+ movs lr, r8, lsr #3
+ add r1, r2, r6, asl #2
+ beq .L17213
+ mov r5, r1
+ mov r6, r0
+ mov ip, #0
+.L17215:
+ ldr r4, [r6, #0]
+ cmp r4, #0
+ beq .L17216
+ ands r3, r4, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #28]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #24]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #4]
+ movs r3, r4, lsr #28
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #0]
+.L17216:
+ add ip, ip, #1
+ cmp ip, lr
+ sub r6, r6, #32
+ add r5, r5, #32
+ bne .L17215
+ rsb r3, lr, lr, asl #27
+ add r0, r0, r3, asl #5
+ add r1, r1, lr, asl #5
+.L17213:
+ ands lr, r8, #7
+ beq .L15754
+ ldr r0, [r0, #0]
+ mov ip, #0
+.L17235:
+ ldr r5, [sp, #52]
+ movs r3, r0, lsr #28
+ orr r3, r5, r3
+ orr r3, r7, r3
+ strne r3, [r1, ip, asl #2]
+ add ip, ip, #1
+ cmp ip, lr
+ mov r0, r0, asl #4
+ bne .L17235
+ b .L15754
+.L17761:
+ rsb sl, r6, r1
+ cmp sl, #0
+ ble .L15754
+ ldr r2, [sp, #4]
+ movs ip, sl, lsr #3
+ add r8, r2, r6, asl #2
+ beq .L16165
+ mov r6, r8
+ mov lr, r0
+ mov r1, #0
+.L16167:
+ ldr r5, [lr, #0]
+ cmp r5, #0
+ beq .L16168
+ ands r2, r5, #15
+ beq .L16170
+ ldr r4, [r6, #28]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #28]
+ streq r3, [r6, #28]
+.L16170:
+ mov r3, r5, lsr #4
+ ands r2, r3, #15
+ beq .L16174
+ ldr r4, [r6, #24]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #24]
+ streq r3, [r6, #24]
+.L16174:
+ mov r3, r5, lsr #8
+ ands r2, r3, #15
+ beq .L16178
+ ldr r4, [r6, #20]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #20]
+ streq r3, [r6, #20]
+.L16178:
+ mov r3, r5, lsr #12
+ ands r2, r3, #15
+ beq .L16182
+ ldr r4, [r6, #16]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #16]
+ streq r3, [r6, #16]
+.L16182:
+ mov r3, r5, lsr #16
+ ands r2, r3, #15
+ beq .L16186
+ ldr r4, [r6, #12]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #12]
+ streq r3, [r6, #12]
+.L16186:
+ mov r3, r5, lsr #20
+ ands r2, r3, #15
+ beq .L16190
+ ldr r4, [r6, #8]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #8]
+ streq r3, [r6, #8]
+.L16190:
+ mov r3, r5, lsr #24
+ ands r2, r3, #15
+ beq .L16194
+ ldr r4, [r6, #4]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #4]
+ streq r3, [r6, #4]
+.L16194:
+ movs r2, r5, lsr #28
+ beq .L16168
+ ldr r4, [r6, #0]
+ orr r2, r7, r2
+ tst r4, #256
+ movne r3, r4, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r4, asl #16
+ strne r3, [r6, #0]
+ streq r3, [r6, #0]
+.L16168:
+ add r1, r1, #1
+ cmp ip, r1
+ sub lr, lr, #32
+ add r6, r6, #32
+ bne .L16167
+ rsb r3, ip, ip, asl #27
+ add r0, r0, r3, asl #5
+ add r8, r8, ip, asl #5
+.L16165:
+ ands lr, sl, #7
+ beq .L15754
+ ldr ip, [r0, #0]
+ mov r4, #0
+.L16203:
+ movs r3, ip, lsr #28
+ beq .L16204
+ ldr r1, [r8, #0]
+ orr r2, r7, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r8, #0]
+ streq r2, [r8, #0]
+.L16204:
+ add r4, r4, #1
+ cmp r4, lr
+ mov ip, ip, asl #4
+ add r8, r8, #4
+ bne .L16203
+ b .L15754
+.L17795:
+ ldr r5, [sp, #44]
+.L16969:
+ cmp sl, r3
+ bhi .L17739
+ b .L15754
+.L16970:
+ cmp r4, sl
+ bcs .L15754
+.L17739:
+ mov r3, r4, asr #1
+ and r8, r3, #3
+ mov r3, r4, asr #3
+ mov r3, r3, asl #5
+ mov r2, r4, asr #1
+ tst r4, #1
+ add ip, r3, r1
+ and r6, r2, #3
+ add r2, r3, r1
+ ldreqb r3, [r2, r6] @ zero_extendqisi2
+ ldrneb r3, [ip, r8] @ zero_extendqisi2
+ ldr lr, [sp, #52]
+ movne r2, r3, lsr #4
+ andeq r2, r3, #15
+ cmp r2, #0
+ orr r3, r2, lr
+ ldr r2, [sp, #116]
+ ldr ip, [sp, #84]
+ add r5, r5, #1
+ orr r3, r2, r3
+ strne r3, [r7, #0]
+ add r0, r0, ip
+ cmp fp, r5
+ mov r4, r0, asr #8
+ add r7, r7, #4
+ bgt .L16970
+ b .L15754
+.L17796:
+ mov r4, fp
+.L15803:
+ cmp sl, r3
+ bhi .L17727
+ b .L15754
+.L15804:
+ cmp r1, sl
+ bcs .L15754
+.L17727:
+ mov r3, r1, asr #1
+ and r5, r3, #3
+ mov r3, r1, asr #3
+ mov r3, r3, asl #5
+ mov r2, r1, asr #1
+ and r0, r2, #3
+ tst r1, #1
+ add r2, r3, lr
+ add r1, r3, lr
+ ldrneb r3, [r1, r5] @ zero_extendqisi2
+ ldreqb r3, [r2, r0] @ zero_extendqisi2
+ movne r0, r3, lsr #4
+ andeq r0, r3, #15
+ ldr r3, [sp, #120]
+ cmp r0, #0
+ orr r0, r0, r3
+ beq .L15810
+ ldr r2, [r7, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r7, #0]
+ streq r0, [r7, #0]
+.L15810:
+ ldr r5, [sp, #72]
+ ldr r8, [sp, #136]
+ add r4, r4, #1
+ add ip, ip, r5
+ cmp r8, r4
+ add r7, r7, #4
+ mov r1, ip, asr #8
+ bgt .L15804
+ b .L15754
+.L17793:
+ ldr ip, [sp, #16]
+.L15766:
+ cmp sl, r2
+ bhi .L17725
+ b .L15754
+.L15767:
+ cmp r2, sl
+ bcs .L15754
+.L17725:
+ mov r3, r2, asr #3
+ add r3, lr, r3, asl #6
+ and r2, r2, #7
+ ldrb r4, [r3, r2] @ zero_extendqisi2
+ cmp r4, #0
+ beq .L15770
+ ldr r3, [r6, #0]
+ mov r2, r3, lsr #16
+ mov r2, r2, asl #16
+ orr r1, r4, r3, asl #16
+ orr r2, r2, #768
+ tst r3, #256
+ orr r2, r4, r2
+ orr r1, r1, #768
+ strne r2, [r6, #0]
+ streq r1, [r6, #0]
+.L15770:
+ add ip, ip, #1
+ add r0, r0, fp
+ cmp r7, ip
+ add r6, r6, #4
+ mov r2, r0, asr #8
+ bgt .L15767
+ b .L15754
+.L15840:
+ mov r3, r4, lsr #3
+ mov r1, r3, asl #5
+ ands r3, r4, #7
+ add lr, r0, r1
+ ldreq ip, [sp, #96]
+ bne .L17777
+.L15911:
+ movs r5, r8, lsr #3
+ beq .L15754
+ mov r4, #0
+ b .L15923
+.L17778:
+ add lr, lr, #32
+ add ip, ip, #32
+.L15923:
+ ldr r0, [lr, #0]
+ cmp r0, #0
+ beq .L15924
+ ands r2, r0, #15
+ beq .L15926
+ ldr r1, [ip, #0]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #0]
+ streq r3, [ip, #0]
+.L15926:
+ mov r3, r0, lsr #4
+ ands r2, r3, #15
+ beq .L15930
+ ldr r1, [ip, #4]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #4]
+ streq r3, [ip, #4]
+.L15930:
+ mov r3, r0, lsr #8
+ ands r2, r3, #15
+ beq .L15934
+ ldr r1, [ip, #8]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #8]
+ streq r3, [ip, #8]
+.L15934:
+ mov r3, r0, lsr #12
+ ands r2, r3, #15
+ beq .L15938
+ ldr r1, [ip, #12]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #12]
+ streq r3, [ip, #12]
+.L15938:
+ mov r3, r0, lsr #16
+ ands r2, r3, #15
+ beq .L15942
+ ldr r1, [ip, #16]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #16]
+ streq r3, [ip, #16]
+.L15942:
+ mov r3, r0, lsr #20
+ ands r2, r3, #15
+ beq .L15946
+ ldr r1, [ip, #20]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #20]
+ streq r3, [ip, #20]
+.L15946:
+ mov r3, r0, lsr #24
+ ands r2, r3, #15
+ beq .L15950
+ ldr r1, [ip, #24]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #24]
+ streq r3, [ip, #24]
+.L15950:
+ movs r2, r0, lsr #28
+ beq .L15924
+ ldr r1, [ip, #28]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #28]
+ streq r3, [ip, #28]
+.L15924:
+ add r4, r4, #1
+ cmp r5, r4
+ bne .L17778
+ b .L15754
+.L16584:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ sub lr, ip, r3, asl #6
+ ldreq ip, [sp, #96]
+ bne .L17779
+.L16734:
+ movs r5, r7, lsr #3
+ beq .L15754
+ mov r4, #0
+ b .L16775
+.L17780:
+ sub lr, lr, #64
+ add ip, ip, #32
+.L16775:
+ ldr r2, [lr, #4]
+ cmp r2, #0
+ beq .L16776
+ ands r1, r2, #255
+ beq .L16778
+ ldr r3, [ip, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #12]
+ streq r3, [ip, #12]
+.L16778:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L16782
+ ldr r3, [ip, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #8]
+ streq r3, [ip, #8]
+.L16782:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L16786
+ ldr r3, [ip, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #4]
+ streq r3, [ip, #4]
+.L16786:
+ movs r2, r2, lsr #24
+ beq .L16776
+ ldr r3, [ip, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #0]
+ streq r3, [ip, #0]
+.L16776:
+ ldr r1, [lr, #0]
+ cmp r1, #0
+ beq .L16793
+ ands r2, r1, #255
+ beq .L16795
+ ldr r0, [ip, #28]
+ tst r0, #256
+ movne r3, r0, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r0, asl #16
+ strne r3, [ip, #28]
+ streq r3, [ip, #28]
+.L16795:
+ mov r3, r1, lsr #8
+ ands r2, r3, #255
+ beq .L16799
+ ldr r3, [ip, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #24]
+ streq r3, [ip, #24]
+.L16799:
+ mov r3, r1, lsr #16
+ ands r2, r3, #255
+ beq .L16803
+ ldr r3, [ip, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [ip, #20]
+ streq r3, [ip, #20]
+.L16803:
+ movs r2, r1, lsr #24
+ beq .L16793
+ ldr r1, [ip, #16]
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [ip, #16]
+ streq r3, [ip, #16]
+.L16793:
+ add r4, r4, #1
+ cmp r5, r4
+ bne .L17780
+ b .L15754
+.L17262:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ add r0, ip, r3, asl #6
+ ldreq r1, [sp, #96]
+ bne .L17781
+.L17366:
+ movs lr, lr, lsr #3
+ beq .L15754
+ mov ip, #0
+ b .L17395
+.L17782:
+ add r0, r0, #64
+ add r1, r1, #32
+.L17395:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L17396
+ ands r3, r2, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+.L17396:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L17405
+ ands r3, r2, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #16]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ strne r3, [r1, #20]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ strne r3, [r1, #24]
+ movs r3, r2, lsr #24
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #28]
+.L17405:
+ add ip, ip, #1
+ cmp lr, ip
+ bne .L17782
+ b .L15754
+.L17002:
+ mov r3, r4, lsr #3
+ mov r1, r3, asl #5
+ ands r3, r4, #7
+ add r4, r0, r1
+ ldreq r1, [sp, #96]
+ bne .L17783
+.L17051:
+ movs ip, lr, lsr #3
+ beq .L15754
+ mov r0, #0
+ b .L17061
+.L17784:
+ add r4, r4, #32
+ add r1, r1, #32
+.L17061:
+ ldr r2, [r4, #0]
+ cmp r2, #0
+ beq .L17062
+ ands r3, r2, #15
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #4
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #8
+ ands r3, r3, #15
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #8]
+ mov r3, r2, lsr #12
+ ands r3, r3, #15
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+ mov r3, r2, lsr #16
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #16]
+ mov r3, r2, lsr #20
+ ands r3, r3, #15
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #20]
+ mov r3, r2, lsr #24
+ ands r3, r3, #15
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #24]
+ movs r3, r2, lsr #28
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r1, #28]
+.L17062:
+ add r0, r0, #1
+ cmp ip, r0
+ bne .L17784
+ b .L15754
+.L16248:
+ mov r3, r0, lsr #3
+ ands r2, r0, #7
+ add lr, ip, r3, asl #6
+ ldreq r0, [sp, #96]
+ bne .L17785
+.L16398:
+ movs r4, r7, lsr #3
+ beq .L15754
+ mov ip, #0
+ b .L16439
+.L17786:
+ add lr, lr, #64
+ add r0, r0, #32
+.L16439:
+ ldr r2, [lr, #0]
+ cmp r2, #0
+ beq .L16440
+ ands r1, r2, #255
+ beq .L16442
+ ldr r3, [r0, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #0]
+ streq r3, [r0, #0]
+.L16442:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L16446
+ ldr r3, [r0, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #4]
+ streq r3, [r0, #4]
+.L16446:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L16450
+ ldr r3, [r0, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #8]
+ streq r3, [r0, #8]
+.L16450:
+ movs r2, r2, lsr #24
+ beq .L16440
+ ldr r1, [r0, #12]
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r0, #12]
+ streq r3, [r0, #12]
+.L16440:
+ ldr r2, [lr, #4]
+ cmp r2, #0
+ beq .L16457
+ ands r1, r2, #255
+ beq .L16459
+ ldr r3, [r0, #16]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #16]
+ streq r3, [r0, #16]
+.L16459:
+ mov r3, r2, lsr #8
+ ands r1, r3, #255
+ beq .L16463
+ ldr r3, [r0, #20]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #20]
+ streq r3, [r0, #20]
+.L16463:
+ mov r3, r2, lsr #16
+ ands r1, r3, #255
+ beq .L16467
+ ldr r3, [r0, #24]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r1, r3, asl #16
+ orrne r3, r1, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #24]
+ streq r3, [r0, #24]
+.L16467:
+ movs r2, r2, lsr #24
+ beq .L16457
+ ldr r3, [r0, #28]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r2, r3, asl #16
+ orrne r3, r2, r3
+ orreq r3, r3, #768
+ strne r3, [r0, #28]
+ streq r3, [r0, #28]
+.L16457:
+ add ip, ip, #1
+ cmp ip, r4
+ bne .L17786
+ b .L15754
+.L17132:
+ ands r2, r4, #7
+ mov r3, r4, lsr #3
+ sub r0, r0, r3, asl #5
+ ldreq r5, [sp, #96]
+ bne .L17787
+.L17181:
+ movs r1, r1, lsr #3
+ beq .L15754
+ mov r2, #0
+ b .L17191
+.L17788:
+ sub r0, r0, #32
+ add r5, r5, #32
+.L17191:
+ ldr r4, [r0, #0]
+ cmp r4, #0
+ beq .L17192
+ ands r3, r4, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #28]
+ mov r3, r4, lsr #4
+ ands r3, r3, #15
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #24]
+ mov r3, r4, lsr #8
+ ands r3, r3, #15
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #20]
+ mov r3, r4, lsr #12
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #16]
+ mov r3, r4, lsr #16
+ ands r3, r3, #15
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #12]
+ mov r3, r4, lsr #20
+ ands r3, r3, #15
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #8]
+ mov r3, r4, lsr #24
+ ands r3, r3, #15
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #4]
+ movs r3, r4, lsr #28
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ orrne r3, r7, r3
+ strne r3, [r5, #0]
+.L17192:
+ add r2, r2, #1
+ cmp r2, r1
+ bne .L17788
+ b .L15754
+.L16044:
+ mov r3, r4, lsr #3
+ ands r2, r4, #7
+ sub ip, r0, r3, asl #5
+ ldreq r4, [sp, #96]
+ bne .L17789
+.L16115:
+ movs r5, lr, lsr #3
+ beq .L15754
+ mov lr, #0
+ b .L16127
+.L17790:
+ sub ip, ip, #32
+ add r4, r4, #32
+.L16127:
+ ldr r0, [ip, #0]
+ cmp r0, #0
+ beq .L16128
+ ands r2, r0, #15
+ beq .L16130
+ ldr r1, [r4, #28]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #28]
+ streq r3, [r4, #28]
+.L16130:
+ mov r3, r0, lsr #4
+ ands r2, r3, #15
+ beq .L16134
+ ldr r1, [r4, #24]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #24]
+ streq r3, [r4, #24]
+.L16134:
+ mov r3, r0, lsr #8
+ ands r2, r3, #15
+ beq .L16138
+ ldr r1, [r4, #20]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #20]
+ streq r3, [r4, #20]
+.L16138:
+ mov r3, r0, lsr #12
+ ands r2, r3, #15
+ beq .L16142
+ ldr r1, [r4, #16]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #16]
+ streq r3, [r4, #16]
+.L16142:
+ mov r3, r0, lsr #16
+ ands r2, r3, #15
+ beq .L16146
+ ldr r1, [r4, #12]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #12]
+ streq r3, [r4, #12]
+.L16146:
+ mov r3, r0, lsr #20
+ ands r2, r3, #15
+ beq .L16150
+ ldr r1, [r4, #8]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #8]
+ streq r3, [r4, #8]
+.L16150:
+ mov r3, r0, lsr #24
+ ands r2, r3, #15
+ beq .L16154
+ ldr r1, [r4, #4]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #4]
+ streq r3, [r4, #4]
+.L16154:
+ movs r2, r0, lsr #28
+ beq .L16128
+ ldr r1, [r4, #0]
+ orr r2, r7, r2
+ tst r1, #256
+ movne r3, r1, lsr #16
+ movne r3, r3, asl #16
+ orreq r3, r2, #768
+ orrne r2, r2, #768
+ orrne r3, r3, r2
+ orreq r3, r3, r1, asl #16
+ strne r3, [r4, #0]
+ streq r3, [r4, #0]
+.L16128:
+ add lr, lr, #1
+ cmp lr, r5
+ bne .L17790
+ b .L15754
+.L17482:
+ mov r3, r0, lsr #3
+ ands r1, r0, #7
+ sub r2, r2, r3, asl #6
+ ldreq r0, [sp, #96]
+ bne .L17791
+.L17586:
+ movs lr, lr, lsr #3
+ beq .L15754
+ mov ip, #0
+ b .L17615
+.L17792:
+ sub r2, r2, #64
+ add r0, r0, #32
+.L17615:
+ ldr r1, [r2, #4]
+ cmp r1, #0
+ beq .L17616
+ ands r3, r1, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r0, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ strne r3, [r0, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ strne r3, [r0, #4]
+ movs r3, r1, lsr #24
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r0, #0]
+.L17616:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L17625
+ ands r3, r1, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r0, #28]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ strne r3, [r0, #24]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ strne r3, [r0, #20]
+ movs r3, r1, lsr #24
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r0, #16]
+.L17625:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L17792
+ b .L15754
+.L17791:
+ cmp r1, #3
+ rsb ip, r1, #8
+ bls .L17587
+ cmp ip, #0
+ ldr r0, [r2, #0]
+ ldreq r0, [sp, #96]
+ beq .L17591
+ mov r3, r1, asl #3
+ sub r3, r3, #32
+ mov r1, r0, asl r3
+ mov r0, #0
+.L17592:
+ movs r3, r1, lsr #24
+ ldr r7, [sp, #52]
+ ldrne r8, [sp, #96]
+ orr r3, r7, r3
+ strne r3, [r8, r0, asl #2]
+ add r0, r0, #1
+ cmp r0, ip
+ mov r1, r1, asl #8
+ bne .L17592
+ ldr r1, [sp, #96]
+ add r0, r1, ip, asl #2
+.L17591:
+ sub r2, r2, #64
+ b .L17586
+.L17789:
+ rsbs r8, r2, #8
+ ldr r1, [ip, #0]
+ ldreq r4, [sp, #96]
+ beq .L16118
+ mov r3, r2, asl #2
+ mov r4, r1, asl r3
+ ldr r5, [sp, #96]
+ mov r6, #0
+.L16119:
+ movs r3, r4, lsr #28
+ beq .L16120
+ ldr r1, [r5, #0]
+ orr r2, r7, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r5, #0]
+ streq r2, [r5, #0]
+.L16120:
+ add r6, r6, #1
+ cmp r6, r8
+ mov r4, r4, asl #4
+ add r5, r5, #4
+ bne .L16119
+ ldr r0, [sp, #96]
+ add r4, r0, r8, asl #2
+.L16118:
+ sub ip, ip, #32
+ b .L16115
+.L17787:
+ rsbs ip, r2, #8
+ ldr lr, [r0, #0]
+ ldreq r5, [sp, #96]
+ beq .L17184
+ mov r3, r2, asl #2
+ mov r4, lr, asl r3
+ mov r5, #0
+.L17185:
+ ldr r8, [sp, #52]
+ movs r3, r4, lsr #28
+ ldrne lr, [sp, #96]
+ orr r3, r8, r3
+ orr r3, r7, r3
+ strne r3, [lr, r5, asl #2]
+ add r5, r5, #1
+ cmp ip, r5
+ mov r4, r4, asl #4
+ bne .L17185
+ ldr r2, [sp, #96]
+ add r5, r2, ip, asl #2
+.L17184:
+ sub r0, r0, #32
+ b .L17181
+.L17783:
+ rsbs r5, r3, #8
+ ldr r0, [r0, r1]
+ ldreq r1, [sp, #96]
+ beq .L17054
+ mov r3, r3, asl #2
+ mov r0, r0, lsr r3
+ mov r2, #0
+.L17055:
+ ldr r8, [sp, #52]
+ ands r3, r0, #15
+ ldrne ip, [sp, #96]
+ orr r3, r8, r3
+ orr r3, r7, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, r5
+ mov r0, r0, lsr #4
+ bne .L17055
+ ldr r0, [sp, #96]
+ add r1, r0, r5, asl #2
+.L17054:
+ add r4, r4, #32
+ b .L17051
+.L17781:
+ cmp r2, #3
+ rsb ip, r2, #8
+ bls .L17367
+ cmp ip, #0
+ ldr r1, [r0, #4]
+ ldreq r1, [sp, #96]
+ beq .L17371
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r2, r1, lsr r3
+ mov r1, #0
+.L17372:
+ ands r3, r2, #255
+ ldr r7, [sp, #52]
+ ldrne r8, [sp, #96]
+ orr r3, r7, r3
+ strne r3, [r8, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, ip
+ mov r2, r2, lsr #8
+ bne .L17372
+ ldr r2, [sp, #96]
+ add r1, r2, ip, asl #2
+.L17371:
+ add r0, r0, #64
+ b .L17366
+.L17785:
+ cmp r2, #3
+ rsb r6, r2, #8
+ bls .L16399
+ cmp r6, #0
+ ldr r1, [lr, #4]
+ ldreq r0, [sp, #96]
+ beq .L16403
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov ip, r1, lsr r3
+ ldr r4, [sp, #96]
+ mov r5, #0
+.L16404:
+ ands r0, ip, #255
+ beq .L16405
+ ldr r2, [r4, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r4, #0]
+ streq r0, [r4, #0]
+.L16405:
+ add r5, r5, #1
+ cmp r5, r6
+ mov ip, ip, lsr #8
+ add r4, r4, #4
+ bne .L16404
+ ldr r5, [sp, #96]
+ add r0, r5, r6, asl #2
+.L16403:
+ add lr, lr, #64
+ b .L16398
+.L17779:
+ cmp r2, #3
+ rsb r6, r2, #8
+ bls .L16735
+ cmp r6, #0
+ ldr r1, [lr, #0]
+ ldreq ip, [sp, #96]
+ beq .L16739
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov ip, r1, asl r3
+ ldr r4, [sp, #96]
+ mov r5, #0
+.L16740:
+ movs r0, ip, lsr #24
+ beq .L16741
+ ldr r2, [r4, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r4, #0]
+ streq r0, [r4, #0]
+.L16741:
+ add r5, r5, #1
+ cmp r6, r5
+ mov ip, ip, asl #8
+ add r4, r4, #4
+ bne .L16740
+ ldr r1, [sp, #96]
+ add ip, r1, r6, asl #2
+.L16739:
+ sub lr, lr, #64
+ b .L16734
+.L17777:
+ rsbs r6, r3, #8
+ ldr r0, [r0, r1]
+ ldreq ip, [sp, #96]
+ beq .L15914
+ mov r3, r3, asl #2
+ mov ip, r0, lsr r3
+ ldr r4, [sp, #96]
+ mov r5, #0
+.L15915:
+ ands r3, ip, #15
+ beq .L15916
+ ldr r1, [r4, #0]
+ orr r2, r7, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L15916:
+ add r5, r5, #1
+ cmp r6, r5
+ mov ip, ip, lsr #4
+ add r4, r4, #4
+ bne .L15915
+ ldr r3, [sp, #96]
+ add ip, r3, r6, asl #2
+.L15914:
+ add lr, lr, #32
+ b .L15911
+.L15842:
+ ldr lr, [sp, #128]
+ rsb r6, r3, #8
+ cmp lr, r6
+ bge .L15845
+ cmp lr, #0
+ ble .L15754
+ ldr r2, [r0, r1]
+ mov r3, r3, asl #2
+ mov ip, r2, lsr r3
+ ldr r4, [sp, #96]
+ mov lr, #0
+.L15849:
+ ands r3, ip, #15
+ beq .L15850
+ ldr r1, [r4, #0]
+ orr r2, r7, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L15850:
+ ldr r0, [sp, #128]
+ add lr, lr, #1
+ cmp r0, lr
+ mov ip, ip, lsr #4
+ add r4, r4, #4
+ bne .L15849
+ b .L15754
+.L16586:
+ ldr r7, [sp, #128]
+ rsb r6, lr, #8
+ cmp r7, r6
+ bge .L16589
+ cmp r7, #0
+ ble .L15754
+ cmp lr, #3
+ bls .L16592
+ mov r3, lr, asl #3
+ ldr r2, [r8, #0]
+ sub r3, r3, #32
+ mov ip, r2, asl r3
+ ldr lr, [sp, #96]
+ mov r4, #0
+.L16595:
+ movs r0, ip, lsr #24
+ beq .L16596
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16596:
+ ldr r8, [sp, #128]
+ add r4, r4, #1
+ cmp r8, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L16595
+ b .L15754
+.L17484:
+ ldr lr, [sp, #128]
+ rsb r0, ip, #8
+ cmp lr, r0
+ bge .L17487
+ cmp lr, #0
+ ble .L15754
+ cmp ip, #3
+ bls .L17490
+ ldr r2, [r6, #0]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L17493:
+ movs r3, r2, lsr #24
+ ldr r0, [sp, #52]
+ ldrne r4, [sp, #96]
+ orr r3, r0, r3
+ ldr r5, [sp, #128]
+ strne r3, [r4, r1, asl #2]
+ add r1, r1, #1
+ cmp r5, r1
+ mov r2, r2, asl #8
+ bne .L17493
+ b .L15754
+.L16046:
+ ldr r2, [sp, #128]
+ rsb r6, lr, #8
+ cmp r2, r6
+ bge .L16049
+ cmp r2, #0
+ ble .L15754
+ ldr r2, [ip, #0]
+ mov r3, lr, asl #2
+ mov ip, r2, asl r3
+ ldr r4, [sp, #96]
+ mov lr, #0
+.L16053:
+ movs r3, ip, lsr #28
+ beq .L16054
+ ldr r1, [r4, #0]
+ orr r2, r7, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L16054:
+ ldr r3, [sp, #128]
+ add lr, lr, #1
+ cmp r3, lr
+ mov ip, ip, asl #4
+ add r4, r4, #4
+ bne .L16053
+ b .L15754
+.L17134:
+ ldr r1, [sp, #128]
+ rsb lr, r5, #8
+ cmp r1, lr
+ bge .L17137
+ cmp r1, #0
+ ble .L15754
+ ldr r2, [r0, #0]
+ mov r3, r5, asl #2
+ mov r0, r2, asl r3
+ mov r2, #0
+.L17141:
+ ldr r4, [sp, #52]
+ movs r3, r0, lsr #28
+ ldrne r5, [sp, #96]
+ orr r3, r4, r3
+ orr r3, r7, r3
+ ldr r8, [sp, #128]
+ strne r3, [r5, r2, asl #2]
+ add r2, r2, #1
+ cmp r8, r2
+ mov r0, r0, asl #4
+ bne .L17141
+ b .L15754
+.L17264:
+ ldr ip, [sp, #128]
+ rsb r0, lr, #8
+ cmp ip, r0
+ bge .L17267
+ cmp ip, #0
+ ble .L15754
+ cmp lr, #3
+ bls .L17270
+ ldr r2, [r6, #4]
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L17273:
+ ands r3, r1, #255
+ ldr lr, [sp, #52]
+ ldrne r0, [sp, #96]
+ orr r3, lr, r3
+ strne r3, [r0, r2, asl #2]
+ ldr r3, [sp, #128]
+ add r2, r2, #1
+ cmp r3, r2
+ mov r1, r1, lsr #8
+ bne .L17273
+ b .L15754
+.L17004:
+ ldr ip, [sp, #128]
+ rsb lr, r3, #8
+ cmp ip, lr
+ bge .L17007
+ cmp ip, #0
+ ble .L15754
+ ldr r2, [r0, r1]
+ mov r3, r3, asl #2
+ mov r0, r2, lsr r3
+ mov r2, #0
+.L17011:
+ ldr lr, [sp, #52]
+ ands r3, r0, #15
+ ldrne r1, [sp, #96]
+ orr r3, lr, r3
+ orr r3, r7, r3
+ strne r3, [r1, r2, asl #2]
+ ldr r3, [sp, #128]
+ add r2, r2, #1
+ cmp r3, r2
+ mov r0, r0, lsr #4
+ bne .L17011
+ b .L15754
+.L16250:
+ ldr ip, [sp, #128]
+ rsb r5, lr, #8
+ cmp ip, r5
+ bge .L16253
+ cmp ip, #0
+ ble .L15754
+ cmp lr, #3
+ bls .L16256
+ mov r3, lr, asl #3
+ ldr r2, [r7, #4]
+ sub r3, r3, #32
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #96]
+ mov r4, #0
+.L16259:
+ ands r0, ip, #255
+ beq .L16260
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16260:
+ ldr r0, [sp, #128]
+ add r4, r4, #1
+ cmp r0, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L16259
+ b .L15754
+.L16399:
+ subs r8, r6, #4
+ ldr r1, [lr, #0]
+ ldreq r2, [sp, #96]
+ beq .L16413
+ mov r3, r2, asl #3
+ mov ip, r1, lsr r3
+ ldr r4, [sp, #96]
+ mov r5, #0
+.L16414:
+ ands r0, ip, #255
+ beq .L16415
+ ldr r2, [r4, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r4, #0]
+ streq r0, [r4, #0]
+.L16415:
+ add r5, r5, #1
+ cmp r8, r5
+ mov ip, ip, lsr #8
+ add r4, r4, #4
+ bne .L16414
+ ldr r4, [sp, #96]
+ add r3, r4, r6, asl #2
+ sub r2, r3, #16
+.L16413:
+ ldr r1, [lr, #4]
+ cmp r1, #0
+ beq .L16421
+ ands r0, r1, #255
+ beq .L16423
+ ldr r3, [r2, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #0]
+ streq r3, [r2, #0]
+.L16423:
+ mov r3, r1, lsr #8
+ ands r0, r3, #255
+ beq .L16427
+ ldr r3, [r2, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #4]
+ streq r3, [r2, #4]
+.L16427:
+ mov r3, r1, lsr #16
+ ands r0, r3, #255
+ beq .L16431
+ ldr r3, [r2, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #8]
+ streq r3, [r2, #8]
+.L16431:
+ movs r1, r1, lsr #24
+ beq .L16421
+ ldr r3, [r2, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orrne r3, r1, r3
+ strne r3, [r2, #12]
+ orreq r3, r1, r3, asl #16
+ orreq r3, r3, #768
+ streq r3, [r2, #12]
+.L16421:
+ add r0, r2, #16
+ add lr, lr, #64
+ b .L16398
+.L16735:
+ subs r8, r6, #4
+ ldr r1, [lr, #4]
+ ldreq r2, [sp, #96]
+ beq .L16749
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov ip, r1, asl r3
+ ldr r4, [sp, #96]
+ mov r5, #0
+.L16750:
+ movs r0, ip, lsr #24
+ beq .L16751
+ ldr r2, [r4, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [r4, #0]
+ streq r0, [r4, #0]
+.L16751:
+ add r5, r5, #1
+ cmp r8, r5
+ mov ip, ip, asl #8
+ add r4, r4, #4
+ bne .L16750
+ ldr r0, [sp, #96]
+ add r3, r0, r6, asl #2
+ sub r2, r3, #16
+.L16749:
+ ldr r1, [lr, #0]
+ cmp r1, #0
+ beq .L16757
+ ands r0, r1, #255
+ beq .L16759
+ ldr r3, [r2, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #12]
+ streq r3, [r2, #12]
+.L16759:
+ mov r3, r1, lsr #8
+ ands r0, r3, #255
+ beq .L16763
+ ldr r3, [r2, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #8]
+ streq r3, [r2, #8]
+.L16763:
+ mov r3, r1, lsr #16
+ ands r0, r3, #255
+ beq .L16767
+ ldr r3, [r2, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #4]
+ streq r3, [r2, #4]
+.L16767:
+ movs r1, r1, lsr #24
+ beq .L16757
+ ldr r3, [r2, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orrne r3, r1, r3
+ strne r3, [r2, #0]
+ orreq r3, r1, r3, asl #16
+ orreq r3, r3, #768
+ streq r3, [r2, #0]
+.L16757:
+ add ip, r2, #16
+ sub lr, lr, #64
+ b .L16734
+.L15845:
+ cmp r6, #0
+ ldr r2, [r8, #0]
+ ldreq r5, [sp, #96]
+ beq .L15857
+ mov r3, r3, asl #2
+ mov ip, r2, lsr r3
+ ldr r4, [sp, #96]
+ mov lr, #0
+.L15858:
+ ands r3, ip, #15
+ beq .L15859
+ ldr r1, [r4, #0]
+ orr r2, r7, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r4, #0]
+ streq r2, [r4, #0]
+.L15859:
+ add lr, lr, #1
+ cmp r6, lr
+ mov ip, ip, lsr #4
+ add r4, r4, #4
+ bne .L15858
+ ldr r1, [sp, #96]
+ add r5, r1, r6, asl #2
+.L15857:
+ ldr r2, [sp, #128]
+ add r8, r8, #32
+ rsb sl, r6, r2
+ b .L15844
+.L17587:
+ subs r4, ip, #4
+ ldr r0, [r2, #4]
+ ldreq r0, [sp, #96]
+ beq .L17599
+ mov r3, r1, asl #3
+ sub r3, r3, #32
+ mov r1, r0, asl r3
+ mov r0, #0
+.L17600:
+ movs r3, r1, lsr #24
+ ldr r5, [sp, #52]
+ ldrne r7, [sp, #96]
+ orr r3, r5, r3
+ strne r3, [r7, r0, asl #2]
+ add r0, r0, #1
+ cmp r4, r0
+ mov r1, r1, asl #8
+ bne .L17600
+ ldr r8, [sp, #96]
+ add r3, r8, ip, asl #2
+ sub r0, r3, #16
+.L17599:
+ ldr r1, [r2, #0]
+ cmp r1, #0
+ beq .L17605
+ ands r3, r1, #255
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ strne r3, [r0, #12]
+ mov r3, r1, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ strne r3, [r0, #8]
+ mov r3, r1, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ strne r3, [r0, #4]
+ movs r3, r1, lsr #24
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r0, #0]
+.L17605:
+ add r0, r0, #16
+ sub r2, r2, #64
+ b .L17586
+.L16589:
+ cmp lr, #3
+ bls .L16627
+ cmp r6, #0
+ ldr r2, [r8, #0]
+ ldreq r5, [sp, #96]
+ beq .L16631
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov ip, r2, asl r3
+ ldr lr, [sp, #96]
+ mov r4, #0
+.L16632:
+ movs r0, ip, lsr #24
+ beq .L16633
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16633:
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L16632
+ ldr r7, [sp, #96]
+ add r5, r7, r6, asl #2
+.L16631:
+ ldr ip, [sp, #128]
+ sub r8, r8, #64
+ rsb r7, r6, ip
+ b .L16588
+.L17487:
+ cmp ip, #3
+ bls .L17517
+ cmp r0, #0
+ ldr r2, [r6, #0]
+ ldreq r4, [sp, #96]
+ beq .L17521
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L17522:
+ movs r3, r2, lsr #24
+ ldr ip, [sp, #52]
+ ldrne lr, [sp, #96]
+ orr r3, ip, r3
+ strne r3, [lr, r1, asl #2]
+ add r1, r1, #1
+ cmp r0, r1
+ mov r2, r2, asl #8
+ bne .L17522
+ ldr r1, [sp, #96]
+ add r4, r1, r0, asl #2
+.L17521:
+ ldr r3, [sp, #128]
+ sub r6, r6, #64
+ rsb r5, r0, r3
+ b .L17486
+.L16253:
+ cmp lr, #3
+ bls .L16291
+ cmp r5, #0
+ ldr r2, [r7, #4]
+ ldreq lr, [sp, #96]
+ beq .L16295
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #96]
+ mov r4, #0
+.L16296:
+ ands r0, ip, #255
+ beq .L16297
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16297:
+ add r4, r4, #1
+ cmp r5, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L16296
+ ldr r2, [sp, #96]
+ add lr, r2, r5, asl #2
+.L16295:
+ ldr r3, [sp, #128]
+ add r7, r7, #64
+ rsb r6, r5, r3
+ b .L16252
+.L17367:
+ subs r4, ip, #4
+ ldr r1, [r0, #0]
+ ldreq r1, [sp, #96]
+ beq .L17379
+ mov r3, r2, asl #3
+ mov r2, r1, lsr r3
+ mov r1, #0
+.L17380:
+ ands r3, r2, #255
+ ldr r5, [sp, #52]
+ ldrne r7, [sp, #96]
+ orr r3, r5, r3
+ strne r3, [r7, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r4
+ mov r2, r2, lsr #8
+ bne .L17380
+ ldr r8, [sp, #96]
+ add r3, r8, ip, asl #2
+ sub r1, r3, #16
+.L17379:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L17385
+ ands r3, r2, #255
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne r4, [sp, #52]
+ orrne r3, r4, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne r5, [sp, #52]
+ orrne r3, r5, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r7, [sp, #52]
+ orrne r3, r7, r3
+ strne r3, [r1, #12]
+.L17385:
+ add r1, r1, #16
+ add r0, r0, #64
+ b .L17366
+.L17007:
+ cmp lr, #0
+ ldr r2, [r4, #0]
+ ldreq r6, [sp, #96]
+ beq .L17017
+ mov r3, r3, asl #2
+ mov r2, r2, lsr r3
+ mov r1, #0
+.L17018:
+ ldr r5, [sp, #52]
+ ands r3, r2, #15
+ ldrne r8, [sp, #96]
+ orr r3, r5, r3
+ orr r3, r7, r3
+ strne r3, [r8, r1, asl #2]
+ add r1, r1, #1
+ cmp lr, r1
+ mov r2, r2, lsr #4
+ bne .L17018
+ ldr ip, [sp, #96]
+ add r6, ip, lr, asl #2
+.L17017:
+ ldr r0, [sp, #128]
+ add r4, r4, #32
+ rsb r5, lr, r0
+ b .L17006
+.L16049:
+ cmp r6, #0
+ ldr r2, [ip, #0]
+ ldreq r5, [sp, #96]
+ beq .L16061
+ mov r3, lr, asl #2
+ mov r4, r2, asl r3
+ ldr r5, [sp, #96]
+ mov lr, #0
+.L16062:
+ movs r3, r4, lsr #28
+ beq .L16063
+ ldr r1, [r5, #0]
+ orr r2, r7, r3
+ mov r3, r1, lsr #16
+ orr r0, r2, #768
+ mov r3, r3, asl #16
+ orr r2, r2, #768
+ tst r1, #256
+ orr r3, r3, r0
+ orr r2, r2, r1, asl #16
+ strne r3, [r5, #0]
+ streq r2, [r5, #0]
+.L16063:
+ add lr, lr, #1
+ cmp r6, lr
+ mov r4, r4, asl #4
+ add r5, r5, #4
+ bne .L16062
+ ldr r4, [sp, #96]
+ add r5, r4, r6, asl #2
+.L16061:
+ ldr r8, [sp, #128]
+ sub ip, ip, #32
+ rsb sl, r6, r8
+ b .L16048
+.L17137:
+ cmp lr, #0
+ ldr r2, [r0, #0]
+ ldreq r1, [sp, #96]
+ beq .L17147
+ mov r3, r5, asl #2
+ mov r4, r2, asl r3
+ mov r5, #0
+.L17148:
+ ldr ip, [sp, #52]
+ movs r3, r4, lsr #28
+ ldrne r1, [sp, #96]
+ orr r3, ip, r3
+ orr r3, r7, r3
+ strne r3, [r1, r5, asl #2]
+ add r5, r5, #1
+ cmp lr, r5
+ mov r4, r4, asl #4
+ bne .L17148
+ ldr r2, [sp, #96]
+ add r1, r2, lr, asl #2
+.L17147:
+ ldr r3, [sp, #128]
+ sub r0, r0, #32
+ rsb r2, lr, r3
+ b .L17136
+.L17267:
+ cmp lr, #3
+ bls .L17297
+ cmp r0, #0
+ ldr r2, [r6, #4]
+ ldreq r4, [sp, #96]
+ beq .L17301
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L17302:
+ ands r3, r1, #255
+ ldr ip, [sp, #52]
+ ldrne lr, [sp, #96]
+ orr r3, ip, r3
+ strne r3, [lr, r2, asl #2]
+ add r2, r2, #1
+ cmp r0, r2
+ mov r1, r1, lsr #8
+ bne .L17302
+ ldr r1, [sp, #96]
+ add r4, r1, r0, asl #2
+.L17301:
+ ldr r3, [sp, #128]
+ add r6, r6, #64
+ rsb r5, r0, r3
+ b .L17266
+.L17797:
+ mov r6, #0
+ b .L15820
+.L17800:
+ mov r6, #0
+ b .L16948
+.L17799:
+ mov ip, #0
+ b .L15780
+.L17794:
+ mov ip, fp
+ b .L17737
+.L17297:
+ subs ip, r0, #4
+ ldr r2, [r6, #0]
+ ldreq r1, [sp, #96]
+ beq .L17309
+ mov r3, lr, asl #3
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L17310:
+ ands r3, r1, #255
+ ldr r4, [sp, #52]
+ ldrne r5, [sp, #96]
+ orr r3, r4, r3
+ strne r3, [r5, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, ip
+ mov r1, r1, lsr #8
+ bne .L17310
+ ldr r7, [sp, #96]
+ add r3, r7, r0, asl #2
+ sub r1, r3, #16
+.L17309:
+ ldr r2, [r6, #4]
+ cmp r2, #0
+ beq .L17315
+ ands r3, r2, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #0]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ strne r3, [r1, #4]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ strne r3, [r1, #8]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ strne r3, [r1, #12]
+.L17315:
+ add r4, r1, #16
+ b .L17301
+.L16291:
+ subs r6, r5, #4
+ ldr r2, [r7, #0]
+ ldreq r2, [sp, #96]
+ beq .L16305
+ mov r3, lr, asl #3
+ mov ip, r2, lsr r3
+ ldr lr, [sp, #96]
+ mov r4, #0
+.L16306:
+ ands r0, ip, #255
+ beq .L16307
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16307:
+ add r4, r4, #1
+ cmp r6, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L16306
+ ldr r1, [sp, #96]
+ add r3, r1, r5, asl #2
+ sub r2, r3, #16
+.L16305:
+ ldr r1, [r7, #4]
+ cmp r1, #0
+ beq .L16313
+ ands r0, r1, #255
+ beq .L16315
+ ldr r3, [r2, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #0]
+ streq r3, [r2, #0]
+.L16315:
+ mov r3, r1, lsr #8
+ ands r0, r3, #255
+ beq .L16319
+ ldr r3, [r2, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #4]
+ streq r3, [r2, #4]
+.L16319:
+ mov r3, r1, lsr #16
+ ands r0, r3, #255
+ beq .L16323
+ ldr r3, [r2, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #8]
+ streq r3, [r2, #8]
+.L16323:
+ movs r1, r1, lsr #24
+ beq .L16313
+ ldr r3, [r2, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orrne r3, r1, r3
+ strne r3, [r2, #12]
+ orreq r3, r1, r3, asl #16
+ orreq r3, r3, #768
+ streq r3, [r2, #12]
+.L16313:
+ add lr, r2, #16
+ b .L16295
+.L17517:
+ subs lr, r0, #4
+ ldr r2, [r6, #4]
+ ldreq r1, [sp, #96]
+ beq .L17529
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L17530:
+ movs r3, r2, lsr #24
+ ldr r4, [sp, #52]
+ ldrne r5, [sp, #96]
+ orr r3, r4, r3
+ strne r3, [r5, r1, asl #2]
+ add r1, r1, #1
+ cmp lr, r1
+ mov r2, r2, asl #8
+ bne .L17530
+ ldr r7, [sp, #96]
+ add r3, r7, r0, asl #2
+ sub r1, r3, #16
+.L17529:
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L17535
+ ands r3, r2, #255
+ ldrne r8, [sp, #52]
+ orrne r3, r8, r3
+ strne r3, [r1, #12]
+ mov r3, r2, lsr #8
+ ands r3, r3, #255
+ ldrne ip, [sp, #52]
+ orrne r3, ip, r3
+ strne r3, [r1, #8]
+ mov r3, r2, lsr #16
+ ands r3, r3, #255
+ ldrne lr, [sp, #52]
+ orrne r3, lr, r3
+ strne r3, [r1, #4]
+ movs r3, r2, lsr #24
+ ldrne r2, [sp, #52]
+ orrne r3, r2, r3
+ strne r3, [r1, #0]
+.L17535:
+ add r4, r1, #16
+ b .L17521
+.L16627:
+ subs r5, r6, #4
+ ldr r2, [r8, #4]
+ ldreq r2, [sp, #96]
+ beq .L16641
+ mov r3, lr, asl #3
+ sub r3, r3, #32
+ mov ip, r2, asl r3
+ ldr lr, [sp, #96]
+ mov r4, #0
+.L16642:
+ movs r0, ip, lsr #24
+ beq .L16643
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16643:
+ add r4, r4, #1
+ cmp r4, r5
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L16642
+ ldr r4, [sp, #96]
+ add r3, r4, r6, asl #2
+ sub r2, r3, #16
+.L16641:
+ ldr r1, [r8, #0]
+ cmp r1, #0
+ beq .L16649
+ ands r0, r1, #255
+ beq .L16651
+ ldr r3, [r2, #12]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #12]
+ streq r3, [r2, #12]
+.L16651:
+ mov r3, r1, lsr #8
+ ands r0, r3, #255
+ beq .L16655
+ ldr r3, [r2, #8]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #8]
+ streq r3, [r2, #8]
+.L16655:
+ mov r3, r1, lsr #16
+ ands r0, r3, #255
+ beq .L16659
+ ldr r3, [r2, #4]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orreq r3, r0, r3, asl #16
+ orrne r3, r0, r3
+ orreq r3, r3, #768
+ strne r3, [r2, #4]
+ streq r3, [r2, #4]
+.L16659:
+ movs r1, r1, lsr #24
+ beq .L16649
+ ldr r3, [r2, #0]
+ tst r3, #256
+ movne r3, r3, lsr #16
+ movne r3, r3, asl #16
+ orrne r3, r3, #768
+ orrne r3, r1, r3
+ strne r3, [r2, #0]
+ orreq r3, r1, r3, asl #16
+ orreq r3, r3, #768
+ streq r3, [r2, #0]
+.L16649:
+ add r5, r2, #16
+ b .L16631
+.L17490:
+ ldr r7, [sp, #128]
+ mov r3, ip, asl #3
+ ldr r1, [r6, #4]
+ add r2, r7, ip
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L17497
+ cmp r7, #0
+ movne r2, #0
+ beq .L15754
+.L17513:
+ movs r3, r1, lsr #24
+ ldr r5, [sp, #52]
+ ldrne r7, [sp, #96]
+ orr r3, r5, r3
+ ldr r8, [sp, #128]
+ strne r3, [r7, r2, asl #2]
+ add r2, r2, #1
+ cmp r8, r2
+ mov r1, r1, asl #8
+ bne .L17513
+ b .L15754
+.L16592:
+ ldr ip, [sp, #128]
+ mov r3, lr, asl #3
+ add r2, ip, lr
+ ldr r1, [r8, #4]
+ sub r3, r3, #32
+ cmp r2, #4
+ mov ip, r1, asl r3
+ bhi .L16601
+ ldr lr, [sp, #128]
+ cmp lr, #0
+ ldrne lr, [sp, #96]
+ movne r4, #0
+ beq .L15754
+.L16621:
+ movs r0, ip, lsr #24
+ beq .L16622
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16622:
+ ldr r2, [sp, #128]
+ add r4, r4, #1
+ cmp r2, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L16621
+ b .L15754
+.L17270:
+ ldr r4, [sp, #128]
+ ldr r3, [r6, #0]
+ add r2, r4, lr
+ cmp r2, #4
+ mov r1, lr, asl #3
+ mov r2, r3, lsr r1
+ bhi .L17277
+ cmp r4, #0
+ movne r1, #0
+ beq .L15754
+.L17293:
+ ands r3, r2, #255
+ ldr r5, [sp, #52]
+ ldrne r7, [sp, #96]
+ orr r3, r5, r3
+ ldr r8, [sp, #128]
+ strne r3, [r7, r1, asl #2]
+ add r1, r1, #1
+ cmp r8, r1
+ mov r2, r2, lsr #8
+ bne .L17293
+ b .L15754
+.L16256:
+ ldr r1, [sp, #128]
+ ldr r3, [r7, #0]
+ add r2, r1, lr
+ cmp r2, #4
+ mov r1, lr, asl #3
+ mov ip, r3, lsr r1
+ bhi .L16265
+ ldr r2, [sp, #128]
+ cmp r2, #0
+ ldrne lr, [sp, #96]
+ movne r4, #0
+ beq .L15754
+.L16285:
+ ands r0, ip, #255
+ beq .L16286
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16286:
+ ldr r0, [sp, #128]
+ add r4, r4, #1
+ cmp r0, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L16285
+ b .L15754
+.L16265:
+ rsbs r4, lr, #4
+ ldreq lr, [sp, #96]
+ beq .L16270
+ ldr lr, [sp, #96]
+ mov r5, #0
+.L16271:
+ ands r0, ip, #255
+ beq .L16272
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16272:
+ add r5, r5, #1
+ cmp r5, r4
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L16271
+ ldr r3, [sp, #96]
+ add lr, r3, r4, asl #2
+.L16270:
+ ldr r8, [sp, #128]
+ ldr ip, [r7, #4]
+ subs r5, r8, r4
+ beq .L15754
+ mov r4, #0
+.L16279:
+ ands r0, ip, #255
+ beq .L16280
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16280:
+ add r4, r4, #1
+ cmp r4, r5
+ mov ip, ip, lsr #8
+ add lr, lr, #4
+ bne .L16279
+ b .L15754
+.L17277:
+ rsbs r0, lr, #4
+ ldreq ip, [sp, #96]
+ beq .L17282
+ mov r1, #0
+.L17283:
+ ands r3, r2, #255
+ ldr r5, [sp, #52]
+ ldrne r7, [sp, #96]
+ orr r3, r5, r3
+ strne r3, [r7, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, lsr #8
+ bne .L17283
+ ldr r8, [sp, #96]
+ add ip, r8, r0, asl #2
+.L17282:
+ ldr lr, [sp, #128]
+ ldr r2, [r6, #4]
+ subs r0, lr, r0
+ beq .L15754
+ mov r1, #0
+.L17289:
+ ldr r4, [sp, #52]
+ ands r3, r2, #255
+ orr r3, r4, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, lsr #8
+ bne .L17289
+ b .L15754
+.L16601:
+ rsbs r4, lr, #4
+ ldreq lr, [sp, #96]
+ beq .L16606
+ ldr lr, [sp, #96]
+ mov r5, #0
+.L16607:
+ movs r0, ip, lsr #24
+ beq .L16608
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16608:
+ add r5, r5, #1
+ cmp r5, r4
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L16607
+ ldr r0, [sp, #96]
+ add lr, r0, r4, asl #2
+.L16606:
+ ldr r1, [sp, #128]
+ ldr ip, [r8, #0]
+ subs r5, r1, r4
+ beq .L15754
+ mov r4, #0
+.L16615:
+ movs r0, ip, lsr #24
+ beq .L16616
+ ldr r2, [lr, #0]
+ orr r1, r0, #768
+ mov r3, r2, lsr #16
+ orr r0, r0, #768
+ mov r3, r3, asl #16
+ tst r2, #256
+ orr r3, r3, r1
+ orr r0, r0, r2, asl #16
+ strne r3, [lr, #0]
+ streq r0, [lr, #0]
+.L16616:
+ add r4, r4, #1
+ cmp r4, r5
+ mov ip, ip, asl #8
+ add lr, lr, #4
+ bne .L16615
+ b .L15754
+.L17497:
+ rsbs r0, ip, #4
+ ldreq ip, [sp, #96]
+ beq .L17502
+ mov r2, #0
+.L17503:
+ movs r3, r1, lsr #24
+ ldr r8, [sp, #52]
+ ldrne ip, [sp, #96]
+ orr r3, r8, r3
+ strne r3, [ip, r2, asl #2]
+ add r2, r2, #1
+ cmp r2, r0
+ mov r1, r1, asl #8
+ bne .L17503
+ ldr lr, [sp, #96]
+ add ip, lr, r0, asl #2
+.L17502:
+ ldr r1, [sp, #128]
+ ldr r2, [r6, #0]
+ subs r0, r1, r0
+ beq .L15754
+ mov r1, #0
+.L17509:
+ ldr r4, [sp, #52]
+ movs r3, r2, lsr #24
+ orr r3, r4, r3
+ strne r3, [ip, r1, asl #2]
+ add r1, r1, #1
+ cmp r1, r0
+ mov r2, r2, asl #8
+ bne .L17509
+ b .L15754
+ .size render_scanline_obj_partial_alpha_2D, .-render_scanline_obj_partial_alpha_2D
+ .align 2
+ .global order_obj
+ .type order_obj, %function
+order_obj:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r9, .L17848
+ mov sl, r0
+ mov ip, #0
+.L17806:
+ add r3, ip, ip, asl #2
+ add r2, r9, r3, asl #7
+ mov r3, #0
+.L17807:
+ add r3, r3, #1
+ mov r1, #0
+ cmp r3, #160
+ str r1, [r2], #4
+ bne .L17807
+ add ip, ip, #1
+ cmp ip, #5
+ bne .L17806
+ ldr fp, .L17848+4
+ mov r3, fp
+ add r2, fp, #640
+.L17810:
+ str r1, [r3], #4
+ cmp r3, r2
+ bne .L17810
+ ldr r5, .L17848+8
+ mov r6, #127
+.L17812:
+ ldrh r2, [r5, #8]
+ ldrh r7, [r5, #12]
+ and r1, r2, #49152
+ and r3, r2, #768
+ cmp r3, #512
+ cmpne r1, #49152
+ beq .L17813
+ mov r3, r2, lsr #10
+ and r0, r3, #3
+ cmp r0, #3
+ beq .L17813
+ cmp sl, #2
+ bls .L17816
+ mov r3, r7, asl #22
+ mov r3, r3, lsr #22
+ cmp r3, #512
+ bcc .L17813
+.L17816:
+ ldrh r4, [r5, #10]
+ and ip, r2, #255
+ mov r3, r4, lsr #14
+ orr r3, r3, r1, lsr #12
+ ldr r1, .L17848+12
+ cmp ip, #160
+ subgt ip, ip, #256
+ ldr r1, [r1, r3, asl #2]
+ tst r2, #512
+ ldr r2, .L17848+16
+ movne r1, r1, asl #1
+ ldr r2, [r2, r3, asl #2]
+ add lr, ip, r1
+ movne r2, r2, asl #1
+ cmp lr, #0
+ movle r3, #0
+ movgt r3, #1
+ cmp ip, #159
+ movgt r3, #0
+ cmp r3, #0
+ beq .L17813
+ mov r3, r4, asl #23
+ mov r3, r3, asr #23
+ add r2, r2, r3
+ cmp r2, #0
+ movle r1, #0
+ movgt r1, #1
+ cmp r3, #239
+ movgt r1, #0
+ cmp r1, #0
+ beq .L17813
+ cmp ip, #0
+ movlt ip, #0
+ cmp lr, #160
+ movge lr, #160
+ mov r3, r7, lsr #10
+ cmp r0, #1
+ and r3, r3, #3
+ beq .L17847
+ cmp r0, #2
+ moveq r3, #4
+ cmp lr, ip
+ ble .L17813
+ add r3, r3, r3, asl #2
+ ldr r2, .L17848+20
+ rsb r1, ip, lr
+ add r3, ip, r3, asl #5
+ mov r0, ip
+ add r1, ip, r1
+ add lr, r2, r3, asl #7
+ and r4, r6, #255
+ add ip, r9, r3, asl #2
+.L17833:
+ ldr r2, [ip, #0]
+ add r0, r0, #1
+ add r3, r2, #1
+ cmp r0, r1
+ strb r4, [lr, r2]
+ str r3, [ip], #4
+ add lr, lr, #128
+ bne .L17833
+.L17813:
+ sub r6, r6, #1
+ cmn r6, #1
+ sub r5, r5, #8
+ bne .L17812
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L17847:
+ cmp lr, ip
+ ble .L17813
+ add r3, r3, r3, asl #2
+ ldr r2, .L17848+20
+ add r3, ip, r3, asl #5
+ rsb r1, ip, lr
+ mov r4, ip
+ add r8, ip, r1
+ add r0, r2, r3, asl #7
+ and r7, r6, #255
+ add lr, r9, r3, asl #2
+ add ip, fp, ip, asl #2
+.L17829:
+ ldr r3, [lr, #0]
+ ldr r2, [ip, #0]
+ add r4, r4, #1
+ add r1, r3, #1
+ add r2, r2, #1
+ cmp r4, r8
+ strb r7, [r0, r3]
+ str r1, [lr], #4
+ str r2, [ip], #4
+ add r0, r0, #128
+ bne .L17829
+ sub r6, r6, #1
+ cmn r6, #1
+ sub r5, r5, #8
+ bne .L17812
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L17849:
+ .align 2
+.L17848:
+ .word obj_priority_count
+ .word obj_alpha_count
+ .word oam_ram+1008
+ .word obj_height_table
+ .word obj_width_table
+ .word obj_priority_list
+ .size order_obj, .-order_obj
+ .align 2
+ .global order_layers
+ .type order_layers, %function
+order_layers:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, sl, lr}
+ ldr r6, .L17989
+ ldr r3, .L17989+4
+ ldrh r2, [r6, #6]
+ ldr sl, .L17989+8
+ add r4, r3, r2, asl #2
+ and r3, r0, #8
+ mov r1, #0
+ cmp r3, #0
+ and ip, r0, #1
+ and r7, r0, #16
+ and r2, r0, #4
+ ldr r8, .L17989+12
+ mov r5, r1
+ mov lr, #3
+ and r0, r0, #2
+ str r1, [sl, #0]
+ bne .L17967
+ cmp ip, #0
+ beq .L17979
+ cmp r0, #0
+ bne .L17985
+ cmp r2, #0
+ bne .L17988
+.L17851:
+ ldrh r3, [r6, #8]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #0
+ streq r3, [r8, r5, asl #2]
+ ldr r3, [r4, #1920]
+ addeq r5, r5, #1
+ cmp r3, #0
+ sub r4, r4, #640
+ beq .L17855
+ cmp r7, #0
+ orr r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17855:
+ subs lr, lr, #1
+ bcs .L17851
+.L17869:
+ str r5, [sl, #0]
+ ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc}
+.L17967:
+ cmp ip, #0
+ beq .L17969
+ cmp r0, #0
+ bne .L17975
+ cmp r2, #0
+ bne .L17978
+.L17884:
+ ldrh r3, [r6, #14]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #3
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #8]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #0
+ streq r3, [r8, r5, asl #2]
+ ldr r3, [r4, #1920]
+ addeq r5, r5, #1
+ cmp r3, #0
+ sub r4, r4, #640
+ beq .L17875
+ cmp r7, #0
+ orr r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17875:
+ subs lr, lr, #1
+ bcc .L17869
+ b .L17884
+.L17969:
+ cmp r0, #0
+ bne .L17971
+ cmp r2, #0
+ bne .L17974
+.L17890:
+ ldrh r3, [r6, #14]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #3
+ streq r3, [r8, r5, asl #2]
+ ldr r3, [r4, #1920]
+ addeq r5, r5, #1
+ cmp r3, #0
+ sub r4, r4, #640
+ beq .L17883
+ cmp r7, #0
+ orr r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17883:
+ subs lr, lr, #1
+ bcc .L17869
+ b .L17890
+.L17979:
+ cmp r0, #0
+ bne .L17981
+ cmp r2, #0
+ bne .L17984
+.L17935:
+ ldr r3, [r4, #1920]
+ sub r4, r4, #640
+ cmp r3, #0
+ beq .L17930
+ cmp r7, #0
+ orr r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17930:
+ subs lr, lr, #1
+ bcc .L17869
+ b .L17935
+.L17985:
+ cmp r2, #0
+ bne .L17987
+.L17958:
+ ldrh r3, [r6, #10]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #1
+ streq r3, [r8, r5, asl #2]
+ addeq r5, r5, r3
+ ldrh r3, [r6, #8]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #0
+ streq r3, [r8, r5, asl #2]
+ ldr r3, [r4, #1920]
+ addeq r5, r5, #1
+ cmp r3, #0
+ sub r4, r4, #640
+ beq .L17951
+ cmp r7, #0
+ orr r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17951:
+ subs lr, lr, #1
+ bcc .L17869
+ b .L17958
+.L17987:
+ ldrh r3, [r6, #12]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #2
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #10]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #1
+ streq r3, [r8, r5, asl #2]
+ addeq r5, r5, r3
+ ldrh r3, [r6, #8]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #0
+ streq r3, [r8, r5, asl #2]
+ ldr r3, [r4, #1920]
+ addeq r5, r5, #1
+ cmp r3, #0
+ beq .L17957
+ cmp r7, #0
+ orrne r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17957:
+ sub lr, lr, #1
+ cmn lr, #1
+ sub r4, r4, #640
+ bne .L17987
+ b .L17869
+.L17975:
+ cmp r2, #0
+ bne .L17977
+.L17917:
+ ldrh r3, [r6, #14]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #3
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #10]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #1
+ streq r3, [r8, r5, asl #2]
+ addeq r5, r5, r3
+ ldrh r3, [r6, #8]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #0
+ streq r3, [r8, r5, asl #2]
+ ldr r3, [r4, #1920]
+ addeq r5, r5, #1
+ cmp r3, #0
+ beq .L17909
+ cmp r7, #0
+ orrne r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17909:
+ sub lr, lr, #1
+ cmn lr, #1
+ sub r4, r4, #640
+ bne .L17917
+ b .L17869
+.L17977:
+ ldrh r3, [r6, #14]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #3
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #12]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #2
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #10]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #1
+ streq r3, [r8, r5, asl #2]
+ addeq r5, r5, r3
+ ldrh r3, [r6, #8]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #0
+ streq r3, [r8, r5, asl #2]
+ ldr r3, [r4, #1920]
+ addeq r5, r5, #1
+ cmp r3, #0
+ beq .L17916
+ cmp r7, #0
+ orrne r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17916:
+ sub lr, lr, #1
+ cmn lr, #1
+ sub r4, r4, #640
+ bne .L17977
+ b .L17869
+.L17978:
+ ldrh r3, [r6, #14]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #3
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #12]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #2
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #8]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #0
+ streq r3, [r8, r5, asl #2]
+ ldr r3, [r4, #1920]
+ addeq r5, r5, #1
+ cmp r3, #0
+ beq .L17923
+ cmp r7, #0
+ orrne r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17923:
+ sub lr, lr, #1
+ cmn lr, #1
+ sub r4, r4, #640
+ bne .L17978
+ b .L17869
+.L17971:
+ cmp r2, #0
+ bne .L17973
+.L17897:
+ ldrh r3, [r6, #14]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #3
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #10]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #1
+ streq r3, [r8, r5, asl #2]
+ addeq r5, r5, r3
+ ldr r3, [r4, #1920]
+ sub r4, r4, #640
+ cmp r3, #0
+ beq .L17889
+ cmp r7, #0
+ orr r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17889:
+ subs lr, lr, #1
+ bcc .L17869
+ b .L17897
+.L17973:
+ ldrh r3, [r6, #14]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #3
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #12]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #2
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #10]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #1
+ streq r3, [r8, r5, asl #2]
+ addeq r5, r5, r3
+ ldr r3, [r4, #1920]
+ cmp r3, #0
+ beq .L17896
+ cmp r7, #0
+ orrne r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17896:
+ sub lr, lr, #1
+ cmn lr, #1
+ sub r4, r4, #640
+ bne .L17973
+ b .L17869
+.L17974:
+ ldrh r3, [r6, #14]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #3
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #12]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #2
+ streq r3, [r8, r5, asl #2]
+ ldr r3, [r4, #1920]
+ addeq r5, r5, #1
+ cmp r3, #0
+ sub r4, r4, #640
+ beq .L17902
+ cmp r7, #0
+ orr r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17902:
+ subs lr, lr, #1
+ bcc .L17869
+ b .L17974
+.L17981:
+ cmp r2, #0
+ bne .L17983
+.L17941:
+ ldrh r3, [r6, #10]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #1
+ streq r3, [r8, r5, asl #2]
+ addeq r5, r5, r3
+ ldr r3, [r4, #1920]
+ sub r4, r4, #640
+ cmp r3, #0
+ beq .L17934
+ cmp r7, #0
+ orr r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17934:
+ subs lr, lr, #1
+ bcc .L17869
+ b .L17941
+.L17983:
+ ldrh r3, [r6, #12]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #2
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #10]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #1
+ streq r3, [r8, r5, asl #2]
+ addeq r5, r5, r3
+ ldr r3, [r4, #1920]
+ sub r4, r4, #640
+ cmp r3, #0
+ beq .L17940
+ cmp r7, #0
+ orr r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17940:
+ subs lr, lr, #1
+ bcc .L17869
+ b .L17983
+.L17984:
+ ldrh r3, [r6, #12]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #2
+ streq r3, [r8, r5, asl #2]
+ ldr r3, [r4, #1920]
+ addeq r5, r5, #1
+ cmp r3, #0
+ sub r4, r4, #640
+ beq .L17945
+ cmp r7, #0
+ orr r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17945:
+ subs lr, lr, #1
+ bcc .L17869
+ b .L17984
+.L17988:
+ ldrh r3, [r6, #12]
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #2
+ streq r3, [r8, r5, asl #2]
+ ldrh r3, [r6, #8]
+ addeq r5, r5, #1
+ and r3, r3, #3
+ cmp r3, lr
+ moveq r3, #0
+ streq r3, [r8, r5, asl #2]
+ ldr r3, [r4, #1920]
+ addeq r5, r5, #1
+ cmp r3, #0
+ sub r4, r4, #640
+ beq .L17963
+ cmp r7, #0
+ orr r3, lr, #4
+ strne r3, [r8, r5, asl #2]
+ addne r5, r5, #1
+.L17963:
+ subs lr, lr, #1
+ bcc .L17869
+ b .L17988
+.L17990:
+ .align 2
+.L17989:
+ .word io_registers
+ .word obj_priority_count
+ .word layer_count
+ .word layer_order
+ .size order_layers, .-order_layers
+ .align 2
+ .global fill_line_normal
+ .type fill_line_normal, %function
+fill_line_normal:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ str lr, [sp, #-4]!
+ mov r0, r0, asl #16
+ mov lr, r3
+ cmp r2, r3
+ ldr r3, .L17997
+ mov r0, r0, lsr #15
+ ldrh ip, [r0, r3]
+ ldrcs pc, [sp], #4
+ rsb r3, r2, lr
+ add r1, r1, r2, asl #1
+ mov r0, #0
+.L17994:
+ add r0, r0, #1
+ cmp r0, r3
+ strh ip, [r1], #2 @ movhi
+ bne .L17994
+ ldr pc, [sp], #4
+.L17998:
+ .align 2
+.L17997:
+ .word palette_ram_converted
+ .size fill_line_normal, .-fill_line_normal
+ .align 2
+ .global fill_line_alpha
+ .type fill_line_alpha, %function
+fill_line_alpha:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ mov r0, r0, asl #16
+ cmp r2, r3
+ @ lr needed for prologue
+ mov r0, r0, lsr #16
+ bxcs lr
+ rsb r3, r2, r3
+ add r1, r1, r2, asl #2
+ mov ip, #0
+.L18002:
+ add ip, ip, #1
+ cmp ip, r3
+ str r0, [r1], #4
+ bne .L18002
+ bx lr
+ .size fill_line_alpha, .-fill_line_alpha
+ .align 2
+ .global fill_line_color16
+ .type fill_line_color16, %function
+fill_line_color16:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ mov r0, r0, asl #16
+ cmp r2, r3
+ @ lr needed for prologue
+ mov r0, r0, lsr #16
+ bxcs lr
+ rsb r3, r2, r3
+ add r1, r1, r2, asl #1
+ mov ip, #0
+.L18008:
+ add ip, ip, #1
+ cmp ip, r3
+ strh r0, [r1], #2 @ movhi
+ bne .L18008
+ bx lr
+ .size fill_line_color16, .-fill_line_color16
+ .align 2
+ .global fill_line_color32
+ .type fill_line_color32, %function
+fill_line_color32:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ mov r0, r0, asl #16
+ cmp r2, r3
+ @ lr needed for prologue
+ mov r0, r0, lsr #16
+ bxcs lr
+ rsb r3, r2, r3
+ add r1, r1, r2, asl #2
+ mov ip, #0
+.L18014:
+ add ip, ip, #1
+ cmp ip, r3
+ str r0, [r1], #4
+ bne .L18014
+ bx lr
+ .size fill_line_color32, .-fill_line_color32
+ .align 2
+ .global expand_blend
+ .type expand_blend, %function
+
+expand_blend:
+ @ args = 0, pretend = 0, frame = 4
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ mov r6, r0 # r6 = screen_src_ptr
+ ldr r0, .L18042 # r0 = io_registers
+ mov lr, r1 # lr = screen_dest_ptr
+ ldrh ip, [r0, #82] # ip = REG_BLDALPHA
+ sub sp, sp, #4 # make room on stack for 1 word
+ mov r1, ip, lsr #8 # r1 = REG_BLDALPHA >> 8
+ and r1, r1, #31 # r1 = (REG_BLDALPHA >> 8) & 0x1F = blend_b
+ and ip, ip, #31 # ip = REG_BLDALPHA & 0x1F = blend_a
+ cmp ip, #16 # if(blend_a > 16)
+ movcs ip, #16 # blend_a = 16
+ cmp r1, #16 # fp = blend_b
+ movcc fp, r1 # if(blend_b > 16)
+ movcs fp, #16 # blend_b = 16
+ add r0, fp, ip # r0 = blend_a + blend_b
+ cmp r0, #16 # if((blend_a + blend_b) > 16)
+ str ip, [sp, #0] # save blend_a to stack
+ bls .L18018 # goto blend w/o saturation
+
+ subs r8, r3, r2 # r8 = end - start
+ beq .L18040 # if((end - start) == 0) we're already done
+
+ ldr r7, .L18042+4 # r7 = palette_ram_converted
+ ldr sl, .L18042+8 # sl = 0x4000200
+ add r4, r6, r2, asl #2 # r4 = screen_src_ptr + (start * 4)
+ add r5, lr, r2, asl #1 # r5 = screen_dest_ptr + (start * 2)
+ mov r6, #0 # r6 = 0
+ b .L18022
+
+.L18023:
+ mov r3, r0, asl #23
+ mov r3, r3, lsr #23
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r7]
+ add r6, r6, #1
+ cmp r8, r6
+ strh r3, [r5, #0] @ movhi
+ beq .L18040
+
+.L18041: # next_iteration
+ add r4, r4, #4 # screen_src_ptr++
+ add r5, r5, #2 # screen_dest_ptr++
+
+.L18022: # blend w/o saturation
+ ldr r0, [r4, #0] # r0 = *screen_src_ptr = pixel_source
+ ldr r3, .L18042+8 # r3 = 0x4000200
+ and r3, r0, r3 # r3 = (pixel_source & 0x400200)
+ cmp r3, sl # if(r3 == 0x4000200)
+ bne .L18023 # if not, don't perform blending
+ ldr r3, .L18042+12 # r3 = 0x3FE
+ mov r2, r0, lsr #15 # r2 = pixel_source >> 15
+ and r3, r2, r3 # r3 = (pixel_source >> 15) & 0x3FE = low_color_i
+ ldrh r1, [r3, r7] # r1 = palette_ram_converted[low_color_i] = low_color
+ mov r0, r0, asl #23 # r0 = r0 << 23
+ ldr ip, .L18042+16 # ip = 0x7EF81F
+ orr r1, r1, r1, asl #16 # r1 = (low_color << 16) | low_color = low_split
+ mov r0, r0, lsr #23 # r0 = pixel_source & 0x1FF
+ and ip, r1, ip # ip = low_split & 0x7EF81F = pixel_bottom
+ mov r0, r0, asl #1 # r0 = (pixel_source & 0x1FF) << 1 = high_color_i
+ ldrh r2, [r0, r7] # r2 = palette_ram_converted[high_color_i] = high_color
+ mul lr, fp, ip # lr = pixel_bottom * blend_b
+ ldr r3, .L18042+16 # r3 = 0x7EF81F
+ orr r2, r2, r2, asl #16 # r2 = (high_color << 16) | high_color = high_split
+ ldr r1, [sp, #0] # r1 = blend_a
+ and r3, r2, r3 # r3 = high_split & 0x7EF81F = pixel_top
+ mla r1, r3, r1, lr # r1 = (pixel_top * blend_a) + (pixel_bottom * blend_b)
+ ldr r2, .L18042+20 # r2 = 0x8010020
+ mov r1, r1, lsr #4 # r1 = ((pixel_top * blend_a) + (pixel_bottom * blend_b)) >> 4
+ and r2, r1, r2 # r2 = test any saturation on result
+ cmp r2, #0 # if(!saturation)
+ beq .L18025 # goto finish_iteration
+ tst r1, #134217728
+ orrne r1, r1, #132120576
+ tst r1, #65536
+ orrne r1, r1, #63488
+ tst r1, #32
+ orrne r1, r1, #31
+
+.L18025: # finish_iteration
+ ldr r3, .L18042+16 # r3 = 0x7EF81F
+ add r6, r6, #1 # i++
+ and r3, r1, r3 # r3 = pixel_result_dilate & 0x7EF81F
+ orr r3, r3, r3, lsr #16 # r3 = (pixel_result_dilate >> 16) | pixel_result_dilate
+ cmp r8, r6 # *screen_dest_ptr = pixel_result
+ strh r3, [r5, #0] @ movhi # if(i != end)
+ bne .L18041 # goto next_iteration
+.L18040:
+ add sp, sp, #4
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+
+.L18018: # blend w/o saturation
+ subs r9, r3, r2
+ beq .L18040
+ ldr sl, .L18042+4
+ add r4, lr, r2, asl #1
+ mov r7, #0
+ add lr, r6, r2, asl #2
+ b .L18035
+.L18036:
+ ldrh r3, [r3, sl]
+ strh r3, [r4, #0] @ movhi
+.L18038:
+ add r7, r7, #1
+ cmp r9, r7
+ add lr, lr, #4
+ add r4, r4, #2
+ beq .L18040
+
+.L18035:
+ ldr r1, [lr, #0]
+ ldr ip, .L18042+12
+ mov r3, r1, asl #23
+ ldr r0, .L18042+8
+ mov r2, r1, lsr #15
+ mov r3, r3, lsr #23
+ and r0, r1, r0
+ and ip, r2, ip
+ mov r2, r3, asl #1
+ mov r3, r1, asl #23
+ ldr r1, .L18042+8
+ ldr r6, .L18042+16
+ mov r3, r3, lsr #23
+ cmp r0, r1
+ mov r8, r6
+ mov r5, r6
+ mov r3, r3, asl #1
+ bne .L18036
+ ldrh r3, [ip, sl]
+ ldrh r2, [r2, sl]
+ orr r3, r3, r3, asl #16
+ and r6, r3, r6
+ mul r1, fp, r6
+ orr r2, r2, r2, asl #16
+ ldr r3, [sp, #0]
+ and r8, r2, r8
+ mla r3, r8, r3, r1
+ mov r3, r3, lsr #4
+ and r5, r3, r5
+ orr r2, r5, r5, lsr #16
+ strh r2, [r4, #0] @ movhi
+ b .L18038
+
+.L18043:
+ .align 2
+
+.L18042:
+ .word io_registers
+ .word palette_ram_converted
+ .word 67109376
+ .word 1022
+ .word 132184095
+ .word 134283296
+ .size expand_blend, .-expand_blend
+ .align 2
+ .global expand_darken
+ .type expand_darken, %function
+expand_darken:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr ip, .L18053
+ stmfd sp!, {r4, r5, r6, r7, r8, lr}
+ mov lr, r2
+ ldrh r2, [ip, #84]
+ and r2, r2, #31
+ rsb r2, r2, #16
+ cmp r2, #0
+ movge r8, r2
+ movlt r8, #0
+ subs r6, r3, lr
+ ldmeqfd sp!, {r4, r5, r6, r7, r8, pc}
+ mov r3, lr, asl #1
+ ldr r7, .L18053+4
+ add ip, r3, r1
+ add r0, r3, r0
+ mov r5, #0
+.L18047:
+ ldrh r3, [r0, #0]
+ ldr r4, .L18053+8
+ mov r2, r3, asl #23
+ mov r2, r2, lsr #23
+ tst r3, #512
+ mov r2, r2, asl #1
+ mov r1, r3, asl #23
+ ldrneh r3, [r2, r7]
+ mov lr, r4
+ orrne r3, r3, r3, asl #16
+ andne r4, r3, r4
+ mulne r2, r8, r4
+ mov r1, r1, lsr #23
+ mov r1, r1, asl #1
+ movne r2, r2, lsr #4
+ andne lr, r2, lr
+ ldreqh r1, [r1, r7]
+ orrne r3, lr, lr, lsr #16
+ add r5, r5, #1
+ strneh r3, [ip, #0] @ movhi
+ streqh r1, [ip, #0] @ movhi
+ cmp r6, r5
+ add r0, r0, #2
+ add ip, ip, #2
+ bne .L18047
+ ldmfd sp!, {r4, r5, r6, r7, r8, pc}
+.L18054:
+ .align 2
+.L18053:
+ .word io_registers
+ .word palette_ram_converted
+ .word 132184095
+ .size expand_darken, .-expand_darken
+ .align 2
+ .global expand_brighten
+ .type expand_brighten, %function
+expand_brighten:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, sl, lr}
+ mov lr, r2
+ ldr r2, .L18064
+ ldr r7, .L18064+4
+ ldrh ip, [r2, #84]
+ and ip, ip, #31
+ cmp ip, #16
+ movcs ip, #16
+ rsb r2, ip, ip, asl #6
+ add r2, ip, r2, asl #5
+ rsb r2, r2, r2, asl #16
+ mov r2, r2, lsr #4
+ subs r6, r3, lr
+ and r7, r2, r7
+ rsb r8, ip, #16
+ ldmeqfd sp!, {r4, r5, r6, r7, r8, sl, pc}
+ mov r3, lr, asl #1
+ ldr sl, .L18064+8
+ add ip, r3, r1
+ add r0, r3, r0
+ mov r5, #0
+.L18058:
+ ldrh r3, [r0, #0]
+ ldr r4, .L18064+4
+ mov r2, r3, asl #23
+ mov r2, r2, lsr #23
+ tst r3, #512
+ mov r2, r2, asl #1
+ mov r1, r3, asl #23
+ ldrneh r3, [r2, sl]
+ mov lr, r4
+ orrne r3, r3, r3, asl #16
+ andne r4, r3, r4
+ mulne r2, r4, r8
+ mov r1, r1, lsr #23
+ mov r1, r1, asl #1
+ addne r2, r7, r2, lsr #4
+ andne lr, r2, lr
+ ldreqh r1, [r1, sl]
+ orrne r3, lr, lr, lsr #16
+ add r5, r5, #1
+ strneh r3, [ip, #0] @ movhi
+ streqh r1, [ip, #0] @ movhi
+ cmp r6, r5
+ add r0, r0, #2
+ add ip, ip, #2
+ bne .L18058
+ ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc}
+.L18065:
+ .align 2
+.L18064:
+ .word io_registers
+ .word 132184095
+ .word palette_ram_converted
+ .size expand_brighten, .-expand_brighten
+ .align 2
+ .global expand_darken_partial_alpha
+ .type expand_darken_partial_alpha, %function
+expand_darken_partial_alpha:
+ @ args = 0, pretend = 0, frame = 16
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r4, .L18099
+ mov r6, r0
+ ldrh r0, [r4, #82]
+ ldrh lr, [r4, #84]
+ mov ip, r0, lsr #8
+ and ip, ip, #31
+ and r0, r0, #31
+ sub sp, sp, #16
+ cmp r0, #16
+ movcs r0, #16
+ cmp ip, #16
+ movcs ip, #16
+ and lr, lr, #31
+ str r0, [sp, #4]
+ rsb lr, lr, #16
+ add r0, ip, r0
+ cmp lr, #0
+ movlt lr, #0
+ cmp r0, #16
+ str ip, [sp, #8]
+ str lr, [sp, #0]
+ bls .L18067
+ subs r8, r3, r2
+ beq .L18093
+ ldr r7, .L18099+4
+ add r4, r6, r2, asl #2
+ add r5, r1, r2, asl #1
+ mov r6, #0
+ b .L18071
+.L18095:
+ ldr r3, .L18099+8
+ ldr r2, .L18099+8
+ and r3, r0, r3
+ cmp r3, r2
+ beq .L18094
+ mov r3, r0, asl #23
+ mov r3, r3, lsr #23
+ mov r3, r3, asl #1
+ ldrh r2, [r3, r7]
+ ldr r1, .L18099+12
+ orr r2, r2, r2, asl #16
+ ldr r0, [sp, #0]
+ and r1, r2, r1
+ mul r0, r1, r0
+ ldr r3, .L18099+12
+ mov r0, r0, lsr #4
+ and r3, r0, r3
+ orr r3, r3, r3, lsr #16
+ strh r3, [r5, #0] @ movhi
+.L18083:
+ add r6, r6, #1
+ cmp r8, r6
+ beq .L18093
+.L18096:
+ add r4, r4, #4
+ add r5, r5, #2
+.L18071:
+ ldr r0, [r4, #0]
+ tst r0, #512
+ bne .L18095
+ mov r3, r0, asl #23
+ mov r3, r3, lsr #23
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r7]
+ add r6, r6, #1
+ cmp r8, r6
+ strh r3, [r5, #0] @ movhi
+ bne .L18096
+.L18093:
+ add sp, sp, #16
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L18067:
+ subs r3, r3, r2
+ str r3, [sp, #12]
+ beq .L18093
+ ldr fp, .L18099+4
+ add r4, r1, r2, asl #1
+ add r0, r6, r2, asl #2
+ mov sl, #0
+ b .L18086
+.L18098:
+ ldr r5, .L18099+16
+ mov r3, r1, lsr #15
+ and r5, r3, r5
+ mov r3, r1, asl #23
+ mov r3, r3, lsr #23
+ mov r7, r3, asl #1
+ ldr r3, .L18099+8
+ ldr r9, .L18099+12
+ mov r2, r1, asl #23
+ mov r2, r2, lsr #23
+ cmp lr, r3
+ mov r2, r2, asl #1
+ mov r8, r9
+ mov ip, r9
+ mov r6, r9
+ beq .L18097
+ ldrh r3, [r2, fp]
+ ldr r2, [sp, #0]
+ orr r3, r3, r3, asl #16
+ and ip, r3, r9
+ mul r2, ip, r2
+ mov r2, r2, lsr #4
+ and r1, r2, r9
+ orr r3, r1, r1, lsr #16
+ strh r3, [r4, #0] @ movhi
+.L18091:
+ ldr ip, [sp, #12]
+ add sl, sl, #1
+ cmp ip, sl
+ add r0, r0, #4
+ add r4, r4, #2
+ beq .L18093
+.L18086:
+ ldr r1, [r0, #0]
+ ldr lr, .L18099+8
+ mov r3, r1, asl #23
+ mov r3, r3, lsr #23
+ tst r1, #512
+ and lr, r1, lr
+ mov r3, r3, asl #1
+ bne .L18098
+ ldrh r3, [r3, fp]
+ strh r3, [r4, #0] @ movhi
+ b .L18091
+.L18097:
+ ldrh r3, [r5, fp]
+ ldr r1, [sp, #8]
+ orr r3, r3, r3, asl #16
+ and r9, r3, r9
+ ldrh r2, [r7, fp]
+ mul r1, r9, r1
+ orr r2, r2, r2, asl #16
+ ldr r3, [sp, #4]
+ and r8, r2, r8
+ mla r3, r8, r3, r1
+ mov r3, r3, lsr #4
+ and r6, r3, ip
+ orr r2, r6, r6, lsr #16
+ strh r2, [r4, #0] @ movhi
+ b .L18091
+.L18094:
+ ldr r3, .L18099+16
+ mov r2, r0, lsr #15
+ and r3, r2, r3
+ ldrh r1, [r3, r7]
+ mov r0, r0, asl #23
+ ldr ip, .L18099+12
+ orr r1, r1, r1, asl #16
+ mov r0, r0, lsr #23
+ ldr lr, [sp, #8]
+ and ip, r1, ip
+ mov r0, r0, asl #1
+ ldrh r2, [r0, r7]
+ mul lr, ip, lr
+ ldr r3, .L18099+12
+ orr r2, r2, r2, asl #16
+ ldr r1, [sp, #4]
+ and r3, r2, r3
+ mla r1, r3, r1, lr
+ ldr r2, .L18099+20
+ mov r1, r1, lsr #4
+ and r2, r1, r2
+ cmp r2, #0
+ beq .L18076
+ tst r1, #134217728
+ orrne r1, r1, #132120576
+ tst r1, #65536
+ orrne r1, r1, #63488
+ tst r1, #32
+ orrne r1, r1, #31
+.L18076:
+ ldr r3, .L18099+12
+ and r3, r1, r3
+ orr r3, r3, r3, lsr #16
+ strh r3, [r5, #0] @ movhi
+ b .L18083
+.L18100:
+ .align 2
+.L18099:
+ .word io_registers
+ .word palette_ram_converted
+ .word 67109376
+ .word 132184095
+ .word 1022
+ .word 134283296
+ .size expand_darken_partial_alpha, .-expand_darken_partial_alpha
+ .align 2
+ .global expand_brighten_partial_alpha
+ .type expand_brighten_partial_alpha, %function
+expand_brighten_partial_alpha:
+ @ args = 0, pretend = 0, frame = 20
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr ip, .L18134
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldrh r5, [ip, #84]
+ ldrh r4, [ip, #82]
+ and r5, r5, #31
+ cmp r5, #16
+ movge r5, #16
+ mov lr, r4, lsr #8
+ rsb ip, r5, r5, asl #6
+ add ip, r5, ip, asl #5
+ and lr, lr, #31
+ and r4, r4, #31
+ sub sp, sp, #20
+ cmp r4, #16
+ movcs r4, #16
+ cmp lr, #16
+ movcs lr, #16
+ rsb ip, ip, ip, asl #16
+ ldr r6, .L18134+4
+ str lr, [sp, #12]
+ mov ip, ip, asr #4
+ add lr, lr, r4
+ and r6, ip, r6
+ rsb r5, r5, #16
+ cmp lr, #16
+ str r4, [sp, #8]
+ str r6, [sp, #0]
+ str r5, [sp, #4]
+ bls .L18102
+ subs r8, r3, r2
+ beq .L18128
+ ldr r7, .L18134+8
+ add r4, r1, r2, asl #1
+ add r5, r0, r2, asl #2
+ mov r6, #0
+ b .L18106
+.L18130:
+ ldr r3, .L18134+12
+ ldr r2, .L18134+12
+ and r3, r0, r3
+ cmp r3, r2
+ beq .L18129
+ mov r3, r0, asl #23
+ mov r3, r3, lsr #23
+ mov r3, r3, asl #1
+ ldrh r2, [r3, r7]
+ ldr r1, .L18134+4
+ orr r2, r2, r2, asl #16
+ ldr r0, [sp, #4]
+ and r1, r2, r1
+ mul r0, r1, r0
+ ldr lr, [sp, #0]
+ ldr r3, .L18134+4
+ add r0, lr, r0, lsr #4
+ and r3, r0, r3
+ orr r3, r3, r3, lsr #16
+ strh r3, [r4, #0] @ movhi
+.L18118:
+ add r6, r6, #1
+ cmp r8, r6
+ beq .L18128
+.L18131:
+ add r5, r5, #4
+ add r4, r4, #2
+.L18106:
+ ldr r0, [r5, #0]
+ tst r0, #512
+ bne .L18130
+ mov r3, r0, asl #23
+ mov r3, r3, lsr #23
+ mov r3, r3, asl #1
+ ldrh r3, [r3, r7]
+ add r6, r6, #1
+ cmp r8, r6
+ strh r3, [r4, #0] @ movhi
+ bne .L18131
+.L18128:
+ add sp, sp, #20
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L18102:
+ subs r3, r3, r2
+ str r3, [sp, #16]
+ beq .L18128
+ ldr fp, .L18134+8
+ add r5, r1, r2, asl #1
+ add r0, r0, r2, asl #2
+ mov sl, #0
+ b .L18121
+.L18133:
+ ldr r4, .L18134+16
+ mov r3, r1, lsr #15
+ and r4, r3, r4
+ mov r3, r1, asl #23
+ mov r3, r3, lsr #23
+ mov r7, r3, asl #1
+ ldr r3, .L18134+12
+ ldr r9, .L18134+4
+ mov r2, r1, asl #23
+ mov r2, r2, lsr #23
+ cmp lr, r3
+ mov r2, r2, asl #1
+ mov r8, r9
+ mov ip, r9
+ beq .L18132
+ ldrh r3, [r2, fp]
+ ldr r2, [sp, #4]
+ orr r3, r3, r3, asl #16
+ and ip, r3, r9
+ mul r2, ip, r2
+ ldr r4, [sp, #0]
+ add r2, r4, r2, lsr #4
+ and r1, r2, r9
+ orr r3, r1, r1, lsr #16
+ strh r3, [r5, #0] @ movhi
+.L18126:
+ ldr r6, [sp, #16]
+ add sl, sl, #1
+ cmp r6, sl
+ add r0, r0, #4
+ add r5, r5, #2
+ beq .L18128
+.L18121:
+ ldr r1, [r0, #0]
+ ldr lr, .L18134+12
+ mov r3, r1, asl #23
+ mov r3, r3, lsr #23
+ tst r1, #512
+ and lr, r1, lr
+ mov r3, r3, asl #1
+ bne .L18133
+ ldrh r3, [r3, fp]
+ strh r3, [r5, #0] @ movhi
+ b .L18126
+.L18132:
+ ldrh r3, [r4, fp]
+ ldr r1, [sp, #12]
+ orr r3, r3, r3, asl #16
+ and r9, r3, r9
+ ldrh r2, [r7, fp]
+ mul r1, r9, r1
+ orr r2, r2, r2, asl #16
+ ldr r3, [sp, #8]
+ and r8, r2, r8
+ mla r3, r8, r3, r1
+ mov r3, r3, lsr #4
+ and r6, r3, ip
+ orr r2, r6, r6, lsr #16
+ strh r2, [r5, #0] @ movhi
+ b .L18126
+.L18129:
+ ldr r3, .L18134+16
+ mov r2, r0, lsr #15
+ and r3, r2, r3
+ ldrh r1, [r3, r7]
+ mov r0, r0, asl #23
+ ldr ip, .L18134+4
+ orr r1, r1, r1, asl #16
+ mov r0, r0, lsr #23
+ ldr lr, [sp, #12]
+ and ip, r1, ip
+ mov r0, r0, asl #1
+ ldrh r2, [r0, r7]
+ mul lr, ip, lr
+ ldr r3, .L18134+4
+ orr r2, r2, r2, asl #16
+ ldr r1, [sp, #8]
+ and r3, r2, r3
+ mla r1, r3, r1, lr
+ ldr r2, .L18134+20
+ mov r1, r1, lsr #4
+ and r2, r1, r2
+ cmp r2, #0
+ beq .L18111
+ tst r1, #134217728
+ orrne r1, r1, #132120576
+ tst r1, #65536
+ orrne r1, r1, #63488
+ tst r1, #32
+ orrne r1, r1, #31
+.L18111:
+ ldr r3, .L18134+4
+ and r3, r1, r3
+ orr r3, r3, r3, lsr #16
+ strh r3, [r4, #0] @ movhi
+ b .L18118
+.L18135:
+ .align 2
+.L18134:
+ .word io_registers
+ .word 132184095
+ .word palette_ram_converted
+ .word 67109376
+ .word 1022
+ .word 134283296
+ .size expand_brighten_partial_alpha, .-expand_brighten_partial_alpha
+ .align 2
+ .global render_scanline_bitmap
+ .type render_scanline_bitmap, %function
+render_scanline_bitmap:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr r3, .L18153
+ and r2, r1, #7
+ ldrh ip, [r3, #0]
+ ldr r3, .L18153+4
+ stmfd sp!, {r4, r5, r6, r7, r8, sl, lr}
+ add sl, r3, r2, asl #2
+ mov r4, r0
+ mov r3, #0
+.L18137:
+ strh ip, [r3, r4] @ movhi
+ add r3, r3, #2
+ cmp r3, #480
+ bne .L18137
+ ldr r8, .L18153+8
+ ldr r3, [r8, #0]
+ cmp r3, #0
+ ldmeqfd sp!, {r4, r5, r6, r7, r8, sl, pc}
+ ldr r6, .L18153+12
+ and r7, r1, #64
+ mov r5, #0
+ b .L18141
+.L18152:
+ bl render_scanline_obj_normal_1D
+.L18146:
+ ldr r3, [r8, #0]
+ add r5, r5, #1
+ cmp r3, r5
+ add r6, r6, #4
+ bls .L18151
+.L18141:
+ ldr ip, [r6, #0]
+ mov r1, #240
+ ands r0, ip, #4
+ mov r2, r4
+ beq .L18142
+ sub r1, r1, #240
+ bic ip, ip, #4
+ cmp r7, r1
+ mov r2, #240
+ mov r3, r4
+ mov r0, ip
+ bne .L18152
+ mov r3, r4
+ mov r0, ip
+ mov r1, r7
+ mov r2, #240
+ bl render_scanline_obj_normal_2D
+ ldr r3, [r8, #0]
+ add r5, r5, #1
+ cmp r3, r5
+ add r6, r6, #4
+ bhi .L18141
+.L18151:
+ ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc}
+.L18142:
+ mov lr, pc
+ ldr pc, [sl, #0]
+ b .L18146
+.L18154:
+ .align 2
+.L18153:
+ .word palette_ram_converted
+ .word bitmap_mode_renderers-12
+ .word layer_count
+ .word layer_order
+ .size render_scanline_bitmap, .-render_scanline_bitmap
+ .align 2
+ .global render_scanline_conditional_bitmap
+ .type render_scanline_conditional_bitmap, %function
+render_scanline_conditional_bitmap:
+ @ args = 12, pretend = 0, frame = 4
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ mov ip, r3
+ ldr r3, .L18173
+ cmp r0, r1
+ mov r6, r0
+ sub sp, sp, #4
+ mov r7, r1
+ mov r8, r2
+ ldrh r0, [r3, #0]
+ bcs .L18156
+ add r2, r2, r6, asl #1
+ mov r3, #0
+ rsb r1, r6, r1
+.L18158:
+ add r3, r3, #1
+ cmp r1, r3
+ strh r0, [r2], #2 @ movhi
+ bne .L18158
+.L18156:
+ ldr fp, .L18173+4
+ ldr r3, [fp, #0]
+ cmp r3, #0
+ beq .L18169
+ ldr r3, [sp, #40]
+ ldr r5, .L18173+8
+ and r3, r3, #64
+ and r9, ip, #16
+ and sl, ip, #4
+ mov r4, #0
+ str r3, [sp, #0]
+ b .L18161
+.L18172:
+ cmp r9, #0
+ bic ip, r0, #4
+ beq .L18164
+ ldr lr, [sp, #0]
+ mov r0, ip
+ cmp lr, #0
+ mov r1, r6
+ mov r2, r7
+ mov r3, r8
+ beq .L18166
+ bl render_scanline_obj_normal_1D
+.L18164:
+ ldr r3, [fp, #0]
+ add r4, r4, #1
+ cmp r3, r4
+ add r5, r5, #4
+ bls .L18169
+.L18161:
+ ldr r0, [r5, #0]
+ tst r0, #4
+ bne .L18172
+ cmp sl, #0
+ mov r0, r6
+ mov r1, r7
+ mov r2, r8
+ beq .L18164
+ ldr r3, [sp, #48]
+ mov lr, pc
+ ldr pc, [r3, #0]
+ ldr r3, [fp, #0]
+ add r4, r4, #1
+ cmp r3, r4
+ add r5, r5, #4
+ bhi .L18161
+.L18169:
+ add sp, sp, #4
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L18166:
+ mov r0, ip
+ mov r1, r6
+ mov r2, r7
+ mov r3, r8
+ bl render_scanline_obj_normal_2D
+ b .L18164
+.L18174:
+ .align 2
+.L18173:
+ .word palette_ram_converted
+ .word layer_count
+ .word layer_order
+ .size render_scanline_conditional_bitmap, .-render_scanline_conditional_bitmap
+ .align 2
+ .global set_gba_resolution
+ .type set_gba_resolution, %function
+set_gba_resolution:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ ldr r2, .L18180
+ @ lr needed for prologue
+ ldr r3, [r2, #0]
+ cmp r3, r0
+ bxeq lr
+ cmp r0, #2
+ str r0, [r2, #0]
+ bxhi lr
+ ldr r3, .L18180+4
+ mov r2, #240
+ str r2, [r3, #0]
+ ldr r3, .L18180+8
+ mov r1, #160
+ str r1, [r3, #0]
+ bx lr
+.L18181:
+ .align 2
+.L18180:
+ .word screen_scale
+ .word small_resolution_width
+ .word small_resolution_height
+ .size set_gba_resolution, .-set_gba_resolution
+ .align 2
+ .global clear_screen
+ .type clear_screen, %function
+clear_screen:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ ldr r3, .L18192
+ stmfd sp!, {r4, lr}
+ ldr r2, [r3, #0]
+ mov r0, r0, asl #16
+ ldrh r3, [r2, #16]
+ ldr r1, [r2, #8]
+ ldr r4, [r2, #12]
+ rsb ip, r1, r3, lsr #1
+ ldr r3, [r2, #20]
+ cmp r4, #0
+ movne lr, ip, asl #1
+ mov r0, r0, lsr #16
+ movne r2, r3
+ movne ip, #0
+ ldmeqfd sp!, {r4, pc}
+.L18185:
+ cmp r1, #0
+ movne r3, #0
+ beq .L18188
+.L18187:
+ add r3, r3, #1
+ cmp r1, r3
+ strh r0, [r2], #2 @ movhi
+ bhi .L18187
+.L18188:
+ add ip, ip, #1
+ cmp r4, ip
+ ldmlsfd sp!, {r4, pc}
+ add r2, r2, lr
+ b .L18185
+.L18193:
+ .align 2
+.L18192:
+ .word screen
+ .size clear_screen, .-clear_screen
+ .align 2
+ .global blit_to_screen
+ .type blit_to_screen, %function
+blit_to_screen:
+ @ args = 4, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, lr}
+ mov r4, r1
+ ldr r1, .L18206
+ subs r7, r2, #0
+ ldr ip, [r1, #0]
+ mov lr, r3
+ ldrh r2, [ip, #16]
+ ldr ip, [ip, #20]
+ mov r2, r2, lsr #1
+ rsb r1, r4, r2
+ ldmeqfd sp!, {r4, r5, r6, r7, r8, pc}
+ ldr r3, [sp, #24]
+ mov r6, r1, asl #1
+ mla r2, r3, r2, lr
+ mov r5, r4, asl #1
+ add r2, ip, r2, asl #1
+ mov r3, #0
+.L18197:
+ cmp r4, #0
+ movne lr, r2
+ movne ip, r0
+ movne r1, #0
+ beq .L18201
+.L18199:
+ add r1, r1, #1
+ ldrh r8, [ip], #2
+ cmp r4, r1
+ strh r8, [lr], #2 @ movhi
+ bne .L18199
+ add r2, r2, r5
+ add r0, r0, r5
+.L18201:
+ add r3, r3, #1
+ cmp r7, r3
+ ldmeqfd sp!, {r4, r5, r6, r7, r8, pc}
+ add r2, r2, r6
+ b .L18197
+.L18207:
+ .align 2
+.L18206:
+ .word screen
+ .size blit_to_screen, .-blit_to_screen
+ .align 2
+ .global print_string_ext
+ .type print_string_ext, %function
+print_string_ext:
+ @ args = 16, pretend = 0, frame = 12
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr ip, .L18247
+ sub sp, sp, #12
+ ldr sl, [sp, #48]
+ ldr r4, [ip, #0]
+ add lr, sl, #10
+ cmp lr, r4
+ mov r1, r1, asl #16
+ mov r2, r2, asl #16
+ mov fp, r0
+ mov r9, r3
+ mov r4, r1, lsr #16
+ mov lr, r2, lsr #16
+ ldrb ip, [r0, #0] @ zero_extendqisi2
+ bcs .L18240
+ cmp ip, #0
+ beq .L18240
+ ldr r2, .L18247+4
+ ldr r0, [sp, #56]
+ ldr r2, [r2, #0]
+ ldr r3, .L18247+8
+ mla r0, sl, r0, r9
+ ldr r3, [r3, #0]
+ str r2, [sp, #0]
+ ldr r2, [sp, #56]
+ str r3, [sp, #8]
+ add r1, r2, r2, asl #2
+ ldr r3, [sp, #52]
+ mov r1, r1, asl #2
+ str r1, [sp, #4]
+ add r6, r3, r0, asl #1
+ mov r1, r2, asl #1
+ mov r5, r9
+ mov r7, #0
+ mov r8, #1
+.L18212:
+ cmp ip, #10
+ beq .L18246
+ ldr r3, .L18247+12
+ mov r0, r6
+ ldr r2, [r3, ip, asl #2]
+ ldr r3, .L18247+16
+ mov ip, #0
+ add r2, r3, r2, asl #1
+.L18216:
+ ldrh r3, [r2, #0]
+ add ip, ip, #1
+ tst r3, #32768
+ streqh lr, [r0, #0] @ movhi
+ strneh r4, [r0, #0] @ movhi
+ tst r3, #16384
+ streqh lr, [r0, #2] @ movhi
+ strneh r4, [r0, #2] @ movhi
+ tst r3, #8192
+ streqh lr, [r0, #4] @ movhi
+ strneh r4, [r0, #4] @ movhi
+ tst r3, #4096
+ streqh lr, [r0, #6] @ movhi
+ strneh r4, [r0, #6] @ movhi
+ tst r3, #2048
+ streqh lr, [r0, #8] @ movhi
+ strneh r4, [r0, #8] @ movhi
+ tst r3, #1024
+ strneh r4, [r0, #10] @ movhi
+ streqh lr, [r0, #10] @ movhi
+ cmp ip, #10
+ add r0, r0, r1
+ add r2, r2, #2
+ bne .L18216
+ add r3, r1, r6
+ add r2, r1, r1, asl #3
+ add r3, r3, r2
+ ldr r2, [sp, #4]
+ add r5, r5, #6
+ rsb r3, r2, r3
+ add r6, r3, #12
+.L18215:
+ ldrb ip, [fp, r8] @ zero_extendqisi2
+ ldr r0, [sp, #60]
+ add r7, r7, #1
+ cmp r7, r0
+ movcs r3, #0
+ movcc r3, #1
+ cmp ip, #0
+ movne r3, #0
+ ldr r2, [sp, #8]
+ cmp r3, #0
+ add r3, r5, #6
+ movne ip, #32
+ addeq r8, r8, #1
+ cmp r3, r2
+ bcs .L18240
+ cmp ip, #0
+ bne .L18212
+.L18240:
+ add sp, sp, #12
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L18246:
+ ldr r2, [sp, #56]
+ add sl, sl, #10
+ mla r2, sl, r2, r9
+ ldr r0, [sp, #0]
+ mov r5, r9
+ ldr r3, [r0, #20]
+ add r6, r3, r2, asl #1
+ b .L18215
+.L18248:
+ .align 2
+.L18247:
+ .word resolution_height
+ .word screen
+ .word resolution_width
+ .word _font_offset
+ .word _font_bits
+ .size print_string_ext, .-print_string_ext
+ .align 2
+ .global debug_screen_clear
+ .type debug_screen_clear, %function
+debug_screen_clear:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ @ lr needed for prologue
+ bx lr
+ .size debug_screen_clear, .-debug_screen_clear
+ .align 2
+ .global debug_screen_start
+ .type debug_screen_start, %function
+debug_screen_start:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ @ lr needed for prologue
+ bx lr
+ .size debug_screen_start, .-debug_screen_start
+ .align 2
+ .global debug_screen_end
+ .type debug_screen_end, %function
+debug_screen_end:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ @ lr needed for prologue
+ bx lr
+ .size debug_screen_end, .-debug_screen_end
+ .align 2
+ .global debug_screen_update
+ .type debug_screen_update, %function
+debug_screen_update:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ @ lr needed for prologue
+ bx lr
+ .size debug_screen_update, .-debug_screen_update
+ .align 2
+ .global video_write_mem_savestate
+ .type video_write_mem_savestate, %function
+video_write_mem_savestate:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, lr}
+ ldr r4, .L18259
+ ldr r1, .L18259+4
+ mov r2, #8
+ ldr r0, [r4, #0]
+ bl memcpy
+ ldr r3, [r4, #0]
+ ldr r1, .L18259+8
+ add r3, r3, #8
+ mov r0, r3
+ mov r2, #8
+ str r3, [r4, #0]
+ bl memcpy
+ ldr r3, [r4, #0]
+ add r3, r3, #8
+ str r3, [r4, #0]
+ ldmfd sp!, {r4, pc}
+.L18260:
+ .align 2
+.L18259:
+ .word write_mem_ptr
+ .word affine_reference_x
+ .word affine_reference_y
+ .size video_write_mem_savestate, .-video_write_mem_savestate
+ .align 2
+ .global video_read_savestate
+ .type video_read_savestate, %function
+video_read_savestate:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, lr}
+ mov r3, r0
+ mov r4, r0
+ mov r1, #8
+ mov r2, #1
+ ldr r0, .L18263
+ bl fread
+ ldr r0, .L18263+4
+ mov r3, r4
+ mov r1, #8
+ mov r2, #1
+ ldmfd sp!, {r4, lr}
+ b fread
+.L18264:
+ .align 2
+.L18263:
+ .word affine_reference_x
+ .word affine_reference_y
+ .size video_read_savestate, .-video_read_savestate
+ .section .rodata.str1.4,"aMS",%progbits,1
+ .align 2
+.LC0:
+ .ascii "\012\000"
+ .text
+ .align 2
+ .global debug_screen_newline
+ .type debug_screen_newline, %function
+debug_screen_newline:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ @ link register save eliminated.
+ ldr r3, .L18267
+ ldr r1, .L18267+4
+ ldr r0, [r3, #0]
+ @ lr needed for prologue
+ b fprintf
+.L18268:
+ .align 2
+.L18267:
+ .word stderr
+ .word .LC0
+ .size debug_screen_newline, .-debug_screen_newline
+ .align 2
+ .global debug_screen_printf
+ .type debug_screen_printf, %function
+debug_screen_printf:
+ @ args = 4, pretend = 16, frame = 4
+ @ frame_needed = 0, uses_anonymous_args = 1
+ stmfd sp!, {r0, r1, r2, r3}
+ str lr, [sp, #-4]!
+ ldr r3, .L18271
+ sub sp, sp, #4
+ add ip, sp, #12
+ ldr r0, [r3, #0]
+ mov r2, ip
+ ldr r1, [sp, #8]
+ str ip, [sp, #0]
+ bl vfprintf
+ add sp, sp, #4
+ ldr lr, [sp], #4
+ add sp, sp, #16
+ bx lr
+.L18272:
+ .align 2
+.L18271:
+ .word stderr
+ .size debug_screen_printf, .-debug_screen_printf
+ .align 2
+ .global debug_screen_printl
+ .type debug_screen_printl, %function
+debug_screen_printl:
+ @ args = 4, pretend = 16, frame = 4
+ @ frame_needed = 0, uses_anonymous_args = 1
+ stmfd sp!, {r0, r1, r2, r3}
+ str lr, [sp, #-4]!
+ sub sp, sp, #4
+ add r3, sp, #12
+ ldr r0, [sp, #8]
+ mov r1, r3
+ str r3, [sp, #0]
+ bl debug_screen_printf
+ ldr r0, .L18275
+ bl debug_screen_printf
+ add sp, sp, #4
+ ldr lr, [sp], #4
+ add sp, sp, #16
+ bx lr
+.L18276:
+ .align 2
+.L18275:
+ .word .LC0
+ .size debug_screen_printl, .-debug_screen_printl
+ .align 2
+ .global copy_screen
+ .type copy_screen, %function
+copy_screen:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, lr}
+ mov r0, #76800
+ bl malloc
+ ldr r3, .L18279
+ mov r2, #76800
+ ldr ip, [r3, #0]
+ mov r4, r0
+ ldr r1, [ip, #20]
+ bl memcpy
+ mov r0, r4
+ ldmfd sp!, {r4, pc}
+.L18280:
+ .align 2
+.L18279:
+ .word screen
+ .size copy_screen, .-copy_screen
+ .align 2
+ .global video_resolution_small
+ .type video_resolution_small, %function
+video_resolution_small:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, lr}
+ ldr r4, .L18286
+ ldr r3, .L18286+4
+ ldr r2, [r4, #0]
+ ldr r7, .L18286+8
+ sub sp, sp, #16
+ str r2, [r3, #0]
+ ldr r0, [r7, #0]
+ bl SDL_FreeSurface
+ mov r0, #0
+ mov r1, r0
+ bl SDL_GP2X_AllowGfxMemory
+ ldr r3, [r4, #0]
+ ldr r6, .L18286+12
+ ldr r5, .L18286+16
+ cmp r3, #0
+ mov r1, #320
+ mov r0, r1
+ mov r2, #16
+ ldrne r1, [r5, #0]
+ ldrne r0, [r6, #0]
+ mov r3, #1
+ bl SDL_SetVideoMode
+ ldr r3, .L18286+20
+ ldr ip, .L18286+24
+ str r0, [r3, #0]
+ ldr r1, [r6, #0]
+ ldr r2, [r5, #0]
+ mov r3, #16
+ mov r4, #0
+ mov r0, #1
+ str ip, [sp, #8]
+ str ip, [sp, #0]
+ str ip, [sp, #4]
+ str r4, [sp, #12]
+ bl SDL_CreateRGBSurface
+ str r0, [r7, #0]
+ mov r0, r4
+ bl SDL_ShowCursor
+ bl gp2x_load_mmuhack
+ ldr r1, [r6, #0]
+ ldr r0, [r5, #0]
+ ldr r3, .L18286+28
+ ldr r2, .L18286+32
+ str r1, [r3, #0]
+ str r0, [r2, #0]
+ add sp, sp, #16
+ ldmfd sp!, {r4, r5, r6, r7, pc}
+.L18287:
+ .align 2
+.L18286:
+ .word screen_scale
+ .word current_scale
+ .word screen
+ .word small_resolution_width
+ .word small_resolution_height
+ .word hw_screen
+ .word 65535
+ .word resolution_width
+ .word resolution_height
+ .size video_resolution_small, .-video_resolution_small
+ .align 2
+ .global video_resolution_large
+ .type video_resolution_large, %function
+video_resolution_large:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, lr}
+ ldr r3, .L18290
+ ldr r5, .L18290+4
+ mov r4, #0
+ sub sp, sp, #16
+ str r4, [r3, #0]
+ ldr r0, [r5, #0]
+ bl SDL_FreeSurface
+ mov r0, r4
+ mov r1, r4
+ bl SDL_GP2X_AllowGfxMemory
+ mov r1, #240
+ mov r2, #16
+ mov r3, #1
+ mov r0, #320
+ bl SDL_SetVideoMode
+ ldr r3, .L18290+8
+ ldr ip, .L18290+12
+ str r0, [r3, #0]
+ mov r1, #320
+ mov r2, #240
+ mov r3, #16
+ mov r0, #1
+ str ip, [sp, #8]
+ str ip, [sp, #0]
+ str ip, [sp, #4]
+ str r4, [sp, #12]
+ bl SDL_CreateRGBSurface
+ ldr r3, .L18290+16
+ mov r2, #320
+ str r2, [r3, #0]
+ ldr r3, .L18290+20
+ mov r1, #240
+ str r0, [r5, #0]
+ str r1, [r3, #0]
+ mov r0, r4
+ bl SDL_ShowCursor
+ add sp, sp, #16
+ ldmfd sp!, {r4, r5, lr}
+ b gp2x_load_mmuhack
+.L18291:
+ .align 2
+.L18290:
+ .word current_scale
+ .word screen
+ .word hw_screen
+ .word 65535
+ .word resolution_width
+ .word resolution_height
+ .size video_resolution_large, .-video_resolution_large
+ .align 2
+ .global init_video
+ .type init_video, %function
+init_video:
+ @ args = 0, pretend = 0, frame = 0
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, lr}
+ ldr r0, .L18294
+ sub sp, sp, #16
+ bl SDL_Init
+ mov r0, #0
+ mov r1, r0
+ bl SDL_GP2X_AllowGfxMemory
+ mov r1, #240
+ mov r2, #16
+ mov r3, #1
+ mov r0, #320
+ bl SDL_SetVideoMode
+ ldr r3, .L18294+4
+ ldr ip, .L18294+8
+ str r0, [r3, #0]
+ mov r4, #0
+ mov r1, #240
+ mov r2, #160
+ mov r3, #16
+ mov r0, #1
+ str ip, [sp, #8]
+ str ip, [sp, #0]
+ str ip, [sp, #4]
+ str r4, [sp, #12]
+ bl SDL_CreateRGBSurface
+ ldr r3, .L18294+12
+ str r0, [r3, #0]
+ bl gp2x_load_mmuhack
+ mov r0, r4
+ add sp, sp, #16
+ ldmfd sp!, {r4, lr}
+ b SDL_ShowCursor
+.L18295:
+ .align 2
+.L18294:
+ .word 1049120
+ .word hw_screen
+ .word 65535
+ .word screen
+ .size init_video, .-init_video
+ .align 2
+ .global flip_screen
+ .type flip_screen, %function
+flip_screen:
+ @ args = 0, pretend = 0, frame = 16
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, lr}
+ ldr r2, .L18304
+ mov r1, #0
+ ldr r0, [r2, #0]
+ sub sp, sp, #16
+ cmp r0, r1
+ mov r3, r1
+ bne .L18297
+ ldr r2, .L18304+4
+ ldr r0, .L18304+8
+ ldr ip, [r2, #0]
+ ldr r2, [r0, #0]
+ cmp ip, r2
+ beq .L18303
+.L18297:
+ ldr r2, .L18304+12
+ ldr ip, .L18304+16
+ ldr r0, [r2, #0]
+ ldr r2, [ip, #0]
+ bl SDL_UpperBlit
+.L18302:
+ add sp, sp, #16
+ ldmfd sp!, {r4, r5, r6, pc}
+.L18303:
+ ldr r2, .L18304+20
+ ldr r0, .L18304+24
+ ldr ip, [r2, #0]
+ ldr r2, [r0, #0]
+ cmp ip, r2
+ bne .L18297
+ ldr ip, .L18304+28
+ ldr r3, .L18304+12
+ ldr r1, .L18304+16
+ ldmia ip, {r4-r5}
+ str r4, [sp, #8]
+ str r5, [sp, #12]
+ ldr r4, .L18304+32
+ ldr r2, [r1, #0]
+ ldr r0, [r3, #0]
+ add r1, sp, #8
+ mov r3, sp
+ ldmia r4, {r5-r6}
+ stmia sp, {r5-r6}
+ bl SDL_UpperBlit
+ b .L18302
+.L18305:
+ .align 2
+.L18304:
+ .word screen_scale
+ .word resolution_width
+ .word small_resolution_width
+ .word screen
+ .word hw_screen
+ .word resolution_height
+ .word small_resolution_height
+ .word C.626.17650
+ .word C.627.17651
+ .size flip_screen, .-flip_screen
+ .align 2
+ .global update_screen
+ .type update_screen, %function
+update_screen:
+ @ args = 0, pretend = 0, frame = 16
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, lr}
+ ldr r2, .L18315
+ mov r1, #0
+ ldr r0, [r2, #0]
+ sub sp, sp, #16
+ cmp r0, r1
+ mov r3, r1
+ bne .L18313
+ ldr r2, .L18315+4
+ ldr r0, [r2, #0]
+ cmp r0, r1
+ bne .L18309
+ ldr r2, .L18315+8
+ ldr r0, .L18315+12
+ ldr ip, [r2, #0]
+ ldr r2, [r0, #0]
+ cmp ip, r2
+ beq .L18314
+.L18309:
+ ldr r2, .L18315+16
+ ldr ip, .L18315+20
+ ldr r0, [r2, #0]
+ ldr r2, [ip, #0]
+ bl SDL_UpperBlit
+.L18313:
+ add sp, sp, #16
+ ldmfd sp!, {r4, r5, r6, pc}
+.L18314:
+ ldr r2, .L18315+24
+ ldr r0, .L18315+28
+ ldr ip, [r2, #0]
+ ldr r2, [r0, #0]
+ cmp ip, r2
+ bne .L18309
+ ldr ip, .L18315+32
+ ldr r3, .L18315+16
+ ldr r1, .L18315+20
+ ldmia ip, {r4-r5}
+ str r4, [sp, #8]
+ str r5, [sp, #12]
+ ldr r4, .L18315+36
+ ldr r2, [r1, #0]
+ ldr r0, [r3, #0]
+ add r1, sp, #8
+ mov r3, sp
+ ldmia r4, {r5-r6}
+ stmia sp, {r5-r6}
+ bl SDL_UpperBlit
+ b .L18313
+.L18316:
+ .align 2
+.L18315:
+ .word skip_next_frame
+ .word screen_scale
+ .word resolution_width
+ .word small_resolution_width
+ .word screen
+ .word hw_screen
+ .word resolution_height
+ .word small_resolution_height
+ .word C.626.17650
+ .word C.627.17651
+ .size update_screen, .-update_screen
+ .align 2
+ .global render_scanline_conditional_tile
+ .type render_scanline_conditional_tile, %function
+render_scanline_conditional_tile:
+ @ args = 12, pretend = 0, frame = 976
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r9, .L18810
+ sub sp, sp, #976
+ ldr lr, [r9, #0]
+ mov r6, r0
+ cmp lr, #0
+ mov r8, r1
+ mov sl, r2
+ mov r7, r3
+ ldr fp, [sp, #1012]
+ ldr r0, [sp, #1016]
+ beq .L18318
+ tst r3, #31
+ bne .L18774
+.L18318:
+ mov r3, r0, lsr #6
+ and r2, r3, #3
+ ldr r3, .L18810+4
+ cmp r2, #2
+ ldrh ip, [r3, #0]
+ beq .L18660
+ cmp r2, #3
+ beq .L18775
+.L18659:
+ mov r3, ip, asl #16
+ cmp r6, r8
+ mov r3, r3, lsr #16
+ bcs .L18666
+ rsb r1, r6, r8
+ add r0, sl, r6, asl #1
+ mov ip, #0
+.L18665:
+ add ip, ip, #1
+ cmp ip, r1
+ strh r3, [r0], #2 @ movhi
+ bne .L18665
+.L18666:
+ add sp, sp, #976
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L18774:
+ ldr r1, .L18810+8
+ ldr r2, .L18810+12
+ ldrh r3, [r1, #6]
+ ldr r1, [r2, r3, asl #2]
+ cmp r1, #0
+ bne .L18776
+.L18454:
+ mov r3, r0, lsr #6
+ and r3, r3, #3
+ cmp r3, #2
+ beq .L18488
+ cmp r3, #3
+ beq .L18489
+ cmp r3, #1
+ beq .L18777
+.L18486:
+ ldr r1, .L18810+24
+ ands r3, r7, #16
+ ldr ip, [r1, #0]
+ moveq r4, r3
+ ldreq r2, .L18810+24
+ beq .L18626
+ ldr r2, .L18810+24
+ mov r4, #0
+.L18638:
+ tst ip, #4
+ mov r3, #1
+ bne .L18642
+ ands r5, r7, r3, asl ip
+ bne .L18778
+ add r4, r4, #1
+ cmp lr, r4
+ ldr ip, [r2, #4]!
+ bne .L18638
+ ldr r3, .L18810+4
+ cmp r6, r8
+ ldrh r3, [r3, #0]
+ bcs .L18666
+ rsb r1, r6, r8
+ add r0, sl, r6, asl #1
+ mov ip, r5
+.L18641:
+ add ip, ip, #1
+ cmp ip, r1
+ strh r3, [r0], #2 @ movhi
+ bne .L18641
+ b .L18666
+.L18660:
+ ldr r2, .L18810+8
+ ldrh r3, [r2, #80]
+ tst r3, #32
+ beq .L18659
+ ldrh r3, [r2, #84]
+ ldr r1, .L18810+16
+ and r3, r3, #31
+ cmp r3, #16
+ movcs r3, #16
+ orr r2, ip, ip, asl #16
+ and r1, r2, r1
+ rsb r0, r3, #16
+ rsb r2, r3, r3, asl #6
+ mul ip, r1, r0
+ add r3, r3, r2, asl #5
+ rsb r3, r3, r3, asl #16
+ ldr r1, .L18810+16
+ mov r3, r3, lsr #4
+ and r1, r3, r1
+ ldr r2, .L18810+16
+ add r1, r1, ip, lsr #4
+ and r2, r1, r2
+ orr ip, r2, r2, lsr #16
+ b .L18659
+.L18775:
+ ldr r2, .L18810+8
+ ldrh r3, [r2, #80]
+ tst r3, #32
+ beq .L18659
+ ldrh r3, [r2, #84]
+ ldr r0, .L18810+16
+ and r3, r3, #31
+ orr r2, ip, ip, asl #16
+ rsb r3, r3, #16
+ and r0, r2, r0
+ cmp r3, #0
+ movlt r3, #0
+ mul r1, r3, r0
+ ldr r2, .L18810+16
+ mov r1, r1, lsr #4
+ and r2, r1, r2
+ orr ip, r2, r2, lsr #16
+ b .L18659
+.L18776:
+ mov r3, r0, lsr #6
+ and r3, r3, #3
+ cmp r3, #2
+ beq .L18325
+ cmp r3, #3
+ beq .L18326
+ cmp r3, #1
+ beq .L18779
+.L18323:
+ ldr r5, .L18810+24
+ ands r3, r7, #16
+ ldr r2, [r5, #0]
+ moveq r4, r3
+ ldreq r1, .L18810+24
+ beq .L18452
+ ldr r1, .L18810+24
+ mov r4, #0
+.L18465:
+ tst r2, #4
+ mov r3, #1
+ bne .L18780
+ ands r3, r7, r3, asl r2
+ bne .L18781
+ add r4, r4, #1
+ cmp lr, r4
+ ldr r2, [r1, #4]!
+ bne .L18465
+ cmp r6, r8
+ bcs .L18499
+ add r5, sp, #16
+ add r2, r5, r6, asl #2
+ rsb r1, r6, r8
+ mov r0, r3
+.L18468:
+ add r3, r3, #1
+ cmp r1, r3
+ str r0, [r2], #4
+ bne .L18468
+.L18499:
+ add r0, sp, #16
+ mov r1, sl
+ mov r2, r6
+ mov r3, r8
+ bl expand_blend
+ b .L18666
+.L18452:
+ tst r2, #4
+ bne .L18451
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ bne .L18782
+.L18451:
+ add r4, r4, #1
+ cmp lr, r4
+ ldr r2, [r1, #4]!
+ bne .L18452
+ cmp r6, r8
+ bcs .L18499
+ add r0, sp, #16
+ mov r3, #0
+ add r2, r0, r6, asl #2
+ rsb r1, r6, r8
+ mov r0, r3
+.L18456:
+ add r3, r3, #1
+ cmp r3, r1
+ str r0, [r2], #4
+ bne .L18456
+ b .L18499
+.L18626:
+ tst ip, #4
+ bne .L18625
+ mov r3, #1
+ ands r3, r7, r3, asl ip
+ bne .L18783
+.L18625:
+ add r4, r4, #1
+ cmp lr, r4
+ ldr ip, [r2, #4]!
+ bne .L18626
+ ldr r3, .L18810+4
+ cmp r6, r8
+ ldrh r3, [r3, #0]
+ bcs .L18666
+ rsb r1, r6, r8
+ add r0, sl, r6, asl #1
+ mov ip, #0
+.L18629:
+ add ip, ip, #1
+ cmp ip, r1
+ strh r3, [r0], #2 @ movhi
+ bne .L18629
+ b .L18666
+.L18777:
+ tst r7, #32
+ beq .L18486
+ ldr r5, .L18810+8
+ ldr r3, .L18810+20
+ ldrh r2, [r5, #82]
+ and r3, r2, r3
+ cmp r3, #31
+ beq .L18486
+ ldrh r3, [r5, #80]
+ tst r3, #63
+ beq .L18486
+ tst r3, #16128
+ beq .L18486
+ ldr r0, .L18810+24
+ ands r3, r7, #16
+ ldr r2, [r0, #0]
+ moveq r4, r3
+ ldreq r1, .L18810+24
+ beq .L18497
+ ldr r1, .L18810+24
+ mov r5, #0
+.L18510:
+ tst r2, #4
+ mov r3, #1
+ bne .L18784
+ ands r3, r7, r3, asl r2
+ bne .L18785
+ add r5, r5, #1
+ cmp lr, r5
+ ldr r2, [r1, #4]!
+ bne .L18510
+ cmp r6, r8
+ bcs .L18499
+ add r5, sp, #16
+ add r2, r5, r6, asl #2
+ rsb r1, r6, r8
+ mov r0, r3
+.L18513:
+ add r3, r3, #1
+ cmp r1, r3
+ str r0, [r2], #4
+ bne .L18513
+ b .L18499
+.L18779:
+ tst r7, #32
+ beq .L18323
+ ldr r3, .L18810+8
+ ldrh r2, [r3, #82]
+ ldr r3, .L18810+20
+ and r3, r2, r3
+ cmp r3, #31
+ beq .L18323
+ ldr r5, .L18810+8
+ ldrh r3, [r5, #80]
+ tst r3, #63
+ beq .L18323
+ tst r3, #16128
+ beq .L18323
+ ldr r0, .L18810+24
+ ands r3, r7, #16
+ ldr r2, [r0, #0]
+ moveq r4, r3
+ ldreq r1, .L18810+24
+ beq .L18334
+ ldr r1, .L18810+24
+ mov r5, #0
+.L18347:
+ tst r2, #4
+ mov r3, #1
+ bne .L18786
+ ands r3, r7, r3, asl r2
+ bne .L18787
+ add r5, r5, #1
+ cmp lr, r5
+ ldr r2, [r1, #4]!
+ bne .L18347
+ cmp r6, r8
+ bcs .L18499
+ add r5, sp, #16
+ add r2, r5, r6, asl #2
+ rsb r1, r6, r8
+ mov r0, r3
+.L18350:
+ add r3, r3, #1
+ cmp r3, r1
+ str r0, [r2], #4
+ bne .L18350
+ b .L18499
+.L18497:
+ tst r2, #4
+ bne .L18496
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ bne .L18788
+.L18496:
+ add r4, r4, #1
+ cmp lr, r4
+ ldr r2, [r1, #4]!
+ bne .L18497
+ cmp r6, r8
+ bcs .L18499
+ add r1, sp, #16
+ mov r3, #0
+ add r2, r1, r6, asl #2
+ mov r0, r3
+ rsb r1, r6, r8
+.L18501:
+ add r3, r3, #1
+ cmp r3, r1
+ str r0, [r2], #4
+ bne .L18501
+ b .L18499
+.L18334:
+ tst r2, #4
+ bne .L18333
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ bne .L18789
+.L18333:
+ add r4, r4, #1
+ cmp lr, r4
+ ldr r2, [r1, #4]!
+ bne .L18334
+ cmp r6, r8
+ bcs .L18499
+ add r1, sp, #16
+ mov r3, #0
+ add r2, r1, r6, asl #2
+ mov r0, r3
+ rsb r1, r6, r8
+.L18338:
+ add r3, r3, #1
+ cmp r3, r1
+ str r0, [r2], #4
+ bne .L18338
+ b .L18499
+.L18488:
+ tst r7, #32
+ beq .L18486
+ ldr r5, .L18810+8
+ ldrh r3, [r5, #84]
+ tst r3, #31
+ beq .L18486
+ ldrh r3, [r5, #80]
+ tst r3, #63
+ beq .L18486
+ ldr r0, .L18810+24
+ ands r3, r7, #16
+ ldr r2, [r0, #0]
+ moveq r4, r3
+ ldreq r1, .L18810+24
+ beq .L18537
+ mov r3, #0
+ ldr r1, .L18810+24
+ str r3, [sp, #8]
+.L18550:
+ tst r2, #4
+ mov r3, #1
+ bne .L18790
+ ands r3, r7, r3, asl r2
+ bne .L18791
+ ldr r2, [sp, #8]
+ add r2, r2, #1
+ cmp lr, r2
+ str r2, [sp, #8]
+ ldr r2, [r1, #4]!
+ bne .L18550
+ cmp r6, r8
+ bcs .L18679
+ mov r2, r3
+ rsb r5, r6, r8
+ add r3, sl, r6, asl #1
+.L18553:
+ add r2, r2, #1
+ mov r0, #0 @ movhi
+ cmp r5, r2
+ strh r0, [r3], #2 @ movhi
+ bne .L18553
+.L18539:
+ ldr r3, .L18810+8
+ ldr r8, .L18810+16
+ ldrh r2, [r3, #84]
+ and r2, r2, #31
+ cmp r2, #16
+ movcs r2, #16
+ rsb r3, r2, r2, asl #6
+ add r3, r2, r3, asl #5
+ rsb r3, r3, r3, asl #16
+ mov r3, r3, lsr #4
+ cmp r5, #0
+ and r8, r3, r8
+ rsb r7, r2, #16
+ beq .L18666
+ ldr r9, .L18810+4
+ add r0, sl, r6, asl #1
+ mov r4, #0
+.L18572:
+ ldrh r3, [r0, #0]
+ ldr lr, .L18810+16
+ mov r2, r3, asl #23
+ mov r2, r2, lsr #23
+ tst r3, #512
+ mov r2, r2, asl #1
+ mov r1, r3, asl #23
+ ldrneh r3, [r2, r9]
+ mov ip, lr
+ orrne r3, r3, r3, asl #16
+ andne lr, r3, lr
+ mulne r2, lr, r7
+ mov r1, r1, lsr #23
+ mov r1, r1, asl #1
+ addne r2, r8, r2, lsr #4
+ andne ip, r2, ip
+ ldreqh r1, [r1, r9]
+ orrne r3, ip, ip, lsr #16
+ add r4, r4, #1
+ strneh r3, [r0, #0] @ movhi
+ streqh r1, [r0, #0] @ movhi
+ cmp r5, r4
+ add r0, r0, #2
+ bne .L18572
+ b .L18666
+.L18537:
+ tst r2, #4
+ bne .L18536
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ bne .L18792
+.L18536:
+ add r4, r4, #1
+ cmp lr, r4
+ ldr r2, [r1, #4]!
+ bne .L18537
+ cmp r6, r8
+ bcs .L18679
+ rsb r5, r6, r8
+ add r2, sl, r6, asl #1
+ mov r3, #0
+.L18541:
+ add r3, r3, #1
+ mov r1, #0 @ movhi
+ cmp r3, r5
+ strh r1, [r2], #2 @ movhi
+ bne .L18541
+ b .L18539
+.L18336:
+.L18325:
+ tst r7, #32
+ beq .L18323
+ ldr r5, .L18810+8
+ ldrh r3, [r5, #84]
+ tst r3, #31
+ beq .L18323
+ ldrh r3, [r5, #80]
+ tst r3, #63
+ beq .L18323
+ ldr r0, .L18810+24
+ ands r3, r7, #16
+ ldr r2, [r0, #0]
+ moveq r4, r3
+ ldreq r1, .L18810+24
+ beq .L18375
+ ldr r1, .L18810+24
+ mov r5, #0
+.L18388:
+ tst r2, #4
+ mov r3, #1
+ bne .L18793
+ ands r3, r7, r3, asl r2
+ bne .L18794
+ add r5, r5, #1
+ cmp lr, r5
+ ldr r2, [r1, #4]!
+ bne .L18388
+ cmp r6, r8
+ bcs .L18377
+ add r5, sp, #16
+ add r2, r5, r6, asl #2
+ rsb r1, r6, r8
+ mov r0, r3
+.L18391:
+ add r3, r3, #1
+ cmp r1, r3
+ str r0, [r2], #4
+ bne .L18391
+.L18377:
+ add r0, sp, #16
+ mov r1, sl
+ mov r2, r6
+ mov r3, r8
+ bl expand_brighten_partial_alpha
+ b .L18666
+.L18375:
+ tst r2, #4
+ bne .L18374
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ bne .L18795
+.L18374:
+ add r4, r4, #1
+ cmp lr, r4
+ ldr r2, [r1, #4]!
+ bne .L18375
+ cmp r6, r8
+ bcs .L18377
+ add r1, sp, #16
+ mov r3, #0
+ add r2, r1, r6, asl #2
+ mov r0, r3
+ rsb r1, r6, r8
+.L18379:
+ add r3, r3, #1
+ cmp r1, r3
+ str r0, [r2], #4
+ bne .L18379
+ b .L18377
+.L18489:
+ tst r7, #32
+ beq .L18486
+ ldr r5, .L18810+8
+ ldrh r3, [r5, #84]
+ tst r3, #31
+ beq .L18486
+ ldrh r2, [r5, #80]
+ tst r2, #63
+ beq .L18486
+ ldr r0, .L18810+24
+ ands r3, r7, #16
+ ldr r2, [r0, #0]
+ moveq r4, r3
+ ldreq r1, .L18810+24
+ beq .L18583
+ mov r3, #0
+ ldr r1, .L18810+24
+ str r3, [sp, #12]
+.L18596:
+ tst r2, #4
+ mov r3, #1
+ bne .L18796
+ ands r3, r7, r3, asl r2
+ bne .L18797
+ ldr r2, [sp, #12]
+ add r2, r2, #1
+ cmp lr, r2
+ str r2, [sp, #12]
+ ldr r2, [r1, #4]!
+ bne .L18596
+ cmp r6, r8
+ bcs .L18682
+ mov r2, r3
+ rsb r5, r6, r8
+ add r3, sl, r6, asl #1
+.L18599:
+ add r2, r2, #1
+ mov r0, #0 @ movhi
+ cmp r5, r2
+ strh r0, [r3], #2 @ movhi
+ bne .L18599
+.L18585:
+ ldr r0, .L18810+8
+ ldrh r3, [r0, #84]
+ and r3, r3, #31
+ rsb r3, r3, #16
+ cmp r3, #0
+ movge r7, r3
+ movlt r7, #0
+ cmp r5, #0
+ beq .L18666
+ ldr r8, .L18810+4
+ add r0, sl, r6, asl #1
+ mov r4, #0
+.L18618:
+ ldrh r3, [r0, #0]
+ ldr lr, .L18810+16
+ mov r2, r3, asl #23
+ mov r2, r2, lsr #23
+ tst r3, #512
+ mov r2, r2, asl #1
+ mov r1, r3, asl #23
+ ldrneh r3, [r2, r8]
+ mov ip, lr
+ orrne r3, r3, r3, asl #16
+ andne lr, r3, lr
+ mulne r2, r7, lr
+ mov r1, r1, lsr #23
+ mov r1, r1, asl #1
+ movne r2, r2, lsr #4
+ andne ip, r2, ip
+ ldreqh r1, [r1, r8]
+ orrne r3, ip, ip, lsr #16
+ add r4, r4, #1
+ strneh r3, [r0, #0] @ movhi
+ streqh r1, [r0, #0] @ movhi
+ cmp r5, r4
+ add r0, r0, #2
+ bne .L18618
+ b .L18666
+.L18583:
+ tst r2, #4
+ bne .L18582
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ bne .L18798
+.L18582:
+ add r4, r4, #1
+ cmp lr, r4
+ ldr r2, [r1, #4]!
+ bne .L18583
+ cmp r6, r8
+ bcs .L18682
+ rsb r5, r6, r8
+ add r2, sl, r6, asl #1
+ mov r3, #0
+.L18587:
+ add r3, r3, #1
+ mov r1, #0 @ movhi
+ cmp r5, r3
+ strh r1, [r2], #2 @ movhi
+ bne .L18587
+ b .L18585
+.L18326:
+ tst r7, #32
+ beq .L18323
+ ldr r5, .L18810+8
+ ldrh r3, [r5, #84]
+ tst r3, #31
+ beq .L18323
+ ldrh r3, [r5, #80]
+ tst r3, #63
+ beq .L18323
+ ldr r0, .L18810+24
+ ands r3, r7, #16
+ ldr r2, [r0, #0]
+ moveq r4, r3
+ ldreq r1, .L18810+24
+ beq .L18415
+ ldr r1, .L18810+24
+ mov r5, #0
+.L18428:
+ tst r2, #4
+ mov r3, #1
+ bne .L18799
+ ands r3, r7, r3, asl r2
+ bne .L18800
+ add r5, r5, #1
+ cmp lr, r5
+ ldr r2, [r1, #4]!
+ bne .L18428
+ cmp r6, r8
+ bcs .L18417
+ add r5, sp, #16
+ add r2, r5, r6, asl #2
+ rsb r1, r6, r8
+ mov r0, r3
+.L18431:
+ add r3, r3, #1
+ cmp r3, r1
+ str r0, [r2], #4
+ bne .L18431
+.L18417:
+ add r0, sp, #16
+ mov r1, sl
+ mov r2, r6
+ mov r3, r8
+ bl expand_darken_partial_alpha
+ b .L18666
+.L18415:
+ tst r2, #4
+ bne .L18414
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ bne .L18801
+.L18414:
+ add r4, r4, #1
+ cmp lr, r4
+ ldr r2, [r1, #4]!
+ bne .L18415
+ cmp r6, r8
+ bcs .L18417
+ add r1, sp, #16
+ mov r3, #0
+ add r2, r1, r6, asl #2
+ mov r0, r3
+ rsb r1, r6, r8
+.L18419:
+ add r3, r3, #1
+ cmp r1, r3
+ str r0, [r2], #4
+ bne .L18419
+ b .L18417
+.L18780:
+ cmp r6, r8
+ addcc r0, sp, #16
+ movcc r3, #0
+ addcc r1, r0, r6, asl #2
+ movcc ip, r3
+ rsbcc r0, r6, r8
+ bcs .L18472
+.L18474:
+ add r3, r3, #1
+ cmp r3, r0
+ str ip, [r1], #4
+ bne .L18474
+.L18472:
+ tst fp, #64
+ bic r0, r2, #4
+ beq .L18475
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_partial_alpha_1D
+.L18477:
+ ldr r3, [r9, #0]
+ add r5, r4, #1
+ cmp r5, r3
+ bcs .L18499
+ ldr r2, .L18810+24
+ and fp, fp, #64
+ add r4, r2, r4, asl #2
+ b .L18479
+.L18802:
+ bic ip, ip, #4
+ cmp fp, #0
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ mov r0, ip
+ beq .L18482
+ bl render_scanline_obj_partial_alpha_1D
+.L18484:
+ ldr r3, [r9, #0]
+ add r5, r5, #1
+ cmp r3, r5
+ add r4, r4, #4
+ bls .L18499
+.L18479:
+ ldr ip, [r4, #4]
+ tst ip, #4
+ bne .L18802
+ mov r3, #1
+ ands r3, r7, r3, asl ip
+ ldr r3, [sp, #1020]
+ mov r0, ip
+ mov r1, r6
+ add ip, r3, ip, asl #5
+ mov r2, r8
+ add r3, sp, #16
+ beq .L18484
+ mov lr, pc
+ ldr pc, [ip, #28]
+ b .L18484
+.L18482:
+ mov r0, ip
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_partial_alpha_2D
+ b .L18484
+.L18642:
+ ldr r3, .L18810+4
+ cmp r6, r8
+ ldrh r0, [r3, #0]
+ bcs .L18645
+ add r2, sl, r6, asl #1
+ mov r3, #0
+ rsb r1, r6, r8
+.L18647:
+ add r3, r3, #1
+ cmp r3, r1
+ strh r0, [r2], #2 @ movhi
+ bne .L18647
+.L18645:
+ tst fp, #64
+ bic r0, ip, #4
+ beq .L18648
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ bl render_scanline_obj_normal_1D
+.L18650:
+ ldr r3, [r9, #0]
+ add r5, r4, #1
+ cmp r5, r3
+ bcs .L18666
+ ldr r0, .L18810+24
+ and fp, fp, #64
+ add r4, r0, r4, asl #2
+ b .L18652
+.L18803:
+ bic ip, ip, #4
+ cmp fp, #0
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ mov r0, ip
+ beq .L18655
+ bl render_scanline_obj_normal_1D
+.L18657:
+ ldr r3, [r9, #0]
+ add r5, r5, #1
+ cmp r3, r5
+ add r4, r4, #4
+ bls .L18666
+.L18652:
+ ldr ip, [r4, #4]
+ tst ip, #4
+ bne .L18803
+ mov r3, #1
+ ands r3, r7, r3, asl ip
+ ldr r1, [sp, #1020]
+ mov r0, ip
+ mov r2, r8
+ add ip, r1, ip, asl #5
+ mov r3, sl
+ mov r1, r6
+ beq .L18657
+ mov lr, pc
+ ldr pc, [ip, #4]
+ b .L18657
+.L18655:
+ mov r0, ip
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ bl render_scanline_obj_normal_2D
+ b .L18657
+.L18783:
+ mov r3, sl
+ ldr r5, [sp, #1020]
+ mov r0, ip
+ mov r1, r6
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [r5, ip, asl #5]
+ ldr r3, [r9, #0]
+ add r5, r4, #1
+ cmp r5, r3
+ bcs .L18666
+ ldr r0, .L18810+24
+ add r4, r0, r4, asl #2
+ b .L18633
+.L18634:
+ ldr r3, [r9, #0]
+ add r4, r4, #4
+ cmp r3, r5
+ bls .L18666
+.L18633:
+ ldr r2, [r4, #4]
+ add r5, r5, #1
+ tst r2, #4
+ bne .L18634
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ mov r3, sl
+ mov r1, r6
+ mov r2, r8
+ beq .L18634
+ mov lr, pc
+ ldr pc, [ip, #4]
+ b .L18634
+.L18781:
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ add r3, sp, #16
+ mov r1, r6
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #24]
+ b .L18477
+.L18778:
+ mov r0, ip
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ ldr r5, [sp, #1020]
+ mov lr, pc
+ ldr pc, [r5, ip, asl #5]
+ b .L18650
+.L18782:
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ add r3, sp, #16
+ mov r1, r6
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #24]
+ ldr r3, [r9, #0]
+ add r5, r4, #1
+ cmp r5, r3
+ bcs .L18499
+ ldr r2, .L18810+24
+ add r4, r2, r4, asl #2
+ b .L18460
+.L18461:
+ ldr r3, [r9, #0]
+ add r4, r4, #4
+ cmp r3, r5
+ bls .L18499
+.L18460:
+ ldr r2, [r4, #4]
+ add r5, r5, #1
+ tst r2, #4
+ bne .L18461
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ ldr r3, [sp, #1020]
+ mov r0, r2
+ add ip, r3, r2, asl #5
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ beq .L18461
+ mov lr, pc
+ ldr pc, [ip, #28]
+ b .L18461
+.L18648:
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ bl render_scanline_obj_normal_2D
+ b .L18650
+.L18475:
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_partial_alpha_2D
+ b .L18477
+.L18792:
+ ldr r3, [sp, #1020]
+ mov r0, r2
+ add ip, r3, r2, asl #5
+ mov r1, r6
+ mov r3, sl
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #16]
+ ldr r3, [r9, #0]
+ add r5, r4, #1
+ cmp r5, r3
+ bcs .L18679
+ ldr r0, .L18810+24
+ add r4, r0, r4, asl #2
+.L18545:
+ ldr r2, [r4, #4]
+ add r5, r5, #1
+ tst r2, #4
+ add r4, r4, #4
+ bne .L18546
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ mov r3, sl
+ mov r1, r6
+ mov r2, r8
+ movne lr, pc
+ ldrne pc, [ip, #20]
+.L18546:
+ ldr r3, [r9, #0]
+ cmp r3, r5
+ bhi .L18545
+.L18679:
+ rsb r5, r6, r8
+ b .L18539
+.L18795:
+ ldr r3, [sp, #1020]
+ mov r0, r2
+ add ip, r3, r2, asl #5
+ mov r1, r6
+ add r3, sp, #16
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #24]
+ ldr r3, [r9, #0]
+ add r5, r4, #1
+ cmp r5, r3
+ bcs .L18377
+ ldr r0, .L18810+24
+ add r4, r0, r4, asl #2
+.L18383:
+ ldr r2, [r4, #4]
+ add r5, r5, #1
+ tst r2, #4
+ bne .L18384
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ add r3, sp, #16
+ mov r1, r6
+ mov r2, r8
+ movne lr, pc
+ ldrne pc, [ip, #28]
+.L18384:
+ ldr r3, [r9, #0]
+ add r4, r4, #4
+ cmp r3, r5
+ bhi .L18383
+ b .L18377
+.L18791:
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ mov r3, sl
+ mov r1, r6
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #16]
+ rsb r5, r6, r8
+.L18562:
+ ldr r2, [sp, #8]
+ ldr r3, [r9, #0]
+ add r4, r2, #1
+ cmp r4, r3
+ bcs .L18539
+ ldr r3, .L18810+24
+ and fp, fp, #64
+ add r3, r3, r2, asl #2
+ mov r0, r3
+ str r3, [sp, #0]
+ b .L18564
+.L18804:
+ bic ip, ip, #4
+ cmp fp, #0
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ mov r0, ip
+ beq .L18567
+ bl render_scanline_obj_color16_1D
+.L18569:
+ ldr r2, [sp, #0]
+ ldr r3, [r9, #0]
+ add r4, r4, #1
+ add r2, r2, #4
+ cmp r3, r4
+ str r2, [sp, #0]
+ bls .L18539
+ ldr r0, [sp, #0]
+.L18564:
+ ldr ip, [r0, #4]
+ tst ip, #4
+ bne .L18804
+ mov r3, #1
+ ands r3, r7, r3, asl ip
+ ldr r1, [sp, #1020]
+ mov r0, ip
+ mov r2, r8
+ add ip, r1, ip, asl #5
+ mov r3, sl
+ mov r1, r6
+ beq .L18569
+ mov lr, pc
+ ldr pc, [ip, #20]
+ b .L18569
+.L18567:
+ mov r0, ip
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ bl render_scanline_obj_color16_2D
+ b .L18569
+.L18811:
+ .align 2
+.L18810:
+ .word layer_count
+ .word palette_ram_converted
+ .word io_registers
+ .word obj_alpha_count
+ .word 132184095
+ .word 7967
+ .word layer_order
+.L18790:
+ cmp r6, r8
+ rsbcs r5, r6, r8
+ bcs .L18557
+ add r1, sl, r6, asl #1
+ mov r3, #0
+ rsb r5, r6, r8
+.L18559:
+ add r3, r3, #1
+ mov r0, #0 @ movhi
+ cmp r5, r3
+ strh r0, [r1], #2 @ movhi
+ bne .L18559
+.L18557:
+ tst fp, #64
+ bic r0, r2, #4
+ beq .L18560
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ bl render_scanline_obj_color16_1D
+ b .L18562
+.L18794:
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ add r3, sp, #16
+ mov r1, r6
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #24]
+.L18400:
+ ldr r3, [r9, #0]
+ add r4, r5, #1
+ cmp r4, r3
+ bcs .L18377
+ ldr r2, .L18810+24
+ and fp, fp, #64
+ add r5, r2, r5, asl #2
+ b .L18402
+.L18805:
+ bic ip, ip, #4
+ cmp fp, #0
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ mov r0, ip
+ beq .L18405
+ bl render_scanline_obj_partial_alpha_1D
+.L18407:
+ ldr r3, [r9, #0]
+ add r4, r4, #1
+ cmp r3, r4
+ add r5, r5, #4
+ bls .L18377
+.L18402:
+ ldr ip, [r5, #4]
+ tst ip, #4
+ bne .L18805
+ mov r3, #1
+ ands r3, r7, r3, asl ip
+ ldr r3, [sp, #1020]
+ mov r0, ip
+ mov r1, r6
+ add ip, r3, ip, asl #5
+ mov r2, r8
+ add r3, sp, #16
+ beq .L18407
+ mov lr, pc
+ ldr pc, [ip, #28]
+ b .L18407
+.L18405:
+ mov r0, ip
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_partial_alpha_2D
+ b .L18407
+.L18793:
+ cmp r6, r8
+ addcc r0, sp, #16
+ movcc r3, #0
+ addcc r1, r0, r6, asl #2
+ movcc ip, r3
+ rsbcc r0, r6, r8
+ bcs .L18395
+.L18397:
+ add r3, r3, #1
+ cmp r0, r3
+ str ip, [r1], #4
+ bne .L18397
+.L18395:
+ tst fp, #64
+ bic r0, r2, #4
+ beq .L18398
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_partial_alpha_1D
+ b .L18400
+.L18801:
+ ldr r3, [sp, #1020]
+ mov r0, r2
+ add ip, r3, r2, asl #5
+ mov r1, r6
+ add r3, sp, #16
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #24]
+ ldr r3, [r9, #0]
+ add r5, r4, #1
+ cmp r5, r3
+ bcs .L18417
+ ldr r0, .L18810+24
+ add r4, r0, r4, asl #2
+.L18423:
+ ldr r2, [r4, #4]
+ add r5, r5, #1
+ tst r2, #4
+ bne .L18424
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ add r3, sp, #16
+ mov r1, r6
+ mov r2, r8
+ movne lr, pc
+ ldrne pc, [ip, #28]
+.L18424:
+ ldr r3, [r9, #0]
+ add r4, r4, #4
+ cmp r3, r5
+ bhi .L18423
+ b .L18417
+.L18560:
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ bl render_scanline_obj_color16_2D
+ b .L18562
+.L18398:
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_partial_alpha_2D
+ b .L18400
+.L18798:
+ ldr r3, [sp, #1020]
+ mov r0, r2
+ add ip, r3, r2, asl #5
+ mov r1, r6
+ mov r3, sl
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #16]
+ ldr r3, [r9, #0]
+ add r5, r4, #1
+ cmp r5, r3
+ bcs .L18682
+ ldr r0, .L18810+24
+ add r4, r0, r4, asl #2
+.L18591:
+ ldr r2, [r4, #4]
+ add r5, r5, #1
+ tst r2, #4
+ add r4, r4, #4
+ bne .L18592
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ mov r3, sl
+ mov r1, r6
+ mov r2, r8
+ movne lr, pc
+ ldrne pc, [ip, #20]
+.L18592:
+ ldr r3, [r9, #0]
+ cmp r3, r5
+ bhi .L18591
+.L18682:
+ rsb r5, r6, r8
+ b .L18585
+.L18797:
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ mov r3, sl
+ mov r1, r6
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #16]
+ rsb r5, r6, r8
+.L18608:
+ ldr r2, [sp, #12]
+ ldr r3, [r9, #0]
+ add r4, r2, #1
+ cmp r4, r3
+ bcs .L18585
+ ldr r3, .L18810+24
+ and fp, fp, #64
+ add r3, r3, r2, asl #2
+ str r3, [sp, #4]
+ b .L18610
+.L18806:
+ bic ip, ip, #4
+ cmp fp, #0
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ mov r0, ip
+ beq .L18613
+ bl render_scanline_obj_color16_1D
+.L18615:
+ ldr r2, [sp, #4]
+ ldr r3, [r9, #0]
+ add r4, r4, #1
+ add r2, r2, #4
+ cmp r3, r4
+ str r2, [sp, #4]
+ bls .L18585
+.L18610:
+ ldr r0, [sp, #4]
+ ldr ip, [r0, #4]
+ tst ip, #4
+ bne .L18806
+ mov r3, #1
+ ands r3, r7, r3, asl ip
+ ldr r1, [sp, #1020]
+ mov r0, ip
+ mov r2, r8
+ add ip, r1, ip, asl #5
+ mov r3, sl
+ mov r1, r6
+ beq .L18615
+ mov lr, pc
+ ldr pc, [ip, #20]
+ b .L18615
+.L18613:
+ mov r0, ip
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ bl render_scanline_obj_color16_2D
+ b .L18615
+.L18796:
+ cmp r6, r8
+ rsbcs r5, r6, r8
+ bcs .L18603
+ add r1, sl, r6, asl #1
+ mov r3, #0
+ rsb r5, r6, r8
+.L18605:
+ add r3, r3, #1
+ mov r0, #0 @ movhi
+ cmp r3, r5
+ strh r0, [r1], #2 @ movhi
+ bne .L18605
+.L18603:
+ tst fp, #64
+ bic r0, r2, #4
+ beq .L18606
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ bl render_scanline_obj_color16_1D
+ b .L18608
+.L18789:
+ ldr r3, [sp, #1020]
+ mov r0, r2
+ add ip, r3, r2, asl #5
+ mov r1, r6
+ add r3, sp, #16
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #8]
+ ldr r3, [r9, #0]
+ add r5, r4, #1
+ cmp r5, r3
+ bcs .L18499
+ ldr r0, .L18810+24
+ add r4, r0, r4, asl #2
+ b .L18342
+.L18343:
+ ldr r3, [r9, #0]
+ add r4, r4, #4
+ cmp r3, r5
+ bls .L18499
+.L18342:
+ ldr r2, [r4, #4]
+ add r5, r5, #1
+ tst r2, #4
+ bne .L18343
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ add r3, sp, #16
+ mov r1, r6
+ mov r2, r8
+ beq .L18343
+ mov lr, pc
+ ldr pc, [ip, #12]
+ b .L18343
+.L18787:
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ add r3, sp, #16
+ mov r1, r6
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #8]
+.L18359:
+ ldr r3, [r9, #0]
+ add r4, r5, #1
+ cmp r4, r3
+ bcs .L18499
+ ldr r2, .L18810+24
+ and fp, fp, #64
+ add r5, r2, r5, asl #2
+ b .L18361
+.L18807:
+ bic ip, ip, #4
+ cmp fp, #0
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ mov r0, ip
+ beq .L18364
+ bl render_scanline_obj_alpha_obj_1D
+.L18366:
+ ldr r3, [r9, #0]
+ add r4, r4, #1
+ cmp r3, r4
+ add r5, r5, #4
+ bls .L18499
+.L18361:
+ ldr ip, [r5, #4]
+ tst ip, #4
+ bne .L18807
+ mov r3, #1
+ ands r3, r7, r3, asl ip
+ ldr r3, [sp, #1020]
+ mov r0, ip
+ mov r1, r6
+ add ip, r3, ip, asl #5
+ mov r2, r8
+ add r3, sp, #16
+ beq .L18366
+ mov lr, pc
+ ldr pc, [ip, #12]
+ b .L18366
+.L18364:
+ mov r0, ip
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_alpha_obj_2D
+ b .L18366
+.L18786:
+ cmp r6, r8
+ addcc r0, sp, #16
+ movcc r3, #0
+ addcc r1, r0, r6, asl #2
+ movcc ip, r3
+ rsbcc r0, r6, r8
+ bcs .L18354
+.L18356:
+ add r3, r3, #1
+ cmp r3, r0
+ str ip, [r1], #4
+ bne .L18356
+.L18354:
+ tst fp, #64
+ bic r0, r2, #4
+ beq .L18357
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_alpha_obj_1D
+ b .L18359
+.L18784:
+ cmp r6, r8
+ addcc r0, sp, #16
+ movcc r3, #0
+ addcc r1, r0, r6, asl #2
+ movcc ip, r3
+ rsbcc r0, r6, r8
+ bcs .L18517
+.L18519:
+ add r3, r3, #1
+ cmp r3, r0
+ str ip, [r1], #4
+ bne .L18519
+.L18517:
+ tst fp, #64
+ bic r0, r2, #4
+ beq .L18520
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_alpha_obj_1D
+.L18522:
+ ldr r3, [r9, #0]
+ add r4, r5, #1
+ cmp r4, r3
+ bcs .L18499
+ ldr r2, .L18810+24
+ and fp, fp, #64
+ add r5, r2, r5, asl #2
+ b .L18524
+.L18808:
+ bic ip, ip, #4
+ cmp fp, #0
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ mov r0, ip
+ beq .L18527
+ bl render_scanline_obj_alpha_obj_1D
+.L18529:
+ ldr r3, [r9, #0]
+ add r4, r4, #1
+ cmp r3, r4
+ add r5, r5, #4
+ bls .L18499
+.L18524:
+ ldr ip, [r5, #4]
+ tst ip, #4
+ bne .L18808
+ mov r3, #1
+ ands r3, r7, r3, asl ip
+ ldr r3, [sp, #1020]
+ mov r0, ip
+ mov r1, r6
+ add ip, r3, ip, asl #5
+ mov r2, r8
+ add r3, sp, #16
+ beq .L18529
+ mov lr, pc
+ ldr pc, [ip, #12]
+ b .L18529
+.L18788:
+ ldr r3, [sp, #1020]
+ mov r0, r2
+ add ip, r3, r2, asl #5
+ mov r1, r6
+ add r3, sp, #16
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #8]
+ ldr r3, [r9, #0]
+ add r5, r4, #1
+ cmp r5, r3
+ bcs .L18499
+ ldr r0, .L18810+24
+ add r4, r0, r4, asl #2
+ b .L18505
+.L18506:
+ ldr r3, [r9, #0]
+ add r4, r4, #4
+ cmp r3, r5
+ bls .L18499
+.L18505:
+ ldr r2, [r4, #4]
+ add r5, r5, #1
+ tst r2, #4
+ bne .L18506
+ mov r3, #1
+ ands r3, r7, r3, asl r2
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ add r3, sp, #16
+ mov r1, r6
+ mov r2, r8
+ beq .L18506
+ mov lr, pc
+ ldr pc, [ip, #12]
+ b .L18506
+.L18527:
+ mov r0, ip
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_alpha_obj_2D
+ b .L18529
+.L18520:
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_alpha_obj_2D
+ b .L18522
+.L18357:
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_alpha_obj_2D
+ b .L18359
+.L18800:
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ add r3, sp, #16
+ mov r1, r6
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #24]
+.L18440:
+ ldr r3, [r9, #0]
+ add r4, r5, #1
+ cmp r4, r3
+ bcs .L18417
+ ldr r2, .L18810+24
+ and fp, fp, #64
+ add r5, r2, r5, asl #2
+ b .L18442
+.L18809:
+ bic ip, ip, #4
+ cmp fp, #0
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ mov r0, ip
+ beq .L18445
+ bl render_scanline_obj_partial_alpha_1D
+.L18447:
+ ldr r3, [r9, #0]
+ add r4, r4, #1
+ cmp r3, r4
+ add r5, r5, #4
+ bls .L18417
+.L18442:
+ ldr ip, [r5, #4]
+ tst ip, #4
+ bne .L18809
+ mov r3, #1
+ ands r3, r7, r3, asl ip
+ ldr r3, [sp, #1020]
+ mov r0, ip
+ mov r1, r6
+ add ip, r3, ip, asl #5
+ mov r2, r8
+ add r3, sp, #16
+ beq .L18447
+ mov lr, pc
+ ldr pc, [ip, #28]
+ b .L18447
+.L18445:
+ mov r0, ip
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_partial_alpha_2D
+ b .L18447
+.L18799:
+ cmp r6, r8
+ addcc r0, sp, #16
+ movcc r3, #0
+ addcc r1, r0, r6, asl #2
+ movcc ip, r3
+ rsbcc r0, r6, r8
+ bcs .L18435
+.L18437:
+ add r3, r3, #1
+ cmp r3, r0
+ str ip, [r1], #4
+ bne .L18437
+.L18435:
+ tst fp, #64
+ bic r0, r2, #4
+ beq .L18438
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_partial_alpha_1D
+ b .L18440
+.L18785:
+ ldr r1, [sp, #1020]
+ mov r0, r2
+ add ip, r1, r2, asl #5
+ add r3, sp, #16
+ mov r1, r6
+ mov r2, r8
+ mov lr, pc
+ ldr pc, [ip, #8]
+ b .L18522
+.L18606:
+ mov r1, r6
+ mov r2, r8
+ mov r3, sl
+ bl render_scanline_obj_color16_2D
+ b .L18608
+.L18438:
+ mov r1, r6
+ mov r2, r8
+ add r3, sp, #16
+ bl render_scanline_obj_partial_alpha_2D
+ b .L18440
+ .size render_scanline_conditional_tile, .-render_scanline_conditional_tile
+ .align 2
+ .global render_scanline_obj_copy_tile_2D
+ .type render_scanline_obj_copy_tile_2D, %function
+render_scanline_obj_copy_tile_2D:
+ @ args = 0, pretend = 0, frame = 596
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r5, .L19654
+ add r0, r0, r0, asl #2
+ ldrh r4, [r5, #6]
+ ldr ip, .L19654+4
+ add r0, r4, r0, asl #5
+ ldrh r6, [r5, #0]
+ sub sp, sp, #608
+ ldr ip, [ip, r0, asl #2]
+ str r6, [sp, #56]
+ str ip, [sp, #80]
+ cmp ip, #0
+ ldr ip, [sp, #56]
+ ldrh r6, [r5, #74]
+ str r4, [sp, #76]
+ ldr lr, .L19654+8
+ and r4, ip, #7
+ ldr ip, .L19654+12
+ ldrh r5, [r5, #80]
+ add r4, ip, r4, asl #7
+ add r0, lr, r0, asl #7
+ mov r6, r6, lsr #8
+ str r4, [sp, #64]
+ str r0, [sp, #84]
+ str r1, [sp, #28]
+ str r2, [sp, #24]
+ str r3, [sp, #20]
+ str r6, [sp, #60]
+ str r5, [sp, #52]
+ beq .L19604
+ rsb r0, r1, r2
+ add lr, r3, r1, asl #1
+ mov r1, #0
+ mov r2, r1
+ str lr, [sp, #104]
+ str r0, [sp, #124]
+ str r1, [sp, #72]
+ b .L18815
+.L18819:
+ ldr lr, [sp, #72]
+ ldr r0, [sp, #80]
+ add lr, lr, #1
+ cmp r0, lr
+ str lr, [sp, #72]
+ beq .L19604
+ ldr r2, [sp, #72]
+.L18815:
+ ldr r4, [sp, #84]
+ ldr r5, .L19654+16
+ ldrb r3, [r2, r4] @ zero_extendqisi2
+ ldr lr, .L19654+20
+ mov r3, r3, asl #3
+ ldrh r6, [r3, r5]
+ add r3, r3, r5
+ ldrh r7, [r3, #2]
+ mov r9, r6, lsr #12
+ and r2, r9, #12
+ orr sl, r2, r7, lsr #14
+ mov r1, r7, asl #23
+ ldr fp, [lr, sl, asl #2]
+ ands ip, r6, #512
+ mov r8, r1, asr #23
+ ldr r0, [sp, #24]
+ ldr r5, [sp, #28]
+ addne r1, r8, fp, asl #1
+ addeq r1, r8, fp
+ ldr r2, [sp, #28]
+ cmp r8, r5
+ movcs r5, r8
+ cmp r1, r0
+ movcs r1, r0
+ str ip, [sp, #32]
+ ldrh ip, [r3, #4]
+ cmp r0, r5
+ movls r3, #0
+ movhi r3, #1
+ cmp r2, r1
+ movcs r3, #0
+ cmp r3, #0
+ beq .L18819
+ ldr lr, [sp, #56]
+ add r4, sp, #128
+ str lr, [sp, #0]
+ ldr lr, [sp, #52]
+ mov r0, r5
+ str lr, [sp, #4]
+ ldr lr, [sp, #64]
+ ldr r3, [sp, #60]
+ mov r2, r4
+ str ip, [sp, #12]
+ str lr, [sp, #8]
+ bl render_scanline_conditional_tile
+ and r0, r6, #255
+ cmp r0, #160
+ ldr r3, .L19654+24
+ add r5, r4, r5, asl #1
+ subgt r0, r0, #256
+ tst r6, #256
+ str r5, [sp, #68]
+ ldr ip, [sp, #12]
+ ldr sl, [r3, sl, asl #2]
+ beq .L18823
+ tst r6, #8192
+ beq .L18825
+ mov r3, r7, lsr #4
+ ldr r2, .L19654+16
+ and r3, r3, #992
+ add r3, r3, r2
+ ldr r1, [sp, #32]
+ ldrh r4, [r3, #30]
+ cmp r1, #0
+ add r1, sl, sl, lsr #31
+ ldrh r5, [r3, #6]
+ add r2, fp, fp, lsr #31
+ str r4, [sp, #40]
+ mov r4, r1, asr #1
+ ldr r1, [sp, #28]
+ mov lr, r2, asr #1
+ str r5, [sp, #36]
+ moveq r9, fp
+ moveq r7, lr
+ moveq r5, r4
+ movne r9, fp, asl #1
+ movne r7, lr, asl #1
+ movne r5, r4, asl #1
+ cmp r8, r1
+ ldrh r2, [r3, #14]
+ ldrh r6, [r3, #22]
+ bge .L18830
+ rsb r1, r8, r1
+ rsb r9, r1, r9
+ cmp r9, #0
+ ble .L18819
+ ldr r8, [sp, #28]
+ rsb r7, r1, r7
+.L18830:
+ ldr r1, [sp, #24]
+ add r3, r8, r9
+ cmp r3, r1
+ bge .L19632
+.L18833:
+ add r0, r0, r5
+ ldr r5, [sp, #36]
+ mov r2, r2, asl #16
+ mov r3, r5, asl #16
+ ldr r5, [sp, #40]
+ mov r3, r3, asr #16
+ mov r1, r5, asl #16
+ str r3, [sp, #88]
+ mov r5, r2, asr #16
+ ldr r3, [sp, #76]
+ ldr r2, [sp, #20]
+ mov lr, lr, asl #8
+ cmp r6, #0
+ str lr, [sp, #112]
+ mov r1, r1, asr #16
+ mov lr, r4, asl #8
+ add r8, r2, r8, asl #1
+ rsb r0, r0, r3
+ beq .L19633
+ mov r3, ip, asl #22
+ ldr r2, .L19654+28
+ mov r3, r3, lsr #22
+ add r3, r2, r3, asl #5
+ cmp r9, #0
+ str r3, [sp, #120]
+ ble .L18819
+ mov r3, r6, asl #16
+ mul r2, r0, r1
+ mov r6, r3, asr #16
+ mul r3, r0, r5
+ ldr r0, [sp, #88]
+ mul r1, r6, r7
+ mul r0, r7, r0
+ ldr ip, [sp, #112]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add r5, ip, r3
+ add r4, lr, r2
+ mov ip, r4, asr #8
+ mov lr, r5, asr #8
+ cmp lr, fp
+ cmpcc ip, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r7, r3
+ bcc .L19634
+.L18851:
+ ldr lr, [sp, #88]
+ ldr r0, [sp, #68]
+ add r7, r7, #1
+ add r5, r5, lr
+ add r4, r4, r6
+ add r0, r0, #2
+ cmp r9, r7
+ mov lr, r5, asr #8
+ mov ip, r4, asr #8
+ add r8, r8, #2
+ str r0, [sp, #68]
+ beq .L18819
+ cmp lr, fp
+ cmpcc ip, sl
+ bcs .L18851
+ cmp ip, sl
+ cmpcc lr, fp
+ bcs .L18819
+.L19635:
+ ldr r1, [sp, #88]
+ and r3, ip, #7
+ mov r2, lr, asr #3
+ mov r3, r3, asl #3
+ add r5, r5, r1
+ add r3, r3, r2, asl #6
+ mov r1, ip, asr #3
+ ldr r2, [sp, #120]
+ add r3, r3, r1, asl #10
+ add r3, r3, r2
+ and r0, lr, #7
+ ldrb r2, [r3, r0] @ zero_extendqisi2
+ ldr r0, [sp, #68]
+ cmp r2, #0
+ ldrne r3, [sp, #68]
+ add r7, r7, #1
+ ldrneh r3, [r3, #0]
+ add r4, r4, r6
+ strneh r3, [r8, #0] @ movhi
+ add r0, r0, #2
+ cmp r9, r7
+ mov ip, r4, asr #8
+ mov lr, r5, asr #8
+ add r8, r8, #2
+ str r0, [sp, #68]
+ ble .L18819
+.L18854:
+ cmp ip, sl
+ cmpcc lr, fp
+ bcc .L19635
+ b .L18819
+.L18823:
+ ldr r4, [sp, #76]
+ tst r7, #8192
+ rsb r0, r0, r4
+ rsbne r3, r0, sl
+ subne r0, r3, #1
+ mov r2, r7, asl #19
+ and r3, r9, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L18819
+ .p2align 2
+.L18903:
+ .word .L18899
+ .word .L18900
+ .word .L18901
+ .word .L18902
+.L19604:
+ add sp, sp, #608
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L18825:
+ mov r3, r7, lsr #4
+ ldr r2, .L19654+16
+ and r3, r3, #992
+ add r3, r3, r2
+ ldr r1, [sp, #32]
+ ldrh r4, [r3, #30]
+ cmp r1, #0
+ add r1, sl, sl, lsr #31
+ ldrh r5, [r3, #6]
+ add r2, fp, fp, lsr #31
+ str r4, [sp, #48]
+ mov r4, r1, asr #1
+ ldr r1, [sp, #28]
+ mov lr, r2, asr #1
+ str r5, [sp, #44]
+ moveq r6, fp
+ moveq r7, lr
+ moveq r5, r4
+ movne r6, fp, asl #1
+ movne r7, lr, asl #1
+ movne r5, r4, asl #1
+ cmp r8, r1
+ ldrh r2, [r3, #14]
+ ldrh r9, [r3, #22]
+ bge .L18862
+ rsb r1, r8, r1
+ rsb r6, r1, r6
+ cmp r6, #0
+ ble .L18819
+ ldr r8, [sp, #28]
+ rsb r7, r1, r7
+.L18862:
+ ldr r1, [sp, #24]
+ add r3, r8, r6
+ cmp r3, r1
+ bge .L19636
+.L18865:
+ add r0, r0, r5
+ ldr r5, [sp, #44]
+ mov r2, r2, asl #16
+ mov r3, r5, asl #16
+ mov r3, r3, asr #16
+ mov r2, r2, asr #16
+ ldr r5, [sp, #48]
+ str r3, [sp, #92]
+ str r2, [sp, #96]
+ ldr r3, [sp, #76]
+ ldr r2, [sp, #20]
+ mov lr, lr, asl #8
+ mov r1, r5, asl #16
+ cmp r9, #0
+ str lr, [sp, #108]
+ mov r1, r1, asr #16
+ mov lr, r4, asl #8
+ add r8, r2, r8, asl #1
+ rsb r0, r0, r3
+ beq .L19637
+ mov r3, ip, asl #22
+ ldr r2, .L19654+28
+ mov r3, r3, lsr #22
+ add r3, r2, r3, asl #5
+ cmp r6, #0
+ str r3, [sp, #116]
+ ble .L18819
+ mov r3, r9, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #100]
+ ldr r3, [sp, #96]
+ mul r2, r0, r1
+ mul r3, r0, r3
+ ldr r0, [sp, #92]
+ ldr r1, [sp, #100]
+ mul r0, r7, r0
+ mul r1, r7, r1
+ rsb r3, r0, r3
+ ldr r0, [sp, #108]
+ rsb r2, r1, r2
+ add r5, r0, r3
+ add r4, lr, r2
+ mov ip, r4, asr #8
+ mov lr, r5, asr #8
+ cmp lr, fp
+ cmpcc ip, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r7, r3
+ bcc .L19638
+.L18886:
+ ldr r3, [sp, #68]
+ ldr r1, [sp, #92]
+ ldr r2, [sp, #100]
+ add r7, r7, #1
+ add r5, r5, r1
+ add r4, r4, r2
+ add r3, r3, #2
+ cmp r6, r7
+ mov lr, r5, asr #8
+ mov ip, r4, asr #8
+ add r8, r8, #2
+ str r3, [sp, #68]
+ beq .L18819
+ cmp lr, fp
+ cmpcc ip, sl
+ bcs .L18886
+ cmp ip, sl
+ cmpcc lr, fp
+ bcs .L18819
+.L19639:
+ mov r3, lr, asr #1
+ ldr r1, [sp, #116]
+ and r3, r3, #3
+ and r0, ip, #7
+ str r3, [sp, #16]
+ ldr r3, [sp, #116]
+ add r0, r1, r0, asl #2
+ and r1, ip, #7
+ mov r2, lr, asr #1
+ add r1, r3, r1, asl #2
+ mov r3, ip, asr #3
+ and r9, r2, #3
+ mov r3, r3, asl #10
+ mov r2, lr, asr #3
+ tst lr, #1
+ add r3, r3, r2, asl #5
+ add r2, r0, r3
+ movne ip, r9
+ add r0, r1, r3
+ ldreqb r3, [r0, r9] @ zero_extendqisi2
+ ldrneb r3, [r2, ip] @ zero_extendqisi2
+ andeq r0, r3, #15
+ movne r0, r3, lsr #4
+ cmp r0, #0
+ ldrne r2, [sp, #68]
+ ldr lr, [sp, #92]
+ ldrneh r2, [r2, #0]
+ ldr r3, [sp, #68]
+ ldr r1, [sp, #100]
+ add r7, r7, #1
+ strneh r2, [r8, #0] @ movhi
+ add r5, r5, lr
+ add r4, r4, r1
+ add r3, r3, #2
+ cmp r6, r7
+ mov lr, r5, asr #8
+ mov ip, r4, asr #8
+ add r8, r8, #2
+ str r3, [sp, #68]
+ ble .L18819
+.L18889:
+ cmp ip, sl
+ cmpcc lr, fp
+ bcc .L19639
+ b .L18819
+.L19636:
+ rsb r6, r8, r1
+ cmp r6, #0
+ bgt .L18865
+ b .L18819
+.L19632:
+ rsb r9, r8, r1
+ cmp r9, #0
+ bgt .L18833
+ b .L18819
+.L19633:
+ mla r3, r0, r1, lr
+ mov r1, r3, asr #8
+ cmp r1, sl
+ bcs .L18819
+ mov r3, ip, asl #22
+ mov r2, r1, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r1, #7
+ add r1, r1, r3, asl #2
+ ldr r3, .L19654+28
+ cmp r9, #0
+ add r4, r3, r1, asl #3
+ ble .L18819
+ ldr r2, [sp, #88]
+ mul r3, r0, r5
+ mul r2, r7, r2
+ ldr r5, [sp, #112]
+ rsb r3, r2, r3
+ add r0, r5, r3
+ mov ip, r0, asr #8
+ cmp ip, fp
+ movcs lr, r6
+ bcc .L19640
+.L18841:
+ ldr r1, [sp, #68]
+ ldr r6, [sp, #88]
+ add lr, lr, #1
+ add r0, r0, r6
+ add r1, r1, #2
+ cmp r9, lr
+ mov ip, r0, asr #8
+ add r8, r8, #2
+ str r1, [sp, #68]
+ beq .L18819
+ cmp ip, fp
+ bcs .L18841
+ b .L19618
+.L19637:
+ mla r3, r0, r1, lr
+ mov r1, r3, asr #8
+ cmp r1, sl
+ bcs .L18819
+ mov r3, ip, asl #22
+ mov r2, r1, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r1, #7
+ add r1, r1, r3, asl #3
+ ldr r3, .L19654+28
+ cmp r6, #0
+ add r5, r3, r1, asl #2
+ ble .L18819
+ ldr r3, [sp, #96]
+ ldr r2, [sp, #92]
+ mul r3, r0, r3
+ mul r2, r7, r2
+ ldr r4, [sp, #108]
+ rsb r3, r2, r3
+ add r0, r4, r3
+ mov ip, r0, asr #8
+ cmp ip, fp
+ movcs r1, r9
+ bcc .L19641
+.L18873:
+ ldr ip, [sp, #92]
+ ldr lr, [sp, #68]
+ add r1, r1, #1
+ add r0, r0, ip
+ add lr, lr, #2
+ cmp r6, r1
+ mov ip, r0, asr #8
+ add r8, r8, #2
+ str lr, [sp, #68]
+ beq .L18819
+ cmp ip, fp
+ bcs .L18873
+ b .L19620
+.L18902:
+ subs r2, fp, #8
+ submi r2, fp, #1
+ mov r3, r0, lsr #3
+ mov r2, r2, asr #3
+ mov r1, ip, asl #22
+ add r2, r2, r3, asl #4
+ mov r1, r1, lsr #22
+ and r3, r0, #7
+ add r1, r1, r2, asl #1
+ add r3, r3, r1, asl #2
+ ldr lr, [sp, #28]
+ mov r0, r3, asl #3
+ ldr r3, .L19654+28
+ cmp r8, lr
+ add r7, r0, r3
+ blt .L19642
+ ldr r4, [sp, #24]
+ add r3, r8, fp
+ cmp r4, r3
+ bhi .L19540
+ rsb r9, r8, r4
+ cmp r9, #0
+ ble .L18819
+ ldr r5, [sp, #20]
+ movs sl, r9, lsr #3
+ add r1, r5, r8, asl #1
+ beq .L19543
+ ldr r3, .L19654+32
+ ldr r4, [sp, #68]
+ add r0, r0, r3
+ mov lr, r1
+ mov r5, r7
+ mov r2, #0
+.L19545:
+ ldr ip, [r0, #68]
+ cmp ip, #0
+ beq .L19546
+ tst ip, #255
+ ldrneh r6, [r4, #6]
+ mov r3, ip, lsr #8
+ strneh r6, [lr, #6] @ movhi
+ tst r3, #255
+ ldrneh r3, [r4, #4]
+ strneh r3, [lr, #4] @ movhi
+ mov r3, ip, lsr #16
+ tst r3, #255
+ ldrneh r6, [r4, #2]
+ strneh r6, [lr, #2] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh ip, [r4, #0]
+ strneh ip, [lr, #0] @ movhi
+.L19546:
+ ldr ip, [r5, #0]
+ cmp ip, #0
+ beq .L19555
+ tst ip, #255
+ ldrneh r3, [r4, #14]
+ strneh r3, [lr, #14] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r6, [r4, #12]
+ mov r3, ip, lsr #16
+ strneh r6, [lr, #12] @ movhi
+ tst r3, #255
+ ldrneh r3, [r4, #10]
+ strneh r3, [lr, #10] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh r6, [r4, #8]
+ strneh r6, [lr, #8] @ movhi
+.L19555:
+ add r2, r2, #1
+ cmp sl, r2
+ sub r5, r5, #64
+ add lr, lr, #16
+ add r4, r4, #16
+ sub r0, r0, #64
+ bne .L19545
+ ldr ip, [sp, #68]
+ mov r3, sl, asl #4
+ rsb r2, sl, sl, asl #26
+ add ip, ip, r3
+ add r1, r1, r3
+ add r7, r7, r2, asl #6
+ str ip, [sp, #68]
+.L19543:
+ ands ip, r9, #7
+ beq .L18819
+ cmp ip, #3
+ ldrls r2, [r7, #4]
+ bls .L19578
+ ldr r2, [r7, #4]
+ cmp r2, #0
+ beq .L19568
+ tst r2, #255
+ ldrne lr, [sp, #68]
+ mov r3, r2, lsr #8
+ ldrneh lr, [lr, #6]
+ strneh lr, [r1, #6] @ movhi
+ tst r3, #255
+ ldrne r0, [sp, #68]
+ mov r3, r2, lsr #16
+ ldrneh r0, [r0, #4]
+ strneh r0, [r1, #4] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #2]
+ strneh r3, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #0]
+ strneh r4, [r1, #0] @ movhi
+.L19568:
+ subs ip, ip, #4
+ ldr r2, [r7, #0]
+ beq .L18819
+ ldr r5, [sp, #68]
+ add r1, r1, #8
+ add r5, r5, #8
+ str r5, [sp, #68]
+.L19578:
+ mov r3, #0
+.L19579:
+ movs r6, r2, lsr #24
+ ldrne lr, [sp, #68]
+ mov r0, r3, asl #1
+ ldrneh lr, [r0, lr]
+ add r3, r3, #1
+ strneh lr, [r0, r1] @ movhi
+ cmp ip, r3
+ mov r2, r2, asl #8
+ bhi .L19579
+ b .L18819
+.L18899:
+ mov r3, ip, asl #22
+ mov r2, r0, lsr #3
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r0, #7
+ ldr r5, [sp, #28]
+ add r1, r1, r3, asl #3
+ ldr r3, .L19654+28
+ cmp r8, r5
+ add r0, r3, r1, asl #2
+ blt .L19643
+ ldr r4, [sp, #24]
+ add r3, r8, fp
+ cmp r4, r3
+ bhi .L18985
+ rsb r7, r8, r4
+ cmp r7, #0
+ ble .L18819
+ ldr r6, [sp, #20]
+ movs r5, r7, lsr #3
+ add r1, r6, r8, asl #1
+ beq .L18988
+ ldr lr, [sp, #68]
+ mov ip, r1
+ mov r4, r0
+ mov r2, #0
+.L18990:
+ ldr r3, [r4, #0]
+ cmp r3, #0
+ beq .L18991
+ tst r3, #15
+ ldrneh r6, [lr, #0]
+ strneh r6, [ip, #0] @ movhi
+ tst r3, #240
+ ldrneh r6, [lr, #2]
+ strneh r6, [ip, #2] @ movhi
+ tst r3, #3840
+ ldrneh r6, [lr, #4]
+ strneh r6, [ip, #4] @ movhi
+ tst r3, #61440
+ ldrneh r6, [lr, #6]
+ strneh r6, [ip, #6] @ movhi
+ tst r3, #983040
+ ldrneh r6, [lr, #8]
+ strneh r6, [ip, #8] @ movhi
+ tst r3, #15728640
+ ldrneh r6, [lr, #10]
+ strneh r6, [ip, #10] @ movhi
+ tst r3, #251658240
+ ldrneh r6, [lr, #12]
+ strneh r6, [ip, #12] @ movhi
+ movs r3, r3, lsr #28
+ ldrneh r3, [lr, #14]
+ strneh r3, [ip, #14] @ movhi
+.L18991:
+ add r2, r2, #1
+ cmp r2, r5
+ add r4, r4, #32
+ add ip, ip, #16
+ add lr, lr, #16
+ bne .L18990
+ ldr r4, [sp, #68]
+ mov r3, r5, asl #4
+ add r4, r4, r3
+ add r1, r1, r3
+ add r0, r0, r5, asl #5
+ str r4, [sp, #68]
+.L18988:
+ ands ip, r7, #7
+ beq .L18819
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L19010:
+ tst r0, #15
+ ldrne r5, [sp, #68]
+ mov r3, r2, asl #1
+ ldrneh r5, [r3, r5]
+ add r2, r2, #1
+ strneh r5, [r3, r1] @ movhi
+ cmp r2, ip
+ mov r0, r0, lsr #4
+ bne .L19010
+ b .L18819
+.L18900:
+ mov r3, ip, asl #22
+ mov r1, r0, lsr #3
+ subs r2, fp, #8
+ mov r3, r3, lsr #22
+ submi r2, fp, #1
+ add r3, r3, r1, asl #5
+ add r3, r3, r2, asr #3
+ and r1, r0, #7
+ ldr lr, [sp, #28]
+ add r1, r1, r3, asl #3
+ ldr r3, .L19654+28
+ cmp r8, lr
+ add r0, r3, r1, asl #2
+ blt .L19644
+ ldr lr, [sp, #24]
+ add r3, r8, fp
+ cmp lr, r3
+ bhi .L19115
+ rsb r7, r8, lr
+ cmp r7, #0
+ ble .L18819
+ ldr r2, [sp, #20]
+ movs r3, r7, lsr #3
+ add r1, r2, r8, asl #1
+ beq .L19118
+ ldr lr, [sp, #68]
+ mov ip, r1
+ mov r4, r0
+ mov r5, #0
+.L19120:
+ ldr r2, [r4, #0]
+ cmp r2, #0
+ beq .L19121
+ tst r2, #15
+ ldrneh r6, [lr, #14]
+ strneh r6, [ip, #14] @ movhi
+ tst r2, #240
+ ldrneh r6, [lr, #12]
+ strneh r6, [ip, #12] @ movhi
+ tst r2, #3840
+ ldrneh r6, [lr, #10]
+ strneh r6, [ip, #10] @ movhi
+ tst r2, #61440
+ ldrneh r6, [lr, #8]
+ strneh r6, [ip, #8] @ movhi
+ tst r2, #983040
+ ldrneh r6, [lr, #6]
+ strneh r6, [ip, #6] @ movhi
+ tst r2, #15728640
+ ldrneh r6, [lr, #4]
+ strneh r6, [ip, #4] @ movhi
+ tst r2, #251658240
+ ldrneh r6, [lr, #2]
+ strneh r6, [ip, #2] @ movhi
+ movs r2, r2, lsr #28
+ ldrneh r2, [lr, #0]
+ strneh r2, [ip, #0] @ movhi
+.L19121:
+ add r5, r5, #1
+ cmp r5, r3
+ sub r4, r4, #32
+ add ip, ip, #16
+ add lr, lr, #16
+ bne .L19120
+ ldr r4, [sp, #68]
+ rsb r2, r3, r3, asl #27
+ mov r3, r3, asl #4
+ add r4, r4, r3
+ add r1, r1, r3
+ add r0, r0, r2, asl #5
+ str r4, [sp, #68]
+.L19118:
+ ands ip, r7, #7
+ beq .L18819
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L19140:
+ movs r5, r0, lsr #28
+ ldrne r6, [sp, #68]
+ mov r3, r2, asl #1
+ ldrneh r6, [r3, r6]
+ add r2, r2, #1
+ strneh r6, [r3, r1] @ movhi
+ cmp r2, ip
+ mov r0, r0, asl #4
+ bne .L19140
+ b .L18819
+.L18901:
+ mov r2, ip, asl #22
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ add r2, r2, r1, asl #5
+ and r3, r0, #7
+ add r3, r3, r2, asl #2
+ ldr r1, [sp, #28]
+ mov r0, r3, asl #3
+ ldr r3, .L19654+28
+ cmp r8, r1
+ add r2, r0, r3
+ blt .L19645
+ ldr r4, [sp, #24]
+ add r3, r8, fp
+ cmp r4, r3
+ bhi .L19320
+ rsb r9, r8, r4
+ cmp r9, #0
+ ble .L18819
+ ldr r5, [sp, #20]
+ movs sl, r9, lsr #3
+ add r1, r5, r8, asl #1
+ beq .L19323
+ ldr r3, .L19654+36
+ ldr r4, [sp, #68]
+ add r0, r0, r3
+ mov lr, r1
+ mov r5, r2
+ mov r7, #0
+.L19325:
+ ldr ip, [r5, #0]
+ cmp ip, #0
+ beq .L19326
+ tst ip, #255
+ ldrneh r6, [r4, #0]
+ mov r3, ip, lsr #8
+ strneh r6, [lr, #0] @ movhi
+ tst r3, #255
+ ldrneh r3, [r4, #2]
+ strneh r3, [lr, #2] @ movhi
+ mov r3, ip, lsr #16
+ tst r3, #255
+ ldrneh r6, [r4, #4]
+ strneh r6, [lr, #4] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh ip, [r4, #6]
+ strneh ip, [lr, #6] @ movhi
+.L19326:
+ ldr ip, [r0, #-60]
+ cmp ip, #0
+ beq .L19335
+ tst ip, #255
+ ldrneh r3, [r4, #8]
+ strneh r3, [lr, #8] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r6, [r4, #10]
+ mov r3, ip, lsr #16
+ strneh r6, [lr, #10] @ movhi
+ tst r3, #255
+ ldrneh r3, [r4, #12]
+ strneh r3, [lr, #12] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh r6, [r4, #14]
+ strneh r6, [lr, #14] @ movhi
+.L19335:
+ add r7, r7, #1
+ cmp r7, sl
+ add r5, r5, #64
+ add lr, lr, #16
+ add r4, r4, #16
+ add r0, r0, #64
+ bne .L19325
+ ldr ip, [sp, #68]
+ mov r3, sl, asl #4
+ add ip, ip, r3
+ add r1, r1, r3
+ add r2, r2, sl, asl #6
+ str ip, [sp, #68]
+.L19323:
+ ands ip, r9, #7
+ beq .L18819
+ cmp ip, #3
+ ldrls r3, [r2, #0]
+ bls .L19358
+ ldr r0, [r2, #0]
+ cmp r0, #0
+ beq .L19348
+ tst r0, #255
+ ldrne lr, [sp, #68]
+ mov r3, r0, lsr #8
+ ldrneh lr, [lr, #0]
+ strneh lr, [r1, #0] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #2]
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r0, lsr #16
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #4]
+ strneh r4, [r1, #4] @ movhi
+ movs r0, r0, lsr #24
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #6]
+ strneh r5, [r1, #6] @ movhi
+.L19348:
+ subs ip, ip, #4
+ ldr r3, [r2, #4]
+ beq .L18819
+ ldr r6, [sp, #68]
+ add r1, r1, #8
+ add r6, r6, #8
+ str r6, [sp, #68]
+.L19358:
+ mov r2, #0
+.L19359:
+ tst r3, #255
+ ldrne lr, [sp, #68]
+ mov r0, r2, asl #1
+ ldrneh lr, [r0, lr]
+ add r2, r2, #1
+ strneh lr, [r0, r1] @ movhi
+ cmp ip, r2
+ mov r3, r3, lsr #8
+ bhi .L19359
+ b .L18819
+.L19645:
+ rsb r0, r8, r1
+ rsb lr, r0, fp
+ cmp lr, #0
+ ble .L18819
+ ldr r4, [sp, #24]
+ add r3, r8, fp
+ cmp r4, r3
+ bhi .L19167
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ add r8, r2, r3, asl #6
+ bne .L19169
+ ldr r7, [sp, #124]
+ ldr r5, [sp, #104]
+.L19171:
+ movs r4, r7, lsr #3
+ beq .L19229
+ ldr r0, [sp, #68]
+ mov r1, r5
+ mov ip, r8
+ mov lr, #0
+.L19231:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L19232
+ tst r2, #255
+ ldrneh r3, [r0, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r6, [r0, #2]
+ mov r3, r2, lsr #16
+ strneh r6, [r1, #2] @ movhi
+ tst r3, #255
+ ldrneh r3, [r0, #4]
+ strneh r3, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r6, [r0, #6]
+ strneh r6, [r1, #6] @ movhi
+.L19232:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L19241
+ tst r2, #255
+ ldrneh r3, [r0, #8]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r6, [r0, #10]
+ mov r3, r2, lsr #16
+ strneh r6, [r1, #10] @ movhi
+ tst r3, #255
+ ldrneh r3, [r0, #12]
+ strneh r3, [r1, #12] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r6, [r0, #14]
+ strneh r6, [r1, #14] @ movhi
+.L19241:
+ add lr, lr, #1
+ cmp lr, r4
+ add ip, ip, #64
+ add r1, r1, #16
+ add r0, r0, #16
+ bne .L19231
+ ldr ip, [sp, #68]
+ mov r3, r4, asl #4
+ add ip, ip, r3
+ add r5, r5, r3
+ add r8, r8, r4, asl #6
+ str ip, [sp, #68]
+.L19229:
+ ands r0, r7, #7
+ beq .L18819
+ cmp r0, #3
+ ldrls r3, [r8, #0]
+ bls .L19264
+ ldr r2, [r8, #0]
+ cmp r2, #0
+ beq .L19254
+ tst r2, #255
+ ldrne lr, [sp, #68]
+ mov r3, r2, lsr #8
+ ldrneh lr, [lr, #0]
+ strneh lr, [r5, #0] @ movhi
+ tst r3, #255
+ ldrne r1, [sp, #68]
+ mov r3, r2, lsr #16
+ ldrneh r1, [r1, #2]
+ strneh r1, [r5, #2] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #4]
+ strneh r3, [r5, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #6]
+ strneh r4, [r5, #6] @ movhi
+.L19254:
+ subs r0, r0, #4
+ ldr r3, [r8, #4]
+ beq .L18819
+ ldr r6, [sp, #68]
+ add r5, r5, #8
+ add r6, r6, #8
+ str r6, [sp, #68]
+.L19264:
+ mov r2, #0
+.L19265:
+ tst r3, #255
+ ldrne ip, [sp, #68]
+ mov r1, r2, asl #1
+ ldrneh ip, [r1, ip]
+ add r2, r2, #1
+ strneh ip, [r1, r5] @ movhi
+ cmp r0, r2
+ mov r3, r3, lsr #8
+ bhi .L19265
+ b .L18819
+.L19655:
+ .align 2
+.L19654:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word tile_mode_renderers
+ .word oam_ram
+ .word obj_width_table
+ .word obj_height_table
+ .word vram+65536
+ .word vram+65472
+ .word vram+65600
+.L19644:
+ rsb ip, r8, lr
+ rsb r1, ip, fp
+ cmp r1, #0
+ ble .L18819
+ ldr r2, [sp, #24]
+ add r3, r8, fp
+ cmp r2, r3
+ bhi .L19037
+ mov r3, ip, lsr #3
+ ands r4, ip, #7
+ sub r0, r0, r3, asl #5
+ bne .L19039
+ ldr r7, [sp, #124]
+ ldr r1, [sp, #104]
+.L19041:
+ movs r3, r7, lsr #3
+ beq .L19058
+ ldr lr, [sp, #68]
+ mov ip, r1
+ mov r4, r0
+ mov r5, #0
+.L19060:
+ ldr r2, [r4, #0]
+ cmp r2, #0
+ beq .L19061
+ tst r2, #15
+ ldrneh r6, [lr, #14]
+ strneh r6, [ip, #14] @ movhi
+ tst r2, #240
+ ldrneh r6, [lr, #12]
+ strneh r6, [ip, #12] @ movhi
+ tst r2, #3840
+ ldrneh r6, [lr, #10]
+ strneh r6, [ip, #10] @ movhi
+ tst r2, #61440
+ ldrneh r6, [lr, #8]
+ strneh r6, [ip, #8] @ movhi
+ tst r2, #983040
+ ldrneh r6, [lr, #6]
+ strneh r6, [ip, #6] @ movhi
+ tst r2, #15728640
+ ldrneh r6, [lr, #4]
+ strneh r6, [ip, #4] @ movhi
+ tst r2, #251658240
+ ldrneh r6, [lr, #2]
+ strneh r6, [ip, #2] @ movhi
+ movs r2, r2, lsr #28
+ ldrneh r2, [lr, #0]
+ strneh r2, [ip, #0] @ movhi
+.L19061:
+ add r5, r5, #1
+ cmp r5, r3
+ sub r4, r4, #32
+ add ip, ip, #16
+ add lr, lr, #16
+ bne .L19060
+ ldr r4, [sp, #68]
+ rsb r2, r3, r3, asl #27
+ mov r3, r3, asl #4
+ add r4, r4, r3
+ add r1, r1, r3
+ add r0, r0, r2, asl #5
+ str r4, [sp, #68]
+.L19058:
+ ands ip, r7, #7
+ beq .L18819
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L19080:
+ movs r5, r0, lsr #28
+ ldrne r6, [sp, #68]
+ mov r3, r2, asl #1
+ ldrneh r6, [r3, r6]
+ add r2, r2, #1
+ strneh r6, [r3, r1] @ movhi
+ cmp r2, ip
+ mov r0, r0, asl #4
+ bne .L19080
+ b .L18819
+.L19643:
+ rsb ip, r8, r5
+ rsb lr, ip, fp
+ cmp lr, #0
+ ble .L18819
+ ldr r6, [sp, #24]
+ add r3, r8, fp
+ cmp r6, r3
+ bhi .L18907
+ mov r3, ip, lsr #3
+ mov r1, r3, asl #5
+ ands r3, ip, #7
+ add r4, r0, r1
+ bne .L18909
+ ldr r7, [sp, #124]
+ ldr r5, [sp, #104]
+.L18911:
+ movs lr, r7, lsr #3
+ beq .L18928
+ ldr r1, [sp, #68]
+ mov r2, r5
+ mov r0, r4
+ mov ip, #0
+.L18930:
+ ldr r3, [r0, #0]
+ cmp r3, #0
+ beq .L18931
+ tst r3, #15
+ ldrneh r6, [r1, #0]
+ strneh r6, [r2, #0] @ movhi
+ tst r3, #240
+ ldrneh r6, [r1, #2]
+ strneh r6, [r2, #2] @ movhi
+ tst r3, #3840
+ ldrneh r6, [r1, #4]
+ strneh r6, [r2, #4] @ movhi
+ tst r3, #61440
+ ldrneh r6, [r1, #6]
+ strneh r6, [r2, #6] @ movhi
+ tst r3, #983040
+ ldrneh r6, [r1, #8]
+ strneh r6, [r2, #8] @ movhi
+ tst r3, #15728640
+ ldrneh r6, [r1, #10]
+ strneh r6, [r2, #10] @ movhi
+ tst r3, #251658240
+ ldrneh r6, [r1, #12]
+ strneh r6, [r2, #12] @ movhi
+ movs r3, r3, lsr #28
+ ldrneh r3, [r1, #14]
+ strneh r3, [r2, #14] @ movhi
+.L18931:
+ add ip, ip, #1
+ cmp ip, lr
+ add r0, r0, #32
+ add r2, r2, #16
+ add r1, r1, #16
+ bne .L18930
+ ldr r6, [sp, #68]
+ mov r3, lr, asl #4
+ add r6, r6, r3
+ add r5, r5, r3
+ add r4, r4, lr, asl #5
+ str r6, [sp, #68]
+.L18928:
+ ands r0, r7, #7
+ beq .L18819
+ ldr r3, [r4, #0]
+ mov r1, #0
+.L18950:
+ tst r3, #15
+ ldrne ip, [sp, #68]
+ mov r2, r1, asl #1
+ ldrneh ip, [r2, ip]
+ add r1, r1, #1
+ strneh ip, [r2, r5] @ movhi
+ cmp r1, r0
+ mov r3, r3, lsr #4
+ bne .L18950
+ b .L18819
+.L18876:
+ cmp ip, fp
+ bcs .L18819
+.L19620:
+ mov r3, ip, asr #1
+ and r4, r3, #3
+ mov r3, ip, asr #3
+ mov r3, r3, asl #5
+ mov r2, ip, asr #1
+ tst ip, #1
+ and lr, r2, #3
+ add ip, r3, r5
+ add r2, r3, r5
+ ldreqb r3, [r2, lr] @ zero_extendqisi2
+ ldrneb r3, [ip, r4] @ zero_extendqisi2
+ andeq r2, r3, #15
+ movne r2, r3, lsr #4
+ cmp r2, #0
+ ldrne r4, [sp, #68]
+ ldr lr, [sp, #68]
+ ldrneh r4, [r4, #0]
+ ldr r3, [sp, #92]
+ add r1, r1, #1
+ strneh r4, [r8, #0] @ movhi
+ add r0, r0, r3
+ add lr, lr, #2
+ cmp r6, r1
+ mov ip, r0, asr #8
+ add r8, r8, #2
+ str lr, [sp, #68]
+ bgt .L18876
+ b .L18819
+.L18844:
+ cmp ip, fp
+ bcs .L18819
+.L19618:
+ ldr r2, [sp, #88]
+ mov r3, ip, asr #3
+ add r3, r4, r3, asl #6
+ and r1, ip, #7
+ add r0, r0, r2
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ ldr r5, [sp, #68]
+ cmp r2, #0
+ ldrne r3, [sp, #68]
+ add lr, lr, #1
+ ldrneh r3, [r3, #0]
+ add r5, r5, #2
+ strneh r3, [r8, #0] @ movhi
+ cmp r9, lr
+ mov ip, r0, asr #8
+ add r8, r8, #2
+ str r5, [sp, #68]
+ bgt .L18844
+ b .L18819
+.L19642:
+ rsb r0, r8, lr
+ rsb lr, r0, fp
+ cmp lr, #0
+ ble .L18819
+ ldr r1, [sp, #24]
+ add r3, r8, fp
+ cmp r1, r3
+ bhi .L19387
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ sub r8, r7, r3, asl #6
+ bne .L19389
+ ldr r7, [sp, #124]
+ ldr r5, [sp, #104]
+.L19391:
+ movs r4, r7, lsr #3
+ beq .L19449
+ ldr r0, [sp, #68]
+ mov r1, r5
+ mov ip, r8
+ mov lr, #0
+.L19451:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L19452
+ tst r2, #255
+ ldrneh r3, [r0, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r6, [r0, #4]
+ mov r3, r2, lsr #16
+ strneh r6, [r1, #4] @ movhi
+ tst r3, #255
+ ldrneh r3, [r0, #2]
+ strneh r3, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r6, [r0, #0]
+ strneh r6, [r1, #0] @ movhi
+.L19452:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L19461
+ tst r2, #255
+ ldrneh r3, [r0, #14]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r6, [r0, #12]
+ mov r3, r2, lsr #16
+ strneh r6, [r1, #12] @ movhi
+ tst r3, #255
+ ldrneh r3, [r0, #10]
+ strneh r3, [r1, #10] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r6, [r0, #8]
+ strneh r6, [r1, #8] @ movhi
+.L19461:
+ add lr, lr, #1
+ cmp lr, r4
+ sub ip, ip, #64
+ add r1, r1, #16
+ add r0, r0, #16
+ bne .L19451
+ ldr ip, [sp, #68]
+ mov r3, r4, asl #4
+ rsb r2, r4, r4, asl #26
+ add ip, ip, r3
+ add r5, r5, r3
+ add r8, r8, r2, asl #6
+ str ip, [sp, #68]
+.L19449:
+ ands ip, r7, #7
+ beq .L18819
+ cmp ip, #3
+ ldrls r2, [r8, #4]
+ bls .L19484
+ ldr r2, [r8, #4]
+ cmp r2, #0
+ beq .L19474
+ tst r2, #255
+ ldrne lr, [sp, #68]
+ mov r3, r2, lsr #8
+ ldrneh lr, [lr, #6]
+ strneh lr, [r5, #6] @ movhi
+ tst r3, #255
+ ldrne r0, [sp, #68]
+ mov r3, r2, lsr #16
+ ldrneh r0, [r0, #4]
+ strneh r0, [r5, #4] @ movhi
+ tst r3, #255
+ ldrne r1, [sp, #68]
+ ldrneh r1, [r1, #2]
+ strneh r1, [r5, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r2, [sp, #68]
+ ldrneh r2, [r2, #0]
+ strneh r2, [r5, #0] @ movhi
+.L19474:
+ subs ip, ip, #4
+ ldr r2, [r8, #0]
+ beq .L18819
+ ldr r3, [sp, #68]
+ add r5, r5, #8
+ add r3, r3, #8
+ str r3, [sp, #68]
+.L19484:
+ mov r1, #0
+.L19485:
+ movs r4, r2, lsr #24
+ ldrne r6, [sp, #68]
+ mov r0, r1, asl #1
+ ldrneh r6, [r0, r6]
+ add r1, r1, #1
+ strneh r6, [r0, r5] @ movhi
+ cmp ip, r1
+ mov r2, r2, asl #8
+ bhi .L19485
+ b .L18819
+.L18985:
+ cmp fp, #0
+ add r3, fp, #7
+ movge r3, fp
+ movs r3, r3, asr #3
+ beq .L18819
+ ldr r6, [sp, #20]
+ mov r2, #0
+ add r1, r6, r8, asl #1
+ b .L19015
+.L19646:
+ ldr ip, [sp, #68]
+ add r0, r0, #32
+ add ip, ip, #16
+ add r1, r1, #16
+ str ip, [sp, #68]
+.L19015:
+ ldr ip, [r0, #0]
+ cmp ip, #0
+ beq .L19016
+ tst ip, #15
+ ldrne lr, [sp, #68]
+ ldrneh lr, [lr, #0]
+ strneh lr, [r1, #0] @ movhi
+ tst ip, #240
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ tst ip, #3840
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #4]
+ strneh r5, [r1, #4] @ movhi
+ tst ip, #61440
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #6]
+ strneh r6, [r1, #6] @ movhi
+ tst ip, #983040
+ ldrne lr, [sp, #68]
+ ldrneh lr, [lr, #8]
+ strneh lr, [r1, #8] @ movhi
+ tst ip, #15728640
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #10]
+ strneh r4, [r1, #10] @ movhi
+ tst ip, #251658240
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #12]
+ strneh r5, [r1, #12] @ movhi
+ movs ip, ip, lsr #28
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #14]
+ strneh r6, [r1, #14] @ movhi
+.L19016:
+ add r2, r2, #1
+ cmp r3, r2
+ bne .L19646
+ b .L18819
+.L19115:
+ cmp fp, #0
+ add r3, fp, #7
+ movge r3, fp
+ movs r3, r3, asr #3
+ beq .L18819
+ ldr ip, [sp, #20]
+ add r1, ip, r8, asl #1
+ mov ip, #0
+ b .L19145
+.L19647:
+ ldr lr, [sp, #68]
+ sub r0, r0, #32
+ add lr, lr, #16
+ add r1, r1, #16
+ str lr, [sp, #68]
+.L19145:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L19146
+ tst r2, #15
+ ldrne lr, [sp, #68]
+ ldrneh lr, [lr, #14]
+ strneh lr, [r1, #14] @ movhi
+ tst r2, #240
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #12]
+ strneh r4, [r1, #12] @ movhi
+ tst r2, #3840
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #10]
+ strneh r5, [r1, #10] @ movhi
+ tst r2, #61440
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #8]
+ strneh r6, [r1, #8] @ movhi
+ tst r2, #983040
+ ldrne lr, [sp, #68]
+ ldrneh lr, [lr, #6]
+ strneh lr, [r1, #6] @ movhi
+ tst r2, #15728640
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #4]
+ strneh r4, [r1, #4] @ movhi
+ tst r2, #251658240
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r1, #2] @ movhi
+ movs r2, r2, lsr #28
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #0]
+ strneh r6, [r1, #0] @ movhi
+.L19146:
+ add ip, ip, #1
+ cmp r3, ip
+ bne .L19647
+ b .L18819
+.L19540:
+ cmp fp, #0
+ add r3, fp, #7
+ movge r3, fp
+ movs lr, r3, asr #3
+ beq .L18819
+ ldr r2, [sp, #20]
+ ldr r3, .L19654+32
+ add r1, r2, r8, asl #1
+ add r0, r0, r3
+ mov r2, #0
+ b .L19584
+.L19648:
+ ldr ip, [sp, #68]
+ sub r7, r7, #64
+ add ip, ip, #16
+ add r1, r1, #16
+ str ip, [sp, #68]
+.L19584:
+ ldr ip, [r0, #68]
+ cmp ip, #0
+ beq .L19585
+ tst ip, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ mov r3, ip, lsr #16
+ ldrneh r4, [r4, #4]
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r1, #2] @ movhi
+ movs ip, ip, lsr #24
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #0]
+ strneh r6, [r1, #0] @ movhi
+.L19585:
+ ldr ip, [r7, #0]
+ cmp ip, #0
+ beq .L19594
+ tst ip, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #14]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ mov r3, ip, lsr #16
+ ldrneh r4, [r4, #12]
+ strneh r4, [r1, #12] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #10]
+ strneh r5, [r1, #10] @ movhi
+ movs ip, ip, lsr #24
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #8]
+ strneh r6, [r1, #8] @ movhi
+.L19594:
+ add r2, r2, #1
+ cmp lr, r2
+ sub r0, r0, #64
+ bne .L19648
+ b .L18819
+.L19320:
+ cmp fp, #0
+ add r3, fp, #7
+ movge r3, fp
+ movs r4, r3, asr #3
+ beq .L18819
+ ldr r3, [sp, #20]
+ mov lr, #0
+ add r1, r3, r8, asl #1
+ ldr r3, .L19654+36
+ add r0, r0, r3
+ b .L19364
+.L19649:
+ ldr ip, [sp, #68]
+ add r2, r2, #64
+ add ip, ip, #16
+ add r1, r1, #16
+ str ip, [sp, #68]
+.L19364:
+ ldr ip, [r2, #0]
+ cmp ip, #0
+ beq .L19365
+ tst ip, #255
+ ldrne r5, [sp, #68]
+ mov r3, ip, lsr #8
+ ldrneh r5, [r5, #0]
+ strneh r5, [r1, #0] @ movhi
+ tst r3, #255
+ ldrne r6, [sp, #68]
+ mov r3, ip, lsr #16
+ ldrneh r6, [r6, #2]
+ strneh r6, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #4]
+ strneh r3, [r1, #4] @ movhi
+ movs ip, ip, lsr #24
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #6]
+ strneh r5, [r1, #6] @ movhi
+.L19365:
+ ldr ip, [r0, #-60]
+ cmp ip, #0
+ beq .L19374
+ tst ip, #255
+ ldrne r6, [sp, #68]
+ mov r3, ip, lsr #8
+ ldrneh r6, [r6, #8]
+ strneh r6, [r1, #8] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #10]
+ strneh r3, [r1, #10] @ movhi
+ mov r3, ip, lsr #16
+ tst r3, #255
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #12]
+ strneh r5, [r1, #12] @ movhi
+ movs ip, ip, lsr #24
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #14]
+ strneh r6, [r1, #14] @ movhi
+.L19374:
+ add lr, lr, #1
+ cmp r4, lr
+ add r0, r0, #64
+ bne .L19649
+ b .L18819
+.L19167:
+ ands r1, r0, #7
+ mov r3, r0, lsr #3
+ add ip, r2, r3, asl #6
+ ldreq r1, [sp, #104]
+ beq .L19271
+ cmp r1, #3
+ rsb r0, r1, #8
+ bls .L19272
+ cmp r0, #0
+ ldr r2, [ip, #4]
+ ldreq r1, [sp, #104]
+ beq .L19276
+ mov r3, r1, asl #3
+ sub r3, r3, #32
+ mov r3, r2, lsr r3
+ mov r1, #0
+.L19277:
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #104]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r0, r1
+ mov r3, r3, lsr #8
+ bne .L19277
+ ldr r6, [sp, #68]
+ mov r3, r0, asl #1
+ ldr r0, [sp, #104]
+ add r6, r6, r3
+ str r6, [sp, #68]
+ add r1, r0, r3
+.L19276:
+ add ip, ip, #64
+.L19271:
+ movs lr, lr, lsr #3
+ beq .L18819
+ mov r0, #0
+ b .L19300
+.L19650:
+ ldr r2, [sp, #68]
+ add ip, ip, #64
+ add r2, r2, #16
+ add r1, r1, #16
+ str r2, [sp, #68]
+.L19300:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L19301
+ tst r2, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #4]
+ strneh r5, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #6]
+ strneh r6, [r1, #6] @ movhi
+.L19301:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L19310
+ tst r2, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #8]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #10]
+ strneh r4, [r1, #10] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #12]
+ strneh r5, [r1, #12] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #14]
+ strneh r6, [r1, #14] @ movhi
+.L19310:
+ add r0, r0, #1
+ cmp r0, lr
+ bne .L19650
+ b .L18819
+.L19037:
+ mov r3, ip, lsr #3
+ ands r2, ip, #7
+ sub r0, r0, r3, asl #5
+ ldreq r3, [sp, #104]
+ beq .L19086
+ rsbs r4, r2, #8
+ ldr ip, [r0, #0]
+ ldreq r3, [sp, #104]
+ beq .L19089
+ mov r3, r2, asl #2
+ mov r3, ip, asl r3
+ mov lr, #0
+.L19090:
+ movs ip, r3, lsr #28
+ ldrne r2, [sp, #68]
+ mov ip, lr, asl #1
+ ldrneh r5, [ip, r2]
+ ldrne r2, [sp, #104]
+ add lr, lr, #1
+ strneh r5, [ip, r2] @ movhi
+ cmp lr, r4
+ mov r3, r3, asl #4
+ bne .L19090
+ ldr r6, [sp, #68]
+ mov r3, r4, asl #1
+ ldr ip, [sp, #104]
+ add r6, r6, r3
+ str r6, [sp, #68]
+ add r3, ip, r3
+.L19089:
+ sub r0, r0, #32
+.L19086:
+ movs r1, r1, lsr #3
+ beq .L18819
+ mov r2, #0
+ b .L19096
+.L19651:
+ ldr ip, [sp, #68]
+ sub r0, r0, #32
+ add ip, ip, #16
+ add r3, r3, #16
+ str ip, [sp, #68]
+.L19096:
+ ldr ip, [r0, #0]
+ cmp ip, #0
+ beq .L19097
+ tst ip, #15
+ ldrne lr, [sp, #68]
+ ldrneh lr, [lr, #14]
+ strneh lr, [r3, #14] @ movhi
+ tst ip, #240
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #12]
+ strneh r4, [r3, #12] @ movhi
+ tst ip, #3840
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #10]
+ strneh r5, [r3, #10] @ movhi
+ tst ip, #61440
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #8]
+ strneh r6, [r3, #8] @ movhi
+ tst ip, #983040
+ ldrne lr, [sp, #68]
+ ldrneh lr, [lr, #6]
+ strneh lr, [r3, #6] @ movhi
+ tst ip, #15728640
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #4]
+ strneh r4, [r3, #4] @ movhi
+ tst ip, #251658240
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r3, #2] @ movhi
+ movs ip, ip, lsr #28
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #0]
+ strneh r6, [r3, #0] @ movhi
+.L19097:
+ add r2, r2, #1
+ cmp r2, r1
+ bne .L19651
+ b .L18819
+.L18907:
+ mov r3, ip, lsr #3
+ mov r1, r3, asl #5
+ ands r3, ip, #7
+ ldreq r3, [sp, #104]
+ add ip, r0, r1
+ beq .L18956
+ rsbs r4, r3, #8
+ ldr r0, [r0, r1]
+ ldreq r3, [sp, #104]
+ beq .L18959
+ mov r3, r3, asl #2
+ mov r0, r0, lsr r3
+ mov r2, #0
+.L18960:
+ tst r0, #15
+ ldrne r1, [sp, #68]
+ mov r3, r2, asl #1
+ ldrneh r5, [r3, r1]
+ ldrne r1, [sp, #104]
+ add r2, r2, #1
+ strneh r5, [r3, r1] @ movhi
+ cmp r4, r2
+ mov r0, r0, lsr #4
+ bne .L18960
+ ldr r6, [sp, #68]
+ mov r3, r4, asl #1
+ ldr r0, [sp, #104]
+ add r6, r6, r3
+ str r6, [sp, #68]
+ add r3, r0, r3
+.L18959:
+ add ip, ip, #32
+.L18956:
+ movs r0, lr, lsr #3
+ beq .L18819
+ mov r1, #0
+ b .L18966
+.L19652:
+ ldr r2, [sp, #68]
+ add ip, ip, #32
+ add r2, r2, #16
+ add r3, r3, #16
+ str r2, [sp, #68]
+.L18966:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L18967
+ tst r2, #15
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #0]
+ strneh r4, [r3, #0] @ movhi
+ tst r2, #240
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r3, #2] @ movhi
+ tst r2, #3840
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #4]
+ strneh r6, [r3, #4] @ movhi
+ tst r2, #61440
+ ldrne lr, [sp, #68]
+ ldrneh lr, [lr, #6]
+ strneh lr, [r3, #6] @ movhi
+ tst r2, #983040
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #8]
+ strneh r4, [r3, #8] @ movhi
+ tst r2, #15728640
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #10]
+ strneh r5, [r3, #10] @ movhi
+ tst r2, #251658240
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #12]
+ strneh r6, [r3, #12] @ movhi
+ movs r2, r2, lsr #28
+ ldrne lr, [sp, #68]
+ ldrneh lr, [lr, #14]
+ strneh lr, [r3, #14] @ movhi
+.L18967:
+ add r1, r1, #1
+ cmp r1, r0
+ bne .L19652
+ b .L18819
+.L19387:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ sub ip, r7, r3, asl #6
+ ldreq r1, [sp, #104]
+ beq .L19491
+ cmp r2, #3
+ rsb r0, r2, #8
+ bls .L19492
+ cmp r0, #0
+ ldr r1, [ip, #0]
+ ldreq r1, [sp, #104]
+ beq .L19496
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r3, r1, asl r3
+ mov r1, #0
+.L19497:
+ movs r2, r3, lsr #24
+ ldrne r4, [sp, #68]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #104]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r1, r0
+ mov r3, r3, asl #8
+ bne .L19497
+ ldr r6, [sp, #68]
+ mov r3, r0, asl #1
+ ldr r0, [sp, #104]
+ add r6, r6, r3
+ str r6, [sp, #68]
+ add r1, r0, r3
+.L19496:
+ sub ip, ip, #64
+.L19491:
+ movs lr, lr, lsr #3
+ beq .L18819
+ mov r0, #0
+ b .L19520
+.L19653:
+ ldr r2, [sp, #68]
+ sub ip, ip, #64
+ add r2, r2, #16
+ add r1, r1, #16
+ str r2, [sp, #68]
+.L19520:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L19521
+ tst r2, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #4]
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #0]
+ strneh r6, [r1, #0] @ movhi
+.L19521:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L19530
+ tst r2, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #14]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #12]
+ strneh r4, [r1, #12] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #10]
+ strneh r5, [r1, #10] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #8]
+ strneh r6, [r1, #8] @ movhi
+.L19530:
+ add r0, r0, #1
+ cmp r0, lr
+ bne .L19653
+ b .L18819
+.L18909:
+ ldr lr, [sp, #124]
+ rsb ip, r3, #8
+ cmp lr, ip
+ bge .L18912
+ cmp lr, #0
+ ble .L18819
+ ldr r2, [r0, r1]
+ mov r3, r3, asl #2
+ mov r0, r2, lsr r3
+ mov r2, #0
+.L18916:
+ tst r0, #15
+ ldrne r1, [sp, #68]
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, r1]
+ ldr r5, [sp, #124]
+ ldrne r1, [sp, #104]
+ add r2, r2, #1
+ strneh r4, [r3, r1] @ movhi
+ cmp r5, r2
+ mov r0, r0, lsr #4
+ bne .L18916
+ b .L18819
+.L19389:
+ ldr r2, [sp, #124]
+ rsb lr, ip, #8
+ cmp r2, lr
+ bge .L19392
+ cmp r2, #0
+ ble .L18819
+ cmp ip, #3
+ bls .L19395
+ ldr r2, [r8, #0]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L19398:
+ movs r3, r2, lsr #24
+ ldrne r4, [sp, #68]
+ mov r3, r1, asl #1
+ ldrneh r5, [r3, r4]
+ ldr r6, [sp, #124]
+ ldrne r4, [sp, #104]
+ add r1, r1, #1
+ strneh r5, [r3, r4] @ movhi
+ cmp r6, r1
+ mov r2, r2, asl #8
+ bne .L19398
+ b .L18819
+.L19169:
+ ldr r5, [sp, #124]
+ rsb lr, ip, #8
+ cmp r5, lr
+ bge .L19172
+ cmp r5, #0
+ ble .L18819
+ cmp ip, #3
+ bls .L19175
+ ldr r2, [r8, #4]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L19178:
+ tst r1, #255
+ ldrne r6, [sp, #68]
+ mov r3, r2, asl #1
+ ldrneh ip, [r3, r6]
+ ldr lr, [sp, #124]
+ ldrne r6, [sp, #104]
+ add r2, r2, #1
+ strneh ip, [r3, r6] @ movhi
+ cmp lr, r2
+ mov r1, r1, lsr #8
+ bne .L19178
+ b .L18819
+.L19039:
+ ldr r3, [sp, #124]
+ rsb lr, r4, #8
+ cmp r3, lr
+ bge .L19042
+ cmp r3, #0
+ ble .L18819
+ ldr r2, [r0, #0]
+ mov r3, r4, asl #2
+ mov r0, r2, asl r3
+ mov r2, #0
+.L19046:
+ movs r4, r0, lsr #28
+ ldrne r5, [sp, #68]
+ mov r3, r2, asl #1
+ ldrneh r6, [r3, r5]
+ ldr ip, [sp, #124]
+ ldrne r5, [sp, #104]
+ add r2, r2, #1
+ strneh r6, [r3, r5] @ movhi
+ cmp ip, r2
+ mov r0, r0, asl #4
+ bne .L19046
+ b .L18819
+.L19172:
+ cmp ip, #3
+ bls .L19202
+ cmp lr, #0
+ ldr r2, [r8, #4]
+ ldreq r5, [sp, #104]
+ beq .L19206
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L19207:
+ tst r1, #255
+ ldrne r0, [sp, #68]
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, r0]
+ ldrne r0, [sp, #104]
+ add r2, r2, #1
+ strneh r4, [r3, r0] @ movhi
+ cmp lr, r2
+ mov r1, r1, lsr #8
+ bne .L19207
+ ldr r5, [sp, #68]
+ mov r3, lr, asl #1
+ ldr r6, [sp, #104]
+ add r5, r5, r3
+ str r5, [sp, #68]
+ add r5, r3, r6
+.L19206:
+ ldr ip, [sp, #124]
+ add r8, r8, #64
+ rsb r7, lr, ip
+ b .L19171
+.L19272:
+ subs r4, r0, #4
+ ldr r2, [ip, #0]
+ ldreq r1, [sp, #104]
+ beq .L19284
+ mov r3, r1, asl #3
+ mov r3, r2, lsr r3
+ mov r1, #0
+.L19285:
+ tst r3, #255
+ ldrne r5, [sp, #68]
+ mov r2, r1, asl #1
+ ldrneh r6, [r2, r5]
+ ldrne r5, [sp, #104]
+ add r1, r1, #1
+ strneh r6, [r2, r5] @ movhi
+ cmp r1, r4
+ mov r3, r3, lsr #8
+ bne .L19285
+ mov r3, r0, asl #1
+ ldr r0, [sp, #68]
+ ldr r1, [sp, #104]
+ add r2, r0, r3
+ sub r2, r2, #8
+ add r3, r1, r3
+ str r2, [sp, #68]
+ sub r1, r3, #8
+.L19284:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L19290
+ tst r2, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #4]
+ strneh r5, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #6]
+ strneh r6, [r1, #6] @ movhi
+.L19290:
+ ldr r0, [sp, #68]
+ add r1, r1, #8
+ add r0, r0, #8
+ add ip, ip, #64
+ str r0, [sp, #68]
+ b .L19271
+.L18912:
+ cmp ip, #0
+ ldr r2, [r4, #0]
+ ldreq r5, [sp, #104]
+ beq .L18922
+ mov r3, r3, asl #2
+ mov r3, r2, lsr r3
+ mov r1, #0
+.L18923:
+ tst r3, #15
+ ldrne r6, [sp, #68]
+ mov r2, r1, asl #1
+ ldrneh lr, [r2, r6]
+ ldrne r6, [sp, #104]
+ add r1, r1, #1
+ strneh lr, [r2, r6] @ movhi
+ cmp ip, r1
+ mov r3, r3, lsr #4
+ bne .L18923
+ ldr r0, [sp, #68]
+ mov r3, ip, asl #1
+ ldr r1, [sp, #104]
+ add r0, r0, r3
+ str r0, [sp, #68]
+ add r5, r3, r1
+.L18922:
+ ldr r2, [sp, #124]
+ add r4, r4, #32
+ rsb r7, ip, r2
+ b .L18911
+.L19042:
+ cmp lr, #0
+ ldr r2, [r0, #0]
+ ldreq r1, [sp, #104]
+ beq .L19052
+ mov r3, r4, asl #2
+ mov r3, r2, asl r3
+ mov ip, #0
+.L19053:
+ movs r1, r3, lsr #28
+ ldrne r4, [sp, #68]
+ mov r2, ip, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #104]
+ add ip, ip, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp lr, ip
+ mov r3, r3, asl #4
+ bne .L19053
+ ldr r6, [sp, #68]
+ mov r3, lr, asl #1
+ ldr ip, [sp, #104]
+ add r6, r6, r3
+ str r6, [sp, #68]
+ add r1, r3, ip
+.L19052:
+ ldr r2, [sp, #124]
+ sub r0, r0, #32
+ rsb r7, lr, r2
+ b .L19041
+.L19492:
+ subs r4, r0, #4
+ ldr r1, [ip, #4]
+ ldreq r1, [sp, #104]
+ beq .L19504
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r3, r1, asl r3
+ mov r1, #0
+.L19505:
+ movs r2, r3, lsr #24
+ ldrne r5, [sp, #68]
+ mov r2, r1, asl #1
+ ldrneh r6, [r2, r5]
+ ldrne r5, [sp, #104]
+ add r1, r1, #1
+ strneh r6, [r2, r5] @ movhi
+ cmp r1, r4
+ mov r3, r3, asl #8
+ bne .L19505
+ mov r3, r0, asl #1
+ ldr r0, [sp, #68]
+ ldr r1, [sp, #104]
+ add r2, r0, r3
+ sub r2, r2, #8
+ add r3, r1, r3
+ str r2, [sp, #68]
+ sub r1, r3, #8
+.L19504:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L19510
+ tst r2, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #4]
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #68]
+ ldrneh r6, [r6, #0]
+ strneh r6, [r1, #0] @ movhi
+.L19510:
+ ldr r0, [sp, #68]
+ add r1, r1, #8
+ add r0, r0, #8
+ sub ip, ip, #64
+ str r0, [sp, #68]
+ b .L19491
+.L19392:
+ cmp ip, #3
+ bls .L19422
+ cmp lr, #0
+ ldr r2, [r8, #0]
+ ldreq r5, [sp, #104]
+ beq .L19426
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r3, r2, asl r3
+ mov r1, #0
+.L19427:
+ movs r0, r3, lsr #24
+ ldrne r4, [sp, #68]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #104]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp lr, r1
+ mov r3, r3, asl #8
+ bne .L19427
+ ldr r6, [sp, #68]
+ mov r3, lr, asl #1
+ ldr ip, [sp, #104]
+ add r6, r6, r3
+ str r6, [sp, #68]
+ add r5, ip, r3
+.L19426:
+ ldr ip, [sp, #124]
+ sub r8, r8, #64
+ rsb r7, lr, ip
+ b .L19391
+.L19638:
+ mov r7, #0
+ b .L18889
+.L19634:
+ mov r7, #0
+ b .L18854
+.L19202:
+ subs r0, lr, #4
+ ldr r2, [r8, #0]
+ ldreq r1, [sp, #104]
+ beq .L19214
+ mov r3, ip, asl #3
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L19215:
+ tst r1, #255
+ ldrne ip, [sp, #68]
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, ip]
+ ldrne ip, [sp, #104]
+ add r2, r2, #1
+ strneh r4, [r3, ip] @ movhi
+ cmp r2, r0
+ mov r1, r1, lsr #8
+ bne .L19215
+ ldr r5, [sp, #68]
+ mov r3, lr, asl #1
+ ldr r6, [sp, #104]
+ add r2, r5, r3
+ sub r2, r2, #8
+ add r3, r6, r3
+ str r2, [sp, #68]
+ sub r1, r3, #8
+.L19214:
+ ldr r2, [r8, #4]
+ cmp r2, #0
+ beq .L19220
+ tst r2, #255
+ ldrne ip, [sp, #68]
+ mov r3, r2, lsr #8
+ ldrneh ip, [ip, #0]
+ strneh ip, [r1, #0] @ movhi
+ tst r3, #255
+ ldrne r0, [sp, #68]
+ mov r3, r2, lsr #16
+ ldrneh r0, [r0, #2]
+ strneh r0, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #4]
+ strneh r3, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #6]
+ strneh r4, [r1, #6] @ movhi
+.L19220:
+ ldr r6, [sp, #68]
+ add r5, r1, #8
+ add r6, r6, #8
+ str r6, [sp, #68]
+ b .L19206
+.L19422:
+ subs r0, lr, #4
+ ldr r2, [r8, #4]
+ ldreq r1, [sp, #104]
+ beq .L19434
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r3, r2, asl r3
+ mov r1, #0
+.L19435:
+ movs r2, r3, lsr #24
+ ldrne r4, [sp, #68]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #104]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r1, r0
+ mov r3, r3, asl #8
+ bne .L19435
+ ldr r6, [sp, #68]
+ mov r3, lr, asl #1
+ ldr ip, [sp, #104]
+ add r2, r6, r3
+ sub r2, r2, #8
+ add r3, ip, r3
+ str r2, [sp, #68]
+ sub r1, r3, #8
+.L19434:
+ ldr r2, [r8, #0]
+ cmp r2, #0
+ beq .L19440
+ tst r2, #255
+ ldrne r0, [sp, #68]
+ mov r3, r2, lsr #8
+ ldrneh r0, [r0, #6]
+ strneh r0, [r1, #6] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #68]
+ ldrneh r3, [r3, #4]
+ strneh r3, [r1, #4] @ movhi
+ mov r3, r2, lsr #16
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r5, [sp, #68]
+ ldrneh r5, [r5, #0]
+ strneh r5, [r1, #0] @ movhi
+.L19440:
+ ldr r6, [sp, #68]
+ add r5, r1, #8
+ add r6, r6, #8
+ str r6, [sp, #68]
+ b .L19426
+.L19641:
+ mov r1, r9
+ b .L19620
+.L19640:
+ mov lr, r6
+ b .L19618
+.L19175:
+ ldr r0, [sp, #124]
+ ldr r3, [r8, #0]
+ add r2, r0, ip
+ mov r1, ip, asl #3
+ cmp r2, #4
+ mov r3, r3, lsr r1
+ bhi .L19182
+ cmp r0, #0
+ movne r1, #0
+ beq .L18819
+.L19198:
+ tst r3, #255
+ ldrne r5, [sp, #68]
+ mov r2, r1, asl #1
+ ldrneh r6, [r2, r5]
+ ldr ip, [sp, #124]
+ ldrne r5, [sp, #104]
+ add r1, r1, #1
+ strneh r6, [r2, r5] @ movhi
+ cmp ip, r1
+ mov r3, r3, lsr #8
+ bne .L19198
+ b .L18819
+.L19395:
+ ldr lr, [sp, #124]
+ mov r3, ip, asl #3
+ ldr r1, [r8, #4]
+ add r2, lr, ip
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L19402
+ cmp lr, #0
+ movne r2, #0
+ beq .L18819
+.L19418:
+ movs r5, r1, lsr #24
+ ldrne r6, [sp, #68]
+ mov r3, r2, asl #1
+ ldrneh ip, [r3, r6]
+ ldr lr, [sp, #124]
+ ldrne r6, [sp, #104]
+ add r2, r2, #1
+ strneh ip, [r3, r6] @ movhi
+ cmp lr, r2
+ mov r1, r1, asl #8
+ bne .L19418
+ b .L18819
+.L19182:
+ rsbs r0, ip, #4
+ ldreq ip, [sp, #104]
+ beq .L19187
+ mov r1, #0
+.L19188:
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #104]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r1, r0
+ mov r3, r3, lsr #8
+ bne .L19188
+ ldr r6, [sp, #68]
+ mov r3, r0, asl #1
+ ldr lr, [sp, #104]
+ add r6, r6, r3
+ str r6, [sp, #68]
+ add ip, r3, lr
+.L19187:
+ ldr r1, [sp, #124]
+ ldr r3, [r8, #4]
+ subs r0, r1, r0
+ beq .L18819
+ mov r1, #0
+.L19194:
+ tst r3, #255
+ ldrne r4, [sp, #68]
+ mov r2, r1, asl #1
+ ldrneh r4, [r2, r4]
+ add r1, r1, #1
+ strneh r4, [r2, ip] @ movhi
+ cmp r1, r0
+ mov r3, r3, lsr #8
+ bne .L19194
+ b .L18819
+.L19402:
+ rsbs r0, ip, #4
+ ldreq r3, [sp, #104]
+ beq .L19407
+ mov r2, #0
+.L19408:
+ movs r3, r1, lsr #24
+ ldrne r4, [sp, #68]
+ mov r3, r2, asl #1
+ ldrneh r5, [r3, r4]
+ ldrne r4, [sp, #104]
+ add r2, r2, #1
+ strneh r5, [r3, r4] @ movhi
+ cmp r2, r0
+ mov r1, r1, asl #8
+ bne .L19408
+ ldr r6, [sp, #68]
+ mov r3, r0, asl #1
+ ldr ip, [sp, #104]
+ add r6, r6, r3
+ str r6, [sp, #68]
+ add r3, r3, ip
+.L19407:
+ ldr lr, [sp, #124]
+ ldr r2, [r8, #0]
+ subs ip, lr, r0
+ beq .L18819
+ mov r0, #0
+.L19414:
+ movs r1, r2, lsr #24
+ ldrne r4, [sp, #68]
+ mov r1, r0, asl #1
+ ldrneh r4, [r1, r4]
+ add r0, r0, #1
+ strneh r4, [r1, r3] @ movhi
+ cmp r0, ip
+ mov r2, r2, asl #8
+ bne .L19414
+ b .L18819
+ .size render_scanline_obj_copy_tile_2D, .-render_scanline_obj_copy_tile_2D
+ .align 2
+ .global render_scanline_obj_copy_tile_1D
+ .type render_scanline_obj_copy_tile_1D, %function
+render_scanline_obj_copy_tile_1D:
+ @ args = 0, pretend = 0, frame = 592
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r5, .L20498
+ add r0, r0, r0, asl #2
+ ldrh r4, [r5, #6]
+ ldr ip, .L20498+4
+ add r0, r4, r0, asl #5
+ ldrh r6, [r5, #0]
+ sub sp, sp, #604
+ ldr ip, [ip, r0, asl #2]
+ str r6, [sp, #44]
+ str ip, [sp, #68]
+ cmp ip, #0
+ ldr ip, [sp, #44]
+ ldrh r6, [r5, #74]
+ str r4, [sp, #64]
+ ldr lr, .L20498+8
+ and r4, ip, #7
+ ldr ip, .L20498+12
+ ldrh r5, [r5, #80]
+ add r4, ip, r4, asl #7
+ add r0, lr, r0, asl #7
+ mov r6, r6, lsr #8
+ str r4, [sp, #52]
+ str r0, [sp, #72]
+ str r1, [sp, #20]
+ str r2, [sp, #16]
+ str r3, [sp, #12]
+ str r6, [sp, #48]
+ str r5, [sp, #40]
+ beq .L20448
+ rsb r0, r1, r2
+ add lr, r3, r1, asl #1
+ mov r1, #0
+ mov r2, r1
+ str lr, [sp, #100]
+ str r0, [sp, #120]
+ str r1, [sp, #60]
+ b .L19659
+.L19663:
+ ldr lr, [sp, #60]
+ ldr r0, [sp, #68]
+ add lr, lr, #1
+ cmp r0, lr
+ str lr, [sp, #60]
+ beq .L20448
+ ldr r2, [sp, #60]
+.L19659:
+ ldr r4, [sp, #72]
+ ldr r5, .L20498+16
+ ldrb r3, [r2, r4] @ zero_extendqisi2
+ ldr lr, .L20498+20
+ mov r3, r3, asl #3
+ ldrh r6, [r3, r5]
+ add r3, r3, r5
+ ldrh r7, [r3, #2]
+ mov fp, r6, lsr #12
+ and r2, fp, #12
+ orr sl, r2, r7, lsr #14
+ mov r1, r7, asl #23
+ ldr r9, [lr, sl, asl #2]
+ ands ip, r6, #512
+ mov r8, r1, asr #23
+ ldr r0, [sp, #16]
+ ldr r5, [sp, #20]
+ addne r1, r8, r9, asl #1
+ addeq r1, r8, r9
+ ldrh r3, [r3, #4]
+ ldr r2, [sp, #20]
+ cmp r8, r5
+ movcs r5, r8
+ cmp r1, r0
+ movcs r1, r0
+ str r3, [sp, #24]
+ cmp r0, r5
+ movls r3, #0
+ movhi r3, #1
+ cmp r2, r1
+ movcs r3, #0
+ cmp r3, #0
+ str ip, [sp, #28]
+ beq .L19663
+ ldr ip, [sp, #44]
+ add r4, sp, #124
+ str ip, [sp, #0]
+ ldr lr, [sp, #40]
+ ldr ip, [sp, #52]
+ mov r0, r5
+ ldr r3, [sp, #48]
+ mov r2, r4
+ str lr, [sp, #4]
+ str ip, [sp, #8]
+ bl render_scanline_conditional_tile
+ and r0, r6, #255
+ cmp r0, #160
+ ldr r3, .L20498+24
+ add r5, r4, r5, asl #1
+ subgt r0, r0, #256
+ tst r6, #256
+ str r5, [sp, #56]
+ ldr sl, [r3, sl, asl #2]
+ beq .L19667
+ tst r6, #8192
+ beq .L19669
+ mov r3, r7, lsr #4
+ ldr r1, .L20498+16
+ ldr lr, [sp, #28]
+ and r3, r3, #992
+ add r3, r3, r1
+ add r1, sl, sl, lsr #31
+ cmp lr, #0
+ ldrh r4, [r3, #30]
+ mov lr, r1, asr #1
+ add r2, r9, r9, lsr #31
+ ldr r1, [sp, #20]
+ mov ip, r2, asr #1
+ str r4, [sp, #32]
+ moveq fp, r9
+ moveq r5, ip
+ moveq r4, lr
+ movne fp, r9, asl #1
+ movne r5, ip, asl #1
+ movne r4, lr, asl #1
+ cmp r8, r1
+ ldrh r7, [r3, #6]
+ ldrh r2, [r3, #14]
+ ldrh r6, [r3, #22]
+ bge .L19674
+ rsb r1, r8, r1
+ rsb fp, r1, fp
+ cmp fp, #0
+ ble .L19663
+ ldr r8, [sp, #20]
+ rsb r5, r1, r5
+.L19674:
+ ldr r1, [sp, #16]
+ add r3, r8, fp
+ cmp r3, r1
+ bge .L20476
+.L19677:
+ add r0, r0, r4
+ ldr r4, [sp, #32]
+ mov ip, ip, asl #8
+ mov r1, r4, asl #16
+ mov r3, r7, asl #16
+ mov r4, r1, asr #16
+ str ip, [sp, #108]
+ ldr r1, [sp, #64]
+ mov ip, lr, asl #8
+ ldr lr, [sp, #12]
+ mov r2, r2, asl #16
+ mov r3, r3, asr #16
+ cmp r6, #0
+ add r8, lr, r8, asl #1
+ str r3, [sp, #76]
+ mov r7, r2, asr #16
+ rsb lr, r0, r1
+ beq .L20477
+ ldr r0, [sp, #24]
+ cmp r9, #0
+ add r1, r9, #7
+ mov r2, r0, asl #22
+ movge r1, r9
+ ldr r3, .L20498+28
+ mov r2, r2, lsr #22
+ mov r1, r1, asr #3
+ add r2, r3, r2, asl #5
+ mov r1, r1, asl #6
+ cmp fp, #0
+ str r2, [sp, #116]
+ str r1, [sp, #80]
+ ble .L19663
+ mov r3, r6, asl #16
+ mov r6, r3, asr #16
+ ldr r0, [sp, #76]
+ mul r2, lr, r4
+ mul r1, r6, r5
+ mul r3, lr, r7
+ mul r0, r5, r0
+ rsb r2, r1, r2
+ ldr r1, [sp, #108]
+ rsb r3, r0, r3
+ add r5, r1, r3
+ add r4, ip, r2
+ mov lr, r5, asr #8
+ mov ip, r4, asr #8
+ cmp lr, r9
+ cmpcc ip, sl
+ movcs r3, #0
+ movcc r3, #1
+ movcs r7, r3
+ bcc .L20478
+.L19695:
+ ldr r3, [sp, #56]
+ ldr r2, [sp, #76]
+ add r7, r7, #1
+ add r5, r5, r2
+ add r4, r4, r6
+ add r3, r3, #2
+ cmp fp, r7
+ mov lr, r5, asr #8
+ mov ip, r4, asr #8
+ add r8, r8, #2
+ str r3, [sp, #56]
+ beq .L19663
+ cmp lr, r9
+ cmpcc ip, sl
+ bcs .L19695
+ cmp ip, sl
+ cmpcc lr, r9
+ bcs .L19663
+.L20479:
+ ldr r0, [sp, #76]
+ and r3, ip, #7
+ mov r2, lr, asr #3
+ ldr r1, [sp, #116]
+ mov r3, r3, asl #3
+ add r5, r5, r0
+ add r3, r3, r2, asl #6
+ ldr r0, [sp, #80]
+ mov r2, ip, asr #3
+ add r3, r3, r1
+ mla r0, r2, r0, r3
+ and r1, lr, #7
+ ldrb r3, [r0, r1] @ zero_extendqisi2
+ add r7, r7, #1
+ cmp r3, #0
+ ldrne r2, [sp, #56]
+ ldr r3, [sp, #56]
+ ldrneh r2, [r2, #0]
+ add r4, r4, r6
+ strneh r2, [r8, #0] @ movhi
+ add r3, r3, #2
+ cmp fp, r7
+ mov ip, r4, asr #8
+ mov lr, r5, asr #8
+ add r8, r8, #2
+ str r3, [sp, #56]
+ ble .L19663
+.L19698:
+ cmp ip, sl
+ cmpcc lr, r9
+ bcc .L20479
+ b .L19663
+.L19667:
+ ldr lr, [sp, #64]
+ tst r7, #8192
+ rsb ip, r0, lr
+ rsbne r3, ip, sl
+ subne ip, r3, #1
+ mov r2, r7, asl #19
+ and r3, fp, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L19663
+ .p2align 2
+.L19747:
+ .word .L19743
+ .word .L19744
+ .word .L19745
+ .word .L19746
+.L20448:
+ add sp, sp, #604
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L19669:
+ ldr r5, .L20498+16
+ mov r3, r7, lsr #4
+ and r3, r3, #992
+ add r3, r3, r5
+ ldr r4, [sp, #28]
+ add r1, sl, sl, lsr #31
+ ldrh r6, [r3, #30]
+ mov lr, r1, asr #1
+ add r2, r9, r9, lsr #31
+ ldr r1, [sp, #20]
+ cmp r4, #0
+ mov ip, r2, asr #1
+ str r6, [sp, #36]
+ moveq r5, ip
+ moveq r6, r9
+ moveq r4, lr
+ movne r6, r9, asl #1
+ movne r5, ip, asl #1
+ movne r4, lr, asl #1
+ cmp r8, r1
+ ldrh r7, [r3, #6]
+ ldrh r2, [r3, #14]
+ ldrh fp, [r3, #22]
+ bge .L19706
+ rsb r1, r8, r1
+ rsb r6, r1, r6
+ cmp r6, #0
+ ble .L19663
+ ldr r8, [sp, #20]
+ rsb r5, r1, r5
+.L19706:
+ ldr r1, [sp, #16]
+ add r3, r8, r6
+ cmp r3, r1
+ bge .L20480
+.L19709:
+ add r0, r0, r4
+ ldr r4, [sp, #36]
+ mov ip, ip, asl #8
+ mov r1, r4, asl #16
+ mov r3, r7, asl #16
+ mov r2, r2, asl #16
+ mov r4, r1, asr #16
+ str ip, [sp, #104]
+ ldr r1, [sp, #64]
+ mov ip, lr, asl #8
+ ldr lr, [sp, #12]
+ mov r3, r3, asr #16
+ mov r2, r2, asr #16
+ cmp fp, #0
+ add r8, lr, r8, asl #1
+ str r3, [sp, #84]
+ str r2, [sp, #88]
+ rsb lr, r0, r1
+ beq .L20481
+ ldr r0, [sp, #24]
+ cmp r9, #0
+ add r1, r9, #7
+ mov r2, r0, asl #22
+ movge r1, r9
+ ldr r3, .L20498+28
+ mov r2, r2, lsr #22
+ mov r1, r1, asr #3
+ add r2, r3, r2, asl #5
+ mov r1, r1, asl #5
+ cmp r6, #0
+ str r2, [sp, #112]
+ str r1, [sp, #96]
+ ble .L19663
+ mov r3, fp, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #92]
+ ldr r1, [sp, #92]
+ ldr r3, [sp, #88]
+ ldr r0, [sp, #84]
+ mul r2, lr, r4
+ mul r1, r5, r1
+ mul r3, lr, r3
+ mul r0, r5, r0
+ rsb r2, r1, r2
+ ldr r1, [sp, #104]
+ rsb r3, r0, r3
+ add r5, r1, r3
+ add r4, ip, r2
+ mov lr, r5, asr #8
+ mov r3, r4, asr #8
+ cmp lr, r9
+ cmpcc r3, sl
+ movcs r2, #0
+ movcc r2, #1
+ movcs r7, r2
+ bcc .L20482
+.L19730:
+ ldr r3, [sp, #92]
+ ldr ip, [sp, #56]
+ ldr r2, [sp, #84]
+ add r7, r7, #1
+ add r5, r5, r2
+ add r4, r4, r3
+ add ip, ip, #2
+ cmp r6, r7
+ mov lr, r5, asr #8
+ mov r3, r4, asr #8
+ add r8, r8, #2
+ str ip, [sp, #56]
+ beq .L19663
+ cmp lr, r9
+ cmpcc r3, sl
+ bcs .L19730
+ cmp r3, sl
+ cmpcc lr, r9
+ bcs .L19663
+.L20483:
+ ldr r1, [sp, #112]
+ and r0, r3, #7
+ ldr r2, [sp, #96]
+ add r0, r1, r0, asl #2
+ and r1, r3, #7
+ mov r3, r3, asr #3
+ mov ip, lr, asr #1
+ mul r2, r3, r2
+ and fp, ip, #3
+ ldr ip, [sp, #112]
+ mov r3, lr, asr #1
+ add r1, ip, r1, asl #2
+ and ip, r3, #3
+ mov r3, lr, asr #3
+ add r2, r2, r3, asl #5
+ add r3, r0, r2
+ tst lr, #1
+ add r0, r1, r2
+ ldreqb r3, [r0, ip] @ zero_extendqisi2
+ ldrneb r3, [r3, fp] @ zero_extendqisi2
+ andeq r0, r3, #15
+ movne r0, r3, lsr #4
+ cmp r0, #0
+ ldrne r2, [sp, #56]
+ ldr lr, [sp, #84]
+ ldrneh r2, [r2, #0]
+ ldr ip, [sp, #56]
+ ldr r1, [sp, #92]
+ add r7, r7, #1
+ strneh r2, [r8, #0] @ movhi
+ add r5, r5, lr
+ add r4, r4, r1
+ add ip, ip, #2
+ cmp r6, r7
+ mov lr, r5, asr #8
+ mov r3, r4, asr #8
+ add r8, r8, #2
+ str ip, [sp, #56]
+ ble .L19663
+.L19733:
+ cmp r3, sl
+ cmpcc lr, r9
+ bcc .L20483
+ b .L19663
+.L20480:
+ rsb r6, r8, r1
+ cmp r6, #0
+ bgt .L19709
+ b .L19663
+.L20476:
+ rsb fp, r8, r1
+ cmp fp, #0
+ bgt .L19677
+ b .L19663
+.L20477:
+ mla r3, lr, r4, ip
+ mov r0, r3, asr #8
+ cmp r0, sl
+ bcs .L19663
+ cmp r9, #0
+ ldr r4, [sp, #24]
+ add r3, r9, #7
+ movge r3, r9
+ mov r2, r4, asl #22
+ mov r3, r3, asr #3
+ mov r3, r3, asl #1
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ mla ip, r3, r1, r2
+ and r0, r0, #7
+ ldr r3, .L20498+28
+ add r0, r0, ip, asl #2
+ cmp fp, #0
+ add r4, r3, r0, asl #3
+ ble .L19663
+ ldr r2, [sp, #76]
+ mul r3, lr, r7
+ mul r2, r5, r2
+ ldr r5, [sp, #108]
+ rsb r3, r2, r3
+ add r0, r5, r3
+ mov ip, r0, asr #8
+ cmp ip, r9
+ movcs lr, r6
+ bcc .L20484
+.L19685:
+ ldr r1, [sp, #56]
+ ldr r6, [sp, #76]
+ add lr, lr, #1
+ add r0, r0, r6
+ add r1, r1, #2
+ cmp fp, lr
+ mov ip, r0, asr #8
+ add r8, r8, #2
+ str r1, [sp, #56]
+ beq .L19663
+ cmp ip, r9
+ bcs .L19685
+ b .L20462
+.L20481:
+ mla r3, lr, r4, ip
+ mov r0, r3, asr #8
+ cmp r0, sl
+ bcs .L19663
+ ldr r4, [sp, #24]
+ cmp r9, #0
+ add r3, r9, #7
+ mov r2, r4, asl #22
+ movge r3, r9
+ mov r3, r3, asr #3
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ mla ip, r3, r1, r2
+ and r0, r0, #7
+ ldr r3, .L20498+28
+ add r0, r0, ip, asl #3
+ cmp r6, #0
+ add r7, r3, r0, asl #2
+ ble .L19663
+ ldr r3, [sp, #88]
+ ldr r2, [sp, #84]
+ mul r3, lr, r3
+ mul r2, r5, r2
+ ldr r5, [sp, #104]
+ rsb r3, r2, r3
+ add r0, r5, r3
+ mov ip, r0, asr #8
+ cmp ip, r9
+ movcs r1, fp
+ bcc .L20485
+.L19717:
+ ldr ip, [sp, #84]
+ ldr lr, [sp, #56]
+ add r1, r1, #1
+ add r0, r0, ip
+ add lr, lr, #2
+ cmp r6, r1
+ mov ip, r0, asr #8
+ add r8, r8, #2
+ str lr, [sp, #56]
+ beq .L19663
+ cmp ip, r9
+ bcs .L19717
+ b .L20464
+.L19746:
+ cmp r9, #0
+ add r2, r9, #7
+ movge r2, r9
+ subs r3, r9, #8
+ submi r3, r9, #1
+ mov lr, r2, asr #3
+ mov r3, r3, asr #3
+ mov r1, ip, lsr #3
+ mla r0, lr, r1, r3
+ ldr r1, [sp, #24]
+ and r3, ip, #7
+ mov r2, r1, asl #22
+ mov r2, r2, lsr #22
+ add r2, r2, r0, asl #1
+ add r3, r3, r2, asl #2
+ ldr r2, [sp, #20]
+ mov r0, r3, asl #3
+ ldr r3, .L20498+28
+ cmp r8, r2
+ add r7, r0, r3
+ blt .L20486
+ ldr r4, [sp, #16]
+ add r3, r8, r9
+ cmp r4, r3
+ bhi .L20384
+ rsb r9, r8, r4
+ cmp r9, #0
+ ble .L19663
+ ldr r5, [sp, #12]
+ movs sl, r9, lsr #3
+ add r1, r5, r8, asl #1
+ beq .L20387
+ ldr r3, .L20498+32
+ ldr r4, [sp, #56]
+ add r0, r0, r3
+ mov lr, r1
+ mov r5, r7
+ mov r2, #0
+.L20389:
+ ldr ip, [r0, #68]
+ cmp ip, #0
+ beq .L20390
+ tst ip, #255
+ ldrneh r6, [r4, #6]
+ mov r3, ip, lsr #8
+ strneh r6, [lr, #6] @ movhi
+ tst r3, #255
+ ldrneh r3, [r4, #4]
+ strneh r3, [lr, #4] @ movhi
+ mov r3, ip, lsr #16
+ tst r3, #255
+ ldrneh r6, [r4, #2]
+ strneh r6, [lr, #2] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh ip, [r4, #0]
+ strneh ip, [lr, #0] @ movhi
+.L20390:
+ ldr ip, [r5, #0]
+ cmp ip, #0
+ beq .L20399
+ tst ip, #255
+ ldrneh r3, [r4, #14]
+ strneh r3, [lr, #14] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r6, [r4, #12]
+ mov r3, ip, lsr #16
+ strneh r6, [lr, #12] @ movhi
+ tst r3, #255
+ ldrneh r3, [r4, #10]
+ strneh r3, [lr, #10] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh r6, [r4, #8]
+ strneh r6, [lr, #8] @ movhi
+.L20399:
+ add r2, r2, #1
+ cmp sl, r2
+ sub r5, r5, #64
+ add lr, lr, #16
+ add r4, r4, #16
+ sub r0, r0, #64
+ bne .L20389
+ ldr ip, [sp, #56]
+ mov r3, sl, asl #4
+ rsb r2, sl, sl, asl #26
+ add ip, ip, r3
+ add r1, r1, r3
+ add r7, r7, r2, asl #6
+ str ip, [sp, #56]
+.L20387:
+ ands ip, r9, #7
+ beq .L19663
+ cmp ip, #3
+ ldrls r2, [r7, #4]
+ bls .L20422
+ ldr r2, [r7, #4]
+ cmp r2, #0
+ beq .L20412
+ tst r2, #255
+ ldrne lr, [sp, #56]
+ mov r3, r2, lsr #8
+ ldrneh lr, [lr, #6]
+ strneh lr, [r1, #6] @ movhi
+ tst r3, #255
+ ldrne r0, [sp, #56]
+ mov r3, r2, lsr #16
+ ldrneh r0, [r0, #4]
+ strneh r0, [r1, #4] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #2]
+ strneh r3, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #0]
+ strneh r4, [r1, #0] @ movhi
+.L20412:
+ subs ip, ip, #4
+ ldr r2, [r7, #0]
+ beq .L19663
+ ldr r5, [sp, #56]
+ add r1, r1, #8
+ add r5, r5, #8
+ str r5, [sp, #56]
+.L20422:
+ mov r3, #0
+.L20423:
+ movs r6, r2, lsr #24
+ ldrne lr, [sp, #56]
+ mov r0, r3, asl #1
+ ldrneh lr, [r0, lr]
+ add r3, r3, #1
+ strneh lr, [r0, r1] @ movhi
+ cmp ip, r3
+ mov r2, r2, asl #8
+ bhi .L20423
+ b .L19663
+.L19743:
+ ldr r0, [sp, #24]
+ cmp r9, #0
+ add r3, r9, #7
+ mov r2, r0, asl #22
+ movge r3, r9
+ mov lr, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r3, ip, lsr #3
+ mla r0, lr, r3, r2
+ ldr r2, [sp, #20]
+ and r1, ip, #7
+ ldr r3, .L20498+28
+ add r1, r1, r0, asl #3
+ cmp r8, r2
+ add r0, r3, r1, asl #2
+ blt .L20487
+ ldr r4, [sp, #16]
+ add r3, r8, r9
+ cmp r4, r3
+ bhi .L19829
+ rsb r7, r8, r4
+ cmp r7, #0
+ ble .L19663
+ ldr r6, [sp, #12]
+ movs r5, r7, lsr #3
+ add r1, r6, r8, asl #1
+ beq .L19832
+ ldr lr, [sp, #56]
+ mov ip, r1
+ mov r4, r0
+ mov r2, #0
+.L19834:
+ ldr r3, [r4, #0]
+ cmp r3, #0
+ beq .L19835
+ tst r3, #15
+ ldrneh r6, [lr, #0]
+ strneh r6, [ip, #0] @ movhi
+ tst r3, #240
+ ldrneh r6, [lr, #2]
+ strneh r6, [ip, #2] @ movhi
+ tst r3, #3840
+ ldrneh r6, [lr, #4]
+ strneh r6, [ip, #4] @ movhi
+ tst r3, #61440
+ ldrneh r6, [lr, #6]
+ strneh r6, [ip, #6] @ movhi
+ tst r3, #983040
+ ldrneh r6, [lr, #8]
+ strneh r6, [ip, #8] @ movhi
+ tst r3, #15728640
+ ldrneh r6, [lr, #10]
+ strneh r6, [ip, #10] @ movhi
+ tst r3, #251658240
+ ldrneh r6, [lr, #12]
+ strneh r6, [ip, #12] @ movhi
+ movs r3, r3, lsr #28
+ ldrneh r3, [lr, #14]
+ strneh r3, [ip, #14] @ movhi
+.L19835:
+ add r2, r2, #1
+ cmp r2, r5
+ add r4, r4, #32
+ add ip, ip, #16
+ add lr, lr, #16
+ bne .L19834
+ ldr r4, [sp, #56]
+ mov r3, r5, asl #4
+ add r4, r4, r3
+ add r1, r1, r3
+ add r0, r0, r5, asl #5
+ str r4, [sp, #56]
+.L19832:
+ ands ip, r7, #7
+ beq .L19663
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L19854:
+ tst r0, #15
+ ldrne r5, [sp, #56]
+ mov r3, r2, asl #1
+ ldrneh r5, [r3, r5]
+ add r2, r2, #1
+ strneh r5, [r3, r1] @ movhi
+ cmp r2, ip
+ mov r0, r0, lsr #4
+ bne .L19854
+ b .L19663
+.L19744:
+ ldr lr, [sp, #24]
+ cmp r9, #0
+ add r3, r9, #7
+ mov r2, lr, asl #22
+ movge r3, r9
+ mov lr, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r1, ip, lsr #3
+ mla r0, lr, r1, r2
+ subs r3, r9, #8
+ submi r3, r9, #1
+ add r0, r0, r3, asr #3
+ and r2, ip, #7
+ add r2, r2, r0, asl #3
+ ldr r0, [sp, #20]
+ ldr r3, .L20498+28
+ cmp r8, r0
+ add r0, r3, r2, asl #2
+ blt .L20488
+ ldr r1, [sp, #16]
+ add r3, r8, r9
+ cmp r1, r3
+ bhi .L19959
+ rsb r7, r8, r1
+ cmp r7, #0
+ ble .L19663
+ ldr r2, [sp, #12]
+ movs r3, r7, lsr #3
+ add r1, r2, r8, asl #1
+ beq .L19962
+ ldr lr, [sp, #56]
+ mov ip, r1
+ mov r4, r0
+ mov r5, #0
+.L19964:
+ ldr r2, [r4, #0]
+ cmp r2, #0
+ beq .L19965
+ tst r2, #15
+ ldrneh r6, [lr, #14]
+ strneh r6, [ip, #14] @ movhi
+ tst r2, #240
+ ldrneh r6, [lr, #12]
+ strneh r6, [ip, #12] @ movhi
+ tst r2, #3840
+ ldrneh r6, [lr, #10]
+ strneh r6, [ip, #10] @ movhi
+ tst r2, #61440
+ ldrneh r6, [lr, #8]
+ strneh r6, [ip, #8] @ movhi
+ tst r2, #983040
+ ldrneh r6, [lr, #6]
+ strneh r6, [ip, #6] @ movhi
+ tst r2, #15728640
+ ldrneh r6, [lr, #4]
+ strneh r6, [ip, #4] @ movhi
+ tst r2, #251658240
+ ldrneh r6, [lr, #2]
+ strneh r6, [ip, #2] @ movhi
+ movs r2, r2, lsr #28
+ ldrneh r2, [lr, #0]
+ strneh r2, [ip, #0] @ movhi
+.L19965:
+ add r5, r5, #1
+ cmp r5, r3
+ sub r4, r4, #32
+ add ip, ip, #16
+ add lr, lr, #16
+ bne .L19964
+ ldr r4, [sp, #56]
+ rsb r2, r3, r3, asl #27
+ mov r3, r3, asl #4
+ add r4, r4, r3
+ add r1, r1, r3
+ add r0, r0, r2, asl #5
+ str r4, [sp, #56]
+.L19962:
+ ands ip, r7, #7
+ beq .L19663
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L19984:
+ movs r5, r0, lsr #28
+ ldrne r6, [sp, #56]
+ mov r3, r2, asl #1
+ ldrneh r6, [r3, r6]
+ add r2, r2, #1
+ strneh r6, [r3, r1] @ movhi
+ cmp r2, ip
+ mov r0, r0, asl #4
+ bne .L19984
+ b .L19663
+.L19745:
+ ldr r4, [sp, #24]
+ cmp r9, #0
+ add r3, r9, #7
+ mov r1, r4, asl #22
+ movge r3, r9
+ mov r2, ip, lsr #3
+ mov r4, r3, asr #3
+ mov r2, r2, asl #1
+ mov r1, r1, lsr #22
+ mla r0, r2, r4, r1
+ and r3, ip, #7
+ add r3, r3, r0, asl #2
+ ldr r5, [sp, #20]
+ mov r0, r3, asl #3
+ ldr r3, .L20498+28
+ cmp r8, r5
+ add r2, r0, r3
+ blt .L20489
+ ldr r5, [sp, #16]
+ add r3, r8, r9
+ cmp r5, r3
+ bhi .L20164
+ rsb r9, r8, r5
+ cmp r9, #0
+ ble .L19663
+ ldr r6, [sp, #12]
+ movs sl, r9, lsr #3
+ add r1, r6, r8, asl #1
+ beq .L20167
+ ldr r3, .L20498+36
+ ldr r4, [sp, #56]
+ add r0, r0, r3
+ mov lr, r1
+ mov r5, r2
+ mov r7, #0
+.L20169:
+ ldr ip, [r5, #0]
+ cmp ip, #0
+ beq .L20170
+ tst ip, #255
+ ldrneh r3, [r4, #0]
+ strneh r3, [lr, #0] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r6, [r4, #2]
+ mov r3, ip, lsr #16
+ strneh r6, [lr, #2] @ movhi
+ tst r3, #255
+ ldrneh r3, [r4, #4]
+ strneh r3, [lr, #4] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh r6, [r4, #6]
+ strneh r6, [lr, #6] @ movhi
+.L20170:
+ ldr ip, [r0, #-60]
+ cmp ip, #0
+ beq .L20179
+ tst ip, #255
+ ldrneh r3, [r4, #8]
+ strneh r3, [lr, #8] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r6, [r4, #10]
+ mov r3, ip, lsr #16
+ strneh r6, [lr, #10] @ movhi
+ tst r3, #255
+ ldrneh r3, [r4, #12]
+ strneh r3, [lr, #12] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh r6, [r4, #14]
+ strneh r6, [lr, #14] @ movhi
+.L20179:
+ add r7, r7, #1
+ cmp r7, sl
+ add r5, r5, #64
+ add lr, lr, #16
+ add r4, r4, #16
+ add r0, r0, #64
+ bne .L20169
+ ldr ip, [sp, #56]
+ mov r3, sl, asl #4
+ add ip, ip, r3
+ add r1, r1, r3
+ add r2, r2, sl, asl #6
+ str ip, [sp, #56]
+.L20167:
+ ands ip, r9, #7
+ beq .L19663
+ cmp ip, #3
+ ldrls r3, [r2, #0]
+ bls .L20202
+ ldr r0, [r2, #0]
+ cmp r0, #0
+ beq .L20192
+ tst r0, #255
+ ldrne lr, [sp, #56]
+ mov r3, r0, lsr #8
+ ldrneh lr, [lr, #0]
+ strneh lr, [r1, #0] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #2]
+ strneh r3, [r1, #2] @ movhi
+ mov r3, r0, lsr #16
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #4]
+ strneh r4, [r1, #4] @ movhi
+ movs r0, r0, lsr #24
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #6]
+ strneh r5, [r1, #6] @ movhi
+.L20192:
+ subs ip, ip, #4
+ ldr r3, [r2, #4]
+ beq .L19663
+ ldr r6, [sp, #56]
+ add r1, r1, #8
+ add r6, r6, #8
+ str r6, [sp, #56]
+.L20202:
+ mov r2, #0
+.L20203:
+ tst r3, #255
+ ldrne lr, [sp, #56]
+ mov r0, r2, asl #1
+ ldrneh lr, [r0, lr]
+ add r2, r2, #1
+ strneh lr, [r0, r1] @ movhi
+ cmp ip, r2
+ mov r3, r3, lsr #8
+ bhi .L20203
+ b .L19663
+.L20499:
+ .align 2
+.L20498:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word tile_mode_renderers
+ .word oam_ram
+ .word obj_width_table
+ .word obj_height_table
+ .word vram+65536
+ .word vram+65472
+ .word vram+65600
+.L20489:
+ rsb r0, r8, r5
+ rsb lr, r0, r9
+ cmp lr, #0
+ ble .L19663
+ ldr r6, [sp, #16]
+ add r3, r8, r9
+ cmp r6, r3
+ bhi .L20011
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ add r8, r2, r3, asl #6
+ bne .L20013
+ ldr r7, [sp, #120]
+ ldr r5, [sp, #100]
+.L20015:
+ movs r4, r7, lsr #3
+ beq .L20073
+ ldr r0, [sp, #56]
+ mov r1, r5
+ mov ip, r8
+ mov lr, #0
+.L20075:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L20076
+ tst r2, #255
+ ldrneh r3, [r0, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r6, [r0, #2]
+ mov r3, r2, lsr #16
+ strneh r6, [r1, #2] @ movhi
+ tst r3, #255
+ ldrneh r3, [r0, #4]
+ strneh r3, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r6, [r0, #6]
+ strneh r6, [r1, #6] @ movhi
+.L20076:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L20085
+ tst r2, #255
+ ldrneh r3, [r0, #8]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r6, [r0, #10]
+ mov r3, r2, lsr #16
+ strneh r6, [r1, #10] @ movhi
+ tst r3, #255
+ ldrneh r3, [r0, #12]
+ strneh r3, [r1, #12] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r6, [r0, #14]
+ strneh r6, [r1, #14] @ movhi
+.L20085:
+ add lr, lr, #1
+ cmp lr, r4
+ add ip, ip, #64
+ add r1, r1, #16
+ add r0, r0, #16
+ bne .L20075
+ ldr ip, [sp, #56]
+ mov r3, r4, asl #4
+ add ip, ip, r3
+ add r5, r5, r3
+ add r8, r8, r4, asl #6
+ str ip, [sp, #56]
+.L20073:
+ ands r0, r7, #7
+ beq .L19663
+ cmp r0, #3
+ ldrls r3, [r8, #0]
+ bls .L20108
+ ldr r2, [r8, #0]
+ cmp r2, #0
+ beq .L20098
+ tst r2, #255
+ ldrne lr, [sp, #56]
+ mov r3, r2, lsr #8
+ ldrneh lr, [lr, #0]
+ strneh lr, [r5, #0] @ movhi
+ tst r3, #255
+ ldrne r1, [sp, #56]
+ mov r3, r2, lsr #16
+ ldrneh r1, [r1, #2]
+ strneh r1, [r5, #2] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #4]
+ strneh r3, [r5, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #6]
+ strneh r4, [r5, #6] @ movhi
+.L20098:
+ subs r0, r0, #4
+ ldr r3, [r8, #4]
+ beq .L19663
+ ldr r6, [sp, #56]
+ add r5, r5, #8
+ add r6, r6, #8
+ str r6, [sp, #56]
+.L20108:
+ mov r2, #0
+.L20109:
+ tst r3, #255
+ ldrne ip, [sp, #56]
+ mov r1, r2, asl #1
+ ldrneh ip, [r1, ip]
+ add r2, r2, #1
+ strneh ip, [r1, r5] @ movhi
+ cmp r0, r2
+ mov r3, r3, lsr #8
+ bhi .L20109
+ b .L19663
+.L20488:
+ ldr r1, [sp, #20]
+ rsb ip, r8, r1
+ rsb r1, ip, r9
+ cmp r1, #0
+ ble .L19663
+ ldr r2, [sp, #16]
+ add r3, r8, r9
+ cmp r2, r3
+ bhi .L19881
+ mov r3, ip, lsr #3
+ ands r4, ip, #7
+ sub r0, r0, r3, asl #5
+ bne .L19883
+ ldr r7, [sp, #120]
+ ldr r1, [sp, #100]
+.L19885:
+ movs r3, r7, lsr #3
+ beq .L19902
+ ldr lr, [sp, #56]
+ mov ip, r1
+ mov r4, r0
+ mov r5, #0
+.L19904:
+ ldr r2, [r4, #0]
+ cmp r2, #0
+ beq .L19905
+ tst r2, #15
+ ldrneh r6, [lr, #14]
+ strneh r6, [ip, #14] @ movhi
+ tst r2, #240
+ ldrneh r6, [lr, #12]
+ strneh r6, [ip, #12] @ movhi
+ tst r2, #3840
+ ldrneh r6, [lr, #10]
+ strneh r6, [ip, #10] @ movhi
+ tst r2, #61440
+ ldrneh r6, [lr, #8]
+ strneh r6, [ip, #8] @ movhi
+ tst r2, #983040
+ ldrneh r6, [lr, #6]
+ strneh r6, [ip, #6] @ movhi
+ tst r2, #15728640
+ ldrneh r6, [lr, #4]
+ strneh r6, [ip, #4] @ movhi
+ tst r2, #251658240
+ ldrneh r6, [lr, #2]
+ strneh r6, [ip, #2] @ movhi
+ movs r2, r2, lsr #28
+ ldrneh r2, [lr, #0]
+ strneh r2, [ip, #0] @ movhi
+.L19905:
+ add r5, r5, #1
+ cmp r5, r3
+ sub r4, r4, #32
+ add ip, ip, #16
+ add lr, lr, #16
+ bne .L19904
+ ldr r4, [sp, #56]
+ rsb r2, r3, r3, asl #27
+ mov r3, r3, asl #4
+ add r4, r4, r3
+ add r1, r1, r3
+ add r0, r0, r2, asl #5
+ str r4, [sp, #56]
+.L19902:
+ ands ip, r7, #7
+ beq .L19663
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L19924:
+ movs r5, r0, lsr #28
+ ldrne r6, [sp, #56]
+ mov r3, r2, asl #1
+ ldrneh r6, [r3, r6]
+ add r2, r2, #1
+ strneh r6, [r3, r1] @ movhi
+ cmp r2, ip
+ mov r0, r0, asl #4
+ bne .L19924
+ b .L19663
+.L20487:
+ rsb ip, r8, r2
+ rsb lr, ip, r9
+ cmp lr, #0
+ ble .L19663
+ ldr r4, [sp, #16]
+ add r3, r8, r9
+ cmp r4, r3
+ bhi .L19751
+ mov r3, ip, lsr #3
+ mov r1, r3, asl #5
+ ands r3, ip, #7
+ add r4, r0, r1
+ bne .L19753
+ ldr r7, [sp, #120]
+ ldr r5, [sp, #100]
+.L19755:
+ movs lr, r7, lsr #3
+ beq .L19772
+ ldr r1, [sp, #56]
+ mov r2, r5
+ mov r0, r4
+ mov ip, #0
+.L19774:
+ ldr r3, [r0, #0]
+ cmp r3, #0
+ beq .L19775
+ tst r3, #15
+ ldrneh r6, [r1, #0]
+ strneh r6, [r2, #0] @ movhi
+ tst r3, #240
+ ldrneh r6, [r1, #2]
+ strneh r6, [r2, #2] @ movhi
+ tst r3, #3840
+ ldrneh r6, [r1, #4]
+ strneh r6, [r2, #4] @ movhi
+ tst r3, #61440
+ ldrneh r6, [r1, #6]
+ strneh r6, [r2, #6] @ movhi
+ tst r3, #983040
+ ldrneh r6, [r1, #8]
+ strneh r6, [r2, #8] @ movhi
+ tst r3, #15728640
+ ldrneh r6, [r1, #10]
+ strneh r6, [r2, #10] @ movhi
+ tst r3, #251658240
+ ldrneh r6, [r1, #12]
+ strneh r6, [r2, #12] @ movhi
+ movs r3, r3, lsr #28
+ ldrneh r3, [r1, #14]
+ strneh r3, [r2, #14] @ movhi
+.L19775:
+ add ip, ip, #1
+ cmp ip, lr
+ add r0, r0, #32
+ add r2, r2, #16
+ add r1, r1, #16
+ bne .L19774
+ ldr r6, [sp, #56]
+ mov r3, lr, asl #4
+ add r6, r6, r3
+ add r5, r5, r3
+ add r4, r4, lr, asl #5
+ str r6, [sp, #56]
+.L19772:
+ ands r0, r7, #7
+ beq .L19663
+ ldr r3, [r4, #0]
+ mov r1, #0
+.L19794:
+ tst r3, #15
+ ldrne ip, [sp, #56]
+ mov r2, r1, asl #1
+ ldrneh ip, [r2, ip]
+ add r1, r1, #1
+ strneh ip, [r2, r5] @ movhi
+ cmp r1, r0
+ mov r3, r3, lsr #4
+ bne .L19794
+ b .L19663
+.L19720:
+ cmp ip, r9
+ bcs .L19663
+.L20464:
+ mov r3, ip, asr #1
+ and r4, r3, #3
+ mov r3, ip, asr #3
+ mov r3, r3, asl #5
+ mov r2, ip, asr #1
+ tst ip, #1
+ and lr, r2, #3
+ add ip, r3, r7
+ add r2, r3, r7
+ ldreqb r3, [r2, lr] @ zero_extendqisi2
+ ldrneb r3, [ip, r4] @ zero_extendqisi2
+ andeq r2, r3, #15
+ movne r2, r3, lsr #4
+ cmp r2, #0
+ ldrne r4, [sp, #56]
+ ldr r5, [sp, #56]
+ ldrneh r4, [r4, #0]
+ ldr r3, [sp, #84]
+ add r1, r1, #1
+ strneh r4, [r8, #0] @ movhi
+ add r0, r0, r3
+ add r5, r5, #2
+ cmp r6, r1
+ mov ip, r0, asr #8
+ add r8, r8, #2
+ str r5, [sp, #56]
+ bgt .L19720
+ b .L19663
+.L19688:
+ cmp ip, r9
+ bcs .L19663
+.L20462:
+ ldr r2, [sp, #76]
+ mov r3, ip, asr #3
+ add r3, r4, r3, asl #6
+ and r1, ip, #7
+ add r0, r0, r2
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ ldr r5, [sp, #56]
+ cmp r2, #0
+ ldrne r3, [sp, #56]
+ add lr, lr, #1
+ ldrneh r3, [r3, #0]
+ add r5, r5, #2
+ strneh r3, [r8, #0] @ movhi
+ cmp fp, lr
+ mov ip, r0, asr #8
+ add r8, r8, #2
+ str r5, [sp, #56]
+ bgt .L19688
+ b .L19663
+.L20486:
+ rsb r0, r8, r2
+ rsb lr, r0, r9
+ cmp lr, #0
+ ble .L19663
+ ldr r4, [sp, #16]
+ add r3, r8, r9
+ cmp r4, r3
+ bhi .L20231
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ sub r8, r7, r3, asl #6
+ bne .L20233
+ ldr r7, [sp, #120]
+ ldr r5, [sp, #100]
+.L20235:
+ movs r4, r7, lsr #3
+ beq .L20293
+ ldr r0, [sp, #56]
+ mov r1, r5
+ mov ip, r8
+ mov lr, #0
+.L20295:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L20296
+ tst r2, #255
+ ldrneh r3, [r0, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r6, [r0, #4]
+ mov r3, r2, lsr #16
+ strneh r6, [r1, #4] @ movhi
+ tst r3, #255
+ ldrneh r3, [r0, #2]
+ strneh r3, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r6, [r0, #0]
+ strneh r6, [r1, #0] @ movhi
+.L20296:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L20305
+ tst r2, #255
+ ldrneh r3, [r0, #14]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r6, [r0, #12]
+ mov r3, r2, lsr #16
+ strneh r6, [r1, #12] @ movhi
+ tst r3, #255
+ ldrneh r3, [r0, #10]
+ strneh r3, [r1, #10] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r6, [r0, #8]
+ strneh r6, [r1, #8] @ movhi
+.L20305:
+ add lr, lr, #1
+ cmp lr, r4
+ sub ip, ip, #64
+ add r1, r1, #16
+ add r0, r0, #16
+ bne .L20295
+ ldr ip, [sp, #56]
+ mov r3, r4, asl #4
+ rsb r2, r4, r4, asl #26
+ add ip, ip, r3
+ add r5, r5, r3
+ add r8, r8, r2, asl #6
+ str ip, [sp, #56]
+.L20293:
+ ands ip, r7, #7
+ beq .L19663
+ cmp ip, #3
+ ldrls r2, [r8, #4]
+ bls .L20328
+ ldr r2, [r8, #4]
+ cmp r2, #0
+ beq .L20318
+ tst r2, #255
+ ldrne lr, [sp, #56]
+ mov r3, r2, lsr #8
+ ldrneh lr, [lr, #6]
+ strneh lr, [r5, #6] @ movhi
+ tst r3, #255
+ ldrne r0, [sp, #56]
+ mov r3, r2, lsr #16
+ ldrneh r0, [r0, #4]
+ strneh r0, [r5, #4] @ movhi
+ tst r3, #255
+ ldrne r1, [sp, #56]
+ ldrneh r1, [r1, #2]
+ strneh r1, [r5, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r2, [sp, #56]
+ ldrneh r2, [r2, #0]
+ strneh r2, [r5, #0] @ movhi
+.L20318:
+ subs ip, ip, #4
+ ldr r2, [r8, #0]
+ beq .L19663
+ ldr r3, [sp, #56]
+ add r5, r5, #8
+ add r3, r3, #8
+ str r3, [sp, #56]
+.L20328:
+ mov r1, #0
+.L20329:
+ movs r4, r2, lsr #24
+ ldrne r6, [sp, #56]
+ mov r0, r1, asl #1
+ ldrneh r6, [r0, r6]
+ add r1, r1, #1
+ strneh r6, [r0, r5] @ movhi
+ cmp ip, r1
+ mov r2, r2, asl #8
+ bhi .L20329
+ b .L19663
+.L19829:
+ cmp lr, #0
+ beq .L19663
+ ldr r6, [sp, #12]
+ mov r3, #0
+ add r1, r6, r8, asl #1
+ b .L19859
+.L20490:
+ ldr ip, [sp, #56]
+ add r0, r0, #32
+ add ip, ip, #16
+ add r1, r1, #16
+ str ip, [sp, #56]
+.L19859:
+ ldr ip, [r0, #0]
+ cmp ip, #0
+ beq .L19860
+ tst ip, #15
+ ldrne r2, [sp, #56]
+ ldrneh r2, [r2, #0]
+ strneh r2, [r1, #0] @ movhi
+ tst ip, #240
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ tst ip, #3840
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #4]
+ strneh r5, [r1, #4] @ movhi
+ tst ip, #61440
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #6]
+ strneh r6, [r1, #6] @ movhi
+ tst ip, #983040
+ ldrne r2, [sp, #56]
+ ldrneh r2, [r2, #8]
+ strneh r2, [r1, #8] @ movhi
+ tst ip, #15728640
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #10]
+ strneh r4, [r1, #10] @ movhi
+ tst ip, #251658240
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #12]
+ strneh r5, [r1, #12] @ movhi
+ movs ip, ip, lsr #28
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #14]
+ strneh r6, [r1, #14] @ movhi
+.L19860:
+ add r3, r3, #1
+ cmp lr, r3
+ bne .L20490
+ b .L19663
+.L19959:
+ cmp lr, #0
+ beq .L19663
+ ldr ip, [sp, #12]
+ mov r3, #0
+ add r1, ip, r8, asl #1
+ b .L19989
+.L20491:
+ ldr r2, [sp, #56]
+ sub r0, r0, #32
+ add r2, r2, #16
+ add r1, r1, #16
+ str r2, [sp, #56]
+.L19989:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L19990
+ tst r2, #15
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #14]
+ strneh r4, [r1, #14] @ movhi
+ tst r2, #240
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #12]
+ strneh r5, [r1, #12] @ movhi
+ tst r2, #3840
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #10]
+ strneh r6, [r1, #10] @ movhi
+ tst r2, #61440
+ ldrne ip, [sp, #56]
+ ldrneh ip, [ip, #8]
+ strneh ip, [r1, #8] @ movhi
+ tst r2, #983040
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #6]
+ strneh r4, [r1, #6] @ movhi
+ tst r2, #15728640
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #4]
+ strneh r5, [r1, #4] @ movhi
+ tst r2, #251658240
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #2]
+ strneh r6, [r1, #2] @ movhi
+ movs r2, r2, lsr #28
+ ldrne ip, [sp, #56]
+ ldrneh ip, [ip, #0]
+ strneh ip, [r1, #0] @ movhi
+.L19990:
+ add r3, r3, #1
+ cmp lr, r3
+ bne .L20491
+ b .L19663
+.L20384:
+ cmp lr, #0
+ beq .L19663
+ ldr r2, [sp, #12]
+ ldr r3, .L20498+32
+ add r1, r2, r8, asl #1
+ add r0, r0, r3
+ mov r2, #0
+ b .L20428
+.L20492:
+ ldr ip, [sp, #56]
+ sub r7, r7, #64
+ add ip, ip, #16
+ add r1, r1, #16
+ str ip, [sp, #56]
+.L20428:
+ ldr ip, [r0, #68]
+ cmp ip, #0
+ beq .L20429
+ tst ip, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ mov r3, ip, lsr #16
+ ldrneh r4, [r4, #4]
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r1, #2] @ movhi
+ movs ip, ip, lsr #24
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #0]
+ strneh r6, [r1, #0] @ movhi
+.L20429:
+ ldr ip, [r7, #0]
+ cmp ip, #0
+ beq .L20438
+ tst ip, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #14]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ mov r3, ip, lsr #16
+ ldrneh r4, [r4, #12]
+ strneh r4, [r1, #12] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #10]
+ strneh r5, [r1, #10] @ movhi
+ movs ip, ip, lsr #24
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #8]
+ strneh r6, [r1, #8] @ movhi
+.L20438:
+ add r2, r2, #1
+ cmp lr, r2
+ sub r0, r0, #64
+ bne .L20492
+ b .L19663
+.L20164:
+ cmp r4, #0
+ beq .L19663
+ ldr r3, [sp, #12]
+ mov lr, #0
+ add r1, r3, r8, asl #1
+ ldr r3, .L20498+36
+ add r0, r0, r3
+ b .L20208
+.L20493:
+ ldr ip, [sp, #56]
+ add r2, r2, #64
+ add ip, ip, #16
+ add r1, r1, #16
+ str ip, [sp, #56]
+.L20208:
+ ldr ip, [r2, #0]
+ cmp ip, #0
+ beq .L20209
+ tst ip, #255
+ ldrne r5, [sp, #56]
+ mov r3, ip, lsr #8
+ ldrneh r5, [r5, #0]
+ strneh r5, [r1, #0] @ movhi
+ tst r3, #255
+ ldrne r6, [sp, #56]
+ mov r3, ip, lsr #16
+ ldrneh r6, [r6, #2]
+ strneh r6, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #4]
+ strneh r3, [r1, #4] @ movhi
+ movs ip, ip, lsr #24
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #6]
+ strneh r5, [r1, #6] @ movhi
+.L20209:
+ ldr ip, [r0, #-60]
+ cmp ip, #0
+ beq .L20218
+ tst ip, #255
+ ldrne r6, [sp, #56]
+ mov r3, ip, lsr #8
+ ldrneh r6, [r6, #8]
+ strneh r6, [r1, #8] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #10]
+ strneh r3, [r1, #10] @ movhi
+ mov r3, ip, lsr #16
+ tst r3, #255
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #12]
+ strneh r5, [r1, #12] @ movhi
+ movs ip, ip, lsr #24
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #14]
+ strneh r6, [r1, #14] @ movhi
+.L20218:
+ add lr, lr, #1
+ cmp r4, lr
+ add r0, r0, #64
+ bne .L20493
+ b .L19663
+.L20011:
+ ands r1, r0, #7
+ mov r3, r0, lsr #3
+ add ip, r2, r3, asl #6
+ ldreq r1, [sp, #100]
+ beq .L20115
+ cmp r1, #3
+ rsb r0, r1, #8
+ bls .L20116
+ cmp r0, #0
+ ldr r2, [ip, #4]
+ ldreq r1, [sp, #100]
+ beq .L20120
+ mov r3, r1, asl #3
+ sub r3, r3, #32
+ mov r3, r2, lsr r3
+ mov r1, #0
+.L20121:
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #100]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r0, r1
+ mov r3, r3, lsr #8
+ bne .L20121
+ ldr r6, [sp, #56]
+ mov r3, r0, asl #1
+ ldr r0, [sp, #100]
+ add r6, r6, r3
+ str r6, [sp, #56]
+ add r1, r0, r3
+.L20120:
+ add ip, ip, #64
+.L20115:
+ movs lr, lr, lsr #3
+ beq .L19663
+ mov r0, #0
+ b .L20144
+.L20494:
+ ldr r2, [sp, #56]
+ add ip, ip, #64
+ add r2, r2, #16
+ add r1, r1, #16
+ str r2, [sp, #56]
+.L20144:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L20145
+ tst r2, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #4]
+ strneh r5, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #6]
+ strneh r6, [r1, #6] @ movhi
+.L20145:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L20154
+ tst r2, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #8]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #10]
+ strneh r4, [r1, #10] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #12]
+ strneh r5, [r1, #12] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #14]
+ strneh r6, [r1, #14] @ movhi
+.L20154:
+ add r0, r0, #1
+ cmp r0, lr
+ bne .L20494
+ b .L19663
+.L19881:
+ mov r3, ip, lsr #3
+ ands r2, ip, #7
+ sub r0, r0, r3, asl #5
+ ldreq r3, [sp, #100]
+ beq .L19930
+ rsbs r4, r2, #8
+ ldr ip, [r0, #0]
+ ldreq r3, [sp, #100]
+ beq .L19933
+ mov r3, r2, asl #2
+ mov r3, ip, asl r3
+ mov lr, #0
+.L19934:
+ movs ip, r3, lsr #28
+ ldrne r2, [sp, #56]
+ mov ip, lr, asl #1
+ ldrneh r5, [ip, r2]
+ ldrne r2, [sp, #100]
+ add lr, lr, #1
+ strneh r5, [ip, r2] @ movhi
+ cmp lr, r4
+ mov r3, r3, asl #4
+ bne .L19934
+ ldr r6, [sp, #56]
+ mov r3, r4, asl #1
+ ldr ip, [sp, #100]
+ add r6, r6, r3
+ str r6, [sp, #56]
+ add r3, ip, r3
+.L19933:
+ sub r0, r0, #32
+.L19930:
+ movs r1, r1, lsr #3
+ beq .L19663
+ mov r2, #0
+ b .L19940
+.L20495:
+ ldr ip, [sp, #56]
+ sub r0, r0, #32
+ add ip, ip, #16
+ add r3, r3, #16
+ str ip, [sp, #56]
+.L19940:
+ ldr ip, [r0, #0]
+ cmp ip, #0
+ beq .L19941
+ tst ip, #15
+ ldrne lr, [sp, #56]
+ ldrneh lr, [lr, #14]
+ strneh lr, [r3, #14] @ movhi
+ tst ip, #240
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #12]
+ strneh r4, [r3, #12] @ movhi
+ tst ip, #3840
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #10]
+ strneh r5, [r3, #10] @ movhi
+ tst ip, #61440
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #8]
+ strneh r6, [r3, #8] @ movhi
+ tst ip, #983040
+ ldrne lr, [sp, #56]
+ ldrneh lr, [lr, #6]
+ strneh lr, [r3, #6] @ movhi
+ tst ip, #15728640
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #4]
+ strneh r4, [r3, #4] @ movhi
+ tst ip, #251658240
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r3, #2] @ movhi
+ movs ip, ip, lsr #28
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #0]
+ strneh r6, [r3, #0] @ movhi
+.L19941:
+ add r2, r2, #1
+ cmp r2, r1
+ bne .L20495
+ b .L19663
+.L19751:
+ mov r3, ip, lsr #3
+ mov r1, r3, asl #5
+ ands r3, ip, #7
+ ldreq r3, [sp, #100]
+ add ip, r0, r1
+ beq .L19800
+ rsbs r4, r3, #8
+ ldr r0, [r0, r1]
+ ldreq r3, [sp, #100]
+ beq .L19803
+ mov r3, r3, asl #2
+ mov r0, r0, lsr r3
+ mov r2, #0
+.L19804:
+ tst r0, #15
+ ldrne r1, [sp, #56]
+ mov r3, r2, asl #1
+ ldrneh r5, [r3, r1]
+ ldrne r1, [sp, #100]
+ add r2, r2, #1
+ strneh r5, [r3, r1] @ movhi
+ cmp r4, r2
+ mov r0, r0, lsr #4
+ bne .L19804
+ ldr r6, [sp, #56]
+ mov r3, r4, asl #1
+ ldr r0, [sp, #100]
+ add r6, r6, r3
+ str r6, [sp, #56]
+ add r3, r0, r3
+.L19803:
+ add ip, ip, #32
+.L19800:
+ movs r0, lr, lsr #3
+ beq .L19663
+ mov r1, #0
+ b .L19810
+.L20496:
+ ldr r2, [sp, #56]
+ add ip, ip, #32
+ add r2, r2, #16
+ add r3, r3, #16
+ str r2, [sp, #56]
+.L19810:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L19811
+ tst r2, #15
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #0]
+ strneh r4, [r3, #0] @ movhi
+ tst r2, #240
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r3, #2] @ movhi
+ tst r2, #3840
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #4]
+ strneh r6, [r3, #4] @ movhi
+ tst r2, #61440
+ ldrne lr, [sp, #56]
+ ldrneh lr, [lr, #6]
+ strneh lr, [r3, #6] @ movhi
+ tst r2, #983040
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #8]
+ strneh r4, [r3, #8] @ movhi
+ tst r2, #15728640
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #10]
+ strneh r5, [r3, #10] @ movhi
+ tst r2, #251658240
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #12]
+ strneh r6, [r3, #12] @ movhi
+ movs r2, r2, lsr #28
+ ldrne lr, [sp, #56]
+ ldrneh lr, [lr, #14]
+ strneh lr, [r3, #14] @ movhi
+.L19811:
+ add r1, r1, #1
+ cmp r1, r0
+ bne .L20496
+ b .L19663
+.L20231:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ sub ip, r7, r3, asl #6
+ ldreq r1, [sp, #100]
+ beq .L20335
+ cmp r2, #3
+ rsb r0, r2, #8
+ bls .L20336
+ cmp r0, #0
+ ldr r1, [ip, #0]
+ ldreq r1, [sp, #100]
+ beq .L20340
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r3, r1, asl r3
+ mov r1, #0
+.L20341:
+ movs r2, r3, lsr #24
+ ldrne r4, [sp, #56]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #100]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r1, r0
+ mov r3, r3, asl #8
+ bne .L20341
+ ldr r6, [sp, #56]
+ mov r3, r0, asl #1
+ ldr r0, [sp, #100]
+ add r6, r6, r3
+ str r6, [sp, #56]
+ add r1, r0, r3
+.L20340:
+ sub ip, ip, #64
+.L20335:
+ movs lr, lr, lsr #3
+ beq .L19663
+ mov r0, #0
+ b .L20364
+.L20497:
+ ldr r2, [sp, #56]
+ sub ip, ip, #64
+ add r2, r2, #16
+ add r1, r1, #16
+ str r2, [sp, #56]
+.L20364:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L20365
+ tst r2, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #4]
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #0]
+ strneh r6, [r1, #0] @ movhi
+.L20365:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L20374
+ tst r2, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #14]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #12]
+ strneh r4, [r1, #12] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #10]
+ strneh r5, [r1, #10] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #8]
+ strneh r6, [r1, #8] @ movhi
+.L20374:
+ add r0, r0, #1
+ cmp r0, lr
+ bne .L20497
+ b .L19663
+.L19753:
+ ldr r5, [sp, #120]
+ rsb ip, r3, #8
+ cmp r5, ip
+ bge .L19756
+ cmp r5, #0
+ ble .L19663
+ ldr r2, [r0, r1]
+ mov r3, r3, asl #2
+ mov r0, r2, lsr r3
+ mov r2, #0
+.L19760:
+ tst r0, #15
+ ldrne r6, [sp, #56]
+ mov r3, r2, asl #1
+ ldrneh ip, [r3, r6]
+ ldr lr, [sp, #120]
+ ldrne r6, [sp, #100]
+ add r2, r2, #1
+ strneh ip, [r3, r6] @ movhi
+ cmp lr, r2
+ mov r0, r0, lsr #4
+ bne .L19760
+ b .L19663
+.L20233:
+ ldr r5, [sp, #120]
+ rsb lr, ip, #8
+ cmp r5, lr
+ bge .L20236
+ cmp r5, #0
+ ble .L19663
+ cmp ip, #3
+ bls .L20239
+ ldr r2, [r8, #0]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L20242:
+ movs r6, r2, lsr #24
+ ldrne ip, [sp, #56]
+ mov r3, r1, asl #1
+ ldrneh lr, [r3, ip]
+ ldr r0, [sp, #120]
+ ldrne ip, [sp, #100]
+ add r1, r1, #1
+ strneh lr, [r3, ip] @ movhi
+ cmp r0, r1
+ mov r2, r2, asl #8
+ bne .L20242
+ b .L19663
+.L20013:
+ ldr r0, [sp, #120]
+ rsb lr, ip, #8
+ cmp r0, lr
+ bge .L20016
+ cmp r0, #0
+ ble .L19663
+ cmp ip, #3
+ bls .L20019
+ ldr r2, [r8, #4]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L20022:
+ tst r1, #255
+ ldrne r4, [sp, #56]
+ mov r3, r2, asl #1
+ ldrneh r5, [r3, r4]
+ ldr r6, [sp, #120]
+ ldrne r4, [sp, #100]
+ add r2, r2, #1
+ strneh r5, [r3, r4] @ movhi
+ cmp r6, r2
+ mov r1, r1, lsr #8
+ bne .L20022
+ b .L19663
+.L19883:
+ ldr r3, [sp, #120]
+ rsb lr, r4, #8
+ cmp r3, lr
+ bge .L19886
+ cmp r3, #0
+ ble .L19663
+ ldr r2, [r0, #0]
+ mov r3, r4, asl #2
+ mov r0, r2, asl r3
+ mov r2, #0
+.L19890:
+ movs r4, r0, lsr #28
+ ldrne r5, [sp, #56]
+ mov r3, r2, asl #1
+ ldrneh r6, [r3, r5]
+ ldr ip, [sp, #120]
+ ldrne r5, [sp, #100]
+ add r2, r2, #1
+ strneh r6, [r3, r5] @ movhi
+ cmp ip, r2
+ mov r0, r0, asl #4
+ bne .L19890
+ b .L19663
+.L20016:
+ cmp ip, #3
+ bls .L20046
+ cmp lr, #0
+ ldr r2, [r8, #4]
+ ldreq r5, [sp, #100]
+ beq .L20050
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L20051:
+ tst r1, #255
+ ldrne r0, [sp, #56]
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, r0]
+ ldrne r0, [sp, #100]
+ add r2, r2, #1
+ strneh r4, [r3, r0] @ movhi
+ cmp lr, r2
+ mov r1, r1, lsr #8
+ bne .L20051
+ ldr r5, [sp, #56]
+ mov r3, lr, asl #1
+ ldr r6, [sp, #100]
+ add r5, r5, r3
+ str r5, [sp, #56]
+ add r5, r3, r6
+.L20050:
+ ldr ip, [sp, #120]
+ add r8, r8, #64
+ rsb r7, lr, ip
+ b .L20015
+.L20116:
+ subs r4, r0, #4
+ ldr r2, [ip, #0]
+ ldreq r1, [sp, #100]
+ beq .L20128
+ mov r3, r1, asl #3
+ mov r3, r2, lsr r3
+ mov r1, #0
+.L20129:
+ tst r3, #255
+ ldrne r5, [sp, #56]
+ mov r2, r1, asl #1
+ ldrneh r6, [r2, r5]
+ ldrne r5, [sp, #100]
+ add r1, r1, #1
+ strneh r6, [r2, r5] @ movhi
+ cmp r1, r4
+ mov r3, r3, lsr #8
+ bne .L20129
+ mov r3, r0, asl #1
+ ldr r0, [sp, #56]
+ ldr r1, [sp, #100]
+ add r2, r0, r3
+ sub r2, r2, #8
+ add r3, r1, r3
+ str r2, [sp, #56]
+ sub r1, r3, #8
+.L20128:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L20134
+ tst r2, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #4]
+ strneh r5, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #6]
+ strneh r6, [r1, #6] @ movhi
+.L20134:
+ ldr r0, [sp, #56]
+ add r1, r1, #8
+ add r0, r0, #8
+ add ip, ip, #64
+ str r0, [sp, #56]
+ b .L20115
+.L19756:
+ cmp ip, #0
+ ldr r2, [r4, #0]
+ ldreq r5, [sp, #100]
+ beq .L19766
+ mov r3, r3, asl #2
+ mov r3, r2, lsr r3
+ mov r1, #0
+.L19767:
+ tst r3, #15
+ ldrne r0, [sp, #56]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r0]
+ ldrne r0, [sp, #100]
+ add r1, r1, #1
+ strneh r5, [r2, r0] @ movhi
+ cmp ip, r1
+ mov r3, r3, lsr #4
+ bne .L19767
+ ldr r6, [sp, #56]
+ mov r3, ip, asl #1
+ ldr lr, [sp, #100]
+ add r6, r6, r3
+ str r6, [sp, #56]
+ add r5, r3, lr
+.L19766:
+ ldr r0, [sp, #120]
+ add r4, r4, #32
+ rsb r7, ip, r0
+ b .L19755
+.L19886:
+ cmp lr, #0
+ ldr r2, [r0, #0]
+ ldreq r1, [sp, #100]
+ beq .L19896
+ mov r3, r4, asl #2
+ mov r3, r2, asl r3
+ mov ip, #0
+.L19897:
+ movs r1, r3, lsr #28
+ ldrne r4, [sp, #56]
+ mov r2, ip, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #100]
+ add ip, ip, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp lr, ip
+ mov r3, r3, asl #4
+ bne .L19897
+ ldr r6, [sp, #56]
+ mov r3, lr, asl #1
+ ldr ip, [sp, #100]
+ add r6, r6, r3
+ str r6, [sp, #56]
+ add r1, r3, ip
+.L19896:
+ ldr r2, [sp, #120]
+ sub r0, r0, #32
+ rsb r7, lr, r2
+ b .L19885
+.L20336:
+ subs r4, r0, #4
+ ldr r1, [ip, #4]
+ ldreq r1, [sp, #100]
+ beq .L20348
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r3, r1, asl r3
+ mov r1, #0
+.L20349:
+ movs r2, r3, lsr #24
+ ldrne r5, [sp, #56]
+ mov r2, r1, asl #1
+ ldrneh r6, [r2, r5]
+ ldrne r5, [sp, #100]
+ add r1, r1, #1
+ strneh r6, [r2, r5] @ movhi
+ cmp r1, r4
+ mov r3, r3, asl #8
+ bne .L20349
+ mov r3, r0, asl #1
+ ldr r0, [sp, #56]
+ ldr r1, [sp, #100]
+ add r2, r0, r3
+ sub r2, r2, #8
+ add r3, r1, r3
+ str r2, [sp, #56]
+ sub r1, r3, #8
+.L20348:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L20354
+ tst r2, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #4]
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #56]
+ ldrneh r6, [r6, #0]
+ strneh r6, [r1, #0] @ movhi
+.L20354:
+ ldr r0, [sp, #56]
+ add r1, r1, #8
+ add r0, r0, #8
+ sub ip, ip, #64
+ str r0, [sp, #56]
+ b .L20335
+.L20236:
+ cmp ip, #3
+ bls .L20266
+ cmp lr, #0
+ ldr r2, [r8, #0]
+ ldreq r5, [sp, #100]
+ beq .L20270
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r3, r2, asl r3
+ mov r1, #0
+.L20271:
+ movs r2, r3, lsr #24
+ ldrne r4, [sp, #56]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #100]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp lr, r1
+ mov r3, r3, asl #8
+ bne .L20271
+ ldr r6, [sp, #56]
+ mov r3, lr, asl #1
+ ldr ip, [sp, #100]
+ add r6, r6, r3
+ str r6, [sp, #56]
+ add r5, ip, r3
+.L20270:
+ ldr ip, [sp, #120]
+ sub r8, r8, #64
+ rsb r7, lr, ip
+ b .L20235
+.L20482:
+ mov r7, #0
+ b .L19733
+.L20478:
+ mov r7, #0
+ b .L19698
+.L20046:
+ subs r0, lr, #4
+ ldr r2, [r8, #0]
+ ldreq r1, [sp, #100]
+ beq .L20058
+ mov r3, ip, asl #3
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L20059:
+ tst r1, #255
+ ldrne ip, [sp, #56]
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, ip]
+ ldrne ip, [sp, #100]
+ add r2, r2, #1
+ strneh r4, [r3, ip] @ movhi
+ cmp r2, r0
+ mov r1, r1, lsr #8
+ bne .L20059
+ ldr r5, [sp, #56]
+ mov r3, lr, asl #1
+ ldr r6, [sp, #100]
+ add r2, r5, r3
+ sub r2, r2, #8
+ add r3, r6, r3
+ str r2, [sp, #56]
+ sub r1, r3, #8
+.L20058:
+ ldr r2, [r8, #4]
+ cmp r2, #0
+ beq .L20064
+ tst r2, #255
+ ldrne ip, [sp, #56]
+ mov r3, r2, lsr #8
+ ldrneh ip, [ip, #0]
+ strneh ip, [r1, #0] @ movhi
+ tst r3, #255
+ ldrne r0, [sp, #56]
+ mov r3, r2, lsr #16
+ ldrneh r0, [r0, #2]
+ strneh r0, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #4]
+ strneh r3, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #6]
+ strneh r4, [r1, #6] @ movhi
+.L20064:
+ ldr r6, [sp, #56]
+ add r5, r1, #8
+ add r6, r6, #8
+ str r6, [sp, #56]
+ b .L20050
+.L20266:
+ subs r0, lr, #4
+ ldr r2, [r8, #4]
+ ldreq r1, [sp, #100]
+ beq .L20278
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r3, r2, asl r3
+ mov r1, #0
+.L20279:
+ movs r2, r3, lsr #24
+ ldrne r4, [sp, #56]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #100]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r1, r0
+ mov r3, r3, asl #8
+ bne .L20279
+ ldr r6, [sp, #56]
+ mov r3, lr, asl #1
+ ldr ip, [sp, #100]
+ add r2, r6, r3
+ sub r2, r2, #8
+ add r3, ip, r3
+ str r2, [sp, #56]
+ sub r1, r3, #8
+.L20278:
+ ldr r2, [r8, #0]
+ cmp r2, #0
+ beq .L20284
+ tst r2, #255
+ ldrne r0, [sp, #56]
+ mov r3, r2, lsr #8
+ ldrneh r0, [r0, #6]
+ strneh r0, [r1, #6] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #56]
+ ldrneh r3, [r3, #4]
+ strneh r3, [r1, #4] @ movhi
+ mov r3, r2, lsr #16
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r5, [sp, #56]
+ ldrneh r5, [r5, #0]
+ strneh r5, [r1, #0] @ movhi
+.L20284:
+ ldr r6, [sp, #56]
+ add r5, r1, #8
+ add r6, r6, #8
+ str r6, [sp, #56]
+ b .L20270
+.L20485:
+ mov r1, fp
+ b .L20464
+.L20484:
+ mov lr, r6
+ b .L20462
+.L20019:
+ ldr lr, [sp, #120]
+ ldr r3, [r8, #0]
+ add r2, lr, ip
+ mov r1, ip, asl #3
+ cmp r2, #4
+ mov r3, r3, lsr r1
+ bhi .L20026
+ cmp lr, #0
+ movne r1, #0
+ beq .L19663
+.L20042:
+ tst r3, #255
+ ldrne r5, [sp, #56]
+ mov r2, r1, asl #1
+ ldrneh r6, [r2, r5]
+ ldr ip, [sp, #120]
+ ldrne r5, [sp, #100]
+ add r1, r1, #1
+ strneh r6, [r2, r5] @ movhi
+ cmp ip, r1
+ mov r3, r3, lsr #8
+ bne .L20042
+ b .L19663
+.L20239:
+ ldr r4, [sp, #120]
+ mov r3, ip, asl #3
+ ldr r1, [r8, #4]
+ add r2, r4, ip
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L20246
+ cmp r4, #0
+ movne r2, #0
+ beq .L19663
+.L20262:
+ movs r6, r1, lsr #24
+ ldrne ip, [sp, #56]
+ mov r3, r2, asl #1
+ ldrneh lr, [r3, ip]
+ ldr r0, [sp, #120]
+ ldrne ip, [sp, #100]
+ add r2, r2, #1
+ strneh lr, [r3, ip] @ movhi
+ cmp r0, r2
+ mov r1, r1, asl #8
+ bne .L20262
+ b .L19663
+.L20026:
+ rsbs r0, ip, #4
+ ldreq ip, [sp, #100]
+ beq .L20031
+ mov r1, #0
+.L20032:
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #100]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r1, r0
+ mov r3, r3, lsr #8
+ bne .L20032
+ ldr r6, [sp, #56]
+ mov r3, r0, asl #1
+ ldr lr, [sp, #100]
+ add r6, r6, r3
+ str r6, [sp, #56]
+ add ip, r3, lr
+.L20031:
+ ldr r1, [sp, #120]
+ ldr r3, [r8, #4]
+ subs r0, r1, r0
+ beq .L19663
+ mov r1, #0
+.L20038:
+ tst r3, #255
+ ldrne r4, [sp, #56]
+ mov r2, r1, asl #1
+ ldrneh r4, [r2, r4]
+ add r1, r1, #1
+ strneh r4, [r2, ip] @ movhi
+ cmp r1, r0
+ mov r3, r3, lsr #8
+ bne .L20038
+ b .L19663
+.L20246:
+ rsbs r0, ip, #4
+ ldreq r3, [sp, #100]
+ beq .L20251
+ mov r2, #0
+.L20252:
+ movs r5, r1, lsr #24
+ ldrne r6, [sp, #56]
+ mov r3, r2, asl #1
+ ldrneh ip, [r3, r6]
+ ldrne r6, [sp, #100]
+ add r2, r2, #1
+ strneh ip, [r3, r6] @ movhi
+ cmp r2, r0
+ mov r1, r1, asl #8
+ bne .L20252
+ ldr lr, [sp, #56]
+ mov r3, r0, asl #1
+ ldr r1, [sp, #100]
+ add lr, lr, r3
+ str lr, [sp, #56]
+ add r3, r3, r1
+.L20251:
+ ldr r2, [sp, #120]
+ subs ip, r2, r0
+ ldr r2, [r8, #0]
+ beq .L19663
+ mov r0, #0
+.L20258:
+ movs r4, r2, lsr #24
+ ldrne r5, [sp, #56]
+ mov r1, r0, asl #1
+ ldrneh r5, [r1, r5]
+ add r0, r0, #1
+ strneh r5, [r1, r3] @ movhi
+ cmp r0, ip
+ mov r2, r2, asl #8
+ bne .L20258
+ b .L19663
+ .size render_scanline_obj_copy_tile_1D, .-render_scanline_obj_copy_tile_1D
+ .align 2
+ .global render_scanline_window_tile
+ .type render_scanline_window_tile, %function
+render_scanline_window_tile:
+ @ args = 0, pretend = 0, frame = 20
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr lr, .L21076
+ mov r2, r1, lsr #13
+ ldrh ip, [lr, #74]
+ ldr r3, .L21076+4
+ and ip, ip, #63
+ sub sp, sp, #32
+ mov r6, r1
+ sub r2, r2, #1
+ and r1, r1, #7
+ str ip, [sp, #12]
+ add r9, r3, r1, asl #7
+ mov r7, r0
+ ldrh ip, [lr, #6]
+ ldrh sl, [lr, #80]
+ cmp r2, #6
+ ldrls pc, [pc, r2, asl #2]
+ b .L20990
+ .p2align 2
+.L20509:
+ .word .L20502
+ .word .L20503
+ .word .L20504
+ .word .L20505
+ .word .L20506
+ .word .L20507
+ .word .L20508
+.L20503:
+ ldrh r3, [lr, #70]
+ ldr r4, .L21076
+ and r1, r3, #255
+ mov r0, r3, lsr #8
+ cmp r0, r1
+ ldrh r2, [lr, #72]
+ bls .L20531
+ cmp ip, r0
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ bne .L20539
+.L20994:
+ cmp r1, #227
+ bhi .L20539
+.L20535:
+ mov r4, #240
+ mov r5, r4
+.L20547:
+ mov r0, #0
+ mov r1, r5
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20548:
+ cmp r5, r4
+ beq .L20528
+ mov r0, r5
+ mov r3, r8
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20528:
+ cmp r4, #240
+ beq .L20990
+ ldr r3, [sp, #12]
+ mov r0, r4
+ mov r2, r7
+.L21037:
+ mov r1, #240
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20990:
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L20502:
+ ldrh r3, [lr, #68]
+ ldr r4, .L21076
+ and r2, r3, #255
+ mov r1, r3, lsr #8
+ cmp r1, r2
+ ldrh r0, [lr, #72]
+ bls .L20510
+ cmp ip, r1
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r2
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L20992
+.L20518:
+ cmp r1, #227
+ bhi .L20535
+ ldrh r3, [r4, #64]
+ and r8, r0, #63
+ and r4, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc r5, r3
+ movcs r5, #240
+ cmp r4, #240
+ bhi .L21059
+.L20538:
+ cmp r5, r4
+ bls .L20542
+ cmp r4, #0
+ bne .L21060
+.L20544:
+ mov r0, r4
+ ldr r3, [sp, #12]
+ mov r2, r7
+ mov r1, r5
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ cmp r5, #240
+ movne r0, r5
+ movne r2, r7
+ movne r3, r8
+ bne .L21037
+ b .L20990
+.L20508:
+ ldrh r3, [lr, #68]
+ ldr r2, .L21076
+ and r1, r3, #255
+ mov r0, r3, lsr #8
+ cmp r0, r1
+ ldrh r4, [lr, #72]
+ bls .L20774
+ cmp ip, r0
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L21053
+.L20782:
+ cmp r0, #227
+ bls .L21061
+.L20778:
+ mov r8, #240
+ mov fp, r8
+.L20781:
+ ldrh r3, [lr, #70]
+ ldr r0, .L21076
+ and r1, r3, #255
+ mov r2, r3, lsr #8
+ cmp r2, r1
+ bls .L20785
+ cmp ip, r2
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L21054
+.L20793:
+ cmp r2, #227
+ bls .L21062
+.L20789:
+ mov r5, #240
+ mov r4, r5
+.L20792:
+ cmp fp, r8
+ bls .L20796
+ cmp r8, #0
+ bne .L21063
+.L20798:
+ cmp r4, #240
+ beq .L20800
+ cmp r4, r5
+ bhi .L21064
+ cmp r4, #0
+ beq .L20840
+ cmp r8, #0
+ beq .L20842
+ cmp r8, r4
+ bcs .L20840
+.L20842:
+ cmp fp, r4
+ bcs .L20851
+ mov r0, r8
+ mov r1, fp
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20853
+ mov r0, #4
+ mov r1, r8
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+.L20840:
+ cmp r4, r5
+ beq .L20857
+ cmp r8, r4
+ bls .L20859
+ cmp r8, r5
+ bcs .L20857
+ cmp fp, r5
+ ldrcc r3, [sp, #28]
+ ldrcs r3, [sp, #28]
+ movcc r0, r8
+ movcc r1, fp
+ movcs r0, r8
+ movcs r1, r5
+.L21026:
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20857:
+ cmp r5, #240
+ beq .L20832
+ cmp r8, r5
+ bls .L20868
+ cmp r8, #239
+ bhi .L20832
+ cmp fp, #239
+ bhi .L20871
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20873
+ mov r1, r8
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20836
+.L20507:
+ ldrh r3, [lr, #70]
+ ldr r4, .L21076
+ and r1, r3, #255
+ mov r0, r3, lsr #8
+ cmp r0, r1
+ ldrh r2, [lr, #72]
+ bls .L20744
+ cmp ip, r0
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L21019
+.L20752:
+ cmp r0, #227
+ bls .L21065
+.L20748:
+ mov r4, #240
+ mov r5, r4
+.L20763:
+ mov r0, #0
+ mov r1, r5
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20764:
+ ands r8, r6, #64
+ beq .L20765
+ mov r0, #4
+ mov r1, #0
+ mov r2, r5
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+.L20767:
+ cmp r4, r5
+ beq .L20768
+.L21056:
+ mov r0, r5
+ mov r3, fp
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20768:
+ cmp r4, #240
+ beq .L20770
+ ldr r3, [sp, #12]
+ mov r0, r4
+ mov r1, #240
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20770:
+ cmp r8, #0
+ movne r1, r4
+ beq .L21066
+.L21040:
+ mov r3, r7
+ mov r0, #4
+ mov r2, #240
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_obj_copy_tile_1D
+.L20506:
+ ldrh r3, [lr, #68]
+ ldr r4, .L21076
+ and r1, r3, #255
+ mov r0, r3, lsr #8
+ cmp r0, r1
+ ldrh r2, [lr, #72]
+ bls .L20714
+ cmp ip, r0
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L21017
+.L20722:
+ cmp r0, #227
+ bls .L21067
+.L20718:
+ mov r4, #240
+ mov r5, r4
+.L20733:
+ mov r0, #0
+ mov r1, r5
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20734:
+ ands r8, r6, #64
+ beq .L20735
+ mov r0, #4
+ mov r1, #0
+ mov r2, r5
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+.L20737:
+ cmp r5, r4
+ bne .L21056
+ b .L20768
+.L20504:
+ ldrh r3, [lr, #68]
+ ldr r2, .L21076
+ and r1, r3, #255
+ mov r0, r3, lsr #8
+ cmp r0, r1
+ ldrh r4, [lr, #72]
+ bls .L20552
+ cmp ip, r0
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L21049
+.L20560:
+ cmp r0, #227
+ bls .L21068
+.L20556:
+ mov r5, #240
+ mov fp, r5
+.L20559:
+ ldrh r3, [lr, #70]
+ ldr r0, .L21076
+ and r1, r3, #255
+ mov r2, r3, lsr #8
+ cmp r2, r1
+ bls .L20563
+ cmp ip, r2
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L21050
+.L20571:
+ cmp r2, #227
+ bls .L21069
+.L20567:
+ mov r8, #240
+ mov r4, r8
+.L20570:
+ cmp fp, r5
+ bls .L20574
+ cmp r5, #0
+ bne .L21070
+.L20576:
+ cmp r4, #240
+ beq .L20578
+ cmp r4, r8
+ bls .L20580
+ cmp r8, #0
+ beq .L20582
+ cmp r5, #0
+ beq .L20584
+ cmp r5, r8
+ bcs .L20582
+ cmp fp, r8
+ movcc r0, r5
+ movcc r1, fp
+ movcs r0, r5
+ movcs r1, r8
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20582:
+ cmp r5, r8
+ bls .L20591
+ cmp r5, r4
+ bcs .L20593
+ cmp fp, r4
+ ldrcc r3, [sp, #12]
+ ldrcs r3, [sp, #12]
+ movcc r0, r5
+ movcc r1, fp
+ movcs r0, r5
+ movcs r1, r4
+.L20999:
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20593:
+ cmp r5, r4
+ bls .L20600
+ cmp r5, #239
+ bhi .L20602
+ cmp fp, #239
+ movls r0, r5
+ bls .L21003
+ ldr r3, [sp, #20]
+ mov r0, r5
+ mov r1, #240
+.L21002:
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20602:
+ cmp fp, #240
+ beq .L20990
+.L20606:
+ ldr r3, [sp, #16]
+ mov r0, fp
+ mov r2, r7
+ b .L21037
+.L20505:
+ mov r1, #240
+ ldr r3, [sp, #12]
+ mov r0, #0
+ mov r2, r7
+ str sl, [sp, #4]
+ str r9, [sp, #8]
+ str r6, [sp, #0]
+ bl render_scanline_conditional_tile
+ ands r1, r6, #64
+ beq .L21038
+ mov r3, r7
+ mov r0, #4
+ mov r1, #0
+ mov r2, #240
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_obj_copy_tile_1D
+.L20531:
+ cmp ip, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ beq .L20994
+.L20539:
+ cmp r0, #227
+ bhi .L20535
+ ldrh r3, [r4, #66]
+ mov r2, r2, lsr #8
+ and r4, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc r5, r3
+ movcs r5, #240
+ cmp r4, #240
+ and r8, r2, #63
+ bls .L20538
+.L21059:
+ mov r4, #240
+ b .L20538
+.L20714:
+ cmp ip, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ bne .L20722
+.L21017:
+ cmp r1, #227
+ bls .L20718
+ b .L20722
+.L20563:
+ cmp ip, r2
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ bne .L20571
+.L21050:
+ cmp r1, #227
+ bls .L20567
+ b .L20571
+.L20552:
+ cmp ip, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ bne .L20560
+.L21049:
+ cmp r1, #227
+ bls .L20556
+ b .L20560
+.L20785:
+ cmp ip, r2
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ bne .L20793
+.L21054:
+ cmp r1, #227
+ bls .L20789
+ b .L20793
+.L20744:
+ cmp ip, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ bne .L20752
+.L21019:
+ cmp r1, #227
+ bls .L20748
+ b .L20752
+.L20510:
+ cmp ip, r1
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r2
+ movcs r3, #0
+ cmp r3, #0
+ bne .L20518
+.L20992:
+ cmp r2, #227
+ bls .L20535
+ b .L20518
+.L20774:
+ cmp ip, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ bne .L20782
+.L21053:
+ cmp r1, #227
+ bls .L20778
+ b .L20782
+.L21066:
+ mov r1, r4
+.L21038:
+ mov r3, r7
+ mov r0, #4
+ mov r2, #240
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_obj_copy_tile_2D
+.L20796:
+ cmp r4, #240
+ beq .L20886
+ cmp r4, r5
+ bls .L20888
+ cmp r5, #0
+ beq .L20890
+ cmp fp, r5
+ bcs .L20892
+ cmp fp, #0
+ movne r0, #0
+ movne r1, fp
+ bne .L21029
+.L20890:
+ cmp fp, r4
+ bcs .L20895
+ cmp fp, r5
+ bhi .L21071
+.L20897:
+ cmp fp, #239
+ bhi .L20903
+ cmp fp, r4
+ movhi r0, r4
+ movhi r1, fp
+ bhi .L21031
+.L20905:
+ cmp fp, r8
+ beq .L20933
+ mov r0, fp
+ ldr r3, [sp, #24]
+ mov r1, r8
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20933:
+ cmp r4, #240
+ beq .L20935
+ cmp r4, r5
+ bls .L20937
+ cmp r5, #0
+ beq .L20939
+ cmp r8, #0
+ beq .L20941
+ cmp r8, r5
+ bcs .L20939
+ cmp r5, #240
+ movhi r0, r8
+ movhi r1, #240
+ movls r0, r8
+ movls r1, r5
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20939:
+ cmp r8, r5
+ bls .L20948
+ cmp r8, r4
+ bcc .L21072
+.L20950:
+ cmp r8, r4
+ bls .L20956
+ cmp r8, #239
+ bhi .L20990
+ ldr r3, [sp, #28]
+ mov r0, r8
+ mov r2, r7
+ b .L21037
+.L20574:
+ cmp r4, #240
+ beq .L20638
+ cmp r4, r8
+ bls .L20640
+ cmp r8, #0
+ beq .L20642
+ cmp fp, r8
+ bcs .L20644
+ cmp fp, #0
+ movne r0, #0
+ movne r1, fp
+ bne .L21005
+.L20642:
+ cmp fp, r4
+ bcs .L20647
+ cmp fp, r8
+ movhi r0, r8
+ movhi r1, fp
+ bhi .L21006
+.L20649:
+ cmp fp, #239
+ bhi .L20651
+ cmp fp, r4
+ movhi r0, r4
+ movhi r1, fp
+ bhi .L21009
+.L20653:
+ cmp fp, r5
+ beq .L20670
+ mov r0, fp
+ ldr r3, [sp, #16]
+ mov r1, r5
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20670:
+ cmp r4, #240
+ beq .L20672
+ cmp r4, r8
+ bls .L20674
+ cmp r8, #0
+ beq .L20676
+ cmp r5, #0
+ beq .L20678
+ cmp r5, r8
+ bcs .L20676
+ cmp r8, #240
+ movhi r0, r5
+ movhi r1, #240
+ movls r0, r5
+ movls r1, r8
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20676:
+ cmp r5, r8
+ bls .L20685
+ cmp r5, r4
+ ldrcc r3, [sp, #12]
+ movcc r0, r5
+ bcc .L21013
+.L20687:
+ cmp r5, r4
+ bls .L20689
+ cmp r5, #239
+ bhi .L20990
+ ldr r3, [sp, #20]
+ mov r0, r5
+ mov r2, r7
+ b .L21037
+.L20765:
+ mov r0, #4
+ mov r1, r8
+ mov r2, r5
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20767
+.L20735:
+ mov r0, #4
+ mov r1, r8
+ mov r2, r5
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20737
+.L21067:
+ ldrh r3, [r4, #64]
+ and fp, r2, #63
+ and r4, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc r5, r3
+ movcs r5, #240
+ cmp r4, #240
+ movhi r4, #240
+ cmp r5, r4
+ bhi .L21058
+ cmp r5, #0
+ bne .L20733
+ b .L20734
+.L21069:
+ ldrh r3, [r0, #66]
+ mov r2, r4, lsr #8
+ and r8, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc r4, r3
+ movcs r4, #240
+ cmp r8, #240
+ and r2, r2, #63
+ movhi r8, #240
+ str r2, [sp, #20]
+ b .L20570
+.L21062:
+ ldrh r3, [r0, #66]
+ mov r2, r4, lsr #8
+ and r5, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc r4, r3
+ movcs r4, #240
+ cmp r5, #240
+ and r2, r2, #63
+ movhi r5, #240
+ str r2, [sp, #28]
+ b .L20792
+.L21061:
+ ldrh r3, [r2, #64]
+ and r2, r4, #63
+ and r8, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc fp, r3
+ movcs fp, #240
+ cmp r8, #240
+ movhi r8, #240
+ str r2, [sp, #24]
+ b .L20781
+.L21065:
+ ldrh r3, [r4, #66]
+ mov r2, r2, lsr #8
+ and r4, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc r5, r3
+ movcs r5, #240
+ cmp r4, #240
+ movhi r4, #240
+ cmp r5, r4
+ and fp, r2, #63
+ bhi .L21058
+ cmp r5, #0
+ bne .L20763
+ b .L20764
+.L21068:
+ ldrh r3, [r2, #64]
+ and r2, r4, #63
+ and r5, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc fp, r3
+ movcs fp, #240
+ cmp r5, #240
+ movhi r5, #240
+ str r2, [sp, #16]
+ b .L20559
+.L21064:
+ cmp r5, #0
+ beq .L20804
+ cmp r8, #0
+ beq .L20806
+ cmp r8, r5
+ bcs .L20804
+ cmp fp, r5
+ movcc r0, r8
+ movcc r1, fp
+ movcs r0, r8
+ movcs r1, r5
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20804:
+ cmp r8, r5
+ bls .L20813
+ cmp r8, r4
+ bcs .L20815
+ cmp fp, r4
+ bcs .L20817
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20819
+ mov r0, #4
+ mov r1, r8
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+.L20815:
+ cmp r8, r4
+ bls .L20830
+ cmp r8, #239
+ bhi .L20832
+ cmp fp, #239
+ movls r0, r8
+ movhi r0, r8
+ bhi .L21027
+.L21028:
+ ldr r3, [sp, #28]
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20836:
+ ldr r3, [sp, #24]
+ mov r0, fp
+ mov r2, r7
+ b .L21037
+.L20580:
+ cmp r4, #0
+ beq .L20610
+ cmp r5, #0
+ beq .L20612
+ cmp r5, r4
+ bcs .L20610
+.L20612:
+ cmp fp, r4
+ movcc r0, r5
+ movcc r1, fp
+ movcs r0, r5
+ movcs r1, r4
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20610:
+ cmp r4, r8
+ beq .L20619
+ cmp r5, r4
+ bls .L20621
+ cmp r5, r8
+ bcs .L20619
+ cmp fp, r8
+ ldrcc r3, [sp, #20]
+ ldrcs r3, [sp, #20]
+ movcc r0, r5
+ movcc r1, fp
+ movcs r0, r5
+ movcs r1, r8
+.L21001:
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20619:
+ cmp r8, #240
+ beq .L20602
+ cmp r5, r8
+ bls .L20630
+ cmp r5, #239
+ bhi .L20602
+ cmp fp, #239
+ movls r0, r5
+ ldrls r3, [sp, #12]
+ bls .L21004
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, #240
+ b .L21002
+.L21063:
+ mov r0, #0
+ mov r1, r8
+ mov r2, r7
+ ldr r3, [sp, #24]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20798
+.L21070:
+ mov r0, #0
+ mov r1, r5
+ mov r2, r7
+ ldr r3, [sp, #16]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20576
+.L20886:
+ cmp fp, #0
+ bne .L21073
+.L20929:
+ ands r1, r6, #64
+ beq .L20931
+ mov r0, #4
+ mov r1, #0
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20905
+.L20638:
+ cmp fp, #0
+ beq .L20653
+ mov r0, #0
+ mov r1, fp
+.L21010:
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20653
+.L21058:
+ cmp r4, #0
+ bne .L21074
+.L20757:
+ ldr r3, [sp, #12]
+ mov r0, r4
+ mov r1, r5
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20759
+ mov r1, r4
+ mov r0, #4
+ mov r2, r5
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+.L20761:
+ cmp r5, #240
+ movne r0, r5
+ movne r2, r7
+ movne r3, fp
+ bne .L21037
+ b .L20990
+.L20542:
+ cmp r5, #0
+ bne .L20547
+ b .L20548
+.L20800:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20884
+ mov r1, r8
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+.L20832:
+ cmp fp, #240
+ bne .L20836
+ b .L20990
+.L20759:
+ mov r1, r4
+ mov r0, #4
+ mov r2, r5
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20761
+.L21077:
+ .align 2
+.L21076:
+ .word io_registers
+ .word tile_mode_renderers
+.L20937:
+ cmp r4, #0
+ beq .L20959
+ cmp r8, #0
+ beq .L20961
+ cmp r8, r4
+ bcc .L20961
+.L20959:
+ cmp r4, r5
+ beq .L20968
+ cmp r8, r4
+ bls .L20970
+ cmp r8, r5
+ bcs .L20968
+ cmp r5, #240
+ ldrhi r3, [sp, #28]
+ movhi r0, r8
+ ldrls r3, [sp, #28]
+ movls r0, r8
+ bls .L21035
+.L21036:
+ mov r1, #240
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20975:
+ cmp r8, r5
+ bls .L20979
+ cmp r8, #239
+ bhi .L20990
+ mov r1, #240
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r2, r7
+ str sl, [sp, #4]
+ str r9, [sp, #8]
+ str r6, [sp, #0]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ moveq r1, r8
+ beq .L21038
+ mov r1, r8
+ b .L21040
+.L20674:
+ cmp r4, #0
+ beq .L20692
+ cmp r5, #0
+ beq .L20694
+ cmp r5, r4
+ bcc .L20694
+.L20692:
+ cmp r4, r8
+ beq .L20697
+ cmp r5, r4
+ bls .L20699
+ cmp r5, r8
+ bcs .L20697
+ cmp r8, #240
+ ldrhi r3, [sp, #20]
+ movhi r0, r5
+ ldrls r3, [sp, #20]
+ movls r0, r5
+ bls .L21014
+.L21015:
+ mov r1, #240
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20704:
+ cmp r5, r8
+ bls .L20708
+ cmp r5, #239
+ bhi .L20990
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r2, r7
+ b .L21037
+.L20888:
+ cmp r4, #0
+ beq .L20907
+ cmp fp, r4
+ bcs .L20909
+ cmp fp, #0
+ bne .L21075
+.L20907:
+ cmp r4, r5
+ beq .L20916
+ cmp fp, r5
+ bcs .L20918
+ cmp fp, r4
+ movhi r0, r4
+ movhi r1, fp
+ bhi .L21030
+.L20916:
+ cmp r5, #240
+ beq .L20905
+ cmp fp, #239
+ bhi .L20922
+ cmp fp, r5
+ bls .L20905
+ mov r0, r5
+ mov r1, fp
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20925
+ mov r0, #4
+ mov r1, r5
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20905
+.L20640:
+ cmp r4, #0
+ beq .L20655
+ cmp fp, r4
+ bcs .L20657
+ cmp fp, #0
+ movne r0, #0
+ movne r1, fp
+ bne .L21007
+.L20655:
+ cmp r4, r8
+ beq .L20660
+ cmp fp, r8
+ bcs .L20662
+ cmp fp, r4
+ movhi r0, r4
+ movhi r1, fp
+ bhi .L21008
+.L20660:
+ cmp r8, #240
+ beq .L20653
+ cmp fp, #239
+ bhi .L20666
+ cmp fp, r8
+ movhi r0, r8
+ movhi r1, fp
+ bls .L20653
+ b .L21010
+.L20935:
+ cmp r8, #240
+ beq .L20986
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, r4
+ mov r2, r7
+ str sl, [sp, #4]
+ str r9, [sp, #8]
+ str r6, [sp, #0]
+ bl render_scanline_conditional_tile
+.L20986:
+ tst r6, #64
+ beq .L20988
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ mov r0, #4
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_obj_copy_tile_1D
+.L20672:
+ cmp r5, #240
+ beq .L20990
+ mov r0, r5
+ mov r1, r4
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20990
+.L20806:
+ cmp fp, r5
+ movcc r0, r8
+ movcc r1, fp
+ movcs r0, r8
+ movcs r1, r5
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20813:
+ cmp fp, r4
+ bcs .L20823
+ cmp fp, r5
+ bls .L20815
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20826
+ mov r1, r5
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20815
+.L20584:
+ cmp fp, r8
+ movcc r0, r5
+ movcc r1, fp
+ movcs r0, r5
+ movcs r1, r8
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20591:
+ cmp fp, r4
+ bcs .L20597
+ cmp fp, r8
+ bls .L20593
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, fp
+ b .L20999
+.L20678:
+ cmp r8, #240
+ movhi r0, r5
+ movhi r1, #240
+ movls r0, r5
+ movls r1, r8
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20685:
+ ldr r3, [sp, #12]
+ mov r0, r8
+.L21013:
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20687
+.L20705:
+ ldr r3, [sp, #20]
+ mov r0, r4
+.L21014:
+ mov r1, r8
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20697:
+ cmp r8, #240
+ bne .L20704
+ b .L20990
+.L20976:
+ ldr r3, [sp, #28]
+ mov r0, r4
+.L21035:
+ mov r1, r5
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20968:
+ cmp r5, #240
+ bne .L20975
+ b .L20990
+.L21060:
+ mov r0, #0
+ mov r1, r4
+ mov r2, r7
+ mov r3, r8
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20544
+.L21074:
+ mov r0, #0
+ mov r1, r4
+ mov r2, r7
+ mov r3, fp
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20757
+.L20941:
+ cmp r5, #240
+ movhi r0, r8
+ movhi r1, #240
+ movls r0, r8
+ movls r1, r5
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+.L20948:
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20954
+ mov r1, r5
+ mov r0, #4
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20950
+.L20830:
+ cmp fp, #239
+ bhi .L20837
+ cmp fp, r4
+ bls .L20836
+ mov r0, r4
+ b .L21028
+.L20600:
+ cmp fp, #239
+ bhi .L20607
+ cmp fp, r4
+ bls .L20606
+ mov r0, r4
+.L21003:
+ ldr r3, [sp, #20]
+.L21004:
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20606
+.L20651:
+ mov r0, r4
+ mov r1, #240
+.L21009:
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20653
+.L20903:
+ mov r0, r4
+ mov r1, #240
+.L21031:
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20905
+.L20647:
+ mov r0, r8
+ mov r1, r4
+.L21006:
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20649
+.L20630:
+ cmp fp, #239
+ bhi .L20635
+ cmp fp, r8
+ movhi r0, r8
+ ldrhi r3, [sp, #12]
+ bls .L20606
+ b .L21004
+.L20859:
+ cmp fp, r5
+ bcs .L20864
+ cmp fp, r4
+ bls .L20857
+ ldr r3, [sp, #28]
+ mov r0, r4
+ mov r1, fp
+ b .L21026
+.L20868:
+ cmp fp, #239
+ bhi .L20877
+ cmp fp, r5
+ bls .L20836
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20880
+ mov r1, r5
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20836
+.L20621:
+ cmp fp, r8
+ bcs .L20626
+ cmp fp, r4
+ bls .L20619
+ ldr r3, [sp, #20]
+ mov r0, r4
+ mov r1, fp
+ b .L21001
+.L20578:
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, fp
+ b .L21002
+.L20988:
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ mov r0, #4
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_obj_copy_tile_2D
+.L20931:
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20905
+.L20918:
+ mov r0, r4
+ mov r1, r5
+.L21030:
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20916
+.L20662:
+ mov r0, r4
+ mov r1, r8
+.L21008:
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20660
+.L20699:
+ cmp r8, #240
+ bls .L20705
+ cmp r4, #239
+ bhi .L20704
+ ldr r3, [sp, #20]
+ mov r0, r4
+ b .L21015
+.L20970:
+ cmp r5, #240
+ bls .L20976
+ cmp r4, #239
+ bhi .L20975
+ ldr r3, [sp, #28]
+ mov r0, r4
+ b .L21036
+.L20837:
+ mov r0, r4
+.L21027:
+ ldr r3, [sp, #28]
+ mov r1, #240
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20832
+.L20954:
+ mov r1, r5
+ mov r0, #4
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20950
+.L20895:
+ mov r0, r5
+ mov r1, r4
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20901
+ mov r0, #4
+ mov r1, r5
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20897
+.L20956:
+ ldr r3, [sp, #28]
+ mov r0, r4
+ mov r2, r7
+ b .L21037
+.L20689:
+ ldr r3, [sp, #20]
+ mov r0, r4
+ mov r2, r7
+ b .L21037
+.L20708:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r2, r7
+ b .L21037
+.L20979:
+ mov r1, #240
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r2, r7
+ str sl, [sp, #4]
+ str r9, [sp, #8]
+ str r6, [sp, #0]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ movne r1, r5
+ moveq r1, r5
+ beq .L21038
+ b .L21040
+.L20892:
+ mov r0, #0
+ mov r1, r5
+.L21029:
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20890
+.L20657:
+ mov r0, #0
+ mov r1, r4
+.L21007:
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20655
+.L20644:
+ mov r0, #0
+ mov r1, r8
+.L21005:
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20642
+.L20961:
+ mov r0, r8
+ mov r1, r4
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20966
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20959
+.L20694:
+ mov r0, r5
+ mov r1, r4
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20692
+.L21073:
+ mov r0, #0
+ mov r1, fp
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ b .L20929
+.L20823:
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20828
+ mov r1, r5
+ mov r0, #4
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20815
+.L20597:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, r4
+ b .L20999
+.L20851:
+ mov r0, r8
+ mov r1, r4
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20855
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20840
+.L20666:
+ mov r0, r8
+ mov r1, #240
+ b .L21010
+.L20884:
+ mov r1, r8
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20832
+.L20922:
+ mov r0, r5
+ mov r1, #240
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20927
+ mov r0, #4
+ mov r1, r5
+ mov r2, #240
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20905
+.L21071:
+ mov r0, r5
+ mov r1, fp
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20899
+ mov r0, #4
+ mov r1, r5
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20897
+.L20607:
+ ldr r3, [sp, #20]
+ mov r0, r4
+ mov r1, #240
+ b .L21002
+.L20909:
+ mov r1, r4
+ mov r0, #0
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ ands r1, r6, #64
+ beq .L20914
+ mov r0, #4
+ mov r1, #0
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20907
+.L20901:
+ mov r0, #4
+ mov r1, r5
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20897
+.L20966:
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20959
+.L20635:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, #240
+ b .L21002
+.L20626:
+ ldr r3, [sp, #20]
+ mov r0, r4
+ mov r1, r8
+ b .L21001
+.L20877:
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, #240
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20882
+ mov r1, r5
+ mov r0, #4
+ mov r2, #240
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20832
+.L20864:
+ ldr r3, [sp, #28]
+ mov r0, r4
+ mov r1, r5
+ b .L21026
+.L21072:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20952
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20950
+.L20817:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20821
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20815
+.L20853:
+ mov r0, #4
+ mov r1, r8
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20840
+.L20828:
+ mov r1, r5
+ mov r0, #4
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20815
+.L20855:
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20840
+.L20927:
+ mov r0, #4
+ mov r1, r5
+ mov r2, #240
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20905
+.L20871:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, #240
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ tst r6, #64
+ beq .L20875
+ mov r1, r8
+ mov r0, #4
+ mov r2, #240
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20832
+.L21075:
+ mov r1, fp
+ mov r0, #0
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_tile
+ ands r1, r6, #64
+ beq .L20912
+ mov r0, #4
+ mov r1, #0
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_1D
+ b .L20907
+.L20899:
+ mov r0, #4
+ mov r1, r5
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20897
+.L20826:
+ mov r1, r5
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20815
+.L20914:
+ mov r0, #4
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20907
+.L20925:
+ mov r0, #4
+ mov r1, r5
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20905
+.L20882:
+ mov r1, r5
+ mov r0, #4
+ mov r2, #240
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20832
+.L20875:
+ mov r1, r8
+ mov r0, #4
+ mov r2, #240
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20832
+.L20819:
+ mov r0, #4
+ mov r1, r8
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20815
+.L20952:
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20950
+.L20912:
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20907
+.L20821:
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20815
+.L20873:
+ mov r1, r8
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20836
+.L20880:
+ mov r1, r5
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_tile_2D
+ b .L20836
+ .size render_scanline_window_tile, .-render_scanline_window_tile
+ .align 2
+ .global render_scanline_tile
+ .type render_scanline_tile, %function
+render_scanline_tile:
+ @ args = 0, pretend = 0, frame = 960
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr fp, .L21279
+ ldr lr, .L21279+4
+ ldr r3, [fp, #0]
+ mov r5, r0
+ cmp r3, #0
+ sub sp, sp, #960
+ mov r4, r1
+ mov sl, lr
+ ldrh r0, [lr, #80]
+ beq .L21079
+ ldr r3, .L21279+8
+ ldrh r2, [lr, #6]
+ and r1, r1, #7
+ ldr ip, [r3, r2, asl #2]
+ ldr r3, .L21279+12
+ cmp ip, #0
+ add r9, r3, r1, asl #7
+ bne .L21267
+ mov r3, r0, lsr #6
+ and r3, r3, #3
+ cmp r3, #2
+ beq .L21157
+ cmp r3, #3
+ beq .L21158
+ cmp r3, #1
+ beq .L21268
+.L21155:
+ ldr r3, .L21279+16
+ ldr ip, [r3, #0]
+ ands r1, ip, #4
+ beq .L21221
+ ldr r3, .L21279+20
+ mov r2, #0
+ ldrh r3, [r3, #0]
+.L21223:
+ strh r3, [r2, r5] @ movhi
+ add r2, r2, #2
+ cmp r2, #480
+ bne .L21223
+ ands r1, r4, #64
+ bic r0, ip, #4
+ beq .L21225
+ mov r1, #0
+ sub r2, r2, #240
+ mov r3, r5
+ bl render_scanline_obj_normal_1D
+.L21227:
+ ldr r3, [fp, #0]
+ cmp r3, #1
+ bls .L21241
+ ldr r7, .L21279+16
+ and r8, r4, #64
+ mov r6, #1
+ b .L21229
+.L21269:
+ bl render_scanline_obj_normal_1D
+.L21234:
+ ldr r3, [fp, #0]
+ add r6, r6, #1
+ cmp r3, r6
+ add r7, r7, #4
+ bls .L21241
+.L21229:
+ ldr ip, [r7, #4]
+ mov r2, #240
+ ands r1, ip, #4
+ mov r0, ip
+ add r4, r9, ip, asl #5
+ mov r3, r5
+ beq .L21230
+ mov r1, #0
+ bic ip, ip, #4
+ cmp r8, r1
+ mov r0, ip
+ bne .L21269
+ mov r3, r5
+ mov r0, ip
+ mov r1, r8
+ mov r2, #240
+ bl render_scanline_obj_normal_2D
+ ldr r3, [fp, #0]
+ add r6, r6, #1
+ cmp r3, r6
+ add r7, r7, #4
+ bhi .L21229
+.L21241:
+ add sp, sp, #960
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L21079:
+ mov r3, r0, lsr #6
+ and r2, r3, #3
+ ldr r3, .L21279+20
+ cmp r2, #2
+ ldrh ip, [r3, #0]
+ beq .L21236
+ cmp r2, #3
+ beq .L21270
+.L21235:
+ mov r3, ip, asl #16
+ mov r3, r3, lsr #16
+ mov r2, #0
+.L21240:
+ strh r3, [r2, r5] @ movhi
+ add r2, r2, #2
+ cmp r2, #480
+ bne .L21240
+ b .L21241
+.L21267:
+ mov r3, r0, lsr #6
+ and r3, r3, #3
+ cmp r3, #2
+ beq .L21085
+ cmp r3, #3
+ beq .L21086
+ cmp r3, #1
+ beq .L21271
+.L21083:
+ ldr r3, .L21279+16
+ ldr r3, [r3, #0]
+ ands r1, r3, #4
+ beq .L21140
+ mov r2, #0
+ mov r6, sp
+ mov r1, r2
+.L21142:
+ str r1, [r2, r6]
+ add r2, r2, #4
+ cmp r2, #960
+ bne .L21142
+ ands r2, r4, #64
+ bic r0, r3, #4
+ beq .L21144
+ mov r2, #240
+ mov r3, sp
+ bl render_scanline_obj_partial_alpha_1D
+.L21146:
+ ldr r3, [fp, #0]
+ cmp r3, #1
+ bls .L21169
+ ldr r8, .L21279+16
+ and sl, r4, #64
+ mov r7, #1
+ b .L21149
+.L21272:
+ bl render_scanline_obj_partial_alpha_1D
+.L21154:
+ ldr r3, [fp, #0]
+ add r7, r7, #1
+ cmp r3, r7
+ add r8, r8, #4
+ bls .L21169
+.L21149:
+ ldr ip, [r8, #4]
+ mov r2, #240
+ ands r1, ip, #4
+ mov r0, ip
+ add r4, r9, ip, asl #5
+ mov r3, sp
+ beq .L21150
+ mov r1, #0
+ bic ip, ip, #4
+ cmp sl, r1
+ mov r0, ip
+ bne .L21272
+ mov r3, sp
+ mov r0, ip
+ mov r1, sl
+ mov r2, #240
+ bl render_scanline_obj_partial_alpha_2D
+ ldr r3, [fp, #0]
+ add r7, r7, #1
+ cmp r3, r7
+ add r8, r8, #4
+ bhi .L21149
+.L21169:
+ mov r0, sp
+ mov r1, r5
+ mov r2, #0
+ mov r3, #240
+ bl expand_blend
+ b .L21241
+.L21236:
+ tst r0, #32
+ beq .L21235
+ ldrh r3, [lr, #84]
+ ldr r1, .L21279+24
+ and r3, r3, #31
+ cmp r3, #16
+ movcs r3, #16
+ orr r2, ip, ip, asl #16
+ and r1, r2, r1
+ rsb r0, r3, #16
+ rsb r2, r3, r3, asl #6
+ mul ip, r1, r0
+ add r3, r3, r2, asl #5
+ rsb r3, r3, r3, asl #16
+ ldr r1, .L21279+24
+ mov r3, r3, lsr #4
+ and r1, r3, r1
+ ldr r2, .L21279+24
+ add r1, r1, ip, lsr #4
+ and r2, r1, r2
+ orr ip, r2, r2, lsr #16
+ b .L21235
+.L21085:
+ ldrh r3, [lr, #84]
+ tst r3, #31
+ beq .L21083
+ tst r0, #63
+ beq .L21083
+ ldr r3, .L21279+16
+ ldr r3, [r3, #0]
+ ands r1, r3, #4
+ beq .L21108
+ mov r2, #0
+ mov r6, sp
+ mov r1, r2
+.L21110:
+ str r1, [r2, r6]
+ add r2, r2, #4
+ cmp r2, #960
+ bne .L21110
+ ands r2, r4, #64
+ bic r0, r3, #4
+ beq .L21112
+ mov r2, #240
+ mov r3, sp
+ bl render_scanline_obj_partial_alpha_1D
+.L21114:
+ ldr r3, [fp, #0]
+ cmp r3, #1
+ bls .L21115
+ ldr r8, .L21279+16
+ and sl, r4, #64
+ mov r7, #1
+ b .L21117
+.L21273:
+ bl render_scanline_obj_partial_alpha_1D
+.L21122:
+ ldr r3, [fp, #0]
+ add r7, r7, #1
+ cmp r3, r7
+ add r8, r8, #4
+ bls .L21115
+.L21117:
+ ldr ip, [r8, #4]
+ mov r2, #240
+ ands r1, ip, #4
+ mov r0, ip
+ add r4, r9, ip, asl #5
+ mov r3, sp
+ beq .L21118
+ mov r1, #0
+ bic ip, ip, #4
+ cmp sl, r1
+ mov r0, ip
+ bne .L21273
+ mov r0, ip
+ mov r1, sl
+ mov r2, #240
+ mov r3, sp
+ bl render_scanline_obj_partial_alpha_2D
+ b .L21122
+.L21157:
+ ldrh r3, [lr, #84]
+ tst r3, #31
+ beq .L21155
+ tst r0, #63
+ beq .L21155
+ ldr r3, .L21279+16
+ ldr r3, [r3, #0]
+ ands r1, r3, #4
+ beq .L21179
+ mov r2, ip
+.L21181:
+ mov r1, #0 @ movhi
+ strh r1, [r2, r5] @ movhi
+ add r2, r2, #2
+ cmp r2, #480
+ bne .L21181
+ ands r1, r4, #64
+ bic r0, r3, #4
+ beq .L21183
+ mov r1, #0
+ sub r2, r2, #240
+ mov r3, r5
+ bl render_scanline_obj_color16_1D
+.L21185:
+ ldr r3, [fp, #0]
+ cmp r3, #1
+ bls .L21186
+ ldr r7, .L21279+16
+ and r8, r4, #64
+ mov r6, #1
+ b .L21188
+.L21274:
+ bl render_scanline_obj_color16_1D
+.L21193:
+ ldr r3, [fp, #0]
+ add r6, r6, #1
+ cmp r3, r6
+ add r7, r7, #4
+ bls .L21186
+.L21188:
+ ldr ip, [r7, #4]
+ mov r2, #240
+ ands r1, ip, #4
+ mov r0, ip
+ add r4, r9, ip, asl #5
+ mov r3, r5
+ beq .L21189
+ mov r1, #0
+ bic ip, ip, #4
+ cmp r8, r1
+ mov r0, ip
+ bne .L21274
+ mov r0, ip
+ mov r1, r8
+ mov r2, #240
+ mov r3, r5
+ bl render_scanline_obj_color16_2D
+ b .L21193
+.L21230:
+ mov lr, pc
+ ldr pc, [r4, #4]
+ b .L21234
+.L21150:
+ mov lr, pc
+ ldr pc, [r4, #28]
+ b .L21154
+.L21270:
+ tst r0, #32
+ beq .L21235
+ ldrh r3, [lr, #84]
+ ldr r0, .L21279+24
+ and r3, r3, #31
+ orr r2, ip, ip, asl #16
+ rsb r3, r3, #16
+ and r0, r2, r0
+ cmp r3, #0
+ movlt r3, #0
+ mul r1, r3, r0
+ ldr r2, .L21279+24
+ mov r1, r1, lsr #4
+ and r2, r1, r2
+ orr ip, r2, r2, lsr #16
+ b .L21235
+.L21144:
+ mov r1, r2
+ mov r3, sp
+ mov r2, #240
+ bl render_scanline_obj_partial_alpha_2D
+ b .L21146
+.L21225:
+ mov r2, #240
+ mov r3, r5
+ bl render_scanline_obj_normal_2D
+ b .L21227
+.L21140:
+ mov r0, r3
+ add ip, r9, r3, asl #5
+ mov r2, #240
+ mov r3, sp
+ mov r6, sp
+ mov lr, pc
+ ldr pc, [ip, #24]
+ b .L21146
+.L21221:
+ mov r0, ip
+ mov r2, #240
+ mov r3, r5
+ mov lr, pc
+ ldr pc, [r9, ip, asl #5]
+ b .L21227
+.L21086:
+ ldrh r3, [lr, #84]
+ tst r3, #31
+ beq .L21083
+ tst r0, #63
+ beq .L21083
+ ldr r3, .L21279+16
+ ldr r3, [r3, #0]
+ ands r1, r3, #4
+ beq .L21125
+ mov r2, #0
+ mov r6, sp
+ mov r1, r2
+.L21127:
+ str r1, [r2, r6]
+ add r2, r2, #4
+ cmp r2, #960
+ bne .L21127
+ ands r2, r4, #64
+ bic r0, r3, #4
+ beq .L21129
+ mov r2, #240
+ mov r3, sp
+ bl render_scanline_obj_partial_alpha_1D
+.L21131:
+ ldr r3, [fp, #0]
+ cmp r3, #1
+ bls .L21132
+ ldr r8, .L21279+16
+ and sl, r4, #64
+ mov r7, #1
+ b .L21134
+.L21275:
+ bl render_scanline_obj_partial_alpha_1D
+.L21139:
+ ldr r3, [fp, #0]
+ add r7, r7, #1
+ cmp r3, r7
+ add r8, r8, #4
+ bls .L21132
+.L21134:
+ ldr ip, [r8, #4]
+ mov r2, #240
+ ands r1, ip, #4
+ mov r0, ip
+ add r4, r9, ip, asl #5
+ mov r3, sp
+ beq .L21135
+ mov r1, #0
+ bic ip, ip, #4
+ cmp sl, r1
+ mov r0, ip
+ bne .L21275
+ mov r0, ip
+ mov r1, sl
+ mov r2, #240
+ mov r3, sp
+ bl render_scanline_obj_partial_alpha_2D
+ b .L21139
+.L21158:
+ ldrh r3, [lr, #84]
+ tst r3, #31
+ beq .L21155
+ tst r0, #63
+ beq .L21155
+ ldr r3, .L21279+16
+ ldr r3, [r3, #0]
+ ands r1, r3, #4
+ beq .L21201
+ mov r2, #0
+.L21203:
+ mov r1, #0 @ movhi
+ strh r1, [r2, r5] @ movhi
+ add r2, r2, #2
+ cmp r2, #480
+ bne .L21203
+ ands r1, r4, #64
+ bic r0, r3, #4
+ beq .L21205
+ mov r1, #0
+ sub r2, r2, #240
+ mov r3, r5
+ bl render_scanline_obj_color16_1D
+.L21207:
+ ldr r3, [fp, #0]
+ cmp r3, #1
+ bls .L21208
+ ldr r6, .L21279+16
+ and r8, r4, #64
+ mov r7, #1
+ b .L21210
+.L21276:
+ bl render_scanline_obj_color16_1D
+.L21215:
+ ldr r3, [fp, #0]
+ add r7, r7, #1
+ cmp r3, r7
+ add r6, r6, #4
+ bls .L21208
+.L21210:
+ ldr ip, [r6, #4]
+ mov r2, #240
+ ands r1, ip, #4
+ mov r0, ip
+ add r4, r9, ip, asl #5
+ mov r3, r5
+ beq .L21211
+ mov r1, #0
+ bic ip, ip, #4
+ cmp r8, r1
+ mov r0, ip
+ bne .L21276
+ mov r0, ip
+ mov r1, r8
+ mov r2, #240
+ mov r3, r5
+ bl render_scanline_obj_color16_2D
+ b .L21215
+.L21118:
+ mov lr, pc
+ ldr pc, [r4, #28]
+ b .L21122
+.L21189:
+ mov lr, pc
+ ldr pc, [r4, #20]
+ b .L21193
+.L21135:
+ mov lr, pc
+ ldr pc, [r4, #28]
+ b .L21139
+.L21211:
+ mov lr, pc
+ ldr pc, [r4, #20]
+ b .L21215
+.L21271:
+ ldrh r2, [lr, #82]
+ ldr r3, .L21279+28
+ and r3, r2, r3
+ cmp r3, #31
+ beq .L21083
+ tst r0, #63
+ beq .L21083
+ tst r0, #16128
+ beq .L21083
+ ldr r3, .L21279+16
+ ldr r3, [r3, #0]
+ ands r1, r3, #4
+ beq .L21090
+ mov r2, #0
+ mov r6, sp
+ mov r1, r2
+.L21092:
+ str r1, [r2, r6]
+ add r2, r2, #4
+ cmp r2, #960
+ bne .L21092
+ ands r2, r4, #64
+ bic r0, r3, #4
+ beq .L21094
+ mov r2, #240
+ mov r3, sp
+ bl render_scanline_obj_alpha_obj_1D
+.L21096:
+ ldr r3, [fp, #0]
+ cmp r3, #1
+ bls .L21169
+ ldr r8, .L21279+16
+ and sl, r4, #64
+ mov r7, #1
+ b .L21099
+.L21277:
+ mov r1, #0
+ bic ip, ip, #4
+ cmp sl, r1
+ mov r0, ip
+ beq .L21102
+ bl render_scanline_obj_alpha_obj_1D
+.L21104:
+ ldr r3, [fp, #0]
+ add r7, r7, #1
+ cmp r3, r7
+ add r8, r8, #4
+ bls .L21169
+.L21099:
+ ldr ip, [r8, #4]
+ mov r2, #240
+ ands r1, ip, #4
+ mov r0, ip
+ add r4, r9, ip, asl #5
+ mov r3, sp
+ bne .L21277
+ mov lr, pc
+ ldr pc, [r4, #12]
+ b .L21104
+.L21268:
+ ldrh r2, [lr, #82]
+ ldr r3, .L21279+28
+ and r3, r2, r3
+ cmp r3, #31
+ beq .L21155
+ tst r0, #63
+ beq .L21155
+ tst r0, #16128
+ beq .L21155
+ ldr r3, .L21279+16
+ ldr r3, [r3, #0]
+ ands r1, r3, #4
+ beq .L21162
+ mov r2, ip
+ mov r6, sp
+ mov r1, ip
+.L21164:
+ str r1, [r2, r6]
+ add r2, r2, #4
+ cmp r2, #960
+ bne .L21164
+ ands r2, r4, #64
+ bic r0, r3, #4
+ beq .L21166
+ mov r2, #240
+ mov r3, sp
+ bl render_scanline_obj_alpha_obj_1D
+.L21168:
+ ldr r3, [fp, #0]
+ cmp r3, #1
+ bls .L21169
+ ldr r8, .L21279+16
+ and sl, r4, #64
+ mov r7, #1
+ b .L21171
+.L21278:
+ mov r1, #0
+ bic ip, ip, #4
+ cmp sl, r1
+ mov r0, ip
+ beq .L21174
+ bl render_scanline_obj_alpha_obj_1D
+.L21176:
+ ldr r3, [fp, #0]
+ add r7, r7, #1
+ cmp r3, r7
+ add r8, r8, #4
+ bls .L21169
+.L21171:
+ ldr ip, [r8, #4]
+ mov r2, #240
+ ands r1, ip, #4
+ mov r0, ip
+ add r4, r9, ip, asl #5
+ mov r3, sp
+ bne .L21278
+ mov lr, pc
+ ldr pc, [r4, #12]
+ b .L21176
+.L21174:
+ mov r0, ip
+ mov r1, sl
+ mov r2, #240
+ mov r3, sp
+ bl render_scanline_obj_alpha_obj_2D
+ b .L21176
+.L21102:
+ mov r0, ip
+ mov r1, sl
+ mov r2, #240
+ mov r3, sp
+ bl render_scanline_obj_alpha_obj_2D
+ b .L21104
+.L21115:
+ mov r0, sp
+ mov r1, r5
+ mov r2, #0
+ mov r3, #240
+ bl expand_brighten_partial_alpha
+ b .L21241
+.L21186:
+ ldrh r2, [sl, #84]
+ ldr r7, .L21279+24
+ and r2, r2, #31
+ cmp r2, #16
+ movcs r2, #16
+ rsb r3, r2, r2, asl #6
+ add r3, r2, r3, asl #5
+ rsb r3, r3, r3, asl #16
+ mov r3, r3, lsr #4
+ ldr r6, .L21279+20
+ and r7, r3, r7
+ rsb r4, r2, #16
+ mov lr, #0
+.L21194:
+ ldrh r3, [r5, #0]
+ ldr ip, .L21279+24
+ mov r2, r3, asl #23
+ mov r2, r2, lsr #23
+ tst r3, #512
+ mov r2, r2, asl #1
+ mov r1, r3, asl #23
+ ldrneh r3, [r2, r6]
+ mov r0, ip
+ orrne r3, r3, r3, asl #16
+ andne ip, r3, ip
+ mulne r2, ip, r4
+ mov r1, r1, lsr #23
+ mov r1, r1, asl #1
+ addne r2, r7, r2, lsr #4
+ andne r0, r2, r0
+ ldreqh r1, [r1, r6]
+ orrne r3, r0, r0, lsr #16
+ add lr, lr, #1
+ strneh r3, [r5, #0] @ movhi
+ streqh r1, [r5, #0] @ movhi
+ cmp lr, #240
+ add r5, r5, #2
+ bne .L21194
+ b .L21241
+.L21132:
+ mov r0, sp
+ mov r1, r5
+ mov r2, #0
+ mov r3, #240
+ bl expand_darken_partial_alpha
+ b .L21241
+.L21208:
+ ldrh r3, [sl, #84]
+ ldr r6, .L21279+20
+ and r3, r3, #31
+ rsb r3, r3, #16
+ cmp r3, #0
+ movge r4, r3
+ movlt r4, #0
+ mov lr, #0
+.L21216:
+ ldrh r3, [r5, #0]
+ ldr ip, .L21279+24
+ mov r2, r3, asl #23
+ mov r2, r2, lsr #23
+ tst r3, #512
+ mov r2, r2, asl #1
+ mov r1, r3, asl #23
+ ldrneh r3, [r2, r6]
+ mov r0, ip
+ orrne r3, r3, r3, asl #16
+ andne ip, r3, ip
+ mulne r2, r4, ip
+ mov r1, r1, lsr #23
+ mov r1, r1, asl #1
+ movne r2, r2, lsr #4
+ andne r0, r2, r0
+ ldreqh r1, [r1, r6]
+ orrne r3, r0, r0, lsr #16
+ add lr, lr, #1
+ strneh r3, [r5, #0] @ movhi
+ streqh r1, [r5, #0] @ movhi
+ cmp lr, #240
+ add r5, r5, #2
+ bne .L21216
+ b .L21241
+.L21183:
+ mov r2, #240
+ mov r3, r5
+ bl render_scanline_obj_color16_2D
+ b .L21185
+.L21179:
+ mov r0, r3
+ add ip, r9, r3, asl #5
+ mov r2, #240
+ mov r3, r5
+ mov lr, pc
+ ldr pc, [ip, #16]
+ b .L21185
+.L21205:
+ mov r2, #240
+ mov r3, r5
+ bl render_scanline_obj_color16_2D
+ b .L21207
+.L21201:
+ mov r0, r3
+ add ip, r9, r3, asl #5
+ mov r2, #240
+ mov r3, r5
+ mov lr, pc
+ ldr pc, [ip, #16]
+ b .L21207
+.L21129:
+ mov r1, r2
+ mov r3, sp
+ mov r2, #240
+ bl render_scanline_obj_partial_alpha_2D
+ b .L21131
+.L21125:
+ mov r0, r3
+ add ip, r9, r3, asl #5
+ mov r2, #240
+ mov r3, sp
+ mov r6, sp
+ mov lr, pc
+ ldr pc, [ip, #24]
+ b .L21131
+.L21112:
+ mov r1, r2
+ mov r3, sp
+ mov r2, #240
+ bl render_scanline_obj_partial_alpha_2D
+ b .L21114
+.L21108:
+ mov r0, r3
+ add ip, r9, r3, asl #5
+ mov r2, #240
+ mov r3, sp
+ mov r6, sp
+ mov lr, pc
+ ldr pc, [ip, #24]
+ b .L21114
+.L21166:
+ mov r1, r2
+ mov r3, sp
+ mov r2, #240
+ bl render_scanline_obj_alpha_obj_2D
+ b .L21168
+.L21094:
+ mov r1, r2
+ mov r3, sp
+ mov r2, #240
+ bl render_scanline_obj_alpha_obj_2D
+ b .L21096
+.L21162:
+ mov r0, r3
+ add ip, r9, r3, asl #5
+ mov r2, #240
+ mov r3, sp
+ mov r6, sp
+ mov lr, pc
+ ldr pc, [ip, #8]
+ b .L21168
+.L21090:
+ mov r0, r3
+ add ip, r9, r3, asl #5
+ mov r2, #240
+ mov r3, sp
+ mov r6, sp
+ mov lr, pc
+ ldr pc, [ip, #8]
+ b .L21096
+.L21280:
+ .align 2
+.L21279:
+ .word layer_count
+ .word io_registers
+ .word obj_alpha_count
+ .word tile_mode_renderers
+ .word layer_order
+ .word palette_ram_converted
+ .word 132184095
+ .word 7967
+ .size render_scanline_tile, .-render_scanline_tile
+ .align 2
+ .global print_string_pad
+ .type print_string_pad, %function
+print_string_pad:
+ @ args = 8, pretend = 0, frame = 16
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr lr, .L21320
+ sub sp, sp, #16
+ ldr ip, .L21320+4
+ ldr r5, [lr, #0]
+ ldr sl, [sp, #52]
+ ldr r4, [ip, #0]
+ str r0, [sp, #4]
+ add ip, sl, #10
+ mov r2, r2, asl #16
+ mov fp, r3
+ ldrh r3, [r5, #16]
+ ldr r5, [r5, #20]
+ cmp ip, r4
+ mov r4, r2, lsr #16
+ ldr r2, [sp, #4]
+ mov r1, r1, asl #16
+ str r5, [sp, #0]
+ mov r0, r1, lsr #16
+ ldrb ip, [r2, #0] @ zero_extendqisi2
+ bcs .L21313
+ cmp ip, #0
+ beq .L21313
+ ldr r2, .L21320+8
+ mov r9, r3, lsr #1
+ ldr r2, [r2, #0]
+ mla r3, sl, r9, fp
+ add r1, r9, r9, asl #2
+ str r2, [sp, #12]
+ ldr r2, [sp, #0]
+ mov r1, r1, asl #2
+ str r1, [sp, #8]
+ add r6, r2, r3, asl #1
+ mov r5, r9, asl #1
+ mov r1, fp
+ mov r7, #0
+ mov r8, #1
+.L21285:
+ cmp ip, #10
+ beq .L21319
+ ldr r3, .L21320+12
+ mov lr, #0
+ ldr r2, [r3, ip, asl #2]
+ ldr r3, .L21320+16
+ mov ip, r6
+ add r2, r3, r2, asl #1
+.L21289:
+ ldrh r3, [r2, #0]
+ add lr, lr, #1
+ tst r3, #32768
+ streqh r4, [ip, #0] @ movhi
+ strneh r0, [ip, #0] @ movhi
+ tst r3, #16384
+ streqh r4, [ip, #2] @ movhi
+ strneh r0, [ip, #2] @ movhi
+ tst r3, #8192
+ streqh r4, [ip, #4] @ movhi
+ strneh r0, [ip, #4] @ movhi
+ tst r3, #4096
+ streqh r4, [ip, #6] @ movhi
+ strneh r0, [ip, #6] @ movhi
+ tst r3, #2048
+ streqh r4, [ip, #8] @ movhi
+ strneh r0, [ip, #8] @ movhi
+ tst r3, #1024
+ strneh r0, [ip, #10] @ movhi
+ streqh r4, [ip, #10] @ movhi
+ cmp lr, #10
+ add ip, ip, r5
+ add r2, r2, #2
+ bne .L21289
+ add r3, r6, r5
+ add r2, r5, r5, asl #3
+ add r3, r3, r2
+ ldr r2, [sp, #8]
+ add r1, r1, #6
+ rsb r3, r2, r3
+ add r6, r3, #12
+.L21288:
+ ldr r3, [sp, #4]
+ ldr r2, [sp, #56]
+ ldrb ip, [r3, r8] @ zero_extendqisi2
+ add r7, r7, #1
+ cmp r2, r7
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, #0
+ movne r3, #0
+ ldr r2, [sp, #12]
+ cmp r3, #0
+ add r3, r1, #6
+ movne ip, #32
+ addeq r8, r8, #1
+ cmp r3, r2
+ bcs .L21313
+ cmp ip, #0
+ bne .L21285
+.L21313:
+ add sp, sp, #16
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L21319:
+ add sl, sl, #10
+ mla r3, sl, r9, fp
+ ldr r2, [sp, #0]
+ mov r1, fp
+ add r6, r2, r3, asl #1
+ b .L21288
+.L21321:
+ .align 2
+.L21320:
+ .word screen
+ .word resolution_height
+ .word resolution_width
+ .word _font_offset
+ .word _font_bits
+ .size print_string_pad, .-print_string_pad
+ .align 2
+ .global print_string
+ .type print_string, %function
+print_string:
+ @ args = 4, pretend = 0, frame = 12
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr lr, .L21358
+ sub sp, sp, #12
+ ldr ip, .L21358+4
+ ldr r5, [lr, #0]
+ ldr r8, [sp, #48]
+ ldr r4, [ip, #0]
+ mov r9, r3
+ ldrh r3, [r5, #16]
+ ldr r5, [r5, #20]
+ add ip, r8, #10
+ cmp ip, r4
+ mov fp, r0
+ mov r1, r1, asl #16
+ mov r2, r2, asl #16
+ str r5, [sp, #0]
+ mov r0, r1, lsr #16
+ mov r4, r2, lsr #16
+ ldrb ip, [fp, #0] @ zero_extendqisi2
+ bcs .L21352
+ cmp ip, #0
+ beq .L21352
+ ldr r2, .L21358+8
+ mov sl, r3, lsr #1
+ ldr r2, [r2, #0]
+ mla r3, r8, sl, r9
+ add r1, sl, sl, asl #2
+ str r2, [sp, #8]
+ ldr r2, [sp, #0]
+ mov r1, r1, asl #2
+ cmp ip, #10
+ str r1, [sp, #4]
+ add r6, r2, r3, asl #1
+ mov r5, sl, asl #1
+ mov r1, r9
+ mov r7, #1
+ beq .L21357
+.L21327:
+ ldr r3, .L21358+12
+ mov lr, #0
+ ldr r2, [r3, ip, asl #2]
+ ldr r3, .L21358+16
+ mov ip, r6
+ add r2, r3, r2, asl #1
+.L21330:
+ ldrh r3, [r2, #0]
+ add lr, lr, #1
+ tst r3, #32768
+ streqh r4, [ip, #0] @ movhi
+ strneh r0, [ip, #0] @ movhi
+ tst r3, #16384
+ streqh r4, [ip, #2] @ movhi
+ strneh r0, [ip, #2] @ movhi
+ tst r3, #8192
+ streqh r4, [ip, #4] @ movhi
+ strneh r0, [ip, #4] @ movhi
+ tst r3, #4096
+ streqh r4, [ip, #6] @ movhi
+ strneh r0, [ip, #6] @ movhi
+ tst r3, #2048
+ streqh r4, [ip, #8] @ movhi
+ strneh r0, [ip, #8] @ movhi
+ tst r3, #1024
+ strneh r0, [ip, #10] @ movhi
+ streqh r4, [ip, #10] @ movhi
+ cmp lr, #10
+ add ip, ip, r5
+ add r2, r2, #2
+ bne .L21330
+ add r3, r5, r6
+ add r2, r5, r5, asl #3
+ add r3, r3, r2
+ ldr r2, [sp, #4]
+ add r1, r1, #6
+ rsb r3, r2, r3
+ ldr r2, [sp, #8]
+ add r6, r3, #12
+ add r3, r1, #6
+ cmp r3, r2
+ ldrb ip, [r7, fp] @ zero_extendqisi2
+ bcs .L21352
+.L21356:
+ cmp ip, #0
+ beq .L21352
+ cmp ip, #10
+ add r7, r7, #1
+ bne .L21327
+.L21357:
+ add r8, r8, #10
+ mla r3, r8, sl, r9
+ ldr r2, [sp, #0]
+ mov r1, r9
+ add r6, r2, r3, asl #1
+ ldr r2, [sp, #8]
+ add r3, r1, #6
+ cmp r3, r2
+ ldrb ip, [r7, fp] @ zero_extendqisi2
+ bcc .L21356
+.L21352:
+ add sp, sp, #12
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L21359:
+ .align 2
+.L21358:
+ .word screen
+ .word resolution_height
+ .word resolution_width
+ .word _font_offset
+ .word _font_bits
+ .size print_string, .-print_string
+ .align 2
+ .global render_scanline_obj_copy_bitmap_2D
+ .type render_scanline_obj_copy_bitmap_2D, %function
+render_scanline_obj_copy_bitmap_2D:
+ @ args = 0, pretend = 0, frame = 596
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr lr, .L22220
+ add r0, r0, r0, asl #2
+ ldrh r4, [lr, #6]
+ ldr ip, .L22220+4
+ add r0, r4, r0, asl #5
+ ldr ip, [ip, r0, asl #2]
+ sub sp, sp, #596
+ ldrh r6, [lr, #0]
+ ldrh r5, [lr, #74]
+ str ip, [sp, #56]
+ cmp ip, #0
+ ldr lr, .L22220+8
+ ldr ip, .L22220+12
+ str r4, [sp, #52]
+ and r4, r6, #7
+ add r4, ip, r4, asl #2
+ add r0, lr, r0, asl #7
+ str r4, [sp, #40]
+ str r0, [sp, #60]
+ str r1, [sp, #16]
+ str r2, [sp, #12]
+ str r3, [sp, #8]
+ mov r5, r5, lsr #8
+ beq .L22165
+ and r7, r5, #16
+ add ip, r3, r1, asl #1
+ rsb lr, r1, r2
+ mov r0, #0
+ and r6, r6, #64
+ and r5, r5, #4
+ str r7, [sp, #76]
+ str r6, [sp, #80]
+ str r5, [sp, #84]
+ str ip, [sp, #88]
+ str lr, [sp, #108]
+ str r0, [sp, #44]
+ mov r1, r0
+.L21363:
+ ldr r2, [sp, #60]
+ ldr r4, .L22220+16
+ ldrb r3, [r1, r2] @ zero_extendqisi2
+ ldr ip, .L22220+20
+ mov r3, r3, asl #3
+ ldrh r8, [r3, r4]
+ add r3, r3, r4
+ ldrh sl, [r3, #2]
+ mov r6, r8, lsr #12
+ and r2, r6, #12
+ orr r2, r2, sl, lsr #14
+ ldr ip, [ip, r2, asl #2]
+ ands r7, r8, #512
+ mov r1, sl, asl #23
+ moveq lr, ip
+ mov r9, r1, asr #23
+ str r7, [sp, #28]
+ ldr r7, [sp, #12]
+ addne r1, r9, ip, asl #1
+ addeq r1, r9, lr
+ str r6, [sp, #24]
+ ldr r6, [sp, #16]
+ ldrh r3, [r3, #4]
+ cmp r1, r7
+ movcc r7, r1
+ ldr r0, [sp, #12]
+ ldr r1, [sp, #16]
+ cmp r9, r6
+ movcs r6, r9
+ str r3, [sp, #20]
+ cmp r0, r6
+ movls r3, #0
+ movhi r3, #1
+ cmp r1, r7
+ movcs r3, #0
+ cmp r3, #0
+ str r2, [sp, #48]
+ str ip, [sp, #112]
+ beq .L21367
+ cmp r7, r6
+ ldr r3, .L22220+24
+ movls r4, r6, asl #1
+ ldrh r0, [r3, #0]
+ strls r4, [sp, #0]
+ bls .L21369
+ mov r2, r6, asl #1
+ add r3, sp, #116
+ str r2, [sp, #0]
+ rsb r1, r6, r7
+ add r2, r3, r2
+ mov r3, #0
+.L21371:
+ add r3, r3, #1
+ cmp r1, r3
+ strh r0, [r2], #2 @ movhi
+ bne .L21371
+.L21369:
+ ldr fp, .L22220+28
+ ldr r3, [fp, #0]
+ cmp r3, #0
+ beq .L21372
+ ldr r5, .L22220+32
+ mov r4, #0
+ b .L21374
+.L22194:
+ ldr ip, [sp, #76]
+ cmp ip, #0
+ bic ip, r0, #4
+ beq .L21377
+ ldr lr, [sp, #80]
+ mov r0, ip
+ cmp lr, #0
+ mov r1, r6
+ mov r2, r7
+ add r3, sp, #116
+ beq .L21379
+ bl render_scanline_obj_normal_1D
+.L21377:
+ ldr r3, [fp, #0]
+ add r4, r4, #1
+ cmp r3, r4
+ add r5, r5, #4
+ bls .L21372
+.L21374:
+ ldr r0, [r5, #0]
+ tst r0, #4
+ bne .L22194
+ ldr r0, [sp, #84]
+ mov r1, r7
+ cmp r0, #0
+ add r2, sp, #116
+ mov r0, r6
+ beq .L21377
+ ldr r3, [sp, #40]
+ mov lr, pc
+ ldr pc, [r3, #0]
+ ldr r3, [fp, #0]
+ add r4, r4, #1
+ cmp r3, r4
+ add r5, r5, #4
+ bhi .L21374
+.L21372:
+ and r0, r8, #255
+ cmp r0, #160
+ ldr r6, [sp, #0]
+ ldr r3, .L22220+36
+ ldr r7, [sp, #48]
+ add r4, sp, #116
+ subgt r0, r0, #256
+ tst r8, #256
+ add r5, r4, r6
+ ldr fp, [r3, r7, asl #2]
+ beq .L21384
+ tst r8, #8192
+ beq .L21386
+ mov r3, sl, lsr #4
+ ldr ip, [sp, #28]
+ ldr lr, .L22220+16
+ ldr r1, [sp, #112]
+ and r3, r3, #992
+ cmp ip, #0
+ add r3, r3, lr
+ add r2, r1, r1, lsr #31
+ add r1, fp, fp, lsr #31
+ ldrh r4, [r3, #30]
+ mov lr, r1, asr #1
+ ldrne r6, [sp, #112]
+ ldr r1, [sp, #16]
+ mov ip, r2, asr #1
+ str r4, [sp, #32]
+ moveq r7, ip
+ movne r4, r6, asl #1
+ ldreq r4, [sp, #112]
+ moveq r6, lr
+ movne r7, ip, asl #1
+ movne r6, lr, asl #1
+ cmp r9, r1
+ ldrh sl, [r3, #6]
+ ldrh r2, [r3, #14]
+ ldrh r8, [r3, #22]
+ bge .L21391
+ rsb r1, r9, r1
+ rsb r4, r1, r4
+ cmp r4, #0
+ ble .L21367
+ ldr r9, [sp, #16]
+ rsb r7, r1, r7
+.L21391:
+ ldr r1, [sp, #12]
+ add r3, r9, r4
+ cmp r3, r1
+ blt .L21394
+ rsb r4, r9, r1
+ cmp r4, #0
+ ble .L21367
+.L21394:
+ add r0, r0, r6
+ ldr r6, [sp, #32]
+ mov r2, r2, asl #16
+ mov ip, ip, asl #8
+ mov r3, sl, asl #16
+ mov r1, r6, asl #16
+ str ip, [sp, #104]
+ mov r6, r2, asr #16
+ mov ip, lr, asl #8
+ ldr r2, [sp, #52]
+ ldr lr, [sp, #8]
+ mov r3, r3, asr #16
+ cmp r8, #0
+ str r3, [sp, #64]
+ mov r1, r1, asr #16
+ add sl, lr, r9, asl #1
+ rsb r0, r0, r2
+ bne .L21396
+ mla r3, r0, r1, ip
+ mov r1, r3, asr #8
+ cmp r1, fp
+ bcs .L21367
+ ldr ip, [sp, #20]
+ mov r2, r1, lsr #3
+ mov r3, ip, asl #22
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r1, #7
+ add r1, r1, r3, asl #2
+ ldr r3, .L22220+40
+ cmp r4, #0
+ add r9, r3, r1, asl #3
+ ble .L21367
+ ldr r2, [sp, #64]
+ mul r3, r0, r6
+ mul r2, r7, r2
+ ldr lr, [sp, #104]
+ rsb r3, r2, r3
+ add r0, lr, r3
+ ldr r1, [sp, #112]
+ mov ip, r0, asr #8
+ cmp ip, r1
+ movcs lr, r8
+ bcs .L21402
+ b .L22216
+.L21403:
+ ldr r2, [sp, #112]
+ cmp ip, r2
+ bcc .L22182
+.L21402:
+ ldr r3, [sp, #64]
+ add lr, lr, #1
+ add r0, r0, r3
+ cmp r4, lr
+ mov ip, r0, asr #8
+ add sl, sl, #2
+ add r5, r5, #2
+ bne .L21403
+.L21367:
+ ldr ip, [sp, #44]
+ ldr lr, [sp, #56]
+ add ip, ip, #1
+ cmp ip, lr
+ str ip, [sp, #44]
+ beq .L22165
+.L22197:
+ ldr r1, [sp, #44]
+ b .L21363
+.L21379:
+ mov r0, ip
+ mov r1, r6
+ mov r2, r7
+ add r3, sp, #116
+ bl render_scanline_obj_normal_2D
+ b .L21377
+.L21384:
+ ldr r3, [sp, #52]
+ tst sl, #8192
+ rsb r0, r0, r3
+ ldr r4, [sp, #24]
+ rsbne r3, r0, fp
+ subne r0, r3, #1
+ mov r2, sl, asl #19
+ and r3, r4, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L21367
+ .p2align 2
+.L21464:
+ .word .L21460
+ .word .L21461
+ .word .L21462
+ .word .L21463
+.L21386:
+ ldr r6, .L22220+16
+ mov r3, sl, lsr #4
+ and r3, r3, #992
+ add r3, r3, r6
+ ldr r7, [sp, #112]
+ ldr r4, [sp, #28]
+ ldrh ip, [r3, #30]
+ add r2, r7, r7, lsr #31
+ cmp r4, #0
+ add r1, fp, fp, lsr #31
+ str ip, [sp, #36]
+ ldrh sl, [r3, #6]
+ mov ip, r2, asr #1
+ ldrh r8, [r3, #22]
+ ldrh r2, [r3, #14]
+ ldr r3, [sp, #16]
+ mov lr, r1, asr #1
+ movne r1, r7
+ moveq r4, r7
+ moveq r6, lr
+ moveq r7, ip
+ movne r4, r1, asl #1
+ movne r7, ip, asl #1
+ movne r6, lr, asl #1
+ cmp r9, r3
+ bge .L21423
+ rsb r1, r9, r3
+ rsb r4, r1, r4
+ cmp r4, #0
+ ble .L21367
+ rsb r7, r1, r7
+ mov r9, r3
+.L21423:
+ ldr r1, [sp, #12]
+ add r3, r9, r4
+ cmp r3, r1
+ blt .L21426
+ rsb r4, r9, r1
+ cmp r4, #0
+ ble .L21367
+.L21426:
+ add r0, r0, r6
+ ldr r6, [sp, #36]
+ mov r2, r2, asl #16
+ mov ip, ip, asl #8
+ mov r3, sl, asl #16
+ mov r1, r6, asl #16
+ str ip, [sp, #92]
+ mov r6, r2, asr #16
+ mov ip, lr, asl #8
+ ldr r2, [sp, #52]
+ ldr lr, [sp, #8]
+ mov r3, r3, asr #16
+ cmp r8, #0
+ str r3, [sp, #68]
+ mov r1, r1, asr #16
+ add sl, lr, r9, asl #1
+ rsb r0, r0, r2
+ bne .L21428
+ mla r3, r0, r1, ip
+ mov r1, r3, asr #8
+ cmp r1, fp
+ bcs .L21367
+ ldr ip, [sp, #20]
+ mov r2, r1, lsr #3
+ mov r3, ip, asl #22
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r1, #7
+ add r1, r1, r3, asl #3
+ ldr r3, .L22220+40
+ cmp r4, #0
+ add r9, r3, r1, asl #2
+ ble .L21367
+ ldr r2, [sp, #68]
+ mul r3, r0, r6
+ mul r2, r7, r2
+ ldr lr, [sp, #92]
+ rsb r3, r2, r3
+ ldr r1, [sp, #112]
+ add r0, lr, r3
+ mov ip, r0, asr #8
+ cmp ip, r1
+ movcs r1, r8
+ bcs .L21434
+ b .L22217
+.L21435:
+ ldr r2, [sp, #112]
+ cmp ip, r2
+ bcc .L22184
+.L21434:
+ ldr r3, [sp, #68]
+ add r1, r1, #1
+ add r0, r0, r3
+ cmp r4, r1
+ mov ip, r0, asr #8
+ add sl, sl, #2
+ add r5, r5, #2
+ bne .L21435
+ ldr ip, [sp, #44]
+ ldr lr, [sp, #56]
+ add ip, ip, #1
+ cmp ip, lr
+ str ip, [sp, #44]
+ bne .L22197
+.L22165:
+ add sp, sp, #596
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L21437:
+ ldr r6, [sp, #112]
+ cmp ip, r6
+ bcs .L21367
+.L22184:
+ mov r3, ip, asr #1
+ and r6, r3, #3
+ mov r3, ip, asr #3
+ mov r3, r3, asl #5
+ mov r2, ip, asr #1
+ tst ip, #1
+ and lr, r2, #3
+ add ip, r3, r9
+ add r2, r3, r9
+ ldreqb r3, [r2, lr] @ zero_extendqisi2
+ ldrneb r3, [ip, r6] @ zero_extendqisi2
+ andeq r2, r3, #15
+ movne r2, r3, lsr #4
+ cmp r2, #0
+ ldrneh lr, [r5, #0]
+ ldr r7, [sp, #68]
+ add r1, r1, #1
+ strneh lr, [sl, #0] @ movhi
+ add r0, r0, r7
+ cmp r4, r1
+ mov ip, r0, asr #8
+ add sl, sl, #2
+ add r5, r5, #2
+ bgt .L21437
+ b .L21367
+.L21428:
+ ldr r2, [sp, #20]
+ cmp r4, #0
+ mov r3, r2, asl #22
+ ldr r2, .L22220+40
+ mov r3, r3, lsr #22
+ add r3, r2, r3, asl #5
+ str r3, [sp, #96]
+ ble .L21367
+ mov r3, r8, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #72]
+ mul r2, r0, r1
+ mul r3, r0, r6
+ ldr r1, [sp, #72]
+ ldr r0, [sp, #68]
+ mul r1, r7, r1
+ mul r0, r7, r0
+ ldr r6, [sp, #92]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add r7, r6, r3
+ ldr r0, [sp, #112]
+ add r6, ip, r2
+ mov lr, r7, asr #8
+ mov ip, r6, asr #8
+ cmp lr, r0
+ cmpcc ip, fp
+ movcs r3, #0
+ movcc r3, #1
+ movcs r8, r3
+ bcs .L21447
+ b .L22218
+.L21448:
+ ldr r1, [sp, #112]
+ cmp lr, r1
+ cmpcc ip, fp
+ bcc .L21449
+.L21447:
+ ldr r2, [sp, #68]
+ ldr r3, [sp, #72]
+ add r8, r8, #1
+ add r7, r7, r2
+ add r6, r6, r3
+ cmp r4, r8
+ mov lr, r7, asr #8
+ mov ip, r6, asr #8
+ add sl, sl, #2
+ add r5, r5, #2
+ bne .L21448
+ b .L21367
+.L21405:
+ ldr r6, [sp, #112]
+ cmp ip, r6
+ bcs .L21367
+.L22182:
+ mov r3, ip, asr #3
+ and r1, ip, #7
+ add r3, r9, r3, asl #6
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ ldr r7, [sp, #64]
+ cmp r2, #0
+ ldrneh r1, [r5, #0]
+ add lr, lr, #1
+ strneh r1, [sl, #0] @ movhi
+ add r0, r0, r7
+ cmp r4, lr
+ mov ip, r0, asr #8
+ add sl, sl, #2
+ add r5, r5, #2
+ bgt .L21405
+ b .L21367
+.L21396:
+ ldr r2, [sp, #20]
+ cmp r4, #0
+ mov r3, r2, asl #22
+ ldr r2, .L22220+40
+ mov r3, r3, lsr #22
+ add r3, r2, r3, asl #5
+ str r3, [sp, #100]
+ ble .L21367
+ mov r3, r8, asl #16
+ mul r2, r0, r1
+ mov r9, r3, asr #16
+ mul r3, r0, r6
+ ldr r0, [sp, #64]
+ mul r1, r9, r7
+ mul r0, r7, r0
+ ldr r6, [sp, #104]
+ rsb r3, r0, r3
+ rsb r2, r1, r2
+ add r7, r6, r3
+ ldr r0, [sp, #112]
+ add r6, ip, r2
+ mov lr, r7, asr #8
+ mov ip, r6, asr #8
+ cmp lr, r0
+ cmpcc ip, fp
+ movcs r3, #0
+ movcc r3, #1
+ movcs r8, r3
+ bcs .L21412
+ b .L22219
+.L21413:
+ ldr r1, [sp, #112]
+ cmp lr, r1
+ cmpcc ip, fp
+ bcc .L21414
+.L21412:
+ ldr r2, [sp, #64]
+ add r8, r8, #1
+ add r7, r7, r2
+ add r6, r6, r9
+ cmp r4, r8
+ mov lr, r7, asr #8
+ mov ip, r6, asr #8
+ add sl, sl, #2
+ add r5, r5, #2
+ bne .L21413
+ b .L21367
+.L21460:
+ ldr r6, [sp, #20]
+ mov r2, r0, lsr #3
+ mov r3, r6, asl #22
+ mov r3, r3, lsr #22
+ add r3, r3, r2, asl #5
+ and r1, r0, #7
+ ldr r7, [sp, #16]
+ add r1, r1, r3, asl #3
+ ldr r3, .L22220+40
+ cmp r9, r7
+ add r0, r3, r1, asl #2
+ bge .L21465
+ ldr r1, [sp, #112]
+ rsb ip, r9, r7
+ rsb lr, ip, r1
+ cmp lr, #0
+ ble .L21367
+ ldr r2, [sp, #12]
+ add r3, r9, r1
+ cmp r2, r3
+ bhi .L21468
+ mov r3, ip, lsr #3
+ mov r1, r3, asl #5
+ ands r3, ip, #7
+ add r6, r0, r1
+ bne .L21470
+ ldr r8, [sp, #108]
+ ldr r7, [sp, #88]
+.L21472:
+ movs lr, r8, lsr #3
+ beq .L21489
+ mov r1, r5
+ mov r2, r7
+ mov r0, r6
+ mov ip, #0
+.L21491:
+ ldr r3, [r0, #0]
+ cmp r3, #0
+ beq .L21492
+ tst r3, #15
+ ldrneh r4, [r1, #0]
+ strneh r4, [r2, #0] @ movhi
+ tst r3, #240
+ ldrneh r4, [r1, #2]
+ strneh r4, [r2, #2] @ movhi
+ tst r3, #3840
+ ldrneh r4, [r1, #4]
+ strneh r4, [r2, #4] @ movhi
+ tst r3, #61440
+ ldrneh r4, [r1, #6]
+ strneh r4, [r2, #6] @ movhi
+ tst r3, #983040
+ ldrneh r4, [r1, #8]
+ strneh r4, [r2, #8] @ movhi
+ tst r3, #15728640
+ ldrneh r4, [r1, #10]
+ strneh r4, [r2, #10] @ movhi
+ tst r3, #251658240
+ ldrneh r4, [r1, #12]
+ strneh r4, [r2, #12] @ movhi
+ movs r3, r3, lsr #28
+ ldrneh r3, [r1, #14]
+ strneh r3, [r2, #14] @ movhi
+.L21492:
+ add ip, ip, #1
+ cmp ip, lr
+ add r0, r0, #32
+ add r2, r2, #16
+ add r1, r1, #16
+ bne .L21491
+ mov r3, lr, asl #4
+ add r7, r7, r3
+ add r6, r6, lr, asl #5
+ add r5, r5, r3
+.L21489:
+ ands r0, r8, #7
+ beq .L21367
+ ldr r3, [r6, #0]
+ mov r1, #0
+.L21511:
+ tst r3, #15
+ mov r2, r1, asl #1
+ ldrneh r4, [r2, r5]
+ add r1, r1, #1
+ strneh r4, [r2, r7] @ movhi
+ cmp r1, r0
+ mov r3, r3, lsr #4
+ bne .L21511
+ b .L21367
+.L21461:
+ ldr ip, [sp, #20]
+ ldr lr, [sp, #112]
+ mov r3, ip, asl #22
+ mov r1, r0, lsr #3
+ subs r2, lr, #8
+ mov r3, r3, lsr #22
+ submi r2, lr, #1
+ add r3, r3, r1, asl #5
+ add r3, r3, r2, asr #3
+ and r1, r0, #7
+ ldr r0, [sp, #16]
+ add r1, r1, r3, asl #3
+ ldr r3, .L22220+40
+ cmp r9, r0
+ add r0, r3, r1, asl #2
+ bge .L21595
+ ldr r1, [sp, #16]
+ rsb ip, r9, r1
+ rsb r1, ip, lr
+ cmp r1, #0
+ ble .L21367
+ ldr r2, [sp, #12]
+ add r3, r9, lr
+ cmp r2, r3
+ bhi .L21598
+ mov r3, ip, lsr #3
+ ands r6, ip, #7
+ sub r0, r0, r3, asl #5
+ bne .L21600
+ ldr r8, [sp, #108]
+ ldr r1, [sp, #88]
+.L21602:
+ movs r3, r8, lsr #3
+ beq .L21619
+ mov lr, r5
+ mov ip, r1
+ mov r6, r0
+ mov r7, #0
+.L21621:
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L21622
+ tst r2, #15
+ ldrneh r4, [lr, #14]
+ strneh r4, [ip, #14] @ movhi
+ tst r2, #240
+ ldrneh r4, [lr, #12]
+ strneh r4, [ip, #12] @ movhi
+ tst r2, #3840
+ ldrneh r4, [lr, #10]
+ strneh r4, [ip, #10] @ movhi
+ tst r2, #61440
+ ldrneh r4, [lr, #8]
+ strneh r4, [ip, #8] @ movhi
+ tst r2, #983040
+ ldrneh r4, [lr, #6]
+ strneh r4, [ip, #6] @ movhi
+ tst r2, #15728640
+ ldrneh r4, [lr, #4]
+ strneh r4, [ip, #4] @ movhi
+ tst r2, #251658240
+ ldrneh r4, [lr, #2]
+ strneh r4, [ip, #2] @ movhi
+ movs r2, r2, lsr #28
+ ldrneh r2, [lr, #0]
+ strneh r2, [ip, #0] @ movhi
+.L21622:
+ add r7, r7, #1
+ cmp r7, r3
+ sub r6, r6, #32
+ add ip, ip, #16
+ add lr, lr, #16
+ bne .L21621
+ rsb r2, r3, r3, asl #27
+ mov r3, r3, asl #4
+ add r1, r1, r3
+ add r0, r0, r2, asl #5
+ add r5, r5, r3
+.L21619:
+ ands ip, r8, #7
+ beq .L21367
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L21641:
+ movs r3, r0, lsr #28
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, r5]
+ add r2, r2, #1
+ strneh r4, [r3, r1] @ movhi
+ cmp r2, ip
+ mov r0, r0, asl #4
+ bne .L21641
+ b .L21367
+.L21463:
+ ldr lr, [sp, #112]
+ ldr r3, [sp, #20]
+ subs r2, lr, #8
+ submi r2, lr, #1
+ mov r1, r3, asl #22
+ mov r2, r2, asr #3
+ mov r3, r0, lsr #3
+ add r2, r2, r3, asl #4
+ mov r1, r1, lsr #22
+ and r3, r0, #7
+ add r1, r1, r2, asl #1
+ add r3, r3, r1, asl #2
+ ldr r4, [sp, #16]
+ mov r0, r3, asl #3
+ ldr r3, .L22220+40
+ cmp r9, r4
+ add r8, r0, r3
+ bge .L21945
+ rsb r0, r9, r4
+ rsb lr, r0, lr
+ cmp lr, #0
+ ble .L21367
+ ldr r6, [sp, #112]
+ ldr r7, [sp, #12]
+ add r3, r9, r6
+ cmp r7, r3
+ bhi .L21948
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ sub sl, r8, r3, asl #6
+ bne .L21950
+ ldr r8, [sp, #108]
+ ldr r7, [sp, #88]
+.L21952:
+ movs r6, r8, lsr #3
+ beq .L22010
+ mov r0, r5
+ mov r1, r7
+ mov ip, sl
+ mov lr, #0
+.L22012:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L22013
+ tst r2, #255
+ ldrneh r3, [r0, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r0, #4]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrneh r3, [r0, #2]
+ strneh r3, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r4, [r0, #0]
+ strneh r4, [r1, #0] @ movhi
+.L22013:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L22022
+ tst r2, #255
+ ldrneh r3, [r0, #14]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r0, #12]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #12] @ movhi
+ tst r3, #255
+ ldrneh r3, [r0, #10]
+ strneh r3, [r1, #10] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r4, [r0, #8]
+ strneh r4, [r1, #8] @ movhi
+.L22022:
+ add lr, lr, #1
+ cmp lr, r6
+ sub ip, ip, #64
+ add r1, r1, #16
+ add r0, r0, #16
+ bne .L22012
+ mov r3, r6, asl #4
+ rsb r2, r6, r6, asl #26
+ add r7, r7, r3
+ add sl, sl, r2, asl #6
+ add r5, r5, r3
+.L22010:
+ ands ip, r8, #7
+ beq .L21367
+ cmp ip, #3
+ ldrls r2, [sl, #4]
+ bls .L22045
+ ldr r2, [sl, #4]
+ cmp r2, #0
+ beq .L22035
+ tst r2, #255
+ ldrneh r6, [r5, #6]
+ mov r3, r2, lsr #8
+ strneh r6, [r7, #6] @ movhi
+ tst r3, #255
+ ldrneh lr, [r5, #4]
+ mov r3, r2, lsr #16
+ strneh lr, [r7, #4] @ movhi
+ tst r3, #255
+ ldrneh r0, [r5, #2]
+ strneh r0, [r7, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r1, [r5, #0]
+ strneh r1, [r7, #0] @ movhi
+.L22035:
+ subs ip, ip, #4
+ ldr r2, [sl, #0]
+ addne r7, r7, #8
+ addne r5, r5, #8
+ beq .L21367
+.L22045:
+ mov r1, #0
+.L22046:
+ movs r3, r2, lsr #24
+ mov r0, r1, asl #1
+ ldrneh r4, [r0, r5]
+ add r1, r1, #1
+ strneh r4, [r0, r7] @ movhi
+ cmp ip, r1
+ mov r2, r2, asl #8
+ bhi .L22046
+ b .L21367
+.L21462:
+ ldr ip, [sp, #20]
+ mov r1, r0, lsr #3
+ mov r2, ip, asl #22
+ mov r2, r2, lsr #22
+ add r2, r2, r1, asl #5
+ and r3, r0, #7
+ add r3, r3, r2, asl #2
+ ldr lr, [sp, #16]
+ mov r0, r3, asl #3
+ ldr r3, .L22220+40
+ cmp r9, lr
+ add r2, r0, r3
+ bge .L21725
+ ldr r1, [sp, #112]
+ rsb r0, r9, lr
+ rsb lr, r0, r1
+ cmp lr, #0
+ ble .L21367
+ ldr r4, [sp, #12]
+ add r3, r9, r1
+ cmp r4, r3
+ bhi .L21728
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ add sl, r2, r3, asl #6
+ bne .L21730
+ ldr r8, [sp, #108]
+ ldr r7, [sp, #88]
+.L21732:
+ movs r6, r8, lsr #3
+ beq .L21790
+ mov r0, r5
+ mov r1, r7
+ mov ip, sl
+ mov lr, #0
+.L21792:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L21793
+ tst r2, #255
+ ldrneh r3, [r0, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r0, #2]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrneh r3, [r0, #4]
+ strneh r3, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r4, [r0, #6]
+ strneh r4, [r1, #6] @ movhi
+.L21793:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L21802
+ tst r2, #255
+ ldrneh r3, [r0, #8]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r0, #10]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #10] @ movhi
+ tst r3, #255
+ ldrneh r3, [r0, #12]
+ strneh r3, [r1, #12] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r4, [r0, #14]
+ strneh r4, [r1, #14] @ movhi
+.L21802:
+ add lr, lr, #1
+ cmp lr, r6
+ add ip, ip, #64
+ add r1, r1, #16
+ add r0, r0, #16
+ bne .L21792
+ mov r3, r6, asl #4
+ add r7, r7, r3
+ add sl, sl, r6, asl #6
+ add r5, r5, r3
+.L21790:
+ ands r0, r8, #7
+ beq .L21367
+ cmp r0, #3
+ ldrls r3, [sl, #0]
+ bls .L21825
+ ldr r2, [sl, #0]
+ cmp r2, #0
+ beq .L21815
+ tst r2, #255
+ ldrneh r6, [r5, #0]
+ mov r3, r2, lsr #8
+ strneh r6, [r7, #0] @ movhi
+ tst r3, #255
+ ldrneh ip, [r5, #2]
+ mov r3, r2, lsr #16
+ strneh ip, [r7, #2] @ movhi
+ tst r3, #255
+ ldrneh lr, [r5, #4]
+ strneh lr, [r7, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r1, [r5, #6]
+ strneh r1, [r7, #6] @ movhi
+.L21815:
+ subs r0, r0, #4
+ ldr r3, [sl, #4]
+ addne r7, r7, #8
+ addne r5, r5, #8
+ beq .L21367
+.L21825:
+ mov r2, #0
+.L21826:
+ tst r3, #255
+ mov r1, r2, asl #1
+ ldrneh r4, [r1, r5]
+ add r2, r2, #1
+ strneh r4, [r1, r7] @ movhi
+ cmp r0, r2
+ mov r3, r3, lsr #8
+ bhi .L21826
+ b .L21367
+.L21725:
+ ldr ip, [sp, #112]
+ ldr lr, [sp, #12]
+ add r3, r9, ip
+ cmp lr, r3
+ bls .L22200
+ cmp ip, #0
+ add r3, ip, #7
+ movge r3, ip
+ movs r6, r3, asr #3
+ beq .L21367
+ ldr r7, [sp, #8]
+ ldr r3, .L22220+48
+ add r1, r7, r9, asl #1
+ add r0, r0, r3
+ mov lr, #0
+ b .L21925
+.L22201:
+ add r2, r2, #64
+ add r1, r1, #16
+ add r5, r5, #16
+.L21925:
+ ldr ip, [r2, #0]
+ cmp ip, #0
+ beq .L21926
+ tst ip, #255
+ ldrneh r3, [r5, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r4, [r5, #2]
+ mov r3, ip, lsr #16
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrneh r7, [r5, #4]
+ strneh r7, [r1, #4] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh ip, [r5, #6]
+ strneh ip, [r1, #6] @ movhi
+.L21926:
+ ldr ip, [r0, #-60]
+ cmp ip, #0
+ beq .L21935
+ tst ip, #255
+ ldrneh r3, [r5, #8]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r4, [r5, #10]
+ mov r3, ip, lsr #16
+ strneh r4, [r1, #10] @ movhi
+ tst r3, #255
+ ldrneh r7, [r5, #12]
+ strneh r7, [r1, #12] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh ip, [r5, #14]
+ strneh ip, [r1, #14] @ movhi
+.L21935:
+ add lr, lr, #1
+ cmp r6, lr
+ add r0, r0, #64
+ bne .L22201
+ b .L21367
+.L21595:
+ ldr ip, [sp, #12]
+ add r3, r9, lr
+ cmp ip, r3
+ mov r7, lr
+ bls .L22202
+ cmp lr, #0
+ add r3, lr, #7
+ movge r3, lr
+ movs r3, r3, asr #3
+ mov r6, lr
+ beq .L21367
+ ldr r7, [sp, #8]
+ mov ip, #0
+ add r1, r7, r9, asl #1
+ b .L21706
+.L22221:
+ .align 2
+.L22220:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word bitmap_mode_renderers-12
+ .word oam_ram
+ .word obj_width_table
+ .word palette_ram_converted
+ .word layer_count
+ .word layer_order
+ .word obj_height_table
+ .word vram+65536
+ .word vram+65472
+ .word vram+65600
+.L22203:
+ sub r0, r0, #32
+ add r1, r1, #16
+ add r5, r5, #16
+.L21706:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L21707
+ tst r2, #15
+ ldrneh lr, [r5, #14]
+ strneh lr, [r1, #14] @ movhi
+ tst r2, #240
+ ldrneh r4, [r5, #12]
+ strneh r4, [r1, #12] @ movhi
+ tst r2, #3840
+ ldrneh r6, [r5, #10]
+ strneh r6, [r1, #10] @ movhi
+ tst r2, #61440
+ ldrneh r7, [r5, #8]
+ strneh r7, [r1, #8] @ movhi
+ tst r2, #983040
+ ldrneh lr, [r5, #6]
+ strneh lr, [r1, #6] @ movhi
+ tst r2, #15728640
+ ldrneh r4, [r5, #4]
+ strneh r4, [r1, #4] @ movhi
+ tst r2, #251658240
+ ldrneh r6, [r5, #2]
+ strneh r6, [r1, #2] @ movhi
+ movs r2, r2, lsr #28
+ ldrneh r7, [r5, #0]
+ strneh r7, [r1, #0] @ movhi
+.L21707:
+ add ip, ip, #1
+ cmp r3, ip
+ bne .L22203
+ b .L21367
+.L21465:
+ ldr r1, [sp, #112]
+ ldr r2, [sp, #12]
+ add r3, r9, r1
+ cmp r2, r3
+ bls .L22204
+ cmp r1, #0
+ add r3, r1, #7
+ movge r3, r1
+ movs r3, r3, asr #3
+ mov r6, r1
+ beq .L21367
+ ldr r7, [sp, #8]
+ mov r2, #0
+ add r1, r7, r9, asl #1
+ b .L21576
+.L22205:
+ add r0, r0, #32
+ add r1, r1, #16
+ add r5, r5, #16
+.L21576:
+ ldr ip, [r0, #0]
+ cmp ip, #0
+ beq .L21577
+ tst ip, #15
+ ldrneh lr, [r5, #0]
+ strneh lr, [r1, #0] @ movhi
+ tst ip, #240
+ ldrneh r4, [r5, #2]
+ strneh r4, [r1, #2] @ movhi
+ tst ip, #3840
+ ldrneh r6, [r5, #4]
+ strneh r6, [r1, #4] @ movhi
+ tst ip, #61440
+ ldrneh r7, [r5, #6]
+ strneh r7, [r1, #6] @ movhi
+ tst ip, #983040
+ ldrneh lr, [r5, #8]
+ strneh lr, [r1, #8] @ movhi
+ tst ip, #15728640
+ ldrneh r4, [r5, #10]
+ strneh r4, [r1, #10] @ movhi
+ tst ip, #251658240
+ ldrneh r6, [r5, #12]
+ strneh r6, [r1, #12] @ movhi
+ movs ip, ip, lsr #28
+ ldrneh r7, [r5, #14]
+ strneh r7, [r1, #14] @ movhi
+.L21577:
+ add r2, r2, #1
+ cmp r3, r2
+ bne .L22205
+ b .L21367
+.L21945:
+ add r3, r9, lr
+ mov ip, lr
+ ldr lr, [sp, #12]
+ cmp lr, r3
+ bls .L22206
+ cmp ip, #0
+ add r3, ip, #7
+ movge r3, ip
+ movs lr, r3, asr #3
+ mov r7, ip
+ beq .L21367
+ ldr ip, [sp, #8]
+ ldr r3, .L22220+44
+ add r1, ip, r9, asl #1
+ add r0, r0, r3
+ mov r2, #0
+ b .L22145
+.L22207:
+ sub r8, r8, #64
+ add r1, r1, #16
+ add r5, r5, #16
+.L22145:
+ ldr ip, [r0, #68]
+ cmp ip, #0
+ beq .L22146
+ tst ip, #255
+ ldrneh r3, [r5, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r4, [r5, #4]
+ mov r3, ip, lsr #16
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrneh r6, [r5, #2]
+ strneh r6, [r1, #2] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh r7, [r5, #0]
+ strneh r7, [r1, #0] @ movhi
+.L22146:
+ ldr ip, [r8, #0]
+ cmp ip, #0
+ beq .L22155
+ tst ip, #255
+ ldrneh r3, [r5, #14]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r4, [r5, #12]
+ mov r3, ip, lsr #16
+ strneh r4, [r1, #12] @ movhi
+ tst r3, #255
+ ldrneh r6, [r5, #10]
+ strneh r6, [r1, #10] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh r7, [r5, #8]
+ strneh r7, [r1, #8] @ movhi
+.L22155:
+ add r2, r2, #1
+ cmp lr, r2
+ sub r0, r0, #64
+ bne .L22207
+ b .L21367
+.L22219:
+ mov r8, #0
+.L21414:
+ ldr r0, [sp, #112]
+ cmp ip, fp
+ cmpcc lr, r0
+ bcc .L22183
+ b .L21367
+.L21415:
+ ldr r3, [sp, #112]
+ cmp ip, fp
+ cmpcc lr, r3
+ bcs .L21367
+.L22183:
+ and r3, ip, #7
+ mov r2, lr, asr #3
+ mov r3, r3, asl #3
+ mov r1, ip, asr #3
+ add r3, r3, r2, asl #6
+ ldr r0, [sp, #64]
+ add r3, r3, r1, asl #10
+ ldr r1, [sp, #100]
+ add r7, r7, r0
+ add r3, r3, r1
+ and r0, lr, #7
+ ldrb r2, [r3, r0] @ zero_extendqisi2
+ add r8, r8, #1
+ cmp r2, #0
+ ldrneh r2, [r5, #0]
+ add r6, r6, r9
+ strneh r2, [sl, #0] @ movhi
+ cmp r4, r8
+ mov ip, r6, asr #8
+ mov lr, r7, asr #8
+ add sl, sl, #2
+ add r5, r5, #2
+ bgt .L21415
+ b .L21367
+.L22218:
+ ldr r1, [sp, #112]
+ mov r8, #0
+.L21449:
+ cmp ip, fp
+ cmpcc lr, r1
+ bcc .L22185
+ b .L21367
+.L21450:
+ ldr r0, [sp, #112]
+ cmp ip, fp
+ cmpcc lr, r0
+ bcs .L21367
+.L22185:
+ mov r3, lr, asr #1
+ ldr r1, [sp, #96]
+ and r3, r3, #3
+ and r0, ip, #7
+ str r3, [sp, #4]
+ ldr r3, [sp, #96]
+ add r0, r1, r0, asl #2
+ and r1, ip, #7
+ mov r2, lr, asr #1
+ add r1, r3, r1, asl #2
+ mov r3, ip, asr #3
+ and r9, r2, #3
+ mov r3, r3, asl #10
+ mov r2, lr, asr #3
+ tst lr, #1
+ add r3, r3, r2, asl #5
+ add r2, r0, r3
+ movne ip, r9
+ add r0, r1, r3
+ ldreqb r3, [r0, r9] @ zero_extendqisi2
+ ldrneb r3, [r2, ip] @ zero_extendqisi2
+ andeq r0, r3, #15
+ movne r0, r3, lsr #4
+ cmp r0, #0
+ ldrneh r2, [r5, #0]
+ ldr lr, [sp, #68]
+ ldr r1, [sp, #72]
+ add r8, r8, #1
+ strneh r2, [sl, #0] @ movhi
+ add r7, r7, lr
+ add r6, r6, r1
+ cmp r4, r8
+ mov lr, r7, asr #8
+ mov ip, r6, asr #8
+ add sl, sl, #2
+ add r5, r5, #2
+ bgt .L21450
+ b .L21367
+.L22206:
+ rsb fp, r9, lr
+ cmp fp, #0
+ ble .L21367
+ ldr r2, [sp, #8]
+ movs sl, fp, lsr #3
+ add r1, r2, r9, asl #1
+ beq .L22104
+ ldr r3, .L22220+44
+ mov r6, r5
+ add r0, r0, r3
+ mov lr, r1
+ mov r7, r8
+ mov r2, #0
+.L22106:
+ ldr ip, [r0, #68]
+ cmp ip, #0
+ beq .L22107
+ tst ip, #255
+ ldrneh r3, [r6, #6]
+ strneh r3, [lr, #6] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r4, [r6, #4]
+ mov r3, ip, lsr #16
+ strneh r4, [lr, #4] @ movhi
+ tst r3, #255
+ ldrneh r3, [r6, #2]
+ strneh r3, [lr, #2] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh r4, [r6, #0]
+ strneh r4, [lr, #0] @ movhi
+.L22107:
+ ldr ip, [r7, #0]
+ cmp ip, #0
+ beq .L22116
+ tst ip, #255
+ ldrneh r3, [r6, #14]
+ strneh r3, [lr, #14] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r4, [r6, #12]
+ mov r3, ip, lsr #16
+ strneh r4, [lr, #12] @ movhi
+ tst r3, #255
+ ldrneh r3, [r6, #10]
+ strneh r3, [lr, #10] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh r4, [r6, #8]
+ strneh r4, [lr, #8] @ movhi
+.L22116:
+ add r2, r2, #1
+ cmp sl, r2
+ sub r7, r7, #64
+ add lr, lr, #16
+ add r6, r6, #16
+ sub r0, r0, #64
+ bne .L22106
+ mov r3, sl, asl #4
+ rsb r2, sl, sl, asl #26
+ add r1, r1, r3
+ add r8, r8, r2, asl #6
+ add r5, r5, r3
+.L22104:
+ ands ip, fp, #7
+ beq .L21367
+ cmp ip, #3
+ ldrls r2, [r8, #4]
+ bls .L22139
+ ldr r2, [r8, #4]
+ cmp r2, #0
+ beq .L22129
+ tst r2, #255
+ ldrneh r6, [r5, #6]
+ mov r3, r2, lsr #8
+ strneh r6, [r1, #6] @ movhi
+ tst r3, #255
+ ldrneh r7, [r5, #4]
+ mov r3, r2, lsr #16
+ strneh r7, [r1, #4] @ movhi
+ tst r3, #255
+ ldrneh lr, [r5, #2]
+ strneh lr, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r0, [r5, #0]
+ strneh r0, [r1, #0] @ movhi
+.L22129:
+ subs ip, ip, #4
+ ldr r2, [r8, #0]
+ addne r1, r1, #8
+ addne r5, r5, #8
+ beq .L21367
+.L22139:
+ mov r3, #0
+.L22140:
+ movs r4, r2, lsr #24
+ mov r0, r3, asl #1
+ ldrneh r6, [r0, r5]
+ add r3, r3, #1
+ strneh r6, [r0, r1] @ movhi
+ cmp ip, r3
+ mov r2, r2, asl #8
+ bhi .L22140
+ b .L21367
+.L22202:
+ rsb r8, r9, ip
+ cmp r8, #0
+ ble .L21367
+ ldr lr, [sp, #8]
+ movs r3, r8, lsr #3
+ add r1, lr, r9, asl #1
+ beq .L21679
+ mov lr, r5
+ mov ip, r1
+ mov r6, r0
+ mov r7, #0
+.L21681:
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L21682
+ tst r2, #15
+ ldrneh r4, [lr, #14]
+ strneh r4, [ip, #14] @ movhi
+ tst r2, #240
+ ldrneh r4, [lr, #12]
+ strneh r4, [ip, #12] @ movhi
+ tst r2, #3840
+ ldrneh r4, [lr, #10]
+ strneh r4, [ip, #10] @ movhi
+ tst r2, #61440
+ ldrneh r4, [lr, #8]
+ strneh r4, [ip, #8] @ movhi
+ tst r2, #983040
+ ldrneh r4, [lr, #6]
+ strneh r4, [ip, #6] @ movhi
+ tst r2, #15728640
+ ldrneh r4, [lr, #4]
+ strneh r4, [ip, #4] @ movhi
+ tst r2, #251658240
+ ldrneh r4, [lr, #2]
+ strneh r4, [ip, #2] @ movhi
+ movs r2, r2, lsr #28
+ ldrneh r2, [lr, #0]
+ strneh r2, [ip, #0] @ movhi
+.L21682:
+ add r7, r7, #1
+ cmp r7, r3
+ sub r6, r6, #32
+ add ip, ip, #16
+ add lr, lr, #16
+ bne .L21681
+ rsb r2, r3, r3, asl #27
+ mov r3, r3, asl #4
+ add r1, r1, r3
+ add r0, r0, r2, asl #5
+ add r5, r5, r3
+.L21679:
+ ands ip, r8, #7
+ beq .L21367
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L21701:
+ movs r3, r0, lsr #28
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, r5]
+ add r2, r2, #1
+ strneh r4, [r3, r1] @ movhi
+ cmp r2, ip
+ mov r0, r0, asl #4
+ bne .L21701
+ b .L21367
+.L22204:
+ rsb r8, r9, r2
+ cmp r8, #0
+ ble .L21367
+ ldr r3, [sp, #8]
+ movs r7, r8, lsr #3
+ add r1, r3, r9, asl #1
+ beq .L21549
+ mov lr, r5
+ mov ip, r1
+ mov r6, r0
+ mov r2, #0
+.L21551:
+ ldr r3, [r6, #0]
+ cmp r3, #0
+ beq .L21552
+ tst r3, #15
+ ldrneh r4, [lr, #0]
+ strneh r4, [ip, #0] @ movhi
+ tst r3, #240
+ ldrneh r4, [lr, #2]
+ strneh r4, [ip, #2] @ movhi
+ tst r3, #3840
+ ldrneh r4, [lr, #4]
+ strneh r4, [ip, #4] @ movhi
+ tst r3, #61440
+ ldrneh r4, [lr, #6]
+ strneh r4, [ip, #6] @ movhi
+ tst r3, #983040
+ ldrneh r4, [lr, #8]
+ strneh r4, [ip, #8] @ movhi
+ tst r3, #15728640
+ ldrneh r4, [lr, #10]
+ strneh r4, [ip, #10] @ movhi
+ tst r3, #251658240
+ ldrneh r4, [lr, #12]
+ strneh r4, [ip, #12] @ movhi
+ movs r3, r3, lsr #28
+ ldrneh r3, [lr, #14]
+ strneh r3, [ip, #14] @ movhi
+.L21552:
+ add r2, r2, #1
+ cmp r2, r7
+ add r6, r6, #32
+ add ip, ip, #16
+ add lr, lr, #16
+ bne .L21551
+ mov r3, r7, asl #4
+ add r1, r1, r3
+ add r0, r0, r7, asl #5
+ add r5, r5, r3
+.L21549:
+ ands ip, r8, #7
+ beq .L21367
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L21571:
+ tst r0, #15
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, r5]
+ add r2, r2, #1
+ strneh r4, [r3, r1] @ movhi
+ cmp r2, ip
+ mov r0, r0, lsr #4
+ bne .L21571
+ b .L21367
+.L22200:
+ rsb fp, r9, lr
+ cmp fp, #0
+ ble .L21367
+ ldr r3, [sp, #8]
+ movs sl, fp, lsr #3
+ add r1, r3, r9, asl #1
+ beq .L21884
+ ldr r3, .L22220+48
+ mov r6, r5
+ add r0, r0, r3
+ mov lr, r1
+ mov r7, r2
+ mov r8, #0
+.L21886:
+ ldr ip, [r7, #0]
+ cmp ip, #0
+ beq .L21887
+ tst ip, #255
+ ldrneh r4, [r6, #0]
+ mov r3, ip, lsr #8
+ strneh r4, [lr, #0] @ movhi
+ tst r3, #255
+ ldrneh r3, [r6, #2]
+ strneh r3, [lr, #2] @ movhi
+ mov r3, ip, lsr #16
+ tst r3, #255
+ ldrneh r4, [r6, #4]
+ strneh r4, [lr, #4] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh ip, [r6, #6]
+ strneh ip, [lr, #6] @ movhi
+.L21887:
+ ldr ip, [r0, #-60]
+ cmp ip, #0
+ beq .L21896
+ tst ip, #255
+ ldrneh r3, [r6, #8]
+ strneh r3, [lr, #8] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r4, [r6, #10]
+ mov r3, ip, lsr #16
+ strneh r4, [lr, #10] @ movhi
+ tst r3, #255
+ ldrneh r3, [r6, #12]
+ strneh r3, [lr, #12] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh r4, [r6, #14]
+ strneh r4, [lr, #14] @ movhi
+.L21896:
+ add r8, r8, #1
+ cmp r8, sl
+ add r7, r7, #64
+ add lr, lr, #16
+ add r6, r6, #16
+ add r0, r0, #64
+ bne .L21886
+ mov r3, sl, asl #4
+ add r1, r1, r3
+ add r2, r2, sl, asl #6
+ add r5, r5, r3
+.L21884:
+ ands ip, fp, #7
+ beq .L21367
+ cmp ip, #3
+ ldrls r3, [r2, #0]
+ bls .L21919
+ ldr r0, [r2, #0]
+ cmp r0, #0
+ beq .L21909
+ tst r0, #255
+ ldrneh r6, [r5, #0]
+ mov r3, r0, lsr #8
+ strneh r6, [r1, #0] @ movhi
+ tst r3, #255
+ ldrneh r7, [r5, #2]
+ mov r3, r0, lsr #16
+ strneh r7, [r1, #2] @ movhi
+ tst r3, #255
+ ldrneh lr, [r5, #4]
+ strneh lr, [r1, #4] @ movhi
+ movs r0, r0, lsr #24
+ ldrneh r0, [r5, #6]
+ strneh r0, [r1, #6] @ movhi
+.L21909:
+ subs ip, ip, #4
+ ldr r3, [r2, #4]
+ addne r1, r1, #8
+ addne r5, r5, #8
+ beq .L21367
+.L21919:
+ mov r2, #0
+.L21920:
+ tst r3, #255
+ mov r0, r2, asl #1
+ ldrneh r4, [r0, r5]
+ add r2, r2, #1
+ strneh r4, [r0, r1] @ movhi
+ cmp ip, r2
+ mov r3, r3, lsr #8
+ bhi .L21920
+ b .L21367
+.L21468:
+ mov r3, ip, lsr #3
+ mov r1, r3, asl #5
+ ands r3, ip, #7
+ ldreq r3, [sp, #88]
+ add ip, r0, r1
+ bne .L22208
+.L21517:
+ movs r0, lr, lsr #3
+ beq .L21367
+ mov r1, #0
+ b .L21527
+.L22209:
+ add ip, ip, #32
+ add r3, r3, #16
+ add r5, r5, #16
+.L21527:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L21528
+ tst r2, #15
+ ldrneh r4, [r5, #0]
+ strneh r4, [r3, #0] @ movhi
+ tst r2, #240
+ ldrneh r6, [r5, #2]
+ strneh r6, [r3, #2] @ movhi
+ tst r2, #3840
+ ldrneh r7, [r5, #4]
+ strneh r7, [r3, #4] @ movhi
+ tst r2, #61440
+ ldrneh lr, [r5, #6]
+ strneh lr, [r3, #6] @ movhi
+ tst r2, #983040
+ ldrneh r4, [r5, #8]
+ strneh r4, [r3, #8] @ movhi
+ tst r2, #15728640
+ ldrneh r6, [r5, #10]
+ strneh r6, [r3, #10] @ movhi
+ tst r2, #251658240
+ ldrneh r7, [r5, #12]
+ strneh r7, [r3, #12] @ movhi
+ movs r2, r2, lsr #28
+ ldrneh lr, [r5, #14]
+ strneh lr, [r3, #14] @ movhi
+.L21528:
+ add r1, r1, #1
+ cmp r1, r0
+ bne .L22209
+ b .L21367
+.L21728:
+ ands r1, r0, #7
+ mov r3, r0, lsr #3
+ add r0, r2, r3, asl #6
+ ldreq r1, [sp, #88]
+ bne .L22210
+.L21832:
+ movs lr, lr, lsr #3
+ beq .L21367
+ mov ip, #0
+ b .L21861
+.L22211:
+ add r0, r0, #64
+ add r1, r1, #16
+ add r5, r5, #16
+.L21861:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L21862
+ tst r2, #255
+ ldrneh r3, [r5, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r5, #2]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrneh r6, [r5, #4]
+ strneh r6, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r7, [r5, #6]
+ strneh r7, [r1, #6] @ movhi
+.L21862:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L21871
+ tst r2, #255
+ ldrneh r3, [r5, #8]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r5, #10]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #10] @ movhi
+ tst r3, #255
+ ldrneh r6, [r5, #12]
+ strneh r6, [r1, #12] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r7, [r5, #14]
+ strneh r7, [r1, #14] @ movhi
+.L21871:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L22211
+ b .L21367
+.L21948:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ sub r0, r8, r3, asl #6
+ ldreq r1, [sp, #88]
+ bne .L22212
+.L22052:
+ movs lr, lr, lsr #3
+ beq .L21367
+ mov ip, #0
+ b .L22081
+.L22213:
+ sub r0, r0, #64
+ add r1, r1, #16
+ add r5, r5, #16
+.L22081:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L22082
+ tst r2, #255
+ ldrneh r3, [r5, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r5, #4]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrneh r6, [r5, #2]
+ strneh r6, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r7, [r5, #0]
+ strneh r7, [r1, #0] @ movhi
+.L22082:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L22091
+ tst r2, #255
+ ldrneh r3, [r5, #14]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r5, #12]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #12] @ movhi
+ tst r3, #255
+ ldrneh r6, [r5, #10]
+ strneh r6, [r1, #10] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r7, [r5, #8]
+ strneh r7, [r1, #8] @ movhi
+.L22091:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L22213
+ b .L21367
+.L21598:
+ mov r3, ip, lsr #3
+ ands r2, ip, #7
+ sub r0, r0, r3, asl #5
+ ldreq r3, [sp, #88]
+ bne .L22214
+.L21647:
+ movs r1, r1, lsr #3
+ beq .L21367
+ mov r2, #0
+ b .L21657
+.L22215:
+ sub r0, r0, #32
+ add r3, r3, #16
+ add r5, r5, #16
+.L21657:
+ ldr ip, [r0, #0]
+ cmp ip, #0
+ beq .L21658
+ tst ip, #15
+ ldrneh r7, [r5, #14]
+ strneh r7, [r3, #14] @ movhi
+ tst ip, #240
+ ldrneh lr, [r5, #12]
+ strneh lr, [r3, #12] @ movhi
+ tst ip, #3840
+ ldrneh r4, [r5, #10]
+ strneh r4, [r3, #10] @ movhi
+ tst ip, #61440
+ ldrneh r6, [r5, #8]
+ strneh r6, [r3, #8] @ movhi
+ tst ip, #983040
+ ldrneh r7, [r5, #6]
+ strneh r7, [r3, #6] @ movhi
+ tst ip, #15728640
+ ldrneh lr, [r5, #4]
+ strneh lr, [r3, #4] @ movhi
+ tst ip, #251658240
+ ldrneh r4, [r5, #2]
+ strneh r4, [r3, #2] @ movhi
+ movs ip, ip, lsr #28
+ ldrneh r6, [r5, #0]
+ strneh r6, [r3, #0] @ movhi
+.L21658:
+ add r2, r2, #1
+ cmp r2, r1
+ bne .L22215
+ b .L21367
+.L22214:
+ rsbs r6, r2, #8
+ ldr ip, [r0, #0]
+ ldreq r3, [sp, #88]
+ beq .L21650
+ mov r3, r2, asl #2
+ mov r3, ip, asl r3
+ mov lr, #0
+.L21651:
+ movs r7, r3, lsr #28
+ mov ip, lr, asl #1
+ ldrneh r4, [ip, r5]
+ ldrne r2, [sp, #88]
+ add lr, lr, #1
+ strneh r4, [ip, r2] @ movhi
+ cmp lr, r6
+ mov r3, r3, asl #4
+ bne .L21651
+ mov r3, r6, asl #1
+ ldr r6, [sp, #88]
+ add r5, r5, r3
+ add r3, r6, r3
+.L21650:
+ sub r0, r0, #32
+ b .L21647
+.L22212:
+ cmp r2, #3
+ rsb ip, r2, #8
+ bls .L22053
+ cmp ip, #0
+ ldr r1, [r0, #0]
+ ldreq r1, [sp, #88]
+ beq .L22057
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r3, r1, asl r3
+ mov r1, #0
+.L22058:
+ movs r6, r3, lsr #24
+ mov r2, r1, asl #1
+ ldrneh r4, [r2, r5]
+ ldrne r7, [sp, #88]
+ add r1, r1, #1
+ strneh r4, [r2, r7] @ movhi
+ cmp r1, ip
+ mov r3, r3, asl #8
+ bne .L22058
+ ldr r6, [sp, #88]
+ mov r3, ip, asl #1
+ add r5, r5, r3
+ add r1, r6, r3
+.L22057:
+ sub r0, r0, #64
+ b .L22052
+.L22210:
+ cmp r1, #3
+ rsb ip, r1, #8
+ bls .L21833
+ cmp ip, #0
+ ldr r2, [r0, #4]
+ ldreq r1, [sp, #88]
+ beq .L21837
+ mov r3, r1, asl #3
+ sub r3, r3, #32
+ mov r3, r2, lsr r3
+ mov r1, #0
+.L21838:
+ tst r3, #255
+ mov r2, r1, asl #1
+ ldrneh r7, [r2, r5]
+ ldrne r6, [sp, #88]
+ add r1, r1, #1
+ strneh r7, [r2, r6] @ movhi
+ cmp ip, r1
+ mov r3, r3, lsr #8
+ bne .L21838
+ mov r3, ip, asl #1
+ ldr ip, [sp, #88]
+ add r5, r5, r3
+ add r1, ip, r3
+.L21837:
+ add r0, r0, #64
+ b .L21832
+.L22208:
+ rsbs r6, r3, #8
+ ldr r0, [r0, r1]
+ ldreq r3, [sp, #88]
+ beq .L21520
+ mov r3, r3, asl #2
+ mov r0, r0, lsr r3
+ mov r2, #0
+.L21521:
+ tst r0, #15
+ mov r3, r2, asl #1
+ ldrneh r1, [r3, r5]
+ ldrne r7, [sp, #88]
+ add r2, r2, #1
+ strneh r1, [r3, r7] @ movhi
+ cmp r6, r2
+ mov r0, r0, lsr #4
+ bne .L21521
+ ldr r2, [sp, #88]
+ mov r3, r6, asl #1
+ add r5, r5, r3
+ add r3, r2, r3
+.L21520:
+ add ip, ip, #32
+ b .L21517
+.L21950:
+ ldr lr, [sp, #108]
+ rsb r0, ip, #8
+ cmp lr, r0
+ bge .L21953
+ cmp lr, #0
+ ble .L21367
+ cmp ip, #3
+ bls .L21956
+ ldr r2, [sl, #0]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L21959:
+ movs r0, r2, lsr #24
+ mov r3, r1, asl #1
+ ldrneh r6, [r3, r5]
+ ldrne r4, [sp, #88]
+ ldr r7, [sp, #108]
+ add r1, r1, #1
+ strneh r6, [r3, r4] @ movhi
+ cmp r7, r1
+ mov r2, r2, asl #8
+ bne .L21959
+ b .L21367
+.L21730:
+ ldr r6, [sp, #108]
+ rsb r0, ip, #8
+ cmp r6, r0
+ bge .L21733
+ cmp r6, #0
+ ble .L21367
+ cmp ip, #3
+ bls .L21736
+ ldr r2, [sl, #4]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L21739:
+ tst r1, #255
+ mov r3, r2, asl #1
+ ldrneh ip, [r3, r5]
+ ldrne r7, [sp, #88]
+ ldr lr, [sp, #108]
+ add r2, r2, #1
+ strneh ip, [r3, r7] @ movhi
+ cmp lr, r2
+ mov r1, r1, lsr #8
+ bne .L21739
+ b .L21367
+.L21470:
+ ldr r4, [sp, #108]
+ rsb ip, r3, #8
+ cmp r4, ip
+ bge .L21473
+ cmp r4, #0
+ ble .L21367
+ ldr r2, [r0, r1]
+ mov r3, r3, asl #2
+ mov r0, r2, lsr r3
+ mov r2, #0
+.L21477:
+ tst r0, #15
+ mov r3, r2, asl #1
+ ldrneh r7, [r3, r5]
+ ldrne r6, [sp, #88]
+ ldr ip, [sp, #108]
+ add r2, r2, #1
+ strneh r7, [r3, r6] @ movhi
+ cmp ip, r2
+ mov r0, r0, lsr #4
+ bne .L21477
+ b .L21367
+.L21600:
+ ldr r3, [sp, #108]
+ rsb lr, r6, #8
+ cmp r3, lr
+ bge .L21603
+ cmp r3, #0
+ ble .L21367
+ ldr r2, [r0, #0]
+ mov r3, r6, asl #2
+ mov r0, r2, asl r3
+ mov r2, #0
+.L21607:
+ movs r4, r0, lsr #28
+ mov r3, r2, asl #1
+ ldrneh r7, [r3, r5]
+ ldrne r6, [sp, #88]
+ ldr ip, [sp, #108]
+ add r2, r2, #1
+ strneh r7, [r3, r6] @ movhi
+ cmp ip, r2
+ mov r0, r0, asl #4
+ bne .L21607
+ b .L21367
+.L22053:
+ subs r6, ip, #4
+ ldr r1, [r0, #4]
+ ldreq r1, [sp, #88]
+ beq .L22065
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r3, r1, asl r3
+ mov r1, #0
+.L22066:
+ movs r7, r3, lsr #24
+ mov r2, r1, asl #1
+ ldrneh r7, [r2, r5]
+ ldrne r4, [sp, #88]
+ add r1, r1, #1
+ strneh r7, [r2, r4] @ movhi
+ cmp r1, r6
+ mov r3, r3, asl #8
+ bne .L22066
+ mov r3, ip, asl #1
+ ldr ip, [sp, #88]
+ add r2, r5, r3
+ add r3, ip, r3
+ sub r5, r2, #8
+ sub r1, r3, #8
+.L22065:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L22071
+ tst r2, #255
+ ldrneh r3, [r5, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r5, #4]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrneh r6, [r5, #2]
+ strneh r6, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r7, [r5, #0]
+ strneh r7, [r1, #0] @ movhi
+.L22071:
+ add r1, r1, #8
+ add r5, r5, #8
+ sub r0, r0, #64
+ b .L22052
+.L21833:
+ subs r6, ip, #4
+ ldr r2, [r0, #0]
+ ldreq r1, [sp, #88]
+ beq .L21845
+ mov r3, r1, asl #3
+ mov r3, r2, lsr r3
+ mov r1, #0
+.L21846:
+ tst r3, #255
+ mov r2, r1, asl #1
+ ldrneh r7, [r2, r5]
+ ldrne r4, [sp, #88]
+ add r1, r1, #1
+ strneh r7, [r2, r4] @ movhi
+ cmp r1, r6
+ mov r3, r3, lsr #8
+ bne .L21846
+ mov r3, ip, asl #1
+ ldr ip, [sp, #88]
+ add r2, r5, r3
+ add r3, ip, r3
+ sub r5, r2, #8
+ sub r1, r3, #8
+.L21845:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L21851
+ tst r2, #255
+ ldrneh r3, [r5, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r5, #2]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrneh r6, [r5, #4]
+ strneh r6, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r7, [r5, #6]
+ strneh r7, [r1, #6] @ movhi
+.L21851:
+ add r1, r1, #8
+ add r5, r5, #8
+ add r0, r0, #64
+ b .L21832
+.L21733:
+ cmp ip, #3
+ bls .L21763
+ cmp r0, #0
+ ldr r2, [sl, #4]
+ ldreq r7, [sp, #88]
+ beq .L21767
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L21768:
+ tst r1, #255
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, r5]
+ ldrne lr, [sp, #88]
+ add r2, r2, #1
+ strneh r4, [r3, lr] @ movhi
+ cmp r0, r2
+ mov r1, r1, lsr #8
+ bne .L21768
+ ldr r6, [sp, #88]
+ mov r3, r0, asl #1
+ add r5, r5, r3
+ add r7, r3, r6
+.L21767:
+ ldr ip, [sp, #108]
+ add sl, sl, #64
+ rsb r8, r0, ip
+ b .L21732
+.L21473:
+ cmp ip, #0
+ ldr r2, [r6, #0]
+ ldreq r7, [sp, #88]
+ beq .L21483
+ mov r3, r3, asl #2
+ mov r3, r2, lsr r3
+ mov r1, #0
+.L21484:
+ tst r3, #15
+ mov r2, r1, asl #1
+ ldrneh r0, [r2, r5]
+ ldrne lr, [sp, #88]
+ add r1, r1, #1
+ strneh r0, [r2, lr] @ movhi
+ cmp ip, r1
+ mov r3, r3, lsr #4
+ bne .L21484
+ ldr r1, [sp, #88]
+ mov r3, ip, asl #1
+ add r5, r5, r3
+ add r7, r3, r1
+.L21483:
+ ldr r2, [sp, #108]
+ add r6, r6, #32
+ rsb r8, ip, r2
+ b .L21472
+.L21603:
+ cmp lr, #0
+ ldr r2, [r0, #0]
+ ldreq r1, [sp, #88]
+ beq .L21613
+ mov r3, r6, asl #2
+ mov r3, r2, asl r3
+ mov ip, #0
+.L21614:
+ movs r1, r3, lsr #28
+ mov r2, ip, asl #1
+ ldrneh r6, [r2, r5]
+ ldrne r4, [sp, #88]
+ add ip, ip, #1
+ strneh r6, [r2, r4] @ movhi
+ cmp lr, ip
+ mov r3, r3, asl #4
+ bne .L21614
+ ldr r7, [sp, #88]
+ mov r3, lr, asl #1
+ add r5, r5, r3
+ add r1, r3, r7
+.L21613:
+ ldr ip, [sp, #108]
+ sub r0, r0, #32
+ rsb r8, lr, ip
+ b .L21602
+.L21953:
+ cmp ip, #3
+ bls .L21983
+ cmp r0, #0
+ ldr r2, [sl, #0]
+ ldreq r7, [sp, #88]
+ beq .L21987
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r3, r2, asl r3
+ mov r1, #0
+.L21988:
+ movs r2, r3, lsr #24
+ mov r2, r1, asl #1
+ ldrneh r6, [r2, r5]
+ ldrne r4, [sp, #88]
+ add r1, r1, #1
+ strneh r6, [r2, r4] @ movhi
+ cmp r0, r1
+ mov r3, r3, asl #8
+ bne .L21988
+ ldr ip, [sp, #88]
+ mov r3, r0, asl #1
+ add r5, r5, r3
+ add r7, ip, r3
+.L21987:
+ ldr r6, [sp, #108]
+ sub sl, sl, #64
+ rsb r8, r0, r6
+ b .L21952
+.L22217:
+ mov r1, r8
+ b .L22184
+.L22216:
+ mov lr, r8
+ b .L22182
+.L21983:
+ subs lr, r0, #4
+ ldr r2, [sl, #4]
+ ldreq r1, [sp, #88]
+ beq .L21995
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r3, r2, asl r3
+ mov r1, #0
+.L21996:
+ movs r2, r3, lsr #24
+ mov r2, r1, asl #1
+ ldrneh r6, [r2, r5]
+ ldrne r4, [sp, #88]
+ add r1, r1, #1
+ strneh r6, [r2, r4] @ movhi
+ cmp r1, lr
+ mov r3, r3, asl #8
+ bne .L21996
+ ldr r7, [sp, #88]
+ mov r3, r0, asl #1
+ add r2, r5, r3
+ add r3, r7, r3
+ sub r5, r2, #8
+ sub r1, r3, #8
+.L21995:
+ ldr r2, [sl, #0]
+ cmp r2, #0
+ beq .L22001
+ tst r2, #255
+ ldrneh ip, [r5, #6]
+ mov r3, r2, lsr #8
+ strneh ip, [r1, #6] @ movhi
+ tst r3, #255
+ ldrneh lr, [r5, #4]
+ mov r3, r2, lsr #16
+ strneh lr, [r1, #4] @ movhi
+ tst r3, #255
+ ldrneh r3, [r5, #2]
+ strneh r3, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r4, [r5, #0]
+ strneh r4, [r1, #0] @ movhi
+.L22001:
+ add r7, r1, #8
+ add r5, r5, #8
+ b .L21987
+.L21763:
+ subs lr, r0, #4
+ ldr r2, [sl, #0]
+ ldreq r1, [sp, #88]
+ beq .L21775
+ mov r3, ip, asl #3
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L21776:
+ tst r1, #255
+ mov r3, r2, asl #1
+ ldrneh ip, [r3, r5]
+ ldrne r7, [sp, #88]
+ add r2, r2, #1
+ strneh ip, [r3, r7] @ movhi
+ cmp r2, lr
+ mov r1, r1, lsr #8
+ bne .L21776
+ ldr lr, [sp, #88]
+ mov r3, r0, asl #1
+ add r2, r5, r3
+ add r3, lr, r3
+ sub r5, r2, #8
+ sub r1, r3, #8
+.L21775:
+ ldr r2, [sl, #4]
+ cmp r2, #0
+ beq .L21781
+ tst r2, #255
+ ldrneh r3, [r5, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r5, #2]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrneh r6, [r5, #4]
+ strneh r6, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r7, [r5, #6]
+ strneh r7, [r1, #6] @ movhi
+.L21781:
+ add r7, r1, #8
+ add r5, r5, #8
+ b .L21767
+.L21956:
+ ldr lr, [sp, #108]
+ mov r3, ip, asl #3
+ ldr r1, [sl, #4]
+ add r2, lr, ip
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L21963
+ cmp lr, #0
+ movne r2, #0
+ beq .L21367
+.L21979:
+ movs r6, r1, lsr #24
+ mov r3, r2, asl #1
+ ldrneh ip, [r3, r5]
+ ldrne r7, [sp, #88]
+ ldr lr, [sp, #108]
+ add r2, r2, #1
+ strneh ip, [r3, r7] @ movhi
+ cmp lr, r2
+ mov r1, r1, asl #8
+ bne .L21979
+ b .L21367
+.L21736:
+ ldr r0, [sp, #108]
+ ldr r3, [sl, #0]
+ add r2, r0, ip
+ mov r1, ip, asl #3
+ cmp r2, #4
+ mov r3, r3, lsr r1
+ bhi .L21743
+ cmp r0, #0
+ movne r1, #0
+ beq .L21367
+.L21759:
+ tst r3, #255
+ mov r2, r1, asl #1
+ ldrneh r7, [r2, r5]
+ ldrne r6, [sp, #88]
+ ldr ip, [sp, #108]
+ add r1, r1, #1
+ strneh r7, [r2, r6] @ movhi
+ cmp ip, r1
+ mov r3, r3, lsr #8
+ bne .L21759
+ b .L21367
+.L21963:
+ rsbs r2, ip, #4
+ ldreq r3, [sp, #88]
+ beq .L21968
+ mov r0, #0
+.L21969:
+ movs r3, r1, lsr #24
+ mov r3, r0, asl #1
+ ldrneh r6, [r3, r5]
+ ldrne r4, [sp, #88]
+ add r0, r0, #1
+ strneh r6, [r3, r4] @ movhi
+ cmp r0, r2
+ mov r1, r1, asl #8
+ bne .L21969
+ ldr r7, [sp, #88]
+ mov r3, r2, asl #1
+ add r5, r5, r3
+ add r3, r3, r7
+.L21968:
+ ldr lr, [sp, #108]
+ subs ip, lr, r2
+ ldr r2, [sl, #0]
+ beq .L21367
+ mov r0, #0
+.L21975:
+ movs r1, r2, lsr #24
+ mov r1, r0, asl #1
+ ldrneh r4, [r1, r5]
+ add r0, r0, #1
+ strneh r4, [r1, r3] @ movhi
+ cmp r0, ip
+ mov r2, r2, asl #8
+ bne .L21975
+ b .L21367
+.L21743:
+ rsbs r1, ip, #4
+ ldreq ip, [sp, #88]
+ beq .L21748
+ mov r0, #0
+.L21749:
+ tst r3, #255
+ mov r2, r0, asl #1
+ ldrneh r6, [r2, r5]
+ ldrne r4, [sp, #88]
+ add r0, r0, #1
+ strneh r6, [r2, r4] @ movhi
+ cmp r0, r1
+ mov r3, r3, lsr #8
+ bne .L21749
+ ldr r7, [sp, #88]
+ mov r3, r1, asl #1
+ add r5, r5, r3
+ add ip, r3, r7
+.L21748:
+ ldr lr, [sp, #108]
+ ldr r3, [sl, #4]
+ subs r0, lr, r1
+ beq .L21367
+ mov r1, #0
+.L21755:
+ tst r3, #255
+ mov r2, r1, asl #1
+ ldrneh r4, [r2, r5]
+ add r1, r1, #1
+ strneh r4, [r2, ip] @ movhi
+ cmp r1, r0
+ mov r3, r3, lsr #8
+ bne .L21755
+ b .L21367
+ .size render_scanline_obj_copy_bitmap_2D, .-render_scanline_obj_copy_bitmap_2D
+ .align 2
+ .global render_scanline_obj_copy_bitmap_1D
+ .type render_scanline_obj_copy_bitmap_1D, %function
+render_scanline_obj_copy_bitmap_1D:
+ @ args = 0, pretend = 0, frame = 604
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr lr, .L23084
+ add r0, r0, r0, asl #2
+ ldrh r4, [lr, #6]
+ ldr ip, .L23084+4
+ add r0, r4, r0, asl #5
+ ldr ip, [ip, r0, asl #2]
+ sub sp, sp, #604
+ ldrh r6, [lr, #0]
+ ldrh r5, [lr, #74]
+ str ip, [sp, #56]
+ cmp ip, #0
+ ldr lr, .L23084+8
+ ldr ip, .L23084+12
+ str r4, [sp, #52]
+ and r4, r6, #7
+ add r4, ip, r4, asl #2
+ add r0, lr, r0, asl #7
+ str r4, [sp, #36]
+ str r0, [sp, #60]
+ str r1, [sp, #12]
+ str r2, [sp, #8]
+ str r3, [sp, #4]
+ mov r5, r5, lsr #8
+ beq .L23027
+ rsb r0, r1, r2
+ and ip, r5, #16
+ add lr, r3, r1, asl #1
+ and r6, r6, #64
+ mov r1, #0
+ and r5, r5, #4
+ str ip, [sp, #88]
+ str r6, [sp, #92]
+ str r5, [sp, #96]
+ str lr, [sp, #100]
+ str r0, [sp, #120]
+ str r1, [sp, #44]
+ mov r2, r1
+.L22225:
+ ldr r4, [sp, #60]
+ ldr r5, .L23084+16
+ ldrb r3, [r2, r4] @ zero_extendqisi2
+ ldr lr, .L23084+20
+ mov r3, r3, asl #3
+ ldrh r8, [r3, r5]
+ add r3, r3, r5
+ ldrh sl, [r3, #2]
+ mov r6, r8, lsr #12
+ and r2, r6, #12
+ orr r2, r2, sl, lsr #14
+ mov r1, sl, asl #23
+ ldr fp, [lr, r2, asl #2]
+ ands ip, r8, #512
+ mov r9, r1, asr #23
+ ldr r7, [sp, #8]
+ addne r1, r9, fp, asl #1
+ addeq r1, r9, fp
+ str r6, [sp, #20]
+ ldr r6, [sp, #12]
+ ldrh r3, [r3, #4]
+ cmp r1, r7
+ movcc r7, r1
+ ldr r0, [sp, #8]
+ ldr r1, [sp, #12]
+ cmp r9, r6
+ movcs r6, r9
+ str r3, [sp, #16]
+ cmp r0, r6
+ movls r3, #0
+ movhi r3, #1
+ cmp r1, r7
+ movcs r3, #0
+ cmp r3, #0
+ str r2, [sp, #48]
+ str ip, [sp, #24]
+ beq .L22229
+ cmp r7, r6
+ ldr r3, .L23084+24
+ movls r4, r6, asl #1
+ ldrh r0, [r3, #0]
+ strls r4, [sp, #0]
+ bls .L22231
+ mov r2, r6, asl #1
+ add r3, sp, #124
+ str r2, [sp, #0]
+ rsb r1, r6, r7
+ add r2, r3, r2
+ mov r3, #0
+.L22233:
+ add r3, r3, #1
+ cmp r1, r3
+ strh r0, [r2], #2 @ movhi
+ bne .L22233
+.L22231:
+ ldr r5, .L23084+28
+ ldr r3, [r5, #0]
+ cmp r3, #0
+ beq .L22234
+ ldr r5, .L23084+32
+ mov r4, #0
+ b .L22236
+.L23056:
+ ldr ip, [sp, #88]
+ cmp ip, #0
+ bic ip, r0, #4
+ beq .L22239
+ ldr lr, [sp, #92]
+ mov r0, ip
+ cmp lr, #0
+ mov r1, r6
+ mov r2, r7
+ add r3, sp, #124
+ beq .L22241
+ bl render_scanline_obj_normal_1D
+.L22239:
+ ldr ip, .L23084+28
+ add r4, r4, #1
+ ldr r3, [ip, #0]
+ add r5, r5, #4
+ cmp r3, r4
+ bls .L22234
+.L22236:
+ ldr r0, [r5, #0]
+ tst r0, #4
+ bne .L23056
+ ldr r0, [sp, #96]
+ mov r1, r7
+ cmp r0, #0
+ add r2, sp, #124
+ mov r0, r6
+ beq .L22239
+ ldr r3, [sp, #36]
+ mov lr, pc
+ ldr pc, [r3, #0]
+ ldr ip, .L23084+28
+ add r4, r4, #1
+ ldr r3, [ip, #0]
+ add r5, r5, #4
+ cmp r3, r4
+ bhi .L22236
+.L22234:
+ and r0, r8, #255
+ ldr r1, [sp, #0]
+ cmp r0, #160
+ add lr, sp, #124
+ ldr r3, .L23084+36
+ ldr r2, [sp, #48]
+ add lr, lr, r1
+ subgt r0, r0, #256
+ tst r8, #256
+ str lr, [sp, #40]
+ ldr r4, [r3, r2, asl #2]
+ beq .L22246
+ tst r8, #8192
+ beq .L22248
+ ldr r6, .L23084+16
+ mov r3, sl, lsr #4
+ ldr r5, [sp, #24]
+ add r1, r4, r4, lsr #31
+ and r3, r3, #992
+ add r3, r3, r6
+ mov lr, r1, asr #1
+ add r2, fp, fp, lsr #31
+ ldr r1, [sp, #12]
+ cmp r5, #0
+ mov ip, r2, asr #1
+ ldrh sl, [r3, #30]
+ ldrh r8, [r3, #6]
+ ldrh r2, [r3, #14]
+ ldrh r3, [r3, #22]
+ moveq r5, fp
+ moveq r7, ip
+ moveq r6, lr
+ movne r5, fp, asl #1
+ movne r7, ip, asl #1
+ movne r6, lr, asl #1
+ cmp r9, r1
+ str r3, [sp, #28]
+ bge .L22253
+ rsb r1, r9, r1
+ rsb r5, r1, r5
+ cmp r5, #0
+ ble .L22229
+ ldr r9, [sp, #12]
+ rsb r7, r1, r7
+.L22253:
+ ldr r1, [sp, #8]
+ add r3, r9, r5
+ cmp r3, r1
+ blt .L22256
+ rsb r5, r9, r1
+ cmp r5, #0
+ ble .L22229
+.L22256:
+ add r0, r0, r6
+ ldr r6, [sp, #28]
+ mov r1, sl, asl #16
+ mov ip, ip, asl #8
+ mov r3, r8, asl #16
+ cmp r6, #0
+ str ip, [sp, #116]
+ mov r6, r1, asr #16
+ mov ip, lr, asl #8
+ ldr r1, [sp, #52]
+ ldr lr, [sp, #4]
+ mov r2, r2, asl #16
+ mov r3, r3, asr #16
+ add sl, lr, r9, asl #1
+ str r3, [sp, #64]
+ mov r8, r2, asr #16
+ rsb lr, r0, r1
+ bne .L22258
+ mla r3, lr, r6, ip
+ mov r0, r3, asr #8
+ cmp r0, r4
+ bcs .L22229
+ cmp fp, #0
+ ldr r4, [sp, #16]
+ add r3, fp, #7
+ movge r3, fp
+ mov r3, r3, asr #3
+ mov r2, r4, asl #22
+ mov r3, r3, asl #1
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ mla ip, r3, r1, r2
+ and r0, r0, #7
+ ldr r3, .L23084+40
+ add r0, r0, ip, asl #2
+ cmp r5, #0
+ add r6, r3, r0, asl #3
+ ble .L22229
+ ldr r2, [sp, #64]
+ mul r3, lr, r8
+ mul r2, r7, r2
+ ldr ip, [sp, #116]
+ rsb r3, r2, r3
+ add r0, ip, r3
+ mov ip, r0, asr #8
+ cmp ip, fp
+ ldrcs lr, [sp, #28]
+ bcs .L22264
+ b .L23080
+.L22265:
+ cmp ip, fp
+ bcc .L23044
+.L22264:
+ ldr r2, [sp, #40]
+ ldr r1, [sp, #64]
+ add lr, lr, #1
+ add r0, r0, r1
+ add r2, r2, #2
+ cmp r5, lr
+ mov ip, r0, asr #8
+ add sl, sl, #2
+ str r2, [sp, #40]
+ bne .L22265
+.L22229:
+ ldr ip, [sp, #44]
+ ldr lr, [sp, #56]
+ add ip, ip, #1
+ cmp ip, lr
+ str ip, [sp, #44]
+ beq .L23027
+.L23059:
+ ldr r2, [sp, #44]
+ b .L22225
+.L22241:
+ mov r0, ip
+ mov r1, r6
+ mov r2, r7
+ add r3, sp, #124
+ bl render_scanline_obj_normal_2D
+ b .L22239
+.L22246:
+ ldr lr, [sp, #52]
+ tst sl, #8192
+ rsb ip, r0, lr
+ ldr r0, [sp, #20]
+ rsbne r3, ip, r4
+ subne ip, r3, #1
+ mov r2, sl, asl #19
+ and r3, r0, #2
+ orr r3, r3, r2, lsr #31
+ cmp r3, #3
+ ldrls pc, [pc, r3, asl #2]
+ b .L22229
+ .p2align 2
+.L22326:
+ .word .L22322
+ .word .L22323
+ .word .L22324
+ .word .L22325
+.L22248:
+ ldr r6, .L23084+16
+ mov r3, sl, lsr #4
+ ldr r5, [sp, #24]
+ add r1, r4, r4, lsr #31
+ and r3, r3, #992
+ add r3, r3, r6
+ mov lr, r1, asr #1
+ add r2, fp, fp, lsr #31
+ ldr r1, [sp, #12]
+ cmp r5, #0
+ mov ip, r2, asr #1
+ ldrh sl, [r3, #30]
+ ldrh r8, [r3, #6]
+ ldrh r2, [r3, #14]
+ ldrh r3, [r3, #22]
+ moveq r5, fp
+ moveq r7, ip
+ moveq r6, lr
+ movne r5, fp, asl #1
+ movne r7, ip, asl #1
+ movne r6, lr, asl #1
+ cmp r9, r1
+ str r3, [sp, #32]
+ bge .L22285
+ rsb r1, r9, r1
+ rsb r5, r1, r5
+ cmp r5, #0
+ ble .L22229
+ ldr r9, [sp, #12]
+ rsb r7, r1, r7
+.L22285:
+ ldr r1, [sp, #8]
+ add r3, r9, r5
+ cmp r3, r1
+ blt .L22288
+ rsb r5, r9, r1
+ cmp r5, #0
+ ble .L22229
+.L22288:
+ add r0, r0, r6
+ ldr r6, [sp, #32]
+ mov r1, sl, asl #16
+ mov ip, ip, asl #8
+ mov r3, r8, asl #16
+ mov r2, r2, asl #16
+ cmp r6, #0
+ str ip, [sp, #104]
+ mov r6, r1, asr #16
+ mov ip, lr, asl #8
+ ldr r1, [sp, #52]
+ ldr lr, [sp, #4]
+ mov r3, r3, asr #16
+ mov r2, r2, asr #16
+ add sl, lr, r9, asl #1
+ str r3, [sp, #72]
+ str r2, [sp, #76]
+ rsb lr, r0, r1
+ bne .L22290
+ mla r3, lr, r6, ip
+ mov r0, r3, asr #8
+ cmp r0, r4
+ bcs .L22229
+ ldr r4, [sp, #16]
+ cmp fp, #0
+ add r3, fp, #7
+ mov r2, r4, asl #22
+ movge r3, fp
+ mov r3, r3, asr #3
+ mov r1, r0, lsr #3
+ mov r2, r2, lsr #22
+ mla ip, r3, r1, r2
+ and r0, r0, #7
+ ldr r3, .L23084+40
+ add r0, r0, ip, asl #3
+ cmp r5, #0
+ add r8, r3, r0, asl #2
+ ble .L22229
+ ldr r3, [sp, #76]
+ ldr r2, [sp, #72]
+ mul r3, lr, r3
+ mul r2, r7, r2
+ ldr r6, [sp, #104]
+ rsb r3, r2, r3
+ add r0, r6, r3
+ mov ip, r0, asr #8
+ cmp ip, fp
+ ldrcs r1, [sp, #32]
+ bcs .L22296
+ b .L23081
+.L22297:
+ cmp ip, fp
+ bcc .L23046
+.L22296:
+ ldr ip, [sp, #72]
+ ldr lr, [sp, #40]
+ add r1, r1, #1
+ add r0, r0, ip
+ add lr, lr, #2
+ cmp r5, r1
+ mov ip, r0, asr #8
+ add sl, sl, #2
+ str lr, [sp, #40]
+ bne .L22297
+ ldr ip, [sp, #44]
+ ldr lr, [sp, #56]
+ add ip, ip, #1
+ cmp ip, lr
+ str ip, [sp, #44]
+ bne .L23059
+.L23027:
+ add sp, sp, #604
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L22299:
+ cmp ip, fp
+ bcs .L22229
+.L23046:
+ mov r3, ip, asr #1
+ and r6, r3, #3
+ mov r3, ip, asr #3
+ mov r3, r3, asl #5
+ mov r2, ip, asr #1
+ tst ip, #1
+ and lr, r2, #3
+ add ip, r3, r8
+ add r2, r3, r8
+ ldreqb r3, [r2, lr] @ zero_extendqisi2
+ ldrneb r3, [ip, r6] @ zero_extendqisi2
+ andeq r2, r3, #15
+ movne r2, r3, lsr #4
+ cmp r2, #0
+ ldrne r4, [sp, #40]
+ ldr r6, [sp, #40]
+ ldrneh r4, [r4, #0]
+ ldr r3, [sp, #72]
+ add r1, r1, #1
+ strneh r4, [sl, #0] @ movhi
+ add r0, r0, r3
+ add r6, r6, #2
+ cmp r5, r1
+ mov ip, r0, asr #8
+ add sl, sl, #2
+ str r6, [sp, #40]
+ bgt .L22299
+ b .L22229
+.L22290:
+ ldr r0, [sp, #16]
+ cmp fp, #0
+ add r1, fp, #7
+ mov r2, r0, asl #22
+ movge r1, fp
+ ldr r3, .L23084+40
+ mov r2, r2, lsr #22
+ mov r1, r1, asr #3
+ add r2, r3, r2, asl #5
+ mov r1, r1, asl #5
+ cmp r5, #0
+ str r2, [sp, #108]
+ str r1, [sp, #84]
+ ble .L22229
+ ldr r1, [sp, #32]
+ ldr r0, [sp, #72]
+ mov r3, r1, asl #16
+ mov r3, r3, asr #16
+ str r3, [sp, #80]
+ ldr r1, [sp, #80]
+ ldr r3, [sp, #76]
+ mul r2, lr, r6
+ mul r3, lr, r3
+ mul r1, r7, r1
+ mul r0, r7, r0
+ ldr r6, [sp, #104]
+ rsb r2, r1, r2
+ rsb r3, r0, r3
+ add r7, r6, r3
+ add r6, ip, r2
+ mov lr, r7, asr #8
+ mov r3, r6, asr #8
+ cmp lr, fp
+ cmpcc r3, r4
+ movcs r2, #0
+ movcc r2, #1
+ movcs r8, r2
+ bcs .L22309
+ b .L23082
+.L22310:
+ cmp lr, fp
+ cmpcc r3, r4
+ bcc .L22312
+.L22309:
+ ldr lr, [sp, #80]
+ ldr r0, [sp, #40]
+ ldr ip, [sp, #72]
+ add r8, r8, #1
+ add r6, r6, lr
+ add r7, r7, ip
+ add r0, r0, #2
+ cmp r5, r8
+ mov lr, r7, asr #8
+ mov r3, r6, asr #8
+ add sl, sl, #2
+ str r0, [sp, #40]
+ bne .L22310
+ b .L22229
+.L23061:
+ ldr r1, [sp, #108]
+ and r0, r3, #7
+ ldr r2, [sp, #84]
+ add r0, r1, r0, asl #2
+ and r1, r3, #7
+ mov r3, r3, asr #3
+ mov ip, lr, asr #1
+ mul r2, r3, r2
+ and r9, ip, #3
+ ldr ip, [sp, #108]
+ mov r3, lr, asr #1
+ add r1, ip, r1, asl #2
+ and ip, r3, #3
+ mov r3, lr, asr #3
+ add r2, r2, r3, asl #5
+ add r3, r0, r2
+ tst lr, #1
+ add r0, r1, r2
+ ldreqb r3, [r0, ip] @ zero_extendqisi2
+ ldrneb r3, [r3, r9] @ zero_extendqisi2
+ andeq r0, r3, #15
+ movne r0, r3, lsr #4
+ cmp r0, #0
+ ldrne r2, [sp, #40]
+ ldr lr, [sp, #72]
+ ldrneh r2, [r2, #0]
+ ldr ip, [sp, #40]
+ ldr r1, [sp, #80]
+ add r8, r8, #1
+ strneh r2, [sl, #0] @ movhi
+ add r7, r7, lr
+ add r6, r6, r1
+ add ip, ip, #2
+ cmp r5, r8
+ mov lr, r7, asr #8
+ mov r3, r6, asr #8
+ add sl, sl, #2
+ str ip, [sp, #40]
+ ble .L22229
+.L22312:
+ cmp r3, r4
+ cmpcc lr, fp
+ bcc .L23061
+ b .L22229
+.L22267:
+ cmp ip, fp
+ bcs .L22229
+.L23044:
+ ldr r3, [sp, #64]
+ and r1, ip, #7
+ add r0, r0, r3
+ mov r3, ip, asr #3
+ add r3, r6, r3, asl #6
+ ldrb r2, [r3, r1] @ zero_extendqisi2
+ ldr r1, [sp, #40]
+ cmp r2, #0
+ ldrne r4, [sp, #40]
+ add lr, lr, #1
+ ldrneh r4, [r4, #0]
+ add r1, r1, #2
+ strneh r4, [sl, #0] @ movhi
+ cmp r5, lr
+ mov ip, r0, asr #8
+ add sl, sl, #2
+ str r1, [sp, #40]
+ bgt .L22267
+ b .L22229
+.L22258:
+ ldr r3, [sp, #16]
+ cmp fp, #0
+ add r1, fp, #7
+ mov r2, r3, asl #22
+ movge r1, fp
+ ldr r3, .L23084+40
+ mov r2, r2, lsr #22
+ mov r1, r1, asr #3
+ add r2, r3, r2, asl #5
+ mov r1, r1, asl #6
+ cmp r5, #0
+ str r2, [sp, #112]
+ str r1, [sp, #68]
+ ble .L22229
+ ldr r0, [sp, #28]
+ mul r2, lr, r6
+ mov r3, r0, asl #16
+ mov r9, r3, asr #16
+ ldr r0, [sp, #64]
+ mul r1, r9, r7
+ mul r3, lr, r8
+ mul r0, r7, r0
+ rsb r2, r1, r2
+ ldr r1, [sp, #116]
+ rsb r3, r0, r3
+ add r7, r1, r3
+ add r6, ip, r2
+ mov lr, r7, asr #8
+ mov ip, r6, asr #8
+ cmp lr, fp
+ cmpcc ip, r4
+ movcs r3, #0
+ movcc r3, #1
+ movcs r8, r3
+ bcs .L22274
+ b .L23083
+.L22275:
+ cmp lr, fp
+ cmpcc ip, r4
+ bcc .L22277
+.L22274:
+ ldr r3, [sp, #40]
+ ldr r2, [sp, #64]
+ add r8, r8, #1
+ add r7, r7, r2
+ add r6, r6, r9
+ add r3, r3, #2
+ cmp r5, r8
+ mov lr, r7, asr #8
+ mov ip, r6, asr #8
+ add sl, sl, #2
+ str r3, [sp, #40]
+ bne .L22275
+ b .L22229
+.L23063:
+ ldr r0, [sp, #64]
+ and r3, ip, #7
+ mov r2, lr, asr #3
+ ldr r1, [sp, #112]
+ mov r3, r3, asl #3
+ add r7, r7, r0
+ add r3, r3, r2, asl #6
+ ldr r0, [sp, #68]
+ mov r2, ip, asr #3
+ add r3, r3, r1
+ mla r0, r2, r0, r3
+ and r1, lr, #7
+ ldrb r3, [r0, r1] @ zero_extendqisi2
+ add r8, r8, #1
+ cmp r3, #0
+ ldrne r2, [sp, #40]
+ ldr r3, [sp, #40]
+ ldrneh r2, [r2, #0]
+ add r6, r6, r9
+ strneh r2, [sl, #0] @ movhi
+ add r3, r3, #2
+ cmp r5, r8
+ mov ip, r6, asr #8
+ mov lr, r7, asr #8
+ add sl, sl, #2
+ str r3, [sp, #40]
+ ble .L22229
+.L22277:
+ cmp ip, r4
+ cmpcc lr, fp
+ bcc .L23063
+ b .L22229
+.L22322:
+ ldr r1, [sp, #16]
+ cmp fp, #0
+ add r3, fp, #7
+ mov r2, r1, asl #22
+ movge r3, fp
+ mov lr, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r3, ip, lsr #3
+ mla r0, lr, r3, r2
+ ldr r2, [sp, #12]
+ and r1, ip, #7
+ ldr r3, .L23084+40
+ add r1, r1, r0, asl #3
+ cmp r9, r2
+ add r0, r3, r1, asl #2
+ bge .L22327
+ rsb ip, r9, r2
+ rsb lr, ip, fp
+ cmp lr, #0
+ ble .L22229
+ ldr r4, [sp, #8]
+ add r3, r9, fp
+ cmp r4, r3
+ bhi .L22330
+ mov r3, ip, lsr #3
+ mov r1, r3, asl #5
+ ands r3, ip, #7
+ add r6, r0, r1
+ bne .L22332
+ ldr r5, [sp, #120]
+ ldr r7, [sp, #100]
+.L22334:
+ movs lr, r5, lsr #3
+ beq .L22351
+ ldr r1, [sp, #40]
+ mov r2, r7
+ mov r0, r6
+ mov ip, #0
+.L22353:
+ ldr r3, [r0, #0]
+ cmp r3, #0
+ beq .L22354
+ tst r3, #15
+ ldrneh r4, [r1, #0]
+ strneh r4, [r2, #0] @ movhi
+ tst r3, #240
+ ldrneh r4, [r1, #2]
+ strneh r4, [r2, #2] @ movhi
+ tst r3, #3840
+ ldrneh r4, [r1, #4]
+ strneh r4, [r2, #4] @ movhi
+ tst r3, #61440
+ ldrneh r4, [r1, #6]
+ strneh r4, [r2, #6] @ movhi
+ tst r3, #983040
+ ldrneh r4, [r1, #8]
+ strneh r4, [r2, #8] @ movhi
+ tst r3, #15728640
+ ldrneh r4, [r1, #10]
+ strneh r4, [r2, #10] @ movhi
+ tst r3, #251658240
+ ldrneh r4, [r1, #12]
+ strneh r4, [r2, #12] @ movhi
+ movs r3, r3, lsr #28
+ ldrneh r3, [r1, #14]
+ strneh r3, [r2, #14] @ movhi
+.L22354:
+ add ip, ip, #1
+ cmp ip, lr
+ add r0, r0, #32
+ add r2, r2, #16
+ add r1, r1, #16
+ bne .L22353
+ ldr r4, [sp, #40]
+ mov r3, lr, asl #4
+ add r4, r4, r3
+ add r7, r7, r3
+ add r6, r6, lr, asl #5
+ str r4, [sp, #40]
+.L22351:
+ ands r0, r5, #7
+ beq .L22229
+ ldr r3, [r6, #0]
+ mov r1, #0
+.L22373:
+ tst r3, #15
+ ldrne r5, [sp, #40]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r5]
+ add r1, r1, #1
+ strneh r5, [r2, r7] @ movhi
+ cmp r1, r0
+ mov r3, r3, lsr #4
+ bne .L22373
+ b .L22229
+.L22323:
+ ldr r4, [sp, #16]
+ cmp fp, #0
+ add r3, fp, #7
+ mov r2, r4, asl #22
+ movge r3, fp
+ mov lr, r3, asr #3
+ mov r2, r2, lsr #22
+ mov r1, ip, lsr #3
+ mla r0, lr, r1, r2
+ subs r3, fp, #8
+ submi r3, fp, #1
+ ldr r5, [sp, #12]
+ add r0, r0, r3, asr #3
+ and r2, ip, #7
+ ldr r3, .L23084+40
+ add r2, r2, r0, asl #3
+ cmp r9, r5
+ add r0, r3, r2, asl #2
+ bge .L22457
+ rsb ip, r9, r5
+ rsb r1, ip, fp
+ cmp r1, #0
+ ble .L22229
+ ldr r6, [sp, #8]
+ add r3, r9, fp
+ cmp r6, r3
+ bhi .L22460
+ mov r3, ip, lsr #3
+ ands r6, ip, #7
+ sub r0, r0, r3, asl #5
+ bne .L22462
+ ldr r8, [sp, #120]
+ ldr r1, [sp, #100]
+.L22464:
+ movs r3, r8, lsr #3
+ beq .L22481
+ ldr lr, [sp, #40]
+ mov ip, r1
+ mov r6, r0
+ mov r7, #0
+.L22483:
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L22484
+ tst r2, #15
+ ldrneh r4, [lr, #14]
+ strneh r4, [ip, #14] @ movhi
+ tst r2, #240
+ ldrneh r5, [lr, #12]
+ strneh r5, [ip, #12] @ movhi
+ tst r2, #3840
+ ldrneh r4, [lr, #10]
+ strneh r4, [ip, #10] @ movhi
+ tst r2, #61440
+ ldrneh r5, [lr, #8]
+ strneh r5, [ip, #8] @ movhi
+ tst r2, #983040
+ ldrneh r4, [lr, #6]
+ strneh r4, [ip, #6] @ movhi
+ tst r2, #15728640
+ ldrneh r5, [lr, #4]
+ strneh r5, [ip, #4] @ movhi
+ tst r2, #251658240
+ ldrneh r4, [lr, #2]
+ strneh r4, [ip, #2] @ movhi
+ movs r2, r2, lsr #28
+ ldrneh r5, [lr, #0]
+ strneh r5, [ip, #0] @ movhi
+.L22484:
+ add r7, r7, #1
+ cmp r7, r3
+ sub r6, r6, #32
+ add ip, ip, #16
+ add lr, lr, #16
+ bne .L22483
+ ldr r6, [sp, #40]
+ rsb r2, r3, r3, asl #27
+ mov r3, r3, asl #4
+ add r6, r6, r3
+ add r1, r1, r3
+ add r0, r0, r2, asl #5
+ str r6, [sp, #40]
+.L22481:
+ ands ip, r8, #7
+ beq .L22229
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L22503:
+ movs lr, r0, lsr #28
+ ldrne r4, [sp, #40]
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, r4]
+ add r2, r2, #1
+ strneh r4, [r3, r1] @ movhi
+ cmp r2, ip
+ mov r0, r0, asl #4
+ bne .L22503
+ b .L22229
+.L22325:
+ cmp fp, #0
+ add r2, fp, #7
+ movge r2, fp
+ subs r3, fp, #8
+ submi r3, fp, #1
+ mov lr, r2, asr #3
+ mov r3, r3, asr #3
+ mov r1, ip, lsr #3
+ mla r0, lr, r1, r3
+ ldr r4, [sp, #16]
+ and r3, ip, #7
+ mov r2, r4, asl #22
+ mov r2, r2, lsr #22
+ add r2, r2, r0, asl #1
+ add r3, r3, r2, asl #2
+ ldr r5, [sp, #12]
+ mov r0, r3, asl #3
+ ldr r3, .L23084+40
+ cmp r9, r5
+ add r8, r0, r3
+ bge .L22807
+ rsb r0, r9, r5
+ rsb lr, r0, fp
+ cmp lr, #0
+ ble .L22229
+ ldr r6, [sp, #8]
+ add r3, r9, fp
+ cmp r6, r3
+ bhi .L22810
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ sub sl, r8, r3, asl #6
+ bne .L22812
+ ldr r8, [sp, #120]
+ ldr r7, [sp, #100]
+.L22814:
+ movs r6, r8, lsr #3
+ beq .L22872
+ ldr r0, [sp, #40]
+ mov r1, r7
+ mov ip, sl
+ mov lr, #0
+.L22874:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L22875
+ tst r2, #255
+ ldrneh r3, [r0, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r0, #4]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrneh r5, [r0, #2]
+ strneh r5, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r2, [r0, #0]
+ strneh r2, [r1, #0] @ movhi
+.L22875:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L22884
+ tst r2, #255
+ ldrneh r3, [r0, #14]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r0, #12]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #12] @ movhi
+ tst r3, #255
+ ldrneh r5, [r0, #10]
+ strneh r5, [r1, #10] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r2, [r0, #8]
+ strneh r2, [r1, #8] @ movhi
+.L22884:
+ add lr, lr, #1
+ cmp lr, r6
+ sub ip, ip, #64
+ add r1, r1, #16
+ add r0, r0, #16
+ bne .L22874
+ ldr r4, [sp, #40]
+ mov r3, r6, asl #4
+ rsb r2, r6, r6, asl #26
+ add r4, r4, r3
+ add r7, r7, r3
+ add sl, sl, r2, asl #6
+ str r4, [sp, #40]
+.L22872:
+ ands ip, r8, #7
+ beq .L22229
+ cmp ip, #3
+ ldrls r2, [sl, #4]
+ bls .L22907
+ ldr r2, [sl, #4]
+ cmp r2, #0
+ beq .L22897
+ tst r2, #255
+ ldrne r5, [sp, #40]
+ mov r3, r2, lsr #8
+ ldrneh r5, [r5, #6]
+ strneh r5, [r7, #6] @ movhi
+ tst r3, #255
+ ldrne r6, [sp, #40]
+ mov r3, r2, lsr #16
+ ldrneh r6, [r6, #4]
+ strneh r6, [r7, #4] @ movhi
+ tst r3, #255
+ ldrne lr, [sp, #40]
+ ldrneh lr, [lr, #2]
+ strneh lr, [r7, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r0, [sp, #40]
+ ldrneh r0, [r0, #0]
+ strneh r0, [r7, #0] @ movhi
+.L22897:
+ subs ip, ip, #4
+ ldr r2, [sl, #0]
+ beq .L22229
+ ldr r1, [sp, #40]
+ add r7, r7, #8
+ add r1, r1, #8
+ str r1, [sp, #40]
+.L22907:
+ mov r1, #0
+.L22908:
+ movs r3, r2, lsr #24
+ ldrne r4, [sp, #40]
+ mov r0, r1, asl #1
+ ldrneh r4, [r0, r4]
+ add r1, r1, #1
+ strneh r4, [r0, r7] @ movhi
+ cmp ip, r1
+ mov r2, r2, asl #8
+ bhi .L22908
+ b .L22229
+.L23085:
+ .align 2
+.L23084:
+ .word io_registers
+ .word obj_priority_count
+ .word obj_priority_list
+ .word bitmap_mode_renderers-12
+ .word oam_ram
+ .word obj_width_table
+ .word palette_ram_converted
+ .word layer_count
+ .word layer_order
+ .word obj_height_table
+ .word vram+65536
+ .word vram+65472
+ .word vram+65600
+.L22324:
+ ldr lr, [sp, #16]
+ cmp fp, #0
+ add r3, fp, #7
+ mov r1, lr, asl #22
+ movge r3, fp
+ mov r2, ip, lsr #3
+ mov r6, r3, asr #3
+ mov r2, r2, asl #1
+ mov r1, r1, lsr #22
+ mla r0, r2, r6, r1
+ and r3, ip, #7
+ add r3, r3, r0, asl #2
+ ldr r1, [sp, #12]
+ mov r0, r3, asl #3
+ ldr r3, .L23084+40
+ cmp r9, r1
+ add r2, r0, r3
+ bge .L22587
+ rsb r0, r9, r1
+ rsb lr, r0, fp
+ cmp lr, #0
+ ble .L22229
+ ldr r4, [sp, #8]
+ add r3, r9, fp
+ cmp r4, r3
+ bhi .L22590
+ mov r3, r0, lsr #3
+ ands ip, r0, #7
+ add sl, r2, r3, asl #6
+ bne .L22592
+ ldr r8, [sp, #120]
+ ldr r7, [sp, #100]
+.L22594:
+ movs r6, r8, lsr #3
+ beq .L22652
+ ldr r0, [sp, #40]
+ mov r1, r7
+ mov ip, sl
+ mov lr, #0
+.L22654:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L22655
+ tst r2, #255
+ ldrneh r3, [r0, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r0, #2]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrneh r5, [r0, #4]
+ strneh r5, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r2, [r0, #6]
+ strneh r2, [r1, #6] @ movhi
+.L22655:
+ ldr r2, [ip, #4]
+ cmp r2, #0
+ beq .L22664
+ tst r2, #255
+ ldrneh r3, [r0, #8]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrneh r4, [r0, #10]
+ mov r3, r2, lsr #16
+ strneh r4, [r1, #10] @ movhi
+ tst r3, #255
+ ldrneh r5, [r0, #12]
+ strneh r5, [r1, #12] @ movhi
+ movs r2, r2, lsr #24
+ ldrneh r2, [r0, #14]
+ strneh r2, [r1, #14] @ movhi
+.L22664:
+ add lr, lr, #1
+ cmp lr, r6
+ add ip, ip, #64
+ add r1, r1, #16
+ add r0, r0, #16
+ bne .L22654
+ ldr r4, [sp, #40]
+ mov r3, r6, asl #4
+ add r4, r4, r3
+ add r7, r7, r3
+ add sl, sl, r6, asl #6
+ str r4, [sp, #40]
+.L22652:
+ ands r0, r8, #7
+ beq .L22229
+ cmp r0, #3
+ ldrls r3, [sl, #0]
+ bls .L22687
+ ldr r2, [sl, #0]
+ cmp r2, #0
+ beq .L22677
+ tst r2, #255
+ ldrne r5, [sp, #40]
+ mov r3, r2, lsr #8
+ ldrneh r5, [r5, #0]
+ strneh r5, [r7, #0] @ movhi
+ tst r3, #255
+ ldrne r6, [sp, #40]
+ mov r3, r2, lsr #16
+ ldrneh r6, [r6, #2]
+ strneh r6, [r7, #2] @ movhi
+ tst r3, #255
+ ldrne ip, [sp, #40]
+ ldrneh ip, [ip, #4]
+ strneh ip, [r7, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrne lr, [sp, #40]
+ ldrneh lr, [lr, #6]
+ strneh lr, [r7, #6] @ movhi
+.L22677:
+ subs r0, r0, #4
+ ldr r3, [sl, #4]
+ beq .L22229
+ ldr r1, [sp, #40]
+ add r7, r7, #8
+ add r1, r1, #8
+ str r1, [sp, #40]
+.L22687:
+ mov r2, #0
+.L22688:
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r1, r2, asl #1
+ ldrneh r4, [r1, r4]
+ add r2, r2, #1
+ strneh r4, [r1, r7] @ movhi
+ cmp r0, r2
+ mov r3, r3, lsr #8
+ bhi .L22688
+ b .L22229
+.L22587:
+ ldr r4, [sp, #8]
+ add r3, r9, fp
+ cmp r4, r3
+ bls .L23064
+ cmp r6, #0
+ beq .L22229
+ ldr r5, [sp, #4]
+ ldr r3, .L23084+48
+ add r1, r5, r9, asl #1
+ add r0, r0, r3
+ mov lr, #0
+ b .L22787
+.L23065:
+ ldr r3, [sp, #40]
+ add r2, r2, #64
+ add r3, r3, #16
+ add r1, r1, #16
+ str r3, [sp, #40]
+.L22787:
+ ldr ip, [r2, #0]
+ cmp ip, #0
+ beq .L22788
+ tst ip, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r3, ip, lsr #16
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #4]
+ strneh r5, [r1, #4] @ movhi
+ movs ip, ip, lsr #24
+ ldrne ip, [sp, #40]
+ ldrneh ip, [ip, #6]
+ strneh ip, [r1, #6] @ movhi
+.L22788:
+ ldr ip, [r0, #-60]
+ cmp ip, #0
+ beq .L22797
+ tst ip, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #8]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r3, ip, lsr #16
+ ldrneh r4, [r4, #10]
+ strneh r4, [r1, #10] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #12]
+ strneh r5, [r1, #12] @ movhi
+ movs ip, ip, lsr #24
+ ldrne ip, [sp, #40]
+ ldrneh ip, [ip, #14]
+ strneh ip, [r1, #14] @ movhi
+.L22797:
+ add lr, lr, #1
+ cmp r6, lr
+ add r0, r0, #64
+ bne .L23065
+ b .L22229
+.L22457:
+ ldr r1, [sp, #8]
+ add r3, r9, fp
+ cmp r1, r3
+ bls .L23066
+ cmp lr, #0
+ beq .L22229
+ ldr r5, [sp, #4]
+ mov r3, #0
+ add r1, r5, r9, asl #1
+ b .L22568
+.L23067:
+ ldr r6, [sp, #40]
+ sub r0, r0, #32
+ add r6, r6, #16
+ add r1, r1, #16
+ str r6, [sp, #40]
+.L22568:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L22569
+ tst r2, #15
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #14]
+ strneh r6, [r1, #14] @ movhi
+ tst r2, #240
+ ldrne ip, [sp, #40]
+ ldrneh ip, [ip, #12]
+ strneh ip, [r1, #12] @ movhi
+ tst r2, #3840
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #10]
+ strneh r4, [r1, #10] @ movhi
+ tst r2, #61440
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #8]
+ strneh r5, [r1, #8] @ movhi
+ tst r2, #983040
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #6]
+ strneh r6, [r1, #6] @ movhi
+ tst r2, #15728640
+ ldrne ip, [sp, #40]
+ ldrneh ip, [ip, #4]
+ strneh ip, [r1, #4] @ movhi
+ tst r2, #251658240
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ movs r2, r2, lsr #28
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #0]
+ strneh r5, [r1, #0] @ movhi
+.L22569:
+ add r3, r3, #1
+ cmp lr, r3
+ bne .L23067
+ b .L22229
+.L22327:
+ ldr r1, [sp, #8]
+ add r3, r9, fp
+ cmp r1, r3
+ bls .L23068
+ cmp lr, #0
+ beq .L22229
+ ldr r2, [sp, #4]
+ mov r3, #0
+ add r1, r2, r9, asl #1
+ b .L22438
+.L23069:
+ ldr r2, [sp, #40]
+ add r0, r0, #32
+ add r2, r2, #16
+ add r1, r1, #16
+ str r2, [sp, #40]
+.L22438:
+ ldr ip, [r0, #0]
+ cmp ip, #0
+ beq .L22439
+ tst ip, #15
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #0]
+ strneh r4, [r1, #0] @ movhi
+ tst ip, #240
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r1, #2] @ movhi
+ tst ip, #3840
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #4]
+ strneh r6, [r1, #4] @ movhi
+ tst ip, #61440
+ ldrne r2, [sp, #40]
+ ldrneh r2, [r2, #6]
+ strneh r2, [r1, #6] @ movhi
+ tst ip, #983040
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #8]
+ strneh r4, [r1, #8] @ movhi
+ tst ip, #15728640
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #10]
+ strneh r5, [r1, #10] @ movhi
+ tst ip, #251658240
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #12]
+ strneh r6, [r1, #12] @ movhi
+ movs ip, ip, lsr #28
+ ldrne ip, [sp, #40]
+ ldrneh ip, [ip, #14]
+ strneh ip, [r1, #14] @ movhi
+.L22439:
+ add r3, r3, #1
+ cmp lr, r3
+ bne .L23069
+ b .L22229
+.L22807:
+ ldr r4, [sp, #8]
+ add r3, r9, fp
+ cmp r4, r3
+ bls .L23070
+ cmp lr, #0
+ beq .L22229
+ ldr r5, [sp, #4]
+ ldr r3, .L23084+44
+ add r1, r5, r9, asl #1
+ add r0, r0, r3
+ mov r2, #0
+ b .L23007
+.L23071:
+ ldr r6, [sp, #40]
+ sub r8, r8, #64
+ add r6, r6, #16
+ add r1, r1, #16
+ str r6, [sp, #40]
+.L23007:
+ ldr ip, [r0, #68]
+ cmp ip, #0
+ beq .L23008
+ tst ip, #255
+ ldrne r6, [sp, #40]
+ mov r3, ip, lsr #8
+ ldrneh r6, [r6, #6]
+ strneh r6, [r1, #6] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #4]
+ strneh r3, [r1, #4] @ movhi
+ mov r3, ip, lsr #16
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ movs ip, ip, lsr #24
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #0]
+ strneh r5, [r1, #0] @ movhi
+.L23008:
+ ldr ip, [r8, #0]
+ cmp ip, #0
+ beq .L23017
+ tst ip, #255
+ ldrne r6, [sp, #40]
+ mov r3, ip, lsr #8
+ ldrneh r6, [r6, #14]
+ strneh r6, [r1, #14] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #12]
+ strneh r3, [r1, #12] @ movhi
+ mov r3, ip, lsr #16
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #10]
+ strneh r4, [r1, #10] @ movhi
+ movs ip, ip, lsr #24
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #8]
+ strneh r5, [r1, #8] @ movhi
+.L23017:
+ add r2, r2, #1
+ cmp lr, r2
+ sub r0, r0, #64
+ bne .L23071
+ b .L22229
+.L23070:
+ rsb fp, r9, r4
+ cmp fp, #0
+ ble .L22229
+ ldr r5, [sp, #4]
+ movs sl, fp, lsr #3
+ add r1, r5, r9, asl #1
+ beq .L22966
+ ldr r3, .L23084+44
+ ldr r6, [sp, #40]
+ add r0, r0, r3
+ mov lr, r1
+ mov r7, r8
+ mov r2, #0
+.L22968:
+ ldr ip, [r0, #68]
+ cmp ip, #0
+ beq .L22969
+ tst ip, #255
+ ldrneh r3, [r6, #6]
+ strneh r3, [lr, #6] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r4, [r6, #4]
+ mov r3, ip, lsr #16
+ strneh r4, [lr, #4] @ movhi
+ tst r3, #255
+ ldrneh r5, [r6, #2]
+ strneh r5, [lr, #2] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh ip, [r6, #0]
+ strneh ip, [lr, #0] @ movhi
+.L22969:
+ ldr ip, [r7, #0]
+ cmp ip, #0
+ beq .L22978
+ tst ip, #255
+ ldrneh r3, [r6, #14]
+ strneh r3, [lr, #14] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r4, [r6, #12]
+ mov r3, ip, lsr #16
+ strneh r4, [lr, #12] @ movhi
+ tst r3, #255
+ ldrneh r5, [r6, #10]
+ strneh r5, [lr, #10] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh ip, [r6, #8]
+ strneh ip, [lr, #8] @ movhi
+.L22978:
+ add r2, r2, #1
+ cmp sl, r2
+ sub r7, r7, #64
+ add lr, lr, #16
+ add r6, r6, #16
+ sub r0, r0, #64
+ bne .L22968
+ ldr lr, [sp, #40]
+ mov r3, sl, asl #4
+ rsb r2, sl, sl, asl #26
+ add lr, lr, r3
+ add r1, r1, r3
+ add r8, r8, r2, asl #6
+ str lr, [sp, #40]
+.L22966:
+ ands ip, fp, #7
+ beq .L22229
+ cmp ip, #3
+ ldrls r2, [r8, #4]
+ bls .L23001
+ ldr r2, [r8, #4]
+ cmp r2, #0
+ beq .L22991
+ tst r2, #255
+ ldrne r0, [sp, #40]
+ mov r3, r2, lsr #8
+ ldrneh r0, [r0, #6]
+ strneh r0, [r1, #6] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #4]
+ strneh r3, [r1, #4] @ movhi
+ mov r3, r2, lsr #16
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #0]
+ strneh r5, [r1, #0] @ movhi
+.L22991:
+ subs ip, ip, #4
+ ldr r2, [r8, #0]
+ beq .L22229
+ ldr r6, [sp, #40]
+ add r1, r1, #8
+ add r6, r6, #8
+ str r6, [sp, #40]
+.L23001:
+ mov r3, #0
+.L23002:
+ movs lr, r2, lsr #24
+ ldrne r4, [sp, #40]
+ mov r0, r3, asl #1
+ ldrneh r4, [r0, r4]
+ add r3, r3, #1
+ strneh r4, [r0, r1] @ movhi
+ cmp ip, r3
+ mov r2, r2, asl #8
+ bhi .L23002
+ b .L22229
+.L23066:
+ rsb r8, r9, r1
+ cmp r8, #0
+ ble .L22229
+ ldr r2, [sp, #4]
+ movs r3, r8, lsr #3
+ add r1, r2, r9, asl #1
+ beq .L22541
+ ldr lr, [sp, #40]
+ mov ip, r1
+ mov r6, r0
+ mov r7, #0
+.L22543:
+ ldr r2, [r6, #0]
+ cmp r2, #0
+ beq .L22544
+ tst r2, #15
+ ldrneh r4, [lr, #14]
+ strneh r4, [ip, #14] @ movhi
+ tst r2, #240
+ ldrneh r5, [lr, #12]
+ strneh r5, [ip, #12] @ movhi
+ tst r2, #3840
+ ldrneh r4, [lr, #10]
+ strneh r4, [ip, #10] @ movhi
+ tst r2, #61440
+ ldrneh r5, [lr, #8]
+ strneh r5, [ip, #8] @ movhi
+ tst r2, #983040
+ ldrneh r4, [lr, #6]
+ strneh r4, [ip, #6] @ movhi
+ tst r2, #15728640
+ ldrneh r5, [lr, #4]
+ strneh r5, [ip, #4] @ movhi
+ tst r2, #251658240
+ ldrneh r4, [lr, #2]
+ strneh r4, [ip, #2] @ movhi
+ movs r2, r2, lsr #28
+ ldrneh r5, [lr, #0]
+ strneh r5, [ip, #0] @ movhi
+.L22544:
+ add r7, r7, #1
+ cmp r7, r3
+ sub r6, r6, #32
+ add ip, ip, #16
+ add lr, lr, #16
+ bne .L22543
+ ldr r6, [sp, #40]
+ rsb r2, r3, r3, asl #27
+ mov r3, r3, asl #4
+ add r6, r6, r3
+ add r1, r1, r3
+ add r0, r0, r2, asl #5
+ str r6, [sp, #40]
+.L22541:
+ ands ip, r8, #7
+ beq .L22229
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L22563:
+ movs lr, r0, lsr #28
+ ldrne r4, [sp, #40]
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, r4]
+ add r2, r2, #1
+ strneh r4, [r3, r1] @ movhi
+ cmp r2, ip
+ mov r0, r0, asl #4
+ bne .L22563
+ b .L22229
+.L23068:
+ rsb r8, r9, r1
+ cmp r8, #0
+ ble .L22229
+ ldr r2, [sp, #4]
+ movs r7, r8, lsr #3
+ add r1, r2, r9, asl #1
+ beq .L22411
+ ldr lr, [sp, #40]
+ mov ip, r1
+ mov r6, r0
+ mov r2, #0
+.L22413:
+ ldr r3, [r6, #0]
+ cmp r3, #0
+ beq .L22414
+ tst r3, #15
+ ldrneh r4, [lr, #0]
+ strneh r4, [ip, #0] @ movhi
+ tst r3, #240
+ ldrneh r5, [lr, #2]
+ strneh r5, [ip, #2] @ movhi
+ tst r3, #3840
+ ldrneh r4, [lr, #4]
+ strneh r4, [ip, #4] @ movhi
+ tst r3, #61440
+ ldrneh r5, [lr, #6]
+ strneh r5, [ip, #6] @ movhi
+ tst r3, #983040
+ ldrneh r4, [lr, #8]
+ strneh r4, [ip, #8] @ movhi
+ tst r3, #15728640
+ ldrneh r5, [lr, #10]
+ strneh r5, [ip, #10] @ movhi
+ tst r3, #251658240
+ ldrneh r4, [lr, #12]
+ strneh r4, [ip, #12] @ movhi
+ movs r3, r3, lsr #28
+ ldrneh r5, [lr, #14]
+ strneh r5, [ip, #14] @ movhi
+.L22414:
+ add r2, r2, #1
+ cmp r2, r7
+ add r6, r6, #32
+ add ip, ip, #16
+ add lr, lr, #16
+ bne .L22413
+ ldr r6, [sp, #40]
+ mov r3, r7, asl #4
+ add r6, r6, r3
+ add r1, r1, r3
+ add r0, r0, r7, asl #5
+ str r6, [sp, #40]
+.L22411:
+ ands ip, r8, #7
+ beq .L22229
+ ldr r0, [r0, #0]
+ mov r2, #0
+.L22433:
+ tst r0, #15
+ ldrne lr, [sp, #40]
+ mov r3, r2, asl #1
+ ldrneh lr, [r3, lr]
+ add r2, r2, #1
+ strneh lr, [r3, r1] @ movhi
+ cmp r2, ip
+ mov r0, r0, lsr #4
+ bne .L22433
+ b .L22229
+.L23064:
+ rsb fp, r9, r4
+ cmp fp, #0
+ ble .L22229
+ ldr r5, [sp, #4]
+ movs sl, fp, lsr #3
+ add r1, r5, r9, asl #1
+ beq .L22746
+ ldr r3, .L23084+48
+ ldr r6, [sp, #40]
+ add r0, r0, r3
+ mov lr, r1
+ mov r7, r2
+ mov r8, #0
+.L22748:
+ ldr ip, [r7, #0]
+ cmp ip, #0
+ beq .L22749
+ tst ip, #255
+ ldrneh r3, [r6, #0]
+ strneh r3, [lr, #0] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r4, [r6, #2]
+ mov r3, ip, lsr #16
+ strneh r4, [lr, #2] @ movhi
+ tst r3, #255
+ ldrneh r5, [r6, #4]
+ strneh r5, [lr, #4] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh ip, [r6, #6]
+ strneh ip, [lr, #6] @ movhi
+.L22749:
+ ldr ip, [r0, #-60]
+ cmp ip, #0
+ beq .L22758
+ tst ip, #255
+ ldrneh r3, [r6, #8]
+ strneh r3, [lr, #8] @ movhi
+ mov r3, ip, lsr #8
+ tst r3, #255
+ ldrneh r4, [r6, #10]
+ mov r3, ip, lsr #16
+ strneh r4, [lr, #10] @ movhi
+ tst r3, #255
+ ldrneh r5, [r6, #12]
+ strneh r5, [lr, #12] @ movhi
+ movs ip, ip, lsr #24
+ ldrneh ip, [r6, #14]
+ strneh ip, [lr, #14] @ movhi
+.L22758:
+ add r8, r8, #1
+ cmp r8, sl
+ add r7, r7, #64
+ add lr, lr, #16
+ add r6, r6, #16
+ add r0, r0, #64
+ bne .L22748
+ ldr lr, [sp, #40]
+ mov r3, sl, asl #4
+ add lr, lr, r3
+ add r1, r1, r3
+ add r2, r2, sl, asl #6
+ str lr, [sp, #40]
+.L22746:
+ ands ip, fp, #7
+ beq .L22229
+ cmp ip, #3
+ ldrls r3, [r2, #0]
+ bls .L22781
+ ldr r0, [r2, #0]
+ cmp r0, #0
+ beq .L22771
+ tst r0, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r0, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r3, r0, lsr #16
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #4]
+ strneh r5, [r1, #4] @ movhi
+ movs r0, r0, lsr #24
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #6]
+ strneh r6, [r1, #6] @ movhi
+.L22771:
+ subs ip, ip, #4
+ ldr r3, [r2, #4]
+ beq .L22229
+ ldr lr, [sp, #40]
+ add r1, r1, #8
+ add lr, lr, #8
+ str lr, [sp, #40]
+.L22781:
+ mov r2, #0
+.L22782:
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r0, r2, asl #1
+ ldrneh r4, [r0, r4]
+ add r2, r2, #1
+ strneh r4, [r0, r1] @ movhi
+ cmp ip, r2
+ mov r3, r3, lsr #8
+ bhi .L22782
+ b .L22229
+.L22330:
+ mov r3, ip, lsr #3
+ mov r1, r3, asl #5
+ ands r3, ip, #7
+ ldreq r3, [sp, #100]
+ add ip, r0, r1
+ bne .L23072
+.L22379:
+ movs r0, lr, lsr #3
+ beq .L22229
+ mov r1, #0
+ b .L22389
+.L23073:
+ ldr lr, [sp, #40]
+ add ip, ip, #32
+ add lr, lr, #16
+ add r3, r3, #16
+ str lr, [sp, #40]
+.L22389:
+ ldr r2, [ip, #0]
+ cmp r2, #0
+ beq .L22390
+ tst r2, #15
+ ldrne lr, [sp, #40]
+ ldrneh lr, [lr, #0]
+ strneh lr, [r3, #0] @ movhi
+ tst r2, #240
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #2]
+ strneh r4, [r3, #2] @ movhi
+ tst r2, #3840
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #4]
+ strneh r5, [r3, #4] @ movhi
+ tst r2, #61440
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #6]
+ strneh r6, [r3, #6] @ movhi
+ tst r2, #983040
+ ldrne lr, [sp, #40]
+ ldrneh lr, [lr, #8]
+ strneh lr, [r3, #8] @ movhi
+ tst r2, #15728640
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #10]
+ strneh r4, [r3, #10] @ movhi
+ tst r2, #251658240
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #12]
+ strneh r5, [r3, #12] @ movhi
+ movs r2, r2, lsr #28
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #14]
+ strneh r6, [r3, #14] @ movhi
+.L22390:
+ add r1, r1, #1
+ cmp r1, r0
+ bne .L23073
+ b .L22229
+.L22590:
+ ands r1, r0, #7
+ mov r3, r0, lsr #3
+ add r0, r2, r3, asl #6
+ ldreq r1, [sp, #100]
+ bne .L23074
+.L22694:
+ movs lr, lr, lsr #3
+ beq .L22229
+ mov ip, #0
+ b .L22723
+.L23075:
+ ldr r2, [sp, #40]
+ add r0, r0, #64
+ add r2, r2, #16
+ add r1, r1, #16
+ str r2, [sp, #40]
+.L22723:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L22724
+ tst r2, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #4]
+ strneh r5, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #6]
+ strneh r6, [r1, #6] @ movhi
+.L22724:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L22733
+ tst r2, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #8]
+ strneh r3, [r1, #8] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #10]
+ strneh r4, [r1, #10] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #12]
+ strneh r5, [r1, #12] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #14]
+ strneh r6, [r1, #14] @ movhi
+.L22733:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L23075
+ b .L22229
+.L22810:
+ ands r2, r0, #7
+ mov r3, r0, lsr #3
+ sub r0, r8, r3, asl #6
+ ldreq r1, [sp, #100]
+ bne .L23076
+.L22914:
+ movs lr, lr, lsr #3
+ beq .L22229
+ mov ip, #0
+ b .L22943
+.L23077:
+ ldr r2, [sp, #40]
+ sub r0, r0, #64
+ add r2, r2, #16
+ add r1, r1, #16
+ str r2, [sp, #40]
+.L22943:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L22944
+ tst r2, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #4]
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #0]
+ strneh r6, [r1, #0] @ movhi
+.L22944:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L22953
+ tst r2, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #14]
+ strneh r3, [r1, #14] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #12]
+ strneh r4, [r1, #12] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #10]
+ strneh r5, [r1, #10] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #8]
+ strneh r6, [r1, #8] @ movhi
+.L22953:
+ add ip, ip, #1
+ cmp ip, lr
+ bne .L23077
+ b .L22229
+.L22460:
+ mov r3, ip, lsr #3
+ ands r2, ip, #7
+ sub r0, r0, r3, asl #5
+ ldreq r3, [sp, #100]
+ bne .L23078
+.L22509:
+ movs r1, r1, lsr #3
+ beq .L22229
+ mov r2, #0
+ b .L22519
+.L23079:
+ ldr ip, [sp, #40]
+ sub r0, r0, #32
+ add ip, ip, #16
+ add r3, r3, #16
+ str ip, [sp, #40]
+.L22519:
+ ldr ip, [r0, #0]
+ cmp ip, #0
+ beq .L22520
+ tst ip, #15
+ ldrne lr, [sp, #40]
+ ldrneh lr, [lr, #14]
+ strneh lr, [r3, #14] @ movhi
+ tst ip, #240
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #12]
+ strneh r4, [r3, #12] @ movhi
+ tst ip, #3840
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #10]
+ strneh r5, [r3, #10] @ movhi
+ tst ip, #61440
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #8]
+ strneh r6, [r3, #8] @ movhi
+ tst ip, #983040
+ ldrne lr, [sp, #40]
+ ldrneh lr, [lr, #6]
+ strneh lr, [r3, #6] @ movhi
+ tst ip, #15728640
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #4]
+ strneh r4, [r3, #4] @ movhi
+ tst ip, #251658240
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r3, #2] @ movhi
+ movs ip, ip, lsr #28
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #0]
+ strneh r6, [r3, #0] @ movhi
+.L22520:
+ add r2, r2, #1
+ cmp r2, r1
+ bne .L23079
+ b .L22229
+.L23078:
+ rsbs r6, r2, #8
+ ldr ip, [r0, #0]
+ ldreq r3, [sp, #100]
+ beq .L22512
+ mov r3, r2, asl #2
+ mov r3, ip, asl r3
+ mov lr, #0
+.L22513:
+ movs r5, r3, lsr #28
+ ldrne r2, [sp, #40]
+ mov ip, lr, asl #1
+ ldrneh r4, [ip, r2]
+ ldrne r2, [sp, #100]
+ add lr, lr, #1
+ strneh r4, [ip, r2] @ movhi
+ cmp lr, r6
+ mov r3, r3, asl #4
+ bne .L22513
+ ldr r5, [sp, #40]
+ mov r3, r6, asl #1
+ ldr r6, [sp, #100]
+ add r5, r5, r3
+ str r5, [sp, #40]
+ add r3, r6, r3
+.L22512:
+ sub r0, r0, #32
+ b .L22509
+.L23076:
+ cmp r2, #3
+ rsb ip, r2, #8
+ bls .L22915
+ cmp ip, #0
+ ldr r1, [r0, #0]
+ ldreq r1, [sp, #100]
+ beq .L22919
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r3, r1, asl r3
+ mov r1, #0
+.L22920:
+ movs r5, r3, lsr #24
+ ldrne r6, [sp, #40]
+ mov r2, r1, asl #1
+ ldrneh r4, [r2, r6]
+ ldrne r6, [sp, #100]
+ add r1, r1, #1
+ strneh r4, [r2, r6] @ movhi
+ cmp r1, ip
+ mov r3, r3, asl #8
+ bne .L22920
+ ldr r5, [sp, #40]
+ mov r3, ip, asl #1
+ ldr r6, [sp, #100]
+ add r5, r5, r3
+ str r5, [sp, #40]
+ add r1, r6, r3
+.L22919:
+ sub r0, r0, #64
+ b .L22914
+.L23074:
+ cmp r1, #3
+ rsb ip, r1, #8
+ bls .L22695
+ cmp ip, #0
+ ldr r2, [r0, #4]
+ ldreq r1, [sp, #100]
+ beq .L22699
+ mov r3, r1, asl #3
+ sub r3, r3, #32
+ mov r3, r2, lsr r3
+ mov r1, #0
+.L22700:
+ tst r3, #255
+ ldrne r5, [sp, #40]
+ mov r2, r1, asl #1
+ ldrneh r6, [r2, r5]
+ ldrne r5, [sp, #100]
+ add r1, r1, #1
+ strneh r6, [r2, r5] @ movhi
+ cmp ip, r1
+ mov r3, r3, lsr #8
+ bne .L22700
+ mov r3, ip, asl #1
+ ldr ip, [sp, #40]
+ ldr r2, [sp, #100]
+ add ip, ip, r3
+ str ip, [sp, #40]
+ add r1, r2, r3
+.L22699:
+ add r0, r0, #64
+ b .L22694
+.L23072:
+ rsbs r6, r3, #8
+ ldr r0, [r0, r1]
+ ldreq r3, [sp, #100]
+ beq .L22382
+ mov r3, r3, asl #2
+ mov r0, r0, lsr r3
+ mov r2, #0
+.L22383:
+ tst r0, #15
+ ldrne r1, [sp, #40]
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, r1]
+ ldrne r1, [sp, #100]
+ add r2, r2, #1
+ strneh r4, [r3, r1] @ movhi
+ cmp r6, r2
+ mov r0, r0, lsr #4
+ bne .L22383
+ ldr r5, [sp, #40]
+ mov r3, r6, asl #1
+ ldr r6, [sp, #100]
+ add r5, r5, r3
+ str r5, [sp, #40]
+ add r3, r6, r3
+.L22382:
+ add ip, ip, #32
+ b .L22379
+.L22812:
+ ldr lr, [sp, #120]
+ rsb r0, ip, #8
+ cmp lr, r0
+ bge .L22815
+ cmp lr, #0
+ ble .L22229
+ cmp ip, #3
+ bls .L22818
+ ldr r2, [sl, #0]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r2, r2, asl r3
+ mov r1, #0
+.L22821:
+ movs r0, r2, lsr #24
+ ldrne r4, [sp, #40]
+ mov r3, r1, asl #1
+ ldrneh r5, [r3, r4]
+ ldr r6, [sp, #120]
+ ldrne r4, [sp, #100]
+ add r1, r1, #1
+ strneh r5, [r3, r4] @ movhi
+ cmp r6, r1
+ mov r2, r2, asl #8
+ bne .L22821
+ b .L22229
+.L22592:
+ ldr r5, [sp, #120]
+ rsb r0, ip, #8
+ cmp r5, r0
+ bge .L22595
+ cmp r5, #0
+ ble .L22229
+ cmp ip, #3
+ bls .L22598
+ ldr r2, [sl, #4]
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L22601:
+ tst r1, #255
+ ldrne r6, [sp, #40]
+ mov r3, r2, asl #1
+ ldrneh ip, [r3, r6]
+ ldr lr, [sp, #120]
+ ldrne r6, [sp, #100]
+ add r2, r2, #1
+ strneh ip, [r3, r6] @ movhi
+ cmp lr, r2
+ mov r1, r1, lsr #8
+ bne .L22601
+ b .L22229
+.L22332:
+ ldr r5, [sp, #120]
+ rsb ip, r3, #8
+ cmp r5, ip
+ bge .L22335
+ cmp r5, #0
+ ble .L22229
+ ldr r2, [r0, r1]
+ mov r3, r3, asl #2
+ mov r0, r2, lsr r3
+ mov r2, #0
+.L22339:
+ tst r0, #15
+ ldrne r6, [sp, #40]
+ mov r3, r2, asl #1
+ ldrneh ip, [r3, r6]
+ ldr lr, [sp, #120]
+ ldrne r6, [sp, #100]
+ add r2, r2, #1
+ strneh ip, [r3, r6] @ movhi
+ cmp lr, r2
+ mov r0, r0, lsr #4
+ bne .L22339
+ b .L22229
+.L22462:
+ ldr ip, [sp, #120]
+ rsb lr, r6, #8
+ cmp ip, lr
+ bge .L22465
+ cmp ip, #0
+ ble .L22229
+ ldr r2, [r0, #0]
+ mov r3, r6, asl #2
+ mov r0, r2, asl r3
+ mov r2, #0
+.L22469:
+ movs lr, r0, lsr #28
+ ldrne r1, [sp, #40]
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, r1]
+ ldr r5, [sp, #120]
+ ldrne r1, [sp, #100]
+ add r2, r2, #1
+ strneh r4, [r3, r1] @ movhi
+ cmp r5, r2
+ mov r0, r0, asl #4
+ bne .L22469
+ b .L22229
+.L22915:
+ subs r6, ip, #4
+ ldr r1, [r0, #4]
+ ldreq r1, [sp, #100]
+ beq .L22927
+ mov r3, r2, asl #3
+ sub r3, r3, #32
+ mov r3, r1, asl r3
+ mov r1, #0
+.L22928:
+ movs r2, r3, lsr #24
+ ldrne r4, [sp, #40]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #100]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r1, r6
+ mov r3, r3, asl #8
+ bne .L22928
+ ldr r6, [sp, #40]
+ mov r3, ip, asl #1
+ ldr ip, [sp, #100]
+ add r2, r6, r3
+ sub r2, r2, #8
+ add r3, ip, r3
+ str r2, [sp, #40]
+ sub r1, r3, #8
+.L22927:
+ ldr r2, [r0, #0]
+ cmp r2, #0
+ beq .L22933
+ tst r2, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #6]
+ strneh r3, [r1, #6] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #4]
+ strneh r4, [r1, #4] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #2]
+ strneh r5, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #0]
+ strneh r6, [r1, #0] @ movhi
+.L22933:
+ ldr ip, [sp, #40]
+ add r1, r1, #8
+ add ip, ip, #8
+ sub r0, r0, #64
+ str ip, [sp, #40]
+ b .L22914
+.L22695:
+ subs r6, ip, #4
+ ldr r2, [r0, #0]
+ ldreq r1, [sp, #100]
+ beq .L22707
+ mov r3, r1, asl #3
+ mov r3, r2, lsr r3
+ mov r1, #0
+.L22708:
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #100]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r1, r6
+ mov r3, r3, lsr #8
+ bne .L22708
+ ldr r6, [sp, #40]
+ mov r3, ip, asl #1
+ ldr ip, [sp, #100]
+ add r2, r6, r3
+ sub r2, r2, #8
+ add r3, ip, r3
+ str r2, [sp, #40]
+ sub r1, r3, #8
+.L22707:
+ ldr r2, [r0, #4]
+ cmp r2, #0
+ beq .L22713
+ tst r2, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #0]
+ strneh r3, [r1, #0] @ movhi
+ mov r3, r2, lsr #8
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r3, r2, lsr #16
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #4]
+ strneh r5, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r6, [sp, #40]
+ ldrneh r6, [r6, #6]
+ strneh r6, [r1, #6] @ movhi
+.L22713:
+ ldr ip, [sp, #40]
+ add r1, r1, #8
+ add ip, ip, #8
+ add r0, r0, #64
+ str ip, [sp, #40]
+ b .L22694
+.L22595:
+ cmp ip, #3
+ bls .L22625
+ cmp r0, #0
+ ldr r2, [sl, #4]
+ ldreq r7, [sp, #100]
+ beq .L22629
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L22630:
+ tst r1, #255
+ ldrne lr, [sp, #40]
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, lr]
+ ldrne lr, [sp, #100]
+ add r2, r2, #1
+ strneh r4, [r3, lr] @ movhi
+ cmp r0, r2
+ mov r1, r1, lsr #8
+ bne .L22630
+ ldr r5, [sp, #40]
+ mov r3, r0, asl #1
+ ldr r6, [sp, #100]
+ add r5, r5, r3
+ str r5, [sp, #40]
+ add r7, r3, r6
+.L22629:
+ ldr r6, [sp, #120]
+ add sl, sl, #64
+ rsb r8, r0, r6
+ b .L22594
+.L22335:
+ cmp ip, #0
+ ldr r2, [r6, #0]
+ ldreq r7, [sp, #100]
+ beq .L22345
+ mov r3, r3, asl #2
+ mov r3, r2, lsr r3
+ mov r1, #0
+.L22346:
+ tst r3, #15
+ ldrne r0, [sp, #40]
+ mov r2, r1, asl #1
+ ldrneh r4, [r2, r0]
+ ldrne r0, [sp, #100]
+ add r1, r1, #1
+ strneh r4, [r2, r0] @ movhi
+ cmp ip, r1
+ mov r3, r3, lsr #4
+ bne .L22346
+ ldr r5, [sp, #40]
+ mov r3, ip, asl #1
+ ldr lr, [sp, #100]
+ add r5, r5, r3
+ str r5, [sp, #40]
+ add r7, r3, lr
+.L22345:
+ ldr r0, [sp, #120]
+ add r6, r6, #32
+ rsb r5, ip, r0
+ b .L22334
+.L22465:
+ cmp lr, #0
+ ldr r2, [r0, #0]
+ ldreq r1, [sp, #100]
+ beq .L22475
+ mov r3, r6, asl #2
+ mov r3, r2, asl r3
+ mov ip, #0
+.L22476:
+ movs r6, r3, lsr #28
+ ldrne r1, [sp, #40]
+ mov r2, ip, asl #1
+ ldrneh r4, [r2, r1]
+ ldrne r1, [sp, #100]
+ add ip, ip, #1
+ strneh r4, [r2, r1] @ movhi
+ cmp lr, ip
+ mov r3, r3, asl #4
+ bne .L22476
+ ldr r5, [sp, #40]
+ mov r3, lr, asl #1
+ ldr r6, [sp, #100]
+ add r5, r5, r3
+ str r5, [sp, #40]
+ add r1, r3, r6
+.L22475:
+ ldr ip, [sp, #120]
+ sub r0, r0, #32
+ rsb r8, lr, ip
+ b .L22464
+.L22815:
+ cmp ip, #3
+ bls .L22845
+ cmp r0, #0
+ ldr r2, [sl, #0]
+ ldreq r7, [sp, #100]
+ beq .L22849
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r3, r2, asl r3
+ mov r1, #0
+.L22850:
+ movs r2, r3, lsr #24
+ ldrne r4, [sp, #40]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #100]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r0, r1
+ mov r3, r3, asl #8
+ bne .L22850
+ ldr r6, [sp, #40]
+ mov r3, r0, asl #1
+ ldr ip, [sp, #100]
+ add r6, r6, r3
+ str r6, [sp, #40]
+ add r7, ip, r3
+.L22849:
+ ldr ip, [sp, #120]
+ sub sl, sl, #64
+ rsb r8, r0, ip
+ b .L22814
+.L23082:
+ mov r8, #0
+ b .L22312
+.L23083:
+ mov r8, #0
+ b .L22277
+.L23081:
+ ldr r1, [sp, #32]
+ b .L23046
+.L23080:
+ ldr lr, [sp, #28]
+ b .L23044
+.L22845:
+ subs lr, r0, #4
+ ldr r2, [sl, #4]
+ ldreq r1, [sp, #100]
+ beq .L22857
+ mov r3, ip, asl #3
+ sub r3, r3, #32
+ mov r3, r2, asl r3
+ mov r1, #0
+.L22858:
+ movs r2, r3, lsr #24
+ ldrne r4, [sp, #40]
+ mov r2, r1, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #100]
+ add r1, r1, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r1, lr
+ mov r3, r3, asl #8
+ bne .L22858
+ ldr r6, [sp, #40]
+ mov r3, r0, asl #1
+ ldr ip, [sp, #100]
+ add r2, r6, r3
+ sub r2, r2, #8
+ add r3, ip, r3
+ str r2, [sp, #40]
+ sub r1, r3, #8
+.L22857:
+ ldr r2, [sl, #0]
+ cmp r2, #0
+ beq .L22863
+ tst r2, #255
+ ldrne lr, [sp, #40]
+ mov r3, r2, lsr #8
+ ldrneh lr, [lr, #6]
+ strneh lr, [r1, #6] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #4]
+ strneh r3, [r1, #4] @ movhi
+ mov r3, r2, lsr #16
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #2]
+ strneh r4, [r1, #2] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r5, [sp, #40]
+ ldrneh r5, [r5, #0]
+ strneh r5, [r1, #0] @ movhi
+.L22863:
+ ldr r6, [sp, #40]
+ add r7, r1, #8
+ add r6, r6, #8
+ str r6, [sp, #40]
+ b .L22849
+.L22625:
+ subs lr, r0, #4
+ ldr r2, [sl, #0]
+ ldreq r1, [sp, #100]
+ beq .L22637
+ mov r3, ip, asl #3
+ mov r1, r2, lsr r3
+ mov r2, #0
+.L22638:
+ tst r1, #255
+ ldrne ip, [sp, #40]
+ mov r3, r2, asl #1
+ ldrneh r4, [r3, ip]
+ ldrne ip, [sp, #100]
+ add r2, r2, #1
+ strneh r4, [r3, ip] @ movhi
+ cmp r2, lr
+ mov r1, r1, lsr #8
+ bne .L22638
+ ldr r5, [sp, #40]
+ mov r3, r0, asl #1
+ ldr r6, [sp, #100]
+ add r2, r5, r3
+ sub r2, r2, #8
+ add r3, r6, r3
+ str r2, [sp, #40]
+ sub r1, r3, #8
+.L22637:
+ ldr r2, [sl, #4]
+ cmp r2, #0
+ beq .L22643
+ tst r2, #255
+ ldrne ip, [sp, #40]
+ mov r3, r2, lsr #8
+ ldrneh ip, [ip, #0]
+ strneh ip, [r1, #0] @ movhi
+ tst r3, #255
+ ldrne lr, [sp, #40]
+ mov r3, r2, lsr #16
+ ldrneh lr, [lr, #2]
+ strneh lr, [r1, #2] @ movhi
+ tst r3, #255
+ ldrne r3, [sp, #40]
+ ldrneh r3, [r3, #4]
+ strneh r3, [r1, #4] @ movhi
+ movs r2, r2, lsr #24
+ ldrne r4, [sp, #40]
+ ldrneh r4, [r4, #6]
+ strneh r4, [r1, #6] @ movhi
+.L22643:
+ ldr r5, [sp, #40]
+ add r7, r1, #8
+ add r5, r5, #8
+ str r5, [sp, #40]
+ b .L22629
+.L22818:
+ ldr lr, [sp, #120]
+ mov r3, ip, asl #3
+ ldr r1, [sl, #4]
+ add r2, lr, ip
+ sub r3, r3, #32
+ cmp r2, #4
+ mov r1, r1, asl r3
+ bhi .L22825
+ cmp lr, #0
+ movne r2, #0
+ beq .L22229
+.L22841:
+ movs r5, r1, lsr #24
+ ldrne r6, [sp, #40]
+ mov r3, r2, asl #1
+ ldrneh ip, [r3, r6]
+ ldr lr, [sp, #120]
+ ldrne r6, [sp, #100]
+ add r2, r2, #1
+ strneh ip, [r3, r6] @ movhi
+ cmp lr, r2
+ mov r1, r1, asl #8
+ bne .L22841
+ b .L22229
+.L22598:
+ ldr r0, [sp, #120]
+ ldr r3, [sl, #0]
+ add r2, r0, ip
+ mov r1, ip, asl #3
+ cmp r2, #4
+ mov r3, r3, lsr r1
+ bhi .L22605
+ cmp r0, #0
+ movne r1, #0
+ beq .L22229
+.L22621:
+ tst r3, #255
+ ldrne r5, [sp, #40]
+ mov r2, r1, asl #1
+ ldrneh r6, [r2, r5]
+ ldr ip, [sp, #120]
+ ldrne r5, [sp, #100]
+ add r1, r1, #1
+ strneh r6, [r2, r5] @ movhi
+ cmp ip, r1
+ mov r3, r3, lsr #8
+ bne .L22621
+ b .L22229
+.L22825:
+ rsbs r2, ip, #4
+ ldreq r3, [sp, #100]
+ beq .L22830
+ mov r0, #0
+.L22831:
+ movs r3, r1, lsr #24
+ ldrne r4, [sp, #40]
+ mov r3, r0, asl #1
+ ldrneh r5, [r3, r4]
+ ldrne r4, [sp, #100]
+ add r0, r0, #1
+ strneh r5, [r3, r4] @ movhi
+ cmp r0, r2
+ mov r1, r1, asl #8
+ bne .L22831
+ ldr r6, [sp, #40]
+ mov r3, r2, asl #1
+ ldr ip, [sp, #100]
+ add r6, r6, r3
+ str r6, [sp, #40]
+ add r3, r3, ip
+.L22830:
+ ldr lr, [sp, #120]
+ subs ip, lr, r2
+ ldr r2, [sl, #0]
+ beq .L22229
+ mov r0, #0
+.L22837:
+ movs r1, r2, lsr #24
+ ldrne r4, [sp, #40]
+ mov r1, r0, asl #1
+ ldrneh r4, [r1, r4]
+ add r0, r0, #1
+ strneh r4, [r1, r3] @ movhi
+ cmp r0, ip
+ mov r2, r2, asl #8
+ bne .L22837
+ b .L22229
+.L22605:
+ rsbs r1, ip, #4
+ ldreq ip, [sp, #100]
+ beq .L22610
+ mov r0, #0
+.L22611:
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r2, r0, asl #1
+ ldrneh r5, [r2, r4]
+ ldrne r4, [sp, #100]
+ add r0, r0, #1
+ strneh r5, [r2, r4] @ movhi
+ cmp r0, r1
+ mov r3, r3, lsr #8
+ bne .L22611
+ ldr r6, [sp, #40]
+ mov r3, r1, asl #1
+ ldr lr, [sp, #100]
+ add r6, r6, r3
+ str r6, [sp, #40]
+ add ip, r3, lr
+.L22610:
+ ldr r2, [sp, #120]
+ ldr r3, [sl, #4]
+ subs r0, r2, r1
+ beq .L22229
+ mov r1, #0
+.L22617:
+ tst r3, #255
+ ldrne r4, [sp, #40]
+ mov r2, r1, asl #1
+ ldrneh r4, [r2, r4]
+ add r1, r1, #1
+ strneh r4, [r2, ip] @ movhi
+ cmp r1, r0
+ mov r3, r3, lsr #8
+ bne .L22617
+ b .L22229
+ .size render_scanline_obj_copy_bitmap_1D, .-render_scanline_obj_copy_bitmap_1D
+ .align 2
+ .global render_scanline_window_bitmap
+ .type render_scanline_window_bitmap, %function
+render_scanline_window_bitmap:
+ @ args = 0, pretend = 0, frame = 20
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr lr, .L23662
+ mov r2, r1, lsr #13
+ ldrh ip, [lr, #74]
+ ldr r3, .L23662+4
+ and ip, ip, #63
+ sub sp, sp, #32
+ mov r6, r1
+ sub r2, r2, #1
+ and r1, r1, #7
+ str ip, [sp, #12]
+ add r9, r3, r1, asl #2
+ mov r7, r0
+ ldrh ip, [lr, #6]
+ ldrh sl, [lr, #80]
+ cmp r2, #6
+ ldrls pc, [pc, r2, asl #2]
+ b .L23576
+ .p2align 2
+.L23095:
+ .word .L23088
+ .word .L23089
+ .word .L23090
+ .word .L23091
+ .word .L23092
+ .word .L23093
+ .word .L23094
+.L23089:
+ ldrh r3, [lr, #70]
+ ldr r4, .L23662
+ and r1, r3, #255
+ mov r0, r3, lsr #8
+ cmp r0, r1
+ ldrh r2, [lr, #72]
+ bls .L23117
+ cmp ip, r0
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ bne .L23125
+.L23580:
+ cmp r1, #227
+ bhi .L23125
+.L23121:
+ mov r4, #240
+ mov r5, r4
+.L23133:
+ mov r0, #0
+ mov r1, r5
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23134:
+ cmp r5, r4
+ beq .L23114
+ mov r0, r5
+ mov r3, r8
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23114:
+ cmp r4, #240
+ beq .L23576
+ ldr r3, [sp, #12]
+ mov r0, r4
+ mov r2, r7
+.L23623:
+ mov r1, #240
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23576:
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L23088:
+ ldrh r3, [lr, #68]
+ ldr r4, .L23662
+ and r2, r3, #255
+ mov r1, r3, lsr #8
+ cmp r1, r2
+ ldrh r0, [lr, #72]
+ bls .L23096
+ cmp ip, r1
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r2
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L23578
+.L23104:
+ cmp r1, #227
+ bhi .L23121
+ ldrh r3, [r4, #64]
+ and r8, r0, #63
+ and r4, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc r5, r3
+ movcs r5, #240
+ cmp r4, #240
+ bhi .L23645
+.L23124:
+ cmp r5, r4
+ bls .L23128
+ cmp r4, #0
+ bne .L23646
+.L23130:
+ mov r0, r4
+ ldr r3, [sp, #12]
+ mov r2, r7
+ mov r1, r5
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ cmp r5, #240
+ movne r0, r5
+ movne r2, r7
+ movne r3, r8
+ bne .L23623
+ b .L23576
+.L23094:
+ ldrh r3, [lr, #68]
+ ldr r2, .L23662
+ and r1, r3, #255
+ mov r0, r3, lsr #8
+ cmp r0, r1
+ ldrh r4, [lr, #72]
+ bls .L23360
+ cmp ip, r0
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L23639
+.L23368:
+ cmp r0, #227
+ bls .L23647
+.L23364:
+ mov r8, #240
+ mov fp, r8
+.L23367:
+ ldrh r3, [lr, #70]
+ ldr r0, .L23662
+ and r1, r3, #255
+ mov r2, r3, lsr #8
+ cmp r2, r1
+ bls .L23371
+ cmp ip, r2
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L23640
+.L23379:
+ cmp r2, #227
+ bls .L23648
+.L23375:
+ mov r5, #240
+ mov r4, r5
+.L23378:
+ cmp fp, r8
+ bls .L23382
+ cmp r8, #0
+ bne .L23649
+.L23384:
+ cmp r4, #240
+ beq .L23386
+ cmp r4, r5
+ bhi .L23650
+ cmp r4, #0
+ beq .L23426
+ cmp r8, #0
+ beq .L23428
+ cmp r8, r4
+ bcs .L23426
+.L23428:
+ cmp fp, r4
+ bcs .L23437
+ mov r0, r8
+ mov r1, fp
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23439
+ mov r0, #4
+ mov r1, r8
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+.L23426:
+ cmp r4, r5
+ beq .L23443
+ cmp r8, r4
+ bls .L23445
+ cmp r8, r5
+ bcs .L23443
+ cmp fp, r5
+ ldrcc r3, [sp, #28]
+ ldrcs r3, [sp, #28]
+ movcc r0, r8
+ movcc r1, fp
+ movcs r0, r8
+ movcs r1, r5
+.L23612:
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23443:
+ cmp r5, #240
+ beq .L23418
+ cmp r8, r5
+ bls .L23454
+ cmp r8, #239
+ bhi .L23418
+ cmp fp, #239
+ bhi .L23457
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23459
+ mov r1, r8
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23422
+.L23093:
+ ldrh r3, [lr, #70]
+ ldr r4, .L23662
+ and r1, r3, #255
+ mov r0, r3, lsr #8
+ cmp r0, r1
+ ldrh r2, [lr, #72]
+ bls .L23330
+ cmp ip, r0
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L23605
+.L23338:
+ cmp r0, #227
+ bls .L23651
+.L23334:
+ mov r4, #240
+ mov r5, r4
+.L23349:
+ mov r0, #0
+ mov r1, r5
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23350:
+ ands r8, r6, #64
+ beq .L23351
+ mov r0, #4
+ mov r1, #0
+ mov r2, r5
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+.L23353:
+ cmp r4, r5
+ beq .L23354
+.L23642:
+ mov r0, r5
+ mov r3, fp
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23354:
+ cmp r4, #240
+ beq .L23356
+ ldr r3, [sp, #12]
+ mov r0, r4
+ mov r1, #240
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23356:
+ cmp r8, #0
+ movne r1, r4
+ beq .L23652
+.L23626:
+ mov r3, r7
+ mov r0, #4
+ mov r2, #240
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_obj_copy_bitmap_1D
+.L23092:
+ ldrh r3, [lr, #68]
+ ldr r4, .L23662
+ and r1, r3, #255
+ mov r0, r3, lsr #8
+ cmp r0, r1
+ ldrh r2, [lr, #72]
+ bls .L23300
+ cmp ip, r0
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L23603
+.L23308:
+ cmp r0, #227
+ bls .L23653
+.L23304:
+ mov r4, #240
+ mov r5, r4
+.L23319:
+ mov r0, #0
+ mov r1, r5
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23320:
+ ands r8, r6, #64
+ beq .L23321
+ mov r0, #4
+ mov r1, #0
+ mov r2, r5
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+.L23323:
+ cmp r5, r4
+ bne .L23642
+ b .L23354
+.L23090:
+ ldrh r3, [lr, #68]
+ ldr r2, .L23662
+ and r1, r3, #255
+ mov r0, r3, lsr #8
+ cmp r0, r1
+ ldrh r4, [lr, #72]
+ bls .L23138
+ cmp ip, r0
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L23635
+.L23146:
+ cmp r0, #227
+ bls .L23654
+.L23142:
+ mov r5, #240
+ mov fp, r5
+.L23145:
+ ldrh r3, [lr, #70]
+ ldr r0, .L23662
+ and r1, r3, #255
+ mov r2, r3, lsr #8
+ cmp r2, r1
+ bls .L23149
+ cmp ip, r2
+ movls r3, #0
+ movhi r3, #1
+ cmp ip, r1
+ orrls r3, r3, #1
+ cmp r3, #0
+ beq .L23636
+.L23157:
+ cmp r2, #227
+ bls .L23655
+.L23153:
+ mov r8, #240
+ mov r4, r8
+.L23156:
+ cmp fp, r5
+ bls .L23160
+ cmp r5, #0
+ bne .L23656
+.L23162:
+ cmp r4, #240
+ beq .L23164
+ cmp r4, r8
+ bls .L23166
+ cmp r8, #0
+ beq .L23168
+ cmp r5, #0
+ beq .L23170
+ cmp r5, r8
+ bcs .L23168
+ cmp fp, r8
+ movcc r0, r5
+ movcc r1, fp
+ movcs r0, r5
+ movcs r1, r8
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23168:
+ cmp r5, r8
+ bls .L23177
+ cmp r5, r4
+ bcs .L23179
+ cmp fp, r4
+ ldrcc r3, [sp, #12]
+ ldrcs r3, [sp, #12]
+ movcc r0, r5
+ movcc r1, fp
+ movcs r0, r5
+ movcs r1, r4
+.L23585:
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23179:
+ cmp r5, r4
+ bls .L23186
+ cmp r5, #239
+ bhi .L23188
+ cmp fp, #239
+ movls r0, r5
+ bls .L23589
+ ldr r3, [sp, #20]
+ mov r0, r5
+ mov r1, #240
+.L23588:
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23188:
+ cmp fp, #240
+ beq .L23576
+.L23192:
+ ldr r3, [sp, #16]
+ mov r0, fp
+ mov r2, r7
+ b .L23623
+.L23091:
+ mov r1, #240
+ ldr r3, [sp, #12]
+ mov r0, #0
+ mov r2, r7
+ str sl, [sp, #4]
+ str r9, [sp, #8]
+ str r6, [sp, #0]
+ bl render_scanline_conditional_bitmap
+ ands r1, r6, #64
+ beq .L23624
+ mov r3, r7
+ mov r0, #4
+ mov r1, #0
+ mov r2, #240
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_obj_copy_bitmap_1D
+.L23117:
+ cmp ip, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ beq .L23580
+.L23125:
+ cmp r0, #227
+ bhi .L23121
+ ldrh r3, [r4, #66]
+ mov r2, r2, lsr #8
+ and r4, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc r5, r3
+ movcs r5, #240
+ cmp r4, #240
+ and r8, r2, #63
+ bls .L23124
+.L23645:
+ mov r4, #240
+ b .L23124
+.L23300:
+ cmp ip, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ bne .L23308
+.L23603:
+ cmp r1, #227
+ bls .L23304
+ b .L23308
+.L23149:
+ cmp ip, r2
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ bne .L23157
+.L23636:
+ cmp r1, #227
+ bls .L23153
+ b .L23157
+.L23138:
+ cmp ip, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ bne .L23146
+.L23635:
+ cmp r1, #227
+ bls .L23142
+ b .L23146
+.L23371:
+ cmp ip, r2
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ bne .L23379
+.L23640:
+ cmp r1, #227
+ bls .L23375
+ b .L23379
+.L23330:
+ cmp ip, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ bne .L23338
+.L23605:
+ cmp r1, #227
+ bls .L23334
+ b .L23338
+.L23096:
+ cmp ip, r1
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r2
+ movcs r3, #0
+ cmp r3, #0
+ bne .L23104
+.L23578:
+ cmp r2, #227
+ bls .L23121
+ b .L23104
+.L23360:
+ cmp ip, r0
+ movcc r3, #0
+ movcs r3, #1
+ cmp ip, r1
+ movcs r3, #0
+ cmp r3, #0
+ bne .L23368
+.L23639:
+ cmp r1, #227
+ bls .L23364
+ b .L23368
+.L23652:
+ mov r1, r4
+.L23624:
+ mov r3, r7
+ mov r0, #4
+ mov r2, #240
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_obj_copy_bitmap_2D
+.L23382:
+ cmp r4, #240
+ beq .L23472
+ cmp r4, r5
+ bls .L23474
+ cmp r5, #0
+ beq .L23476
+ cmp fp, r5
+ bcs .L23478
+ cmp fp, #0
+ movne r0, #0
+ movne r1, fp
+ bne .L23615
+.L23476:
+ cmp fp, r4
+ bcs .L23481
+ cmp fp, r5
+ bhi .L23657
+.L23483:
+ cmp fp, #239
+ bhi .L23489
+ cmp fp, r4
+ movhi r0, r4
+ movhi r1, fp
+ bhi .L23617
+.L23491:
+ cmp fp, r8
+ beq .L23519
+ mov r0, fp
+ ldr r3, [sp, #24]
+ mov r1, r8
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23519:
+ cmp r4, #240
+ beq .L23521
+ cmp r4, r5
+ bls .L23523
+ cmp r5, #0
+ beq .L23525
+ cmp r8, #0
+ beq .L23527
+ cmp r8, r5
+ bcs .L23525
+ cmp r5, #240
+ movhi r0, r8
+ movhi r1, #240
+ movls r0, r8
+ movls r1, r5
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23525:
+ cmp r8, r5
+ bls .L23534
+ cmp r8, r4
+ bcc .L23658
+.L23536:
+ cmp r8, r4
+ bls .L23542
+ cmp r8, #239
+ bhi .L23576
+ ldr r3, [sp, #28]
+ mov r0, r8
+ mov r2, r7
+ b .L23623
+.L23160:
+ cmp r4, #240
+ beq .L23224
+ cmp r4, r8
+ bls .L23226
+ cmp r8, #0
+ beq .L23228
+ cmp fp, r8
+ bcs .L23230
+ cmp fp, #0
+ movne r0, #0
+ movne r1, fp
+ bne .L23591
+.L23228:
+ cmp fp, r4
+ bcs .L23233
+ cmp fp, r8
+ movhi r0, r8
+ movhi r1, fp
+ bhi .L23592
+.L23235:
+ cmp fp, #239
+ bhi .L23237
+ cmp fp, r4
+ movhi r0, r4
+ movhi r1, fp
+ bhi .L23595
+.L23239:
+ cmp fp, r5
+ beq .L23256
+ mov r0, fp
+ ldr r3, [sp, #16]
+ mov r1, r5
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23256:
+ cmp r4, #240
+ beq .L23258
+ cmp r4, r8
+ bls .L23260
+ cmp r8, #0
+ beq .L23262
+ cmp r5, #0
+ beq .L23264
+ cmp r5, r8
+ bcs .L23262
+ cmp r8, #240
+ movhi r0, r5
+ movhi r1, #240
+ movls r0, r5
+ movls r1, r8
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23262:
+ cmp r5, r8
+ bls .L23271
+ cmp r5, r4
+ ldrcc r3, [sp, #12]
+ movcc r0, r5
+ bcc .L23599
+.L23273:
+ cmp r5, r4
+ bls .L23275
+ cmp r5, #239
+ bhi .L23576
+ ldr r3, [sp, #20]
+ mov r0, r5
+ mov r2, r7
+ b .L23623
+.L23351:
+ mov r0, #4
+ mov r1, r8
+ mov r2, r5
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23353
+.L23321:
+ mov r0, #4
+ mov r1, r8
+ mov r2, r5
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23323
+.L23653:
+ ldrh r3, [r4, #64]
+ and fp, r2, #63
+ and r4, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc r5, r3
+ movcs r5, #240
+ cmp r4, #240
+ movhi r4, #240
+ cmp r5, r4
+ bhi .L23644
+ cmp r5, #0
+ bne .L23319
+ b .L23320
+.L23655:
+ ldrh r3, [r0, #66]
+ mov r2, r4, lsr #8
+ and r8, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc r4, r3
+ movcs r4, #240
+ cmp r8, #240
+ and r2, r2, #63
+ movhi r8, #240
+ str r2, [sp, #20]
+ b .L23156
+.L23648:
+ ldrh r3, [r0, #66]
+ mov r2, r4, lsr #8
+ and r5, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc r4, r3
+ movcs r4, #240
+ cmp r5, #240
+ and r2, r2, #63
+ movhi r5, #240
+ str r2, [sp, #28]
+ b .L23378
+.L23647:
+ ldrh r3, [r2, #64]
+ and r2, r4, #63
+ and r8, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc fp, r3
+ movcs fp, #240
+ cmp r8, #240
+ movhi r8, #240
+ str r2, [sp, #24]
+ b .L23367
+.L23651:
+ ldrh r3, [r4, #66]
+ mov r2, r2, lsr #8
+ and r4, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc r5, r3
+ movcs r5, #240
+ cmp r4, #240
+ movhi r4, #240
+ cmp r5, r4
+ and fp, r2, #63
+ bhi .L23644
+ cmp r5, #0
+ bne .L23349
+ b .L23350
+.L23654:
+ ldrh r3, [r2, #64]
+ and r2, r4, #63
+ and r5, r3, #255
+ mov r3, r3, lsr #8
+ cmp r3, #240
+ movcc fp, r3
+ movcs fp, #240
+ cmp r5, #240
+ movhi r5, #240
+ str r2, [sp, #16]
+ b .L23145
+.L23650:
+ cmp r5, #0
+ beq .L23390
+ cmp r8, #0
+ beq .L23392
+ cmp r8, r5
+ bcs .L23390
+ cmp fp, r5
+ movcc r0, r8
+ movcc r1, fp
+ movcs r0, r8
+ movcs r1, r5
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23390:
+ cmp r8, r5
+ bls .L23399
+ cmp r8, r4
+ bcs .L23401
+ cmp fp, r4
+ bcs .L23403
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23405
+ mov r0, #4
+ mov r1, r8
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+.L23401:
+ cmp r8, r4
+ bls .L23416
+ cmp r8, #239
+ bhi .L23418
+ cmp fp, #239
+ movls r0, r8
+ movhi r0, r8
+ bhi .L23613
+.L23614:
+ ldr r3, [sp, #28]
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23422:
+ ldr r3, [sp, #24]
+ mov r0, fp
+ mov r2, r7
+ b .L23623
+.L23166:
+ cmp r4, #0
+ beq .L23196
+ cmp r5, #0
+ beq .L23198
+ cmp r5, r4
+ bcs .L23196
+.L23198:
+ cmp fp, r4
+ movcc r0, r5
+ movcc r1, fp
+ movcs r0, r5
+ movcs r1, r4
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23196:
+ cmp r4, r8
+ beq .L23205
+ cmp r5, r4
+ bls .L23207
+ cmp r5, r8
+ bcs .L23205
+ cmp fp, r8
+ ldrcc r3, [sp, #20]
+ ldrcs r3, [sp, #20]
+ movcc r0, r5
+ movcc r1, fp
+ movcs r0, r5
+ movcs r1, r8
+.L23587:
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23205:
+ cmp r8, #240
+ beq .L23188
+ cmp r5, r8
+ bls .L23216
+ cmp r5, #239
+ bhi .L23188
+ cmp fp, #239
+ movls r0, r5
+ ldrls r3, [sp, #12]
+ bls .L23590
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, #240
+ b .L23588
+.L23649:
+ mov r0, #0
+ mov r1, r8
+ mov r2, r7
+ ldr r3, [sp, #24]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23384
+.L23656:
+ mov r0, #0
+ mov r1, r5
+ mov r2, r7
+ ldr r3, [sp, #16]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23162
+.L23472:
+ cmp fp, #0
+ bne .L23659
+.L23515:
+ ands r1, r6, #64
+ beq .L23517
+ mov r0, #4
+ mov r1, #0
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23491
+.L23224:
+ cmp fp, #0
+ beq .L23239
+ mov r0, #0
+ mov r1, fp
+.L23596:
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23239
+.L23644:
+ cmp r4, #0
+ bne .L23660
+.L23343:
+ ldr r3, [sp, #12]
+ mov r0, r4
+ mov r1, r5
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23345
+ mov r1, r4
+ mov r0, #4
+ mov r2, r5
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+.L23347:
+ cmp r5, #240
+ movne r0, r5
+ movne r2, r7
+ movne r3, fp
+ bne .L23623
+ b .L23576
+.L23128:
+ cmp r5, #0
+ bne .L23133
+ b .L23134
+.L23386:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23470
+ mov r1, r8
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+.L23418:
+ cmp fp, #240
+ bne .L23422
+ b .L23576
+.L23345:
+ mov r1, r4
+ mov r0, #4
+ mov r2, r5
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23347
+.L23663:
+ .align 2
+.L23662:
+ .word io_registers
+ .word bitmap_mode_renderers-12
+.L23523:
+ cmp r4, #0
+ beq .L23545
+ cmp r8, #0
+ beq .L23547
+ cmp r8, r4
+ bcc .L23547
+.L23545:
+ cmp r4, r5
+ beq .L23554
+ cmp r8, r4
+ bls .L23556
+ cmp r8, r5
+ bcs .L23554
+ cmp r5, #240
+ ldrhi r3, [sp, #28]
+ movhi r0, r8
+ ldrls r3, [sp, #28]
+ movls r0, r8
+ bls .L23621
+.L23622:
+ mov r1, #240
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23561:
+ cmp r8, r5
+ bls .L23565
+ cmp r8, #239
+ bhi .L23576
+ mov r1, #240
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r2, r7
+ str sl, [sp, #4]
+ str r9, [sp, #8]
+ str r6, [sp, #0]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ moveq r1, r8
+ beq .L23624
+ mov r1, r8
+ b .L23626
+.L23260:
+ cmp r4, #0
+ beq .L23278
+ cmp r5, #0
+ beq .L23280
+ cmp r5, r4
+ bcc .L23280
+.L23278:
+ cmp r4, r8
+ beq .L23283
+ cmp r5, r4
+ bls .L23285
+ cmp r5, r8
+ bcs .L23283
+ cmp r8, #240
+ ldrhi r3, [sp, #20]
+ movhi r0, r5
+ ldrls r3, [sp, #20]
+ movls r0, r5
+ bls .L23600
+.L23601:
+ mov r1, #240
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23290:
+ cmp r5, r8
+ bls .L23294
+ cmp r5, #239
+ bhi .L23576
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r2, r7
+ b .L23623
+.L23474:
+ cmp r4, #0
+ beq .L23493
+ cmp fp, r4
+ bcs .L23495
+ cmp fp, #0
+ bne .L23661
+.L23493:
+ cmp r4, r5
+ beq .L23502
+ cmp fp, r5
+ bcs .L23504
+ cmp fp, r4
+ movhi r0, r4
+ movhi r1, fp
+ bhi .L23616
+.L23502:
+ cmp r5, #240
+ beq .L23491
+ cmp fp, #239
+ bhi .L23508
+ cmp fp, r5
+ bls .L23491
+ mov r0, r5
+ mov r1, fp
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23511
+ mov r0, #4
+ mov r1, r5
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23491
+.L23226:
+ cmp r4, #0
+ beq .L23241
+ cmp fp, r4
+ bcs .L23243
+ cmp fp, #0
+ movne r0, #0
+ movne r1, fp
+ bne .L23593
+.L23241:
+ cmp r4, r8
+ beq .L23246
+ cmp fp, r8
+ bcs .L23248
+ cmp fp, r4
+ movhi r0, r4
+ movhi r1, fp
+ bhi .L23594
+.L23246:
+ cmp r8, #240
+ beq .L23239
+ cmp fp, #239
+ bhi .L23252
+ cmp fp, r8
+ movhi r0, r8
+ movhi r1, fp
+ bls .L23239
+ b .L23596
+.L23521:
+ cmp r8, #240
+ beq .L23572
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, r4
+ mov r2, r7
+ str sl, [sp, #4]
+ str r9, [sp, #8]
+ str r6, [sp, #0]
+ bl render_scanline_conditional_bitmap
+.L23572:
+ tst r6, #64
+ beq .L23574
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ mov r0, #4
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_obj_copy_bitmap_1D
+.L23258:
+ cmp r5, #240
+ beq .L23576
+ mov r0, r5
+ mov r1, r4
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23576
+.L23392:
+ cmp fp, r5
+ movcc r0, r8
+ movcc r1, fp
+ movcs r0, r8
+ movcs r1, r5
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23399:
+ cmp fp, r4
+ bcs .L23409
+ cmp fp, r5
+ bls .L23401
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23412
+ mov r1, r5
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23401
+.L23170:
+ cmp fp, r8
+ movcc r0, r5
+ movcc r1, fp
+ movcs r0, r5
+ movcs r1, r8
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23177:
+ cmp fp, r4
+ bcs .L23183
+ cmp fp, r8
+ bls .L23179
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, fp
+ b .L23585
+.L23264:
+ cmp r8, #240
+ movhi r0, r5
+ movhi r1, #240
+ movls r0, r5
+ movls r1, r8
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23271:
+ ldr r3, [sp, #12]
+ mov r0, r8
+.L23599:
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23273
+.L23291:
+ ldr r3, [sp, #20]
+ mov r0, r4
+.L23600:
+ mov r1, r8
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23283:
+ cmp r8, #240
+ bne .L23290
+ b .L23576
+.L23562:
+ ldr r3, [sp, #28]
+ mov r0, r4
+.L23621:
+ mov r1, r5
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23554:
+ cmp r5, #240
+ bne .L23561
+ b .L23576
+.L23646:
+ mov r0, #0
+ mov r1, r4
+ mov r2, r7
+ mov r3, r8
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23130
+.L23660:
+ mov r0, #0
+ mov r1, r4
+ mov r2, r7
+ mov r3, fp
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23343
+.L23527:
+ cmp r5, #240
+ movhi r0, r8
+ movhi r1, #240
+ movls r0, r8
+ movls r1, r5
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+.L23534:
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23540
+ mov r1, r5
+ mov r0, #4
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23536
+.L23416:
+ cmp fp, #239
+ bhi .L23423
+ cmp fp, r4
+ bls .L23422
+ mov r0, r4
+ b .L23614
+.L23186:
+ cmp fp, #239
+ bhi .L23193
+ cmp fp, r4
+ bls .L23192
+ mov r0, r4
+.L23589:
+ ldr r3, [sp, #20]
+.L23590:
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23192
+.L23237:
+ mov r0, r4
+ mov r1, #240
+.L23595:
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23239
+.L23489:
+ mov r0, r4
+ mov r1, #240
+.L23617:
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23491
+.L23233:
+ mov r0, r8
+ mov r1, r4
+.L23592:
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23235
+.L23216:
+ cmp fp, #239
+ bhi .L23221
+ cmp fp, r8
+ movhi r0, r8
+ ldrhi r3, [sp, #12]
+ bls .L23192
+ b .L23590
+.L23445:
+ cmp fp, r5
+ bcs .L23450
+ cmp fp, r4
+ bls .L23443
+ ldr r3, [sp, #28]
+ mov r0, r4
+ mov r1, fp
+ b .L23612
+.L23454:
+ cmp fp, #239
+ bhi .L23463
+ cmp fp, r5
+ bls .L23422
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, fp
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23466
+ mov r1, r5
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23422
+.L23207:
+ cmp fp, r8
+ bcs .L23212
+ cmp fp, r4
+ bls .L23205
+ ldr r3, [sp, #20]
+ mov r0, r4
+ mov r1, fp
+ b .L23587
+.L23164:
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, fp
+ b .L23588
+.L23574:
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ mov r0, #4
+ add sp, sp, #32
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ b render_scanline_obj_copy_bitmap_2D
+.L23517:
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23491
+.L23504:
+ mov r0, r4
+ mov r1, r5
+.L23616:
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23502
+.L23248:
+ mov r0, r4
+ mov r1, r8
+.L23594:
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23246
+.L23285:
+ cmp r8, #240
+ bls .L23291
+ cmp r4, #239
+ bhi .L23290
+ ldr r3, [sp, #20]
+ mov r0, r4
+ b .L23601
+.L23556:
+ cmp r5, #240
+ bls .L23562
+ cmp r4, #239
+ bhi .L23561
+ ldr r3, [sp, #28]
+ mov r0, r4
+ b .L23622
+.L23423:
+ mov r0, r4
+.L23613:
+ ldr r3, [sp, #28]
+ mov r1, #240
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23418
+.L23540:
+ mov r1, r5
+ mov r0, #4
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23536
+.L23481:
+ mov r0, r5
+ mov r1, r4
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23487
+ mov r0, #4
+ mov r1, r5
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23483
+.L23542:
+ ldr r3, [sp, #28]
+ mov r0, r4
+ mov r2, r7
+ b .L23623
+.L23275:
+ ldr r3, [sp, #20]
+ mov r0, r4
+ mov r2, r7
+ b .L23623
+.L23294:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r2, r7
+ b .L23623
+.L23565:
+ mov r1, #240
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r2, r7
+ str sl, [sp, #4]
+ str r9, [sp, #8]
+ str r6, [sp, #0]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ movne r1, r5
+ moveq r1, r5
+ beq .L23624
+ b .L23626
+.L23478:
+ mov r0, #0
+ mov r1, r5
+.L23615:
+ mov r2, r7
+ ldr r3, [sp, #28]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23476
+.L23243:
+ mov r0, #0
+ mov r1, r4
+.L23593:
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23241
+.L23230:
+ mov r0, #0
+ mov r1, r8
+.L23591:
+ mov r2, r7
+ ldr r3, [sp, #20]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23228
+.L23547:
+ mov r0, r8
+ mov r1, r4
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23552
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23545
+.L23280:
+ mov r0, r5
+ mov r1, r4
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23278
+.L23659:
+ mov r0, #0
+ mov r1, fp
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ b .L23515
+.L23409:
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23414
+ mov r1, r5
+ mov r0, #4
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23401
+.L23183:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, r4
+ b .L23585
+.L23437:
+ mov r0, r8
+ mov r1, r4
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23441
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23426
+.L23252:
+ mov r0, r8
+ mov r1, #240
+ b .L23596
+.L23470:
+ mov r1, r8
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23418
+.L23508:
+ mov r0, r5
+ mov r1, #240
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23513
+ mov r0, #4
+ mov r1, r5
+ mov r2, #240
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23491
+.L23657:
+ mov r0, r5
+ mov r1, fp
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23485
+ mov r0, #4
+ mov r1, r5
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23483
+.L23193:
+ ldr r3, [sp, #20]
+ mov r0, r4
+ mov r1, #240
+ b .L23588
+.L23495:
+ mov r1, r4
+ mov r0, #0
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ ands r1, r6, #64
+ beq .L23500
+ mov r0, #4
+ mov r1, #0
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23493
+.L23487:
+ mov r0, #4
+ mov r1, r5
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23483
+.L23552:
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23545
+.L23221:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, #240
+ b .L23588
+.L23212:
+ ldr r3, [sp, #20]
+ mov r0, r4
+ mov r1, r8
+ b .L23587
+.L23463:
+ ldr r3, [sp, #12]
+ mov r0, r5
+ mov r1, #240
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23468
+ mov r1, r5
+ mov r0, #4
+ mov r2, #240
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23418
+.L23450:
+ ldr r3, [sp, #28]
+ mov r0, r4
+ mov r1, r5
+ b .L23612
+.L23658:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23538
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23536
+.L23403:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, r4
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23407
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23401
+.L23439:
+ mov r0, #4
+ mov r1, r8
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23426
+.L23414:
+ mov r1, r5
+ mov r0, #4
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23401
+.L23441:
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23426
+.L23513:
+ mov r0, #4
+ mov r1, r5
+ mov r2, #240
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23491
+.L23457:
+ ldr r3, [sp, #12]
+ mov r0, r8
+ mov r1, #240
+ mov r2, r7
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ tst r6, #64
+ beq .L23461
+ mov r1, r8
+ mov r0, #4
+ mov r2, #240
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23418
+.L23661:
+ mov r1, fp
+ mov r0, #0
+ mov r2, r7
+ ldr r3, [sp, #12]
+ stmia sp, {r6, sl} @ phole stm
+ str r9, [sp, #8]
+ bl render_scanline_conditional_bitmap
+ ands r1, r6, #64
+ beq .L23498
+ mov r0, #4
+ mov r1, #0
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_1D
+ b .L23493
+.L23485:
+ mov r0, #4
+ mov r1, r5
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23483
+.L23412:
+ mov r1, r5
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23401
+.L23500:
+ mov r0, #4
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23493
+.L23511:
+ mov r0, #4
+ mov r1, r5
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23491
+.L23468:
+ mov r1, r5
+ mov r0, #4
+ mov r2, #240
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23418
+.L23461:
+ mov r1, r8
+ mov r0, #4
+ mov r2, #240
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23418
+.L23405:
+ mov r0, #4
+ mov r1, r8
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23401
+.L23538:
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23536
+.L23498:
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23493
+.L23407:
+ mov r0, #4
+ mov r1, r8
+ mov r2, r4
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23401
+.L23459:
+ mov r1, r8
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23422
+.L23466:
+ mov r1, r5
+ mov r0, #4
+ mov r2, fp
+ mov r3, r7
+ bl render_scanline_obj_copy_bitmap_2D
+ b .L23422
+ .size render_scanline_window_bitmap, .-render_scanline_window_bitmap
+ .align 2
+ .global update_scanline
+ .type update_scanline, %function
+update_scanline:
+ @ args = 0, pretend = 0, frame = 12
+ @ frame_needed = 0, uses_anonymous_args = 0
+ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
+ ldr r2, .L23760
+ ldr r0, .L23760+4
+ ldr r9, .L23760+8
+ ldr r3, [r0, #0]
+ ldr r1, [r2, #0]
+ cmp r3, #0
+ ldr r2, [r1, #20]
+ ldrh fp, [r9, #0]
+ ldrh r1, [r1, #16]
+ ldrh r3, [r9, #6]
+ sub sp, sp, #12
+ str r2, [sp, #8]
+ stmia sp, {r1, r3} @ phole stm
+ and sl, fp, #7
+ movne ip, #0
+ bne .L23669
+.L23666:
+ ldr r2, .L23760+12
+ ldr r0, [sp, #4]
+ ldr r3, [r2, sl, asl #2]
+ ldr r2, .L23760+16
+ and r3, r3, fp, lsr #8
+ add lr, r2, r0, asl #2
+ ldr r2, .L23760+20
+ mov r1, #0
+ mov r5, r1
+ and r7, r3, #1
+ and r0, r3, #16
+ mov ip, #3
+ and r8, r3, #8
+ and r6, r3, #4
+ and r4, r3, #2
+ str r1, [r2, #0]
+.L23696:
+ cmp r8, #0
+ beq .L23725
+ ldrh r3, [r9, #14]
+ and r3, r3, #3
+ cmp r3, ip
+ ldreq r3, .L23760+24
+ moveq r2, #3
+ streq r2, [r3, r5, asl #2]
+ addeq r5, r5, #1
+.L23725:
+ cmp r6, #0
+ beq .L23728
+ ldrh r3, [r9, #12]
+ and r3, r3, #3
+ cmp r3, ip
+ ldreq r3, .L23760+24
+ moveq r2, #2
+ streq r2, [r3, r5, asl #2]
+ addeq r5, r5, #1
+.L23728:
+ cmp r4, #0
+ beq .L23731
+ ldrh r3, [r9, #10]
+ and r3, r3, #3
+ cmp r3, ip
+ ldreq r3, .L23760+24
+ moveq r2, #1
+ streq r2, [r3, r5, asl #2]
+ addeq r5, r5, r2
+.L23731:
+ cmp r7, #0
+ beq .L23698
+ ldrh r3, [r9, #8]
+ and r3, r3, #3
+ cmp r3, ip
+ ldreq r3, .L23760+24
+ moveq r2, #0
+ streq r2, [r3, r5, asl #2]
+ addeq r5, r5, #1
+.L23698:
+ ldr r3, [lr, #1920]
+ cmp r3, #0
+ beq .L23700
+ cmp r0, #0
+ ldrne r3, .L23760+24
+ orrne r2, ip, #4
+ strne r2, [r3, r5, asl #2]
+ addne r5, r5, #1
+.L23700:
+ sub ip, ip, #1
+ cmn ip, #1
+ sub lr, lr, #640
+ bne .L23696
+ ldr r3, .L23760+20
+ str r5, [r3, #0]
+ ldr r3, .L23760+28
+ ldr r1, [r3, #0]
+ cmp r1, #0
+ bne .L23734
+ ldr r0, [sp, #0]
+ ldr r4, [sp, #8]
+ mov r2, r0, lsr #1
+ ldr r0, [sp, #4]
+ tst fp, #128
+ mov r3, r0, asl #1
+ mla r4, r3, r2, r4
+ beq .L23706
+ mov r3, r1
+.L23708:
+ mvn r1, #0 @ movhi
+ strh r1, [r3, r4] @ movhi
+ add r3, r3, #2
+ cmp r3, #480
+ bne .L23708
+.L23709:
+ ldr lr, .L23760+32
+ ldr r4, .L23760+36
+ ldr r5, [lr, #0]
+ ldr r6, [r4, #0]
+ ldr r3, [lr, #4]
+ ldr r2, [r4, #4]
+ ldrsh r7, [r9, #54]
+ ldrsh r1, [r9, #34]
+ ldrsh r0, [r9, #38]
+ ldrsh ip, [r9, #50]
+ add r5, r5, r1
+ add r6, r6, r0
+ add r3, r3, ip
+ add r2, r2, r7
+ str r3, [lr, #4]
+ str r2, [r4, #4]
+ str r5, [lr, #0]
+ str r6, [r4, #0]
+.L23734:
+ add sp, sp, #12
+ ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
+.L23759:
+ add ip, ip, #1
+ cmp ip, #5
+ beq .L23752
+.L23669:
+ ldr r1, .L23760+16
+ add r3, ip, ip, asl #2
+ add r2, r1, r3, asl #7
+ mov r3, #0
+.L23667:
+ add r3, r3, #1
+ mov r1, #0
+ cmp r3, #160
+ str r1, [r2], #4
+ bne .L23667
+ b .L23759
+.L23752:
+ ldr r3, .L23760+40
+ add r2, r3, #640
+.L23671:
+ str r1, [r3], #4
+ cmp r3, r2
+ bne .L23671
+ ldr r6, .L23760+44
+ mov r7, #127
+.L23673:
+ ldrh r2, [r6, #8]
+ ldrh r0, [r6, #12]
+ and r1, r2, #49152
+ and r3, r2, #768
+ cmp r3, #512
+ cmpne r1, #49152
+ beq .L23674
+ mov r3, r2, lsr #10
+ and r4, r3, #3
+ cmp r4, #3
+ beq .L23674
+ cmp sl, #2
+ bls .L23677
+ mov r3, r0, asl #22
+ mov r3, r3, lsr #22
+ cmp r3, #512
+ bcc .L23674
+.L23677:
+ ldrh r5, [r6, #10]
+ and ip, r2, #255
+ mov r3, r5, lsr #14
+ orr r3, r3, r1, lsr #12
+ ldr r1, .L23760+48
+ cmp ip, #160
+ subgt ip, ip, #256
+ ldr r1, [r1, r3, asl #2]
+ tst r2, #512
+ ldr r2, .L23760+52
+ movne r1, r1, asl #1
+ ldr r2, [r2, r3, asl #2]
+ add lr, ip, r1
+ movne r2, r2, asl #1
+ cmp lr, #0
+ movle r3, #0
+ movgt r3, #1
+ cmp ip, #159
+ movgt r3, #0
+ cmp r3, #0
+ beq .L23674
+ mov r3, r5, asl #23
+ mov r3, r3, asr #23
+ add r2, r2, r3
+ cmp r2, #0
+ movle r1, #0
+ movgt r1, #1
+ cmp r3, #239
+ movgt r1, #0
+ cmp r1, #0
+ beq .L23674
+ cmp ip, #0
+ movlt ip, #0
+ cmp lr, #160
+ movge lr, #160
+ mov r3, r0, lsr #10
+ cmp r4, #1
+ and r3, r3, #3
+ beq .L23754
+ cmp r4, #2
+ moveq r3, #4
+ cmp ip, lr
+ bge .L23674
+ add r3, r3, r3, asl #2
+ ldr r2, .L23760+56
+ ldr r0, .L23760+16
+ rsb r1, ip, lr
+ add r3, ip, r3, asl #5
+ mov r4, ip
+ add r1, ip, r1
+ add lr, r2, r3, asl #7
+ and r5, r7, #255
+ add ip, r0, r3, asl #2
+.L23694:
+ ldr r2, [ip, #0]
+ add r4, r4, #1
+ add r3, r2, #1
+ cmp r4, r1
+ strb r5, [lr, r2]
+ str r3, [ip], #4
+ add lr, lr, #128
+ bne .L23694
+.L23674:
+ sub r7, r7, #1
+ cmn r7, #1
+ sub r6, r6, #8
+ bne .L23673
+.L23755:
+ ldr r1, .L23760+4
+ mov r3, #0
+ str r3, [r1, #0]
+ b .L23666
+.L23754:
+ cmp ip, lr
+ bge .L23674
+ ldr r2, .L23760+56
+ add r3, r3, r3, asl #2
+ rsb r1, ip, lr
+ add r3, ip, r3, asl #5
+ add r8, ip, r1
+ add r4, r2, r3, asl #7
+ ldr r1, .L23760+16
+ ldr r2, .L23760+40
+ mov r5, ip
+ and r0, r7, #255
+ add lr, r1, r3, asl #2
+ add ip, r2, ip, asl #2
+.L23690:
+ ldr r3, [lr, #0]
+ ldr r2, [ip, #0]
+ add r5, r5, #1
+ add r1, r3, #1
+ add r2, r2, #1
+ cmp r5, r8
+ strb r0, [r4, r3]
+ str r1, [lr], #4
+ str r2, [ip], #4
+ add r4, r4, #128
+ bne .L23690
+ sub r7, r7, #1
+ cmn r7, #1
+ sub r6, r6, #8
+ bne .L23673
+ b .L23755
+.L23706:
+ cmp sl, #2
+ bls .L23756
+ movs r0, fp, lsr #13
+ bne .L23757
+ ldr r3, .L23760+60
+ ldr r2, .L23760+64
+ ldrh r1, [r3, #0]
+ add r8, r2, sl, asl #2
+ mov r3, r0
+.L23716:
+ strh r1, [r3, r4] @ movhi
+ add r3, r3, #2
+ cmp r3, #480
+ bne .L23716
+ cmp r5, #0
+ beq .L23709
+ ldr r6, .L23760+24
+ and r7, fp, #64
+ mov r5, #0
+ b .L23719
+.L23758:
+ bl render_scanline_obj_normal_1D
+.L23724:
+ ldr r0, .L23760+20
+ add r5, r5, #1
+ ldr r3, [r0, #0]
+ add r6, r6, #4
+ cmp r3, r5
+ bls .L23709
+.L23719:
+ ldr ip, [r6, #0]
+ mov r1, #240
+ ands r0, ip, #4
+ mov r2, r4
+ beq .L23720
+ sub r1, r1, #240
+ bic ip, ip, #4
+ cmp r7, r1
+ mov r2, #240
+ mov r3, r4
+ mov r0, ip
+ bne .L23758
+ mov r0, ip
+ mov r1, r7
+ mov r2, #240
+ mov r3, r4
+ bl render_scanline_obj_normal_2D
+ b .L23724
+.L23756:
+ movs r2, fp, lsr #13
+ beq .L23712
+ mov r0, r4
+ mov r1, fp
+ bl render_scanline_window_tile
+ b .L23709
+.L23720:
+ mov lr, pc
+ ldr pc, [r8, #0]
+ b .L23724
+.L23712:
+ mov r0, r4
+ mov r1, fp
+ bl render_scanline_tile
+ b .L23709
+.L23757:
+ mov r0, r4
+ mov r1, fp
+ bl render_scanline_window_bitmap
+ b .L23709
+.L23761:
+ .align 2
+.L23760:
+ .word screen
+ .word oam_update
+ .word io_registers
+ .word active_layers
+ .word obj_priority_count
+ .word layer_count
+ .word layer_order
+ .word skip_next_frame
+ .word affine_reference_x
+ .word affine_reference_y
+ .word obj_alpha_count
+ .word oam_ram+1008
+ .word obj_height_table
+ .word obj_width_table
+ .word obj_priority_list
+ .word palette_ram_converted
+ .word bitmap_mode_renderers-12
+ .size update_scanline, .-update_scanline
+ .global video_scale
+ .section .rodata
+ .align 2
+ .type video_scale, %object
+ .size video_scale, 4
+video_scale:
+ .word 1
+ .global map_widths
+ .data
+ .align 2
+ .type map_widths, %object
+ .size map_widths, 16
+map_widths:
+ .word 256
+ .word 512
+ .word 256
+ .word 512
+ .global map_heights
+ .align 2
+ .type map_heights, %object
+ .size map_heights, 16
+map_heights:
+ .word 256
+ .word 256
+ .word 512
+ .word 512
+ .global tile_mode_renderers
+ .align 2
+ .type tile_mode_renderers, %object
+ .size tile_mode_renderers, 384
+tile_mode_renderers:
+ .word render_scanline_text_base_normal
+ .word render_scanline_text_transparent_normal
+ .word render_scanline_text_base_alpha
+ .word render_scanline_text_transparent_alpha
+ .word render_scanline_text_base_color16
+ .word render_scanline_text_transparent_color16
+ .word render_scanline_text_base_color32
+ .word render_scanline_text_transparent_color32
+ .word render_scanline_text_base_normal
+ .word render_scanline_text_transparent_normal
+ .word render_scanline_text_base_alpha
+ .word render_scanline_text_transparent_alpha
+ .word render_scanline_text_base_color16
+ .word render_scanline_text_transparent_color16
+ .word render_scanline_text_base_color32
+ .word render_scanline_text_transparent_color32
+ .word render_scanline_text_base_normal
+ .word render_scanline_text_transparent_normal
+ .word render_scanline_text_base_alpha
+ .word render_scanline_text_transparent_alpha
+ .word render_scanline_text_base_color16
+ .word render_scanline_text_transparent_color16
+ .word render_scanline_text_base_color32
+ .word render_scanline_text_transparent_color32
+ .word render_scanline_text_base_normal
+ .word render_scanline_text_transparent_normal
+ .word render_scanline_text_base_alpha
+ .word render_scanline_text_transparent_alpha
+ .word render_scanline_text_base_color16
+ .word render_scanline_text_transparent_color16
+ .word render_scanline_text_base_color32
+ .word render_scanline_text_transparent_color32
+ .word render_scanline_text_base_normal
+ .word render_scanline_text_transparent_normal
+ .word render_scanline_text_base_alpha
+ .word render_scanline_text_transparent_alpha
+ .word render_scanline_text_base_color16
+ .word render_scanline_text_transparent_color16
+ .word render_scanline_text_base_color32
+ .word render_scanline_text_transparent_color32
+ .word render_scanline_text_base_normal
+ .word render_scanline_text_transparent_normal
+ .word render_scanline_text_base_alpha
+ .word render_scanline_text_transparent_alpha
+ .word render_scanline_text_base_color16
+ .word render_scanline_text_transparent_color16
+ .word render_scanline_text_base_color32
+ .word render_scanline_text_transparent_color32
+ .word render_scanline_affine_base_normal
+ .word render_scanline_affine_transparent_normal
+ .word render_scanline_affine_base_alpha
+ .word render_scanline_affine_transparent_alpha
+ .word render_scanline_affine_base_color16
+ .word render_scanline_affine_transparent_color16
+ .word render_scanline_affine_base_color32
+ .word render_scanline_affine_transparent_color32
+ .word render_scanline_text_base_normal
+ .word render_scanline_text_transparent_normal
+ .word render_scanline_text_base_alpha
+ .word render_scanline_text_transparent_alpha
+ .word render_scanline_text_base_color16
+ .word render_scanline_text_transparent_color16
+ .word render_scanline_text_base_color32
+ .word render_scanline_text_transparent_color32
+ .word render_scanline_text_base_normal
+ .word render_scanline_text_transparent_normal
+ .word render_scanline_text_base_alpha
+ .word render_scanline_text_transparent_alpha
+ .word render_scanline_text_base_color16
+ .word render_scanline_text_transparent_color16
+ .word render_scanline_text_base_color32
+ .word render_scanline_text_transparent_color32
+ .word render_scanline_text_base_normal
+ .word render_scanline_text_transparent_normal
+ .word render_scanline_text_base_alpha
+ .word render_scanline_text_transparent_alpha
+ .word render_scanline_text_base_color16
+ .word render_scanline_text_transparent_color16
+ .word render_scanline_text_base_color32
+ .word render_scanline_text_transparent_color32
+ .word render_scanline_affine_base_normal
+ .word render_scanline_affine_transparent_normal
+ .word render_scanline_affine_base_alpha
+ .word render_scanline_affine_transparent_alpha
+ .word render_scanline_affine_base_color16
+ .word render_scanline_affine_transparent_color16
+ .word render_scanline_affine_base_color32
+ .word render_scanline_affine_transparent_color32
+ .word render_scanline_affine_base_normal
+ .word render_scanline_affine_transparent_normal
+ .word render_scanline_affine_base_alpha
+ .word render_scanline_affine_transparent_alpha
+ .word render_scanline_affine_base_color16
+ .word render_scanline_affine_transparent_color16
+ .word render_scanline_affine_base_color32
+ .word render_scanline_affine_transparent_color32
+ .global bitmap_mode_renderers
+ .align 2
+ .type bitmap_mode_renderers, %object
+ .size bitmap_mode_renderers, 12
+bitmap_mode_renderers:
+ .word render_scanline_bitmap_mode3_normal
+ .word render_scanline_bitmap_mode4_normal
+ .word render_scanline_bitmap_mode5_normal
+ .global obj_width_table
+ .align 2
+ .type obj_width_table, %object
+ .size obj_width_table, 48
+obj_width_table:
+ .word 8
+ .word 16
+ .word 32
+ .word 64
+ .word 16
+ .word 32
+ .word 32
+ .word 64
+ .word 8
+ .word 8
+ .word 16
+ .word 32
+ .global obj_height_table
+ .align 2
+ .type obj_height_table, %object
+ .size obj_height_table, 48
+obj_height_table:
+ .word 8
+ .word 16
+ .word 32
+ .word 64
+ .word 8
+ .word 8
+ .word 16
+ .word 32
+ .word 16
+ .word 32
+ .word 32
+ .word 64
+ .global active_layers
+ .align 2
+ .type active_layers, %object
+ .size active_layers, 24
+active_layers:
+ .word 31
+ .word 23
+ .word 28
+ .word 20
+ .word 20
+ .word 20
+ .global small_resolution_width
+ .align 2
+ .type small_resolution_width, %object
+ .size small_resolution_width, 4
+small_resolution_width:
+ .word 240
+ .global small_resolution_height
+ .align 2
+ .type small_resolution_height, %object
+ .size small_resolution_height, 4
+small_resolution_height:
+ .word 160
+ .global screen_scale
+ .align 2
+ .type screen_scale, %object
+ .size screen_scale, 4
+screen_scale:
+ .word 1
+ .global current_scale
+ .align 2
+ .type current_scale, %object
+ .size current_scale, 4
+current_scale:
+ .word 1
+ .global screen_filter
+ .align 2
+ .type screen_filter, %object
+ .size screen_filter, 4
+screen_filter:
+ .word 1
+ .global debug_cursor_x
+ .bss
+ .align 2
+ .type debug_cursor_x, %object
+ .size debug_cursor_x, 4
+debug_cursor_x:
+ .space 4
+ .global debug_cursor_y
+ .align 2
+ .type debug_cursor_y, %object
+ .size debug_cursor_y, 4
+debug_cursor_y:
+ .space 4
+ .section .rodata
+ .align 2
+ .type _font_offset, %object
+ .size _font_offset, 1024
+_font_offset:
+ .word 0
+ .word 10
+ .word 20
+ .word 30
+ .word 40
+ .word 50
+ .word 60
+ .word 70
+ .word 80
+ .word 90
+ .word 100
+ .word 110
+ .word 120
+ .word 130
+ .word 140
+ .word 150
+ .word 160
+ .word 170
+ .word 180
+ .word 190
+ .word 200
+ .word 210
+ .word 220
+ .word 230
+ .word 240
+ .word 250
+ .word 260
+ .word 270
+ .word 280
+ .word 290
+ .word 300
+ .word 310
+ .word 320
+ .word 330
+ .word 340
+ .word 350
+ .word 360
+ .word 370
+ .word 380
+ .word 390
+ .word 400
+ .word 410
+ .word 420
+ .word 430
+ .word 440
+ .word 450
+ .word 460
+ .word 470
+ .word 480
+ .word 490
+ .word 500
+ .word 510
+ .word 520
+ .word 530
+ .word 540
+ .word 550
+ .word 560
+ .word 570
+ .word 580
+ .word 590
+ .word 600
+ .word 610
+ .word 620
+ .word 630
+ .word 640
+ .word 650
+ .word 660
+ .word 670
+ .word 680
+ .word 690
+ .word 700
+ .word 710
+ .word 720
+ .word 730
+ .word 740
+ .word 750
+ .word 760
+ .word 770
+ .word 780
+ .word 790
+ .word 800
+ .word 810
+ .word 820
+ .word 830
+ .word 840
+ .word 850
+ .word 860
+ .word 870
+ .word 880
+ .word 890
+ .word 900
+ .word 910
+ .word 920
+ .word 930
+ .word 940
+ .word 950
+ .word 960
+ .word 970
+ .word 980
+ .word 990
+ .word 1000
+ .word 1010
+ .word 1020
+ .word 1030
+ .word 1040
+ .word 1050
+ .word 1060
+ .word 1070
+ .word 1080
+ .word 1090
+ .word 1100
+ .word 1110
+ .word 1120
+ .word 1130
+ .word 1140
+ .word 1150
+ .word 1160
+ .word 1170
+ .word 1180
+ .word 1190
+ .word 1200
+ .word 1210
+ .word 1220
+ .word 1230
+ .word 1240
+ .word 1250
+ .word 1260
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 1270
+ .word 1280
+ .word 1290
+ .word 1300
+ .word 1310
+ .word 1320
+ .word 1330
+ .word 1340
+ .word 1350
+ .word 1360
+ .word 1370
+ .word 1380
+ .word 1390
+ .word 1400
+ .word 1410
+ .word 1420
+ .word 1430
+ .word 1440
+ .word 1450
+ .word 1460
+ .word 1470
+ .word 1480
+ .word 1490
+ .word 1500
+ .word 1510
+ .word 1520
+ .word 1530
+ .word 1540
+ .word 1550
+ .word 1560
+ .word 1570
+ .word 1580
+ .word 1590
+ .word 1600
+ .word 1610
+ .word 1620
+ .word 1630
+ .word 1640
+ .word 1650
+ .word 1660
+ .word 1670
+ .word 1680
+ .word 1690
+ .word 1700
+ .word 1710
+ .word 1720
+ .word 1730
+ .word 1740
+ .word 1750
+ .word 1760
+ .word 1770
+ .word 1780
+ .word 1790
+ .word 1800
+ .word 1810
+ .word 1820
+ .word 1830
+ .word 1840
+ .word 1850
+ .word 1860
+ .word 1870
+ .word 1880
+ .word 1890
+ .word 1900
+ .word 1910
+ .word 1920
+ .word 1930
+ .word 1940
+ .word 1950
+ .word 1960
+ .word 1970
+ .word 1980
+ .word 1990
+ .word 2000
+ .word 2010
+ .word 2020
+ .word 2030
+ .word 2040
+ .word 2050
+ .word 2060
+ .word 2070
+ .word 2080
+ .word 2090
+ .word 2100
+ .word 2110
+ .word 2120
+ .word 2130
+ .word 2140
+ .word 2150
+ .word 2160
+ .word 2170
+ .word 2180
+ .word 2190
+ .word 2200
+ .word 2210
+ .word 2220
+ .align 1
+ .type _font_bits, %object
+ .size _font_bits, 4460
+_font_bits:
+ .short 0
+ .short -22528
+ .short 0
+ .short -30720
+ .short 0
+ .short -30720
+ .short 0
+ .short -22528
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 28672
+ .short -2048
+ .short 28672
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short -22528
+ .short 21504
+ .short -22528
+ .short 21504
+ .short -22528
+ .short 21504
+ .short -22528
+ .short 21504
+ .short -22528
+ .short 21504
+ .short 0
+ .short -28672
+ .short -28672
+ .short -4096
+ .short -28672
+ .short -28672
+ .short 30720
+ .short 4096
+ .short 4096
+ .short 4096
+ .short 0
+ .short -8192
+ .short -32768
+ .short -16384
+ .short -32768
+ .short -18432
+ .short 8192
+ .short 12288
+ .short 8192
+ .short 8192
+ .short 0
+ .short 28672
+ .short -32768
+ .short -32768
+ .short 28672
+ .short 28672
+ .short 18432
+ .short 28672
+ .short 18432
+ .short 18432
+ .short 0
+ .short -32768
+ .short -32768
+ .short -32768
+ .short -4096
+ .short 30720
+ .short 16384
+ .short 28672
+ .short 16384
+ .short 16384
+ .short 0
+ .short 8192
+ .short 20480
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 8192
+ .short -2048
+ .short 8192
+ .short 8192
+ .short -2048
+ .short 0
+ .short 0
+ .short 0
+ .short -28672
+ .short -12288
+ .short -12288
+ .short -20480
+ .short -28672
+ .short 16384
+ .short 16384
+ .short 16384
+ .short 30720
+ .short 0
+ .short -28672
+ .short -28672
+ .short 24576
+ .short 16384
+ .short 30720
+ .short 4096
+ .short 4096
+ .short 4096
+ .short 4096
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short -8192
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 15360
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 15360
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short -1024
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short -1024
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -1024
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -1024
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -1024
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -1024
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 15360
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short -8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short -1024
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -1024
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 0
+ .short 6144
+ .short 24576
+ .short -32768
+ .short 24576
+ .short 6144
+ .short 0
+ .short -2048
+ .short 0
+ .short 0
+ .short 0
+ .short -16384
+ .short 12288
+ .short 2048
+ .short 12288
+ .short -16384
+ .short 0
+ .short -2048
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -2048
+ .short 20480
+ .short 20480
+ .short 20480
+ .short 20480
+ .short 0
+ .short 0
+ .short 0
+ .short 2048
+ .short 4096
+ .short -2048
+ .short 8192
+ .short -2048
+ .short 16384
+ .short -32768
+ .short 0
+ .short 0
+ .short 0
+ .short 12288
+ .short 18432
+ .short 16384
+ .short -8192
+ .short 16384
+ .short 18432
+ .short -20480
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 0
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 20480
+ .short 20480
+ .short 20480
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 20480
+ .short 20480
+ .short -2048
+ .short 20480
+ .short -2048
+ .short 20480
+ .short 20480
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 28672
+ .short -24576
+ .short 28672
+ .short 10240
+ .short 28672
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 18432
+ .short -22528
+ .short 20480
+ .short 8192
+ .short 20480
+ .short -22528
+ .short -28672
+ .short 0
+ .short 0
+ .short 0
+ .short 16384
+ .short -24576
+ .short -24576
+ .short 16384
+ .short -22528
+ .short -28672
+ .short 26624
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short 16384
+ .short 16384
+ .short 16384
+ .short 8192
+ .short 4096
+ .short 0
+ .short 0
+ .short 0
+ .short 16384
+ .short 8192
+ .short 4096
+ .short 4096
+ .short 4096
+ .short 8192
+ .short 16384
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short 20480
+ .short -2048
+ .short 20480
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 8192
+ .short -2048
+ .short 8192
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 12288
+ .short 8192
+ .short 16384
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -2048
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 28672
+ .short 8192
+ .short 0
+ .short 0
+ .short 2048
+ .short 2048
+ .short 4096
+ .short 8192
+ .short 16384
+ .short -32768
+ .short -32768
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 20480
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 24576
+ .short -24576
+ .short 8192
+ .short 8192
+ .short 8192
+ .short -2048
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short 2048
+ .short 12288
+ .short 16384
+ .short -32768
+ .short -2048
+ .short 0
+ .short 0
+ .short 0
+ .short -2048
+ .short 2048
+ .short 4096
+ .short 12288
+ .short 2048
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 4096
+ .short 12288
+ .short 20480
+ .short -28672
+ .short -2048
+ .short 4096
+ .short 4096
+ .short 0
+ .short 0
+ .short 0
+ .short -2048
+ .short -32768
+ .short -20480
+ .short -14336
+ .short 2048
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 12288
+ .short 16384
+ .short -32768
+ .short -20480
+ .short -14336
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short -2048
+ .short 2048
+ .short 4096
+ .short 4096
+ .short 8192
+ .short 16384
+ .short 16384
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -30720
+ .short 28672
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -26624
+ .short 26624
+ .short 2048
+ .short 4096
+ .short 24576
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 28672
+ .short 8192
+ .short 0
+ .short 8192
+ .short 28672
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 28672
+ .short 8192
+ .short 0
+ .short 12288
+ .short 8192
+ .short 16384
+ .short 0
+ .short 0
+ .short 2048
+ .short 4096
+ .short 8192
+ .short 16384
+ .short 8192
+ .short 4096
+ .short 2048
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -2048
+ .short 0
+ .short -2048
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 16384
+ .short 8192
+ .short 4096
+ .short 2048
+ .short 4096
+ .short 8192
+ .short 16384
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short 4096
+ .short 8192
+ .short 8192
+ .short 0
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -26624
+ .short -22528
+ .short -20480
+ .short -32768
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short -30720
+ .short -30720
+ .short -2048
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short -4096
+ .short 18432
+ .short 18432
+ .short 28672
+ .short 18432
+ .short 18432
+ .short -4096
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -32768
+ .short -32768
+ .short -32768
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short -4096
+ .short 18432
+ .short 18432
+ .short 18432
+ .short 18432
+ .short 18432
+ .short -4096
+ .short 0
+ .short 0
+ .short 0
+ .short -2048
+ .short -32768
+ .short -32768
+ .short -4096
+ .short -32768
+ .short -32768
+ .short -2048
+ .short 0
+ .short 0
+ .short 0
+ .short -2048
+ .short -32768
+ .short -32768
+ .short -4096
+ .short -32768
+ .short -32768
+ .short -32768
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -32768
+ .short -32768
+ .short -26624
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -2048
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 14336
+ .short 4096
+ .short 4096
+ .short 4096
+ .short 4096
+ .short -28672
+ .short 24576
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -28672
+ .short -24576
+ .short -16384
+ .short -24576
+ .short -28672
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short -32768
+ .short -32768
+ .short -32768
+ .short -32768
+ .short -32768
+ .short -32768
+ .short -2048
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short -10240
+ .short -22528
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short -14336
+ .short -22528
+ .short -26624
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short -4096
+ .short -30720
+ .short -30720
+ .short -4096
+ .short -32768
+ .short -32768
+ .short -32768
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -22528
+ .short 28672
+ .short 2048
+ .short 0
+ .short 0
+ .short -4096
+ .short -30720
+ .short -30720
+ .short -4096
+ .short -24576
+ .short -28672
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -32768
+ .short 28672
+ .short 2048
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short -2048
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 20480
+ .short 20480
+ .short 20480
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -22528
+ .short -22528
+ .short -10240
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short 20480
+ .short 8192
+ .short 20480
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short 20480
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short -2048
+ .short 2048
+ .short 4096
+ .short 8192
+ .short 16384
+ .short -32768
+ .short -2048
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short 16384
+ .short 16384
+ .short 16384
+ .short 16384
+ .short 16384
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short -32768
+ .short -32768
+ .short 16384
+ .short 8192
+ .short 4096
+ .short 2048
+ .short 2048
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short 4096
+ .short 4096
+ .short 4096
+ .short 4096
+ .short 4096
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -2048
+ .short 0
+ .short 8192
+ .short 4096
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short 2048
+ .short 30720
+ .short -30720
+ .short 30720
+ .short 0
+ .short 0
+ .short 0
+ .short -32768
+ .short -32768
+ .short -20480
+ .short -14336
+ .short -30720
+ .short -14336
+ .short -20480
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -32768
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 2048
+ .short 2048
+ .short 26624
+ .short -26624
+ .short -30720
+ .short -26624
+ .short 26624
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -2048
+ .short -32768
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 12288
+ .short 18432
+ .short 16384
+ .short -4096
+ .short 16384
+ .short 16384
+ .short 16384
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 30720
+ .short -30720
+ .short -30720
+ .short 30720
+ .short 2048
+ .short -30720
+ .short 28672
+ .short 0
+ .short -32768
+ .short -32768
+ .short -20480
+ .short -14336
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 0
+ .short 24576
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 2048
+ .short 0
+ .short 6144
+ .short 2048
+ .short 2048
+ .short 2048
+ .short 18432
+ .short 18432
+ .short 12288
+ .short 0
+ .short -32768
+ .short -32768
+ .short -30720
+ .short -28672
+ .short -8192
+ .short -28672
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short 24576
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -12288
+ .short -22528
+ .short -22528
+ .short -22528
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -20480
+ .short -14336
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -20480
+ .short -14336
+ .short -30720
+ .short -14336
+ .short -20480
+ .short -32768
+ .short -32768
+ .short 0
+ .short 0
+ .short 0
+ .short 26624
+ .short -26624
+ .short -30720
+ .short -26624
+ .short 26624
+ .short 2048
+ .short 2048
+ .short 0
+ .short 0
+ .short 0
+ .short -20480
+ .short -14336
+ .short -32768
+ .short -32768
+ .short -32768
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -32768
+ .short 28672
+ .short 2048
+ .short -4096
+ .short 0
+ .short 0
+ .short 0
+ .short 16384
+ .short 16384
+ .short -4096
+ .short 16384
+ .short 16384
+ .short 18432
+ .short 12288
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -26624
+ .short 26624
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short 20480
+ .short 20480
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short -22528
+ .short -22528
+ .short 20480
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short 20480
+ .short 8192
+ .short 20480
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short -26624
+ .short 26624
+ .short 2048
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short -2048
+ .short 4096
+ .short 8192
+ .short 16384
+ .short -2048
+ .short 0
+ .short 0
+ .short 0
+ .short 6144
+ .short 8192
+ .short 4096
+ .short 24576
+ .short 4096
+ .short 8192
+ .short 6144
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 24576
+ .short 4096
+ .short 8192
+ .short 6144
+ .short 8192
+ .short 4096
+ .short 24576
+ .short 0
+ .short 0
+ .short 0
+ .short 18432
+ .short -22528
+ .short -28672
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 0
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 30720
+ .short -24576
+ .short -24576
+ .short -24576
+ .short 30720
+ .short 8192
+ .short 0
+ .short 0
+ .short 12288
+ .short 18432
+ .short 16384
+ .short -8192
+ .short 16384
+ .short 18432
+ .short -20480
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short 28672
+ .short 20480
+ .short 28672
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short 20480
+ .short 8192
+ .short -2048
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 0
+ .short 0
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 0
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -32768
+ .short -8192
+ .short -28672
+ .short 18432
+ .short 14336
+ .short 2048
+ .short 28672
+ .short 0
+ .short 20480
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -22528
+ .short -14336
+ .short -22528
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 14336
+ .short 18432
+ .short 22528
+ .short 10240
+ .short 0
+ .short 30720
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 9216
+ .short 18432
+ .short -28672
+ .short 18432
+ .short 9216
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 30720
+ .short 2048
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 30720
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -6144
+ .short -14336
+ .short -14336
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short -2048
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 8192
+ .short -2048
+ .short 8192
+ .short 8192
+ .short -2048
+ .short 0
+ .short 0
+ .short 12288
+ .short 18432
+ .short 4096
+ .short 8192
+ .short 30720
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short 2048
+ .short 12288
+ .short 2048
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -14336
+ .short -20480
+ .short -32768
+ .short 0
+ .short 0
+ .short 30720
+ .short -6144
+ .short -6144
+ .short 26624
+ .short 10240
+ .short 10240
+ .short 10240
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short 8192
+ .short 24576
+ .short 8192
+ .short 8192
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 12288
+ .short 18432
+ .short 18432
+ .short 12288
+ .short 0
+ .short 30720
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -28672
+ .short 18432
+ .short 9216
+ .short 18432
+ .short -28672
+ .short 0
+ .short 0
+ .short 16384
+ .short -16384
+ .short 16384
+ .short 16384
+ .short -7168
+ .short 3072
+ .short 5120
+ .short 15360
+ .short 1024
+ .short 0
+ .short 16384
+ .short -16384
+ .short 16384
+ .short 16384
+ .short -6144
+ .short 5120
+ .short 1024
+ .short 2048
+ .short 7168
+ .short 0
+ .short -16384
+ .short 8192
+ .short 16384
+ .short 8192
+ .short -14336
+ .short 6144
+ .short 10240
+ .short 30720
+ .short 2048
+ .short 0
+ .short 0
+ .short 8192
+ .short 0
+ .short 8192
+ .short 8192
+ .short 16384
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 16384
+ .short 8192
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -2048
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -2048
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -2048
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 18432
+ .short -20480
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -2048
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 20480
+ .short 0
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -2048
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -2048
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short 15360
+ .short 20480
+ .short -28672
+ .short -25600
+ .short -4096
+ .short -28672
+ .short -25600
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -32768
+ .short -32768
+ .short -32768
+ .short -30720
+ .short 28672
+ .short 8192
+ .short 16384
+ .short 16384
+ .short -2048
+ .short -32768
+ .short -32768
+ .short -4096
+ .short -32768
+ .short -32768
+ .short -2048
+ .short 0
+ .short 0
+ .short 4096
+ .short -2048
+ .short -32768
+ .short -32768
+ .short -4096
+ .short -32768
+ .short -32768
+ .short -2048
+ .short 0
+ .short 0
+ .short 8192
+ .short -2048
+ .short -32768
+ .short -32768
+ .short -4096
+ .short -32768
+ .short -32768
+ .short -2048
+ .short 0
+ .short 0
+ .short 20480
+ .short -2048
+ .short -32768
+ .short -32768
+ .short -4096
+ .short -32768
+ .short -32768
+ .short -2048
+ .short 0
+ .short 0
+ .short 16384
+ .short 8192
+ .short 28672
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 28672
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short 28672
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 28672
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short 28672
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 28672
+ .short 0
+ .short 0
+ .short 20480
+ .short 0
+ .short 28672
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short -4096
+ .short 18432
+ .short 18432
+ .short -6144
+ .short 18432
+ .short 18432
+ .short -4096
+ .short 0
+ .short 0
+ .short 10240
+ .short 20480
+ .short -30720
+ .short -14336
+ .short -22528
+ .short -26624
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 16384
+ .short 8192
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 10240
+ .short 20480
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 20480
+ .short 0
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short -30720
+ .short 20480
+ .short 8192
+ .short 20480
+ .short -30720
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -26624
+ .short -26624
+ .short -22528
+ .short -14336
+ .short -14336
+ .short 28672
+ .short 0
+ .short 0
+ .short 16384
+ .short 8192
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short 0
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 20480
+ .short 0
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short -30720
+ .short -30720
+ .short 20480
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short -32768
+ .short -4096
+ .short -30720
+ .short -4096
+ .short -32768
+ .short -32768
+ .short -32768
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -28672
+ .short -24576
+ .short -28672
+ .short -30720
+ .short -20480
+ .short 0
+ .short 0
+ .short 16384
+ .short 8192
+ .short 0
+ .short 28672
+ .short 2048
+ .short 30720
+ .short -30720
+ .short 30720
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short 0
+ .short 28672
+ .short 2048
+ .short 30720
+ .short -30720
+ .short 30720
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short 0
+ .short 28672
+ .short 2048
+ .short 30720
+ .short -30720
+ .short 30720
+ .short 0
+ .short 0
+ .short 10240
+ .short 20480
+ .short 0
+ .short 28672
+ .short 2048
+ .short 30720
+ .short -30720
+ .short 30720
+ .short 0
+ .short 0
+ .short 0
+ .short 20480
+ .short 0
+ .short 28672
+ .short 2048
+ .short 30720
+ .short -30720
+ .short 30720
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short 8192
+ .short 28672
+ .short 2048
+ .short 30720
+ .short -30720
+ .short 30720
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 30720
+ .short 5120
+ .short 31744
+ .short -28672
+ .short 31744
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 28672
+ .short -30720
+ .short -32768
+ .short -30720
+ .short 28672
+ .short 8192
+ .short 16384
+ .short 16384
+ .short 8192
+ .short 0
+ .short 28672
+ .short -30720
+ .short -2048
+ .short -32768
+ .short 28672
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short 0
+ .short 28672
+ .short -30720
+ .short -2048
+ .short -32768
+ .short 28672
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short 0
+ .short 28672
+ .short -30720
+ .short -2048
+ .short -32768
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 20480
+ .short 0
+ .short 28672
+ .short -30720
+ .short -2048
+ .short -32768
+ .short 28672
+ .short 0
+ .short 0
+ .short 16384
+ .short 8192
+ .short 0
+ .short 24576
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 28672
+ .short 0
+ .short 0
+ .short 8192
+ .short 16384
+ .short 0
+ .short 24576
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 28672
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short 0
+ .short 24576
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 20480
+ .short 0
+ .short 24576
+ .short 8192
+ .short 8192
+ .short 8192
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short -16384
+ .short 12288
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 10240
+ .short 20480
+ .short 0
+ .short -20480
+ .short -14336
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 0
+ .short 0
+ .short 16384
+ .short 8192
+ .short 0
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short 0
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short 0
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 10240
+ .short 20480
+ .short 0
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 20480
+ .short 0
+ .short 28672
+ .short -30720
+ .short -30720
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 8192
+ .short 0
+ .short -2048
+ .short 0
+ .short 8192
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 0
+ .short 30720
+ .short -26624
+ .short -22528
+ .short -14336
+ .short -4096
+ .short 0
+ .short 0
+ .short 16384
+ .short 8192
+ .short 0
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -26624
+ .short 26624
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short 0
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -26624
+ .short 26624
+ .short 0
+ .short 0
+ .short 8192
+ .short 20480
+ .short 0
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -26624
+ .short 26624
+ .short 0
+ .short 0
+ .short 0
+ .short 20480
+ .short 0
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -26624
+ .short 26624
+ .short 0
+ .short 0
+ .short 0
+ .short 4096
+ .short 8192
+ .short -30720
+ .short -30720
+ .short -26624
+ .short 26624
+ .short 2048
+ .short -30720
+ .short 28672
+ .short 0
+ .short 0
+ .short -32768
+ .short -4096
+ .short -30720
+ .short -30720
+ .short -30720
+ .short -4096
+ .short -32768
+ .short -32768
+ .short 0
+ .short 20480
+ .short 0
+ .short -30720
+ .short -30720
+ .short -26624
+ .short 26624
+ .short 2048
+ .short -30720
+ .short 28672
+ .align 2
+ .type C.627.17651, %object
+ .size C.627.17651, 8
+C.627.17651:
+ .short 40
+ .short 40
+ .short 240
+ .short 160
+ .align 2
+ .type C.626.17650, %object
+ .size C.626.17650, 8
+C.626.17650:
+ .short 0
+ .short 0
+ .short 240
+ .short 160
+ .global affine_reference_x
+ .bss
+ .align 2
+ .type affine_reference_x, %object
+ .size affine_reference_x, 8
+affine_reference_x:
+ .space 8
+ .global affine_reference_y
+ .align 2
+ .type affine_reference_y, %object
+ .size affine_reference_y, 8
+affine_reference_y:
+ .space 8
+ .global hw_screen
+ .align 2
+ .type hw_screen, %object
+ .size hw_screen, 4
+hw_screen:
+ .space 4
+ .global screen
+ .align 2
+ .type screen, %object
+ .size screen, 4
+screen:
+ .space 4
+ .global obj_priority_list
+ .type obj_priority_list, %object
+ .size obj_priority_list, 102400
+obj_priority_list:
+ .space 102400
+ .global obj_priority_count
+ .align 2
+ .type obj_priority_count, %object
+ .size obj_priority_count, 3200
+obj_priority_count:
+ .space 3200
+ .global obj_alpha_count
+ .align 2
+ .type obj_alpha_count, %object
+ .size obj_alpha_count, 640
+obj_alpha_count:
+ .space 640
+ .global layer_order
+ .align 2
+ .type layer_order, %object
+ .size layer_order, 64
+layer_order:
+ .space 64
+ .global layer_count
+ .align 2
+ .type layer_count, %object
+ .size layer_count, 4
+layer_count:
+ .space 4
+ .global resolution_width
+ .align 2
+ .type resolution_width, %object
+ .size resolution_width, 4
+resolution_width:
+ .space 4
+ .global resolution_height
+ .align 2
+ .type resolution_height, %object
+ .size resolution_height, 4
+resolution_height:
+ .space 4
+ .global frame_to_render
+ .align 2
+ .type frame_to_render, %object
+ .size frame_to_render, 4
+frame_to_render:
+ .space 4
+ .ident "GCC: (GNU) 4.1.1"