fix build and clean up
[gpsp.git] / gp2x / video.S
diff --git a/gp2x/video.S b/gp2x/video.S
deleted file mode 100644 (file)
index 4838fe5..0000000
+++ /dev/null
@@ -1,78790 +0,0 @@
-  .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"