.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"