original source from gpsp09-2xb_src.tar.bz2
[gpsp.git] / gp2x / video.S
CommitLineData
2823a4c8 1 .file "video.c"
2 .text
3 .align 2
4 .global render_scanline_text_base_normal
5 .type render_scanline_text_base_normal, %function
6render_scanline_text_base_normal:
7 @ args = 0, pretend = 0, frame = 8
8 @ frame_needed = 0, uses_anonymous_args = 0
9 ldr ip, .L516
10 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
11 add r5, ip, r0, asl #2
12 ldrh lr, [r5, #18]
13 ldrh r4, [ip, #6]
14 add ip, ip, r0, asl #1
15 add r4, r4, lr
16 mov r7, r4, asl #23
17 ldrh r6, [ip, #8]
18 mov r7, r7, lsr #23
19 ldrh r0, [r5, #16]
20 cmp r7, #255
21 movls lr, #0
22 movhi lr, #1
23 mov r5, r6, lsr #14
24 rsb fp, r1, r2
25 ldr r2, .L516+4
26 ands lr, lr, r5, lsr #1
27 add r8, r3, r1, asl #1
28 mov ip, r6, asl #3
29 subne r3, r7, #256
30 ldr r9, .L516+8
31 ldr r2, [r2, r5, asl #2]
32 movne r3, r3, lsr #3
33 moveq r3, r4, asl #3
34 add r0, r0, r1
35 and ip, ip, #63488
36 addne r3, r3, r2, lsr #3
37 andeq r3, r3, #1984
38 add ip, ip, r9
39 mov r0, r0, asl #23
40 addne r4, ip, r3, asl #6
41 addeq r4, ip, r3
42 mov r0, r0, lsr #23
43 tst r5, #1
44 andeq r0, r0, #255
45 sub sp, sp, #8
46 moveq r3, r0, lsr #3
47 addeq sl, r4, r3, asl #1
48 streq r4, [sp, #0]
49 beq .L9
50 cmp r0, #255
51 subhi r0, r0, #256
52 movhi r3, r0, lsr #3
53 movls r3, r0, lsr #3
54 addhi r3, r4, r3, asl #1
55 addls sl, r4, r3, asl #1
56 addls r4, r4, #2048
57 addhi sl, r3, #2048
58 strhi r4, [sp, #0]
59 strls r4, [sp, #0]
60.L9:
61 ands r5, r6, #128
62 beq .L10
63 and r3, r7, #7
64 mov r2, r6, asl #12
65 and r1, r0, #255
66 mov r3, r3, asl #3
67 and r2, r2, #49152
68 add r2, r2, r3
69 rsb r4, r1, #256
70 mov r3, r3, asl #1
71 rsb r3, r3, #56
72 cmp fp, r4
73 add r9, r2, r9
74 str r3, [sp, #4]
75 and r0, r0, #7
76 bls .L487
77 cmp r0, #0
78 moveq ip, r0
79 bne .L488
80.L100:
81 rsb r3, ip, r4
82 movs r7, r3, lsr #3
83 beq .L124
84 ldr lr, .L516+12
85 mov r5, r8
86 mov r6, #0
87 b .L126
88.L490:
89 ldr r0, [ip, #4]
90 ldr ip, [ip, #0]
91 and r1, r0, #255
92 mov r1, r1, asl #1
93 ldrh r1, [r1, lr]
94 mov r3, r0, lsr #8
95 and r3, r3, #255
96 strh r1, [r5, #6] @ movhi
97 mov r3, r3, asl #1
98 ldrh r3, [r3, lr]
99 mov r2, r0, lsr #16
100 and r2, r2, #255
101 strh r3, [r5, #4] @ movhi
102 mov r2, r2, asl #1
103 ldrh r2, [r2, lr]
104 mov r0, r0, lsr #24
105 strh r2, [r5, #2] @ movhi
106 mov r0, r0, asl #1
107 ldrh r0, [r0, lr]
108 and r1, ip, #255
109 strh r0, [r5, #0] @ movhi
110 mov r1, r1, asl #1
111 ldrh r1, [r1, lr]
112 mov r2, ip, lsr #8
113 and r2, r2, #255
114 strh r1, [r5, #14] @ movhi
115 mov r2, r2, asl #1
116 ldrh r2, [r2, lr]
117 mov r3, ip, lsr #16
118 and r3, r3, #255
119 strh r2, [r5, #12] @ movhi
120 mov r3, r3, asl #1
121 ldrh r3, [r3, lr]
122 mov ip, ip, lsr #24
123 strh r3, [r5, #10] @ movhi
124 mov ip, ip, asl #1
125 ldrh ip, [ip, lr]
126 add r6, r6, #1
127 cmp r7, r6
128 strh ip, [r5, #8] @ movhi
129 add sl, sl, #2
130 add r5, r5, #16
131 beq .L489
132.L126:
133 ldrh r2, [sl, #0]
134 mov r3, r2, asl #22
135 mov r3, r3, lsr #22
136 tst r2, #2048
137 add ip, r9, r3, asl #6
138 ldrne r3, [sp, #4]
139 addne ip, ip, r3
140 tst r2, #1024
141 bne .L490
142 ldmia ip, {r0, ip} @ phole ldm
143 and r1, r0, #255
144 mov r1, r1, asl #1
145 ldrh r1, [r1, lr]
146 mov r3, r0, lsr #8
147 and r3, r3, #255
148 strh r1, [r5, #0] @ movhi
149 mov r3, r3, asl #1
150 ldrh r3, [r3, lr]
151 mov r2, r0, lsr #16
152 and r2, r2, #255
153 strh r3, [r5, #2] @ movhi
154 mov r2, r2, asl #1
155 ldrh r2, [r2, lr]
156 mov r0, r0, lsr #24
157 strh r2, [r5, #4] @ movhi
158 mov r0, r0, asl #1
159 ldrh r0, [r0, lr]
160 and r1, ip, #255
161 strh r0, [r5, #6] @ movhi
162 mov r1, r1, asl #1
163 ldrh r1, [r1, lr]
164 mov r2, ip, lsr #8
165 and r2, r2, #255
166 strh r1, [r5, #8] @ movhi
167 mov r2, r2, asl #1
168 ldrh r2, [r2, lr]
169 mov r3, ip, lsr #16
170 and r3, r3, #255
171 strh r2, [r5, #10] @ movhi
172 mov r3, r3, asl #1
173 ldrh r3, [r3, lr]
174 mov ip, ip, lsr #24
175 strh r3, [r5, #12] @ movhi
176 mov ip, ip, asl #1
177 ldrh ip, [ip, lr]
178 add r6, r6, #1
179 cmp r7, r6
180 strh ip, [r5, #14] @ movhi
181 add sl, sl, #2
182 add r5, r5, #16
183 bne .L126
184.L489:
185 add r8, r8, r7, asl #4
186.L124:
187 rsb sl, r4, fp
188 movs r4, sl, lsr #3
189 ldreq r3, [sp, #0]
190 beq .L136
191 ldr lr, .L516+12
192 ldr r6, [sp, #0]
193 mov r5, r8
194 mov r7, #0
195 b .L137
196.L492:
197 ldr r0, [ip, #4]
198 ldr ip, [ip, #0]
199 and r1, r0, #255
200 mov r1, r1, asl #1
201 ldrh r1, [r1, lr]
202 mov r3, r0, lsr #8
203 and r3, r3, #255
204 strh r1, [r5, #6] @ movhi
205 mov r3, r3, asl #1
206 ldrh r3, [r3, lr]
207 mov r2, r0, lsr #16
208 and r2, r2, #255
209 strh r3, [r5, #4] @ movhi
210 mov r2, r2, asl #1
211 ldrh r2, [r2, lr]
212 mov r0, r0, lsr #24
213 strh r2, [r5, #2] @ movhi
214 mov r0, r0, asl #1
215 ldrh r0, [r0, lr]
216 and r1, ip, #255
217 strh r0, [r5, #0] @ movhi
218 mov r1, r1, asl #1
219 ldrh r1, [r1, lr]
220 mov r2, ip, lsr #8
221 and r2, r2, #255
222 strh r1, [r5, #14] @ movhi
223 mov r2, r2, asl #1
224 ldrh r2, [r2, lr]
225 mov r3, ip, lsr #16
226 and r3, r3, #255
227 strh r2, [r5, #12] @ movhi
228 mov r3, r3, asl #1
229 ldrh r3, [r3, lr]
230 mov ip, ip, lsr #24
231 strh r3, [r5, #10] @ movhi
232 mov ip, ip, asl #1
233 ldrh ip, [ip, lr]
234 add r7, r7, #1
235 cmp r4, r7
236 strh ip, [r5, #8] @ movhi
237 add r6, r6, #2
238 add r5, r5, #16
239 beq .L491
240.L137:
241 ldrh r2, [r6, #0]
242 mov r3, r2, asl #22
243 mov r3, r3, lsr #22
244 tst r2, #2048
245 add ip, r9, r3, asl #6
246 ldrne r3, [sp, #4]
247 addne ip, ip, r3
248 tst r2, #1024
249 bne .L492
250 ldmia ip, {r0, ip} @ phole ldm
251 and r1, r0, #255
252 mov r1, r1, asl #1
253 ldrh r1, [r1, lr]
254 mov r3, r0, lsr #8
255 and r3, r3, #255
256 strh r1, [r5, #0] @ movhi
257 mov r3, r3, asl #1
258 ldrh r3, [r3, lr]
259 mov r2, r0, lsr #16
260 and r2, r2, #255
261 strh r3, [r5, #2] @ movhi
262 mov r2, r2, asl #1
263 ldrh r2, [r2, lr]
264 mov r0, r0, lsr #24
265 strh r2, [r5, #4] @ movhi
266 mov r0, r0, asl #1
267 ldrh r0, [r0, lr]
268 and r1, ip, #255
269 strh r0, [r5, #6] @ movhi
270 mov r1, r1, asl #1
271 ldrh r1, [r1, lr]
272 mov r2, ip, lsr #8
273 and r2, r2, #255
274 strh r1, [r5, #8] @ movhi
275 mov r2, r2, asl #1
276 ldrh r2, [r2, lr]
277 mov r3, ip, lsr #16
278 and r3, r3, #255
279 strh r2, [r5, #10] @ movhi
280 mov r3, r3, asl #1
281 ldrh r3, [r3, lr]
282 mov ip, ip, lsr #24
283 strh r3, [r5, #12] @ movhi
284 mov ip, ip, asl #1
285 ldrh ip, [ip, lr]
286 add r7, r7, #1
287 cmp r4, r7
288 strh ip, [r5, #14] @ movhi
289 add r6, r6, #2
290 add r5, r5, #16
291 bne .L137
292.L491:
293 ldr r2, [sp, #0]
294 add r8, r8, r4, asl #4
295 add r3, r2, r4, asl #1
296.L136:
297 ands r5, sl, #7
298 beq .L431
299 ldrh r4, [r3, #0]
300 mov r3, r4, asl #22
301 mov r3, r3, lsr #22
302 tst r4, #2048
303 add ip, r9, r3, asl #6
304 ldrne r3, [sp, #4]
305 addne ip, ip, r3
306 tst r4, #1024
307 beq .L147
308 cmp r5, #3
309 bhi .L493
310 ldr r1, [ip, #4]
311 ldr lr, .L516+12
312.L152:
313 mov r0, #0
314.L153:
315 mov r3, r1, lsr #24
316 mov r3, r3, asl #1
317 add r0, r0, #1
318 ldrh r3, [r3, lr]
319 cmp r5, r0
320 strh r3, [r8], #2 @ movhi
321 mov r1, r1, asl #8
322 bhi .L153
323.L431:
324 add sp, sp, #8
325 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
326.L10:
327 and r1, r0, #255
328 and r3, r7, #7
329 mov r2, r6, asl #12
330 mov r3, r3, asl #2
331 and r2, r2, #49152
332 rsb r4, r1, #256
333 add r2, r2, r3
334 cmp fp, r4
335 mov r3, r3, asl #1
336 add ip, r2, r9
337 rsb lr, r3, #28
338 and r0, r0, #7
339 bls .L494
340 cmp r0, #0
341 moveq r6, r0
342 bne .L495
343.L276:
344 rsb r3, r6, r4
345 movs r9, r3, lsr #3
346 beq .L296
347 ldr r6, .L516+12
348 mov r0, r8
349 mov r7, #0
350 b .L298
351.L496:
352 ldr r2, [r3, #0]
353 cmp r2, #0
354 beq .L329
355 ands r3, r2, #15
356 orrne r3, r5, r3
357 movne r3, r3, asl #1
358 ldrneh r3, [r3, r6]
359 ldreqh r3, [r6, #0]
360 strneh r3, [r0, #14] @ movhi
361 streqh r3, [r0, #14] @ movhi
362 mov r3, r2, lsr #4
363 ands r3, r3, #15
364 orrne r3, r5, r3
365 movne r3, r3, asl #1
366 ldrneh r3, [r3, r6]
367 ldreqh r3, [r6, #0]
368 strneh r3, [r0, #12] @ movhi
369 streqh r3, [r0, #12] @ movhi
370 mov r3, r2, lsr #8
371 ands r3, r3, #15
372 orrne r3, r5, r3
373 movne r3, r3, asl #1
374 ldrneh r3, [r3, r6]
375 ldreqh r3, [r6, #0]
376 strneh r3, [r0, #10] @ movhi
377 streqh r3, [r0, #10] @ movhi
378 mov r3, r2, lsr #12
379 ands r3, r3, #15
380 orrne r3, r5, r3
381 movne r3, r3, asl #1
382 ldrneh r3, [r3, r6]
383 ldreqh r3, [r6, #0]
384 strneh r3, [r0, #8] @ movhi
385 streqh r3, [r0, #8] @ movhi
386 mov r3, r2, lsr #16
387 ands r3, r3, #15
388 orrne r3, r5, r3
389 movne r3, r3, asl #1
390 ldrneh r3, [r3, r6]
391 ldreqh r3, [r6, #0]
392 strneh r3, [r0, #6] @ movhi
393 streqh r3, [r0, #6] @ movhi
394 mov r3, r2, lsr #20
395 ands r3, r3, #15
396 orrne r3, r5, r3
397 movne r3, r3, asl #1
398 ldrneh r3, [r3, r6]
399 ldreqh r3, [r6, #0]
400 strneh r3, [r0, #4] @ movhi
401 streqh r3, [r0, #4] @ movhi
402 mov r3, r2, lsr #24
403 ands r3, r3, #15
404 orrne r3, r5, r3
405 movne r3, r3, asl #1
406 ldrneh r3, [r3, r6]
407 ldreqh r3, [r6, #0]
408 strneh r3, [r0, #2] @ movhi
409 streqh r3, [r0, #2] @ movhi
410 movs r3, r2, lsr #28
411 orrne r3, r5, r3
412 movne r3, r3, asl #1
413 ldrneh r3, [r3, r6]
414 ldreqh r2, [r6, #0]
415 strneh r3, [r0, #0] @ movhi
416 streqh r2, [r0, #0] @ movhi
417.L328:
418 add r7, r7, #1
419 cmp r9, r7
420 add r0, r0, #16
421 beq .L354
422.L497:
423 add sl, sl, #2
424.L298:
425 ldrh r1, [sl, #0]
426 mov r2, r1, asl #22
427 mov r3, r1, lsr #12
428 mov r2, r2, lsr #22
429 tst r1, #2048
430 mov r5, r3, asl #4
431 add r3, ip, r2, asl #5
432 addne r3, r3, lr
433 tst r1, #1024
434 bne .L496
435 ldr r2, [r3, #0]
436 cmp r2, #0
437 beq .L329
438 ands r3, r2, #15
439 orrne r3, r5, r3
440 movne r3, r3, asl #1
441 ldrneh r3, [r3, r6]
442 ldreqh r3, [r6, #0]
443 strneh r3, [r0, #0] @ movhi
444 streqh r3, [r0, #0] @ movhi
445 mov r3, r2, lsr #4
446 ands r3, r3, #15
447 orrne r3, r5, r3
448 movne r3, r3, asl #1
449 ldrneh r3, [r3, r6]
450 ldreqh r3, [r6, #0]
451 strneh r3, [r0, #2] @ movhi
452 streqh r3, [r0, #2] @ movhi
453 mov r3, r2, lsr #8
454 ands r3, r3, #15
455 orrne r3, r5, r3
456 movne r3, r3, asl #1
457 ldrneh r3, [r3, r6]
458 ldreqh r3, [r6, #0]
459 strneh r3, [r0, #4] @ movhi
460 streqh r3, [r0, #4] @ movhi
461 mov r3, r2, lsr #12
462 ands r3, r3, #15
463 orrne r3, r5, r3
464 movne r3, r3, asl #1
465 ldrneh r3, [r3, r6]
466 ldreqh r3, [r6, #0]
467 strneh r3, [r0, #6] @ movhi
468 streqh r3, [r0, #6] @ movhi
469 mov r3, r2, lsr #16
470 ands r3, r3, #15
471 orrne r3, r5, r3
472 movne r3, r3, asl #1
473 ldrneh r3, [r3, r6]
474 ldreqh r3, [r6, #0]
475 strneh r3, [r0, #8] @ movhi
476 streqh r3, [r0, #8] @ movhi
477 mov r3, r2, lsr #20
478 ands r3, r3, #15
479 orrne r3, r5, r3
480 movne r3, r3, asl #1
481 ldrneh r3, [r3, r6]
482 ldreqh r3, [r6, #0]
483 strneh r3, [r0, #10] @ movhi
484 streqh r3, [r0, #10] @ movhi
485 mov r3, r2, lsr #24
486 ands r3, r3, #15
487 orrne r3, r5, r3
488 movne r3, r3, asl #1
489 ldrneh r3, [r3, r6]
490 ldreqh r3, [r6, #0]
491 strneh r3, [r0, #12] @ movhi
492 streqh r3, [r0, #12] @ movhi
493 movs r3, r2, lsr #28
494 orrne r3, r5, r3
495 movne r3, r3, asl #1
496 ldrneh r3, [r3, r6]
497 ldreqh r2, [r6, #0]
498 add r7, r7, #1
499 strneh r3, [r0, #14] @ movhi
500 streqh r2, [r0, #14] @ movhi
501 cmp r9, r7
502 add r0, r0, #16
503 bne .L497
504.L354:
505 add r8, r8, r9, asl #4
506.L296:
507 rsb r9, r4, fp
508 movs r4, r9, lsr #3
509 ldreq r2, [sp, #0]
510 beq .L358
511 ldr r6, .L516+12
512 ldr r7, [sp, #0]
513 mov r0, r8
514 mov sl, #0
515 b .L359
516.L499:
517 ldr r2, [r3, #0]
518 cmp r2, #0
519 beq .L390
520 ands r3, r2, #15
521 orrne r3, r5, r3
522 movne r3, r3, asl #1
523 ldrneh r3, [r3, r6]
524 ldreqh r3, [r6, #0]
525 strneh r3, [r0, #14] @ movhi
526 streqh r3, [r0, #14] @ movhi
527 mov r3, r2, lsr #4
528 ands r3, r3, #15
529 orrne r3, r5, r3
530 movne r3, r3, asl #1
531 ldrneh r3, [r3, r6]
532 ldreqh r3, [r6, #0]
533 strneh r3, [r0, #12] @ movhi
534 streqh r3, [r0, #12] @ movhi
535 mov r3, r2, lsr #8
536 ands r3, r3, #15
537 orrne r3, r5, r3
538 movne r3, r3, asl #1
539 ldrneh r3, [r3, r6]
540 ldreqh r3, [r6, #0]
541 strneh r3, [r0, #10] @ movhi
542 streqh r3, [r0, #10] @ movhi
543 mov r3, r2, lsr #12
544 ands r3, r3, #15
545 orrne r3, r5, r3
546 movne r3, r3, asl #1
547 ldrneh r3, [r3, r6]
548 ldreqh r3, [r6, #0]
549 strneh r3, [r0, #8] @ movhi
550 streqh r3, [r0, #8] @ movhi
551 mov r3, r2, lsr #16
552 ands r3, r3, #15
553 orrne r3, r5, r3
554 movne r3, r3, asl #1
555 ldrneh r3, [r3, r6]
556 ldreqh r3, [r6, #0]
557 strneh r3, [r0, #6] @ movhi
558 streqh r3, [r0, #6] @ movhi
559 mov r3, r2, lsr #20
560 ands r3, r3, #15
561 orrne r3, r5, r3
562 movne r3, r3, asl #1
563 ldrneh r3, [r3, r6]
564 ldreqh r3, [r6, #0]
565 strneh r3, [r0, #4] @ movhi
566 streqh r3, [r0, #4] @ movhi
567 mov r3, r2, lsr #24
568 ands r3, r3, #15
569 orrne r3, r5, r3
570 movne r3, r3, asl #1
571 ldrneh r3, [r3, r6]
572 ldreqh r3, [r6, #0]
573 strneh r3, [r0, #2] @ movhi
574 streqh r3, [r0, #2] @ movhi
575 movs r3, r2, lsr #28
576 orrne r3, r5, r3
577 movne r3, r3, asl #1
578 ldrneh r3, [r3, r6]
579 ldreqh r2, [r6, #0]
580 strneh r3, [r0, #0] @ movhi
581 streqh r2, [r0, #0] @ movhi
582.L389:
583 add sl, sl, #1
584 cmp r4, sl
585 add r0, r0, #16
586 add r7, r7, #2
587 beq .L498
588.L359:
589 ldrh r1, [r7, #0]
590 mov r2, r1, asl #22
591 mov r3, r1, lsr #12
592 mov r2, r2, lsr #22
593 tst r1, #2048
594 mov r5, r3, asl #4
595 add r3, ip, r2, asl #5
596 addne r3, r3, lr
597 tst r1, #1024
598 bne .L499
599 ldr r2, [r3, #0]
600 cmp r2, #0
601 beq .L390
602 ands r3, r2, #15
603 orrne r3, r5, r3
604 movne r3, r3, asl #1
605 ldrneh r3, [r3, r6]
606 ldreqh r3, [r6, #0]
607 strneh r3, [r0, #0] @ movhi
608 streqh r3, [r0, #0] @ movhi
609 mov r3, r2, lsr #4
610 ands r3, r3, #15
611 orrne r3, r5, r3
612 movne r3, r3, asl #1
613 ldrneh r3, [r3, r6]
614 ldreqh r3, [r6, #0]
615 strneh r3, [r0, #2] @ movhi
616 streqh r3, [r0, #2] @ movhi
617 mov r3, r2, lsr #8
618 ands r3, r3, #15
619 orrne r3, r5, r3
620 movne r3, r3, asl #1
621 ldrneh r3, [r3, r6]
622 ldreqh r3, [r6, #0]
623 strneh r3, [r0, #4] @ movhi
624 streqh r3, [r0, #4] @ movhi
625 mov r3, r2, lsr #12
626 ands r3, r3, #15
627 orrne r3, r5, r3
628 movne r3, r3, asl #1
629 ldrneh r3, [r3, r6]
630 ldreqh r3, [r6, #0]
631 strneh r3, [r0, #6] @ movhi
632 streqh r3, [r0, #6] @ movhi
633 mov r3, r2, lsr #16
634 ands r3, r3, #15
635 orrne r3, r5, r3
636 movne r3, r3, asl #1
637 ldrneh r3, [r3, r6]
638 ldreqh r3, [r6, #0]
639 strneh r3, [r0, #8] @ movhi
640 streqh r3, [r0, #8] @ movhi
641 mov r3, r2, lsr #20
642 ands r3, r3, #15
643 orrne r3, r5, r3
644 movne r3, r3, asl #1
645 ldrneh r3, [r3, r6]
646 ldreqh r3, [r6, #0]
647 strneh r3, [r0, #10] @ movhi
648 streqh r3, [r0, #10] @ movhi
649 mov r3, r2, lsr #24
650 ands r3, r3, #15
651 orrne r3, r5, r3
652 movne r3, r3, asl #1
653 ldrneh r3, [r3, r6]
654 ldreqh r3, [r6, #0]
655 strneh r3, [r0, #12] @ movhi
656 streqh r3, [r0, #12] @ movhi
657 movs r3, r2, lsr #28
658 orrne r3, r5, r3
659 movne r3, r3, asl #1
660 ldrneh r3, [r3, r6]
661 ldreqh r2, [r6, #0]
662 add sl, sl, #1
663 strneh r3, [r0, #14] @ movhi
664 streqh r2, [r0, #14] @ movhi
665 cmp r4, sl
666 add r0, r0, #16
667 add r7, r7, #2
668 bne .L359
669.L498:
670 ldr r3, [sp, #0]
671 add r8, r8, r4, asl #4
672 add r2, r3, r4, asl #1
673.L358:
674 ands r5, r9, #7
675 beq .L431
676 ldrh r4, [r2, #0]
677 mov r3, r4, asl #22
678 mov r3, r3, lsr #22
679 tst r4, #2048
680 add r3, ip, r3, asl #5
681 mov r2, r4, lsr #12
682 addne r3, r3, lr
683 tst r4, #1024
684 mov r0, r2, asl #4
685 beq .L419
686 ldr r2, [r3, #0]
687 ldr ip, .L516+12
688 mov r1, #0
689.L421:
690 movs r3, r2, lsr #28
691 orr r3, r0, r3
692 mov r3, r3, asl #1
693 ldrneh r3, [r3, ip]
694 ldreqh r3, [ip, #0]
695 add r1, r1, #1
696 strneh r3, [r8, #0] @ movhi
697 streqh r3, [r8, #0] @ movhi
698 cmp r5, r1
699 mov r2, r2, asl #4
700 add r8, r8, #2
701 bne .L421
702 b .L431
703.L494:
704 cmp r0, #0
705 bne .L500
706.L161:
707 movs r9, fp, lsr #3
708 beq .L200
709 ldr r5, .L516+12
710 mov r0, r8
711 mov r6, sl
712 mov r7, #0
713 b .L202
714.L502:
715 ldr r2, [r3, #0]
716 cmp r2, #0
717 beq .L233
718 ands r3, r2, #15
719 orrne r3, r4, r3
720 movne r3, r3, asl #1
721 ldrneh r3, [r3, r5]
722 ldreqh r3, [r5, #0]
723 strneh r3, [r0, #14] @ movhi
724 streqh r3, [r0, #14] @ movhi
725 mov r3, r2, lsr #4
726 ands r3, r3, #15
727 orrne r3, r4, r3
728 movne r3, r3, asl #1
729 ldrneh r3, [r3, r5]
730 ldreqh r3, [r5, #0]
731 strneh r3, [r0, #12] @ movhi
732 streqh r3, [r0, #12] @ movhi
733 mov r3, r2, lsr #8
734 ands r3, r3, #15
735 orrne r3, r4, r3
736 movne r3, r3, asl #1
737 ldrneh r3, [r3, r5]
738 ldreqh r3, [r5, #0]
739 strneh r3, [r0, #10] @ movhi
740 streqh r3, [r0, #10] @ movhi
741 mov r3, r2, lsr #12
742 ands r3, r3, #15
743 orrne r3, r4, r3
744 movne r3, r3, asl #1
745 ldrneh r3, [r3, r5]
746 ldreqh r3, [r5, #0]
747 strneh r3, [r0, #8] @ movhi
748 streqh r3, [r0, #8] @ movhi
749 mov r3, r2, lsr #16
750 ands r3, r3, #15
751 orrne r3, r4, r3
752 movne r3, r3, asl #1
753 ldrneh r3, [r3, r5]
754 ldreqh r3, [r5, #0]
755 strneh r3, [r0, #6] @ movhi
756 streqh r3, [r0, #6] @ movhi
757 mov r3, r2, lsr #20
758 ands r3, r3, #15
759 orrne r3, r4, r3
760 movne r3, r3, asl #1
761 ldrneh r3, [r3, r5]
762 ldreqh r3, [r5, #0]
763 strneh r3, [r0, #4] @ movhi
764 streqh r3, [r0, #4] @ movhi
765 mov r3, r2, lsr #24
766 ands r3, r3, #15
767 orrne r3, r4, r3
768 movne r3, r3, asl #1
769 ldrneh r3, [r3, r5]
770 ldreqh r3, [r5, #0]
771 strneh r3, [r0, #2] @ movhi
772 streqh r3, [r0, #2] @ movhi
773 movs r3, r2, lsr #28
774 orrne r3, r4, r3
775 movne r3, r3, asl #1
776 ldrneh r3, [r3, r5]
777 ldreqh r2, [r5, #0]
778 strneh r3, [r0, #0] @ movhi
779 streqh r2, [r0, #0] @ movhi
780.L232:
781 add r7, r7, #1
782 cmp r9, r7
783 add r0, r0, #16
784 add r6, r6, #2
785 beq .L501
786.L202:
787 ldrh r1, [r6, #0]
788 mov r2, r1, asl #22
789 mov r3, r1, lsr #12
790 mov r2, r2, lsr #22
791 tst r1, #2048
792 mov r4, r3, asl #4
793 add r3, ip, r2, asl #5
794 addne r3, r3, lr
795 tst r1, #1024
796 bne .L502
797 ldr r2, [r3, #0]
798 cmp r2, #0
799 beq .L233
800 ands r3, r2, #15
801 orrne r3, r4, r3
802 movne r3, r3, asl #1
803 ldrneh r3, [r3, r5]
804 ldreqh r3, [r5, #0]
805 strneh r3, [r0, #0] @ movhi
806 streqh r3, [r0, #0] @ movhi
807 mov r3, r2, lsr #4
808 ands r3, r3, #15
809 orrne r3, r4, r3
810 movne r3, r3, asl #1
811 ldrneh r3, [r3, r5]
812 ldreqh r3, [r5, #0]
813 strneh r3, [r0, #2] @ movhi
814 streqh r3, [r0, #2] @ movhi
815 mov r3, r2, lsr #8
816 ands r3, r3, #15
817 orrne r3, r4, r3
818 movne r3, r3, asl #1
819 ldrneh r3, [r3, r5]
820 ldreqh r3, [r5, #0]
821 strneh r3, [r0, #4] @ movhi
822 streqh r3, [r0, #4] @ movhi
823 mov r3, r2, lsr #12
824 ands r3, r3, #15
825 orrne r3, r4, r3
826 movne r3, r3, asl #1
827 ldrneh r3, [r3, r5]
828 ldreqh r3, [r5, #0]
829 strneh r3, [r0, #6] @ movhi
830 streqh r3, [r0, #6] @ movhi
831 mov r3, r2, lsr #16
832 ands r3, r3, #15
833 orrne r3, r4, r3
834 movne r3, r3, asl #1
835 ldrneh r3, [r3, r5]
836 ldreqh r3, [r5, #0]
837 strneh r3, [r0, #8] @ movhi
838 streqh r3, [r0, #8] @ movhi
839 mov r3, r2, lsr #20
840 ands r3, r3, #15
841 orrne r3, r4, r3
842 movne r3, r3, asl #1
843 ldrneh r3, [r3, r5]
844 ldreqh r3, [r5, #0]
845 strneh r3, [r0, #10] @ movhi
846 streqh r3, [r0, #10] @ movhi
847 mov r3, r2, lsr #24
848 ands r3, r3, #15
849 orrne r3, r4, r3
850 movne r3, r3, asl #1
851 ldrneh r3, [r3, r5]
852 ldreqh r3, [r5, #0]
853 strneh r3, [r0, #12] @ movhi
854 streqh r3, [r0, #12] @ movhi
855 movs r3, r2, lsr #28
856 orrne r3, r4, r3
857 movne r3, r3, asl #1
858 ldrneh r3, [r3, r5]
859 ldreqh r2, [r5, #0]
860 add r7, r7, #1
861 strneh r3, [r0, #14] @ movhi
862 streqh r2, [r0, #14] @ movhi
863 cmp r9, r7
864 add r0, r0, #16
865 add r6, r6, #2
866 bne .L202
867.L501:
868 add r8, r8, r9, asl #4
869 add sl, sl, r9, asl #1
870.L200:
871 ands r4, fp, #7
872 beq .L431
873 ldrh r1, [sl, #0]
874 mov r3, r1, asl #22
875 mov r3, r3, lsr #22
876 tst r1, #2048
877 add r3, ip, r3, asl #5
878 mov r2, r1, lsr #12
879 addne r3, r3, lr
880 tst r1, #1024
881 mov r0, r2, asl #4
882 beq .L262
883 ldr r2, [r3, #0]
884 ldr ip, .L516+12
885 mov r1, #0
886.L264:
887 movs r3, r2, lsr #28
888 orr r3, r0, r3
889 mov r3, r3, asl #1
890 ldrneh r3, [r3, ip]
891 ldreqh r3, [ip, #0]
892 add r1, r1, #1
893 strneh r3, [r8, #0] @ movhi
894 streqh r3, [r8, #0] @ movhi
895 cmp r4, r1
896 mov r2, r2, asl #4
897 add r8, r8, #2
898 bne .L264
899 b .L431
900.L487:
901 cmp r0, #0
902 bne .L503
903.L14:
904 movs lr, fp, lsr #3
905 beq .L74
906 ldr r5, .L516+12
907 mov r4, r8
908 mov r6, sl
909 mov r7, #0
910 b .L76
911.L505:
912 ldr r0, [ip, #4]
913 ldr ip, [ip, #0]
914 and r1, r0, #255
915 mov r1, r1, asl #1
916 ldrh r1, [r1, r5]
917 mov r3, r0, lsr #8
918 and r3, r3, #255
919 strh r1, [r4, #6] @ movhi
920 mov r3, r3, asl #1
921 ldrh r3, [r3, r5]
922 mov r2, r0, lsr #16
923 and r2, r2, #255
924 strh r3, [r4, #4] @ movhi
925 mov r2, r2, asl #1
926 ldrh r2, [r2, r5]
927 mov r0, r0, lsr #24
928 strh r2, [r4, #2] @ movhi
929 mov r0, r0, asl #1
930 ldrh r0, [r0, r5]
931 and r1, ip, #255
932 strh r0, [r4, #0] @ movhi
933 mov r1, r1, asl #1
934 ldrh r1, [r1, r5]
935 mov r2, ip, lsr #8
936 and r2, r2, #255
937 strh r1, [r4, #14] @ movhi
938 mov r2, r2, asl #1
939 ldrh r2, [r2, r5]
940 mov r3, ip, lsr #16
941 and r3, r3, #255
942 strh r2, [r4, #12] @ movhi
943 mov r3, r3, asl #1
944 ldrh r3, [r3, r5]
945 mov ip, ip, lsr #24
946 strh r3, [r4, #10] @ movhi
947 mov ip, ip, asl #1
948 ldrh ip, [ip, r5]
949 add r7, r7, #1
950 cmp lr, r7
951 strh ip, [r4, #8] @ movhi
952 add r6, r6, #2
953 add r4, r4, #16
954 beq .L504
955.L76:
956 ldrh r2, [r6, #0]
957 mov r3, r2, asl #22
958 mov r3, r3, lsr #22
959 tst r2, #2048
960 add ip, r9, r3, asl #6
961 ldrne r3, [sp, #4]
962 addne ip, ip, r3
963 tst r2, #1024
964 bne .L505
965 ldmia ip, {r0, ip} @ phole ldm
966 and r1, r0, #255
967 mov r1, r1, asl #1
968 ldrh r1, [r1, r5]
969 mov r3, r0, lsr #8
970 and r3, r3, #255
971 strh r1, [r4, #0] @ movhi
972 mov r3, r3, asl #1
973 ldrh r3, [r3, r5]
974 mov r2, r0, lsr #16
975 and r2, r2, #255
976 strh r3, [r4, #2] @ movhi
977 mov r2, r2, asl #1
978 ldrh r2, [r2, r5]
979 mov r0, r0, lsr #24
980 strh r2, [r4, #4] @ movhi
981 mov r0, r0, asl #1
982 ldrh r0, [r0, r5]
983 and r1, ip, #255
984 strh r0, [r4, #6] @ movhi
985 mov r1, r1, asl #1
986 ldrh r1, [r1, r5]
987 mov r2, ip, lsr #8
988 and r2, r2, #255
989 strh r1, [r4, #8] @ movhi
990 mov r2, r2, asl #1
991 ldrh r2, [r2, r5]
992 mov r3, ip, lsr #16
993 and r3, r3, #255
994 strh r2, [r4, #10] @ movhi
995 mov r3, r3, asl #1
996 ldrh r3, [r3, r5]
997 mov ip, ip, lsr #24
998 strh r3, [r4, #12] @ movhi
999 mov ip, ip, asl #1
1000 ldrh ip, [ip, r5]
1001 add r7, r7, #1
1002 cmp lr, r7
1003 strh ip, [r4, #14] @ movhi
1004 add r6, r6, #2
1005 add r4, r4, #16
1006 bne .L76
1007.L504:
1008 add r8, r8, lr, asl #4
1009 add sl, sl, lr, asl #1
1010.L74:
1011 ands r4, fp, #7
1012 beq .L431
1013 ldrh r2, [sl, #0]
1014 mov r3, r2, asl #22
1015 mov r3, r3, lsr #22
1016 tst r2, #2048
1017 add ip, r9, r3, asl #6
1018 ldrne r3, [sp, #4]
1019 addne ip, ip, r3
1020 tst r2, #1024
1021 beq .L86
1022 cmp r4, #3
1023 bhi .L506
1024 ldr r1, [ip, #4]
1025 ldr lr, .L516+12
1026.L91:
1027 mov r0, #0
1028.L92:
1029 mov r3, r1, lsr #24
1030 mov r3, r3, asl #1
1031 add r0, r0, #1
1032 ldrh r3, [r3, lr]
1033 cmp r4, r0
1034 strh r3, [r8], #2 @ movhi
1035 mov r1, r1, asl #8
1036 bhi .L92
1037 b .L431
1038.L329:
1039 ldrh r3, [r6, #0]
1040 strh r3, [r0, #14] @ movhi
1041 strh r3, [r0, #0] @ movhi
1042 strh r3, [r0, #2] @ movhi
1043 strh r3, [r0, #4] @ movhi
1044 strh r3, [r0, #6] @ movhi
1045 strh r3, [r0, #8] @ movhi
1046 strh r3, [r0, #10] @ movhi
1047 strh r3, [r0, #12] @ movhi
1048 b .L328
1049.L390:
1050 ldrh r3, [r6, #0]
1051 strh r3, [r0, #14] @ movhi
1052 strh r3, [r0, #0] @ movhi
1053 strh r3, [r0, #2] @ movhi
1054 strh r3, [r0, #4] @ movhi
1055 strh r3, [r0, #6] @ movhi
1056 strh r3, [r0, #8] @ movhi
1057 strh r3, [r0, #10] @ movhi
1058 strh r3, [r0, #12] @ movhi
1059 b .L389
1060.L517:
1061 .align 2
1062.L516:
1063 .word io_registers
1064 .word map_widths
1065 .word vram
1066 .word palette_ram_converted
1067.L500:
1068 rsb r4, r0, #8
1069 cmp fp, r4
1070 bcs .L163
1071 ldrh r1, [sl, #0]
1072 mov r3, r1, asl #22
1073 mov r3, r3, lsr #22
1074 tst r1, #2048
1075 add ip, ip, r3, asl #5
1076 mov r2, r1, lsr #12
1077 addne ip, ip, lr
1078 tst r1, #1024
1079 mov r4, r2, asl #4
1080 bne .L507
1081 cmp fp, #0
1082 ldr r2, [ip, #0]
1083 beq .L431
1084 mov r3, r0, asl #2
1085 mov r0, r2, lsr r3
1086 ldr r2, .L516+12
1087 mov r1, #0
1088.L176:
1089 ands r3, r0, #15
1090 orr r3, r4, r3
1091 mov r3, r3, asl #1
1092 ldrneh r3, [r3, r2]
1093 ldreqh r3, [r2, #0]
1094 add r1, r1, #1
1095 strneh r3, [r8, #0] @ movhi
1096 streqh r3, [r8, #0] @ movhi
1097 cmp fp, r1
1098 mov r0, r0, lsr #4
1099 add r8, r8, #2
1100 bne .L176
1101 b .L431
1102.L495:
1103 ldrh r5, [sl, #0]
1104 rsb r6, r0, #8
1105 mov r2, r5, asl #22
1106 mov r3, r5, lsr #12
1107 mov r2, r2, lsr #22
1108 tst r5, #2048
1109 mov r7, r3, asl #4
1110 add r3, ip, r2, asl #5
1111 addne r3, r3, lr
1112 tst r5, #1024
1113 beq .L279
1114 cmp r6, #0
1115 ldr r2, [r3, #0]
1116 beq .L281
1117 mov r3, r0, asl #2
1118 ldr r5, .L516+12
1119 mov r0, r2, asl r3
1120 mov r1, #0
1121 mov r2, r8
1122.L283:
1123 movs r3, r0, lsr #28
1124 orr r3, r7, r3
1125 mov r3, r3, asl #1
1126 ldrneh r3, [r3, r5]
1127 ldreqh r3, [r5, #0]
1128 add r1, r1, #1
1129 strneh r3, [r2, #0] @ movhi
1130 streqh r3, [r2, #0] @ movhi
1131 cmp r6, r1
1132 mov r0, r0, asl #4
1133 add r2, r2, #2
1134 bne .L283
1135 add r8, r8, r6, asl #1
1136.L281:
1137 add sl, sl, #2
1138 b .L276
1139.L488:
1140 ldrh r2, [sl, #0]
1141 rsb ip, r0, #8
1142 mov r3, r2, asl #22
1143 mov r3, r3, lsr #22
1144 tst r2, #2048
1145 add r5, r9, r3, asl #6
1146 ldrne r3, [sp, #4]
1147 addne r5, r5, r3
1148 ands r1, r2, #1024
1149 beq .L103
1150 cmp r0, #3
1151 bhi .L508
1152 subs lr, ip, #4
1153 ldr r2, [r5, #4]
1154 ldreq r6, .L516+12
1155 beq .L111
1156 mov r3, r0, asl #3
1157 sub r3, r3, #32
1158 ldr r6, .L516+12
1159 mov r0, r2, asl r3
1160 mov r1, r8
1161 mov r2, #0
1162.L113:
1163 mov r3, r0, lsr #24
1164 mov r3, r3, asl #1
1165 add r2, r2, #1
1166 ldrh r3, [r3, r6]
1167 cmp lr, r2
1168 strh r3, [r1], #2 @ movhi
1169 mov r0, r0, asl #8
1170 bne .L113
1171 add r3, r8, ip, asl #1
1172 sub r8, r3, #8
1173.L111:
1174 ldr r3, [r5, #0]
1175 mov ip, lr
1176 and r0, r3, #255
1177 mov r0, r0, asl #1
1178 ldrh r0, [r0, r6]
1179 mov r2, r3, lsr #8
1180 and r2, r2, #255
1181 strh r0, [r8, #6] @ movhi
1182 mov r2, r2, asl #1
1183 ldrh r2, [r2, r6]
1184 mov r1, r3, lsr #16
1185 and r1, r1, #255
1186 strh r2, [r8, #4] @ movhi
1187 mov r1, r1, asl #1
1188 ldrh r1, [r1, r6]
1189 mov r3, r3, lsr #24
1190 strh r1, [r8, #2] @ movhi
1191 mov r3, r3, asl #1
1192 ldrh r3, [r3, r6]
1193 strh r3, [r8], #8 @ movhi
1194.L107:
1195 add sl, sl, #2
1196 b .L100
1197.L503:
1198 rsb ip, r0, #8
1199 cmp fp, ip
1200 bcs .L16
1201 ldrh r2, [sl, #0]
1202 mov r3, r2, asl #22
1203 mov r3, r3, lsr #22
1204 tst r2, #2048
1205 add ip, r9, r3, asl #6
1206 ldrne r3, [sp, #4]
1207 addne ip, ip, r3
1208 ands r4, r2, #1024
1209 bne .L509
1210 cmp r0, #3
1211 bls .L37
1212 cmp fp, #0
1213 ldr r2, [ip, #4]
1214 beq .L431
1215 mov r3, r0, asl #3
1216 sub r3, r3, #32
1217 ldr r1, .L516+12
1218 mov r0, r2, lsr r3
1219 mov r2, r4
1220.L40:
1221 and r3, r0, #255
1222 mov r3, r3, asl #1
1223 add r2, r2, #1
1224 ldrh r3, [r3, r1]
1225 cmp fp, r2
1226 strh r3, [r8], #2 @ movhi
1227 mov r0, r0, lsr #8
1228 bne .L40
1229 b .L431
1230.L233:
1231 ldrh r3, [r5, #0]
1232 strh r3, [r0, #14] @ movhi
1233 strh r3, [r0, #0] @ movhi
1234 strh r3, [r0, #2] @ movhi
1235 strh r3, [r0, #4] @ movhi
1236 strh r3, [r0, #6] @ movhi
1237 strh r3, [r0, #8] @ movhi
1238 strh r3, [r0, #10] @ movhi
1239 strh r3, [r0, #12] @ movhi
1240 b .L232
1241.L147:
1242 cmp r5, #3
1243 bhi .L510
1244 ldr r1, [ip, #0]
1245 ldr lr, .L516+12
1246.L157:
1247 mov r0, #0
1248.L158:
1249 and r3, r1, #255
1250 mov r3, r3, asl #1
1251 add r0, r0, #1
1252 ldrh r3, [r3, lr]
1253 cmp r5, r0
1254 strh r3, [r8], #2 @ movhi
1255 mov r1, r1, lsr #8
1256 bhi .L158
1257 b .L431
1258.L419:
1259 ldr r2, [r3, #0]
1260 ldr ip, .L516+12
1261 mov r1, #0
1262.L426:
1263 ands r3, r2, #15
1264 orr r3, r0, r3
1265 mov r3, r3, asl #1
1266 ldrneh r3, [r3, ip]
1267 ldreqh r3, [ip, #0]
1268 add r1, r1, #1
1269 strneh r3, [r8, #0] @ movhi
1270 streqh r3, [r8, #0] @ movhi
1271 cmp r5, r1
1272 mov r2, r2, lsr #4
1273 add r8, r8, #2
1274 bne .L426
1275 b .L431
1276.L86:
1277 cmp r4, #3
1278 bhi .L511
1279 ldr r1, [ip, #0]
1280 ldr lr, .L516+12
1281.L96:
1282 mov r0, #0
1283.L97:
1284 and r3, r1, #255
1285 mov r3, r3, asl #1
1286 add r0, r0, #1
1287 ldrh r3, [r3, lr]
1288 cmp r4, r0
1289 strh r3, [r8], #2 @ movhi
1290 mov r1, r1, lsr #8
1291 bhi .L97
1292 b .L431
1293.L262:
1294 ldr r2, [r3, #0]
1295 ldr ip, .L516+12
1296 mov r1, #0
1297.L269:
1298 ands r3, r2, #15
1299 orr r3, r0, r3
1300 mov r3, r3, asl #1
1301 ldrneh r3, [r3, ip]
1302 ldreqh r3, [ip, #0]
1303 add r1, r1, #1
1304 strneh r3, [r8, #0] @ movhi
1305 streqh r3, [r8, #0] @ movhi
1306 cmp r4, r1
1307 mov r2, r2, lsr #4
1308 add r8, r8, #2
1309 bne .L269
1310 b .L431
1311.L279:
1312 cmp r6, #0
1313 ldr r2, [r3, #0]
1314 beq .L281
1315 mov r3, r0, asl #2
1316 ldr r5, .L516+12
1317 mov r0, r2, lsr r3
1318 mov r1, #0
1319 mov r2, r8
1320.L290:
1321 ands r3, r0, #15
1322 orr r3, r7, r3
1323 mov r3, r3, asl #1
1324 ldrneh r3, [r3, r5]
1325 ldreqh r3, [r5, #0]
1326 add r1, r1, #1
1327 strneh r3, [r2, #0] @ movhi
1328 streqh r3, [r2, #0] @ movhi
1329 cmp r6, r1
1330 mov r0, r0, lsr #4
1331 add r2, r2, #2
1332 bne .L290
1333 add r8, r8, r6, asl #1
1334 b .L281
1335.L163:
1336 ldrh r1, [sl, #0]
1337 mov r2, r1, asl #22
1338 mov r3, r1, lsr #12
1339 mov r2, r2, lsr #22
1340 tst r1, #2048
1341 mov r5, r3, asl #4
1342 add r3, ip, r2, asl #5
1343 addne r3, r3, lr
1344 tst r1, #1024
1345 bne .L512
1346 cmp r4, #0
1347 ldr r2, [r3, #0]
1348 beq .L185
1349 mov r3, r0, asl #2
1350 ldr r6, .L516+12
1351 mov r0, r2, lsr r3
1352 mov r1, #0
1353 mov r2, r8
1354.L194:
1355 ands r3, r0, #15
1356 orr r3, r5, r3
1357 mov r3, r3, asl #1
1358 ldrneh r3, [r3, r6]
1359 ldreqh r3, [r6, #0]
1360 add r1, r1, #1
1361 strneh r3, [r2, #0] @ movhi
1362 streqh r3, [r2, #0] @ movhi
1363 cmp r4, r1
1364 mov r0, r0, lsr #4
1365 add r2, r2, #2
1366 bne .L194
1367.L484:
1368 add r8, r8, r4, asl #1
1369.L185:
1370 rsb fp, r4, fp
1371 add sl, sl, #2
1372 b .L161
1373.L103:
1374 cmp r0, #3
1375 bhi .L513
1376 subs lr, ip, #4
1377 ldr r2, [r5, #0]
1378 ldreq r6, .L516+12
1379 beq .L120
1380 mov r3, r0, asl #3
1381 ldr r6, .L516+12
1382 mov r0, r2, lsr r3
1383 mov r2, r1
1384 mov r1, r8
1385.L122:
1386 and r3, r0, #255
1387 mov r3, r3, asl #1
1388 add r2, r2, #1
1389 ldrh r3, [r3, r6]
1390 cmp lr, r2
1391 strh r3, [r1], #2 @ movhi
1392 mov r0, r0, lsr #8
1393 bne .L122
1394 add r3, r8, ip, asl #1
1395 sub r8, r3, #8
1396.L120:
1397 ldr r3, [r5, #4]
1398 mov ip, lr
1399 and r0, r3, #255
1400 mov r0, r0, asl #1
1401 ldrh r0, [r0, r6]
1402 mov r2, r3, lsr #8
1403 and r2, r2, #255
1404 strh r0, [r8, #0] @ movhi
1405 mov r2, r2, asl #1
1406 ldrh r2, [r2, r6]
1407 mov r1, r3, lsr #16
1408 and r1, r1, #255
1409 strh r2, [r8, #2] @ movhi
1410 mov r1, r1, asl #1
1411 ldrh r1, [r1, r6]
1412 mov r3, r3, lsr #24
1413 strh r1, [r8, #4] @ movhi
1414 mov r3, r3, asl #1
1415 ldrh r3, [r3, r6]
1416 add sl, sl, #2
1417 strh r3, [r8, #6] @ movhi
1418 add r8, r8, #8
1419 b .L100
1420.L16:
1421 ldrh r2, [sl, #0]
1422 mov r3, r2, asl #22
1423 mov r3, r3, lsr #22
1424 tst r2, #2048
1425 add lr, r9, r3, asl #6
1426 ldrne r3, [sp, #4]
1427 addne lr, lr, r3
1428 ands r1, r2, #1024
1429 bne .L514
1430 cmp r0, #3
1431 bls .L65
1432 cmp ip, #0
1433 ldr r2, [lr, #4]
1434 beq .L57
1435 mov r3, r0, asl #3
1436 sub r3, r3, #32
1437 ldr lr, .L516+12
1438 mov r0, r2, lsr r3
1439 mov r2, r1
1440 mov r1, r8
1441.L68:
1442 and r3, r0, #255
1443 mov r3, r3, asl #1
1444 add r2, r2, #1
1445 ldrh r3, [r3, lr]
1446 cmp ip, r2
1447 strh r3, [r1], #2 @ movhi
1448 mov r0, r0, lsr #8
1449 bne .L68
1450.L482:
1451 add r8, r8, ip, asl #1
1452.L57:
1453 rsb fp, ip, fp
1454 add sl, sl, #2
1455 b .L14
1456.L510:
1457 ldr r1, [ip, #0]
1458 ldr lr, .L516+12
1459 and r0, r1, #255
1460 mov r0, r0, asl #1
1461 ldrh r0, [r0, lr]
1462 mov r3, r1, lsr #8
1463 and r3, r3, #255
1464 strh r0, [r8, #0] @ movhi
1465 mov r3, r3, asl #1
1466 ldrh r3, [r3, lr]
1467 mov r2, r1, lsr #16
1468 and r2, r2, #255
1469 strh r3, [r8, #2] @ movhi
1470 mov r2, r2, asl #1
1471 ldrh r2, [r2, lr]
1472 mov r1, r1, lsr #24
1473 strh r2, [r8, #4] @ movhi
1474 mov r1, r1, asl #1
1475 ldrh r1, [r1, lr]
1476 subs r5, r5, #4
1477 strh r1, [r8, #6] @ movhi
1478 ldr r1, [ip, #4]
1479 addne r8, r8, #8
1480 bne .L157
1481 b .L431
1482.L493:
1483 ldr r1, [ip, #4]
1484 ldr lr, .L516+12
1485 and r0, r1, #255
1486 mov r0, r0, asl #1
1487 ldrh r0, [r0, lr]
1488 mov r3, r1, lsr #8
1489 and r3, r3, #255
1490 strh r0, [r8, #6] @ movhi
1491 mov r3, r3, asl #1
1492 ldrh r3, [r3, lr]
1493 mov r2, r1, lsr #16
1494 and r2, r2, #255
1495 strh r3, [r8, #4] @ movhi
1496 mov r2, r2, asl #1
1497 ldrh r2, [r2, lr]
1498 mov r1, r1, lsr #24
1499 strh r2, [r8, #2] @ movhi
1500 mov r1, r1, asl #1
1501 ldrh r1, [r1, lr]
1502 subs r5, r5, #4
1503 strh r1, [r8, #0] @ movhi
1504 ldr r1, [ip, #0]
1505 addne r8, r8, #8
1506 bne .L152
1507 b .L431
1508.L506:
1509 ldr r1, [ip, #4]
1510 ldr lr, .L516+12
1511 and r0, r1, #255
1512 mov r0, r0, asl #1
1513 ldrh r0, [r0, lr]
1514 mov r3, r1, lsr #8
1515 and r3, r3, #255
1516 strh r0, [r8, #6] @ movhi
1517 mov r3, r3, asl #1
1518 ldrh r3, [r3, lr]
1519 mov r2, r1, lsr #16
1520 and r2, r2, #255
1521 strh r3, [r8, #4] @ movhi
1522 mov r2, r2, asl #1
1523 ldrh r2, [r2, lr]
1524 mov r1, r1, lsr #24
1525 strh r2, [r8, #2] @ movhi
1526 mov r1, r1, asl #1
1527 ldrh r1, [r1, lr]
1528 subs r4, r4, #4
1529 strh r1, [r8, #0] @ movhi
1530 ldr r1, [ip, #0]
1531 addne r8, r8, #8
1532 bne .L91
1533 b .L431
1534.L511:
1535 ldr r1, [ip, #0]
1536 ldr lr, .L516+12
1537 and r0, r1, #255
1538 mov r0, r0, asl #1
1539 ldrh r0, [r0, lr]
1540 mov r3, r1, lsr #8
1541 and r3, r3, #255
1542 strh r0, [r8, #0] @ movhi
1543 mov r3, r3, asl #1
1544 ldrh r3, [r3, lr]
1545 mov r2, r1, lsr #16
1546 and r2, r2, #255
1547 strh r3, [r8, #2] @ movhi
1548 mov r2, r2, asl #1
1549 ldrh r2, [r2, lr]
1550 mov r1, r1, lsr #24
1551 strh r2, [r8, #4] @ movhi
1552 mov r1, r1, asl #1
1553 ldrh r1, [r1, lr]
1554 subs r4, r4, #4
1555 strh r1, [r8, #6] @ movhi
1556 ldr r1, [ip, #4]
1557 addne r8, r8, #8
1558 bne .L96
1559 b .L431
1560.L509:
1561 cmp r0, #3
1562 bls .L22
1563 cmp fp, #0
1564 ldr r2, [ip, #0]
1565 beq .L431
1566 mov r3, r0, asl #3
1567 sub r3, r3, #32
1568 ldr r1, .L516+12
1569 mov r0, r2, asl r3
1570 mov r2, #0
1571.L26:
1572 mov r3, r0, lsr #24
1573 mov r3, r3, asl #1
1574 add r2, r2, #1
1575 ldrh r3, [r3, r1]
1576 cmp fp, r2
1577 strh r3, [r8], #2 @ movhi
1578 mov r0, r0, asl #8
1579 bne .L26
1580 b .L431
1581.L508:
1582 cmp ip, #0
1583 ldr r2, [r5, #0]
1584 beq .L107
1585 mov r3, r0, asl #3
1586 sub r3, r3, #32
1587 ldr lr, .L516+12
1588 mov r0, r2, asl r3
1589 mov r1, r8
1590 mov r2, #0
1591.L109:
1592 mov r3, r0, lsr #24
1593 mov r3, r3, asl #1
1594 add r2, r2, #1
1595 ldrh r3, [r3, lr]
1596 cmp ip, r2
1597 strh r3, [r1], #2 @ movhi
1598 mov r0, r0, asl #8
1599 bne .L109
1600 add r8, r8, ip, asl #1
1601.L515:
1602 add sl, sl, #2
1603 b .L100
1604.L507:
1605 cmp fp, #0
1606 ldr r2, [ip, #0]
1607 beq .L431
1608 mov r3, r0, asl #2
1609 mov r0, r2, asl r3
1610 ldr r2, .L516+12
1611 mov r1, r5
1612.L170:
1613 movs r3, r0, lsr #28
1614 orr r3, r4, r3
1615 mov r3, r3, asl #1
1616 ldrneh r3, [r3, r2]
1617 ldreqh r3, [r2, #0]
1618 add r1, r1, #1
1619 strneh r3, [r8, #0] @ movhi
1620 streqh r3, [r8, #0] @ movhi
1621 cmp fp, r1
1622 mov r0, r0, asl #4
1623 add r8, r8, #2
1624 bne .L170
1625 b .L431
1626.L514:
1627 cmp r0, #3
1628 bls .L55
1629 cmp ip, #0
1630 ldr r2, [lr, #0]
1631 beq .L57
1632 mov r3, r0, asl #3
1633 sub r3, r3, #32
1634 ldr lr, .L516+12
1635 mov r0, r2, asl r3
1636 mov r1, r8
1637 mov r2, #0
1638.L59:
1639 mov r3, r0, lsr #24
1640 mov r3, r3, asl #1
1641 add r2, r2, #1
1642 ldrh r3, [r3, lr]
1643 cmp ip, r2
1644 strh r3, [r1], #2 @ movhi
1645 mov r0, r0, asl #8
1646 bne .L59
1647 b .L482
1648.L513:
1649 cmp ip, #0
1650 ldr r2, [r5, #4]
1651 beq .L107
1652 mov r3, r0, asl #3
1653 sub r3, r3, #32
1654 ldr lr, .L516+12
1655 mov r0, r2, lsr r3
1656 mov r2, r1
1657 mov r1, r8
1658.L118:
1659 and r3, r0, #255
1660 mov r3, r3, asl #1
1661 add r2, r2, #1
1662 ldrh r3, [r3, lr]
1663 cmp ip, r2
1664 strh r3, [r1], #2 @ movhi
1665 mov r0, r0, lsr #8
1666 bne .L118
1667 add r8, r8, ip, asl #1
1668 b .L515
1669.L512:
1670 cmp r4, #0
1671 ldr r2, [r3, #0]
1672 beq .L185
1673 mov r3, r0, asl #2
1674 ldr r6, .L516+12
1675 mov r0, r2, asl r3
1676 mov r1, #0
1677 mov r2, r8
1678.L187:
1679 movs r3, r0, lsr #28
1680 orr r3, r5, r3
1681 mov r3, r3, asl #1
1682 ldrneh r3, [r3, r6]
1683 ldreqh r3, [r6, #0]
1684 add r1, r1, #1
1685 strneh r3, [r2, #0] @ movhi
1686 streqh r3, [r2, #0] @ movhi
1687 cmp r4, r1
1688 mov r0, r0, asl #4
1689 add r2, r2, #2
1690 bne .L187
1691 b .L484
1692.L65:
1693 subs r4, ip, #4
1694 ldr r2, [lr, #0]
1695 ldreq r5, .L516+12
1696 beq .L70
1697 mov r3, r0, asl #3
1698 ldr r5, .L516+12
1699 mov r0, r2, lsr r3
1700 mov r2, r1
1701 mov r1, r8
1702.L72:
1703 and r3, r0, #255
1704 mov r3, r3, asl #1
1705 add r2, r2, #1
1706 ldrh r3, [r3, r5]
1707 cmp r4, r2
1708 strh r3, [r1], #2 @ movhi
1709 mov r0, r0, lsr #8
1710 bne .L72
1711 add r3, r8, ip, asl #1
1712 sub r8, r3, #8
1713.L70:
1714 ldr r3, [lr, #4]
1715 and r0, r3, #255
1716 mov r0, r0, asl #1
1717 ldrh r0, [r0, r5]
1718 mov r2, r3, lsr #8
1719 and r2, r2, #255
1720 strh r0, [r8, #0] @ movhi
1721 mov r2, r2, asl #1
1722 ldrh r2, [r2, r5]
1723 mov r1, r3, lsr #16
1724 and r1, r1, #255
1725 strh r2, [r8, #2] @ movhi
1726 mov r1, r1, asl #1
1727 ldrh r1, [r1, r5]
1728 mov r3, r3, lsr #24
1729 strh r1, [r8, #4] @ movhi
1730 mov r3, r3, asl #1
1731 ldrh r3, [r3, r5]
1732 strh r3, [r8, #6] @ movhi
1733 add r8, r8, #8
1734 b .L57
1735.L55:
1736 subs r4, ip, #4
1737 ldr r2, [lr, #4]
1738 ldreq r5, .L516+12
1739 beq .L61
1740 mov r3, r0, asl #3
1741 sub r3, r3, #32
1742 ldr r5, .L516+12
1743 mov r0, r2, asl r3
1744 mov r1, r8
1745 mov r2, #0
1746.L63:
1747 mov r3, r0, lsr #24
1748 mov r3, r3, asl #1
1749 add r2, r2, #1
1750 ldrh r3, [r3, r5]
1751 cmp r4, r2
1752 strh r3, [r1], #2 @ movhi
1753 mov r0, r0, asl #8
1754 bne .L63
1755 add r3, r8, ip, asl #1
1756 sub r8, r3, #8
1757.L61:
1758 ldr r3, [lr, #0]
1759 and r0, r3, #255
1760 mov r0, r0, asl #1
1761 ldrh r0, [r0, r5]
1762 mov r2, r3, lsr #8
1763 and r2, r2, #255
1764 strh r0, [r8, #6] @ movhi
1765 mov r2, r2, asl #1
1766 ldrh r2, [r2, r5]
1767 mov r1, r3, lsr #16
1768 and r1, r1, #255
1769 strh r2, [r8, #4] @ movhi
1770 mov r1, r1, asl #1
1771 ldrh r1, [r1, r5]
1772 mov r3, r3, lsr #24
1773 strh r1, [r8, #2] @ movhi
1774 mov r3, r3, asl #1
1775 ldrh r3, [r3, r5]
1776 strh r3, [r8], #8 @ movhi
1777 b .L57
1778.L22:
1779 mov r3, r0, asl #3
1780 ldr r1, [ip, #4]
1781 add r2, fp, r0
1782 sub r3, r3, #32
1783 cmp r2, #4
1784 mov r1, r1, asl r3
1785 bhi .L27
1786 cmp fp, #0
1787 ldrne r0, .L516+12
1788 movne r2, #0
1789 beq .L431
1790.L36:
1791 mov r3, r1, lsr #24
1792 mov r3, r3, asl #1
1793 add r2, r2, #1
1794 ldrh r3, [r3, r0]
1795 cmp fp, r2
1796 strh r3, [r8], #2 @ movhi
1797 mov r1, r1, asl #8
1798 bne .L36
1799 b .L431
1800.L37:
1801 add r2, fp, r0
1802 ldr r3, [ip, #0]
1803 cmp r2, #4
1804 mov r1, r0, asl #3
1805 mov r2, r3, lsr r1
1806 bhi .L41
1807 cmp fp, #0
1808 ldrne r0, .L516+12
1809 movne r1, r4
1810 beq .L431
1811.L50:
1812 and r3, r2, #255
1813 mov r3, r3, asl #1
1814 add r1, r1, #1
1815 ldrh r3, [r3, r0]
1816 cmp fp, r1
1817 strh r3, [r8], #2 @ movhi
1818 mov r2, r2, lsr #8
1819 bne .L50
1820 b .L431
1821.L27:
1822 rsbs lr, r0, #4
1823 beq .L30
1824 ldr r4, .L516+12
1825 mov r0, r8
1826 mov r2, #0
1827.L32:
1828 mov r3, r1, lsr #24
1829 mov r3, r3, asl #1
1830 add r2, r2, #1
1831 ldrh r3, [r3, r4]
1832 cmp lr, r2
1833 strh r3, [r0], #2 @ movhi
1834 mov r1, r1, asl #8
1835 bne .L32
1836 add r8, r8, lr, asl #1
1837.L30:
1838 subs r0, fp, lr
1839 ldr r2, [ip, #0]
1840 beq .L431
1841 ldr ip, .L516+12
1842 mov r1, #0
1843.L35:
1844 mov r3, r2, lsr #24
1845 mov r3, r3, asl #1
1846 add r1, r1, #1
1847 ldrh r3, [r3, ip]
1848 cmp r0, r1
1849 strh r3, [r8], #2 @ movhi
1850 mov r2, r2, asl #8
1851 bne .L35
1852 b .L431
1853.L41:
1854 rsbs lr, r0, #4
1855 beq .L44
1856 ldr r5, .L516+12
1857 mov r1, r4
1858 mov r0, r8
1859.L46:
1860 and r3, r2, #255
1861 mov r3, r3, asl #1
1862 add r1, r1, #1
1863 ldrh r3, [r3, r5]
1864 cmp lr, r1
1865 strh r3, [r0], #2 @ movhi
1866 mov r2, r2, lsr #8
1867 bne .L46
1868 add r8, r8, lr, asl #1
1869.L44:
1870 subs r0, fp, lr
1871 ldr r2, [ip, #4]
1872 beq .L431
1873 ldr ip, .L516+12
1874 mov r1, #0
1875.L49:
1876 and r3, r2, #255
1877 mov r3, r3, asl #1
1878 add r1, r1, #1
1879 ldrh r3, [r3, ip]
1880 cmp r0, r1
1881 strh r3, [r8], #2 @ movhi
1882 mov r2, r2, lsr #8
1883 bne .L49
1884 b .L431
1885 .size render_scanline_text_base_normal, .-render_scanline_text_base_normal
1886 .align 2
1887 .global render_scanline_text_transparent_normal
1888 .type render_scanline_text_transparent_normal, %function
1889render_scanline_text_transparent_normal:
1890 @ args = 0, pretend = 0, frame = 4
1891 @ frame_needed = 0, uses_anonymous_args = 0
1892 ldr ip, .L1161
1893 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
1894 add r5, ip, r0, asl #2
1895 ldrh lr, [r5, #18]
1896 ldrh r4, [ip, #6]
1897 add ip, ip, r0, asl #1
1898 add r4, r4, lr
1899 mov r6, r4, asl #23
1900 ldrh r7, [ip, #8]
1901 mov r6, r6, lsr #23
1902 ldrh r0, [r5, #16]
1903 cmp r6, #255
1904 movls lr, #0
1905 movhi lr, #1
1906 mov r5, r7, lsr #14
1907 rsb r9, r1, r2
1908 ldr r2, .L1161+4
1909 ands lr, lr, r5, lsr #1
1910 mov ip, r7, asl #3
1911 add lr, r3, r1, asl #1
1912 ldr r8, .L1161+8
1913 subne r3, r6, #256
1914 ldr r2, [r2, r5, asl #2]
1915 movne r3, r3, lsr #3
1916 moveq r3, r4, asl #3
1917 add r0, r0, r1
1918 and ip, ip, #63488
1919 addne r3, r3, r2, lsr #3
1920 andeq r3, r3, #1984
1921 add ip, ip, r8
1922 mov r0, r0, asl #23
1923 addne r4, ip, r3, asl #6
1924 addeq r4, ip, r3
1925 mov r0, r0, lsr #23
1926 tst r5, #1
1927 andeq r0, r0, #255
1928 sub sp, sp, #4
1929 moveq r3, r0, lsr #3
1930 addeq ip, r4, r3, asl #1
1931 streq r4, [sp, #0]
1932 beq .L526
1933 cmp r0, #255
1934 subhi r0, r0, #256
1935 movhi r3, r0, lsr #3
1936 movls r3, r0, lsr #3
1937 addhi r3, r4, r3, asl #1
1938 addls ip, r4, r3, asl #1
1939 addls r4, r4, #2048
1940 addhi ip, r3, #2048
1941 strhi r4, [sp, #0]
1942 strls r4, [sp, #0]
1943.L526:
1944 tst r7, #128
1945 beq .L527
1946 and r1, r0, #255
1947 and r3, r6, #7
1948 mov r2, r7, asl #12
1949 mov r3, r3, asl #3
1950 and r2, r2, #49152
1951 rsb sl, r1, #256
1952 add r2, r2, r3
1953 cmp r9, sl
1954 mov r3, r3, asl #1
1955 add r8, r2, r8
1956 rsb fp, r3, #56
1957 and r0, r0, #7
1958 bls .L1136
1959 cmp r0, #0
1960 moveq r5, r0
1961 bne .L1137
1962.L729:
1963 rsb r3, r5, sl
1964 movs r7, r3, lsr #3
1965 beq .L783
1966 ldr r5, .L1161+12
1967 mov r0, lr
1968 mov r6, #0
1969 b .L785
1970.L1138:
1971 ldr r2, [r1, #4]
1972 cmp r2, #0
1973 beq .L790
1974 ands r3, r2, #255
1975 movne r3, r3, asl #1
1976 ldrneh r3, [r3, r5]
1977 strneh r3, [r0, #6] @ movhi
1978 mov r3, r2, lsr #8
1979 ands r3, r3, #255
1980 movne r3, r3, asl #1
1981 ldrneh r3, [r3, r5]
1982 strneh r3, [r0, #4] @ movhi
1983 mov r3, r2, lsr #16
1984 ands r3, r3, #255
1985 movne r3, r3, asl #1
1986 ldrneh r3, [r3, r5]
1987 strneh r3, [r0, #2] @ movhi
1988 movs r3, r2, lsr #24
1989 movne r3, r3, asl #1
1990 ldrneh r3, [r3, r5]
1991 strneh r3, [r0, #0] @ movhi
1992.L790:
1993 ldr r2, [r1, #0]
1994 cmp r2, #0
1995 beq .L799
1996 ands r3, r2, #255
1997 movne r3, r3, asl #1
1998 ldrneh r3, [r3, r5]
1999 strneh r3, [r0, #14] @ movhi
2000 mov r3, r2, lsr #8
2001 ands r3, r3, #255
2002 movne r3, r3, asl #1
2003 ldrneh r3, [r3, r5]
2004 strneh r3, [r0, #12] @ movhi
2005 mov r3, r2, lsr #16
2006 ands r3, r3, #255
2007 movne r3, r3, asl #1
2008 ldrneh r3, [r3, r5]
2009 strneh r3, [r0, #10] @ movhi
2010 movs r3, r2, lsr #24
2011 movne r3, r3, asl #1
2012 ldrneh r3, [r3, r5]
2013 strneh r3, [r0, #8] @ movhi
2014.L799:
2015 add r6, r6, #1
2016 cmp r7, r6
2017 add r0, r0, #16
2018 beq .L825
2019.L1139:
2020 add ip, ip, #2
2021.L785:
2022 ldrh r2, [ip, #0]
2023 mov r3, r2, asl #22
2024 mov r3, r3, lsr #22
2025 tst r2, #2048
2026 add r1, r8, r3, asl #6
2027 addne r1, r1, fp
2028 tst r2, #1024
2029 bne .L1138
2030 ldr r2, [r1, #0]
2031 cmp r2, #0
2032 beq .L808
2033 ands r3, r2, #255
2034 movne r3, r3, asl #1
2035 ldrneh r3, [r3, r5]
2036 strneh r3, [r0, #0] @ movhi
2037 mov r3, r2, lsr #8
2038 ands r3, r3, #255
2039 movne r3, r3, asl #1
2040 ldrneh r3, [r3, r5]
2041 strneh r3, [r0, #2] @ movhi
2042 mov r3, r2, lsr #16
2043 ands r3, r3, #255
2044 movne r3, r3, asl #1
2045 ldrneh r3, [r3, r5]
2046 strneh r3, [r0, #4] @ movhi
2047 movs r3, r2, lsr #24
2048 movne r3, r3, asl #1
2049 ldrneh r3, [r3, r5]
2050 strneh r3, [r0, #6] @ movhi
2051.L808:
2052 ldr r2, [r1, #4]
2053 cmp r2, #0
2054 beq .L799
2055 ands r3, r2, #255
2056 movne r3, r3, asl #1
2057 ldrneh r3, [r3, r5]
2058 add r6, r6, #1
2059 strneh r3, [r0, #8] @ movhi
2060 mov r3, r2, lsr #8
2061 ands r3, r3, #255
2062 movne r3, r3, asl #1
2063 ldrneh r3, [r3, r5]
2064 strneh r3, [r0, #10] @ movhi
2065 mov r3, r2, lsr #16
2066 ands r3, r3, #255
2067 movne r3, r3, asl #1
2068 ldrneh r3, [r3, r5]
2069 strneh r3, [r0, #12] @ movhi
2070 movs r3, r2, lsr #24
2071 movne r3, r3, asl #1
2072 ldrneh r3, [r3, r5]
2073 strneh r3, [r0, #14] @ movhi
2074 cmp r7, r6
2075 add r0, r0, #16
2076 bne .L1139
2077.L825:
2078 add lr, lr, r7, asl #4
2079.L783:
2080 rsb sl, sl, r9
2081 movs r4, sl, lsr #3
2082 ldreq r3, [sp, #0]
2083 beq .L829
2084 ldr r7, .L1161+12
2085 ldr r6, [sp, #0]
2086 mov r5, lr
2087 mov r2, #0
2088 b .L830
2089.L1141:
2090 ldr r1, [r0, #4]
2091 cmp r1, #0
2092 beq .L835
2093 ands r3, r1, #255
2094 movne r3, r3, asl #1
2095 ldrneh r3, [r3, r7]
2096 strneh r3, [r5, #6] @ movhi
2097 mov r3, r1, lsr #8
2098 ands r3, r3, #255
2099 movne r3, r3, asl #1
2100 ldrneh r3, [r3, r7]
2101 strneh r3, [r5, #4] @ movhi
2102 mov r3, r1, lsr #16
2103 ands r3, r3, #255
2104 movne r3, r3, asl #1
2105 ldrneh r3, [r3, r7]
2106 strneh r3, [r5, #2] @ movhi
2107 movs r3, r1, lsr #24
2108 movne r3, r3, asl #1
2109 ldrneh r3, [r3, r7]
2110 strneh r3, [r5, #0] @ movhi
2111.L835:
2112 ldr r1, [r0, #0]
2113 cmp r1, #0
2114 beq .L844
2115 ands r3, r1, #255
2116 movne r3, r3, asl #1
2117 ldrneh r3, [r3, r7]
2118 strneh r3, [r5, #14] @ movhi
2119 mov r3, r1, lsr #8
2120 ands r3, r3, #255
2121 movne r3, r3, asl #1
2122 ldrneh r3, [r3, r7]
2123 strneh r3, [r5, #12] @ movhi
2124 mov r3, r1, lsr #16
2125 ands r3, r3, #255
2126 movne r3, r3, asl #1
2127 ldrneh r3, [r3, r7]
2128 strneh r3, [r5, #10] @ movhi
2129 movs r3, r1, lsr #24
2130 movne r3, r3, asl #1
2131 ldrneh r3, [r3, r7]
2132 strneh r3, [r5, #8] @ movhi
2133.L844:
2134 add r2, r2, #1
2135 cmp r4, r2
2136 add r5, r5, #16
2137 add r6, r6, #2
2138 beq .L1140
2139.L830:
2140 ldrh r1, [r6, #0]
2141 mov r3, r1, asl #22
2142 mov r3, r3, lsr #22
2143 tst r1, #2048
2144 add r0, r8, r3, asl #6
2145 addne r0, r0, fp
2146 tst r1, #1024
2147 bne .L1141
2148 ldr r1, [r0, #0]
2149 cmp r1, #0
2150 beq .L853
2151 ands r3, r1, #255
2152 movne r3, r3, asl #1
2153 ldrneh r3, [r3, r7]
2154 strneh r3, [r5, #0] @ movhi
2155 mov r3, r1, lsr #8
2156 ands r3, r3, #255
2157 movne r3, r3, asl #1
2158 ldrneh r3, [r3, r7]
2159 strneh r3, [r5, #2] @ movhi
2160 mov r3, r1, lsr #16
2161 ands r3, r3, #255
2162 movne r3, r3, asl #1
2163 ldrneh r3, [r3, r7]
2164 strneh r3, [r5, #4] @ movhi
2165 movs r3, r1, lsr #24
2166 movne r3, r3, asl #1
2167 ldrneh r3, [r3, r7]
2168 strneh r3, [r5, #6] @ movhi
2169.L853:
2170 ldr r1, [r0, #4]
2171 cmp r1, #0
2172 beq .L844
2173 ands r3, r1, #255
2174 movne r3, r3, asl #1
2175 ldrneh r3, [r3, r7]
2176 add r2, r2, #1
2177 strneh r3, [r5, #8] @ movhi
2178 mov r3, r1, lsr #8
2179 ands r3, r3, #255
2180 movne r3, r3, asl #1
2181 ldrneh r3, [r3, r7]
2182 add r6, r6, #2
2183 strneh r3, [r5, #10] @ movhi
2184 mov r3, r1, lsr #16
2185 ands r3, r3, #255
2186 movne r3, r3, asl #1
2187 ldrneh r3, [r3, r7]
2188 strneh r3, [r5, #12] @ movhi
2189 movs r3, r1, lsr #24
2190 movne r3, r3, asl #1
2191 ldrneh r3, [r3, r7]
2192 strneh r3, [r5, #14] @ movhi
2193 cmp r4, r2
2194 add r5, r5, #16
2195 bne .L830
2196.L1140:
2197 ldr r2, [sp, #0]
2198 add lr, lr, r4, asl #4
2199 add r3, r2, r4, asl #1
2200.L829:
2201 ands r5, sl, #7
2202 beq .L1118
2203 ldrh r4, [r3, #0]
2204 mov r3, r4, asl #22
2205 mov r3, r3, lsr #22
2206 tst r4, #2048
2207 add ip, r8, r3, asl #6
2208 addne ip, ip, fp
2209 tst r4, #1024
2210 beq .L874
2211 cmp r5, #3
2212 ldrls r2, [ip, #4]
2213 bls .L888
2214 ldr r1, [ip, #4]
2215 cmp r1, #0
2216 beq .L878
2217 ands r2, r1, #255
2218 ldrne r3, .L1161+12
2219 movne r2, r2, asl #1
2220 ldrneh r2, [r2, r3]
2221 mov r3, r1, lsr #8
2222 strneh r2, [lr, #6] @ movhi
2223 ands r2, r3, #255
2224 ldrne r3, .L1161+12
2225 movne r2, r2, asl #1
2226 ldrneh r2, [r2, r3]
2227 mov r3, r1, lsr #16
2228 strneh r2, [lr, #4] @ movhi
2229 ands r2, r3, #255
2230 ldrne r3, .L1161+12
2231 movne r2, r2, asl #1
2232 ldrneh r2, [r2, r3]
2233 strneh r2, [lr, #2] @ movhi
2234 movs r2, r1, lsr #24
2235 ldrne r3, .L1161+12
2236 movne r2, r2, asl #1
2237 ldrneh r2, [r2, r3]
2238 strneh r2, [lr, #0] @ movhi
2239.L878:
2240 subs r5, r5, #4
2241 ldr r2, [ip, #0]
2242 addne lr, lr, #8
2243 beq .L1118
2244.L888:
2245 mov r1, #0
2246.L889:
2247 movs r3, r2, lsr #24
2248 mov ip, r3, asl #1
2249 ldrne r3, .L1161+12
2250 mov r0, r1, asl #1
2251 ldrneh ip, [ip, r3]
2252 add r1, r1, #1
2253 strneh ip, [r0, lr] @ movhi
2254 cmp r1, r5
2255 mov r2, r2, asl #8
2256 bcc .L889
2257.L1118:
2258 add sp, sp, #4
2259 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
2260.L527:
2261 and r1, r0, #255
2262 and r3, r6, #7
2263 mov r2, r7, asl #12
2264 mov r3, r3, asl #2
2265 and r2, r2, #49152
2266 rsb r4, r1, #256
2267 add r2, r2, r3
2268 cmp r9, r4
2269 mov r3, r3, asl #1
2270 add r8, r2, r8
2271 rsb fp, r3, #28
2272 and r0, r0, #7
2273 bls .L1142
2274 cmp r0, #0
2275 moveq r6, r0
2276 bne .L1143
2277.L1003:
2278 rsb r3, r6, r4
2279 movs sl, r3, lsr #3
2280 beq .L1021
2281 ldr r6, .L1161+12
2282 mov r0, lr
2283 mov r7, #0
2284 b .L1023
2285.L1144:
2286 ldr r2, [r3, #0]
2287 cmp r2, #0
2288 beq .L1028
2289 ands r3, r2, #15
2290 orrne r3, r5, r3
2291 movne r3, r3, asl #1
2292 ldrneh r3, [r3, r6]
2293 strneh r3, [r0, #14] @ movhi
2294 mov r3, r2, lsr #4
2295 ands r3, r3, #15
2296 orrne r3, r5, r3
2297 movne r3, r3, asl #1
2298 ldrneh r3, [r3, r6]
2299 strneh r3, [r0, #12] @ movhi
2300 mov r3, r2, lsr #8
2301 ands r3, r3, #15
2302 orrne r3, r5, r3
2303 movne r3, r3, asl #1
2304 ldrneh r3, [r3, r6]
2305 strneh r3, [r0, #10] @ movhi
2306 mov r3, r2, lsr #12
2307 ands r3, r3, #15
2308 orrne r3, r5, r3
2309 movne r3, r3, asl #1
2310 ldrneh r3, [r3, r6]
2311 strneh r3, [r0, #8] @ movhi
2312 mov r3, r2, lsr #16
2313 ands r3, r3, #15
2314 orrne r3, r5, r3
2315 movne r3, r3, asl #1
2316 ldrneh r3, [r3, r6]
2317 strneh r3, [r0, #6] @ movhi
2318 mov r3, r2, lsr #20
2319 ands r3, r3, #15
2320 orrne r3, r5, r3
2321 movne r3, r3, asl #1
2322 ldrneh r3, [r3, r6]
2323 strneh r3, [r0, #4] @ movhi
2324 mov r3, r2, lsr #24
2325 ands r3, r3, #15
2326 orrne r3, r5, r3
2327 movne r3, r3, asl #1
2328 ldrneh r3, [r3, r6]
2329 strneh r3, [r0, #2] @ movhi
2330 movs r3, r2, lsr #28
2331 orrne r3, r5, r3
2332 movne r3, r3, asl #1
2333 ldrneh r3, [r3, r6]
2334 strneh r3, [r0, #0] @ movhi
2335.L1028:
2336 add r7, r7, #1
2337 cmp sl, r7
2338 add r0, r0, #16
2339 beq .L1061
2340.L1145:
2341 add ip, ip, #2
2342.L1023:
2343 ldrh r1, [ip, #0]
2344 mov r2, r1, asl #22
2345 mov r3, r1, lsr #12
2346 mov r2, r2, lsr #22
2347 tst r1, #2048
2348 mov r5, r3, asl #4
2349 add r3, r8, r2, asl #5
2350 addne r3, r3, fp
2351 tst r1, #1024
2352 bne .L1144
2353 ldr r2, [r3, #0]
2354 cmp r2, #0
2355 beq .L1028
2356 ands r3, r2, #15
2357 orrne r3, r5, r3
2358 movne r3, r3, asl #1
2359 ldrneh r3, [r3, r6]
2360 add r7, r7, #1
2361 strneh r3, [r0, #0] @ movhi
2362 mov r3, r2, lsr #4
2363 ands r3, r3, #15
2364 orrne r3, r5, r3
2365 movne r3, r3, asl #1
2366 ldrneh r3, [r3, r6]
2367 strneh r3, [r0, #2] @ movhi
2368 mov r3, r2, lsr #8
2369 ands r3, r3, #15
2370 orrne r3, r5, r3
2371 movne r3, r3, asl #1
2372 ldrneh r3, [r3, r6]
2373 strneh r3, [r0, #4] @ movhi
2374 mov r3, r2, lsr #12
2375 ands r3, r3, #15
2376 orrne r3, r5, r3
2377 movne r3, r3, asl #1
2378 ldrneh r3, [r3, r6]
2379 strneh r3, [r0, #6] @ movhi
2380 mov r3, r2, lsr #16
2381 ands r3, r3, #15
2382 orrne r3, r5, r3
2383 movne r3, r3, asl #1
2384 ldrneh r3, [r3, r6]
2385 strneh r3, [r0, #8] @ movhi
2386 mov r3, r2, lsr #20
2387 ands r3, r3, #15
2388 orrne r3, r5, r3
2389 movne r3, r3, asl #1
2390 ldrneh r3, [r3, r6]
2391 strneh r3, [r0, #10] @ movhi
2392 mov r3, r2, lsr #24
2393 ands r3, r3, #15
2394 orrne r3, r5, r3
2395 movne r3, r3, asl #1
2396 ldrneh r3, [r3, r6]
2397 strneh r3, [r0, #12] @ movhi
2398 movs r3, r2, lsr #28
2399 orrne r3, r5, r3
2400 movne r3, r3, asl #1
2401 ldrneh r3, [r3, r6]
2402 strneh r3, [r0, #14] @ movhi
2403 cmp sl, r7
2404 add r0, r0, #16
2405 bne .L1145
2406.L1061:
2407 add lr, lr, sl, asl #4
2408.L1021:
2409 rsb sl, r4, r9
2410 movs r4, sl, lsr #3
2411 ldreq r2, [sp, #0]
2412 beq .L1065
2413 ldr r7, .L1161+12
2414 ldr r6, [sp, #0]
2415 mov r0, lr
2416 mov ip, #0
2417 b .L1066
2418.L1147:
2419 ldr r2, [r3, #0]
2420 cmp r2, #0
2421 beq .L1071
2422 ands r3, r2, #15
2423 orrne r3, r5, r3
2424 movne r3, r3, asl #1
2425 ldrneh r3, [r3, r7]
2426 strneh r3, [r0, #14] @ movhi
2427 mov r3, r2, lsr #4
2428 ands r3, r3, #15
2429 orrne r3, r5, r3
2430 movne r3, r3, asl #1
2431 ldrneh r3, [r3, r7]
2432 strneh r3, [r0, #12] @ movhi
2433 mov r3, r2, lsr #8
2434 ands r3, r3, #15
2435 orrne r3, r5, r3
2436 movne r3, r3, asl #1
2437 ldrneh r3, [r3, r7]
2438 strneh r3, [r0, #10] @ movhi
2439 mov r3, r2, lsr #12
2440 ands r3, r3, #15
2441 orrne r3, r5, r3
2442 movne r3, r3, asl #1
2443 ldrneh r3, [r3, r7]
2444 strneh r3, [r0, #8] @ movhi
2445 mov r3, r2, lsr #16
2446 ands r3, r3, #15
2447 orrne r3, r5, r3
2448 movne r3, r3, asl #1
2449 ldrneh r3, [r3, r7]
2450 strneh r3, [r0, #6] @ movhi
2451 mov r3, r2, lsr #20
2452 ands r3, r3, #15
2453 orrne r3, r5, r3
2454 movne r3, r3, asl #1
2455 ldrneh r3, [r3, r7]
2456 strneh r3, [r0, #4] @ movhi
2457 mov r3, r2, lsr #24
2458 ands r3, r3, #15
2459 orrne r3, r5, r3
2460 movne r3, r3, asl #1
2461 ldrneh r3, [r3, r7]
2462 strneh r3, [r0, #2] @ movhi
2463 movs r3, r2, lsr #28
2464 orrne r3, r5, r3
2465 movne r3, r3, asl #1
2466 ldrneh r3, [r3, r7]
2467 strneh r3, [r0, #0] @ movhi
2468.L1071:
2469 add ip, ip, #1
2470 cmp r4, ip
2471 add r0, r0, #16
2472 add r6, r6, #2
2473 beq .L1146
2474.L1066:
2475 ldrh r1, [r6, #0]
2476 mov r2, r1, asl #22
2477 mov r3, r1, lsr #12
2478 mov r2, r2, lsr #22
2479 tst r1, #2048
2480 mov r5, r3, asl #4
2481 add r3, r8, r2, asl #5
2482 addne r3, r3, fp
2483 tst r1, #1024
2484 bne .L1147
2485 ldr r2, [r3, #0]
2486 cmp r2, #0
2487 beq .L1071
2488 ands r3, r2, #15
2489 orrne r3, r5, r3
2490 movne r3, r3, asl #1
2491 ldrneh r3, [r3, r7]
2492 add ip, ip, #1
2493 strneh r3, [r0, #0] @ movhi
2494 mov r3, r2, lsr #4
2495 ands r3, r3, #15
2496 orrne r3, r5, r3
2497 movne r3, r3, asl #1
2498 ldrneh r3, [r3, r7]
2499 add r6, r6, #2
2500 strneh r3, [r0, #2] @ movhi
2501 mov r3, r2, lsr #8
2502 ands r3, r3, #15
2503 orrne r3, r5, r3
2504 movne r3, r3, asl #1
2505 ldrneh r3, [r3, r7]
2506 strneh r3, [r0, #4] @ movhi
2507 mov r3, r2, lsr #12
2508 ands r3, r3, #15
2509 orrne r3, r5, r3
2510 movne r3, r3, asl #1
2511 ldrneh r3, [r3, r7]
2512 strneh r3, [r0, #6] @ movhi
2513 mov r3, r2, lsr #16
2514 ands r3, r3, #15
2515 orrne r3, r5, r3
2516 movne r3, r3, asl #1
2517 ldrneh r3, [r3, r7]
2518 strneh r3, [r0, #8] @ movhi
2519 mov r3, r2, lsr #20
2520 ands r3, r3, #15
2521 orrne r3, r5, r3
2522 movne r3, r3, asl #1
2523 ldrneh r3, [r3, r7]
2524 strneh r3, [r0, #10] @ movhi
2525 mov r3, r2, lsr #24
2526 ands r3, r3, #15
2527 orrne r3, r5, r3
2528 movne r3, r3, asl #1
2529 ldrneh r3, [r3, r7]
2530 strneh r3, [r0, #12] @ movhi
2531 movs r3, r2, lsr #28
2532 orrne r3, r5, r3
2533 movne r3, r3, asl #1
2534 ldrneh r3, [r3, r7]
2535 strneh r3, [r0, #14] @ movhi
2536 cmp r4, ip
2537 add r0, r0, #16
2538 bne .L1066
2539.L1146:
2540 ldr r3, [sp, #0]
2541 add lr, lr, r4, asl #4
2542 add r2, r3, r4, asl #1
2543.L1065:
2544 ands r5, sl, #7
2545 beq .L1118
2546 ldrh r4, [r2, #0]
2547 mov r3, r4, asl #22
2548 mov r3, r3, lsr #22
2549 tst r4, #2048
2550 add r3, r8, r3, asl #5
2551 mov r2, r4, lsr #12
2552 addne r3, r3, fp
2553 tst r4, #1024
2554 mov ip, r2, asl #4
2555 beq .L1108
2556 ldr r2, [r3, #0]
2557 ldr r4, .L1161+12
2558 mov r0, #0
2559.L1110:
2560 movs r3, r2, lsr #28
2561 orr r3, ip, r3
2562 mov r3, r3, asl #1
2563 ldrneh r3, [r3, r4]
2564 mov r1, r0, asl #1
2565 add r0, r0, #1
2566 strneh r3, [r1, lr] @ movhi
2567 cmp r5, r0
2568 mov r2, r2, asl #4
2569 bne .L1110
2570 b .L1118
2571.L1142:
2572 cmp r0, #0
2573 bne .L1148
2574.L912:
2575 movs sl, r9, lsr #3
2576 beq .L947
2577 ldr r6, .L1161+12
2578 mov r0, lr
2579 mov r5, ip
2580 mov r7, #0
2581 b .L949
2582.L1150:
2583 ldr r2, [r3, #0]
2584 cmp r2, #0
2585 beq .L954
2586 ands r3, r2, #15
2587 orrne r3, r4, r3
2588 movne r3, r3, asl #1
2589 ldrneh r3, [r3, r6]
2590 strneh r3, [r0, #14] @ movhi
2591 mov r3, r2, lsr #4
2592 ands r3, r3, #15
2593 orrne r3, r4, r3
2594 movne r3, r3, asl #1
2595 ldrneh r3, [r3, r6]
2596 strneh r3, [r0, #12] @ movhi
2597 mov r3, r2, lsr #8
2598 ands r3, r3, #15
2599 orrne r3, r4, r3
2600 movne r3, r3, asl #1
2601 ldrneh r3, [r3, r6]
2602 strneh r3, [r0, #10] @ movhi
2603 mov r3, r2, lsr #12
2604 ands r3, r3, #15
2605 orrne r3, r4, r3
2606 movne r3, r3, asl #1
2607 ldrneh r3, [r3, r6]
2608 strneh r3, [r0, #8] @ movhi
2609 mov r3, r2, lsr #16
2610 ands r3, r3, #15
2611 orrne r3, r4, r3
2612 movne r3, r3, asl #1
2613 ldrneh r3, [r3, r6]
2614 strneh r3, [r0, #6] @ movhi
2615 mov r3, r2, lsr #20
2616 ands r3, r3, #15
2617 orrne r3, r4, r3
2618 movne r3, r3, asl #1
2619 ldrneh r3, [r3, r6]
2620 strneh r3, [r0, #4] @ movhi
2621 mov r3, r2, lsr #24
2622 ands r3, r3, #15
2623 orrne r3, r4, r3
2624 movne r3, r3, asl #1
2625 ldrneh r3, [r3, r6]
2626 strneh r3, [r0, #2] @ movhi
2627 movs r3, r2, lsr #28
2628 orrne r3, r4, r3
2629 movne r3, r3, asl #1
2630 ldrneh r3, [r3, r6]
2631 strneh r3, [r0, #0] @ movhi
2632.L954:
2633 add r7, r7, #1
2634 cmp sl, r7
2635 add r0, r0, #16
2636 add r5, r5, #2
2637 beq .L1149
2638.L949:
2639 ldrh r1, [r5, #0]
2640 mov r2, r1, asl #22
2641 mov r3, r1, lsr #12
2642 mov r2, r2, lsr #22
2643 tst r1, #2048
2644 mov r4, r3, asl #4
2645 add r3, r8, r2, asl #5
2646 addne r3, r3, fp
2647 tst r1, #1024
2648 bne .L1150
2649 ldr r2, [r3, #0]
2650 cmp r2, #0
2651 beq .L954
2652 ands r3, r2, #15
2653 orrne r3, r4, r3
2654 movne r3, r3, asl #1
2655 ldrneh r3, [r3, r6]
2656 add r7, r7, #1
2657 strneh r3, [r0, #0] @ movhi
2658 mov r3, r2, lsr #4
2659 ands r3, r3, #15
2660 orrne r3, r4, r3
2661 movne r3, r3, asl #1
2662 ldrneh r3, [r3, r6]
2663 add r5, r5, #2
2664 strneh r3, [r0, #2] @ movhi
2665 mov r3, r2, lsr #8
2666 ands r3, r3, #15
2667 orrne r3, r4, r3
2668 movne r3, r3, asl #1
2669 ldrneh r3, [r3, r6]
2670 strneh r3, [r0, #4] @ movhi
2671 mov r3, r2, lsr #12
2672 ands r3, r3, #15
2673 orrne r3, r4, r3
2674 movne r3, r3, asl #1
2675 ldrneh r3, [r3, r6]
2676 strneh r3, [r0, #6] @ movhi
2677 mov r3, r2, lsr #16
2678 ands r3, r3, #15
2679 orrne r3, r4, r3
2680 movne r3, r3, asl #1
2681 ldrneh r3, [r3, r6]
2682 strneh r3, [r0, #8] @ movhi
2683 mov r3, r2, lsr #20
2684 ands r3, r3, #15
2685 orrne r3, r4, r3
2686 movne r3, r3, asl #1
2687 ldrneh r3, [r3, r6]
2688 strneh r3, [r0, #10] @ movhi
2689 mov r3, r2, lsr #24
2690 ands r3, r3, #15
2691 orrne r3, r4, r3
2692 movne r3, r3, asl #1
2693 ldrneh r3, [r3, r6]
2694 strneh r3, [r0, #12] @ movhi
2695 movs r3, r2, lsr #28
2696 orrne r3, r4, r3
2697 movne r3, r3, asl #1
2698 ldrneh r3, [r3, r6]
2699 strneh r3, [r0, #14] @ movhi
2700 cmp sl, r7
2701 add r0, r0, #16
2702 bne .L949
2703.L1149:
2704 add lr, lr, sl, asl #4
2705 add ip, ip, sl, asl #1
2706.L947:
2707 ands r4, r9, #7
2708 beq .L1118
2709 ldrh r1, [ip, #0]
2710 mov r3, r1, asl #22
2711 mov r3, r3, lsr #22
2712 tst r1, #2048
2713 add r3, r8, r3, asl #5
2714 mov r2, r1, lsr #12
2715 addne r3, r3, fp
2716 tst r1, #1024
2717 mov ip, r2, asl #4
2718 beq .L991
2719 ldr r2, [r3, #0]
2720 ldr r5, .L1161+12
2721 mov r0, #0
2722.L993:
2723 movs r3, r2, lsr #28
2724 orr r3, ip, r3
2725 mov r3, r3, asl #1
2726 ldrneh r3, [r3, r5]
2727 mov r1, r0, asl #1
2728 add r0, r0, #1
2729 strneh r3, [r1, lr] @ movhi
2730 cmp r4, r0
2731 mov r2, r2, asl #4
2732 bne .L993
2733 b .L1118
2734.L1136:
2735 cmp r0, #0
2736 bne .L1151
2737.L531:
2738 movs r7, r9, lsr #3
2739 beq .L645
2740 ldr r5, .L1161+12
2741 mov r0, lr
2742 mov r4, ip
2743 mov r6, #0
2744 b .L647
2745.L1153:
2746 ldr r2, [r1, #4]
2747 cmp r2, #0
2748 beq .L652
2749 ands r3, r2, #255
2750 movne r3, r3, asl #1
2751 ldrneh r3, [r3, r5]
2752 strneh r3, [r0, #6] @ movhi
2753 mov r3, r2, lsr #8
2754 ands r3, r3, #255
2755 movne r3, r3, asl #1
2756 ldrneh r3, [r3, r5]
2757 strneh r3, [r0, #4] @ movhi
2758 mov r3, r2, lsr #16
2759 ands r3, r3, #255
2760 movne r3, r3, asl #1
2761 ldrneh r3, [r3, r5]
2762 strneh r3, [r0, #2] @ movhi
2763 movs r3, r2, lsr #24
2764 movne r3, r3, asl #1
2765 ldrneh r3, [r3, r5]
2766 strneh r3, [r0, #0] @ movhi
2767.L652:
2768 ldr r2, [r1, #0]
2769 cmp r2, #0
2770 beq .L661
2771 ands r3, r2, #255
2772 movne r3, r3, asl #1
2773 ldrneh r3, [r3, r5]
2774 strneh r3, [r0, #14] @ movhi
2775 mov r3, r2, lsr #8
2776 ands r3, r3, #255
2777 movne r3, r3, asl #1
2778 ldrneh r3, [r3, r5]
2779 strneh r3, [r0, #12] @ movhi
2780 mov r3, r2, lsr #16
2781 ands r3, r3, #255
2782 movne r3, r3, asl #1
2783 ldrneh r3, [r3, r5]
2784 strneh r3, [r0, #10] @ movhi
2785 movs r3, r2, lsr #24
2786 movne r3, r3, asl #1
2787 ldrneh r3, [r3, r5]
2788 strneh r3, [r0, #8] @ movhi
2789.L661:
2790 add r6, r6, #1
2791 cmp r7, r6
2792 add r0, r0, #16
2793 add r4, r4, #2
2794 beq .L1152
2795.L647:
2796 ldrh r2, [r4, #0]
2797 mov r3, r2, asl #22
2798 mov r3, r3, lsr #22
2799 tst r2, #2048
2800 add r1, r8, r3, asl #6
2801 addne r1, r1, fp
2802 tst r2, #1024
2803 bne .L1153
2804 ldr r2, [r1, #0]
2805 cmp r2, #0
2806 beq .L670
2807 ands r3, r2, #255
2808 movne r3, r3, asl #1
2809 ldrneh r3, [r3, r5]
2810 strneh r3, [r0, #0] @ movhi
2811 mov r3, r2, lsr #8
2812 ands r3, r3, #255
2813 movne r3, r3, asl #1
2814 ldrneh r3, [r3, r5]
2815 strneh r3, [r0, #2] @ movhi
2816 mov r3, r2, lsr #16
2817 ands r3, r3, #255
2818 movne r3, r3, asl #1
2819 ldrneh r3, [r3, r5]
2820 strneh r3, [r0, #4] @ movhi
2821 movs r3, r2, lsr #24
2822 movne r3, r3, asl #1
2823 ldrneh r3, [r3, r5]
2824 strneh r3, [r0, #6] @ movhi
2825.L670:
2826 ldr r2, [r1, #4]
2827 cmp r2, #0
2828 beq .L661
2829 ands r3, r2, #255
2830 movne r3, r3, asl #1
2831 ldrneh r3, [r3, r5]
2832 add r6, r6, #1
2833 strneh r3, [r0, #8] @ movhi
2834 mov r3, r2, lsr #8
2835 ands r3, r3, #255
2836 movne r3, r3, asl #1
2837 ldrneh r3, [r3, r5]
2838 add r4, r4, #2
2839 strneh r3, [r0, #10] @ movhi
2840 mov r3, r2, lsr #16
2841 ands r3, r3, #255
2842 movne r3, r3, asl #1
2843 ldrneh r3, [r3, r5]
2844 strneh r3, [r0, #12] @ movhi
2845 movs r3, r2, lsr #24
2846 movne r3, r3, asl #1
2847 ldrneh r3, [r3, r5]
2848 strneh r3, [r0, #14] @ movhi
2849 cmp r7, r6
2850 add r0, r0, #16
2851 bne .L647
2852.L1152:
2853 add lr, lr, r7, asl #4
2854 add ip, ip, r7, asl #1
2855.L645:
2856 ands r4, r9, #7
2857 beq .L1118
2858 ldrh r2, [ip, #0]
2859 mov r3, r2, asl #22
2860 mov r3, r3, lsr #22
2861 tst r2, #2048
2862 add ip, r8, r3, asl #6
2863 addne ip, ip, fp
2864 tst r2, #1024
2865 beq .L691
2866 cmp r4, #3
2867 ldrls r2, [ip, #4]
2868 bls .L705
2869 ldr r1, [ip, #4]
2870 cmp r1, #0
2871 beq .L695
2872 ands r2, r1, #255
2873 ldrne r3, .L1161+12
2874 movne r2, r2, asl #1
2875 ldrneh r2, [r2, r3]
2876 mov r3, r1, lsr #8
2877 strneh r2, [lr, #6] @ movhi
2878 ands r2, r3, #255
2879 ldrne r3, .L1161+12
2880 movne r2, r2, asl #1
2881 ldrneh r2, [r2, r3]
2882 mov r3, r1, lsr #16
2883 strneh r2, [lr, #4] @ movhi
2884 ands r2, r3, #255
2885 ldrne r3, .L1161+12
2886 movne r2, r2, asl #1
2887 ldrneh r2, [r2, r3]
2888 strneh r2, [lr, #2] @ movhi
2889 movs r2, r1, lsr #24
2890 ldrne r3, .L1161+12
2891 movne r2, r2, asl #1
2892 ldrneh r2, [r2, r3]
2893 strneh r2, [lr, #0] @ movhi
2894.L695:
2895 subs r4, r4, #4
2896 ldr r2, [ip, #0]
2897 addne lr, lr, #8
2898 beq .L1118
2899.L705:
2900 mov r1, #0
2901.L706:
2902 movs r3, r2, lsr #24
2903 mov ip, r3, asl #1
2904 ldrne r3, .L1161+12
2905 mov r0, r1, asl #1
2906 ldrneh ip, [ip, r3]
2907 add r1, r1, #1
2908 strneh ip, [r0, lr] @ movhi
2909 cmp r4, r1
2910 mov r2, r2, asl #8
2911 bhi .L706
2912 b .L1118
2913.L1148:
2914 rsb r4, r0, #8
2915 cmp r9, r4
2916 bcs .L914
2917 ldrh r1, [ip, #0]
2918 mov r3, r1, asl #22
2919 mov r3, r3, lsr #22
2920 tst r1, #2048
2921 add ip, r8, r3, asl #5
2922 mov r2, r1, lsr #12
2923 addne ip, ip, fp
2924 tst r1, #1024
2925 mov r2, r2, asl #4
2926 bne .L1154
2927 cmp r9, #0
2928 ldr ip, [ip, #0]
2929 beq .L1118
2930 mov r3, r0, asl #2
2931 ldr r4, .L1161+12
2932 mov r0, ip, lsr r3
2933 mov ip, #0
2934.L926:
2935 ands r3, r0, #15
2936 orr r3, r2, r3
2937 mov r3, r3, asl #1
2938 ldrneh r3, [r3, r4]
2939 mov r1, ip, asl #1
2940 add ip, ip, #1
2941 strneh r3, [r1, lr] @ movhi
2942 cmp r9, ip
2943 mov r0, r0, lsr #4
2944 bne .L926
2945 b .L1118
2946.L1162:
2947 .align 2
2948.L1161:
2949 .word io_registers
2950 .word map_widths
2951 .word vram
2952 .word palette_ram_converted
2953.L1137:
2954 ldrh r2, [ip, #0]
2955 rsb r5, r0, #8
2956 mov r3, r2, asl #22
2957 mov r3, r3, lsr #22
2958 tst r2, #2048
2959 add r6, r8, r3, asl #6
2960 addne r6, r6, fp
2961 ands r2, r2, #1024
2962 beq .L732
2963 cmp r0, #3
2964 bhi .L1155
2965 subs r4, r5, #4
2966 ldr r2, [r6, #4]
2967 beq .L743
2968 mov r3, r0, asl #3
2969 sub r3, r3, #32
2970 mov r0, r2, asl r3
2971 ldr r7, .L1161+12
2972 mov r1, #0
2973.L745:
2974 movs r3, r0, lsr #24
2975 mov r3, r3, asl #1
2976 ldrneh r3, [r3, r7]
2977 mov r2, r1, asl #1
2978 add r1, r1, #1
2979 strneh r3, [r2, lr] @ movhi
2980 cmp r4, r1
2981 mov r0, r0, asl #8
2982 bne .L745
2983 add r3, lr, r5, asl #1
2984 sub lr, r3, #8
2985.L743:
2986 ldr r1, [r6, #0]
2987 cmp r1, #0
2988 beq .L774
2989 ands r2, r1, #255
2990 ldrne r3, .L1161+12
2991 movne r2, r2, asl #1
2992 ldrneh r2, [r2, r3]
2993 mov r3, r1, lsr #8
2994 strneh r2, [lr, #6] @ movhi
2995 ands r2, r3, #255
2996 ldrne r3, .L1161+12
2997 movne r2, r2, asl #1
2998 ldrneh r2, [r2, r3]
2999 mov r3, r1, lsr #16
3000 strneh r2, [lr, #4] @ movhi
3001 ands r2, r3, #255
3002 ldrne r3, .L1161+12
3003 movne r2, r2, asl #1
3004 ldrneh r2, [r2, r3]
3005 strneh r2, [lr, #2] @ movhi
3006 movs r2, r1, lsr #24
3007 ldrne r3, .L1161+12
3008 movne r2, r2, asl #1
3009 ldrneh r2, [r2, r3]
3010 strneh r2, [lr, #0] @ movhi
3011.L774:
3012 add lr, lr, #8
3013 mov r5, r4
3014.L736:
3015 add ip, ip, #2
3016 b .L729
3017.L1143:
3018 ldrh r5, [ip, #0]
3019 rsb r6, r0, #8
3020 mov r2, r5, asl #22
3021 mov r3, r5, lsr #12
3022 mov r2, r2, lsr #22
3023 tst r5, #2048
3024 mov r7, r3, asl #4
3025 add r3, r8, r2, asl #5
3026 addne r3, r3, fp
3027 tst r5, #1024
3028 beq .L1006
3029 cmp r6, #0
3030 ldr r2, [r3, #0]
3031 beq .L1008
3032 mov r3, r0, asl #2
3033 mov r0, r2, asl r3
3034 ldr r5, .L1161+12
3035 mov r1, #0
3036.L1010:
3037 movs r3, r0, lsr #28
3038 orr r3, r7, r3
3039 mov r3, r3, asl #1
3040 ldrneh r3, [r3, r5]
3041 mov r2, r1, asl #1
3042 add r1, r1, #1
3043 strneh r3, [r2, lr] @ movhi
3044 cmp r6, r1
3045 mov r0, r0, asl #4
3046 bne .L1010
3047 add lr, lr, r6, asl #1
3048.L1008:
3049 add ip, ip, #2
3050 b .L1003
3051.L1151:
3052 rsb r4, r0, #8
3053 cmp r9, r4
3054 bcs .L533
3055 ldrh r2, [ip, #0]
3056 mov r3, r2, asl #22
3057 mov r3, r3, lsr #22
3058 tst r2, #2048
3059 add ip, r8, r3, asl #6
3060 addne ip, ip, fp
3061 tst r2, #1024
3062 bne .L1156
3063 cmp r0, #3
3064 bls .L566
3065 cmp r9, #0
3066 ldr r2, [ip, #4]
3067 beq .L1118
3068 mov r3, r0, asl #3
3069 sub r3, r3, #32
3070 mov r0, r2, lsr r3
3071 ldr ip, .L1161+12
3072 mov r1, #0
3073.L569:
3074 ands r3, r0, #255
3075 mov r3, r3, asl #1
3076 ldrneh r3, [r3, ip]
3077 mov r2, r1, asl #1
3078 add r1, r1, #1
3079 strneh r3, [r2, lr] @ movhi
3080 cmp r9, r1
3081 mov r0, r0, lsr #8
3082 bne .L569
3083 b .L1118
3084.L1108:
3085 ldr r2, [r3, #0]
3086 ldr r4, .L1161+12
3087 mov r0, #0
3088.L1114:
3089 ands r3, r2, #15
3090 orr r3, ip, r3
3091 mov r3, r3, asl #1
3092 ldrneh r3, [r3, r4]
3093 mov r1, r0, asl #1
3094 add r0, r0, #1
3095 strneh r3, [r1, lr] @ movhi
3096 cmp r5, r0
3097 mov r2, r2, lsr #4
3098 bne .L1114
3099 b .L1118
3100.L874:
3101 cmp r5, #3
3102 ldrls r2, [ip, #0]
3103 bls .L905
3104 ldr r1, [ip, #0]
3105 cmp r1, #0
3106 beq .L895
3107 ands r2, r1, #255
3108 ldrne r3, .L1161+12
3109 movne r2, r2, asl #1
3110 ldrneh r2, [r2, r3]
3111 mov r3, r1, lsr #8
3112 strneh r2, [lr, #0] @ movhi
3113 ands r2, r3, #255
3114 ldrne r3, .L1161+12
3115 movne r2, r2, asl #1
3116 ldrneh r2, [r2, r3]
3117 mov r3, r1, lsr #16
3118 strneh r2, [lr, #2] @ movhi
3119 ands r2, r3, #255
3120 ldrne r3, .L1161+12
3121 movne r2, r2, asl #1
3122 ldrneh r2, [r2, r3]
3123 strneh r2, [lr, #4] @ movhi
3124 movs r2, r1, lsr #24
3125 ldrne r3, .L1161+12
3126 movne r2, r2, asl #1
3127 ldrneh r2, [r2, r3]
3128 strneh r2, [lr, #6] @ movhi
3129.L895:
3130 subs r5, r5, #4
3131 ldr r2, [ip, #4]
3132 addne lr, lr, #8
3133 beq .L1118
3134.L905:
3135 mov r1, #0
3136.L906:
3137 ands r3, r2, #255
3138 mov ip, r3, asl #1
3139 ldrne r3, .L1161+12
3140 mov r0, r1, asl #1
3141 ldrneh ip, [ip, r3]
3142 add r1, r1, #1
3143 strneh ip, [r0, lr] @ movhi
3144 cmp r1, r5
3145 mov r2, r2, lsr #8
3146 bcc .L906
3147 b .L1118
3148.L991:
3149 ldr r2, [r3, #0]
3150 ldr r5, .L1161+12
3151 mov r0, #0
3152.L997:
3153 ands r3, r2, #15
3154 orr r3, ip, r3
3155 mov r3, r3, asl #1
3156 ldrneh r3, [r3, r5]
3157 mov r1, r0, asl #1
3158 add r0, r0, #1
3159 strneh r3, [r1, lr] @ movhi
3160 cmp r4, r0
3161 mov r2, r2, lsr #4
3162 bne .L997
3163 b .L1118
3164.L691:
3165 cmp r4, #3
3166 ldrls r2, [ip, #0]
3167 bls .L722
3168 ldr r1, [ip, #0]
3169 cmp r1, #0
3170 beq .L712
3171 ands r2, r1, #255
3172 ldrne r3, .L1161+12
3173 movne r2, r2, asl #1
3174 ldrneh r2, [r2, r3]
3175 mov r3, r1, lsr #8
3176 strneh r2, [lr, #0] @ movhi
3177 ands r2, r3, #255
3178 ldrne r3, .L1161+12
3179 movne r2, r2, asl #1
3180 ldrneh r2, [r2, r3]
3181 mov r3, r1, lsr #16
3182 strneh r2, [lr, #2] @ movhi
3183 ands r2, r3, #255
3184 ldrne r3, .L1161+12
3185 movne r2, r2, asl #1
3186 ldrneh r2, [r2, r3]
3187 strneh r2, [lr, #4] @ movhi
3188 movs r2, r1, lsr #24
3189 ldrne r3, .L1161+12
3190 movne r2, r2, asl #1
3191 ldrneh r2, [r2, r3]
3192 strneh r2, [lr, #6] @ movhi
3193.L712:
3194 subs r4, r4, #4
3195 ldr r2, [ip, #4]
3196 addne lr, lr, #8
3197 beq .L1118
3198.L722:
3199 mov r1, #0
3200.L723:
3201 ands r3, r2, #255
3202 mov ip, r3, asl #1
3203 ldrne r3, .L1161+12
3204 mov r0, r1, asl #1
3205 ldrneh ip, [ip, r3]
3206 add r1, r1, #1
3207 strneh ip, [r0, lr] @ movhi
3208 cmp r4, r1
3209 mov r2, r2, lsr #8
3210 bhi .L723
3211 b .L1118
3212.L732:
3213 cmp r0, #3
3214 bhi .L1157
3215 subs r4, r5, #4
3216 ldr r2, [r6, #0]
3217 beq .L767
3218 mov r3, r0, asl #3
3219 mov r0, r2, lsr r3
3220 ldr r7, .L1161+12
3221 mov r1, #0
3222.L769:
3223 ands r3, r0, #255
3224 mov r3, r3, asl #1
3225 ldrneh r3, [r3, r7]
3226 mov r2, r1, asl #1
3227 add r1, r1, #1
3228 strneh r3, [r2, lr] @ movhi
3229 cmp r4, r1
3230 mov r0, r0, lsr #8
3231 bne .L769
3232 add r3, lr, r5, asl #1
3233 sub lr, r3, #8
3234.L767:
3235 ldr r1, [r6, #4]
3236 cmp r1, #0
3237 beq .L774
3238 ands r2, r1, #255
3239 ldrne r3, .L1161+12
3240 movne r2, r2, asl #1
3241 ldrneh r2, [r2, r3]
3242 mov r3, r1, lsr #8
3243 strneh r2, [lr, #0] @ movhi
3244 ands r2, r3, #255
3245 ldrne r3, .L1161+12
3246 movne r2, r2, asl #1
3247 ldrneh r2, [r2, r3]
3248 mov r3, r1, lsr #16
3249 strneh r2, [lr, #2] @ movhi
3250 ands r2, r3, #255
3251 ldrne r3, .L1161+12
3252 movne r2, r2, asl #1
3253 ldrneh r2, [r2, r3]
3254 strneh r2, [lr, #4] @ movhi
3255 movs r2, r1, lsr #24
3256 ldrne r3, .L1161+12
3257 movne r2, r2, asl #1
3258 ldrneh r2, [r2, r3]
3259 strneh r2, [lr, #6] @ movhi
3260 b .L774
3261.L1006:
3262 cmp r6, #0
3263 ldr r2, [r3, #0]
3264 beq .L1008
3265 mov r3, r0, asl #2
3266 mov r0, r2, lsr r3
3267 ldr r5, .L1161+12
3268 mov r1, #0
3269.L1016:
3270 ands r3, r0, #15
3271 orr r3, r7, r3
3272 mov r3, r3, asl #1
3273 ldrneh r3, [r3, r5]
3274 mov r2, r1, asl #1
3275 add r1, r1, #1
3276 strneh r3, [r2, lr] @ movhi
3277 cmp r6, r1
3278 mov r0, r0, lsr #4
3279 bne .L1016
3280 add lr, lr, r6, asl #1
3281 b .L1008
3282.L914:
3283 ldrh r1, [ip, #0]
3284 mov r2, r1, asl #22
3285 mov r3, r1, lsr #12
3286 mov r2, r2, lsr #22
3287 tst r1, #2048
3288 mov r5, r3, asl #4
3289 add r3, r8, r2, asl #5
3290 addne r3, r3, fp
3291 tst r1, #1024
3292 bne .L1158
3293 cmp r4, #0
3294 ldr r2, [r3, #0]
3295 beq .L934
3296 mov r3, r0, asl #2
3297 mov r0, r2, lsr r3
3298 ldr r6, .L1161+12
3299 mov r1, #0
3300.L942:
3301 ands r3, r0, #15
3302 orr r3, r5, r3
3303 mov r3, r3, asl #1
3304 ldrneh r3, [r3, r6]
3305 mov r2, r1, asl #1
3306 add r1, r1, #1
3307 strneh r3, [r2, lr] @ movhi
3308 cmp r4, r1
3309 mov r0, r0, lsr #4
3310 bne .L942
3311.L1133:
3312 add lr, lr, r4, asl #1
3313.L934:
3314 rsb r9, r4, r9
3315 add ip, ip, #2
3316 b .L912
3317.L533:
3318 ldrh r2, [ip, #0]
3319 mov r3, r2, asl #22
3320 mov r3, r3, lsr #22
3321 tst r2, #2048
3322 add r5, r8, r3, asl #6
3323 addne r5, r5, fp
3324 ands r2, r2, #1024
3325 bne .L1159
3326 cmp r0, #3
3327 bls .L621
3328 cmp r4, #0
3329 ldr r1, [r5, #4]
3330 beq .L598
3331 mov r3, r0, asl #3
3332 sub r3, r3, #32
3333 ldr r5, .L1161+12
3334 mov r0, r1, lsr r3
3335 mov r1, r2
3336.L624:
3337 ands r3, r0, #255
3338 mov r3, r3, asl #1
3339 ldrneh r3, [r3, r5]
3340 mov r2, r1, asl #1
3341 add r1, r1, #1
3342 strneh r3, [r2, lr] @ movhi
3343 cmp r4, r1
3344 mov r0, r0, lsr #8
3345 bne .L624
3346.L1120:
3347 add lr, lr, r4, asl #1
3348.L598:
3349 rsb r9, r4, r9
3350 add ip, ip, #2
3351 b .L531
3352.L1155:
3353 cmp r5, #0
3354 ldr r2, [r6, #0]
3355 beq .L736
3356 mov r3, r0, asl #3
3357 sub r3, r3, #32
3358 mov r0, r2, asl r3
3359 ldr r4, .L1161+12
3360 mov r1, #0
3361.L738:
3362 movs r3, r0, lsr #24
3363 mov r3, r3, asl #1
3364 ldrneh r3, [r3, r4]
3365 mov r2, r1, asl #1
3366 add r1, r1, #1
3367 strneh r3, [r2, lr] @ movhi
3368 cmp r5, r1
3369 mov r0, r0, asl #8
3370 bne .L738
3371 add lr, lr, r5, asl #1
3372.L1160:
3373 add ip, ip, #2
3374 b .L729
3375.L1154:
3376 cmp r9, #0
3377 ldr ip, [ip, #0]
3378 beq .L1118
3379 mov r3, r0, asl #2
3380 ldr r4, .L1161+12
3381 mov r0, ip, asl r3
3382 mov ip, #0
3383.L921:
3384 movs r3, r0, lsr #28
3385 orr r3, r2, r3
3386 mov r3, r3, asl #1
3387 ldrneh r3, [r3, r4]
3388 mov r1, ip, asl #1
3389 add ip, ip, #1
3390 strneh r3, [r1, lr] @ movhi
3391 cmp r9, ip
3392 mov r0, r0, asl #4
3393 bne .L921
3394 b .L1118
3395.L1159:
3396 cmp r0, #3
3397 bls .L596
3398 cmp r4, #0
3399 ldr r2, [r5, #0]
3400 beq .L598
3401 mov r3, r0, asl #3
3402 sub r3, r3, #32
3403 mov r0, r2, asl r3
3404 ldr r5, .L1161+12
3405 mov r1, #0
3406.L600:
3407 movs r3, r0, lsr #24
3408 mov r3, r3, asl #1
3409 ldrneh r3, [r3, r5]
3410 mov r2, r1, asl #1
3411 add r1, r1, #1
3412 strneh r3, [r2, lr] @ movhi
3413 cmp r4, r1
3414 mov r0, r0, asl #8
3415 bne .L600
3416 b .L1120
3417.L1157:
3418 cmp r5, #0
3419 ldr r1, [r6, #4]
3420 beq .L736
3421 mov r3, r0, asl #3
3422 sub r3, r3, #32
3423 ldr r4, .L1161+12
3424 mov r0, r1, lsr r3
3425 mov r1, r2
3426.L762:
3427 ands r3, r0, #255
3428 mov r3, r3, asl #1
3429 ldrneh r3, [r3, r4]
3430 mov r2, r1, asl #1
3431 add r1, r1, #1
3432 strneh r3, [r2, lr] @ movhi
3433 cmp r5, r1
3434 mov r0, r0, lsr #8
3435 bne .L762
3436 add lr, lr, r5, asl #1
3437 b .L1160
3438.L1156:
3439 cmp r0, #3
3440 bls .L539
3441 cmp r9, #0
3442 ldr r2, [ip, #0]
3443 beq .L1118
3444 mov r3, r0, asl #3
3445 sub r3, r3, #32
3446 mov r0, r2, asl r3
3447 ldr ip, .L1161+12
3448 mov r1, #0
3449.L543:
3450 movs r3, r0, lsr #24
3451 mov r3, r3, asl #1
3452 ldrneh r3, [r3, ip]
3453 mov r2, r1, asl #1
3454 add r1, r1, #1
3455 strneh r3, [r2, lr] @ movhi
3456 cmp r9, r1
3457 mov r0, r0, asl #8
3458 bne .L543
3459 b .L1118
3460.L1158:
3461 cmp r4, #0
3462 ldr r2, [r3, #0]
3463 beq .L934
3464 mov r3, r0, asl #2
3465 mov r0, r2, asl r3
3466 ldr r6, .L1161+12
3467 mov r1, #0
3468.L936:
3469 movs r3, r0, lsr #28
3470 orr r3, r5, r3
3471 mov r3, r3, asl #1
3472 ldrneh r3, [r3, r6]
3473 mov r2, r1, asl #1
3474 add r1, r1, #1
3475 strneh r3, [r2, lr] @ movhi
3476 cmp r4, r1
3477 mov r0, r0, asl #4
3478 bne .L936
3479 b .L1133
3480.L539:
3481 mov r3, r0, asl #3
3482 ldr r1, [ip, #4]
3483 add r2, r9, r0
3484 sub r3, r3, #32
3485 cmp r2, #4
3486 mov r1, r1, asl r3
3487 bhi .L547
3488 cmp r9, #0
3489 ldrne ip, .L1161+12
3490 movne r0, #0
3491 beq .L1118
3492.L562:
3493 movs r3, r1, lsr #24
3494 mov r3, r3, asl #1
3495 ldrneh r3, [r3, ip]
3496 mov r2, r0, asl #1
3497 add r0, r0, #1
3498 strneh r3, [r2, lr] @ movhi
3499 cmp r9, r0
3500 mov r1, r1, asl #8
3501 bne .L562
3502 b .L1118
3503.L596:
3504 subs r6, r4, #4
3505 ldr r2, [r5, #4]
3506 beq .L605
3507 mov r3, r0, asl #3
3508 sub r3, r3, #32
3509 mov r0, r2, asl r3
3510 ldr r7, .L1161+12
3511 mov r1, #0
3512.L607:
3513 movs r3, r0, lsr #24
3514 mov r3, r3, asl #1
3515 ldrneh r3, [r3, r7]
3516 mov r2, r1, asl #1
3517 add r1, r1, #1
3518 strneh r3, [r2, lr] @ movhi
3519 cmp r6, r1
3520 mov r0, r0, asl #8
3521 bne .L607
3522 add r3, lr, r4, asl #1
3523 sub lr, r3, #8
3524.L605:
3525 ldr r1, [r5, #0]
3526 cmp r1, #0
3527 beq .L636
3528 ands r2, r1, #255
3529 ldrne r3, .L1161+12
3530 movne r2, r2, asl #1
3531 ldrneh r2, [r2, r3]
3532 mov r3, r1, lsr #8
3533 strneh r2, [lr, #6] @ movhi
3534 ands r2, r3, #255
3535 ldrne r3, .L1161+12
3536 movne r2, r2, asl #1
3537 ldrneh r2, [r2, r3]
3538 mov r3, r1, lsr #16
3539 strneh r2, [lr, #4] @ movhi
3540 ands r2, r3, #255
3541 ldrne r3, .L1161+12
3542 movne r2, r2, asl #1
3543 ldrneh r2, [r2, r3]
3544 strneh r2, [lr, #2] @ movhi
3545 movs r2, r1, lsr #24
3546 ldrne r3, .L1161+12
3547 movne r2, r2, asl #1
3548 ldrneh r2, [r2, r3]
3549 strneh r2, [lr, #0] @ movhi
3550.L636:
3551 add lr, lr, #8
3552 b .L598
3553.L566:
3554 add r2, r9, r0
3555 ldr r3, [ip, #0]
3556 cmp r2, #4
3557 mov r1, r0, asl #3
3558 mov r2, r3, lsr r1
3559 bhi .L573
3560 cmp r9, #0
3561 ldrne ip, .L1161+12
3562 movne r0, #0
3563 beq .L1118
3564.L588:
3565 ands r3, r2, #255
3566 mov r3, r3, asl #1
3567 ldrneh r3, [r3, ip]
3568 mov r1, r0, asl #1
3569 add r0, r0, #1
3570 strneh r3, [r1, lr] @ movhi
3571 cmp r9, r0
3572 mov r2, r2, lsr #8
3573 bne .L588
3574 b .L1118
3575.L621:
3576 subs r6, r4, #4
3577 ldr r2, [r5, #0]
3578 beq .L629
3579 mov r3, r0, asl #3
3580 mov r0, r2, lsr r3
3581 ldr r7, .L1161+12
3582 mov r1, #0
3583.L631:
3584 ands r3, r0, #255
3585 mov r3, r3, asl #1
3586 ldrneh r3, [r3, r7]
3587 mov r2, r1, asl #1
3588 add r1, r1, #1
3589 strneh r3, [r2, lr] @ movhi
3590 cmp r6, r1
3591 mov r0, r0, lsr #8
3592 bne .L631
3593 add r3, lr, r4, asl #1
3594 sub lr, r3, #8
3595.L629:
3596 ldr r1, [r5, #4]
3597 cmp r1, #0
3598 beq .L636
3599 ands r2, r1, #255
3600 ldrne r3, .L1161+12
3601 movne r2, r2, asl #1
3602 ldrneh r2, [r2, r3]
3603 mov r3, r1, lsr #8
3604 strneh r2, [lr, #0] @ movhi
3605 ands r2, r3, #255
3606 ldrne r3, .L1161+12
3607 movne r2, r2, asl #1
3608 ldrneh r2, [r2, r3]
3609 mov r3, r1, lsr #16
3610 strneh r2, [lr, #2] @ movhi
3611 ands r2, r3, #255
3612 ldrne r3, .L1161+12
3613 movne r2, r2, asl #1
3614 ldrneh r2, [r2, r3]
3615 strneh r2, [lr, #4] @ movhi
3616 movs r2, r1, lsr #24
3617 ldrne r3, .L1161+12
3618 movne r2, r2, asl #1
3619 ldrneh r2, [r2, r3]
3620 strneh r2, [lr, #6] @ movhi
3621 add lr, lr, #8
3622 b .L598
3623.L547:
3624 rsbs r4, r0, #4
3625 beq .L550
3626 ldr r5, .L1161+12
3627 mov r0, #0
3628.L552:
3629 movs r3, r1, lsr #24
3630 mov r3, r3, asl #1
3631 ldrneh r3, [r3, r5]
3632 mov r2, r0, asl #1
3633 add r0, r0, #1
3634 strneh r3, [r2, lr] @ movhi
3635 cmp r4, r0
3636 mov r1, r1, asl #8
3637 bne .L552
3638 add lr, lr, r4, asl #1
3639.L550:
3640 subs r4, r9, r4
3641 ldr r2, [ip, #0]
3642 beq .L1118
3643 ldr ip, .L1161+12
3644 mov r0, #0
3645.L558:
3646 movs r3, r2, lsr #24
3647 mov r3, r3, asl #1
3648 ldrneh r3, [r3, ip]
3649 mov r1, r0, asl #1
3650 add r0, r0, #1
3651 strneh r3, [r1, lr] @ movhi
3652 cmp r4, r0
3653 mov r2, r2, asl #8
3654 bne .L558
3655 b .L1118
3656.L573:
3657 rsbs r4, r0, #4
3658 beq .L576
3659 ldr r5, .L1161+12
3660 mov r0, #0
3661.L578:
3662 ands r3, r2, #255
3663 mov r3, r3, asl #1
3664 ldrneh r3, [r3, r5]
3665 mov r1, r0, asl #1
3666 add r0, r0, #1
3667 strneh r3, [r1, lr] @ movhi
3668 cmp r4, r0
3669 mov r2, r2, lsr #8
3670 bne .L578
3671 add lr, lr, r4, asl #1
3672.L576:
3673 subs r4, r9, r4
3674 ldr r2, [ip, #4]
3675 beq .L1118
3676 ldr ip, .L1161+12
3677 mov r0, #0
3678.L584:
3679 ands r3, r2, #255
3680 mov r3, r3, asl #1
3681 ldrneh r3, [r3, ip]
3682 mov r1, r0, asl #1
3683 add r0, r0, #1
3684 strneh r3, [r1, lr] @ movhi
3685 cmp r4, r0
3686 mov r2, r2, lsr #8
3687 bne .L584
3688 b .L1118
3689 .size render_scanline_text_transparent_normal, .-render_scanline_text_transparent_normal
3690 .align 2
3691 .global render_scanline_text_base_color16
3692 .type render_scanline_text_base_color16, %function
3693render_scanline_text_base_color16:
3694 @ args = 0, pretend = 0, frame = 16
3695 @ frame_needed = 0, uses_anonymous_args = 0
3696 ldr ip, .L1954
3697 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
3698 ldrh r5, [ip, #80]
3699 add r7, r0, #7
3700 mov r8, r5, asr r0
3701 mov r7, r5, asr r7
3702 add r6, ip, r0, asl #2
3703 ldrh r4, [ip, #6]
3704 ldrh lr, [r6, #18]
3705 add ip, ip, r0, asl #1
3706 add fp, r4, lr
3707 ldrh r9, [ip, #8]
3708 mov sl, fp, asl #23
3709 rsb r2, r1, r2
3710 sub sp, sp, #16
3711 mov sl, sl, lsr #23
3712 cmp sl, #255
3713 movls r4, #0
3714 movhi r4, #1
3715 ldrh lr, [r6, #16]
3716 str r2, [sp, #12]
3717 mov r6, r9, lsr #14
3718 ldr r2, .L1954+4
3719 ands r4, r4, r6, lsr #1
3720 and r7, r7, #2
3721 and r8, r8, #1
3722 add lr, lr, r1
3723 orr r8, r8, r7
3724 mov ip, r9, asl #3
3725 add r7, r3, r1, asl #1
3726 ldr r2, [r2, r6, asl #2]
3727 subne r3, sl, #256
3728 ldr r1, .L1954+8
3729 movne r3, r3, lsr #3
3730 moveq r3, fp, asl #3
3731 and ip, ip, #63488
3732 addne r3, r3, r2, lsr #3
3733 andeq r3, r3, #1984
3734 add ip, ip, r1
3735 mov lr, lr, asl #23
3736 addne r4, ip, r3, asl #6
3737 addeq r4, ip, r3
3738 mov r0, r5, lsr #12
3739 tst r6, #1
3740 mov lr, lr, lsr #23
3741 and r0, r0, #2
3742 mov r5, r5, asl #26
3743 andeq lr, lr, #255
3744 orr r0, r0, r5, lsr #31
3745 moveq r3, lr, lsr #3
3746 mov r0, r0, asl #9
3747 mov r8, r8, asl #9
3748 addeq fp, r4, r3, asl #1
3749 streq r4, [sp, #0]
3750 beq .L1171
3751 cmp lr, #255
3752 subhi lr, lr, #256
3753 movhi r3, lr, lsr #3
3754 movls r3, lr, lsr #3
3755 addhi r3, r4, r3, asl #1
3756 addls fp, r4, r3, asl #1
3757 addls r4, r4, #2048
3758 addhi fp, r3, #2048
3759 strhi r4, [sp, #0]
3760 strls r4, [sp, #0]
3761.L1171:
3762 tst r9, #128
3763 beq .L1172
3764 mov r2, r9, asl #12
3765 and r3, sl, #7
3766 and r1, lr, #255
3767 mov r3, r3, asl #3
3768 and r2, r2, #49152
3769 ldr r4, [sp, #12]
3770 rsb r9, r1, #256
3771 add r2, r2, r3
3772 ldr r1, .L1954+8
3773 mov r3, r3, asl #1
3774 rsb r3, r3, #56
3775 cmp r4, r9
3776 add r2, r2, r1
3777 str r3, [sp, #4]
3778 and lr, lr, #7
3779 bls .L1925
3780 cmp lr, #0
3781 moveq r6, lr
3782 bne .L1926
3783.L1412:
3784 rsb r3, r6, r9
3785 movs sl, r3, lsr #3
3786 beq .L1476
3787 mov lr, r7
3788 mov r6, #0
3789 b .L1478
3790.L1927:
3791 ldr r1, [r5, #4]
3792 add r6, r6, #1
3793 ands r3, r1, #255
3794 orrne r3, r3, r8
3795 strneh r3, [lr, #6] @ movhi
3796 mov r3, r1, lsr #8
3797 streqh r0, [lr, #6] @ movhi
3798 ands r3, r3, #255
3799 orrne r3, r3, r8
3800 strneh r3, [lr, #4] @ movhi
3801 mov r3, r1, lsr #16
3802 streqh r0, [lr, #4] @ movhi
3803 ands r3, r3, #255
3804 orrne r3, r3, r8
3805 strneh r3, [lr, #2] @ movhi
3806 streqh r0, [lr, #2] @ movhi
3807 movs r3, r1, lsr #24
3808 ldr r1, [r5, #0]
3809 orrne r3, r3, r8
3810 strneh r3, [lr, #0] @ movhi
3811 streqh r0, [lr, #0] @ movhi
3812 ands r3, r1, #255
3813 orrne r3, r3, r8
3814 strneh r3, [lr, #14] @ movhi
3815 mov r3, r1, lsr #8
3816 streqh r0, [lr, #14] @ movhi
3817 ands r3, r3, #255
3818 orrne r3, r3, r8
3819 strneh r3, [lr, #12] @ movhi
3820 mov r3, r1, lsr #16
3821 streqh r0, [lr, #12] @ movhi
3822 ands r3, r3, #255
3823 orrne r3, r3, r8
3824 strneh r3, [lr, #10] @ movhi
3825 streqh r0, [lr, #10] @ movhi
3826 movs r3, r1, lsr #24
3827 orrne r3, r3, r8
3828 strneh r3, [lr, #8] @ movhi
3829 streqh r0, [lr, #8] @ movhi
3830 cmp sl, r6
3831 add lr, lr, #16
3832 beq .L1530
3833.L1928:
3834 add fp, fp, #2
3835.L1478:
3836 ldrh r1, [fp, #0]
3837 mov r3, r1, asl #22
3838 mov r3, r3, lsr #22
3839 tst r1, #2048
3840 add r5, r2, r3, asl #6
3841 ldrne r3, [sp, #4]
3842 addne r5, r5, r3
3843 tst r1, #1024
3844 bne .L1927
3845 ldr r1, [r5, #0]
3846 add r6, r6, #1
3847 ands r3, r1, #255
3848 orrne r3, r3, r8
3849 strneh r3, [lr, #0] @ movhi
3850 mov r3, r1, lsr #8
3851 streqh r0, [lr, #0] @ movhi
3852 ands r3, r3, #255
3853 orrne r3, r3, r8
3854 strneh r3, [lr, #2] @ movhi
3855 mov r3, r1, lsr #16
3856 streqh r0, [lr, #2] @ movhi
3857 ands r3, r3, #255
3858 orrne r3, r3, r8
3859 strneh r3, [lr, #4] @ movhi
3860 streqh r0, [lr, #4] @ movhi
3861 movs r3, r1, lsr #24
3862 ldr r1, [r5, #4]
3863 orrne r3, r3, r8
3864 strneh r3, [lr, #6] @ movhi
3865 streqh r0, [lr, #6] @ movhi
3866 ands r3, r1, #255
3867 orrne r3, r3, r8
3868 strneh r3, [lr, #8] @ movhi
3869 mov r3, r1, lsr #8
3870 streqh r0, [lr, #8] @ movhi
3871 ands r3, r3, #255
3872 orrne r3, r3, r8
3873 strneh r3, [lr, #10] @ movhi
3874 mov r3, r1, lsr #16
3875 streqh r0, [lr, #10] @ movhi
3876 ands r3, r3, #255
3877 orrne r3, r3, r8
3878 strneh r3, [lr, #12] @ movhi
3879 streqh r0, [lr, #12] @ movhi
3880 movs r3, r1, lsr #24
3881 orrne r3, r3, r8
3882 strneh r3, [lr, #14] @ movhi
3883 streqh r0, [lr, #14] @ movhi
3884 cmp sl, r6
3885 add lr, lr, #16
3886 bne .L1928
3887.L1530:
3888 add r7, r7, sl, asl #4
3889.L1476:
3890 ldr r4, [sp, #12]
3891 rsb r9, r9, r4
3892 movs r4, r9, lsr #3
3893 ldreq r3, [sp, #0]
3894 beq .L1534
3895 ldr r6, [sp, #0]
3896 mov lr, r7
3897 mov sl, #0
3898 b .L1535
3899.L1930:
3900 ldr r1, [r5, #4]
3901 add sl, sl, #1
3902 ands r3, r1, #255
3903 orrne r3, r3, r8
3904 strneh r3, [lr, #6] @ movhi
3905 mov r3, r1, lsr #8
3906 streqh r0, [lr, #6] @ movhi
3907 ands r3, r3, #255
3908 orrne r3, r3, r8
3909 strneh r3, [lr, #4] @ movhi
3910 mov r3, r1, lsr #16
3911 streqh r0, [lr, #4] @ movhi
3912 ands r3, r3, #255
3913 orrne r3, r3, r8
3914 strneh r3, [lr, #2] @ movhi
3915 streqh r0, [lr, #2] @ movhi
3916 movs r3, r1, lsr #24
3917 ldr r1, [r5, #0]
3918 orrne r3, r3, r8
3919 strneh r3, [lr, #0] @ movhi
3920 streqh r0, [lr, #0] @ movhi
3921 ands r3, r1, #255
3922 orrne r3, r3, r8
3923 strneh r3, [lr, #14] @ movhi
3924 mov r3, r1, lsr #8
3925 streqh r0, [lr, #14] @ movhi
3926 ands r3, r3, #255
3927 orrne r3, r3, r8
3928 strneh r3, [lr, #12] @ movhi
3929 mov r3, r1, lsr #16
3930 streqh r0, [lr, #12] @ movhi
3931 ands r3, r3, #255
3932 orrne r3, r3, r8
3933 strneh r3, [lr, #10] @ movhi
3934 streqh r0, [lr, #10] @ movhi
3935 movs r3, r1, lsr #24
3936 orrne r3, r3, r8
3937 strneh r3, [lr, #8] @ movhi
3938 streqh r0, [lr, #8] @ movhi
3939 cmp r4, sl
3940 add lr, lr, #16
3941 add r6, r6, #2
3942 beq .L1929
3943.L1535:
3944 ldrh r1, [r6, #0]
3945 mov r3, r1, asl #22
3946 mov r3, r3, lsr #22
3947 tst r1, #2048
3948 add r5, r2, r3, asl #6
3949 ldrne r3, [sp, #4]
3950 addne r5, r5, r3
3951 tst r1, #1024
3952 bne .L1930
3953 ldr r1, [r5, #0]
3954 add sl, sl, #1
3955 ands r3, r1, #255
3956 orrne r3, r3, r8
3957 strneh r3, [lr, #0] @ movhi
3958 mov r3, r1, lsr #8
3959 streqh r0, [lr, #0] @ movhi
3960 ands r3, r3, #255
3961 orrne r3, r3, r8
3962 strneh r3, [lr, #2] @ movhi
3963 mov r3, r1, lsr #16
3964 streqh r0, [lr, #2] @ movhi
3965 ands r3, r3, #255
3966 orrne r3, r3, r8
3967 strneh r3, [lr, #4] @ movhi
3968 streqh r0, [lr, #4] @ movhi
3969 movs r3, r1, lsr #24
3970 ldr r1, [r5, #4]
3971 orrne r3, r3, r8
3972 strneh r3, [lr, #6] @ movhi
3973 streqh r0, [lr, #6] @ movhi
3974 ands r3, r1, #255
3975 orrne r3, r3, r8
3976 strneh r3, [lr, #8] @ movhi
3977 mov r3, r1, lsr #8
3978 streqh r0, [lr, #8] @ movhi
3979 ands r3, r3, #255
3980 orrne r3, r3, r8
3981 strneh r3, [lr, #10] @ movhi
3982 mov r3, r1, lsr #16
3983 streqh r0, [lr, #10] @ movhi
3984 ands r3, r3, #255
3985 orrne r3, r3, r8
3986 strneh r3, [lr, #12] @ movhi
3987 streqh r0, [lr, #12] @ movhi
3988 movs r3, r1, lsr #24
3989 orrne r3, r3, r8
3990 strneh r3, [lr, #14] @ movhi
3991 streqh r0, [lr, #14] @ movhi
3992 cmp r4, sl
3993 add lr, lr, #16
3994 add r6, r6, #2
3995 bne .L1535
3996.L1929:
3997 ldr r1, [sp, #0]
3998 add r7, r7, r4, asl #4
3999 add r3, r1, r4, asl #1
4000.L1534:
4001 ands lr, r9, #7
4002 beq .L1907
4003 ldrh r4, [r3, #0]
4004 mov r3, r4, asl #22
4005 mov r3, r3, lsr #22
4006 tst r4, #2048
4007 add r2, r2, r3, asl #6
4008 ldrne r3, [sp, #4]
4009 addne r2, r2, r3
4010 tst r4, #1024
4011 beq .L1591
4012 cmp lr, #3
4013 ldrls r2, [r2, #4]
4014 bhi .L1931
4015.L1608:
4016 mov r1, #0
4017.L1609:
4018 movs r3, r2, lsr #24
4019 orr r3, r3, r8
4020 add r1, r1, #1
4021 strneh r3, [r7, #0] @ movhi
4022 streqh r0, [r7, #0] @ movhi
4023 cmp lr, r1
4024 mov r2, r2, asl #8
4025 add r7, r7, #2
4026 bhi .L1609
4027.L1907:
4028 add sp, sp, #16
4029 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
4030.L1172:
4031 and r1, lr, #255
4032 rsb r4, r1, #256
4033 and r3, sl, #7
4034 ldr r1, [sp, #12]
4035 mov r2, r9, asl #12
4036 mov r3, r3, asl #2
4037 and r2, r2, #49152
4038 add r2, r2, r3
4039 cmp r1, r4
4040 mov r3, r3, asl #1
4041 ldr r1, .L1954+8
4042 rsb r3, r3, #28
4043 add ip, r2, r1
4044 str r3, [sp, #8]
4045 and r1, lr, #7
4046 bls .L1932
4047 cmp r1, #0
4048 moveq r6, r1
4049 bne .L1933
4050.L1752:
4051 rsb r3, r6, r4
4052 movs r9, r3, lsr #3
4053 beq .L1772
4054 mov r3, r0, asl #16
4055 mov r5, r3, lsr #16
4056 mov lr, r7
4057 mov sl, #0
4058 b .L1774
4059.L1934:
4060 ldr r2, [r3, #0]
4061 cmp r2, #0
4062 beq .L1805
4063 ands r3, r2, #15
4064 orrne r3, r6, r3
4065 orrne r3, r3, r8
4066 strneh r3, [lr, #14] @ movhi
4067 mov r3, r2, lsr #4
4068 streqh r0, [lr, #14] @ movhi
4069 ands r3, r3, #15
4070 orrne r3, r6, r3
4071 orrne r3, r3, r8
4072 strneh r3, [lr, #12] @ movhi
4073 mov r3, r2, lsr #8
4074 streqh r0, [lr, #12] @ movhi
4075 ands r3, r3, #15
4076 orrne r3, r6, r3
4077 orrne r3, r3, r8
4078 strneh r3, [lr, #10] @ movhi
4079 mov r3, r2, lsr #12
4080 streqh r0, [lr, #10] @ movhi
4081 ands r3, r3, #15
4082 orrne r3, r6, r3
4083 orrne r3, r3, r8
4084 strneh r3, [lr, #8] @ movhi
4085 mov r3, r2, lsr #16
4086 streqh r0, [lr, #8] @ movhi
4087 ands r3, r3, #15
4088 orrne r3, r6, r3
4089 orrne r3, r3, r8
4090 strneh r3, [lr, #6] @ movhi
4091 mov r3, r2, lsr #20
4092 streqh r0, [lr, #6] @ movhi
4093 ands r3, r3, #15
4094 orrne r3, r6, r3
4095 orrne r3, r3, r8
4096 strneh r3, [lr, #4] @ movhi
4097 mov r3, r2, lsr #24
4098 streqh r0, [lr, #4] @ movhi
4099 ands r3, r3, #15
4100 orrne r3, r6, r3
4101 orrne r3, r3, r8
4102 strneh r3, [lr, #2] @ movhi
4103 streqh r0, [lr, #2] @ movhi
4104 movs r3, r2, lsr #28
4105 orrne r3, r6, r3
4106 orrne r3, r3, r8
4107 strneh r3, [lr, #0] @ movhi
4108 streqh r0, [lr, #0] @ movhi
4109.L1804:
4110 add sl, sl, #1
4111 cmp r9, sl
4112 add lr, lr, #16
4113 beq .L1830
4114.L1935:
4115 add fp, fp, #2
4116.L1774:
4117 ldrh r1, [fp, #0]
4118 mov r2, r1, asl #22
4119 mov r2, r2, lsr #22
4120 tst r1, #2048
4121 mov r3, r1, lsr #12
4122 mov r6, r3, asl #4
4123 add r3, ip, r2, asl #5
4124 ldrne r2, [sp, #8]
4125 addne r3, r3, r2
4126 tst r1, #1024
4127 bne .L1934
4128 ldr r2, [r3, #0]
4129 cmp r2, #0
4130 beq .L1805
4131 ands r3, r2, #15
4132 orrne r3, r6, r3
4133 orrne r3, r3, r8
4134 strneh r3, [lr, #0] @ movhi
4135 mov r3, r2, lsr #4
4136 streqh r0, [lr, #0] @ movhi
4137 ands r3, r3, #15
4138 orrne r3, r6, r3
4139 orrne r3, r3, r8
4140 strneh r3, [lr, #2] @ movhi
4141 mov r3, r2, lsr #8
4142 streqh r0, [lr, #2] @ movhi
4143 ands r3, r3, #15
4144 orrne r3, r6, r3
4145 orrne r3, r3, r8
4146 strneh r3, [lr, #4] @ movhi
4147 mov r3, r2, lsr #12
4148 streqh r0, [lr, #4] @ movhi
4149 ands r3, r3, #15
4150 orrne r3, r6, r3
4151 orrne r3, r3, r8
4152 strneh r3, [lr, #6] @ movhi
4153 mov r3, r2, lsr #16
4154 streqh r0, [lr, #6] @ movhi
4155 ands r3, r3, #15
4156 orrne r3, r6, r3
4157 orrne r3, r3, r8
4158 strneh r3, [lr, #8] @ movhi
4159 mov r3, r2, lsr #20
4160 streqh r0, [lr, #8] @ movhi
4161 ands r3, r3, #15
4162 orrne r3, r6, r3
4163 orrne r3, r3, r8
4164 strneh r3, [lr, #10] @ movhi
4165 mov r3, r2, lsr #24
4166 streqh r0, [lr, #10] @ movhi
4167 ands r3, r3, #15
4168 orrne r3, r6, r3
4169 orrne r3, r3, r8
4170 strneh r3, [lr, #12] @ movhi
4171 streqh r0, [lr, #12] @ movhi
4172 movs r3, r2, lsr #28
4173 orrne r3, r6, r3
4174 orrne r3, r3, r8
4175 add sl, sl, #1
4176 strneh r3, [lr, #14] @ movhi
4177 streqh r0, [lr, #14] @ movhi
4178 cmp r9, sl
4179 add lr, lr, #16
4180 bne .L1935
4181.L1830:
4182 add r7, r7, r9, asl #4
4183.L1772:
4184 ldr r3, [sp, #12]
4185 rsb fp, r4, r3
4186 movs r4, fp, lsr #3
4187 ldreq r2, [sp, #0]
4188 beq .L1834
4189 mov r3, r0, asl #16
4190 ldr sl, [sp, #0]
4191 mov r5, r3, lsr #16
4192 mov lr, r7
4193 mov r9, #0
4194 b .L1835
4195.L1937:
4196 ldr r2, [r3, #0]
4197 cmp r2, #0
4198 beq .L1866
4199 ands r3, r2, #15
4200 orrne r3, r6, r3
4201 orrne r3, r3, r8
4202 strneh r3, [lr, #14] @ movhi
4203 mov r3, r2, lsr #4
4204 streqh r0, [lr, #14] @ movhi
4205 ands r3, r3, #15
4206 orrne r3, r6, r3
4207 orrne r3, r3, r8
4208 strneh r3, [lr, #12] @ movhi
4209 mov r3, r2, lsr #8
4210 streqh r0, [lr, #12] @ movhi
4211 ands r3, r3, #15
4212 orrne r3, r6, r3
4213 orrne r3, r3, r8
4214 strneh r3, [lr, #10] @ movhi
4215 mov r3, r2, lsr #12
4216 streqh r0, [lr, #10] @ movhi
4217 ands r3, r3, #15
4218 orrne r3, r6, r3
4219 orrne r3, r3, r8
4220 strneh r3, [lr, #8] @ movhi
4221 mov r3, r2, lsr #16
4222 streqh r0, [lr, #8] @ movhi
4223 ands r3, r3, #15
4224 orrne r3, r6, r3
4225 orrne r3, r3, r8
4226 strneh r3, [lr, #6] @ movhi
4227 mov r3, r2, lsr #20
4228 streqh r0, [lr, #6] @ movhi
4229 ands r3, r3, #15
4230 orrne r3, r6, r3
4231 orrne r3, r3, r8
4232 strneh r3, [lr, #4] @ movhi
4233 mov r3, r2, lsr #24
4234 streqh r0, [lr, #4] @ movhi
4235 ands r3, r3, #15
4236 orrne r3, r6, r3
4237 orrne r3, r3, r8
4238 strneh r3, [lr, #2] @ movhi
4239 streqh r0, [lr, #2] @ movhi
4240 movs r3, r2, lsr #28
4241 orrne r3, r6, r3
4242 orrne r3, r3, r8
4243 strneh r3, [lr, #0] @ movhi
4244 streqh r0, [lr, #0] @ movhi
4245.L1865:
4246 add r9, r9, #1
4247 cmp r4, r9
4248 add lr, lr, #16
4249 add sl, sl, #2
4250 beq .L1936
4251.L1835:
4252 ldrh r1, [sl, #0]
4253 mov r2, r1, asl #22
4254 mov r2, r2, lsr #22
4255 tst r1, #2048
4256 mov r3, r1, lsr #12
4257 mov r6, r3, asl #4
4258 add r3, ip, r2, asl #5
4259 ldrne r2, [sp, #8]
4260 addne r3, r3, r2
4261 tst r1, #1024
4262 bne .L1937
4263 ldr r2, [r3, #0]
4264 cmp r2, #0
4265 beq .L1866
4266 ands r3, r2, #15
4267 orrne r3, r6, r3
4268 orrne r3, r3, r8
4269 strneh r3, [lr, #0] @ movhi
4270 mov r3, r2, lsr #4
4271 streqh r0, [lr, #0] @ movhi
4272 ands r3, r3, #15
4273 orrne r3, r6, r3
4274 orrne r3, r3, r8
4275 strneh r3, [lr, #2] @ movhi
4276 mov r3, r2, lsr #8
4277 streqh r0, [lr, #2] @ movhi
4278 ands r3, r3, #15
4279 orrne r3, r6, r3
4280 orrne r3, r3, r8
4281 strneh r3, [lr, #4] @ movhi
4282 mov r3, r2, lsr #12
4283 streqh r0, [lr, #4] @ movhi
4284 ands r3, r3, #15
4285 orrne r3, r6, r3
4286 orrne r3, r3, r8
4287 strneh r3, [lr, #6] @ movhi
4288 mov r3, r2, lsr #16
4289 streqh r0, [lr, #6] @ movhi
4290 ands r3, r3, #15
4291 orrne r3, r6, r3
4292 orrne r3, r3, r8
4293 strneh r3, [lr, #8] @ movhi
4294 mov r3, r2, lsr #20
4295 streqh r0, [lr, #8] @ movhi
4296 ands r3, r3, #15
4297 orrne r3, r6, r3
4298 orrne r3, r3, r8
4299 strneh r3, [lr, #10] @ movhi
4300 mov r3, r2, lsr #24
4301 streqh r0, [lr, #10] @ movhi
4302 ands r3, r3, #15
4303 orrne r3, r6, r3
4304 orrne r3, r3, r8
4305 strneh r3, [lr, #12] @ movhi
4306 streqh r0, [lr, #12] @ movhi
4307 movs r3, r2, lsr #28
4308 orrne r3, r6, r3
4309 orrne r3, r3, r8
4310 add r9, r9, #1
4311 strneh r3, [lr, #14] @ movhi
4312 streqh r0, [lr, #14] @ movhi
4313 cmp r4, r9
4314 add lr, lr, #16
4315 add sl, sl, #2
4316 bne .L1835
4317.L1936:
4318 ldr r3, [sp, #0]
4319 add r7, r7, r4, asl #4
4320 add r2, r3, r4, asl #1
4321.L1834:
4322 ands lr, fp, #7
4323 beq .L1907
4324 ldrh r4, [r2, #0]
4325 tst r4, #2048
4326 mov r3, r4, asl #22
4327 ldrne r1, [sp, #8]
4328 mov r3, r3, lsr #22
4329 add r3, ip, r3, asl #5
4330 addne r3, r3, r1
4331 mov r2, r4, lsr #12
4332 tst r4, #1024
4333 mov ip, r2, asl #4
4334 moveq r1, #0
4335 ldreq r2, [r3, #0]
4336 beq .L1902
4337 ldr r2, [r3, #0]
4338 mov r1, #0
4339.L1897:
4340 movs r3, r2, lsr #28
4341 orr r3, ip, r3
4342 orr r3, r3, r8
4343 add r1, r1, #1
4344 strneh r3, [r7, #0] @ movhi
4345 streqh r0, [r7, #0] @ movhi
4346 cmp lr, r1
4347 mov r2, r2, asl #4
4348 add r7, r7, #2
4349 bne .L1897
4350 b .L1907
4351.L1932:
4352 cmp r1, #0
4353 bne .L1938
4354.L1637:
4355 ldr r1, [sp, #12]
4356 movs r4, r1, lsr #3
4357 beq .L1676
4358 mov r3, r0, asl #16
4359 mov r5, r3, lsr #16
4360 mov lr, r7
4361 mov sl, fp
4362 mov r9, #0
4363 b .L1678
4364.L1940:
4365 ldr r2, [r3, #0]
4366 cmp r2, #0
4367 beq .L1709
4368 ands r3, r2, #15
4369 orrne r3, r6, r3
4370 orrne r3, r3, r8
4371 strneh r3, [lr, #14] @ movhi
4372 mov r3, r2, lsr #4
4373 streqh r0, [lr, #14] @ movhi
4374 ands r3, r3, #15
4375 orrne r3, r6, r3
4376 orrne r3, r3, r8
4377 strneh r3, [lr, #12] @ movhi
4378 mov r3, r2, lsr #8
4379 streqh r0, [lr, #12] @ movhi
4380 ands r3, r3, #15
4381 orrne r3, r6, r3
4382 orrne r3, r3, r8
4383 strneh r3, [lr, #10] @ movhi
4384 mov r3, r2, lsr #12
4385 streqh r0, [lr, #10] @ movhi
4386 ands r3, r3, #15
4387 orrne r3, r6, r3
4388 orrne r3, r3, r8
4389 strneh r3, [lr, #8] @ movhi
4390 mov r3, r2, lsr #16
4391 streqh r0, [lr, #8] @ movhi
4392 ands r3, r3, #15
4393 orrne r3, r6, r3
4394 orrne r3, r3, r8
4395 strneh r3, [lr, #6] @ movhi
4396 mov r3, r2, lsr #20
4397 streqh r0, [lr, #6] @ movhi
4398 ands r3, r3, #15
4399 orrne r3, r6, r3
4400 orrne r3, r3, r8
4401 strneh r3, [lr, #4] @ movhi
4402 mov r3, r2, lsr #24
4403 streqh r0, [lr, #4] @ movhi
4404 ands r3, r3, #15
4405 orrne r3, r6, r3
4406 orrne r3, r3, r8
4407 strneh r3, [lr, #2] @ movhi
4408 streqh r0, [lr, #2] @ movhi
4409 movs r3, r2, lsr #28
4410 orrne r3, r6, r3
4411 orrne r3, r3, r8
4412 strneh r3, [lr, #0] @ movhi
4413 streqh r0, [lr, #0] @ movhi
4414.L1708:
4415 add r9, r9, #1
4416 cmp r4, r9
4417 add lr, lr, #16
4418 add sl, sl, #2
4419 beq .L1939
4420.L1678:
4421 ldrh r1, [sl, #0]
4422 mov r2, r1, asl #22
4423 mov r2, r2, lsr #22
4424 tst r1, #2048
4425 mov r3, r1, lsr #12
4426 mov r6, r3, asl #4
4427 add r3, ip, r2, asl #5
4428 ldrne r2, [sp, #8]
4429 addne r3, r3, r2
4430 tst r1, #1024
4431 bne .L1940
4432 ldr r2, [r3, #0]
4433 cmp r2, #0
4434 beq .L1709
4435 ands r3, r2, #15
4436 orrne r3, r6, r3
4437 orrne r3, r3, r8
4438 strneh r3, [lr, #0] @ movhi
4439 mov r3, r2, lsr #4
4440 streqh r0, [lr, #0] @ movhi
4441 ands r3, r3, #15
4442 orrne r3, r6, r3
4443 orrne r3, r3, r8
4444 strneh r3, [lr, #2] @ movhi
4445 mov r3, r2, lsr #8
4446 streqh r0, [lr, #2] @ movhi
4447 ands r3, r3, #15
4448 orrne r3, r6, r3
4449 orrne r3, r3, r8
4450 strneh r3, [lr, #4] @ movhi
4451 mov r3, r2, lsr #12
4452 streqh r0, [lr, #4] @ movhi
4453 ands r3, r3, #15
4454 orrne r3, r6, r3
4455 orrne r3, r3, r8
4456 strneh r3, [lr, #6] @ movhi
4457 mov r3, r2, lsr #16
4458 streqh r0, [lr, #6] @ movhi
4459 ands r3, r3, #15
4460 orrne r3, r6, r3
4461 orrne r3, r3, r8
4462 strneh r3, [lr, #8] @ movhi
4463 mov r3, r2, lsr #20
4464 streqh r0, [lr, #8] @ movhi
4465 ands r3, r3, #15
4466 orrne r3, r6, r3
4467 orrne r3, r3, r8
4468 strneh r3, [lr, #10] @ movhi
4469 mov r3, r2, lsr #24
4470 streqh r0, [lr, #10] @ movhi
4471 ands r3, r3, #15
4472 orrne r3, r6, r3
4473 orrne r3, r3, r8
4474 strneh r3, [lr, #12] @ movhi
4475 streqh r0, [lr, #12] @ movhi
4476 movs r3, r2, lsr #28
4477 orrne r3, r6, r3
4478 orrne r3, r3, r8
4479 add r9, r9, #1
4480 strneh r3, [lr, #14] @ movhi
4481 streqh r0, [lr, #14] @ movhi
4482 cmp r4, r9
4483 add lr, lr, #16
4484 add sl, sl, #2
4485 bne .L1678
4486.L1939:
4487 add r7, r7, r4, asl #4
4488 add fp, fp, r4, asl #1
4489.L1676:
4490 ldr r3, [sp, #12]
4491 ands lr, r3, #7
4492 beq .L1907
4493 ldrh r1, [fp, #0]
4494 tst r1, #2048
4495 mov r3, r1, asl #22
4496 ldrne r4, [sp, #8]
4497 mov r3, r3, lsr #22
4498 add r3, ip, r3, asl #5
4499 mov r2, r1, lsr #12
4500 addne r3, r3, r4
4501 tst r1, #1024
4502 mov ip, r2, asl #4
4503 moveq r1, #0
4504 ldreq r2, [r3, #0]
4505 beq .L1745
4506 ldr r2, [r3, #0]
4507 mov r1, #0
4508.L1740:
4509 movs r3, r2, lsr #28
4510 orr r3, ip, r3
4511 orr r3, r3, r8
4512 add r1, r1, #1
4513 strneh r3, [r7, #0] @ movhi
4514 streqh r0, [r7, #0] @ movhi
4515 cmp lr, r1
4516 mov r2, r2, asl #4
4517 add r7, r7, #2
4518 bne .L1740
4519 b .L1907
4520.L1925:
4521 cmp lr, #0
4522 bne .L1941
4523.L1176:
4524 ldr r3, [sp, #12]
4525 movs r9, r3, lsr #3
4526 beq .L1308
4527 mov lr, r7
4528 mov r6, fp
4529 mov sl, #0
4530 b .L1310
4531.L1943:
4532 ldr r1, [r5, #4]
4533 add sl, sl, #1
4534 ands r3, r1, #255
4535 orrne r3, r3, r8
4536 strneh r3, [lr, #6] @ movhi
4537 mov r3, r1, lsr #8
4538 streqh r0, [lr, #6] @ movhi
4539 ands r3, r3, #255
4540 orrne r3, r3, r8
4541 strneh r3, [lr, #4] @ movhi
4542 mov r3, r1, lsr #16
4543 streqh r0, [lr, #4] @ movhi
4544 ands r3, r3, #255
4545 orrne r3, r3, r8
4546 strneh r3, [lr, #2] @ movhi
4547 streqh r0, [lr, #2] @ movhi
4548 movs r3, r1, lsr #24
4549 ldr r1, [r5, #0]
4550 orrne r3, r3, r8
4551 strneh r3, [lr, #0] @ movhi
4552 streqh r0, [lr, #0] @ movhi
4553 ands r3, r1, #255
4554 orrne r3, r3, r8
4555 strneh r3, [lr, #14] @ movhi
4556 mov r3, r1, lsr #8
4557 streqh r0, [lr, #14] @ movhi
4558 ands r3, r3, #255
4559 orrne r3, r3, r8
4560 strneh r3, [lr, #12] @ movhi
4561 mov r3, r1, lsr #16
4562 streqh r0, [lr, #12] @ movhi
4563 ands r3, r3, #255
4564 orrne r3, r3, r8
4565 strneh r3, [lr, #10] @ movhi
4566 streqh r0, [lr, #10] @ movhi
4567 movs r3, r1, lsr #24
4568 orrne r3, r3, r8
4569 strneh r3, [lr, #8] @ movhi
4570 streqh r0, [lr, #8] @ movhi
4571 cmp r9, sl
4572 add lr, lr, #16
4573 add r6, r6, #2
4574 beq .L1942
4575.L1310:
4576 ldrh r1, [r6, #0]
4577 tst r1, #2048
4578 mov r3, r1, asl #22
4579 ldrne r4, [sp, #4]
4580 mov r3, r3, lsr #22
4581 add r5, r2, r3, asl #6
4582 addne r5, r5, r4
4583 tst r1, #1024
4584 bne .L1943
4585 ldr r1, [r5, #0]
4586 add sl, sl, #1
4587 ands r3, r1, #255
4588 orrne r3, r3, r8
4589 strneh r3, [lr, #0] @ movhi
4590 mov r3, r1, lsr #8
4591 streqh r0, [lr, #0] @ movhi
4592 ands r3, r3, #255
4593 orrne r3, r3, r8
4594 strneh r3, [lr, #2] @ movhi
4595 mov r3, r1, lsr #16
4596 streqh r0, [lr, #2] @ movhi
4597 ands r3, r3, #255
4598 orrne r3, r3, r8
4599 strneh r3, [lr, #4] @ movhi
4600 streqh r0, [lr, #4] @ movhi
4601 movs r3, r1, lsr #24
4602 ldr r1, [r5, #4]
4603 orrne r3, r3, r8
4604 strneh r3, [lr, #6] @ movhi
4605 streqh r0, [lr, #6] @ movhi
4606 ands r3, r1, #255
4607 orrne r3, r3, r8
4608 strneh r3, [lr, #8] @ movhi
4609 mov r3, r1, lsr #8
4610 streqh r0, [lr, #8] @ movhi
4611 ands r3, r3, #255
4612 orrne r3, r3, r8
4613 strneh r3, [lr, #10] @ movhi
4614 mov r3, r1, lsr #16
4615 streqh r0, [lr, #10] @ movhi
4616 ands r3, r3, #255
4617 orrne r3, r3, r8
4618 strneh r3, [lr, #12] @ movhi
4619 streqh r0, [lr, #12] @ movhi
4620 movs r3, r1, lsr #24
4621 orrne r3, r3, r8
4622 strneh r3, [lr, #14] @ movhi
4623 streqh r0, [lr, #14] @ movhi
4624 cmp r9, sl
4625 add lr, lr, #16
4626 add r6, r6, #2
4627 bne .L1310
4628.L1942:
4629 add r7, r7, r9, asl #4
4630 add fp, fp, r9, asl #1
4631.L1308:
4632 ldr r1, [sp, #12]
4633 ands lr, r1, #7
4634 beq .L1907
4635 ldrh r1, [fp, #0]
4636 mov r3, r1, asl #22
4637 mov r3, r3, lsr #22
4638 tst r1, #2048
4639 add r2, r2, r3, asl #6
4640 ldrne r3, [sp, #4]
4641 addne r2, r2, r3
4642 tst r1, #1024
4643 beq .L1366
4644 cmp lr, #3
4645 ldrls r2, [r2, #4]
4646 bhi .L1944
4647.L1383:
4648 mov r1, #0
4649.L1384:
4650 movs r3, r2, lsr #24
4651 orr r3, r3, r8
4652 add r1, r1, #1
4653 strneh r3, [r7, #0] @ movhi
4654 streqh r0, [r7, #0] @ movhi
4655 cmp lr, r1
4656 mov r2, r2, asl #8
4657 add r7, r7, #2
4658 bhi .L1384
4659 b .L1907
4660.L1805:
4661 strh r5, [lr, #0] @ movhi
4662 strh r5, [lr, #2] @ movhi
4663 strh r5, [lr, #4] @ movhi
4664 strh r5, [lr, #6] @ movhi
4665 strh r5, [lr, #8] @ movhi
4666 strh r5, [lr, #10] @ movhi
4667 strh r5, [lr, #12] @ movhi
4668 strh r5, [lr, #14] @ movhi
4669 b .L1804
4670.L1866:
4671 strh r5, [lr, #0] @ movhi
4672 strh r5, [lr, #2] @ movhi
4673 strh r5, [lr, #4] @ movhi
4674 strh r5, [lr, #6] @ movhi
4675 strh r5, [lr, #8] @ movhi
4676 strh r5, [lr, #10] @ movhi
4677 strh r5, [lr, #12] @ movhi
4678 strh r5, [lr, #14] @ movhi
4679 b .L1865
4680.L1902:
4681 ands r3, r2, #15
4682 orr r3, ip, r3
4683 orr r3, r3, r8
4684 add r1, r1, #1
4685 strneh r3, [r7, #0] @ movhi
4686 streqh r0, [r7, #0] @ movhi
4687 cmp lr, r1
4688 mov r2, r2, lsr #4
4689 add r7, r7, #2
4690 bne .L1902
4691 b .L1907
4692.L1938:
4693 ldr r2, [sp, #12]
4694 rsb r5, r1, #8
4695 cmp r2, r5
4696 bcs .L1639
4697 ldrh lr, [fp, #0]
4698 mov r3, lr, asl #22
4699 mov r3, r3, lsr #22
4700 tst lr, #2048
4701 add ip, ip, r3, asl #5
4702 ldrne r3, [sp, #8]
4703 mov r2, lr, lsr #12
4704 addne ip, ip, r3
4705 tst lr, #1024
4706 mov r2, r2, asl #4
4707 bne .L1945
4708 ldr r4, [sp, #12]
4709 ldr ip, [ip, #0]
4710 cmp r4, #0
4711 beq .L1907
4712 mov r3, r1, asl #2
4713 mov r1, ip, lsr r3
4714 mov ip, #0
4715.L1652:
4716 ands r3, r1, #15
4717 orr r3, r2, r3
4718 orr r3, r3, r8
4719 strneh r3, [r7, #0] @ movhi
4720 ldr r3, [sp, #12]
4721 add ip, ip, #1
4722 streqh r0, [r7, #0] @ movhi
4723 cmp r3, ip
4724 mov r1, r1, lsr #4
4725 add r7, r7, #2
4726 bne .L1652
4727 b .L1907
4728.L1955:
4729 .align 2
4730.L1954:
4731 .word io_registers
4732 .word map_widths
4733 .word vram
4734.L1933:
4735 ldrh r5, [fp, #0]
4736 rsb r6, r1, #8
4737 mov r2, r5, asl #22
4738 mov r2, r2, lsr #22
4739 tst r5, #2048
4740 mov r3, r5, lsr #12
4741 mov sl, r3, asl #4
4742 add r3, ip, r2, asl #5
4743 ldrne r2, [sp, #8]
4744 addne r3, r3, r2
4745 tst r5, #1024
4746 beq .L1755
4747 cmp r6, #0
4748 ldr r2, [r3, #0]
4749 beq .L1757
4750 mov r3, r1, asl #2
4751 mov r1, r2, asl r3
4752 mov lr, #0
4753 mov r2, r7
4754.L1759:
4755 movs r3, r1, lsr #28
4756 orr r3, sl, r3
4757 orr r3, r3, r8
4758 add lr, lr, #1
4759 strneh r3, [r2, #0] @ movhi
4760 streqh r0, [r2, #0] @ movhi
4761 cmp r6, lr
4762 mov r1, r1, asl #4
4763 add r2, r2, #2
4764 bne .L1759
4765 add r7, r7, r6, asl #1
4766.L1757:
4767 add fp, fp, #2
4768 b .L1752
4769.L1926:
4770 ldrh r1, [fp, #0]
4771 rsb r6, lr, #8
4772 tst r1, #2048
4773 mov r3, r1, asl #22
4774 ldrne r4, [sp, #4]
4775 mov r3, r3, lsr #22
4776 add sl, r2, r3, asl #6
4777 addne sl, sl, r4
4778 ands r5, r1, #1024
4779 beq .L1415
4780 cmp lr, #3
4781 bhi .L1946
4782 subs ip, r6, #4
4783 ldr r1, [sl, #4]
4784 beq .L1427
4785 mov r3, lr, asl #3
4786 sub r3, r3, #32
4787 mov r1, r1, asl r3
4788 mov lr, r7
4789 mov r5, #0
4790.L1429:
4791 movs r3, r1, lsr #24
4792 orr r3, r3, r8
4793 add r5, r5, #1
4794 strneh r3, [lr, #0] @ movhi
4795 streqh r0, [lr, #0] @ movhi
4796 cmp ip, r5
4797 mov r1, r1, asl #8
4798 add lr, lr, #2
4799 bne .L1429
4800 add r3, r7, r6, asl #1
4801 sub r7, r3, #8
4802.L1427:
4803 ldr r1, [sl, #0]
4804 ands r3, r1, #255
4805 orrne r3, r3, r8
4806 strneh r3, [r7, #6] @ movhi
4807 mov r3, r1, lsr #8
4808 streqh r0, [r7, #6] @ movhi
4809 ands r3, r3, #255
4810 orrne r3, r3, r8
4811 strneh r3, [r7, #4] @ movhi
4812 mov r3, r1, lsr #16
4813 streqh r0, [r7, #4] @ movhi
4814 ands r3, r3, #255
4815 orrne r3, r3, r8
4816 strneh r3, [r7, #2] @ movhi
4817 streqh r0, [r7, #2] @ movhi
4818 movs r3, r1, lsr #24
4819 orrne r3, r3, r8
4820 strneh r3, [r7, #0] @ movhi
4821 streqh r0, [r7, #0] @ movhi
4822.L1475:
4823 add r7, r7, #8
4824 mov r6, ip
4825.L1419:
4826 add fp, fp, #2
4827 b .L1412
4828.L1941:
4829 ldr r3, [sp, #12]
4830 rsb r4, lr, #8
4831 cmp r3, r4
4832 bcs .L1178
4833 ldrh r1, [fp, #0]
4834 tst r1, #2048
4835 mov r3, r1, asl #22
4836 ldrne r4, [sp, #4]
4837 mov r3, r3, lsr #22
4838 add ip, r2, r3, asl #6
4839 addne ip, ip, r4
4840 tst r1, #1024
4841 bne .L1947
4842 cmp lr, #3
4843 bls .L1215
4844 ldr r4, [sp, #12]
4845 ldr r2, [ip, #4]
4846 cmp r4, #0
4847 beq .L1907
4848 mov r3, lr, asl #3
4849 sub r3, r3, #32
4850 mov r1, r2, lsr r3
4851 mov r2, #0
4852.L1218:
4853 ands r3, r1, #255
4854 orr r3, r3, r8
4855 strneh r3, [r7, #0] @ movhi
4856 ldr r3, [sp, #12]
4857 add r2, r2, #1
4858 streqh r0, [r7, #0] @ movhi
4859 cmp r3, r2
4860 mov r1, r1, lsr #8
4861 add r7, r7, #2
4862 bne .L1218
4863 b .L1907
4864.L1709:
4865 strh r5, [lr, #0] @ movhi
4866 strh r5, [lr, #2] @ movhi
4867 strh r5, [lr, #4] @ movhi
4868 strh r5, [lr, #6] @ movhi
4869 strh r5, [lr, #8] @ movhi
4870 strh r5, [lr, #10] @ movhi
4871 strh r5, [lr, #12] @ movhi
4872 strh r5, [lr, #14] @ movhi
4873 b .L1708
4874.L1745:
4875 ands r3, r2, #15
4876 orr r3, ip, r3
4877 orr r3, r3, r8
4878 add r1, r1, #1
4879 strneh r3, [r7, #0] @ movhi
4880 streqh r0, [r7, #0] @ movhi
4881 cmp lr, r1
4882 mov r2, r2, lsr #4
4883 add r7, r7, #2
4884 bne .L1745
4885 b .L1907
4886.L1591:
4887 cmp lr, #3
4888 ldrls r2, [r2, #0]
4889 bhi .L1948
4890.L1629:
4891 mov r1, #0
4892.L1630:
4893 ands r3, r2, #255
4894 orr r3, r3, r8
4895 add r1, r1, #1
4896 strneh r3, [r7, #0] @ movhi
4897 streqh r0, [r7, #0] @ movhi
4898 cmp lr, r1
4899 mov r2, r2, lsr #8
4900 add r7, r7, #2
4901 bhi .L1630
4902 b .L1907
4903.L1366:
4904 cmp lr, #3
4905 ldrls r2, [r2, #0]
4906 bhi .L1949
4907.L1404:
4908 mov r1, #0
4909.L1405:
4910 ands r3, r2, #255
4911 orr r3, r3, r8
4912 add r1, r1, #1
4913 strneh r3, [r7, #0] @ movhi
4914 streqh r0, [r7, #0] @ movhi
4915 cmp lr, r1
4916 mov r2, r2, lsr #8
4917 add r7, r7, #2
4918 bhi .L1405
4919 b .L1907
4920.L1755:
4921 cmp r6, #0
4922 ldr r2, [r3, #0]
4923 beq .L1757
4924 mov r3, r1, asl #2
4925 mov r1, r2, lsr r3
4926 mov lr, #0
4927 mov r2, r7
4928.L1766:
4929 ands r3, r1, #15
4930 orr r3, sl, r3
4931 orr r3, r3, r8
4932 add lr, lr, #1
4933 strneh r3, [r2, #0] @ movhi
4934 streqh r0, [r2, #0] @ movhi
4935 cmp r6, lr
4936 mov r1, r1, lsr #4
4937 add r2, r2, #2
4938 bne .L1766
4939 add r7, r7, r6, asl #1
4940 b .L1757
4941.L1639:
4942 ldrh lr, [fp, #0]
4943 mov r2, lr, asl #22
4944 mov r2, r2, lsr #22
4945 tst lr, #2048
4946 mov r3, lr, lsr #12
4947 mov r4, r3, asl #4
4948 add r3, ip, r2, asl #5
4949 ldrne r2, [sp, #8]
4950 addne r3, r3, r2
4951 tst lr, #1024
4952 bne .L1950
4953 cmp r5, #0
4954 ldr r2, [r3, #0]
4955 beq .L1661
4956 mov r3, r1, asl #2
4957 mov r1, r2, lsr r3
4958 mov lr, #0
4959 mov r2, r7
4960.L1670:
4961 ands r3, r1, #15
4962 orr r3, r4, r3
4963 orr r3, r3, r8
4964 add lr, lr, #1
4965 strneh r3, [r2, #0] @ movhi
4966 streqh r0, [r2, #0] @ movhi
4967 cmp r5, lr
4968 mov r1, r1, lsr #4
4969 add r2, r2, #2
4970 bne .L1670
4971.L1922:
4972 add r7, r7, r5, asl #1
4973.L1661:
4974 ldr r3, [sp, #12]
4975 add fp, fp, #2
4976 rsb r3, r5, r3
4977 str r3, [sp, #12]
4978 b .L1637
4979.L1415:
4980 cmp lr, #3
4981 bhi .L1951
4982 subs ip, r6, #4
4983 ldr r1, [sl, #0]
4984 beq .L1456
4985 mov r3, lr, asl #3
4986 mov r1, r1, lsr r3
4987 mov lr, r7
4988 mov r5, #0
4989.L1458:
4990 ands r3, r1, #255
4991 orr r3, r3, r8
4992 add r5, r5, #1
4993 strneh r3, [lr, #0] @ movhi
4994 streqh r0, [lr, #0] @ movhi
4995 cmp ip, r5
4996 mov r1, r1, lsr #8
4997 add lr, lr, #2
4998 bne .L1458
4999 add r3, r7, r6, asl #1
5000 sub r7, r3, #8
5001.L1456:
5002 ldr r1, [sl, #4]
5003 ands r3, r1, #255
5004 orrne r3, r3, r8
5005 strneh r3, [r7, #0] @ movhi
5006 mov r3, r1, lsr #8
5007 streqh r0, [r7, #0] @ movhi
5008 ands r3, r3, #255
5009 orrne r3, r3, r8
5010 strneh r3, [r7, #2] @ movhi
5011 mov r3, r1, lsr #16
5012 streqh r0, [r7, #2] @ movhi
5013 ands r3, r3, #255
5014 orrne r3, r3, r8
5015 strneh r3, [r7, #4] @ movhi
5016 streqh r0, [r7, #4] @ movhi
5017 movs r3, r1, lsr #24
5018 orrne r3, r3, r8
5019 strneh r3, [r7, #6] @ movhi
5020 streqh r0, [r7, #6] @ movhi
5021 b .L1475
5022.L1178:
5023 ldrh r1, [fp, #0]
5024 mov r3, r1, asl #22
5025 mov r3, r3, lsr #22
5026 tst r1, #2048
5027 add ip, r2, r3, asl #6
5028 ldrne r3, [sp, #4]
5029 addne ip, ip, r3
5030 ands r5, r1, #1024
5031 bne .L1952
5032 cmp lr, #3
5033 bls .L1279
5034 cmp r4, #0
5035 ldr r1, [ip, #4]
5036 beq .L1251
5037 mov r3, lr, asl #3
5038 sub r3, r3, #32
5039 mov r1, r1, lsr r3
5040 mov ip, r5
5041 mov lr, r7
5042.L1282:
5043 ands r3, r1, #255
5044 orr r3, r3, r8
5045 add ip, ip, #1
5046 strneh r3, [lr, #0] @ movhi
5047 streqh r0, [lr, #0] @ movhi
5048 cmp r4, ip
5049 mov r1, r1, lsr #8
5050 add lr, lr, #2
5051 bne .L1282
5052.L1909:
5053 add r7, r7, r4, asl #1
5054.L1251:
5055 ldr r1, [sp, #12]
5056 add fp, fp, #2
5057 rsb r1, r4, r1
5058 str r1, [sp, #12]
5059 b .L1176
5060.L1948:
5061 ldmia r2, {r1, r2} @ phole ldm
5062 ands r3, r1, #255
5063 orrne r3, r3, r8
5064 strneh r3, [r7, #0] @ movhi
5065 mov r3, r1, lsr #8
5066 streqh r0, [r7, #0] @ movhi
5067 ands r3, r3, #255
5068 orrne r3, r3, r8
5069 strneh r3, [r7, #2] @ movhi
5070 mov r3, r1, lsr #16
5071 streqh r0, [r7, #2] @ movhi
5072 ands r3, r3, #255
5073 orrne r3, r3, r8
5074 strneh r3, [r7, #4] @ movhi
5075 streqh r0, [r7, #4] @ movhi
5076 movs r3, r1, lsr #24
5077 orrne r3, r3, r8
5078 strneh r3, [r7, #6] @ movhi
5079 streqh r0, [r7, #6] @ movhi
5080 subs lr, lr, #4
5081 addne r7, r7, #8
5082 bne .L1629
5083 b .L1907
5084.L1931:
5085 ldr r1, [r2, #4]
5086 ldr r2, [r2, #0]
5087 ands r3, r1, #255
5088 orrne r3, r3, r8
5089 strneh r3, [r7, #6] @ movhi
5090 mov r3, r1, lsr #8
5091 streqh r0, [r7, #6] @ movhi
5092 ands r3, r3, #255
5093 orrne r3, r3, r8
5094 strneh r3, [r7, #4] @ movhi
5095 mov r3, r1, lsr #16
5096 streqh r0, [r7, #4] @ movhi
5097 ands r3, r3, #255
5098 orrne r3, r3, r8
5099 strneh r3, [r7, #2] @ movhi
5100 streqh r0, [r7, #2] @ movhi
5101 movs r3, r1, lsr #24
5102 orrne r3, r3, r8
5103 strneh r3, [r7, #0] @ movhi
5104 streqh r0, [r7, #0] @ movhi
5105 subs lr, lr, #4
5106 addne r7, r7, #8
5107 bne .L1608
5108 b .L1907
5109.L1944:
5110 ldr r1, [r2, #4]
5111 ldr r2, [r2, #0]
5112 ands r3, r1, #255
5113 orrne r3, r3, r8
5114 strneh r3, [r7, #6] @ movhi
5115 mov r3, r1, lsr #8
5116 streqh r0, [r7, #6] @ movhi
5117 ands r3, r3, #255
5118 orrne r3, r3, r8
5119 strneh r3, [r7, #4] @ movhi
5120 mov r3, r1, lsr #16
5121 streqh r0, [r7, #4] @ movhi
5122 ands r3, r3, #255
5123 orrne r3, r3, r8
5124 strneh r3, [r7, #2] @ movhi
5125 streqh r0, [r7, #2] @ movhi
5126 movs r3, r1, lsr #24
5127 orrne r3, r3, r8
5128 strneh r3, [r7, #0] @ movhi
5129 streqh r0, [r7, #0] @ movhi
5130 subs lr, lr, #4
5131 addne r7, r7, #8
5132 bne .L1383
5133 b .L1907
5134.L1949:
5135 ldmia r2, {r1, r2} @ phole ldm
5136 ands r3, r1, #255
5137 orrne r3, r3, r8
5138 strneh r3, [r7, #0] @ movhi
5139 mov r3, r1, lsr #8
5140 streqh r0, [r7, #0] @ movhi
5141 ands r3, r3, #255
5142 orrne r3, r3, r8
5143 strneh r3, [r7, #2] @ movhi
5144 mov r3, r1, lsr #16
5145 streqh r0, [r7, #2] @ movhi
5146 ands r3, r3, #255
5147 orrne r3, r3, r8
5148 strneh r3, [r7, #4] @ movhi
5149 streqh r0, [r7, #4] @ movhi
5150 movs r3, r1, lsr #24
5151 orrne r3, r3, r8
5152 strneh r3, [r7, #6] @ movhi
5153 streqh r0, [r7, #6] @ movhi
5154 subs lr, lr, #4
5155 addne r7, r7, #8
5156 bne .L1404
5157 b .L1907
5158.L1946:
5159 cmp r6, #0
5160 ldr r1, [sl, #0]
5161 beq .L1419
5162 mov r3, lr, asl #3
5163 sub r3, r3, #32
5164 mov r1, r1, asl r3
5165 mov lr, r7
5166 mov r5, #0
5167.L1421:
5168 movs r3, r1, lsr #24
5169 orr r3, r3, r8
5170 add r5, r5, #1
5171 strneh r3, [lr, #0] @ movhi
5172 streqh r0, [lr, #0] @ movhi
5173 cmp r6, r5
5174 mov r1, r1, asl #8
5175 add lr, lr, #2
5176 bne .L1421
5177 add r7, r7, r6, asl #1
5178.L1953:
5179 add fp, fp, #2
5180 b .L1412
5181.L1945:
5182 ldr r4, [sp, #12]
5183 ldr ip, [ip, #0]
5184 cmp r4, #0
5185 beq .L1907
5186 mov r3, r1, asl #2
5187 mov r1, ip, asl r3
5188 mov ip, #0
5189.L1646:
5190 movs r3, r1, lsr #28
5191 orr r3, r2, r3
5192 orr r3, r3, r8
5193 strneh r3, [r7, #0] @ movhi
5194 ldr r3, [sp, #12]
5195 add ip, ip, #1
5196 streqh r0, [r7, #0] @ movhi
5197 cmp r3, ip
5198 mov r1, r1, asl #4
5199 add r7, r7, #2
5200 bne .L1646
5201 b .L1907
5202.L1952:
5203 cmp lr, #3
5204 bls .L1249
5205 cmp r4, #0
5206 ldr r1, [ip, #0]
5207 beq .L1251
5208 mov r3, lr, asl #3
5209 sub r3, r3, #32
5210 mov r1, r1, asl r3
5211 mov lr, r7
5212 mov r5, #0
5213.L1253:
5214 movs r3, r1, lsr #24
5215 orr r3, r3, r8
5216 add r5, r5, #1
5217 strneh r3, [lr, #0] @ movhi
5218 streqh r0, [lr, #0] @ movhi
5219 cmp r4, r5
5220 mov r1, r1, asl #8
5221 add lr, lr, #2
5222 bne .L1253
5223 b .L1909
5224.L1950:
5225 cmp r5, #0
5226 ldr r2, [r3, #0]
5227 beq .L1661
5228 mov r3, r1, asl #2
5229 mov r1, r2, asl r3
5230 mov lr, #0
5231 mov r2, r7
5232.L1663:
5233 movs r3, r1, lsr #28
5234 orr r3, r4, r3
5235 orr r3, r3, r8
5236 add lr, lr, #1
5237 strneh r3, [r2, #0] @ movhi
5238 streqh r0, [r2, #0] @ movhi
5239 cmp r5, lr
5240 mov r1, r1, asl #4
5241 add r2, r2, #2
5242 bne .L1663
5243 b .L1922
5244.L1947:
5245 cmp lr, #3
5246 bls .L1184
5247 ldr r1, [sp, #12]
5248 ldr r2, [ip, #0]
5249 cmp r1, #0
5250 beq .L1907
5251 mov r3, lr, asl #3
5252 sub r3, r3, #32
5253 mov r1, r2, asl r3
5254 mov r2, #0
5255.L1188:
5256 movs r3, r1, lsr #24
5257 orr r3, r3, r8
5258 strneh r3, [r7, #0] @ movhi
5259 ldr r3, [sp, #12]
5260 add r2, r2, #1
5261 streqh r0, [r7, #0] @ movhi
5262 cmp r3, r2
5263 mov r1, r1, asl #8
5264 add r7, r7, #2
5265 bne .L1188
5266 b .L1907
5267.L1951:
5268 cmp r6, #0
5269 ldr r1, [sl, #4]
5270 beq .L1419
5271 mov r3, lr, asl #3
5272 sub r3, r3, #32
5273 mov r1, r1, lsr r3
5274 mov lr, r7
5275.L1450:
5276 ands r3, r1, #255
5277 orr r3, r3, r8
5278 add r5, r5, #1
5279 strneh r3, [lr, #0] @ movhi
5280 streqh r0, [lr, #0] @ movhi
5281 cmp r6, r5
5282 mov r1, r1, lsr #8
5283 add lr, lr, #2
5284 bne .L1450
5285 add r7, r7, r6, asl #1
5286 b .L1953
5287.L1184:
5288 ldr r4, [sp, #12]
5289 mov r3, lr, asl #3
5290 ldr r1, [ip, #4]
5291 add r2, r4, lr
5292 sub r3, r3, #32
5293 cmp r2, #4
5294 mov r1, r1, asl r3
5295 bhi .L1193
5296 cmp r4, #0
5297 movne r2, #0
5298 beq .L1907
5299.L1210:
5300 movs r3, r1, lsr #24
5301 orr r3, r3, r8
5302 strneh r3, [r7, #0] @ movhi
5303 ldr r3, [sp, #12]
5304 add r2, r2, #1
5305 streqh r0, [r7, #0] @ movhi
5306 cmp r3, r2
5307 mov r1, r1, asl #8
5308 add r7, r7, #2
5309 bne .L1210
5310 b .L1907
5311.L1249:
5312 subs r6, r4, #4
5313 ldr r1, [ip, #4]
5314 beq .L1259
5315 mov r3, lr, asl #3
5316 sub r3, r3, #32
5317 mov r1, r1, asl r3
5318 mov lr, r7
5319 mov r5, #0
5320.L1261:
5321 movs r3, r1, lsr #24
5322 orr r3, r3, r8
5323 add r5, r5, #1
5324 strneh r3, [lr, #0] @ movhi
5325 streqh r0, [lr, #0] @ movhi
5326 cmp r6, r5
5327 mov r1, r1, asl #8
5328 add lr, lr, #2
5329 bne .L1261
5330 add r3, r7, r4, asl #1
5331 sub r7, r3, #8
5332.L1259:
5333 ldr r1, [ip, #0]
5334 ands r3, r1, #255
5335 orrne r3, r3, r8
5336 strneh r3, [r7, #6] @ movhi
5337 mov r3, r1, lsr #8
5338 streqh r0, [r7, #6] @ movhi
5339 ands r3, r3, #255
5340 orrne r3, r3, r8
5341 strneh r3, [r7, #4] @ movhi
5342 mov r3, r1, lsr #16
5343 streqh r0, [r7, #4] @ movhi
5344 ands r3, r3, #255
5345 orrne r3, r3, r8
5346 strneh r3, [r7, #2] @ movhi
5347 streqh r0, [r7, #2] @ movhi
5348 movs r3, r1, lsr #24
5349 orrne r3, r3, r8
5350 strneh r3, [r7, #0] @ movhi
5351 streqh r0, [r7, #0] @ movhi
5352.L1307:
5353 add r7, r7, #8
5354 b .L1251
5355.L1215:
5356 ldr r4, [sp, #12]
5357 ldr r3, [ip, #0]
5358 add r2, r4, lr
5359 cmp r2, #4
5360 mov r1, lr, asl #3
5361 mov r2, r3, lsr r1
5362 bhi .L1223
5363 cmp r4, #0
5364 movne r1, #0
5365 beq .L1907
5366.L1240:
5367 ands r3, r2, #255
5368 orr r3, r3, r8
5369 strneh r3, [r7, #0] @ movhi
5370 ldr r3, [sp, #12]
5371 add r1, r1, #1
5372 streqh r0, [r7, #0] @ movhi
5373 cmp r3, r1
5374 mov r2, r2, lsr #8
5375 add r7, r7, #2
5376 bne .L1240
5377 b .L1907
5378.L1279:
5379 subs r6, r4, #4
5380 ldr r1, [ip, #0]
5381 beq .L1288
5382 mov r3, lr, asl #3
5383 mov r1, r1, lsr r3
5384 mov lr, r7
5385 mov r5, #0
5386.L1290:
5387 ands r3, r1, #255
5388 orr r3, r3, r8
5389 add r5, r5, #1
5390 strneh r3, [lr, #0] @ movhi
5391 streqh r0, [lr, #0] @ movhi
5392 cmp r6, r5
5393 mov r1, r1, lsr #8
5394 add lr, lr, #2
5395 bne .L1290
5396 add r3, r7, r4, asl #1
5397 sub r7, r3, #8
5398.L1288:
5399 ldr r1, [ip, #4]
5400 ands r3, r1, #255
5401 orrne r3, r3, r8
5402 strneh r3, [r7, #0] @ movhi
5403 mov r3, r1, lsr #8
5404 streqh r0, [r7, #0] @ movhi
5405 ands r3, r3, #255
5406 orrne r3, r3, r8
5407 strneh r3, [r7, #2] @ movhi
5408 mov r3, r1, lsr #16
5409 streqh r0, [r7, #2] @ movhi
5410 ands r3, r3, #255
5411 orrne r3, r3, r8
5412 strneh r3, [r7, #4] @ movhi
5413 streqh r0, [r7, #4] @ movhi
5414 movs r3, r1, lsr #24
5415 orrne r3, r3, r8
5416 strneh r3, [r7, #6] @ movhi
5417 bne .L1307
5418 strh r0, [r7, #6] @ movhi
5419 add r7, r7, #8
5420 b .L1251
5421.L1193:
5422 rsbs r4, lr, #4
5423 beq .L1196
5424 mov r2, r7
5425 mov lr, #0
5426.L1198:
5427 movs r3, r1, lsr #24
5428 orr r3, r3, r8
5429 add lr, lr, #1
5430 strneh r3, [r2, #0] @ movhi
5431 streqh r0, [r2, #0] @ movhi
5432 cmp r4, lr
5433 mov r1, r1, asl #8
5434 add r2, r2, #2
5435 bne .L1198
5436 add r7, r7, r4, asl #1
5437.L1196:
5438 ldr r1, [sp, #12]
5439 ldr r2, [ip, #0]
5440 subs lr, r1, r4
5441 beq .L1907
5442 mov r1, #0
5443.L1205:
5444 movs r3, r2, lsr #24
5445 orr r3, r3, r8
5446 add r1, r1, #1
5447 strneh r3, [r7, #0] @ movhi
5448 streqh r0, [r7, #0] @ movhi
5449 cmp lr, r1
5450 mov r2, r2, asl #8
5451 add r7, r7, #2
5452 bne .L1205
5453 b .L1907
5454.L1223:
5455 rsbs r4, lr, #4
5456 beq .L1226
5457 mov r1, r7
5458 mov lr, #0
5459.L1228:
5460 ands r3, r2, #255
5461 orr r3, r3, r8
5462 add lr, lr, #1
5463 strneh r3, [r1, #0] @ movhi
5464 streqh r0, [r1, #0] @ movhi
5465 cmp r4, lr
5466 mov r2, r2, lsr #8
5467 add r1, r1, #2
5468 bne .L1228
5469 add r7, r7, r4, asl #1
5470.L1226:
5471 ldr r1, [sp, #12]
5472 ldr r2, [ip, #4]
5473 subs lr, r1, r4
5474 beq .L1907
5475 mov r1, #0
5476.L1235:
5477 ands r3, r2, #255
5478 orr r3, r3, r8
5479 add r1, r1, #1
5480 strneh r3, [r7, #0] @ movhi
5481 streqh r0, [r7, #0] @ movhi
5482 cmp lr, r1
5483 mov r2, r2, lsr #8
5484 add r7, r7, #2
5485 bne .L1235
5486 b .L1907
5487 .size render_scanline_text_base_color16, .-render_scanline_text_base_color16
5488 .align 2
5489 .global render_scanline_text_transparent_color16
5490 .type render_scanline_text_transparent_color16, %function
5491render_scanline_text_transparent_color16:
5492 @ args = 0, pretend = 0, frame = 8
5493 @ frame_needed = 0, uses_anonymous_args = 0
5494 ldr ip, .L2599
5495 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
5496 ldrh lr, [ip, #80]
5497 add r6, r0, #7
5498 mov r6, lr, asr r6
5499 mov lr, lr, asr r0
5500 add r7, ip, r0, asl #2
5501 ldrh r5, [ip, #6]
5502 ldrh r4, [r7, #18]
5503 add ip, ip, r0, asl #1
5504 add sl, r5, r4
5505 ldrh r8, [ip, #8]
5506 mov r5, sl, asl #23
5507 sub sp, sp, #8
5508 mov r5, r5, lsr #23
5509 rsb r2, r1, r2
5510 ldrh r4, [r7, #16]
5511 cmp r5, #255
5512 movls ip, #0
5513 movhi ip, #1
5514 mov r7, r8, lsr #14
5515 str r2, [sp, #4]
5516 ldr r2, .L2599+4
5517 ands ip, ip, r7, lsr #1
5518 add fp, r3, r1, asl #1
5519 ldr r2, [r2, r7, asl #2]
5520 subne r3, r5, #256
5521 mov r0, r8, asl #3
5522 ldr r9, .L2599+8
5523 movne r3, r3, lsr #3
5524 moveq r3, sl, asl #3
5525 add r4, r4, r1
5526 and r0, r0, #63488
5527 add r0, r0, r9
5528 addne r3, r3, r2, lsr #3
5529 andeq r3, r3, #1984
5530 mov r4, r4, asl #23
5531 addne r0, r0, r3, asl #6
5532 addeq r0, r0, r3
5533 mov r4, r4, lsr #23
5534 tst r7, #1
5535 and lr, lr, #1
5536 and r6, r6, #2
5537 andeq r4, r4, #255
5538 orr lr, lr, r6
5539 moveq r3, r4, lsr #3
5540 mov lr, lr, asl #9
5541 addeq r7, r0, r3, asl #1
5542 streq r0, [sp, #0]
5543 beq .L1964
5544 cmp r4, #255
5545 subhi r4, r4, #256
5546 movhi r3, r4, lsr #3
5547 movls r3, r4, lsr #3
5548 addhi r3, r0, r3, asl #1
5549 addls r7, r0, r3, asl #1
5550 addls r0, r0, #2048
5551 addhi r7, r3, #2048
5552 strhi r0, [sp, #0]
5553 strls r0, [sp, #0]
5554.L1964:
5555 tst r8, #128
5556 beq .L1965
5557 and r1, r4, #255
5558 rsb r0, r1, #256
5559 and r3, r5, #7
5560 mov r2, r8, asl #12
5561 ldr r1, [sp, #4]
5562 mov r3, r3, asl #3
5563 and r2, r2, #49152
5564 add r2, r2, r3
5565 cmp r1, r0
5566 mov r3, r3, asl #1
5567 add r2, r2, r9
5568 rsb ip, r3, #56
5569 and r4, r4, #7
5570 bls .L2574
5571 cmp r4, #0
5572 moveq r8, r4
5573 bne .L2575
5574.L2167:
5575 rsb r3, r8, r0
5576 movs sl, r3, lsr #3
5577 beq .L2221
5578 mov r6, fp
5579 mov r8, #0
5580 b .L2223
5581.L2576:
5582 ldr r1, [r4, #4]
5583 cmp r1, #0
5584 beq .L2228
5585 ands r3, r1, #255
5586 orrne r3, r3, lr
5587 strneh r3, [r6, #6] @ movhi
5588 mov r3, r1, lsr #8
5589 ands r3, r3, #255
5590 orrne r3, r3, lr
5591 strneh r3, [r6, #4] @ movhi
5592 mov r3, r1, lsr #16
5593 ands r3, r3, #255
5594 orrne r3, r3, lr
5595 strneh r3, [r6, #2] @ movhi
5596 movs r3, r1, lsr #24
5597 orrne r3, r3, lr
5598 strneh r3, [r6, #0] @ movhi
5599.L2228:
5600 ldr r1, [r4, #0]
5601 cmp r1, #0
5602 beq .L2237
5603 ands r3, r1, #255
5604 orrne r3, r3, lr
5605 strneh r3, [r6, #14] @ movhi
5606 mov r3, r1, lsr #8
5607 ands r3, r3, #255
5608 orrne r3, r3, lr
5609 strneh r3, [r6, #12] @ movhi
5610 mov r3, r1, lsr #16
5611 ands r3, r3, #255
5612 orrne r3, r3, lr
5613 strneh r3, [r6, #10] @ movhi
5614 movs r3, r1, lsr #24
5615 orrne r3, r3, lr
5616 strneh r3, [r6, #8] @ movhi
5617.L2237:
5618 add r8, r8, #1
5619 cmp sl, r8
5620 add r6, r6, #16
5621 beq .L2263
5622.L2577:
5623 add r7, r7, #2
5624.L2223:
5625 ldrh r1, [r7, #0]
5626 mov r3, r1, asl #22
5627 mov r3, r3, lsr #22
5628 tst r1, #2048
5629 add r4, r2, r3, asl #6
5630 addne r4, r4, ip
5631 tst r1, #1024
5632 bne .L2576
5633 ldr r1, [r4, #0]
5634 cmp r1, #0
5635 beq .L2246
5636 ands r3, r1, #255
5637 orrne r3, r3, lr
5638 strneh r3, [r6, #0] @ movhi
5639 mov r3, r1, lsr #8
5640 ands r3, r3, #255
5641 orrne r3, r3, lr
5642 strneh r3, [r6, #2] @ movhi
5643 mov r3, r1, lsr #16
5644 ands r3, r3, #255
5645 orrne r3, r3, lr
5646 strneh r3, [r6, #4] @ movhi
5647 movs r3, r1, lsr #24
5648 orrne r3, r3, lr
5649 strneh r3, [r6, #6] @ movhi
5650.L2246:
5651 ldr r1, [r4, #4]
5652 cmp r1, #0
5653 beq .L2237
5654 ands r3, r1, #255
5655 orrne r3, r3, lr
5656 strneh r3, [r6, #8] @ movhi
5657 mov r3, r1, lsr #8
5658 ands r3, r3, #255
5659 orrne r3, r3, lr
5660 strneh r3, [r6, #10] @ movhi
5661 mov r3, r1, lsr #16
5662 ands r3, r3, #255
5663 orrne r3, r3, lr
5664 strneh r3, [r6, #12] @ movhi
5665 movs r3, r1, lsr #24
5666 orrne r3, r3, lr
5667 add r8, r8, #1
5668 strneh r3, [r6, #14] @ movhi
5669 cmp sl, r8
5670 add r6, r6, #16
5671 bne .L2577
5672.L2263:
5673 add fp, fp, sl, asl #4
5674.L2221:
5675 ldr r3, [sp, #4]
5676 rsb sl, r0, r3
5677 movs r0, sl, lsr #3
5678 ldreq r0, [sp, #0]
5679 beq .L2267
5680 ldr r7, [sp, #0]
5681 mov r6, fp
5682 mov r8, #0
5683 b .L2268
5684.L2579:
5685 ldr r1, [r4, #4]
5686 cmp r1, #0
5687 beq .L2273
5688 ands r3, r1, #255
5689 orrne r3, r3, lr
5690 strneh r3, [r6, #6] @ movhi
5691 mov r3, r1, lsr #8
5692 ands r3, r3, #255
5693 orrne r3, r3, lr
5694 strneh r3, [r6, #4] @ movhi
5695 mov r3, r1, lsr #16
5696 ands r3, r3, #255
5697 orrne r3, r3, lr
5698 strneh r3, [r6, #2] @ movhi
5699 movs r3, r1, lsr #24
5700 orrne r3, r3, lr
5701 strneh r3, [r6, #0] @ movhi
5702.L2273:
5703 ldr r1, [r4, #0]
5704 cmp r1, #0
5705 beq .L2282
5706 ands r3, r1, #255
5707 orrne r3, r3, lr
5708 strneh r3, [r6, #14] @ movhi
5709 mov r3, r1, lsr #8
5710 ands r3, r3, #255
5711 orrne r3, r3, lr
5712 strneh r3, [r6, #12] @ movhi
5713 mov r3, r1, lsr #16
5714 ands r3, r3, #255
5715 orrne r3, r3, lr
5716 strneh r3, [r6, #10] @ movhi
5717 movs r3, r1, lsr #24
5718 orrne r3, r3, lr
5719 strneh r3, [r6, #8] @ movhi
5720.L2282:
5721 add r8, r8, #1
5722 cmp r0, r8
5723 add r6, r6, #16
5724 add r7, r7, #2
5725 beq .L2578
5726.L2268:
5727 ldrh r1, [r7, #0]
5728 mov r3, r1, asl #22
5729 mov r3, r3, lsr #22
5730 tst r1, #2048
5731 add r4, r2, r3, asl #6
5732 addne r4, r4, ip
5733 tst r1, #1024
5734 bne .L2579
5735 ldr r1, [r4, #0]
5736 cmp r1, #0
5737 beq .L2291
5738 ands r3, r1, #255
5739 orrne r3, r3, lr
5740 strneh r3, [r6, #0] @ movhi
5741 mov r3, r1, lsr #8
5742 ands r3, r3, #255
5743 orrne r3, r3, lr
5744 strneh r3, [r6, #2] @ movhi
5745 mov r3, r1, lsr #16
5746 ands r3, r3, #255
5747 orrne r3, r3, lr
5748 strneh r3, [r6, #4] @ movhi
5749 movs r3, r1, lsr #24
5750 orrne r3, r3, lr
5751 strneh r3, [r6, #6] @ movhi
5752.L2291:
5753 ldr r1, [r4, #4]
5754 cmp r1, #0
5755 beq .L2282
5756 ands r3, r1, #255
5757 orrne r3, r3, lr
5758 strneh r3, [r6, #8] @ movhi
5759 mov r3, r1, lsr #8
5760 ands r3, r3, #255
5761 orrne r3, r3, lr
5762 strneh r3, [r6, #10] @ movhi
5763 mov r3, r1, lsr #16
5764 ands r3, r3, #255
5765 orrne r3, r3, lr
5766 strneh r3, [r6, #12] @ movhi
5767 movs r3, r1, lsr #24
5768 orrne r3, r3, lr
5769 add r8, r8, #1
5770 strneh r3, [r6, #14] @ movhi
5771 cmp r0, r8
5772 add r6, r6, #16
5773 add r7, r7, #2
5774 bne .L2268
5775.L2578:
5776 ldr r1, [sp, #0]
5777 add fp, fp, r0, asl #4
5778 add r0, r1, r0, asl #1
5779.L2267:
5780 ands r4, sl, #7
5781 beq .L2556
5782 ldrh r0, [r0, #0]
5783 mov r3, r0, asl #22
5784 mov r3, r3, lsr #22
5785 tst r0, #2048
5786 add r2, r2, r3, asl #6
5787 addne r2, r2, ip
5788 tst r0, #1024
5789 beq .L2312
5790 cmp r4, #3
5791 ldrls r0, [r2, #4]
5792 bls .L2326
5793 ldr r1, [r2, #4]
5794 cmp r1, #0
5795 beq .L2316
5796 ands r3, r1, #255
5797 orrne r3, r3, lr
5798 strneh r3, [fp, #6] @ movhi
5799 mov r3, r1, lsr #8
5800 ands r3, r3, #255
5801 orrne r3, r3, lr
5802 strneh r3, [fp, #4] @ movhi
5803 mov r3, r1, lsr #16
5804 ands r3, r3, #255
5805 orrne r3, r3, lr
5806 strneh r3, [fp, #2] @ movhi
5807 movs r3, r1, lsr #24
5808 orrne r3, r3, lr
5809 strneh r3, [fp, #0] @ movhi
5810.L2316:
5811 subs r4, r4, #4
5812 ldr r0, [r2, #0]
5813 addne fp, fp, #8
5814 beq .L2556
5815.L2326:
5816 mov r1, #0
5817.L2327:
5818 movs r3, r0, lsr #24
5819 mov r2, r1, asl #1
5820 orr r3, r3, lr
5821 add r1, r1, #1
5822 strneh r3, [r2, fp] @ movhi
5823 cmp r1, r4
5824 mov r0, r0, asl #8
5825 bcc .L2327
5826.L2556:
5827 add sp, sp, #8
5828 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
5829.L1965:
5830 and r1, r4, #255
5831 ldr ip, [sp, #4]
5832 and r3, r5, #7
5833 mov r2, r8, asl #12
5834 mov r3, r3, asl #2
5835 rsb r0, r1, #256
5836 and r2, r2, #49152
5837 add r2, r2, r3
5838 cmp ip, r0
5839 mov r3, r3, asl #1
5840 add sl, r2, r9
5841 rsb ip, r3, #28
5842 and r1, r4, #7
5843 bls .L2580
5844 cmp r1, #0
5845 moveq r8, r1
5846 bne .L2581
5847.L2441:
5848 rsb r3, r8, r0
5849 movs r9, r3, lsr #3
5850 beq .L2459
5851 mov r4, fp
5852 mov r8, #0
5853 b .L2461
5854.L2582:
5855 ldr r2, [r3, #0]
5856 cmp r2, #0
5857 beq .L2466
5858 ands r3, r2, #15
5859 orrne r3, r6, r3
5860 orrne r3, r3, lr
5861 strneh r3, [r4, #14] @ movhi
5862 mov r3, r2, lsr #4
5863 ands r3, r3, #15
5864 orrne r3, r6, r3
5865 orrne r3, r3, lr
5866 strneh r3, [r4, #12] @ movhi
5867 mov r3, r2, lsr #8
5868 ands r3, r3, #15
5869 orrne r3, r6, r3
5870 orrne r3, r3, lr
5871 strneh r3, [r4, #10] @ movhi
5872 mov r3, r2, lsr #12
5873 ands r3, r3, #15
5874 orrne r3, r6, r3
5875 orrne r3, r3, lr
5876 strneh r3, [r4, #8] @ movhi
5877 mov r3, r2, lsr #16
5878 ands r3, r3, #15
5879 orrne r3, r6, r3
5880 orrne r3, r3, lr
5881 strneh r3, [r4, #6] @ movhi
5882 mov r3, r2, lsr #20
5883 ands r3, r3, #15
5884 orrne r3, r6, r3
5885 orrne r3, r3, lr
5886 strneh r3, [r4, #4] @ movhi
5887 mov r3, r2, lsr #24
5888 ands r3, r3, #15
5889 orrne r3, r6, r3
5890 orrne r3, r3, lr
5891 strneh r3, [r4, #2] @ movhi
5892 movs r3, r2, lsr #28
5893 orrne r3, r6, r3
5894 orrne r3, r3, lr
5895 strneh r3, [r4, #0] @ movhi
5896.L2466:
5897 add r8, r8, #1
5898 cmp r9, r8
5899 add r4, r4, #16
5900 beq .L2499
5901.L2583:
5902 add r7, r7, #2
5903.L2461:
5904 ldrh r1, [r7, #0]
5905 mov r2, r1, asl #22
5906 mov r3, r1, lsr #12
5907 mov r2, r2, lsr #22
5908 tst r1, #2048
5909 mov r6, r3, asl #4
5910 add r3, sl, r2, asl #5
5911 addne r3, r3, ip
5912 tst r1, #1024
5913 bne .L2582
5914 ldr r2, [r3, #0]
5915 cmp r2, #0
5916 beq .L2466
5917 ands r3, r2, #15
5918 orrne r3, r6, r3
5919 orrne r3, r3, lr
5920 strneh r3, [r4, #0] @ movhi
5921 mov r3, r2, lsr #4
5922 ands r3, r3, #15
5923 orrne r3, r6, r3
5924 orrne r3, r3, lr
5925 strneh r3, [r4, #2] @ movhi
5926 mov r3, r2, lsr #8
5927 ands r3, r3, #15
5928 orrne r3, r6, r3
5929 orrne r3, r3, lr
5930 strneh r3, [r4, #4] @ movhi
5931 mov r3, r2, lsr #12
5932 ands r3, r3, #15
5933 orrne r3, r6, r3
5934 orrne r3, r3, lr
5935 strneh r3, [r4, #6] @ movhi
5936 mov r3, r2, lsr #16
5937 ands r3, r3, #15
5938 orrne r3, r6, r3
5939 orrne r3, r3, lr
5940 strneh r3, [r4, #8] @ movhi
5941 mov r3, r2, lsr #20
5942 ands r3, r3, #15
5943 orrne r3, r6, r3
5944 orrne r3, r3, lr
5945 strneh r3, [r4, #10] @ movhi
5946 mov r3, r2, lsr #24
5947 ands r3, r3, #15
5948 orrne r3, r6, r3
5949 orrne r3, r3, lr
5950 strneh r3, [r4, #12] @ movhi
5951 movs r3, r2, lsr #28
5952 orrne r3, r6, r3
5953 orrne r3, r3, lr
5954 add r8, r8, #1
5955 strneh r3, [r4, #14] @ movhi
5956 cmp r9, r8
5957 add r4, r4, #16
5958 bne .L2583
5959.L2499:
5960 add fp, fp, r9, asl #4
5961.L2459:
5962 ldr r1, [sp, #4]
5963 rsb r9, r0, r1
5964 movs r0, r9, lsr #3
5965 ldreq r0, [sp, #0]
5966 beq .L2503
5967 ldr r7, [sp, #0]
5968 mov r4, fp
5969 mov r8, #0
5970 b .L2504
5971.L2585:
5972 ldr r2, [r3, #0]
5973 cmp r2, #0
5974 beq .L2509
5975 ands r3, r2, #15
5976 orrne r3, r6, r3
5977 orrne r3, r3, lr
5978 strneh r3, [r4, #14] @ movhi
5979 mov r3, r2, lsr #4
5980 ands r3, r3, #15
5981 orrne r3, r6, r3
5982 orrne r3, r3, lr
5983 strneh r3, [r4, #12] @ movhi
5984 mov r3, r2, lsr #8
5985 ands r3, r3, #15
5986 orrne r3, r6, r3
5987 orrne r3, r3, lr
5988 strneh r3, [r4, #10] @ movhi
5989 mov r3, r2, lsr #12
5990 ands r3, r3, #15
5991 orrne r3, r6, r3
5992 orrne r3, r3, lr
5993 strneh r3, [r4, #8] @ movhi
5994 mov r3, r2, lsr #16
5995 ands r3, r3, #15
5996 orrne r3, r6, r3
5997 orrne r3, r3, lr
5998 strneh r3, [r4, #6] @ movhi
5999 mov r3, r2, lsr #20
6000 ands r3, r3, #15
6001 orrne r3, r6, r3
6002 orrne r3, r3, lr
6003 strneh r3, [r4, #4] @ movhi
6004 mov r3, r2, lsr #24
6005 ands r3, r3, #15
6006 orrne r3, r6, r3
6007 orrne r3, r3, lr
6008 strneh r3, [r4, #2] @ movhi
6009 movs r3, r2, lsr #28
6010 orrne r3, r6, r3
6011 orrne r3, r3, lr
6012 strneh r3, [r4, #0] @ movhi
6013.L2509:
6014 add r8, r8, #1
6015 cmp r0, r8
6016 add r4, r4, #16
6017 add r7, r7, #2
6018 beq .L2584
6019.L2504:
6020 ldrh r1, [r7, #0]
6021 mov r2, r1, asl #22
6022 mov r3, r1, lsr #12
6023 mov r2, r2, lsr #22
6024 tst r1, #2048
6025 mov r6, r3, asl #4
6026 add r3, sl, r2, asl #5
6027 addne r3, r3, ip
6028 tst r1, #1024
6029 bne .L2585
6030 ldr r2, [r3, #0]
6031 cmp r2, #0
6032 beq .L2509
6033 ands r3, r2, #15
6034 orrne r3, r6, r3
6035 orrne r3, r3, lr
6036 strneh r3, [r4, #0] @ movhi
6037 mov r3, r2, lsr #4
6038 ands r3, r3, #15
6039 orrne r3, r6, r3
6040 orrne r3, r3, lr
6041 strneh r3, [r4, #2] @ movhi
6042 mov r3, r2, lsr #8
6043 ands r3, r3, #15
6044 orrne r3, r6, r3
6045 orrne r3, r3, lr
6046 strneh r3, [r4, #4] @ movhi
6047 mov r3, r2, lsr #12
6048 ands r3, r3, #15
6049 orrne r3, r6, r3
6050 orrne r3, r3, lr
6051 strneh r3, [r4, #6] @ movhi
6052 mov r3, r2, lsr #16
6053 ands r3, r3, #15
6054 orrne r3, r6, r3
6055 orrne r3, r3, lr
6056 strneh r3, [r4, #8] @ movhi
6057 mov r3, r2, lsr #20
6058 ands r3, r3, #15
6059 orrne r3, r6, r3
6060 orrne r3, r3, lr
6061 strneh r3, [r4, #10] @ movhi
6062 mov r3, r2, lsr #24
6063 ands r3, r3, #15
6064 orrne r3, r6, r3
6065 orrne r3, r3, lr
6066 strneh r3, [r4, #12] @ movhi
6067 movs r3, r2, lsr #28
6068 orrne r3, r6, r3
6069 orrne r3, r3, lr
6070 add r8, r8, #1
6071 strneh r3, [r4, #14] @ movhi
6072 cmp r0, r8
6073 add r4, r4, #16
6074 add r7, r7, #2
6075 bne .L2504
6076.L2584:
6077 ldr r3, [sp, #0]
6078 add fp, fp, r0, asl #4
6079 add r0, r3, r0, asl #1
6080.L2503:
6081 ands r4, r9, #7
6082 beq .L2556
6083 ldrh r0, [r0, #0]
6084 mov r3, r0, asl #22
6085 mov r3, r3, lsr #22
6086 tst r0, #2048
6087 add r3, sl, r3, asl #5
6088 addne r3, r3, ip
6089 mov r2, r0, lsr #12
6090 tst r0, #1024
6091 mov r2, r2, asl #4
6092 ldreq r0, [r3, #0]
6093 moveq ip, #0
6094 beq .L2552
6095 ldr r0, [r3, #0]
6096 mov ip, #0
6097.L2548:
6098 movs r3, r0, lsr #28
6099 orr r3, r2, r3
6100 mov r1, ip, asl #1
6101 orr r3, r3, lr
6102 add ip, ip, #1
6103 strneh r3, [r1, fp] @ movhi
6104 cmp r4, ip
6105 mov r0, r0, asl #4
6106 bne .L2548
6107 b .L2556
6108.L2580:
6109 cmp r1, #0
6110 bne .L2586
6111.L2350:
6112 ldr r1, [sp, #4]
6113 movs r0, r1, lsr #3
6114 beq .L2385
6115 mov r4, fp
6116 mov r6, r7
6117 mov r8, #0
6118 b .L2387
6119.L2588:
6120 ldr r2, [r3, #0]
6121 cmp r2, #0
6122 beq .L2392
6123 ands r3, r2, #15
6124 orrne r3, r5, r3
6125 orrne r3, r3, lr
6126 strneh r3, [r4, #14] @ movhi
6127 mov r3, r2, lsr #4
6128 ands r3, r3, #15
6129 orrne r3, r5, r3
6130 orrne r3, r3, lr
6131 strneh r3, [r4, #12] @ movhi
6132 mov r3, r2, lsr #8
6133 ands r3, r3, #15
6134 orrne r3, r5, r3
6135 orrne r3, r3, lr
6136 strneh r3, [r4, #10] @ movhi
6137 mov r3, r2, lsr #12
6138 ands r3, r3, #15
6139 orrne r3, r5, r3
6140 orrne r3, r3, lr
6141 strneh r3, [r4, #8] @ movhi
6142 mov r3, r2, lsr #16
6143 ands r3, r3, #15
6144 orrne r3, r5, r3
6145 orrne r3, r3, lr
6146 strneh r3, [r4, #6] @ movhi
6147 mov r3, r2, lsr #20
6148 ands r3, r3, #15
6149 orrne r3, r5, r3
6150 orrne r3, r3, lr
6151 strneh r3, [r4, #4] @ movhi
6152 mov r3, r2, lsr #24
6153 ands r3, r3, #15
6154 orrne r3, r5, r3
6155 orrne r3, r3, lr
6156 strneh r3, [r4, #2] @ movhi
6157 movs r3, r2, lsr #28
6158 orrne r3, r5, r3
6159 orrne r3, r3, lr
6160 strneh r3, [r4, #0] @ movhi
6161.L2392:
6162 add r8, r8, #1
6163 cmp r0, r8
6164 add r4, r4, #16
6165 add r6, r6, #2
6166 beq .L2587
6167.L2387:
6168 ldrh r1, [r6, #0]
6169 mov r2, r1, asl #22
6170 mov r3, r1, lsr #12
6171 mov r2, r2, lsr #22
6172 tst r1, #2048
6173 mov r5, r3, asl #4
6174 add r3, sl, r2, asl #5
6175 addne r3, r3, ip
6176 tst r1, #1024
6177 bne .L2588
6178 ldr r2, [r3, #0]
6179 cmp r2, #0
6180 beq .L2392
6181 ands r3, r2, #15
6182 orrne r3, r5, r3
6183 orrne r3, r3, lr
6184 strneh r3, [r4, #0] @ movhi
6185 mov r3, r2, lsr #4
6186 ands r3, r3, #15
6187 orrne r3, r5, r3
6188 orrne r3, r3, lr
6189 strneh r3, [r4, #2] @ movhi
6190 mov r3, r2, lsr #8
6191 ands r3, r3, #15
6192 orrne r3, r5, r3
6193 orrne r3, r3, lr
6194 strneh r3, [r4, #4] @ movhi
6195 mov r3, r2, lsr #12
6196 ands r3, r3, #15
6197 orrne r3, r5, r3
6198 orrne r3, r3, lr
6199 strneh r3, [r4, #6] @ movhi
6200 mov r3, r2, lsr #16
6201 ands r3, r3, #15
6202 orrne r3, r5, r3
6203 orrne r3, r3, lr
6204 strneh r3, [r4, #8] @ movhi
6205 mov r3, r2, lsr #20
6206 ands r3, r3, #15
6207 orrne r3, r5, r3
6208 orrne r3, r3, lr
6209 strneh r3, [r4, #10] @ movhi
6210 mov r3, r2, lsr #24
6211 ands r3, r3, #15
6212 orrne r3, r5, r3
6213 orrne r3, r3, lr
6214 strneh r3, [r4, #12] @ movhi
6215 movs r3, r2, lsr #28
6216 orrne r3, r5, r3
6217 orrne r3, r3, lr
6218 add r8, r8, #1
6219 strneh r3, [r4, #14] @ movhi
6220 cmp r0, r8
6221 add r4, r4, #16
6222 add r6, r6, #2
6223 bne .L2387
6224.L2587:
6225 add fp, fp, r0, asl #4
6226 add r7, r7, r0, asl #1
6227.L2385:
6228 ldr r3, [sp, #4]
6229 ands r4, r3, #7
6230 beq .L2556
6231 ldrh r1, [r7, #0]
6232 mov r3, r1, asl #22
6233 mov r3, r3, lsr #22
6234 tst r1, #2048
6235 add r0, sl, r3, asl #5
6236 addne r0, r0, ip
6237 mov r2, r1, lsr #12
6238 tst r1, #1024
6239 mov r2, r2, asl #4
6240 ldreq r0, [r0, #0]
6241 moveq ip, #0
6242 beq .L2435
6243 ldr r0, [r0, #0]
6244 mov ip, #0
6245.L2431:
6246 movs r3, r0, lsr #28
6247 orr r3, r2, r3
6248 mov r1, ip, asl #1
6249 orr r3, r3, lr
6250 add ip, ip, #1
6251 strneh r3, [r1, fp] @ movhi
6252 cmp r4, ip
6253 mov r0, r0, asl #4
6254 bne .L2431
6255 b .L2556
6256.L2574:
6257 cmp r4, #0
6258 bne .L2589
6259.L1969:
6260 ldr r3, [sp, #4]
6261 movs sl, r3, lsr #3
6262 beq .L2083
6263 mov r5, fp
6264 mov r6, r7
6265 mov r8, #0
6266 b .L2085
6267.L2591:
6268 ldr r1, [r4, #4]
6269 cmp r1, #0
6270 beq .L2090
6271 ands r3, r1, #255
6272 orrne r3, r3, lr
6273 strneh r3, [r5, #6] @ movhi
6274 mov r3, r1, lsr #8
6275 ands r3, r3, #255
6276 orrne r3, r3, lr
6277 strneh r3, [r5, #4] @ movhi
6278 mov r3, r1, lsr #16
6279 ands r3, r3, #255
6280 orrne r3, r3, lr
6281 strneh r3, [r5, #2] @ movhi
6282 movs r3, r1, lsr #24
6283 orrne r3, r3, lr
6284 strneh r3, [r5, #0] @ movhi
6285.L2090:
6286 ldr r1, [r4, #0]
6287 cmp r1, #0
6288 beq .L2099
6289 ands r3, r1, #255
6290 orrne r3, r3, lr
6291 strneh r3, [r5, #14] @ movhi
6292 mov r3, r1, lsr #8
6293 ands r3, r3, #255
6294 orrne r3, r3, lr
6295 strneh r3, [r5, #12] @ movhi
6296 mov r3, r1, lsr #16
6297 ands r3, r3, #255
6298 orrne r3, r3, lr
6299 strneh r3, [r5, #10] @ movhi
6300 movs r3, r1, lsr #24
6301 orrne r3, r3, lr
6302 strneh r3, [r5, #8] @ movhi
6303.L2099:
6304 add r8, r8, #1
6305 cmp sl, r8
6306 add r5, r5, #16
6307 add r6, r6, #2
6308 beq .L2590
6309.L2085:
6310 ldrh r1, [r6, #0]
6311 mov r3, r1, asl #22
6312 mov r3, r3, lsr #22
6313 tst r1, #2048
6314 add r4, r2, r3, asl #6
6315 addne r4, r4, ip
6316 tst r1, #1024
6317 bne .L2591
6318 ldr r1, [r4, #0]
6319 cmp r1, #0
6320 beq .L2108
6321 ands r3, r1, #255
6322 orrne r3, r3, lr
6323 strneh r3, [r5, #0] @ movhi
6324 mov r3, r1, lsr #8
6325 ands r3, r3, #255
6326 orrne r3, r3, lr
6327 strneh r3, [r5, #2] @ movhi
6328 mov r3, r1, lsr #16
6329 ands r3, r3, #255
6330 orrne r3, r3, lr
6331 strneh r3, [r5, #4] @ movhi
6332 movs r3, r1, lsr #24
6333 orrne r3, r3, lr
6334 strneh r3, [r5, #6] @ movhi
6335.L2108:
6336 ldr r1, [r4, #4]
6337 cmp r1, #0
6338 beq .L2099
6339 ands r3, r1, #255
6340 orrne r3, r3, lr
6341 strneh r3, [r5, #8] @ movhi
6342 mov r3, r1, lsr #8
6343 ands r3, r3, #255
6344 orrne r3, r3, lr
6345 strneh r3, [r5, #10] @ movhi
6346 mov r3, r1, lsr #16
6347 ands r3, r3, #255
6348 orrne r3, r3, lr
6349 strneh r3, [r5, #12] @ movhi
6350 movs r3, r1, lsr #24
6351 orrne r3, r3, lr
6352 add r8, r8, #1
6353 strneh r3, [r5, #14] @ movhi
6354 cmp sl, r8
6355 add r5, r5, #16
6356 add r6, r6, #2
6357 bne .L2085
6358.L2590:
6359 add fp, fp, sl, asl #4
6360 add r7, r7, sl, asl #1
6361.L2083:
6362 ldr r1, [sp, #4]
6363 ands r4, r1, #7
6364 beq .L2556
6365 ldrh r1, [r7, #0]
6366 mov r3, r1, asl #22
6367 mov r3, r3, lsr #22
6368 tst r1, #2048
6369 add r0, r2, r3, asl #6
6370 addne r0, r0, ip
6371 tst r1, #1024
6372 beq .L2129
6373 cmp r4, #3
6374 ldrls r0, [r0, #4]
6375 bls .L2143
6376 ldr r1, [r0, #4]
6377 cmp r1, #0
6378 beq .L2133
6379 ands r3, r1, #255
6380 orrne r3, r3, lr
6381 strneh r3, [fp, #6] @ movhi
6382 mov r3, r1, lsr #8
6383 ands r3, r3, #255
6384 orrne r3, r3, lr
6385 strneh r3, [fp, #4] @ movhi
6386 mov r3, r1, lsr #16
6387 ands r3, r3, #255
6388 orrne r3, r3, lr
6389 strneh r3, [fp, #2] @ movhi
6390 movs r3, r1, lsr #24
6391 orrne r3, r3, lr
6392 strneh r3, [fp, #0] @ movhi
6393.L2133:
6394 subs r4, r4, #4
6395 ldr r0, [r0, #0]
6396 addne fp, fp, #8
6397 beq .L2556
6398.L2143:
6399 mov r1, #0
6400.L2144:
6401 movs r3, r0, lsr #24
6402 mov r2, r1, asl #1
6403 orr r3, r3, lr
6404 add r1, r1, #1
6405 strneh r3, [r2, fp] @ movhi
6406 cmp r4, r1
6407 mov r0, r0, asl #8
6408 bhi .L2144
6409 b .L2556
6410.L2552:
6411 ands r3, r0, #15
6412 orr r3, r2, r3
6413 mov r1, ip, asl #1
6414 orr r3, r3, lr
6415 add ip, ip, #1
6416 strneh r3, [r1, fp] @ movhi
6417 cmp r4, ip
6418 mov r0, r0, lsr #4
6419 bne .L2552
6420 b .L2556
6421.L2586:
6422 ldr r3, [sp, #4]
6423 rsb r5, r1, #8
6424 cmp r3, r5
6425 bcs .L2352
6426 ldrh r4, [r7, #0]
6427 mov r3, r4, asl #22
6428 mov r3, r3, lsr #22
6429 tst r4, #2048
6430 add r0, sl, r3, asl #5
6431 mov r2, r4, lsr #12
6432 addne r0, r0, ip
6433 tst r4, #1024
6434 mov r2, r2, asl #4
6435 bne .L2592
6436 ldr r3, [sp, #4]
6437 ldr r0, [r0, #0]
6438 cmp r3, #0
6439 beq .L2556
6440 mov r3, r1, asl #2
6441 mov r0, r0, lsr r3
6442 mov ip, #0
6443.L2364:
6444 ands r3, r0, #15
6445 orr r3, r2, r3
6446 mov r1, ip, asl #1
6447 orr r3, r3, lr
6448 strneh r3, [r1, fp] @ movhi
6449 ldr r1, [sp, #4]
6450 add ip, ip, #1
6451 cmp r1, ip
6452 mov r0, r0, lsr #4
6453 bne .L2364
6454 b .L2556
6455.L2581:
6456 ldrh r6, [r7, #0]
6457 rsb r8, r1, #8
6458 mov r2, r6, asl #22
6459 mov r3, r6, lsr #12
6460 mov r2, r2, lsr #22
6461 tst r6, #2048
6462 mov r9, r3, asl #4
6463 add r3, sl, r2, asl #5
6464 addne r3, r3, ip
6465 tst r6, #1024
6466 beq .L2444
6467 cmp r8, #0
6468 ldr r2, [r3, #0]
6469 beq .L2446
6470 mov r3, r1, asl #2
6471 mov r1, r2, asl r3
6472 mov r4, #0
6473.L2448:
6474 movs r3, r1, lsr #28
6475 orr r3, r9, r3
6476 mov r2, r4, asl #1
6477 orr r3, r3, lr
6478 add r4, r4, #1
6479 strneh r3, [r2, fp] @ movhi
6480 cmp r8, r4
6481 mov r1, r1, asl #4
6482 bne .L2448
6483 add fp, fp, r8, asl #1
6484.L2446:
6485 add r7, r7, #2
6486 b .L2441
6487.L2575:
6488 ldrh r1, [r7, #0]
6489 rsb r8, r4, #8
6490 mov r3, r1, asl #22
6491 mov r3, r3, lsr #22
6492 tst r1, #2048
6493 add sl, r2, r3, asl #6
6494 addne sl, sl, ip
6495 ands r6, r1, #1024
6496 beq .L2170
6497 cmp r4, #3
6498 bhi .L2593
6499 subs r5, r8, #4
6500 ldr r1, [sl, #4]
6501 beq .L2181
6502 mov r3, r4, asl #3
6503 sub r3, r3, #32
6504 mov r1, r1, asl r3
6505 mov r6, #0
6506.L2183:
6507 movs r3, r1, lsr #24
6508 mov r4, r6, asl #1
6509 orr r3, r3, lr
6510 add r6, r6, #1
6511 strneh r3, [r4, fp] @ movhi
6512 cmp r5, r6
6513 mov r1, r1, asl #8
6514 bne .L2183
6515 add r3, fp, r8, asl #1
6516 sub fp, r3, #8
6517.L2181:
6518 ldr r1, [sl, #0]
6519 cmp r1, #0
6520 beq .L2212
6521 ands r3, r1, #255
6522 orrne r3, r3, lr
6523 strneh r3, [fp, #6] @ movhi
6524 mov r3, r1, lsr #8
6525 ands r3, r3, #255
6526 orrne r3, r3, lr
6527 strneh r3, [fp, #4] @ movhi
6528 mov r3, r1, lsr #16
6529 ands r3, r3, #255
6530 orrne r3, r3, lr
6531 strneh r3, [fp, #2] @ movhi
6532 movs r3, r1, lsr #24
6533 orrne r3, r3, lr
6534 strneh r3, [fp, #0] @ movhi
6535.L2212:
6536 add fp, fp, #8
6537 mov r8, r5
6538.L2174:
6539 add r7, r7, #2
6540 b .L2167
6541.L2589:
6542 rsb r0, r4, #8
6543 cmp r1, r0
6544 bcs .L1971
6545 ldrh r1, [r7, #0]
6546 mov r3, r1, asl #22
6547 mov r3, r3, lsr #22
6548 tst r1, #2048
6549 add r0, r2, r3, asl #6
6550 addne r0, r0, ip
6551 tst r1, #1024
6552 bne .L2594
6553 cmp r4, #3
6554 bls .L2004
6555 ldr ip, [sp, #4]
6556 ldr r0, [r0, #4]
6557 cmp ip, #0
6558 beq .L2556
6559 mov r3, r4, asl #3
6560 sub r3, r3, #32
6561 mov r0, r0, lsr r3
6562 mov r1, #0
6563.L2007:
6564 ands r3, r0, #255
6565 orr r3, r3, lr
6566 mov r2, r1, asl #1
6567 strneh r3, [r2, fp] @ movhi
6568 ldr r3, [sp, #4]
6569 add r1, r1, #1
6570 cmp r3, r1
6571 mov r0, r0, lsr #8
6572 bne .L2007
6573 b .L2556
6574.L2600:
6575 .align 2
6576.L2599:
6577 .word io_registers
6578 .word map_widths
6579 .word vram
6580.L2435:
6581 ands r3, r0, #15
6582 orr r3, r2, r3
6583 mov r1, ip, asl #1
6584 orr r3, r3, lr
6585 add ip, ip, #1
6586 strneh r3, [r1, fp] @ movhi
6587 cmp r4, ip
6588 mov r0, r0, lsr #4
6589 bne .L2435
6590 b .L2556
6591.L2312:
6592 cmp r4, #3
6593 ldrls r0, [r2, #0]
6594 bls .L2343
6595 ldr r1, [r2, #0]
6596 cmp r1, #0
6597 beq .L2333
6598 ands r3, r1, #255
6599 orrne r3, r3, lr
6600 strneh r3, [fp, #0] @ movhi
6601 mov r3, r1, lsr #8
6602 ands r3, r3, #255
6603 orrne r3, r3, lr
6604 strneh r3, [fp, #2] @ movhi
6605 mov r3, r1, lsr #16
6606 ands r3, r3, #255
6607 orrne r3, r3, lr
6608 strneh r3, [fp, #4] @ movhi
6609 movs r3, r1, lsr #24
6610 orrne r3, r3, lr
6611 strneh r3, [fp, #6] @ movhi
6612.L2333:
6613 subs r4, r4, #4
6614 ldr r0, [r2, #4]
6615 addne fp, fp, #8
6616 beq .L2556
6617.L2343:
6618 mov r1, #0
6619.L2344:
6620 ands r3, r0, #255
6621 mov r2, r1, asl #1
6622 orr r3, r3, lr
6623 add r1, r1, #1
6624 strneh r3, [r2, fp] @ movhi
6625 cmp r1, r4
6626 mov r0, r0, lsr #8
6627 bcc .L2344
6628 b .L2556
6629.L2129:
6630 cmp r4, #3
6631 ldrls r0, [r0, #0]
6632 bls .L2160
6633 ldr r1, [r0, #0]
6634 cmp r1, #0
6635 beq .L2150
6636 ands r3, r1, #255
6637 orrne r3, r3, lr
6638 strneh r3, [fp, #0] @ movhi
6639 mov r3, r1, lsr #8
6640 ands r3, r3, #255
6641 orrne r3, r3, lr
6642 strneh r3, [fp, #2] @ movhi
6643 mov r3, r1, lsr #16
6644 ands r3, r3, #255
6645 orrne r3, r3, lr
6646 strneh r3, [fp, #4] @ movhi
6647 movs r3, r1, lsr #24
6648 orrne r3, r3, lr
6649 strneh r3, [fp, #6] @ movhi
6650.L2150:
6651 subs r4, r4, #4
6652 ldr r0, [r0, #4]
6653 addne fp, fp, #8
6654 beq .L2556
6655.L2160:
6656 mov r1, #0
6657.L2161:
6658 ands r3, r0, #255
6659 mov r2, r1, asl #1
6660 orr r3, r3, lr
6661 add r1, r1, #1
6662 strneh r3, [r2, fp] @ movhi
6663 cmp r4, r1
6664 mov r0, r0, lsr #8
6665 bhi .L2161
6666 b .L2556
6667.L2352:
6668 ldrh r4, [r7, #0]
6669 mov r2, r4, asl #22
6670 mov r3, r4, lsr #12
6671 mov r2, r2, lsr #22
6672 tst r4, #2048
6673 mov r0, r3, asl #4
6674 add r3, sl, r2, asl #5
6675 addne r3, r3, ip
6676 tst r4, #1024
6677 bne .L2595
6678 cmp r5, #0
6679 ldr r2, [r3, #0]
6680 beq .L2372
6681 mov r3, r1, asl #2
6682 mov r1, r2, lsr r3
6683 mov r4, #0
6684.L2380:
6685 ands r3, r1, #15
6686 orr r3, r0, r3
6687 mov r2, r4, asl #1
6688 orr r3, r3, lr
6689 add r4, r4, #1
6690 strneh r3, [r2, fp] @ movhi
6691 cmp r5, r4
6692 mov r1, r1, lsr #4
6693 bne .L2380
6694.L2571:
6695 add fp, fp, r5, asl #1
6696.L2372:
6697 ldr r3, [sp, #4]
6698 add r7, r7, #2
6699 rsb r3, r5, r3
6700 str r3, [sp, #4]
6701 b .L2350
6702.L2444:
6703 cmp r8, #0
6704 ldr r2, [r3, #0]
6705 beq .L2446
6706 mov r3, r1, asl #2
6707 mov r1, r2, lsr r3
6708 mov r4, #0
6709.L2454:
6710 ands r3, r1, #15
6711 orr r3, r9, r3
6712 mov r2, r4, asl #1
6713 orr r3, r3, lr
6714 add r4, r4, #1
6715 strneh r3, [r2, fp] @ movhi
6716 cmp r8, r4
6717 mov r1, r1, lsr #4
6718 bne .L2454
6719 add fp, fp, r8, asl #1
6720 b .L2446
6721.L2170:
6722 cmp r4, #3
6723 bhi .L2596
6724 subs r5, r8, #4
6725 ldr r1, [sl, #0]
6726 beq .L2205
6727 mov r3, r4, asl #3
6728 mov r1, r1, lsr r3
6729 mov r6, #0
6730.L2207:
6731 ands r3, r1, #255
6732 mov r4, r6, asl #1
6733 orr r3, r3, lr
6734 add r6, r6, #1
6735 strneh r3, [r4, fp] @ movhi
6736 cmp r5, r6
6737 mov r1, r1, lsr #8
6738 bne .L2207
6739 add r3, fp, r8, asl #1
6740 sub fp, r3, #8
6741.L2205:
6742 ldr r1, [sl, #4]
6743 cmp r1, #0
6744 beq .L2212
6745 ands r3, r1, #255
6746 orrne r3, r3, lr
6747 strneh r3, [fp, #0] @ movhi
6748 mov r3, r1, lsr #8
6749 ands r3, r3, #255
6750 orrne r3, r3, lr
6751 strneh r3, [fp, #2] @ movhi
6752 mov r3, r1, lsr #16
6753 ands r3, r3, #255
6754 orrne r3, r3, lr
6755 strneh r3, [fp, #4] @ movhi
6756 movs r3, r1, lsr #24
6757 orrne r3, r3, lr
6758 strneh r3, [fp, #6] @ movhi
6759 b .L2212
6760.L1971:
6761 ldrh r1, [r7, #0]
6762 mov r3, r1, asl #22
6763 mov r3, r3, lsr #22
6764 tst r1, #2048
6765 add r6, r2, r3, asl #6
6766 addne r6, r6, ip
6767 ands r5, r1, #1024
6768 bne .L2597
6769 cmp r4, #3
6770 bls .L2059
6771 cmp r0, #0
6772 ldr r1, [r6, #4]
6773 beq .L2036
6774 mov r3, r4, asl #3
6775 sub r3, r3, #32
6776 mov r1, r1, lsr r3
6777.L2062:
6778 ands r3, r1, #255
6779 mov r4, r5, asl #1
6780 orr r3, r3, lr
6781 add r5, r5, #1
6782 strneh r3, [r4, fp] @ movhi
6783 cmp r0, r5
6784 mov r1, r1, lsr #8
6785 bne .L2062
6786.L2558:
6787 add fp, fp, r0, asl #1
6788.L2036:
6789 ldr r1, [sp, #4]
6790 add r7, r7, #2
6791 rsb r1, r0, r1
6792 str r1, [sp, #4]
6793 b .L1969
6794.L2593:
6795 cmp r8, #0
6796 ldr r1, [sl, #0]
6797 beq .L2174
6798 mov r3, r4, asl #3
6799 sub r3, r3, #32
6800 mov r1, r1, asl r3
6801 mov r6, #0
6802.L2176:
6803 movs r3, r1, lsr #24
6804 mov r4, r6, asl #1
6805 orr r3, r3, lr
6806 add r6, r6, #1
6807 strneh r3, [r4, fp] @ movhi
6808 cmp r8, r6
6809 mov r1, r1, asl #8
6810 bne .L2176
6811 add fp, fp, r8, asl #1
6812.L2598:
6813 add r7, r7, #2
6814 b .L2167
6815.L2592:
6816 ldr ip, [sp, #4]
6817 ldr r0, [r0, #0]
6818 cmp ip, #0
6819 beq .L2556
6820 mov r3, r1, asl #2
6821 mov r0, r0, asl r3
6822 mov ip, #0
6823.L2359:
6824 movs r3, r0, lsr #28
6825 orr r3, r2, r3
6826 mov r1, ip, asl #1
6827 orr r3, r3, lr
6828 strneh r3, [r1, fp] @ movhi
6829 ldr r1, [sp, #4]
6830 add ip, ip, #1
6831 cmp r1, ip
6832 mov r0, r0, asl #4
6833 bne .L2359
6834 b .L2556
6835.L2597:
6836 cmp r4, #3
6837 bls .L2034
6838 cmp r0, #0
6839 ldr r1, [r6, #0]
6840 beq .L2036
6841 mov r3, r4, asl #3
6842 sub r3, r3, #32
6843 mov r1, r1, asl r3
6844 mov r5, #0
6845.L2038:
6846 movs r3, r1, lsr #24
6847 mov r4, r5, asl #1
6848 orr r3, r3, lr
6849 add r5, r5, #1
6850 strneh r3, [r4, fp] @ movhi
6851 cmp r0, r5
6852 mov r1, r1, asl #8
6853 bne .L2038
6854 b .L2558
6855.L2595:
6856 cmp r5, #0
6857 ldr r2, [r3, #0]
6858 beq .L2372
6859 mov r3, r1, asl #2
6860 mov r1, r2, asl r3
6861 mov r4, #0
6862.L2374:
6863 movs r3, r1, lsr #28
6864 orr r3, r0, r3
6865 mov r2, r4, asl #1
6866 orr r3, r3, lr
6867 add r4, r4, #1
6868 strneh r3, [r2, fp] @ movhi
6869 cmp r5, r4
6870 mov r1, r1, asl #4
6871 bne .L2374
6872 b .L2571
6873.L2594:
6874 cmp r4, #3
6875 bls .L1977
6876 ldr r3, [sp, #4]
6877 ldr r0, [r0, #0]
6878 cmp r3, #0
6879 beq .L2556
6880 mov r3, r4, asl #3
6881 sub r3, r3, #32
6882 mov r0, r0, asl r3
6883 mov r1, #0
6884.L1981:
6885 movs r3, r0, lsr #24
6886 ldr ip, [sp, #4]
6887 mov r2, r1, asl #1
6888 orr r3, r3, lr
6889 add r1, r1, #1
6890 strneh r3, [r2, fp] @ movhi
6891 cmp ip, r1
6892 mov r0, r0, asl #8
6893 bne .L1981
6894 b .L2556
6895.L2596:
6896 cmp r8, #0
6897 ldr r1, [sl, #4]
6898 beq .L2174
6899 mov r3, r4, asl #3
6900 sub r3, r3, #32
6901 mov r1, r1, lsr r3
6902.L2200:
6903 ands r3, r1, #255
6904 mov r4, r6, asl #1
6905 orr r3, r3, lr
6906 add r6, r6, #1
6907 strneh r3, [r4, fp] @ movhi
6908 cmp r8, r6
6909 mov r1, r1, lsr #8
6910 bne .L2200
6911 add fp, fp, r8, asl #1
6912 b .L2598
6913.L1977:
6914 ldr ip, [sp, #4]
6915 mov r3, r4, asl #3
6916 ldr r1, [r0, #4]
6917 add r2, ip, r4
6918 sub r3, r3, #32
6919 cmp r2, #4
6920 mov r1, r1, asl r3
6921 bhi .L1985
6922 cmp ip, #0
6923 movne r0, #0
6924 beq .L2556
6925.L2000:
6926 movs r3, r1, lsr #24
6927 orr r3, r3, lr
6928 mov r2, r0, asl #1
6929 strneh r3, [r2, fp] @ movhi
6930 ldr r3, [sp, #4]
6931 add r0, r0, #1
6932 cmp r3, r0
6933 mov r1, r1, asl #8
6934 bne .L2000
6935 b .L2556
6936.L2034:
6937 subs r8, r0, #4
6938 ldr r1, [r6, #4]
6939 beq .L2043
6940 mov r3, r4, asl #3
6941 sub r3, r3, #32
6942 mov r1, r1, asl r3
6943 mov r5, #0
6944.L2045:
6945 movs r3, r1, lsr #24
6946 mov r4, r5, asl #1
6947 orr r3, r3, lr
6948 add r5, r5, #1
6949 strneh r3, [r4, fp] @ movhi
6950 cmp r8, r5
6951 mov r1, r1, asl #8
6952 bne .L2045
6953 add r3, fp, r0, asl #1
6954 sub fp, r3, #8
6955.L2043:
6956 ldr r1, [r6, #0]
6957 cmp r1, #0
6958 beq .L2074
6959 ands r3, r1, #255
6960 orrne r3, r3, lr
6961 strneh r3, [fp, #6] @ movhi
6962 mov r3, r1, lsr #8
6963 ands r3, r3, #255
6964 orrne r3, r3, lr
6965 strneh r3, [fp, #4] @ movhi
6966 mov r3, r1, lsr #16
6967 ands r3, r3, #255
6968 orrne r3, r3, lr
6969 strneh r3, [fp, #2] @ movhi
6970 movs r3, r1, lsr #24
6971 orrne r3, r3, lr
6972 strneh r3, [fp, #0] @ movhi
6973.L2074:
6974 add fp, fp, #8
6975 b .L2036
6976.L2004:
6977 ldr ip, [sp, #4]
6978 ldr r3, [r0, #0]
6979 add r2, ip, r4
6980 cmp r2, #4
6981 mov r1, r4, asl #3
6982 mov r2, r3, lsr r1
6983 bhi .L2011
6984 cmp ip, #0
6985 movne r0, #0
6986 beq .L2556
6987.L2026:
6988 ands r3, r2, #255
6989 orr r3, r3, lr
6990 mov r1, r0, asl #1
6991 strneh r3, [r1, fp] @ movhi
6992 ldr r3, [sp, #4]
6993 add r0, r0, #1
6994 cmp r3, r0
6995 mov r2, r2, lsr #8
6996 bne .L2026
6997 b .L2556
6998.L2059:
6999 subs r8, r0, #4
7000 ldr r1, [r6, #0]
7001 beq .L2067
7002 mov r3, r4, asl #3
7003 mov r1, r1, lsr r3
7004 mov r5, #0
7005.L2069:
7006 ands r3, r1, #255
7007 mov r4, r5, asl #1
7008 orr r3, r3, lr
7009 add r5, r5, #1
7010 strneh r3, [r4, fp] @ movhi
7011 cmp r8, r5
7012 mov r1, r1, lsr #8
7013 bne .L2069
7014 add r3, fp, r0, asl #1
7015 sub fp, r3, #8
7016.L2067:
7017 ldr r1, [r6, #4]
7018 cmp r1, #0
7019 beq .L2074
7020 ands r3, r1, #255
7021 orrne r3, r3, lr
7022 strneh r3, [fp, #0] @ movhi
7023 mov r3, r1, lsr #8
7024 ands r3, r3, #255
7025 orrne r3, r3, lr
7026 strneh r3, [fp, #2] @ movhi
7027 mov r3, r1, lsr #16
7028 ands r3, r3, #255
7029 orrne r3, r3, lr
7030 strneh r3, [fp, #4] @ movhi
7031 movs r3, r1, lsr #24
7032 orrne r3, r3, lr
7033 strneh r3, [fp, #6] @ movhi
7034 add fp, fp, #8
7035 b .L2036
7036.L1985:
7037 rsbs r4, r4, #4
7038 beq .L1988
7039 mov ip, #0
7040.L1990:
7041 movs r3, r1, lsr #24
7042 mov r2, ip, asl #1
7043 orr r3, r3, lr
7044 add ip, ip, #1
7045 strneh r3, [r2, fp] @ movhi
7046 cmp r4, ip
7047 mov r1, r1, asl #8
7048 bne .L1990
7049 add fp, fp, r4, asl #1
7050.L1988:
7051 ldr r1, [sp, #4]
7052 ldr r0, [r0, #0]
7053 subs ip, r1, r4
7054 beq .L2556
7055 mov r1, #0
7056.L1996:
7057 movs r3, r0, lsr #24
7058 mov r2, r1, asl #1
7059 orr r3, r3, lr
7060 add r1, r1, #1
7061 strneh r3, [r2, fp] @ movhi
7062 cmp ip, r1
7063 mov r0, r0, asl #8
7064 bne .L1996
7065 b .L2556
7066.L2011:
7067 rsbs r4, r4, #4
7068 beq .L2014
7069 mov ip, #0
7070.L2016:
7071 ands r3, r2, #255
7072 mov r1, ip, asl #1
7073 orr r3, r3, lr
7074 add ip, ip, #1
7075 strneh r3, [r1, fp] @ movhi
7076 cmp r4, ip
7077 mov r2, r2, lsr #8
7078 bne .L2016
7079 add fp, fp, r4, asl #1
7080.L2014:
7081 ldr r1, [sp, #4]
7082 ldr r0, [r0, #4]
7083 subs ip, r1, r4
7084 beq .L2556
7085 mov r1, #0
7086.L2022:
7087 ands r3, r0, #255
7088 mov r2, r1, asl #1
7089 orr r3, r3, lr
7090 add r1, r1, #1
7091 strneh r3, [r2, fp] @ movhi
7092 cmp ip, r1
7093 mov r0, r0, lsr #8
7094 bne .L2022
7095 b .L2556
7096 .size render_scanline_text_transparent_color16, .-render_scanline_text_transparent_color16
7097 .align 2
7098 .global render_scanline_text_base_color32
7099 .type render_scanline_text_base_color32, %function
7100render_scanline_text_base_color32:
7101 @ args = 0, pretend = 0, frame = 16
7102 @ frame_needed = 0, uses_anonymous_args = 0
7103 ldr ip, .L3398
7104 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
7105 ldrh r5, [ip, #80]
7106 add r7, r0, #7
7107 mov r8, r5, asr r0
7108 mov r7, r5, asr r7
7109 add r6, ip, r0, asl #2
7110 ldrh r4, [ip, #6]
7111 ldrh lr, [r6, #18]
7112 add ip, ip, r0, asl #1
7113 add fp, r4, lr
7114 ldrh r9, [ip, #8]
7115 mov sl, fp, asl #23
7116 rsb r2, r1, r2
7117 sub sp, sp, #16
7118 mov sl, sl, lsr #23
7119 cmp sl, #255
7120 movls r4, #0
7121 movhi r4, #1
7122 ldrh lr, [r6, #16]
7123 str r2, [sp, #12]
7124 mov r6, r9, lsr #14
7125 ldr r2, .L3398+4
7126 ands r4, r4, r6, lsr #1
7127 and r7, r7, #2
7128 and r8, r8, #1
7129 add lr, lr, r1
7130 orr r8, r8, r7
7131 mov ip, r9, asl #3
7132 add r7, r3, r1, asl #2
7133 ldr r2, [r2, r6, asl #2]
7134 subne r3, sl, #256
7135 ldr r1, .L3398+8
7136 movne r3, r3, lsr #3
7137 moveq r3, fp, asl #3
7138 and ip, ip, #63488
7139 addne r3, r3, r2, lsr #3
7140 andeq r3, r3, #1984
7141 add ip, ip, r1
7142 mov lr, lr, asl #23
7143 addne r4, ip, r3, asl #6
7144 addeq r4, ip, r3
7145 mov r0, r5, lsr #12
7146 tst r6, #1
7147 mov lr, lr, lsr #23
7148 and r0, r0, #2
7149 mov r5, r5, asl #26
7150 andeq lr, lr, #255
7151 orr r0, r0, r5, lsr #31
7152 moveq r3, lr, lsr #3
7153 mov r0, r0, asl #9
7154 mov r8, r8, asl #9
7155 addeq fp, r4, r3, asl #1
7156 streq r4, [sp, #0]
7157 beq .L2609
7158 cmp lr, #255
7159 subhi lr, lr, #256
7160 movhi r3, lr, lsr #3
7161 movls r3, lr, lsr #3
7162 addhi r3, r4, r3, asl #1
7163 addls fp, r4, r3, asl #1
7164 addls r4, r4, #2048
7165 addhi fp, r3, #2048
7166 strhi r4, [sp, #0]
7167 strls r4, [sp, #0]
7168.L2609:
7169 tst r9, #128
7170 beq .L2610
7171 mov r2, r9, asl #12
7172 and r3, sl, #7
7173 and r1, lr, #255
7174 mov r3, r3, asl #3
7175 and r2, r2, #49152
7176 ldr r4, [sp, #12]
7177 rsb r9, r1, #256
7178 add r2, r2, r3
7179 ldr r1, .L3398+8
7180 mov r3, r3, asl #1
7181 rsb r3, r3, #56
7182 cmp r4, r9
7183 add r2, r2, r1
7184 str r3, [sp, #4]
7185 and lr, lr, #7
7186 bls .L3366
7187 cmp lr, #0
7188 moveq r6, lr
7189 bne .L3367
7190.L2850:
7191 rsb r3, r6, r9
7192 movs sl, r3, lsr #3
7193 beq .L2914
7194 mov lr, r7
7195 mov r6, #0
7196 b .L2916
7197.L3368:
7198 ldr r1, [r5, #4]
7199 add r6, r6, #1
7200 ands r3, r1, #255
7201 orrne r3, r8, r3
7202 strne r3, [lr, #12]
7203 mov r3, r1, lsr #8
7204 streq r0, [lr, #12]
7205 ands r3, r3, #255
7206 orrne r3, r8, r3
7207 strne r3, [lr, #8]
7208 mov r3, r1, lsr #16
7209 streq r0, [lr, #8]
7210 ands r3, r3, #255
7211 orrne r3, r8, r3
7212 strne r3, [lr, #4]
7213 streq r0, [lr, #4]
7214 movs r3, r1, lsr #24
7215 orrne r3, r8, r3
7216 strne r3, [lr, #0]
7217 streq r0, [lr, #0]
7218 ldr r1, [r5, #0]
7219 ands r3, r1, #255
7220 orrne r3, r8, r3
7221 strne r3, [lr, #28]
7222 mov r3, r1, lsr #8
7223 streq r0, [lr, #28]
7224 ands r3, r3, #255
7225 orrne r3, r8, r3
7226 strne r3, [lr, #24]
7227 mov r3, r1, lsr #16
7228 streq r0, [lr, #24]
7229 ands r3, r3, #255
7230 orrne r3, r8, r3
7231 strne r3, [lr, #20]
7232 streq r0, [lr, #20]
7233 movs r3, r1, lsr #24
7234 orrne r3, r8, r3
7235 strne r3, [lr, #16]
7236 streq r0, [lr, #16]
7237 cmp sl, r6
7238 add lr, lr, #32
7239 beq .L2968
7240.L3369:
7241 add fp, fp, #2
7242.L2916:
7243 ldrh r1, [fp, #0]
7244 mov r3, r1, asl #22
7245 mov r3, r3, lsr #22
7246 tst r1, #2048
7247 add r5, r2, r3, asl #6
7248 ldrne r3, [sp, #4]
7249 addne r5, r5, r3
7250 tst r1, #1024
7251 bne .L3368
7252 ldr r1, [r5, #0]
7253 add r6, r6, #1
7254 ands r3, r1, #255
7255 orrne r3, r8, r3
7256 strne r3, [lr, #0]
7257 mov r3, r1, lsr #8
7258 streq r0, [lr, #0]
7259 ands r3, r3, #255
7260 orrne r3, r8, r3
7261 strne r3, [lr, #4]
7262 mov r3, r1, lsr #16
7263 streq r0, [lr, #4]
7264 ands r3, r3, #255
7265 orrne r3, r8, r3
7266 strne r3, [lr, #8]
7267 streq r0, [lr, #8]
7268 movs r3, r1, lsr #24
7269 orrne r3, r8, r3
7270 strne r3, [lr, #12]
7271 streq r0, [lr, #12]
7272 ldr r1, [r5, #4]
7273 ands r3, r1, #255
7274 orrne r3, r8, r3
7275 strne r3, [lr, #16]
7276 mov r3, r1, lsr #8
7277 streq r0, [lr, #16]
7278 ands r3, r3, #255
7279 orrne r3, r8, r3
7280 strne r3, [lr, #20]
7281 mov r3, r1, lsr #16
7282 streq r0, [lr, #20]
7283 ands r3, r3, #255
7284 orrne r3, r8, r3
7285 strne r3, [lr, #24]
7286 streq r0, [lr, #24]
7287 movs r3, r1, lsr #24
7288 orrne r3, r8, r3
7289 strne r3, [lr, #28]
7290 streq r0, [lr, #28]
7291 cmp sl, r6
7292 add lr, lr, #32
7293 bne .L3369
7294.L2968:
7295 add r7, r7, sl, asl #5
7296.L2914:
7297 ldr r4, [sp, #12]
7298 rsb r9, r9, r4
7299 movs r4, r9, lsr #3
7300 ldreq r3, [sp, #0]
7301 beq .L2972
7302 ldr r6, [sp, #0]
7303 mov lr, r7
7304 mov sl, #0
7305 b .L2973
7306.L3371:
7307 ldr r1, [r5, #4]
7308 add sl, sl, #1
7309 ands r3, r1, #255
7310 orrne r3, r8, r3
7311 strne r3, [lr, #12]
7312 mov r3, r1, lsr #8
7313 streq r0, [lr, #12]
7314 ands r3, r3, #255
7315 orrne r3, r8, r3
7316 strne r3, [lr, #8]
7317 mov r3, r1, lsr #16
7318 streq r0, [lr, #8]
7319 ands r3, r3, #255
7320 orrne r3, r8, r3
7321 strne r3, [lr, #4]
7322 streq r0, [lr, #4]
7323 movs r3, r1, lsr #24
7324 orrne r3, r8, r3
7325 strne r3, [lr, #0]
7326 streq r0, [lr, #0]
7327 ldr r1, [r5, #0]
7328 add r6, r6, #2
7329 ands r3, r1, #255
7330 orrne r3, r8, r3
7331 strne r3, [lr, #28]
7332 mov r3, r1, lsr #8
7333 streq r0, [lr, #28]
7334 ands r3, r3, #255
7335 orrne r3, r8, r3
7336 strne r3, [lr, #24]
7337 mov r3, r1, lsr #16
7338 streq r0, [lr, #24]
7339 ands r3, r3, #255
7340 orrne r3, r8, r3
7341 strne r3, [lr, #20]
7342 streq r0, [lr, #20]
7343 movs r3, r1, lsr #24
7344 orrne r3, r8, r3
7345 strne r3, [lr, #16]
7346 streq r0, [lr, #16]
7347 cmp r4, sl
7348 add lr, lr, #32
7349 beq .L3370
7350.L2973:
7351 ldrh r1, [r6, #0]
7352 mov r3, r1, asl #22
7353 mov r3, r3, lsr #22
7354 tst r1, #2048
7355 add r5, r2, r3, asl #6
7356 ldrne r3, [sp, #4]
7357 addne r5, r5, r3
7358 tst r1, #1024
7359 bne .L3371
7360 ldr r1, [r5, #0]
7361 add sl, sl, #1
7362 ands r3, r1, #255
7363 orrne r3, r8, r3
7364 strne r3, [lr, #0]
7365 mov r3, r1, lsr #8
7366 streq r0, [lr, #0]
7367 ands r3, r3, #255
7368 orrne r3, r8, r3
7369 strne r3, [lr, #4]
7370 mov r3, r1, lsr #16
7371 streq r0, [lr, #4]
7372 ands r3, r3, #255
7373 orrne r3, r8, r3
7374 strne r3, [lr, #8]
7375 streq r0, [lr, #8]
7376 movs r3, r1, lsr #24
7377 orrne r3, r8, r3
7378 strne r3, [lr, #12]
7379 streq r0, [lr, #12]
7380 ldr r1, [r5, #4]
7381 add r6, r6, #2
7382 ands r3, r1, #255
7383 orrne r3, r8, r3
7384 strne r3, [lr, #16]
7385 mov r3, r1, lsr #8
7386 streq r0, [lr, #16]
7387 ands r3, r3, #255
7388 orrne r3, r8, r3
7389 strne r3, [lr, #20]
7390 mov r3, r1, lsr #16
7391 streq r0, [lr, #20]
7392 ands r3, r3, #255
7393 orrne r3, r8, r3
7394 strne r3, [lr, #24]
7395 streq r0, [lr, #24]
7396 movs r3, r1, lsr #24
7397 orrne r3, r8, r3
7398 strne r3, [lr, #28]
7399 streq r0, [lr, #28]
7400 cmp r4, sl
7401 add lr, lr, #32
7402 bne .L2973
7403.L3370:
7404 ldr r1, [sp, #0]
7405 add r7, r7, r4, asl #5
7406 add r3, r1, r4, asl #1
7407.L2972:
7408 ands lr, r9, #7
7409 beq .L3345
7410 ldrh r4, [r3, #0]
7411 mov r3, r4, asl #22
7412 mov r3, r3, lsr #22
7413 tst r4, #2048
7414 add r2, r2, r3, asl #6
7415 ldrne r3, [sp, #4]
7416 addne r2, r2, r3
7417 tst r4, #1024
7418 beq .L3029
7419 cmp lr, #3
7420 ldrls r2, [r2, #4]
7421 bhi .L3372
7422.L3046:
7423 mov r1, #0
7424.L3047:
7425 movs r3, r2, lsr #24
7426 orr r3, r8, r3
7427 add r1, r1, #1
7428 strne r3, [r7, #0]
7429 streq r0, [r7, #0]
7430 cmp r1, lr
7431 mov r2, r2, asl #8
7432 add r7, r7, #4
7433 bcc .L3047
7434.L3345:
7435 add sp, sp, #16
7436 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
7437.L2610:
7438 mov r2, r9, asl #12
7439 and r3, sl, #7
7440 and r1, lr, #255
7441 mov r3, r3, asl #2
7442 and r2, r2, #49152
7443 ldr r4, [sp, #12]
7444 rsb r9, r1, #256
7445 add r2, r2, r3
7446 ldr r1, .L3398+8
7447 mov r3, r3, asl #1
7448 rsb r3, r3, #28
7449 cmp r4, r9
7450 add ip, r2, r1
7451 str r3, [sp, #8]
7452 and r1, lr, #7
7453 bls .L3373
7454 cmp r1, #0
7455 moveq r6, r1
7456 bne .L3374
7457.L3190:
7458 rsb r3, r6, r9
7459 movs sl, r3, lsr #3
7460 beq .L3210
7461 mov lr, r7
7462 mov r6, #0
7463 b .L3212
7464.L3375:
7465 ldr r2, [r3, #0]
7466 cmp r2, #0
7467 beq .L3243
7468 ands r3, r2, #15
7469 orrne r3, r8, r3
7470 orrne r3, r5, r3
7471 strne r3, [lr, #28]
7472 mov r3, r2, lsr #4
7473 streq r0, [lr, #28]
7474 ands r3, r3, #15
7475 orrne r3, r8, r3
7476 orrne r3, r5, r3
7477 strne r3, [lr, #24]
7478 mov r3, r2, lsr #8
7479 streq r0, [lr, #24]
7480 ands r3, r3, #15
7481 orrne r3, r8, r3
7482 orrne r3, r5, r3
7483 strne r3, [lr, #20]
7484 mov r3, r2, lsr #12
7485 streq r0, [lr, #20]
7486 ands r3, r3, #15
7487 orrne r3, r8, r3
7488 orrne r3, r5, r3
7489 strne r3, [lr, #16]
7490 mov r3, r2, lsr #16
7491 streq r0, [lr, #16]
7492 ands r3, r3, #15
7493 orrne r3, r8, r3
7494 orrne r3, r5, r3
7495 strne r3, [lr, #12]
7496 mov r3, r2, lsr #20
7497 streq r0, [lr, #12]
7498 ands r3, r3, #15
7499 orrne r3, r8, r3
7500 orrne r3, r5, r3
7501 strne r3, [lr, #8]
7502 mov r3, r2, lsr #24
7503 streq r0, [lr, #8]
7504 ands r3, r3, #15
7505 orrne r3, r8, r3
7506 orrne r3, r5, r3
7507 strne r3, [lr, #4]
7508 streq r0, [lr, #4]
7509 movs r3, r2, lsr #28
7510 orrne r3, r8, r3
7511 orrne r3, r5, r3
7512 strne r3, [lr, #0]
7513 streq r0, [lr, #0]
7514.L3242:
7515 add r6, r6, #1
7516 cmp sl, r6
7517 add lr, lr, #32
7518 beq .L3268
7519.L3376:
7520 add fp, fp, #2
7521.L3212:
7522 ldrh r1, [fp, #0]
7523 tst r1, #2048
7524 mov r2, r1, asl #22
7525 mov r3, r1, lsr #12
7526 ldrne r4, [sp, #8]
7527 mov r2, r2, lsr #22
7528 mov r5, r3, asl #4
7529 add r3, ip, r2, asl #5
7530 addne r3, r3, r4
7531 tst r1, #1024
7532 bne .L3375
7533 ldr r2, [r3, #0]
7534 cmp r2, #0
7535 beq .L3243
7536 ands r3, r2, #15
7537 orrne r3, r8, r3
7538 orrne r3, r5, r3
7539 strne r3, [lr, #0]
7540 mov r3, r2, lsr #4
7541 streq r0, [lr, #0]
7542 ands r3, r3, #15
7543 orrne r3, r8, r3
7544 orrne r3, r5, r3
7545 strne r3, [lr, #4]
7546 mov r3, r2, lsr #8
7547 streq r0, [lr, #4]
7548 ands r3, r3, #15
7549 orrne r3, r8, r3
7550 orrne r3, r5, r3
7551 strne r3, [lr, #8]
7552 mov r3, r2, lsr #12
7553 streq r0, [lr, #8]
7554 ands r3, r3, #15
7555 orrne r3, r8, r3
7556 orrne r3, r5, r3
7557 strne r3, [lr, #12]
7558 mov r3, r2, lsr #16
7559 streq r0, [lr, #12]
7560 ands r3, r3, #15
7561 orrne r3, r8, r3
7562 orrne r3, r5, r3
7563 strne r3, [lr, #16]
7564 mov r3, r2, lsr #20
7565 streq r0, [lr, #16]
7566 ands r3, r3, #15
7567 orrne r3, r8, r3
7568 orrne r3, r5, r3
7569 strne r3, [lr, #20]
7570 mov r3, r2, lsr #24
7571 streq r0, [lr, #20]
7572 ands r3, r3, #15
7573 orrne r3, r8, r3
7574 orrne r3, r5, r3
7575 strne r3, [lr, #24]
7576 streq r0, [lr, #24]
7577 movs r3, r2, lsr #28
7578 orrne r3, r8, r3
7579 orrne r3, r5, r3
7580 strne r3, [lr, #28]
7581 bne .L3242
7582 str r0, [lr, #28]
7583.L3386:
7584 add r6, r6, #1
7585 cmp sl, r6
7586 add lr, lr, #32
7587 bne .L3376
7588.L3268:
7589 add r7, r7, sl, asl #5
7590.L3210:
7591 ldr r1, [sp, #12]
7592 rsb r9, r9, r1
7593 movs r4, r9, lsr #3
7594 ldreq r2, [sp, #0]
7595 beq .L3272
7596 ldr r6, [sp, #0]
7597 mov lr, r7
7598 mov sl, #0
7599 b .L3273
7600.L3378:
7601 ldr r2, [r3, #0]
7602 cmp r2, #0
7603 beq .L3304
7604 ands r3, r2, #15
7605 orrne r3, r8, r3
7606 orrne r3, r5, r3
7607 strne r3, [lr, #28]
7608 mov r3, r2, lsr #4
7609 streq r0, [lr, #28]
7610 ands r3, r3, #15
7611 orrne r3, r8, r3
7612 orrne r3, r5, r3
7613 strne r3, [lr, #24]
7614 mov r3, r2, lsr #8
7615 streq r0, [lr, #24]
7616 ands r3, r3, #15
7617 orrne r3, r8, r3
7618 orrne r3, r5, r3
7619 strne r3, [lr, #20]
7620 mov r3, r2, lsr #12
7621 streq r0, [lr, #20]
7622 ands r3, r3, #15
7623 orrne r3, r8, r3
7624 orrne r3, r5, r3
7625 strne r3, [lr, #16]
7626 mov r3, r2, lsr #16
7627 streq r0, [lr, #16]
7628 ands r3, r3, #15
7629 orrne r3, r8, r3
7630 orrne r3, r5, r3
7631 strne r3, [lr, #12]
7632 mov r3, r2, lsr #20
7633 streq r0, [lr, #12]
7634 ands r3, r3, #15
7635 orrne r3, r8, r3
7636 orrne r3, r5, r3
7637 strne r3, [lr, #8]
7638 mov r3, r2, lsr #24
7639 streq r0, [lr, #8]
7640 ands r3, r3, #15
7641 orrne r3, r8, r3
7642 orrne r3, r5, r3
7643 strne r3, [lr, #4]
7644 streq r0, [lr, #4]
7645 movs r3, r2, lsr #28
7646 orrne r3, r8, r3
7647 orrne r3, r5, r3
7648 strne r3, [lr, #0]
7649 streq r0, [lr, #0]
7650.L3303:
7651 add sl, sl, #1
7652 cmp r4, sl
7653 add lr, lr, #32
7654 add r6, r6, #2
7655 beq .L3377
7656.L3273:
7657 ldrh r1, [r6, #0]
7658 mov r2, r1, asl #22
7659 mov r2, r2, lsr #22
7660 tst r1, #2048
7661 mov r3, r1, lsr #12
7662 mov r5, r3, asl #4
7663 add r3, ip, r2, asl #5
7664 ldrne r2, [sp, #8]
7665 addne r3, r3, r2
7666 tst r1, #1024
7667 bne .L3378
7668 ldr r2, [r3, #0]
7669 cmp r2, #0
7670 beq .L3304
7671 ands r3, r2, #15
7672 orrne r3, r8, r3
7673 orrne r3, r5, r3
7674 strne r3, [lr, #0]
7675 mov r3, r2, lsr #4
7676 streq r0, [lr, #0]
7677 ands r3, r3, #15
7678 orrne r3, r8, r3
7679 orrne r3, r5, r3
7680 strne r3, [lr, #4]
7681 mov r3, r2, lsr #8
7682 streq r0, [lr, #4]
7683 ands r3, r3, #15
7684 orrne r3, r8, r3
7685 orrne r3, r5, r3
7686 strne r3, [lr, #8]
7687 mov r3, r2, lsr #12
7688 streq r0, [lr, #8]
7689 ands r3, r3, #15
7690 orrne r3, r8, r3
7691 orrne r3, r5, r3
7692 strne r3, [lr, #12]
7693 mov r3, r2, lsr #16
7694 streq r0, [lr, #12]
7695 ands r3, r3, #15
7696 orrne r3, r8, r3
7697 orrne r3, r5, r3
7698 strne r3, [lr, #16]
7699 mov r3, r2, lsr #20
7700 streq r0, [lr, #16]
7701 ands r3, r3, #15
7702 orrne r3, r8, r3
7703 orrne r3, r5, r3
7704 strne r3, [lr, #20]
7705 mov r3, r2, lsr #24
7706 streq r0, [lr, #20]
7707 ands r3, r3, #15
7708 orrne r3, r8, r3
7709 orrne r3, r5, r3
7710 strne r3, [lr, #24]
7711 streq r0, [lr, #24]
7712 movs r3, r2, lsr #28
7713 orrne r3, r8, r3
7714 orrne r3, r5, r3
7715 strne r3, [lr, #28]
7716 bne .L3303
7717 str r0, [lr, #28]
7718.L3387:
7719 add sl, sl, #1
7720 cmp r4, sl
7721 add lr, lr, #32
7722 add r6, r6, #2
7723 bne .L3273
7724.L3377:
7725 ldr r3, [sp, #0]
7726 add r7, r7, r4, asl #5
7727 add r2, r3, r4, asl #1
7728.L3272:
7729 ands lr, r9, #7
7730 beq .L3345
7731 ldrh r4, [r2, #0]
7732 tst r4, #2048
7733 mov r3, r4, asl #22
7734 ldrne r1, [sp, #8]
7735 mov r3, r3, lsr #22
7736 add r3, ip, r3, asl #5
7737 addne r3, r3, r1
7738 mov r2, r4, lsr #12
7739 tst r4, #1024
7740 mov ip, r2, asl #4
7741 moveq r1, #0
7742 ldreq r2, [r3, #0]
7743 beq .L3340
7744 ldr r2, [r3, #0]
7745 mov r1, #0
7746.L3335:
7747 movs r3, r2, lsr #28
7748 orr r3, r8, r3
7749 orr r3, ip, r3
7750 add r1, r1, #1
7751 strne r3, [r7, #0]
7752 streq r0, [r7, #0]
7753 cmp lr, r1
7754 mov r2, r2, asl #4
7755 add r7, r7, #4
7756 bne .L3335
7757 b .L3345
7758.L3373:
7759 cmp r1, #0
7760 bne .L3379
7761.L3075:
7762 ldr r4, [sp, #12]
7763 movs r9, r4, lsr #3
7764 beq .L3114
7765 mov lr, r7
7766 mov r6, fp
7767 mov sl, #0
7768 b .L3116
7769.L3381:
7770 ldr r2, [r3, #0]
7771 cmp r2, #0
7772 beq .L3147
7773 ands r3, r2, #15
7774 orrne r3, r8, r3
7775 orrne r3, r5, r3
7776 strne r3, [lr, #28]
7777 mov r3, r2, lsr #4
7778 streq r0, [lr, #28]
7779 ands r3, r3, #15
7780 orrne r3, r8, r3
7781 orrne r3, r5, r3
7782 strne r3, [lr, #24]
7783 mov r3, r2, lsr #8
7784 streq r0, [lr, #24]
7785 ands r3, r3, #15
7786 orrne r3, r8, r3
7787 orrne r3, r5, r3
7788 strne r3, [lr, #20]
7789 mov r3, r2, lsr #12
7790 streq r0, [lr, #20]
7791 ands r3, r3, #15
7792 orrne r3, r8, r3
7793 orrne r3, r5, r3
7794 strne r3, [lr, #16]
7795 mov r3, r2, lsr #16
7796 streq r0, [lr, #16]
7797 ands r3, r3, #15
7798 orrne r3, r8, r3
7799 orrne r3, r5, r3
7800 strne r3, [lr, #12]
7801 mov r3, r2, lsr #20
7802 streq r0, [lr, #12]
7803 ands r3, r3, #15
7804 orrne r3, r8, r3
7805 orrne r3, r5, r3
7806 strne r3, [lr, #8]
7807 mov r3, r2, lsr #24
7808 streq r0, [lr, #8]
7809 ands r3, r3, #15
7810 orrne r3, r8, r3
7811 orrne r3, r5, r3
7812 strne r3, [lr, #4]
7813 streq r0, [lr, #4]
7814 movs r3, r2, lsr #28
7815 orrne r3, r8, r3
7816 orrne r3, r5, r3
7817 strne r3, [lr, #0]
7818 streq r0, [lr, #0]
7819.L3146:
7820 add sl, sl, #1
7821 cmp r9, sl
7822 add lr, lr, #32
7823 add r6, r6, #2
7824 beq .L3380
7825.L3116:
7826 ldrh r1, [r6, #0]
7827 mov r2, r1, asl #22
7828 mov r2, r2, lsr #22
7829 tst r1, #2048
7830 mov r3, r1, lsr #12
7831 mov r5, r3, asl #4
7832 add r3, ip, r2, asl #5
7833 ldrne r2, [sp, #8]
7834 addne r3, r3, r2
7835 tst r1, #1024
7836 bne .L3381
7837 ldr r2, [r3, #0]
7838 cmp r2, #0
7839 beq .L3147
7840 ands r3, r2, #15
7841 orrne r3, r8, r3
7842 orrne r3, r5, r3
7843 strne r3, [lr, #0]
7844 mov r3, r2, lsr #4
7845 streq r0, [lr, #0]
7846 ands r3, r3, #15
7847 orrne r3, r8, r3
7848 orrne r3, r5, r3
7849 strne r3, [lr, #4]
7850 mov r3, r2, lsr #8
7851 streq r0, [lr, #4]
7852 ands r3, r3, #15
7853 orrne r3, r8, r3
7854 orrne r3, r5, r3
7855 strne r3, [lr, #8]
7856 mov r3, r2, lsr #12
7857 streq r0, [lr, #8]
7858 ands r3, r3, #15
7859 orrne r3, r8, r3
7860 orrne r3, r5, r3
7861 strne r3, [lr, #12]
7862 mov r3, r2, lsr #16
7863 streq r0, [lr, #12]
7864 ands r3, r3, #15
7865 orrne r3, r8, r3
7866 orrne r3, r5, r3
7867 strne r3, [lr, #16]
7868 mov r3, r2, lsr #20
7869 streq r0, [lr, #16]
7870 ands r3, r3, #15
7871 orrne r3, r8, r3
7872 orrne r3, r5, r3
7873 strne r3, [lr, #20]
7874 mov r3, r2, lsr #24
7875 streq r0, [lr, #20]
7876 ands r3, r3, #15
7877 orrne r3, r8, r3
7878 orrne r3, r5, r3
7879 strne r3, [lr, #24]
7880 streq r0, [lr, #24]
7881 movs r3, r2, lsr #28
7882 orrne r3, r8, r3
7883 orrne r3, r5, r3
7884 strne r3, [lr, #28]
7885 bne .L3146
7886 str r0, [lr, #28]
7887.L3391:
7888 add sl, sl, #1
7889 cmp r9, sl
7890 add lr, lr, #32
7891 add r6, r6, #2
7892 bne .L3116
7893.L3380:
7894 add r7, r7, r9, asl #5
7895 add fp, fp, r9, asl #1
7896.L3114:
7897 ldr r3, [sp, #12]
7898 ands lr, r3, #7
7899 beq .L3345
7900 ldrh r1, [fp, #0]
7901 tst r1, #2048
7902 mov r3, r1, asl #22
7903 ldrne r4, [sp, #8]
7904 mov r3, r3, lsr #22
7905 add r3, ip, r3, asl #5
7906 mov r2, r1, lsr #12
7907 addne r3, r3, r4
7908 tst r1, #1024
7909 mov ip, r2, asl #4
7910 moveq r1, #0
7911 ldreq r2, [r3, #0]
7912 beq .L3183
7913 ldr r2, [r3, #0]
7914 mov r1, #0
7915.L3178:
7916 movs r3, r2, lsr #28
7917 orr r3, r8, r3
7918 orr r3, ip, r3
7919 add r1, r1, #1
7920 strne r3, [r7, #0]
7921 streq r0, [r7, #0]
7922 cmp lr, r1
7923 mov r2, r2, asl #4
7924 add r7, r7, #4
7925 bne .L3178
7926 b .L3345
7927.L3366:
7928 cmp lr, #0
7929 bne .L3382
7930.L2614:
7931 ldr r3, [sp, #12]
7932 movs r9, r3, lsr #3
7933 beq .L2746
7934 mov lr, r7
7935 mov r6, fp
7936 mov sl, #0
7937 b .L2748
7938.L3384:
7939 ldr r1, [r5, #4]
7940 add sl, sl, #1
7941 ands r3, r1, #255
7942 orrne r3, r8, r3
7943 strne r3, [lr, #12]
7944 mov r3, r1, lsr #8
7945 streq r0, [lr, #12]
7946 ands r3, r3, #255
7947 orrne r3, r8, r3
7948 strne r3, [lr, #8]
7949 mov r3, r1, lsr #16
7950 streq r0, [lr, #8]
7951 ands r3, r3, #255
7952 orrne r3, r8, r3
7953 strne r3, [lr, #4]
7954 streq r0, [lr, #4]
7955 movs r3, r1, lsr #24
7956 orrne r3, r8, r3
7957 strne r3, [lr, #0]
7958 streq r0, [lr, #0]
7959 ldr r1, [r5, #0]
7960 add r6, r6, #2
7961 ands r3, r1, #255
7962 orrne r3, r8, r3
7963 strne r3, [lr, #28]
7964 mov r3, r1, lsr #8
7965 streq r0, [lr, #28]
7966 ands r3, r3, #255
7967 orrne r3, r8, r3
7968 strne r3, [lr, #24]
7969 mov r3, r1, lsr #16
7970 streq r0, [lr, #24]
7971 ands r3, r3, #255
7972 orrne r3, r8, r3
7973 strne r3, [lr, #20]
7974 streq r0, [lr, #20]
7975 movs r3, r1, lsr #24
7976 orrne r3, r8, r3
7977 strne r3, [lr, #16]
7978 streq r0, [lr, #16]
7979 cmp r9, sl
7980 add lr, lr, #32
7981 beq .L3383
7982.L2748:
7983 ldrh r1, [r6, #0]
7984 tst r1, #2048
7985 mov r3, r1, asl #22
7986 ldrne r4, [sp, #4]
7987 mov r3, r3, lsr #22
7988 add r5, r2, r3, asl #6
7989 addne r5, r5, r4
7990 tst r1, #1024
7991 bne .L3384
7992 ldr r1, [r5, #0]
7993 add sl, sl, #1
7994 ands r3, r1, #255
7995 orrne r3, r8, r3
7996 strne r3, [lr, #0]
7997 mov r3, r1, lsr #8
7998 streq r0, [lr, #0]
7999 ands r3, r3, #255
8000 orrne r3, r8, r3
8001 strne r3, [lr, #4]
8002 mov r3, r1, lsr #16
8003 streq r0, [lr, #4]
8004 ands r3, r3, #255
8005 orrne r3, r8, r3
8006 strne r3, [lr, #8]
8007 streq r0, [lr, #8]
8008 movs r3, r1, lsr #24
8009 orrne r3, r8, r3
8010 strne r3, [lr, #12]
8011 streq r0, [lr, #12]
8012 ldr r1, [r5, #4]
8013 add r6, r6, #2
8014 ands r3, r1, #255
8015 orrne r3, r8, r3
8016 strne r3, [lr, #16]
8017 mov r3, r1, lsr #8
8018 streq r0, [lr, #16]
8019 ands r3, r3, #255
8020 orrne r3, r8, r3
8021 strne r3, [lr, #20]
8022 mov r3, r1, lsr #16
8023 streq r0, [lr, #20]
8024 ands r3, r3, #255
8025 orrne r3, r8, r3
8026 strne r3, [lr, #24]
8027 streq r0, [lr, #24]
8028 movs r3, r1, lsr #24
8029 orrne r3, r8, r3
8030 strne r3, [lr, #28]
8031 streq r0, [lr, #28]
8032 cmp r9, sl
8033 add lr, lr, #32
8034 bne .L2748
8035.L3383:
8036 add r7, r7, r9, asl #5
8037 add fp, fp, r9, asl #1
8038.L2746:
8039 ldr r1, [sp, #12]
8040 ands lr, r1, #7
8041 beq .L3345
8042 ldrh r1, [fp, #0]
8043 mov r3, r1, asl #22
8044 mov r3, r3, lsr #22
8045 tst r1, #2048
8046 add r2, r2, r3, asl #6
8047 ldrne r3, [sp, #4]
8048 addne r2, r2, r3
8049 tst r1, #1024
8050 beq .L2804
8051 cmp lr, #3
8052 ldrls r2, [r2, #4]
8053 bhi .L3385
8054.L2821:
8055 mov r1, #0
8056.L2822:
8057 movs r3, r2, lsr #24
8058 orr r3, r8, r3
8059 add r1, r1, #1
8060 strne r3, [r7, #0]
8061 streq r0, [r7, #0]
8062 cmp lr, r1
8063 mov r2, r2, asl #8
8064 add r7, r7, #4
8065 bhi .L2822
8066 b .L3345
8067.L3243:
8068 str r0, [lr, #0]
8069 str r0, [lr, #4]
8070 str r0, [lr, #8]
8071 str r0, [lr, #12]
8072 str r0, [lr, #16]
8073 str r0, [lr, #20]
8074 str r0, [lr, #24]
8075 str r0, [lr, #28]
8076 b .L3386
8077.L3304:
8078 str r0, [lr, #0]
8079 str r0, [lr, #4]
8080 str r0, [lr, #8]
8081 str r0, [lr, #12]
8082 str r0, [lr, #16]
8083 str r0, [lr, #20]
8084 str r0, [lr, #24]
8085 str r0, [lr, #28]
8086 b .L3387
8087.L3340:
8088 ands r3, r2, #15
8089 orr r3, r8, r3
8090 orr r3, ip, r3
8091 add r1, r1, #1
8092 strne r3, [r7, #0]
8093 streq r0, [r7, #0]
8094 cmp lr, r1
8095 mov r2, r2, lsr #4
8096 add r7, r7, #4
8097 bne .L3340
8098 b .L3345
8099.L3379:
8100 rsb r5, r1, #8
8101 cmp r4, r5
8102 bcs .L3077
8103 ldrh lr, [fp, #0]
8104 mov r3, lr, asl #22
8105 mov r3, r3, lsr #22
8106 tst lr, #2048
8107 add ip, ip, r3, asl #5
8108 ldrne r3, [sp, #8]
8109 mov r2, lr, lsr #12
8110 addne ip, ip, r3
8111 tst lr, #1024
8112 mov r2, r2, asl #4
8113 bne .L3388
8114 ldr r4, [sp, #12]
8115 ldr ip, [ip, #0]
8116 cmp r4, #0
8117 beq .L3345
8118 mov r3, r1, asl #2
8119 mov r1, ip, lsr r3
8120 mov ip, #0
8121.L3090:
8122 ands r3, r1, #15
8123 orr r3, r8, r3
8124 orr r3, r2, r3
8125 strne r3, [r7, #0]
8126 ldr r3, [sp, #12]
8127 add ip, ip, #1
8128 streq r0, [r7, #0]
8129 cmp r3, ip
8130 mov r1, r1, lsr #4
8131 add r7, r7, #4
8132 bne .L3090
8133 b .L3345
8134.L3374:
8135 ldrh r5, [fp, #0]
8136 rsb r6, r1, #8
8137 mov r2, r5, asl #22
8138 mov r2, r2, lsr #22
8139 tst r5, #2048
8140 mov r3, r5, lsr #12
8141 mov sl, r3, asl #4
8142 add r3, ip, r2, asl #5
8143 ldrne r2, [sp, #8]
8144 addne r3, r3, r2
8145 tst r5, #1024
8146 beq .L3193
8147 cmp r6, #0
8148 ldr r2, [r3, #0]
8149 beq .L3195
8150 mov r3, r1, asl #2
8151 mov r1, r2, asl r3
8152 mov lr, #0
8153 mov r2, r7
8154.L3197:
8155 movs r3, r1, lsr #28
8156 orr r3, r8, r3
8157 orr r3, sl, r3
8158 add lr, lr, #1
8159 strne r3, [r2, #0]
8160 streq r0, [r2, #0]
8161 cmp r6, lr
8162 mov r1, r1, asl #4
8163 add r2, r2, #4
8164 bne .L3197
8165 add r7, r7, r6, asl #2
8166.L3195:
8167 add fp, fp, #2
8168 b .L3190
8169.L3399:
8170 .align 2
8171.L3398:
8172 .word io_registers
8173 .word map_widths
8174 .word vram
8175.L3367:
8176 ldrh r1, [fp, #0]
8177 rsb r6, lr, #8
8178 tst r1, #2048
8179 mov r3, r1, asl #22
8180 ldrne r4, [sp, #4]
8181 mov r3, r3, lsr #22
8182 add sl, r2, r3, asl #6
8183 addne sl, sl, r4
8184 ands r5, r1, #1024
8185 beq .L2853
8186 cmp lr, #3
8187 bhi .L3389
8188 subs ip, r6, #4
8189 ldr r1, [sl, #4]
8190 beq .L2865
8191 mov r3, lr, asl #3
8192 sub r3, r3, #32
8193 mov r1, r1, asl r3
8194 mov lr, r7
8195 mov r5, #0
8196.L2867:
8197 movs r3, r1, lsr #24
8198 orr r3, r8, r3
8199 add r5, r5, #1
8200 strne r3, [lr, #0]
8201 streq r0, [lr, #0]
8202 cmp ip, r5
8203 mov r1, r1, asl #8
8204 add lr, lr, #4
8205 bne .L2867
8206 add r3, r7, r6, asl #2
8207 sub r7, r3, #16
8208.L2865:
8209 ldr r1, [sl, #0]
8210 ands r3, r1, #255
8211 orrne r3, r8, r3
8212 strne r3, [r7, #12]
8213 mov r3, r1, lsr #8
8214 streq r0, [r7, #12]
8215 ands r3, r3, #255
8216 orrne r3, r8, r3
8217 strne r3, [r7, #8]
8218 mov r3, r1, lsr #16
8219 streq r0, [r7, #8]
8220 ands r3, r3, #255
8221 orrne r3, r8, r3
8222 strne r3, [r7, #4]
8223 streq r0, [r7, #4]
8224 movs r3, r1, lsr #24
8225 orrne r3, r8, r3
8226 strne r3, [r7, #0]
8227 streq r0, [r7, #0]
8228.L2913:
8229 add r7, r7, #16
8230 mov r6, ip
8231.L2857:
8232 add fp, fp, #2
8233 b .L2850
8234.L3382:
8235 ldr r3, [sp, #12]
8236 rsb r4, lr, #8
8237 cmp r3, r4
8238 bcs .L2616
8239 ldrh r1, [fp, #0]
8240 tst r1, #2048
8241 mov r3, r1, asl #22
8242 ldrne r4, [sp, #4]
8243 mov r3, r3, lsr #22
8244 add ip, r2, r3, asl #6
8245 addne ip, ip, r4
8246 tst r1, #1024
8247 bne .L3390
8248 cmp lr, #3
8249 bls .L2653
8250 ldr r4, [sp, #12]
8251 ldr r2, [ip, #4]
8252 cmp r4, #0
8253 beq .L3345
8254 mov r3, lr, asl #3
8255 sub r3, r3, #32
8256 mov r1, r2, lsr r3
8257 mov r2, #0
8258.L2656:
8259 ands r3, r1, #255
8260 orr r3, r8, r3
8261 strne r3, [r7, #0]
8262 ldr r3, [sp, #12]
8263 add r2, r2, #1
8264 streq r0, [r7, #0]
8265 cmp r3, r2
8266 mov r1, r1, lsr #8
8267 add r7, r7, #4
8268 bne .L2656
8269 b .L3345
8270.L3147:
8271 str r0, [lr, #0]
8272 str r0, [lr, #4]
8273 str r0, [lr, #8]
8274 str r0, [lr, #12]
8275 str r0, [lr, #16]
8276 str r0, [lr, #20]
8277 str r0, [lr, #24]
8278 str r0, [lr, #28]
8279 b .L3391
8280.L3183:
8281 ands r3, r2, #15
8282 orr r3, r8, r3
8283 orr r3, ip, r3
8284 add r1, r1, #1
8285 strne r3, [r7, #0]
8286 streq r0, [r7, #0]
8287 cmp lr, r1
8288 mov r2, r2, lsr #4
8289 add r7, r7, #4
8290 bne .L3183
8291 b .L3345
8292.L3029:
8293 cmp lr, #3
8294 ldrls r2, [r2, #0]
8295 bhi .L3392
8296.L3067:
8297 mov r1, #0
8298.L3068:
8299 ands r3, r2, #255
8300 orr r3, r8, r3
8301 add r1, r1, #1
8302 strne r3, [r7, #0]
8303 streq r0, [r7, #0]
8304 cmp lr, r1
8305 mov r2, r2, lsr #8
8306 add r7, r7, #4
8307 bhi .L3068
8308 b .L3345
8309.L2804:
8310 cmp lr, #3
8311 ldrls r2, [r2, #0]
8312 bhi .L3393
8313.L2842:
8314 mov r1, #0
8315.L2843:
8316 ands r3, r2, #255
8317 orr r3, r8, r3
8318 add r1, r1, #1
8319 strne r3, [r7, #0]
8320 streq r0, [r7, #0]
8321 cmp lr, r1
8322 mov r2, r2, lsr #8
8323 add r7, r7, #4
8324 bhi .L2843
8325 b .L3345
8326.L3193:
8327 cmp r6, #0
8328 ldr r2, [r3, #0]
8329 beq .L3195
8330 mov r3, r1, asl #2
8331 mov r1, r2, lsr r3
8332 mov lr, #0
8333 mov r2, r7
8334.L3204:
8335 ands r3, r1, #15
8336 orr r3, r8, r3
8337 orr r3, sl, r3
8338 add lr, lr, #1
8339 strne r3, [r2, #0]
8340 streq r0, [r2, #0]
8341 cmp r6, lr
8342 mov r1, r1, lsr #4
8343 add r2, r2, #4
8344 bne .L3204
8345 add r7, r7, r6, asl #2
8346 b .L3195
8347.L3077:
8348 ldrh lr, [fp, #0]
8349 mov r2, lr, asl #22
8350 mov r2, r2, lsr #22
8351 tst lr, #2048
8352 mov r3, lr, lsr #12
8353 mov r4, r3, asl #4
8354 add r3, ip, r2, asl #5
8355 ldrne r2, [sp, #8]
8356 addne r3, r3, r2
8357 tst lr, #1024
8358 bne .L3394
8359 cmp r5, #0
8360 ldr r2, [r3, #0]
8361 beq .L3099
8362 mov r3, r1, asl #2
8363 mov r1, r2, lsr r3
8364 mov lr, #0
8365 mov r2, r7
8366.L3108:
8367 ands r3, r1, #15
8368 orr r3, r8, r3
8369 orr r3, r4, r3
8370 add lr, lr, #1
8371 strne r3, [r2, #0]
8372 streq r0, [r2, #0]
8373 cmp r5, lr
8374 mov r1, r1, lsr #4
8375 add r2, r2, #4
8376 bne .L3108
8377.L3360:
8378 add r7, r7, r5, asl #2
8379.L3099:
8380 ldr r3, [sp, #12]
8381 add fp, fp, #2
8382 rsb r3, r5, r3
8383 str r3, [sp, #12]
8384 b .L3075
8385.L2853:
8386 cmp lr, #3
8387 bhi .L3395
8388 subs ip, r6, #4
8389 ldr r1, [sl, #0]
8390 beq .L2894
8391 mov r3, lr, asl #3
8392 mov r1, r1, lsr r3
8393 mov lr, r7
8394 mov r5, #0
8395.L2896:
8396 ands r3, r1, #255
8397 orr r3, r8, r3
8398 add r5, r5, #1
8399 strne r3, [lr, #0]
8400 streq r0, [lr, #0]
8401 cmp ip, r5
8402 mov r1, r1, lsr #8
8403 add lr, lr, #4
8404 bne .L2896
8405 add r3, r7, r6, asl #2
8406 sub r7, r3, #16
8407.L2894:
8408 ldr r1, [sl, #4]
8409 ands r3, r1, #255
8410 orrne r3, r8, r3
8411 strne r3, [r7, #0]
8412 mov r3, r1, lsr #8
8413 streq r0, [r7, #0]
8414 ands r3, r3, #255
8415 orrne r3, r8, r3
8416 strne r3, [r7, #4]
8417 mov r3, r1, lsr #16
8418 streq r0, [r7, #4]
8419 ands r3, r3, #255
8420 orrne r3, r8, r3
8421 strne r3, [r7, #8]
8422 streq r0, [r7, #8]
8423 movs r3, r1, lsr #24
8424 orrne r3, r8, r3
8425 strne r3, [r7, #12]
8426 streq r0, [r7, #12]
8427 b .L2913
8428.L2616:
8429 ldrh r1, [fp, #0]
8430 mov r3, r1, asl #22
8431 mov r3, r3, lsr #22
8432 tst r1, #2048
8433 add ip, r2, r3, asl #6
8434 ldrne r3, [sp, #4]
8435 addne ip, ip, r3
8436 ands r5, r1, #1024
8437 bne .L3396
8438 cmp lr, #3
8439 bls .L2717
8440 cmp r4, #0
8441 ldr r1, [ip, #4]
8442 beq .L2689
8443 mov r3, lr, asl #3
8444 sub r3, r3, #32
8445 mov r1, r1, lsr r3
8446 mov ip, r5
8447 mov lr, r7
8448.L2720:
8449 ands r3, r1, #255
8450 orr r3, r8, r3
8451 add ip, ip, #1
8452 strne r3, [lr, #0]
8453 streq r0, [lr, #0]
8454 cmp r4, ip
8455 mov r1, r1, lsr #8
8456 add lr, lr, #4
8457 bne .L2720
8458.L3347:
8459 add r7, r7, r4, asl #2
8460.L2689:
8461 ldr r1, [sp, #12]
8462 add fp, fp, #2
8463 rsb r1, r4, r1
8464 str r1, [sp, #12]
8465 b .L2614
8466.L3392:
8467 ldr r1, [r2, #0]
8468 ands r3, r1, #255
8469 orrne r3, r8, r3
8470 strne r3, [r7, #0]
8471 mov r3, r1, lsr #8
8472 streq r0, [r7, #0]
8473 ands r3, r3, #255
8474 orrne r3, r8, r3
8475 strne r3, [r7, #4]
8476 mov r3, r1, lsr #16
8477 streq r0, [r7, #4]
8478 ands r3, r3, #255
8479 orrne r3, r8, r3
8480 strne r3, [r7, #8]
8481 streq r0, [r7, #8]
8482 movs r3, r1, lsr #24
8483 orrne r3, r8, r3
8484 strne r3, [r7, #12]
8485 streq r0, [r7, #12]
8486 subs lr, lr, #4
8487 ldr r2, [r2, #4]
8488 addne r7, r7, #16
8489 bne .L3067
8490 b .L3345
8491.L3372:
8492 ldr r1, [r2, #4]
8493 ands r3, r1, #255
8494 orrne r3, r8, r3
8495 strne r3, [r7, #12]
8496 mov r3, r1, lsr #8
8497 streq r0, [r7, #12]
8498 ands r3, r3, #255
8499 orrne r3, r8, r3
8500 strne r3, [r7, #8]
8501 mov r3, r1, lsr #16
8502 streq r0, [r7, #8]
8503 ands r3, r3, #255
8504 orrne r3, r8, r3
8505 strne r3, [r7, #4]
8506 streq r0, [r7, #4]
8507 movs r3, r1, lsr #24
8508 orrne r3, r8, r3
8509 strne r3, [r7, #0]
8510 streq r0, [r7, #0]
8511 subs lr, lr, #4
8512 ldr r2, [r2, #0]
8513 addne r7, r7, #16
8514 bne .L3046
8515 b .L3345
8516.L3385:
8517 ldr r1, [r2, #4]
8518 ands r3, r1, #255
8519 orrne r3, r8, r3
8520 strne r3, [r7, #12]
8521 mov r3, r1, lsr #8
8522 streq r0, [r7, #12]
8523 ands r3, r3, #255
8524 orrne r3, r8, r3
8525 strne r3, [r7, #8]
8526 mov r3, r1, lsr #16
8527 streq r0, [r7, #8]
8528 ands r3, r3, #255
8529 orrne r3, r8, r3
8530 strne r3, [r7, #4]
8531 streq r0, [r7, #4]
8532 movs r3, r1, lsr #24
8533 orrne r3, r8, r3
8534 strne r3, [r7, #0]
8535 streq r0, [r7, #0]
8536 subs lr, lr, #4
8537 ldr r2, [r2, #0]
8538 addne r7, r7, #16
8539 bne .L2821
8540 b .L3345
8541.L3393:
8542 ldr r1, [r2, #0]
8543 ands r3, r1, #255
8544 orrne r3, r8, r3
8545 strne r3, [r7, #0]
8546 mov r3, r1, lsr #8
8547 streq r0, [r7, #0]
8548 ands r3, r3, #255
8549 orrne r3, r8, r3
8550 strne r3, [r7, #4]
8551 mov r3, r1, lsr #16
8552 streq r0, [r7, #4]
8553 ands r3, r3, #255
8554 orrne r3, r8, r3
8555 strne r3, [r7, #8]
8556 streq r0, [r7, #8]
8557 movs r3, r1, lsr #24
8558 orrne r3, r8, r3
8559 strne r3, [r7, #12]
8560 streq r0, [r7, #12]
8561 subs lr, lr, #4
8562 ldr r2, [r2, #4]
8563 addne r7, r7, #16
8564 bne .L2842
8565 b .L3345
8566.L3389:
8567 cmp r6, #0
8568 ldr r1, [sl, #0]
8569 beq .L2857
8570 mov r3, lr, asl #3
8571 sub r3, r3, #32
8572 mov r1, r1, asl r3
8573 mov lr, r7
8574 mov r5, #0
8575.L2859:
8576 movs r3, r1, lsr #24
8577 orr r3, r8, r3
8578 add r5, r5, #1
8579 strne r3, [lr, #0]
8580 streq r0, [lr, #0]
8581 cmp r6, r5
8582 mov r1, r1, asl #8
8583 add lr, lr, #4
8584 bne .L2859
8585 add r7, r7, r6, asl #2
8586.L3397:
8587 add fp, fp, #2
8588 b .L2850
8589.L3388:
8590 ldr r4, [sp, #12]
8591 ldr ip, [ip, #0]
8592 cmp r4, #0
8593 beq .L3345
8594 mov r3, r1, asl #2
8595 mov r1, ip, asl r3
8596 mov ip, #0
8597.L3084:
8598 movs r3, r1, lsr #28
8599 orr r3, r8, r3
8600 orr r3, r2, r3
8601 strne r3, [r7, #0]
8602 ldr r3, [sp, #12]
8603 add ip, ip, #1
8604 streq r0, [r7, #0]
8605 cmp r3, ip
8606 mov r1, r1, asl #4
8607 add r7, r7, #4
8608 bne .L3084
8609 b .L3345
8610.L3396:
8611 cmp lr, #3
8612 bls .L2687
8613 cmp r4, #0
8614 ldr r1, [ip, #0]
8615 beq .L2689
8616 mov r3, lr, asl #3
8617 sub r3, r3, #32
8618 mov r1, r1, asl r3
8619 mov lr, r7
8620 mov r5, #0
8621.L2691:
8622 movs r3, r1, lsr #24
8623 orr r3, r8, r3
8624 add r5, r5, #1
8625 strne r3, [lr, #0]
8626 streq r0, [lr, #0]
8627 cmp r4, r5
8628 mov r1, r1, asl #8
8629 add lr, lr, #4
8630 bne .L2691
8631 b .L3347
8632.L3394:
8633 cmp r5, #0
8634 ldr r2, [r3, #0]
8635 beq .L3099
8636 mov r3, r1, asl #2
8637 mov r1, r2, asl r3
8638 mov lr, #0
8639 mov r2, r7
8640.L3101:
8641 movs r3, r1, lsr #28
8642 orr r3, r8, r3
8643 orr r3, r4, r3
8644 add lr, lr, #1
8645 strne r3, [r2, #0]
8646 streq r0, [r2, #0]
8647 cmp r5, lr
8648 mov r1, r1, asl #4
8649 add r2, r2, #4
8650 bne .L3101
8651 b .L3360
8652.L3390:
8653 cmp lr, #3
8654 bls .L2622
8655 ldr r1, [sp, #12]
8656 ldr r2, [ip, #0]
8657 cmp r1, #0
8658 beq .L3345
8659 mov r3, lr, asl #3
8660 sub r3, r3, #32
8661 mov r1, r2, asl r3
8662 mov r2, #0
8663.L2626:
8664 movs r3, r1, lsr #24
8665 orr r3, r8, r3
8666 strne r3, [r7, #0]
8667 ldr r3, [sp, #12]
8668 add r2, r2, #1
8669 streq r0, [r7, #0]
8670 cmp r3, r2
8671 mov r1, r1, asl #8
8672 add r7, r7, #4
8673 bne .L2626
8674 b .L3345
8675.L3395:
8676 cmp r6, #0
8677 ldr r1, [sl, #4]
8678 beq .L2857
8679 mov r3, lr, asl #3
8680 sub r3, r3, #32
8681 mov r1, r1, lsr r3
8682 mov lr, r7
8683.L2888:
8684 ands r3, r1, #255
8685 orr r3, r8, r3
8686 add r5, r5, #1
8687 strne r3, [lr, #0]
8688 streq r0, [lr, #0]
8689 cmp r6, r5
8690 mov r1, r1, lsr #8
8691 add lr, lr, #4
8692 bne .L2888
8693 add r7, r7, r6, asl #2
8694 b .L3397
8695.L2622:
8696 ldr r4, [sp, #12]
8697 mov r3, lr, asl #3
8698 ldr r1, [ip, #4]
8699 add r2, r4, lr
8700 sub r3, r3, #32
8701 cmp r2, #4
8702 mov r1, r1, asl r3
8703 bhi .L2631
8704 cmp r4, #0
8705 movne r2, #0
8706 beq .L3345
8707.L2648:
8708 movs r3, r1, lsr #24
8709 orr r3, r8, r3
8710 strne r3, [r7, #0]
8711 ldr r3, [sp, #12]
8712 add r2, r2, #1
8713 streq r0, [r7, #0]
8714 cmp r3, r2
8715 mov r1, r1, asl #8
8716 add r7, r7, #4
8717 bne .L2648
8718 b .L3345
8719.L2687:
8720 subs r6, r4, #4
8721 ldr r1, [ip, #4]
8722 beq .L2697
8723 mov r3, lr, asl #3
8724 sub r3, r3, #32
8725 mov r1, r1, asl r3
8726 mov lr, r7
8727 mov r5, #0
8728.L2699:
8729 movs r3, r1, lsr #24
8730 orr r3, r8, r3
8731 add r5, r5, #1
8732 strne r3, [lr, #0]
8733 streq r0, [lr, #0]
8734 cmp r6, r5
8735 mov r1, r1, asl #8
8736 add lr, lr, #4
8737 bne .L2699
8738 add r3, r7, r4, asl #2
8739 sub r7, r3, #16
8740.L2697:
8741 ldr r1, [ip, #0]
8742 ands r3, r1, #255
8743 orrne r3, r8, r3
8744 strne r3, [r7, #12]
8745 mov r3, r1, lsr #8
8746 streq r0, [r7, #12]
8747 ands r3, r3, #255
8748 orrne r3, r8, r3
8749 strne r3, [r7, #8]
8750 mov r3, r1, lsr #16
8751 streq r0, [r7, #8]
8752 ands r3, r3, #255
8753 orrne r3, r8, r3
8754 strne r3, [r7, #4]
8755 streq r0, [r7, #4]
8756 movs r3, r1, lsr #24
8757 orrne r3, r8, r3
8758 strne r3, [r7, #0]
8759 streq r0, [r7, #0]
8760.L2745:
8761 add r7, r7, #16
8762 b .L2689
8763.L2653:
8764 ldr r4, [sp, #12]
8765 ldr r3, [ip, #0]
8766 add r2, r4, lr
8767 cmp r2, #4
8768 mov r1, lr, asl #3
8769 mov r2, r3, lsr r1
8770 bhi .L2661
8771 cmp r4, #0
8772 movne r1, #0
8773 beq .L3345
8774.L2678:
8775 ands r3, r2, #255
8776 orr r3, r8, r3
8777 strne r3, [r7, #0]
8778 ldr r3, [sp, #12]
8779 add r1, r1, #1
8780 streq r0, [r7, #0]
8781 cmp r3, r1
8782 mov r2, r2, lsr #8
8783 add r7, r7, #4
8784 bne .L2678
8785 b .L3345
8786.L2717:
8787 subs r6, r4, #4
8788 ldr r1, [ip, #0]
8789 beq .L2726
8790 mov r3, lr, asl #3
8791 mov r1, r1, lsr r3
8792 mov lr, r7
8793 mov r5, #0
8794.L2728:
8795 ands r3, r1, #255
8796 orr r3, r8, r3
8797 add r5, r5, #1
8798 strne r3, [lr, #0]
8799 streq r0, [lr, #0]
8800 cmp r6, r5
8801 mov r1, r1, lsr #8
8802 add lr, lr, #4
8803 bne .L2728
8804 add r3, r7, r4, asl #2
8805 sub r7, r3, #16
8806.L2726:
8807 ldr r1, [ip, #4]
8808 ands r3, r1, #255
8809 orrne r3, r8, r3
8810 strne r3, [r7, #0]
8811 mov r3, r1, lsr #8
8812 streq r0, [r7, #0]
8813 ands r3, r3, #255
8814 orrne r3, r8, r3
8815 strne r3, [r7, #4]
8816 mov r3, r1, lsr #16
8817 streq r0, [r7, #4]
8818 ands r3, r3, #255
8819 orrne r3, r8, r3
8820 strne r3, [r7, #8]
8821 streq r0, [r7, #8]
8822 movs r3, r1, lsr #24
8823 orrne r3, r8, r3
8824 strne r3, [r7, #12]
8825 bne .L2745
8826 str r0, [r7, #12]
8827 add r7, r7, #16
8828 b .L2689
8829.L2631:
8830 rsbs r4, lr, #4
8831 beq .L2634
8832 mov r2, r7
8833 mov lr, #0
8834.L2636:
8835 movs r3, r1, lsr #24
8836 orr r3, r8, r3
8837 add lr, lr, #1
8838 strne r3, [r2, #0]
8839 streq r0, [r2, #0]
8840 cmp r4, lr
8841 mov r1, r1, asl #8
8842 add r2, r2, #4
8843 bne .L2636
8844 add r7, r7, r4, asl #2
8845.L2634:
8846 ldr r1, [sp, #12]
8847 ldr r2, [ip, #0]
8848 subs lr, r1, r4
8849 beq .L3345
8850 mov r1, #0
8851.L2643:
8852 movs r3, r2, lsr #24
8853 orr r3, r8, r3
8854 add r1, r1, #1
8855 strne r3, [r7, #0]
8856 streq r0, [r7, #0]
8857 cmp lr, r1
8858 mov r2, r2, asl #8
8859 add r7, r7, #4
8860 bne .L2643
8861 b .L3345
8862.L2661:
8863 rsbs r4, lr, #4
8864 beq .L2664
8865 mov r1, r7
8866 mov lr, #0
8867.L2666:
8868 ands r3, r2, #255
8869 orr r3, r8, r3
8870 add lr, lr, #1
8871 strne r3, [r1, #0]
8872 streq r0, [r1, #0]
8873 cmp r4, lr
8874 mov r2, r2, lsr #8
8875 add r1, r1, #4
8876 bne .L2666
8877 add r7, r7, r4, asl #2
8878.L2664:
8879 ldr r1, [sp, #12]
8880 ldr r2, [ip, #4]
8881 subs lr, r1, r4
8882 beq .L3345
8883 mov r1, #0
8884.L2673:
8885 ands r3, r2, #255
8886 orr r3, r8, r3
8887 add r1, r1, #1
8888 strne r3, [r7, #0]
8889 streq r0, [r7, #0]
8890 cmp lr, r1
8891 mov r2, r2, lsr #8
8892 add r7, r7, #4
8893 bne .L2673
8894 b .L3345
8895 .size render_scanline_text_base_color32, .-render_scanline_text_base_color32
8896 .align 2
8897 .global render_scanline_text_transparent_color32
8898 .type render_scanline_text_transparent_color32, %function
8899render_scanline_text_transparent_color32:
8900 @ args = 0, pretend = 0, frame = 4
8901 @ frame_needed = 0, uses_anonymous_args = 0
8902 ldr ip, .L4043
8903 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
8904 ldrh lr, [ip, #80]
8905 add r6, r0, #7
8906 mov r6, lr, asr r6
8907 mov lr, lr, asr r0
8908 add r7, ip, r0, asl #2
8909 ldrh r5, [ip, #6]
8910 ldrh r4, [r7, #18]
8911 add ip, ip, r0, asl #1
8912 add sl, r5, r4
8913 ldrh r8, [ip, #8]
8914 mov r5, sl, asl #23
8915 mov r5, r5, lsr #23
8916 ldrh r4, [r7, #16]
8917 cmp r5, #255
8918 movls ip, #0
8919 movhi ip, #1
8920 mov r7, r8, lsr #14
8921 rsb fp, r1, r2
8922 ldr r2, .L4043+4
8923 ands ip, ip, r7, lsr #1
8924 ldr r2, [r2, r7, asl #2]
8925 add ip, r3, r1, asl #2
8926 mov r0, r8, asl #3
8927 subne r3, r5, #256
8928 ldr r9, .L4043+8
8929 movne r3, r3, lsr #3
8930 moveq r3, sl, asl #3
8931 add r4, r4, r1
8932 and r0, r0, #63488
8933 add r0, r0, r9
8934 addne r3, r3, r2, lsr #3
8935 andeq r3, r3, #1984
8936 mov r4, r4, asl #23
8937 addne r0, r0, r3, asl #6
8938 addeq r0, r0, r3
8939 mov r4, r4, lsr #23
8940 tst r7, #1
8941 and lr, lr, #1
8942 and r6, r6, #2
8943 andeq r4, r4, #255
8944 sub sp, sp, #4
8945 orr lr, lr, r6
8946 moveq r3, r4, lsr #3
8947 mov lr, lr, asl #9
8948 addeq r7, r0, r3, asl #1
8949 streq r0, [sp, #0]
8950 beq .L3408
8951 cmp r4, #255
8952 subhi r4, r4, #256
8953 movhi r3, r4, lsr #3
8954 movls r3, r4, lsr #3
8955 addhi r3, r0, r3, asl #1
8956 addls r7, r0, r3, asl #1
8957 addls r0, r0, #2048
8958 addhi r7, r3, #2048
8959 strhi r0, [sp, #0]
8960 strls r0, [sp, #0]
8961.L3408:
8962 tst r8, #128
8963 beq .L3409
8964 and r1, r4, #255
8965 and r3, r5, #7
8966 mov r2, r8, asl #12
8967 mov r3, r3, asl #3
8968 and r2, r2, #49152
8969 rsb r0, r1, #256
8970 add r2, r2, r3
8971 cmp fp, r0
8972 mov r3, r3, asl #1
8973 add r2, r2, r9
8974 and r4, r4, #7
8975 rsb r9, r3, #56
8976 bls .L4018
8977 cmp r4, #0
8978 moveq r6, r4
8979 bne .L4019
8980.L3611:
8981 rsb r3, r6, r0
8982 movs sl, r3, lsr #3
8983 beq .L3665
8984 mov r6, ip
8985 mov r8, #0
8986 b .L3667
8987.L4020:
8988 ldr r1, [r4, #4]
8989 cmp r1, #0
8990 beq .L3672
8991 ands r3, r1, #255
8992 orrne r3, lr, r3
8993 strne r3, [r6, #12]
8994 mov r3, r1, lsr #8
8995 ands r3, r3, #255
8996 orrne r3, lr, r3
8997 strne r3, [r6, #8]
8998 mov r3, r1, lsr #16
8999 ands r3, r3, #255
9000 orrne r3, lr, r3
9001 strne r3, [r6, #4]
9002 movs r3, r1, lsr #24
9003 orrne r3, lr, r3
9004 strne r3, [r6, #0]
9005.L3672:
9006 ldr r1, [r4, #0]
9007 cmp r1, #0
9008 beq .L3681
9009 ands r3, r1, #255
9010 orrne r3, lr, r3
9011 strne r3, [r6, #28]
9012 mov r3, r1, lsr #8
9013 ands r3, r3, #255
9014 orrne r3, lr, r3
9015 strne r3, [r6, #24]
9016 mov r3, r1, lsr #16
9017 ands r3, r3, #255
9018 orrne r3, lr, r3
9019 strne r3, [r6, #20]
9020 movs r3, r1, lsr #24
9021 orrne r3, lr, r3
9022 strne r3, [r6, #16]
9023.L3681:
9024 add r8, r8, #1
9025 cmp sl, r8
9026 add r6, r6, #32
9027 beq .L3707
9028.L4021:
9029 add r7, r7, #2
9030.L3667:
9031 ldrh r1, [r7, #0]
9032 mov r3, r1, asl #22
9033 mov r3, r3, lsr #22
9034 tst r1, #2048
9035 add r4, r2, r3, asl #6
9036 addne r4, r4, r9
9037 tst r1, #1024
9038 bne .L4020
9039 ldr r1, [r4, #0]
9040 cmp r1, #0
9041 beq .L3690
9042 ands r3, r1, #255
9043 orrne r3, lr, r3
9044 strne r3, [r6, #0]
9045 mov r3, r1, lsr #8
9046 ands r3, r3, #255
9047 orrne r3, lr, r3
9048 strne r3, [r6, #4]
9049 mov r3, r1, lsr #16
9050 ands r3, r3, #255
9051 orrne r3, lr, r3
9052 strne r3, [r6, #8]
9053 movs r3, r1, lsr #24
9054 orrne r3, lr, r3
9055 strne r3, [r6, #12]
9056.L3690:
9057 ldr r1, [r4, #4]
9058 cmp r1, #0
9059 beq .L3681
9060 ands r3, r1, #255
9061 orrne r3, lr, r3
9062 strne r3, [r6, #16]
9063 mov r3, r1, lsr #8
9064 ands r3, r3, #255
9065 orrne r3, lr, r3
9066 strne r3, [r6, #20]
9067 mov r3, r1, lsr #16
9068 ands r3, r3, #255
9069 orrne r3, lr, r3
9070 strne r3, [r6, #24]
9071 movs r3, r1, lsr #24
9072 orrne r3, lr, r3
9073 add r8, r8, #1
9074 strne r3, [r6, #28]
9075 cmp sl, r8
9076 add r6, r6, #32
9077 bne .L4021
9078.L3707:
9079 add ip, ip, sl, asl #5
9080.L3665:
9081 rsb sl, r0, fp
9082 movs r0, sl, lsr #3
9083 ldreq r0, [sp, #0]
9084 beq .L3711
9085 ldr r7, [sp, #0]
9086 mov r6, ip
9087 mov r8, #0
9088 b .L3712
9089.L4023:
9090 ldr r1, [r4, #4]
9091 cmp r1, #0
9092 beq .L3717
9093 ands r3, r1, #255
9094 orrne r3, lr, r3
9095 strne r3, [r6, #12]
9096 mov r3, r1, lsr #8
9097 ands r3, r3, #255
9098 orrne r3, lr, r3
9099 strne r3, [r6, #8]
9100 mov r3, r1, lsr #16
9101 ands r3, r3, #255
9102 orrne r3, lr, r3
9103 strne r3, [r6, #4]
9104 movs r3, r1, lsr #24
9105 orrne r3, lr, r3
9106 strne r3, [r6, #0]
9107.L3717:
9108 ldr r1, [r4, #0]
9109 cmp r1, #0
9110 beq .L3726
9111 ands r3, r1, #255
9112 orrne r3, lr, r3
9113 strne r3, [r6, #28]
9114 mov r3, r1, lsr #8
9115 ands r3, r3, #255
9116 orrne r3, lr, r3
9117 strne r3, [r6, #24]
9118 mov r3, r1, lsr #16
9119 ands r3, r3, #255
9120 orrne r3, lr, r3
9121 strne r3, [r6, #20]
9122 movs r3, r1, lsr #24
9123 orrne r3, lr, r3
9124 strne r3, [r6, #16]
9125.L3726:
9126 add r8, r8, #1
9127 cmp r0, r8
9128 add r6, r6, #32
9129 add r7, r7, #2
9130 beq .L4022
9131.L3712:
9132 ldrh r1, [r7, #0]
9133 mov r3, r1, asl #22
9134 mov r3, r3, lsr #22
9135 tst r1, #2048
9136 add r4, r2, r3, asl #6
9137 addne r4, r4, r9
9138 tst r1, #1024
9139 bne .L4023
9140 ldr r1, [r4, #0]
9141 cmp r1, #0
9142 beq .L3735
9143 ands r3, r1, #255
9144 orrne r3, lr, r3
9145 strne r3, [r6, #0]
9146 mov r3, r1, lsr #8
9147 ands r3, r3, #255
9148 orrne r3, lr, r3
9149 strne r3, [r6, #4]
9150 mov r3, r1, lsr #16
9151 ands r3, r3, #255
9152 orrne r3, lr, r3
9153 strne r3, [r6, #8]
9154 movs r3, r1, lsr #24
9155 orrne r3, lr, r3
9156 strne r3, [r6, #12]
9157.L3735:
9158 ldr r1, [r4, #4]
9159 cmp r1, #0
9160 beq .L3726
9161 ands r3, r1, #255
9162 orrne r3, lr, r3
9163 strne r3, [r6, #16]
9164 mov r3, r1, lsr #8
9165 ands r3, r3, #255
9166 orrne r3, lr, r3
9167 strne r3, [r6, #20]
9168 mov r3, r1, lsr #16
9169 ands r3, r3, #255
9170 orrne r3, lr, r3
9171 strne r3, [r6, #24]
9172 movs r3, r1, lsr #24
9173 orrne r3, lr, r3
9174 add r8, r8, #1
9175 strne r3, [r6, #28]
9176 cmp r0, r8
9177 add r6, r6, #32
9178 add r7, r7, #2
9179 bne .L3712
9180.L4022:
9181 ldr r3, [sp, #0]
9182 add ip, ip, r0, asl #5
9183 add r0, r3, r0, asl #1
9184.L3711:
9185 ands r4, sl, #7
9186 beq .L4000
9187 ldrh r0, [r0, #0]
9188 mov r3, r0, asl #22
9189 mov r3, r3, lsr #22
9190 tst r0, #2048
9191 add r2, r2, r3, asl #6
9192 addne r2, r2, r9
9193 tst r0, #1024
9194 beq .L3756
9195 cmp r4, #3
9196 ldrls r0, [r2, #4]
9197 bls .L3770
9198 ldr r1, [r2, #4]
9199 cmp r1, #0
9200 beq .L3760
9201 ands r3, r1, #255
9202 orrne r3, lr, r3
9203 strne r3, [ip, #12]
9204 mov r3, r1, lsr #8
9205 ands r3, r3, #255
9206 orrne r3, lr, r3
9207 strne r3, [ip, #8]
9208 mov r3, r1, lsr #16
9209 ands r3, r3, #255
9210 orrne r3, lr, r3
9211 strne r3, [ip, #4]
9212 movs r3, r1, lsr #24
9213 orrne r3, lr, r3
9214 strne r3, [ip, #0]
9215.L3760:
9216 subs r4, r4, #4
9217 ldr r0, [r2, #0]
9218 addne ip, ip, #16
9219 beq .L4000
9220.L3770:
9221 mov r1, #0
9222.L3771:
9223 movs r3, r0, lsr #24
9224 orr r3, lr, r3
9225 strne r3, [ip, r1, asl #2]
9226 add r1, r1, #1
9227 cmp r1, r4
9228 mov r0, r0, asl #8
9229 bcc .L3771
9230.L4000:
9231 add sp, sp, #4
9232 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
9233.L3409:
9234 and r3, r5, #7
9235 and r1, r4, #255
9236 mov r2, r8, asl #12
9237 mov r3, r3, asl #2
9238 rsb r5, r1, #256
9239 and r2, r2, #49152
9240 add r2, r2, r3
9241 cmp fp, r5
9242 mov r3, r3, asl #1
9243 add sl, r2, r9
9244 and r1, r4, #7
9245 rsb r9, r3, #28
9246 bls .L4024
9247 cmp r1, #0
9248 moveq r4, r1
9249 bne .L4025
9250.L3885:
9251 rsb r3, r4, r5
9252 movs r0, r3, lsr #3
9253 beq .L3903
9254 mov r4, ip
9255 mov r8, #0
9256 b .L3905
9257.L4026:
9258 ldr r2, [r3, #0]
9259 cmp r2, #0
9260 beq .L3910
9261 ands r3, r2, #15
9262 orrne r3, lr, r3
9263 orrne r3, r6, r3
9264 strne r3, [r4, #28]
9265 mov r3, r2, lsr #4
9266 ands r3, r3, #15
9267 orrne r3, lr, r3
9268 orrne r3, r6, r3
9269 strne r3, [r4, #24]
9270 mov r3, r2, lsr #8
9271 ands r3, r3, #15
9272 orrne r3, lr, r3
9273 orrne r3, r6, r3
9274 strne r3, [r4, #20]
9275 mov r3, r2, lsr #12
9276 ands r3, r3, #15
9277 orrne r3, lr, r3
9278 orrne r3, r6, r3
9279 strne r3, [r4, #16]
9280 mov r3, r2, lsr #16
9281 ands r3, r3, #15
9282 orrne r3, lr, r3
9283 orrne r3, r6, r3
9284 strne r3, [r4, #12]
9285 mov r3, r2, lsr #20
9286 ands r3, r3, #15
9287 orrne r3, lr, r3
9288 orrne r3, r6, r3
9289 strne r3, [r4, #8]
9290 mov r3, r2, lsr #24
9291 ands r3, r3, #15
9292 orrne r3, lr, r3
9293 orrne r3, r6, r3
9294 strne r3, [r4, #4]
9295 movs r3, r2, lsr #28
9296 orrne r3, lr, r3
9297 orrne r3, r6, r3
9298 strne r3, [r4, #0]
9299.L3910:
9300 add r8, r8, #1
9301 cmp r0, r8
9302 add r4, r4, #32
9303 beq .L3943
9304.L4027:
9305 add r7, r7, #2
9306.L3905:
9307 ldrh r1, [r7, #0]
9308 mov r2, r1, asl #22
9309 mov r3, r1, lsr #12
9310 mov r2, r2, lsr #22
9311 tst r1, #2048
9312 mov r6, r3, asl #4
9313 add r3, sl, r2, asl #5
9314 addne r3, r3, r9
9315 tst r1, #1024
9316 bne .L4026
9317 ldr r2, [r3, #0]
9318 cmp r2, #0
9319 beq .L3910
9320 ands r3, r2, #15
9321 orrne r3, lr, r3
9322 orrne r3, r6, r3
9323 strne r3, [r4, #0]
9324 mov r3, r2, lsr #4
9325 ands r3, r3, #15
9326 orrne r3, lr, r3
9327 orrne r3, r6, r3
9328 strne r3, [r4, #4]
9329 mov r3, r2, lsr #8
9330 ands r3, r3, #15
9331 orrne r3, lr, r3
9332 orrne r3, r6, r3
9333 strne r3, [r4, #8]
9334 mov r3, r2, lsr #12
9335 ands r3, r3, #15
9336 orrne r3, lr, r3
9337 orrne r3, r6, r3
9338 strne r3, [r4, #12]
9339 mov r3, r2, lsr #16
9340 ands r3, r3, #15
9341 orrne r3, lr, r3
9342 orrne r3, r6, r3
9343 strne r3, [r4, #16]
9344 mov r3, r2, lsr #20
9345 ands r3, r3, #15
9346 orrne r3, lr, r3
9347 orrne r3, r6, r3
9348 strne r3, [r4, #20]
9349 mov r3, r2, lsr #24
9350 ands r3, r3, #15
9351 orrne r3, lr, r3
9352 orrne r3, r6, r3
9353 strne r3, [r4, #24]
9354 movs r3, r2, lsr #28
9355 orrne r3, lr, r3
9356 orrne r3, r6, r3
9357 add r8, r8, #1
9358 strne r3, [r4, #28]
9359 cmp r0, r8
9360 add r4, r4, #32
9361 bne .L4027
9362.L3943:
9363 add ip, ip, r0, asl #5
9364.L3903:
9365 rsb fp, r5, fp
9366 movs r0, fp, lsr #3
9367 ldreq r0, [sp, #0]
9368 beq .L3947
9369 ldr r7, [sp, #0]
9370 mov r4, ip
9371 mov r8, #0
9372 b .L3948
9373.L4029:
9374 ldr r2, [r3, #0]
9375 cmp r2, #0
9376 beq .L3953
9377 ands r3, r2, #15
9378 orrne r3, lr, r3
9379 orrne r3, r6, r3
9380 strne r3, [r4, #28]
9381 mov r3, r2, lsr #4
9382 ands r3, r3, #15
9383 orrne r3, lr, r3
9384 orrne r3, r6, r3
9385 strne r3, [r4, #24]
9386 mov r3, r2, lsr #8
9387 ands r3, r3, #15
9388 orrne r3, lr, r3
9389 orrne r3, r6, r3
9390 strne r3, [r4, #20]
9391 mov r3, r2, lsr #12
9392 ands r3, r3, #15
9393 orrne r3, lr, r3
9394 orrne r3, r6, r3
9395 strne r3, [r4, #16]
9396 mov r3, r2, lsr #16
9397 ands r3, r3, #15
9398 orrne r3, lr, r3
9399 orrne r3, r6, r3
9400 strne r3, [r4, #12]
9401 mov r3, r2, lsr #20
9402 ands r3, r3, #15
9403 orrne r3, lr, r3
9404 orrne r3, r6, r3
9405 strne r3, [r4, #8]
9406 mov r3, r2, lsr #24
9407 ands r3, r3, #15
9408 orrne r3, lr, r3
9409 orrne r3, r6, r3
9410 strne r3, [r4, #4]
9411 movs r3, r2, lsr #28
9412 orrne r3, lr, r3
9413 orrne r3, r6, r3
9414 strne r3, [r4, #0]
9415.L3953:
9416 add r8, r8, #1
9417 cmp r0, r8
9418 add r4, r4, #32
9419 add r7, r7, #2
9420 beq .L4028
9421.L3948:
9422 ldrh r1, [r7, #0]
9423 mov r2, r1, asl #22
9424 mov r3, r1, lsr #12
9425 mov r2, r2, lsr #22
9426 tst r1, #2048
9427 mov r6, r3, asl #4
9428 add r3, sl, r2, asl #5
9429 addne r3, r3, r9
9430 tst r1, #1024
9431 bne .L4029
9432 ldr r2, [r3, #0]
9433 cmp r2, #0
9434 beq .L3953
9435 ands r3, r2, #15
9436 orrne r3, lr, r3
9437 orrne r3, r6, r3
9438 strne r3, [r4, #0]
9439 mov r3, r2, lsr #4
9440 ands r3, r3, #15
9441 orrne r3, lr, r3
9442 orrne r3, r6, r3
9443 strne r3, [r4, #4]
9444 mov r3, r2, lsr #8
9445 ands r3, r3, #15
9446 orrne r3, lr, r3
9447 orrne r3, r6, r3
9448 strne r3, [r4, #8]
9449 mov r3, r2, lsr #12
9450 ands r3, r3, #15
9451 orrne r3, lr, r3
9452 orrne r3, r6, r3
9453 strne r3, [r4, #12]
9454 mov r3, r2, lsr #16
9455 ands r3, r3, #15
9456 orrne r3, lr, r3
9457 orrne r3, r6, r3
9458 strne r3, [r4, #16]
9459 mov r3, r2, lsr #20
9460 ands r3, r3, #15
9461 orrne r3, lr, r3
9462 orrne r3, r6, r3
9463 strne r3, [r4, #20]
9464 mov r3, r2, lsr #24
9465 ands r3, r3, #15
9466 orrne r3, lr, r3
9467 orrne r3, r6, r3
9468 strne r3, [r4, #24]
9469 movs r3, r2, lsr #28
9470 orrne r3, lr, r3
9471 orrne r3, r6, r3
9472 add r8, r8, #1
9473 strne r3, [r4, #28]
9474 cmp r0, r8
9475 add r4, r4, #32
9476 add r7, r7, #2
9477 bne .L3948
9478.L4028:
9479 ldr r3, [sp, #0]
9480 add ip, ip, r0, asl #5
9481 add r0, r3, r0, asl #1
9482.L3947:
9483 ands r4, fp, #7
9484 beq .L4000
9485 ldrh r0, [r0, #0]
9486 mov r3, r0, asl #22
9487 mov r3, r3, lsr #22
9488 tst r0, #2048
9489 add r3, sl, r3, asl #5
9490 mov r2, r0, lsr #12
9491 addne r3, r3, r9
9492 tst r0, #1024
9493 mov r2, r2, asl #4
9494 ldreq r0, [r3, #0]
9495 moveq r1, #0
9496 beq .L3996
9497 ldr r0, [r3, #0]
9498 mov r1, #0
9499.L3992:
9500 movs r3, r0, lsr #28
9501 orr r3, lr, r3
9502 orr r3, r2, r3
9503 strne r3, [ip, r1, asl #2]
9504 add r1, r1, #1
9505 cmp r4, r1
9506 mov r0, r0, asl #4
9507 bne .L3992
9508 b .L4000
9509.L4024:
9510 cmp r1, #0
9511 bne .L4030
9512.L3794:
9513 movs r0, fp, lsr #3
9514 beq .L3829
9515 mov r4, ip
9516 mov r6, r7
9517 mov r8, #0
9518 b .L3831
9519.L4032:
9520 ldr r2, [r3, #0]
9521 cmp r2, #0
9522 beq .L3836
9523 ands r3, r2, #15
9524 orrne r3, lr, r3
9525 orrne r3, r5, r3
9526 strne r3, [r4, #28]
9527 mov r3, r2, lsr #4
9528 ands r3, r3, #15
9529 orrne r3, lr, r3
9530 orrne r3, r5, r3
9531 strne r3, [r4, #24]
9532 mov r3, r2, lsr #8
9533 ands r3, r3, #15
9534 orrne r3, lr, r3
9535 orrne r3, r5, r3
9536 strne r3, [r4, #20]
9537 mov r3, r2, lsr #12
9538 ands r3, r3, #15
9539 orrne r3, lr, r3
9540 orrne r3, r5, r3
9541 strne r3, [r4, #16]
9542 mov r3, r2, lsr #16
9543 ands r3, r3, #15
9544 orrne r3, lr, r3
9545 orrne r3, r5, r3
9546 strne r3, [r4, #12]
9547 mov r3, r2, lsr #20
9548 ands r3, r3, #15
9549 orrne r3, lr, r3
9550 orrne r3, r5, r3
9551 strne r3, [r4, #8]
9552 mov r3, r2, lsr #24
9553 ands r3, r3, #15
9554 orrne r3, lr, r3
9555 orrne r3, r5, r3
9556 strne r3, [r4, #4]
9557 movs r3, r2, lsr #28
9558 orrne r3, lr, r3
9559 orrne r3, r5, r3
9560 strne r3, [r4, #0]
9561.L3836:
9562 add r8, r8, #1
9563 cmp r0, r8
9564 add r4, r4, #32
9565 add r6, r6, #2
9566 beq .L4031
9567.L3831:
9568 ldrh r1, [r6, #0]
9569 mov r2, r1, asl #22
9570 mov r3, r1, lsr #12
9571 mov r2, r2, lsr #22
9572 tst r1, #2048
9573 mov r5, r3, asl #4
9574 add r3, sl, r2, asl #5
9575 addne r3, r3, r9
9576 tst r1, #1024
9577 bne .L4032
9578 ldr r2, [r3, #0]
9579 cmp r2, #0
9580 beq .L3836
9581 ands r3, r2, #15
9582 orrne r3, lr, r3
9583 orrne r3, r5, r3
9584 strne r3, [r4, #0]
9585 mov r3, r2, lsr #4
9586 ands r3, r3, #15
9587 orrne r3, lr, r3
9588 orrne r3, r5, r3
9589 strne r3, [r4, #4]
9590 mov r3, r2, lsr #8
9591 ands r3, r3, #15
9592 orrne r3, lr, r3
9593 orrne r3, r5, r3
9594 strne r3, [r4, #8]
9595 mov r3, r2, lsr #12
9596 ands r3, r3, #15
9597 orrne r3, lr, r3
9598 orrne r3, r5, r3
9599 strne r3, [r4, #12]
9600 mov r3, r2, lsr #16
9601 ands r3, r3, #15
9602 orrne r3, lr, r3
9603 orrne r3, r5, r3
9604 strne r3, [r4, #16]
9605 mov r3, r2, lsr #20
9606 ands r3, r3, #15
9607 orrne r3, lr, r3
9608 orrne r3, r5, r3
9609 strne r3, [r4, #20]
9610 mov r3, r2, lsr #24
9611 ands r3, r3, #15
9612 orrne r3, lr, r3
9613 orrne r3, r5, r3
9614 strne r3, [r4, #24]
9615 movs r3, r2, lsr #28
9616 orrne r3, lr, r3
9617 orrne r3, r5, r3
9618 add r8, r8, #1
9619 strne r3, [r4, #28]
9620 cmp r0, r8
9621 add r4, r4, #32
9622 add r6, r6, #2
9623 bne .L3831
9624.L4031:
9625 add ip, ip, r0, asl #5
9626 add r7, r7, r0, asl #1
9627.L3829:
9628 ands r4, fp, #7
9629 beq .L4000
9630 ldrh r1, [r7, #0]
9631 mov r3, r1, asl #22
9632 mov r3, r3, lsr #22
9633 tst r1, #2048
9634 add r0, sl, r3, asl #5
9635 mov r2, r1, lsr #12
9636 addne r0, r0, r9
9637 tst r1, #1024
9638 mov r2, r2, asl #4
9639 ldreq r0, [r0, #0]
9640 moveq r1, #0
9641 beq .L3879
9642 ldr r0, [r0, #0]
9643 mov r1, #0
9644.L3875:
9645 movs r3, r0, lsr #28
9646 orr r3, lr, r3
9647 orr r3, r2, r3
9648 strne r3, [ip, r1, asl #2]
9649 add r1, r1, #1
9650 cmp r4, r1
9651 mov r0, r0, asl #4
9652 bne .L3875
9653 b .L4000
9654.L4018:
9655 cmp r4, #0
9656 bne .L4033
9657.L3413:
9658 movs sl, fp, lsr #3
9659 beq .L3527
9660 mov r5, ip
9661 mov r6, r7
9662 mov r8, #0
9663 b .L3529
9664.L4035:
9665 ldr r1, [r4, #4]
9666 cmp r1, #0
9667 beq .L3534
9668 ands r3, r1, #255
9669 orrne r3, lr, r3
9670 strne r3, [r5, #12]
9671 mov r3, r1, lsr #8
9672 ands r3, r3, #255
9673 orrne r3, lr, r3
9674 strne r3, [r5, #8]
9675 mov r3, r1, lsr #16
9676 ands r3, r3, #255
9677 orrne r3, lr, r3
9678 strne r3, [r5, #4]
9679 movs r3, r1, lsr #24
9680 orrne r3, lr, r3
9681 strne r3, [r5, #0]
9682.L3534:
9683 ldr r1, [r4, #0]
9684 cmp r1, #0
9685 beq .L3543
9686 ands r3, r1, #255
9687 orrne r3, lr, r3
9688 strne r3, [r5, #28]
9689 mov r3, r1, lsr #8
9690 ands r3, r3, #255
9691 orrne r3, lr, r3
9692 strne r3, [r5, #24]
9693 mov r3, r1, lsr #16
9694 ands r3, r3, #255
9695 orrne r3, lr, r3
9696 strne r3, [r5, #20]
9697 movs r3, r1, lsr #24
9698 orrne r3, lr, r3
9699 strne r3, [r5, #16]
9700.L3543:
9701 add r8, r8, #1
9702 cmp sl, r8
9703 add r5, r5, #32
9704 add r6, r6, #2
9705 beq .L4034
9706.L3529:
9707 ldrh r1, [r6, #0]
9708 mov r3, r1, asl #22
9709 mov r3, r3, lsr #22
9710 tst r1, #2048
9711 add r4, r2, r3, asl #6
9712 addne r4, r4, r9
9713 tst r1, #1024
9714 bne .L4035
9715 ldr r1, [r4, #0]
9716 cmp r1, #0
9717 beq .L3552
9718 ands r3, r1, #255
9719 orrne r3, lr, r3
9720 strne r3, [r5, #0]
9721 mov r3, r1, lsr #8
9722 ands r3, r3, #255
9723 orrne r3, lr, r3
9724 strne r3, [r5, #4]
9725 mov r3, r1, lsr #16
9726 ands r3, r3, #255
9727 orrne r3, lr, r3
9728 strne r3, [r5, #8]
9729 movs r3, r1, lsr #24
9730 orrne r3, lr, r3
9731 strne r3, [r5, #12]
9732.L3552:
9733 ldr r1, [r4, #4]
9734 cmp r1, #0
9735 beq .L3543
9736 ands r3, r1, #255
9737 orrne r3, lr, r3
9738 strne r3, [r5, #16]
9739 mov r3, r1, lsr #8
9740 ands r3, r3, #255
9741 orrne r3, lr, r3
9742 strne r3, [r5, #20]
9743 mov r3, r1, lsr #16
9744 ands r3, r3, #255
9745 orrne r3, lr, r3
9746 strne r3, [r5, #24]
9747 movs r3, r1, lsr #24
9748 orrne r3, lr, r3
9749 add r8, r8, #1
9750 strne r3, [r5, #28]
9751 cmp sl, r8
9752 add r5, r5, #32
9753 add r6, r6, #2
9754 bne .L3529
9755.L4034:
9756 add ip, ip, sl, asl #5
9757 add r7, r7, sl, asl #1
9758.L3527:
9759 ands r4, fp, #7
9760 beq .L4000
9761 ldrh r1, [r7, #0]
9762 mov r3, r1, asl #22
9763 mov r3, r3, lsr #22
9764 tst r1, #2048
9765 add r0, r2, r3, asl #6
9766 addne r0, r0, r9
9767 tst r1, #1024
9768 beq .L3573
9769 cmp r4, #3
9770 ldrls r0, [r0, #4]
9771 bls .L3587
9772 ldr r1, [r0, #4]
9773 cmp r1, #0
9774 beq .L3577
9775 ands r3, r1, #255
9776 orrne r3, lr, r3
9777 strne r3, [ip, #12]
9778 mov r3, r1, lsr #8
9779 ands r3, r3, #255
9780 orrne r3, lr, r3
9781 strne r3, [ip, #8]
9782 mov r3, r1, lsr #16
9783 ands r3, r3, #255
9784 orrne r3, lr, r3
9785 strne r3, [ip, #4]
9786 movs r3, r1, lsr #24
9787 orrne r3, lr, r3
9788 strne r3, [ip, #0]
9789.L3577:
9790 subs r4, r4, #4
9791 ldr r0, [r0, #0]
9792 addne ip, ip, #16
9793 beq .L4000
9794.L3587:
9795 mov r1, #0
9796.L3588:
9797 movs r3, r0, lsr #24
9798 orr r3, lr, r3
9799 strne r3, [ip, r1, asl #2]
9800 add r1, r1, #1
9801 cmp r4, r1
9802 mov r0, r0, asl #8
9803 bhi .L3588
9804 b .L4000
9805.L3996:
9806 ands r3, r0, #15
9807 orr r3, lr, r3
9808 orr r3, r2, r3
9809 strne r3, [ip, r1, asl #2]
9810 add r1, r1, #1
9811 cmp r4, r1
9812 mov r0, r0, lsr #4
9813 beq .L4000
9814 ands r3, r0, #15
9815 orr r3, lr, r3
9816 orr r3, r2, r3
9817 strne r3, [ip, r1, asl #2]
9818 add r1, r1, #1
9819 cmp r4, r1
9820 mov r0, r0, lsr #4
9821 bne .L3996
9822 b .L4000
9823.L4030:
9824 rsb r5, r1, #8
9825 cmp fp, r5
9826 bcs .L3796
9827 ldrh r4, [r7, #0]
9828 mov r3, r4, asl #22
9829 mov r3, r3, lsr #22
9830 tst r4, #2048
9831 add r0, sl, r3, asl #5
9832 mov r2, r4, lsr #12
9833 addne r0, r0, r9
9834 tst r4, #1024
9835 mov r2, r2, asl #4
9836 bne .L4036
9837 cmp fp, #0
9838 ldr r0, [r0, #0]
9839 beq .L4000
9840 mov r3, r1, asl #2
9841 mov r0, r0, lsr r3
9842 mov r1, #0
9843.L3808:
9844 ands r3, r0, #15
9845 orr r3, lr, r3
9846 orr r3, r2, r3
9847 strne r3, [ip, r1, asl #2]
9848 add r1, r1, #1
9849 cmp fp, r1
9850 mov r0, r0, lsr #4
9851 bne .L3808
9852 b .L4000
9853.L4025:
9854 ldrh r6, [r7, #0]
9855 rsb r4, r1, #8
9856 mov r2, r6, asl #22
9857 mov r3, r6, lsr #12
9858 mov r2, r2, lsr #22
9859 tst r6, #2048
9860 mov r8, r3, asl #4
9861 add r3, sl, r2, asl #5
9862 addne r3, r3, r9
9863 tst r6, #1024
9864 beq .L3888
9865 cmp r4, #0
9866 ldr r2, [r3, #0]
9867 beq .L3890
9868 mov r3, r1, asl #2
9869 mov r1, r2, asl r3
9870 mov r2, #0
9871.L3892:
9872 movs r3, r1, lsr #28
9873 orr r3, lr, r3
9874 orr r3, r8, r3
9875 strne r3, [ip, r2, asl #2]
9876 add r2, r2, #1
9877 cmp r4, r2
9878 mov r1, r1, asl #4
9879 bne .L3892
9880 add ip, ip, r4, asl #2
9881.L3890:
9882 add r7, r7, #2
9883 b .L3885
9884.L4019:
9885 ldrh r1, [r7, #0]
9886 rsb r6, r4, #8
9887 mov r3, r1, asl #22
9888 mov r3, r3, lsr #22
9889 tst r1, #2048
9890 add r8, r2, r3, asl #6
9891 addne r8, r8, r9
9892 ands sl, r1, #1024
9893 beq .L3614
9894 cmp r4, #3
9895 bhi .L4037
9896 subs r5, r6, #4
9897 ldr r1, [r8, #4]
9898 beq .L3625
9899 mov r3, r4, asl #3
9900 sub r3, r3, #32
9901 mov r1, r1, asl r3
9902 mov r4, #0
9903.L3627:
9904 movs r3, r1, lsr #24
9905 orr r3, lr, r3
9906 strne r3, [ip, r4, asl #2]
9907 add r4, r4, #1
9908 cmp r5, r4
9909 mov r1, r1, asl #8
9910 bne .L3627
9911 add r3, ip, r6, asl #2
9912 sub ip, r3, #16
9913.L3625:
9914 ldr r1, [r8, #0]
9915 cmp r1, #0
9916 beq .L3656
9917 ands r3, r1, #255
9918 orrne r3, lr, r3
9919 strne r3, [ip, #12]
9920 mov r3, r1, lsr #8
9921 ands r3, r3, #255
9922 orrne r3, lr, r3
9923 strne r3, [ip, #8]
9924 mov r3, r1, lsr #16
9925 ands r3, r3, #255
9926 orrne r3, lr, r3
9927 strne r3, [ip, #4]
9928 movs r3, r1, lsr #24
9929 orrne r3, lr, r3
9930 strne r3, [ip, #0]
9931.L3656:
9932 add ip, ip, #16
9933 mov r6, r5
9934.L3618:
9935 add r7, r7, #2
9936 b .L3611
9937.L4033:
9938 rsb r0, r4, #8
9939 cmp fp, r0
9940 bcs .L3415
9941 ldrh r1, [r7, #0]
9942 mov r3, r1, asl #22
9943 mov r3, r3, lsr #22
9944 tst r1, #2048
9945 add r0, r2, r3, asl #6
9946 addne r0, r0, r9
9947 tst r1, #1024
9948 bne .L4038
9949 cmp r4, #3
9950 bls .L3448
9951 cmp fp, #0
9952 ldr r0, [r0, #4]
9953 beq .L4000
9954 mov r3, r4, asl #3
9955 sub r3, r3, #32
9956 mov r0, r0, lsr r3
9957 mov r2, #0
9958.L3451:
9959 ands r3, r0, #255
9960 orr r3, lr, r3
9961 strne r3, [ip, r2, asl #2]
9962 add r2, r2, #1
9963 cmp fp, r2
9964 mov r0, r0, lsr #8
9965 bne .L3451
9966 b .L4000
9967.L3879:
9968 ands r3, r0, #15
9969 orr r3, lr, r3
9970 orr r3, r2, r3
9971 strne r3, [ip, r1, asl #2]
9972 add r1, r1, #1
9973 cmp r4, r1
9974 mov r0, r0, lsr #4
9975 beq .L4000
9976 ands r3, r0, #15
9977 orr r3, lr, r3
9978 orr r3, r2, r3
9979 strne r3, [ip, r1, asl #2]
9980 add r1, r1, #1
9981 cmp r4, r1
9982 mov r0, r0, lsr #4
9983 bne .L3879
9984 b .L4000
9985.L4044:
9986 .align 2
9987.L4043:
9988 .word io_registers
9989 .word map_widths
9990 .word vram
9991.L3756:
9992 cmp r4, #3
9993 ldrls r0, [r2, #0]
9994 bls .L3787
9995 ldr r1, [r2, #0]
9996 cmp r1, #0
9997 beq .L3777
9998 ands r3, r1, #255
9999 orrne r3, lr, r3
10000 strne r3, [ip, #0]
10001 mov r3, r1, lsr #8
10002 ands r3, r3, #255
10003 orrne r3, lr, r3
10004 strne r3, [ip, #4]
10005 mov r3, r1, lsr #16
10006 ands r3, r3, #255
10007 orrne r3, lr, r3
10008 strne r3, [ip, #8]
10009 movs r3, r1, lsr #24
10010 orrne r3, lr, r3
10011 strne r3, [ip, #12]
10012.L3777:
10013 subs r4, r4, #4
10014 ldr r0, [r2, #4]
10015 addne ip, ip, #16
10016 beq .L4000
10017.L3787:
10018 mov r1, #0
10019.L3788:
10020 ands r3, r0, #255
10021 orr r3, lr, r3
10022 strne r3, [ip, r1, asl #2]
10023 add r1, r1, #1
10024 cmp r1, r4
10025 mov r0, r0, lsr #8
10026 bcc .L3788
10027 b .L4000
10028.L3573:
10029 cmp r4, #3
10030 ldrls r0, [r0, #0]
10031 bls .L3604
10032 ldr r1, [r0, #0]
10033 cmp r1, #0
10034 beq .L3594
10035 ands r3, r1, #255
10036 orrne r3, lr, r3
10037 strne r3, [ip, #0]
10038 mov r3, r1, lsr #8
10039 ands r3, r3, #255
10040 orrne r3, lr, r3
10041 strne r3, [ip, #4]
10042 mov r3, r1, lsr #16
10043 ands r3, r3, #255
10044 orrne r3, lr, r3
10045 strne r3, [ip, #8]
10046 movs r3, r1, lsr #24
10047 orrne r3, lr, r3
10048 strne r3, [ip, #12]
10049.L3594:
10050 subs r4, r4, #4
10051 ldr r0, [r0, #4]
10052 addne ip, ip, #16
10053 beq .L4000
10054.L3604:
10055 mov r1, #0
10056.L3605:
10057 ands r3, r0, #255
10058 orr r3, lr, r3
10059 strne r3, [ip, r1, asl #2]
10060 add r1, r1, #1
10061 cmp r4, r1
10062 mov r0, r0, lsr #8
10063 bhi .L3605
10064 b .L4000
10065.L3796:
10066 ldrh r4, [r7, #0]
10067 mov r2, r4, asl #22
10068 mov r3, r4, lsr #12
10069 mov r2, r2, lsr #22
10070 tst r4, #2048
10071 mov r0, r3, asl #4
10072 add r3, sl, r2, asl #5
10073 addne r3, r3, r9
10074 tst r4, #1024
10075 bne .L4039
10076 cmp r5, #0
10077 ldr r2, [r3, #0]
10078 beq .L3816
10079 mov r3, r1, asl #2
10080 mov r1, r2, lsr r3
10081 mov r2, #0
10082.L3824:
10083 ands r3, r1, #15
10084 orr r3, lr, r3
10085 orr r3, r0, r3
10086 strne r3, [ip, r2, asl #2]
10087 add r2, r2, #1
10088 cmp r5, r2
10089 mov r1, r1, lsr #4
10090 bne .L3824
10091.L4015:
10092 add ip, ip, r5, asl #2
10093.L3816:
10094 rsb fp, r5, fp
10095 add r7, r7, #2
10096 b .L3794
10097.L3888:
10098 cmp r4, #0
10099 ldr r2, [r3, #0]
10100 beq .L3890
10101 mov r3, r1, asl #2
10102 mov r1, r2, lsr r3
10103 mov r2, #0
10104.L3898:
10105 ands r3, r1, #15
10106 orr r3, lr, r3
10107 orr r3, r8, r3
10108 strne r3, [ip, r2, asl #2]
10109 add r2, r2, #1
10110 cmp r4, r2
10111 mov r1, r1, lsr #4
10112 bne .L3898
10113 add ip, ip, r4, asl #2
10114 b .L3890
10115.L3614:
10116 cmp r4, #3
10117 bhi .L4040
10118 subs r5, r6, #4
10119 ldr r1, [r8, #0]
10120 beq .L3649
10121 mov r3, r4, asl #3
10122 mov r1, r1, lsr r3
10123 mov r4, #0
10124.L3651:
10125 ands r3, r1, #255
10126 orr r3, lr, r3
10127 strne r3, [ip, r4, asl #2]
10128 add r4, r4, #1
10129 cmp r5, r4
10130 mov r1, r1, lsr #8
10131 bne .L3651
10132 add r3, ip, r6, asl #2
10133 sub ip, r3, #16
10134.L3649:
10135 ldr r1, [r8, #4]
10136 cmp r1, #0
10137 beq .L3656
10138 ands r3, r1, #255
10139 orrne r3, lr, r3
10140 strne r3, [ip, #0]
10141 mov r3, r1, lsr #8
10142 ands r3, r3, #255
10143 orrne r3, lr, r3
10144 strne r3, [ip, #4]
10145 mov r3, r1, lsr #16
10146 ands r3, r3, #255
10147 orrne r3, lr, r3
10148 strne r3, [ip, #8]
10149 movs r3, r1, lsr #24
10150 orrne r3, lr, r3
10151 strne r3, [ip, #12]
10152 b .L3656
10153.L3415:
10154 ldrh r1, [r7, #0]
10155 mov r3, r1, asl #22
10156 mov r3, r3, lsr #22
10157 tst r1, #2048
10158 add r5, r2, r3, asl #6
10159 addne r5, r5, r9
10160 ands r6, r1, #1024
10161 bne .L4041
10162 cmp r4, #3
10163 bls .L3503
10164 cmp r0, #0
10165 ldr r1, [r5, #4]
10166 beq .L3480
10167 mov r3, r4, asl #3
10168 sub r3, r3, #32
10169 mov r1, r1, lsr r3
10170 mov r4, r6
10171.L3506:
10172 ands r3, r1, #255
10173 orr r3, lr, r3
10174 strne r3, [ip, r4, asl #2]
10175 add r4, r4, #1
10176 cmp r0, r4
10177 mov r1, r1, lsr #8
10178 bne .L3506
10179.L4002:
10180 add ip, ip, r0, asl #2
10181.L3480:
10182 rsb fp, r0, fp
10183 add r7, r7, #2
10184 b .L3413
10185.L4037:
10186 cmp r6, #0
10187 ldr r1, [r8, #0]
10188 beq .L3618
10189 mov r3, r4, asl #3
10190 sub r3, r3, #32
10191 mov r1, r1, asl r3
10192 mov r4, #0
10193.L3620:
10194 movs r3, r1, lsr #24
10195 orr r3, lr, r3
10196 strne r3, [ip, r4, asl #2]
10197 add r4, r4, #1
10198 cmp r6, r4
10199 mov r1, r1, asl #8
10200 bne .L3620
10201 add ip, ip, r6, asl #2
10202.L4042:
10203 add r7, r7, #2
10204 b .L3611
10205.L4036:
10206 cmp fp, #0
10207 ldr r0, [r0, #0]
10208 beq .L4000
10209 mov r3, r1, asl #2
10210 mov r0, r0, asl r3
10211 mov r1, #0
10212.L3803:
10213 movs r3, r0, lsr #28
10214 orr r3, lr, r3
10215 orr r3, r2, r3
10216 strne r3, [ip, r1, asl #2]
10217 add r1, r1, #1
10218 cmp fp, r1
10219 mov r0, r0, asl #4
10220 bne .L3803
10221 b .L4000
10222.L4041:
10223 cmp r4, #3
10224 bls .L3478
10225 cmp r0, #0
10226 ldr r1, [r5, #0]
10227 beq .L3480
10228 mov r3, r4, asl #3
10229 sub r3, r3, #32
10230 mov r1, r1, asl r3
10231 mov r4, #0
10232.L3482:
10233 movs r3, r1, lsr #24
10234 orr r3, lr, r3
10235 strne r3, [ip, r4, asl #2]
10236 add r4, r4, #1
10237 cmp r0, r4
10238 mov r1, r1, asl #8
10239 bne .L3482
10240 b .L4002
10241.L4039:
10242 cmp r5, #0
10243 ldr r2, [r3, #0]
10244 beq .L3816
10245 mov r3, r1, asl #2
10246 mov r1, r2, asl r3
10247 mov r2, #0
10248.L3818:
10249 movs r3, r1, lsr #28
10250 orr r3, lr, r3
10251 orr r3, r0, r3
10252 strne r3, [ip, r2, asl #2]
10253 add r2, r2, #1
10254 cmp r5, r2
10255 mov r1, r1, asl #4
10256 bne .L3818
10257 b .L4015
10258.L4038:
10259 cmp r4, #3
10260 bls .L3421
10261 cmp fp, #0
10262 ldr r0, [r0, #0]
10263 beq .L4000
10264 mov r3, r4, asl #3
10265 sub r3, r3, #32
10266 mov r0, r0, asl r3
10267 mov r2, #0
10268.L3425:
10269 movs r3, r0, lsr #24
10270 orr r3, lr, r3
10271 strne r3, [ip, r2, asl #2]
10272 add r2, r2, #1
10273 cmp fp, r2
10274 mov r0, r0, asl #8
10275 bne .L3425
10276 b .L4000
10277.L4040:
10278 cmp r6, #0
10279 ldr r1, [r8, #4]
10280 beq .L3618
10281 mov r3, r4, asl #3
10282 sub r3, r3, #32
10283 mov r1, r1, lsr r3
10284 mov r4, sl
10285.L3644:
10286 ands r3, r1, #255
10287 orr r3, lr, r3
10288 strne r3, [ip, r4, asl #2]
10289 add r4, r4, #1
10290 cmp r6, r4
10291 mov r1, r1, lsr #8
10292 bne .L3644
10293 add ip, ip, r6, asl #2
10294 b .L4042
10295.L3421:
10296 mov r3, r4, asl #3
10297 ldr r1, [r0, #4]
10298 add r2, fp, r4
10299 sub r3, r3, #32
10300 cmp r2, #4
10301 mov r1, r1, asl r3
10302 bhi .L3429
10303 cmp fp, #0
10304 movne r2, #0
10305 beq .L4000
10306.L3444:
10307 movs r3, r1, lsr #24
10308 orr r3, lr, r3
10309 strne r3, [ip, r2, asl #2]
10310 add r2, r2, #1
10311 cmp fp, r2
10312 mov r1, r1, asl #8
10313 bne .L3444
10314 b .L4000
10315.L3478:
10316 subs r6, r0, #4
10317 ldr r1, [r5, #4]
10318 beq .L3487
10319 mov r3, r4, asl #3
10320 sub r3, r3, #32
10321 mov r1, r1, asl r3
10322 mov r4, #0
10323.L3489:
10324 movs r3, r1, lsr #24
10325 orr r3, lr, r3
10326 strne r3, [ip, r4, asl #2]
10327 add r4, r4, #1
10328 cmp r6, r4
10329 mov r1, r1, asl #8
10330 bne .L3489
10331 add r3, ip, r0, asl #2
10332 sub ip, r3, #16
10333.L3487:
10334 ldr r1, [r5, #0]
10335 cmp r1, #0
10336 beq .L3518
10337 ands r3, r1, #255
10338 orrne r3, lr, r3
10339 strne r3, [ip, #12]
10340 mov r3, r1, lsr #8
10341 ands r3, r3, #255
10342 orrne r3, lr, r3
10343 strne r3, [ip, #8]
10344 mov r3, r1, lsr #16
10345 ands r3, r3, #255
10346 orrne r3, lr, r3
10347 strne r3, [ip, #4]
10348 movs r3, r1, lsr #24
10349 orrne r3, lr, r3
10350 strne r3, [ip, #0]
10351.L3518:
10352 add ip, ip, #16
10353 b .L3480
10354.L3448:
10355 add r2, fp, r4
10356 ldr r3, [r0, #0]
10357 cmp r2, #4
10358 mov r1, r4, asl #3
10359 mov r2, r3, lsr r1
10360 bhi .L3455
10361 cmp fp, #0
10362 movne r1, #0
10363 beq .L4000
10364.L3470:
10365 ands r3, r2, #255
10366 orr r3, lr, r3
10367 strne r3, [ip, r1, asl #2]
10368 add r1, r1, #1
10369 cmp fp, r1
10370 mov r2, r2, lsr #8
10371 bne .L3470
10372 b .L4000
10373.L3503:
10374 subs r6, r0, #4
10375 ldr r1, [r5, #0]
10376 beq .L3511
10377 mov r3, r4, asl #3
10378 mov r1, r1, lsr r3
10379 mov r4, #0
10380.L3513:
10381 ands r3, r1, #255
10382 orr r3, lr, r3
10383 strne r3, [ip, r4, asl #2]
10384 add r4, r4, #1
10385 cmp r6, r4
10386 mov r1, r1, lsr #8
10387 bne .L3513
10388 add r3, ip, r0, asl #2
10389 sub ip, r3, #16
10390.L3511:
10391 ldr r1, [r5, #4]
10392 cmp r1, #0
10393 beq .L3518
10394 ands r3, r1, #255
10395 orrne r3, lr, r3
10396 strne r3, [ip, #0]
10397 mov r3, r1, lsr #8
10398 ands r3, r3, #255
10399 orrne r3, lr, r3
10400 strne r3, [ip, #4]
10401 mov r3, r1, lsr #16
10402 ands r3, r3, #255
10403 orrne r3, lr, r3
10404 strne r3, [ip, #8]
10405 movs r3, r1, lsr #24
10406 orrne r3, lr, r3
10407 strne r3, [ip, #12]
10408 add ip, ip, #16
10409 b .L3480
10410.L3429:
10411 rsbs r4, r4, #4
10412 beq .L3432
10413 mov r2, #0
10414.L3434:
10415 movs r3, r1, lsr #24
10416 orr r3, lr, r3
10417 strne r3, [ip, r2, asl #2]
10418 add r2, r2, #1
10419 cmp r4, r2
10420 mov r1, r1, asl #8
10421 bne .L3434
10422 add ip, ip, r4, asl #2
10423.L3432:
10424 subs r1, fp, r4
10425 ldr r0, [r0, #0]
10426 beq .L4000
10427 mov r2, #0
10428.L3440:
10429 movs r3, r0, lsr #24
10430 orr r3, lr, r3
10431 strne r3, [ip, r2, asl #2]
10432 add r2, r2, #1
10433 cmp r1, r2
10434 mov r0, r0, asl #8
10435 bne .L3440
10436 b .L4000
10437.L3455:
10438 rsbs r4, r4, #4
10439 beq .L3458
10440 mov r1, #0
10441.L3460:
10442 ands r3, r2, #255
10443 orr r3, lr, r3
10444 strne r3, [ip, r1, asl #2]
10445 add r1, r1, #1
10446 cmp r4, r1
10447 mov r2, r2, lsr #8
10448 bne .L3460
10449 add ip, ip, r4, asl #2
10450.L3458:
10451 subs r1, fp, r4
10452 ldr r0, [r0, #4]
10453 beq .L4000
10454 mov r2, #0
10455.L3466:
10456 ands r3, r0, #255
10457 orr r3, lr, r3
10458 strne r3, [ip, r2, asl #2]
10459 add r2, r2, #1
10460 cmp r1, r2
10461 mov r0, r0, lsr #8
10462 bne .L3466
10463 b .L4000
10464 .size render_scanline_text_transparent_color32, .-render_scanline_text_transparent_color32
10465 .align 2
10466 .global render_scanline_text_base_alpha
10467 .type render_scanline_text_base_alpha, %function
10468render_scanline_text_base_alpha:
10469 @ args = 0, pretend = 0, frame = 16
10470 @ frame_needed = 0, uses_anonymous_args = 0
10471 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
10472 ldr r7, .L4840
10473 add lr, r0, #7
10474 ldrh ip, [r7, #80]
10475 sub sp, sp, #16
10476 mov lr, ip, asr lr
10477 mov r4, ip, asr r0
10478 mov r5, ip, lsr #12
10479 and r5, r5, #2
10480 mov ip, ip, asl #26
10481 orr r5, r5, ip, lsr #31
10482 and lr, lr, #2
10483 and r4, r4, #1
10484 orr r4, r4, lr
10485 mov ip, r5, asl #25
10486 orr r8, ip, r4, asl #9
10487 tst r8, #512
10488 mov r6, r0
10489 mov lr, r1
10490 mov r9, r2
10491 mov fp, r3
10492 mov r5, r5, asl #9
10493 beq .L4813
10494 add r0, r7, r0, asl #2
10495 ldrh r1, [r7, #6]
10496 ldrh r3, [r0, #18]
10497 add r2, r7, r6, asl #1
10498 add sl, r1, r3
10499 ldrh r3, [r0, #16]
10500 ldrh r7, [r2, #8]
10501 mov r6, sl, asl #23
10502 mov r6, r6, lsr #23
10503 add r3, r3, lr
10504 mov r4, r7, lsr #14
10505 cmp r6, #255
10506 movls r1, #0
10507 movhi r1, #1
10508 mov ip, r3, asl #23
10509 ldr r3, .L4840+4
10510 ands r1, r1, r4, lsr #1
10511 mov r2, r7, asl #3
10512 ldr r1, [r3, r4, asl #2]
10513 ldr r0, .L4840+8
10514 subne r3, r6, #256
10515 movne r3, r3, lsr #3
10516 moveq r3, sl, asl #3
10517 and r2, r2, #63488
10518 addne r3, r3, r1, lsr #3
10519 andeq r3, r3, #1984
10520 add r2, r2, r0
10521 addne r1, r2, r3, asl #6
10522 addeq r1, r2, r3
10523 mov ip, ip, lsr #23
10524 tst r4, #1
10525 andeq ip, ip, #255
10526 rsb r9, lr, r9
10527 moveq r3, ip, lsr #3
10528 str r9, [sp, #12]
10529 addeq sl, r1, r3, asl #1
10530 add r9, fp, lr, asl #2
10531 streq r1, [sp, #0]
10532 bne .L4814
10533 tst r7, #128
10534 bne .L4815
10535.L4056:
10536 and r1, ip, #255
10537 and r3, r6, #7
10538 mov r2, r7, asl #12
10539 mov r3, r3, asl #2
10540 rsb fp, r1, #256
10541 and r2, r2, #49152
10542 ldr r1, [sp, #12]
10543 add r2, r2, r3
10544 mov r3, r3, asl #1
10545 cmp r1, fp
10546 rsb r3, r3, #28
10547 add r0, r2, r0
10548 str r3, [sp, #8]
10549 and r1, ip, #7
10550 bls .L4816
10551 cmp r1, #0
10552 moveq r4, r1
10553 beq .L4636
10554 ldrh ip, [sl, #0]
10555 rsb r4, r1, #8
10556 mov r2, ip, asl #22
10557 mov r2, r2, lsr #22
10558 tst ip, #2048
10559 mov r3, ip, lsr #12
10560 mov lr, r3, asl #4
10561 add r3, r0, r2, asl #5
10562 ldrne r2, [sp, #8]
10563 addne r3, r3, r2
10564 tst ip, #1024
10565 bne .L4817
10566 cmp r4, #0
10567 ldr r2, [r3, #0]
10568 beq .L4641
10569 mov r3, r1, asl #2
10570 mov r1, r2, lsr r3
10571 mov ip, #0
10572 mov r2, r9
10573.L4650:
10574 ands r3, r1, #15
10575 orr r3, r8, r3
10576 orr r3, lr, r3
10577 add ip, ip, #1
10578 strne r3, [r2, #0]
10579 streq r5, [r2, #0]
10580 cmp r4, ip
10581 mov r1, r1, lsr #4
10582 add r2, r2, #4
10583 bne .L4650
10584 add r9, r9, r4, asl #2
10585.L4641:
10586 add sl, sl, #2
10587.L4636:
10588 rsb r3, r4, fp
10589 movs r1, r3, lsr #3
10590 beq .L4656
10591 mov r4, r9
10592 mov r7, #0
10593 b .L4658
10594.L4818:
10595 ldr r2, [r3, #0]
10596 cmp r2, #0
10597 beq .L4689
10598 ands r3, r2, #15
10599 orrne r3, r8, r3
10600 orrne r3, r6, r3
10601 strne r3, [r4, #28]
10602 mov r3, r2, lsr #4
10603 streq r5, [r4, #28]
10604 ands r3, r3, #15
10605 orrne r3, r8, r3
10606 orrne r3, r6, r3
10607 strne r3, [r4, #24]
10608 mov r3, r2, lsr #8
10609 streq r5, [r4, #24]
10610 ands r3, r3, #15
10611 orrne r3, r8, r3
10612 orrne r3, r6, r3
10613 strne r3, [r4, #20]
10614 mov r3, r2, lsr #12
10615 streq r5, [r4, #20]
10616 ands r3, r3, #15
10617 orrne r3, r8, r3
10618 orrne r3, r6, r3
10619 strne r3, [r4, #16]
10620 mov r3, r2, lsr #16
10621 streq r5, [r4, #16]
10622 ands r3, r3, #15
10623 orrne r3, r8, r3
10624 orrne r3, r6, r3
10625 strne r3, [r4, #12]
10626 mov r3, r2, lsr #20
10627 streq r5, [r4, #12]
10628 ands r3, r3, #15
10629 orrne r3, r8, r3
10630 orrne r3, r6, r3
10631 strne r3, [r4, #8]
10632 mov r3, r2, lsr #24
10633 streq r5, [r4, #8]
10634 ands r3, r3, #15
10635 orrne r3, r8, r3
10636 orrne r3, r6, r3
10637 strne r3, [r4, #4]
10638 streq r5, [r4, #4]
10639 movs r3, r2, lsr #28
10640 orrne r3, r8, r3
10641 orrne r3, r6, r3
10642 strne r3, [r4, #0]
10643 streq r5, [r4, #0]
10644.L4688:
10645 add r7, r7, #1
10646 cmp r1, r7
10647 add r4, r4, #32
10648 beq .L4714
10649.L4819:
10650 add sl, sl, #2
10651.L4658:
10652 ldrh ip, [sl, #0]
10653 mov r2, ip, asl #22
10654 mov r2, r2, lsr #22
10655 tst ip, #2048
10656 mov r3, ip, lsr #12
10657 mov r6, r3, asl #4
10658 add r3, r0, r2, asl #5
10659 ldrne r2, [sp, #8]
10660 addne r3, r3, r2
10661 tst ip, #1024
10662 bne .L4818
10663 ldr r2, [r3, #0]
10664 cmp r2, #0
10665 beq .L4689
10666 ands r3, r2, #15
10667 orrne r3, r8, r3
10668 orrne r3, r6, r3
10669 strne r3, [r4, #0]
10670 mov r3, r2, lsr #4
10671 streq r5, [r4, #0]
10672 ands r3, r3, #15
10673 orrne r3, r8, r3
10674 orrne r3, r6, r3
10675 strne r3, [r4, #4]
10676 mov r3, r2, lsr #8
10677 streq r5, [r4, #4]
10678 ands r3, r3, #15
10679 orrne r3, r8, r3
10680 orrne r3, r6, r3
10681 strne r3, [r4, #8]
10682 mov r3, r2, lsr #12
10683 streq r5, [r4, #8]
10684 ands r3, r3, #15
10685 orrne r3, r8, r3
10686 orrne r3, r6, r3
10687 strne r3, [r4, #12]
10688 mov r3, r2, lsr #16
10689 streq r5, [r4, #12]
10690 ands r3, r3, #15
10691 orrne r3, r8, r3
10692 orrne r3, r6, r3
10693 strne r3, [r4, #16]
10694 mov r3, r2, lsr #20
10695 streq r5, [r4, #16]
10696 ands r3, r3, #15
10697 orrne r3, r8, r3
10698 orrne r3, r6, r3
10699 strne r3, [r4, #20]
10700 mov r3, r2, lsr #24
10701 streq r5, [r4, #20]
10702 ands r3, r3, #15
10703 orrne r3, r8, r3
10704 orrne r3, r6, r3
10705 strne r3, [r4, #24]
10706 streq r5, [r4, #24]
10707 movs r3, r2, lsr #28
10708 orrne r3, r8, r3
10709 orrne r3, r6, r3
10710 strne r3, [r4, #28]
10711 bne .L4688
10712 str r5, [r4, #28]
10713.L4836:
10714 add r7, r7, #1
10715 cmp r1, r7
10716 add r4, r4, #32
10717 bne .L4819
10718.L4714:
10719 add r9, r9, r1, asl #5
10720.L4656:
10721 ldr r3, [sp, #12]
10722 rsb lr, fp, r3
10723 movs r1, lr, lsr #3
10724 ldreq r1, [sp, #0]
10725 beq .L4718
10726 ldr r7, [sp, #0]
10727 mov r4, r9
10728 mov sl, #0
10729 b .L4719
10730.L4821:
10731 ldr r2, [r3, #0]
10732 cmp r2, #0
10733 beq .L4750
10734 ands r3, r2, #15
10735 orrne r3, r8, r3
10736 orrne r3, r6, r3
10737 strne r3, [r4, #28]
10738 mov r3, r2, lsr #4
10739 streq r5, [r4, #28]
10740 ands r3, r3, #15
10741 orrne r3, r8, r3
10742 orrne r3, r6, r3
10743 strne r3, [r4, #24]
10744 mov r3, r2, lsr #8
10745 streq r5, [r4, #24]
10746 ands r3, r3, #15
10747 orrne r3, r8, r3
10748 orrne r3, r6, r3
10749 strne r3, [r4, #20]
10750 mov r3, r2, lsr #12
10751 streq r5, [r4, #20]
10752 ands r3, r3, #15
10753 orrne r3, r8, r3
10754 orrne r3, r6, r3
10755 strne r3, [r4, #16]
10756 mov r3, r2, lsr #16
10757 streq r5, [r4, #16]
10758 ands r3, r3, #15
10759 orrne r3, r8, r3
10760 orrne r3, r6, r3
10761 strne r3, [r4, #12]
10762 mov r3, r2, lsr #20
10763 streq r5, [r4, #12]
10764 ands r3, r3, #15
10765 orrne r3, r8, r3
10766 orrne r3, r6, r3
10767 strne r3, [r4, #8]
10768 mov r3, r2, lsr #24
10769 streq r5, [r4, #8]
10770 ands r3, r3, #15
10771 orrne r3, r8, r3
10772 orrne r3, r6, r3
10773 strne r3, [r4, #4]
10774 streq r5, [r4, #4]
10775 movs r3, r2, lsr #28
10776 orrne r3, r8, r3
10777 orrne r3, r6, r3
10778 strne r3, [r4, #0]
10779 streq r5, [r4, #0]
10780.L4749:
10781 add sl, sl, #1
10782 cmp r1, sl
10783 add r4, r4, #32
10784 add r7, r7, #2
10785 beq .L4820
10786.L4719:
10787 ldrh ip, [r7, #0]
10788 mov r2, ip, asl #22
10789 mov r2, r2, lsr #22
10790 tst ip, #2048
10791 mov r3, ip, lsr #12
10792 mov r6, r3, asl #4
10793 add r3, r0, r2, asl #5
10794 ldrne r2, [sp, #8]
10795 addne r3, r3, r2
10796 tst ip, #1024
10797 bne .L4821
10798 ldr r2, [r3, #0]
10799 cmp r2, #0
10800 beq .L4750
10801 ands r3, r2, #15
10802 orrne r3, r8, r3
10803 orrne r3, r6, r3
10804 strne r3, [r4, #0]
10805 mov r3, r2, lsr #4
10806 streq r5, [r4, #0]
10807 ands r3, r3, #15
10808 orrne r3, r8, r3
10809 orrne r3, r6, r3
10810 strne r3, [r4, #4]
10811 mov r3, r2, lsr #8
10812 streq r5, [r4, #4]
10813 ands r3, r3, #15
10814 orrne r3, r8, r3
10815 orrne r3, r6, r3
10816 strne r3, [r4, #8]
10817 mov r3, r2, lsr #12
10818 streq r5, [r4, #8]
10819 ands r3, r3, #15
10820 orrne r3, r8, r3
10821 orrne r3, r6, r3
10822 strne r3, [r4, #12]
10823 mov r3, r2, lsr #16
10824 streq r5, [r4, #12]
10825 ands r3, r3, #15
10826 orrne r3, r8, r3
10827 orrne r3, r6, r3
10828 strne r3, [r4, #16]
10829 mov r3, r2, lsr #20
10830 streq r5, [r4, #16]
10831 ands r3, r3, #15
10832 orrne r3, r8, r3
10833 orrne r3, r6, r3
10834 strne r3, [r4, #20]
10835 mov r3, r2, lsr #24
10836 streq r5, [r4, #20]
10837 ands r3, r3, #15
10838 orrne r3, r8, r3
10839 orrne r3, r6, r3
10840 strne r3, [r4, #24]
10841 streq r5, [r4, #24]
10842 movs r3, r2, lsr #28
10843 orrne r3, r8, r3
10844 orrne r3, r6, r3
10845 strne r3, [r4, #28]
10846 bne .L4749
10847 str r5, [r4, #28]
10848.L4837:
10849 add sl, sl, #1
10850 cmp r1, sl
10851 add r4, r4, #32
10852 add r7, r7, #2
10853 bne .L4719
10854.L4820:
10855 ldr r3, [sp, #0]
10856 add r9, r9, r1, asl #5
10857 add r1, r3, r1, asl #1
10858.L4718:
10859 ands ip, lr, #7
10860 beq .L4791
10861 ldrh r1, [r1, #0]
10862 mov r3, r1, asl #22
10863 tst r1, #2048
10864 mov r3, r3, lsr #22
10865 add r0, r0, r3, asl #5
10866 ldrne r3, [sp, #8]
10867 mov r2, r1, lsr #12
10868 addne r0, r0, r3
10869 tst r1, #1024
10870 mov r2, r2, asl #4
10871 ldreq r0, [r0, #0]
10872 moveq r1, #0
10873 beq .L4786
10874 ldr r0, [r0, #0]
10875 mov r1, #0
10876.L4781:
10877 movs r3, r0, lsr #28
10878 orr r3, r8, r3
10879 orr r3, r2, r3
10880 add r1, r1, #1
10881 strne r3, [r9, #0]
10882 streq r5, [r9, #0]
10883 cmp ip, r1
10884 mov r0, r0, asl #4
10885 add r9, r9, #4
10886 bne .L4781
10887.L4791:
10888 add sp, sp, #16
10889 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
10890.L4815:
10891 and r1, ip, #255
10892 and r3, r6, #7
10893 mov r2, r7, asl #12
10894 mov r3, r3, asl #3
10895 rsb fp, r1, #256
10896 and r2, r2, #49152
10897 ldr r1, [sp, #12]
10898 add r2, r2, r3
10899 mov r3, r3, asl #1
10900 rsb r3, r3, #56
10901 cmp r1, fp
10902 add r0, r2, r0
10903 str r3, [sp, #4]
10904 and r4, ip, #7
10905 bls .L4822
10906 cmp r4, #0
10907 moveq r2, r4
10908 beq .L4296
10909 ldrh ip, [sl, #0]
10910 rsb r2, r4, #8
10911 tst ip, #2048
10912 mov r3, ip, asl #22
10913 ldrne r1, [sp, #4]
10914 mov r3, r3, lsr #22
10915 add lr, r0, r3, asl #6
10916 addne lr, lr, r1
10917 ands ip, ip, #1024
10918 bne .L4823
10919 cmp r4, #3
10920 bls .L4331
10921 cmp r2, #0
10922 ldr r1, [lr, #4]
10923 beq .L4303
10924 mov r3, r4, asl #3
10925 sub r3, r3, #32
10926 mov r1, r1, lsr r3
10927 mov r4, ip
10928 mov ip, r9
10929.L4334:
10930 ands r3, r1, #255
10931 orr r3, r8, r3
10932 add r4, r4, #1
10933 strne r3, [ip, #0]
10934 streq r5, [ip, #0]
10935 cmp r2, r4
10936 mov r1, r1, lsr #8
10937 add ip, ip, #4
10938 bne .L4334
10939 add r9, r9, r2, asl #2
10940.L4303:
10941 add sl, sl, #2
10942.L4296:
10943 rsb r3, r2, fp
10944 movs r2, r3, lsr #3
10945 beq .L4360
10946 mov r4, r9
10947 mov r7, #0
10948 b .L4362
10949.L4824:
10950 ldr ip, [r6, #4]
10951 add r7, r7, #1
10952 ands r3, ip, #255
10953 orrne r3, r8, r3
10954 strne r3, [r4, #12]
10955 mov r3, ip, lsr #8
10956 streq r5, [r4, #12]
10957 ands r3, r3, #255
10958 orrne r3, r8, r3
10959 strne r3, [r4, #8]
10960 mov r3, ip, lsr #16
10961 streq r5, [r4, #8]
10962 ands r3, r3, #255
10963 orrne r3, r8, r3
10964 strne r3, [r4, #4]
10965 streq r5, [r4, #4]
10966 movs r3, ip, lsr #24
10967 orrne r3, r8, r3
10968 strne r3, [r4, #0]
10969 streq r5, [r4, #0]
10970 ldr ip, [r6, #0]
10971 ands r3, ip, #255
10972 orrne r3, r8, r3
10973 strne r3, [r4, #28]
10974 mov r3, ip, lsr #8
10975 streq r5, [r4, #28]
10976 ands r3, r3, #255
10977 orrne r3, r8, r3
10978 strne r3, [r4, #24]
10979 mov r3, ip, lsr #16
10980 streq r5, [r4, #24]
10981 ands r3, r3, #255
10982 orrne r3, r8, r3
10983 strne r3, [r4, #20]
10984 streq r5, [r4, #20]
10985 movs r3, ip, lsr #24
10986 orrne r3, r8, r3
10987 strne r3, [r4, #16]
10988 streq r5, [r4, #16]
10989 cmp r2, r7
10990 add r4, r4, #32
10991 beq .L4414
10992.L4825:
10993 add sl, sl, #2
10994.L4362:
10995 ldrh ip, [sl, #0]
10996 mov r3, ip, asl #22
10997 mov r3, r3, lsr #22
10998 tst ip, #2048
10999 add r6, r0, r3, asl #6
11000 ldrne r3, [sp, #4]
11001 addne r6, r6, r3
11002 tst ip, #1024
11003 bne .L4824
11004 ldr ip, [r6, #0]
11005 add r7, r7, #1
11006 ands r3, ip, #255
11007 orrne r3, r8, r3
11008 strne r3, [r4, #0]
11009 mov r3, ip, lsr #8
11010 streq r5, [r4, #0]
11011 ands r3, r3, #255
11012 orrne r3, r8, r3
11013 strne r3, [r4, #4]
11014 mov r3, ip, lsr #16
11015 streq r5, [r4, #4]
11016 ands r3, r3, #255
11017 orrne r3, r8, r3
11018 strne r3, [r4, #8]
11019 streq r5, [r4, #8]
11020 movs r3, ip, lsr #24
11021 orrne r3, r8, r3
11022 strne r3, [r4, #12]
11023 streq r5, [r4, #12]
11024 ldr ip, [r6, #4]
11025 ands r3, ip, #255
11026 orrne r3, r8, r3
11027 strne r3, [r4, #16]
11028 mov r3, ip, lsr #8
11029 streq r5, [r4, #16]
11030 ands r3, r3, #255
11031 orrne r3, r8, r3
11032 strne r3, [r4, #20]
11033 mov r3, ip, lsr #16
11034 streq r5, [r4, #20]
11035 ands r3, r3, #255
11036 orrne r3, r8, r3
11037 strne r3, [r4, #24]
11038 streq r5, [r4, #24]
11039 movs r3, ip, lsr #24
11040 orrne r3, r8, r3
11041 strne r3, [r4, #28]
11042 streq r5, [r4, #28]
11043 cmp r2, r7
11044 add r4, r4, #32
11045 bne .L4825
11046.L4414:
11047 add r9, r9, r2, asl #5
11048.L4360:
11049 ldr ip, [sp, #12]
11050 rsb r2, fp, ip
11051 movs r1, r2, lsr #3
11052 ldreq r1, [sp, #0]
11053 beq .L4418
11054 ldr r7, [sp, #0]
11055 mov r4, r9
11056 mov sl, #0
11057 b .L4419
11058.L4827:
11059 ldr ip, [r6, #4]
11060 add sl, sl, #1
11061 ands r3, ip, #255
11062 orrne r3, r8, r3
11063 strne r3, [r4, #12]
11064 mov r3, ip, lsr #8
11065 streq r5, [r4, #12]
11066 ands r3, r3, #255
11067 orrne r3, r8, r3
11068 strne r3, [r4, #8]
11069 mov r3, ip, lsr #16
11070 streq r5, [r4, #8]
11071 ands r3, r3, #255
11072 orrne r3, r8, r3
11073 strne r3, [r4, #4]
11074 streq r5, [r4, #4]
11075 movs r3, ip, lsr #24
11076 orrne r3, r8, r3
11077 strne r3, [r4, #0]
11078 streq r5, [r4, #0]
11079 ldr ip, [r6, #0]
11080 add r7, r7, #2
11081 ands r3, ip, #255
11082 orrne r3, r8, r3
11083 strne r3, [r4, #28]
11084 mov r3, ip, lsr #8
11085 streq r5, [r4, #28]
11086 ands r3, r3, #255
11087 orrne r3, r8, r3
11088 strne r3, [r4, #24]
11089 mov r3, ip, lsr #16
11090 streq r5, [r4, #24]
11091 ands r3, r3, #255
11092 orrne r3, r8, r3
11093 strne r3, [r4, #20]
11094 streq r5, [r4, #20]
11095 movs r3, ip, lsr #24
11096 orrne r3, r8, r3
11097 strne r3, [r4, #16]
11098 streq r5, [r4, #16]
11099 cmp r1, sl
11100 add r4, r4, #32
11101 beq .L4826
11102.L4419:
11103 ldrh ip, [r7, #0]
11104 mov r3, ip, asl #22
11105 mov r3, r3, lsr #22
11106 tst ip, #2048
11107 add r6, r0, r3, asl #6
11108 ldrne r3, [sp, #4]
11109 addne r6, r6, r3
11110 tst ip, #1024
11111 bne .L4827
11112 ldr ip, [r6, #0]
11113 add sl, sl, #1
11114 ands r3, ip, #255
11115 orrne r3, r8, r3
11116 strne r3, [r4, #0]
11117 mov r3, ip, lsr #8
11118 streq r5, [r4, #0]
11119 ands r3, r3, #255
11120 orrne r3, r8, r3
11121 strne r3, [r4, #4]
11122 mov r3, ip, lsr #16
11123 streq r5, [r4, #4]
11124 ands r3, r3, #255
11125 orrne r3, r8, r3
11126 strne r3, [r4, #8]
11127 streq r5, [r4, #8]
11128 movs r3, ip, lsr #24
11129 orrne r3, r8, r3
11130 strne r3, [r4, #12]
11131 streq r5, [r4, #12]
11132 ldr ip, [r6, #4]
11133 add r7, r7, #2
11134 ands r3, ip, #255
11135 orrne r3, r8, r3
11136 strne r3, [r4, #16]
11137 mov r3, ip, lsr #8
11138 streq r5, [r4, #16]
11139 ands r3, r3, #255
11140 orrne r3, r8, r3
11141 strne r3, [r4, #20]
11142 mov r3, ip, lsr #16
11143 streq r5, [r4, #20]
11144 ands r3, r3, #255
11145 orrne r3, r8, r3
11146 strne r3, [r4, #24]
11147 streq r5, [r4, #24]
11148 movs r3, ip, lsr #24
11149 orrne r3, r8, r3
11150 strne r3, [r4, #28]
11151 streq r5, [r4, #28]
11152 cmp r1, sl
11153 add r4, r4, #32
11154 bne .L4419
11155.L4826:
11156 ldr ip, [sp, #0]
11157 add r9, r9, r1, asl #5
11158 add r1, ip, r1, asl #1
11159.L4418:
11160 ands ip, r2, #7
11161 beq .L4791
11162 ldrh r1, [r1, #0]
11163 tst r1, #2048
11164 mov r3, r1, asl #22
11165 ldrne r2, [sp, #4]
11166 mov r3, r3, lsr #22
11167 add r0, r0, r3, asl #6
11168 addne r0, r0, r2
11169 tst r1, #1024
11170 beq .L4475
11171 cmp ip, #3
11172 ldrls r0, [r0, #4]
11173 bhi .L4828
11174.L4492:
11175 mov r1, #0
11176.L4493:
11177 movs r3, r0, lsr #24
11178 orr r3, r8, r3
11179 add r1, r1, #1
11180 strne r3, [r9, #0]
11181 streq r5, [r9, #0]
11182 cmp r1, ip
11183 mov r0, r0, asl #8
11184 add r9, r9, #4
11185 bcc .L4493
11186 b .L4791
11187.L4814:
11188 cmp ip, #255
11189 subhi ip, ip, #256
11190 movhi r3, ip, lsr #3
11191 movls r3, ip, lsr #3
11192 addhi r3, r1, r3, asl #1
11193 addls sl, r1, r3, asl #1
11194 addls r1, r1, #2048
11195 addhi sl, r3, #2048
11196 strhi r1, [sp, #0]
11197 strls r1, [sp, #0]
11198 tst r7, #128
11199 beq .L4056
11200 b .L4815
11201.L4813:
11202 add sp, sp, #16
11203 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
11204 b render_scanline_text_base_color32
11205.L4816:
11206 cmp r1, #0
11207 beq .L4521
11208 ldr r2, [sp, #12]
11209 rsb r4, r1, #8
11210 cmp r2, r4
11211 bcc .L4829
11212 ldrh ip, [sl, #0]
11213 mov r2, ip, asl #22
11214 mov r2, r2, lsr #22
11215 tst ip, #2048
11216 mov r3, ip, lsr #12
11217 mov lr, r3, asl #4
11218 add r3, r0, r2, asl #5
11219 ldrne r2, [sp, #8]
11220 addne r3, r3, r2
11221 tst ip, #1024
11222 beq .L4543
11223 cmp r4, #0
11224 ldr r2, [r3, #0]
11225 beq .L4545
11226 mov r3, r1, asl #2
11227 mov r1, r2, asl r3
11228 mov ip, #0
11229 mov r2, r9
11230.L4547:
11231 movs r3, r1, lsr #28
11232 orr r3, r8, r3
11233 orr r3, lr, r3
11234 add ip, ip, #1
11235 strne r3, [r2, #0]
11236 streq r5, [r2, #0]
11237 cmp r4, ip
11238 mov r1, r1, asl #4
11239 add r2, r2, #4
11240 bne .L4547
11241.L4806:
11242 add r9, r9, r4, asl #2
11243.L4545:
11244 ldr r3, [sp, #12]
11245 add sl, sl, #2
11246 rsb r3, r4, r3
11247 str r3, [sp, #12]
11248.L4521:
11249 ldr ip, [sp, #12]
11250 movs fp, ip, lsr #3
11251 beq .L4560
11252 mov r4, r9
11253 mov r7, sl
11254 mov lr, #0
11255 b .L4562
11256.L4831:
11257 ldr r2, [r3, #0]
11258 cmp r2, #0
11259 beq .L4593
11260 ands r3, r2, #15
11261 orrne r3, r8, r3
11262 orrne r3, r6, r3
11263 strne r3, [r4, #28]
11264 mov r3, r2, lsr #4
11265 streq r5, [r4, #28]
11266 ands r3, r3, #15
11267 orrne r3, r8, r3
11268 orrne r3, r6, r3
11269 strne r3, [r4, #24]
11270 mov r3, r2, lsr #8
11271 streq r5, [r4, #24]
11272 ands r3, r3, #15
11273 orrne r3, r8, r3
11274 orrne r3, r6, r3
11275 strne r3, [r4, #20]
11276 mov r3, r2, lsr #12
11277 streq r5, [r4, #20]
11278 ands r3, r3, #15
11279 orrne r3, r8, r3
11280 orrne r3, r6, r3
11281 strne r3, [r4, #16]
11282 mov r3, r2, lsr #16
11283 streq r5, [r4, #16]
11284 ands r3, r3, #15
11285 orrne r3, r8, r3
11286 orrne r3, r6, r3
11287 strne r3, [r4, #12]
11288 mov r3, r2, lsr #20
11289 streq r5, [r4, #12]
11290 ands r3, r3, #15
11291 orrne r3, r8, r3
11292 orrne r3, r6, r3
11293 strne r3, [r4, #8]
11294 mov r3, r2, lsr #24
11295 streq r5, [r4, #8]
11296 ands r3, r3, #15
11297 orrne r3, r8, r3
11298 orrne r3, r6, r3
11299 strne r3, [r4, #4]
11300 streq r5, [r4, #4]
11301 movs r3, r2, lsr #28
11302 orrne r3, r8, r3
11303 orrne r3, r6, r3
11304 strne r3, [r4, #0]
11305 streq r5, [r4, #0]
11306.L4592:
11307 add lr, lr, #1
11308 cmp fp, lr
11309 add r4, r4, #32
11310 add r7, r7, #2
11311 beq .L4830
11312.L4562:
11313 ldrh ip, [r7, #0]
11314 tst ip, #2048
11315 mov r2, ip, asl #22
11316 mov r3, ip, lsr #12
11317 ldrne r1, [sp, #8]
11318 mov r2, r2, lsr #22
11319 mov r6, r3, asl #4
11320 add r3, r0, r2, asl #5
11321 addne r3, r3, r1
11322 tst ip, #1024
11323 bne .L4831
11324 ldr r2, [r3, #0]
11325 cmp r2, #0
11326 beq .L4593
11327 ands r3, r2, #15
11328 orrne r3, r8, r3
11329 orrne r3, r6, r3
11330 strne r3, [r4, #0]
11331 mov r3, r2, lsr #4
11332 streq r5, [r4, #0]
11333 ands r3, r3, #15
11334 orrne r3, r8, r3
11335 orrne r3, r6, r3
11336 strne r3, [r4, #4]
11337 mov r3, r2, lsr #8
11338 streq r5, [r4, #4]
11339 ands r3, r3, #15
11340 orrne r3, r8, r3
11341 orrne r3, r6, r3
11342 strne r3, [r4, #8]
11343 mov r3, r2, lsr #12
11344 streq r5, [r4, #8]
11345 ands r3, r3, #15
11346 orrne r3, r8, r3
11347 orrne r3, r6, r3
11348 strne r3, [r4, #12]
11349 mov r3, r2, lsr #16
11350 streq r5, [r4, #12]
11351 ands r3, r3, #15
11352 orrne r3, r8, r3
11353 orrne r3, r6, r3
11354 strne r3, [r4, #16]
11355 mov r3, r2, lsr #20
11356 streq r5, [r4, #16]
11357 ands r3, r3, #15
11358 orrne r3, r8, r3
11359 orrne r3, r6, r3
11360 strne r3, [r4, #20]
11361 mov r3, r2, lsr #24
11362 streq r5, [r4, #20]
11363 ands r3, r3, #15
11364 orrne r3, r8, r3
11365 orrne r3, r6, r3
11366 strne r3, [r4, #24]
11367 streq r5, [r4, #24]
11368 movs r3, r2, lsr #28
11369 orrne r3, r8, r3
11370 orrne r3, r6, r3
11371 strne r3, [r4, #28]
11372 bne .L4592
11373 str r5, [r4, #28]
11374.L4838:
11375 add lr, lr, #1
11376 cmp fp, lr
11377 add r4, r4, #32
11378 add r7, r7, #2
11379 bne .L4562
11380.L4830:
11381 add r9, r9, fp, asl #5
11382 add sl, sl, fp, asl #1
11383.L4560:
11384 ldr r2, [sp, #12]
11385 ands r4, r2, #7
11386 beq .L4791
11387 ldrh ip, [sl, #0]
11388 mov r3, ip, asl #22
11389 mov r3, r3, lsr #22
11390 tst ip, #2048
11391 add r0, r0, r3, asl #5
11392 ldrne r3, [sp, #8]
11393 mov r2, ip, lsr #12
11394 addne r0, r0, r3
11395 tst ip, #1024
11396 mov r2, r2, asl #4
11397 ldreq r0, [r0, #0]
11398 moveq r1, #0
11399 beq .L4629
11400 ldr r0, [r0, #0]
11401 mov r1, #0
11402.L4624:
11403 movs r3, r0, lsr #28
11404 orr r3, r8, r3
11405 orr r3, r2, r3
11406 add r1, r1, #1
11407 strne r3, [r9, #0]
11408 streq r5, [r9, #0]
11409 cmp r4, r1
11410 mov r0, r0, asl #4
11411 add r9, r9, #4
11412 bne .L4624
11413 b .L4791
11414.L4822:
11415 cmp r4, #0
11416 beq .L4060
11417 rsb lr, r4, #8
11418 cmp r1, lr
11419 bcc .L4832
11420 ldrh ip, [sl, #0]
11421 tst ip, #2048
11422 mov r3, ip, asl #22
11423 ldrne r1, [sp, #4]
11424 mov r3, r3, lsr #22
11425 add r2, r0, r3, asl #6
11426 addne r2, r2, r1
11427 ands ip, ip, #1024
11428 beq .L4131
11429 cmp r4, #3
11430 bls .L4133
11431 cmp lr, #0
11432 ldr r2, [r2, #0]
11433 beq .L4135
11434 mov r3, r4, asl #3
11435 sub r3, r3, #32
11436 mov r1, r2, asl r3
11437 mov ip, r9
11438 mov r4, #0
11439.L4137:
11440 movs r3, r1, lsr #24
11441 orr r3, r8, r3
11442 add r4, r4, #1
11443 strne r3, [ip, #0]
11444 streq r5, [ip, #0]
11445 cmp lr, r4
11446 mov r1, r1, asl #8
11447 add ip, ip, #4
11448 bne .L4137
11449.L4793:
11450 add r9, r9, lr, asl #2
11451.L4135:
11452 ldr r2, [sp, #12]
11453 add sl, sl, #2
11454 rsb r2, lr, r2
11455 str r2, [sp, #12]
11456.L4060:
11457 ldr r3, [sp, #12]
11458 movs r2, r3, lsr #3
11459 beq .L4192
11460 mov r4, r9
11461 mov r7, sl
11462 mov fp, #0
11463 b .L4194
11464.L4841:
11465 .align 2
11466.L4840:
11467 .word io_registers
11468 .word map_widths
11469 .word vram
11470.L4834:
11471 ldr ip, [r6, #4]
11472 add fp, fp, #1
11473 ands r3, ip, #255
11474 orrne r3, r8, r3
11475 strne r3, [r4, #12]
11476 mov r3, ip, lsr #8
11477 streq r5, [r4, #12]
11478 ands r3, r3, #255
11479 orrne r3, r8, r3
11480 strne r3, [r4, #8]
11481 mov r3, ip, lsr #16
11482 streq r5, [r4, #8]
11483 ands r3, r3, #255
11484 orrne r3, r8, r3
11485 strne r3, [r4, #4]
11486 streq r5, [r4, #4]
11487 movs r3, ip, lsr #24
11488 orrne r3, r8, r3
11489 strne r3, [r4, #0]
11490 streq r5, [r4, #0]
11491 ldr ip, [r6, #0]
11492 add r7, r7, #2
11493 ands r3, ip, #255
11494 orrne r3, r8, r3
11495 strne r3, [r4, #28]
11496 mov r3, ip, lsr #8
11497 streq r5, [r4, #28]
11498 ands r3, r3, #255
11499 orrne r3, r8, r3
11500 strne r3, [r4, #24]
11501 mov r3, ip, lsr #16
11502 streq r5, [r4, #24]
11503 ands r3, r3, #255
11504 orrne r3, r8, r3
11505 strne r3, [r4, #20]
11506 streq r5, [r4, #20]
11507 movs r3, ip, lsr #24
11508 orrne r3, r8, r3
11509 strne r3, [r4, #16]
11510 streq r5, [r4, #16]
11511 cmp r2, fp
11512 add r4, r4, #32
11513 beq .L4833
11514.L4194:
11515 ldrh ip, [r7, #0]
11516 tst ip, #2048
11517 mov r3, ip, asl #22
11518 ldrne r1, [sp, #4]
11519 mov r3, r3, lsr #22
11520 add r6, r0, r3, asl #6
11521 addne r6, r6, r1
11522 tst ip, #1024
11523 bne .L4834
11524 ldr ip, [r6, #0]
11525 add fp, fp, #1
11526 ands r3, ip, #255
11527 orrne r3, r8, r3
11528 strne r3, [r4, #0]
11529 mov r3, ip, lsr #8
11530 streq r5, [r4, #0]
11531 ands r3, r3, #255
11532 orrne r3, r8, r3
11533 strne r3, [r4, #4]
11534 mov r3, ip, lsr #16
11535 streq r5, [r4, #4]
11536 ands r3, r3, #255
11537 orrne r3, r8, r3
11538 strne r3, [r4, #8]
11539 streq r5, [r4, #8]
11540 movs r3, ip, lsr #24
11541 orrne r3, r8, r3
11542 strne r3, [r4, #12]
11543 streq r5, [r4, #12]
11544 ldr ip, [r6, #4]
11545 add r7, r7, #2
11546 ands r3, ip, #255
11547 orrne r3, r8, r3
11548 strne r3, [r4, #16]
11549 mov r3, ip, lsr #8
11550 streq r5, [r4, #16]
11551 ands r3, r3, #255
11552 orrne r3, r8, r3
11553 strne r3, [r4, #20]
11554 mov r3, ip, lsr #16
11555 streq r5, [r4, #20]
11556 ands r3, r3, #255
11557 orrne r3, r8, r3
11558 strne r3, [r4, #24]
11559 streq r5, [r4, #24]
11560 movs r3, ip, lsr #24
11561 orrne r3, r8, r3
11562 strne r3, [r4, #28]
11563 streq r5, [r4, #28]
11564 cmp r2, fp
11565 add r4, r4, #32
11566 bne .L4194
11567.L4833:
11568 add r9, r9, r2, asl #5
11569 add sl, sl, r2, asl #1
11570.L4192:
11571 ldr r2, [sp, #12]
11572 ands r4, r2, #7
11573 beq .L4791
11574 ldrh ip, [sl, #0]
11575 mov r3, ip, asl #22
11576 mov r3, r3, lsr #22
11577 tst ip, #2048
11578 add r0, r0, r3, asl #6
11579 ldrne r3, [sp, #4]
11580 addne r0, r0, r3
11581 tst ip, #1024
11582 bne .L4835
11583 cmp r4, #3
11584 ldrls r0, [r0, #0]
11585 bls .L4288
11586 ldr r1, [r0, #0]
11587 ands r3, r1, #255
11588 orrne r3, r8, r3
11589 strne r3, [r9, #0]
11590 mov r3, r1, lsr #8
11591 streq r5, [r9, #0]
11592 ands r3, r3, #255
11593 orrne r3, r8, r3
11594 strne r3, [r9, #4]
11595 mov r3, r1, lsr #16
11596 streq r5, [r9, #4]
11597 ands r3, r3, #255
11598 orrne r3, r8, r3
11599 strne r3, [r9, #8]
11600 streq r5, [r9, #8]
11601 movs r3, r1, lsr #24
11602 orrne r3, r8, r3
11603 strne r3, [r9, #12]
11604 streq r5, [r9, #12]
11605 subs r4, r4, #4
11606 ldr r0, [r0, #4]
11607 addne r9, r9, #16
11608 beq .L4791
11609.L4288:
11610 mov r1, #0
11611.L4289:
11612 ands r3, r0, #255
11613 orr r3, r8, r3
11614 add r1, r1, #1
11615 strne r3, [r9, #0]
11616 streq r5, [r9, #0]
11617 cmp r4, r1
11618 mov r0, r0, lsr #8
11619 add r9, r9, #4
11620 bhi .L4289
11621 b .L4791
11622.L4689:
11623 str r5, [r4, #0]
11624 str r5, [r4, #4]
11625 str r5, [r4, #8]
11626 str r5, [r4, #12]
11627 str r5, [r4, #16]
11628 str r5, [r4, #20]
11629 str r5, [r4, #24]
11630 str r5, [r4, #28]
11631 b .L4836
11632.L4750:
11633 str r5, [r4, #0]
11634 str r5, [r4, #4]
11635 str r5, [r4, #8]
11636 str r5, [r4, #12]
11637 str r5, [r4, #16]
11638 str r5, [r4, #20]
11639 str r5, [r4, #24]
11640 str r5, [r4, #28]
11641 b .L4837
11642.L4786:
11643 ands r3, r0, #15
11644 orr r3, r8, r3
11645 orr r3, r2, r3
11646 add r1, r1, #1
11647 strne r3, [r9, #0]
11648 streq r5, [r9, #0]
11649 cmp ip, r1
11650 mov r0, r0, lsr #4
11651 add r9, r9, #4
11652 bne .L4786
11653 b .L4791
11654.L4593:
11655 str r5, [r4, #0]
11656 str r5, [r4, #4]
11657 str r5, [r4, #8]
11658 str r5, [r4, #12]
11659 str r5, [r4, #16]
11660 str r5, [r4, #20]
11661 str r5, [r4, #24]
11662 str r5, [r4, #28]
11663 b .L4838
11664.L4629:
11665 ands r3, r0, #15
11666 orr r3, r8, r3
11667 orr r3, r2, r3
11668 add r1, r1, #1
11669 strne r3, [r9, #0]
11670 streq r5, [r9, #0]
11671 cmp r4, r1
11672 mov r0, r0, lsr #4
11673 add r9, r9, #4
11674 bne .L4629
11675 b .L4791
11676.L4475:
11677 cmp ip, #3
11678 ldrls r0, [r0, #0]
11679 bhi .L4839
11680.L4513:
11681 mov r1, #0
11682.L4514:
11683 ands r3, r0, #255
11684 orr r3, r8, r3
11685 add r1, r1, #1
11686 strne r3, [r9, #0]
11687 streq r5, [r9, #0]
11688 cmp ip, r1
11689 mov r0, r0, lsr #8
11690 add r9, r9, #4
11691 bhi .L4514
11692 b .L4791
11693.L4835:
11694 cmp r4, #3
11695 ldrls r0, [r0, #4]
11696 bls .L4267
11697 ldr r1, [r0, #4]
11698 ands r3, r1, #255
11699 orrne r3, r8, r3
11700 strne r3, [r9, #12]
11701 mov r3, r1, lsr #8
11702 streq r5, [r9, #12]
11703 ands r3, r3, #255
11704 orrne r3, r8, r3
11705 strne r3, [r9, #8]
11706 mov r3, r1, lsr #16
11707 streq r5, [r9, #8]
11708 ands r3, r3, #255
11709 orrne r3, r8, r3
11710 strne r3, [r9, #4]
11711 streq r5, [r9, #4]
11712 movs r3, r1, lsr #24
11713 orrne r3, r8, r3
11714 strne r3, [r9, #0]
11715 streq r5, [r9, #0]
11716 subs r4, r4, #4
11717 ldr r0, [r0, #0]
11718 addne r9, r9, #16
11719 beq .L4791
11720.L4267:
11721 mov r1, #0
11722.L4268:
11723 movs r3, r0, lsr #24
11724 orr r3, r8, r3
11725 add r1, r1, #1
11726 strne r3, [r9, #0]
11727 streq r5, [r9, #0]
11728 cmp r4, r1
11729 mov r0, r0, asl #8
11730 add r9, r9, #4
11731 bhi .L4268
11732 b .L4791
11733.L4823:
11734 cmp r4, #3
11735 bls .L4301
11736 cmp r2, #0
11737 ldr r1, [lr, #0]
11738 beq .L4303
11739 mov r3, r4, asl #3
11740 sub r3, r3, #32
11741 mov r1, r1, asl r3
11742 mov ip, r9
11743 mov r4, #0
11744.L4305:
11745 movs r3, r1, lsr #24
11746 orr r3, r8, r3
11747 add r4, r4, #1
11748 strne r3, [ip, #0]
11749 streq r5, [ip, #0]
11750 cmp r2, r4
11751 mov r1, r1, asl #8
11752 add ip, ip, #4
11753 bne .L4305
11754 add r9, r9, r2, asl #2
11755 b .L4303
11756.L4817:
11757 cmp r4, #0
11758 ldr r2, [r3, #0]
11759 beq .L4641
11760 mov r3, r1, asl #2
11761 mov r1, r2, asl r3
11762 mov ip, #0
11763 mov r2, r9
11764.L4643:
11765 movs r3, r1, lsr #28
11766 orr r3, r8, r3
11767 orr r3, lr, r3
11768 add ip, ip, #1
11769 strne r3, [r2, #0]
11770 streq r5, [r2, #0]
11771 cmp r4, ip
11772 mov r1, r1, asl #4
11773 add r2, r2, #4
11774 bne .L4643
11775 add r9, r9, r4, asl #2
11776 b .L4641
11777.L4829:
11778 ldrh ip, [sl, #0]
11779 mov r3, ip, asl #22
11780 mov r3, r3, lsr #22
11781 tst ip, #2048
11782 add r0, r0, r3, asl #5
11783 ldrne r3, [sp, #8]
11784 mov r2, ip, lsr #12
11785 addne r0, r0, r3
11786 tst ip, #1024
11787 mov r2, r2, asl #4
11788 beq .L4527
11789 ldr ip, [sp, #12]
11790 ldr r0, [r0, #0]
11791 cmp ip, #0
11792 beq .L4791
11793 mov r3, r1, asl #2
11794 mov r0, r0, asl r3
11795 mov r1, #0
11796.L4530:
11797 movs r3, r0, lsr #28
11798 orr r3, r8, r3
11799 orr r3, r2, r3
11800 strne r3, [r9, #0]
11801 ldr r3, [sp, #12]
11802 add r1, r1, #1
11803 streq r5, [r9, #0]
11804 cmp r3, r1
11805 mov r0, r0, asl #4
11806 add r9, r9, #4
11807 bne .L4530
11808 b .L4791
11809.L4832:
11810 ldrh ip, [sl, #0]
11811 tst ip, #2048
11812 mov r3, ip, asl #22
11813 ldrne r2, [sp, #4]
11814 mov r3, r3, lsr #22
11815 add r0, r0, r3, asl #6
11816 addne r0, r0, r2
11817 tst ip, #1024
11818 beq .L4066
11819 cmp r4, #3
11820 bls .L4068
11821 ldr r3, [sp, #12]
11822 ldr r0, [r0, #0]
11823 cmp r3, #0
11824 beq .L4791
11825 mov r3, r4, asl #3
11826 sub r3, r3, #32
11827 mov r0, r0, asl r3
11828 mov r2, #0
11829.L4072:
11830 movs r3, r0, lsr #24
11831 ldr ip, [sp, #12]
11832 orr r3, r8, r3
11833 add r2, r2, #1
11834 strne r3, [r9, #0]
11835 streq r5, [r9, #0]
11836 cmp ip, r2
11837 mov r0, r0, asl #8
11838 add r9, r9, #4
11839 bne .L4072
11840 b .L4791
11841.L4839:
11842 ldr r1, [r0, #0]
11843 ands r3, r1, #255
11844 orrne r3, r8, r3
11845 strne r3, [r9, #0]
11846 mov r3, r1, lsr #8
11847 streq r5, [r9, #0]
11848 ands r3, r3, #255
11849 orrne r3, r8, r3
11850 strne r3, [r9, #4]
11851 mov r3, r1, lsr #16
11852 streq r5, [r9, #4]
11853 ands r3, r3, #255
11854 orrne r3, r8, r3
11855 strne r3, [r9, #8]
11856 streq r5, [r9, #8]
11857 movs r3, r1, lsr #24
11858 orrne r3, r8, r3
11859 strne r3, [r9, #12]
11860 streq r5, [r9, #12]
11861 subs ip, ip, #4
11862 ldr r0, [r0, #4]
11863 addne r9, r9, #16
11864 bne .L4513
11865 b .L4791
11866.L4828:
11867 ldr r1, [r0, #4]
11868 ands r3, r1, #255
11869 orrne r3, r8, r3
11870 strne r3, [r9, #12]
11871 mov r3, r1, lsr #8
11872 streq r5, [r9, #12]
11873 ands r3, r3, #255
11874 orrne r3, r8, r3
11875 strne r3, [r9, #8]
11876 mov r3, r1, lsr #16
11877 streq r5, [r9, #8]
11878 ands r3, r3, #255
11879 orrne r3, r8, r3
11880 strne r3, [r9, #4]
11881 streq r5, [r9, #4]
11882 movs r3, r1, lsr #24
11883 orrne r3, r8, r3
11884 strne r3, [r9, #0]
11885 streq r5, [r9, #0]
11886 subs ip, ip, #4
11887 ldr r0, [r0, #0]
11888 addne r9, r9, #16
11889 bne .L4492
11890 b .L4791
11891.L4066:
11892 cmp r4, #3
11893 bls .L4099
11894 ldr ip, [sp, #12]
11895 ldr r0, [r0, #4]
11896 cmp ip, #0
11897 beq .L4791
11898 mov r3, r4, asl #3
11899 sub r3, r3, #32
11900 mov r0, r0, lsr r3
11901 mov r2, #0
11902.L4102:
11903 ands r3, r0, #255
11904 ldr r1, [sp, #12]
11905 orr r3, r8, r3
11906 add r2, r2, #1
11907 strne r3, [r9, #0]
11908 streq r5, [r9, #0]
11909 cmp r1, r2
11910 mov r0, r0, lsr #8
11911 add r9, r9, #4
11912 bne .L4102
11913 b .L4791
11914.L4131:
11915 cmp r4, #3
11916 bls .L4163
11917 cmp lr, #0
11918 ldr r2, [r2, #4]
11919 beq .L4135
11920 mov r3, r4, asl #3
11921 sub r3, r3, #32
11922 mov r1, r2, lsr r3
11923 mov r2, ip
11924 mov ip, r9
11925.L4166:
11926 ands r3, r1, #255
11927 orr r3, r8, r3
11928 add r2, r2, #1
11929 strne r3, [ip, #0]
11930 streq r5, [ip, #0]
11931 cmp lr, r2
11932 mov r1, r1, lsr #8
11933 add ip, ip, #4
11934 bne .L4166
11935 b .L4793
11936.L4301:
11937 subs r6, r2, #4
11938 ldr r1, [lr, #4]
11939 beq .L4311
11940 mov r3, r4, asl #3
11941 sub r3, r3, #32
11942 mov r1, r1, asl r3
11943 mov ip, r9
11944 mov r4, #0
11945.L4313:
11946 movs r3, r1, lsr #24
11947 orr r3, r8, r3
11948 add r4, r4, #1
11949 strne r3, [ip, #0]
11950 streq r5, [ip, #0]
11951 cmp r6, r4
11952 mov r1, r1, asl #8
11953 add ip, ip, #4
11954 bne .L4313
11955 add r3, r9, r2, asl #2
11956 sub r9, r3, #16
11957.L4311:
11958 ldr r2, [lr, #0]
11959 ands r3, r2, #255
11960 orrne r3, r8, r3
11961 strne r3, [r9, #12]
11962 mov r3, r2, lsr #8
11963 streq r5, [r9, #12]
11964 ands r3, r3, #255
11965 orrne r3, r8, r3
11966 strne r3, [r9, #8]
11967 mov r3, r2, lsr #16
11968 streq r5, [r9, #8]
11969 ands r3, r3, #255
11970 orrne r3, r8, r3
11971 strne r3, [r9, #4]
11972 streq r5, [r9, #4]
11973 movs r3, r2, lsr #24
11974 orrne r3, r8, r3
11975 strne r3, [r9, #0]
11976 streq r5, [r9, #0]
11977.L4359:
11978 add r9, r9, #16
11979 mov r2, r6
11980 add sl, sl, #2
11981 b .L4296
11982.L4331:
11983 subs r6, r2, #4
11984 ldr r1, [lr, #0]
11985 beq .L4340
11986 mov r3, r4, asl #3
11987 mov r1, r1, lsr r3
11988 mov ip, r9
11989 mov r4, #0
11990.L4342:
11991 ands r3, r1, #255
11992 orr r3, r8, r3
11993 add r4, r4, #1
11994 strne r3, [ip, #0]
11995 streq r5, [ip, #0]
11996 cmp r6, r4
11997 mov r1, r1, lsr #8
11998 add ip, ip, #4
11999 bne .L4342
12000 add r3, r9, r2, asl #2
12001 sub r9, r3, #16
12002.L4340:
12003 ldr r2, [lr, #4]
12004 ands r3, r2, #255
12005 orrne r3, r8, r3
12006 strne r3, [r9, #0]
12007 mov r3, r2, lsr #8
12008 streq r5, [r9, #0]
12009 ands r3, r3, #255
12010 orrne r3, r8, r3
12011 strne r3, [r9, #4]
12012 mov r3, r2, lsr #16
12013 streq r5, [r9, #4]
12014 ands r3, r3, #255
12015 orrne r3, r8, r3
12016 strne r3, [r9, #8]
12017 streq r5, [r9, #8]
12018 movs r3, r2, lsr #24
12019 orrne r3, r8, r3
12020 strne r3, [r9, #12]
12021 streq r5, [r9, #12]
12022 b .L4359
12023.L4527:
12024 ldr ip, [sp, #12]
12025 ldr r0, [r0, #0]
12026 cmp ip, #0
12027 beq .L4791
12028 mov r3, r1, asl #2
12029 mov r0, r0, lsr r3
12030 mov r1, #0
12031.L4536:
12032 ands r3, r0, #15
12033 orr r3, r8, r3
12034 orr r3, r2, r3
12035 strne r3, [r9, #0]
12036 ldr r3, [sp, #12]
12037 add r1, r1, #1
12038 streq r5, [r9, #0]
12039 cmp r3, r1
12040 mov r0, r0, lsr #4
12041 add r9, r9, #4
12042 bne .L4536
12043 b .L4791
12044.L4543:
12045 cmp r4, #0
12046 ldr r2, [r3, #0]
12047 beq .L4545
12048 mov r3, r1, asl #2
12049 mov r1, r2, lsr r3
12050 mov ip, #0
12051 mov r2, r9
12052.L4554:
12053 ands r3, r1, #15
12054 orr r3, r8, r3
12055 orr r3, lr, r3
12056 add ip, ip, #1
12057 strne r3, [r2, #0]
12058 streq r5, [r2, #0]
12059 cmp r4, ip
12060 mov r1, r1, lsr #4
12061 add r2, r2, #4
12062 bne .L4554
12063 b .L4806
12064.L4068:
12065 ldr ip, [sp, #12]
12066 mov r3, r4, asl #3
12067 ldr r1, [r0, #4]
12068 add r2, ip, r4
12069 sub r3, r3, #32
12070 cmp r2, #4
12071 mov r1, r1, asl r3
12072 bhi .L4077
12073 cmp ip, #0
12074 movne r2, #0
12075 beq .L4791
12076.L4094:
12077 movs r3, r1, lsr #24
12078 orr r3, r8, r3
12079 strne r3, [r9, #0]
12080 ldr r3, [sp, #12]
12081 add r2, r2, #1
12082 streq r5, [r9, #0]
12083 cmp r3, r2
12084 mov r1, r1, asl #8
12085 add r9, r9, #4
12086 bne .L4094
12087 b .L4791
12088.L4163:
12089 subs r6, lr, #4
12090 ldr r1, [r2, #0]
12091 beq .L4172
12092 mov r3, r4, asl #3
12093 mov r1, r1, lsr r3
12094 mov ip, r9
12095 mov r4, #0
12096.L4174:
12097 ands r3, r1, #255
12098 orr r3, r8, r3
12099 add r4, r4, #1
12100 strne r3, [ip, #0]
12101 streq r5, [ip, #0]
12102 cmp r6, r4
12103 mov r1, r1, lsr #8
12104 add ip, ip, #4
12105 bne .L4174
12106 add r3, r9, lr, asl #2
12107 sub r9, r3, #16
12108.L4172:
12109 ldr r2, [r2, #4]
12110 ands r3, r2, #255
12111 orrne r3, r8, r3
12112 strne r3, [r9, #0]
12113 mov r3, r2, lsr #8
12114 streq r5, [r9, #0]
12115 ands r3, r3, #255
12116 orrne r3, r8, r3
12117 strne r3, [r9, #4]
12118 mov r3, r2, lsr #16
12119 streq r5, [r9, #4]
12120 ands r3, r3, #255
12121 orrne r3, r8, r3
12122 strne r3, [r9, #8]
12123 streq r5, [r9, #8]
12124 movs r3, r2, lsr #24
12125 orrne r3, r8, r3
12126 strne r3, [r9, #12]
12127 streq r5, [r9, #12]
12128.L4191:
12129 add r9, r9, #16
12130 b .L4135
12131.L4133:
12132 subs r6, lr, #4
12133 ldr r1, [r2, #4]
12134 beq .L4143
12135 mov r3, r4, asl #3
12136 sub r3, r3, #32
12137 mov r1, r1, asl r3
12138 mov ip, r9
12139 mov r4, #0
12140.L4145:
12141 movs r3, r1, lsr #24
12142 orr r3, r8, r3
12143 add r4, r4, #1
12144 strne r3, [ip, #0]
12145 streq r5, [ip, #0]
12146 cmp r6, r4
12147 mov r1, r1, asl #8
12148 add ip, ip, #4
12149 bne .L4145
12150 add r3, r9, lr, asl #2
12151 sub r9, r3, #16
12152.L4143:
12153 ldr r2, [r2, #0]
12154 ands r3, r2, #255
12155 orrne r3, r8, r3
12156 strne r3, [r9, #12]
12157 mov r3, r2, lsr #8
12158 streq r5, [r9, #12]
12159 ands r3, r3, #255
12160 orrne r3, r8, r3
12161 strne r3, [r9, #8]
12162 mov r3, r2, lsr #16
12163 streq r5, [r9, #8]
12164 ands r3, r3, #255
12165 orrne r3, r8, r3
12166 strne r3, [r9, #4]
12167 streq r5, [r9, #4]
12168 movs r3, r2, lsr #24
12169 orrne r3, r8, r3
12170 strne r3, [r9, #0]
12171 streq r5, [r9, #0]
12172 add r9, r9, #16
12173 b .L4135
12174.L4099:
12175 ldr ip, [sp, #12]
12176 ldr r3, [r0, #0]
12177 add r2, ip, r4
12178 cmp r2, #4
12179 mov r1, r4, asl #3
12180 mov r2, r3, lsr r1
12181 bhi .L4107
12182 cmp ip, #0
12183 movne r1, #0
12184 beq .L4791
12185.L4124:
12186 ands r3, r2, #255
12187 orr r3, r8, r3
12188 strne r3, [r9, #0]
12189 ldr r3, [sp, #12]
12190 add r1, r1, #1
12191 streq r5, [r9, #0]
12192 cmp r3, r1
12193 mov r2, r2, lsr #8
12194 add r9, r9, #4
12195 bne .L4124
12196 b .L4791
12197.L4077:
12198 rsbs r4, r4, #4
12199 beq .L4080
12200 mov r2, r9
12201 mov ip, #0
12202.L4082:
12203 movs r3, r1, lsr #24
12204 orr r3, r8, r3
12205 add ip, ip, #1
12206 strne r3, [r2, #0]
12207 streq r5, [r2, #0]
12208 cmp r4, ip
12209 mov r1, r1, asl #8
12210 add r2, r2, #4
12211 bne .L4082
12212 add r9, r9, r4, asl #2
12213.L4080:
12214 ldr r2, [sp, #12]
12215 ldr r0, [r0, #0]
12216 subs r1, r2, r4
12217 beq .L4791
12218 mov r2, #0
12219.L4089:
12220 movs r3, r0, lsr #24
12221 orr r3, r8, r3
12222 add r2, r2, #1
12223 strne r3, [r9, #0]
12224 streq r5, [r9, #0]
12225 cmp r1, r2
12226 mov r0, r0, asl #8
12227 add r9, r9, #4
12228 bne .L4089
12229 b .L4791
12230.L4107:
12231 rsbs r4, r4, #4
12232 beq .L4110
12233 mov r1, r9
12234 mov ip, #0
12235.L4112:
12236 ands r3, r2, #255
12237 orr r3, r8, r3
12238 add ip, ip, #1
12239 strne r3, [r1, #0]
12240 streq r5, [r1, #0]
12241 cmp r4, ip
12242 mov r2, r2, lsr #8
12243 add r1, r1, #4
12244 bne .L4112
12245 add r9, r9, r4, asl #2
12246.L4110:
12247 ldr r2, [sp, #12]
12248 ldr r0, [r0, #4]
12249 subs r1, r2, r4
12250 beq .L4791
12251 mov r2, #0
12252.L4119:
12253 ands r3, r0, #255
12254 orr r3, r8, r3
12255 add r2, r2, #1
12256 strne r3, [r9, #0]
12257 streq r5, [r9, #0]
12258 cmp r1, r2
12259 mov r0, r0, lsr #8
12260 add r9, r9, #4
12261 bne .L4119
12262 b .L4791
12263 .size render_scanline_text_base_alpha, .-render_scanline_text_base_alpha
12264 .align 2
12265 .global render_scanline_text_transparent_alpha
12266 .type render_scanline_text_transparent_alpha, %function
12267render_scanline_text_transparent_alpha:
12268 @ args = 0, pretend = 0, frame = 16
12269 @ frame_needed = 0, uses_anonymous_args = 0
12270 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
12271 ldr r5, .L5485
12272 add lr, r0, #7
12273 ldrh ip, [r5, #80]
12274 sub sp, sp, #16
12275 mov lr, ip, asr lr
12276 mov ip, ip, asr r0
12277 and lr, lr, #2
12278 and ip, ip, #1
12279 orr ip, ip, lr
12280 mov r6, ip, asl #9
12281 tst r6, #512
12282 mov r4, r0
12283 mov ip, r1
12284 mov r8, r2
12285 mov sl, r3
12286 beq .L5463
12287 add r0, r5, r0, asl #2
12288 ldrh r1, [r5, #6]
12289 ldrh r3, [r0, #18]
12290 add r2, r5, r4, asl #1
12291 add r7, r1, r3
12292 ldrh r3, [r0, #16]
12293 ldrh lr, [r2, #8]
12294 mov r5, r7, asl #23
12295 mov r5, r5, lsr #23
12296 add r3, r3, ip
12297 mov r0, lr, lsr #14
12298 cmp r5, #255
12299 movls r1, #0
12300 movhi r1, #1
12301 mov r4, r3, asl #23
12302 ldr r3, .L5485+4
12303 ands r1, r1, r0, lsr #1
12304 mov r2, lr, asl #3
12305 ldr r1, [r3, r0, asl #2]
12306 ldr r9, .L5485+8
12307 subne r3, r5, #256
12308 movne r3, r3, lsr #3
12309 moveq r3, r7, asl #3
12310 and r2, r2, #63488
12311 addne r3, r3, r1, lsr #3
12312 andeq r3, r3, #1984
12313 add r2, r2, r9
12314 addne r1, r2, r3, asl #6
12315 addeq r1, r2, r3
12316 mov r4, r4, lsr #23
12317 tst r0, #1
12318 andeq r4, r4, #255
12319 moveq r3, r4, lsr #3
12320 rsb fp, ip, r8
12321 addeq r7, r1, r3, asl #1
12322 add r8, sl, ip, asl #2
12323 streq r1, [sp, #0]
12324 bne .L5464
12325 tst lr, #128
12326 bne .L5465
12327.L4853:
12328 mov r2, lr, asl #12
12329 and r3, r5, #7
12330 mov r3, r3, asl #2
12331 and r1, r4, #255
12332 and r2, r2, #49152
12333 rsb r1, r1, #256
12334 add r2, r2, r3
12335 mov r3, r3, asl #1
12336 cmp fp, r1
12337 rsb r3, r3, #28
12338 str r1, [sp, #12]
12339 add lr, r2, r9
12340 str r3, [sp, #8]
12341 and r1, r4, #7
12342 bls .L5466
12343 cmp r1, #0
12344 moveq r5, r1
12345 beq .L5329
12346 ldrh ip, [r7, #0]
12347 rsb r5, r1, #8
12348 mov r2, ip, asl #22
12349 mov r2, r2, lsr #22
12350 tst ip, #2048
12351 mov r3, ip, lsr #12
12352 mov r0, r3, asl #4
12353 add r3, lr, r2, asl #5
12354 ldrne r2, [sp, #8]
12355 addne r3, r3, r2
12356 tst ip, #1024
12357 bne .L5467
12358 cmp r5, #0
12359 ldr r2, [r3, #0]
12360 beq .L5334
12361 mov r3, r1, asl #2
12362 mov r1, r2, lsr r3
12363 orr r0, r6, r0
12364 mov r2, r8
12365 mov ip, #0
12366.L5342:
12367 ands r4, r1, #15
12368 ldrne r3, [r2, #0]
12369 add ip, ip, #1
12370 orrne r3, r4, r3, asl #16
12371 orrne r3, r3, r0
12372 strne r3, [r2, #0]
12373 cmp r5, ip
12374 mov r1, r1, lsr #4
12375 add r2, r2, #4
12376 bne .L5342
12377 add r8, r8, r5, asl #2
12378.L5334:
12379 add r7, r7, #2
12380.L5329:
12381 ldr r1, [sp, #12]
12382 rsb r3, r5, r1
12383 movs sl, r3, lsr #3
12384 beq .L5347
12385 mov r4, r8
12386 mov ip, #0
12387 b .L5349
12388.L5468:
12389 ldr r1, [r3, #0]
12390 cmp r1, #0
12391 beq .L5354
12392 ands r0, r1, #15
12393 ldrne r3, [r4, #28]
12394 orrne r2, r6, r5
12395 orrne r3, r0, r3, asl #16
12396 orrne r3, r3, r2
12397 strne r3, [r4, #28]
12398 mov r3, r1, lsr #4
12399 ands r0, r3, #15
12400 ldrne r3, [r4, #24]
12401 orrne r2, r6, r5
12402 orrne r3, r0, r3, asl #16
12403 orrne r3, r3, r2
12404 strne r3, [r4, #24]
12405 mov r3, r1, lsr #8
12406 ands r0, r3, #15
12407 ldrne r3, [r4, #20]
12408 orrne r2, r6, r5
12409 orrne r3, r0, r3, asl #16
12410 orrne r3, r3, r2
12411 strne r3, [r4, #20]
12412 mov r3, r1, lsr #12
12413 ands r0, r3, #15
12414 ldrne r3, [r4, #16]
12415 orrne r2, r6, r5
12416 orrne r3, r0, r3, asl #16
12417 orrne r3, r3, r2
12418 strne r3, [r4, #16]
12419 mov r3, r1, lsr #16
12420 ands r0, r3, #15
12421 ldrne r3, [r4, #12]
12422 orrne r2, r6, r5
12423 orrne r3, r0, r3, asl #16
12424 orrne r3, r3, r2
12425 strne r3, [r4, #12]
12426 mov r3, r1, lsr #20
12427 ands r0, r3, #15
12428 ldrne r3, [r4, #8]
12429 orrne r2, r6, r5
12430 orrne r3, r0, r3, asl #16
12431 orrne r3, r3, r2
12432 strne r3, [r4, #8]
12433 mov r3, r1, lsr #24
12434 ands r0, r3, #15
12435 ldrne r3, [r4, #4]
12436 orrne r2, r6, r5
12437 orrne r3, r0, r3, asl #16
12438 orrne r3, r3, r2
12439 strne r3, [r4, #4]
12440 movs r1, r1, lsr #28
12441 beq .L5354
12442 ldr r3, [r4, #0]
12443 orr r2, r6, r5
12444 orr r3, r1, r3, asl #16
12445 orr r3, r3, r2
12446 str r3, [r4, #0]
12447.L5354:
12448 add ip, ip, #1
12449 cmp sl, ip
12450 add r4, r4, #32
12451 beq .L5387
12452.L5469:
12453 add r7, r7, #2
12454.L5349:
12455 ldrh r1, [r7, #0]
12456 mov r2, r1, asl #22
12457 mov r2, r2, lsr #22
12458 tst r1, #2048
12459 mov r3, r1, lsr #12
12460 mov r5, r3, asl #4
12461 add r3, lr, r2, asl #5
12462 ldrne r2, [sp, #8]
12463 addne r3, r3, r2
12464 tst r1, #1024
12465 bne .L5468
12466 ldr r1, [r3, #0]
12467 cmp r1, #0
12468 beq .L5354
12469 ands r0, r1, #15
12470 ldrne r3, [r4, #0]
12471 orrne r2, r6, r5
12472 orrne r3, r0, r3, asl #16
12473 orrne r3, r3, r2
12474 strne r3, [r4, #0]
12475 mov r3, r1, lsr #4
12476 ands r0, r3, #15
12477 ldrne r3, [r4, #4]
12478 orrne r2, r6, r5
12479 orrne r3, r0, r3, asl #16
12480 orrne r3, r3, r2
12481 strne r3, [r4, #4]
12482 mov r3, r1, lsr #8
12483 ands r0, r3, #15
12484 ldrne r3, [r4, #8]
12485 orrne r2, r6, r5
12486 orrne r3, r0, r3, asl #16
12487 orrne r3, r3, r2
12488 strne r3, [r4, #8]
12489 mov r3, r1, lsr #12
12490 ands r0, r3, #15
12491 ldrne r3, [r4, #12]
12492 orrne r2, r6, r5
12493 orrne r3, r0, r3, asl #16
12494 orrne r3, r3, r2
12495 strne r3, [r4, #12]
12496 mov r3, r1, lsr #16
12497 ands r0, r3, #15
12498 ldrne r3, [r4, #16]
12499 orrne r2, r6, r5
12500 orrne r3, r0, r3, asl #16
12501 orrne r3, r3, r2
12502 strne r3, [r4, #16]
12503 mov r3, r1, lsr #20
12504 ands r0, r3, #15
12505 ldrne r3, [r4, #20]
12506 orrne r2, r6, r5
12507 orrne r3, r0, r3, asl #16
12508 orrne r3, r3, r2
12509 strne r3, [r4, #20]
12510 mov r3, r1, lsr #24
12511 ands r0, r3, #15
12512 ldrne r3, [r4, #24]
12513 orrne r2, r6, r5
12514 orrne r3, r0, r3, asl #16
12515 orrne r3, r3, r2
12516 strne r3, [r4, #24]
12517 movs r1, r1, lsr #28
12518 ldrne r3, [r4, #28]
12519 orrne r2, r6, r5
12520 orrne r3, r1, r3, asl #16
12521 orrne r3, r3, r2
12522 add ip, ip, #1
12523 strne r3, [r4, #28]
12524 cmp sl, ip
12525 add r4, r4, #32
12526 bne .L5469
12527.L5387:
12528 add r8, r8, sl, asl #5
12529.L5347:
12530 ldr r3, [sp, #12]
12531 rsb r9, r3, fp
12532 movs sl, r9, lsr #3
12533 ldreq r1, [sp, #0]
12534 beq .L5391
12535 ldr ip, [sp, #0]
12536 mov r4, r8
12537 mov r7, #0
12538 b .L5392
12539.L5471:
12540 ldr r1, [r3, #0]
12541 cmp r1, #0
12542 beq .L5397
12543 ands r0, r1, #15
12544 ldrne r3, [r4, #28]
12545 orrne r2, r6, r5
12546 orrne r3, r0, r3, asl #16
12547 orrne r3, r3, r2
12548 strne r3, [r4, #28]
12549 mov r3, r1, lsr #4
12550 ands r0, r3, #15
12551 ldrne r3, [r4, #24]
12552 orrne r2, r6, r5
12553 orrne r3, r0, r3, asl #16
12554 orrne r3, r3, r2
12555 strne r3, [r4, #24]
12556 mov r3, r1, lsr #8
12557 ands r0, r3, #15
12558 ldrne r3, [r4, #20]
12559 orrne r2, r6, r5
12560 orrne r3, r0, r3, asl #16
12561 orrne r3, r3, r2
12562 strne r3, [r4, #20]
12563 mov r3, r1, lsr #12
12564 ands r0, r3, #15
12565 ldrne r3, [r4, #16]
12566 orrne r2, r6, r5
12567 orrne r3, r0, r3, asl #16
12568 orrne r3, r3, r2
12569 strne r3, [r4, #16]
12570 mov r3, r1, lsr #16
12571 ands r0, r3, #15
12572 ldrne r3, [r4, #12]
12573 orrne r2, r6, r5
12574 orrne r3, r0, r3, asl #16
12575 orrne r3, r3, r2
12576 strne r3, [r4, #12]
12577 mov r3, r1, lsr #20
12578 ands r0, r3, #15
12579 ldrne r3, [r4, #8]
12580 orrne r2, r6, r5
12581 orrne r3, r0, r3, asl #16
12582 orrne r3, r3, r2
12583 strne r3, [r4, #8]
12584 mov r3, r1, lsr #24
12585 ands r0, r3, #15
12586 ldrne r3, [r4, #4]
12587 orrne r2, r6, r5
12588 orrne r3, r0, r3, asl #16
12589 orrne r3, r3, r2
12590 strne r3, [r4, #4]
12591 movs r1, r1, lsr #28
12592 beq .L5397
12593 ldr r3, [r4, #0]
12594 orr r2, r6, r5
12595 orr r3, r1, r3, asl #16
12596 orr r3, r3, r2
12597 str r3, [r4, #0]
12598.L5397:
12599 add r7, r7, #1
12600 cmp sl, r7
12601 add r4, r4, #32
12602 add ip, ip, #2
12603 beq .L5470
12604.L5392:
12605 ldrh r1, [ip, #0]
12606 mov r2, r1, asl #22
12607 mov r2, r2, lsr #22
12608 tst r1, #2048
12609 mov r3, r1, lsr #12
12610 mov r5, r3, asl #4
12611 add r3, lr, r2, asl #5
12612 ldrne r2, [sp, #8]
12613 addne r3, r3, r2
12614 tst r1, #1024
12615 bne .L5471
12616 ldr r1, [r3, #0]
12617 cmp r1, #0
12618 beq .L5397
12619 ands r0, r1, #15
12620 ldrne r3, [r4, #0]
12621 orrne r2, r6, r5
12622 orrne r3, r0, r3, asl #16
12623 orrne r3, r3, r2
12624 strne r3, [r4, #0]
12625 mov r3, r1, lsr #4
12626 ands r0, r3, #15
12627 ldrne r3, [r4, #4]
12628 orrne r2, r6, r5
12629 orrne r3, r0, r3, asl #16
12630 orrne r3, r3, r2
12631 strne r3, [r4, #4]
12632 mov r3, r1, lsr #8
12633 ands r0, r3, #15
12634 ldrne r3, [r4, #8]
12635 orrne r2, r6, r5
12636 orrne r3, r0, r3, asl #16
12637 orrne r3, r3, r2
12638 strne r3, [r4, #8]
12639 mov r3, r1, lsr #12
12640 ands r0, r3, #15
12641 ldrne r3, [r4, #12]
12642 orrne r2, r6, r5
12643 orrne r3, r0, r3, asl #16
12644 orrne r3, r3, r2
12645 strne r3, [r4, #12]
12646 mov r3, r1, lsr #16
12647 ands r0, r3, #15
12648 ldrne r3, [r4, #16]
12649 orrne r2, r6, r5
12650 orrne r3, r0, r3, asl #16
12651 orrne r3, r3, r2
12652 strne r3, [r4, #16]
12653 mov r3, r1, lsr #20
12654 ands r0, r3, #15
12655 ldrne r3, [r4, #20]
12656 orrne r2, r6, r5
12657 orrne r3, r0, r3, asl #16
12658 orrne r3, r3, r2
12659 strne r3, [r4, #20]
12660 mov r3, r1, lsr #24
12661 ands r0, r3, #15
12662 ldrne r3, [r4, #24]
12663 orrne r2, r6, r5
12664 orrne r3, r0, r3, asl #16
12665 orrne r3, r3, r2
12666 strne r3, [r4, #24]
12667 movs r1, r1, lsr #28
12668 ldrne r3, [r4, #28]
12669 orrne r2, r6, r5
12670 orrne r3, r1, r3, asl #16
12671 orrne r3, r3, r2
12672 add r7, r7, #1
12673 strne r3, [r4, #28]
12674 cmp sl, r7
12675 add r4, r4, #32
12676 add ip, ip, #2
12677 bne .L5392
12678.L5470:
12679 ldr r3, [sp, #0]
12680 add r8, r8, sl, asl #5
12681 add r1, r3, sl, asl #1
12682.L5391:
12683 ands r4, r9, #7
12684 beq .L5444
12685 ldrh r1, [r1, #0]
12686 mov r3, r1, asl #22
12687 mov r3, r3, lsr #22
12688 tst r1, #2048
12689 add r0, lr, r3, asl #5
12690 ldrne r3, [sp, #8]
12691 mov r2, r1, lsr #12
12692 addne r0, r0, r3
12693 mov r2, r2, asl #4
12694 tst r1, #1024
12695 ldreq r0, [r0, #0]
12696 orreq r2, r6, r2
12697 moveq lr, #0
12698 beq .L5440
12699 ldr r0, [r0, #0]
12700 orr r2, r6, r2
12701 mov lr, #0
12702.L5436:
12703 movs r1, r0, lsr #28
12704 ldrne r3, [r8, #0]
12705 add lr, lr, #1
12706 orrne r3, r1, r3, asl #16
12707 orrne r3, r3, r2
12708 strne r3, [r8, #0]
12709 cmp r4, lr
12710 mov r0, r0, asl #4
12711 add r8, r8, #4
12712 bne .L5436
12713.L5444:
12714 add sp, sp, #16
12715 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
12716.L5465:
12717 and r3, r5, #7
12718 mov r2, lr, asl #12
12719 mov r3, r3, asl #3
12720 and r1, r4, #255
12721 and r2, r2, #49152
12722 add r2, r2, r3
12723 rsb sl, r1, #256
12724 mov r3, r3, asl #1
12725 rsb r3, r3, #56
12726 cmp fp, sl
12727 add r0, r2, r9
12728 str r3, [sp, #4]
12729 and ip, r4, #7
12730 bls .L5472
12731 cmp ip, #0
12732 moveq lr, ip
12733 beq .L5055
12734 ldrh r2, [r7, #0]
12735 rsb lr, ip, #8
12736 mov r3, r2, asl #22
12737 mov r3, r3, lsr #22
12738 tst r2, #2048
12739 add r5, r0, r3, asl #6
12740 ldrne r3, [sp, #4]
12741 addne r5, r5, r3
12742 ands r2, r2, #1024
12743 bne .L5473
12744 cmp ip, #3
12745 bls .L5085
12746 cmp lr, #0
12747 ldr r1, [r5, #4]
12748 beq .L5062
12749 mov r3, ip, asl #3
12750 sub r3, r3, #32
12751 mov r1, r1, lsr r3
12752 mov r4, r2
12753 mov r2, r8
12754.L5088:
12755 ands r3, r1, #255
12756 orr ip, r6, r3
12757 ldrne r3, [r2, #0]
12758 add r4, r4, #1
12759 orrne r3, ip, r3, asl #16
12760 strne r3, [r2, #0]
12761 cmp lr, r4
12762 mov r1, r1, lsr #8
12763 add r2, r2, #4
12764 bne .L5088
12765 add r8, r8, lr, asl #2
12766.L5062:
12767 add r7, r7, #2
12768.L5055:
12769 rsb r3, lr, sl
12770 movs lr, r3, lsr #3
12771 beq .L5109
12772 mov r4, r8
12773 mov ip, #0
12774 b .L5111
12775.L5474:
12776 ldr r1, [r5, #4]
12777 cmp r1, #0
12778 beq .L5116
12779 ands r3, r1, #255
12780 ldrne r2, [r4, #12]
12781 orrne r3, r6, r3
12782 orrne r3, r3, r2, asl #16
12783 strne r3, [r4, #12]
12784 mov r3, r1, lsr #8
12785 ands r3, r3, #255
12786 ldrne r2, [r4, #8]
12787 orrne r3, r6, r3
12788 orrne r3, r3, r2, asl #16
12789 strne r3, [r4, #8]
12790 mov r3, r1, lsr #16
12791 ands r3, r3, #255
12792 ldrne r2, [r4, #4]
12793 orrne r3, r6, r3
12794 orrne r3, r3, r2, asl #16
12795 strne r3, [r4, #4]
12796 movs r3, r1, lsr #24
12797 ldrne r2, [r4, #0]
12798 orrne r3, r6, r3
12799 orrne r3, r3, r2, asl #16
12800 strne r3, [r4, #0]
12801.L5116:
12802 ldr r1, [r5, #0]
12803 cmp r1, #0
12804 beq .L5125
12805 ands r3, r1, #255
12806 ldrne r2, [r4, #28]
12807 orrne r3, r6, r3
12808 orrne r3, r3, r2, asl #16
12809 strne r3, [r4, #28]
12810 mov r3, r1, lsr #8
12811 ands r3, r3, #255
12812 ldrne r2, [r4, #24]
12813 orrne r3, r6, r3
12814 orrne r3, r3, r2, asl #16
12815 strne r3, [r4, #24]
12816 mov r3, r1, lsr #16
12817 ands r3, r3, #255
12818 ldrne r2, [r4, #20]
12819 orrne r3, r6, r3
12820 orrne r3, r3, r2, asl #16
12821 strne r3, [r4, #20]
12822 movs r3, r1, lsr #24
12823 ldrne r2, [r4, #16]
12824 orrne r3, r6, r3
12825 orrne r3, r3, r2, asl #16
12826 strne r3, [r4, #16]
12827.L5125:
12828 add ip, ip, #1
12829 cmp lr, ip
12830 add r4, r4, #32
12831 beq .L5151
12832.L5475:
12833 add r7, r7, #2
12834.L5111:
12835 ldrh r2, [r7, #0]
12836 tst r2, #2048
12837 mov r3, r2, asl #22
12838 ldrne r1, [sp, #4]
12839 mov r3, r3, lsr #22
12840 add r5, r0, r3, asl #6
12841 addne r5, r5, r1
12842 tst r2, #1024
12843 bne .L5474
12844 ldr r1, [r5, #0]
12845 cmp r1, #0
12846 beq .L5134
12847 ands r3, r1, #255
12848 ldrne r2, [r4, #0]
12849 orrne r3, r6, r3
12850 orrne r3, r3, r2, asl #16
12851 strne r3, [r4, #0]
12852 mov r3, r1, lsr #8
12853 ands r3, r3, #255
12854 ldrne r2, [r4, #4]
12855 orrne r3, r6, r3
12856 orrne r3, r3, r2, asl #16
12857 strne r3, [r4, #4]
12858 mov r3, r1, lsr #16
12859 ands r3, r3, #255
12860 ldrne r2, [r4, #8]
12861 orrne r3, r6, r3
12862 orrne r3, r3, r2, asl #16
12863 strne r3, [r4, #8]
12864 movs r3, r1, lsr #24
12865 ldrne r2, [r4, #12]
12866 orrne r3, r6, r3
12867 orrne r3, r3, r2, asl #16
12868 strne r3, [r4, #12]
12869.L5134:
12870 ldr r1, [r5, #4]
12871 cmp r1, #0
12872 beq .L5125
12873 ands r3, r1, #255
12874 ldrne r2, [r4, #16]
12875 orrne r3, r6, r3
12876 orrne r3, r3, r2, asl #16
12877 strne r3, [r4, #16]
12878 mov r3, r1, lsr #8
12879 ands r3, r3, #255
12880 ldrne r2, [r4, #20]
12881 orrne r3, r6, r3
12882 orrne r3, r3, r2, asl #16
12883 strne r3, [r4, #20]
12884 mov r3, r1, lsr #16
12885 ands r3, r3, #255
12886 ldrne r2, [r4, #24]
12887 orrne r3, r6, r3
12888 orrne r3, r3, r2, asl #16
12889 strne r3, [r4, #24]
12890 movs r3, r1, lsr #24
12891 ldrne r2, [r4, #28]
12892 orrne r3, r6, r3
12893 orrne r3, r3, r2, asl #16
12894 add ip, ip, #1
12895 strne r3, [r4, #28]
12896 cmp lr, ip
12897 add r4, r4, #32
12898 bne .L5475
12899.L5151:
12900 add r8, r8, lr, asl #5
12901.L5109:
12902 rsb lr, sl, fp
12903 movs sl, lr, lsr #3
12904 ldreq r1, [sp, #0]
12905 beq .L5155
12906 ldr ip, [sp, #0]
12907 mov r4, r8
12908 mov r7, #0
12909 b .L5156
12910.L5477:
12911 ldr r1, [r5, #4]
12912 cmp r1, #0
12913 beq .L5161
12914 ands r3, r1, #255
12915 ldrne r2, [r4, #12]
12916 orrne r3, r6, r3
12917 orrne r3, r3, r2, asl #16
12918 strne r3, [r4, #12]
12919 mov r3, r1, lsr #8
12920 ands r3, r3, #255
12921 ldrne r2, [r4, #8]
12922 orrne r3, r6, r3
12923 orrne r3, r3, r2, asl #16
12924 strne r3, [r4, #8]
12925 mov r3, r1, lsr #16
12926 ands r3, r3, #255
12927 ldrne r2, [r4, #4]
12928 orrne r3, r6, r3
12929 orrne r3, r3, r2, asl #16
12930 strne r3, [r4, #4]
12931 movs r3, r1, lsr #24
12932 ldrne r2, [r4, #0]
12933 orrne r3, r6, r3
12934 orrne r3, r3, r2, asl #16
12935 strne r3, [r4, #0]
12936.L5161:
12937 ldr r1, [r5, #0]
12938 cmp r1, #0
12939 beq .L5170
12940 ands r3, r1, #255
12941 ldrne r2, [r4, #28]
12942 orrne r3, r6, r3
12943 orrne r3, r3, r2, asl #16
12944 strne r3, [r4, #28]
12945 mov r3, r1, lsr #8
12946 ands r3, r3, #255
12947 ldrne r2, [r4, #24]
12948 orrne r3, r6, r3
12949 orrne r3, r3, r2, asl #16
12950 strne r3, [r4, #24]
12951 mov r3, r1, lsr #16
12952 ands r3, r3, #255
12953 ldrne r2, [r4, #20]
12954 orrne r3, r6, r3
12955 orrne r3, r3, r2, asl #16
12956 strne r3, [r4, #20]
12957 movs r3, r1, lsr #24
12958 ldrne r2, [r4, #16]
12959 orrne r3, r6, r3
12960 orrne r3, r3, r2, asl #16
12961 strne r3, [r4, #16]
12962.L5170:
12963 add r7, r7, #1
12964 cmp sl, r7
12965 add r4, r4, #32
12966 add ip, ip, #2
12967 beq .L5476
12968.L5156:
12969 ldrh r2, [ip, #0]
12970 mov r3, r2, asl #22
12971 mov r3, r3, lsr #22
12972 tst r2, #2048
12973 add r5, r0, r3, asl #6
12974 ldrne r3, [sp, #4]
12975 addne r5, r5, r3
12976 tst r2, #1024
12977 bne .L5477
12978 ldr r1, [r5, #0]
12979 cmp r1, #0
12980 beq .L5179
12981 ands r3, r1, #255
12982 ldrne r2, [r4, #0]
12983 orrne r3, r6, r3
12984 orrne r3, r3, r2, asl #16
12985 strne r3, [r4, #0]
12986 mov r3, r1, lsr #8
12987 ands r3, r3, #255
12988 ldrne r2, [r4, #4]
12989 orrne r3, r6, r3
12990 orrne r3, r3, r2, asl #16
12991 strne r3, [r4, #4]
12992 mov r3, r1, lsr #16
12993 ands r3, r3, #255
12994 ldrne r2, [r4, #8]
12995 orrne r3, r6, r3
12996 orrne r3, r3, r2, asl #16
12997 strne r3, [r4, #8]
12998 movs r3, r1, lsr #24
12999 ldrne r2, [r4, #12]
13000 orrne r3, r6, r3
13001 orrne r3, r3, r2, asl #16
13002 strne r3, [r4, #12]
13003.L5179:
13004 ldr r1, [r5, #4]
13005 cmp r1, #0
13006 beq .L5170
13007 ands r3, r1, #255
13008 ldrne r2, [r4, #16]
13009 orrne r3, r6, r3
13010 orrne r3, r3, r2, asl #16
13011 strne r3, [r4, #16]
13012 mov r3, r1, lsr #8
13013 ands r3, r3, #255
13014 ldrne r2, [r4, #20]
13015 orrne r3, r6, r3
13016 orrne r3, r3, r2, asl #16
13017 strne r3, [r4, #20]
13018 mov r3, r1, lsr #16
13019 ands r3, r3, #255
13020 ldrne r2, [r4, #24]
13021 orrne r3, r6, r3
13022 orrne r3, r3, r2, asl #16
13023 strne r3, [r4, #24]
13024 movs r3, r1, lsr #24
13025 ldrne r2, [r4, #28]
13026 orrne r3, r6, r3
13027 orrne r3, r3, r2, asl #16
13028 add r7, r7, #1
13029 strne r3, [r4, #28]
13030 cmp sl, r7
13031 add r4, r4, #32
13032 add ip, ip, #2
13033 bne .L5156
13034.L5476:
13035 ldr r2, [sp, #0]
13036 add r8, r8, sl, asl #5
13037 add r1, r2, sl, asl #1
13038.L5155:
13039 ands ip, lr, #7
13040 beq .L5444
13041 ldrh r1, [r1, #0]
13042 mov r3, r1, asl #22
13043 mov r3, r3, lsr #22
13044 tst r1, #2048
13045 add r0, r0, r3, asl #6
13046 ldrne r3, [sp, #4]
13047 addne r0, r0, r3
13048 tst r1, #1024
13049 beq .L5200
13050 cmp ip, #3
13051 ldrls r0, [r0, #4]
13052 bls .L5214
13053 ldr r1, [r0, #4]
13054 cmp r1, #0
13055 beq .L5204
13056 ands r3, r1, #255
13057 ldrne r2, [r8, #12]
13058 orrne r3, r6, r3
13059 orrne r3, r3, r2, asl #16
13060 strne r3, [r8, #12]
13061 mov r3, r1, lsr #8
13062 ands r3, r3, #255
13063 ldrne r2, [r8, #8]
13064 orrne r3, r6, r3
13065 orrne r3, r3, r2, asl #16
13066 strne r3, [r8, #8]
13067 mov r3, r1, lsr #16
13068 ands r3, r3, #255
13069 ldrne r2, [r8, #4]
13070 orrne r3, r6, r3
13071 orrne r3, r3, r2, asl #16
13072 strne r3, [r8, #4]
13073 movs r3, r1, lsr #24
13074 ldrne r2, [r8, #0]
13075 orrne r3, r6, r3
13076 orrne r3, r3, r2, asl #16
13077 strne r3, [r8, #0]
13078.L5204:
13079 subs ip, ip, #4
13080 ldr r0, [r0, #0]
13081 addne r8, r8, #16
13082 beq .L5444
13083.L5214:
13084 mov r1, #0
13085.L5215:
13086 movs r3, r0, lsr #24
13087 orr r2, r6, r3
13088 ldrne r3, [r8, #0]
13089 add r1, r1, #1
13090 orrne r3, r2, r3, asl #16
13091 strne r3, [r8, #0]
13092 cmp ip, r1
13093 mov r0, r0, asl #8
13094 add r8, r8, #4
13095 bhi .L5215
13096 b .L5444
13097.L5464:
13098 cmp r4, #255
13099 subhi r4, r4, #256
13100 movhi r3, r4, lsr #3
13101 movls r3, r4, lsr #3
13102 addhi r3, r1, r3, asl #1
13103 addls r7, r1, r3, asl #1
13104 addls r1, r1, #2048
13105 addhi r7, r3, #2048
13106 strhi r1, [sp, #0]
13107 strls r1, [sp, #0]
13108 tst lr, #128
13109 beq .L4853
13110 b .L5465
13111.L5463:
13112 add sp, sp, #16
13113 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
13114 b render_scanline_text_transparent_color32
13115.L5466:
13116 cmp r1, #0
13117 beq .L5238
13118 rsb r5, r1, #8
13119 cmp fp, r5
13120 bcc .L5478
13121 ldrh ip, [r7, #0]
13122 mov r2, ip, asl #22
13123 mov r2, r2, lsr #22
13124 tst ip, #2048
13125 mov r3, ip, lsr #12
13126 mov r0, r3, asl #4
13127 add r3, lr, r2, asl #5
13128 ldrne r2, [sp, #8]
13129 addne r3, r3, r2
13130 tst ip, #1024
13131 beq .L5258
13132 cmp r5, #0
13133 ldr r2, [r3, #0]
13134 beq .L5260
13135 mov r3, r1, asl #2
13136 mov r1, r2, asl r3
13137 orr r0, r6, r0
13138 mov r2, r8
13139 mov r4, #0
13140.L5262:
13141 movs ip, r1, lsr #28
13142 ldrne r3, [r2, #0]
13143 add r4, r4, #1
13144 orrne r3, ip, r3, asl #16
13145 orrne r3, r3, r0
13146 strne r3, [r2, #0]
13147 cmp r5, r4
13148 mov r1, r1, asl #4
13149 add r2, r2, #4
13150 bne .L5262
13151.L5459:
13152 add r8, r8, r5, asl #2
13153.L5260:
13154 rsb fp, r5, fp
13155 add r7, r7, #2
13156.L5238:
13157 movs r9, fp, lsr #3
13158 beq .L5273
13159 mov r4, r8
13160 mov ip, r7
13161 mov sl, #0
13162 b .L5275
13163.L5486:
13164 .align 2
13165.L5485:
13166 .word io_registers
13167 .word map_widths
13168 .word vram
13169.L5480:
13170 ldr r5, [r3, #0]
13171 cmp r5, #0
13172 beq .L5280
13173 ands r1, r5, #15
13174 ldrne r3, [r4, #28]
13175 orrne r2, r6, r0
13176 orrne r3, r1, r3, asl #16
13177 orrne r3, r3, r2
13178 strne r3, [r4, #28]
13179 mov r3, r5, lsr #4
13180 ands r1, r3, #15
13181 ldrne r3, [r4, #24]
13182 orrne r2, r6, r0
13183 orrne r3, r1, r3, asl #16
13184 orrne r3, r3, r2
13185 strne r3, [r4, #24]
13186 mov r3, r5, lsr #8
13187 ands r1, r3, #15
13188 ldrne r3, [r4, #20]
13189 orrne r2, r6, r0
13190 orrne r3, r1, r3, asl #16
13191 orrne r3, r3, r2
13192 strne r3, [r4, #20]
13193 mov r3, r5, lsr #12
13194 ands r1, r3, #15
13195 ldrne r3, [r4, #16]
13196 orrne r2, r6, r0
13197 orrne r3, r1, r3, asl #16
13198 orrne r3, r3, r2
13199 strne r3, [r4, #16]
13200 mov r3, r5, lsr #16
13201 ands r1, r3, #15
13202 ldrne r3, [r4, #12]
13203 orrne r2, r6, r0
13204 orrne r3, r1, r3, asl #16
13205 orrne r3, r3, r2
13206 strne r3, [r4, #12]
13207 mov r3, r5, lsr #20
13208 ands r1, r3, #15
13209 ldrne r3, [r4, #8]
13210 orrne r2, r6, r0
13211 orrne r3, r1, r3, asl #16
13212 orrne r3, r3, r2
13213 strne r3, [r4, #8]
13214 mov r3, r5, lsr #24
13215 ands r1, r3, #15
13216 ldrne r3, [r4, #4]
13217 orrne r2, r6, r0
13218 orrne r3, r1, r3, asl #16
13219 orrne r3, r3, r2
13220 strne r3, [r4, #4]
13221 movs r5, r5, lsr #28
13222 beq .L5280
13223 ldr r3, [r4, #0]
13224 orr r2, r6, r0
13225 orr r3, r5, r3, asl #16
13226 orr r3, r3, r2
13227 str r3, [r4, #0]
13228.L5280:
13229 add sl, sl, #1
13230 cmp r9, sl
13231 add r4, r4, #32
13232 add ip, ip, #2
13233 beq .L5479
13234.L5275:
13235 ldrh r1, [ip, #0]
13236 mov r2, r1, asl #22
13237 mov r2, r2, lsr #22
13238 tst r1, #2048
13239 mov r3, r1, lsr #12
13240 mov r0, r3, asl #4
13241 add r3, lr, r2, asl #5
13242 ldrne r2, [sp, #8]
13243 addne r3, r3, r2
13244 tst r1, #1024
13245 bne .L5480
13246 ldr r5, [r3, #0]
13247 cmp r5, #0
13248 beq .L5280
13249 ands r1, r5, #15
13250 ldrne r3, [r4, #0]
13251 orrne r2, r6, r0
13252 orrne r3, r1, r3, asl #16
13253 orrne r3, r3, r2
13254 strne r3, [r4, #0]
13255 mov r3, r5, lsr #4
13256 ands r1, r3, #15
13257 ldrne r3, [r4, #4]
13258 orrne r2, r6, r0
13259 orrne r3, r1, r3, asl #16
13260 orrne r3, r3, r2
13261 strne r3, [r4, #4]
13262 mov r3, r5, lsr #8
13263 ands r1, r3, #15
13264 ldrne r3, [r4, #8]
13265 orrne r2, r6, r0
13266 orrne r3, r1, r3, asl #16
13267 orrne r3, r3, r2
13268 strne r3, [r4, #8]
13269 mov r3, r5, lsr #12
13270 ands r1, r3, #15
13271 ldrne r3, [r4, #12]
13272 orrne r2, r6, r0
13273 orrne r3, r1, r3, asl #16
13274 orrne r3, r3, r2
13275 strne r3, [r4, #12]
13276 mov r3, r5, lsr #16
13277 ands r1, r3, #15
13278 ldrne r3, [r4, #16]
13279 orrne r2, r6, r0
13280 orrne r3, r1, r3, asl #16
13281 orrne r3, r3, r2
13282 strne r3, [r4, #16]
13283 mov r3, r5, lsr #20
13284 ands r1, r3, #15
13285 ldrne r3, [r4, #20]
13286 orrne r2, r6, r0
13287 orrne r3, r1, r3, asl #16
13288 orrne r3, r3, r2
13289 strne r3, [r4, #20]
13290 mov r3, r5, lsr #24
13291 ands r1, r3, #15
13292 ldrne r3, [r4, #24]
13293 orrne r2, r6, r0
13294 orrne r3, r1, r3, asl #16
13295 orrne r3, r3, r2
13296 strne r3, [r4, #24]
13297 movs r5, r5, lsr #28
13298 ldrne r3, [r4, #28]
13299 orrne r2, r6, r0
13300 orrne r3, r5, r3, asl #16
13301 orrne r3, r3, r2
13302 add sl, sl, #1
13303 strne r3, [r4, #28]
13304 cmp r9, sl
13305 add r4, r4, #32
13306 add ip, ip, #2
13307 bne .L5275
13308.L5479:
13309 add r8, r8, r9, asl #5
13310 add r7, r7, r9, asl #1
13311.L5273:
13312 ands r5, fp, #7
13313 beq .L5444
13314 ldrh r4, [r7, #0]
13315 mov r3, r4, asl #22
13316 mov r3, r3, lsr #22
13317 tst r4, #2048
13318 add r0, lr, r3, asl #5
13319 ldrne r3, [sp, #8]
13320 mov r2, r4, lsr #12
13321 addne r0, r0, r3
13322 mov r2, r2, asl #4
13323 tst r4, #1024
13324 ldreq r0, [r0, #0]
13325 orreq r2, r6, r2
13326 moveq lr, #0
13327 beq .L5323
13328 ldr r0, [r0, #0]
13329 orr r2, r6, r2
13330 mov lr, #0
13331.L5319:
13332 movs r1, r0, lsr #28
13333 ldrne r3, [r8, #0]
13334 add lr, lr, #1
13335 orrne r3, r1, r3, asl #16
13336 orrne r3, r3, r2
13337 strne r3, [r8, #0]
13338 cmp r5, lr
13339 mov r0, r0, asl #4
13340 add r8, r8, #4
13341 bne .L5319
13342 b .L5444
13343.L5472:
13344 cmp ip, #0
13345 beq .L4857
13346 rsb lr, ip, #8
13347 cmp fp, lr
13348 bcc .L5481
13349 ldrh r2, [r7, #0]
13350 mov r3, r2, asl #22
13351 mov r3, r3, lsr #22
13352 tst r2, #2048
13353 add r5, r0, r3, asl #6
13354 ldrne r3, [sp, #4]
13355 addne r5, r5, r3
13356 ands r2, r2, #1024
13357 beq .L4920
13358 cmp ip, #3
13359 bls .L4922
13360 cmp lr, #0
13361 ldr r2, [r5, #0]
13362 beq .L4924
13363 mov r3, ip, asl #3
13364 sub r3, r3, #32
13365 mov r1, r2, asl r3
13366 mov r4, #0
13367 mov r2, r8
13368.L4926:
13369 movs r3, r1, lsr #24
13370 orr ip, r6, r3
13371 ldrne r3, [r2, #0]
13372 add r4, r4, #1
13373 orrne r3, ip, r3, asl #16
13374 strne r3, [r2, #0]
13375 cmp lr, r4
13376 mov r1, r1, asl #8
13377 add r2, r2, #4
13378 bne .L4926
13379.L5446:
13380 add r8, r8, lr, asl #2
13381.L4924:
13382 rsb fp, lr, fp
13383 add r7, r7, #2
13384.L4857:
13385 movs r9, fp, lsr #3
13386 beq .L4971
13387 mov r1, r8
13388 mov ip, r7
13389 mov sl, #0
13390 b .L4973
13391.L5483:
13392 ldr r4, [r5, #4]
13393 cmp r4, #0
13394 beq .L4978
13395 ands r3, r4, #255
13396 ldrne r2, [r1, #12]
13397 orrne r3, r6, r3
13398 orrne r3, r3, r2, asl #16
13399 strne r3, [r1, #12]
13400 mov r3, r4, lsr #8
13401 ands r3, r3, #255
13402 ldrne r2, [r1, #8]
13403 orrne r3, r6, r3
13404 orrne r3, r3, r2, asl #16
13405 strne r3, [r1, #8]
13406 mov r3, r4, lsr #16
13407 ands r3, r3, #255
13408 ldrne r2, [r1, #4]
13409 orrne r3, r6, r3
13410 orrne r3, r3, r2, asl #16
13411 strne r3, [r1, #4]
13412 movs r3, r4, lsr #24
13413 ldrne r2, [r1, #0]
13414 orrne r3, r6, r3
13415 orrne r3, r3, r2, asl #16
13416 strne r3, [r1, #0]
13417.L4978:
13418 ldr r4, [r5, #0]
13419 cmp r4, #0
13420 beq .L4987
13421 ands r3, r4, #255
13422 ldrne r2, [r1, #28]
13423 orrne r3, r6, r3
13424 orrne r3, r3, r2, asl #16
13425 strne r3, [r1, #28]
13426 mov r3, r4, lsr #8
13427 ands r3, r3, #255
13428 ldrne r2, [r1, #24]
13429 orrne r3, r6, r3
13430 orrne r3, r3, r2, asl #16
13431 strne r3, [r1, #24]
13432 mov r3, r4, lsr #16
13433 ands r3, r3, #255
13434 ldrne r2, [r1, #20]
13435 orrne r3, r6, r3
13436 orrne r3, r3, r2, asl #16
13437 strne r3, [r1, #20]
13438 movs r3, r4, lsr #24
13439 ldrne r2, [r1, #16]
13440 orrne r3, r6, r3
13441 orrne r3, r3, r2, asl #16
13442 strne r3, [r1, #16]
13443.L4987:
13444 add sl, sl, #1
13445 cmp r9, sl
13446 add r1, r1, #32
13447 add ip, ip, #2
13448 beq .L5482
13449.L4973:
13450 ldrh r2, [ip, #0]
13451 mov r3, r2, asl #22
13452 mov r3, r3, lsr #22
13453 tst r2, #2048
13454 add r5, r0, r3, asl #6
13455 ldrne r3, [sp, #4]
13456 addne r5, r5, r3
13457 tst r2, #1024
13458 bne .L5483
13459 ldr r4, [r5, #0]
13460 cmp r4, #0
13461 beq .L4996
13462 ands r3, r4, #255
13463 ldrne r2, [r1, #0]
13464 orrne r3, r6, r3
13465 orrne r3, r3, r2, asl #16
13466 strne r3, [r1, #0]
13467 mov r3, r4, lsr #8
13468 ands r3, r3, #255
13469 ldrne r2, [r1, #4]
13470 orrne r3, r6, r3
13471 orrne r3, r3, r2, asl #16
13472 strne r3, [r1, #4]
13473 mov r3, r4, lsr #16
13474 ands r3, r3, #255
13475 ldrne r2, [r1, #8]
13476 orrne r3, r6, r3
13477 orrne r3, r3, r2, asl #16
13478 strne r3, [r1, #8]
13479 movs r3, r4, lsr #24
13480 ldrne r2, [r1, #12]
13481 orrne r3, r6, r3
13482 orrne r3, r3, r2, asl #16
13483 strne r3, [r1, #12]
13484.L4996:
13485 ldr r4, [r5, #4]
13486 cmp r4, #0
13487 beq .L4987
13488 ands r3, r4, #255
13489 ldrne r2, [r1, #16]
13490 orrne r3, r6, r3
13491 orrne r3, r3, r2, asl #16
13492 strne r3, [r1, #16]
13493 mov r3, r4, lsr #8
13494 ands r3, r3, #255
13495 ldrne r2, [r1, #20]
13496 orrne r3, r6, r3
13497 orrne r3, r3, r2, asl #16
13498 strne r3, [r1, #20]
13499 mov r3, r4, lsr #16
13500 ands r3, r3, #255
13501 ldrne r2, [r1, #24]
13502 orrne r3, r6, r3
13503 orrne r3, r3, r2, asl #16
13504 strne r3, [r1, #24]
13505 movs r3, r4, lsr #24
13506 ldrne r2, [r1, #28]
13507 orrne r3, r6, r3
13508 orrne r3, r3, r2, asl #16
13509 add sl, sl, #1
13510 strne r3, [r1, #28]
13511 cmp r9, sl
13512 add r1, r1, #32
13513 add ip, ip, #2
13514 bne .L4973
13515.L5482:
13516 add r8, r8, r9, asl #5
13517 add r7, r7, r9, asl #1
13518.L4971:
13519 ands ip, fp, #7
13520 beq .L5444
13521 ldrh r2, [r7, #0]
13522 tst r2, #2048
13523 mov r3, r2, asl #22
13524 ldrne r1, [sp, #4]
13525 mov r3, r3, lsr #22
13526 add r0, r0, r3, asl #6
13527 addne r0, r0, r1
13528 tst r2, #1024
13529 bne .L5484
13530 cmp ip, #3
13531 ldrls r0, [r0, #0]
13532 bls .L5048
13533 ldr r1, [r0, #0]
13534 cmp r1, #0
13535 beq .L5038
13536 ands r3, r1, #255
13537 ldrne r2, [r8, #0]
13538 orrne r3, r6, r3
13539 orrne r3, r3, r2, asl #16
13540 strne r3, [r8, #0]
13541 mov r3, r1, lsr #8
13542 ands r3, r3, #255
13543 ldrne r2, [r8, #4]
13544 orrne r3, r6, r3
13545 orrne r3, r3, r2, asl #16
13546 strne r3, [r8, #4]
13547 mov r3, r1, lsr #16
13548 ands r3, r3, #255
13549 ldrne r2, [r8, #8]
13550 orrne r3, r6, r3
13551 orrne r3, r3, r2, asl #16
13552 strne r3, [r8, #8]
13553 movs r3, r1, lsr #24
13554 ldrne r2, [r8, #12]
13555 orrne r3, r6, r3
13556 orrne r3, r3, r2, asl #16
13557 strne r3, [r8, #12]
13558.L5038:
13559 subs ip, ip, #4
13560 ldr r0, [r0, #4]
13561 addne r8, r8, #16
13562 beq .L5444
13563.L5048:
13564 mov r1, #0
13565.L5049:
13566 ands r3, r0, #255
13567 orr r2, r6, r3
13568 ldrne r3, [r8, #0]
13569 add r1, r1, #1
13570 orrne r3, r2, r3, asl #16
13571 strne r3, [r8, #0]
13572 cmp ip, r1
13573 mov r0, r0, lsr #8
13574 add r8, r8, #4
13575 bhi .L5049
13576 b .L5444
13577.L5440:
13578 ands r1, r0, #15
13579 ldrne r3, [r8, #0]
13580 add lr, lr, #1
13581 orrne r3, r1, r3, asl #16
13582 orrne r3, r3, r2
13583 strne r3, [r8, #0]
13584 cmp r4, lr
13585 mov r0, r0, lsr #4
13586 add r8, r8, #4
13587 bne .L5440
13588 b .L5444
13589.L5323:
13590 ands r1, r0, #15
13591 ldrne r3, [r8, #0]
13592 add lr, lr, #1
13593 orrne r3, r1, r3, asl #16
13594 orrne r3, r3, r2
13595 strne r3, [r8, #0]
13596 cmp r5, lr
13597 mov r0, r0, lsr #4
13598 add r8, r8, #4
13599 bne .L5323
13600 b .L5444
13601.L5200:
13602 cmp ip, #3
13603 ldrls r0, [r0, #0]
13604 bls .L5231
13605 ldr r1, [r0, #0]
13606 cmp r1, #0
13607 beq .L5221
13608 ands r3, r1, #255
13609 ldrne r2, [r8, #0]
13610 orrne r3, r6, r3
13611 orrne r3, r3, r2, asl #16
13612 strne r3, [r8, #0]
13613 mov r3, r1, lsr #8
13614 ands r3, r3, #255
13615 ldrne r2, [r8, #4]
13616 orrne r3, r6, r3
13617 orrne r3, r3, r2, asl #16
13618 strne r3, [r8, #4]
13619 mov r3, r1, lsr #16
13620 ands r3, r3, #255
13621 ldrne r2, [r8, #8]
13622 orrne r3, r6, r3
13623 orrne r3, r3, r2, asl #16
13624 strne r3, [r8, #8]
13625 movs r3, r1, lsr #24
13626 ldrne r2, [r8, #12]
13627 orrne r3, r6, r3
13628 orrne r3, r3, r2, asl #16
13629 strne r3, [r8, #12]
13630.L5221:
13631 subs ip, ip, #4
13632 ldr r0, [r0, #4]
13633 addne r8, r8, #16
13634 beq .L5444
13635.L5231:
13636 mov r1, #0
13637.L5232:
13638 ands r3, r0, #255
13639 orr r2, r6, r3
13640 ldrne r3, [r8, #0]
13641 add r1, r1, #1
13642 orrne r3, r2, r3, asl #16
13643 strne r3, [r8, #0]
13644 cmp ip, r1
13645 mov r0, r0, lsr #8
13646 add r8, r8, #4
13647 bhi .L5232
13648 b .L5444
13649.L5484:
13650 cmp ip, #3
13651 ldrls r0, [r0, #4]
13652 bls .L5031
13653 ldr r1, [r0, #4]
13654 cmp r1, #0
13655 beq .L5021
13656 ands r3, r1, #255
13657 ldrne r2, [r8, #12]
13658 orrne r3, r6, r3
13659 orrne r3, r3, r2, asl #16
13660 strne r3, [r8, #12]
13661 mov r3, r1, lsr #8
13662 ands r3, r3, #255
13663 ldrne r2, [r8, #8]
13664 orrne r3, r6, r3
13665 orrne r3, r3, r2, asl #16
13666 strne r3, [r8, #8]
13667 mov r3, r1, lsr #16
13668 ands r3, r3, #255
13669 ldrne r2, [r8, #4]
13670 orrne r3, r6, r3
13671 orrne r3, r3, r2, asl #16
13672 strne r3, [r8, #4]
13673 movs r3, r1, lsr #24
13674 ldrne r2, [r8, #0]
13675 orrne r3, r6, r3
13676 orrne r3, r3, r2, asl #16
13677 strne r3, [r8, #0]
13678.L5021:
13679 subs ip, ip, #4
13680 ldr r0, [r0, #0]
13681 addne r8, r8, #16
13682 beq .L5444
13683.L5031:
13684 mov r1, #0
13685.L5032:
13686 movs r3, r0, lsr #24
13687 orr r2, r6, r3
13688 ldrne r3, [r8, #0]
13689 add r1, r1, #1
13690 orrne r3, r2, r3, asl #16
13691 strne r3, [r8, #0]
13692 cmp ip, r1
13693 mov r0, r0, asl #8
13694 add r8, r8, #4
13695 bhi .L5032
13696 b .L5444
13697.L5473:
13698 cmp ip, #3
13699 bls .L5060
13700 cmp lr, #0
13701 ldr r2, [r5, #0]
13702 beq .L5062
13703 mov r3, ip, asl #3
13704 sub r3, r3, #32
13705 mov r1, r2, asl r3
13706 mov r4, #0
13707 mov r2, r8
13708.L5064:
13709 movs r3, r1, lsr #24
13710 orr ip, r6, r3
13711 ldrne r3, [r2, #0]
13712 add r4, r4, #1
13713 orrne r3, ip, r3, asl #16
13714 strne r3, [r2, #0]
13715 cmp lr, r4
13716 mov r1, r1, asl #8
13717 add r2, r2, #4
13718 bne .L5064
13719 add r8, r8, lr, asl #2
13720 b .L5062
13721.L5467:
13722 cmp r5, #0
13723 ldr r2, [r3, #0]
13724 beq .L5334
13725 mov r3, r1, asl #2
13726 mov r1, r2, asl r3
13727 orr r0, r6, r0
13728 mov r2, r8
13729 mov ip, #0
13730.L5336:
13731 movs r4, r1, lsr #28
13732 ldrne r3, [r2, #0]
13733 add ip, ip, #1
13734 orrne r3, r4, r3, asl #16
13735 orrne r3, r3, r0
13736 strne r3, [r2, #0]
13737 cmp r5, ip
13738 mov r1, r1, asl #4
13739 add r2, r2, #4
13740 bne .L5336
13741 add r8, r8, r5, asl #2
13742 b .L5334
13743.L5478:
13744 ldrh r4, [r7, #0]
13745 mov r3, r4, asl #22
13746 mov r3, r3, lsr #22
13747 tst r4, #2048
13748 add r0, lr, r3, asl #5
13749 ldrne r3, [sp, #8]
13750 mov r2, r4, lsr #12
13751 addne r0, r0, r3
13752 tst r4, #1024
13753 mov r2, r2, asl #4
13754 beq .L5244
13755 cmp fp, #0
13756 ldr r0, [r0, #0]
13757 beq .L5444
13758 mov r3, r1, asl #2
13759 mov r0, r0, asl r3
13760 orr r2, r6, r2
13761 mov lr, #0
13762.L5247:
13763 movs r1, r0, lsr #28
13764 ldrne r3, [r8, #0]
13765 add lr, lr, #1
13766 orrne r3, r1, r3, asl #16
13767 orrne r3, r3, r2
13768 strne r3, [r8, #0]
13769 cmp fp, lr
13770 mov r0, r0, asl #4
13771 add r8, r8, #4
13772 bne .L5247
13773 b .L5444
13774.L5481:
13775 ldrh r2, [r7, #0]
13776 tst r2, #2048
13777 mov r3, r2, asl #22
13778 ldrne r1, [sp, #4]
13779 mov r3, r3, lsr #22
13780 add r0, r0, r3, asl #6
13781 addne r0, r0, r1
13782 tst r2, #1024
13783 beq .L4863
13784 cmp ip, #3
13785 bls .L4865
13786 cmp fp, #0
13787 ldr r0, [r0, #0]
13788 beq .L5444
13789 mov r3, ip, asl #3
13790 sub r3, r3, #32
13791 mov r0, r0, asl r3
13792 mov r1, #0
13793.L4869:
13794 movs r3, r0, lsr #24
13795 orr r2, r6, r3
13796 ldrne r3, [r8, #0]
13797 add r1, r1, #1
13798 orrne r3, r2, r3, asl #16
13799 strne r3, [r8, #0]
13800 cmp fp, r1
13801 mov r0, r0, asl #8
13802 add r8, r8, #4
13803 bne .L4869
13804 b .L5444
13805.L5060:
13806 subs r9, lr, #4
13807 ldr r2, [r5, #4]
13808 beq .L5069
13809 mov r3, ip, asl #3
13810 sub r3, r3, #32
13811 mov r1, r2, asl r3
13812 mov r4, #0
13813 mov r2, r8
13814.L5071:
13815 movs r3, r1, lsr #24
13816 orr ip, r6, r3
13817 ldrne r3, [r2, #0]
13818 add r4, r4, #1
13819 orrne r3, ip, r3, asl #16
13820 strne r3, [r2, #0]
13821 cmp r9, r4
13822 mov r1, r1, asl #8
13823 add r2, r2, #4
13824 bne .L5071
13825 add r3, r8, lr, asl #2
13826 sub r8, r3, #16
13827.L5069:
13828 ldr r2, [r5, #0]
13829 cmp r2, #0
13830 beq .L5100
13831 ands r1, r2, #255
13832 ldrne r3, [r8, #12]
13833 orrne r3, r6, r3, asl #16
13834 orrne r3, r1, r3
13835 strne r3, [r8, #12]
13836 mov r3, r2, lsr #8
13837 ands r1, r3, #255
13838 ldrne r3, [r8, #8]
13839 orrne r3, r6, r3, asl #16
13840 orrne r3, r1, r3
13841 strne r3, [r8, #8]
13842 mov r3, r2, lsr #16
13843 ands r1, r3, #255
13844 ldrne r3, [r8, #4]
13845 orrne r3, r6, r3, asl #16
13846 orrne r3, r1, r3
13847 strne r3, [r8, #4]
13848 movs r2, r2, lsr #24
13849 ldrne r3, [r8, #0]
13850 orrne r3, r6, r3, asl #16
13851 orrne r3, r2, r3
13852 strne r3, [r8, #0]
13853.L5100:
13854 add r8, r8, #16
13855 mov lr, r9
13856 add r7, r7, #2
13857 b .L5055
13858.L5258:
13859 cmp r5, #0
13860 ldr r2, [r3, #0]
13861 beq .L5260
13862 mov r3, r1, asl #2
13863 mov r1, r2, lsr r3
13864 orr r0, r6, r0
13865 mov r2, r8
13866 mov r4, #0
13867.L5268:
13868 ands ip, r1, #15
13869 ldrne r3, [r2, #0]
13870 add r4, r4, #1
13871 orrne r3, ip, r3, asl #16
13872 orrne r3, r3, r0
13873 strne r3, [r2, #0]
13874 cmp r5, r4
13875 mov r1, r1, lsr #4
13876 add r2, r2, #4
13877 bne .L5268
13878 b .L5459
13879.L4920:
13880 cmp ip, #3
13881 bls .L4947
13882 cmp lr, #0
13883 ldr r1, [r5, #4]
13884 beq .L4924
13885 mov r3, ip, asl #3
13886 sub r3, r3, #32
13887 mov r1, r1, lsr r3
13888 mov r4, r2
13889 mov r2, r8
13890.L4950:
13891 ands r3, r1, #255
13892 orr ip, r6, r3
13893 ldrne r3, [r2, #0]
13894 add r4, r4, #1
13895 orrne r3, ip, r3, asl #16
13896 strne r3, [r2, #0]
13897 cmp lr, r4
13898 mov r1, r1, lsr #8
13899 add r2, r2, #4
13900 bne .L4950
13901 b .L5446
13902.L5244:
13903 cmp fp, #0
13904 ldr r0, [r0, #0]
13905 beq .L5444
13906 mov r3, r1, asl #2
13907 mov r0, r0, lsr r3
13908 orr r2, r6, r2
13909 mov lr, #0
13910.L5252:
13911 ands r1, r0, #15
13912 ldrne r3, [r8, #0]
13913 add lr, lr, #1
13914 orrne r3, r1, r3, asl #16
13915 orrne r3, r3, r2
13916 strne r3, [r8, #0]
13917 cmp fp, lr
13918 mov r0, r0, lsr #4
13919 add r8, r8, #4
13920 bne .L5252
13921 b .L5444
13922.L4863:
13923 cmp ip, #3
13924 bls .L4892
13925 cmp fp, #0
13926 ldr r0, [r0, #4]
13927 beq .L5444
13928 mov r3, ip, asl #3
13929 sub r3, r3, #32
13930 mov r0, r0, lsr r3
13931 mov r1, #0
13932.L4895:
13933 ands r3, r0, #255
13934 orr r2, r6, r3
13935 ldrne r3, [r8, #0]
13936 add r1, r1, #1
13937 orrne r3, r2, r3, asl #16
13938 strne r3, [r8, #0]
13939 cmp fp, r1
13940 mov r0, r0, lsr #8
13941 add r8, r8, #4
13942 bne .L4895
13943 b .L5444
13944.L5085:
13945 subs r9, lr, #4
13946 ldr r2, [r5, #0]
13947 beq .L5093
13948 mov r3, ip, asl #3
13949 mov r1, r2, lsr r3
13950 mov r4, #0
13951 mov r2, r8
13952.L5095:
13953 ands r3, r1, #255
13954 orr ip, r6, r3
13955 ldrne r3, [r2, #0]
13956 add r4, r4, #1
13957 orrne r3, ip, r3, asl #16
13958 strne r3, [r2, #0]
13959 cmp r9, r4
13960 mov r1, r1, lsr #8
13961 add r2, r2, #4
13962 bne .L5095
13963 add r3, r8, lr, asl #2
13964 sub r8, r3, #16
13965.L5093:
13966 ldr r2, [r5, #4]
13967 cmp r2, #0
13968 beq .L5100
13969 ands r1, r2, #255
13970 ldrne r3, [r8, #0]
13971 orrne r3, r6, r3, asl #16
13972 orrne r3, r1, r3
13973 strne r3, [r8, #0]
13974 mov r3, r2, lsr #8
13975 ands r1, r3, #255
13976 ldrne r3, [r8, #4]
13977 orrne r3, r6, r3, asl #16
13978 orrne r3, r1, r3
13979 strne r3, [r8, #4]
13980 mov r3, r2, lsr #16
13981 ands r1, r3, #255
13982 ldrne r3, [r8, #8]
13983 orrne r3, r6, r3, asl #16
13984 orrne r3, r1, r3
13985 strne r3, [r8, #8]
13986 movs r2, r2, lsr #24
13987 ldrne r3, [r8, #12]
13988 orrne r3, r6, r3, asl #16
13989 orrne r3, r2, r3
13990 strne r3, [r8, #12]
13991 b .L5100
13992.L4922:
13993 subs sl, lr, #4
13994 ldr r2, [r5, #4]
13995 beq .L4931
13996 mov r3, ip, asl #3
13997 sub r3, r3, #32
13998 mov r1, r2, asl r3
13999 mov r4, #0
14000 mov r2, r8
14001.L4933:
14002 movs r3, r1, lsr #24
14003 orr ip, r6, r3
14004 ldrne r3, [r2, #0]
14005 add r4, r4, #1
14006 orrne r3, ip, r3, asl #16
14007 strne r3, [r2, #0]
14008 cmp sl, r4
14009 mov r1, r1, asl #8
14010 add r2, r2, #4
14011 bne .L4933
14012 add r3, r8, lr, asl #2
14013 sub r8, r3, #16
14014.L4931:
14015 ldr r2, [r5, #0]
14016 cmp r2, #0
14017 beq .L4962
14018 ands r1, r2, #255
14019 ldrne r3, [r8, #12]
14020 orrne r3, r6, r3, asl #16
14021 orrne r3, r1, r3
14022 strne r3, [r8, #12]
14023 mov r3, r2, lsr #8
14024 ands r1, r3, #255
14025 ldrne r3, [r8, #8]
14026 orrne r3, r6, r3, asl #16
14027 orrne r3, r1, r3
14028 strne r3, [r8, #8]
14029 mov r3, r2, lsr #16
14030 ands r1, r3, #255
14031 ldrne r3, [r8, #4]
14032 orrne r3, r6, r3, asl #16
14033 orrne r3, r1, r3
14034 strne r3, [r8, #4]
14035 movs r2, r2, lsr #24
14036 ldrne r3, [r8, #0]
14037 orrne r3, r6, r3, asl #16
14038 orrne r3, r2, r3
14039 strne r3, [r8, #0]
14040.L4962:
14041 add r8, r8, #16
14042 b .L4924
14043.L4865:
14044 mov r3, ip, asl #3
14045 ldr r1, [r0, #4]
14046 add r2, fp, ip
14047 sub r3, r3, #32
14048 cmp r2, #4
14049 mov r1, r1, asl r3
14050 bhi .L4873
14051 cmp fp, #0
14052 movne r0, #0
14053 beq .L5444
14054.L4888:
14055 movs r3, r1, lsr #24
14056 orr r2, r6, r3
14057 ldrne r3, [r8, #0]
14058 add r0, r0, #1
14059 orrne r3, r2, r3, asl #16
14060 strne r3, [r8, #0]
14061 cmp fp, r0
14062 mov r1, r1, asl #8
14063 add r8, r8, #4
14064 bne .L4888
14065 b .L5444
14066.L4947:
14067 subs sl, lr, #4
14068 ldr r2, [r5, #0]
14069 beq .L4955
14070 mov r3, ip, asl #3
14071 mov r1, r2, lsr r3
14072 mov r4, #0
14073 mov r2, r8
14074.L4957:
14075 ands r3, r1, #255
14076 orr ip, r6, r3
14077 ldrne r3, [r2, #0]
14078 add r4, r4, #1
14079 orrne r3, ip, r3, asl #16
14080 strne r3, [r2, #0]
14081 cmp sl, r4
14082 mov r1, r1, lsr #8
14083 add r2, r2, #4
14084 bne .L4957
14085 add r3, r8, lr, asl #2
14086 sub r8, r3, #16
14087.L4955:
14088 ldr r2, [r5, #4]
14089 cmp r2, #0
14090 beq .L4962
14091 ands r1, r2, #255
14092 ldrne r3, [r8, #0]
14093 orrne r3, r6, r3, asl #16
14094 orrne r3, r1, r3
14095 strne r3, [r8, #0]
14096 mov r3, r2, lsr #8
14097 ands r1, r3, #255
14098 ldrne r3, [r8, #4]
14099 orrne r3, r6, r3, asl #16
14100 orrne r3, r1, r3
14101 strne r3, [r8, #4]
14102 mov r3, r2, lsr #16
14103 ands r1, r3, #255
14104 ldrne r3, [r8, #8]
14105 orrne r3, r6, r3, asl #16
14106 orrne r3, r1, r3
14107 strne r3, [r8, #8]
14108 movs r2, r2, lsr #24
14109 ldrne r3, [r8, #12]
14110 orrne r3, r6, r3, asl #16
14111 orrne r3, r2, r3
14112 strne r3, [r8, #12]
14113 add r8, r8, #16
14114 b .L4924
14115.L4892:
14116 add r2, fp, ip
14117 ldr r3, [r0, #0]
14118 cmp r2, #4
14119 mov r1, ip, asl #3
14120 mov r2, r3, lsr r1
14121 bhi .L4899
14122 cmp fp, #0
14123 movne r0, #0
14124 beq .L5444
14125.L4914:
14126 ands r3, r2, #255
14127 orr r1, r6, r3
14128 ldrne r3, [r8, #0]
14129 add r0, r0, #1
14130 orrne r3, r1, r3, asl #16
14131 strne r3, [r8, #0]
14132 cmp fp, r0
14133 mov r2, r2, lsr #8
14134 add r8, r8, #4
14135 bne .L4914
14136 b .L5444
14137.L4873:
14138 rsbs r5, ip, #4
14139 beq .L4876
14140 mov r2, r8
14141 mov r4, #0
14142.L4878:
14143 movs r3, r1, lsr #24
14144 orr ip, r6, r3
14145 ldrne r3, [r2, #0]
14146 add r4, r4, #1
14147 orrne r3, ip, r3, asl #16
14148 strne r3, [r2, #0]
14149 cmp r5, r4
14150 mov r1, r1, asl #8
14151 add r2, r2, #4
14152 bne .L4878
14153 add r8, r8, r5, asl #2
14154.L4876:
14155 subs ip, fp, r5
14156 ldr r0, [r0, #0]
14157 beq .L5444
14158 mov r1, #0
14159.L4884:
14160 movs r3, r0, lsr #24
14161 orr r2, r6, r3
14162 ldrne r3, [r8, #0]
14163 add r1, r1, #1
14164 orrne r3, r2, r3, asl #16
14165 strne r3, [r8, #0]
14166 cmp ip, r1
14167 mov r0, r0, asl #8
14168 add r8, r8, #4
14169 bne .L4884
14170 b .L5444
14171.L4899:
14172 rsbs r5, ip, #4
14173 beq .L4902
14174 mov r1, r8
14175 mov r4, #0
14176.L4904:
14177 ands r3, r2, #255
14178 orr ip, r6, r3
14179 ldrne r3, [r1, #0]
14180 add r4, r4, #1
14181 orrne r3, ip, r3, asl #16
14182 strne r3, [r1, #0]
14183 cmp r5, r4
14184 mov r2, r2, lsr #8
14185 add r1, r1, #4
14186 bne .L4904
14187 add r8, r8, r5, asl #2
14188.L4902:
14189 subs ip, fp, r5
14190 ldr r0, [r0, #4]
14191 beq .L5444
14192 mov r1, #0
14193.L4910:
14194 ands r3, r0, #255
14195 orr r2, r6, r3
14196 ldrne r3, [r8, #0]
14197 add r1, r1, #1
14198 orrne r3, r2, r3, asl #16
14199 strne r3, [r8, #0]
14200 cmp ip, r1
14201 mov r0, r0, lsr #8
14202 add r8, r8, #4
14203 bne .L4910
14204 b .L5444
14205 .size render_scanline_text_transparent_alpha, .-render_scanline_text_transparent_alpha
14206 .align 2
14207 .global render_scanline_affine_base_normal
14208 .type render_scanline_affine_base_normal, %function
14209render_scanline_affine_base_normal:
14210 @ args = 0, pretend = 0, frame = 24
14211 @ frame_needed = 0, uses_anonymous_args = 0
14212 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
14213 ldr r5, .L5544
14214 mov lr, r0, asl #4
14215 add ip, r5, r0, asl #1
14216 ldrh r4, [ip, #8]
14217 ldr ip, .L5544+4
14218 sub r0, r0, #2
14219 sub lr, lr, #32
14220 add lr, lr, r5
14221 ldr sl, [ip, r0, asl #2]
14222 ldr ip, .L5544+8
14223 ldrsh fp, [lr, #36]
14224 mov r6, r4, lsr #14
14225 ldr r7, .L5544+12
14226 mov r5, r4, lsr #12
14227 ldrsh r9, [lr, #32]
14228 mov lr, r4, asl #3
14229 mov r4, r4, asl #12
14230 ldr r8, [ip, r0, asl #2]
14231 and r5, r5, #2
14232 and lr, lr, #63488
14233 and r4, r4, #49152
14234 sub sp, sp, #24
14235 add ip, r6, #7
14236 add r4, r4, r7
14237 add lr, lr, r7
14238 mov r0, #1
14239 add r6, r6, #4
14240 cmp fp, #0
14241 orrne r5, r5, #1
14242 mov r0, r0, asl ip
14243 str r4, [sp, #16]
14244 mla ip, r9, r1, r8
14245 rsb r4, r1, r2
14246 str r6, [sp, #8]
14247 str lr, [sp, #12]
14248 add r7, r3, r1, asl #1
14249 mla r8, fp, r1, sl
14250 cmp r5, #3
14251 ldrls pc, [pc, r5, asl #2]
14252 b .L5531
14253 .p2align 2
14254.L5493:
14255 .word .L5489
14256 .word .L5490
14257 .word .L5491
14258 .word .L5492
14259.L5491:
14260 sub sl, r0, #1
14261 and r3, sl, r8, asr #8
14262 cmp r0, r3
14263 bhi .L5541
14264.L5531:
14265 add sp, sp, #24
14266 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
14267.L5489:
14268 mov r3, r8, asr #8
14269 ldr sl, .L5544+16
14270 cmp r0, r3
14271 ldrh r1, [sl, #0]
14272 bls .L5497
14273 ldr r5, [sp, #12]
14274 ldr lr, [sp, #8]
14275 mov r2, r3, lsr #3
14276 add r6, r5, r2, asl lr
14277 ldr r2, [sp, #16]
14278 and r3, r3, #7
14279 cmp r4, #0
14280 add fp, r2, r3, asl #3
14281 beq .L5497
14282 mov r5, ip, asr #8
14283 cmp r0, r5
14284 movhi r8, #0
14285 bhi .L5536
14286 mov r3, r1, asl #16
14287 mov r3, r3, lsr #16
14288 mov r8, #0
14289.L5504:
14290 add r8, r8, #1
14291 add ip, ip, r9
14292 cmp r4, r8
14293 mov r2, ip, asr #8
14294 strh r3, [r7], #2 @ movhi
14295 beq .L5496
14296 cmp r0, r2
14297 bls .L5504
14298 mov r5, r2
14299 b .L5536
14300.L5490:
14301 ldr r5, .L5544+16
14302 cmp r4, #0
14303 ldrh r3, [r5, #0]
14304 beq .L5531
14305 mov r1, r8, asr #8
14306 mov r5, ip, asr #8
14307 cmp r0, r5
14308 cmphi r0, r1
14309 movls r2, #0
14310 movhi r2, #1
14311 movls r3, r3, asl #16
14312 movls r1, r3, lsr #16
14313 movls sl, r2
14314 bls .L5512
14315 b .L5543
14316.L5513:
14317 cmp r0, r2
14318 cmphi r0, r3
14319 bhi .L5514
14320.L5512:
14321 add sl, sl, #1
14322 add ip, ip, r9
14323 add r8, r8, fp
14324 cmp r4, sl
14325 strh r1, [r7, #0] @ movhi
14326 mov r2, ip, asr #8
14327 mov r3, r8, asr #8
14328 add r7, r7, #2
14329 bne .L5513
14330 b .L5531
14331.L5492:
14332 cmp r4, #0
14333 sub lr, r0, #1
14334 beq .L5531
14335 mvn r6, #0
14336 mov r0, #0
14337.L5527:
14338 and r3, lr, r8, asr #8
14339 ldr r5, [sp, #8]
14340 mov r2, r3, lsr #3
14341 mov r2, r2, asl r5
14342 and r1, lr, ip, asr #8
14343 and sl, r3, #7
14344 add r3, r2, r1, lsr #3
14345 cmp r3, r6
14346 and r5, r1, #7
14347 ldrne r1, [sp, #12]
14348 mov r6, r3
14349 ldrne r2, [sp, #16]
14350 ldrneb r3, [r1, r3] @ zero_extendqisi2
14351 add r0, r0, #1
14352 addne r3, r2, r3, asl #6
14353 strne r3, [sp, #4]
14354 ldr r3, [sp, #4]
14355 cmp r4, r0
14356 add r2, r3, sl, asl #3
14357 ldrb r3, [r2, r5] @ zero_extendqisi2
14358 ldr r5, .L5544+16
14359 mov r3, r3, asl #1
14360 ldrh r3, [r3, r5]
14361 add ip, ip, r9
14362 strh r3, [r7, #0] @ movhi
14363 add r8, r8, fp
14364 add r7, r7, #2
14365 bne .L5527
14366 b .L5531
14367.L5541:
14368 ldr r0, [sp, #12]
14369 ldr r1, [sp, #8]
14370 mov r2, r3, lsr #3
14371 add r6, r0, r2, asl r1
14372 ldr r2, [sp, #16]
14373 and r3, r3, #7
14374 cmp r4, #0
14375 add r5, r2, r3, asl #3
14376 beq .L5531
14377 ldr lr, .L5544+16
14378 mov r0, #0
14379.L5525:
14380 and r3, sl, ip, asr #8
14381 ldrb r1, [r6, r3, lsr #3] @ zero_extendqisi2
14382 and r3, r3, #7
14383 add r3, r3, r1, asl #6
14384 ldrb r2, [r3, r5] @ zero_extendqisi2
14385 add r0, r0, #1
14386 mov r2, r2, asl #1
14387 ldrh r2, [r2, lr]
14388 cmp r4, r0
14389 strh r2, [r7], #2 @ movhi
14390 add ip, ip, r9
14391 bne .L5525
14392 b .L5531
14393.L5497:
14394 mov r8, #0
14395.L5496:
14396 cmp r8, r4
14397 ldrh r3, [sl, #0]
14398 bcs .L5531
14399 mov r3, r3, asl #16
14400 rsb r2, r8, r4
14401 mov r3, r3, lsr #16
14402 mov r1, #0
14403.L5508:
14404 add r1, r1, #1
14405 cmp r2, r1
14406 strh r3, [r7], #2 @ movhi
14407 bne .L5508
14408 b .L5531
14409.L5506:
14410 cmp r0, r5
14411 bls .L5496
14412.L5536:
14413 ldrb r3, [r6, r5, lsr #3] @ zero_extendqisi2
14414 and r2, r5, #7
14415 add r2, r2, r3, asl #6
14416 ldrb r1, [r2, fp] @ zero_extendqisi2
14417 add r8, r8, #1
14418 mov r1, r1, asl #1
14419 ldrh r1, [r1, sl]
14420 add ip, ip, r9
14421 cmp r4, r8
14422 mov r5, ip, asr #8
14423 strh r1, [r7], #2 @ movhi
14424 bhi .L5506
14425 b .L5496
14426.L5514:
14427 mov r5, r2
14428 mov r1, r3
14429.L5515:
14430 cmp r0, r1
14431 cmphi r0, r5
14432 mvnhi r6, #0
14433 bhi .L5519
14434 b .L5516
14435.L5518:
14436 cmp r0, r1
14437 cmphi r0, r5
14438 bls .L5516
14439.L5519:
14440 ldr r2, [sp, #8]
14441 mov r3, r1, lsr #3
14442 mov r3, r3, asl r2
14443 add r3, r3, r5, lsr #3
14444 cmp r3, r6
14445 ldrne r2, [sp, #12]
14446 and r1, r1, #7
14447 str r1, [sp, #0]
14448 mov r6, r3
14449 ldrneb r3, [r2, r3] @ zero_extendqisi2
14450 ldrne r2, [sp, #16]
14451 and lr, r5, #7
14452 addne r3, r2, r3, asl #6
14453 strne r3, [sp, #20]
14454 ldr r2, [sp, #0]
14455 ldr r3, [sp, #20]
14456 add sl, sl, #1
14457 add r3, r3, r2, asl #3
14458 str r3, [sp, #0]
14459 ldrb r3, [r3, lr] @ zero_extendqisi2
14460 ldr lr, .L5544+16
14461 mov r3, r3, asl #1
14462 ldrh r3, [r3, lr]
14463 add ip, ip, r9
14464 add r8, r8, fp
14465 cmp r4, sl
14466 strh r3, [r7, #0] @ movhi
14467 mov r1, r8, asr #8
14468 mov r5, ip, asr #8
14469 add r7, r7, #2
14470 bhi .L5518
14471 b .L5531
14472.L5516:
14473 ldr lr, .L5544+16
14474 ldrh r3, [lr, #0]
14475.L5520:
14476 add sl, sl, #1
14477 cmp r4, sl
14478 strh r3, [r7], #2 @ movhi
14479 bhi .L5520
14480 b .L5531
14481.L5543:
14482 mov sl, #0
14483 b .L5515
14484.L5545:
14485 .align 2
14486.L5544:
14487 .word io_registers
14488 .word affine_reference_y
14489 .word affine_reference_x
14490 .word vram
14491 .word palette_ram_converted
14492 .size render_scanline_affine_base_normal, .-render_scanline_affine_base_normal
14493 .align 2
14494 .global render_scanline_affine_transparent_normal
14495 .type render_scanline_affine_transparent_normal, %function
14496render_scanline_affine_transparent_normal:
14497 @ args = 0, pretend = 0, frame = 28
14498 @ frame_needed = 0, uses_anonymous_args = 0
14499 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
14500 ldr r5, .L5602
14501 mov lr, r0, asl #4
14502 add ip, r5, r0, asl #1
14503 ldrh r4, [ip, #8]
14504 ldr ip, .L5602+4
14505 sub r0, r0, #2
14506 sub lr, lr, #32
14507 add lr, lr, r5
14508 ldr sl, [ip, r0, asl #2]
14509 ldr ip, .L5602+8
14510 ldrsh fp, [lr, #36]
14511 mov r6, r4, lsr #14
14512 ldr r7, .L5602+12
14513 mov r5, r4, lsr #12
14514 ldrsh r9, [lr, #32]
14515 mov lr, r4, asl #3
14516 mov r4, r4, asl #12
14517 ldr r8, [ip, r0, asl #2]
14518 and r5, r5, #2
14519 and lr, lr, #63488
14520 and r4, r4, #49152
14521 sub sp, sp, #28
14522 add ip, r6, #7
14523 add r4, r4, r7
14524 add lr, lr, r7
14525 mov r0, #1
14526 add r6, r6, #4
14527 cmp fp, #0
14528 orrne r5, r5, #1
14529 mov r0, r0, asl ip
14530 str r4, [sp, #16]
14531 str lr, [sp, #12]
14532 rsb r4, r1, r2
14533 str r6, [sp, #8]
14534 add lr, r3, r1, asl #1
14535 mla ip, r9, r1, r8
14536 mla r7, fp, r1, sl
14537 cmp r5, #3
14538 ldrls pc, [pc, r5, asl #2]
14539 b .L5594
14540 .p2align 2
14541.L5552:
14542 .word .L5548
14543 .word .L5549
14544 .word .L5550
14545 .word .L5551
14546.L5548:
14547 mov r3, r7, asr #8
14548 cmp r0, r3
14549 bhi .L5597
14550.L5594:
14551 add sp, sp, #28
14552 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
14553.L5549:
14554 cmp r4, #0
14555 beq .L5594
14556 mov r5, ip, asr #8
14557 mov r1, r7, asr #8
14558 cmp r0, r5
14559 cmphi r0, r1
14560 movls r3, #0
14561 movhi r3, #1
14562 movls r8, r3
14563 bls .L5556
14564 b .L5600
14565.L5570:
14566 cmp r0, r2
14567 cmphi r0, r3
14568 bhi .L5571
14569.L5556:
14570 add r8, r8, #1
14571 add ip, ip, r9
14572 add r7, r7, fp
14573 cmp r4, r8
14574 mov r2, ip, asr #8
14575 mov r3, r7, asr #8
14576 add lr, lr, #2
14577 bne .L5570
14578 b .L5594
14579.L5550:
14580 sub r8, r0, #1
14581 and r3, r8, r7, asr #8
14582 cmp r0, r3
14583 bls .L5594
14584 ldr r0, [sp, #12]
14585 ldr r1, [sp, #8]
14586 mov r2, r3, lsr #3
14587 add r6, r0, r2, asl r1
14588 ldr r2, [sp, #16]
14589 and r3, r3, #7
14590 cmp r4, #0
14591 add r5, r2, r3, asl #3
14592 beq .L5594
14593 ldr r7, .L5602+16
14594 mov r0, #0
14595.L5583:
14596 and r3, r8, ip, asr #8
14597 ldrb r2, [r6, r3, lsr #3] @ zero_extendqisi2
14598 and r3, r3, #7
14599 add r3, r3, r2, asl #6
14600 ldrb r1, [r3, r5] @ zero_extendqisi2
14601 mov r3, r0, asl #1
14602 cmp r1, #0
14603 mov r1, r1, asl #1
14604 ldrneh r1, [r1, r7]
14605 add r0, r0, #1
14606 strneh r1, [r3, lr] @ movhi
14607 cmp r4, r0
14608 add ip, ip, r9
14609 bne .L5583
14610 b .L5594
14611.L5551:
14612 cmp r4, #0
14613 sub r6, r0, #1
14614 beq .L5594
14615 mvn r3, #0
14616 str r3, [sp, #24]
14617 mov r5, #0
14618.L5588:
14619 and r3, r6, r7, asr #8
14620 ldr sl, [sp, #8]
14621 mov r2, r3, lsr #3
14622 mov r2, r2, asl sl
14623 and r1, r6, ip, asr #8
14624 and r0, r3, #7
14625 and r8, r1, #7
14626 add r3, r2, r1, lsr #3
14627 ldr r1, [sp, #24]
14628 str r3, [sp, #24]
14629 cmp r3, r1
14630 ldrne r2, [sp, #12]
14631 ldrne r1, [sp, #16]
14632 ldrneb r3, [r2, r3] @ zero_extendqisi2
14633 mov sl, r5, asl #1
14634 addne r3, r1, r3, asl #6
14635 strne r3, [sp, #4]
14636 ldr r2, [sp, #4]
14637 add r5, r5, #1
14638 add r3, r2, r0, asl #3
14639 ldrb r2, [r3, r8] @ zero_extendqisi2
14640 add ip, ip, r9
14641 cmp r2, #0
14642 ldrne r3, .L5602+16
14643 mov r1, r2, asl #1
14644 ldrneh r1, [r1, r3]
14645 add r7, r7, fp
14646 strneh r1, [sl, lr] @ movhi
14647 cmp r4, r5
14648 bne .L5588
14649 b .L5594
14650.L5597:
14651 ldr r1, [sp, #12]
14652 ldr r5, [sp, #8]
14653 ldr sl, [sp, #16]
14654 mov r2, r3, lsr #3
14655 cmp r4, #0
14656 and r3, r3, #7
14657 add r6, r1, r2, asl r5
14658 add r8, sl, r3, asl #3
14659 beq .L5594
14660 mov r5, ip, asr #8
14661 cmp r0, r5
14662 movls r7, #0
14663 bls .L5563
14664 b .L5601
14665.L5561:
14666 cmp r0, r2
14667 add lr, lr, #2
14668 bhi .L5562
14669.L5563:
14670 add r7, r7, #1
14671 add ip, ip, r9
14672 cmp r4, r7
14673 mov r2, ip, asr #8
14674 bne .L5561
14675 b .L5594
14676.L5571:
14677 mov r5, r2
14678 mov r1, r3
14679.L5572:
14680 cmp r1, r0
14681 movcc r3, #0
14682 movcs r3, #1
14683 cmp r0, r5
14684 orrls r3, r3, #1
14685 cmp r3, #0
14686 mvneq r6, #0
14687 beq .L5574
14688 b .L5594
14689.L5575:
14690 cmp r0, r1
14691 cmphi r0, r5
14692 bls .L5594
14693.L5574:
14694 ldr r2, [sp, #8]
14695 mov r3, r1, lsr #3
14696 mov r3, r3, asl r2
14697 add r3, r3, r5, lsr #3
14698 cmp r3, r6
14699 and r2, r5, #7
14700 str r2, [sp, #0]
14701 ldrne r2, [sp, #12]
14702 mov r6, r3
14703 ldrneb r3, [r2, r3] @ zero_extendqisi2
14704 ldrne r2, [sp, #16]
14705 and sl, r1, #7
14706 addne r3, r2, r3, asl #6
14707 strne r3, [sp, #20]
14708 ldr r2, [sp, #20]
14709 add r8, r8, #1
14710 add r3, r2, sl, asl #3
14711 ldr sl, [sp, #0]
14712 add ip, ip, r9
14713 ldrb r2, [r3, sl] @ zero_extendqisi2
14714 add r7, r7, fp
14715 cmp r2, #0
14716 ldrne r3, .L5602+16
14717 mov r2, r2, asl #1
14718 ldrneh r2, [r2, r3]
14719 mov r1, r7, asr #8
14720 strneh r2, [lr, #0] @ movhi
14721 cmp r4, r8
14722 mov r5, ip, asr #8
14723 add lr, lr, #2
14724 bhi .L5575
14725 b .L5594
14726.L5562:
14727 mov r5, r2
14728.L5564:
14729 cmp r5, r0
14730 bcc .L5596
14731 b .L5594
14732.L5566:
14733 cmp r0, r5
14734 bls .L5594
14735.L5596:
14736 ldrb r3, [r6, r5, lsr #3] @ zero_extendqisi2
14737 and r2, r5, #7
14738 add r2, r2, r3, asl #6
14739 ldrb r1, [r2, r8] @ zero_extendqisi2
14740 add r7, r7, #1
14741 cmp r1, #0
14742 ldrne r3, .L5602+16
14743 mov r1, r1, asl #1
14744 ldrneh r1, [r1, r3]
14745 add ip, ip, r9
14746 strneh r1, [lr, #0] @ movhi
14747 cmp r4, r7
14748 mov r5, ip, asr #8
14749 add lr, lr, #2
14750 bhi .L5566
14751 b .L5594
14752.L5600:
14753 mov r8, #0
14754 b .L5572
14755.L5601:
14756 mov r7, #0
14757 b .L5564
14758.L5603:
14759 .align 2
14760.L5602:
14761 .word io_registers
14762 .word affine_reference_y
14763 .word affine_reference_x
14764 .word vram
14765 .word palette_ram_converted
14766 .size render_scanline_affine_transparent_normal, .-render_scanline_affine_transparent_normal
14767 .align 2
14768 .global render_scanline_affine_base_color16
14769 .type render_scanline_affine_base_color16, %function
14770render_scanline_affine_base_color16:
14771 @ args = 0, pretend = 0, frame = 36
14772 @ frame_needed = 0, uses_anonymous_args = 0
14773 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
14774 ldr r5, .L5672
14775 add r7, r0, #7
14776 ldrh r6, [r5, #80]
14777 mov lr, r0, asl #4
14778 mov sl, r6, asr r0
14779 mov r7, r6, asr r7
14780 sub lr, lr, #32
14781 add ip, r5, r0, asl #1
14782 add lr, lr, r5
14783 ldrh r4, [ip, #8]
14784 ldrsh ip, [lr, #36]
14785 sub sp, sp, #36
14786 str ip, [sp, #24]
14787 ldr ip, .L5672+4
14788 sub r0, r0, #2
14789 ldr ip, [ip, r0, asl #2]
14790 mov r8, r4, lsr #12
14791 str ip, [sp, #4]
14792 ldr ip, .L5672+8
14793 mov r9, r4, lsr #14
14794 ldr r0, [ip, r0, asl #2]
14795 ldrsh lr, [lr, #32]
14796 str r0, [sp, #8]
14797 ldr r0, [sp, #24]
14798 and r8, r8, #2
14799 add ip, r9, #7
14800 cmp r0, #0
14801 orrne r8, r8, #1
14802 mov r0, #1
14803 mov r5, r6, lsr #12
14804 str lr, [sp, #12]
14805 mov ip, r0, asl ip
14806 mov lr, r4, asl #3
14807 ldr r0, .L5672+12
14808 mov r4, r4, asl #12
14809 and r7, r7, #2
14810 mov r6, r6, asl #26
14811 and r5, r5, #2
14812 and sl, sl, #1
14813 and lr, lr, #63488
14814 and r4, r4, #49152
14815 orr r5, r5, r6, lsr #31
14816 orr sl, sl, r7
14817 add r4, r4, r0
14818 add lr, lr, r0
14819 rsb fp, r1, r2
14820 add r7, r3, r1, asl #1
14821 ldr r6, [sp, #8]
14822 ldr r2, [sp, #12]
14823 ldr r0, [sp, #4]
14824 ldr r3, [sp, #24]
14825 mov r5, r5, asl #9
14826 mov sl, sl, asl #9
14827 str r4, [sp, #32]
14828 str r5, [sp, #16]
14829 str sl, [sp, #20]
14830 add r9, r9, #4
14831 str lr, [sp, #28]
14832 mla r6, r2, r1, r6
14833 mla r0, r3, r1, r0
14834 cmp r8, #3
14835 ldrls pc, [pc, r8, asl #2]
14836 b .L5661
14837 .p2align 2
14838.L5610:
14839 .word .L5606
14840 .word .L5607
14841 .word .L5608
14842 .word .L5609
14843.L5608:
14844 sub lr, ip, #1
14845 and r3, lr, r0, asr #8
14846 cmp ip, r3
14847 bhi .L5669
14848.L5661:
14849 add sp, sp, #36
14850 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
14851.L5606:
14852 mov r3, r0, asr #8
14853 cmp ip, r3
14854 movls r0, #0
14855 bls .L5617
14856 ldr r0, [sp, #28]
14857 ldr r1, [sp, #32]
14858 mov r2, r3, lsr #3
14859 cmp fp, #0
14860 and r3, r3, #7
14861 add r9, r0, r2, asl r9
14862 add r4, r1, r3, asl #3
14863 beq .L5661
14864 mov r2, r6, asr #8
14865 cmp ip, r2
14866 movhi r0, #0
14867 bhi .L5664
14868 ldr r2, [sp, #16]
14869 mov r0, #0
14870 mov r3, r2, asl #16
14871 mov r3, r3, lsr #16
14872 b .L5625
14873.L5623:
14874 cmp ip, r2
14875 bhi .L5664
14876.L5625:
14877 ldr r1, [sp, #12]
14878 add r0, r0, #1
14879 add r6, r6, r1
14880 cmp fp, r0
14881 mov r2, r6, asr #8
14882 strh r3, [r7], #2 @ movhi
14883 bne .L5623
14884.L5617:
14885 cmp r0, fp
14886 bcs .L5661
14887 ldr r2, [sp, #16]
14888 mov r1, #0
14889 mov r3, r2, asl #16
14890 mov r3, r3, lsr #16
14891 rsb r2, r0, fp
14892.L5632:
14893 add r1, r1, #1
14894 cmp r1, r2
14895 strh r3, [r7], #2 @ movhi
14896 bne .L5632
14897 b .L5661
14898.L5607:
14899 cmp fp, #0
14900 beq .L5661
14901 mov r1, r6, asr #8
14902 mov r2, r0, asr #8
14903 cmp ip, r1
14904 cmphi ip, r2
14905 ldrls r4, [sp, #16]
14906 movls r8, #0
14907 movhi r8, #1
14908 movls r3, r4, asl #16
14909 movls r1, r3, lsr #16
14910 bls .L5614
14911 b .L5671
14912.L5633:
14913 cmp ip, r2
14914 cmphi ip, r3
14915 bhi .L5634
14916.L5614:
14917 ldr r3, [sp, #12]
14918 ldr r4, [sp, #24]
14919 add r8, r8, #1
14920 add r6, r6, r3
14921 add r0, r0, r4
14922 cmp fp, r8
14923 strh r1, [r7, #0] @ movhi
14924 mov r2, r6, asr #8
14925 mov r3, r0, asr #8
14926 add r7, r7, #2
14927 bne .L5633
14928 b .L5661
14929.L5609:
14930 cmp fp, #0
14931 sub sl, ip, #1
14932 beq .L5661
14933 mvn r5, #0
14934 mov r4, #0
14935.L5654:
14936 and r3, sl, r0, asr #8
14937 mov r2, r3, lsr #3
14938 mov r2, r2, asl r9
14939 and r1, sl, r6, asr #8
14940 add ip, r2, r1, lsr #3
14941 cmp ip, r5
14942 and r8, r1, #7
14943 ldrne r1, [sp, #28]
14944 and lr, r3, #7
14945 ldrne r2, [sp, #32]
14946 ldrneb r3, [r1, ip] @ zero_extendqisi2
14947 add r4, r4, #1
14948 addne r3, r2, r3, asl #6
14949 strne r3, [sp, #0]
14950 ldr r1, [sp, #0]
14951 mov r5, ip
14952 add r3, r1, lr, asl #3
14953 ldrb r2, [r3, r8] @ zero_extendqisi2
14954 ldr r3, [sp, #20]
14955 cmp r2, #0
14956 orr r1, r2, r3
14957 ldreq r1, [sp, #16]
14958 ldr r2, [sp, #12]
14959 ldr r3, [sp, #24]
14960 cmp fp, r4
14961 strh r1, [r7, #0] @ movhi
14962 add r6, r6, r2
14963 add r0, r0, r3
14964 add r7, r7, #2
14965 bne .L5654
14966 b .L5661
14967.L5669:
14968 ldr r4, [sp, #28]
14969 ldr ip, [sp, #32]
14970 mov r2, r3, lsr #3
14971 cmp fp, #0
14972 and r3, r3, #7
14973 add r9, r4, r2, asl r9
14974 add r4, ip, r3, asl #3
14975 beq .L5661
14976 mov r0, #0
14977.L5648:
14978 and r3, lr, r6, asr #8
14979 ldrb r1, [r9, r3, lsr #3] @ zero_extendqisi2
14980 and r3, r3, #7
14981 add r3, r3, r1, asl #6
14982 ldrb r2, [r3, r4] @ zero_extendqisi2
14983 ldr r1, [sp, #20]
14984 cmp r2, #0
14985 add r0, r0, #1
14986 orr r2, r2, r1
14987 ldr r3, [sp, #12]
14988 ldreq r2, [sp, #16]
14989 cmp fp, r0
14990 strh r2, [r7, #0] @ movhi
14991 add r6, r6, r3
14992 add r7, r7, #2
14993 bne .L5648
14994 b .L5661
14995.L5627:
14996 cmp ip, r2
14997 bls .L5617
14998.L5664:
14999 ldrb r3, [r9, r2, lsr #3] @ zero_extendqisi2
15000 and r2, r2, #7
15001 add r2, r2, r3, asl #6
15002 ldrb r1, [r2, r4] @ zero_extendqisi2
15003 ldr r2, [sp, #20]
15004 cmp r1, #0
15005 orr r1, r1, r2
15006 strneh r1, [r7, #0] @ movhi
15007 ldreq r3, [sp, #16]
15008 ldr r1, [sp, #12]
15009 add r0, r0, #1
15010 streqh r3, [r7, #0] @ movhi
15011 add r6, r6, r1
15012 cmp fp, r0
15013 add r7, r7, #2
15014 mov r2, r6, asr #8
15015 bhi .L5627
15016 b .L5617
15017.L5634:
15018 mov r1, r2
15019 mov r2, r3
15020.L5635:
15021 cmp r2, ip
15022 cmpcc r1, ip
15023 mvncc r4, #0
15024 bcc .L5639
15025 b .L5636
15026.L5638:
15027 cmp ip, r2
15028 cmphi ip, r1
15029 bls .L5636
15030.L5639:
15031 mov r3, r2, lsr #3
15032 mov r3, r3, asl r9
15033 and lr, r2, #7
15034 and r2, r1, #7
15035 add r1, r3, r1, lsr #3
15036 cmp r1, r4
15037 ldrne r4, [sp, #28]
15038 add r8, r8, #1
15039 ldrneb r3, [r4, r1] @ zero_extendqisi2
15040 ldrne r4, [sp, #32]
15041 addne r5, r4, r3, asl #6
15042 add r3, r5, lr, asl #3
15043 ldrb r2, [r3, r2] @ zero_extendqisi2
15044 ldr r3, [sp, #20]
15045 cmp r2, #0
15046 orr r2, r2, r3
15047 strneh r2, [r7, #0] @ movhi
15048 ldreq r4, [sp, #16]
15049 ldr r2, [sp, #12]
15050 ldr r3, [sp, #24]
15051 streqh r4, [r7, #0] @ movhi
15052 add r6, r6, r2
15053 add r0, r0, r3
15054 cmp fp, r8
15055 mov r4, r1
15056 add r7, r7, #2
15057 mov r1, r6, asr #8
15058 mov r2, r0, asr #8
15059 bhi .L5638
15060 b .L5661
15061.L5636:
15062 ldr r4, [sp, #16]
15063 mov r3, r4, asl #16
15064 mov r3, r3, lsr #16
15065.L5640:
15066 add r8, r8, #1
15067 cmp fp, r8
15068 strh r3, [r7], #2 @ movhi
15069 bhi .L5640
15070 b .L5661
15071.L5671:
15072 mov r8, #0
15073 b .L5635
15074.L5673:
15075 .align 2
15076.L5672:
15077 .word io_registers
15078 .word affine_reference_y
15079 .word affine_reference_x
15080 .word vram
15081 .size render_scanline_affine_base_color16, .-render_scanline_affine_base_color16
15082 .align 2
15083 .global render_scanline_affine_transparent_color16
15084 .type render_scanline_affine_transparent_color16, %function
15085render_scanline_affine_transparent_color16:
15086 @ args = 0, pretend = 0, frame = 36
15087 @ frame_needed = 0, uses_anonymous_args = 0
15088 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
15089 ldr r5, .L5730
15090 add r7, r0, #7
15091 ldrh r6, [r5, #80]
15092 add ip, r5, r0, asl #1
15093 mov r7, r6, asr r7
15094 mov r6, r6, asr r0
15095 ldrh r4, [ip, #8]
15096 mov lr, r0, asl #4
15097 ldr ip, .L5730+4
15098 sub r0, r0, #2
15099 sub lr, lr, #32
15100 add lr, lr, r5
15101 ldr ip, [ip, r0, asl #2]
15102 sub sp, sp, #36
15103 ldrsh r9, [lr, #36]
15104 mov r8, r4, lsr #14
15105 mov r5, r4, lsr #12
15106 str ip, [sp, #8]
15107 ldrsh fp, [lr, #32]
15108 ldr ip, .L5730+8
15109 ldr sl, .L5730+12
15110 mov lr, r4, asl #3
15111 mov r4, r4, asl #12
15112 str r9, [sp, #16]
15113 and r4, r4, #49152
15114 ldr r9, [ip, r0, asl #2]
15115 and r7, r7, #2
15116 ldr ip, [sp, #16]
15117 add r4, r4, sl
15118 and r6, r6, #1
15119 orr r6, r6, r7
15120 and r5, r5, #2
15121 and lr, lr, #63488
15122 str r4, [sp, #24]
15123 ldr r7, [sp, #8]
15124 rsb r4, r1, r2
15125 ldr r2, [sp, #16]
15126 add lr, lr, sl
15127 cmp ip, #0
15128 orrne r5, r5, #1
15129 mov r0, #1
15130 add ip, r8, #7
15131 mov r6, r6, asl #9
15132 mov r0, r0, asl ip
15133 str lr, [sp, #20]
15134 str r6, [sp, #12]
15135 add r8, r8, #4
15136 add lr, r3, r1, asl #1
15137 mla ip, fp, r1, r9
15138 mla r7, r2, r1, r7
15139 cmp r5, #3
15140 ldrls pc, [pc, r5, asl #2]
15141 b .L5722
15142 .p2align 2
15143.L5680:
15144 .word .L5676
15145 .word .L5677
15146 .word .L5678
15147 .word .L5679
15148.L5676:
15149 mov r3, r7, asr #8
15150 cmp r0, r3
15151 bhi .L5725
15152.L5722:
15153 add sp, sp, #36
15154 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
15155.L5677:
15156 cmp r4, #0
15157 beq .L5722
15158 mov r5, ip, asr #8
15159 mov r1, r7, asr #8
15160 cmp r0, r5
15161 cmphi r0, r1
15162 movls r3, #0
15163 movhi r3, #1
15164 movls sl, r3
15165 bls .L5684
15166 b .L5728
15167.L5698:
15168 cmp r0, r2
15169 cmphi r0, r3
15170 bhi .L5699
15171.L5684:
15172 ldr r3, [sp, #16]
15173 add sl, sl, #1
15174 add ip, ip, fp
15175 add r7, r7, r3
15176 cmp r4, sl
15177 mov r2, ip, asr #8
15178 mov r3, r7, asr #8
15179 add lr, lr, #2
15180 bne .L5698
15181 b .L5722
15182.L5678:
15183 sub r6, r0, #1
15184 and r3, r6, r7, asr #8
15185 cmp r0, r3
15186 bls .L5722
15187 ldr r9, [sp, #20]
15188 ldr r0, [sp, #24]
15189 mov r2, r3, lsr #3
15190 cmp r4, #0
15191 and r3, r3, #7
15192 add r8, r9, r2, asl r8
15193 add r5, r0, r3, asl #3
15194 beq .L5722
15195 mov r0, #0
15196.L5711:
15197 and r3, r6, ip, asr #8
15198 ldrb r2, [r8, r3, lsr #3] @ zero_extendqisi2
15199 and r3, r3, #7
15200 add r3, r3, r2, asl #6
15201 ldrb r1, [r3, r5] @ zero_extendqisi2
15202 ldr r2, [sp, #12]
15203 cmp r1, #0
15204 mov r3, r0, asl #1
15205 orr r1, r1, r2
15206 add r0, r0, #1
15207 strneh r1, [r3, lr] @ movhi
15208 cmp r4, r0
15209 add ip, ip, fp
15210 bne .L5711
15211 b .L5722
15212.L5679:
15213 cmp r4, #0
15214 sub r6, r0, #1
15215 beq .L5722
15216 mvn r3, #0
15217 str r3, [sp, #32]
15218 mov sl, #0
15219.L5716:
15220 and r3, r6, r7, asr #8
15221 mov r2, r3, lsr #3
15222 mov r2, r2, asl r8
15223 and r1, r6, ip, asr #8
15224 and r9, r3, #7
15225 and r5, r1, #7
15226 add r3, r2, r1, lsr #3
15227 ldr r1, [sp, #32]
15228 str r3, [sp, #32]
15229 cmp r3, r1
15230 ldrne r2, [sp, #20]
15231 ldrne r1, [sp, #24]
15232 ldrneb r3, [r2, r3] @ zero_extendqisi2
15233 ldr r0, [sp, #16]
15234 addne r3, r1, r3, asl #6
15235 strne r3, [sp, #4]
15236 ldr r2, [sp, #4]
15237 add r7, r7, r0
15238 add r3, r2, r9, asl #3
15239 ldrb r2, [r3, r5] @ zero_extendqisi2
15240 ldr r3, [sp, #12]
15241 mov r0, sl, asl #1
15242 cmp r2, #0
15243 add sl, sl, #1
15244 orr r1, r2, r3
15245 strneh r1, [r0, lr] @ movhi
15246 cmp r4, sl
15247 add ip, ip, fp
15248 bne .L5716
15249 b .L5722
15250.L5725:
15251 ldr r9, [sp, #20]
15252 ldr r1, [sp, #24]
15253 mov r2, r3, lsr #3
15254 cmp r4, #0
15255 and r3, r3, #7
15256 add r8, r9, r2, asl r8
15257 add r6, r1, r3, asl #3
15258 beq .L5722
15259 mov r5, ip, asr #8
15260 cmp r0, r5
15261 movls r7, #0
15262 bls .L5691
15263 b .L5729
15264.L5689:
15265 cmp r0, r2
15266 add lr, lr, #2
15267 bhi .L5690
15268.L5691:
15269 add r7, r7, #1
15270 add ip, ip, fp
15271 cmp r4, r7
15272 mov r2, ip, asr #8
15273 bne .L5689
15274 b .L5722
15275.L5699:
15276 mov r5, r2
15277 mov r1, r3
15278.L5700:
15279 cmp r1, r0
15280 movcc r3, #0
15281 movcs r3, #1
15282 cmp r0, r5
15283 orrls r3, r3, #1
15284 cmp r3, #0
15285 mvneq r6, #0
15286 beq .L5702
15287 b .L5722
15288.L5703:
15289 cmp r0, r1
15290 cmphi r0, r5
15291 bls .L5722
15292.L5702:
15293 mov r3, r1, lsr #3
15294 mov r3, r3, asl r8
15295 add r3, r3, r5, lsr #3
15296 cmp r3, r6
15297 and r2, r5, #7
15298 str r2, [sp, #0]
15299 ldrne r2, [sp, #20]
15300 mov r6, r3
15301 ldrneb r3, [r2, r3] @ zero_extendqisi2
15302 ldrne r2, [sp, #24]
15303 ldr r9, [sp, #16]
15304 addne r3, r2, r3, asl #6
15305 strne r3, [sp, #28]
15306 ldr r2, [sp, #28]
15307 add r7, r7, r9
15308 and r9, r1, #7
15309 add r3, r2, r9, asl #3
15310 ldr r9, [sp, #0]
15311 add sl, sl, #1
15312 ldrb r2, [r3, r9] @ zero_extendqisi2
15313 ldr r3, [sp, #12]
15314 cmp r2, #0
15315 orr r2, r2, r3
15316 strneh r2, [lr, #0] @ movhi
15317 add ip, ip, fp
15318 cmp r4, sl
15319 mov r1, r7, asr #8
15320 mov r5, ip, asr #8
15321 add lr, lr, #2
15322 bhi .L5703
15323 b .L5722
15324.L5690:
15325 mov r5, r2
15326.L5692:
15327 cmp r5, r0
15328 bcc .L5724
15329 b .L5722
15330.L5694:
15331 cmp r0, r5
15332 bls .L5722
15333.L5724:
15334 ldrb r3, [r8, r5, lsr #3] @ zero_extendqisi2
15335 and r2, r5, #7
15336 add r2, r2, r3, asl #6
15337 ldrb r1, [r2, r6] @ zero_extendqisi2
15338 ldr r2, [sp, #12]
15339 cmp r1, #0
15340 add r7, r7, #1
15341 orr r1, r1, r2
15342 strneh r1, [lr, #0] @ movhi
15343 add ip, ip, fp
15344 cmp r4, r7
15345 mov r5, ip, asr #8
15346 add lr, lr, #2
15347 bhi .L5694
15348 b .L5722
15349.L5728:
15350 mov sl, #0
15351 b .L5700
15352.L5729:
15353 mov r7, #0
15354 b .L5692
15355.L5731:
15356 .align 2
15357.L5730:
15358 .word io_registers
15359 .word affine_reference_y
15360 .word affine_reference_x
15361 .word vram
15362 .size render_scanline_affine_transparent_color16, .-render_scanline_affine_transparent_color16
15363 .align 2
15364 .global render_scanline_affine_base_color32
15365 .type render_scanline_affine_base_color32, %function
15366render_scanline_affine_base_color32:
15367 @ args = 0, pretend = 0, frame = 36
15368 @ frame_needed = 0, uses_anonymous_args = 0
15369 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
15370 ldr r5, .L5799
15371 add r7, r0, #7
15372 ldrh r6, [r5, #80]
15373 add ip, r5, r0, asl #1
15374 mov sl, r6, asr r0
15375 mov r7, r6, asr r7
15376 ldrh r4, [ip, #8]
15377 mov lr, r0, asl #4
15378 ldr ip, .L5799+4
15379 sub r0, r0, #2
15380 sub lr, lr, #32
15381 ldr ip, [ip, r0, asl #2]
15382 add lr, lr, r5
15383 sub sp, sp, #36
15384 ldrsh r5, [lr, #36]
15385 str ip, [sp, #4]
15386 ldr ip, .L5799+8
15387 str r5, [sp, #24]
15388 ldr r0, [ip, r0, asl #2]
15389 mov r8, r4, lsr #12
15390 ldr ip, [sp, #24]
15391 mov r9, r4, lsr #14
15392 ldrsh lr, [lr, #32]
15393 and r8, r8, #2
15394 str r0, [sp, #8]
15395 cmp ip, #0
15396 orrne r8, r8, #1
15397 mov r0, #1
15398 add ip, r9, #7
15399 mov r5, r6, lsr #12
15400 str lr, [sp, #12]
15401 mov ip, r0, asl ip
15402 mov lr, r4, asl #3
15403 ldr r0, .L5799+12
15404 mov r4, r4, asl #12
15405 and r7, r7, #2
15406 mov r6, r6, asl #26
15407 and r5, r5, #2
15408 and sl, sl, #1
15409 and lr, lr, #63488
15410 and r4, r4, #49152
15411 orr r5, r5, r6, lsr #31
15412 orr sl, sl, r7
15413 add r4, r4, r0
15414 add lr, lr, r0
15415 rsb fp, r1, r2
15416 add r6, r3, r1, asl #2
15417 ldr r7, [sp, #8]
15418 ldr r2, [sp, #12]
15419 ldr r0, [sp, #4]
15420 ldr r3, [sp, #24]
15421 mov r5, r5, asl #9
15422 mov sl, sl, asl #9
15423 str r4, [sp, #32]
15424 str r5, [sp, #16]
15425 str sl, [sp, #20]
15426 add r9, r9, #4
15427 str lr, [sp, #28]
15428 mla r7, r2, r1, r7
15429 mla r0, r3, r1, r0
15430 cmp r8, #3
15431 ldrls pc, [pc, r8, asl #2]
15432 b .L5788
15433 .p2align 2
15434.L5738:
15435 .word .L5734
15436 .word .L5735
15437 .word .L5736
15438 .word .L5737
15439.L5736:
15440 sub lr, ip, #1
15441 and r3, lr, r0, asr #8
15442 cmp ip, r3
15443 bhi .L5796
15444.L5788:
15445 add sp, sp, #36
15446 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
15447.L5734:
15448 mov r3, r0, asr #8
15449 cmp ip, r3
15450 movls r0, #0
15451 bls .L5745
15452 ldr r4, [sp, #28]
15453 ldr r5, [sp, #32]
15454 mov r2, r3, lsr #3
15455 cmp fp, #0
15456 and r3, r3, #7
15457 add r9, r4, r2, asl r9
15458 add r4, r5, r3, asl #3
15459 beq .L5788
15460 mov r2, r7, asr #8
15461 cmp ip, r2
15462 movhi r0, #0
15463 movls r0, #0
15464 bls .L5751
15465 b .L5793
15466.L5752:
15467 cmp ip, r2
15468 bhi .L5793
15469.L5751:
15470 ldr lr, [sp, #12]
15471 add r0, r0, #1
15472 ldr r1, [sp, #16]
15473 add r7, r7, lr
15474 cmp fp, r0
15475 mov r2, r7, asr #8
15476 str r1, [r6], #4
15477 bne .L5752
15478.L5745:
15479 cmp r0, fp
15480 bcs .L5788
15481 rsb r2, r0, fp
15482 ldr r0, [sp, #16]
15483 mov r3, #0
15484.L5760:
15485 add r3, r3, #1
15486 cmp r2, r3
15487 str r0, [r6], #4
15488 bne .L5760
15489 b .L5788
15490.L5735:
15491 cmp fp, #0
15492 beq .L5788
15493 mov r1, r7, asr #8
15494 mov r2, r0, asr #8
15495 cmp ip, r1
15496 cmphi ip, r2
15497 movls r3, #0
15498 movhi r3, #1
15499 movls r8, r3
15500 bls .L5742
15501 b .L5798
15502.L5761:
15503 cmp ip, r2
15504 cmphi ip, r3
15505 bhi .L5762
15506.L5742:
15507 ldr r2, [sp, #24]
15508 ldr r1, [sp, #12]
15509 add r8, r8, #1
15510 ldr r4, [sp, #16]
15511 add r0, r0, r2
15512 add r7, r7, r1
15513 cmp fp, r8
15514 str r4, [r6, #0]
15515 mov r2, r7, asr #8
15516 mov r3, r0, asr #8
15517 add r6, r6, #4
15518 bne .L5761
15519 b .L5788
15520.L5737:
15521 cmp fp, #0
15522 sub sl, ip, #1
15523 beq .L5788
15524 mvn r5, #0
15525 mov r4, #0
15526.L5781:
15527 and r3, sl, r0, asr #8
15528 mov r2, r3, lsr #3
15529 mov r2, r2, asl r9
15530 and r1, sl, r7, asr #8
15531 add ip, r2, r1, lsr #3
15532 cmp ip, r5
15533 ldrne r5, [sp, #28]
15534 and lr, r3, #7
15535 and r8, r1, #7
15536 ldrneb r3, [r5, ip] @ zero_extendqisi2
15537 ldrne r1, [sp, #32]
15538 add r4, r4, #1
15539 addne r3, r1, r3, asl #6
15540 strne r3, [sp, #0]
15541 ldr r2, [sp, #0]
15542 add r3, r2, lr, asl #3
15543 ldrb r2, [r3, r8] @ zero_extendqisi2
15544 ldr r3, [sp, #20]
15545 cmp r2, #0
15546 ldreq r5, [sp, #16]
15547 orr r1, r3, r2
15548 strne r1, [r6, #0]
15549 ldr lr, [sp, #12]
15550 ldr r1, [sp, #24]
15551 streq r5, [r6, #0]
15552 cmp fp, r4
15553 add r7, r7, lr
15554 add r0, r0, r1
15555 add r6, r6, #4
15556 mov r5, ip
15557 bne .L5781
15558 b .L5788
15559.L5796:
15560 ldr ip, [sp, #28]
15561 ldr r0, [sp, #32]
15562 mov r2, r3, lsr #3
15563 cmp fp, #0
15564 and r3, r3, #7
15565 add r9, ip, r2, asl r9
15566 add r4, r0, r3, asl #3
15567 beq .L5788
15568 mov r0, #0
15569.L5775:
15570 and r3, lr, r7, asr #8
15571 ldrb r1, [r9, r3, lsr #3] @ zero_extendqisi2
15572 and r3, r3, #7
15573 add r3, r3, r1, asl #6
15574 ldrb r2, [r3, r4] @ zero_extendqisi2
15575 ldr r1, [sp, #20]
15576 cmp r2, #0
15577 orr r3, r1, r2
15578 ldreq r2, [sp, #16]
15579 strne r3, [r6, #0]
15580 add r0, r0, #1
15581 ldr r3, [sp, #12]
15582 streq r2, [r6, #0]
15583 cmp fp, r0
15584 add r7, r7, r3
15585 add r6, r6, #4
15586 bne .L5775
15587 b .L5788
15588.L5755:
15589 cmp ip, r2
15590 bls .L5745
15591.L5793:
15592 ldrb r3, [r9, r2, lsr #3] @ zero_extendqisi2
15593 and r2, r2, #7
15594 add r2, r2, r3, asl #6
15595 ldrb r1, [r2, r4] @ zero_extendqisi2
15596 ldr r3, [sp, #20]
15597 cmp r1, #0
15598 ldreq r5, [sp, #16]
15599 ldr lr, [sp, #12]
15600 orr r2, r3, r1
15601 add r0, r0, #1
15602 strne r2, [r6, #0]
15603 streq r5, [r6, #0]
15604 add r7, r7, lr
15605 cmp fp, r0
15606 add r6, r6, #4
15607 mov r2, r7, asr #8
15608 bhi .L5755
15609 b .L5745
15610.L5762:
15611 mov r1, r2
15612 mov r2, r3
15613.L5763:
15614 cmp r2, ip
15615 movcc r3, #0
15616 movcs r3, #1
15617 cmp ip, r1
15618 orrls r3, r3, #1
15619 cmp r3, #0
15620 mvneq r5, #0
15621 beq .L5767
15622 b .L5789
15623.L5766:
15624 cmp ip, r2
15625 cmphi ip, r1
15626 bls .L5789
15627.L5767:
15628 mov r3, r2, lsr #3
15629 mov r3, r3, asl r9
15630 and lr, r2, #7
15631 and r2, r1, #7
15632 add r1, r3, r1, lsr #3
15633 cmp r1, r5
15634 ldrne r4, [sp, #28]
15635 ldrne r5, [sp, #32]
15636 ldrneb r3, [r4, r1] @ zero_extendqisi2
15637 add r8, r8, #1
15638 addne r4, r5, r3, asl #6
15639 add r3, r4, lr, asl #3
15640 ldrb r2, [r3, r2] @ zero_extendqisi2
15641 ldr lr, [sp, #20]
15642 cmp r2, #0
15643 orr r3, lr, r2
15644 strne r3, [r6, #0]
15645 ldreq r2, [sp, #16]
15646 ldr r5, [sp, #24]
15647 ldr r3, [sp, #12]
15648 streq r2, [r6, #0]
15649 add r0, r0, r5
15650 add r7, r7, r3
15651 cmp fp, r8
15652 mov r5, r1
15653 add r6, r6, #4
15654 mov r1, r7, asr #8
15655 mov r2, r0, asr #8
15656 bhi .L5766
15657 b .L5788
15658.L5789:
15659 add r8, r8, #1
15660 ldr r5, [sp, #16]
15661 cmp fp, r8
15662 str r5, [r6], #4
15663 bls .L5788
15664 add r8, r8, #1
15665 ldr r5, [sp, #16]
15666 cmp fp, r8
15667 str r5, [r6], #4
15668 bhi .L5789
15669 b .L5788
15670.L5798:
15671 mov r8, #0
15672 b .L5763
15673.L5800:
15674 .align 2
15675.L5799:
15676 .word io_registers
15677 .word affine_reference_y
15678 .word affine_reference_x
15679 .word vram
15680 .size render_scanline_affine_base_color32, .-render_scanline_affine_base_color32
15681 .align 2
15682 .global render_scanline_affine_transparent_color32
15683 .type render_scanline_affine_transparent_color32, %function
15684render_scanline_affine_transparent_color32:
15685 @ args = 0, pretend = 0, frame = 32
15686 @ frame_needed = 0, uses_anonymous_args = 0
15687 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
15688 ldr r5, .L5857
15689 add r7, r0, #7
15690 ldrh r6, [r5, #80]
15691 add ip, r5, r0, asl #1
15692 mov r7, r6, asr r7
15693 mov r6, r6, asr r0
15694 ldrh r4, [ip, #8]
15695 mov lr, r0, asl #4
15696 ldr ip, .L5857+4
15697 sub r0, r0, #2
15698 sub lr, lr, #32
15699 add lr, lr, r5
15700 ldr ip, [ip, r0, asl #2]
15701 sub sp, sp, #32
15702 ldrsh r9, [lr, #36]
15703 mov r8, r4, lsr #14
15704 mov r5, r4, lsr #12
15705 str ip, [sp, #8]
15706 ldrsh fp, [lr, #32]
15707 ldr ip, .L5857+8
15708 ldr sl, .L5857+12
15709 mov lr, r4, asl #3
15710 mov r4, r4, asl #12
15711 str r9, [sp, #16]
15712 and r4, r4, #49152
15713 ldr r9, [ip, r0, asl #2]
15714 and r7, r7, #2
15715 ldr ip, [sp, #16]
15716 add r4, r4, sl
15717 and r6, r6, #1
15718 orr r6, r6, r7
15719 and r5, r5, #2
15720 and lr, lr, #63488
15721 str r4, [sp, #24]
15722 ldr r7, [sp, #8]
15723 rsb r4, r1, r2
15724 ldr r2, [sp, #16]
15725 add lr, lr, sl
15726 cmp ip, #0
15727 orrne r5, r5, #1
15728 mov r0, #1
15729 add ip, r8, #7
15730 mov r6, r6, asl #9
15731 mov r0, r0, asl ip
15732 str lr, [sp, #20]
15733 str r6, [sp, #12]
15734 add r8, r8, #4
15735 add lr, r3, r1, asl #2
15736 mla ip, fp, r1, r9
15737 mla r7, r2, r1, r7
15738 cmp r5, #3
15739 ldrls pc, [pc, r5, asl #2]
15740 b .L5849
15741 .p2align 2
15742.L5807:
15743 .word .L5803
15744 .word .L5804
15745 .word .L5805
15746 .word .L5806
15747.L5803:
15748 mov r3, r7, asr #8
15749 cmp r0, r3
15750 bhi .L5852
15751.L5849:
15752 add sp, sp, #32
15753 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
15754.L5804:
15755 cmp r4, #0
15756 beq .L5849
15757 mov r5, ip, asr #8
15758 mov r1, r7, asr #8
15759 cmp r0, r5
15760 cmphi r0, r1
15761 movls r3, #0
15762 movhi r3, #1
15763 movls sl, r3
15764 bls .L5811
15765 b .L5855
15766.L5825:
15767 cmp r0, r2
15768 cmphi r0, r3
15769 bhi .L5826
15770.L5811:
15771 ldr r3, [sp, #16]
15772 add sl, sl, #1
15773 add ip, ip, fp
15774 add r7, r7, r3
15775 cmp r4, sl
15776 mov r2, ip, asr #8
15777 mov r3, r7, asr #8
15778 add lr, lr, #4
15779 bne .L5825
15780 b .L5849
15781.L5805:
15782 sub r6, r0, #1
15783 and r3, r6, r7, asr #8
15784 cmp r0, r3
15785 bls .L5849
15786 ldr r0, [sp, #20]
15787 ldr r1, [sp, #24]
15788 mov r2, r3, lsr #3
15789 cmp r4, #0
15790 and r3, r3, #7
15791 add r8, r0, r2, asl r8
15792 add r5, r1, r3, asl #3
15793 beq .L5849
15794 mov r0, #0
15795.L5838:
15796 and r3, r6, ip, asr #8
15797 ldrb r2, [r8, r3, lsr #3] @ zero_extendqisi2
15798 and r3, r3, #7
15799 add r3, r3, r2, asl #6
15800 ldrb r1, [r3, r5] @ zero_extendqisi2
15801 ldr r2, [sp, #12]
15802 cmp r1, #0
15803 orr r3, r2, r1
15804 strne r3, [lr, r0, asl #2]
15805 add r0, r0, #1
15806 cmp r4, r0
15807 add ip, ip, fp
15808 bne .L5838
15809 b .L5849
15810.L5806:
15811 cmp r4, #0
15812 sub r0, r0, #1
15813 beq .L5849
15814 mov r9, #0
15815 mvn r6, #0
15816.L5843:
15817 and r3, r0, r7, asr #8
15818 mov r2, r3, lsr #3
15819 mov r2, r2, asl r8
15820 and r1, r0, ip, asr #8
15821 and sl, r3, #7
15822 add r3, r2, r1, lsr #3
15823 cmp r3, r6
15824 ldrne r2, [sp, #20]
15825 and r5, r1, #7
15826 ldr r1, [sp, #16]
15827 mov r6, r3
15828 add r7, r7, r1
15829 ldrneb r3, [r2, r3] @ zero_extendqisi2
15830 ldrne r1, [sp, #24]
15831 add ip, ip, fp
15832 addne r3, r1, r3, asl #6
15833 strne r3, [sp, #4]
15834 ldr r2, [sp, #4]
15835 add r3, r2, sl, asl #3
15836 ldrb r2, [r3, r5] @ zero_extendqisi2
15837 ldr r3, [sp, #12]
15838 cmp r2, #0
15839 orr r1, r3, r2
15840 strne r1, [lr, r9, asl #2]
15841 add r9, r9, #1
15842 cmp r4, r9
15843 bne .L5843
15844 b .L5849
15845.L5852:
15846 ldr r9, [sp, #20]
15847 ldr r1, [sp, #24]
15848 mov r2, r3, lsr #3
15849 cmp r4, #0
15850 and r3, r3, #7
15851 add r8, r9, r2, asl r8
15852 add r6, r1, r3, asl #3
15853 beq .L5849
15854 mov r5, ip, asr #8
15855 cmp r0, r5
15856 movls r7, #0
15857 bls .L5818
15858 b .L5856
15859.L5816:
15860 cmp r0, r2
15861 add lr, lr, #4
15862 bhi .L5817
15863.L5818:
15864 add r7, r7, #1
15865 add ip, ip, fp
15866 cmp r4, r7
15867 mov r2, ip, asr #8
15868 bne .L5816
15869 b .L5849
15870.L5826:
15871 mov r5, r2
15872 mov r1, r3
15873.L5827:
15874 cmp r1, r0
15875 movcc r3, #0
15876 movcs r3, #1
15877 cmp r0, r5
15878 orrls r3, r3, #1
15879 cmp r3, #0
15880 mvneq r6, #0
15881 beq .L5829
15882 b .L5849
15883.L5830:
15884 cmp r0, r1
15885 cmphi r0, r5
15886 bls .L5849
15887.L5829:
15888 mov r3, r1, lsr #3
15889 mov r3, r3, asl r8
15890 add r3, r3, r5, lsr #3
15891 cmp r3, r6
15892 and r2, r5, #7
15893 str r2, [sp, #0]
15894 ldrne r2, [sp, #20]
15895 mov r6, r3
15896 ldrneb r3, [r2, r3] @ zero_extendqisi2
15897 ldrne r2, [sp, #24]
15898 ldr r9, [sp, #16]
15899 addne r3, r2, r3, asl #6
15900 strne r3, [sp, #28]
15901 ldr r2, [sp, #28]
15902 add r7, r7, r9
15903 and r9, r1, #7
15904 add r3, r2, r9, asl #3
15905 ldr r9, [sp, #0]
15906 add sl, sl, #1
15907 ldrb r2, [r3, r9] @ zero_extendqisi2
15908 ldr r9, [sp, #12]
15909 cmp r2, #0
15910 orr r3, r9, r2
15911 strne r3, [lr, #0]
15912 add ip, ip, fp
15913 cmp r4, sl
15914 mov r1, r7, asr #8
15915 mov r5, ip, asr #8
15916 add lr, lr, #4
15917 bhi .L5830
15918 b .L5849
15919.L5817:
15920 mov r5, r2
15921.L5819:
15922 cmp r5, r0
15923 bcc .L5851
15924 b .L5849
15925.L5821:
15926 cmp r0, r5
15927 bls .L5849
15928.L5851:
15929 ldrb r3, [r8, r5, lsr #3] @ zero_extendqisi2
15930 and r2, r5, #7
15931 add r2, r2, r3, asl #6
15932 ldrb r1, [r2, r6] @ zero_extendqisi2
15933 ldr r2, [sp, #12]
15934 cmp r1, #0
15935 add r7, r7, #1
15936 orr r3, r2, r1
15937 strne r3, [lr, #0]
15938 add ip, ip, fp
15939 cmp r4, r7
15940 mov r5, ip, asr #8
15941 add lr, lr, #4
15942 bhi .L5821
15943 b .L5849
15944.L5855:
15945 mov sl, #0
15946 b .L5827
15947.L5856:
15948 mov r7, #0
15949 b .L5819
15950.L5858:
15951 .align 2
15952.L5857:
15953 .word io_registers
15954 .word affine_reference_y
15955 .word affine_reference_x
15956 .word vram
15957 .size render_scanline_affine_transparent_color32, .-render_scanline_affine_transparent_color32
15958 .align 2
15959 .global render_scanline_affine_base_alpha
15960 .type render_scanline_affine_base_alpha, %function
15961render_scanline_affine_base_alpha:
15962 @ args = 0, pretend = 0, frame = 32
15963 @ frame_needed = 0, uses_anonymous_args = 0
15964 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
15965 ldr r7, .L5933
15966 add lr, r0, #7
15967 ldrh ip, [r7, #80]
15968 sub sp, sp, #32
15969 mov lr, ip, asr lr
15970 mov r4, ip, asr r0
15971 mov r5, ip, lsr #12
15972 and r5, r5, #2
15973 mov ip, ip, asl #26
15974 orr r5, r5, ip, lsr #31
15975 and r4, r4, #1
15976 and lr, lr, #2
15977 mov ip, r5, asl #25
15978 orr r4, r4, lr
15979 orr r4, ip, r4, asl #9
15980 mov r5, r5, asl #9
15981 tst r4, #512
15982 mov r6, r0
15983 str r4, [sp, #12]
15984 mov r8, r1
15985 mov sl, r2
15986 stmib sp, {r3, r5} @ phole stm
15987 beq .L5928
15988 add r3, r7, r0, asl #1
15989 ldrh r1, [r3, #8]
15990 ldr r3, .L5933+4
15991 mov r2, r0, asl #4
15992 sub r0, r0, #2
15993 ldr r6, [r3, r0, asl #2]
15994 ldr r3, .L5933+8
15995 mov lr, r1, lsr #14
15996 ldr r5, [r3, r0, asl #2]
15997 ldr r4, .L5933+12
15998 mov ip, r1, lsr #12
15999 mov r0, r1, asl #3
16000 sub r2, r2, #32
16001 mov r1, r1, asl #12
16002 add r2, r2, r7
16003 and r1, r1, #49152
16004 ldrsh fp, [r2, #36]
16005 add r1, r1, r4
16006 ldrsh r9, [r2, #32]
16007 and ip, ip, #2
16008 and r0, r0, #63488
16009 str r1, [sp, #24]
16010 ldr r1, [sp, #4]
16011 add r0, r0, r4
16012 add r2, lr, #7
16013 mov r3, #1
16014 add lr, lr, #4
16015 cmp fp, #0
16016 orrne ip, ip, #1
16017 str r0, [sp, #20]
16018 mov r7, r3, asl r2
16019 mla r0, r9, r8, r5
16020 rsb sl, r8, sl
16021 str lr, [sp, #16]
16022 add r4, r1, r8, asl #2
16023 mla r5, fp, r8, r6
16024 cmp ip, #3
16025 ldrls pc, [pc, ip, asl #2]
16026 b .L5918
16027 .p2align 2
16028.L5867:
16029 .word .L5863
16030 .word .L5864
16031 .word .L5865
16032 .word .L5866
16033.L5919:
16034 add ip, ip, #1
16035 ldr r1, [sp, #8]
16036 cmp sl, ip
16037 str r1, [r4], #4
16038 bhi .L5919
16039.L5918:
16040 add sp, sp, #32
16041 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16042.L5928:
16043 add sp, sp, #32
16044 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
16045 b render_scanline_affine_base_color32
16046.L5863:
16047 mov r1, r5, asr #8
16048 cmp r7, r1
16049 movls ip, #0
16050 bls .L5874
16051 ldr r6, [sp, #20]
16052 ldr r8, [sp, #16]
16053 ldr ip, [sp, #24]
16054 mov r2, r1, lsr #3
16055 and r3, r1, #7
16056 cmp sl, #0
16057 add lr, r6, r2, asl r8
16058 add r5, ip, r3, asl #3
16059 beq .L5918
16060 mov r2, r0, asr #8
16061 cmp r7, r2
16062 movls ip, #0
16063 bls .L5881
16064 b .L5931
16065.L5879:
16066 cmp r7, r2
16067 bhi .L5882
16068.L5881:
16069 add ip, ip, #1
16070 ldr r1, [sp, #8]
16071 add r0, r0, r9
16072 cmp sl, ip
16073 mov r2, r0, asr #8
16074 str r1, [r4], #4
16075 bne .L5879
16076.L5874:
16077 cmp ip, sl
16078 bcs .L5918
16079 ldr r8, [sp, #8]
16080 rsb r2, ip, sl
16081 mov r3, #0
16082.L5890:
16083 add r3, r3, #1
16084 cmp r2, r3
16085 str r8, [r4], #4
16086 bne .L5890
16087 b .L5918
16088.L5866:
16089 sub r7, r7, #1
16090 cmp sl, #0
16091 str r7, [sp, #28]
16092 beq .L5918
16093 mvn r8, #0
16094 mov r7, #0
16095.L5911:
16096 ldr r2, [sp, #28]
16097 ldr r6, [sp, #16]
16098 and r3, r2, r5, asr #8
16099 mov r2, r3, lsr #3
16100 mov r2, r2, asl r6
16101 ldr ip, [sp, #28]
16102 and lr, r3, #7
16103 and r1, ip, r0, asr #8
16104 add ip, r2, r1, lsr #3
16105 cmp ip, r8
16106 and r6, r1, #7
16107 ldrne r1, [sp, #20]
16108 ldrne r2, [sp, #24]
16109 ldrneb r3, [r1, ip] @ zero_extendqisi2
16110 add r7, r7, #1
16111 addne r3, r2, r3, asl #6
16112 strne r3, [sp, #0]
16113 ldr r8, [sp, #0]
16114 add r0, r0, r9
16115 add r3, r8, lr, asl #3
16116 ldrb r2, [r3, r6] @ zero_extendqisi2
16117 ldr lr, [sp, #12]
16118 cmp r2, #0
16119 orr r1, lr, r2
16120 ldreq r1, [sp, #8]
16121 cmp sl, r7
16122 str r1, [r4, #0]
16123 add r5, r5, fp
16124 add r4, r4, #4
16125 mov r8, ip
16126 bne .L5911
16127 b .L5918
16128.L5865:
16129 sub r6, r7, #1
16130 and r1, r6, r5, asr #8
16131 cmp r7, r1
16132 bls .L5918
16133 mov r2, r1, lsr #3
16134 and r3, r1, #7
16135 ldr ip, [sp, #20]
16136 ldr r1, [sp, #16]
16137 cmp sl, #0
16138 add lr, ip, r2, asl r1
16139 ldr r2, [sp, #24]
16140 add r5, r2, r3, asl #3
16141 beq .L5918
16142 mov ip, #0
16143.L5905:
16144 and r3, r6, r0, asr #8
16145 ldrb r1, [lr, r3, lsr #3] @ zero_extendqisi2
16146 and r3, r3, #7
16147 add r3, r3, r1, asl #6
16148 ldrb r2, [r3, r5] @ zero_extendqisi2
16149 ldr r8, [sp, #12]
16150 cmp r2, #0
16151 ldreq r1, [sp, #8]
16152 orr r3, r8, r2
16153 add ip, ip, #1
16154 strne r3, [r4, #0]
16155 streq r1, [r4, #0]
16156 cmp sl, ip
16157 add r0, r0, r9
16158 add r4, r4, #4
16159 bne .L5905
16160 b .L5918
16161.L5864:
16162 cmp sl, #0
16163 beq .L5918
16164 mov r1, r0, asr #8
16165 mov r2, r5, asr #8
16166 cmp r7, r1
16167 cmphi r7, r2
16168 movls r3, #0
16169 movhi r3, #1
16170 movls ip, r3
16171 bls .L5871
16172 b .L5932
16173.L5891:
16174 cmp r7, r2
16175 cmphi r7, r3
16176 bhi .L5892
16177.L5871:
16178 add ip, ip, #1
16179 ldr lr, [sp, #8]
16180 add r0, r0, r9
16181 add r5, r5, fp
16182 cmp sl, ip
16183 str lr, [r4, #0]
16184 mov r2, r0, asr #8
16185 mov r3, r5, asr #8
16186 add r4, r4, #4
16187 bne .L5891
16188 b .L5918
16189.L5892:
16190 mov r1, r2
16191 mov r2, r3
16192.L5893:
16193 cmp r7, r2
16194 cmphi r7, r1
16195 mvnhi r8, #0
16196 bhi .L5897
16197 b .L5919
16198.L5896:
16199 cmp r7, r2
16200 cmphi r7, r1
16201 bls .L5919
16202.L5897:
16203 ldr r6, [sp, #16]
16204 mov r3, r2, lsr #3
16205 mov r3, r3, asl r6
16206 and r6, r2, #7
16207 and r2, r1, #7
16208 add r1, r3, r1, lsr #3
16209 cmp r1, r8
16210 ldrne r8, [sp, #20]
16211 add ip, ip, #1
16212 ldrneb r3, [r8, r1] @ zero_extendqisi2
16213 ldrne r8, [sp, #24]
16214 add r0, r0, r9
16215 addne lr, r8, r3, asl #6
16216 add r3, lr, r6, asl #3
16217 ldrb r2, [r3, r2] @ zero_extendqisi2
16218 ldr r6, [sp, #12]
16219 cmp r2, #0
16220 ldreq r8, [sp, #8]
16221 orr r3, r6, r2
16222 streq r8, [r4, #0]
16223 strne r3, [r4, #0]
16224 add r5, r5, fp
16225 cmp sl, ip
16226 mov r8, r1
16227 add r4, r4, #4
16228 mov r1, r0, asr #8
16229 mov r2, r5, asr #8
16230 bhi .L5896
16231 b .L5918
16232.L5931:
16233 mov ip, #0
16234.L5882:
16235 cmp r2, r7
16236 bcc .L5924
16237 b .L5874
16238.L5885:
16239 cmp r7, r2
16240 bls .L5874
16241.L5924:
16242 ldrb r3, [lr, r2, lsr #3] @ zero_extendqisi2
16243 and r2, r2, #7
16244 add r2, r2, r3, asl #6
16245 ldrb r1, [r2, r5] @ zero_extendqisi2
16246 ldr r3, [sp, #12]
16247 cmp r1, #0
16248 ldreq r6, [sp, #8]
16249 orr r2, r3, r1
16250 add ip, ip, #1
16251 strne r2, [r4, #0]
16252 streq r6, [r4, #0]
16253 add r0, r0, r9
16254 cmp sl, ip
16255 add r4, r4, #4
16256 mov r2, r0, asr #8
16257 bhi .L5885
16258 b .L5874
16259.L5932:
16260 mov ip, #0
16261 b .L5893
16262.L5934:
16263 .align 2
16264.L5933:
16265 .word io_registers
16266 .word affine_reference_y
16267 .word affine_reference_x
16268 .word vram
16269 .size render_scanline_affine_base_alpha, .-render_scanline_affine_base_alpha
16270 .align 2
16271 .global render_scanline_affine_transparent_alpha
16272 .type render_scanline_affine_transparent_alpha, %function
16273render_scanline_affine_transparent_alpha:
16274 @ args = 0, pretend = 0, frame = 36
16275 @ frame_needed = 0, uses_anonymous_args = 0
16276 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
16277 ldr r5, .L5993
16278 add lr, r0, #7
16279 ldrh ip, [r5, #80]
16280 sub sp, sp, #36
16281 mov lr, ip, asr lr
16282 mov ip, ip, asr r0
16283 and lr, lr, #2
16284 and ip, ip, #1
16285 orr ip, ip, lr
16286 mov ip, ip, asl #9
16287 tst ip, #512
16288 mov r4, r0
16289 str ip, [sp, #12]
16290 mov r8, r1
16291 mov sl, r2
16292 str r3, [sp, #8]
16293 beq .L5988
16294 add r3, r5, r0, asl #1
16295 ldrh r1, [r3, #8]
16296 ldr r3, .L5993+4
16297 mov r2, r0, asl #4
16298 sub r0, r0, #2
16299 ldr r6, [r3, r0, asl #2]
16300 ldr r3, .L5993+8
16301 sub r2, r2, #32
16302 add r2, r2, r5
16303 mov lr, r1, lsr #14
16304 ldr r5, [r3, r0, asl #2]
16305 ldr r4, .L5993+12
16306 mov ip, r1, lsr #12
16307 mov r0, r1, asl #3
16308 mov r1, r1, asl #12
16309 and r1, r1, #49152
16310 ldrsh fp, [r2, #36]
16311 add r1, r1, r4
16312 ldrsh r9, [r2, #32]
16313 and ip, ip, #2
16314 and r0, r0, #63488
16315 str r1, [sp, #20]
16316 ldr r1, [sp, #8]
16317 add r0, r0, r4
16318 add r2, lr, #7
16319 mov r3, #1
16320 cmp fp, #0
16321 orrne ip, ip, #1
16322 str r0, [sp, #16]
16323 mov r7, r3, asl r2
16324 mla r0, r9, r8, r5
16325 rsb sl, r8, sl
16326 add lr, lr, #4
16327 add r4, r1, r8, asl #2
16328 mla r5, fp, r8, r6
16329 cmp ip, #3
16330 ldrls pc, [pc, ip, asl #2]
16331 b .L5985
16332 .p2align 2
16333.L5943:
16334 .word .L5939
16335 .word .L5940
16336 .word .L5941
16337 .word .L5942
16338.L5941:
16339 sub r6, r7, #1
16340 and r1, r6, r5, asr #8
16341 cmp r7, r1
16342 bls .L5985
16343 ldr r5, [sp, #16]
16344 ldr ip, [sp, #20]
16345 mov r2, r1, lsr #3
16346 and r3, r1, #7
16347 cmp sl, #0
16348 add lr, r5, r2, asl lr
16349 add r1, ip, r3, asl #3
16350 beq .L5985
16351 mov ip, #0
16352.L5974:
16353 and r3, r6, r0, asr #8
16354 ldrb r2, [lr, r3, lsr #3] @ zero_extendqisi2
16355 and r3, r3, #7
16356 add r3, r3, r2, asl #6
16357 ldrb r2, [r3, r1] @ zero_extendqisi2
16358 add ip, ip, #1
16359 cmp r2, #0
16360 ldrne r3, [r4, #0]
16361 ldrne r5, [sp, #12]
16362 add r0, r0, r9
16363 orrne r3, r5, r3, asl #16
16364 orrne r3, r2, r3
16365 strne r3, [r4, #0]
16366 cmp sl, ip
16367 add r4, r4, #4
16368 bne .L5974
16369.L5985:
16370 add sp, sp, #36
16371 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16372.L5988:
16373 add sp, sp, #36
16374 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
16375 b render_scanline_affine_transparent_color32
16376.L5939:
16377 mov r1, r5, asr #8
16378 cmp r7, r1
16379 bls .L5985
16380 ldr r5, [sp, #16]
16381 ldr r6, [sp, #20]
16382 mov r2, r1, lsr #3
16383 and r3, r1, #7
16384 cmp sl, #0
16385 add lr, r5, r2, asl lr
16386 add r1, r6, r3, asl #3
16387 beq .L5985
16388 mov ip, r0, asr #8
16389 cmp r7, ip
16390 movls r5, #0
16391 bls .L5954
16392 b .L5991
16393.L5952:
16394 cmp r7, r3
16395 add r4, r4, #4
16396 bhi .L5953
16397.L5954:
16398 add r5, r5, #1
16399 add r0, r0, r9
16400 cmp sl, r5
16401 mov r3, r0, asr #8
16402 bne .L5952
16403 b .L5985
16404.L5942:
16405 cmp sl, #0
16406 sub r8, r7, #1
16407 beq .L5985
16408 mvn r6, #0
16409 str r6, [sp, #32]
16410 mov r7, #0
16411.L5979:
16412 and r3, r8, r5, asr #8
16413 mov r2, r3, lsr #3
16414 mov r2, r2, asl lr
16415 and r1, r8, r0, asr #8
16416 and r6, r3, #7
16417 and ip, r1, #7
16418 add r3, r2, r1, lsr #3
16419 ldr r1, [sp, #32]
16420 str r3, [sp, #32]
16421 cmp r3, r1
16422 ldrne r2, [sp, #16]
16423 ldrne r1, [sp, #20]
16424 ldrneb r3, [r2, r3] @ zero_extendqisi2
16425 add r7, r7, #1
16426 addne r3, r1, r3, asl #6
16427 strne r3, [sp, #4]
16428 ldr r2, [sp, #4]
16429 add r0, r0, r9
16430 add r3, r2, r6, asl #3
16431 ldrb r2, [r3, ip] @ zero_extendqisi2
16432 ldr r3, [sp, #12]
16433 cmp r2, #0
16434 orr r1, r3, r2
16435 ldrne r3, [r4, #0]
16436 add r5, r5, fp
16437 orrne r3, r1, r3, asl #16
16438 strne r3, [r4, #0]
16439 cmp sl, r7
16440 add r4, r4, #4
16441 bne .L5979
16442 b .L5985
16443.L5940:
16444 cmp sl, #0
16445 beq .L5985
16446 mov ip, r0, asr #8
16447 mov r1, r5, asr #8
16448 cmp r7, ip
16449 cmphi r7, r1
16450 movls r3, #0
16451 movhi r3, #1
16452 movls r8, r3
16453 bls .L5947
16454 b .L5992
16455.L5961:
16456 cmp r7, r2
16457 cmphi r7, r3
16458 bhi .L5962
16459.L5947:
16460 add r8, r8, #1
16461 add r0, r0, r9
16462 add r5, r5, fp
16463 cmp sl, r8
16464 mov r2, r0, asr #8
16465 mov r3, r5, asr #8
16466 add r4, r4, #4
16467 bne .L5961
16468 b .L5985
16469.L5962:
16470 mov ip, r2
16471 mov r1, r3
16472.L5963:
16473 cmp r1, r7
16474 movcc r3, #0
16475 movcs r3, #1
16476 cmp r7, ip
16477 orrls r3, r3, #1
16478 cmp r3, #0
16479 mvneq r2, #0
16480 streq r2, [sp, #28]
16481 beq .L5965
16482 b .L5985
16483.L5966:
16484 cmp r7, r1
16485 cmphi r7, ip
16486 bls .L5985
16487.L5965:
16488 mov r3, r1, lsr #3
16489 mov r3, r3, asl lr
16490 and r2, ip, #7
16491 str r2, [sp, #0]
16492 ldr r2, [sp, #28]
16493 add r3, r3, ip, lsr #3
16494 cmp r3, r2
16495 ldrne r2, [sp, #16]
16496 str r3, [sp, #28]
16497 ldrneb r3, [r2, r3] @ zero_extendqisi2
16498 ldrne r2, [sp, #20]
16499 and r6, r1, #7
16500 addne r3, r2, r3, asl #6
16501 strne r3, [sp, #24]
16502 ldr r2, [sp, #24]
16503 add r8, r8, #1
16504 add r3, r2, r6, asl #3
16505 ldr r6, [sp, #0]
16506 add r0, r0, r9
16507 ldrb r2, [r3, r6] @ zero_extendqisi2
16508 ldr r3, [sp, #12]
16509 cmp r2, #0
16510 orr r6, r3, r2
16511 ldrne r3, [r4, #0]
16512 add r5, r5, fp
16513 orrne r3, r6, r3, asl #16
16514 strne r3, [r4, #0]
16515 cmp sl, r8
16516 mov r1, r5, asr #8
16517 mov ip, r0, asr #8
16518 add r4, r4, #4
16519 bhi .L5966
16520 b .L5985
16521.L5953:
16522 mov ip, r3
16523.L5955:
16524 cmp ip, r7
16525 bcc .L5987
16526 b .L5985
16527.L5957:
16528 cmp r7, ip
16529 bls .L5985
16530.L5987:
16531 ldrb r2, [lr, ip, lsr #3] @ zero_extendqisi2
16532 and r3, ip, #7
16533 add r3, r3, r2, asl #6
16534 ldrb r2, [r3, r1] @ zero_extendqisi2
16535 add r5, r5, #1
16536 cmp r2, #0
16537 ldrne r3, [r4, #0]
16538 ldrne r6, [sp, #12]
16539 add r0, r0, r9
16540 orrne r3, r6, r3, asl #16
16541 orrne r3, r2, r3
16542 strne r3, [r4, #0]
16543 cmp sl, r5
16544 mov ip, r0, asr #8
16545 add r4, r4, #4
16546 bhi .L5957
16547 b .L5985
16548.L5992:
16549 mov r8, #0
16550 b .L5963
16551.L5991:
16552 mov r5, #0
16553 b .L5955
16554.L5994:
16555 .align 2
16556.L5993:
16557 .word io_registers
16558 .word affine_reference_y
16559 .word affine_reference_x
16560 .word vram
16561 .size render_scanline_affine_transparent_alpha, .-render_scanline_affine_transparent_alpha
16562 .align 2
16563 .global render_scanline_bitmap_mode3_normal
16564 .type render_scanline_bitmap_mode3_normal, %function
16565render_scanline_bitmap_mode3_normal:
16566 @ args = 0, pretend = 0, frame = 0
16567 @ frame_needed = 0, uses_anonymous_args = 0
16568 ldr ip, .L6038
16569 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
16570 ldr r3, .L6038+4
16571 ldrh r6, [ip, #36]
16572 ldrh r9, [ip, #32]
16573 ldr ip, .L6038+8
16574 ldr r4, [r3, #0]
16575 ldr lr, [ip, #0]
16576 mov r3, r9, asl #16
16577 mov ip, r6, asl #16
16578 mov sl, r3, asr #16
16579 mov r7, ip, asr #16
16580 cmp r6, #0
16581 mla lr, r7, r0, lr
16582 add r5, r2, r0, asl #1
16583 rsb r8, r0, r1
16584 ldr fp, .L6038+12
16585 mla r0, sl, r0, r4
16586 beq .L5996
16587 cmp r8, #0
16588 ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16589 mov r6, r0, asr #8
16590 mov r4, lr, asr #8
16591 cmp r6, #239
16592 cmpls r4, #159
16593 movhi r1, #0
16594 movls r1, #1
16595 mov r2, r6
16596 mov r3, r4
16597 movhi ip, r1
16598 bhi .L6002
16599 b .L6036
16600.L6023:
16601 cmp r3, #239
16602 cmpls r2, #159
16603 bls .L6024
16604.L6002:
16605 add ip, ip, #1
16606 add r0, r0, sl
16607 add lr, lr, r7
16608 cmp r8, ip
16609 mov r3, r0, asr #8
16610 mov r2, lr, asr #8
16611 add r5, r5, #2
16612 bne .L6023
16613 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16614.L5996:
16615 mov r3, lr, asr #8
16616 cmp r3, #159
16617 ldmhifd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16618 rsb r3, r3, r3, asl #4
16619 cmp r9, #256
16620 add r4, fp, r3, asl #5
16621 mov lr, r0, asr #8
16622 beq .L6004
16623 cmp r8, #0
16624 ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16625 cmp lr, #239
16626 movhi ip, r6
16627 bhi .L6009
16628 b .L6037
16629.L6019:
16630 cmp r2, #239
16631 bls .L6020
16632.L6009:
16633 add ip, ip, #1
16634 add r0, r0, sl
16635 cmp r8, ip
16636 mov r2, r0, asr #8
16637 add r5, r5, #2
16638 bne .L6019
16639 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16640.L6024:
16641 mov r4, r2
16642 mov r6, r3
16643 mov r2, r3
16644 mov r3, r4
16645.L6025:
16646 cmp r3, #159
16647 cmpls r2, #239
16648 bls .L6032
16649 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16650.L6027:
16651 cmp r4, #159
16652 cmpls r6, #239
16653 ldmhifd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16654.L6032:
16655 rsb r3, r4, r4, asl #4
16656 add r3, r6, r3, asl #4
16657 mov r3, r3, asl #1
16658 ldrh r2, [r3, fp]
16659 add ip, ip, #1
16660 mov r3, r2, lsr #10
16661 and r1, r2, #31
16662 orr r3, r3, r1, asl #11
16663 and r2, r2, #992
16664 add r0, r0, sl
16665 add lr, lr, r7
16666 orr r3, r3, r2, asl #1
16667 cmp r8, ip
16668 mov r4, lr, asr #8
16669 mov r6, r0, asr #8
16670 strh r3, [r5], #2 @ movhi
16671 bhi .L6027
16672 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16673.L6020:
16674 mov lr, r2
16675 b .L6031
16676.L6021:
16677 cmp lr, #239
16678 ldmhifd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16679.L6031:
16680 mov r2, lr, asl #1
16681 ldrh r3, [r2, r4]
16682 add ip, ip, #1
16683 mov r2, r3, lsr #10
16684 and r1, r3, #31
16685 orr r2, r2, r1, asl #11
16686 and r3, r3, #992
16687 add r0, r0, sl
16688 orr r2, r2, r3, asl #1
16689 cmp r8, ip
16690 mov lr, r0, asr #8
16691 strh r2, [r5], #2 @ movhi
16692 bhi .L6021
16693 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16694.L6004:
16695 cmp lr, #0
16696 sublt r5, r5, lr, asl #1
16697 addlt r8, r8, lr
16698 movlt lr, r6
16699 movlt r3, lr
16700 blt .L6012
16701 addne r4, r4, lr, asl #1
16702 mov r3, lr
16703.L6012:
16704 add r3, r8, r3
16705 cmp r3, #239
16706 rsbhi r8, lr, #240
16707 cmp r8, #0
16708 ldmlefd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16709 mov r0, #0
16710.L6018:
16711 ldrh r3, [r4], #2
16712 add r0, r0, #1
16713 mov r2, r3, lsr #10
16714 and r1, r3, #31
16715 orr r2, r2, r1, asl #11
16716 and r3, r3, #992
16717 orr r2, r2, r3, asl #1
16718 cmp r8, r0
16719 strh r2, [r5], #2 @ movhi
16720 bne .L6018
16721 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16722.L6036:
16723 mov ip, #0
16724 b .L6025
16725.L6037:
16726 mov ip, r6
16727 b .L6031
16728.L6039:
16729 .align 2
16730.L6038:
16731 .word io_registers
16732 .word affine_reference_x
16733 .word affine_reference_y
16734 .word vram
16735 .size render_scanline_bitmap_mode3_normal, .-render_scanline_bitmap_mode3_normal
16736 .align 2
16737 .global render_scanline_bitmap_mode4_normal
16738 .type render_scanline_bitmap_mode4_normal, %function
16739render_scanline_bitmap_mode4_normal:
16740 @ args = 0, pretend = 0, frame = 0
16741 @ frame_needed = 0, uses_anonymous_args = 0
16742 ldr r3, .L6084
16743 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
16744 ldrh ip, [r3, #0]
16745 ldr r4, .L6084+4
16746 ldrh sl, [r3, #36]
16747 tst ip, #16
16748 ldrh r9, [r3, #32]
16749 ldr ip, .L6084+8
16750 ldr r3, .L6084+12
16751 ldr r5, [ip, #0]
16752 ldr r6, [r3, #0]
16753 mov lr, r9, asl #16
16754 mov ip, sl, asl #16
16755 add r3, r4, #40960
16756 moveq fp, r4
16757 movne fp, r3
16758 mov r8, lr, asr #16
16759 mov r7, ip, asr #16
16760 cmp sl, #0
16761 mla r4, r7, r0, r5
16762 add ip, r2, r0, asl #1
16763 rsb lr, r0, r1
16764 mla r5, r8, r0, r6
16765 beq .L6044
16766 cmp lr, #0
16767 ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16768 mov r1, r5, asr #8
16769 mov r0, r4, asr #8
16770 cmp r1, #239
16771 cmpls r0, #159
16772 mov r2, r1
16773 mov r3, r0
16774 movhi r6, #0
16775 movls r6, #1
16776 bhi .L6050
16777 b .L6082
16778.L6071:
16779 cmp r3, #239
16780 cmpls r2, #159
16781 bls .L6072
16782.L6050:
16783 add r6, r6, #1
16784 add r5, r5, r8
16785 add r4, r4, r7
16786 cmp lr, r6
16787 mov r3, r5, asr #8
16788 mov r2, r4, asr #8
16789 add ip, ip, #2
16790 bne .L6071
16791 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16792.L6044:
16793 mov r3, r4, asr #8
16794 cmp r3, #159
16795 ldmhifd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16796 rsb r3, r3, r3, asl #4
16797 cmp r9, #256
16798 add r1, fp, r3, asl #4
16799 mov r0, r5, asr #8
16800 beq .L6052
16801 cmp lr, #0
16802 ldmeqfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16803 cmp r0, #239
16804 movhi r2, sl
16805 bhi .L6057
16806 b .L6083
16807.L6067:
16808 cmp r3, #239
16809 bls .L6068
16810.L6057:
16811 add r2, r2, #1
16812 add r5, r5, r8
16813 cmp lr, r2
16814 mov r3, r5, asr #8
16815 add ip, ip, #2
16816 bne .L6067
16817 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16818.L6072:
16819 mov r0, r2
16820 mov r1, r3
16821 mov r2, r3
16822 mov r3, r0
16823.L6073:
16824 cmp r3, #159
16825 cmpls r2, #239
16826 ldrls sl, .L6084+16
16827 bls .L6074
16828 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16829.L6075:
16830 cmp r0, #159
16831 cmpls r1, #239
16832 ldmhifd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16833.L6074:
16834 rsb r3, r0, r0, asl #4
16835 add r3, fp, r3, asl #4
16836 ldrb r2, [r3, r1] @ zero_extendqisi2
16837 add r6, r6, #1
16838 mov r2, r2, asl #1
16839 ldrh r2, [r2, sl]
16840 add r5, r5, r8
16841 add r4, r4, r7
16842 cmp lr, r6
16843 mov r0, r4, asr #8
16844 mov r1, r5, asr #8
16845 strh r2, [ip], #2 @ movhi
16846 bhi .L6075
16847 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16848.L6068:
16849 ldr r4, .L6084+16
16850 mov r0, r3
16851 b .L6079
16852.L6069:
16853 cmp r0, #239
16854 ldmhifd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16855.L6079:
16856 ldrb r3, [r1, r0] @ zero_extendqisi2
16857 add r2, r2, #1
16858 mov r3, r3, asl #1
16859 ldrh r3, [r3, r4]
16860 add r5, r5, r8
16861 cmp lr, r2
16862 mov r0, r5, asr #8
16863 strh r3, [ip], #2 @ movhi
16864 bhi .L6069
16865 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16866.L6052:
16867 cmp r0, #0
16868 sublt ip, ip, r0, asl #1
16869 addlt lr, lr, r0
16870 movlt r0, sl
16871 movlt r3, r0
16872 blt .L6060
16873 addne r1, r1, r0
16874 mov r3, r0
16875.L6060:
16876 add r3, lr, r3
16877 cmp r3, #239
16878 rsbhi lr, r0, #240
16879 cmp lr, #0
16880 ldmlefd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16881 ldr r0, .L6084+16
16882 mov r2, #0
16883.L6066:
16884 ldrb r3, [r1], #1 @ zero_extendqisi2
16885 add r2, r2, #1
16886 mov r3, r3, asl #1
16887 ldrh r3, [r3, r0]
16888 cmp lr, r2
16889 strh r3, [ip], #2 @ movhi
16890 bne .L6066
16891 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16892.L6082:
16893 mov r6, #0
16894 b .L6073
16895.L6083:
16896 ldr r4, .L6084+16
16897 mov r2, sl
16898 b .L6079
16899.L6085:
16900 .align 2
16901.L6084:
16902 .word io_registers
16903 .word vram
16904 .word affine_reference_y
16905 .word affine_reference_x
16906 .word palette_ram_converted
16907 .size render_scanline_bitmap_mode4_normal, .-render_scanline_bitmap_mode4_normal
16908 .align 2
16909 .global render_scanline_bitmap_mode5_normal
16910 .type render_scanline_bitmap_mode5_normal, %function
16911render_scanline_bitmap_mode5_normal:
16912 @ args = 0, pretend = 0, frame = 4
16913 @ frame_needed = 0, uses_anonymous_args = 0
16914 ldr r3, .L6132
16915 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
16916 ldrh ip, [r3, #0]
16917 ldrh r9, [r3, #36]
16918 tst ip, #16
16919 ldr r4, .L6132+4
16920 ldrh fp, [r3, #32]
16921 ldr ip, .L6132+8
16922 ldr r3, .L6132+12
16923 ldr r5, [ip, #0]
16924 ldr r6, [r3, #0]
16925 mov ip, r9, asl #16
16926 mov lr, fp, asl #16
16927 add r3, r4, #40960
16928 movne r4, r3
16929 mov r7, ip, asr #16
16930 sub sp, sp, #4
16931 mov sl, lr, asr #16
16932 cmp r9, #0
16933 str r4, [sp, #0]
16934 add ip, r2, r0, asl #1
16935 mla r4, r7, r0, r5
16936 rsb r8, r0, r1
16937 mla r0, sl, r0, r6
16938 beq .L6090
16939 cmp r8, #0
16940 beq .L6122
16941 mov lr, r0, asr #8
16942 mov r5, r4, asr #8
16943 cmp lr, #159
16944 cmpls r5, #127
16945 movhi r1, #0
16946 movls r1, #1
16947 mov r2, lr
16948 mov r3, r5
16949 movhi r6, r1
16950 bhi .L6096
16951 b .L6130
16952.L6117:
16953 cmp r3, #159
16954 cmpls r2, #127
16955 bls .L6118
16956.L6096:
16957 add r6, r6, #1
16958 add r0, r0, sl
16959 add r4, r4, r7
16960 cmp r8, r6
16961 mov r3, r0, asr #8
16962 mov r2, r4, asr #8
16963 add ip, ip, #2
16964 bne .L6117
16965.L6122:
16966 add sp, sp, #4
16967 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
16968.L6090:
16969 mov r3, r4, asr #8
16970 cmp r3, #127
16971 bhi .L6122
16972 ldr r1, [sp, #0]
16973 add r3, r3, r3, asl #2
16974 cmp fp, #256
16975 add lr, r1, r3, asl #6
16976 mov r5, r0, asr #8
16977 beq .L6098
16978 cmp r8, #0
16979 beq .L6122
16980 cmp r5, #159
16981 movhi r4, r9
16982 bhi .L6103
16983 b .L6131
16984.L6113:
16985 cmp r2, #159
16986 bls .L6114
16987.L6103:
16988 add r4, r4, #1
16989 add r0, r0, sl
16990 cmp r8, r4
16991 mov r2, r0, asr #8
16992 add ip, ip, #2
16993 bne .L6113
16994 b .L6122
16995.L6118:
16996 mov r5, r2
16997 mov lr, r3
16998 mov r2, r3
16999 mov r3, r5
17000.L6119:
17001 cmp r3, #127
17002 cmpls r2, #159
17003 bls .L6126
17004 b .L6122
17005.L6121:
17006 cmp r5, #127
17007 cmpls lr, #159
17008 bhi .L6122
17009.L6126:
17010 add r3, r5, r5, asl #2
17011 add r3, lr, r3, asl #5
17012 ldr r1, [sp, #0]
17013 mov r3, r3, asl #1
17014 ldrh r2, [r3, r1]
17015 add r6, r6, #1
17016 mov r3, r2, lsr #10
17017 and r1, r2, #31
17018 orr r3, r3, r1, asl #11
17019 and r2, r2, #992
17020 add r0, r0, sl
17021 add r4, r4, r7
17022 orr r3, r3, r2, asl #1
17023 cmp r8, r6
17024 mov r5, r4, asr #8
17025 mov lr, r0, asr #8
17026 strh r3, [ip], #2 @ movhi
17027 bhi .L6121
17028 b .L6122
17029.L6114:
17030 mov r5, r2
17031 b .L6125
17032.L6115:
17033 cmp r5, #159
17034 bhi .L6122
17035.L6125:
17036 mov r2, r5, asl #1
17037 ldrh r3, [r2, lr]
17038 add r4, r4, #1
17039 mov r2, r3, lsr #10
17040 and r1, r3, #31
17041 orr r2, r2, r1, asl #11
17042 and r3, r3, #992
17043 add r0, r0, sl
17044 orr r2, r2, r3, asl #1
17045 cmp r8, r4
17046 mov r5, r0, asr #8
17047 strh r2, [ip], #2 @ movhi
17048 bhi .L6115
17049 b .L6122
17050.L6098:
17051 cmp r5, #0
17052 sublt ip, ip, r5, asl #1
17053 addlt r8, r8, r5
17054 movlt r5, r9
17055 movlt r3, r5
17056 blt .L6106
17057 addne lr, lr, r5, asl #1
17058 mov r3, r5
17059.L6106:
17060 add r3, r8, r3
17061 cmp r3, #159
17062 rsbhi r8, r5, #160
17063 cmp r8, #0
17064 ble .L6122
17065 mov r0, #0
17066.L6112:
17067 ldrh r3, [lr], #2
17068 add r0, r0, #1
17069 mov r2, r3, lsr #10
17070 and r1, r3, #31
17071 orr r2, r2, r1, asl #11
17072 and r3, r3, #992
17073 orr r2, r2, r3, asl #1
17074 cmp r8, r0
17075 strh r2, [ip], #2 @ movhi
17076 bne .L6112
17077 b .L6122
17078.L6130:
17079 mov r6, #0
17080 b .L6119
17081.L6131:
17082 mov r4, r9
17083 b .L6125
17084.L6133:
17085 .align 2
17086.L6132:
17087 .word io_registers
17088 .word vram
17089 .word affine_reference_y
17090 .word affine_reference_x
17091 .size render_scanline_bitmap_mode5_normal, .-render_scanline_bitmap_mode5_normal
17092 .align 2
17093 .global render_scanline_obj_normal_1D
17094 .type render_scanline_obj_normal_1D, %function
17095render_scanline_obj_normal_1D:
17096 @ args = 0, pretend = 0, frame = 104
17097 @ frame_needed = 0, uses_anonymous_args = 0
17098 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
17099 ldr ip, .L6976
17100 sub sp, sp, #104
17101 ldrh ip, [ip, #6]
17102 add r0, r0, r0, asl #2
17103 add r0, ip, r0, asl #5
17104 str ip, [sp, #28]
17105 ldr ip, .L6976+4
17106 str r1, [sp, #8]
17107 ldr ip, [ip, r0, asl #2]
17108 str r2, [sp, #4]
17109 str ip, [sp, #32]
17110 cmp ip, #0
17111 ldr ip, .L6976+8
17112 str r3, [sp, #0]
17113 add r0, ip, r0, asl #7
17114 str r0, [sp, #36]
17115 beq .L6922
17116 add r0, r3, r1, asl #1
17117 rsb r1, r1, r2
17118 mov r2, #0
17119 str r0, [sp, #76]
17120 str r1, [sp, #100]
17121 str r2, [sp, #24]
17122 mov r4, r2
17123.L6137:
17124 ldr r5, [sp, #36]
17125 ldr r6, .L6976+12
17126 ldrb r3, [r4, r5] @ zero_extendqisi2
17127 mov r3, r3, asl #3
17128 ldrh lr, [r3, r6]
17129 add r3, r3, r6
17130 ldrh r1, [r3, #2]
17131 mov r4, lr, lsr #12
17132 and r2, r4, #12
17133 orr r0, r2, r1, lsr #14
17134 and ip, lr, #255
17135 mov r2, r1, asl #23
17136 cmp ip, #160
17137 ldrh r6, [r3, #4]
17138 mov r5, r2, asr #23
17139 ldr r3, .L6976+16
17140 ldr r2, .L6976+20
17141 subgt ip, ip, #256
17142 tst lr, #256
17143 ldr r7, [r2, r0, asl #2]
17144 ldr sl, [r3, r0, asl #2]
17145 beq .L6140
17146 tst lr, #8192
17147 beq .L6142
17148 mov r3, r1, lsr #4
17149 ldr r4, .L6976+12
17150 and r3, r3, #992
17151 add r3, r3, r4
17152 tst lr, #512
17153 ldrh lr, [r3, #30]
17154 add r2, r7, r7, lsr #31
17155 add r1, sl, sl, lsr #31
17156 str lr, [sp, #12]
17157 mov lr, r2, asr #1
17158 ldr r2, [sp, #8]
17159 mov r4, r1, asr #1
17160 movne r0, lr, asl #1
17161 strne r0, [sp, #48]
17162 moveq r9, r7
17163 streq lr, [sp, #48]
17164 moveq r0, r4
17165 movne r9, r7, asl #1
17166 movne r0, r4, asl #1
17167 cmp r5, r2
17168 ldrh r8, [r3, #6]
17169 ldrh r1, [r3, #14]
17170 ldrh fp, [r3, #22]
17171 bge .L6147
17172 rsb r2, r5, r2
17173 rsb r9, r2, r9
17174 cmp r9, #0
17175 ble .L6149
17176 ldr r3, [sp, #48]
17177 ldr r5, [sp, #8]
17178 rsb r3, r2, r3
17179 str r3, [sp, #48]
17180.L6147:
17181 ldr r2, [sp, #4]
17182 add r3, r5, r9
17183 cmp r3, r2
17184 blt .L6151
17185 rsb r9, r5, r2
17186 cmp r9, #0
17187 ble .L6149
17188.L6151:
17189 add r0, ip, r0
17190 ldr ip, [sp, #12]
17191 mov r2, r1, asl #16
17192 mov lr, lr, asl #8
17193 mov r1, ip, asl #16
17194 mov r3, r8, asl #16
17195 mov ip, r1, asr #16
17196 str lr, [sp, #84]
17197 ldr r1, [sp, #28]
17198 ldr lr, [sp, #0]
17199 mov r3, r3, asr #16
17200 mov r2, r2, asr #16
17201 cmp fp, #0
17202 add r8, lr, r5, asl #1
17203 str r3, [sp, #40]
17204 str r2, [sp, #44]
17205 mov r4, r4, asl #8
17206 rsb lr, r0, r1
17207 bne .L6153
17208 mla r3, lr, ip, r4
17209 mov r0, r3, asr #8
17210 cmp r0, sl
17211 bcs .L6149
17212 cmp r7, #0
17213 add r3, r7, #7
17214 movge r3, r7
17215 mov r3, r3, asr #3
17216 mov r2, r6, asl #22
17217 mov r3, r3, asl #1
17218 mov r1, r0, lsr #3
17219 mov r2, r2, lsr #22
17220 mla ip, r3, r1, r2
17221 and r0, r0, #7
17222 ldr r3, .L6976+24
17223 add r0, r0, ip, asl #2
17224 cmp r9, #0
17225 add r4, r3, r0, asl #3
17226 ble .L6149
17227 ldr r3, [sp, #44]
17228 ldr r2, [sp, #48]
17229 ldr r5, [sp, #40]
17230 mul r3, lr, r3
17231 mul r2, r5, r2
17232 ldr r6, [sp, #84]
17233 rsb r3, r2, r3
17234 add r0, r6, r3
17235 mov lr, r0, asr #8
17236 cmp lr, r7
17237 movcs ip, fp
17238 bcs .L6159
17239 b .L6972
17240.L6160:
17241 cmp lr, r7
17242 bcc .L6936
17243.L6159:
17244 ldr lr, [sp, #40]
17245 add ip, ip, #1
17246 add r0, r0, lr
17247 cmp r9, ip
17248 mov lr, r0, asr #8
17249 add r8, r8, #2
17250 bne .L6160
17251.L6149:
17252 ldr lr, [sp, #24]
17253 ldr r0, [sp, #32]
17254 add lr, lr, #1
17255 cmp lr, r0
17256 str lr, [sp, #24]
17257 beq .L6922
17258.L6954:
17259 ldr r4, [sp, #24]
17260 b .L6137
17261.L6140:
17262 ldr lr, [sp, #28]
17263 tst r1, #8192
17264 rsb ip, ip, lr
17265 rsbne r3, ip, sl
17266 subne ip, r3, #1
17267 mov r2, r1, asl #19
17268 and r3, r4, #2
17269 orr r3, r3, r2, lsr #31
17270 cmp r3, #3
17271 ldrls pc, [pc, r3, asl #2]
17272 b .L6149
17273 .p2align 2
17274.L6221:
17275 .word .L6217
17276 .word .L6218
17277 .word .L6219
17278 .word .L6220
17279.L6217:
17280 cmp r7, #0
17281 add r3, r7, #7
17282 mov r2, r6, asl #22
17283 movge r3, r7
17284 mov r8, r3, asr #3
17285 mov r2, r2, lsr #22
17286 mov r3, ip, lsr #3
17287 mla r0, r8, r3, r2
17288 and r1, ip, #7
17289 add r1, r1, r0, asl #3
17290 ldr r0, [sp, #8]
17291 ldr r3, .L6976+24
17292 cmp r5, r0
17293 mov r2, r6, lsr #8
17294 add r0, r3, r1, asl #2
17295 and r1, r2, #240
17296 blt .L6949
17297 ldr r2, [sp, #4]
17298 add r3, r5, r7
17299 cmp r2, r3
17300 bhi .L6303
17301 rsb r8, r5, r2
17302 cmp r8, #0
17303 ble .L6149
17304 ldr r3, [sp, #0]
17305 movs r7, r8, lsr #3
17306 add r2, r3, r5, asl #1
17307 beq .L6306
17308 ldr r6, .L6976+36
17309 mov r4, r2
17310 mov r5, r0
17311 mov ip, #0
17312.L6308:
17313 ldr lr, [r5, #0]
17314 cmp lr, #0
17315 beq .L6309
17316 ands r3, lr, #15
17317 orrne r3, r1, r3
17318 movne r3, r3, asl #1
17319 ldrneh r3, [r3, r6]
17320 strneh r3, [r4, #0] @ movhi
17321 mov r3, lr, lsr #4
17322 ands r3, r3, #15
17323 orrne r3, r1, r3
17324 movne r3, r3, asl #1
17325 ldrneh r3, [r3, r6]
17326 strneh r3, [r4, #2] @ movhi
17327 mov r3, lr, lsr #8
17328 ands r3, r3, #15
17329 orrne r3, r1, r3
17330 movne r3, r3, asl #1
17331 ldrneh r3, [r3, r6]
17332 strneh r3, [r4, #4] @ movhi
17333 mov r3, lr, lsr #12
17334 ands r3, r3, #15
17335 orrne r3, r1, r3
17336 movne r3, r3, asl #1
17337 ldrneh r3, [r3, r6]
17338 strneh r3, [r4, #6] @ movhi
17339 mov r3, lr, lsr #16
17340 ands r3, r3, #15
17341 orrne r3, r1, r3
17342 movne r3, r3, asl #1
17343 ldrneh r3, [r3, r6]
17344 strneh r3, [r4, #8] @ movhi
17345 mov r3, lr, lsr #20
17346 ands r3, r3, #15
17347 orrne r3, r1, r3
17348 movne r3, r3, asl #1
17349 ldrneh r3, [r3, r6]
17350 strneh r3, [r4, #10] @ movhi
17351 mov r3, lr, lsr #24
17352 ands r3, r3, #15
17353 orrne r3, r1, r3
17354 movne r3, r3, asl #1
17355 ldrneh r3, [r3, r6]
17356 strneh r3, [r4, #12] @ movhi
17357 movs r3, lr, lsr #28
17358 orrne r3, r1, r3
17359 movne r3, r3, asl #1
17360 ldrneh r3, [r3, r6]
17361 strneh r3, [r4, #14] @ movhi
17362.L6309:
17363 add ip, ip, #1
17364 cmp ip, r7
17365 add r5, r5, #32
17366 add r4, r4, #16
17367 bne .L6308
17368 add r0, r0, r7, asl #5
17369 add r2, r2, r7, asl #4
17370.L6306:
17371 ands r4, r8, #7
17372 beq .L6149
17373 ldr r0, [r0, #0]
17374 ldr r5, .L6976+36
17375 mov lr, #0
17376.L6328:
17377 ands r3, r0, #15
17378 orr r3, r1, r3
17379 mov r3, r3, asl #1
17380 ldrneh r3, [r3, r5]
17381 mov ip, lr, asl #1
17382 add lr, lr, #1
17383 strneh r3, [ip, r2] @ movhi
17384 cmp lr, r4
17385 mov r0, r0, lsr #4
17386 bne .L6328
17387 b .L6149
17388.L6218:
17389 cmp r7, #0
17390 add r3, r7, #7
17391 mov r2, r6, asl #22
17392 movge r3, r7
17393 mov r1, ip, lsr #3
17394 mov r8, r3, asr #3
17395 mov r2, r2, lsr #22
17396 mla r0, r8, r1, r2
17397 subs r3, r7, #8
17398 submi r3, r7, #1
17399 and r2, ip, #7
17400 ldr ip, [sp, #8]
17401 add r0, r0, r3, asr #3
17402 ldr r3, .L6976+24
17403 add r2, r2, r0, asl #3
17404 mov r1, r6, lsr #8
17405 cmp r5, ip
17406 add r0, r3, r2, asl #2
17407 and r1, r1, #240
17408 blt .L6950
17409 ldr r2, [sp, #4]
17410 add r3, r5, r7
17411 cmp r2, r3
17412 bhi .L6433
17413 rsb r8, r5, r2
17414 cmp r8, #0
17415 ble .L6149
17416 ldr r3, [sp, #0]
17417 movs r7, r8, lsr #3
17418 add r2, r3, r5, asl #1
17419 beq .L6436
17420 ldr r6, .L6976+36
17421 mov r4, r2
17422 mov r5, r0
17423 mov ip, #0
17424.L6438:
17425 ldr lr, [r5, #0]
17426 cmp lr, #0
17427 beq .L6439
17428 ands r3, lr, #15
17429 orrne r3, r1, r3
17430 movne r3, r3, asl #1
17431 ldrneh r3, [r3, r6]
17432 strneh r3, [r4, #14] @ movhi
17433 mov r3, lr, lsr #4
17434 ands r3, r3, #15
17435 orrne r3, r1, r3
17436 movne r3, r3, asl #1
17437 ldrneh r3, [r3, r6]
17438 strneh r3, [r4, #12] @ movhi
17439 mov r3, lr, lsr #8
17440 ands r3, r3, #15
17441 orrne r3, r1, r3
17442 movne r3, r3, asl #1
17443 ldrneh r3, [r3, r6]
17444 strneh r3, [r4, #10] @ movhi
17445 mov r3, lr, lsr #12
17446 ands r3, r3, #15
17447 orrne r3, r1, r3
17448 movne r3, r3, asl #1
17449 ldrneh r3, [r3, r6]
17450 strneh r3, [r4, #8] @ movhi
17451 mov r3, lr, lsr #16
17452 ands r3, r3, #15
17453 orrne r3, r1, r3
17454 movne r3, r3, asl #1
17455 ldrneh r3, [r3, r6]
17456 strneh r3, [r4, #6] @ movhi
17457 mov r3, lr, lsr #20
17458 ands r3, r3, #15
17459 orrne r3, r1, r3
17460 movne r3, r3, asl #1
17461 ldrneh r3, [r3, r6]
17462 strneh r3, [r4, #4] @ movhi
17463 mov r3, lr, lsr #24
17464 ands r3, r3, #15
17465 orrne r3, r1, r3
17466 movne r3, r3, asl #1
17467 ldrneh r3, [r3, r6]
17468 strneh r3, [r4, #2] @ movhi
17469 movs r3, lr, lsr #28
17470 orrne r3, r1, r3
17471 movne r3, r3, asl #1
17472 ldrneh r3, [r3, r6]
17473 strneh r3, [r4, #0] @ movhi
17474.L6439:
17475 add ip, ip, #1
17476 cmp ip, r7
17477 sub r5, r5, #32
17478 add r4, r4, #16
17479 bne .L6438
17480 rsb r3, r7, r7, asl #27
17481 add r0, r0, r3, asl #5
17482 add r2, r2, r7, asl #4
17483.L6436:
17484 ands r4, r8, #7
17485 beq .L6149
17486 ldr r0, [r0, #0]
17487 ldr r5, .L6976+36
17488 mov lr, #0
17489.L6458:
17490 movs r3, r0, lsr #28
17491 orr r3, r1, r3
17492 mov r3, r3, asl #1
17493 ldrneh r3, [r3, r5]
17494 mov ip, lr, asl #1
17495 add lr, lr, #1
17496 strneh r3, [ip, r2] @ movhi
17497 cmp lr, r4
17498 mov r0, r0, asl #4
17499 bne .L6458
17500 b .L6149
17501.L6219:
17502 cmp r7, #0
17503 add r3, r7, #7
17504 mov r1, r6, asl #22
17505 movge r3, r7
17506 mov r2, ip, lsr #3
17507 mov r6, r3, asr #3
17508 mov r1, r1, lsr #22
17509 mov r2, r2, asl #1
17510 mla r0, r2, r6, r1
17511 and r3, ip, #7
17512 add r3, r3, r0, asl #2
17513 ldr ip, [sp, #8]
17514 mov r0, r3, asl #3
17515 ldr r3, .L6976+24
17516 cmp r5, ip
17517 add r1, r0, r3
17518 blt .L6951
17519 ldr ip, [sp, #4]
17520 add r3, r5, r7
17521 cmp ip, r3
17522 bhi .L6638
17523 rsb r8, r5, ip
17524 cmp r8, #0
17525 ble .L6149
17526 ldr lr, [sp, #0]
17527 movs r7, r8, lsr #3
17528 add r2, lr, r5, asl #1
17529 beq .L6641
17530 ldr r3, .L6976+32
17531 ldr r6, .L6976+36
17532 add r0, r0, r3
17533 mov r4, r2
17534 mov r5, r1
17535 mov ip, #0
17536.L6643:
17537 ldr lr, [r5, #0]
17538 cmp lr, #0
17539 beq .L6644
17540 ands r3, lr, #255
17541 movne r3, r3, asl #1
17542 ldrneh r3, [r3, r6]
17543 strneh r3, [r4, #0] @ movhi
17544 mov r3, lr, lsr #8
17545 ands r3, r3, #255
17546 movne r3, r3, asl #1
17547 ldrneh r3, [r3, r6]
17548 strneh r3, [r4, #2] @ movhi
17549 mov r3, lr, lsr #16
17550 ands r3, r3, #255
17551 movne r3, r3, asl #1
17552 ldrneh r3, [r3, r6]
17553 strneh r3, [r4, #4] @ movhi
17554 movs r3, lr, lsr #24
17555 movne r3, r3, asl #1
17556 ldrneh r3, [r3, r6]
17557 strneh r3, [r4, #6] @ movhi
17558.L6644:
17559 ldr lr, [r0, #-60]
17560 cmp lr, #0
17561 beq .L6653
17562 ands r3, lr, #255
17563 movne r3, r3, asl #1
17564 ldrneh r3, [r3, r6]
17565 strneh r3, [r4, #8] @ movhi
17566 mov r3, lr, lsr #8
17567 ands r3, r3, #255
17568 movne r3, r3, asl #1
17569 ldrneh r3, [r3, r6]
17570 strneh r3, [r4, #10] @ movhi
17571 mov r3, lr, lsr #16
17572 ands r3, r3, #255
17573 movne r3, r3, asl #1
17574 ldrneh r3, [r3, r6]
17575 strneh r3, [r4, #12] @ movhi
17576 movs r3, lr, lsr #24
17577 movne r3, r3, asl #1
17578 ldrneh r3, [r3, r6]
17579 strneh r3, [r4, #14] @ movhi
17580.L6653:
17581 add ip, ip, #1
17582 cmp r7, ip
17583 add r5, r5, #64
17584 add r4, r4, #16
17585 add r0, r0, #64
17586 bne .L6643
17587 add r1, r1, r7, asl #6
17588 add r2, r2, r7, asl #4
17589.L6641:
17590 ands lr, r8, #7
17591 beq .L6149
17592 cmp lr, #3
17593 ldrls r0, [r1, #0]
17594 bls .L6676
17595 ldr r0, [r1, #0]
17596 cmp r0, #0
17597 beq .L6666
17598 ands r3, r0, #255
17599 ldrne r4, .L6976+36
17600 movne r3, r3, asl #1
17601 ldrneh r3, [r3, r4]
17602 strneh r3, [r2, #0] @ movhi
17603 mov r3, r0, lsr #8
17604 ands r3, r3, #255
17605 ldrne r5, .L6976+36
17606 movne r3, r3, asl #1
17607 ldrneh r3, [r3, r5]
17608 strneh r3, [r2, #2] @ movhi
17609 mov r3, r0, lsr #16
17610 ands r3, r3, #255
17611 ldrne r6, .L6976+36
17612 movne r3, r3, asl #1
17613 ldrneh r3, [r3, r6]
17614 strneh r3, [r2, #4] @ movhi
17615 movs r3, r0, lsr #24
17616 ldrne r7, .L6976+36
17617 movne r3, r3, asl #1
17618 ldrneh r3, [r3, r7]
17619 strneh r3, [r2, #6] @ movhi
17620.L6666:
17621 subs lr, lr, #4
17622 ldr r0, [r1, #4]
17623 addne r2, r2, #8
17624 beq .L6149
17625.L6676:
17626 mov r1, #0
17627.L6677:
17628 ands r3, r0, #255
17629 ldrne r4, .L6976+36
17630 mov r3, r3, asl #1
17631 ldrneh r3, [r3, r4]
17632 mov ip, r1, asl #1
17633 add r1, r1, #1
17634 strneh r3, [ip, r2] @ movhi
17635 cmp lr, r1
17636 mov r0, r0, lsr #8
17637 bhi .L6677
17638 b .L6149
17639.L6220:
17640 cmp r7, #0
17641 add r2, r7, #7
17642 movge r2, r7
17643 subs r3, r7, #8
17644 submi r3, r7, #1
17645 mov r1, ip, lsr #3
17646 mov r8, r2, asr #3
17647 mov r3, r3, asr #3
17648 mla r0, r8, r1, r3
17649 mov r2, r6, asl #22
17650 mov r2, r2, lsr #22
17651 add r2, r2, r0, asl #1
17652 and r3, ip, #7
17653 add r3, r3, r2, asl #2
17654 ldr ip, [sp, #8]
17655 mov r0, r3, asl #3
17656 ldr r3, .L6976+24
17657 cmp r5, ip
17658 add r1, r0, r3
17659 blt .L6952
17660 ldr ip, [sp, #4]
17661 add r3, r5, r7
17662 cmp r3, ip
17663 bcc .L6858
17664 rsb r8, r5, ip
17665 cmp r8, #0
17666 ble .L6149
17667 ldr lr, [sp, #0]
17668 movs r7, r8, lsr #3
17669 add sl, lr, r5, asl #1
17670 beq .L6861
17671 ldr r3, .L6976+28
17672 ldr r6, .L6976+36
17673 add r0, r0, r3
17674 mov r4, sl
17675 mov r5, r1
17676 mov ip, #0
17677.L6863:
17678 ldr lr, [r0, #68]
17679 cmp lr, #0
17680 beq .L6864
17681 ands r3, lr, #255
17682 movne r3, r3, asl #1
17683 ldrneh r3, [r3, r6]
17684 strneh r3, [r4, #6] @ movhi
17685 mov r3, lr, lsr #8
17686 ands r3, r3, #255
17687 movne r3, r3, asl #1
17688 ldrneh r3, [r3, r6]
17689 strneh r3, [r4, #4] @ movhi
17690 mov r3, lr, lsr #16
17691 ands r3, r3, #255
17692 movne r3, r3, asl #1
17693 ldrneh r3, [r3, r6]
17694 strneh r3, [r4, #2] @ movhi
17695 movs r3, lr, lsr #24
17696 movne r3, r3, asl #1
17697 ldrneh r3, [r3, r6]
17698 strneh r3, [r4, #0] @ movhi
17699.L6864:
17700 ldr lr, [r5, #0]
17701 cmp lr, #0
17702 beq .L6873
17703 ands r3, lr, #255
17704 movne r3, r3, asl #1
17705 ldrneh r3, [r3, r6]
17706 strneh r3, [r4, #14] @ movhi
17707 mov r3, lr, lsr #8
17708 ands r3, r3, #255
17709 movne r3, r3, asl #1
17710 ldrneh r3, [r3, r6]
17711 strneh r3, [r4, #12] @ movhi
17712 mov r3, lr, lsr #16
17713 ands r3, r3, #255
17714 movne r3, r3, asl #1
17715 ldrneh r3, [r3, r6]
17716 strneh r3, [r4, #10] @ movhi
17717 movs r3, lr, lsr #24
17718 movne r3, r3, asl #1
17719 ldrneh r3, [r3, r6]
17720 strneh r3, [r4, #8] @ movhi
17721.L6873:
17722 add ip, ip, #1
17723 cmp ip, r7
17724 sub r5, r5, #64
17725 add r4, r4, #16
17726 sub r0, r0, #64
17727 bne .L6863
17728 rsb r3, r7, r7, asl #26
17729 add r1, r1, r3, asl #6
17730 add sl, sl, r7, asl #4
17731.L6861:
17732 ands ip, r8, #7
17733 beq .L6149
17734 cmp ip, #3
17735 ldrls r2, [r1, #4]
17736 bls .L6896
17737 ldr r2, [r1, #4]
17738 cmp r2, #0
17739 beq .L6886
17740 ands r3, r2, #255
17741 ldrne r0, .L6976+36
17742 movne r3, r3, asl #1
17743 ldrneh r3, [r3, r0]
17744 strneh r3, [sl, #6] @ movhi
17745 mov r3, r2, lsr #8
17746 ands r3, r3, #255
17747 ldrne r4, .L6976+36
17748 movne r3, r3, asl #1
17749 ldrneh r3, [r3, r4]
17750 strneh r3, [sl, #4] @ movhi
17751 mov r3, r2, lsr #16
17752 ands r3, r3, #255
17753 ldrne r5, .L6976+36
17754 movne r3, r3, asl #1
17755 ldrneh r3, [r3, r5]
17756 strneh r3, [sl, #2] @ movhi
17757 movs r3, r2, lsr #24
17758 ldrne r6, .L6976+36
17759 movne r3, r3, asl #1
17760 ldrneh r3, [r3, r6]
17761 strneh r3, [sl, #0] @ movhi
17762.L6886:
17763 subs ip, ip, #4
17764 ldr r2, [r1, #0]
17765 addne sl, sl, #8
17766 beq .L6149
17767.L6896:
17768 mov r1, #0
17769.L6897:
17770 movs r3, r2, lsr #24
17771 ldrne r7, .L6976+36
17772 mov r3, r3, asl #1
17773 ldrneh r3, [r3, r7]
17774 mov r0, r1, asl #1
17775 add r1, r1, #1
17776 strneh r3, [r0, sl] @ movhi
17777 cmp ip, r1
17778 mov r2, r2, asl #8
17779 bhi .L6897
17780 b .L6149
17781.L6142:
17782 mov r3, r1, lsr #4
17783 ldr r4, .L6976+12
17784 and r3, r3, #992
17785 add r3, r3, r4
17786 tst lr, #512
17787 ldrh lr, [r3, #30]
17788 add r2, r7, r7, lsr #31
17789 add r1, sl, sl, lsr #31
17790 str lr, [sp, #20]
17791 mov lr, r2, asr #1
17792 ldr r2, [sp, #8]
17793 mov r4, r1, asr #1
17794 ldrh r8, [r3, #6]
17795 ldrh r1, [r3, #14]
17796 ldrh r3, [r3, #22]
17797 moveq fp, r7
17798 moveq r9, lr
17799 moveq r0, r4
17800 movne fp, r7, asl #1
17801 movne r9, lr, asl #1
17802 movne r0, r4, asl #1
17803 cmp r5, r2
17804 str r3, [sp, #16]
17805 bge .L6180
17806 rsb r2, r5, r2
17807 rsb fp, r2, fp
17808 cmp fp, #0
17809 ble .L6149
17810 ldr r5, [sp, #8]
17811 rsb r9, r2, r9
17812.L6180:
17813 ldr r2, [sp, #4]
17814 add r3, r5, fp
17815 cmp r3, r2
17816 blt .L6183
17817 rsb fp, r5, r2
17818 cmp fp, #0
17819 ble .L6149
17820.L6183:
17821 add ip, ip, r0
17822 ldr r0, [sp, #20]
17823 mov r2, r1, asl #16
17824 mov r1, r0, asl #16
17825 ldr r0, [sp, #16]
17826 mov r2, r2, asr #16
17827 mov r1, r1, asr #16
17828 mov r3, r8, asl #16
17829 cmp r0, #0
17830 str r2, [sp, #60]
17831 mov r0, r6, lsr #8
17832 str r1, [sp, #68]
17833 ldr r2, [sp, #28]
17834 ldr r1, [sp, #0]
17835 mov lr, lr, asl #8
17836 mov r3, r3, asr #16
17837 and r0, r0, #240
17838 str lr, [sp, #80]
17839 str r3, [sp, #56]
17840 mov r4, r4, asl #8
17841 add r8, r1, r5, asl #1
17842 rsb lr, ip, r2
17843 str r0, [sp, #96]
17844 bne .L6185
17845 ldr r3, [sp, #68]
17846 mla r3, lr, r3, r4
17847 mov r0, r3, asr #8
17848 cmp r0, sl
17849 bcs .L6149
17850 cmp r7, #0
17851 add r3, r7, #7
17852 mov r2, r6, asl #22
17853 movge r3, r7
17854 mov r1, r0, lsr #3
17855 mov r3, r3, asr #3
17856 mov r2, r2, lsr #22
17857 mla ip, r3, r1, r2
17858 and r0, r0, #7
17859 ldr r3, .L6976+24
17860 add r0, r0, ip, asl #3
17861 cmp fp, #0
17862 add r1, r3, r0, asl #2
17863 ble .L6149
17864 ldr r3, [sp, #60]
17865 ldr r2, [sp, #56]
17866 mul r3, lr, r3
17867 mul r2, r9, r2
17868 ldr r4, [sp, #80]
17869 rsb r3, r2, r3
17870 add r0, r4, r3
17871 mov lr, r0, asr #8
17872 cmp lr, r7
17873 ldrcs r4, [sp, #16]
17874 bcs .L6191
17875 b .L6973
17876.L6192:
17877 cmp lr, r7
17878 bcc .L6938
17879.L6191:
17880 ldr r5, [sp, #56]
17881 add r4, r4, #1
17882 add r0, r0, r5
17883 cmp fp, r4
17884 mov lr, r0, asr #8
17885 add r8, r8, #2
17886 bne .L6192
17887 ldr lr, [sp, #24]
17888 ldr r0, [sp, #32]
17889 add lr, lr, #1
17890 cmp lr, r0
17891 str lr, [sp, #24]
17892 bne .L6954
17893.L6922:
17894 add sp, sp, #104
17895 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
17896.L6153:
17897 cmp r7, #0
17898 add r1, r7, #7
17899 mov r2, r6, asl #22
17900 movge r1, r7
17901 ldr r3, .L6976+24
17902 mov r2, r2, lsr #22
17903 mov r1, r1, asr #3
17904 add r2, r3, r2, asl #5
17905 mov r1, r1, asl #6
17906 cmp r9, #0
17907 str r2, [sp, #92]
17908 str r1, [sp, #52]
17909 ble .L6149
17910 mov r3, fp, asl #16
17911 mov fp, r3, asr #16
17912 ldr r5, [sp, #40]
17913 ldr r3, [sp, #44]
17914 ldr r1, [sp, #48]
17915 ldr r0, [sp, #48]
17916 mul r2, lr, ip
17917 mul r3, lr, r3
17918 mul r0, r5, r0
17919 mul r1, fp, r1
17920 ldr r6, [sp, #84]
17921 rsb r3, r0, r3
17922 rsb r2, r1, r2
17923 add r5, r6, r3
17924 add r4, r4, r2
17925 mov ip, r5, asr #8
17926 mov lr, r4, asr #8
17927 cmp ip, r7
17928 cmpcc lr, sl
17929 movcs r3, #0
17930 movcc r3, #1
17931 movcs r6, r3
17932 bcs .L6169
17933 b .L6974
17934.L6170:
17935 cmp ip, r7
17936 cmpcc lr, sl
17937 bcc .L6171
17938.L6169:
17939 ldr ip, [sp, #40]
17940 add r6, r6, #1
17941 add r5, r5, ip
17942 add r4, r4, fp
17943 cmp r9, r6
17944 mov ip, r5, asr #8
17945 mov lr, r4, asr #8
17946 add r8, r8, #2
17947 bne .L6170
17948 b .L6149
17949.L6185:
17950 cmp r7, #0
17951 add r1, r7, #7
17952 mov r2, r6, asl #22
17953 movge r1, r7
17954 ldr r3, .L6976+24
17955 mov r2, r2, lsr #22
17956 mov r1, r1, asr #3
17957 add r2, r3, r2, asl #5
17958 mov r1, r1, asl #5
17959 cmp fp, #0
17960 str r2, [sp, #88]
17961 str r1, [sp, #72]
17962 ble .L6149
17963 ldr r5, [sp, #16]
17964 ldr r2, [sp, #68]
17965 mov r3, r5, asl #16
17966 mov r3, r3, asr #16
17967 str r3, [sp, #64]
17968 ldr r1, [sp, #64]
17969 ldr r3, [sp, #60]
17970 ldr r0, [sp, #56]
17971 mul r2, lr, r2
17972 mul r3, lr, r3
17973 mul r1, r9, r1
17974 mul r0, r9, r0
17975 ldr r6, [sp, #80]
17976 rsb r2, r1, r2
17977 rsb r3, r0, r3
17978 add r5, r6, r3
17979 add r4, r4, r2
17980 mov lr, r5, asr #8
17981 mov r2, r4, asr #8
17982 cmp lr, r7
17983 cmpcc r2, sl
17984 movcs r3, #0
17985 movcc r3, #1
17986 movcs r6, r3
17987 bcs .L6204
17988 b .L6975
17989.L6205:
17990 cmp lr, r7
17991 cmpcc r2, sl
17992 bcc .L6207
17993.L6204:
17994 ldr lr, [sp, #64]
17995 ldr ip, [sp, #56]
17996 add r6, r6, #1
17997 add r4, r4, lr
17998 add r5, r5, ip
17999 cmp fp, r6
18000 mov lr, r5, asr #8
18001 mov r2, r4, asr #8
18002 add r8, r8, #2
18003 bne .L6205
18004 b .L6149
18005.L6957:
18006 ldr r1, [sp, #88]
18007 and r0, r2, #7
18008 add r0, r1, r0, asl #2
18009 mov r3, r2, asr #3
18010 and r1, r2, #7
18011 ldr r2, [sp, #72]
18012 mov ip, lr, asr #1
18013 mul r2, r3, r2
18014 and r9, ip, #3
18015 ldr ip, [sp, #88]
18016 mov r3, lr, asr #1
18017 add r1, ip, r1, asl #2
18018 and ip, r3, #3
18019 mov r3, lr, asr #3
18020 add r2, r2, r3, asl #5
18021 add r3, r0, r2
18022 tst lr, #1
18023 add r0, r1, r2
18024 ldreqb r3, [r0, ip] @ zero_extendqisi2
18025 ldrneb r3, [r3, r9] @ zero_extendqisi2
18026 andeq r0, r3, #15
18027 movne r0, r3, lsr #4
18028 ldr r2, [sp, #96]
18029 cmp r0, #0
18030 orr r3, r0, r2
18031 ldrne ip, .L6976+36
18032 mov r3, r3, asl #1
18033 ldr lr, [sp, #56]
18034 ldrneh r3, [r3, ip]
18035 ldr r1, [sp, #64]
18036 add r6, r6, #1
18037 strneh r3, [r8, #0] @ movhi
18038 add r5, r5, lr
18039 add r4, r4, r1
18040 cmp fp, r6
18041 mov lr, r5, asr #8
18042 mov r2, r4, asr #8
18043 add r8, r8, #2
18044 ble .L6149
18045.L6207:
18046 cmp r2, sl
18047 cmpcc lr, r7
18048 bcc .L6957
18049 b .L6149
18050.L6194:
18051 cmp lr, r7
18052 bcs .L6149
18053.L6938:
18054 mov r3, lr, asr #1
18055 and r6, r3, #3
18056 mov r3, lr, asr #3
18057 mov r3, r3, asl #5
18058 mov r2, lr, asr #1
18059 tst lr, #1
18060 add ip, r3, r1
18061 and r5, r2, #3
18062 add r2, r3, r1
18063 ldreqb r3, [r2, r5] @ zero_extendqisi2
18064 ldrneb r3, [ip, r6] @ zero_extendqisi2
18065 andeq r2, r3, #15
18066 movne r2, r3, lsr #4
18067 ldr ip, [sp, #96]
18068 cmp r2, #0
18069 orr r3, r2, ip
18070 ldrne r2, .L6976+36
18071 mov r3, r3, asl #1
18072 ldrneh r3, [r3, r2]
18073 ldr r6, [sp, #56]
18074 add r4, r4, #1
18075 strneh r3, [r8, #0] @ movhi
18076 add r0, r0, r6
18077 cmp fp, r4
18078 mov lr, r0, asr #8
18079 add r8, r8, #2
18080 bgt .L6194
18081 b .L6149
18082.L6162:
18083 cmp lr, r7
18084 bcs .L6149
18085.L6936:
18086 ldr r1, [sp, #40]
18087 mov r3, lr, asr #3
18088 add r3, r4, r3, asl #6
18089 add r0, r0, r1
18090 and r1, lr, #7
18091 ldrb r2, [r3, r1] @ zero_extendqisi2
18092 add ip, ip, #1
18093 cmp r2, #0
18094 ldrne r3, .L6976+36
18095 mov r2, r2, asl #1
18096 ldrneh r2, [r2, r3]
18097 mov lr, r0, asr #8
18098 strneh r2, [r8, #0] @ movhi
18099 cmp r9, ip
18100 add r8, r8, #2
18101 bgt .L6162
18102 b .L6149
18103.L6977:
18104 .align 2
18105.L6976:
18106 .word io_registers
18107 .word obj_priority_count
18108 .word obj_priority_list
18109 .word oam_ram
18110 .word obj_height_table
18111 .word obj_width_table
18112 .word vram+65536
18113 .word vram+65472
18114 .word vram+65600
18115 .word palette_ram_converted+512
18116.L6952:
18117 rsb r0, r5, ip
18118 rsb r4, r0, r7
18119 cmp r4, #0
18120 ble .L6149
18121 ldr lr, [sp, #4]
18122 add r3, r5, r7
18123 cmp lr, r3
18124 bhi .L6705
18125 mov r3, r0, lsr #3
18126 ands ip, r0, #7
18127 sub r7, r1, r3, asl #6
18128 bne .L6707
18129 ldr r6, [sp, #100]
18130 ldr r5, [sp, #76]
18131.L6709:
18132 movs r4, r6, lsr #3
18133 beq .L6767
18134 ldr lr, .L6976+36
18135 mov r1, r5
18136 mov r0, r7
18137 mov ip, #0
18138.L6769:
18139 ldr r2, [r0, #4]
18140 cmp r2, #0
18141 beq .L6770
18142 ands r3, r2, #255
18143 movne r3, r3, asl #1
18144 ldrneh r3, [r3, lr]
18145 strneh r3, [r1, #6] @ movhi
18146 mov r3, r2, lsr #8
18147 ands r3, r3, #255
18148 movne r3, r3, asl #1
18149 ldrneh r3, [r3, lr]
18150 strneh r3, [r1, #4] @ movhi
18151 mov r3, r2, lsr #16
18152 ands r3, r3, #255
18153 movne r3, r3, asl #1
18154 ldrneh r3, [r3, lr]
18155 strneh r3, [r1, #2] @ movhi
18156 movs r3, r2, lsr #24
18157 movne r3, r3, asl #1
18158 ldrneh r3, [r3, lr]
18159 strneh r3, [r1, #0] @ movhi
18160.L6770:
18161 ldr r2, [r0, #0]
18162 cmp r2, #0
18163 beq .L6779
18164 ands r3, r2, #255
18165 movne r3, r3, asl #1
18166 ldrneh r3, [r3, lr]
18167 strneh r3, [r1, #14] @ movhi
18168 mov r3, r2, lsr #8
18169 ands r3, r3, #255
18170 movne r3, r3, asl #1
18171 ldrneh r3, [r3, lr]
18172 strneh r3, [r1, #12] @ movhi
18173 mov r3, r2, lsr #16
18174 ands r3, r3, #255
18175 movne r3, r3, asl #1
18176 ldrneh r3, [r3, lr]
18177 strneh r3, [r1, #10] @ movhi
18178 movs r3, r2, lsr #24
18179 movne r3, r3, asl #1
18180 ldrneh r3, [r3, lr]
18181 strneh r3, [r1, #8] @ movhi
18182.L6779:
18183 add ip, ip, #1
18184 cmp ip, r4
18185 sub r0, r0, #64
18186 add r1, r1, #16
18187 bne .L6769
18188 rsb r3, r4, r4, asl #26
18189 add r7, r7, r3, asl #6
18190 add r5, r5, r4, asl #4
18191.L6767:
18192 ands ip, r6, #7
18193 beq .L6149
18194 cmp ip, #3
18195 ldrls r2, [r7, #4]
18196 bls .L6802
18197 ldr r2, [r7, #4]
18198 cmp r2, #0
18199 beq .L6792
18200 ands r3, r2, #255
18201 ldrne lr, .L6976+36
18202 movne r3, r3, asl #1
18203 ldrneh r3, [r3, lr]
18204 strneh r3, [r5, #6] @ movhi
18205 mov r3, r2, lsr #8
18206 ands r3, r3, #255
18207 ldrne r0, .L6976+36
18208 movne r3, r3, asl #1
18209 ldrneh r3, [r3, r0]
18210 strneh r3, [r5, #4] @ movhi
18211 mov r3, r2, lsr #16
18212 ands r3, r3, #255
18213 ldrne r1, .L6976+36
18214 movne r3, r3, asl #1
18215 ldrneh r3, [r3, r1]
18216 strneh r3, [r5, #2] @ movhi
18217 movs r3, r2, lsr #24
18218 ldrne r2, .L6976+36
18219 movne r3, r3, asl #1
18220 ldrneh r3, [r3, r2]
18221 strneh r3, [r5, #0] @ movhi
18222.L6792:
18223 subs ip, ip, #4
18224 ldr r2, [r7, #0]
18225 addne r5, r5, #8
18226 beq .L6149
18227.L6802:
18228 mov r1, #0
18229.L6803:
18230 movs r3, r2, lsr #24
18231 ldrne r4, .L6976+36
18232 mov r3, r3, asl #1
18233 ldrneh r3, [r3, r4]
18234 mov r0, r1, asl #1
18235 add r1, r1, #1
18236 strneh r3, [r0, r5] @ movhi
18237 cmp ip, r1
18238 mov r2, r2, asl #8
18239 bhi .L6803
18240 b .L6149
18241.L6951:
18242 rsb r0, r5, ip
18243 rsb r4, r0, r7
18244 cmp r4, #0
18245 ble .L6149
18246 ldr lr, [sp, #4]
18247 add r3, r5, r7
18248 cmp lr, r3
18249 bhi .L6485
18250 mov r3, r0, lsr #3
18251 ands ip, r0, #7
18252 add r7, r1, r3, asl #6
18253 bne .L6487
18254 ldr r6, [sp, #100]
18255 ldr r5, [sp, #76]
18256.L6489:
18257 movs r4, r6, lsr #3
18258 beq .L6547
18259 ldr lr, .L6976+36
18260 mov r1, r5
18261 mov r0, r7
18262 mov ip, #0
18263.L6549:
18264 ldr r2, [r0, #0]
18265 cmp r2, #0
18266 beq .L6550
18267 ands r3, r2, #255
18268 movne r3, r3, asl #1
18269 ldrneh r3, [r3, lr]
18270 strneh r3, [r1, #0] @ movhi
18271 mov r3, r2, lsr #8
18272 ands r3, r3, #255
18273 movne r3, r3, asl #1
18274 ldrneh r3, [r3, lr]
18275 strneh r3, [r1, #2] @ movhi
18276 mov r3, r2, lsr #16
18277 ands r3, r3, #255
18278 movne r3, r3, asl #1
18279 ldrneh r3, [r3, lr]
18280 strneh r3, [r1, #4] @ movhi
18281 movs r3, r2, lsr #24
18282 movne r3, r3, asl #1
18283 ldrneh r3, [r3, lr]
18284 strneh r3, [r1, #6] @ movhi
18285.L6550:
18286 ldr r2, [r0, #4]
18287 cmp r2, #0
18288 beq .L6559
18289 ands r3, r2, #255
18290 movne r3, r3, asl #1
18291 ldrneh r3, [r3, lr]
18292 strneh r3, [r1, #8] @ movhi
18293 mov r3, r2, lsr #8
18294 ands r3, r3, #255
18295 movne r3, r3, asl #1
18296 ldrneh r3, [r3, lr]
18297 strneh r3, [r1, #10] @ movhi
18298 mov r3, r2, lsr #16
18299 ands r3, r3, #255
18300 movne r3, r3, asl #1
18301 ldrneh r3, [r3, lr]
18302 strneh r3, [r1, #12] @ movhi
18303 movs r3, r2, lsr #24
18304 movne r3, r3, asl #1
18305 ldrneh r3, [r3, lr]
18306 strneh r3, [r1, #14] @ movhi
18307.L6559:
18308 add ip, ip, #1
18309 cmp r4, ip
18310 add r0, r0, #64
18311 add r1, r1, #16
18312 bne .L6549
18313 add r7, r7, r4, asl #6
18314 add r5, r5, r4, asl #4
18315.L6547:
18316 ands ip, r6, #7
18317 beq .L6149
18318 cmp ip, #3
18319 ldrls r1, [r7, #0]
18320 bls .L6582
18321 ldr r2, [r7, #0]
18322 cmp r2, #0
18323 beq .L6572
18324 ands r3, r2, #255
18325 ldrne lr, .L6976+36
18326 movne r3, r3, asl #1
18327 ldrneh r3, [r3, lr]
18328 strneh r3, [r5, #0] @ movhi
18329 mov r3, r2, lsr #8
18330 ands r3, r3, #255
18331 ldrne r0, .L6976+36
18332 movne r3, r3, asl #1
18333 ldrneh r3, [r3, r0]
18334 strneh r3, [r5, #2] @ movhi
18335 mov r3, r2, lsr #16
18336 ands r3, r3, #255
18337 ldrne r1, .L6976+36
18338 movne r3, r3, asl #1
18339 ldrneh r3, [r3, r1]
18340 strneh r3, [r5, #4] @ movhi
18341 movs r3, r2, lsr #24
18342 ldrne r2, .L6976+36
18343 movne r3, r3, asl #1
18344 ldrneh r3, [r3, r2]
18345 strneh r3, [r5, #6] @ movhi
18346.L6572:
18347 subs ip, ip, #4
18348 ldr r1, [r7, #4]
18349 addne r5, r5, #8
18350 beq .L6149
18351.L6582:
18352 mov r2, #0
18353.L6583:
18354 ands r3, r1, #255
18355 ldrne r4, .L6976+36
18356 mov r3, r3, asl #1
18357 ldrneh r3, [r3, r4]
18358 mov r0, r2, asl #1
18359 add r2, r2, #1
18360 strneh r3, [r0, r5] @ movhi
18361 cmp ip, r2
18362 mov r1, r1, lsr #8
18363 bhi .L6583
18364 b .L6149
18365.L6950:
18366 rsb lr, r5, ip
18367 rsb ip, lr, r7
18368 cmp ip, #0
18369 ble .L6149
18370 ldr r2, [sp, #4]
18371 add r3, r5, r7
18372 cmp r2, r3
18373 bhi .L6355
18374 mov r3, lr, lsr #3
18375 ands r4, lr, #7
18376 sub r0, r0, r3, asl #5
18377 bne .L6357
18378 ldr r2, [sp, #100]
18379 ldr sl, [sp, #76]
18380.L6359:
18381 movs r8, r2, lsr #3
18382 beq .L6376
18383 ldr r7, .L6976+36
18384 mov r4, sl
18385 mov r5, r0
18386 mov r6, #0
18387.L6378:
18388 ldr lr, [r5, #0]
18389 cmp lr, #0
18390 beq .L6379
18391 ands r3, lr, #15
18392 orrne r3, r1, r3
18393 movne r3, r3, asl #1
18394 ldrneh r3, [r3, r7]
18395 strneh r3, [r4, #14] @ movhi
18396 mov r3, lr, lsr #4
18397 ands r3, r3, #15
18398 orrne r3, r1, r3
18399 movne r3, r3, asl #1
18400 ldrneh r3, [r3, r7]
18401 strneh r3, [r4, #12] @ movhi
18402 mov r3, lr, lsr #8
18403 ands r3, r3, #15
18404 orrne r3, r1, r3
18405 movne r3, r3, asl #1
18406 ldrneh r3, [r3, r7]
18407 strneh r3, [r4, #10] @ movhi
18408 mov r3, lr, lsr #12
18409 ands r3, r3, #15
18410 orrne r3, r1, r3
18411 movne r3, r3, asl #1
18412 ldrneh r3, [r3, r7]
18413 strneh r3, [r4, #8] @ movhi
18414 mov r3, lr, lsr #16
18415 ands r3, r3, #15
18416 orrne r3, r1, r3
18417 movne r3, r3, asl #1
18418 ldrneh r3, [r3, r7]
18419 strneh r3, [r4, #6] @ movhi
18420 mov r3, lr, lsr #20
18421 ands r3, r3, #15
18422 orrne r3, r1, r3
18423 movne r3, r3, asl #1
18424 ldrneh r3, [r3, r7]
18425 strneh r3, [r4, #4] @ movhi
18426 mov r3, lr, lsr #24
18427 ands r3, r3, #15
18428 orrne r3, r1, r3
18429 movne r3, r3, asl #1
18430 ldrneh r3, [r3, r7]
18431 strneh r3, [r4, #2] @ movhi
18432 movs r3, lr, lsr #28
18433 orrne r3, r1, r3
18434 movne r3, r3, asl #1
18435 ldrneh r3, [r3, r7]
18436 strneh r3, [r4, #0] @ movhi
18437.L6379:
18438 add r6, r6, #1
18439 cmp r6, r8
18440 sub r5, r5, #32
18441 add r4, r4, #16
18442 bne .L6378
18443 rsb r3, r8, r8, asl #27
18444 add r0, r0, r3, asl #5
18445 add sl, sl, r8, asl #4
18446.L6376:
18447 ands lr, r2, #7
18448 beq .L6149
18449 ldr r0, [r0, #0]
18450 ldr r4, .L6976+36
18451 mov ip, #0
18452.L6398:
18453 movs r3, r0, lsr #28
18454 orr r3, r1, r3
18455 mov r3, r3, asl #1
18456 ldrneh r3, [r3, r4]
18457 mov r2, ip, asl #1
18458 add ip, ip, #1
18459 strneh r3, [r2, sl] @ movhi
18460 cmp ip, lr
18461 mov r0, r0, asl #4
18462 bne .L6398
18463 b .L6149
18464.L6949:
18465 ldr r2, [sp, #8]
18466 rsb lr, r5, r2
18467 rsb r4, lr, r7
18468 cmp r4, #0
18469 ble .L6149
18470 add r3, r5, r7
18471 ldr r5, [sp, #4]
18472 cmp r5, r3
18473 bhi .L6225
18474 mov r3, lr, lsr #3
18475 mov r2, r3, asl #5
18476 ands r3, lr, #7
18477 add r6, r0, r2
18478 bne .L6227
18479 ldr r8, [sp, #100]
18480 ldr r7, [sp, #76]
18481.L6229:
18482 movs r5, r8, lsr #3
18483 beq .L6246
18484 ldr r4, .L6976+36
18485 mov ip, r7
18486 mov r0, r6
18487 mov lr, #0
18488.L6248:
18489 ldr r2, [r0, #0]
18490 cmp r2, #0
18491 beq .L6249
18492 ands r3, r2, #15
18493 orrne r3, r1, r3
18494 movne r3, r3, asl #1
18495 ldrneh r3, [r3, r4]
18496 strneh r3, [ip, #0] @ movhi
18497 mov r3, r2, lsr #4
18498 ands r3, r3, #15
18499 orrne r3, r1, r3
18500 movne r3, r3, asl #1
18501 ldrneh r3, [r3, r4]
18502 strneh r3, [ip, #2] @ movhi
18503 mov r3, r2, lsr #8
18504 ands r3, r3, #15
18505 orrne r3, r1, r3
18506 movne r3, r3, asl #1
18507 ldrneh r3, [r3, r4]
18508 strneh r3, [ip, #4] @ movhi
18509 mov r3, r2, lsr #12
18510 ands r3, r3, #15
18511 orrne r3, r1, r3
18512 movne r3, r3, asl #1
18513 ldrneh r3, [r3, r4]
18514 strneh r3, [ip, #6] @ movhi
18515 mov r3, r2, lsr #16
18516 ands r3, r3, #15
18517 orrne r3, r1, r3
18518 movne r3, r3, asl #1
18519 ldrneh r3, [r3, r4]
18520 strneh r3, [ip, #8] @ movhi
18521 mov r3, r2, lsr #20
18522 ands r3, r3, #15
18523 orrne r3, r1, r3
18524 movne r3, r3, asl #1
18525 ldrneh r3, [r3, r4]
18526 strneh r3, [ip, #10] @ movhi
18527 mov r3, r2, lsr #24
18528 ands r3, r3, #15
18529 orrne r3, r1, r3
18530 movne r3, r3, asl #1
18531 ldrneh r3, [r3, r4]
18532 strneh r3, [ip, #12] @ movhi
18533 movs r3, r2, lsr #28
18534 orrne r3, r1, r3
18535 movne r3, r3, asl #1
18536 ldrneh r3, [r3, r4]
18537 strneh r3, [ip, #14] @ movhi
18538.L6249:
18539 add lr, lr, #1
18540 cmp r5, lr
18541 add r0, r0, #32
18542 add ip, ip, #16
18543 bne .L6248
18544 add r6, r6, r5, asl #5
18545 add r7, r7, r5, asl #4
18546.L6246:
18547 ands lr, r8, #7
18548 beq .L6149
18549 ldr r2, [r6, #0]
18550 ldr r4, .L6976+36
18551 mov r0, #0
18552.L6268:
18553 ands r3, r2, #15
18554 orr r3, r1, r3
18555 mov r3, r3, asl #1
18556 ldrneh r3, [r3, r4]
18557 mov ip, r0, asl #1
18558 add r0, r0, #1
18559 strneh r3, [ip, r7] @ movhi
18560 cmp r0, lr
18561 mov r2, r2, lsr #4
18562 bne .L6268
18563 b .L6149
18564.L6974:
18565 mov r6, #0
18566.L6171:
18567 cmp lr, sl
18568 movcc r3, #0
18569 movcs r3, #1
18570 cmp r7, ip
18571 orrls r3, r3, #1
18572 cmp r3, #0
18573 beq .L6937
18574 b .L6149
18575.L6172:
18576 cmp lr, sl
18577 cmpcc ip, r7
18578 bcs .L6149
18579.L6937:
18580 ldr r0, [sp, #40]
18581 and r3, lr, #7
18582 mov r2, ip, asr #3
18583 ldr r1, [sp, #92]
18584 mov r3, r3, asl #3
18585 add r5, r5, r0
18586 add r3, r3, r2, asl #6
18587 ldr r0, [sp, #52]
18588 mov r2, lr, asr #3
18589 add r3, r3, r1
18590 mla r0, r2, r0, r3
18591 and r1, ip, #7
18592 ldrb r3, [r0, r1] @ zero_extendqisi2
18593 add r6, r6, #1
18594 cmp r3, #0
18595 ldrne r2, .L6976+36
18596 mov r3, r3, asl #1
18597 ldrneh r3, [r3, r2]
18598 add r4, r4, fp
18599 strneh r3, [r8, #0] @ movhi
18600 cmp r9, r6
18601 mov lr, r4, asr #8
18602 mov ip, r5, asr #8
18603 add r8, r8, #2
18604 bgt .L6172
18605 b .L6149
18606.L6433:
18607 cmp r8, #0
18608 beq .L6149
18609 ldr r6, [sp, #0]
18610 ldr r4, .L6976+36
18611 add r2, r6, r5, asl #1
18612 mov ip, #0
18613 b .L6463
18614.L6958:
18615 sub r0, r0, #32
18616 add r2, r2, #16
18617.L6463:
18618 ldr lr, [r0, #0]
18619 cmp lr, #0
18620 beq .L6464
18621 ands r3, lr, #15
18622 orrne r3, r1, r3
18623 movne r3, r3, asl #1
18624 ldrneh r3, [r3, r4]
18625 strneh r3, [r2, #14] @ movhi
18626 mov r3, lr, lsr #4
18627 ands r3, r3, #15
18628 orrne r3, r1, r3
18629 movne r3, r3, asl #1
18630 ldrneh r3, [r3, r4]
18631 strneh r3, [r2, #12] @ movhi
18632 mov r3, lr, lsr #8
18633 ands r3, r3, #15
18634 orrne r3, r1, r3
18635 movne r3, r3, asl #1
18636 ldrneh r3, [r3, r4]
18637 strneh r3, [r2, #10] @ movhi
18638 mov r3, lr, lsr #12
18639 ands r3, r3, #15
18640 orrne r3, r1, r3
18641 movne r3, r3, asl #1
18642 ldrneh r3, [r3, r4]
18643 strneh r3, [r2, #8] @ movhi
18644 mov r3, lr, lsr #16
18645 ands r3, r3, #15
18646 orrne r3, r1, r3
18647 movne r3, r3, asl #1
18648 ldrneh r3, [r3, r4]
18649 strneh r3, [r2, #6] @ movhi
18650 mov r3, lr, lsr #20
18651 ands r3, r3, #15
18652 orrne r3, r1, r3
18653 movne r3, r3, asl #1
18654 ldrneh r3, [r3, r4]
18655 strneh r3, [r2, #4] @ movhi
18656 mov r3, lr, lsr #24
18657 ands r3, r3, #15
18658 orrne r3, r1, r3
18659 movne r3, r3, asl #1
18660 ldrneh r3, [r3, r4]
18661 strneh r3, [r2, #2] @ movhi
18662 movs r3, lr, lsr #28
18663 orrne r3, r1, r3
18664 movne r3, r3, asl #1
18665 ldrneh r3, [r3, r4]
18666 strneh r3, [r2, #0] @ movhi
18667.L6464:
18668 add ip, ip, #1
18669 cmp r8, ip
18670 bne .L6958
18671 b .L6149
18672.L6858:
18673 cmp r8, #0
18674 beq .L6149
18675 ldr ip, [sp, #0]
18676 ldr r3, .L6976+28
18677 ldr r4, .L6976+36
18678 add r2, ip, r5, asl #1
18679 add r0, r0, r3
18680 mov ip, #0
18681 b .L6902
18682.L6959:
18683 sub r1, r1, #64
18684 add r2, r2, #16
18685.L6902:
18686 ldr lr, [r0, #68]
18687 cmp lr, #0
18688 beq .L6903
18689 ands r3, lr, #255
18690 movne r3, r3, asl #1
18691 ldrneh r3, [r3, r4]
18692 strneh r3, [r2, #6] @ movhi
18693 mov r3, lr, lsr #8
18694 ands r3, r3, #255
18695 movne r3, r3, asl #1
18696 ldrneh r3, [r3, r4]
18697 strneh r3, [r2, #4] @ movhi
18698 mov r3, lr, lsr #16
18699 ands r3, r3, #255
18700 movne r3, r3, asl #1
18701 ldrneh r3, [r3, r4]
18702 strneh r3, [r2, #2] @ movhi
18703 movs r3, lr, lsr #24
18704 movne r3, r3, asl #1
18705 ldrneh r3, [r3, r4]
18706 strneh r3, [r2, #0] @ movhi
18707.L6903:
18708 ldr lr, [r1, #0]
18709 cmp lr, #0
18710 beq .L6912
18711 ands r3, lr, #255
18712 movne r3, r3, asl #1
18713 ldrneh r3, [r3, r4]
18714 strneh r3, [r2, #14] @ movhi
18715 mov r3, lr, lsr #8
18716 ands r3, r3, #255
18717 movne r3, r3, asl #1
18718 ldrneh r3, [r3, r4]
18719 strneh r3, [r2, #12] @ movhi
18720 mov r3, lr, lsr #16
18721 ands r3, r3, #255
18722 movne r3, r3, asl #1
18723 ldrneh r3, [r3, r4]
18724 strneh r3, [r2, #10] @ movhi
18725 movs r3, lr, lsr #24
18726 movne r3, r3, asl #1
18727 ldrneh r3, [r3, r4]
18728 strneh r3, [r2, #8] @ movhi
18729.L6912:
18730 add ip, ip, #1
18731 cmp r8, ip
18732 sub r0, r0, #64
18733 bne .L6959
18734 b .L6149
18735.L6303:
18736 cmp r8, #0
18737 beq .L6149
18738 ldr r6, [sp, #0]
18739 ldr r4, .L6976+36
18740 add r2, r6, r5, asl #1
18741 mov ip, #0
18742 b .L6333
18743.L6960:
18744 add r0, r0, #32
18745 add r2, r2, #16
18746.L6333:
18747 ldr lr, [r0, #0]
18748 cmp lr, #0
18749 beq .L6334
18750 ands r3, lr, #15
18751 orrne r3, r1, r3
18752 movne r3, r3, asl #1
18753 ldrneh r3, [r3, r4]
18754 strneh r3, [r2, #0] @ movhi
18755 mov r3, lr, lsr #4
18756 ands r3, r3, #15
18757 orrne r3, r1, r3
18758 movne r3, r3, asl #1
18759 ldrneh r3, [r3, r4]
18760 strneh r3, [r2, #2] @ movhi
18761 mov r3, lr, lsr #8
18762 ands r3, r3, #15
18763 orrne r3, r1, r3
18764 movne r3, r3, asl #1
18765 ldrneh r3, [r3, r4]
18766 strneh r3, [r2, #4] @ movhi
18767 mov r3, lr, lsr #12
18768 ands r3, r3, #15
18769 orrne r3, r1, r3
18770 movne r3, r3, asl #1
18771 ldrneh r3, [r3, r4]
18772 strneh r3, [r2, #6] @ movhi
18773 mov r3, lr, lsr #16
18774 ands r3, r3, #15
18775 orrne r3, r1, r3
18776 movne r3, r3, asl #1
18777 ldrneh r3, [r3, r4]
18778 strneh r3, [r2, #8] @ movhi
18779 mov r3, lr, lsr #20
18780 ands r3, r3, #15
18781 orrne r3, r1, r3
18782 movne r3, r3, asl #1
18783 ldrneh r3, [r3, r4]
18784 strneh r3, [r2, #10] @ movhi
18785 mov r3, lr, lsr #24
18786 ands r3, r3, #15
18787 orrne r3, r1, r3
18788 movne r3, r3, asl #1
18789 ldrneh r3, [r3, r4]
18790 strneh r3, [r2, #12] @ movhi
18791 movs r3, lr, lsr #28
18792 orrne r3, r1, r3
18793 movne r3, r3, asl #1
18794 ldrneh r3, [r3, r4]
18795 strneh r3, [r2, #14] @ movhi
18796.L6334:
18797 add ip, ip, #1
18798 cmp r8, ip
18799 bne .L6960
18800 b .L6149
18801.L6638:
18802 cmp r6, #0
18803 beq .L6149
18804 ldr r3, .L6976+32
18805 ldr r7, [sp, #0]
18806 ldr r4, .L6976+36
18807 add r0, r0, r3
18808 add r2, r7, r5, asl #1
18809 mov ip, #0
18810 b .L6682
18811.L6961:
18812 add r1, r1, #64
18813 add r2, r2, #16
18814.L6682:
18815 ldr lr, [r1, #0]
18816 cmp lr, #0
18817 beq .L6683
18818 ands r3, lr, #255
18819 movne r3, r3, asl #1
18820 ldrneh r3, [r3, r4]
18821 strneh r3, [r2, #0] @ movhi
18822 mov r3, lr, lsr #8
18823 ands r3, r3, #255
18824 movne r3, r3, asl #1
18825 ldrneh r3, [r3, r4]
18826 strneh r3, [r2, #2] @ movhi
18827 mov r3, lr, lsr #16
18828 ands r3, r3, #255
18829 movne r3, r3, asl #1
18830 ldrneh r3, [r3, r4]
18831 strneh r3, [r2, #4] @ movhi
18832 movs r3, lr, lsr #24
18833 movne r3, r3, asl #1
18834 ldrneh r3, [r3, r4]
18835 strneh r3, [r2, #6] @ movhi
18836.L6683:
18837 ldr lr, [r0, #-60]
18838 cmp lr, #0
18839 beq .L6692
18840 ands r3, lr, #255
18841 movne r3, r3, asl #1
18842 ldrneh r3, [r3, r4]
18843 strneh r3, [r2, #8] @ movhi
18844 mov r3, lr, lsr #8
18845 ands r3, r3, #255
18846 movne r3, r3, asl #1
18847 ldrneh r3, [r3, r4]
18848 strneh r3, [r2, #10] @ movhi
18849 mov r3, lr, lsr #16
18850 ands r3, r3, #255
18851 movne r3, r3, asl #1
18852 ldrneh r3, [r3, r4]
18853 strneh r3, [r2, #12] @ movhi
18854 movs r3, lr, lsr #24
18855 movne r3, r3, asl #1
18856 ldrneh r3, [r3, r4]
18857 strneh r3, [r2, #14] @ movhi
18858.L6692:
18859 add ip, ip, #1
18860 cmp r6, ip
18861 add r0, r0, #64
18862 bne .L6961
18863 b .L6149
18864.L6485:
18865 ands r2, r0, #7
18866 mov r3, r0, lsr #3
18867 add r0, r1, r3, asl #6
18868 ldreq r1, [sp, #76]
18869 beq .L6589
18870 cmp r2, #3
18871 rsb lr, r2, #8
18872 bhi .L6962
18873 subs r5, lr, #4
18874 ldr r1, [r0, #0]
18875 ldreq r1, [sp, #76]
18876 beq .L6602
18877 mov r3, r2, asl #3
18878 mov r2, r1, lsr r3
18879 ldr r6, .L6976+36
18880 mov ip, #0
18881.L6603:
18882 ands r3, r2, #255
18883 mov r3, r3, asl #1
18884 ldrneh r3, [r3, r6]
18885 ldrne r7, [sp, #76]
18886 mov r1, ip, asl #1
18887 add ip, ip, #1
18888 strneh r3, [r1, r7] @ movhi
18889 cmp ip, r5
18890 mov r2, r2, lsr #8
18891 bne .L6603
18892 ldr ip, [sp, #76]
18893 add r3, ip, lr, asl #1
18894 sub r1, r3, #8
18895.L6602:
18896 ldr r2, [r0, #4]
18897 cmp r2, #0
18898 beq .L6608
18899 ands r3, r2, #255
18900 ldrne lr, .L6976+36
18901 movne r3, r3, asl #1
18902 ldrneh r3, [r3, lr]
18903 strneh r3, [r1, #0] @ movhi
18904 mov r3, r2, lsr #8
18905 ands r3, r3, #255
18906 ldrne r5, .L6976+36
18907 movne r3, r3, asl #1
18908 ldrneh r3, [r3, r5]
18909 strneh r3, [r1, #2] @ movhi
18910 mov r3, r2, lsr #16
18911 ands r3, r3, #255
18912 ldrne r6, .L6976+36
18913 movne r3, r3, asl #1
18914 ldrneh r3, [r3, r6]
18915 strneh r3, [r1, #4] @ movhi
18916 movs r3, r2, lsr #24
18917 ldrne r7, .L6976+36
18918 movne r3, r3, asl #1
18919 ldrneh r3, [r3, r7]
18920 strneh r3, [r1, #6] @ movhi
18921.L6608:
18922 add r1, r1, #8
18923.L6594:
18924 add r0, r0, #64
18925.L6589:
18926 movs r4, r4, lsr #3
18927 beq .L6149
18928 ldr ip, .L6976+36
18929 mov lr, #0
18930 b .L6618
18931.L6963:
18932 add r0, r0, #64
18933 add r1, r1, #16
18934.L6618:
18935 ldr r2, [r0, #0]
18936 cmp r2, #0
18937 beq .L6619
18938 ands r3, r2, #255
18939 movne r3, r3, asl #1
18940 ldrneh r3, [r3, ip]
18941 strneh r3, [r1, #0] @ movhi
18942 mov r3, r2, lsr #8
18943 ands r3, r3, #255
18944 movne r3, r3, asl #1
18945 ldrneh r3, [r3, ip]
18946 strneh r3, [r1, #2] @ movhi
18947 mov r3, r2, lsr #16
18948 ands r3, r3, #255
18949 movne r3, r3, asl #1
18950 ldrneh r3, [r3, ip]
18951 strneh r3, [r1, #4] @ movhi
18952 movs r3, r2, lsr #24
18953 movne r3, r3, asl #1
18954 ldrneh r3, [r3, ip]
18955 strneh r3, [r1, #6] @ movhi
18956.L6619:
18957 ldr r2, [r0, #4]
18958 cmp r2, #0
18959 beq .L6628
18960 ands r3, r2, #255
18961 movne r3, r3, asl #1
18962 ldrneh r3, [r3, ip]
18963 strneh r3, [r1, #8] @ movhi
18964 mov r3, r2, lsr #8
18965 ands r3, r3, #255
18966 movne r3, r3, asl #1
18967 ldrneh r3, [r3, ip]
18968 strneh r3, [r1, #10] @ movhi
18969 mov r3, r2, lsr #16
18970 ands r3, r3, #255
18971 movne r3, r3, asl #1
18972 ldrneh r3, [r3, ip]
18973 strneh r3, [r1, #12] @ movhi
18974 movs r3, r2, lsr #24
18975 movne r3, r3, asl #1
18976 ldrneh r3, [r3, ip]
18977 strneh r3, [r1, #14] @ movhi
18978.L6628:
18979 add lr, lr, #1
18980 cmp r4, lr
18981 bne .L6963
18982 b .L6149
18983.L6355:
18984 ands r2, lr, #7
18985 mov r3, lr, lsr #3
18986 sub r0, r0, r3, asl #5
18987 ldreq r4, [sp, #76]
18988 beq .L6404
18989 rsbs r6, r2, #8
18990 ldr lr, [r0, #0]
18991 ldreq r4, [sp, #76]
18992 beq .L6407
18993 mov r3, r2, asl #2
18994 mov lr, lr, asl r3
18995 ldr r2, .L6976+36
18996 mov r5, #0
18997.L6408:
18998 movs r3, lr, lsr #28
18999 orr r3, r1, r3
19000 mov r3, r3, asl #1
19001 ldrneh r3, [r3, r2]
19002 ldrne r7, [sp, #76]
19003 mov r4, r5, asl #1
19004 add r5, r5, #1
19005 strneh r3, [r4, r7] @ movhi
19006 cmp r6, r5
19007 mov lr, lr, asl #4
19008 bne .L6408
19009 ldr lr, [sp, #76]
19010 add r4, lr, r6, asl #1
19011.L6407:
19012 sub r0, r0, #32
19013.L6404:
19014 movs r5, ip, lsr #3
19015 beq .L6149
19016 ldr r2, .L6976+36
19017 mov ip, #0
19018 b .L6414
19019.L6964:
19020 sub r0, r0, #32
19021 add r4, r4, #16
19022.L6414:
19023 ldr lr, [r0, #0]
19024 cmp lr, #0
19025 beq .L6415
19026 ands r3, lr, #15
19027 orrne r3, r1, r3
19028 movne r3, r3, asl #1
19029 ldrneh r3, [r3, r2]
19030 strneh r3, [r4, #14] @ movhi
19031 mov r3, lr, lsr #4
19032 ands r3, r3, #15
19033 orrne r3, r1, r3
19034 movne r3, r3, asl #1
19035 ldrneh r3, [r3, r2]
19036 strneh r3, [r4, #12] @ movhi
19037 mov r3, lr, lsr #8
19038 ands r3, r3, #15
19039 orrne r3, r1, r3
19040 movne r3, r3, asl #1
19041 ldrneh r3, [r3, r2]
19042 strneh r3, [r4, #10] @ movhi
19043 mov r3, lr, lsr #12
19044 ands r3, r3, #15
19045 orrne r3, r1, r3
19046 movne r3, r3, asl #1
19047 ldrneh r3, [r3, r2]
19048 strneh r3, [r4, #8] @ movhi
19049 mov r3, lr, lsr #16
19050 ands r3, r3, #15
19051 orrne r3, r1, r3
19052 movne r3, r3, asl #1
19053 ldrneh r3, [r3, r2]
19054 strneh r3, [r4, #6] @ movhi
19055 mov r3, lr, lsr #20
19056 ands r3, r3, #15
19057 orrne r3, r1, r3
19058 movne r3, r3, asl #1
19059 ldrneh r3, [r3, r2]
19060 strneh r3, [r4, #4] @ movhi
19061 mov r3, lr, lsr #24
19062 ands r3, r3, #15
19063 orrne r3, r1, r3
19064 movne r3, r3, asl #1
19065 ldrneh r3, [r3, r2]
19066 strneh r3, [r4, #2] @ movhi
19067 movs r3, lr, lsr #28
19068 orrne r3, r1, r3
19069 movne r3, r3, asl #1
19070 ldrneh r3, [r3, r2]
19071 strneh r3, [r4, #0] @ movhi
19072.L6415:
19073 add ip, ip, #1
19074 cmp ip, r5
19075 bne .L6964
19076 b .L6149
19077.L6705:
19078 mov r3, r0, lsr #3
19079 ands ip, r0, #7
19080 sub r2, r1, r3, asl #6
19081 ldreq r0, [sp, #76]
19082 beq .L6809
19083 cmp ip, #3
19084 rsb lr, ip, #8
19085 bhi .L6965
19086 subs r5, lr, #4
19087 ldr r1, [r2, #4]
19088 ldreq r0, [sp, #76]
19089 beq .L6822
19090 mov r3, ip, asl #3
19091 sub r3, r3, #32
19092 mov r1, r1, asl r3
19093 ldr r6, .L6976+36
19094 mov ip, #0
19095.L6823:
19096 movs r3, r1, lsr #24
19097 mov r3, r3, asl #1
19098 ldrneh r3, [r3, r6]
19099 ldrne r7, [sp, #76]
19100 mov r0, ip, asl #1
19101 add ip, ip, #1
19102 strneh r3, [r0, r7] @ movhi
19103 cmp r5, ip
19104 mov r1, r1, asl #8
19105 bne .L6823
19106 ldr ip, [sp, #76]
19107 add r3, ip, lr, asl #1
19108 sub r0, r3, #8
19109.L6822:
19110 ldr r1, [r2, #0]
19111 cmp r1, #0
19112 beq .L6828
19113 ands r3, r1, #255
19114 ldrne lr, .L6976+36
19115 movne r3, r3, asl #1
19116 ldrneh r3, [r3, lr]
19117 strneh r3, [r0, #6] @ movhi
19118 mov r3, r1, lsr #8
19119 ands r3, r3, #255
19120 ldrne r5, .L6976+36
19121 movne r3, r3, asl #1
19122 ldrneh r3, [r3, r5]
19123 strneh r3, [r0, #4] @ movhi
19124 mov r3, r1, lsr #16
19125 ands r3, r3, #255
19126 ldrne r6, .L6976+36
19127 movne r3, r3, asl #1
19128 ldrneh r3, [r3, r6]
19129 strneh r3, [r0, #2] @ movhi
19130 movs r3, r1, lsr #24
19131 ldrne r7, .L6976+36
19132 movne r3, r3, asl #1
19133 ldrneh r3, [r3, r7]
19134 strneh r3, [r0, #0] @ movhi
19135.L6828:
19136 add r0, r0, #8
19137.L6814:
19138 sub r2, r2, #64
19139.L6809:
19140 movs r4, r4, lsr #3
19141 beq .L6149
19142 ldr ip, .L6976+36
19143 mov lr, #0
19144 b .L6838
19145.L6966:
19146 sub r2, r2, #64
19147 add r0, r0, #16
19148.L6838:
19149 ldr r1, [r2, #4]
19150 cmp r1, #0
19151 beq .L6839
19152 ands r3, r1, #255
19153 movne r3, r3, asl #1
19154 ldrneh r3, [r3, ip]
19155 strneh r3, [r0, #6] @ movhi
19156 mov r3, r1, lsr #8
19157 ands r3, r3, #255
19158 movne r3, r3, asl #1
19159 ldrneh r3, [r3, ip]
19160 strneh r3, [r0, #4] @ movhi
19161 mov r3, r1, lsr #16
19162 ands r3, r3, #255
19163 movne r3, r3, asl #1
19164 ldrneh r3, [r3, ip]
19165 strneh r3, [r0, #2] @ movhi
19166 movs r3, r1, lsr #24
19167 movne r3, r3, asl #1
19168 ldrneh r3, [r3, ip]
19169 strneh r3, [r0, #0] @ movhi
19170.L6839:
19171 ldr r1, [r2, #0]
19172 cmp r1, #0
19173 beq .L6848
19174 ands r3, r1, #255
19175 movne r3, r3, asl #1
19176 ldrneh r3, [r3, ip]
19177 strneh r3, [r0, #14] @ movhi
19178 mov r3, r1, lsr #8
19179 ands r3, r3, #255
19180 movne r3, r3, asl #1
19181 ldrneh r3, [r3, ip]
19182 strneh r3, [r0, #12] @ movhi
19183 mov r3, r1, lsr #16
19184 ands r3, r3, #255
19185 movne r3, r3, asl #1
19186 ldrneh r3, [r3, ip]
19187 strneh r3, [r0, #10] @ movhi
19188 movs r3, r1, lsr #24
19189 movne r3, r3, asl #1
19190 ldrneh r3, [r3, ip]
19191 strneh r3, [r0, #8] @ movhi
19192.L6848:
19193 add lr, lr, #1
19194 cmp lr, r4
19195 bne .L6966
19196 b .L6149
19197.L6225:
19198 mov r3, lr, lsr #3
19199 mov r2, r3, asl #5
19200 ands r3, lr, #7
19201 ldreq ip, [sp, #76]
19202 add lr, r0, r2
19203 beq .L6274
19204 rsbs r5, r3, #8
19205 ldr r0, [r0, r2]
19206 ldreq ip, [sp, #76]
19207 beq .L6277
19208 mov r3, r3, asl #2
19209 mov r0, r0, lsr r3
19210 ldr r6, .L6976+36
19211 mov ip, #0
19212.L6278:
19213 ands r3, r0, #15
19214 orr r3, r1, r3
19215 mov r3, r3, asl #1
19216 ldrneh r3, [r3, r6]
19217 ldrne r7, [sp, #76]
19218 mov r2, ip, asl #1
19219 add ip, ip, #1
19220 strneh r3, [r2, r7] @ movhi
19221 cmp ip, r5
19222 mov r0, r0, lsr #4
19223 bne .L6278
19224 ldr r0, [sp, #76]
19225 add ip, r0, r5, asl #1
19226.L6277:
19227 add lr, lr, #32
19228.L6274:
19229 movs r5, r4, lsr #3
19230 beq .L6149
19231 ldr r0, .L6978
19232 mov r4, #0
19233 b .L6284
19234.L6967:
19235 add lr, lr, #32
19236 add ip, ip, #16
19237.L6284:
19238 ldr r2, [lr, #0]
19239 cmp r2, #0
19240 beq .L6285
19241 ands r3, r2, #15
19242 orrne r3, r1, r3
19243 movne r3, r3, asl #1
19244 ldrneh r3, [r3, r0]
19245 strneh r3, [ip, #0] @ movhi
19246 mov r3, r2, lsr #4
19247 ands r3, r3, #15
19248 orrne r3, r1, r3
19249 movne r3, r3, asl #1
19250 ldrneh r3, [r3, r0]
19251 strneh r3, [ip, #2] @ movhi
19252 mov r3, r2, lsr #8
19253 ands r3, r3, #15
19254 orrne r3, r1, r3
19255 movne r3, r3, asl #1
19256 ldrneh r3, [r3, r0]
19257 strneh r3, [ip, #4] @ movhi
19258 mov r3, r2, lsr #12
19259 ands r3, r3, #15
19260 orrne r3, r1, r3
19261 movne r3, r3, asl #1
19262 ldrneh r3, [r3, r0]
19263 strneh r3, [ip, #6] @ movhi
19264 mov r3, r2, lsr #16
19265 ands r3, r3, #15
19266 orrne r3, r1, r3
19267 movne r3, r3, asl #1
19268 ldrneh r3, [r3, r0]
19269 strneh r3, [ip, #8] @ movhi
19270 mov r3, r2, lsr #20
19271 ands r3, r3, #15
19272 orrne r3, r1, r3
19273 movne r3, r3, asl #1
19274 ldrneh r3, [r3, r0]
19275 strneh r3, [ip, #10] @ movhi
19276 mov r3, r2, lsr #24
19277 ands r3, r3, #15
19278 orrne r3, r1, r3
19279 movne r3, r3, asl #1
19280 ldrneh r3, [r3, r0]
19281 strneh r3, [ip, #12] @ movhi
19282 movs r3, r2, lsr #28
19283 orrne r3, r1, r3
19284 movne r3, r3, asl #1
19285 ldrneh r3, [r3, r0]
19286 strneh r3, [ip, #14] @ movhi
19287.L6285:
19288 add r4, r4, #1
19289 cmp r4, r5
19290 bne .L6967
19291 b .L6149
19292.L6487:
19293 ldr r0, [sp, #100]
19294 rsb lr, ip, #8
19295 cmp r0, lr
19296 blt .L6968
19297 cmp ip, #3
19298 bls .L6520
19299 cmp lr, #0
19300 ldr r2, [r7, #4]
19301 ldreq r5, [sp, #76]
19302 beq .L6524
19303 mov r3, ip, asl #3
19304 sub r3, r3, #32
19305 mov r1, r2, lsr r3
19306 ldr ip, .L6978
19307 mov r0, #0
19308.L6525:
19309 ands r3, r1, #255
19310 mov r3, r3, asl #1
19311 ldrneh r3, [r3, ip]
19312 ldrne r4, [sp, #76]
19313 mov r2, r0, asl #1
19314 add r0, r0, #1
19315 strneh r3, [r2, r4] @ movhi
19316 cmp lr, r0
19317 mov r1, r1, lsr #8
19318 bne .L6525
19319 ldr r6, [sp, #76]
19320 add r5, r6, lr, asl #1
19321.L6524:
19322 ldr ip, [sp, #100]
19323 add r7, r7, #64
19324 rsb r6, lr, ip
19325 b .L6489
19326.L6357:
19327 ldr r3, [sp, #100]
19328 rsb r6, r4, #8
19329 cmp r3, r6
19330 blt .L6969
19331 cmp r6, #0
19332 ldr r2, [r0, #0]
19333 ldreq sl, [sp, #76]
19334 beq .L6370
19335 mov r3, r4, asl #2
19336 mov lr, r2, asl r3
19337 ldr r2, .L6978
19338 mov r5, #0
19339.L6371:
19340 movs r3, lr, lsr #28
19341 orr r3, r1, r3
19342 mov r3, r3, asl #1
19343 ldrneh r3, [r3, r2]
19344 ldrne r7, [sp, #76]
19345 mov r4, r5, asl #1
19346 add r5, r5, #1
19347 strneh r3, [r4, r7] @ movhi
19348 cmp r6, r5
19349 mov lr, lr, asl #4
19350 bne .L6371
19351 ldr ip, [sp, #76]
19352 add sl, ip, r6, asl #1
19353.L6370:
19354 ldr lr, [sp, #100]
19355 sub r0, r0, #32
19356 rsb r2, r6, lr
19357 b .L6359
19358.L6227:
19359 ldr r7, [sp, #100]
19360 rsb lr, r3, #8
19361 cmp r7, lr
19362 blt .L6970
19363 cmp lr, #0
19364 ldr r2, [r6, #0]
19365 ldreq r7, [sp, #76]
19366 beq .L6240
19367 mov r3, r3, asl #2
19368 mov r2, r2, lsr r3
19369 ldr r4, .L6978
19370 mov ip, #0
19371.L6241:
19372 ands r3, r2, #15
19373 orr r3, r1, r3
19374 mov r3, r3, asl #1
19375 ldrneh r3, [r3, r4]
19376 ldrne r7, [sp, #76]
19377 mov r0, ip, asl #1
19378 add ip, ip, #1
19379 strneh r3, [r0, r7] @ movhi
19380 cmp lr, ip
19381 mov r2, r2, lsr #4
19382 bne .L6241
19383 ldr ip, [sp, #76]
19384 add r7, ip, lr, asl #1
19385.L6240:
19386 ldr r0, [sp, #100]
19387 add r6, r6, #32
19388 rsb r8, lr, r0
19389 b .L6229
19390.L6707:
19391 ldr r0, [sp, #100]
19392 rsb lr, ip, #8
19393 cmp r0, lr
19394 blt .L6971
19395 cmp ip, #3
19396 bls .L6740
19397 cmp lr, #0
19398 ldr r2, [r7, #0]
19399 ldreq r5, [sp, #76]
19400 beq .L6744
19401 mov r3, ip, asl #3
19402 sub r3, r3, #32
19403 mov r2, r2, asl r3
19404 ldr ip, .L6978
19405 mov r0, #0
19406.L6745:
19407 movs r3, r2, lsr #24
19408 mov r3, r3, asl #1
19409 ldrneh r3, [r3, ip]
19410 ldrne r4, [sp, #76]
19411 mov r1, r0, asl #1
19412 add r0, r0, #1
19413 strneh r3, [r1, r4] @ movhi
19414 cmp lr, r0
19415 mov r2, r2, asl #8
19416 bne .L6745
19417 ldr r6, [sp, #76]
19418 add r5, r6, lr, asl #1
19419.L6744:
19420 ldr ip, [sp, #100]
19421 sub r7, r7, #64
19422 rsb r6, lr, ip
19423 b .L6709
19424.L6971:
19425 cmp r0, #0
19426 ble .L6149
19427 cmp ip, #3
19428 bls .L6713
19429 mov r3, ip, asl #3
19430 ldr r2, [r7, #0]
19431 sub r3, r3, #32
19432 mov r2, r2, asl r3
19433 ldr ip, .L6978
19434 mov r0, #0
19435.L6716:
19436 movs r3, r2, lsr #24
19437 mov r3, r3, asl #1
19438 ldrneh r3, [r3, ip]
19439 ldrne r4, [sp, #76]
19440 ldr r5, [sp, #100]
19441 mov r1, r0, asl #1
19442 add r0, r0, #1
19443 strneh r3, [r1, r4] @ movhi
19444 cmp r5, r0
19445 mov r2, r2, asl #8
19446 bne .L6716
19447 b .L6149
19448.L6970:
19449 cmp r7, #0
19450 ble .L6149
19451 ldr r2, [r0, r2]
19452 mov r3, r3, asl #2
19453 mov r0, r2, lsr r3
19454 ldr lr, .L6978
19455 mov ip, #0
19456.L6234:
19457 ands r3, r0, #15
19458 orr r3, r1, r3
19459 mov r3, r3, asl #1
19460 ldrneh r3, [r3, lr]
19461 ldrne r4, [sp, #76]
19462 ldr r5, [sp, #100]
19463 mov r2, ip, asl #1
19464 add ip, ip, #1
19465 strneh r3, [r2, r4] @ movhi
19466 cmp r5, ip
19467 mov r0, r0, lsr #4
19468 bne .L6234
19469 b .L6149
19470.L6969:
19471 cmp r3, #0
19472 ble .L6149
19473 ldr r2, [r0, #0]
19474 mov r3, r4, asl #2
19475 mov r0, r2, asl r3
19476 ldr lr, .L6978
19477 mov ip, #0
19478.L6364:
19479 movs r3, r0, lsr #28
19480 orr r3, r1, r3
19481 mov r3, r3, asl #1
19482 ldrneh r3, [r3, lr]
19483 ldrne r4, [sp, #76]
19484 ldr r5, [sp, #100]
19485 mov r2, ip, asl #1
19486 add ip, ip, #1
19487 strneh r3, [r2, r4] @ movhi
19488 cmp r5, ip
19489 mov r0, r0, asl #4
19490 bne .L6364
19491 b .L6149
19492.L6965:
19493 cmp lr, #0
19494 ldr r1, [r2, #0]
19495 ldreq r0, [sp, #76]
19496 beq .L6814
19497 mov r3, ip, asl #3
19498 sub r3, r3, #32
19499 mov r1, r1, asl r3
19500 ldr r5, .L6978
19501 mov ip, #0
19502.L6815:
19503 movs r3, r1, lsr #24
19504 mov r3, r3, asl #1
19505 ldrneh r3, [r3, r5]
19506 ldrne r6, [sp, #76]
19507 mov r0, ip, asl #1
19508 add ip, ip, #1
19509 strneh r3, [r0, r6] @ movhi
19510 cmp ip, lr
19511 mov r1, r1, asl #8
19512 bne .L6815
19513 ldr r7, [sp, #76]
19514 sub r2, r2, #64
19515 add r0, r7, lr, asl #1
19516 b .L6809
19517.L6962:
19518 cmp lr, #0
19519 ldr r1, [r0, #4]
19520 ldreq r1, [sp, #76]
19521 beq .L6594
19522 mov r3, r2, asl #3
19523 sub r3, r3, #32
19524 mov r2, r1, lsr r3
19525 ldr r5, .L6978
19526 mov ip, #0
19527.L6595:
19528 ands r3, r2, #255
19529 mov r3, r3, asl #1
19530 ldrneh r3, [r3, r5]
19531 ldrne r6, [sp, #76]
19532 mov r1, ip, asl #1
19533 add ip, ip, #1
19534 strneh r3, [r1, r6] @ movhi
19535 cmp ip, lr
19536 mov r2, r2, lsr #8
19537 bne .L6595
19538 ldr r7, [sp, #76]
19539 add r0, r0, #64
19540 add r1, r7, lr, asl #1
19541 b .L6589
19542.L6968:
19543 cmp r0, #0
19544 ble .L6149
19545 cmp ip, #3
19546 bls .L6493
19547 mov r3, ip, asl #3
19548 ldr r2, [r7, #4]
19549 sub r3, r3, #32
19550 mov r1, r2, lsr r3
19551 ldr ip, .L6978
19552 mov r0, #0
19553.L6496:
19554 ands r3, r1, #255
19555 mov r3, r3, asl #1
19556 ldrneh r3, [r3, ip]
19557 ldrne r4, [sp, #76]
19558 ldr r5, [sp, #100]
19559 mov r2, r0, asl #1
19560 add r0, r0, #1
19561 strneh r3, [r2, r4] @ movhi
19562 cmp r5, r0
19563 mov r1, r1, lsr #8
19564 bne .L6496
19565 b .L6149
19566.L6975:
19567 mov r6, #0
19568 b .L6207
19569.L6740:
19570 subs r4, lr, #4
19571 ldr r2, [r7, #4]
19572 ldreq r1, [sp, #76]
19573 beq .L6752
19574 mov r3, ip, asl #3
19575 sub r3, r3, #32
19576 mov r2, r2, asl r3
19577 ldr ip, .L6978
19578 mov r0, #0
19579.L6753:
19580 movs r3, r2, lsr #24
19581 mov r3, r3, asl #1
19582 ldrneh r3, [r3, ip]
19583 ldrne r5, [sp, #76]
19584 mov r1, r0, asl #1
19585 add r0, r0, #1
19586 strneh r3, [r1, r5] @ movhi
19587 cmp r4, r0
19588 mov r2, r2, asl #8
19589 bne .L6753
19590 ldr r6, [sp, #76]
19591 add r3, r6, lr, asl #1
19592 sub r1, r3, #8
19593.L6752:
19594 ldr r2, [r7, #0]
19595 cmp r2, #0
19596 beq .L6758
19597 ands r3, r2, #255
19598 ldrne ip, .L6978
19599 movne r3, r3, asl #1
19600 ldrneh r3, [r3, ip]
19601 strneh r3, [r1, #6] @ movhi
19602 mov r3, r2, lsr #8
19603 ands r3, r3, #255
19604 ldrne r0, .L6978
19605 movne r3, r3, asl #1
19606 ldrneh r3, [r3, r0]
19607 strneh r3, [r1, #4] @ movhi
19608 mov r3, r2, lsr #16
19609 ands r3, r3, #255
19610 ldrne r4, .L6978
19611 movne r3, r3, asl #1
19612 ldrneh r3, [r3, r4]
19613 strneh r3, [r1, #2] @ movhi
19614 movs r3, r2, lsr #24
19615 ldrne r5, .L6978
19616 movne r3, r3, asl #1
19617 ldrneh r3, [r3, r5]
19618 strneh r3, [r1, #0] @ movhi
19619.L6758:
19620 add r5, r1, #8
19621 b .L6744
19622.L6520:
19623 subs r4, lr, #4
19624 ldr r2, [r7, #0]
19625 ldreq r1, [sp, #76]
19626 beq .L6532
19627 mov r3, ip, asl #3
19628 mov r1, r2, lsr r3
19629 ldr ip, .L6978
19630 mov r0, #0
19631.L6533:
19632 ands r3, r1, #255
19633 mov r3, r3, asl #1
19634 ldrneh r3, [r3, ip]
19635 ldrne r5, [sp, #76]
19636 mov r2, r0, asl #1
19637 add r0, r0, #1
19638 strneh r3, [r2, r5] @ movhi
19639 cmp r0, r4
19640 mov r1, r1, lsr #8
19641 bne .L6533
19642 ldr r6, [sp, #76]
19643 add r3, r6, lr, asl #1
19644 sub r1, r3, #8
19645.L6532:
19646 ldr r2, [r7, #4]
19647 cmp r2, #0
19648 beq .L6538
19649 ands r3, r2, #255
19650 ldrne ip, .L6978
19651 movne r3, r3, asl #1
19652 ldrneh r3, [r3, ip]
19653 strneh r3, [r1, #0] @ movhi
19654 mov r3, r2, lsr #8
19655 ands r3, r3, #255
19656 ldrne r0, .L6978
19657 movne r3, r3, asl #1
19658 ldrneh r3, [r3, r0]
19659 strneh r3, [r1, #2] @ movhi
19660 mov r3, r2, lsr #16
19661 ands r3, r3, #255
19662 ldrne r4, .L6978
19663 movne r3, r3, asl #1
19664 ldrneh r3, [r3, r4]
19665 strneh r3, [r1, #4] @ movhi
19666 movs r3, r2, lsr #24
19667 ldrne r5, .L6978
19668 movne r3, r3, asl #1
19669 ldrneh r3, [r3, r5]
19670 strneh r3, [r1, #6] @ movhi
19671.L6538:
19672 add r5, r1, #8
19673 b .L6524
19674.L6973:
19675 ldr r4, [sp, #16]
19676 b .L6938
19677.L6972:
19678 mov ip, fp
19679 b .L6936
19680.L6713:
19681 ldr r6, [sp, #100]
19682 mov r3, ip, asl #3
19683 ldr r1, [r7, #4]
19684 add r2, r6, ip
19685 sub r3, r3, #32
19686 cmp r2, #4
19687 mov r1, r1, asl r3
19688 bhi .L6720
19689 cmp r6, #0
19690 ldrne ip, .L6978
19691 movne r0, #0
19692 beq .L6149
19693.L6736:
19694 movs r3, r1, lsr #24
19695 mov r3, r3, asl #1
19696 ldrneh r3, [r3, ip]
19697 ldrne r7, [sp, #76]
19698 ldr lr, [sp, #100]
19699 mov r2, r0, asl #1
19700 add r0, r0, #1
19701 strneh r3, [r2, r7] @ movhi
19702 cmp lr, r0
19703 mov r1, r1, asl #8
19704 bne .L6736
19705 b .L6149
19706.L6493:
19707 ldr r6, [sp, #100]
19708 ldr r3, [r7, #0]
19709 add r2, r6, ip
19710 cmp r2, #4
19711 mov r1, ip, asl #3
19712 mov r2, r3, lsr r1
19713 bhi .L6500
19714 cmp r6, #0
19715 ldrne ip, .L6978
19716 movne r0, #0
19717 beq .L6149
19718.L6516:
19719 ands r3, r2, #255
19720 mov r3, r3, asl #1
19721 ldrneh r3, [r3, ip]
19722 ldrne r7, [sp, #76]
19723 ldr lr, [sp, #100]
19724 mov r1, r0, asl #1
19725 add r0, r0, #1
19726 strneh r3, [r1, r7] @ movhi
19727 cmp lr, r0
19728 mov r2, r2, lsr #8
19729 bne .L6516
19730 b .L6149
19731.L6720:
19732 rsbs ip, ip, #4
19733 ldreq lr, [sp, #76]
19734 beq .L6725
19735 ldr lr, .L6978
19736 mov r0, #0
19737.L6726:
19738 movs r3, r1, lsr #24
19739 mov r3, r3, asl #1
19740 ldrneh r3, [r3, lr]
19741 ldrne r4, [sp, #76]
19742 mov r2, r0, asl #1
19743 add r0, r0, #1
19744 strneh r3, [r2, r4] @ movhi
19745 cmp r0, ip
19746 mov r1, r1, asl #8
19747 bne .L6726
19748 ldr r5, [sp, #76]
19749 add lr, r5, ip, asl #1
19750.L6725:
19751 ldr r6, [sp, #100]
19752 ldr r2, [r7, #0]
19753 subs ip, r6, ip
19754 beq .L6149
19755 ldr r4, .L6978
19756 mov r0, #0
19757.L6732:
19758 movs r3, r2, lsr #24
19759 mov r3, r3, asl #1
19760 ldrneh r3, [r3, r4]
19761 mov r1, r0, asl #1
19762 add r0, r0, #1
19763 strneh r3, [r1, lr] @ movhi
19764 cmp r0, ip
19765 mov r2, r2, asl #8
19766 bne .L6732
19767 b .L6149
19768.L6500:
19769 rsbs ip, ip, #4
19770 ldreq lr, [sp, #76]
19771 beq .L6505
19772 ldr lr, .L6978
19773 mov r0, #0
19774.L6506:
19775 ands r3, r2, #255
19776 mov r3, r3, asl #1
19777 ldrneh r3, [r3, lr]
19778 ldrne r4, [sp, #76]
19779 mov r1, r0, asl #1
19780 add r0, r0, #1
19781 strneh r3, [r1, r4] @ movhi
19782 cmp r0, ip
19783 mov r2, r2, lsr #8
19784 bne .L6506
19785 ldr r5, [sp, #76]
19786 add lr, r5, ip, asl #1
19787.L6505:
19788 ldr r6, [sp, #100]
19789 ldr r2, [r7, #4]
19790 subs ip, r6, ip
19791 beq .L6149
19792 ldr r4, .L6978
19793 mov r0, #0
19794.L6512:
19795 ands r3, r2, #255
19796 mov r3, r3, asl #1
19797 ldrneh r3, [r3, r4]
19798 mov r1, r0, asl #1
19799 add r0, r0, #1
19800 strneh r3, [r1, lr] @ movhi
19801 cmp r0, ip
19802 mov r2, r2, lsr #8
19803 bne .L6512
19804 b .L6149
19805.L6979:
19806 .align 2
19807.L6978:
19808 .word palette_ram_converted+512
19809 .size render_scanline_obj_normal_1D, .-render_scanline_obj_normal_1D
19810 .align 2
19811 .global render_scanline_obj_normal_2D
19812 .type render_scanline_obj_normal_2D, %function
19813render_scanline_obj_normal_2D:
19814 @ args = 0, pretend = 0, frame = 92
19815 @ frame_needed = 0, uses_anonymous_args = 0
19816 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
19817 ldr ip, .L7822
19818 sub sp, sp, #92
19819 ldrh ip, [ip, #6]
19820 add r0, r0, r0, asl #2
19821 add r0, ip, r0, asl #5
19822 str ip, [sp, #32]
19823 ldr ip, .L7822+4
19824 str r1, [sp, #12]
19825 ldr ip, [ip, r0, asl #2]
19826 str r2, [sp, #8]
19827 str ip, [sp, #36]
19828 cmp ip, #0
19829 ldr ip, .L7822+8
19830 str r3, [sp, #4]
19831 add r0, ip, r0, asl #7
19832 str r0, [sp, #40]
19833 beq .L7768
19834 add r0, r3, r1, asl #1
19835 rsb r1, r1, r2
19836 mov r2, #0
19837 str r0, [sp, #64]
19838 str r1, [sp, #88]
19839 str r2, [sp, #28]
19840 mov r4, r2
19841.L6983:
19842 ldr r5, [sp, #40]
19843 ldr r6, .L7822+12
19844 ldrb r3, [r4, r5] @ zero_extendqisi2
19845 ldr r7, .L7822+16
19846 mov r3, r3, asl #3
19847 ldrh lr, [r3, r6]
19848 add r3, r3, r6
19849 ldrh r1, [r3, #2]
19850 mov r4, lr, lsr #12
19851 and r2, r4, #12
19852 orr r0, r2, r1, lsr #14
19853 and ip, lr, #255
19854 mov r2, r1, asl #23
19855 cmp ip, #160
19856 mov r5, r2, asr #23
19857 ldr r2, .L7822+20
19858 subgt ip, ip, #256
19859 tst lr, #256
19860 ldrh r6, [r3, #4]
19861 ldr r8, [r7, r0, asl #2]
19862 ldr sl, [r2, r0, asl #2]
19863 beq .L6986
19864 tst lr, #8192
19865 beq .L6988
19866 mov r3, r1, lsr #4
19867 ldr r4, .L7822+12
19868 add r2, r8, r8, lsr #31
19869 and r3, r3, #992
19870 tst lr, #512
19871 add r3, r3, r4
19872 mov lr, r2, asr #1
19873 add r1, sl, sl, lsr #31
19874 ldr r2, [sp, #12]
19875 mov r4, r1, asr #1
19876 movne r0, lr, asl #1
19877 ldrh r7, [r3, #30]
19878 strne r0, [sp, #48]
19879 moveq r9, r8
19880 streq lr, [sp, #48]
19881 moveq r0, r4
19882 movne r9, r8, asl #1
19883 movne r0, r4, asl #1
19884 cmp r5, r2
19885 str r7, [sp, #16]
19886 ldrh r1, [r3, #14]
19887 ldrh r7, [r3, #6]
19888 ldrh fp, [r3, #22]
19889 bge .L6993
19890 rsb r2, r5, r2
19891 rsb r9, r2, r9
19892 cmp r9, #0
19893 ble .L6995
19894 ldr r3, [sp, #48]
19895 ldr r5, [sp, #12]
19896 rsb r3, r2, r3
19897 str r3, [sp, #48]
19898.L6993:
19899 ldr r2, [sp, #8]
19900 add r3, r5, r9
19901 cmp r3, r2
19902 blt .L6997
19903 rsb r9, r5, r2
19904 cmp r9, #0
19905 ble .L6995
19906.L6997:
19907 mov r3, r7, asl #16
19908 mov r2, r1, asl #16
19909 ldr r7, [sp, #16]
19910 mov r3, r3, asr #16
19911 add r0, ip, r0
19912 str r3, [sp, #44]
19913 mov ip, r2, asr #16
19914 ldr r3, [sp, #32]
19915 ldr r2, [sp, #4]
19916 mov r1, r7, asl #16
19917 mov lr, lr, asl #8
19918 cmp fp, #0
19919 str lr, [sp, #72]
19920 mov r1, r1, asr #16
19921 mov lr, r4, asl #8
19922 add r7, r2, r5, asl #1
19923 rsb r0, r0, r3
19924 bne .L6999
19925 mla r3, r0, r1, lr
19926 mov r1, r3, asr #8
19927 cmp r1, sl
19928 bcs .L6995
19929 mov r3, r6, asl #22
19930 mov r2, r1, lsr #3
19931 mov r3, r3, lsr #22
19932 add r3, r3, r2, asl #5
19933 and r1, r1, #7
19934 add r1, r1, r3, asl #2
19935 ldr r3, .L7822+24
19936 cmp r9, #0
19937 add r4, r3, r1, asl #3
19938 ble .L6995
19939 ldr r2, [sp, #48]
19940 ldr r5, [sp, #44]
19941 mul r3, r0, ip
19942 mul r2, r5, r2
19943 ldr r6, [sp, #72]
19944 rsb r3, r2, r3
19945 add r0, r6, r3
19946 mov lr, r0, asr #8
19947 cmp lr, r8
19948 movcs ip, fp
19949 bcs .L7005
19950 b .L7818
19951.L7006:
19952 cmp lr, r8
19953 bcc .L7782
19954.L7005:
19955 ldr lr, [sp, #44]
19956 add ip, ip, #1
19957 add r0, r0, lr
19958 cmp r9, ip
19959 mov lr, r0, asr #8
19960 add r7, r7, #2
19961 bne .L7006
19962.L6995:
19963 ldr r0, [sp, #28]
19964 ldr r1, [sp, #36]
19965 add r0, r0, #1
19966 cmp r0, r1
19967 str r0, [sp, #28]
19968 beq .L7768
19969.L7800:
19970 ldr r4, [sp, #28]
19971 b .L6983
19972.L6986:
19973 ldr r2, [sp, #32]
19974 tst r1, #8192
19975 rsb r0, ip, r2
19976 rsbne r3, r0, sl
19977 subne r0, r3, #1
19978 mov r2, r1, asl #19
19979 and r3, r4, #2
19980 orr r3, r3, r2, lsr #31
19981 cmp r3, #3
19982 ldrls pc, [pc, r3, asl #2]
19983 b .L6995
19984 .p2align 2
19985.L7067:
19986 .word .L7063
19987 .word .L7064
19988 .word .L7065
19989 .word .L7066
19990.L7063:
19991 mov r3, r6, asl #22
19992 mov r2, r0, lsr #3
19993 mov r3, r3, lsr #22
19994 add r3, r3, r2, asl #5
19995 and r1, r0, #7
19996 add r1, r1, r3, asl #3
19997 ldr r3, [sp, #12]
19998 mov r2, r6, lsr #8
19999 cmp r5, r3
20000 ldr r3, .L7822+24
20001 add r0, r3, r1, asl #2
20002 and r1, r2, #240
20003 blt .L7795
20004 ldr r2, [sp, #8]
20005 add r3, r5, r8
20006 cmp r2, r3
20007 bhi .L7149
20008 rsb r8, r5, r2
20009 cmp r8, #0
20010 ble .L6995
20011 ldr r3, [sp, #4]
20012 movs r7, r8, lsr #3
20013 add r2, r3, r5, asl #1
20014 beq .L7152
20015 ldr r6, .L7822+36
20016 mov r4, r2
20017 mov r5, r0
20018 mov ip, #0
20019.L7154:
20020 ldr lr, [r5, #0]
20021 cmp lr, #0
20022 beq .L7155
20023 ands r3, lr, #15
20024 orrne r3, r1, r3
20025 movne r3, r3, asl #1
20026 ldrneh r3, [r3, r6]
20027 strneh r3, [r4, #0] @ movhi
20028 mov r3, lr, lsr #4
20029 ands r3, r3, #15
20030 orrne r3, r1, r3
20031 movne r3, r3, asl #1
20032 ldrneh r3, [r3, r6]
20033 strneh r3, [r4, #2] @ movhi
20034 mov r3, lr, lsr #8
20035 ands r3, r3, #15
20036 orrne r3, r1, r3
20037 movne r3, r3, asl #1
20038 ldrneh r3, [r3, r6]
20039 strneh r3, [r4, #4] @ movhi
20040 mov r3, lr, lsr #12
20041 ands r3, r3, #15
20042 orrne r3, r1, r3
20043 movne r3, r3, asl #1
20044 ldrneh r3, [r3, r6]
20045 strneh r3, [r4, #6] @ movhi
20046 mov r3, lr, lsr #16
20047 ands r3, r3, #15
20048 orrne r3, r1, r3
20049 movne r3, r3, asl #1
20050 ldrneh r3, [r3, r6]
20051 strneh r3, [r4, #8] @ movhi
20052 mov r3, lr, lsr #20
20053 ands r3, r3, #15
20054 orrne r3, r1, r3
20055 movne r3, r3, asl #1
20056 ldrneh r3, [r3, r6]
20057 strneh r3, [r4, #10] @ movhi
20058 mov r3, lr, lsr #24
20059 ands r3, r3, #15
20060 orrne r3, r1, r3
20061 movne r3, r3, asl #1
20062 ldrneh r3, [r3, r6]
20063 strneh r3, [r4, #12] @ movhi
20064 movs r3, lr, lsr #28
20065 orrne r3, r1, r3
20066 movne r3, r3, asl #1
20067 ldrneh r3, [r3, r6]
20068 strneh r3, [r4, #14] @ movhi
20069.L7155:
20070 add ip, ip, #1
20071 cmp ip, r7
20072 add r5, r5, #32
20073 add r4, r4, #16
20074 bne .L7154
20075 add r0, r0, r7, asl #5
20076 add r2, r2, r7, asl #4
20077.L7152:
20078 ands r4, r8, #7
20079 beq .L6995
20080 ldr r0, [r0, #0]
20081 ldr r5, .L7822+36
20082 mov lr, #0
20083.L7174:
20084 ands r3, r0, #15
20085 orr r3, r1, r3
20086 mov r3, r3, asl #1
20087 ldrneh r3, [r3, r5]
20088 mov ip, lr, asl #1
20089 add lr, lr, #1
20090 strneh r3, [ip, r2] @ movhi
20091 cmp lr, r4
20092 mov r0, r0, lsr #4
20093 bne .L7174
20094 b .L6995
20095.L7064:
20096 mov r3, r6, asl #22
20097 mov r1, r0, lsr #3
20098 subs r2, r8, #8
20099 mov r3, r3, lsr #22
20100 submi r2, r8, #1
20101 add r3, r3, r1, asl #5
20102 add r3, r3, r2, asr #3
20103 and r1, r0, #7
20104 ldr ip, [sp, #12]
20105 add r1, r1, r3, asl #3
20106 ldr r3, .L7822+24
20107 mov r2, r6, lsr #8
20108 cmp r5, ip
20109 add r0, r3, r1, asl #2
20110 and r1, r2, #240
20111 blt .L7796
20112 ldr r2, [sp, #8]
20113 add r3, r5, r8
20114 cmp r2, r3
20115 bhi .L7279
20116 rsb r8, r5, r2
20117 cmp r8, #0
20118 ble .L6995
20119 ldr r3, [sp, #4]
20120 movs r7, r8, lsr #3
20121 add r2, r3, r5, asl #1
20122 beq .L7282
20123 ldr r6, .L7822+36
20124 mov r4, r2
20125 mov r5, r0
20126 mov ip, #0
20127.L7284:
20128 ldr lr, [r5, #0]
20129 cmp lr, #0
20130 beq .L7285
20131 ands r3, lr, #15
20132 orrne r3, r1, r3
20133 movne r3, r3, asl #1
20134 ldrneh r3, [r3, r6]
20135 strneh r3, [r4, #14] @ movhi
20136 mov r3, lr, lsr #4
20137 ands r3, r3, #15
20138 orrne r3, r1, r3
20139 movne r3, r3, asl #1
20140 ldrneh r3, [r3, r6]
20141 strneh r3, [r4, #12] @ movhi
20142 mov r3, lr, lsr #8
20143 ands r3, r3, #15
20144 orrne r3, r1, r3
20145 movne r3, r3, asl #1
20146 ldrneh r3, [r3, r6]
20147 strneh r3, [r4, #10] @ movhi
20148 mov r3, lr, lsr #12
20149 ands r3, r3, #15
20150 orrne r3, r1, r3
20151 movne r3, r3, asl #1
20152 ldrneh r3, [r3, r6]
20153 strneh r3, [r4, #8] @ movhi
20154 mov r3, lr, lsr #16
20155 ands r3, r3, #15
20156 orrne r3, r1, r3
20157 movne r3, r3, asl #1
20158 ldrneh r3, [r3, r6]
20159 strneh r3, [r4, #6] @ movhi
20160 mov r3, lr, lsr #20
20161 ands r3, r3, #15
20162 orrne r3, r1, r3
20163 movne r3, r3, asl #1
20164 ldrneh r3, [r3, r6]
20165 strneh r3, [r4, #4] @ movhi
20166 mov r3, lr, lsr #24
20167 ands r3, r3, #15
20168 orrne r3, r1, r3
20169 movne r3, r3, asl #1
20170 ldrneh r3, [r3, r6]
20171 strneh r3, [r4, #2] @ movhi
20172 movs r3, lr, lsr #28
20173 orrne r3, r1, r3
20174 movne r3, r3, asl #1
20175 ldrneh r3, [r3, r6]
20176 strneh r3, [r4, #0] @ movhi
20177.L7285:
20178 add ip, ip, #1
20179 cmp ip, r7
20180 sub r5, r5, #32
20181 add r4, r4, #16
20182 bne .L7284
20183 rsb r3, r7, r7, asl #27
20184 add r0, r0, r3, asl #5
20185 add r2, r2, r7, asl #4
20186.L7282:
20187 ands r4, r8, #7
20188 beq .L6995
20189 ldr r0, [r0, #0]
20190 ldr r5, .L7822+36
20191 mov lr, #0
20192.L7304:
20193 movs r3, r0, lsr #28
20194 orr r3, r1, r3
20195 mov r3, r3, asl #1
20196 ldrneh r3, [r3, r5]
20197 mov ip, lr, asl #1
20198 add lr, lr, #1
20199 strneh r3, [ip, r2] @ movhi
20200 cmp lr, r4
20201 mov r0, r0, asl #4
20202 bne .L7304
20203 b .L6995
20204.L7065:
20205 mov r2, r6, asl #22
20206 mov r1, r0, lsr #3
20207 mov r2, r2, lsr #22
20208 and r3, r0, #7
20209 add r2, r2, r1, asl #5
20210 add r3, r3, r2, asl #2
20211 ldr ip, [sp, #12]
20212 mov r0, r3, asl #3
20213 ldr r3, .L7822+24
20214 cmp r5, ip
20215 add ip, r0, r3
20216 blt .L7797
20217 ldr lr, [sp, #8]
20218 add r3, r5, r8
20219 cmp lr, r3
20220 bhi .L7484
20221 rsb r8, r5, lr
20222 cmp r8, #0
20223 ble .L6995
20224 ldr r1, [sp, #4]
20225 movs r7, r8, lsr #3
20226 add r2, r1, r5, asl #1
20227 beq .L7487
20228 ldr r3, .L7822+32
20229 ldr r6, .L7822+36
20230 add r0, r0, r3
20231 mov r4, r2
20232 mov r5, ip
20233 mov r1, #0
20234.L7489:
20235 ldr lr, [r5, #0]
20236 cmp lr, #0
20237 beq .L7490
20238 ands r3, lr, #255
20239 movne r3, r3, asl #1
20240 ldrneh r3, [r3, r6]
20241 strneh r3, [r4, #0] @ movhi
20242 mov r3, lr, lsr #8
20243 ands r3, r3, #255
20244 movne r3, r3, asl #1
20245 ldrneh r3, [r3, r6]
20246 strneh r3, [r4, #2] @ movhi
20247 mov r3, lr, lsr #16
20248 ands r3, r3, #255
20249 movne r3, r3, asl #1
20250 ldrneh r3, [r3, r6]
20251 strneh r3, [r4, #4] @ movhi
20252 movs r3, lr, lsr #24
20253 movne r3, r3, asl #1
20254 ldrneh r3, [r3, r6]
20255 strneh r3, [r4, #6] @ movhi
20256.L7490:
20257 ldr lr, [r0, #-60]
20258 cmp lr, #0
20259 beq .L7499
20260 ands r3, lr, #255
20261 movne r3, r3, asl #1
20262 ldrneh r3, [r3, r6]
20263 strneh r3, [r4, #8] @ movhi
20264 mov r3, lr, lsr #8
20265 ands r3, r3, #255
20266 movne r3, r3, asl #1
20267 ldrneh r3, [r3, r6]
20268 strneh r3, [r4, #10] @ movhi
20269 mov r3, lr, lsr #16
20270 ands r3, r3, #255
20271 movne r3, r3, asl #1
20272 ldrneh r3, [r3, r6]
20273 strneh r3, [r4, #12] @ movhi
20274 movs r3, lr, lsr #24
20275 movne r3, r3, asl #1
20276 ldrneh r3, [r3, r6]
20277 strneh r3, [r4, #14] @ movhi
20278.L7499:
20279 add r1, r1, #1
20280 cmp r7, r1
20281 add r5, r5, #64
20282 add r4, r4, #16
20283 add r0, r0, #64
20284 bne .L7489
20285 add ip, ip, r7, asl #6
20286 add r2, r2, r7, asl #4
20287.L7487:
20288 ands lr, r8, #7
20289 beq .L6995
20290 cmp lr, #3
20291 ldrls r0, [ip, #0]
20292 bls .L7522
20293 ldr r1, [ip, #0]
20294 cmp r1, #0
20295 beq .L7512
20296 ands r3, r1, #255
20297 ldrne r4, .L7822+36
20298 movne r3, r3, asl #1
20299 ldrneh r3, [r3, r4]
20300 strneh r3, [r2, #0] @ movhi
20301 mov r3, r1, lsr #8
20302 ands r3, r3, #255
20303 ldrne r5, .L7822+36
20304 movne r3, r3, asl #1
20305 ldrneh r3, [r3, r5]
20306 strneh r3, [r2, #2] @ movhi
20307 mov r3, r1, lsr #16
20308 ands r3, r3, #255
20309 ldrne r6, .L7822+36
20310 movne r3, r3, asl #1
20311 ldrneh r3, [r3, r6]
20312 strneh r3, [r2, #4] @ movhi
20313 movs r3, r1, lsr #24
20314 ldrne r7, .L7822+36
20315 movne r3, r3, asl #1
20316 ldrneh r3, [r3, r7]
20317 strneh r3, [r2, #6] @ movhi
20318.L7512:
20319 subs lr, lr, #4
20320 ldr r0, [ip, #4]
20321 addne r2, r2, #8
20322 beq .L6995
20323.L7522:
20324 mov r1, #0
20325.L7523:
20326 ands r3, r0, #255
20327 ldrne r4, .L7822+36
20328 mov r3, r3, asl #1
20329 ldrneh r3, [r3, r4]
20330 mov ip, r1, asl #1
20331 add r1, r1, #1
20332 strneh r3, [ip, r2] @ movhi
20333 cmp lr, r1
20334 mov r0, r0, lsr #8
20335 bhi .L7523
20336 b .L6995
20337.L7066:
20338 subs r2, r8, #8
20339 submi r2, r8, #1
20340 mov r3, r0, lsr #3
20341 mov r2, r2, asr #3
20342 mov r1, r6, asl #22
20343 add r2, r2, r3, asl #4
20344 mov r1, r1, lsr #22
20345 and r3, r0, #7
20346 add r1, r1, r2, asl #1
20347 add r3, r3, r1, asl #2
20348 ldr ip, [sp, #12]
20349 mov r0, r3, asl #3
20350 ldr r3, .L7822+24
20351 cmp r5, ip
20352 add ip, r0, r3
20353 blt .L7798
20354 ldr lr, [sp, #8]
20355 add r3, r5, r8
20356 cmp r3, lr
20357 bcc .L7704
20358 rsb r8, r5, lr
20359 cmp r8, #0
20360 ble .L6995
20361 ldr r1, [sp, #4]
20362 movs r7, r8, lsr #3
20363 add sl, r1, r5, asl #1
20364 beq .L7707
20365 ldr r3, .L7822+28
20366 ldr r6, .L7822+36
20367 add r0, r0, r3
20368 mov r4, sl
20369 mov r5, ip
20370 mov r1, #0
20371.L7709:
20372 ldr lr, [r0, #68]
20373 cmp lr, #0
20374 beq .L7710
20375 ands r3, lr, #255
20376 movne r3, r3, asl #1
20377 ldrneh r3, [r3, r6]
20378 strneh r3, [r4, #6] @ movhi
20379 mov r3, lr, lsr #8
20380 ands r3, r3, #255
20381 movne r3, r3, asl #1
20382 ldrneh r3, [r3, r6]
20383 strneh r3, [r4, #4] @ movhi
20384 mov r3, lr, lsr #16
20385 ands r3, r3, #255
20386 movne r3, r3, asl #1
20387 ldrneh r3, [r3, r6]
20388 strneh r3, [r4, #2] @ movhi
20389 movs r3, lr, lsr #24
20390 movne r3, r3, asl #1
20391 ldrneh r3, [r3, r6]
20392 strneh r3, [r4, #0] @ movhi
20393.L7710:
20394 ldr lr, [r5, #0]
20395 cmp lr, #0
20396 beq .L7719
20397 ands r3, lr, #255
20398 movne r3, r3, asl #1
20399 ldrneh r3, [r3, r6]
20400 strneh r3, [r4, #14] @ movhi
20401 mov r3, lr, lsr #8
20402 ands r3, r3, #255
20403 movne r3, r3, asl #1
20404 ldrneh r3, [r3, r6]
20405 strneh r3, [r4, #12] @ movhi
20406 mov r3, lr, lsr #16
20407 ands r3, r3, #255
20408 movne r3, r3, asl #1
20409 ldrneh r3, [r3, r6]
20410 strneh r3, [r4, #10] @ movhi
20411 movs r3, lr, lsr #24
20412 movne r3, r3, asl #1
20413 ldrneh r3, [r3, r6]
20414 strneh r3, [r4, #8] @ movhi
20415.L7719:
20416 add r1, r1, #1
20417 cmp r1, r7
20418 sub r5, r5, #64
20419 add r4, r4, #16
20420 sub r0, r0, #64
20421 bne .L7709
20422 rsb r3, r7, r7, asl #26
20423 add ip, ip, r3, asl #6
20424 add sl, sl, r7, asl #4
20425.L7707:
20426 ands lr, r8, #7
20427 beq .L6995
20428 cmp lr, #3
20429 ldrls r2, [ip, #4]
20430 bls .L7742
20431 ldr r2, [ip, #4]
20432 cmp r2, #0
20433 beq .L7732
20434 ands r3, r2, #255
20435 ldrne r4, .L7822+36
20436 movne r3, r3, asl #1
20437 ldrneh r3, [r3, r4]
20438 strneh r3, [sl, #6] @ movhi
20439 mov r3, r2, lsr #8
20440 ands r3, r3, #255
20441 ldrne r5, .L7822+36
20442 movne r3, r3, asl #1
20443 ldrneh r3, [r3, r5]
20444 strneh r3, [sl, #4] @ movhi
20445 mov r3, r2, lsr #16
20446 ands r3, r3, #255
20447 ldrne r6, .L7822+36
20448 movne r3, r3, asl #1
20449 ldrneh r3, [r3, r6]
20450 strneh r3, [sl, #2] @ movhi
20451 movs r3, r2, lsr #24
20452 ldrne r7, .L7822+36
20453 movne r3, r3, asl #1
20454 ldrneh r3, [r3, r7]
20455 strneh r3, [sl, #0] @ movhi
20456.L7732:
20457 subs lr, lr, #4
20458 ldr r2, [ip, #0]
20459 addne sl, sl, #8
20460 beq .L6995
20461.L7742:
20462 mov r1, #0
20463.L7743:
20464 movs r3, r2, lsr #24
20465 ldrne ip, .L7822+36
20466 mov r3, r3, asl #1
20467 ldrneh r3, [r3, ip]
20468 mov r0, r1, asl #1
20469 add r1, r1, #1
20470 strneh r3, [r0, sl] @ movhi
20471 cmp lr, r1
20472 mov r2, r2, asl #8
20473 bhi .L7743
20474 b .L6995
20475.L6988:
20476 mov r3, r1, lsr #4
20477 ldr r4, .L7822+12
20478 and r3, r3, #992
20479 add r3, r3, r4
20480 ldrh r7, [r3, #30]
20481 add r2, r8, r8, lsr #31
20482 tst lr, #512
20483 add r1, sl, sl, lsr #31
20484 mov lr, r2, asr #1
20485 ldr r2, [sp, #12]
20486 mov r4, r1, asr #1
20487 str r7, [sp, #24]
20488 ldrh r1, [r3, #14]
20489 ldrh r7, [r3, #6]
20490 ldrh r3, [r3, #22]
20491 moveq fp, r8
20492 moveq r9, lr
20493 moveq r0, r4
20494 movne fp, r8, asl #1
20495 movne r9, lr, asl #1
20496 movne r0, r4, asl #1
20497 cmp r5, r2
20498 str r3, [sp, #20]
20499 bge .L7026
20500 rsb r2, r5, r2
20501 rsb fp, r2, fp
20502 cmp fp, #0
20503 ble .L6995
20504 ldr r5, [sp, #12]
20505 rsb r9, r2, r9
20506.L7026:
20507 ldr r2, [sp, #8]
20508 add r3, r5, fp
20509 cmp r3, r2
20510 blt .L7029
20511 rsb fp, r5, r2
20512 cmp fp, #0
20513 ble .L6995
20514.L7029:
20515 add ip, ip, r0
20516 mov r3, r7, asl #16
20517 mov r2, r1, asl #16
20518 ldr r0, [sp, #20]
20519 ldr r7, [sp, #24]
20520 mov r3, r3, asr #16
20521 mov r2, r2, asr #16
20522 cmp r0, #0
20523 str r3, [sp, #52]
20524 mov r0, r6, lsr #8
20525 str r2, [sp, #56]
20526 ldr r3, [sp, #32]
20527 ldr r2, [sp, #4]
20528 mov r1, r7, asl #16
20529 mov lr, lr, asl #8
20530 and r0, r0, #240
20531 str lr, [sp, #68]
20532 mov r1, r1, asr #16
20533 mov lr, r4, asl #8
20534 add r7, r2, r5, asl #1
20535 rsb ip, ip, r3
20536 str r0, [sp, #84]
20537 bne .L7031
20538 mla r3, ip, r1, lr
20539 mov r1, r3, asr #8
20540 cmp r1, sl
20541 bcs .L6995
20542 mov r3, r6, asl #22
20543 mov r2, r1, lsr #3
20544 mov r3, r3, lsr #22
20545 add r3, r3, r2, asl #5
20546 and r1, r1, #7
20547 add r1, r1, r3, asl #3
20548 ldr r3, .L7822+24
20549 cmp fp, #0
20550 add r1, r3, r1, asl #2
20551 ble .L6995
20552 ldr r3, [sp, #56]
20553 ldr r2, [sp, #52]
20554 mul r3, ip, r3
20555 mul r2, r9, r2
20556 ldr r4, [sp, #68]
20557 rsb r3, r2, r3
20558 add r0, r4, r3
20559 mov lr, r0, asr #8
20560 cmp lr, r8
20561 ldrcs r4, [sp, #20]
20562 bcs .L7037
20563 b .L7819
20564.L7038:
20565 cmp lr, r8
20566 bcc .L7784
20567.L7037:
20568 ldr r5, [sp, #52]
20569 add r4, r4, #1
20570 add r0, r0, r5
20571 cmp fp, r4
20572 mov lr, r0, asr #8
20573 add r7, r7, #2
20574 bne .L7038
20575 ldr r0, [sp, #28]
20576 ldr r1, [sp, #36]
20577 add r0, r0, #1
20578 cmp r0, r1
20579 str r0, [sp, #28]
20580 bne .L7800
20581.L7768:
20582 add sp, sp, #92
20583 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
20584.L6999:
20585 mov r3, r6, asl #22
20586 ldr r2, .L7822+24
20587 mov r3, r3, lsr #22
20588 add r3, r2, r3, asl #5
20589 cmp r9, #0
20590 str r3, [sp, #80]
20591 ble .L6995
20592 mov r3, fp, asl #16
20593 mul r2, r0, r1
20594 mov fp, r3, asr #16
20595 ldr r4, [sp, #44]
20596 mul r3, r0, ip
20597 ldr r1, [sp, #48]
20598 ldr r0, [sp, #48]
20599 mul r1, fp, r1
20600 mul r0, r4, r0
20601 ldr r6, [sp, #72]
20602 rsb r3, r0, r3
20603 rsb r2, r1, r2
20604 add r5, r6, r3
20605 add r4, lr, r2
20606 mov ip, r5, asr #8
20607 mov lr, r4, asr #8
20608 cmp ip, r8
20609 cmpcc lr, sl
20610 movcs r3, #0
20611 movcc r3, #1
20612 movcs r6, r3
20613 bcs .L7015
20614 b .L7820
20615.L7016:
20616 cmp ip, r8
20617 cmpcc lr, sl
20618 bcc .L7017
20619.L7015:
20620 ldr ip, [sp, #44]
20621 add r6, r6, #1
20622 add r5, r5, ip
20623 add r4, r4, fp
20624 cmp r9, r6
20625 mov ip, r5, asr #8
20626 mov lr, r4, asr #8
20627 add r7, r7, #2
20628 bne .L7016
20629 b .L6995
20630.L7031:
20631 mov r3, r6, asl #22
20632 ldr r2, .L7822+24
20633 mov r3, r3, lsr #22
20634 add r3, r2, r3, asl #5
20635 cmp fp, #0
20636 str r3, [sp, #76]
20637 ble .L6995
20638 ldr r4, [sp, #20]
20639 mul r2, ip, r1
20640 mov r3, r4, asl #16
20641 mov r3, r3, asr #16
20642 str r3, [sp, #60]
20643 ldr r1, [sp, #60]
20644 ldr r3, [sp, #56]
20645 ldr r0, [sp, #52]
20646 mul r3, ip, r3
20647 mul r1, r9, r1
20648 mul r0, r9, r0
20649 ldr r6, [sp, #68]
20650 rsb r3, r0, r3
20651 rsb r2, r1, r2
20652 add r5, r6, r3
20653 add r4, lr, r2
20654 mov ip, r5, asr #8
20655 mov lr, r4, asr #8
20656 cmp ip, r8
20657 cmpcc lr, sl
20658 movcs r3, #0
20659 movcc r3, #1
20660 movcs r6, r3
20661 bcs .L7050
20662 b .L7821
20663.L7051:
20664 cmp ip, r8
20665 cmpcc lr, sl
20666 bcc .L7053
20667.L7050:
20668 ldr ip, [sp, #52]
20669 ldr lr, [sp, #60]
20670 add r6, r6, #1
20671 add r5, r5, ip
20672 add r4, r4, lr
20673 cmp fp, r6
20674 mov ip, r5, asr #8
20675 mov lr, r4, asr #8
20676 add r7, r7, #2
20677 bne .L7051
20678 b .L6995
20679.L7803:
20680 mov r3, ip, asr #1
20681 ldr r1, [sp, #76]
20682 and r3, r3, #3
20683 str r3, [sp, #0]
20684 and r0, lr, #7
20685 ldr r3, [sp, #76]
20686 add r0, r1, r0, asl #2
20687 and r1, lr, #7
20688 mov r2, ip, asr #1
20689 add r1, r3, r1, asl #2
20690 mov r3, lr, asr #3
20691 and r9, r2, #3
20692 mov r3, r3, asl #10
20693 mov r2, ip, asr #3
20694 tst ip, #1
20695 add r3, r3, r2, asl #5
20696 add r2, r0, r3
20697 movne ip, r9
20698 add r0, r1, r3
20699 ldreqb r3, [r0, r9] @ zero_extendqisi2
20700 ldrneb r3, [r2, ip] @ zero_extendqisi2
20701 andeq r0, r3, #15
20702 movne r0, r3, lsr #4
20703 ldr r2, [sp, #84]
20704 cmp r0, #0
20705 orr r3, r0, r2
20706 ldrne r0, .L7822+36
20707 mov r3, r3, asl #1
20708 ldr lr, [sp, #52]
20709 ldrneh r3, [r3, r0]
20710 ldr r1, [sp, #60]
20711 add r6, r6, #1
20712 add r5, r5, lr
20713 strneh r3, [r7, #0] @ movhi
20714 add r4, r4, r1
20715 cmp fp, r6
20716 mov ip, r5, asr #8
20717 mov lr, r4, asr #8
20718 add r7, r7, #2
20719 ble .L6995
20720.L7053:
20721 cmp lr, sl
20722 cmpcc ip, r8
20723 bcc .L7803
20724 b .L6995
20725.L7040:
20726 cmp lr, r8
20727 bcs .L6995
20728.L7784:
20729 mov r3, lr, asr #1
20730 and r6, r3, #3
20731 mov r3, lr, asr #3
20732 mov r3, r3, asl #5
20733 mov r2, lr, asr #1
20734 tst lr, #1
20735 add ip, r3, r1
20736 and r5, r2, #3
20737 add r2, r3, r1
20738 ldreqb r3, [r2, r5] @ zero_extendqisi2
20739 ldrneb r3, [ip, r6] @ zero_extendqisi2
20740 andeq r2, r3, #15
20741 movne r2, r3, lsr #4
20742 ldr ip, [sp, #84]
20743 cmp r2, #0
20744 orr r3, r2, ip
20745 ldrne r2, .L7822+36
20746 mov r3, r3, asl #1
20747 ldrneh r3, [r3, r2]
20748 ldr r6, [sp, #52]
20749 add r4, r4, #1
20750 strneh r3, [r7, #0] @ movhi
20751 add r0, r0, r6
20752 cmp fp, r4
20753 mov lr, r0, asr #8
20754 add r7, r7, #2
20755 bgt .L7040
20756 b .L6995
20757.L7008:
20758 cmp lr, r8
20759 bcs .L6995
20760.L7782:
20761 ldr r1, [sp, #44]
20762 mov r3, lr, asr #3
20763 add r3, r4, r3, asl #6
20764 add r0, r0, r1
20765 and r1, lr, #7
20766 ldrb r2, [r3, r1] @ zero_extendqisi2
20767 add ip, ip, #1
20768 cmp r2, #0
20769 ldrne r3, .L7822+36
20770 mov r2, r2, asl #1
20771 ldrneh r2, [r2, r3]
20772 mov lr, r0, asr #8
20773 strneh r2, [r7, #0] @ movhi
20774 cmp r9, ip
20775 add r7, r7, #2
20776 bgt .L7008
20777 b .L6995
20778.L7823:
20779 .align 2
20780.L7822:
20781 .word io_registers
20782 .word obj_priority_count
20783 .word obj_priority_list
20784 .word oam_ram
20785 .word obj_width_table
20786 .word obj_height_table
20787 .word vram+65536
20788 .word vram+65472
20789 .word vram+65600
20790 .word palette_ram_converted+512
20791.L7798:
20792 ldr lr, [sp, #12]
20793 rsb r1, r5, lr
20794 rsb r4, r1, r8
20795 cmp r4, #0
20796 ble .L6995
20797 ldr r0, [sp, #8]
20798 add r3, r5, r8
20799 cmp r0, r3
20800 bhi .L7551
20801 mov r3, r1, lsr #3
20802 ands r0, r1, #7
20803 sub r7, ip, r3, asl #6
20804 bne .L7553
20805 ldr r6, [sp, #88]
20806 ldr r5, [sp, #64]
20807.L7555:
20808 movs r4, r6, lsr #3
20809 beq .L7613
20810 ldr lr, .L7822+36
20811 mov r1, r5
20812 mov r0, r7
20813 mov ip, #0
20814.L7615:
20815 ldr r2, [r0, #4]
20816 cmp r2, #0
20817 beq .L7616
20818 ands r3, r2, #255
20819 movne r3, r3, asl #1
20820 ldrneh r3, [r3, lr]
20821 strneh r3, [r1, #6] @ movhi
20822 mov r3, r2, lsr #8
20823 ands r3, r3, #255
20824 movne r3, r3, asl #1
20825 ldrneh r3, [r3, lr]
20826 strneh r3, [r1, #4] @ movhi
20827 mov r3, r2, lsr #16
20828 ands r3, r3, #255
20829 movne r3, r3, asl #1
20830 ldrneh r3, [r3, lr]
20831 strneh r3, [r1, #2] @ movhi
20832 movs r3, r2, lsr #24
20833 movne r3, r3, asl #1
20834 ldrneh r3, [r3, lr]
20835 strneh r3, [r1, #0] @ movhi
20836.L7616:
20837 ldr r2, [r0, #0]
20838 cmp r2, #0
20839 beq .L7625
20840 ands r3, r2, #255
20841 movne r3, r3, asl #1
20842 ldrneh r3, [r3, lr]
20843 strneh r3, [r1, #14] @ movhi
20844 mov r3, r2, lsr #8
20845 ands r3, r3, #255
20846 movne r3, r3, asl #1
20847 ldrneh r3, [r3, lr]
20848 strneh r3, [r1, #12] @ movhi
20849 mov r3, r2, lsr #16
20850 ands r3, r3, #255
20851 movne r3, r3, asl #1
20852 ldrneh r3, [r3, lr]
20853 strneh r3, [r1, #10] @ movhi
20854 movs r3, r2, lsr #24
20855 movne r3, r3, asl #1
20856 ldrneh r3, [r3, lr]
20857 strneh r3, [r1, #8] @ movhi
20858.L7625:
20859 add ip, ip, #1
20860 cmp ip, r4
20861 sub r0, r0, #64
20862 add r1, r1, #16
20863 bne .L7615
20864 rsb r3, r4, r4, asl #26
20865 add r7, r7, r3, asl #6
20866 add r5, r5, r4, asl #4
20867.L7613:
20868 ands ip, r6, #7
20869 beq .L6995
20870 cmp ip, #3
20871 ldrls r2, [r7, #4]
20872 bls .L7648
20873 ldr r2, [r7, #4]
20874 cmp r2, #0
20875 beq .L7638
20876 ands r3, r2, #255
20877 ldrne r0, .L7822+36
20878 movne r3, r3, asl #1
20879 ldrneh r3, [r3, r0]
20880 strneh r3, [r5, #6] @ movhi
20881 mov r3, r2, lsr #8
20882 ands r3, r3, #255
20883 ldrne r1, .L7822+36
20884 movne r3, r3, asl #1
20885 ldrneh r3, [r3, r1]
20886 strneh r3, [r5, #4] @ movhi
20887 mov r3, r2, lsr #16
20888 ands r3, r3, #255
20889 ldrne r4, .L7822+36
20890 movne r3, r3, asl #1
20891 ldrneh r3, [r3, r4]
20892 strneh r3, [r5, #2] @ movhi
20893 movs r3, r2, lsr #24
20894 ldrne r6, .L7822+36
20895 movne r3, r3, asl #1
20896 ldrneh r3, [r3, r6]
20897 strneh r3, [r5, #0] @ movhi
20898.L7638:
20899 subs ip, ip, #4
20900 ldr r2, [r7, #0]
20901 addne r5, r5, #8
20902 beq .L6995
20903.L7648:
20904 mov r1, #0
20905.L7649:
20906 movs r3, r2, lsr #24
20907 ldrne r7, .L7822+36
20908 mov r3, r3, asl #1
20909 ldrneh r3, [r3, r7]
20910 mov r0, r1, asl #1
20911 add r1, r1, #1
20912 strneh r3, [r0, r5] @ movhi
20913 cmp ip, r1
20914 mov r2, r2, asl #8
20915 bhi .L7649
20916 b .L6995
20917.L7797:
20918 ldr lr, [sp, #12]
20919 rsb r1, r5, lr
20920 rsb r4, r1, r8
20921 cmp r4, #0
20922 ble .L6995
20923 ldr r0, [sp, #8]
20924 add r3, r5, r8
20925 cmp r0, r3
20926 bhi .L7331
20927 mov r3, r1, lsr #3
20928 ands r0, r1, #7
20929 add r7, ip, r3, asl #6
20930 bne .L7333
20931 ldr r6, [sp, #88]
20932 ldr r5, [sp, #64]
20933.L7335:
20934 movs r4, r6, lsr #3
20935 beq .L7393
20936 ldr lr, .L7822+36
20937 mov r1, r5
20938 mov r0, r7
20939 mov ip, #0
20940.L7395:
20941 ldr r2, [r0, #0]
20942 cmp r2, #0
20943 beq .L7396
20944 ands r3, r2, #255
20945 movne r3, r3, asl #1
20946 ldrneh r3, [r3, lr]
20947 strneh r3, [r1, #0] @ movhi
20948 mov r3, r2, lsr #8
20949 ands r3, r3, #255
20950 movne r3, r3, asl #1
20951 ldrneh r3, [r3, lr]
20952 strneh r3, [r1, #2] @ movhi
20953 mov r3, r2, lsr #16
20954 ands r3, r3, #255
20955 movne r3, r3, asl #1
20956 ldrneh r3, [r3, lr]
20957 strneh r3, [r1, #4] @ movhi
20958 movs r3, r2, lsr #24
20959 movne r3, r3, asl #1
20960 ldrneh r3, [r3, lr]
20961 strneh r3, [r1, #6] @ movhi
20962.L7396:
20963 ldr r2, [r0, #4]
20964 cmp r2, #0
20965 beq .L7405
20966 ands r3, r2, #255
20967 movne r3, r3, asl #1
20968 ldrneh r3, [r3, lr]
20969 strneh r3, [r1, #8] @ movhi
20970 mov r3, r2, lsr #8
20971 ands r3, r3, #255
20972 movne r3, r3, asl #1
20973 ldrneh r3, [r3, lr]
20974 strneh r3, [r1, #10] @ movhi
20975 mov r3, r2, lsr #16
20976 ands r3, r3, #255
20977 movne r3, r3, asl #1
20978 ldrneh r3, [r3, lr]
20979 strneh r3, [r1, #12] @ movhi
20980 movs r3, r2, lsr #24
20981 movne r3, r3, asl #1
20982 ldrneh r3, [r3, lr]
20983 strneh r3, [r1, #14] @ movhi
20984.L7405:
20985 add ip, ip, #1
20986 cmp r4, ip
20987 add r0, r0, #64
20988 add r1, r1, #16
20989 bne .L7395
20990 add r7, r7, r4, asl #6
20991 add r5, r5, r4, asl #4
20992.L7393:
20993 ands ip, r6, #7
20994 beq .L6995
20995 cmp ip, #3
20996 ldrls r1, [r7, #0]
20997 bls .L7428
20998 ldr r2, [r7, #0]
20999 cmp r2, #0
21000 beq .L7418
21001 ands r3, r2, #255
21002 ldrne r0, .L7822+36
21003 movne r3, r3, asl #1
21004 ldrneh r3, [r3, r0]
21005 strneh r3, [r5, #0] @ movhi
21006 mov r3, r2, lsr #8
21007 ands r3, r3, #255
21008 ldrne r1, .L7822+36
21009 movne r3, r3, asl #1
21010 ldrneh r3, [r3, r1]
21011 strneh r3, [r5, #2] @ movhi
21012 mov r3, r2, lsr #16
21013 ands r3, r3, #255
21014 ldrne r4, .L7822+36
21015 movne r3, r3, asl #1
21016 ldrneh r3, [r3, r4]
21017 strneh r3, [r5, #4] @ movhi
21018 movs r3, r2, lsr #24
21019 ldrne r6, .L7822+36
21020 movne r3, r3, asl #1
21021 ldrneh r3, [r3, r6]
21022 strneh r3, [r5, #6] @ movhi
21023.L7418:
21024 subs ip, ip, #4
21025 ldr r1, [r7, #4]
21026 addne r5, r5, #8
21027 beq .L6995
21028.L7428:
21029 mov r2, #0
21030.L7429:
21031 ands r3, r1, #255
21032 ldrne r7, .L7822+36
21033 mov r3, r3, asl #1
21034 ldrneh r3, [r3, r7]
21035 mov r0, r2, asl #1
21036 add r2, r2, #1
21037 strneh r3, [r0, r5] @ movhi
21038 cmp ip, r2
21039 mov r1, r1, lsr #8
21040 bhi .L7429
21041 b .L6995
21042.L7796:
21043 rsb lr, r5, ip
21044 rsb ip, lr, r8
21045 cmp ip, #0
21046 ble .L6995
21047 ldr r2, [sp, #8]
21048 add r3, r5, r8
21049 cmp r2, r3
21050 bhi .L7201
21051 mov r3, lr, lsr #3
21052 ands r4, lr, #7
21053 sub r0, r0, r3, asl #5
21054 bne .L7203
21055 ldr r2, [sp, #88]
21056 ldr sl, [sp, #64]
21057.L7205:
21058 movs r8, r2, lsr #3
21059 beq .L7222
21060 ldr r7, .L7822+36
21061 mov r4, sl
21062 mov r5, r0
21063 mov r6, #0
21064.L7224:
21065 ldr lr, [r5, #0]
21066 cmp lr, #0
21067 beq .L7225
21068 ands r3, lr, #15
21069 orrne r3, r1, r3
21070 movne r3, r3, asl #1
21071 ldrneh r3, [r3, r7]
21072 strneh r3, [r4, #14] @ movhi
21073 mov r3, lr, lsr #4
21074 ands r3, r3, #15
21075 orrne r3, r1, r3
21076 movne r3, r3, asl #1
21077 ldrneh r3, [r3, r7]
21078 strneh r3, [r4, #12] @ movhi
21079 mov r3, lr, lsr #8
21080 ands r3, r3, #15
21081 orrne r3, r1, r3
21082 movne r3, r3, asl #1
21083 ldrneh r3, [r3, r7]
21084 strneh r3, [r4, #10] @ movhi
21085 mov r3, lr, lsr #12
21086 ands r3, r3, #15
21087 orrne r3, r1, r3
21088 movne r3, r3, asl #1
21089 ldrneh r3, [r3, r7]
21090 strneh r3, [r4, #8] @ movhi
21091 mov r3, lr, lsr #16
21092 ands r3, r3, #15
21093 orrne r3, r1, r3
21094 movne r3, r3, asl #1
21095 ldrneh r3, [r3, r7]
21096 strneh r3, [r4, #6] @ movhi
21097 mov r3, lr, lsr #20
21098 ands r3, r3, #15
21099 orrne r3, r1, r3
21100 movne r3, r3, asl #1
21101 ldrneh r3, [r3, r7]
21102 strneh r3, [r4, #4] @ movhi
21103 mov r3, lr, lsr #24
21104 ands r3, r3, #15
21105 orrne r3, r1, r3
21106 movne r3, r3, asl #1
21107 ldrneh r3, [r3, r7]
21108 strneh r3, [r4, #2] @ movhi
21109 movs r3, lr, lsr #28
21110 orrne r3, r1, r3
21111 movne r3, r3, asl #1
21112 ldrneh r3, [r3, r7]
21113 strneh r3, [r4, #0] @ movhi
21114.L7225:
21115 add r6, r6, #1
21116 cmp r6, r8
21117 sub r5, r5, #32
21118 add r4, r4, #16
21119 bne .L7224
21120 rsb r3, r8, r8, asl #27
21121 add r0, r0, r3, asl #5
21122 add sl, sl, r8, asl #4
21123.L7222:
21124 ands lr, r2, #7
21125 beq .L6995
21126 ldr r0, [r0, #0]
21127 ldr r4, .L7822+36
21128 mov ip, #0
21129.L7244:
21130 movs r3, r0, lsr #28
21131 orr r3, r1, r3
21132 mov r3, r3, asl #1
21133 ldrneh r3, [r3, r4]
21134 mov r2, ip, asl #1
21135 add ip, ip, #1
21136 strneh r3, [r2, sl] @ movhi
21137 cmp ip, lr
21138 mov r0, r0, asl #4
21139 bne .L7244
21140 b .L6995
21141.L7795:
21142 ldr r4, [sp, #12]
21143 rsb lr, r5, r4
21144 rsb r4, lr, r8
21145 cmp r4, #0
21146 ble .L6995
21147 add r3, r5, r8
21148 ldr r5, [sp, #8]
21149 cmp r5, r3
21150 bhi .L7071
21151 mov r3, lr, lsr #3
21152 mov r2, r3, asl #5
21153 ands r3, lr, #7
21154 add r6, r0, r2
21155 bne .L7073
21156 ldr r8, [sp, #88]
21157 ldr r7, [sp, #64]
21158.L7075:
21159 movs r5, r8, lsr #3
21160 beq .L7092
21161 ldr r4, .L7822+36
21162 mov ip, r7
21163 mov r0, r6
21164 mov lr, #0
21165.L7094:
21166 ldr r2, [r0, #0]
21167 cmp r2, #0
21168 beq .L7095
21169 ands r3, r2, #15
21170 orrne r3, r1, r3
21171 movne r3, r3, asl #1
21172 ldrneh r3, [r3, r4]
21173 strneh r3, [ip, #0] @ movhi
21174 mov r3, r2, lsr #4
21175 ands r3, r3, #15
21176 orrne r3, r1, r3
21177 movne r3, r3, asl #1
21178 ldrneh r3, [r3, r4]
21179 strneh r3, [ip, #2] @ movhi
21180 mov r3, r2, lsr #8
21181 ands r3, r3, #15
21182 orrne r3, r1, r3
21183 movne r3, r3, asl #1
21184 ldrneh r3, [r3, r4]
21185 strneh r3, [ip, #4] @ movhi
21186 mov r3, r2, lsr #12
21187 ands r3, r3, #15
21188 orrne r3, r1, r3
21189 movne r3, r3, asl #1
21190 ldrneh r3, [r3, r4]
21191 strneh r3, [ip, #6] @ movhi
21192 mov r3, r2, lsr #16
21193 ands r3, r3, #15
21194 orrne r3, r1, r3
21195 movne r3, r3, asl #1
21196 ldrneh r3, [r3, r4]
21197 strneh r3, [ip, #8] @ movhi
21198 mov r3, r2, lsr #20
21199 ands r3, r3, #15
21200 orrne r3, r1, r3
21201 movne r3, r3, asl #1
21202 ldrneh r3, [r3, r4]
21203 strneh r3, [ip, #10] @ movhi
21204 mov r3, r2, lsr #24
21205 ands r3, r3, #15
21206 orrne r3, r1, r3
21207 movne r3, r3, asl #1
21208 ldrneh r3, [r3, r4]
21209 strneh r3, [ip, #12] @ movhi
21210 movs r3, r2, lsr #28
21211 orrne r3, r1, r3
21212 movne r3, r3, asl #1
21213 ldrneh r3, [r3, r4]
21214 strneh r3, [ip, #14] @ movhi
21215.L7095:
21216 add lr, lr, #1
21217 cmp r5, lr
21218 add r0, r0, #32
21219 add ip, ip, #16
21220 bne .L7094
21221 add r6, r6, r5, asl #5
21222 add r7, r7, r5, asl #4
21223.L7092:
21224 ands lr, r8, #7
21225 beq .L6995
21226 ldr r2, [r6, #0]
21227 ldr r4, .L7822+36
21228 mov r0, #0
21229.L7114:
21230 ands r3, r2, #15
21231 orr r3, r1, r3
21232 mov r3, r3, asl #1
21233 ldrneh r3, [r3, r4]
21234 mov ip, r0, asl #1
21235 add r0, r0, #1
21236 strneh r3, [ip, r7] @ movhi
21237 cmp r0, lr
21238 mov r2, r2, lsr #4
21239 bne .L7114
21240 b .L6995
21241.L7820:
21242 mov r6, #0
21243.L7017:
21244 cmp lr, sl
21245 movcc r3, #0
21246 movcs r3, #1
21247 cmp r8, ip
21248 orrls r3, r3, #1
21249 cmp r3, #0
21250 beq .L7783
21251 b .L6995
21252.L7018:
21253 cmp lr, sl
21254 cmpcc ip, r8
21255 bcs .L6995
21256.L7783:
21257 and r3, lr, #7
21258 mov r2, ip, asr #3
21259 mov r3, r3, asl #3
21260 mov r1, lr, asr #3
21261 add r3, r3, r2, asl #6
21262 ldr r0, [sp, #44]
21263 add r3, r3, r1, asl #10
21264 ldr r1, [sp, #80]
21265 add r5, r5, r0
21266 add r3, r3, r1
21267 and r0, ip, #7
21268 ldrb r2, [r3, r0] @ zero_extendqisi2
21269 add r6, r6, #1
21270 cmp r2, #0
21271 ldrne r3, .L7822+36
21272 mov r2, r2, asl #1
21273 ldrneh r2, [r2, r3]
21274 add r4, r4, fp
21275 strneh r2, [r7, #0] @ movhi
21276 cmp r9, r6
21277 mov lr, r4, asr #8
21278 mov ip, r5, asr #8
21279 add r7, r7, #2
21280 bgt .L7018
21281 b .L6995
21282.L7279:
21283 cmp r8, #0
21284 add r3, r8, #7
21285 movge r3, r8
21286 movs r6, r3, asr #3
21287 beq .L6995
21288 ldr r7, [sp, #4]
21289 ldr r4, .L7822+36
21290 add r2, r7, r5, asl #1
21291 mov ip, #0
21292 b .L7309
21293.L7804:
21294 sub r0, r0, #32
21295 add r2, r2, #16
21296.L7309:
21297 ldr lr, [r0, #0]
21298 cmp lr, #0
21299 beq .L7310
21300 ands r3, lr, #15
21301 orrne r3, r1, r3
21302 movne r3, r3, asl #1
21303 ldrneh r3, [r3, r4]
21304 strneh r3, [r2, #14] @ movhi
21305 mov r3, lr, lsr #4
21306 ands r3, r3, #15
21307 orrne r3, r1, r3
21308 movne r3, r3, asl #1
21309 ldrneh r3, [r3, r4]
21310 strneh r3, [r2, #12] @ movhi
21311 mov r3, lr, lsr #8
21312 ands r3, r3, #15
21313 orrne r3, r1, r3
21314 movne r3, r3, asl #1
21315 ldrneh r3, [r3, r4]
21316 strneh r3, [r2, #10] @ movhi
21317 mov r3, lr, lsr #12
21318 ands r3, r3, #15
21319 orrne r3, r1, r3
21320 movne r3, r3, asl #1
21321 ldrneh r3, [r3, r4]
21322 strneh r3, [r2, #8] @ movhi
21323 mov r3, lr, lsr #16
21324 ands r3, r3, #15
21325 orrne r3, r1, r3
21326 movne r3, r3, asl #1
21327 ldrneh r3, [r3, r4]
21328 strneh r3, [r2, #6] @ movhi
21329 mov r3, lr, lsr #20
21330 ands r3, r3, #15
21331 orrne r3, r1, r3
21332 movne r3, r3, asl #1
21333 ldrneh r3, [r3, r4]
21334 strneh r3, [r2, #4] @ movhi
21335 mov r3, lr, lsr #24
21336 ands r3, r3, #15
21337 orrne r3, r1, r3
21338 movne r3, r3, asl #1
21339 ldrneh r3, [r3, r4]
21340 strneh r3, [r2, #2] @ movhi
21341 movs r3, lr, lsr #28
21342 orrne r3, r1, r3
21343 movne r3, r3, asl #1
21344 ldrneh r3, [r3, r4]
21345 strneh r3, [r2, #0] @ movhi
21346.L7310:
21347 add ip, ip, #1
21348 cmp r6, ip
21349 bne .L7804
21350 b .L6995
21351.L7704:
21352 cmp r8, #0
21353 add r3, r8, #7
21354 movge r3, r8
21355 movs r6, r3, asr #3
21356 beq .L6995
21357 ldr r3, .L7822+28
21358 ldr lr, [sp, #4]
21359 ldr r4, .L7822+36
21360 add r0, r0, r3
21361 add r2, lr, r5, asl #1
21362 mov r1, #0
21363 b .L7748
21364.L7805:
21365 sub ip, ip, #64
21366 add r2, r2, #16
21367.L7748:
21368 ldr lr, [r0, #68]
21369 cmp lr, #0
21370 beq .L7749
21371 ands r3, lr, #255
21372 movne r3, r3, asl #1
21373 ldrneh r3, [r3, r4]
21374 strneh r3, [r2, #6] @ movhi
21375 mov r3, lr, lsr #8
21376 ands r3, r3, #255
21377 movne r3, r3, asl #1
21378 ldrneh r3, [r3, r4]
21379 strneh r3, [r2, #4] @ movhi
21380 mov r3, lr, lsr #16
21381 ands r3, r3, #255
21382 movne r3, r3, asl #1
21383 ldrneh r3, [r3, r4]
21384 strneh r3, [r2, #2] @ movhi
21385 movs r3, lr, lsr #24
21386 movne r3, r3, asl #1
21387 ldrneh r3, [r3, r4]
21388 strneh r3, [r2, #0] @ movhi
21389.L7749:
21390 ldr lr, [ip, #0]
21391 cmp lr, #0
21392 beq .L7758
21393 ands r3, lr, #255
21394 movne r3, r3, asl #1
21395 ldrneh r3, [r3, r4]
21396 strneh r3, [r2, #14] @ movhi
21397 mov r3, lr, lsr #8
21398 ands r3, r3, #255
21399 movne r3, r3, asl #1
21400 ldrneh r3, [r3, r4]
21401 strneh r3, [r2, #12] @ movhi
21402 mov r3, lr, lsr #16
21403 ands r3, r3, #255
21404 movne r3, r3, asl #1
21405 ldrneh r3, [r3, r4]
21406 strneh r3, [r2, #10] @ movhi
21407 movs r3, lr, lsr #24
21408 movne r3, r3, asl #1
21409 ldrneh r3, [r3, r4]
21410 strneh r3, [r2, #8] @ movhi
21411.L7758:
21412 add r1, r1, #1
21413 cmp r6, r1
21414 sub r0, r0, #64
21415 bne .L7805
21416 b .L6995
21417.L7149:
21418 cmp r8, #0
21419 add r3, r8, #7
21420 movge r3, r8
21421 movs r6, r3, asr #3
21422 beq .L6995
21423 ldr r7, [sp, #4]
21424 ldr r4, .L7822+36
21425 add r2, r7, r5, asl #1
21426 mov ip, #0
21427 b .L7179
21428.L7806:
21429 add r0, r0, #32
21430 add r2, r2, #16
21431.L7179:
21432 ldr lr, [r0, #0]
21433 cmp lr, #0
21434 beq .L7180
21435 ands r3, lr, #15
21436 orrne r3, r1, r3
21437 movne r3, r3, asl #1
21438 ldrneh r3, [r3, r4]
21439 strneh r3, [r2, #0] @ movhi
21440 mov r3, lr, lsr #4
21441 ands r3, r3, #15
21442 orrne r3, r1, r3
21443 movne r3, r3, asl #1
21444 ldrneh r3, [r3, r4]
21445 strneh r3, [r2, #2] @ movhi
21446 mov r3, lr, lsr #8
21447 ands r3, r3, #15
21448 orrne r3, r1, r3
21449 movne r3, r3, asl #1
21450 ldrneh r3, [r3, r4]
21451 strneh r3, [r2, #4] @ movhi
21452 mov r3, lr, lsr #12
21453 ands r3, r3, #15
21454 orrne r3, r1, r3
21455 movne r3, r3, asl #1
21456 ldrneh r3, [r3, r4]
21457 strneh r3, [r2, #6] @ movhi
21458 mov r3, lr, lsr #16
21459 ands r3, r3, #15
21460 orrne r3, r1, r3
21461 movne r3, r3, asl #1
21462 ldrneh r3, [r3, r4]
21463 strneh r3, [r2, #8] @ movhi
21464 mov r3, lr, lsr #20
21465 ands r3, r3, #15
21466 orrne r3, r1, r3
21467 movne r3, r3, asl #1
21468 ldrneh r3, [r3, r4]
21469 strneh r3, [r2, #10] @ movhi
21470 mov r3, lr, lsr #24
21471 ands r3, r3, #15
21472 orrne r3, r1, r3
21473 movne r3, r3, asl #1
21474 ldrneh r3, [r3, r4]
21475 strneh r3, [r2, #12] @ movhi
21476 movs r3, lr, lsr #28
21477 orrne r3, r1, r3
21478 movne r3, r3, asl #1
21479 ldrneh r3, [r3, r4]
21480 strneh r3, [r2, #14] @ movhi
21481.L7180:
21482 add ip, ip, #1
21483 cmp r6, ip
21484 bne .L7806
21485 b .L6995
21486.L7484:
21487 cmp r8, #0
21488 add r3, r8, #7
21489 movge r3, r8
21490 movs r6, r3, asr #3
21491 beq .L6995
21492 ldr r3, .L7822+32
21493 ldr r7, [sp, #4]
21494 ldr r4, .L7822+36
21495 add r0, r0, r3
21496 add r2, r7, r5, asl #1
21497 mov r1, #0
21498 b .L7528
21499.L7807:
21500 add ip, ip, #64
21501 add r2, r2, #16
21502.L7528:
21503 ldr lr, [ip, #0]
21504 cmp lr, #0
21505 beq .L7529
21506 ands r3, lr, #255
21507 movne r3, r3, asl #1
21508 ldrneh r3, [r3, r4]
21509 strneh r3, [r2, #0] @ movhi
21510 mov r3, lr, lsr #8
21511 ands r3, r3, #255
21512 movne r3, r3, asl #1
21513 ldrneh r3, [r3, r4]
21514 strneh r3, [r2, #2] @ movhi
21515 mov r3, lr, lsr #16
21516 ands r3, r3, #255
21517 movne r3, r3, asl #1
21518 ldrneh r3, [r3, r4]
21519 strneh r3, [r2, #4] @ movhi
21520 movs r3, lr, lsr #24
21521 movne r3, r3, asl #1
21522 ldrneh r3, [r3, r4]
21523 strneh r3, [r2, #6] @ movhi
21524.L7529:
21525 ldr lr, [r0, #-60]
21526 cmp lr, #0
21527 beq .L7538
21528 ands r3, lr, #255
21529 movne r3, r3, asl #1
21530 ldrneh r3, [r3, r4]
21531 strneh r3, [r2, #8] @ movhi
21532 mov r3, lr, lsr #8
21533 ands r3, r3, #255
21534 movne r3, r3, asl #1
21535 ldrneh r3, [r3, r4]
21536 strneh r3, [r2, #10] @ movhi
21537 mov r3, lr, lsr #16
21538 ands r3, r3, #255
21539 movne r3, r3, asl #1
21540 ldrneh r3, [r3, r4]
21541 strneh r3, [r2, #12] @ movhi
21542 movs r3, lr, lsr #24
21543 movne r3, r3, asl #1
21544 ldrneh r3, [r3, r4]
21545 strneh r3, [r2, #14] @ movhi
21546.L7538:
21547 add r1, r1, #1
21548 cmp r6, r1
21549 add r0, r0, #64
21550 bne .L7807
21551 b .L6995
21552.L7331:
21553 mov r3, r1, lsr #3
21554 ands r2, r1, #7
21555 add r0, ip, r3, asl #6
21556 ldreq r1, [sp, #64]
21557 beq .L7435
21558 cmp r2, #3
21559 rsb lr, r2, #8
21560 bhi .L7808
21561 subs r5, lr, #4
21562 ldr r1, [r0, #0]
21563 ldreq r1, [sp, #64]
21564 beq .L7448
21565 mov r3, r2, asl #3
21566 mov r2, r1, lsr r3
21567 ldr r6, .L7822+36
21568 mov ip, #0
21569.L7449:
21570 ands r3, r2, #255
21571 mov r3, r3, asl #1
21572 ldrneh r3, [r3, r6]
21573 ldrne r7, [sp, #64]
21574 mov r1, ip, asl #1
21575 add ip, ip, #1
21576 strneh r3, [r1, r7] @ movhi
21577 cmp ip, r5
21578 mov r2, r2, lsr #8
21579 bne .L7449
21580 ldr ip, [sp, #64]
21581 add r3, ip, lr, asl #1
21582 sub r1, r3, #8
21583.L7448:
21584 ldr r2, [r0, #4]
21585 cmp r2, #0
21586 beq .L7454
21587 ands r3, r2, #255
21588 ldrne lr, .L7822+36
21589 movne r3, r3, asl #1
21590 ldrneh r3, [r3, lr]
21591 strneh r3, [r1, #0] @ movhi
21592 mov r3, r2, lsr #8
21593 ands r3, r3, #255
21594 ldrne r5, .L7822+36
21595 movne r3, r3, asl #1
21596 ldrneh r3, [r3, r5]
21597 strneh r3, [r1, #2] @ movhi
21598 mov r3, r2, lsr #16
21599 ands r3, r3, #255
21600 ldrne r6, .L7822+36
21601 movne r3, r3, asl #1
21602 ldrneh r3, [r3, r6]
21603 strneh r3, [r1, #4] @ movhi
21604 movs r3, r2, lsr #24
21605 ldrne r7, .L7822+36
21606 movne r3, r3, asl #1
21607 ldrneh r3, [r3, r7]
21608 strneh r3, [r1, #6] @ movhi
21609.L7454:
21610 add r1, r1, #8
21611.L7440:
21612 add r0, r0, #64
21613.L7435:
21614 movs r4, r4, lsr #3
21615 beq .L6995
21616 ldr ip, .L7822+36
21617 mov lr, #0
21618 b .L7464
21619.L7809:
21620 add r0, r0, #64
21621 add r1, r1, #16
21622.L7464:
21623 ldr r2, [r0, #0]
21624 cmp r2, #0
21625 beq .L7465
21626 ands r3, r2, #255
21627 movne r3, r3, asl #1
21628 ldrneh r3, [r3, ip]
21629 strneh r3, [r1, #0] @ movhi
21630 mov r3, r2, lsr #8
21631 ands r3, r3, #255
21632 movne r3, r3, asl #1
21633 ldrneh r3, [r3, ip]
21634 strneh r3, [r1, #2] @ movhi
21635 mov r3, r2, lsr #16
21636 ands r3, r3, #255
21637 movne r3, r3, asl #1
21638 ldrneh r3, [r3, ip]
21639 strneh r3, [r1, #4] @ movhi
21640 movs r3, r2, lsr #24
21641 movne r3, r3, asl #1
21642 ldrneh r3, [r3, ip]
21643 strneh r3, [r1, #6] @ movhi
21644.L7465:
21645 ldr r2, [r0, #4]
21646 cmp r2, #0
21647 beq .L7474
21648 ands r3, r2, #255
21649 movne r3, r3, asl #1
21650 ldrneh r3, [r3, ip]
21651 strneh r3, [r1, #8] @ movhi
21652 mov r3, r2, lsr #8
21653 ands r3, r3, #255
21654 movne r3, r3, asl #1
21655 ldrneh r3, [r3, ip]
21656 strneh r3, [r1, #10] @ movhi
21657 mov r3, r2, lsr #16
21658 ands r3, r3, #255
21659 movne r3, r3, asl #1
21660 ldrneh r3, [r3, ip]
21661 strneh r3, [r1, #12] @ movhi
21662 movs r3, r2, lsr #24
21663 movne r3, r3, asl #1
21664 ldrneh r3, [r3, ip]
21665 strneh r3, [r1, #14] @ movhi
21666.L7474:
21667 add lr, lr, #1
21668 cmp r4, lr
21669 bne .L7809
21670 b .L6995
21671.L7201:
21672 ands r2, lr, #7
21673 mov r3, lr, lsr #3
21674 sub r0, r0, r3, asl #5
21675 ldreq r4, [sp, #64]
21676 beq .L7250
21677 rsbs r6, r2, #8
21678 ldr lr, [r0, #0]
21679 ldreq r4, [sp, #64]
21680 beq .L7253
21681 mov r3, r2, asl #2
21682 mov lr, lr, asl r3
21683 ldr r2, .L7822+36
21684 mov r5, #0
21685.L7254:
21686 movs r3, lr, lsr #28
21687 orr r3, r1, r3
21688 mov r3, r3, asl #1
21689 ldrneh r3, [r3, r2]
21690 ldrne r7, [sp, #64]
21691 mov r4, r5, asl #1
21692 add r5, r5, #1
21693 strneh r3, [r4, r7] @ movhi
21694 cmp r6, r5
21695 mov lr, lr, asl #4
21696 bne .L7254
21697 ldr lr, [sp, #64]
21698 add r4, lr, r6, asl #1
21699.L7253:
21700 sub r0, r0, #32
21701.L7250:
21702 movs r5, ip, lsr #3
21703 beq .L6995
21704 ldr r2, .L7822+36
21705 mov ip, #0
21706 b .L7260
21707.L7810:
21708 sub r0, r0, #32
21709 add r4, r4, #16
21710.L7260:
21711 ldr lr, [r0, #0]
21712 cmp lr, #0
21713 beq .L7261
21714 ands r3, lr, #15
21715 orrne r3, r1, r3
21716 movne r3, r3, asl #1
21717 ldrneh r3, [r3, r2]
21718 strneh r3, [r4, #14] @ movhi
21719 mov r3, lr, lsr #4
21720 ands r3, r3, #15
21721 orrne r3, r1, r3
21722 movne r3, r3, asl #1
21723 ldrneh r3, [r3, r2]
21724 strneh r3, [r4, #12] @ movhi
21725 mov r3, lr, lsr #8
21726 ands r3, r3, #15
21727 orrne r3, r1, r3
21728 movne r3, r3, asl #1
21729 ldrneh r3, [r3, r2]
21730 strneh r3, [r4, #10] @ movhi
21731 mov r3, lr, lsr #12
21732 ands r3, r3, #15
21733 orrne r3, r1, r3
21734 movne r3, r3, asl #1
21735 ldrneh r3, [r3, r2]
21736 strneh r3, [r4, #8] @ movhi
21737 mov r3, lr, lsr #16
21738 ands r3, r3, #15
21739 orrne r3, r1, r3
21740 movne r3, r3, asl #1
21741 ldrneh r3, [r3, r2]
21742 strneh r3, [r4, #6] @ movhi
21743 mov r3, lr, lsr #20
21744 ands r3, r3, #15
21745 orrne r3, r1, r3
21746 movne r3, r3, asl #1
21747 ldrneh r3, [r3, r2]
21748 strneh r3, [r4, #4] @ movhi
21749 mov r3, lr, lsr #24
21750 ands r3, r3, #15
21751 orrne r3, r1, r3
21752 movne r3, r3, asl #1
21753 ldrneh r3, [r3, r2]
21754 strneh r3, [r4, #2] @ movhi
21755 movs r3, lr, lsr #28
21756 orrne r3, r1, r3
21757 movne r3, r3, asl #1
21758 ldrneh r3, [r3, r2]
21759 strneh r3, [r4, #0] @ movhi
21760.L7261:
21761 add ip, ip, #1
21762 cmp ip, r5
21763 bne .L7810
21764 b .L6995
21765.L7551:
21766 ands r0, r1, #7
21767 mov r3, r1, lsr #3
21768 sub r2, ip, r3, asl #6
21769 ldreq r0, [sp, #64]
21770 beq .L7655
21771 cmp r0, #3
21772 rsb lr, r0, #8
21773 bhi .L7811
21774 subs r5, lr, #4
21775 ldr r1, [r2, #4]
21776 ldreq r0, [sp, #64]
21777 beq .L7668
21778 mov r3, r0, asl #3
21779 sub r3, r3, #32
21780 mov r1, r1, asl r3
21781 ldr r6, .L7822+36
21782 mov ip, #0
21783.L7669:
21784 movs r3, r1, lsr #24
21785 mov r3, r3, asl #1
21786 ldrneh r3, [r3, r6]
21787 ldrne r7, [sp, #64]
21788 mov r0, ip, asl #1
21789 add ip, ip, #1
21790 strneh r3, [r0, r7] @ movhi
21791 cmp r5, ip
21792 mov r1, r1, asl #8
21793 bne .L7669
21794 ldr ip, [sp, #64]
21795 add r3, ip, lr, asl #1
21796 sub r0, r3, #8
21797.L7668:
21798 ldr r1, [r2, #0]
21799 cmp r1, #0
21800 beq .L7674
21801 ands r3, r1, #255
21802 ldrne lr, .L7822+36
21803 movne r3, r3, asl #1
21804 ldrneh r3, [r3, lr]
21805 strneh r3, [r0, #6] @ movhi
21806 mov r3, r1, lsr #8
21807 ands r3, r3, #255
21808 ldrne r5, .L7822+36
21809 movne r3, r3, asl #1
21810 ldrneh r3, [r3, r5]
21811 strneh r3, [r0, #4] @ movhi
21812 mov r3, r1, lsr #16
21813 ands r3, r3, #255
21814 ldrne r6, .L7822+36
21815 movne r3, r3, asl #1
21816 ldrneh r3, [r3, r6]
21817 strneh r3, [r0, #2] @ movhi
21818 movs r3, r1, lsr #24
21819 ldrne r7, .L7822+36
21820 movne r3, r3, asl #1
21821 ldrneh r3, [r3, r7]
21822 strneh r3, [r0, #0] @ movhi
21823.L7674:
21824 add r0, r0, #8
21825.L7660:
21826 sub r2, r2, #64
21827.L7655:
21828 movs r4, r4, lsr #3
21829 beq .L6995
21830 ldr ip, .L7822+36
21831 mov lr, #0
21832 b .L7684
21833.L7812:
21834 sub r2, r2, #64
21835 add r0, r0, #16
21836.L7684:
21837 ldr r1, [r2, #4]
21838 cmp r1, #0
21839 beq .L7685
21840 ands r3, r1, #255
21841 movne r3, r3, asl #1
21842 ldrneh r3, [r3, ip]
21843 strneh r3, [r0, #6] @ movhi
21844 mov r3, r1, lsr #8
21845 ands r3, r3, #255
21846 movne r3, r3, asl #1
21847 ldrneh r3, [r3, ip]
21848 strneh r3, [r0, #4] @ movhi
21849 mov r3, r1, lsr #16
21850 ands r3, r3, #255
21851 movne r3, r3, asl #1
21852 ldrneh r3, [r3, ip]
21853 strneh r3, [r0, #2] @ movhi
21854 movs r3, r1, lsr #24
21855 movne r3, r3, asl #1
21856 ldrneh r3, [r3, ip]
21857 strneh r3, [r0, #0] @ movhi
21858.L7685:
21859 ldr r1, [r2, #0]
21860 cmp r1, #0
21861 beq .L7694
21862 ands r3, r1, #255
21863 movne r3, r3, asl #1
21864 ldrneh r3, [r3, ip]
21865 strneh r3, [r0, #14] @ movhi
21866 mov r3, r1, lsr #8
21867 ands r3, r3, #255
21868 movne r3, r3, asl #1
21869 ldrneh r3, [r3, ip]
21870 strneh r3, [r0, #12] @ movhi
21871 mov r3, r1, lsr #16
21872 ands r3, r3, #255
21873 movne r3, r3, asl #1
21874 ldrneh r3, [r3, ip]
21875 strneh r3, [r0, #10] @ movhi
21876 movs r3, r1, lsr #24
21877 movne r3, r3, asl #1
21878 ldrneh r3, [r3, ip]
21879 strneh r3, [r0, #8] @ movhi
21880.L7694:
21881 add lr, lr, #1
21882 cmp lr, r4
21883 bne .L7812
21884 b .L6995
21885.L7071:
21886 mov r3, lr, lsr #3
21887 mov r2, r3, asl #5
21888 ands r3, lr, #7
21889 ldreq ip, [sp, #64]
21890 add lr, r0, r2
21891 beq .L7120
21892 rsbs r5, r3, #8
21893 ldr r0, [r0, r2]
21894 ldreq ip, [sp, #64]
21895 beq .L7123
21896 mov r3, r3, asl #2
21897 mov r0, r0, lsr r3
21898 ldr r6, .L7824
21899 mov ip, #0
21900.L7124:
21901 ands r3, r0, #15
21902 orr r3, r1, r3
21903 mov r3, r3, asl #1
21904 ldrneh r3, [r3, r6]
21905 ldrne r7, [sp, #64]
21906 mov r2, ip, asl #1
21907 add ip, ip, #1
21908 strneh r3, [r2, r7] @ movhi
21909 cmp ip, r5
21910 mov r0, r0, lsr #4
21911 bne .L7124
21912 ldr r0, [sp, #64]
21913 add ip, r0, r5, asl #1
21914.L7123:
21915 add lr, lr, #32
21916.L7120:
21917 movs r5, r4, lsr #3
21918 beq .L6995
21919 ldr r0, .L7824
21920 mov r4, #0
21921 b .L7130
21922.L7813:
21923 add lr, lr, #32
21924 add ip, ip, #16
21925.L7130:
21926 ldr r2, [lr, #0]
21927 cmp r2, #0
21928 beq .L7131
21929 ands r3, r2, #15
21930 orrne r3, r1, r3
21931 movne r3, r3, asl #1
21932 ldrneh r3, [r3, r0]
21933 strneh r3, [ip, #0] @ movhi
21934 mov r3, r2, lsr #4
21935 ands r3, r3, #15
21936 orrne r3, r1, r3
21937 movne r3, r3, asl #1
21938 ldrneh r3, [r3, r0]
21939 strneh r3, [ip, #2] @ movhi
21940 mov r3, r2, lsr #8
21941 ands r3, r3, #15
21942 orrne r3, r1, r3
21943 movne r3, r3, asl #1
21944 ldrneh r3, [r3, r0]
21945 strneh r3, [ip, #4] @ movhi
21946 mov r3, r2, lsr #12
21947 ands r3, r3, #15
21948 orrne r3, r1, r3
21949 movne r3, r3, asl #1
21950 ldrneh r3, [r3, r0]
21951 strneh r3, [ip, #6] @ movhi
21952 mov r3, r2, lsr #16
21953 ands r3, r3, #15
21954 orrne r3, r1, r3
21955 movne r3, r3, asl #1
21956 ldrneh r3, [r3, r0]
21957 strneh r3, [ip, #8] @ movhi
21958 mov r3, r2, lsr #20
21959 ands r3, r3, #15
21960 orrne r3, r1, r3
21961 movne r3, r3, asl #1
21962 ldrneh r3, [r3, r0]
21963 strneh r3, [ip, #10] @ movhi
21964 mov r3, r2, lsr #24
21965 ands r3, r3, #15
21966 orrne r3, r1, r3
21967 movne r3, r3, asl #1
21968 ldrneh r3, [r3, r0]
21969 strneh r3, [ip, #12] @ movhi
21970 movs r3, r2, lsr #28
21971 orrne r3, r1, r3
21972 movne r3, r3, asl #1
21973 ldrneh r3, [r3, r0]
21974 strneh r3, [ip, #14] @ movhi
21975.L7131:
21976 add r4, r4, #1
21977 cmp r4, r5
21978 bne .L7813
21979 b .L6995
21980.L7333:
21981 ldr r1, [sp, #88]
21982 rsb ip, r0, #8
21983 cmp r1, ip
21984 blt .L7814
21985 cmp r0, #3
21986 bls .L7366
21987 cmp ip, #0
21988 ldr r2, [r7, #4]
21989 ldreq r5, [sp, #64]
21990 beq .L7370
21991 mov r3, r0, asl #3
21992 sub r3, r3, #32
21993 mov r1, r2, lsr r3
21994 ldr lr, .L7824
21995 mov r0, #0
21996.L7371:
21997 ands r3, r1, #255
21998 mov r3, r3, asl #1
21999 ldrneh r3, [r3, lr]
22000 ldrne r4, [sp, #64]
22001 mov r2, r0, asl #1
22002 add r0, r0, #1
22003 strneh r3, [r2, r4] @ movhi
22004 cmp ip, r0
22005 mov r1, r1, lsr #8
22006 bne .L7371
22007 ldr r6, [sp, #64]
22008 add r5, r6, ip, asl #1
22009.L7370:
22010 ldr lr, [sp, #88]
22011 add r7, r7, #64
22012 rsb r6, ip, lr
22013 b .L7335
22014.L7203:
22015 ldr r3, [sp, #88]
22016 rsb r6, r4, #8
22017 cmp r3, r6
22018 blt .L7815
22019 cmp r6, #0
22020 ldr r2, [r0, #0]
22021 ldreq sl, [sp, #64]
22022 beq .L7216
22023 mov r3, r4, asl #2
22024 mov lr, r2, asl r3
22025 ldr r2, .L7824
22026 mov r5, #0
22027.L7217:
22028 movs r3, lr, lsr #28
22029 orr r3, r1, r3
22030 mov r3, r3, asl #1
22031 ldrneh r3, [r3, r2]
22032 ldrne r7, [sp, #64]
22033 mov r4, r5, asl #1
22034 add r5, r5, #1
22035 strneh r3, [r4, r7] @ movhi
22036 cmp r6, r5
22037 mov lr, lr, asl #4
22038 bne .L7217
22039 ldr ip, [sp, #64]
22040 add sl, ip, r6, asl #1
22041.L7216:
22042 ldr lr, [sp, #88]
22043 sub r0, r0, #32
22044 rsb r2, r6, lr
22045 b .L7205
22046.L7073:
22047 ldr r7, [sp, #88]
22048 rsb lr, r3, #8
22049 cmp r7, lr
22050 blt .L7816
22051 cmp lr, #0
22052 ldr r2, [r6, #0]
22053 ldreq r7, [sp, #64]
22054 beq .L7086
22055 mov r3, r3, asl #2
22056 mov r2, r2, lsr r3
22057 ldr r4, .L7824
22058 mov ip, #0
22059.L7087:
22060 ands r3, r2, #15
22061 orr r3, r1, r3
22062 mov r3, r3, asl #1
22063 ldrneh r3, [r3, r4]
22064 ldrne r7, [sp, #64]
22065 mov r0, ip, asl #1
22066 add ip, ip, #1
22067 strneh r3, [r0, r7] @ movhi
22068 cmp lr, ip
22069 mov r2, r2, lsr #4
22070 bne .L7087
22071 ldr ip, [sp, #64]
22072 add r7, ip, lr, asl #1
22073.L7086:
22074 ldr r0, [sp, #88]
22075 add r6, r6, #32
22076 rsb r8, lr, r0
22077 b .L7075
22078.L7553:
22079 ldr r1, [sp, #88]
22080 rsb ip, r0, #8
22081 cmp r1, ip
22082 blt .L7817
22083 cmp r0, #3
22084 bls .L7586
22085 cmp ip, #0
22086 ldr r2, [r7, #0]
22087 ldreq r5, [sp, #64]
22088 beq .L7590
22089 mov r3, r0, asl #3
22090 sub r3, r3, #32
22091 mov r2, r2, asl r3
22092 ldr lr, .L7824
22093 mov r0, #0
22094.L7591:
22095 movs r3, r2, lsr #24
22096 mov r3, r3, asl #1
22097 ldrneh r3, [r3, lr]
22098 ldrne r4, [sp, #64]
22099 mov r1, r0, asl #1
22100 add r0, r0, #1
22101 strneh r3, [r1, r4] @ movhi
22102 cmp ip, r0
22103 mov r2, r2, asl #8
22104 bne .L7591
22105 ldr r6, [sp, #64]
22106 add r5, r6, ip, asl #1
22107.L7590:
22108 ldr lr, [sp, #88]
22109 sub r7, r7, #64
22110 rsb r6, ip, lr
22111 b .L7555
22112.L7817:
22113 cmp r1, #0
22114 ble .L6995
22115 cmp r0, #3
22116 bls .L7559
22117 mov r3, r0, asl #3
22118 ldr r2, [r7, #0]
22119 sub r3, r3, #32
22120 mov r2, r2, asl r3
22121 ldr ip, .L7824
22122 mov r0, #0
22123.L7562:
22124 movs r3, r2, lsr #24
22125 mov r3, r3, asl #1
22126 ldrneh r3, [r3, ip]
22127 ldrne r4, [sp, #64]
22128 ldr r5, [sp, #88]
22129 mov r1, r0, asl #1
22130 add r0, r0, #1
22131 strneh r3, [r1, r4] @ movhi
22132 cmp r5, r0
22133 mov r2, r2, asl #8
22134 bne .L7562
22135 b .L6995
22136.L7816:
22137 cmp r7, #0
22138 ble .L6995
22139 ldr r2, [r0, r2]
22140 mov r3, r3, asl #2
22141 mov r0, r2, lsr r3
22142 ldr lr, .L7824
22143 mov ip, #0
22144.L7080:
22145 ands r3, r0, #15
22146 orr r3, r1, r3
22147 mov r3, r3, asl #1
22148 ldrneh r3, [r3, lr]
22149 ldrne r4, [sp, #64]
22150 ldr r5, [sp, #88]
22151 mov r2, ip, asl #1
22152 add ip, ip, #1
22153 strneh r3, [r2, r4] @ movhi
22154 cmp r5, ip
22155 mov r0, r0, lsr #4
22156 bne .L7080
22157 b .L6995
22158.L7815:
22159 cmp r3, #0
22160 ble .L6995
22161 ldr r2, [r0, #0]
22162 mov r3, r4, asl #2
22163 mov r0, r2, asl r3
22164 ldr lr, .L7824
22165 mov ip, #0
22166.L7210:
22167 movs r3, r0, lsr #28
22168 orr r3, r1, r3
22169 mov r3, r3, asl #1
22170 ldrneh r3, [r3, lr]
22171 ldrne r4, [sp, #64]
22172 ldr r5, [sp, #88]
22173 mov r2, ip, asl #1
22174 add ip, ip, #1
22175 strneh r3, [r2, r4] @ movhi
22176 cmp r5, ip
22177 mov r0, r0, asl #4
22178 bne .L7210
22179 b .L6995
22180.L7811:
22181 cmp lr, #0
22182 ldr r1, [r2, #0]
22183 ldreq r0, [sp, #64]
22184 beq .L7660
22185 mov r3, r0, asl #3
22186 sub r3, r3, #32
22187 mov r1, r1, asl r3
22188 ldr r5, .L7824
22189 mov ip, #0
22190.L7661:
22191 movs r3, r1, lsr #24
22192 mov r3, r3, asl #1
22193 ldrneh r3, [r3, r5]
22194 ldrne r6, [sp, #64]
22195 mov r0, ip, asl #1
22196 add ip, ip, #1
22197 strneh r3, [r0, r6] @ movhi
22198 cmp ip, lr
22199 mov r1, r1, asl #8
22200 bne .L7661
22201 ldr r7, [sp, #64]
22202 sub r2, r2, #64
22203 add r0, r7, lr, asl #1
22204 b .L7655
22205.L7808:
22206 cmp lr, #0
22207 ldr r1, [r0, #4]
22208 ldreq r1, [sp, #64]
22209 beq .L7440
22210 mov r3, r2, asl #3
22211 sub r3, r3, #32
22212 mov r2, r1, lsr r3
22213 ldr r5, .L7824
22214 mov ip, #0
22215.L7441:
22216 ands r3, r2, #255
22217 mov r3, r3, asl #1
22218 ldrneh r3, [r3, r5]
22219 ldrne r6, [sp, #64]
22220 mov r1, ip, asl #1
22221 add ip, ip, #1
22222 strneh r3, [r1, r6] @ movhi
22223 cmp ip, lr
22224 mov r2, r2, lsr #8
22225 bne .L7441
22226 ldr r7, [sp, #64]
22227 add r0, r0, #64
22228 add r1, r7, lr, asl #1
22229 b .L7435
22230.L7814:
22231 cmp r1, #0
22232 ble .L6995
22233 cmp r0, #3
22234 bls .L7339
22235 mov r3, r0, asl #3
22236 ldr r2, [r7, #4]
22237 sub r3, r3, #32
22238 mov r1, r2, lsr r3
22239 ldr ip, .L7824
22240 mov r0, #0
22241.L7342:
22242 ands r3, r1, #255
22243 mov r3, r3, asl #1
22244 ldrneh r3, [r3, ip]
22245 ldrne r4, [sp, #64]
22246 ldr r5, [sp, #88]
22247 mov r2, r0, asl #1
22248 add r0, r0, #1
22249 strneh r3, [r2, r4] @ movhi
22250 cmp r5, r0
22251 mov r1, r1, lsr #8
22252 bne .L7342
22253 b .L6995
22254.L7821:
22255 mov r6, #0
22256 b .L7053
22257.L7586:
22258 subs lr, ip, #4
22259 ldr r2, [r7, #4]
22260 ldreq r1, [sp, #64]
22261 beq .L7598
22262 mov r3, r0, asl #3
22263 sub r3, r3, #32
22264 mov r2, r2, asl r3
22265 ldr r4, .L7824
22266 mov r0, #0
22267.L7599:
22268 movs r3, r2, lsr #24
22269 mov r3, r3, asl #1
22270 ldrneh r3, [r3, r4]
22271 ldrne r5, [sp, #64]
22272 mov r1, r0, asl #1
22273 add r0, r0, #1
22274 strneh r3, [r1, r5] @ movhi
22275 cmp lr, r0
22276 mov r2, r2, asl #8
22277 bne .L7599
22278 ldr r6, [sp, #64]
22279 add r3, r6, ip, asl #1
22280 sub r1, r3, #8
22281.L7598:
22282 ldr r2, [r7, #0]
22283 cmp r2, #0
22284 beq .L7604
22285 ands r3, r2, #255
22286 ldrne lr, .L7824
22287 movne r3, r3, asl #1
22288 ldrneh r3, [r3, lr]
22289 strneh r3, [r1, #6] @ movhi
22290 mov r3, r2, lsr #8
22291 ands r3, r3, #255
22292 ldrne r0, .L7824
22293 movne r3, r3, asl #1
22294 ldrneh r3, [r3, r0]
22295 strneh r3, [r1, #4] @ movhi
22296 mov r3, r2, lsr #16
22297 ands r3, r3, #255
22298 ldrne r4, .L7824
22299 movne r3, r3, asl #1
22300 ldrneh r3, [r3, r4]
22301 strneh r3, [r1, #2] @ movhi
22302 movs r3, r2, lsr #24
22303 ldrne r5, .L7824
22304 movne r3, r3, asl #1
22305 ldrneh r3, [r3, r5]
22306 strneh r3, [r1, #0] @ movhi
22307.L7604:
22308 add r5, r1, #8
22309 b .L7590
22310.L7366:
22311 subs lr, ip, #4
22312 ldr r2, [r7, #0]
22313 ldreq r1, [sp, #64]
22314 beq .L7378
22315 mov r3, r0, asl #3
22316 mov r1, r2, lsr r3
22317 ldr r4, .L7824
22318 mov r0, #0
22319.L7379:
22320 ands r3, r1, #255
22321 mov r3, r3, asl #1
22322 ldrneh r3, [r3, r4]
22323 ldrne r5, [sp, #64]
22324 mov r2, r0, asl #1
22325 add r0, r0, #1
22326 strneh r3, [r2, r5] @ movhi
22327 cmp r0, lr
22328 mov r1, r1, lsr #8
22329 bne .L7379
22330 ldr r6, [sp, #64]
22331 add r3, r6, ip, asl #1
22332 sub r1, r3, #8
22333.L7378:
22334 ldr r2, [r7, #4]
22335 cmp r2, #0
22336 beq .L7384
22337 ands r3, r2, #255
22338 ldrne lr, .L7824
22339 movne r3, r3, asl #1
22340 ldrneh r3, [r3, lr]
22341 strneh r3, [r1, #0] @ movhi
22342 mov r3, r2, lsr #8
22343 ands r3, r3, #255
22344 ldrne r0, .L7824
22345 movne r3, r3, asl #1
22346 ldrneh r3, [r3, r0]
22347 strneh r3, [r1, #2] @ movhi
22348 mov r3, r2, lsr #16
22349 ands r3, r3, #255
22350 ldrne r4, .L7824
22351 movne r3, r3, asl #1
22352 ldrneh r3, [r3, r4]
22353 strneh r3, [r1, #4] @ movhi
22354 movs r3, r2, lsr #24
22355 ldrne r5, .L7824
22356 movne r3, r3, asl #1
22357 ldrneh r3, [r3, r5]
22358 strneh r3, [r1, #6] @ movhi
22359.L7384:
22360 add r5, r1, #8
22361 b .L7370
22362.L7819:
22363 ldr r4, [sp, #20]
22364 b .L7784
22365.L7818:
22366 mov ip, fp
22367 b .L7782
22368.L7559:
22369 ldr r6, [sp, #88]
22370 mov r3, r0, asl #3
22371 ldr r1, [r7, #4]
22372 add r2, r6, r0
22373 sub r3, r3, #32
22374 cmp r2, #4
22375 mov r1, r1, asl r3
22376 bhi .L7566
22377 cmp r6, #0
22378 ldrne ip, .L7824
22379 movne r0, #0
22380 beq .L6995
22381.L7582:
22382 movs r3, r1, lsr #24
22383 mov r3, r3, asl #1
22384 ldrneh r3, [r3, ip]
22385 ldrne r7, [sp, #64]
22386 ldr lr, [sp, #88]
22387 mov r2, r0, asl #1
22388 add r0, r0, #1
22389 strneh r3, [r2, r7] @ movhi
22390 cmp lr, r0
22391 mov r1, r1, asl #8
22392 bne .L7582
22393 b .L6995
22394.L7339:
22395 ldr r6, [sp, #88]
22396 ldr r3, [r7, #0]
22397 add r2, r6, r0
22398 cmp r2, #4
22399 mov r1, r0, asl #3
22400 mov r2, r3, lsr r1
22401 bhi .L7346
22402 cmp r6, #0
22403 ldrne ip, .L7824
22404 movne r0, #0
22405 beq .L6995
22406.L7362:
22407 ands r3, r2, #255
22408 mov r3, r3, asl #1
22409 ldrneh r3, [r3, ip]
22410 ldrne r7, [sp, #64]
22411 ldr lr, [sp, #88]
22412 mov r1, r0, asl #1
22413 add r0, r0, #1
22414 strneh r3, [r1, r7] @ movhi
22415 cmp lr, r0
22416 mov r2, r2, lsr #8
22417 bne .L7362
22418 b .L6995
22419.L7566:
22420 rsbs ip, r0, #4
22421 ldreq lr, [sp, #64]
22422 beq .L7571
22423 ldr lr, .L7824
22424 mov r0, #0
22425.L7572:
22426 movs r3, r1, lsr #24
22427 mov r3, r3, asl #1
22428 ldrneh r3, [r3, lr]
22429 ldrne r4, [sp, #64]
22430 mov r2, r0, asl #1
22431 add r0, r0, #1
22432 strneh r3, [r2, r4] @ movhi
22433 cmp r0, ip
22434 mov r1, r1, asl #8
22435 bne .L7572
22436 ldr r5, [sp, #64]
22437 add lr, r5, ip, asl #1
22438.L7571:
22439 ldr r6, [sp, #88]
22440 ldr r2, [r7, #0]
22441 subs ip, r6, ip
22442 beq .L6995
22443 ldr r4, .L7824
22444 mov r0, #0
22445.L7578:
22446 movs r3, r2, lsr #24
22447 mov r3, r3, asl #1
22448 ldrneh r3, [r3, r4]
22449 mov r1, r0, asl #1
22450 add r0, r0, #1
22451 strneh r3, [r1, lr] @ movhi
22452 cmp r0, ip
22453 mov r2, r2, asl #8
22454 bne .L7578
22455 b .L6995
22456.L7346:
22457 rsbs ip, r0, #4
22458 ldreq lr, [sp, #64]
22459 beq .L7351
22460 ldr lr, .L7824
22461 mov r0, #0
22462.L7352:
22463 ands r3, r2, #255
22464 mov r3, r3, asl #1
22465 ldrneh r3, [r3, lr]
22466 ldrne r4, [sp, #64]
22467 mov r1, r0, asl #1
22468 add r0, r0, #1
22469 strneh r3, [r1, r4] @ movhi
22470 cmp r0, ip
22471 mov r2, r2, lsr #8
22472 bne .L7352
22473 ldr r5, [sp, #64]
22474 add lr, r5, ip, asl #1
22475.L7351:
22476 ldr r6, [sp, #88]
22477 ldr r2, [r7, #4]
22478 subs ip, r6, ip
22479 beq .L6995
22480 ldr r4, .L7824
22481 mov r0, #0
22482.L7358:
22483 ands r3, r2, #255
22484 mov r3, r3, asl #1
22485 ldrneh r3, [r3, r4]
22486 mov r1, r0, asl #1
22487 add r0, r0, #1
22488 strneh r3, [r1, lr] @ movhi
22489 cmp r0, ip
22490 mov r2, r2, lsr #8
22491 bne .L7358
22492 b .L6995
22493.L7825:
22494 .align 2
22495.L7824:
22496 .word palette_ram_converted+512
22497 .size render_scanline_obj_normal_2D, .-render_scanline_obj_normal_2D
22498 .align 2
22499 .global render_scanline_obj_color16_1D
22500 .type render_scanline_obj_color16_1D, %function
22501render_scanline_obj_color16_1D:
22502 @ args = 0, pretend = 0, frame = 112
22503 @ frame_needed = 0, uses_anonymous_args = 0
22504 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
22505 ldr ip, .L8668
22506 sub sp, sp, #112
22507 ldrh r4, [ip, #6]
22508 add r0, r0, r0, asl #2
22509 str r4, [sp, #32]
22510 ldr r5, [sp, #32]
22511 ldrh r4, [ip, #80]
22512 ldr ip, .L8668+4
22513 add r0, r5, r0, asl #5
22514 ldr ip, [ip, r0, asl #2]
22515 mov lr, r4, lsr #11
22516 and lr, lr, #2
22517 mov r4, r4, asl #27
22518 str ip, [sp, #36]
22519 orr lr, lr, r4, lsr #31
22520 cmp ip, #0
22521 ldr ip, .L8668+8
22522 mov lr, lr, asl #9
22523 add r0, ip, r0, asl #7
22524 orr lr, lr, #256
22525 str r0, [sp, #40]
22526 str r1, [sp, #8]
22527 str r2, [sp, #4]
22528 str r3, [sp, #0]
22529 str lr, [sp, #24]
22530 beq .L8614
22531 mov r8, #0
22532 add r6, r3, r1, asl #1
22533 rsb r7, r1, r2
22534 str r6, [sp, #84]
22535 str r7, [sp, #108]
22536 str r8, [sp, #28]
22537 mov ip, r8
22538.L7829:
22539 ldr lr, [sp, #40]
22540 ldr r0, .L8668+12
22541 ldrb r3, [ip, lr] @ zero_extendqisi2
22542 mov r3, r3, asl #3
22543 ldrh r4, [r3, r0]
22544 add r3, r3, r0
22545 ldrh r1, [r3, #2]
22546 mov r5, r4, lsr #12
22547 and r2, r5, #12
22548 orr r0, r2, r1, lsr #14
22549 and ip, r4, #255
22550 mov r2, r1, asl #23
22551 cmp ip, #160
22552 ldrh lr, [r3, #4]
22553 mov r6, r2, asr #23
22554 ldr r3, .L8668+16
22555 ldr r2, .L8668+20
22556 subgt ip, ip, #256
22557 tst r4, #256
22558 ldr r7, [r2, r0, asl #2]
22559 ldr sl, [r3, r0, asl #2]
22560 beq .L7832
22561 tst r4, #8192
22562 beq .L7834
22563 tst r4, #512
22564 mov r3, r1, lsr #4
22565 ldr r4, .L8668+12
22566 and r3, r3, #992
22567 add r3, r3, r4
22568 add r2, r7, r7, lsr #31
22569 ldrh r5, [r3, #30]
22570 mov r4, r2, asr #1
22571 add r1, sl, sl, lsr #31
22572 ldr r2, [sp, #8]
22573 movne r0, r4, asl #1
22574 str r5, [sp, #12]
22575 mov r5, r1, asr #1
22576 strne r0, [sp, #56]
22577 moveq r9, r7
22578 streq r4, [sp, #56]
22579 moveq r0, r5
22580 movne r9, r7, asl #1
22581 movne r0, r5, asl #1
22582 cmp r6, r2
22583 ldrh r8, [r3, #6]
22584 ldrh r1, [r3, #14]
22585 ldrh fp, [r3, #22]
22586 bge .L7839
22587 rsb r2, r6, r2
22588 rsb r9, r2, r9
22589 cmp r9, #0
22590 ble .L7841
22591 ldr r3, [sp, #56]
22592 ldr r6, [sp, #8]
22593 rsb r3, r2, r3
22594 str r3, [sp, #56]
22595.L7839:
22596 ldr r2, [sp, #4]
22597 add r3, r6, r9
22598 cmp r3, r2
22599 blt .L7843
22600 rsb r9, r6, r2
22601 cmp r9, #0
22602 ble .L7841
22603.L7843:
22604 mov r3, r8, asl #16
22605 ldr r8, [sp, #12]
22606 mov r2, r1, asl #16
22607 mov r2, r2, asr #16
22608 mov r1, r8, asl #16
22609 add r0, ip, r0
22610 str r2, [sp, #48]
22611 mov ip, r1, asr #16
22612 ldr r2, [sp, #32]
22613 ldr r1, [sp, #0]
22614 mov r4, r4, asl #8
22615 mov r3, r3, asr #16
22616 mov r5, r5, asl #8
22617 cmp fp, #0
22618 str r4, [sp, #92]
22619 str r3, [sp, #44]
22620 str r5, [sp, #52]
22621 add r8, r1, r6, asl #1
22622 rsb r4, r0, r2
22623 bne .L7845
22624 mov r3, r5
22625 mla r3, r4, ip, r3
22626 mov r0, r3, asr #8
22627 cmp r0, sl
22628 bcs .L7841
22629 cmp r7, #0
22630 add r3, r7, #7
22631 movge r3, r7
22632 mov r2, lr, asl #22
22633 mov r3, r3, asr #3
22634 mov r3, r3, asl #1
22635 mov r1, r0, lsr #3
22636 mov r2, r2, lsr #22
22637 mla ip, r3, r1, r2
22638 and r0, r0, #7
22639 ldr r3, .L8668+24
22640 add r0, r0, ip, asl #2
22641 cmp r9, #0
22642 add lr, r3, r0, asl #3
22643 ble .L7841
22644 ldr r3, [sp, #48]
22645 ldr r2, [sp, #56]
22646 mul r3, r4, r3
22647 ldr r4, [sp, #44]
22648 ldr r5, [sp, #92]
22649 mul r2, r4, r2
22650 rsb r3, r2, r3
22651 add r0, r5, r3
22652 mov r4, r0, asr #8
22653 cmp r4, r7
22654 movcs ip, fp
22655 bcs .L7851
22656 b .L8664
22657.L7852:
22658 cmp r4, r7
22659 bcc .L8628
22660.L7851:
22661 ldr r6, [sp, #44]
22662 add ip, ip, #1
22663 add r0, r0, r6
22664 cmp r9, ip
22665 mov r4, r0, asr #8
22666 add r8, r8, #2
22667 bne .L7852
22668.L7841:
22669 ldr r0, [sp, #28]
22670 ldr r1, [sp, #36]
22671 add r0, r0, #1
22672 cmp r0, r1
22673 str r0, [sp, #28]
22674 beq .L8614
22675.L8646:
22676 ldr ip, [sp, #28]
22677 b .L7829
22678.L7832:
22679 ldr r0, [sp, #32]
22680 tst r1, #8192
22681 rsb ip, ip, r0
22682 rsbne r3, ip, sl
22683 subne ip, r3, #1
22684 mov r2, r1, asl #19
22685 and r3, r5, #2
22686 orr r3, r3, r2, lsr #31
22687 cmp r3, #3
22688 ldrls pc, [pc, r3, asl #2]
22689 b .L7841
22690 .p2align 2
22691.L7913:
22692 .word .L7909
22693 .word .L7910
22694 .word .L7911
22695 .word .L7912
22696.L7909:
22697 cmp r7, #0
22698 add r3, r7, #7
22699 mov r2, lr, asl #22
22700 movge r3, r7
22701 mov r5, r3, asr #3
22702 mov r2, r2, lsr #22
22703 mov r3, ip, lsr #3
22704 mla r0, r5, r3, r2
22705 ldr r2, [sp, #8]
22706 and r1, ip, #7
22707 ldr r3, .L8668+24
22708 add r1, r1, r0, asl #3
22709 cmp r6, r2
22710 mov r2, lr, lsr #8
22711 add r0, r3, r1, asl #2
22712 and r1, r2, #240
22713 blt .L8641
22714 ldr ip, [sp, #4]
22715 add r3, r6, r7
22716 cmp ip, r3
22717 bhi .L7995
22718 rsb r8, r6, ip
22719 cmp r8, #0
22720 ble .L7841
22721 ldr lr, [sp, #0]
22722 movs r7, r8, lsr #3
22723 add r2, lr, r6, asl #1
22724 beq .L7998
22725 mov r5, r2
22726 mov lr, r0
22727 mov ip, #0
22728.L8000:
22729 ldr r4, [lr, #0]
22730 cmp r4, #0
22731 beq .L8001
22732 ands r3, r4, #15
22733 ldrne r6, [sp, #24]
22734 orrne r3, r1, r3
22735 orrne r3, r3, r6
22736 strneh r3, [r5, #0] @ movhi
22737 mov r3, r4, lsr #4
22738 ands r3, r3, #15
22739 ldrne r6, [sp, #24]
22740 orrne r3, r1, r3
22741 orrne r3, r3, r6
22742 strneh r3, [r5, #2] @ movhi
22743 mov r3, r4, lsr #8
22744 ands r3, r3, #15
22745 ldrne r6, [sp, #24]
22746 orrne r3, r1, r3
22747 orrne r3, r3, r6
22748 strneh r3, [r5, #4] @ movhi
22749 mov r3, r4, lsr #12
22750 ands r3, r3, #15
22751 ldrne r6, [sp, #24]
22752 orrne r3, r1, r3
22753 orrne r3, r3, r6
22754 strneh r3, [r5, #6] @ movhi
22755 mov r3, r4, lsr #16
22756 ands r3, r3, #15
22757 ldrne r6, [sp, #24]
22758 orrne r3, r1, r3
22759 orrne r3, r3, r6
22760 strneh r3, [r5, #8] @ movhi
22761 mov r3, r4, lsr #20
22762 ands r3, r3, #15
22763 ldrne r6, [sp, #24]
22764 orrne r3, r1, r3
22765 orrne r3, r3, r6
22766 strneh r3, [r5, #10] @ movhi
22767 mov r3, r4, lsr #24
22768 ands r3, r3, #15
22769 ldrne r6, [sp, #24]
22770 orrne r3, r1, r3
22771 orrne r3, r3, r6
22772 strneh r3, [r5, #12] @ movhi
22773 movs r3, r4, lsr #28
22774 ldrne r4, [sp, #24]
22775 orrne r3, r1, r3
22776 orrne r3, r3, r4
22777 strneh r3, [r5, #14] @ movhi
22778.L8001:
22779 add ip, ip, #1
22780 cmp ip, r7
22781 add lr, lr, #32
22782 add r5, r5, #16
22783 bne .L8000
22784 add r0, r0, r7, asl #5
22785 add r2, r2, r7, asl #4
22786.L7998:
22787 ands lr, r8, #7
22788 beq .L7841
22789 ldr r0, [r0, #0]
22790 mov r4, #0
22791.L8020:
22792 ands r3, r0, #15
22793 ldr r5, [sp, #24]
22794 orr r3, r1, r3
22795 mov ip, r4, asl #1
22796 orr r3, r3, r5
22797 add r4, r4, #1
22798 strneh r3, [ip, r2] @ movhi
22799 cmp r4, lr
22800 mov r0, r0, lsr #4
22801 bne .L8020
22802 b .L7841
22803.L7910:
22804 cmp r7, #0
22805 add r3, r7, #7
22806 mov r2, lr, asl #22
22807 movge r3, r7
22808 mov r5, r3, asr #3
22809 mov r2, r2, lsr #22
22810 mov r1, ip, lsr #3
22811 mla r0, r5, r1, r2
22812 subs r3, r7, #8
22813 submi r3, r7, #1
22814 ldr r8, [sp, #8]
22815 add r0, r0, r3, asr #3
22816 and r2, ip, #7
22817 ldr r3, .L8668+24
22818 add r2, r2, r0, asl #3
22819 mov r1, lr, lsr #8
22820 cmp r6, r8
22821 add r0, r3, r2, asl #2
22822 and r1, r1, #240
22823 blt .L8642
22824 ldr r2, [sp, #4]
22825 add r3, r6, r7
22826 cmp r2, r3
22827 bhi .L8125
22828 rsb r8, r6, r2
22829 cmp r8, #0
22830 ble .L7841
22831 ldr r3, [sp, #0]
22832 movs r7, r8, lsr #3
22833 add r2, r3, r6, asl #1
22834 beq .L8128
22835 mov r5, r2
22836 mov lr, r0
22837 mov ip, #0
22838.L8130:
22839 ldr r4, [lr, #0]
22840 cmp r4, #0
22841 beq .L8131
22842 ands r3, r4, #15
22843 ldrne r6, [sp, #24]
22844 orrne r3, r1, r3
22845 orrne r3, r3, r6
22846 strneh r3, [r5, #14] @ movhi
22847 mov r3, r4, lsr #4
22848 ands r3, r3, #15
22849 ldrne r6, [sp, #24]
22850 orrne r3, r1, r3
22851 orrne r3, r3, r6
22852 strneh r3, [r5, #12] @ movhi
22853 mov r3, r4, lsr #8
22854 ands r3, r3, #15
22855 ldrne r6, [sp, #24]
22856 orrne r3, r1, r3
22857 orrne r3, r3, r6
22858 strneh r3, [r5, #10] @ movhi
22859 mov r3, r4, lsr #12
22860 ands r3, r3, #15
22861 ldrne r6, [sp, #24]
22862 orrne r3, r1, r3
22863 orrne r3, r3, r6
22864 strneh r3, [r5, #8] @ movhi
22865 mov r3, r4, lsr #16
22866 ands r3, r3, #15
22867 ldrne r6, [sp, #24]
22868 orrne r3, r1, r3
22869 orrne r3, r3, r6
22870 strneh r3, [r5, #6] @ movhi
22871 mov r3, r4, lsr #20
22872 ands r3, r3, #15
22873 ldrne r6, [sp, #24]
22874 orrne r3, r1, r3
22875 orrne r3, r3, r6
22876 strneh r3, [r5, #4] @ movhi
22877 mov r3, r4, lsr #24
22878 ands r3, r3, #15
22879 ldrne r6, [sp, #24]
22880 orrne r3, r1, r3
22881 orrne r3, r3, r6
22882 strneh r3, [r5, #2] @ movhi
22883 movs r3, r4, lsr #28
22884 ldrne r4, [sp, #24]
22885 orrne r3, r1, r3
22886 orrne r3, r3, r4
22887 strneh r3, [r5, #0] @ movhi
22888.L8131:
22889 add ip, ip, #1
22890 cmp ip, r7
22891 sub lr, lr, #32
22892 add r5, r5, #16
22893 bne .L8130
22894 rsb r3, r7, r7, asl #27
22895 add r0, r0, r3, asl #5
22896 add r2, r2, r7, asl #4
22897.L8128:
22898 ands lr, r8, #7
22899 beq .L7841
22900 ldr r0, [r0, #0]
22901 mov r4, #0
22902.L8150:
22903 movs r3, r0, lsr #28
22904 ldr r5, [sp, #24]
22905 orr r3, r1, r3
22906 mov ip, r4, asl #1
22907 orr r3, r3, r5
22908 add r4, r4, #1
22909 strneh r3, [ip, r2] @ movhi
22910 cmp r4, lr
22911 mov r0, r0, asl #4
22912 bne .L8150
22913 b .L7841
22914.L7911:
22915 cmp r7, #0
22916 add r3, r7, #7
22917 mov r1, lr, asl #22
22918 movge r3, r7
22919 mov r2, ip, lsr #3
22920 mov lr, r3, asr #3
22921 mov r1, r1, lsr #22
22922 mov r2, r2, asl #1
22923 mla r0, r2, lr, r1
22924 and r3, ip, #7
22925 add r3, r3, r0, asl #2
22926 ldr r8, [sp, #8]
22927 mov r0, r3, asl #3
22928 ldr r3, .L8668+24
22929 cmp r6, r8
22930 add r1, r0, r3
22931 blt .L8643
22932 add r3, r6, r7
22933 ldr r7, [sp, #4]
22934 cmp r7, r3
22935 bhi .L8330
22936 rsb r8, r6, r7
22937 cmp r8, #0
22938 ble .L7841
22939 ldr ip, [sp, #0]
22940 movs r7, r8, lsr #3
22941 add r2, ip, r6, asl #1
22942 beq .L8333
22943 ldr r3, .L8668+32
22944 mov r5, r2
22945 add r0, r0, r3
22946 mov lr, r1
22947 mov ip, #0
22948.L8335:
22949 ldr r4, [lr, #0]
22950 cmp r4, #0
22951 beq .L8336
22952 ands r3, r4, #255
22953 ldrne r6, [sp, #24]
22954 orrne r3, r3, r6
22955 strneh r3, [r5, #0] @ movhi
22956 mov r3, r4, lsr #8
22957 ands r3, r3, #255
22958 ldrne r6, [sp, #24]
22959 orrne r3, r3, r6
22960 strneh r3, [r5, #2] @ movhi
22961 mov r3, r4, lsr #16
22962 ands r3, r3, #255
22963 ldrne r6, [sp, #24]
22964 orrne r3, r3, r6
22965 strneh r3, [r5, #4] @ movhi
22966 movs r3, r4, lsr #24
22967 ldrne r4, [sp, #24]
22968 orrne r3, r3, r4
22969 strneh r3, [r5, #6] @ movhi
22970.L8336:
22971 ldr r4, [r0, #-60]
22972 cmp r4, #0
22973 beq .L8345
22974 ands r3, r4, #255
22975 ldrne r6, [sp, #24]
22976 orrne r3, r3, r6
22977 strneh r3, [r5, #8] @ movhi
22978 mov r3, r4, lsr #8
22979 ands r3, r3, #255
22980 ldrne r6, [sp, #24]
22981 orrne r3, r3, r6
22982 strneh r3, [r5, #10] @ movhi
22983 mov r3, r4, lsr #16
22984 ands r3, r3, #255
22985 ldrne r6, [sp, #24]
22986 orrne r3, r3, r6
22987 strneh r3, [r5, #12] @ movhi
22988 movs r3, r4, lsr #24
22989 ldrne r4, [sp, #24]
22990 orrne r3, r3, r4
22991 strneh r3, [r5, #14] @ movhi
22992.L8345:
22993 add ip, ip, #1
22994 cmp r7, ip
22995 add lr, lr, #64
22996 add r5, r5, #16
22997 add r0, r0, #64
22998 bne .L8335
22999 add r1, r1, r7, asl #6
23000 add r2, r2, r7, asl #4
23001.L8333:
23002 ands lr, r8, #7
23003 beq .L7841
23004 cmp lr, #3
23005 ldrls r0, [r1, #0]
23006 bls .L8368
23007 ldr r0, [r1, #0]
23008 cmp r0, #0
23009 beq .L8358
23010 ands r3, r0, #255
23011 ldrne r5, [sp, #24]
23012 orrne r3, r3, r5
23013 strneh r3, [r2, #0] @ movhi
23014 mov r3, r0, lsr #8
23015 ands r3, r3, #255
23016 ldrne r6, [sp, #24]
23017 orrne r3, r3, r6
23018 strneh r3, [r2, #2] @ movhi
23019 mov r3, r0, lsr #16
23020 ands r3, r3, #255
23021 ldrne r7, [sp, #24]
23022 orrne r3, r3, r7
23023 strneh r3, [r2, #4] @ movhi
23024 movs r3, r0, lsr #24
23025 ldrne r8, [sp, #24]
23026 orrne r3, r3, r8
23027 strneh r3, [r2, #6] @ movhi
23028.L8358:
23029 subs lr, lr, #4
23030 ldr r0, [r1, #4]
23031 addne r2, r2, #8
23032 beq .L7841
23033.L8368:
23034 mov r1, #0
23035.L8369:
23036 ldr ip, [sp, #24]
23037 ands r3, r0, #255
23038 orr r3, r3, ip
23039 mov ip, r1, asl #1
23040 add r1, r1, #1
23041 strneh r3, [ip, r2] @ movhi
23042 cmp lr, r1
23043 mov r0, r0, lsr #8
23044 bhi .L8369
23045 b .L7841
23046.L7912:
23047 cmp r7, #0
23048 add r2, r7, #7
23049 movge r2, r7
23050 subs r3, r7, #8
23051 submi r3, r7, #1
23052 mov r1, ip, lsr #3
23053 mov r5, r2, asr #3
23054 mov r3, r3, asr #3
23055 mla r0, r5, r1, r3
23056 mov r2, lr, asl #22
23057 mov r2, r2, lsr #22
23058 add r2, r2, r0, asl #1
23059 and r3, ip, #7
23060 add r3, r3, r2, asl #2
23061 ldr ip, [sp, #8]
23062 mov r0, r3, asl #3
23063 ldr r3, .L8668+24
23064 cmp r6, ip
23065 add r1, r0, r3
23066 blt .L8644
23067 add r3, r6, r7
23068 ldr r7, [sp, #4]
23069 cmp r3, r7
23070 bcc .L8550
23071 rsb r8, r6, r7
23072 cmp r8, #0
23073 ble .L7841
23074 ldr ip, [sp, #0]
23075 movs r7, r8, lsr #3
23076 add r6, ip, r6, asl #1
23077 beq .L8553
23078 ldr r3, .L8668+28
23079 mov r5, r6
23080 add r0, r0, r3
23081 mov lr, r1
23082 mov ip, #0
23083.L8555:
23084 ldr r4, [r0, #68]
23085 cmp r4, #0
23086 beq .L8556
23087 ands r3, r4, #255
23088 ldrne r2, [sp, #24]
23089 orrne r3, r3, r2
23090 strneh r3, [r5, #6] @ movhi
23091 mov r3, r4, lsr #8
23092 ands r3, r3, #255
23093 ldrne r2, [sp, #24]
23094 orrne r3, r3, r2
23095 strneh r3, [r5, #4] @ movhi
23096 mov r3, r4, lsr #16
23097 ands r3, r3, #255
23098 ldrne r2, [sp, #24]
23099 orrne r3, r3, r2
23100 strneh r3, [r5, #2] @ movhi
23101 movs r3, r4, lsr #24
23102 ldrne r4, [sp, #24]
23103 orrne r3, r3, r4
23104 strneh r3, [r5, #0] @ movhi
23105.L8556:
23106 ldr r4, [lr, #0]
23107 cmp r4, #0
23108 beq .L8565
23109 ands r3, r4, #255
23110 ldrne r2, [sp, #24]
23111 orrne r3, r3, r2
23112 strneh r3, [r5, #14] @ movhi
23113 mov r3, r4, lsr #8
23114 ands r3, r3, #255
23115 ldrne r2, [sp, #24]
23116 orrne r3, r3, r2
23117 strneh r3, [r5, #12] @ movhi
23118 mov r3, r4, lsr #16
23119 ands r3, r3, #255
23120 ldrne r2, [sp, #24]
23121 orrne r3, r3, r2
23122 strneh r3, [r5, #10] @ movhi
23123 movs r3, r4, lsr #24
23124 ldrne r4, [sp, #24]
23125 orrne r3, r3, r4
23126 strneh r3, [r5, #8] @ movhi
23127.L8565:
23128 add ip, ip, #1
23129 cmp ip, r7
23130 sub lr, lr, #64
23131 add r5, r5, #16
23132 sub r0, r0, #64
23133 bne .L8555
23134 rsb r3, r7, r7, asl #26
23135 add r1, r1, r3, asl #6
23136 add r6, r6, r7, asl #4
23137.L8553:
23138 ands ip, r8, #7
23139 beq .L7841
23140 cmp ip, #3
23141 ldrls r2, [r1, #4]
23142 bls .L8588
23143 ldr r2, [r1, #4]
23144 cmp r2, #0
23145 beq .L8578
23146 ands r3, r2, #255
23147 ldrne r5, [sp, #24]
23148 orrne r3, r3, r5
23149 strneh r3, [r6, #6] @ movhi
23150 mov r3, r2, lsr #8
23151 ands r3, r3, #255
23152 ldrne r7, [sp, #24]
23153 orrne r3, r3, r7
23154 strneh r3, [r6, #4] @ movhi
23155 mov r3, r2, lsr #16
23156 ands r3, r3, #255
23157 ldrne r8, [sp, #24]
23158 orrne r3, r3, r8
23159 strneh r3, [r6, #2] @ movhi
23160 movs r3, r2, lsr #24
23161 ldrne lr, [sp, #24]
23162 orrne r3, r3, lr
23163 strneh r3, [r6, #0] @ movhi
23164.L8578:
23165 subs ip, ip, #4
23166 ldr r2, [r1, #0]
23167 addne r6, r6, #8
23168 beq .L7841
23169.L8588:
23170 mov r1, #0
23171.L8589:
23172 ldr r0, [sp, #24]
23173 movs r3, r2, lsr #24
23174 orr r3, r3, r0
23175 mov r0, r1, asl #1
23176 add r1, r1, #1
23177 strneh r3, [r0, r6] @ movhi
23178 cmp ip, r1
23179 mov r2, r2, asl #8
23180 bhi .L8589
23181 b .L7841
23182.L7834:
23183 mov r3, r1, lsr #4
23184 ldr r1, .L8668+12
23185 and r3, r3, #992
23186 add r3, r3, r1
23187 tst r4, #512
23188 ldrh r4, [r3, #30]
23189 add r2, r7, r7, lsr #31
23190 add r1, sl, sl, lsr #31
23191 str r4, [sp, #20]
23192 mov r4, r2, asr #1
23193 ldr r2, [sp, #8]
23194 mov r5, r1, asr #1
23195 ldrh r8, [r3, #6]
23196 ldrh r1, [r3, #14]
23197 ldrh r3, [r3, #22]
23198 moveq fp, r7
23199 moveq r9, r4
23200 moveq r0, r5
23201 movne fp, r7, asl #1
23202 movne r9, r4, asl #1
23203 movne r0, r5, asl #1
23204 cmp r6, r2
23205 str r3, [sp, #16]
23206 bge .L7872
23207 rsb r2, r6, r2
23208 rsb fp, r2, fp
23209 cmp fp, #0
23210 ble .L7841
23211 ldr r6, [sp, #8]
23212 rsb r9, r2, r9
23213.L7872:
23214 ldr r2, [sp, #4]
23215 add r3, r6, fp
23216 cmp r3, r2
23217 blt .L7875
23218 rsb fp, r6, r2
23219 cmp fp, #0
23220 ble .L7841
23221.L7875:
23222 mov r3, r8, asl #16
23223 ldr r8, [sp, #20]
23224 add ip, ip, r0
23225 mov r2, r1, asl #16
23226 ldr r0, [sp, #16]
23227 mov r1, r8, asl #16
23228 mov r2, r2, asr #16
23229 mov r1, r1, asr #16
23230 cmp r0, #0
23231 str r2, [sp, #68]
23232 mov r0, lr, lsr #8
23233 str r1, [sp, #76]
23234 ldr r2, [sp, #32]
23235 ldr r1, [sp, #0]
23236 mov r4, r4, asl #8
23237 mov r3, r3, asr #16
23238 and r0, r0, #240
23239 str r4, [sp, #88]
23240 str r3, [sp, #64]
23241 mov r5, r5, asl #8
23242 add r8, r1, r6, asl #1
23243 rsb r4, ip, r2
23244 str r0, [sp, #104]
23245 bne .L7877
23246 ldr r3, [sp, #76]
23247 mla r3, r4, r3, r5
23248 mov r0, r3, asr #8
23249 cmp r0, sl
23250 bcs .L7841
23251 cmp r7, #0
23252 add r3, r7, #7
23253 mov r2, lr, asl #22
23254 movge r3, r7
23255 mov r1, r0, lsr #3
23256 mov r3, r3, asr #3
23257 mov r2, r2, lsr #22
23258 mla ip, r3, r1, r2
23259 and r0, r0, #7
23260 ldr r3, .L8668+24
23261 add r0, r0, ip, asl #3
23262 cmp fp, #0
23263 add r1, r3, r0, asl #2
23264 ble .L7841
23265 ldr r3, [sp, #68]
23266 ldr r2, [sp, #64]
23267 mul r3, r4, r3
23268 mul r2, r9, r2
23269 ldr r4, [sp, #88]
23270 rsb r3, r2, r3
23271 add r0, r4, r3
23272 mov r4, r0, asr #8
23273 cmp r4, r7
23274 ldrcs r5, [sp, #16]
23275 bcs .L7883
23276 b .L8665
23277.L7884:
23278 cmp r4, r7
23279 bcc .L8630
23280.L7883:
23281 ldr r6, [sp, #64]
23282 add r5, r5, #1
23283 add r0, r0, r6
23284 cmp fp, r5
23285 mov r4, r0, asr #8
23286 add r8, r8, #2
23287 bne .L7884
23288 ldr r0, [sp, #28]
23289 ldr r1, [sp, #36]
23290 add r0, r0, #1
23291 cmp r0, r1
23292 str r0, [sp, #28]
23293 bne .L8646
23294.L8614:
23295 add sp, sp, #112
23296 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
23297.L7845:
23298 cmp r7, #0
23299 add r1, r7, #7
23300 mov r2, lr, asl #22
23301 movge r1, r7
23302 ldr r3, .L8668+24
23303 mov r2, r2, lsr #22
23304 mov r1, r1, asr #3
23305 add r2, r3, r2, asl #5
23306 mov r1, r1, asl #6
23307 cmp r9, #0
23308 str r2, [sp, #100]
23309 str r1, [sp, #60]
23310 ble .L7841
23311 mov r3, fp, asl #16
23312 mov fp, r3, asr #16
23313 ldr r3, [sp, #48]
23314 mul r2, r4, ip
23315 mul r3, r4, r3
23316 ldr r1, [sp, #56]
23317 ldr r4, [sp, #44]
23318 ldr r0, [sp, #56]
23319 mul r1, fp, r1
23320 mul r0, r4, r0
23321 ldr r6, [sp, #92]
23322 ldr ip, [sp, #52]
23323 rsb r3, r0, r3
23324 rsb r2, r1, r2
23325 add r5, r6, r3
23326 add lr, ip, r2
23327 mov r4, lr, asr #8
23328 mov ip, r5, asr #8
23329 cmp ip, r7
23330 cmpcc r4, sl
23331 movcs r3, #0
23332 movcc r3, #1
23333 movcs r6, r3
23334 bcs .L7861
23335 b .L8666
23336.L7862:
23337 cmp ip, r7
23338 cmpcc r4, sl
23339 bcc .L7863
23340.L7861:
23341 ldr r0, [sp, #44]
23342 add r6, r6, #1
23343 add r5, r5, r0
23344 add lr, lr, fp
23345 cmp r9, r6
23346 mov ip, r5, asr #8
23347 mov r4, lr, asr #8
23348 add r8, r8, #2
23349 bne .L7862
23350 b .L7841
23351.L7877:
23352 cmp r7, #0
23353 add r1, r7, #7
23354 mov r2, lr, asl #22
23355 movge r1, r7
23356 ldr r3, .L8668+24
23357 mov r2, r2, lsr #22
23358 mov r1, r1, asr #3
23359 add r2, r3, r2, asl #5
23360 mov r1, r1, asl #5
23361 cmp fp, #0
23362 str r2, [sp, #96]
23363 str r1, [sp, #80]
23364 ble .L7841
23365 ldr r6, [sp, #16]
23366 ldr r2, [sp, #76]
23367 mov r3, r6, asl #16
23368 mov r3, r3, asr #16
23369 str r3, [sp, #72]
23370 ldr r1, [sp, #72]
23371 ldr r3, [sp, #68]
23372 ldr r0, [sp, #64]
23373 mul r2, r4, r2
23374 mul r3, r4, r3
23375 mul r1, r9, r1
23376 mul r0, r9, r0
23377 ldr ip, [sp, #88]
23378 rsb r2, r1, r2
23379 rsb r3, r0, r3
23380 add lr, ip, r3
23381 add r5, r5, r2
23382 mov r4, lr, asr #8
23383 mov r2, r5, asr #8
23384 cmp r4, r7
23385 cmpcc r2, sl
23386 movcs r3, #0
23387 movcc r3, #1
23388 movcs r6, r3
23389 bcs .L7896
23390 b .L8667
23391.L7897:
23392 cmp r4, r7
23393 cmpcc r2, sl
23394 bcc .L7899
23395.L7896:
23396 ldr r0, [sp, #64]
23397 ldr r1, [sp, #72]
23398 add r6, r6, #1
23399 add lr, lr, r0
23400 add r5, r5, r1
23401 cmp fp, r6
23402 mov r4, lr, asr #8
23403 mov r2, r5, asr #8
23404 add r8, r8, #2
23405 bne .L7897
23406 b .L7841
23407.L8649:
23408 ldr r3, [sp, #96]
23409 and r0, r2, #7
23410 add r0, r3, r0, asl #2
23411 and r1, r2, #7
23412 mov r3, r2, asr #3
23413 ldr r2, [sp, #80]
23414 mov ip, r4, asr #1
23415 mul r2, r3, r2
23416 and r9, ip, #3
23417 ldr ip, [sp, #96]
23418 mov r3, r4, asr #1
23419 add r1, ip, r1, asl #2
23420 and ip, r3, #3
23421 mov r3, r4, asr #3
23422 add r2, r2, r3, asl #5
23423 add r3, r0, r2
23424 tst r4, #1
23425 add r0, r1, r2
23426 ldreqb r3, [r0, ip] @ zero_extendqisi2
23427 ldrneb r3, [r3, r9] @ zero_extendqisi2
23428 ldr r4, [sp, #104]
23429 movne r0, r3, lsr #4
23430 andeq r0, r3, #15
23431 ldr ip, [sp, #24]
23432 ldr r2, [sp, #72]
23433 orr r3, r0, r4
23434 ldr r1, [sp, #64]
23435 cmp r0, #0
23436 add r6, r6, #1
23437 orr r3, r3, ip
23438 strneh r3, [r8, #0] @ movhi
23439 add lr, lr, r1
23440 add r5, r5, r2
23441 cmp fp, r6
23442 mov r4, lr, asr #8
23443 mov r2, r5, asr #8
23444 add r8, r8, #2
23445 ble .L7841
23446.L7899:
23447 cmp r2, sl
23448 cmpcc r4, r7
23449 bcc .L8649
23450 b .L7841
23451.L7886:
23452 cmp r4, r7
23453 bcs .L7841
23454.L8630:
23455 mov r3, r4, asr #1
23456 and sl, r3, #3
23457 mov r3, r4, asr #3
23458 mov r3, r3, asl #5
23459 mov r2, r4, asr #1
23460 tst r4, #1
23461 add ip, r3, r1
23462 and r6, r2, #3
23463 add r2, r3, r1
23464 ldreqb r3, [r2, r6] @ zero_extendqisi2
23465 ldrneb r3, [ip, sl] @ zero_extendqisi2
23466 ldr lr, [sp, #104]
23467 movne r2, r3, lsr #4
23468 andeq r2, r3, #15
23469 cmp r2, #0
23470 orr r3, r2, lr
23471 ldr r2, [sp, #24]
23472 ldr ip, [sp, #64]
23473 add r5, r5, #1
23474 orr r3, r3, r2
23475 strneh r3, [r8, #0] @ movhi
23476 add r0, r0, ip
23477 cmp fp, r5
23478 mov r4, r0, asr #8
23479 add r8, r8, #2
23480 bgt .L7886
23481 b .L7841
23482.L7854:
23483 cmp r4, r7
23484 bcs .L7841
23485.L8628:
23486 ldr r1, [sp, #44]
23487 mov r3, r4, asr #3
23488 add r0, r0, r1
23489 add r3, lr, r3, asl #6
23490 and r1, r4, #7
23491 ldrb r2, [r3, r1] @ zero_extendqisi2
23492 ldr r3, [sp, #24]
23493 cmp r2, #0
23494 add ip, ip, #1
23495 orr r2, r2, r3
23496 strneh r2, [r8, #0] @ movhi
23497 cmp r9, ip
23498 mov r4, r0, asr #8
23499 add r8, r8, #2
23500 bgt .L7854
23501 b .L7841
23502.L8669:
23503 .align 2
23504.L8668:
23505 .word io_registers
23506 .word obj_priority_count
23507 .word obj_priority_list
23508 .word oam_ram
23509 .word obj_height_table
23510 .word obj_width_table
23511 .word vram+65536
23512 .word vram+65472
23513 .word vram+65600
23514.L8644:
23515 rsb r0, r6, ip
23516 rsb r4, r0, r7
23517 cmp r4, #0
23518 ble .L7841
23519 ldr lr, [sp, #4]
23520 add r3, r6, r7
23521 cmp lr, r3
23522 bhi .L8397
23523 mov r3, r0, lsr #3
23524 ands ip, r0, #7
23525 sub r6, r1, r3, asl #6
23526 bne .L8399
23527 ldr r5, [sp, #108]
23528 ldr r4, [sp, #84]
23529.L8401:
23530 movs lr, r5, lsr #3
23531 beq .L8459
23532 mov r1, r4
23533 mov r0, r6
23534 mov ip, #0
23535.L8461:
23536 ldr r2, [r0, #4]
23537 cmp r2, #0
23538 beq .L8462
23539 ands r3, r2, #255
23540 ldrne r7, [sp, #24]
23541 orrne r3, r3, r7
23542 strneh r3, [r1, #6] @ movhi
23543 mov r3, r2, lsr #8
23544 ands r3, r3, #255
23545 ldrne r8, [sp, #24]
23546 orrne r3, r3, r8
23547 strneh r3, [r1, #4] @ movhi
23548 mov r3, r2, lsr #16
23549 ands r3, r3, #255
23550 ldrne r7, [sp, #24]
23551 orrne r3, r3, r7
23552 strneh r3, [r1, #2] @ movhi
23553 movs r3, r2, lsr #24
23554 ldrne r8, [sp, #24]
23555 orrne r3, r3, r8
23556 strneh r3, [r1, #0] @ movhi
23557.L8462:
23558 ldr r2, [r0, #0]
23559 cmp r2, #0
23560 beq .L8471
23561 ands r3, r2, #255
23562 ldrne r7, [sp, #24]
23563 orrne r3, r3, r7
23564 strneh r3, [r1, #14] @ movhi
23565 mov r3, r2, lsr #8
23566 ands r3, r3, #255
23567 ldrne r8, [sp, #24]
23568 orrne r3, r3, r8
23569 strneh r3, [r1, #12] @ movhi
23570 mov r3, r2, lsr #16
23571 ands r3, r3, #255
23572 ldrne r7, [sp, #24]
23573 orrne r3, r3, r7
23574 strneh r3, [r1, #10] @ movhi
23575 movs r3, r2, lsr #24
23576 ldrne r8, [sp, #24]
23577 orrne r3, r3, r8
23578 strneh r3, [r1, #8] @ movhi
23579.L8471:
23580 add ip, ip, #1
23581 cmp ip, lr
23582 sub r0, r0, #64
23583 add r1, r1, #16
23584 bne .L8461
23585 rsb r3, lr, lr, asl #26
23586 add r6, r6, r3, asl #6
23587 add r4, r4, lr, asl #4
23588.L8459:
23589 ands ip, r5, #7
23590 beq .L7841
23591 cmp ip, #3
23592 ldrls r2, [r6, #4]
23593 bls .L8494
23594 ldr r2, [r6, #4]
23595 cmp r2, #0
23596 beq .L8484
23597 ands r3, r2, #255
23598 ldrne lr, [sp, #24]
23599 orrne r3, r3, lr
23600 strneh r3, [r4, #6] @ movhi
23601 mov r3, r2, lsr #8
23602 ands r3, r3, #255
23603 ldrne r0, [sp, #24]
23604 orrne r3, r3, r0
23605 strneh r3, [r4, #4] @ movhi
23606 mov r3, r2, lsr #16
23607 ands r3, r3, #255
23608 ldrne r1, [sp, #24]
23609 orrne r3, r3, r1
23610 strneh r3, [r4, #2] @ movhi
23611 movs r3, r2, lsr #24
23612 ldrne r2, [sp, #24]
23613 orrne r3, r3, r2
23614 strneh r3, [r4, #0] @ movhi
23615.L8484:
23616 subs ip, ip, #4
23617 ldr r2, [r6, #0]
23618 addne r4, r4, #8
23619 beq .L7841
23620.L8494:
23621 mov r1, #0
23622.L8495:
23623 ldr r5, [sp, #24]
23624 movs r3, r2, lsr #24
23625 mov r0, r1, asl #1
23626 orr r3, r3, r5
23627 add r1, r1, #1
23628 strneh r3, [r0, r4] @ movhi
23629 cmp ip, r1
23630 mov r2, r2, asl #8
23631 bhi .L8495
23632 b .L7841
23633.L8643:
23634 rsb r0, r6, r8
23635 rsb r4, r0, r7
23636 cmp r4, #0
23637 ble .L7841
23638 ldr ip, [sp, #4]
23639 add r3, r6, r7
23640 cmp ip, r3
23641 bhi .L8177
23642 mov r3, r0, lsr #3
23643 ands ip, r0, #7
23644 add r6, r1, r3, asl #6
23645 bne .L8179
23646 ldr r5, [sp, #108]
23647 ldr r4, [sp, #84]
23648.L8181:
23649 movs lr, r5, lsr #3
23650 beq .L8239
23651 mov r1, r4
23652 mov r0, r6
23653 mov ip, #0
23654.L8241:
23655 ldr r2, [r0, #0]
23656 cmp r2, #0
23657 beq .L8242
23658 ands r3, r2, #255
23659 ldrne r7, [sp, #24]
23660 orrne r3, r3, r7
23661 strneh r3, [r1, #0] @ movhi
23662 mov r3, r2, lsr #8
23663 ands r3, r3, #255
23664 ldrne r8, [sp, #24]
23665 orrne r3, r3, r8
23666 strneh r3, [r1, #2] @ movhi
23667 mov r3, r2, lsr #16
23668 ands r3, r3, #255
23669 ldrne r7, [sp, #24]
23670 orrne r3, r3, r7
23671 strneh r3, [r1, #4] @ movhi
23672 movs r3, r2, lsr #24
23673 ldrne r8, [sp, #24]
23674 orrne r3, r3, r8
23675 strneh r3, [r1, #6] @ movhi
23676.L8242:
23677 ldr r2, [r0, #4]
23678 cmp r2, #0
23679 beq .L8251
23680 ands r3, r2, #255
23681 ldrne r7, [sp, #24]
23682 orrne r3, r3, r7
23683 strneh r3, [r1, #8] @ movhi
23684 mov r3, r2, lsr #8
23685 ands r3, r3, #255
23686 ldrne r8, [sp, #24]
23687 orrne r3, r3, r8
23688 strneh r3, [r1, #10] @ movhi
23689 mov r3, r2, lsr #16
23690 ands r3, r3, #255
23691 ldrne r7, [sp, #24]
23692 orrne r3, r3, r7
23693 strneh r3, [r1, #12] @ movhi
23694 movs r3, r2, lsr #24
23695 ldrne r8, [sp, #24]
23696 orrne r3, r3, r8
23697 strneh r3, [r1, #14] @ movhi
23698.L8251:
23699 add ip, ip, #1
23700 cmp lr, ip
23701 add r0, r0, #64
23702 add r1, r1, #16
23703 bne .L8241
23704 add r6, r6, lr, asl #6
23705 add r4, r4, lr, asl #4
23706.L8239:
23707 ands ip, r5, #7
23708 beq .L7841
23709 cmp ip, #3
23710 ldrls r1, [r6, #0]
23711 bls .L8274
23712 ldr r2, [r6, #0]
23713 cmp r2, #0
23714 beq .L8264
23715 ands r3, r2, #255
23716 ldrne lr, [sp, #24]
23717 orrne r3, r3, lr
23718 strneh r3, [r4, #0] @ movhi
23719 mov r3, r2, lsr #8
23720 ands r3, r3, #255
23721 ldrne r0, [sp, #24]
23722 orrne r3, r3, r0
23723 strneh r3, [r4, #2] @ movhi
23724 mov r3, r2, lsr #16
23725 ands r3, r3, #255
23726 ldrne r1, [sp, #24]
23727 orrne r3, r3, r1
23728 strneh r3, [r4, #4] @ movhi
23729 movs r3, r2, lsr #24
23730 ldrne r2, [sp, #24]
23731 orrne r3, r3, r2
23732 strneh r3, [r4, #6] @ movhi
23733.L8264:
23734 subs ip, ip, #4
23735 ldr r1, [r6, #4]
23736 addne r4, r4, #8
23737 beq .L7841
23738.L8274:
23739 mov r2, #0
23740.L8275:
23741 ldr r5, [sp, #24]
23742 ands r3, r1, #255
23743 mov r0, r2, asl #1
23744 orr r3, r3, r5
23745 add r2, r2, #1
23746 strneh r3, [r0, r4] @ movhi
23747 cmp ip, r2
23748 mov r1, r1, lsr #8
23749 bhi .L8275
23750 b .L7841
23751.L8642:
23752 rsb r4, r6, r8
23753 rsb ip, r4, r7
23754 cmp ip, #0
23755 ble .L7841
23756 ldr lr, [sp, #4]
23757 add r3, r6, r7
23758 cmp lr, r3
23759 bhi .L8047
23760 mov r3, r4, lsr #3
23761 ands lr, r4, #7
23762 sub r0, r0, r3, asl #5
23763 bne .L8049
23764 ldr r2, [sp, #108]
23765 ldr r8, [sp, #84]
23766.L8051:
23767 movs r7, r2, lsr #3
23768 beq .L8068
23769 mov r5, r8
23770 mov lr, r0
23771 mov r6, #0
23772.L8070:
23773 ldr r4, [lr, #0]
23774 cmp r4, #0
23775 beq .L8071
23776 ands r3, r4, #15
23777 ldrne ip, [sp, #24]
23778 orrne r3, r1, r3
23779 orrne r3, r3, ip
23780 strneh r3, [r5, #14] @ movhi
23781 mov r3, r4, lsr #4
23782 ands r3, r3, #15
23783 ldrne ip, [sp, #24]
23784 orrne r3, r1, r3
23785 orrne r3, r3, ip
23786 strneh r3, [r5, #12] @ movhi
23787 mov r3, r4, lsr #8
23788 ands r3, r3, #15
23789 ldrne ip, [sp, #24]
23790 orrne r3, r1, r3
23791 orrne r3, r3, ip
23792 strneh r3, [r5, #10] @ movhi
23793 mov r3, r4, lsr #12
23794 ands r3, r3, #15
23795 ldrne ip, [sp, #24]
23796 orrne r3, r1, r3
23797 orrne r3, r3, ip
23798 strneh r3, [r5, #8] @ movhi
23799 mov r3, r4, lsr #16
23800 ands r3, r3, #15
23801 ldrne ip, [sp, #24]
23802 orrne r3, r1, r3
23803 orrne r3, r3, ip
23804 strneh r3, [r5, #6] @ movhi
23805 mov r3, r4, lsr #20
23806 ands r3, r3, #15
23807 ldrne ip, [sp, #24]
23808 orrne r3, r1, r3
23809 orrne r3, r3, ip
23810 strneh r3, [r5, #4] @ movhi
23811 mov r3, r4, lsr #24
23812 ands r3, r3, #15
23813 ldrne ip, [sp, #24]
23814 orrne r3, r1, r3
23815 orrne r3, r3, ip
23816 strneh r3, [r5, #2] @ movhi
23817 movs r3, r4, lsr #28
23818 ldrne r4, [sp, #24]
23819 orrne r3, r1, r3
23820 orrne r3, r3, r4
23821 strneh r3, [r5, #0] @ movhi
23822.L8071:
23823 add r6, r6, #1
23824 cmp r6, r7
23825 sub lr, lr, #32
23826 add r5, r5, #16
23827 bne .L8070
23828 rsb r3, r7, r7, asl #27
23829 add r0, r0, r3, asl #5
23830 add r8, r8, r7, asl #4
23831.L8068:
23832 ands lr, r2, #7
23833 beq .L7841
23834 ldr r0, [r0, #0]
23835 mov ip, #0
23836.L8090:
23837 movs r3, r0, lsr #28
23838 ldr r5, [sp, #24]
23839 orr r3, r1, r3
23840 mov r2, ip, asl #1
23841 orr r3, r3, r5
23842 add ip, ip, #1
23843 strneh r3, [r2, r8] @ movhi
23844 cmp ip, lr
23845 mov r0, r0, asl #4
23846 bne .L8090
23847 b .L7841
23848.L8641:
23849 ldr r3, [sp, #8]
23850 rsb r4, r6, r3
23851 rsb r5, r4, r7
23852 cmp r5, #0
23853 ble .L7841
23854 add r3, r6, r7
23855 ldr r6, [sp, #4]
23856 cmp r6, r3
23857 bhi .L7917
23858 mov r3, r4, lsr #3
23859 mov r2, r3, asl #5
23860 ands r3, r4, #7
23861 add r5, r0, r2
23862 bne .L7919
23863 ldr r7, [sp, #108]
23864 ldr r6, [sp, #84]
23865.L7921:
23866 movs r4, r7, lsr #3
23867 beq .L7938
23868 mov ip, r6
23869 mov r0, r5
23870 mov lr, #0
23871.L7940:
23872 ldr r2, [r0, #0]
23873 cmp r2, #0
23874 beq .L7941
23875 ands r3, r2, #15
23876 ldrne r8, [sp, #24]
23877 orrne r3, r1, r3
23878 orrne r3, r3, r8
23879 strneh r3, [ip, #0] @ movhi
23880 mov r3, r2, lsr #4
23881 ands r3, r3, #15
23882 ldrne r8, [sp, #24]
23883 orrne r3, r1, r3
23884 orrne r3, r3, r8
23885 strneh r3, [ip, #2] @ movhi
23886 mov r3, r2, lsr #8
23887 ands r3, r3, #15
23888 ldrne r8, [sp, #24]
23889 orrne r3, r1, r3
23890 orrne r3, r3, r8
23891 strneh r3, [ip, #4] @ movhi
23892 mov r3, r2, lsr #12
23893 ands r3, r3, #15
23894 ldrne r8, [sp, #24]
23895 orrne r3, r1, r3
23896 orrne r3, r3, r8
23897 strneh r3, [ip, #6] @ movhi
23898 mov r3, r2, lsr #16
23899 ands r3, r3, #15
23900 ldrne r8, [sp, #24]
23901 orrne r3, r1, r3
23902 orrne r3, r3, r8
23903 strneh r3, [ip, #8] @ movhi
23904 mov r3, r2, lsr #20
23905 ands r3, r3, #15
23906 ldrne r8, [sp, #24]
23907 orrne r3, r1, r3
23908 orrne r3, r3, r8
23909 strneh r3, [ip, #10] @ movhi
23910 mov r3, r2, lsr #24
23911 ands r3, r3, #15
23912 ldrne r8, [sp, #24]
23913 orrne r3, r1, r3
23914 orrne r3, r3, r8
23915 strneh r3, [ip, #12] @ movhi
23916 movs r3, r2, lsr #28
23917 ldrne r2, [sp, #24]
23918 orrne r3, r1, r3
23919 orrne r3, r3, r2
23920 strneh r3, [ip, #14] @ movhi
23921.L7941:
23922 add lr, lr, #1
23923 cmp r4, lr
23924 add r0, r0, #32
23925 add ip, ip, #16
23926 bne .L7940
23927 add r5, r5, r4, asl #5
23928 add r6, r6, r4, asl #4
23929.L7938:
23930 ands lr, r7, #7
23931 beq .L7841
23932 ldr r2, [r5, #0]
23933 mov r0, #0
23934.L7960:
23935 ands r3, r2, #15
23936 ldr r4, [sp, #24]
23937 orr r3, r1, r3
23938 mov ip, r0, asl #1
23939 orr r3, r3, r4
23940 add r0, r0, #1
23941 strneh r3, [ip, r6] @ movhi
23942 cmp r0, lr
23943 mov r2, r2, lsr #4
23944 bne .L7960
23945 b .L7841
23946.L8666:
23947 mov r6, #0
23948.L7863:
23949 cmp r4, sl
23950 movcc r3, #0
23951 movcs r3, #1
23952 cmp r7, ip
23953 orrls r3, r3, #1
23954 cmp r3, #0
23955 beq .L8629
23956 b .L7841
23957.L7864:
23958 cmp r4, sl
23959 cmpcc ip, r7
23960 bcs .L7841
23961.L8629:
23962 and r3, r4, #7
23963 mov r2, ip, asr #3
23964 mov r3, r3, asl #3
23965 add r3, r3, r2, asl #6
23966 ldr r2, [sp, #100]
23967 ldr r0, [sp, #60]
23968 add r3, r3, r2
23969 mov r2, r4, asr #3
23970 mla r0, r2, r0, r3
23971 ldr r1, [sp, #44]
23972 add r6, r6, #1
23973 add r5, r5, r1
23974 and r1, ip, #7
23975 ldrb r3, [r0, r1] @ zero_extendqisi2
23976 ldr r0, [sp, #24]
23977 cmp r3, #0
23978 orr r3, r3, r0
23979 strneh r3, [r8, #0] @ movhi
23980 add lr, lr, fp
23981 cmp r9, r6
23982 mov r4, lr, asr #8
23983 mov ip, r5, asr #8
23984 add r8, r8, #2
23985 bgt .L7864
23986 b .L7841
23987.L8125:
23988 cmp r5, #0
23989 beq .L7841
23990 ldr r7, [sp, #0]
23991 mov ip, #0
23992 add r2, r7, r6, asl #1
23993 b .L8155
23994.L8650:
23995 sub r0, r0, #32
23996 add r2, r2, #16
23997.L8155:
23998 ldr r4, [r0, #0]
23999 cmp r4, #0
24000 beq .L8156
24001 ands r3, r4, #15
24002 ldrne r8, [sp, #24]
24003 orrne r3, r1, r3
24004 orrne r3, r3, r8
24005 strneh r3, [r2, #14] @ movhi
24006 mov r3, r4, lsr #4
24007 ands r3, r3, #15
24008 ldrne lr, [sp, #24]
24009 orrne r3, r1, r3
24010 orrne r3, r3, lr
24011 strneh r3, [r2, #12] @ movhi
24012 mov r3, r4, lsr #8
24013 ands r3, r3, #15
24014 ldrne r6, [sp, #24]
24015 orrne r3, r1, r3
24016 orrne r3, r3, r6
24017 strneh r3, [r2, #10] @ movhi
24018 mov r3, r4, lsr #12
24019 ands r3, r3, #15
24020 ldrne r7, [sp, #24]
24021 orrne r3, r1, r3
24022 orrne r3, r3, r7
24023 strneh r3, [r2, #8] @ movhi
24024 mov r3, r4, lsr #16
24025 ands r3, r3, #15
24026 ldrne r8, [sp, #24]
24027 orrne r3, r1, r3
24028 orrne r3, r3, r8
24029 strneh r3, [r2, #6] @ movhi
24030 mov r3, r4, lsr #20
24031 ands r3, r3, #15
24032 ldrne lr, [sp, #24]
24033 orrne r3, r1, r3
24034 orrne r3, r3, lr
24035 strneh r3, [r2, #4] @ movhi
24036 mov r3, r4, lsr #24
24037 ands r3, r3, #15
24038 ldrne r6, [sp, #24]
24039 orrne r3, r1, r3
24040 orrne r3, r3, r6
24041 strneh r3, [r2, #2] @ movhi
24042 movs r3, r4, lsr #28
24043 ldrne r7, [sp, #24]
24044 orrne r3, r1, r3
24045 orrne r3, r3, r7
24046 strneh r3, [r2, #0] @ movhi
24047.L8156:
24048 add ip, ip, #1
24049 cmp r5, ip
24050 bne .L8650
24051 b .L7841
24052.L8550:
24053 cmp r5, #0
24054 beq .L7841
24055 ldr r3, [sp, #0]
24056 mov ip, #0
24057 add r2, r3, r6, asl #1
24058 ldr r3, .L8668+28
24059 add r0, r0, r3
24060 b .L8594
24061.L8651:
24062 sub r1, r1, #64
24063 add r2, r2, #16
24064.L8594:
24065 ldr r4, [r0, #68]
24066 cmp r4, #0
24067 beq .L8595
24068 ands r3, r4, #255
24069 ldrne r6, [sp, #24]
24070 orrne r3, r3, r6
24071 strneh r3, [r2, #6] @ movhi
24072 mov r3, r4, lsr #8
24073 ands r3, r3, #255
24074 ldrne r7, [sp, #24]
24075 orrne r3, r3, r7
24076 strneh r3, [r2, #4] @ movhi
24077 mov r3, r4, lsr #16
24078 ands r3, r3, #255
24079 ldrne r8, [sp, #24]
24080 orrne r3, r3, r8
24081 strneh r3, [r2, #2] @ movhi
24082 movs r3, r4, lsr #24
24083 ldrne lr, [sp, #24]
24084 orrne r3, r3, lr
24085 strneh r3, [r2, #0] @ movhi
24086.L8595:
24087 ldr r4, [r1, #0]
24088 cmp r4, #0
24089 beq .L8604
24090 ands r3, r4, #255
24091 ldrne r6, [sp, #24]
24092 orrne r3, r3, r6
24093 strneh r3, [r2, #14] @ movhi
24094 mov r3, r4, lsr #8
24095 ands r3, r3, #255
24096 ldrne r7, [sp, #24]
24097 orrne r3, r3, r7
24098 strneh r3, [r2, #12] @ movhi
24099 mov r3, r4, lsr #16
24100 ands r3, r3, #255
24101 ldrne r8, [sp, #24]
24102 orrne r3, r3, r8
24103 strneh r3, [r2, #10] @ movhi
24104 movs r3, r4, lsr #24
24105 ldrne lr, [sp, #24]
24106 orrne r3, r3, lr
24107 strneh r3, [r2, #8] @ movhi
24108.L8604:
24109 add ip, ip, #1
24110 cmp r5, ip
24111 sub r0, r0, #64
24112 bne .L8651
24113 b .L7841
24114.L7995:
24115 cmp r5, #0
24116 beq .L7841
24117 ldr r7, [sp, #0]
24118 mov ip, #0
24119 add r2, r7, r6, asl #1
24120 b .L8025
24121.L8652:
24122 add r0, r0, #32
24123 add r2, r2, #16
24124.L8025:
24125 ldr r4, [r0, #0]
24126 cmp r4, #0
24127 beq .L8026
24128 ands r3, r4, #15
24129 ldrne r8, [sp, #24]
24130 orrne r3, r1, r3
24131 orrne r3, r3, r8
24132 strneh r3, [r2, #0] @ movhi
24133 mov r3, r4, lsr #4
24134 ands r3, r3, #15
24135 ldrne lr, [sp, #24]
24136 orrne r3, r1, r3
24137 orrne r3, r3, lr
24138 strneh r3, [r2, #2] @ movhi
24139 mov r3, r4, lsr #8
24140 ands r3, r3, #15
24141 ldrne r6, [sp, #24]
24142 orrne r3, r1, r3
24143 orrne r3, r3, r6
24144 strneh r3, [r2, #4] @ movhi
24145 mov r3, r4, lsr #12
24146 ands r3, r3, #15
24147 ldrne r7, [sp, #24]
24148 orrne r3, r1, r3
24149 orrne r3, r3, r7
24150 strneh r3, [r2, #6] @ movhi
24151 mov r3, r4, lsr #16
24152 ands r3, r3, #15
24153 ldrne r8, [sp, #24]
24154 orrne r3, r1, r3
24155 orrne r3, r3, r8
24156 strneh r3, [r2, #8] @ movhi
24157 mov r3, r4, lsr #20
24158 ands r3, r3, #15
24159 ldrne lr, [sp, #24]
24160 orrne r3, r1, r3
24161 orrne r3, r3, lr
24162 strneh r3, [r2, #10] @ movhi
24163 mov r3, r4, lsr #24
24164 ands r3, r3, #15
24165 ldrne r6, [sp, #24]
24166 orrne r3, r1, r3
24167 orrne r3, r3, r6
24168 strneh r3, [r2, #12] @ movhi
24169 movs r3, r4, lsr #28
24170 ldrne r7, [sp, #24]
24171 orrne r3, r1, r3
24172 orrne r3, r3, r7
24173 strneh r3, [r2, #14] @ movhi
24174.L8026:
24175 add ip, ip, #1
24176 cmp r5, ip
24177 bne .L8652
24178 b .L7841
24179.L8330:
24180 cmp lr, #0
24181 beq .L7841
24182 ldr r3, [sp, #0]
24183 mov ip, #0
24184 add r2, r3, r6, asl #1
24185 ldr r3, .L8668+32
24186 add r0, r0, r3
24187 b .L8374
24188.L8653:
24189 add r1, r1, #64
24190 add r2, r2, #16
24191.L8374:
24192 ldr r4, [r1, #0]
24193 cmp r4, #0
24194 beq .L8375
24195 ands r3, r4, #255
24196 ldrne r5, [sp, #24]
24197 orrne r3, r3, r5
24198 strneh r3, [r2, #0] @ movhi
24199 mov r3, r4, lsr #8
24200 ands r3, r3, #255
24201 ldrne r6, [sp, #24]
24202 orrne r3, r3, r6
24203 strneh r3, [r2, #2] @ movhi
24204 mov r3, r4, lsr #16
24205 ands r3, r3, #255
24206 ldrne r7, [sp, #24]
24207 orrne r3, r3, r7
24208 strneh r3, [r2, #4] @ movhi
24209 movs r3, r4, lsr #24
24210 ldrne r8, [sp, #24]
24211 orrne r3, r3, r8
24212 strneh r3, [r2, #6] @ movhi
24213.L8375:
24214 ldr r4, [r0, #-60]
24215 cmp r4, #0
24216 beq .L8384
24217 ands r3, r4, #255
24218 ldrne r5, [sp, #24]
24219 orrne r3, r3, r5
24220 strneh r3, [r2, #8] @ movhi
24221 mov r3, r4, lsr #8
24222 ands r3, r3, #255
24223 ldrne r6, [sp, #24]
24224 orrne r3, r3, r6
24225 strneh r3, [r2, #10] @ movhi
24226 mov r3, r4, lsr #16
24227 ands r3, r3, #255
24228 ldrne r7, [sp, #24]
24229 orrne r3, r3, r7
24230 strneh r3, [r2, #12] @ movhi
24231 movs r3, r4, lsr #24
24232 ldrne r8, [sp, #24]
24233 orrne r3, r3, r8
24234 strneh r3, [r2, #14] @ movhi
24235.L8384:
24236 add ip, ip, #1
24237 cmp lr, ip
24238 add r0, r0, #64
24239 bne .L8653
24240 b .L7841
24241.L8177:
24242 ands r2, r0, #7
24243 mov r3, r0, lsr #3
24244 add r0, r1, r3, asl #6
24245 ldreq r1, [sp, #84]
24246 beq .L8281
24247 cmp r2, #3
24248 rsb lr, r2, #8
24249 bhi .L8654
24250 subs r5, lr, #4
24251 ldr r1, [r0, #0]
24252 ldreq r1, [sp, #84]
24253 beq .L8294
24254 mov r3, r2, asl #3
24255 mov r2, r1, lsr r3
24256 mov ip, #0
24257.L8295:
24258 ands r3, r2, #255
24259 ldr r1, [sp, #24]
24260 ldrne r6, [sp, #84]
24261 orr r3, r3, r1
24262 mov r1, ip, asl #1
24263 add ip, ip, #1
24264 strneh r3, [r1, r6] @ movhi
24265 cmp ip, r5
24266 mov r2, r2, lsr #8
24267 bne .L8295
24268 ldr r7, [sp, #84]
24269 add r3, r7, lr, asl #1
24270 sub r1, r3, #8
24271.L8294:
24272 ldr r2, [r0, #4]
24273 cmp r2, #0
24274 beq .L8300
24275 ands r3, r2, #255
24276 ldrne r8, [sp, #24]
24277 orrne r3, r3, r8
24278 strneh r3, [r1, #0] @ movhi
24279 mov r3, r2, lsr #8
24280 ands r3, r3, #255
24281 ldrne ip, [sp, #24]
24282 orrne r3, r3, ip
24283 strneh r3, [r1, #2] @ movhi
24284 mov r3, r2, lsr #16
24285 ands r3, r3, #255
24286 ldrne lr, [sp, #24]
24287 orrne r3, r3, lr
24288 strneh r3, [r1, #4] @ movhi
24289 movs r3, r2, lsr #24
24290 ldrne r2, [sp, #24]
24291 orrne r3, r3, r2
24292 strneh r3, [r1, #6] @ movhi
24293.L8300:
24294 add r1, r1, #8
24295.L8286:
24296 add r0, r0, #64
24297.L8281:
24298 movs lr, r4, lsr #3
24299 beq .L7841
24300 mov ip, #0
24301 b .L8310
24302.L8655:
24303 add r0, r0, #64
24304 add r1, r1, #16
24305.L8310:
24306 ldr r2, [r0, #0]
24307 cmp r2, #0
24308 beq .L8311
24309 ands r3, r2, #255
24310 ldrne r4, [sp, #24]
24311 orrne r3, r3, r4
24312 strneh r3, [r1, #0] @ movhi
24313 mov r3, r2, lsr #8
24314 ands r3, r3, #255
24315 ldrne r5, [sp, #24]
24316 orrne r3, r3, r5
24317 strneh r3, [r1, #2] @ movhi
24318 mov r3, r2, lsr #16
24319 ands r3, r3, #255
24320 ldrne r6, [sp, #24]
24321 orrne r3, r3, r6
24322 strneh r3, [r1, #4] @ movhi
24323 movs r3, r2, lsr #24
24324 ldrne r7, [sp, #24]
24325 orrne r3, r3, r7
24326 strneh r3, [r1, #6] @ movhi
24327.L8311:
24328 ldr r2, [r0, #4]
24329 cmp r2, #0
24330 beq .L8320
24331 ands r3, r2, #255
24332 ldrne r8, [sp, #24]
24333 orrne r3, r3, r8
24334 strneh r3, [r1, #8] @ movhi
24335 mov r3, r2, lsr #8
24336 ands r3, r3, #255
24337 ldrne r4, [sp, #24]
24338 orrne r3, r3, r4
24339 strneh r3, [r1, #10] @ movhi
24340 mov r3, r2, lsr #16
24341 ands r3, r3, #255
24342 ldrne r5, [sp, #24]
24343 orrne r3, r3, r5
24344 strneh r3, [r1, #12] @ movhi
24345 movs r3, r2, lsr #24
24346 ldrne r6, [sp, #24]
24347 orrne r3, r3, r6
24348 strneh r3, [r1, #14] @ movhi
24349.L8320:
24350 add ip, ip, #1
24351 cmp lr, ip
24352 bne .L8655
24353 b .L7841
24354.L8047:
24355 ands r2, r4, #7
24356 mov r3, r4, lsr #3
24357 sub r0, r0, r3, asl #5
24358 ldreq r5, [sp, #84]
24359 beq .L8096
24360 rsbs lr, r2, #8
24361 ldr r4, [r0, #0]
24362 ldreq r5, [sp, #84]
24363 beq .L8099
24364 mov r3, r2, asl #2
24365 mov r4, r4, asl r3
24366 mov r6, #0
24367.L8100:
24368 movs r3, r4, lsr #28
24369 ldr r7, [sp, #24]
24370 ldrne r8, [sp, #84]
24371 orr r3, r1, r3
24372 mov r5, r6, asl #1
24373 orr r3, r3, r7
24374 add r6, r6, #1
24375 strneh r3, [r5, r8] @ movhi
24376 cmp lr, r6
24377 mov r4, r4, asl #4
24378 bne .L8100
24379 ldr r2, [sp, #84]
24380 add r5, r2, lr, asl #1
24381.L8099:
24382 sub r0, r0, #32
24383.L8096:
24384 movs ip, ip, lsr #3
24385 beq .L7841
24386 mov r2, #0
24387 b .L8106
24388.L8656:
24389 sub r0, r0, #32
24390 add r5, r5, #16
24391.L8106:
24392 ldr r4, [r0, #0]
24393 cmp r4, #0
24394 beq .L8107
24395 ands r3, r4, #15
24396 ldrne r6, [sp, #24]
24397 orrne r3, r1, r3
24398 orrne r3, r3, r6
24399 strneh r3, [r5, #14] @ movhi
24400 mov r3, r4, lsr #4
24401 ands r3, r3, #15
24402 ldrne r7, [sp, #24]
24403 orrne r3, r1, r3
24404 orrne r3, r3, r7
24405 strneh r3, [r5, #12] @ movhi
24406 mov r3, r4, lsr #8
24407 ands r3, r3, #15
24408 ldrne r8, [sp, #24]
24409 orrne r3, r1, r3
24410 orrne r3, r3, r8
24411 strneh r3, [r5, #10] @ movhi
24412 mov r3, r4, lsr #12
24413 ands r3, r3, #15
24414 ldrne lr, [sp, #24]
24415 orrne r3, r1, r3
24416 orrne r3, r3, lr
24417 strneh r3, [r5, #8] @ movhi
24418 mov r3, r4, lsr #16
24419 ands r3, r3, #15
24420 ldrne r6, [sp, #24]
24421 orrne r3, r1, r3
24422 orrne r3, r3, r6
24423 strneh r3, [r5, #6] @ movhi
24424 mov r3, r4, lsr #20
24425 ands r3, r3, #15
24426 ldrne r7, [sp, #24]
24427 orrne r3, r1, r3
24428 orrne r3, r3, r7
24429 strneh r3, [r5, #4] @ movhi
24430 mov r3, r4, lsr #24
24431 ands r3, r3, #15
24432 ldrne r8, [sp, #24]
24433 orrne r3, r1, r3
24434 orrne r3, r3, r8
24435 strneh r3, [r5, #2] @ movhi
24436 movs r3, r4, lsr #28
24437 ldrne lr, [sp, #24]
24438 orrne r3, r1, r3
24439 orrne r3, r3, lr
24440 strneh r3, [r5, #0] @ movhi
24441.L8107:
24442 add r2, r2, #1
24443 cmp r2, ip
24444 bne .L8656
24445 b .L7841
24446.L8397:
24447 mov r3, r0, lsr #3
24448 ands ip, r0, #7
24449 sub r2, r1, r3, asl #6
24450 ldreq r0, [sp, #84]
24451 beq .L8501
24452 cmp ip, #3
24453 rsb lr, ip, #8
24454 bhi .L8657
24455 subs r5, lr, #4
24456 ldr r1, [r2, #4]
24457 ldreq r0, [sp, #84]
24458 beq .L8514
24459 mov r3, ip, asl #3
24460 sub r3, r3, #32
24461 mov r1, r1, asl r3
24462 mov ip, #0
24463.L8515:
24464 movs r3, r1, lsr #24
24465 ldr r0, [sp, #24]
24466 ldrne r6, [sp, #84]
24467 orr r3, r3, r0
24468 mov r0, ip, asl #1
24469 add ip, ip, #1
24470 strneh r3, [r0, r6] @ movhi
24471 cmp r5, ip
24472 mov r1, r1, asl #8
24473 bne .L8515
24474 ldr r7, [sp, #84]
24475 add r3, r7, lr, asl #1
24476 sub r0, r3, #8
24477.L8514:
24478 ldr r1, [r2, #0]
24479 cmp r1, #0
24480 beq .L8520
24481 ands r3, r1, #255
24482 ldrne r8, [sp, #24]
24483 orrne r3, r3, r8
24484 strneh r3, [r0, #6] @ movhi
24485 mov r3, r1, lsr #8
24486 ands r3, r3, #255
24487 ldrne ip, [sp, #24]
24488 orrne r3, r3, ip
24489 strneh r3, [r0, #4] @ movhi
24490 mov r3, r1, lsr #16
24491 ands r3, r3, #255
24492 ldrne lr, [sp, #24]
24493 orrne r3, r3, lr
24494 strneh r3, [r0, #2] @ movhi
24495 movs r3, r1, lsr #24
24496 ldrne r1, [sp, #24]
24497 orrne r3, r3, r1
24498 strneh r3, [r0, #0] @ movhi
24499.L8520:
24500 add r0, r0, #8
24501.L8506:
24502 sub r2, r2, #64
24503.L8501:
24504 movs lr, r4, lsr #3
24505 beq .L7841
24506 mov ip, #0
24507 b .L8530
24508.L8658:
24509 sub r2, r2, #64
24510 add r0, r0, #16
24511.L8530:
24512 ldr r1, [r2, #4]
24513 cmp r1, #0
24514 beq .L8531
24515 ands r3, r1, #255
24516 ldrne r4, [sp, #24]
24517 orrne r3, r3, r4
24518 strneh r3, [r0, #6] @ movhi
24519 mov r3, r1, lsr #8
24520 ands r3, r3, #255
24521 ldrne r5, [sp, #24]
24522 orrne r3, r3, r5
24523 strneh r3, [r0, #4] @ movhi
24524 mov r3, r1, lsr #16
24525 ands r3, r3, #255
24526 ldrne r6, [sp, #24]
24527 orrne r3, r3, r6
24528 strneh r3, [r0, #2] @ movhi
24529 movs r3, r1, lsr #24
24530 ldrne r7, [sp, #24]
24531 orrne r3, r3, r7
24532 strneh r3, [r0, #0] @ movhi
24533.L8531:
24534 ldr r1, [r2, #0]
24535 cmp r1, #0
24536 beq .L8540
24537 ands r3, r1, #255
24538 ldrne r8, [sp, #24]
24539 orrne r3, r3, r8
24540 strneh r3, [r0, #14] @ movhi
24541 mov r3, r1, lsr #8
24542 ands r3, r3, #255
24543 ldrne r4, [sp, #24]
24544 orrne r3, r3, r4
24545 strneh r3, [r0, #12] @ movhi
24546 mov r3, r1, lsr #16
24547 ands r3, r3, #255
24548 ldrne r5, [sp, #24]
24549 orrne r3, r3, r5
24550 strneh r3, [r0, #10] @ movhi
24551 movs r3, r1, lsr #24
24552 ldrne r6, [sp, #24]
24553 orrne r3, r3, r6
24554 strneh r3, [r0, #8] @ movhi
24555.L8540:
24556 add ip, ip, #1
24557 cmp ip, lr
24558 bne .L8658
24559 b .L7841
24560.L7917:
24561 mov r3, r4, lsr #3
24562 mov r2, r3, asl #5
24563 ands r3, r4, #7
24564 add lr, r0, r2
24565 ldreq ip, [sp, #84]
24566 beq .L7966
24567 rsbs r4, r3, #8
24568 ldr r0, [r0, r2]
24569 ldreq ip, [sp, #84]
24570 beq .L7969
24571 mov r3, r3, asl #2
24572 mov r0, r0, lsr r3
24573 mov ip, #0
24574.L7970:
24575 ands r3, r0, #15
24576 ldr r6, [sp, #24]
24577 ldrne r7, [sp, #84]
24578 orr r3, r1, r3
24579 mov r2, ip, asl #1
24580 orr r3, r3, r6
24581 add ip, ip, #1
24582 strneh r3, [r2, r7] @ movhi
24583 cmp ip, r4
24584 mov r0, r0, lsr #4
24585 bne .L7970
24586 ldr r8, [sp, #84]
24587 add ip, r8, r4, asl #1
24588.L7969:
24589 add lr, lr, #32
24590.L7966:
24591 movs r4, r5, lsr #3
24592 beq .L7841
24593 mov r0, #0
24594 b .L7976
24595.L8659:
24596 add lr, lr, #32
24597 add ip, ip, #16
24598.L7976:
24599 ldr r2, [lr, #0]
24600 cmp r2, #0
24601 beq .L7977
24602 ands r3, r2, #15
24603 ldrne r5, [sp, #24]
24604 orrne r3, r1, r3
24605 orrne r3, r3, r5
24606 strneh r3, [ip, #0] @ movhi
24607 mov r3, r2, lsr #4
24608 ands r3, r3, #15
24609 ldrne r6, [sp, #24]
24610 orrne r3, r1, r3
24611 orrne r3, r3, r6
24612 strneh r3, [ip, #2] @ movhi
24613 mov r3, r2, lsr #8
24614 ands r3, r3, #15
24615 ldrne r7, [sp, #24]
24616 orrne r3, r1, r3
24617 orrne r3, r3, r7
24618 strneh r3, [ip, #4] @ movhi
24619 mov r3, r2, lsr #12
24620 ands r3, r3, #15
24621 ldrne r8, [sp, #24]
24622 orrne r3, r1, r3
24623 orrne r3, r3, r8
24624 strneh r3, [ip, #6] @ movhi
24625 mov r3, r2, lsr #16
24626 ands r3, r3, #15
24627 ldrne r5, [sp, #24]
24628 orrne r3, r1, r3
24629 orrne r3, r3, r5
24630 strneh r3, [ip, #8] @ movhi
24631 mov r3, r2, lsr #20
24632 ands r3, r3, #15
24633 ldrne r6, [sp, #24]
24634 orrne r3, r1, r3
24635 orrne r3, r3, r6
24636 strneh r3, [ip, #10] @ movhi
24637 mov r3, r2, lsr #24
24638 ands r3, r3, #15
24639 ldrne r7, [sp, #24]
24640 orrne r3, r1, r3
24641 orrne r3, r3, r7
24642 strneh r3, [ip, #12] @ movhi
24643 movs r3, r2, lsr #28
24644 ldrne r8, [sp, #24]
24645 orrne r3, r1, r3
24646 orrne r3, r3, r8
24647 strneh r3, [ip, #14] @ movhi
24648.L7977:
24649 add r0, r0, #1
24650 cmp r0, r4
24651 bne .L8659
24652 b .L7841
24653.L8179:
24654 ldr r0, [sp, #108]
24655 rsb lr, ip, #8
24656 cmp r0, lr
24657 blt .L8660
24658 cmp ip, #3
24659 bls .L8212
24660 cmp lr, #0
24661 ldr r2, [r6, #4]
24662 ldreq r4, [sp, #84]
24663 beq .L8216
24664 mov r3, ip, asl #3
24665 sub r3, r3, #32
24666 mov r1, r2, lsr r3
24667 mov r0, #0
24668.L8217:
24669 ands r3, r1, #255
24670 ldr r8, [sp, #24]
24671 ldrne ip, [sp, #84]
24672 mov r2, r0, asl #1
24673 orr r3, r3, r8
24674 add r0, r0, #1
24675 strneh r3, [r2, ip] @ movhi
24676 cmp lr, r0
24677 mov r1, r1, lsr #8
24678 bne .L8217
24679 ldr r0, [sp, #84]
24680 add r4, r0, lr, asl #1
24681.L8216:
24682 ldr r3, [sp, #108]
24683 add r6, r6, #64
24684 rsb r5, lr, r3
24685 b .L8181
24686.L8049:
24687 ldr r2, [sp, #108]
24688 rsb r6, lr, #8
24689 cmp r2, r6
24690 blt .L8661
24691 cmp r6, #0
24692 ldr r2, [r0, #0]
24693 ldreq r8, [sp, #84]
24694 beq .L8062
24695 mov r3, lr, asl #2
24696 mov lr, r2, asl r3
24697 mov r5, #0
24698.L8063:
24699 movs r3, lr, lsr #28
24700 ldr r7, [sp, #24]
24701 ldrne r8, [sp, #84]
24702 orr r3, r1, r3
24703 mov r4, r5, asl #1
24704 orr r3, r3, r7
24705 add r5, r5, #1
24706 strneh r3, [r4, r8] @ movhi
24707 cmp r6, r5
24708 mov lr, lr, asl #4
24709 bne .L8063
24710 ldr ip, [sp, #84]
24711 add r8, ip, r6, asl #1
24712.L8062:
24713 ldr lr, [sp, #108]
24714 sub r0, r0, #32
24715 rsb r2, r6, lr
24716 b .L8051
24717.L7919:
24718 ldr r7, [sp, #108]
24719 rsb lr, r3, #8
24720 cmp r7, lr
24721 blt .L8662
24722 cmp lr, #0
24723 ldr r2, [r5, #0]
24724 ldreq r6, [sp, #84]
24725 beq .L7932
24726 mov r3, r3, asl #2
24727 mov r2, r2, lsr r3
24728 mov ip, #0
24729.L7933:
24730 ands r3, r2, #15
24731 ldr r4, [sp, #24]
24732 ldrne r6, [sp, #84]
24733 orr r3, r1, r3
24734 mov r0, ip, asl #1
24735 orr r3, r3, r4
24736 add ip, ip, #1
24737 strneh r3, [r0, r6] @ movhi
24738 cmp lr, ip
24739 mov r2, r2, lsr #4
24740 bne .L7933
24741 ldr r7, [sp, #84]
24742 add r6, r7, lr, asl #1
24743.L7932:
24744 ldr r8, [sp, #108]
24745 add r5, r5, #32
24746 rsb r7, lr, r8
24747 b .L7921
24748.L8399:
24749 ldr r0, [sp, #108]
24750 rsb lr, ip, #8
24751 cmp r0, lr
24752 blt .L8663
24753 cmp ip, #3
24754 bls .L8432
24755 cmp lr, #0
24756 ldr r2, [r6, #0]
24757 ldreq r4, [sp, #84]
24758 beq .L8436
24759 mov r3, ip, asl #3
24760 sub r3, r3, #32
24761 mov r2, r2, asl r3
24762 mov r0, #0
24763.L8437:
24764 movs r3, r2, lsr #24
24765 ldr r8, [sp, #24]
24766 ldrne ip, [sp, #84]
24767 mov r1, r0, asl #1
24768 orr r3, r3, r8
24769 add r0, r0, #1
24770 strneh r3, [r1, ip] @ movhi
24771 cmp lr, r0
24772 mov r2, r2, asl #8
24773 bne .L8437
24774 ldr r0, [sp, #84]
24775 add r4, r0, lr, asl #1
24776.L8436:
24777 ldr r3, [sp, #108]
24778 sub r6, r6, #64
24779 rsb r5, lr, r3
24780 b .L8401
24781.L8663:
24782 cmp r0, #0
24783 ble .L7841
24784 cmp ip, #3
24785 bls .L8405
24786 ldr r2, [r6, #0]
24787 mov r3, ip, asl #3
24788 sub r3, r3, #32
24789 mov r2, r2, asl r3
24790 mov r0, #0
24791.L8408:
24792 movs r3, r2, lsr #24
24793 ldr r1, [sp, #24]
24794 ldrne r4, [sp, #84]
24795 ldr r5, [sp, #108]
24796 orr r3, r3, r1
24797 mov r1, r0, asl #1
24798 add r0, r0, #1
24799 strneh r3, [r1, r4] @ movhi
24800 cmp r5, r0
24801 mov r2, r2, asl #8
24802 bne .L8408
24803 b .L7841
24804.L8662:
24805 cmp r7, #0
24806 ble .L7841
24807 ldr r2, [r0, r2]
24808 mov r3, r3, asl #2
24809 mov r0, r2, lsr r3
24810 mov ip, #0
24811.L7926:
24812 ands r3, r0, #15
24813 ldr r8, [sp, #24]
24814 ldrne lr, [sp, #84]
24815 orr r3, r1, r3
24816 mov r2, ip, asl #1
24817 orr r3, r3, r8
24818 strneh r3, [r2, lr] @ movhi
24819 ldr r2, [sp, #108]
24820 add ip, ip, #1
24821 cmp r2, ip
24822 mov r0, r0, lsr #4
24823 bne .L7926
24824 b .L7841
24825.L8661:
24826 cmp r2, #0
24827 ble .L7841
24828 ldr r2, [r0, #0]
24829 mov r3, lr, asl #2
24830 mov r0, r2, asl r3
24831 mov ip, #0
24832.L8056:
24833 movs r3, r0, lsr #28
24834 ldr r4, [sp, #24]
24835 ldrne r5, [sp, #84]
24836 orr r3, r1, r3
24837 ldr r6, [sp, #108]
24838 mov r2, ip, asl #1
24839 orr r3, r3, r4
24840 add ip, ip, #1
24841 strneh r3, [r2, r5] @ movhi
24842 cmp r6, ip
24843 mov r0, r0, asl #4
24844 bne .L8056
24845 b .L7841
24846.L8657:
24847 cmp lr, #0
24848 ldr r1, [r2, #0]
24849 ldreq r0, [sp, #84]
24850 beq .L8506
24851 mov r3, ip, asl #3
24852 sub r3, r3, #32
24853 mov r1, r1, asl r3
24854 mov ip, #0
24855.L8507:
24856 movs r3, r1, lsr #24
24857 ldr r6, [sp, #24]
24858 ldrne r7, [sp, #84]
24859 mov r0, ip, asl #1
24860 orr r3, r3, r6
24861 add ip, ip, #1
24862 strneh r3, [r0, r7] @ movhi
24863 cmp ip, lr
24864 mov r1, r1, asl #8
24865 bne .L8507
24866 ldr r8, [sp, #84]
24867 sub r2, r2, #64
24868 add r0, r8, lr, asl #1
24869 b .L8501
24870.L8654:
24871 cmp lr, #0
24872 ldr r1, [r0, #4]
24873 ldreq r1, [sp, #84]
24874 beq .L8286
24875 mov r3, r2, asl #3
24876 sub r3, r3, #32
24877 mov r2, r1, lsr r3
24878 mov ip, #0
24879.L8287:
24880 ands r3, r2, #255
24881 ldr r6, [sp, #24]
24882 ldrne r7, [sp, #84]
24883 mov r1, ip, asl #1
24884 orr r3, r3, r6
24885 add ip, ip, #1
24886 strneh r3, [r1, r7] @ movhi
24887 cmp ip, lr
24888 mov r2, r2, lsr #8
24889 bne .L8287
24890 ldr r8, [sp, #84]
24891 add r0, r0, #64
24892 add r1, r8, lr, asl #1
24893 b .L8281
24894.L8660:
24895 cmp r0, #0
24896 ble .L7841
24897 cmp ip, #3
24898 bls .L8185
24899 ldr r2, [r6, #4]
24900 mov r3, ip, asl #3
24901 sub r3, r3, #32
24902 mov r1, r2, lsr r3
24903 mov r0, #0
24904.L8188:
24905 ands r3, r1, #255
24906 ldr r2, [sp, #24]
24907 ldrne r4, [sp, #84]
24908 ldr r5, [sp, #108]
24909 orr r3, r3, r2
24910 mov r2, r0, asl #1
24911 add r0, r0, #1
24912 strneh r3, [r2, r4] @ movhi
24913 cmp r5, r0
24914 mov r1, r1, lsr #8
24915 bne .L8188
24916 b .L7841
24917.L8667:
24918 mov r6, #0
24919 b .L7899
24920.L8432:
24921 subs r4, lr, #4
24922 ldr r2, [r6, #4]
24923 ldreq r1, [sp, #84]
24924 beq .L8444
24925 mov r3, ip, asl #3
24926 sub r3, r3, #32
24927 mov r2, r2, asl r3
24928 mov r0, #0
24929.L8445:
24930 movs r3, r2, lsr #24
24931 ldr r1, [sp, #24]
24932 ldrne r5, [sp, #84]
24933 orr r3, r3, r1
24934 mov r1, r0, asl #1
24935 add r0, r0, #1
24936 strneh r3, [r1, r5] @ movhi
24937 cmp r4, r0
24938 mov r2, r2, asl #8
24939 bne .L8445
24940 ldr r7, [sp, #84]
24941 add r3, r7, lr, asl #1
24942 sub r1, r3, #8
24943.L8444:
24944 ldr r2, [r6, #0]
24945 cmp r2, #0
24946 beq .L8450
24947 ands r3, r2, #255
24948 ldrne r8, [sp, #24]
24949 orrne r3, r3, r8
24950 strneh r3, [r1, #6] @ movhi
24951 mov r3, r2, lsr #8
24952 ands r3, r3, #255
24953 ldrne ip, [sp, #24]
24954 orrne r3, r3, ip
24955 strneh r3, [r1, #4] @ movhi
24956 mov r3, r2, lsr #16
24957 ands r3, r3, #255
24958 ldrne r0, [sp, #24]
24959 orrne r3, r3, r0
24960 strneh r3, [r1, #2] @ movhi
24961 movs r3, r2, lsr #24
24962 ldrne r2, [sp, #24]
24963 orrne r3, r3, r2
24964 strneh r3, [r1, #0] @ movhi
24965.L8450:
24966 add r4, r1, #8
24967 b .L8436
24968.L8212:
24969 subs r4, lr, #4
24970 ldr r2, [r6, #0]
24971 ldreq r1, [sp, #84]
24972 beq .L8224
24973 mov r3, ip, asl #3
24974 mov r1, r2, lsr r3
24975 mov r0, #0
24976.L8225:
24977 ands r3, r1, #255
24978 ldr r2, [sp, #24]
24979 ldrne r5, [sp, #84]
24980 orr r3, r3, r2
24981 mov r2, r0, asl #1
24982 add r0, r0, #1
24983 strneh r3, [r2, r5] @ movhi
24984 cmp r0, r4
24985 mov r1, r1, lsr #8
24986 bne .L8225
24987 ldr r7, [sp, #84]
24988 add r3, r7, lr, asl #1
24989 sub r1, r3, #8
24990.L8224:
24991 ldr r2, [r6, #4]
24992 cmp r2, #0
24993 beq .L8230
24994 ands r3, r2, #255
24995 ldrne r8, [sp, #24]
24996 orrne r3, r3, r8
24997 strneh r3, [r1, #0] @ movhi
24998 mov r3, r2, lsr #8
24999 ands r3, r3, #255
25000 ldrne ip, [sp, #24]
25001 orrne r3, r3, ip
25002 strneh r3, [r1, #2] @ movhi
25003 mov r3, r2, lsr #16
25004 ands r3, r3, #255
25005 ldrne r0, [sp, #24]
25006 orrne r3, r3, r0
25007 strneh r3, [r1, #4] @ movhi
25008 movs r3, r2, lsr #24
25009 ldrne r2, [sp, #24]
25010 orrne r3, r3, r2
25011 strneh r3, [r1, #6] @ movhi
25012.L8230:
25013 add r4, r1, #8
25014 b .L8216
25015.L8665:
25016 ldr r5, [sp, #16]
25017 b .L8630
25018.L8664:
25019 mov ip, fp
25020 b .L8628
25021.L8405:
25022 ldr r7, [sp, #108]
25023 mov r3, ip, asl #3
25024 ldr r1, [r6, #4]
25025 add r2, r7, ip
25026 sub r3, r3, #32
25027 cmp r2, #4
25028 mov r1, r1, asl r3
25029 bhi .L8412
25030 cmp r7, #0
25031 movne r0, #0
25032 beq .L7841
25033.L8428:
25034 movs r3, r1, lsr #24
25035 ldr r5, [sp, #24]
25036 ldrne r6, [sp, #84]
25037 ldr r7, [sp, #108]
25038 mov r2, r0, asl #1
25039 orr r3, r3, r5
25040 add r0, r0, #1
25041 strneh r3, [r2, r6] @ movhi
25042 cmp r7, r0
25043 mov r1, r1, asl #8
25044 bne .L8428
25045 b .L7841
25046.L8185:
25047 ldr r7, [sp, #108]
25048 ldr r3, [r6, #0]
25049 add r2, r7, ip
25050 cmp r2, #4
25051 mov r1, ip, asl #3
25052 mov r2, r3, lsr r1
25053 bhi .L8192
25054 cmp r7, #0
25055 movne r0, #0
25056 beq .L7841
25057.L8208:
25058 ands r3, r2, #255
25059 ldr r5, [sp, #24]
25060 ldrne r6, [sp, #84]
25061 ldr r7, [sp, #108]
25062 mov r1, r0, asl #1
25063 orr r3, r3, r5
25064 add r0, r0, #1
25065 strneh r3, [r1, r6] @ movhi
25066 cmp r7, r0
25067 mov r2, r2, lsr #8
25068 bne .L8208
25069 b .L7841
25070.L8412:
25071 rsbs ip, ip, #4
25072 ldreq lr, [sp, #84]
25073 beq .L8417
25074 mov r0, #0
25075.L8418:
25076 movs r3, r1, lsr #24
25077 ldr r8, [sp, #24]
25078 ldrne lr, [sp, #84]
25079 mov r2, r0, asl #1
25080 orr r3, r3, r8
25081 add r0, r0, #1
25082 strneh r3, [r2, lr] @ movhi
25083 cmp r0, ip
25084 mov r1, r1, asl #8
25085 bne .L8418
25086 ldr r0, [sp, #84]
25087 add lr, r0, ip, asl #1
25088.L8417:
25089 ldr r1, [sp, #108]
25090 ldr r2, [r6, #0]
25091 subs ip, r1, ip
25092 beq .L7841
25093 mov r0, #0
25094.L8424:
25095 ldr r4, [sp, #24]
25096 movs r3, r2, lsr #24
25097 mov r1, r0, asl #1
25098 orr r3, r3, r4
25099 add r0, r0, #1
25100 strneh r3, [r1, lr] @ movhi
25101 cmp r0, ip
25102 mov r2, r2, asl #8
25103 bne .L8424
25104 b .L7841
25105.L8192:
25106 rsbs ip, ip, #4
25107 ldreq lr, [sp, #84]
25108 beq .L8197
25109 mov r0, #0
25110.L8198:
25111 ands r3, r2, #255
25112 ldr r8, [sp, #24]
25113 ldrne lr, [sp, #84]
25114 mov r1, r0, asl #1
25115 orr r3, r3, r8
25116 add r0, r0, #1
25117 strneh r3, [r1, lr] @ movhi
25118 cmp r0, ip
25119 mov r2, r2, lsr #8
25120 bne .L8198
25121 ldr r0, [sp, #84]
25122 add lr, r0, ip, asl #1
25123.L8197:
25124 ldr r1, [sp, #108]
25125 ldr r2, [r6, #4]
25126 subs ip, r1, ip
25127 beq .L7841
25128 mov r0, #0
25129.L8204:
25130 ldr r4, [sp, #24]
25131 ands r3, r2, #255
25132 mov r1, r0, asl #1
25133 orr r3, r3, r4
25134 add r0, r0, #1
25135 strneh r3, [r1, lr] @ movhi
25136 cmp r0, ip
25137 mov r2, r2, lsr #8
25138 bne .L8204
25139 b .L7841
25140 .size render_scanline_obj_color16_1D, .-render_scanline_obj_color16_1D
25141 .align 2
25142 .global render_scanline_obj_color16_2D
25143 .type render_scanline_obj_color16_2D, %function
25144render_scanline_obj_color16_2D:
25145 @ args = 0, pretend = 0, frame = 96
25146 @ frame_needed = 0, uses_anonymous_args = 0
25147 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
25148 ldr ip, .L9512
25149 sub sp, sp, #96
25150 ldrh r4, [ip, #6]
25151 add r0, r0, r0, asl #2
25152 str r4, [sp, #36]
25153 ldr r5, [sp, #36]
25154 ldrh r4, [ip, #80]
25155 ldr ip, .L9512+4
25156 add r0, r5, r0, asl #5
25157 ldr ip, [ip, r0, asl #2]
25158 mov lr, r4, lsr #11
25159 and lr, lr, #2
25160 mov r4, r4, asl #27
25161 str ip, [sp, #40]
25162 orr lr, lr, r4, lsr #31
25163 cmp ip, #0
25164 ldr ip, .L9512+8
25165 mov lr, lr, asl #9
25166 add r0, ip, r0, asl #7
25167 orr lr, lr, #256
25168 str r0, [sp, #44]
25169 str r1, [sp, #12]
25170 str r2, [sp, #8]
25171 str r3, [sp, #4]
25172 str lr, [sp, #28]
25173 beq .L9458
25174 mov r8, #0
25175 add r6, r3, r1, asl #1
25176 rsb r7, r1, r2
25177 str r6, [sp, #68]
25178 str r7, [sp, #92]
25179 str r8, [sp, #32]
25180 mov ip, r8
25181.L8673:
25182 ldr lr, [sp, #44]
25183 ldr r0, .L9512+12
25184 ldrb r3, [ip, lr] @ zero_extendqisi2
25185 mov r3, r3, asl #3
25186 ldrh r4, [r3, r0]
25187 add r3, r3, r0
25188 ldrh r1, [r3, #2]
25189 mov r5, r4, lsr #12
25190 and r2, r5, #12
25191 orr r0, r2, r1, lsr #14
25192 and ip, r4, #255
25193 mov r2, r1, asl #23
25194 cmp ip, #160
25195 ldrh lr, [r3, #4]
25196 mov r6, r2, asr #23
25197 ldr r3, .L9512+16
25198 ldr r2, .L9512+20
25199 subgt ip, ip, #256
25200 tst r4, #256
25201 ldr r8, [r2, r0, asl #2]
25202 ldr sl, [r3, r0, asl #2]
25203 beq .L8676
25204 tst r4, #8192
25205 beq .L8678
25206 tst r4, #512
25207 mov r3, r1, lsr #4
25208 ldr r4, .L9512+12
25209 and r3, r3, #992
25210 add r3, r3, r4
25211 add r2, r8, r8, lsr #31
25212 ldrh r5, [r3, #30]
25213 mov r4, r2, asr #1
25214 add r1, sl, sl, lsr #31
25215 ldr r2, [sp, #12]
25216 movne r0, r4, asl #1
25217 str r5, [sp, #16]
25218 mov r5, r1, asr #1
25219 strne r0, [sp, #52]
25220 moveq r9, r8
25221 streq r4, [sp, #52]
25222 moveq r0, r5
25223 movne r9, r8, asl #1
25224 movne r0, r5, asl #1
25225 cmp r6, r2
25226 ldrh r7, [r3, #6]
25227 ldrh r1, [r3, #14]
25228 ldrh fp, [r3, #22]
25229 bge .L8683
25230 rsb r2, r6, r2
25231 rsb r9, r2, r9
25232 cmp r9, #0
25233 ble .L8685
25234 ldr r3, [sp, #52]
25235 ldr r6, [sp, #12]
25236 rsb r3, r2, r3
25237 str r3, [sp, #52]
25238.L8683:
25239 ldr r2, [sp, #8]
25240 add r3, r6, r9
25241 cmp r3, r2
25242 blt .L8687
25243 rsb r9, r6, r2
25244 cmp r9, #0
25245 ble .L8685
25246.L8687:
25247 mov r3, r7, asl #16
25248 mov r2, r1, asl #16
25249 ldr r7, [sp, #16]
25250 mov r3, r3, asr #16
25251 add r0, ip, r0
25252 str r3, [sp, #48]
25253 mov ip, r2, asr #16
25254 ldr r3, [sp, #36]
25255 ldr r2, [sp, #4]
25256 mov r1, r7, asl #16
25257 mov r4, r4, asl #8
25258 cmp fp, #0
25259 str r4, [sp, #76]
25260 mov r1, r1, asr #16
25261 mov r4, r5, asl #8
25262 add r7, r2, r6, asl #1
25263 rsb r0, r0, r3
25264 bne .L8689
25265 mla r3, r0, r1, r4
25266 mov r1, r3, asr #8
25267 cmp r1, sl
25268 bcs .L8685
25269 mov r3, lr, asl #22
25270 mov r2, r1, lsr #3
25271 mov r3, r3, lsr #22
25272 add r3, r3, r2, asl #5
25273 and r1, r1, #7
25274 add r1, r1, r3, asl #2
25275 ldr r3, .L9512+24
25276 cmp r9, #0
25277 add lr, r3, r1, asl #3
25278 ble .L8685
25279 ldr r4, [sp, #48]
25280 ldr r2, [sp, #52]
25281 mul r3, r0, ip
25282 mul r2, r4, r2
25283 ldr r5, [sp, #76]
25284 rsb r3, r2, r3
25285 add r0, r5, r3
25286 mov r4, r0, asr #8
25287 cmp r4, r8
25288 movcs ip, fp
25289 bcs .L8695
25290 b .L9508
25291.L8696:
25292 cmp r4, r8
25293 bcc .L9472
25294.L8695:
25295 ldr r6, [sp, #48]
25296 add ip, ip, #1
25297 add r0, r0, r6
25298 cmp r9, ip
25299 mov r4, r0, asr #8
25300 add r7, r7, #2
25301 bne .L8696
25302.L8685:
25303 ldr ip, [sp, #32]
25304 ldr lr, [sp, #40]
25305 add ip, ip, #1
25306 cmp ip, lr
25307 str ip, [sp, #32]
25308 beq .L9458
25309.L9490:
25310 ldr ip, [sp, #32]
25311 b .L8673
25312.L8676:
25313 ldr r2, [sp, #36]
25314 tst r1, #8192
25315 rsb r0, ip, r2
25316 rsbne r3, r0, sl
25317 subne r0, r3, #1
25318 mov r2, r1, asl #19
25319 and r3, r5, #2
25320 orr r3, r3, r2, lsr #31
25321 cmp r3, #3
25322 ldrls pc, [pc, r3, asl #2]
25323 b .L8685
25324 .p2align 2
25325.L8757:
25326 .word .L8753
25327 .word .L8754
25328 .word .L8755
25329 .word .L8756
25330.L8753:
25331 mov r3, lr, asl #22
25332 mov r2, r0, lsr #3
25333 mov r3, r3, lsr #22
25334 add r3, r3, r2, asl #5
25335 and r1, r0, #7
25336 add r1, r1, r3, asl #3
25337 ldr r3, [sp, #12]
25338 mov r2, lr, lsr #8
25339 cmp r6, r3
25340 ldr r3, .L9512+24
25341 add r0, r3, r1, asl #2
25342 and r1, r2, #240
25343 blt .L9485
25344 ldr ip, [sp, #8]
25345 add r3, r6, r8
25346 cmp ip, r3
25347 bhi .L8839
25348 rsb r8, r6, ip
25349 cmp r8, #0
25350 ble .L8685
25351 ldr lr, [sp, #4]
25352 movs r7, r8, lsr #3
25353 add r2, lr, r6, asl #1
25354 beq .L8842
25355 mov r5, r2
25356 mov lr, r0
25357 mov ip, #0
25358.L8844:
25359 ldr r4, [lr, #0]
25360 cmp r4, #0
25361 beq .L8845
25362 ands r3, r4, #15
25363 ldrne r6, [sp, #28]
25364 orrne r3, r1, r3
25365 orrne r3, r3, r6
25366 strneh r3, [r5, #0] @ movhi
25367 mov r3, r4, lsr #4
25368 ands r3, r3, #15
25369 ldrne r6, [sp, #28]
25370 orrne r3, r1, r3
25371 orrne r3, r3, r6
25372 strneh r3, [r5, #2] @ movhi
25373 mov r3, r4, lsr #8
25374 ands r3, r3, #15
25375 ldrne r6, [sp, #28]
25376 orrne r3, r1, r3
25377 orrne r3, r3, r6
25378 strneh r3, [r5, #4] @ movhi
25379 mov r3, r4, lsr #12
25380 ands r3, r3, #15
25381 ldrne r6, [sp, #28]
25382 orrne r3, r1, r3
25383 orrne r3, r3, r6
25384 strneh r3, [r5, #6] @ movhi
25385 mov r3, r4, lsr #16
25386 ands r3, r3, #15
25387 ldrne r6, [sp, #28]
25388 orrne r3, r1, r3
25389 orrne r3, r3, r6
25390 strneh r3, [r5, #8] @ movhi
25391 mov r3, r4, lsr #20
25392 ands r3, r3, #15
25393 ldrne r6, [sp, #28]
25394 orrne r3, r1, r3
25395 orrne r3, r3, r6
25396 strneh r3, [r5, #10] @ movhi
25397 mov r3, r4, lsr #24
25398 ands r3, r3, #15
25399 ldrne r6, [sp, #28]
25400 orrne r3, r1, r3
25401 orrne r3, r3, r6
25402 strneh r3, [r5, #12] @ movhi
25403 movs r3, r4, lsr #28
25404 ldrne r4, [sp, #28]
25405 orrne r3, r1, r3
25406 orrne r3, r3, r4
25407 strneh r3, [r5, #14] @ movhi
25408.L8845:
25409 add ip, ip, #1
25410 cmp ip, r7
25411 add lr, lr, #32
25412 add r5, r5, #16
25413 bne .L8844
25414 add r0, r0, r7, asl #5
25415 add r2, r2, r7, asl #4
25416.L8842:
25417 ands lr, r8, #7
25418 beq .L8685
25419 ldr r0, [r0, #0]
25420 mov r4, #0
25421.L8864:
25422 ands r3, r0, #15
25423 ldr r5, [sp, #28]
25424 orr r3, r1, r3
25425 mov ip, r4, asl #1
25426 orr r3, r3, r5
25427 add r4, r4, #1
25428 strneh r3, [ip, r2] @ movhi
25429 cmp r4, lr
25430 mov r0, r0, lsr #4
25431 bne .L8864
25432 b .L8685
25433.L8754:
25434 mov r3, lr, asl #22
25435 mov r1, r0, lsr #3
25436 subs r2, r8, #8
25437 mov r3, r3, lsr #22
25438 submi r2, r8, #1
25439 add r3, r3, r1, asl #5
25440 add r3, r3, r2, asr #3
25441 and r1, r0, #7
25442 ldr ip, [sp, #12]
25443 add r1, r1, r3, asl #3
25444 ldr r3, .L9512+24
25445 mov r2, lr, lsr #8
25446 cmp r6, ip
25447 add r0, r3, r1, asl #2
25448 and r1, r2, #240
25449 blt .L9486
25450 ldr r2, [sp, #8]
25451 add r3, r6, r8
25452 cmp r2, r3
25453 bhi .L8969
25454 rsb r8, r6, r2
25455 cmp r8, #0
25456 ble .L8685
25457 ldr r3, [sp, #4]
25458 movs r7, r8, lsr #3
25459 add r2, r3, r6, asl #1
25460 beq .L8972
25461 mov r5, r2
25462 mov lr, r0
25463 mov ip, #0
25464.L8974:
25465 ldr r4, [lr, #0]
25466 cmp r4, #0
25467 beq .L8975
25468 ands r3, r4, #15
25469 ldrne r6, [sp, #28]
25470 orrne r3, r1, r3
25471 orrne r3, r3, r6
25472 strneh r3, [r5, #14] @ movhi
25473 mov r3, r4, lsr #4
25474 ands r3, r3, #15
25475 ldrne r6, [sp, #28]
25476 orrne r3, r1, r3
25477 orrne r3, r3, r6
25478 strneh r3, [r5, #12] @ movhi
25479 mov r3, r4, lsr #8
25480 ands r3, r3, #15
25481 ldrne r6, [sp, #28]
25482 orrne r3, r1, r3
25483 orrne r3, r3, r6
25484 strneh r3, [r5, #10] @ movhi
25485 mov r3, r4, lsr #12
25486 ands r3, r3, #15
25487 ldrne r6, [sp, #28]
25488 orrne r3, r1, r3
25489 orrne r3, r3, r6
25490 strneh r3, [r5, #8] @ movhi
25491 mov r3, r4, lsr #16
25492 ands r3, r3, #15
25493 ldrne r6, [sp, #28]
25494 orrne r3, r1, r3
25495 orrne r3, r3, r6
25496 strneh r3, [r5, #6] @ movhi
25497 mov r3, r4, lsr #20
25498 ands r3, r3, #15
25499 ldrne r6, [sp, #28]
25500 orrne r3, r1, r3
25501 orrne r3, r3, r6
25502 strneh r3, [r5, #4] @ movhi
25503 mov r3, r4, lsr #24
25504 ands r3, r3, #15
25505 ldrne r6, [sp, #28]
25506 orrne r3, r1, r3
25507 orrne r3, r3, r6
25508 strneh r3, [r5, #2] @ movhi
25509 movs r3, r4, lsr #28
25510 ldrne r4, [sp, #28]
25511 orrne r3, r1, r3
25512 orrne r3, r3, r4
25513 strneh r3, [r5, #0] @ movhi
25514.L8975:
25515 add ip, ip, #1
25516 cmp ip, r7
25517 sub lr, lr, #32
25518 add r5, r5, #16
25519 bne .L8974
25520 rsb r3, r7, r7, asl #27
25521 add r0, r0, r3, asl #5
25522 add r2, r2, r7, asl #4
25523.L8972:
25524 ands lr, r8, #7
25525 beq .L8685
25526 ldr r0, [r0, #0]
25527 mov r4, #0
25528.L8994:
25529 movs r3, r0, lsr #28
25530 ldr r5, [sp, #28]
25531 orr r3, r1, r3
25532 mov ip, r4, asl #1
25533 orr r3, r3, r5
25534 add r4, r4, #1
25535 strneh r3, [ip, r2] @ movhi
25536 cmp r4, lr
25537 mov r0, r0, asl #4
25538 bne .L8994
25539 b .L8685
25540.L8755:
25541 mov r2, lr, asl #22
25542 mov r1, r0, lsr #3
25543 mov r2, r2, lsr #22
25544 and r3, r0, #7
25545 add r2, r2, r1, asl #5
25546 add r3, r3, r2, asl #2
25547 ldr ip, [sp, #12]
25548 mov r0, r3, asl #3
25549 ldr r3, .L9512+24
25550 cmp r6, ip
25551 add ip, r0, r3
25552 blt .L9487
25553 ldr r7, [sp, #8]
25554 add r3, r6, r8
25555 cmp r7, r3
25556 bhi .L9174
25557 rsb r8, r6, r7
25558 cmp r8, #0
25559 ble .L8685
25560 ldr lr, [sp, #4]
25561 movs r7, r8, lsr #3
25562 add r2, lr, r6, asl #1
25563 beq .L9177
25564 ldr r3, .L9512+32
25565 mov r5, r2
25566 add r0, r0, r3
25567 mov lr, ip
25568 mov r1, #0
25569.L9179:
25570 ldr r4, [lr, #0]
25571 cmp r4, #0
25572 beq .L9180
25573 ands r3, r4, #255
25574 ldrne r6, [sp, #28]
25575 orrne r3, r3, r6
25576 strneh r3, [r5, #0] @ movhi
25577 mov r3, r4, lsr #8
25578 ands r3, r3, #255
25579 ldrne r6, [sp, #28]
25580 orrne r3, r3, r6
25581 strneh r3, [r5, #2] @ movhi
25582 mov r3, r4, lsr #16
25583 ands r3, r3, #255
25584 ldrne r6, [sp, #28]
25585 orrne r3, r3, r6
25586 strneh r3, [r5, #4] @ movhi
25587 movs r3, r4, lsr #24
25588 ldrne r4, [sp, #28]
25589 orrne r3, r3, r4
25590 strneh r3, [r5, #6] @ movhi
25591.L9180:
25592 ldr r4, [r0, #-60]
25593 cmp r4, #0
25594 beq .L9189
25595 ands r3, r4, #255
25596 ldrne r6, [sp, #28]
25597 orrne r3, r3, r6
25598 strneh r3, [r5, #8] @ movhi
25599 mov r3, r4, lsr #8
25600 ands r3, r3, #255
25601 ldrne r6, [sp, #28]
25602 orrne r3, r3, r6
25603 strneh r3, [r5, #10] @ movhi
25604 mov r3, r4, lsr #16
25605 ands r3, r3, #255
25606 ldrne r6, [sp, #28]
25607 orrne r3, r3, r6
25608 strneh r3, [r5, #12] @ movhi
25609 movs r3, r4, lsr #24
25610 ldrne r4, [sp, #28]
25611 orrne r3, r3, r4
25612 strneh r3, [r5, #14] @ movhi
25613.L9189:
25614 add r1, r1, #1
25615 cmp r7, r1
25616 add lr, lr, #64
25617 add r5, r5, #16
25618 add r0, r0, #64
25619 bne .L9179
25620 add ip, ip, r7, asl #6
25621 add r2, r2, r7, asl #4
25622.L9177:
25623 ands lr, r8, #7
25624 beq .L8685
25625 cmp lr, #3
25626 ldrls r0, [ip, #0]
25627 bls .L9212
25628 ldr r1, [ip, #0]
25629 cmp r1, #0
25630 beq .L9202
25631 ands r3, r1, #255
25632 ldrne r5, [sp, #28]
25633 orrne r3, r3, r5
25634 strneh r3, [r2, #0] @ movhi
25635 mov r3, r1, lsr #8
25636 ands r3, r3, #255
25637 ldrne r6, [sp, #28]
25638 orrne r3, r3, r6
25639 strneh r3, [r2, #2] @ movhi
25640 mov r3, r1, lsr #16
25641 ands r3, r3, #255
25642 ldrne r7, [sp, #28]
25643 orrne r3, r3, r7
25644 strneh r3, [r2, #4] @ movhi
25645 movs r3, r1, lsr #24
25646 ldrne r8, [sp, #28]
25647 orrne r3, r3, r8
25648 strneh r3, [r2, #6] @ movhi
25649.L9202:
25650 subs lr, lr, #4
25651 ldr r0, [ip, #4]
25652 addne r2, r2, #8
25653 beq .L8685
25654.L9212:
25655 mov r1, #0
25656.L9213:
25657 ldr ip, [sp, #28]
25658 ands r3, r0, #255
25659 orr r3, r3, ip
25660 mov ip, r1, asl #1
25661 add r1, r1, #1
25662 strneh r3, [ip, r2] @ movhi
25663 cmp lr, r1
25664 mov r0, r0, lsr #8
25665 bhi .L9213
25666 b .L8685
25667.L8756:
25668 subs r2, r8, #8
25669 submi r2, r8, #1
25670 mov r3, r0, lsr #3
25671 mov r2, r2, asr #3
25672 mov r1, lr, asl #22
25673 add r2, r2, r3, asl #4
25674 mov r1, r1, lsr #22
25675 and r3, r0, #7
25676 add r1, r1, r2, asl #1
25677 add r3, r3, r1, asl #2
25678 ldr ip, [sp, #12]
25679 mov r0, r3, asl #3
25680 ldr r3, .L9512+24
25681 cmp r6, ip
25682 add ip, r0, r3
25683 blt .L9488
25684 ldr r7, [sp, #8]
25685 add r3, r6, r8
25686 cmp r3, r7
25687 bcc .L9394
25688 rsb r8, r6, r7
25689 cmp r8, #0
25690 ble .L8685
25691 ldr lr, [sp, #4]
25692 movs r7, r8, lsr #3
25693 add r6, lr, r6, asl #1
25694 beq .L9397
25695 ldr r3, .L9512+28
25696 mov r5, r6
25697 add r0, r0, r3
25698 mov lr, ip
25699 mov r1, #0
25700.L9399:
25701 ldr r4, [r0, #68]
25702 cmp r4, #0
25703 beq .L9400
25704 ands r3, r4, #255
25705 ldrne r2, [sp, #28]
25706 orrne r3, r3, r2
25707 strneh r3, [r5, #6] @ movhi
25708 mov r3, r4, lsr #8
25709 ands r3, r3, #255
25710 ldrne r2, [sp, #28]
25711 orrne r3, r3, r2
25712 strneh r3, [r5, #4] @ movhi
25713 mov r3, r4, lsr #16
25714 ands r3, r3, #255
25715 ldrne r2, [sp, #28]
25716 orrne r3, r3, r2
25717 strneh r3, [r5, #2] @ movhi
25718 movs r3, r4, lsr #24
25719 ldrne r4, [sp, #28]
25720 orrne r3, r3, r4
25721 strneh r3, [r5, #0] @ movhi
25722.L9400:
25723 ldr r4, [lr, #0]
25724 cmp r4, #0
25725 beq .L9409
25726 ands r3, r4, #255
25727 ldrne r2, [sp, #28]
25728 orrne r3, r3, r2
25729 strneh r3, [r5, #14] @ movhi
25730 mov r3, r4, lsr #8
25731 ands r3, r3, #255
25732 ldrne r2, [sp, #28]
25733 orrne r3, r3, r2
25734 strneh r3, [r5, #12] @ movhi
25735 mov r3, r4, lsr #16
25736 ands r3, r3, #255
25737 ldrne r2, [sp, #28]
25738 orrne r3, r3, r2
25739 strneh r3, [r5, #10] @ movhi
25740 movs r3, r4, lsr #24
25741 ldrne r4, [sp, #28]
25742 orrne r3, r3, r4
25743 strneh r3, [r5, #8] @ movhi
25744.L9409:
25745 add r1, r1, #1
25746 cmp r1, r7
25747 sub lr, lr, #64
25748 add r5, r5, #16
25749 sub r0, r0, #64
25750 bne .L9399
25751 rsb r3, r7, r7, asl #26
25752 add ip, ip, r3, asl #6
25753 add r6, r6, r7, asl #4
25754.L9397:
25755 ands lr, r8, #7
25756 beq .L8685
25757 cmp lr, #3
25758 ldrls r2, [ip, #4]
25759 bls .L9432
25760 ldr r2, [ip, #4]
25761 cmp r2, #0
25762 beq .L9422
25763 ands r3, r2, #255
25764 ldrne r5, [sp, #28]
25765 orrne r3, r3, r5
25766 strneh r3, [r6, #6] @ movhi
25767 mov r3, r2, lsr #8
25768 ands r3, r3, #255
25769 ldrne r7, [sp, #28]
25770 orrne r3, r3, r7
25771 strneh r3, [r6, #4] @ movhi
25772 mov r3, r2, lsr #16
25773 ands r3, r3, #255
25774 ldrne r8, [sp, #28]
25775 orrne r3, r3, r8
25776 strneh r3, [r6, #2] @ movhi
25777 movs r3, r2, lsr #24
25778 ldrne r0, [sp, #28]
25779 orrne r3, r3, r0
25780 strneh r3, [r6, #0] @ movhi
25781.L9422:
25782 subs lr, lr, #4
25783 ldr r2, [ip, #0]
25784 addne r6, r6, #8
25785 beq .L8685
25786.L9432:
25787 mov r1, #0
25788.L9433:
25789 ldr r4, [sp, #28]
25790 movs r3, r2, lsr #24
25791 mov r0, r1, asl #1
25792 orr r3, r3, r4
25793 add r1, r1, #1
25794 strneh r3, [r0, r6] @ movhi
25795 cmp lr, r1
25796 mov r2, r2, asl #8
25797 bhi .L9433
25798 b .L8685
25799.L8678:
25800 tst r4, #512
25801 mov r3, r1, lsr #4
25802 ldr r4, .L9512+12
25803 and r3, r3, #992
25804 add r3, r3, r4
25805 ldrh r5, [r3, #30]
25806 add r2, r8, r8, lsr #31
25807 mov r4, r2, asr #1
25808 add r1, sl, sl, lsr #31
25809 ldr r2, [sp, #12]
25810 str r5, [sp, #24]
25811 ldrh r7, [r3, #6]
25812 mov r5, r1, asr #1
25813 ldrh r1, [r3, #14]
25814 ldrh r3, [r3, #22]
25815 moveq fp, r8
25816 moveq r9, r4
25817 moveq r0, r5
25818 movne fp, r8, asl #1
25819 movne r9, r4, asl #1
25820 movne r0, r5, asl #1
25821 cmp r6, r2
25822 str r3, [sp, #20]
25823 bge .L8716
25824 rsb r2, r6, r2
25825 rsb fp, r2, fp
25826 cmp fp, #0
25827 ble .L8685
25828 ldr r6, [sp, #12]
25829 rsb r9, r2, r9
25830.L8716:
25831 ldr r2, [sp, #8]
25832 add r3, r6, fp
25833 cmp r3, r2
25834 blt .L8719
25835 rsb fp, r6, r2
25836 cmp fp, #0
25837 ble .L8685
25838.L8719:
25839 add ip, ip, r0
25840 mov r3, r7, asl #16
25841 mov r2, r1, asl #16
25842 ldr r0, [sp, #20]
25843 ldr r7, [sp, #24]
25844 mov r3, r3, asr #16
25845 mov r2, r2, asr #16
25846 cmp r0, #0
25847 str r3, [sp, #56]
25848 mov r0, lr, lsr #8
25849 str r2, [sp, #60]
25850 ldr r3, [sp, #36]
25851 ldr r2, [sp, #4]
25852 mov r1, r7, asl #16
25853 mov r4, r4, asl #8
25854 and r0, r0, #240
25855 str r4, [sp, #72]
25856 mov r1, r1, asr #16
25857 mov r4, r5, asl #8
25858 add r7, r2, r6, asl #1
25859 rsb ip, ip, r3
25860 str r0, [sp, #88]
25861 bne .L8721
25862 mla r3, ip, r1, r4
25863 mov r1, r3, asr #8
25864 cmp r1, sl
25865 bcs .L8685
25866 mov r3, lr, asl #22
25867 mov r2, r1, lsr #3
25868 mov r3, r3, lsr #22
25869 add r3, r3, r2, asl #5
25870 and r1, r1, #7
25871 add r1, r1, r3, asl #3
25872 ldr r3, .L9512+24
25873 cmp fp, #0
25874 add r1, r3, r1, asl #2
25875 ble .L8685
25876 ldr r3, [sp, #60]
25877 ldr r2, [sp, #56]
25878 mul r3, ip, r3
25879 mul r2, r9, r2
25880 ldr r4, [sp, #72]
25881 rsb r3, r2, r3
25882 add r0, r4, r3
25883 mov r4, r0, asr #8
25884 cmp r4, r8
25885 ldrcs r5, [sp, #20]
25886 bcs .L8727
25887 b .L9509
25888.L8728:
25889 cmp r4, r8
25890 bcc .L9474
25891.L8727:
25892 ldr r6, [sp, #56]
25893 add r5, r5, #1
25894 add r0, r0, r6
25895 cmp fp, r5
25896 mov r4, r0, asr #8
25897 add r7, r7, #2
25898 bne .L8728
25899 ldr ip, [sp, #32]
25900 ldr lr, [sp, #40]
25901 add ip, ip, #1
25902 cmp ip, lr
25903 str ip, [sp, #32]
25904 bne .L9490
25905.L9458:
25906 add sp, sp, #96
25907 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
25908.L8689:
25909 mov r3, lr, asl #22
25910 ldr r2, .L9512+24
25911 mov r3, r3, lsr #22
25912 add r3, r2, r3, asl #5
25913 cmp r9, #0
25914 str r3, [sp, #84]
25915 ble .L8685
25916 mov r3, fp, asl #16
25917 mul r2, r0, r1
25918 mov fp, r3, asr #16
25919 ldr r5, [sp, #48]
25920 mul r3, r0, ip
25921 ldr r1, [sp, #52]
25922 ldr r0, [sp, #52]
25923 mul r1, fp, r1
25924 mul r0, r5, r0
25925 ldr r6, [sp, #76]
25926 rsb r3, r0, r3
25927 rsb r2, r1, r2
25928 add r5, r6, r3
25929 add lr, r4, r2
25930 mov ip, r5, asr #8
25931 mov r4, lr, asr #8
25932 cmp ip, r8
25933 cmpcc r4, sl
25934 movcs r3, #0
25935 movcc r3, #1
25936 movcs r6, r3
25937 bcs .L8705
25938 b .L9510
25939.L8706:
25940 cmp ip, r8
25941 cmpcc r4, sl
25942 bcc .L8707
25943.L8705:
25944 ldr ip, [sp, #48]
25945 add r6, r6, #1
25946 add r5, r5, ip
25947 add lr, lr, fp
25948 cmp r9, r6
25949 mov ip, r5, asr #8
25950 mov r4, lr, asr #8
25951 add r7, r7, #2
25952 bne .L8706
25953 b .L8685
25954.L8721:
25955 mov r3, lr, asl #22
25956 ldr r2, .L9512+24
25957 mov r3, r3, lsr #22
25958 add r3, r2, r3, asl #5
25959 cmp fp, #0
25960 str r3, [sp, #80]
25961 ble .L8685
25962 ldr r5, [sp, #20]
25963 mul r2, ip, r1
25964 mov r3, r5, asl #16
25965 mov r3, r3, asr #16
25966 str r3, [sp, #64]
25967 ldr r1, [sp, #64]
25968 ldr r3, [sp, #60]
25969 ldr r0, [sp, #56]
25970 mul r3, ip, r3
25971 mul r1, r9, r1
25972 mul r0, r9, r0
25973 ldr r6, [sp, #72]
25974 rsb r3, r0, r3
25975 rsb r2, r1, r2
25976 add lr, r6, r3
25977 add r5, r4, r2
25978 mov ip, lr, asr #8
25979 mov r4, r5, asr #8
25980 cmp ip, r8
25981 cmpcc r4, sl
25982 movcs r3, #0
25983 movcc r3, #1
25984 movcs r6, r3
25985 bcs .L8740
25986 b .L9511
25987.L8741:
25988 cmp ip, r8
25989 cmpcc r4, sl
25990 bcc .L8743
25991.L8740:
25992 ldr ip, [sp, #56]
25993 ldr r0, [sp, #64]
25994 add r6, r6, #1
25995 add lr, lr, ip
25996 add r5, r5, r0
25997 cmp fp, r6
25998 mov ip, lr, asr #8
25999 mov r4, r5, asr #8
26000 add r7, r7, #2
26001 bne .L8741
26002 b .L8685
26003.L9493:
26004 mov r3, ip, asr #1
26005 ldr r1, [sp, #80]
26006 and r3, r3, #3
26007 and r0, r4, #7
26008 str r3, [sp, #0]
26009 ldr r3, [sp, #80]
26010 add r0, r1, r0, asl #2
26011 and r1, r4, #7
26012 mov r2, ip, asr #1
26013 add r1, r3, r1, asl #2
26014 mov r3, r4, asr #3
26015 and r9, r2, #3
26016 mov r3, r3, asl #10
26017 mov r2, ip, asr #3
26018 tst ip, #1
26019 add r3, r3, r2, asl #5
26020 add r2, r0, r3
26021 movne r4, r9
26022 add r0, r1, r3
26023 ldreqb r3, [r0, r9] @ zero_extendqisi2
26024 ldrneb r3, [r2, r4] @ zero_extendqisi2
26025 ldr r2, [sp, #88]
26026 movne r0, r3, lsr #4
26027 andeq r0, r3, #15
26028 cmp r0, #0
26029 orr r3, r0, r2
26030 ldr r0, [sp, #28]
26031 ldr ip, [sp, #56]
26032 ldr r1, [sp, #64]
26033 add r6, r6, #1
26034 orr r3, r3, r0
26035 strneh r3, [r7, #0] @ movhi
26036 add lr, lr, ip
26037 add r5, r5, r1
26038 cmp fp, r6
26039 mov ip, lr, asr #8
26040 mov r4, r5, asr #8
26041 add r7, r7, #2
26042 ble .L8685
26043.L8743:
26044 cmp r4, sl
26045 cmpcc ip, r8
26046 bcc .L9493
26047 b .L8685
26048.L8730:
26049 cmp r4, r8
26050 bcs .L8685
26051.L9474:
26052 mov r3, r4, asr #1
26053 and sl, r3, #3
26054 mov r3, r4, asr #3
26055 mov r3, r3, asl #5
26056 mov r2, r4, asr #1
26057 tst r4, #1
26058 add ip, r3, r1
26059 and r6, r2, #3
26060 add r2, r3, r1
26061 ldreqb r3, [r2, r6] @ zero_extendqisi2
26062 ldrneb r3, [ip, sl] @ zero_extendqisi2
26063 ldr lr, [sp, #88]
26064 movne r2, r3, lsr #4
26065 andeq r2, r3, #15
26066 cmp r2, #0
26067 orr r3, r2, lr
26068 ldr r2, [sp, #28]
26069 ldr ip, [sp, #56]
26070 add r5, r5, #1
26071 orr r3, r3, r2
26072 strneh r3, [r7, #0] @ movhi
26073 add r0, r0, ip
26074 cmp fp, r5
26075 mov r4, r0, asr #8
26076 add r7, r7, #2
26077 bgt .L8730
26078 b .L8685
26079.L8698:
26080 cmp r4, r8
26081 bcs .L8685
26082.L9472:
26083 ldr r1, [sp, #48]
26084 mov r3, r4, asr #3
26085 add r0, r0, r1
26086 add r3, lr, r3, asl #6
26087 and r1, r4, #7
26088 ldrb r2, [r3, r1] @ zero_extendqisi2
26089 ldr r3, [sp, #28]
26090 cmp r2, #0
26091 add ip, ip, #1
26092 orr r2, r2, r3
26093 strneh r2, [r7, #0] @ movhi
26094 cmp r9, ip
26095 mov r4, r0, asr #8
26096 add r7, r7, #2
26097 bgt .L8698
26098 b .L8685
26099.L9488:
26100 ldr lr, [sp, #12]
26101 rsb r1, r6, lr
26102 rsb r4, r1, r8
26103 cmp r4, #0
26104 ble .L8685
26105 ldr r0, [sp, #8]
26106 add r3, r6, r8
26107 cmp r0, r3
26108 bhi .L9241
26109 mov r3, r1, lsr #3
26110 ands r0, r1, #7
26111 sub r6, ip, r3, asl #6
26112 bne .L9243
26113 ldr r5, [sp, #92]
26114 ldr r4, [sp, #68]
26115.L9245:
26116 movs lr, r5, lsr #3
26117 beq .L9303
26118 mov r1, r4
26119 mov r0, r6
26120 mov ip, #0
26121.L9305:
26122 ldr r2, [r0, #4]
26123 cmp r2, #0
26124 beq .L9306
26125 ands r3, r2, #255
26126 ldrne r7, [sp, #28]
26127 orrne r3, r3, r7
26128 strneh r3, [r1, #6] @ movhi
26129 mov r3, r2, lsr #8
26130 ands r3, r3, #255
26131 ldrne r8, [sp, #28]
26132 orrne r3, r3, r8
26133 strneh r3, [r1, #4] @ movhi
26134 mov r3, r2, lsr #16
26135 ands r3, r3, #255
26136 ldrne r7, [sp, #28]
26137 orrne r3, r3, r7
26138 strneh r3, [r1, #2] @ movhi
26139 movs r3, r2, lsr #24
26140 ldrne r8, [sp, #28]
26141 orrne r3, r3, r8
26142 strneh r3, [r1, #0] @ movhi
26143.L9306:
26144 ldr r2, [r0, #0]
26145 cmp r2, #0
26146 beq .L9315
26147 ands r3, r2, #255
26148 ldrne r7, [sp, #28]
26149 orrne r3, r3, r7
26150 strneh r3, [r1, #14] @ movhi
26151 mov r3, r2, lsr #8
26152 ands r3, r3, #255
26153 ldrne r8, [sp, #28]
26154 orrne r3, r3, r8
26155 strneh r3, [r1, #12] @ movhi
26156 mov r3, r2, lsr #16
26157 ands r3, r3, #255
26158 ldrne r7, [sp, #28]
26159 orrne r3, r3, r7
26160 strneh r3, [r1, #10] @ movhi
26161 movs r3, r2, lsr #24
26162 ldrne r8, [sp, #28]
26163 orrne r3, r3, r8
26164 strneh r3, [r1, #8] @ movhi
26165.L9315:
26166 add ip, ip, #1
26167 cmp ip, lr
26168 sub r0, r0, #64
26169 add r1, r1, #16
26170 bne .L9305
26171 rsb r3, lr, lr, asl #26
26172 add r6, r6, r3, asl #6
26173 add r4, r4, lr, asl #4
26174.L9303:
26175 ands ip, r5, #7
26176 beq .L8685
26177 cmp ip, #3
26178 ldrls r2, [r6, #4]
26179 bls .L9338
26180 ldr r2, [r6, #4]
26181 cmp r2, #0
26182 beq .L9328
26183 ands r3, r2, #255
26184 ldrne lr, [sp, #28]
26185 orrne r3, r3, lr
26186 strneh r3, [r4, #6] @ movhi
26187 mov r3, r2, lsr #8
26188 ands r3, r3, #255
26189 ldrne r0, [sp, #28]
26190 orrne r3, r3, r0
26191 strneh r3, [r4, #4] @ movhi
26192 mov r3, r2, lsr #16
26193 ands r3, r3, #255
26194 ldrne r1, [sp, #28]
26195 orrne r3, r3, r1
26196 strneh r3, [r4, #2] @ movhi
26197 movs r3, r2, lsr #24
26198 ldrne r2, [sp, #28]
26199 orrne r3, r3, r2
26200 strneh r3, [r4, #0] @ movhi
26201.L9328:
26202 subs ip, ip, #4
26203 ldr r2, [r6, #0]
26204 addne r4, r4, #8
26205 beq .L8685
26206.L9338:
26207 mov r1, #0
26208.L9339:
26209 ldr r5, [sp, #28]
26210 movs r3, r2, lsr #24
26211 mov r0, r1, asl #1
26212 orr r3, r3, r5
26213 add r1, r1, #1
26214 strneh r3, [r0, r4] @ movhi
26215 cmp ip, r1
26216 mov r2, r2, asl #8
26217 bhi .L9339
26218 b .L8685
26219.L9513:
26220 .align 2
26221.L9512:
26222 .word io_registers
26223 .word obj_priority_count
26224 .word obj_priority_list
26225 .word oam_ram
26226 .word obj_height_table
26227 .word obj_width_table
26228 .word vram+65536
26229 .word vram+65472
26230 .word vram+65600
26231.L9487:
26232 ldr lr, [sp, #12]
26233 rsb r1, r6, lr
26234 rsb r4, r1, r8
26235 cmp r4, #0
26236 ble .L8685
26237 ldr r0, [sp, #8]
26238 add r3, r6, r8
26239 cmp r0, r3
26240 bhi .L9021
26241 mov r3, r1, lsr #3
26242 ands r0, r1, #7
26243 add r6, ip, r3, asl #6
26244 bne .L9023
26245 ldr r5, [sp, #92]
26246 ldr r4, [sp, #68]
26247.L9025:
26248 movs lr, r5, lsr #3
26249 beq .L9083
26250 mov r1, r4
26251 mov r0, r6
26252 mov ip, #0
26253.L9085:
26254 ldr r2, [r0, #0]
26255 cmp r2, #0
26256 beq .L9086
26257 ands r3, r2, #255
26258 ldrne r7, [sp, #28]
26259 orrne r3, r3, r7
26260 strneh r3, [r1, #0] @ movhi
26261 mov r3, r2, lsr #8
26262 ands r3, r3, #255
26263 ldrne r8, [sp, #28]
26264 orrne r3, r3, r8
26265 strneh r3, [r1, #2] @ movhi
26266 mov r3, r2, lsr #16
26267 ands r3, r3, #255
26268 ldrne r7, [sp, #28]
26269 orrne r3, r3, r7
26270 strneh r3, [r1, #4] @ movhi
26271 movs r3, r2, lsr #24
26272 ldrne r8, [sp, #28]
26273 orrne r3, r3, r8
26274 strneh r3, [r1, #6] @ movhi
26275.L9086:
26276 ldr r2, [r0, #4]
26277 cmp r2, #0
26278 beq .L9095
26279 ands r3, r2, #255
26280 ldrne r7, [sp, #28]
26281 orrne r3, r3, r7
26282 strneh r3, [r1, #8] @ movhi
26283 mov r3, r2, lsr #8
26284 ands r3, r3, #255
26285 ldrne r8, [sp, #28]
26286 orrne r3, r3, r8
26287 strneh r3, [r1, #10] @ movhi
26288 mov r3, r2, lsr #16
26289 ands r3, r3, #255
26290 ldrne r7, [sp, #28]
26291 orrne r3, r3, r7
26292 strneh r3, [r1, #12] @ movhi
26293 movs r3, r2, lsr #24
26294 ldrne r8, [sp, #28]
26295 orrne r3, r3, r8
26296 strneh r3, [r1, #14] @ movhi
26297.L9095:
26298 add ip, ip, #1
26299 cmp lr, ip
26300 add r0, r0, #64
26301 add r1, r1, #16
26302 bne .L9085
26303 add r6, r6, lr, asl #6
26304 add r4, r4, lr, asl #4
26305.L9083:
26306 ands ip, r5, #7
26307 beq .L8685
26308 cmp ip, #3
26309 ldrls r1, [r6, #0]
26310 bls .L9118
26311 ldr r2, [r6, #0]
26312 cmp r2, #0
26313 beq .L9108
26314 ands r3, r2, #255
26315 ldrne lr, [sp, #28]
26316 orrne r3, r3, lr
26317 strneh r3, [r4, #0] @ movhi
26318 mov r3, r2, lsr #8
26319 ands r3, r3, #255
26320 ldrne r0, [sp, #28]
26321 orrne r3, r3, r0
26322 strneh r3, [r4, #2] @ movhi
26323 mov r3, r2, lsr #16
26324 ands r3, r3, #255
26325 ldrne r1, [sp, #28]
26326 orrne r3, r3, r1
26327 strneh r3, [r4, #4] @ movhi
26328 movs r3, r2, lsr #24
26329 ldrne r2, [sp, #28]
26330 orrne r3, r3, r2
26331 strneh r3, [r4, #6] @ movhi
26332.L9108:
26333 subs ip, ip, #4
26334 ldr r1, [r6, #4]
26335 addne r4, r4, #8
26336 beq .L8685
26337.L9118:
26338 mov r2, #0
26339.L9119:
26340 ldr r5, [sp, #28]
26341 ands r3, r1, #255
26342 mov r0, r2, asl #1
26343 orr r3, r3, r5
26344 add r2, r2, #1
26345 strneh r3, [r0, r4] @ movhi
26346 cmp ip, r2
26347 mov r1, r1, lsr #8
26348 bhi .L9119
26349 b .L8685
26350.L9486:
26351 rsb r4, r6, ip
26352 rsb ip, r4, r8
26353 cmp ip, #0
26354 ble .L8685
26355 ldr lr, [sp, #8]
26356 add r3, r6, r8
26357 cmp lr, r3
26358 bhi .L8891
26359 mov r3, r4, lsr #3
26360 ands lr, r4, #7
26361 sub r0, r0, r3, asl #5
26362 bne .L8893
26363 ldr r2, [sp, #92]
26364 ldr r8, [sp, #68]
26365.L8895:
26366 movs r7, r2, lsr #3
26367 beq .L8912
26368 mov r5, r8
26369 mov lr, r0
26370 mov r6, #0
26371.L8914:
26372 ldr r4, [lr, #0]
26373 cmp r4, #0
26374 beq .L8915
26375 ands r3, r4, #15
26376 ldrne ip, [sp, #28]
26377 orrne r3, r1, r3
26378 orrne r3, r3, ip
26379 strneh r3, [r5, #14] @ movhi
26380 mov r3, r4, lsr #4
26381 ands r3, r3, #15
26382 ldrne ip, [sp, #28]
26383 orrne r3, r1, r3
26384 orrne r3, r3, ip
26385 strneh r3, [r5, #12] @ movhi
26386 mov r3, r4, lsr #8
26387 ands r3, r3, #15
26388 ldrne ip, [sp, #28]
26389 orrne r3, r1, r3
26390 orrne r3, r3, ip
26391 strneh r3, [r5, #10] @ movhi
26392 mov r3, r4, lsr #12
26393 ands r3, r3, #15
26394 ldrne ip, [sp, #28]
26395 orrne r3, r1, r3
26396 orrne r3, r3, ip
26397 strneh r3, [r5, #8] @ movhi
26398 mov r3, r4, lsr #16
26399 ands r3, r3, #15
26400 ldrne ip, [sp, #28]
26401 orrne r3, r1, r3
26402 orrne r3, r3, ip
26403 strneh r3, [r5, #6] @ movhi
26404 mov r3, r4, lsr #20
26405 ands r3, r3, #15
26406 ldrne ip, [sp, #28]
26407 orrne r3, r1, r3
26408 orrne r3, r3, ip
26409 strneh r3, [r5, #4] @ movhi
26410 mov r3, r4, lsr #24
26411 ands r3, r3, #15
26412 ldrne ip, [sp, #28]
26413 orrne r3, r1, r3
26414 orrne r3, r3, ip
26415 strneh r3, [r5, #2] @ movhi
26416 movs r3, r4, lsr #28
26417 ldrne r4, [sp, #28]
26418 orrne r3, r1, r3
26419 orrne r3, r3, r4
26420 strneh r3, [r5, #0] @ movhi
26421.L8915:
26422 add r6, r6, #1
26423 cmp r6, r7
26424 sub lr, lr, #32
26425 add r5, r5, #16
26426 bne .L8914
26427 rsb r3, r7, r7, asl #27
26428 add r0, r0, r3, asl #5
26429 add r8, r8, r7, asl #4
26430.L8912:
26431 ands lr, r2, #7
26432 beq .L8685
26433 ldr r0, [r0, #0]
26434 mov ip, #0
26435.L8934:
26436 movs r3, r0, lsr #28
26437 ldr r5, [sp, #28]
26438 orr r3, r1, r3
26439 mov r2, ip, asl #1
26440 orr r3, r3, r5
26441 add ip, ip, #1
26442 strneh r3, [r2, r8] @ movhi
26443 cmp ip, lr
26444 mov r0, r0, asl #4
26445 bne .L8934
26446 b .L8685
26447.L9485:
26448 ldr r5, [sp, #12]
26449 rsb r4, r6, r5
26450 rsb r5, r4, r8
26451 cmp r5, #0
26452 ble .L8685
26453 add r3, r6, r8
26454 ldr r6, [sp, #8]
26455 cmp r6, r3
26456 bhi .L8761
26457 mov r3, r4, lsr #3
26458 mov r2, r3, asl #5
26459 ands r3, r4, #7
26460 add r5, r0, r2
26461 bne .L8763
26462 ldr r7, [sp, #92]
26463 ldr r6, [sp, #68]
26464.L8765:
26465 movs r4, r7, lsr #3
26466 beq .L8782
26467 mov ip, r6
26468 mov r0, r5
26469 mov lr, #0
26470.L8784:
26471 ldr r2, [r0, #0]
26472 cmp r2, #0
26473 beq .L8785
26474 ands r3, r2, #15
26475 ldrne r8, [sp, #28]
26476 orrne r3, r1, r3
26477 orrne r3, r3, r8
26478 strneh r3, [ip, #0] @ movhi
26479 mov r3, r2, lsr #4
26480 ands r3, r3, #15
26481 ldrne r8, [sp, #28]
26482 orrne r3, r1, r3
26483 orrne r3, r3, r8
26484 strneh r3, [ip, #2] @ movhi
26485 mov r3, r2, lsr #8
26486 ands r3, r3, #15
26487 ldrne r8, [sp, #28]
26488 orrne r3, r1, r3
26489 orrne r3, r3, r8
26490 strneh r3, [ip, #4] @ movhi
26491 mov r3, r2, lsr #12
26492 ands r3, r3, #15
26493 ldrne r8, [sp, #28]
26494 orrne r3, r1, r3
26495 orrne r3, r3, r8
26496 strneh r3, [ip, #6] @ movhi
26497 mov r3, r2, lsr #16
26498 ands r3, r3, #15
26499 ldrne r8, [sp, #28]
26500 orrne r3, r1, r3
26501 orrne r3, r3, r8
26502 strneh r3, [ip, #8] @ movhi
26503 mov r3, r2, lsr #20
26504 ands r3, r3, #15
26505 ldrne r8, [sp, #28]
26506 orrne r3, r1, r3
26507 orrne r3, r3, r8
26508 strneh r3, [ip, #10] @ movhi
26509 mov r3, r2, lsr #24
26510 ands r3, r3, #15
26511 ldrne r8, [sp, #28]
26512 orrne r3, r1, r3
26513 orrne r3, r3, r8
26514 strneh r3, [ip, #12] @ movhi
26515 movs r3, r2, lsr #28
26516 ldrne r2, [sp, #28]
26517 orrne r3, r1, r3
26518 orrne r3, r3, r2
26519 strneh r3, [ip, #14] @ movhi
26520.L8785:
26521 add lr, lr, #1
26522 cmp r4, lr
26523 add r0, r0, #32
26524 add ip, ip, #16
26525 bne .L8784
26526 add r5, r5, r4, asl #5
26527 add r6, r6, r4, asl #4
26528.L8782:
26529 ands lr, r7, #7
26530 beq .L8685
26531 ldr r2, [r5, #0]
26532 mov r0, #0
26533.L8804:
26534 ands r3, r2, #15
26535 ldr r4, [sp, #28]
26536 orr r3, r1, r3
26537 mov ip, r0, asl #1
26538 orr r3, r3, r4
26539 add r0, r0, #1
26540 strneh r3, [ip, r6] @ movhi
26541 cmp r0, lr
26542 mov r2, r2, lsr #4
26543 bne .L8804
26544 b .L8685
26545.L9510:
26546 mov r6, #0
26547.L8707:
26548 cmp r4, sl
26549 movcc r3, #0
26550 movcs r3, #1
26551 cmp r8, ip
26552 orrls r3, r3, #1
26553 cmp r3, #0
26554 beq .L9473
26555 b .L8685
26556.L8708:
26557 cmp r4, sl
26558 cmpcc ip, r8
26559 bcs .L8685
26560.L9473:
26561 and r3, r4, #7
26562 mov r2, ip, asr #3
26563 mov r3, r3, asl #3
26564 mov r1, r4, asr #3
26565 add r3, r3, r2, asl #6
26566 ldr r0, [sp, #48]
26567 add r3, r3, r1, asl #10
26568 ldr r1, [sp, #84]
26569 add r5, r5, r0
26570 add r3, r3, r1
26571 and r0, ip, #7
26572 ldrb r2, [r3, r0] @ zero_extendqisi2
26573 ldr r3, [sp, #28]
26574 cmp r2, #0
26575 add r6, r6, #1
26576 orr r2, r2, r3
26577 strneh r2, [r7, #0] @ movhi
26578 add lr, lr, fp
26579 cmp r9, r6
26580 mov r4, lr, asr #8
26581 mov ip, r5, asr #8
26582 add r7, r7, #2
26583 bgt .L8708
26584 b .L8685
26585.L8969:
26586 cmp r8, #0
26587 add r3, r8, #7
26588 movge r3, r8
26589 movs lr, r3, asr #3
26590 beq .L8685
26591 ldr r7, [sp, #4]
26592 mov ip, #0
26593 add r2, r7, r6, asl #1
26594 b .L8999
26595.L9494:
26596 sub r0, r0, #32
26597 add r2, r2, #16
26598.L8999:
26599 ldr r4, [r0, #0]
26600 cmp r4, #0
26601 beq .L9000
26602 ands r3, r4, #15
26603 ldrne r8, [sp, #28]
26604 orrne r3, r1, r3
26605 orrne r3, r3, r8
26606 strneh r3, [r2, #14] @ movhi
26607 mov r3, r4, lsr #4
26608 ands r3, r3, #15
26609 ldrne r5, [sp, #28]
26610 orrne r3, r1, r3
26611 orrne r3, r3, r5
26612 strneh r3, [r2, #12] @ movhi
26613 mov r3, r4, lsr #8
26614 ands r3, r3, #15
26615 ldrne r6, [sp, #28]
26616 orrne r3, r1, r3
26617 orrne r3, r3, r6
26618 strneh r3, [r2, #10] @ movhi
26619 mov r3, r4, lsr #12
26620 ands r3, r3, #15
26621 ldrne r7, [sp, #28]
26622 orrne r3, r1, r3
26623 orrne r3, r3, r7
26624 strneh r3, [r2, #8] @ movhi
26625 mov r3, r4, lsr #16
26626 ands r3, r3, #15
26627 ldrne r8, [sp, #28]
26628 orrne r3, r1, r3
26629 orrne r3, r3, r8
26630 strneh r3, [r2, #6] @ movhi
26631 mov r3, r4, lsr #20
26632 ands r3, r3, #15
26633 ldrne r5, [sp, #28]
26634 orrne r3, r1, r3
26635 orrne r3, r3, r5
26636 strneh r3, [r2, #4] @ movhi
26637 mov r3, r4, lsr #24
26638 ands r3, r3, #15
26639 ldrne r6, [sp, #28]
26640 orrne r3, r1, r3
26641 orrne r3, r3, r6
26642 strneh r3, [r2, #2] @ movhi
26643 movs r3, r4, lsr #28
26644 ldrne r7, [sp, #28]
26645 orrne r3, r1, r3
26646 orrne r3, r3, r7
26647 strneh r3, [r2, #0] @ movhi
26648.L9000:
26649 add ip, ip, #1
26650 cmp lr, ip
26651 bne .L9494
26652 b .L8685
26653.L9394:
26654 cmp r8, #0
26655 add r3, r8, #7
26656 movge r3, r8
26657 movs lr, r3, asr #3
26658 beq .L8685
26659 ldr r5, [sp, #4]
26660 ldr r3, .L9512+28
26661 add r2, r5, r6, asl #1
26662 add r0, r0, r3
26663 mov r1, #0
26664 b .L9438
26665.L9495:
26666 sub ip, ip, #64
26667 add r2, r2, #16
26668.L9438:
26669 ldr r4, [r0, #68]
26670 cmp r4, #0
26671 beq .L9439
26672 ands r3, r4, #255
26673 ldrne r6, [sp, #28]
26674 orrne r3, r3, r6
26675 strneh r3, [r2, #6] @ movhi
26676 mov r3, r4, lsr #8
26677 ands r3, r3, #255
26678 ldrne r7, [sp, #28]
26679 orrne r3, r3, r7
26680 strneh r3, [r2, #4] @ movhi
26681 mov r3, r4, lsr #16
26682 ands r3, r3, #255
26683 ldrne r8, [sp, #28]
26684 orrne r3, r3, r8
26685 strneh r3, [r2, #2] @ movhi
26686 movs r3, r4, lsr #24
26687 ldrne r4, [sp, #28]
26688 orrne r3, r3, r4
26689 strneh r3, [r2, #0] @ movhi
26690.L9439:
26691 ldr r4, [ip, #0]
26692 cmp r4, #0
26693 beq .L9448
26694 ands r3, r4, #255
26695 ldrne r5, [sp, #28]
26696 orrne r3, r3, r5
26697 strneh r3, [r2, #14] @ movhi
26698 mov r3, r4, lsr #8
26699 ands r3, r3, #255
26700 ldrne r6, [sp, #28]
26701 orrne r3, r3, r6
26702 strneh r3, [r2, #12] @ movhi
26703 mov r3, r4, lsr #16
26704 ands r3, r3, #255
26705 ldrne r7, [sp, #28]
26706 orrne r3, r3, r7
26707 strneh r3, [r2, #10] @ movhi
26708 movs r3, r4, lsr #24
26709 ldrne r8, [sp, #28]
26710 orrne r3, r3, r8
26711 strneh r3, [r2, #8] @ movhi
26712.L9448:
26713 add r1, r1, #1
26714 cmp lr, r1
26715 sub r0, r0, #64
26716 bne .L9495
26717 b .L8685
26718.L8839:
26719 cmp r8, #0
26720 add r3, r8, #7
26721 movge r3, r8
26722 movs lr, r3, asr #3
26723 beq .L8685
26724 ldr r7, [sp, #4]
26725 mov ip, #0
26726 add r2, r7, r6, asl #1
26727 b .L8869
26728.L9496:
26729 add r0, r0, #32
26730 add r2, r2, #16
26731.L8869:
26732 ldr r4, [r0, #0]
26733 cmp r4, #0
26734 beq .L8870
26735 ands r3, r4, #15
26736 ldrne r8, [sp, #28]
26737 orrne r3, r1, r3
26738 orrne r3, r3, r8
26739 strneh r3, [r2, #0] @ movhi
26740 mov r3, r4, lsr #4
26741 ands r3, r3, #15
26742 ldrne r5, [sp, #28]
26743 orrne r3, r1, r3
26744 orrne r3, r3, r5
26745 strneh r3, [r2, #2] @ movhi
26746 mov r3, r4, lsr #8
26747 ands r3, r3, #15
26748 ldrne r6, [sp, #28]
26749 orrne r3, r1, r3
26750 orrne r3, r3, r6
26751 strneh r3, [r2, #4] @ movhi
26752 mov r3, r4, lsr #12
26753 ands r3, r3, #15
26754 ldrne r7, [sp, #28]
26755 orrne r3, r1, r3
26756 orrne r3, r3, r7
26757 strneh r3, [r2, #6] @ movhi
26758 mov r3, r4, lsr #16
26759 ands r3, r3, #15
26760 ldrne r8, [sp, #28]
26761 orrne r3, r1, r3
26762 orrne r3, r3, r8
26763 strneh r3, [r2, #8] @ movhi
26764 mov r3, r4, lsr #20
26765 ands r3, r3, #15
26766 ldrne r5, [sp, #28]
26767 orrne r3, r1, r3
26768 orrne r3, r3, r5
26769 strneh r3, [r2, #10] @ movhi
26770 mov r3, r4, lsr #24
26771 ands r3, r3, #15
26772 ldrne r6, [sp, #28]
26773 orrne r3, r1, r3
26774 orrne r3, r3, r6
26775 strneh r3, [r2, #12] @ movhi
26776 movs r3, r4, lsr #28
26777 ldrne r7, [sp, #28]
26778 orrne r3, r1, r3
26779 orrne r3, r3, r7
26780 strneh r3, [r2, #14] @ movhi
26781.L8870:
26782 add ip, ip, #1
26783 cmp lr, ip
26784 bne .L9496
26785 b .L8685
26786.L9174:
26787 cmp r8, #0
26788 add r3, r8, #7
26789 movge r3, r8
26790 movs lr, r3, asr #3
26791 beq .L8685
26792 ldr r1, [sp, #4]
26793 ldr r3, .L9512+32
26794 add r2, r1, r6, asl #1
26795 add r0, r0, r3
26796 mov r1, #0
26797 b .L9218
26798.L9497:
26799 add ip, ip, #64
26800 add r2, r2, #16
26801.L9218:
26802 ldr r4, [ip, #0]
26803 cmp r4, #0
26804 beq .L9219
26805 ands r3, r4, #255
26806 ldrne r5, [sp, #28]
26807 orrne r3, r3, r5
26808 strneh r3, [r2, #0] @ movhi
26809 mov r3, r4, lsr #8
26810 ands r3, r3, #255
26811 ldrne r6, [sp, #28]
26812 orrne r3, r3, r6
26813 strneh r3, [r2, #2] @ movhi
26814 mov r3, r4, lsr #16
26815 ands r3, r3, #255
26816 ldrne r7, [sp, #28]
26817 orrne r3, r3, r7
26818 strneh r3, [r2, #4] @ movhi
26819 movs r3, r4, lsr #24
26820 ldrne r8, [sp, #28]
26821 orrne r3, r3, r8
26822 strneh r3, [r2, #6] @ movhi
26823.L9219:
26824 ldr r4, [r0, #-60]
26825 cmp r4, #0
26826 beq .L9228
26827 ands r3, r4, #255
26828 ldrne r5, [sp, #28]
26829 orrne r3, r3, r5
26830 strneh r3, [r2, #8] @ movhi
26831 mov r3, r4, lsr #8
26832 ands r3, r3, #255
26833 ldrne r6, [sp, #28]
26834 orrne r3, r3, r6
26835 strneh r3, [r2, #10] @ movhi
26836 mov r3, r4, lsr #16
26837 ands r3, r3, #255
26838 ldrne r7, [sp, #28]
26839 orrne r3, r3, r7
26840 strneh r3, [r2, #12] @ movhi
26841 movs r3, r4, lsr #24
26842 ldrne r8, [sp, #28]
26843 orrne r3, r3, r8
26844 strneh r3, [r2, #14] @ movhi
26845.L9228:
26846 add r1, r1, #1
26847 cmp lr, r1
26848 add r0, r0, #64
26849 bne .L9497
26850 b .L8685
26851.L9021:
26852 mov r3, r1, lsr #3
26853 ands r2, r1, #7
26854 add r0, ip, r3, asl #6
26855 ldreq r1, [sp, #68]
26856 beq .L9125
26857 cmp r2, #3
26858 rsb lr, r2, #8
26859 bhi .L9498
26860 subs r5, lr, #4
26861 ldr r1, [r0, #0]
26862 ldreq r1, [sp, #68]
26863 beq .L9138
26864 mov r3, r2, asl #3
26865 mov r2, r1, lsr r3
26866 mov ip, #0
26867.L9139:
26868 ands r3, r2, #255
26869 ldr r1, [sp, #28]
26870 ldrne r6, [sp, #68]
26871 orr r3, r3, r1
26872 mov r1, ip, asl #1
26873 add ip, ip, #1
26874 strneh r3, [r1, r6] @ movhi
26875 cmp ip, r5
26876 mov r2, r2, lsr #8
26877 bne .L9139
26878 ldr r7, [sp, #68]
26879 add r3, r7, lr, asl #1
26880 sub r1, r3, #8
26881.L9138:
26882 ldr r2, [r0, #4]
26883 cmp r2, #0
26884 beq .L9144
26885 ands r3, r2, #255
26886 ldrne r8, [sp, #28]
26887 orrne r3, r3, r8
26888 strneh r3, [r1, #0] @ movhi
26889 mov r3, r2, lsr #8
26890 ands r3, r3, #255
26891 ldrne ip, [sp, #28]
26892 orrne r3, r3, ip
26893 strneh r3, [r1, #2] @ movhi
26894 mov r3, r2, lsr #16
26895 ands r3, r3, #255
26896 ldrne lr, [sp, #28]
26897 orrne r3, r3, lr
26898 strneh r3, [r1, #4] @ movhi
26899 movs r3, r2, lsr #24
26900 ldrne r2, [sp, #28]
26901 orrne r3, r3, r2
26902 strneh r3, [r1, #6] @ movhi
26903.L9144:
26904 add r1, r1, #8
26905.L9130:
26906 add r0, r0, #64
26907.L9125:
26908 movs lr, r4, lsr #3
26909 beq .L8685
26910 mov ip, #0
26911 b .L9154
26912.L9499:
26913 add r0, r0, #64
26914 add r1, r1, #16
26915.L9154:
26916 ldr r2, [r0, #0]
26917 cmp r2, #0
26918 beq .L9155
26919 ands r3, r2, #255
26920 ldrne r4, [sp, #28]
26921 orrne r3, r3, r4
26922 strneh r3, [r1, #0] @ movhi
26923 mov r3, r2, lsr #8
26924 ands r3, r3, #255
26925 ldrne r5, [sp, #28]
26926 orrne r3, r3, r5
26927 strneh r3, [r1, #2] @ movhi
26928 mov r3, r2, lsr #16
26929 ands r3, r3, #255
26930 ldrne r6, [sp, #28]
26931 orrne r3, r3, r6
26932 strneh r3, [r1, #4] @ movhi
26933 movs r3, r2, lsr #24
26934 ldrne r7, [sp, #28]
26935 orrne r3, r3, r7
26936 strneh r3, [r1, #6] @ movhi
26937.L9155:
26938 ldr r2, [r0, #4]
26939 cmp r2, #0
26940 beq .L9164
26941 ands r3, r2, #255
26942 ldrne r8, [sp, #28]
26943 orrne r3, r3, r8
26944 strneh r3, [r1, #8] @ movhi
26945 mov r3, r2, lsr #8
26946 ands r3, r3, #255
26947 ldrne r4, [sp, #28]
26948 orrne r3, r3, r4
26949 strneh r3, [r1, #10] @ movhi
26950 mov r3, r2, lsr #16
26951 ands r3, r3, #255
26952 ldrne r5, [sp, #28]
26953 orrne r3, r3, r5
26954 strneh r3, [r1, #12] @ movhi
26955 movs r3, r2, lsr #24
26956 ldrne r6, [sp, #28]
26957 orrne r3, r3, r6
26958 strneh r3, [r1, #14] @ movhi
26959.L9164:
26960 add ip, ip, #1
26961 cmp lr, ip
26962 bne .L9499
26963 b .L8685
26964.L8891:
26965 ands r2, r4, #7
26966 mov r3, r4, lsr #3
26967 sub r0, r0, r3, asl #5
26968 ldreq r5, [sp, #68]
26969 beq .L8940
26970 rsbs lr, r2, #8
26971 ldr r4, [r0, #0]
26972 ldreq r5, [sp, #68]
26973 beq .L8943
26974 mov r3, r2, asl #2
26975 mov r4, r4, asl r3
26976 mov r6, #0
26977.L8944:
26978 movs r3, r4, lsr #28
26979 ldr r7, [sp, #28]
26980 ldrne r8, [sp, #68]
26981 orr r3, r1, r3
26982 mov r5, r6, asl #1
26983 orr r3, r3, r7
26984 add r6, r6, #1
26985 strneh r3, [r5, r8] @ movhi
26986 cmp lr, r6
26987 mov r4, r4, asl #4
26988 bne .L8944
26989 ldr r2, [sp, #68]
26990 add r5, r2, lr, asl #1
26991.L8943:
26992 sub r0, r0, #32
26993.L8940:
26994 movs ip, ip, lsr #3
26995 beq .L8685
26996 mov r2, #0
26997 b .L8950
26998.L9500:
26999 sub r0, r0, #32
27000 add r5, r5, #16
27001.L8950:
27002 ldr r4, [r0, #0]
27003 cmp r4, #0
27004 beq .L8951
27005 ands r3, r4, #15
27006 ldrne r6, [sp, #28]
27007 orrne r3, r1, r3
27008 orrne r3, r3, r6
27009 strneh r3, [r5, #14] @ movhi
27010 mov r3, r4, lsr #4
27011 ands r3, r3, #15
27012 ldrne r7, [sp, #28]
27013 orrne r3, r1, r3
27014 orrne r3, r3, r7
27015 strneh r3, [r5, #12] @ movhi
27016 mov r3, r4, lsr #8
27017 ands r3, r3, #15
27018 ldrne r8, [sp, #28]
27019 orrne r3, r1, r3
27020 orrne r3, r3, r8
27021 strneh r3, [r5, #10] @ movhi
27022 mov r3, r4, lsr #12
27023 ands r3, r3, #15
27024 ldrne lr, [sp, #28]
27025 orrne r3, r1, r3
27026 orrne r3, r3, lr
27027 strneh r3, [r5, #8] @ movhi
27028 mov r3, r4, lsr #16
27029 ands r3, r3, #15
27030 ldrne r6, [sp, #28]
27031 orrne r3, r1, r3
27032 orrne r3, r3, r6
27033 strneh r3, [r5, #6] @ movhi
27034 mov r3, r4, lsr #20
27035 ands r3, r3, #15
27036 ldrne r7, [sp, #28]
27037 orrne r3, r1, r3
27038 orrne r3, r3, r7
27039 strneh r3, [r5, #4] @ movhi
27040 mov r3, r4, lsr #24
27041 ands r3, r3, #15
27042 ldrne r8, [sp, #28]
27043 orrne r3, r1, r3
27044 orrne r3, r3, r8
27045 strneh r3, [r5, #2] @ movhi
27046 movs r3, r4, lsr #28
27047 ldrne lr, [sp, #28]
27048 orrne r3, r1, r3
27049 orrne r3, r3, lr
27050 strneh r3, [r5, #0] @ movhi
27051.L8951:
27052 add r2, r2, #1
27053 cmp r2, ip
27054 bne .L9500
27055 b .L8685
27056.L9241:
27057 ands r0, r1, #7
27058 mov r3, r1, lsr #3
27059 sub r2, ip, r3, asl #6
27060 ldreq r0, [sp, #68]
27061 beq .L9345
27062 cmp r0, #3
27063 rsb lr, r0, #8
27064 bhi .L9501
27065 subs r5, lr, #4
27066 ldr r1, [r2, #4]
27067 ldreq r0, [sp, #68]
27068 beq .L9358
27069 mov r3, r0, asl #3
27070 sub r3, r3, #32
27071 mov r1, r1, asl r3
27072 mov ip, #0
27073.L9359:
27074 movs r3, r1, lsr #24
27075 ldr r0, [sp, #28]
27076 ldrne r6, [sp, #68]
27077 orr r3, r3, r0
27078 mov r0, ip, asl #1
27079 add ip, ip, #1
27080 strneh r3, [r0, r6] @ movhi
27081 cmp r5, ip
27082 mov r1, r1, asl #8
27083 bne .L9359
27084 ldr r7, [sp, #68]
27085 add r3, r7, lr, asl #1
27086 sub r0, r3, #8
27087.L9358:
27088 ldr r1, [r2, #0]
27089 cmp r1, #0
27090 beq .L9364
27091 ands r3, r1, #255
27092 ldrne r8, [sp, #28]
27093 orrne r3, r3, r8
27094 strneh r3, [r0, #6] @ movhi
27095 mov r3, r1, lsr #8
27096 ands r3, r3, #255
27097 ldrne ip, [sp, #28]
27098 orrne r3, r3, ip
27099 strneh r3, [r0, #4] @ movhi
27100 mov r3, r1, lsr #16
27101 ands r3, r3, #255
27102 ldrne lr, [sp, #28]
27103 orrne r3, r3, lr
27104 strneh r3, [r0, #2] @ movhi
27105 movs r3, r1, lsr #24
27106 ldrne r1, [sp, #28]
27107 orrne r3, r3, r1
27108 strneh r3, [r0, #0] @ movhi
27109.L9364:
27110 add r0, r0, #8
27111.L9350:
27112 sub r2, r2, #64
27113.L9345:
27114 movs lr, r4, lsr #3
27115 beq .L8685
27116 mov ip, #0
27117 b .L9374
27118.L9502:
27119 sub r2, r2, #64
27120 add r0, r0, #16
27121.L9374:
27122 ldr r1, [r2, #4]
27123 cmp r1, #0
27124 beq .L9375
27125 ands r3, r1, #255
27126 ldrne r4, [sp, #28]
27127 orrne r3, r3, r4
27128 strneh r3, [r0, #6] @ movhi
27129 mov r3, r1, lsr #8
27130 ands r3, r3, #255
27131 ldrne r5, [sp, #28]
27132 orrne r3, r3, r5
27133 strneh r3, [r0, #4] @ movhi
27134 mov r3, r1, lsr #16
27135 ands r3, r3, #255
27136 ldrne r6, [sp, #28]
27137 orrne r3, r3, r6
27138 strneh r3, [r0, #2] @ movhi
27139 movs r3, r1, lsr #24
27140 ldrne r7, [sp, #28]
27141 orrne r3, r3, r7
27142 strneh r3, [r0, #0] @ movhi
27143.L9375:
27144 ldr r1, [r2, #0]
27145 cmp r1, #0
27146 beq .L9384
27147 ands r3, r1, #255
27148 ldrne r8, [sp, #28]
27149 orrne r3, r3, r8
27150 strneh r3, [r0, #14] @ movhi
27151 mov r3, r1, lsr #8
27152 ands r3, r3, #255
27153 ldrne r4, [sp, #28]
27154 orrne r3, r3, r4
27155 strneh r3, [r0, #12] @ movhi
27156 mov r3, r1, lsr #16
27157 ands r3, r3, #255
27158 ldrne r5, [sp, #28]
27159 orrne r3, r3, r5
27160 strneh r3, [r0, #10] @ movhi
27161 movs r3, r1, lsr #24
27162 ldrne r6, [sp, #28]
27163 orrne r3, r3, r6
27164 strneh r3, [r0, #8] @ movhi
27165.L9384:
27166 add ip, ip, #1
27167 cmp ip, lr
27168 bne .L9502
27169 b .L8685
27170.L8761:
27171 mov r3, r4, lsr #3
27172 mov r2, r3, asl #5
27173 ands r3, r4, #7
27174 add lr, r0, r2
27175 ldreq ip, [sp, #68]
27176 beq .L8810
27177 rsbs r4, r3, #8
27178 ldr r0, [r0, r2]
27179 ldreq ip, [sp, #68]
27180 beq .L8813
27181 mov r3, r3, asl #2
27182 mov r0, r0, lsr r3
27183 mov ip, #0
27184.L8814:
27185 ands r3, r0, #15
27186 ldr r6, [sp, #28]
27187 ldrne r7, [sp, #68]
27188 orr r3, r1, r3
27189 mov r2, ip, asl #1
27190 orr r3, r3, r6
27191 add ip, ip, #1
27192 strneh r3, [r2, r7] @ movhi
27193 cmp ip, r4
27194 mov r0, r0, lsr #4
27195 bne .L8814
27196 ldr r8, [sp, #68]
27197 add ip, r8, r4, asl #1
27198.L8813:
27199 add lr, lr, #32
27200.L8810:
27201 movs r4, r5, lsr #3
27202 beq .L8685
27203 mov r0, #0
27204 b .L8820
27205.L9503:
27206 add lr, lr, #32
27207 add ip, ip, #16
27208.L8820:
27209 ldr r2, [lr, #0]
27210 cmp r2, #0
27211 beq .L8821
27212 ands r3, r2, #15
27213 ldrne r5, [sp, #28]
27214 orrne r3, r1, r3
27215 orrne r3, r3, r5
27216 strneh r3, [ip, #0] @ movhi
27217 mov r3, r2, lsr #4
27218 ands r3, r3, #15
27219 ldrne r6, [sp, #28]
27220 orrne r3, r1, r3
27221 orrne r3, r3, r6
27222 strneh r3, [ip, #2] @ movhi
27223 mov r3, r2, lsr #8
27224 ands r3, r3, #15
27225 ldrne r7, [sp, #28]
27226 orrne r3, r1, r3
27227 orrne r3, r3, r7
27228 strneh r3, [ip, #4] @ movhi
27229 mov r3, r2, lsr #12
27230 ands r3, r3, #15
27231 ldrne r8, [sp, #28]
27232 orrne r3, r1, r3
27233 orrne r3, r3, r8
27234 strneh r3, [ip, #6] @ movhi
27235 mov r3, r2, lsr #16
27236 ands r3, r3, #15
27237 ldrne r5, [sp, #28]
27238 orrne r3, r1, r3
27239 orrne r3, r3, r5
27240 strneh r3, [ip, #8] @ movhi
27241 mov r3, r2, lsr #20
27242 ands r3, r3, #15
27243 ldrne r6, [sp, #28]
27244 orrne r3, r1, r3
27245 orrne r3, r3, r6
27246 strneh r3, [ip, #10] @ movhi
27247 mov r3, r2, lsr #24
27248 ands r3, r3, #15
27249 ldrne r7, [sp, #28]
27250 orrne r3, r1, r3
27251 orrne r3, r3, r7
27252 strneh r3, [ip, #12] @ movhi
27253 movs r3, r2, lsr #28
27254 ldrne r8, [sp, #28]
27255 orrne r3, r1, r3
27256 orrne r3, r3, r8
27257 strneh r3, [ip, #14] @ movhi
27258.L8821:
27259 add r0, r0, #1
27260 cmp r0, r4
27261 bne .L9503
27262 b .L8685
27263.L9023:
27264 ldr r1, [sp, #92]
27265 rsb ip, r0, #8
27266 cmp r1, ip
27267 blt .L9504
27268 cmp r0, #3
27269 bls .L9056
27270 cmp ip, #0
27271 ldr r2, [r6, #4]
27272 ldreq r4, [sp, #68]
27273 beq .L9060
27274 mov r3, r0, asl #3
27275 sub r3, r3, #32
27276 mov r1, r2, lsr r3
27277 mov r0, #0
27278.L9061:
27279 ands r3, r1, #255
27280 ldr r8, [sp, #28]
27281 ldrne lr, [sp, #68]
27282 mov r2, r0, asl #1
27283 orr r3, r3, r8
27284 add r0, r0, #1
27285 strneh r3, [r2, lr] @ movhi
27286 cmp ip, r0
27287 mov r1, r1, lsr #8
27288 bne .L9061
27289 ldr r0, [sp, #68]
27290 add r4, r0, ip, asl #1
27291.L9060:
27292 ldr r1, [sp, #92]
27293 add r6, r6, #64
27294 rsb r5, ip, r1
27295 b .L9025
27296.L8893:
27297 ldr r2, [sp, #92]
27298 rsb r6, lr, #8
27299 cmp r2, r6
27300 blt .L9505
27301 cmp r6, #0
27302 ldr r2, [r0, #0]
27303 ldreq r8, [sp, #68]
27304 beq .L8906
27305 mov r3, lr, asl #2
27306 mov lr, r2, asl r3
27307 mov r5, #0
27308.L8907:
27309 movs r3, lr, lsr #28
27310 ldr r7, [sp, #28]
27311 ldrne r8, [sp, #68]
27312 orr r3, r1, r3
27313 mov r4, r5, asl #1
27314 orr r3, r3, r7
27315 add r5, r5, #1
27316 strneh r3, [r4, r8] @ movhi
27317 cmp r6, r5
27318 mov lr, lr, asl #4
27319 bne .L8907
27320 ldr ip, [sp, #68]
27321 add r8, ip, r6, asl #1
27322.L8906:
27323 ldr lr, [sp, #92]
27324 sub r0, r0, #32
27325 rsb r2, r6, lr
27326 b .L8895
27327.L8763:
27328 ldr r7, [sp, #92]
27329 rsb lr, r3, #8
27330 cmp r7, lr
27331 blt .L9506
27332 cmp lr, #0
27333 ldr r2, [r5, #0]
27334 ldreq r6, [sp, #68]
27335 beq .L8776
27336 mov r3, r3, asl #2
27337 mov r2, r2, lsr r3
27338 mov ip, #0
27339.L8777:
27340 ands r3, r2, #15
27341 ldr r4, [sp, #28]
27342 ldrne r6, [sp, #68]
27343 orr r3, r1, r3
27344 mov r0, ip, asl #1
27345 orr r3, r3, r4
27346 add ip, ip, #1
27347 strneh r3, [r0, r6] @ movhi
27348 cmp lr, ip
27349 mov r2, r2, lsr #4
27350 bne .L8777
27351 ldr r7, [sp, #68]
27352 add r6, r7, lr, asl #1
27353.L8776:
27354 ldr r8, [sp, #92]
27355 add r5, r5, #32
27356 rsb r7, lr, r8
27357 b .L8765
27358.L9243:
27359 ldr r1, [sp, #92]
27360 rsb ip, r0, #8
27361 cmp r1, ip
27362 blt .L9507
27363 cmp r0, #3
27364 bls .L9276
27365 cmp ip, #0
27366 ldr r2, [r6, #0]
27367 ldreq r4, [sp, #68]
27368 beq .L9280
27369 mov r3, r0, asl #3
27370 sub r3, r3, #32
27371 mov r2, r2, asl r3
27372 mov r0, #0
27373.L9281:
27374 movs r3, r2, lsr #24
27375 ldr r8, [sp, #28]
27376 ldrne lr, [sp, #68]
27377 mov r1, r0, asl #1
27378 orr r3, r3, r8
27379 add r0, r0, #1
27380 strneh r3, [r1, lr] @ movhi
27381 cmp ip, r0
27382 mov r2, r2, asl #8
27383 bne .L9281
27384 ldr r0, [sp, #68]
27385 add r4, r0, ip, asl #1
27386.L9280:
27387 ldr r1, [sp, #92]
27388 sub r6, r6, #64
27389 rsb r5, ip, r1
27390 b .L9245
27391.L9507:
27392 cmp r1, #0
27393 ble .L8685
27394 cmp r0, #3
27395 bls .L9249
27396 mov r3, r0, asl #3
27397 ldr r2, [r6, #0]
27398 sub r3, r3, #32
27399 mov r2, r2, asl r3
27400 mov r0, #0
27401.L9252:
27402 movs r3, r2, lsr #24
27403 ldr r4, [sp, #28]
27404 ldrne r5, [sp, #68]
27405 ldr r6, [sp, #92]
27406 mov r1, r0, asl #1
27407 orr r3, r3, r4
27408 add r0, r0, #1
27409 strneh r3, [r1, r5] @ movhi
27410 cmp r6, r0
27411 mov r2, r2, asl #8
27412 bne .L9252
27413 b .L8685
27414.L9506:
27415 cmp r7, #0
27416 ble .L8685
27417 ldr r2, [r0, r2]
27418 mov r3, r3, asl #2
27419 mov r0, r2, lsr r3
27420 mov ip, #0
27421.L8770:
27422 ands r3, r0, #15
27423 ldr r8, [sp, #28]
27424 ldrne lr, [sp, #68]
27425 orr r3, r1, r3
27426 mov r2, ip, asl #1
27427 orr r3, r3, r8
27428 strneh r3, [r2, lr] @ movhi
27429 ldr r2, [sp, #92]
27430 add ip, ip, #1
27431 cmp r2, ip
27432 mov r0, r0, lsr #4
27433 bne .L8770
27434 b .L8685
27435.L9505:
27436 cmp r2, #0
27437 ble .L8685
27438 ldr r2, [r0, #0]
27439 mov r3, lr, asl #2
27440 mov r0, r2, asl r3
27441 mov ip, #0
27442.L8900:
27443 movs r3, r0, lsr #28
27444 ldr r4, [sp, #28]
27445 ldrne r5, [sp, #68]
27446 orr r3, r1, r3
27447 ldr r6, [sp, #92]
27448 mov r2, ip, asl #1
27449 orr r3, r3, r4
27450 add ip, ip, #1
27451 strneh r3, [r2, r5] @ movhi
27452 cmp r6, ip
27453 mov r0, r0, asl #4
27454 bne .L8900
27455 b .L8685
27456.L9501:
27457 cmp lr, #0
27458 ldr r1, [r2, #0]
27459 ldreq r0, [sp, #68]
27460 beq .L9350
27461 mov r3, r0, asl #3
27462 sub r3, r3, #32
27463 mov r1, r1, asl r3
27464 mov ip, #0
27465.L9351:
27466 movs r3, r1, lsr #24
27467 ldr r6, [sp, #28]
27468 ldrne r7, [sp, #68]
27469 mov r0, ip, asl #1
27470 orr r3, r3, r6
27471 add ip, ip, #1
27472 strneh r3, [r0, r7] @ movhi
27473 cmp ip, lr
27474 mov r1, r1, asl #8
27475 bne .L9351
27476 ldr r8, [sp, #68]
27477 sub r2, r2, #64
27478 add r0, r8, lr, asl #1
27479 b .L9345
27480.L9498:
27481 cmp lr, #0
27482 ldr r1, [r0, #4]
27483 ldreq r1, [sp, #68]
27484 beq .L9130
27485 mov r3, r2, asl #3
27486 sub r3, r3, #32
27487 mov r2, r1, lsr r3
27488 mov ip, #0
27489.L9131:
27490 ands r3, r2, #255
27491 ldr r6, [sp, #28]
27492 ldrne r7, [sp, #68]
27493 mov r1, ip, asl #1
27494 orr r3, r3, r6
27495 add ip, ip, #1
27496 strneh r3, [r1, r7] @ movhi
27497 cmp ip, lr
27498 mov r2, r2, lsr #8
27499 bne .L9131
27500 ldr r8, [sp, #68]
27501 add r0, r0, #64
27502 add r1, r8, lr, asl #1
27503 b .L9125
27504.L9504:
27505 cmp r1, #0
27506 ble .L8685
27507 cmp r0, #3
27508 bls .L9029
27509 mov r3, r0, asl #3
27510 ldr r2, [r6, #4]
27511 sub r3, r3, #32
27512 mov r1, r2, lsr r3
27513 mov r0, #0
27514.L9032:
27515 ands r3, r1, #255
27516 ldr r2, [sp, #28]
27517 ldrne r4, [sp, #68]
27518 ldr r5, [sp, #92]
27519 orr r3, r3, r2
27520 mov r2, r0, asl #1
27521 add r0, r0, #1
27522 strneh r3, [r2, r4] @ movhi
27523 cmp r5, r0
27524 mov r1, r1, lsr #8
27525 bne .L9032
27526 b .L8685
27527.L9511:
27528 mov r6, #0
27529 b .L8743
27530.L9276:
27531 subs lr, ip, #4
27532 ldr r2, [r6, #4]
27533 ldreq r1, [sp, #68]
27534 beq .L9288
27535 mov r3, r0, asl #3
27536 sub r3, r3, #32
27537 mov r2, r2, asl r3
27538 mov r0, #0
27539.L9289:
27540 movs r3, r2, lsr #24
27541 ldr r1, [sp, #28]
27542 ldrne r4, [sp, #68]
27543 orr r3, r3, r1
27544 mov r1, r0, asl #1
27545 add r0, r0, #1
27546 strneh r3, [r1, r4] @ movhi
27547 cmp lr, r0
27548 mov r2, r2, asl #8
27549 bne .L9289
27550 ldr r5, [sp, #68]
27551 add r3, r5, ip, asl #1
27552 sub r1, r3, #8
27553.L9288:
27554 ldr r2, [r6, #0]
27555 cmp r2, #0
27556 beq .L9294
27557 ands r3, r2, #255
27558 ldrne r7, [sp, #28]
27559 orrne r3, r3, r7
27560 strneh r3, [r1, #6] @ movhi
27561 mov r3, r2, lsr #8
27562 ands r3, r3, #255
27563 ldrne r8, [sp, #28]
27564 orrne r3, r3, r8
27565 strneh r3, [r1, #4] @ movhi
27566 mov r3, r2, lsr #16
27567 ands r3, r3, #255
27568 ldrne lr, [sp, #28]
27569 orrne r3, r3, lr
27570 strneh r3, [r1, #2] @ movhi
27571 movs r3, r2, lsr #24
27572 ldrne r0, [sp, #28]
27573 orrne r3, r3, r0
27574 strneh r3, [r1, #0] @ movhi
27575.L9294:
27576 add r4, r1, #8
27577 b .L9280
27578.L9056:
27579 subs lr, ip, #4
27580 ldr r2, [r6, #0]
27581 ldreq r1, [sp, #68]
27582 beq .L9068
27583 mov r3, r0, asl #3
27584 mov r1, r2, lsr r3
27585 mov r0, #0
27586.L9069:
27587 ands r3, r1, #255
27588 ldr r2, [sp, #28]
27589 ldrne r4, [sp, #68]
27590 orr r3, r3, r2
27591 mov r2, r0, asl #1
27592 add r0, r0, #1
27593 strneh r3, [r2, r4] @ movhi
27594 cmp r0, lr
27595 mov r1, r1, lsr #8
27596 bne .L9069
27597 ldr r5, [sp, #68]
27598 add r3, r5, ip, asl #1
27599 sub r1, r3, #8
27600.L9068:
27601 ldr r2, [r6, #4]
27602 cmp r2, #0
27603 beq .L9074
27604 ands r3, r2, #255
27605 ldrne r7, [sp, #28]
27606 orrne r3, r3, r7
27607 strneh r3, [r1, #0] @ movhi
27608 mov r3, r2, lsr #8
27609 ands r3, r3, #255
27610 ldrne r8, [sp, #28]
27611 orrne r3, r3, r8
27612 strneh r3, [r1, #2] @ movhi
27613 mov r3, r2, lsr #16
27614 ands r3, r3, #255
27615 ldrne lr, [sp, #28]
27616 orrne r3, r3, lr
27617 strneh r3, [r1, #4] @ movhi
27618 movs r3, r2, lsr #24
27619 ldrne r0, [sp, #28]
27620 orrne r3, r3, r0
27621 strneh r3, [r1, #6] @ movhi
27622.L9074:
27623 add r4, r1, #8
27624 b .L9060
27625.L9509:
27626 ldr r5, [sp, #20]
27627 b .L9474
27628.L9508:
27629 mov ip, fp
27630 b .L9472
27631.L9249:
27632 ldr r7, [sp, #92]
27633 mov r3, r0, asl #3
27634 ldr r1, [r6, #4]
27635 add r2, r7, r0
27636 sub r3, r3, #32
27637 cmp r2, #4
27638 mov r1, r1, asl r3
27639 bhi .L9256
27640 cmp r7, #0
27641 movne r0, #0
27642 beq .L8685
27643.L9272:
27644 movs r3, r1, lsr #24
27645 ldr r5, [sp, #28]
27646 ldrne r6, [sp, #68]
27647 ldr r7, [sp, #92]
27648 mov r2, r0, asl #1
27649 orr r3, r3, r5
27650 add r0, r0, #1
27651 strneh r3, [r2, r6] @ movhi
27652 cmp r7, r0
27653 mov r1, r1, asl #8
27654 bne .L9272
27655 b .L8685
27656.L9029:
27657 ldr r7, [sp, #92]
27658 ldr r3, [r6, #0]
27659 add r2, r7, r0
27660 cmp r2, #4
27661 mov r1, r0, asl #3
27662 mov r2, r3, lsr r1
27663 bhi .L9036
27664 cmp r7, #0
27665 movne r0, #0
27666 beq .L8685
27667.L9052:
27668 ands r3, r2, #255
27669 ldr r5, [sp, #28]
27670 ldrne r6, [sp, #68]
27671 ldr r7, [sp, #92]
27672 mov r1, r0, asl #1
27673 orr r3, r3, r5
27674 add r0, r0, #1
27675 strneh r3, [r1, r6] @ movhi
27676 cmp r7, r0
27677 mov r2, r2, lsr #8
27678 bne .L9052
27679 b .L8685
27680.L9256:
27681 rsbs ip, r0, #4
27682 ldreq lr, [sp, #68]
27683 beq .L9261
27684 mov r0, #0
27685.L9262:
27686 movs r3, r1, lsr #24
27687 ldr r8, [sp, #28]
27688 ldrne lr, [sp, #68]
27689 mov r2, r0, asl #1
27690 orr r3, r3, r8
27691 add r0, r0, #1
27692 strneh r3, [r2, lr] @ movhi
27693 cmp r0, ip
27694 mov r1, r1, asl #8
27695 bne .L9262
27696 ldr r0, [sp, #68]
27697 add lr, r0, ip, asl #1
27698.L9261:
27699 ldr r1, [sp, #92]
27700 ldr r2, [r6, #0]
27701 subs ip, r1, ip
27702 beq .L8685
27703 mov r0, #0
27704.L9268:
27705 ldr r4, [sp, #28]
27706 movs r3, r2, lsr #24
27707 mov r1, r0, asl #1
27708 orr r3, r3, r4
27709 add r0, r0, #1
27710 strneh r3, [r1, lr] @ movhi
27711 cmp r0, ip
27712 mov r2, r2, asl #8
27713 bne .L9268
27714 b .L8685
27715.L9036:
27716 rsbs ip, r0, #4
27717 ldreq lr, [sp, #68]
27718 beq .L9041
27719 mov r0, #0
27720.L9042:
27721 ands r3, r2, #255
27722 ldr r8, [sp, #28]
27723 ldrne lr, [sp, #68]
27724 mov r1, r0, asl #1
27725 orr r3, r3, r8
27726 add r0, r0, #1
27727 strneh r3, [r1, lr] @ movhi
27728 cmp r0, ip
27729 mov r2, r2, lsr #8
27730 bne .L9042
27731 ldr r0, [sp, #68]
27732 add lr, r0, ip, asl #1
27733.L9041:
27734 ldr r1, [sp, #92]
27735 ldr r2, [r6, #4]
27736 subs ip, r1, ip
27737 beq .L8685
27738 mov r0, #0
27739.L9048:
27740 ldr r4, [sp, #28]
27741 ands r3, r2, #255
27742 mov r1, r0, asl #1
27743 orr r3, r3, r4
27744 add r0, r0, #1
27745 strneh r3, [r1, lr] @ movhi
27746 cmp r0, ip
27747 mov r2, r2, lsr #8
27748 bne .L9048
27749 b .L8685
27750 .size render_scanline_obj_color16_2D, .-render_scanline_obj_color16_2D
27751 .align 2
27752 .global render_scanline_obj_color32_1D
27753 .type render_scanline_obj_color32_1D, %function
27754render_scanline_obj_color32_1D:
27755 @ args = 0, pretend = 0, frame = 112
27756 @ frame_needed = 0, uses_anonymous_args = 0
27757 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
27758 ldr ip, .L10356
27759 sub sp, sp, #112
27760 ldrh r4, [ip, #6]
27761 add r0, r0, r0, asl #2
27762 str r4, [sp, #32]
27763 ldr r5, [sp, #32]
27764 ldrh r4, [ip, #80]
27765 ldr ip, .L10356+4
27766 add r0, r5, r0, asl #5
27767 ldr ip, [ip, r0, asl #2]
27768 mov lr, r4, lsr #11
27769 and lr, lr, #2
27770 mov r4, r4, asl #27
27771 str ip, [sp, #36]
27772 orr lr, lr, r4, lsr #31
27773 cmp ip, #0
27774 ldr ip, .L10356+8
27775 mov lr, lr, asl #9
27776 add r0, ip, r0, asl #7
27777 orr lr, lr, #256
27778 str r0, [sp, #40]
27779 str r1, [sp, #8]
27780 str r2, [sp, #4]
27781 str r3, [sp, #0]
27782 str lr, [sp, #24]
27783 beq .L10302
27784 mov r8, #0
27785 add r6, r3, r1, asl #2
27786 rsb r7, r1, r2
27787 str r6, [sp, #84]
27788 str r7, [sp, #108]
27789 str r8, [sp, #28]
27790 mov ip, r8
27791.L9517:
27792 ldr lr, [sp, #40]
27793 ldr r0, .L10356+12
27794 ldrb r3, [ip, lr] @ zero_extendqisi2
27795 mov r3, r3, asl #3
27796 ldrh r4, [r3, r0]
27797 add r3, r3, r0
27798 ldrh r1, [r3, #2]
27799 mov r5, r4, lsr #12
27800 and r2, r5, #12
27801 orr r0, r2, r1, lsr #14
27802 and ip, r4, #255
27803 mov r2, r1, asl #23
27804 cmp ip, #160
27805 ldrh lr, [r3, #4]
27806 mov r6, r2, asr #23
27807 ldr r3, .L10356+16
27808 ldr r2, .L10356+20
27809 subgt ip, ip, #256
27810 tst r4, #256
27811 ldr r7, [r2, r0, asl #2]
27812 ldr sl, [r3, r0, asl #2]
27813 beq .L9520
27814 tst r4, #8192
27815 beq .L9522
27816 tst r4, #512
27817 mov r3, r1, lsr #4
27818 ldr r4, .L10356+12
27819 and r3, r3, #992
27820 add r3, r3, r4
27821 add r2, r7, r7, lsr #31
27822 ldrh r5, [r3, #30]
27823 mov r4, r2, asr #1
27824 add r1, sl, sl, lsr #31
27825 ldr r2, [sp, #8]
27826 movne r0, r4, asl #1
27827 str r5, [sp, #12]
27828 mov r5, r1, asr #1
27829 strne r0, [sp, #56]
27830 moveq r9, r7
27831 streq r4, [sp, #56]
27832 moveq r0, r5
27833 movne r9, r7, asl #1
27834 movne r0, r5, asl #1
27835 cmp r6, r2
27836 ldrh r8, [r3, #6]
27837 ldrh r1, [r3, #14]
27838 ldrh fp, [r3, #22]
27839 bge .L9527
27840 rsb r2, r6, r2
27841 rsb r9, r2, r9
27842 cmp r9, #0
27843 ble .L9529
27844 ldr r3, [sp, #56]
27845 ldr r6, [sp, #8]
27846 rsb r3, r2, r3
27847 str r3, [sp, #56]
27848.L9527:
27849 ldr r2, [sp, #4]
27850 add r3, r6, r9
27851 cmp r3, r2
27852 blt .L9531
27853 rsb r9, r6, r2
27854 cmp r9, #0
27855 ble .L9529
27856.L9531:
27857 mov r3, r8, asl #16
27858 ldr r8, [sp, #12]
27859 mov r2, r1, asl #16
27860 mov r2, r2, asr #16
27861 mov r1, r8, asl #16
27862 add r0, ip, r0
27863 str r2, [sp, #48]
27864 mov ip, r1, asr #16
27865 ldr r2, [sp, #32]
27866 ldr r1, [sp, #0]
27867 mov r4, r4, asl #8
27868 mov r3, r3, asr #16
27869 mov r5, r5, asl #8
27870 cmp fp, #0
27871 str r4, [sp, #92]
27872 str r3, [sp, #44]
27873 str r5, [sp, #52]
27874 add r8, r1, r6, asl #2
27875 rsb r4, r0, r2
27876 bne .L9533
27877 mov r3, r5
27878 mla r3, r4, ip, r3
27879 mov r0, r3, asr #8
27880 cmp r0, sl
27881 bcs .L9529
27882 cmp r7, #0
27883 add r3, r7, #7
27884 movge r3, r7
27885 mov r2, lr, asl #22
27886 mov r3, r3, asr #3
27887 mov r3, r3, asl #1
27888 mov r1, r0, lsr #3
27889 mov r2, r2, lsr #22
27890 mla ip, r3, r1, r2
27891 and r0, r0, #7
27892 ldr r3, .L10356+24
27893 add r0, r0, ip, asl #2
27894 cmp r9, #0
27895 add lr, r3, r0, asl #3
27896 ble .L9529
27897 ldr r3, [sp, #48]
27898 ldr r2, [sp, #56]
27899 mul r3, r4, r3
27900 ldr r4, [sp, #44]
27901 ldr r5, [sp, #92]
27902 mul r2, r4, r2
27903 rsb r3, r2, r3
27904 add r0, r5, r3
27905 mov r4, r0, asr #8
27906 cmp r4, r7
27907 movcs ip, fp
27908 bcs .L9539
27909 b .L10352
27910.L9540:
27911 cmp r4, r7
27912 bcc .L10316
27913.L9539:
27914 ldr r6, [sp, #44]
27915 add ip, ip, #1
27916 add r0, r0, r6
27917 cmp r9, ip
27918 mov r4, r0, asr #8
27919 add r8, r8, #4
27920 bne .L9540
27921.L9529:
27922 ldr r0, [sp, #28]
27923 ldr r1, [sp, #36]
27924 add r0, r0, #1
27925 cmp r0, r1
27926 str r0, [sp, #28]
27927 beq .L10302
27928.L10334:
27929 ldr ip, [sp, #28]
27930 b .L9517
27931.L9520:
27932 ldr r0, [sp, #32]
27933 tst r1, #8192
27934 rsb ip, ip, r0
27935 rsbne r3, ip, sl
27936 subne ip, r3, #1
27937 mov r2, r1, asl #19
27938 and r3, r5, #2
27939 orr r3, r3, r2, lsr #31
27940 cmp r3, #3
27941 ldrls pc, [pc, r3, asl #2]
27942 b .L9529
27943 .p2align 2
27944.L9601:
27945 .word .L9597
27946 .word .L9598
27947 .word .L9599
27948 .word .L9600
27949.L9597:
27950 cmp r7, #0
27951 add r3, r7, #7
27952 mov r2, lr, asl #22
27953 movge r3, r7
27954 mov r5, r3, asr #3
27955 mov r2, r2, lsr #22
27956 mov r3, ip, lsr #3
27957 mla r0, r5, r3, r2
27958 ldr r2, [sp, #8]
27959 and r1, ip, #7
27960 ldr r3, .L10356+24
27961 add r1, r1, r0, asl #3
27962 cmp r6, r2
27963 mov r2, lr, lsr #8
27964 add r0, r3, r1, asl #2
27965 and r1, r2, #240
27966 blt .L10329
27967 ldr ip, [sp, #4]
27968 add r3, r6, r7
27969 cmp ip, r3
27970 bhi .L9683
27971 rsb r7, r6, ip
27972 cmp r7, #0
27973 ble .L9529
27974 ldr lr, [sp, #0]
27975 movs r8, r7, lsr #3
27976 add r2, lr, r6, asl #2
27977 beq .L9686
27978 mov r5, r2
27979 mov lr, r0
27980 mov ip, #0
27981.L9688:
27982 ldr r4, [lr, #0]
27983 cmp r4, #0
27984 beq .L9689
27985 ands r3, r4, #15
27986 ldrne r6, [sp, #24]
27987 orrne r3, r6, r3
27988 orrne r3, r1, r3
27989 strne r3, [r5, #0]
27990 mov r3, r4, lsr #4
27991 ands r3, r3, #15
27992 ldrne r6, [sp, #24]
27993 orrne r3, r6, r3
27994 orrne r3, r1, r3
27995 strne r3, [r5, #4]
27996 mov r3, r4, lsr #8
27997 ands r3, r3, #15
27998 ldrne r6, [sp, #24]
27999 orrne r3, r6, r3
28000 orrne r3, r1, r3
28001 strne r3, [r5, #8]
28002 mov r3, r4, lsr #12
28003 ands r3, r3, #15
28004 ldrne r6, [sp, #24]
28005 orrne r3, r6, r3
28006 orrne r3, r1, r3
28007 strne r3, [r5, #12]
28008 mov r3, r4, lsr #16
28009 ands r3, r3, #15
28010 ldrne r6, [sp, #24]
28011 orrne r3, r6, r3
28012 orrne r3, r1, r3
28013 strne r3, [r5, #16]
28014 mov r3, r4, lsr #20
28015 ands r3, r3, #15
28016 ldrne r6, [sp, #24]
28017 orrne r3, r6, r3
28018 orrne r3, r1, r3
28019 strne r3, [r5, #20]
28020 mov r3, r4, lsr #24
28021 ands r3, r3, #15
28022 ldrne r6, [sp, #24]
28023 orrne r3, r6, r3
28024 orrne r3, r1, r3
28025 strne r3, [r5, #24]
28026 movs r3, r4, lsr #28
28027 ldrne r4, [sp, #24]
28028 orrne r3, r4, r3
28029 orrne r3, r1, r3
28030 strne r3, [r5, #28]
28031.L9689:
28032 add ip, ip, #1
28033 cmp ip, r8
28034 add lr, lr, #32
28035 add r5, r5, #32
28036 bne .L9688
28037 mov r3, r8, asl #5
28038 add r0, r0, r3
28039 add r2, r2, r3
28040.L9686:
28041 ands lr, r7, #7
28042 beq .L9529
28043 ldr r0, [r0, #0]
28044 mov ip, #0
28045.L9708:
28046 ldr r5, [sp, #24]
28047 ands r3, r0, #15
28048 orr r3, r5, r3
28049 orr r3, r1, r3
28050 strne r3, [r2, ip, asl #2]
28051 add ip, ip, #1
28052 cmp ip, lr
28053 mov r0, r0, lsr #4
28054 bne .L9708
28055 b .L9529
28056.L9598:
28057 cmp r7, #0
28058 add r3, r7, #7
28059 mov r2, lr, asl #22
28060 movge r3, r7
28061 mov r5, r3, asr #3
28062 mov r2, r2, lsr #22
28063 mov r1, ip, lsr #3
28064 mla r0, r5, r1, r2
28065 subs r3, r7, #8
28066 submi r3, r7, #1
28067 ldr r8, [sp, #8]
28068 add r0, r0, r3, asr #3
28069 and r2, ip, #7
28070 ldr r3, .L10356+24
28071 add r2, r2, r0, asl #3
28072 mov r1, lr, lsr #8
28073 cmp r6, r8
28074 add r0, r3, r2, asl #2
28075 and r1, r1, #240
28076 blt .L10330
28077 ldr ip, [sp, #4]
28078 add r3, r6, r7
28079 cmp ip, r3
28080 bhi .L9813
28081 rsb r8, r6, ip
28082 cmp r8, #0
28083 ble .L9529
28084 ldr lr, [sp, #0]
28085 movs r7, r8, lsr #3
28086 add r2, lr, r6, asl #2
28087 beq .L9816
28088 mov r5, r2
28089 mov lr, r0
28090 mov ip, #0
28091.L9818:
28092 ldr r4, [lr, #0]
28093 cmp r4, #0
28094 beq .L9819
28095 ands r3, r4, #15
28096 ldrne r6, [sp, #24]
28097 orrne r3, r6, r3
28098 orrne r3, r1, r3
28099 strne r3, [r5, #28]
28100 mov r3, r4, lsr #4
28101 ands r3, r3, #15
28102 ldrne r6, [sp, #24]
28103 orrne r3, r6, r3
28104 orrne r3, r1, r3
28105 strne r3, [r5, #24]
28106 mov r3, r4, lsr #8
28107 ands r3, r3, #15
28108 ldrne r6, [sp, #24]
28109 orrne r3, r6, r3
28110 orrne r3, r1, r3
28111 strne r3, [r5, #20]
28112 mov r3, r4, lsr #12
28113 ands r3, r3, #15
28114 ldrne r6, [sp, #24]
28115 orrne r3, r6, r3
28116 orrne r3, r1, r3
28117 strne r3, [r5, #16]
28118 mov r3, r4, lsr #16
28119 ands r3, r3, #15
28120 ldrne r6, [sp, #24]
28121 orrne r3, r6, r3
28122 orrne r3, r1, r3
28123 strne r3, [r5, #12]
28124 mov r3, r4, lsr #20
28125 ands r3, r3, #15
28126 ldrne r6, [sp, #24]
28127 orrne r3, r6, r3
28128 orrne r3, r1, r3
28129 strne r3, [r5, #8]
28130 mov r3, r4, lsr #24
28131 ands r3, r3, #15
28132 ldrne r6, [sp, #24]
28133 orrne r3, r6, r3
28134 orrne r3, r1, r3
28135 strne r3, [r5, #4]
28136 movs r3, r4, lsr #28
28137 ldrne r4, [sp, #24]
28138 orrne r3, r4, r3
28139 orrne r3, r1, r3
28140 strne r3, [r5, #0]
28141.L9819:
28142 add ip, ip, #1
28143 cmp ip, r7
28144 sub lr, lr, #32
28145 add r5, r5, #32
28146 bne .L9818
28147 rsb r3, r7, r7, asl #27
28148 add r0, r0, r3, asl #5
28149 add r2, r2, r7, asl #5
28150.L9816:
28151 ands lr, r8, #7
28152 beq .L9529
28153 ldr r0, [r0, #0]
28154 mov ip, #0
28155.L9838:
28156 ldr r5, [sp, #24]
28157 movs r3, r0, lsr #28
28158 orr r3, r5, r3
28159 orr r3, r1, r3
28160 strne r3, [r2, ip, asl #2]
28161 add ip, ip, #1
28162 cmp ip, lr
28163 mov r0, r0, asl #4
28164 bne .L9838
28165 b .L9529
28166.L9599:
28167 cmp r7, #0
28168 add r3, r7, #7
28169 mov r1, lr, asl #22
28170 movge r3, r7
28171 mov r2, ip, lsr #3
28172 mov lr, r3, asr #3
28173 mov r1, r1, lsr #22
28174 mov r2, r2, asl #1
28175 mla r0, r2, lr, r1
28176 and r3, ip, #7
28177 add r3, r3, r0, asl #2
28178 ldr r8, [sp, #8]
28179 mov r0, r3, asl #3
28180 ldr r3, .L10356+24
28181 cmp r6, r8
28182 add r1, r0, r3
28183 blt .L10331
28184 ldr r8, [sp, #4]
28185 add r3, r6, r7
28186 cmp r8, r3
28187 bhi .L10018
28188 rsb r8, r6, r8
28189 cmp r8, #0
28190 ble .L9529
28191 ldr ip, [sp, #0]
28192 movs r7, r8, lsr #3
28193 add r2, ip, r6, asl #2
28194 beq .L10021
28195 ldr r3, .L10356+32
28196 mov r5, r2
28197 add r0, r0, r3
28198 mov lr, r1
28199 mov ip, #0
28200.L10023:
28201 ldr r4, [lr, #0]
28202 cmp r4, #0
28203 beq .L10024
28204 ands r3, r4, #255
28205 ldrne r6, [sp, #24]
28206 orrne r3, r6, r3
28207 strne r3, [r5, #0]
28208 mov r3, r4, lsr #8
28209 ands r3, r3, #255
28210 ldrne r6, [sp, #24]
28211 orrne r3, r6, r3
28212 strne r3, [r5, #4]
28213 mov r3, r4, lsr #16
28214 ands r3, r3, #255
28215 ldrne r6, [sp, #24]
28216 orrne r3, r6, r3
28217 strne r3, [r5, #8]
28218 movs r3, r4, lsr #24
28219 ldrne r4, [sp, #24]
28220 orrne r3, r4, r3
28221 strne r3, [r5, #12]
28222.L10024:
28223 ldr r4, [r0, #-60]
28224 cmp r4, #0
28225 beq .L10033
28226 ands r3, r4, #255
28227 ldrne r6, [sp, #24]
28228 orrne r3, r6, r3
28229 strne r3, [r5, #16]
28230 mov r3, r4, lsr #8
28231 ands r3, r3, #255
28232 ldrne r6, [sp, #24]
28233 orrne r3, r6, r3
28234 strne r3, [r5, #20]
28235 mov r3, r4, lsr #16
28236 ands r3, r3, #255
28237 ldrne r6, [sp, #24]
28238 orrne r3, r6, r3
28239 strne r3, [r5, #24]
28240 movs r3, r4, lsr #24
28241 ldrne r4, [sp, #24]
28242 orrne r3, r4, r3
28243 strne r3, [r5, #28]
28244.L10033:
28245 add ip, ip, #1
28246 cmp r7, ip
28247 add lr, lr, #64
28248 add r5, r5, #32
28249 add r0, r0, #64
28250 bne .L10023
28251 add r1, r1, r7, asl #6
28252 add r2, r2, r7, asl #5
28253.L10021:
28254 ands ip, r8, #7
28255 beq .L9529
28256 cmp ip, #3
28257 ldrls r0, [r1, #0]
28258 bls .L10056
28259 ldr r0, [r1, #0]
28260 cmp r0, #0
28261 beq .L10046
28262 ands r3, r0, #255
28263 ldrne r5, [sp, #24]
28264 orrne r3, r5, r3
28265 strne r3, [r2, #0]
28266 mov r3, r0, lsr #8
28267 ands r3, r3, #255
28268 ldrne r6, [sp, #24]
28269 orrne r3, r6, r3
28270 strne r3, [r2, #4]
28271 mov r3, r0, lsr #16
28272 ands r3, r3, #255
28273 ldrne r7, [sp, #24]
28274 orrne r3, r7, r3
28275 strne r3, [r2, #8]
28276 movs r3, r0, lsr #24
28277 ldrne r8, [sp, #24]
28278 orrne r3, r8, r3
28279 strne r3, [r2, #12]
28280.L10046:
28281 subs ip, ip, #4
28282 ldr r0, [r1, #4]
28283 addne r2, r2, #16
28284 beq .L9529
28285.L10056:
28286 mov r1, #0
28287.L10057:
28288 ldr lr, [sp, #24]
28289 ands r3, r0, #255
28290 orr r3, lr, r3
28291 strne r3, [r2, r1, asl #2]
28292 add r1, r1, #1
28293 cmp ip, r1
28294 mov r0, r0, lsr #8
28295 bhi .L10057
28296 b .L9529
28297.L9600:
28298 cmp r7, #0
28299 add r2, r7, #7
28300 movge r2, r7
28301 subs r3, r7, #8
28302 submi r3, r7, #1
28303 mov r1, ip, lsr #3
28304 mov r5, r2, asr #3
28305 mov r3, r3, asr #3
28306 mla r0, r5, r1, r3
28307 mov r2, lr, asl #22
28308 mov r2, r2, lsr #22
28309 add r2, r2, r0, asl #1
28310 and r3, ip, #7
28311 add r3, r3, r2, asl #2
28312 ldr ip, [sp, #8]
28313 mov r0, r3, asl #3
28314 ldr r3, .L10356+24
28315 cmp r6, ip
28316 add r1, r0, r3
28317 blt .L10332
28318 add r3, r6, r7
28319 ldr r7, [sp, #4]
28320 cmp r3, r7
28321 bcc .L10238
28322 rsb r8, r6, r7
28323 cmp r8, #0
28324 ble .L9529
28325 ldr ip, [sp, #0]
28326 movs r7, r8, lsr #3
28327 add r6, ip, r6, asl #2
28328 beq .L10241
28329 ldr r3, .L10356+28
28330 mov r5, r6
28331 add r0, r0, r3
28332 mov lr, r1
28333 mov ip, #0
28334.L10243:
28335 ldr r4, [r0, #68]
28336 cmp r4, #0
28337 beq .L10244
28338 ands r3, r4, #255
28339 ldrne r2, [sp, #24]
28340 orrne r3, r2, r3
28341 strne r3, [r5, #12]
28342 mov r3, r4, lsr #8
28343 ands r3, r3, #255
28344 ldrne r2, [sp, #24]
28345 orrne r3, r2, r3
28346 strne r3, [r5, #8]
28347 mov r3, r4, lsr #16
28348 ands r3, r3, #255
28349 ldrne r2, [sp, #24]
28350 orrne r3, r2, r3
28351 strne r3, [r5, #4]
28352 movs r3, r4, lsr #24
28353 ldrne r4, [sp, #24]
28354 orrne r3, r4, r3
28355 strne r3, [r5, #0]
28356.L10244:
28357 ldr r4, [lr, #0]
28358 cmp r4, #0
28359 beq .L10253
28360 ands r3, r4, #255
28361 ldrne r2, [sp, #24]
28362 orrne r3, r2, r3
28363 strne r3, [r5, #28]
28364 mov r3, r4, lsr #8
28365 ands r3, r3, #255
28366 ldrne r2, [sp, #24]
28367 orrne r3, r2, r3
28368 strne r3, [r5, #24]
28369 mov r3, r4, lsr #16
28370 ands r3, r3, #255
28371 ldrne r2, [sp, #24]
28372 orrne r3, r2, r3
28373 strne r3, [r5, #20]
28374 movs r3, r4, lsr #24
28375 ldrne r4, [sp, #24]
28376 orrne r3, r4, r3
28377 strne r3, [r5, #16]
28378.L10253:
28379 add ip, ip, #1
28380 cmp ip, r7
28381 sub lr, lr, #64
28382 add r5, r5, #32
28383 sub r0, r0, #64
28384 bne .L10243
28385 rsb r3, r7, r7, asl #26
28386 add r1, r1, r3, asl #6
28387 add r6, r6, r7, asl #5
28388.L10241:
28389 ands r0, r8, #7
28390 beq .L9529
28391 cmp r0, #3
28392 ldrls r2, [r1, #4]
28393 bls .L10276
28394 ldr r2, [r1, #4]
28395 cmp r2, #0
28396 beq .L10266
28397 ands r3, r2, #255
28398 ldrne r5, [sp, #24]
28399 orrne r3, r5, r3
28400 strne r3, [r6, #12]
28401 mov r3, r2, lsr #8
28402 ands r3, r3, #255
28403 ldrne r7, [sp, #24]
28404 orrne r3, r7, r3
28405 strne r3, [r6, #8]
28406 mov r3, r2, lsr #16
28407 ands r3, r3, #255
28408 ldrne r8, [sp, #24]
28409 orrne r3, r8, r3
28410 strne r3, [r6, #4]
28411 movs r3, r2, lsr #24
28412 ldrne ip, [sp, #24]
28413 orrne r3, ip, r3
28414 strne r3, [r6, #0]
28415.L10266:
28416 subs r0, r0, #4
28417 ldr r2, [r1, #0]
28418 addne r6, r6, #16
28419 beq .L9529
28420.L10276:
28421 mov r1, #0
28422.L10277:
28423 ldr lr, [sp, #24]
28424 movs r3, r2, lsr #24
28425 orr r3, lr, r3
28426 strne r3, [r6, r1, asl #2]
28427 add r1, r1, #1
28428 cmp r0, r1
28429 mov r2, r2, asl #8
28430 bhi .L10277
28431 b .L9529
28432.L9522:
28433 mov r3, r1, lsr #4
28434 ldr r2, .L10356+12
28435 and r3, r3, #992
28436 add r3, r3, r2
28437 tst r4, #512
28438 ldrh r4, [r3, #30]
28439 add r2, r7, r7, lsr #31
28440 add r1, sl, sl, lsr #31
28441 str r4, [sp, #20]
28442 mov r4, r2, asr #1
28443 ldr r2, [sp, #8]
28444 mov r5, r1, asr #1
28445 ldrh r8, [r3, #6]
28446 ldrh r1, [r3, #14]
28447 ldrh r3, [r3, #22]
28448 moveq fp, r7
28449 moveq r9, r4
28450 moveq r0, r5
28451 movne fp, r7, asl #1
28452 movne r9, r4, asl #1
28453 movne r0, r5, asl #1
28454 cmp r6, r2
28455 str r3, [sp, #16]
28456 bge .L9560
28457 rsb r2, r6, r2
28458 rsb fp, r2, fp
28459 cmp fp, #0
28460 ble .L9529
28461 ldr r6, [sp, #8]
28462 rsb r9, r2, r9
28463.L9560:
28464 ldr r2, [sp, #4]
28465 add r3, r6, fp
28466 cmp r3, r2
28467 blt .L9563
28468 rsb fp, r6, r2
28469 cmp fp, #0
28470 ble .L9529
28471.L9563:
28472 mov r3, r8, asl #16
28473 ldr r8, [sp, #20]
28474 add ip, ip, r0
28475 mov r2, r1, asl #16
28476 ldr r0, [sp, #16]
28477 mov r1, r8, asl #16
28478 mov r2, r2, asr #16
28479 mov r1, r1, asr #16
28480 cmp r0, #0
28481 str r2, [sp, #68]
28482 mov r0, lr, lsr #8
28483 str r1, [sp, #76]
28484 ldr r2, [sp, #32]
28485 ldr r1, [sp, #0]
28486 mov r4, r4, asl #8
28487 mov r3, r3, asr #16
28488 and r0, r0, #240
28489 str r4, [sp, #88]
28490 str r3, [sp, #64]
28491 mov r5, r5, asl #8
28492 add r8, r1, r6, asl #2
28493 rsb r4, ip, r2
28494 str r0, [sp, #104]
28495 bne .L9565
28496 ldr r3, [sp, #76]
28497 mla r3, r4, r3, r5
28498 mov r0, r3, asr #8
28499 cmp r0, sl
28500 bcs .L9529
28501 cmp r7, #0
28502 add r3, r7, #7
28503 mov r2, lr, asl #22
28504 movge r3, r7
28505 mov r1, r0, lsr #3
28506 mov r3, r3, asr #3
28507 mov r2, r2, lsr #22
28508 mla ip, r3, r1, r2
28509 and r0, r0, #7
28510 ldr r3, .L10356+24
28511 add r0, r0, ip, asl #3
28512 cmp fp, #0
28513 add r1, r3, r0, asl #2
28514 ble .L9529
28515 ldr r3, [sp, #68]
28516 ldr r2, [sp, #64]
28517 mul r3, r4, r3
28518 mul r2, r9, r2
28519 ldr r4, [sp, #88]
28520 rsb r3, r2, r3
28521 add r0, r4, r3
28522 mov r4, r0, asr #8
28523 cmp r4, r7
28524 ldrcs r5, [sp, #16]
28525 bcs .L9571
28526 b .L10353
28527.L9572:
28528 cmp r4, r7
28529 bcc .L10318
28530.L9571:
28531 ldr r6, [sp, #64]
28532 add r5, r5, #1
28533 add r0, r0, r6
28534 cmp fp, r5
28535 mov r4, r0, asr #8
28536 add r8, r8, #4
28537 bne .L9572
28538 ldr r0, [sp, #28]
28539 ldr r1, [sp, #36]
28540 add r0, r0, #1
28541 cmp r0, r1
28542 str r0, [sp, #28]
28543 bne .L10334
28544.L10302:
28545 add sp, sp, #112
28546 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
28547.L9533:
28548 cmp r7, #0
28549 add r1, r7, #7
28550 mov r2, lr, asl #22
28551 movge r1, r7
28552 ldr r3, .L10356+24
28553 mov r2, r2, lsr #22
28554 mov r1, r1, asr #3
28555 add r2, r3, r2, asl #5
28556 mov r1, r1, asl #6
28557 cmp r9, #0
28558 str r2, [sp, #100]
28559 str r1, [sp, #60]
28560 ble .L9529
28561 mov r3, fp, asl #16
28562 mov fp, r3, asr #16
28563 ldr r6, [sp, #44]
28564 ldr r3, [sp, #48]
28565 ldr r0, [sp, #56]
28566 ldr r1, [sp, #56]
28567 mul r0, r6, r0
28568 mul r3, r4, r3
28569 mul r2, r4, ip
28570 mul r1, fp, r1
28571 rsb r3, r0, r3
28572 ldr ip, [sp, #92]
28573 ldr r0, [sp, #52]
28574 rsb r2, r1, r2
28575 add r5, ip, r3
28576 add lr, r0, r2
28577 mov ip, r5, asr #8
28578 mov r4, lr, asr #8
28579 cmp ip, r7
28580 cmpcc r4, sl
28581 movcs r3, #0
28582 movcc r3, #1
28583 movcs r6, r3
28584 bcs .L9549
28585 b .L10354
28586.L9550:
28587 cmp ip, r7
28588 cmpcc r4, sl
28589 bcc .L9551
28590.L9549:
28591 ldr r1, [sp, #44]
28592 add r6, r6, #1
28593 add r5, r5, r1
28594 add lr, lr, fp
28595 cmp r9, r6
28596 mov ip, r5, asr #8
28597 mov r4, lr, asr #8
28598 add r8, r8, #4
28599 bne .L9550
28600 b .L9529
28601.L9565:
28602 cmp r7, #0
28603 add r1, r7, #7
28604 mov r2, lr, asl #22
28605 movge r1, r7
28606 ldr r3, .L10356+24
28607 mov r2, r2, lsr #22
28608 mov r1, r1, asr #3
28609 add r2, r3, r2, asl #5
28610 mov r1, r1, asl #5
28611 cmp fp, #0
28612 str r2, [sp, #96]
28613 str r1, [sp, #80]
28614 ble .L9529
28615 ldr r6, [sp, #16]
28616 ldr r2, [sp, #76]
28617 mov r3, r6, asl #16
28618 mov r3, r3, asr #16
28619 str r3, [sp, #72]
28620 ldr r1, [sp, #72]
28621 ldr r3, [sp, #68]
28622 ldr r0, [sp, #64]
28623 mul r2, r4, r2
28624 mul r3, r4, r3
28625 mul r1, r9, r1
28626 mul r0, r9, r0
28627 ldr ip, [sp, #88]
28628 rsb r2, r1, r2
28629 rsb r3, r0, r3
28630 add lr, ip, r3
28631 add r5, r5, r2
28632 mov r4, lr, asr #8
28633 mov r2, r5, asr #8
28634 cmp r4, r7
28635 cmpcc r2, sl
28636 movcs r3, #0
28637 movcc r3, #1
28638 movcs r6, r3
28639 bcs .L9584
28640 b .L10355
28641.L9585:
28642 cmp r4, r7
28643 cmpcc r2, sl
28644 bcc .L9587
28645.L9584:
28646 ldr r0, [sp, #64]
28647 ldr r1, [sp, #72]
28648 add r6, r6, #1
28649 add lr, lr, r0
28650 add r5, r5, r1
28651 cmp fp, r6
28652 mov r4, lr, asr #8
28653 mov r2, r5, asr #8
28654 add r8, r8, #4
28655 bne .L9585
28656 b .L9529
28657.L10337:
28658 ldr r3, [sp, #96]
28659 and r0, r2, #7
28660 add r0, r3, r0, asl #2
28661 and r1, r2, #7
28662 mov r3, r2, asr #3
28663 ldr r2, [sp, #80]
28664 mov ip, r4, asr #1
28665 mul r2, r3, r2
28666 and r9, ip, #3
28667 ldr ip, [sp, #96]
28668 mov r3, r4, asr #1
28669 add r1, ip, r1, asl #2
28670 and ip, r3, #3
28671 mov r3, r4, asr #3
28672 add r2, r2, r3, asl #5
28673 add r3, r0, r2
28674 tst r4, #1
28675 add r0, r1, r2
28676 ldreqb r3, [r0, ip] @ zero_extendqisi2
28677 ldrneb r3, [r3, r9] @ zero_extendqisi2
28678 ldr r4, [sp, #24]
28679 movne r0, r3, lsr #4
28680 andeq r0, r3, #15
28681 ldr ip, [sp, #104]
28682 ldr r2, [sp, #72]
28683 orr r3, r0, r4
28684 ldr r1, [sp, #64]
28685 cmp r0, #0
28686 add r6, r6, #1
28687 orr r3, ip, r3
28688 strne r3, [r8, #0]
28689 add lr, lr, r1
28690 add r5, r5, r2
28691 cmp fp, r6
28692 mov r4, lr, asr #8
28693 mov r2, r5, asr #8
28694 add r8, r8, #4
28695 ble .L9529
28696.L9587:
28697 cmp r2, sl
28698 cmpcc r4, r7
28699 bcc .L10337
28700 b .L9529
28701.L9574:
28702 cmp r4, r7
28703 bcs .L9529
28704.L10318:
28705 mov r3, r4, asr #1
28706 and sl, r3, #3
28707 mov r3, r4, asr #3
28708 mov r3, r3, asl #5
28709 mov r2, r4, asr #1
28710 tst r4, #1
28711 add ip, r3, r1
28712 and r6, r2, #3
28713 add r2, r3, r1
28714 ldreqb r3, [r2, r6] @ zero_extendqisi2
28715 ldrneb r3, [ip, sl] @ zero_extendqisi2
28716 ldr lr, [sp, #24]
28717 movne r2, r3, lsr #4
28718 andeq r2, r3, #15
28719 cmp r2, #0
28720 orr r3, r2, lr
28721 ldr r2, [sp, #104]
28722 ldr ip, [sp, #64]
28723 add r5, r5, #1
28724 orr r3, r2, r3
28725 strne r3, [r8, #0]
28726 add r0, r0, ip
28727 cmp fp, r5
28728 mov r4, r0, asr #8
28729 add r8, r8, #4
28730 bgt .L9574
28731 b .L9529
28732.L9542:
28733 cmp r4, r7
28734 bcs .L9529
28735.L10316:
28736 ldr r1, [sp, #44]
28737 mov r3, r4, asr #3
28738 add r0, r0, r1
28739 add r3, lr, r3, asl #6
28740 and r1, r4, #7
28741 ldrb r2, [r3, r1] @ zero_extendqisi2
28742 ldr r5, [sp, #24]
28743 cmp r2, #0
28744 add ip, ip, #1
28745 orr r3, r5, r2
28746 strne r3, [r8, #0]
28747 cmp r9, ip
28748 mov r4, r0, asr #8
28749 add r8, r8, #4
28750 bgt .L9542
28751 b .L9529
28752.L10357:
28753 .align 2
28754.L10356:
28755 .word io_registers
28756 .word obj_priority_count
28757 .word obj_priority_list
28758 .word oam_ram
28759 .word obj_height_table
28760 .word obj_width_table
28761 .word vram+65536
28762 .word vram+65472
28763 .word vram+65600
28764.L10332:
28765 rsb r0, r6, ip
28766 rsb r4, r0, r7
28767 cmp r4, #0
28768 ble .L9529
28769 ldr lr, [sp, #4]
28770 add r3, r6, r7
28771 cmp lr, r3
28772 bhi .L10085
28773 mov r3, r0, lsr #3
28774 ands ip, r0, #7
28775 sub r6, r1, r3, asl #6
28776 bne .L10087
28777 ldr r5, [sp, #108]
28778 ldr r4, [sp, #84]
28779.L10089:
28780 movs lr, r5, lsr #3
28781 beq .L10147
28782 mov r1, r4
28783 mov r0, r6
28784 mov ip, #0
28785.L10149:
28786 ldr r2, [r0, #4]
28787 cmp r2, #0
28788 beq .L10150
28789 ands r3, r2, #255
28790 ldrne r7, [sp, #24]
28791 orrne r3, r7, r3
28792 strne r3, [r1, #12]
28793 mov r3, r2, lsr #8
28794 ands r3, r3, #255
28795 ldrne r8, [sp, #24]
28796 orrne r3, r8, r3
28797 strne r3, [r1, #8]
28798 mov r3, r2, lsr #16
28799 ands r3, r3, #255
28800 ldrne r7, [sp, #24]
28801 orrne r3, r7, r3
28802 strne r3, [r1, #4]
28803 movs r3, r2, lsr #24
28804 ldrne r8, [sp, #24]
28805 orrne r3, r8, r3
28806 strne r3, [r1, #0]
28807.L10150:
28808 ldr r2, [r0, #0]
28809 cmp r2, #0
28810 beq .L10159
28811 ands r3, r2, #255
28812 ldrne r7, [sp, #24]
28813 orrne r3, r7, r3
28814 strne r3, [r1, #28]
28815 mov r3, r2, lsr #8
28816 ands r3, r3, #255
28817 ldrne r8, [sp, #24]
28818 orrne r3, r8, r3
28819 strne r3, [r1, #24]
28820 mov r3, r2, lsr #16
28821 ands r3, r3, #255
28822 ldrne r7, [sp, #24]
28823 orrne r3, r7, r3
28824 strne r3, [r1, #20]
28825 movs r3, r2, lsr #24
28826 ldrne r8, [sp, #24]
28827 orrne r3, r8, r3
28828 strne r3, [r1, #16]
28829.L10159:
28830 add ip, ip, #1
28831 cmp ip, lr
28832 sub r0, r0, #64
28833 add r1, r1, #32
28834 bne .L10149
28835 rsb r3, lr, lr, asl #26
28836 add r6, r6, r3, asl #6
28837 add r4, r4, lr, asl #5
28838.L10147:
28839 ands r0, r5, #7
28840 beq .L9529
28841 cmp r0, #3
28842 ldrls r2, [r6, #4]
28843 bls .L10182
28844 ldr r2, [r6, #4]
28845 cmp r2, #0
28846 beq .L10172
28847 ands r3, r2, #255
28848 ldrne ip, [sp, #24]
28849 orrne r3, ip, r3
28850 strne r3, [r4, #12]
28851 mov r3, r2, lsr #8
28852 ands r3, r3, #255
28853 ldrne lr, [sp, #24]
28854 orrne r3, lr, r3
28855 strne r3, [r4, #8]
28856 mov r3, r2, lsr #16
28857 ands r3, r3, #255
28858 ldrne r1, [sp, #24]
28859 orrne r3, r1, r3
28860 strne r3, [r4, #4]
28861 movs r3, r2, lsr #24
28862 ldrne r2, [sp, #24]
28863 orrne r3, r2, r3
28864 strne r3, [r4, #0]
28865.L10172:
28866 subs r0, r0, #4
28867 ldr r2, [r6, #0]
28868 addne r4, r4, #16
28869 beq .L9529
28870.L10182:
28871 mov r1, #0
28872.L10183:
28873 ldr r5, [sp, #24]
28874 movs r3, r2, lsr #24
28875 orr r3, r5, r3
28876 strne r3, [r4, r1, asl #2]
28877 add r1, r1, #1
28878 cmp r0, r1
28879 mov r2, r2, asl #8
28880 bhi .L10183
28881 b .L9529
28882.L10331:
28883 rsb r0, r6, r8
28884 rsb lr, r0, r7
28885 cmp lr, #0
28886 ble .L9529
28887 ldr ip, [sp, #4]
28888 add r3, r6, r7
28889 cmp ip, r3
28890 bhi .L9865
28891 mov r3, r0, lsr #3
28892 ands ip, r0, #7
28893 add r6, r1, r3, asl #6
28894 bne .L9867
28895 ldr r5, [sp, #108]
28896 ldr r4, [sp, #84]
28897.L9869:
28898 movs lr, r5, lsr #3
28899 beq .L9927
28900 mov r1, r4
28901 mov r0, r6
28902 mov ip, #0
28903.L9929:
28904 ldr r2, [r0, #0]
28905 cmp r2, #0
28906 beq .L9930
28907 ands r3, r2, #255
28908 ldrne r7, [sp, #24]
28909 orrne r3, r7, r3
28910 strne r3, [r1, #0]
28911 mov r3, r2, lsr #8
28912 ands r3, r3, #255
28913 ldrne r8, [sp, #24]
28914 orrne r3, r8, r3
28915 strne r3, [r1, #4]
28916 mov r3, r2, lsr #16
28917 ands r3, r3, #255
28918 ldrne r7, [sp, #24]
28919 orrne r3, r7, r3
28920 strne r3, [r1, #8]
28921 movs r3, r2, lsr #24
28922 ldrne r8, [sp, #24]
28923 orrne r3, r8, r3
28924 strne r3, [r1, #12]
28925.L9930:
28926 ldr r2, [r0, #4]
28927 cmp r2, #0
28928 beq .L9939
28929 ands r3, r2, #255
28930 ldrne r7, [sp, #24]
28931 orrne r3, r7, r3
28932 strne r3, [r1, #16]
28933 mov r3, r2, lsr #8
28934 ands r3, r3, #255
28935 ldrne r8, [sp, #24]
28936 orrne r3, r8, r3
28937 strne r3, [r1, #20]
28938 mov r3, r2, lsr #16
28939 ands r3, r3, #255
28940 ldrne r7, [sp, #24]
28941 orrne r3, r7, r3
28942 strne r3, [r1, #24]
28943 movs r3, r2, lsr #24
28944 ldrne r8, [sp, #24]
28945 orrne r3, r8, r3
28946 strne r3, [r1, #28]
28947.L9939:
28948 add ip, ip, #1
28949 cmp lr, ip
28950 add r0, r0, #64
28951 add r1, r1, #32
28952 bne .L9929
28953 add r6, r6, lr, asl #6
28954 add r4, r4, lr, asl #5
28955.L9927:
28956 ands r0, r5, #7
28957 beq .L9529
28958 cmp r0, #3
28959 ldrls r1, [r6, #0]
28960 bls .L9962
28961 ldr r2, [r6, #0]
28962 cmp r2, #0
28963 beq .L9952
28964 ands r3, r2, #255
28965 ldrne ip, [sp, #24]
28966 orrne r3, ip, r3
28967 strne r3, [r4, #0]
28968 mov r3, r2, lsr #8
28969 ands r3, r3, #255
28970 ldrne lr, [sp, #24]
28971 orrne r3, lr, r3
28972 strne r3, [r4, #4]
28973 mov r3, r2, lsr #16
28974 ands r3, r3, #255
28975 ldrne r1, [sp, #24]
28976 orrne r3, r1, r3
28977 strne r3, [r4, #8]
28978 movs r3, r2, lsr #24
28979 ldrne r2, [sp, #24]
28980 orrne r3, r2, r3
28981 strne r3, [r4, #12]
28982.L9952:
28983 subs r0, r0, #4
28984 ldr r1, [r6, #4]
28985 addne r4, r4, #16
28986 beq .L9529
28987.L9962:
28988 mov r2, #0
28989.L9963:
28990 ldr r5, [sp, #24]
28991 ands r3, r1, #255
28992 orr r3, r5, r3
28993 strne r3, [r4, r2, asl #2]
28994 add r2, r2, #1
28995 cmp r0, r2
28996 mov r1, r1, lsr #8
28997 bhi .L9963
28998 b .L9529
28999.L10330:
29000 rsb r4, r6, r8
29001 rsb ip, r4, r7
29002 cmp ip, #0
29003 ble .L9529
29004 ldr lr, [sp, #4]
29005 add r3, r6, r7
29006 cmp lr, r3
29007 bhi .L9735
29008 mov r3, r4, lsr #3
29009 ands lr, r4, #7
29010 sub r0, r0, r3, asl #5
29011 bne .L9737
29012 ldr r2, [sp, #108]
29013 ldr ip, [sp, #84]
29014.L9739:
29015 movs r7, r2, lsr #3
29016 beq .L9756
29017 mov r5, ip
29018 mov lr, r0
29019 mov r6, #0
29020.L9758:
29021 ldr r4, [lr, #0]
29022 cmp r4, #0
29023 beq .L9759
29024 ands r3, r4, #15
29025 ldrne r8, [sp, #24]
29026 orrne r3, r8, r3
29027 orrne r3, r1, r3
29028 strne r3, [r5, #28]
29029 mov r3, r4, lsr #4
29030 ands r3, r3, #15
29031 ldrne r8, [sp, #24]
29032 orrne r3, r8, r3
29033 orrne r3, r1, r3
29034 strne r3, [r5, #24]
29035 mov r3, r4, lsr #8
29036 ands r3, r3, #15
29037 ldrne r8, [sp, #24]
29038 orrne r3, r8, r3
29039 orrne r3, r1, r3
29040 strne r3, [r5, #20]
29041 mov r3, r4, lsr #12
29042 ands r3, r3, #15
29043 ldrne r8, [sp, #24]
29044 orrne r3, r8, r3
29045 orrne r3, r1, r3
29046 strne r3, [r5, #16]
29047 mov r3, r4, lsr #16
29048 ands r3, r3, #15
29049 ldrne r8, [sp, #24]
29050 orrne r3, r8, r3
29051 orrne r3, r1, r3
29052 strne r3, [r5, #12]
29053 mov r3, r4, lsr #20
29054 ands r3, r3, #15
29055 ldrne r8, [sp, #24]
29056 orrne r3, r8, r3
29057 orrne r3, r1, r3
29058 strne r3, [r5, #8]
29059 mov r3, r4, lsr #24
29060 ands r3, r3, #15
29061 ldrne r8, [sp, #24]
29062 orrne r3, r8, r3
29063 orrne r3, r1, r3
29064 strne r3, [r5, #4]
29065 movs r3, r4, lsr #28
29066 ldrne r4, [sp, #24]
29067 orrne r3, r4, r3
29068 orrne r3, r1, r3
29069 strne r3, [r5, #0]
29070.L9759:
29071 add r6, r6, #1
29072 cmp r6, r7
29073 sub lr, lr, #32
29074 add r5, r5, #32
29075 bne .L9758
29076 rsb r3, r7, r7, asl #27
29077 add r0, r0, r3, asl #5
29078 add ip, ip, r7, asl #5
29079.L9756:
29080 ands lr, r2, #7
29081 beq .L9529
29082 ldr r0, [r0, #0]
29083 mov r2, #0
29084.L9778:
29085 ldr r5, [sp, #24]
29086 movs r3, r0, lsr #28
29087 orr r3, r5, r3
29088 orr r3, r1, r3
29089 strne r3, [ip, r2, asl #2]
29090 add r2, r2, #1
29091 cmp r2, lr
29092 mov r0, r0, asl #4
29093 bne .L9778
29094 b .L9529
29095.L10329:
29096 ldr r3, [sp, #8]
29097 rsb r4, r6, r3
29098 rsb r5, r4, r7
29099 cmp r5, #0
29100 ble .L9529
29101 add r3, r6, r7
29102 ldr r6, [sp, #4]
29103 cmp r6, r3
29104 bhi .L9605
29105 mov r3, r4, lsr #3
29106 mov r2, r3, asl #5
29107 ands r3, r4, #7
29108 add r5, r0, r2
29109 bne .L9607
29110 ldr r7, [sp, #108]
29111 ldr r6, [sp, #84]
29112.L9609:
29113 movs r4, r7, lsr #3
29114 beq .L9626
29115 mov ip, r6
29116 mov r0, r5
29117 mov lr, #0
29118.L9628:
29119 ldr r2, [r0, #0]
29120 cmp r2, #0
29121 beq .L9629
29122 ands r3, r2, #15
29123 ldrne r8, [sp, #24]
29124 orrne r3, r8, r3
29125 orrne r3, r1, r3
29126 strne r3, [ip, #0]
29127 mov r3, r2, lsr #4
29128 ands r3, r3, #15
29129 ldrne r8, [sp, #24]
29130 orrne r3, r8, r3
29131 orrne r3, r1, r3
29132 strne r3, [ip, #4]
29133 mov r3, r2, lsr #8
29134 ands r3, r3, #15
29135 ldrne r8, [sp, #24]
29136 orrne r3, r8, r3
29137 orrne r3, r1, r3
29138 strne r3, [ip, #8]
29139 mov r3, r2, lsr #12
29140 ands r3, r3, #15
29141 ldrne r8, [sp, #24]
29142 orrne r3, r8, r3
29143 orrne r3, r1, r3
29144 strne r3, [ip, #12]
29145 mov r3, r2, lsr #16
29146 ands r3, r3, #15
29147 ldrne r8, [sp, #24]
29148 orrne r3, r8, r3
29149 orrne r3, r1, r3
29150 strne r3, [ip, #16]
29151 mov r3, r2, lsr #20
29152 ands r3, r3, #15
29153 ldrne r8, [sp, #24]
29154 orrne r3, r8, r3
29155 orrne r3, r1, r3
29156 strne r3, [ip, #20]
29157 mov r3, r2, lsr #24
29158 ands r3, r3, #15
29159 ldrne r8, [sp, #24]
29160 orrne r3, r8, r3
29161 orrne r3, r1, r3
29162 strne r3, [ip, #24]
29163 movs r3, r2, lsr #28
29164 ldrne r2, [sp, #24]
29165 orrne r3, r2, r3
29166 orrne r3, r1, r3
29167 strne r3, [ip, #28]
29168.L9629:
29169 add lr, lr, #1
29170 cmp r4, lr
29171 add r0, r0, #32
29172 add ip, ip, #32
29173 bne .L9628
29174 mov r3, r4, asl #5
29175 add r5, r5, r3
29176 add r6, r6, r3
29177.L9626:
29178 ands ip, r7, #7
29179 beq .L9529
29180 ldr r2, [r5, #0]
29181 mov r0, #0
29182.L9648:
29183 ldr r4, [sp, #24]
29184 ands r3, r2, #15
29185 orr r3, r4, r3
29186 orr r3, r1, r3
29187 strne r3, [r6, r0, asl #2]
29188 add r0, r0, #1
29189 cmp r0, ip
29190 mov r2, r2, lsr #4
29191 bne .L9648
29192 b .L9529
29193.L10354:
29194 mov r6, #0
29195.L9551:
29196 cmp r4, sl
29197 movcc r3, #0
29198 movcs r3, #1
29199 cmp r7, ip
29200 orrls r3, r3, #1
29201 cmp r3, #0
29202 beq .L10317
29203 b .L9529
29204.L9552:
29205 cmp r4, sl
29206 cmpcc ip, r7
29207 bcs .L9529
29208.L10317:
29209 ldr r2, [sp, #44]
29210 and r3, r4, #7
29211 add r5, r5, r2
29212 ldr r0, [sp, #100]
29213 mov r2, ip, asr #3
29214 mov r3, r3, asl #3
29215 add r3, r3, r2, asl #6
29216 add r3, r3, r0
29217 ldr r0, [sp, #60]
29218 mov r2, r4, asr #3
29219 mla r0, r2, r0, r3
29220 and r1, ip, #7
29221 ldrb r3, [r0, r1] @ zero_extendqisi2
29222 ldr r1, [sp, #24]
29223 cmp r3, #0
29224 add r6, r6, #1
29225 orr r3, r1, r3
29226 strne r3, [r8, #0]
29227 add lr, lr, fp
29228 cmp r9, r6
29229 mov r4, lr, asr #8
29230 mov ip, r5, asr #8
29231 add r8, r8, #4
29232 bgt .L9552
29233 b .L9529
29234.L9813:
29235 cmp r5, #0
29236 beq .L9529
29237 ldr r7, [sp, #0]
29238 mov ip, #0
29239 add r2, r7, r6, asl #2
29240 b .L9843
29241.L10338:
29242 sub r0, r0, #32
29243 add r2, r2, #32
29244.L9843:
29245 ldr r4, [r0, #0]
29246 cmp r4, #0
29247 beq .L9844
29248 ands r3, r4, #15
29249 ldrne r8, [sp, #24]
29250 orrne r3, r8, r3
29251 orrne r3, r1, r3
29252 strne r3, [r2, #28]
29253 mov r3, r4, lsr #4
29254 ands r3, r3, #15
29255 ldrne lr, [sp, #24]
29256 orrne r3, lr, r3
29257 orrne r3, r1, r3
29258 strne r3, [r2, #24]
29259 mov r3, r4, lsr #8
29260 ands r3, r3, #15
29261 ldrne r6, [sp, #24]
29262 orrne r3, r6, r3
29263 orrne r3, r1, r3
29264 strne r3, [r2, #20]
29265 mov r3, r4, lsr #12
29266 ands r3, r3, #15
29267 ldrne r7, [sp, #24]
29268 orrne r3, r7, r3
29269 orrne r3, r1, r3
29270 strne r3, [r2, #16]
29271 mov r3, r4, lsr #16
29272 ands r3, r3, #15
29273 ldrne r8, [sp, #24]
29274 orrne r3, r8, r3
29275 orrne r3, r1, r3
29276 strne r3, [r2, #12]
29277 mov r3, r4, lsr #20
29278 ands r3, r3, #15
29279 ldrne lr, [sp, #24]
29280 orrne r3, lr, r3
29281 orrne r3, r1, r3
29282 strne r3, [r2, #8]
29283 mov r3, r4, lsr #24
29284 ands r3, r3, #15
29285 ldrne r6, [sp, #24]
29286 orrne r3, r6, r3
29287 orrne r3, r1, r3
29288 strne r3, [r2, #4]
29289 movs r3, r4, lsr #28
29290 ldrne r7, [sp, #24]
29291 orrne r3, r7, r3
29292 orrne r3, r1, r3
29293 strne r3, [r2, #0]
29294.L9844:
29295 add ip, ip, #1
29296 cmp r5, ip
29297 bne .L10338
29298 b .L9529
29299.L10238:
29300 cmp r5, #0
29301 beq .L9529
29302 ldr r3, [sp, #0]
29303 mov ip, #0
29304 add r2, r3, r6, asl #2
29305 ldr r3, .L10356+28
29306 add r0, r0, r3
29307 b .L10282
29308.L10339:
29309 sub r1, r1, #64
29310 add r2, r2, #32
29311.L10282:
29312 ldr r4, [r0, #68]
29313 cmp r4, #0
29314 beq .L10283
29315 ands r3, r4, #255
29316 ldrne r6, [sp, #24]
29317 orrne r3, r6, r3
29318 strne r3, [r2, #12]
29319 mov r3, r4, lsr #8
29320 ands r3, r3, #255
29321 ldrne r7, [sp, #24]
29322 orrne r3, r7, r3
29323 strne r3, [r2, #8]
29324 mov r3, r4, lsr #16
29325 ands r3, r3, #255
29326 ldrne r8, [sp, #24]
29327 orrne r3, r8, r3
29328 strne r3, [r2, #4]
29329 movs r3, r4, lsr #24
29330 ldrne lr, [sp, #24]
29331 orrne r3, lr, r3
29332 strne r3, [r2, #0]
29333.L10283:
29334 ldr r4, [r1, #0]
29335 cmp r4, #0
29336 beq .L10292
29337 ands r3, r4, #255
29338 ldrne r6, [sp, #24]
29339 orrne r3, r6, r3
29340 strne r3, [r2, #28]
29341 mov r3, r4, lsr #8
29342 ands r3, r3, #255
29343 ldrne r7, [sp, #24]
29344 orrne r3, r7, r3
29345 strne r3, [r2, #24]
29346 mov r3, r4, lsr #16
29347 ands r3, r3, #255
29348 ldrne r8, [sp, #24]
29349 orrne r3, r8, r3
29350 strne r3, [r2, #20]
29351 movs r3, r4, lsr #24
29352 ldrne lr, [sp, #24]
29353 orrne r3, lr, r3
29354 strne r3, [r2, #16]
29355.L10292:
29356 add ip, ip, #1
29357 cmp r5, ip
29358 sub r0, r0, #64
29359 bne .L10339
29360 b .L9529
29361.L9683:
29362 cmp r5, #0
29363 beq .L9529
29364 ldr r7, [sp, #0]
29365 mov ip, #0
29366 add r2, r7, r6, asl #2
29367 b .L9713
29368.L10340:
29369 add r0, r0, #32
29370 add r2, r2, #32
29371.L9713:
29372 ldr r4, [r0, #0]
29373 cmp r4, #0
29374 beq .L9714
29375 ands r3, r4, #15
29376 ldrne r8, [sp, #24]
29377 orrne r3, r8, r3
29378 orrne r3, r1, r3
29379 strne r3, [r2, #0]
29380 mov r3, r4, lsr #4
29381 ands r3, r3, #15
29382 ldrne lr, [sp, #24]
29383 orrne r3, lr, r3
29384 orrne r3, r1, r3
29385 strne r3, [r2, #4]
29386 mov r3, r4, lsr #8
29387 ands r3, r3, #15
29388 ldrne r6, [sp, #24]
29389 orrne r3, r6, r3
29390 orrne r3, r1, r3
29391 strne r3, [r2, #8]
29392 mov r3, r4, lsr #12
29393 ands r3, r3, #15
29394 ldrne r7, [sp, #24]
29395 orrne r3, r7, r3
29396 orrne r3, r1, r3
29397 strne r3, [r2, #12]
29398 mov r3, r4, lsr #16
29399 ands r3, r3, #15
29400 ldrne r8, [sp, #24]
29401 orrne r3, r8, r3
29402 orrne r3, r1, r3
29403 strne r3, [r2, #16]
29404 mov r3, r4, lsr #20
29405 ands r3, r3, #15
29406 ldrne lr, [sp, #24]
29407 orrne r3, lr, r3
29408 orrne r3, r1, r3
29409 strne r3, [r2, #20]
29410 mov r3, r4, lsr #24
29411 ands r3, r3, #15
29412 ldrne r6, [sp, #24]
29413 orrne r3, r6, r3
29414 orrne r3, r1, r3
29415 strne r3, [r2, #24]
29416 movs r3, r4, lsr #28
29417 ldrne r7, [sp, #24]
29418 orrne r3, r7, r3
29419 orrne r3, r1, r3
29420 strne r3, [r2, #28]
29421.L9714:
29422 add ip, ip, #1
29423 cmp r5, ip
29424 bne .L10340
29425 b .L9529
29426.L10018:
29427 cmp lr, #0
29428 beq .L9529
29429 ldr r3, [sp, #0]
29430 mov ip, #0
29431 add r2, r3, r6, asl #2
29432 ldr r3, .L10356+32
29433 add r0, r0, r3
29434 b .L10062
29435.L10341:
29436 add r1, r1, #64
29437 add r2, r2, #32
29438.L10062:
29439 ldr r4, [r1, #0]
29440 cmp r4, #0
29441 beq .L10063
29442 ands r3, r4, #255
29443 ldrne r5, [sp, #24]
29444 orrne r3, r5, r3
29445 strne r3, [r2, #0]
29446 mov r3, r4, lsr #8
29447 ands r3, r3, #255
29448 ldrne r6, [sp, #24]
29449 orrne r3, r6, r3
29450 strne r3, [r2, #4]
29451 mov r3, r4, lsr #16
29452 ands r3, r3, #255
29453 ldrne r7, [sp, #24]
29454 orrne r3, r7, r3
29455 strne r3, [r2, #8]
29456 movs r3, r4, lsr #24
29457 ldrne r8, [sp, #24]
29458 orrne r3, r8, r3
29459 strne r3, [r2, #12]
29460.L10063:
29461 ldr r4, [r0, #-60]
29462 cmp r4, #0
29463 beq .L10072
29464 ands r3, r4, #255
29465 ldrne r5, [sp, #24]
29466 orrne r3, r5, r3
29467 strne r3, [r2, #16]
29468 mov r3, r4, lsr #8
29469 ands r3, r3, #255
29470 ldrne r6, [sp, #24]
29471 orrne r3, r6, r3
29472 strne r3, [r2, #20]
29473 mov r3, r4, lsr #16
29474 ands r3, r3, #255
29475 ldrne r7, [sp, #24]
29476 orrne r3, r7, r3
29477 strne r3, [r2, #24]
29478 movs r3, r4, lsr #24
29479 ldrne r8, [sp, #24]
29480 orrne r3, r8, r3
29481 strne r3, [r2, #28]
29482.L10072:
29483 add ip, ip, #1
29484 cmp lr, ip
29485 add r0, r0, #64
29486 bne .L10341
29487 b .L9529
29488.L9865:
29489 ands r2, r0, #7
29490 mov r3, r0, lsr #3
29491 add r0, r1, r3, asl #6
29492 ldreq r1, [sp, #84]
29493 beq .L9969
29494 cmp r2, #3
29495 rsb ip, r2, #8
29496 bhi .L10342
29497 subs r4, ip, #4
29498 ldr r1, [r0, #0]
29499 ldreq r1, [sp, #84]
29500 beq .L9982
29501 mov r3, r2, asl #3
29502 mov r2, r1, lsr r3
29503 mov r1, #0
29504.L9983:
29505 ands r3, r2, #255
29506 ldr r5, [sp, #24]
29507 ldrne r6, [sp, #84]
29508 orr r3, r5, r3
29509 strne r3, [r6, r1, asl #2]
29510 add r1, r1, #1
29511 cmp r1, r4
29512 mov r2, r2, lsr #8
29513 bne .L9983
29514 ldr r7, [sp, #84]
29515 add r3, r7, ip, asl #2
29516 sub r1, r3, #16
29517.L9982:
29518 ldr r2, [r0, #4]
29519 cmp r2, #0
29520 beq .L9988
29521 ands r3, r2, #255
29522 ldrne r8, [sp, #24]
29523 orrne r3, r8, r3
29524 strne r3, [r1, #0]
29525 mov r3, r2, lsr #8
29526 ands r3, r3, #255
29527 ldrne ip, [sp, #24]
29528 orrne r3, ip, r3
29529 strne r3, [r1, #4]
29530 mov r3, r2, lsr #16
29531 ands r3, r3, #255
29532 ldrne r4, [sp, #24]
29533 orrne r3, r4, r3
29534 strne r3, [r1, #8]
29535 movs r3, r2, lsr #24
29536 ldrne r5, [sp, #24]
29537 orrne r3, r5, r3
29538 strne r3, [r1, #12]
29539.L9988:
29540 add r1, r1, #16
29541.L9974:
29542 add r0, r0, #64
29543.L9969:
29544 movs lr, lr, lsr #3
29545 beq .L9529
29546 mov ip, #0
29547 b .L9998
29548.L10343:
29549 add r0, r0, #64
29550 add r1, r1, #32
29551.L9998:
29552 ldr r2, [r0, #0]
29553 cmp r2, #0
29554 beq .L9999
29555 ands r3, r2, #255
29556 ldrne r6, [sp, #24]
29557 orrne r3, r6, r3
29558 strne r3, [r1, #0]
29559 mov r3, r2, lsr #8
29560 ands r3, r3, #255
29561 ldrne r7, [sp, #24]
29562 orrne r3, r7, r3
29563 strne r3, [r1, #4]
29564 mov r3, r2, lsr #16
29565 ands r3, r3, #255
29566 ldrne r8, [sp, #24]
29567 orrne r3, r8, r3
29568 strne r3, [r1, #8]
29569 movs r3, r2, lsr #24
29570 ldrne r2, [sp, #24]
29571 orrne r3, r2, r3
29572 strne r3, [r1, #12]
29573.L9999:
29574 ldr r2, [r0, #4]
29575 cmp r2, #0
29576 beq .L10008
29577 ands r3, r2, #255
29578 ldrne r4, [sp, #24]
29579 orrne r3, r4, r3
29580 strne r3, [r1, #16]
29581 mov r3, r2, lsr #8
29582 ands r3, r3, #255
29583 ldrne r5, [sp, #24]
29584 orrne r3, r5, r3
29585 strne r3, [r1, #20]
29586 mov r3, r2, lsr #16
29587 ands r3, r3, #255
29588 ldrne r6, [sp, #24]
29589 orrne r3, r6, r3
29590 strne r3, [r1, #24]
29591 movs r3, r2, lsr #24
29592 ldrne r7, [sp, #24]
29593 orrne r3, r7, r3
29594 strne r3, [r1, #28]
29595.L10008:
29596 add ip, ip, #1
29597 cmp lr, ip
29598 bne .L10343
29599 b .L9529
29600.L9735:
29601 ands r2, r4, #7
29602 mov r3, r4, lsr #3
29603 sub r0, r0, r3, asl #5
29604 ldreq r5, [sp, #84]
29605 beq .L9784
29606 rsbs r5, r2, #8
29607 ldr lr, [r0, #0]
29608 ldreq r5, [sp, #84]
29609 beq .L9787
29610 mov r3, r2, asl #2
29611 mov r4, lr, asl r3
29612 mov lr, #0
29613.L9788:
29614 ldr r6, [sp, #24]
29615 movs r3, r4, lsr #28
29616 ldrne r7, [sp, #84]
29617 orr r3, r6, r3
29618 orr r3, r1, r3
29619 strne r3, [r7, lr, asl #2]
29620 add lr, lr, #1
29621 cmp r5, lr
29622 mov r4, r4, asl #4
29623 bne .L9788
29624 ldr r8, [sp, #84]
29625 add r5, r8, r5, asl #2
29626.L9787:
29627 sub r0, r0, #32
29628.L9784:
29629 movs ip, ip, lsr #3
29630 beq .L9529
29631 mov r2, #0
29632 b .L9794
29633.L10344:
29634 sub r0, r0, #32
29635 add r5, r5, #32
29636.L9794:
29637 ldr r4, [r0, #0]
29638 cmp r4, #0
29639 beq .L9795
29640 ands r3, r4, #15
29641 ldrne lr, [sp, #24]
29642 orrne r3, lr, r3
29643 orrne r3, r1, r3
29644 strne r3, [r5, #28]
29645 mov r3, r4, lsr #4
29646 ands r3, r3, #15
29647 ldrne r6, [sp, #24]
29648 orrne r3, r6, r3
29649 orrne r3, r1, r3
29650 strne r3, [r5, #24]
29651 mov r3, r4, lsr #8
29652 ands r3, r3, #15
29653 ldrne r7, [sp, #24]
29654 orrne r3, r7, r3
29655 orrne r3, r1, r3
29656 strne r3, [r5, #20]
29657 mov r3, r4, lsr #12
29658 ands r3, r3, #15
29659 ldrne r8, [sp, #24]
29660 orrne r3, r8, r3
29661 orrne r3, r1, r3
29662 strne r3, [r5, #16]
29663 mov r3, r4, lsr #16
29664 ands r3, r3, #15
29665 ldrne lr, [sp, #24]
29666 orrne r3, lr, r3
29667 orrne r3, r1, r3
29668 strne r3, [r5, #12]
29669 mov r3, r4, lsr #20
29670 ands r3, r3, #15
29671 ldrne r6, [sp, #24]
29672 orrne r3, r6, r3
29673 orrne r3, r1, r3
29674 strne r3, [r5, #8]
29675 mov r3, r4, lsr #24
29676 ands r3, r3, #15
29677 ldrne r7, [sp, #24]
29678 orrne r3, r7, r3
29679 orrne r3, r1, r3
29680 strne r3, [r5, #4]
29681 movs r3, r4, lsr #28
29682 ldrne r8, [sp, #24]
29683 orrne r3, r8, r3
29684 orrne r3, r1, r3
29685 strne r3, [r5, #0]
29686.L9795:
29687 add r2, r2, #1
29688 cmp r2, ip
29689 bne .L10344
29690 b .L9529
29691.L10085:
29692 mov r3, r0, lsr #3
29693 ands ip, r0, #7
29694 sub r2, r1, r3, asl #6
29695 ldreq r0, [sp, #84]
29696 beq .L10189
29697 cmp ip, #3
29698 rsb lr, ip, #8
29699 bhi .L10345
29700 subs r5, lr, #4
29701 ldr r1, [r2, #4]
29702 ldreq r0, [sp, #84]
29703 beq .L10202
29704 mov r3, ip, asl #3
29705 sub r3, r3, #32
29706 mov r1, r1, asl r3
29707 mov r0, #0
29708.L10203:
29709 movs r3, r1, lsr #24
29710 ldr ip, [sp, #24]
29711 ldrne r6, [sp, #84]
29712 orr r3, ip, r3
29713 strne r3, [r6, r0, asl #2]
29714 add r0, r0, #1
29715 cmp r5, r0
29716 mov r1, r1, asl #8
29717 bne .L10203
29718 ldr r7, [sp, #84]
29719 add r3, r7, lr, asl #2
29720 sub r0, r3, #16
29721.L10202:
29722 ldr r1, [r2, #0]
29723 cmp r1, #0
29724 beq .L10208
29725 ands r3, r1, #255
29726 ldrne r8, [sp, #24]
29727 orrne r3, r8, r3
29728 strne r3, [r0, #12]
29729 mov r3, r1, lsr #8
29730 ands r3, r3, #255
29731 ldrne ip, [sp, #24]
29732 orrne r3, ip, r3
29733 strne r3, [r0, #8]
29734 mov r3, r1, lsr #16
29735 ands r3, r3, #255
29736 ldrne lr, [sp, #24]
29737 orrne r3, lr, r3
29738 strne r3, [r0, #4]
29739 movs r3, r1, lsr #24
29740 ldrne r1, [sp, #24]
29741 orrne r3, r1, r3
29742 strne r3, [r0, #0]
29743.L10208:
29744 add r0, r0, #16
29745.L10194:
29746 sub r2, r2, #64
29747.L10189:
29748 movs lr, r4, lsr #3
29749 beq .L9529
29750 mov ip, #0
29751 b .L10218
29752.L10346:
29753 sub r2, r2, #64
29754 add r0, r0, #32
29755.L10218:
29756 ldr r1, [r2, #4]
29757 cmp r1, #0
29758 beq .L10219
29759 ands r3, r1, #255
29760 ldrne r4, [sp, #24]
29761 orrne r3, r4, r3
29762 strne r3, [r0, #12]
29763 mov r3, r1, lsr #8
29764 ands r3, r3, #255
29765 ldrne r5, [sp, #24]
29766 orrne r3, r5, r3
29767 strne r3, [r0, #8]
29768 mov r3, r1, lsr #16
29769 ands r3, r3, #255
29770 ldrne r6, [sp, #24]
29771 orrne r3, r6, r3
29772 strne r3, [r0, #4]
29773 movs r3, r1, lsr #24
29774 ldrne r7, [sp, #24]
29775 orrne r3, r7, r3
29776 strne r3, [r0, #0]
29777.L10219:
29778 ldr r1, [r2, #0]
29779 cmp r1, #0
29780 beq .L10228
29781 ands r3, r1, #255
29782 ldrne r8, [sp, #24]
29783 orrne r3, r8, r3
29784 strne r3, [r0, #28]
29785 mov r3, r1, lsr #8
29786 ands r3, r3, #255
29787 ldrne r4, [sp, #24]
29788 orrne r3, r4, r3
29789 strne r3, [r0, #24]
29790 mov r3, r1, lsr #16
29791 ands r3, r3, #255
29792 ldrne r5, [sp, #24]
29793 orrne r3, r5, r3
29794 strne r3, [r0, #20]
29795 movs r3, r1, lsr #24
29796 ldrne r6, [sp, #24]
29797 orrne r3, r6, r3
29798 strne r3, [r0, #16]
29799.L10228:
29800 add ip, ip, #1
29801 cmp ip, lr
29802 bne .L10346
29803 b .L9529
29804.L9605:
29805 mov r3, r4, lsr #3
29806 mov r2, r3, asl #5
29807 ands r3, r4, #7
29808 add lr, r0, r2
29809 ldreq ip, [sp, #84]
29810 beq .L9654
29811 rsbs r4, r3, #8
29812 ldr r0, [r0, r2]
29813 ldreq ip, [sp, #84]
29814 beq .L9657
29815 mov r3, r3, asl #2
29816 mov r0, r0, lsr r3
29817 mov r2, #0
29818.L9658:
29819 ldr r6, [sp, #24]
29820 ands r3, r0, #15
29821 ldrne r7, [sp, #84]
29822 orr r3, r6, r3
29823 orr r3, r1, r3
29824 strne r3, [r7, r2, asl #2]
29825 add r2, r2, #1
29826 cmp r2, r4
29827 mov r0, r0, lsr #4
29828 bne .L9658
29829 ldr r8, [sp, #84]
29830 add ip, r8, r4, asl #2
29831.L9657:
29832 add lr, lr, #32
29833.L9654:
29834 movs r4, r5, lsr #3
29835 beq .L9529
29836 mov r0, #0
29837 b .L9664
29838.L10347:
29839 add lr, lr, #32
29840 add ip, ip, #32
29841.L9664:
29842 ldr r2, [lr, #0]
29843 cmp r2, #0
29844 beq .L9665
29845 ands r3, r2, #15
29846 ldrne r5, [sp, #24]
29847 orrne r3, r5, r3
29848 orrne r3, r1, r3
29849 strne r3, [ip, #0]
29850 mov r3, r2, lsr #4
29851 ands r3, r3, #15
29852 ldrne r6, [sp, #24]
29853 orrne r3, r6, r3
29854 orrne r3, r1, r3
29855 strne r3, [ip, #4]
29856 mov r3, r2, lsr #8
29857 ands r3, r3, #15
29858 ldrne r7, [sp, #24]
29859 orrne r3, r7, r3
29860 orrne r3, r1, r3
29861 strne r3, [ip, #8]
29862 mov r3, r2, lsr #12
29863 ands r3, r3, #15
29864 ldrne r8, [sp, #24]
29865 orrne r3, r8, r3
29866 orrne r3, r1, r3
29867 strne r3, [ip, #12]
29868 mov r3, r2, lsr #16
29869 ands r3, r3, #15
29870 ldrne r5, [sp, #24]
29871 orrne r3, r5, r3
29872 orrne r3, r1, r3
29873 strne r3, [ip, #16]
29874 mov r3, r2, lsr #20
29875 ands r3, r3, #15
29876 ldrne r6, [sp, #24]
29877 orrne r3, r6, r3
29878 orrne r3, r1, r3
29879 strne r3, [ip, #20]
29880 mov r3, r2, lsr #24
29881 ands r3, r3, #15
29882 ldrne r7, [sp, #24]
29883 orrne r3, r7, r3
29884 orrne r3, r1, r3
29885 strne r3, [ip, #24]
29886 movs r3, r2, lsr #28
29887 ldrne r8, [sp, #24]
29888 orrne r3, r8, r3
29889 orrne r3, r1, r3
29890 strne r3, [ip, #28]
29891.L9665:
29892 add r0, r0, #1
29893 cmp r0, r4
29894 bne .L10347
29895 b .L9529
29896.L9867:
29897 ldr lr, [sp, #108]
29898 rsb r0, ip, #8
29899 cmp lr, r0
29900 blt .L10348
29901 cmp ip, #3
29902 bls .L9900
29903 cmp r0, #0
29904 ldr r2, [r6, #4]
29905 ldreq r4, [sp, #84]
29906 beq .L9904
29907 mov r3, ip, asl #3
29908 sub r3, r3, #32
29909 mov r1, r2, lsr r3
29910 mov r2, #0
29911.L9905:
29912 ands r3, r1, #255
29913 ldr r8, [sp, #24]
29914 ldrne ip, [sp, #84]
29915 orr r3, r8, r3
29916 strne r3, [ip, r2, asl #2]
29917 add r2, r2, #1
29918 cmp r0, r2
29919 mov r1, r1, lsr #8
29920 bne .L9905
29921 ldr lr, [sp, #84]
29922 add r4, lr, r0, asl #2
29923.L9904:
29924 ldr r3, [sp, #108]
29925 add r6, r6, #64
29926 rsb r5, r0, r3
29927 b .L9869
29928.L9737:
29929 ldr r2, [sp, #108]
29930 rsb r5, lr, #8
29931 cmp r2, r5
29932 blt .L10349
29933 cmp r5, #0
29934 ldr r2, [r0, #0]
29935 ldreq ip, [sp, #84]
29936 beq .L9750
29937 mov r3, lr, asl #2
29938 mov r4, r2, asl r3
29939 mov lr, #0
29940.L9751:
29941 ldr r7, [sp, #24]
29942 movs r3, r4, lsr #28
29943 ldrne r8, [sp, #84]
29944 orr r3, r7, r3
29945 orr r3, r1, r3
29946 strne r3, [r8, lr, asl #2]
29947 add lr, lr, #1
29948 cmp r5, lr
29949 mov r4, r4, asl #4
29950 bne .L9751
29951 ldr lr, [sp, #84]
29952 add ip, lr, r5, asl #2
29953.L9750:
29954 ldr r3, [sp, #108]
29955 sub r0, r0, #32
29956 rsb r2, r5, r3
29957 b .L9739
29958.L9607:
29959 ldr r7, [sp, #108]
29960 rsb lr, r3, #8
29961 cmp r7, lr
29962 blt .L10350
29963 cmp lr, #0
29964 ldr r2, [r5, #0]
29965 ldreq r6, [sp, #84]
29966 beq .L9620
29967 mov r3, r3, asl #2
29968 mov r2, r2, lsr r3
29969 mov r0, #0
29970.L9621:
29971 ldr r4, [sp, #24]
29972 ands r3, r2, #15
29973 ldrne r6, [sp, #84]
29974 orr r3, r4, r3
29975 orr r3, r1, r3
29976 strne r3, [r6, r0, asl #2]
29977 add r0, r0, #1
29978 cmp lr, r0
29979 mov r2, r2, lsr #4
29980 bne .L9621
29981 ldr r7, [sp, #84]
29982 add r6, r7, lr, asl #2
29983.L9620:
29984 ldr r8, [sp, #108]
29985 add r5, r5, #32
29986 rsb r7, lr, r8
29987 b .L9609
29988.L10087:
29989 ldr r1, [sp, #108]
29990 rsb r0, ip, #8
29991 cmp r1, r0
29992 blt .L10351
29993 cmp ip, #3
29994 bls .L10120
29995 cmp r0, #0
29996 ldr r2, [r6, #0]
29997 ldreq r4, [sp, #84]
29998 beq .L10124
29999 mov r3, ip, asl #3
30000 sub r3, r3, #32
30001 mov r2, r2, asl r3
30002 mov r1, #0
30003.L10125:
30004 movs r3, r2, lsr #24
30005 ldr r8, [sp, #24]
30006 ldrne ip, [sp, #84]
30007 orr r3, r8, r3
30008 strne r3, [ip, r1, asl #2]
30009 add r1, r1, #1
30010 cmp r0, r1
30011 mov r2, r2, asl #8
30012 bne .L10125
30013 ldr lr, [sp, #84]
30014 add r4, lr, r0, asl #2
30015.L10124:
30016 ldr r3, [sp, #108]
30017 sub r6, r6, #64
30018 rsb r5, r0, r3
30019 b .L10089
30020.L10351:
30021 cmp r1, #0
30022 ble .L9529
30023 cmp ip, #3
30024 bls .L10093
30025 ldr r2, [r6, #0]
30026 mov r3, ip, asl #3
30027 sub r3, r3, #32
30028 mov r2, r2, asl r3
30029 mov r1, #0
30030.L10096:
30031 movs r3, r2, lsr #24
30032 ldr r4, [sp, #24]
30033 ldrne r5, [sp, #84]
30034 orr r3, r4, r3
30035 ldr r6, [sp, #108]
30036 strne r3, [r5, r1, asl #2]
30037 add r1, r1, #1
30038 cmp r6, r1
30039 mov r2, r2, asl #8
30040 bne .L10096
30041 b .L9529
30042.L10350:
30043 cmp r7, #0
30044 ble .L9529
30045 ldr r2, [r0, r2]
30046 mov r3, r3, asl #2
30047 mov r0, r2, lsr r3
30048 mov r2, #0
30049.L9614:
30050 ldr r8, [sp, #24]
30051 ands r3, r0, #15
30052 ldrne ip, [sp, #84]
30053 orr r3, r8, r3
30054 orr r3, r1, r3
30055 ldr lr, [sp, #108]
30056 strne r3, [ip, r2, asl #2]
30057 add r2, r2, #1
30058 cmp lr, r2
30059 mov r0, r0, lsr #4
30060 bne .L9614
30061 b .L9529
30062.L10349:
30063 cmp r2, #0
30064 ble .L9529
30065 ldr r2, [r0, #0]
30066 mov r3, lr, asl #2
30067 mov r0, r2, asl r3
30068 mov r2, #0
30069.L9744:
30070 ldr r4, [sp, #24]
30071 movs r3, r0, lsr #28
30072 ldrne r5, [sp, #84]
30073 orr r3, r4, r3
30074 orr r3, r1, r3
30075 ldr r6, [sp, #108]
30076 strne r3, [r5, r2, asl #2]
30077 add r2, r2, #1
30078 cmp r6, r2
30079 mov r0, r0, asl #4
30080 bne .L9744
30081 b .L9529
30082.L10345:
30083 cmp lr, #0
30084 ldr r1, [r2, #0]
30085 ldreq r0, [sp, #84]
30086 beq .L10194
30087 mov r3, ip, asl #3
30088 sub r3, r3, #32
30089 mov r1, r1, asl r3
30090 mov r0, #0
30091.L10195:
30092 movs r3, r1, lsr #24
30093 ldr r6, [sp, #24]
30094 ldrne r7, [sp, #84]
30095 orr r3, r6, r3
30096 strne r3, [r7, r0, asl #2]
30097 add r0, r0, #1
30098 cmp r0, lr
30099 mov r1, r1, asl #8
30100 bne .L10195
30101 ldr r8, [sp, #84]
30102 sub r2, r2, #64
30103 add r0, r8, lr, asl #2
30104 b .L10189
30105.L10342:
30106 cmp ip, #0
30107 ldr r1, [r0, #4]
30108 ldreq r1, [sp, #84]
30109 beq .L9974
30110 mov r3, r2, asl #3
30111 sub r3, r3, #32
30112 mov r2, r1, lsr r3
30113 mov r1, #0
30114.L9975:
30115 ands r3, r2, #255
30116 ldr r6, [sp, #24]
30117 ldrne r7, [sp, #84]
30118 orr r3, r6, r3
30119 strne r3, [r7, r1, asl #2]
30120 add r1, r1, #1
30121 cmp r1, ip
30122 mov r2, r2, lsr #8
30123 bne .L9975
30124 ldr r8, [sp, #84]
30125 add r0, r0, #64
30126 add r1, r8, ip, asl #2
30127 b .L9969
30128.L10348:
30129 cmp lr, #0
30130 ble .L9529
30131 cmp ip, #3
30132 bls .L9873
30133 ldr r2, [r6, #4]
30134 mov r3, ip, asl #3
30135 sub r3, r3, #32
30136 mov r1, r2, lsr r3
30137 mov r2, #0
30138.L9876:
30139 ands r3, r1, #255
30140 ldr r0, [sp, #24]
30141 ldrne r4, [sp, #84]
30142 orr r3, r0, r3
30143 ldr r5, [sp, #108]
30144 strne r3, [r4, r2, asl #2]
30145 add r2, r2, #1
30146 cmp r5, r2
30147 mov r1, r1, lsr #8
30148 bne .L9876
30149 b .L9529
30150.L10355:
30151 mov r6, #0
30152 b .L9587
30153.L10120:
30154 subs lr, r0, #4
30155 ldr r2, [r6, #4]
30156 ldreq r1, [sp, #84]
30157 beq .L10132
30158 mov r3, ip, asl #3
30159 sub r3, r3, #32
30160 mov r2, r2, asl r3
30161 mov r1, #0
30162.L10133:
30163 movs r3, r2, lsr #24
30164 ldr r4, [sp, #24]
30165 ldrne r5, [sp, #84]
30166 orr r3, r4, r3
30167 strne r3, [r5, r1, asl #2]
30168 add r1, r1, #1
30169 cmp lr, r1
30170 mov r2, r2, asl #8
30171 bne .L10133
30172 ldr r7, [sp, #84]
30173 add r3, r7, r0, asl #2
30174 sub r1, r3, #16
30175.L10132:
30176 ldr r2, [r6, #0]
30177 cmp r2, #0
30178 beq .L10138
30179 ands r3, r2, #255
30180 ldrne r8, [sp, #24]
30181 orrne r3, r8, r3
30182 strne r3, [r1, #12]
30183 mov r3, r2, lsr #8
30184 ands r3, r3, #255
30185 ldrne ip, [sp, #24]
30186 orrne r3, ip, r3
30187 strne r3, [r1, #8]
30188 mov r3, r2, lsr #16
30189 ands r3, r3, #255
30190 ldrne lr, [sp, #24]
30191 orrne r3, lr, r3
30192 strne r3, [r1, #4]
30193 movs r3, r2, lsr #24
30194 ldrne r2, [sp, #24]
30195 orrne r3, r2, r3
30196 strne r3, [r1, #0]
30197.L10138:
30198 add r4, r1, #16
30199 b .L10124
30200.L9900:
30201 subs lr, r0, #4
30202 ldr r2, [r6, #0]
30203 ldreq r1, [sp, #84]
30204 beq .L9912
30205 mov r3, ip, asl #3
30206 mov r1, r2, lsr r3
30207 mov r2, #0
30208.L9913:
30209 ands r3, r1, #255
30210 ldr r4, [sp, #24]
30211 ldrne r5, [sp, #84]
30212 orr r3, r4, r3
30213 strne r3, [r5, r2, asl #2]
30214 add r2, r2, #1
30215 cmp r2, lr
30216 mov r1, r1, lsr #8
30217 bne .L9913
30218 ldr r7, [sp, #84]
30219 add r3, r7, r0, asl #2
30220 sub r1, r3, #16
30221.L9912:
30222 ldr r2, [r6, #4]
30223 cmp r2, #0
30224 beq .L9918
30225 ands r3, r2, #255
30226 ldrne r8, [sp, #24]
30227 orrne r3, r8, r3
30228 strne r3, [r1, #0]
30229 mov r3, r2, lsr #8
30230 ands r3, r3, #255
30231 ldrne ip, [sp, #24]
30232 orrne r3, ip, r3
30233 strne r3, [r1, #4]
30234 mov r3, r2, lsr #16
30235 ands r3, r3, #255
30236 ldrne lr, [sp, #24]
30237 orrne r3, lr, r3
30238 strne r3, [r1, #8]
30239 movs r3, r2, lsr #24
30240 ldrne r2, [sp, #24]
30241 orrne r3, r2, r3
30242 strne r3, [r1, #12]
30243.L9918:
30244 add r4, r1, #16
30245 b .L9904
30246.L10353:
30247 ldr r5, [sp, #16]
30248 b .L10318
30249.L10352:
30250 mov ip, fp
30251 b .L10316
30252.L10093:
30253 ldr r7, [sp, #108]
30254 mov r3, ip, asl #3
30255 ldr r1, [r6, #4]
30256 add r2, r7, ip
30257 sub r3, r3, #32
30258 cmp r2, #4
30259 mov r1, r1, asl r3
30260 bhi .L10100
30261 cmp r7, #0
30262 movne r2, #0
30263 beq .L9529
30264.L10116:
30265 movs r3, r1, lsr #24
30266 ldr r5, [sp, #24]
30267 ldrne r6, [sp, #84]
30268 orr r3, r5, r3
30269 ldr r7, [sp, #108]
30270 strne r3, [r6, r2, asl #2]
30271 add r2, r2, #1
30272 cmp r7, r2
30273 mov r1, r1, asl #8
30274 bne .L10116
30275 b .L9529
30276.L9873:
30277 ldr r7, [sp, #108]
30278 ldr r3, [r6, #0]
30279 add r2, r7, ip
30280 cmp r2, #4
30281 mov r1, ip, asl #3
30282 mov r2, r3, lsr r1
30283 bhi .L9880
30284 cmp r7, #0
30285 movne r1, #0
30286 beq .L9529
30287.L9896:
30288 ands r3, r2, #255
30289 ldr r5, [sp, #24]
30290 ldrne r6, [sp, #84]
30291 orr r3, r5, r3
30292 ldr r7, [sp, #108]
30293 strne r3, [r6, r1, asl #2]
30294 add r1, r1, #1
30295 cmp r7, r1
30296 mov r2, r2, lsr #8
30297 bne .L9896
30298 b .L9529
30299.L10100:
30300 rsbs r0, ip, #4
30301 ldreq ip, [sp, #84]
30302 beq .L10105
30303 mov r2, #0
30304.L10106:
30305 movs r3, r1, lsr #24
30306 ldr r8, [sp, #24]
30307 ldrne ip, [sp, #84]
30308 orr r3, r8, r3
30309 strne r3, [ip, r2, asl #2]
30310 add r2, r2, #1
30311 cmp r2, r0
30312 mov r1, r1, asl #8
30313 bne .L10106
30314 ldr lr, [sp, #84]
30315 add ip, lr, r0, asl #2
30316.L10105:
30317 ldr r1, [sp, #108]
30318 ldr r2, [r6, #0]
30319 subs r0, r1, r0
30320 beq .L9529
30321 mov r1, #0
30322.L10112:
30323 ldr r4, [sp, #24]
30324 movs r3, r2, lsr #24
30325 orr r3, r4, r3
30326 strne r3, [ip, r1, asl #2]
30327 add r1, r1, #1
30328 cmp r1, r0
30329 mov r2, r2, asl #8
30330 bne .L10112
30331 b .L9529
30332.L9880:
30333 rsbs r0, ip, #4
30334 ldreq ip, [sp, #84]
30335 beq .L9885
30336 mov r1, #0
30337.L9886:
30338 ands r3, r2, #255
30339 ldr r8, [sp, #24]
30340 ldrne ip, [sp, #84]
30341 orr r3, r8, r3
30342 strne r3, [ip, r1, asl #2]
30343 add r1, r1, #1
30344 cmp r1, r0
30345 mov r2, r2, lsr #8
30346 bne .L9886
30347 ldr lr, [sp, #84]
30348 add ip, lr, r0, asl #2
30349.L9885:
30350 ldr r1, [sp, #108]
30351 ldr r2, [r6, #4]
30352 subs r0, r1, r0
30353 beq .L9529
30354 mov r1, #0
30355.L9892:
30356 ldr r4, [sp, #24]
30357 ands r3, r2, #255
30358 orr r3, r4, r3
30359 strne r3, [ip, r1, asl #2]
30360 add r1, r1, #1
30361 cmp r1, r0
30362 mov r2, r2, lsr #8
30363 bne .L9892
30364 b .L9529
30365 .size render_scanline_obj_color32_1D, .-render_scanline_obj_color32_1D
30366 .align 2
30367 .global render_scanline_obj_color32_2D
30368 .type render_scanline_obj_color32_2D, %function
30369render_scanline_obj_color32_2D:
30370 @ args = 0, pretend = 0, frame = 96
30371 @ frame_needed = 0, uses_anonymous_args = 0
30372 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
30373 ldr ip, .L11200
30374 sub sp, sp, #96
30375 ldrh r4, [ip, #6]
30376 add r0, r0, r0, asl #2
30377 str r4, [sp, #36]
30378 ldr r5, [sp, #36]
30379 ldrh r4, [ip, #80]
30380 ldr ip, .L11200+4
30381 add r0, r5, r0, asl #5
30382 ldr ip, [ip, r0, asl #2]
30383 mov lr, r4, lsr #11
30384 and lr, lr, #2
30385 mov r4, r4, asl #27
30386 str ip, [sp, #40]
30387 orr lr, lr, r4, lsr #31
30388 cmp ip, #0
30389 ldr ip, .L11200+8
30390 mov lr, lr, asl #9
30391 add r0, ip, r0, asl #7
30392 orr lr, lr, #256
30393 str r0, [sp, #44]
30394 str r1, [sp, #12]
30395 str r2, [sp, #8]
30396 str r3, [sp, #4]
30397 str lr, [sp, #28]
30398 beq .L11146
30399 mov r8, #0
30400 add r6, r3, r1, asl #2
30401 rsb r7, r1, r2
30402 str r6, [sp, #68]
30403 str r7, [sp, #92]
30404 str r8, [sp, #32]
30405 mov ip, r8
30406.L10361:
30407 ldr lr, [sp, #44]
30408 ldr r0, .L11200+12
30409 ldrb r3, [ip, lr] @ zero_extendqisi2
30410 mov r3, r3, asl #3
30411 ldrh r4, [r3, r0]
30412 add r3, r3, r0
30413 ldrh r1, [r3, #2]
30414 mov r5, r4, lsr #12
30415 and r2, r5, #12
30416 orr r0, r2, r1, lsr #14
30417 and ip, r4, #255
30418 mov r2, r1, asl #23
30419 cmp ip, #160
30420 ldrh lr, [r3, #4]
30421 mov r6, r2, asr #23
30422 ldr r3, .L11200+16
30423 ldr r2, .L11200+20
30424 subgt ip, ip, #256
30425 tst r4, #256
30426 ldr r8, [r2, r0, asl #2]
30427 ldr sl, [r3, r0, asl #2]
30428 beq .L10364
30429 tst r4, #8192
30430 beq .L10366
30431 tst r4, #512
30432 mov r3, r1, lsr #4
30433 ldr r4, .L11200+12
30434 and r3, r3, #992
30435 add r3, r3, r4
30436 add r2, r8, r8, lsr #31
30437 ldrh r5, [r3, #30]
30438 mov r4, r2, asr #1
30439 add r1, sl, sl, lsr #31
30440 ldr r2, [sp, #12]
30441 movne r0, r4, asl #1
30442 str r5, [sp, #16]
30443 mov r5, r1, asr #1
30444 strne r0, [sp, #52]
30445 moveq r9, r8
30446 streq r4, [sp, #52]
30447 moveq r0, r5
30448 movne r9, r8, asl #1
30449 movne r0, r5, asl #1
30450 cmp r6, r2
30451 ldrh r7, [r3, #6]
30452 ldrh r1, [r3, #14]
30453 ldrh fp, [r3, #22]
30454 bge .L10371
30455 rsb r2, r6, r2
30456 rsb r9, r2, r9
30457 cmp r9, #0
30458 ble .L10373
30459 ldr r3, [sp, #52]
30460 ldr r6, [sp, #12]
30461 rsb r3, r2, r3
30462 str r3, [sp, #52]
30463.L10371:
30464 ldr r2, [sp, #8]
30465 add r3, r6, r9
30466 cmp r3, r2
30467 blt .L10375
30468 rsb r9, r6, r2
30469 cmp r9, #0
30470 ble .L10373
30471.L10375:
30472 mov r3, r7, asl #16
30473 mov r2, r1, asl #16
30474 ldr r7, [sp, #16]
30475 mov r3, r3, asr #16
30476 add r0, ip, r0
30477 str r3, [sp, #48]
30478 mov ip, r2, asr #16
30479 ldr r3, [sp, #36]
30480 ldr r2, [sp, #4]
30481 mov r1, r7, asl #16
30482 mov r4, r4, asl #8
30483 cmp fp, #0
30484 str r4, [sp, #76]
30485 mov r1, r1, asr #16
30486 mov r4, r5, asl #8
30487 add r7, r2, r6, asl #2
30488 rsb r0, r0, r3
30489 bne .L10377
30490 mla r3, r0, r1, r4
30491 mov r1, r3, asr #8
30492 cmp r1, sl
30493 bcs .L10373
30494 mov r3, lr, asl #22
30495 mov r2, r1, lsr #3
30496 mov r3, r3, lsr #22
30497 add r3, r3, r2, asl #5
30498 and r1, r1, #7
30499 add r1, r1, r3, asl #2
30500 ldr r3, .L11200+24
30501 cmp r9, #0
30502 add lr, r3, r1, asl #3
30503 ble .L10373
30504 ldr r4, [sp, #48]
30505 ldr r2, [sp, #52]
30506 mul r3, r0, ip
30507 mul r2, r4, r2
30508 ldr r5, [sp, #76]
30509 rsb r3, r2, r3
30510 add r0, r5, r3
30511 mov r4, r0, asr #8
30512 cmp r4, r8
30513 movcs ip, fp
30514 bcs .L10383
30515 b .L11196
30516.L10384:
30517 cmp r4, r8
30518 bcc .L11160
30519.L10383:
30520 ldr r6, [sp, #48]
30521 add ip, ip, #1
30522 add r0, r0, r6
30523 cmp r9, ip
30524 mov r4, r0, asr #8
30525 add r7, r7, #4
30526 bne .L10384
30527.L10373:
30528 ldr ip, [sp, #32]
30529 ldr lr, [sp, #40]
30530 add ip, ip, #1
30531 cmp ip, lr
30532 str ip, [sp, #32]
30533 beq .L11146
30534.L11178:
30535 ldr ip, [sp, #32]
30536 b .L10361
30537.L10364:
30538 ldr r2, [sp, #36]
30539 tst r1, #8192
30540 rsb r0, ip, r2
30541 rsbne r3, r0, sl
30542 subne r0, r3, #1
30543 mov r2, r1, asl #19
30544 and r3, r5, #2
30545 orr r3, r3, r2, lsr #31
30546 cmp r3, #3
30547 ldrls pc, [pc, r3, asl #2]
30548 b .L10373
30549 .p2align 2
30550.L10445:
30551 .word .L10441
30552 .word .L10442
30553 .word .L10443
30554 .word .L10444
30555.L10441:
30556 mov r3, lr, asl #22
30557 mov r2, r0, lsr #3
30558 mov r3, r3, lsr #22
30559 add r3, r3, r2, asl #5
30560 and r1, r0, #7
30561 add r1, r1, r3, asl #3
30562 ldr r3, [sp, #12]
30563 mov r2, lr, lsr #8
30564 cmp r6, r3
30565 ldr r3, .L11200+24
30566 add r0, r3, r1, asl #2
30567 and r1, r2, #240
30568 blt .L11173
30569 ldr ip, [sp, #8]
30570 add r3, r6, r8
30571 cmp ip, r3
30572 bhi .L10527
30573 rsb r7, r6, ip
30574 cmp r7, #0
30575 ble .L10373
30576 ldr lr, [sp, #4]
30577 movs r8, r7, lsr #3
30578 add r2, lr, r6, asl #2
30579 beq .L10530
30580 mov r5, r2
30581 mov lr, r0
30582 mov ip, #0
30583.L10532:
30584 ldr r4, [lr, #0]
30585 cmp r4, #0
30586 beq .L10533
30587 ands r3, r4, #15
30588 ldrne r6, [sp, #28]
30589 orrne r3, r6, r3
30590 orrne r3, r1, r3
30591 strne r3, [r5, #0]
30592 mov r3, r4, lsr #4
30593 ands r3, r3, #15
30594 ldrne r6, [sp, #28]
30595 orrne r3, r6, r3
30596 orrne r3, r1, r3
30597 strne r3, [r5, #4]
30598 mov r3, r4, lsr #8
30599 ands r3, r3, #15
30600 ldrne r6, [sp, #28]
30601 orrne r3, r6, r3
30602 orrne r3, r1, r3
30603 strne r3, [r5, #8]
30604 mov r3, r4, lsr #12
30605 ands r3, r3, #15
30606 ldrne r6, [sp, #28]
30607 orrne r3, r6, r3
30608 orrne r3, r1, r3
30609 strne r3, [r5, #12]
30610 mov r3, r4, lsr #16
30611 ands r3, r3, #15
30612 ldrne r6, [sp, #28]
30613 orrne r3, r6, r3
30614 orrne r3, r1, r3
30615 strne r3, [r5, #16]
30616 mov r3, r4, lsr #20
30617 ands r3, r3, #15
30618 ldrne r6, [sp, #28]
30619 orrne r3, r6, r3
30620 orrne r3, r1, r3
30621 strne r3, [r5, #20]
30622 mov r3, r4, lsr #24
30623 ands r3, r3, #15
30624 ldrne r6, [sp, #28]
30625 orrne r3, r6, r3
30626 orrne r3, r1, r3
30627 strne r3, [r5, #24]
30628 movs r3, r4, lsr #28
30629 ldrne r4, [sp, #28]
30630 orrne r3, r4, r3
30631 orrne r3, r1, r3
30632 strne r3, [r5, #28]
30633.L10533:
30634 add ip, ip, #1
30635 cmp ip, r8
30636 add lr, lr, #32
30637 add r5, r5, #32
30638 bne .L10532
30639 mov r3, r8, asl #5
30640 add r0, r0, r3
30641 add r2, r2, r3
30642.L10530:
30643 ands lr, r7, #7
30644 beq .L10373
30645 ldr r0, [r0, #0]
30646 mov ip, #0
30647.L10552:
30648 ldr r5, [sp, #28]
30649 ands r3, r0, #15
30650 orr r3, r5, r3
30651 orr r3, r1, r3
30652 strne r3, [r2, ip, asl #2]
30653 add ip, ip, #1
30654 cmp ip, lr
30655 mov r0, r0, lsr #4
30656 bne .L10552
30657 b .L10373
30658.L10442:
30659 mov r3, lr, asl #22
30660 mov r1, r0, lsr #3
30661 subs r2, r8, #8
30662 mov r3, r3, lsr #22
30663 submi r2, r8, #1
30664 add r3, r3, r1, asl #5
30665 add r3, r3, r2, asr #3
30666 and r1, r0, #7
30667 ldr ip, [sp, #12]
30668 add r1, r1, r3, asl #3
30669 ldr r3, .L11200+24
30670 mov r2, lr, lsr #8
30671 cmp r6, ip
30672 add r0, r3, r1, asl #2
30673 and r1, r2, #240
30674 blt .L11174
30675 ldr ip, [sp, #8]
30676 add r3, r6, r8
30677 cmp ip, r3
30678 bhi .L10657
30679 rsb r8, r6, ip
30680 cmp r8, #0
30681 ble .L10373
30682 ldr lr, [sp, #4]
30683 movs r7, r8, lsr #3
30684 add r2, lr, r6, asl #2
30685 beq .L10660
30686 mov r5, r2
30687 mov lr, r0
30688 mov ip, #0
30689.L10662:
30690 ldr r4, [lr, #0]
30691 cmp r4, #0
30692 beq .L10663
30693 ands r3, r4, #15
30694 ldrne r6, [sp, #28]
30695 orrne r3, r6, r3
30696 orrne r3, r1, r3
30697 strne r3, [r5, #28]
30698 mov r3, r4, lsr #4
30699 ands r3, r3, #15
30700 ldrne r6, [sp, #28]
30701 orrne r3, r6, r3
30702 orrne r3, r1, r3
30703 strne r3, [r5, #24]
30704 mov r3, r4, lsr #8
30705 ands r3, r3, #15
30706 ldrne r6, [sp, #28]
30707 orrne r3, r6, r3
30708 orrne r3, r1, r3
30709 strne r3, [r5, #20]
30710 mov r3, r4, lsr #12
30711 ands r3, r3, #15
30712 ldrne r6, [sp, #28]
30713 orrne r3, r6, r3
30714 orrne r3, r1, r3
30715 strne r3, [r5, #16]
30716 mov r3, r4, lsr #16
30717 ands r3, r3, #15
30718 ldrne r6, [sp, #28]
30719 orrne r3, r6, r3
30720 orrne r3, r1, r3
30721 strne r3, [r5, #12]
30722 mov r3, r4, lsr #20
30723 ands r3, r3, #15
30724 ldrne r6, [sp, #28]
30725 orrne r3, r6, r3
30726 orrne r3, r1, r3
30727 strne r3, [r5, #8]
30728 mov r3, r4, lsr #24
30729 ands r3, r3, #15
30730 ldrne r6, [sp, #28]
30731 orrne r3, r6, r3
30732 orrne r3, r1, r3
30733 strne r3, [r5, #4]
30734 movs r3, r4, lsr #28
30735 ldrne r4, [sp, #28]
30736 orrne r3, r4, r3
30737 orrne r3, r1, r3
30738 strne r3, [r5, #0]
30739.L10663:
30740 add ip, ip, #1
30741 cmp ip, r7
30742 sub lr, lr, #32
30743 add r5, r5, #32
30744 bne .L10662
30745 rsb r3, r7, r7, asl #27
30746 add r0, r0, r3, asl #5
30747 add r2, r2, r7, asl #5
30748.L10660:
30749 ands lr, r8, #7
30750 beq .L10373
30751 ldr r0, [r0, #0]
30752 mov ip, #0
30753.L10682:
30754 ldr r5, [sp, #28]
30755 movs r3, r0, lsr #28
30756 orr r3, r5, r3
30757 orr r3, r1, r3
30758 strne r3, [r2, ip, asl #2]
30759 add ip, ip, #1
30760 cmp ip, lr
30761 mov r0, r0, asl #4
30762 bne .L10682
30763 b .L10373
30764.L10443:
30765 mov r2, lr, asl #22
30766 mov r1, r0, lsr #3
30767 mov r2, r2, lsr #22
30768 and r3, r0, #7
30769 add r2, r2, r1, asl #5
30770 add r3, r3, r2, asl #2
30771 ldr ip, [sp, #12]
30772 mov r0, r3, asl #3
30773 ldr r3, .L11200+24
30774 cmp r6, ip
30775 add ip, r0, r3
30776 blt .L11175
30777 ldr lr, [sp, #8]
30778 add r3, r6, r8
30779 cmp lr, r3
30780 bhi .L10862
30781 rsb r8, r6, lr
30782 cmp r8, #0
30783 ble .L10373
30784 ldr r1, [sp, #4]
30785 movs r7, r8, lsr #3
30786 add r2, r1, r6, asl #2
30787 beq .L10865
30788 ldr r3, .L11200+32
30789 mov r5, r2
30790 add r0, r0, r3
30791 mov lr, ip
30792 mov r1, #0
30793.L10867:
30794 ldr r4, [lr, #0]
30795 cmp r4, #0
30796 beq .L10868
30797 ands r3, r4, #255
30798 ldrne r6, [sp, #28]
30799 orrne r3, r6, r3
30800 strne r3, [r5, #0]
30801 mov r3, r4, lsr #8
30802 ands r3, r3, #255
30803 ldrne r6, [sp, #28]
30804 orrne r3, r6, r3
30805 strne r3, [r5, #4]
30806 mov r3, r4, lsr #16
30807 ands r3, r3, #255
30808 ldrne r6, [sp, #28]
30809 orrne r3, r6, r3
30810 strne r3, [r5, #8]
30811 movs r3, r4, lsr #24
30812 ldrne r4, [sp, #28]
30813 orrne r3, r4, r3
30814 strne r3, [r5, #12]
30815.L10868:
30816 ldr r4, [r0, #-60]
30817 cmp r4, #0
30818 beq .L10877
30819 ands r3, r4, #255
30820 ldrne r6, [sp, #28]
30821 orrne r3, r6, r3
30822 strne r3, [r5, #16]
30823 mov r3, r4, lsr #8
30824 ands r3, r3, #255
30825 ldrne r6, [sp, #28]
30826 orrne r3, r6, r3
30827 strne r3, [r5, #20]
30828 mov r3, r4, lsr #16
30829 ands r3, r3, #255
30830 ldrne r6, [sp, #28]
30831 orrne r3, r6, r3
30832 strne r3, [r5, #24]
30833 movs r3, r4, lsr #24
30834 ldrne r4, [sp, #28]
30835 orrne r3, r4, r3
30836 strne r3, [r5, #28]
30837.L10877:
30838 add r1, r1, #1
30839 cmp r7, r1
30840 add lr, lr, #64
30841 add r5, r5, #32
30842 add r0, r0, #64
30843 bne .L10867
30844 add ip, ip, r7, asl #6
30845 add r2, r2, r7, asl #5
30846.L10865:
30847 ands lr, r8, #7
30848 beq .L10373
30849 cmp lr, #3
30850 ldrls r0, [ip, #0]
30851 bls .L10900
30852 ldr r1, [ip, #0]
30853 cmp r1, #0
30854 beq .L10890
30855 ands r3, r1, #255
30856 ldrne r5, [sp, #28]
30857 orrne r3, r5, r3
30858 strne r3, [r2, #0]
30859 mov r3, r1, lsr #8
30860 ands r3, r3, #255
30861 ldrne r6, [sp, #28]
30862 orrne r3, r6, r3
30863 strne r3, [r2, #4]
30864 mov r3, r1, lsr #16
30865 ands r3, r3, #255
30866 ldrne r7, [sp, #28]
30867 orrne r3, r7, r3
30868 strne r3, [r2, #8]
30869 movs r3, r1, lsr #24
30870 ldrne r8, [sp, #28]
30871 orrne r3, r8, r3
30872 strne r3, [r2, #12]
30873.L10890:
30874 subs lr, lr, #4
30875 ldr r0, [ip, #4]
30876 addne r2, r2, #16
30877 beq .L10373
30878.L10900:
30879 mov r1, #0
30880.L10901:
30881 ldr ip, [sp, #28]
30882 ands r3, r0, #255
30883 orr r3, ip, r3
30884 strne r3, [r2, r1, asl #2]
30885 add r1, r1, #1
30886 cmp lr, r1
30887 mov r0, r0, lsr #8
30888 bhi .L10901
30889 b .L10373
30890.L10444:
30891 subs r2, r8, #8
30892 submi r2, r8, #1
30893 mov r3, r0, lsr #3
30894 mov r2, r2, asr #3
30895 mov r1, lr, asl #22
30896 add r2, r2, r3, asl #4
30897 mov r1, r1, lsr #22
30898 and r3, r0, #7
30899 add r1, r1, r2, asl #1
30900 add r3, r3, r1, asl #2
30901 ldr ip, [sp, #12]
30902 mov r0, r3, asl #3
30903 ldr r3, .L11200+24
30904 cmp r6, ip
30905 add ip, r0, r3
30906 blt .L11176
30907 ldr lr, [sp, #8]
30908 add r3, r6, r8
30909 cmp r3, lr
30910 bcc .L11082
30911 rsb r8, r6, lr
30912 cmp r8, #0
30913 ble .L10373
30914 ldr r1, [sp, #4]
30915 movs r7, r8, lsr #3
30916 add r6, r1, r6, asl #2
30917 beq .L11085
30918 ldr r3, .L11200+28
30919 mov r5, r6
30920 add r0, r0, r3
30921 mov lr, ip
30922 mov r1, #0
30923.L11087:
30924 ldr r4, [r0, #68]
30925 cmp r4, #0
30926 beq .L11088
30927 ands r3, r4, #255
30928 ldrne r2, [sp, #28]
30929 orrne r3, r2, r3
30930 strne r3, [r5, #12]
30931 mov r3, r4, lsr #8
30932 ands r3, r3, #255
30933 ldrne r2, [sp, #28]
30934 orrne r3, r2, r3
30935 strne r3, [r5, #8]
30936 mov r3, r4, lsr #16
30937 ands r3, r3, #255
30938 ldrne r2, [sp, #28]
30939 orrne r3, r2, r3
30940 strne r3, [r5, #4]
30941 movs r3, r4, lsr #24
30942 ldrne r4, [sp, #28]
30943 orrne r3, r4, r3
30944 strne r3, [r5, #0]
30945.L11088:
30946 ldr r4, [lr, #0]
30947 cmp r4, #0
30948 beq .L11097
30949 ands r3, r4, #255
30950 ldrne r2, [sp, #28]
30951 orrne r3, r2, r3
30952 strne r3, [r5, #28]
30953 mov r3, r4, lsr #8
30954 ands r3, r3, #255
30955 ldrne r2, [sp, #28]
30956 orrne r3, r2, r3
30957 strne r3, [r5, #24]
30958 mov r3, r4, lsr #16
30959 ands r3, r3, #255
30960 ldrne r2, [sp, #28]
30961 orrne r3, r2, r3
30962 strne r3, [r5, #20]
30963 movs r3, r4, lsr #24
30964 ldrne r4, [sp, #28]
30965 orrne r3, r4, r3
30966 strne r3, [r5, #16]
30967.L11097:
30968 add r1, r1, #1
30969 cmp r1, r7
30970 sub lr, lr, #64
30971 add r5, r5, #32
30972 sub r0, r0, #64
30973 bne .L11087
30974 rsb r3, r7, r7, asl #26
30975 add ip, ip, r3, asl #6
30976 add r6, r6, r7, asl #5
30977.L11085:
30978 ands r0, r8, #7
30979 beq .L10373
30980 cmp r0, #3
30981 ldrls r2, [ip, #4]
30982 bls .L11120
30983 ldr r2, [ip, #4]
30984 cmp r2, #0
30985 beq .L11110
30986 ands r3, r2, #255
30987 ldrne r5, [sp, #28]
30988 orrne r3, r5, r3
30989 strne r3, [r6, #12]
30990 mov r3, r2, lsr #8
30991 ands r3, r3, #255
30992 ldrne r7, [sp, #28]
30993 orrne r3, r7, r3
30994 strne r3, [r6, #8]
30995 mov r3, r2, lsr #16
30996 ands r3, r3, #255
30997 ldrne r8, [sp, #28]
30998 orrne r3, r8, r3
30999 strne r3, [r6, #4]
31000 movs r3, r2, lsr #24
31001 ldrne lr, [sp, #28]
31002 orrne r3, lr, r3
31003 strne r3, [r6, #0]
31004.L11110:
31005 subs r0, r0, #4
31006 ldr r2, [ip, #0]
31007 addne r6, r6, #16
31008 beq .L10373
31009.L11120:
31010 mov r1, #0
31011.L11121:
31012 ldr r4, [sp, #28]
31013 movs r3, r2, lsr #24
31014 orr r3, r4, r3
31015 strne r3, [r6, r1, asl #2]
31016 add r1, r1, #1
31017 cmp r0, r1
31018 mov r2, r2, asl #8
31019 bhi .L11121
31020 b .L10373
31021.L10366:
31022 mov r3, r1, lsr #4
31023 ldr r1, .L11200+12
31024 and r3, r3, #992
31025 add r3, r3, r1
31026 tst r4, #512
31027 ldrh r4, [r3, #30]
31028 add r2, r8, r8, lsr #31
31029 add r1, sl, sl, lsr #31
31030 str r4, [sp, #24]
31031 mov r4, r2, asr #1
31032 ldr r2, [sp, #12]
31033 mov r5, r1, asr #1
31034 ldrh r7, [r3, #6]
31035 ldrh r1, [r3, #14]
31036 ldrh r3, [r3, #22]
31037 moveq fp, r8
31038 moveq r9, r4
31039 moveq r0, r5
31040 movne fp, r8, asl #1
31041 movne r9, r4, asl #1
31042 movne r0, r5, asl #1
31043 cmp r6, r2
31044 str r3, [sp, #20]
31045 bge .L10404
31046 rsb r2, r6, r2
31047 rsb fp, r2, fp
31048 cmp fp, #0
31049 ble .L10373
31050 ldr r6, [sp, #12]
31051 rsb r9, r2, r9
31052.L10404:
31053 ldr r2, [sp, #8]
31054 add r3, r6, fp
31055 cmp r3, r2
31056 blt .L10407
31057 rsb fp, r6, r2
31058 cmp fp, #0
31059 ble .L10373
31060.L10407:
31061 add ip, ip, r0
31062 mov r3, r7, asl #16
31063 mov r2, r1, asl #16
31064 ldr r0, [sp, #20]
31065 ldr r7, [sp, #24]
31066 mov r3, r3, asr #16
31067 mov r2, r2, asr #16
31068 cmp r0, #0
31069 str r3, [sp, #56]
31070 mov r0, lr, lsr #8
31071 str r2, [sp, #60]
31072 ldr r3, [sp, #36]
31073 ldr r2, [sp, #4]
31074 mov r1, r7, asl #16
31075 mov r4, r4, asl #8
31076 and r0, r0, #240
31077 str r4, [sp, #72]
31078 mov r1, r1, asr #16
31079 mov r4, r5, asl #8
31080 add r7, r2, r6, asl #2
31081 rsb ip, ip, r3
31082 str r0, [sp, #88]
31083 bne .L10409
31084 mla r3, ip, r1, r4
31085 mov r1, r3, asr #8
31086 cmp r1, sl
31087 bcs .L10373
31088 mov r3, lr, asl #22
31089 mov r2, r1, lsr #3
31090 mov r3, r3, lsr #22
31091 add r3, r3, r2, asl #5
31092 and r1, r1, #7
31093 add r1, r1, r3, asl #3
31094 ldr r3, .L11200+24
31095 cmp fp, #0
31096 add r1, r3, r1, asl #2
31097 ble .L10373
31098 ldr r3, [sp, #60]
31099 ldr r2, [sp, #56]
31100 mul r3, ip, r3
31101 mul r2, r9, r2
31102 ldr r4, [sp, #72]
31103 rsb r3, r2, r3
31104 add r0, r4, r3
31105 mov r4, r0, asr #8
31106 cmp r4, r8
31107 ldrcs r5, [sp, #20]
31108 bcs .L10415
31109 b .L11197
31110.L10416:
31111 cmp r4, r8
31112 bcc .L11162
31113.L10415:
31114 ldr r6, [sp, #56]
31115 add r5, r5, #1
31116 add r0, r0, r6
31117 cmp fp, r5
31118 mov r4, r0, asr #8
31119 add r7, r7, #4
31120 bne .L10416
31121 ldr ip, [sp, #32]
31122 ldr lr, [sp, #40]
31123 add ip, ip, #1
31124 cmp ip, lr
31125 str ip, [sp, #32]
31126 bne .L11178
31127.L11146:
31128 add sp, sp, #96
31129 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
31130.L10377:
31131 mov r3, lr, asl #22
31132 ldr r2, .L11200+24
31133 mov r3, r3, lsr #22
31134 add r3, r2, r3, asl #5
31135 cmp r9, #0
31136 str r3, [sp, #84]
31137 ble .L10373
31138 mov r3, fp, asl #16
31139 mul r2, r0, r1
31140 mov fp, r3, asr #16
31141 ldr r6, [sp, #48]
31142 mul r3, r0, ip
31143 ldr r1, [sp, #52]
31144 ldr r0, [sp, #52]
31145 mul r1, fp, r1
31146 mul r0, r6, r0
31147 ldr ip, [sp, #76]
31148 rsb r3, r0, r3
31149 rsb r2, r1, r2
31150 add r5, ip, r3
31151 add lr, r4, r2
31152 mov ip, r5, asr #8
31153 mov r4, lr, asr #8
31154 cmp ip, r8
31155 cmpcc r4, sl
31156 movcs r3, #0
31157 movcc r3, #1
31158 movcs r6, r3
31159 bcs .L10393
31160 b .L11198
31161.L10394:
31162 cmp ip, r8
31163 cmpcc r4, sl
31164 bcc .L10395
31165.L10393:
31166 ldr r0, [sp, #48]
31167 add r6, r6, #1
31168 add r5, r5, r0
31169 add lr, lr, fp
31170 cmp r9, r6
31171 mov ip, r5, asr #8
31172 mov r4, lr, asr #8
31173 add r7, r7, #4
31174 bne .L10394
31175 b .L10373
31176.L10409:
31177 mov r3, lr, asl #22
31178 ldr r2, .L11200+24
31179 mov r3, r3, lsr #22
31180 add r3, r2, r3, asl #5
31181 cmp fp, #0
31182 str r3, [sp, #80]
31183 ble .L10373
31184 ldr r5, [sp, #20]
31185 mul r2, ip, r1
31186 mov r3, r5, asl #16
31187 mov r3, r3, asr #16
31188 str r3, [sp, #64]
31189 ldr r1, [sp, #64]
31190 ldr r3, [sp, #60]
31191 ldr r0, [sp, #56]
31192 mul r3, ip, r3
31193 mul r1, r9, r1
31194 mul r0, r9, r0
31195 ldr r6, [sp, #72]
31196 rsb r3, r0, r3
31197 rsb r2, r1, r2
31198 add lr, r6, r3
31199 add r5, r4, r2
31200 mov ip, lr, asr #8
31201 mov r4, r5, asr #8
31202 cmp ip, r8
31203 cmpcc r4, sl
31204 movcs r3, #0
31205 movcc r3, #1
31206 movcs r6, r3
31207 bcs .L10428
31208 b .L11199
31209.L10429:
31210 cmp ip, r8
31211 cmpcc r4, sl
31212 bcc .L10431
31213.L10428:
31214 ldr ip, [sp, #56]
31215 ldr r0, [sp, #64]
31216 add r6, r6, #1
31217 add lr, lr, ip
31218 add r5, r5, r0
31219 cmp fp, r6
31220 mov ip, lr, asr #8
31221 mov r4, r5, asr #8
31222 add r7, r7, #4
31223 bne .L10429
31224 b .L10373
31225.L11181:
31226 mov r3, ip, asr #1
31227 ldr r1, [sp, #80]
31228 and r3, r3, #3
31229 and r0, r4, #7
31230 str r3, [sp, #0]
31231 ldr r3, [sp, #80]
31232 add r0, r1, r0, asl #2
31233 and r1, r4, #7
31234 mov r2, ip, asr #1
31235 add r1, r3, r1, asl #2
31236 mov r3, r4, asr #3
31237 and r9, r2, #3
31238 mov r3, r3, asl #10
31239 mov r2, ip, asr #3
31240 tst ip, #1
31241 add r3, r3, r2, asl #5
31242 add r2, r0, r3
31243 movne r4, r9
31244 add r0, r1, r3
31245 ldreqb r3, [r0, r9] @ zero_extendqisi2
31246 ldrneb r3, [r2, r4] @ zero_extendqisi2
31247 ldr r2, [sp, #28]
31248 movne r0, r3, lsr #4
31249 andeq r0, r3, #15
31250 cmp r0, #0
31251 orr r3, r0, r2
31252 ldr r0, [sp, #88]
31253 ldr ip, [sp, #56]
31254 ldr r1, [sp, #64]
31255 add r6, r6, #1
31256 orr r3, r0, r3
31257 strne r3, [r7, #0]
31258 add lr, lr, ip
31259 add r5, r5, r1
31260 cmp fp, r6
31261 mov ip, lr, asr #8
31262 mov r4, r5, asr #8
31263 add r7, r7, #4
31264 ble .L10373
31265.L10431:
31266 cmp r4, sl
31267 cmpcc ip, r8
31268 bcc .L11181
31269 b .L10373
31270.L10418:
31271 cmp r4, r8
31272 bcs .L10373
31273.L11162:
31274 mov r3, r4, asr #1
31275 and sl, r3, #3
31276 mov r3, r4, asr #3
31277 mov r3, r3, asl #5
31278 mov r2, r4, asr #1
31279 tst r4, #1
31280 add ip, r3, r1
31281 and r6, r2, #3
31282 add r2, r3, r1
31283 ldreqb r3, [r2, r6] @ zero_extendqisi2
31284 ldrneb r3, [ip, sl] @ zero_extendqisi2
31285 ldr lr, [sp, #28]
31286 movne r2, r3, lsr #4
31287 andeq r2, r3, #15
31288 cmp r2, #0
31289 orr r3, r2, lr
31290 ldr r2, [sp, #88]
31291 ldr ip, [sp, #56]
31292 add r5, r5, #1
31293 orr r3, r2, r3
31294 strne r3, [r7, #0]
31295 add r0, r0, ip
31296 cmp fp, r5
31297 mov r4, r0, asr #8
31298 add r7, r7, #4
31299 bgt .L10418
31300 b .L10373
31301.L10386:
31302 cmp r4, r8
31303 bcs .L10373
31304.L11160:
31305 ldr r1, [sp, #48]
31306 mov r3, r4, asr #3
31307 add r0, r0, r1
31308 add r3, lr, r3, asl #6
31309 and r1, r4, #7
31310 ldrb r2, [r3, r1] @ zero_extendqisi2
31311 ldr r5, [sp, #28]
31312 cmp r2, #0
31313 add ip, ip, #1
31314 orr r3, r5, r2
31315 strne r3, [r7, #0]
31316 cmp r9, ip
31317 mov r4, r0, asr #8
31318 add r7, r7, #4
31319 bgt .L10386
31320 b .L10373
31321.L11176:
31322 ldr lr, [sp, #12]
31323 rsb r1, r6, lr
31324 rsb lr, r1, r8
31325 cmp lr, #0
31326 ble .L10373
31327 ldr r0, [sp, #8]
31328 add r3, r6, r8
31329 cmp r0, r3
31330 bhi .L10929
31331 mov r3, r1, lsr #3
31332 ands r0, r1, #7
31333 sub r6, ip, r3, asl #6
31334 bne .L10931
31335 ldr r5, [sp, #92]
31336 ldr r4, [sp, #68]
31337.L10933:
31338 movs lr, r5, lsr #3
31339 beq .L10991
31340 mov r1, r4
31341 mov r0, r6
31342 mov ip, #0
31343.L10993:
31344 ldr r2, [r0, #4]
31345 cmp r2, #0
31346 beq .L10994
31347 ands r3, r2, #255
31348 ldrne r7, [sp, #28]
31349 orrne r3, r7, r3
31350 strne r3, [r1, #12]
31351 mov r3, r2, lsr #8
31352 ands r3, r3, #255
31353 ldrne r8, [sp, #28]
31354 orrne r3, r8, r3
31355 strne r3, [r1, #8]
31356 mov r3, r2, lsr #16
31357 ands r3, r3, #255
31358 ldrne r7, [sp, #28]
31359 orrne r3, r7, r3
31360 strne r3, [r1, #4]
31361 movs r3, r2, lsr #24
31362 ldrne r8, [sp, #28]
31363 orrne r3, r8, r3
31364 strne r3, [r1, #0]
31365.L10994:
31366 ldr r2, [r0, #0]
31367 cmp r2, #0
31368 beq .L11003
31369 ands r3, r2, #255
31370 ldrne r7, [sp, #28]
31371 orrne r3, r7, r3
31372 strne r3, [r1, #28]
31373 mov r3, r2, lsr #8
31374 ands r3, r3, #255
31375 ldrne r8, [sp, #28]
31376 orrne r3, r8, r3
31377 strne r3, [r1, #24]
31378 mov r3, r2, lsr #16
31379 ands r3, r3, #255
31380 ldrne r7, [sp, #28]
31381 orrne r3, r7, r3
31382 strne r3, [r1, #20]
31383 movs r3, r2, lsr #24
31384 ldrne r8, [sp, #28]
31385 orrne r3, r8, r3
31386 strne r3, [r1, #16]
31387.L11003:
31388 add ip, ip, #1
31389 cmp ip, lr
31390 sub r0, r0, #64
31391 add r1, r1, #32
31392 bne .L10993
31393 rsb r3, lr, lr, asl #26
31394 add r6, r6, r3, asl #6
31395 add r4, r4, lr, asl #5
31396.L10991:
31397 ands r0, r5, #7
31398 beq .L10373
31399 cmp r0, #3
31400 ldrls r2, [r6, #4]
31401 bls .L11026
31402 ldr r2, [r6, #4]
31403 cmp r2, #0
31404 beq .L11016
31405 ands r3, r2, #255
31406 ldrne ip, [sp, #28]
31407 orrne r3, ip, r3
31408 strne r3, [r4, #12]
31409 mov r3, r2, lsr #8
31410 ands r3, r3, #255
31411 ldrne lr, [sp, #28]
31412 orrne r3, lr, r3
31413 strne r3, [r4, #8]
31414 mov r3, r2, lsr #16
31415 ands r3, r3, #255
31416 ldrne r1, [sp, #28]
31417 orrne r3, r1, r3
31418 strne r3, [r4, #4]
31419 movs r3, r2, lsr #24
31420 ldrne r2, [sp, #28]
31421 orrne r3, r2, r3
31422 strne r3, [r4, #0]
31423.L11016:
31424 subs r0, r0, #4
31425 ldr r2, [r6, #0]
31426 addne r4, r4, #16
31427 beq .L10373
31428.L11026:
31429 mov r1, #0
31430.L11027:
31431 ldr r5, [sp, #28]
31432 movs r3, r2, lsr #24
31433 orr r3, r5, r3
31434 strne r3, [r4, r1, asl #2]
31435 add r1, r1, #1
31436 cmp r0, r1
31437 mov r2, r2, asl #8
31438 bhi .L11027
31439 b .L10373
31440.L11201:
31441 .align 2
31442.L11200:
31443 .word io_registers
31444 .word obj_priority_count
31445 .word obj_priority_list
31446 .word oam_ram
31447 .word obj_height_table
31448 .word obj_width_table
31449 .word vram+65536
31450 .word vram+65472
31451 .word vram+65600
31452.L11175:
31453 ldr lr, [sp, #12]
31454 rsb r1, r6, lr
31455 rsb lr, r1, r8
31456 cmp lr, #0
31457 ble .L10373
31458 ldr r0, [sp, #8]
31459 add r3, r6, r8
31460 cmp r0, r3
31461 bhi .L10709
31462 mov r3, r1, lsr #3
31463 ands r0, r1, #7
31464 add r6, ip, r3, asl #6
31465 bne .L10711
31466 ldr r5, [sp, #92]
31467 ldr r4, [sp, #68]
31468.L10713:
31469 movs lr, r5, lsr #3
31470 beq .L10771
31471 mov r1, r4
31472 mov r0, r6
31473 mov ip, #0
31474.L10773:
31475 ldr r2, [r0, #0]
31476 cmp r2, #0
31477 beq .L10774
31478 ands r3, r2, #255
31479 ldrne r7, [sp, #28]
31480 orrne r3, r7, r3
31481 strne r3, [r1, #0]
31482 mov r3, r2, lsr #8
31483 ands r3, r3, #255
31484 ldrne r8, [sp, #28]
31485 orrne r3, r8, r3
31486 strne r3, [r1, #4]
31487 mov r3, r2, lsr #16
31488 ands r3, r3, #255
31489 ldrne r7, [sp, #28]
31490 orrne r3, r7, r3
31491 strne r3, [r1, #8]
31492 movs r3, r2, lsr #24
31493 ldrne r8, [sp, #28]
31494 orrne r3, r8, r3
31495 strne r3, [r1, #12]
31496.L10774:
31497 ldr r2, [r0, #4]
31498 cmp r2, #0
31499 beq .L10783
31500 ands r3, r2, #255
31501 ldrne r7, [sp, #28]
31502 orrne r3, r7, r3
31503 strne r3, [r1, #16]
31504 mov r3, r2, lsr #8
31505 ands r3, r3, #255
31506 ldrne r8, [sp, #28]
31507 orrne r3, r8, r3
31508 strne r3, [r1, #20]
31509 mov r3, r2, lsr #16
31510 ands r3, r3, #255
31511 ldrne r7, [sp, #28]
31512 orrne r3, r7, r3
31513 strne r3, [r1, #24]
31514 movs r3, r2, lsr #24
31515 ldrne r8, [sp, #28]
31516 orrne r3, r8, r3
31517 strne r3, [r1, #28]
31518.L10783:
31519 add ip, ip, #1
31520 cmp lr, ip
31521 add r0, r0, #64
31522 add r1, r1, #32
31523 bne .L10773
31524 add r6, r6, lr, asl #6
31525 add r4, r4, lr, asl #5
31526.L10771:
31527 ands r0, r5, #7
31528 beq .L10373
31529 cmp r0, #3
31530 ldrls r1, [r6, #0]
31531 bls .L10806
31532 ldr r2, [r6, #0]
31533 cmp r2, #0
31534 beq .L10796
31535 ands r3, r2, #255
31536 ldrne ip, [sp, #28]
31537 orrne r3, ip, r3
31538 strne r3, [r4, #0]
31539 mov r3, r2, lsr #8
31540 ands r3, r3, #255
31541 ldrne lr, [sp, #28]
31542 orrne r3, lr, r3
31543 strne r3, [r4, #4]
31544 mov r3, r2, lsr #16
31545 ands r3, r3, #255
31546 ldrne r1, [sp, #28]
31547 orrne r3, r1, r3
31548 strne r3, [r4, #8]
31549 movs r3, r2, lsr #24
31550 ldrne r2, [sp, #28]
31551 orrne r3, r2, r3
31552 strne r3, [r4, #12]
31553.L10796:
31554 subs r0, r0, #4
31555 ldr r1, [r6, #4]
31556 addne r4, r4, #16
31557 beq .L10373
31558.L10806:
31559 mov r2, #0
31560.L10807:
31561 ldr r5, [sp, #28]
31562 ands r3, r1, #255
31563 orr r3, r5, r3
31564 strne r3, [r4, r2, asl #2]
31565 add r2, r2, #1
31566 cmp r0, r2
31567 mov r1, r1, lsr #8
31568 bhi .L10807
31569 b .L10373
31570.L11174:
31571 rsb r4, r6, ip
31572 rsb ip, r4, r8
31573 cmp ip, #0
31574 ble .L10373
31575 ldr lr, [sp, #8]
31576 add r3, r6, r8
31577 cmp lr, r3
31578 bhi .L10579
31579 mov r3, r4, lsr #3
31580 ands lr, r4, #7
31581 sub r0, r0, r3, asl #5
31582 bne .L10581
31583 ldr r2, [sp, #92]
31584 ldr ip, [sp, #68]
31585.L10583:
31586 movs r7, r2, lsr #3
31587 beq .L10600
31588 mov r5, ip
31589 mov lr, r0
31590 mov r6, #0
31591.L10602:
31592 ldr r4, [lr, #0]
31593 cmp r4, #0
31594 beq .L10603
31595 ands r3, r4, #15
31596 ldrne r8, [sp, #28]
31597 orrne r3, r8, r3
31598 orrne r3, r1, r3
31599 strne r3, [r5, #28]
31600 mov r3, r4, lsr #4
31601 ands r3, r3, #15
31602 ldrne r8, [sp, #28]
31603 orrne r3, r8, r3
31604 orrne r3, r1, r3
31605 strne r3, [r5, #24]
31606 mov r3, r4, lsr #8
31607 ands r3, r3, #15
31608 ldrne r8, [sp, #28]
31609 orrne r3, r8, r3
31610 orrne r3, r1, r3
31611 strne r3, [r5, #20]
31612 mov r3, r4, lsr #12
31613 ands r3, r3, #15
31614 ldrne r8, [sp, #28]
31615 orrne r3, r8, r3
31616 orrne r3, r1, r3
31617 strne r3, [r5, #16]
31618 mov r3, r4, lsr #16
31619 ands r3, r3, #15
31620 ldrne r8, [sp, #28]
31621 orrne r3, r8, r3
31622 orrne r3, r1, r3
31623 strne r3, [r5, #12]
31624 mov r3, r4, lsr #20
31625 ands r3, r3, #15
31626 ldrne r8, [sp, #28]
31627 orrne r3, r8, r3
31628 orrne r3, r1, r3
31629 strne r3, [r5, #8]
31630 mov r3, r4, lsr #24
31631 ands r3, r3, #15
31632 ldrne r8, [sp, #28]
31633 orrne r3, r8, r3
31634 orrne r3, r1, r3
31635 strne r3, [r5, #4]
31636 movs r3, r4, lsr #28
31637 ldrne r4, [sp, #28]
31638 orrne r3, r4, r3
31639 orrne r3, r1, r3
31640 strne r3, [r5, #0]
31641.L10603:
31642 add r6, r6, #1
31643 cmp r6, r7
31644 sub lr, lr, #32
31645 add r5, r5, #32
31646 bne .L10602
31647 rsb r3, r7, r7, asl #27
31648 add r0, r0, r3, asl #5
31649 add ip, ip, r7, asl #5
31650.L10600:
31651 ands lr, r2, #7
31652 beq .L10373
31653 ldr r0, [r0, #0]
31654 mov r2, #0
31655.L10622:
31656 ldr r5, [sp, #28]
31657 movs r3, r0, lsr #28
31658 orr r3, r5, r3
31659 orr r3, r1, r3
31660 strne r3, [ip, r2, asl #2]
31661 add r2, r2, #1
31662 cmp r2, lr
31663 mov r0, r0, asl #4
31664 bne .L10622
31665 b .L10373
31666.L11173:
31667 ldr r5, [sp, #12]
31668 rsb r4, r6, r5
31669 rsb r5, r4, r8
31670 cmp r5, #0
31671 ble .L10373
31672 add r3, r6, r8
31673 ldr r6, [sp, #8]
31674 cmp r6, r3
31675 bhi .L10449
31676 mov r3, r4, lsr #3
31677 mov r2, r3, asl #5
31678 ands r3, r4, #7
31679 add r5, r0, r2
31680 bne .L10451
31681 ldr r7, [sp, #92]
31682 ldr r6, [sp, #68]
31683.L10453:
31684 movs r4, r7, lsr #3
31685 beq .L10470
31686 mov ip, r6
31687 mov r0, r5
31688 mov lr, #0
31689.L10472:
31690 ldr r2, [r0, #0]
31691 cmp r2, #0
31692 beq .L10473
31693 ands r3, r2, #15
31694 ldrne r8, [sp, #28]
31695 orrne r3, r8, r3
31696 orrne r3, r1, r3
31697 strne r3, [ip, #0]
31698 mov r3, r2, lsr #4
31699 ands r3, r3, #15
31700 ldrne r8, [sp, #28]
31701 orrne r3, r8, r3
31702 orrne r3, r1, r3
31703 strne r3, [ip, #4]
31704 mov r3, r2, lsr #8
31705 ands r3, r3, #15
31706 ldrne r8, [sp, #28]
31707 orrne r3, r8, r3
31708 orrne r3, r1, r3
31709 strne r3, [ip, #8]
31710 mov r3, r2, lsr #12
31711 ands r3, r3, #15
31712 ldrne r8, [sp, #28]
31713 orrne r3, r8, r3
31714 orrne r3, r1, r3
31715 strne r3, [ip, #12]
31716 mov r3, r2, lsr #16
31717 ands r3, r3, #15
31718 ldrne r8, [sp, #28]
31719 orrne r3, r8, r3
31720 orrne r3, r1, r3
31721 strne r3, [ip, #16]
31722 mov r3, r2, lsr #20
31723 ands r3, r3, #15
31724 ldrne r8, [sp, #28]
31725 orrne r3, r8, r3
31726 orrne r3, r1, r3
31727 strne r3, [ip, #20]
31728 mov r3, r2, lsr #24
31729 ands r3, r3, #15
31730 ldrne r8, [sp, #28]
31731 orrne r3, r8, r3
31732 orrne r3, r1, r3
31733 strne r3, [ip, #24]
31734 movs r3, r2, lsr #28
31735 ldrne r2, [sp, #28]
31736 orrne r3, r2, r3
31737 orrne r3, r1, r3
31738 strne r3, [ip, #28]
31739.L10473:
31740 add lr, lr, #1
31741 cmp r4, lr
31742 add r0, r0, #32
31743 add ip, ip, #32
31744 bne .L10472
31745 mov r3, r4, asl #5
31746 add r5, r5, r3
31747 add r6, r6, r3
31748.L10470:
31749 ands ip, r7, #7
31750 beq .L10373
31751 ldr r2, [r5, #0]
31752 mov r0, #0
31753.L10492:
31754 ldr r4, [sp, #28]
31755 ands r3, r2, #15
31756 orr r3, r4, r3
31757 orr r3, r1, r3
31758 strne r3, [r6, r0, asl #2]
31759 add r0, r0, #1
31760 cmp r0, ip
31761 mov r2, r2, lsr #4
31762 bne .L10492
31763 b .L10373
31764.L11198:
31765 mov r6, #0
31766.L10395:
31767 cmp r4, sl
31768 movcc r3, #0
31769 movcs r3, #1
31770 cmp r8, ip
31771 orrls r3, r3, #1
31772 cmp r3, #0
31773 beq .L11161
31774 b .L10373
31775.L10396:
31776 cmp r4, sl
31777 cmpcc ip, r8
31778 bcs .L10373
31779.L11161:
31780 ldr r1, [sp, #48]
31781 and r3, r4, #7
31782 mov r2, ip, asr #3
31783 mov r3, r3, asl #3
31784 add r5, r5, r1
31785 add r3, r3, r2, asl #6
31786 mov r1, r4, asr #3
31787 ldr r2, [sp, #84]
31788 add r3, r3, r1, asl #10
31789 and r0, ip, #7
31790 add r3, r3, r2
31791 ldrb r2, [r3, r0] @ zero_extendqisi2
31792 ldr r0, [sp, #28]
31793 cmp r2, #0
31794 add r6, r6, #1
31795 orr r3, r0, r2
31796 strne r3, [r7, #0]
31797 add lr, lr, fp
31798 cmp r9, r6
31799 mov r4, lr, asr #8
31800 mov ip, r5, asr #8
31801 add r7, r7, #4
31802 bgt .L10396
31803 b .L10373
31804.L10657:
31805 cmp r8, #0
31806 add r3, r8, #7
31807 movge r3, r8
31808 movs lr, r3, asr #3
31809 beq .L10373
31810 ldr r7, [sp, #4]
31811 mov ip, #0
31812 add r2, r7, r6, asl #2
31813 b .L10687
31814.L11182:
31815 sub r0, r0, #32
31816 add r2, r2, #32
31817.L10687:
31818 ldr r4, [r0, #0]
31819 cmp r4, #0
31820 beq .L10688
31821 ands r3, r4, #15
31822 ldrne r8, [sp, #28]
31823 orrne r3, r8, r3
31824 orrne r3, r1, r3
31825 strne r3, [r2, #28]
31826 mov r3, r4, lsr #4
31827 ands r3, r3, #15
31828 ldrne r5, [sp, #28]
31829 orrne r3, r5, r3
31830 orrne r3, r1, r3
31831 strne r3, [r2, #24]
31832 mov r3, r4, lsr #8
31833 ands r3, r3, #15
31834 ldrne r6, [sp, #28]
31835 orrne r3, r6, r3
31836 orrne r3, r1, r3
31837 strne r3, [r2, #20]
31838 mov r3, r4, lsr #12
31839 ands r3, r3, #15
31840 ldrne r7, [sp, #28]
31841 orrne r3, r7, r3
31842 orrne r3, r1, r3
31843 strne r3, [r2, #16]
31844 mov r3, r4, lsr #16
31845 ands r3, r3, #15
31846 ldrne r8, [sp, #28]
31847 orrne r3, r8, r3
31848 orrne r3, r1, r3
31849 strne r3, [r2, #12]
31850 mov r3, r4, lsr #20
31851 ands r3, r3, #15
31852 ldrne r5, [sp, #28]
31853 orrne r3, r5, r3
31854 orrne r3, r1, r3
31855 strne r3, [r2, #8]
31856 mov r3, r4, lsr #24
31857 ands r3, r3, #15
31858 ldrne r6, [sp, #28]
31859 orrne r3, r6, r3
31860 orrne r3, r1, r3
31861 strne r3, [r2, #4]
31862 movs r3, r4, lsr #28
31863 ldrne r7, [sp, #28]
31864 orrne r3, r7, r3
31865 orrne r3, r1, r3
31866 strne r3, [r2, #0]
31867.L10688:
31868 add ip, ip, #1
31869 cmp lr, ip
31870 bne .L11182
31871 b .L10373
31872.L11082:
31873 cmp r8, #0
31874 add r3, r8, #7
31875 movge r3, r8
31876 movs lr, r3, asr #3
31877 beq .L10373
31878 ldr r5, [sp, #4]
31879 ldr r3, .L11200+28
31880 add r2, r5, r6, asl #2
31881 add r0, r0, r3
31882 mov r1, #0
31883 b .L11126
31884.L11183:
31885 sub ip, ip, #64
31886 add r2, r2, #32
31887.L11126:
31888 ldr r4, [r0, #68]
31889 cmp r4, #0
31890 beq .L11127
31891 ands r3, r4, #255
31892 ldrne r6, [sp, #28]
31893 orrne r3, r6, r3
31894 strne r3, [r2, #12]
31895 mov r3, r4, lsr #8
31896 ands r3, r3, #255
31897 ldrne r7, [sp, #28]
31898 orrne r3, r7, r3
31899 strne r3, [r2, #8]
31900 mov r3, r4, lsr #16
31901 ands r3, r3, #255
31902 ldrne r8, [sp, #28]
31903 orrne r3, r8, r3
31904 strne r3, [r2, #4]
31905 movs r3, r4, lsr #24
31906 ldrne r4, [sp, #28]
31907 orrne r3, r4, r3
31908 strne r3, [r2, #0]
31909.L11127:
31910 ldr r4, [ip, #0]
31911 cmp r4, #0
31912 beq .L11136
31913 ands r3, r4, #255
31914 ldrne r5, [sp, #28]
31915 orrne r3, r5, r3
31916 strne r3, [r2, #28]
31917 mov r3, r4, lsr #8
31918 ands r3, r3, #255
31919 ldrne r6, [sp, #28]
31920 orrne r3, r6, r3
31921 strne r3, [r2, #24]
31922 mov r3, r4, lsr #16
31923 ands r3, r3, #255
31924 ldrne r7, [sp, #28]
31925 orrne r3, r7, r3
31926 strne r3, [r2, #20]
31927 movs r3, r4, lsr #24
31928 ldrne r8, [sp, #28]
31929 orrne r3, r8, r3
31930 strne r3, [r2, #16]
31931.L11136:
31932 add r1, r1, #1
31933 cmp lr, r1
31934 sub r0, r0, #64
31935 bne .L11183
31936 b .L10373
31937.L10527:
31938 cmp r8, #0
31939 add r3, r8, #7
31940 movge r3, r8
31941 movs lr, r3, asr #3
31942 beq .L10373
31943 ldr r7, [sp, #4]
31944 mov ip, #0
31945 add r2, r7, r6, asl #2
31946 b .L10557
31947.L11184:
31948 add r0, r0, #32
31949 add r2, r2, #32
31950.L10557:
31951 ldr r4, [r0, #0]
31952 cmp r4, #0
31953 beq .L10558
31954 ands r3, r4, #15
31955 ldrne r8, [sp, #28]
31956 orrne r3, r8, r3
31957 orrne r3, r1, r3
31958 strne r3, [r2, #0]
31959 mov r3, r4, lsr #4
31960 ands r3, r3, #15
31961 ldrne r5, [sp, #28]
31962 orrne r3, r5, r3
31963 orrne r3, r1, r3
31964 strne r3, [r2, #4]
31965 mov r3, r4, lsr #8
31966 ands r3, r3, #15
31967 ldrne r6, [sp, #28]
31968 orrne r3, r6, r3
31969 orrne r3, r1, r3
31970 strne r3, [r2, #8]
31971 mov r3, r4, lsr #12
31972 ands r3, r3, #15
31973 ldrne r7, [sp, #28]
31974 orrne r3, r7, r3
31975 orrne r3, r1, r3
31976 strne r3, [r2, #12]
31977 mov r3, r4, lsr #16
31978 ands r3, r3, #15
31979 ldrne r8, [sp, #28]
31980 orrne r3, r8, r3
31981 orrne r3, r1, r3
31982 strne r3, [r2, #16]
31983 mov r3, r4, lsr #20
31984 ands r3, r3, #15
31985 ldrne r5, [sp, #28]
31986 orrne r3, r5, r3
31987 orrne r3, r1, r3
31988 strne r3, [r2, #20]
31989 mov r3, r4, lsr #24
31990 ands r3, r3, #15
31991 ldrne r6, [sp, #28]
31992 orrne r3, r6, r3
31993 orrne r3, r1, r3
31994 strne r3, [r2, #24]
31995 movs r3, r4, lsr #28
31996 ldrne r7, [sp, #28]
31997 orrne r3, r7, r3
31998 orrne r3, r1, r3
31999 strne r3, [r2, #28]
32000.L10558:
32001 add ip, ip, #1
32002 cmp lr, ip
32003 bne .L11184
32004 b .L10373
32005.L10862:
32006 cmp r8, #0
32007 add r3, r8, #7
32008 movge r3, r8
32009 movs lr, r3, asr #3
32010 beq .L10373
32011 ldr r1, [sp, #4]
32012 ldr r3, .L11200+32
32013 add r2, r1, r6, asl #2
32014 add r0, r0, r3
32015 mov r1, #0
32016 b .L10906
32017.L11185:
32018 add ip, ip, #64
32019 add r2, r2, #32
32020.L10906:
32021 ldr r4, [ip, #0]
32022 cmp r4, #0
32023 beq .L10907
32024 ands r3, r4, #255
32025 ldrne r5, [sp, #28]
32026 orrne r3, r5, r3
32027 strne r3, [r2, #0]
32028 mov r3, r4, lsr #8
32029 ands r3, r3, #255
32030 ldrne r6, [sp, #28]
32031 orrne r3, r6, r3
32032 strne r3, [r2, #4]
32033 mov r3, r4, lsr #16
32034 ands r3, r3, #255
32035 ldrne r7, [sp, #28]
32036 orrne r3, r7, r3
32037 strne r3, [r2, #8]
32038 movs r3, r4, lsr #24
32039 ldrne r8, [sp, #28]
32040 orrne r3, r8, r3
32041 strne r3, [r2, #12]
32042.L10907:
32043 ldr r4, [r0, #-60]
32044 cmp r4, #0
32045 beq .L10916
32046 ands r3, r4, #255
32047 ldrne r5, [sp, #28]
32048 orrne r3, r5, r3
32049 strne r3, [r2, #16]
32050 mov r3, r4, lsr #8
32051 ands r3, r3, #255
32052 ldrne r6, [sp, #28]
32053 orrne r3, r6, r3
32054 strne r3, [r2, #20]
32055 mov r3, r4, lsr #16
32056 ands r3, r3, #255
32057 ldrne r7, [sp, #28]
32058 orrne r3, r7, r3
32059 strne r3, [r2, #24]
32060 movs r3, r4, lsr #24
32061 ldrne r8, [sp, #28]
32062 orrne r3, r8, r3
32063 strne r3, [r2, #28]
32064.L10916:
32065 add r1, r1, #1
32066 cmp lr, r1
32067 add r0, r0, #64
32068 bne .L11185
32069 b .L10373
32070.L10709:
32071 mov r3, r1, lsr #3
32072 ands r2, r1, #7
32073 add r0, ip, r3, asl #6
32074 ldreq r1, [sp, #68]
32075 beq .L10813
32076 cmp r2, #3
32077 rsb ip, r2, #8
32078 bhi .L11186
32079 subs r4, ip, #4
32080 ldr r1, [r0, #0]
32081 ldreq r1, [sp, #68]
32082 beq .L10826
32083 mov r3, r2, asl #3
32084 mov r2, r1, lsr r3
32085 mov r1, #0
32086.L10827:
32087 ands r3, r2, #255
32088 ldr r5, [sp, #28]
32089 ldrne r6, [sp, #68]
32090 orr r3, r5, r3
32091 strne r3, [r6, r1, asl #2]
32092 add r1, r1, #1
32093 cmp r1, r4
32094 mov r2, r2, lsr #8
32095 bne .L10827
32096 ldr r7, [sp, #68]
32097 add r3, r7, ip, asl #2
32098 sub r1, r3, #16
32099.L10826:
32100 ldr r2, [r0, #4]
32101 cmp r2, #0
32102 beq .L10832
32103 ands r3, r2, #255
32104 ldrne r8, [sp, #28]
32105 orrne r3, r8, r3
32106 strne r3, [r1, #0]
32107 mov r3, r2, lsr #8
32108 ands r3, r3, #255
32109 ldrne ip, [sp, #28]
32110 orrne r3, ip, r3
32111 strne r3, [r1, #4]
32112 mov r3, r2, lsr #16
32113 ands r3, r3, #255
32114 ldrne r4, [sp, #28]
32115 orrne r3, r4, r3
32116 strne r3, [r1, #8]
32117 movs r3, r2, lsr #24
32118 ldrne r5, [sp, #28]
32119 orrne r3, r5, r3
32120 strne r3, [r1, #12]
32121.L10832:
32122 add r1, r1, #16
32123.L10818:
32124 add r0, r0, #64
32125.L10813:
32126 movs lr, lr, lsr #3
32127 beq .L10373
32128 mov ip, #0
32129 b .L10842
32130.L11187:
32131 add r0, r0, #64
32132 add r1, r1, #32
32133.L10842:
32134 ldr r2, [r0, #0]
32135 cmp r2, #0
32136 beq .L10843
32137 ands r3, r2, #255
32138 ldrne r6, [sp, #28]
32139 orrne r3, r6, r3
32140 strne r3, [r1, #0]
32141 mov r3, r2, lsr #8
32142 ands r3, r3, #255
32143 ldrne r7, [sp, #28]
32144 orrne r3, r7, r3
32145 strne r3, [r1, #4]
32146 mov r3, r2, lsr #16
32147 ands r3, r3, #255
32148 ldrne r8, [sp, #28]
32149 orrne r3, r8, r3
32150 strne r3, [r1, #8]
32151 movs r3, r2, lsr #24
32152 ldrne r2, [sp, #28]
32153 orrne r3, r2, r3
32154 strne r3, [r1, #12]
32155.L10843:
32156 ldr r2, [r0, #4]
32157 cmp r2, #0
32158 beq .L10852
32159 ands r3, r2, #255
32160 ldrne r4, [sp, #28]
32161 orrne r3, r4, r3
32162 strne r3, [r1, #16]
32163 mov r3, r2, lsr #8
32164 ands r3, r3, #255
32165 ldrne r5, [sp, #28]
32166 orrne r3, r5, r3
32167 strne r3, [r1, #20]
32168 mov r3, r2, lsr #16
32169 ands r3, r3, #255
32170 ldrne r6, [sp, #28]
32171 orrne r3, r6, r3
32172 strne r3, [r1, #24]
32173 movs r3, r2, lsr #24
32174 ldrne r7, [sp, #28]
32175 orrne r3, r7, r3
32176 strne r3, [r1, #28]
32177.L10852:
32178 add ip, ip, #1
32179 cmp lr, ip
32180 bne .L11187
32181 b .L10373
32182.L10579:
32183 ands r2, r4, #7
32184 mov r3, r4, lsr #3
32185 sub r0, r0, r3, asl #5
32186 ldreq r5, [sp, #68]
32187 beq .L10628
32188 rsbs r5, r2, #8
32189 ldr lr, [r0, #0]
32190 ldreq r5, [sp, #68]
32191 beq .L10631
32192 mov r3, r2, asl #2
32193 mov r4, lr, asl r3
32194 mov lr, #0
32195.L10632:
32196 ldr r6, [sp, #28]
32197 movs r3, r4, lsr #28
32198 ldrne r7, [sp, #68]
32199 orr r3, r6, r3
32200 orr r3, r1, r3
32201 strne r3, [r7, lr, asl #2]
32202 add lr, lr, #1
32203 cmp r5, lr
32204 mov r4, r4, asl #4
32205 bne .L10632
32206 ldr r8, [sp, #68]
32207 add r5, r8, r5, asl #2
32208.L10631:
32209 sub r0, r0, #32
32210.L10628:
32211 movs ip, ip, lsr #3
32212 beq .L10373
32213 mov r2, #0
32214 b .L10638
32215.L11188:
32216 sub r0, r0, #32
32217 add r5, r5, #32
32218.L10638:
32219 ldr r4, [r0, #0]
32220 cmp r4, #0
32221 beq .L10639
32222 ands r3, r4, #15
32223 ldrne lr, [sp, #28]
32224 orrne r3, lr, r3
32225 orrne r3, r1, r3
32226 strne r3, [r5, #28]
32227 mov r3, r4, lsr #4
32228 ands r3, r3, #15
32229 ldrne r6, [sp, #28]
32230 orrne r3, r6, r3
32231 orrne r3, r1, r3
32232 strne r3, [r5, #24]
32233 mov r3, r4, lsr #8
32234 ands r3, r3, #15
32235 ldrne r7, [sp, #28]
32236 orrne r3, r7, r3
32237 orrne r3, r1, r3
32238 strne r3, [r5, #20]
32239 mov r3, r4, lsr #12
32240 ands r3, r3, #15
32241 ldrne r8, [sp, #28]
32242 orrne r3, r8, r3
32243 orrne r3, r1, r3
32244 strne r3, [r5, #16]
32245 mov r3, r4, lsr #16
32246 ands r3, r3, #15
32247 ldrne lr, [sp, #28]
32248 orrne r3, lr, r3
32249 orrne r3, r1, r3
32250 strne r3, [r5, #12]
32251 mov r3, r4, lsr #20
32252 ands r3, r3, #15
32253 ldrne r6, [sp, #28]
32254 orrne r3, r6, r3
32255 orrne r3, r1, r3
32256 strne r3, [r5, #8]
32257 mov r3, r4, lsr #24
32258 ands r3, r3, #15
32259 ldrne r7, [sp, #28]
32260 orrne r3, r7, r3
32261 orrne r3, r1, r3
32262 strne r3, [r5, #4]
32263 movs r3, r4, lsr #28
32264 ldrne r8, [sp, #28]
32265 orrne r3, r8, r3
32266 orrne r3, r1, r3
32267 strne r3, [r5, #0]
32268.L10639:
32269 add r2, r2, #1
32270 cmp r2, ip
32271 bne .L11188
32272 b .L10373
32273.L10929:
32274 ands r0, r1, #7
32275 mov r3, r1, lsr #3
32276 sub r2, ip, r3, asl #6
32277 ldreq r0, [sp, #68]
32278 beq .L11033
32279 cmp r0, #3
32280 rsb ip, r0, #8
32281 bhi .L11189
32282 subs r4, ip, #4
32283 ldr r1, [r2, #4]
32284 ldreq r0, [sp, #68]
32285 beq .L11046
32286 mov r3, r0, asl #3
32287 sub r3, r3, #32
32288 mov r1, r1, asl r3
32289 mov r0, #0
32290.L11047:
32291 movs r3, r1, lsr #24
32292 ldr r5, [sp, #28]
32293 ldrne r6, [sp, #68]
32294 orr r3, r5, r3
32295 strne r3, [r6, r0, asl #2]
32296 add r0, r0, #1
32297 cmp r4, r0
32298 mov r1, r1, asl #8
32299 bne .L11047
32300 ldr r7, [sp, #68]
32301 add r3, r7, ip, asl #2
32302 sub r0, r3, #16
32303.L11046:
32304 ldr r1, [r2, #0]
32305 cmp r1, #0
32306 beq .L11052
32307 ands r3, r1, #255
32308 ldrne r8, [sp, #28]
32309 orrne r3, r8, r3
32310 strne r3, [r0, #12]
32311 mov r3, r1, lsr #8
32312 ands r3, r3, #255
32313 ldrne ip, [sp, #28]
32314 orrne r3, ip, r3
32315 strne r3, [r0, #8]
32316 mov r3, r1, lsr #16
32317 ands r3, r3, #255
32318 ldrne r4, [sp, #28]
32319 orrne r3, r4, r3
32320 strne r3, [r0, #4]
32321 movs r3, r1, lsr #24
32322 ldrne r5, [sp, #28]
32323 orrne r3, r5, r3
32324 strne r3, [r0, #0]
32325.L11052:
32326 add r0, r0, #16
32327.L11038:
32328 sub r2, r2, #64
32329.L11033:
32330 movs lr, lr, lsr #3
32331 beq .L10373
32332 mov ip, #0
32333 b .L11062
32334.L11190:
32335 sub r2, r2, #64
32336 add r0, r0, #32
32337.L11062:
32338 ldr r1, [r2, #4]
32339 cmp r1, #0
32340 beq .L11063
32341 ands r3, r1, #255
32342 ldrne r6, [sp, #28]
32343 orrne r3, r6, r3
32344 strne r3, [r0, #12]
32345 mov r3, r1, lsr #8
32346 ands r3, r3, #255
32347 ldrne r7, [sp, #28]
32348 orrne r3, r7, r3
32349 strne r3, [r0, #8]
32350 mov r3, r1, lsr #16
32351 ands r3, r3, #255
32352 ldrne r8, [sp, #28]
32353 orrne r3, r8, r3
32354 strne r3, [r0, #4]
32355 movs r3, r1, lsr #24
32356 ldrne r1, [sp, #28]
32357 orrne r3, r1, r3
32358 strne r3, [r0, #0]
32359.L11063:
32360 ldr r1, [r2, #0]
32361 cmp r1, #0
32362 beq .L11072
32363 ands r3, r1, #255
32364 ldrne r4, [sp, #28]
32365 orrne r3, r4, r3
32366 strne r3, [r0, #28]
32367 mov r3, r1, lsr #8
32368 ands r3, r3, #255
32369 ldrne r5, [sp, #28]
32370 orrne r3, r5, r3
32371 strne r3, [r0, #24]
32372 mov r3, r1, lsr #16
32373 ands r3, r3, #255
32374 ldrne r6, [sp, #28]
32375 orrne r3, r6, r3
32376 strne r3, [r0, #20]
32377 movs r3, r1, lsr #24
32378 ldrne r7, [sp, #28]
32379 orrne r3, r7, r3
32380 strne r3, [r0, #16]
32381.L11072:
32382 add ip, ip, #1
32383 cmp ip, lr
32384 bne .L11190
32385 b .L10373
32386.L10449:
32387 mov r3, r4, lsr #3
32388 mov r2, r3, asl #5
32389 ands r3, r4, #7
32390 add lr, r0, r2
32391 ldreq ip, [sp, #68]
32392 beq .L10498
32393 rsbs r4, r3, #8
32394 ldr r0, [r0, r2]
32395 ldreq ip, [sp, #68]
32396 beq .L10501
32397 mov r3, r3, asl #2
32398 mov r0, r0, lsr r3
32399 mov r2, #0
32400.L10502:
32401 ldr r6, [sp, #28]
32402 ands r3, r0, #15
32403 ldrne r7, [sp, #68]
32404 orr r3, r6, r3
32405 orr r3, r1, r3
32406 strne r3, [r7, r2, asl #2]
32407 add r2, r2, #1
32408 cmp r2, r4
32409 mov r0, r0, lsr #4
32410 bne .L10502
32411 ldr r8, [sp, #68]
32412 add ip, r8, r4, asl #2
32413.L10501:
32414 add lr, lr, #32
32415.L10498:
32416 movs r4, r5, lsr #3
32417 beq .L10373
32418 mov r0, #0
32419 b .L10508
32420.L11191:
32421 add lr, lr, #32
32422 add ip, ip, #32
32423.L10508:
32424 ldr r2, [lr, #0]
32425 cmp r2, #0
32426 beq .L10509
32427 ands r3, r2, #15
32428 ldrne r5, [sp, #28]
32429 orrne r3, r5, r3
32430 orrne r3, r1, r3
32431 strne r3, [ip, #0]
32432 mov r3, r2, lsr #4
32433 ands r3, r3, #15
32434 ldrne r6, [sp, #28]
32435 orrne r3, r6, r3
32436 orrne r3, r1, r3
32437 strne r3, [ip, #4]
32438 mov r3, r2, lsr #8
32439 ands r3, r3, #15
32440 ldrne r7, [sp, #28]
32441 orrne r3, r7, r3
32442 orrne r3, r1, r3
32443 strne r3, [ip, #8]
32444 mov r3, r2, lsr #12
32445 ands r3, r3, #15
32446 ldrne r8, [sp, #28]
32447 orrne r3, r8, r3
32448 orrne r3, r1, r3
32449 strne r3, [ip, #12]
32450 mov r3, r2, lsr #16
32451 ands r3, r3, #15
32452 ldrne r5, [sp, #28]
32453 orrne r3, r5, r3
32454 orrne r3, r1, r3
32455 strne r3, [ip, #16]
32456 mov r3, r2, lsr #20
32457 ands r3, r3, #15
32458 ldrne r6, [sp, #28]
32459 orrne r3, r6, r3
32460 orrne r3, r1, r3
32461 strne r3, [ip, #20]
32462 mov r3, r2, lsr #24
32463 ands r3, r3, #15
32464 ldrne r7, [sp, #28]
32465 orrne r3, r7, r3
32466 orrne r3, r1, r3
32467 strne r3, [ip, #24]
32468 movs r3, r2, lsr #28
32469 ldrne r8, [sp, #28]
32470 orrne r3, r8, r3
32471 orrne r3, r1, r3
32472 strne r3, [ip, #28]
32473.L10509:
32474 add r0, r0, #1
32475 cmp r0, r4
32476 bne .L11191
32477 b .L10373
32478.L10711:
32479 ldr r1, [sp, #92]
32480 rsb ip, r0, #8
32481 cmp r1, ip
32482 blt .L11192
32483 cmp r0, #3
32484 bls .L10744
32485 cmp ip, #0
32486 ldr r2, [r6, #4]
32487 ldreq r4, [sp, #68]
32488 beq .L10748
32489 mov r3, r0, asl #3
32490 sub r3, r3, #32
32491 mov r1, r2, lsr r3
32492 mov r2, #0
32493.L10749:
32494 ands r3, r1, #255
32495 ldr r8, [sp, #28]
32496 ldrne lr, [sp, #68]
32497 orr r3, r8, r3
32498 strne r3, [lr, r2, asl #2]
32499 add r2, r2, #1
32500 cmp ip, r2
32501 mov r1, r1, lsr #8
32502 bne .L10749
32503 ldr r0, [sp, #68]
32504 add r4, r0, ip, asl #2
32505.L10748:
32506 ldr r3, [sp, #92]
32507 add r6, r6, #64
32508 rsb r5, ip, r3
32509 b .L10713
32510.L10581:
32511 ldr r2, [sp, #92]
32512 rsb r5, lr, #8
32513 cmp r2, r5
32514 blt .L11193
32515 cmp r5, #0
32516 ldr r2, [r0, #0]
32517 ldreq ip, [sp, #68]
32518 beq .L10594
32519 mov r3, lr, asl #2
32520 mov r4, r2, asl r3
32521 mov lr, #0
32522.L10595:
32523 ldr r7, [sp, #28]
32524 movs r3, r4, lsr #28
32525 ldrne r8, [sp, #68]
32526 orr r3, r7, r3
32527 orr r3, r1, r3
32528 strne r3, [r8, lr, asl #2]
32529 add lr, lr, #1
32530 cmp r5, lr
32531 mov r4, r4, asl #4
32532 bne .L10595
32533 ldr lr, [sp, #68]
32534 add ip, lr, r5, asl #2
32535.L10594:
32536 ldr r3, [sp, #92]
32537 sub r0, r0, #32
32538 rsb r2, r5, r3
32539 b .L10583
32540.L10451:
32541 ldr r7, [sp, #92]
32542 rsb lr, r3, #8
32543 cmp r7, lr
32544 blt .L11194
32545 cmp lr, #0
32546 ldr r2, [r5, #0]
32547 ldreq r6, [sp, #68]
32548 beq .L10464
32549 mov r3, r3, asl #2
32550 mov r2, r2, lsr r3
32551 mov r0, #0
32552.L10465:
32553 ldr r4, [sp, #28]
32554 ands r3, r2, #15
32555 ldrne r6, [sp, #68]
32556 orr r3, r4, r3
32557 orr r3, r1, r3
32558 strne r3, [r6, r0, asl #2]
32559 add r0, r0, #1
32560 cmp lr, r0
32561 mov r2, r2, lsr #4
32562 bne .L10465
32563 ldr r7, [sp, #68]
32564 add r6, r7, lr, asl #2
32565.L10464:
32566 ldr r8, [sp, #92]
32567 add r5, r5, #32
32568 rsb r7, lr, r8
32569 b .L10453
32570.L10931:
32571 ldr r1, [sp, #92]
32572 rsb ip, r0, #8
32573 cmp r1, ip
32574 blt .L11195
32575 cmp r0, #3
32576 bls .L10964
32577 cmp ip, #0
32578 ldr r2, [r6, #0]
32579 ldreq r4, [sp, #68]
32580 beq .L10968
32581 mov r3, r0, asl #3
32582 sub r3, r3, #32
32583 mov r2, r2, asl r3
32584 mov r1, #0
32585.L10969:
32586 movs r3, r2, lsr #24
32587 ldr r8, [sp, #28]
32588 ldrne lr, [sp, #68]
32589 orr r3, r8, r3
32590 strne r3, [lr, r1, asl #2]
32591 add r1, r1, #1
32592 cmp ip, r1
32593 mov r2, r2, asl #8
32594 bne .L10969
32595 ldr r0, [sp, #68]
32596 add r4, r0, ip, asl #2
32597.L10968:
32598 ldr r3, [sp, #92]
32599 sub r6, r6, #64
32600 rsb r5, ip, r3
32601 b .L10933
32602.L11195:
32603 cmp r1, #0
32604 ble .L10373
32605 cmp r0, #3
32606 bls .L10937
32607 ldr r2, [r6, #0]
32608 mov r3, r0, asl #3
32609 sub r3, r3, #32
32610 mov r2, r2, asl r3
32611 mov r1, #0
32612.L10940:
32613 movs r3, r2, lsr #24
32614 ldr r4, [sp, #28]
32615 ldrne r5, [sp, #68]
32616 orr r3, r4, r3
32617 ldr r6, [sp, #92]
32618 strne r3, [r5, r1, asl #2]
32619 add r1, r1, #1
32620 cmp r6, r1
32621 mov r2, r2, asl #8
32622 bne .L10940
32623 b .L10373
32624.L11194:
32625 cmp r7, #0
32626 ble .L10373
32627 ldr r2, [r0, r2]
32628 mov r3, r3, asl #2
32629 mov r0, r2, lsr r3
32630 mov r2, #0
32631.L10458:
32632 ldr r8, [sp, #28]
32633 ands r3, r0, #15
32634 ldrne ip, [sp, #68]
32635 orr r3, r8, r3
32636 orr r3, r1, r3
32637 ldr lr, [sp, #92]
32638 strne r3, [ip, r2, asl #2]
32639 add r2, r2, #1
32640 cmp lr, r2
32641 mov r0, r0, lsr #4
32642 bne .L10458
32643 b .L10373
32644.L11193:
32645 cmp r2, #0
32646 ble .L10373
32647 ldr r2, [r0, #0]
32648 mov r3, lr, asl #2
32649 mov r0, r2, asl r3
32650 mov r2, #0
32651.L10588:
32652 ldr r4, [sp, #28]
32653 movs r3, r0, lsr #28
32654 ldrne r5, [sp, #68]
32655 orr r3, r4, r3
32656 orr r3, r1, r3
32657 ldr r6, [sp, #92]
32658 strne r3, [r5, r2, asl #2]
32659 add r2, r2, #1
32660 cmp r6, r2
32661 mov r0, r0, asl #4
32662 bne .L10588
32663 b .L10373
32664.L11189:
32665 cmp ip, #0
32666 ldr r1, [r2, #0]
32667 ldreq r0, [sp, #68]
32668 beq .L11038
32669 mov r3, r0, asl #3
32670 sub r3, r3, #32
32671 mov r1, r1, asl r3
32672 mov r0, #0
32673.L11039:
32674 movs r3, r1, lsr #24
32675 ldr r6, [sp, #28]
32676 ldrne r7, [sp, #68]
32677 orr r3, r6, r3
32678 strne r3, [r7, r0, asl #2]
32679 add r0, r0, #1
32680 cmp r0, ip
32681 mov r1, r1, asl #8
32682 bne .L11039
32683 ldr r8, [sp, #68]
32684 sub r2, r2, #64
32685 add r0, r8, ip, asl #2
32686 b .L11033
32687.L11186:
32688 cmp ip, #0
32689 ldr r1, [r0, #4]
32690 ldreq r1, [sp, #68]
32691 beq .L10818
32692 mov r3, r2, asl #3
32693 sub r3, r3, #32
32694 mov r2, r1, lsr r3
32695 mov r1, #0
32696.L10819:
32697 ands r3, r2, #255
32698 ldr r6, [sp, #28]
32699 ldrne r7, [sp, #68]
32700 orr r3, r6, r3
32701 strne r3, [r7, r1, asl #2]
32702 add r1, r1, #1
32703 cmp r1, ip
32704 mov r2, r2, lsr #8
32705 bne .L10819
32706 ldr r8, [sp, #68]
32707 add r0, r0, #64
32708 add r1, r8, ip, asl #2
32709 b .L10813
32710.L11192:
32711 cmp r1, #0
32712 ble .L10373
32713 cmp r0, #3
32714 bls .L10717
32715 ldr r2, [r6, #4]
32716 mov r3, r0, asl #3
32717 sub r3, r3, #32
32718 mov r1, r2, lsr r3
32719 mov r2, #0
32720.L10720:
32721 ands r3, r1, #255
32722 ldr r4, [sp, #28]
32723 ldrne r5, [sp, #68]
32724 orr r3, r4, r3
32725 ldr r6, [sp, #92]
32726 strne r3, [r5, r2, asl #2]
32727 add r2, r2, #1
32728 cmp r6, r2
32729 mov r1, r1, lsr #8
32730 bne .L10720
32731 b .L10373
32732.L11199:
32733 mov r6, #0
32734 b .L10431
32735.L10964:
32736 subs lr, ip, #4
32737 ldr r2, [r6, #4]
32738 ldreq r1, [sp, #68]
32739 beq .L10976
32740 mov r3, r0, asl #3
32741 sub r3, r3, #32
32742 mov r2, r2, asl r3
32743 mov r1, #0
32744.L10977:
32745 movs r3, r2, lsr #24
32746 ldr r4, [sp, #28]
32747 ldrne r5, [sp, #68]
32748 orr r3, r4, r3
32749 strne r3, [r5, r1, asl #2]
32750 add r1, r1, #1
32751 cmp lr, r1
32752 mov r2, r2, asl #8
32753 bne .L10977
32754 ldr r7, [sp, #68]
32755 add r3, r7, ip, asl #2
32756 sub r1, r3, #16
32757.L10976:
32758 ldr r2, [r6, #0]
32759 cmp r2, #0
32760 beq .L10982
32761 ands r3, r2, #255
32762 ldrne r8, [sp, #28]
32763 orrne r3, r8, r3
32764 strne r3, [r1, #12]
32765 mov r3, r2, lsr #8
32766 ands r3, r3, #255
32767 ldrne lr, [sp, #28]
32768 orrne r3, lr, r3
32769 strne r3, [r1, #8]
32770 mov r3, r2, lsr #16
32771 ands r3, r3, #255
32772 ldrne r0, [sp, #28]
32773 orrne r3, r0, r3
32774 strne r3, [r1, #4]
32775 movs r3, r2, lsr #24
32776 ldrne r2, [sp, #28]
32777 orrne r3, r2, r3
32778 strne r3, [r1, #0]
32779.L10982:
32780 add r4, r1, #16
32781 b .L10968
32782.L10744:
32783 subs lr, ip, #4
32784 ldr r2, [r6, #0]
32785 ldreq r1, [sp, #68]
32786 beq .L10756
32787 mov r3, r0, asl #3
32788 mov r1, r2, lsr r3
32789 mov r2, #0
32790.L10757:
32791 ands r3, r1, #255
32792 ldr r4, [sp, #28]
32793 ldrne r5, [sp, #68]
32794 orr r3, r4, r3
32795 strne r3, [r5, r2, asl #2]
32796 add r2, r2, #1
32797 cmp r2, lr
32798 mov r1, r1, lsr #8
32799 bne .L10757
32800 ldr r7, [sp, #68]
32801 add r3, r7, ip, asl #2
32802 sub r1, r3, #16
32803.L10756:
32804 ldr r2, [r6, #4]
32805 cmp r2, #0
32806 beq .L10762
32807 ands r3, r2, #255
32808 ldrne r8, [sp, #28]
32809 orrne r3, r8, r3
32810 strne r3, [r1, #0]
32811 mov r3, r2, lsr #8
32812 ands r3, r3, #255
32813 ldrne lr, [sp, #28]
32814 orrne r3, lr, r3
32815 strne r3, [r1, #4]
32816 mov r3, r2, lsr #16
32817 ands r3, r3, #255
32818 ldrne r0, [sp, #28]
32819 orrne r3, r0, r3
32820 strne r3, [r1, #8]
32821 movs r3, r2, lsr #24
32822 ldrne r2, [sp, #28]
32823 orrne r3, r2, r3
32824 strne r3, [r1, #12]
32825.L10762:
32826 add r4, r1, #16
32827 b .L10748
32828.L11197:
32829 ldr r5, [sp, #20]
32830 b .L11162
32831.L11196:
32832 mov ip, fp
32833 b .L11160
32834.L10937:
32835 ldr r7, [sp, #92]
32836 mov r3, r0, asl #3
32837 ldr r1, [r6, #4]
32838 add r2, r7, r0
32839 sub r3, r3, #32
32840 cmp r2, #4
32841 mov r1, r1, asl r3
32842 bhi .L10944
32843 cmp r7, #0
32844 movne r2, #0
32845 beq .L10373
32846.L10960:
32847 movs r3, r1, lsr #24
32848 ldr r5, [sp, #28]
32849 ldrne r6, [sp, #68]
32850 orr r3, r5, r3
32851 ldr r7, [sp, #92]
32852 strne r3, [r6, r2, asl #2]
32853 add r2, r2, #1
32854 cmp r7, r2
32855 mov r1, r1, asl #8
32856 bne .L10960
32857 b .L10373
32858.L10717:
32859 ldr r7, [sp, #92]
32860 ldr r3, [r6, #0]
32861 add r2, r7, r0
32862 cmp r2, #4
32863 mov r1, r0, asl #3
32864 mov r2, r3, lsr r1
32865 bhi .L10724
32866 cmp r7, #0
32867 movne r1, #0
32868 beq .L10373
32869.L10740:
32870 ands r3, r2, #255
32871 ldr r5, [sp, #28]
32872 ldrne r6, [sp, #68]
32873 orr r3, r5, r3
32874 ldr r7, [sp, #92]
32875 strne r3, [r6, r1, asl #2]
32876 add r1, r1, #1
32877 cmp r7, r1
32878 mov r2, r2, lsr #8
32879 bne .L10740
32880 b .L10373
32881.L10944:
32882 rsbs r0, r0, #4
32883 ldreq ip, [sp, #68]
32884 beq .L10949
32885 mov r2, #0
32886.L10950:
32887 movs r3, r1, lsr #24
32888 ldr r8, [sp, #28]
32889 ldrne ip, [sp, #68]
32890 orr r3, r8, r3
32891 strne r3, [ip, r2, asl #2]
32892 add r2, r2, #1
32893 cmp r2, r0
32894 mov r1, r1, asl #8
32895 bne .L10950
32896 ldr lr, [sp, #68]
32897 add ip, lr, r0, asl #2
32898.L10949:
32899 ldr r1, [sp, #92]
32900 ldr r2, [r6, #0]
32901 subs r0, r1, r0
32902 beq .L10373
32903 mov r1, #0
32904.L10956:
32905 ldr r4, [sp, #28]
32906 movs r3, r2, lsr #24
32907 orr r3, r4, r3
32908 strne r3, [ip, r1, asl #2]
32909 add r1, r1, #1
32910 cmp r1, r0
32911 mov r2, r2, asl #8
32912 bne .L10956
32913 b .L10373
32914.L10724:
32915 rsbs r0, r0, #4
32916 ldreq ip, [sp, #68]
32917 beq .L10729
32918 mov r1, #0
32919.L10730:
32920 ands r3, r2, #255
32921 ldr r8, [sp, #28]
32922 ldrne ip, [sp, #68]
32923 orr r3, r8, r3
32924 strne r3, [ip, r1, asl #2]
32925 add r1, r1, #1
32926 cmp r1, r0
32927 mov r2, r2, lsr #8
32928 bne .L10730
32929 ldr lr, [sp, #68]
32930 add ip, lr, r0, asl #2
32931.L10729:
32932 ldr r1, [sp, #92]
32933 ldr r2, [r6, #4]
32934 subs r0, r1, r0
32935 beq .L10373
32936 mov r1, #0
32937.L10736:
32938 ldr r4, [sp, #28]
32939 ands r3, r2, #255
32940 orr r3, r4, r3
32941 strne r3, [ip, r1, asl #2]
32942 add r1, r1, #1
32943 cmp r1, r0
32944 mov r2, r2, lsr #8
32945 bne .L10736
32946 b .L10373
32947 .size render_scanline_obj_color32_2D, .-render_scanline_obj_color32_2D
32948 .align 2
32949 .global render_scanline_obj_alpha_obj_1D
32950 .type render_scanline_obj_alpha_obj_1D, %function
32951render_scanline_obj_alpha_obj_1D:
32952 @ args = 0, pretend = 0, frame = 96
32953 @ frame_needed = 0, uses_anonymous_args = 0
32954 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
32955 ldr r5, .L12434
32956 sub sp, sp, #96
32957 ldrh lr, [r5, #80]
32958 mov r4, r0
32959 mov ip, lr, lsr #11
32960 and ip, ip, #2
32961 mov lr, lr, asl #27
32962 orr ip, ip, lr, lsr #31
32963 mov ip, ip, asl #9
32964 orr ip, ip, #256
32965 tst ip, #512
32966 str r1, [sp, #8]
32967 str ip, [sp, #20]
32968 str r2, [sp, #4]
32969 str r3, [sp, #0]
32970 beq .L12407
32971 ldrh r5, [r5, #6]
32972 add r3, r0, r0, asl #2
32973 ldr r2, .L12434+4
32974 add r3, r5, r3, asl #5
32975 ldr r2, [r2, r3, asl #2]
32976 str r5, [sp, #32]
32977 str r2, [sp, #36]
32978 cmp r2, #0
32979 ldr r2, .L12434+8
32980 add r3, r2, r3, asl #7
32981 str r3, [sp, #40]
32982 beq .L12381
32983 ldr r1, [sp, #8]
32984 ldmia sp, {r0, r2} @ phole ldm
32985 mov r3, #0
32986 add r0, r0, r1, asl #2
32987 rsb r2, r1, r2
32988 str r0, [sp, #68]
32989 str r2, [sp, #92]
32990 str r3, [sp, #24]
32991 mov r4, r3
32992.L11207:
32993 ldr r5, [sp, #40]
32994 ldr r6, .L12434+20
32995 ldrb r3, [r4, r5] @ zero_extendqisi2
32996 ldr r8, .L12434+12
32997 mov r3, r3, asl #3
32998 ldrh lr, [r3, r6]
32999 add r3, r3, r6
33000 ldrh r4, [r3, #2]
33001 and r0, lr, #255
33002 mov r5, lr, lsr #12
33003 and r2, r5, #12
33004 cmp r0, #160
33005 ldrh r3, [r3, #4]
33006 ldr sl, .L12434+16
33007 orr r1, r2, r4, lsr #14
33008 subgt r0, r0, #256
33009 mov r2, r4, asl #23
33010 tst lr, #256
33011 str r3, [sp, #28]
33012 mov r6, r2, asr #23
33013 ldr r7, [r8, r1, asl #2]
33014 ldr r9, [sl, r1, asl #2]
33015 beq .L11210
33016 tst lr, #8192
33017 beq .L11212
33018 ldr fp, .L12434+20
33019 mov r3, r4, lsr #4
33020 add r2, r7, r7, lsr #31
33021 and r3, r3, #992
33022 tst lr, #512
33023 add r3, r3, fp
33024 mov lr, r2, asr #1
33025 add r1, r9, r9, lsr #31
33026 ldr r2, [sp, #8]
33027 mov r4, r1, asr #1
33028 ldrh sl, [r3, #30]
33029 ldrh r5, [r3, #6]
33030 ldrh r1, [r3, #14]
33031 ldrh r3, [r3, #22]
33032 moveq r8, r7
33033 moveq fp, lr
33034 moveq ip, r4
33035 movne r8, r7, asl #1
33036 movne fp, lr, asl #1
33037 movne ip, r4, asl #1
33038 cmp r6, r2
33039 str r3, [sp, #12]
33040 bge .L11217
33041 rsb r2, r6, r2
33042 rsb r8, r2, r8
33043 cmp r8, #0
33044 ble .L11219
33045 ldr r6, [sp, #8]
33046 rsb fp, r2, fp
33047.L11217:
33048 ldr r2, [sp, #4]
33049 add r3, r6, r8
33050 cmp r3, r2
33051 blt .L11221
33052 rsb r8, r6, r2
33053 cmp r8, #0
33054 ble .L11219
33055.L11221:
33056 mov r3, r5, asl #16
33057 mov r2, r1, asl #16
33058 ldr r5, [sp, #12]
33059 mov r1, sl, asl #16
33060 mov lr, lr, asl #8
33061 add r0, r0, ip
33062 str lr, [sp, #80]
33063 mov ip, r1, asr #16
33064 ldr lr, [sp, #0]
33065 ldr r1, [sp, #32]
33066 cmp r5, #0
33067 mov r2, r2, asr #16
33068 add r5, lr, r6, asl #2
33069 mov sl, r3, asr #16
33070 str r2, [sp, #44]
33071 mov r4, r4, asl #8
33072 rsb lr, r0, r1
33073 bne .L11223
33074 mla r3, lr, ip, r4
33075 mov r0, r3, asr #8
33076 cmp r0, r9
33077 bcs .L11219
33078 cmp r7, #0
33079 ldr r4, [sp, #28]
33080 add r3, r7, #7
33081 movge r3, r7
33082 mov r3, r3, asr #3
33083 mov r2, r4, asl #22
33084 mov r3, r3, asl #1
33085 mov r1, r0, lsr #3
33086 mov r2, r2, lsr #22
33087 mla ip, r3, r1, r2
33088 and r0, r0, #7
33089 ldr r3, .L12434+24
33090 add r0, r0, ip, asl #2
33091 cmp r8, #0
33092 add r6, r3, r0, asl #3
33093 ble .L11219
33094 ldr r3, [sp, #44]
33095 mul r2, sl, fp
33096 mul r3, lr, r3
33097 ldr r9, [sp, #80]
33098 rsb r3, r2, r3
33099 add r0, r9, r3
33100 mov r2, r0, asr #8
33101 cmp r7, r2
33102 ldrls lr, [sp, #12]
33103 bls .L11229
33104 b .L12431
33105.L11230:
33106 cmp r7, r2
33107 bhi .L12395
33108.L11229:
33109 add lr, lr, #1
33110 add r0, r0, sl
33111 cmp r8, lr
33112 mov r2, r0, asr #8
33113 add r5, r5, #4
33114 bne .L11230
33115.L11219:
33116 ldr r9, [sp, #24]
33117 ldr sl, [sp, #36]
33118 add r9, r9, #1
33119 cmp r9, sl
33120 str r9, [sp, #24]
33121 beq .L12381
33122 ldr r4, [sp, #24]
33123 b .L11207
33124.L11210:
33125 ldr r1, [sp, #32]
33126 tst r4, #8192
33127 rsb ip, r0, r1
33128 rsbne r3, ip, r9
33129 subne ip, r3, #1
33130 mov r2, r4, asl #19
33131 and r3, r5, #2
33132 orr r3, r3, r2, lsr #31
33133 cmp r3, #3
33134 ldrls pc, [pc, r3, asl #2]
33135 b .L11219
33136 .p2align 2
33137.L11300:
33138 .word .L11296
33139 .word .L11297
33140 .word .L11298
33141 .word .L11299
33142.L11296:
33143 ldr r4, [sp, #28]
33144 cmp r7, #0
33145 add r3, r7, #7
33146 mov r2, r4, asl #22
33147 movge r3, r7
33148 mov r5, r3, asr #3
33149 mov r2, r2, lsr #22
33150 mov r3, ip, lsr #3
33151 mla r0, r5, r3, r2
33152 ldr r8, [sp, #8]
33153 and r1, ip, #7
33154 ldr r3, .L12434+24
33155 add r1, r1, r0, asl #3
33156 cmp r6, r8
33157 mov r2, r4, lsr #8
33158 add r0, r3, r1, asl #2
33159 and r8, r2, #240
33160 bge .L11301
33161 ldr r9, [sp, #8]
33162 rsb lr, r6, r9
33163 rsb r5, lr, r7
33164 cmp r5, #0
33165 ble .L11219
33166 ldr sl, [sp, #4]
33167 add r3, r6, r7
33168 cmp sl, r3
33169 bhi .L11304
33170 mov r3, lr, lsr #3
33171 mov r1, r3, asl #5
33172 ands r3, lr, #7
33173 add r6, r0, r1
33174 bne .L11306
33175 ldr sl, [sp, #92]
33176 ldr r4, [sp, #68]
33177.L11308:
33178 movs r7, sl, lsr #3
33179 beq .L11329
33180 mov r0, r4
33181 mov lr, r6
33182 mov r5, #0
33183.L11331:
33184 ldr r1, [lr, #0]
33185 cmp r1, #0
33186 beq .L11332
33187 ands r3, r1, #15
33188 beq .L11334
33189 ldr r2, [r0, #0]
33190 orr ip, r8, r3
33191 tst r2, #256
33192 ldrne r9, [sp, #20]
33193 ldreq fp, [sp, #20]
33194 movne r3, r2, lsr #16
33195 movne r3, r3, asl #16
33196 orreq r3, fp, ip
33197 orrne r2, r9, ip
33198 orrne r3, r3, r2
33199 orreq r3, r3, r2, asl #16
33200 strne r3, [r0, #0]
33201 streq r3, [r0, #0]
33202.L11334:
33203 mov r3, r1, lsr #4
33204 ands r3, r3, #15
33205 beq .L11338
33206 ldr r2, [r0, #4]
33207 orr ip, r8, r3
33208 tst r2, #256
33209 ldrne r9, [sp, #20]
33210 ldreq fp, [sp, #20]
33211 movne r3, r2, lsr #16
33212 movne r3, r3, asl #16
33213 orreq r3, fp, ip
33214 orrne r2, r9, ip
33215 orrne r3, r3, r2
33216 orreq r3, r3, r2, asl #16
33217 strne r3, [r0, #4]
33218 streq r3, [r0, #4]
33219.L11338:
33220 mov r3, r1, lsr #8
33221 ands r3, r3, #15
33222 beq .L11342
33223 ldr r2, [r0, #8]
33224 orr ip, r8, r3
33225 tst r2, #256
33226 ldrne r9, [sp, #20]
33227 ldreq fp, [sp, #20]
33228 movne r3, r2, lsr #16
33229 movne r3, r3, asl #16
33230 orreq r3, fp, ip
33231 orrne r2, r9, ip
33232 orrne r3, r3, r2
33233 orreq r3, r3, r2, asl #16
33234 strne r3, [r0, #8]
33235 streq r3, [r0, #8]
33236.L11342:
33237 mov r3, r1, lsr #12
33238 ands r3, r3, #15
33239 beq .L11346
33240 ldr r2, [r0, #12]
33241 orr ip, r8, r3
33242 tst r2, #256
33243 ldrne r9, [sp, #20]
33244 ldreq fp, [sp, #20]
33245 movne r3, r2, lsr #16
33246 movne r3, r3, asl #16
33247 orreq r3, fp, ip
33248 orrne r2, r9, ip
33249 orrne r3, r3, r2
33250 orreq r3, r3, r2, asl #16
33251 strne r3, [r0, #12]
33252 streq r3, [r0, #12]
33253.L11346:
33254 mov r3, r1, lsr #16
33255 ands r3, r3, #15
33256 beq .L11350
33257 ldr r2, [r0, #16]
33258 orr ip, r8, r3
33259 tst r2, #256
33260 ldrne r9, [sp, #20]
33261 ldreq fp, [sp, #20]
33262 movne r3, r2, lsr #16
33263 movne r3, r3, asl #16
33264 orreq r3, fp, ip
33265 orrne r2, r9, ip
33266 orrne r3, r3, r2
33267 orreq r3, r3, r2, asl #16
33268 strne r3, [r0, #16]
33269 streq r3, [r0, #16]
33270.L11350:
33271 mov r3, r1, lsr #20
33272 ands r3, r3, #15
33273 beq .L11354
33274 ldr r2, [r0, #20]
33275 orr ip, r8, r3
33276 tst r2, #256
33277 ldrne r9, [sp, #20]
33278 ldreq fp, [sp, #20]
33279 movne r3, r2, lsr #16
33280 movne r3, r3, asl #16
33281 orreq r3, fp, ip
33282 orrne r2, r9, ip
33283 orrne r3, r3, r2
33284 orreq r3, r3, r2, asl #16
33285 strne r3, [r0, #20]
33286 streq r3, [r0, #20]
33287.L11354:
33288 mov r3, r1, lsr #24
33289 ands r3, r3, #15
33290 beq .L11358
33291 ldr r2, [r0, #24]
33292 orr ip, r8, r3
33293 tst r2, #256
33294 ldrne r9, [sp, #20]
33295 ldreq fp, [sp, #20]
33296 movne r3, r2, lsr #16
33297 movne r3, r3, asl #16
33298 orreq r3, fp, ip
33299 orrne r2, r9, ip
33300 orrne r3, r3, r2
33301 orreq r3, r3, r2, asl #16
33302 strne r3, [r0, #24]
33303 streq r3, [r0, #24]
33304.L11358:
33305 movs r3, r1, lsr #28
33306 beq .L11332
33307 ldr r2, [r0, #28]
33308 orr r1, r8, r3
33309 tst r2, #256
33310 ldrne ip, [sp, #20]
33311 ldreq r9, [sp, #20]
33312 movne r3, r2, lsr #16
33313 movne r3, r3, asl #16
33314 orreq r3, r9, r1
33315 orrne r2, ip, r1
33316 orrne r3, r3, r2
33317 orreq r3, r3, r2, asl #16
33318 strne r3, [r0, #28]
33319 streq r3, [r0, #28]
33320.L11332:
33321 add r5, r5, #1
33322 cmp r5, r7
33323 add lr, lr, #32
33324 add r0, r0, #32
33325 bne .L11331
33326 mov r3, r7, asl #5
33327 add r6, r6, r3
33328 add r4, r4, r3
33329.L11329:
33330 ands r5, sl, #7
33331 beq .L11219
33332 ldr ip, [r6, #0]
33333 mov lr, #0
33334.L11367:
33335 ands r3, ip, #15
33336 beq .L11368
33337 ldr r1, [r4, #0]
33338 ldr sl, [sp, #20]
33339 orr r2, r8, r3
33340 mov r3, r1, lsr #16
33341 orr r0, sl, r2
33342 mov r3, r3, asl #16
33343 orr r2, sl, r2
33344 tst r1, #256
33345 orr r3, r3, r0
33346 orr r2, r2, r1, asl #16
33347 strne r3, [r4, #0]
33348 streq r2, [r4, #0]
33349.L11368:
33350 add lr, lr, #1
33351 cmp r5, lr
33352 mov ip, ip, lsr #4
33353 add r4, r4, #4
33354 bne .L11367
33355 b .L11219
33356.L11297:
33357 ldr r5, [sp, #28]
33358 cmp r7, #0
33359 add r3, r7, #7
33360 mov r2, r5, asl #22
33361 movge r3, r7
33362 mov r5, r3, asr #3
33363 mov r2, r2, lsr #22
33364 mov r1, ip, lsr #3
33365 mla r0, r5, r1, r2
33366 subs r3, r7, #8
33367 submi r3, r7, #1
33368 ldr r8, [sp, #8]
33369 ldr r9, [sp, #28]
33370 add r0, r0, r3, asr #3
33371 and r2, ip, #7
33372 ldr r3, .L12434+24
33373 add r2, r2, r0, asl #3
33374 cmp r6, r8
33375 mov r1, r9, lsr #8
33376 add r0, r3, r2, asl #2
33377 and r8, r1, #240
33378 bge .L11505
33379 ldr sl, [sp, #8]
33380 rsb lr, r6, sl
33381 rsb sl, lr, r7
33382 cmp sl, #0
33383 ble .L11219
33384 ldr fp, [sp, #4]
33385 add r3, r6, r7
33386 cmp fp, r3
33387 bhi .L11508
33388 mov r3, lr, lsr #3
33389 ands r4, lr, #7
33390 sub ip, r0, r3, asl #5
33391 bne .L11510
33392 ldr sl, [sp, #92]
33393 ldr r5, [sp, #68]
33394.L11512:
33395 movs r7, sl, lsr #3
33396 beq .L11533
33397 mov r0, r5
33398 mov r4, ip
33399 mov r6, #0
33400.L11535:
33401 ldr r1, [r4, #0]
33402 cmp r1, #0
33403 beq .L11536
33404 ands r3, r1, #15
33405 beq .L11538
33406 ldr r2, [r0, #28]
33407 orr lr, r8, r3
33408 tst r2, #256
33409 ldrne r9, [sp, #20]
33410 ldreq fp, [sp, #20]
33411 movne r3, r2, lsr #16
33412 movne r3, r3, asl #16
33413 orreq r3, fp, lr
33414 orrne r2, r9, lr
33415 orrne r3, r3, r2
33416 orreq r3, r3, r2, asl #16
33417 strne r3, [r0, #28]
33418 streq r3, [r0, #28]
33419.L11538:
33420 mov r3, r1, lsr #4
33421 ands r3, r3, #15
33422 beq .L11542
33423 ldr r2, [r0, #24]
33424 orr lr, r8, r3
33425 tst r2, #256
33426 ldrne r9, [sp, #20]
33427 ldreq fp, [sp, #20]
33428 movne r3, r2, lsr #16
33429 movne r3, r3, asl #16
33430 orreq r3, fp, lr
33431 orrne r2, r9, lr
33432 orrne r3, r3, r2
33433 orreq r3, r3, r2, asl #16
33434 strne r3, [r0, #24]
33435 streq r3, [r0, #24]
33436.L11542:
33437 mov r3, r1, lsr #8
33438 ands r3, r3, #15
33439 beq .L11546
33440 ldr r2, [r0, #20]
33441 orr lr, r8, r3
33442 tst r2, #256
33443 ldrne r9, [sp, #20]
33444 ldreq fp, [sp, #20]
33445 movne r3, r2, lsr #16
33446 movne r3, r3, asl #16
33447 orreq r3, fp, lr
33448 orrne r2, r9, lr
33449 orrne r3, r3, r2
33450 orreq r3, r3, r2, asl #16
33451 strne r3, [r0, #20]
33452 streq r3, [r0, #20]
33453.L11546:
33454 mov r3, r1, lsr #12
33455 ands r3, r3, #15
33456 beq .L11550
33457 ldr r2, [r0, #16]
33458 orr lr, r8, r3
33459 tst r2, #256
33460 ldrne r9, [sp, #20]
33461 ldreq fp, [sp, #20]
33462 movne r3, r2, lsr #16
33463 movne r3, r3, asl #16
33464 orreq r3, fp, lr
33465 orrne r2, r9, lr
33466 orrne r3, r3, r2
33467 orreq r3, r3, r2, asl #16
33468 strne r3, [r0, #16]
33469 streq r3, [r0, #16]
33470.L11550:
33471 mov r3, r1, lsr #16
33472 ands r3, r3, #15
33473 beq .L11554
33474 ldr r2, [r0, #12]
33475 orr lr, r8, r3
33476 tst r2, #256
33477 ldrne r9, [sp, #20]
33478 ldreq fp, [sp, #20]
33479 movne r3, r2, lsr #16
33480 movne r3, r3, asl #16
33481 orreq r3, fp, lr
33482 orrne r2, r9, lr
33483 orrne r3, r3, r2
33484 orreq r3, r3, r2, asl #16
33485 strne r3, [r0, #12]
33486 streq r3, [r0, #12]
33487.L11554:
33488 mov r3, r1, lsr #20
33489 ands r3, r3, #15
33490 beq .L11558
33491 ldr r2, [r0, #8]
33492 orr lr, r8, r3
33493 tst r2, #256
33494 ldrne r9, [sp, #20]
33495 ldreq fp, [sp, #20]
33496 movne r3, r2, lsr #16
33497 movne r3, r3, asl #16
33498 orreq r3, fp, lr
33499 orrne r2, r9, lr
33500 orrne r3, r3, r2
33501 orreq r3, r3, r2, asl #16
33502 strne r3, [r0, #8]
33503 streq r3, [r0, #8]
33504.L11558:
33505 mov r3, r1, lsr #24
33506 ands r3, r3, #15
33507 beq .L11562
33508 ldr r2, [r0, #4]
33509 orr lr, r8, r3
33510 tst r2, #256
33511 ldrne r9, [sp, #20]
33512 ldreq fp, [sp, #20]
33513 movne r3, r2, lsr #16
33514 movne r3, r3, asl #16
33515 orreq r3, fp, lr
33516 orrne r2, r9, lr
33517 orrne r3, r3, r2
33518 orreq r3, r3, r2, asl #16
33519 strne r3, [r0, #4]
33520 streq r3, [r0, #4]
33521.L11562:
33522 movs r3, r1, lsr #28
33523 beq .L11536
33524 ldr r2, [r0, #0]
33525 orr r1, r8, r3
33526 tst r2, #256
33527 ldrne lr, [sp, #20]
33528 ldreq r9, [sp, #20]
33529 movne r3, r2, lsr #16
33530 movne r3, r3, asl #16
33531 orreq r3, r9, r1
33532 orrne r2, lr, r1
33533 orrne r3, r3, r2
33534 orreq r3, r3, r2, asl #16
33535 strne r3, [r0, #0]
33536 streq r3, [r0, #0]
33537.L11536:
33538 add r6, r6, #1
33539 cmp r7, r6
33540 sub r4, r4, #32
33541 add r0, r0, #32
33542 bne .L11535
33543 rsb r3, r7, r7, asl #27
33544 add ip, ip, r3, asl #5
33545 add r5, r5, r7, asl #5
33546.L11533:
33547 ands r4, sl, #7
33548 beq .L11219
33549 ldr ip, [ip, #0]
33550 mov lr, #0
33551.L11571:
33552 movs r3, ip, lsr #28
33553 beq .L11572
33554 ldr r1, [r5, #0]
33555 ldr sl, [sp, #20]
33556 orr r2, r8, r3
33557 mov r3, r1, lsr #16
33558 orr r0, sl, r2
33559 mov r3, r3, asl #16
33560 orr r2, sl, r2
33561 tst r1, #256
33562 orr r3, r3, r0
33563 orr r2, r2, r1, asl #16
33564 strne r3, [r5, #0]
33565 streq r2, [r5, #0]
33566.L11572:
33567 add lr, lr, #1
33568 cmp r4, lr
33569 mov ip, ip, asl #4
33570 add r5, r5, #4
33571 bne .L11571
33572 b .L11219
33573.L11298:
33574 ldr r5, [sp, #28]
33575 cmp r7, #0
33576 add r3, r7, #7
33577 mov r2, ip, lsr #3
33578 movge r3, r7
33579 mov r1, r5, asl #22
33580 mov r4, r3, asr #3
33581 mov r2, r2, asl #1
33582 mov r1, r1, lsr #22
33583 mla r0, r2, r4, r1
33584 and r3, ip, #7
33585 add r3, r3, r0, asl #2
33586 ldr r8, [sp, #8]
33587 mov r0, r3, asl #3
33588 ldr r3, .L12434+24
33589 cmp r6, r8
33590 add ip, r0, r3
33591 bge .L11709
33592 rsb r0, r6, r8
33593 rsb r8, r0, r7
33594 cmp r8, #0
33595 ble .L11219
33596 ldr r9, [sp, #4]
33597 add r3, r6, r7
33598 cmp r9, r3
33599 bhi .L11712
33600 mov r3, r0, lsr #3
33601 ands lr, r0, #7
33602 add r7, ip, r3, asl #6
33603 bne .L11714
33604 ldr r6, [sp, #92]
33605 ldr r4, [sp, #68]
33606.L11716:
33607 movs r5, r6, lsr #3
33608 beq .L11794
33609 mov r1, r4
33610 mov ip, r7
33611 mov lr, #0
33612.L11796:
33613 ldr r2, [ip, #0]
33614 cmp r2, #0
33615 beq .L11797
33616 ands r0, r2, #255
33617 beq .L11799
33618 ldr r3, [r1, #0]
33619 tst r3, #256
33620 movne r3, r3, lsr #16
33621 ldrne r8, [sp, #20]
33622 ldreq r9, [sp, #20]
33623 movne r3, r3, asl #16
33624 orrne r3, r8, r3
33625 orreq r3, r9, r3, asl #16
33626 orrne r3, r0, r3
33627 orreq r3, r0, r3
33628 strne r3, [r1, #0]
33629 streq r3, [r1, #0]
33630.L11799:
33631 mov r3, r2, lsr #8
33632 ands r0, r3, #255
33633 beq .L11803
33634 ldr r3, [r1, #4]
33635 tst r3, #256
33636 movne r3, r3, lsr #16
33637 ldrne sl, [sp, #20]
33638 ldreq fp, [sp, #20]
33639 movne r3, r3, asl #16
33640 orrne r3, sl, r3
33641 orreq r3, fp, r3, asl #16
33642 orrne r3, r0, r3
33643 orreq r3, r0, r3
33644 strne r3, [r1, #4]
33645 streq r3, [r1, #4]
33646.L11803:
33647 mov r3, r2, lsr #16
33648 ands r0, r3, #255
33649 beq .L11807
33650 ldr r3, [r1, #8]
33651 tst r3, #256
33652 movne r3, r3, lsr #16
33653 ldrne r8, [sp, #20]
33654 ldreq r9, [sp, #20]
33655 movne r3, r3, asl #16
33656 orrne r3, r8, r3
33657 orreq r3, r9, r3, asl #16
33658 orrne r3, r0, r3
33659 orreq r3, r0, r3
33660 strne r3, [r1, #8]
33661 streq r3, [r1, #8]
33662.L11807:
33663 movs r0, r2, lsr #24
33664 beq .L11797
33665 ldr r2, [r1, #12]
33666 tst r2, #256
33667 ldrne sl, [sp, #20]
33668 ldreq fp, [sp, #20]
33669 movne r3, r2, lsr #16
33670 movne r3, r3, asl #16
33671 orreq r3, fp, r0
33672 orrne r2, sl, r0
33673 orrne r3, r3, r2
33674 orreq r3, r3, r2, asl #16
33675 strne r3, [r1, #12]
33676 streq r3, [r1, #12]
33677.L11797:
33678 ldr r2, [ip, #4]
33679 cmp r2, #0
33680 beq .L11814
33681 ands r0, r2, #255
33682 beq .L11816
33683 ldr r3, [r1, #16]
33684 tst r3, #256
33685 movne r3, r3, lsr #16
33686 ldrne r8, [sp, #20]
33687 ldreq r9, [sp, #20]
33688 movne r3, r3, asl #16
33689 orrne r3, r8, r3
33690 orreq r3, r9, r3, asl #16
33691 orrne r3, r0, r3
33692 orreq r3, r0, r3
33693 strne r3, [r1, #16]
33694 streq r3, [r1, #16]
33695.L11816:
33696 mov r3, r2, lsr #8
33697 ands r0, r3, #255
33698 beq .L11820
33699 ldr r3, [r1, #20]
33700 tst r3, #256
33701 movne r3, r3, lsr #16
33702 ldrne sl, [sp, #20]
33703 ldreq fp, [sp, #20]
33704 movne r3, r3, asl #16
33705 orrne r3, sl, r3
33706 orreq r3, fp, r3, asl #16
33707 orrne r3, r0, r3
33708 orreq r3, r0, r3
33709 strne r3, [r1, #20]
33710 streq r3, [r1, #20]
33711.L11820:
33712 mov r3, r2, lsr #16
33713 ands r0, r3, #255
33714 beq .L11824
33715 ldr r3, [r1, #24]
33716 tst r3, #256
33717 movne r3, r3, lsr #16
33718 ldrne r8, [sp, #20]
33719 ldreq r9, [sp, #20]
33720 movne r3, r3, asl #16
33721 orrne r3, r8, r3
33722 orreq r3, r9, r3, asl #16
33723 orrne r3, r0, r3
33724 orreq r3, r0, r3
33725 strne r3, [r1, #24]
33726 streq r3, [r1, #24]
33727.L11824:
33728 movs r2, r2, lsr #24
33729 beq .L11814
33730 ldr r3, [r1, #28]
33731 tst r3, #256
33732 movne r3, r3, lsr #16
33733 ldrne sl, [sp, #20]
33734 ldreq fp, [sp, #20]
33735 movne r3, r3, asl #16
33736 orrne r3, sl, r3
33737 orreq r3, fp, r3, asl #16
33738 orrne r3, r2, r3
33739 orreq r3, r2, r3
33740 strne r3, [r1, #28]
33741 streq r3, [r1, #28]
33742.L11814:
33743 add lr, lr, #1
33744 cmp lr, r5
33745 add ip, ip, #64
33746 add r1, r1, #32
33747 bne .L11796
33748 add r7, r7, r5, asl #6
33749 add r4, r4, r5, asl #5
33750.L11794:
33751 ands r5, r6, #7
33752 beq .L11219
33753 cmp r5, #3
33754 ldrls ip, [r7, #0]
33755 bls .L11853
33756 ldr r2, [r7, #0]
33757 cmp r2, #0
33758 beq .L11835
33759 ands r1, r2, #255
33760 beq .L11837
33761 ldr r3, [r4, #0]
33762 tst r3, #256
33763 movne r3, r3, lsr #16
33764 ldrne ip, [sp, #20]
33765 ldreq lr, [sp, #20]
33766 movne r3, r3, asl #16
33767 orrne r3, ip, r3
33768 orreq r3, lr, r3, asl #16
33769 orrne r3, r1, r3
33770 orreq r3, r1, r3
33771 strne r3, [r4, #0]
33772 streq r3, [r4, #0]
33773.L11837:
33774 mov r3, r2, lsr #8
33775 ands r1, r3, #255
33776 beq .L11841
33777 ldr r3, [r4, #4]
33778 tst r3, #256
33779 movne r3, r3, lsr #16
33780 ldrne r0, [sp, #20]
33781 ldreq r6, [sp, #20]
33782 movne r3, r3, asl #16
33783 orrne r3, r0, r3
33784 orreq r3, r6, r3, asl #16
33785 orrne r3, r1, r3
33786 orreq r3, r1, r3
33787 strne r3, [r4, #4]
33788 streq r3, [r4, #4]
33789.L11841:
33790 mov r3, r2, lsr #16
33791 ands r1, r3, #255
33792 beq .L11845
33793 ldr r3, [r4, #8]
33794 tst r3, #256
33795 movne r3, r3, lsr #16
33796 ldrne r8, [sp, #20]
33797 ldreq r9, [sp, #20]
33798 movne r3, r3, asl #16
33799 orrne r3, r8, r3
33800 orreq r3, r9, r3, asl #16
33801 orrne r3, r1, r3
33802 orreq r3, r1, r3
33803 strne r3, [r4, #8]
33804 streq r3, [r4, #8]
33805.L11845:
33806 movs r1, r2, lsr #24
33807 beq .L11835
33808 ldr r2, [r4, #12]
33809 tst r2, #256
33810 ldrne sl, [sp, #20]
33811 ldreq fp, [sp, #20]
33812 movne r3, r2, lsr #16
33813 movne r3, r3, asl #16
33814 orreq r3, fp, r1
33815 orrne r2, sl, r1
33816 orrne r3, r3, r2
33817 orreq r3, r3, r2, asl #16
33818 strne r3, [r4, #12]
33819 streq r3, [r4, #12]
33820.L11835:
33821 subs r5, r5, #4
33822 ldr ip, [r7, #4]
33823 addne r4, r4, #16
33824 beq .L11219
33825.L11853:
33826 mov lr, #0
33827.L11854:
33828 ands r3, ip, #255
33829 beq .L11855
33830 ldr r2, [r4, #0]
33831 ldr r0, [sp, #20]
33832 tst r2, #256
33833 orr r1, r0, r3
33834 orr r0, r0, r3
33835 mov r3, r2, lsr #16
33836 mov r3, r3, asl #16
33837 orr r3, r3, r1
33838 orr r1, r0, r2, asl #16
33839 strne r3, [r4, #0]
33840 streq r1, [r4, #0]
33841.L11855:
33842 add lr, lr, #1
33843 cmp r5, lr
33844 mov ip, ip, lsr #8
33845 add r4, r4, #4
33846 bhi .L11854
33847 b .L11219
33848.L12435:
33849 .align 2
33850.L12434:
33851 .word io_registers
33852 .word obj_priority_count
33853 .word obj_priority_list
33854 .word obj_width_table
33855 .word obj_height_table
33856 .word oam_ram
33857 .word vram+65536
33858 .word vram+65472
33859 .word vram+65600
33860.L11299:
33861 cmp r7, #0
33862 add r2, r7, #7
33863 movge r2, r7
33864 subs r3, r7, #8
33865 submi r3, r7, #1
33866 mov r5, r2, asr #3
33867 mov r3, r3, asr #3
33868 mov r1, ip, lsr #3
33869 mla r0, r5, r1, r3
33870 ldr sl, [sp, #28]
33871 and r3, ip, #7
33872 mov r2, sl, asl #22
33873 mov r2, r2, lsr #22
33874 add r2, r2, r0, asl #1
33875 add r3, r3, r2, asl #2
33876 ldr fp, [sp, #8]
33877 mov r0, r3, asl #3
33878 ldr r3, .L12434+24
33879 cmp r6, fp
33880 add ip, r0, r3
33881 bge .L12045
33882 rsb r0, r6, fp
33883 rsb r8, r0, r7
33884 cmp r8, #0
33885 ble .L11219
33886 ldr lr, [sp, #4]
33887 add r3, r6, r7
33888 cmp lr, r3
33889 bhi .L12048
33890 mov r3, r0, lsr #3
33891 ands lr, r0, #7
33892 sub r8, ip, r3, asl #6
33893 bne .L12050
33894 ldr r7, [sp, #92]
33895 ldr r4, [sp, #68]
33896.L12052:
33897 movs r6, r7, lsr #3
33898 beq .L12130
33899 mov r0, r4
33900 mov lr, r8
33901 mov r5, #0
33902.L12132:
33903 ldr r2, [lr, #4]
33904 cmp r2, #0
33905 beq .L12133
33906 ands r1, r2, #255
33907 beq .L12135
33908 ldr r3, [r0, #12]
33909 tst r3, #256
33910 movne r3, r3, lsr #16
33911 ldrne r9, [sp, #20]
33912 ldreq sl, [sp, #20]
33913 movne r3, r3, asl #16
33914 orrne r3, r9, r3
33915 orreq r3, sl, r3, asl #16
33916 orrne r3, r1, r3
33917 orreq r3, r1, r3
33918 strne r3, [r0, #12]
33919 streq r3, [r0, #12]
33920.L12135:
33921 mov r3, r2, lsr #8
33922 ands r1, r3, #255
33923 beq .L12139
33924 ldr r3, [r0, #8]
33925 tst r3, #256
33926 movne r3, r3, lsr #16
33927 ldrne fp, [sp, #20]
33928 ldreq ip, [sp, #20]
33929 movne r3, r3, asl #16
33930 orrne r3, fp, r3
33931 orreq r3, ip, r3, asl #16
33932 orrne r3, r1, r3
33933 orreq r3, r1, r3
33934 strne r3, [r0, #8]
33935 streq r3, [r0, #8]
33936.L12139:
33937 mov r3, r2, lsr #16
33938 ands r1, r3, #255
33939 beq .L12143
33940 ldr r3, [r0, #4]
33941 tst r3, #256
33942 movne r3, r3, lsr #16
33943 ldrne r9, [sp, #20]
33944 ldreq sl, [sp, #20]
33945 movne r3, r3, asl #16
33946 orrne r3, r9, r3
33947 orreq r3, sl, r3, asl #16
33948 orrne r3, r1, r3
33949 orreq r3, r1, r3
33950 strne r3, [r0, #4]
33951 streq r3, [r0, #4]
33952.L12143:
33953 movs r2, r2, lsr #24
33954 beq .L12133
33955 ldr r3, [r0, #0]
33956 tst r3, #256
33957 movne r3, r3, lsr #16
33958 ldrne fp, [sp, #20]
33959 ldreq ip, [sp, #20]
33960 movne r3, r3, asl #16
33961 orrne r3, fp, r3
33962 orreq r3, ip, r3, asl #16
33963 orrne r3, r2, r3
33964 orreq r3, r2, r3
33965 strne r3, [r0, #0]
33966 streq r3, [r0, #0]
33967.L12133:
33968 ldr r1, [lr, #0]
33969 cmp r1, #0
33970 beq .L12150
33971 ands ip, r1, #255
33972 beq .L12152
33973 ldr r2, [r0, #28]
33974 tst r2, #256
33975 ldrne r9, [sp, #20]
33976 ldreq sl, [sp, #20]
33977 movne r3, r2, lsr #16
33978 movne r3, r3, asl #16
33979 orreq r3, sl, ip
33980 orrne r2, r9, ip
33981 orrne r3, r3, r2
33982 orreq r3, r3, r2, asl #16
33983 strne r3, [r0, #28]
33984 streq r3, [r0, #28]
33985.L12152:
33986 mov r3, r1, lsr #8
33987 ands r2, r3, #255
33988 beq .L12156
33989 ldr r3, [r0, #24]
33990 tst r3, #256
33991 movne r3, r3, lsr #16
33992 ldrne fp, [sp, #20]
33993 ldreq ip, [sp, #20]
33994 movne r3, r3, asl #16
33995 orrne r3, fp, r3
33996 orreq r3, ip, r3, asl #16
33997 orrne r3, r2, r3
33998 orreq r3, r2, r3
33999 strne r3, [r0, #24]
34000 streq r3, [r0, #24]
34001.L12156:
34002 mov r3, r1, lsr #16
34003 ands r2, r3, #255
34004 beq .L12160
34005 ldr r3, [r0, #20]
34006 tst r3, #256
34007 movne r3, r3, lsr #16
34008 ldrne r9, [sp, #20]
34009 ldreq sl, [sp, #20]
34010 movne r3, r3, asl #16
34011 orrne r3, r9, r3
34012 orreq r3, sl, r3, asl #16
34013 orrne r3, r2, r3
34014 orreq r3, r2, r3
34015 strne r3, [r0, #20]
34016 streq r3, [r0, #20]
34017.L12160:
34018 movs r1, r1, lsr #24
34019 beq .L12150
34020 ldr r2, [r0, #16]
34021 tst r2, #256
34022 ldrne fp, [sp, #20]
34023 ldreq ip, [sp, #20]
34024 movne r3, r2, lsr #16
34025 movne r3, r3, asl #16
34026 orreq r3, ip, r1
34027 orrne r2, fp, r1
34028 orrne r3, r3, r2
34029 orreq r3, r3, r2, asl #16
34030 strne r3, [r0, #16]
34031 streq r3, [r0, #16]
34032.L12150:
34033 add r5, r5, #1
34034 cmp r5, r6
34035 sub lr, lr, #64
34036 add r0, r0, #32
34037 bne .L12132
34038 rsb r3, r6, r6, asl #26
34039 add r8, r8, r3, asl #6
34040 add r4, r4, r6, asl #5
34041.L12130:
34042 ands r5, r7, #7
34043 beq .L11219
34044 cmp r5, #3
34045 ldrls ip, [r8, #4]
34046 bls .L12189
34047 ldr r2, [r8, #4]
34048 cmp r2, #0
34049 beq .L12171
34050 ands r1, r2, #255
34051 beq .L12173
34052 ldr r3, [r4, #12]
34053 tst r3, #256
34054 movne r3, r3, lsr #16
34055 ldrne lr, [sp, #20]
34056 ldreq r0, [sp, #20]
34057 movne r3, r3, asl #16
34058 orrne r3, lr, r3
34059 orreq r3, r0, r3, asl #16
34060 orrne r3, r1, r3
34061 orreq r3, r1, r3
34062 strne r3, [r4, #12]
34063 streq r3, [r4, #12]
34064.L12173:
34065 mov r3, r2, lsr #8
34066 ands r1, r3, #255
34067 beq .L12177
34068 ldr r3, [r4, #8]
34069 tst r3, #256
34070 movne r3, r3, lsr #16
34071 ldrne r6, [sp, #20]
34072 ldreq r7, [sp, #20]
34073 movne r3, r3, asl #16
34074 orrne r3, r6, r3
34075 orreq r3, r7, r3, asl #16
34076 orrne r3, r1, r3
34077 orreq r3, r1, r3
34078 strne r3, [r4, #8]
34079 streq r3, [r4, #8]
34080.L12177:
34081 mov r3, r2, lsr #16
34082 ands r1, r3, #255
34083 beq .L12181
34084 ldr r3, [r4, #4]
34085 tst r3, #256
34086 movne r3, r3, lsr #16
34087 ldrne r9, [sp, #20]
34088 ldreq sl, [sp, #20]
34089 movne r3, r3, asl #16
34090 orrne r3, r9, r3
34091 orreq r3, sl, r3, asl #16
34092 orrne r3, r1, r3
34093 orreq r3, r1, r3
34094 strne r3, [r4, #4]
34095 streq r3, [r4, #4]
34096.L12181:
34097 movs r2, r2, lsr #24
34098 beq .L12171
34099 ldr r3, [r4, #0]
34100 tst r3, #256
34101 movne r3, r3, lsr #16
34102 ldrne fp, [sp, #20]
34103 ldreq ip, [sp, #20]
34104 movne r3, r3, asl #16
34105 orrne r3, fp, r3
34106 orreq r3, ip, r3, asl #16
34107 orrne r3, r2, r3
34108 orreq r3, r2, r3
34109 strne r3, [r4, #0]
34110 streq r3, [r4, #0]
34111.L12171:
34112 subs r5, r5, #4
34113 ldr ip, [r8, #0]
34114 addne r4, r4, #16
34115 beq .L11219
34116.L12189:
34117 mov lr, #0
34118.L12190:
34119 movs r3, ip, lsr #24
34120 beq .L12191
34121 ldr r2, [r4, #0]
34122 ldr r0, [sp, #20]
34123 tst r2, #256
34124 orr r1, r0, r3
34125 orr r0, r0, r3
34126 mov r3, r2, lsr #16
34127 mov r3, r3, asl #16
34128 orr r3, r3, r1
34129 orr r1, r0, r2, asl #16
34130 strne r3, [r4, #0]
34131 streq r1, [r4, #0]
34132.L12191:
34133 add lr, lr, #1
34134 cmp r5, lr
34135 mov ip, ip, asl #8
34136 add r4, r4, #4
34137 bhi .L12190
34138 b .L11219
34139.L11212:
34140 ldr ip, .L12434+20
34141 mov r3, r4, lsr #4
34142 add r2, r7, r7, lsr #31
34143 and r3, r3, #992
34144 tst lr, #512
34145 add r3, r3, ip
34146 mov lr, r2, asr #1
34147 add r1, r9, r9, lsr #31
34148 ldr r2, [sp, #8]
34149 mov r4, r1, asr #1
34150 ldrh sl, [r3, #30]
34151 ldrh r8, [r3, #6]
34152 ldrh r1, [r3, #14]
34153 ldrh r3, [r3, #22]
34154 moveq fp, r7
34155 moveq r5, lr
34156 moveq ip, r4
34157 movne fp, r7, asl #1
34158 movne r5, lr, asl #1
34159 movne ip, r4, asl #1
34160 cmp r6, r2
34161 str r3, [sp, #16]
34162 bge .L11254
34163 rsb r2, r6, r2
34164 rsb fp, r2, fp
34165 cmp fp, #0
34166 ble .L11219
34167 ldr r6, [sp, #8]
34168 rsb r5, r2, r5
34169.L11254:
34170 ldr r2, [sp, #4]
34171 add r3, r6, fp
34172 cmp r3, r2
34173 blt .L11257
34174 rsb fp, r6, r2
34175 cmp fp, #0
34176 ble .L11219
34177.L11257:
34178 mov r3, r8, asl #16
34179 mov r2, r1, asl #16
34180 ldr r8, [sp, #16]
34181 mov r1, sl, asl #16
34182 ldr sl, [sp, #28]
34183 mov lr, lr, asl #8
34184 add ip, r0, ip
34185 cmp r8, #0
34186 mov r0, sl, lsr #8
34187 mov r8, r1, asr #16
34188 str lr, [sp, #88]
34189 ldr r1, [sp, #32]
34190 ldr lr, [sp, #0]
34191 mov r3, r3, asr #16
34192 mov r2, r2, asr #16
34193 and r0, r0, #240
34194 add sl, lr, r6, asl #2
34195 str r3, [sp, #52]
34196 str r2, [sp, #56]
34197 mov r4, r4, asl #8
34198 rsb lr, ip, r1
34199 str r0, [sp, #84]
34200 bne .L11259
34201 mla r3, lr, r8, r4
34202 mov r0, r3, asr #8
34203 cmp r0, r9
34204 bcs .L11219
34205 ldr r4, [sp, #28]
34206 cmp r7, #0
34207 add r3, r7, #7
34208 mov r2, r4, asl #22
34209 movge r3, r7
34210 mov r3, r3, asr #3
34211 mov r1, r0, lsr #3
34212 mov r2, r2, lsr #22
34213 mla ip, r3, r1, r2
34214 and r0, r0, #7
34215 ldr r3, .L12434+24
34216 add r0, r0, ip, asl #3
34217 cmp fp, #0
34218 add r6, r3, r0, asl #2
34219 ble .L11219
34220 ldr r3, [sp, #56]
34221 ldr r2, [sp, #52]
34222 mul r3, lr, r3
34223 mul r2, r5, r2
34224 ldr r5, [sp, #88]
34225 rsb r3, r2, r3
34226 add ip, r5, r3
34227 mov r1, ip, asr #8
34228 cmp r1, r7
34229 ldrcc r4, [sp, #16]
34230 ldrcs r4, [sp, #16]
34231 bcs .L11266
34232 b .L12397
34233.L11267:
34234 cmp r7, r2
34235 bhi .L11268
34236.L11266:
34237 ldr r8, [sp, #52]
34238 add r4, r4, #1
34239 add ip, ip, r8
34240 cmp fp, r4
34241 mov r2, ip, asr #8
34242 add sl, sl, #4
34243 bne .L11267
34244 b .L11219
34245.L12381:
34246 add sp, sp, #96
34247 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
34248.L11223:
34249 ldr r0, [sp, #28]
34250 cmp r7, #0
34251 add r1, r7, #7
34252 mov r2, r0, asl #22
34253 movge r1, r7
34254 ldr r3, .L12434+24
34255 mov r2, r2, lsr #22
34256 mov r1, r1, asr #3
34257 add r2, r3, r2, asl #5
34258 mov r1, r1, asl #6
34259 cmp r8, #0
34260 str r2, [sp, #76]
34261 str r1, [sp, #48]
34262 ble .L11219
34263 ldr r1, [sp, #12]
34264 mul r2, lr, ip
34265 mov r3, r1, asl #16
34266 mov r6, r3, asr #16
34267 ldr r3, [sp, #44]
34268 mul r1, r6, fp
34269 mul r0, sl, fp
34270 mul r3, lr, r3
34271 ldr fp, [sp, #80]
34272 rsb r3, r0, r3
34273 rsb r2, r1, r2
34274 add ip, fp, r3
34275 add lr, r4, r2
34276 mov r1, ip, asr #8
34277 mov r0, lr, asr #8
34278 cmp r1, r7
34279 cmpcc r0, r9
34280 movcs r3, #0
34281 movcc r3, #1
34282 movcs r4, r3
34283 bcs .L11241
34284 b .L12432
34285.L11242:
34286 cmp r7, r1
34287 cmphi r9, r0
34288 bhi .L11244
34289.L11241:
34290 add r4, r4, #1
34291 add ip, ip, sl
34292 add lr, lr, r6
34293 cmp r8, r4
34294 mov r1, ip, asr #8
34295 mov r0, lr, asr #8
34296 add r5, r5, #4
34297 bne .L11242
34298 b .L11219
34299.L12410:
34300 and r3, r0, #7
34301 mov r2, r1, asr #3
34302 mov r3, r3, asl #3
34303 add r3, r3, r2, asl #6
34304 ldr r2, [sp, #76]
34305 and r1, r1, #7
34306 add r3, r3, r2
34307 mov r2, r0, asr #3
34308 ldr r0, [sp, #48]
34309 mla r0, r2, r0, r3
34310 ldrb r0, [r0, r1] @ zero_extendqisi2
34311 cmp r0, #0
34312 beq .L11247
34313 ldr r3, [r5, #0]
34314 ldr fp, [sp, #20]
34315 mov r2, r3, lsr #16
34316 mov r2, r2, asl #16
34317 orr r2, fp, r2
34318 orr r1, fp, r3, asl #16
34319 tst r3, #256
34320 orr r2, r0, r2
34321 orr r1, r0, r1
34322 strne r2, [r5, #0]
34323 streq r1, [r5, #0]
34324.L11247:
34325 add r4, r4, #1
34326 add ip, ip, sl
34327 add lr, lr, r6
34328 cmp r8, r4
34329 mov r1, ip, asr #8
34330 mov r0, lr, asr #8
34331 add r5, r5, #4
34332 ble .L11219
34333.L11244:
34334 cmp r9, r0
34335 cmphi r7, r1
34336 bhi .L12410
34337 b .L11219
34338.L11259:
34339 ldr r3, [sp, #28]
34340 cmp r7, #0
34341 add r1, r7, #7
34342 mov r2, r3, asl #22
34343 movge r1, r7
34344 ldr r3, .L12434+24
34345 mov r2, r2, lsr #22
34346 mov r1, r1, asr #3
34347 add r2, r3, r2, asl #5
34348 mov r1, r1, asl #5
34349 cmp fp, #0
34350 str r2, [sp, #72]
34351 str r1, [sp, #64]
34352 ble .L11219
34353 ldr r6, [sp, #16]
34354 ldr r0, [sp, #52]
34355 mov r3, r6, asl #16
34356 mov r3, r3, asr #16
34357 str r3, [sp, #60]
34358 ldr r1, [sp, #60]
34359 ldr r3, [sp, #56]
34360 mul r2, lr, r8
34361 mul r1, r5, r1
34362 mul r0, r5, r0
34363 mul r3, lr, r3
34364 ldr r8, [sp, #88]
34365 rsb r2, r1, r2
34366 rsb r3, r0, r3
34367 add r6, r8, r3
34368 add r5, r4, r2
34369 mov r3, r5, asr #8
34370 mov r4, r6, asr #8
34371 cmp r4, r7
34372 cmpcc r3, r9
34373 movcs r2, #0
34374 movcc r2, #1
34375 movcs r8, r2
34376 bcs .L11281
34377 b .L12433
34378.L11282:
34379 cmp r7, r4
34380 cmphi r9, r3
34381 bhi .L11284
34382.L11281:
34383 ldr ip, [sp, #52]
34384 ldr lr, [sp, #60]
34385 add r8, r8, #1
34386 add r6, r6, ip
34387 add r5, r5, lr
34388 cmp fp, r8
34389 mov r4, r6, asr #8
34390 mov r3, r5, asr #8
34391 add sl, sl, #4
34392 bne .L11282
34393 b .L11219
34394.L12412:
34395 ldr r2, [sp, #64]
34396 and r0, r3, #7
34397 and ip, r3, #7
34398 mov r3, r3, asr #3
34399 mul r2, r3, r2
34400 ldr r3, [sp, #72]
34401 ldr r1, [sp, #72]
34402 add ip, r3, ip, asl #2
34403 mov r3, r4, asr #3
34404 add r0, r1, r0, asl #2
34405 mov lr, r4, asr #1
34406 mov r1, r4, asr #1
34407 add r2, r2, r3, asl #5
34408 tst r4, #1
34409 add r3, r0, r2
34410 and lr, lr, #3
34411 add r0, ip, r2
34412 and r1, r1, #3
34413 ldreqb r3, [r0, r1] @ zero_extendqisi2
34414 ldrneb r3, [r3, lr] @ zero_extendqisi2
34415 andeq r0, r3, #15
34416 movne r0, r3, lsr #4
34417 ldr r4, [sp, #84]
34418 cmp r0, #0
34419 orr r0, r0, r4
34420 beq .L11290
34421 ldr r2, [sl, #0]
34422 ldr ip, [sp, #20]
34423 mov r3, r2, lsr #16
34424 orr r1, ip, r0
34425 mov r3, r3, asl #16
34426 orr r0, ip, r0
34427 tst r2, #256
34428 orr r3, r3, r1
34429 orr r0, r0, r2, asl #16
34430 strne r3, [sl, #0]
34431 streq r0, [sl, #0]
34432.L11290:
34433 ldr lr, [sp, #52]
34434 ldr r0, [sp, #60]
34435 add r8, r8, #1
34436 add r6, r6, lr
34437 add r5, r5, r0
34438 cmp fp, r8
34439 add sl, sl, #4
34440 mov r4, r6, asr #8
34441 mov r3, r5, asr #8
34442 ble .L11219
34443.L11284:
34444 cmp r9, r3
34445 cmphi r7, r4
34446 bhi .L12412
34447 b .L11219
34448.L11269:
34449 cmp r7, r1
34450 bls .L11219
34451.L12397:
34452 mov r3, r1, asr #1
34453 and lr, r3, #3
34454 mov r3, r1, asr #3
34455 mov r3, r3, asl #5
34456 mov r2, r1, asr #1
34457 tst r1, #1
34458 and r0, r2, #3
34459 add r1, r3, r6
34460 add r2, r3, r6
34461 ldreqb r3, [r2, r0] @ zero_extendqisi2
34462 ldrneb r3, [r1, lr] @ zero_extendqisi2
34463 andeq r2, r3, #15
34464 movne r2, r3, lsr #4
34465 ldr r9, [sp, #84]
34466 cmp r2, #0
34467 orr r3, r2, r9
34468 beq .L11274
34469 ldr r2, [sl, #0]
34470 ldr lr, [sp, #20]
34471 tst r2, #256
34472 orr r1, lr, r3
34473 orr r0, lr, r3
34474 mov r3, r2, lsr #16
34475 mov r3, r3, asl #16
34476 orr r1, r3, r1
34477 orr r3, r0, r2, asl #16
34478 strne r1, [sl, #0]
34479 streq r3, [sl, #0]
34480.L11274:
34481 ldr r0, [sp, #52]
34482 add r4, r4, #1
34483 add ip, ip, r0
34484 cmp fp, r4
34485 add sl, sl, #4
34486 mov r1, ip, asr #8
34487 bgt .L11269
34488 b .L11219
34489.L11232:
34490 cmp r7, r2
34491 bls .L11219
34492.L12395:
34493 mov r3, r2, asr #3
34494 add r3, r6, r3, asl #6
34495 and r2, r2, #7
34496 ldrb ip, [r3, r2] @ zero_extendqisi2
34497 cmp ip, #0
34498 beq .L11234
34499 ldr r3, [r5, #0]
34500 ldr fp, [sp, #20]
34501 mov r2, r3, lsr #16
34502 mov r2, r2, asl #16
34503 orr r2, fp, r2
34504 orr r1, fp, r3, asl #16
34505 orr r4, ip, r2
34506 tst r3, #256
34507 orr r2, ip, r1
34508 strne r4, [r5, #0]
34509 streq r2, [r5, #0]
34510.L11234:
34511 add lr, lr, #1
34512 add r0, r0, sl
34513 cmp r8, lr
34514 add r5, r5, #4
34515 mov r2, r0, asr #8
34516 bgt .L11232
34517 b .L11219
34518.L12045:
34519 add r3, r6, r7
34520 ldr r7, [sp, #4]
34521 cmp r3, r7
34522 bcs .L12413
34523 cmp r5, #0
34524 beq .L11219
34525 ldr r2, [sp, #0]
34526 ldr r3, .L12434+28
34527 add r1, r2, r6, asl #2
34528 add r0, r0, r3
34529 mov r6, #0
34530 b .L12345
34531.L12414:
34532 sub ip, ip, #64
34533 add r1, r1, #32
34534.L12345:
34535 ldr r2, [r0, #68]
34536 cmp r2, #0
34537 beq .L12346
34538 ands lr, r2, #255
34539 beq .L12348
34540 ldr r3, [r1, #12]
34541 tst r3, #256
34542 movne r3, r3, lsr #16
34543 ldrne r4, [sp, #20]
34544 ldreq r7, [sp, #20]
34545 movne r3, r3, asl #16
34546 orrne r3, r4, r3
34547 orreq r3, r7, r3, asl #16
34548 orrne r3, lr, r3
34549 orreq r3, lr, r3
34550 strne r3, [r1, #12]
34551 streq r3, [r1, #12]
34552.L12348:
34553 mov r3, r2, lsr #8
34554 ands lr, r3, #255
34555 beq .L12352
34556 ldr r3, [r1, #8]
34557 tst r3, #256
34558 movne r3, r3, lsr #16
34559 ldrne r8, [sp, #20]
34560 ldreq r9, [sp, #20]
34561 movne r3, r3, asl #16
34562 orrne r3, r8, r3
34563 orreq r3, r9, r3, asl #16
34564 orrne r3, lr, r3
34565 orreq r3, lr, r3
34566 strne r3, [r1, #8]
34567 streq r3, [r1, #8]
34568.L12352:
34569 mov r3, r2, lsr #16
34570 ands lr, r3, #255
34571 beq .L12356
34572 ldr r3, [r1, #4]
34573 tst r3, #256
34574 movne r3, r3, lsr #16
34575 ldrne sl, [sp, #20]
34576 ldreq fp, [sp, #20]
34577 movne r3, r3, asl #16
34578 orrne r3, sl, r3
34579 orreq r3, fp, r3, asl #16
34580 orrne r3, lr, r3
34581 orreq r3, lr, r3
34582 strne r3, [r1, #4]
34583 streq r3, [r1, #4]
34584.L12356:
34585 movs r2, r2, lsr #24
34586 beq .L12346
34587 ldr r3, [r1, #0]
34588 tst r3, #256
34589 movne r3, r3, lsr #16
34590 ldrne lr, [sp, #20]
34591 ldreq r4, [sp, #20]
34592 movne r3, r3, asl #16
34593 orrne r3, lr, r3
34594 orreq r3, r4, r3, asl #16
34595 orrne r3, r2, r3
34596 orreq r3, r2, r3
34597 strne r3, [r1, #0]
34598 streq r3, [r1, #0]
34599.L12346:
34600 ldr lr, [ip, #0]
34601 cmp lr, #0
34602 beq .L12363
34603 ands r4, lr, #255
34604 beq .L12365
34605 ldr r2, [r1, #28]
34606 tst r2, #256
34607 ldrne r7, [sp, #20]
34608 ldreq r8, [sp, #20]
34609 movne r3, r2, lsr #16
34610 movne r3, r3, asl #16
34611 orreq r3, r8, r4
34612 orrne r2, r7, r4
34613 orrne r3, r3, r2
34614 orreq r3, r3, r2, asl #16
34615 strne r3, [r1, #28]
34616 streq r3, [r1, #28]
34617.L12365:
34618 mov r3, lr, lsr #8
34619 ands r2, r3, #255
34620 beq .L12369
34621 ldr r3, [r1, #24]
34622 tst r3, #256
34623 movne r3, r3, lsr #16
34624 ldrne r9, [sp, #20]
34625 ldreq sl, [sp, #20]
34626 movne r3, r3, asl #16
34627 orrne r3, r9, r3
34628 orreq r3, sl, r3, asl #16
34629 orrne r3, r2, r3
34630 orreq r3, r2, r3
34631 strne r3, [r1, #24]
34632 streq r3, [r1, #24]
34633.L12369:
34634 mov r3, lr, lsr #16
34635 ands r2, r3, #255
34636 beq .L12373
34637 ldr r3, [r1, #20]
34638 tst r3, #256
34639 movne r3, r3, lsr #16
34640 ldrne fp, [sp, #20]
34641 ldreq r4, [sp, #20]
34642 movne r3, r3, asl #16
34643 orrne r3, fp, r3
34644 orreq r3, r4, r3, asl #16
34645 orrne r3, r2, r3
34646 orreq r3, r2, r3
34647 strne r3, [r1, #20]
34648 streq r3, [r1, #20]
34649.L12373:
34650 movs lr, lr, lsr #24
34651 beq .L12363
34652 ldr r2, [r1, #16]
34653 tst r2, #256
34654 ldrne r7, [sp, #20]
34655 ldreq r8, [sp, #20]
34656 movne r3, r2, lsr #16
34657 movne r3, r3, asl #16
34658 orreq r3, r8, lr
34659 orrne r2, r7, lr
34660 orrne r3, r3, r2
34661 orreq r3, r3, r2, asl #16
34662 strne r3, [r1, #16]
34663 streq r3, [r1, #16]
34664.L12363:
34665 add r6, r6, #1
34666 cmp r5, r6
34667 sub r0, r0, #64
34668 bne .L12414
34669 b .L11219
34670.L11709:
34671 add r3, r6, r7
34672 ldr r7, [sp, #4]
34673 cmp r7, r3
34674 bls .L12415
34675 cmp r4, #0
34676 beq .L11219
34677 ldr fp, [sp, #0]
34678 ldr r3, .L12434+32
34679 add r1, fp, r6, asl #2
34680 add r0, r0, r3
34681 mov r5, #0
34682 b .L12009
34683.L12416:
34684 add ip, ip, #64
34685 add r1, r1, #32
34686.L12009:
34687 ldr r2, [ip, #0]
34688 cmp r2, #0
34689 beq .L12010
34690 ands lr, r2, #255
34691 beq .L12012
34692 ldr r3, [r1, #0]
34693 tst r3, #256
34694 movne r3, r3, lsr #16
34695 ldrne r6, [sp, #20]
34696 ldreq r7, [sp, #20]
34697 movne r3, r3, asl #16
34698 orrne r3, r6, r3
34699 orreq r3, r7, r3, asl #16
34700 orrne r3, lr, r3
34701 orreq r3, lr, r3
34702 strne r3, [r1, #0]
34703 streq r3, [r1, #0]
34704.L12012:
34705 mov r3, r2, lsr #8
34706 ands lr, r3, #255
34707 beq .L12016
34708 ldr r3, [r1, #4]
34709 tst r3, #256
34710 movne r3, r3, lsr #16
34711 ldrne r8, [sp, #20]
34712 ldreq r9, [sp, #20]
34713 movne r3, r3, asl #16
34714 orrne r3, r8, r3
34715 orreq r3, r9, r3, asl #16
34716 orrne r3, lr, r3
34717 orreq r3, lr, r3
34718 strne r3, [r1, #4]
34719 streq r3, [r1, #4]
34720.L12016:
34721 mov r3, r2, lsr #16
34722 ands lr, r3, #255
34723 beq .L12020
34724 ldr r3, [r1, #8]
34725 tst r3, #256
34726 movne r3, r3, lsr #16
34727 ldrne sl, [sp, #20]
34728 ldreq fp, [sp, #20]
34729 movne r3, r3, asl #16
34730 orrne r3, sl, r3
34731 orreq r3, fp, r3, asl #16
34732 orrne r3, lr, r3
34733 orreq r3, lr, r3
34734 strne r3, [r1, #8]
34735 streq r3, [r1, #8]
34736.L12020:
34737 movs lr, r2, lsr #24
34738 beq .L12010
34739 ldr r2, [r1, #12]
34740 tst r2, #256
34741 ldrne r6, [sp, #20]
34742 ldreq r7, [sp, #20]
34743 movne r3, r2, lsr #16
34744 movne r3, r3, asl #16
34745 orreq r3, r7, lr
34746 orrne r2, r6, lr
34747 orrne r3, r3, r2
34748 orreq r3, r3, r2, asl #16
34749 strne r3, [r1, #12]
34750 streq r3, [r1, #12]
34751.L12010:
34752 ldr r2, [r0, #-60]
34753 cmp r2, #0
34754 beq .L12027
34755 ands lr, r2, #255
34756 beq .L12029
34757 ldr r3, [r1, #16]
34758 tst r3, #256
34759 movne r3, r3, lsr #16
34760 ldrne r8, [sp, #20]
34761 ldreq r9, [sp, #20]
34762 movne r3, r3, asl #16
34763 orrne r3, r8, r3
34764 orreq r3, r9, r3, asl #16
34765 orrne r3, lr, r3
34766 orreq r3, lr, r3
34767 strne r3, [r1, #16]
34768 streq r3, [r1, #16]
34769.L12029:
34770 mov r3, r2, lsr #8
34771 ands lr, r3, #255
34772 beq .L12033
34773 ldr r3, [r1, #20]
34774 tst r3, #256
34775 movne r3, r3, lsr #16
34776 ldrne sl, [sp, #20]
34777 ldreq fp, [sp, #20]
34778 movne r3, r3, asl #16
34779 orrne r3, sl, r3
34780 orreq r3, fp, r3, asl #16
34781 orrne r3, lr, r3
34782 orreq r3, lr, r3
34783 strne r3, [r1, #20]
34784 streq r3, [r1, #20]
34785.L12033:
34786 mov r3, r2, lsr #16
34787 ands lr, r3, #255
34788 beq .L12037
34789 ldr r3, [r1, #24]
34790 tst r3, #256
34791 movne r3, r3, lsr #16
34792 ldrne r6, [sp, #20]
34793 ldreq r7, [sp, #20]
34794 movne r3, r3, asl #16
34795 orrne r3, r6, r3
34796 orreq r3, r7, r3, asl #16
34797 orrne r3, lr, r3
34798 orreq r3, lr, r3
34799 strne r3, [r1, #24]
34800 streq r3, [r1, #24]
34801.L12037:
34802 movs r2, r2, lsr #24
34803 beq .L12027
34804 ldr r3, [r1, #28]
34805 tst r3, #256
34806 movne r3, r3, lsr #16
34807 ldrne r8, [sp, #20]
34808 ldreq r9, [sp, #20]
34809 movne r3, r3, asl #16
34810 orrne r3, r8, r3
34811 orreq r3, r9, r3, asl #16
34812 orrne r3, r2, r3
34813 orreq r3, r2, r3
34814 strne r3, [r1, #28]
34815 streq r3, [r1, #28]
34816.L12027:
34817 add r5, r5, #1
34818 cmp r4, r5
34819 add r0, r0, #64
34820 bne .L12416
34821 b .L11219
34822.L11505:
34823 ldr r1, [sp, #4]
34824 add r3, r6, r7
34825 cmp r1, r3
34826 bls .L12417
34827 cmp r5, #0
34828 beq .L11219
34829 ldr fp, [sp, #0]
34830 mov ip, #0
34831 add r1, fp, r6, asl #2
34832 b .L11674
34833.L12418:
34834 sub r0, r0, #32
34835 add r1, r1, #32
34836.L11674:
34837 ldr lr, [r0, #0]
34838 cmp lr, #0
34839 beq .L11675
34840 ands r3, lr, #15
34841 beq .L11677
34842 ldr r2, [r1, #28]
34843 orr r4, r8, r3
34844 tst r2, #256
34845 ldrne r6, [sp, #20]
34846 ldreq r7, [sp, #20]
34847 movne r3, r2, lsr #16
34848 movne r3, r3, asl #16
34849 orreq r3, r7, r4
34850 orrne r2, r6, r4
34851 orrne r3, r3, r2
34852 orreq r3, r3, r2, asl #16
34853 strne r3, [r1, #28]
34854 streq r3, [r1, #28]
34855.L11677:
34856 mov r3, lr, lsr #4
34857 ands r3, r3, #15
34858 beq .L11681
34859 ldr r2, [r1, #24]
34860 orr r4, r8, r3
34861 tst r2, #256
34862 ldrne r9, [sp, #20]
34863 ldreq sl, [sp, #20]
34864 movne r3, r2, lsr #16
34865 movne r3, r3, asl #16
34866 orreq r3, sl, r4
34867 orrne r2, r9, r4
34868 orrne r3, r3, r2
34869 orreq r3, r3, r2, asl #16
34870 strne r3, [r1, #24]
34871 streq r3, [r1, #24]
34872.L11681:
34873 mov r3, lr, lsr #8
34874 ands r3, r3, #15
34875 beq .L11685
34876 ldr r2, [r1, #20]
34877 orr r4, r8, r3
34878 tst r2, #256
34879 ldrne fp, [sp, #20]
34880 ldreq r6, [sp, #20]
34881 movne r3, r2, lsr #16
34882 movne r3, r3, asl #16
34883 orreq r3, r6, r4
34884 orrne r2, fp, r4
34885 orrne r3, r3, r2
34886 orreq r3, r3, r2, asl #16
34887 strne r3, [r1, #20]
34888 streq r3, [r1, #20]
34889.L11685:
34890 mov r3, lr, lsr #12
34891 ands r3, r3, #15
34892 beq .L11689
34893 ldr r2, [r1, #16]
34894 orr r4, r8, r3
34895 tst r2, #256
34896 ldrne r7, [sp, #20]
34897 ldreq r9, [sp, #20]
34898 movne r3, r2, lsr #16
34899 movne r3, r3, asl #16
34900 orreq r3, r9, r4
34901 orrne r2, r7, r4
34902 orrne r3, r3, r2
34903 orreq r3, r3, r2, asl #16
34904 strne r3, [r1, #16]
34905 streq r3, [r1, #16]
34906.L11689:
34907 mov r3, lr, lsr #16
34908 ands r3, r3, #15
34909 beq .L11693
34910 ldr r2, [r1, #12]
34911 orr r4, r8, r3
34912 tst r2, #256
34913 ldrne sl, [sp, #20]
34914 ldreq fp, [sp, #20]
34915 movne r3, r2, lsr #16
34916 movne r3, r3, asl #16
34917 orreq r3, fp, r4
34918 orrne r2, sl, r4
34919 orrne r3, r3, r2
34920 orreq r3, r3, r2, asl #16
34921 strne r3, [r1, #12]
34922 streq r3, [r1, #12]
34923.L11693:
34924 mov r3, lr, lsr #20
34925 ands r3, r3, #15
34926 beq .L11697
34927 ldr r2, [r1, #8]
34928 orr r4, r8, r3
34929 tst r2, #256
34930 ldrne r6, [sp, #20]
34931 ldreq r7, [sp, #20]
34932 movne r3, r2, lsr #16
34933 movne r3, r3, asl #16
34934 orreq r3, r7, r4
34935 orrne r2, r6, r4
34936 orrne r3, r3, r2
34937 orreq r3, r3, r2, asl #16
34938 strne r3, [r1, #8]
34939 streq r3, [r1, #8]
34940.L11697:
34941 mov r3, lr, lsr #24
34942 ands r3, r3, #15
34943 beq .L11701
34944 ldr r2, [r1, #4]
34945 orr r4, r8, r3
34946 tst r2, #256
34947 ldrne r9, [sp, #20]
34948 ldreq sl, [sp, #20]
34949 movne r3, r2, lsr #16
34950 movne r3, r3, asl #16
34951 orreq r3, sl, r4
34952 orrne r2, r9, r4
34953 orrne r3, r3, r2
34954 orreq r3, r3, r2, asl #16
34955 strne r3, [r1, #4]
34956 streq r3, [r1, #4]
34957.L11701:
34958 movs r3, lr, lsr #28
34959 beq .L11675
34960 ldr r2, [r1, #0]
34961 orr lr, r8, r3
34962 tst r2, #256
34963 ldrne fp, [sp, #20]
34964 ldreq r4, [sp, #20]
34965 movne r3, r2, lsr #16
34966 movne r3, r3, asl #16
34967 orreq r3, r4, lr
34968 orrne r2, fp, lr
34969 orrne r3, r3, r2
34970 orreq r3, r3, r2, asl #16
34971 strne r3, [r1, #0]
34972 streq r3, [r1, #0]
34973.L11675:
34974 add ip, ip, #1
34975 cmp r5, ip
34976 bne .L12418
34977 b .L11219
34978.L11301:
34979 ldr lr, [sp, #4]
34980 add r3, r6, r7
34981 cmp lr, r3
34982 bls .L12419
34983 cmp r5, #0
34984 beq .L11219
34985 ldr fp, [sp, #0]
34986 mov ip, #0
34987 add r1, fp, r6, asl #2
34988 b .L11470
34989.L12420:
34990 add r0, r0, #32
34991 add r1, r1, #32
34992.L11470:
34993 ldr lr, [r0, #0]
34994 cmp lr, #0
34995 beq .L11471
34996 ands r3, lr, #15
34997 beq .L11473
34998 ldr r2, [r1, #0]
34999 orr r4, r8, r3
35000 tst r2, #256
35001 ldrne r6, [sp, #20]
35002 ldreq r7, [sp, #20]
35003 movne r3, r2, lsr #16
35004 movne r3, r3, asl #16
35005 orreq r3, r7, r4
35006 orrne r2, r6, r4
35007 orrne r3, r3, r2
35008 orreq r3, r3, r2, asl #16
35009 strne r3, [r1, #0]
35010 streq r3, [r1, #0]
35011.L11473:
35012 mov r3, lr, lsr #4
35013 ands r3, r3, #15
35014 beq .L11477
35015 ldr r2, [r1, #4]
35016 orr r4, r8, r3
35017 tst r2, #256
35018 ldrne r9, [sp, #20]
35019 ldreq sl, [sp, #20]
35020 movne r3, r2, lsr #16
35021 movne r3, r3, asl #16
35022 orreq r3, sl, r4
35023 orrne r2, r9, r4
35024 orrne r3, r3, r2
35025 orreq r3, r3, r2, asl #16
35026 strne r3, [r1, #4]
35027 streq r3, [r1, #4]
35028.L11477:
35029 mov r3, lr, lsr #8
35030 ands r3, r3, #15
35031 beq .L11481
35032 ldr r2, [r1, #8]
35033 orr r4, r8, r3
35034 tst r2, #256
35035 ldrne fp, [sp, #20]
35036 ldreq r6, [sp, #20]
35037 movne r3, r2, lsr #16
35038 movne r3, r3, asl #16
35039 orreq r3, r6, r4
35040 orrne r2, fp, r4
35041 orrne r3, r3, r2
35042 orreq r3, r3, r2, asl #16
35043 strne r3, [r1, #8]
35044 streq r3, [r1, #8]
35045.L11481:
35046 mov r3, lr, lsr #12
35047 ands r3, r3, #15
35048 beq .L11485
35049 ldr r2, [r1, #12]
35050 orr r4, r8, r3
35051 tst r2, #256
35052 ldrne r7, [sp, #20]
35053 ldreq r9, [sp, #20]
35054 movne r3, r2, lsr #16
35055 movne r3, r3, asl #16
35056 orreq r3, r9, r4
35057 orrne r2, r7, r4
35058 orrne r3, r3, r2
35059 orreq r3, r3, r2, asl #16
35060 strne r3, [r1, #12]
35061 streq r3, [r1, #12]
35062.L11485:
35063 mov r3, lr, lsr #16
35064 ands r3, r3, #15
35065 beq .L11489
35066 ldr r2, [r1, #16]
35067 orr r4, r8, r3
35068 tst r2, #256
35069 ldrne sl, [sp, #20]
35070 ldreq fp, [sp, #20]
35071 movne r3, r2, lsr #16
35072 movne r3, r3, asl #16
35073 orreq r3, fp, r4
35074 orrne r2, sl, r4
35075 orrne r3, r3, r2
35076 orreq r3, r3, r2, asl #16
35077 strne r3, [r1, #16]
35078 streq r3, [r1, #16]
35079.L11489:
35080 mov r3, lr, lsr #20
35081 ands r3, r3, #15
35082 beq .L11493
35083 ldr r2, [r1, #20]
35084 orr r4, r8, r3
35085 tst r2, #256
35086 ldrne r6, [sp, #20]
35087 ldreq r7, [sp, #20]
35088 movne r3, r2, lsr #16
35089 movne r3, r3, asl #16
35090 orreq r3, r7, r4
35091 orrne r2, r6, r4
35092 orrne r3, r3, r2
35093 orreq r3, r3, r2, asl #16
35094 strne r3, [r1, #20]
35095 streq r3, [r1, #20]
35096.L11493:
35097 mov r3, lr, lsr #24
35098 ands r3, r3, #15
35099 beq .L11497
35100 ldr r2, [r1, #24]
35101 orr r4, r8, r3
35102 tst r2, #256
35103 ldrne r9, [sp, #20]
35104 ldreq sl, [sp, #20]
35105 movne r3, r2, lsr #16
35106 movne r3, r3, asl #16
35107 orreq r3, sl, r4
35108 orrne r2, r9, r4
35109 orrne r3, r3, r2
35110 orreq r3, r3, r2, asl #16
35111 strne r3, [r1, #24]
35112 streq r3, [r1, #24]
35113.L11497:
35114 movs r3, lr, lsr #28
35115 beq .L11471
35116 ldr r2, [r1, #28]
35117 orr lr, r8, r3
35118 tst r2, #256
35119 ldrne fp, [sp, #20]
35120 ldreq r4, [sp, #20]
35121 movne r3, r2, lsr #16
35122 movne r3, r3, asl #16
35123 orreq r3, r4, lr
35124 orrne r2, fp, lr
35125 orrne r3, r3, r2
35126 orreq r3, r3, r2, asl #16
35127 strne r3, [r1, #28]
35128 streq r3, [r1, #28]
35129.L11471:
35130 add ip, ip, #1
35131 cmp r5, ip
35132 bne .L12420
35133 b .L11219
35134.L12407:
35135 add sp, sp, #96
35136 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
35137 b render_scanline_obj_color32_1D
35138.L12419:
35139 rsb ip, r6, lr
35140 cmp ip, #0
35141 ble .L11219
35142 ldr r1, [sp, #0]
35143 movs sl, ip, lsr #3
35144 add r7, r1, r6, asl #2
35145 beq .L11425
35146 mov r4, r7
35147 mov r6, r0
35148 mov r1, #0
35149.L11427:
35150 ldr lr, [r6, #0]
35151 cmp lr, #0
35152 beq .L11428
35153 ands r3, lr, #15
35154 beq .L11430
35155 ldr r2, [r4, #0]
35156 orr r5, r8, r3
35157 tst r2, #256
35158 ldrne r9, [sp, #20]
35159 ldreq fp, [sp, #20]
35160 movne r3, r2, lsr #16
35161 movne r3, r3, asl #16
35162 orreq r3, fp, r5
35163 orrne r2, r9, r5
35164 orrne r3, r3, r2
35165 orreq r3, r3, r2, asl #16
35166 strne r3, [r4, #0]
35167 streq r3, [r4, #0]
35168.L11430:
35169 mov r3, lr, lsr #4
35170 ands r3, r3, #15
35171 beq .L11434
35172 ldr r2, [r4, #4]
35173 orr r5, r8, r3
35174 tst r2, #256
35175 ldrne r9, [sp, #20]
35176 ldreq fp, [sp, #20]
35177 movne r3, r2, lsr #16
35178 movne r3, r3, asl #16
35179 orreq r3, fp, r5
35180 orrne r2, r9, r5
35181 orrne r3, r3, r2
35182 orreq r3, r3, r2, asl #16
35183 strne r3, [r4, #4]
35184 streq r3, [r4, #4]
35185.L11434:
35186 mov r3, lr, lsr #8
35187 ands r3, r3, #15
35188 beq .L11438
35189 ldr r2, [r4, #8]
35190 orr r5, r8, r3
35191 tst r2, #256
35192 ldrne r9, [sp, #20]
35193 ldreq fp, [sp, #20]
35194 movne r3, r2, lsr #16
35195 movne r3, r3, asl #16
35196 orreq r3, fp, r5
35197 orrne r2, r9, r5
35198 orrne r3, r3, r2
35199 orreq r3, r3, r2, asl #16
35200 strne r3, [r4, #8]
35201 streq r3, [r4, #8]
35202.L11438:
35203 mov r3, lr, lsr #12
35204 ands r3, r3, #15
35205 beq .L11442
35206 ldr r2, [r4, #12]
35207 orr r5, r8, r3
35208 tst r2, #256
35209 ldrne r9, [sp, #20]
35210 ldreq fp, [sp, #20]
35211 movne r3, r2, lsr #16
35212 movne r3, r3, asl #16
35213 orreq r3, fp, r5
35214 orrne r2, r9, r5
35215 orrne r3, r3, r2
35216 orreq r3, r3, r2, asl #16
35217 strne r3, [r4, #12]
35218 streq r3, [r4, #12]
35219.L11442:
35220 mov r3, lr, lsr #16
35221 ands r3, r3, #15
35222 beq .L11446
35223 ldr r2, [r4, #16]
35224 orr r5, r8, r3
35225 tst r2, #256
35226 ldrne r9, [sp, #20]
35227 ldreq fp, [sp, #20]
35228 movne r3, r2, lsr #16
35229 movne r3, r3, asl #16
35230 orreq r3, fp, r5
35231 orrne r2, r9, r5
35232 orrne r3, r3, r2
35233 orreq r3, r3, r2, asl #16
35234 strne r3, [r4, #16]
35235 streq r3, [r4, #16]
35236.L11446:
35237 mov r3, lr, lsr #20
35238 ands r3, r3, #15
35239 beq .L11450
35240 ldr r2, [r4, #20]
35241 orr r5, r8, r3
35242 tst r2, #256
35243 ldrne r9, [sp, #20]
35244 ldreq fp, [sp, #20]
35245 movne r3, r2, lsr #16
35246 movne r3, r3, asl #16
35247 orreq r3, fp, r5
35248 orrne r2, r9, r5
35249 orrne r3, r3, r2
35250 orreq r3, r3, r2, asl #16
35251 strne r3, [r4, #20]
35252 streq r3, [r4, #20]
35253.L11450:
35254 mov r3, lr, lsr #24
35255 ands r3, r3, #15
35256 beq .L11454
35257 ldr r2, [r4, #24]
35258 orr r5, r8, r3
35259 tst r2, #256
35260 ldrne r9, [sp, #20]
35261 ldreq fp, [sp, #20]
35262 movne r3, r2, lsr #16
35263 movne r3, r3, asl #16
35264 orreq r3, fp, r5
35265 orrne r2, r9, r5
35266 orrne r3, r3, r2
35267 orreq r3, r3, r2, asl #16
35268 strne r3, [r4, #24]
35269 streq r3, [r4, #24]
35270.L11454:
35271 movs r3, lr, lsr #28
35272 beq .L11428
35273 ldr r2, [r4, #28]
35274 orr lr, r8, r3
35275 tst r2, #256
35276 ldrne r5, [sp, #20]
35277 ldreq r9, [sp, #20]
35278 movne r3, r2, lsr #16
35279 movne r3, r3, asl #16
35280 orreq r3, r9, lr
35281 orrne r2, r5, lr
35282 orrne r3, r3, r2
35283 orreq r3, r3, r2, asl #16
35284 strne r3, [r4, #28]
35285 streq r3, [r4, #28]
35286.L11428:
35287 add r1, r1, #1
35288 cmp sl, r1
35289 add r6, r6, #32
35290 add r4, r4, #32
35291 bne .L11427
35292 mov r3, sl, asl #5
35293 add r0, r0, r3
35294 add r7, r7, r3
35295.L11425:
35296 ands r4, ip, #7
35297 beq .L11219
35298 ldr ip, [r0, #0]
35299 mov lr, #0
35300.L11463:
35301 ands r3, ip, #15
35302 beq .L11464
35303 ldr r1, [r7, #0]
35304 ldr sl, [sp, #20]
35305 orr r2, r8, r3
35306 mov r3, r1, lsr #16
35307 orr r0, sl, r2
35308 mov r3, r3, asl #16
35309 orr r2, sl, r2
35310 tst r1, #256
35311 orr r3, r3, r0
35312 orr r2, r2, r1, asl #16
35313 strne r3, [r7, #0]
35314 streq r2, [r7, #0]
35315.L11464:
35316 add lr, lr, #1
35317 cmp r4, lr
35318 mov ip, ip, lsr #4
35319 add r7, r7, #4
35320 bne .L11463
35321 b .L11219
35322.L12417:
35323 rsb sl, r6, r1
35324 cmp sl, #0
35325 ble .L11219
35326 ldr r2, [sp, #0]
35327 movs r7, sl, lsr #3
35328 add r6, r2, r6, asl #2
35329 beq .L11629
35330 mov lr, r6
35331 mov r5, r0
35332 mov ip, #0
35333.L11631:
35334 ldr r1, [r5, #0]
35335 cmp r1, #0
35336 beq .L11632
35337 ands r3, r1, #15
35338 beq .L11634
35339 ldr r2, [lr, #28]
35340 orr r4, r8, r3
35341 tst r2, #256
35342 ldrne r9, [sp, #20]
35343 ldreq fp, [sp, #20]
35344 movne r3, r2, lsr #16
35345 movne r3, r3, asl #16
35346 orreq r3, fp, r4
35347 orrne r2, r9, r4
35348 orrne r3, r3, r2
35349 orreq r3, r3, r2, asl #16
35350 strne r3, [lr, #28]
35351 streq r3, [lr, #28]
35352.L11634:
35353 mov r3, r1, lsr #4
35354 ands r3, r3, #15
35355 beq .L11638
35356 ldr r2, [lr, #24]
35357 orr r4, r8, r3
35358 tst r2, #256
35359 ldrne r9, [sp, #20]
35360 ldreq fp, [sp, #20]
35361 movne r3, r2, lsr #16
35362 movne r3, r3, asl #16
35363 orreq r3, fp, r4
35364 orrne r2, r9, r4
35365 orrne r3, r3, r2
35366 orreq r3, r3, r2, asl #16
35367 strne r3, [lr, #24]
35368 streq r3, [lr, #24]
35369.L11638:
35370 mov r3, r1, lsr #8
35371 ands r3, r3, #15
35372 beq .L11642
35373 ldr r2, [lr, #20]
35374 orr r4, r8, r3
35375 tst r2, #256
35376 ldrne r9, [sp, #20]
35377 ldreq fp, [sp, #20]
35378 movne r3, r2, lsr #16
35379 movne r3, r3, asl #16
35380 orreq r3, fp, r4
35381 orrne r2, r9, r4
35382 orrne r3, r3, r2
35383 orreq r3, r3, r2, asl #16
35384 strne r3, [lr, #20]
35385 streq r3, [lr, #20]
35386.L11642:
35387 mov r3, r1, lsr #12
35388 ands r3, r3, #15
35389 beq .L11646
35390 ldr r2, [lr, #16]
35391 orr r4, r8, r3
35392 tst r2, #256
35393 ldrne r9, [sp, #20]
35394 ldreq fp, [sp, #20]
35395 movne r3, r2, lsr #16
35396 movne r3, r3, asl #16
35397 orreq r3, fp, r4
35398 orrne r2, r9, r4
35399 orrne r3, r3, r2
35400 orreq r3, r3, r2, asl #16
35401 strne r3, [lr, #16]
35402 streq r3, [lr, #16]
35403.L11646:
35404 mov r3, r1, lsr #16
35405 ands r3, r3, #15
35406 beq .L11650
35407 ldr r2, [lr, #12]
35408 orr r4, r8, r3
35409 tst r2, #256
35410 ldrne r9, [sp, #20]
35411 ldreq fp, [sp, #20]
35412 movne r3, r2, lsr #16
35413 movne r3, r3, asl #16
35414 orreq r3, fp, r4
35415 orrne r2, r9, r4
35416 orrne r3, r3, r2
35417 orreq r3, r3, r2, asl #16
35418 strne r3, [lr, #12]
35419 streq r3, [lr, #12]
35420.L11650:
35421 mov r3, r1, lsr #20
35422 ands r3, r3, #15
35423 beq .L11654
35424 ldr r2, [lr, #8]
35425 orr r4, r8, r3
35426 tst r2, #256
35427 ldrne r9, [sp, #20]
35428 ldreq fp, [sp, #20]
35429 movne r3, r2, lsr #16
35430 movne r3, r3, asl #16
35431 orreq r3, fp, r4
35432 orrne r2, r9, r4
35433 orrne r3, r3, r2
35434 orreq r3, r3, r2, asl #16
35435 strne r3, [lr, #8]
35436 streq r3, [lr, #8]
35437.L11654:
35438 mov r3, r1, lsr #24
35439 ands r3, r3, #15
35440 beq .L11658
35441 ldr r2, [lr, #4]
35442 orr r4, r8, r3
35443 tst r2, #256
35444 ldrne r9, [sp, #20]
35445 ldreq fp, [sp, #20]
35446 movne r3, r2, lsr #16
35447 movne r3, r3, asl #16
35448 orreq r3, fp, r4
35449 orrne r2, r9, r4
35450 orrne r3, r3, r2
35451 orreq r3, r3, r2, asl #16
35452 strne r3, [lr, #4]
35453 streq r3, [lr, #4]
35454.L11658:
35455 movs r3, r1, lsr #28
35456 beq .L11632
35457 ldr r2, [lr, #0]
35458 orr r1, r8, r3
35459 tst r2, #256
35460 ldrne r4, [sp, #20]
35461 ldreq r9, [sp, #20]
35462 movne r3, r2, lsr #16
35463 movne r3, r3, asl #16
35464 orreq r3, r9, r1
35465 orrne r2, r4, r1
35466 orrne r3, r3, r2
35467 orreq r3, r3, r2, asl #16
35468 strne r3, [lr, #0]
35469 streq r3, [lr, #0]
35470.L11632:
35471 add ip, ip, #1
35472 cmp r7, ip
35473 sub r5, r5, #32
35474 add lr, lr, #32
35475 bne .L11631
35476 rsb r3, r7, r7, asl #27
35477 add r0, r0, r3, asl #5
35478 add r6, r6, r7, asl #5
35479.L11629:
35480 ands r4, sl, #7
35481 beq .L11219
35482 ldr ip, [r0, #0]
35483 mov lr, #0
35484.L11667:
35485 movs r3, ip, lsr #28
35486 beq .L11668
35487 ldr r1, [r6, #0]
35488 ldr sl, [sp, #20]
35489 orr r2, r8, r3
35490 mov r3, r1, lsr #16
35491 orr r0, sl, r2
35492 mov r3, r3, asl #16
35493 orr r2, sl, r2
35494 tst r1, #256
35495 orr r3, r3, r0
35496 orr r2, r2, r1, asl #16
35497 strne r3, [r6, #0]
35498 streq r2, [r6, #0]
35499.L11668:
35500 add lr, lr, #1
35501 cmp r4, lr
35502 mov ip, ip, asl #4
35503 add r6, r6, #4
35504 bne .L11667
35505 b .L11219
35506.L12415:
35507 rsb r8, r6, r7
35508 cmp r8, #0
35509 ble .L11219
35510 ldr r9, [sp, #0]
35511 movs r7, r8, lsr #3
35512 add r6, r9, r6, asl #2
35513 beq .L11942
35514 ldr r3, .L12436
35515 mov lr, r6
35516 add r0, r0, r3
35517 mov r5, ip
35518 mov r1, #0
35519.L11944:
35520 ldr r2, [r5, #0]
35521 cmp r2, #0
35522 beq .L11945
35523 ands r4, r2, #255
35524 beq .L11947
35525 ldr r3, [lr, #0]
35526 tst r3, #256
35527 movne r3, r3, lsr #16
35528 ldrne sl, [sp, #20]
35529 ldreq fp, [sp, #20]
35530 movne r3, r3, asl #16
35531 orrne r3, sl, r3
35532 orreq r3, fp, r3, asl #16
35533 orrne r3, r4, r3
35534 orreq r3, r4, r3
35535 strne r3, [lr, #0]
35536 streq r3, [lr, #0]
35537.L11947:
35538 mov r3, r2, lsr #8
35539 ands r4, r3, #255
35540 beq .L11951
35541 ldr r3, [lr, #4]
35542 tst r3, #256
35543 movne r3, r3, lsr #16
35544 ldrne r9, [sp, #20]
35545 ldreq sl, [sp, #20]
35546 movne r3, r3, asl #16
35547 orrne r3, r9, r3
35548 orreq r3, sl, r3, asl #16
35549 orrne r3, r4, r3
35550 orreq r3, r4, r3
35551 strne r3, [lr, #4]
35552 streq r3, [lr, #4]
35553.L11951:
35554 mov r3, r2, lsr #16
35555 ands r4, r3, #255
35556 beq .L11955
35557 ldr r3, [lr, #8]
35558 tst r3, #256
35559 movne r3, r3, lsr #16
35560 ldrne fp, [sp, #20]
35561 ldreq r9, [sp, #20]
35562 movne r3, r3, asl #16
35563 orrne r3, fp, r3
35564 orreq r3, r9, r3, asl #16
35565 orrne r3, r4, r3
35566 orreq r3, r4, r3
35567 strne r3, [lr, #8]
35568 streq r3, [lr, #8]
35569.L11955:
35570 movs r4, r2, lsr #24
35571 beq .L11945
35572 ldr r2, [lr, #12]
35573 tst r2, #256
35574 ldrne sl, [sp, #20]
35575 ldreq fp, [sp, #20]
35576 movne r3, r2, lsr #16
35577 movne r3, r3, asl #16
35578 orreq r3, fp, r4
35579 orrne r2, sl, r4
35580 orrne r3, r3, r2
35581 orreq r3, r3, r2, asl #16
35582 strne r3, [lr, #12]
35583 streq r3, [lr, #12]
35584.L11945:
35585 ldr r2, [r0, #-60]
35586 cmp r2, #0
35587 beq .L11962
35588 ands r4, r2, #255
35589 beq .L11964
35590 ldr r3, [lr, #16]
35591 tst r3, #256
35592 movne r3, r3, lsr #16
35593 ldrne r9, [sp, #20]
35594 ldreq sl, [sp, #20]
35595 movne r3, r3, asl #16
35596 orrne r3, r9, r3
35597 orreq r3, sl, r3, asl #16
35598 orrne r3, r4, r3
35599 orreq r3, r4, r3
35600 strne r3, [lr, #16]
35601 streq r3, [lr, #16]
35602.L11964:
35603 mov r3, r2, lsr #8
35604 ands r4, r3, #255
35605 beq .L11968
35606 ldr r3, [lr, #20]
35607 tst r3, #256
35608 movne r3, r3, lsr #16
35609 ldrne fp, [sp, #20]
35610 ldreq r9, [sp, #20]
35611 movne r3, r3, asl #16
35612 orrne r3, fp, r3
35613 orreq r3, r9, r3, asl #16
35614 orrne r3, r4, r3
35615 orreq r3, r4, r3
35616 strne r3, [lr, #20]
35617 streq r3, [lr, #20]
35618.L11968:
35619 mov r3, r2, lsr #16
35620 ands r4, r3, #255
35621 beq .L11972
35622 ldr r3, [lr, #24]
35623 tst r3, #256
35624 movne r3, r3, lsr #16
35625 ldrne sl, [sp, #20]
35626 ldreq fp, [sp, #20]
35627 movne r3, r3, asl #16
35628 orrne r3, sl, r3
35629 orreq r3, fp, r3, asl #16
35630 orrne r3, r4, r3
35631 orreq r3, r4, r3
35632 strne r3, [lr, #24]
35633 streq r3, [lr, #24]
35634.L11972:
35635 movs r2, r2, lsr #24
35636 beq .L11962
35637 ldr r3, [lr, #28]
35638 tst r3, #256
35639 movne r3, r3, lsr #16
35640 ldrne r4, [sp, #20]
35641 ldreq r9, [sp, #20]
35642 movne r3, r3, asl #16
35643 orrne r3, r4, r3
35644 orreq r3, r9, r3, asl #16
35645 orrne r3, r2, r3
35646 orreq r3, r2, r3
35647 strne r3, [lr, #28]
35648 streq r3, [lr, #28]
35649.L11962:
35650 add r1, r1, #1
35651 cmp r7, r1
35652 add r5, r5, #64
35653 add lr, lr, #32
35654 add r0, r0, #64
35655 bne .L11944
35656 add ip, ip, r7, asl #6
35657 add r6, r6, r7, asl #5
35658.L11942:
35659 ands r4, r8, #7
35660 beq .L11219
35661 cmp r4, #3
35662 ldrls ip, [ip, #0]
35663 bls .L12001
35664 ldr r2, [ip, #0]
35665 cmp r2, #0
35666 beq .L11983
35667 ands r1, r2, #255
35668 beq .L11985
35669 ldr r3, [r6, #0]
35670 tst r3, #256
35671 movne r3, r3, lsr #16
35672 ldrne sl, [sp, #20]
35673 ldreq fp, [sp, #20]
35674 movne r3, r3, asl #16
35675 orrne r3, sl, r3
35676 orreq r3, fp, r3, asl #16
35677 orrne r3, r1, r3
35678 orreq r3, r1, r3
35679 strne r3, [r6, #0]
35680 streq r3, [r6, #0]
35681.L11985:
35682 mov r3, r2, lsr #8
35683 ands r1, r3, #255
35684 beq .L11989
35685 ldr r3, [r6, #4]
35686 tst r3, #256
35687 movne r3, r3, lsr #16
35688 ldrne lr, [sp, #20]
35689 ldreq r0, [sp, #20]
35690 movne r3, r3, asl #16
35691 orrne r3, lr, r3
35692 orreq r3, r0, r3, asl #16
35693 orrne r3, r1, r3
35694 orreq r3, r1, r3
35695 strne r3, [r6, #4]
35696 streq r3, [r6, #4]
35697.L11989:
35698 mov r3, r2, lsr #16
35699 ands r1, r3, #255
35700 beq .L11993
35701 ldr r3, [r6, #8]
35702 tst r3, #256
35703 movne r3, r3, lsr #16
35704 ldrne r5, [sp, #20]
35705 ldreq r7, [sp, #20]
35706 movne r3, r3, asl #16
35707 orrne r3, r5, r3
35708 orreq r3, r7, r3, asl #16
35709 orrne r3, r1, r3
35710 orreq r3, r1, r3
35711 strne r3, [r6, #8]
35712 streq r3, [r6, #8]
35713.L11993:
35714 movs r1, r2, lsr #24
35715 beq .L11983
35716 ldr r2, [r6, #12]
35717 tst r2, #256
35718 ldrne r8, [sp, #20]
35719 ldreq r9, [sp, #20]
35720 movne r3, r2, lsr #16
35721 movne r3, r3, asl #16
35722 orreq r3, r9, r1
35723 orrne r2, r8, r1
35724 orrne r3, r3, r2
35725 orreq r3, r3, r2, asl #16
35726 strne r3, [r6, #12]
35727 streq r3, [r6, #12]
35728.L11983:
35729 subs r4, r4, #4
35730 ldr ip, [ip, #4]
35731 addne r6, r6, #16
35732 beq .L11219
35733.L12001:
35734 mov lr, #0
35735.L12002:
35736 ands r3, ip, #255
35737 beq .L12003
35738 ldr r2, [r6, #0]
35739 ldr sl, [sp, #20]
35740 tst r2, #256
35741 orr r1, sl, r3
35742 orr r0, sl, r3
35743 mov r3, r2, lsr #16
35744 mov r3, r3, asl #16
35745 orr r3, r3, r1
35746 orr r1, r0, r2, asl #16
35747 strne r3, [r6, #0]
35748 streq r1, [r6, #0]
35749.L12003:
35750 add lr, lr, #1
35751 cmp lr, r4
35752 mov ip, ip, lsr #8
35753 add r6, r6, #4
35754 bcc .L12002
35755 b .L11219
35756.L12413:
35757 rsb sl, r6, r7
35758 cmp sl, #0
35759 ble .L11219
35760 ldr r9, [sp, #0]
35761 movs r8, sl, lsr #3
35762 add r7, r9, r6, asl #2
35763 beq .L12278
35764 ldr r3, .L12436+4
35765 mov r4, r7
35766 add r0, r0, r3
35767 mov r6, ip
35768 mov r1, #0
35769.L12280:
35770 ldr r2, [r0, #68]
35771 cmp r2, #0
35772 beq .L12281
35773 ands lr, r2, #255
35774 beq .L12283
35775 ldr r3, [r4, #12]
35776 tst r3, #256
35777 movne r3, r3, lsr #16
35778 ldrne fp, [sp, #20]
35779 ldreq r5, [sp, #20]
35780 movne r3, r3, asl #16
35781 orrne r3, fp, r3
35782 orreq r3, r5, r3, asl #16
35783 orrne r3, lr, r3
35784 orreq r3, lr, r3
35785 strne r3, [r4, #12]
35786 streq r3, [r4, #12]
35787.L12283:
35788 mov r3, r2, lsr #8
35789 ands lr, r3, #255
35790 beq .L12287
35791 ldr r3, [r4, #8]
35792 tst r3, #256
35793 movne r3, r3, lsr #16
35794 ldrne r9, [sp, #20]
35795 ldreq fp, [sp, #20]
35796 movne r3, r3, asl #16
35797 orrne r3, r9, r3
35798 orreq r3, fp, r3, asl #16
35799 orrne r3, lr, r3
35800 orreq r3, lr, r3
35801 strne r3, [r4, #8]
35802 streq r3, [r4, #8]
35803.L12287:
35804 mov r3, r2, lsr #16
35805 ands lr, r3, #255
35806 beq .L12291
35807 ldr r3, [r4, #4]
35808 tst r3, #256
35809 movne r3, r3, lsr #16
35810 ldrne r5, [sp, #20]
35811 ldreq r9, [sp, #20]
35812 movne r3, r3, asl #16
35813 orrne r3, r5, r3
35814 orreq r3, r9, r3, asl #16
35815 orrne r3, lr, r3
35816 orreq r3, lr, r3
35817 strne r3, [r4, #4]
35818 streq r3, [r4, #4]
35819.L12291:
35820 movs r2, r2, lsr #24
35821 beq .L12281
35822 ldr r3, [r4, #0]
35823 tst r3, #256
35824 movne r3, r3, lsr #16
35825 ldrne fp, [sp, #20]
35826 ldreq lr, [sp, #20]
35827 movne r3, r3, asl #16
35828 orrne r3, fp, r3
35829 orreq r3, lr, r3, asl #16
35830 orrne r3, r2, r3
35831 orreq r3, r2, r3
35832 strne r3, [r4, #0]
35833 streq r3, [r4, #0]
35834.L12281:
35835 ldr lr, [r6, #0]
35836 cmp lr, #0
35837 beq .L12298
35838 ands r5, lr, #255
35839 beq .L12300
35840 ldr r2, [r4, #28]
35841 tst r2, #256
35842 ldrne r9, [sp, #20]
35843 ldreq fp, [sp, #20]
35844 movne r3, r2, lsr #16
35845 movne r3, r3, asl #16
35846 orreq r3, fp, r5
35847 orrne r2, r9, r5
35848 orrne r3, r3, r2
35849 orreq r3, r3, r2, asl #16
35850 strne r3, [r4, #28]
35851 streq r3, [r4, #28]
35852.L12300:
35853 mov r3, lr, lsr #8
35854 ands r2, r3, #255
35855 beq .L12304
35856 ldr r3, [r4, #24]
35857 tst r3, #256
35858 movne r3, r3, lsr #16
35859 ldrne r5, [sp, #20]
35860 ldreq r9, [sp, #20]
35861 movne r3, r3, asl #16
35862 orrne r3, r5, r3
35863 orreq r3, r9, r3, asl #16
35864 orrne r3, r2, r3
35865 orreq r3, r2, r3
35866 strne r3, [r4, #24]
35867 streq r3, [r4, #24]
35868.L12304:
35869 mov r3, lr, lsr #16
35870 ands r2, r3, #255
35871 beq .L12308
35872 ldr r3, [r4, #20]
35873 tst r3, #256
35874 movne r3, r3, lsr #16
35875 ldrne fp, [sp, #20]
35876 ldreq r5, [sp, #20]
35877 movne r3, r3, asl #16
35878 orrne r3, fp, r3
35879 orreq r3, r5, r3, asl #16
35880 orrne r3, r2, r3
35881 orreq r3, r2, r3
35882 strne r3, [r4, #20]
35883 streq r3, [r4, #20]
35884.L12308:
35885 movs lr, lr, lsr #24
35886 beq .L12298
35887 ldr r2, [r4, #16]
35888 tst r2, #256
35889 ldrne r9, [sp, #20]
35890 ldreq fp, [sp, #20]
35891 movne r3, r2, lsr #16
35892 movne r3, r3, asl #16
35893 orreq r3, fp, lr
35894 orrne r2, r9, lr
35895 orrne r3, r3, r2
35896 orreq r3, r3, r2, asl #16
35897 strne r3, [r4, #16]
35898 streq r3, [r4, #16]
35899.L12298:
35900 add r1, r1, #1
35901 cmp r8, r1
35902 sub r6, r6, #64
35903 add r4, r4, #32
35904 sub r0, r0, #64
35905 bne .L12280
35906 rsb r3, r8, r8, asl #26
35907 add ip, ip, r3, asl #6
35908 add r7, r7, r8, asl #5
35909.L12278:
35910 ands r4, sl, #7
35911 beq .L11219
35912 cmp r4, #3
35913 ldrls ip, [ip, #4]
35914 bls .L12337
35915 ldr r2, [ip, #4]
35916 cmp r2, #0
35917 beq .L12319
35918 ands r1, r2, #255
35919 beq .L12321
35920 ldr r3, [r7, #12]
35921 tst r3, #256
35922 movne r3, r3, lsr #16
35923 ldrne lr, [sp, #20]
35924 ldreq r0, [sp, #20]
35925 movne r3, r3, asl #16
35926 orrne r3, lr, r3
35927 orreq r3, r0, r3, asl #16
35928 orrne r3, r1, r3
35929 orreq r3, r1, r3
35930 strne r3, [r7, #12]
35931 streq r3, [r7, #12]
35932.L12321:
35933 mov r3, r2, lsr #8
35934 ands r1, r3, #255
35935 beq .L12325
35936 ldr r3, [r7, #8]
35937 tst r3, #256
35938 movne r3, r3, lsr #16
35939 ldrne r5, [sp, #20]
35940 ldreq r6, [sp, #20]
35941 movne r3, r3, asl #16
35942 orrne r3, r5, r3
35943 orreq r3, r6, r3, asl #16
35944 orrne r3, r1, r3
35945 orreq r3, r1, r3
35946 strne r3, [r7, #8]
35947 streq r3, [r7, #8]
35948.L12325:
35949 mov r3, r2, lsr #16
35950 ands r1, r3, #255
35951 beq .L12329
35952 ldr r3, [r7, #4]
35953 tst r3, #256
35954 movne r3, r3, lsr #16
35955 ldrne r8, [sp, #20]
35956 ldreq r9, [sp, #20]
35957 movne r3, r3, asl #16
35958 orrne r3, r8, r3
35959 orreq r3, r9, r3, asl #16
35960 orrne r3, r1, r3
35961 orreq r3, r1, r3
35962 strne r3, [r7, #4]
35963 streq r3, [r7, #4]
35964.L12329:
35965 movs r2, r2, lsr #24
35966 beq .L12319
35967 ldr r3, [r7, #0]
35968 tst r3, #256
35969 movne r3, r3, lsr #16
35970 ldrne sl, [sp, #20]
35971 ldreq fp, [sp, #20]
35972 movne r3, r3, asl #16
35973 orrne r3, sl, r3
35974 orreq r3, fp, r3, asl #16
35975 orrne r3, r2, r3
35976 orreq r3, r2, r3
35977 strne r3, [r7, #0]
35978 streq r3, [r7, #0]
35979.L12319:
35980 subs r4, r4, #4
35981 ldr ip, [ip, #0]
35982 addne r7, r7, #16
35983 beq .L11219
35984.L12337:
35985 mov lr, #0
35986.L12338:
35987 movs r3, ip, lsr #24
35988 beq .L12339
35989 ldr r2, [r7, #0]
35990 ldr r0, [sp, #20]
35991 tst r2, #256
35992 orr r1, r0, r3
35993 orr r0, r0, r3
35994 mov r3, r2, lsr #16
35995 mov r3, r3, asl #16
35996 orr r3, r3, r1
35997 orr r1, r0, r2, asl #16
35998 strne r3, [r7, #0]
35999 streq r1, [r7, #0]
36000.L12339:
36001 add lr, lr, #1
36002 cmp r4, lr
36003 mov ip, ip, asl #8
36004 add r7, r7, #4
36005 bhi .L12338
36006 b .L11219
36007.L12048:
36008 mov r3, r0, lsr #3
36009 ands r2, r0, #7
36010 sub r4, ip, r3, asl #6
36011 ldreq r0, [sp, #68]
36012 beq .L12198
36013 cmp r2, #3
36014 rsb r6, r2, #8
36015 bhi .L12421
36016 subs r7, r6, #4
36017 ldr r1, [r4, #4]
36018 ldreq r1, [sp, #68]
36019 beq .L12213
36020 mov r3, r2, asl #3
36021 sub r3, r3, #32
36022 mov ip, r1, asl r3
36023 ldr lr, [sp, #68]
36024 mov r5, #0
36025.L12214:
36026 movs r3, ip, lsr #24
36027 beq .L12215
36028 ldr r2, [lr, #0]
36029 ldr r9, [sp, #20]
36030 tst r2, #256
36031 orr r1, r9, r3
36032 orr r0, r9, r3
36033 mov r3, r2, lsr #16
36034 mov r3, r3, asl #16
36035 orr r3, r3, r1
36036 orr r1, r0, r2, asl #16
36037 strne r3, [lr, #0]
36038 streq r1, [lr, #0]
36039.L12215:
36040 add r5, r5, #1
36041 cmp r7, r5
36042 mov ip, ip, asl #8
36043 add lr, lr, #4
36044 bne .L12214
36045 ldr sl, [sp, #68]
36046 add r3, sl, r6, asl #2
36047 sub r1, r3, #16
36048.L12213:
36049 ldr r2, [r4, #0]
36050 cmp r2, #0
36051 beq .L12221
36052 ands r0, r2, #255
36053 beq .L12223
36054 ldr r3, [r1, #12]
36055 tst r3, #256
36056 movne r3, r3, lsr #16
36057 ldrne fp, [sp, #20]
36058 ldreq ip, [sp, #20]
36059 movne r3, r3, asl #16
36060 orrne r3, fp, r3
36061 orreq r3, ip, r3, asl #16
36062 orrne r3, r0, r3
36063 orreq r3, r0, r3
36064 strne r3, [r1, #12]
36065 streq r3, [r1, #12]
36066.L12223:
36067 mov r3, r2, lsr #8
36068 ands r0, r3, #255
36069 beq .L12227
36070 ldr r3, [r1, #8]
36071 tst r3, #256
36072 movne r3, r3, lsr #16
36073 ldrne lr, [sp, #20]
36074 ldreq r5, [sp, #20]
36075 movne r3, r3, asl #16
36076 orrne r3, lr, r3
36077 orreq r3, r5, r3, asl #16
36078 orrne r3, r0, r3
36079 orreq r3, r0, r3
36080 strne r3, [r1, #8]
36081 streq r3, [r1, #8]
36082.L12227:
36083 mov r3, r2, lsr #16
36084 ands r0, r3, #255
36085 beq .L12231
36086 ldr r3, [r1, #4]
36087 tst r3, #256
36088 movne r3, r3, lsr #16
36089 ldrne r6, [sp, #20]
36090 ldreq r7, [sp, #20]
36091 movne r3, r3, asl #16
36092 orrne r3, r6, r3
36093 orreq r3, r7, r3, asl #16
36094 orrne r3, r0, r3
36095 orreq r3, r0, r3
36096 strne r3, [r1, #4]
36097 streq r3, [r1, #4]
36098.L12231:
36099 movs r2, r2, lsr #24
36100 beq .L12221
36101 ldr r3, [r1, #0]
36102 tst r3, #256
36103 beq .L12236
36104 mov r3, r3, lsr #16
36105 ldr r9, [sp, #20]
36106 mov r3, r3, asl #16
36107 orr r3, r9, r3
36108 orr r3, r2, r3
36109 str r3, [r1, #0]
36110.L12221:
36111 add r0, r1, #16
36112.L12203:
36113 sub r4, r4, #64
36114.L12198:
36115 movs r5, r8, lsr #3
36116 beq .L11219
36117 mov lr, #0
36118 b .L12239
36119.L12422:
36120 sub r4, r4, #64
36121 add r0, r0, #32
36122.L12239:
36123 ldr r2, [r4, #4]
36124 cmp r2, #0
36125 beq .L12240
36126 ands r1, r2, #255
36127 beq .L12242
36128 ldr r3, [r0, #12]
36129 tst r3, #256
36130 movne r3, r3, lsr #16
36131 ldrne ip, [sp, #20]
36132 ldreq r6, [sp, #20]
36133 movne r3, r3, asl #16
36134 orrne r3, ip, r3
36135 orreq r3, r6, r3, asl #16
36136 orrne r3, r1, r3
36137 orreq r3, r1, r3
36138 strne r3, [r0, #12]
36139 streq r3, [r0, #12]
36140.L12242:
36141 mov r3, r2, lsr #8
36142 ands r1, r3, #255
36143 beq .L12246
36144 ldr r3, [r0, #8]
36145 tst r3, #256
36146 movne r3, r3, lsr #16
36147 ldrne r7, [sp, #20]
36148 ldreq r8, [sp, #20]
36149 movne r3, r3, asl #16
36150 orrne r3, r7, r3
36151 orreq r3, r8, r3, asl #16
36152 orrne r3, r1, r3
36153 orreq r3, r1, r3
36154 strne r3, [r0, #8]
36155 streq r3, [r0, #8]
36156.L12246:
36157 mov r3, r2, lsr #16
36158 ands r1, r3, #255
36159 beq .L12250
36160 ldr r3, [r0, #4]
36161 tst r3, #256
36162 movne r3, r3, lsr #16
36163 ldrne r9, [sp, #20]
36164 ldreq sl, [sp, #20]
36165 movne r3, r3, asl #16
36166 orrne r3, r9, r3
36167 orreq r3, sl, r3, asl #16
36168 orrne r3, r1, r3
36169 orreq r3, r1, r3
36170 strne r3, [r0, #4]
36171 streq r3, [r0, #4]
36172.L12250:
36173 movs r2, r2, lsr #24
36174 beq .L12240
36175 ldr r3, [r0, #0]
36176 tst r3, #256
36177 movne r3, r3, lsr #16
36178 ldrne fp, [sp, #20]
36179 ldreq ip, [sp, #20]
36180 movne r3, r3, asl #16
36181 orrne r3, fp, r3
36182 orreq r3, ip, r3, asl #16
36183 orrne r3, r2, r3
36184 orreq r3, r2, r3
36185 strne r3, [r0, #0]
36186 streq r3, [r0, #0]
36187.L12240:
36188 ldr r1, [r4, #0]
36189 cmp r1, #0
36190 beq .L12257
36191 ands ip, r1, #255
36192 beq .L12259
36193 ldr r2, [r0, #28]
36194 tst r2, #256
36195 ldrne r6, [sp, #20]
36196 ldreq r7, [sp, #20]
36197 movne r3, r2, lsr #16
36198 movne r3, r3, asl #16
36199 orreq r3, r7, ip
36200 orrne r2, r6, ip
36201 orrne r3, r3, r2
36202 orreq r3, r3, r2, asl #16
36203 strne r3, [r0, #28]
36204 streq r3, [r0, #28]
36205.L12259:
36206 mov r3, r1, lsr #8
36207 ands r2, r3, #255
36208 beq .L12263
36209 ldr r3, [r0, #24]
36210 tst r3, #256
36211 movne r3, r3, lsr #16
36212 ldrne r8, [sp, #20]
36213 ldreq r9, [sp, #20]
36214 movne r3, r3, asl #16
36215 orrne r3, r8, r3
36216 orreq r3, r9, r3, asl #16
36217 orrne r3, r2, r3
36218 orreq r3, r2, r3
36219 strne r3, [r0, #24]
36220 streq r3, [r0, #24]
36221.L12263:
36222 mov r3, r1, lsr #16
36223 ands r2, r3, #255
36224 beq .L12267
36225 ldr r3, [r0, #20]
36226 tst r3, #256
36227 movne r3, r3, lsr #16
36228 ldrne sl, [sp, #20]
36229 ldreq fp, [sp, #20]
36230 movne r3, r3, asl #16
36231 orrne r3, sl, r3
36232 orreq r3, fp, r3, asl #16
36233 orrne r3, r2, r3
36234 orreq r3, r2, r3
36235 strne r3, [r0, #20]
36236 streq r3, [r0, #20]
36237.L12267:
36238 movs r1, r1, lsr #24
36239 beq .L12257
36240 ldr r2, [r0, #16]
36241 tst r2, #256
36242 ldrne ip, [sp, #20]
36243 ldreq r6, [sp, #20]
36244 movne r3, r2, lsr #16
36245 movne r3, r3, asl #16
36246 orreq r3, r6, r1
36247 orrne r2, ip, r1
36248 orrne r3, r3, r2
36249 orreq r3, r3, r2, asl #16
36250 strne r3, [r0, #16]
36251 streq r3, [r0, #16]
36252.L12257:
36253 add lr, lr, #1
36254 cmp lr, r5
36255 bne .L12422
36256 b .L11219
36257.L11712:
36258 ands r2, r0, #7
36259 mov r3, r0, lsr #3
36260 add r4, ip, r3, asl #6
36261 ldreq r1, [sp, #68]
36262 beq .L11862
36263 cmp r2, #3
36264 rsb r6, r2, #8
36265 bhi .L12423
36266 subs r7, r6, #4
36267 ldr r1, [r4, #0]
36268 ldreq r1, [sp, #68]
36269 beq .L11877
36270 mov r3, r2, asl #3
36271 mov ip, r1, lsr r3
36272 ldr lr, [sp, #68]
36273 mov r5, #0
36274.L11878:
36275 ands r3, ip, #255
36276 beq .L11879
36277 ldr r2, [lr, #0]
36278 ldr r9, [sp, #20]
36279 tst r2, #256
36280 orr r1, r9, r3
36281 orr r0, r9, r3
36282 mov r3, r2, lsr #16
36283 mov r3, r3, asl #16
36284 orr r3, r3, r1
36285 orr r1, r0, r2, asl #16
36286 strne r3, [lr, #0]
36287 streq r1, [lr, #0]
36288.L11879:
36289 add r5, r5, #1
36290 cmp r7, r5
36291 mov ip, ip, lsr #8
36292 add lr, lr, #4
36293 bne .L11878
36294 ldr sl, [sp, #68]
36295 add r3, sl, r6, asl #2
36296 sub r1, r3, #16
36297.L11877:
36298 ldr r2, [r4, #4]
36299 cmp r2, #0
36300 beq .L11885
36301 ands r0, r2, #255
36302 beq .L11887
36303 ldr r3, [r1, #0]
36304 tst r3, #256
36305 movne r3, r3, lsr #16
36306 ldrne fp, [sp, #20]
36307 ldreq ip, [sp, #20]
36308 movne r3, r3, asl #16
36309 orrne r3, fp, r3
36310 orreq r3, ip, r3, asl #16
36311 orrne r3, r0, r3
36312 orreq r3, r0, r3
36313 strne r3, [r1, #0]
36314 streq r3, [r1, #0]
36315.L11887:
36316 mov r3, r2, lsr #8
36317 ands r0, r3, #255
36318 beq .L11891
36319 ldr r3, [r1, #4]
36320 tst r3, #256
36321 movne r3, r3, lsr #16
36322 ldrne lr, [sp, #20]
36323 ldreq r5, [sp, #20]
36324 movne r3, r3, asl #16
36325 orrne r3, lr, r3
36326 orreq r3, r5, r3, asl #16
36327 orrne r3, r0, r3
36328 orreq r3, r0, r3
36329 strne r3, [r1, #4]
36330 streq r3, [r1, #4]
36331.L11891:
36332 mov r3, r2, lsr #16
36333 ands r0, r3, #255
36334 beq .L11895
36335 ldr r3, [r1, #8]
36336 tst r3, #256
36337 movne r3, r3, lsr #16
36338 ldrne r6, [sp, #20]
36339 ldreq r7, [sp, #20]
36340 movne r3, r3, asl #16
36341 orrne r3, r6, r3
36342 orreq r3, r7, r3, asl #16
36343 orrne r3, r0, r3
36344 orreq r3, r0, r3
36345 strne r3, [r1, #8]
36346 streq r3, [r1, #8]
36347.L11895:
36348 movs r2, r2, lsr #24
36349 beq .L11885
36350 ldr r3, [r1, #12]
36351 tst r3, #256
36352 beq .L11900
36353 mov r3, r3, lsr #16
36354 ldr r9, [sp, #20]
36355 mov r3, r3, asl #16
36356 orr r3, r9, r3
36357 orr r3, r2, r3
36358 str r3, [r1, #12]
36359.L11885:
36360 add r1, r1, #16
36361.L11867:
36362 add r4, r4, #64
36363.L11862:
36364 movs lr, r8, lsr #3
36365 beq .L11219
36366 mov ip, #0
36367 b .L11903
36368.L12424:
36369 add r4, r4, #64
36370 add r1, r1, #32
36371.L11903:
36372 ldr r2, [r4, #0]
36373 cmp r2, #0
36374 beq .L11904
36375 ands r0, r2, #255
36376 beq .L11906
36377 ldr r3, [r1, #0]
36378 tst r3, #256
36379 movne r3, r3, lsr #16
36380 ldrne r5, [sp, #20]
36381 ldreq r6, [sp, #20]
36382 movne r3, r3, asl #16
36383 orrne r3, r5, r3
36384 orreq r3, r6, r3, asl #16
36385 orrne r3, r0, r3
36386 orreq r3, r0, r3
36387 strne r3, [r1, #0]
36388 streq r3, [r1, #0]
36389.L11906:
36390 mov r3, r2, lsr #8
36391 ands r0, r3, #255
36392 beq .L11910
36393 ldr r3, [r1, #4]
36394 tst r3, #256
36395 movne r3, r3, lsr #16
36396 ldrne r7, [sp, #20]
36397 ldreq r8, [sp, #20]
36398 movne r3, r3, asl #16
36399 orrne r3, r7, r3
36400 orreq r3, r8, r3, asl #16
36401 orrne r3, r0, r3
36402 orreq r3, r0, r3
36403 strne r3, [r1, #4]
36404 streq r3, [r1, #4]
36405.L11910:
36406 mov r3, r2, lsr #16
36407 ands r0, r3, #255
36408 beq .L11914
36409 ldr r3, [r1, #8]
36410 tst r3, #256
36411 movne r3, r3, lsr #16
36412 ldrne r9, [sp, #20]
36413 ldreq sl, [sp, #20]
36414 movne r3, r3, asl #16
36415 orrne r3, r9, r3
36416 orreq r3, sl, r3, asl #16
36417 orrne r3, r0, r3
36418 orreq r3, r0, r3
36419 strne r3, [r1, #8]
36420 streq r3, [r1, #8]
36421.L11914:
36422 movs r0, r2, lsr #24
36423 beq .L11904
36424 ldr r2, [r1, #12]
36425 tst r2, #256
36426 ldrne fp, [sp, #20]
36427 ldreq r5, [sp, #20]
36428 movne r3, r2, lsr #16
36429 movne r3, r3, asl #16
36430 orreq r3, r5, r0
36431 orrne r2, fp, r0
36432 orrne r3, r3, r2
36433 orreq r3, r3, r2, asl #16
36434 strne r3, [r1, #12]
36435 streq r3, [r1, #12]
36436.L11904:
36437 ldr r2, [r4, #4]
36438 cmp r2, #0
36439 beq .L11921
36440 ands r0, r2, #255
36441 beq .L11923
36442 ldr r3, [r1, #16]
36443 tst r3, #256
36444 movne r3, r3, lsr #16
36445 ldrne r6, [sp, #20]
36446 ldreq r7, [sp, #20]
36447 movne r3, r3, asl #16
36448 orrne r3, r6, r3
36449 orreq r3, r7, r3, asl #16
36450 orrne r3, r0, r3
36451 orreq r3, r0, r3
36452 strne r3, [r1, #16]
36453 streq r3, [r1, #16]
36454.L11923:
36455 mov r3, r2, lsr #8
36456 ands r0, r3, #255
36457 beq .L11927
36458 ldr r3, [r1, #20]
36459 tst r3, #256
36460 movne r3, r3, lsr #16
36461 ldrne r8, [sp, #20]
36462 ldreq r9, [sp, #20]
36463 movne r3, r3, asl #16
36464 orrne r3, r8, r3
36465 orreq r3, r9, r3, asl #16
36466 orrne r3, r0, r3
36467 orreq r3, r0, r3
36468 strne r3, [r1, #20]
36469 streq r3, [r1, #20]
36470.L11927:
36471 mov r3, r2, lsr #16
36472 ands r0, r3, #255
36473 beq .L11931
36474 ldr r3, [r1, #24]
36475 tst r3, #256
36476 movne r3, r3, lsr #16
36477 ldrne sl, [sp, #20]
36478 ldreq fp, [sp, #20]
36479 movne r3, r3, asl #16
36480 orrne r3, sl, r3
36481 orreq r3, fp, r3, asl #16
36482 orrne r3, r0, r3
36483 orreq r3, r0, r3
36484 strne r3, [r1, #24]
36485 streq r3, [r1, #24]
36486.L11931:
36487 movs r2, r2, lsr #24
36488 beq .L11921
36489 ldr r3, [r1, #28]
36490 tst r3, #256
36491 movne r3, r3, lsr #16
36492 ldrne r0, [sp, #20]
36493 ldreq r5, [sp, #20]
36494 movne r3, r3, asl #16
36495 orrne r3, r0, r3
36496 orreq r3, r5, r3, asl #16
36497 orrne r3, r2, r3
36498 orreq r3, r2, r3
36499 strne r3, [r1, #28]
36500 streq r3, [r1, #28]
36501.L11921:
36502 add ip, ip, #1
36503 cmp ip, lr
36504 bne .L12424
36505 b .L11219
36506.L11508:
36507 ands r2, lr, #7
36508 mov r3, lr, lsr #3
36509 sub ip, r0, r3, asl #5
36510 ldreq r0, [sp, #68]
36511 beq .L11579
36512 rsbs r6, r2, #8
36513 ldr r1, [ip, #0]
36514 ldreq r0, [sp, #68]
36515 beq .L11582
36516 mov r3, r2, asl #2
36517 mov lr, r1, asl r3
36518 ldr r4, [sp, #68]
36519 mov r5, #0
36520.L11583:
36521 movs r3, lr, lsr #28
36522 beq .L11584
36523 ldr r1, [r4, #0]
36524 ldr fp, [sp, #20]
36525 orr r2, r8, r3
36526 mov r3, r1, lsr #16
36527 orr r0, fp, r2
36528 mov r3, r3, asl #16
36529 orr r2, fp, r2
36530 tst r1, #256
36531 orr r3, r3, r0
36532 orr r2, r2, r1, asl #16
36533 strne r3, [r4, #0]
36534 streq r2, [r4, #0]
36535.L11584:
36536 add r5, r5, #1
36537 cmp r5, r6
36538 mov lr, lr, asl #4
36539 add r4, r4, #4
36540 bne .L11583
36541 ldr lr, [sp, #68]
36542 add r0, lr, r6, asl #2
36543.L11582:
36544 sub ip, ip, #32
36545.L11579:
36546 movs r5, sl, lsr #3
36547 beq .L11219
36548 mov r4, #0
36549 b .L11591
36550.L12437:
36551 .align 2
36552.L12436:
36553 .word vram+65600
36554 .word vram+65472
36555.L12425:
36556 sub ip, ip, #32
36557 add r0, r0, #32
36558.L11591:
36559 ldr r1, [ip, #0]
36560 cmp r1, #0
36561 beq .L11592
36562 ands r3, r1, #15
36563 beq .L11594
36564 ldr r2, [r0, #28]
36565 orr lr, r8, r3
36566 tst r2, #256
36567 ldrne r6, [sp, #20]
36568 ldreq r7, [sp, #20]
36569 movne r3, r2, lsr #16
36570 movne r3, r3, asl #16
36571 orreq r3, r7, lr
36572 orrne r2, r6, lr
36573 orrne r3, r3, r2
36574 orreq r3, r3, r2, asl #16
36575 strne r3, [r0, #28]
36576 streq r3, [r0, #28]
36577.L11594:
36578 mov r3, r1, lsr #4
36579 ands r3, r3, #15
36580 beq .L11598
36581 ldr r2, [r0, #24]
36582 orr lr, r8, r3
36583 tst r2, #256
36584 ldrne r9, [sp, #20]
36585 ldreq sl, [sp, #20]
36586 movne r3, r2, lsr #16
36587 movne r3, r3, asl #16
36588 orreq r3, sl, lr
36589 orrne r2, r9, lr
36590 orrne r3, r3, r2
36591 orreq r3, r3, r2, asl #16
36592 strne r3, [r0, #24]
36593 streq r3, [r0, #24]
36594.L11598:
36595 mov r3, r1, lsr #8
36596 ands r3, r3, #15
36597 beq .L11602
36598 ldr r2, [r0, #20]
36599 orr lr, r8, r3
36600 tst r2, #256
36601 ldrne fp, [sp, #20]
36602 ldreq r6, [sp, #20]
36603 movne r3, r2, lsr #16
36604 movne r3, r3, asl #16
36605 orreq r3, r6, lr
36606 orrne r2, fp, lr
36607 orrne r3, r3, r2
36608 orreq r3, r3, r2, asl #16
36609 strne r3, [r0, #20]
36610 streq r3, [r0, #20]
36611.L11602:
36612 mov r3, r1, lsr #12
36613 ands r3, r3, #15
36614 beq .L11606
36615 ldr r2, [r0, #16]
36616 orr lr, r8, r3
36617 tst r2, #256
36618 ldrne r7, [sp, #20]
36619 ldreq r9, [sp, #20]
36620 movne r3, r2, lsr #16
36621 movne r3, r3, asl #16
36622 orreq r3, r9, lr
36623 orrne r2, r7, lr
36624 orrne r3, r3, r2
36625 orreq r3, r3, r2, asl #16
36626 strne r3, [r0, #16]
36627 streq r3, [r0, #16]
36628.L11606:
36629 mov r3, r1, lsr #16
36630 ands r3, r3, #15
36631 beq .L11610
36632 ldr r2, [r0, #12]
36633 orr lr, r8, r3
36634 tst r2, #256
36635 ldrne sl, [sp, #20]
36636 ldreq fp, [sp, #20]
36637 movne r3, r2, lsr #16
36638 movne r3, r3, asl #16
36639 orreq r3, fp, lr
36640 orrne r2, sl, lr
36641 orrne r3, r3, r2
36642 orreq r3, r3, r2, asl #16
36643 strne r3, [r0, #12]
36644 streq r3, [r0, #12]
36645.L11610:
36646 mov r3, r1, lsr #20
36647 ands r3, r3, #15
36648 beq .L11614
36649 ldr r2, [r0, #8]
36650 orr lr, r8, r3
36651 tst r2, #256
36652 ldrne r6, [sp, #20]
36653 ldreq r7, [sp, #20]
36654 movne r3, r2, lsr #16
36655 movne r3, r3, asl #16
36656 orreq r3, r7, lr
36657 orrne r2, r6, lr
36658 orrne r3, r3, r2
36659 orreq r3, r3, r2, asl #16
36660 strne r3, [r0, #8]
36661 streq r3, [r0, #8]
36662.L11614:
36663 mov r3, r1, lsr #24
36664 ands r3, r3, #15
36665 beq .L11618
36666 ldr r2, [r0, #4]
36667 orr lr, r8, r3
36668 tst r2, #256
36669 ldrne r9, [sp, #20]
36670 ldreq sl, [sp, #20]
36671 movne r3, r2, lsr #16
36672 movne r3, r3, asl #16
36673 orreq r3, sl, lr
36674 orrne r2, r9, lr
36675 orrne r3, r3, r2
36676 orreq r3, r3, r2, asl #16
36677 strne r3, [r0, #4]
36678 streq r3, [r0, #4]
36679.L11618:
36680 movs r3, r1, lsr #28
36681 beq .L11592
36682 ldr r2, [r0, #0]
36683 orr r1, r8, r3
36684 tst r2, #256
36685 ldrne fp, [sp, #20]
36686 ldreq lr, [sp, #20]
36687 movne r3, r2, lsr #16
36688 movne r3, r3, asl #16
36689 orreq r3, lr, r1
36690 orrne r2, fp, r1
36691 orrne r3, r3, r2
36692 orreq r3, r3, r2, asl #16
36693 strne r3, [r0, #0]
36694 streq r3, [r0, #0]
36695.L11592:
36696 add r4, r4, #1
36697 cmp r5, r4
36698 bne .L12425
36699 b .L11219
36700.L11304:
36701 mov r3, lr, lsr #3
36702 mov r1, r3, asl #5
36703 ands r3, lr, #7
36704 add r6, r0, r1
36705 ldreq r0, [sp, #68]
36706 beq .L11375
36707 rsbs r7, r3, #8
36708 ldr r0, [r0, r1]
36709 ldreq r0, [sp, #68]
36710 beq .L11378
36711 mov r3, r3, asl #2
36712 mov ip, r0, lsr r3
36713 ldr lr, [sp, #68]
36714 mov r4, #0
36715.L11379:
36716 ands r3, ip, #15
36717 beq .L11380
36718 ldr r1, [lr, #0]
36719 ldr fp, [sp, #20]
36720 orr r2, r8, r3
36721 mov r3, r1, lsr #16
36722 orr r0, fp, r2
36723 mov r3, r3, asl #16
36724 orr r2, fp, r2
36725 tst r1, #256
36726 orr r3, r3, r0
36727 orr r2, r2, r1, asl #16
36728 strne r3, [lr, #0]
36729 streq r2, [lr, #0]
36730.L11380:
36731 add r4, r4, #1
36732 cmp r7, r4
36733 mov ip, ip, lsr #4
36734 add lr, lr, #4
36735 bne .L11379
36736 ldr ip, [sp, #68]
36737 add r0, ip, r7, asl #2
36738.L11378:
36739 add r6, r6, #32
36740.L11375:
36741 movs r4, r5, lsr #3
36742 beq .L11219
36743 mov lr, #0
36744 b .L11387
36745.L12426:
36746 add r6, r6, #32
36747 add r0, r0, #32
36748.L11387:
36749 ldr r1, [r6, #0]
36750 cmp r1, #0
36751 beq .L11388
36752 ands r3, r1, #15
36753 beq .L11390
36754 ldr r2, [r0, #0]
36755 orr ip, r8, r3
36756 tst r2, #256
36757 ldrne r5, [sp, #20]
36758 ldreq r7, [sp, #20]
36759 movne r3, r2, lsr #16
36760 movne r3, r3, asl #16
36761 orreq r3, r7, ip
36762 orrne r2, r5, ip
36763 orrne r3, r3, r2
36764 orreq r3, r3, r2, asl #16
36765 strne r3, [r0, #0]
36766 streq r3, [r0, #0]
36767.L11390:
36768 mov r3, r1, lsr #4
36769 ands r3, r3, #15
36770 beq .L11394
36771 ldr r2, [r0, #4]
36772 orr ip, r8, r3
36773 tst r2, #256
36774 ldrne r9, [sp, #20]
36775 ldreq sl, [sp, #20]
36776 movne r3, r2, lsr #16
36777 movne r3, r3, asl #16
36778 orreq r3, sl, ip
36779 orrne r2, r9, ip
36780 orrne r3, r3, r2
36781 orreq r3, r3, r2, asl #16
36782 strne r3, [r0, #4]
36783 streq r3, [r0, #4]
36784.L11394:
36785 mov r3, r1, lsr #8
36786 ands r3, r3, #15
36787 beq .L11398
36788 ldr r2, [r0, #8]
36789 orr ip, r8, r3
36790 tst r2, #256
36791 ldrne fp, [sp, #20]
36792 ldreq r5, [sp, #20]
36793 movne r3, r2, lsr #16
36794 movne r3, r3, asl #16
36795 orreq r3, r5, ip
36796 orrne r2, fp, ip
36797 orrne r3, r3, r2
36798 orreq r3, r3, r2, asl #16
36799 strne r3, [r0, #8]
36800 streq r3, [r0, #8]
36801.L11398:
36802 mov r3, r1, lsr #12
36803 ands r3, r3, #15
36804 beq .L11402
36805 ldr r2, [r0, #12]
36806 orr ip, r8, r3
36807 tst r2, #256
36808 ldrne r7, [sp, #20]
36809 ldreq r9, [sp, #20]
36810 movne r3, r2, lsr #16
36811 movne r3, r3, asl #16
36812 orreq r3, r9, ip
36813 orrne r2, r7, ip
36814 orrne r3, r3, r2
36815 orreq r3, r3, r2, asl #16
36816 strne r3, [r0, #12]
36817 streq r3, [r0, #12]
36818.L11402:
36819 mov r3, r1, lsr #16
36820 ands r3, r3, #15
36821 beq .L11406
36822 ldr r2, [r0, #16]
36823 orr ip, r8, r3
36824 tst r2, #256
36825 ldrne sl, [sp, #20]
36826 ldreq fp, [sp, #20]
36827 movne r3, r2, lsr #16
36828 movne r3, r3, asl #16
36829 orreq r3, fp, ip
36830 orrne r2, sl, ip
36831 orrne r3, r3, r2
36832 orreq r3, r3, r2, asl #16
36833 strne r3, [r0, #16]
36834 streq r3, [r0, #16]
36835.L11406:
36836 mov r3, r1, lsr #20
36837 ands r3, r3, #15
36838 beq .L11410
36839 ldr r2, [r0, #20]
36840 orr ip, r8, r3
36841 tst r2, #256
36842 ldrne r5, [sp, #20]
36843 ldreq r7, [sp, #20]
36844 movne r3, r2, lsr #16
36845 movne r3, r3, asl #16
36846 orreq r3, r7, ip
36847 orrne r2, r5, ip
36848 orrne r3, r3, r2
36849 orreq r3, r3, r2, asl #16
36850 strne r3, [r0, #20]
36851 streq r3, [r0, #20]
36852.L11410:
36853 mov r3, r1, lsr #24
36854 ands r3, r3, #15
36855 beq .L11414
36856 ldr r2, [r0, #24]
36857 orr ip, r8, r3
36858 tst r2, #256
36859 ldrne r9, [sp, #20]
36860 ldreq sl, [sp, #20]
36861 movne r3, r2, lsr #16
36862 movne r3, r3, asl #16
36863 orreq r3, sl, ip
36864 orrne r2, r9, ip
36865 orrne r3, r3, r2
36866 orreq r3, r3, r2, asl #16
36867 strne r3, [r0, #24]
36868 streq r3, [r0, #24]
36869.L11414:
36870 movs r3, r1, lsr #28
36871 beq .L11388
36872 ldr r2, [r0, #28]
36873 orr r1, r8, r3
36874 tst r2, #256
36875 ldrne fp, [sp, #20]
36876 ldreq ip, [sp, #20]
36877 movne r3, r2, lsr #16
36878 movne r3, r3, asl #16
36879 orreq r3, ip, r1
36880 orrne r2, fp, r1
36881 orrne r3, r3, r2
36882 orreq r3, r3, r2, asl #16
36883 strne r3, [r0, #28]
36884 streq r3, [r0, #28]
36885.L11388:
36886 add lr, lr, #1
36887 cmp r4, lr
36888 bne .L12426
36889 b .L11219
36890.L11268:
36891 mov r1, r2
36892 b .L12397
36893.L11510:
36894 ldr lr, [sp, #92]
36895 rsb r6, r4, #8
36896 cmp lr, r6
36897 blt .L12427
36898 cmp r6, #0
36899 ldr r2, [ip, #0]
36900 ldreq r5, [sp, #68]
36901 beq .L11525
36902 mov r3, r4, asl #2
36903 mov lr, r2, asl r3
36904 ldr r4, [sp, #68]
36905 mov r5, #0
36906.L11526:
36907 movs r3, lr, lsr #28
36908 beq .L11527
36909 ldr r1, [r4, #0]
36910 ldr r7, [sp, #20]
36911 orr r2, r8, r3
36912 mov r3, r1, lsr #16
36913 orr r0, r7, r2
36914 mov r3, r3, asl #16
36915 orr r2, r7, r2
36916 tst r1, #256
36917 orr r3, r3, r0
36918 orr r2, r2, r1, asl #16
36919 strne r3, [r4, #0]
36920 streq r2, [r4, #0]
36921.L11527:
36922 add r5, r5, #1
36923 cmp r6, r5
36924 mov lr, lr, asl #4
36925 add r4, r4, #4
36926 bne .L11526
36927 ldr r9, [sp, #68]
36928 add r5, r9, r6, asl #2
36929.L11525:
36930 ldr fp, [sp, #92]
36931 sub ip, ip, #32
36932 rsb sl, r6, fp
36933 b .L11512
36934.L12050:
36935 ldr r0, [sp, #92]
36936 rsb r5, lr, #8
36937 cmp r0, r5
36938 blt .L12428
36939 cmp lr, #3
36940 bls .L12091
36941 cmp r5, #0
36942 ldr r2, [r8, #0]
36943 ldreq r4, [sp, #68]
36944 beq .L12095
36945 mov r3, lr, asl #3
36946 sub r3, r3, #32
36947 mov ip, r2, asl r3
36948 ldr lr, [sp, #68]
36949 mov r4, #0
36950.L12096:
36951 movs r3, ip, lsr #24
36952 beq .L12097
36953 ldr r2, [lr, #0]
36954 ldr r7, [sp, #20]
36955 tst r2, #256
36956 orr r1, r7, r3
36957 orr r0, r7, r3
36958 mov r3, r2, lsr #16
36959 mov r3, r3, asl #16
36960 orr r3, r3, r1
36961 orr r1, r0, r2, asl #16
36962 strne r3, [lr, #0]
36963 streq r1, [lr, #0]
36964.L12097:
36965 add r4, r4, #1
36966 cmp r5, r4
36967 mov ip, ip, asl #8
36968 add lr, lr, #4
36969 bne .L12096
36970 ldr sl, [sp, #68]
36971 add r4, sl, r5, asl #2
36972.L12095:
36973 ldr ip, [sp, #92]
36974 sub r8, r8, #64
36975 rsb r7, r5, ip
36976 b .L12052
36977.L11714:
36978 ldr sl, [sp, #92]
36979 rsb r5, lr, #8
36980 cmp sl, r5
36981 blt .L12429
36982 cmp lr, #3
36983 bls .L11755
36984 cmp r5, #0
36985 ldr r2, [r7, #4]
36986 ldreq r4, [sp, #68]
36987 beq .L11759
36988 mov r3, lr, asl #3
36989 sub r3, r3, #32
36990 mov ip, r2, lsr r3
36991 ldr lr, [sp, #68]
36992 mov r4, #0
36993.L11760:
36994 ands r3, ip, #255
36995 beq .L11761
36996 ldr r2, [lr, #0]
36997 ldr r6, [sp, #20]
36998 tst r2, #256
36999 orr r1, r6, r3
37000 orr r0, r6, r3
37001 mov r3, r2, lsr #16
37002 mov r3, r3, asl #16
37003 orr r3, r3, r1
37004 orr r1, r0, r2, asl #16
37005 strne r3, [lr, #0]
37006 streq r1, [lr, #0]
37007.L11761:
37008 add r4, r4, #1
37009 cmp r5, r4
37010 mov ip, ip, lsr #8
37011 add lr, lr, #4
37012 bne .L11760
37013 ldr r9, [sp, #68]
37014 add r4, r9, r5, asl #2
37015.L11759:
37016 ldr fp, [sp, #92]
37017 add r7, r7, #64
37018 rsb r6, r5, fp
37019 b .L11716
37020.L11306:
37021 ldr fp, [sp, #92]
37022 rsb r5, r3, #8
37023 cmp fp, r5
37024 blt .L12430
37025 cmp r5, #0
37026 ldr r2, [r6, #0]
37027 ldreq r4, [sp, #68]
37028 beq .L11321
37029 mov r3, r3, asl #2
37030 mov ip, r2, lsr r3
37031 ldr lr, [sp, #68]
37032 mov r4, #0
37033.L11322:
37034 ands r3, ip, #15
37035 beq .L11323
37036 ldr r1, [lr, #0]
37037 ldr r7, [sp, #20]
37038 orr r2, r8, r3
37039 mov r3, r1, lsr #16
37040 orr r0, r7, r2
37041 mov r3, r3, asl #16
37042 orr r2, r7, r2
37043 tst r1, #256
37044 orr r3, r3, r0
37045 orr r2, r2, r1, asl #16
37046 strne r3, [lr, #0]
37047 streq r2, [lr, #0]
37048.L11323:
37049 add r4, r4, #1
37050 cmp r5, r4
37051 mov ip, ip, lsr #4
37052 add lr, lr, #4
37053 bne .L11322
37054 ldr r9, [sp, #68]
37055 add r4, r9, r5, asl #2
37056.L11321:
37057 ldr fp, [sp, #92]
37058 add r6, r6, #32
37059 rsb sl, r5, fp
37060 b .L11308
37061.L12423:
37062 cmp r6, #0
37063 ldr r1, [r4, #4]
37064 ldreq r1, [sp, #68]
37065 beq .L11867
37066 mov r3, r2, asl #3
37067 sub r3, r3, #32
37068 mov ip, r1, lsr r3
37069 ldr lr, [sp, #68]
37070 mov r5, #0
37071.L11868:
37072 ands r3, ip, #255
37073 beq .L11869
37074 ldr r2, [lr, #0]
37075 ldr r7, [sp, #20]
37076 tst r2, #256
37077 orr r1, r7, r3
37078 orr r0, r7, r3
37079 mov r3, r2, lsr #16
37080 mov r3, r3, asl #16
37081 orr r3, r3, r1
37082 orr r1, r0, r2, asl #16
37083 strne r3, [lr, #0]
37084 streq r1, [lr, #0]
37085.L11869:
37086 add r5, r5, #1
37087 cmp r5, r6
37088 mov ip, ip, lsr #8
37089 add lr, lr, #4
37090 bne .L11868
37091 ldr sl, [sp, #68]
37092 add r4, r4, #64
37093 add r1, sl, r6, asl #2
37094 b .L11862
37095.L12430:
37096 cmp fp, #0
37097 ble .L11219
37098 ldr r2, [r0, r1]
37099 mov r3, r3, asl #2
37100 mov ip, r2, lsr r3
37101 ldr lr, [sp, #68]
37102 mov r4, #0
37103.L11313:
37104 ands r3, ip, #15
37105 beq .L11314
37106 ldr r1, [lr, #0]
37107 orr r2, r8, r3
37108 ldr r3, [sp, #20]
37109 ldr r5, [sp, #20]
37110 orr r0, r3, r2
37111 mov r3, r1, lsr #16
37112 mov r3, r3, asl #16
37113 orr r2, r5, r2
37114 tst r1, #256
37115 orr r3, r3, r0
37116 orr r2, r2, r1, asl #16
37117 strne r3, [lr, #0]
37118 streq r2, [lr, #0]
37119.L11314:
37120 ldr r6, [sp, #92]
37121 add r4, r4, #1
37122 cmp r6, r4
37123 mov ip, ip, lsr #4
37124 add lr, lr, #4
37125 bne .L11313
37126 b .L11219
37127.L12421:
37128 cmp r6, #0
37129 ldr r1, [r4, #0]
37130 ldreq r0, [sp, #68]
37131 beq .L12203
37132 mov r3, r2, asl #3
37133 sub r3, r3, #32
37134 mov ip, r1, asl r3
37135 ldr lr, [sp, #68]
37136 mov r5, #0
37137.L12204:
37138 movs r3, ip, lsr #24
37139 beq .L12205
37140 ldr r2, [lr, #0]
37141 ldr r7, [sp, #20]
37142 tst r2, #256
37143 orr r1, r7, r3
37144 orr r0, r7, r3
37145 mov r3, r2, lsr #16
37146 mov r3, r3, asl #16
37147 orr r3, r3, r1
37148 orr r1, r0, r2, asl #16
37149 strne r3, [lr, #0]
37150 streq r1, [lr, #0]
37151.L12205:
37152 add r5, r5, #1
37153 cmp r5, r6
37154 mov ip, ip, asl #8
37155 add lr, lr, #4
37156 bne .L12204
37157 ldr sl, [sp, #68]
37158 sub r4, r4, #64
37159 add r0, sl, r6, asl #2
37160 b .L12198
37161.L12428:
37162 cmp r0, #0
37163 ble .L11219
37164 cmp lr, #3
37165 bls .L12056
37166 mov r3, lr, asl #3
37167 ldr r2, [r8, #0]
37168 sub r3, r3, #32
37169 mov ip, r2, asl r3
37170 ldr lr, [sp, #68]
37171 mov r4, #0
37172.L12059:
37173 movs r3, ip, lsr #24
37174 beq .L12060
37175 ldr r2, [lr, #0]
37176 ldr r5, [sp, #20]
37177 tst r2, #256
37178 orr r1, r5, r3
37179 orr r0, r5, r3
37180 mov r3, r2, lsr #16
37181 mov r3, r3, asl #16
37182 orr r3, r3, r1
37183 orr r1, r0, r2, asl #16
37184 strne r3, [lr, #0]
37185 streq r1, [lr, #0]
37186.L12060:
37187 ldr r6, [sp, #92]
37188 add r4, r4, #1
37189 cmp r6, r4
37190 mov ip, ip, asl #8
37191 add lr, lr, #4
37192 bne .L12059
37193 b .L11219
37194.L12429:
37195 cmp sl, #0
37196 ble .L11219
37197 cmp lr, #3
37198 bls .L11720
37199 mov r3, lr, asl #3
37200 ldr r2, [r7, #4]
37201 sub r3, r3, #32
37202 mov ip, r2, lsr r3
37203 ldr lr, [sp, #68]
37204 mov r4, #0
37205.L11723:
37206 ands r3, ip, #255
37207 beq .L11724
37208 ldr r2, [lr, #0]
37209 ldr fp, [sp, #20]
37210 tst r2, #256
37211 orr r1, fp, r3
37212 orr r0, fp, r3
37213 mov r3, r2, lsr #16
37214 mov r3, r3, asl #16
37215 orr r3, r3, r1
37216 orr r1, r0, r2, asl #16
37217 strne r3, [lr, #0]
37218 streq r1, [lr, #0]
37219.L11724:
37220 ldr r0, [sp, #92]
37221 add r4, r4, #1
37222 cmp r0, r4
37223 mov ip, ip, lsr #8
37224 add lr, lr, #4
37225 bne .L11723
37226 b .L11219
37227.L12427:
37228 cmp lr, #0
37229 ble .L11219
37230 ldr r2, [ip, #0]
37231 mov r3, r4, asl #2
37232 mov ip, r2, asl r3
37233 ldr lr, [sp, #68]
37234 mov r4, #0
37235.L11517:
37236 movs r3, ip, lsr #28
37237 beq .L11518
37238 ldr r1, [lr, #0]
37239 orr r2, r8, r3
37240 ldr r3, [sp, #20]
37241 ldr r5, [sp, #20]
37242 orr r0, r3, r2
37243 mov r3, r1, lsr #16
37244 mov r3, r3, asl #16
37245 orr r2, r5, r2
37246 tst r1, #256
37247 orr r3, r3, r0
37248 orr r2, r2, r1, asl #16
37249 strne r3, [lr, #0]
37250 streq r2, [lr, #0]
37251.L11518:
37252 ldr r6, [sp, #92]
37253 add r4, r4, #1
37254 cmp r6, r4
37255 mov ip, ip, asl #4
37256 add lr, lr, #4
37257 bne .L11517
37258 b .L11219
37259.L12433:
37260 mov r8, #0
37261 b .L11284
37262.L12432:
37263 mov r4, #0
37264 b .L11244
37265.L12091:
37266 subs r6, r5, #4
37267 ldr r2, [r8, #4]
37268 ldreq r2, [sp, #68]
37269 beq .L12105
37270 mov r3, lr, asl #3
37271 sub r3, r3, #32
37272 mov ip, r2, asl r3
37273 ldr lr, [sp, #68]
37274 mov r4, #0
37275.L12106:
37276 movs r3, ip, lsr #24
37277 beq .L12107
37278 ldr r2, [lr, #0]
37279 ldr r9, [sp, #20]
37280 tst r2, #256
37281 orr r1, r9, r3
37282 orr r0, r9, r3
37283 mov r3, r2, lsr #16
37284 mov r3, r3, asl #16
37285 orr r3, r3, r1
37286 orr r1, r0, r2, asl #16
37287 strne r3, [lr, #0]
37288 streq r1, [lr, #0]
37289.L12107:
37290 add r4, r4, #1
37291 cmp r4, r6
37292 mov ip, ip, asl #8
37293 add lr, lr, #4
37294 bne .L12106
37295 ldr sl, [sp, #68]
37296 add r3, sl, r5, asl #2
37297 sub r2, r3, #16
37298.L12105:
37299 ldr r1, [r8, #0]
37300 cmp r1, #0
37301 beq .L12113
37302 ands r0, r1, #255
37303 beq .L12115
37304 ldr r3, [r2, #12]
37305 tst r3, #256
37306 movne r3, r3, lsr #16
37307 ldrne fp, [sp, #20]
37308 ldreq ip, [sp, #20]
37309 movne r3, r3, asl #16
37310 orrne r3, fp, r3
37311 orreq r3, ip, r3, asl #16
37312 orrne r3, r0, r3
37313 orreq r3, r0, r3
37314 strne r3, [r2, #12]
37315 streq r3, [r2, #12]
37316.L12115:
37317 mov r3, r1, lsr #8
37318 ands r0, r3, #255
37319 beq .L12119
37320 ldr r3, [r2, #8]
37321 tst r3, #256
37322 movne r3, r3, lsr #16
37323 ldrne lr, [sp, #20]
37324 ldreq r4, [sp, #20]
37325 movne r3, r3, asl #16
37326 orrne r3, lr, r3
37327 orreq r3, r4, r3, asl #16
37328 orrne r3, r0, r3
37329 orreq r3, r0, r3
37330 strne r3, [r2, #8]
37331 streq r3, [r2, #8]
37332.L12119:
37333 mov r3, r1, lsr #16
37334 ands r0, r3, #255
37335 beq .L12123
37336 ldr r3, [r2, #4]
37337 tst r3, #256
37338 movne r3, r3, lsr #16
37339 ldrne r6, [sp, #20]
37340 ldreq r7, [sp, #20]
37341 movne r3, r3, asl #16
37342 orrne r3, r6, r3
37343 orreq r3, r7, r3, asl #16
37344 orrne r3, r0, r3
37345 orreq r3, r0, r3
37346 strne r3, [r2, #4]
37347 streq r3, [r2, #4]
37348.L12123:
37349 movs r1, r1, lsr #24
37350 beq .L12113
37351 ldr r3, [r2, #0]
37352 tst r3, #256
37353 beq .L12128
37354 mov r3, r3, lsr #16
37355 ldr r9, [sp, #20]
37356 mov r3, r3, asl #16
37357 orr r3, r9, r3
37358 orr r3, r1, r3
37359 str r3, [r2, #0]
37360.L12113:
37361 add r4, r2, #16
37362 b .L12095
37363.L11755:
37364 subs r6, r5, #4
37365 ldr r2, [r7, #0]
37366 ldreq r2, [sp, #68]
37367 beq .L11769
37368 mov r3, lr, asl #3
37369 mov ip, r2, lsr r3
37370 ldr lr, [sp, #68]
37371 mov r4, #0
37372.L11770:
37373 ands r3, ip, #255
37374 beq .L11771
37375 ldr r2, [lr, #0]
37376 ldr r8, [sp, #20]
37377 tst r2, #256
37378 orr r1, r8, r3
37379 orr r0, r8, r3
37380 mov r3, r2, lsr #16
37381 mov r3, r3, asl #16
37382 orr r3, r3, r1
37383 orr r1, r0, r2, asl #16
37384 strne r3, [lr, #0]
37385 streq r1, [lr, #0]
37386.L11771:
37387 add r4, r4, #1
37388 cmp r6, r4
37389 mov ip, ip, lsr #8
37390 add lr, lr, #4
37391 bne .L11770
37392 ldr r9, [sp, #68]
37393 add r3, r9, r5, asl #2
37394 sub r2, r3, #16
37395.L11769:
37396 ldr r1, [r7, #4]
37397 cmp r1, #0
37398 beq .L11777
37399 ands r0, r1, #255
37400 beq .L11779
37401 ldr r3, [r2, #0]
37402 tst r3, #256
37403 movne r3, r3, lsr #16
37404 ldrne sl, [sp, #20]
37405 ldreq fp, [sp, #20]
37406 movne r3, r3, asl #16
37407 orrne r3, sl, r3
37408 orreq r3, fp, r3, asl #16
37409 orrne r3, r0, r3
37410 orreq r3, r0, r3
37411 strne r3, [r2, #0]
37412 streq r3, [r2, #0]
37413.L11779:
37414 mov r3, r1, lsr #8
37415 ands r0, r3, #255
37416 beq .L11783
37417 ldr r3, [r2, #4]
37418 tst r3, #256
37419 movne r3, r3, lsr #16
37420 ldrne ip, [sp, #20]
37421 ldreq lr, [sp, #20]
37422 movne r3, r3, asl #16
37423 orrne r3, ip, r3
37424 orreq r3, lr, r3, asl #16
37425 orrne r3, r0, r3
37426 orreq r3, r0, r3
37427 strne r3, [r2, #4]
37428 streq r3, [r2, #4]
37429.L11783:
37430 mov r3, r1, lsr #16
37431 ands r0, r3, #255
37432 beq .L11787
37433 ldr r3, [r2, #8]
37434 tst r3, #256
37435 movne r3, r3, lsr #16
37436 ldrne r4, [sp, #20]
37437 ldreq r6, [sp, #20]
37438 movne r3, r3, asl #16
37439 orrne r3, r4, r3
37440 orreq r3, r6, r3, asl #16
37441 orrne r3, r0, r3
37442 orreq r3, r0, r3
37443 strne r3, [r2, #8]
37444 streq r3, [r2, #8]
37445.L11787:
37446 movs r1, r1, lsr #24
37447 beq .L11777
37448 ldr r3, [r2, #12]
37449 tst r3, #256
37450 beq .L11792
37451 mov r3, r3, lsr #16
37452 ldr r8, [sp, #20]
37453 mov r3, r3, asl #16
37454 orr r3, r8, r3
37455 orr r3, r1, r3
37456 str r3, [r2, #12]
37457.L11777:
37458 add r4, r2, #16
37459 b .L11759
37460.L12431:
37461 ldr lr, [sp, #12]
37462 b .L12395
37463.L12056:
37464 ldr r7, [sp, #92]
37465 mov r3, lr, asl #3
37466 ldr r1, [r8, #4]
37467 add r2, r7, lr
37468 sub r3, r3, #32
37469 cmp r2, #4
37470 mov ip, r1, asl r3
37471 bhi .L12065
37472 cmp r7, #0
37473 ldrne lr, [sp, #68]
37474 movne r4, #0
37475 beq .L11219
37476.L12085:
37477 movs r3, ip, lsr #24
37478 beq .L12086
37479 ldr r2, [lr, #0]
37480 ldr r5, [sp, #20]
37481 tst r2, #256
37482 orr r1, r5, r3
37483 orr r0, r5, r3
37484 mov r3, r2, lsr #16
37485 mov r3, r3, asl #16
37486 orr r3, r3, r1
37487 orr r1, r0, r2, asl #16
37488 strne r3, [lr, #0]
37489 streq r1, [lr, #0]
37490.L12086:
37491 ldr r6, [sp, #92]
37492 add r4, r4, #1
37493 cmp r6, r4
37494 mov ip, ip, asl #8
37495 add lr, lr, #4
37496 bne .L12085
37497 b .L11219
37498.L11720:
37499 ldr r1, [sp, #92]
37500 ldr r3, [r7, #0]
37501 add r2, r1, lr
37502 cmp r2, #4
37503 mov r1, lr, asl #3
37504 mov ip, r3, lsr r1
37505 bhi .L11729
37506 ldr r2, [sp, #92]
37507 cmp r2, #0
37508 ldrne lr, [sp, #68]
37509 movne r4, #0
37510 beq .L11219
37511.L11749:
37512 ands r3, ip, #255
37513 beq .L11750
37514 ldr r2, [lr, #0]
37515 ldr fp, [sp, #20]
37516 tst r2, #256
37517 orr r1, fp, r3
37518 orr r0, fp, r3
37519 mov r3, r2, lsr #16
37520 mov r3, r3, asl #16
37521 orr r3, r3, r1
37522 orr r1, r0, r2, asl #16
37523 strne r3, [lr, #0]
37524 streq r1, [lr, #0]
37525.L11750:
37526 ldr r0, [sp, #92]
37527 add r4, r4, #1
37528 cmp r0, r4
37529 mov ip, ip, lsr #8
37530 add lr, lr, #4
37531 bne .L11749
37532 b .L11219
37533.L11729:
37534 rsbs r5, lr, #4
37535 ldreq lr, [sp, #68]
37536 beq .L11734
37537 ldr lr, [sp, #68]
37538 mov r4, #0
37539.L11735:
37540 ands r3, ip, #255
37541 beq .L11736
37542 ldr r2, [lr, #0]
37543 ldr r6, [sp, #20]
37544 tst r2, #256
37545 orr r1, r6, r3
37546 orr r0, r6, r3
37547 mov r3, r2, lsr #16
37548 mov r3, r3, asl #16
37549 orr r3, r3, r1
37550 orr r1, r0, r2, asl #16
37551 strne r3, [lr, #0]
37552 streq r1, [lr, #0]
37553.L11736:
37554 add r4, r4, #1
37555 cmp r5, r4
37556 mov ip, ip, lsr #8
37557 add lr, lr, #4
37558 bne .L11735
37559 ldr r8, [sp, #68]
37560 add lr, r8, r5, asl #2
37561.L11734:
37562 ldr r9, [sp, #92]
37563 ldr ip, [r7, #4]
37564 subs r5, r9, r5
37565 beq .L11219
37566 mov r4, #0
37567.L11743:
37568 ands r3, ip, #255
37569 beq .L11744
37570 ldr r2, [lr, #0]
37571 ldr sl, [sp, #20]
37572 tst r2, #256
37573 orr r1, sl, r3
37574 orr r0, sl, r3
37575 mov r3, r2, lsr #16
37576 mov r3, r3, asl #16
37577 orr r3, r3, r1
37578 orr r1, r0, r2, asl #16
37579 strne r3, [lr, #0]
37580 streq r1, [lr, #0]
37581.L11744:
37582 add r4, r4, #1
37583 cmp r5, r4
37584 mov ip, ip, lsr #8
37585 add lr, lr, #4
37586 bne .L11743
37587 b .L11219
37588.L12065:
37589 rsbs r5, lr, #4
37590 ldreq lr, [sp, #68]
37591 beq .L12070
37592 ldr lr, [sp, #68]
37593 mov r4, #0
37594.L12071:
37595 movs r3, ip, lsr #24
37596 beq .L12072
37597 ldr r2, [lr, #0]
37598 ldr r9, [sp, #20]
37599 tst r2, #256
37600 orr r1, r9, r3
37601 orr r0, r9, r3
37602 mov r3, r2, lsr #16
37603 mov r3, r3, asl #16
37604 orr r3, r3, r1
37605 orr r1, r0, r2, asl #16
37606 strne r3, [lr, #0]
37607 streq r1, [lr, #0]
37608.L12072:
37609 add r4, r4, #1
37610 cmp r4, r5
37611 mov ip, ip, asl #8
37612 add lr, lr, #4
37613 bne .L12071
37614 ldr sl, [sp, #68]
37615 add lr, sl, r5, asl #2
37616.L12070:
37617 ldr fp, [sp, #92]
37618 ldr ip, [r8, #0]
37619 subs r5, fp, r5
37620 beq .L11219
37621 mov r4, #0
37622.L12079:
37623 movs r3, ip, lsr #24
37624 beq .L12080
37625 ldr r2, [lr, #0]
37626 ldr r0, [sp, #20]
37627 tst r2, #256
37628 orr r1, r0, r3
37629 orr r0, r0, r3
37630 mov r3, r2, lsr #16
37631 mov r3, r3, asl #16
37632 orr r3, r3, r1
37633 orr r1, r0, r2, asl #16
37634 strne r3, [lr, #0]
37635 streq r1, [lr, #0]
37636.L12080:
37637 add r4, r4, #1
37638 cmp r5, r4
37639 mov ip, ip, asl #8
37640 add lr, lr, #4
37641 bne .L12079
37642 b .L11219
37643.L11900:
37644 ldr fp, [sp, #20]
37645 orr r3, fp, r3, asl #16
37646 orr r3, r2, r3
37647 str r3, [r1, #12]
37648 add r1, r1, #16
37649 b .L11867
37650.L12236:
37651 ldr fp, [sp, #20]
37652 add r0, r1, #16
37653 orr r3, fp, r3, asl #16
37654 orr r3, r2, r3
37655 str r3, [r1, #0]
37656 b .L12203
37657.L12128:
37658 ldr fp, [sp, #20]
37659 add r4, r2, #16
37660 orr r3, fp, r3, asl #16
37661 orr r3, r1, r3
37662 str r3, [r2, #0]
37663 b .L12095
37664.L11792:
37665 ldr sl, [sp, #20]
37666 add r4, r2, #16
37667 orr r3, sl, r3, asl #16
37668 orr r3, r1, r3
37669 str r3, [r2, #12]
37670 b .L11759
37671 .size render_scanline_obj_alpha_obj_1D, .-render_scanline_obj_alpha_obj_1D
37672 .align 2
37673 .global render_scanline_obj_alpha_obj_2D
37674 .type render_scanline_obj_alpha_obj_2D, %function
37675render_scanline_obj_alpha_obj_2D:
37676 @ args = 0, pretend = 0, frame = 88
37677 @ frame_needed = 0, uses_anonymous_args = 0
37678 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
37679 ldr r5, .L13670
37680 sub sp, sp, #88
37681 ldrh lr, [r5, #80]
37682 mov r4, r0
37683 mov ip, lr, lsr #11
37684 and ip, ip, #2
37685 mov lr, lr, asl #27
37686 orr ip, ip, lr, lsr #31
37687 mov ip, ip, asl #9
37688 orr ip, ip, #256
37689 tst ip, #512
37690 str r1, [sp, #12]
37691 str ip, [sp, #24]
37692 str r2, [sp, #8]
37693 str r3, [sp, #4]
37694 beq .L13643
37695 ldrh r5, [r5, #6]
37696 add r3, r0, r0, asl #2
37697 ldr r2, .L13670+4
37698 add r3, r5, r3, asl #5
37699 ldr r2, [r2, r3, asl #2]
37700 str r5, [sp, #32]
37701 str r2, [sp, #36]
37702 cmp r2, #0
37703 ldr r2, .L13670+8
37704 add r3, r2, r3, asl #7
37705 str r3, [sp, #40]
37706 beq .L13617
37707 ldr r1, [sp, #12]
37708 ldmib sp, {r0, r2} @ phole ldm
37709 mov r3, #0
37710 add r0, r0, r1, asl #2
37711 rsb r2, r1, r2
37712 str r0, [sp, #60]
37713 str r2, [sp, #80]
37714 str r3, [sp, #28]
37715 mov r4, r3
37716.L12443:
37717 ldr r5, [sp, #40]
37718 ldr r6, .L13670+20
37719 ldrb r3, [r4, r5] @ zero_extendqisi2
37720 ldr r7, .L13670+12
37721 mov r3, r3, asl #3
37722 ldrh lr, [r3, r6]
37723 add r3, r3, r6
37724 ldrh r1, [r3, #2]
37725 mov r4, lr, lsr #12
37726 and r2, r4, #12
37727 orr r0, r2, r1, lsr #14
37728 and ip, lr, #255
37729 mov r2, r1, asl #23
37730 cmp ip, #160
37731 mov r5, r2, asr #23
37732 ldr r2, .L13670+16
37733 subgt ip, ip, #256
37734 tst lr, #256
37735 ldrh r9, [r3, #4]
37736 ldr r8, [r7, r0, asl #2]
37737 ldr sl, [r2, r0, asl #2]
37738 beq .L12446
37739 tst lr, #8192
37740 beq .L12448
37741 mov r3, r1, lsr #4
37742 ldr r4, .L13670+20
37743 and r3, r3, #992
37744 add r3, r3, r4
37745 add r2, r8, r8, lsr #31
37746 tst lr, #512
37747 ldrh r6, [r3, #30]
37748 mov lr, r2, asr #1
37749 add r1, sl, sl, lsr #31
37750 ldr r2, [sp, #12]
37751 mov r4, r1, asr #1
37752 movne r0, lr, asl #1
37753 str r6, [sp, #16]
37754 strne r0, [sp, #44]
37755 moveq r6, r8
37756 streq lr, [sp, #44]
37757 moveq r0, r4
37758 movne r6, r8, asl #1
37759 movne r0, r4, asl #1
37760 cmp r5, r2
37761 ldrh fp, [r3, #6]
37762 ldrh r1, [r3, #14]
37763 ldrh r7, [r3, #22]
37764 bge .L12453
37765 rsb r2, r5, r2
37766 rsb r6, r2, r6
37767 cmp r6, #0
37768 ble .L12455
37769 ldr r3, [sp, #44]
37770 ldr r5, [sp, #12]
37771 rsb r3, r2, r3
37772 str r3, [sp, #44]
37773.L12453:
37774 ldr r2, [sp, #8]
37775 add r3, r5, r6
37776 cmp r3, r2
37777 blt .L12457
37778 rsb r6, r5, r2
37779 cmp r6, #0
37780 ble .L12455
37781.L12457:
37782 add r0, ip, r0
37783 ldr ip, [sp, #16]
37784 mov r2, r1, asl #16
37785 mov r3, fp, asl #16
37786 mov r1, ip, asl #16
37787 mov fp, r3, asr #16
37788 mov ip, r2, asr #16
37789 ldr r3, [sp, #32]
37790 ldr r2, [sp, #4]
37791 mov lr, lr, asl #8
37792 cmp r7, #0
37793 str lr, [sp, #72]
37794 mov r1, r1, asr #16
37795 mov lr, r4, asl #8
37796 add r5, r2, r5, asl #2
37797 rsb r0, r0, r3
37798 bne .L12459
37799 mla r3, r0, r1, lr
37800 mov r1, r3, asr #8
37801 cmp r1, sl
37802 bcs .L12455
37803 mov r3, r9, asl #22
37804 mov r2, r1, lsr #3
37805 mov r3, r3, lsr #22
37806 add r3, r3, r2, asl #5
37807 and r1, r1, #7
37808 add r1, r1, r3, asl #2
37809 ldr r3, .L13670+24
37810 cmp r6, #0
37811 add sl, r3, r1, asl #3
37812 ble .L12455
37813 ldr r2, [sp, #44]
37814 mul r3, r0, ip
37815 mul r2, fp, r2
37816 ldr r4, [sp, #72]
37817 rsb r3, r2, r3
37818 add r0, r4, r3
37819 mov r2, r0, asr #8
37820 cmp r8, r2
37821 movls lr, r7
37822 bls .L12465
37823 b .L13667
37824.L12466:
37825 cmp r8, r2
37826 bhi .L13631
37827.L12465:
37828 add lr, lr, #1
37829 add r0, r0, fp
37830 cmp r6, lr
37831 mov r2, r0, asr #8
37832 add r5, r5, #4
37833 bne .L12466
37834.L12455:
37835 ldr r5, [sp, #28]
37836 ldr r6, [sp, #36]
37837 add r5, r5, #1
37838 cmp r5, r6
37839 str r5, [sp, #28]
37840 beq .L13617
37841 ldr r4, [sp, #28]
37842 b .L12443
37843.L12446:
37844 ldr r2, [sp, #32]
37845 tst r1, #8192
37846 rsb r0, ip, r2
37847 rsbne r3, r0, sl
37848 subne r0, r3, #1
37849 mov r2, r1, asl #19
37850 and r3, r4, #2
37851 orr r3, r3, r2, lsr #31
37852 cmp r3, #3
37853 ldrls pc, [pc, r3, asl #2]
37854 b .L12455
37855 .p2align 2
37856.L12536:
37857 .word .L12532
37858 .word .L12533
37859 .word .L12534
37860 .word .L12535
37861.L12532:
37862 mov r3, r9, asl #22
37863 mov r2, r0, lsr #3
37864 mov r3, r3, lsr #22
37865 add r3, r3, r2, asl #5
37866 and r1, r0, #7
37867 add r1, r1, r3, asl #3
37868 ldr r3, [sp, #12]
37869 mov r2, r9, lsr #8
37870 cmp r5, r3
37871 ldr r3, .L13670+24
37872 and r6, r2, #240
37873 add ip, r3, r1, asl #2
37874 bge .L12537
37875 ldr r4, [sp, #12]
37876 rsb lr, r5, r4
37877 rsb r7, lr, r8
37878 cmp r7, #0
37879 ble .L12455
37880 add r3, r5, r8
37881 ldr r5, [sp, #8]
37882 cmp r5, r3
37883 bhi .L12540
37884 mov r3, lr, lsr #3
37885 mov r0, r3, asl #5
37886 ands r3, lr, #7
37887 add r7, ip, r0
37888 bne .L12542
37889 ldr sl, [sp, #80]
37890 ldr r4, [sp, #60]
37891.L12544:
37892 movs r8, sl, lsr #3
37893 beq .L12565
37894 mov r0, r4
37895 mov lr, r7
37896 mov r5, #0
37897.L12567:
37898 ldr r1, [lr, #0]
37899 cmp r1, #0
37900 beq .L12568
37901 ands r3, r1, #15
37902 beq .L12570
37903 ldr r2, [r0, #0]
37904 orr ip, r6, r3
37905 tst r2, #256
37906 ldrne r9, [sp, #24]
37907 ldreq r9, [sp, #24]
37908 movne r3, r2, lsr #16
37909 movne r3, r3, asl #16
37910 orreq r3, r9, ip
37911 orrne r2, r9, ip
37912 orrne r3, r3, r2
37913 orreq r3, r3, r2, asl #16
37914 strne r3, [r0, #0]
37915 streq r3, [r0, #0]
37916.L12570:
37917 mov r3, r1, lsr #4
37918 ands r3, r3, #15
37919 beq .L12574
37920 ldr r2, [r0, #4]
37921 orr ip, r6, r3
37922 tst r2, #256
37923 ldrne r9, [sp, #24]
37924 ldreq r9, [sp, #24]
37925 movne r3, r2, lsr #16
37926 movne r3, r3, asl #16
37927 orreq r3, r9, ip
37928 orrne r2, r9, ip
37929 orrne r3, r3, r2
37930 orreq r3, r3, r2, asl #16
37931 strne r3, [r0, #4]
37932 streq r3, [r0, #4]
37933.L12574:
37934 mov r3, r1, lsr #8
37935 ands r3, r3, #15
37936 beq .L12578
37937 ldr r2, [r0, #8]
37938 orr ip, r6, r3
37939 tst r2, #256
37940 ldrne r9, [sp, #24]
37941 ldreq r9, [sp, #24]
37942 movne r3, r2, lsr #16
37943 movne r3, r3, asl #16
37944 orreq r3, r9, ip
37945 orrne r2, r9, ip
37946 orrne r3, r3, r2
37947 orreq r3, r3, r2, asl #16
37948 strne r3, [r0, #8]
37949 streq r3, [r0, #8]
37950.L12578:
37951 mov r3, r1, lsr #12
37952 ands r3, r3, #15
37953 beq .L12582
37954 ldr r2, [r0, #12]
37955 orr ip, r6, r3
37956 tst r2, #256
37957 ldrne r9, [sp, #24]
37958 ldreq r9, [sp, #24]
37959 movne r3, r2, lsr #16
37960 movne r3, r3, asl #16
37961 orreq r3, r9, ip
37962 orrne r2, r9, ip
37963 orrne r3, r3, r2
37964 orreq r3, r3, r2, asl #16
37965 strne r3, [r0, #12]
37966 streq r3, [r0, #12]
37967.L12582:
37968 mov r3, r1, lsr #16
37969 ands r3, r3, #15
37970 beq .L12586
37971 ldr r2, [r0, #16]
37972 orr ip, r6, r3
37973 tst r2, #256
37974 ldrne r9, [sp, #24]
37975 ldreq r9, [sp, #24]
37976 movne r3, r2, lsr #16
37977 movne r3, r3, asl #16
37978 orreq r3, r9, ip
37979 orrne r2, r9, ip
37980 orrne r3, r3, r2
37981 orreq r3, r3, r2, asl #16
37982 strne r3, [r0, #16]
37983 streq r3, [r0, #16]
37984.L12586:
37985 mov r3, r1, lsr #20
37986 ands r3, r3, #15
37987 beq .L12590
37988 ldr r2, [r0, #20]
37989 orr ip, r6, r3
37990 tst r2, #256
37991 ldrne r9, [sp, #24]
37992 ldreq r9, [sp, #24]
37993 movne r3, r2, lsr #16
37994 movne r3, r3, asl #16
37995 orreq r3, r9, ip
37996 orrne r2, r9, ip
37997 orrne r3, r3, r2
37998 orreq r3, r3, r2, asl #16
37999 strne r3, [r0, #20]
38000 streq r3, [r0, #20]
38001.L12590:
38002 mov r3, r1, lsr #24
38003 ands r3, r3, #15
38004 beq .L12594
38005 ldr r2, [r0, #24]
38006 orr ip, r6, r3
38007 tst r2, #256
38008 ldrne r9, [sp, #24]
38009 ldreq r9, [sp, #24]
38010 movne r3, r2, lsr #16
38011 movne r3, r3, asl #16
38012 orreq r3, r9, ip
38013 orrne r2, r9, ip
38014 orrne r3, r3, r2
38015 orreq r3, r3, r2, asl #16
38016 strne r3, [r0, #24]
38017 streq r3, [r0, #24]
38018.L12594:
38019 movs r3, r1, lsr #28
38020 beq .L12568
38021 ldr r2, [r0, #28]
38022 orr r1, r6, r3
38023 tst r2, #256
38024 ldrne ip, [sp, #24]
38025 ldreq r9, [sp, #24]
38026 movne r3, r2, lsr #16
38027 movne r3, r3, asl #16
38028 orreq r3, r9, r1
38029 orrne r2, ip, r1
38030 orrne r3, r3, r2
38031 orreq r3, r3, r2, asl #16
38032 strne r3, [r0, #28]
38033 streq r3, [r0, #28]
38034.L12568:
38035 add r5, r5, #1
38036 cmp r5, r8
38037 add lr, lr, #32
38038 add r0, r0, #32
38039 bne .L12567
38040 mov r3, r8, asl #5
38041 add r7, r7, r3
38042 add r4, r4, r3
38043.L12565:
38044 ands r5, sl, #7
38045 beq .L12455
38046 ldr ip, [r7, #0]
38047 mov lr, #0
38048.L12603:
38049 ands r3, ip, #15
38050 beq .L12604
38051 ldr r1, [r4, #0]
38052 ldr sl, [sp, #24]
38053 orr r2, r6, r3
38054 mov r3, r1, lsr #16
38055 orr r0, sl, r2
38056 mov r3, r3, asl #16
38057 orr r2, sl, r2
38058 tst r1, #256
38059 orr r3, r3, r0
38060 orr r2, r2, r1, asl #16
38061 strne r3, [r4, #0]
38062 streq r2, [r4, #0]
38063.L12604:
38064 add lr, lr, #1
38065 cmp r5, lr
38066 mov ip, ip, lsr #4
38067 add r4, r4, #4
38068 bne .L12603
38069 b .L12455
38070.L12533:
38071 mov r3, r9, asl #22
38072 mov r1, r0, lsr #3
38073 subs r2, r8, #8
38074 mov r3, r3, lsr #22
38075 submi r2, r8, #1
38076 add r3, r3, r1, asl #5
38077 add r3, r3, r2, asr #3
38078 and r1, r0, #7
38079 ldr ip, [sp, #12]
38080 add r1, r1, r3, asl #3
38081 ldr r3, .L13670+24
38082 mov r2, r9, lsr #8
38083 cmp r5, ip
38084 add r0, r3, r1, asl #2
38085 and r6, r2, #240
38086 bge .L12741
38087 rsb lr, r5, ip
38088 rsb r7, lr, r8
38089 cmp r7, #0
38090 ble .L12455
38091 ldr r1, [sp, #8]
38092 add r3, r5, r8
38093 cmp r1, r3
38094 bhi .L12744
38095 mov r3, lr, lsr #3
38096 ands r4, lr, #7
38097 sub ip, r0, r3, asl #5
38098 bne .L12746
38099 ldr sl, [sp, #80]
38100 ldr r5, [sp, #60]
38101.L12748:
38102 movs r8, sl, lsr #3
38103 beq .L12769
38104 mov r0, r5
38105 mov r4, ip
38106 mov r7, #0
38107.L12771:
38108 ldr r1, [r4, #0]
38109 cmp r1, #0
38110 beq .L12772
38111 ands r3, r1, #15
38112 beq .L12774
38113 ldr r2, [r0, #28]
38114 orr lr, r6, r3
38115 tst r2, #256
38116 ldrne r9, [sp, #24]
38117 ldreq r9, [sp, #24]
38118 movne r3, r2, lsr #16
38119 movne r3, r3, asl #16
38120 orreq r3, r9, lr
38121 orrne r2, r9, lr
38122 orrne r3, r3, r2
38123 orreq r3, r3, r2, asl #16
38124 strne r3, [r0, #28]
38125 streq r3, [r0, #28]
38126.L12774:
38127 mov r3, r1, lsr #4
38128 ands r3, r3, #15
38129 beq .L12778
38130 ldr r2, [r0, #24]
38131 orr lr, r6, r3
38132 tst r2, #256
38133 ldrne r9, [sp, #24]
38134 ldreq r9, [sp, #24]
38135 movne r3, r2, lsr #16
38136 movne r3, r3, asl #16
38137 orreq r3, r9, lr
38138 orrne r2, r9, lr
38139 orrne r3, r3, r2
38140 orreq r3, r3, r2, asl #16
38141 strne r3, [r0, #24]
38142 streq r3, [r0, #24]
38143.L12778:
38144 mov r3, r1, lsr #8
38145 ands r3, r3, #15
38146 beq .L12782
38147 ldr r2, [r0, #20]
38148 orr lr, r6, r3
38149 tst r2, #256
38150 ldrne r9, [sp, #24]
38151 ldreq r9, [sp, #24]
38152 movne r3, r2, lsr #16
38153 movne r3, r3, asl #16
38154 orreq r3, r9, lr
38155 orrne r2, r9, lr
38156 orrne r3, r3, r2
38157 orreq r3, r3, r2, asl #16
38158 strne r3, [r0, #20]
38159 streq r3, [r0, #20]
38160.L12782:
38161 mov r3, r1, lsr #12
38162 ands r3, r3, #15
38163 beq .L12786
38164 ldr r2, [r0, #16]
38165 orr lr, r6, r3
38166 tst r2, #256
38167 ldrne r9, [sp, #24]
38168 ldreq r9, [sp, #24]
38169 movne r3, r2, lsr #16
38170 movne r3, r3, asl #16
38171 orreq r3, r9, lr
38172 orrne r2, r9, lr
38173 orrne r3, r3, r2
38174 orreq r3, r3, r2, asl #16
38175 strne r3, [r0, #16]
38176 streq r3, [r0, #16]
38177.L12786:
38178 mov r3, r1, lsr #16
38179 ands r3, r3, #15
38180 beq .L12790
38181 ldr r2, [r0, #12]
38182 orr lr, r6, r3
38183 tst r2, #256
38184 ldrne r9, [sp, #24]
38185 ldreq r9, [sp, #24]
38186 movne r3, r2, lsr #16
38187 movne r3, r3, asl #16
38188 orreq r3, r9, lr
38189 orrne r2, r9, lr
38190 orrne r3, r3, r2
38191 orreq r3, r3, r2, asl #16
38192 strne r3, [r0, #12]
38193 streq r3, [r0, #12]
38194.L12790:
38195 mov r3, r1, lsr #20
38196 ands r3, r3, #15
38197 beq .L12794
38198 ldr r2, [r0, #8]
38199 orr lr, r6, r3
38200 tst r2, #256
38201 ldrne r9, [sp, #24]
38202 ldreq r9, [sp, #24]
38203 movne r3, r2, lsr #16
38204 movne r3, r3, asl #16
38205 orreq r3, r9, lr
38206 orrne r2, r9, lr
38207 orrne r3, r3, r2
38208 orreq r3, r3, r2, asl #16
38209 strne r3, [r0, #8]
38210 streq r3, [r0, #8]
38211.L12794:
38212 mov r3, r1, lsr #24
38213 ands r3, r3, #15
38214 beq .L12798
38215 ldr r2, [r0, #4]
38216 orr lr, r6, r3
38217 tst r2, #256
38218 ldrne r9, [sp, #24]
38219 ldreq r9, [sp, #24]
38220 movne r3, r2, lsr #16
38221 movne r3, r3, asl #16
38222 orreq r3, r9, lr
38223 orrne r2, r9, lr
38224 orrne r3, r3, r2
38225 orreq r3, r3, r2, asl #16
38226 strne r3, [r0, #4]
38227 streq r3, [r0, #4]
38228.L12798:
38229 movs r3, r1, lsr #28
38230 beq .L12772
38231 ldr r2, [r0, #0]
38232 orr r1, r6, r3
38233 tst r2, #256
38234 ldrne lr, [sp, #24]
38235 ldreq r9, [sp, #24]
38236 movne r3, r2, lsr #16
38237 movne r3, r3, asl #16
38238 orreq r3, r9, r1
38239 orrne r2, lr, r1
38240 orrne r3, r3, r2
38241 orreq r3, r3, r2, asl #16
38242 strne r3, [r0, #0]
38243 streq r3, [r0, #0]
38244.L12772:
38245 add r7, r7, #1
38246 cmp r8, r7
38247 sub r4, r4, #32
38248 add r0, r0, #32
38249 bne .L12771
38250 rsb r3, r8, r8, asl #27
38251 add ip, ip, r3, asl #5
38252 add r5, r5, r8, asl #5
38253.L12769:
38254 ands r4, sl, #7
38255 beq .L12455
38256 ldr ip, [ip, #0]
38257 mov lr, #0
38258.L12807:
38259 movs r3, ip, lsr #28
38260 beq .L12808
38261 ldr r1, [r5, #0]
38262 ldr sl, [sp, #24]
38263 orr r2, r6, r3
38264 mov r3, r1, lsr #16
38265 orr r0, sl, r2
38266 mov r3, r3, asl #16
38267 orr r2, sl, r2
38268 tst r1, #256
38269 orr r3, r3, r0
38270 orr r2, r2, r1, asl #16
38271 strne r3, [r5, #0]
38272 streq r2, [r5, #0]
38273.L12808:
38274 add lr, lr, #1
38275 cmp r4, lr
38276 mov ip, ip, asl #4
38277 add r5, r5, #4
38278 bne .L12807
38279 b .L12455
38280.L12534:
38281 mov r2, r9, asl #22
38282 mov r1, r0, lsr #3
38283 mov r2, r2, lsr #22
38284 and r3, r0, #7
38285 add r2, r2, r1, asl #5
38286 add r3, r3, r2, asl #2
38287 ldr ip, [sp, #12]
38288 mov r0, r3, asl #3
38289 ldr r3, .L13670+24
38290 cmp r5, ip
38291 add ip, r0, r3
38292 bge .L12945
38293 ldr lr, [sp, #12]
38294 rsb r0, r5, lr
38295 rsb r7, r0, r8
38296 cmp r7, #0
38297 ble .L12455
38298 ldr r1, [sp, #8]
38299 add r3, r5, r8
38300 cmp r1, r3
38301 bhi .L12948
38302 mov r3, r0, lsr #3
38303 ands lr, r0, #7
38304 add r7, ip, r3, asl #6
38305 bne .L12950
38306 ldr r6, [sp, #80]
38307 ldr r4, [sp, #60]
38308.L12952:
38309 movs r5, r6, lsr #3
38310 beq .L13030
38311 mov r1, r4
38312 mov ip, r7
38313 mov lr, #0
38314.L13032:
38315 ldr r2, [ip, #0]
38316 cmp r2, #0
38317 beq .L13033
38318 ands r0, r2, #255
38319 beq .L13035
38320 ldr r3, [r1, #0]
38321 tst r3, #256
38322 movne r3, r3, lsr #16
38323 ldrne r8, [sp, #24]
38324 ldreq r9, [sp, #24]
38325 movne r3, r3, asl #16
38326 orrne r3, r8, r3
38327 orreq r3, r9, r3, asl #16
38328 orrne r3, r0, r3
38329 orreq r3, r0, r3
38330 strne r3, [r1, #0]
38331 streq r3, [r1, #0]
38332.L13035:
38333 mov r3, r2, lsr #8
38334 ands r0, r3, #255
38335 beq .L13039
38336 ldr r3, [r1, #4]
38337 tst r3, #256
38338 movne r3, r3, lsr #16
38339 ldrne sl, [sp, #24]
38340 ldreq r8, [sp, #24]
38341 movne r3, r3, asl #16
38342 orrne r3, sl, r3
38343 orreq r3, r8, r3, asl #16
38344 orrne r3, r0, r3
38345 orreq r3, r0, r3
38346 strne r3, [r1, #4]
38347 streq r3, [r1, #4]
38348.L13039:
38349 mov r3, r2, lsr #16
38350 ands r0, r3, #255
38351 beq .L13043
38352 ldr r3, [r1, #8]
38353 tst r3, #256
38354 movne r3, r3, lsr #16
38355 ldrne r9, [sp, #24]
38356 ldreq sl, [sp, #24]
38357 movne r3, r3, asl #16
38358 orrne r3, r9, r3
38359 orreq r3, sl, r3, asl #16
38360 orrne r3, r0, r3
38361 orreq r3, r0, r3
38362 strne r3, [r1, #8]
38363 streq r3, [r1, #8]
38364.L13043:
38365 movs r0, r2, lsr #24
38366 beq .L13033
38367 ldr r2, [r1, #12]
38368 tst r2, #256
38369 ldrne r8, [sp, #24]
38370 ldreq r9, [sp, #24]
38371 movne r3, r2, lsr #16
38372 movne r3, r3, asl #16
38373 orreq r3, r9, r0
38374 orrne r2, r8, r0
38375 orrne r3, r3, r2
38376 orreq r3, r3, r2, asl #16
38377 strne r3, [r1, #12]
38378 streq r3, [r1, #12]
38379.L13033:
38380 ldr r2, [ip, #4]
38381 cmp r2, #0
38382 beq .L13050
38383 ands r0, r2, #255
38384 beq .L13052
38385 ldr r3, [r1, #16]
38386 tst r3, #256
38387 movne r3, r3, lsr #16
38388 ldrne sl, [sp, #24]
38389 ldreq r8, [sp, #24]
38390 movne r3, r3, asl #16
38391 orrne r3, sl, r3
38392 orreq r3, r8, r3, asl #16
38393 orrne r3, r0, r3
38394 orreq r3, r0, r3
38395 strne r3, [r1, #16]
38396 streq r3, [r1, #16]
38397.L13052:
38398 mov r3, r2, lsr #8
38399 ands r0, r3, #255
38400 beq .L13056
38401 ldr r3, [r1, #20]
38402 tst r3, #256
38403 movne r3, r3, lsr #16
38404 ldrne r9, [sp, #24]
38405 ldreq sl, [sp, #24]
38406 movne r3, r3, asl #16
38407 orrne r3, r9, r3
38408 orreq r3, sl, r3, asl #16
38409 orrne r3, r0, r3
38410 orreq r3, r0, r3
38411 strne r3, [r1, #20]
38412 streq r3, [r1, #20]
38413.L13056:
38414 mov r3, r2, lsr #16
38415 ands r0, r3, #255
38416 beq .L13060
38417 ldr r3, [r1, #24]
38418 tst r3, #256
38419 movne r3, r3, lsr #16
38420 ldrne r8, [sp, #24]
38421 ldreq r9, [sp, #24]
38422 movne r3, r3, asl #16
38423 orrne r3, r8, r3
38424 orreq r3, r9, r3, asl #16
38425 orrne r3, r0, r3
38426 orreq r3, r0, r3
38427 strne r3, [r1, #24]
38428 streq r3, [r1, #24]
38429.L13060:
38430 movs r2, r2, lsr #24
38431 beq .L13050
38432 ldr r3, [r1, #28]
38433 tst r3, #256
38434 movne r3, r3, lsr #16
38435 ldrne sl, [sp, #24]
38436 ldreq r0, [sp, #24]
38437 movne r3, r3, asl #16
38438 orrne r3, sl, r3
38439 orreq r3, r0, r3, asl #16
38440 orrne r3, r2, r3
38441 orreq r3, r2, r3
38442 strne r3, [r1, #28]
38443 streq r3, [r1, #28]
38444.L13050:
38445 add lr, lr, #1
38446 cmp lr, r5
38447 add ip, ip, #64
38448 add r1, r1, #32
38449 bne .L13032
38450 add r7, r7, r5, asl #6
38451 add r4, r4, r5, asl #5
38452.L13030:
38453 ands r5, r6, #7
38454 beq .L12455
38455 cmp r5, #3
38456 ldrls ip, [r7, #0]
38457 bls .L13089
38458 ldr r2, [r7, #0]
38459 cmp r2, #0
38460 beq .L13071
38461 ands r1, r2, #255
38462 beq .L13073
38463 ldr r3, [r4, #0]
38464 tst r3, #256
38465 movne r3, r3, lsr #16
38466 ldrne r6, [sp, #24]
38467 ldreq r8, [sp, #24]
38468 movne r3, r3, asl #16
38469 orrne r3, r6, r3
38470 orreq r3, r8, r3, asl #16
38471 orrne r3, r1, r3
38472 orreq r3, r1, r3
38473 strne r3, [r4, #0]
38474 streq r3, [r4, #0]
38475.L13073:
38476 mov r3, r2, lsr #8
38477 ands r1, r3, #255
38478 beq .L13077
38479 ldr r3, [r4, #4]
38480 tst r3, #256
38481 movne r3, r3, lsr #16
38482 ldrne r9, [sp, #24]
38483 ldreq sl, [sp, #24]
38484 movne r3, r3, asl #16
38485 orrne r3, r9, r3
38486 orreq r3, sl, r3, asl #16
38487 orrne r3, r1, r3
38488 orreq r3, r1, r3
38489 strne r3, [r4, #4]
38490 streq r3, [r4, #4]
38491.L13077:
38492 mov r3, r2, lsr #16
38493 ands r1, r3, #255
38494 beq .L13081
38495 ldr r3, [r4, #8]
38496 tst r3, #256
38497 movne r3, r3, lsr #16
38498 ldrne ip, [sp, #24]
38499 ldreq lr, [sp, #24]
38500 movne r3, r3, asl #16
38501 orrne r3, ip, r3
38502 orreq r3, lr, r3, asl #16
38503 orrne r3, r1, r3
38504 orreq r3, r1, r3
38505 strne r3, [r4, #8]
38506 streq r3, [r4, #8]
38507.L13081:
38508 movs r1, r2, lsr #24
38509 beq .L13071
38510 ldr r2, [r4, #12]
38511 tst r2, #256
38512 ldrne r0, [sp, #24]
38513 ldreq r6, [sp, #24]
38514 movne r3, r2, lsr #16
38515 movne r3, r3, asl #16
38516 orreq r3, r6, r1
38517 orrne r2, r0, r1
38518 orrne r3, r3, r2
38519 orreq r3, r3, r2, asl #16
38520 strne r3, [r4, #12]
38521 streq r3, [r4, #12]
38522.L13071:
38523 subs r5, r5, #4
38524 ldr ip, [r7, #4]
38525 addne r4, r4, #16
38526 beq .L12455
38527.L13089:
38528 mov lr, #0
38529.L13090:
38530 ands r3, ip, #255
38531 beq .L13091
38532 ldr r2, [r4, #0]
38533 ldr r7, [sp, #24]
38534 tst r2, #256
38535 orr r1, r7, r3
38536 orr r0, r7, r3
38537 mov r3, r2, lsr #16
38538 mov r3, r3, asl #16
38539 orr r3, r3, r1
38540 orr r1, r0, r2, asl #16
38541 strne r3, [r4, #0]
38542 streq r1, [r4, #0]
38543.L13091:
38544 add lr, lr, #1
38545 cmp r5, lr
38546 mov ip, ip, lsr #8
38547 add r4, r4, #4
38548 bhi .L13090
38549 b .L12455
38550.L13671:
38551 .align 2
38552.L13670:
38553 .word io_registers
38554 .word obj_priority_count
38555 .word obj_priority_list
38556 .word obj_width_table
38557 .word obj_height_table
38558 .word oam_ram
38559 .word vram+65536
38560 .word vram+65472
38561 .word vram+65600
38562.L12535:
38563 subs r2, r8, #8
38564 submi r2, r8, #1
38565 mov r3, r0, lsr #3
38566 mov r2, r2, asr #3
38567 mov r1, r9, asl #22
38568 add r2, r2, r3, asl #4
38569 mov r1, r1, lsr #22
38570 add r1, r1, r2, asl #1
38571 and r3, r0, #7
38572 add r3, r3, r1, asl #2
38573 ldr r1, [sp, #12]
38574 mov r0, r3, asl #3
38575 ldr r3, .L13670+24
38576 cmp r5, r1
38577 add ip, r0, r3
38578 bge .L13281
38579 rsb r0, r5, r1
38580 rsb r7, r0, r8
38581 cmp r7, #0
38582 ble .L12455
38583 ldr r2, [sp, #8]
38584 add r3, r5, r8
38585 cmp r2, r3
38586 bhi .L13284
38587 mov r3, r0, lsr #3
38588 ands lr, r0, #7
38589 sub r8, ip, r3, asl #6
38590 bne .L13286
38591 ldr r7, [sp, #80]
38592 ldr r4, [sp, #60]
38593.L13288:
38594 movs r6, r7, lsr #3
38595 beq .L13366
38596 mov r0, r4
38597 mov lr, r8
38598 mov r5, #0
38599.L13368:
38600 ldr r2, [lr, #4]
38601 cmp r2, #0
38602 beq .L13369
38603 ands r1, r2, #255
38604 beq .L13371
38605 ldr r3, [r0, #12]
38606 tst r3, #256
38607 movne r3, r3, lsr #16
38608 ldrne r9, [sp, #24]
38609 ldreq sl, [sp, #24]
38610 movne r3, r3, asl #16
38611 orrne r3, r9, r3
38612 orreq r3, sl, r3, asl #16
38613 orrne r3, r1, r3
38614 orreq r3, r1, r3
38615 strne r3, [r0, #12]
38616 streq r3, [r0, #12]
38617.L13371:
38618 mov r3, r2, lsr #8
38619 ands r1, r3, #255
38620 beq .L13375
38621 ldr r3, [r0, #8]
38622 tst r3, #256
38623 movne r3, r3, lsr #16
38624 ldrne ip, [sp, #24]
38625 ldreq r9, [sp, #24]
38626 movne r3, r3, asl #16
38627 orrne r3, ip, r3
38628 orreq r3, r9, r3, asl #16
38629 orrne r3, r1, r3
38630 orreq r3, r1, r3
38631 strne r3, [r0, #8]
38632 streq r3, [r0, #8]
38633.L13375:
38634 mov r3, r2, lsr #16
38635 ands r1, r3, #255
38636 beq .L13379
38637 ldr r3, [r0, #4]
38638 tst r3, #256
38639 movne r3, r3, lsr #16
38640 ldrne sl, [sp, #24]
38641 ldreq ip, [sp, #24]
38642 movne r3, r3, asl #16
38643 orrne r3, sl, r3
38644 orreq r3, ip, r3, asl #16
38645 orrne r3, r1, r3
38646 orreq r3, r1, r3
38647 strne r3, [r0, #4]
38648 streq r3, [r0, #4]
38649.L13379:
38650 movs r2, r2, lsr #24
38651 beq .L13369
38652 ldr r3, [r0, #0]
38653 tst r3, #256
38654 movne r3, r3, lsr #16
38655 ldrne r1, [sp, #24]
38656 ldreq r9, [sp, #24]
38657 movne r3, r3, asl #16
38658 orrne r3, r1, r3
38659 orreq r3, r9, r3, asl #16
38660 orrne r3, r2, r3
38661 orreq r3, r2, r3
38662 strne r3, [r0, #0]
38663 streq r3, [r0, #0]
38664.L13369:
38665 ldr r1, [lr, #0]
38666 cmp r1, #0
38667 beq .L13386
38668 ands ip, r1, #255
38669 beq .L13388
38670 ldr r2, [r0, #28]
38671 tst r2, #256
38672 ldrne sl, [sp, #24]
38673 ldreq r9, [sp, #24]
38674 movne r3, r2, lsr #16
38675 movne r3, r3, asl #16
38676 orreq r3, r9, ip
38677 orrne r2, sl, ip
38678 orrne r3, r3, r2
38679 orreq r3, r3, r2, asl #16
38680 strne r3, [r0, #28]
38681 streq r3, [r0, #28]
38682.L13388:
38683 mov r3, r1, lsr #8
38684 ands r2, r3, #255
38685 beq .L13392
38686 ldr r3, [r0, #24]
38687 tst r3, #256
38688 movne r3, r3, lsr #16
38689 ldrne sl, [sp, #24]
38690 ldreq ip, [sp, #24]
38691 movne r3, r3, asl #16
38692 orrne r3, sl, r3
38693 orreq r3, ip, r3, asl #16
38694 orrne r3, r2, r3
38695 orreq r3, r2, r3
38696 strne r3, [r0, #24]
38697 streq r3, [r0, #24]
38698.L13392:
38699 mov r3, r1, lsr #16
38700 ands r2, r3, #255
38701 beq .L13396
38702 ldr r3, [r0, #20]
38703 tst r3, #256
38704 movne r3, r3, lsr #16
38705 ldrne r9, [sp, #24]
38706 ldreq sl, [sp, #24]
38707 movne r3, r3, asl #16
38708 orrne r3, r9, r3
38709 orreq r3, sl, r3, asl #16
38710 orrne r3, r2, r3
38711 orreq r3, r2, r3
38712 strne r3, [r0, #20]
38713 streq r3, [r0, #20]
38714.L13396:
38715 movs r1, r1, lsr #24
38716 beq .L13386
38717 ldr r2, [r0, #16]
38718 tst r2, #256
38719 ldrne ip, [sp, #24]
38720 ldreq r9, [sp, #24]
38721 movne r3, r2, lsr #16
38722 movne r3, r3, asl #16
38723 orreq r3, r9, r1
38724 orrne r2, ip, r1
38725 orrne r3, r3, r2
38726 orreq r3, r3, r2, asl #16
38727 strne r3, [r0, #16]
38728 streq r3, [r0, #16]
38729.L13386:
38730 add r5, r5, #1
38731 cmp r5, r6
38732 sub lr, lr, #64
38733 add r0, r0, #32
38734 bne .L13368
38735 rsb r3, r6, r6, asl #26
38736 add r8, r8, r3, asl #6
38737 add r4, r4, r6, asl #5
38738.L13366:
38739 ands r5, r7, #7
38740 beq .L12455
38741 cmp r5, #3
38742 ldrls ip, [r8, #4]
38743 bls .L13425
38744 ldr r2, [r8, #4]
38745 cmp r2, #0
38746 beq .L13407
38747 ands r1, r2, #255
38748 beq .L13409
38749 ldr r3, [r4, #12]
38750 tst r3, #256
38751 movne r3, r3, lsr #16
38752 ldrne sl, [sp, #24]
38753 ldreq ip, [sp, #24]
38754 movne r3, r3, asl #16
38755 orrne r3, sl, r3
38756 orreq r3, ip, r3, asl #16
38757 orrne r3, r1, r3
38758 orreq r3, r1, r3
38759 strne r3, [r4, #12]
38760 streq r3, [r4, #12]
38761.L13409:
38762 mov r3, r2, lsr #8
38763 ands r1, r3, #255
38764 beq .L13413
38765 ldr r3, [r4, #8]
38766 tst r3, #256
38767 movne r3, r3, lsr #16
38768 ldrne lr, [sp, #24]
38769 ldreq r0, [sp, #24]
38770 movne r3, r3, asl #16
38771 orrne r3, lr, r3
38772 orreq r3, r0, r3, asl #16
38773 orrne r3, r1, r3
38774 orreq r3, r1, r3
38775 strne r3, [r4, #8]
38776 streq r3, [r4, #8]
38777.L13413:
38778 mov r3, r2, lsr #16
38779 ands r1, r3, #255
38780 beq .L13417
38781 ldr r3, [r4, #4]
38782 tst r3, #256
38783 movne r3, r3, lsr #16
38784 ldrne r6, [sp, #24]
38785 ldreq r7, [sp, #24]
38786 movne r3, r3, asl #16
38787 orrne r3, r6, r3
38788 orreq r3, r7, r3, asl #16
38789 orrne r3, r1, r3
38790 orreq r3, r1, r3
38791 strne r3, [r4, #4]
38792 streq r3, [r4, #4]
38793.L13417:
38794 movs r2, r2, lsr #24
38795 beq .L13407
38796 ldr r3, [r4, #0]
38797 tst r3, #256
38798 movne r3, r3, lsr #16
38799 ldrne r9, [sp, #24]
38800 ldreq sl, [sp, #24]
38801 movne r3, r3, asl #16
38802 orrne r3, r9, r3
38803 orreq r3, sl, r3, asl #16
38804 orrne r3, r2, r3
38805 orreq r3, r2, r3
38806 strne r3, [r4, #0]
38807 streq r3, [r4, #0]
38808.L13407:
38809 subs r5, r5, #4
38810 ldr ip, [r8, #0]
38811 addne r4, r4, #16
38812 beq .L12455
38813.L13425:
38814 mov lr, #0
38815.L13426:
38816 movs r3, ip, lsr #24
38817 beq .L13427
38818 ldr r2, [r4, #0]
38819 ldr r0, [sp, #24]
38820 tst r2, #256
38821 orr r1, r0, r3
38822 orr r0, r0, r3
38823 mov r3, r2, lsr #16
38824 mov r3, r3, asl #16
38825 orr r3, r3, r1
38826 orr r1, r0, r2, asl #16
38827 strne r3, [r4, #0]
38828 streq r1, [r4, #0]
38829.L13427:
38830 add lr, lr, #1
38831 cmp r5, lr
38832 mov ip, ip, asl #8
38833 add r4, r4, #4
38834 bhi .L13426
38835 b .L12455
38836.L12448:
38837 mov r3, r1, lsr #4
38838 ldr r4, .L13670+20
38839 and r3, r3, #992
38840 add r3, r3, r4
38841 add r2, r8, r8, lsr #31
38842 tst lr, #512
38843 ldrh r6, [r3, #30]
38844 mov lr, r2, asr #1
38845 add r1, sl, sl, lsr #31
38846 ldr r2, [sp, #12]
38847 mov r4, r1, asr #1
38848 movne r0, r8, asl #1
38849 str r6, [sp, #20]
38850 strne r0, [sp, #84]
38851 streq r8, [sp, #84]
38852 moveq r6, lr
38853 moveq r0, r4
38854 movne r6, lr, asl #1
38855 movne r0, r4, asl #1
38856 cmp r5, r2
38857 ldrh r7, [r3, #6]
38858 ldrh r1, [r3, #14]
38859 ldrh fp, [r3, #22]
38860 bge .L12490
38861 ldr r3, [sp, #84]
38862 rsb r2, r5, r2
38863 rsb r3, r2, r3
38864 cmp r3, #0
38865 str r3, [sp, #84]
38866 ble .L12455
38867 ldr r5, [sp, #12]
38868 rsb r6, r2, r6
38869.L12490:
38870 ldr r2, [sp, #84]
38871 add r3, r5, r2
38872 ldr r2, [sp, #8]
38873 cmp r3, r2
38874 blt .L12493
38875 rsb r3, r5, r2
38876 cmp r3, #0
38877 str r3, [sp, #84]
38878 ble .L12455
38879.L12493:
38880 mov r3, r7, asl #16
38881 mov r2, r1, asl #16
38882 ldr r7, [sp, #20]
38883 mov r3, r3, asr #16
38884 mov r2, r2, asr #16
38885 add ip, ip, r0
38886 str r3, [sp, #48]
38887 mov r0, r9, lsr #8
38888 str r2, [sp, #52]
38889 ldr r3, [sp, #32]
38890 ldr r2, [sp, #4]
38891 mov r1, r7, asl #16
38892 mov lr, lr, asl #8
38893 and r0, r0, #240
38894 cmp fp, #0
38895 str lr, [sp, #64]
38896 mov r1, r1, asr #16
38897 mov lr, r4, asl #8
38898 add r7, r2, r5, asl #2
38899 rsb ip, ip, r3
38900 str r0, [sp, #76]
38901 bne .L12495
38902 mla r3, ip, r1, lr
38903 mov r1, r3, asr #8
38904 cmp r1, sl
38905 bcs .L12455
38906 mov r3, r9, asl #22
38907 mov r2, r1, lsr #3
38908 mov r3, r3, lsr #22
38909 add r3, r3, r2, asl #5
38910 and r1, r1, #7
38911 ldr r4, [sp, #84]
38912 add r1, r1, r3, asl #3
38913 ldr r3, .L13670+24
38914 cmp r4, #0
38915 add r5, r3, r1, asl #2
38916 ble .L12455
38917 ldr r3, [sp, #52]
38918 ldr r2, [sp, #48]
38919 mul r3, ip, r3
38920 mul r2, r6, r2
38921 ldr r6, [sp, #64]
38922 rsb r3, r2, r3
38923 add ip, r6, r3
38924 mov r1, ip, asr #8
38925 cmp r1, r8
38926 movcc r4, fp
38927 movcs r4, fp
38928 bcs .L12502
38929 b .L13633
38930.L12503:
38931 cmp r8, r2
38932 bhi .L12504
38933.L12502:
38934 ldr r9, [sp, #48]
38935 ldr sl, [sp, #84]
38936 add r4, r4, #1
38937 add ip, ip, r9
38938 cmp sl, r4
38939 mov r2, ip, asr #8
38940 add r7, r7, #4
38941 bne .L12503
38942 b .L12455
38943.L13617:
38944 add sp, sp, #88
38945 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
38946.L12459:
38947 mov r3, r9, asl #22
38948 ldr r2, .L13670+24
38949 mov r3, r3, lsr #22
38950 cmp r6, #0
38951 add r9, r2, r3, asl #5
38952 ble .L12455
38953 mov r3, r7, asl #16
38954 mul r2, r0, r1
38955 mov r7, r3, asr #16
38956 mul r3, r0, ip
38957 ldr r0, [sp, #44]
38958 ldr r1, [sp, #44]
38959 mul r0, fp, r0
38960 mul r1, r7, r1
38961 rsb r3, r0, r3
38962 ldr r0, [sp, #72]
38963 rsb r2, r1, r2
38964 add ip, r0, r3
38965 add r0, lr, r2
38966 mov r1, r0, asr #8
38967 mov lr, ip, asr #8
38968 cmp lr, r8
38969 cmpcc r1, sl
38970 movcs r3, #0
38971 movcc r3, #1
38972 movcs r4, r3
38973 bcs .L12477
38974 b .L13668
38975.L12478:
38976 cmp r8, lr
38977 cmphi sl, r1
38978 bhi .L12480
38979.L12477:
38980 add r4, r4, #1
38981 add ip, ip, fp
38982 add r0, r0, r7
38983 cmp r6, r4
38984 mov lr, ip, asr #8
38985 mov r1, r0, asr #8
38986 add r5, r5, #4
38987 bne .L12478
38988 b .L12455
38989.L13646:
38990 and r3, r1, #7
38991 mov r2, lr, asr #3
38992 mov r3, r3, asl #3
38993 add r3, r3, r2, asl #6
38994 mov r1, r1, asr #3
38995 add r3, r3, r1, asl #10
38996 and r2, lr, #7
38997 add r3, r3, r9
38998 ldrb lr, [r3, r2] @ zero_extendqisi2
38999 cmp lr, #0
39000 beq .L12483
39001 ldr r3, [r5, #0]
39002 ldr r1, [sp, #24]
39003 mov r2, r3, lsr #16
39004 mov r2, r2, asl #16
39005 orr r2, r1, r2
39006 orr r1, r1, r3, asl #16
39007 orr r2, lr, r2
39008 tst r3, #256
39009 orr r1, lr, r1
39010 str r2, [sp, #0]
39011 strne r2, [r5, #0]
39012 streq r1, [r5, #0]
39013.L12483:
39014 add r4, r4, #1
39015 add ip, ip, fp
39016 add r0, r0, r7
39017 cmp r6, r4
39018 mov lr, ip, asr #8
39019 mov r1, r0, asr #8
39020 add r5, r5, #4
39021 ble .L12455
39022.L12480:
39023 cmp sl, r1
39024 cmphi r8, lr
39025 bhi .L13646
39026 b .L12455
39027.L12495:
39028 mov r3, r9, asl #22
39029 ldr r4, [sp, #84]
39030 ldr r2, .L13670+24
39031 mov r3, r3, lsr #22
39032 add r3, r2, r3, asl #5
39033 cmp r4, #0
39034 str r3, [sp, #68]
39035 ble .L12455
39036 mov r3, fp, asl #16
39037 mov r3, r3, asr #16
39038 str r3, [sp, #56]
39039 mul r2, ip, r1
39040 ldr r3, [sp, #52]
39041 ldr r1, [sp, #56]
39042 ldr r0, [sp, #48]
39043 mul r3, ip, r3
39044 mul r1, r6, r1
39045 mul r0, r6, r0
39046 ldr r6, [sp, #64]
39047 rsb r3, r0, r3
39048 rsb r2, r1, r2
39049 add r5, r6, r3
39050 add r4, lr, r2
39051 mov ip, r5, asr #8
39052 mov lr, r4, asr #8
39053 cmp ip, r8
39054 cmpcc lr, sl
39055 movcs r3, #0
39056 movcc r3, #1
39057 movcs r6, r3
39058 bcs .L12517
39059 b .L13669
39060.L12518:
39061 cmp r8, ip
39062 cmphi sl, lr
39063 bhi .L12520
39064.L12517:
39065 ldr ip, [sp, #56]
39066 ldr r9, [sp, #48]
39067 ldr r0, [sp, #84]
39068 add r6, r6, #1
39069 add r4, r4, ip
39070 add r5, r5, r9
39071 cmp r0, r6
39072 mov ip, r5, asr #8
39073 mov lr, r4, asr #8
39074 add r7, r7, #4
39075 bne .L12518
39076 b .L12455
39077.L13648:
39078 mov r3, ip, asr #1
39079 ldr r2, [sp, #68]
39080 and fp, r3, #3
39081 ldr r3, [sp, #68]
39082 and r1, lr, #7
39083 and r0, lr, #7
39084 add r1, r2, r1, asl #2
39085 add r0, r3, r0, asl #2
39086 mov r2, ip, asr #1
39087 mov r3, lr, asr #3
39088 and r9, r2, #3
39089 mov r3, r3, asl #10
39090 mov r2, ip, asr #3
39091 add r3, r3, r2, asl #5
39092 add r0, r0, r3
39093 tst ip, #1
39094 add r1, r1, r3
39095 ldrneb r3, [r1, fp] @ zero_extendqisi2
39096 ldreqb r3, [r0, r9] @ zero_extendqisi2
39097 movne r0, r3, lsr #4
39098 andeq r0, r3, #15
39099 ldr r9, [sp, #76]
39100 cmp r0, #0
39101 orr r0, r0, r9
39102 beq .L12526
39103 ldr r2, [r7, #0]
39104 ldr ip, [sp, #24]
39105 mov r3, r2, lsr #16
39106 orr r1, ip, r0
39107 mov r3, r3, asl #16
39108 orr r0, ip, r0
39109 tst r2, #256
39110 orr r3, r3, r1
39111 orr r0, r0, r2, asl #16
39112 strne r3, [r7, #0]
39113 streq r0, [r7, #0]
39114.L12526:
39115 ldr lr, [sp, #48]
39116 ldr r0, [sp, #56]
39117 ldr r1, [sp, #84]
39118 add r6, r6, #1
39119 add r5, r5, lr
39120 add r4, r4, r0
39121 cmp r1, r6
39122 add r7, r7, #4
39123 mov ip, r5, asr #8
39124 mov lr, r4, asr #8
39125 ble .L12455
39126.L12520:
39127 cmp sl, lr
39128 cmphi r8, ip
39129 bhi .L13648
39130 b .L12455
39131.L12505:
39132 cmp r8, r1
39133 bls .L12455
39134.L13633:
39135 mov r3, r1, asr #1
39136 and lr, r3, #3
39137 mov r3, r1, asr #3
39138 mov r3, r3, asl #5
39139 mov r2, r1, asr #1
39140 tst r1, #1
39141 and r0, r2, #3
39142 add r1, r3, r5
39143 add r2, r3, r5
39144 ldreqb r3, [r2, r0] @ zero_extendqisi2
39145 ldrneb r3, [r1, lr] @ zero_extendqisi2
39146 andeq r2, r3, #15
39147 movne r2, r3, lsr #4
39148 ldr lr, [sp, #76]
39149 cmp r2, #0
39150 orr r3, r2, lr
39151 beq .L12510
39152 ldr r2, [r7, #0]
39153 ldr r0, [sp, #24]
39154 tst r2, #256
39155 orr r1, r0, r3
39156 orr r0, r0, r3
39157 mov r3, r2, lsr #16
39158 mov r3, r3, asl #16
39159 orr r1, r3, r1
39160 orr r3, r0, r2, asl #16
39161 strne r1, [r7, #0]
39162 streq r3, [r7, #0]
39163.L12510:
39164 ldr r1, [sp, #48]
39165 ldr r2, [sp, #84]
39166 add r4, r4, #1
39167 add ip, ip, r1
39168 cmp r2, r4
39169 add r7, r7, #4
39170 mov r1, ip, asr #8
39171 bgt .L12505
39172 b .L12455
39173.L12468:
39174 cmp r8, r2
39175 bls .L12455
39176.L13631:
39177 mov r3, r2, asr #3
39178 add r3, sl, r3, asl #6
39179 and r2, r2, #7
39180 ldrb ip, [r3, r2] @ zero_extendqisi2
39181 cmp ip, #0
39182 beq .L12470
39183 ldr r3, [r5, #0]
39184 ldr r7, [sp, #24]
39185 mov r2, r3, lsr #16
39186 mov r2, r2, asl #16
39187 orr r2, r7, r2
39188 orr r1, r7, r3, asl #16
39189 orr r4, ip, r2
39190 tst r3, #256
39191 orr r2, ip, r1
39192 strne r4, [r5, #0]
39193 streq r2, [r5, #0]
39194.L12470:
39195 add lr, lr, #1
39196 add r0, r0, fp
39197 cmp r6, lr
39198 add r5, r5, #4
39199 mov r2, r0, asr #8
39200 bgt .L12468
39201 b .L12455
39202.L13281:
39203 ldr r9, [sp, #8]
39204 add r3, r5, r8
39205 cmp r3, r9
39206 bcs .L13649
39207 cmp r8, #0
39208 add r3, r8, #7
39209 movge r3, r8
39210 movs r6, r3, asr #3
39211 beq .L12455
39212 ldr r2, [sp, #4]
39213 ldr r3, .L13670+28
39214 add r1, r2, r5, asl #2
39215 add r0, r0, r3
39216 mov r5, #0
39217 b .L13581
39218.L13650:
39219 sub ip, ip, #64
39220 add r1, r1, #32
39221.L13581:
39222 ldr r2, [r0, #68]
39223 cmp r2, #0
39224 beq .L13582
39225 ands lr, r2, #255
39226 beq .L13584
39227 ldr r3, [r1, #12]
39228 tst r3, #256
39229 movne r3, r3, lsr #16
39230 ldrne r4, [sp, #24]
39231 ldreq r7, [sp, #24]
39232 movne r3, r3, asl #16
39233 orrne r3, r4, r3
39234 orreq r3, r7, r3, asl #16
39235 orrne r3, lr, r3
39236 orreq r3, lr, r3
39237 strne r3, [r1, #12]
39238 streq r3, [r1, #12]
39239.L13584:
39240 mov r3, r2, lsr #8
39241 ands lr, r3, #255
39242 beq .L13588
39243 ldr r3, [r1, #8]
39244 tst r3, #256
39245 movne r3, r3, lsr #16
39246 ldrne r8, [sp, #24]
39247 ldreq r9, [sp, #24]
39248 movne r3, r3, asl #16
39249 orrne r3, r8, r3
39250 orreq r3, r9, r3, asl #16
39251 orrne r3, lr, r3
39252 orreq r3, lr, r3
39253 strne r3, [r1, #8]
39254 streq r3, [r1, #8]
39255.L13588:
39256 mov r3, r2, lsr #16
39257 ands lr, r3, #255
39258 beq .L13592
39259 ldr r3, [r1, #4]
39260 tst r3, #256
39261 movne r3, r3, lsr #16
39262 ldrne sl, [sp, #24]
39263 ldreq r4, [sp, #24]
39264 movne r3, r3, asl #16
39265 orrne r3, sl, r3
39266 orreq r3, r4, r3, asl #16
39267 orrne r3, lr, r3
39268 orreq r3, lr, r3
39269 strne r3, [r1, #4]
39270 streq r3, [r1, #4]
39271.L13592:
39272 movs r2, r2, lsr #24
39273 beq .L13582
39274 ldr r3, [r1, #0]
39275 tst r3, #256
39276 movne r3, r3, lsr #16
39277 ldrne r7, [sp, #24]
39278 ldreq r8, [sp, #24]
39279 movne r3, r3, asl #16
39280 orrne r3, r7, r3
39281 orreq r3, r8, r3, asl #16
39282 orrne r3, r2, r3
39283 orreq r3, r2, r3
39284 strne r3, [r1, #0]
39285 streq r3, [r1, #0]
39286.L13582:
39287 ldr lr, [ip, #0]
39288 cmp lr, #0
39289 beq .L13599
39290 ands r4, lr, #255
39291 beq .L13601
39292 ldr r2, [r1, #28]
39293 tst r2, #256
39294 ldrne r9, [sp, #24]
39295 ldreq sl, [sp, #24]
39296 movne r3, r2, lsr #16
39297 movne r3, r3, asl #16
39298 orreq r3, sl, r4
39299 orrne r2, r9, r4
39300 orrne r3, r3, r2
39301 orreq r3, r3, r2, asl #16
39302 strne r3, [r1, #28]
39303 streq r3, [r1, #28]
39304.L13601:
39305 mov r3, lr, lsr #8
39306 ands r2, r3, #255
39307 beq .L13605
39308 ldr r3, [r1, #24]
39309 tst r3, #256
39310 movne r3, r3, lsr #16
39311 ldrne r4, [sp, #24]
39312 ldreq r7, [sp, #24]
39313 movne r3, r3, asl #16
39314 orrne r3, r4, r3
39315 orreq r3, r7, r3, asl #16
39316 orrne r3, r2, r3
39317 orreq r3, r2, r3
39318 strne r3, [r1, #24]
39319 streq r3, [r1, #24]
39320.L13605:
39321 mov r3, lr, lsr #16
39322 ands r2, r3, #255
39323 beq .L13609
39324 ldr r3, [r1, #20]
39325 tst r3, #256
39326 movne r3, r3, lsr #16
39327 ldrne r8, [sp, #24]
39328 ldreq r9, [sp, #24]
39329 movne r3, r3, asl #16
39330 orrne r3, r8, r3
39331 orreq r3, r9, r3, asl #16
39332 orrne r3, r2, r3
39333 orreq r3, r2, r3
39334 strne r3, [r1, #20]
39335 streq r3, [r1, #20]
39336.L13609:
39337 movs lr, lr, lsr #24
39338 beq .L13599
39339 ldr r2, [r1, #16]
39340 tst r2, #256
39341 ldrne sl, [sp, #24]
39342 ldreq r4, [sp, #24]
39343 movne r3, r2, lsr #16
39344 movne r3, r3, asl #16
39345 orreq r3, r4, lr
39346 orrne r2, sl, lr
39347 orrne r3, r3, r2
39348 orreq r3, r3, r2, asl #16
39349 strne r3, [r1, #16]
39350 streq r3, [r1, #16]
39351.L13599:
39352 add r5, r5, #1
39353 cmp r6, r5
39354 sub r0, r0, #64
39355 bne .L13650
39356 b .L12455
39357.L12945:
39358 ldr r9, [sp, #8]
39359 add r3, r5, r8
39360 cmp r9, r3
39361 bls .L13651
39362 cmp r8, #0
39363 add r3, r8, #7
39364 movge r3, r8
39365 movs r6, r3, asr #3
39366 beq .L12455
39367 ldr r2, [sp, #4]
39368 ldr r3, .L13670+32
39369 add r1, r2, r5, asl #2
39370 add r0, r0, r3
39371 mov r4, #0
39372 b .L13245
39373.L13652:
39374 add ip, ip, #64
39375 add r1, r1, #32
39376.L13245:
39377 ldr r2, [ip, #0]
39378 cmp r2, #0
39379 beq .L13246
39380 ands lr, r2, #255
39381 beq .L13248
39382 ldr r3, [r1, #0]
39383 tst r3, #256
39384 movne r3, r3, lsr #16
39385 ldrne r5, [sp, #24]
39386 ldreq r7, [sp, #24]
39387 movne r3, r3, asl #16
39388 orrne r3, r5, r3
39389 orreq r3, r7, r3, asl #16
39390 orrne r3, lr, r3
39391 orreq r3, lr, r3
39392 strne r3, [r1, #0]
39393 streq r3, [r1, #0]
39394.L13248:
39395 mov r3, r2, lsr #8
39396 ands lr, r3, #255
39397 beq .L13252
39398 ldr r3, [r1, #4]
39399 tst r3, #256
39400 movne r3, r3, lsr #16
39401 ldrne r8, [sp, #24]
39402 ldreq r9, [sp, #24]
39403 movne r3, r3, asl #16
39404 orrne r3, r8, r3
39405 orreq r3, r9, r3, asl #16
39406 orrne r3, lr, r3
39407 orreq r3, lr, r3
39408 strne r3, [r1, #4]
39409 streq r3, [r1, #4]
39410.L13252:
39411 mov r3, r2, lsr #16
39412 ands lr, r3, #255
39413 beq .L13256
39414 ldr r3, [r1, #8]
39415 tst r3, #256
39416 movne r3, r3, lsr #16
39417 ldrne sl, [sp, #24]
39418 ldreq r5, [sp, #24]
39419 movne r3, r3, asl #16
39420 orrne r3, sl, r3
39421 orreq r3, r5, r3, asl #16
39422 orrne r3, lr, r3
39423 orreq r3, lr, r3
39424 strne r3, [r1, #8]
39425 streq r3, [r1, #8]
39426.L13256:
39427 movs lr, r2, lsr #24
39428 beq .L13246
39429 ldr r2, [r1, #12]
39430 tst r2, #256
39431 ldrne r7, [sp, #24]
39432 ldreq r8, [sp, #24]
39433 movne r3, r2, lsr #16
39434 movne r3, r3, asl #16
39435 orreq r3, r8, lr
39436 orrne r2, r7, lr
39437 orrne r3, r3, r2
39438 orreq r3, r3, r2, asl #16
39439 strne r3, [r1, #12]
39440 streq r3, [r1, #12]
39441.L13246:
39442 ldr r2, [r0, #-60]
39443 cmp r2, #0
39444 beq .L13263
39445 ands lr, r2, #255
39446 beq .L13265
39447 ldr r3, [r1, #16]
39448 tst r3, #256
39449 movne r3, r3, lsr #16
39450 ldrne r9, [sp, #24]
39451 ldreq sl, [sp, #24]
39452 movne r3, r3, asl #16
39453 orrne r3, r9, r3
39454 orreq r3, sl, r3, asl #16
39455 orrne r3, lr, r3
39456 orreq r3, lr, r3
39457 strne r3, [r1, #16]
39458 streq r3, [r1, #16]
39459.L13265:
39460 mov r3, r2, lsr #8
39461 ands lr, r3, #255
39462 beq .L13269
39463 ldr r3, [r1, #20]
39464 tst r3, #256
39465 movne r3, r3, lsr #16
39466 ldrne r5, [sp, #24]
39467 ldreq r7, [sp, #24]
39468 movne r3, r3, asl #16
39469 orrne r3, r5, r3
39470 orreq r3, r7, r3, asl #16
39471 orrne r3, lr, r3
39472 orreq r3, lr, r3
39473 strne r3, [r1, #20]
39474 streq r3, [r1, #20]
39475.L13269:
39476 mov r3, r2, lsr #16
39477 ands lr, r3, #255
39478 beq .L13273
39479 ldr r3, [r1, #24]
39480 tst r3, #256
39481 movne r3, r3, lsr #16
39482 ldrne r8, [sp, #24]
39483 ldreq r9, [sp, #24]
39484 movne r3, r3, asl #16
39485 orrne r3, r8, r3
39486 orreq r3, r9, r3, asl #16
39487 orrne r3, lr, r3
39488 orreq r3, lr, r3
39489 strne r3, [r1, #24]
39490 streq r3, [r1, #24]
39491.L13273:
39492 movs r2, r2, lsr #24
39493 beq .L13263
39494 ldr r3, [r1, #28]
39495 tst r3, #256
39496 movne r3, r3, lsr #16
39497 ldrne sl, [sp, #24]
39498 ldreq lr, [sp, #24]
39499 movne r3, r3, asl #16
39500 orrne r3, sl, r3
39501 orreq r3, lr, r3, asl #16
39502 orrne r3, r2, r3
39503 orreq r3, r2, r3
39504 strne r3, [r1, #28]
39505 streq r3, [r1, #28]
39506.L13263:
39507 add r4, r4, #1
39508 cmp r6, r4
39509 add r0, r0, #64
39510 bne .L13652
39511 b .L12455
39512.L12741:
39513 ldr ip, [sp, #8]
39514 add r3, r5, r8
39515 cmp ip, r3
39516 bls .L13653
39517 cmp r8, #0
39518 add r3, r8, #7
39519 movge r3, r8
39520 movs r7, r3, asr #3
39521 beq .L12455
39522 ldr ip, [sp, #4]
39523 add r1, ip, r5, asl #2
39524 mov ip, #0
39525 b .L12910
39526.L13654:
39527 sub r0, r0, #32
39528 add r1, r1, #32
39529.L12910:
39530 ldr lr, [r0, #0]
39531 cmp lr, #0
39532 beq .L12911
39533 ands r3, lr, #15
39534 beq .L12913
39535 ldr r2, [r1, #28]
39536 orr r4, r6, r3
39537 tst r2, #256
39538 ldrne r5, [sp, #24]
39539 ldreq r8, [sp, #24]
39540 movne r3, r2, lsr #16
39541 movne r3, r3, asl #16
39542 orreq r3, r8, r4
39543 orrne r2, r5, r4
39544 orrne r3, r3, r2
39545 orreq r3, r3, r2, asl #16
39546 strne r3, [r1, #28]
39547 streq r3, [r1, #28]
39548.L12913:
39549 mov r3, lr, lsr #4
39550 ands r3, r3, #15
39551 beq .L12917
39552 ldr r2, [r1, #24]
39553 orr r4, r6, r3
39554 tst r2, #256
39555 ldrne r9, [sp, #24]
39556 ldreq sl, [sp, #24]
39557 movne r3, r2, lsr #16
39558 movne r3, r3, asl #16
39559 orreq r3, sl, r4
39560 orrne r2, r9, r4
39561 orrne r3, r3, r2
39562 orreq r3, r3, r2, asl #16
39563 strne r3, [r1, #24]
39564 streq r3, [r1, #24]
39565.L12917:
39566 mov r3, lr, lsr #8
39567 ands r3, r3, #15
39568 beq .L12921
39569 ldr r2, [r1, #20]
39570 orr r4, r6, r3
39571 tst r2, #256
39572 ldrne r5, [sp, #24]
39573 ldreq r8, [sp, #24]
39574 movne r3, r2, lsr #16
39575 movne r3, r3, asl #16
39576 orreq r3, r8, r4
39577 orrne r2, r5, r4
39578 orrne r3, r3, r2
39579 orreq r3, r3, r2, asl #16
39580 strne r3, [r1, #20]
39581 streq r3, [r1, #20]
39582.L12921:
39583 mov r3, lr, lsr #12
39584 ands r3, r3, #15
39585 beq .L12925
39586 ldr r2, [r1, #16]
39587 orr r4, r6, r3
39588 tst r2, #256
39589 ldrne r9, [sp, #24]
39590 ldreq sl, [sp, #24]
39591 movne r3, r2, lsr #16
39592 movne r3, r3, asl #16
39593 orreq r3, sl, r4
39594 orrne r2, r9, r4
39595 orrne r3, r3, r2
39596 orreq r3, r3, r2, asl #16
39597 strne r3, [r1, #16]
39598 streq r3, [r1, #16]
39599.L12925:
39600 mov r3, lr, lsr #16
39601 ands r3, r3, #15
39602 beq .L12929
39603 ldr r2, [r1, #12]
39604 orr r4, r6, r3
39605 tst r2, #256
39606 ldrne r5, [sp, #24]
39607 ldreq r8, [sp, #24]
39608 movne r3, r2, lsr #16
39609 movne r3, r3, asl #16
39610 orreq r3, r8, r4
39611 orrne r2, r5, r4
39612 orrne r3, r3, r2
39613 orreq r3, r3, r2, asl #16
39614 strne r3, [r1, #12]
39615 streq r3, [r1, #12]
39616.L12929:
39617 mov r3, lr, lsr #20
39618 ands r3, r3, #15
39619 beq .L12933
39620 ldr r2, [r1, #8]
39621 orr r4, r6, r3
39622 tst r2, #256
39623 ldrne r9, [sp, #24]
39624 ldreq sl, [sp, #24]
39625 movne r3, r2, lsr #16
39626 movne r3, r3, asl #16
39627 orreq r3, sl, r4
39628 orrne r2, r9, r4
39629 orrne r3, r3, r2
39630 orreq r3, r3, r2, asl #16
39631 strne r3, [r1, #8]
39632 streq r3, [r1, #8]
39633.L12933:
39634 mov r3, lr, lsr #24
39635 ands r3, r3, #15
39636 beq .L12937
39637 ldr r2, [r1, #4]
39638 orr r4, r6, r3
39639 tst r2, #256
39640 ldrne r5, [sp, #24]
39641 ldreq r8, [sp, #24]
39642 movne r3, r2, lsr #16
39643 movne r3, r3, asl #16
39644 orreq r3, r8, r4
39645 orrne r2, r5, r4
39646 orrne r3, r3, r2
39647 orreq r3, r3, r2, asl #16
39648 strne r3, [r1, #4]
39649 streq r3, [r1, #4]
39650.L12937:
39651 movs r3, lr, lsr #28
39652 beq .L12911
39653 ldr r2, [r1, #0]
39654 orr lr, r6, r3
39655 tst r2, #256
39656 ldrne r9, [sp, #24]
39657 ldreq sl, [sp, #24]
39658 movne r3, r2, lsr #16
39659 movne r3, r3, asl #16
39660 orreq r3, sl, lr
39661 orrne r2, r9, lr
39662 orrne r3, r3, r2
39663 orreq r3, r3, r2, asl #16
39664 strne r3, [r1, #0]
39665 streq r3, [r1, #0]
39666.L12911:
39667 add ip, ip, #1
39668 cmp r7, ip
39669 bne .L13654
39670 b .L12455
39671.L12537:
39672 ldr lr, [sp, #8]
39673 add r3, r5, r8
39674 cmp lr, r3
39675 bls .L13655
39676 cmp r8, #0
39677 add r3, r8, #7
39678 movge r3, r8
39679 movs r7, r3, asr #3
39680 beq .L12455
39681 ldr lr, [sp, #4]
39682 mov r0, #0
39683 add r1, lr, r5, asl #2
39684 b .L12706
39685.L13656:
39686 add ip, ip, #32
39687 add r1, r1, #32
39688.L12706:
39689 ldr lr, [ip, #0]
39690 cmp lr, #0
39691 beq .L12707
39692 ands r3, lr, #15
39693 beq .L12709
39694 ldr r2, [r1, #0]
39695 orr r4, r6, r3
39696 tst r2, #256
39697 ldrne r5, [sp, #24]
39698 ldreq r8, [sp, #24]
39699 movne r3, r2, lsr #16
39700 movne r3, r3, asl #16
39701 orreq r3, r8, r4
39702 orrne r2, r5, r4
39703 orrne r3, r3, r2
39704 orreq r3, r3, r2, asl #16
39705 strne r3, [r1, #0]
39706 streq r3, [r1, #0]
39707.L12709:
39708 mov r3, lr, lsr #4
39709 ands r3, r3, #15
39710 beq .L12713
39711 ldr r2, [r1, #4]
39712 orr r4, r6, r3
39713 tst r2, #256
39714 ldrne r9, [sp, #24]
39715 ldreq sl, [sp, #24]
39716 movne r3, r2, lsr #16
39717 movne r3, r3, asl #16
39718 orreq r3, sl, r4
39719 orrne r2, r9, r4
39720 orrne r3, r3, r2
39721 orreq r3, r3, r2, asl #16
39722 strne r3, [r1, #4]
39723 streq r3, [r1, #4]
39724.L12713:
39725 mov r3, lr, lsr #8
39726 ands r3, r3, #15
39727 beq .L12717
39728 ldr r2, [r1, #8]
39729 orr r4, r6, r3
39730 tst r2, #256
39731 ldrne r5, [sp, #24]
39732 ldreq r8, [sp, #24]
39733 movne r3, r2, lsr #16
39734 movne r3, r3, asl #16
39735 orreq r3, r8, r4
39736 orrne r2, r5, r4
39737 orrne r3, r3, r2
39738 orreq r3, r3, r2, asl #16
39739 strne r3, [r1, #8]
39740 streq r3, [r1, #8]
39741.L12717:
39742 mov r3, lr, lsr #12
39743 ands r3, r3, #15
39744 beq .L12721
39745 ldr r2, [r1, #12]
39746 orr r4, r6, r3
39747 tst r2, #256
39748 ldrne r9, [sp, #24]
39749 ldreq sl, [sp, #24]
39750 movne r3, r2, lsr #16
39751 movne r3, r3, asl #16
39752 orreq r3, sl, r4
39753 orrne r2, r9, r4
39754 orrne r3, r3, r2
39755 orreq r3, r3, r2, asl #16
39756 strne r3, [r1, #12]
39757 streq r3, [r1, #12]
39758.L12721:
39759 mov r3, lr, lsr #16
39760 ands r3, r3, #15
39761 beq .L12725
39762 ldr r2, [r1, #16]
39763 orr r4, r6, r3
39764 tst r2, #256
39765 ldrne r5, [sp, #24]
39766 ldreq r8, [sp, #24]
39767 movne r3, r2, lsr #16
39768 movne r3, r3, asl #16
39769 orreq r3, r8, r4
39770 orrne r2, r5, r4
39771 orrne r3, r3, r2
39772 orreq r3, r3, r2, asl #16
39773 strne r3, [r1, #16]
39774 streq r3, [r1, #16]
39775.L12725:
39776 mov r3, lr, lsr #20
39777 ands r3, r3, #15
39778 beq .L12729
39779 ldr r2, [r1, #20]
39780 orr r4, r6, r3
39781 tst r2, #256
39782 ldrne r9, [sp, #24]
39783 ldreq sl, [sp, #24]
39784 movne r3, r2, lsr #16
39785 movne r3, r3, asl #16
39786 orreq r3, sl, r4
39787 orrne r2, r9, r4
39788 orrne r3, r3, r2
39789 orreq r3, r3, r2, asl #16
39790 strne r3, [r1, #20]
39791 streq r3, [r1, #20]
39792.L12729:
39793 mov r3, lr, lsr #24
39794 ands r3, r3, #15
39795 beq .L12733
39796 ldr r2, [r1, #24]
39797 orr r4, r6, r3
39798 tst r2, #256
39799 ldrne r5, [sp, #24]
39800 ldreq r8, [sp, #24]
39801 movne r3, r2, lsr #16
39802 movne r3, r3, asl #16
39803 orreq r3, r8, r4
39804 orrne r2, r5, r4
39805 orrne r3, r3, r2
39806 orreq r3, r3, r2, asl #16
39807 strne r3, [r1, #24]
39808 streq r3, [r1, #24]
39809.L12733:
39810 movs r3, lr, lsr #28
39811 beq .L12707
39812 ldr r2, [r1, #28]
39813 orr lr, r6, r3
39814 tst r2, #256
39815 ldrne r9, [sp, #24]
39816 ldreq sl, [sp, #24]
39817 movne r3, r2, lsr #16
39818 movne r3, r3, asl #16
39819 orreq r3, sl, lr
39820 orrne r2, r9, lr
39821 orrne r3, r3, r2
39822 orreq r3, r3, r2, asl #16
39823 strne r3, [r1, #28]
39824 streq r3, [r1, #28]
39825.L12707:
39826 add r0, r0, #1
39827 cmp r7, r0
39828 bne .L13656
39829 b .L12455
39830.L13643:
39831 add sp, sp, #88
39832 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
39833 b render_scanline_obj_color32_2D
39834.L13655:
39835 rsb r0, r5, lr
39836 cmp r0, #0
39837 ble .L12455
39838 ldr r1, [sp, #4]
39839 movs sl, r0, lsr #3
39840 add r8, r1, r5, asl #2
39841 beq .L12661
39842 mov r4, r8
39843 mov r7, ip
39844 mov r1, #0
39845.L12663:
39846 ldr lr, [r7, #0]
39847 cmp lr, #0
39848 beq .L12664
39849 ands r3, lr, #15
39850 beq .L12666
39851 ldr r2, [r4, #0]
39852 orr r5, r6, r3
39853 tst r2, #256
39854 ldrne r9, [sp, #24]
39855 ldreq r9, [sp, #24]
39856 movne r3, r2, lsr #16
39857 movne r3, r3, asl #16
39858 orreq r3, r9, r5
39859 orrne r2, r9, r5
39860 orrne r3, r3, r2
39861 orreq r3, r3, r2, asl #16
39862 strne r3, [r4, #0]
39863 streq r3, [r4, #0]
39864.L12666:
39865 mov r3, lr, lsr #4
39866 ands r3, r3, #15
39867 beq .L12670
39868 ldr r2, [r4, #4]
39869 orr r5, r6, r3
39870 tst r2, #256
39871 ldrne r9, [sp, #24]
39872 ldreq r9, [sp, #24]
39873 movne r3, r2, lsr #16
39874 movne r3, r3, asl #16
39875 orreq r3, r9, r5
39876 orrne r2, r9, r5
39877 orrne r3, r3, r2
39878 orreq r3, r3, r2, asl #16
39879 strne r3, [r4, #4]
39880 streq r3, [r4, #4]
39881.L12670:
39882 mov r3, lr, lsr #8
39883 ands r3, r3, #15
39884 beq .L12674
39885 ldr r2, [r4, #8]
39886 orr r5, r6, r3
39887 tst r2, #256
39888 ldrne r9, [sp, #24]
39889 ldreq r9, [sp, #24]
39890 movne r3, r2, lsr #16
39891 movne r3, r3, asl #16
39892 orreq r3, r9, r5
39893 orrne r2, r9, r5
39894 orrne r3, r3, r2
39895 orreq r3, r3, r2, asl #16
39896 strne r3, [r4, #8]
39897 streq r3, [r4, #8]
39898.L12674:
39899 mov r3, lr, lsr #12
39900 ands r3, r3, #15
39901 beq .L12678
39902 ldr r2, [r4, #12]
39903 orr r5, r6, r3
39904 tst r2, #256
39905 ldrne r9, [sp, #24]
39906 ldreq r9, [sp, #24]
39907 movne r3, r2, lsr #16
39908 movne r3, r3, asl #16
39909 orreq r3, r9, r5
39910 orrne r2, r9, r5
39911 orrne r3, r3, r2
39912 orreq r3, r3, r2, asl #16
39913 strne r3, [r4, #12]
39914 streq r3, [r4, #12]
39915.L12678:
39916 mov r3, lr, lsr #16
39917 ands r3, r3, #15
39918 beq .L12682
39919 ldr r2, [r4, #16]
39920 orr r5, r6, r3
39921 tst r2, #256
39922 ldrne r9, [sp, #24]
39923 ldreq r9, [sp, #24]
39924 movne r3, r2, lsr #16
39925 movne r3, r3, asl #16
39926 orreq r3, r9, r5
39927 orrne r2, r9, r5
39928 orrne r3, r3, r2
39929 orreq r3, r3, r2, asl #16
39930 strne r3, [r4, #16]
39931 streq r3, [r4, #16]
39932.L12682:
39933 mov r3, lr, lsr #20
39934 ands r3, r3, #15
39935 beq .L12686
39936 ldr r2, [r4, #20]
39937 orr r5, r6, r3
39938 tst r2, #256
39939 ldrne r9, [sp, #24]
39940 ldreq r9, [sp, #24]
39941 movne r3, r2, lsr #16
39942 movne r3, r3, asl #16
39943 orreq r3, r9, r5
39944 orrne r2, r9, r5
39945 orrne r3, r3, r2
39946 orreq r3, r3, r2, asl #16
39947 strne r3, [r4, #20]
39948 streq r3, [r4, #20]
39949.L12686:
39950 mov r3, lr, lsr #24
39951 ands r3, r3, #15
39952 beq .L12690
39953 ldr r2, [r4, #24]
39954 orr r5, r6, r3
39955 tst r2, #256
39956 ldrne r9, [sp, #24]
39957 ldreq r9, [sp, #24]
39958 movne r3, r2, lsr #16
39959 movne r3, r3, asl #16
39960 orreq r3, r9, r5
39961 orrne r2, r9, r5
39962 orrne r3, r3, r2
39963 orreq r3, r3, r2, asl #16
39964 strne r3, [r4, #24]
39965 streq r3, [r4, #24]
39966.L12690:
39967 movs r3, lr, lsr #28
39968 beq .L12664
39969 ldr r2, [r4, #28]
39970 orr lr, r6, r3
39971 tst r2, #256
39972 ldrne r5, [sp, #24]
39973 ldreq r9, [sp, #24]
39974 movne r3, r2, lsr #16
39975 movne r3, r3, asl #16
39976 orreq r3, r9, lr
39977 orrne r2, r5, lr
39978 orrne r3, r3, r2
39979 orreq r3, r3, r2, asl #16
39980 strne r3, [r4, #28]
39981 streq r3, [r4, #28]
39982.L12664:
39983 add r1, r1, #1
39984 cmp sl, r1
39985 add r7, r7, #32
39986 add r4, r4, #32
39987 bne .L12663
39988 mov r3, sl, asl #5
39989 add ip, ip, r3
39990 add r8, r8, r3
39991.L12661:
39992 ands r4, r0, #7
39993 beq .L12455
39994 ldr ip, [ip, #0]
39995 mov lr, #0
39996.L12699:
39997 ands r3, ip, #15
39998 beq .L12700
39999 ldr r1, [r8, #0]
40000 ldr sl, [sp, #24]
40001 orr r2, r6, r3
40002 mov r3, r1, lsr #16
40003 orr r0, sl, r2
40004 mov r3, r3, asl #16
40005 orr r2, sl, r2
40006 tst r1, #256
40007 orr r3, r3, r0
40008 orr r2, r2, r1, asl #16
40009 strne r3, [r8, #0]
40010 streq r2, [r8, #0]
40011.L12700:
40012 add lr, lr, #1
40013 cmp r4, lr
40014 mov ip, ip, lsr #4
40015 add r8, r8, #4
40016 bne .L12699
40017 b .L12455
40018.L13653:
40019 rsb sl, r5, ip
40020 cmp sl, #0
40021 ble .L12455
40022 ldr lr, [sp, #4]
40023 movs ip, sl, lsr #3
40024 add r8, lr, r5, asl #2
40025 beq .L12865
40026 mov r4, r8
40027 mov r7, r0
40028 mov r1, #0
40029.L12867:
40030 ldr lr, [r7, #0]
40031 cmp lr, #0
40032 beq .L12868
40033 ands r3, lr, #15
40034 beq .L12870
40035 ldr r2, [r4, #28]
40036 orr r5, r6, r3
40037 tst r2, #256
40038 ldrne r9, [sp, #24]
40039 ldreq r9, [sp, #24]
40040 movne r3, r2, lsr #16
40041 movne r3, r3, asl #16
40042 orreq r3, r9, r5
40043 orrne r2, r9, r5
40044 orrne r3, r3, r2
40045 orreq r3, r3, r2, asl #16
40046 strne r3, [r4, #28]
40047 streq r3, [r4, #28]
40048.L12870:
40049 mov r3, lr, lsr #4
40050 ands r3, r3, #15
40051 beq .L12874
40052 ldr r2, [r4, #24]
40053 orr r5, r6, r3
40054 tst r2, #256
40055 ldrne r9, [sp, #24]
40056 ldreq r9, [sp, #24]
40057 movne r3, r2, lsr #16
40058 movne r3, r3, asl #16
40059 orreq r3, r9, r5
40060 orrne r2, r9, r5
40061 orrne r3, r3, r2
40062 orreq r3, r3, r2, asl #16
40063 strne r3, [r4, #24]
40064 streq r3, [r4, #24]
40065.L12874:
40066 mov r3, lr, lsr #8
40067 ands r3, r3, #15
40068 beq .L12878
40069 ldr r2, [r4, #20]
40070 orr r5, r6, r3
40071 tst r2, #256
40072 ldrne r9, [sp, #24]
40073 ldreq r9, [sp, #24]
40074 movne r3, r2, lsr #16
40075 movne r3, r3, asl #16
40076 orreq r3, r9, r5
40077 orrne r2, r9, r5
40078 orrne r3, r3, r2
40079 orreq r3, r3, r2, asl #16
40080 strne r3, [r4, #20]
40081 streq r3, [r4, #20]
40082.L12878:
40083 mov r3, lr, lsr #12
40084 ands r3, r3, #15
40085 beq .L12882
40086 ldr r2, [r4, #16]
40087 orr r5, r6, r3
40088 tst r2, #256
40089 ldrne r9, [sp, #24]
40090 ldreq r9, [sp, #24]
40091 movne r3, r2, lsr #16
40092 movne r3, r3, asl #16
40093 orreq r3, r9, r5
40094 orrne r2, r9, r5
40095 orrne r3, r3, r2
40096 orreq r3, r3, r2, asl #16
40097 strne r3, [r4, #16]
40098 streq r3, [r4, #16]
40099.L12882:
40100 mov r3, lr, lsr #16
40101 ands r3, r3, #15
40102 beq .L12886
40103 ldr r2, [r4, #12]
40104 orr r5, r6, r3
40105 tst r2, #256
40106 ldrne r9, [sp, #24]
40107 ldreq r9, [sp, #24]
40108 movne r3, r2, lsr #16
40109 movne r3, r3, asl #16
40110 orreq r3, r9, r5
40111 orrne r2, r9, r5
40112 orrne r3, r3, r2
40113 orreq r3, r3, r2, asl #16
40114 strne r3, [r4, #12]
40115 streq r3, [r4, #12]
40116.L12886:
40117 mov r3, lr, lsr #20
40118 ands r3, r3, #15
40119 beq .L12890
40120 ldr r2, [r4, #8]
40121 orr r5, r6, r3
40122 tst r2, #256
40123 ldrne r9, [sp, #24]
40124 ldreq r9, [sp, #24]
40125 movne r3, r2, lsr #16
40126 movne r3, r3, asl #16
40127 orreq r3, r9, r5
40128 orrne r2, r9, r5
40129 orrne r3, r3, r2
40130 orreq r3, r3, r2, asl #16
40131 strne r3, [r4, #8]
40132 streq r3, [r4, #8]
40133.L12890:
40134 mov r3, lr, lsr #24
40135 ands r3, r3, #15
40136 beq .L12894
40137 ldr r2, [r4, #4]
40138 orr r5, r6, r3
40139 tst r2, #256
40140 ldrne r9, [sp, #24]
40141 ldreq r9, [sp, #24]
40142 movne r3, r2, lsr #16
40143 movne r3, r3, asl #16
40144 orreq r3, r9, r5
40145 orrne r2, r9, r5
40146 orrne r3, r3, r2
40147 orreq r3, r3, r2, asl #16
40148 strne r3, [r4, #4]
40149 streq r3, [r4, #4]
40150.L12894:
40151 movs r3, lr, lsr #28
40152 beq .L12868
40153 ldr r2, [r4, #0]
40154 orr lr, r6, r3
40155 tst r2, #256
40156 ldrne r5, [sp, #24]
40157 ldreq r9, [sp, #24]
40158 movne r3, r2, lsr #16
40159 movne r3, r3, asl #16
40160 orreq r3, r9, lr
40161 orrne r2, r5, lr
40162 orrne r3, r3, r2
40163 orreq r3, r3, r2, asl #16
40164 strne r3, [r4, #0]
40165 streq r3, [r4, #0]
40166.L12868:
40167 add r1, r1, #1
40168 cmp ip, r1
40169 sub r7, r7, #32
40170 add r4, r4, #32
40171 bne .L12867
40172 rsb r3, ip, ip, asl #27
40173 add r0, r0, r3, asl #5
40174 add r8, r8, ip, asl #5
40175.L12865:
40176 ands r4, sl, #7
40177 beq .L12455
40178 ldr ip, [r0, #0]
40179 mov lr, #0
40180.L12903:
40181 movs r3, ip, lsr #28
40182 beq .L12904
40183 ldr r1, [r8, #0]
40184 ldr sl, [sp, #24]
40185 orr r2, r6, r3
40186 mov r3, r1, lsr #16
40187 orr r0, sl, r2
40188 mov r3, r3, asl #16
40189 orr r2, sl, r2
40190 tst r1, #256
40191 orr r3, r3, r0
40192 orr r2, r2, r1, asl #16
40193 strne r3, [r8, #0]
40194 streq r2, [r8, #0]
40195.L12904:
40196 add lr, lr, #1
40197 cmp r4, lr
40198 mov ip, ip, asl #4
40199 add r8, r8, #4
40200 bne .L12903
40201 b .L12455
40202.L13651:
40203 rsb r8, r5, r9
40204 cmp r8, #0
40205 ble .L12455
40206 ldr sl, [sp, #4]
40207 movs r7, r8, lsr #3
40208 add r6, sl, r5, asl #2
40209 beq .L13178
40210 ldr r3, .L13672
40211 mov lr, r6
40212 add r0, r0, r3
40213 mov r5, ip
40214 mov r1, #0
40215.L13180:
40216 ldr r2, [r5, #0]
40217 cmp r2, #0
40218 beq .L13181
40219 ands r4, r2, #255
40220 beq .L13183
40221 ldr r3, [lr, #0]
40222 tst r3, #256
40223 movne r3, r3, lsr #16
40224 ldrne r9, [sp, #24]
40225 ldreq sl, [sp, #24]
40226 movne r3, r3, asl #16
40227 orrne r3, r9, r3
40228 orreq r3, sl, r3, asl #16
40229 orrne r3, r4, r3
40230 orreq r3, r4, r3
40231 strne r3, [lr, #0]
40232 streq r3, [lr, #0]
40233.L13183:
40234 mov r3, r2, lsr #8
40235 ands r4, r3, #255
40236 beq .L13187
40237 ldr r3, [lr, #4]
40238 tst r3, #256
40239 movne r3, r3, lsr #16
40240 ldrne r9, [sp, #24]
40241 ldreq sl, [sp, #24]
40242 movne r3, r3, asl #16
40243 orrne r3, r9, r3
40244 orreq r3, sl, r3, asl #16
40245 orrne r3, r4, r3
40246 orreq r3, r4, r3
40247 strne r3, [lr, #4]
40248 streq r3, [lr, #4]
40249.L13187:
40250 mov r3, r2, lsr #16
40251 ands r4, r3, #255
40252 beq .L13191
40253 ldr r3, [lr, #8]
40254 tst r3, #256
40255 movne r3, r3, lsr #16
40256 ldrne r9, [sp, #24]
40257 ldreq sl, [sp, #24]
40258 movne r3, r3, asl #16
40259 orrne r3, r9, r3
40260 orreq r3, sl, r3, asl #16
40261 orrne r3, r4, r3
40262 orreq r3, r4, r3
40263 strne r3, [lr, #8]
40264 streq r3, [lr, #8]
40265.L13191:
40266 movs r4, r2, lsr #24
40267 beq .L13181
40268 ldr r2, [lr, #12]
40269 tst r2, #256
40270 ldrne r9, [sp, #24]
40271 ldreq sl, [sp, #24]
40272 movne r3, r2, lsr #16
40273 movne r3, r3, asl #16
40274 orreq r3, sl, r4
40275 orrne r2, r9, r4
40276 orrne r3, r3, r2
40277 orreq r3, r3, r2, asl #16
40278 strne r3, [lr, #12]
40279 streq r3, [lr, #12]
40280.L13181:
40281 ldr r2, [r0, #-60]
40282 cmp r2, #0
40283 beq .L13198
40284 ands r4, r2, #255
40285 beq .L13200
40286 ldr r3, [lr, #16]
40287 tst r3, #256
40288 movne r3, r3, lsr #16
40289 ldrne r9, [sp, #24]
40290 ldreq sl, [sp, #24]
40291 movne r3, r3, asl #16
40292 orrne r3, r9, r3
40293 orreq r3, sl, r3, asl #16
40294 orrne r3, r4, r3
40295 orreq r3, r4, r3
40296 strne r3, [lr, #16]
40297 streq r3, [lr, #16]
40298.L13200:
40299 mov r3, r2, lsr #8
40300 ands r4, r3, #255
40301 beq .L13204
40302 ldr r3, [lr, #20]
40303 tst r3, #256
40304 movne r3, r3, lsr #16
40305 ldrne r9, [sp, #24]
40306 ldreq sl, [sp, #24]
40307 movne r3, r3, asl #16
40308 orrne r3, r9, r3
40309 orreq r3, sl, r3, asl #16
40310 orrne r3, r4, r3
40311 orreq r3, r4, r3
40312 strne r3, [lr, #20]
40313 streq r3, [lr, #20]
40314.L13204:
40315 mov r3, r2, lsr #16
40316 ands r4, r3, #255
40317 beq .L13208
40318 ldr r3, [lr, #24]
40319 tst r3, #256
40320 movne r3, r3, lsr #16
40321 ldrne r9, [sp, #24]
40322 ldreq sl, [sp, #24]
40323 movne r3, r3, asl #16
40324 orrne r3, r9, r3
40325 orreq r3, sl, r3, asl #16
40326 orrne r3, r4, r3
40327 orreq r3, r4, r3
40328 strne r3, [lr, #24]
40329 streq r3, [lr, #24]
40330.L13208:
40331 movs r2, r2, lsr #24
40332 beq .L13198
40333 ldr r3, [lr, #28]
40334 tst r3, #256
40335 movne r3, r3, lsr #16
40336 ldrne r4, [sp, #24]
40337 ldreq r9, [sp, #24]
40338 movne r3, r3, asl #16
40339 orrne r3, r4, r3
40340 orreq r3, r9, r3, asl #16
40341 orrne r3, r2, r3
40342 orreq r3, r2, r3
40343 strne r3, [lr, #28]
40344 streq r3, [lr, #28]
40345.L13198:
40346 add r1, r1, #1
40347 cmp r7, r1
40348 add r5, r5, #64
40349 add lr, lr, #32
40350 add r0, r0, #64
40351 bne .L13180
40352 add ip, ip, r7, asl #6
40353 add r6, r6, r7, asl #5
40354.L13178:
40355 ands r4, r8, #7
40356 beq .L12455
40357 cmp r4, #3
40358 ldrls ip, [ip, #0]
40359 bls .L13237
40360 ldr r2, [ip, #0]
40361 cmp r2, #0
40362 beq .L13219
40363 ands r1, r2, #255
40364 beq .L13221
40365 ldr r3, [r6, #0]
40366 tst r3, #256
40367 movne r3, r3, lsr #16
40368 ldrne sl, [sp, #24]
40369 ldreq lr, [sp, #24]
40370 movne r3, r3, asl #16
40371 orrne r3, sl, r3
40372 orreq r3, lr, r3, asl #16
40373 orrne r3, r1, r3
40374 orreq r3, r1, r3
40375 strne r3, [r6, #0]
40376 streq r3, [r6, #0]
40377.L13221:
40378 mov r3, r2, lsr #8
40379 ands r1, r3, #255
40380 beq .L13225
40381 ldr r3, [r6, #4]
40382 tst r3, #256
40383 movne r3, r3, lsr #16
40384 ldrne r0, [sp, #24]
40385 ldreq r5, [sp, #24]
40386 movne r3, r3, asl #16
40387 orrne r3, r0, r3
40388 orreq r3, r5, r3, asl #16
40389 orrne r3, r1, r3
40390 orreq r3, r1, r3
40391 strne r3, [r6, #4]
40392 streq r3, [r6, #4]
40393.L13225:
40394 mov r3, r2, lsr #16
40395 ands r1, r3, #255
40396 beq .L13229
40397 ldr r3, [r6, #8]
40398 tst r3, #256
40399 movne r3, r3, lsr #16
40400 ldrne r7, [sp, #24]
40401 ldreq r8, [sp, #24]
40402 movne r3, r3, asl #16
40403 orrne r3, r7, r3
40404 orreq r3, r8, r3, asl #16
40405 orrne r3, r1, r3
40406 orreq r3, r1, r3
40407 strne r3, [r6, #8]
40408 streq r3, [r6, #8]
40409.L13229:
40410 movs r1, r2, lsr #24
40411 beq .L13219
40412 ldr r2, [r6, #12]
40413 tst r2, #256
40414 ldrne r9, [sp, #24]
40415 ldreq sl, [sp, #24]
40416 movne r3, r2, lsr #16
40417 movne r3, r3, asl #16
40418 orreq r3, sl, r1
40419 orrne r2, r9, r1
40420 orrne r3, r3, r2
40421 orreq r3, r3, r2, asl #16
40422 strne r3, [r6, #12]
40423 streq r3, [r6, #12]
40424.L13219:
40425 subs r4, r4, #4
40426 ldr ip, [ip, #4]
40427 addne r6, r6, #16
40428 beq .L12455
40429.L13237:
40430 mov lr, #0
40431.L13238:
40432 ands r3, ip, #255
40433 beq .L13239
40434 ldr r2, [r6, #0]
40435 ldr r0, [sp, #24]
40436 tst r2, #256
40437 orr r1, r0, r3
40438 orr r0, r0, r3
40439 mov r3, r2, lsr #16
40440 mov r3, r3, asl #16
40441 orr r3, r3, r1
40442 orr r1, r0, r2, asl #16
40443 strne r3, [r6, #0]
40444 streq r1, [r6, #0]
40445.L13239:
40446 add lr, lr, #1
40447 cmp lr, r4
40448 mov ip, ip, lsr #8
40449 add r6, r6, #4
40450 bcc .L13238
40451 b .L12455
40452.L13649:
40453 rsb sl, r5, r9
40454 cmp sl, #0
40455 ble .L12455
40456 ldr lr, [sp, #4]
40457 movs r8, sl, lsr #3
40458 add r7, lr, r5, asl #2
40459 beq .L13514
40460 ldr r3, .L13672+4
40461 mov r4, r7
40462 add r0, r0, r3
40463 mov r6, ip
40464 mov r1, #0
40465.L13516:
40466 ldr r2, [r0, #68]
40467 cmp r2, #0
40468 beq .L13517
40469 ands lr, r2, #255
40470 beq .L13519
40471 ldr r3, [r4, #12]
40472 tst r3, #256
40473 movne r3, r3, lsr #16
40474 ldrne r5, [sp, #24]
40475 ldreq r9, [sp, #24]
40476 movne r3, r3, asl #16
40477 orrne r3, r5, r3
40478 orreq r3, r9, r3, asl #16
40479 orrne r3, lr, r3
40480 orreq r3, lr, r3
40481 strne r3, [r4, #12]
40482 streq r3, [r4, #12]
40483.L13519:
40484 mov r3, r2, lsr #8
40485 ands lr, r3, #255
40486 beq .L13523
40487 ldr r3, [r4, #8]
40488 tst r3, #256
40489 movne r3, r3, lsr #16
40490 ldrne r5, [sp, #24]
40491 ldreq r9, [sp, #24]
40492 movne r3, r3, asl #16
40493 orrne r3, r5, r3
40494 orreq r3, r9, r3, asl #16
40495 orrne r3, lr, r3
40496 orreq r3, lr, r3
40497 strne r3, [r4, #8]
40498 streq r3, [r4, #8]
40499.L13523:
40500 mov r3, r2, lsr #16
40501 ands lr, r3, #255
40502 beq .L13527
40503 ldr r3, [r4, #4]
40504 tst r3, #256
40505 movne r3, r3, lsr #16
40506 ldrne r5, [sp, #24]
40507 ldreq r9, [sp, #24]
40508 movne r3, r3, asl #16
40509 orrne r3, r5, r3
40510 orreq r3, r9, r3, asl #16
40511 orrne r3, lr, r3
40512 orreq r3, lr, r3
40513 strne r3, [r4, #4]
40514 streq r3, [r4, #4]
40515.L13527:
40516 movs r2, r2, lsr #24
40517 beq .L13517
40518 ldr r3, [r4, #0]
40519 tst r3, #256
40520 movne r3, r3, lsr #16
40521 ldrne lr, [sp, #24]
40522 ldreq r5, [sp, #24]
40523 movne r3, r3, asl #16
40524 orrne r3, lr, r3
40525 orreq r3, r5, r3, asl #16
40526 orrne r3, r2, r3
40527 orreq r3, r2, r3
40528 strne r3, [r4, #0]
40529 streq r3, [r4, #0]
40530.L13517:
40531 ldr lr, [r6, #0]
40532 cmp lr, #0
40533 beq .L13534
40534 ands r5, lr, #255
40535 beq .L13536
40536 ldr r2, [r4, #28]
40537 tst r2, #256
40538 ldrne r9, [sp, #24]
40539 ldreq r9, [sp, #24]
40540 movne r3, r2, lsr #16
40541 movne r3, r3, asl #16
40542 orreq r3, r9, r5
40543 orrne r2, r9, r5
40544 orrne r3, r3, r2
40545 orreq r3, r3, r2, asl #16
40546 strne r3, [r4, #28]
40547 streq r3, [r4, #28]
40548.L13536:
40549 mov r3, lr, lsr #8
40550 ands r2, r3, #255
40551 beq .L13540
40552 ldr r3, [r4, #24]
40553 tst r3, #256
40554 movne r3, r3, lsr #16
40555 ldrne r5, [sp, #24]
40556 ldreq r9, [sp, #24]
40557 movne r3, r3, asl #16
40558 orrne r3, r5, r3
40559 orreq r3, r9, r3, asl #16
40560 orrne r3, r2, r3
40561 orreq r3, r2, r3
40562 strne r3, [r4, #24]
40563 streq r3, [r4, #24]
40564.L13540:
40565 mov r3, lr, lsr #16
40566 ands r2, r3, #255
40567 beq .L13544
40568 ldr r3, [r4, #20]
40569 tst r3, #256
40570 movne r3, r3, lsr #16
40571 ldrne r5, [sp, #24]
40572 ldreq r9, [sp, #24]
40573 movne r3, r3, asl #16
40574 orrne r3, r5, r3
40575 orreq r3, r9, r3, asl #16
40576 orrne r3, r2, r3
40577 orreq r3, r2, r3
40578 strne r3, [r4, #20]
40579 streq r3, [r4, #20]
40580.L13544:
40581 movs lr, lr, lsr #24
40582 beq .L13534
40583 ldr r2, [r4, #16]
40584 tst r2, #256
40585 ldrne r5, [sp, #24]
40586 ldreq r9, [sp, #24]
40587 movne r3, r2, lsr #16
40588 movne r3, r3, asl #16
40589 orreq r3, r9, lr
40590 orrne r2, r5, lr
40591 orrne r3, r3, r2
40592 orreq r3, r3, r2, asl #16
40593 strne r3, [r4, #16]
40594 streq r3, [r4, #16]
40595.L13534:
40596 add r1, r1, #1
40597 cmp r8, r1
40598 sub r6, r6, #64
40599 add r4, r4, #32
40600 sub r0, r0, #64
40601 bne .L13516
40602 rsb r3, r8, r8, asl #26
40603 add ip, ip, r3, asl #6
40604 add r7, r7, r8, asl #5
40605.L13514:
40606 ands r4, sl, #7
40607 beq .L12455
40608 cmp r4, #3
40609 ldrls ip, [ip, #4]
40610 bls .L13573
40611 ldr r2, [ip, #4]
40612 cmp r2, #0
40613 beq .L13555
40614 ands r1, r2, #255
40615 beq .L13557
40616 ldr r3, [r7, #12]
40617 tst r3, #256
40618 movne r3, r3, lsr #16
40619 ldrne sl, [sp, #24]
40620 ldreq lr, [sp, #24]
40621 movne r3, r3, asl #16
40622 orrne r3, sl, r3
40623 orreq r3, lr, r3, asl #16
40624 orrne r3, r1, r3
40625 orreq r3, r1, r3
40626 strne r3, [r7, #12]
40627 streq r3, [r7, #12]
40628.L13557:
40629 mov r3, r2, lsr #8
40630 ands r1, r3, #255
40631 beq .L13561
40632 ldr r3, [r7, #8]
40633 tst r3, #256
40634 movne r3, r3, lsr #16
40635 ldrne r0, [sp, #24]
40636 ldreq r5, [sp, #24]
40637 movne r3, r3, asl #16
40638 orrne r3, r0, r3
40639 orreq r3, r5, r3, asl #16
40640 orrne r3, r1, r3
40641 orreq r3, r1, r3
40642 strne r3, [r7, #8]
40643 streq r3, [r7, #8]
40644.L13561:
40645 mov r3, r2, lsr #16
40646 ands r1, r3, #255
40647 beq .L13565
40648 ldr r3, [r7, #4]
40649 tst r3, #256
40650 movne r3, r3, lsr #16
40651 ldrne r6, [sp, #24]
40652 ldreq r8, [sp, #24]
40653 movne r3, r3, asl #16
40654 orrne r3, r6, r3
40655 orreq r3, r8, r3, asl #16
40656 orrne r3, r1, r3
40657 orreq r3, r1, r3
40658 strne r3, [r7, #4]
40659 streq r3, [r7, #4]
40660.L13565:
40661 movs r2, r2, lsr #24
40662 beq .L13555
40663 ldr r3, [r7, #0]
40664 tst r3, #256
40665 movne r3, r3, lsr #16
40666 ldrne r9, [sp, #24]
40667 ldreq sl, [sp, #24]
40668 movne r3, r3, asl #16
40669 orrne r3, r9, r3
40670 orreq r3, sl, r3, asl #16
40671 orrne r3, r2, r3
40672 orreq r3, r2, r3
40673 strne r3, [r7, #0]
40674 streq r3, [r7, #0]
40675.L13555:
40676 subs r4, r4, #4
40677 ldr ip, [ip, #0]
40678 addne r7, r7, #16
40679 beq .L12455
40680.L13573:
40681 mov lr, #0
40682.L13574:
40683 movs r3, ip, lsr #24
40684 beq .L13575
40685 ldr r2, [r7, #0]
40686 ldr r0, [sp, #24]
40687 tst r2, #256
40688 orr r1, r0, r3
40689 orr r0, r0, r3
40690 mov r3, r2, lsr #16
40691 mov r3, r3, asl #16
40692 orr r3, r3, r1
40693 orr r1, r0, r2, asl #16
40694 strne r3, [r7, #0]
40695 streq r1, [r7, #0]
40696.L13575:
40697 add lr, lr, #1
40698 cmp r4, lr
40699 mov ip, ip, asl #8
40700 add r7, r7, #4
40701 bhi .L13574
40702 b .L12455
40703.L13284:
40704 mov r3, r0, lsr #3
40705 ands r2, r0, #7
40706 sub r4, ip, r3, asl #6
40707 ldreq r0, [sp, #60]
40708 beq .L13434
40709 cmp r2, #3
40710 rsb r6, r2, #8
40711 bhi .L13657
40712 subs r8, r6, #4
40713 ldr r1, [r4, #4]
40714 ldreq r1, [sp, #60]
40715 beq .L13449
40716 mov r3, r2, asl #3
40717 sub r3, r3, #32
40718 mov ip, r1, asl r3
40719 ldr lr, [sp, #60]
40720 mov r5, #0
40721.L13450:
40722 movs r3, ip, lsr #24
40723 beq .L13451
40724 ldr r2, [lr, #0]
40725 ldr r9, [sp, #24]
40726 tst r2, #256
40727 orr r1, r9, r3
40728 orr r0, r9, r3
40729 mov r3, r2, lsr #16
40730 mov r3, r3, asl #16
40731 orr r3, r3, r1
40732 orr r1, r0, r2, asl #16
40733 strne r3, [lr, #0]
40734 streq r1, [lr, #0]
40735.L13451:
40736 add r5, r5, #1
40737 cmp r8, r5
40738 mov ip, ip, asl #8
40739 add lr, lr, #4
40740 bne .L13450
40741 ldr sl, [sp, #60]
40742 add r3, sl, r6, asl #2
40743 sub r1, r3, #16
40744.L13449:
40745 ldr r2, [r4, #0]
40746 cmp r2, #0
40747 beq .L13457
40748 ands r0, r2, #255
40749 beq .L13459
40750 ldr r3, [r1, #12]
40751 tst r3, #256
40752 movne r3, r3, lsr #16
40753 ldrne ip, [sp, #24]
40754 ldreq lr, [sp, #24]
40755 movne r3, r3, asl #16
40756 orrne r3, ip, r3
40757 orreq r3, lr, r3, asl #16
40758 orrne r3, r0, r3
40759 orreq r3, r0, r3
40760 strne r3, [r1, #12]
40761 streq r3, [r1, #12]
40762.L13459:
40763 mov r3, r2, lsr #8
40764 ands r0, r3, #255
40765 beq .L13463
40766 ldr r3, [r1, #8]
40767 tst r3, #256
40768 movne r3, r3, lsr #16
40769 ldrne r5, [sp, #24]
40770 ldreq r6, [sp, #24]
40771 movne r3, r3, asl #16
40772 orrne r3, r5, r3
40773 orreq r3, r6, r3, asl #16
40774 orrne r3, r0, r3
40775 orreq r3, r0, r3
40776 strne r3, [r1, #8]
40777 streq r3, [r1, #8]
40778.L13463:
40779 mov r3, r2, lsr #16
40780 ands r0, r3, #255
40781 beq .L13467
40782 ldr r3, [r1, #4]
40783 tst r3, #256
40784 movne r3, r3, lsr #16
40785 ldrne r8, [sp, #24]
40786 ldreq r9, [sp, #24]
40787 movne r3, r3, asl #16
40788 orrne r3, r8, r3
40789 orreq r3, r9, r3, asl #16
40790 orrne r3, r0, r3
40791 orreq r3, r0, r3
40792 strne r3, [r1, #4]
40793 streq r3, [r1, #4]
40794.L13467:
40795 movs r2, r2, lsr #24
40796 beq .L13457
40797 ldr r3, [r1, #0]
40798 tst r3, #256
40799 beq .L13472
40800 mov r3, r3, lsr #16
40801 ldr sl, [sp, #24]
40802 mov r3, r3, asl #16
40803 orr r3, sl, r3
40804 orr r3, r2, r3
40805 str r3, [r1, #0]
40806.L13457:
40807 add r0, r1, #16
40808.L13439:
40809 sub r4, r4, #64
40810.L13434:
40811 movs r5, r7, lsr #3
40812 beq .L12455
40813 mov lr, #0
40814 b .L13475
40815.L13658:
40816 sub r4, r4, #64
40817 add r0, r0, #32
40818.L13475:
40819 ldr r2, [r4, #4]
40820 cmp r2, #0
40821 beq .L13476
40822 ands r1, r2, #255
40823 beq .L13478
40824 ldr r3, [r0, #12]
40825 tst r3, #256
40826 movne r3, r3, lsr #16
40827 ldrne r6, [sp, #24]
40828 ldreq r7, [sp, #24]
40829 movne r3, r3, asl #16
40830 orrne r3, r6, r3
40831 orreq r3, r7, r3, asl #16
40832 orrne r3, r1, r3
40833 orreq r3, r1, r3
40834 strne r3, [r0, #12]
40835 streq r3, [r0, #12]
40836.L13478:
40837 mov r3, r2, lsr #8
40838 ands r1, r3, #255
40839 beq .L13482
40840 ldr r3, [r0, #8]
40841 tst r3, #256
40842 movne r3, r3, lsr #16
40843 ldrne r8, [sp, #24]
40844 ldreq r9, [sp, #24]
40845 movne r3, r3, asl #16
40846 orrne r3, r8, r3
40847 orreq r3, r9, r3, asl #16
40848 orrne r3, r1, r3
40849 orreq r3, r1, r3
40850 strne r3, [r0, #8]
40851 streq r3, [r0, #8]
40852.L13482:
40853 mov r3, r2, lsr #16
40854 ands r1, r3, #255
40855 beq .L13486
40856 ldr r3, [r0, #4]
40857 tst r3, #256
40858 movne r3, r3, lsr #16
40859 ldrne sl, [sp, #24]
40860 ldreq ip, [sp, #24]
40861 movne r3, r3, asl #16
40862 orrne r3, sl, r3
40863 orreq r3, ip, r3, asl #16
40864 orrne r3, r1, r3
40865 orreq r3, r1, r3
40866 strne r3, [r0, #4]
40867 streq r3, [r0, #4]
40868.L13486:
40869 movs r2, r2, lsr #24
40870 beq .L13476
40871 ldr r3, [r0, #0]
40872 tst r3, #256
40873 movne r3, r3, lsr #16
40874 ldrne r1, [sp, #24]
40875 ldreq r6, [sp, #24]
40876 movne r3, r3, asl #16
40877 orrne r3, r1, r3
40878 orreq r3, r6, r3, asl #16
40879 orrne r3, r2, r3
40880 orreq r3, r2, r3
40881 strne r3, [r0, #0]
40882 streq r3, [r0, #0]
40883.L13476:
40884 ldr r1, [r4, #0]
40885 cmp r1, #0
40886 beq .L13493
40887 ands ip, r1, #255
40888 beq .L13495
40889 ldr r2, [r0, #28]
40890 tst r2, #256
40891 ldrne r7, [sp, #24]
40892 ldreq r8, [sp, #24]
40893 movne r3, r2, lsr #16
40894 movne r3, r3, asl #16
40895 orreq r3, r8, ip
40896 orrne r2, r7, ip
40897 orrne r3, r3, r2
40898 orreq r3, r3, r2, asl #16
40899 strne r3, [r0, #28]
40900 streq r3, [r0, #28]
40901.L13495:
40902 mov r3, r1, lsr #8
40903 ands r2, r3, #255
40904 beq .L13499
40905 ldr r3, [r0, #24]
40906 tst r3, #256
40907 movne r3, r3, lsr #16
40908 ldrne r9, [sp, #24]
40909 ldreq sl, [sp, #24]
40910 movne r3, r3, asl #16
40911 orrne r3, r9, r3
40912 orreq r3, sl, r3, asl #16
40913 orrne r3, r2, r3
40914 orreq r3, r2, r3
40915 strne r3, [r0, #24]
40916 streq r3, [r0, #24]
40917.L13499:
40918 mov r3, r1, lsr #16
40919 ands r2, r3, #255
40920 beq .L13503
40921 ldr r3, [r0, #20]
40922 tst r3, #256
40923 movne r3, r3, lsr #16
40924 ldrne ip, [sp, #24]
40925 ldreq r6, [sp, #24]
40926 movne r3, r3, asl #16
40927 orrne r3, ip, r3
40928 orreq r3, r6, r3, asl #16
40929 orrne r3, r2, r3
40930 orreq r3, r2, r3
40931 strne r3, [r0, #20]
40932 streq r3, [r0, #20]
40933.L13503:
40934 movs r1, r1, lsr #24
40935 beq .L13493
40936 ldr r2, [r0, #16]
40937 tst r2, #256
40938 ldrne r7, [sp, #24]
40939 ldreq r8, [sp, #24]
40940 movne r3, r2, lsr #16
40941 movne r3, r3, asl #16
40942 orreq r3, r8, r1
40943 orrne r2, r7, r1
40944 orrne r3, r3, r2
40945 orreq r3, r3, r2, asl #16
40946 strne r3, [r0, #16]
40947 streq r3, [r0, #16]
40948.L13493:
40949 add lr, lr, #1
40950 cmp lr, r5
40951 bne .L13658
40952 b .L12455
40953.L12948:
40954 ands r2, r0, #7
40955 mov r3, r0, lsr #3
40956 add r4, ip, r3, asl #6
40957 ldreq r1, [sp, #60]
40958 beq .L13098
40959 cmp r2, #3
40960 rsb r6, r2, #8
40961 bhi .L13659
40962 subs r8, r6, #4
40963 ldr r1, [r4, #0]
40964 ldreq r1, [sp, #60]
40965 beq .L13113
40966 mov r3, r2, asl #3
40967 mov ip, r1, lsr r3
40968 ldr lr, [sp, #60]
40969 mov r5, #0
40970.L13114:
40971 ands r3, ip, #255
40972 beq .L13115
40973 ldr r2, [lr, #0]
40974 ldr r9, [sp, #24]
40975 tst r2, #256
40976 orr r1, r9, r3
40977 orr r0, r9, r3
40978 mov r3, r2, lsr #16
40979 mov r3, r3, asl #16
40980 orr r3, r3, r1
40981 orr r1, r0, r2, asl #16
40982 strne r3, [lr, #0]
40983 streq r1, [lr, #0]
40984.L13115:
40985 add r5, r5, #1
40986 cmp r8, r5
40987 mov ip, ip, lsr #8
40988 add lr, lr, #4
40989 bne .L13114
40990 ldr sl, [sp, #60]
40991 add r3, sl, r6, asl #2
40992 sub r1, r3, #16
40993.L13113:
40994 ldr r2, [r4, #4]
40995 cmp r2, #0
40996 beq .L13121
40997 ands r0, r2, #255
40998 beq .L13123
40999 ldr r3, [r1, #0]
41000 tst r3, #256
41001 movne r3, r3, lsr #16
41002 ldrne ip, [sp, #24]
41003 ldreq lr, [sp, #24]
41004 movne r3, r3, asl #16
41005 orrne r3, ip, r3
41006 orreq r3, lr, r3, asl #16
41007 orrne r3, r0, r3
41008 orreq r3, r0, r3
41009 strne r3, [r1, #0]
41010 streq r3, [r1, #0]
41011.L13123:
41012 mov r3, r2, lsr #8
41013 ands r0, r3, #255
41014 beq .L13127
41015 ldr r3, [r1, #4]
41016 tst r3, #256
41017 movne r3, r3, lsr #16
41018 ldrne r5, [sp, #24]
41019 ldreq r6, [sp, #24]
41020 movne r3, r3, asl #16
41021 orrne r3, r5, r3
41022 orreq r3, r6, r3, asl #16
41023 orrne r3, r0, r3
41024 orreq r3, r0, r3
41025 strne r3, [r1, #4]
41026 streq r3, [r1, #4]
41027.L13127:
41028 mov r3, r2, lsr #16
41029 ands r0, r3, #255
41030 beq .L13131
41031 ldr r3, [r1, #8]
41032 tst r3, #256
41033 movne r3, r3, lsr #16
41034 ldrne r8, [sp, #24]
41035 ldreq r9, [sp, #24]
41036 movne r3, r3, asl #16
41037 orrne r3, r8, r3
41038 orreq r3, r9, r3, asl #16
41039 orrne r3, r0, r3
41040 orreq r3, r0, r3
41041 strne r3, [r1, #8]
41042 streq r3, [r1, #8]
41043.L13131:
41044 movs r2, r2, lsr #24
41045 beq .L13121
41046 ldr r3, [r1, #12]
41047 tst r3, #256
41048 beq .L13136
41049 mov r3, r3, lsr #16
41050 ldr sl, [sp, #24]
41051 mov r3, r3, asl #16
41052 orr r3, sl, r3
41053 orr r3, r2, r3
41054 str r3, [r1, #12]
41055.L13121:
41056 add r1, r1, #16
41057.L13103:
41058 add r4, r4, #64
41059.L13098:
41060 movs lr, r7, lsr #3
41061 beq .L12455
41062 mov ip, #0
41063 b .L13139
41064.L13660:
41065 add r4, r4, #64
41066 add r1, r1, #32
41067.L13139:
41068 ldr r2, [r4, #0]
41069 cmp r2, #0
41070 beq .L13140
41071 ands r0, r2, #255
41072 beq .L13142
41073 ldr r3, [r1, #0]
41074 tst r3, #256
41075 movne r3, r3, lsr #16
41076 ldrne r5, [sp, #24]
41077 ldreq r6, [sp, #24]
41078 movne r3, r3, asl #16
41079 orrne r3, r5, r3
41080 orreq r3, r6, r3, asl #16
41081 orrne r3, r0, r3
41082 orreq r3, r0, r3
41083 strne r3, [r1, #0]
41084 streq r3, [r1, #0]
41085.L13142:
41086 mov r3, r2, lsr #8
41087 ands r0, r3, #255
41088 beq .L13146
41089 ldr r3, [r1, #4]
41090 tst r3, #256
41091 movne r3, r3, lsr #16
41092 ldrne r7, [sp, #24]
41093 ldreq r8, [sp, #24]
41094 movne r3, r3, asl #16
41095 orrne r3, r7, r3
41096 orreq r3, r8, r3, asl #16
41097 orrne r3, r0, r3
41098 orreq r3, r0, r3
41099 strne r3, [r1, #4]
41100 streq r3, [r1, #4]
41101.L13146:
41102 mov r3, r2, lsr #16
41103 ands r0, r3, #255
41104 beq .L13150
41105 ldr r3, [r1, #8]
41106 tst r3, #256
41107 movne r3, r3, lsr #16
41108 ldrne r9, [sp, #24]
41109 ldreq sl, [sp, #24]
41110 movne r3, r3, asl #16
41111 orrne r3, r9, r3
41112 orreq r3, sl, r3, asl #16
41113 orrne r3, r0, r3
41114 orreq r3, r0, r3
41115 strne r3, [r1, #8]
41116 streq r3, [r1, #8]
41117.L13150:
41118 movs r0, r2, lsr #24
41119 beq .L13140
41120 ldr r2, [r1, #12]
41121 tst r2, #256
41122 ldrne r5, [sp, #24]
41123 ldreq r6, [sp, #24]
41124 movne r3, r2, lsr #16
41125 movne r3, r3, asl #16
41126 orreq r3, r6, r0
41127 orrne r2, r5, r0
41128 orrne r3, r3, r2
41129 orreq r3, r3, r2, asl #16
41130 strne r3, [r1, #12]
41131 streq r3, [r1, #12]
41132.L13140:
41133 ldr r2, [r4, #4]
41134 cmp r2, #0
41135 beq .L13157
41136 ands r0, r2, #255
41137 beq .L13159
41138 ldr r3, [r1, #16]
41139 tst r3, #256
41140 movne r3, r3, lsr #16
41141 ldrne r7, [sp, #24]
41142 ldreq r8, [sp, #24]
41143 movne r3, r3, asl #16
41144 orrne r3, r7, r3
41145 orreq r3, r8, r3, asl #16
41146 orrne r3, r0, r3
41147 orreq r3, r0, r3
41148 strne r3, [r1, #16]
41149 streq r3, [r1, #16]
41150.L13159:
41151 mov r3, r2, lsr #8
41152 ands r0, r3, #255
41153 beq .L13163
41154 ldr r3, [r1, #20]
41155 tst r3, #256
41156 movne r3, r3, lsr #16
41157 ldrne r9, [sp, #24]
41158 ldreq sl, [sp, #24]
41159 movne r3, r3, asl #16
41160 orrne r3, r9, r3
41161 orreq r3, sl, r3, asl #16
41162 orrne r3, r0, r3
41163 orreq r3, r0, r3
41164 strne r3, [r1, #20]
41165 streq r3, [r1, #20]
41166.L13163:
41167 mov r3, r2, lsr #16
41168 ands r0, r3, #255
41169 beq .L13167
41170 ldr r3, [r1, #24]
41171 tst r3, #256
41172 movne r3, r3, lsr #16
41173 ldrne r5, [sp, #24]
41174 ldreq r6, [sp, #24]
41175 movne r3, r3, asl #16
41176 orrne r3, r5, r3
41177 orreq r3, r6, r3, asl #16
41178 orrne r3, r0, r3
41179 orreq r3, r0, r3
41180 strne r3, [r1, #24]
41181 streq r3, [r1, #24]
41182.L13167:
41183 movs r2, r2, lsr #24
41184 beq .L13157
41185 ldr r3, [r1, #28]
41186 tst r3, #256
41187 movne r3, r3, lsr #16
41188 ldrne r7, [sp, #24]
41189 ldreq r8, [sp, #24]
41190 movne r3, r3, asl #16
41191 orrne r3, r7, r3
41192 orreq r3, r8, r3, asl #16
41193 orrne r3, r2, r3
41194 orreq r3, r2, r3
41195 strne r3, [r1, #28]
41196 streq r3, [r1, #28]
41197.L13157:
41198 add ip, ip, #1
41199 cmp ip, lr
41200 bne .L13660
41201 b .L12455
41202.L12744:
41203 ands r2, lr, #7
41204 mov r3, lr, lsr #3
41205 sub ip, r0, r3, asl #5
41206 ldreq r0, [sp, #60]
41207 beq .L12815
41208 rsbs r8, r2, #8
41209 ldr r1, [ip, #0]
41210 ldreq r0, [sp, #60]
41211 beq .L12818
41212 mov r3, r2, asl #2
41213 mov lr, r1, asl r3
41214 ldr r4, [sp, #60]
41215 mov r5, #0
41216.L12819:
41217 movs r3, lr, lsr #28
41218 beq .L12820
41219 ldr r1, [r4, #0]
41220 orr r2, r6, r3
41221 ldr r3, [sp, #24]
41222 ldr r9, [sp, #24]
41223 orr r0, r3, r2
41224 mov r3, r1, lsr #16
41225 mov r3, r3, asl #16
41226 orr r2, r9, r2
41227 tst r1, #256
41228 orr r3, r3, r0
41229 orr r2, r2, r1, asl #16
41230 strne r3, [r4, #0]
41231 streq r2, [r4, #0]
41232.L12820:
41233 add r5, r5, #1
41234 cmp r5, r8
41235 mov lr, lr, asl #4
41236 add r4, r4, #4
41237 bne .L12819
41238 ldr sl, [sp, #60]
41239 add r0, sl, r8, asl #2
41240.L12818:
41241 sub ip, ip, #32
41242.L12815:
41243 movs r5, r7, lsr #3
41244 beq .L12455
41245 mov r4, #0
41246 b .L12827
41247.L13673:
41248 .align 2
41249.L13672:
41250 .word vram+65600
41251 .word vram+65472
41252.L13661:
41253 sub ip, ip, #32
41254 add r0, r0, #32
41255.L12827:
41256 ldr r1, [ip, #0]
41257 cmp r1, #0
41258 beq .L12828
41259 ands r3, r1, #15
41260 beq .L12830
41261 ldr r2, [r0, #28]
41262 orr lr, r6, r3
41263 tst r2, #256
41264 ldrne r7, [sp, #24]
41265 ldreq r8, [sp, #24]
41266 movne r3, r2, lsr #16
41267 movne r3, r3, asl #16
41268 orreq r3, r8, lr
41269 orrne r2, r7, lr
41270 orrne r3, r3, r2
41271 orreq r3, r3, r2, asl #16
41272 strne r3, [r0, #28]
41273 streq r3, [r0, #28]
41274.L12830:
41275 mov r3, r1, lsr #4
41276 ands r3, r3, #15
41277 beq .L12834
41278 ldr r2, [r0, #24]
41279 orr lr, r6, r3
41280 tst r2, #256
41281 ldrne r9, [sp, #24]
41282 ldreq sl, [sp, #24]
41283 movne r3, r2, lsr #16
41284 movne r3, r3, asl #16
41285 orreq r3, sl, lr
41286 orrne r2, r9, lr
41287 orrne r3, r3, r2
41288 orreq r3, r3, r2, asl #16
41289 strne r3, [r0, #24]
41290 streq r3, [r0, #24]
41291.L12834:
41292 mov r3, r1, lsr #8
41293 ands r3, r3, #15
41294 beq .L12838
41295 ldr r2, [r0, #20]
41296 orr lr, r6, r3
41297 tst r2, #256
41298 ldrne r7, [sp, #24]
41299 ldreq r8, [sp, #24]
41300 movne r3, r2, lsr #16
41301 movne r3, r3, asl #16
41302 orreq r3, r8, lr
41303 orrne r2, r7, lr
41304 orrne r3, r3, r2
41305 orreq r3, r3, r2, asl #16
41306 strne r3, [r0, #20]
41307 streq r3, [r0, #20]
41308.L12838:
41309 mov r3, r1, lsr #12
41310 ands r3, r3, #15
41311 beq .L12842
41312 ldr r2, [r0, #16]
41313 orr lr, r6, r3
41314 tst r2, #256
41315 ldrne r9, [sp, #24]
41316 ldreq sl, [sp, #24]
41317 movne r3, r2, lsr #16
41318 movne r3, r3, asl #16
41319 orreq r3, sl, lr
41320 orrne r2, r9, lr
41321 orrne r3, r3, r2
41322 orreq r3, r3, r2, asl #16
41323 strne r3, [r0, #16]
41324 streq r3, [r0, #16]
41325.L12842:
41326 mov r3, r1, lsr #16
41327 ands r3, r3, #15
41328 beq .L12846
41329 ldr r2, [r0, #12]
41330 orr lr, r6, r3
41331 tst r2, #256
41332 ldrne r7, [sp, #24]
41333 ldreq r8, [sp, #24]
41334 movne r3, r2, lsr #16
41335 movne r3, r3, asl #16
41336 orreq r3, r8, lr
41337 orrne r2, r7, lr
41338 orrne r3, r3, r2
41339 orreq r3, r3, r2, asl #16
41340 strne r3, [r0, #12]
41341 streq r3, [r0, #12]
41342.L12846:
41343 mov r3, r1, lsr #20
41344 ands r3, r3, #15
41345 beq .L12850
41346 ldr r2, [r0, #8]
41347 orr lr, r6, r3
41348 tst r2, #256
41349 ldrne r9, [sp, #24]
41350 ldreq sl, [sp, #24]
41351 movne r3, r2, lsr #16
41352 movne r3, r3, asl #16
41353 orreq r3, sl, lr
41354 orrne r2, r9, lr
41355 orrne r3, r3, r2
41356 orreq r3, r3, r2, asl #16
41357 strne r3, [r0, #8]
41358 streq r3, [r0, #8]
41359.L12850:
41360 mov r3, r1, lsr #24
41361 ands r3, r3, #15
41362 beq .L12854
41363 ldr r2, [r0, #4]
41364 orr lr, r6, r3
41365 tst r2, #256
41366 ldrne r7, [sp, #24]
41367 ldreq r8, [sp, #24]
41368 movne r3, r2, lsr #16
41369 movne r3, r3, asl #16
41370 orreq r3, r8, lr
41371 orrne r2, r7, lr
41372 orrne r3, r3, r2
41373 orreq r3, r3, r2, asl #16
41374 strne r3, [r0, #4]
41375 streq r3, [r0, #4]
41376.L12854:
41377 movs r3, r1, lsr #28
41378 beq .L12828
41379 ldr r2, [r0, #0]
41380 orr r1, r6, r3
41381 tst r2, #256
41382 ldrne r9, [sp, #24]
41383 ldreq sl, [sp, #24]
41384 movne r3, r2, lsr #16
41385 movne r3, r3, asl #16
41386 orreq r3, sl, r1
41387 orrne r2, r9, r1
41388 orrne r3, r3, r2
41389 orreq r3, r3, r2, asl #16
41390 strne r3, [r0, #0]
41391 streq r3, [r0, #0]
41392.L12828:
41393 add r4, r4, #1
41394 cmp r5, r4
41395 bne .L13661
41396 b .L12455
41397.L12540:
41398 mov r3, lr, lsr #3
41399 mov r0, r3, asl #5
41400 ands r3, lr, #7
41401 add r5, ip, r0
41402 ldreq r0, [sp, #60]
41403 beq .L12611
41404 rsbs r8, r3, #8
41405 ldr r0, [ip, r0]
41406 ldreq r0, [sp, #60]
41407 beq .L12614
41408 mov r3, r3, asl #2
41409 mov ip, r0, lsr r3
41410 ldr lr, [sp, #60]
41411 mov r4, #0
41412.L12615:
41413 ands r3, ip, #15
41414 beq .L12616
41415 ldr r1, [lr, #0]
41416 orr r2, r6, r3
41417 ldr r3, [sp, #24]
41418 ldr r9, [sp, #24]
41419 orr r0, r3, r2
41420 mov r3, r1, lsr #16
41421 mov r3, r3, asl #16
41422 orr r2, r9, r2
41423 tst r1, #256
41424 orr r3, r3, r0
41425 orr r2, r2, r1, asl #16
41426 strne r3, [lr, #0]
41427 streq r2, [lr, #0]
41428.L12616:
41429 add r4, r4, #1
41430 cmp r8, r4
41431 mov ip, ip, lsr #4
41432 add lr, lr, #4
41433 bne .L12615
41434 ldr sl, [sp, #60]
41435 add r0, sl, r8, asl #2
41436.L12614:
41437 add r5, r5, #32
41438.L12611:
41439 movs r4, r7, lsr #3
41440 beq .L12455
41441 mov lr, #0
41442 b .L12623
41443.L13662:
41444 add r5, r5, #32
41445 add r0, r0, #32
41446.L12623:
41447 ldr r1, [r5, #0]
41448 cmp r1, #0
41449 beq .L12624
41450 ands r3, r1, #15
41451 beq .L12626
41452 ldr r2, [r0, #0]
41453 orr ip, r6, r3
41454 tst r2, #256
41455 ldrne r7, [sp, #24]
41456 ldreq r8, [sp, #24]
41457 movne r3, r2, lsr #16
41458 movne r3, r3, asl #16
41459 orreq r3, r8, ip
41460 orrne r2, r7, ip
41461 orrne r3, r3, r2
41462 orreq r3, r3, r2, asl #16
41463 strne r3, [r0, #0]
41464 streq r3, [r0, #0]
41465.L12626:
41466 mov r3, r1, lsr #4
41467 ands r3, r3, #15
41468 beq .L12630
41469 ldr r2, [r0, #4]
41470 orr ip, r6, r3
41471 tst r2, #256
41472 ldrne r9, [sp, #24]
41473 ldreq sl, [sp, #24]
41474 movne r3, r2, lsr #16
41475 movne r3, r3, asl #16
41476 orreq r3, sl, ip
41477 orrne r2, r9, ip
41478 orrne r3, r3, r2
41479 orreq r3, r3, r2, asl #16
41480 strne r3, [r0, #4]
41481 streq r3, [r0, #4]
41482.L12630:
41483 mov r3, r1, lsr #8
41484 ands r3, r3, #15
41485 beq .L12634
41486 ldr r2, [r0, #8]
41487 orr ip, r6, r3
41488 tst r2, #256
41489 ldrne r7, [sp, #24]
41490 ldreq r8, [sp, #24]
41491 movne r3, r2, lsr #16
41492 movne r3, r3, asl #16
41493 orreq r3, r8, ip
41494 orrne r2, r7, ip
41495 orrne r3, r3, r2
41496 orreq r3, r3, r2, asl #16
41497 strne r3, [r0, #8]
41498 streq r3, [r0, #8]
41499.L12634:
41500 mov r3, r1, lsr #12
41501 ands r3, r3, #15
41502 beq .L12638
41503 ldr r2, [r0, #12]
41504 orr ip, r6, r3
41505 tst r2, #256
41506 ldrne r9, [sp, #24]
41507 ldreq sl, [sp, #24]
41508 movne r3, r2, lsr #16
41509 movne r3, r3, asl #16
41510 orreq r3, sl, ip
41511 orrne r2, r9, ip
41512 orrne r3, r3, r2
41513 orreq r3, r3, r2, asl #16
41514 strne r3, [r0, #12]
41515 streq r3, [r0, #12]
41516.L12638:
41517 mov r3, r1, lsr #16
41518 ands r3, r3, #15
41519 beq .L12642
41520 ldr r2, [r0, #16]
41521 orr ip, r6, r3
41522 tst r2, #256
41523 ldrne r7, [sp, #24]
41524 ldreq r8, [sp, #24]
41525 movne r3, r2, lsr #16
41526 movne r3, r3, asl #16
41527 orreq r3, r8, ip
41528 orrne r2, r7, ip
41529 orrne r3, r3, r2
41530 orreq r3, r3, r2, asl #16
41531 strne r3, [r0, #16]
41532 streq r3, [r0, #16]
41533.L12642:
41534 mov r3, r1, lsr #20
41535 ands r3, r3, #15
41536 beq .L12646
41537 ldr r2, [r0, #20]
41538 orr ip, r6, r3
41539 tst r2, #256
41540 ldrne r9, [sp, #24]
41541 ldreq sl, [sp, #24]
41542 movne r3, r2, lsr #16
41543 movne r3, r3, asl #16
41544 orreq r3, sl, ip
41545 orrne r2, r9, ip
41546 orrne r3, r3, r2
41547 orreq r3, r3, r2, asl #16
41548 strne r3, [r0, #20]
41549 streq r3, [r0, #20]
41550.L12646:
41551 mov r3, r1, lsr #24
41552 ands r3, r3, #15
41553 beq .L12650
41554 ldr r2, [r0, #24]
41555 orr ip, r6, r3
41556 tst r2, #256
41557 ldrne r7, [sp, #24]
41558 ldreq r8, [sp, #24]
41559 movne r3, r2, lsr #16
41560 movne r3, r3, asl #16
41561 orreq r3, r8, ip
41562 orrne r2, r7, ip
41563 orrne r3, r3, r2
41564 orreq r3, r3, r2, asl #16
41565 strne r3, [r0, #24]
41566 streq r3, [r0, #24]
41567.L12650:
41568 movs r3, r1, lsr #28
41569 beq .L12624
41570 ldr r2, [r0, #28]
41571 orr r1, r6, r3
41572 tst r2, #256
41573 ldrne r9, [sp, #24]
41574 ldreq sl, [sp, #24]
41575 movne r3, r2, lsr #16
41576 movne r3, r3, asl #16
41577 orreq r3, sl, r1
41578 orrne r2, r9, r1
41579 orrne r3, r3, r2
41580 orreq r3, r3, r2, asl #16
41581 strne r3, [r0, #28]
41582 streq r3, [r0, #28]
41583.L12624:
41584 add lr, lr, #1
41585 cmp r4, lr
41586 bne .L13662
41587 b .L12455
41588.L12504:
41589 mov r1, r2
41590 b .L13633
41591.L12746:
41592 ldr r2, [sp, #80]
41593 rsb r7, r4, #8
41594 cmp r2, r7
41595 blt .L13663
41596 cmp r7, #0
41597 ldr r2, [ip, #0]
41598 ldreq r5, [sp, #60]
41599 beq .L12761
41600 mov r3, r4, asl #2
41601 mov lr, r2, asl r3
41602 ldr r4, [sp, #60]
41603 mov r5, #0
41604.L12762:
41605 movs r3, lr, lsr #28
41606 beq .L12763
41607 ldr r1, [r4, #0]
41608 ldr r8, [sp, #24]
41609 orr r2, r6, r3
41610 mov r3, r1, lsr #16
41611 orr r0, r8, r2
41612 mov r3, r3, asl #16
41613 orr r2, r8, r2
41614 tst r1, #256
41615 orr r3, r3, r0
41616 orr r2, r2, r1, asl #16
41617 strne r3, [r4, #0]
41618 streq r2, [r4, #0]
41619.L12763:
41620 add r5, r5, #1
41621 cmp r7, r5
41622 mov lr, lr, asl #4
41623 add r4, r4, #4
41624 bne .L12762
41625 ldr r9, [sp, #60]
41626 add r5, r9, r7, asl #2
41627.L12761:
41628 ldr lr, [sp, #80]
41629 sub ip, ip, #32
41630 rsb sl, r7, lr
41631 b .L12748
41632.L13286:
41633 ldr r3, [sp, #80]
41634 rsb r5, lr, #8
41635 cmp r3, r5
41636 blt .L13664
41637 cmp lr, #3
41638 bls .L13327
41639 cmp r5, #0
41640 ldr r2, [r8, #0]
41641 ldreq r4, [sp, #60]
41642 beq .L13331
41643 mov r3, lr, asl #3
41644 sub r3, r3, #32
41645 mov ip, r2, asl r3
41646 ldr lr, [sp, #60]
41647 mov r4, #0
41648.L13332:
41649 movs r3, ip, lsr #24
41650 beq .L13333
41651 ldr r2, [lr, #0]
41652 ldr r7, [sp, #24]
41653 tst r2, #256
41654 orr r1, r7, r3
41655 orr r0, r7, r3
41656 mov r3, r2, lsr #16
41657 mov r3, r3, asl #16
41658 orr r3, r3, r1
41659 orr r1, r0, r2, asl #16
41660 strne r3, [lr, #0]
41661 streq r1, [lr, #0]
41662.L13333:
41663 add r4, r4, #1
41664 cmp r5, r4
41665 mov ip, ip, asl #8
41666 add lr, lr, #4
41667 bne .L13332
41668 ldr ip, [sp, #60]
41669 add r4, ip, r5, asl #2
41670.L13331:
41671 ldr r0, [sp, #80]
41672 sub r8, r8, #64
41673 rsb r7, r5, r0
41674 b .L13288
41675.L12950:
41676 ldr r2, [sp, #80]
41677 rsb r5, lr, #8
41678 cmp r2, r5
41679 blt .L13665
41680 cmp lr, #3
41681 bls .L12991
41682 cmp r5, #0
41683 ldr r2, [r7, #4]
41684 ldreq r4, [sp, #60]
41685 beq .L12995
41686 mov r3, lr, asl #3
41687 sub r3, r3, #32
41688 mov ip, r2, lsr r3
41689 ldr lr, [sp, #60]
41690 mov r4, #0
41691.L12996:
41692 ands r3, ip, #255
41693 beq .L12997
41694 ldr r2, [lr, #0]
41695 ldr r8, [sp, #24]
41696 tst r2, #256
41697 orr r1, r8, r3
41698 orr r0, r8, r3
41699 mov r3, r2, lsr #16
41700 mov r3, r3, asl #16
41701 orr r3, r3, r1
41702 orr r1, r0, r2, asl #16
41703 strne r3, [lr, #0]
41704 streq r1, [lr, #0]
41705.L12997:
41706 add r4, r4, #1
41707 cmp r5, r4
41708 mov ip, ip, lsr #8
41709 add lr, lr, #4
41710 bne .L12996
41711 ldr ip, [sp, #60]
41712 add r4, ip, r5, asl #2
41713.L12995:
41714 ldr r0, [sp, #80]
41715 add r7, r7, #64
41716 rsb r6, r5, r0
41717 b .L12952
41718.L12542:
41719 ldr r8, [sp, #80]
41720 rsb r5, r3, #8
41721 cmp r8, r5
41722 blt .L13666
41723 cmp r5, #0
41724 ldr r2, [r7, #0]
41725 ldreq r4, [sp, #60]
41726 beq .L12557
41727 mov r3, r3, asl #2
41728 mov ip, r2, lsr r3
41729 ldr lr, [sp, #60]
41730 mov r4, #0
41731.L12558:
41732 ands r3, ip, #15
41733 beq .L12559
41734 ldr r1, [lr, #0]
41735 orr r2, r6, r3
41736 ldr r3, [sp, #24]
41737 ldr r8, [sp, #24]
41738 orr r0, r3, r2
41739 mov r3, r1, lsr #16
41740 mov r3, r3, asl #16
41741 orr r2, r8, r2
41742 tst r1, #256
41743 orr r3, r3, r0
41744 orr r2, r2, r1, asl #16
41745 strne r3, [lr, #0]
41746 streq r2, [lr, #0]
41747.L12559:
41748 add r4, r4, #1
41749 cmp r5, r4
41750 mov ip, ip, lsr #4
41751 add lr, lr, #4
41752 bne .L12558
41753 ldr r9, [sp, #60]
41754 add r4, r9, r5, asl #2
41755.L12557:
41756 ldr ip, [sp, #80]
41757 add r7, r7, #32
41758 rsb sl, r5, ip
41759 b .L12544
41760.L13659:
41761 cmp r6, #0
41762 ldr r1, [r4, #4]
41763 ldreq r1, [sp, #60]
41764 beq .L13103
41765 mov r3, r2, asl #3
41766 sub r3, r3, #32
41767 mov ip, r1, lsr r3
41768 ldr lr, [sp, #60]
41769 mov r5, #0
41770.L13104:
41771 ands r3, ip, #255
41772 beq .L13105
41773 ldr r2, [lr, #0]
41774 ldr r8, [sp, #24]
41775 tst r2, #256
41776 orr r1, r8, r3
41777 orr r0, r8, r3
41778 mov r3, r2, lsr #16
41779 mov r3, r3, asl #16
41780 orr r3, r3, r1
41781 orr r1, r0, r2, asl #16
41782 strne r3, [lr, #0]
41783 streq r1, [lr, #0]
41784.L13105:
41785 add r5, r5, #1
41786 cmp r5, r6
41787 mov ip, ip, lsr #8
41788 add lr, lr, #4
41789 bne .L13104
41790 ldr ip, [sp, #60]
41791 add r4, r4, #64
41792 add r1, ip, r6, asl #2
41793 b .L13098
41794.L13666:
41795 cmp r8, #0
41796 ble .L12455
41797 ldr r2, [ip, r0]
41798 mov r3, r3, asl #2
41799 mov ip, r2, lsr r3
41800 ldr lr, [sp, #60]
41801 mov r4, #0
41802.L12549:
41803 ands r3, ip, #15
41804 beq .L12550
41805 ldr r1, [lr, #0]
41806 ldr r9, [sp, #24]
41807 orr r2, r6, r3
41808 mov r3, r1, lsr #16
41809 orr r0, r9, r2
41810 mov r3, r3, asl #16
41811 orr r2, r9, r2
41812 tst r1, #256
41813 orr r3, r3, r0
41814 orr r2, r2, r1, asl #16
41815 strne r3, [lr, #0]
41816 streq r2, [lr, #0]
41817.L12550:
41818 ldr sl, [sp, #80]
41819 add r4, r4, #1
41820 cmp sl, r4
41821 mov ip, ip, lsr #4
41822 add lr, lr, #4
41823 bne .L12549
41824 b .L12455
41825.L13657:
41826 cmp r6, #0
41827 ldr r1, [r4, #0]
41828 ldreq r0, [sp, #60]
41829 beq .L13439
41830 mov r3, r2, asl #3
41831 sub r3, r3, #32
41832 mov ip, r1, asl r3
41833 ldr lr, [sp, #60]
41834 mov r5, #0
41835.L13440:
41836 movs r3, ip, lsr #24
41837 beq .L13441
41838 ldr r2, [lr, #0]
41839 ldr r8, [sp, #24]
41840 tst r2, #256
41841 orr r1, r8, r3
41842 orr r0, r8, r3
41843 mov r3, r2, lsr #16
41844 mov r3, r3, asl #16
41845 orr r3, r3, r1
41846 orr r1, r0, r2, asl #16
41847 strne r3, [lr, #0]
41848 streq r1, [lr, #0]
41849.L13441:
41850 add r5, r5, #1
41851 cmp r5, r6
41852 mov ip, ip, asl #8
41853 add lr, lr, #4
41854 bne .L13440
41855 ldr ip, [sp, #60]
41856 sub r4, r4, #64
41857 add r0, ip, r6, asl #2
41858 b .L13434
41859.L13664:
41860 cmp r3, #0
41861 ble .L12455
41862 cmp lr, #3
41863 bls .L13292
41864 mov r3, lr, asl #3
41865 ldr r2, [r8, #0]
41866 sub r3, r3, #32
41867 mov ip, r2, asl r3
41868 ldr lr, [sp, #60]
41869 mov r4, #0
41870.L13295:
41871 movs r3, ip, lsr #24
41872 beq .L13296
41873 ldr r2, [lr, #0]
41874 ldr r5, [sp, #24]
41875 tst r2, #256
41876 orr r1, r5, r3
41877 orr r0, r5, r3
41878 mov r3, r2, lsr #16
41879 mov r3, r3, asl #16
41880 orr r3, r3, r1
41881 orr r1, r0, r2, asl #16
41882 strne r3, [lr, #0]
41883 streq r1, [lr, #0]
41884.L13296:
41885 ldr r6, [sp, #80]
41886 add r4, r4, #1
41887 cmp r6, r4
41888 mov ip, ip, asl #8
41889 add lr, lr, #4
41890 bne .L13295
41891 b .L12455
41892.L13665:
41893 cmp r2, #0
41894 ble .L12455
41895 cmp lr, #3
41896 bls .L12956
41897 mov r3, lr, asl #3
41898 ldr r2, [r7, #4]
41899 sub r3, r3, #32
41900 mov ip, r2, lsr r3
41901 ldr lr, [sp, #60]
41902 mov r4, #0
41903.L12959:
41904 ands r3, ip, #255
41905 beq .L12960
41906 ldr r2, [lr, #0]
41907 ldr r5, [sp, #24]
41908 tst r2, #256
41909 orr r1, r5, r3
41910 orr r0, r5, r3
41911 mov r3, r2, lsr #16
41912 mov r3, r3, asl #16
41913 orr r3, r3, r1
41914 orr r1, r0, r2, asl #16
41915 strne r3, [lr, #0]
41916 streq r1, [lr, #0]
41917.L12960:
41918 ldr r6, [sp, #80]
41919 add r4, r4, #1
41920 cmp r6, r4
41921 mov ip, ip, lsr #8
41922 add lr, lr, #4
41923 bne .L12959
41924 b .L12455
41925.L13663:
41926 cmp r2, #0
41927 ble .L12455
41928 ldr r2, [ip, #0]
41929 mov r3, r4, asl #2
41930 mov ip, r2, asl r3
41931 ldr lr, [sp, #60]
41932 mov r4, #0
41933.L12753:
41934 movs r3, ip, lsr #28
41935 beq .L12754
41936 ldr r1, [lr, #0]
41937 orr r2, r6, r3
41938 ldr r3, [sp, #24]
41939 ldr r5, [sp, #24]
41940 orr r0, r3, r2
41941 mov r3, r1, lsr #16
41942 mov r3, r3, asl #16
41943 orr r2, r5, r2
41944 tst r1, #256
41945 orr r3, r3, r0
41946 orr r2, r2, r1, asl #16
41947 strne r3, [lr, #0]
41948 streq r2, [lr, #0]
41949.L12754:
41950 ldr r7, [sp, #80]
41951 add r4, r4, #1
41952 cmp r7, r4
41953 mov ip, ip, asl #4
41954 add lr, lr, #4
41955 bne .L12753
41956 b .L12455
41957.L13669:
41958 mov r6, #0
41959 b .L12520
41960.L13668:
41961 mov r4, #0
41962 b .L12480
41963.L13327:
41964 subs r6, r5, #4
41965 ldr r2, [r8, #4]
41966 ldreq r2, [sp, #60]
41967 beq .L13341
41968 mov r3, lr, asl #3
41969 sub r3, r3, #32
41970 mov ip, r2, asl r3
41971 ldr lr, [sp, #60]
41972 mov r4, #0
41973.L13342:
41974 movs r3, ip, lsr #24
41975 beq .L13343
41976 ldr r2, [lr, #0]
41977 ldr r9, [sp, #24]
41978 tst r2, #256
41979 orr r1, r9, r3
41980 orr r0, r9, r3
41981 mov r3, r2, lsr #16
41982 mov r3, r3, asl #16
41983 orr r3, r3, r1
41984 orr r1, r0, r2, asl #16
41985 strne r3, [lr, #0]
41986 streq r1, [lr, #0]
41987.L13343:
41988 add r4, r4, #1
41989 cmp r4, r6
41990 mov ip, ip, asl #8
41991 add lr, lr, #4
41992 bne .L13342
41993 ldr sl, [sp, #60]
41994 add r3, sl, r5, asl #2
41995 sub r2, r3, #16
41996.L13341:
41997 ldr r1, [r8, #0]
41998 cmp r1, #0
41999 beq .L13349
42000 ands r0, r1, #255
42001 beq .L13351
42002 ldr r3, [r2, #12]
42003 tst r3, #256
42004 movne r3, r3, lsr #16
42005 ldrne ip, [sp, #24]
42006 ldreq lr, [sp, #24]
42007 movne r3, r3, asl #16
42008 orrne r3, ip, r3
42009 orreq r3, lr, r3, asl #16
42010 orrne r3, r0, r3
42011 orreq r3, r0, r3
42012 strne r3, [r2, #12]
42013 streq r3, [r2, #12]
42014.L13351:
42015 mov r3, r1, lsr #8
42016 ands r0, r3, #255
42017 beq .L13355
42018 ldr r3, [r2, #8]
42019 tst r3, #256
42020 movne r3, r3, lsr #16
42021 ldrne r4, [sp, #24]
42022 ldreq r6, [sp, #24]
42023 movne r3, r3, asl #16
42024 orrne r3, r4, r3
42025 orreq r3, r6, r3, asl #16
42026 orrne r3, r0, r3
42027 orreq r3, r0, r3
42028 strne r3, [r2, #8]
42029 streq r3, [r2, #8]
42030.L13355:
42031 mov r3, r1, lsr #16
42032 ands r0, r3, #255
42033 beq .L13359
42034 ldr r3, [r2, #4]
42035 tst r3, #256
42036 movne r3, r3, lsr #16
42037 ldrne r7, [sp, #24]
42038 ldreq r9, [sp, #24]
42039 movne r3, r3, asl #16
42040 orrne r3, r7, r3
42041 orreq r3, r9, r3, asl #16
42042 orrne r3, r0, r3
42043 orreq r3, r0, r3
42044 strne r3, [r2, #4]
42045 streq r3, [r2, #4]
42046.L13359:
42047 movs r1, r1, lsr #24
42048 beq .L13349
42049 ldr r3, [r2, #0]
42050 tst r3, #256
42051 beq .L13364
42052 mov r3, r3, lsr #16
42053 ldr sl, [sp, #24]
42054 mov r3, r3, asl #16
42055 orr r3, sl, r3
42056 orr r3, r1, r3
42057 str r3, [r2, #0]
42058.L13349:
42059 add r4, r2, #16
42060 b .L13331
42061.L12991:
42062 subs r6, r5, #4
42063 ldr r2, [r7, #0]
42064 ldreq r2, [sp, #60]
42065 beq .L13005
42066 mov r3, lr, asl #3
42067 mov ip, r2, lsr r3
42068 ldr lr, [sp, #60]
42069 mov r4, #0
42070.L13006:
42071 ands r3, ip, #255
42072 beq .L13007
42073 ldr r2, [lr, #0]
42074 ldr r9, [sp, #24]
42075 tst r2, #256
42076 orr r1, r9, r3
42077 orr r0, r9, r3
42078 mov r3, r2, lsr #16
42079 mov r3, r3, asl #16
42080 orr r3, r3, r1
42081 orr r1, r0, r2, asl #16
42082 strne r3, [lr, #0]
42083 streq r1, [lr, #0]
42084.L13007:
42085 add r4, r4, #1
42086 cmp r6, r4
42087 mov ip, ip, lsr #8
42088 add lr, lr, #4
42089 bne .L13006
42090 ldr sl, [sp, #60]
42091 add r3, sl, r5, asl #2
42092 sub r2, r3, #16
42093.L13005:
42094 ldr r1, [r7, #4]
42095 cmp r1, #0
42096 beq .L13013
42097 ands r0, r1, #255
42098 beq .L13015
42099 ldr r3, [r2, #0]
42100 tst r3, #256
42101 movne r3, r3, lsr #16
42102 ldrne ip, [sp, #24]
42103 ldreq lr, [sp, #24]
42104 movne r3, r3, asl #16
42105 orrne r3, ip, r3
42106 orreq r3, lr, r3, asl #16
42107 orrne r3, r0, r3
42108 orreq r3, r0, r3
42109 strne r3, [r2, #0]
42110 streq r3, [r2, #0]
42111.L13015:
42112 mov r3, r1, lsr #8
42113 ands r0, r3, #255
42114 beq .L13019
42115 ldr r3, [r2, #4]
42116 tst r3, #256
42117 movne r3, r3, lsr #16
42118 ldrne r4, [sp, #24]
42119 ldreq r6, [sp, #24]
42120 movne r3, r3, asl #16
42121 orrne r3, r4, r3
42122 orreq r3, r6, r3, asl #16
42123 orrne r3, r0, r3
42124 orreq r3, r0, r3
42125 strne r3, [r2, #4]
42126 streq r3, [r2, #4]
42127.L13019:
42128 mov r3, r1, lsr #16
42129 ands r0, r3, #255
42130 beq .L13023
42131 ldr r3, [r2, #8]
42132 tst r3, #256
42133 movne r3, r3, lsr #16
42134 ldrne r8, [sp, #24]
42135 ldreq r9, [sp, #24]
42136 movne r3, r3, asl #16
42137 orrne r3, r8, r3
42138 orreq r3, r9, r3, asl #16
42139 orrne r3, r0, r3
42140 orreq r3, r0, r3
42141 strne r3, [r2, #8]
42142 streq r3, [r2, #8]
42143.L13023:
42144 movs r1, r1, lsr #24
42145 beq .L13013
42146 ldr r3, [r2, #12]
42147 tst r3, #256
42148 beq .L13028
42149 mov r3, r3, lsr #16
42150 ldr sl, [sp, #24]
42151 mov r3, r3, asl #16
42152 orr r3, sl, r3
42153 orr r3, r1, r3
42154 str r3, [r2, #12]
42155.L13013:
42156 add r4, r2, #16
42157 b .L12995
42158.L13667:
42159 mov lr, r7
42160 b .L13631
42161.L13292:
42162 ldr r7, [sp, #80]
42163 mov r3, lr, asl #3
42164 ldr r1, [r8, #4]
42165 add r2, r7, lr
42166 sub r3, r3, #32
42167 cmp r2, #4
42168 mov ip, r1, asl r3
42169 bhi .L13301
42170 cmp r7, #0
42171 ldrne lr, [sp, #60]
42172 movne r4, #0
42173 beq .L12455
42174.L13321:
42175 movs r3, ip, lsr #24
42176 beq .L13322
42177 ldr r2, [lr, #0]
42178 ldr r5, [sp, #24]
42179 tst r2, #256
42180 orr r1, r5, r3
42181 orr r0, r5, r3
42182 mov r3, r2, lsr #16
42183 mov r3, r3, asl #16
42184 orr r3, r3, r1
42185 orr r1, r0, r2, asl #16
42186 strne r3, [lr, #0]
42187 streq r1, [lr, #0]
42188.L13322:
42189 ldr r6, [sp, #80]
42190 add r4, r4, #1
42191 cmp r6, r4
42192 mov ip, ip, asl #8
42193 add lr, lr, #4
42194 bne .L13321
42195 b .L12455
42196.L12956:
42197 ldr r8, [sp, #80]
42198 ldr r3, [r7, #0]
42199 add r2, r8, lr
42200 mov r1, lr, asl #3
42201 cmp r2, #4
42202 mov ip, r3, lsr r1
42203 bhi .L12965
42204 cmp r8, #0
42205 ldrne lr, [sp, #60]
42206 movne r4, #0
42207 beq .L12455
42208.L12985:
42209 ands r3, ip, #255
42210 beq .L12986
42211 ldr r2, [lr, #0]
42212 ldr r5, [sp, #24]
42213 tst r2, #256
42214 orr r1, r5, r3
42215 orr r0, r5, r3
42216 mov r3, r2, lsr #16
42217 mov r3, r3, asl #16
42218 orr r3, r3, r1
42219 orr r1, r0, r2, asl #16
42220 strne r3, [lr, #0]
42221 streq r1, [lr, #0]
42222.L12986:
42223 ldr r6, [sp, #80]
42224 add r4, r4, #1
42225 cmp r6, r4
42226 mov ip, ip, lsr #8
42227 add lr, lr, #4
42228 bne .L12985
42229 b .L12455
42230.L12965:
42231 rsbs r5, lr, #4
42232 ldreq lr, [sp, #60]
42233 beq .L12970
42234 ldr lr, [sp, #60]
42235 mov r4, #0
42236.L12971:
42237 ands r3, ip, #255
42238 beq .L12972
42239 ldr r2, [lr, #0]
42240 ldr r9, [sp, #24]
42241 tst r2, #256
42242 orr r1, r9, r3
42243 orr r0, r9, r3
42244 mov r3, r2, lsr #16
42245 mov r3, r3, asl #16
42246 orr r3, r3, r1
42247 orr r1, r0, r2, asl #16
42248 strne r3, [lr, #0]
42249 streq r1, [lr, #0]
42250.L12972:
42251 add r4, r4, #1
42252 cmp r5, r4
42253 mov ip, ip, lsr #8
42254 add lr, lr, #4
42255 bne .L12971
42256 ldr sl, [sp, #60]
42257 add lr, sl, r5, asl #2
42258.L12970:
42259 ldr ip, [sp, #80]
42260 subs r5, ip, r5
42261 ldr ip, [r7, #4]
42262 beq .L12455
42263 mov r4, #0
42264.L12979:
42265 ands r3, ip, #255
42266 beq .L12980
42267 ldr r2, [lr, #0]
42268 ldr r0, [sp, #24]
42269 tst r2, #256
42270 orr r1, r0, r3
42271 orr r0, r0, r3
42272 mov r3, r2, lsr #16
42273 mov r3, r3, asl #16
42274 orr r3, r3, r1
42275 orr r1, r0, r2, asl #16
42276 strne r3, [lr, #0]
42277 streq r1, [lr, #0]
42278.L12980:
42279 add r4, r4, #1
42280 cmp r5, r4
42281 mov ip, ip, lsr #8
42282 add lr, lr, #4
42283 bne .L12979
42284 b .L12455
42285.L13301:
42286 rsbs r5, lr, #4
42287 ldreq lr, [sp, #60]
42288 beq .L13306
42289 ldr lr, [sp, #60]
42290 mov r4, #0
42291.L13307:
42292 movs r3, ip, lsr #24
42293 beq .L13308
42294 ldr r2, [lr, #0]
42295 ldr r9, [sp, #24]
42296 tst r2, #256
42297 orr r1, r9, r3
42298 orr r0, r9, r3
42299 mov r3, r2, lsr #16
42300 mov r3, r3, asl #16
42301 orr r3, r3, r1
42302 orr r1, r0, r2, asl #16
42303 strne r3, [lr, #0]
42304 streq r1, [lr, #0]
42305.L13308:
42306 add r4, r4, #1
42307 cmp r4, r5
42308 mov ip, ip, asl #8
42309 add lr, lr, #4
42310 bne .L13307
42311 ldr sl, [sp, #60]
42312 add lr, sl, r5, asl #2
42313.L13306:
42314 ldr ip, [sp, #80]
42315 subs r5, ip, r5
42316 ldr ip, [r8, #0]
42317 beq .L12455
42318 mov r4, #0
42319.L13315:
42320 movs r3, ip, lsr #24
42321 beq .L13316
42322 ldr r2, [lr, #0]
42323 ldr r0, [sp, #24]
42324 tst r2, #256
42325 orr r1, r0, r3
42326 orr r0, r0, r3
42327 mov r3, r2, lsr #16
42328 mov r3, r3, asl #16
42329 orr r3, r3, r1
42330 orr r1, r0, r2, asl #16
42331 strne r3, [lr, #0]
42332 streq r1, [lr, #0]
42333.L13316:
42334 add r4, r4, #1
42335 cmp r5, r4
42336 mov ip, ip, asl #8
42337 add lr, lr, #4
42338 bne .L13315
42339 b .L12455
42340.L13136:
42341 ldr lr, [sp, #24]
42342 orr r3, lr, r3, asl #16
42343 orr r3, r2, r3
42344 str r3, [r1, #12]
42345 add r1, r1, #16
42346 b .L13103
42347.L13472:
42348 ldr lr, [sp, #24]
42349 add r0, r1, #16
42350 orr r3, lr, r3, asl #16
42351 orr r3, r2, r3
42352 str r3, [r1, #0]
42353 b .L13439
42354.L13364:
42355 ldr lr, [sp, #24]
42356 add r4, r2, #16
42357 orr r3, lr, r3, asl #16
42358 orr r3, r1, r3
42359 str r3, [r2, #0]
42360 b .L13331
42361.L13028:
42362 ldr lr, [sp, #24]
42363 add r4, r2, #16
42364 orr r3, lr, r3, asl #16
42365 orr r3, r1, r3
42366 str r3, [r2, #12]
42367 b .L12995
42368 .size render_scanline_obj_alpha_obj_2D, .-render_scanline_obj_alpha_obj_2D
42369 .align 2
42370 .global render_scanline_obj_partial_alpha_1D
42371 .type render_scanline_obj_partial_alpha_1D, %function
42372render_scanline_obj_partial_alpha_1D:
42373 @ args = 0, pretend = 0, frame = 148
42374 @ frame_needed = 0, uses_anonymous_args = 0
42375 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
42376 ldr ip, .L15733
42377 sub sp, sp, #148
42378 ldrh r4, [ip, #6]
42379 add r0, r0, r0, asl #2
42380 str r4, [sp, #40]
42381 ldr r5, [sp, #40]
42382 ldrh r4, [ip, #80]
42383 ldr ip, .L15733+4
42384 add r0, r5, r0, asl #5
42385 ldr ip, [ip, r0, asl #2]
42386 mov lr, r4, lsr #11
42387 and lr, lr, #2
42388 mov r4, r4, asl #27
42389 str ip, [sp, #44]
42390 orr lr, lr, r4, lsr #31
42391 cmp ip, #0
42392 ldr ip, .L15733+8
42393 mov lr, lr, asl #9
42394 add r0, ip, r0, asl #7
42395 orr lr, lr, #256
42396 str r0, [sp, #48]
42397 str r1, [sp, #8]
42398 str r2, [sp, #4]
42399 str r3, [sp, #0]
42400 str lr, [sp, #28]
42401 beq .L15634
42402 mov ip, #0
42403 add r7, r3, r1, asl #2
42404 rsb r8, r1, r2
42405 str r7, [sp, #108]
42406 str r8, [sp, #144]
42407 str ip, [sp, #32]
42408 mov lr, ip
42409.L13677:
42410 ldr r0, [sp, #48]
42411 ldr r1, .L15733+12
42412 ldrb r3, [lr, r0] @ zero_extendqisi2
42413 mov r3, r3, asl #3
42414 ldrh lr, [r3, r1]
42415 add r3, r3, r1
42416 ldrh r4, [r3, #2]
42417 mov r0, lr, lsr #12
42418 and r2, r0, #12
42419 ldrh r3, [r3, #4]
42420 orr r1, r2, r4, lsr #14
42421 and ip, lr, #255
42422 mov r2, r4, asl #23
42423 cmp ip, #160
42424 str r3, [sp, #36]
42425 mov r5, r2, asr #23
42426 ldr r3, .L15733+16
42427 ldr r2, .L15733+20
42428 subgt ip, ip, #256
42429 tst lr, #3072
42430 ldr r7, [r2, r1, asl #2]
42431 ldr sl, [r3, r1, asl #2]
42432 beq .L13680
42433 tst lr, #256
42434 beq .L13682
42435 tst lr, #8192
42436 beq .L13684
42437 mov r3, r4, lsr #4
42438 ldr r4, .L15733+12
42439 add r2, r7, r7, lsr #31
42440 and r3, r3, #992
42441 tst lr, #512
42442 add r3, r3, r4
42443 mov lr, r2, asr #1
42444 add r1, sl, sl, lsr #31
42445 ldr r2, [sp, #8]
42446 mov r4, r1, asr #1
42447 ldrh r9, [r3, #30]
42448 ldrh r8, [r3, #6]
42449 ldrh r1, [r3, #14]
42450 ldrh r3, [r3, #22]
42451 moveq r6, r7
42452 moveq fp, lr
42453 moveq r0, r4
42454 movne r6, r7, asl #1
42455 movne fp, lr, asl #1
42456 movne r0, r4, asl #1
42457 cmp r5, r2
42458 str r3, [sp, #12]
42459 bge .L13689
42460 rsb r2, r5, r2
42461 rsb r6, r2, r6
42462 cmp r6, #0
42463 ble .L13691
42464 ldr r5, [sp, #8]
42465 rsb fp, r2, fp
42466.L13689:
42467 ldr r2, [sp, #4]
42468 add r3, r5, r6
42469 cmp r3, r2
42470 blt .L13693
42471 rsb r6, r5, r2
42472 cmp r6, #0
42473 ble .L13691
42474.L13693:
42475 mov r2, r1, asl #16
42476 mov r3, r8, asl #16
42477 mov r2, r2, asr #16
42478 ldr r8, [sp, #12]
42479 add r0, ip, r0
42480 str r2, [sp, #52]
42481 ldr ip, [sp, #0]
42482 ldr r2, [sp, #40]
42483 mov r1, r9, asl #16
42484 mov lr, lr, asl #8
42485 cmp r8, #0
42486 str lr, [sp, #128]
42487 mov r9, r3, asr #16
42488 mov r1, r1, asr #16
42489 mov r4, r4, asl #8
42490 add r5, ip, r5, asl #2
42491 rsb lr, r0, r2
42492 bne .L13695
42493 mla r3, lr, r1, r4
42494 mov r2, r3, asr #8
42495 cmp r2, sl
42496 bcs .L13691
42497 cmp r7, #0
42498 ldr r4, [sp, #36]
42499 add r3, r7, #7
42500 movge r3, r7
42501 mov r1, r4, asl #22
42502 mov r3, r3, asr #3
42503 mov r0, r2, lsr #3
42504 mov r3, r3, asl #1
42505 mov r1, r1, lsr #22
42506 mla ip, r3, r0, r1
42507 and r2, r2, #7
42508 ldr r8, .L15733+24
42509 add r2, r2, ip, asl #2
42510 cmp r6, #0
42511 add r4, r8, r2, asl #3
42512 ble .L13691
42513 ldr r3, [sp, #52]
42514 mul r2, r9, fp
42515 mul r3, lr, r3
42516 ldr ip, [sp, #128]
42517 rsb r3, r2, r3
42518 add r0, ip, r3
42519 mov r2, r0, asr #8
42520 cmp r2, r7
42521 ldrcs ip, [sp, #12]
42522 bcs .L13701
42523 b .L15725
42524.L13702:
42525 cmp r2, r7
42526 bcc .L15660
42527.L13701:
42528 add ip, ip, #1
42529 add r0, r0, r9
42530 cmp r6, ip
42531 mov r2, r0, asr #8
42532 add r5, r5, #4
42533 bne .L13702
42534.L13691:
42535 ldr r0, [sp, #32]
42536 ldr r1, [sp, #44]
42537 add r0, r0, #1
42538 cmp r0, r1
42539 str r0, [sp, #32]
42540 beq .L15634
42541.L15686:
42542 ldr lr, [sp, #32]
42543 b .L13677
42544.L13680:
42545 tst lr, #256
42546 beq .L14852
42547 tst lr, #8192
42548 beq .L14854
42549 mov r3, r4, lsr #4
42550 ldr r4, .L15733+12
42551 add r1, sl, sl, lsr #31
42552 and r3, r3, #992
42553 add r3, r3, r4
42554 add r2, r7, r7, lsr #31
42555 mov r4, r1, asr #1
42556 ldr r1, [sp, #8]
42557 tst lr, #512
42558 ldrh r8, [r3, #30]
42559 mov lr, r2, asr #1
42560 moveq r9, r7
42561 moveq r6, lr
42562 moveq r0, r4
42563 movne r9, r7, asl #1
42564 movne r6, lr, asl #1
42565 movne r0, r4, asl #1
42566 cmp r5, r1
42567 str r8, [sp, #20]
42568 ldrh r2, [r3, #14]
42569 ldrh r8, [r3, #6]
42570 ldrh fp, [r3, #22]
42571 bge .L14859
42572 rsb r1, r5, r1
42573 rsb r9, r1, r9
42574 cmp r9, #0
42575 ble .L13691
42576 ldr r5, [sp, #8]
42577 rsb r6, r1, r6
42578.L14859:
42579 ldr r1, [sp, #4]
42580 add r3, r5, r9
42581 cmp r3, r1
42582 blt .L14862
42583 rsb r9, r5, r1
42584 cmp r9, #0
42585 ble .L13691
42586.L14862:
42587 mov r2, r2, asl #16
42588 mov r3, r8, asl #16
42589 mov r2, r2, asr #16
42590 ldr r8, [sp, #20]
42591 mov lr, lr, asl #8
42592 str r2, [sp, #76]
42593 str lr, [sp, #80]
42594 ldr r2, [sp, #40]
42595 ldr lr, [sp, #0]
42596 add r0, ip, r0
42597 mov r1, r8, asl #16
42598 mov r3, r3, asr #16
42599 cmp fp, #0
42600 add r8, lr, r5, asl #2
42601 str r3, [sp, #72]
42602 mov r1, r1, asr #16
42603 mov ip, r4, asl #8
42604 rsb lr, r0, r2
42605 bne .L14864
42606 mla r3, lr, r1, ip
42607 mov r2, r3, asr #8
42608 cmp r2, sl
42609 bcs .L13691
42610 cmp r7, #0
42611 ldr r4, [sp, #36]
42612 add r3, r7, #7
42613 movge r3, r7
42614 mov r1, r4, asl #22
42615 mov r3, r3, asr #3
42616 mov r0, r2, lsr #3
42617 mov r3, r3, asl #1
42618 mov r1, r1, lsr #22
42619 mla ip, r3, r0, r1
42620 and r2, r2, #7
42621 ldr r5, .L15733+24
42622 add r2, r2, ip, asl #2
42623 cmp r9, #0
42624 add r4, r5, r2, asl #3
42625 ble .L13691
42626 ldr r3, [sp, #76]
42627 ldr r2, [sp, #72]
42628 mul r3, lr, r3
42629 mul r2, r6, r2
42630 ldr ip, [sp, #80]
42631 rsb r3, r2, r3
42632 add r0, ip, r3
42633 mov lr, r0, asr #8
42634 cmp lr, r7
42635 movcs ip, fp
42636 bcs .L14870
42637 b .L15726
42638.L14871:
42639 cmp lr, r7
42640 bcc .L15672
42641.L14870:
42642 ldr lr, [sp, #72]
42643 add ip, ip, #1
42644 add r0, r0, lr
42645 cmp r9, ip
42646 mov lr, r0, asr #8
42647 add r8, r8, #4
42648 bne .L14871
42649 ldr r0, [sp, #32]
42650 ldr r1, [sp, #44]
42651 add r0, r0, #1
42652 cmp r0, r1
42653 str r0, [sp, #32]
42654 bne .L15686
42655.L15634:
42656 add sp, sp, #148
42657 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
42658.L13682:
42659 ldr r1, [sp, #40]
42660 tst r4, #8192
42661 rsb ip, ip, r1
42662 rsbne r3, ip, sl
42663 subne ip, r3, #1
42664 mov r2, r4, asl #19
42665 and r3, r0, #2
42666 orr r3, r3, r2, lsr #31
42667 cmp r3, #3
42668 ldrls pc, [pc, r3, asl #2]
42669 b .L13691
42670 .p2align 2
42671.L13771:
42672 .word .L13767
42673 .word .L13768
42674 .word .L13769
42675 .word .L13770
42676.L14852:
42677 ldr lr, [sp, #40]
42678 tst r4, #8192
42679 rsb ip, ip, lr
42680 rsbne r3, ip, sl
42681 subne ip, r3, #1
42682 mov r2, r4, asl #19
42683 and r3, r0, #2
42684 orr r3, r3, r2, lsr #31
42685 cmp r3, #3
42686 ldrls pc, [pc, r3, asl #2]
42687 b .L13691
42688 .p2align 2
42689.L14933:
42690 .word .L14929
42691 .word .L14930
42692 .word .L14931
42693 .word .L14932
42694.L14854:
42695 mov r3, r4, lsr #4
42696 ldr r1, .L15733+12
42697 and r3, r3, #992
42698 add r3, r3, r1
42699 ldrh r4, [r3, #30]
42700 add r1, sl, sl, lsr #31
42701 add r2, r7, r7, lsr #31
42702 str r4, [sp, #24]
42703 mov r4, r1, asr #1
42704 ldr r1, [sp, #8]
42705 tst lr, #512
42706 mov lr, r2, asr #1
42707 moveq fp, r7
42708 moveq r6, lr
42709 moveq r0, r4
42710 movne fp, r7, asl #1
42711 movne r6, lr, asl #1
42712 movne r0, r4, asl #1
42713 cmp r5, r1
42714 ldrh r8, [r3, #6]
42715 ldrh r2, [r3, #14]
42716 ldrh r9, [r3, #22]
42717 bge .L14891
42718 rsb r1, r5, r1
42719 rsb fp, r1, fp
42720 cmp fp, #0
42721 ble .L13691
42722 ldr r5, [sp, #8]
42723 rsb r6, r1, r6
42724.L14891:
42725 ldr r1, [sp, #4]
42726 add r3, r5, fp
42727 cmp r3, r1
42728 blt .L14894
42729 rsb fp, r5, r1
42730 cmp fp, #0
42731 ble .L13691
42732.L14894:
42733 mov r3, r8, asl #16
42734 ldr r8, [sp, #24]
42735 mov r2, r2, asl #16
42736 mov r1, r8, asl #16
42737 ldr r8, [sp, #36]
42738 mov r2, r2, asr #16
42739 mov lr, lr, asl #8
42740 add ip, ip, r0
42741 str r2, [sp, #92]
42742 mov r0, r8, lsr #8
42743 str lr, [sp, #100]
42744 ldr r2, [sp, #40]
42745 ldr lr, [sp, #0]
42746 mov r3, r3, asr #16
42747 and r0, r0, #240
42748 cmp r9, #0
42749 add r8, lr, r5, asl #2
42750 str r3, [sp, #88]
42751 mov r1, r1, asr #16
42752 mov r4, r4, asl #8
42753 rsb lr, ip, r2
42754 str r0, [sp, #136]
42755 bne .L14896
42756 mla r3, lr, r1, r4
42757 mov r3, r3, asr #8
42758 cmp r3, sl
42759 bcs .L13691
42760 ldr r4, [sp, #36]
42761 cmp r7, #0
42762 add r2, r7, #7
42763 mov r1, r4, asl #22
42764 movge r2, r7
42765 mov r1, r1, lsr #22
42766 mov r0, r3, lsr #3
42767 mov r2, r2, asr #3
42768 mla ip, r2, r0, r1
42769 and r3, r3, #7
42770 ldr r5, .L15733+24
42771 add r3, r3, ip, asl #3
42772 cmp fp, #0
42773 add r1, r5, r3, asl #2
42774 ble .L13691
42775 ldr r3, [sp, #92]
42776 ldr r2, [sp, #88]
42777 mul r3, lr, r3
42778 mul r2, r6, r2
42779 ldr ip, [sp, #100]
42780 rsb r3, r2, r3
42781 add r0, ip, r3
42782 mov r3, r0, asr #8
42783 cmp r3, r7
42784 mov lr, r3
42785 movcs r4, r9
42786 bcs .L14902
42787 b .L15727
42788.L14903:
42789 cmp r3, r7
42790 bcc .L14904
42791.L14902:
42792 ldr lr, [sp, #88]
42793 add r4, r4, #1
42794 add r0, r0, lr
42795 mov r3, r0, asr #8
42796 cmp fp, r4
42797 add r8, r8, #4
42798 mov lr, r3
42799 bne .L14903
42800 b .L13691
42801.L13684:
42802 mov r3, r4, lsr #4
42803 ldr r4, .L15733+12
42804 add r2, r7, r7, lsr #31
42805 and r3, r3, #992
42806 tst lr, #512
42807 add r3, r3, r4
42808 mov lr, r2, asr #1
42809 add r1, sl, sl, lsr #31
42810 ldr r2, [sp, #8]
42811 mov r4, r1, asr #1
42812 ldrh r9, [r3, #30]
42813 ldrh r8, [r3, #6]
42814 ldrh r1, [r3, #14]
42815 ldrh r3, [r3, #22]
42816 moveq fp, r7
42817 moveq r6, lr
42818 moveq r0, r4
42819 movne fp, r7, asl #1
42820 movne r6, lr, asl #1
42821 movne r0, r4, asl #1
42822 cmp r5, r2
42823 str r3, [sp, #16]
42824 bge .L13726
42825 rsb r2, r5, r2
42826 rsb fp, r2, fp
42827 cmp fp, #0
42828 ble .L13691
42829 ldr r5, [sp, #8]
42830 rsb r6, r2, r6
42831.L13726:
42832 ldr r2, [sp, #4]
42833 add r3, r5, fp
42834 cmp r3, r2
42835 blt .L13729
42836 rsb fp, r5, r2
42837 cmp fp, #0
42838 ble .L13691
42839.L13729:
42840 mov r3, r8, asl #16
42841 ldr r8, [sp, #16]
42842 mov r2, r1, asl #16
42843 cmp r8, #0
42844 ldr r8, [sp, #36]
42845 mov lr, lr, asl #8
42846 add ip, ip, r0
42847 str lr, [sp, #132]
42848 mov r0, r8, lsr #8
42849 ldr lr, [sp, #0]
42850 mov r8, r2, asr #16
42851 ldr r2, [sp, #40]
42852 mov r1, r9, asl #16
42853 mov r3, r3, asr #16
42854 and r0, r0, #240
42855 add r9, lr, r5, asl #2
42856 str r3, [sp, #60]
42857 mov r1, r1, asr #16
42858 mov r4, r4, asl #8
42859 rsb lr, ip, r2
42860 str r0, [sp, #140]
42861 bne .L13731
42862 mla r3, lr, r1, r4
42863 mov r3, r3, asr #8
42864 cmp r3, sl
42865 bcs .L13691
42866 ldr r4, [sp, #36]
42867 cmp r7, #0
42868 add r2, r7, #7
42869 mov r1, r4, asl #22
42870 movge r2, r7
42871 mov r0, r3, lsr #3
42872 mov r1, r1, lsr #22
42873 mov r2, r2, asr #3
42874 mla ip, r2, r0, r1
42875 and r3, r3, #7
42876 add r3, r3, ip, asl #3
42877 ldr ip, .L15733+24
42878 cmp fp, #0
42879 add r5, ip, r3, asl #2
42880 ble .L13691
42881 ldr r2, [sp, #60]
42882 mul r3, lr, r8
42883 mul r2, r6, r2
42884 ldr lr, [sp, #132]
42885 rsb r3, r2, r3
42886 add ip, lr, r3
42887 mov r1, ip, asr #8
42888 cmp r1, r7
42889 ldrcs lr, [sp, #16]
42890 bcs .L13737
42891 b .L15728
42892.L13738:
42893 cmp r1, r7
42894 bcc .L15662
42895.L13737:
42896 ldr r0, [sp, #60]
42897 add lr, lr, #1
42898 add ip, ip, r0
42899 cmp fp, lr
42900 mov r1, ip, asr #8
42901 add r9, r9, #4
42902 bne .L13738
42903 b .L13691
42904.L13740:
42905 cmp r1, r7
42906 bcs .L13691
42907.L15662:
42908 mov r3, r1, asr #1
42909 and r4, r3, #3
42910 mov r3, r1, asr #3
42911 mov r3, r3, asl #5
42912 mov r2, r1, asr #1
42913 and r0, r2, #3
42914 tst r1, #1
42915 add r2, r3, r5
42916 add r1, r3, r5
42917 ldrneb r3, [r1, r4] @ zero_extendqisi2
42918 ldreqb r3, [r2, r0] @ zero_extendqisi2
42919 movne r0, r3, lsr #4
42920 andeq r0, r3, #15
42921 ldr r1, [sp, #140]
42922 cmp r0, #0
42923 orr r0, r0, r1
42924 beq .L13745
42925 ldr r2, [r9, #0]
42926 orr r1, r0, #768
42927 mov r3, r2, lsr #16
42928 orr r0, r0, #768
42929 mov r3, r3, asl #16
42930 tst r2, #256
42931 orr r3, r3, r1
42932 orr r0, r0, r2, asl #16
42933 strne r3, [r9, #0]
42934 streq r0, [r9, #0]
42935.L13745:
42936 ldr r2, [sp, #60]
42937 add lr, lr, #1
42938 add ip, ip, r2
42939 cmp fp, lr
42940 add r9, r9, #4
42941 mov r1, ip, asr #8
42942 bgt .L13740
42943 b .L13691
42944.L13731:
42945 ldr r5, [sp, #36]
42946 cmp r7, #0
42947 add r2, r7, #7
42948 mov r3, r5, asl #22
42949 movge r2, r7
42950 ldr ip, .L15733+24
42951 mov r3, r3, lsr #22
42952 mov r2, r2, asr #3
42953 add r3, ip, r3, asl #5
42954 mov r2, r2, asl #5
42955 cmp fp, #0
42956 str r3, [sp, #120]
42957 str r2, [sp, #68]
42958 ble .L13691
42959 ldr r0, [sp, #16]
42960 mul r2, lr, r1
42961 mov r3, r0, asl #16
42962 mov r3, r3, asr #16
42963 str r3, [sp, #64]
42964 ldr r1, [sp, #64]
42965 ldr r0, [sp, #60]
42966 mul r1, r6, r1
42967 mul r3, lr, r8
42968 mul r0, r6, r0
42969 rsb r2, r1, r2
42970 ldr r1, [sp, #132]
42971 rsb r3, r0, r3
42972 add r5, r4, r2
42973 add r6, r1, r3
42974 mov r4, r6, asr #8
42975 mov r3, r5, asr #8
42976 cmp r4, r7
42977 cmpcc r3, sl
42978 movcs r2, #0
42979 movcc r2, #1
42980 movcs r8, r2
42981 bcs .L13752
42982 b .L15729
42983.L13753:
42984 cmp r4, r7
42985 cmpcc r3, sl
42986 bcc .L13754
42987.L13752:
42988 ldr r3, [sp, #64]
42989 ldr r2, [sp, #60]
42990 add r8, r8, #1
42991 add r6, r6, r2
42992 add r5, r5, r3
42993 cmp fp, r8
42994 mov r4, r6, asr #8
42995 mov r3, r5, asr #8
42996 add r9, r9, #4
42997 bne .L13753
42998 b .L13691
42999.L14896:
43000 ldr r0, [sp, #36]
43001 cmp r7, #0
43002 add r2, r7, #7
43003 mov r3, r0, asl #22
43004 movge r2, r7
43005 ldr r5, .L15733+24
43006 mov r3, r3, lsr #22
43007 mov r2, r2, asr #3
43008 add r3, r5, r3, asl #5
43009 mov r2, r2, asl #5
43010 cmp fp, #0
43011 str r3, [sp, #112]
43012 str r2, [sp, #104]
43013 ble .L13691
43014 mov r3, r9, asl #16
43015 mov r3, r3, asr #16
43016 str r3, [sp, #96]
43017 mul r2, lr, r1
43018 ldr r3, [sp, #92]
43019 ldr r1, [sp, #96]
43020 ldr r0, [sp, #88]
43021 mul r3, lr, r3
43022 mul r1, r6, r1
43023 mul r0, r6, r0
43024 ldr ip, [sp, #100]
43025 rsb r2, r1, r2
43026 rsb r3, r0, r3
43027 add r5, ip, r3
43028 add r4, r4, r2
43029 mov lr, r5, asr #8
43030 mov r2, r4, asr #8
43031 cmp lr, r7
43032 cmpcc r2, sl
43033 movcs r3, #0
43034 movcc r3, #1
43035 movcs r6, r3
43036 bcs .L14916
43037 b .L15730
43038.L14917:
43039 cmp lr, r7
43040 cmpcc r2, sl
43041 bcc .L14918
43042.L14916:
43043 ldr lr, [sp, #88]
43044 ldr r0, [sp, #96]
43045 add r6, r6, #1
43046 add r5, r5, lr
43047 add r4, r4, r0
43048 cmp fp, r6
43049 mov lr, r5, asr #8
43050 mov r2, r4, asr #8
43051 add r8, r8, #4
43052 bne .L14917
43053 b .L13691
43054.L14873:
43055 cmp lr, r7
43056 bcs .L13691
43057.L15672:
43058 ldr r1, [sp, #72]
43059 mov r3, lr, asr #3
43060 add r0, r0, r1
43061 add r3, r4, r3, asl #6
43062 and r1, lr, #7
43063 ldrb r2, [r3, r1] @ zero_extendqisi2
43064 ldr r5, [sp, #28]
43065 cmp r2, #0
43066 add ip, ip, #1
43067 orr r3, r5, r2
43068 strne r3, [r8, #0]
43069 cmp r9, ip
43070 mov lr, r0, asr #8
43071 add r8, r8, #4
43072 bgt .L14873
43073 b .L13691
43074.L13704:
43075 cmp r2, r7
43076 bcs .L13691
43077.L15660:
43078 mov r3, r2, asr #3
43079 add r3, r4, r3, asl #6
43080 and r2, r2, #7
43081 ldrb lr, [r3, r2] @ zero_extendqisi2
43082 cmp lr, #0
43083 beq .L13706
43084 ldr r3, [r5, #0]
43085 mov r2, r3, lsr #16
43086 mov r2, r2, asl #16
43087 orr r1, lr, r3, asl #16
43088 orr r2, r2, #768
43089 tst r3, #256
43090 orr r2, lr, r2
43091 orr r1, r1, #768
43092 strne r2, [r5, #0]
43093 streq r1, [r5, #0]
43094.L13706:
43095 add ip, ip, #1
43096 add r0, r0, r9
43097 cmp r6, ip
43098 add r5, r5, #4
43099 mov r2, r0, asr #8
43100 bgt .L13704
43101 b .L13691
43102.L13695:
43103 ldr r0, [sp, #36]
43104 cmp r7, #0
43105 add r2, r7, #7
43106 mov r3, r0, asl #22
43107 movge r2, r7
43108 ldr r8, .L15733+24
43109 mov r3, r3, lsr #22
43110 mov r2, r2, asr #3
43111 add r3, r8, r3, asl #5
43112 mov r2, r2, asl #6
43113 cmp r6, #0
43114 str r3, [sp, #124]
43115 str r2, [sp, #56]
43116 ble .L13691
43117 ldr ip, [sp, #12]
43118 mul r2, lr, r1
43119 mov r3, ip, asl #16
43120 mov r8, r3, asr #16
43121 ldr r3, [sp, #52]
43122 mul r1, r8, fp
43123 mul r3, lr, r3
43124 mul r0, r9, fp
43125 ldr lr, [sp, #128]
43126 rsb r3, r0, r3
43127 rsb r2, r1, r2
43128 add ip, lr, r3
43129 add lr, r4, r2
43130 mov r1, ip, asr #8
43131 mov r0, lr, asr #8
43132 cmp r1, r7
43133 cmpcc r0, sl
43134 movcs r3, #0
43135 movcc r3, #1
43136 movcs r4, r3
43137 bcs .L13713
43138 b .L15731
43139.L13714:
43140 cmp r1, r7
43141 cmpcc r0, sl
43142 bcc .L13715
43143.L13713:
43144 add r4, r4, #1
43145 add ip, ip, r9
43146 add lr, lr, r8
43147 cmp r6, r4
43148 mov r1, ip, asr #8
43149 mov r0, lr, asr #8
43150 add r5, r5, #4
43151 bne .L13714
43152 b .L13691
43153.L14864:
43154 ldr r0, [sp, #36]
43155 cmp r7, #0
43156 add r2, r7, #7
43157 mov r3, r0, asl #22
43158 movge r2, r7
43159 ldr r4, .L15733+24
43160 mov r3, r3, lsr #22
43161 mov r2, r2, asr #3
43162 add r3, r4, r3, asl #5
43163 mov r2, r2, asl #6
43164 cmp r9, #0
43165 str r3, [sp, #116]
43166 str r2, [sp, #84]
43167 ble .L13691
43168 mov r3, fp, asl #16
43169 mov fp, r3, asr #16
43170 ldr r0, [sp, #72]
43171 ldr r3, [sp, #76]
43172 mul r2, lr, r1
43173 mul r3, lr, r3
43174 mul r1, fp, r6
43175 mul r0, r6, r0
43176 ldr lr, [sp, #80]
43177 rsb r3, r0, r3
43178 rsb r2, r1, r2
43179 add r5, lr, r3
43180 add ip, ip, r2
43181 mov r4, r5, asr #8
43182 mov lr, ip, asr #8
43183 cmp r4, r7
43184 cmpcc lr, sl
43185 movcs r3, #0
43186 movcc r3, #1
43187 movcs r6, r3
43188 bcs .L14880
43189 b .L15732
43190.L14881:
43191 cmp r4, r7
43192 cmpcc lr, sl
43193 bcc .L14882
43194.L14880:
43195 ldr r0, [sp, #72]
43196 add r6, r6, #1
43197 add r5, r5, r0
43198 add ip, ip, fp
43199 cmp r9, r6
43200 mov r4, r5, asr #8
43201 mov lr, ip, asr #8
43202 add r8, r8, #4
43203 bne .L14881
43204 b .L13691
43205.L14929:
43206 ldr r0, [sp, #36]
43207 cmp r7, #0
43208 add r3, r7, #7
43209 mov r2, r0, asl #22
43210 movge r3, r7
43211 mov r4, r3, asr #3
43212 mov r2, r2, lsr #22
43213 mov r3, ip, lsr #3
43214 mla r0, r4, r3, r2
43215 ldr r8, [sp, #36]
43216 ldr r2, [sp, #8]
43217 and r1, ip, #7
43218 ldr ip, .L15733+24
43219 add r1, r1, r0, asl #3
43220 mov r3, r8, lsr #8
43221 cmp r5, r2
43222 and r6, r3, #240
43223 add r0, ip, r1, asl #2
43224 bge .L14934
43225 rsb lr, r5, r2
43226 rsb r4, lr, r7
43227 cmp r4, #0
43228 ble .L13691
43229 ldr r1, [sp, #4]
43230 add r3, r5, r7
43231 cmp r1, r3
43232 bhi .L14937
43233 mov r3, lr, lsr #3
43234 mov r1, r3, asl #5
43235 ands r3, lr, #7
43236 add r4, r0, r1
43237 bne .L14939
43238 ldr r5, [sp, #144]
43239 ldr r7, [sp, #108]
43240.L14941:
43241 movs lr, r5, lsr #3
43242 beq .L14958
43243 mov r1, r7
43244 mov r0, r4
43245 mov ip, #0
43246.L14960:
43247 ldr r2, [r0, #0]
43248 cmp r2, #0
43249 beq .L14961
43250 ands r3, r2, #15
43251 ldrne r8, [sp, #28]
43252 orrne r3, r8, r3
43253 orrne r3, r6, r3
43254 strne r3, [r1, #0]
43255 mov r3, r2, lsr #4
43256 ands r3, r3, #15
43257 ldrne r8, [sp, #28]
43258 orrne r3, r8, r3
43259 orrne r3, r6, r3
43260 strne r3, [r1, #4]
43261 mov r3, r2, lsr #8
43262 ands r3, r3, #15
43263 ldrne r8, [sp, #28]
43264 orrne r3, r8, r3
43265 orrne r3, r6, r3
43266 strne r3, [r1, #8]
43267 mov r3, r2, lsr #12
43268 ands r3, r3, #15
43269 ldrne r8, [sp, #28]
43270 orrne r3, r8, r3
43271 orrne r3, r6, r3
43272 strne r3, [r1, #12]
43273 mov r3, r2, lsr #16
43274 ands r3, r3, #15
43275 ldrne r8, [sp, #28]
43276 orrne r3, r8, r3
43277 orrne r3, r6, r3
43278 strne r3, [r1, #16]
43279 mov r3, r2, lsr #20
43280 ands r3, r3, #15
43281 ldrne r8, [sp, #28]
43282 orrne r3, r8, r3
43283 orrne r3, r6, r3
43284 strne r3, [r1, #20]
43285 mov r3, r2, lsr #24
43286 ands r3, r3, #15
43287 ldrne r8, [sp, #28]
43288 orrne r3, r8, r3
43289 orrne r3, r6, r3
43290 strne r3, [r1, #24]
43291 movs r3, r2, lsr #28
43292 ldrne r2, [sp, #28]
43293 orrne r3, r2, r3
43294 orrne r3, r6, r3
43295 strne r3, [r1, #28]
43296.L14961:
43297 add ip, ip, #1
43298 cmp lr, ip
43299 add r0, r0, #32
43300 add r1, r1, #32
43301 bne .L14960
43302 mov r3, lr, asl #5
43303 add r4, r4, r3
43304 add r7, r7, r3
43305.L14958:
43306 ands r0, r5, #7
43307 beq .L13691
43308 ldr r2, [r4, #0]
43309 mov r1, #0
43310.L14980:
43311 ldr r4, [sp, #28]
43312 ands r3, r2, #15
43313 orr r3, r4, r3
43314 orr r3, r6, r3
43315 strne r3, [r7, r1, asl #2]
43316 add r1, r1, #1
43317 cmp r1, r0
43318 mov r2, r2, lsr #4
43319 bne .L14980
43320 b .L13691
43321.L14930:
43322 ldr lr, [sp, #36]
43323 cmp r7, #0
43324 add r3, r7, #7
43325 mov r2, lr, asl #22
43326 movge r3, r7
43327 mov r4, r3, asr #3
43328 mov r2, r2, lsr #22
43329 mov r1, ip, lsr #3
43330 mla r0, r4, r1, r2
43331 subs r3, r7, #8
43332 submi r3, r7, #1
43333 add r0, r0, r3, asr #3
43334 and r2, ip, #7
43335 add r2, r2, r0, asl #3
43336 ldr r0, [sp, #8]
43337 ldr r1, .L15733+24
43338 cmp r5, r0
43339 mov r3, lr, lsr #8
43340 and r6, r3, #240
43341 add r0, r1, r2, asl #2
43342 bge .L15064
43343 ldr r2, [sp, #8]
43344 rsb lr, r5, r2
43345 rsb r1, lr, r7
43346 cmp r1, #0
43347 ble .L13691
43348 ldr r4, [sp, #4]
43349 add r3, r5, r7
43350 cmp r4, r3
43351 bhi .L15067
43352 mov r3, lr, lsr #3
43353 ands r4, lr, #7
43354 sub r0, r0, r3, asl #5
43355 bne .L15069
43356 ldr r2, [sp, #144]
43357 ldr r1, [sp, #108]
43358.L15071:
43359 movs r8, r2, lsr #3
43360 beq .L15088
43361 mov r4, r1
43362 mov r5, r0
43363 mov r7, #0
43364.L15090:
43365 ldr lr, [r5, #0]
43366 cmp lr, #0
43367 beq .L15091
43368 ands r3, lr, #15
43369 ldrne ip, [sp, #28]
43370 orrne r3, ip, r3
43371 orrne r3, r6, r3
43372 strne r3, [r4, #28]
43373 mov r3, lr, lsr #4
43374 ands r3, r3, #15
43375 ldrne ip, [sp, #28]
43376 orrne r3, ip, r3
43377 orrne r3, r6, r3
43378 strne r3, [r4, #24]
43379 mov r3, lr, lsr #8
43380 ands r3, r3, #15
43381 ldrne ip, [sp, #28]
43382 orrne r3, ip, r3
43383 orrne r3, r6, r3
43384 strne r3, [r4, #20]
43385 mov r3, lr, lsr #12
43386 ands r3, r3, #15
43387 ldrne ip, [sp, #28]
43388 orrne r3, ip, r3
43389 orrne r3, r6, r3
43390 strne r3, [r4, #16]
43391 mov r3, lr, lsr #16
43392 ands r3, r3, #15
43393 ldrne ip, [sp, #28]
43394 orrne r3, ip, r3
43395 orrne r3, r6, r3
43396 strne r3, [r4, #12]
43397 mov r3, lr, lsr #20
43398 ands r3, r3, #15
43399 ldrne ip, [sp, #28]
43400 orrne r3, ip, r3
43401 orrne r3, r6, r3
43402 strne r3, [r4, #8]
43403 mov r3, lr, lsr #24
43404 ands r3, r3, #15
43405 ldrne ip, [sp, #28]
43406 orrne r3, ip, r3
43407 orrne r3, r6, r3
43408 strne r3, [r4, #4]
43409 movs r3, lr, lsr #28
43410 ldrne lr, [sp, #28]
43411 orrne r3, lr, r3
43412 orrne r3, r6, r3
43413 strne r3, [r4, #0]
43414.L15091:
43415 add r7, r7, #1
43416 cmp r7, r8
43417 sub r5, r5, #32
43418 add r4, r4, #32
43419 bne .L15090
43420 rsb r3, r8, r8, asl #27
43421 add r0, r0, r3, asl #5
43422 add r1, r1, r8, asl #5
43423.L15088:
43424 ands lr, r2, #7
43425 beq .L13691
43426 ldr r0, [r0, #0]
43427 mov r2, #0
43428.L15110:
43429 ldr r4, [sp, #28]
43430 movs r3, r0, lsr #28
43431 orr r3, r4, r3
43432 orr r3, r6, r3
43433 strne r3, [r1, r2, asl #2]
43434 add r2, r2, #1
43435 cmp r2, lr
43436 mov r0, r0, asl #4
43437 bne .L15110
43438 b .L13691
43439.L15734:
43440 .align 2
43441.L15733:
43442 .word io_registers
43443 .word obj_priority_count
43444 .word obj_priority_list
43445 .word oam_ram
43446 .word obj_height_table
43447 .word obj_width_table
43448 .word vram+65536
43449.L14931:
43450 ldr lr, [sp, #36]
43451 cmp r7, #0
43452 add r3, r7, #7
43453 mov r2, ip, lsr #3
43454 movge r3, r7
43455 mov r1, lr, asl #22
43456 mov r4, r3, asr #3
43457 mov r2, r2, asl #1
43458 mov r1, r1, lsr #22
43459 mla r0, r2, r4, r1
43460 and r3, ip, #7
43461 ldr r1, [sp, #8]
43462 add r3, r3, r0, asl #2
43463 ldr r2, .L15733+24
43464 mov r0, r3, asl #3
43465 cmp r5, r1
43466 add ip, r0, r2
43467 bge .L15194
43468 rsb r0, r5, r1
43469 rsb lr, r0, r7
43470 cmp lr, #0
43471 ble .L13691
43472 ldr r4, [sp, #4]
43473 add r3, r5, r7
43474 cmp r4, r3
43475 bhi .L15197
43476 mov r3, r0, lsr #3
43477 ands lr, r0, #7
43478 add r6, ip, r3, asl #6
43479 bne .L15199
43480 ldr r5, [sp, #144]
43481 ldr r4, [sp, #108]
43482.L15201:
43483 movs lr, r5, lsr #3
43484 beq .L15259
43485 mov r1, r4
43486 mov r0, r6
43487 mov ip, #0
43488.L15261:
43489 ldr r2, [r0, #0]
43490 cmp r2, #0
43491 beq .L15262
43492 ands r3, r2, #255
43493 ldrne r7, [sp, #28]
43494 orrne r3, r7, r3
43495 strne r3, [r1, #0]
43496 mov r3, r2, lsr #8
43497 ands r3, r3, #255
43498 ldrne r8, [sp, #28]
43499 orrne r3, r8, r3
43500 strne r3, [r1, #4]
43501 mov r3, r2, lsr #16
43502 ands r3, r3, #255
43503 ldrne r7, [sp, #28]
43504 orrne r3, r7, r3
43505 strne r3, [r1, #8]
43506 movs r3, r2, lsr #24
43507 ldrne r8, [sp, #28]
43508 orrne r3, r8, r3
43509 strne r3, [r1, #12]
43510.L15262:
43511 ldr r2, [r0, #4]
43512 cmp r2, #0
43513 beq .L15271
43514 ands r3, r2, #255
43515 ldrne r7, [sp, #28]
43516 orrne r3, r7, r3
43517 strne r3, [r1, #16]
43518 mov r3, r2, lsr #8
43519 ands r3, r3, #255
43520 ldrne r8, [sp, #28]
43521 orrne r3, r8, r3
43522 strne r3, [r1, #20]
43523 mov r3, r2, lsr #16
43524 ands r3, r3, #255
43525 ldrne r7, [sp, #28]
43526 orrne r3, r7, r3
43527 strne r3, [r1, #24]
43528 movs r3, r2, lsr #24
43529 ldrne r8, [sp, #28]
43530 orrne r3, r8, r3
43531 strne r3, [r1, #28]
43532.L15271:
43533 add ip, ip, #1
43534 cmp ip, lr
43535 add r0, r0, #64
43536 add r1, r1, #32
43537 bne .L15261
43538 add r6, r6, lr, asl #6
43539 add r4, r4, lr, asl #5
43540.L15259:
43541 ands r0, r5, #7
43542 beq .L13691
43543 cmp r0, #3
43544 ldrls r1, [r6, #0]
43545 bls .L15294
43546 ldr r2, [r6, #0]
43547 cmp r2, #0
43548 beq .L15284
43549 ands r3, r2, #255
43550 ldrne ip, [sp, #28]
43551 orrne r3, ip, r3
43552 strne r3, [r4, #0]
43553 mov r3, r2, lsr #8
43554 ands r3, r3, #255
43555 ldrne lr, [sp, #28]
43556 orrne r3, lr, r3
43557 strne r3, [r4, #4]
43558 mov r3, r2, lsr #16
43559 ands r3, r3, #255
43560 ldrne r1, [sp, #28]
43561 orrne r3, r1, r3
43562 strne r3, [r4, #8]
43563 movs r3, r2, lsr #24
43564 ldrne r2, [sp, #28]
43565 orrne r3, r2, r3
43566 strne r3, [r4, #12]
43567.L15284:
43568 subs r0, r0, #4
43569 ldr r1, [r6, #4]
43570 addne r4, r4, #16
43571 beq .L13691
43572.L15294:
43573 mov r2, #0
43574.L15295:
43575 ldr r5, [sp, #28]
43576 ands r3, r1, #255
43577 orr r3, r5, r3
43578 strne r3, [r4, r2, asl #2]
43579 add r2, r2, #1
43580 cmp r0, r2
43581 mov r1, r1, lsr #8
43582 bhi .L15295
43583 b .L13691
43584.L13769:
43585 ldr r4, [sp, #36]
43586 cmp r7, #0
43587 add r3, r7, #7
43588 mov r1, r4, asl #22
43589 movge r3, r7
43590 mov r2, ip, lsr #3
43591 mov r4, r3, asr #3
43592 mov r2, r2, asl #1
43593 mov r1, r1, lsr #22
43594 mla r0, r2, r4, r1
43595 and r3, ip, #7
43596 ldr r8, [sp, #8]
43597 add r3, r3, r0, asl #2
43598 ldr lr, .L15733+24
43599 mov r0, r3, asl #3
43600 cmp r5, r8
43601 add ip, r0, lr
43602 bge .L14180
43603 rsb r0, r5, r8
43604 rsb r8, r0, r7
43605 cmp r8, #0
43606 ble .L13691
43607 ldr r1, [sp, #4]
43608 add r3, r5, r7
43609 cmp r1, r3
43610 bhi .L14183
43611 mov r3, r0, lsr #3
43612 ands lr, r0, #7
43613 add r7, ip, r3, asl #6
43614 bne .L14185
43615 ldr r6, [sp, #144]
43616 ldr r4, [sp, #108]
43617.L14187:
43618 movs r5, r6, lsr #3
43619 beq .L14265
43620 mov r0, r4
43621 mov ip, r7
43622 mov lr, #0
43623.L14267:
43624 ldr r2, [ip, #0]
43625 cmp r2, #0
43626 beq .L14268
43627 ands r1, r2, #255
43628 beq .L14270
43629 ldr r3, [r0, #0]
43630 tst r3, #256
43631 movne r3, r3, lsr #16
43632 movne r3, r3, asl #16
43633 orrne r3, r3, #768
43634 orreq r3, r1, r3, asl #16
43635 orrne r3, r1, r3
43636 orreq r3, r3, #768
43637 strne r3, [r0, #0]
43638 streq r3, [r0, #0]
43639.L14270:
43640 mov r3, r2, lsr #8
43641 ands r1, r3, #255
43642 beq .L14274
43643 ldr r3, [r0, #4]
43644 tst r3, #256
43645 movne r3, r3, lsr #16
43646 movne r3, r3, asl #16
43647 orrne r3, r3, #768
43648 orreq r3, r1, r3, asl #16
43649 orrne r3, r1, r3
43650 orreq r3, r3, #768
43651 strne r3, [r0, #4]
43652 streq r3, [r0, #4]
43653.L14274:
43654 mov r3, r2, lsr #16
43655 ands r1, r3, #255
43656 beq .L14278
43657 ldr r3, [r0, #8]
43658 tst r3, #256
43659 movne r3, r3, lsr #16
43660 movne r3, r3, asl #16
43661 orrne r3, r3, #768
43662 orreq r3, r1, r3, asl #16
43663 orrne r3, r1, r3
43664 orreq r3, r3, #768
43665 strne r3, [r0, #8]
43666 streq r3, [r0, #8]
43667.L14278:
43668 movs r2, r2, lsr #24
43669 beq .L14268
43670 ldr r1, [r0, #12]
43671 tst r1, #256
43672 movne r3, r1, lsr #16
43673 movne r3, r3, asl #16
43674 orreq r3, r2, #768
43675 orrne r2, r2, #768
43676 orrne r3, r3, r2
43677 orreq r3, r3, r1, asl #16
43678 strne r3, [r0, #12]
43679 streq r3, [r0, #12]
43680.L14268:
43681 ldr r2, [ip, #4]
43682 cmp r2, #0
43683 beq .L14285
43684 ands r1, r2, #255
43685 beq .L14287
43686 ldr r3, [r0, #16]
43687 tst r3, #256
43688 movne r3, r3, lsr #16
43689 movne r3, r3, asl #16
43690 orrne r3, r3, #768
43691 orreq r3, r1, r3, asl #16
43692 orrne r3, r1, r3
43693 orreq r3, r3, #768
43694 strne r3, [r0, #16]
43695 streq r3, [r0, #16]
43696.L14287:
43697 mov r3, r2, lsr #8
43698 ands r1, r3, #255
43699 beq .L14291
43700 ldr r3, [r0, #20]
43701 tst r3, #256
43702 movne r3, r3, lsr #16
43703 movne r3, r3, asl #16
43704 orrne r3, r3, #768
43705 orreq r3, r1, r3, asl #16
43706 orrne r3, r1, r3
43707 orreq r3, r3, #768
43708 strne r3, [r0, #20]
43709 streq r3, [r0, #20]
43710.L14291:
43711 mov r3, r2, lsr #16
43712 ands r1, r3, #255
43713 beq .L14295
43714 ldr r3, [r0, #24]
43715 tst r3, #256
43716 movne r3, r3, lsr #16
43717 movne r3, r3, asl #16
43718 orrne r3, r3, #768
43719 orreq r3, r1, r3, asl #16
43720 orrne r3, r1, r3
43721 orreq r3, r3, #768
43722 strne r3, [r0, #24]
43723 streq r3, [r0, #24]
43724.L14295:
43725 movs r2, r2, lsr #24
43726 beq .L14285
43727 ldr r3, [r0, #28]
43728 tst r3, #256
43729 movne r3, r3, lsr #16
43730 movne r3, r3, asl #16
43731 orrne r3, r3, #768
43732 orreq r3, r2, r3, asl #16
43733 orrne r3, r2, r3
43734 orreq r3, r3, #768
43735 strne r3, [r0, #28]
43736 streq r3, [r0, #28]
43737.L14285:
43738 add lr, lr, #1
43739 cmp r5, lr
43740 add ip, ip, #64
43741 add r0, r0, #32
43742 bne .L14267
43743 add r7, r7, r5, asl #6
43744 add r4, r4, r5, asl #5
43745.L14265:
43746 ands r5, r6, #7
43747 beq .L13691
43748 cmp r5, #3
43749 ldrls ip, [r7, #0]
43750 bls .L14324
43751 ldr r2, [r7, #0]
43752 cmp r2, #0
43753 beq .L14306
43754 ands r1, r2, #255
43755 beq .L14308
43756 ldr r3, [r4, #0]
43757 tst r3, #256
43758 movne r3, r3, lsr #16
43759 movne r3, r3, asl #16
43760 orrne r3, r3, #768
43761 orreq r3, r1, r3, asl #16
43762 orrne r3, r1, r3
43763 orreq r3, r3, #768
43764 strne r3, [r4, #0]
43765 streq r3, [r4, #0]
43766.L14308:
43767 mov r3, r2, lsr #8
43768 ands r1, r3, #255
43769 beq .L14312
43770 ldr r3, [r4, #4]
43771 tst r3, #256
43772 movne r3, r3, lsr #16
43773 movne r3, r3, asl #16
43774 orrne r3, r3, #768
43775 orreq r3, r1, r3, asl #16
43776 orrne r3, r1, r3
43777 orreq r3, r3, #768
43778 strne r3, [r4, #4]
43779 streq r3, [r4, #4]
43780.L14312:
43781 mov r3, r2, lsr #16
43782 ands r1, r3, #255
43783 beq .L14316
43784 ldr r3, [r4, #8]
43785 tst r3, #256
43786 movne r3, r3, lsr #16
43787 movne r3, r3, asl #16
43788 orrne r3, r3, #768
43789 orreq r3, r1, r3, asl #16
43790 orrne r3, r1, r3
43791 orreq r3, r3, #768
43792 strne r3, [r4, #8]
43793 streq r3, [r4, #8]
43794.L14316:
43795 movs r2, r2, lsr #24
43796 beq .L14306
43797 ldr r1, [r4, #12]
43798 tst r1, #256
43799 movne r3, r1, lsr #16
43800 movne r3, r3, asl #16
43801 orreq r3, r2, #768
43802 orrne r2, r2, #768
43803 orrne r3, r3, r2
43804 orreq r3, r3, r1, asl #16
43805 strne r3, [r4, #12]
43806 streq r3, [r4, #12]
43807.L14306:
43808 subs r5, r5, #4
43809 ldr ip, [r7, #4]
43810 addne r4, r4, #16
43811 beq .L13691
43812.L14324:
43813 mov lr, #0
43814.L14325:
43815 ands r0, ip, #255
43816 beq .L14326
43817 ldr r2, [r4, #0]
43818 orr r1, r0, #768
43819 mov r3, r2, lsr #16
43820 orr r0, r0, #768
43821 mov r3, r3, asl #16
43822 tst r2, #256
43823 orr r3, r3, r1
43824 orr r0, r0, r2, asl #16
43825 strne r3, [r4, #0]
43826 streq r0, [r4, #0]
43827.L14326:
43828 add lr, lr, #1
43829 cmp lr, r5
43830 mov ip, ip, lsr #8
43831 add r4, r4, #4
43832 bcc .L14325
43833 b .L13691
43834.L13767:
43835 ldr r4, [sp, #36]
43836 cmp r7, #0
43837 add r3, r7, #7
43838 mov r2, r4, asl #22
43839 movge r3, r7
43840 mov r8, r3, asr #3
43841 mov r2, r2, lsr #22
43842 mov r3, ip, lsr #3
43843 mla r0, r8, r3, r2
43844 and r1, ip, #7
43845 ldr ip, [sp, #8]
43846 ldr lr, .L15733+24
43847 add r1, r1, r0, asl #3
43848 mov r3, r4, lsr #8
43849 cmp r5, ip
43850 and r6, r3, #240
43851 add r0, lr, r1, asl #2
43852 bge .L13772
43853 rsb lr, r5, ip
43854 rsb r8, lr, r7
43855 cmp r8, #0
43856 ble .L13691
43857 ldr r1, [sp, #4]
43858 add r3, r5, r7
43859 cmp r1, r3
43860 bhi .L13775
43861 mov r3, lr, lsr #3
43862 mov r1, r3, asl #5
43863 ands r3, lr, #7
43864 add r8, r0, r1
43865 bne .L13777
43866 ldr sl, [sp, #144]
43867 ldr r4, [sp, #108]
43868.L13779:
43869 movs r7, sl, lsr #3
43870 beq .L13800
43871 mov ip, r4
43872 mov lr, r8
43873 mov r5, #0
43874.L13802:
43875 ldr r0, [lr, #0]
43876 cmp r0, #0
43877 beq .L13803
43878 ands r2, r0, #15
43879 beq .L13805
43880 ldr r1, [ip, #0]
43881 orr r2, r6, r2
43882 tst r1, #256
43883 movne r3, r1, lsr #16
43884 movne r3, r3, asl #16
43885 orreq r3, r2, #768
43886 orrne r2, r2, #768
43887 orrne r3, r3, r2
43888 orreq r3, r3, r1, asl #16
43889 strne r3, [ip, #0]
43890 streq r3, [ip, #0]
43891.L13805:
43892 mov r3, r0, lsr #4
43893 ands r2, r3, #15
43894 beq .L13809
43895 ldr r1, [ip, #4]
43896 orr r2, r6, r2
43897 tst r1, #256
43898 movne r3, r1, lsr #16
43899 movne r3, r3, asl #16
43900 orreq r3, r2, #768
43901 orrne r2, r2, #768
43902 orrne r3, r3, r2
43903 orreq r3, r3, r1, asl #16
43904 strne r3, [ip, #4]
43905 streq r3, [ip, #4]
43906.L13809:
43907 mov r3, r0, lsr #8
43908 ands r2, r3, #15
43909 beq .L13813
43910 ldr r1, [ip, #8]
43911 orr r2, r6, r2
43912 tst r1, #256
43913 movne r3, r1, lsr #16
43914 movne r3, r3, asl #16
43915 orreq r3, r2, #768
43916 orrne r2, r2, #768
43917 orrne r3, r3, r2
43918 orreq r3, r3, r1, asl #16
43919 strne r3, [ip, #8]
43920 streq r3, [ip, #8]
43921.L13813:
43922 mov r3, r0, lsr #12
43923 ands r2, r3, #15
43924 beq .L13817
43925 ldr r1, [ip, #12]
43926 orr r2, r6, r2
43927 tst r1, #256
43928 movne r3, r1, lsr #16
43929 movne r3, r3, asl #16
43930 orreq r3, r2, #768
43931 orrne r2, r2, #768
43932 orrne r3, r3, r2
43933 orreq r3, r3, r1, asl #16
43934 strne r3, [ip, #12]
43935 streq r3, [ip, #12]
43936.L13817:
43937 mov r3, r0, lsr #16
43938 ands r2, r3, #15
43939 beq .L13821
43940 ldr r1, [ip, #16]
43941 orr r2, r6, r2
43942 tst r1, #256
43943 movne r3, r1, lsr #16
43944 movne r3, r3, asl #16
43945 orreq r3, r2, #768
43946 orrne r2, r2, #768
43947 orrne r3, r3, r2
43948 orreq r3, r3, r1, asl #16
43949 strne r3, [ip, #16]
43950 streq r3, [ip, #16]
43951.L13821:
43952 mov r3, r0, lsr #20
43953 ands r2, r3, #15
43954 beq .L13825
43955 ldr r1, [ip, #20]
43956 orr r2, r6, r2
43957 tst r1, #256
43958 movne r3, r1, lsr #16
43959 movne r3, r3, asl #16
43960 orreq r3, r2, #768
43961 orrne r2, r2, #768
43962 orrne r3, r3, r2
43963 orreq r3, r3, r1, asl #16
43964 strne r3, [ip, #20]
43965 streq r3, [ip, #20]
43966.L13825:
43967 mov r3, r0, lsr #24
43968 ands r2, r3, #15
43969 beq .L13829
43970 ldr r1, [ip, #24]
43971 orr r2, r6, r2
43972 tst r1, #256
43973 movne r3, r1, lsr #16
43974 movne r3, r3, asl #16
43975 orreq r3, r2, #768
43976 orrne r2, r2, #768
43977 orrne r3, r3, r2
43978 orreq r3, r3, r1, asl #16
43979 strne r3, [ip, #24]
43980 streq r3, [ip, #24]
43981.L13829:
43982 movs r2, r0, lsr #28
43983 beq .L13803
43984 ldr r1, [ip, #28]
43985 orr r2, r6, r2
43986 tst r1, #256
43987 movne r3, r1, lsr #16
43988 movne r3, r3, asl #16
43989 orreq r3, r2, #768
43990 orrne r2, r2, #768
43991 orrne r3, r3, r2
43992 orreq r3, r3, r1, asl #16
43993 strne r3, [ip, #28]
43994 streq r3, [ip, #28]
43995.L13803:
43996 add r5, r5, #1
43997 cmp r7, r5
43998 add lr, lr, #32
43999 add ip, ip, #32
44000 bne .L13802
44001 mov r3, r7, asl #5
44002 add r8, r8, r3
44003 add r4, r4, r3
44004.L13800:
44005 ands r5, sl, #7
44006 beq .L13691
44007 ldr ip, [r8, #0]
44008 mov lr, #0
44009.L13838:
44010 ands r3, ip, #15
44011 beq .L13839
44012 ldr r1, [r4, #0]
44013 orr r2, r6, r3
44014 mov r3, r1, lsr #16
44015 orr r0, r2, #768
44016 mov r3, r3, asl #16
44017 orr r2, r2, #768
44018 tst r1, #256
44019 orr r3, r3, r0
44020 orr r2, r2, r1, asl #16
44021 strne r3, [r4, #0]
44022 streq r2, [r4, #0]
44023.L13839:
44024 add lr, lr, #1
44025 cmp r5, lr
44026 mov ip, ip, lsr #4
44027 add r4, r4, #4
44028 bne .L13838
44029 b .L13691
44030.L13770:
44031 cmp r7, #0
44032 add r2, r7, #7
44033 movge r2, r7
44034 subs r3, r7, #8
44035 submi r3, r7, #1
44036 mov r6, r2, asr #3
44037 mov r3, r3, asr #3
44038 mov r1, ip, lsr #3
44039 mla r0, r6, r1, r3
44040 ldr r3, [sp, #36]
44041 ldr r4, [sp, #8]
44042 mov r2, r3, asl #22
44043 mov r2, r2, lsr #22
44044 add r2, r2, r0, asl #1
44045 and r3, ip, #7
44046 add r3, r3, r2, asl #2
44047 ldr r8, .L15733+24
44048 mov r0, r3, asl #3
44049 cmp r5, r4
44050 add ip, r0, r8
44051 bge .L14516
44052 rsb r0, r5, r4
44053 rsb r8, r0, r7
44054 cmp r8, #0
44055 ble .L13691
44056 ldr lr, [sp, #4]
44057 add r3, r5, r7
44058 cmp lr, r3
44059 bhi .L14519
44060 mov r3, r0, lsr #3
44061 ands lr, r0, #7
44062 sub r8, ip, r3, asl #6
44063 bne .L14521
44064 ldr r7, [sp, #144]
44065 ldr r4, [sp, #108]
44066.L14523:
44067 movs r6, r7, lsr #3
44068 beq .L14601
44069 mov ip, r4
44070 mov lr, r8
44071 mov r5, #0
44072.L14603:
44073 ldr r2, [lr, #4]
44074 cmp r2, #0
44075 beq .L14604
44076 ands r1, r2, #255
44077 beq .L14606
44078 ldr r3, [ip, #12]
44079 tst r3, #256
44080 movne r3, r3, lsr #16
44081 movne r3, r3, asl #16
44082 orrne r3, r3, #768
44083 orreq r3, r1, r3, asl #16
44084 orrne r3, r1, r3
44085 orreq r3, r3, #768
44086 strne r3, [ip, #12]
44087 streq r3, [ip, #12]
44088.L14606:
44089 mov r3, r2, lsr #8
44090 ands r1, r3, #255
44091 beq .L14610
44092 ldr r3, [ip, #8]
44093 tst r3, #256
44094 movne r3, r3, lsr #16
44095 movne r3, r3, asl #16
44096 orrne r3, r3, #768
44097 orreq r3, r1, r3, asl #16
44098 orrne r3, r1, r3
44099 orreq r3, r3, #768
44100 strne r3, [ip, #8]
44101 streq r3, [ip, #8]
44102.L14610:
44103 mov r3, r2, lsr #16
44104 ands r1, r3, #255
44105 beq .L14614
44106 ldr r3, [ip, #4]
44107 tst r3, #256
44108 movne r3, r3, lsr #16
44109 movne r3, r3, asl #16
44110 orrne r3, r3, #768
44111 orreq r3, r1, r3, asl #16
44112 orrne r3, r1, r3
44113 orreq r3, r3, #768
44114 strne r3, [ip, #4]
44115 streq r3, [ip, #4]
44116.L14614:
44117 movs r2, r2, lsr #24
44118 beq .L14604
44119 ldr r3, [ip, #0]
44120 tst r3, #256
44121 movne r3, r3, lsr #16
44122 movne r3, r3, asl #16
44123 orrne r3, r3, #768
44124 orreq r3, r2, r3, asl #16
44125 orrne r3, r2, r3
44126 orreq r3, r3, #768
44127 strne r3, [ip, #0]
44128 streq r3, [ip, #0]
44129.L14604:
44130 ldr r1, [lr, #0]
44131 cmp r1, #0
44132 beq .L14621
44133 ands r2, r1, #255
44134 beq .L14623
44135 ldr r0, [ip, #28]
44136 tst r0, #256
44137 movne r3, r0, lsr #16
44138 movne r3, r3, asl #16
44139 orreq r3, r2, #768
44140 orrne r2, r2, #768
44141 orrne r3, r3, r2
44142 orreq r3, r3, r0, asl #16
44143 strne r3, [ip, #28]
44144 streq r3, [ip, #28]
44145.L14623:
44146 mov r3, r1, lsr #8
44147 ands r2, r3, #255
44148 beq .L14627
44149 ldr r3, [ip, #24]
44150 tst r3, #256
44151 movne r3, r3, lsr #16
44152 movne r3, r3, asl #16
44153 orrne r3, r3, #768
44154 orreq r3, r2, r3, asl #16
44155 orrne r3, r2, r3
44156 orreq r3, r3, #768
44157 strne r3, [ip, #24]
44158 streq r3, [ip, #24]
44159.L14627:
44160 mov r3, r1, lsr #16
44161 ands r2, r3, #255
44162 beq .L14631
44163 ldr r3, [ip, #20]
44164 tst r3, #256
44165 movne r3, r3, lsr #16
44166 movne r3, r3, asl #16
44167 orrne r3, r3, #768
44168 orreq r3, r2, r3, asl #16
44169 orrne r3, r2, r3
44170 orreq r3, r3, #768
44171 strne r3, [ip, #20]
44172 streq r3, [ip, #20]
44173.L14631:
44174 movs r2, r1, lsr #24
44175 beq .L14621
44176 ldr r1, [ip, #16]
44177 tst r1, #256
44178 movne r3, r1, lsr #16
44179 movne r3, r3, asl #16
44180 orreq r3, r2, #768
44181 orrne r2, r2, #768
44182 orrne r3, r3, r2
44183 orreq r3, r3, r1, asl #16
44184 strne r3, [ip, #16]
44185 streq r3, [ip, #16]
44186.L14621:
44187 add r5, r5, #1
44188 cmp r5, r6
44189 sub lr, lr, #64
44190 add ip, ip, #32
44191 bne .L14603
44192 rsb r3, r6, r6, asl #26
44193 add r8, r8, r3, asl #6
44194 add r4, r4, r6, asl #5
44195.L14601:
44196 ands r5, r7, #7
44197 beq .L13691
44198 cmp r5, #3
44199 ldrls ip, [r8, #4]
44200 bls .L14660
44201 ldr r2, [r8, #4]
44202 cmp r2, #0
44203 beq .L14642
44204 ands r1, r2, #255
44205 beq .L14644
44206 ldr r3, [r4, #12]
44207 tst r3, #256
44208 movne r3, r3, lsr #16
44209 movne r3, r3, asl #16
44210 orrne r3, r3, #768
44211 orreq r3, r1, r3, asl #16
44212 orrne r3, r1, r3
44213 orreq r3, r3, #768
44214 strne r3, [r4, #12]
44215 streq r3, [r4, #12]
44216.L14644:
44217 mov r3, r2, lsr #8
44218 ands r1, r3, #255
44219 beq .L14648
44220 ldr r3, [r4, #8]
44221 tst r3, #256
44222 movne r3, r3, lsr #16
44223 movne r3, r3, asl #16
44224 orrne r3, r3, #768
44225 orreq r3, r1, r3, asl #16
44226 orrne r3, r1, r3
44227 orreq r3, r3, #768
44228 strne r3, [r4, #8]
44229 streq r3, [r4, #8]
44230.L14648:
44231 mov r3, r2, lsr #16
44232 ands r1, r3, #255
44233 beq .L14652
44234 ldr r3, [r4, #4]
44235 tst r3, #256
44236 movne r3, r3, lsr #16
44237 movne r3, r3, asl #16
44238 orrne r3, r3, #768
44239 orreq r3, r1, r3, asl #16
44240 orrne r3, r1, r3
44241 orreq r3, r3, #768
44242 strne r3, [r4, #4]
44243 streq r3, [r4, #4]
44244.L14652:
44245 movs r2, r2, lsr #24
44246 beq .L14642
44247 ldr r3, [r4, #0]
44248 tst r3, #256
44249 movne r3, r3, lsr #16
44250 movne r3, r3, asl #16
44251 orrne r3, r3, #768
44252 orreq r3, r2, r3, asl #16
44253 orrne r3, r2, r3
44254 orreq r3, r3, #768
44255 strne r3, [r4, #0]
44256 streq r3, [r4, #0]
44257.L14642:
44258 subs r5, r5, #4
44259 ldr ip, [r8, #0]
44260 addne r4, r4, #16
44261 beq .L13691
44262.L14660:
44263 mov lr, #0
44264.L14661:
44265 movs r0, ip, lsr #24
44266 beq .L14662
44267 ldr r2, [r4, #0]
44268 orr r1, r0, #768
44269 mov r3, r2, lsr #16
44270 orr r0, r0, #768
44271 mov r3, r3, asl #16
44272 tst r2, #256
44273 orr r3, r3, r1
44274 orr r0, r0, r2, asl #16
44275 strne r3, [r4, #0]
44276 streq r0, [r4, #0]
44277.L14662:
44278 add lr, lr, #1
44279 cmp lr, r5
44280 mov ip, ip, asl #8
44281 add r4, r4, #4
44282 bcc .L14661
44283 b .L13691
44284.L14932:
44285 cmp r7, #0
44286 add r2, r7, #7
44287 movge r2, r7
44288 subs r3, r7, #8
44289 submi r3, r7, #1
44290 mov r4, r2, asr #3
44291 mov r3, r3, asr #3
44292 mov r1, ip, lsr #3
44293 mla r0, r4, r1, r3
44294 ldr r1, [sp, #36]
44295 and r3, ip, #7
44296 mov r2, r1, asl #22
44297 mov r2, r2, lsr #22
44298 add r2, r2, r0, asl #1
44299 add r3, r3, r2, asl #2
44300 ldr r2, [sp, #8]
44301 mov r0, r3, asl #3
44302 ldr r3, .L15733+24
44303 cmp r5, r2
44304 add r2, r0, r3
44305 bge .L15414
44306 ldr r4, [sp, #8]
44307 rsb r0, r5, r4
44308 rsb lr, r0, r7
44309 cmp lr, #0
44310 ble .L13691
44311 add r3, r5, r7
44312 ldr r5, [sp, #4]
44313 cmp r5, r3
44314 bhi .L15417
44315 mov r3, r0, lsr #3
44316 ands ip, r0, #7
44317 sub r6, r2, r3, asl #6
44318 bne .L15419
44319 ldr r5, [sp, #144]
44320 ldr r4, [sp, #108]
44321.L15421:
44322 movs lr, r5, lsr #3
44323 beq .L15479
44324 mov r1, r4
44325 mov r0, r6
44326 mov ip, #0
44327.L15481:
44328 ldr r2, [r0, #4]
44329 cmp r2, #0
44330 beq .L15482
44331 ands r3, r2, #255
44332 ldrne r7, [sp, #28]
44333 orrne r3, r7, r3
44334 strne r3, [r1, #12]
44335 mov r3, r2, lsr #8
44336 ands r3, r3, #255
44337 ldrne r8, [sp, #28]
44338 orrne r3, r8, r3
44339 strne r3, [r1, #8]
44340 mov r3, r2, lsr #16
44341 ands r3, r3, #255
44342 ldrne r7, [sp, #28]
44343 orrne r3, r7, r3
44344 strne r3, [r1, #4]
44345 movs r3, r2, lsr #24
44346 ldrne r8, [sp, #28]
44347 orrne r3, r8, r3
44348 strne r3, [r1, #0]
44349.L15482:
44350 ldr r2, [r0, #0]
44351 cmp r2, #0
44352 beq .L15491
44353 ands r3, r2, #255
44354 ldrne r7, [sp, #28]
44355 orrne r3, r7, r3
44356 strne r3, [r1, #28]
44357 mov r3, r2, lsr #8
44358 ands r3, r3, #255
44359 ldrne r8, [sp, #28]
44360 orrne r3, r8, r3
44361 strne r3, [r1, #24]
44362 mov r3, r2, lsr #16
44363 ands r3, r3, #255
44364 ldrne r7, [sp, #28]
44365 orrne r3, r7, r3
44366 strne r3, [r1, #20]
44367 movs r3, r2, lsr #24
44368 ldrne r8, [sp, #28]
44369 orrne r3, r8, r3
44370 strne r3, [r1, #16]
44371.L15491:
44372 add ip, ip, #1
44373 cmp ip, lr
44374 sub r0, r0, #64
44375 add r1, r1, #32
44376 bne .L15481
44377 rsb r3, lr, lr, asl #26
44378 add r6, r6, r3, asl #6
44379 add r4, r4, lr, asl #5
44380.L15479:
44381 ands r0, r5, #7
44382 beq .L13691
44383 cmp r0, #3
44384 ldrls r2, [r6, #4]
44385 bls .L15514
44386 ldr r2, [r6, #4]
44387 cmp r2, #0
44388 beq .L15504
44389 ands r3, r2, #255
44390 ldrne ip, [sp, #28]
44391 orrne r3, ip, r3
44392 strne r3, [r4, #12]
44393 mov r3, r2, lsr #8
44394 ands r3, r3, #255
44395 ldrne lr, [sp, #28]
44396 orrne r3, lr, r3
44397 strne r3, [r4, #8]
44398 mov r3, r2, lsr #16
44399 ands r3, r3, #255
44400 ldrne r1, [sp, #28]
44401 orrne r3, r1, r3
44402 strne r3, [r4, #4]
44403 movs r3, r2, lsr #24
44404 ldrne r2, [sp, #28]
44405 orrne r3, r2, r3
44406 strne r3, [r4, #0]
44407.L15504:
44408 subs r0, r0, #4
44409 ldr r2, [r6, #0]
44410 addne r4, r4, #16
44411 beq .L13691
44412.L15514:
44413 mov r1, #0
44414.L15515:
44415 ldr r5, [sp, #28]
44416 movs r3, r2, lsr #24
44417 orr r3, r5, r3
44418 strne r3, [r4, r1, asl #2]
44419 add r1, r1, #1
44420 cmp r0, r1
44421 mov r2, r2, asl #8
44422 bhi .L15515
44423 b .L13691
44424.L13768:
44425 ldr r4, [sp, #36]
44426 cmp r7, #0
44427 add r3, r7, #7
44428 mov r2, r4, asl #22
44429 movge r3, r7
44430 mov r8, r3, asr #3
44431 mov r2, r2, lsr #22
44432 mov r1, ip, lsr #3
44433 mla r0, r8, r1, r2
44434 subs r3, r7, #8
44435 submi r3, r7, #1
44436 and r2, ip, #7
44437 ldr ip, [sp, #8]
44438 add r0, r0, r3, asr #3
44439 ldr lr, .L15733+24
44440 add r2, r2, r0, asl #3
44441 mov r3, r4, lsr #8
44442 cmp r5, ip
44443 and r6, r3, #240
44444 add r0, lr, r2, asl #2
44445 bge .L13976
44446 rsb lr, r5, ip
44447 rsb r8, lr, r7
44448 cmp r8, #0
44449 ble .L13691
44450 ldr r1, [sp, #4]
44451 add r3, r5, r7
44452 cmp r1, r3
44453 bhi .L13979
44454 mov r3, lr, lsr #3
44455 ands r4, lr, #7
44456 sub ip, r0, r3, asl #5
44457 bne .L13981
44458 ldr sl, [sp, #144]
44459 ldr r5, [sp, #108]
44460.L13983:
44461 movs r8, sl, lsr #3
44462 beq .L14004
44463 mov lr, r5
44464 mov r4, ip
44465 mov r7, #0
44466.L14006:
44467 ldr r0, [r4, #0]
44468 cmp r0, #0
44469 beq .L14007
44470 ands r2, r0, #15
44471 beq .L14009
44472 ldr r1, [lr, #28]
44473 orr r2, r6, r2
44474 tst r1, #256
44475 movne r3, r1, lsr #16
44476 movne r3, r3, asl #16
44477 orreq r3, r2, #768
44478 orrne r2, r2, #768
44479 orrne r3, r3, r2
44480 orreq r3, r3, r1, asl #16
44481 strne r3, [lr, #28]
44482 streq r3, [lr, #28]
44483.L14009:
44484 mov r3, r0, lsr #4
44485 ands r2, r3, #15
44486 beq .L14013
44487 ldr r1, [lr, #24]
44488 orr r2, r6, r2
44489 tst r1, #256
44490 movne r3, r1, lsr #16
44491 movne r3, r3, asl #16
44492 orreq r3, r2, #768
44493 orrne r2, r2, #768
44494 orrne r3, r3, r2
44495 orreq r3, r3, r1, asl #16
44496 strne r3, [lr, #24]
44497 streq r3, [lr, #24]
44498.L14013:
44499 mov r3, r0, lsr #8
44500 ands r2, r3, #15
44501 beq .L14017
44502 ldr r1, [lr, #20]
44503 orr r2, r6, r2
44504 tst r1, #256
44505 movne r3, r1, lsr #16
44506 movne r3, r3, asl #16
44507 orreq r3, r2, #768
44508 orrne r2, r2, #768
44509 orrne r3, r3, r2
44510 orreq r3, r3, r1, asl #16
44511 strne r3, [lr, #20]
44512 streq r3, [lr, #20]
44513.L14017:
44514 mov r3, r0, lsr #12
44515 ands r2, r3, #15
44516 beq .L14021
44517 ldr r1, [lr, #16]
44518 orr r2, r6, r2
44519 tst r1, #256
44520 movne r3, r1, lsr #16
44521 movne r3, r3, asl #16
44522 orreq r3, r2, #768
44523 orrne r2, r2, #768
44524 orrne r3, r3, r2
44525 orreq r3, r3, r1, asl #16
44526 strne r3, [lr, #16]
44527 streq r3, [lr, #16]
44528.L14021:
44529 mov r3, r0, lsr #16
44530 ands r2, r3, #15
44531 beq .L14025
44532 ldr r1, [lr, #12]
44533 orr r2, r6, r2
44534 tst r1, #256
44535 movne r3, r1, lsr #16
44536 movne r3, r3, asl #16
44537 orreq r3, r2, #768
44538 orrne r2, r2, #768
44539 orrne r3, r3, r2
44540 orreq r3, r3, r1, asl #16
44541 strne r3, [lr, #12]
44542 streq r3, [lr, #12]
44543.L14025:
44544 mov r3, r0, lsr #20
44545 ands r2, r3, #15
44546 beq .L14029
44547 ldr r1, [lr, #8]
44548 orr r2, r6, r2
44549 tst r1, #256
44550 movne r3, r1, lsr #16
44551 movne r3, r3, asl #16
44552 orreq r3, r2, #768
44553 orrne r2, r2, #768
44554 orrne r3, r3, r2
44555 orreq r3, r3, r1, asl #16
44556 strne r3, [lr, #8]
44557 streq r3, [lr, #8]
44558.L14029:
44559 mov r3, r0, lsr #24
44560 ands r2, r3, #15
44561 beq .L14033
44562 ldr r1, [lr, #4]
44563 orr r2, r6, r2
44564 tst r1, #256
44565 movne r3, r1, lsr #16
44566 movne r3, r3, asl #16
44567 orreq r3, r2, #768
44568 orrne r2, r2, #768
44569 orrne r3, r3, r2
44570 orreq r3, r3, r1, asl #16
44571 strne r3, [lr, #4]
44572 streq r3, [lr, #4]
44573.L14033:
44574 movs r2, r0, lsr #28
44575 beq .L14007
44576 ldr r1, [lr, #0]
44577 orr r2, r6, r2
44578 tst r1, #256
44579 movne r3, r1, lsr #16
44580 movne r3, r3, asl #16
44581 orreq r3, r2, #768
44582 orrne r2, r2, #768
44583 orrne r3, r3, r2
44584 orreq r3, r3, r1, asl #16
44585 strne r3, [lr, #0]
44586 streq r3, [lr, #0]
44587.L14007:
44588 add r7, r7, #1
44589 cmp r8, r7
44590 sub r4, r4, #32
44591 add lr, lr, #32
44592 bne .L14006
44593 rsb r3, r8, r8, asl #27
44594 add ip, ip, r3, asl #5
44595 add r5, r5, r8, asl #5
44596.L14004:
44597 ands r4, sl, #7
44598 beq .L13691
44599 ldr ip, [ip, #0]
44600 mov lr, #0
44601.L14042:
44602 movs r3, ip, lsr #28
44603 beq .L14043
44604 ldr r1, [r5, #0]
44605 orr r2, r6, r3
44606 mov r3, r1, lsr #16
44607 orr r0, r2, #768
44608 mov r3, r3, asl #16
44609 orr r2, r2, #768
44610 tst r1, #256
44611 orr r3, r3, r0
44612 orr r2, r2, r1, asl #16
44613 strne r3, [r5, #0]
44614 streq r2, [r5, #0]
44615.L14043:
44616 add lr, lr, #1
44617 cmp r4, lr
44618 mov ip, ip, asl #4
44619 add r5, r5, #4
44620 bne .L14042
44621 b .L13691
44622.L13976:
44623 ldr r1, [sp, #4]
44624 add r3, r5, r7
44625 cmp r1, r3
44626 bls .L15693
44627 cmp r8, #0
44628 beq .L13691
44629 ldr r3, [sp, #0]
44630 mov ip, #0
44631 add r1, r3, r5, asl #2
44632 b .L14145
44633.L15694:
44634 sub r0, r0, #32
44635 add r1, r1, #32
44636.L14145:
44637 ldr r4, [r0, #0]
44638 cmp r4, #0
44639 beq .L14146
44640 ands r2, r4, #15
44641 beq .L14148
44642 ldr lr, [r1, #28]
44643 orr r2, r6, r2
44644 tst lr, #256
44645 movne r3, lr, lsr #16
44646 movne r3, r3, asl #16
44647 orreq r3, r2, #768
44648 orrne r2, r2, #768
44649 orrne r3, r3, r2
44650 orreq r3, r3, lr, asl #16
44651 strne r3, [r1, #28]
44652 streq r3, [r1, #28]
44653.L14148:
44654 mov r3, r4, lsr #4
44655 ands r2, r3, #15
44656 beq .L14152
44657 ldr lr, [r1, #24]
44658 orr r2, r6, r2
44659 tst lr, #256
44660 movne r3, lr, lsr #16
44661 movne r3, r3, asl #16
44662 orreq r3, r2, #768
44663 orrne r2, r2, #768
44664 orrne r3, r3, r2
44665 orreq r3, r3, lr, asl #16
44666 strne r3, [r1, #24]
44667 streq r3, [r1, #24]
44668.L14152:
44669 mov r3, r4, lsr #8
44670 ands r2, r3, #15
44671 beq .L14156
44672 ldr lr, [r1, #20]
44673 orr r2, r6, r2
44674 tst lr, #256
44675 movne r3, lr, lsr #16
44676 movne r3, r3, asl #16
44677 orreq r3, r2, #768
44678 orrne r2, r2, #768
44679 orrne r3, r3, r2
44680 orreq r3, r3, lr, asl #16
44681 strne r3, [r1, #20]
44682 streq r3, [r1, #20]
44683.L14156:
44684 mov r3, r4, lsr #12
44685 ands r2, r3, #15
44686 beq .L14160
44687 ldr lr, [r1, #16]
44688 orr r2, r6, r2
44689 tst lr, #256
44690 movne r3, lr, lsr #16
44691 movne r3, r3, asl #16
44692 orreq r3, r2, #768
44693 orrne r2, r2, #768
44694 orrne r3, r3, r2
44695 orreq r3, r3, lr, asl #16
44696 strne r3, [r1, #16]
44697 streq r3, [r1, #16]
44698.L14160:
44699 mov r3, r4, lsr #16
44700 ands r2, r3, #15
44701 beq .L14164
44702 ldr lr, [r1, #12]
44703 orr r2, r6, r2
44704 tst lr, #256
44705 movne r3, lr, lsr #16
44706 movne r3, r3, asl #16
44707 orreq r3, r2, #768
44708 orrne r2, r2, #768
44709 orrne r3, r3, r2
44710 orreq r3, r3, lr, asl #16
44711 strne r3, [r1, #12]
44712 streq r3, [r1, #12]
44713.L14164:
44714 mov r3, r4, lsr #20
44715 ands r2, r3, #15
44716 beq .L14168
44717 ldr lr, [r1, #8]
44718 orr r2, r6, r2
44719 tst lr, #256
44720 movne r3, lr, lsr #16
44721 movne r3, r3, asl #16
44722 orreq r3, r2, #768
44723 orrne r2, r2, #768
44724 orrne r3, r3, r2
44725 orreq r3, r3, lr, asl #16
44726 strne r3, [r1, #8]
44727 streq r3, [r1, #8]
44728.L14168:
44729 mov r3, r4, lsr #24
44730 ands r2, r3, #15
44731 beq .L14172
44732 ldr lr, [r1, #4]
44733 orr r2, r6, r2
44734 tst lr, #256
44735 movne r3, lr, lsr #16
44736 movne r3, r3, asl #16
44737 orreq r3, r2, #768
44738 orrne r2, r2, #768
44739 orrne r3, r3, r2
44740 orreq r3, r3, lr, asl #16
44741 strne r3, [r1, #4]
44742 streq r3, [r1, #4]
44743.L14172:
44744 movs r2, r4, lsr #28
44745 beq .L14146
44746 ldr lr, [r1, #0]
44747 orr r2, r6, r2
44748 tst lr, #256
44749 movne r3, lr, lsr #16
44750 movne r3, r3, asl #16
44751 orreq r3, r2, #768
44752 orrne r2, r2, #768
44753 orrne r3, r3, r2
44754 orreq r3, r3, lr, asl #16
44755 strne r3, [r1, #0]
44756 streq r3, [r1, #0]
44757.L14146:
44758 add ip, ip, #1
44759 cmp r8, ip
44760 bne .L15694
44761 b .L13691
44762.L14934:
44763 ldr ip, [sp, #4]
44764 add r3, r5, r7
44765 cmp ip, r3
44766 bls .L15695
44767 cmp r4, #0
44768 beq .L13691
44769 ldr r3, [sp, #0]
44770 mov r2, #0
44771 add r1, r3, r5, asl #2
44772 b .L15045
44773.L15696:
44774 add r0, r0, #32
44775 add r1, r1, #32
44776.L15045:
44777 ldr lr, [r0, #0]
44778 cmp lr, #0
44779 beq .L15046
44780 ands r3, lr, #15
44781 ldrne r5, [sp, #28]
44782 orrne r3, r5, r3
44783 orrne r3, r6, r3
44784 strne r3, [r1, #0]
44785 mov r3, lr, lsr #4
44786 ands r3, r3, #15
44787 ldrne r7, [sp, #28]
44788 orrne r3, r7, r3
44789 orrne r3, r6, r3
44790 strne r3, [r1, #4]
44791 mov r3, lr, lsr #8
44792 ands r3, r3, #15
44793 ldrne r8, [sp, #28]
44794 orrne r3, r8, r3
44795 orrne r3, r6, r3
44796 strne r3, [r1, #8]
44797 mov r3, lr, lsr #12
44798 ands r3, r3, #15
44799 ldrne ip, [sp, #28]
44800 orrne r3, ip, r3
44801 orrne r3, r6, r3
44802 strne r3, [r1, #12]
44803 mov r3, lr, lsr #16
44804 ands r3, r3, #15
44805 ldrne r5, [sp, #28]
44806 orrne r3, r5, r3
44807 orrne r3, r6, r3
44808 strne r3, [r1, #16]
44809 mov r3, lr, lsr #20
44810 ands r3, r3, #15
44811 ldrne r7, [sp, #28]
44812 orrne r3, r7, r3
44813 orrne r3, r6, r3
44814 strne r3, [r1, #20]
44815 mov r3, lr, lsr #24
44816 ands r3, r3, #15
44817 ldrne r8, [sp, #28]
44818 orrne r3, r8, r3
44819 orrne r3, r6, r3
44820 strne r3, [r1, #24]
44821 movs r3, lr, lsr #28
44822 ldrne ip, [sp, #28]
44823 orrne r3, ip, r3
44824 orrne r3, r6, r3
44825 strne r3, [r1, #28]
44826.L15046:
44827 add r2, r2, #1
44828 cmp r4, r2
44829 bne .L15696
44830 b .L13691
44831.L15194:
44832 ldr r8, [sp, #4]
44833 add r3, r5, r7
44834 cmp r8, r3
44835 bls .L15697
44836 cmp r4, #0
44837 beq .L13691
44838 ldr lr, [sp, #0]
44839 ldr r3, .L15735+4
44840 add r1, lr, r5, asl #2
44841 add r0, r0, r3
44842 mov r2, #0
44843 b .L15394
44844.L15698:
44845 add ip, ip, #64
44846 add r1, r1, #32
44847.L15394:
44848 ldr lr, [ip, #0]
44849 cmp lr, #0
44850 beq .L15395
44851 ands r3, lr, #255
44852 ldrne r5, [sp, #28]
44853 orrne r3, r5, r3
44854 strne r3, [r1, #0]
44855 mov r3, lr, lsr #8
44856 ands r3, r3, #255
44857 ldrne r7, [sp, #28]
44858 orrne r3, r7, r3
44859 strne r3, [r1, #4]
44860 mov r3, lr, lsr #16
44861 ands r3, r3, #255
44862 ldrne r8, [sp, #28]
44863 orrne r3, r8, r3
44864 strne r3, [r1, #8]
44865 movs r3, lr, lsr #24
44866 ldrne lr, [sp, #28]
44867 orrne r3, lr, r3
44868 strne r3, [r1, #12]
44869.L15395:
44870 ldr lr, [r0, #-60]
44871 cmp lr, #0
44872 beq .L15404
44873 ands r3, lr, #255
44874 ldrne r5, [sp, #28]
44875 orrne r3, r5, r3
44876 strne r3, [r1, #16]
44877 mov r3, lr, lsr #8
44878 ands r3, r3, #255
44879 ldrne r7, [sp, #28]
44880 orrne r3, r7, r3
44881 strne r3, [r1, #20]
44882 mov r3, lr, lsr #16
44883 ands r3, r3, #255
44884 ldrne r8, [sp, #28]
44885 orrne r3, r8, r3
44886 strne r3, [r1, #24]
44887 movs r3, lr, lsr #24
44888 ldrne lr, [sp, #28]
44889 orrne r3, lr, r3
44890 strne r3, [r1, #28]
44891.L15404:
44892 add r2, r2, #1
44893 cmp r4, r2
44894 add r0, r0, #64
44895 bne .L15698
44896 b .L13691
44897.L13772:
44898 ldr r1, [sp, #4]
44899 add r3, r5, r7
44900 cmp r1, r3
44901 bls .L15699
44902 cmp r8, #0
44903 beq .L13691
44904 ldr r3, [sp, #0]
44905 mov ip, #0
44906 add r1, r3, r5, asl #2
44907 b .L13941
44908.L15700:
44909 add r0, r0, #32
44910 add r1, r1, #32
44911.L13941:
44912 ldr r4, [r0, #0]
44913 cmp r4, #0
44914 beq .L13942
44915 ands r2, r4, #15
44916 beq .L13944
44917 ldr lr, [r1, #0]
44918 orr r2, r6, r2
44919 tst lr, #256
44920 movne r3, lr, lsr #16
44921 movne r3, r3, asl #16
44922 orreq r3, r2, #768
44923 orrne r2, r2, #768
44924 orrne r3, r3, r2
44925 orreq r3, r3, lr, asl #16
44926 strne r3, [r1, #0]
44927 streq r3, [r1, #0]
44928.L13944:
44929 mov r3, r4, lsr #4
44930 ands r2, r3, #15
44931 beq .L13948
44932 ldr lr, [r1, #4]
44933 orr r2, r6, r2
44934 tst lr, #256
44935 movne r3, lr, lsr #16
44936 movne r3, r3, asl #16
44937 orreq r3, r2, #768
44938 orrne r2, r2, #768
44939 orrne r3, r3, r2
44940 orreq r3, r3, lr, asl #16
44941 strne r3, [r1, #4]
44942 streq r3, [r1, #4]
44943.L13948:
44944 mov r3, r4, lsr #8
44945 ands r2, r3, #15
44946 beq .L13952
44947 ldr lr, [r1, #8]
44948 orr r2, r6, r2
44949 tst lr, #256
44950 movne r3, lr, lsr #16
44951 movne r3, r3, asl #16
44952 orreq r3, r2, #768
44953 orrne r2, r2, #768
44954 orrne r3, r3, r2
44955 orreq r3, r3, lr, asl #16
44956 strne r3, [r1, #8]
44957 streq r3, [r1, #8]
44958.L13952:
44959 mov r3, r4, lsr #12
44960 ands r2, r3, #15
44961 beq .L13956
44962 ldr lr, [r1, #12]
44963 orr r2, r6, r2
44964 tst lr, #256
44965 movne r3, lr, lsr #16
44966 movne r3, r3, asl #16
44967 orreq r3, r2, #768
44968 orrne r2, r2, #768
44969 orrne r3, r3, r2
44970 orreq r3, r3, lr, asl #16
44971 strne r3, [r1, #12]
44972 streq r3, [r1, #12]
44973.L13956:
44974 mov r3, r4, lsr #16
44975 ands r2, r3, #15
44976 beq .L13960
44977 ldr lr, [r1, #16]
44978 orr r2, r6, r2
44979 tst lr, #256
44980 movne r3, lr, lsr #16
44981 movne r3, r3, asl #16
44982 orreq r3, r2, #768
44983 orrne r2, r2, #768
44984 orrne r3, r3, r2
44985 orreq r3, r3, lr, asl #16
44986 strne r3, [r1, #16]
44987 streq r3, [r1, #16]
44988.L13960:
44989 mov r3, r4, lsr #20
44990 ands r2, r3, #15
44991 beq .L13964
44992 ldr lr, [r1, #20]
44993 orr r2, r6, r2
44994 tst lr, #256
44995 movne r3, lr, lsr #16
44996 movne r3, r3, asl #16
44997 orreq r3, r2, #768
44998 orrne r2, r2, #768
44999 orrne r3, r3, r2
45000 orreq r3, r3, lr, asl #16
45001 strne r3, [r1, #20]
45002 streq r3, [r1, #20]
45003.L13964:
45004 mov r3, r4, lsr #24
45005 ands r2, r3, #15
45006 beq .L13968
45007 ldr lr, [r1, #24]
45008 orr r2, r6, r2
45009 tst lr, #256
45010 movne r3, lr, lsr #16
45011 movne r3, r3, asl #16
45012 orreq r3, r2, #768
45013 orrne r2, r2, #768
45014 orrne r3, r3, r2
45015 orreq r3, r3, lr, asl #16
45016 strne r3, [r1, #24]
45017 streq r3, [r1, #24]
45018.L13968:
45019 movs r2, r4, lsr #28
45020 beq .L13942
45021 ldr lr, [r1, #28]
45022 orr r2, r6, r2
45023 tst lr, #256
45024 movne r3, lr, lsr #16
45025 movne r3, r3, asl #16
45026 orreq r3, r2, #768
45027 orrne r2, r2, #768
45028 orrne r3, r3, r2
45029 orreq r3, r3, lr, asl #16
45030 strne r3, [r1, #28]
45031 streq r3, [r1, #28]
45032.L13942:
45033 add ip, ip, #1
45034 cmp r8, ip
45035 bne .L15700
45036 b .L13691
45037.L15064:
45038 ldr ip, [sp, #4]
45039 add r3, r5, r7
45040 cmp ip, r3
45041 bls .L15701
45042 cmp r4, #0
45043 beq .L13691
45044 ldr r3, [sp, #0]
45045 mov r2, #0
45046 add r1, r3, r5, asl #2
45047 b .L15175
45048.L15702:
45049 sub r0, r0, #32
45050 add r1, r1, #32
45051.L15175:
45052 ldr lr, [r0, #0]
45053 cmp lr, #0
45054 beq .L15176
45055 ands r3, lr, #15
45056 ldrne r5, [sp, #28]
45057 orrne r3, r5, r3
45058 orrne r3, r6, r3
45059 strne r3, [r1, #28]
45060 mov r3, lr, lsr #4
45061 ands r3, r3, #15
45062 ldrne r7, [sp, #28]
45063 orrne r3, r7, r3
45064 orrne r3, r6, r3
45065 strne r3, [r1, #24]
45066 mov r3, lr, lsr #8
45067 ands r3, r3, #15
45068 ldrne r8, [sp, #28]
45069 orrne r3, r8, r3
45070 orrne r3, r6, r3
45071 strne r3, [r1, #20]
45072 mov r3, lr, lsr #12
45073 ands r3, r3, #15
45074 ldrne ip, [sp, #28]
45075 orrne r3, ip, r3
45076 orrne r3, r6, r3
45077 strne r3, [r1, #16]
45078 mov r3, lr, lsr #16
45079 ands r3, r3, #15
45080 ldrne r5, [sp, #28]
45081 orrne r3, r5, r3
45082 orrne r3, r6, r3
45083 strne r3, [r1, #12]
45084 mov r3, lr, lsr #20
45085 ands r3, r3, #15
45086 ldrne r7, [sp, #28]
45087 orrne r3, r7, r3
45088 orrne r3, r6, r3
45089 strne r3, [r1, #8]
45090 mov r3, lr, lsr #24
45091 ands r3, r3, #15
45092 ldrne r8, [sp, #28]
45093 orrne r3, r8, r3
45094 orrne r3, r6, r3
45095 strne r3, [r1, #4]
45096 movs r3, lr, lsr #28
45097 ldrne ip, [sp, #28]
45098 orrne r3, ip, r3
45099 orrne r3, r6, r3
45100 strne r3, [r1, #0]
45101.L15176:
45102 add r2, r2, #1
45103 cmp r4, r2
45104 bne .L15702
45105 b .L13691
45106.L14516:
45107 ldr r4, [sp, #4]
45108 add r3, r5, r7
45109 cmp r4, r3
45110 bls .L15703
45111 cmp r6, #0
45112 beq .L13691
45113 ldr r2, [sp, #0]
45114 ldr r3, .L15735
45115 add r1, r2, r5, asl #2
45116 add r0, r0, r3
45117 mov r5, #0
45118 b .L14816
45119.L15704:
45120 sub ip, ip, #64
45121 add r1, r1, #32
45122.L14816:
45123 ldr r2, [r0, #68]
45124 cmp r2, #0
45125 beq .L14817
45126 ands lr, r2, #255
45127 beq .L14819
45128 ldr r3, [r1, #12]
45129 tst r3, #256
45130 movne r3, r3, lsr #16
45131 movne r3, r3, asl #16
45132 orrne r3, r3, #768
45133 orreq r3, lr, r3, asl #16
45134 orrne r3, lr, r3
45135 orreq r3, r3, #768
45136 strne r3, [r1, #12]
45137 streq r3, [r1, #12]
45138.L14819:
45139 mov r3, r2, lsr #8
45140 ands lr, r3, #255
45141 beq .L14823
45142 ldr r3, [r1, #8]
45143 tst r3, #256
45144 movne r3, r3, lsr #16
45145 movne r3, r3, asl #16
45146 orrne r3, r3, #768
45147 orreq r3, lr, r3, asl #16
45148 orrne r3, lr, r3
45149 orreq r3, r3, #768
45150 strne r3, [r1, #8]
45151 streq r3, [r1, #8]
45152.L14823:
45153 mov r3, r2, lsr #16
45154 ands lr, r3, #255
45155 beq .L14827
45156 ldr r3, [r1, #4]
45157 tst r3, #256
45158 movne r3, r3, lsr #16
45159 movne r3, r3, asl #16
45160 orrne r3, r3, #768
45161 orreq r3, lr, r3, asl #16
45162 orrne r3, lr, r3
45163 orreq r3, r3, #768
45164 strne r3, [r1, #4]
45165 streq r3, [r1, #4]
45166.L14827:
45167 movs r2, r2, lsr #24
45168 beq .L14817
45169 ldr r3, [r1, #0]
45170 tst r3, #256
45171 movne r3, r3, lsr #16
45172 movne r3, r3, asl #16
45173 orrne r3, r3, #768
45174 orreq r3, r2, r3, asl #16
45175 orrne r3, r2, r3
45176 orreq r3, r3, #768
45177 strne r3, [r1, #0]
45178 streq r3, [r1, #0]
45179.L14817:
45180 ldr lr, [ip, #0]
45181 cmp lr, #0
45182 beq .L14834
45183 ands r2, lr, #255
45184 beq .L14836
45185 ldr r4, [r1, #28]
45186 tst r4, #256
45187 movne r3, r4, lsr #16
45188 movne r3, r3, asl #16
45189 orreq r3, r2, #768
45190 orrne r2, r2, #768
45191 orrne r3, r3, r2
45192 orreq r3, r3, r4, asl #16
45193 strne r3, [r1, #28]
45194 streq r3, [r1, #28]
45195.L14836:
45196 mov r3, lr, lsr #8
45197 ands r2, r3, #255
45198 beq .L14840
45199 ldr r3, [r1, #24]
45200 tst r3, #256
45201 movne r3, r3, lsr #16
45202 movne r3, r3, asl #16
45203 orrne r3, r3, #768
45204 orreq r3, r2, r3, asl #16
45205 orrne r3, r2, r3
45206 orreq r3, r3, #768
45207 strne r3, [r1, #24]
45208 streq r3, [r1, #24]
45209.L14840:
45210 mov r3, lr, lsr #16
45211 ands r2, r3, #255
45212 beq .L14844
45213 ldr r3, [r1, #20]
45214 tst r3, #256
45215 movne r3, r3, lsr #16
45216 movne r3, r3, asl #16
45217 orrne r3, r3, #768
45218 orreq r3, r2, r3, asl #16
45219 orrne r3, r2, r3
45220 orreq r3, r3, #768
45221 strne r3, [r1, #20]
45222 streq r3, [r1, #20]
45223.L14844:
45224 movs r2, lr, lsr #24
45225 beq .L14834
45226 ldr lr, [r1, #16]
45227 tst lr, #256
45228 movne r3, lr, lsr #16
45229 movne r3, r3, asl #16
45230 orreq r3, r2, #768
45231 orrne r2, r2, #768
45232 orrne r3, r3, r2
45233 orreq r3, r3, lr, asl #16
45234 strne r3, [r1, #16]
45235 streq r3, [r1, #16]
45236.L14834:
45237 add r5, r5, #1
45238 cmp r6, r5
45239 sub r0, r0, #64
45240 bne .L15704
45241 b .L13691
45242.L14180:
45243 ldr r8, [sp, #4]
45244 add r3, r5, r7
45245 cmp r8, r3
45246 bls .L15705
45247 cmp r4, #0
45248 beq .L13691
45249 ldr r2, [sp, #0]
45250 ldr r3, .L15735+4
45251 add r1, r2, r5, asl #2
45252 add r0, r0, r3
45253 mov r5, #0
45254 b .L14480
45255.L15706:
45256 add ip, ip, #64
45257 add r1, r1, #32
45258.L14480:
45259 ldr r2, [ip, #0]
45260 cmp r2, #0
45261 beq .L14481
45262 ands lr, r2, #255
45263 beq .L14483
45264 ldr r3, [r1, #0]
45265 tst r3, #256
45266 movne r3, r3, lsr #16
45267 movne r3, r3, asl #16
45268 orrne r3, r3, #768
45269 orreq r3, lr, r3, asl #16
45270 orrne r3, lr, r3
45271 orreq r3, r3, #768
45272 strne r3, [r1, #0]
45273 streq r3, [r1, #0]
45274.L14483:
45275 mov r3, r2, lsr #8
45276 ands lr, r3, #255
45277 beq .L14487
45278 ldr r3, [r1, #4]
45279 tst r3, #256
45280 movne r3, r3, lsr #16
45281 movne r3, r3, asl #16
45282 orrne r3, r3, #768
45283 orreq r3, lr, r3, asl #16
45284 orrne r3, lr, r3
45285 orreq r3, r3, #768
45286 strne r3, [r1, #4]
45287 streq r3, [r1, #4]
45288.L14487:
45289 mov r3, r2, lsr #16
45290 ands lr, r3, #255
45291 beq .L14491
45292 ldr r3, [r1, #8]
45293 tst r3, #256
45294 movne r3, r3, lsr #16
45295 movne r3, r3, asl #16
45296 orrne r3, r3, #768
45297 orreq r3, lr, r3, asl #16
45298 orrne r3, lr, r3
45299 orreq r3, r3, #768
45300 strne r3, [r1, #8]
45301 streq r3, [r1, #8]
45302.L14491:
45303 movs r2, r2, lsr #24
45304 beq .L14481
45305 ldr lr, [r1, #12]
45306 tst lr, #256
45307 movne r3, lr, lsr #16
45308 movne r3, r3, asl #16
45309 orreq r3, r2, #768
45310 orrne r2, r2, #768
45311 orrne r3, r3, r2
45312 orreq r3, r3, lr, asl #16
45313 strne r3, [r1, #12]
45314 streq r3, [r1, #12]
45315.L14481:
45316 ldr r2, [r0, #-60]
45317 cmp r2, #0
45318 beq .L14498
45319 ands lr, r2, #255
45320 beq .L14500
45321 ldr r3, [r1, #16]
45322 tst r3, #256
45323 movne r3, r3, lsr #16
45324 movne r3, r3, asl #16
45325 orrne r3, r3, #768
45326 orreq r3, lr, r3, asl #16
45327 orrne r3, lr, r3
45328 orreq r3, r3, #768
45329 strne r3, [r1, #16]
45330 streq r3, [r1, #16]
45331.L14500:
45332 mov r3, r2, lsr #8
45333 ands lr, r3, #255
45334 beq .L14504
45335 ldr r3, [r1, #20]
45336 tst r3, #256
45337 movne r3, r3, lsr #16
45338 movne r3, r3, asl #16
45339 orrne r3, r3, #768
45340 orreq r3, lr, r3, asl #16
45341 orrne r3, lr, r3
45342 orreq r3, r3, #768
45343 strne r3, [r1, #20]
45344 streq r3, [r1, #20]
45345.L14504:
45346 mov r3, r2, lsr #16
45347 ands lr, r3, #255
45348 beq .L14508
45349 ldr r3, [r1, #24]
45350 tst r3, #256
45351 movne r3, r3, lsr #16
45352 movne r3, r3, asl #16
45353 orrne r3, r3, #768
45354 orreq r3, lr, r3, asl #16
45355 orrne r3, lr, r3
45356 orreq r3, r3, #768
45357 strne r3, [r1, #24]
45358 streq r3, [r1, #24]
45359.L14508:
45360 movs r2, r2, lsr #24
45361 beq .L14498
45362 ldr r3, [r1, #28]
45363 tst r3, #256
45364 movne r3, r3, lsr #16
45365 movne r3, r3, asl #16
45366 orrne r3, r3, #768
45367 orreq r3, r2, r3, asl #16
45368 orrne r3, r2, r3
45369 orreq r3, r3, #768
45370 strne r3, [r1, #28]
45371 streq r3, [r1, #28]
45372.L14498:
45373 add r5, r5, #1
45374 cmp r4, r5
45375 add r0, r0, #64
45376 bne .L15706
45377 b .L13691
45378.L15414:
45379 ldr r8, [sp, #4]
45380 add r3, r5, r7
45381 cmp r3, r8
45382 bcs .L15707
45383 cmp r4, #0
45384 beq .L13691
45385 ldr r3, [sp, #0]
45386 mov ip, #0
45387 add r1, r3, r5, asl #2
45388 ldr r3, .L15735
45389 add r0, r0, r3
45390 b .L15614
45391.L15708:
45392 sub r2, r2, #64
45393 add r1, r1, #32
45394.L15614:
45395 ldr lr, [r0, #68]
45396 cmp lr, #0
45397 beq .L15615
45398 ands r3, lr, #255
45399 ldrne r5, [sp, #28]
45400 orrne r3, r5, r3
45401 strne r3, [r1, #12]
45402 mov r3, lr, lsr #8
45403 ands r3, r3, #255
45404 ldrne r7, [sp, #28]
45405 orrne r3, r7, r3
45406 strne r3, [r1, #8]
45407 mov r3, lr, lsr #16
45408 ands r3, r3, #255
45409 ldrne r8, [sp, #28]
45410 orrne r3, r8, r3
45411 strne r3, [r1, #4]
45412 movs r3, lr, lsr #24
45413 ldrne lr, [sp, #28]
45414 orrne r3, lr, r3
45415 strne r3, [r1, #0]
45416.L15615:
45417 ldr lr, [r2, #0]
45418 cmp lr, #0
45419 beq .L15624
45420 ands r3, lr, #255
45421 ldrne r5, [sp, #28]
45422 orrne r3, r5, r3
45423 strne r3, [r1, #28]
45424 mov r3, lr, lsr #8
45425 ands r3, r3, #255
45426 ldrne r7, [sp, #28]
45427 orrne r3, r7, r3
45428 strne r3, [r1, #24]
45429 mov r3, lr, lsr #16
45430 ands r3, r3, #255
45431 ldrne r8, [sp, #28]
45432 orrne r3, r8, r3
45433 strne r3, [r1, #20]
45434 movs r3, lr, lsr #24
45435 ldrne lr, [sp, #28]
45436 orrne r3, lr, r3
45437 strne r3, [r1, #16]
45438.L15624:
45439 add ip, ip, #1
45440 cmp r4, ip
45441 sub r0, r0, #64
45442 bne .L15708
45443 b .L13691
45444.L15729:
45445 mov r8, #0
45446.L13754:
45447 cmp sl, r3
45448 cmphi r7, r4
45449 bhi .L15663
45450 b .L13691
45451.L13755:
45452 cmp r3, sl
45453 cmpcc r4, r7
45454 bcs .L13691
45455.L15663:
45456 ldr r2, [sp, #68]
45457 and r0, r3, #7
45458 and ip, r3, #7
45459 mov r3, r3, asr #3
45460 mul r2, r3, r2
45461 ldr r3, [sp, #120]
45462 ldr r1, [sp, #120]
45463 add ip, r3, ip, asl #2
45464 mov r3, r4, asr #3
45465 add r0, r1, r0, asl #2
45466 mov lr, r4, asr #1
45467 mov r1, r4, asr #1
45468 add r2, r2, r3, asl #5
45469 tst r4, #1
45470 add r3, r0, r2
45471 and lr, lr, #3
45472 add r0, ip, r2
45473 and r1, r1, #3
45474 ldreqb r3, [r0, r1] @ zero_extendqisi2
45475 ldrneb r3, [r3, lr] @ zero_extendqisi2
45476 andeq r0, r3, #15
45477 movne r0, r3, lsr #4
45478 ldr r4, [sp, #140]
45479 cmp r0, #0
45480 orr r0, r0, r4
45481 beq .L13761
45482 ldr r2, [r9, #0]
45483 orr r1, r0, #768
45484 mov r3, r2, lsr #16
45485 orr r0, r0, #768
45486 mov r3, r3, asl #16
45487 tst r2, #256
45488 orr r3, r3, r1
45489 orr r0, r0, r2, asl #16
45490 strne r3, [r9, #0]
45491 streq r0, [r9, #0]
45492.L13761:
45493 ldr ip, [sp, #60]
45494 ldr lr, [sp, #64]
45495 add r8, r8, #1
45496 add r6, r6, ip
45497 add r5, r5, lr
45498 cmp fp, r8
45499 add r9, r9, #4
45500 mov r4, r6, asr #8
45501 mov r3, r5, asr #8
45502 bgt .L13755
45503 b .L13691
45504.L15732:
45505 mov r6, #0
45506.L14882:
45507 cmp sl, lr
45508 cmphi r7, r4
45509 bhi .L15673
45510 b .L13691
45511.L14883:
45512 cmp lr, sl
45513 cmpcc r4, r7
45514 bcs .L13691
45515.L15673:
45516 and r3, lr, #7
45517 mov r2, r4, asr #3
45518 mov r3, r3, asl #3
45519 add r3, r3, r2, asl #6
45520 ldr r2, [sp, #116]
45521 ldr r0, [sp, #84]
45522 add r3, r3, r2
45523 mov r2, lr, asr #3
45524 mla r0, r2, r0, r3
45525 ldr r1, [sp, #72]
45526 add r6, r6, #1
45527 add r5, r5, r1
45528 and r1, r4, #7
45529 ldrb r3, [r0, r1] @ zero_extendqisi2
45530 ldr r0, [sp, #28]
45531 cmp r3, #0
45532 orr r3, r0, r3
45533 strne r3, [r8, #0]
45534 add ip, ip, fp
45535 cmp r9, r6
45536 mov lr, ip, asr #8
45537 mov r4, r5, asr #8
45538 add r8, r8, #4
45539 bgt .L14883
45540 b .L13691
45541.L15730:
45542 mov r6, #0
45543.L14918:
45544 cmp sl, r2
45545 cmphi r7, lr
45546 bhi .L15675
45547 b .L13691
45548.L14919:
45549 cmp r2, sl
45550 cmpcc lr, r7
45551 bcs .L13691
45552.L15675:
45553 ldr r1, [sp, #112]
45554 and r0, r2, #7
45555 add r0, r1, r0, asl #2
45556 mov r3, r2, asr #3
45557 and r1, r2, #7
45558 ldr r2, [sp, #104]
45559 mov ip, lr, asr #1
45560 mul r2, r3, r2
45561 and r9, ip, #3
45562 ldr ip, [sp, #112]
45563 mov r3, lr, asr #1
45564 add r1, ip, r1, asl #2
45565 and ip, r3, #3
45566 mov r3, lr, asr #3
45567 add r2, r2, r3, asl #5
45568 add r3, r0, r2
45569 tst lr, #1
45570 add r0, r1, r2
45571 ldreqb r3, [r0, ip] @ zero_extendqisi2
45572 ldrneb r3, [r3, r9] @ zero_extendqisi2
45573 ldr r2, [sp, #28]
45574 movne r0, r3, lsr #4
45575 andeq r0, r3, #15
45576 ldr ip, [sp, #136]
45577 ldr lr, [sp, #88]
45578 orr r3, r0, r2
45579 ldr r1, [sp, #96]
45580 cmp r0, #0
45581 add r6, r6, #1
45582 orr r3, ip, r3
45583 strne r3, [r8, #0]
45584 add r5, r5, lr
45585 add r4, r4, r1
45586 cmp fp, r6
45587 mov lr, r5, asr #8
45588 mov r2, r4, asr #8
45589 add r8, r8, #4
45590 bgt .L14919
45591 b .L13691
45592.L15731:
45593 mov r4, #0
45594.L13715:
45595 cmp sl, r0
45596 cmphi r7, r1
45597 bhi .L15661
45598 b .L13691
45599.L13716:
45600 cmp r0, sl
45601 cmpcc r1, r7
45602 bcs .L13691
45603.L15661:
45604 and r3, r0, #7
45605 mov r2, r1, asr #3
45606 mov r3, r3, asl #3
45607 add r3, r3, r2, asl #6
45608 ldr r2, [sp, #124]
45609 and r1, r1, #7
45610 add r3, r3, r2
45611 mov r2, r0, asr #3
45612 ldr r0, [sp, #56]
45613 mla r0, r2, r0, r3
45614 ldrb r0, [r0, r1] @ zero_extendqisi2
45615 cmp r0, #0
45616 beq .L13719
45617 ldr r3, [r5, #0]
45618 mov r2, r3, lsr #16
45619 mov r2, r2, asl #16
45620 orr r1, r0, r3, asl #16
45621 orr r2, r2, #768
45622 tst r3, #256
45623 orr r2, r0, r2
45624 orr r1, r1, #768
45625 strne r2, [r5, #0]
45626 streq r1, [r5, #0]
45627.L13719:
45628 add r4, r4, #1
45629 add ip, ip, r9
45630 add lr, lr, r8
45631 cmp r6, r4
45632 mov r1, ip, asr #8
45633 mov r0, lr, asr #8
45634 add r5, r5, #4
45635 bgt .L13716
45636 b .L13691
45637.L15707:
45638 rsb r7, r5, r8
45639 cmp r7, #0
45640 ble .L13691
45641 ldr ip, [sp, #0]
45642 movs r6, r7, lsr #3
45643 add r1, ip, r5, asl #2
45644 beq .L15573
45645 ldr r3, .L15735
45646 mov r4, r1
45647 add r0, r0, r3
45648 mov r5, r2
45649 mov ip, #0
45650.L15575:
45651 ldr lr, [r0, #68]
45652 cmp lr, #0
45653 beq .L15576
45654 ands r3, lr, #255
45655 ldrne r8, [sp, #28]
45656 orrne r3, r8, r3
45657 strne r3, [r4, #12]
45658 mov r3, lr, lsr #8
45659 ands r3, r3, #255
45660 ldrne r8, [sp, #28]
45661 orrne r3, r8, r3
45662 strne r3, [r4, #8]
45663 mov r3, lr, lsr #16
45664 ands r3, r3, #255
45665 ldrne r8, [sp, #28]
45666 orrne r3, r8, r3
45667 strne r3, [r4, #4]
45668 movs r3, lr, lsr #24
45669 ldrne lr, [sp, #28]
45670 orrne r3, lr, r3
45671 strne r3, [r4, #0]
45672.L15576:
45673 ldr lr, [r5, #0]
45674 cmp lr, #0
45675 beq .L15585
45676 ands r3, lr, #255
45677 ldrne r8, [sp, #28]
45678 orrne r3, r8, r3
45679 strne r3, [r4, #28]
45680 mov r3, lr, lsr #8
45681 ands r3, r3, #255
45682 ldrne r8, [sp, #28]
45683 orrne r3, r8, r3
45684 strne r3, [r4, #24]
45685 mov r3, lr, lsr #16
45686 ands r3, r3, #255
45687 ldrne r8, [sp, #28]
45688 orrne r3, r8, r3
45689 strne r3, [r4, #20]
45690 movs r3, lr, lsr #24
45691 ldrne lr, [sp, #28]
45692 orrne r3, lr, r3
45693 strne r3, [r4, #16]
45694.L15585:
45695 add ip, ip, #1
45696 cmp ip, r6
45697 sub r5, r5, #64
45698 add r4, r4, #32
45699 sub r0, r0, #64
45700 bne .L15575
45701 rsb r3, r6, r6, asl #26
45702 add r2, r2, r3, asl #6
45703 add r1, r1, r6, asl #5
45704.L15573:
45705 ands ip, r7, #7
45706 beq .L13691
45707 cmp ip, #3
45708 ldrls r2, [r2, #4]
45709 bls .L15608
45710 ldr r0, [r2, #4]
45711 cmp r0, #0
45712 beq .L15598
45713 ands r3, r0, #255
45714 ldrne r4, [sp, #28]
45715 orrne r3, r4, r3
45716 strne r3, [r1, #12]
45717 mov r3, r0, lsr #8
45718 ands r3, r3, #255
45719 ldrne r5, [sp, #28]
45720 orrne r3, r5, r3
45721 strne r3, [r1, #8]
45722 mov r3, r0, lsr #16
45723 ands r3, r3, #255
45724 ldrne r7, [sp, #28]
45725 orrne r3, r7, r3
45726 strne r3, [r1, #4]
45727 movs r3, r0, lsr #24
45728 ldrne r8, [sp, #28]
45729 orrne r3, r8, r3
45730 strne r3, [r1, #0]
45731.L15598:
45732 subs ip, ip, #4
45733 ldr r2, [r2, #0]
45734 addne r1, r1, #16
45735 beq .L13691
45736.L15608:
45737 mov r0, #0
45738.L15609:
45739 ldr lr, [sp, #28]
45740 movs r3, r2, lsr #24
45741 orr r3, lr, r3
45742 strne r3, [r1, r0, asl #2]
45743 add r0, r0, #1
45744 cmp ip, r0
45745 mov r2, r2, asl #8
45746 bhi .L15609
45747 b .L13691
45748.L15699:
45749 rsb ip, r5, r1
45750 cmp ip, #0
45751 ble .L13691
45752 ldr r2, [sp, #0]
45753 movs sl, ip, lsr #3
45754 add r8, r2, r5, asl #2
45755 beq .L13896
45756 mov r5, r8
45757 mov r7, r0
45758 mov r1, #0
45759.L13898:
45760 ldr r4, [r7, #0]
45761 cmp r4, #0
45762 beq .L13899
45763 ands r2, r4, #15
45764 beq .L13901
45765 ldr lr, [r5, #0]
45766 orr r2, r6, r2
45767 tst lr, #256
45768 movne r3, lr, lsr #16
45769 movne r3, r3, asl #16
45770 orreq r3, r2, #768
45771 orrne r2, r2, #768
45772 orrne r3, r3, r2
45773 orreq r3, r3, lr, asl #16
45774 strne r3, [r5, #0]
45775 streq r3, [r5, #0]
45776.L13901:
45777 mov r3, r4, lsr #4
45778 ands r2, r3, #15
45779 beq .L13905
45780 ldr lr, [r5, #4]
45781 orr r2, r6, r2
45782 tst lr, #256
45783 movne r3, lr, lsr #16
45784 movne r3, r3, asl #16
45785 orreq r3, r2, #768
45786 orrne r2, r2, #768
45787 orrne r3, r3, r2
45788 orreq r3, r3, lr, asl #16
45789 strne r3, [r5, #4]
45790 streq r3, [r5, #4]
45791.L13905:
45792 mov r3, r4, lsr #8
45793 ands r2, r3, #15
45794 beq .L13909
45795 ldr lr, [r5, #8]
45796 orr r2, r6, r2
45797 tst lr, #256
45798 movne r3, lr, lsr #16
45799 movne r3, r3, asl #16
45800 orreq r3, r2, #768
45801 orrne r2, r2, #768
45802 orrne r3, r3, r2
45803 orreq r3, r3, lr, asl #16
45804 strne r3, [r5, #8]
45805 streq r3, [r5, #8]
45806.L13909:
45807 mov r3, r4, lsr #12
45808 ands r2, r3, #15
45809 beq .L13913
45810 ldr lr, [r5, #12]
45811 orr r2, r6, r2
45812 tst lr, #256
45813 movne r3, lr, lsr #16
45814 movne r3, r3, asl #16
45815 orreq r3, r2, #768
45816 orrne r2, r2, #768
45817 orrne r3, r3, r2
45818 orreq r3, r3, lr, asl #16
45819 strne r3, [r5, #12]
45820 streq r3, [r5, #12]
45821.L13913:
45822 mov r3, r4, lsr #16
45823 ands r2, r3, #15
45824 beq .L13917
45825 ldr lr, [r5, #16]
45826 orr r2, r6, r2
45827 tst lr, #256
45828 movne r3, lr, lsr #16
45829 movne r3, r3, asl #16
45830 orreq r3, r2, #768
45831 orrne r2, r2, #768
45832 orrne r3, r3, r2
45833 orreq r3, r3, lr, asl #16
45834 strne r3, [r5, #16]
45835 streq r3, [r5, #16]
45836.L13917:
45837 mov r3, r4, lsr #20
45838 ands r2, r3, #15
45839 beq .L13921
45840 ldr lr, [r5, #20]
45841 orr r2, r6, r2
45842 tst lr, #256
45843 movne r3, lr, lsr #16
45844 movne r3, r3, asl #16
45845 orreq r3, r2, #768
45846 orrne r2, r2, #768
45847 orrne r3, r3, r2
45848 orreq r3, r3, lr, asl #16
45849 strne r3, [r5, #20]
45850 streq r3, [r5, #20]
45851.L13921:
45852 mov r3, r4, lsr #24
45853 ands r2, r3, #15
45854 beq .L13925
45855 ldr lr, [r5, #24]
45856 orr r2, r6, r2
45857 tst lr, #256
45858 movne r3, lr, lsr #16
45859 movne r3, r3, asl #16
45860 orreq r3, r2, #768
45861 orrne r2, r2, #768
45862 orrne r3, r3, r2
45863 orreq r3, r3, lr, asl #16
45864 strne r3, [r5, #24]
45865 streq r3, [r5, #24]
45866.L13925:
45867 movs r2, r4, lsr #28
45868 beq .L13899
45869 ldr lr, [r5, #28]
45870 orr r2, r6, r2
45871 tst lr, #256
45872 movne r3, lr, lsr #16
45873 movne r3, r3, asl #16
45874 orreq r3, r2, #768
45875 orrne r2, r2, #768
45876 orrne r3, r3, r2
45877 orreq r3, r3, lr, asl #16
45878 strne r3, [r5, #28]
45879 streq r3, [r5, #28]
45880.L13899:
45881 add r1, r1, #1
45882 cmp sl, r1
45883 add r7, r7, #32
45884 add r5, r5, #32
45885 bne .L13898
45886 mov r3, sl, asl #5
45887 add r0, r0, r3
45888 add r8, r8, r3
45889.L13896:
45890 ands r4, ip, #7
45891 beq .L13691
45892 ldr ip, [r0, #0]
45893 mov lr, #0
45894.L13934:
45895 ands r3, ip, #15
45896 beq .L13935
45897 ldr r1, [r8, #0]
45898 orr r2, r6, r3
45899 mov r3, r1, lsr #16
45900 orr r0, r2, #768
45901 mov r3, r3, asl #16
45902 orr r2, r2, #768
45903 tst r1, #256
45904 orr r3, r3, r0
45905 orr r2, r2, r1, asl #16
45906 strne r3, [r8, #0]
45907 streq r2, [r8, #0]
45908.L13935:
45909 add lr, lr, #1
45910 cmp r4, lr
45911 mov ip, ip, lsr #4
45912 add r8, r8, #4
45913 bne .L13934
45914 b .L13691
45915.L15736:
45916 .align 2
45917.L15735:
45918 .word vram+65472
45919 .word vram+65600
45920.L15703:
45921 rsb sl, r5, r4
45922 cmp sl, #0
45923 ble .L13691
45924 ldr lr, [sp, #0]
45925 movs r8, sl, lsr #3
45926 add r7, lr, r5, asl #2
45927 beq .L14749
45928 ldr r3, .L15735
45929 mov r5, r7
45930 add r0, r0, r3
45931 mov r6, ip
45932 mov r1, #0
45933.L14751:
45934 ldr r2, [r0, #68]
45935 cmp r2, #0
45936 beq .L14752
45937 ands lr, r2, #255
45938 beq .L14754
45939 ldr r3, [r5, #12]
45940 tst r3, #256
45941 movne r3, r3, lsr #16
45942 movne r3, r3, asl #16
45943 orrne r3, r3, #768
45944 orreq r3, lr, r3, asl #16
45945 orrne r3, lr, r3
45946 orreq r3, r3, #768
45947 strne r3, [r5, #12]
45948 streq r3, [r5, #12]
45949.L14754:
45950 mov r3, r2, lsr #8
45951 ands lr, r3, #255
45952 beq .L14758
45953 ldr r3, [r5, #8]
45954 tst r3, #256
45955 movne r3, r3, lsr #16
45956 movne r3, r3, asl #16
45957 orrne r3, r3, #768
45958 orreq r3, lr, r3, asl #16
45959 orrne r3, lr, r3
45960 orreq r3, r3, #768
45961 strne r3, [r5, #8]
45962 streq r3, [r5, #8]
45963.L14758:
45964 mov r3, r2, lsr #16
45965 ands lr, r3, #255
45966 beq .L14762
45967 ldr r3, [r5, #4]
45968 tst r3, #256
45969 movne r3, r3, lsr #16
45970 movne r3, r3, asl #16
45971 orrne r3, r3, #768
45972 orreq r3, lr, r3, asl #16
45973 orrne r3, lr, r3
45974 orreq r3, r3, #768
45975 strne r3, [r5, #4]
45976 streq r3, [r5, #4]
45977.L14762:
45978 movs r2, r2, lsr #24
45979 beq .L14752
45980 ldr r3, [r5, #0]
45981 tst r3, #256
45982 movne r3, r3, lsr #16
45983 movne r3, r3, asl #16
45984 orrne r3, r3, #768
45985 orreq r3, r2, r3, asl #16
45986 orrne r3, r2, r3
45987 orreq r3, r3, #768
45988 strne r3, [r5, #0]
45989 streq r3, [r5, #0]
45990.L14752:
45991 ldr lr, [r6, #0]
45992 cmp lr, #0
45993 beq .L14769
45994 ands r2, lr, #255
45995 beq .L14771
45996 ldr r4, [r5, #28]
45997 tst r4, #256
45998 movne r3, r4, lsr #16
45999 movne r3, r3, asl #16
46000 orreq r3, r2, #768
46001 orrne r2, r2, #768
46002 orrne r3, r3, r2
46003 orreq r3, r3, r4, asl #16
46004 strne r3, [r5, #28]
46005 streq r3, [r5, #28]
46006.L14771:
46007 mov r3, lr, lsr #8
46008 ands r2, r3, #255
46009 beq .L14775
46010 ldr r3, [r5, #24]
46011 tst r3, #256
46012 movne r3, r3, lsr #16
46013 movne r3, r3, asl #16
46014 orrne r3, r3, #768
46015 orreq r3, r2, r3, asl #16
46016 orrne r3, r2, r3
46017 orreq r3, r3, #768
46018 strne r3, [r5, #24]
46019 streq r3, [r5, #24]
46020.L14775:
46021 mov r3, lr, lsr #16
46022 ands r2, r3, #255
46023 beq .L14779
46024 ldr r3, [r5, #20]
46025 tst r3, #256
46026 movne r3, r3, lsr #16
46027 movne r3, r3, asl #16
46028 orrne r3, r3, #768
46029 orreq r3, r2, r3, asl #16
46030 orrne r3, r2, r3
46031 orreq r3, r3, #768
46032 strne r3, [r5, #20]
46033 streq r3, [r5, #20]
46034.L14779:
46035 movs r2, lr, lsr #24
46036 beq .L14769
46037 ldr lr, [r5, #16]
46038 tst lr, #256
46039 movne r3, lr, lsr #16
46040 movne r3, r3, asl #16
46041 orreq r3, r2, #768
46042 orrne r2, r2, #768
46043 orrne r3, r3, r2
46044 orreq r3, r3, lr, asl #16
46045 strne r3, [r5, #16]
46046 streq r3, [r5, #16]
46047.L14769:
46048 add r1, r1, #1
46049 cmp r1, r8
46050 sub r6, r6, #64
46051 add r5, r5, #32
46052 sub r0, r0, #64
46053 bne .L14751
46054 rsb r3, r8, r8, asl #26
46055 add ip, ip, r3, asl #6
46056 add r7, r7, r8, asl #5
46057.L14749:
46058 ands r4, sl, #7
46059 beq .L13691
46060 cmp r4, #3
46061 ldrls ip, [ip, #4]
46062 bls .L14808
46063 ldr r2, [ip, #4]
46064 cmp r2, #0
46065 beq .L14790
46066 ands r1, r2, #255
46067 beq .L14792
46068 ldr r3, [r7, #12]
46069 tst r3, #256
46070 movne r3, r3, lsr #16
46071 movne r3, r3, asl #16
46072 orrne r3, r3, #768
46073 orreq r3, r1, r3, asl #16
46074 orrne r3, r1, r3
46075 orreq r3, r3, #768
46076 strne r3, [r7, #12]
46077 streq r3, [r7, #12]
46078.L14792:
46079 mov r3, r2, lsr #8
46080 ands r1, r3, #255
46081 beq .L14796
46082 ldr r3, [r7, #8]
46083 tst r3, #256
46084 movne r3, r3, lsr #16
46085 movne r3, r3, asl #16
46086 orrne r3, r3, #768
46087 orreq r3, r1, r3, asl #16
46088 orrne r3, r1, r3
46089 orreq r3, r3, #768
46090 strne r3, [r7, #8]
46091 streq r3, [r7, #8]
46092.L14796:
46093 mov r3, r2, lsr #16
46094 ands r1, r3, #255
46095 beq .L14800
46096 ldr r3, [r7, #4]
46097 tst r3, #256
46098 movne r3, r3, lsr #16
46099 movne r3, r3, asl #16
46100 orrne r3, r3, #768
46101 orreq r3, r1, r3, asl #16
46102 orrne r3, r1, r3
46103 orreq r3, r3, #768
46104 strne r3, [r7, #4]
46105 streq r3, [r7, #4]
46106.L14800:
46107 movs r2, r2, lsr #24
46108 beq .L14790
46109 ldr r3, [r7, #0]
46110 tst r3, #256
46111 movne r3, r3, lsr #16
46112 movne r3, r3, asl #16
46113 orrne r3, r3, #768
46114 orreq r3, r2, r3, asl #16
46115 orrne r3, r2, r3
46116 orreq r3, r3, #768
46117 strne r3, [r7, #0]
46118 streq r3, [r7, #0]
46119.L14790:
46120 subs r4, r4, #4
46121 ldr ip, [ip, #0]
46122 addne r7, r7, #16
46123 beq .L13691
46124.L14808:
46125 mov lr, #0
46126.L14809:
46127 movs r0, ip, lsr #24
46128 beq .L14810
46129 ldr r2, [r7, #0]
46130 orr r1, r0, #768
46131 mov r3, r2, lsr #16
46132 orr r0, r0, #768
46133 mov r3, r3, asl #16
46134 tst r2, #256
46135 orr r3, r3, r1
46136 orr r0, r0, r2, asl #16
46137 strne r3, [r7, #0]
46138 streq r0, [r7, #0]
46139.L14810:
46140 add lr, lr, #1
46141 cmp r4, lr
46142 mov ip, ip, asl #8
46143 add r7, r7, #4
46144 bhi .L14809
46145 b .L13691
46146.L15695:
46147 rsb r7, r5, ip
46148 cmp r7, #0
46149 ble .L13691
46150 ldr lr, [sp, #0]
46151 movs r8, r7, lsr #3
46152 add r1, lr, r5, asl #2
46153 beq .L15018
46154 mov r4, r1
46155 mov r5, r0
46156 mov ip, #0
46157.L15020:
46158 ldr lr, [r5, #0]
46159 cmp lr, #0
46160 beq .L15021
46161 ands r3, lr, #15
46162 ldrne r2, [sp, #28]
46163 orrne r3, r2, r3
46164 orrne r3, r6, r3
46165 strne r3, [r4, #0]
46166 mov r3, lr, lsr #4
46167 ands r3, r3, #15
46168 ldrne r2, [sp, #28]
46169 orrne r3, r2, r3
46170 orrne r3, r6, r3
46171 strne r3, [r4, #4]
46172 mov r3, lr, lsr #8
46173 ands r3, r3, #15
46174 ldrne r2, [sp, #28]
46175 orrne r3, r2, r3
46176 orrne r3, r6, r3
46177 strne r3, [r4, #8]
46178 mov r3, lr, lsr #12
46179 ands r3, r3, #15
46180 ldrne r2, [sp, #28]
46181 orrne r3, r2, r3
46182 orrne r3, r6, r3
46183 strne r3, [r4, #12]
46184 mov r3, lr, lsr #16
46185 ands r3, r3, #15
46186 ldrne r2, [sp, #28]
46187 orrne r3, r2, r3
46188 orrne r3, r6, r3
46189 strne r3, [r4, #16]
46190 mov r3, lr, lsr #20
46191 ands r3, r3, #15
46192 ldrne r2, [sp, #28]
46193 orrne r3, r2, r3
46194 orrne r3, r6, r3
46195 strne r3, [r4, #20]
46196 mov r3, lr, lsr #24
46197 ands r3, r3, #15
46198 ldrne r2, [sp, #28]
46199 orrne r3, r2, r3
46200 orrne r3, r6, r3
46201 strne r3, [r4, #24]
46202 movs r3, lr, lsr #28
46203 ldrne lr, [sp, #28]
46204 orrne r3, lr, r3
46205 orrne r3, r6, r3
46206 strne r3, [r4, #28]
46207.L15021:
46208 add ip, ip, #1
46209 cmp r8, ip
46210 add r5, r5, #32
46211 add r4, r4, #32
46212 bne .L15020
46213 mov r3, r8, asl #5
46214 add r0, r0, r3
46215 add r1, r1, r3
46216.L15018:
46217 ands lr, r7, #7
46218 beq .L13691
46219 ldr r0, [r0, #0]
46220 mov ip, #0
46221.L15040:
46222 ldr r2, [sp, #28]
46223 ands r3, r0, #15
46224 orr r3, r2, r3
46225 orr r3, r6, r3
46226 strne r3, [r1, ip, asl #2]
46227 add ip, ip, #1
46228 cmp ip, lr
46229 mov r0, r0, lsr #4
46230 bne .L15040
46231 b .L13691
46232.L15705:
46233 rsb r8, r5, r8
46234 cmp r8, #0
46235 ble .L13691
46236 ldr lr, [sp, #0]
46237 movs r7, r8, lsr #3
46238 add r6, lr, r5, asl #2
46239 beq .L14413
46240 ldr r3, .L15735+4
46241 mov r4, r6
46242 add r0, r0, r3
46243 mov r5, ip
46244 mov r1, #0
46245.L14415:
46246 ldr r2, [r5, #0]
46247 cmp r2, #0
46248 beq .L14416
46249 ands lr, r2, #255
46250 beq .L14418
46251 ldr r3, [r4, #0]
46252 tst r3, #256
46253 movne r3, r3, lsr #16
46254 movne r3, r3, asl #16
46255 orrne r3, r3, #768
46256 orreq r3, lr, r3, asl #16
46257 orrne r3, lr, r3
46258 orreq r3, r3, #768
46259 strne r3, [r4, #0]
46260 streq r3, [r4, #0]
46261.L14418:
46262 mov r3, r2, lsr #8
46263 ands lr, r3, #255
46264 beq .L14422
46265 ldr r3, [r4, #4]
46266 tst r3, #256
46267 movne r3, r3, lsr #16
46268 movne r3, r3, asl #16
46269 orrne r3, r3, #768
46270 orreq r3, lr, r3, asl #16
46271 orrne r3, lr, r3
46272 orreq r3, r3, #768
46273 strne r3, [r4, #4]
46274 streq r3, [r4, #4]
46275.L14422:
46276 mov r3, r2, lsr #16
46277 ands lr, r3, #255
46278 beq .L14426
46279 ldr r3, [r4, #8]
46280 tst r3, #256
46281 movne r3, r3, lsr #16
46282 movne r3, r3, asl #16
46283 orrne r3, r3, #768
46284 orreq r3, lr, r3, asl #16
46285 orrne r3, lr, r3
46286 orreq r3, r3, #768
46287 strne r3, [r4, #8]
46288 streq r3, [r4, #8]
46289.L14426:
46290 movs r2, r2, lsr #24
46291 beq .L14416
46292 ldr lr, [r4, #12]
46293 tst lr, #256
46294 movne r3, lr, lsr #16
46295 movne r3, r3, asl #16
46296 orreq r3, r2, #768
46297 orrne r2, r2, #768
46298 orrne r3, r3, r2
46299 orreq r3, r3, lr, asl #16
46300 strne r3, [r4, #12]
46301 streq r3, [r4, #12]
46302.L14416:
46303 ldr r2, [r0, #-60]
46304 cmp r2, #0
46305 beq .L14433
46306 ands lr, r2, #255
46307 beq .L14435
46308 ldr r3, [r4, #16]
46309 tst r3, #256
46310 movne r3, r3, lsr #16
46311 movne r3, r3, asl #16
46312 orrne r3, r3, #768
46313 orreq r3, lr, r3, asl #16
46314 orrne r3, lr, r3
46315 orreq r3, r3, #768
46316 strne r3, [r4, #16]
46317 streq r3, [r4, #16]
46318.L14435:
46319 mov r3, r2, lsr #8
46320 ands lr, r3, #255
46321 beq .L14439
46322 ldr r3, [r4, #20]
46323 tst r3, #256
46324 movne r3, r3, lsr #16
46325 movne r3, r3, asl #16
46326 orrne r3, r3, #768
46327 orreq r3, lr, r3, asl #16
46328 orrne r3, lr, r3
46329 orreq r3, r3, #768
46330 strne r3, [r4, #20]
46331 streq r3, [r4, #20]
46332.L14439:
46333 mov r3, r2, lsr #16
46334 ands lr, r3, #255
46335 beq .L14443
46336 ldr r3, [r4, #24]
46337 tst r3, #256
46338 movne r3, r3, lsr #16
46339 movne r3, r3, asl #16
46340 orrne r3, r3, #768
46341 orreq r3, lr, r3, asl #16
46342 orrne r3, lr, r3
46343 orreq r3, r3, #768
46344 strne r3, [r4, #24]
46345 streq r3, [r4, #24]
46346.L14443:
46347 movs r2, r2, lsr #24
46348 beq .L14433
46349 ldr r3, [r4, #28]
46350 tst r3, #256
46351 movne r3, r3, lsr #16
46352 movne r3, r3, asl #16
46353 orrne r3, r3, #768
46354 orreq r3, r2, r3, asl #16
46355 orrne r3, r2, r3
46356 orreq r3, r3, #768
46357 strne r3, [r4, #28]
46358 streq r3, [r4, #28]
46359.L14433:
46360 add r1, r1, #1
46361 cmp r1, r7
46362 add r5, r5, #64
46363 add r4, r4, #32
46364 add r0, r0, #64
46365 bne .L14415
46366 add ip, ip, r7, asl #6
46367 add r6, r6, r7, asl #5
46368.L14413:
46369 ands r4, r8, #7
46370 beq .L13691
46371 cmp r4, #3
46372 ldrls ip, [ip, #0]
46373 bls .L14472
46374 ldr r2, [ip, #0]
46375 cmp r2, #0
46376 beq .L14454
46377 ands r1, r2, #255
46378 beq .L14456
46379 ldr r3, [r6, #0]
46380 tst r3, #256
46381 movne r3, r3, lsr #16
46382 movne r3, r3, asl #16
46383 orrne r3, r3, #768
46384 orreq r3, r1, r3, asl #16
46385 orrne r3, r1, r3
46386 orreq r3, r3, #768
46387 strne r3, [r6, #0]
46388 streq r3, [r6, #0]
46389.L14456:
46390 mov r3, r2, lsr #8
46391 ands r1, r3, #255
46392 beq .L14460
46393 ldr r3, [r6, #4]
46394 tst r3, #256
46395 movne r3, r3, lsr #16
46396 movne r3, r3, asl #16
46397 orrne r3, r3, #768
46398 orreq r3, r1, r3, asl #16
46399 orrne r3, r1, r3
46400 orreq r3, r3, #768
46401 strne r3, [r6, #4]
46402 streq r3, [r6, #4]
46403.L14460:
46404 mov r3, r2, lsr #16
46405 ands r1, r3, #255
46406 beq .L14464
46407 ldr r3, [r6, #8]
46408 tst r3, #256
46409 movne r3, r3, lsr #16
46410 movne r3, r3, asl #16
46411 orrne r3, r3, #768
46412 orreq r3, r1, r3, asl #16
46413 orrne r3, r1, r3
46414 orreq r3, r3, #768
46415 strne r3, [r6, #8]
46416 streq r3, [r6, #8]
46417.L14464:
46418 movs r2, r2, lsr #24
46419 beq .L14454
46420 ldr r1, [r6, #12]
46421 tst r1, #256
46422 movne r3, r1, lsr #16
46423 movne r3, r3, asl #16
46424 orreq r3, r2, #768
46425 orrne r2, r2, #768
46426 orrne r3, r3, r2
46427 orreq r3, r3, r1, asl #16
46428 strne r3, [r6, #12]
46429 streq r3, [r6, #12]
46430.L14454:
46431 subs r4, r4, #4
46432 ldr ip, [ip, #4]
46433 addne r6, r6, #16
46434 beq .L13691
46435.L14472:
46436 mov lr, #0
46437.L14473:
46438 ands r0, ip, #255
46439 beq .L14474
46440 ldr r2, [r6, #0]
46441 orr r1, r0, #768
46442 mov r3, r2, lsr #16
46443 orr r0, r0, #768
46444 mov r3, r3, asl #16
46445 tst r2, #256
46446 orr r3, r3, r1
46447 orr r0, r0, r2, asl #16
46448 strne r3, [r6, #0]
46449 streq r0, [r6, #0]
46450.L14474:
46451 add lr, lr, #1
46452 cmp r4, lr
46453 mov ip, ip, lsr #8
46454 add r6, r6, #4
46455 bhi .L14473
46456 b .L13691
46457.L15697:
46458 rsb r8, r5, r8
46459 cmp r8, #0
46460 ble .L13691
46461 ldr lr, [sp, #0]
46462 movs r7, r8, lsr #3
46463 add r1, lr, r5, asl #2
46464 beq .L15353
46465 ldr r3, .L15735+4
46466 mov r4, r1
46467 add r0, r0, r3
46468 mov r5, ip
46469 mov r6, #0
46470.L15355:
46471 ldr lr, [r5, #0]
46472 cmp lr, #0
46473 beq .L15356
46474 ands r3, lr, #255
46475 ldrne r2, [sp, #28]
46476 orrne r3, r2, r3
46477 strne r3, [r4, #0]
46478 mov r3, lr, lsr #8
46479 ands r3, r3, #255
46480 ldrne r2, [sp, #28]
46481 orrne r3, r2, r3
46482 strne r3, [r4, #4]
46483 mov r3, lr, lsr #16
46484 ands r3, r3, #255
46485 ldrne r2, [sp, #28]
46486 orrne r3, r2, r3
46487 strne r3, [r4, #8]
46488 movs r3, lr, lsr #24
46489 ldrne lr, [sp, #28]
46490 orrne r3, lr, r3
46491 strne r3, [r4, #12]
46492.L15356:
46493 ldr lr, [r0, #-60]
46494 cmp lr, #0
46495 beq .L15365
46496 ands r3, lr, #255
46497 ldrne r2, [sp, #28]
46498 orrne r3, r2, r3
46499 strne r3, [r4, #16]
46500 mov r3, lr, lsr #8
46501 ands r3, r3, #255
46502 ldrne r2, [sp, #28]
46503 orrne r3, r2, r3
46504 strne r3, [r4, #20]
46505 mov r3, lr, lsr #16
46506 ands r3, r3, #255
46507 ldrne r2, [sp, #28]
46508 orrne r3, r2, r3
46509 strne r3, [r4, #24]
46510 movs r3, lr, lsr #24
46511 ldrne lr, [sp, #28]
46512 orrne r3, lr, r3
46513 strne r3, [r4, #28]
46514.L15365:
46515 add r6, r6, #1
46516 cmp r6, r7
46517 add r5, r5, #64
46518 add r4, r4, #32
46519 add r0, r0, #64
46520 bne .L15355
46521 add ip, ip, r7, asl #6
46522 add r1, r1, r7, asl #5
46523.L15353:
46524 ands lr, r8, #7
46525 beq .L13691
46526 cmp lr, #3
46527 ldrls ip, [ip, #0]
46528 bls .L15388
46529 ldr r2, [ip, #0]
46530 cmp r2, #0
46531 beq .L15378
46532 ands r3, r2, #255
46533 ldrne r0, [sp, #28]
46534 orrne r3, r0, r3
46535 strne r3, [r1, #0]
46536 mov r3, r2, lsr #8
46537 ands r3, r3, #255
46538 ldrne r4, [sp, #28]
46539 orrne r3, r4, r3
46540 strne r3, [r1, #4]
46541 mov r3, r2, lsr #16
46542 ands r3, r3, #255
46543 ldrne r5, [sp, #28]
46544 orrne r3, r5, r3
46545 strne r3, [r1, #8]
46546 movs r3, r2, lsr #24
46547 ldrne r7, [sp, #28]
46548 orrne r3, r7, r3
46549 strne r3, [r1, #12]
46550.L15378:
46551 subs lr, lr, #4
46552 ldr ip, [ip, #4]
46553 addne r1, r1, #16
46554 beq .L13691
46555.L15388:
46556 mov r0, #0
46557.L15389:
46558 ldr r8, [sp, #28]
46559 ands r3, ip, #255
46560 orr r3, r8, r3
46561 strne r3, [r1, r0, asl #2]
46562 add r0, r0, #1
46563 cmp lr, r0
46564 mov ip, ip, lsr #8
46565 bhi .L15389
46566 b .L13691
46567.L15701:
46568 rsb r8, r5, ip
46569 cmp r8, #0
46570 ble .L13691
46571 ldr lr, [sp, #0]
46572 movs r7, r8, lsr #3
46573 add r1, lr, r5, asl #2
46574 beq .L15148
46575 mov r4, r1
46576 mov r5, r0
46577 mov ip, #0
46578.L15150:
46579 ldr lr, [r5, #0]
46580 cmp lr, #0
46581 beq .L15151
46582 ands r3, lr, #15
46583 ldrne r2, [sp, #28]
46584 orrne r3, r2, r3
46585 orrne r3, r6, r3
46586 strne r3, [r4, #28]
46587 mov r3, lr, lsr #4
46588 ands r3, r3, #15
46589 ldrne r2, [sp, #28]
46590 orrne r3, r2, r3
46591 orrne r3, r6, r3
46592 strne r3, [r4, #24]
46593 mov r3, lr, lsr #8
46594 ands r3, r3, #15
46595 ldrne r2, [sp, #28]
46596 orrne r3, r2, r3
46597 orrne r3, r6, r3
46598 strne r3, [r4, #20]
46599 mov r3, lr, lsr #12
46600 ands r3, r3, #15
46601 ldrne r2, [sp, #28]
46602 orrne r3, r2, r3
46603 orrne r3, r6, r3
46604 strne r3, [r4, #16]
46605 mov r3, lr, lsr #16
46606 ands r3, r3, #15
46607 ldrne r2, [sp, #28]
46608 orrne r3, r2, r3
46609 orrne r3, r6, r3
46610 strne r3, [r4, #12]
46611 mov r3, lr, lsr #20
46612 ands r3, r3, #15
46613 ldrne r2, [sp, #28]
46614 orrne r3, r2, r3
46615 orrne r3, r6, r3
46616 strne r3, [r4, #8]
46617 mov r3, lr, lsr #24
46618 ands r3, r3, #15
46619 ldrne r2, [sp, #28]
46620 orrne r3, r2, r3
46621 orrne r3, r6, r3
46622 strne r3, [r4, #4]
46623 movs r3, lr, lsr #28
46624 ldrne lr, [sp, #28]
46625 orrne r3, lr, r3
46626 orrne r3, r6, r3
46627 strne r3, [r4, #0]
46628.L15151:
46629 add ip, ip, #1
46630 cmp ip, r7
46631 sub r5, r5, #32
46632 add r4, r4, #32
46633 bne .L15150
46634 rsb r3, r7, r7, asl #27
46635 add r0, r0, r3, asl #5
46636 add r1, r1, r7, asl #5
46637.L15148:
46638 ands lr, r8, #7
46639 beq .L13691
46640 ldr r0, [r0, #0]
46641 mov ip, #0
46642.L15170:
46643 ldr r2, [sp, #28]
46644 movs r3, r0, lsr #28
46645 orr r3, r2, r3
46646 orr r3, r6, r3
46647 strne r3, [r1, ip, asl #2]
46648 add ip, ip, #1
46649 cmp ip, lr
46650 mov r0, r0, asl #4
46651 bne .L15170
46652 b .L13691
46653.L15693:
46654 rsb sl, r5, r1
46655 cmp sl, #0
46656 ble .L13691
46657 ldr r2, [sp, #0]
46658 movs ip, sl, lsr #3
46659 add r8, r2, r5, asl #2
46660 beq .L14100
46661 mov r5, r8
46662 mov r7, r0
46663 mov r1, #0
46664.L14102:
46665 ldr r4, [r7, #0]
46666 cmp r4, #0
46667 beq .L14103
46668 ands r2, r4, #15
46669 beq .L14105
46670 ldr lr, [r5, #28]
46671 orr r2, r6, r2
46672 tst lr, #256
46673 movne r3, lr, lsr #16
46674 movne r3, r3, asl #16
46675 orreq r3, r2, #768
46676 orrne r2, r2, #768
46677 orrne r3, r3, r2
46678 orreq r3, r3, lr, asl #16
46679 strne r3, [r5, #28]
46680 streq r3, [r5, #28]
46681.L14105:
46682 mov r3, r4, lsr #4
46683 ands r2, r3, #15
46684 beq .L14109
46685 ldr lr, [r5, #24]
46686 orr r2, r6, r2
46687 tst lr, #256
46688 movne r3, lr, lsr #16
46689 movne r3, r3, asl #16
46690 orreq r3, r2, #768
46691 orrne r2, r2, #768
46692 orrne r3, r3, r2
46693 orreq r3, r3, lr, asl #16
46694 strne r3, [r5, #24]
46695 streq r3, [r5, #24]
46696.L14109:
46697 mov r3, r4, lsr #8
46698 ands r2, r3, #15
46699 beq .L14113
46700 ldr lr, [r5, #20]
46701 orr r2, r6, r2
46702 tst lr, #256
46703 movne r3, lr, lsr #16
46704 movne r3, r3, asl #16
46705 orreq r3, r2, #768
46706 orrne r2, r2, #768
46707 orrne r3, r3, r2
46708 orreq r3, r3, lr, asl #16
46709 strne r3, [r5, #20]
46710 streq r3, [r5, #20]
46711.L14113:
46712 mov r3, r4, lsr #12
46713 ands r2, r3, #15
46714 beq .L14117
46715 ldr lr, [r5, #16]
46716 orr r2, r6, r2
46717 tst lr, #256
46718 movne r3, lr, lsr #16
46719 movne r3, r3, asl #16
46720 orreq r3, r2, #768
46721 orrne r2, r2, #768
46722 orrne r3, r3, r2
46723 orreq r3, r3, lr, asl #16
46724 strne r3, [r5, #16]
46725 streq r3, [r5, #16]
46726.L14117:
46727 mov r3, r4, lsr #16
46728 ands r2, r3, #15
46729 beq .L14121
46730 ldr lr, [r5, #12]
46731 orr r2, r6, r2
46732 tst lr, #256
46733 movne r3, lr, lsr #16
46734 movne r3, r3, asl #16
46735 orreq r3, r2, #768
46736 orrne r2, r2, #768
46737 orrne r3, r3, r2
46738 orreq r3, r3, lr, asl #16
46739 strne r3, [r5, #12]
46740 streq r3, [r5, #12]
46741.L14121:
46742 mov r3, r4, lsr #20
46743 ands r2, r3, #15
46744 beq .L14125
46745 ldr lr, [r5, #8]
46746 orr r2, r6, r2
46747 tst lr, #256
46748 movne r3, lr, lsr #16
46749 movne r3, r3, asl #16
46750 orreq r3, r2, #768
46751 orrne r2, r2, #768
46752 orrne r3, r3, r2
46753 orreq r3, r3, lr, asl #16
46754 strne r3, [r5, #8]
46755 streq r3, [r5, #8]
46756.L14125:
46757 mov r3, r4, lsr #24
46758 ands r2, r3, #15
46759 beq .L14129
46760 ldr lr, [r5, #4]
46761 orr r2, r6, r2
46762 tst lr, #256
46763 movne r3, lr, lsr #16
46764 movne r3, r3, asl #16
46765 orreq r3, r2, #768
46766 orrne r2, r2, #768
46767 orrne r3, r3, r2
46768 orreq r3, r3, lr, asl #16
46769 strne r3, [r5, #4]
46770 streq r3, [r5, #4]
46771.L14129:
46772 movs r2, r4, lsr #28
46773 beq .L14103
46774 ldr lr, [r5, #0]
46775 orr r2, r6, r2
46776 tst lr, #256
46777 movne r3, lr, lsr #16
46778 movne r3, r3, asl #16
46779 orreq r3, r2, #768
46780 orrne r2, r2, #768
46781 orrne r3, r3, r2
46782 orreq r3, r3, lr, asl #16
46783 strne r3, [r5, #0]
46784 streq r3, [r5, #0]
46785.L14103:
46786 add r1, r1, #1
46787 cmp ip, r1
46788 sub r7, r7, #32
46789 add r5, r5, #32
46790 bne .L14102
46791 rsb r3, ip, ip, asl #27
46792 add r0, r0, r3, asl #5
46793 add r8, r8, ip, asl #5
46794.L14100:
46795 ands r4, sl, #7
46796 beq .L13691
46797 ldr ip, [r0, #0]
46798 mov lr, #0
46799.L14138:
46800 movs r3, ip, lsr #28
46801 beq .L14139
46802 ldr r1, [r8, #0]
46803 orr r2, r6, r3
46804 mov r3, r1, lsr #16
46805 orr r0, r2, #768
46806 mov r3, r3, asl #16
46807 orr r2, r2, #768
46808 tst r1, #256
46809 orr r3, r3, r0
46810 orr r2, r2, r1, asl #16
46811 strne r3, [r8, #0]
46812 streq r2, [r8, #0]
46813.L14139:
46814 add lr, lr, #1
46815 cmp lr, r4
46816 mov ip, ip, asl #4
46817 add r8, r8, #4
46818 bne .L14138
46819 b .L13691
46820.L15727:
46821 mov r4, r9
46822.L14904:
46823 cmp r7, r3
46824 bhi .L15674
46825 b .L13691
46826.L14905:
46827 cmp lr, r7
46828 bcs .L13691
46829.L15674:
46830 mov r3, lr, asr #1
46831 and r6, r3, #3
46832 mov r3, lr, asr #3
46833 mov r3, r3, asl #5
46834 mov r2, lr, asr #1
46835 tst lr, #1
46836 add ip, r3, r1
46837 and r5, r2, #3
46838 add r2, r3, r1
46839 ldreqb r3, [r2, r5] @ zero_extendqisi2
46840 ldrneb r3, [ip, r6] @ zero_extendqisi2
46841 andeq r2, r3, #15
46842 movne r2, r3, lsr #4
46843 ldr r5, [sp, #28]
46844 ldr r3, [sp, #88]
46845 ldr ip, [sp, #136]
46846 add r0, r0, r3
46847 orr r3, r2, r5
46848 cmp r2, #0
46849 add r4, r4, #1
46850 orr r3, ip, r3
46851 strne r3, [r8, #0]
46852 cmp fp, r4
46853 mov lr, r0, asr #8
46854 add r8, r8, #4
46855 bgt .L14905
46856 b .L13691
46857.L14183:
46858 mov r3, r0, lsr #3
46859 ands r2, r0, #7
46860 add r4, ip, r3, asl #6
46861 ldreq r0, [sp, #108]
46862 bne .L15709
46863.L14333:
46864 movs lr, r8, lsr #3
46865 beq .L13691
46866 mov ip, #0
46867 b .L14374
46868.L15710:
46869 add r4, r4, #64
46870 add r0, r0, #32
46871.L14374:
46872 ldr r2, [r4, #0]
46873 cmp r2, #0
46874 beq .L14375
46875 ands r1, r2, #255
46876 beq .L14377
46877 ldr r3, [r0, #0]
46878 tst r3, #256
46879 movne r3, r3, lsr #16
46880 movne r3, r3, asl #16
46881 orrne r3, r3, #768
46882 orreq r3, r1, r3, asl #16
46883 orrne r3, r1, r3
46884 orreq r3, r3, #768
46885 strne r3, [r0, #0]
46886 streq r3, [r0, #0]
46887.L14377:
46888 mov r3, r2, lsr #8
46889 ands r1, r3, #255
46890 beq .L14381
46891 ldr r3, [r0, #4]
46892 tst r3, #256
46893 movne r3, r3, lsr #16
46894 movne r3, r3, asl #16
46895 orrne r3, r3, #768
46896 orreq r3, r1, r3, asl #16
46897 orrne r3, r1, r3
46898 orreq r3, r3, #768
46899 strne r3, [r0, #4]
46900 streq r3, [r0, #4]
46901.L14381:
46902 mov r3, r2, lsr #16
46903 ands r1, r3, #255
46904 beq .L14385
46905 ldr r3, [r0, #8]
46906 tst r3, #256
46907 movne r3, r3, lsr #16
46908 movne r3, r3, asl #16
46909 orrne r3, r3, #768
46910 orreq r3, r1, r3, asl #16
46911 orrne r3, r1, r3
46912 orreq r3, r3, #768
46913 strne r3, [r0, #8]
46914 streq r3, [r0, #8]
46915.L14385:
46916 movs r2, r2, lsr #24
46917 beq .L14375
46918 ldr r1, [r0, #12]
46919 tst r1, #256
46920 movne r3, r1, lsr #16
46921 movne r3, r3, asl #16
46922 orreq r3, r2, #768
46923 orrne r2, r2, #768
46924 orrne r3, r3, r2
46925 orreq r3, r3, r1, asl #16
46926 strne r3, [r0, #12]
46927 streq r3, [r0, #12]
46928.L14375:
46929 ldr r2, [r4, #4]
46930 cmp r2, #0
46931 beq .L14392
46932 ands r1, r2, #255
46933 beq .L14394
46934 ldr r3, [r0, #16]
46935 tst r3, #256
46936 movne r3, r3, lsr #16
46937 movne r3, r3, asl #16
46938 orrne r3, r3, #768
46939 orreq r3, r1, r3, asl #16
46940 orrne r3, r1, r3
46941 orreq r3, r3, #768
46942 strne r3, [r0, #16]
46943 streq r3, [r0, #16]
46944.L14394:
46945 mov r3, r2, lsr #8
46946 ands r1, r3, #255
46947 beq .L14398
46948 ldr r3, [r0, #20]
46949 tst r3, #256
46950 movne r3, r3, lsr #16
46951 movne r3, r3, asl #16
46952 orrne r3, r3, #768
46953 orreq r3, r1, r3, asl #16
46954 orrne r3, r1, r3
46955 orreq r3, r3, #768
46956 strne r3, [r0, #20]
46957 streq r3, [r0, #20]
46958.L14398:
46959 mov r3, r2, lsr #16
46960 ands r1, r3, #255
46961 beq .L14402
46962 ldr r3, [r0, #24]
46963 tst r3, #256
46964 movne r3, r3, lsr #16
46965 movne r3, r3, asl #16
46966 orrne r3, r3, #768
46967 orreq r3, r1, r3, asl #16
46968 orrne r3, r1, r3
46969 orreq r3, r3, #768
46970 strne r3, [r0, #24]
46971 streq r3, [r0, #24]
46972.L14402:
46973 movs r2, r2, lsr #24
46974 beq .L14392
46975 ldr r3, [r0, #28]
46976 tst r3, #256
46977 movne r3, r3, lsr #16
46978 movne r3, r3, asl #16
46979 orrne r3, r3, #768
46980 orreq r3, r2, r3, asl #16
46981 orrne r3, r2, r3
46982 orreq r3, r3, #768
46983 strne r3, [r0, #28]
46984 streq r3, [r0, #28]
46985.L14392:
46986 add ip, ip, #1
46987 cmp ip, lr
46988 bne .L15710
46989 b .L13691
46990.L13775:
46991 mov r3, lr, lsr #3
46992 mov r1, r3, asl #5
46993 ands r3, lr, #7
46994 add r5, r0, r1
46995 ldreq ip, [sp, #108]
46996 bne .L15711
46997.L13846:
46998 movs r4, r8, lsr #3
46999 beq .L13691
47000 mov lr, #0
47001 b .L13858
47002.L15712:
47003 add r5, r5, #32
47004 add ip, ip, #32
47005.L13858:
47006 ldr r0, [r5, #0]
47007 cmp r0, #0
47008 beq .L13859
47009 ands r2, r0, #15
47010 beq .L13861
47011 ldr r1, [ip, #0]
47012 orr r2, r6, r2
47013 tst r1, #256
47014 movne r3, r1, lsr #16
47015 movne r3, r3, asl #16
47016 orreq r3, r2, #768
47017 orrne r2, r2, #768
47018 orrne r3, r3, r2
47019 orreq r3, r3, r1, asl #16
47020 strne r3, [ip, #0]
47021 streq r3, [ip, #0]
47022.L13861:
47023 mov r3, r0, lsr #4
47024 ands r2, r3, #15
47025 beq .L13865
47026 ldr r1, [ip, #4]
47027 orr r2, r6, r2
47028 tst r1, #256
47029 movne r3, r1, lsr #16
47030 movne r3, r3, asl #16
47031 orreq r3, r2, #768
47032 orrne r2, r2, #768
47033 orrne r3, r3, r2
47034 orreq r3, r3, r1, asl #16
47035 strne r3, [ip, #4]
47036 streq r3, [ip, #4]
47037.L13865:
47038 mov r3, r0, lsr #8
47039 ands r2, r3, #15
47040 beq .L13869
47041 ldr r1, [ip, #8]
47042 orr r2, r6, r2
47043 tst r1, #256
47044 movne r3, r1, lsr #16
47045 movne r3, r3, asl #16
47046 orreq r3, r2, #768
47047 orrne r2, r2, #768
47048 orrne r3, r3, r2
47049 orreq r3, r3, r1, asl #16
47050 strne r3, [ip, #8]
47051 streq r3, [ip, #8]
47052.L13869:
47053 mov r3, r0, lsr #12
47054 ands r2, r3, #15
47055 beq .L13873
47056 ldr r1, [ip, #12]
47057 orr r2, r6, r2
47058 tst r1, #256
47059 movne r3, r1, lsr #16
47060 movne r3, r3, asl #16
47061 orreq r3, r2, #768
47062 orrne r2, r2, #768
47063 orrne r3, r3, r2
47064 orreq r3, r3, r1, asl #16
47065 strne r3, [ip, #12]
47066 streq r3, [ip, #12]
47067.L13873:
47068 mov r3, r0, lsr #16
47069 ands r2, r3, #15
47070 beq .L13877
47071 ldr r1, [ip, #16]
47072 orr r2, r6, r2
47073 tst r1, #256
47074 movne r3, r1, lsr #16
47075 movne r3, r3, asl #16
47076 orreq r3, r2, #768
47077 orrne r2, r2, #768
47078 orrne r3, r3, r2
47079 orreq r3, r3, r1, asl #16
47080 strne r3, [ip, #16]
47081 streq r3, [ip, #16]
47082.L13877:
47083 mov r3, r0, lsr #20
47084 ands r2, r3, #15
47085 beq .L13881
47086 ldr r1, [ip, #20]
47087 orr r2, r6, r2
47088 tst r1, #256
47089 movne r3, r1, lsr #16
47090 movne r3, r3, asl #16
47091 orreq r3, r2, #768
47092 orrne r2, r2, #768
47093 orrne r3, r3, r2
47094 orreq r3, r3, r1, asl #16
47095 strne r3, [ip, #20]
47096 streq r3, [ip, #20]
47097.L13881:
47098 mov r3, r0, lsr #24
47099 ands r2, r3, #15
47100 beq .L13885
47101 ldr r1, [ip, #24]
47102 orr r2, r6, r2
47103 tst r1, #256
47104 movne r3, r1, lsr #16
47105 movne r3, r3, asl #16
47106 orreq r3, r2, #768
47107 orrne r2, r2, #768
47108 orrne r3, r3, r2
47109 orreq r3, r3, r1, asl #16
47110 strne r3, [ip, #24]
47111 streq r3, [ip, #24]
47112.L13885:
47113 movs r2, r0, lsr #28
47114 beq .L13859
47115 ldr r1, [ip, #28]
47116 orr r2, r6, r2
47117 tst r1, #256
47118 movne r3, r1, lsr #16
47119 movne r3, r3, asl #16
47120 orreq r3, r2, #768
47121 orrne r2, r2, #768
47122 orrne r3, r3, r2
47123 orreq r3, r3, r1, asl #16
47124 strne r3, [ip, #28]
47125 streq r3, [ip, #28]
47126.L13859:
47127 add lr, lr, #1
47128 cmp r4, lr
47129 bne .L15712
47130 b .L13691
47131.L15417:
47132 mov r3, r0, lsr #3
47133 ands r1, r0, #7
47134 sub r2, r2, r3, asl #6
47135 ldreq r0, [sp, #108]
47136 bne .L15713
47137.L15521:
47138 movs lr, lr, lsr #3
47139 beq .L13691
47140 mov ip, #0
47141 b .L15550
47142.L15714:
47143 sub r2, r2, #64
47144 add r0, r0, #32
47145.L15550:
47146 ldr r1, [r2, #4]
47147 cmp r1, #0
47148 beq .L15551
47149 ands r3, r1, #255
47150 ldrne r8, [sp, #28]
47151 orrne r3, r8, r3
47152 strne r3, [r0, #12]
47153 mov r3, r1, lsr #8
47154 ands r3, r3, #255
47155 ldrne r4, [sp, #28]
47156 orrne r3, r4, r3
47157 strne r3, [r0, #8]
47158 mov r3, r1, lsr #16
47159 ands r3, r3, #255
47160 ldrne r5, [sp, #28]
47161 orrne r3, r5, r3
47162 strne r3, [r0, #4]
47163 movs r3, r1, lsr #24
47164 ldrne r7, [sp, #28]
47165 orrne r3, r7, r3
47166 strne r3, [r0, #0]
47167.L15551:
47168 ldr r1, [r2, #0]
47169 cmp r1, #0
47170 beq .L15560
47171 ands r3, r1, #255
47172 ldrne r8, [sp, #28]
47173 orrne r3, r8, r3
47174 strne r3, [r0, #28]
47175 mov r3, r1, lsr #8
47176 ands r3, r3, #255
47177 ldrne r4, [sp, #28]
47178 orrne r3, r4, r3
47179 strne r3, [r0, #24]
47180 mov r3, r1, lsr #16
47181 ands r3, r3, #255
47182 ldrne r5, [sp, #28]
47183 orrne r3, r5, r3
47184 strne r3, [r0, #20]
47185 movs r3, r1, lsr #24
47186 ldrne r7, [sp, #28]
47187 orrne r3, r7, r3
47188 strne r3, [r0, #16]
47189.L15560:
47190 add ip, ip, #1
47191 cmp ip, lr
47192 bne .L15714
47193 b .L13691
47194.L14519:
47195 ands r2, r0, #7
47196 mov r3, r0, lsr #3
47197 sub r4, ip, r3, asl #6
47198 ldreq ip, [sp, #108]
47199 bne .L15715
47200.L14669:
47201 movs r5, r8, lsr #3
47202 beq .L13691
47203 mov lr, #0
47204 b .L14710
47205.L15716:
47206 sub r4, r4, #64
47207 add ip, ip, #32
47208.L14710:
47209 ldr r2, [r4, #4]
47210 cmp r2, #0
47211 beq .L14711
47212 ands r1, r2, #255
47213 beq .L14713
47214 ldr r3, [ip, #12]
47215 tst r3, #256
47216 movne r3, r3, lsr #16
47217 movne r3, r3, asl #16
47218 orrne r3, r3, #768
47219 orreq r3, r1, r3, asl #16
47220 orrne r3, r1, r3
47221 orreq r3, r3, #768
47222 strne r3, [ip, #12]
47223 streq r3, [ip, #12]
47224.L14713:
47225 mov r3, r2, lsr #8
47226 ands r1, r3, #255
47227 beq .L14717
47228 ldr r3, [ip, #8]
47229 tst r3, #256
47230 movne r3, r3, lsr #16
47231 movne r3, r3, asl #16
47232 orrne r3, r3, #768
47233 orreq r3, r1, r3, asl #16
47234 orrne r3, r1, r3
47235 orreq r3, r3, #768
47236 strne r3, [ip, #8]
47237 streq r3, [ip, #8]
47238.L14717:
47239 mov r3, r2, lsr #16
47240 ands r1, r3, #255
47241 beq .L14721
47242 ldr r3, [ip, #4]
47243 tst r3, #256
47244 movne r3, r3, lsr #16
47245 movne r3, r3, asl #16
47246 orrne r3, r3, #768
47247 orreq r3, r1, r3, asl #16
47248 orrne r3, r1, r3
47249 orreq r3, r3, #768
47250 strne r3, [ip, #4]
47251 streq r3, [ip, #4]
47252.L14721:
47253 movs r2, r2, lsr #24
47254 beq .L14711
47255 ldr r3, [ip, #0]
47256 tst r3, #256
47257 movne r3, r3, lsr #16
47258 movne r3, r3, asl #16
47259 orrne r3, r3, #768
47260 orreq r3, r2, r3, asl #16
47261 orrne r3, r2, r3
47262 orreq r3, r3, #768
47263 strne r3, [ip, #0]
47264 streq r3, [ip, #0]
47265.L14711:
47266 ldr r1, [r4, #0]
47267 cmp r1, #0
47268 beq .L14728
47269 ands r2, r1, #255
47270 beq .L14730
47271 ldr r0, [ip, #28]
47272 tst r0, #256
47273 movne r3, r0, lsr #16
47274 movne r3, r3, asl #16
47275 orreq r3, r2, #768
47276 orrne r2, r2, #768
47277 orrne r3, r3, r2
47278 orreq r3, r3, r0, asl #16
47279 strne r3, [ip, #28]
47280 streq r3, [ip, #28]
47281.L14730:
47282 mov r3, r1, lsr #8
47283 ands r2, r3, #255
47284 beq .L14734
47285 ldr r3, [ip, #24]
47286 tst r3, #256
47287 movne r3, r3, lsr #16
47288 movne r3, r3, asl #16
47289 orrne r3, r3, #768
47290 orreq r3, r2, r3, asl #16
47291 orrne r3, r2, r3
47292 orreq r3, r3, #768
47293 strne r3, [ip, #24]
47294 streq r3, [ip, #24]
47295.L14734:
47296 mov r3, r1, lsr #16
47297 ands r2, r3, #255
47298 beq .L14738
47299 ldr r3, [ip, #20]
47300 tst r3, #256
47301 movne r3, r3, lsr #16
47302 movne r3, r3, asl #16
47303 orrne r3, r3, #768
47304 orreq r3, r2, r3, asl #16
47305 orrne r3, r2, r3
47306 orreq r3, r3, #768
47307 strne r3, [ip, #20]
47308 streq r3, [ip, #20]
47309.L14738:
47310 movs r2, r1, lsr #24
47311 beq .L14728
47312 ldr r1, [ip, #16]
47313 tst r1, #256
47314 movne r3, r1, lsr #16
47315 movne r3, r3, asl #16
47316 orreq r3, r2, #768
47317 orrne r2, r2, #768
47318 orrne r3, r3, r2
47319 orreq r3, r3, r1, asl #16
47320 strne r3, [ip, #16]
47321 streq r3, [ip, #16]
47322.L14728:
47323 add lr, lr, #1
47324 cmp r5, lr
47325 bne .L15716
47326 b .L13691
47327.L13979:
47328 mov r3, lr, lsr #3
47329 ands r2, lr, #7
47330 sub ip, r0, r3, asl #5
47331 ldreq lr, [sp, #108]
47332 bne .L15717
47333.L14050:
47334 movs r5, r8, lsr #3
47335 beq .L13691
47336 mov r4, #0
47337 b .L14062
47338.L15718:
47339 sub ip, ip, #32
47340 add lr, lr, #32
47341.L14062:
47342 ldr r0, [ip, #0]
47343 cmp r0, #0
47344 beq .L14063
47345 ands r2, r0, #15
47346 beq .L14065
47347 ldr r1, [lr, #28]
47348 orr r2, r6, r2
47349 tst r1, #256
47350 movne r3, r1, lsr #16
47351 movne r3, r3, asl #16
47352 orreq r3, r2, #768
47353 orrne r2, r2, #768
47354 orrne r3, r3, r2
47355 orreq r3, r3, r1, asl #16
47356 strne r3, [lr, #28]
47357 streq r3, [lr, #28]
47358.L14065:
47359 mov r3, r0, lsr #4
47360 ands r2, r3, #15
47361 beq .L14069
47362 ldr r1, [lr, #24]
47363 orr r2, r6, r2
47364 tst r1, #256
47365 movne r3, r1, lsr #16
47366 movne r3, r3, asl #16
47367 orreq r3, r2, #768
47368 orrne r2, r2, #768
47369 orrne r3, r3, r2
47370 orreq r3, r3, r1, asl #16
47371 strne r3, [lr, #24]
47372 streq r3, [lr, #24]
47373.L14069:
47374 mov r3, r0, lsr #8
47375 ands r2, r3, #15
47376 beq .L14073
47377 ldr r1, [lr, #20]
47378 orr r2, r6, r2
47379 tst r1, #256
47380 movne r3, r1, lsr #16
47381 movne r3, r3, asl #16
47382 orreq r3, r2, #768
47383 orrne r2, r2, #768
47384 orrne r3, r3, r2
47385 orreq r3, r3, r1, asl #16
47386 strne r3, [lr, #20]
47387 streq r3, [lr, #20]
47388.L14073:
47389 mov r3, r0, lsr #12
47390 ands r2, r3, #15
47391 beq .L14077
47392 ldr r1, [lr, #16]
47393 orr r2, r6, r2
47394 tst r1, #256
47395 movne r3, r1, lsr #16
47396 movne r3, r3, asl #16
47397 orreq r3, r2, #768
47398 orrne r2, r2, #768
47399 orrne r3, r3, r2
47400 orreq r3, r3, r1, asl #16
47401 strne r3, [lr, #16]
47402 streq r3, [lr, #16]
47403.L14077:
47404 mov r3, r0, lsr #16
47405 ands r2, r3, #15
47406 beq .L14081
47407 ldr r1, [lr, #12]
47408 orr r2, r6, r2
47409 tst r1, #256
47410 movne r3, r1, lsr #16
47411 movne r3, r3, asl #16
47412 orreq r3, r2, #768
47413 orrne r2, r2, #768
47414 orrne r3, r3, r2
47415 orreq r3, r3, r1, asl #16
47416 strne r3, [lr, #12]
47417 streq r3, [lr, #12]
47418.L14081:
47419 mov r3, r0, lsr #20
47420 ands r2, r3, #15
47421 beq .L14085
47422 ldr r1, [lr, #8]
47423 orr r2, r6, r2
47424 tst r1, #256
47425 movne r3, r1, lsr #16
47426 movne r3, r3, asl #16
47427 orreq r3, r2, #768
47428 orrne r2, r2, #768
47429 orrne r3, r3, r2
47430 orreq r3, r3, r1, asl #16
47431 strne r3, [lr, #8]
47432 streq r3, [lr, #8]
47433.L14085:
47434 mov r3, r0, lsr #24
47435 ands r2, r3, #15
47436 beq .L14089
47437 ldr r1, [lr, #4]
47438 orr r2, r6, r2
47439 tst r1, #256
47440 movne r3, r1, lsr #16
47441 movne r3, r3, asl #16
47442 orreq r3, r2, #768
47443 orrne r2, r2, #768
47444 orrne r3, r3, r2
47445 orreq r3, r3, r1, asl #16
47446 strne r3, [lr, #4]
47447 streq r3, [lr, #4]
47448.L14089:
47449 movs r2, r0, lsr #28
47450 beq .L14063
47451 ldr r1, [lr, #0]
47452 orr r2, r6, r2
47453 tst r1, #256
47454 movne r3, r1, lsr #16
47455 movne r3, r3, asl #16
47456 orreq r3, r2, #768
47457 orrne r2, r2, #768
47458 orrne r3, r3, r2
47459 orreq r3, r3, r1, asl #16
47460 strne r3, [lr, #0]
47461 streq r3, [lr, #0]
47462.L14063:
47463 add r4, r4, #1
47464 cmp r4, r5
47465 bne .L15718
47466 b .L13691
47467.L14937:
47468 mov r3, lr, lsr #3
47469 mov r1, r3, asl #5
47470 ands r3, lr, #7
47471 add lr, r0, r1
47472 ldreq r1, [sp, #108]
47473 bne .L15719
47474.L14986:
47475 movs ip, r4, lsr #3
47476 beq .L13691
47477 mov r0, #0
47478 b .L14996
47479.L15720:
47480 add lr, lr, #32
47481 add r1, r1, #32
47482.L14996:
47483 ldr r2, [lr, #0]
47484 cmp r2, #0
47485 beq .L14997
47486 ands r3, r2, #15
47487 ldrne r4, [sp, #28]
47488 orrne r3, r4, r3
47489 orrne r3, r6, r3
47490 strne r3, [r1, #0]
47491 mov r3, r2, lsr #4
47492 ands r3, r3, #15
47493 ldrne r5, [sp, #28]
47494 orrne r3, r5, r3
47495 orrne r3, r6, r3
47496 strne r3, [r1, #4]
47497 mov r3, r2, lsr #8
47498 ands r3, r3, #15
47499 ldrne r7, [sp, #28]
47500 orrne r3, r7, r3
47501 orrne r3, r6, r3
47502 strne r3, [r1, #8]
47503 mov r3, r2, lsr #12
47504 ands r3, r3, #15
47505 ldrne r8, [sp, #28]
47506 orrne r3, r8, r3
47507 orrne r3, r6, r3
47508 strne r3, [r1, #12]
47509 mov r3, r2, lsr #16
47510 ands r3, r3, #15
47511 ldrne r4, [sp, #28]
47512 orrne r3, r4, r3
47513 orrne r3, r6, r3
47514 strne r3, [r1, #16]
47515 mov r3, r2, lsr #20
47516 ands r3, r3, #15
47517 ldrne r5, [sp, #28]
47518 orrne r3, r5, r3
47519 orrne r3, r6, r3
47520 strne r3, [r1, #20]
47521 mov r3, r2, lsr #24
47522 ands r3, r3, #15
47523 ldrne r7, [sp, #28]
47524 orrne r3, r7, r3
47525 orrne r3, r6, r3
47526 strne r3, [r1, #24]
47527 movs r3, r2, lsr #28
47528 ldrne r8, [sp, #28]
47529 orrne r3, r8, r3
47530 orrne r3, r6, r3
47531 strne r3, [r1, #28]
47532.L14997:
47533 add r0, r0, #1
47534 cmp r0, ip
47535 bne .L15720
47536 b .L13691
47537.L15197:
47538 ands r2, r0, #7
47539 mov r3, r0, lsr #3
47540 add r0, ip, r3, asl #6
47541 ldreq r1, [sp, #108]
47542 bne .L15721
47543.L15301:
47544 movs lr, lr, lsr #3
47545 beq .L13691
47546 mov ip, #0
47547 b .L15330
47548.L15722:
47549 add r0, r0, #64
47550 add r1, r1, #32
47551.L15330:
47552 ldr r2, [r0, #0]
47553 cmp r2, #0
47554 beq .L15331
47555 ands r3, r2, #255
47556 ldrne r8, [sp, #28]
47557 orrne r3, r8, r3
47558 strne r3, [r1, #0]
47559 mov r3, r2, lsr #8
47560 ands r3, r3, #255
47561 ldrne r4, [sp, #28]
47562 orrne r3, r4, r3
47563 strne r3, [r1, #4]
47564 mov r3, r2, lsr #16
47565 ands r3, r3, #255
47566 ldrne r5, [sp, #28]
47567 orrne r3, r5, r3
47568 strne r3, [r1, #8]
47569 movs r3, r2, lsr #24
47570 ldrne r7, [sp, #28]
47571 orrne r3, r7, r3
47572 strne r3, [r1, #12]
47573.L15331:
47574 ldr r2, [r0, #4]
47575 cmp r2, #0
47576 beq .L15340
47577 ands r3, r2, #255
47578 ldrne r8, [sp, #28]
47579 orrne r3, r8, r3
47580 strne r3, [r1, #16]
47581 mov r3, r2, lsr #8
47582 ands r3, r3, #255
47583 ldrne r4, [sp, #28]
47584 orrne r3, r4, r3
47585 strne r3, [r1, #20]
47586 mov r3, r2, lsr #16
47587 ands r3, r3, #255
47588 ldrne r5, [sp, #28]
47589 orrne r3, r5, r3
47590 strne r3, [r1, #24]
47591 movs r3, r2, lsr #24
47592 ldrne r7, [sp, #28]
47593 orrne r3, r7, r3
47594 strne r3, [r1, #28]
47595.L15340:
47596 add ip, ip, #1
47597 cmp ip, lr
47598 bne .L15722
47599 b .L13691
47600.L15067:
47601 ands r2, lr, #7
47602 mov r3, lr, lsr #3
47603 sub r0, r0, r3, asl #5
47604 ldreq r4, [sp, #108]
47605 bne .L15723
47606.L15116:
47607 movs r1, r1, lsr #3
47608 beq .L13691
47609 mov r2, #0
47610 b .L15126
47611.L15724:
47612 sub r0, r0, #32
47613 add r4, r4, #32
47614.L15126:
47615 ldr lr, [r0, #0]
47616 cmp lr, #0
47617 beq .L15127
47618 ands r3, lr, #15
47619 ldrne ip, [sp, #28]
47620 orrne r3, ip, r3
47621 orrne r3, r6, r3
47622 strne r3, [r4, #28]
47623 mov r3, lr, lsr #4
47624 ands r3, r3, #15
47625 ldrne r5, [sp, #28]
47626 orrne r3, r5, r3
47627 orrne r3, r6, r3
47628 strne r3, [r4, #24]
47629 mov r3, lr, lsr #8
47630 ands r3, r3, #15
47631 ldrne r7, [sp, #28]
47632 orrne r3, r7, r3
47633 orrne r3, r6, r3
47634 strne r3, [r4, #20]
47635 mov r3, lr, lsr #12
47636 ands r3, r3, #15
47637 ldrne r8, [sp, #28]
47638 orrne r3, r8, r3
47639 orrne r3, r6, r3
47640 strne r3, [r4, #16]
47641 mov r3, lr, lsr #16
47642 ands r3, r3, #15
47643 ldrne ip, [sp, #28]
47644 orrne r3, ip, r3
47645 orrne r3, r6, r3
47646 strne r3, [r4, #12]
47647 mov r3, lr, lsr #20
47648 ands r3, r3, #15
47649 ldrne r5, [sp, #28]
47650 orrne r3, r5, r3
47651 orrne r3, r6, r3
47652 strne r3, [r4, #8]
47653 mov r3, lr, lsr #24
47654 ands r3, r3, #15
47655 ldrne r7, [sp, #28]
47656 orrne r3, r7, r3
47657 orrne r3, r6, r3
47658 strne r3, [r4, #4]
47659 movs r3, lr, lsr #28
47660 ldrne r8, [sp, #28]
47661 orrne r3, r8, r3
47662 orrne r3, r6, r3
47663 strne r3, [r4, #0]
47664.L15127:
47665 add r2, r2, #1
47666 cmp r1, r2
47667 bne .L15724
47668 b .L13691
47669.L15723:
47670 rsbs ip, r2, #8
47671 ldr lr, [r0, #0]
47672 ldreq r4, [sp, #108]
47673 beq .L15119
47674 mov r3, r2, asl #2
47675 mov lr, lr, asl r3
47676 mov r4, #0
47677.L15120:
47678 ldr r5, [sp, #28]
47679 movs r3, lr, lsr #28
47680 ldrne r7, [sp, #108]
47681 orr r3, r5, r3
47682 orr r3, r6, r3
47683 strne r3, [r7, r4, asl #2]
47684 add r4, r4, #1
47685 cmp ip, r4
47686 mov lr, lr, asl #4
47687 bne .L15120
47688 ldr r8, [sp, #108]
47689 add r4, r8, ip, asl #2
47690.L15119:
47691 sub r0, r0, #32
47692 b .L15116
47693.L15721:
47694 cmp r2, #3
47695 rsb ip, r2, #8
47696 bls .L15302
47697 cmp ip, #0
47698 ldr r1, [r0, #4]
47699 ldreq r1, [sp, #108]
47700 beq .L15306
47701 mov r3, r2, asl #3
47702 sub r3, r3, #32
47703 mov r2, r1, lsr r3
47704 mov r1, #0
47705.L15307:
47706 ands r3, r2, #255
47707 ldr r7, [sp, #28]
47708 ldrne r8, [sp, #108]
47709 orr r3, r7, r3
47710 strne r3, [r8, r1, asl #2]
47711 add r1, r1, #1
47712 cmp r1, ip
47713 mov r2, r2, lsr #8
47714 bne .L15307
47715 ldr r2, [sp, #108]
47716 add r1, r2, ip, asl #2
47717.L15306:
47718 add r0, r0, #64
47719 b .L15301
47720.L15719:
47721 rsbs r5, r3, #8
47722 ldr r0, [r0, r1]
47723 ldreq r1, [sp, #108]
47724 beq .L14989
47725 mov r3, r3, asl #2
47726 mov r0, r0, lsr r3
47727 mov r2, #0
47728.L14990:
47729 ldr r7, [sp, #28]
47730 ands r3, r0, #15
47731 ldrne r8, [sp, #108]
47732 orr r3, r7, r3
47733 orr r3, r6, r3
47734 strne r3, [r8, r2, asl #2]
47735 add r2, r2, #1
47736 cmp r2, r5
47737 mov r0, r0, lsr #4
47738 bne .L14990
47739 ldr ip, [sp, #108]
47740 add r1, ip, r5, asl #2
47741.L14989:
47742 add lr, lr, #32
47743 b .L14986
47744.L15715:
47745 cmp r2, #3
47746 rsb r6, r2, #8
47747 bls .L14670
47748 cmp r6, #0
47749 ldr r1, [r4, #0]
47750 ldreq ip, [sp, #108]
47751 beq .L14674
47752 mov r3, r2, asl #3
47753 sub r3, r3, #32
47754 mov ip, r1, asl r3
47755 ldr lr, [sp, #108]
47756 mov r5, #0
47757.L14675:
47758 movs r0, ip, lsr #24
47759 beq .L14676
47760 ldr r2, [lr, #0]
47761 orr r1, r0, #768
47762 mov r3, r2, lsr #16
47763 orr r0, r0, #768
47764 mov r3, r3, asl #16
47765 tst r2, #256
47766 orr r3, r3, r1
47767 orr r0, r0, r2, asl #16
47768 strne r3, [lr, #0]
47769 streq r0, [lr, #0]
47770.L14676:
47771 add r5, r5, #1
47772 cmp r5, r6
47773 mov ip, ip, asl #8
47774 add lr, lr, #4
47775 bne .L14675
47776 ldr r2, [sp, #108]
47777 add ip, r2, r6, asl #2
47778.L14674:
47779 sub r4, r4, #64
47780 b .L14669
47781.L15713:
47782 cmp r1, #3
47783 rsb ip, r1, #8
47784 bls .L15522
47785 cmp ip, #0
47786 ldr r0, [r2, #0]
47787 ldreq r0, [sp, #108]
47788 beq .L15526
47789 mov r3, r1, asl #3
47790 sub r3, r3, #32
47791 mov r1, r0, asl r3
47792 mov r0, #0
47793.L15527:
47794 movs r3, r1, lsr #24
47795 ldr r7, [sp, #28]
47796 ldrne r8, [sp, #108]
47797 orr r3, r7, r3
47798 strne r3, [r8, r0, asl #2]
47799 add r0, r0, #1
47800 cmp ip, r0
47801 mov r1, r1, asl #8
47802 bne .L15527
47803 ldr r1, [sp, #108]
47804 add r0, r1, ip, asl #2
47805.L15526:
47806 sub r2, r2, #64
47807 b .L15521
47808.L15717:
47809 rsbs r7, r2, #8
47810 ldr r1, [ip, #0]
47811 ldreq lr, [sp, #108]
47812 beq .L14053
47813 mov r3, r2, asl #2
47814 mov lr, r1, asl r3
47815 ldr r4, [sp, #108]
47816 mov r5, #0
47817.L14054:
47818 movs r3, lr, lsr #28
47819 beq .L14055
47820 ldr r1, [r4, #0]
47821 orr r2, r6, r3
47822 mov r3, r1, lsr #16
47823 orr r0, r2, #768
47824 mov r3, r3, asl #16
47825 orr r2, r2, #768
47826 tst r1, #256
47827 orr r3, r3, r0
47828 orr r2, r2, r1, asl #16
47829 strne r3, [r4, #0]
47830 streq r2, [r4, #0]
47831.L14055:
47832 add r5, r5, #1
47833 cmp r5, r7
47834 mov lr, lr, asl #4
47835 add r4, r4, #4
47836 bne .L14054
47837 ldr r0, [sp, #108]
47838 add lr, r0, r7, asl #2
47839.L14053:
47840 sub ip, ip, #32
47841 b .L14050
47842.L15711:
47843 rsbs r7, r3, #8
47844 ldr r0, [r0, r1]
47845 ldreq ip, [sp, #108]
47846 beq .L13849
47847 mov r3, r3, asl #2
47848 mov ip, r0, lsr r3
47849 ldr lr, [sp, #108]
47850 mov r4, #0
47851.L13850:
47852 ands r3, ip, #15
47853 beq .L13851
47854 ldr r1, [lr, #0]
47855 orr r2, r6, r3
47856 mov r3, r1, lsr #16
47857 orr r0, r2, #768
47858 mov r3, r3, asl #16
47859 orr r2, r2, #768
47860 tst r1, #256
47861 orr r3, r3, r0
47862 orr r2, r2, r1, asl #16
47863 strne r3, [lr, #0]
47864 streq r2, [lr, #0]
47865.L13851:
47866 add r4, r4, #1
47867 cmp r7, r4
47868 mov ip, ip, lsr #4
47869 add lr, lr, #4
47870 bne .L13850
47871 ldr lr, [sp, #108]
47872 add ip, lr, r7, asl #2
47873.L13849:
47874 add r5, r5, #32
47875 b .L13846
47876.L15709:
47877 cmp r2, #3
47878 rsb r6, r2, #8
47879 bls .L14334
47880 cmp r6, #0
47881 ldr r1, [r4, #4]
47882 ldreq r0, [sp, #108]
47883 beq .L14338
47884 mov r3, r2, asl #3
47885 sub r3, r3, #32
47886 mov ip, r1, lsr r3
47887 ldr lr, [sp, #108]
47888 mov r5, #0
47889.L14339:
47890 ands r0, ip, #255
47891 beq .L14340
47892 ldr r2, [lr, #0]
47893 orr r1, r0, #768
47894 mov r3, r2, lsr #16
47895 orr r0, r0, #768
47896 mov r3, r3, asl #16
47897 tst r2, #256
47898 orr r3, r3, r1
47899 orr r0, r0, r2, asl #16
47900 strne r3, [lr, #0]
47901 streq r0, [lr, #0]
47902.L14340:
47903 add r5, r5, #1
47904 cmp r6, r5
47905 mov ip, ip, lsr #8
47906 add lr, lr, #4
47907 bne .L14339
47908 ldr r7, [sp, #108]
47909 add r0, r7, r6, asl #2
47910.L14338:
47911 add r4, r4, #64
47912 b .L14333
47913.L14185:
47914 ldr r2, [sp, #144]
47915 rsb r5, lr, #8
47916 cmp r2, r5
47917 bge .L14188
47918 cmp r2, #0
47919 ble .L13691
47920 cmp lr, #3
47921 bls .L14191
47922 mov r3, lr, asl #3
47923 ldr r2, [r7, #4]
47924 sub r3, r3, #32
47925 mov ip, r2, lsr r3
47926 ldr lr, [sp, #108]
47927 mov r4, #0
47928.L14194:
47929 ands r0, ip, #255
47930 beq .L14195
47931 ldr r2, [lr, #0]
47932 orr r1, r0, #768
47933 mov r3, r2, lsr #16
47934 orr r0, r0, #768
47935 mov r3, r3, asl #16
47936 tst r2, #256
47937 orr r3, r3, r1
47938 orr r0, r0, r2, asl #16
47939 strne r3, [lr, #0]
47940 streq r0, [lr, #0]
47941.L14195:
47942 ldr r3, [sp, #144]
47943 add r4, r4, #1
47944 cmp r3, r4
47945 mov ip, ip, lsr #8
47946 add lr, lr, #4
47947 bne .L14194
47948 b .L13691
47949.L15069:
47950 ldr r7, [sp, #144]
47951 rsb r5, r4, #8
47952 cmp r7, r5
47953 bge .L15072
47954 cmp r7, #0
47955 ble .L13691
47956 ldr r2, [r0, #0]
47957 mov r3, r4, asl #2
47958 mov r0, r2, asl r3
47959 mov r2, #0
47960.L15076:
47961 ldr r8, [sp, #28]
47962 movs r3, r0, lsr #28
47963 ldrne ip, [sp, #108]
47964 orr r3, r8, r3
47965 orr r3, r6, r3
47966 ldr lr, [sp, #144]
47967 strne r3, [ip, r2, asl #2]
47968 add r2, r2, #1
47969 cmp lr, r2
47970 mov r0, r0, asl #4
47971 bne .L15076
47972 b .L13691
47973.L15419:
47974 ldr r7, [sp, #144]
47975 rsb r0, ip, #8
47976 cmp r7, r0
47977 bge .L15422
47978 cmp r7, #0
47979 ble .L13691
47980 cmp ip, #3
47981 bls .L15425
47982 ldr r2, [r6, #0]
47983 mov r3, ip, asl #3
47984 sub r3, r3, #32
47985 mov r2, r2, asl r3
47986 mov r1, #0
47987.L15428:
47988 movs r3, r2, lsr #24
47989 ldr r8, [sp, #28]
47990 ldrne ip, [sp, #108]
47991 orr r3, r8, r3
47992 ldr lr, [sp, #144]
47993 strne r3, [ip, r1, asl #2]
47994 add r1, r1, #1
47995 cmp lr, r1
47996 mov r2, r2, asl #8
47997 bne .L15428
47998 b .L13691
47999.L13981:
48000 ldr r2, [sp, #144]
48001 rsb r7, r4, #8
48002 cmp r2, r7
48003 bge .L13984
48004 cmp r2, #0
48005 ble .L13691
48006 ldr r2, [ip, #0]
48007 mov r3, r4, asl #2
48008 mov ip, r2, asl r3
48009 ldr lr, [sp, #108]
48010 mov r4, #0
48011.L13988:
48012 movs r3, ip, lsr #28
48013 beq .L13989
48014 ldr r1, [lr, #0]
48015 orr r2, r6, r3
48016 mov r3, r1, lsr #16
48017 orr r0, r2, #768
48018 mov r3, r3, asl #16
48019 orr r2, r2, #768
48020 tst r1, #256
48021 orr r3, r3, r0
48022 orr r2, r2, r1, asl #16
48023 strne r3, [lr, #0]
48024 streq r2, [lr, #0]
48025.L13989:
48026 ldr r3, [sp, #144]
48027 add r4, r4, #1
48028 cmp r3, r4
48029 mov ip, ip, asl #4
48030 add lr, lr, #4
48031 bne .L13988
48032 b .L13691
48033.L14521:
48034 ldr r0, [sp, #144]
48035 rsb r5, lr, #8
48036 cmp r0, r5
48037 bge .L14524
48038 cmp r0, #0
48039 ble .L13691
48040 cmp lr, #3
48041 bls .L14527
48042 mov r3, lr, asl #3
48043 ldr r2, [r8, #0]
48044 sub r3, r3, #32
48045 mov ip, r2, asl r3
48046 ldr lr, [sp, #108]
48047 mov r4, #0
48048.L14530:
48049 movs r0, ip, lsr #24
48050 beq .L14531
48051 ldr r2, [lr, #0]
48052 orr r1, r0, #768
48053 mov r3, r2, lsr #16
48054 orr r0, r0, #768
48055 mov r3, r3, asl #16
48056 tst r2, #256
48057 orr r3, r3, r1
48058 orr r0, r0, r2, asl #16
48059 strne r3, [lr, #0]
48060 streq r0, [lr, #0]
48061.L14531:
48062 ldr r1, [sp, #144]
48063 add r4, r4, #1
48064 cmp r1, r4
48065 mov ip, ip, asl #8
48066 add lr, lr, #4
48067 bne .L14530
48068 b .L13691
48069.L14939:
48070 ldr r2, [sp, #144]
48071 rsb lr, r3, #8
48072 cmp r2, lr
48073 bge .L14942
48074 cmp r2, #0
48075 ble .L13691
48076 ldr r2, [r0, r1]
48077 mov r3, r3, asl #2
48078 mov r0, r2, lsr r3
48079 mov r2, #0
48080.L14946:
48081 ldr r4, [sp, #28]
48082 ands r3, r0, #15
48083 ldrne r5, [sp, #108]
48084 orr r3, r4, r3
48085 orr r3, r6, r3
48086 ldr r7, [sp, #144]
48087 strne r3, [r5, r2, asl #2]
48088 add r2, r2, #1
48089 cmp r7, r2
48090 mov r0, r0, lsr #4
48091 bne .L14946
48092 b .L13691
48093.L13777:
48094 ldr r2, [sp, #144]
48095 rsb r5, r3, #8
48096 cmp r2, r5
48097 bge .L13780
48098 cmp r2, #0
48099 ble .L13691
48100 ldr r2, [r0, r1]
48101 mov r3, r3, asl #2
48102 mov ip, r2, lsr r3
48103 ldr lr, [sp, #108]
48104 mov r4, #0
48105.L13784:
48106 ands r3, ip, #15
48107 beq .L13785
48108 ldr r1, [lr, #0]
48109 orr r2, r6, r3
48110 mov r3, r1, lsr #16
48111 orr r0, r2, #768
48112 mov r3, r3, asl #16
48113 orr r2, r2, #768
48114 tst r1, #256
48115 orr r3, r3, r0
48116 orr r2, r2, r1, asl #16
48117 strne r3, [lr, #0]
48118 streq r2, [lr, #0]
48119.L13785:
48120 ldr r3, [sp, #144]
48121 add r4, r4, #1
48122 cmp r3, r4
48123 mov ip, ip, lsr #4
48124 add lr, lr, #4
48125 bne .L13784
48126 b .L13691
48127.L15199:
48128 ldr r5, [sp, #144]
48129 rsb r0, lr, #8
48130 cmp r5, r0
48131 bge .L15202
48132 cmp r5, #0
48133 ble .L13691
48134 cmp lr, #3
48135 bls .L15205
48136 ldr r2, [r6, #4]
48137 mov r3, lr, asl #3
48138 sub r3, r3, #32
48139 mov r1, r2, lsr r3
48140 mov r2, #0
48141.L15208:
48142 ands r3, r1, #255
48143 ldr r7, [sp, #28]
48144 ldrne r8, [sp, #108]
48145 orr r3, r7, r3
48146 ldr ip, [sp, #144]
48147 strne r3, [r8, r2, asl #2]
48148 add r2, r2, #1
48149 cmp ip, r2
48150 mov r1, r1, lsr #8
48151 bne .L15208
48152 b .L13691
48153.L13984:
48154 cmp r7, #0
48155 ldr r2, [ip, #0]
48156 ldreq r5, [sp, #108]
48157 beq .L13996
48158 mov r3, r4, asl #2
48159 mov lr, r2, asl r3
48160 ldr r4, [sp, #108]
48161 mov r5, #0
48162.L13997:
48163 movs r3, lr, lsr #28
48164 beq .L13998
48165 ldr r1, [r4, #0]
48166 orr r2, r6, r3
48167 mov r3, r1, lsr #16
48168 orr r0, r2, #768
48169 mov r3, r3, asl #16
48170 orr r2, r2, #768
48171 tst r1, #256
48172 orr r3, r3, r0
48173 orr r2, r2, r1, asl #16
48174 strne r3, [r4, #0]
48175 streq r2, [r4, #0]
48176.L13998:
48177 add r5, r5, #1
48178 cmp r7, r5
48179 mov lr, lr, asl #4
48180 add r4, r4, #4
48181 bne .L13997
48182 ldr r4, [sp, #108]
48183 add r5, r4, r7, asl #2
48184.L13996:
48185 ldr r8, [sp, #144]
48186 sub ip, ip, #32
48187 rsb sl, r7, r8
48188 b .L13983
48189.L14188:
48190 cmp lr, #3
48191 bls .L14226
48192 cmp r5, #0
48193 ldr r2, [r7, #4]
48194 ldreq r4, [sp, #108]
48195 beq .L14230
48196 mov r3, lr, asl #3
48197 sub r3, r3, #32
48198 mov ip, r2, lsr r3
48199 ldr lr, [sp, #108]
48200 mov r4, #0
48201.L14231:
48202 ands r0, ip, #255
48203 beq .L14232
48204 ldr r2, [lr, #0]
48205 orr r1, r0, #768
48206 mov r3, r2, lsr #16
48207 orr r0, r0, #768
48208 mov r3, r3, asl #16
48209 tst r2, #256
48210 orr r3, r3, r1
48211 orr r0, r0, r2, asl #16
48212 strne r3, [lr, #0]
48213 streq r0, [lr, #0]
48214.L14232:
48215 add r4, r4, #1
48216 cmp r5, r4
48217 mov ip, ip, lsr #8
48218 add lr, lr, #4
48219 bne .L14231
48220 ldr r2, [sp, #108]
48221 add r4, r2, r5, asl #2
48222.L14230:
48223 ldr r3, [sp, #144]
48224 add r7, r7, #64
48225 rsb r6, r5, r3
48226 b .L14187
48227.L14524:
48228 cmp lr, #3
48229 bls .L14562
48230 cmp r5, #0
48231 ldr r2, [r8, #0]
48232 ldreq r4, [sp, #108]
48233 beq .L14566
48234 mov r3, lr, asl #3
48235 sub r3, r3, #32
48236 mov ip, r2, asl r3
48237 ldr lr, [sp, #108]
48238 mov r4, #0
48239.L14567:
48240 movs r0, ip, lsr #24
48241 beq .L14568
48242 ldr r2, [lr, #0]
48243 orr r1, r0, #768
48244 mov r3, r2, lsr #16
48245 orr r0, r0, #768
48246 mov r3, r3, asl #16
48247 tst r2, #256
48248 orr r3, r3, r1
48249 orr r0, r0, r2, asl #16
48250 strne r3, [lr, #0]
48251 streq r0, [lr, #0]
48252.L14568:
48253 add r4, r4, #1
48254 cmp r5, r4
48255 mov ip, ip, asl #8
48256 add lr, lr, #4
48257 bne .L14567
48258 ldr lr, [sp, #108]
48259 add r4, lr, r5, asl #2
48260.L14566:
48261 ldr r0, [sp, #144]
48262 sub r8, r8, #64
48263 rsb r7, r5, r0
48264 b .L14523
48265.L15302:
48266 subs r4, ip, #4
48267 ldr r1, [r0, #0]
48268 ldreq r1, [sp, #108]
48269 beq .L15314
48270 mov r3, r2, asl #3
48271 mov r2, r1, lsr r3
48272 mov r1, #0
48273.L15315:
48274 ands r3, r2, #255
48275 ldr r5, [sp, #28]
48276 ldrne r7, [sp, #108]
48277 orr r3, r5, r3
48278 strne r3, [r7, r1, asl #2]
48279 add r1, r1, #1
48280 cmp r4, r1
48281 mov r2, r2, lsr #8
48282 bne .L15315
48283 ldr r8, [sp, #108]
48284 add r3, r8, ip, asl #2
48285 sub r1, r3, #16
48286.L15314:
48287 ldr r2, [r0, #4]
48288 cmp r2, #0
48289 beq .L15320
48290 ands r3, r2, #255
48291 ldrne ip, [sp, #28]
48292 orrne r3, ip, r3
48293 strne r3, [r1, #0]
48294 mov r3, r2, lsr #8
48295 ands r3, r3, #255
48296 ldrne r4, [sp, #28]
48297 orrne r3, r4, r3
48298 strne r3, [r1, #4]
48299 mov r3, r2, lsr #16
48300 ands r3, r3, #255
48301 ldrne r5, [sp, #28]
48302 orrne r3, r5, r3
48303 strne r3, [r1, #8]
48304 movs r3, r2, lsr #24
48305 ldrne r7, [sp, #28]
48306 orrne r3, r7, r3
48307 strne r3, [r1, #12]
48308.L15320:
48309 add r1, r1, #16
48310 add r0, r0, #64
48311 b .L15301
48312.L15522:
48313 subs r4, ip, #4
48314 ldr r0, [r2, #4]
48315 ldreq r0, [sp, #108]
48316 beq .L15534
48317 mov r3, r1, asl #3
48318 sub r3, r3, #32
48319 mov r1, r0, asl r3
48320 mov r0, #0
48321.L15535:
48322 movs r3, r1, lsr #24
48323 ldr r5, [sp, #28]
48324 ldrne r7, [sp, #108]
48325 orr r3, r5, r3
48326 strne r3, [r7, r0, asl #2]
48327 add r0, r0, #1
48328 cmp r0, r4
48329 mov r1, r1, asl #8
48330 bne .L15535
48331 ldr r8, [sp, #108]
48332 add r3, r8, ip, asl #2
48333 sub r0, r3, #16
48334.L15534:
48335 ldr r1, [r2, #0]
48336 cmp r1, #0
48337 beq .L15540
48338 ands r3, r1, #255
48339 ldrne ip, [sp, #28]
48340 orrne r3, ip, r3
48341 strne r3, [r0, #12]
48342 mov r3, r1, lsr #8
48343 ands r3, r3, #255
48344 ldrne r4, [sp, #28]
48345 orrne r3, r4, r3
48346 strne r3, [r0, #8]
48347 mov r3, r1, lsr #16
48348 ands r3, r3, #255
48349 ldrne r5, [sp, #28]
48350 orrne r3, r5, r3
48351 strne r3, [r0, #4]
48352 movs r3, r1, lsr #24
48353 ldrne r7, [sp, #28]
48354 orrne r3, r7, r3
48355 strne r3, [r0, #0]
48356.L15540:
48357 add r0, r0, #16
48358 sub r2, r2, #64
48359 b .L15521
48360.L15202:
48361 cmp lr, #3
48362 bls .L15232
48363 cmp r0, #0
48364 ldr r2, [r6, #4]
48365 ldreq r4, [sp, #108]
48366 beq .L15236
48367 mov r3, lr, asl #3
48368 sub r3, r3, #32
48369 mov r1, r2, lsr r3
48370 mov r2, #0
48371.L15237:
48372 ands r3, r1, #255
48373 ldr r7, [sp, #28]
48374 ldrne r8, [sp, #108]
48375 orr r3, r7, r3
48376 strne r3, [r8, r2, asl #2]
48377 add r2, r2, #1
48378 cmp r0, r2
48379 mov r1, r1, lsr #8
48380 bne .L15237
48381 ldr ip, [sp, #108]
48382 add r4, ip, r0, asl #2
48383.L15236:
48384 ldr r1, [sp, #144]
48385 add r6, r6, #64
48386 rsb r5, r0, r1
48387 b .L15201
48388.L13780:
48389 cmp r5, #0
48390 ldr r2, [r8, #0]
48391 ldreq r4, [sp, #108]
48392 beq .L13792
48393 mov r3, r3, asl #2
48394 mov ip, r2, lsr r3
48395 ldr lr, [sp, #108]
48396 mov r4, #0
48397.L13793:
48398 ands r3, ip, #15
48399 beq .L13794
48400 ldr r1, [lr, #0]
48401 orr r2, r6, r3
48402 mov r3, r1, lsr #16
48403 orr r0, r2, #768
48404 mov r3, r3, asl #16
48405 orr r2, r2, #768
48406 tst r1, #256
48407 orr r3, r3, r0
48408 orr r2, r2, r1, asl #16
48409 strne r3, [lr, #0]
48410 streq r2, [lr, #0]
48411.L13794:
48412 add r4, r4, #1
48413 cmp r5, r4
48414 mov ip, ip, lsr #4
48415 add lr, lr, #4
48416 bne .L13793
48417 ldr r7, [sp, #108]
48418 add r4, r7, r5, asl #2
48419.L13792:
48420 ldr ip, [sp, #144]
48421 add r8, r8, #32
48422 rsb sl, r5, ip
48423 b .L13779
48424.L15422:
48425 cmp ip, #3
48426 bls .L15452
48427 cmp r0, #0
48428 ldr r2, [r6, #0]
48429 ldreq r4, [sp, #108]
48430 beq .L15456
48431 mov r3, ip, asl #3
48432 sub r3, r3, #32
48433 mov r2, r2, asl r3
48434 mov r1, #0
48435.L15457:
48436 movs r3, r2, lsr #24
48437 ldr r7, [sp, #28]
48438 ldrne r8, [sp, #108]
48439 orr r3, r7, r3
48440 strne r3, [r8, r1, asl #2]
48441 add r1, r1, #1
48442 cmp r0, r1
48443 mov r2, r2, asl #8
48444 bne .L15457
48445 ldr ip, [sp, #108]
48446 add r4, ip, r0, asl #2
48447.L15456:
48448 ldr r3, [sp, #144]
48449 sub r6, r6, #64
48450 rsb r5, r0, r3
48451 b .L15421
48452.L15072:
48453 cmp r5, #0
48454 ldr r2, [r0, #0]
48455 ldreq r1, [sp, #108]
48456 beq .L15082
48457 mov r3, r4, asl #2
48458 mov lr, r2, asl r3
48459 mov r4, #0
48460.L15083:
48461 ldr r1, [sp, #28]
48462 movs r3, lr, lsr #28
48463 ldrne r2, [sp, #108]
48464 orr r3, r1, r3
48465 orr r3, r6, r3
48466 strne r3, [r2, r4, asl #2]
48467 add r4, r4, #1
48468 cmp r5, r4
48469 mov lr, lr, asl #4
48470 bne .L15083
48471 ldr r3, [sp, #108]
48472 add r1, r3, r5, asl #2
48473.L15082:
48474 ldr r4, [sp, #144]
48475 sub r0, r0, #32
48476 rsb r2, r5, r4
48477 b .L15071
48478.L14334:
48479 subs r7, r6, #4
48480 ldr r1, [r4, #0]
48481 ldreq r2, [sp, #108]
48482 beq .L14348
48483 mov r3, r2, asl #3
48484 mov ip, r1, lsr r3
48485 ldr lr, [sp, #108]
48486 mov r5, #0
48487.L14349:
48488 ands r0, ip, #255
48489 beq .L14350
48490 ldr r2, [lr, #0]
48491 orr r1, r0, #768
48492 mov r3, r2, lsr #16
48493 orr r0, r0, #768
48494 mov r3, r3, asl #16
48495 tst r2, #256
48496 orr r3, r3, r1
48497 orr r0, r0, r2, asl #16
48498 strne r3, [lr, #0]
48499 streq r0, [lr, #0]
48500.L14350:
48501 add r5, r5, #1
48502 cmp r7, r5
48503 mov ip, ip, lsr #8
48504 add lr, lr, #4
48505 bne .L14349
48506 ldr r5, [sp, #108]
48507 add r3, r5, r6, asl #2
48508 sub r2, r3, #16
48509.L14348:
48510 ldr r1, [r4, #4]
48511 cmp r1, #0
48512 beq .L14356
48513 ands r0, r1, #255
48514 beq .L14358
48515 ldr r3, [r2, #0]
48516 tst r3, #256
48517 movne r3, r3, lsr #16
48518 movne r3, r3, asl #16
48519 orrne r3, r3, #768
48520 orreq r3, r0, r3, asl #16
48521 orrne r3, r0, r3
48522 orreq r3, r3, #768
48523 strne r3, [r2, #0]
48524 streq r3, [r2, #0]
48525.L14358:
48526 mov r3, r1, lsr #8
48527 ands r0, r3, #255
48528 beq .L14362
48529 ldr r3, [r2, #4]
48530 tst r3, #256
48531 movne r3, r3, lsr #16
48532 movne r3, r3, asl #16
48533 orrne r3, r3, #768
48534 orreq r3, r0, r3, asl #16
48535 orrne r3, r0, r3
48536 orreq r3, r3, #768
48537 strne r3, [r2, #4]
48538 streq r3, [r2, #4]
48539.L14362:
48540 mov r3, r1, lsr #16
48541 ands r0, r3, #255
48542 beq .L14366
48543 ldr r3, [r2, #8]
48544 tst r3, #256
48545 movne r3, r3, lsr #16
48546 movne r3, r3, asl #16
48547 orrne r3, r3, #768
48548 orreq r3, r0, r3, asl #16
48549 orrne r3, r0, r3
48550 orreq r3, r3, #768
48551 strne r3, [r2, #8]
48552 streq r3, [r2, #8]
48553.L14366:
48554 movs r1, r1, lsr #24
48555 beq .L14356
48556 ldr r3, [r2, #12]
48557 tst r3, #256
48558 movne r3, r3, lsr #16
48559 movne r3, r3, asl #16
48560 orrne r3, r3, #768
48561 orrne r3, r1, r3
48562 strne r3, [r2, #12]
48563 orreq r3, r1, r3, asl #16
48564 orreq r3, r3, #768
48565 streq r3, [r2, #12]
48566.L14356:
48567 add r0, r2, #16
48568 add r4, r4, #64
48569 b .L14333
48570.L14670:
48571 subs r7, r6, #4
48572 ldr r1, [r4, #4]
48573 ldreq r2, [sp, #108]
48574 beq .L14684
48575 mov r3, r2, asl #3
48576 sub r3, r3, #32
48577 mov ip, r1, asl r3
48578 ldr lr, [sp, #108]
48579 mov r5, #0
48580.L14685:
48581 movs r0, ip, lsr #24
48582 beq .L14686
48583 ldr r2, [lr, #0]
48584 orr r1, r0, #768
48585 mov r3, r2, lsr #16
48586 orr r0, r0, #768
48587 mov r3, r3, asl #16
48588 tst r2, #256
48589 orr r3, r3, r1
48590 orr r0, r0, r2, asl #16
48591 strne r3, [lr, #0]
48592 streq r0, [lr, #0]
48593.L14686:
48594 add r5, r5, #1
48595 cmp r5, r7
48596 mov ip, ip, asl #8
48597 add lr, lr, #4
48598 bne .L14685
48599 ldr r1, [sp, #108]
48600 add r3, r1, r6, asl #2
48601 sub r2, r3, #16
48602.L14684:
48603 ldr r1, [r4, #0]
48604 cmp r1, #0
48605 beq .L14692
48606 ands r0, r1, #255
48607 beq .L14694
48608 ldr r3, [r2, #12]
48609 tst r3, #256
48610 movne r3, r3, lsr #16
48611 movne r3, r3, asl #16
48612 orrne r3, r3, #768
48613 orreq r3, r0, r3, asl #16
48614 orrne r3, r0, r3
48615 orreq r3, r3, #768
48616 strne r3, [r2, #12]
48617 streq r3, [r2, #12]
48618.L14694:
48619 mov r3, r1, lsr #8
48620 ands r0, r3, #255
48621 beq .L14698
48622 ldr r3, [r2, #8]
48623 tst r3, #256
48624 movne r3, r3, lsr #16
48625 movne r3, r3, asl #16
48626 orrne r3, r3, #768
48627 orreq r3, r0, r3, asl #16
48628 orrne r3, r0, r3
48629 orreq r3, r3, #768
48630 strne r3, [r2, #8]
48631 streq r3, [r2, #8]
48632.L14698:
48633 mov r3, r1, lsr #16
48634 ands r0, r3, #255
48635 beq .L14702
48636 ldr r3, [r2, #4]
48637 tst r3, #256
48638 movne r3, r3, lsr #16
48639 movne r3, r3, asl #16
48640 orrne r3, r3, #768
48641 orreq r3, r0, r3, asl #16
48642 orrne r3, r0, r3
48643 orreq r3, r3, #768
48644 strne r3, [r2, #4]
48645 streq r3, [r2, #4]
48646.L14702:
48647 movs r1, r1, lsr #24
48648 beq .L14692
48649 ldr r3, [r2, #0]
48650 tst r3, #256
48651 movne r3, r3, lsr #16
48652 movne r3, r3, asl #16
48653 orrne r3, r3, #768
48654 orrne r3, r1, r3
48655 strne r3, [r2, #0]
48656 orreq r3, r1, r3, asl #16
48657 orreq r3, r3, #768
48658 streq r3, [r2, #0]
48659.L14692:
48660 add ip, r2, #16
48661 sub r4, r4, #64
48662 b .L14669
48663.L14942:
48664 cmp lr, #0
48665 ldr r2, [r4, #0]
48666 ldreq r7, [sp, #108]
48667 beq .L14952
48668 mov r3, r3, asl #2
48669 mov r2, r2, lsr r3
48670 mov r1, #0
48671.L14953:
48672 ldr r8, [sp, #28]
48673 ands r3, r2, #15
48674 ldrne ip, [sp, #108]
48675 orr r3, r8, r3
48676 orr r3, r6, r3
48677 strne r3, [ip, r1, asl #2]
48678 add r1, r1, #1
48679 cmp lr, r1
48680 mov r2, r2, lsr #4
48681 bne .L14953
48682 ldr r0, [sp, #108]
48683 add r7, r0, lr, asl #2
48684.L14952:
48685 ldr r1, [sp, #144]
48686 add r4, r4, #32
48687 rsb r5, lr, r1
48688 b .L14941
48689.L15726:
48690 mov ip, fp
48691 b .L15672
48692.L15725:
48693 ldr ip, [sp, #12]
48694 b .L15660
48695.L15728:
48696 ldr lr, [sp, #16]
48697 b .L15662
48698.L15452:
48699 subs lr, r0, #4
48700 ldr r2, [r6, #4]
48701 ldreq r1, [sp, #108]
48702 beq .L15464
48703 mov r3, ip, asl #3
48704 sub r3, r3, #32
48705 mov r2, r2, asl r3
48706 mov r1, #0
48707.L15465:
48708 movs r3, r2, lsr #24
48709 ldr r4, [sp, #28]
48710 ldrne r5, [sp, #108]
48711 orr r3, r4, r3
48712 strne r3, [r5, r1, asl #2]
48713 add r1, r1, #1
48714 cmp r1, lr
48715 mov r2, r2, asl #8
48716 bne .L15465
48717 ldr r7, [sp, #108]
48718 add r3, r7, r0, asl #2
48719 sub r1, r3, #16
48720.L15464:
48721 ldr r2, [r6, #0]
48722 cmp r2, #0
48723 beq .L15470
48724 ands r3, r2, #255
48725 ldrne r8, [sp, #28]
48726 orrne r3, r8, r3
48727 strne r3, [r1, #12]
48728 mov r3, r2, lsr #8
48729 ands r3, r3, #255
48730 ldrne ip, [sp, #28]
48731 orrne r3, ip, r3
48732 strne r3, [r1, #8]
48733 mov r3, r2, lsr #16
48734 ands r3, r3, #255
48735 ldrne lr, [sp, #28]
48736 orrne r3, lr, r3
48737 strne r3, [r1, #4]
48738 movs r3, r2, lsr #24
48739 ldrne r2, [sp, #28]
48740 orrne r3, r2, r3
48741 strne r3, [r1, #0]
48742.L15470:
48743 add r4, r1, #16
48744 b .L15456
48745.L15232:
48746 subs ip, r0, #4
48747 ldr r2, [r6, #0]
48748 ldreq r1, [sp, #108]
48749 beq .L15244
48750 mov r3, lr, asl #3
48751 mov r1, r2, lsr r3
48752 mov r2, #0
48753.L15245:
48754 ands r3, r1, #255
48755 ldr lr, [sp, #28]
48756 ldrne r4, [sp, #108]
48757 orr r3, lr, r3
48758 strne r3, [r4, r2, asl #2]
48759 add r2, r2, #1
48760 cmp ip, r2
48761 mov r1, r1, lsr #8
48762 bne .L15245
48763 ldr r5, [sp, #108]
48764 add r3, r5, r0, asl #2
48765 sub r1, r3, #16
48766.L15244:
48767 ldr r2, [r6, #4]
48768 cmp r2, #0
48769 beq .L15250
48770 ands r3, r2, #255
48771 ldrne r7, [sp, #28]
48772 orrne r3, r7, r3
48773 strne r3, [r1, #0]
48774 mov r3, r2, lsr #8
48775 ands r3, r3, #255
48776 ldrne r8, [sp, #28]
48777 orrne r3, r8, r3
48778 strne r3, [r1, #4]
48779 mov r3, r2, lsr #16
48780 ands r3, r3, #255
48781 ldrne ip, [sp, #28]
48782 orrne r3, ip, r3
48783 strne r3, [r1, #8]
48784 movs r3, r2, lsr #24
48785 ldrne lr, [sp, #28]
48786 orrne r3, lr, r3
48787 strne r3, [r1, #12]
48788.L15250:
48789 add r4, r1, #16
48790 b .L15236
48791.L14562:
48792 subs r6, r5, #4
48793 ldr r2, [r8, #4]
48794 ldreq r2, [sp, #108]
48795 beq .L14576
48796 mov r3, lr, asl #3
48797 sub r3, r3, #32
48798 mov ip, r2, asl r3
48799 ldr lr, [sp, #108]
48800 mov r4, #0
48801.L14577:
48802 movs r0, ip, lsr #24
48803 beq .L14578
48804 ldr r2, [lr, #0]
48805 orr r1, r0, #768
48806 mov r3, r2, lsr #16
48807 orr r0, r0, #768
48808 mov r3, r3, asl #16
48809 tst r2, #256
48810 orr r3, r3, r1
48811 orr r0, r0, r2, asl #16
48812 strne r3, [lr, #0]
48813 streq r0, [lr, #0]
48814.L14578:
48815 add r4, r4, #1
48816 cmp r6, r4
48817 mov ip, ip, asl #8
48818 add lr, lr, #4
48819 bne .L14577
48820 ldr ip, [sp, #108]
48821 add r3, ip, r5, asl #2
48822 sub r2, r3, #16
48823.L14576:
48824 ldr r1, [r8, #0]
48825 cmp r1, #0
48826 beq .L14584
48827 ands r0, r1, #255
48828 beq .L14586
48829 ldr r3, [r2, #12]
48830 tst r3, #256
48831 movne r3, r3, lsr #16
48832 movne r3, r3, asl #16
48833 orrne r3, r3, #768
48834 orreq r3, r0, r3, asl #16
48835 orrne r3, r0, r3
48836 orreq r3, r3, #768
48837 strne r3, [r2, #12]
48838 streq r3, [r2, #12]
48839.L14586:
48840 mov r3, r1, lsr #8
48841 ands r0, r3, #255
48842 beq .L14590
48843 ldr r3, [r2, #8]
48844 tst r3, #256
48845 movne r3, r3, lsr #16
48846 movne r3, r3, asl #16
48847 orrne r3, r3, #768
48848 orreq r3, r0, r3, asl #16
48849 orrne r3, r0, r3
48850 orreq r3, r3, #768
48851 strne r3, [r2, #8]
48852 streq r3, [r2, #8]
48853.L14590:
48854 mov r3, r1, lsr #16
48855 ands r0, r3, #255
48856 beq .L14594
48857 ldr r3, [r2, #4]
48858 tst r3, #256
48859 movne r3, r3, lsr #16
48860 movne r3, r3, asl #16
48861 orrne r3, r3, #768
48862 orreq r3, r0, r3, asl #16
48863 orrne r3, r0, r3
48864 orreq r3, r3, #768
48865 strne r3, [r2, #4]
48866 streq r3, [r2, #4]
48867.L14594:
48868 movs r1, r1, lsr #24
48869 beq .L14584
48870 ldr r3, [r2, #0]
48871 tst r3, #256
48872 movne r3, r3, lsr #16
48873 movne r3, r3, asl #16
48874 orrne r3, r3, #768
48875 orrne r3, r1, r3
48876 strne r3, [r2, #0]
48877 orreq r3, r1, r3, asl #16
48878 orreq r3, r3, #768
48879 streq r3, [r2, #0]
48880.L14584:
48881 add r4, r2, #16
48882 b .L14566
48883.L14226:
48884 subs r6, r5, #4
48885 ldr r2, [r7, #0]
48886 ldreq r2, [sp, #108]
48887 beq .L14240
48888 mov r3, lr, asl #3
48889 mov ip, r2, lsr r3
48890 ldr lr, [sp, #108]
48891 mov r4, #0
48892.L14241:
48893 ands r0, ip, #255
48894 beq .L14242
48895 ldr r2, [lr, #0]
48896 orr r1, r0, #768
48897 mov r3, r2, lsr #16
48898 orr r0, r0, #768
48899 mov r3, r3, asl #16
48900 tst r2, #256
48901 orr r3, r3, r1
48902 orr r0, r0, r2, asl #16
48903 strne r3, [lr, #0]
48904 streq r0, [lr, #0]
48905.L14242:
48906 add r4, r4, #1
48907 cmp r4, r6
48908 mov ip, ip, lsr #8
48909 add lr, lr, #4
48910 bne .L14241
48911 ldr r1, [sp, #108]
48912 add r3, r1, r5, asl #2
48913 sub r2, r3, #16
48914.L14240:
48915 ldr r1, [r7, #4]
48916 cmp r1, #0
48917 beq .L14248
48918 ands r0, r1, #255
48919 beq .L14250
48920 ldr r3, [r2, #0]
48921 tst r3, #256
48922 movne r3, r3, lsr #16
48923 movne r3, r3, asl #16
48924 orrne r3, r3, #768
48925 orreq r3, r0, r3, asl #16
48926 orrne r3, r0, r3
48927 orreq r3, r3, #768
48928 strne r3, [r2, #0]
48929 streq r3, [r2, #0]
48930.L14250:
48931 mov r3, r1, lsr #8
48932 ands r0, r3, #255
48933 beq .L14254
48934 ldr r3, [r2, #4]
48935 tst r3, #256
48936 movne r3, r3, lsr #16
48937 movne r3, r3, asl #16
48938 orrne r3, r3, #768
48939 orreq r3, r0, r3, asl #16
48940 orrne r3, r0, r3
48941 orreq r3, r3, #768
48942 strne r3, [r2, #4]
48943 streq r3, [r2, #4]
48944.L14254:
48945 mov r3, r1, lsr #16
48946 ands r0, r3, #255
48947 beq .L14258
48948 ldr r3, [r2, #8]
48949 tst r3, #256
48950 movne r3, r3, lsr #16
48951 movne r3, r3, asl #16
48952 orrne r3, r3, #768
48953 orreq r3, r0, r3, asl #16
48954 orrne r3, r0, r3
48955 orreq r3, r3, #768
48956 strne r3, [r2, #8]
48957 streq r3, [r2, #8]
48958.L14258:
48959 movs r1, r1, lsr #24
48960 beq .L14248
48961 ldr r3, [r2, #12]
48962 tst r3, #256
48963 movne r3, r3, lsr #16
48964 movne r3, r3, asl #16
48965 orrne r3, r3, #768
48966 orrne r3, r1, r3
48967 strne r3, [r2, #12]
48968 orreq r3, r1, r3, asl #16
48969 orreq r3, r3, #768
48970 streq r3, [r2, #12]
48971.L14248:
48972 add r4, r2, #16
48973 b .L14230
48974.L15205:
48975 ldr r0, [sp, #144]
48976 ldr r3, [r6, #0]
48977 add r2, r0, lr
48978 cmp r2, #4
48979 mov r1, lr, asl #3
48980 mov r2, r3, lsr r1
48981 bhi .L15212
48982 cmp r0, #0
48983 movne r1, #0
48984 beq .L13691
48985.L15228:
48986 ands r3, r2, #255
48987 ldr r0, [sp, #28]
48988 ldrne r4, [sp, #108]
48989 orr r3, r0, r3
48990 ldr r5, [sp, #144]
48991 strne r3, [r4, r1, asl #2]
48992 add r1, r1, #1
48993 cmp r5, r1
48994 mov r2, r2, lsr #8
48995 bne .L15228
48996 b .L13691
48997.L14527:
48998 ldr r4, [sp, #144]
48999 mov r3, lr, asl #3
49000 ldr r1, [r8, #4]
49001 add r2, r4, lr
49002 sub r3, r3, #32
49003 cmp r2, #4
49004 mov ip, r1, asl r3
49005 bhi .L14536
49006 cmp r4, #0
49007 ldrne lr, [sp, #108]
49008 movne r4, #0
49009 beq .L13691
49010.L14556:
49011 movs r0, ip, lsr #24
49012 beq .L14557
49013 ldr r2, [lr, #0]
49014 orr r1, r0, #768
49015 mov r3, r2, lsr #16
49016 orr r0, r0, #768
49017 mov r3, r3, asl #16
49018 tst r2, #256
49019 orr r3, r3, r1
49020 orr r0, r0, r2, asl #16
49021 strne r3, [lr, #0]
49022 streq r0, [lr, #0]
49023.L14557:
49024 ldr r8, [sp, #144]
49025 add r4, r4, #1
49026 cmp r8, r4
49027 mov ip, ip, asl #8
49028 add lr, lr, #4
49029 bne .L14556
49030 b .L13691
49031.L15425:
49032 ldr r0, [sp, #144]
49033 mov r3, ip, asl #3
49034 ldr r1, [r6, #4]
49035 add r2, r0, ip
49036 sub r3, r3, #32
49037 cmp r2, #4
49038 mov r1, r1, asl r3
49039 bhi .L15432
49040 cmp r0, #0
49041 movne r2, #0
49042 beq .L13691
49043.L15448:
49044 movs r3, r1, lsr #24
49045 ldr r0, [sp, #28]
49046 ldrne r4, [sp, #108]
49047 orr r3, r0, r3
49048 ldr r5, [sp, #144]
49049 strne r3, [r4, r2, asl #2]
49050 add r2, r2, #1
49051 cmp r5, r2
49052 mov r1, r1, asl #8
49053 bne .L15448
49054 b .L13691
49055.L14191:
49056 ldr r4, [sp, #144]
49057 ldr r3, [r7, #0]
49058 add r2, r4, lr
49059 mov r1, lr, asl #3
49060 cmp r2, #4
49061 mov ip, r3, lsr r1
49062 bhi .L14200
49063 cmp r4, #0
49064 ldrne lr, [sp, #108]
49065 movne r4, #0
49066 beq .L13691
49067.L14220:
49068 ands r0, ip, #255
49069 beq .L14221
49070 ldr r2, [lr, #0]
49071 orr r1, r0, #768
49072 mov r3, r2, lsr #16
49073 orr r0, r0, #768
49074 mov r3, r3, asl #16
49075 tst r2, #256
49076 orr r3, r3, r1
49077 orr r0, r0, r2, asl #16
49078 strne r3, [lr, #0]
49079 streq r0, [lr, #0]
49080.L14221:
49081 ldr r0, [sp, #144]
49082 add r4, r4, #1
49083 cmp r0, r4
49084 mov ip, ip, lsr #8
49085 add lr, lr, #4
49086 bne .L14220
49087 b .L13691
49088.L14200:
49089 rsbs r4, lr, #4
49090 ldreq lr, [sp, #108]
49091 beq .L14205
49092 ldr lr, [sp, #108]
49093 mov r5, #0
49094.L14206:
49095 ands r0, ip, #255
49096 beq .L14207
49097 ldr r2, [lr, #0]
49098 orr r1, r0, #768
49099 mov r3, r2, lsr #16
49100 orr r0, r0, #768
49101 mov r3, r3, asl #16
49102 tst r2, #256
49103 orr r3, r3, r1
49104 orr r0, r0, r2, asl #16
49105 strne r3, [lr, #0]
49106 streq r0, [lr, #0]
49107.L14207:
49108 add r5, r5, #1
49109 cmp r5, r4
49110 mov ip, ip, lsr #8
49111 add lr, lr, #4
49112 bne .L14206
49113 ldr r5, [sp, #108]
49114 add lr, r5, r4, asl #2
49115.L14205:
49116 ldr r8, [sp, #144]
49117 ldr ip, [r7, #4]
49118 subs r5, r8, r4
49119 beq .L13691
49120 mov r4, #0
49121.L14214:
49122 ands r0, ip, #255
49123 beq .L14215
49124 ldr r2, [lr, #0]
49125 orr r1, r0, #768
49126 mov r3, r2, lsr #16
49127 orr r0, r0, #768
49128 mov r3, r3, asl #16
49129 tst r2, #256
49130 orr r3, r3, r1
49131 orr r0, r0, r2, asl #16
49132 strne r3, [lr, #0]
49133 streq r0, [lr, #0]
49134.L14215:
49135 add r4, r4, #1
49136 cmp r4, r5
49137 mov ip, ip, lsr #8
49138 add lr, lr, #4
49139 bne .L14214
49140 b .L13691
49141.L15432:
49142 rsbs r0, ip, #4
49143 ldreq ip, [sp, #108]
49144 beq .L15437
49145 mov r2, #0
49146.L15438:
49147 movs r3, r1, lsr #24
49148 ldr r4, [sp, #28]
49149 ldrne r5, [sp, #108]
49150 orr r3, r4, r3
49151 strne r3, [r5, r2, asl #2]
49152 add r2, r2, #1
49153 cmp r2, r0
49154 mov r1, r1, asl #8
49155 bne .L15438
49156 ldr r7, [sp, #108]
49157 add ip, r7, r0, asl #2
49158.L15437:
49159 ldr r8, [sp, #144]
49160 ldr r2, [r6, #0]
49161 subs r0, r8, r0
49162 beq .L13691
49163 mov r1, #0
49164.L15444:
49165 ldr lr, [sp, #28]
49166 movs r3, r2, lsr #24
49167 orr r3, lr, r3
49168 strne r3, [ip, r1, asl #2]
49169 add r1, r1, #1
49170 cmp r1, r0
49171 mov r2, r2, asl #8
49172 bne .L15444
49173 b .L13691
49174.L14536:
49175 rsbs r4, lr, #4
49176 ldreq lr, [sp, #108]
49177 beq .L14541
49178 ldr lr, [sp, #108]
49179 mov r5, #0
49180.L14542:
49181 movs r0, ip, lsr #24
49182 beq .L14543
49183 ldr r2, [lr, #0]
49184 orr r1, r0, #768
49185 mov r3, r2, lsr #16
49186 orr r0, r0, #768
49187 mov r3, r3, asl #16
49188 tst r2, #256
49189 orr r3, r3, r1
49190 orr r0, r0, r2, asl #16
49191 strne r3, [lr, #0]
49192 streq r0, [lr, #0]
49193.L14543:
49194 add r5, r5, #1
49195 cmp r4, r5
49196 mov ip, ip, asl #8
49197 add lr, lr, #4
49198 bne .L14542
49199 ldr r5, [sp, #108]
49200 add lr, r5, r4, asl #2
49201.L14541:
49202 ldr r7, [sp, #144]
49203 ldr ip, [r8, #0]
49204 subs r5, r7, r4
49205 beq .L13691
49206 mov r4, #0
49207.L14550:
49208 movs r0, ip, lsr #24
49209 beq .L14551
49210 ldr r2, [lr, #0]
49211 orr r1, r0, #768
49212 mov r3, r2, lsr #16
49213 orr r0, r0, #768
49214 mov r3, r3, asl #16
49215 tst r2, #256
49216 orr r3, r3, r1
49217 orr r0, r0, r2, asl #16
49218 strne r3, [lr, #0]
49219 streq r0, [lr, #0]
49220.L14551:
49221 add r4, r4, #1
49222 cmp r4, r5
49223 mov ip, ip, asl #8
49224 add lr, lr, #4
49225 bne .L14550
49226 b .L13691
49227.L15212:
49228 rsbs r0, lr, #4
49229 ldreq ip, [sp, #108]
49230 beq .L15217
49231 mov r1, #0
49232.L15218:
49233 ands r3, r2, #255
49234 ldr r4, [sp, #28]
49235 ldrne r5, [sp, #108]
49236 orr r3, r4, r3
49237 strne r3, [r5, r1, asl #2]
49238 add r1, r1, #1
49239 cmp r1, r0
49240 mov r2, r2, lsr #8
49241 bne .L15218
49242 ldr r7, [sp, #108]
49243 add ip, r7, r0, asl #2
49244.L15217:
49245 ldr r8, [sp, #144]
49246 ldr r2, [r6, #4]
49247 subs r0, r8, r0
49248 beq .L13691
49249 mov r1, #0
49250.L15224:
49251 ldr lr, [sp, #28]
49252 ands r3, r2, #255
49253 orr r3, lr, r3
49254 strne r3, [ip, r1, asl #2]
49255 add r1, r1, #1
49256 cmp r1, r0
49257 mov r2, r2, lsr #8
49258 bne .L15224
49259 b .L13691
49260 .size render_scanline_obj_partial_alpha_1D, .-render_scanline_obj_partial_alpha_1D
49261 .align 2
49262 .global render_scanline_obj_partial_alpha_2D
49263 .type render_scanline_obj_partial_alpha_2D, %function
49264render_scanline_obj_partial_alpha_2D:
49265 @ args = 0, pretend = 0, frame = 140
49266 @ frame_needed = 0, uses_anonymous_args = 0
49267 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
49268 ldr ip, .L17801
49269 sub sp, sp, #140
49270 ldrh r4, [ip, #6]
49271 add r0, r0, r0, asl #2
49272 str r4, [sp, #60]
49273 ldr r5, [sp, #60]
49274 ldrh r4, [ip, #80]
49275 ldr ip, .L17801+4
49276 add r0, r5, r0, asl #5
49277 ldr ip, [ip, r0, asl #2]
49278 mov lr, r4, lsr #11
49279 and lr, lr, #2
49280 mov r4, r4, asl #27
49281 str ip, [sp, #64]
49282 orr lr, lr, r4, lsr #31
49283 cmp ip, #0
49284 ldr ip, .L17801+8
49285 mov lr, lr, asl #9
49286 add r0, ip, r0, asl #7
49287 orr lr, lr, #256
49288 str r0, [sp, #68]
49289 str r1, [sp, #12]
49290 str r2, [sp, #8]
49291 str r3, [sp, #4]
49292 str lr, [sp, #52]
49293 beq .L17699
49294 mov ip, #0
49295 add r7, r3, r1, asl #2
49296 rsb r8, r1, r2
49297 str r7, [sp, #96]
49298 str r8, [sp, #128]
49299 str ip, [sp, #56]
49300 mov lr, ip
49301.L15740:
49302 ldr r0, [sp, #68]
49303 ldr r1, .L17801+12
49304 ldrb r3, [lr, r0] @ zero_extendqisi2
49305 mov r3, r3, asl #3
49306 ldrh r4, [r3, r1]
49307 add r3, r3, r1
49308 ldrh r1, [r3, #2]
49309 mov ip, r4, lsr #12
49310 and r2, ip, #12
49311 orr r0, r2, r1, lsr #14
49312 and r5, r4, #255
49313 mov r2, r1, asl #23
49314 cmp r5, #160
49315 ldrh lr, [r3, #4]
49316 mov r6, r2, asr #23
49317 ldr r3, .L17801+16
49318 ldr r2, .L17801+20
49319 subgt r5, r5, #256
49320 tst r4, #3072
49321 ldr sl, [r2, r0, asl #2]
49322 ldr r8, [r3, r0, asl #2]
49323 beq .L15743
49324 tst r4, #256
49325 beq .L15745
49326 tst r4, #8192
49327 beq .L15747
49328 tst r4, #512
49329 mov r3, r1, lsr #4
49330 ldr r4, .L17801+12
49331 and r3, r3, #992
49332 add r3, r3, r4
49333 add r2, sl, sl, lsr #31
49334 ldrh r7, [r3, #30]
49335 mov r4, r2, asr #1
49336 add r1, r8, r8, lsr #31
49337 ldr r2, [sp, #12]
49338 mov r9, r1, asr #1
49339 ldrh fp, [r3, #6]
49340 ldrh r1, [r3, #14]
49341 ldrh r3, [r3, #22]
49342 str r7, [sp, #20]
49343 moveq ip, r4
49344 moveq r7, sl
49345 moveq r0, r9
49346 movne r7, sl, asl #1
49347 movne ip, r4, asl #1
49348 movne r0, r9, asl #1
49349 cmp r6, r2
49350 str r3, [sp, #16]
49351 bge .L15752
49352 rsb r2, r6, r2
49353 rsb r7, r2, r7
49354 cmp r7, #0
49355 ble .L15754
49356 ldr r6, [sp, #12]
49357 rsb ip, r2, ip
49358.L15752:
49359 ldr r2, [sp, #8]
49360 add r3, r6, r7
49361 cmp r3, r2
49362 blt .L15756
49363 rsb r7, r6, r2
49364 cmp r7, #0
49365 ble .L15754
49366.L15756:
49367 add r0, r5, r0
49368 ldr r5, [sp, #20]
49369 mov r2, r1, asl #16
49370 mov r1, r5, asl #16
49371 ldr r5, [sp, #16]
49372 mov r3, fp, asl #16
49373 cmp r5, #0
49374 mov fp, r3, asr #16
49375 mov r5, r2, asr #16
49376 ldr r3, [sp, #60]
49377 ldr r2, [sp, #4]
49378 mov r4, r4, asl #8
49379 str r4, [sp, #100]
49380 mov r1, r1, asr #16
49381 mov r4, r9, asl #8
49382 add r6, r2, r6, asl #2
49383 rsb r0, r0, r3
49384 bne .L15758
49385 mla r3, r0, r1, r4
49386 mov r2, r3, asr #8
49387 cmp r2, r8
49388 bcs .L15754
49389 mov r3, lr, asl #22
49390 mov r1, r2, lsr #3
49391 mov r3, r3, lsr #22
49392 add r3, r3, r1, asl #5
49393 and r2, r2, #7
49394 ldr r4, .L17801+24
49395 add r2, r2, r3, asl #2
49396 cmp r7, #0
49397 add lr, r4, r2, asl #3
49398 ble .L15754
49399 mul r3, r0, r5
49400 mul r2, fp, ip
49401 ldr r5, [sp, #100]
49402 rsb r3, r2, r3
49403 add r0, r5, r3
49404 mov r2, r0, asr #8
49405 cmp r2, sl
49406 ldrcs ip, [sp, #16]
49407 bcs .L15764
49408 b .L17793
49409.L15765:
49410 cmp r2, sl
49411 bcc .L15766
49412.L15764:
49413 add ip, ip, #1
49414 add r0, r0, fp
49415 cmp r7, ip
49416 mov r2, r0, asr #8
49417 add r6, r6, #4
49418 bne .L15765
49419.L15754:
49420 ldr ip, [sp, #56]
49421 ldr lr, [sp, #64]
49422 add ip, ip, #1
49423 cmp ip, lr
49424 str ip, [sp, #56]
49425 beq .L17699
49426.L17751:
49427 ldr lr, [sp, #56]
49428 b .L15740
49429.L15743:
49430 tst r4, #256
49431 beq .L16917
49432 tst r4, #8192
49433 beq .L16919
49434 mov r3, r1, lsr #4
49435 ldr r7, .L17801+12
49436 and r3, r3, #992
49437 add r3, r3, r7
49438 add r1, r8, r8, lsr #31
49439 ldrh ip, [r3, #30]
49440 mov r7, r1, asr #1
49441 ldrh r0, [r3, #6]
49442 add r2, sl, sl, lsr #31
49443 ldr r1, [sp, #12]
49444 tst r4, #512
49445 mov r4, r2, asr #1
49446 str ip, [sp, #36]
49447 str r0, [sp, #32]
49448 moveq r9, sl
49449 moveq ip, r4
49450 moveq r0, r7
49451 movne r9, sl, asl #1
49452 movne ip, r4, asl #1
49453 movne r0, r7, asl #1
49454 cmp r6, r1
49455 ldrh r2, [r3, #14]
49456 ldrh fp, [r3, #22]
49457 bge .L16924
49458 rsb r1, r6, r1
49459 rsb r9, r1, r9
49460 cmp r9, #0
49461 ble .L15754
49462 ldr r6, [sp, #12]
49463 rsb ip, r1, ip
49464.L16924:
49465 ldr r1, [sp, #8]
49466 add r3, r6, r9
49467 cmp r3, r1
49468 blt .L16927
49469 rsb r9, r6, r1
49470 cmp r9, #0
49471 ble .L15754
49472.L16927:
49473 add r0, r5, r0
49474 ldr r5, [sp, #32]
49475 mov r2, r2, asl #16
49476 mov r3, r5, asl #16
49477 ldr r5, [sp, #36]
49478 mov r3, r3, asr #16
49479 mov r1, r5, asl #16
49480 str r3, [sp, #80]
49481 mov r5, r2, asr #16
49482 ldr r3, [sp, #60]
49483 ldr r2, [sp, #4]
49484 mov r4, r4, asl #8
49485 cmp fp, #0
49486 str r4, [sp, #132]
49487 mov r1, r1, asr #16
49488 mov r4, r7, asl #8
49489 rsb r0, r0, r3
49490 add r7, r2, r6, asl #2
49491 bne .L16929
49492 mla r3, r0, r1, r4
49493 mov r2, r3, asr #8
49494 cmp r2, r8
49495 bcs .L15754
49496 mov r3, lr, asl #22
49497 mov r1, r2, lsr #3
49498 mov r3, r3, lsr #22
49499 add r3, r3, r1, asl #5
49500 and r2, r2, #7
49501 ldr r4, .L17801+24
49502 add r2, r2, r3, asl #2
49503 cmp r9, #0
49504 add lr, r4, r2, asl #3
49505 ble .L15754
49506 ldr r2, [sp, #80]
49507 mul r3, r0, r5
49508 mul r2, ip, r2
49509 ldr r5, [sp, #132]
49510 rsb r3, r2, r3
49511 add r0, r5, r3
49512 mov r4, r0, asr #8
49513 cmp r4, sl
49514 movcs ip, fp
49515 bcs .L16935
49516 b .L17794
49517.L16936:
49518 cmp r4, sl
49519 bcc .L17737
49520.L16935:
49521 ldr r8, [sp, #80]
49522 add ip, ip, #1
49523 add r0, r0, r8
49524 cmp r9, ip
49525 mov r4, r0, asr #8
49526 add r7, r7, #4
49527 bne .L16936
49528 ldr ip, [sp, #56]
49529 ldr lr, [sp, #64]
49530 add ip, ip, #1
49531 cmp ip, lr
49532 str ip, [sp, #56]
49533 bne .L17751
49534.L17699:
49535 add sp, sp, #140
49536 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
49537.L15745:
49538 ldr r2, [sp, #60]
49539 tst r1, #8192
49540 rsb r0, r5, r2
49541 rsbne r3, r0, r8
49542 subne r0, r3, #1
49543 mov r2, r1, asl #19
49544 and r3, ip, #2
49545 orr r3, r3, r2, lsr #31
49546 cmp r3, #3
49547 ldrls pc, [pc, r3, asl #2]
49548 b .L15754
49549 .p2align 2
49550.L15836:
49551 .word .L15832
49552 .word .L15833
49553 .word .L15834
49554 .word .L15835
49555.L16917:
49556 ldr r2, [sp, #60]
49557 tst r1, #8192
49558 rsb r0, r5, r2
49559 rsbne r3, r0, r8
49560 subne r0, r3, #1
49561 mov r2, r1, asl #19
49562 and r3, ip, #2
49563 orr r3, r3, r2, lsr #31
49564 cmp r3, #3
49565 ldrls pc, [pc, r3, asl #2]
49566 b .L15754
49567 .p2align 2
49568.L16998:
49569 .word .L16994
49570 .word .L16995
49571 .word .L16996
49572 .word .L16997
49573.L16919:
49574 mov r3, r1, lsr #4
49575 ldr r1, .L17801+12
49576 and r3, r3, #992
49577 add r3, r3, r1
49578 tst r4, #512
49579 add r1, r8, r8, lsr #31
49580 ldrh r4, [r3, #30]
49581 mov r7, r1, asr #1
49582 add r2, sl, sl, lsr #31
49583 ldr r1, [sp, #12]
49584 ldrh ip, [r3, #6]
49585 str r4, [sp, #48]
49586 mov r4, r2, asr #1
49587 ldrh r2, [r3, #14]
49588 ldrh r3, [r3, #22]
49589 moveq fp, sl
49590 moveq r9, r4
49591 moveq r0, r7
49592 movne fp, sl, asl #1
49593 movne r9, r4, asl #1
49594 movne r0, r7, asl #1
49595 cmp r6, r1
49596 str ip, [sp, #40]
49597 str r3, [sp, #44]
49598 bge .L16956
49599 rsb r1, r6, r1
49600 rsb fp, r1, fp
49601 cmp fp, #0
49602 ble .L15754
49603 ldr r6, [sp, #12]
49604 rsb r9, r1, r9
49605.L16956:
49606 ldr ip, [sp, #8]
49607 add r3, r6, fp
49608 cmp r3, ip
49609 blt .L16959
49610 rsb fp, r6, ip
49611 cmp fp, #0
49612 ble .L15754
49613.L16959:
49614 add ip, r5, r0
49615 ldr r0, [sp, #40]
49616 ldr r5, [sp, #48]
49617 mov r3, r0, asl #16
49618 ldr r0, [sp, #44]
49619 mov r2, r2, asl #16
49620 mov r3, r3, asr #16
49621 mov r1, r5, asl #16
49622 cmp r0, #0
49623 str r3, [sp, #84]
49624 mov r0, lr, lsr #8
49625 mov r5, r2, asr #16
49626 ldr r3, [sp, #60]
49627 ldr r2, [sp, #4]
49628 mov r4, r4, asl #8
49629 and r0, r0, #240
49630 str r4, [sp, #92]
49631 mov r1, r1, asr #16
49632 mov r4, r7, asl #8
49633 rsb ip, ip, r3
49634 add r7, r2, r6, asl #2
49635 str r0, [sp, #116]
49636 bne .L16961
49637 mla r3, ip, r1, r4
49638 mov r2, r3, asr #8
49639 cmp r2, r8
49640 bcs .L15754
49641 mov r3, lr, asl #22
49642 mov r1, r2, lsr #3
49643 mov r3, r3, lsr #22
49644 add r3, r3, r1, asl #5
49645 and r2, r2, #7
49646 ldr r4, .L17801+24
49647 add r2, r2, r3, asl #3
49648 cmp fp, #0
49649 add r1, r4, r2, asl #2
49650 ble .L15754
49651 ldr r2, [sp, #84]
49652 mul r3, ip, r5
49653 mul r2, r9, r2
49654 ldr r5, [sp, #92]
49655 rsb r3, r2, r3
49656 add r0, r5, r3
49657 mov r3, r0, asr #8
49658 cmp r3, sl
49659 mov r4, r3
49660 ldrcs r5, [sp, #44]
49661 bcs .L16967
49662 b .L17795
49663.L16968:
49664 cmp r3, sl
49665 bcc .L16969
49666.L16967:
49667 ldr r8, [sp, #84]
49668 add r5, r5, #1
49669 add r0, r0, r8
49670 mov r3, r0, asr #8
49671 cmp fp, r5
49672 add r7, r7, #4
49673 mov r4, r3
49674 bne .L16968
49675 b .L15754
49676.L15747:
49677 mov r3, r1, lsr #4
49678 ldr r7, .L17801+12
49679 and r3, r3, #992
49680 add r3, r3, r7
49681 add r1, r8, r8, lsr #31
49682 tst r4, #512
49683 ldrh r0, [r3, #6]
49684 add r2, sl, sl, lsr #31
49685 mov r7, r1, asr #1
49686 ldrh ip, [r3, #30]
49687 ldrh r1, [r3, #14]
49688 ldrh fp, [r3, #22]
49689 ldr r3, [sp, #12]
49690 mov r4, r2, asr #1
49691 movne r2, sl, asl #1
49692 str r0, [sp, #24]
49693 streq sl, [sp, #136]
49694 moveq r9, r4
49695 moveq r0, r7
49696 strne r2, [sp, #136]
49697 movne r9, r4, asl #1
49698 movne r0, r7, asl #1
49699 cmp r6, r3
49700 str ip, [sp, #28]
49701 bge .L15790
49702 ldr ip, [sp, #136]
49703 rsb r2, r6, r3
49704 rsb ip, r2, ip
49705 cmp ip, #0
49706 str ip, [sp, #136]
49707 ble .L15754
49708 rsb r9, r2, r9
49709 mov r6, r3
49710.L15790:
49711 ldr r2, [sp, #136]
49712 ldr ip, [sp, #8]
49713 add r3, r6, r2
49714 cmp r3, ip
49715 blt .L15793
49716 rsb r2, r6, ip
49717 cmp r2, #0
49718 str r2, [sp, #136]
49719 ble .L15754
49720.L15793:
49721 add ip, r5, r0
49722 ldr r5, [sp, #24]
49723 ldr r0, [sp, #28]
49724 mov r3, r5, asl #16
49725 mov r2, r1, asl #16
49726 mov r3, r3, asr #16
49727 mov r1, r0, asl #16
49728 str r3, [sp, #72]
49729 mov r0, lr, lsr #8
49730 mov r5, r2, asr #16
49731 ldr r3, [sp, #60]
49732 ldr r2, [sp, #4]
49733 mov r4, r4, asl #8
49734 and r0, r0, #240
49735 cmp fp, #0
49736 str r4, [sp, #124]
49737 mov r1, r1, asr #16
49738 mov r4, r7, asl #8
49739 rsb ip, ip, r3
49740 add r7, r2, r6, asl #2
49741 str r0, [sp, #120]
49742 bne .L15795
49743 mla r3, ip, r1, r4
49744 mov r2, r3, asr #8
49745 cmp r2, r8
49746 bcs .L15754
49747 mov r3, lr, asl #22
49748 mov r1, r2, lsr #3
49749 mov r3, r3, lsr #22
49750 ldr r4, [sp, #136]
49751 add r3, r3, r1, asl #5
49752 and r2, r2, #7
49753 ldr r8, .L17801+24
49754 add r2, r2, r3, asl #3
49755 cmp r4, #0
49756 add lr, r8, r2, asl #2
49757 ble .L15754
49758 ldr r2, [sp, #72]
49759 mul r3, ip, r5
49760 mul r2, r9, r2
49761 ldr r0, [sp, #124]
49762 rsb r3, r2, r3
49763 add ip, r0, r3
49764 mov r3, ip, asr #8
49765 cmp r3, sl
49766 mov r1, r3
49767 movcs r4, fp
49768 bcs .L15801
49769 b .L17796
49770.L15802:
49771 cmp r3, sl
49772 bcc .L15803
49773.L15801:
49774 ldr r1, [sp, #72]
49775 ldr r2, [sp, #136]
49776 add ip, ip, r1
49777 add r4, r4, #1
49778 mov r3, ip, asr #8
49779 cmp r2, r4
49780 add r7, r7, #4
49781 mov r1, r3
49782 bne .L15802
49783 b .L15754
49784.L15795:
49785 mov r3, lr, asl #22
49786 ldr r0, .L17801+24
49787 ldr lr, [sp, #136]
49788 mov r3, r3, lsr #22
49789 add r3, r0, r3, asl #5
49790 cmp lr, #0
49791 str r3, [sp, #112]
49792 ble .L15754
49793 mov r3, fp, asl #16
49794 mov r3, r3, asr #16
49795 str r3, [sp, #76]
49796 mul r2, ip, r1
49797 ldr r1, [sp, #76]
49798 ldr r0, [sp, #72]
49799 mul r1, r9, r1
49800 mul r3, ip, r5
49801 mul r0, r9, r0
49802 rsb r2, r1, r2
49803 ldr r1, [sp, #124]
49804 rsb r3, r0, r3
49805 add lr, r1, r3
49806 add r5, r4, r2
49807 mov ip, lr, asr #8
49808 mov r4, r5, asr #8
49809 cmp ip, sl
49810 cmpcc r4, r8
49811 movcs r3, #0
49812 movcc r3, #1
49813 movcs r6, r3
49814 bcs .L15817
49815 b .L17797
49816.L15818:
49817 cmp ip, sl
49818 cmpcc r4, r8
49819 bcc .L15820
49820.L15817:
49821 ldr r2, [sp, #72]
49822 ldr r3, [sp, #76]
49823 ldr r0, [sp, #136]
49824 add r6, r6, #1
49825 add lr, lr, r2
49826 add r5, r5, r3
49827 cmp r0, r6
49828 mov ip, lr, asr #8
49829 mov r4, r5, asr #8
49830 add r7, r7, #4
49831 bne .L15818
49832 b .L15754
49833.L17755:
49834 mov r3, ip, asr #1
49835 ldr r2, [sp, #112]
49836 and fp, r3, #3
49837 ldr r3, [sp, #112]
49838 and r1, r4, #7
49839 and r0, r4, #7
49840 add r1, r2, r1, asl #2
49841 add r0, r3, r0, asl #2
49842 mov r2, ip, asr #1
49843 mov r3, r4, asr #3
49844 and r9, r2, #3
49845 mov r3, r3, asl #10
49846 mov r2, ip, asr #3
49847 add r3, r3, r2, asl #5
49848 add r0, r0, r3
49849 tst ip, #1
49850 add r1, r1, r3
49851 ldrneb r3, [r1, fp] @ zero_extendqisi2
49852 ldreqb r3, [r0, r9] @ zero_extendqisi2
49853 movne r0, r3, lsr #4
49854 andeq r0, r3, #15
49855 ldr r4, [sp, #120]
49856 cmp r0, #0
49857 orr r0, r0, r4
49858 beq .L15826
49859 ldr r2, [r7, #0]
49860 orr r1, r0, #768
49861 mov r3, r2, lsr #16
49862 orr r0, r0, #768
49863 mov r3, r3, asl #16
49864 tst r2, #256
49865 orr r3, r3, r1
49866 orr r0, r0, r2, asl #16
49867 strne r3, [r7, #0]
49868 streq r0, [r7, #0]
49869.L15826:
49870 ldr ip, [sp, #72]
49871 ldr r0, [sp, #76]
49872 ldr r1, [sp, #136]
49873 add r6, r6, #1
49874 add lr, lr, ip
49875 add r5, r5, r0
49876 cmp r1, r6
49877 add r7, r7, #4
49878 mov ip, lr, asr #8
49879 mov r4, r5, asr #8
49880 ble .L15754
49881.L15820:
49882 cmp r4, r8
49883 cmpcc ip, sl
49884 bcc .L17755
49885 b .L15754
49886.L16961:
49887 mov r3, lr, asl #22
49888 ldr lr, .L17801+24
49889 mov r3, r3, lsr #22
49890 add r3, lr, r3, asl #5
49891 cmp fp, #0
49892 str r3, [sp, #104]
49893 ble .L15754
49894 ldr r0, [sp, #44]
49895 mul r2, ip, r1
49896 mov r3, r0, asl #16
49897 mov r3, r3, asr #16
49898 str r3, [sp, #88]
49899 ldr r1, [sp, #88]
49900 ldr r0, [sp, #84]
49901 mul r1, r9, r1
49902 mul r3, ip, r5
49903 mul r0, r9, r0
49904 rsb r2, r1, r2
49905 ldr r1, [sp, #92]
49906 rsb r3, r0, r3
49907 add lr, r1, r3
49908 add r5, r4, r2
49909 mov ip, lr, asr #8
49910 mov r4, r5, asr #8
49911 cmp ip, sl
49912 movcs r3, #0
49913 movcc r3, #1
49914 cmp r8, r4
49915 movls r3, #0
49916 cmp r3, #0
49917 moveq r6, r3
49918 beq .L16981
49919 b .L17798
49920.L16982:
49921 cmp ip, sl
49922 cmpcc r4, r8
49923 bcc .L16983
49924.L16981:
49925 ldr r2, [sp, #84]
49926 ldr r3, [sp, #88]
49927 add r6, r6, #1
49928 add lr, lr, r2
49929 add r5, r5, r3
49930 cmp fp, r6
49931 mov ip, lr, asr #8
49932 mov r4, r5, asr #8
49933 add r7, r7, #4
49934 bne .L16982
49935 b .L15754
49936.L16938:
49937 cmp r4, sl
49938 bcs .L15754
49939.L17737:
49940 ldr r1, [sp, #80]
49941 mov r3, r4, asr #3
49942 add r0, r0, r1
49943 add r3, lr, r3, asl #6
49944 and r1, r4, #7
49945 ldrb r2, [r3, r1] @ zero_extendqisi2
49946 ldr r5, [sp, #52]
49947 cmp r2, #0
49948 add ip, ip, #1
49949 orr r3, r5, r2
49950 strne r3, [r7, #0]
49951 cmp r9, ip
49952 mov r4, r0, asr #8
49953 add r7, r7, #4
49954 bgt .L16938
49955 b .L15754
49956.L15758:
49957 mov r3, lr, asl #22
49958 ldr r2, .L17801+24
49959 mov r3, r3, lsr #22
49960 cmp r7, #0
49961 add lr, r2, r3, asl #5
49962 ble .L15754
49963 ldr r2, [sp, #16]
49964 mov r3, r2, asl #16
49965 mov r9, r3, asr #16
49966 mul r2, r0, r1
49967 mul r3, r0, r5
49968 mul r1, r9, ip
49969 mul r0, fp, ip
49970 ldr r5, [sp, #100]
49971 rsb r2, r1, r2
49972 rsb r3, r0, r3
49973 add r0, r5, r3
49974 add r5, r4, r2
49975 mov r1, r5, asr #8
49976 mov r4, r0, asr #8
49977 cmp r4, sl
49978 cmpcc r1, r8
49979 movcs r3, #0
49980 movcc r3, #1
49981 movcs ip, r3
49982 bcs .L15777
49983 b .L17799
49984.L15778:
49985 cmp r4, sl
49986 cmpcc r1, r8
49987 bcc .L15780
49988.L15777:
49989 add ip, ip, #1
49990 add r0, r0, fp
49991 add r5, r5, r9
49992 cmp r7, ip
49993 mov r4, r0, asr #8
49994 mov r1, r5, asr #8
49995 add r6, r6, #4
49996 bne .L15778
49997 b .L15754
49998.L17758:
49999 and r3, r1, #7
50000 mov r2, r4, asr #3
50001 mov r3, r3, asl #3
50002 add r3, r3, r2, asl #6
50003 mov r1, r1, asr #3
50004 add r3, r3, r1, asl #10
50005 and r2, r4, #7
50006 add r3, r3, lr
50007 ldrb r4, [r3, r2] @ zero_extendqisi2
50008 cmp r4, #0
50009 beq .L15783
50010 ldr r3, [r6, #0]
50011 mov r2, r3, lsr #16
50012 mov r2, r2, asl #16
50013 orr r1, r4, r3, asl #16
50014 orr r2, r2, #768
50015 tst r3, #256
50016 orr r2, r4, r2
50017 orr r1, r1, #768
50018 strne r2, [r6, #0]
50019 streq r1, [r6, #0]
50020.L15783:
50021 add ip, ip, #1
50022 add r0, r0, fp
50023 add r5, r5, r9
50024 cmp r7, ip
50025 mov r4, r0, asr #8
50026 mov r1, r5, asr #8
50027 add r6, r6, #4
50028 ble .L15754
50029.L15780:
50030 cmp r1, r8
50031 cmpcc r4, sl
50032 bcc .L17758
50033 b .L15754
50034.L16929:
50035 mov r3, lr, asl #22
50036 ldr lr, .L17801+24
50037 mov r3, r3, lsr #22
50038 add r3, lr, r3, asl #5
50039 cmp r9, #0
50040 str r3, [sp, #108]
50041 ble .L15754
50042 mov r3, fp, asl #16
50043 mul r2, r0, r1
50044 mov fp, r3, asr #16
50045 mul r3, r0, r5
50046 ldr r0, [sp, #80]
50047 mul r1, fp, ip
50048 mul r0, ip, r0
50049 rsb r3, r0, r3
50050 ldr r0, [sp, #132]
50051 rsb r2, r1, r2
50052 add r5, r0, r3
50053 add lr, r4, r2
50054 mov ip, r5, asr #8
50055 mov r4, lr, asr #8
50056 cmp ip, sl
50057 cmpcc r4, r8
50058 movcs r3, #0
50059 movcc r3, #1
50060 movcs r6, r3
50061 bcs .L16945
50062 b .L17800
50063.L16946:
50064 cmp ip, sl
50065 cmpcc r4, r8
50066 bcc .L16948
50067.L16945:
50068 ldr r1, [sp, #80]
50069 add r6, r6, #1
50070 add r5, r5, r1
50071 add lr, lr, fp
50072 cmp r9, r6
50073 mov ip, r5, asr #8
50074 mov r4, lr, asr #8
50075 add r7, r7, #4
50076 bne .L16946
50077 b .L15754
50078.L17760:
50079 ldr r2, [sp, #80]
50080 and r3, r4, #7
50081 add r5, r5, r2
50082 mov r3, r3, asl #3
50083 mov r2, ip, asr #3
50084 mov r1, r4, asr #3
50085 add r3, r3, r2, asl #6
50086 add r3, r3, r1, asl #10
50087 ldr r1, [sp, #108]
50088 and r0, ip, #7
50089 add r3, r3, r1
50090 ldrb r2, [r3, r0] @ zero_extendqisi2
50091 ldr r0, [sp, #52]
50092 cmp r2, #0
50093 add r6, r6, #1
50094 orr r3, r0, r2
50095 strne r3, [r7, #0]
50096 add lr, lr, fp
50097 cmp r9, r6
50098 mov r4, lr, asr #8
50099 mov ip, r5, asr #8
50100 add r7, r7, #4
50101 ble .L15754
50102.L16948:
50103 cmp r4, r8
50104 cmpcc ip, sl
50105 bcc .L17760
50106 b .L15754
50107.L16994:
50108 mov r3, lr, asl #22
50109 mov r2, r0, lsr #3
50110 mov r3, r3, lsr #22
50111 add r3, r3, r2, asl #5
50112 and r1, r0, #7
50113 add r1, r1, r3, asl #3
50114 ldr r3, [sp, #12]
50115 ldr r4, .L17801+24
50116 cmp r6, r3
50117 mov r3, lr, lsr #8
50118 and r7, r3, #240
50119 add r0, r4, r1, asl #2
50120 bge .L16999
50121 ldr r5, [sp, #12]
50122 rsb r4, r6, r5
50123 rsb lr, r4, sl
50124 cmp lr, #0
50125 ble .L15754
50126 ldr r8, [sp, #8]
50127 add r3, r6, sl
50128 cmp r8, r3
50129 bhi .L17002
50130 mov r3, r4, lsr #3
50131 mov r1, r3, asl #5
50132 ands r3, r4, #7
50133 add r4, r0, r1
50134 bne .L17004
50135 ldr r5, [sp, #128]
50136 ldr r6, [sp, #96]
50137.L17006:
50138 movs lr, r5, lsr #3
50139 beq .L17023
50140 mov r1, r6
50141 mov r0, r4
50142 mov ip, #0
50143.L17025:
50144 ldr r2, [r0, #0]
50145 cmp r2, #0
50146 beq .L17026
50147 ands r3, r2, #15
50148 ldrne r8, [sp, #52]
50149 orrne r3, r8, r3
50150 orrne r3, r7, r3
50151 strne r3, [r1, #0]
50152 mov r3, r2, lsr #4
50153 ands r3, r3, #15
50154 ldrne r8, [sp, #52]
50155 orrne r3, r8, r3
50156 orrne r3, r7, r3
50157 strne r3, [r1, #4]
50158 mov r3, r2, lsr #8
50159 ands r3, r3, #15
50160 ldrne r8, [sp, #52]
50161 orrne r3, r8, r3
50162 orrne r3, r7, r3
50163 strne r3, [r1, #8]
50164 mov r3, r2, lsr #12
50165 ands r3, r3, #15
50166 ldrne r8, [sp, #52]
50167 orrne r3, r8, r3
50168 orrne r3, r7, r3
50169 strne r3, [r1, #12]
50170 mov r3, r2, lsr #16
50171 ands r3, r3, #15
50172 ldrne r8, [sp, #52]
50173 orrne r3, r8, r3
50174 orrne r3, r7, r3
50175 strne r3, [r1, #16]
50176 mov r3, r2, lsr #20
50177 ands r3, r3, #15
50178 ldrne r8, [sp, #52]
50179 orrne r3, r8, r3
50180 orrne r3, r7, r3
50181 strne r3, [r1, #20]
50182 mov r3, r2, lsr #24
50183 ands r3, r3, #15
50184 ldrne r8, [sp, #52]
50185 orrne r3, r8, r3
50186 orrne r3, r7, r3
50187 strne r3, [r1, #24]
50188 movs r3, r2, lsr #28
50189 ldrne r2, [sp, #52]
50190 orrne r3, r2, r3
50191 orrne r3, r7, r3
50192 strne r3, [r1, #28]
50193.L17026:
50194 add ip, ip, #1
50195 cmp ip, lr
50196 add r0, r0, #32
50197 add r1, r1, #32
50198 bne .L17025
50199 mov r3, lr, asl #5
50200 add r4, r4, r3
50201 add r6, r6, r3
50202.L17023:
50203 ands r0, r5, #7
50204 beq .L15754
50205 ldr r2, [r4, #0]
50206 mov r1, #0
50207.L17045:
50208 ldr r4, [sp, #52]
50209 ands r3, r2, #15
50210 orr r3, r4, r3
50211 orr r3, r7, r3
50212 strne r3, [r6, r1, asl #2]
50213 add r1, r1, #1
50214 cmp r1, r0
50215 mov r2, r2, lsr #4
50216 bne .L17045
50217 b .L15754
50218.L16995:
50219 mov r3, lr, asl #22
50220 mov r1, r0, lsr #3
50221 subs r2, sl, #8
50222 mov r3, r3, lsr #22
50223 submi r2, sl, #1
50224 add r3, r3, r1, asl #5
50225 ldr r5, [sp, #12]
50226 add r3, r3, r2, asr #3
50227 and r1, r0, #7
50228 ldr r8, .L17801+24
50229 add r1, r1, r3, asl #3
50230 cmp r6, r5
50231 mov r3, lr, lsr #8
50232 and r7, r3, #240
50233 add r0, r8, r1, asl #2
50234 bge .L17129
50235 rsb r4, r6, r5
50236 rsb r1, r4, sl
50237 cmp r1, #0
50238 ble .L15754
50239 ldr ip, [sp, #8]
50240 add r3, r6, sl
50241 cmp ip, r3
50242 bhi .L17132
50243 mov r3, r4, lsr #3
50244 ands r5, r4, #7
50245 sub r0, r0, r3, asl #5
50246 bne .L17134
50247 ldr r2, [sp, #128]
50248 ldr r1, [sp, #96]
50249.L17136:
50250 movs r8, r2, lsr #3
50251 beq .L17153
50252 mov r5, r1
50253 mov r6, r0
50254 mov lr, #0
50255.L17155:
50256 ldr r4, [r6, #0]
50257 cmp r4, #0
50258 beq .L17156
50259 ands r3, r4, #15
50260 ldrne ip, [sp, #52]
50261 orrne r3, ip, r3
50262 orrne r3, r7, r3
50263 strne r3, [r5, #28]
50264 mov r3, r4, lsr #4
50265 ands r3, r3, #15
50266 ldrne ip, [sp, #52]
50267 orrne r3, ip, r3
50268 orrne r3, r7, r3
50269 strne r3, [r5, #24]
50270 mov r3, r4, lsr #8
50271 ands r3, r3, #15
50272 ldrne ip, [sp, #52]
50273 orrne r3, ip, r3
50274 orrne r3, r7, r3
50275 strne r3, [r5, #20]
50276 mov r3, r4, lsr #12
50277 ands r3, r3, #15
50278 ldrne ip, [sp, #52]
50279 orrne r3, ip, r3
50280 orrne r3, r7, r3
50281 strne r3, [r5, #16]
50282 mov r3, r4, lsr #16
50283 ands r3, r3, #15
50284 ldrne ip, [sp, #52]
50285 orrne r3, ip, r3
50286 orrne r3, r7, r3
50287 strne r3, [r5, #12]
50288 mov r3, r4, lsr #20
50289 ands r3, r3, #15
50290 ldrne ip, [sp, #52]
50291 orrne r3, ip, r3
50292 orrne r3, r7, r3
50293 strne r3, [r5, #8]
50294 mov r3, r4, lsr #24
50295 ands r3, r3, #15
50296 ldrne ip, [sp, #52]
50297 orrne r3, ip, r3
50298 orrne r3, r7, r3
50299 strne r3, [r5, #4]
50300 movs r3, r4, lsr #28
50301 ldrne r4, [sp, #52]
50302 orrne r3, r4, r3
50303 orrne r3, r7, r3
50304 strne r3, [r5, #0]
50305.L17156:
50306 add lr, lr, #1
50307 cmp lr, r8
50308 sub r6, r6, #32
50309 add r5, r5, #32
50310 bne .L17155
50311 rsb r3, r8, r8, asl #27
50312 add r0, r0, r3, asl #5
50313 add r1, r1, r8, asl #5
50314.L17153:
50315 ands lr, r2, #7
50316 beq .L15754
50317 ldr r0, [r0, #0]
50318 mov r2, #0
50319.L17175:
50320 ldr r5, [sp, #52]
50321 movs r3, r0, lsr #28
50322 orr r3, r5, r3
50323 orr r3, r7, r3
50324 strne r3, [r1, r2, asl #2]
50325 add r2, r2, #1
50326 cmp r2, lr
50327 mov r0, r0, asl #4
50328 bne .L17175
50329 b .L15754
50330.L17802:
50331 .align 2
50332.L17801:
50333 .word io_registers
50334 .word obj_priority_count
50335 .word obj_priority_list
50336 .word oam_ram
50337 .word obj_height_table
50338 .word obj_width_table
50339 .word vram+65536
50340.L16996:
50341 mov r3, lr, asl #22
50342 mov r1, r0, lsr #3
50343 mov r3, r3, lsr #22
50344 and r2, r0, #7
50345 add r3, r3, r1, asl #5
50346 ldr r5, [sp, #12]
50347 add r2, r2, r3, asl #2
50348 ldr r7, .L17801+24
50349 mov r0, r2, asl #3
50350 cmp r6, r5
50351 add ip, r0, r7
50352 bge .L17259
50353 rsb r0, r6, r5
50354 rsb lr, r0, sl
50355 cmp lr, #0
50356 ble .L15754
50357 ldr r8, [sp, #8]
50358 add r3, r6, sl
50359 cmp r8, r3
50360 bhi .L17262
50361 mov r3, r0, lsr #3
50362 ands lr, r0, #7
50363 add r6, ip, r3, asl #6
50364 bne .L17264
50365 ldr r5, [sp, #128]
50366 ldr r4, [sp, #96]
50367.L17266:
50368 movs lr, r5, lsr #3
50369 beq .L17324
50370 mov r1, r4
50371 mov r0, r6
50372 mov ip, #0
50373.L17326:
50374 ldr r2, [r0, #0]
50375 cmp r2, #0
50376 beq .L17327
50377 ands r3, r2, #255
50378 ldrne r7, [sp, #52]
50379 orrne r3, r7, r3
50380 strne r3, [r1, #0]
50381 mov r3, r2, lsr #8
50382 ands r3, r3, #255
50383 ldrne r8, [sp, #52]
50384 orrne r3, r8, r3
50385 strne r3, [r1, #4]
50386 mov r3, r2, lsr #16
50387 ands r3, r3, #255
50388 ldrne r7, [sp, #52]
50389 orrne r3, r7, r3
50390 strne r3, [r1, #8]
50391 movs r3, r2, lsr #24
50392 ldrne r8, [sp, #52]
50393 orrne r3, r8, r3
50394 strne r3, [r1, #12]
50395.L17327:
50396 ldr r2, [r0, #4]
50397 cmp r2, #0
50398 beq .L17336
50399 ands r3, r2, #255
50400 ldrne r7, [sp, #52]
50401 orrne r3, r7, r3
50402 strne r3, [r1, #16]
50403 mov r3, r2, lsr #8
50404 ands r3, r3, #255
50405 ldrne r8, [sp, #52]
50406 orrne r3, r8, r3
50407 strne r3, [r1, #20]
50408 mov r3, r2, lsr #16
50409 ands r3, r3, #255
50410 ldrne r7, [sp, #52]
50411 orrne r3, r7, r3
50412 strne r3, [r1, #24]
50413 movs r3, r2, lsr #24
50414 ldrne r8, [sp, #52]
50415 orrne r3, r8, r3
50416 strne r3, [r1, #28]
50417.L17336:
50418 add ip, ip, #1
50419 cmp lr, ip
50420 add r0, r0, #64
50421 add r1, r1, #32
50422 bne .L17326
50423 add r6, r6, lr, asl #6
50424 add r4, r4, lr, asl #5
50425.L17324:
50426 ands r0, r5, #7
50427 beq .L15754
50428 cmp r0, #3
50429 ldrls r1, [r6, #0]
50430 bls .L17359
50431 ldr r2, [r6, #0]
50432 cmp r2, #0
50433 beq .L17349
50434 ands r3, r2, #255
50435 ldrne ip, [sp, #52]
50436 orrne r3, ip, r3
50437 strne r3, [r4, #0]
50438 mov r3, r2, lsr #8
50439 ands r3, r3, #255
50440 ldrne lr, [sp, #52]
50441 orrne r3, lr, r3
50442 strne r3, [r4, #4]
50443 mov r3, r2, lsr #16
50444 ands r3, r3, #255
50445 ldrne r1, [sp, #52]
50446 orrne r3, r1, r3
50447 strne r3, [r4, #8]
50448 movs r3, r2, lsr #24
50449 ldrne r2, [sp, #52]
50450 orrne r3, r2, r3
50451 strne r3, [r4, #12]
50452.L17349:
50453 subs r0, r0, #4
50454 ldr r1, [r6, #4]
50455 addne r4, r4, #16
50456 beq .L15754
50457.L17359:
50458 mov r2, #0
50459.L17360:
50460 ldr r5, [sp, #52]
50461 ands r3, r1, #255
50462 orr r3, r5, r3
50463 strne r3, [r4, r2, asl #2]
50464 add r2, r2, #1
50465 cmp r0, r2
50466 mov r1, r1, lsr #8
50467 bhi .L17360
50468 b .L15754
50469.L15834:
50470 mov r3, lr, asl #22
50471 mov r1, r0, lsr #3
50472 mov r3, r3, lsr #22
50473 and r2, r0, #7
50474 add r3, r3, r1, asl #5
50475 ldr r4, [sp, #12]
50476 add r2, r2, r3, asl #2
50477 ldr r5, .L17801+24
50478 mov r0, r2, asl #3
50479 cmp r6, r4
50480 add ip, r0, r5
50481 bge .L16245
50482 rsb r0, r6, r4
50483 rsb r7, r0, sl
50484 cmp r7, #0
50485 ble .L15754
50486 ldr r8, [sp, #8]
50487 add r3, r6, sl
50488 cmp r8, r3
50489 bhi .L16248
50490 mov r3, r0, lsr #3
50491 ands lr, r0, #7
50492 add r7, ip, r3, asl #6
50493 bne .L16250
50494 ldr r6, [sp, #128]
50495 ldr lr, [sp, #96]
50496.L16252:
50497 movs r5, r6, lsr #3
50498 beq .L16330
50499 mov r0, lr
50500 mov ip, r7
50501 mov r4, #0
50502.L16332:
50503 ldr r2, [ip, #0]
50504 cmp r2, #0
50505 beq .L16333
50506 ands r1, r2, #255
50507 beq .L16335
50508 ldr r3, [r0, #0]
50509 tst r3, #256
50510 movne r3, r3, lsr #16
50511 movne r3, r3, asl #16
50512 orrne r3, r3, #768
50513 orreq r3, r1, r3, asl #16
50514 orrne r3, r1, r3
50515 orreq r3, r3, #768
50516 strne r3, [r0, #0]
50517 streq r3, [r0, #0]
50518.L16335:
50519 mov r3, r2, lsr #8
50520 ands r1, r3, #255
50521 beq .L16339
50522 ldr r3, [r0, #4]
50523 tst r3, #256
50524 movne r3, r3, lsr #16
50525 movne r3, r3, asl #16
50526 orrne r3, r3, #768
50527 orreq r3, r1, r3, asl #16
50528 orrne r3, r1, r3
50529 orreq r3, r3, #768
50530 strne r3, [r0, #4]
50531 streq r3, [r0, #4]
50532.L16339:
50533 mov r3, r2, lsr #16
50534 ands r1, r3, #255
50535 beq .L16343
50536 ldr r3, [r0, #8]
50537 tst r3, #256
50538 movne r3, r3, lsr #16
50539 movne r3, r3, asl #16
50540 orrne r3, r3, #768
50541 orreq r3, r1, r3, asl #16
50542 orrne r3, r1, r3
50543 orreq r3, r3, #768
50544 strne r3, [r0, #8]
50545 streq r3, [r0, #8]
50546.L16343:
50547 movs r2, r2, lsr #24
50548 beq .L16333
50549 ldr r1, [r0, #12]
50550 tst r1, #256
50551 movne r3, r1, lsr #16
50552 movne r3, r3, asl #16
50553 orreq r3, r2, #768
50554 orrne r2, r2, #768
50555 orrne r3, r3, r2
50556 orreq r3, r3, r1, asl #16
50557 strne r3, [r0, #12]
50558 streq r3, [r0, #12]
50559.L16333:
50560 ldr r2, [ip, #4]
50561 cmp r2, #0
50562 beq .L16350
50563 ands r1, r2, #255
50564 beq .L16352
50565 ldr r3, [r0, #16]
50566 tst r3, #256
50567 movne r3, r3, lsr #16
50568 movne r3, r3, asl #16
50569 orrne r3, r3, #768
50570 orreq r3, r1, r3, asl #16
50571 orrne r3, r1, r3
50572 orreq r3, r3, #768
50573 strne r3, [r0, #16]
50574 streq r3, [r0, #16]
50575.L16352:
50576 mov r3, r2, lsr #8
50577 ands r1, r3, #255
50578 beq .L16356
50579 ldr r3, [r0, #20]
50580 tst r3, #256
50581 movne r3, r3, lsr #16
50582 movne r3, r3, asl #16
50583 orrne r3, r3, #768
50584 orreq r3, r1, r3, asl #16
50585 orrne r3, r1, r3
50586 orreq r3, r3, #768
50587 strne r3, [r0, #20]
50588 streq r3, [r0, #20]
50589.L16356:
50590 mov r3, r2, lsr #16
50591 ands r1, r3, #255
50592 beq .L16360
50593 ldr r3, [r0, #24]
50594 tst r3, #256
50595 movne r3, r3, lsr #16
50596 movne r3, r3, asl #16
50597 orrne r3, r3, #768
50598 orreq r3, r1, r3, asl #16
50599 orrne r3, r1, r3
50600 orreq r3, r3, #768
50601 strne r3, [r0, #24]
50602 streq r3, [r0, #24]
50603.L16360:
50604 movs r2, r2, lsr #24
50605 beq .L16350
50606 ldr r3, [r0, #28]
50607 tst r3, #256
50608 movne r3, r3, lsr #16
50609 movne r3, r3, asl #16
50610 orrne r3, r3, #768
50611 orreq r3, r2, r3, asl #16
50612 orrne r3, r2, r3
50613 orreq r3, r3, #768
50614 strne r3, [r0, #28]
50615 streq r3, [r0, #28]
50616.L16350:
50617 add r4, r4, #1
50618 cmp r4, r5
50619 add ip, ip, #64
50620 add r0, r0, #32
50621 bne .L16332
50622 add r7, r7, r5, asl #6
50623 add lr, lr, r5, asl #5
50624.L16330:
50625 ands r5, r6, #7
50626 beq .L15754
50627 cmp r5, #3
50628 ldrls ip, [r7, #0]
50629 bls .L16389
50630 ldr r2, [r7, #0]
50631 cmp r2, #0
50632 beq .L16371
50633 ands r1, r2, #255
50634 beq .L16373
50635 ldr r3, [lr, #0]
50636 tst r3, #256
50637 movne r3, r3, lsr #16
50638 movne r3, r3, asl #16
50639 orrne r3, r3, #768
50640 orreq r3, r1, r3, asl #16
50641 orrne r3, r1, r3
50642 orreq r3, r3, #768
50643 strne r3, [lr, #0]
50644 streq r3, [lr, #0]
50645.L16373:
50646 mov r3, r2, lsr #8
50647 ands r1, r3, #255
50648 beq .L16377
50649 ldr r3, [lr, #4]
50650 tst r3, #256
50651 movne r3, r3, lsr #16
50652 movne r3, r3, asl #16
50653 orrne r3, r3, #768
50654 orreq r3, r1, r3, asl #16
50655 orrne r3, r1, r3
50656 orreq r3, r3, #768
50657 strne r3, [lr, #4]
50658 streq r3, [lr, #4]
50659.L16377:
50660 mov r3, r2, lsr #16
50661 ands r1, r3, #255
50662 beq .L16381
50663 ldr r3, [lr, #8]
50664 tst r3, #256
50665 movne r3, r3, lsr #16
50666 movne r3, r3, asl #16
50667 orrne r3, r3, #768
50668 orreq r3, r1, r3, asl #16
50669 orrne r3, r1, r3
50670 orreq r3, r3, #768
50671 strne r3, [lr, #8]
50672 streq r3, [lr, #8]
50673.L16381:
50674 movs r2, r2, lsr #24
50675 beq .L16371
50676 ldr r1, [lr, #12]
50677 tst r1, #256
50678 movne r3, r1, lsr #16
50679 movne r3, r3, asl #16
50680 orreq r3, r2, #768
50681 orrne r2, r2, #768
50682 orrne r3, r3, r2
50683 orreq r3, r3, r1, asl #16
50684 strne r3, [lr, #12]
50685 streq r3, [lr, #12]
50686.L16371:
50687 subs r5, r5, #4
50688 ldr ip, [r7, #4]
50689 addne lr, lr, #16
50690 beq .L15754
50691.L16389:
50692 mov r4, #0
50693.L16390:
50694 ands r0, ip, #255
50695 beq .L16391
50696 ldr r2, [lr, #0]
50697 orr r1, r0, #768
50698 mov r3, r2, lsr #16
50699 orr r0, r0, #768
50700 mov r3, r3, asl #16
50701 tst r2, #256
50702 orr r3, r3, r1
50703 orr r0, r0, r2, asl #16
50704 strne r3, [lr, #0]
50705 streq r0, [lr, #0]
50706.L16391:
50707 add r4, r4, #1
50708 cmp r5, r4
50709 mov ip, ip, lsr #8
50710 add lr, lr, #4
50711 bhi .L16390
50712 b .L15754
50713.L15832:
50714 mov r3, lr, asl #22
50715 mov r2, r0, lsr #3
50716 mov r3, r3, lsr #22
50717 add r3, r3, r2, asl #5
50718 and r1, r0, #7
50719 add r1, r1, r3, asl #3
50720 ldr r3, [sp, #12]
50721 ldr r4, .L17801+24
50722 cmp r6, r3
50723 mov r3, lr, lsr #8
50724 and r7, r3, #240
50725 add r0, r4, r1, asl #2
50726 bge .L15837
50727 ldr r5, [sp, #12]
50728 rsb r4, r6, r5
50729 rsb r8, r4, sl
50730 cmp r8, #0
50731 ble .L15754
50732 ldr ip, [sp, #8]
50733 add r3, r6, sl
50734 cmp ip, r3
50735 bhi .L15840
50736 mov r3, r4, lsr #3
50737 mov r1, r3, asl #5
50738 ands r3, r4, #7
50739 add r8, r0, r1
50740 bne .L15842
50741 ldr sl, [sp, #128]
50742 ldr r5, [sp, #96]
50743.L15844:
50744 movs r6, sl, lsr #3
50745 beq .L15865
50746 mov ip, r5
50747 mov lr, r8
50748 mov r4, #0
50749.L15867:
50750 ldr r0, [lr, #0]
50751 cmp r0, #0
50752 beq .L15868
50753 ands r2, r0, #15
50754 beq .L15870
50755 ldr r1, [ip, #0]
50756 orr r2, r7, r2
50757 tst r1, #256
50758 movne r3, r1, lsr #16
50759 movne r3, r3, asl #16
50760 orreq r3, r2, #768
50761 orrne r2, r2, #768
50762 orrne r3, r3, r2
50763 orreq r3, r3, r1, asl #16
50764 strne r3, [ip, #0]
50765 streq r3, [ip, #0]
50766.L15870:
50767 mov r3, r0, lsr #4
50768 ands r2, r3, #15
50769 beq .L15874
50770 ldr r1, [ip, #4]
50771 orr r2, r7, r2
50772 tst r1, #256
50773 movne r3, r1, lsr #16
50774 movne r3, r3, asl #16
50775 orreq r3, r2, #768
50776 orrne r2, r2, #768
50777 orrne r3, r3, r2
50778 orreq r3, r3, r1, asl #16
50779 strne r3, [ip, #4]
50780 streq r3, [ip, #4]
50781.L15874:
50782 mov r3, r0, lsr #8
50783 ands r2, r3, #15
50784 beq .L15878
50785 ldr r1, [ip, #8]
50786 orr r2, r7, r2
50787 tst r1, #256
50788 movne r3, r1, lsr #16
50789 movne r3, r3, asl #16
50790 orreq r3, r2, #768
50791 orrne r2, r2, #768
50792 orrne r3, r3, r2
50793 orreq r3, r3, r1, asl #16
50794 strne r3, [ip, #8]
50795 streq r3, [ip, #8]
50796.L15878:
50797 mov r3, r0, lsr #12
50798 ands r2, r3, #15
50799 beq .L15882
50800 ldr r1, [ip, #12]
50801 orr r2, r7, r2
50802 tst r1, #256
50803 movne r3, r1, lsr #16
50804 movne r3, r3, asl #16
50805 orreq r3, r2, #768
50806 orrne r2, r2, #768
50807 orrne r3, r3, r2
50808 orreq r3, r3, r1, asl #16
50809 strne r3, [ip, #12]
50810 streq r3, [ip, #12]
50811.L15882:
50812 mov r3, r0, lsr #16
50813 ands r2, r3, #15
50814 beq .L15886
50815 ldr r1, [ip, #16]
50816 orr r2, r7, r2
50817 tst r1, #256
50818 movne r3, r1, lsr #16
50819 movne r3, r3, asl #16
50820 orreq r3, r2, #768
50821 orrne r2, r2, #768
50822 orrne r3, r3, r2
50823 orreq r3, r3, r1, asl #16
50824 strne r3, [ip, #16]
50825 streq r3, [ip, #16]
50826.L15886:
50827 mov r3, r0, lsr #20
50828 ands r2, r3, #15
50829 beq .L15890
50830 ldr r1, [ip, #20]
50831 orr r2, r7, r2
50832 tst r1, #256
50833 movne r3, r1, lsr #16
50834 movne r3, r3, asl #16
50835 orreq r3, r2, #768
50836 orrne r2, r2, #768
50837 orrne r3, r3, r2
50838 orreq r3, r3, r1, asl #16
50839 strne r3, [ip, #20]
50840 streq r3, [ip, #20]
50841.L15890:
50842 mov r3, r0, lsr #24
50843 ands r2, r3, #15
50844 beq .L15894
50845 ldr r1, [ip, #24]
50846 orr r2, r7, r2
50847 tst r1, #256
50848 movne r3, r1, lsr #16
50849 movne r3, r3, asl #16
50850 orreq r3, r2, #768
50851 orrne r2, r2, #768
50852 orrne r3, r3, r2
50853 orreq r3, r3, r1, asl #16
50854 strne r3, [ip, #24]
50855 streq r3, [ip, #24]
50856.L15894:
50857 movs r2, r0, lsr #28
50858 beq .L15868
50859 ldr r1, [ip, #28]
50860 orr r2, r7, r2
50861 tst r1, #256
50862 movne r3, r1, lsr #16
50863 movne r3, r3, asl #16
50864 orreq r3, r2, #768
50865 orrne r2, r2, #768
50866 orrne r3, r3, r2
50867 orreq r3, r3, r1, asl #16
50868 strne r3, [ip, #28]
50869 streq r3, [ip, #28]
50870.L15868:
50871 add r4, r4, #1
50872 cmp r6, r4
50873 add lr, lr, #32
50874 add ip, ip, #32
50875 bne .L15867
50876 mov r3, r6, asl #5
50877 add r8, r8, r3
50878 add r5, r5, r3
50879.L15865:
50880 ands lr, sl, #7
50881 beq .L15754
50882 ldr ip, [r8, #0]
50883 mov r4, #0
50884.L15903:
50885 ands r3, ip, #15
50886 beq .L15904
50887 ldr r1, [r5, #0]
50888 orr r2, r7, r3
50889 mov r3, r1, lsr #16
50890 orr r0, r2, #768
50891 mov r3, r3, asl #16
50892 orr r2, r2, #768
50893 tst r1, #256
50894 orr r3, r3, r0
50895 orr r2, r2, r1, asl #16
50896 strne r3, [r5, #0]
50897 streq r2, [r5, #0]
50898.L15904:
50899 add r4, r4, #1
50900 cmp lr, r4
50901 mov ip, ip, lsr #4
50902 add r5, r5, #4
50903 bne .L15903
50904 b .L15754
50905.L15835:
50906 subs r2, sl, #8
50907 submi r2, sl, #1
50908 mov r3, r0, lsr #3
50909 mov r2, r2, asr #3
50910 mov r1, lr, asl #22
50911 add r2, r2, r3, asl #4
50912 mov r1, r1, lsr #22
50913 and r3, r0, #7
50914 add r1, r1, r2, asl #1
50915 add r3, r3, r1, asl #2
50916 mov r0, r3, asl #3
50917 ldr r3, [sp, #12]
50918 ldr r4, .L17801+24
50919 cmp r6, r3
50920 add ip, r0, r4
50921 bge .L16581
50922 rsb r0, r6, r3
50923 rsb r7, r0, sl
50924 cmp r7, #0
50925 ble .L15754
50926 ldr r5, [sp, #8]
50927 add r3, r6, sl
50928 cmp r5, r3
50929 bhi .L16584
50930 mov r3, r0, lsr #3
50931 ands lr, r0, #7
50932 sub r8, ip, r3, asl #6
50933 bne .L16586
50934 ldr r7, [sp, #128]
50935 ldr r5, [sp, #96]
50936.L16588:
50937 movs r6, r7, lsr #3
50938 beq .L16666
50939 mov ip, r5
50940 mov lr, r8
50941 mov r4, #0
50942.L16668:
50943 ldr r2, [lr, #4]
50944 cmp r2, #0
50945 beq .L16669
50946 ands r1, r2, #255
50947 beq .L16671
50948 ldr r3, [ip, #12]
50949 tst r3, #256
50950 movne r3, r3, lsr #16
50951 movne r3, r3, asl #16
50952 orrne r3, r3, #768
50953 orreq r3, r1, r3, asl #16
50954 orrne r3, r1, r3
50955 orreq r3, r3, #768
50956 strne r3, [ip, #12]
50957 streq r3, [ip, #12]
50958.L16671:
50959 mov r3, r2, lsr #8
50960 ands r1, r3, #255
50961 beq .L16675
50962 ldr r3, [ip, #8]
50963 tst r3, #256
50964 movne r3, r3, lsr #16
50965 movne r3, r3, asl #16
50966 orrne r3, r3, #768
50967 orreq r3, r1, r3, asl #16
50968 orrne r3, r1, r3
50969 orreq r3, r3, #768
50970 strne r3, [ip, #8]
50971 streq r3, [ip, #8]
50972.L16675:
50973 mov r3, r2, lsr #16
50974 ands r1, r3, #255
50975 beq .L16679
50976 ldr r3, [ip, #4]
50977 tst r3, #256
50978 movne r3, r3, lsr #16
50979 movne r3, r3, asl #16
50980 orrne r3, r3, #768
50981 orreq r3, r1, r3, asl #16
50982 orrne r3, r1, r3
50983 orreq r3, r3, #768
50984 strne r3, [ip, #4]
50985 streq r3, [ip, #4]
50986.L16679:
50987 movs r2, r2, lsr #24
50988 beq .L16669
50989 ldr r3, [ip, #0]
50990 tst r3, #256
50991 movne r3, r3, lsr #16
50992 movne r3, r3, asl #16
50993 orrne r3, r3, #768
50994 orreq r3, r2, r3, asl #16
50995 orrne r3, r2, r3
50996 orreq r3, r3, #768
50997 strne r3, [ip, #0]
50998 streq r3, [ip, #0]
50999.L16669:
51000 ldr r1, [lr, #0]
51001 cmp r1, #0
51002 beq .L16686
51003 ands r2, r1, #255
51004 beq .L16688
51005 ldr r0, [ip, #28]
51006 tst r0, #256
51007 movne r3, r0, lsr #16
51008 movne r3, r3, asl #16
51009 orreq r3, r2, #768
51010 orrne r2, r2, #768
51011 orrne r3, r3, r2
51012 orreq r3, r3, r0, asl #16
51013 strne r3, [ip, #28]
51014 streq r3, [ip, #28]
51015.L16688:
51016 mov r3, r1, lsr #8
51017 ands r2, r3, #255
51018 beq .L16692
51019 ldr r3, [ip, #24]
51020 tst r3, #256
51021 movne r3, r3, lsr #16
51022 movne r3, r3, asl #16
51023 orrne r3, r3, #768
51024 orreq r3, r2, r3, asl #16
51025 orrne r3, r2, r3
51026 orreq r3, r3, #768
51027 strne r3, [ip, #24]
51028 streq r3, [ip, #24]
51029.L16692:
51030 mov r3, r1, lsr #16
51031 ands r2, r3, #255
51032 beq .L16696
51033 ldr r3, [ip, #20]
51034 tst r3, #256
51035 movne r3, r3, lsr #16
51036 movne r3, r3, asl #16
51037 orrne r3, r3, #768
51038 orreq r3, r2, r3, asl #16
51039 orrne r3, r2, r3
51040 orreq r3, r3, #768
51041 strne r3, [ip, #20]
51042 streq r3, [ip, #20]
51043.L16696:
51044 movs r2, r1, lsr #24
51045 beq .L16686
51046 ldr r1, [ip, #16]
51047 tst r1, #256
51048 movne r3, r1, lsr #16
51049 movne r3, r3, asl #16
51050 orreq r3, r2, #768
51051 orrne r2, r2, #768
51052 orrne r3, r3, r2
51053 orreq r3, r3, r1, asl #16
51054 strne r3, [ip, #16]
51055 streq r3, [ip, #16]
51056.L16686:
51057 add r4, r4, #1
51058 cmp r6, r4
51059 sub lr, lr, #64
51060 add ip, ip, #32
51061 bne .L16668
51062 rsb r3, r6, r6, asl #26
51063 add r8, r8, r3, asl #6
51064 add r5, r5, r6, asl #5
51065.L16666:
51066 ands lr, r7, #7
51067 beq .L15754
51068 cmp lr, #3
51069 ldrls ip, [r8, #4]
51070 bls .L16725
51071 ldr r2, [r8, #4]
51072 cmp r2, #0
51073 beq .L16707
51074 ands r1, r2, #255
51075 beq .L16709
51076 ldr r3, [r5, #12]
51077 tst r3, #256
51078 movne r3, r3, lsr #16
51079 movne r3, r3, asl #16
51080 orrne r3, r3, #768
51081 orreq r3, r1, r3, asl #16
51082 orrne r3, r1, r3
51083 orreq r3, r3, #768
51084 strne r3, [r5, #12]
51085 streq r3, [r5, #12]
51086.L16709:
51087 mov r3, r2, lsr #8
51088 ands r1, r3, #255
51089 beq .L16713
51090 ldr r3, [r5, #8]
51091 tst r3, #256
51092 movne r3, r3, lsr #16
51093 movne r3, r3, asl #16
51094 orrne r3, r3, #768
51095 orreq r3, r1, r3, asl #16
51096 orrne r3, r1, r3
51097 orreq r3, r3, #768
51098 strne r3, [r5, #8]
51099 streq r3, [r5, #8]
51100.L16713:
51101 mov r3, r2, lsr #16
51102 ands r1, r3, #255
51103 beq .L16717
51104 ldr r3, [r5, #4]
51105 tst r3, #256
51106 movne r3, r3, lsr #16
51107 movne r3, r3, asl #16
51108 orrne r3, r3, #768
51109 orreq r3, r1, r3, asl #16
51110 orrne r3, r1, r3
51111 orreq r3, r3, #768
51112 strne r3, [r5, #4]
51113 streq r3, [r5, #4]
51114.L16717:
51115 movs r2, r2, lsr #24
51116 beq .L16707
51117 ldr r3, [r5, #0]
51118 tst r3, #256
51119 movne r3, r3, lsr #16
51120 movne r3, r3, asl #16
51121 orrne r3, r3, #768
51122 orreq r3, r2, r3, asl #16
51123 orrne r3, r2, r3
51124 orreq r3, r3, #768
51125 strne r3, [r5, #0]
51126 streq r3, [r5, #0]
51127.L16707:
51128 subs lr, lr, #4
51129 ldr ip, [r8, #0]
51130 addne r5, r5, #16
51131 beq .L15754
51132.L16725:
51133 mov r4, #0
51134.L16726:
51135 movs r0, ip, lsr #24
51136 beq .L16727
51137 ldr r2, [r5, #0]
51138 orr r1, r0, #768
51139 mov r3, r2, lsr #16
51140 orr r0, r0, #768
51141 mov r3, r3, asl #16
51142 tst r2, #256
51143 orr r3, r3, r1
51144 orr r0, r0, r2, asl #16
51145 strne r3, [r5, #0]
51146 streq r0, [r5, #0]
51147.L16727:
51148 add r4, r4, #1
51149 cmp r4, lr
51150 mov ip, ip, asl #8
51151 add r5, r5, #4
51152 bcc .L16726
51153 b .L15754
51154.L16997:
51155 subs r2, sl, #8
51156 submi r2, sl, #1
51157 mov r3, r0, lsr #3
51158 mov r2, r2, asr #3
51159 mov r1, lr, asl #22
51160 add r2, r2, r3, asl #4
51161 mov r1, r1, lsr #22
51162 add r1, r1, r2, asl #1
51163 and r3, r0, #7
51164 ldr r5, [sp, #12]
51165 add r3, r3, r1, asl #2
51166 ldr r7, .L17801+24
51167 mov r0, r3, asl #3
51168 cmp r6, r5
51169 add r2, r0, r7
51170 bge .L17479
51171 rsb r0, r6, r5
51172 rsb lr, r0, sl
51173 cmp lr, #0
51174 ble .L15754
51175 ldr r8, [sp, #8]
51176 add r3, r6, sl
51177 cmp r8, r3
51178 bhi .L17482
51179 mov r3, r0, lsr #3
51180 ands ip, r0, #7
51181 sub r6, r2, r3, asl #6
51182 bne .L17484
51183 ldr r5, [sp, #128]
51184 ldr r4, [sp, #96]
51185.L17486:
51186 movs lr, r5, lsr #3
51187 beq .L17544
51188 mov r1, r4
51189 mov r0, r6
51190 mov ip, #0
51191.L17546:
51192 ldr r2, [r0, #4]
51193 cmp r2, #0
51194 beq .L17547
51195 ands r3, r2, #255
51196 ldrne r7, [sp, #52]
51197 orrne r3, r7, r3
51198 strne r3, [r1, #12]
51199 mov r3, r2, lsr #8
51200 ands r3, r3, #255
51201 ldrne r8, [sp, #52]
51202 orrne r3, r8, r3
51203 strne r3, [r1, #8]
51204 mov r3, r2, lsr #16
51205 ands r3, r3, #255
51206 ldrne r7, [sp, #52]
51207 orrne r3, r7, r3
51208 strne r3, [r1, #4]
51209 movs r3, r2, lsr #24
51210 ldrne r8, [sp, #52]
51211 orrne r3, r8, r3
51212 strne r3, [r1, #0]
51213.L17547:
51214 ldr r2, [r0, #0]
51215 cmp r2, #0
51216 beq .L17556
51217 ands r3, r2, #255
51218 ldrne r7, [sp, #52]
51219 orrne r3, r7, r3
51220 strne r3, [r1, #28]
51221 mov r3, r2, lsr #8
51222 ands r3, r3, #255
51223 ldrne r8, [sp, #52]
51224 orrne r3, r8, r3
51225 strne r3, [r1, #24]
51226 mov r3, r2, lsr #16
51227 ands r3, r3, #255
51228 ldrne r7, [sp, #52]
51229 orrne r3, r7, r3
51230 strne r3, [r1, #20]
51231 movs r3, r2, lsr #24
51232 ldrne r8, [sp, #52]
51233 orrne r3, r8, r3
51234 strne r3, [r1, #16]
51235.L17556:
51236 add ip, ip, #1
51237 cmp ip, lr
51238 sub r0, r0, #64
51239 add r1, r1, #32
51240 bne .L17546
51241 rsb r3, lr, lr, asl #26
51242 add r6, r6, r3, asl #6
51243 add r4, r4, lr, asl #5
51244.L17544:
51245 ands r0, r5, #7
51246 beq .L15754
51247 cmp r0, #3
51248 ldrls r2, [r6, #4]
51249 bls .L17579
51250 ldr r2, [r6, #4]
51251 cmp r2, #0
51252 beq .L17569
51253 ands r3, r2, #255
51254 ldrne ip, [sp, #52]
51255 orrne r3, ip, r3
51256 strne r3, [r4, #12]
51257 mov r3, r2, lsr #8
51258 ands r3, r3, #255
51259 ldrne lr, [sp, #52]
51260 orrne r3, lr, r3
51261 strne r3, [r4, #8]
51262 mov r3, r2, lsr #16
51263 ands r3, r3, #255
51264 ldrne r1, [sp, #52]
51265 orrne r3, r1, r3
51266 strne r3, [r4, #4]
51267 movs r3, r2, lsr #24
51268 ldrne r2, [sp, #52]
51269 orrne r3, r2, r3
51270 strne r3, [r4, #0]
51271.L17569:
51272 subs r0, r0, #4
51273 ldr r2, [r6, #0]
51274 addne r4, r4, #16
51275 beq .L15754
51276.L17579:
51277 mov r1, #0
51278.L17580:
51279 ldr r5, [sp, #52]
51280 movs r3, r2, lsr #24
51281 orr r3, r5, r3
51282 strne r3, [r4, r1, asl #2]
51283 add r1, r1, #1
51284 cmp r0, r1
51285 mov r2, r2, asl #8
51286 bhi .L17580
51287 b .L15754
51288.L15833:
51289 mov r3, lr, asl #22
51290 mov r1, r0, lsr #3
51291 subs r2, sl, #8
51292 mov r3, r3, lsr #22
51293 submi r2, sl, #1
51294 add r3, r3, r1, asl #5
51295 add r3, r3, r2, asr #3
51296 and r1, r0, #7
51297 ldr ip, [sp, #12]
51298 add r1, r1, r3, asl #3
51299 mov r3, lr, lsr #8
51300 ldr lr, .L17801+24
51301 cmp r6, ip
51302 and r7, r3, #240
51303 add r0, lr, r1, asl #2
51304 bge .L16041
51305 rsb r4, r6, ip
51306 rsb lr, r4, sl
51307 cmp lr, #0
51308 ble .L15754
51309 ldr r1, [sp, #8]
51310 add r3, r6, sl
51311 cmp r1, r3
51312 bhi .L16044
51313 mov r3, r4, lsr #3
51314 ands lr, r4, #7
51315 sub ip, r0, r3, asl #5
51316 bne .L16046
51317 ldr sl, [sp, #128]
51318 ldr r5, [sp, #96]
51319.L16048:
51320 movs r8, sl, lsr #3
51321 beq .L16069
51322 mov r4, r5
51323 mov lr, ip
51324 mov r6, #0
51325.L16071:
51326 ldr r0, [lr, #0]
51327 cmp r0, #0
51328 beq .L16072
51329 ands r2, r0, #15
51330 beq .L16074
51331 ldr r1, [r4, #28]
51332 orr r2, r7, r2
51333 tst r1, #256
51334 movne r3, r1, lsr #16
51335 movne r3, r3, asl #16
51336 orreq r3, r2, #768
51337 orrne r2, r2, #768
51338 orrne r3, r3, r2
51339 orreq r3, r3, r1, asl #16
51340 strne r3, [r4, #28]
51341 streq r3, [r4, #28]
51342.L16074:
51343 mov r3, r0, lsr #4
51344 ands r2, r3, #15
51345 beq .L16078
51346 ldr r1, [r4, #24]
51347 orr r2, r7, r2
51348 tst r1, #256
51349 movne r3, r1, lsr #16
51350 movne r3, r3, asl #16
51351 orreq r3, r2, #768
51352 orrne r2, r2, #768
51353 orrne r3, r3, r2
51354 orreq r3, r3, r1, asl #16
51355 strne r3, [r4, #24]
51356 streq r3, [r4, #24]
51357.L16078:
51358 mov r3, r0, lsr #8
51359 ands r2, r3, #15
51360 beq .L16082
51361 ldr r1, [r4, #20]
51362 orr r2, r7, r2
51363 tst r1, #256
51364 movne r3, r1, lsr #16
51365 movne r3, r3, asl #16
51366 orreq r3, r2, #768
51367 orrne r2, r2, #768
51368 orrne r3, r3, r2
51369 orreq r3, r3, r1, asl #16
51370 strne r3, [r4, #20]
51371 streq r3, [r4, #20]
51372.L16082:
51373 mov r3, r0, lsr #12
51374 ands r2, r3, #15
51375 beq .L16086
51376 ldr r1, [r4, #16]
51377 orr r2, r7, r2
51378 tst r1, #256
51379 movne r3, r1, lsr #16
51380 movne r3, r3, asl #16
51381 orreq r3, r2, #768
51382 orrne r2, r2, #768
51383 orrne r3, r3, r2
51384 orreq r3, r3, r1, asl #16
51385 strne r3, [r4, #16]
51386 streq r3, [r4, #16]
51387.L16086:
51388 mov r3, r0, lsr #16
51389 ands r2, r3, #15
51390 beq .L16090
51391 ldr r1, [r4, #12]
51392 orr r2, r7, r2
51393 tst r1, #256
51394 movne r3, r1, lsr #16
51395 movne r3, r3, asl #16
51396 orreq r3, r2, #768
51397 orrne r2, r2, #768
51398 orrne r3, r3, r2
51399 orreq r3, r3, r1, asl #16
51400 strne r3, [r4, #12]
51401 streq r3, [r4, #12]
51402.L16090:
51403 mov r3, r0, lsr #20
51404 ands r2, r3, #15
51405 beq .L16094
51406 ldr r1, [r4, #8]
51407 orr r2, r7, r2
51408 tst r1, #256
51409 movne r3, r1, lsr #16
51410 movne r3, r3, asl #16
51411 orreq r3, r2, #768
51412 orrne r2, r2, #768
51413 orrne r3, r3, r2
51414 orreq r3, r3, r1, asl #16
51415 strne r3, [r4, #8]
51416 streq r3, [r4, #8]
51417.L16094:
51418 mov r3, r0, lsr #24
51419 ands r2, r3, #15
51420 beq .L16098
51421 ldr r1, [r4, #4]
51422 orr r2, r7, r2
51423 tst r1, #256
51424 movne r3, r1, lsr #16
51425 movne r3, r3, asl #16
51426 orreq r3, r2, #768
51427 orrne r2, r2, #768
51428 orrne r3, r3, r2
51429 orreq r3, r3, r1, asl #16
51430 strne r3, [r4, #4]
51431 streq r3, [r4, #4]
51432.L16098:
51433 movs r2, r0, lsr #28
51434 beq .L16072
51435 ldr r1, [r4, #0]
51436 orr r2, r7, r2
51437 tst r1, #256
51438 movne r3, r1, lsr #16
51439 movne r3, r3, asl #16
51440 orreq r3, r2, #768
51441 orrne r2, r2, #768
51442 orrne r3, r3, r2
51443 orreq r3, r3, r1, asl #16
51444 strne r3, [r4, #0]
51445 streq r3, [r4, #0]
51446.L16072:
51447 add r6, r6, #1
51448 cmp r8, r6
51449 sub lr, lr, #32
51450 add r4, r4, #32
51451 bne .L16071
51452 rsb r3, r8, r8, asl #27
51453 add ip, ip, r3, asl #5
51454 add r5, r5, r8, asl #5
51455.L16069:
51456 ands lr, sl, #7
51457 beq .L15754
51458 ldr ip, [ip, #0]
51459 mov r4, #0
51460.L16107:
51461 movs r3, ip, lsr #28
51462 beq .L16108
51463 ldr r1, [r5, #0]
51464 orr r2, r7, r3
51465 mov r3, r1, lsr #16
51466 orr r0, r2, #768
51467 mov r3, r3, asl #16
51468 orr r2, r2, #768
51469 tst r1, #256
51470 orr r3, r3, r0
51471 orr r2, r2, r1, asl #16
51472 strne r3, [r5, #0]
51473 streq r2, [r5, #0]
51474.L16108:
51475 add r4, r4, #1
51476 cmp r4, lr
51477 mov ip, ip, asl #4
51478 add r5, r5, #4
51479 bne .L16107
51480 b .L15754
51481.L16041:
51482 ldr r1, [sp, #8]
51483 add r3, r6, sl
51484 cmp r1, r3
51485 bls .L17761
51486 cmp sl, #0
51487 add r3, sl, #7
51488 movge r3, sl
51489 movs lr, r3, asr #3
51490 beq .L15754
51491 ldr r3, [sp, #4]
51492 mov ip, #0
51493 add r1, r3, r6, asl #2
51494 b .L16210
51495.L17762:
51496 sub r0, r0, #32
51497 add r1, r1, #32
51498.L16210:
51499 ldr r5, [r0, #0]
51500 cmp r5, #0
51501 beq .L16211
51502 ands r2, r5, #15
51503 beq .L16213
51504 ldr r4, [r1, #28]
51505 orr r2, r7, r2
51506 tst r4, #256
51507 movne r3, r4, lsr #16
51508 movne r3, r3, asl #16
51509 orreq r3, r2, #768
51510 orrne r2, r2, #768
51511 orrne r3, r3, r2
51512 orreq r3, r3, r4, asl #16
51513 strne r3, [r1, #28]
51514 streq r3, [r1, #28]
51515.L16213:
51516 mov r3, r5, lsr #4
51517 ands r2, r3, #15
51518 beq .L16217
51519 ldr r4, [r1, #24]
51520 orr r2, r7, r2
51521 tst r4, #256
51522 movne r3, r4, lsr #16
51523 movne r3, r3, asl #16
51524 orreq r3, r2, #768
51525 orrne r2, r2, #768
51526 orrne r3, r3, r2
51527 orreq r3, r3, r4, asl #16
51528 strne r3, [r1, #24]
51529 streq r3, [r1, #24]
51530.L16217:
51531 mov r3, r5, lsr #8
51532 ands r2, r3, #15
51533 beq .L16221
51534 ldr r4, [r1, #20]
51535 orr r2, r7, r2
51536 tst r4, #256
51537 movne r3, r4, lsr #16
51538 movne r3, r3, asl #16
51539 orreq r3, r2, #768
51540 orrne r2, r2, #768
51541 orrne r3, r3, r2
51542 orreq r3, r3, r4, asl #16
51543 strne r3, [r1, #20]
51544 streq r3, [r1, #20]
51545.L16221:
51546 mov r3, r5, lsr #12
51547 ands r2, r3, #15
51548 beq .L16225
51549 ldr r4, [r1, #16]
51550 orr r2, r7, r2
51551 tst r4, #256
51552 movne r3, r4, lsr #16
51553 movne r3, r3, asl #16
51554 orreq r3, r2, #768
51555 orrne r2, r2, #768
51556 orrne r3, r3, r2
51557 orreq r3, r3, r4, asl #16
51558 strne r3, [r1, #16]
51559 streq r3, [r1, #16]
51560.L16225:
51561 mov r3, r5, lsr #16
51562 ands r2, r3, #15
51563 beq .L16229
51564 ldr r4, [r1, #12]
51565 orr r2, r7, r2
51566 tst r4, #256
51567 movne r3, r4, lsr #16
51568 movne r3, r3, asl #16
51569 orreq r3, r2, #768
51570 orrne r2, r2, #768
51571 orrne r3, r3, r2
51572 orreq r3, r3, r4, asl #16
51573 strne r3, [r1, #12]
51574 streq r3, [r1, #12]
51575.L16229:
51576 mov r3, r5, lsr #20
51577 ands r2, r3, #15
51578 beq .L16233
51579 ldr r4, [r1, #8]
51580 orr r2, r7, r2
51581 tst r4, #256
51582 movne r3, r4, lsr #16
51583 movne r3, r3, asl #16
51584 orreq r3, r2, #768
51585 orrne r2, r2, #768
51586 orrne r3, r3, r2
51587 orreq r3, r3, r4, asl #16
51588 strne r3, [r1, #8]
51589 streq r3, [r1, #8]
51590.L16233:
51591 mov r3, r5, lsr #24
51592 ands r2, r3, #15
51593 beq .L16237
51594 ldr r4, [r1, #4]
51595 orr r2, r7, r2
51596 tst r4, #256
51597 movne r3, r4, lsr #16
51598 movne r3, r3, asl #16
51599 orreq r3, r2, #768
51600 orrne r2, r2, #768
51601 orrne r3, r3, r2
51602 orreq r3, r3, r4, asl #16
51603 strne r3, [r1, #4]
51604 streq r3, [r1, #4]
51605.L16237:
51606 movs r2, r5, lsr #28
51607 beq .L16211
51608 ldr r4, [r1, #0]
51609 orr r2, r7, r2
51610 tst r4, #256
51611 movne r3, r4, lsr #16
51612 movne r3, r3, asl #16
51613 orreq r3, r2, #768
51614 orrne r2, r2, #768
51615 orrne r3, r3, r2
51616 orreq r3, r3, r4, asl #16
51617 strne r3, [r1, #0]
51618 streq r3, [r1, #0]
51619.L16211:
51620 add ip, ip, #1
51621 cmp lr, ip
51622 bne .L17762
51623 b .L15754
51624.L16999:
51625 ldr ip, [sp, #8]
51626 add r3, r6, sl
51627 cmp ip, r3
51628 bls .L17763
51629 cmp sl, #0
51630 add r3, sl, #7
51631 movge r3, sl
51632 movs ip, r3, asr #3
51633 beq .L15754
51634 ldr r8, [sp, #4]
51635 mov r2, #0
51636 add r1, r8, r6, asl #2
51637 b .L17110
51638.L17764:
51639 add r0, r0, #32
51640 add r1, r1, #32
51641.L17110:
51642 ldr r4, [r0, #0]
51643 cmp r4, #0
51644 beq .L17111
51645 ands r3, r4, #15
51646 ldrne lr, [sp, #52]
51647 orrne r3, lr, r3
51648 orrne r3, r7, r3
51649 strne r3, [r1, #0]
51650 mov r3, r4, lsr #4
51651 ands r3, r3, #15
51652 ldrne r5, [sp, #52]
51653 orrne r3, r5, r3
51654 orrne r3, r7, r3
51655 strne r3, [r1, #4]
51656 mov r3, r4, lsr #8
51657 ands r3, r3, #15
51658 ldrne r8, [sp, #52]
51659 orrne r3, r8, r3
51660 orrne r3, r7, r3
51661 strne r3, [r1, #8]
51662 mov r3, r4, lsr #12
51663 ands r3, r3, #15
51664 ldrne lr, [sp, #52]
51665 orrne r3, lr, r3
51666 orrne r3, r7, r3
51667 strne r3, [r1, #12]
51668 mov r3, r4, lsr #16
51669 ands r3, r3, #15
51670 ldrne r5, [sp, #52]
51671 orrne r3, r5, r3
51672 orrne r3, r7, r3
51673 strne r3, [r1, #16]
51674 mov r3, r4, lsr #20
51675 ands r3, r3, #15
51676 ldrne r8, [sp, #52]
51677 orrne r3, r8, r3
51678 orrne r3, r7, r3
51679 strne r3, [r1, #20]
51680 mov r3, r4, lsr #24
51681 ands r3, r3, #15
51682 ldrne lr, [sp, #52]
51683 orrne r3, lr, r3
51684 orrne r3, r7, r3
51685 strne r3, [r1, #24]
51686 movs r3, r4, lsr #28
51687 ldrne r4, [sp, #52]
51688 orrne r3, r4, r3
51689 orrne r3, r7, r3
51690 strne r3, [r1, #28]
51691.L17111:
51692 add r2, r2, #1
51693 cmp ip, r2
51694 bne .L17764
51695 b .L15754
51696.L17259:
51697 ldr r8, [sp, #8]
51698 add r3, r6, sl
51699 cmp r8, r3
51700 bls .L17765
51701 cmp sl, #0
51702 add r3, sl, #7
51703 movge r3, sl
51704 movs lr, r3, asr #3
51705 beq .L15754
51706 ldr r3, [sp, #4]
51707 mov r2, #0
51708 add r1, r3, r6, asl #2
51709 ldr r3, .L17803+4
51710 add r0, r0, r3
51711 b .L17459
51712.L17766:
51713 add ip, ip, #64
51714 add r1, r1, #32
51715.L17459:
51716 ldr r4, [ip, #0]
51717 cmp r4, #0
51718 beq .L17460
51719 ands r3, r4, #255
51720 ldrne r5, [sp, #52]
51721 orrne r3, r5, r3
51722 strne r3, [r1, #0]
51723 mov r3, r4, lsr #8
51724 ands r3, r3, #255
51725 ldrne r7, [sp, #52]
51726 orrne r3, r7, r3
51727 strne r3, [r1, #4]
51728 mov r3, r4, lsr #16
51729 ands r3, r3, #255
51730 ldrne r8, [sp, #52]
51731 orrne r3, r8, r3
51732 strne r3, [r1, #8]
51733 movs r3, r4, lsr #24
51734 ldrne r4, [sp, #52]
51735 orrne r3, r4, r3
51736 strne r3, [r1, #12]
51737.L17460:
51738 ldr r4, [r0, #-60]
51739 cmp r4, #0
51740 beq .L17469
51741 ands r3, r4, #255
51742 ldrne r5, [sp, #52]
51743 orrne r3, r5, r3
51744 strne r3, [r1, #16]
51745 mov r3, r4, lsr #8
51746 ands r3, r3, #255
51747 ldrne r7, [sp, #52]
51748 orrne r3, r7, r3
51749 strne r3, [r1, #20]
51750 mov r3, r4, lsr #16
51751 ands r3, r3, #255
51752 ldrne r8, [sp, #52]
51753 orrne r3, r8, r3
51754 strne r3, [r1, #24]
51755 movs r3, r4, lsr #24
51756 ldrne r4, [sp, #52]
51757 orrne r3, r4, r3
51758 strne r3, [r1, #28]
51759.L17469:
51760 add r2, r2, #1
51761 cmp lr, r2
51762 add r0, r0, #64
51763 bne .L17766
51764 b .L15754
51765.L15837:
51766 ldr r4, [sp, #8]
51767 add r3, r6, sl
51768 cmp r4, r3
51769 bls .L17767
51770 cmp sl, #0
51771 add r3, sl, #7
51772 movge r3, sl
51773 movs lr, r3, asr #3
51774 beq .L15754
51775 ldr r8, [sp, #4]
51776 mov ip, #0
51777 add r1, r8, r6, asl #2
51778 b .L16006
51779.L17768:
51780 add r0, r0, #32
51781 add r1, r1, #32
51782.L16006:
51783 ldr r5, [r0, #0]
51784 cmp r5, #0
51785 beq .L16007
51786 ands r2, r5, #15
51787 beq .L16009
51788 ldr r4, [r1, #0]
51789 orr r2, r7, r2
51790 tst r4, #256
51791 movne r3, r4, lsr #16
51792 movne r3, r3, asl #16
51793 orreq r3, r2, #768
51794 orrne r2, r2, #768
51795 orrne r3, r3, r2
51796 orreq r3, r3, r4, asl #16
51797 strne r3, [r1, #0]
51798 streq r3, [r1, #0]
51799.L16009:
51800 mov r3, r5, lsr #4
51801 ands r2, r3, #15
51802 beq .L16013
51803 ldr r4, [r1, #4]
51804 orr r2, r7, r2
51805 tst r4, #256
51806 movne r3, r4, lsr #16
51807 movne r3, r3, asl #16
51808 orreq r3, r2, #768
51809 orrne r2, r2, #768
51810 orrne r3, r3, r2
51811 orreq r3, r3, r4, asl #16
51812 strne r3, [r1, #4]
51813 streq r3, [r1, #4]
51814.L16013:
51815 mov r3, r5, lsr #8
51816 ands r2, r3, #15
51817 beq .L16017
51818 ldr r4, [r1, #8]
51819 orr r2, r7, r2
51820 tst r4, #256
51821 movne r3, r4, lsr #16
51822 movne r3, r3, asl #16
51823 orreq r3, r2, #768
51824 orrne r2, r2, #768
51825 orrne r3, r3, r2
51826 orreq r3, r3, r4, asl #16
51827 strne r3, [r1, #8]
51828 streq r3, [r1, #8]
51829.L16017:
51830 mov r3, r5, lsr #12
51831 ands r2, r3, #15
51832 beq .L16021
51833 ldr r4, [r1, #12]
51834 orr r2, r7, r2
51835 tst r4, #256
51836 movne r3, r4, lsr #16
51837 movne r3, r3, asl #16
51838 orreq r3, r2, #768
51839 orrne r2, r2, #768
51840 orrne r3, r3, r2
51841 orreq r3, r3, r4, asl #16
51842 strne r3, [r1, #12]
51843 streq r3, [r1, #12]
51844.L16021:
51845 mov r3, r5, lsr #16
51846 ands r2, r3, #15
51847 beq .L16025
51848 ldr r4, [r1, #16]
51849 orr r2, r7, r2
51850 tst r4, #256
51851 movne r3, r4, lsr #16
51852 movne r3, r3, asl #16
51853 orreq r3, r2, #768
51854 orrne r2, r2, #768
51855 orrne r3, r3, r2
51856 orreq r3, r3, r4, asl #16
51857 strne r3, [r1, #16]
51858 streq r3, [r1, #16]
51859.L16025:
51860 mov r3, r5, lsr #20
51861 ands r2, r3, #15
51862 beq .L16029
51863 ldr r4, [r1, #20]
51864 orr r2, r7, r2
51865 tst r4, #256
51866 movne r3, r4, lsr #16
51867 movne r3, r3, asl #16
51868 orreq r3, r2, #768
51869 orrne r2, r2, #768
51870 orrne r3, r3, r2
51871 orreq r3, r3, r4, asl #16
51872 strne r3, [r1, #20]
51873 streq r3, [r1, #20]
51874.L16029:
51875 mov r3, r5, lsr #24
51876 ands r2, r3, #15
51877 beq .L16033
51878 ldr r4, [r1, #24]
51879 orr r2, r7, r2
51880 tst r4, #256
51881 movne r3, r4, lsr #16
51882 movne r3, r3, asl #16
51883 orreq r3, r2, #768
51884 orrne r2, r2, #768
51885 orrne r3, r3, r2
51886 orreq r3, r3, r4, asl #16
51887 strne r3, [r1, #24]
51888 streq r3, [r1, #24]
51889.L16033:
51890 movs r2, r5, lsr #28
51891 beq .L16007
51892 ldr r4, [r1, #28]
51893 orr r2, r7, r2
51894 tst r4, #256
51895 movne r3, r4, lsr #16
51896 movne r3, r3, asl #16
51897 orreq r3, r2, #768
51898 orrne r2, r2, #768
51899 orrne r3, r3, r2
51900 orreq r3, r3, r4, asl #16
51901 strne r3, [r1, #28]
51902 streq r3, [r1, #28]
51903.L16007:
51904 add ip, ip, #1
51905 cmp lr, ip
51906 bne .L17768
51907 b .L15754
51908.L17129:
51909 ldr lr, [sp, #8]
51910 add r3, r6, sl
51911 cmp lr, r3
51912 bls .L17769
51913 cmp sl, #0
51914 add r3, sl, #7
51915 movge r3, sl
51916 movs ip, r3, asr #3
51917 beq .L15754
51918 ldr r8, [sp, #4]
51919 mov r2, #0
51920 add r1, r8, r6, asl #2
51921 b .L17240
51922.L17770:
51923 sub r0, r0, #32
51924 add r1, r1, #32
51925.L17240:
51926 ldr r4, [r0, #0]
51927 cmp r4, #0
51928 beq .L17241
51929 ands r3, r4, #15
51930 ldrne lr, [sp, #52]
51931 orrne r3, lr, r3
51932 orrne r3, r7, r3
51933 strne r3, [r1, #28]
51934 mov r3, r4, lsr #4
51935 ands r3, r3, #15
51936 ldrne r5, [sp, #52]
51937 orrne r3, r5, r3
51938 orrne r3, r7, r3
51939 strne r3, [r1, #24]
51940 mov r3, r4, lsr #8
51941 ands r3, r3, #15
51942 ldrne r8, [sp, #52]
51943 orrne r3, r8, r3
51944 orrne r3, r7, r3
51945 strne r3, [r1, #20]
51946 mov r3, r4, lsr #12
51947 ands r3, r3, #15
51948 ldrne lr, [sp, #52]
51949 orrne r3, lr, r3
51950 orrne r3, r7, r3
51951 strne r3, [r1, #16]
51952 mov r3, r4, lsr #16
51953 ands r3, r3, #15
51954 ldrne r5, [sp, #52]
51955 orrne r3, r5, r3
51956 orrne r3, r7, r3
51957 strne r3, [r1, #12]
51958 mov r3, r4, lsr #20
51959 ands r3, r3, #15
51960 ldrne r8, [sp, #52]
51961 orrne r3, r8, r3
51962 orrne r3, r7, r3
51963 strne r3, [r1, #8]
51964 mov r3, r4, lsr #24
51965 ands r3, r3, #15
51966 ldrne lr, [sp, #52]
51967 orrne r3, lr, r3
51968 orrne r3, r7, r3
51969 strne r3, [r1, #4]
51970 movs r3, r4, lsr #28
51971 ldrne r4, [sp, #52]
51972 orrne r3, r4, r3
51973 orrne r3, r7, r3
51974 strne r3, [r1, #0]
51975.L17241:
51976 add r2, r2, #1
51977 cmp ip, r2
51978 bne .L17770
51979 b .L15754
51980.L16581:
51981 ldr r2, [sp, #8]
51982 add r3, r6, sl
51983 cmp r2, r3
51984 bls .L17771
51985 cmp sl, #0
51986 add r3, sl, #7
51987 movge r3, sl
51988 movs r7, r3, asr #3
51989 beq .L15754
51990 ldr r4, [sp, #4]
51991 ldr r3, .L17803
51992 add r1, r4, r6, asl #2
51993 add r0, r0, r3
51994 mov lr, #0
51995 b .L16881
51996.L17772:
51997 sub ip, ip, #64
51998 add r1, r1, #32
51999.L16881:
52000 ldr r2, [r0, #68]
52001 cmp r2, #0
52002 beq .L16882
52003 ands r4, r2, #255
52004 beq .L16884
52005 ldr r3, [r1, #12]
52006 tst r3, #256
52007 movne r3, r3, lsr #16
52008 movne r3, r3, asl #16
52009 orrne r3, r3, #768
52010 orreq r3, r4, r3, asl #16
52011 orrne r3, r4, r3
52012 orreq r3, r3, #768
52013 strne r3, [r1, #12]
52014 streq r3, [r1, #12]
52015.L16884:
52016 mov r3, r2, lsr #8
52017 ands r4, r3, #255
52018 beq .L16888
52019 ldr r3, [r1, #8]
52020 tst r3, #256
52021 movne r3, r3, lsr #16
52022 movne r3, r3, asl #16
52023 orrne r3, r3, #768
52024 orreq r3, r4, r3, asl #16
52025 orrne r3, r4, r3
52026 orreq r3, r3, #768
52027 strne r3, [r1, #8]
52028 streq r3, [r1, #8]
52029.L16888:
52030 mov r3, r2, lsr #16
52031 ands r4, r3, #255
52032 beq .L16892
52033 ldr r3, [r1, #4]
52034 tst r3, #256
52035 movne r3, r3, lsr #16
52036 movne r3, r3, asl #16
52037 orrne r3, r3, #768
52038 orreq r3, r4, r3, asl #16
52039 orrne r3, r4, r3
52040 orreq r3, r3, #768
52041 strne r3, [r1, #4]
52042 streq r3, [r1, #4]
52043.L16892:
52044 movs r2, r2, lsr #24
52045 beq .L16882
52046 ldr r3, [r1, #0]
52047 tst r3, #256
52048 movne r3, r3, lsr #16
52049 movne r3, r3, asl #16
52050 orrne r3, r3, #768
52051 orreq r3, r2, r3, asl #16
52052 orrne r3, r2, r3
52053 orreq r3, r3, #768
52054 strne r3, [r1, #0]
52055 streq r3, [r1, #0]
52056.L16882:
52057 ldr r4, [ip, #0]
52058 cmp r4, #0
52059 beq .L16899
52060 ands r2, r4, #255
52061 beq .L16901
52062 ldr r5, [r1, #28]
52063 tst r5, #256
52064 movne r3, r5, lsr #16
52065 movne r3, r3, asl #16
52066 orreq r3, r2, #768
52067 orrne r2, r2, #768
52068 orrne r3, r3, r2
52069 orreq r3, r3, r5, asl #16
52070 strne r3, [r1, #28]
52071 streq r3, [r1, #28]
52072.L16901:
52073 mov r3, r4, lsr #8
52074 ands r2, r3, #255
52075 beq .L16905
52076 ldr r3, [r1, #24]
52077 tst r3, #256
52078 movne r3, r3, lsr #16
52079 movne r3, r3, asl #16
52080 orrne r3, r3, #768
52081 orreq r3, r2, r3, asl #16
52082 orrne r3, r2, r3
52083 orreq r3, r3, #768
52084 strne r3, [r1, #24]
52085 streq r3, [r1, #24]
52086.L16905:
52087 mov r3, r4, lsr #16
52088 ands r2, r3, #255
52089 beq .L16909
52090 ldr r3, [r1, #20]
52091 tst r3, #256
52092 movne r3, r3, lsr #16
52093 movne r3, r3, asl #16
52094 orrne r3, r3, #768
52095 orreq r3, r2, r3, asl #16
52096 orrne r3, r2, r3
52097 orreq r3, r3, #768
52098 strne r3, [r1, #20]
52099 streq r3, [r1, #20]
52100.L16909:
52101 movs r2, r4, lsr #24
52102 beq .L16899
52103 ldr r4, [r1, #16]
52104 tst r4, #256
52105 movne r3, r4, lsr #16
52106 movne r3, r3, asl #16
52107 orreq r3, r2, #768
52108 orrne r2, r2, #768
52109 orrne r3, r3, r2
52110 orreq r3, r3, r4, asl #16
52111 strne r3, [r1, #16]
52112 streq r3, [r1, #16]
52113.L16899:
52114 add lr, lr, #1
52115 cmp r7, lr
52116 sub r0, r0, #64
52117 bne .L17772
52118 b .L15754
52119.L16245:
52120 ldr r7, [sp, #8]
52121 add r3, r6, sl
52122 cmp r7, r3
52123 bls .L17773
52124 cmp sl, #0
52125 add r3, sl, #7
52126 movge r3, sl
52127 movs r5, r3, asr #3
52128 beq .L15754
52129 ldr r2, [sp, #4]
52130 ldr r3, .L17803+4
52131 add r1, r2, r6, asl #2
52132 add r0, r0, r3
52133 mov lr, #0
52134 b .L16545
52135.L17774:
52136 add ip, ip, #64
52137 add r1, r1, #32
52138.L16545:
52139 ldr r2, [ip, #0]
52140 cmp r2, #0
52141 beq .L16546
52142 ands r4, r2, #255
52143 beq .L16548
52144 ldr r3, [r1, #0]
52145 tst r3, #256
52146 movne r3, r3, lsr #16
52147 movne r3, r3, asl #16
52148 orrne r3, r3, #768
52149 orreq r3, r4, r3, asl #16
52150 orrne r3, r4, r3
52151 orreq r3, r3, #768
52152 strne r3, [r1, #0]
52153 streq r3, [r1, #0]
52154.L16548:
52155 mov r3, r2, lsr #8
52156 ands r4, r3, #255
52157 beq .L16552
52158 ldr r3, [r1, #4]
52159 tst r3, #256
52160 movne r3, r3, lsr #16
52161 movne r3, r3, asl #16
52162 orrne r3, r3, #768
52163 orreq r3, r4, r3, asl #16
52164 orrne r3, r4, r3
52165 orreq r3, r3, #768
52166 strne r3, [r1, #4]
52167 streq r3, [r1, #4]
52168.L16552:
52169 mov r3, r2, lsr #16
52170 ands r4, r3, #255
52171 beq .L16556
52172 ldr r3, [r1, #8]
52173 tst r3, #256
52174 movne r3, r3, lsr #16
52175 movne r3, r3, asl #16
52176 orrne r3, r3, #768
52177 orreq r3, r4, r3, asl #16
52178 orrne r3, r4, r3
52179 orreq r3, r3, #768
52180 strne r3, [r1, #8]
52181 streq r3, [r1, #8]
52182.L16556:
52183 movs r2, r2, lsr #24
52184 beq .L16546
52185 ldr r4, [r1, #12]
52186 tst r4, #256
52187 movne r3, r4, lsr #16
52188 movne r3, r3, asl #16
52189 orreq r3, r2, #768
52190 orrne r2, r2, #768
52191 orrne r3, r3, r2
52192 orreq r3, r3, r4, asl #16
52193 strne r3, [r1, #12]
52194 streq r3, [r1, #12]
52195.L16546:
52196 ldr r2, [r0, #-60]
52197 cmp r2, #0
52198 beq .L16563
52199 ands r4, r2, #255
52200 beq .L16565
52201 ldr r3, [r1, #16]
52202 tst r3, #256
52203 movne r3, r3, lsr #16
52204 movne r3, r3, asl #16
52205 orrne r3, r3, #768
52206 orreq r3, r4, r3, asl #16
52207 orrne r3, r4, r3
52208 orreq r3, r3, #768
52209 strne r3, [r1, #16]
52210 streq r3, [r1, #16]
52211.L16565:
52212 mov r3, r2, lsr #8
52213 ands r4, r3, #255
52214 beq .L16569
52215 ldr r3, [r1, #20]
52216 tst r3, #256
52217 movne r3, r3, lsr #16
52218 movne r3, r3, asl #16
52219 orrne r3, r3, #768
52220 orreq r3, r4, r3, asl #16
52221 orrne r3, r4, r3
52222 orreq r3, r3, #768
52223 strne r3, [r1, #20]
52224 streq r3, [r1, #20]
52225.L16569:
52226 mov r3, r2, lsr #16
52227 ands r4, r3, #255
52228 beq .L16573
52229 ldr r3, [r1, #24]
52230 tst r3, #256
52231 movne r3, r3, lsr #16
52232 movne r3, r3, asl #16
52233 orrne r3, r3, #768
52234 orreq r3, r4, r3, asl #16
52235 orrne r3, r4, r3
52236 orreq r3, r3, #768
52237 strne r3, [r1, #24]
52238 streq r3, [r1, #24]
52239.L16573:
52240 movs r2, r2, lsr #24
52241 beq .L16563
52242 ldr r3, [r1, #28]
52243 tst r3, #256
52244 movne r3, r3, lsr #16
52245 movne r3, r3, asl #16
52246 orrne r3, r3, #768
52247 orreq r3, r2, r3, asl #16
52248 orrne r3, r2, r3
52249 orreq r3, r3, #768
52250 strne r3, [r1, #28]
52251 streq r3, [r1, #28]
52252.L16563:
52253 add lr, lr, #1
52254 cmp r5, lr
52255 add r0, r0, #64
52256 bne .L17774
52257 b .L15754
52258.L17479:
52259 ldr r8, [sp, #8]
52260 add r3, r6, sl
52261 cmp r3, r8
52262 bcs .L17775
52263 cmp sl, #0
52264 add r3, sl, #7
52265 movge r3, sl
52266 movs lr, r3, asr #3
52267 beq .L15754
52268 ldr r5, [sp, #4]
52269 ldr r3, .L17803
52270 add r1, r5, r6, asl #2
52271 add r0, r0, r3
52272 mov ip, #0
52273 b .L17679
52274.L17776:
52275 sub r2, r2, #64
52276 add r1, r1, #32
52277.L17679:
52278 ldr r4, [r0, #68]
52279 cmp r4, #0
52280 beq .L17680
52281 ands r3, r4, #255
52282 ldrne r7, [sp, #52]
52283 orrne r3, r7, r3
52284 strne r3, [r1, #12]
52285 mov r3, r4, lsr #8
52286 ands r3, r3, #255
52287 ldrne r8, [sp, #52]
52288 orrne r3, r8, r3
52289 strne r3, [r1, #8]
52290 mov r3, r4, lsr #16
52291 ands r3, r3, #255
52292 ldrne r5, [sp, #52]
52293 orrne r3, r5, r3
52294 strne r3, [r1, #4]
52295 movs r3, r4, lsr #24
52296 ldrne r7, [sp, #52]
52297 orrne r3, r7, r3
52298 strne r3, [r1, #0]
52299.L17680:
52300 ldr r4, [r2, #0]
52301 cmp r4, #0
52302 beq .L17689
52303 ands r3, r4, #255
52304 ldrne r8, [sp, #52]
52305 orrne r3, r8, r3
52306 strne r3, [r1, #28]
52307 mov r3, r4, lsr #8
52308 ands r3, r3, #255
52309 ldrne r5, [sp, #52]
52310 orrne r3, r5, r3
52311 strne r3, [r1, #24]
52312 mov r3, r4, lsr #16
52313 ands r3, r3, #255
52314 ldrne r7, [sp, #52]
52315 orrne r3, r7, r3
52316 strne r3, [r1, #20]
52317 movs r3, r4, lsr #24
52318 ldrne r8, [sp, #52]
52319 orrne r3, r8, r3
52320 strne r3, [r1, #16]
52321.L17689:
52322 add ip, ip, #1
52323 cmp lr, ip
52324 sub r0, r0, #64
52325 bne .L17776
52326 b .L15754
52327.L17798:
52328 mov r6, #0
52329.L16983:
52330 cmp r8, r4
52331 cmphi sl, ip
52332 bhi .L17740
52333 b .L15754
52334.L16984:
52335 cmp r4, r8
52336 cmpcc ip, sl
52337 bcs .L15754
52338.L17740:
52339 mov r3, ip, asr #1
52340 ldr r1, [sp, #104]
52341 and r3, r3, #3
52342 and r0, r4, #7
52343 str r3, [sp, #0]
52344 ldr r3, [sp, #104]
52345 add r0, r1, r0, asl #2
52346 and r1, r4, #7
52347 mov r2, ip, asr #1
52348 add r1, r3, r1, asl #2
52349 mov r3, r4, asr #3
52350 and r9, r2, #3
52351 mov r3, r3, asl #10
52352 mov r2, ip, asr #3
52353 tst ip, #1
52354 add r3, r3, r2, asl #5
52355 add r2, r0, r3
52356 movne r4, r9
52357 add r0, r1, r3
52358 ldreqb r3, [r0, r9] @ zero_extendqisi2
52359 ldrneb r3, [r2, r4] @ zero_extendqisi2
52360 ldr r2, [sp, #52]
52361 movne r0, r3, lsr #4
52362 andeq r0, r3, #15
52363 cmp r0, #0
52364 orr r3, r0, r2
52365 ldr r0, [sp, #116]
52366 ldr ip, [sp, #84]
52367 ldr r1, [sp, #88]
52368 add r6, r6, #1
52369 orr r3, r0, r3
52370 strne r3, [r7, #0]
52371 add lr, lr, ip
52372 add r5, r5, r1
52373 cmp fp, r6
52374 mov ip, lr, asr #8
52375 mov r4, r5, asr #8
52376 add r7, r7, #4
52377 bgt .L16984
52378 b .L15754
52379.L17775:
52380 rsb r7, r6, r8
52381 cmp r7, #0
52382 ble .L15754
52383 ldr ip, [sp, #4]
52384 movs lr, r7, lsr #3
52385 add r1, ip, r6, asl #2
52386 beq .L17638
52387 ldr r3, .L17803
52388 mov r5, r1
52389 add r0, r0, r3
52390 mov r6, r2
52391 mov ip, #0
52392.L17640:
52393 ldr r4, [r0, #68]
52394 cmp r4, #0
52395 beq .L17641
52396 ands r3, r4, #255
52397 ldrne r8, [sp, #52]
52398 orrne r3, r8, r3
52399 strne r3, [r5, #12]
52400 mov r3, r4, lsr #8
52401 ands r3, r3, #255
52402 ldrne r8, [sp, #52]
52403 orrne r3, r8, r3
52404 strne r3, [r5, #8]
52405 mov r3, r4, lsr #16
52406 ands r3, r3, #255
52407 ldrne r8, [sp, #52]
52408 orrne r3, r8, r3
52409 strne r3, [r5, #4]
52410 movs r3, r4, lsr #24
52411 ldrne r4, [sp, #52]
52412 orrne r3, r4, r3
52413 strne r3, [r5, #0]
52414.L17641:
52415 ldr r4, [r6, #0]
52416 cmp r4, #0
52417 beq .L17650
52418 ands r3, r4, #255
52419 ldrne r8, [sp, #52]
52420 orrne r3, r8, r3
52421 strne r3, [r5, #28]
52422 mov r3, r4, lsr #8
52423 ands r3, r3, #255
52424 ldrne r8, [sp, #52]
52425 orrne r3, r8, r3
52426 strne r3, [r5, #24]
52427 mov r3, r4, lsr #16
52428 ands r3, r3, #255
52429 ldrne r8, [sp, #52]
52430 orrne r3, r8, r3
52431 strne r3, [r5, #20]
52432 movs r3, r4, lsr #24
52433 ldrne r4, [sp, #52]
52434 orrne r3, r4, r3
52435 strne r3, [r5, #16]
52436.L17650:
52437 add ip, ip, #1
52438 cmp lr, ip
52439 sub r6, r6, #64
52440 add r5, r5, #32
52441 sub r0, r0, #64
52442 bne .L17640
52443 rsb r3, lr, lr, asl #26
52444 add r2, r2, r3, asl #6
52445 add r1, r1, lr, asl #5
52446.L17638:
52447 ands ip, r7, #7
52448 beq .L15754
52449 cmp ip, #3
52450 ldrls r2, [r2, #4]
52451 bls .L17673
52452 ldr r0, [r2, #4]
52453 cmp r0, #0
52454 beq .L17663
52455 ands r3, r0, #255
52456 ldrne r5, [sp, #52]
52457 orrne r3, r5, r3
52458 strne r3, [r1, #12]
52459 mov r3, r0, lsr #8
52460 ands r3, r3, #255
52461 ldrne r7, [sp, #52]
52462 orrne r3, r7, r3
52463 strne r3, [r1, #8]
52464 mov r3, r0, lsr #16
52465 ands r3, r3, #255
52466 ldrne r8, [sp, #52]
52467 orrne r3, r8, r3
52468 strne r3, [r1, #4]
52469 movs r3, r0, lsr #24
52470 ldrne lr, [sp, #52]
52471 orrne r3, lr, r3
52472 strne r3, [r1, #0]
52473.L17663:
52474 subs ip, ip, #4
52475 ldr r2, [r2, #0]
52476 addne r1, r1, #16
52477 beq .L15754
52478.L17673:
52479 mov r0, #0
52480.L17674:
52481 ldr r4, [sp, #52]
52482 movs r3, r2, lsr #24
52483 orr r3, r4, r3
52484 strne r3, [r1, r0, asl #2]
52485 add r0, r0, #1
52486 cmp ip, r0
52487 mov r2, r2, asl #8
52488 bhi .L17674
52489 b .L15754
52490.L17767:
52491 rsb ip, r6, r4
52492 cmp ip, #0
52493 ble .L15754
52494 ldr r5, [sp, #4]
52495 movs sl, ip, lsr #3
52496 add r8, r5, r6, asl #2
52497 beq .L15961
52498 mov r6, r8
52499 mov lr, r0
52500 mov r1, #0
52501.L15963:
52502 ldr r5, [lr, #0]
52503 cmp r5, #0
52504 beq .L15964
52505 ands r2, r5, #15
52506 beq .L15966
52507 ldr r4, [r6, #0]
52508 orr r2, r7, r2
52509 tst r4, #256
52510 movne r3, r4, lsr #16
52511 movne r3, r3, asl #16
52512 orreq r3, r2, #768
52513 orrne r2, r2, #768
52514 orrne r3, r3, r2
52515 orreq r3, r3, r4, asl #16
52516 strne r3, [r6, #0]
52517 streq r3, [r6, #0]
52518.L15966:
52519 mov r3, r5, lsr #4
52520 ands r2, r3, #15
52521 beq .L15970
52522 ldr r4, [r6, #4]
52523 orr r2, r7, r2
52524 tst r4, #256
52525 movne r3, r4, lsr #16
52526 movne r3, r3, asl #16
52527 orreq r3, r2, #768
52528 orrne r2, r2, #768
52529 orrne r3, r3, r2
52530 orreq r3, r3, r4, asl #16
52531 strne r3, [r6, #4]
52532 streq r3, [r6, #4]
52533.L15970:
52534 mov r3, r5, lsr #8
52535 ands r2, r3, #15
52536 beq .L15974
52537 ldr r4, [r6, #8]
52538 orr r2, r7, r2
52539 tst r4, #256
52540 movne r3, r4, lsr #16
52541 movne r3, r3, asl #16
52542 orreq r3, r2, #768
52543 orrne r2, r2, #768
52544 orrne r3, r3, r2
52545 orreq r3, r3, r4, asl #16
52546 strne r3, [r6, #8]
52547 streq r3, [r6, #8]
52548.L15974:
52549 mov r3, r5, lsr #12
52550 ands r2, r3, #15
52551 beq .L15978
52552 ldr r4, [r6, #12]
52553 orr r2, r7, r2
52554 tst r4, #256
52555 movne r3, r4, lsr #16
52556 movne r3, r3, asl #16
52557 orreq r3, r2, #768
52558 orrne r2, r2, #768
52559 orrne r3, r3, r2
52560 orreq r3, r3, r4, asl #16
52561 strne r3, [r6, #12]
52562 streq r3, [r6, #12]
52563.L15978:
52564 mov r3, r5, lsr #16
52565 ands r2, r3, #15
52566 beq .L15982
52567 ldr r4, [r6, #16]
52568 orr r2, r7, r2
52569 tst r4, #256
52570 movne r3, r4, lsr #16
52571 movne r3, r3, asl #16
52572 orreq r3, r2, #768
52573 orrne r2, r2, #768
52574 orrne r3, r3, r2
52575 orreq r3, r3, r4, asl #16
52576 strne r3, [r6, #16]
52577 streq r3, [r6, #16]
52578.L15982:
52579 mov r3, r5, lsr #20
52580 ands r2, r3, #15
52581 beq .L15986
52582 ldr r4, [r6, #20]
52583 orr r2, r7, r2
52584 tst r4, #256
52585 movne r3, r4, lsr #16
52586 movne r3, r3, asl #16
52587 orreq r3, r2, #768
52588 orrne r2, r2, #768
52589 orrne r3, r3, r2
52590 orreq r3, r3, r4, asl #16
52591 strne r3, [r6, #20]
52592 streq r3, [r6, #20]
52593.L15986:
52594 mov r3, r5, lsr #24
52595 ands r2, r3, #15
52596 beq .L15990
52597 ldr r4, [r6, #24]
52598 orr r2, r7, r2
52599 tst r4, #256
52600 movne r3, r4, lsr #16
52601 movne r3, r3, asl #16
52602 orreq r3, r2, #768
52603 orrne r2, r2, #768
52604 orrne r3, r3, r2
52605 orreq r3, r3, r4, asl #16
52606 strne r3, [r6, #24]
52607 streq r3, [r6, #24]
52608.L15990:
52609 movs r2, r5, lsr #28
52610 beq .L15964
52611 ldr r4, [r6, #28]
52612 orr r2, r7, r2
52613 tst r4, #256
52614 movne r3, r4, lsr #16
52615 movne r3, r3, asl #16
52616 orreq r3, r2, #768
52617 orrne r2, r2, #768
52618 orrne r3, r3, r2
52619 orreq r3, r3, r4, asl #16
52620 strne r3, [r6, #28]
52621 streq r3, [r6, #28]
52622.L15964:
52623 add r1, r1, #1
52624 cmp r1, sl
52625 add lr, lr, #32
52626 add r6, r6, #32
52627 bne .L15963
52628 mov r3, sl, asl #5
52629 add r0, r0, r3
52630 add r8, r8, r3
52631.L15961:
52632 ands lr, ip, #7
52633 beq .L15754
52634 ldr ip, [r0, #0]
52635 mov r4, #0
52636.L15999:
52637 ands r3, ip, #15
52638 beq .L16000
52639 ldr r1, [r8, #0]
52640 orr r2, r7, r3
52641 mov r3, r1, lsr #16
52642 orr r0, r2, #768
52643 mov r3, r3, asl #16
52644 orr r2, r2, #768
52645 tst r1, #256
52646 orr r3, r3, r0
52647 orr r2, r2, r1, asl #16
52648 strne r3, [r8, #0]
52649 streq r2, [r8, #0]
52650.L16000:
52651 add r4, r4, #1
52652 cmp lr, r4
52653 mov ip, ip, lsr #4
52654 add r8, r8, #4
52655 bne .L15999
52656 b .L15754
52657.L17804:
52658 .align 2
52659.L17803:
52660 .word vram+65472
52661 .word vram+65600
52662.L17771:
52663 rsb sl, r6, r2
52664 cmp sl, #0
52665 ble .L15754
52666 ldr r3, [sp, #4]
52667 movs r8, sl, lsr #3
52668 add r7, r3, r6, asl #2
52669 beq .L16814
52670 ldr r3, .L17803
52671 mov r6, r7
52672 add r0, r0, r3
52673 mov lr, ip
52674 mov r1, #0
52675.L16816:
52676 ldr r2, [r0, #68]
52677 cmp r2, #0
52678 beq .L16817
52679 ands r4, r2, #255
52680 beq .L16819
52681 ldr r3, [r6, #12]
52682 tst r3, #256
52683 movne r3, r3, lsr #16
52684 movne r3, r3, asl #16
52685 orrne r3, r3, #768
52686 orreq r3, r4, r3, asl #16
52687 orrne r3, r4, r3
52688 orreq r3, r3, #768
52689 strne r3, [r6, #12]
52690 streq r3, [r6, #12]
52691.L16819:
52692 mov r3, r2, lsr #8
52693 ands r4, r3, #255
52694 beq .L16823
52695 ldr r3, [r6, #8]
52696 tst r3, #256
52697 movne r3, r3, lsr #16
52698 movne r3, r3, asl #16
52699 orrne r3, r3, #768
52700 orreq r3, r4, r3, asl #16
52701 orrne r3, r4, r3
52702 orreq r3, r3, #768
52703 strne r3, [r6, #8]
52704 streq r3, [r6, #8]
52705.L16823:
52706 mov r3, r2, lsr #16
52707 ands r4, r3, #255
52708 beq .L16827
52709 ldr r3, [r6, #4]
52710 tst r3, #256
52711 movne r3, r3, lsr #16
52712 movne r3, r3, asl #16
52713 orrne r3, r3, #768
52714 orreq r3, r4, r3, asl #16
52715 orrne r3, r4, r3
52716 orreq r3, r3, #768
52717 strne r3, [r6, #4]
52718 streq r3, [r6, #4]
52719.L16827:
52720 movs r2, r2, lsr #24
52721 beq .L16817
52722 ldr r3, [r6, #0]
52723 tst r3, #256
52724 movne r3, r3, lsr #16
52725 movne r3, r3, asl #16
52726 orrne r3, r3, #768
52727 orreq r3, r2, r3, asl #16
52728 orrne r3, r2, r3
52729 orreq r3, r3, #768
52730 strne r3, [r6, #0]
52731 streq r3, [r6, #0]
52732.L16817:
52733 ldr r4, [lr, #0]
52734 cmp r4, #0
52735 beq .L16834
52736 ands r2, r4, #255
52737 beq .L16836
52738 ldr r5, [r6, #28]
52739 tst r5, #256
52740 movne r3, r5, lsr #16
52741 movne r3, r3, asl #16
52742 orreq r3, r2, #768
52743 orrne r2, r2, #768
52744 orrne r3, r3, r2
52745 orreq r3, r3, r5, asl #16
52746 strne r3, [r6, #28]
52747 streq r3, [r6, #28]
52748.L16836:
52749 mov r3, r4, lsr #8
52750 ands r2, r3, #255
52751 beq .L16840
52752 ldr r3, [r6, #24]
52753 tst r3, #256
52754 movne r3, r3, lsr #16
52755 movne r3, r3, asl #16
52756 orrne r3, r3, #768
52757 orreq r3, r2, r3, asl #16
52758 orrne r3, r2, r3
52759 orreq r3, r3, #768
52760 strne r3, [r6, #24]
52761 streq r3, [r6, #24]
52762.L16840:
52763 mov r3, r4, lsr #16
52764 ands r2, r3, #255
52765 beq .L16844
52766 ldr r3, [r6, #20]
52767 tst r3, #256
52768 movne r3, r3, lsr #16
52769 movne r3, r3, asl #16
52770 orrne r3, r3, #768
52771 orreq r3, r2, r3, asl #16
52772 orrne r3, r2, r3
52773 orreq r3, r3, #768
52774 strne r3, [r6, #20]
52775 streq r3, [r6, #20]
52776.L16844:
52777 movs r2, r4, lsr #24
52778 beq .L16834
52779 ldr r4, [r6, #16]
52780 tst r4, #256
52781 movne r3, r4, lsr #16
52782 movne r3, r3, asl #16
52783 orreq r3, r2, #768
52784 orrne r2, r2, #768
52785 orrne r3, r3, r2
52786 orreq r3, r3, r4, asl #16
52787 strne r3, [r6, #16]
52788 streq r3, [r6, #16]
52789.L16834:
52790 add r1, r1, #1
52791 cmp r1, r8
52792 sub lr, lr, #64
52793 add r6, r6, #32
52794 sub r0, r0, #64
52795 bne .L16816
52796 rsb r3, r8, r8, asl #26
52797 add ip, ip, r3, asl #6
52798 add r7, r7, r8, asl #5
52799.L16814:
52800 ands lr, sl, #7
52801 beq .L15754
52802 cmp lr, #3
52803 ldrls ip, [ip, #4]
52804 bls .L16873
52805 ldr r2, [ip, #4]
52806 cmp r2, #0
52807 beq .L16855
52808 ands r1, r2, #255
52809 beq .L16857
52810 ldr r3, [r7, #12]
52811 tst r3, #256
52812 movne r3, r3, lsr #16
52813 movne r3, r3, asl #16
52814 orrne r3, r3, #768
52815 orreq r3, r1, r3, asl #16
52816 orrne r3, r1, r3
52817 orreq r3, r3, #768
52818 strne r3, [r7, #12]
52819 streq r3, [r7, #12]
52820.L16857:
52821 mov r3, r2, lsr #8
52822 ands r1, r3, #255
52823 beq .L16861
52824 ldr r3, [r7, #8]
52825 tst r3, #256
52826 movne r3, r3, lsr #16
52827 movne r3, r3, asl #16
52828 orrne r3, r3, #768
52829 orreq r3, r1, r3, asl #16
52830 orrne r3, r1, r3
52831 orreq r3, r3, #768
52832 strne r3, [r7, #8]
52833 streq r3, [r7, #8]
52834.L16861:
52835 mov r3, r2, lsr #16
52836 ands r1, r3, #255
52837 beq .L16865
52838 ldr r3, [r7, #4]
52839 tst r3, #256
52840 movne r3, r3, lsr #16
52841 movne r3, r3, asl #16
52842 orrne r3, r3, #768
52843 orreq r3, r1, r3, asl #16
52844 orrne r3, r1, r3
52845 orreq r3, r3, #768
52846 strne r3, [r7, #4]
52847 streq r3, [r7, #4]
52848.L16865:
52849 movs r2, r2, lsr #24
52850 beq .L16855
52851 ldr r3, [r7, #0]
52852 tst r3, #256
52853 movne r3, r3, lsr #16
52854 movne r3, r3, asl #16
52855 orrne r3, r3, #768
52856 orreq r3, r2, r3, asl #16
52857 orrne r3, r2, r3
52858 orreq r3, r3, #768
52859 strne r3, [r7, #0]
52860 streq r3, [r7, #0]
52861.L16855:
52862 subs lr, lr, #4
52863 ldr ip, [ip, #0]
52864 addne r7, r7, #16
52865 beq .L15754
52866.L16873:
52867 mov r4, #0
52868.L16874:
52869 movs r0, ip, lsr #24
52870 beq .L16875
52871 ldr r2, [r7, #0]
52872 orr r1, r0, #768
52873 mov r3, r2, lsr #16
52874 orr r0, r0, #768
52875 mov r3, r3, asl #16
52876 tst r2, #256
52877 orr r3, r3, r1
52878 orr r0, r0, r2, asl #16
52879 strne r3, [r7, #0]
52880 streq r0, [r7, #0]
52881.L16875:
52882 add r4, r4, #1
52883 cmp lr, r4
52884 mov ip, ip, asl #8
52885 add r7, r7, #4
52886 bhi .L16874
52887 b .L15754
52888.L17763:
52889 rsb lr, r6, ip
52890 cmp lr, #0
52891 ble .L15754
52892 ldr r2, [sp, #4]
52893 movs r8, lr, lsr #3
52894 add r1, r2, r6, asl #2
52895 beq .L17083
52896 mov r5, r1
52897 mov r6, r0
52898 mov ip, #0
52899.L17085:
52900 ldr r4, [r6, #0]
52901 cmp r4, #0
52902 beq .L17086
52903 ands r3, r4, #15
52904 ldrne r2, [sp, #52]
52905 orrne r3, r2, r3
52906 orrne r3, r7, r3
52907 strne r3, [r5, #0]
52908 mov r3, r4, lsr #4
52909 ands r3, r3, #15
52910 ldrne r2, [sp, #52]
52911 orrne r3, r2, r3
52912 orrne r3, r7, r3
52913 strne r3, [r5, #4]
52914 mov r3, r4, lsr #8
52915 ands r3, r3, #15
52916 ldrne r2, [sp, #52]
52917 orrne r3, r2, r3
52918 orrne r3, r7, r3
52919 strne r3, [r5, #8]
52920 mov r3, r4, lsr #12
52921 ands r3, r3, #15
52922 ldrne r2, [sp, #52]
52923 orrne r3, r2, r3
52924 orrne r3, r7, r3
52925 strne r3, [r5, #12]
52926 mov r3, r4, lsr #16
52927 ands r3, r3, #15
52928 ldrne r2, [sp, #52]
52929 orrne r3, r2, r3
52930 orrne r3, r7, r3
52931 strne r3, [r5, #16]
52932 mov r3, r4, lsr #20
52933 ands r3, r3, #15
52934 ldrne r2, [sp, #52]
52935 orrne r3, r2, r3
52936 orrne r3, r7, r3
52937 strne r3, [r5, #20]
52938 mov r3, r4, lsr #24
52939 ands r3, r3, #15
52940 ldrne r2, [sp, #52]
52941 orrne r3, r2, r3
52942 orrne r3, r7, r3
52943 strne r3, [r5, #24]
52944 movs r3, r4, lsr #28
52945 ldrne r4, [sp, #52]
52946 orrne r3, r4, r3
52947 orrne r3, r7, r3
52948 strne r3, [r5, #28]
52949.L17086:
52950 add ip, ip, #1
52951 cmp ip, r8
52952 add r6, r6, #32
52953 add r5, r5, #32
52954 bne .L17085
52955 mov r3, r8, asl #5
52956 add r0, r0, r3
52957 add r1, r1, r3
52958.L17083:
52959 ands lr, lr, #7
52960 beq .L15754
52961 ldr r0, [r0, #0]
52962 mov ip, #0
52963.L17105:
52964 ldr r5, [sp, #52]
52965 ands r3, r0, #15
52966 orr r3, r5, r3
52967 orr r3, r7, r3
52968 strne r3, [r1, ip, asl #2]
52969 add ip, ip, #1
52970 cmp ip, lr
52971 mov r0, r0, lsr #4
52972 bne .L17105
52973 b .L15754
52974.L17773:
52975 rsb r8, r6, r7
52976 cmp r8, #0
52977 ble .L15754
52978 ldr lr, [sp, #4]
52979 movs r7, r8, lsr #3
52980 add r6, lr, r6, asl #2
52981 beq .L16478
52982 ldr r3, .L17803+4
52983 mov r5, r6
52984 add r0, r0, r3
52985 mov lr, ip
52986 mov r1, #0
52987.L16480:
52988 ldr r2, [lr, #0]
52989 cmp r2, #0
52990 beq .L16481
52991 ands r4, r2, #255
52992 beq .L16483
52993 ldr r3, [r5, #0]
52994 tst r3, #256
52995 movne r3, r3, lsr #16
52996 movne r3, r3, asl #16
52997 orrne r3, r3, #768
52998 orreq r3, r4, r3, asl #16
52999 orrne r3, r4, r3
53000 orreq r3, r3, #768
53001 strne r3, [r5, #0]
53002 streq r3, [r5, #0]
53003.L16483:
53004 mov r3, r2, lsr #8
53005 ands r4, r3, #255
53006 beq .L16487
53007 ldr r3, [r5, #4]
53008 tst r3, #256
53009 movne r3, r3, lsr #16
53010 movne r3, r3, asl #16
53011 orrne r3, r3, #768
53012 orreq r3, r4, r3, asl #16
53013 orrne r3, r4, r3
53014 orreq r3, r3, #768
53015 strne r3, [r5, #4]
53016 streq r3, [r5, #4]
53017.L16487:
53018 mov r3, r2, lsr #16
53019 ands r4, r3, #255
53020 beq .L16491
53021 ldr r3, [r5, #8]
53022 tst r3, #256
53023 movne r3, r3, lsr #16
53024 movne r3, r3, asl #16
53025 orrne r3, r3, #768
53026 orreq r3, r4, r3, asl #16
53027 orrne r3, r4, r3
53028 orreq r3, r3, #768
53029 strne r3, [r5, #8]
53030 streq r3, [r5, #8]
53031.L16491:
53032 movs r2, r2, lsr #24
53033 beq .L16481
53034 ldr r4, [r5, #12]
53035 tst r4, #256
53036 movne r3, r4, lsr #16
53037 movne r3, r3, asl #16
53038 orreq r3, r2, #768
53039 orrne r2, r2, #768
53040 orrne r3, r3, r2
53041 orreq r3, r3, r4, asl #16
53042 strne r3, [r5, #12]
53043 streq r3, [r5, #12]
53044.L16481:
53045 ldr r2, [r0, #-60]
53046 cmp r2, #0
53047 beq .L16498
53048 ands r4, r2, #255
53049 beq .L16500
53050 ldr r3, [r5, #16]
53051 tst r3, #256
53052 movne r3, r3, lsr #16
53053 movne r3, r3, asl #16
53054 orrne r3, r3, #768
53055 orreq r3, r4, r3, asl #16
53056 orrne r3, r4, r3
53057 orreq r3, r3, #768
53058 strne r3, [r5, #16]
53059 streq r3, [r5, #16]
53060.L16500:
53061 mov r3, r2, lsr #8
53062 ands r4, r3, #255
53063 beq .L16504
53064 ldr r3, [r5, #20]
53065 tst r3, #256
53066 movne r3, r3, lsr #16
53067 movne r3, r3, asl #16
53068 orrne r3, r3, #768
53069 orreq r3, r4, r3, asl #16
53070 orrne r3, r4, r3
53071 orreq r3, r3, #768
53072 strne r3, [r5, #20]
53073 streq r3, [r5, #20]
53074.L16504:
53075 mov r3, r2, lsr #16
53076 ands r4, r3, #255
53077 beq .L16508
53078 ldr r3, [r5, #24]
53079 tst r3, #256
53080 movne r3, r3, lsr #16
53081 movne r3, r3, asl #16
53082 orrne r3, r3, #768
53083 orreq r3, r4, r3, asl #16
53084 orrne r3, r4, r3
53085 orreq r3, r3, #768
53086 strne r3, [r5, #24]
53087 streq r3, [r5, #24]
53088.L16508:
53089 movs r2, r2, lsr #24
53090 beq .L16498
53091 ldr r3, [r5, #28]
53092 tst r3, #256
53093 movne r3, r3, lsr #16
53094 movne r3, r3, asl #16
53095 orrne r3, r3, #768
53096 orreq r3, r2, r3, asl #16
53097 orrne r3, r2, r3
53098 orreq r3, r3, #768
53099 strne r3, [r5, #28]
53100 streq r3, [r5, #28]
53101.L16498:
53102 add r1, r1, #1
53103 cmp r7, r1
53104 add lr, lr, #64
53105 add r5, r5, #32
53106 add r0, r0, #64
53107 bne .L16480
53108 add ip, ip, r7, asl #6
53109 add r6, r6, r7, asl #5
53110.L16478:
53111 ands lr, r8, #7
53112 beq .L15754
53113 cmp lr, #3
53114 ldrls ip, [ip, #0]
53115 bls .L16537
53116 ldr r2, [ip, #0]
53117 cmp r2, #0
53118 beq .L16519
53119 ands r1, r2, #255
53120 beq .L16521
53121 ldr r3, [r6, #0]
53122 tst r3, #256
53123 movne r3, r3, lsr #16
53124 movne r3, r3, asl #16
53125 orrne r3, r3, #768
53126 orreq r3, r1, r3, asl #16
53127 orrne r3, r1, r3
53128 orreq r3, r3, #768
53129 strne r3, [r6, #0]
53130 streq r3, [r6, #0]
53131.L16521:
53132 mov r3, r2, lsr #8
53133 ands r1, r3, #255
53134 beq .L16525
53135 ldr r3, [r6, #4]
53136 tst r3, #256
53137 movne r3, r3, lsr #16
53138 movne r3, r3, asl #16
53139 orrne r3, r3, #768
53140 orreq r3, r1, r3, asl #16
53141 orrne r3, r1, r3
53142 orreq r3, r3, #768
53143 strne r3, [r6, #4]
53144 streq r3, [r6, #4]
53145.L16525:
53146 mov r3, r2, lsr #16
53147 ands r1, r3, #255
53148 beq .L16529
53149 ldr r3, [r6, #8]
53150 tst r3, #256
53151 movne r3, r3, lsr #16
53152 movne r3, r3, asl #16
53153 orrne r3, r3, #768
53154 orreq r3, r1, r3, asl #16
53155 orrne r3, r1, r3
53156 orreq r3, r3, #768
53157 strne r3, [r6, #8]
53158 streq r3, [r6, #8]
53159.L16529:
53160 movs r2, r2, lsr #24
53161 beq .L16519
53162 ldr r1, [r6, #12]
53163 tst r1, #256
53164 movne r3, r1, lsr #16
53165 movne r3, r3, asl #16
53166 orreq r3, r2, #768
53167 orrne r2, r2, #768
53168 orrne r3, r3, r2
53169 orreq r3, r3, r1, asl #16
53170 strne r3, [r6, #12]
53171 streq r3, [r6, #12]
53172.L16519:
53173 subs lr, lr, #4
53174 ldr ip, [ip, #4]
53175 addne r6, r6, #16
53176 beq .L15754
53177.L16537:
53178 mov r4, #0
53179.L16538:
53180 ands r0, ip, #255
53181 beq .L16539
53182 ldr r2, [r6, #0]
53183 orr r1, r0, #768
53184 mov r3, r2, lsr #16
53185 orr r0, r0, #768
53186 mov r3, r3, asl #16
53187 tst r2, #256
53188 orr r3, r3, r1
53189 orr r0, r0, r2, asl #16
53190 strne r3, [r6, #0]
53191 streq r0, [r6, #0]
53192.L16539:
53193 add r4, r4, #1
53194 cmp r4, lr
53195 mov ip, ip, lsr #8
53196 add r6, r6, #4
53197 bcc .L16538
53198 b .L15754
53199.L17765:
53200 rsb r8, r6, r8
53201 cmp r8, #0
53202 ble .L15754
53203 ldr r2, [sp, #4]
53204 movs lr, r8, lsr #3
53205 add r1, r2, r6, asl #2
53206 beq .L17418
53207 ldr r3, .L17803+4
53208 mov r5, r1
53209 add r0, r0, r3
53210 mov r6, ip
53211 mov r7, #0
53212.L17420:
53213 ldr r4, [r6, #0]
53214 cmp r4, #0
53215 beq .L17421
53216 ands r3, r4, #255
53217 ldrne r2, [sp, #52]
53218 orrne r3, r2, r3
53219 strne r3, [r5, #0]
53220 mov r3, r4, lsr #8
53221 ands r3, r3, #255
53222 ldrne r2, [sp, #52]
53223 orrne r3, r2, r3
53224 strne r3, [r5, #4]
53225 mov r3, r4, lsr #16
53226 ands r3, r3, #255
53227 ldrne r2, [sp, #52]
53228 orrne r3, r2, r3
53229 strne r3, [r5, #8]
53230 movs r3, r4, lsr #24
53231 ldrne r4, [sp, #52]
53232 orrne r3, r4, r3
53233 strne r3, [r5, #12]
53234.L17421:
53235 ldr r4, [r0, #-60]
53236 cmp r4, #0
53237 beq .L17430
53238 ands r3, r4, #255
53239 ldrne r2, [sp, #52]
53240 orrne r3, r2, r3
53241 strne r3, [r5, #16]
53242 mov r3, r4, lsr #8
53243 ands r3, r3, #255
53244 ldrne r2, [sp, #52]
53245 orrne r3, r2, r3
53246 strne r3, [r5, #20]
53247 mov r3, r4, lsr #16
53248 ands r3, r3, #255
53249 ldrne r2, [sp, #52]
53250 orrne r3, r2, r3
53251 strne r3, [r5, #24]
53252 movs r3, r4, lsr #24
53253 ldrne r4, [sp, #52]
53254 orrne r3, r4, r3
53255 strne r3, [r5, #28]
53256.L17430:
53257 add r7, r7, #1
53258 cmp lr, r7
53259 add r6, r6, #64
53260 add r5, r5, #32
53261 add r0, r0, #64
53262 bne .L17420
53263 add ip, ip, lr, asl #6
53264 add r1, r1, lr, asl #5
53265.L17418:
53266 ands lr, r8, #7
53267 beq .L15754
53268 cmp lr, #3
53269 ldrls ip, [ip, #0]
53270 bls .L17453
53271 ldr r2, [ip, #0]
53272 cmp r2, #0
53273 beq .L17443
53274 ands r3, r2, #255
53275 ldrne r5, [sp, #52]
53276 orrne r3, r5, r3
53277 strne r3, [r1, #0]
53278 mov r3, r2, lsr #8
53279 ands r3, r3, #255
53280 ldrne r7, [sp, #52]
53281 orrne r3, r7, r3
53282 strne r3, [r1, #4]
53283 mov r3, r2, lsr #16
53284 ands r3, r3, #255
53285 ldrne r8, [sp, #52]
53286 orrne r3, r8, r3
53287 strne r3, [r1, #8]
53288 movs r3, r2, lsr #24
53289 ldrne r0, [sp, #52]
53290 orrne r3, r0, r3
53291 strne r3, [r1, #12]
53292.L17443:
53293 subs lr, lr, #4
53294 ldr ip, [ip, #4]
53295 addne r1, r1, #16
53296 beq .L15754
53297.L17453:
53298 mov r0, #0
53299.L17454:
53300 ldr r2, [sp, #52]
53301 ands r3, ip, #255
53302 orr r3, r2, r3
53303 strne r3, [r1, r0, asl #2]
53304 add r0, r0, #1
53305 cmp lr, r0
53306 mov ip, ip, lsr #8
53307 bhi .L17454
53308 b .L15754
53309.L17769:
53310 rsb r8, r6, lr
53311 cmp r8, #0
53312 ble .L15754
53313 ldr r2, [sp, #4]
53314 movs lr, r8, lsr #3
53315 add r1, r2, r6, asl #2
53316 beq .L17213
53317 mov r5, r1
53318 mov r6, r0
53319 mov ip, #0
53320.L17215:
53321 ldr r4, [r6, #0]
53322 cmp r4, #0
53323 beq .L17216
53324 ands r3, r4, #15
53325 ldrne r2, [sp, #52]
53326 orrne r3, r2, r3
53327 orrne r3, r7, r3
53328 strne r3, [r5, #28]
53329 mov r3, r4, lsr #4
53330 ands r3, r3, #15
53331 ldrne r2, [sp, #52]
53332 orrne r3, r2, r3
53333 orrne r3, r7, r3
53334 strne r3, [r5, #24]
53335 mov r3, r4, lsr #8
53336 ands r3, r3, #15
53337 ldrne r2, [sp, #52]
53338 orrne r3, r2, r3
53339 orrne r3, r7, r3
53340 strne r3, [r5, #20]
53341 mov r3, r4, lsr #12
53342 ands r3, r3, #15
53343 ldrne r2, [sp, #52]
53344 orrne r3, r2, r3
53345 orrne r3, r7, r3
53346 strne r3, [r5, #16]
53347 mov r3, r4, lsr #16
53348 ands r3, r3, #15
53349 ldrne r2, [sp, #52]
53350 orrne r3, r2, r3
53351 orrne r3, r7, r3
53352 strne r3, [r5, #12]
53353 mov r3, r4, lsr #20
53354 ands r3, r3, #15
53355 ldrne r2, [sp, #52]
53356 orrne r3, r2, r3
53357 orrne r3, r7, r3
53358 strne r3, [r5, #8]
53359 mov r3, r4, lsr #24
53360 ands r3, r3, #15
53361 ldrne r2, [sp, #52]
53362 orrne r3, r2, r3
53363 orrne r3, r7, r3
53364 strne r3, [r5, #4]
53365 movs r3, r4, lsr #28
53366 ldrne r4, [sp, #52]
53367 orrne r3, r4, r3
53368 orrne r3, r7, r3
53369 strne r3, [r5, #0]
53370.L17216:
53371 add ip, ip, #1
53372 cmp ip, lr
53373 sub r6, r6, #32
53374 add r5, r5, #32
53375 bne .L17215
53376 rsb r3, lr, lr, asl #27
53377 add r0, r0, r3, asl #5
53378 add r1, r1, lr, asl #5
53379.L17213:
53380 ands lr, r8, #7
53381 beq .L15754
53382 ldr r0, [r0, #0]
53383 mov ip, #0
53384.L17235:
53385 ldr r5, [sp, #52]
53386 movs r3, r0, lsr #28
53387 orr r3, r5, r3
53388 orr r3, r7, r3
53389 strne r3, [r1, ip, asl #2]
53390 add ip, ip, #1
53391 cmp ip, lr
53392 mov r0, r0, asl #4
53393 bne .L17235
53394 b .L15754
53395.L17761:
53396 rsb sl, r6, r1
53397 cmp sl, #0
53398 ble .L15754
53399 ldr r2, [sp, #4]
53400 movs ip, sl, lsr #3
53401 add r8, r2, r6, asl #2
53402 beq .L16165
53403 mov r6, r8
53404 mov lr, r0
53405 mov r1, #0
53406.L16167:
53407 ldr r5, [lr, #0]
53408 cmp r5, #0
53409 beq .L16168
53410 ands r2, r5, #15
53411 beq .L16170
53412 ldr r4, [r6, #28]
53413 orr r2, r7, r2
53414 tst r4, #256
53415 movne r3, r4, lsr #16
53416 movne r3, r3, asl #16
53417 orreq r3, r2, #768
53418 orrne r2, r2, #768
53419 orrne r3, r3, r2
53420 orreq r3, r3, r4, asl #16
53421 strne r3, [r6, #28]
53422 streq r3, [r6, #28]
53423.L16170:
53424 mov r3, r5, lsr #4
53425 ands r2, r3, #15
53426 beq .L16174
53427 ldr r4, [r6, #24]
53428 orr r2, r7, r2
53429 tst r4, #256
53430 movne r3, r4, lsr #16
53431 movne r3, r3, asl #16
53432 orreq r3, r2, #768
53433 orrne r2, r2, #768
53434 orrne r3, r3, r2
53435 orreq r3, r3, r4, asl #16
53436 strne r3, [r6, #24]
53437 streq r3, [r6, #24]
53438.L16174:
53439 mov r3, r5, lsr #8
53440 ands r2, r3, #15
53441 beq .L16178
53442 ldr r4, [r6, #20]
53443 orr r2, r7, r2
53444 tst r4, #256
53445 movne r3, r4, lsr #16
53446 movne r3, r3, asl #16
53447 orreq r3, r2, #768
53448 orrne r2, r2, #768
53449 orrne r3, r3, r2
53450 orreq r3, r3, r4, asl #16
53451 strne r3, [r6, #20]
53452 streq r3, [r6, #20]
53453.L16178:
53454 mov r3, r5, lsr #12
53455 ands r2, r3, #15
53456 beq .L16182
53457 ldr r4, [r6, #16]
53458 orr r2, r7, r2
53459 tst r4, #256
53460 movne r3, r4, lsr #16
53461 movne r3, r3, asl #16
53462 orreq r3, r2, #768
53463 orrne r2, r2, #768
53464 orrne r3, r3, r2
53465 orreq r3, r3, r4, asl #16
53466 strne r3, [r6, #16]
53467 streq r3, [r6, #16]
53468.L16182:
53469 mov r3, r5, lsr #16
53470 ands r2, r3, #15
53471 beq .L16186
53472 ldr r4, [r6, #12]
53473 orr r2, r7, r2
53474 tst r4, #256
53475 movne r3, r4, lsr #16
53476 movne r3, r3, asl #16
53477 orreq r3, r2, #768
53478 orrne r2, r2, #768
53479 orrne r3, r3, r2
53480 orreq r3, r3, r4, asl #16
53481 strne r3, [r6, #12]
53482 streq r3, [r6, #12]
53483.L16186:
53484 mov r3, r5, lsr #20
53485 ands r2, r3, #15
53486 beq .L16190
53487 ldr r4, [r6, #8]
53488 orr r2, r7, r2
53489 tst r4, #256
53490 movne r3, r4, lsr #16
53491 movne r3, r3, asl #16
53492 orreq r3, r2, #768
53493 orrne r2, r2, #768
53494 orrne r3, r3, r2
53495 orreq r3, r3, r4, asl #16
53496 strne r3, [r6, #8]
53497 streq r3, [r6, #8]
53498.L16190:
53499 mov r3, r5, lsr #24
53500 ands r2, r3, #15
53501 beq .L16194
53502 ldr r4, [r6, #4]
53503 orr r2, r7, r2
53504 tst r4, #256
53505 movne r3, r4, lsr #16
53506 movne r3, r3, asl #16
53507 orreq r3, r2, #768
53508 orrne r2, r2, #768
53509 orrne r3, r3, r2
53510 orreq r3, r3, r4, asl #16
53511 strne r3, [r6, #4]
53512 streq r3, [r6, #4]
53513.L16194:
53514 movs r2, r5, lsr #28
53515 beq .L16168
53516 ldr r4, [r6, #0]
53517 orr r2, r7, r2
53518 tst r4, #256
53519 movne r3, r4, lsr #16
53520 movne r3, r3, asl #16
53521 orreq r3, r2, #768
53522 orrne r2, r2, #768
53523 orrne r3, r3, r2
53524 orreq r3, r3, r4, asl #16
53525 strne r3, [r6, #0]
53526 streq r3, [r6, #0]
53527.L16168:
53528 add r1, r1, #1
53529 cmp ip, r1
53530 sub lr, lr, #32
53531 add r6, r6, #32
53532 bne .L16167
53533 rsb r3, ip, ip, asl #27
53534 add r0, r0, r3, asl #5
53535 add r8, r8, ip, asl #5
53536.L16165:
53537 ands lr, sl, #7
53538 beq .L15754
53539 ldr ip, [r0, #0]
53540 mov r4, #0
53541.L16203:
53542 movs r3, ip, lsr #28
53543 beq .L16204
53544 ldr r1, [r8, #0]
53545 orr r2, r7, r3
53546 mov r3, r1, lsr #16
53547 orr r0, r2, #768
53548 mov r3, r3, asl #16
53549 orr r2, r2, #768
53550 tst r1, #256
53551 orr r3, r3, r0
53552 orr r2, r2, r1, asl #16
53553 strne r3, [r8, #0]
53554 streq r2, [r8, #0]
53555.L16204:
53556 add r4, r4, #1
53557 cmp r4, lr
53558 mov ip, ip, asl #4
53559 add r8, r8, #4
53560 bne .L16203
53561 b .L15754
53562.L17795:
53563 ldr r5, [sp, #44]
53564.L16969:
53565 cmp sl, r3
53566 bhi .L17739
53567 b .L15754
53568.L16970:
53569 cmp r4, sl
53570 bcs .L15754
53571.L17739:
53572 mov r3, r4, asr #1
53573 and r8, r3, #3
53574 mov r3, r4, asr #3
53575 mov r3, r3, asl #5
53576 mov r2, r4, asr #1
53577 tst r4, #1
53578 add ip, r3, r1
53579 and r6, r2, #3
53580 add r2, r3, r1
53581 ldreqb r3, [r2, r6] @ zero_extendqisi2
53582 ldrneb r3, [ip, r8] @ zero_extendqisi2
53583 ldr lr, [sp, #52]
53584 movne r2, r3, lsr #4
53585 andeq r2, r3, #15
53586 cmp r2, #0
53587 orr r3, r2, lr
53588 ldr r2, [sp, #116]
53589 ldr ip, [sp, #84]
53590 add r5, r5, #1
53591 orr r3, r2, r3
53592 strne r3, [r7, #0]
53593 add r0, r0, ip
53594 cmp fp, r5
53595 mov r4, r0, asr #8
53596 add r7, r7, #4
53597 bgt .L16970
53598 b .L15754
53599.L17796:
53600 mov r4, fp
53601.L15803:
53602 cmp sl, r3
53603 bhi .L17727
53604 b .L15754
53605.L15804:
53606 cmp r1, sl
53607 bcs .L15754
53608.L17727:
53609 mov r3, r1, asr #1
53610 and r5, r3, #3
53611 mov r3, r1, asr #3
53612 mov r3, r3, asl #5
53613 mov r2, r1, asr #1
53614 and r0, r2, #3
53615 tst r1, #1
53616 add r2, r3, lr
53617 add r1, r3, lr
53618 ldrneb r3, [r1, r5] @ zero_extendqisi2
53619 ldreqb r3, [r2, r0] @ zero_extendqisi2
53620 movne r0, r3, lsr #4
53621 andeq r0, r3, #15
53622 ldr r3, [sp, #120]
53623 cmp r0, #0
53624 orr r0, r0, r3
53625 beq .L15810
53626 ldr r2, [r7, #0]
53627 orr r1, r0, #768
53628 mov r3, r2, lsr #16
53629 orr r0, r0, #768
53630 mov r3, r3, asl #16
53631 tst r2, #256
53632 orr r3, r3, r1
53633 orr r0, r0, r2, asl #16
53634 strne r3, [r7, #0]
53635 streq r0, [r7, #0]
53636.L15810:
53637 ldr r5, [sp, #72]
53638 ldr r8, [sp, #136]
53639 add r4, r4, #1
53640 add ip, ip, r5
53641 cmp r8, r4
53642 add r7, r7, #4
53643 mov r1, ip, asr #8
53644 bgt .L15804
53645 b .L15754
53646.L17793:
53647 ldr ip, [sp, #16]
53648.L15766:
53649 cmp sl, r2
53650 bhi .L17725
53651 b .L15754
53652.L15767:
53653 cmp r2, sl
53654 bcs .L15754
53655.L17725:
53656 mov r3, r2, asr #3
53657 add r3, lr, r3, asl #6
53658 and r2, r2, #7
53659 ldrb r4, [r3, r2] @ zero_extendqisi2
53660 cmp r4, #0
53661 beq .L15770
53662 ldr r3, [r6, #0]
53663 mov r2, r3, lsr #16
53664 mov r2, r2, asl #16
53665 orr r1, r4, r3, asl #16
53666 orr r2, r2, #768
53667 tst r3, #256
53668 orr r2, r4, r2
53669 orr r1, r1, #768
53670 strne r2, [r6, #0]
53671 streq r1, [r6, #0]
53672.L15770:
53673 add ip, ip, #1
53674 add r0, r0, fp
53675 cmp r7, ip
53676 add r6, r6, #4
53677 mov r2, r0, asr #8
53678 bgt .L15767
53679 b .L15754
53680.L15840:
53681 mov r3, r4, lsr #3
53682 mov r1, r3, asl #5
53683 ands r3, r4, #7
53684 add lr, r0, r1
53685 ldreq ip, [sp, #96]
53686 bne .L17777
53687.L15911:
53688 movs r5, r8, lsr #3
53689 beq .L15754
53690 mov r4, #0
53691 b .L15923
53692.L17778:
53693 add lr, lr, #32
53694 add ip, ip, #32
53695.L15923:
53696 ldr r0, [lr, #0]
53697 cmp r0, #0
53698 beq .L15924
53699 ands r2, r0, #15
53700 beq .L15926
53701 ldr r1, [ip, #0]
53702 orr r2, r7, r2
53703 tst r1, #256
53704 movne r3, r1, lsr #16
53705 movne r3, r3, asl #16
53706 orreq r3, r2, #768
53707 orrne r2, r2, #768
53708 orrne r3, r3, r2
53709 orreq r3, r3, r1, asl #16
53710 strne r3, [ip, #0]
53711 streq r3, [ip, #0]
53712.L15926:
53713 mov r3, r0, lsr #4
53714 ands r2, r3, #15
53715 beq .L15930
53716 ldr r1, [ip, #4]
53717 orr r2, r7, r2
53718 tst r1, #256
53719 movne r3, r1, lsr #16
53720 movne r3, r3, asl #16
53721 orreq r3, r2, #768
53722 orrne r2, r2, #768
53723 orrne r3, r3, r2
53724 orreq r3, r3, r1, asl #16
53725 strne r3, [ip, #4]
53726 streq r3, [ip, #4]
53727.L15930:
53728 mov r3, r0, lsr #8
53729 ands r2, r3, #15
53730 beq .L15934
53731 ldr r1, [ip, #8]
53732 orr r2, r7, r2
53733 tst r1, #256
53734 movne r3, r1, lsr #16
53735 movne r3, r3, asl #16
53736 orreq r3, r2, #768
53737 orrne r2, r2, #768
53738 orrne r3, r3, r2
53739 orreq r3, r3, r1, asl #16
53740 strne r3, [ip, #8]
53741 streq r3, [ip, #8]
53742.L15934:
53743 mov r3, r0, lsr #12
53744 ands r2, r3, #15
53745 beq .L15938
53746 ldr r1, [ip, #12]
53747 orr r2, r7, r2
53748 tst r1, #256
53749 movne r3, r1, lsr #16
53750 movne r3, r3, asl #16
53751 orreq r3, r2, #768
53752 orrne r2, r2, #768
53753 orrne r3, r3, r2
53754 orreq r3, r3, r1, asl #16
53755 strne r3, [ip, #12]
53756 streq r3, [ip, #12]
53757.L15938:
53758 mov r3, r0, lsr #16
53759 ands r2, r3, #15
53760 beq .L15942
53761 ldr r1, [ip, #16]
53762 orr r2, r7, r2
53763 tst r1, #256
53764 movne r3, r1, lsr #16
53765 movne r3, r3, asl #16
53766 orreq r3, r2, #768
53767 orrne r2, r2, #768
53768 orrne r3, r3, r2
53769 orreq r3, r3, r1, asl #16
53770 strne r3, [ip, #16]
53771 streq r3, [ip, #16]
53772.L15942:
53773 mov r3, r0, lsr #20
53774 ands r2, r3, #15
53775 beq .L15946
53776 ldr r1, [ip, #20]
53777 orr r2, r7, r2
53778 tst r1, #256
53779 movne r3, r1, lsr #16
53780 movne r3, r3, asl #16
53781 orreq r3, r2, #768
53782 orrne r2, r2, #768
53783 orrne r3, r3, r2
53784 orreq r3, r3, r1, asl #16
53785 strne r3, [ip, #20]
53786 streq r3, [ip, #20]
53787.L15946:
53788 mov r3, r0, lsr #24
53789 ands r2, r3, #15
53790 beq .L15950
53791 ldr r1, [ip, #24]
53792 orr r2, r7, r2
53793 tst r1, #256
53794 movne r3, r1, lsr #16
53795 movne r3, r3, asl #16
53796 orreq r3, r2, #768
53797 orrne r2, r2, #768
53798 orrne r3, r3, r2
53799 orreq r3, r3, r1, asl #16
53800 strne r3, [ip, #24]
53801 streq r3, [ip, #24]
53802.L15950:
53803 movs r2, r0, lsr #28
53804 beq .L15924
53805 ldr r1, [ip, #28]
53806 orr r2, r7, r2
53807 tst r1, #256
53808 movne r3, r1, lsr #16
53809 movne r3, r3, asl #16
53810 orreq r3, r2, #768
53811 orrne r2, r2, #768
53812 orrne r3, r3, r2
53813 orreq r3, r3, r1, asl #16
53814 strne r3, [ip, #28]
53815 streq r3, [ip, #28]
53816.L15924:
53817 add r4, r4, #1
53818 cmp r5, r4
53819 bne .L17778
53820 b .L15754
53821.L16584:
53822 ands r2, r0, #7
53823 mov r3, r0, lsr #3
53824 sub lr, ip, r3, asl #6
53825 ldreq ip, [sp, #96]
53826 bne .L17779
53827.L16734:
53828 movs r5, r7, lsr #3
53829 beq .L15754
53830 mov r4, #0
53831 b .L16775
53832.L17780:
53833 sub lr, lr, #64
53834 add ip, ip, #32
53835.L16775:
53836 ldr r2, [lr, #4]
53837 cmp r2, #0
53838 beq .L16776
53839 ands r1, r2, #255
53840 beq .L16778
53841 ldr r3, [ip, #12]
53842 tst r3, #256
53843 movne r3, r3, lsr #16
53844 movne r3, r3, asl #16
53845 orrne r3, r3, #768
53846 orreq r3, r1, r3, asl #16
53847 orrne r3, r1, r3
53848 orreq r3, r3, #768
53849 strne r3, [ip, #12]
53850 streq r3, [ip, #12]
53851.L16778:
53852 mov r3, r2, lsr #8
53853 ands r1, r3, #255
53854 beq .L16782
53855 ldr r3, [ip, #8]
53856 tst r3, #256
53857 movne r3, r3, lsr #16
53858 movne r3, r3, asl #16
53859 orrne r3, r3, #768
53860 orreq r3, r1, r3, asl #16
53861 orrne r3, r1, r3
53862 orreq r3, r3, #768
53863 strne r3, [ip, #8]
53864 streq r3, [ip, #8]
53865.L16782:
53866 mov r3, r2, lsr #16
53867 ands r1, r3, #255
53868 beq .L16786
53869 ldr r3, [ip, #4]
53870 tst r3, #256
53871 movne r3, r3, lsr #16
53872 movne r3, r3, asl #16
53873 orrne r3, r3, #768
53874 orreq r3, r1, r3, asl #16
53875 orrne r3, r1, r3
53876 orreq r3, r3, #768
53877 strne r3, [ip, #4]
53878 streq r3, [ip, #4]
53879.L16786:
53880 movs r2, r2, lsr #24
53881 beq .L16776
53882 ldr r3, [ip, #0]
53883 tst r3, #256
53884 movne r3, r3, lsr #16
53885 movne r3, r3, asl #16
53886 orrne r3, r3, #768
53887 orreq r3, r2, r3, asl #16
53888 orrne r3, r2, r3
53889 orreq r3, r3, #768
53890 strne r3, [ip, #0]
53891 streq r3, [ip, #0]
53892.L16776:
53893 ldr r1, [lr, #0]
53894 cmp r1, #0
53895 beq .L16793
53896 ands r2, r1, #255
53897 beq .L16795
53898 ldr r0, [ip, #28]
53899 tst r0, #256
53900 movne r3, r0, lsr #16
53901 movne r3, r3, asl #16
53902 orreq r3, r2, #768
53903 orrne r2, r2, #768
53904 orrne r3, r3, r2
53905 orreq r3, r3, r0, asl #16
53906 strne r3, [ip, #28]
53907 streq r3, [ip, #28]
53908.L16795:
53909 mov r3, r1, lsr #8
53910 ands r2, r3, #255
53911 beq .L16799
53912 ldr r3, [ip, #24]
53913 tst r3, #256
53914 movne r3, r3, lsr #16
53915 movne r3, r3, asl #16
53916 orrne r3, r3, #768
53917 orreq r3, r2, r3, asl #16
53918 orrne r3, r2, r3
53919 orreq r3, r3, #768
53920 strne r3, [ip, #24]
53921 streq r3, [ip, #24]
53922.L16799:
53923 mov r3, r1, lsr #16
53924 ands r2, r3, #255
53925 beq .L16803
53926 ldr r3, [ip, #20]
53927 tst r3, #256
53928 movne r3, r3, lsr #16
53929 movne r3, r3, asl #16
53930 orrne r3, r3, #768
53931 orreq r3, r2, r3, asl #16
53932 orrne r3, r2, r3
53933 orreq r3, r3, #768
53934 strne r3, [ip, #20]
53935 streq r3, [ip, #20]
53936.L16803:
53937 movs r2, r1, lsr #24
53938 beq .L16793
53939 ldr r1, [ip, #16]
53940 tst r1, #256
53941 movne r3, r1, lsr #16
53942 movne r3, r3, asl #16
53943 orreq r3, r2, #768
53944 orrne r2, r2, #768
53945 orrne r3, r3, r2
53946 orreq r3, r3, r1, asl #16
53947 strne r3, [ip, #16]
53948 streq r3, [ip, #16]
53949.L16793:
53950 add r4, r4, #1
53951 cmp r5, r4
53952 bne .L17780
53953 b .L15754
53954.L17262:
53955 ands r2, r0, #7
53956 mov r3, r0, lsr #3
53957 add r0, ip, r3, asl #6
53958 ldreq r1, [sp, #96]
53959 bne .L17781
53960.L17366:
53961 movs lr, lr, lsr #3
53962 beq .L15754
53963 mov ip, #0
53964 b .L17395
53965.L17782:
53966 add r0, r0, #64
53967 add r1, r1, #32
53968.L17395:
53969 ldr r2, [r0, #0]
53970 cmp r2, #0
53971 beq .L17396
53972 ands r3, r2, #255
53973 ldrne r8, [sp, #52]
53974 orrne r3, r8, r3
53975 strne r3, [r1, #0]
53976 mov r3, r2, lsr #8
53977 ands r3, r3, #255
53978 ldrne r4, [sp, #52]
53979 orrne r3, r4, r3
53980 strne r3, [r1, #4]
53981 mov r3, r2, lsr #16
53982 ands r3, r3, #255
53983 ldrne r5, [sp, #52]
53984 orrne r3, r5, r3
53985 strne r3, [r1, #8]
53986 movs r3, r2, lsr #24
53987 ldrne r7, [sp, #52]
53988 orrne r3, r7, r3
53989 strne r3, [r1, #12]
53990.L17396:
53991 ldr r2, [r0, #4]
53992 cmp r2, #0
53993 beq .L17405
53994 ands r3, r2, #255
53995 ldrne r8, [sp, #52]
53996 orrne r3, r8, r3
53997 strne r3, [r1, #16]
53998 mov r3, r2, lsr #8
53999 ands r3, r3, #255
54000 ldrne r4, [sp, #52]
54001 orrne r3, r4, r3
54002 strne r3, [r1, #20]
54003 mov r3, r2, lsr #16
54004 ands r3, r3, #255
54005 ldrne r5, [sp, #52]
54006 orrne r3, r5, r3
54007 strne r3, [r1, #24]
54008 movs r3, r2, lsr #24
54009 ldrne r7, [sp, #52]
54010 orrne r3, r7, r3
54011 strne r3, [r1, #28]
54012.L17405:
54013 add ip, ip, #1
54014 cmp lr, ip
54015 bne .L17782
54016 b .L15754
54017.L17002:
54018 mov r3, r4, lsr #3
54019 mov r1, r3, asl #5
54020 ands r3, r4, #7
54021 add r4, r0, r1
54022 ldreq r1, [sp, #96]
54023 bne .L17783
54024.L17051:
54025 movs ip, lr, lsr #3
54026 beq .L15754
54027 mov r0, #0
54028 b .L17061
54029.L17784:
54030 add r4, r4, #32
54031 add r1, r1, #32
54032.L17061:
54033 ldr r2, [r4, #0]
54034 cmp r2, #0
54035 beq .L17062
54036 ands r3, r2, #15
54037 ldrne r5, [sp, #52]
54038 orrne r3, r5, r3
54039 orrne r3, r7, r3
54040 strne r3, [r1, #0]
54041 mov r3, r2, lsr #4
54042 ands r3, r3, #15
54043 ldrne r8, [sp, #52]
54044 orrne r3, r8, r3
54045 orrne r3, r7, r3
54046 strne r3, [r1, #4]
54047 mov r3, r2, lsr #8
54048 ands r3, r3, #15
54049 ldrne lr, [sp, #52]
54050 orrne r3, lr, r3
54051 orrne r3, r7, r3
54052 strne r3, [r1, #8]
54053 mov r3, r2, lsr #12
54054 ands r3, r3, #15
54055 ldrne r5, [sp, #52]
54056 orrne r3, r5, r3
54057 orrne r3, r7, r3
54058 strne r3, [r1, #12]
54059 mov r3, r2, lsr #16
54060 ands r3, r3, #15
54061 ldrne r8, [sp, #52]
54062 orrne r3, r8, r3
54063 orrne r3, r7, r3
54064 strne r3, [r1, #16]
54065 mov r3, r2, lsr #20
54066 ands r3, r3, #15
54067 ldrne lr, [sp, #52]
54068 orrne r3, lr, r3
54069 orrne r3, r7, r3
54070 strne r3, [r1, #20]
54071 mov r3, r2, lsr #24
54072 ands r3, r3, #15
54073 ldrne r5, [sp, #52]
54074 orrne r3, r5, r3
54075 orrne r3, r7, r3
54076 strne r3, [r1, #24]
54077 movs r3, r2, lsr #28
54078 ldrne r8, [sp, #52]
54079 orrne r3, r8, r3
54080 orrne r3, r7, r3
54081 strne r3, [r1, #28]
54082.L17062:
54083 add r0, r0, #1
54084 cmp ip, r0
54085 bne .L17784
54086 b .L15754
54087.L16248:
54088 mov r3, r0, lsr #3
54089 ands r2, r0, #7
54090 add lr, ip, r3, asl #6
54091 ldreq r0, [sp, #96]
54092 bne .L17785
54093.L16398:
54094 movs r4, r7, lsr #3
54095 beq .L15754
54096 mov ip, #0
54097 b .L16439
54098.L17786:
54099 add lr, lr, #64
54100 add r0, r0, #32
54101.L16439:
54102 ldr r2, [lr, #0]
54103 cmp r2, #0
54104 beq .L16440
54105 ands r1, r2, #255
54106 beq .L16442
54107 ldr r3, [r0, #0]
54108 tst r3, #256
54109 movne r3, r3, lsr #16
54110 movne r3, r3, asl #16
54111 orrne r3, r3, #768
54112 orreq r3, r1, r3, asl #16
54113 orrne r3, r1, r3
54114 orreq r3, r3, #768
54115 strne r3, [r0, #0]
54116 streq r3, [r0, #0]
54117.L16442:
54118 mov r3, r2, lsr #8
54119 ands r1, r3, #255
54120 beq .L16446
54121 ldr r3, [r0, #4]
54122 tst r3, #256
54123 movne r3, r3, lsr #16
54124 movne r3, r3, asl #16
54125 orrne r3, r3, #768
54126 orreq r3, r1, r3, asl #16
54127 orrne r3, r1, r3
54128 orreq r3, r3, #768
54129 strne r3, [r0, #4]
54130 streq r3, [r0, #4]
54131.L16446:
54132 mov r3, r2, lsr #16
54133 ands r1, r3, #255
54134 beq .L16450
54135 ldr r3, [r0, #8]
54136 tst r3, #256
54137 movne r3, r3, lsr #16
54138 movne r3, r3, asl #16
54139 orrne r3, r3, #768
54140 orreq r3, r1, r3, asl #16
54141 orrne r3, r1, r3
54142 orreq r3, r3, #768
54143 strne r3, [r0, #8]
54144 streq r3, [r0, #8]
54145.L16450:
54146 movs r2, r2, lsr #24
54147 beq .L16440
54148 ldr r1, [r0, #12]
54149 tst r1, #256
54150 movne r3, r1, lsr #16
54151 movne r3, r3, asl #16
54152 orreq r3, r2, #768
54153 orrne r2, r2, #768
54154 orrne r3, r3, r2
54155 orreq r3, r3, r1, asl #16
54156 strne r3, [r0, #12]
54157 streq r3, [r0, #12]
54158.L16440:
54159 ldr r2, [lr, #4]
54160 cmp r2, #0
54161 beq .L16457
54162 ands r1, r2, #255
54163 beq .L16459
54164 ldr r3, [r0, #16]
54165 tst r3, #256
54166 movne r3, r3, lsr #16
54167 movne r3, r3, asl #16
54168 orrne r3, r3, #768
54169 orreq r3, r1, r3, asl #16
54170 orrne r3, r1, r3
54171 orreq r3, r3, #768
54172 strne r3, [r0, #16]
54173 streq r3, [r0, #16]
54174.L16459:
54175 mov r3, r2, lsr #8
54176 ands r1, r3, #255
54177 beq .L16463
54178 ldr r3, [r0, #20]
54179 tst r3, #256
54180 movne r3, r3, lsr #16
54181 movne r3, r3, asl #16
54182 orrne r3, r3, #768
54183 orreq r3, r1, r3, asl #16
54184 orrne r3, r1, r3
54185 orreq r3, r3, #768
54186 strne r3, [r0, #20]
54187 streq r3, [r0, #20]
54188.L16463:
54189 mov r3, r2, lsr #16
54190 ands r1, r3, #255
54191 beq .L16467
54192 ldr r3, [r0, #24]
54193 tst r3, #256
54194 movne r3, r3, lsr #16
54195 movne r3, r3, asl #16
54196 orrne r3, r3, #768
54197 orreq r3, r1, r3, asl #16
54198 orrne r3, r1, r3
54199 orreq r3, r3, #768
54200 strne r3, [r0, #24]
54201 streq r3, [r0, #24]
54202.L16467:
54203 movs r2, r2, lsr #24
54204 beq .L16457
54205 ldr r3, [r0, #28]
54206 tst r3, #256
54207 movne r3, r3, lsr #16
54208 movne r3, r3, asl #16
54209 orrne r3, r3, #768
54210 orreq r3, r2, r3, asl #16
54211 orrne r3, r2, r3
54212 orreq r3, r3, #768
54213 strne r3, [r0, #28]
54214 streq r3, [r0, #28]
54215.L16457:
54216 add ip, ip, #1
54217 cmp ip, r4
54218 bne .L17786
54219 b .L15754
54220.L17132:
54221 ands r2, r4, #7
54222 mov r3, r4, lsr #3
54223 sub r0, r0, r3, asl #5
54224 ldreq r5, [sp, #96]
54225 bne .L17787
54226.L17181:
54227 movs r1, r1, lsr #3
54228 beq .L15754
54229 mov r2, #0
54230 b .L17191
54231.L17788:
54232 sub r0, r0, #32
54233 add r5, r5, #32
54234.L17191:
54235 ldr r4, [r0, #0]
54236 cmp r4, #0
54237 beq .L17192
54238 ands r3, r4, #15
54239 ldrne r8, [sp, #52]
54240 orrne r3, r8, r3
54241 orrne r3, r7, r3
54242 strne r3, [r5, #28]
54243 mov r3, r4, lsr #4
54244 ands r3, r3, #15
54245 ldrne ip, [sp, #52]
54246 orrne r3, ip, r3
54247 orrne r3, r7, r3
54248 strne r3, [r5, #24]
54249 mov r3, r4, lsr #8
54250 ands r3, r3, #15
54251 ldrne lr, [sp, #52]
54252 orrne r3, lr, r3
54253 orrne r3, r7, r3
54254 strne r3, [r5, #20]
54255 mov r3, r4, lsr #12
54256 ands r3, r3, #15
54257 ldrne r8, [sp, #52]
54258 orrne r3, r8, r3
54259 orrne r3, r7, r3
54260 strne r3, [r5, #16]
54261 mov r3, r4, lsr #16
54262 ands r3, r3, #15
54263 ldrne ip, [sp, #52]
54264 orrne r3, ip, r3
54265 orrne r3, r7, r3
54266 strne r3, [r5, #12]
54267 mov r3, r4, lsr #20
54268 ands r3, r3, #15
54269 ldrne lr, [sp, #52]
54270 orrne r3, lr, r3
54271 orrne r3, r7, r3
54272 strne r3, [r5, #8]
54273 mov r3, r4, lsr #24
54274 ands r3, r3, #15
54275 ldrne r8, [sp, #52]
54276 orrne r3, r8, r3
54277 orrne r3, r7, r3
54278 strne r3, [r5, #4]
54279 movs r3, r4, lsr #28
54280 ldrne ip, [sp, #52]
54281 orrne r3, ip, r3
54282 orrne r3, r7, r3
54283 strne r3, [r5, #0]
54284.L17192:
54285 add r2, r2, #1
54286 cmp r2, r1
54287 bne .L17788
54288 b .L15754
54289.L16044:
54290 mov r3, r4, lsr #3
54291 ands r2, r4, #7
54292 sub ip, r0, r3, asl #5
54293 ldreq r4, [sp, #96]
54294 bne .L17789
54295.L16115:
54296 movs r5, lr, lsr #3
54297 beq .L15754
54298 mov lr, #0
54299 b .L16127
54300.L17790:
54301 sub ip, ip, #32
54302 add r4, r4, #32
54303.L16127:
54304 ldr r0, [ip, #0]
54305 cmp r0, #0
54306 beq .L16128
54307 ands r2, r0, #15
54308 beq .L16130
54309 ldr r1, [r4, #28]
54310 orr r2, r7, r2
54311 tst r1, #256
54312 movne r3, r1, lsr #16
54313 movne r3, r3, asl #16
54314 orreq r3, r2, #768
54315 orrne r2, r2, #768
54316 orrne r3, r3, r2
54317 orreq r3, r3, r1, asl #16
54318 strne r3, [r4, #28]
54319 streq r3, [r4, #28]
54320.L16130:
54321 mov r3, r0, lsr #4
54322 ands r2, r3, #15
54323 beq .L16134
54324 ldr r1, [r4, #24]
54325 orr r2, r7, r2
54326 tst r1, #256
54327 movne r3, r1, lsr #16
54328 movne r3, r3, asl #16
54329 orreq r3, r2, #768
54330 orrne r2, r2, #768
54331 orrne r3, r3, r2
54332 orreq r3, r3, r1, asl #16
54333 strne r3, [r4, #24]
54334 streq r3, [r4, #24]
54335.L16134:
54336 mov r3, r0, lsr #8
54337 ands r2, r3, #15
54338 beq .L16138
54339 ldr r1, [r4, #20]
54340 orr r2, r7, r2
54341 tst r1, #256
54342 movne r3, r1, lsr #16
54343 movne r3, r3, asl #16
54344 orreq r3, r2, #768
54345 orrne r2, r2, #768
54346 orrne r3, r3, r2
54347 orreq r3, r3, r1, asl #16
54348 strne r3, [r4, #20]
54349 streq r3, [r4, #20]
54350.L16138:
54351 mov r3, r0, lsr #12
54352 ands r2, r3, #15
54353 beq .L16142
54354 ldr r1, [r4, #16]
54355 orr r2, r7, r2
54356 tst r1, #256
54357 movne r3, r1, lsr #16
54358 movne r3, r3, asl #16
54359 orreq r3, r2, #768
54360 orrne r2, r2, #768
54361 orrne r3, r3, r2
54362 orreq r3, r3, r1, asl #16
54363 strne r3, [r4, #16]
54364 streq r3, [r4, #16]
54365.L16142:
54366 mov r3, r0, lsr #16
54367 ands r2, r3, #15
54368 beq .L16146
54369 ldr r1, [r4, #12]
54370 orr r2, r7, r2
54371 tst r1, #256
54372 movne r3, r1, lsr #16
54373 movne r3, r3, asl #16
54374 orreq r3, r2, #768
54375 orrne r2, r2, #768
54376 orrne r3, r3, r2
54377 orreq r3, r3, r1, asl #16
54378 strne r3, [r4, #12]
54379 streq r3, [r4, #12]
54380.L16146:
54381 mov r3, r0, lsr #20
54382 ands r2, r3, #15
54383 beq .L16150
54384 ldr r1, [r4, #8]
54385 orr r2, r7, r2
54386 tst r1, #256
54387 movne r3, r1, lsr #16
54388 movne r3, r3, asl #16
54389 orreq r3, r2, #768
54390 orrne r2, r2, #768
54391 orrne r3, r3, r2
54392 orreq r3, r3, r1, asl #16
54393 strne r3, [r4, #8]
54394 streq r3, [r4, #8]
54395.L16150:
54396 mov r3, r0, lsr #24
54397 ands r2, r3, #15
54398 beq .L16154
54399 ldr r1, [r4, #4]
54400 orr r2, r7, r2
54401 tst r1, #256
54402 movne r3, r1, lsr #16
54403 movne r3, r3, asl #16
54404 orreq r3, r2, #768
54405 orrne r2, r2, #768
54406 orrne r3, r3, r2
54407 orreq r3, r3, r1, asl #16
54408 strne r3, [r4, #4]
54409 streq r3, [r4, #4]
54410.L16154:
54411 movs r2, r0, lsr #28
54412 beq .L16128
54413 ldr r1, [r4, #0]
54414 orr r2, r7, r2
54415 tst r1, #256
54416 movne r3, r1, lsr #16
54417 movne r3, r3, asl #16
54418 orreq r3, r2, #768
54419 orrne r2, r2, #768
54420 orrne r3, r3, r2
54421 orreq r3, r3, r1, asl #16
54422 strne r3, [r4, #0]
54423 streq r3, [r4, #0]
54424.L16128:
54425 add lr, lr, #1
54426 cmp lr, r5
54427 bne .L17790
54428 b .L15754
54429.L17482:
54430 mov r3, r0, lsr #3
54431 ands r1, r0, #7
54432 sub r2, r2, r3, asl #6
54433 ldreq r0, [sp, #96]
54434 bne .L17791
54435.L17586:
54436 movs lr, lr, lsr #3
54437 beq .L15754
54438 mov ip, #0
54439 b .L17615
54440.L17792:
54441 sub r2, r2, #64
54442 add r0, r0, #32
54443.L17615:
54444 ldr r1, [r2, #4]
54445 cmp r1, #0
54446 beq .L17616
54447 ands r3, r1, #255
54448 ldrne r8, [sp, #52]
54449 orrne r3, r8, r3
54450 strne r3, [r0, #12]
54451 mov r3, r1, lsr #8
54452 ands r3, r3, #255
54453 ldrne r4, [sp, #52]
54454 orrne r3, r4, r3
54455 strne r3, [r0, #8]
54456 mov r3, r1, lsr #16
54457 ands r3, r3, #255
54458 ldrne r5, [sp, #52]
54459 orrne r3, r5, r3
54460 strne r3, [r0, #4]
54461 movs r3, r1, lsr #24
54462 ldrne r7, [sp, #52]
54463 orrne r3, r7, r3
54464 strne r3, [r0, #0]
54465.L17616:
54466 ldr r1, [r2, #0]
54467 cmp r1, #0
54468 beq .L17625
54469 ands r3, r1, #255
54470 ldrne r8, [sp, #52]
54471 orrne r3, r8, r3
54472 strne r3, [r0, #28]
54473 mov r3, r1, lsr #8
54474 ands r3, r3, #255
54475 ldrne r4, [sp, #52]
54476 orrne r3, r4, r3
54477 strne r3, [r0, #24]
54478 mov r3, r1, lsr #16
54479 ands r3, r3, #255
54480 ldrne r5, [sp, #52]
54481 orrne r3, r5, r3
54482 strne r3, [r0, #20]
54483 movs r3, r1, lsr #24
54484 ldrne r7, [sp, #52]
54485 orrne r3, r7, r3
54486 strne r3, [r0, #16]
54487.L17625:
54488 add ip, ip, #1
54489 cmp ip, lr
54490 bne .L17792
54491 b .L15754
54492.L17791:
54493 cmp r1, #3
54494 rsb ip, r1, #8
54495 bls .L17587
54496 cmp ip, #0
54497 ldr r0, [r2, #0]
54498 ldreq r0, [sp, #96]
54499 beq .L17591
54500 mov r3, r1, asl #3
54501 sub r3, r3, #32
54502 mov r1, r0, asl r3
54503 mov r0, #0
54504.L17592:
54505 movs r3, r1, lsr #24
54506 ldr r7, [sp, #52]
54507 ldrne r8, [sp, #96]
54508 orr r3, r7, r3
54509 strne r3, [r8, r0, asl #2]
54510 add r0, r0, #1
54511 cmp r0, ip
54512 mov r1, r1, asl #8
54513 bne .L17592
54514 ldr r1, [sp, #96]
54515 add r0, r1, ip, asl #2
54516.L17591:
54517 sub r2, r2, #64
54518 b .L17586
54519.L17789:
54520 rsbs r8, r2, #8
54521 ldr r1, [ip, #0]
54522 ldreq r4, [sp, #96]
54523 beq .L16118
54524 mov r3, r2, asl #2
54525 mov r4, r1, asl r3
54526 ldr r5, [sp, #96]
54527 mov r6, #0
54528.L16119:
54529 movs r3, r4, lsr #28
54530 beq .L16120
54531 ldr r1, [r5, #0]
54532 orr r2, r7, r3
54533 mov r3, r1, lsr #16
54534 orr r0, r2, #768
54535 mov r3, r3, asl #16
54536 orr r2, r2, #768
54537 tst r1, #256
54538 orr r3, r3, r0
54539 orr r2, r2, r1, asl #16
54540 strne r3, [r5, #0]
54541 streq r2, [r5, #0]
54542.L16120:
54543 add r6, r6, #1
54544 cmp r6, r8
54545 mov r4, r4, asl #4
54546 add r5, r5, #4
54547 bne .L16119
54548 ldr r0, [sp, #96]
54549 add r4, r0, r8, asl #2
54550.L16118:
54551 sub ip, ip, #32
54552 b .L16115
54553.L17787:
54554 rsbs ip, r2, #8
54555 ldr lr, [r0, #0]
54556 ldreq r5, [sp, #96]
54557 beq .L17184
54558 mov r3, r2, asl #2
54559 mov r4, lr, asl r3
54560 mov r5, #0
54561.L17185:
54562 ldr r8, [sp, #52]
54563 movs r3, r4, lsr #28
54564 ldrne lr, [sp, #96]
54565 orr r3, r8, r3
54566 orr r3, r7, r3
54567 strne r3, [lr, r5, asl #2]
54568 add r5, r5, #1
54569 cmp ip, r5
54570 mov r4, r4, asl #4
54571 bne .L17185
54572 ldr r2, [sp, #96]
54573 add r5, r2, ip, asl #2
54574.L17184:
54575 sub r0, r0, #32
54576 b .L17181
54577.L17783:
54578 rsbs r5, r3, #8
54579 ldr r0, [r0, r1]
54580 ldreq r1, [sp, #96]
54581 beq .L17054
54582 mov r3, r3, asl #2
54583 mov r0, r0, lsr r3
54584 mov r2, #0
54585.L17055:
54586 ldr r8, [sp, #52]
54587 ands r3, r0, #15
54588 ldrne ip, [sp, #96]
54589 orr r3, r8, r3
54590 orr r3, r7, r3
54591 strne r3, [ip, r2, asl #2]
54592 add r2, r2, #1
54593 cmp r2, r5
54594 mov r0, r0, lsr #4
54595 bne .L17055
54596 ldr r0, [sp, #96]
54597 add r1, r0, r5, asl #2
54598.L17054:
54599 add r4, r4, #32
54600 b .L17051
54601.L17781:
54602 cmp r2, #3
54603 rsb ip, r2, #8
54604 bls .L17367
54605 cmp ip, #0
54606 ldr r1, [r0, #4]
54607 ldreq r1, [sp, #96]
54608 beq .L17371
54609 mov r3, r2, asl #3
54610 sub r3, r3, #32
54611 mov r2, r1, lsr r3
54612 mov r1, #0
54613.L17372:
54614 ands r3, r2, #255
54615 ldr r7, [sp, #52]
54616 ldrne r8, [sp, #96]
54617 orr r3, r7, r3
54618 strne r3, [r8, r1, asl #2]
54619 add r1, r1, #1
54620 cmp r1, ip
54621 mov r2, r2, lsr #8
54622 bne .L17372
54623 ldr r2, [sp, #96]
54624 add r1, r2, ip, asl #2
54625.L17371:
54626 add r0, r0, #64
54627 b .L17366
54628.L17785:
54629 cmp r2, #3
54630 rsb r6, r2, #8
54631 bls .L16399
54632 cmp r6, #0
54633 ldr r1, [lr, #4]
54634 ldreq r0, [sp, #96]
54635 beq .L16403
54636 mov r3, r2, asl #3
54637 sub r3, r3, #32
54638 mov ip, r1, lsr r3
54639 ldr r4, [sp, #96]
54640 mov r5, #0
54641.L16404:
54642 ands r0, ip, #255
54643 beq .L16405
54644 ldr r2, [r4, #0]
54645 orr r1, r0, #768
54646 mov r3, r2, lsr #16
54647 orr r0, r0, #768
54648 mov r3, r3, asl #16
54649 tst r2, #256
54650 orr r3, r3, r1
54651 orr r0, r0, r2, asl #16
54652 strne r3, [r4, #0]
54653 streq r0, [r4, #0]
54654.L16405:
54655 add r5, r5, #1
54656 cmp r5, r6
54657 mov ip, ip, lsr #8
54658 add r4, r4, #4
54659 bne .L16404
54660 ldr r5, [sp, #96]
54661 add r0, r5, r6, asl #2
54662.L16403:
54663 add lr, lr, #64
54664 b .L16398
54665.L17779:
54666 cmp r2, #3
54667 rsb r6, r2, #8
54668 bls .L16735
54669 cmp r6, #0
54670 ldr r1, [lr, #0]
54671 ldreq ip, [sp, #96]
54672 beq .L16739
54673 mov r3, r2, asl #3
54674 sub r3, r3, #32
54675 mov ip, r1, asl r3
54676 ldr r4, [sp, #96]
54677 mov r5, #0
54678.L16740:
54679 movs r0, ip, lsr #24
54680 beq .L16741
54681 ldr r2, [r4, #0]
54682 orr r1, r0, #768
54683 mov r3, r2, lsr #16
54684 orr r0, r0, #768
54685 mov r3, r3, asl #16
54686 tst r2, #256
54687 orr r3, r3, r1
54688 orr r0, r0, r2, asl #16
54689 strne r3, [r4, #0]
54690 streq r0, [r4, #0]
54691.L16741:
54692 add r5, r5, #1
54693 cmp r6, r5
54694 mov ip, ip, asl #8
54695 add r4, r4, #4
54696 bne .L16740
54697 ldr r1, [sp, #96]
54698 add ip, r1, r6, asl #2
54699.L16739:
54700 sub lr, lr, #64
54701 b .L16734
54702.L17777:
54703 rsbs r6, r3, #8
54704 ldr r0, [r0, r1]
54705 ldreq ip, [sp, #96]
54706 beq .L15914
54707 mov r3, r3, asl #2
54708 mov ip, r0, lsr r3
54709 ldr r4, [sp, #96]
54710 mov r5, #0
54711.L15915:
54712 ands r3, ip, #15
54713 beq .L15916
54714 ldr r1, [r4, #0]
54715 orr r2, r7, r3
54716 mov r3, r1, lsr #16
54717 orr r0, r2, #768
54718 mov r3, r3, asl #16
54719 orr r2, r2, #768
54720 tst r1, #256
54721 orr r3, r3, r0
54722 orr r2, r2, r1, asl #16
54723 strne r3, [r4, #0]
54724 streq r2, [r4, #0]
54725.L15916:
54726 add r5, r5, #1
54727 cmp r6, r5
54728 mov ip, ip, lsr #4
54729 add r4, r4, #4
54730 bne .L15915
54731 ldr r3, [sp, #96]
54732 add ip, r3, r6, asl #2
54733.L15914:
54734 add lr, lr, #32
54735 b .L15911
54736.L15842:
54737 ldr lr, [sp, #128]
54738 rsb r6, r3, #8
54739 cmp lr, r6
54740 bge .L15845
54741 cmp lr, #0
54742 ble .L15754
54743 ldr r2, [r0, r1]
54744 mov r3, r3, asl #2
54745 mov ip, r2, lsr r3
54746 ldr r4, [sp, #96]
54747 mov lr, #0
54748.L15849:
54749 ands r3, ip, #15
54750 beq .L15850
54751 ldr r1, [r4, #0]
54752 orr r2, r7, r3
54753 mov r3, r1, lsr #16
54754 orr r0, r2, #768
54755 mov r3, r3, asl #16
54756 orr r2, r2, #768
54757 tst r1, #256
54758 orr r3, r3, r0
54759 orr r2, r2, r1, asl #16
54760 strne r3, [r4, #0]
54761 streq r2, [r4, #0]
54762.L15850:
54763 ldr r0, [sp, #128]
54764 add lr, lr, #1
54765 cmp r0, lr
54766 mov ip, ip, lsr #4
54767 add r4, r4, #4
54768 bne .L15849
54769 b .L15754
54770.L16586:
54771 ldr r7, [sp, #128]
54772 rsb r6, lr, #8
54773 cmp r7, r6
54774 bge .L16589
54775 cmp r7, #0
54776 ble .L15754
54777 cmp lr, #3
54778 bls .L16592
54779 mov r3, lr, asl #3
54780 ldr r2, [r8, #0]
54781 sub r3, r3, #32
54782 mov ip, r2, asl r3
54783 ldr lr, [sp, #96]
54784 mov r4, #0
54785.L16595:
54786 movs r0, ip, lsr #24
54787 beq .L16596
54788 ldr r2, [lr, #0]
54789 orr r1, r0, #768
54790 mov r3, r2, lsr #16
54791 orr r0, r0, #768
54792 mov r3, r3, asl #16
54793 tst r2, #256
54794 orr r3, r3, r1
54795 orr r0, r0, r2, asl #16
54796 strne r3, [lr, #0]
54797 streq r0, [lr, #0]
54798.L16596:
54799 ldr r8, [sp, #128]
54800 add r4, r4, #1
54801 cmp r8, r4
54802 mov ip, ip, asl #8
54803 add lr, lr, #4
54804 bne .L16595
54805 b .L15754
54806.L17484:
54807 ldr lr, [sp, #128]
54808 rsb r0, ip, #8
54809 cmp lr, r0
54810 bge .L17487
54811 cmp lr, #0
54812 ble .L15754
54813 cmp ip, #3
54814 bls .L17490
54815 ldr r2, [r6, #0]
54816 mov r3, ip, asl #3
54817 sub r3, r3, #32
54818 mov r2, r2, asl r3
54819 mov r1, #0
54820.L17493:
54821 movs r3, r2, lsr #24
54822 ldr r0, [sp, #52]
54823 ldrne r4, [sp, #96]
54824 orr r3, r0, r3
54825 ldr r5, [sp, #128]
54826 strne r3, [r4, r1, asl #2]
54827 add r1, r1, #1
54828 cmp r5, r1
54829 mov r2, r2, asl #8
54830 bne .L17493
54831 b .L15754
54832.L16046:
54833 ldr r2, [sp, #128]
54834 rsb r6, lr, #8
54835 cmp r2, r6
54836 bge .L16049
54837 cmp r2, #0
54838 ble .L15754
54839 ldr r2, [ip, #0]
54840 mov r3, lr, asl #2
54841 mov ip, r2, asl r3
54842 ldr r4, [sp, #96]
54843 mov lr, #0
54844.L16053:
54845 movs r3, ip, lsr #28
54846 beq .L16054
54847 ldr r1, [r4, #0]
54848 orr r2, r7, r3
54849 mov r3, r1, lsr #16
54850 orr r0, r2, #768
54851 mov r3, r3, asl #16
54852 orr r2, r2, #768
54853 tst r1, #256
54854 orr r3, r3, r0
54855 orr r2, r2, r1, asl #16
54856 strne r3, [r4, #0]
54857 streq r2, [r4, #0]
54858.L16054:
54859 ldr r3, [sp, #128]
54860 add lr, lr, #1
54861 cmp r3, lr
54862 mov ip, ip, asl #4
54863 add r4, r4, #4
54864 bne .L16053
54865 b .L15754
54866.L17134:
54867 ldr r1, [sp, #128]
54868 rsb lr, r5, #8
54869 cmp r1, lr
54870 bge .L17137
54871 cmp r1, #0
54872 ble .L15754
54873 ldr r2, [r0, #0]
54874 mov r3, r5, asl #2
54875 mov r0, r2, asl r3
54876 mov r2, #0
54877.L17141:
54878 ldr r4, [sp, #52]
54879 movs r3, r0, lsr #28
54880 ldrne r5, [sp, #96]
54881 orr r3, r4, r3
54882 orr r3, r7, r3
54883 ldr r8, [sp, #128]
54884 strne r3, [r5, r2, asl #2]
54885 add r2, r2, #1
54886 cmp r8, r2
54887 mov r0, r0, asl #4
54888 bne .L17141
54889 b .L15754
54890.L17264:
54891 ldr ip, [sp, #128]
54892 rsb r0, lr, #8
54893 cmp ip, r0
54894 bge .L17267
54895 cmp ip, #0
54896 ble .L15754
54897 cmp lr, #3
54898 bls .L17270
54899 ldr r2, [r6, #4]
54900 mov r3, lr, asl #3
54901 sub r3, r3, #32
54902 mov r1, r2, lsr r3
54903 mov r2, #0
54904.L17273:
54905 ands r3, r1, #255
54906 ldr lr, [sp, #52]
54907 ldrne r0, [sp, #96]
54908 orr r3, lr, r3
54909 strne r3, [r0, r2, asl #2]
54910 ldr r3, [sp, #128]
54911 add r2, r2, #1
54912 cmp r3, r2
54913 mov r1, r1, lsr #8
54914 bne .L17273
54915 b .L15754
54916.L17004:
54917 ldr ip, [sp, #128]
54918 rsb lr, r3, #8
54919 cmp ip, lr
54920 bge .L17007
54921 cmp ip, #0
54922 ble .L15754
54923 ldr r2, [r0, r1]
54924 mov r3, r3, asl #2
54925 mov r0, r2, lsr r3
54926 mov r2, #0
54927.L17011:
54928 ldr lr, [sp, #52]
54929 ands r3, r0, #15
54930 ldrne r1, [sp, #96]
54931 orr r3, lr, r3
54932 orr r3, r7, r3
54933 strne r3, [r1, r2, asl #2]
54934 ldr r3, [sp, #128]
54935 add r2, r2, #1
54936 cmp r3, r2
54937 mov r0, r0, lsr #4
54938 bne .L17011
54939 b .L15754
54940.L16250:
54941 ldr ip, [sp, #128]
54942 rsb r5, lr, #8
54943 cmp ip, r5
54944 bge .L16253
54945 cmp ip, #0
54946 ble .L15754
54947 cmp lr, #3
54948 bls .L16256
54949 mov r3, lr, asl #3
54950 ldr r2, [r7, #4]
54951 sub r3, r3, #32
54952 mov ip, r2, lsr r3
54953 ldr lr, [sp, #96]
54954 mov r4, #0
54955.L16259:
54956 ands r0, ip, #255
54957 beq .L16260
54958 ldr r2, [lr, #0]
54959 orr r1, r0, #768
54960 mov r3, r2, lsr #16
54961 orr r0, r0, #768
54962 mov r3, r3, asl #16
54963 tst r2, #256
54964 orr r3, r3, r1
54965 orr r0, r0, r2, asl #16
54966 strne r3, [lr, #0]
54967 streq r0, [lr, #0]
54968.L16260:
54969 ldr r0, [sp, #128]
54970 add r4, r4, #1
54971 cmp r0, r4
54972 mov ip, ip, lsr #8
54973 add lr, lr, #4
54974 bne .L16259
54975 b .L15754
54976.L16399:
54977 subs r8, r6, #4
54978 ldr r1, [lr, #0]
54979 ldreq r2, [sp, #96]
54980 beq .L16413
54981 mov r3, r2, asl #3
54982 mov ip, r1, lsr r3
54983 ldr r4, [sp, #96]
54984 mov r5, #0
54985.L16414:
54986 ands r0, ip, #255
54987 beq .L16415
54988 ldr r2, [r4, #0]
54989 orr r1, r0, #768
54990 mov r3, r2, lsr #16
54991 orr r0, r0, #768
54992 mov r3, r3, asl #16
54993 tst r2, #256
54994 orr r3, r3, r1
54995 orr r0, r0, r2, asl #16
54996 strne r3, [r4, #0]
54997 streq r0, [r4, #0]
54998.L16415:
54999 add r5, r5, #1
55000 cmp r8, r5
55001 mov ip, ip, lsr #8
55002 add r4, r4, #4
55003 bne .L16414
55004 ldr r4, [sp, #96]
55005 add r3, r4, r6, asl #2
55006 sub r2, r3, #16
55007.L16413:
55008 ldr r1, [lr, #4]
55009 cmp r1, #0
55010 beq .L16421
55011 ands r0, r1, #255
55012 beq .L16423
55013 ldr r3, [r2, #0]
55014 tst r3, #256
55015 movne r3, r3, lsr #16
55016 movne r3, r3, asl #16
55017 orrne r3, r3, #768
55018 orreq r3, r0, r3, asl #16
55019 orrne r3, r0, r3
55020 orreq r3, r3, #768
55021 strne r3, [r2, #0]
55022 streq r3, [r2, #0]
55023.L16423:
55024 mov r3, r1, lsr #8
55025 ands r0, r3, #255
55026 beq .L16427
55027 ldr r3, [r2, #4]
55028 tst r3, #256
55029 movne r3, r3, lsr #16
55030 movne r3, r3, asl #16
55031 orrne r3, r3, #768
55032 orreq r3, r0, r3, asl #16
55033 orrne r3, r0, r3
55034 orreq r3, r3, #768
55035 strne r3, [r2, #4]
55036 streq r3, [r2, #4]
55037.L16427:
55038 mov r3, r1, lsr #16
55039 ands r0, r3, #255
55040 beq .L16431
55041 ldr r3, [r2, #8]
55042 tst r3, #256
55043 movne r3, r3, lsr #16
55044 movne r3, r3, asl #16
55045 orrne r3, r3, #768
55046 orreq r3, r0, r3, asl #16
55047 orrne r3, r0, r3
55048 orreq r3, r3, #768
55049 strne r3, [r2, #8]
55050 streq r3, [r2, #8]
55051.L16431:
55052 movs r1, r1, lsr #24
55053 beq .L16421
55054 ldr r3, [r2, #12]
55055 tst r3, #256
55056 movne r3, r3, lsr #16
55057 movne r3, r3, asl #16
55058 orrne r3, r3, #768
55059 orrne r3, r1, r3
55060 strne r3, [r2, #12]
55061 orreq r3, r1, r3, asl #16
55062 orreq r3, r3, #768
55063 streq r3, [r2, #12]
55064.L16421:
55065 add r0, r2, #16
55066 add lr, lr, #64
55067 b .L16398
55068.L16735:
55069 subs r8, r6, #4
55070 ldr r1, [lr, #4]
55071 ldreq r2, [sp, #96]
55072 beq .L16749
55073 mov r3, r2, asl #3
55074 sub r3, r3, #32
55075 mov ip, r1, asl r3
55076 ldr r4, [sp, #96]
55077 mov r5, #0
55078.L16750:
55079 movs r0, ip, lsr #24
55080 beq .L16751
55081 ldr r2, [r4, #0]
55082 orr r1, r0, #768
55083 mov r3, r2, lsr #16
55084 orr r0, r0, #768
55085 mov r3, r3, asl #16
55086 tst r2, #256
55087 orr r3, r3, r1
55088 orr r0, r0, r2, asl #16
55089 strne r3, [r4, #0]
55090 streq r0, [r4, #0]
55091.L16751:
55092 add r5, r5, #1
55093 cmp r8, r5
55094 mov ip, ip, asl #8
55095 add r4, r4, #4
55096 bne .L16750
55097 ldr r0, [sp, #96]
55098 add r3, r0, r6, asl #2
55099 sub r2, r3, #16
55100.L16749:
55101 ldr r1, [lr, #0]
55102 cmp r1, #0
55103 beq .L16757
55104 ands r0, r1, #255
55105 beq .L16759
55106 ldr r3, [r2, #12]
55107 tst r3, #256
55108 movne r3, r3, lsr #16
55109 movne r3, r3, asl #16
55110 orrne r3, r3, #768
55111 orreq r3, r0, r3, asl #16
55112 orrne r3, r0, r3
55113 orreq r3, r3, #768
55114 strne r3, [r2, #12]
55115 streq r3, [r2, #12]
55116.L16759:
55117 mov r3, r1, lsr #8
55118 ands r0, r3, #255
55119 beq .L16763
55120 ldr r3, [r2, #8]
55121 tst r3, #256
55122 movne r3, r3, lsr #16
55123 movne r3, r3, asl #16
55124 orrne r3, r3, #768
55125 orreq r3, r0, r3, asl #16
55126 orrne r3, r0, r3
55127 orreq r3, r3, #768
55128 strne r3, [r2, #8]
55129 streq r3, [r2, #8]
55130.L16763:
55131 mov r3, r1, lsr #16
55132 ands r0, r3, #255
55133 beq .L16767
55134 ldr r3, [r2, #4]
55135 tst r3, #256
55136 movne r3, r3, lsr #16
55137 movne r3, r3, asl #16
55138 orrne r3, r3, #768
55139 orreq r3, r0, r3, asl #16
55140 orrne r3, r0, r3
55141 orreq r3, r3, #768
55142 strne r3, [r2, #4]
55143 streq r3, [r2, #4]
55144.L16767:
55145 movs r1, r1, lsr #24
55146 beq .L16757
55147 ldr r3, [r2, #0]
55148 tst r3, #256
55149 movne r3, r3, lsr #16
55150 movne r3, r3, asl #16
55151 orrne r3, r3, #768
55152 orrne r3, r1, r3
55153 strne r3, [r2, #0]
55154 orreq r3, r1, r3, asl #16
55155 orreq r3, r3, #768
55156 streq r3, [r2, #0]
55157.L16757:
55158 add ip, r2, #16
55159 sub lr, lr, #64
55160 b .L16734
55161.L15845:
55162 cmp r6, #0
55163 ldr r2, [r8, #0]
55164 ldreq r5, [sp, #96]
55165 beq .L15857
55166 mov r3, r3, asl #2
55167 mov ip, r2, lsr r3
55168 ldr r4, [sp, #96]
55169 mov lr, #0
55170.L15858:
55171 ands r3, ip, #15
55172 beq .L15859
55173 ldr r1, [r4, #0]
55174 orr r2, r7, r3
55175 mov r3, r1, lsr #16
55176 orr r0, r2, #768
55177 mov r3, r3, asl #16
55178 orr r2, r2, #768
55179 tst r1, #256
55180 orr r3, r3, r0
55181 orr r2, r2, r1, asl #16
55182 strne r3, [r4, #0]
55183 streq r2, [r4, #0]
55184.L15859:
55185 add lr, lr, #1
55186 cmp r6, lr
55187 mov ip, ip, lsr #4
55188 add r4, r4, #4
55189 bne .L15858
55190 ldr r1, [sp, #96]
55191 add r5, r1, r6, asl #2
55192.L15857:
55193 ldr r2, [sp, #128]
55194 add r8, r8, #32
55195 rsb sl, r6, r2
55196 b .L15844
55197.L17587:
55198 subs r4, ip, #4
55199 ldr r0, [r2, #4]
55200 ldreq r0, [sp, #96]
55201 beq .L17599
55202 mov r3, r1, asl #3
55203 sub r3, r3, #32
55204 mov r1, r0, asl r3
55205 mov r0, #0
55206.L17600:
55207 movs r3, r1, lsr #24
55208 ldr r5, [sp, #52]
55209 ldrne r7, [sp, #96]
55210 orr r3, r5, r3
55211 strne r3, [r7, r0, asl #2]
55212 add r0, r0, #1
55213 cmp r4, r0
55214 mov r1, r1, asl #8
55215 bne .L17600
55216 ldr r8, [sp, #96]
55217 add r3, r8, ip, asl #2
55218 sub r0, r3, #16
55219.L17599:
55220 ldr r1, [r2, #0]
55221 cmp r1, #0
55222 beq .L17605
55223 ands r3, r1, #255
55224 ldrne ip, [sp, #52]
55225 orrne r3, ip, r3
55226 strne r3, [r0, #12]
55227 mov r3, r1, lsr #8
55228 ands r3, r3, #255
55229 ldrne r4, [sp, #52]
55230 orrne r3, r4, r3
55231 strne r3, [r0, #8]
55232 mov r3, r1, lsr #16
55233 ands r3, r3, #255
55234 ldrne r5, [sp, #52]
55235 orrne r3, r5, r3
55236 strne r3, [r0, #4]
55237 movs r3, r1, lsr #24
55238 ldrne r7, [sp, #52]
55239 orrne r3, r7, r3
55240 strne r3, [r0, #0]
55241.L17605:
55242 add r0, r0, #16
55243 sub r2, r2, #64
55244 b .L17586
55245.L16589:
55246 cmp lr, #3
55247 bls .L16627
55248 cmp r6, #0
55249 ldr r2, [r8, #0]
55250 ldreq r5, [sp, #96]
55251 beq .L16631
55252 mov r3, lr, asl #3
55253 sub r3, r3, #32
55254 mov ip, r2, asl r3
55255 ldr lr, [sp, #96]
55256 mov r4, #0
55257.L16632:
55258 movs r0, ip, lsr #24
55259 beq .L16633
55260 ldr r2, [lr, #0]
55261 orr r1, r0, #768
55262 mov r3, r2, lsr #16
55263 orr r0, r0, #768
55264 mov r3, r3, asl #16
55265 tst r2, #256
55266 orr r3, r3, r1
55267 orr r0, r0, r2, asl #16
55268 strne r3, [lr, #0]
55269 streq r0, [lr, #0]
55270.L16633:
55271 add r4, r4, #1
55272 cmp r6, r4
55273 mov ip, ip, asl #8
55274 add lr, lr, #4
55275 bne .L16632
55276 ldr r7, [sp, #96]
55277 add r5, r7, r6, asl #2
55278.L16631:
55279 ldr ip, [sp, #128]
55280 sub r8, r8, #64
55281 rsb r7, r6, ip
55282 b .L16588
55283.L17487:
55284 cmp ip, #3
55285 bls .L17517
55286 cmp r0, #0
55287 ldr r2, [r6, #0]
55288 ldreq r4, [sp, #96]
55289 beq .L17521
55290 mov r3, ip, asl #3
55291 sub r3, r3, #32
55292 mov r2, r2, asl r3
55293 mov r1, #0
55294.L17522:
55295 movs r3, r2, lsr #24
55296 ldr ip, [sp, #52]
55297 ldrne lr, [sp, #96]
55298 orr r3, ip, r3
55299 strne r3, [lr, r1, asl #2]
55300 add r1, r1, #1
55301 cmp r0, r1
55302 mov r2, r2, asl #8
55303 bne .L17522
55304 ldr r1, [sp, #96]
55305 add r4, r1, r0, asl #2
55306.L17521:
55307 ldr r3, [sp, #128]
55308 sub r6, r6, #64
55309 rsb r5, r0, r3
55310 b .L17486
55311.L16253:
55312 cmp lr, #3
55313 bls .L16291
55314 cmp r5, #0
55315 ldr r2, [r7, #4]
55316 ldreq lr, [sp, #96]
55317 beq .L16295
55318 mov r3, lr, asl #3
55319 sub r3, r3, #32
55320 mov ip, r2, lsr r3
55321 ldr lr, [sp, #96]
55322 mov r4, #0
55323.L16296:
55324 ands r0, ip, #255
55325 beq .L16297
55326 ldr r2, [lr, #0]
55327 orr r1, r0, #768
55328 mov r3, r2, lsr #16
55329 orr r0, r0, #768
55330 mov r3, r3, asl #16
55331 tst r2, #256
55332 orr r3, r3, r1
55333 orr r0, r0, r2, asl #16
55334 strne r3, [lr, #0]
55335 streq r0, [lr, #0]
55336.L16297:
55337 add r4, r4, #1
55338 cmp r5, r4
55339 mov ip, ip, lsr #8
55340 add lr, lr, #4
55341 bne .L16296
55342 ldr r2, [sp, #96]
55343 add lr, r2, r5, asl #2
55344.L16295:
55345 ldr r3, [sp, #128]
55346 add r7, r7, #64
55347 rsb r6, r5, r3
55348 b .L16252
55349.L17367:
55350 subs r4, ip, #4
55351 ldr r1, [r0, #0]
55352 ldreq r1, [sp, #96]
55353 beq .L17379
55354 mov r3, r2, asl #3
55355 mov r2, r1, lsr r3
55356 mov r1, #0
55357.L17380:
55358 ands r3, r2, #255
55359 ldr r5, [sp, #52]
55360 ldrne r7, [sp, #96]
55361 orr r3, r5, r3
55362 strne r3, [r7, r1, asl #2]
55363 add r1, r1, #1
55364 cmp r1, r4
55365 mov r2, r2, lsr #8
55366 bne .L17380
55367 ldr r8, [sp, #96]
55368 add r3, r8, ip, asl #2
55369 sub r1, r3, #16
55370.L17379:
55371 ldr r2, [r0, #4]
55372 cmp r2, #0
55373 beq .L17385
55374 ands r3, r2, #255
55375 ldrne ip, [sp, #52]
55376 orrne r3, ip, r3
55377 strne r3, [r1, #0]
55378 mov r3, r2, lsr #8
55379 ands r3, r3, #255
55380 ldrne r4, [sp, #52]
55381 orrne r3, r4, r3
55382 strne r3, [r1, #4]
55383 mov r3, r2, lsr #16
55384 ands r3, r3, #255
55385 ldrne r5, [sp, #52]
55386 orrne r3, r5, r3
55387 strne r3, [r1, #8]
55388 movs r3, r2, lsr #24
55389 ldrne r7, [sp, #52]
55390 orrne r3, r7, r3
55391 strne r3, [r1, #12]
55392.L17385:
55393 add r1, r1, #16
55394 add r0, r0, #64
55395 b .L17366
55396.L17007:
55397 cmp lr, #0
55398 ldr r2, [r4, #0]
55399 ldreq r6, [sp, #96]
55400 beq .L17017
55401 mov r3, r3, asl #2
55402 mov r2, r2, lsr r3
55403 mov r1, #0
55404.L17018:
55405 ldr r5, [sp, #52]
55406 ands r3, r2, #15
55407 ldrne r8, [sp, #96]
55408 orr r3, r5, r3
55409 orr r3, r7, r3
55410 strne r3, [r8, r1, asl #2]
55411 add r1, r1, #1
55412 cmp lr, r1
55413 mov r2, r2, lsr #4
55414 bne .L17018
55415 ldr ip, [sp, #96]
55416 add r6, ip, lr, asl #2
55417.L17017:
55418 ldr r0, [sp, #128]
55419 add r4, r4, #32
55420 rsb r5, lr, r0
55421 b .L17006
55422.L16049:
55423 cmp r6, #0
55424 ldr r2, [ip, #0]
55425 ldreq r5, [sp, #96]
55426 beq .L16061
55427 mov r3, lr, asl #2
55428 mov r4, r2, asl r3
55429 ldr r5, [sp, #96]
55430 mov lr, #0
55431.L16062:
55432 movs r3, r4, lsr #28
55433 beq .L16063
55434 ldr r1, [r5, #0]
55435 orr r2, r7, r3
55436 mov r3, r1, lsr #16
55437 orr r0, r2, #768
55438 mov r3, r3, asl #16
55439 orr r2, r2, #768
55440 tst r1, #256
55441 orr r3, r3, r0
55442 orr r2, r2, r1, asl #16
55443 strne r3, [r5, #0]
55444 streq r2, [r5, #0]
55445.L16063:
55446 add lr, lr, #1
55447 cmp r6, lr
55448 mov r4, r4, asl #4
55449 add r5, r5, #4
55450 bne .L16062
55451 ldr r4, [sp, #96]
55452 add r5, r4, r6, asl #2
55453.L16061:
55454 ldr r8, [sp, #128]
55455 sub ip, ip, #32
55456 rsb sl, r6, r8
55457 b .L16048
55458.L17137:
55459 cmp lr, #0
55460 ldr r2, [r0, #0]
55461 ldreq r1, [sp, #96]
55462 beq .L17147
55463 mov r3, r5, asl #2
55464 mov r4, r2, asl r3
55465 mov r5, #0
55466.L17148:
55467 ldr ip, [sp, #52]
55468 movs r3, r4, lsr #28
55469 ldrne r1, [sp, #96]
55470 orr r3, ip, r3
55471 orr r3, r7, r3
55472 strne r3, [r1, r5, asl #2]
55473 add r5, r5, #1
55474 cmp lr, r5
55475 mov r4, r4, asl #4
55476 bne .L17148
55477 ldr r2, [sp, #96]
55478 add r1, r2, lr, asl #2
55479.L17147:
55480 ldr r3, [sp, #128]
55481 sub r0, r0, #32
55482 rsb r2, lr, r3
55483 b .L17136
55484.L17267:
55485 cmp lr, #3
55486 bls .L17297
55487 cmp r0, #0
55488 ldr r2, [r6, #4]
55489 ldreq r4, [sp, #96]
55490 beq .L17301
55491 mov r3, lr, asl #3
55492 sub r3, r3, #32
55493 mov r1, r2, lsr r3
55494 mov r2, #0
55495.L17302:
55496 ands r3, r1, #255
55497 ldr ip, [sp, #52]
55498 ldrne lr, [sp, #96]
55499 orr r3, ip, r3
55500 strne r3, [lr, r2, asl #2]
55501 add r2, r2, #1
55502 cmp r0, r2
55503 mov r1, r1, lsr #8
55504 bne .L17302
55505 ldr r1, [sp, #96]
55506 add r4, r1, r0, asl #2
55507.L17301:
55508 ldr r3, [sp, #128]
55509 add r6, r6, #64
55510 rsb r5, r0, r3
55511 b .L17266
55512.L17797:
55513 mov r6, #0
55514 b .L15820
55515.L17800:
55516 mov r6, #0
55517 b .L16948
55518.L17799:
55519 mov ip, #0
55520 b .L15780
55521.L17794:
55522 mov ip, fp
55523 b .L17737
55524.L17297:
55525 subs ip, r0, #4
55526 ldr r2, [r6, #0]
55527 ldreq r1, [sp, #96]
55528 beq .L17309
55529 mov r3, lr, asl #3
55530 mov r1, r2, lsr r3
55531 mov r2, #0
55532.L17310:
55533 ands r3, r1, #255
55534 ldr r4, [sp, #52]
55535 ldrne r5, [sp, #96]
55536 orr r3, r4, r3
55537 strne r3, [r5, r2, asl #2]
55538 add r2, r2, #1
55539 cmp r2, ip
55540 mov r1, r1, lsr #8
55541 bne .L17310
55542 ldr r7, [sp, #96]
55543 add r3, r7, r0, asl #2
55544 sub r1, r3, #16
55545.L17309:
55546 ldr r2, [r6, #4]
55547 cmp r2, #0
55548 beq .L17315
55549 ands r3, r2, #255
55550 ldrne r8, [sp, #52]
55551 orrne r3, r8, r3
55552 strne r3, [r1, #0]
55553 mov r3, r2, lsr #8
55554 ands r3, r3, #255
55555 ldrne ip, [sp, #52]
55556 orrne r3, ip, r3
55557 strne r3, [r1, #4]
55558 mov r3, r2, lsr #16
55559 ands r3, r3, #255
55560 ldrne lr, [sp, #52]
55561 orrne r3, lr, r3
55562 strne r3, [r1, #8]
55563 movs r3, r2, lsr #24
55564 ldrne r2, [sp, #52]
55565 orrne r3, r2, r3
55566 strne r3, [r1, #12]
55567.L17315:
55568 add r4, r1, #16
55569 b .L17301
55570.L16291:
55571 subs r6, r5, #4
55572 ldr r2, [r7, #0]
55573 ldreq r2, [sp, #96]
55574 beq .L16305
55575 mov r3, lr, asl #3
55576 mov ip, r2, lsr r3
55577 ldr lr, [sp, #96]
55578 mov r4, #0
55579.L16306:
55580 ands r0, ip, #255
55581 beq .L16307
55582 ldr r2, [lr, #0]
55583 orr r1, r0, #768
55584 mov r3, r2, lsr #16
55585 orr r0, r0, #768
55586 mov r3, r3, asl #16
55587 tst r2, #256
55588 orr r3, r3, r1
55589 orr r0, r0, r2, asl #16
55590 strne r3, [lr, #0]
55591 streq r0, [lr, #0]
55592.L16307:
55593 add r4, r4, #1
55594 cmp r6, r4
55595 mov ip, ip, lsr #8
55596 add lr, lr, #4
55597 bne .L16306
55598 ldr r1, [sp, #96]
55599 add r3, r1, r5, asl #2
55600 sub r2, r3, #16
55601.L16305:
55602 ldr r1, [r7, #4]
55603 cmp r1, #0
55604 beq .L16313
55605 ands r0, r1, #255
55606 beq .L16315
55607 ldr r3, [r2, #0]
55608 tst r3, #256
55609 movne r3, r3, lsr #16
55610 movne r3, r3, asl #16
55611 orrne r3, r3, #768
55612 orreq r3, r0, r3, asl #16
55613 orrne r3, r0, r3
55614 orreq r3, r3, #768
55615 strne r3, [r2, #0]
55616 streq r3, [r2, #0]
55617.L16315:
55618 mov r3, r1, lsr #8
55619 ands r0, r3, #255
55620 beq .L16319
55621 ldr r3, [r2, #4]
55622 tst r3, #256
55623 movne r3, r3, lsr #16
55624 movne r3, r3, asl #16
55625 orrne r3, r3, #768
55626 orreq r3, r0, r3, asl #16
55627 orrne r3, r0, r3
55628 orreq r3, r3, #768
55629 strne r3, [r2, #4]
55630 streq r3, [r2, #4]
55631.L16319:
55632 mov r3, r1, lsr #16
55633 ands r0, r3, #255
55634 beq .L16323
55635 ldr r3, [r2, #8]
55636 tst r3, #256
55637 movne r3, r3, lsr #16
55638 movne r3, r3, asl #16
55639 orrne r3, r3, #768
55640 orreq r3, r0, r3, asl #16
55641 orrne r3, r0, r3
55642 orreq r3, r3, #768
55643 strne r3, [r2, #8]
55644 streq r3, [r2, #8]
55645.L16323:
55646 movs r1, r1, lsr #24
55647 beq .L16313
55648 ldr r3, [r2, #12]
55649 tst r3, #256
55650 movne r3, r3, lsr #16
55651 movne r3, r3, asl #16
55652 orrne r3, r3, #768
55653 orrne r3, r1, r3
55654 strne r3, [r2, #12]
55655 orreq r3, r1, r3, asl #16
55656 orreq r3, r3, #768
55657 streq r3, [r2, #12]
55658.L16313:
55659 add lr, r2, #16
55660 b .L16295
55661.L17517:
55662 subs lr, r0, #4
55663 ldr r2, [r6, #4]
55664 ldreq r1, [sp, #96]
55665 beq .L17529
55666 mov r3, ip, asl #3
55667 sub r3, r3, #32
55668 mov r2, r2, asl r3
55669 mov r1, #0
55670.L17530:
55671 movs r3, r2, lsr #24
55672 ldr r4, [sp, #52]
55673 ldrne r5, [sp, #96]
55674 orr r3, r4, r3
55675 strne r3, [r5, r1, asl #2]
55676 add r1, r1, #1
55677 cmp lr, r1
55678 mov r2, r2, asl #8
55679 bne .L17530
55680 ldr r7, [sp, #96]
55681 add r3, r7, r0, asl #2
55682 sub r1, r3, #16
55683.L17529:
55684 ldr r2, [r6, #0]
55685 cmp r2, #0
55686 beq .L17535
55687 ands r3, r2, #255
55688 ldrne r8, [sp, #52]
55689 orrne r3, r8, r3
55690 strne r3, [r1, #12]
55691 mov r3, r2, lsr #8
55692 ands r3, r3, #255
55693 ldrne ip, [sp, #52]
55694 orrne r3, ip, r3
55695 strne r3, [r1, #8]
55696 mov r3, r2, lsr #16
55697 ands r3, r3, #255
55698 ldrne lr, [sp, #52]
55699 orrne r3, lr, r3
55700 strne r3, [r1, #4]
55701 movs r3, r2, lsr #24
55702 ldrne r2, [sp, #52]
55703 orrne r3, r2, r3
55704 strne r3, [r1, #0]
55705.L17535:
55706 add r4, r1, #16
55707 b .L17521
55708.L16627:
55709 subs r5, r6, #4
55710 ldr r2, [r8, #4]
55711 ldreq r2, [sp, #96]
55712 beq .L16641
55713 mov r3, lr, asl #3
55714 sub r3, r3, #32
55715 mov ip, r2, asl r3
55716 ldr lr, [sp, #96]
55717 mov r4, #0
55718.L16642:
55719 movs r0, ip, lsr #24
55720 beq .L16643
55721 ldr r2, [lr, #0]
55722 orr r1, r0, #768
55723 mov r3, r2, lsr #16
55724 orr r0, r0, #768
55725 mov r3, r3, asl #16
55726 tst r2, #256
55727 orr r3, r3, r1
55728 orr r0, r0, r2, asl #16
55729 strne r3, [lr, #0]
55730 streq r0, [lr, #0]
55731.L16643:
55732 add r4, r4, #1
55733 cmp r4, r5
55734 mov ip, ip, asl #8
55735 add lr, lr, #4
55736 bne .L16642
55737 ldr r4, [sp, #96]
55738 add r3, r4, r6, asl #2
55739 sub r2, r3, #16
55740.L16641:
55741 ldr r1, [r8, #0]
55742 cmp r1, #0
55743 beq .L16649
55744 ands r0, r1, #255
55745 beq .L16651
55746 ldr r3, [r2, #12]
55747 tst r3, #256
55748 movne r3, r3, lsr #16
55749 movne r3, r3, asl #16
55750 orrne r3, r3, #768
55751 orreq r3, r0, r3, asl #16
55752 orrne r3, r0, r3
55753 orreq r3, r3, #768
55754 strne r3, [r2, #12]
55755 streq r3, [r2, #12]
55756.L16651:
55757 mov r3, r1, lsr #8
55758 ands r0, r3, #255
55759 beq .L16655
55760 ldr r3, [r2, #8]
55761 tst r3, #256
55762 movne r3, r3, lsr #16
55763 movne r3, r3, asl #16
55764 orrne r3, r3, #768
55765 orreq r3, r0, r3, asl #16
55766 orrne r3, r0, r3
55767 orreq r3, r3, #768
55768 strne r3, [r2, #8]
55769 streq r3, [r2, #8]
55770.L16655:
55771 mov r3, r1, lsr #16
55772 ands r0, r3, #255
55773 beq .L16659
55774 ldr r3, [r2, #4]
55775 tst r3, #256
55776 movne r3, r3, lsr #16
55777 movne r3, r3, asl #16
55778 orrne r3, r3, #768
55779 orreq r3, r0, r3, asl #16
55780 orrne r3, r0, r3
55781 orreq r3, r3, #768
55782 strne r3, [r2, #4]
55783 streq r3, [r2, #4]
55784.L16659:
55785 movs r1, r1, lsr #24
55786 beq .L16649
55787 ldr r3, [r2, #0]
55788 tst r3, #256
55789 movne r3, r3, lsr #16
55790 movne r3, r3, asl #16
55791 orrne r3, r3, #768
55792 orrne r3, r1, r3
55793 strne r3, [r2, #0]
55794 orreq r3, r1, r3, asl #16
55795 orreq r3, r3, #768
55796 streq r3, [r2, #0]
55797.L16649:
55798 add r5, r2, #16
55799 b .L16631
55800.L17490:
55801 ldr r7, [sp, #128]
55802 mov r3, ip, asl #3
55803 ldr r1, [r6, #4]
55804 add r2, r7, ip
55805 sub r3, r3, #32
55806 cmp r2, #4
55807 mov r1, r1, asl r3
55808 bhi .L17497
55809 cmp r7, #0
55810 movne r2, #0
55811 beq .L15754
55812.L17513:
55813 movs r3, r1, lsr #24
55814 ldr r5, [sp, #52]
55815 ldrne r7, [sp, #96]
55816 orr r3, r5, r3
55817 ldr r8, [sp, #128]
55818 strne r3, [r7, r2, asl #2]
55819 add r2, r2, #1
55820 cmp r8, r2
55821 mov r1, r1, asl #8
55822 bne .L17513
55823 b .L15754
55824.L16592:
55825 ldr ip, [sp, #128]
55826 mov r3, lr, asl #3
55827 add r2, ip, lr
55828 ldr r1, [r8, #4]
55829 sub r3, r3, #32
55830 cmp r2, #4
55831 mov ip, r1, asl r3
55832 bhi .L16601
55833 ldr lr, [sp, #128]
55834 cmp lr, #0
55835 ldrne lr, [sp, #96]
55836 movne r4, #0
55837 beq .L15754
55838.L16621:
55839 movs r0, ip, lsr #24
55840 beq .L16622
55841 ldr r2, [lr, #0]
55842 orr r1, r0, #768
55843 mov r3, r2, lsr #16
55844 orr r0, r0, #768
55845 mov r3, r3, asl #16
55846 tst r2, #256
55847 orr r3, r3, r1
55848 orr r0, r0, r2, asl #16
55849 strne r3, [lr, #0]
55850 streq r0, [lr, #0]
55851.L16622:
55852 ldr r2, [sp, #128]
55853 add r4, r4, #1
55854 cmp r2, r4
55855 mov ip, ip, asl #8
55856 add lr, lr, #4
55857 bne .L16621
55858 b .L15754
55859.L17270:
55860 ldr r4, [sp, #128]
55861 ldr r3, [r6, #0]
55862 add r2, r4, lr
55863 cmp r2, #4
55864 mov r1, lr, asl #3
55865 mov r2, r3, lsr r1
55866 bhi .L17277
55867 cmp r4, #0
55868 movne r1, #0
55869 beq .L15754
55870.L17293:
55871 ands r3, r2, #255
55872 ldr r5, [sp, #52]
55873 ldrne r7, [sp, #96]
55874 orr r3, r5, r3
55875 ldr r8, [sp, #128]
55876 strne r3, [r7, r1, asl #2]
55877 add r1, r1, #1
55878 cmp r8, r1
55879 mov r2, r2, lsr #8
55880 bne .L17293
55881 b .L15754
55882.L16256:
55883 ldr r1, [sp, #128]
55884 ldr r3, [r7, #0]
55885 add r2, r1, lr
55886 cmp r2, #4
55887 mov r1, lr, asl #3
55888 mov ip, r3, lsr r1
55889 bhi .L16265
55890 ldr r2, [sp, #128]
55891 cmp r2, #0
55892 ldrne lr, [sp, #96]
55893 movne r4, #0
55894 beq .L15754
55895.L16285:
55896 ands r0, ip, #255
55897 beq .L16286
55898 ldr r2, [lr, #0]
55899 orr r1, r0, #768
55900 mov r3, r2, lsr #16
55901 orr r0, r0, #768
55902 mov r3, r3, asl #16
55903 tst r2, #256
55904 orr r3, r3, r1
55905 orr r0, r0, r2, asl #16
55906 strne r3, [lr, #0]
55907 streq r0, [lr, #0]
55908.L16286:
55909 ldr r0, [sp, #128]
55910 add r4, r4, #1
55911 cmp r0, r4
55912 mov ip, ip, lsr #8
55913 add lr, lr, #4
55914 bne .L16285
55915 b .L15754
55916.L16265:
55917 rsbs r4, lr, #4
55918 ldreq lr, [sp, #96]
55919 beq .L16270
55920 ldr lr, [sp, #96]
55921 mov r5, #0
55922.L16271:
55923 ands r0, ip, #255
55924 beq .L16272
55925 ldr r2, [lr, #0]
55926 orr r1, r0, #768
55927 mov r3, r2, lsr #16
55928 orr r0, r0, #768
55929 mov r3, r3, asl #16
55930 tst r2, #256
55931 orr r3, r3, r1
55932 orr r0, r0, r2, asl #16
55933 strne r3, [lr, #0]
55934 streq r0, [lr, #0]
55935.L16272:
55936 add r5, r5, #1
55937 cmp r5, r4
55938 mov ip, ip, lsr #8
55939 add lr, lr, #4
55940 bne .L16271
55941 ldr r3, [sp, #96]
55942 add lr, r3, r4, asl #2
55943.L16270:
55944 ldr r8, [sp, #128]
55945 ldr ip, [r7, #4]
55946 subs r5, r8, r4
55947 beq .L15754
55948 mov r4, #0
55949.L16279:
55950 ands r0, ip, #255
55951 beq .L16280
55952 ldr r2, [lr, #0]
55953 orr r1, r0, #768
55954 mov r3, r2, lsr #16
55955 orr r0, r0, #768
55956 mov r3, r3, asl #16
55957 tst r2, #256
55958 orr r3, r3, r1
55959 orr r0, r0, r2, asl #16
55960 strne r3, [lr, #0]
55961 streq r0, [lr, #0]
55962.L16280:
55963 add r4, r4, #1
55964 cmp r4, r5
55965 mov ip, ip, lsr #8
55966 add lr, lr, #4
55967 bne .L16279
55968 b .L15754
55969.L17277:
55970 rsbs r0, lr, #4
55971 ldreq ip, [sp, #96]
55972 beq .L17282
55973 mov r1, #0
55974.L17283:
55975 ands r3, r2, #255
55976 ldr r5, [sp, #52]
55977 ldrne r7, [sp, #96]
55978 orr r3, r5, r3
55979 strne r3, [r7, r1, asl #2]
55980 add r1, r1, #1
55981 cmp r1, r0
55982 mov r2, r2, lsr #8
55983 bne .L17283
55984 ldr r8, [sp, #96]
55985 add ip, r8, r0, asl #2
55986.L17282:
55987 ldr lr, [sp, #128]
55988 ldr r2, [r6, #4]
55989 subs r0, lr, r0
55990 beq .L15754
55991 mov r1, #0
55992.L17289:
55993 ldr r4, [sp, #52]
55994 ands r3, r2, #255
55995 orr r3, r4, r3
55996 strne r3, [ip, r1, asl #2]
55997 add r1, r1, #1
55998 cmp r1, r0
55999 mov r2, r2, lsr #8
56000 bne .L17289
56001 b .L15754
56002.L16601:
56003 rsbs r4, lr, #4
56004 ldreq lr, [sp, #96]
56005 beq .L16606
56006 ldr lr, [sp, #96]
56007 mov r5, #0
56008.L16607:
56009 movs r0, ip, lsr #24
56010 beq .L16608
56011 ldr r2, [lr, #0]
56012 orr r1, r0, #768
56013 mov r3, r2, lsr #16
56014 orr r0, r0, #768
56015 mov r3, r3, asl #16
56016 tst r2, #256
56017 orr r3, r3, r1
56018 orr r0, r0, r2, asl #16
56019 strne r3, [lr, #0]
56020 streq r0, [lr, #0]
56021.L16608:
56022 add r5, r5, #1
56023 cmp r5, r4
56024 mov ip, ip, asl #8
56025 add lr, lr, #4
56026 bne .L16607
56027 ldr r0, [sp, #96]
56028 add lr, r0, r4, asl #2
56029.L16606:
56030 ldr r1, [sp, #128]
56031 ldr ip, [r8, #0]
56032 subs r5, r1, r4
56033 beq .L15754
56034 mov r4, #0
56035.L16615:
56036 movs r0, ip, lsr #24
56037 beq .L16616
56038 ldr r2, [lr, #0]
56039 orr r1, r0, #768
56040 mov r3, r2, lsr #16
56041 orr r0, r0, #768
56042 mov r3, r3, asl #16
56043 tst r2, #256
56044 orr r3, r3, r1
56045 orr r0, r0, r2, asl #16
56046 strne r3, [lr, #0]
56047 streq r0, [lr, #0]
56048.L16616:
56049 add r4, r4, #1
56050 cmp r4, r5
56051 mov ip, ip, asl #8
56052 add lr, lr, #4
56053 bne .L16615
56054 b .L15754
56055.L17497:
56056 rsbs r0, ip, #4
56057 ldreq ip, [sp, #96]
56058 beq .L17502
56059 mov r2, #0
56060.L17503:
56061 movs r3, r1, lsr #24
56062 ldr r8, [sp, #52]
56063 ldrne ip, [sp, #96]
56064 orr r3, r8, r3
56065 strne r3, [ip, r2, asl #2]
56066 add r2, r2, #1
56067 cmp r2, r0
56068 mov r1, r1, asl #8
56069 bne .L17503
56070 ldr lr, [sp, #96]
56071 add ip, lr, r0, asl #2
56072.L17502:
56073 ldr r1, [sp, #128]
56074 ldr r2, [r6, #0]
56075 subs r0, r1, r0
56076 beq .L15754
56077 mov r1, #0
56078.L17509:
56079 ldr r4, [sp, #52]
56080 movs r3, r2, lsr #24
56081 orr r3, r4, r3
56082 strne r3, [ip, r1, asl #2]
56083 add r1, r1, #1
56084 cmp r1, r0
56085 mov r2, r2, asl #8
56086 bne .L17509
56087 b .L15754
56088 .size render_scanline_obj_partial_alpha_2D, .-render_scanline_obj_partial_alpha_2D
56089 .align 2
56090 .global order_obj
56091 .type order_obj, %function
56092order_obj:
56093 @ args = 0, pretend = 0, frame = 0
56094 @ frame_needed = 0, uses_anonymous_args = 0
56095 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
56096 ldr r9, .L17848
56097 mov sl, r0
56098 mov ip, #0
56099.L17806:
56100 add r3, ip, ip, asl #2
56101 add r2, r9, r3, asl #7
56102 mov r3, #0
56103.L17807:
56104 add r3, r3, #1
56105 mov r1, #0
56106 cmp r3, #160
56107 str r1, [r2], #4
56108 bne .L17807
56109 add ip, ip, #1
56110 cmp ip, #5
56111 bne .L17806
56112 ldr fp, .L17848+4
56113 mov r3, fp
56114 add r2, fp, #640
56115.L17810:
56116 str r1, [r3], #4
56117 cmp r3, r2
56118 bne .L17810
56119 ldr r5, .L17848+8
56120 mov r6, #127
56121.L17812:
56122 ldrh r2, [r5, #8]
56123 ldrh r7, [r5, #12]
56124 and r1, r2, #49152
56125 and r3, r2, #768
56126 cmp r3, #512
56127 cmpne r1, #49152
56128 beq .L17813
56129 mov r3, r2, lsr #10
56130 and r0, r3, #3
56131 cmp r0, #3
56132 beq .L17813
56133 cmp sl, #2
56134 bls .L17816
56135 mov r3, r7, asl #22
56136 mov r3, r3, lsr #22
56137 cmp r3, #512
56138 bcc .L17813
56139.L17816:
56140 ldrh r4, [r5, #10]
56141 and ip, r2, #255
56142 mov r3, r4, lsr #14
56143 orr r3, r3, r1, lsr #12
56144 ldr r1, .L17848+12
56145 cmp ip, #160
56146 subgt ip, ip, #256
56147 ldr r1, [r1, r3, asl #2]
56148 tst r2, #512
56149 ldr r2, .L17848+16
56150 movne r1, r1, asl #1
56151 ldr r2, [r2, r3, asl #2]
56152 add lr, ip, r1
56153 movne r2, r2, asl #1
56154 cmp lr, #0
56155 movle r3, #0
56156 movgt r3, #1
56157 cmp ip, #159
56158 movgt r3, #0
56159 cmp r3, #0
56160 beq .L17813
56161 mov r3, r4, asl #23
56162 mov r3, r3, asr #23
56163 add r2, r2, r3
56164 cmp r2, #0
56165 movle r1, #0
56166 movgt r1, #1
56167 cmp r3, #239
56168 movgt r1, #0
56169 cmp r1, #0
56170 beq .L17813
56171 cmp ip, #0
56172 movlt ip, #0
56173 cmp lr, #160
56174 movge lr, #160
56175 mov r3, r7, lsr #10
56176 cmp r0, #1
56177 and r3, r3, #3
56178 beq .L17847
56179 cmp r0, #2
56180 moveq r3, #4
56181 cmp lr, ip
56182 ble .L17813
56183 add r3, r3, r3, asl #2
56184 ldr r2, .L17848+20
56185 rsb r1, ip, lr
56186 add r3, ip, r3, asl #5
56187 mov r0, ip
56188 add r1, ip, r1
56189 add lr, r2, r3, asl #7
56190 and r4, r6, #255
56191 add ip, r9, r3, asl #2
56192.L17833:
56193 ldr r2, [ip, #0]
56194 add r0, r0, #1
56195 add r3, r2, #1
56196 cmp r0, r1
56197 strb r4, [lr, r2]
56198 str r3, [ip], #4
56199 add lr, lr, #128
56200 bne .L17833
56201.L17813:
56202 sub r6, r6, #1
56203 cmn r6, #1
56204 sub r5, r5, #8
56205 bne .L17812
56206 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
56207.L17847:
56208 cmp lr, ip
56209 ble .L17813
56210 add r3, r3, r3, asl #2
56211 ldr r2, .L17848+20
56212 add r3, ip, r3, asl #5
56213 rsb r1, ip, lr
56214 mov r4, ip
56215 add r8, ip, r1
56216 add r0, r2, r3, asl #7
56217 and r7, r6, #255
56218 add lr, r9, r3, asl #2
56219 add ip, fp, ip, asl #2
56220.L17829:
56221 ldr r3, [lr, #0]
56222 ldr r2, [ip, #0]
56223 add r4, r4, #1
56224 add r1, r3, #1
56225 add r2, r2, #1
56226 cmp r4, r8
56227 strb r7, [r0, r3]
56228 str r1, [lr], #4
56229 str r2, [ip], #4
56230 add r0, r0, #128
56231 bne .L17829
56232 sub r6, r6, #1
56233 cmn r6, #1
56234 sub r5, r5, #8
56235 bne .L17812
56236 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
56237.L17849:
56238 .align 2
56239.L17848:
56240 .word obj_priority_count
56241 .word obj_alpha_count
56242 .word oam_ram+1008
56243 .word obj_height_table
56244 .word obj_width_table
56245 .word obj_priority_list
56246 .size order_obj, .-order_obj
56247 .align 2
56248 .global order_layers
56249 .type order_layers, %function
56250order_layers:
56251 @ args = 0, pretend = 0, frame = 0
56252 @ frame_needed = 0, uses_anonymous_args = 0
56253 stmfd sp!, {r4, r5, r6, r7, r8, sl, lr}
56254 ldr r6, .L17989
56255 ldr r3, .L17989+4
56256 ldrh r2, [r6, #6]
56257 ldr sl, .L17989+8
56258 add r4, r3, r2, asl #2
56259 and r3, r0, #8
56260 mov r1, #0
56261 cmp r3, #0
56262 and ip, r0, #1
56263 and r7, r0, #16
56264 and r2, r0, #4
56265 ldr r8, .L17989+12
56266 mov r5, r1
56267 mov lr, #3
56268 and r0, r0, #2
56269 str r1, [sl, #0]
56270 bne .L17967
56271 cmp ip, #0
56272 beq .L17979
56273 cmp r0, #0
56274 bne .L17985
56275 cmp r2, #0
56276 bne .L17988
56277.L17851:
56278 ldrh r3, [r6, #8]
56279 and r3, r3, #3
56280 cmp r3, lr
56281 moveq r3, #0
56282 streq r3, [r8, r5, asl #2]
56283 ldr r3, [r4, #1920]
56284 addeq r5, r5, #1
56285 cmp r3, #0
56286 sub r4, r4, #640
56287 beq .L17855
56288 cmp r7, #0
56289 orr r3, lr, #4
56290 strne r3, [r8, r5, asl #2]
56291 addne r5, r5, #1
56292.L17855:
56293 subs lr, lr, #1
56294 bcs .L17851
56295.L17869:
56296 str r5, [sl, #0]
56297 ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc}
56298.L17967:
56299 cmp ip, #0
56300 beq .L17969
56301 cmp r0, #0
56302 bne .L17975
56303 cmp r2, #0
56304 bne .L17978
56305.L17884:
56306 ldrh r3, [r6, #14]
56307 and r3, r3, #3
56308 cmp r3, lr
56309 moveq r3, #3
56310 streq r3, [r8, r5, asl #2]
56311 ldrh r3, [r6, #8]
56312 addeq r5, r5, #1
56313 and r3, r3, #3
56314 cmp r3, lr
56315 moveq r3, #0
56316 streq r3, [r8, r5, asl #2]
56317 ldr r3, [r4, #1920]
56318 addeq r5, r5, #1
56319 cmp r3, #0
56320 sub r4, r4, #640
56321 beq .L17875
56322 cmp r7, #0
56323 orr r3, lr, #4
56324 strne r3, [r8, r5, asl #2]
56325 addne r5, r5, #1
56326.L17875:
56327 subs lr, lr, #1
56328 bcc .L17869
56329 b .L17884
56330.L17969:
56331 cmp r0, #0
56332 bne .L17971
56333 cmp r2, #0
56334 bne .L17974
56335.L17890:
56336 ldrh r3, [r6, #14]
56337 and r3, r3, #3
56338 cmp r3, lr
56339 moveq r3, #3
56340 streq r3, [r8, r5, asl #2]
56341 ldr r3, [r4, #1920]
56342 addeq r5, r5, #1
56343 cmp r3, #0
56344 sub r4, r4, #640
56345 beq .L17883
56346 cmp r7, #0
56347 orr r3, lr, #4
56348 strne r3, [r8, r5, asl #2]
56349 addne r5, r5, #1
56350.L17883:
56351 subs lr, lr, #1
56352 bcc .L17869
56353 b .L17890
56354.L17979:
56355 cmp r0, #0
56356 bne .L17981
56357 cmp r2, #0
56358 bne .L17984
56359.L17935:
56360 ldr r3, [r4, #1920]
56361 sub r4, r4, #640
56362 cmp r3, #0
56363 beq .L17930
56364 cmp r7, #0
56365 orr r3, lr, #4
56366 strne r3, [r8, r5, asl #2]
56367 addne r5, r5, #1
56368.L17930:
56369 subs lr, lr, #1
56370 bcc .L17869
56371 b .L17935
56372.L17985:
56373 cmp r2, #0
56374 bne .L17987
56375.L17958:
56376 ldrh r3, [r6, #10]
56377 and r3, r3, #3
56378 cmp r3, lr
56379 moveq r3, #1
56380 streq r3, [r8, r5, asl #2]
56381 addeq r5, r5, r3
56382 ldrh r3, [r6, #8]
56383 and r3, r3, #3
56384 cmp r3, lr
56385 moveq r3, #0
56386 streq r3, [r8, r5, asl #2]
56387 ldr r3, [r4, #1920]
56388 addeq r5, r5, #1
56389 cmp r3, #0
56390 sub r4, r4, #640
56391 beq .L17951
56392 cmp r7, #0
56393 orr r3, lr, #4
56394 strne r3, [r8, r5, asl #2]
56395 addne r5, r5, #1
56396.L17951:
56397 subs lr, lr, #1
56398 bcc .L17869
56399 b .L17958
56400.L17987:
56401 ldrh r3, [r6, #12]
56402 and r3, r3, #3
56403 cmp r3, lr
56404 moveq r3, #2
56405 streq r3, [r8, r5, asl #2]
56406 ldrh r3, [r6, #10]
56407 addeq r5, r5, #1
56408 and r3, r3, #3
56409 cmp r3, lr
56410 moveq r3, #1
56411 streq r3, [r8, r5, asl #2]
56412 addeq r5, r5, r3
56413 ldrh r3, [r6, #8]
56414 and r3, r3, #3
56415 cmp r3, lr
56416 moveq r3, #0
56417 streq r3, [r8, r5, asl #2]
56418 ldr r3, [r4, #1920]
56419 addeq r5, r5, #1
56420 cmp r3, #0
56421 beq .L17957
56422 cmp r7, #0
56423 orrne r3, lr, #4
56424 strne r3, [r8, r5, asl #2]
56425 addne r5, r5, #1
56426.L17957:
56427 sub lr, lr, #1
56428 cmn lr, #1
56429 sub r4, r4, #640
56430 bne .L17987
56431 b .L17869
56432.L17975:
56433 cmp r2, #0
56434 bne .L17977
56435.L17917:
56436 ldrh r3, [r6, #14]
56437 and r3, r3, #3
56438 cmp r3, lr
56439 moveq r3, #3
56440 streq r3, [r8, r5, asl #2]
56441 ldrh r3, [r6, #10]
56442 addeq r5, r5, #1
56443 and r3, r3, #3
56444 cmp r3, lr
56445 moveq r3, #1
56446 streq r3, [r8, r5, asl #2]
56447 addeq r5, r5, r3
56448 ldrh r3, [r6, #8]
56449 and r3, r3, #3
56450 cmp r3, lr
56451 moveq r3, #0
56452 streq r3, [r8, r5, asl #2]
56453 ldr r3, [r4, #1920]
56454 addeq r5, r5, #1
56455 cmp r3, #0
56456 beq .L17909
56457 cmp r7, #0
56458 orrne r3, lr, #4
56459 strne r3, [r8, r5, asl #2]
56460 addne r5, r5, #1
56461.L17909:
56462 sub lr, lr, #1
56463 cmn lr, #1
56464 sub r4, r4, #640
56465 bne .L17917
56466 b .L17869
56467.L17977:
56468 ldrh r3, [r6, #14]
56469 and r3, r3, #3
56470 cmp r3, lr
56471 moveq r3, #3
56472 streq r3, [r8, r5, asl #2]
56473 ldrh r3, [r6, #12]
56474 addeq r5, r5, #1
56475 and r3, r3, #3
56476 cmp r3, lr
56477 moveq r3, #2
56478 streq r3, [r8, r5, asl #2]
56479 ldrh r3, [r6, #10]
56480 addeq r5, r5, #1
56481 and r3, r3, #3
56482 cmp r3, lr
56483 moveq r3, #1
56484 streq r3, [r8, r5, asl #2]
56485 addeq r5, r5, r3
56486 ldrh r3, [r6, #8]
56487 and r3, r3, #3
56488 cmp r3, lr
56489 moveq r3, #0
56490 streq r3, [r8, r5, asl #2]
56491 ldr r3, [r4, #1920]
56492 addeq r5, r5, #1
56493 cmp r3, #0
56494 beq .L17916
56495 cmp r7, #0
56496 orrne r3, lr, #4
56497 strne r3, [r8, r5, asl #2]
56498 addne r5, r5, #1
56499.L17916:
56500 sub lr, lr, #1
56501 cmn lr, #1
56502 sub r4, r4, #640
56503 bne .L17977
56504 b .L17869
56505.L17978:
56506 ldrh r3, [r6, #14]
56507 and r3, r3, #3
56508 cmp r3, lr
56509 moveq r3, #3
56510 streq r3, [r8, r5, asl #2]
56511 ldrh r3, [r6, #12]
56512 addeq r5, r5, #1
56513 and r3, r3, #3
56514 cmp r3, lr
56515 moveq r3, #2
56516 streq r3, [r8, r5, asl #2]
56517 ldrh r3, [r6, #8]
56518 addeq r5, r5, #1
56519 and r3, r3, #3
56520 cmp r3, lr
56521 moveq r3, #0
56522 streq r3, [r8, r5, asl #2]
56523 ldr r3, [r4, #1920]
56524 addeq r5, r5, #1
56525 cmp r3, #0
56526 beq .L17923
56527 cmp r7, #0
56528 orrne r3, lr, #4
56529 strne r3, [r8, r5, asl #2]
56530 addne r5, r5, #1
56531.L17923:
56532 sub lr, lr, #1
56533 cmn lr, #1
56534 sub r4, r4, #640
56535 bne .L17978
56536 b .L17869
56537.L17971:
56538 cmp r2, #0
56539 bne .L17973
56540.L17897:
56541 ldrh r3, [r6, #14]
56542 and r3, r3, #3
56543 cmp r3, lr
56544 moveq r3, #3
56545 streq r3, [r8, r5, asl #2]
56546 ldrh r3, [r6, #10]
56547 addeq r5, r5, #1
56548 and r3, r3, #3
56549 cmp r3, lr
56550 moveq r3, #1
56551 streq r3, [r8, r5, asl #2]
56552 addeq r5, r5, r3
56553 ldr r3, [r4, #1920]
56554 sub r4, r4, #640
56555 cmp r3, #0
56556 beq .L17889
56557 cmp r7, #0
56558 orr r3, lr, #4
56559 strne r3, [r8, r5, asl #2]
56560 addne r5, r5, #1
56561.L17889:
56562 subs lr, lr, #1
56563 bcc .L17869
56564 b .L17897
56565.L17973:
56566 ldrh r3, [r6, #14]
56567 and r3, r3, #3
56568 cmp r3, lr
56569 moveq r3, #3
56570 streq r3, [r8, r5, asl #2]
56571 ldrh r3, [r6, #12]
56572 addeq r5, r5, #1
56573 and r3, r3, #3
56574 cmp r3, lr
56575 moveq r3, #2
56576 streq r3, [r8, r5, asl #2]
56577 ldrh r3, [r6, #10]
56578 addeq r5, r5, #1
56579 and r3, r3, #3
56580 cmp r3, lr
56581 moveq r3, #1
56582 streq r3, [r8, r5, asl #2]
56583 addeq r5, r5, r3
56584 ldr r3, [r4, #1920]
56585 cmp r3, #0
56586 beq .L17896
56587 cmp r7, #0
56588 orrne r3, lr, #4
56589 strne r3, [r8, r5, asl #2]
56590 addne r5, r5, #1
56591.L17896:
56592 sub lr, lr, #1
56593 cmn lr, #1
56594 sub r4, r4, #640
56595 bne .L17973
56596 b .L17869
56597.L17974:
56598 ldrh r3, [r6, #14]
56599 and r3, r3, #3
56600 cmp r3, lr
56601 moveq r3, #3
56602 streq r3, [r8, r5, asl #2]
56603 ldrh r3, [r6, #12]
56604 addeq r5, r5, #1
56605 and r3, r3, #3
56606 cmp r3, lr
56607 moveq r3, #2
56608 streq r3, [r8, r5, asl #2]
56609 ldr r3, [r4, #1920]
56610 addeq r5, r5, #1
56611 cmp r3, #0
56612 sub r4, r4, #640
56613 beq .L17902
56614 cmp r7, #0
56615 orr r3, lr, #4
56616 strne r3, [r8, r5, asl #2]
56617 addne r5, r5, #1
56618.L17902:
56619 subs lr, lr, #1
56620 bcc .L17869
56621 b .L17974
56622.L17981:
56623 cmp r2, #0
56624 bne .L17983
56625.L17941:
56626 ldrh r3, [r6, #10]
56627 and r3, r3, #3
56628 cmp r3, lr
56629 moveq r3, #1
56630 streq r3, [r8, r5, asl #2]
56631 addeq r5, r5, r3
56632 ldr r3, [r4, #1920]
56633 sub r4, r4, #640
56634 cmp r3, #0
56635 beq .L17934
56636 cmp r7, #0
56637 orr r3, lr, #4
56638 strne r3, [r8, r5, asl #2]
56639 addne r5, r5, #1
56640.L17934:
56641 subs lr, lr, #1
56642 bcc .L17869
56643 b .L17941
56644.L17983:
56645 ldrh r3, [r6, #12]
56646 and r3, r3, #3
56647 cmp r3, lr
56648 moveq r3, #2
56649 streq r3, [r8, r5, asl #2]
56650 ldrh r3, [r6, #10]
56651 addeq r5, r5, #1
56652 and r3, r3, #3
56653 cmp r3, lr
56654 moveq r3, #1
56655 streq r3, [r8, r5, asl #2]
56656 addeq r5, r5, r3
56657 ldr r3, [r4, #1920]
56658 sub r4, r4, #640
56659 cmp r3, #0
56660 beq .L17940
56661 cmp r7, #0
56662 orr r3, lr, #4
56663 strne r3, [r8, r5, asl #2]
56664 addne r5, r5, #1
56665.L17940:
56666 subs lr, lr, #1
56667 bcc .L17869
56668 b .L17983
56669.L17984:
56670 ldrh r3, [r6, #12]
56671 and r3, r3, #3
56672 cmp r3, lr
56673 moveq r3, #2
56674 streq r3, [r8, r5, asl #2]
56675 ldr r3, [r4, #1920]
56676 addeq r5, r5, #1
56677 cmp r3, #0
56678 sub r4, r4, #640
56679 beq .L17945
56680 cmp r7, #0
56681 orr r3, lr, #4
56682 strne r3, [r8, r5, asl #2]
56683 addne r5, r5, #1
56684.L17945:
56685 subs lr, lr, #1
56686 bcc .L17869
56687 b .L17984
56688.L17988:
56689 ldrh r3, [r6, #12]
56690 and r3, r3, #3
56691 cmp r3, lr
56692 moveq r3, #2
56693 streq r3, [r8, r5, asl #2]
56694 ldrh r3, [r6, #8]
56695 addeq r5, r5, #1
56696 and r3, r3, #3
56697 cmp r3, lr
56698 moveq r3, #0
56699 streq r3, [r8, r5, asl #2]
56700 ldr r3, [r4, #1920]
56701 addeq r5, r5, #1
56702 cmp r3, #0
56703 sub r4, r4, #640
56704 beq .L17963
56705 cmp r7, #0
56706 orr r3, lr, #4
56707 strne r3, [r8, r5, asl #2]
56708 addne r5, r5, #1
56709.L17963:
56710 subs lr, lr, #1
56711 bcc .L17869
56712 b .L17988
56713.L17990:
56714 .align 2
56715.L17989:
56716 .word io_registers
56717 .word obj_priority_count
56718 .word layer_count
56719 .word layer_order
56720 .size order_layers, .-order_layers
56721 .align 2
56722 .global fill_line_normal
56723 .type fill_line_normal, %function
56724fill_line_normal:
56725 @ args = 0, pretend = 0, frame = 0
56726 @ frame_needed = 0, uses_anonymous_args = 0
56727 str lr, [sp, #-4]!
56728 mov r0, r0, asl #16
56729 mov lr, r3
56730 cmp r2, r3
56731 ldr r3, .L17997
56732 mov r0, r0, lsr #15
56733 ldrh ip, [r0, r3]
56734 ldrcs pc, [sp], #4
56735 rsb r3, r2, lr
56736 add r1, r1, r2, asl #1
56737 mov r0, #0
56738.L17994:
56739 add r0, r0, #1
56740 cmp r0, r3
56741 strh ip, [r1], #2 @ movhi
56742 bne .L17994
56743 ldr pc, [sp], #4
56744.L17998:
56745 .align 2
56746.L17997:
56747 .word palette_ram_converted
56748 .size fill_line_normal, .-fill_line_normal
56749 .align 2
56750 .global fill_line_alpha
56751 .type fill_line_alpha, %function
56752fill_line_alpha:
56753 @ args = 0, pretend = 0, frame = 0
56754 @ frame_needed = 0, uses_anonymous_args = 0
56755 @ link register save eliminated.
56756 mov r0, r0, asl #16
56757 cmp r2, r3
56758 @ lr needed for prologue
56759 mov r0, r0, lsr #16
56760 bxcs lr
56761 rsb r3, r2, r3
56762 add r1, r1, r2, asl #2
56763 mov ip, #0
56764.L18002:
56765 add ip, ip, #1
56766 cmp ip, r3
56767 str r0, [r1], #4
56768 bne .L18002
56769 bx lr
56770 .size fill_line_alpha, .-fill_line_alpha
56771 .align 2
56772 .global fill_line_color16
56773 .type fill_line_color16, %function
56774fill_line_color16:
56775 @ args = 0, pretend = 0, frame = 0
56776 @ frame_needed = 0, uses_anonymous_args = 0
56777 @ link register save eliminated.
56778 mov r0, r0, asl #16
56779 cmp r2, r3
56780 @ lr needed for prologue
56781 mov r0, r0, lsr #16
56782 bxcs lr
56783 rsb r3, r2, r3
56784 add r1, r1, r2, asl #1
56785 mov ip, #0
56786.L18008:
56787 add ip, ip, #1
56788 cmp ip, r3
56789 strh r0, [r1], #2 @ movhi
56790 bne .L18008
56791 bx lr
56792 .size fill_line_color16, .-fill_line_color16
56793 .align 2
56794 .global fill_line_color32
56795 .type fill_line_color32, %function
56796fill_line_color32:
56797 @ args = 0, pretend = 0, frame = 0
56798 @ frame_needed = 0, uses_anonymous_args = 0
56799 @ link register save eliminated.
56800 mov r0, r0, asl #16
56801 cmp r2, r3
56802 @ lr needed for prologue
56803 mov r0, r0, lsr #16
56804 bxcs lr
56805 rsb r3, r2, r3
56806 add r1, r1, r2, asl #2
56807 mov ip, #0
56808.L18014:
56809 add ip, ip, #1
56810 cmp ip, r3
56811 str r0, [r1], #4
56812 bne .L18014
56813 bx lr
56814 .size fill_line_color32, .-fill_line_color32
56815 .align 2
56816 .global expand_blend
56817 .type expand_blend, %function
56818
56819expand_blend:
56820 @ args = 0, pretend = 0, frame = 4
56821 @ frame_needed = 0, uses_anonymous_args = 0
56822 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
56823 mov r6, r0 # r6 = screen_src_ptr
56824 ldr r0, .L18042 # r0 = io_registers
56825 mov lr, r1 # lr = screen_dest_ptr
56826 ldrh ip, [r0, #82] # ip = REG_BLDALPHA
56827 sub sp, sp, #4 # make room on stack for 1 word
56828 mov r1, ip, lsr #8 # r1 = REG_BLDALPHA >> 8
56829 and r1, r1, #31 # r1 = (REG_BLDALPHA >> 8) & 0x1F = blend_b
56830 and ip, ip, #31 # ip = REG_BLDALPHA & 0x1F = blend_a
56831 cmp ip, #16 # if(blend_a > 16)
56832 movcs ip, #16 # blend_a = 16
56833 cmp r1, #16 # fp = blend_b
56834 movcc fp, r1 # if(blend_b > 16)
56835 movcs fp, #16 # blend_b = 16
56836 add r0, fp, ip # r0 = blend_a + blend_b
56837 cmp r0, #16 # if((blend_a + blend_b) > 16)
56838 str ip, [sp, #0] # save blend_a to stack
56839 bls .L18018 # goto blend w/o saturation
56840
56841 subs r8, r3, r2 # r8 = end - start
56842 beq .L18040 # if((end - start) == 0) we're already done
56843
56844 ldr r7, .L18042+4 # r7 = palette_ram_converted
56845 ldr sl, .L18042+8 # sl = 0x4000200
56846 add r4, r6, r2, asl #2 # r4 = screen_src_ptr + (start * 4)
56847 add r5, lr, r2, asl #1 # r5 = screen_dest_ptr + (start * 2)
56848 mov r6, #0 # r6 = 0
56849 b .L18022
56850
56851.L18023:
56852 mov r3, r0, asl #23
56853 mov r3, r3, lsr #23
56854 mov r3, r3, asl #1
56855 ldrh r3, [r3, r7]
56856 add r6, r6, #1
56857 cmp r8, r6
56858 strh r3, [r5, #0] @ movhi
56859 beq .L18040
56860
56861.L18041: # next_iteration
56862 add r4, r4, #4 # screen_src_ptr++
56863 add r5, r5, #2 # screen_dest_ptr++
56864
56865.L18022: # blend w/o saturation
56866 ldr r0, [r4, #0] # r0 = *screen_src_ptr = pixel_source
56867 ldr r3, .L18042+8 # r3 = 0x4000200
56868 and r3, r0, r3 # r3 = (pixel_source & 0x400200)
56869 cmp r3, sl # if(r3 == 0x4000200)
56870 bne .L18023 # if not, don't perform blending
56871 ldr r3, .L18042+12 # r3 = 0x3FE
56872 mov r2, r0, lsr #15 # r2 = pixel_source >> 15
56873 and r3, r2, r3 # r3 = (pixel_source >> 15) & 0x3FE = low_color_i
56874 ldrh r1, [r3, r7] # r1 = palette_ram_converted[low_color_i] = low_color
56875 mov r0, r0, asl #23 # r0 = r0 << 23
56876 ldr ip, .L18042+16 # ip = 0x7EF81F
56877 orr r1, r1, r1, asl #16 # r1 = (low_color << 16) | low_color = low_split
56878 mov r0, r0, lsr #23 # r0 = pixel_source & 0x1FF
56879 and ip, r1, ip # ip = low_split & 0x7EF81F = pixel_bottom
56880 mov r0, r0, asl #1 # r0 = (pixel_source & 0x1FF) << 1 = high_color_i
56881 ldrh r2, [r0, r7] # r2 = palette_ram_converted[high_color_i] = high_color
56882 mul lr, fp, ip # lr = pixel_bottom * blend_b
56883 ldr r3, .L18042+16 # r3 = 0x7EF81F
56884 orr r2, r2, r2, asl #16 # r2 = (high_color << 16) | high_color = high_split
56885 ldr r1, [sp, #0] # r1 = blend_a
56886 and r3, r2, r3 # r3 = high_split & 0x7EF81F = pixel_top
56887 mla r1, r3, r1, lr # r1 = (pixel_top * blend_a) + (pixel_bottom * blend_b)
56888 ldr r2, .L18042+20 # r2 = 0x8010020
56889 mov r1, r1, lsr #4 # r1 = ((pixel_top * blend_a) + (pixel_bottom * blend_b)) >> 4
56890 and r2, r1, r2 # r2 = test any saturation on result
56891 cmp r2, #0 # if(!saturation)
56892 beq .L18025 # goto finish_iteration
56893 tst r1, #134217728
56894 orrne r1, r1, #132120576
56895 tst r1, #65536
56896 orrne r1, r1, #63488
56897 tst r1, #32
56898 orrne r1, r1, #31
56899
56900.L18025: # finish_iteration
56901 ldr r3, .L18042+16 # r3 = 0x7EF81F
56902 add r6, r6, #1 # i++
56903 and r3, r1, r3 # r3 = pixel_result_dilate & 0x7EF81F
56904 orr r3, r3, r3, lsr #16 # r3 = (pixel_result_dilate >> 16) | pixel_result_dilate
56905 cmp r8, r6 # *screen_dest_ptr = pixel_result
56906 strh r3, [r5, #0] @ movhi # if(i != end)
56907 bne .L18041 # goto next_iteration
56908.L18040:
56909 add sp, sp, #4
56910 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
56911
56912.L18018: # blend w/o saturation
56913 subs r9, r3, r2
56914 beq .L18040
56915 ldr sl, .L18042+4
56916 add r4, lr, r2, asl #1
56917 mov r7, #0
56918 add lr, r6, r2, asl #2
56919 b .L18035
56920.L18036:
56921 ldrh r3, [r3, sl]
56922 strh r3, [r4, #0] @ movhi
56923.L18038:
56924 add r7, r7, #1
56925 cmp r9, r7
56926 add lr, lr, #4
56927 add r4, r4, #2
56928 beq .L18040
56929
56930.L18035:
56931 ldr r1, [lr, #0]
56932 ldr ip, .L18042+12
56933 mov r3, r1, asl #23
56934 ldr r0, .L18042+8
56935 mov r2, r1, lsr #15
56936 mov r3, r3, lsr #23
56937 and r0, r1, r0
56938 and ip, r2, ip
56939 mov r2, r3, asl #1
56940 mov r3, r1, asl #23
56941 ldr r1, .L18042+8
56942 ldr r6, .L18042+16
56943 mov r3, r3, lsr #23
56944 cmp r0, r1
56945 mov r8, r6
56946 mov r5, r6
56947 mov r3, r3, asl #1
56948 bne .L18036
56949 ldrh r3, [ip, sl]
56950 ldrh r2, [r2, sl]
56951 orr r3, r3, r3, asl #16
56952 and r6, r3, r6
56953 mul r1, fp, r6
56954 orr r2, r2, r2, asl #16
56955 ldr r3, [sp, #0]
56956 and r8, r2, r8
56957 mla r3, r8, r3, r1
56958 mov r3, r3, lsr #4
56959 and r5, r3, r5
56960 orr r2, r5, r5, lsr #16
56961 strh r2, [r4, #0] @ movhi
56962 b .L18038
56963
56964.L18043:
56965 .align 2
56966
56967.L18042:
56968 .word io_registers
56969 .word palette_ram_converted
56970 .word 67109376
56971 .word 1022
56972 .word 132184095
56973 .word 134283296
56974 .size expand_blend, .-expand_blend
56975 .align 2
56976 .global expand_darken
56977 .type expand_darken, %function
56978expand_darken:
56979 @ args = 0, pretend = 0, frame = 0
56980 @ frame_needed = 0, uses_anonymous_args = 0
56981 ldr ip, .L18053
56982 stmfd sp!, {r4, r5, r6, r7, r8, lr}
56983 mov lr, r2
56984 ldrh r2, [ip, #84]
56985 and r2, r2, #31
56986 rsb r2, r2, #16
56987 cmp r2, #0
56988 movge r8, r2
56989 movlt r8, #0
56990 subs r6, r3, lr
56991 ldmeqfd sp!, {r4, r5, r6, r7, r8, pc}
56992 mov r3, lr, asl #1
56993 ldr r7, .L18053+4
56994 add ip, r3, r1
56995 add r0, r3, r0
56996 mov r5, #0
56997.L18047:
56998 ldrh r3, [r0, #0]
56999 ldr r4, .L18053+8
57000 mov r2, r3, asl #23
57001 mov r2, r2, lsr #23
57002 tst r3, #512
57003 mov r2, r2, asl #1
57004 mov r1, r3, asl #23
57005 ldrneh r3, [r2, r7]
57006 mov lr, r4
57007 orrne r3, r3, r3, asl #16
57008 andne r4, r3, r4
57009 mulne r2, r8, r4
57010 mov r1, r1, lsr #23
57011 mov r1, r1, asl #1
57012 movne r2, r2, lsr #4
57013 andne lr, r2, lr
57014 ldreqh r1, [r1, r7]
57015 orrne r3, lr, lr, lsr #16
57016 add r5, r5, #1
57017 strneh r3, [ip, #0] @ movhi
57018 streqh r1, [ip, #0] @ movhi
57019 cmp r6, r5
57020 add r0, r0, #2
57021 add ip, ip, #2
57022 bne .L18047
57023 ldmfd sp!, {r4, r5, r6, r7, r8, pc}
57024.L18054:
57025 .align 2
57026.L18053:
57027 .word io_registers
57028 .word palette_ram_converted
57029 .word 132184095
57030 .size expand_darken, .-expand_darken
57031 .align 2
57032 .global expand_brighten
57033 .type expand_brighten, %function
57034expand_brighten:
57035 @ args = 0, pretend = 0, frame = 0
57036 @ frame_needed = 0, uses_anonymous_args = 0
57037 stmfd sp!, {r4, r5, r6, r7, r8, sl, lr}
57038 mov lr, r2
57039 ldr r2, .L18064
57040 ldr r7, .L18064+4
57041 ldrh ip, [r2, #84]
57042 and ip, ip, #31
57043 cmp ip, #16
57044 movcs ip, #16
57045 rsb r2, ip, ip, asl #6
57046 add r2, ip, r2, asl #5
57047 rsb r2, r2, r2, asl #16
57048 mov r2, r2, lsr #4
57049 subs r6, r3, lr
57050 and r7, r2, r7
57051 rsb r8, ip, #16
57052 ldmeqfd sp!, {r4, r5, r6, r7, r8, sl, pc}
57053 mov r3, lr, asl #1
57054 ldr sl, .L18064+8
57055 add ip, r3, r1
57056 add r0, r3, r0
57057 mov r5, #0
57058.L18058:
57059 ldrh r3, [r0, #0]
57060 ldr r4, .L18064+4
57061 mov r2, r3, asl #23
57062 mov r2, r2, lsr #23
57063 tst r3, #512
57064 mov r2, r2, asl #1
57065 mov r1, r3, asl #23
57066 ldrneh r3, [r2, sl]
57067 mov lr, r4
57068 orrne r3, r3, r3, asl #16
57069 andne r4, r3, r4
57070 mulne r2, r4, r8
57071 mov r1, r1, lsr #23
57072 mov r1, r1, asl #1
57073 addne r2, r7, r2, lsr #4
57074 andne lr, r2, lr
57075 ldreqh r1, [r1, sl]
57076 orrne r3, lr, lr, lsr #16
57077 add r5, r5, #1
57078 strneh r3, [ip, #0] @ movhi
57079 streqh r1, [ip, #0] @ movhi
57080 cmp r6, r5
57081 add r0, r0, #2
57082 add ip, ip, #2
57083 bne .L18058
57084 ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc}
57085.L18065:
57086 .align 2
57087.L18064:
57088 .word io_registers
57089 .word 132184095
57090 .word palette_ram_converted
57091 .size expand_brighten, .-expand_brighten
57092 .align 2
57093 .global expand_darken_partial_alpha
57094 .type expand_darken_partial_alpha, %function
57095expand_darken_partial_alpha:
57096 @ args = 0, pretend = 0, frame = 16
57097 @ frame_needed = 0, uses_anonymous_args = 0
57098 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
57099 ldr r4, .L18099
57100 mov r6, r0
57101 ldrh r0, [r4, #82]
57102 ldrh lr, [r4, #84]
57103 mov ip, r0, lsr #8
57104 and ip, ip, #31
57105 and r0, r0, #31
57106 sub sp, sp, #16
57107 cmp r0, #16
57108 movcs r0, #16
57109 cmp ip, #16
57110 movcs ip, #16
57111 and lr, lr, #31
57112 str r0, [sp, #4]
57113 rsb lr, lr, #16
57114 add r0, ip, r0
57115 cmp lr, #0
57116 movlt lr, #0
57117 cmp r0, #16
57118 str ip, [sp, #8]
57119 str lr, [sp, #0]
57120 bls .L18067
57121 subs r8, r3, r2
57122 beq .L18093
57123 ldr r7, .L18099+4
57124 add r4, r6, r2, asl #2
57125 add r5, r1, r2, asl #1
57126 mov r6, #0
57127 b .L18071
57128.L18095:
57129 ldr r3, .L18099+8
57130 ldr r2, .L18099+8
57131 and r3, r0, r3
57132 cmp r3, r2
57133 beq .L18094
57134 mov r3, r0, asl #23
57135 mov r3, r3, lsr #23
57136 mov r3, r3, asl #1
57137 ldrh r2, [r3, r7]
57138 ldr r1, .L18099+12
57139 orr r2, r2, r2, asl #16
57140 ldr r0, [sp, #0]
57141 and r1, r2, r1
57142 mul r0, r1, r0
57143 ldr r3, .L18099+12
57144 mov r0, r0, lsr #4
57145 and r3, r0, r3
57146 orr r3, r3, r3, lsr #16
57147 strh r3, [r5, #0] @ movhi
57148.L18083:
57149 add r6, r6, #1
57150 cmp r8, r6
57151 beq .L18093
57152.L18096:
57153 add r4, r4, #4
57154 add r5, r5, #2
57155.L18071:
57156 ldr r0, [r4, #0]
57157 tst r0, #512
57158 bne .L18095
57159 mov r3, r0, asl #23
57160 mov r3, r3, lsr #23
57161 mov r3, r3, asl #1
57162 ldrh r3, [r3, r7]
57163 add r6, r6, #1
57164 cmp r8, r6
57165 strh r3, [r5, #0] @ movhi
57166 bne .L18096
57167.L18093:
57168 add sp, sp, #16
57169 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
57170.L18067:
57171 subs r3, r3, r2
57172 str r3, [sp, #12]
57173 beq .L18093
57174 ldr fp, .L18099+4
57175 add r4, r1, r2, asl #1
57176 add r0, r6, r2, asl #2
57177 mov sl, #0
57178 b .L18086
57179.L18098:
57180 ldr r5, .L18099+16
57181 mov r3, r1, lsr #15
57182 and r5, r3, r5
57183 mov r3, r1, asl #23
57184 mov r3, r3, lsr #23
57185 mov r7, r3, asl #1
57186 ldr r3, .L18099+8
57187 ldr r9, .L18099+12
57188 mov r2, r1, asl #23
57189 mov r2, r2, lsr #23
57190 cmp lr, r3
57191 mov r2, r2, asl #1
57192 mov r8, r9
57193 mov ip, r9
57194 mov r6, r9
57195 beq .L18097
57196 ldrh r3, [r2, fp]
57197 ldr r2, [sp, #0]
57198 orr r3, r3, r3, asl #16
57199 and ip, r3, r9
57200 mul r2, ip, r2
57201 mov r2, r2, lsr #4
57202 and r1, r2, r9
57203 orr r3, r1, r1, lsr #16
57204 strh r3, [r4, #0] @ movhi
57205.L18091:
57206 ldr ip, [sp, #12]
57207 add sl, sl, #1
57208 cmp ip, sl
57209 add r0, r0, #4
57210 add r4, r4, #2
57211 beq .L18093
57212.L18086:
57213 ldr r1, [r0, #0]
57214 ldr lr, .L18099+8
57215 mov r3, r1, asl #23
57216 mov r3, r3, lsr #23
57217 tst r1, #512
57218 and lr, r1, lr
57219 mov r3, r3, asl #1
57220 bne .L18098
57221 ldrh r3, [r3, fp]
57222 strh r3, [r4, #0] @ movhi
57223 b .L18091
57224.L18097:
57225 ldrh r3, [r5, fp]
57226 ldr r1, [sp, #8]
57227 orr r3, r3, r3, asl #16
57228 and r9, r3, r9
57229 ldrh r2, [r7, fp]
57230 mul r1, r9, r1
57231 orr r2, r2, r2, asl #16
57232 ldr r3, [sp, #4]
57233 and r8, r2, r8
57234 mla r3, r8, r3, r1
57235 mov r3, r3, lsr #4
57236 and r6, r3, ip
57237 orr r2, r6, r6, lsr #16
57238 strh r2, [r4, #0] @ movhi
57239 b .L18091
57240.L18094:
57241 ldr r3, .L18099+16
57242 mov r2, r0, lsr #15
57243 and r3, r2, r3
57244 ldrh r1, [r3, r7]
57245 mov r0, r0, asl #23
57246 ldr ip, .L18099+12
57247 orr r1, r1, r1, asl #16
57248 mov r0, r0, lsr #23
57249 ldr lr, [sp, #8]
57250 and ip, r1, ip
57251 mov r0, r0, asl #1
57252 ldrh r2, [r0, r7]
57253 mul lr, ip, lr
57254 ldr r3, .L18099+12
57255 orr r2, r2, r2, asl #16
57256 ldr r1, [sp, #4]
57257 and r3, r2, r3
57258 mla r1, r3, r1, lr
57259 ldr r2, .L18099+20
57260 mov r1, r1, lsr #4
57261 and r2, r1, r2
57262 cmp r2, #0
57263 beq .L18076
57264 tst r1, #134217728
57265 orrne r1, r1, #132120576
57266 tst r1, #65536
57267 orrne r1, r1, #63488
57268 tst r1, #32
57269 orrne r1, r1, #31
57270.L18076:
57271 ldr r3, .L18099+12
57272 and r3, r1, r3
57273 orr r3, r3, r3, lsr #16
57274 strh r3, [r5, #0] @ movhi
57275 b .L18083
57276.L18100:
57277 .align 2
57278.L18099:
57279 .word io_registers
57280 .word palette_ram_converted
57281 .word 67109376
57282 .word 132184095
57283 .word 1022
57284 .word 134283296
57285 .size expand_darken_partial_alpha, .-expand_darken_partial_alpha
57286 .align 2
57287 .global expand_brighten_partial_alpha
57288 .type expand_brighten_partial_alpha, %function
57289expand_brighten_partial_alpha:
57290 @ args = 0, pretend = 0, frame = 20
57291 @ frame_needed = 0, uses_anonymous_args = 0
57292 ldr ip, .L18134
57293 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
57294 ldrh r5, [ip, #84]
57295 ldrh r4, [ip, #82]
57296 and r5, r5, #31
57297 cmp r5, #16
57298 movge r5, #16
57299 mov lr, r4, lsr #8
57300 rsb ip, r5, r5, asl #6
57301 add ip, r5, ip, asl #5
57302 and lr, lr, #31
57303 and r4, r4, #31
57304 sub sp, sp, #20
57305 cmp r4, #16
57306 movcs r4, #16
57307 cmp lr, #16
57308 movcs lr, #16
57309 rsb ip, ip, ip, asl #16
57310 ldr r6, .L18134+4
57311 str lr, [sp, #12]
57312 mov ip, ip, asr #4
57313 add lr, lr, r4
57314 and r6, ip, r6
57315 rsb r5, r5, #16
57316 cmp lr, #16
57317 str r4, [sp, #8]
57318 str r6, [sp, #0]
57319 str r5, [sp, #4]
57320 bls .L18102
57321 subs r8, r3, r2
57322 beq .L18128
57323 ldr r7, .L18134+8
57324 add r4, r1, r2, asl #1
57325 add r5, r0, r2, asl #2
57326 mov r6, #0
57327 b .L18106
57328.L18130:
57329 ldr r3, .L18134+12
57330 ldr r2, .L18134+12
57331 and r3, r0, r3
57332 cmp r3, r2
57333 beq .L18129
57334 mov r3, r0, asl #23
57335 mov r3, r3, lsr #23
57336 mov r3, r3, asl #1
57337 ldrh r2, [r3, r7]
57338 ldr r1, .L18134+4
57339 orr r2, r2, r2, asl #16
57340 ldr r0, [sp, #4]
57341 and r1, r2, r1
57342 mul r0, r1, r0
57343 ldr lr, [sp, #0]
57344 ldr r3, .L18134+4
57345 add r0, lr, r0, lsr #4
57346 and r3, r0, r3
57347 orr r3, r3, r3, lsr #16
57348 strh r3, [r4, #0] @ movhi
57349.L18118:
57350 add r6, r6, #1
57351 cmp r8, r6
57352 beq .L18128
57353.L18131:
57354 add r5, r5, #4
57355 add r4, r4, #2
57356.L18106:
57357 ldr r0, [r5, #0]
57358 tst r0, #512
57359 bne .L18130
57360 mov r3, r0, asl #23
57361 mov r3, r3, lsr #23
57362 mov r3, r3, asl #1
57363 ldrh r3, [r3, r7]
57364 add r6, r6, #1
57365 cmp r8, r6
57366 strh r3, [r4, #0] @ movhi
57367 bne .L18131
57368.L18128:
57369 add sp, sp, #20
57370 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
57371.L18102:
57372 subs r3, r3, r2
57373 str r3, [sp, #16]
57374 beq .L18128
57375 ldr fp, .L18134+8
57376 add r5, r1, r2, asl #1
57377 add r0, r0, r2, asl #2
57378 mov sl, #0
57379 b .L18121
57380.L18133:
57381 ldr r4, .L18134+16
57382 mov r3, r1, lsr #15
57383 and r4, r3, r4
57384 mov r3, r1, asl #23
57385 mov r3, r3, lsr #23
57386 mov r7, r3, asl #1
57387 ldr r3, .L18134+12
57388 ldr r9, .L18134+4
57389 mov r2, r1, asl #23
57390 mov r2, r2, lsr #23
57391 cmp lr, r3
57392 mov r2, r2, asl #1
57393 mov r8, r9
57394 mov ip, r9
57395 beq .L18132
57396 ldrh r3, [r2, fp]
57397 ldr r2, [sp, #4]
57398 orr r3, r3, r3, asl #16
57399 and ip, r3, r9
57400 mul r2, ip, r2
57401 ldr r4, [sp, #0]
57402 add r2, r4, r2, lsr #4
57403 and r1, r2, r9
57404 orr r3, r1, r1, lsr #16
57405 strh r3, [r5, #0] @ movhi
57406.L18126:
57407 ldr r6, [sp, #16]
57408 add sl, sl, #1
57409 cmp r6, sl
57410 add r0, r0, #4
57411 add r5, r5, #2
57412 beq .L18128
57413.L18121:
57414 ldr r1, [r0, #0]
57415 ldr lr, .L18134+12
57416 mov r3, r1, asl #23
57417 mov r3, r3, lsr #23
57418 tst r1, #512
57419 and lr, r1, lr
57420 mov r3, r3, asl #1
57421 bne .L18133
57422 ldrh r3, [r3, fp]
57423 strh r3, [r5, #0] @ movhi
57424 b .L18126
57425.L18132:
57426 ldrh r3, [r4, fp]
57427 ldr r1, [sp, #12]
57428 orr r3, r3, r3, asl #16
57429 and r9, r3, r9
57430 ldrh r2, [r7, fp]
57431 mul r1, r9, r1
57432 orr r2, r2, r2, asl #16
57433 ldr r3, [sp, #8]
57434 and r8, r2, r8
57435 mla r3, r8, r3, r1
57436 mov r3, r3, lsr #4
57437 and r6, r3, ip
57438 orr r2, r6, r6, lsr #16
57439 strh r2, [r5, #0] @ movhi
57440 b .L18126
57441.L18129:
57442 ldr r3, .L18134+16
57443 mov r2, r0, lsr #15
57444 and r3, r2, r3
57445 ldrh r1, [r3, r7]
57446 mov r0, r0, asl #23
57447 ldr ip, .L18134+4
57448 orr r1, r1, r1, asl #16
57449 mov r0, r0, lsr #23
57450 ldr lr, [sp, #12]
57451 and ip, r1, ip
57452 mov r0, r0, asl #1
57453 ldrh r2, [r0, r7]
57454 mul lr, ip, lr
57455 ldr r3, .L18134+4
57456 orr r2, r2, r2, asl #16
57457 ldr r1, [sp, #8]
57458 and r3, r2, r3
57459 mla r1, r3, r1, lr
57460 ldr r2, .L18134+20
57461 mov r1, r1, lsr #4
57462 and r2, r1, r2
57463 cmp r2, #0
57464 beq .L18111
57465 tst r1, #134217728
57466 orrne r1, r1, #132120576
57467 tst r1, #65536
57468 orrne r1, r1, #63488
57469 tst r1, #32
57470 orrne r1, r1, #31
57471.L18111:
57472 ldr r3, .L18134+4
57473 and r3, r1, r3
57474 orr r3, r3, r3, lsr #16
57475 strh r3, [r4, #0] @ movhi
57476 b .L18118
57477.L18135:
57478 .align 2
57479.L18134:
57480 .word io_registers
57481 .word 132184095
57482 .word palette_ram_converted
57483 .word 67109376
57484 .word 1022
57485 .word 134283296
57486 .size expand_brighten_partial_alpha, .-expand_brighten_partial_alpha
57487 .align 2
57488 .global render_scanline_bitmap
57489 .type render_scanline_bitmap, %function
57490render_scanline_bitmap:
57491 @ args = 0, pretend = 0, frame = 0
57492 @ frame_needed = 0, uses_anonymous_args = 0
57493 ldr r3, .L18153
57494 and r2, r1, #7
57495 ldrh ip, [r3, #0]
57496 ldr r3, .L18153+4
57497 stmfd sp!, {r4, r5, r6, r7, r8, sl, lr}
57498 add sl, r3, r2, asl #2
57499 mov r4, r0
57500 mov r3, #0
57501.L18137:
57502 strh ip, [r3, r4] @ movhi
57503 add r3, r3, #2
57504 cmp r3, #480
57505 bne .L18137
57506 ldr r8, .L18153+8
57507 ldr r3, [r8, #0]
57508 cmp r3, #0
57509 ldmeqfd sp!, {r4, r5, r6, r7, r8, sl, pc}
57510 ldr r6, .L18153+12
57511 and r7, r1, #64
57512 mov r5, #0
57513 b .L18141
57514.L18152:
57515 bl render_scanline_obj_normal_1D
57516.L18146:
57517 ldr r3, [r8, #0]
57518 add r5, r5, #1
57519 cmp r3, r5
57520 add r6, r6, #4
57521 bls .L18151
57522.L18141:
57523 ldr ip, [r6, #0]
57524 mov r1, #240
57525 ands r0, ip, #4
57526 mov r2, r4
57527 beq .L18142
57528 sub r1, r1, #240
57529 bic ip, ip, #4
57530 cmp r7, r1
57531 mov r2, #240
57532 mov r3, r4
57533 mov r0, ip
57534 bne .L18152
57535 mov r3, r4
57536 mov r0, ip
57537 mov r1, r7
57538 mov r2, #240
57539 bl render_scanline_obj_normal_2D
57540 ldr r3, [r8, #0]
57541 add r5, r5, #1
57542 cmp r3, r5
57543 add r6, r6, #4
57544 bhi .L18141
57545.L18151:
57546 ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc}
57547.L18142:
57548 mov lr, pc
57549 ldr pc, [sl, #0]
57550 b .L18146
57551.L18154:
57552 .align 2
57553.L18153:
57554 .word palette_ram_converted
57555 .word bitmap_mode_renderers-12
57556 .word layer_count
57557 .word layer_order
57558 .size render_scanline_bitmap, .-render_scanline_bitmap
57559 .align 2
57560 .global render_scanline_conditional_bitmap
57561 .type render_scanline_conditional_bitmap, %function
57562render_scanline_conditional_bitmap:
57563 @ args = 12, pretend = 0, frame = 4
57564 @ frame_needed = 0, uses_anonymous_args = 0
57565 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
57566 mov ip, r3
57567 ldr r3, .L18173
57568 cmp r0, r1
57569 mov r6, r0
57570 sub sp, sp, #4
57571 mov r7, r1
57572 mov r8, r2
57573 ldrh r0, [r3, #0]
57574 bcs .L18156
57575 add r2, r2, r6, asl #1
57576 mov r3, #0
57577 rsb r1, r6, r1
57578.L18158:
57579 add r3, r3, #1
57580 cmp r1, r3
57581 strh r0, [r2], #2 @ movhi
57582 bne .L18158
57583.L18156:
57584 ldr fp, .L18173+4
57585 ldr r3, [fp, #0]
57586 cmp r3, #0
57587 beq .L18169
57588 ldr r3, [sp, #40]
57589 ldr r5, .L18173+8
57590 and r3, r3, #64
57591 and r9, ip, #16
57592 and sl, ip, #4
57593 mov r4, #0
57594 str r3, [sp, #0]
57595 b .L18161
57596.L18172:
57597 cmp r9, #0
57598 bic ip, r0, #4
57599 beq .L18164
57600 ldr lr, [sp, #0]
57601 mov r0, ip
57602 cmp lr, #0
57603 mov r1, r6
57604 mov r2, r7
57605 mov r3, r8
57606 beq .L18166
57607 bl render_scanline_obj_normal_1D
57608.L18164:
57609 ldr r3, [fp, #0]
57610 add r4, r4, #1
57611 cmp r3, r4
57612 add r5, r5, #4
57613 bls .L18169
57614.L18161:
57615 ldr r0, [r5, #0]
57616 tst r0, #4
57617 bne .L18172
57618 cmp sl, #0
57619 mov r0, r6
57620 mov r1, r7
57621 mov r2, r8
57622 beq .L18164
57623 ldr r3, [sp, #48]
57624 mov lr, pc
57625 ldr pc, [r3, #0]
57626 ldr r3, [fp, #0]
57627 add r4, r4, #1
57628 cmp r3, r4
57629 add r5, r5, #4
57630 bhi .L18161
57631.L18169:
57632 add sp, sp, #4
57633 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
57634.L18166:
57635 mov r0, ip
57636 mov r1, r6
57637 mov r2, r7
57638 mov r3, r8
57639 bl render_scanline_obj_normal_2D
57640 b .L18164
57641.L18174:
57642 .align 2
57643.L18173:
57644 .word palette_ram_converted
57645 .word layer_count
57646 .word layer_order
57647 .size render_scanline_conditional_bitmap, .-render_scanline_conditional_bitmap
57648 .align 2
57649 .global set_gba_resolution
57650 .type set_gba_resolution, %function
57651set_gba_resolution:
57652 @ args = 0, pretend = 0, frame = 0
57653 @ frame_needed = 0, uses_anonymous_args = 0
57654 @ link register save eliminated.
57655 ldr r2, .L18180
57656 @ lr needed for prologue
57657 ldr r3, [r2, #0]
57658 cmp r3, r0
57659 bxeq lr
57660 cmp r0, #2
57661 str r0, [r2, #0]
57662 bxhi lr
57663 ldr r3, .L18180+4
57664 mov r2, #240
57665 str r2, [r3, #0]
57666 ldr r3, .L18180+8
57667 mov r1, #160
57668 str r1, [r3, #0]
57669 bx lr
57670.L18181:
57671 .align 2
57672.L18180:
57673 .word screen_scale
57674 .word small_resolution_width
57675 .word small_resolution_height
57676 .size set_gba_resolution, .-set_gba_resolution
57677 .align 2
57678 .global clear_screen
57679 .type clear_screen, %function
57680clear_screen:
57681 @ args = 0, pretend = 0, frame = 0
57682 @ frame_needed = 0, uses_anonymous_args = 0
57683 ldr r3, .L18192
57684 stmfd sp!, {r4, lr}
57685 ldr r2, [r3, #0]
57686 mov r0, r0, asl #16
57687 ldrh r3, [r2, #16]
57688 ldr r1, [r2, #8]
57689 ldr r4, [r2, #12]
57690 rsb ip, r1, r3, lsr #1
57691 ldr r3, [r2, #20]
57692 cmp r4, #0
57693 movne lr, ip, asl #1
57694 mov r0, r0, lsr #16
57695 movne r2, r3
57696 movne ip, #0
57697 ldmeqfd sp!, {r4, pc}
57698.L18185:
57699 cmp r1, #0
57700 movne r3, #0
57701 beq .L18188
57702.L18187:
57703 add r3, r3, #1
57704 cmp r1, r3
57705 strh r0, [r2], #2 @ movhi
57706 bhi .L18187
57707.L18188:
57708 add ip, ip, #1
57709 cmp r4, ip
57710 ldmlsfd sp!, {r4, pc}
57711 add r2, r2, lr
57712 b .L18185
57713.L18193:
57714 .align 2
57715.L18192:
57716 .word screen
57717 .size clear_screen, .-clear_screen
57718 .align 2
57719 .global blit_to_screen
57720 .type blit_to_screen, %function
57721blit_to_screen:
57722 @ args = 4, pretend = 0, frame = 0
57723 @ frame_needed = 0, uses_anonymous_args = 0
57724 stmfd sp!, {r4, r5, r6, r7, r8, lr}
57725 mov r4, r1
57726 ldr r1, .L18206
57727 subs r7, r2, #0
57728 ldr ip, [r1, #0]
57729 mov lr, r3
57730 ldrh r2, [ip, #16]
57731 ldr ip, [ip, #20]
57732 mov r2, r2, lsr #1
57733 rsb r1, r4, r2
57734 ldmeqfd sp!, {r4, r5, r6, r7, r8, pc}
57735 ldr r3, [sp, #24]
57736 mov r6, r1, asl #1
57737 mla r2, r3, r2, lr
57738 mov r5, r4, asl #1
57739 add r2, ip, r2, asl #1
57740 mov r3, #0
57741.L18197:
57742 cmp r4, #0
57743 movne lr, r2
57744 movne ip, r0
57745 movne r1, #0
57746 beq .L18201
57747.L18199:
57748 add r1, r1, #1
57749 ldrh r8, [ip], #2
57750 cmp r4, r1
57751 strh r8, [lr], #2 @ movhi
57752 bne .L18199
57753 add r2, r2, r5
57754 add r0, r0, r5
57755.L18201:
57756 add r3, r3, #1
57757 cmp r7, r3
57758 ldmeqfd sp!, {r4, r5, r6, r7, r8, pc}
57759 add r2, r2, r6
57760 b .L18197
57761.L18207:
57762 .align 2
57763.L18206:
57764 .word screen
57765 .size blit_to_screen, .-blit_to_screen
57766 .align 2
57767 .global print_string_ext
57768 .type print_string_ext, %function
57769print_string_ext:
57770 @ args = 16, pretend = 0, frame = 12
57771 @ frame_needed = 0, uses_anonymous_args = 0
57772 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
57773 ldr ip, .L18247
57774 sub sp, sp, #12
57775 ldr sl, [sp, #48]
57776 ldr r4, [ip, #0]
57777 add lr, sl, #10
57778 cmp lr, r4
57779 mov r1, r1, asl #16
57780 mov r2, r2, asl #16
57781 mov fp, r0
57782 mov r9, r3
57783 mov r4, r1, lsr #16
57784 mov lr, r2, lsr #16
57785 ldrb ip, [r0, #0] @ zero_extendqisi2
57786 bcs .L18240
57787 cmp ip, #0
57788 beq .L18240
57789 ldr r2, .L18247+4
57790 ldr r0, [sp, #56]
57791 ldr r2, [r2, #0]
57792 ldr r3, .L18247+8
57793 mla r0, sl, r0, r9
57794 ldr r3, [r3, #0]
57795 str r2, [sp, #0]
57796 ldr r2, [sp, #56]
57797 str r3, [sp, #8]
57798 add r1, r2, r2, asl #2
57799 ldr r3, [sp, #52]
57800 mov r1, r1, asl #2
57801 str r1, [sp, #4]
57802 add r6, r3, r0, asl #1
57803 mov r1, r2, asl #1
57804 mov r5, r9
57805 mov r7, #0
57806 mov r8, #1
57807.L18212:
57808 cmp ip, #10
57809 beq .L18246
57810 ldr r3, .L18247+12
57811 mov r0, r6
57812 ldr r2, [r3, ip, asl #2]
57813 ldr r3, .L18247+16
57814 mov ip, #0
57815 add r2, r3, r2, asl #1
57816.L18216:
57817 ldrh r3, [r2, #0]
57818 add ip, ip, #1
57819 tst r3, #32768
57820 streqh lr, [r0, #0] @ movhi
57821 strneh r4, [r0, #0] @ movhi
57822 tst r3, #16384
57823 streqh lr, [r0, #2] @ movhi
57824 strneh r4, [r0, #2] @ movhi
57825 tst r3, #8192
57826 streqh lr, [r0, #4] @ movhi
57827 strneh r4, [r0, #4] @ movhi
57828 tst r3, #4096
57829 streqh lr, [r0, #6] @ movhi
57830 strneh r4, [r0, #6] @ movhi
57831 tst r3, #2048
57832 streqh lr, [r0, #8] @ movhi
57833 strneh r4, [r0, #8] @ movhi
57834 tst r3, #1024
57835 strneh r4, [r0, #10] @ movhi
57836 streqh lr, [r0, #10] @ movhi
57837 cmp ip, #10
57838 add r0, r0, r1
57839 add r2, r2, #2
57840 bne .L18216
57841 add r3, r1, r6
57842 add r2, r1, r1, asl #3
57843 add r3, r3, r2
57844 ldr r2, [sp, #4]
57845 add r5, r5, #6
57846 rsb r3, r2, r3
57847 add r6, r3, #12
57848.L18215:
57849 ldrb ip, [fp, r8] @ zero_extendqisi2
57850 ldr r0, [sp, #60]
57851 add r7, r7, #1
57852 cmp r7, r0
57853 movcs r3, #0
57854 movcc r3, #1
57855 cmp ip, #0
57856 movne r3, #0
57857 ldr r2, [sp, #8]
57858 cmp r3, #0
57859 add r3, r5, #6
57860 movne ip, #32
57861 addeq r8, r8, #1
57862 cmp r3, r2
57863 bcs .L18240
57864 cmp ip, #0
57865 bne .L18212
57866.L18240:
57867 add sp, sp, #12
57868 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
57869.L18246:
57870 ldr r2, [sp, #56]
57871 add sl, sl, #10
57872 mla r2, sl, r2, r9
57873 ldr r0, [sp, #0]
57874 mov r5, r9
57875 ldr r3, [r0, #20]
57876 add r6, r3, r2, asl #1
57877 b .L18215
57878.L18248:
57879 .align 2
57880.L18247:
57881 .word resolution_height
57882 .word screen
57883 .word resolution_width
57884 .word _font_offset
57885 .word _font_bits
57886 .size print_string_ext, .-print_string_ext
57887 .align 2
57888 .global debug_screen_clear
57889 .type debug_screen_clear, %function
57890debug_screen_clear:
57891 @ args = 0, pretend = 0, frame = 0
57892 @ frame_needed = 0, uses_anonymous_args = 0
57893 @ link register save eliminated.
57894 @ lr needed for prologue
57895 bx lr
57896 .size debug_screen_clear, .-debug_screen_clear
57897 .align 2
57898 .global debug_screen_start
57899 .type debug_screen_start, %function
57900debug_screen_start:
57901 @ args = 0, pretend = 0, frame = 0
57902 @ frame_needed = 0, uses_anonymous_args = 0
57903 @ link register save eliminated.
57904 @ lr needed for prologue
57905 bx lr
57906 .size debug_screen_start, .-debug_screen_start
57907 .align 2
57908 .global debug_screen_end
57909 .type debug_screen_end, %function
57910debug_screen_end:
57911 @ args = 0, pretend = 0, frame = 0
57912 @ frame_needed = 0, uses_anonymous_args = 0
57913 @ link register save eliminated.
57914 @ lr needed for prologue
57915 bx lr
57916 .size debug_screen_end, .-debug_screen_end
57917 .align 2
57918 .global debug_screen_update
57919 .type debug_screen_update, %function
57920debug_screen_update:
57921 @ args = 0, pretend = 0, frame = 0
57922 @ frame_needed = 0, uses_anonymous_args = 0
57923 @ link register save eliminated.
57924 @ lr needed for prologue
57925 bx lr
57926 .size debug_screen_update, .-debug_screen_update
57927 .align 2
57928 .global video_write_mem_savestate
57929 .type video_write_mem_savestate, %function
57930video_write_mem_savestate:
57931 @ args = 0, pretend = 0, frame = 0
57932 @ frame_needed = 0, uses_anonymous_args = 0
57933 stmfd sp!, {r4, lr}
57934 ldr r4, .L18259
57935 ldr r1, .L18259+4
57936 mov r2, #8
57937 ldr r0, [r4, #0]
57938 bl memcpy
57939 ldr r3, [r4, #0]
57940 ldr r1, .L18259+8
57941 add r3, r3, #8
57942 mov r0, r3
57943 mov r2, #8
57944 str r3, [r4, #0]
57945 bl memcpy
57946 ldr r3, [r4, #0]
57947 add r3, r3, #8
57948 str r3, [r4, #0]
57949 ldmfd sp!, {r4, pc}
57950.L18260:
57951 .align 2
57952.L18259:
57953 .word write_mem_ptr
57954 .word affine_reference_x
57955 .word affine_reference_y
57956 .size video_write_mem_savestate, .-video_write_mem_savestate
57957 .align 2
57958 .global video_read_savestate
57959 .type video_read_savestate, %function
57960video_read_savestate:
57961 @ args = 0, pretend = 0, frame = 0
57962 @ frame_needed = 0, uses_anonymous_args = 0
57963 stmfd sp!, {r4, lr}
57964 mov r3, r0
57965 mov r4, r0
57966 mov r1, #8
57967 mov r2, #1
57968 ldr r0, .L18263
57969 bl fread
57970 ldr r0, .L18263+4
57971 mov r3, r4
57972 mov r1, #8
57973 mov r2, #1
57974 ldmfd sp!, {r4, lr}
57975 b fread
57976.L18264:
57977 .align 2
57978.L18263:
57979 .word affine_reference_x
57980 .word affine_reference_y
57981 .size video_read_savestate, .-video_read_savestate
57982 .section .rodata.str1.4,"aMS",%progbits,1
57983 .align 2
57984.LC0:
57985 .ascii "\012\000"
57986 .text
57987 .align 2
57988 .global debug_screen_newline
57989 .type debug_screen_newline, %function
57990debug_screen_newline:
57991 @ args = 0, pretend = 0, frame = 0
57992 @ frame_needed = 0, uses_anonymous_args = 0
57993 @ link register save eliminated.
57994 ldr r3, .L18267
57995 ldr r1, .L18267+4
57996 ldr r0, [r3, #0]
57997 @ lr needed for prologue
57998 b fprintf
57999.L18268:
58000 .align 2
58001.L18267:
58002 .word stderr
58003 .word .LC0
58004 .size debug_screen_newline, .-debug_screen_newline
58005 .align 2
58006 .global debug_screen_printf
58007 .type debug_screen_printf, %function
58008debug_screen_printf:
58009 @ args = 4, pretend = 16, frame = 4
58010 @ frame_needed = 0, uses_anonymous_args = 1
58011 stmfd sp!, {r0, r1, r2, r3}
58012 str lr, [sp, #-4]!
58013 ldr r3, .L18271
58014 sub sp, sp, #4
58015 add ip, sp, #12
58016 ldr r0, [r3, #0]
58017 mov r2, ip
58018 ldr r1, [sp, #8]
58019 str ip, [sp, #0]
58020 bl vfprintf
58021 add sp, sp, #4
58022 ldr lr, [sp], #4
58023 add sp, sp, #16
58024 bx lr
58025.L18272:
58026 .align 2
58027.L18271:
58028 .word stderr
58029 .size debug_screen_printf, .-debug_screen_printf
58030 .align 2
58031 .global debug_screen_printl
58032 .type debug_screen_printl, %function
58033debug_screen_printl:
58034 @ args = 4, pretend = 16, frame = 4
58035 @ frame_needed = 0, uses_anonymous_args = 1
58036 stmfd sp!, {r0, r1, r2, r3}
58037 str lr, [sp, #-4]!
58038 sub sp, sp, #4
58039 add r3, sp, #12
58040 ldr r0, [sp, #8]
58041 mov r1, r3
58042 str r3, [sp, #0]
58043 bl debug_screen_printf
58044 ldr r0, .L18275
58045 bl debug_screen_printf
58046 add sp, sp, #4
58047 ldr lr, [sp], #4
58048 add sp, sp, #16
58049 bx lr
58050.L18276:
58051 .align 2
58052.L18275:
58053 .word .LC0
58054 .size debug_screen_printl, .-debug_screen_printl
58055 .align 2
58056 .global copy_screen
58057 .type copy_screen, %function
58058copy_screen:
58059 @ args = 0, pretend = 0, frame = 0
58060 @ frame_needed = 0, uses_anonymous_args = 0
58061 stmfd sp!, {r4, lr}
58062 mov r0, #76800
58063 bl malloc
58064 ldr r3, .L18279
58065 mov r2, #76800
58066 ldr ip, [r3, #0]
58067 mov r4, r0
58068 ldr r1, [ip, #20]
58069 bl memcpy
58070 mov r0, r4
58071 ldmfd sp!, {r4, pc}
58072.L18280:
58073 .align 2
58074.L18279:
58075 .word screen
58076 .size copy_screen, .-copy_screen
58077 .align 2
58078 .global video_resolution_small
58079 .type video_resolution_small, %function
58080video_resolution_small:
58081 @ args = 0, pretend = 0, frame = 0
58082 @ frame_needed = 0, uses_anonymous_args = 0
58083 stmfd sp!, {r4, r5, r6, r7, lr}
58084 ldr r4, .L18286
58085 ldr r3, .L18286+4
58086 ldr r2, [r4, #0]
58087 ldr r7, .L18286+8
58088 sub sp, sp, #16
58089 str r2, [r3, #0]
58090 ldr r0, [r7, #0]
58091 bl SDL_FreeSurface
58092 mov r0, #0
58093 mov r1, r0
58094 bl SDL_GP2X_AllowGfxMemory
58095 ldr r3, [r4, #0]
58096 ldr r6, .L18286+12
58097 ldr r5, .L18286+16
58098 cmp r3, #0
58099 mov r1, #320
58100 mov r0, r1
58101 mov r2, #16
58102 ldrne r1, [r5, #0]
58103 ldrne r0, [r6, #0]
58104 mov r3, #1
58105 bl SDL_SetVideoMode
58106 ldr r3, .L18286+20
58107 ldr ip, .L18286+24
58108 str r0, [r3, #0]
58109 ldr r1, [r6, #0]
58110 ldr r2, [r5, #0]
58111 mov r3, #16
58112 mov r4, #0
58113 mov r0, #1
58114 str ip, [sp, #8]
58115 str ip, [sp, #0]
58116 str ip, [sp, #4]
58117 str r4, [sp, #12]
58118 bl SDL_CreateRGBSurface
58119 str r0, [r7, #0]
58120 mov r0, r4
58121 bl SDL_ShowCursor
58122 bl gp2x_load_mmuhack
58123 ldr r1, [r6, #0]
58124 ldr r0, [r5, #0]
58125 ldr r3, .L18286+28
58126 ldr r2, .L18286+32
58127 str r1, [r3, #0]
58128 str r0, [r2, #0]
58129 add sp, sp, #16
58130 ldmfd sp!, {r4, r5, r6, r7, pc}
58131.L18287:
58132 .align 2
58133.L18286:
58134 .word screen_scale
58135 .word current_scale
58136 .word screen
58137 .word small_resolution_width
58138 .word small_resolution_height
58139 .word hw_screen
58140 .word 65535
58141 .word resolution_width
58142 .word resolution_height
58143 .size video_resolution_small, .-video_resolution_small
58144 .align 2
58145 .global video_resolution_large
58146 .type video_resolution_large, %function
58147video_resolution_large:
58148 @ args = 0, pretend = 0, frame = 0
58149 @ frame_needed = 0, uses_anonymous_args = 0
58150 stmfd sp!, {r4, r5, lr}
58151 ldr r3, .L18290
58152 ldr r5, .L18290+4
58153 mov r4, #0
58154 sub sp, sp, #16
58155 str r4, [r3, #0]
58156 ldr r0, [r5, #0]
58157 bl SDL_FreeSurface
58158 mov r0, r4
58159 mov r1, r4
58160 bl SDL_GP2X_AllowGfxMemory
58161 mov r1, #240
58162 mov r2, #16
58163 mov r3, #1
58164 mov r0, #320
58165 bl SDL_SetVideoMode
58166 ldr r3, .L18290+8
58167 ldr ip, .L18290+12
58168 str r0, [r3, #0]
58169 mov r1, #320
58170 mov r2, #240
58171 mov r3, #16
58172 mov r0, #1
58173 str ip, [sp, #8]
58174 str ip, [sp, #0]
58175 str ip, [sp, #4]
58176 str r4, [sp, #12]
58177 bl SDL_CreateRGBSurface
58178 ldr r3, .L18290+16
58179 mov r2, #320
58180 str r2, [r3, #0]
58181 ldr r3, .L18290+20
58182 mov r1, #240
58183 str r0, [r5, #0]
58184 str r1, [r3, #0]
58185 mov r0, r4
58186 bl SDL_ShowCursor
58187 add sp, sp, #16
58188 ldmfd sp!, {r4, r5, lr}
58189 b gp2x_load_mmuhack
58190.L18291:
58191 .align 2
58192.L18290:
58193 .word current_scale
58194 .word screen
58195 .word hw_screen
58196 .word 65535
58197 .word resolution_width
58198 .word resolution_height
58199 .size video_resolution_large, .-video_resolution_large
58200 .align 2
58201 .global init_video
58202 .type init_video, %function
58203init_video:
58204 @ args = 0, pretend = 0, frame = 0
58205 @ frame_needed = 0, uses_anonymous_args = 0
58206 stmfd sp!, {r4, lr}
58207 ldr r0, .L18294
58208 sub sp, sp, #16
58209 bl SDL_Init
58210 mov r0, #0
58211 mov r1, r0
58212 bl SDL_GP2X_AllowGfxMemory
58213 mov r1, #240
58214 mov r2, #16
58215 mov r3, #1
58216 mov r0, #320
58217 bl SDL_SetVideoMode
58218 ldr r3, .L18294+4
58219 ldr ip, .L18294+8
58220 str r0, [r3, #0]
58221 mov r4, #0
58222 mov r1, #240
58223 mov r2, #160
58224 mov r3, #16
58225 mov r0, #1
58226 str ip, [sp, #8]
58227 str ip, [sp, #0]
58228 str ip, [sp, #4]
58229 str r4, [sp, #12]
58230 bl SDL_CreateRGBSurface
58231 ldr r3, .L18294+12
58232 str r0, [r3, #0]
58233 bl gp2x_load_mmuhack
58234 mov r0, r4
58235 add sp, sp, #16
58236 ldmfd sp!, {r4, lr}
58237 b SDL_ShowCursor
58238.L18295:
58239 .align 2
58240.L18294:
58241 .word 1049120
58242 .word hw_screen
58243 .word 65535
58244 .word screen
58245 .size init_video, .-init_video
58246 .align 2
58247 .global flip_screen
58248 .type flip_screen, %function
58249flip_screen:
58250 @ args = 0, pretend = 0, frame = 16
58251 @ frame_needed = 0, uses_anonymous_args = 0
58252 stmfd sp!, {r4, r5, r6, lr}
58253 ldr r2, .L18304
58254 mov r1, #0
58255 ldr r0, [r2, #0]
58256 sub sp, sp, #16
58257 cmp r0, r1
58258 mov r3, r1
58259 bne .L18297
58260 ldr r2, .L18304+4
58261 ldr r0, .L18304+8
58262 ldr ip, [r2, #0]
58263 ldr r2, [r0, #0]
58264 cmp ip, r2
58265 beq .L18303
58266.L18297:
58267 ldr r2, .L18304+12
58268 ldr ip, .L18304+16
58269 ldr r0, [r2, #0]
58270 ldr r2, [ip, #0]
58271 bl SDL_UpperBlit
58272.L18302:
58273 add sp, sp, #16
58274 ldmfd sp!, {r4, r5, r6, pc}
58275.L18303:
58276 ldr r2, .L18304+20
58277 ldr r0, .L18304+24
58278 ldr ip, [r2, #0]
58279 ldr r2, [r0, #0]
58280 cmp ip, r2
58281 bne .L18297
58282 ldr ip, .L18304+28
58283 ldr r3, .L18304+12
58284 ldr r1, .L18304+16
58285 ldmia ip, {r4-r5}
58286 str r4, [sp, #8]
58287 str r5, [sp, #12]
58288 ldr r4, .L18304+32
58289 ldr r2, [r1, #0]
58290 ldr r0, [r3, #0]
58291 add r1, sp, #8
58292 mov r3, sp
58293 ldmia r4, {r5-r6}
58294 stmia sp, {r5-r6}
58295 bl SDL_UpperBlit
58296 b .L18302
58297.L18305:
58298 .align 2
58299.L18304:
58300 .word screen_scale
58301 .word resolution_width
58302 .word small_resolution_width
58303 .word screen
58304 .word hw_screen
58305 .word resolution_height
58306 .word small_resolution_height
58307 .word C.626.17650
58308 .word C.627.17651
58309 .size flip_screen, .-flip_screen
58310 .align 2
58311 .global update_screen
58312 .type update_screen, %function
58313update_screen:
58314 @ args = 0, pretend = 0, frame = 16
58315 @ frame_needed = 0, uses_anonymous_args = 0
58316 stmfd sp!, {r4, r5, r6, lr}
58317 ldr r2, .L18315
58318 mov r1, #0
58319 ldr r0, [r2, #0]
58320 sub sp, sp, #16
58321 cmp r0, r1
58322 mov r3, r1
58323 bne .L18313
58324 ldr r2, .L18315+4
58325 ldr r0, [r2, #0]
58326 cmp r0, r1
58327 bne .L18309
58328 ldr r2, .L18315+8
58329 ldr r0, .L18315+12
58330 ldr ip, [r2, #0]
58331 ldr r2, [r0, #0]
58332 cmp ip, r2
58333 beq .L18314
58334.L18309:
58335 ldr r2, .L18315+16
58336 ldr ip, .L18315+20
58337 ldr r0, [r2, #0]
58338 ldr r2, [ip, #0]
58339 bl SDL_UpperBlit
58340.L18313:
58341 add sp, sp, #16
58342 ldmfd sp!, {r4, r5, r6, pc}
58343.L18314:
58344 ldr r2, .L18315+24
58345 ldr r0, .L18315+28
58346 ldr ip, [r2, #0]
58347 ldr r2, [r0, #0]
58348 cmp ip, r2
58349 bne .L18309
58350 ldr ip, .L18315+32
58351 ldr r3, .L18315+16
58352 ldr r1, .L18315+20
58353 ldmia ip, {r4-r5}
58354 str r4, [sp, #8]
58355 str r5, [sp, #12]
58356 ldr r4, .L18315+36
58357 ldr r2, [r1, #0]
58358 ldr r0, [r3, #0]
58359 add r1, sp, #8
58360 mov r3, sp
58361 ldmia r4, {r5-r6}
58362 stmia sp, {r5-r6}
58363 bl SDL_UpperBlit
58364 b .L18313
58365.L18316:
58366 .align 2
58367.L18315:
58368 .word skip_next_frame
58369 .word screen_scale
58370 .word resolution_width
58371 .word small_resolution_width
58372 .word screen
58373 .word hw_screen
58374 .word resolution_height
58375 .word small_resolution_height
58376 .word C.626.17650
58377 .word C.627.17651
58378 .size update_screen, .-update_screen
58379 .align 2
58380 .global render_scanline_conditional_tile
58381 .type render_scanline_conditional_tile, %function
58382render_scanline_conditional_tile:
58383 @ args = 12, pretend = 0, frame = 976
58384 @ frame_needed = 0, uses_anonymous_args = 0
58385 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
58386 ldr r9, .L18810
58387 sub sp, sp, #976
58388 ldr lr, [r9, #0]
58389 mov r6, r0
58390 cmp lr, #0
58391 mov r8, r1
58392 mov sl, r2
58393 mov r7, r3
58394 ldr fp, [sp, #1012]
58395 ldr r0, [sp, #1016]
58396 beq .L18318
58397 tst r3, #31
58398 bne .L18774
58399.L18318:
58400 mov r3, r0, lsr #6
58401 and r2, r3, #3
58402 ldr r3, .L18810+4
58403 cmp r2, #2
58404 ldrh ip, [r3, #0]
58405 beq .L18660
58406 cmp r2, #3
58407 beq .L18775
58408.L18659:
58409 mov r3, ip, asl #16
58410 cmp r6, r8
58411 mov r3, r3, lsr #16
58412 bcs .L18666
58413 rsb r1, r6, r8
58414 add r0, sl, r6, asl #1
58415 mov ip, #0
58416.L18665:
58417 add ip, ip, #1
58418 cmp ip, r1
58419 strh r3, [r0], #2 @ movhi
58420 bne .L18665
58421.L18666:
58422 add sp, sp, #976
58423 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
58424.L18774:
58425 ldr r1, .L18810+8
58426 ldr r2, .L18810+12
58427 ldrh r3, [r1, #6]
58428 ldr r1, [r2, r3, asl #2]
58429 cmp r1, #0
58430 bne .L18776
58431.L18454:
58432 mov r3, r0, lsr #6
58433 and r3, r3, #3
58434 cmp r3, #2
58435 beq .L18488
58436 cmp r3, #3
58437 beq .L18489
58438 cmp r3, #1
58439 beq .L18777
58440.L18486:
58441 ldr r1, .L18810+24
58442 ands r3, r7, #16
58443 ldr ip, [r1, #0]
58444 moveq r4, r3
58445 ldreq r2, .L18810+24
58446 beq .L18626
58447 ldr r2, .L18810+24
58448 mov r4, #0
58449.L18638:
58450 tst ip, #4
58451 mov r3, #1
58452 bne .L18642
58453 ands r5, r7, r3, asl ip
58454 bne .L18778
58455 add r4, r4, #1
58456 cmp lr, r4
58457 ldr ip, [r2, #4]!
58458 bne .L18638
58459 ldr r3, .L18810+4
58460 cmp r6, r8
58461 ldrh r3, [r3, #0]
58462 bcs .L18666
58463 rsb r1, r6, r8
58464 add r0, sl, r6, asl #1
58465 mov ip, r5
58466.L18641:
58467 add ip, ip, #1
58468 cmp ip, r1
58469 strh r3, [r0], #2 @ movhi
58470 bne .L18641
58471 b .L18666
58472.L18660:
58473 ldr r2, .L18810+8
58474 ldrh r3, [r2, #80]
58475 tst r3, #32
58476 beq .L18659
58477 ldrh r3, [r2, #84]
58478 ldr r1, .L18810+16
58479 and r3, r3, #31
58480 cmp r3, #16
58481 movcs r3, #16
58482 orr r2, ip, ip, asl #16
58483 and r1, r2, r1
58484 rsb r0, r3, #16
58485 rsb r2, r3, r3, asl #6
58486 mul ip, r1, r0
58487 add r3, r3, r2, asl #5
58488 rsb r3, r3, r3, asl #16
58489 ldr r1, .L18810+16
58490 mov r3, r3, lsr #4
58491 and r1, r3, r1
58492 ldr r2, .L18810+16
58493 add r1, r1, ip, lsr #4
58494 and r2, r1, r2
58495 orr ip, r2, r2, lsr #16
58496 b .L18659
58497.L18775:
58498 ldr r2, .L18810+8
58499 ldrh r3, [r2, #80]
58500 tst r3, #32
58501 beq .L18659
58502 ldrh r3, [r2, #84]
58503 ldr r0, .L18810+16
58504 and r3, r3, #31
58505 orr r2, ip, ip, asl #16
58506 rsb r3, r3, #16
58507 and r0, r2, r0
58508 cmp r3, #0
58509 movlt r3, #0
58510 mul r1, r3, r0
58511 ldr r2, .L18810+16
58512 mov r1, r1, lsr #4
58513 and r2, r1, r2
58514 orr ip, r2, r2, lsr #16
58515 b .L18659
58516.L18776:
58517 mov r3, r0, lsr #6
58518 and r3, r3, #3
58519 cmp r3, #2
58520 beq .L18325
58521 cmp r3, #3
58522 beq .L18326
58523 cmp r3, #1
58524 beq .L18779
58525.L18323:
58526 ldr r5, .L18810+24
58527 ands r3, r7, #16
58528 ldr r2, [r5, #0]
58529 moveq r4, r3
58530 ldreq r1, .L18810+24
58531 beq .L18452
58532 ldr r1, .L18810+24
58533 mov r4, #0
58534.L18465:
58535 tst r2, #4
58536 mov r3, #1
58537 bne .L18780
58538 ands r3, r7, r3, asl r2
58539 bne .L18781
58540 add r4, r4, #1
58541 cmp lr, r4
58542 ldr r2, [r1, #4]!
58543 bne .L18465
58544 cmp r6, r8
58545 bcs .L18499
58546 add r5, sp, #16
58547 add r2, r5, r6, asl #2
58548 rsb r1, r6, r8
58549 mov r0, r3
58550.L18468:
58551 add r3, r3, #1
58552 cmp r1, r3
58553 str r0, [r2], #4
58554 bne .L18468
58555.L18499:
58556 add r0, sp, #16
58557 mov r1, sl
58558 mov r2, r6
58559 mov r3, r8
58560 bl expand_blend
58561 b .L18666
58562.L18452:
58563 tst r2, #4
58564 bne .L18451
58565 mov r3, #1
58566 ands r3, r7, r3, asl r2
58567 bne .L18782
58568.L18451:
58569 add r4, r4, #1
58570 cmp lr, r4
58571 ldr r2, [r1, #4]!
58572 bne .L18452
58573 cmp r6, r8
58574 bcs .L18499
58575 add r0, sp, #16
58576 mov r3, #0
58577 add r2, r0, r6, asl #2
58578 rsb r1, r6, r8
58579 mov r0, r3
58580.L18456:
58581 add r3, r3, #1
58582 cmp r3, r1
58583 str r0, [r2], #4
58584 bne .L18456
58585 b .L18499
58586.L18626:
58587 tst ip, #4
58588 bne .L18625
58589 mov r3, #1
58590 ands r3, r7, r3, asl ip
58591 bne .L18783
58592.L18625:
58593 add r4, r4, #1
58594 cmp lr, r4
58595 ldr ip, [r2, #4]!
58596 bne .L18626
58597 ldr r3, .L18810+4
58598 cmp r6, r8
58599 ldrh r3, [r3, #0]
58600 bcs .L18666
58601 rsb r1, r6, r8
58602 add r0, sl, r6, asl #1
58603 mov ip, #0
58604.L18629:
58605 add ip, ip, #1
58606 cmp ip, r1
58607 strh r3, [r0], #2 @ movhi
58608 bne .L18629
58609 b .L18666
58610.L18777:
58611 tst r7, #32
58612 beq .L18486
58613 ldr r5, .L18810+8
58614 ldr r3, .L18810+20
58615 ldrh r2, [r5, #82]
58616 and r3, r2, r3
58617 cmp r3, #31
58618 beq .L18486
58619 ldrh r3, [r5, #80]
58620 tst r3, #63
58621 beq .L18486
58622 tst r3, #16128
58623 beq .L18486
58624 ldr r0, .L18810+24
58625 ands r3, r7, #16
58626 ldr r2, [r0, #0]
58627 moveq r4, r3
58628 ldreq r1, .L18810+24
58629 beq .L18497
58630 ldr r1, .L18810+24
58631 mov r5, #0
58632.L18510:
58633 tst r2, #4
58634 mov r3, #1
58635 bne .L18784
58636 ands r3, r7, r3, asl r2
58637 bne .L18785
58638 add r5, r5, #1
58639 cmp lr, r5
58640 ldr r2, [r1, #4]!
58641 bne .L18510
58642 cmp r6, r8
58643 bcs .L18499
58644 add r5, sp, #16
58645 add r2, r5, r6, asl #2
58646 rsb r1, r6, r8
58647 mov r0, r3
58648.L18513:
58649 add r3, r3, #1
58650 cmp r1, r3
58651 str r0, [r2], #4
58652 bne .L18513
58653 b .L18499
58654.L18779:
58655 tst r7, #32
58656 beq .L18323
58657 ldr r3, .L18810+8
58658 ldrh r2, [r3, #82]
58659 ldr r3, .L18810+20
58660 and r3, r2, r3
58661 cmp r3, #31
58662 beq .L18323
58663 ldr r5, .L18810+8
58664 ldrh r3, [r5, #80]
58665 tst r3, #63
58666 beq .L18323
58667 tst r3, #16128
58668 beq .L18323
58669 ldr r0, .L18810+24
58670 ands r3, r7, #16
58671 ldr r2, [r0, #0]
58672 moveq r4, r3
58673 ldreq r1, .L18810+24
58674 beq .L18334
58675 ldr r1, .L18810+24
58676 mov r5, #0
58677.L18347:
58678 tst r2, #4
58679 mov r3, #1
58680 bne .L18786
58681 ands r3, r7, r3, asl r2
58682 bne .L18787
58683 add r5, r5, #1
58684 cmp lr, r5
58685 ldr r2, [r1, #4]!
58686 bne .L18347
58687 cmp r6, r8
58688 bcs .L18499
58689 add r5, sp, #16
58690 add r2, r5, r6, asl #2
58691 rsb r1, r6, r8
58692 mov r0, r3
58693.L18350:
58694 add r3, r3, #1
58695 cmp r3, r1
58696 str r0, [r2], #4
58697 bne .L18350
58698 b .L18499
58699.L18497:
58700 tst r2, #4
58701 bne .L18496
58702 mov r3, #1
58703 ands r3, r7, r3, asl r2
58704 bne .L18788
58705.L18496:
58706 add r4, r4, #1
58707 cmp lr, r4
58708 ldr r2, [r1, #4]!
58709 bne .L18497
58710 cmp r6, r8
58711 bcs .L18499
58712 add r1, sp, #16
58713 mov r3, #0
58714 add r2, r1, r6, asl #2
58715 mov r0, r3
58716 rsb r1, r6, r8
58717.L18501:
58718 add r3, r3, #1
58719 cmp r3, r1
58720 str r0, [r2], #4
58721 bne .L18501
58722 b .L18499
58723.L18334:
58724 tst r2, #4
58725 bne .L18333
58726 mov r3, #1
58727 ands r3, r7, r3, asl r2
58728 bne .L18789
58729.L18333:
58730 add r4, r4, #1
58731 cmp lr, r4
58732 ldr r2, [r1, #4]!
58733 bne .L18334
58734 cmp r6, r8
58735 bcs .L18499
58736 add r1, sp, #16
58737 mov r3, #0
58738 add r2, r1, r6, asl #2
58739 mov r0, r3
58740 rsb r1, r6, r8
58741.L18338:
58742 add r3, r3, #1
58743 cmp r3, r1
58744 str r0, [r2], #4
58745 bne .L18338
58746 b .L18499
58747.L18488:
58748 tst r7, #32
58749 beq .L18486
58750 ldr r5, .L18810+8
58751 ldrh r3, [r5, #84]
58752 tst r3, #31
58753 beq .L18486
58754 ldrh r3, [r5, #80]
58755 tst r3, #63
58756 beq .L18486
58757 ldr r0, .L18810+24
58758 ands r3, r7, #16
58759 ldr r2, [r0, #0]
58760 moveq r4, r3
58761 ldreq r1, .L18810+24
58762 beq .L18537
58763 mov r3, #0
58764 ldr r1, .L18810+24
58765 str r3, [sp, #8]
58766.L18550:
58767 tst r2, #4
58768 mov r3, #1
58769 bne .L18790
58770 ands r3, r7, r3, asl r2
58771 bne .L18791
58772 ldr r2, [sp, #8]
58773 add r2, r2, #1
58774 cmp lr, r2
58775 str r2, [sp, #8]
58776 ldr r2, [r1, #4]!
58777 bne .L18550
58778 cmp r6, r8
58779 bcs .L18679
58780 mov r2, r3
58781 rsb r5, r6, r8
58782 add r3, sl, r6, asl #1
58783.L18553:
58784 add r2, r2, #1
58785 mov r0, #0 @ movhi
58786 cmp r5, r2
58787 strh r0, [r3], #2 @ movhi
58788 bne .L18553
58789.L18539:
58790 ldr r3, .L18810+8
58791 ldr r8, .L18810+16
58792 ldrh r2, [r3, #84]
58793 and r2, r2, #31
58794 cmp r2, #16
58795 movcs r2, #16
58796 rsb r3, r2, r2, asl #6
58797 add r3, r2, r3, asl #5
58798 rsb r3, r3, r3, asl #16
58799 mov r3, r3, lsr #4
58800 cmp r5, #0
58801 and r8, r3, r8
58802 rsb r7, r2, #16
58803 beq .L18666
58804 ldr r9, .L18810+4
58805 add r0, sl, r6, asl #1
58806 mov r4, #0
58807.L18572:
58808 ldrh r3, [r0, #0]
58809 ldr lr, .L18810+16
58810 mov r2, r3, asl #23
58811 mov r2, r2, lsr #23
58812 tst r3, #512
58813 mov r2, r2, asl #1
58814 mov r1, r3, asl #23
58815 ldrneh r3, [r2, r9]
58816 mov ip, lr
58817 orrne r3, r3, r3, asl #16
58818 andne lr, r3, lr
58819 mulne r2, lr, r7
58820 mov r1, r1, lsr #23
58821 mov r1, r1, asl #1
58822 addne r2, r8, r2, lsr #4
58823 andne ip, r2, ip
58824 ldreqh r1, [r1, r9]
58825 orrne r3, ip, ip, lsr #16
58826 add r4, r4, #1
58827 strneh r3, [r0, #0] @ movhi
58828 streqh r1, [r0, #0] @ movhi
58829 cmp r5, r4
58830 add r0, r0, #2
58831 bne .L18572
58832 b .L18666
58833.L18537:
58834 tst r2, #4
58835 bne .L18536
58836 mov r3, #1
58837 ands r3, r7, r3, asl r2
58838 bne .L18792
58839.L18536:
58840 add r4, r4, #1
58841 cmp lr, r4
58842 ldr r2, [r1, #4]!
58843 bne .L18537
58844 cmp r6, r8
58845 bcs .L18679
58846 rsb r5, r6, r8
58847 add r2, sl, r6, asl #1
58848 mov r3, #0
58849.L18541:
58850 add r3, r3, #1
58851 mov r1, #0 @ movhi
58852 cmp r3, r5
58853 strh r1, [r2], #2 @ movhi
58854 bne .L18541
58855 b .L18539
58856.L18336:
58857.L18325:
58858 tst r7, #32
58859 beq .L18323
58860 ldr r5, .L18810+8
58861 ldrh r3, [r5, #84]
58862 tst r3, #31
58863 beq .L18323
58864 ldrh r3, [r5, #80]
58865 tst r3, #63
58866 beq .L18323
58867 ldr r0, .L18810+24
58868 ands r3, r7, #16
58869 ldr r2, [r0, #0]
58870 moveq r4, r3
58871 ldreq r1, .L18810+24
58872 beq .L18375
58873 ldr r1, .L18810+24
58874 mov r5, #0
58875.L18388:
58876 tst r2, #4
58877 mov r3, #1
58878 bne .L18793
58879 ands r3, r7, r3, asl r2
58880 bne .L18794
58881 add r5, r5, #1
58882 cmp lr, r5
58883 ldr r2, [r1, #4]!
58884 bne .L18388
58885 cmp r6, r8
58886 bcs .L18377
58887 add r5, sp, #16
58888 add r2, r5, r6, asl #2
58889 rsb r1, r6, r8
58890 mov r0, r3
58891.L18391:
58892 add r3, r3, #1
58893 cmp r1, r3
58894 str r0, [r2], #4
58895 bne .L18391
58896.L18377:
58897 add r0, sp, #16
58898 mov r1, sl
58899 mov r2, r6
58900 mov r3, r8
58901 bl expand_brighten_partial_alpha
58902 b .L18666
58903.L18375:
58904 tst r2, #4
58905 bne .L18374
58906 mov r3, #1
58907 ands r3, r7, r3, asl r2
58908 bne .L18795
58909.L18374:
58910 add r4, r4, #1
58911 cmp lr, r4
58912 ldr r2, [r1, #4]!
58913 bne .L18375
58914 cmp r6, r8
58915 bcs .L18377
58916 add r1, sp, #16
58917 mov r3, #0
58918 add r2, r1, r6, asl #2
58919 mov r0, r3
58920 rsb r1, r6, r8
58921.L18379:
58922 add r3, r3, #1
58923 cmp r1, r3
58924 str r0, [r2], #4
58925 bne .L18379
58926 b .L18377
58927.L18489:
58928 tst r7, #32
58929 beq .L18486
58930 ldr r5, .L18810+8
58931 ldrh r3, [r5, #84]
58932 tst r3, #31
58933 beq .L18486
58934 ldrh r2, [r5, #80]
58935 tst r2, #63
58936 beq .L18486
58937 ldr r0, .L18810+24
58938 ands r3, r7, #16
58939 ldr r2, [r0, #0]
58940 moveq r4, r3
58941 ldreq r1, .L18810+24
58942 beq .L18583
58943 mov r3, #0
58944 ldr r1, .L18810+24
58945 str r3, [sp, #12]
58946.L18596:
58947 tst r2, #4
58948 mov r3, #1
58949 bne .L18796
58950 ands r3, r7, r3, asl r2
58951 bne .L18797
58952 ldr r2, [sp, #12]
58953 add r2, r2, #1
58954 cmp lr, r2
58955 str r2, [sp, #12]
58956 ldr r2, [r1, #4]!
58957 bne .L18596
58958 cmp r6, r8
58959 bcs .L18682
58960 mov r2, r3
58961 rsb r5, r6, r8
58962 add r3, sl, r6, asl #1
58963.L18599:
58964 add r2, r2, #1
58965 mov r0, #0 @ movhi
58966 cmp r5, r2
58967 strh r0, [r3], #2 @ movhi
58968 bne .L18599
58969.L18585:
58970 ldr r0, .L18810+8
58971 ldrh r3, [r0, #84]
58972 and r3, r3, #31
58973 rsb r3, r3, #16
58974 cmp r3, #0
58975 movge r7, r3
58976 movlt r7, #0
58977 cmp r5, #0
58978 beq .L18666
58979 ldr r8, .L18810+4
58980 add r0, sl, r6, asl #1
58981 mov r4, #0
58982.L18618:
58983 ldrh r3, [r0, #0]
58984 ldr lr, .L18810+16
58985 mov r2, r3, asl #23
58986 mov r2, r2, lsr #23
58987 tst r3, #512
58988 mov r2, r2, asl #1
58989 mov r1, r3, asl #23
58990 ldrneh r3, [r2, r8]
58991 mov ip, lr
58992 orrne r3, r3, r3, asl #16
58993 andne lr, r3, lr
58994 mulne r2, r7, lr
58995 mov r1, r1, lsr #23
58996 mov r1, r1, asl #1
58997 movne r2, r2, lsr #4
58998 andne ip, r2, ip
58999 ldreqh r1, [r1, r8]
59000 orrne r3, ip, ip, lsr #16
59001 add r4, r4, #1
59002 strneh r3, [r0, #0] @ movhi
59003 streqh r1, [r0, #0] @ movhi
59004 cmp r5, r4
59005 add r0, r0, #2
59006 bne .L18618
59007 b .L18666
59008.L18583:
59009 tst r2, #4
59010 bne .L18582
59011 mov r3, #1
59012 ands r3, r7, r3, asl r2
59013 bne .L18798
59014.L18582:
59015 add r4, r4, #1
59016 cmp lr, r4
59017 ldr r2, [r1, #4]!
59018 bne .L18583
59019 cmp r6, r8
59020 bcs .L18682
59021 rsb r5, r6, r8
59022 add r2, sl, r6, asl #1
59023 mov r3, #0
59024.L18587:
59025 add r3, r3, #1
59026 mov r1, #0 @ movhi
59027 cmp r5, r3
59028 strh r1, [r2], #2 @ movhi
59029 bne .L18587
59030 b .L18585
59031.L18326:
59032 tst r7, #32
59033 beq .L18323
59034 ldr r5, .L18810+8
59035 ldrh r3, [r5, #84]
59036 tst r3, #31
59037 beq .L18323
59038 ldrh r3, [r5, #80]
59039 tst r3, #63
59040 beq .L18323
59041 ldr r0, .L18810+24
59042 ands r3, r7, #16
59043 ldr r2, [r0, #0]
59044 moveq r4, r3
59045 ldreq r1, .L18810+24
59046 beq .L18415
59047 ldr r1, .L18810+24
59048 mov r5, #0
59049.L18428:
59050 tst r2, #4
59051 mov r3, #1
59052 bne .L18799
59053 ands r3, r7, r3, asl r2
59054 bne .L18800
59055 add r5, r5, #1
59056 cmp lr, r5
59057 ldr r2, [r1, #4]!
59058 bne .L18428
59059 cmp r6, r8
59060 bcs .L18417
59061 add r5, sp, #16
59062 add r2, r5, r6, asl #2
59063 rsb r1, r6, r8
59064 mov r0, r3
59065.L18431:
59066 add r3, r3, #1
59067 cmp r3, r1
59068 str r0, [r2], #4
59069 bne .L18431
59070.L18417:
59071 add r0, sp, #16
59072 mov r1, sl
59073 mov r2, r6
59074 mov r3, r8
59075 bl expand_darken_partial_alpha
59076 b .L18666
59077.L18415:
59078 tst r2, #4
59079 bne .L18414
59080 mov r3, #1
59081 ands r3, r7, r3, asl r2
59082 bne .L18801
59083.L18414:
59084 add r4, r4, #1
59085 cmp lr, r4
59086 ldr r2, [r1, #4]!
59087 bne .L18415
59088 cmp r6, r8
59089 bcs .L18417
59090 add r1, sp, #16
59091 mov r3, #0
59092 add r2, r1, r6, asl #2
59093 mov r0, r3
59094 rsb r1, r6, r8
59095.L18419:
59096 add r3, r3, #1
59097 cmp r1, r3
59098 str r0, [r2], #4
59099 bne .L18419
59100 b .L18417
59101.L18780:
59102 cmp r6, r8
59103 addcc r0, sp, #16
59104 movcc r3, #0
59105 addcc r1, r0, r6, asl #2
59106 movcc ip, r3
59107 rsbcc r0, r6, r8
59108 bcs .L18472
59109.L18474:
59110 add r3, r3, #1
59111 cmp r3, r0
59112 str ip, [r1], #4
59113 bne .L18474
59114.L18472:
59115 tst fp, #64
59116 bic r0, r2, #4
59117 beq .L18475
59118 mov r1, r6
59119 mov r2, r8
59120 add r3, sp, #16
59121 bl render_scanline_obj_partial_alpha_1D
59122.L18477:
59123 ldr r3, [r9, #0]
59124 add r5, r4, #1
59125 cmp r5, r3
59126 bcs .L18499
59127 ldr r2, .L18810+24
59128 and fp, fp, #64
59129 add r4, r2, r4, asl #2
59130 b .L18479
59131.L18802:
59132 bic ip, ip, #4
59133 cmp fp, #0
59134 mov r1, r6
59135 mov r2, r8
59136 add r3, sp, #16
59137 mov r0, ip
59138 beq .L18482
59139 bl render_scanline_obj_partial_alpha_1D
59140.L18484:
59141 ldr r3, [r9, #0]
59142 add r5, r5, #1
59143 cmp r3, r5
59144 add r4, r4, #4
59145 bls .L18499
59146.L18479:
59147 ldr ip, [r4, #4]
59148 tst ip, #4
59149 bne .L18802
59150 mov r3, #1
59151 ands r3, r7, r3, asl ip
59152 ldr r3, [sp, #1020]
59153 mov r0, ip
59154 mov r1, r6
59155 add ip, r3, ip, asl #5
59156 mov r2, r8
59157 add r3, sp, #16
59158 beq .L18484
59159 mov lr, pc
59160 ldr pc, [ip, #28]
59161 b .L18484
59162.L18482:
59163 mov r0, ip
59164 mov r1, r6
59165 mov r2, r8
59166 add r3, sp, #16
59167 bl render_scanline_obj_partial_alpha_2D
59168 b .L18484
59169.L18642:
59170 ldr r3, .L18810+4
59171 cmp r6, r8
59172 ldrh r0, [r3, #0]
59173 bcs .L18645
59174 add r2, sl, r6, asl #1
59175 mov r3, #0
59176 rsb r1, r6, r8
59177.L18647:
59178 add r3, r3, #1
59179 cmp r3, r1
59180 strh r0, [r2], #2 @ movhi
59181 bne .L18647
59182.L18645:
59183 tst fp, #64
59184 bic r0, ip, #4
59185 beq .L18648
59186 mov r1, r6
59187 mov r2, r8
59188 mov r3, sl
59189 bl render_scanline_obj_normal_1D
59190.L18650:
59191 ldr r3, [r9, #0]
59192 add r5, r4, #1
59193 cmp r5, r3
59194 bcs .L18666
59195 ldr r0, .L18810+24
59196 and fp, fp, #64
59197 add r4, r0, r4, asl #2
59198 b .L18652
59199.L18803:
59200 bic ip, ip, #4
59201 cmp fp, #0
59202 mov r1, r6
59203 mov r2, r8
59204 mov r3, sl
59205 mov r0, ip
59206 beq .L18655
59207 bl render_scanline_obj_normal_1D
59208.L18657:
59209 ldr r3, [r9, #0]
59210 add r5, r5, #1
59211 cmp r3, r5
59212 add r4, r4, #4
59213 bls .L18666
59214.L18652:
59215 ldr ip, [r4, #4]
59216 tst ip, #4
59217 bne .L18803
59218 mov r3, #1
59219 ands r3, r7, r3, asl ip
59220 ldr r1, [sp, #1020]
59221 mov r0, ip
59222 mov r2, r8
59223 add ip, r1, ip, asl #5
59224 mov r3, sl
59225 mov r1, r6
59226 beq .L18657
59227 mov lr, pc
59228 ldr pc, [ip, #4]
59229 b .L18657
59230.L18655:
59231 mov r0, ip
59232 mov r1, r6
59233 mov r2, r8
59234 mov r3, sl
59235 bl render_scanline_obj_normal_2D
59236 b .L18657
59237.L18783:
59238 mov r3, sl
59239 ldr r5, [sp, #1020]
59240 mov r0, ip
59241 mov r1, r6
59242 mov r2, r8
59243 mov lr, pc
59244 ldr pc, [r5, ip, asl #5]
59245 ldr r3, [r9, #0]
59246 add r5, r4, #1
59247 cmp r5, r3
59248 bcs .L18666
59249 ldr r0, .L18810+24
59250 add r4, r0, r4, asl #2
59251 b .L18633
59252.L18634:
59253 ldr r3, [r9, #0]
59254 add r4, r4, #4
59255 cmp r3, r5
59256 bls .L18666
59257.L18633:
59258 ldr r2, [r4, #4]
59259 add r5, r5, #1
59260 tst r2, #4
59261 bne .L18634
59262 mov r3, #1
59263 ands r3, r7, r3, asl r2
59264 ldr r1, [sp, #1020]
59265 mov r0, r2
59266 add ip, r1, r2, asl #5
59267 mov r3, sl
59268 mov r1, r6
59269 mov r2, r8
59270 beq .L18634
59271 mov lr, pc
59272 ldr pc, [ip, #4]
59273 b .L18634
59274.L18781:
59275 ldr r1, [sp, #1020]
59276 mov r0, r2
59277 add ip, r1, r2, asl #5
59278 add r3, sp, #16
59279 mov r1, r6
59280 mov r2, r8
59281 mov lr, pc
59282 ldr pc, [ip, #24]
59283 b .L18477
59284.L18778:
59285 mov r0, ip
59286 mov r1, r6
59287 mov r2, r8
59288 mov r3, sl
59289 ldr r5, [sp, #1020]
59290 mov lr, pc
59291 ldr pc, [r5, ip, asl #5]
59292 b .L18650
59293.L18782:
59294 ldr r1, [sp, #1020]
59295 mov r0, r2
59296 add ip, r1, r2, asl #5
59297 add r3, sp, #16
59298 mov r1, r6
59299 mov r2, r8
59300 mov lr, pc
59301 ldr pc, [ip, #24]
59302 ldr r3, [r9, #0]
59303 add r5, r4, #1
59304 cmp r5, r3
59305 bcs .L18499
59306 ldr r2, .L18810+24
59307 add r4, r2, r4, asl #2
59308 b .L18460
59309.L18461:
59310 ldr r3, [r9, #0]
59311 add r4, r4, #4
59312 cmp r3, r5
59313 bls .L18499
59314.L18460:
59315 ldr r2, [r4, #4]
59316 add r5, r5, #1
59317 tst r2, #4
59318 bne .L18461
59319 mov r3, #1
59320 ands r3, r7, r3, asl r2
59321 ldr r3, [sp, #1020]
59322 mov r0, r2
59323 add ip, r3, r2, asl #5
59324 mov r1, r6
59325 mov r2, r8
59326 add r3, sp, #16
59327 beq .L18461
59328 mov lr, pc
59329 ldr pc, [ip, #28]
59330 b .L18461
59331.L18648:
59332 mov r1, r6
59333 mov r2, r8
59334 mov r3, sl
59335 bl render_scanline_obj_normal_2D
59336 b .L18650
59337.L18475:
59338 mov r1, r6
59339 mov r2, r8
59340 add r3, sp, #16
59341 bl render_scanline_obj_partial_alpha_2D
59342 b .L18477
59343.L18792:
59344 ldr r3, [sp, #1020]
59345 mov r0, r2
59346 add ip, r3, r2, asl #5
59347 mov r1, r6
59348 mov r3, sl
59349 mov r2, r8
59350 mov lr, pc
59351 ldr pc, [ip, #16]
59352 ldr r3, [r9, #0]
59353 add r5, r4, #1
59354 cmp r5, r3
59355 bcs .L18679
59356 ldr r0, .L18810+24
59357 add r4, r0, r4, asl #2
59358.L18545:
59359 ldr r2, [r4, #4]
59360 add r5, r5, #1
59361 tst r2, #4
59362 add r4, r4, #4
59363 bne .L18546
59364 mov r3, #1
59365 ands r3, r7, r3, asl r2
59366 ldr r1, [sp, #1020]
59367 mov r0, r2
59368 add ip, r1, r2, asl #5
59369 mov r3, sl
59370 mov r1, r6
59371 mov r2, r8
59372 movne lr, pc
59373 ldrne pc, [ip, #20]
59374.L18546:
59375 ldr r3, [r9, #0]
59376 cmp r3, r5
59377 bhi .L18545
59378.L18679:
59379 rsb r5, r6, r8
59380 b .L18539
59381.L18795:
59382 ldr r3, [sp, #1020]
59383 mov r0, r2
59384 add ip, r3, r2, asl #5
59385 mov r1, r6
59386 add r3, sp, #16
59387 mov r2, r8
59388 mov lr, pc
59389 ldr pc, [ip, #24]
59390 ldr r3, [r9, #0]
59391 add r5, r4, #1
59392 cmp r5, r3
59393 bcs .L18377
59394 ldr r0, .L18810+24
59395 add r4, r0, r4, asl #2
59396.L18383:
59397 ldr r2, [r4, #4]
59398 add r5, r5, #1
59399 tst r2, #4
59400 bne .L18384
59401 mov r3, #1
59402 ands r3, r7, r3, asl r2
59403 ldr r1, [sp, #1020]
59404 mov r0, r2
59405 add ip, r1, r2, asl #5
59406 add r3, sp, #16
59407 mov r1, r6
59408 mov r2, r8
59409 movne lr, pc
59410 ldrne pc, [ip, #28]
59411.L18384:
59412 ldr r3, [r9, #0]
59413 add r4, r4, #4
59414 cmp r3, r5
59415 bhi .L18383
59416 b .L18377
59417.L18791:
59418 ldr r1, [sp, #1020]
59419 mov r0, r2
59420 add ip, r1, r2, asl #5
59421 mov r3, sl
59422 mov r1, r6
59423 mov r2, r8
59424 mov lr, pc
59425 ldr pc, [ip, #16]
59426 rsb r5, r6, r8
59427.L18562:
59428 ldr r2, [sp, #8]
59429 ldr r3, [r9, #0]
59430 add r4, r2, #1
59431 cmp r4, r3
59432 bcs .L18539
59433 ldr r3, .L18810+24
59434 and fp, fp, #64
59435 add r3, r3, r2, asl #2
59436 mov r0, r3
59437 str r3, [sp, #0]
59438 b .L18564
59439.L18804:
59440 bic ip, ip, #4
59441 cmp fp, #0
59442 mov r1, r6
59443 mov r2, r8
59444 mov r3, sl
59445 mov r0, ip
59446 beq .L18567
59447 bl render_scanline_obj_color16_1D
59448.L18569:
59449 ldr r2, [sp, #0]
59450 ldr r3, [r9, #0]
59451 add r4, r4, #1
59452 add r2, r2, #4
59453 cmp r3, r4
59454 str r2, [sp, #0]
59455 bls .L18539
59456 ldr r0, [sp, #0]
59457.L18564:
59458 ldr ip, [r0, #4]
59459 tst ip, #4
59460 bne .L18804
59461 mov r3, #1
59462 ands r3, r7, r3, asl ip
59463 ldr r1, [sp, #1020]
59464 mov r0, ip
59465 mov r2, r8
59466 add ip, r1, ip, asl #5
59467 mov r3, sl
59468 mov r1, r6
59469 beq .L18569
59470 mov lr, pc
59471 ldr pc, [ip, #20]
59472 b .L18569
59473.L18567:
59474 mov r0, ip
59475 mov r1, r6
59476 mov r2, r8
59477 mov r3, sl
59478 bl render_scanline_obj_color16_2D
59479 b .L18569
59480.L18811:
59481 .align 2
59482.L18810:
59483 .word layer_count
59484 .word palette_ram_converted
59485 .word io_registers
59486 .word obj_alpha_count
59487 .word 132184095
59488 .word 7967
59489 .word layer_order
59490.L18790:
59491 cmp r6, r8
59492 rsbcs r5, r6, r8
59493 bcs .L18557
59494 add r1, sl, r6, asl #1
59495 mov r3, #0
59496 rsb r5, r6, r8
59497.L18559:
59498 add r3, r3, #1
59499 mov r0, #0 @ movhi
59500 cmp r5, r3
59501 strh r0, [r1], #2 @ movhi
59502 bne .L18559
59503.L18557:
59504 tst fp, #64
59505 bic r0, r2, #4
59506 beq .L18560
59507 mov r1, r6
59508 mov r2, r8
59509 mov r3, sl
59510 bl render_scanline_obj_color16_1D
59511 b .L18562
59512.L18794:
59513 ldr r1, [sp, #1020]
59514 mov r0, r2
59515 add ip, r1, r2, asl #5
59516 add r3, sp, #16
59517 mov r1, r6
59518 mov r2, r8
59519 mov lr, pc
59520 ldr pc, [ip, #24]
59521.L18400:
59522 ldr r3, [r9, #0]
59523 add r4, r5, #1
59524 cmp r4, r3
59525 bcs .L18377
59526 ldr r2, .L18810+24
59527 and fp, fp, #64
59528 add r5, r2, r5, asl #2
59529 b .L18402
59530.L18805:
59531 bic ip, ip, #4
59532 cmp fp, #0
59533 mov r1, r6
59534 mov r2, r8
59535 add r3, sp, #16
59536 mov r0, ip
59537 beq .L18405
59538 bl render_scanline_obj_partial_alpha_1D
59539.L18407:
59540 ldr r3, [r9, #0]
59541 add r4, r4, #1
59542 cmp r3, r4
59543 add r5, r5, #4
59544 bls .L18377
59545.L18402:
59546 ldr ip, [r5, #4]
59547 tst ip, #4
59548 bne .L18805
59549 mov r3, #1
59550 ands r3, r7, r3, asl ip
59551 ldr r3, [sp, #1020]
59552 mov r0, ip
59553 mov r1, r6
59554 add ip, r3, ip, asl #5
59555 mov r2, r8
59556 add r3, sp, #16
59557 beq .L18407
59558 mov lr, pc
59559 ldr pc, [ip, #28]
59560 b .L18407
59561.L18405:
59562 mov r0, ip
59563 mov r1, r6
59564 mov r2, r8
59565 add r3, sp, #16
59566 bl render_scanline_obj_partial_alpha_2D
59567 b .L18407
59568.L18793:
59569 cmp r6, r8
59570 addcc r0, sp, #16
59571 movcc r3, #0
59572 addcc r1, r0, r6, asl #2
59573 movcc ip, r3
59574 rsbcc r0, r6, r8
59575 bcs .L18395
59576.L18397:
59577 add r3, r3, #1
59578 cmp r0, r3
59579 str ip, [r1], #4
59580 bne .L18397
59581.L18395:
59582 tst fp, #64
59583 bic r0, r2, #4
59584 beq .L18398
59585 mov r1, r6
59586 mov r2, r8
59587 add r3, sp, #16
59588 bl render_scanline_obj_partial_alpha_1D
59589 b .L18400
59590.L18801:
59591 ldr r3, [sp, #1020]
59592 mov r0, r2
59593 add ip, r3, r2, asl #5
59594 mov r1, r6
59595 add r3, sp, #16
59596 mov r2, r8
59597 mov lr, pc
59598 ldr pc, [ip, #24]
59599 ldr r3, [r9, #0]
59600 add r5, r4, #1
59601 cmp r5, r3
59602 bcs .L18417
59603 ldr r0, .L18810+24
59604 add r4, r0, r4, asl #2
59605.L18423:
59606 ldr r2, [r4, #4]
59607 add r5, r5, #1
59608 tst r2, #4
59609 bne .L18424
59610 mov r3, #1
59611 ands r3, r7, r3, asl r2
59612 ldr r1, [sp, #1020]
59613 mov r0, r2
59614 add ip, r1, r2, asl #5
59615 add r3, sp, #16
59616 mov r1, r6
59617 mov r2, r8
59618 movne lr, pc
59619 ldrne pc, [ip, #28]
59620.L18424:
59621 ldr r3, [r9, #0]
59622 add r4, r4, #4
59623 cmp r3, r5
59624 bhi .L18423
59625 b .L18417
59626.L18560:
59627 mov r1, r6
59628 mov r2, r8
59629 mov r3, sl
59630 bl render_scanline_obj_color16_2D
59631 b .L18562
59632.L18398:
59633 mov r1, r6
59634 mov r2, r8
59635 add r3, sp, #16
59636 bl render_scanline_obj_partial_alpha_2D
59637 b .L18400
59638.L18798:
59639 ldr r3, [sp, #1020]
59640 mov r0, r2
59641 add ip, r3, r2, asl #5
59642 mov r1, r6
59643 mov r3, sl
59644 mov r2, r8
59645 mov lr, pc
59646 ldr pc, [ip, #16]
59647 ldr r3, [r9, #0]
59648 add r5, r4, #1
59649 cmp r5, r3
59650 bcs .L18682
59651 ldr r0, .L18810+24
59652 add r4, r0, r4, asl #2
59653.L18591:
59654 ldr r2, [r4, #4]
59655 add r5, r5, #1
59656 tst r2, #4
59657 add r4, r4, #4
59658 bne .L18592
59659 mov r3, #1
59660 ands r3, r7, r3, asl r2
59661 ldr r1, [sp, #1020]
59662 mov r0, r2
59663 add ip, r1, r2, asl #5
59664 mov r3, sl
59665 mov r1, r6
59666 mov r2, r8
59667 movne lr, pc
59668 ldrne pc, [ip, #20]
59669.L18592:
59670 ldr r3, [r9, #0]
59671 cmp r3, r5
59672 bhi .L18591
59673.L18682:
59674 rsb r5, r6, r8
59675 b .L18585
59676.L18797:
59677 ldr r1, [sp, #1020]
59678 mov r0, r2
59679 add ip, r1, r2, asl #5
59680 mov r3, sl
59681 mov r1, r6
59682 mov r2, r8
59683 mov lr, pc
59684 ldr pc, [ip, #16]
59685 rsb r5, r6, r8
59686.L18608:
59687 ldr r2, [sp, #12]
59688 ldr r3, [r9, #0]
59689 add r4, r2, #1
59690 cmp r4, r3
59691 bcs .L18585
59692 ldr r3, .L18810+24
59693 and fp, fp, #64
59694 add r3, r3, r2, asl #2
59695 str r3, [sp, #4]
59696 b .L18610
59697.L18806:
59698 bic ip, ip, #4
59699 cmp fp, #0
59700 mov r1, r6
59701 mov r2, r8
59702 mov r3, sl
59703 mov r0, ip
59704 beq .L18613
59705 bl render_scanline_obj_color16_1D
59706.L18615:
59707 ldr r2, [sp, #4]
59708 ldr r3, [r9, #0]
59709 add r4, r4, #1
59710 add r2, r2, #4
59711 cmp r3, r4
59712 str r2, [sp, #4]
59713 bls .L18585
59714.L18610:
59715 ldr r0, [sp, #4]
59716 ldr ip, [r0, #4]
59717 tst ip, #4
59718 bne .L18806
59719 mov r3, #1
59720 ands r3, r7, r3, asl ip
59721 ldr r1, [sp, #1020]
59722 mov r0, ip
59723 mov r2, r8
59724 add ip, r1, ip, asl #5
59725 mov r3, sl
59726 mov r1, r6
59727 beq .L18615
59728 mov lr, pc
59729 ldr pc, [ip, #20]
59730 b .L18615
59731.L18613:
59732 mov r0, ip
59733 mov r1, r6
59734 mov r2, r8
59735 mov r3, sl
59736 bl render_scanline_obj_color16_2D
59737 b .L18615
59738.L18796:
59739 cmp r6, r8
59740 rsbcs r5, r6, r8
59741 bcs .L18603
59742 add r1, sl, r6, asl #1
59743 mov r3, #0
59744 rsb r5, r6, r8
59745.L18605:
59746 add r3, r3, #1
59747 mov r0, #0 @ movhi
59748 cmp r3, r5
59749 strh r0, [r1], #2 @ movhi
59750 bne .L18605
59751.L18603:
59752 tst fp, #64
59753 bic r0, r2, #4
59754 beq .L18606
59755 mov r1, r6
59756 mov r2, r8
59757 mov r3, sl
59758 bl render_scanline_obj_color16_1D
59759 b .L18608
59760.L18789:
59761 ldr r3, [sp, #1020]
59762 mov r0, r2
59763 add ip, r3, r2, asl #5
59764 mov r1, r6
59765 add r3, sp, #16
59766 mov r2, r8
59767 mov lr, pc
59768 ldr pc, [ip, #8]
59769 ldr r3, [r9, #0]
59770 add r5, r4, #1
59771 cmp r5, r3
59772 bcs .L18499
59773 ldr r0, .L18810+24
59774 add r4, r0, r4, asl #2
59775 b .L18342
59776.L18343:
59777 ldr r3, [r9, #0]
59778 add r4, r4, #4
59779 cmp r3, r5
59780 bls .L18499
59781.L18342:
59782 ldr r2, [r4, #4]
59783 add r5, r5, #1
59784 tst r2, #4
59785 bne .L18343
59786 mov r3, #1
59787 ands r3, r7, r3, asl r2
59788 ldr r1, [sp, #1020]
59789 mov r0, r2
59790 add ip, r1, r2, asl #5
59791 add r3, sp, #16
59792 mov r1, r6
59793 mov r2, r8
59794 beq .L18343
59795 mov lr, pc
59796 ldr pc, [ip, #12]
59797 b .L18343
59798.L18787:
59799 ldr r1, [sp, #1020]
59800 mov r0, r2
59801 add ip, r1, r2, asl #5
59802 add r3, sp, #16
59803 mov r1, r6
59804 mov r2, r8
59805 mov lr, pc
59806 ldr pc, [ip, #8]
59807.L18359:
59808 ldr r3, [r9, #0]
59809 add r4, r5, #1
59810 cmp r4, r3
59811 bcs .L18499
59812 ldr r2, .L18810+24
59813 and fp, fp, #64
59814 add r5, r2, r5, asl #2
59815 b .L18361
59816.L18807:
59817 bic ip, ip, #4
59818 cmp fp, #0
59819 mov r1, r6
59820 mov r2, r8
59821 add r3, sp, #16
59822 mov r0, ip
59823 beq .L18364
59824 bl render_scanline_obj_alpha_obj_1D
59825.L18366:
59826 ldr r3, [r9, #0]
59827 add r4, r4, #1
59828 cmp r3, r4
59829 add r5, r5, #4
59830 bls .L18499
59831.L18361:
59832 ldr ip, [r5, #4]
59833 tst ip, #4
59834 bne .L18807
59835 mov r3, #1
59836 ands r3, r7, r3, asl ip
59837 ldr r3, [sp, #1020]
59838 mov r0, ip
59839 mov r1, r6
59840 add ip, r3, ip, asl #5
59841 mov r2, r8
59842 add r3, sp, #16
59843 beq .L18366
59844 mov lr, pc
59845 ldr pc, [ip, #12]
59846 b .L18366
59847.L18364:
59848 mov r0, ip
59849 mov r1, r6
59850 mov r2, r8
59851 add r3, sp, #16
59852 bl render_scanline_obj_alpha_obj_2D
59853 b .L18366
59854.L18786:
59855 cmp r6, r8
59856 addcc r0, sp, #16
59857 movcc r3, #0
59858 addcc r1, r0, r6, asl #2
59859 movcc ip, r3
59860 rsbcc r0, r6, r8
59861 bcs .L18354
59862.L18356:
59863 add r3, r3, #1
59864 cmp r3, r0
59865 str ip, [r1], #4
59866 bne .L18356
59867.L18354:
59868 tst fp, #64
59869 bic r0, r2, #4
59870 beq .L18357
59871 mov r1, r6
59872 mov r2, r8
59873 add r3, sp, #16
59874 bl render_scanline_obj_alpha_obj_1D
59875 b .L18359
59876.L18784:
59877 cmp r6, r8
59878 addcc r0, sp, #16
59879 movcc r3, #0
59880 addcc r1, r0, r6, asl #2
59881 movcc ip, r3
59882 rsbcc r0, r6, r8
59883 bcs .L18517
59884.L18519:
59885 add r3, r3, #1
59886 cmp r3, r0
59887 str ip, [r1], #4
59888 bne .L18519
59889.L18517:
59890 tst fp, #64
59891 bic r0, r2, #4
59892 beq .L18520
59893 mov r1, r6
59894 mov r2, r8
59895 add r3, sp, #16
59896 bl render_scanline_obj_alpha_obj_1D
59897.L18522:
59898 ldr r3, [r9, #0]
59899 add r4, r5, #1
59900 cmp r4, r3
59901 bcs .L18499
59902 ldr r2, .L18810+24
59903 and fp, fp, #64
59904 add r5, r2, r5, asl #2
59905 b .L18524
59906.L18808:
59907 bic ip, ip, #4
59908 cmp fp, #0
59909 mov r1, r6
59910 mov r2, r8
59911 add r3, sp, #16
59912 mov r0, ip
59913 beq .L18527
59914 bl render_scanline_obj_alpha_obj_1D
59915.L18529:
59916 ldr r3, [r9, #0]
59917 add r4, r4, #1
59918 cmp r3, r4
59919 add r5, r5, #4
59920 bls .L18499
59921.L18524:
59922 ldr ip, [r5, #4]
59923 tst ip, #4
59924 bne .L18808
59925 mov r3, #1
59926 ands r3, r7, r3, asl ip
59927 ldr r3, [sp, #1020]
59928 mov r0, ip
59929 mov r1, r6
59930 add ip, r3, ip, asl #5
59931 mov r2, r8
59932 add r3, sp, #16
59933 beq .L18529
59934 mov lr, pc
59935 ldr pc, [ip, #12]
59936 b .L18529
59937.L18788:
59938 ldr r3, [sp, #1020]
59939 mov r0, r2
59940 add ip, r3, r2, asl #5
59941 mov r1, r6
59942 add r3, sp, #16
59943 mov r2, r8
59944 mov lr, pc
59945 ldr pc, [ip, #8]
59946 ldr r3, [r9, #0]
59947 add r5, r4, #1
59948 cmp r5, r3
59949 bcs .L18499
59950 ldr r0, .L18810+24
59951 add r4, r0, r4, asl #2
59952 b .L18505
59953.L18506:
59954 ldr r3, [r9, #0]
59955 add r4, r4, #4
59956 cmp r3, r5
59957 bls .L18499
59958.L18505:
59959 ldr r2, [r4, #4]
59960 add r5, r5, #1
59961 tst r2, #4
59962 bne .L18506
59963 mov r3, #1
59964 ands r3, r7, r3, asl r2
59965 ldr r1, [sp, #1020]
59966 mov r0, r2
59967 add ip, r1, r2, asl #5
59968 add r3, sp, #16
59969 mov r1, r6
59970 mov r2, r8
59971 beq .L18506
59972 mov lr, pc
59973 ldr pc, [ip, #12]
59974 b .L18506
59975.L18527:
59976 mov r0, ip
59977 mov r1, r6
59978 mov r2, r8
59979 add r3, sp, #16
59980 bl render_scanline_obj_alpha_obj_2D
59981 b .L18529
59982.L18520:
59983 mov r1, r6
59984 mov r2, r8
59985 add r3, sp, #16
59986 bl render_scanline_obj_alpha_obj_2D
59987 b .L18522
59988.L18357:
59989 mov r1, r6
59990 mov r2, r8
59991 add r3, sp, #16
59992 bl render_scanline_obj_alpha_obj_2D
59993 b .L18359
59994.L18800:
59995 ldr r1, [sp, #1020]
59996 mov r0, r2
59997 add ip, r1, r2, asl #5
59998 add r3, sp, #16
59999 mov r1, r6
60000 mov r2, r8
60001 mov lr, pc
60002 ldr pc, [ip, #24]
60003.L18440:
60004 ldr r3, [r9, #0]
60005 add r4, r5, #1
60006 cmp r4, r3
60007 bcs .L18417
60008 ldr r2, .L18810+24
60009 and fp, fp, #64
60010 add r5, r2, r5, asl #2
60011 b .L18442
60012.L18809:
60013 bic ip, ip, #4
60014 cmp fp, #0
60015 mov r1, r6
60016 mov r2, r8
60017 add r3, sp, #16
60018 mov r0, ip
60019 beq .L18445
60020 bl render_scanline_obj_partial_alpha_1D
60021.L18447:
60022 ldr r3, [r9, #0]
60023 add r4, r4, #1
60024 cmp r3, r4
60025 add r5, r5, #4
60026 bls .L18417
60027.L18442:
60028 ldr ip, [r5, #4]
60029 tst ip, #4
60030 bne .L18809
60031 mov r3, #1
60032 ands r3, r7, r3, asl ip
60033 ldr r3, [sp, #1020]
60034 mov r0, ip
60035 mov r1, r6
60036 add ip, r3, ip, asl #5
60037 mov r2, r8
60038 add r3, sp, #16
60039 beq .L18447
60040 mov lr, pc
60041 ldr pc, [ip, #28]
60042 b .L18447
60043.L18445:
60044 mov r0, ip
60045 mov r1, r6
60046 mov r2, r8
60047 add r3, sp, #16
60048 bl render_scanline_obj_partial_alpha_2D
60049 b .L18447
60050.L18799:
60051 cmp r6, r8
60052 addcc r0, sp, #16
60053 movcc r3, #0
60054 addcc r1, r0, r6, asl #2
60055 movcc ip, r3
60056 rsbcc r0, r6, r8
60057 bcs .L18435
60058.L18437:
60059 add r3, r3, #1
60060 cmp r3, r0
60061 str ip, [r1], #4
60062 bne .L18437
60063.L18435:
60064 tst fp, #64
60065 bic r0, r2, #4
60066 beq .L18438
60067 mov r1, r6
60068 mov r2, r8
60069 add r3, sp, #16
60070 bl render_scanline_obj_partial_alpha_1D
60071 b .L18440
60072.L18785:
60073 ldr r1, [sp, #1020]
60074 mov r0, r2
60075 add ip, r1, r2, asl #5
60076 add r3, sp, #16
60077 mov r1, r6
60078 mov r2, r8
60079 mov lr, pc
60080 ldr pc, [ip, #8]
60081 b .L18522
60082.L18606:
60083 mov r1, r6
60084 mov r2, r8
60085 mov r3, sl
60086 bl render_scanline_obj_color16_2D
60087 b .L18608
60088.L18438:
60089 mov r1, r6
60090 mov r2, r8
60091 add r3, sp, #16
60092 bl render_scanline_obj_partial_alpha_2D
60093 b .L18440
60094 .size render_scanline_conditional_tile, .-render_scanline_conditional_tile
60095 .align 2
60096 .global render_scanline_obj_copy_tile_2D
60097 .type render_scanline_obj_copy_tile_2D, %function
60098render_scanline_obj_copy_tile_2D:
60099 @ args = 0, pretend = 0, frame = 596
60100 @ frame_needed = 0, uses_anonymous_args = 0
60101 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
60102 ldr r5, .L19654
60103 add r0, r0, r0, asl #2
60104 ldrh r4, [r5, #6]
60105 ldr ip, .L19654+4
60106 add r0, r4, r0, asl #5
60107 ldrh r6, [r5, #0]
60108 sub sp, sp, #608
60109 ldr ip, [ip, r0, asl #2]
60110 str r6, [sp, #56]
60111 str ip, [sp, #80]
60112 cmp ip, #0
60113 ldr ip, [sp, #56]
60114 ldrh r6, [r5, #74]
60115 str r4, [sp, #76]
60116 ldr lr, .L19654+8
60117 and r4, ip, #7
60118 ldr ip, .L19654+12
60119 ldrh r5, [r5, #80]
60120 add r4, ip, r4, asl #7
60121 add r0, lr, r0, asl #7
60122 mov r6, r6, lsr #8
60123 str r4, [sp, #64]
60124 str r0, [sp, #84]
60125 str r1, [sp, #28]
60126 str r2, [sp, #24]
60127 str r3, [sp, #20]
60128 str r6, [sp, #60]
60129 str r5, [sp, #52]
60130 beq .L19604
60131 rsb r0, r1, r2
60132 add lr, r3, r1, asl #1
60133 mov r1, #0
60134 mov r2, r1
60135 str lr, [sp, #104]
60136 str r0, [sp, #124]
60137 str r1, [sp, #72]
60138 b .L18815
60139.L18819:
60140 ldr lr, [sp, #72]
60141 ldr r0, [sp, #80]
60142 add lr, lr, #1
60143 cmp r0, lr
60144 str lr, [sp, #72]
60145 beq .L19604
60146 ldr r2, [sp, #72]
60147.L18815:
60148 ldr r4, [sp, #84]
60149 ldr r5, .L19654+16
60150 ldrb r3, [r2, r4] @ zero_extendqisi2
60151 ldr lr, .L19654+20
60152 mov r3, r3, asl #3
60153 ldrh r6, [r3, r5]
60154 add r3, r3, r5
60155 ldrh r7, [r3, #2]
60156 mov r9, r6, lsr #12
60157 and r2, r9, #12
60158 orr sl, r2, r7, lsr #14
60159 mov r1, r7, asl #23
60160 ldr fp, [lr, sl, asl #2]
60161 ands ip, r6, #512
60162 mov r8, r1, asr #23
60163 ldr r0, [sp, #24]
60164 ldr r5, [sp, #28]
60165 addne r1, r8, fp, asl #1
60166 addeq r1, r8, fp
60167 ldr r2, [sp, #28]
60168 cmp r8, r5
60169 movcs r5, r8
60170 cmp r1, r0
60171 movcs r1, r0
60172 str ip, [sp, #32]
60173 ldrh ip, [r3, #4]
60174 cmp r0, r5
60175 movls r3, #0
60176 movhi r3, #1
60177 cmp r2, r1
60178 movcs r3, #0
60179 cmp r3, #0
60180 beq .L18819
60181 ldr lr, [sp, #56]
60182 add r4, sp, #128
60183 str lr, [sp, #0]
60184 ldr lr, [sp, #52]
60185 mov r0, r5
60186 str lr, [sp, #4]
60187 ldr lr, [sp, #64]
60188 ldr r3, [sp, #60]
60189 mov r2, r4
60190 str ip, [sp, #12]
60191 str lr, [sp, #8]
60192 bl render_scanline_conditional_tile
60193 and r0, r6, #255
60194 cmp r0, #160
60195 ldr r3, .L19654+24
60196 add r5, r4, r5, asl #1
60197 subgt r0, r0, #256
60198 tst r6, #256
60199 str r5, [sp, #68]
60200 ldr ip, [sp, #12]
60201 ldr sl, [r3, sl, asl #2]
60202 beq .L18823
60203 tst r6, #8192
60204 beq .L18825
60205 mov r3, r7, lsr #4
60206 ldr r2, .L19654+16
60207 and r3, r3, #992
60208 add r3, r3, r2
60209 ldr r1, [sp, #32]
60210 ldrh r4, [r3, #30]
60211 cmp r1, #0
60212 add r1, sl, sl, lsr #31
60213 ldrh r5, [r3, #6]
60214 add r2, fp, fp, lsr #31
60215 str r4, [sp, #40]
60216 mov r4, r1, asr #1
60217 ldr r1, [sp, #28]
60218 mov lr, r2, asr #1
60219 str r5, [sp, #36]
60220 moveq r9, fp
60221 moveq r7, lr
60222 moveq r5, r4
60223 movne r9, fp, asl #1
60224 movne r7, lr, asl #1
60225 movne r5, r4, asl #1
60226 cmp r8, r1
60227 ldrh r2, [r3, #14]
60228 ldrh r6, [r3, #22]
60229 bge .L18830
60230 rsb r1, r8, r1
60231 rsb r9, r1, r9
60232 cmp r9, #0
60233 ble .L18819
60234 ldr r8, [sp, #28]
60235 rsb r7, r1, r7
60236.L18830:
60237 ldr r1, [sp, #24]
60238 add r3, r8, r9
60239 cmp r3, r1
60240 bge .L19632
60241.L18833:
60242 add r0, r0, r5
60243 ldr r5, [sp, #36]
60244 mov r2, r2, asl #16
60245 mov r3, r5, asl #16
60246 ldr r5, [sp, #40]
60247 mov r3, r3, asr #16
60248 mov r1, r5, asl #16
60249 str r3, [sp, #88]
60250 mov r5, r2, asr #16
60251 ldr r3, [sp, #76]
60252 ldr r2, [sp, #20]
60253 mov lr, lr, asl #8
60254 cmp r6, #0
60255 str lr, [sp, #112]
60256 mov r1, r1, asr #16
60257 mov lr, r4, asl #8
60258 add r8, r2, r8, asl #1
60259 rsb r0, r0, r3
60260 beq .L19633
60261 mov r3, ip, asl #22
60262 ldr r2, .L19654+28
60263 mov r3, r3, lsr #22
60264 add r3, r2, r3, asl #5
60265 cmp r9, #0
60266 str r3, [sp, #120]
60267 ble .L18819
60268 mov r3, r6, asl #16
60269 mul r2, r0, r1
60270 mov r6, r3, asr #16
60271 mul r3, r0, r5
60272 ldr r0, [sp, #88]
60273 mul r1, r6, r7
60274 mul r0, r7, r0
60275 ldr ip, [sp, #112]
60276 rsb r3, r0, r3
60277 rsb r2, r1, r2
60278 add r5, ip, r3
60279 add r4, lr, r2
60280 mov ip, r4, asr #8
60281 mov lr, r5, asr #8
60282 cmp lr, fp
60283 cmpcc ip, sl
60284 movcs r3, #0
60285 movcc r3, #1
60286 movcs r7, r3
60287 bcc .L19634
60288.L18851:
60289 ldr lr, [sp, #88]
60290 ldr r0, [sp, #68]
60291 add r7, r7, #1
60292 add r5, r5, lr
60293 add r4, r4, r6
60294 add r0, r0, #2
60295 cmp r9, r7
60296 mov lr, r5, asr #8
60297 mov ip, r4, asr #8
60298 add r8, r8, #2
60299 str r0, [sp, #68]
60300 beq .L18819
60301 cmp lr, fp
60302 cmpcc ip, sl
60303 bcs .L18851
60304 cmp ip, sl
60305 cmpcc lr, fp
60306 bcs .L18819
60307.L19635:
60308 ldr r1, [sp, #88]
60309 and r3, ip, #7
60310 mov r2, lr, asr #3
60311 mov r3, r3, asl #3
60312 add r5, r5, r1
60313 add r3, r3, r2, asl #6
60314 mov r1, ip, asr #3
60315 ldr r2, [sp, #120]
60316 add r3, r3, r1, asl #10
60317 add r3, r3, r2
60318 and r0, lr, #7
60319 ldrb r2, [r3, r0] @ zero_extendqisi2
60320 ldr r0, [sp, #68]
60321 cmp r2, #0
60322 ldrne r3, [sp, #68]
60323 add r7, r7, #1
60324 ldrneh r3, [r3, #0]
60325 add r4, r4, r6
60326 strneh r3, [r8, #0] @ movhi
60327 add r0, r0, #2
60328 cmp r9, r7
60329 mov ip, r4, asr #8
60330 mov lr, r5, asr #8
60331 add r8, r8, #2
60332 str r0, [sp, #68]
60333 ble .L18819
60334.L18854:
60335 cmp ip, sl
60336 cmpcc lr, fp
60337 bcc .L19635
60338 b .L18819
60339.L18823:
60340 ldr r4, [sp, #76]
60341 tst r7, #8192
60342 rsb r0, r0, r4
60343 rsbne r3, r0, sl
60344 subne r0, r3, #1
60345 mov r2, r7, asl #19
60346 and r3, r9, #2
60347 orr r3, r3, r2, lsr #31
60348 cmp r3, #3
60349 ldrls pc, [pc, r3, asl #2]
60350 b .L18819
60351 .p2align 2
60352.L18903:
60353 .word .L18899
60354 .word .L18900
60355 .word .L18901
60356 .word .L18902
60357.L19604:
60358 add sp, sp, #608
60359 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
60360.L18825:
60361 mov r3, r7, lsr #4
60362 ldr r2, .L19654+16
60363 and r3, r3, #992
60364 add r3, r3, r2
60365 ldr r1, [sp, #32]
60366 ldrh r4, [r3, #30]
60367 cmp r1, #0
60368 add r1, sl, sl, lsr #31
60369 ldrh r5, [r3, #6]
60370 add r2, fp, fp, lsr #31
60371 str r4, [sp, #48]
60372 mov r4, r1, asr #1
60373 ldr r1, [sp, #28]
60374 mov lr, r2, asr #1
60375 str r5, [sp, #44]
60376 moveq r6, fp
60377 moveq r7, lr
60378 moveq r5, r4
60379 movne r6, fp, asl #1
60380 movne r7, lr, asl #1
60381 movne r5, r4, asl #1
60382 cmp r8, r1
60383 ldrh r2, [r3, #14]
60384 ldrh r9, [r3, #22]
60385 bge .L18862
60386 rsb r1, r8, r1
60387 rsb r6, r1, r6
60388 cmp r6, #0
60389 ble .L18819
60390 ldr r8, [sp, #28]
60391 rsb r7, r1, r7
60392.L18862:
60393 ldr r1, [sp, #24]
60394 add r3, r8, r6
60395 cmp r3, r1
60396 bge .L19636
60397.L18865:
60398 add r0, r0, r5
60399 ldr r5, [sp, #44]
60400 mov r2, r2, asl #16
60401 mov r3, r5, asl #16
60402 mov r3, r3, asr #16
60403 mov r2, r2, asr #16
60404 ldr r5, [sp, #48]
60405 str r3, [sp, #92]
60406 str r2, [sp, #96]
60407 ldr r3, [sp, #76]
60408 ldr r2, [sp, #20]
60409 mov lr, lr, asl #8
60410 mov r1, r5, asl #16
60411 cmp r9, #0
60412 str lr, [sp, #108]
60413 mov r1, r1, asr #16
60414 mov lr, r4, asl #8
60415 add r8, r2, r8, asl #1
60416 rsb r0, r0, r3
60417 beq .L19637
60418 mov r3, ip, asl #22
60419 ldr r2, .L19654+28
60420 mov r3, r3, lsr #22
60421 add r3, r2, r3, asl #5
60422 cmp r6, #0
60423 str r3, [sp, #116]
60424 ble .L18819
60425 mov r3, r9, asl #16
60426 mov r3, r3, asr #16
60427 str r3, [sp, #100]
60428 ldr r3, [sp, #96]
60429 mul r2, r0, r1
60430 mul r3, r0, r3
60431 ldr r0, [sp, #92]
60432 ldr r1, [sp, #100]
60433 mul r0, r7, r0
60434 mul r1, r7, r1
60435 rsb r3, r0, r3
60436 ldr r0, [sp, #108]
60437 rsb r2, r1, r2
60438 add r5, r0, r3
60439 add r4, lr, r2
60440 mov ip, r4, asr #8
60441 mov lr, r5, asr #8
60442 cmp lr, fp
60443 cmpcc ip, sl
60444 movcs r3, #0
60445 movcc r3, #1
60446 movcs r7, r3
60447 bcc .L19638
60448.L18886:
60449 ldr r3, [sp, #68]
60450 ldr r1, [sp, #92]
60451 ldr r2, [sp, #100]
60452 add r7, r7, #1
60453 add r5, r5, r1
60454 add r4, r4, r2
60455 add r3, r3, #2
60456 cmp r6, r7
60457 mov lr, r5, asr #8
60458 mov ip, r4, asr #8
60459 add r8, r8, #2
60460 str r3, [sp, #68]
60461 beq .L18819
60462 cmp lr, fp
60463 cmpcc ip, sl
60464 bcs .L18886
60465 cmp ip, sl
60466 cmpcc lr, fp
60467 bcs .L18819
60468.L19639:
60469 mov r3, lr, asr #1
60470 ldr r1, [sp, #116]
60471 and r3, r3, #3
60472 and r0, ip, #7
60473 str r3, [sp, #16]
60474 ldr r3, [sp, #116]
60475 add r0, r1, r0, asl #2
60476 and r1, ip, #7
60477 mov r2, lr, asr #1
60478 add r1, r3, r1, asl #2
60479 mov r3, ip, asr #3
60480 and r9, r2, #3
60481 mov r3, r3, asl #10
60482 mov r2, lr, asr #3
60483 tst lr, #1
60484 add r3, r3, r2, asl #5
60485 add r2, r0, r3
60486 movne ip, r9
60487 add r0, r1, r3
60488 ldreqb r3, [r0, r9] @ zero_extendqisi2
60489 ldrneb r3, [r2, ip] @ zero_extendqisi2
60490 andeq r0, r3, #15
60491 movne r0, r3, lsr #4
60492 cmp r0, #0
60493 ldrne r2, [sp, #68]
60494 ldr lr, [sp, #92]
60495 ldrneh r2, [r2, #0]
60496 ldr r3, [sp, #68]
60497 ldr r1, [sp, #100]
60498 add r7, r7, #1
60499 strneh r2, [r8, #0] @ movhi
60500 add r5, r5, lr
60501 add r4, r4, r1
60502 add r3, r3, #2
60503 cmp r6, r7
60504 mov lr, r5, asr #8
60505 mov ip, r4, asr #8
60506 add r8, r8, #2
60507 str r3, [sp, #68]
60508 ble .L18819
60509.L18889:
60510 cmp ip, sl
60511 cmpcc lr, fp
60512 bcc .L19639
60513 b .L18819
60514.L19636:
60515 rsb r6, r8, r1
60516 cmp r6, #0
60517 bgt .L18865
60518 b .L18819
60519.L19632:
60520 rsb r9, r8, r1
60521 cmp r9, #0
60522 bgt .L18833
60523 b .L18819
60524.L19633:
60525 mla r3, r0, r1, lr
60526 mov r1, r3, asr #8
60527 cmp r1, sl
60528 bcs .L18819
60529 mov r3, ip, asl #22
60530 mov r2, r1, lsr #3
60531 mov r3, r3, lsr #22
60532 add r3, r3, r2, asl #5
60533 and r1, r1, #7
60534 add r1, r1, r3, asl #2
60535 ldr r3, .L19654+28
60536 cmp r9, #0
60537 add r4, r3, r1, asl #3
60538 ble .L18819
60539 ldr r2, [sp, #88]
60540 mul r3, r0, r5
60541 mul r2, r7, r2
60542 ldr r5, [sp, #112]
60543 rsb r3, r2, r3
60544 add r0, r5, r3
60545 mov ip, r0, asr #8
60546 cmp ip, fp
60547 movcs lr, r6
60548 bcc .L19640
60549.L18841:
60550 ldr r1, [sp, #68]
60551 ldr r6, [sp, #88]
60552 add lr, lr, #1
60553 add r0, r0, r6
60554 add r1, r1, #2
60555 cmp r9, lr
60556 mov ip, r0, asr #8
60557 add r8, r8, #2
60558 str r1, [sp, #68]
60559 beq .L18819
60560 cmp ip, fp
60561 bcs .L18841
60562 b .L19618
60563.L19637:
60564 mla r3, r0, r1, lr
60565 mov r1, r3, asr #8
60566 cmp r1, sl
60567 bcs .L18819
60568 mov r3, ip, asl #22
60569 mov r2, r1, lsr #3
60570 mov r3, r3, lsr #22
60571 add r3, r3, r2, asl #5
60572 and r1, r1, #7
60573 add r1, r1, r3, asl #3
60574 ldr r3, .L19654+28
60575 cmp r6, #0
60576 add r5, r3, r1, asl #2
60577 ble .L18819
60578 ldr r3, [sp, #96]
60579 ldr r2, [sp, #92]
60580 mul r3, r0, r3
60581 mul r2, r7, r2
60582 ldr r4, [sp, #108]
60583 rsb r3, r2, r3
60584 add r0, r4, r3
60585 mov ip, r0, asr #8
60586 cmp ip, fp
60587 movcs r1, r9
60588 bcc .L19641
60589.L18873:
60590 ldr ip, [sp, #92]
60591 ldr lr, [sp, #68]
60592 add r1, r1, #1
60593 add r0, r0, ip
60594 add lr, lr, #2
60595 cmp r6, r1
60596 mov ip, r0, asr #8
60597 add r8, r8, #2
60598 str lr, [sp, #68]
60599 beq .L18819
60600 cmp ip, fp
60601 bcs .L18873
60602 b .L19620
60603.L18902:
60604 subs r2, fp, #8
60605 submi r2, fp, #1
60606 mov r3, r0, lsr #3
60607 mov r2, r2, asr #3
60608 mov r1, ip, asl #22
60609 add r2, r2, r3, asl #4
60610 mov r1, r1, lsr #22
60611 and r3, r0, #7
60612 add r1, r1, r2, asl #1
60613 add r3, r3, r1, asl #2
60614 ldr lr, [sp, #28]
60615 mov r0, r3, asl #3
60616 ldr r3, .L19654+28
60617 cmp r8, lr
60618 add r7, r0, r3
60619 blt .L19642
60620 ldr r4, [sp, #24]
60621 add r3, r8, fp
60622 cmp r4, r3
60623 bhi .L19540
60624 rsb r9, r8, r4
60625 cmp r9, #0
60626 ble .L18819
60627 ldr r5, [sp, #20]
60628 movs sl, r9, lsr #3
60629 add r1, r5, r8, asl #1
60630 beq .L19543
60631 ldr r3, .L19654+32
60632 ldr r4, [sp, #68]
60633 add r0, r0, r3
60634 mov lr, r1
60635 mov r5, r7
60636 mov r2, #0
60637.L19545:
60638 ldr ip, [r0, #68]
60639 cmp ip, #0
60640 beq .L19546
60641 tst ip, #255
60642 ldrneh r6, [r4, #6]
60643 mov r3, ip, lsr #8
60644 strneh r6, [lr, #6] @ movhi
60645 tst r3, #255
60646 ldrneh r3, [r4, #4]
60647 strneh r3, [lr, #4] @ movhi
60648 mov r3, ip, lsr #16
60649 tst r3, #255
60650 ldrneh r6, [r4, #2]
60651 strneh r6, [lr, #2] @ movhi
60652 movs ip, ip, lsr #24
60653 ldrneh ip, [r4, #0]
60654 strneh ip, [lr, #0] @ movhi
60655.L19546:
60656 ldr ip, [r5, #0]
60657 cmp ip, #0
60658 beq .L19555
60659 tst ip, #255
60660 ldrneh r3, [r4, #14]
60661 strneh r3, [lr, #14] @ movhi
60662 mov r3, ip, lsr #8
60663 tst r3, #255
60664 ldrneh r6, [r4, #12]
60665 mov r3, ip, lsr #16
60666 strneh r6, [lr, #12] @ movhi
60667 tst r3, #255
60668 ldrneh r3, [r4, #10]
60669 strneh r3, [lr, #10] @ movhi
60670 movs ip, ip, lsr #24
60671 ldrneh r6, [r4, #8]
60672 strneh r6, [lr, #8] @ movhi
60673.L19555:
60674 add r2, r2, #1
60675 cmp sl, r2
60676 sub r5, r5, #64
60677 add lr, lr, #16
60678 add r4, r4, #16
60679 sub r0, r0, #64
60680 bne .L19545
60681 ldr ip, [sp, #68]
60682 mov r3, sl, asl #4
60683 rsb r2, sl, sl, asl #26
60684 add ip, ip, r3
60685 add r1, r1, r3
60686 add r7, r7, r2, asl #6
60687 str ip, [sp, #68]
60688.L19543:
60689 ands ip, r9, #7
60690 beq .L18819
60691 cmp ip, #3
60692 ldrls r2, [r7, #4]
60693 bls .L19578
60694 ldr r2, [r7, #4]
60695 cmp r2, #0
60696 beq .L19568
60697 tst r2, #255
60698 ldrne lr, [sp, #68]
60699 mov r3, r2, lsr #8
60700 ldrneh lr, [lr, #6]
60701 strneh lr, [r1, #6] @ movhi
60702 tst r3, #255
60703 ldrne r0, [sp, #68]
60704 mov r3, r2, lsr #16
60705 ldrneh r0, [r0, #4]
60706 strneh r0, [r1, #4] @ movhi
60707 tst r3, #255
60708 ldrne r3, [sp, #68]
60709 ldrneh r3, [r3, #2]
60710 strneh r3, [r1, #2] @ movhi
60711 movs r2, r2, lsr #24
60712 ldrne r4, [sp, #68]
60713 ldrneh r4, [r4, #0]
60714 strneh r4, [r1, #0] @ movhi
60715.L19568:
60716 subs ip, ip, #4
60717 ldr r2, [r7, #0]
60718 beq .L18819
60719 ldr r5, [sp, #68]
60720 add r1, r1, #8
60721 add r5, r5, #8
60722 str r5, [sp, #68]
60723.L19578:
60724 mov r3, #0
60725.L19579:
60726 movs r6, r2, lsr #24
60727 ldrne lr, [sp, #68]
60728 mov r0, r3, asl #1
60729 ldrneh lr, [r0, lr]
60730 add r3, r3, #1
60731 strneh lr, [r0, r1] @ movhi
60732 cmp ip, r3
60733 mov r2, r2, asl #8
60734 bhi .L19579
60735 b .L18819
60736.L18899:
60737 mov r3, ip, asl #22
60738 mov r2, r0, lsr #3
60739 mov r3, r3, lsr #22
60740 add r3, r3, r2, asl #5
60741 and r1, r0, #7
60742 ldr r5, [sp, #28]
60743 add r1, r1, r3, asl #3
60744 ldr r3, .L19654+28
60745 cmp r8, r5
60746 add r0, r3, r1, asl #2
60747 blt .L19643
60748 ldr r4, [sp, #24]
60749 add r3, r8, fp
60750 cmp r4, r3
60751 bhi .L18985
60752 rsb r7, r8, r4
60753 cmp r7, #0
60754 ble .L18819
60755 ldr r6, [sp, #20]
60756 movs r5, r7, lsr #3
60757 add r1, r6, r8, asl #1
60758 beq .L18988
60759 ldr lr, [sp, #68]
60760 mov ip, r1
60761 mov r4, r0
60762 mov r2, #0
60763.L18990:
60764 ldr r3, [r4, #0]
60765 cmp r3, #0
60766 beq .L18991
60767 tst r3, #15
60768 ldrneh r6, [lr, #0]
60769 strneh r6, [ip, #0] @ movhi
60770 tst r3, #240
60771 ldrneh r6, [lr, #2]
60772 strneh r6, [ip, #2] @ movhi
60773 tst r3, #3840
60774 ldrneh r6, [lr, #4]
60775 strneh r6, [ip, #4] @ movhi
60776 tst r3, #61440
60777 ldrneh r6, [lr, #6]
60778 strneh r6, [ip, #6] @ movhi
60779 tst r3, #983040
60780 ldrneh r6, [lr, #8]
60781 strneh r6, [ip, #8] @ movhi
60782 tst r3, #15728640
60783 ldrneh r6, [lr, #10]
60784 strneh r6, [ip, #10] @ movhi
60785 tst r3, #251658240
60786 ldrneh r6, [lr, #12]
60787 strneh r6, [ip, #12] @ movhi
60788 movs r3, r3, lsr #28
60789 ldrneh r3, [lr, #14]
60790 strneh r3, [ip, #14] @ movhi
60791.L18991:
60792 add r2, r2, #1
60793 cmp r2, r5
60794 add r4, r4, #32
60795 add ip, ip, #16
60796 add lr, lr, #16
60797 bne .L18990
60798 ldr r4, [sp, #68]
60799 mov r3, r5, asl #4
60800 add r4, r4, r3
60801 add r1, r1, r3
60802 add r0, r0, r5, asl #5
60803 str r4, [sp, #68]
60804.L18988:
60805 ands ip, r7, #7
60806 beq .L18819
60807 ldr r0, [r0, #0]
60808 mov r2, #0
60809.L19010:
60810 tst r0, #15
60811 ldrne r5, [sp, #68]
60812 mov r3, r2, asl #1
60813 ldrneh r5, [r3, r5]
60814 add r2, r2, #1
60815 strneh r5, [r3, r1] @ movhi
60816 cmp r2, ip
60817 mov r0, r0, lsr #4
60818 bne .L19010
60819 b .L18819
60820.L18900:
60821 mov r3, ip, asl #22
60822 mov r1, r0, lsr #3
60823 subs r2, fp, #8
60824 mov r3, r3, lsr #22
60825 submi r2, fp, #1
60826 add r3, r3, r1, asl #5
60827 add r3, r3, r2, asr #3
60828 and r1, r0, #7
60829 ldr lr, [sp, #28]
60830 add r1, r1, r3, asl #3
60831 ldr r3, .L19654+28
60832 cmp r8, lr
60833 add r0, r3, r1, asl #2
60834 blt .L19644
60835 ldr lr, [sp, #24]
60836 add r3, r8, fp
60837 cmp lr, r3
60838 bhi .L19115
60839 rsb r7, r8, lr
60840 cmp r7, #0
60841 ble .L18819
60842 ldr r2, [sp, #20]
60843 movs r3, r7, lsr #3
60844 add r1, r2, r8, asl #1
60845 beq .L19118
60846 ldr lr, [sp, #68]
60847 mov ip, r1
60848 mov r4, r0
60849 mov r5, #0
60850.L19120:
60851 ldr r2, [r4, #0]
60852 cmp r2, #0
60853 beq .L19121
60854 tst r2, #15
60855 ldrneh r6, [lr, #14]
60856 strneh r6, [ip, #14] @ movhi
60857 tst r2, #240
60858 ldrneh r6, [lr, #12]
60859 strneh r6, [ip, #12] @ movhi
60860 tst r2, #3840
60861 ldrneh r6, [lr, #10]
60862 strneh r6, [ip, #10] @ movhi
60863 tst r2, #61440
60864 ldrneh r6, [lr, #8]
60865 strneh r6, [ip, #8] @ movhi
60866 tst r2, #983040
60867 ldrneh r6, [lr, #6]
60868 strneh r6, [ip, #6] @ movhi
60869 tst r2, #15728640
60870 ldrneh r6, [lr, #4]
60871 strneh r6, [ip, #4] @ movhi
60872 tst r2, #251658240
60873 ldrneh r6, [lr, #2]
60874 strneh r6, [ip, #2] @ movhi
60875 movs r2, r2, lsr #28
60876 ldrneh r2, [lr, #0]
60877 strneh r2, [ip, #0] @ movhi
60878.L19121:
60879 add r5, r5, #1
60880 cmp r5, r3
60881 sub r4, r4, #32
60882 add ip, ip, #16
60883 add lr, lr, #16
60884 bne .L19120
60885 ldr r4, [sp, #68]
60886 rsb r2, r3, r3, asl #27
60887 mov r3, r3, asl #4
60888 add r4, r4, r3
60889 add r1, r1, r3
60890 add r0, r0, r2, asl #5
60891 str r4, [sp, #68]
60892.L19118:
60893 ands ip, r7, #7
60894 beq .L18819
60895 ldr r0, [r0, #0]
60896 mov r2, #0
60897.L19140:
60898 movs r5, r0, lsr #28
60899 ldrne r6, [sp, #68]
60900 mov r3, r2, asl #1
60901 ldrneh r6, [r3, r6]
60902 add r2, r2, #1
60903 strneh r6, [r3, r1] @ movhi
60904 cmp r2, ip
60905 mov r0, r0, asl #4
60906 bne .L19140
60907 b .L18819
60908.L18901:
60909 mov r2, ip, asl #22
60910 mov r1, r0, lsr #3
60911 mov r2, r2, lsr #22
60912 add r2, r2, r1, asl #5
60913 and r3, r0, #7
60914 add r3, r3, r2, asl #2
60915 ldr r1, [sp, #28]
60916 mov r0, r3, asl #3
60917 ldr r3, .L19654+28
60918 cmp r8, r1
60919 add r2, r0, r3
60920 blt .L19645
60921 ldr r4, [sp, #24]
60922 add r3, r8, fp
60923 cmp r4, r3
60924 bhi .L19320
60925 rsb r9, r8, r4
60926 cmp r9, #0
60927 ble .L18819
60928 ldr r5, [sp, #20]
60929 movs sl, r9, lsr #3
60930 add r1, r5, r8, asl #1
60931 beq .L19323
60932 ldr r3, .L19654+36
60933 ldr r4, [sp, #68]
60934 add r0, r0, r3
60935 mov lr, r1
60936 mov r5, r2
60937 mov r7, #0
60938.L19325:
60939 ldr ip, [r5, #0]
60940 cmp ip, #0
60941 beq .L19326
60942 tst ip, #255
60943 ldrneh r6, [r4, #0]
60944 mov r3, ip, lsr #8
60945 strneh r6, [lr, #0] @ movhi
60946 tst r3, #255
60947 ldrneh r3, [r4, #2]
60948 strneh r3, [lr, #2] @ movhi
60949 mov r3, ip, lsr #16
60950 tst r3, #255
60951 ldrneh r6, [r4, #4]
60952 strneh r6, [lr, #4] @ movhi
60953 movs ip, ip, lsr #24
60954 ldrneh ip, [r4, #6]
60955 strneh ip, [lr, #6] @ movhi
60956.L19326:
60957 ldr ip, [r0, #-60]
60958 cmp ip, #0
60959 beq .L19335
60960 tst ip, #255
60961 ldrneh r3, [r4, #8]
60962 strneh r3, [lr, #8] @ movhi
60963 mov r3, ip, lsr #8
60964 tst r3, #255
60965 ldrneh r6, [r4, #10]
60966 mov r3, ip, lsr #16
60967 strneh r6, [lr, #10] @ movhi
60968 tst r3, #255
60969 ldrneh r3, [r4, #12]
60970 strneh r3, [lr, #12] @ movhi
60971 movs ip, ip, lsr #24
60972 ldrneh r6, [r4, #14]
60973 strneh r6, [lr, #14] @ movhi
60974.L19335:
60975 add r7, r7, #1
60976 cmp r7, sl
60977 add r5, r5, #64
60978 add lr, lr, #16
60979 add r4, r4, #16
60980 add r0, r0, #64
60981 bne .L19325
60982 ldr ip, [sp, #68]
60983 mov r3, sl, asl #4
60984 add ip, ip, r3
60985 add r1, r1, r3
60986 add r2, r2, sl, asl #6
60987 str ip, [sp, #68]
60988.L19323:
60989 ands ip, r9, #7
60990 beq .L18819
60991 cmp ip, #3
60992 ldrls r3, [r2, #0]
60993 bls .L19358
60994 ldr r0, [r2, #0]
60995 cmp r0, #0
60996 beq .L19348
60997 tst r0, #255
60998 ldrne lr, [sp, #68]
60999 mov r3, r0, lsr #8
61000 ldrneh lr, [lr, #0]
61001 strneh lr, [r1, #0] @ movhi
61002 tst r3, #255
61003 ldrne r3, [sp, #68]
61004 ldrneh r3, [r3, #2]
61005 strneh r3, [r1, #2] @ movhi
61006 mov r3, r0, lsr #16
61007 tst r3, #255
61008 ldrne r4, [sp, #68]
61009 ldrneh r4, [r4, #4]
61010 strneh r4, [r1, #4] @ movhi
61011 movs r0, r0, lsr #24
61012 ldrne r5, [sp, #68]
61013 ldrneh r5, [r5, #6]
61014 strneh r5, [r1, #6] @ movhi
61015.L19348:
61016 subs ip, ip, #4
61017 ldr r3, [r2, #4]
61018 beq .L18819
61019 ldr r6, [sp, #68]
61020 add r1, r1, #8
61021 add r6, r6, #8
61022 str r6, [sp, #68]
61023.L19358:
61024 mov r2, #0
61025.L19359:
61026 tst r3, #255
61027 ldrne lr, [sp, #68]
61028 mov r0, r2, asl #1
61029 ldrneh lr, [r0, lr]
61030 add r2, r2, #1
61031 strneh lr, [r0, r1] @ movhi
61032 cmp ip, r2
61033 mov r3, r3, lsr #8
61034 bhi .L19359
61035 b .L18819
61036.L19645:
61037 rsb r0, r8, r1
61038 rsb lr, r0, fp
61039 cmp lr, #0
61040 ble .L18819
61041 ldr r4, [sp, #24]
61042 add r3, r8, fp
61043 cmp r4, r3
61044 bhi .L19167
61045 mov r3, r0, lsr #3
61046 ands ip, r0, #7
61047 add r8, r2, r3, asl #6
61048 bne .L19169
61049 ldr r7, [sp, #124]
61050 ldr r5, [sp, #104]
61051.L19171:
61052 movs r4, r7, lsr #3
61053 beq .L19229
61054 ldr r0, [sp, #68]
61055 mov r1, r5
61056 mov ip, r8
61057 mov lr, #0
61058.L19231:
61059 ldr r2, [ip, #0]
61060 cmp r2, #0
61061 beq .L19232
61062 tst r2, #255
61063 ldrneh r3, [r0, #0]
61064 strneh r3, [r1, #0] @ movhi
61065 mov r3, r2, lsr #8
61066 tst r3, #255
61067 ldrneh r6, [r0, #2]
61068 mov r3, r2, lsr #16
61069 strneh r6, [r1, #2] @ movhi
61070 tst r3, #255
61071 ldrneh r3, [r0, #4]
61072 strneh r3, [r1, #4] @ movhi
61073 movs r2, r2, lsr #24
61074 ldrneh r6, [r0, #6]
61075 strneh r6, [r1, #6] @ movhi
61076.L19232:
61077 ldr r2, [ip, #4]
61078 cmp r2, #0
61079 beq .L19241
61080 tst r2, #255
61081 ldrneh r3, [r0, #8]
61082 strneh r3, [r1, #8] @ movhi
61083 mov r3, r2, lsr #8
61084 tst r3, #255
61085 ldrneh r6, [r0, #10]
61086 mov r3, r2, lsr #16
61087 strneh r6, [r1, #10] @ movhi
61088 tst r3, #255
61089 ldrneh r3, [r0, #12]
61090 strneh r3, [r1, #12] @ movhi
61091 movs r2, r2, lsr #24
61092 ldrneh r6, [r0, #14]
61093 strneh r6, [r1, #14] @ movhi
61094.L19241:
61095 add lr, lr, #1
61096 cmp lr, r4
61097 add ip, ip, #64
61098 add r1, r1, #16
61099 add r0, r0, #16
61100 bne .L19231
61101 ldr ip, [sp, #68]
61102 mov r3, r4, asl #4
61103 add ip, ip, r3
61104 add r5, r5, r3
61105 add r8, r8, r4, asl #6
61106 str ip, [sp, #68]
61107.L19229:
61108 ands r0, r7, #7
61109 beq .L18819
61110 cmp r0, #3
61111 ldrls r3, [r8, #0]
61112 bls .L19264
61113 ldr r2, [r8, #0]
61114 cmp r2, #0
61115 beq .L19254
61116 tst r2, #255
61117 ldrne lr, [sp, #68]
61118 mov r3, r2, lsr #8
61119 ldrneh lr, [lr, #0]
61120 strneh lr, [r5, #0] @ movhi
61121 tst r3, #255
61122 ldrne r1, [sp, #68]
61123 mov r3, r2, lsr #16
61124 ldrneh r1, [r1, #2]
61125 strneh r1, [r5, #2] @ movhi
61126 tst r3, #255
61127 ldrne r3, [sp, #68]
61128 ldrneh r3, [r3, #4]
61129 strneh r3, [r5, #4] @ movhi
61130 movs r2, r2, lsr #24
61131 ldrne r4, [sp, #68]
61132 ldrneh r4, [r4, #6]
61133 strneh r4, [r5, #6] @ movhi
61134.L19254:
61135 subs r0, r0, #4
61136 ldr r3, [r8, #4]
61137 beq .L18819
61138 ldr r6, [sp, #68]
61139 add r5, r5, #8
61140 add r6, r6, #8
61141 str r6, [sp, #68]
61142.L19264:
61143 mov r2, #0
61144.L19265:
61145 tst r3, #255
61146 ldrne ip, [sp, #68]
61147 mov r1, r2, asl #1
61148 ldrneh ip, [r1, ip]
61149 add r2, r2, #1
61150 strneh ip, [r1, r5] @ movhi
61151 cmp r0, r2
61152 mov r3, r3, lsr #8
61153 bhi .L19265
61154 b .L18819
61155.L19655:
61156 .align 2
61157.L19654:
61158 .word io_registers
61159 .word obj_priority_count
61160 .word obj_priority_list
61161 .word tile_mode_renderers
61162 .word oam_ram
61163 .word obj_width_table
61164 .word obj_height_table
61165 .word vram+65536
61166 .word vram+65472
61167 .word vram+65600
61168.L19644:
61169 rsb ip, r8, lr
61170 rsb r1, ip, fp
61171 cmp r1, #0
61172 ble .L18819
61173 ldr r2, [sp, #24]
61174 add r3, r8, fp
61175 cmp r2, r3
61176 bhi .L19037
61177 mov r3, ip, lsr #3
61178 ands r4, ip, #7
61179 sub r0, r0, r3, asl #5
61180 bne .L19039
61181 ldr r7, [sp, #124]
61182 ldr r1, [sp, #104]
61183.L19041:
61184 movs r3, r7, lsr #3
61185 beq .L19058
61186 ldr lr, [sp, #68]
61187 mov ip, r1
61188 mov r4, r0
61189 mov r5, #0
61190.L19060:
61191 ldr r2, [r4, #0]
61192 cmp r2, #0
61193 beq .L19061
61194 tst r2, #15
61195 ldrneh r6, [lr, #14]
61196 strneh r6, [ip, #14] @ movhi
61197 tst r2, #240
61198 ldrneh r6, [lr, #12]
61199 strneh r6, [ip, #12] @ movhi
61200 tst r2, #3840
61201 ldrneh r6, [lr, #10]
61202 strneh r6, [ip, #10] @ movhi
61203 tst r2, #61440
61204 ldrneh r6, [lr, #8]
61205 strneh r6, [ip, #8] @ movhi
61206 tst r2, #983040
61207 ldrneh r6, [lr, #6]
61208 strneh r6, [ip, #6] @ movhi
61209 tst r2, #15728640
61210 ldrneh r6, [lr, #4]
61211 strneh r6, [ip, #4] @ movhi
61212 tst r2, #251658240
61213 ldrneh r6, [lr, #2]
61214 strneh r6, [ip, #2] @ movhi
61215 movs r2, r2, lsr #28
61216 ldrneh r2, [lr, #0]
61217 strneh r2, [ip, #0] @ movhi
61218.L19061:
61219 add r5, r5, #1
61220 cmp r5, r3
61221 sub r4, r4, #32
61222 add ip, ip, #16
61223 add lr, lr, #16
61224 bne .L19060
61225 ldr r4, [sp, #68]
61226 rsb r2, r3, r3, asl #27
61227 mov r3, r3, asl #4
61228 add r4, r4, r3
61229 add r1, r1, r3
61230 add r0, r0, r2, asl #5
61231 str r4, [sp, #68]
61232.L19058:
61233 ands ip, r7, #7
61234 beq .L18819
61235 ldr r0, [r0, #0]
61236 mov r2, #0
61237.L19080:
61238 movs r5, r0, lsr #28
61239 ldrne r6, [sp, #68]
61240 mov r3, r2, asl #1
61241 ldrneh r6, [r3, r6]
61242 add r2, r2, #1
61243 strneh r6, [r3, r1] @ movhi
61244 cmp r2, ip
61245 mov r0, r0, asl #4
61246 bne .L19080
61247 b .L18819
61248.L19643:
61249 rsb ip, r8, r5
61250 rsb lr, ip, fp
61251 cmp lr, #0
61252 ble .L18819
61253 ldr r6, [sp, #24]
61254 add r3, r8, fp
61255 cmp r6, r3
61256 bhi .L18907
61257 mov r3, ip, lsr #3
61258 mov r1, r3, asl #5
61259 ands r3, ip, #7
61260 add r4, r0, r1
61261 bne .L18909
61262 ldr r7, [sp, #124]
61263 ldr r5, [sp, #104]
61264.L18911:
61265 movs lr, r7, lsr #3
61266 beq .L18928
61267 ldr r1, [sp, #68]
61268 mov r2, r5
61269 mov r0, r4
61270 mov ip, #0
61271.L18930:
61272 ldr r3, [r0, #0]
61273 cmp r3, #0
61274 beq .L18931
61275 tst r3, #15
61276 ldrneh r6, [r1, #0]
61277 strneh r6, [r2, #0] @ movhi
61278 tst r3, #240
61279 ldrneh r6, [r1, #2]
61280 strneh r6, [r2, #2] @ movhi
61281 tst r3, #3840
61282 ldrneh r6, [r1, #4]
61283 strneh r6, [r2, #4] @ movhi
61284 tst r3, #61440
61285 ldrneh r6, [r1, #6]
61286 strneh r6, [r2, #6] @ movhi
61287 tst r3, #983040
61288 ldrneh r6, [r1, #8]
61289 strneh r6, [r2, #8] @ movhi
61290 tst r3, #15728640
61291 ldrneh r6, [r1, #10]
61292 strneh r6, [r2, #10] @ movhi
61293 tst r3, #251658240
61294 ldrneh r6, [r1, #12]
61295 strneh r6, [r2, #12] @ movhi
61296 movs r3, r3, lsr #28
61297 ldrneh r3, [r1, #14]
61298 strneh r3, [r2, #14] @ movhi
61299.L18931:
61300 add ip, ip, #1
61301 cmp ip, lr
61302 add r0, r0, #32
61303 add r2, r2, #16
61304 add r1, r1, #16
61305 bne .L18930
61306 ldr r6, [sp, #68]
61307 mov r3, lr, asl #4
61308 add r6, r6, r3
61309 add r5, r5, r3
61310 add r4, r4, lr, asl #5
61311 str r6, [sp, #68]
61312.L18928:
61313 ands r0, r7, #7
61314 beq .L18819
61315 ldr r3, [r4, #0]
61316 mov r1, #0
61317.L18950:
61318 tst r3, #15
61319 ldrne ip, [sp, #68]
61320 mov r2, r1, asl #1
61321 ldrneh ip, [r2, ip]
61322 add r1, r1, #1
61323 strneh ip, [r2, r5] @ movhi
61324 cmp r1, r0
61325 mov r3, r3, lsr #4
61326 bne .L18950
61327 b .L18819
61328.L18876:
61329 cmp ip, fp
61330 bcs .L18819
61331.L19620:
61332 mov r3, ip, asr #1
61333 and r4, r3, #3
61334 mov r3, ip, asr #3
61335 mov r3, r3, asl #5
61336 mov r2, ip, asr #1
61337 tst ip, #1
61338 and lr, r2, #3
61339 add ip, r3, r5
61340 add r2, r3, r5
61341 ldreqb r3, [r2, lr] @ zero_extendqisi2
61342 ldrneb r3, [ip, r4] @ zero_extendqisi2
61343 andeq r2, r3, #15
61344 movne r2, r3, lsr #4
61345 cmp r2, #0
61346 ldrne r4, [sp, #68]
61347 ldr lr, [sp, #68]
61348 ldrneh r4, [r4, #0]
61349 ldr r3, [sp, #92]
61350 add r1, r1, #1
61351 strneh r4, [r8, #0] @ movhi
61352 add r0, r0, r3
61353 add lr, lr, #2
61354 cmp r6, r1
61355 mov ip, r0, asr #8
61356 add r8, r8, #2
61357 str lr, [sp, #68]
61358 bgt .L18876
61359 b .L18819
61360.L18844:
61361 cmp ip, fp
61362 bcs .L18819
61363.L19618:
61364 ldr r2, [sp, #88]
61365 mov r3, ip, asr #3
61366 add r3, r4, r3, asl #6
61367 and r1, ip, #7
61368 add r0, r0, r2
61369 ldrb r2, [r3, r1] @ zero_extendqisi2
61370 ldr r5, [sp, #68]
61371 cmp r2, #0
61372 ldrne r3, [sp, #68]
61373 add lr, lr, #1
61374 ldrneh r3, [r3, #0]
61375 add r5, r5, #2
61376 strneh r3, [r8, #0] @ movhi
61377 cmp r9, lr
61378 mov ip, r0, asr #8
61379 add r8, r8, #2
61380 str r5, [sp, #68]
61381 bgt .L18844
61382 b .L18819
61383.L19642:
61384 rsb r0, r8, lr
61385 rsb lr, r0, fp
61386 cmp lr, #0
61387 ble .L18819
61388 ldr r1, [sp, #24]
61389 add r3, r8, fp
61390 cmp r1, r3
61391 bhi .L19387
61392 mov r3, r0, lsr #3
61393 ands ip, r0, #7
61394 sub r8, r7, r3, asl #6
61395 bne .L19389
61396 ldr r7, [sp, #124]
61397 ldr r5, [sp, #104]
61398.L19391:
61399 movs r4, r7, lsr #3
61400 beq .L19449
61401 ldr r0, [sp, #68]
61402 mov r1, r5
61403 mov ip, r8
61404 mov lr, #0
61405.L19451:
61406 ldr r2, [ip, #4]
61407 cmp r2, #0
61408 beq .L19452
61409 tst r2, #255
61410 ldrneh r3, [r0, #6]
61411 strneh r3, [r1, #6] @ movhi
61412 mov r3, r2, lsr #8
61413 tst r3, #255
61414 ldrneh r6, [r0, #4]
61415 mov r3, r2, lsr #16
61416 strneh r6, [r1, #4] @ movhi
61417 tst r3, #255
61418 ldrneh r3, [r0, #2]
61419 strneh r3, [r1, #2] @ movhi
61420 movs r2, r2, lsr #24
61421 ldrneh r6, [r0, #0]
61422 strneh r6, [r1, #0] @ movhi
61423.L19452:
61424 ldr r2, [ip, #0]
61425 cmp r2, #0
61426 beq .L19461
61427 tst r2, #255
61428 ldrneh r3, [r0, #14]
61429 strneh r3, [r1, #14] @ movhi
61430 mov r3, r2, lsr #8
61431 tst r3, #255
61432 ldrneh r6, [r0, #12]
61433 mov r3, r2, lsr #16
61434 strneh r6, [r1, #12] @ movhi
61435 tst r3, #255
61436 ldrneh r3, [r0, #10]
61437 strneh r3, [r1, #10] @ movhi
61438 movs r2, r2, lsr #24
61439 ldrneh r6, [r0, #8]
61440 strneh r6, [r1, #8] @ movhi
61441.L19461:
61442 add lr, lr, #1
61443 cmp lr, r4
61444 sub ip, ip, #64
61445 add r1, r1, #16
61446 add r0, r0, #16
61447 bne .L19451
61448 ldr ip, [sp, #68]
61449 mov r3, r4, asl #4
61450 rsb r2, r4, r4, asl #26
61451 add ip, ip, r3
61452 add r5, r5, r3
61453 add r8, r8, r2, asl #6
61454 str ip, [sp, #68]
61455.L19449:
61456 ands ip, r7, #7
61457 beq .L18819
61458 cmp ip, #3
61459 ldrls r2, [r8, #4]
61460 bls .L19484
61461 ldr r2, [r8, #4]
61462 cmp r2, #0
61463 beq .L19474
61464 tst r2, #255
61465 ldrne lr, [sp, #68]
61466 mov r3, r2, lsr #8
61467 ldrneh lr, [lr, #6]
61468 strneh lr, [r5, #6] @ movhi
61469 tst r3, #255
61470 ldrne r0, [sp, #68]
61471 mov r3, r2, lsr #16
61472 ldrneh r0, [r0, #4]
61473 strneh r0, [r5, #4] @ movhi
61474 tst r3, #255
61475 ldrne r1, [sp, #68]
61476 ldrneh r1, [r1, #2]
61477 strneh r1, [r5, #2] @ movhi
61478 movs r2, r2, lsr #24
61479 ldrne r2, [sp, #68]
61480 ldrneh r2, [r2, #0]
61481 strneh r2, [r5, #0] @ movhi
61482.L19474:
61483 subs ip, ip, #4
61484 ldr r2, [r8, #0]
61485 beq .L18819
61486 ldr r3, [sp, #68]
61487 add r5, r5, #8
61488 add r3, r3, #8
61489 str r3, [sp, #68]
61490.L19484:
61491 mov r1, #0
61492.L19485:
61493 movs r4, r2, lsr #24
61494 ldrne r6, [sp, #68]
61495 mov r0, r1, asl #1
61496 ldrneh r6, [r0, r6]
61497 add r1, r1, #1
61498 strneh r6, [r0, r5] @ movhi
61499 cmp ip, r1
61500 mov r2, r2, asl #8
61501 bhi .L19485
61502 b .L18819
61503.L18985:
61504 cmp fp, #0
61505 add r3, fp, #7
61506 movge r3, fp
61507 movs r3, r3, asr #3
61508 beq .L18819
61509 ldr r6, [sp, #20]
61510 mov r2, #0
61511 add r1, r6, r8, asl #1
61512 b .L19015
61513.L19646:
61514 ldr ip, [sp, #68]
61515 add r0, r0, #32
61516 add ip, ip, #16
61517 add r1, r1, #16
61518 str ip, [sp, #68]
61519.L19015:
61520 ldr ip, [r0, #0]
61521 cmp ip, #0
61522 beq .L19016
61523 tst ip, #15
61524 ldrne lr, [sp, #68]
61525 ldrneh lr, [lr, #0]
61526 strneh lr, [r1, #0] @ movhi
61527 tst ip, #240
61528 ldrne r4, [sp, #68]
61529 ldrneh r4, [r4, #2]
61530 strneh r4, [r1, #2] @ movhi
61531 tst ip, #3840
61532 ldrne r5, [sp, #68]
61533 ldrneh r5, [r5, #4]
61534 strneh r5, [r1, #4] @ movhi
61535 tst ip, #61440
61536 ldrne r6, [sp, #68]
61537 ldrneh r6, [r6, #6]
61538 strneh r6, [r1, #6] @ movhi
61539 tst ip, #983040
61540 ldrne lr, [sp, #68]
61541 ldrneh lr, [lr, #8]
61542 strneh lr, [r1, #8] @ movhi
61543 tst ip, #15728640
61544 ldrne r4, [sp, #68]
61545 ldrneh r4, [r4, #10]
61546 strneh r4, [r1, #10] @ movhi
61547 tst ip, #251658240
61548 ldrne r5, [sp, #68]
61549 ldrneh r5, [r5, #12]
61550 strneh r5, [r1, #12] @ movhi
61551 movs ip, ip, lsr #28
61552 ldrne r6, [sp, #68]
61553 ldrneh r6, [r6, #14]
61554 strneh r6, [r1, #14] @ movhi
61555.L19016:
61556 add r2, r2, #1
61557 cmp r3, r2
61558 bne .L19646
61559 b .L18819
61560.L19115:
61561 cmp fp, #0
61562 add r3, fp, #7
61563 movge r3, fp
61564 movs r3, r3, asr #3
61565 beq .L18819
61566 ldr ip, [sp, #20]
61567 add r1, ip, r8, asl #1
61568 mov ip, #0
61569 b .L19145
61570.L19647:
61571 ldr lr, [sp, #68]
61572 sub r0, r0, #32
61573 add lr, lr, #16
61574 add r1, r1, #16
61575 str lr, [sp, #68]
61576.L19145:
61577 ldr r2, [r0, #0]
61578 cmp r2, #0
61579 beq .L19146
61580 tst r2, #15
61581 ldrne lr, [sp, #68]
61582 ldrneh lr, [lr, #14]
61583 strneh lr, [r1, #14] @ movhi
61584 tst r2, #240
61585 ldrne r4, [sp, #68]
61586 ldrneh r4, [r4, #12]
61587 strneh r4, [r1, #12] @ movhi
61588 tst r2, #3840
61589 ldrne r5, [sp, #68]
61590 ldrneh r5, [r5, #10]
61591 strneh r5, [r1, #10] @ movhi
61592 tst r2, #61440
61593 ldrne r6, [sp, #68]
61594 ldrneh r6, [r6, #8]
61595 strneh r6, [r1, #8] @ movhi
61596 tst r2, #983040
61597 ldrne lr, [sp, #68]
61598 ldrneh lr, [lr, #6]
61599 strneh lr, [r1, #6] @ movhi
61600 tst r2, #15728640
61601 ldrne r4, [sp, #68]
61602 ldrneh r4, [r4, #4]
61603 strneh r4, [r1, #4] @ movhi
61604 tst r2, #251658240
61605 ldrne r5, [sp, #68]
61606 ldrneh r5, [r5, #2]
61607 strneh r5, [r1, #2] @ movhi
61608 movs r2, r2, lsr #28
61609 ldrne r6, [sp, #68]
61610 ldrneh r6, [r6, #0]
61611 strneh r6, [r1, #0] @ movhi
61612.L19146:
61613 add ip, ip, #1
61614 cmp r3, ip
61615 bne .L19647
61616 b .L18819
61617.L19540:
61618 cmp fp, #0
61619 add r3, fp, #7
61620 movge r3, fp
61621 movs lr, r3, asr #3
61622 beq .L18819
61623 ldr r2, [sp, #20]
61624 ldr r3, .L19654+32
61625 add r1, r2, r8, asl #1
61626 add r0, r0, r3
61627 mov r2, #0
61628 b .L19584
61629.L19648:
61630 ldr ip, [sp, #68]
61631 sub r7, r7, #64
61632 add ip, ip, #16
61633 add r1, r1, #16
61634 str ip, [sp, #68]
61635.L19584:
61636 ldr ip, [r0, #68]
61637 cmp ip, #0
61638 beq .L19585
61639 tst ip, #255
61640 ldrne r3, [sp, #68]
61641 ldrneh r3, [r3, #6]
61642 strneh r3, [r1, #6] @ movhi
61643 mov r3, ip, lsr #8
61644 tst r3, #255
61645 ldrne r4, [sp, #68]
61646 mov r3, ip, lsr #16
61647 ldrneh r4, [r4, #4]
61648 strneh r4, [r1, #4] @ movhi
61649 tst r3, #255
61650 ldrne r5, [sp, #68]
61651 ldrneh r5, [r5, #2]
61652 strneh r5, [r1, #2] @ movhi
61653 movs ip, ip, lsr #24
61654 ldrne r6, [sp, #68]
61655 ldrneh r6, [r6, #0]
61656 strneh r6, [r1, #0] @ movhi
61657.L19585:
61658 ldr ip, [r7, #0]
61659 cmp ip, #0
61660 beq .L19594
61661 tst ip, #255
61662 ldrne r3, [sp, #68]
61663 ldrneh r3, [r3, #14]
61664 strneh r3, [r1, #14] @ movhi
61665 mov r3, ip, lsr #8
61666 tst r3, #255
61667 ldrne r4, [sp, #68]
61668 mov r3, ip, lsr #16
61669 ldrneh r4, [r4, #12]
61670 strneh r4, [r1, #12] @ movhi
61671 tst r3, #255
61672 ldrne r5, [sp, #68]
61673 ldrneh r5, [r5, #10]
61674 strneh r5, [r1, #10] @ movhi
61675 movs ip, ip, lsr #24
61676 ldrne r6, [sp, #68]
61677 ldrneh r6, [r6, #8]
61678 strneh r6, [r1, #8] @ movhi
61679.L19594:
61680 add r2, r2, #1
61681 cmp lr, r2
61682 sub r0, r0, #64
61683 bne .L19648
61684 b .L18819
61685.L19320:
61686 cmp fp, #0
61687 add r3, fp, #7
61688 movge r3, fp
61689 movs r4, r3, asr #3
61690 beq .L18819
61691 ldr r3, [sp, #20]
61692 mov lr, #0
61693 add r1, r3, r8, asl #1
61694 ldr r3, .L19654+36
61695 add r0, r0, r3
61696 b .L19364
61697.L19649:
61698 ldr ip, [sp, #68]
61699 add r2, r2, #64
61700 add ip, ip, #16
61701 add r1, r1, #16
61702 str ip, [sp, #68]
61703.L19364:
61704 ldr ip, [r2, #0]
61705 cmp ip, #0
61706 beq .L19365
61707 tst ip, #255
61708 ldrne r5, [sp, #68]
61709 mov r3, ip, lsr #8
61710 ldrneh r5, [r5, #0]
61711 strneh r5, [r1, #0] @ movhi
61712 tst r3, #255
61713 ldrne r6, [sp, #68]
61714 mov r3, ip, lsr #16
61715 ldrneh r6, [r6, #2]
61716 strneh r6, [r1, #2] @ movhi
61717 tst r3, #255
61718 ldrne r3, [sp, #68]
61719 ldrneh r3, [r3, #4]
61720 strneh r3, [r1, #4] @ movhi
61721 movs ip, ip, lsr #24
61722 ldrne r5, [sp, #68]
61723 ldrneh r5, [r5, #6]
61724 strneh r5, [r1, #6] @ movhi
61725.L19365:
61726 ldr ip, [r0, #-60]
61727 cmp ip, #0
61728 beq .L19374
61729 tst ip, #255
61730 ldrne r6, [sp, #68]
61731 mov r3, ip, lsr #8
61732 ldrneh r6, [r6, #8]
61733 strneh r6, [r1, #8] @ movhi
61734 tst r3, #255
61735 ldrne r3, [sp, #68]
61736 ldrneh r3, [r3, #10]
61737 strneh r3, [r1, #10] @ movhi
61738 mov r3, ip, lsr #16
61739 tst r3, #255
61740 ldrne r5, [sp, #68]
61741 ldrneh r5, [r5, #12]
61742 strneh r5, [r1, #12] @ movhi
61743 movs ip, ip, lsr #24
61744 ldrne r6, [sp, #68]
61745 ldrneh r6, [r6, #14]
61746 strneh r6, [r1, #14] @ movhi
61747.L19374:
61748 add lr, lr, #1
61749 cmp r4, lr
61750 add r0, r0, #64
61751 bne .L19649
61752 b .L18819
61753.L19167:
61754 ands r1, r0, #7
61755 mov r3, r0, lsr #3
61756 add ip, r2, r3, asl #6
61757 ldreq r1, [sp, #104]
61758 beq .L19271
61759 cmp r1, #3
61760 rsb r0, r1, #8
61761 bls .L19272
61762 cmp r0, #0
61763 ldr r2, [ip, #4]
61764 ldreq r1, [sp, #104]
61765 beq .L19276
61766 mov r3, r1, asl #3
61767 sub r3, r3, #32
61768 mov r3, r2, lsr r3
61769 mov r1, #0
61770.L19277:
61771 tst r3, #255
61772 ldrne r4, [sp, #68]
61773 mov r2, r1, asl #1
61774 ldrneh r5, [r2, r4]
61775 ldrne r4, [sp, #104]
61776 add r1, r1, #1
61777 strneh r5, [r2, r4] @ movhi
61778 cmp r0, r1
61779 mov r3, r3, lsr #8
61780 bne .L19277
61781 ldr r6, [sp, #68]
61782 mov r3, r0, asl #1
61783 ldr r0, [sp, #104]
61784 add r6, r6, r3
61785 str r6, [sp, #68]
61786 add r1, r0, r3
61787.L19276:
61788 add ip, ip, #64
61789.L19271:
61790 movs lr, lr, lsr #3
61791 beq .L18819
61792 mov r0, #0
61793 b .L19300
61794.L19650:
61795 ldr r2, [sp, #68]
61796 add ip, ip, #64
61797 add r2, r2, #16
61798 add r1, r1, #16
61799 str r2, [sp, #68]
61800.L19300:
61801 ldr r2, [ip, #0]
61802 cmp r2, #0
61803 beq .L19301
61804 tst r2, #255
61805 ldrne r3, [sp, #68]
61806 ldrneh r3, [r3, #0]
61807 strneh r3, [r1, #0] @ movhi
61808 mov r3, r2, lsr #8
61809 tst r3, #255
61810 ldrne r4, [sp, #68]
61811 mov r3, r2, lsr #16
61812 ldrneh r4, [r4, #2]
61813 strneh r4, [r1, #2] @ movhi
61814 tst r3, #255
61815 ldrne r5, [sp, #68]
61816 ldrneh r5, [r5, #4]
61817 strneh r5, [r1, #4] @ movhi
61818 movs r2, r2, lsr #24
61819 ldrne r6, [sp, #68]
61820 ldrneh r6, [r6, #6]
61821 strneh r6, [r1, #6] @ movhi
61822.L19301:
61823 ldr r2, [ip, #4]
61824 cmp r2, #0
61825 beq .L19310
61826 tst r2, #255
61827 ldrne r3, [sp, #68]
61828 ldrneh r3, [r3, #8]
61829 strneh r3, [r1, #8] @ movhi
61830 mov r3, r2, lsr #8
61831 tst r3, #255
61832 ldrne r4, [sp, #68]
61833 mov r3, r2, lsr #16
61834 ldrneh r4, [r4, #10]
61835 strneh r4, [r1, #10] @ movhi
61836 tst r3, #255
61837 ldrne r5, [sp, #68]
61838 ldrneh r5, [r5, #12]
61839 strneh r5, [r1, #12] @ movhi
61840 movs r2, r2, lsr #24
61841 ldrne r6, [sp, #68]
61842 ldrneh r6, [r6, #14]
61843 strneh r6, [r1, #14] @ movhi
61844.L19310:
61845 add r0, r0, #1
61846 cmp r0, lr
61847 bne .L19650
61848 b .L18819
61849.L19037:
61850 mov r3, ip, lsr #3
61851 ands r2, ip, #7
61852 sub r0, r0, r3, asl #5
61853 ldreq r3, [sp, #104]
61854 beq .L19086
61855 rsbs r4, r2, #8
61856 ldr ip, [r0, #0]
61857 ldreq r3, [sp, #104]
61858 beq .L19089
61859 mov r3, r2, asl #2
61860 mov r3, ip, asl r3
61861 mov lr, #0
61862.L19090:
61863 movs ip, r3, lsr #28
61864 ldrne r2, [sp, #68]
61865 mov ip, lr, asl #1
61866 ldrneh r5, [ip, r2]
61867 ldrne r2, [sp, #104]
61868 add lr, lr, #1
61869 strneh r5, [ip, r2] @ movhi
61870 cmp lr, r4
61871 mov r3, r3, asl #4
61872 bne .L19090
61873 ldr r6, [sp, #68]
61874 mov r3, r4, asl #1
61875 ldr ip, [sp, #104]
61876 add r6, r6, r3
61877 str r6, [sp, #68]
61878 add r3, ip, r3
61879.L19089:
61880 sub r0, r0, #32
61881.L19086:
61882 movs r1, r1, lsr #3
61883 beq .L18819
61884 mov r2, #0
61885 b .L19096
61886.L19651:
61887 ldr ip, [sp, #68]
61888 sub r0, r0, #32
61889 add ip, ip, #16
61890 add r3, r3, #16
61891 str ip, [sp, #68]
61892.L19096:
61893 ldr ip, [r0, #0]
61894 cmp ip, #0
61895 beq .L19097
61896 tst ip, #15
61897 ldrne lr, [sp, #68]
61898 ldrneh lr, [lr, #14]
61899 strneh lr, [r3, #14] @ movhi
61900 tst ip, #240
61901 ldrne r4, [sp, #68]
61902 ldrneh r4, [r4, #12]
61903 strneh r4, [r3, #12] @ movhi
61904 tst ip, #3840
61905 ldrne r5, [sp, #68]
61906 ldrneh r5, [r5, #10]
61907 strneh r5, [r3, #10] @ movhi
61908 tst ip, #61440
61909 ldrne r6, [sp, #68]
61910 ldrneh r6, [r6, #8]
61911 strneh r6, [r3, #8] @ movhi
61912 tst ip, #983040
61913 ldrne lr, [sp, #68]
61914 ldrneh lr, [lr, #6]
61915 strneh lr, [r3, #6] @ movhi
61916 tst ip, #15728640
61917 ldrne r4, [sp, #68]
61918 ldrneh r4, [r4, #4]
61919 strneh r4, [r3, #4] @ movhi
61920 tst ip, #251658240
61921 ldrne r5, [sp, #68]
61922 ldrneh r5, [r5, #2]
61923 strneh r5, [r3, #2] @ movhi
61924 movs ip, ip, lsr #28
61925 ldrne r6, [sp, #68]
61926 ldrneh r6, [r6, #0]
61927 strneh r6, [r3, #0] @ movhi
61928.L19097:
61929 add r2, r2, #1
61930 cmp r2, r1
61931 bne .L19651
61932 b .L18819
61933.L18907:
61934 mov r3, ip, lsr #3
61935 mov r1, r3, asl #5
61936 ands r3, ip, #7
61937 ldreq r3, [sp, #104]
61938 add ip, r0, r1
61939 beq .L18956
61940 rsbs r4, r3, #8
61941 ldr r0, [r0, r1]
61942 ldreq r3, [sp, #104]
61943 beq .L18959
61944 mov r3, r3, asl #2
61945 mov r0, r0, lsr r3
61946 mov r2, #0
61947.L18960:
61948 tst r0, #15
61949 ldrne r1, [sp, #68]
61950 mov r3, r2, asl #1
61951 ldrneh r5, [r3, r1]
61952 ldrne r1, [sp, #104]
61953 add r2, r2, #1
61954 strneh r5, [r3, r1] @ movhi
61955 cmp r4, r2
61956 mov r0, r0, lsr #4
61957 bne .L18960
61958 ldr r6, [sp, #68]
61959 mov r3, r4, asl #1
61960 ldr r0, [sp, #104]
61961 add r6, r6, r3
61962 str r6, [sp, #68]
61963 add r3, r0, r3
61964.L18959:
61965 add ip, ip, #32
61966.L18956:
61967 movs r0, lr, lsr #3
61968 beq .L18819
61969 mov r1, #0
61970 b .L18966
61971.L19652:
61972 ldr r2, [sp, #68]
61973 add ip, ip, #32
61974 add r2, r2, #16
61975 add r3, r3, #16
61976 str r2, [sp, #68]
61977.L18966:
61978 ldr r2, [ip, #0]
61979 cmp r2, #0
61980 beq .L18967
61981 tst r2, #15
61982 ldrne r4, [sp, #68]
61983 ldrneh r4, [r4, #0]
61984 strneh r4, [r3, #0] @ movhi
61985 tst r2, #240
61986 ldrne r5, [sp, #68]
61987 ldrneh r5, [r5, #2]
61988 strneh r5, [r3, #2] @ movhi
61989 tst r2, #3840
61990 ldrne r6, [sp, #68]
61991 ldrneh r6, [r6, #4]
61992 strneh r6, [r3, #4] @ movhi
61993 tst r2, #61440
61994 ldrne lr, [sp, #68]
61995 ldrneh lr, [lr, #6]
61996 strneh lr, [r3, #6] @ movhi
61997 tst r2, #983040
61998 ldrne r4, [sp, #68]
61999 ldrneh r4, [r4, #8]
62000 strneh r4, [r3, #8] @ movhi
62001 tst r2, #15728640
62002 ldrne r5, [sp, #68]
62003 ldrneh r5, [r5, #10]
62004 strneh r5, [r3, #10] @ movhi
62005 tst r2, #251658240
62006 ldrne r6, [sp, #68]
62007 ldrneh r6, [r6, #12]
62008 strneh r6, [r3, #12] @ movhi
62009 movs r2, r2, lsr #28
62010 ldrne lr, [sp, #68]
62011 ldrneh lr, [lr, #14]
62012 strneh lr, [r3, #14] @ movhi
62013.L18967:
62014 add r1, r1, #1
62015 cmp r1, r0
62016 bne .L19652
62017 b .L18819
62018.L19387:
62019 ands r2, r0, #7
62020 mov r3, r0, lsr #3
62021 sub ip, r7, r3, asl #6
62022 ldreq r1, [sp, #104]
62023 beq .L19491
62024 cmp r2, #3
62025 rsb r0, r2, #8
62026 bls .L19492
62027 cmp r0, #0
62028 ldr r1, [ip, #0]
62029 ldreq r1, [sp, #104]
62030 beq .L19496
62031 mov r3, r2, asl #3
62032 sub r3, r3, #32
62033 mov r3, r1, asl r3
62034 mov r1, #0
62035.L19497:
62036 movs r2, r3, lsr #24
62037 ldrne r4, [sp, #68]
62038 mov r2, r1, asl #1
62039 ldrneh r5, [r2, r4]
62040 ldrne r4, [sp, #104]
62041 add r1, r1, #1
62042 strneh r5, [r2, r4] @ movhi
62043 cmp r1, r0
62044 mov r3, r3, asl #8
62045 bne .L19497
62046 ldr r6, [sp, #68]
62047 mov r3, r0, asl #1
62048 ldr r0, [sp, #104]
62049 add r6, r6, r3
62050 str r6, [sp, #68]
62051 add r1, r0, r3
62052.L19496:
62053 sub ip, ip, #64
62054.L19491:
62055 movs lr, lr, lsr #3
62056 beq .L18819
62057 mov r0, #0
62058 b .L19520
62059.L19653:
62060 ldr r2, [sp, #68]
62061 sub ip, ip, #64
62062 add r2, r2, #16
62063 add r1, r1, #16
62064 str r2, [sp, #68]
62065.L19520:
62066 ldr r2, [ip, #4]
62067 cmp r2, #0
62068 beq .L19521
62069 tst r2, #255
62070 ldrne r3, [sp, #68]
62071 ldrneh r3, [r3, #6]
62072 strneh r3, [r1, #6] @ movhi
62073 mov r3, r2, lsr #8
62074 tst r3, #255
62075 ldrne r4, [sp, #68]
62076 mov r3, r2, lsr #16
62077 ldrneh r4, [r4, #4]
62078 strneh r4, [r1, #4] @ movhi
62079 tst r3, #255
62080 ldrne r5, [sp, #68]
62081 ldrneh r5, [r5, #2]
62082 strneh r5, [r1, #2] @ movhi
62083 movs r2, r2, lsr #24
62084 ldrne r6, [sp, #68]
62085 ldrneh r6, [r6, #0]
62086 strneh r6, [r1, #0] @ movhi
62087.L19521:
62088 ldr r2, [ip, #0]
62089 cmp r2, #0
62090 beq .L19530
62091 tst r2, #255
62092 ldrne r3, [sp, #68]
62093 ldrneh r3, [r3, #14]
62094 strneh r3, [r1, #14] @ movhi
62095 mov r3, r2, lsr #8
62096 tst r3, #255
62097 ldrne r4, [sp, #68]
62098 mov r3, r2, lsr #16
62099 ldrneh r4, [r4, #12]
62100 strneh r4, [r1, #12] @ movhi
62101 tst r3, #255
62102 ldrne r5, [sp, #68]
62103 ldrneh r5, [r5, #10]
62104 strneh r5, [r1, #10] @ movhi
62105 movs r2, r2, lsr #24
62106 ldrne r6, [sp, #68]
62107 ldrneh r6, [r6, #8]
62108 strneh r6, [r1, #8] @ movhi
62109.L19530:
62110 add r0, r0, #1
62111 cmp r0, lr
62112 bne .L19653
62113 b .L18819
62114.L18909:
62115 ldr lr, [sp, #124]
62116 rsb ip, r3, #8
62117 cmp lr, ip
62118 bge .L18912
62119 cmp lr, #0
62120 ble .L18819
62121 ldr r2, [r0, r1]
62122 mov r3, r3, asl #2
62123 mov r0, r2, lsr r3
62124 mov r2, #0
62125.L18916:
62126 tst r0, #15
62127 ldrne r1, [sp, #68]
62128 mov r3, r2, asl #1
62129 ldrneh r4, [r3, r1]
62130 ldr r5, [sp, #124]
62131 ldrne r1, [sp, #104]
62132 add r2, r2, #1
62133 strneh r4, [r3, r1] @ movhi
62134 cmp r5, r2
62135 mov r0, r0, lsr #4
62136 bne .L18916
62137 b .L18819
62138.L19389:
62139 ldr r2, [sp, #124]
62140 rsb lr, ip, #8
62141 cmp r2, lr
62142 bge .L19392
62143 cmp r2, #0
62144 ble .L18819
62145 cmp ip, #3
62146 bls .L19395
62147 ldr r2, [r8, #0]
62148 mov r3, ip, asl #3
62149 sub r3, r3, #32
62150 mov r2, r2, asl r3
62151 mov r1, #0
62152.L19398:
62153 movs r3, r2, lsr #24
62154 ldrne r4, [sp, #68]
62155 mov r3, r1, asl #1
62156 ldrneh r5, [r3, r4]
62157 ldr r6, [sp, #124]
62158 ldrne r4, [sp, #104]
62159 add r1, r1, #1
62160 strneh r5, [r3, r4] @ movhi
62161 cmp r6, r1
62162 mov r2, r2, asl #8
62163 bne .L19398
62164 b .L18819
62165.L19169:
62166 ldr r5, [sp, #124]
62167 rsb lr, ip, #8
62168 cmp r5, lr
62169 bge .L19172
62170 cmp r5, #0
62171 ble .L18819
62172 cmp ip, #3
62173 bls .L19175
62174 ldr r2, [r8, #4]
62175 mov r3, ip, asl #3
62176 sub r3, r3, #32
62177 mov r1, r2, lsr r3
62178 mov r2, #0
62179.L19178:
62180 tst r1, #255
62181 ldrne r6, [sp, #68]
62182 mov r3, r2, asl #1
62183 ldrneh ip, [r3, r6]
62184 ldr lr, [sp, #124]
62185 ldrne r6, [sp, #104]
62186 add r2, r2, #1
62187 strneh ip, [r3, r6] @ movhi
62188 cmp lr, r2
62189 mov r1, r1, lsr #8
62190 bne .L19178
62191 b .L18819
62192.L19039:
62193 ldr r3, [sp, #124]
62194 rsb lr, r4, #8
62195 cmp r3, lr
62196 bge .L19042
62197 cmp r3, #0
62198 ble .L18819
62199 ldr r2, [r0, #0]
62200 mov r3, r4, asl #2
62201 mov r0, r2, asl r3
62202 mov r2, #0
62203.L19046:
62204 movs r4, r0, lsr #28
62205 ldrne r5, [sp, #68]
62206 mov r3, r2, asl #1
62207 ldrneh r6, [r3, r5]
62208 ldr ip, [sp, #124]
62209 ldrne r5, [sp, #104]
62210 add r2, r2, #1
62211 strneh r6, [r3, r5] @ movhi
62212 cmp ip, r2
62213 mov r0, r0, asl #4
62214 bne .L19046
62215 b .L18819
62216.L19172:
62217 cmp ip, #3
62218 bls .L19202
62219 cmp lr, #0
62220 ldr r2, [r8, #4]
62221 ldreq r5, [sp, #104]
62222 beq .L19206
62223 mov r3, ip, asl #3
62224 sub r3, r3, #32
62225 mov r1, r2, lsr r3
62226 mov r2, #0
62227.L19207:
62228 tst r1, #255
62229 ldrne r0, [sp, #68]
62230 mov r3, r2, asl #1
62231 ldrneh r4, [r3, r0]
62232 ldrne r0, [sp, #104]
62233 add r2, r2, #1
62234 strneh r4, [r3, r0] @ movhi
62235 cmp lr, r2
62236 mov r1, r1, lsr #8
62237 bne .L19207
62238 ldr r5, [sp, #68]
62239 mov r3, lr, asl #1
62240 ldr r6, [sp, #104]
62241 add r5, r5, r3
62242 str r5, [sp, #68]
62243 add r5, r3, r6
62244.L19206:
62245 ldr ip, [sp, #124]
62246 add r8, r8, #64
62247 rsb r7, lr, ip
62248 b .L19171
62249.L19272:
62250 subs r4, r0, #4
62251 ldr r2, [ip, #0]
62252 ldreq r1, [sp, #104]
62253 beq .L19284
62254 mov r3, r1, asl #3
62255 mov r3, r2, lsr r3
62256 mov r1, #0
62257.L19285:
62258 tst r3, #255
62259 ldrne r5, [sp, #68]
62260 mov r2, r1, asl #1
62261 ldrneh r6, [r2, r5]
62262 ldrne r5, [sp, #104]
62263 add r1, r1, #1
62264 strneh r6, [r2, r5] @ movhi
62265 cmp r1, r4
62266 mov r3, r3, lsr #8
62267 bne .L19285
62268 mov r3, r0, asl #1
62269 ldr r0, [sp, #68]
62270 ldr r1, [sp, #104]
62271 add r2, r0, r3
62272 sub r2, r2, #8
62273 add r3, r1, r3
62274 str r2, [sp, #68]
62275 sub r1, r3, #8
62276.L19284:
62277 ldr r2, [ip, #4]
62278 cmp r2, #0
62279 beq .L19290
62280 tst r2, #255
62281 ldrne r3, [sp, #68]
62282 ldrneh r3, [r3, #0]
62283 strneh r3, [r1, #0] @ movhi
62284 mov r3, r2, lsr #8
62285 tst r3, #255
62286 ldrne r4, [sp, #68]
62287 mov r3, r2, lsr #16
62288 ldrneh r4, [r4, #2]
62289 strneh r4, [r1, #2] @ movhi
62290 tst r3, #255
62291 ldrne r5, [sp, #68]
62292 ldrneh r5, [r5, #4]
62293 strneh r5, [r1, #4] @ movhi
62294 movs r2, r2, lsr #24
62295 ldrne r6, [sp, #68]
62296 ldrneh r6, [r6, #6]
62297 strneh r6, [r1, #6] @ movhi
62298.L19290:
62299 ldr r0, [sp, #68]
62300 add r1, r1, #8
62301 add r0, r0, #8
62302 add ip, ip, #64
62303 str r0, [sp, #68]
62304 b .L19271
62305.L18912:
62306 cmp ip, #0
62307 ldr r2, [r4, #0]
62308 ldreq r5, [sp, #104]
62309 beq .L18922
62310 mov r3, r3, asl #2
62311 mov r3, r2, lsr r3
62312 mov r1, #0
62313.L18923:
62314 tst r3, #15
62315 ldrne r6, [sp, #68]
62316 mov r2, r1, asl #1
62317 ldrneh lr, [r2, r6]
62318 ldrne r6, [sp, #104]
62319 add r1, r1, #1
62320 strneh lr, [r2, r6] @ movhi
62321 cmp ip, r1
62322 mov r3, r3, lsr #4
62323 bne .L18923
62324 ldr r0, [sp, #68]
62325 mov r3, ip, asl #1
62326 ldr r1, [sp, #104]
62327 add r0, r0, r3
62328 str r0, [sp, #68]
62329 add r5, r3, r1
62330.L18922:
62331 ldr r2, [sp, #124]
62332 add r4, r4, #32
62333 rsb r7, ip, r2
62334 b .L18911
62335.L19042:
62336 cmp lr, #0
62337 ldr r2, [r0, #0]
62338 ldreq r1, [sp, #104]
62339 beq .L19052
62340 mov r3, r4, asl #2
62341 mov r3, r2, asl r3
62342 mov ip, #0
62343.L19053:
62344 movs r1, r3, lsr #28
62345 ldrne r4, [sp, #68]
62346 mov r2, ip, asl #1
62347 ldrneh r5, [r2, r4]
62348 ldrne r4, [sp, #104]
62349 add ip, ip, #1
62350 strneh r5, [r2, r4] @ movhi
62351 cmp lr, ip
62352 mov r3, r3, asl #4
62353 bne .L19053
62354 ldr r6, [sp, #68]
62355 mov r3, lr, asl #1
62356 ldr ip, [sp, #104]
62357 add r6, r6, r3
62358 str r6, [sp, #68]
62359 add r1, r3, ip
62360.L19052:
62361 ldr r2, [sp, #124]
62362 sub r0, r0, #32
62363 rsb r7, lr, r2
62364 b .L19041
62365.L19492:
62366 subs r4, r0, #4
62367 ldr r1, [ip, #4]
62368 ldreq r1, [sp, #104]
62369 beq .L19504
62370 mov r3, r2, asl #3
62371 sub r3, r3, #32
62372 mov r3, r1, asl r3
62373 mov r1, #0
62374.L19505:
62375 movs r2, r3, lsr #24
62376 ldrne r5, [sp, #68]
62377 mov r2, r1, asl #1
62378 ldrneh r6, [r2, r5]
62379 ldrne r5, [sp, #104]
62380 add r1, r1, #1
62381 strneh r6, [r2, r5] @ movhi
62382 cmp r1, r4
62383 mov r3, r3, asl #8
62384 bne .L19505
62385 mov r3, r0, asl #1
62386 ldr r0, [sp, #68]
62387 ldr r1, [sp, #104]
62388 add r2, r0, r3
62389 sub r2, r2, #8
62390 add r3, r1, r3
62391 str r2, [sp, #68]
62392 sub r1, r3, #8
62393.L19504:
62394 ldr r2, [ip, #0]
62395 cmp r2, #0
62396 beq .L19510
62397 tst r2, #255
62398 ldrne r3, [sp, #68]
62399 ldrneh r3, [r3, #6]
62400 strneh r3, [r1, #6] @ movhi
62401 mov r3, r2, lsr #8
62402 tst r3, #255
62403 ldrne r4, [sp, #68]
62404 mov r3, r2, lsr #16
62405 ldrneh r4, [r4, #4]
62406 strneh r4, [r1, #4] @ movhi
62407 tst r3, #255
62408 ldrne r5, [sp, #68]
62409 ldrneh r5, [r5, #2]
62410 strneh r5, [r1, #2] @ movhi
62411 movs r2, r2, lsr #24
62412 ldrne r6, [sp, #68]
62413 ldrneh r6, [r6, #0]
62414 strneh r6, [r1, #0] @ movhi
62415.L19510:
62416 ldr r0, [sp, #68]
62417 add r1, r1, #8
62418 add r0, r0, #8
62419 sub ip, ip, #64
62420 str r0, [sp, #68]
62421 b .L19491
62422.L19392:
62423 cmp ip, #3
62424 bls .L19422
62425 cmp lr, #0
62426 ldr r2, [r8, #0]
62427 ldreq r5, [sp, #104]
62428 beq .L19426
62429 mov r3, ip, asl #3
62430 sub r3, r3, #32
62431 mov r3, r2, asl r3
62432 mov r1, #0
62433.L19427:
62434 movs r0, r3, lsr #24
62435 ldrne r4, [sp, #68]
62436 mov r2, r1, asl #1
62437 ldrneh r5, [r2, r4]
62438 ldrne r4, [sp, #104]
62439 add r1, r1, #1
62440 strneh r5, [r2, r4] @ movhi
62441 cmp lr, r1
62442 mov r3, r3, asl #8
62443 bne .L19427
62444 ldr r6, [sp, #68]
62445 mov r3, lr, asl #1
62446 ldr ip, [sp, #104]
62447 add r6, r6, r3
62448 str r6, [sp, #68]
62449 add r5, ip, r3
62450.L19426:
62451 ldr ip, [sp, #124]
62452 sub r8, r8, #64
62453 rsb r7, lr, ip
62454 b .L19391
62455.L19638:
62456 mov r7, #0
62457 b .L18889
62458.L19634:
62459 mov r7, #0
62460 b .L18854
62461.L19202:
62462 subs r0, lr, #4
62463 ldr r2, [r8, #0]
62464 ldreq r1, [sp, #104]
62465 beq .L19214
62466 mov r3, ip, asl #3
62467 mov r1, r2, lsr r3
62468 mov r2, #0
62469.L19215:
62470 tst r1, #255
62471 ldrne ip, [sp, #68]
62472 mov r3, r2, asl #1
62473 ldrneh r4, [r3, ip]
62474 ldrne ip, [sp, #104]
62475 add r2, r2, #1
62476 strneh r4, [r3, ip] @ movhi
62477 cmp r2, r0
62478 mov r1, r1, lsr #8
62479 bne .L19215
62480 ldr r5, [sp, #68]
62481 mov r3, lr, asl #1
62482 ldr r6, [sp, #104]
62483 add r2, r5, r3
62484 sub r2, r2, #8
62485 add r3, r6, r3
62486 str r2, [sp, #68]
62487 sub r1, r3, #8
62488.L19214:
62489 ldr r2, [r8, #4]
62490 cmp r2, #0
62491 beq .L19220
62492 tst r2, #255
62493 ldrne ip, [sp, #68]
62494 mov r3, r2, lsr #8
62495 ldrneh ip, [ip, #0]
62496 strneh ip, [r1, #0] @ movhi
62497 tst r3, #255
62498 ldrne r0, [sp, #68]
62499 mov r3, r2, lsr #16
62500 ldrneh r0, [r0, #2]
62501 strneh r0, [r1, #2] @ movhi
62502 tst r3, #255
62503 ldrne r3, [sp, #68]
62504 ldrneh r3, [r3, #4]
62505 strneh r3, [r1, #4] @ movhi
62506 movs r2, r2, lsr #24
62507 ldrne r4, [sp, #68]
62508 ldrneh r4, [r4, #6]
62509 strneh r4, [r1, #6] @ movhi
62510.L19220:
62511 ldr r6, [sp, #68]
62512 add r5, r1, #8
62513 add r6, r6, #8
62514 str r6, [sp, #68]
62515 b .L19206
62516.L19422:
62517 subs r0, lr, #4
62518 ldr r2, [r8, #4]
62519 ldreq r1, [sp, #104]
62520 beq .L19434
62521 mov r3, ip, asl #3
62522 sub r3, r3, #32
62523 mov r3, r2, asl r3
62524 mov r1, #0
62525.L19435:
62526 movs r2, r3, lsr #24
62527 ldrne r4, [sp, #68]
62528 mov r2, r1, asl #1
62529 ldrneh r5, [r2, r4]
62530 ldrne r4, [sp, #104]
62531 add r1, r1, #1
62532 strneh r5, [r2, r4] @ movhi
62533 cmp r1, r0
62534 mov r3, r3, asl #8
62535 bne .L19435
62536 ldr r6, [sp, #68]
62537 mov r3, lr, asl #1
62538 ldr ip, [sp, #104]
62539 add r2, r6, r3
62540 sub r2, r2, #8
62541 add r3, ip, r3
62542 str r2, [sp, #68]
62543 sub r1, r3, #8
62544.L19434:
62545 ldr r2, [r8, #0]
62546 cmp r2, #0
62547 beq .L19440
62548 tst r2, #255
62549 ldrne r0, [sp, #68]
62550 mov r3, r2, lsr #8
62551 ldrneh r0, [r0, #6]
62552 strneh r0, [r1, #6] @ movhi
62553 tst r3, #255
62554 ldrne r3, [sp, #68]
62555 ldrneh r3, [r3, #4]
62556 strneh r3, [r1, #4] @ movhi
62557 mov r3, r2, lsr #16
62558 tst r3, #255
62559 ldrne r4, [sp, #68]
62560 ldrneh r4, [r4, #2]
62561 strneh r4, [r1, #2] @ movhi
62562 movs r2, r2, lsr #24
62563 ldrne r5, [sp, #68]
62564 ldrneh r5, [r5, #0]
62565 strneh r5, [r1, #0] @ movhi
62566.L19440:
62567 ldr r6, [sp, #68]
62568 add r5, r1, #8
62569 add r6, r6, #8
62570 str r6, [sp, #68]
62571 b .L19426
62572.L19641:
62573 mov r1, r9
62574 b .L19620
62575.L19640:
62576 mov lr, r6
62577 b .L19618
62578.L19175:
62579 ldr r0, [sp, #124]
62580 ldr r3, [r8, #0]
62581 add r2, r0, ip
62582 mov r1, ip, asl #3
62583 cmp r2, #4
62584 mov r3, r3, lsr r1
62585 bhi .L19182
62586 cmp r0, #0
62587 movne r1, #0
62588 beq .L18819
62589.L19198:
62590 tst r3, #255
62591 ldrne r5, [sp, #68]
62592 mov r2, r1, asl #1
62593 ldrneh r6, [r2, r5]
62594 ldr ip, [sp, #124]
62595 ldrne r5, [sp, #104]
62596 add r1, r1, #1
62597 strneh r6, [r2, r5] @ movhi
62598 cmp ip, r1
62599 mov r3, r3, lsr #8
62600 bne .L19198
62601 b .L18819
62602.L19395:
62603 ldr lr, [sp, #124]
62604 mov r3, ip, asl #3
62605 ldr r1, [r8, #4]
62606 add r2, lr, ip
62607 sub r3, r3, #32
62608 cmp r2, #4
62609 mov r1, r1, asl r3
62610 bhi .L19402
62611 cmp lr, #0
62612 movne r2, #0
62613 beq .L18819
62614.L19418:
62615 movs r5, r1, lsr #24
62616 ldrne r6, [sp, #68]
62617 mov r3, r2, asl #1
62618 ldrneh ip, [r3, r6]
62619 ldr lr, [sp, #124]
62620 ldrne r6, [sp, #104]
62621 add r2, r2, #1
62622 strneh ip, [r3, r6] @ movhi
62623 cmp lr, r2
62624 mov r1, r1, asl #8
62625 bne .L19418
62626 b .L18819
62627.L19182:
62628 rsbs r0, ip, #4
62629 ldreq ip, [sp, #104]
62630 beq .L19187
62631 mov r1, #0
62632.L19188:
62633 tst r3, #255
62634 ldrne r4, [sp, #68]
62635 mov r2, r1, asl #1
62636 ldrneh r5, [r2, r4]
62637 ldrne r4, [sp, #104]
62638 add r1, r1, #1
62639 strneh r5, [r2, r4] @ movhi
62640 cmp r1, r0
62641 mov r3, r3, lsr #8
62642 bne .L19188
62643 ldr r6, [sp, #68]
62644 mov r3, r0, asl #1
62645 ldr lr, [sp, #104]
62646 add r6, r6, r3
62647 str r6, [sp, #68]
62648 add ip, r3, lr
62649.L19187:
62650 ldr r1, [sp, #124]
62651 ldr r3, [r8, #4]
62652 subs r0, r1, r0
62653 beq .L18819
62654 mov r1, #0
62655.L19194:
62656 tst r3, #255
62657 ldrne r4, [sp, #68]
62658 mov r2, r1, asl #1
62659 ldrneh r4, [r2, r4]
62660 add r1, r1, #1
62661 strneh r4, [r2, ip] @ movhi
62662 cmp r1, r0
62663 mov r3, r3, lsr #8
62664 bne .L19194
62665 b .L18819
62666.L19402:
62667 rsbs r0, ip, #4
62668 ldreq r3, [sp, #104]
62669 beq .L19407
62670 mov r2, #0
62671.L19408:
62672 movs r3, r1, lsr #24
62673 ldrne r4, [sp, #68]
62674 mov r3, r2, asl #1
62675 ldrneh r5, [r3, r4]
62676 ldrne r4, [sp, #104]
62677 add r2, r2, #1
62678 strneh r5, [r3, r4] @ movhi
62679 cmp r2, r0
62680 mov r1, r1, asl #8
62681 bne .L19408
62682 ldr r6, [sp, #68]
62683 mov r3, r0, asl #1
62684 ldr ip, [sp, #104]
62685 add r6, r6, r3
62686 str r6, [sp, #68]
62687 add r3, r3, ip
62688.L19407:
62689 ldr lr, [sp, #124]
62690 ldr r2, [r8, #0]
62691 subs ip, lr, r0
62692 beq .L18819
62693 mov r0, #0
62694.L19414:
62695 movs r1, r2, lsr #24
62696 ldrne r4, [sp, #68]
62697 mov r1, r0, asl #1
62698 ldrneh r4, [r1, r4]
62699 add r0, r0, #1
62700 strneh r4, [r1, r3] @ movhi
62701 cmp r0, ip
62702 mov r2, r2, asl #8
62703 bne .L19414
62704 b .L18819
62705 .size render_scanline_obj_copy_tile_2D, .-render_scanline_obj_copy_tile_2D
62706 .align 2
62707 .global render_scanline_obj_copy_tile_1D
62708 .type render_scanline_obj_copy_tile_1D, %function
62709render_scanline_obj_copy_tile_1D:
62710 @ args = 0, pretend = 0, frame = 592
62711 @ frame_needed = 0, uses_anonymous_args = 0
62712 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
62713 ldr r5, .L20498
62714 add r0, r0, r0, asl #2
62715 ldrh r4, [r5, #6]
62716 ldr ip, .L20498+4
62717 add r0, r4, r0, asl #5
62718 ldrh r6, [r5, #0]
62719 sub sp, sp, #604
62720 ldr ip, [ip, r0, asl #2]
62721 str r6, [sp, #44]
62722 str ip, [sp, #68]
62723 cmp ip, #0
62724 ldr ip, [sp, #44]
62725 ldrh r6, [r5, #74]
62726 str r4, [sp, #64]
62727 ldr lr, .L20498+8
62728 and r4, ip, #7
62729 ldr ip, .L20498+12
62730 ldrh r5, [r5, #80]
62731 add r4, ip, r4, asl #7
62732 add r0, lr, r0, asl #7
62733 mov r6, r6, lsr #8
62734 str r4, [sp, #52]
62735 str r0, [sp, #72]
62736 str r1, [sp, #20]
62737 str r2, [sp, #16]
62738 str r3, [sp, #12]
62739 str r6, [sp, #48]
62740 str r5, [sp, #40]
62741 beq .L20448
62742 rsb r0, r1, r2
62743 add lr, r3, r1, asl #1
62744 mov r1, #0
62745 mov r2, r1
62746 str lr, [sp, #100]
62747 str r0, [sp, #120]
62748 str r1, [sp, #60]
62749 b .L19659
62750.L19663:
62751 ldr lr, [sp, #60]
62752 ldr r0, [sp, #68]
62753 add lr, lr, #1
62754 cmp r0, lr
62755 str lr, [sp, #60]
62756 beq .L20448
62757 ldr r2, [sp, #60]
62758.L19659:
62759 ldr r4, [sp, #72]
62760 ldr r5, .L20498+16
62761 ldrb r3, [r2, r4] @ zero_extendqisi2
62762 ldr lr, .L20498+20
62763 mov r3, r3, asl #3
62764 ldrh r6, [r3, r5]
62765 add r3, r3, r5
62766 ldrh r7, [r3, #2]
62767 mov fp, r6, lsr #12
62768 and r2, fp, #12
62769 orr sl, r2, r7, lsr #14
62770 mov r1, r7, asl #23
62771 ldr r9, [lr, sl, asl #2]
62772 ands ip, r6, #512
62773 mov r8, r1, asr #23
62774 ldr r0, [sp, #16]
62775 ldr r5, [sp, #20]
62776 addne r1, r8, r9, asl #1
62777 addeq r1, r8, r9
62778 ldrh r3, [r3, #4]
62779 ldr r2, [sp, #20]
62780 cmp r8, r5
62781 movcs r5, r8
62782 cmp r1, r0
62783 movcs r1, r0
62784 str r3, [sp, #24]
62785 cmp r0, r5
62786 movls r3, #0
62787 movhi r3, #1
62788 cmp r2, r1
62789 movcs r3, #0
62790 cmp r3, #0
62791 str ip, [sp, #28]
62792 beq .L19663
62793 ldr ip, [sp, #44]
62794 add r4, sp, #124
62795 str ip, [sp, #0]
62796 ldr lr, [sp, #40]
62797 ldr ip, [sp, #52]
62798 mov r0, r5
62799 ldr r3, [sp, #48]
62800 mov r2, r4
62801 str lr, [sp, #4]
62802 str ip, [sp, #8]
62803 bl render_scanline_conditional_tile
62804 and r0, r6, #255
62805 cmp r0, #160
62806 ldr r3, .L20498+24
62807 add r5, r4, r5, asl #1
62808 subgt r0, r0, #256
62809 tst r6, #256
62810 str r5, [sp, #56]
62811 ldr sl, [r3, sl, asl #2]
62812 beq .L19667
62813 tst r6, #8192
62814 beq .L19669
62815 mov r3, r7, lsr #4
62816 ldr r1, .L20498+16
62817 ldr lr, [sp, #28]
62818 and r3, r3, #992
62819 add r3, r3, r1
62820 add r1, sl, sl, lsr #31
62821 cmp lr, #0
62822 ldrh r4, [r3, #30]
62823 mov lr, r1, asr #1
62824 add r2, r9, r9, lsr #31
62825 ldr r1, [sp, #20]
62826 mov ip, r2, asr #1
62827 str r4, [sp, #32]
62828 moveq fp, r9
62829 moveq r5, ip
62830 moveq r4, lr
62831 movne fp, r9, asl #1
62832 movne r5, ip, asl #1
62833 movne r4, lr, asl #1
62834 cmp r8, r1
62835 ldrh r7, [r3, #6]
62836 ldrh r2, [r3, #14]
62837 ldrh r6, [r3, #22]
62838 bge .L19674
62839 rsb r1, r8, r1
62840 rsb fp, r1, fp
62841 cmp fp, #0
62842 ble .L19663
62843 ldr r8, [sp, #20]
62844 rsb r5, r1, r5
62845.L19674:
62846 ldr r1, [sp, #16]
62847 add r3, r8, fp
62848 cmp r3, r1
62849 bge .L20476
62850.L19677:
62851 add r0, r0, r4
62852 ldr r4, [sp, #32]
62853 mov ip, ip, asl #8
62854 mov r1, r4, asl #16
62855 mov r3, r7, asl #16
62856 mov r4, r1, asr #16
62857 str ip, [sp, #108]
62858 ldr r1, [sp, #64]
62859 mov ip, lr, asl #8
62860 ldr lr, [sp, #12]
62861 mov r2, r2, asl #16
62862 mov r3, r3, asr #16
62863 cmp r6, #0
62864 add r8, lr, r8, asl #1
62865 str r3, [sp, #76]
62866 mov r7, r2, asr #16
62867 rsb lr, r0, r1
62868 beq .L20477
62869 ldr r0, [sp, #24]
62870 cmp r9, #0
62871 add r1, r9, #7
62872 mov r2, r0, asl #22
62873 movge r1, r9
62874 ldr r3, .L20498+28
62875 mov r2, r2, lsr #22
62876 mov r1, r1, asr #3
62877 add r2, r3, r2, asl #5
62878 mov r1, r1, asl #6
62879 cmp fp, #0
62880 str r2, [sp, #116]
62881 str r1, [sp, #80]
62882 ble .L19663
62883 mov r3, r6, asl #16
62884 mov r6, r3, asr #16
62885 ldr r0, [sp, #76]
62886 mul r2, lr, r4
62887 mul r1, r6, r5
62888 mul r3, lr, r7
62889 mul r0, r5, r0
62890 rsb r2, r1, r2
62891 ldr r1, [sp, #108]
62892 rsb r3, r0, r3
62893 add r5, r1, r3
62894 add r4, ip, r2
62895 mov lr, r5, asr #8
62896 mov ip, r4, asr #8
62897 cmp lr, r9
62898 cmpcc ip, sl
62899 movcs r3, #0
62900 movcc r3, #1
62901 movcs r7, r3
62902 bcc .L20478
62903.L19695:
62904 ldr r3, [sp, #56]
62905 ldr r2, [sp, #76]
62906 add r7, r7, #1
62907 add r5, r5, r2
62908 add r4, r4, r6
62909 add r3, r3, #2
62910 cmp fp, r7
62911 mov lr, r5, asr #8
62912 mov ip, r4, asr #8
62913 add r8, r8, #2
62914 str r3, [sp, #56]
62915 beq .L19663
62916 cmp lr, r9
62917 cmpcc ip, sl
62918 bcs .L19695
62919 cmp ip, sl
62920 cmpcc lr, r9
62921 bcs .L19663
62922.L20479:
62923 ldr r0, [sp, #76]
62924 and r3, ip, #7
62925 mov r2, lr, asr #3
62926 ldr r1, [sp, #116]
62927 mov r3, r3, asl #3
62928 add r5, r5, r0
62929 add r3, r3, r2, asl #6
62930 ldr r0, [sp, #80]
62931 mov r2, ip, asr #3
62932 add r3, r3, r1
62933 mla r0, r2, r0, r3
62934 and r1, lr, #7
62935 ldrb r3, [r0, r1] @ zero_extendqisi2
62936 add r7, r7, #1
62937 cmp r3, #0
62938 ldrne r2, [sp, #56]
62939 ldr r3, [sp, #56]
62940 ldrneh r2, [r2, #0]
62941 add r4, r4, r6
62942 strneh r2, [r8, #0] @ movhi
62943 add r3, r3, #2
62944 cmp fp, r7
62945 mov ip, r4, asr #8
62946 mov lr, r5, asr #8
62947 add r8, r8, #2
62948 str r3, [sp, #56]
62949 ble .L19663
62950.L19698:
62951 cmp ip, sl
62952 cmpcc lr, r9
62953 bcc .L20479
62954 b .L19663
62955.L19667:
62956 ldr lr, [sp, #64]
62957 tst r7, #8192
62958 rsb ip, r0, lr
62959 rsbne r3, ip, sl
62960 subne ip, r3, #1
62961 mov r2, r7, asl #19
62962 and r3, fp, #2
62963 orr r3, r3, r2, lsr #31
62964 cmp r3, #3
62965 ldrls pc, [pc, r3, asl #2]
62966 b .L19663
62967 .p2align 2
62968.L19747:
62969 .word .L19743
62970 .word .L19744
62971 .word .L19745
62972 .word .L19746
62973.L20448:
62974 add sp, sp, #604
62975 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
62976.L19669:
62977 ldr r5, .L20498+16
62978 mov r3, r7, lsr #4
62979 and r3, r3, #992
62980 add r3, r3, r5
62981 ldr r4, [sp, #28]
62982 add r1, sl, sl, lsr #31
62983 ldrh r6, [r3, #30]
62984 mov lr, r1, asr #1
62985 add r2, r9, r9, lsr #31
62986 ldr r1, [sp, #20]
62987 cmp r4, #0
62988 mov ip, r2, asr #1
62989 str r6, [sp, #36]
62990 moveq r5, ip
62991 moveq r6, r9
62992 moveq r4, lr
62993 movne r6, r9, asl #1
62994 movne r5, ip, asl #1
62995 movne r4, lr, asl #1
62996 cmp r8, r1
62997 ldrh r7, [r3, #6]
62998 ldrh r2, [r3, #14]
62999 ldrh fp, [r3, #22]
63000 bge .L19706
63001 rsb r1, r8, r1
63002 rsb r6, r1, r6
63003 cmp r6, #0
63004 ble .L19663
63005 ldr r8, [sp, #20]
63006 rsb r5, r1, r5
63007.L19706:
63008 ldr r1, [sp, #16]
63009 add r3, r8, r6
63010 cmp r3, r1
63011 bge .L20480
63012.L19709:
63013 add r0, r0, r4
63014 ldr r4, [sp, #36]
63015 mov ip, ip, asl #8
63016 mov r1, r4, asl #16
63017 mov r3, r7, asl #16
63018 mov r2, r2, asl #16
63019 mov r4, r1, asr #16
63020 str ip, [sp, #104]
63021 ldr r1, [sp, #64]
63022 mov ip, lr, asl #8
63023 ldr lr, [sp, #12]
63024 mov r3, r3, asr #16
63025 mov r2, r2, asr #16
63026 cmp fp, #0
63027 add r8, lr, r8, asl #1
63028 str r3, [sp, #84]
63029 str r2, [sp, #88]
63030 rsb lr, r0, r1
63031 beq .L20481
63032 ldr r0, [sp, #24]
63033 cmp r9, #0
63034 add r1, r9, #7
63035 mov r2, r0, asl #22
63036 movge r1, r9
63037 ldr r3, .L20498+28
63038 mov r2, r2, lsr #22
63039 mov r1, r1, asr #3
63040 add r2, r3, r2, asl #5
63041 mov r1, r1, asl #5
63042 cmp r6, #0
63043 str r2, [sp, #112]
63044 str r1, [sp, #96]
63045 ble .L19663
63046 mov r3, fp, asl #16
63047 mov r3, r3, asr #16
63048 str r3, [sp, #92]
63049 ldr r1, [sp, #92]
63050 ldr r3, [sp, #88]
63051 ldr r0, [sp, #84]
63052 mul r2, lr, r4
63053 mul r1, r5, r1
63054 mul r3, lr, r3
63055 mul r0, r5, r0
63056 rsb r2, r1, r2
63057 ldr r1, [sp, #104]
63058 rsb r3, r0, r3
63059 add r5, r1, r3
63060 add r4, ip, r2
63061 mov lr, r5, asr #8
63062 mov r3, r4, asr #8
63063 cmp lr, r9
63064 cmpcc r3, sl
63065 movcs r2, #0
63066 movcc r2, #1
63067 movcs r7, r2
63068 bcc .L20482
63069.L19730:
63070 ldr r3, [sp, #92]
63071 ldr ip, [sp, #56]
63072 ldr r2, [sp, #84]
63073 add r7, r7, #1
63074 add r5, r5, r2
63075 add r4, r4, r3
63076 add ip, ip, #2
63077 cmp r6, r7
63078 mov lr, r5, asr #8
63079 mov r3, r4, asr #8
63080 add r8, r8, #2
63081 str ip, [sp, #56]
63082 beq .L19663
63083 cmp lr, r9
63084 cmpcc r3, sl
63085 bcs .L19730
63086 cmp r3, sl
63087 cmpcc lr, r9
63088 bcs .L19663
63089.L20483:
63090 ldr r1, [sp, #112]
63091 and r0, r3, #7
63092 ldr r2, [sp, #96]
63093 add r0, r1, r0, asl #2
63094 and r1, r3, #7
63095 mov r3, r3, asr #3
63096 mov ip, lr, asr #1
63097 mul r2, r3, r2
63098 and fp, ip, #3
63099 ldr ip, [sp, #112]
63100 mov r3, lr, asr #1
63101 add r1, ip, r1, asl #2
63102 and ip, r3, #3
63103 mov r3, lr, asr #3
63104 add r2, r2, r3, asl #5
63105 add r3, r0, r2
63106 tst lr, #1
63107 add r0, r1, r2
63108 ldreqb r3, [r0, ip] @ zero_extendqisi2
63109 ldrneb r3, [r3, fp] @ zero_extendqisi2
63110 andeq r0, r3, #15
63111 movne r0, r3, lsr #4
63112 cmp r0, #0
63113 ldrne r2, [sp, #56]
63114 ldr lr, [sp, #84]
63115 ldrneh r2, [r2, #0]
63116 ldr ip, [sp, #56]
63117 ldr r1, [sp, #92]
63118 add r7, r7, #1
63119 strneh r2, [r8, #0] @ movhi
63120 add r5, r5, lr
63121 add r4, r4, r1
63122 add ip, ip, #2
63123 cmp r6, r7
63124 mov lr, r5, asr #8
63125 mov r3, r4, asr #8
63126 add r8, r8, #2
63127 str ip, [sp, #56]
63128 ble .L19663
63129.L19733:
63130 cmp r3, sl
63131 cmpcc lr, r9
63132 bcc .L20483
63133 b .L19663
63134.L20480:
63135 rsb r6, r8, r1
63136 cmp r6, #0
63137 bgt .L19709
63138 b .L19663
63139.L20476:
63140 rsb fp, r8, r1
63141 cmp fp, #0
63142 bgt .L19677
63143 b .L19663
63144.L20477:
63145 mla r3, lr, r4, ip
63146 mov r0, r3, asr #8
63147 cmp r0, sl
63148 bcs .L19663
63149 cmp r9, #0
63150 ldr r4, [sp, #24]
63151 add r3, r9, #7
63152 movge r3, r9
63153 mov r2, r4, asl #22
63154 mov r3, r3, asr #3
63155 mov r3, r3, asl #1
63156 mov r1, r0, lsr #3
63157 mov r2, r2, lsr #22
63158 mla ip, r3, r1, r2
63159 and r0, r0, #7
63160 ldr r3, .L20498+28
63161 add r0, r0, ip, asl #2
63162 cmp fp, #0
63163 add r4, r3, r0, asl #3
63164 ble .L19663
63165 ldr r2, [sp, #76]
63166 mul r3, lr, r7
63167 mul r2, r5, r2
63168 ldr r5, [sp, #108]
63169 rsb r3, r2, r3
63170 add r0, r5, r3
63171 mov ip, r0, asr #8
63172 cmp ip, r9
63173 movcs lr, r6
63174 bcc .L20484
63175.L19685:
63176 ldr r1, [sp, #56]
63177 ldr r6, [sp, #76]
63178 add lr, lr, #1
63179 add r0, r0, r6
63180 add r1, r1, #2
63181 cmp fp, lr
63182 mov ip, r0, asr #8
63183 add r8, r8, #2
63184 str r1, [sp, #56]
63185 beq .L19663
63186 cmp ip, r9
63187 bcs .L19685
63188 b .L20462
63189.L20481:
63190 mla r3, lr, r4, ip
63191 mov r0, r3, asr #8
63192 cmp r0, sl
63193 bcs .L19663
63194 ldr r4, [sp, #24]
63195 cmp r9, #0
63196 add r3, r9, #7
63197 mov r2, r4, asl #22
63198 movge r3, r9
63199 mov r3, r3, asr #3
63200 mov r1, r0, lsr #3
63201 mov r2, r2, lsr #22
63202 mla ip, r3, r1, r2
63203 and r0, r0, #7
63204 ldr r3, .L20498+28
63205 add r0, r0, ip, asl #3
63206 cmp r6, #0
63207 add r7, r3, r0, asl #2
63208 ble .L19663
63209 ldr r3, [sp, #88]
63210 ldr r2, [sp, #84]
63211 mul r3, lr, r3
63212 mul r2, r5, r2
63213 ldr r5, [sp, #104]
63214 rsb r3, r2, r3
63215 add r0, r5, r3
63216 mov ip, r0, asr #8
63217 cmp ip, r9
63218 movcs r1, fp
63219 bcc .L20485
63220.L19717:
63221 ldr ip, [sp, #84]
63222 ldr lr, [sp, #56]
63223 add r1, r1, #1
63224 add r0, r0, ip
63225 add lr, lr, #2
63226 cmp r6, r1
63227 mov ip, r0, asr #8
63228 add r8, r8, #2
63229 str lr, [sp, #56]
63230 beq .L19663
63231 cmp ip, r9
63232 bcs .L19717
63233 b .L20464
63234.L19746:
63235 cmp r9, #0
63236 add r2, r9, #7
63237 movge r2, r9
63238 subs r3, r9, #8
63239 submi r3, r9, #1
63240 mov lr, r2, asr #3
63241 mov r3, r3, asr #3
63242 mov r1, ip, lsr #3
63243 mla r0, lr, r1, r3
63244 ldr r1, [sp, #24]
63245 and r3, ip, #7
63246 mov r2, r1, asl #22
63247 mov r2, r2, lsr #22
63248 add r2, r2, r0, asl #1
63249 add r3, r3, r2, asl #2
63250 ldr r2, [sp, #20]
63251 mov r0, r3, asl #3
63252 ldr r3, .L20498+28
63253 cmp r8, r2
63254 add r7, r0, r3
63255 blt .L20486
63256 ldr r4, [sp, #16]
63257 add r3, r8, r9
63258 cmp r4, r3
63259 bhi .L20384
63260 rsb r9, r8, r4
63261 cmp r9, #0
63262 ble .L19663
63263 ldr r5, [sp, #12]
63264 movs sl, r9, lsr #3
63265 add r1, r5, r8, asl #1
63266 beq .L20387
63267 ldr r3, .L20498+32
63268 ldr r4, [sp, #56]
63269 add r0, r0, r3
63270 mov lr, r1
63271 mov r5, r7
63272 mov r2, #0
63273.L20389:
63274 ldr ip, [r0, #68]
63275 cmp ip, #0
63276 beq .L20390
63277 tst ip, #255
63278 ldrneh r6, [r4, #6]
63279 mov r3, ip, lsr #8
63280 strneh r6, [lr, #6] @ movhi
63281 tst r3, #255
63282 ldrneh r3, [r4, #4]
63283 strneh r3, [lr, #4] @ movhi
63284 mov r3, ip, lsr #16
63285 tst r3, #255
63286 ldrneh r6, [r4, #2]
63287 strneh r6, [lr, #2] @ movhi
63288 movs ip, ip, lsr #24
63289 ldrneh ip, [r4, #0]
63290 strneh ip, [lr, #0] @ movhi
63291.L20390:
63292 ldr ip, [r5, #0]
63293 cmp ip, #0
63294 beq .L20399
63295 tst ip, #255
63296 ldrneh r3, [r4, #14]
63297 strneh r3, [lr, #14] @ movhi
63298 mov r3, ip, lsr #8
63299 tst r3, #255
63300 ldrneh r6, [r4, #12]
63301 mov r3, ip, lsr #16
63302 strneh r6, [lr, #12] @ movhi
63303 tst r3, #255
63304 ldrneh r3, [r4, #10]
63305 strneh r3, [lr, #10] @ movhi
63306 movs ip, ip, lsr #24
63307 ldrneh r6, [r4, #8]
63308 strneh r6, [lr, #8] @ movhi
63309.L20399:
63310 add r2, r2, #1
63311 cmp sl, r2
63312 sub r5, r5, #64
63313 add lr, lr, #16
63314 add r4, r4, #16
63315 sub r0, r0, #64
63316 bne .L20389
63317 ldr ip, [sp, #56]
63318 mov r3, sl, asl #4
63319 rsb r2, sl, sl, asl #26
63320 add ip, ip, r3
63321 add r1, r1, r3
63322 add r7, r7, r2, asl #6
63323 str ip, [sp, #56]
63324.L20387:
63325 ands ip, r9, #7
63326 beq .L19663
63327 cmp ip, #3
63328 ldrls r2, [r7, #4]
63329 bls .L20422
63330 ldr r2, [r7, #4]
63331 cmp r2, #0
63332 beq .L20412
63333 tst r2, #255
63334 ldrne lr, [sp, #56]
63335 mov r3, r2, lsr #8
63336 ldrneh lr, [lr, #6]
63337 strneh lr, [r1, #6] @ movhi
63338 tst r3, #255
63339 ldrne r0, [sp, #56]
63340 mov r3, r2, lsr #16
63341 ldrneh r0, [r0, #4]
63342 strneh r0, [r1, #4] @ movhi
63343 tst r3, #255
63344 ldrne r3, [sp, #56]
63345 ldrneh r3, [r3, #2]
63346 strneh r3, [r1, #2] @ movhi
63347 movs r2, r2, lsr #24
63348 ldrne r4, [sp, #56]
63349 ldrneh r4, [r4, #0]
63350 strneh r4, [r1, #0] @ movhi
63351.L20412:
63352 subs ip, ip, #4
63353 ldr r2, [r7, #0]
63354 beq .L19663
63355 ldr r5, [sp, #56]
63356 add r1, r1, #8
63357 add r5, r5, #8
63358 str r5, [sp, #56]
63359.L20422:
63360 mov r3, #0
63361.L20423:
63362 movs r6, r2, lsr #24
63363 ldrne lr, [sp, #56]
63364 mov r0, r3, asl #1
63365 ldrneh lr, [r0, lr]
63366 add r3, r3, #1
63367 strneh lr, [r0, r1] @ movhi
63368 cmp ip, r3
63369 mov r2, r2, asl #8
63370 bhi .L20423
63371 b .L19663
63372.L19743:
63373 ldr r0, [sp, #24]
63374 cmp r9, #0
63375 add r3, r9, #7
63376 mov r2, r0, asl #22
63377 movge r3, r9
63378 mov lr, r3, asr #3
63379 mov r2, r2, lsr #22
63380 mov r3, ip, lsr #3
63381 mla r0, lr, r3, r2
63382 ldr r2, [sp, #20]
63383 and r1, ip, #7
63384 ldr r3, .L20498+28
63385 add r1, r1, r0, asl #3
63386 cmp r8, r2
63387 add r0, r3, r1, asl #2
63388 blt .L20487
63389 ldr r4, [sp, #16]
63390 add r3, r8, r9
63391 cmp r4, r3
63392 bhi .L19829
63393 rsb r7, r8, r4
63394 cmp r7, #0
63395 ble .L19663
63396 ldr r6, [sp, #12]
63397 movs r5, r7, lsr #3
63398 add r1, r6, r8, asl #1
63399 beq .L19832
63400 ldr lr, [sp, #56]
63401 mov ip, r1
63402 mov r4, r0
63403 mov r2, #0
63404.L19834:
63405 ldr r3, [r4, #0]
63406 cmp r3, #0
63407 beq .L19835
63408 tst r3, #15
63409 ldrneh r6, [lr, #0]
63410 strneh r6, [ip, #0] @ movhi
63411 tst r3, #240
63412 ldrneh r6, [lr, #2]
63413 strneh r6, [ip, #2] @ movhi
63414 tst r3, #3840
63415 ldrneh r6, [lr, #4]
63416 strneh r6, [ip, #4] @ movhi
63417 tst r3, #61440
63418 ldrneh r6, [lr, #6]
63419 strneh r6, [ip, #6] @ movhi
63420 tst r3, #983040
63421 ldrneh r6, [lr, #8]
63422 strneh r6, [ip, #8] @ movhi
63423 tst r3, #15728640
63424 ldrneh r6, [lr, #10]
63425 strneh r6, [ip, #10] @ movhi
63426 tst r3, #251658240
63427 ldrneh r6, [lr, #12]
63428 strneh r6, [ip, #12] @ movhi
63429 movs r3, r3, lsr #28
63430 ldrneh r3, [lr, #14]
63431 strneh r3, [ip, #14] @ movhi
63432.L19835:
63433 add r2, r2, #1
63434 cmp r2, r5
63435 add r4, r4, #32
63436 add ip, ip, #16
63437 add lr, lr, #16
63438 bne .L19834
63439 ldr r4, [sp, #56]
63440 mov r3, r5, asl #4
63441 add r4, r4, r3
63442 add r1, r1, r3
63443 add r0, r0, r5, asl #5
63444 str r4, [sp, #56]
63445.L19832:
63446 ands ip, r7, #7
63447 beq .L19663
63448 ldr r0, [r0, #0]
63449 mov r2, #0
63450.L19854:
63451 tst r0, #15
63452 ldrne r5, [sp, #56]
63453 mov r3, r2, asl #1
63454 ldrneh r5, [r3, r5]
63455 add r2, r2, #1
63456 strneh r5, [r3, r1] @ movhi
63457 cmp r2, ip
63458 mov r0, r0, lsr #4
63459 bne .L19854
63460 b .L19663
63461.L19744:
63462 ldr lr, [sp, #24]
63463 cmp r9, #0
63464 add r3, r9, #7
63465 mov r2, lr, asl #22
63466 movge r3, r9
63467 mov lr, r3, asr #3
63468 mov r2, r2, lsr #22
63469 mov r1, ip, lsr #3
63470 mla r0, lr, r1, r2
63471 subs r3, r9, #8
63472 submi r3, r9, #1
63473 add r0, r0, r3, asr #3
63474 and r2, ip, #7
63475 add r2, r2, r0, asl #3
63476 ldr r0, [sp, #20]
63477 ldr r3, .L20498+28
63478 cmp r8, r0
63479 add r0, r3, r2, asl #2
63480 blt .L20488
63481 ldr r1, [sp, #16]
63482 add r3, r8, r9
63483 cmp r1, r3
63484 bhi .L19959
63485 rsb r7, r8, r1
63486 cmp r7, #0
63487 ble .L19663
63488 ldr r2, [sp, #12]
63489 movs r3, r7, lsr #3
63490 add r1, r2, r8, asl #1
63491 beq .L19962
63492 ldr lr, [sp, #56]
63493 mov ip, r1
63494 mov r4, r0
63495 mov r5, #0
63496.L19964:
63497 ldr r2, [r4, #0]
63498 cmp r2, #0
63499 beq .L19965
63500 tst r2, #15
63501 ldrneh r6, [lr, #14]
63502 strneh r6, [ip, #14] @ movhi
63503 tst r2, #240
63504 ldrneh r6, [lr, #12]
63505 strneh r6, [ip, #12] @ movhi
63506 tst r2, #3840
63507 ldrneh r6, [lr, #10]
63508 strneh r6, [ip, #10] @ movhi
63509 tst r2, #61440
63510 ldrneh r6, [lr, #8]
63511 strneh r6, [ip, #8] @ movhi
63512 tst r2, #983040
63513 ldrneh r6, [lr, #6]
63514 strneh r6, [ip, #6] @ movhi
63515 tst r2, #15728640
63516 ldrneh r6, [lr, #4]
63517 strneh r6, [ip, #4] @ movhi
63518 tst r2, #251658240
63519 ldrneh r6, [lr, #2]
63520 strneh r6, [ip, #2] @ movhi
63521 movs r2, r2, lsr #28
63522 ldrneh r2, [lr, #0]
63523 strneh r2, [ip, #0] @ movhi
63524.L19965:
63525 add r5, r5, #1
63526 cmp r5, r3
63527 sub r4, r4, #32
63528 add ip, ip, #16
63529 add lr, lr, #16
63530 bne .L19964
63531 ldr r4, [sp, #56]
63532 rsb r2, r3, r3, asl #27
63533 mov r3, r3, asl #4
63534 add r4, r4, r3
63535 add r1, r1, r3
63536 add r0, r0, r2, asl #5
63537 str r4, [sp, #56]
63538.L19962:
63539 ands ip, r7, #7
63540 beq .L19663
63541 ldr r0, [r0, #0]
63542 mov r2, #0
63543.L19984:
63544 movs r5, r0, lsr #28
63545 ldrne r6, [sp, #56]
63546 mov r3, r2, asl #1
63547 ldrneh r6, [r3, r6]
63548 add r2, r2, #1
63549 strneh r6, [r3, r1] @ movhi
63550 cmp r2, ip
63551 mov r0, r0, asl #4
63552 bne .L19984
63553 b .L19663
63554.L19745:
63555 ldr r4, [sp, #24]
63556 cmp r9, #0
63557 add r3, r9, #7
63558 mov r1, r4, asl #22
63559 movge r3, r9
63560 mov r2, ip, lsr #3
63561 mov r4, r3, asr #3
63562 mov r2, r2, asl #1
63563 mov r1, r1, lsr #22
63564 mla r0, r2, r4, r1
63565 and r3, ip, #7
63566 add r3, r3, r0, asl #2
63567 ldr r5, [sp, #20]
63568 mov r0, r3, asl #3
63569 ldr r3, .L20498+28
63570 cmp r8, r5
63571 add r2, r0, r3
63572 blt .L20489
63573 ldr r5, [sp, #16]
63574 add r3, r8, r9
63575 cmp r5, r3
63576 bhi .L20164
63577 rsb r9, r8, r5
63578 cmp r9, #0
63579 ble .L19663
63580 ldr r6, [sp, #12]
63581 movs sl, r9, lsr #3
63582 add r1, r6, r8, asl #1
63583 beq .L20167
63584 ldr r3, .L20498+36
63585 ldr r4, [sp, #56]
63586 add r0, r0, r3
63587 mov lr, r1
63588 mov r5, r2
63589 mov r7, #0
63590.L20169:
63591 ldr ip, [r5, #0]
63592 cmp ip, #0
63593 beq .L20170
63594 tst ip, #255
63595 ldrneh r3, [r4, #0]
63596 strneh r3, [lr, #0] @ movhi
63597 mov r3, ip, lsr #8
63598 tst r3, #255
63599 ldrneh r6, [r4, #2]
63600 mov r3, ip, lsr #16
63601 strneh r6, [lr, #2] @ movhi
63602 tst r3, #255
63603 ldrneh r3, [r4, #4]
63604 strneh r3, [lr, #4] @ movhi
63605 movs ip, ip, lsr #24
63606 ldrneh r6, [r4, #6]
63607 strneh r6, [lr, #6] @ movhi
63608.L20170:
63609 ldr ip, [r0, #-60]
63610 cmp ip, #0
63611 beq .L20179
63612 tst ip, #255
63613 ldrneh r3, [r4, #8]
63614 strneh r3, [lr, #8] @ movhi
63615 mov r3, ip, lsr #8
63616 tst r3, #255
63617 ldrneh r6, [r4, #10]
63618 mov r3, ip, lsr #16
63619 strneh r6, [lr, #10] @ movhi
63620 tst r3, #255
63621 ldrneh r3, [r4, #12]
63622 strneh r3, [lr, #12] @ movhi
63623 movs ip, ip, lsr #24
63624 ldrneh r6, [r4, #14]
63625 strneh r6, [lr, #14] @ movhi
63626.L20179:
63627 add r7, r7, #1
63628 cmp r7, sl
63629 add r5, r5, #64
63630 add lr, lr, #16
63631 add r4, r4, #16
63632 add r0, r0, #64
63633 bne .L20169
63634 ldr ip, [sp, #56]
63635 mov r3, sl, asl #4
63636 add ip, ip, r3
63637 add r1, r1, r3
63638 add r2, r2, sl, asl #6
63639 str ip, [sp, #56]
63640.L20167:
63641 ands ip, r9, #7
63642 beq .L19663
63643 cmp ip, #3
63644 ldrls r3, [r2, #0]
63645 bls .L20202
63646 ldr r0, [r2, #0]
63647 cmp r0, #0
63648 beq .L20192
63649 tst r0, #255
63650 ldrne lr, [sp, #56]
63651 mov r3, r0, lsr #8
63652 ldrneh lr, [lr, #0]
63653 strneh lr, [r1, #0] @ movhi
63654 tst r3, #255
63655 ldrne r3, [sp, #56]
63656 ldrneh r3, [r3, #2]
63657 strneh r3, [r1, #2] @ movhi
63658 mov r3, r0, lsr #16
63659 tst r3, #255
63660 ldrne r4, [sp, #56]
63661 ldrneh r4, [r4, #4]
63662 strneh r4, [r1, #4] @ movhi
63663 movs r0, r0, lsr #24
63664 ldrne r5, [sp, #56]
63665 ldrneh r5, [r5, #6]
63666 strneh r5, [r1, #6] @ movhi
63667.L20192:
63668 subs ip, ip, #4
63669 ldr r3, [r2, #4]
63670 beq .L19663
63671 ldr r6, [sp, #56]
63672 add r1, r1, #8
63673 add r6, r6, #8
63674 str r6, [sp, #56]
63675.L20202:
63676 mov r2, #0
63677.L20203:
63678 tst r3, #255
63679 ldrne lr, [sp, #56]
63680 mov r0, r2, asl #1
63681 ldrneh lr, [r0, lr]
63682 add r2, r2, #1
63683 strneh lr, [r0, r1] @ movhi
63684 cmp ip, r2
63685 mov r3, r3, lsr #8
63686 bhi .L20203
63687 b .L19663
63688.L20499:
63689 .align 2
63690.L20498:
63691 .word io_registers
63692 .word obj_priority_count
63693 .word obj_priority_list
63694 .word tile_mode_renderers
63695 .word oam_ram
63696 .word obj_width_table
63697 .word obj_height_table
63698 .word vram+65536
63699 .word vram+65472
63700 .word vram+65600
63701.L20489:
63702 rsb r0, r8, r5
63703 rsb lr, r0, r9
63704 cmp lr, #0
63705 ble .L19663
63706 ldr r6, [sp, #16]
63707 add r3, r8, r9
63708 cmp r6, r3
63709 bhi .L20011
63710 mov r3, r0, lsr #3
63711 ands ip, r0, #7
63712 add r8, r2, r3, asl #6
63713 bne .L20013
63714 ldr r7, [sp, #120]
63715 ldr r5, [sp, #100]
63716.L20015:
63717 movs r4, r7, lsr #3
63718 beq .L20073
63719 ldr r0, [sp, #56]
63720 mov r1, r5
63721 mov ip, r8
63722 mov lr, #0
63723.L20075:
63724 ldr r2, [ip, #0]
63725 cmp r2, #0
63726 beq .L20076
63727 tst r2, #255
63728 ldrneh r3, [r0, #0]
63729 strneh r3, [r1, #0] @ movhi
63730 mov r3, r2, lsr #8
63731 tst r3, #255
63732 ldrneh r6, [r0, #2]
63733 mov r3, r2, lsr #16
63734 strneh r6, [r1, #2] @ movhi
63735 tst r3, #255
63736 ldrneh r3, [r0, #4]
63737 strneh r3, [r1, #4] @ movhi
63738 movs r2, r2, lsr #24
63739 ldrneh r6, [r0, #6]
63740 strneh r6, [r1, #6] @ movhi
63741.L20076:
63742 ldr r2, [ip, #4]
63743 cmp r2, #0
63744 beq .L20085
63745 tst r2, #255
63746 ldrneh r3, [r0, #8]
63747 strneh r3, [r1, #8] @ movhi
63748 mov r3, r2, lsr #8
63749 tst r3, #255
63750 ldrneh r6, [r0, #10]
63751 mov r3, r2, lsr #16
63752 strneh r6, [r1, #10] @ movhi
63753 tst r3, #255
63754 ldrneh r3, [r0, #12]
63755 strneh r3, [r1, #12] @ movhi
63756 movs r2, r2, lsr #24
63757 ldrneh r6, [r0, #14]
63758 strneh r6, [r1, #14] @ movhi
63759.L20085:
63760 add lr, lr, #1
63761 cmp lr, r4
63762 add ip, ip, #64
63763 add r1, r1, #16
63764 add r0, r0, #16
63765 bne .L20075
63766 ldr ip, [sp, #56]
63767 mov r3, r4, asl #4
63768 add ip, ip, r3
63769 add r5, r5, r3
63770 add r8, r8, r4, asl #6
63771 str ip, [sp, #56]
63772.L20073:
63773 ands r0, r7, #7
63774 beq .L19663
63775 cmp r0, #3
63776 ldrls r3, [r8, #0]
63777 bls .L20108
63778 ldr r2, [r8, #0]
63779 cmp r2, #0
63780 beq .L20098
63781 tst r2, #255
63782 ldrne lr, [sp, #56]
63783 mov r3, r2, lsr #8
63784 ldrneh lr, [lr, #0]
63785 strneh lr, [r5, #0] @ movhi
63786 tst r3, #255
63787 ldrne r1, [sp, #56]
63788 mov r3, r2, lsr #16
63789 ldrneh r1, [r1, #2]
63790 strneh r1, [r5, #2] @ movhi
63791 tst r3, #255
63792 ldrne r3, [sp, #56]
63793 ldrneh r3, [r3, #4]
63794 strneh r3, [r5, #4] @ movhi
63795 movs r2, r2, lsr #24
63796 ldrne r4, [sp, #56]
63797 ldrneh r4, [r4, #6]
63798 strneh r4, [r5, #6] @ movhi
63799.L20098:
63800 subs r0, r0, #4
63801 ldr r3, [r8, #4]
63802 beq .L19663
63803 ldr r6, [sp, #56]
63804 add r5, r5, #8
63805 add r6, r6, #8
63806 str r6, [sp, #56]
63807.L20108:
63808 mov r2, #0
63809.L20109:
63810 tst r3, #255
63811 ldrne ip, [sp, #56]
63812 mov r1, r2, asl #1
63813 ldrneh ip, [r1, ip]
63814 add r2, r2, #1
63815 strneh ip, [r1, r5] @ movhi
63816 cmp r0, r2
63817 mov r3, r3, lsr #8
63818 bhi .L20109
63819 b .L19663
63820.L20488:
63821 ldr r1, [sp, #20]
63822 rsb ip, r8, r1
63823 rsb r1, ip, r9
63824 cmp r1, #0
63825 ble .L19663
63826 ldr r2, [sp, #16]
63827 add r3, r8, r9
63828 cmp r2, r3
63829 bhi .L19881
63830 mov r3, ip, lsr #3
63831 ands r4, ip, #7
63832 sub r0, r0, r3, asl #5
63833 bne .L19883
63834 ldr r7, [sp, #120]
63835 ldr r1, [sp, #100]
63836.L19885:
63837 movs r3, r7, lsr #3
63838 beq .L19902
63839 ldr lr, [sp, #56]
63840 mov ip, r1
63841 mov r4, r0
63842 mov r5, #0
63843.L19904:
63844 ldr r2, [r4, #0]
63845 cmp r2, #0
63846 beq .L19905
63847 tst r2, #15
63848 ldrneh r6, [lr, #14]
63849 strneh r6, [ip, #14] @ movhi
63850 tst r2, #240
63851 ldrneh r6, [lr, #12]
63852 strneh r6, [ip, #12] @ movhi
63853 tst r2, #3840
63854 ldrneh r6, [lr, #10]
63855 strneh r6, [ip, #10] @ movhi
63856 tst r2, #61440
63857 ldrneh r6, [lr, #8]
63858 strneh r6, [ip, #8] @ movhi
63859 tst r2, #983040
63860 ldrneh r6, [lr, #6]
63861 strneh r6, [ip, #6] @ movhi
63862 tst r2, #15728640
63863 ldrneh r6, [lr, #4]
63864 strneh r6, [ip, #4] @ movhi
63865 tst r2, #251658240
63866 ldrneh r6, [lr, #2]
63867 strneh r6, [ip, #2] @ movhi
63868 movs r2, r2, lsr #28
63869 ldrneh r2, [lr, #0]
63870 strneh r2, [ip, #0] @ movhi
63871.L19905:
63872 add r5, r5, #1
63873 cmp r5, r3
63874 sub r4, r4, #32
63875 add ip, ip, #16
63876 add lr, lr, #16
63877 bne .L19904
63878 ldr r4, [sp, #56]
63879 rsb r2, r3, r3, asl #27
63880 mov r3, r3, asl #4
63881 add r4, r4, r3
63882 add r1, r1, r3
63883 add r0, r0, r2, asl #5
63884 str r4, [sp, #56]
63885.L19902:
63886 ands ip, r7, #7
63887 beq .L19663
63888 ldr r0, [r0, #0]
63889 mov r2, #0
63890.L19924:
63891 movs r5, r0, lsr #28
63892 ldrne r6, [sp, #56]
63893 mov r3, r2, asl #1
63894 ldrneh r6, [r3, r6]
63895 add r2, r2, #1
63896 strneh r6, [r3, r1] @ movhi
63897 cmp r2, ip
63898 mov r0, r0, asl #4
63899 bne .L19924
63900 b .L19663
63901.L20487:
63902 rsb ip, r8, r2
63903 rsb lr, ip, r9
63904 cmp lr, #0
63905 ble .L19663
63906 ldr r4, [sp, #16]
63907 add r3, r8, r9
63908 cmp r4, r3
63909 bhi .L19751
63910 mov r3, ip, lsr #3
63911 mov r1, r3, asl #5
63912 ands r3, ip, #7
63913 add r4, r0, r1
63914 bne .L19753
63915 ldr r7, [sp, #120]
63916 ldr r5, [sp, #100]
63917.L19755:
63918 movs lr, r7, lsr #3
63919 beq .L19772
63920 ldr r1, [sp, #56]
63921 mov r2, r5
63922 mov r0, r4
63923 mov ip, #0
63924.L19774:
63925 ldr r3, [r0, #0]
63926 cmp r3, #0
63927 beq .L19775
63928 tst r3, #15
63929 ldrneh r6, [r1, #0]
63930 strneh r6, [r2, #0] @ movhi
63931 tst r3, #240
63932 ldrneh r6, [r1, #2]
63933 strneh r6, [r2, #2] @ movhi
63934 tst r3, #3840
63935 ldrneh r6, [r1, #4]
63936 strneh r6, [r2, #4] @ movhi
63937 tst r3, #61440
63938 ldrneh r6, [r1, #6]
63939 strneh r6, [r2, #6] @ movhi
63940 tst r3, #983040
63941 ldrneh r6, [r1, #8]
63942 strneh r6, [r2, #8] @ movhi
63943 tst r3, #15728640
63944 ldrneh r6, [r1, #10]
63945 strneh r6, [r2, #10] @ movhi
63946 tst r3, #251658240
63947 ldrneh r6, [r1, #12]
63948 strneh r6, [r2, #12] @ movhi
63949 movs r3, r3, lsr #28
63950 ldrneh r3, [r1, #14]
63951 strneh r3, [r2, #14] @ movhi
63952.L19775:
63953 add ip, ip, #1
63954 cmp ip, lr
63955 add r0, r0, #32
63956 add r2, r2, #16
63957 add r1, r1, #16
63958 bne .L19774
63959 ldr r6, [sp, #56]
63960 mov r3, lr, asl #4
63961 add r6, r6, r3
63962 add r5, r5, r3
63963 add r4, r4, lr, asl #5
63964 str r6, [sp, #56]
63965.L19772:
63966 ands r0, r7, #7
63967 beq .L19663
63968 ldr r3, [r4, #0]
63969 mov r1, #0
63970.L19794:
63971 tst r3, #15
63972 ldrne ip, [sp, #56]
63973 mov r2, r1, asl #1
63974 ldrneh ip, [r2, ip]
63975 add r1, r1, #1
63976 strneh ip, [r2, r5] @ movhi
63977 cmp r1, r0
63978 mov r3, r3, lsr #4
63979 bne .L19794
63980 b .L19663
63981.L19720:
63982 cmp ip, r9
63983 bcs .L19663
63984.L20464:
63985 mov r3, ip, asr #1
63986 and r4, r3, #3
63987 mov r3, ip, asr #3
63988 mov r3, r3, asl #5
63989 mov r2, ip, asr #1
63990 tst ip, #1
63991 and lr, r2, #3
63992 add ip, r3, r7
63993 add r2, r3, r7
63994 ldreqb r3, [r2, lr] @ zero_extendqisi2
63995 ldrneb r3, [ip, r4] @ zero_extendqisi2
63996 andeq r2, r3, #15
63997 movne r2, r3, lsr #4
63998 cmp r2, #0
63999 ldrne r4, [sp, #56]
64000 ldr r5, [sp, #56]
64001 ldrneh r4, [r4, #0]
64002 ldr r3, [sp, #84]
64003 add r1, r1, #1
64004 strneh r4, [r8, #0] @ movhi
64005 add r0, r0, r3
64006 add r5, r5, #2
64007 cmp r6, r1
64008 mov ip, r0, asr #8
64009 add r8, r8, #2
64010 str r5, [sp, #56]
64011 bgt .L19720
64012 b .L19663
64013.L19688:
64014 cmp ip, r9
64015 bcs .L19663
64016.L20462:
64017 ldr r2, [sp, #76]
64018 mov r3, ip, asr #3
64019 add r3, r4, r3, asl #6
64020 and r1, ip, #7
64021 add r0, r0, r2
64022 ldrb r2, [r3, r1] @ zero_extendqisi2
64023 ldr r5, [sp, #56]
64024 cmp r2, #0
64025 ldrne r3, [sp, #56]
64026 add lr, lr, #1
64027 ldrneh r3, [r3, #0]
64028 add r5, r5, #2
64029 strneh r3, [r8, #0] @ movhi
64030 cmp fp, lr
64031 mov ip, r0, asr #8
64032 add r8, r8, #2
64033 str r5, [sp, #56]
64034 bgt .L19688
64035 b .L19663
64036.L20486:
64037 rsb r0, r8, r2
64038 rsb lr, r0, r9
64039 cmp lr, #0
64040 ble .L19663
64041 ldr r4, [sp, #16]
64042 add r3, r8, r9
64043 cmp r4, r3
64044 bhi .L20231
64045 mov r3, r0, lsr #3
64046 ands ip, r0, #7
64047 sub r8, r7, r3, asl #6
64048 bne .L20233
64049 ldr r7, [sp, #120]
64050 ldr r5, [sp, #100]
64051.L20235:
64052 movs r4, r7, lsr #3
64053 beq .L20293
64054 ldr r0, [sp, #56]
64055 mov r1, r5
64056 mov ip, r8
64057 mov lr, #0
64058.L20295:
64059 ldr r2, [ip, #4]
64060 cmp r2, #0
64061 beq .L20296
64062 tst r2, #255
64063 ldrneh r3, [r0, #6]
64064 strneh r3, [r1, #6] @ movhi
64065 mov r3, r2, lsr #8
64066 tst r3, #255
64067 ldrneh r6, [r0, #4]
64068 mov r3, r2, lsr #16
64069 strneh r6, [r1, #4] @ movhi
64070 tst r3, #255
64071 ldrneh r3, [r0, #2]
64072 strneh r3, [r1, #2] @ movhi
64073 movs r2, r2, lsr #24
64074 ldrneh r6, [r0, #0]
64075 strneh r6, [r1, #0] @ movhi
64076.L20296:
64077 ldr r2, [ip, #0]
64078 cmp r2, #0
64079 beq .L20305
64080 tst r2, #255
64081 ldrneh r3, [r0, #14]
64082 strneh r3, [r1, #14] @ movhi
64083 mov r3, r2, lsr #8
64084 tst r3, #255
64085 ldrneh r6, [r0, #12]
64086 mov r3, r2, lsr #16
64087 strneh r6, [r1, #12] @ movhi
64088 tst r3, #255
64089 ldrneh r3, [r0, #10]
64090 strneh r3, [r1, #10] @ movhi
64091 movs r2, r2, lsr #24
64092 ldrneh r6, [r0, #8]
64093 strneh r6, [r1, #8] @ movhi
64094.L20305:
64095 add lr, lr, #1
64096 cmp lr, r4
64097 sub ip, ip, #64
64098 add r1, r1, #16
64099 add r0, r0, #16
64100 bne .L20295
64101 ldr ip, [sp, #56]
64102 mov r3, r4, asl #4
64103 rsb r2, r4, r4, asl #26
64104 add ip, ip, r3
64105 add r5, r5, r3
64106 add r8, r8, r2, asl #6
64107 str ip, [sp, #56]
64108.L20293:
64109 ands ip, r7, #7
64110 beq .L19663
64111 cmp ip, #3
64112 ldrls r2, [r8, #4]
64113 bls .L20328
64114 ldr r2, [r8, #4]
64115 cmp r2, #0
64116 beq .L20318
64117 tst r2, #255
64118 ldrne lr, [sp, #56]
64119 mov r3, r2, lsr #8
64120 ldrneh lr, [lr, #6]
64121 strneh lr, [r5, #6] @ movhi
64122 tst r3, #255
64123 ldrne r0, [sp, #56]
64124 mov r3, r2, lsr #16
64125 ldrneh r0, [r0, #4]
64126 strneh r0, [r5, #4] @ movhi
64127 tst r3, #255
64128 ldrne r1, [sp, #56]
64129 ldrneh r1, [r1, #2]
64130 strneh r1, [r5, #2] @ movhi
64131 movs r2, r2, lsr #24
64132 ldrne r2, [sp, #56]
64133 ldrneh r2, [r2, #0]
64134 strneh r2, [r5, #0] @ movhi
64135.L20318:
64136 subs ip, ip, #4
64137 ldr r2, [r8, #0]
64138 beq .L19663
64139 ldr r3, [sp, #56]
64140 add r5, r5, #8
64141 add r3, r3, #8
64142 str r3, [sp, #56]
64143.L20328:
64144 mov r1, #0
64145.L20329:
64146 movs r4, r2, lsr #24
64147 ldrne r6, [sp, #56]
64148 mov r0, r1, asl #1
64149 ldrneh r6, [r0, r6]
64150 add r1, r1, #1
64151 strneh r6, [r0, r5] @ movhi
64152 cmp ip, r1
64153 mov r2, r2, asl #8
64154 bhi .L20329
64155 b .L19663
64156.L19829:
64157 cmp lr, #0
64158 beq .L19663
64159 ldr r6, [sp, #12]
64160 mov r3, #0
64161 add r1, r6, r8, asl #1
64162 b .L19859
64163.L20490:
64164 ldr ip, [sp, #56]
64165 add r0, r0, #32
64166 add ip, ip, #16
64167 add r1, r1, #16
64168 str ip, [sp, #56]
64169.L19859:
64170 ldr ip, [r0, #0]
64171 cmp ip, #0
64172 beq .L19860
64173 tst ip, #15
64174 ldrne r2, [sp, #56]
64175 ldrneh r2, [r2, #0]
64176 strneh r2, [r1, #0] @ movhi
64177 tst ip, #240
64178 ldrne r4, [sp, #56]
64179 ldrneh r4, [r4, #2]
64180 strneh r4, [r1, #2] @ movhi
64181 tst ip, #3840
64182 ldrne r5, [sp, #56]
64183 ldrneh r5, [r5, #4]
64184 strneh r5, [r1, #4] @ movhi
64185 tst ip, #61440
64186 ldrne r6, [sp, #56]
64187 ldrneh r6, [r6, #6]
64188 strneh r6, [r1, #6] @ movhi
64189 tst ip, #983040
64190 ldrne r2, [sp, #56]
64191 ldrneh r2, [r2, #8]
64192 strneh r2, [r1, #8] @ movhi
64193 tst ip, #15728640
64194 ldrne r4, [sp, #56]
64195 ldrneh r4, [r4, #10]
64196 strneh r4, [r1, #10] @ movhi
64197 tst ip, #251658240
64198 ldrne r5, [sp, #56]
64199 ldrneh r5, [r5, #12]
64200 strneh r5, [r1, #12] @ movhi
64201 movs ip, ip, lsr #28
64202 ldrne r6, [sp, #56]
64203 ldrneh r6, [r6, #14]
64204 strneh r6, [r1, #14] @ movhi
64205.L19860:
64206 add r3, r3, #1
64207 cmp lr, r3
64208 bne .L20490
64209 b .L19663
64210.L19959:
64211 cmp lr, #0
64212 beq .L19663
64213 ldr ip, [sp, #12]
64214 mov r3, #0
64215 add r1, ip, r8, asl #1
64216 b .L19989
64217.L20491:
64218 ldr r2, [sp, #56]
64219 sub r0, r0, #32
64220 add r2, r2, #16
64221 add r1, r1, #16
64222 str r2, [sp, #56]
64223.L19989:
64224 ldr r2, [r0, #0]
64225 cmp r2, #0
64226 beq .L19990
64227 tst r2, #15
64228 ldrne r4, [sp, #56]
64229 ldrneh r4, [r4, #14]
64230 strneh r4, [r1, #14] @ movhi
64231 tst r2, #240
64232 ldrne r5, [sp, #56]
64233 ldrneh r5, [r5, #12]
64234 strneh r5, [r1, #12] @ movhi
64235 tst r2, #3840
64236 ldrne r6, [sp, #56]
64237 ldrneh r6, [r6, #10]
64238 strneh r6, [r1, #10] @ movhi
64239 tst r2, #61440
64240 ldrne ip, [sp, #56]
64241 ldrneh ip, [ip, #8]
64242 strneh ip, [r1, #8] @ movhi
64243 tst r2, #983040
64244 ldrne r4, [sp, #56]
64245 ldrneh r4, [r4, #6]
64246 strneh r4, [r1, #6] @ movhi
64247 tst r2, #15728640
64248 ldrne r5, [sp, #56]
64249 ldrneh r5, [r5, #4]
64250 strneh r5, [r1, #4] @ movhi
64251 tst r2, #251658240
64252 ldrne r6, [sp, #56]
64253 ldrneh r6, [r6, #2]
64254 strneh r6, [r1, #2] @ movhi
64255 movs r2, r2, lsr #28
64256 ldrne ip, [sp, #56]
64257 ldrneh ip, [ip, #0]
64258 strneh ip, [r1, #0] @ movhi
64259.L19990:
64260 add r3, r3, #1
64261 cmp lr, r3
64262 bne .L20491
64263 b .L19663
64264.L20384:
64265 cmp lr, #0
64266 beq .L19663
64267 ldr r2, [sp, #12]
64268 ldr r3, .L20498+32
64269 add r1, r2, r8, asl #1
64270 add r0, r0, r3
64271 mov r2, #0
64272 b .L20428
64273.L20492:
64274 ldr ip, [sp, #56]
64275 sub r7, r7, #64
64276 add ip, ip, #16
64277 add r1, r1, #16
64278 str ip, [sp, #56]
64279.L20428:
64280 ldr ip, [r0, #68]
64281 cmp ip, #0
64282 beq .L20429
64283 tst ip, #255
64284 ldrne r3, [sp, #56]
64285 ldrneh r3, [r3, #6]
64286 strneh r3, [r1, #6] @ movhi
64287 mov r3, ip, lsr #8
64288 tst r3, #255
64289 ldrne r4, [sp, #56]
64290 mov r3, ip, lsr #16
64291 ldrneh r4, [r4, #4]
64292 strneh r4, [r1, #4] @ movhi
64293 tst r3, #255
64294 ldrne r5, [sp, #56]
64295 ldrneh r5, [r5, #2]
64296 strneh r5, [r1, #2] @ movhi
64297 movs ip, ip, lsr #24
64298 ldrne r6, [sp, #56]
64299 ldrneh r6, [r6, #0]
64300 strneh r6, [r1, #0] @ movhi
64301.L20429:
64302 ldr ip, [r7, #0]
64303 cmp ip, #0
64304 beq .L20438
64305 tst ip, #255
64306 ldrne r3, [sp, #56]
64307 ldrneh r3, [r3, #14]
64308 strneh r3, [r1, #14] @ movhi
64309 mov r3, ip, lsr #8
64310 tst r3, #255
64311 ldrne r4, [sp, #56]
64312 mov r3, ip, lsr #16
64313 ldrneh r4, [r4, #12]
64314 strneh r4, [r1, #12] @ movhi
64315 tst r3, #255
64316 ldrne r5, [sp, #56]
64317 ldrneh r5, [r5, #10]
64318 strneh r5, [r1, #10] @ movhi
64319 movs ip, ip, lsr #24
64320 ldrne r6, [sp, #56]
64321 ldrneh r6, [r6, #8]
64322 strneh r6, [r1, #8] @ movhi
64323.L20438:
64324 add r2, r2, #1
64325 cmp lr, r2
64326 sub r0, r0, #64
64327 bne .L20492
64328 b .L19663
64329.L20164:
64330 cmp r4, #0
64331 beq .L19663
64332 ldr r3, [sp, #12]
64333 mov lr, #0
64334 add r1, r3, r8, asl #1
64335 ldr r3, .L20498+36
64336 add r0, r0, r3
64337 b .L20208
64338.L20493:
64339 ldr ip, [sp, #56]
64340 add r2, r2, #64
64341 add ip, ip, #16
64342 add r1, r1, #16
64343 str ip, [sp, #56]
64344.L20208:
64345 ldr ip, [r2, #0]
64346 cmp ip, #0
64347 beq .L20209
64348 tst ip, #255
64349 ldrne r5, [sp, #56]
64350 mov r3, ip, lsr #8
64351 ldrneh r5, [r5, #0]
64352 strneh r5, [r1, #0] @ movhi
64353 tst r3, #255
64354 ldrne r6, [sp, #56]
64355 mov r3, ip, lsr #16
64356 ldrneh r6, [r6, #2]
64357 strneh r6, [r1, #2] @ movhi
64358 tst r3, #255
64359 ldrne r3, [sp, #56]
64360 ldrneh r3, [r3, #4]
64361 strneh r3, [r1, #4] @ movhi
64362 movs ip, ip, lsr #24
64363 ldrne r5, [sp, #56]
64364 ldrneh r5, [r5, #6]
64365 strneh r5, [r1, #6] @ movhi
64366.L20209:
64367 ldr ip, [r0, #-60]
64368 cmp ip, #0
64369 beq .L20218
64370 tst ip, #255
64371 ldrne r6, [sp, #56]
64372 mov r3, ip, lsr #8
64373 ldrneh r6, [r6, #8]
64374 strneh r6, [r1, #8] @ movhi
64375 tst r3, #255
64376 ldrne r3, [sp, #56]
64377 ldrneh r3, [r3, #10]
64378 strneh r3, [r1, #10] @ movhi
64379 mov r3, ip, lsr #16
64380 tst r3, #255
64381 ldrne r5, [sp, #56]
64382 ldrneh r5, [r5, #12]
64383 strneh r5, [r1, #12] @ movhi
64384 movs ip, ip, lsr #24
64385 ldrne r6, [sp, #56]
64386 ldrneh r6, [r6, #14]
64387 strneh r6, [r1, #14] @ movhi
64388.L20218:
64389 add lr, lr, #1
64390 cmp r4, lr
64391 add r0, r0, #64
64392 bne .L20493
64393 b .L19663
64394.L20011:
64395 ands r1, r0, #7
64396 mov r3, r0, lsr #3
64397 add ip, r2, r3, asl #6
64398 ldreq r1, [sp, #100]
64399 beq .L20115
64400 cmp r1, #3
64401 rsb r0, r1, #8
64402 bls .L20116
64403 cmp r0, #0
64404 ldr r2, [ip, #4]
64405 ldreq r1, [sp, #100]
64406 beq .L20120
64407 mov r3, r1, asl #3
64408 sub r3, r3, #32
64409 mov r3, r2, lsr r3
64410 mov r1, #0
64411.L20121:
64412 tst r3, #255
64413 ldrne r4, [sp, #56]
64414 mov r2, r1, asl #1
64415 ldrneh r5, [r2, r4]
64416 ldrne r4, [sp, #100]
64417 add r1, r1, #1
64418 strneh r5, [r2, r4] @ movhi
64419 cmp r0, r1
64420 mov r3, r3, lsr #8
64421 bne .L20121
64422 ldr r6, [sp, #56]
64423 mov r3, r0, asl #1
64424 ldr r0, [sp, #100]
64425 add r6, r6, r3
64426 str r6, [sp, #56]
64427 add r1, r0, r3
64428.L20120:
64429 add ip, ip, #64
64430.L20115:
64431 movs lr, lr, lsr #3
64432 beq .L19663
64433 mov r0, #0
64434 b .L20144
64435.L20494:
64436 ldr r2, [sp, #56]
64437 add ip, ip, #64
64438 add r2, r2, #16
64439 add r1, r1, #16
64440 str r2, [sp, #56]
64441.L20144:
64442 ldr r2, [ip, #0]
64443 cmp r2, #0
64444 beq .L20145
64445 tst r2, #255
64446 ldrne r3, [sp, #56]
64447 ldrneh r3, [r3, #0]
64448 strneh r3, [r1, #0] @ movhi
64449 mov r3, r2, lsr #8
64450 tst r3, #255
64451 ldrne r4, [sp, #56]
64452 mov r3, r2, lsr #16
64453 ldrneh r4, [r4, #2]
64454 strneh r4, [r1, #2] @ movhi
64455 tst r3, #255
64456 ldrne r5, [sp, #56]
64457 ldrneh r5, [r5, #4]
64458 strneh r5, [r1, #4] @ movhi
64459 movs r2, r2, lsr #24
64460 ldrne r6, [sp, #56]
64461 ldrneh r6, [r6, #6]
64462 strneh r6, [r1, #6] @ movhi
64463.L20145:
64464 ldr r2, [ip, #4]
64465 cmp r2, #0
64466 beq .L20154
64467 tst r2, #255
64468 ldrne r3, [sp, #56]
64469 ldrneh r3, [r3, #8]
64470 strneh r3, [r1, #8] @ movhi
64471 mov r3, r2, lsr #8
64472 tst r3, #255
64473 ldrne r4, [sp, #56]
64474 mov r3, r2, lsr #16
64475 ldrneh r4, [r4, #10]
64476 strneh r4, [r1, #10] @ movhi
64477 tst r3, #255
64478 ldrne r5, [sp, #56]
64479 ldrneh r5, [r5, #12]
64480 strneh r5, [r1, #12] @ movhi
64481 movs r2, r2, lsr #24
64482 ldrne r6, [sp, #56]
64483 ldrneh r6, [r6, #14]
64484 strneh r6, [r1, #14] @ movhi
64485.L20154:
64486 add r0, r0, #1
64487 cmp r0, lr
64488 bne .L20494
64489 b .L19663
64490.L19881:
64491 mov r3, ip, lsr #3
64492 ands r2, ip, #7
64493 sub r0, r0, r3, asl #5
64494 ldreq r3, [sp, #100]
64495 beq .L19930
64496 rsbs r4, r2, #8
64497 ldr ip, [r0, #0]
64498 ldreq r3, [sp, #100]
64499 beq .L19933
64500 mov r3, r2, asl #2
64501 mov r3, ip, asl r3
64502 mov lr, #0
64503.L19934:
64504 movs ip, r3, lsr #28
64505 ldrne r2, [sp, #56]
64506 mov ip, lr, asl #1
64507 ldrneh r5, [ip, r2]
64508 ldrne r2, [sp, #100]
64509 add lr, lr, #1
64510 strneh r5, [ip, r2] @ movhi
64511 cmp lr, r4
64512 mov r3, r3, asl #4
64513 bne .L19934
64514 ldr r6, [sp, #56]
64515 mov r3, r4, asl #1
64516 ldr ip, [sp, #100]
64517 add r6, r6, r3
64518 str r6, [sp, #56]
64519 add r3, ip, r3
64520.L19933:
64521 sub r0, r0, #32
64522.L19930:
64523 movs r1, r1, lsr #3
64524 beq .L19663
64525 mov r2, #0
64526 b .L19940
64527.L20495:
64528 ldr ip, [sp, #56]
64529 sub r0, r0, #32
64530 add ip, ip, #16
64531 add r3, r3, #16
64532 str ip, [sp, #56]
64533.L19940:
64534 ldr ip, [r0, #0]
64535 cmp ip, #0
64536 beq .L19941
64537 tst ip, #15
64538 ldrne lr, [sp, #56]
64539 ldrneh lr, [lr, #14]
64540 strneh lr, [r3, #14] @ movhi
64541 tst ip, #240
64542 ldrne r4, [sp, #56]
64543 ldrneh r4, [r4, #12]
64544 strneh r4, [r3, #12] @ movhi
64545 tst ip, #3840
64546 ldrne r5, [sp, #56]
64547 ldrneh r5, [r5, #10]
64548 strneh r5, [r3, #10] @ movhi
64549 tst ip, #61440
64550 ldrne r6, [sp, #56]
64551 ldrneh r6, [r6, #8]
64552 strneh r6, [r3, #8] @ movhi
64553 tst ip, #983040
64554 ldrne lr, [sp, #56]
64555 ldrneh lr, [lr, #6]
64556 strneh lr, [r3, #6] @ movhi
64557 tst ip, #15728640
64558 ldrne r4, [sp, #56]
64559 ldrneh r4, [r4, #4]
64560 strneh r4, [r3, #4] @ movhi
64561 tst ip, #251658240
64562 ldrne r5, [sp, #56]
64563 ldrneh r5, [r5, #2]
64564 strneh r5, [r3, #2] @ movhi
64565 movs ip, ip, lsr #28
64566 ldrne r6, [sp, #56]
64567 ldrneh r6, [r6, #0]
64568 strneh r6, [r3, #0] @ movhi
64569.L19941:
64570 add r2, r2, #1
64571 cmp r2, r1
64572 bne .L20495
64573 b .L19663
64574.L19751:
64575 mov r3, ip, lsr #3
64576 mov r1, r3, asl #5
64577 ands r3, ip, #7
64578 ldreq r3, [sp, #100]
64579 add ip, r0, r1
64580 beq .L19800
64581 rsbs r4, r3, #8
64582 ldr r0, [r0, r1]
64583 ldreq r3, [sp, #100]
64584 beq .L19803
64585 mov r3, r3, asl #2
64586 mov r0, r0, lsr r3
64587 mov r2, #0
64588.L19804:
64589 tst r0, #15
64590 ldrne r1, [sp, #56]
64591 mov r3, r2, asl #1
64592 ldrneh r5, [r3, r1]
64593 ldrne r1, [sp, #100]
64594 add r2, r2, #1
64595 strneh r5, [r3, r1] @ movhi
64596 cmp r4, r2
64597 mov r0, r0, lsr #4
64598 bne .L19804
64599 ldr r6, [sp, #56]
64600 mov r3, r4, asl #1
64601 ldr r0, [sp, #100]
64602 add r6, r6, r3
64603 str r6, [sp, #56]
64604 add r3, r0, r3
64605.L19803:
64606 add ip, ip, #32
64607.L19800:
64608 movs r0, lr, lsr #3
64609 beq .L19663
64610 mov r1, #0
64611 b .L19810
64612.L20496:
64613 ldr r2, [sp, #56]
64614 add ip, ip, #32
64615 add r2, r2, #16
64616 add r3, r3, #16
64617 str r2, [sp, #56]
64618.L19810:
64619 ldr r2, [ip, #0]
64620 cmp r2, #0
64621 beq .L19811
64622 tst r2, #15
64623 ldrne r4, [sp, #56]
64624 ldrneh r4, [r4, #0]
64625 strneh r4, [r3, #0] @ movhi
64626 tst r2, #240
64627 ldrne r5, [sp, #56]
64628 ldrneh r5, [r5, #2]
64629 strneh r5, [r3, #2] @ movhi
64630 tst r2, #3840
64631 ldrne r6, [sp, #56]
64632 ldrneh r6, [r6, #4]
64633 strneh r6, [r3, #4] @ movhi
64634 tst r2, #61440
64635 ldrne lr, [sp, #56]
64636 ldrneh lr, [lr, #6]
64637 strneh lr, [r3, #6] @ movhi
64638 tst r2, #983040
64639 ldrne r4, [sp, #56]
64640 ldrneh r4, [r4, #8]
64641 strneh r4, [r3, #8] @ movhi
64642 tst r2, #15728640
64643 ldrne r5, [sp, #56]
64644 ldrneh r5, [r5, #10]
64645 strneh r5, [r3, #10] @ movhi
64646 tst r2, #251658240
64647 ldrne r6, [sp, #56]
64648 ldrneh r6, [r6, #12]
64649 strneh r6, [r3, #12] @ movhi
64650 movs r2, r2, lsr #28
64651 ldrne lr, [sp, #56]
64652 ldrneh lr, [lr, #14]
64653 strneh lr, [r3, #14] @ movhi
64654.L19811:
64655 add r1, r1, #1
64656 cmp r1, r0
64657 bne .L20496
64658 b .L19663
64659.L20231:
64660 ands r2, r0, #7
64661 mov r3, r0, lsr #3
64662 sub ip, r7, r3, asl #6
64663 ldreq r1, [sp, #100]
64664 beq .L20335
64665 cmp r2, #3
64666 rsb r0, r2, #8
64667 bls .L20336
64668 cmp r0, #0
64669 ldr r1, [ip, #0]
64670 ldreq r1, [sp, #100]
64671 beq .L20340
64672 mov r3, r2, asl #3
64673 sub r3, r3, #32
64674 mov r3, r1, asl r3
64675 mov r1, #0
64676.L20341:
64677 movs r2, r3, lsr #24
64678 ldrne r4, [sp, #56]
64679 mov r2, r1, asl #1
64680 ldrneh r5, [r2, r4]
64681 ldrne r4, [sp, #100]
64682 add r1, r1, #1
64683 strneh r5, [r2, r4] @ movhi
64684 cmp r1, r0
64685 mov r3, r3, asl #8
64686 bne .L20341
64687 ldr r6, [sp, #56]
64688 mov r3, r0, asl #1
64689 ldr r0, [sp, #100]
64690 add r6, r6, r3
64691 str r6, [sp, #56]
64692 add r1, r0, r3
64693.L20340:
64694 sub ip, ip, #64
64695.L20335:
64696 movs lr, lr, lsr #3
64697 beq .L19663
64698 mov r0, #0
64699 b .L20364
64700.L20497:
64701 ldr r2, [sp, #56]
64702 sub ip, ip, #64
64703 add r2, r2, #16
64704 add r1, r1, #16
64705 str r2, [sp, #56]
64706.L20364:
64707 ldr r2, [ip, #4]
64708 cmp r2, #0
64709 beq .L20365
64710 tst r2, #255
64711 ldrne r3, [sp, #56]
64712 ldrneh r3, [r3, #6]
64713 strneh r3, [r1, #6] @ movhi
64714 mov r3, r2, lsr #8
64715 tst r3, #255
64716 ldrne r4, [sp, #56]
64717 mov r3, r2, lsr #16
64718 ldrneh r4, [r4, #4]
64719 strneh r4, [r1, #4] @ movhi
64720 tst r3, #255
64721 ldrne r5, [sp, #56]
64722 ldrneh r5, [r5, #2]
64723 strneh r5, [r1, #2] @ movhi
64724 movs r2, r2, lsr #24
64725 ldrne r6, [sp, #56]
64726 ldrneh r6, [r6, #0]
64727 strneh r6, [r1, #0] @ movhi
64728.L20365:
64729 ldr r2, [ip, #0]
64730 cmp r2, #0
64731 beq .L20374
64732 tst r2, #255
64733 ldrne r3, [sp, #56]
64734 ldrneh r3, [r3, #14]
64735 strneh r3, [r1, #14] @ movhi
64736 mov r3, r2, lsr #8
64737 tst r3, #255
64738 ldrne r4, [sp, #56]
64739 mov r3, r2, lsr #16
64740 ldrneh r4, [r4, #12]
64741 strneh r4, [r1, #12] @ movhi
64742 tst r3, #255
64743 ldrne r5, [sp, #56]
64744 ldrneh r5, [r5, #10]
64745 strneh r5, [r1, #10] @ movhi
64746 movs r2, r2, lsr #24
64747 ldrne r6, [sp, #56]
64748 ldrneh r6, [r6, #8]
64749 strneh r6, [r1, #8] @ movhi
64750.L20374:
64751 add r0, r0, #1
64752 cmp r0, lr
64753 bne .L20497
64754 b .L19663
64755.L19753:
64756 ldr r5, [sp, #120]
64757 rsb ip, r3, #8
64758 cmp r5, ip
64759 bge .L19756
64760 cmp r5, #0
64761 ble .L19663
64762 ldr r2, [r0, r1]
64763 mov r3, r3, asl #2
64764 mov r0, r2, lsr r3
64765 mov r2, #0
64766.L19760:
64767 tst r0, #15
64768 ldrne r6, [sp, #56]
64769 mov r3, r2, asl #1
64770 ldrneh ip, [r3, r6]
64771 ldr lr, [sp, #120]
64772 ldrne r6, [sp, #100]
64773 add r2, r2, #1
64774 strneh ip, [r3, r6] @ movhi
64775 cmp lr, r2
64776 mov r0, r0, lsr #4
64777 bne .L19760
64778 b .L19663
64779.L20233:
64780 ldr r5, [sp, #120]
64781 rsb lr, ip, #8
64782 cmp r5, lr
64783 bge .L20236
64784 cmp r5, #0
64785 ble .L19663
64786 cmp ip, #3
64787 bls .L20239
64788 ldr r2, [r8, #0]
64789 mov r3, ip, asl #3
64790 sub r3, r3, #32
64791 mov r2, r2, asl r3
64792 mov r1, #0
64793.L20242:
64794 movs r6, r2, lsr #24
64795 ldrne ip, [sp, #56]
64796 mov r3, r1, asl #1
64797 ldrneh lr, [r3, ip]
64798 ldr r0, [sp, #120]
64799 ldrne ip, [sp, #100]
64800 add r1, r1, #1
64801 strneh lr, [r3, ip] @ movhi
64802 cmp r0, r1
64803 mov r2, r2, asl #8
64804 bne .L20242
64805 b .L19663
64806.L20013:
64807 ldr r0, [sp, #120]
64808 rsb lr, ip, #8
64809 cmp r0, lr
64810 bge .L20016
64811 cmp r0, #0
64812 ble .L19663
64813 cmp ip, #3
64814 bls .L20019
64815 ldr r2, [r8, #4]
64816 mov r3, ip, asl #3
64817 sub r3, r3, #32
64818 mov r1, r2, lsr r3
64819 mov r2, #0
64820.L20022:
64821 tst r1, #255
64822 ldrne r4, [sp, #56]
64823 mov r3, r2, asl #1
64824 ldrneh r5, [r3, r4]
64825 ldr r6, [sp, #120]
64826 ldrne r4, [sp, #100]
64827 add r2, r2, #1
64828 strneh r5, [r3, r4] @ movhi
64829 cmp r6, r2
64830 mov r1, r1, lsr #8
64831 bne .L20022
64832 b .L19663
64833.L19883:
64834 ldr r3, [sp, #120]
64835 rsb lr, r4, #8
64836 cmp r3, lr
64837 bge .L19886
64838 cmp r3, #0
64839 ble .L19663
64840 ldr r2, [r0, #0]
64841 mov r3, r4, asl #2
64842 mov r0, r2, asl r3
64843 mov r2, #0
64844.L19890:
64845 movs r4, r0, lsr #28
64846 ldrne r5, [sp, #56]
64847 mov r3, r2, asl #1
64848 ldrneh r6, [r3, r5]
64849 ldr ip, [sp, #120]
64850 ldrne r5, [sp, #100]
64851 add r2, r2, #1
64852 strneh r6, [r3, r5] @ movhi
64853 cmp ip, r2
64854 mov r0, r0, asl #4
64855 bne .L19890
64856 b .L19663
64857.L20016:
64858 cmp ip, #3
64859 bls .L20046
64860 cmp lr, #0
64861 ldr r2, [r8, #4]
64862 ldreq r5, [sp, #100]
64863 beq .L20050
64864 mov r3, ip, asl #3
64865 sub r3, r3, #32
64866 mov r1, r2, lsr r3
64867 mov r2, #0
64868.L20051:
64869 tst r1, #255
64870 ldrne r0, [sp, #56]
64871 mov r3, r2, asl #1
64872 ldrneh r4, [r3, r0]
64873 ldrne r0, [sp, #100]
64874 add r2, r2, #1
64875 strneh r4, [r3, r0] @ movhi
64876 cmp lr, r2
64877 mov r1, r1, lsr #8
64878 bne .L20051
64879 ldr r5, [sp, #56]
64880 mov r3, lr, asl #1
64881 ldr r6, [sp, #100]
64882 add r5, r5, r3
64883 str r5, [sp, #56]
64884 add r5, r3, r6
64885.L20050:
64886 ldr ip, [sp, #120]
64887 add r8, r8, #64
64888 rsb r7, lr, ip
64889 b .L20015
64890.L20116:
64891 subs r4, r0, #4
64892 ldr r2, [ip, #0]
64893 ldreq r1, [sp, #100]
64894 beq .L20128
64895 mov r3, r1, asl #3
64896 mov r3, r2, lsr r3
64897 mov r1, #0
64898.L20129:
64899 tst r3, #255
64900 ldrne r5, [sp, #56]
64901 mov r2, r1, asl #1
64902 ldrneh r6, [r2, r5]
64903 ldrne r5, [sp, #100]
64904 add r1, r1, #1
64905 strneh r6, [r2, r5] @ movhi
64906 cmp r1, r4
64907 mov r3, r3, lsr #8
64908 bne .L20129
64909 mov r3, r0, asl #1
64910 ldr r0, [sp, #56]
64911 ldr r1, [sp, #100]
64912 add r2, r0, r3
64913 sub r2, r2, #8
64914 add r3, r1, r3
64915 str r2, [sp, #56]
64916 sub r1, r3, #8
64917.L20128:
64918 ldr r2, [ip, #4]
64919 cmp r2, #0
64920 beq .L20134
64921 tst r2, #255
64922 ldrne r3, [sp, #56]
64923 ldrneh r3, [r3, #0]
64924 strneh r3, [r1, #0] @ movhi
64925 mov r3, r2, lsr #8
64926 tst r3, #255
64927 ldrne r4, [sp, #56]
64928 mov r3, r2, lsr #16
64929 ldrneh r4, [r4, #2]
64930 strneh r4, [r1, #2] @ movhi
64931 tst r3, #255
64932 ldrne r5, [sp, #56]
64933 ldrneh r5, [r5, #4]
64934 strneh r5, [r1, #4] @ movhi
64935 movs r2, r2, lsr #24
64936 ldrne r6, [sp, #56]
64937 ldrneh r6, [r6, #6]
64938 strneh r6, [r1, #6] @ movhi
64939.L20134:
64940 ldr r0, [sp, #56]
64941 add r1, r1, #8
64942 add r0, r0, #8
64943 add ip, ip, #64
64944 str r0, [sp, #56]
64945 b .L20115
64946.L19756:
64947 cmp ip, #0
64948 ldr r2, [r4, #0]
64949 ldreq r5, [sp, #100]
64950 beq .L19766
64951 mov r3, r3, asl #2
64952 mov r3, r2, lsr r3
64953 mov r1, #0
64954.L19767:
64955 tst r3, #15
64956 ldrne r0, [sp, #56]
64957 mov r2, r1, asl #1
64958 ldrneh r5, [r2, r0]
64959 ldrne r0, [sp, #100]
64960 add r1, r1, #1
64961 strneh r5, [r2, r0] @ movhi
64962 cmp ip, r1
64963 mov r3, r3, lsr #4
64964 bne .L19767
64965 ldr r6, [sp, #56]
64966 mov r3, ip, asl #1
64967 ldr lr, [sp, #100]
64968 add r6, r6, r3
64969 str r6, [sp, #56]
64970 add r5, r3, lr
64971.L19766:
64972 ldr r0, [sp, #120]
64973 add r4, r4, #32
64974 rsb r7, ip, r0
64975 b .L19755
64976.L19886:
64977 cmp lr, #0
64978 ldr r2, [r0, #0]
64979 ldreq r1, [sp, #100]
64980 beq .L19896
64981 mov r3, r4, asl #2
64982 mov r3, r2, asl r3
64983 mov ip, #0
64984.L19897:
64985 movs r1, r3, lsr #28
64986 ldrne r4, [sp, #56]
64987 mov r2, ip, asl #1
64988 ldrneh r5, [r2, r4]
64989 ldrne r4, [sp, #100]
64990 add ip, ip, #1
64991 strneh r5, [r2, r4] @ movhi
64992 cmp lr, ip
64993 mov r3, r3, asl #4
64994 bne .L19897
64995 ldr r6, [sp, #56]
64996 mov r3, lr, asl #1
64997 ldr ip, [sp, #100]
64998 add r6, r6, r3
64999 str r6, [sp, #56]
65000 add r1, r3, ip
65001.L19896:
65002 ldr r2, [sp, #120]
65003 sub r0, r0, #32
65004 rsb r7, lr, r2
65005 b .L19885
65006.L20336:
65007 subs r4, r0, #4
65008 ldr r1, [ip, #4]
65009 ldreq r1, [sp, #100]
65010 beq .L20348
65011 mov r3, r2, asl #3
65012 sub r3, r3, #32
65013 mov r3, r1, asl r3
65014 mov r1, #0
65015.L20349:
65016 movs r2, r3, lsr #24
65017 ldrne r5, [sp, #56]
65018 mov r2, r1, asl #1
65019 ldrneh r6, [r2, r5]
65020 ldrne r5, [sp, #100]
65021 add r1, r1, #1
65022 strneh r6, [r2, r5] @ movhi
65023 cmp r1, r4
65024 mov r3, r3, asl #8
65025 bne .L20349
65026 mov r3, r0, asl #1
65027 ldr r0, [sp, #56]
65028 ldr r1, [sp, #100]
65029 add r2, r0, r3
65030 sub r2, r2, #8
65031 add r3, r1, r3
65032 str r2, [sp, #56]
65033 sub r1, r3, #8
65034.L20348:
65035 ldr r2, [ip, #0]
65036 cmp r2, #0
65037 beq .L20354
65038 tst r2, #255
65039 ldrne r3, [sp, #56]
65040 ldrneh r3, [r3, #6]
65041 strneh r3, [r1, #6] @ movhi
65042 mov r3, r2, lsr #8
65043 tst r3, #255
65044 ldrne r4, [sp, #56]
65045 mov r3, r2, lsr #16
65046 ldrneh r4, [r4, #4]
65047 strneh r4, [r1, #4] @ movhi
65048 tst r3, #255
65049 ldrne r5, [sp, #56]
65050 ldrneh r5, [r5, #2]
65051 strneh r5, [r1, #2] @ movhi
65052 movs r2, r2, lsr #24
65053 ldrne r6, [sp, #56]
65054 ldrneh r6, [r6, #0]
65055 strneh r6, [r1, #0] @ movhi
65056.L20354:
65057 ldr r0, [sp, #56]
65058 add r1, r1, #8
65059 add r0, r0, #8
65060 sub ip, ip, #64
65061 str r0, [sp, #56]
65062 b .L20335
65063.L20236:
65064 cmp ip, #3
65065 bls .L20266
65066 cmp lr, #0
65067 ldr r2, [r8, #0]
65068 ldreq r5, [sp, #100]
65069 beq .L20270
65070 mov r3, ip, asl #3
65071 sub r3, r3, #32
65072 mov r3, r2, asl r3
65073 mov r1, #0
65074.L20271:
65075 movs r2, r3, lsr #24
65076 ldrne r4, [sp, #56]
65077 mov r2, r1, asl #1
65078 ldrneh r5, [r2, r4]
65079 ldrne r4, [sp, #100]
65080 add r1, r1, #1
65081 strneh r5, [r2, r4] @ movhi
65082 cmp lr, r1
65083 mov r3, r3, asl #8
65084 bne .L20271
65085 ldr r6, [sp, #56]
65086 mov r3, lr, asl #1
65087 ldr ip, [sp, #100]
65088 add r6, r6, r3
65089 str r6, [sp, #56]
65090 add r5, ip, r3
65091.L20270:
65092 ldr ip, [sp, #120]
65093 sub r8, r8, #64
65094 rsb r7, lr, ip
65095 b .L20235
65096.L20482:
65097 mov r7, #0
65098 b .L19733
65099.L20478:
65100 mov r7, #0
65101 b .L19698
65102.L20046:
65103 subs r0, lr, #4
65104 ldr r2, [r8, #0]
65105 ldreq r1, [sp, #100]
65106 beq .L20058
65107 mov r3, ip, asl #3
65108 mov r1, r2, lsr r3
65109 mov r2, #0
65110.L20059:
65111 tst r1, #255
65112 ldrne ip, [sp, #56]
65113 mov r3, r2, asl #1
65114 ldrneh r4, [r3, ip]
65115 ldrne ip, [sp, #100]
65116 add r2, r2, #1
65117 strneh r4, [r3, ip] @ movhi
65118 cmp r2, r0
65119 mov r1, r1, lsr #8
65120 bne .L20059
65121 ldr r5, [sp, #56]
65122 mov r3, lr, asl #1
65123 ldr r6, [sp, #100]
65124 add r2, r5, r3
65125 sub r2, r2, #8
65126 add r3, r6, r3
65127 str r2, [sp, #56]
65128 sub r1, r3, #8
65129.L20058:
65130 ldr r2, [r8, #4]
65131 cmp r2, #0
65132 beq .L20064
65133 tst r2, #255
65134 ldrne ip, [sp, #56]
65135 mov r3, r2, lsr #8
65136 ldrneh ip, [ip, #0]
65137 strneh ip, [r1, #0] @ movhi
65138 tst r3, #255
65139 ldrne r0, [sp, #56]
65140 mov r3, r2, lsr #16
65141 ldrneh r0, [r0, #2]
65142 strneh r0, [r1, #2] @ movhi
65143 tst r3, #255
65144 ldrne r3, [sp, #56]
65145 ldrneh r3, [r3, #4]
65146 strneh r3, [r1, #4] @ movhi
65147 movs r2, r2, lsr #24
65148 ldrne r4, [sp, #56]
65149 ldrneh r4, [r4, #6]
65150 strneh r4, [r1, #6] @ movhi
65151.L20064:
65152 ldr r6, [sp, #56]
65153 add r5, r1, #8
65154 add r6, r6, #8
65155 str r6, [sp, #56]
65156 b .L20050
65157.L20266:
65158 subs r0, lr, #4
65159 ldr r2, [r8, #4]
65160 ldreq r1, [sp, #100]
65161 beq .L20278
65162 mov r3, ip, asl #3
65163 sub r3, r3, #32
65164 mov r3, r2, asl r3
65165 mov r1, #0
65166.L20279:
65167 movs r2, r3, lsr #24
65168 ldrne r4, [sp, #56]
65169 mov r2, r1, asl #1
65170 ldrneh r5, [r2, r4]
65171 ldrne r4, [sp, #100]
65172 add r1, r1, #1
65173 strneh r5, [r2, r4] @ movhi
65174 cmp r1, r0
65175 mov r3, r3, asl #8
65176 bne .L20279
65177 ldr r6, [sp, #56]
65178 mov r3, lr, asl #1
65179 ldr ip, [sp, #100]
65180 add r2, r6, r3
65181 sub r2, r2, #8
65182 add r3, ip, r3
65183 str r2, [sp, #56]
65184 sub r1, r3, #8
65185.L20278:
65186 ldr r2, [r8, #0]
65187 cmp r2, #0
65188 beq .L20284
65189 tst r2, #255
65190 ldrne r0, [sp, #56]
65191 mov r3, r2, lsr #8
65192 ldrneh r0, [r0, #6]
65193 strneh r0, [r1, #6] @ movhi
65194 tst r3, #255
65195 ldrne r3, [sp, #56]
65196 ldrneh r3, [r3, #4]
65197 strneh r3, [r1, #4] @ movhi
65198 mov r3, r2, lsr #16
65199 tst r3, #255
65200 ldrne r4, [sp, #56]
65201 ldrneh r4, [r4, #2]
65202 strneh r4, [r1, #2] @ movhi
65203 movs r2, r2, lsr #24
65204 ldrne r5, [sp, #56]
65205 ldrneh r5, [r5, #0]
65206 strneh r5, [r1, #0] @ movhi
65207.L20284:
65208 ldr r6, [sp, #56]
65209 add r5, r1, #8
65210 add r6, r6, #8
65211 str r6, [sp, #56]
65212 b .L20270
65213.L20485:
65214 mov r1, fp
65215 b .L20464
65216.L20484:
65217 mov lr, r6
65218 b .L20462
65219.L20019:
65220 ldr lr, [sp, #120]
65221 ldr r3, [r8, #0]
65222 add r2, lr, ip
65223 mov r1, ip, asl #3
65224 cmp r2, #4
65225 mov r3, r3, lsr r1
65226 bhi .L20026
65227 cmp lr, #0
65228 movne r1, #0
65229 beq .L19663
65230.L20042:
65231 tst r3, #255
65232 ldrne r5, [sp, #56]
65233 mov r2, r1, asl #1
65234 ldrneh r6, [r2, r5]
65235 ldr ip, [sp, #120]
65236 ldrne r5, [sp, #100]
65237 add r1, r1, #1
65238 strneh r6, [r2, r5] @ movhi
65239 cmp ip, r1
65240 mov r3, r3, lsr #8
65241 bne .L20042
65242 b .L19663
65243.L20239:
65244 ldr r4, [sp, #120]
65245 mov r3, ip, asl #3
65246 ldr r1, [r8, #4]
65247 add r2, r4, ip
65248 sub r3, r3, #32
65249 cmp r2, #4
65250 mov r1, r1, asl r3
65251 bhi .L20246
65252 cmp r4, #0
65253 movne r2, #0
65254 beq .L19663
65255.L20262:
65256 movs r6, r1, lsr #24
65257 ldrne ip, [sp, #56]
65258 mov r3, r2, asl #1
65259 ldrneh lr, [r3, ip]
65260 ldr r0, [sp, #120]
65261 ldrne ip, [sp, #100]
65262 add r2, r2, #1
65263 strneh lr, [r3, ip] @ movhi
65264 cmp r0, r2
65265 mov r1, r1, asl #8
65266 bne .L20262
65267 b .L19663
65268.L20026:
65269 rsbs r0, ip, #4
65270 ldreq ip, [sp, #100]
65271 beq .L20031
65272 mov r1, #0
65273.L20032:
65274 tst r3, #255
65275 ldrne r4, [sp, #56]
65276 mov r2, r1, asl #1
65277 ldrneh r5, [r2, r4]
65278 ldrne r4, [sp, #100]
65279 add r1, r1, #1
65280 strneh r5, [r2, r4] @ movhi
65281 cmp r1, r0
65282 mov r3, r3, lsr #8
65283 bne .L20032
65284 ldr r6, [sp, #56]
65285 mov r3, r0, asl #1
65286 ldr lr, [sp, #100]
65287 add r6, r6, r3
65288 str r6, [sp, #56]
65289 add ip, r3, lr
65290.L20031:
65291 ldr r1, [sp, #120]
65292 ldr r3, [r8, #4]
65293 subs r0, r1, r0
65294 beq .L19663
65295 mov r1, #0
65296.L20038:
65297 tst r3, #255
65298 ldrne r4, [sp, #56]
65299 mov r2, r1, asl #1
65300 ldrneh r4, [r2, r4]
65301 add r1, r1, #1
65302 strneh r4, [r2, ip] @ movhi
65303 cmp r1, r0
65304 mov r3, r3, lsr #8
65305 bne .L20038
65306 b .L19663
65307.L20246:
65308 rsbs r0, ip, #4
65309 ldreq r3, [sp, #100]
65310 beq .L20251
65311 mov r2, #0
65312.L20252:
65313 movs r5, r1, lsr #24
65314 ldrne r6, [sp, #56]
65315 mov r3, r2, asl #1
65316 ldrneh ip, [r3, r6]
65317 ldrne r6, [sp, #100]
65318 add r2, r2, #1
65319 strneh ip, [r3, r6] @ movhi
65320 cmp r2, r0
65321 mov r1, r1, asl #8
65322 bne .L20252
65323 ldr lr, [sp, #56]
65324 mov r3, r0, asl #1
65325 ldr r1, [sp, #100]
65326 add lr, lr, r3
65327 str lr, [sp, #56]
65328 add r3, r3, r1
65329.L20251:
65330 ldr r2, [sp, #120]
65331 subs ip, r2, r0
65332 ldr r2, [r8, #0]
65333 beq .L19663
65334 mov r0, #0
65335.L20258:
65336 movs r4, r2, lsr #24
65337 ldrne r5, [sp, #56]
65338 mov r1, r0, asl #1
65339 ldrneh r5, [r1, r5]
65340 add r0, r0, #1
65341 strneh r5, [r1, r3] @ movhi
65342 cmp r0, ip
65343 mov r2, r2, asl #8
65344 bne .L20258
65345 b .L19663
65346 .size render_scanline_obj_copy_tile_1D, .-render_scanline_obj_copy_tile_1D
65347 .align 2
65348 .global render_scanline_window_tile
65349 .type render_scanline_window_tile, %function
65350render_scanline_window_tile:
65351 @ args = 0, pretend = 0, frame = 20
65352 @ frame_needed = 0, uses_anonymous_args = 0
65353 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
65354 ldr lr, .L21076
65355 mov r2, r1, lsr #13
65356 ldrh ip, [lr, #74]
65357 ldr r3, .L21076+4
65358 and ip, ip, #63
65359 sub sp, sp, #32
65360 mov r6, r1
65361 sub r2, r2, #1
65362 and r1, r1, #7
65363 str ip, [sp, #12]
65364 add r9, r3, r1, asl #7
65365 mov r7, r0
65366 ldrh ip, [lr, #6]
65367 ldrh sl, [lr, #80]
65368 cmp r2, #6
65369 ldrls pc, [pc, r2, asl #2]
65370 b .L20990
65371 .p2align 2
65372.L20509:
65373 .word .L20502
65374 .word .L20503
65375 .word .L20504
65376 .word .L20505
65377 .word .L20506
65378 .word .L20507
65379 .word .L20508
65380.L20503:
65381 ldrh r3, [lr, #70]
65382 ldr r4, .L21076
65383 and r1, r3, #255
65384 mov r0, r3, lsr #8
65385 cmp r0, r1
65386 ldrh r2, [lr, #72]
65387 bls .L20531
65388 cmp ip, r0
65389 movls r3, #0
65390 movhi r3, #1
65391 cmp ip, r1
65392 orrls r3, r3, #1
65393 cmp r3, #0
65394 bne .L20539
65395.L20994:
65396 cmp r1, #227
65397 bhi .L20539
65398.L20535:
65399 mov r4, #240
65400 mov r5, r4
65401.L20547:
65402 mov r0, #0
65403 mov r1, r5
65404 mov r2, r7
65405 ldr r3, [sp, #12]
65406 stmia sp, {r6, sl} @ phole stm
65407 str r9, [sp, #8]
65408 bl render_scanline_conditional_tile
65409.L20548:
65410 cmp r5, r4
65411 beq .L20528
65412 mov r0, r5
65413 mov r3, r8
65414 mov r1, r4
65415 mov r2, r7
65416 stmia sp, {r6, sl} @ phole stm
65417 str r9, [sp, #8]
65418 bl render_scanline_conditional_tile
65419.L20528:
65420 cmp r4, #240
65421 beq .L20990
65422 ldr r3, [sp, #12]
65423 mov r0, r4
65424 mov r2, r7
65425.L21037:
65426 mov r1, #240
65427 stmia sp, {r6, sl} @ phole stm
65428 str r9, [sp, #8]
65429 bl render_scanline_conditional_tile
65430.L20990:
65431 add sp, sp, #32
65432 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
65433.L20502:
65434 ldrh r3, [lr, #68]
65435 ldr r4, .L21076
65436 and r2, r3, #255
65437 mov r1, r3, lsr #8
65438 cmp r1, r2
65439 ldrh r0, [lr, #72]
65440 bls .L20510
65441 cmp ip, r1
65442 movls r3, #0
65443 movhi r3, #1
65444 cmp ip, r2
65445 orrls r3, r3, #1
65446 cmp r3, #0
65447 beq .L20992
65448.L20518:
65449 cmp r1, #227
65450 bhi .L20535
65451 ldrh r3, [r4, #64]
65452 and r8, r0, #63
65453 and r4, r3, #255
65454 mov r3, r3, lsr #8
65455 cmp r3, #240
65456 movcc r5, r3
65457 movcs r5, #240
65458 cmp r4, #240
65459 bhi .L21059
65460.L20538:
65461 cmp r5, r4
65462 bls .L20542
65463 cmp r4, #0
65464 bne .L21060
65465.L20544:
65466 mov r0, r4
65467 ldr r3, [sp, #12]
65468 mov r2, r7
65469 mov r1, r5
65470 stmia sp, {r6, sl} @ phole stm
65471 str r9, [sp, #8]
65472 bl render_scanline_conditional_tile
65473 cmp r5, #240
65474 movne r0, r5
65475 movne r2, r7
65476 movne r3, r8
65477 bne .L21037
65478 b .L20990
65479.L20508:
65480 ldrh r3, [lr, #68]
65481 ldr r2, .L21076
65482 and r1, r3, #255
65483 mov r0, r3, lsr #8
65484 cmp r0, r1
65485 ldrh r4, [lr, #72]
65486 bls .L20774
65487 cmp ip, r0
65488 movls r3, #0
65489 movhi r3, #1
65490 cmp ip, r1
65491 orrls r3, r3, #1
65492 cmp r3, #0
65493 beq .L21053
65494.L20782:
65495 cmp r0, #227
65496 bls .L21061
65497.L20778:
65498 mov r8, #240
65499 mov fp, r8
65500.L20781:
65501 ldrh r3, [lr, #70]
65502 ldr r0, .L21076
65503 and r1, r3, #255
65504 mov r2, r3, lsr #8
65505 cmp r2, r1
65506 bls .L20785
65507 cmp ip, r2
65508 movls r3, #0
65509 movhi r3, #1
65510 cmp ip, r1
65511 orrls r3, r3, #1
65512 cmp r3, #0
65513 beq .L21054
65514.L20793:
65515 cmp r2, #227
65516 bls .L21062
65517.L20789:
65518 mov r5, #240
65519 mov r4, r5
65520.L20792:
65521 cmp fp, r8
65522 bls .L20796
65523 cmp r8, #0
65524 bne .L21063
65525.L20798:
65526 cmp r4, #240
65527 beq .L20800
65528 cmp r4, r5
65529 bhi .L21064
65530 cmp r4, #0
65531 beq .L20840
65532 cmp r8, #0
65533 beq .L20842
65534 cmp r8, r4
65535 bcs .L20840
65536.L20842:
65537 cmp fp, r4
65538 bcs .L20851
65539 mov r0, r8
65540 mov r1, fp
65541 mov r2, r7
65542 ldr r3, [sp, #12]
65543 stmia sp, {r6, sl} @ phole stm
65544 str r9, [sp, #8]
65545 bl render_scanline_conditional_tile
65546 tst r6, #64
65547 beq .L20853
65548 mov r0, #4
65549 mov r1, r8
65550 mov r2, fp
65551 mov r3, r7
65552 bl render_scanline_obj_copy_tile_1D
65553.L20840:
65554 cmp r4, r5
65555 beq .L20857
65556 cmp r8, r4
65557 bls .L20859
65558 cmp r8, r5
65559 bcs .L20857
65560 cmp fp, r5
65561 ldrcc r3, [sp, #28]
65562 ldrcs r3, [sp, #28]
65563 movcc r0, r8
65564 movcc r1, fp
65565 movcs r0, r8
65566 movcs r1, r5
65567.L21026:
65568 mov r2, r7
65569 stmia sp, {r6, sl} @ phole stm
65570 str r9, [sp, #8]
65571 bl render_scanline_conditional_tile
65572.L20857:
65573 cmp r5, #240
65574 beq .L20832
65575 cmp r8, r5
65576 bls .L20868
65577 cmp r8, #239
65578 bhi .L20832
65579 cmp fp, #239
65580 bhi .L20871
65581 ldr r3, [sp, #12]
65582 mov r0, r8
65583 mov r1, fp
65584 mov r2, r7
65585 stmia sp, {r6, sl} @ phole stm
65586 str r9, [sp, #8]
65587 bl render_scanline_conditional_tile
65588 tst r6, #64
65589 beq .L20873
65590 mov r1, r8
65591 mov r0, #4
65592 mov r2, fp
65593 mov r3, r7
65594 bl render_scanline_obj_copy_tile_1D
65595 b .L20836
65596.L20507:
65597 ldrh r3, [lr, #70]
65598 ldr r4, .L21076
65599 and r1, r3, #255
65600 mov r0, r3, lsr #8
65601 cmp r0, r1
65602 ldrh r2, [lr, #72]
65603 bls .L20744
65604 cmp ip, r0
65605 movls r3, #0
65606 movhi r3, #1
65607 cmp ip, r1
65608 orrls r3, r3, #1
65609 cmp r3, #0
65610 beq .L21019
65611.L20752:
65612 cmp r0, #227
65613 bls .L21065
65614.L20748:
65615 mov r4, #240
65616 mov r5, r4
65617.L20763:
65618 mov r0, #0
65619 mov r1, r5
65620 mov r2, r7
65621 ldr r3, [sp, #12]
65622 stmia sp, {r6, sl} @ phole stm
65623 str r9, [sp, #8]
65624 bl render_scanline_conditional_tile
65625.L20764:
65626 ands r8, r6, #64
65627 beq .L20765
65628 mov r0, #4
65629 mov r1, #0
65630 mov r2, r5
65631 mov r3, r7
65632 bl render_scanline_obj_copy_tile_1D
65633.L20767:
65634 cmp r4, r5
65635 beq .L20768
65636.L21056:
65637 mov r0, r5
65638 mov r3, fp
65639 mov r1, r4
65640 mov r2, r7
65641 stmia sp, {r6, sl} @ phole stm
65642 str r9, [sp, #8]
65643 bl render_scanline_conditional_tile
65644.L20768:
65645 cmp r4, #240
65646 beq .L20770
65647 ldr r3, [sp, #12]
65648 mov r0, r4
65649 mov r1, #240
65650 mov r2, r7
65651 stmia sp, {r6, sl} @ phole stm
65652 str r9, [sp, #8]
65653 bl render_scanline_conditional_tile
65654.L20770:
65655 cmp r8, #0
65656 movne r1, r4
65657 beq .L21066
65658.L21040:
65659 mov r3, r7
65660 mov r0, #4
65661 mov r2, #240
65662 add sp, sp, #32
65663 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
65664 b render_scanline_obj_copy_tile_1D
65665.L20506:
65666 ldrh r3, [lr, #68]
65667 ldr r4, .L21076
65668 and r1, r3, #255
65669 mov r0, r3, lsr #8
65670 cmp r0, r1
65671 ldrh r2, [lr, #72]
65672 bls .L20714
65673 cmp ip, r0
65674 movls r3, #0
65675 movhi r3, #1
65676 cmp ip, r1
65677 orrls r3, r3, #1
65678 cmp r3, #0
65679 beq .L21017
65680.L20722:
65681 cmp r0, #227
65682 bls .L21067
65683.L20718:
65684 mov r4, #240
65685 mov r5, r4
65686.L20733:
65687 mov r0, #0
65688 mov r1, r5
65689 mov r2, r7
65690 ldr r3, [sp, #12]
65691 stmia sp, {r6, sl} @ phole stm
65692 str r9, [sp, #8]
65693 bl render_scanline_conditional_tile
65694.L20734:
65695 ands r8, r6, #64
65696 beq .L20735
65697 mov r0, #4
65698 mov r1, #0
65699 mov r2, r5
65700 mov r3, r7
65701 bl render_scanline_obj_copy_tile_1D
65702.L20737:
65703 cmp r5, r4
65704 bne .L21056
65705 b .L20768
65706.L20504:
65707 ldrh r3, [lr, #68]
65708 ldr r2, .L21076
65709 and r1, r3, #255
65710 mov r0, r3, lsr #8
65711 cmp r0, r1
65712 ldrh r4, [lr, #72]
65713 bls .L20552
65714 cmp ip, r0
65715 movls r3, #0
65716 movhi r3, #1
65717 cmp ip, r1
65718 orrls r3, r3, #1
65719 cmp r3, #0
65720 beq .L21049
65721.L20560:
65722 cmp r0, #227
65723 bls .L21068
65724.L20556:
65725 mov r5, #240
65726 mov fp, r5
65727.L20559:
65728 ldrh r3, [lr, #70]
65729 ldr r0, .L21076
65730 and r1, r3, #255
65731 mov r2, r3, lsr #8
65732 cmp r2, r1
65733 bls .L20563
65734 cmp ip, r2
65735 movls r3, #0
65736 movhi r3, #1
65737 cmp ip, r1
65738 orrls r3, r3, #1
65739 cmp r3, #0
65740 beq .L21050
65741.L20571:
65742 cmp r2, #227
65743 bls .L21069
65744.L20567:
65745 mov r8, #240
65746 mov r4, r8
65747.L20570:
65748 cmp fp, r5
65749 bls .L20574
65750 cmp r5, #0
65751 bne .L21070
65752.L20576:
65753 cmp r4, #240
65754 beq .L20578
65755 cmp r4, r8
65756 bls .L20580
65757 cmp r8, #0
65758 beq .L20582
65759 cmp r5, #0
65760 beq .L20584
65761 cmp r5, r8
65762 bcs .L20582
65763 cmp fp, r8
65764 movcc r0, r5
65765 movcc r1, fp
65766 movcs r0, r5
65767 movcs r1, r8
65768 mov r2, r7
65769 ldr r3, [sp, #20]
65770 stmia sp, {r6, sl} @ phole stm
65771 str r9, [sp, #8]
65772 bl render_scanline_conditional_tile
65773.L20582:
65774 cmp r5, r8
65775 bls .L20591
65776 cmp r5, r4
65777 bcs .L20593
65778 cmp fp, r4
65779 ldrcc r3, [sp, #12]
65780 ldrcs r3, [sp, #12]
65781 movcc r0, r5
65782 movcc r1, fp
65783 movcs r0, r5
65784 movcs r1, r4
65785.L20999:
65786 mov r2, r7
65787 stmia sp, {r6, sl} @ phole stm
65788 str r9, [sp, #8]
65789 bl render_scanline_conditional_tile
65790.L20593:
65791 cmp r5, r4
65792 bls .L20600
65793 cmp r5, #239
65794 bhi .L20602
65795 cmp fp, #239
65796 movls r0, r5
65797 bls .L21003
65798 ldr r3, [sp, #20]
65799 mov r0, r5
65800 mov r1, #240
65801.L21002:
65802 mov r2, r7
65803 stmia sp, {r6, sl} @ phole stm
65804 str r9, [sp, #8]
65805 bl render_scanline_conditional_tile
65806.L20602:
65807 cmp fp, #240
65808 beq .L20990
65809.L20606:
65810 ldr r3, [sp, #16]
65811 mov r0, fp
65812 mov r2, r7
65813 b .L21037
65814.L20505:
65815 mov r1, #240
65816 ldr r3, [sp, #12]
65817 mov r0, #0
65818 mov r2, r7
65819 str sl, [sp, #4]
65820 str r9, [sp, #8]
65821 str r6, [sp, #0]
65822 bl render_scanline_conditional_tile
65823 ands r1, r6, #64
65824 beq .L21038
65825 mov r3, r7
65826 mov r0, #4
65827 mov r1, #0
65828 mov r2, #240
65829 add sp, sp, #32
65830 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
65831 b render_scanline_obj_copy_tile_1D
65832.L20531:
65833 cmp ip, r0
65834 movcc r3, #0
65835 movcs r3, #1
65836 cmp ip, r1
65837 movcs r3, #0
65838 cmp r3, #0
65839 beq .L20994
65840.L20539:
65841 cmp r0, #227
65842 bhi .L20535
65843 ldrh r3, [r4, #66]
65844 mov r2, r2, lsr #8
65845 and r4, r3, #255
65846 mov r3, r3, lsr #8
65847 cmp r3, #240
65848 movcc r5, r3
65849 movcs r5, #240
65850 cmp r4, #240
65851 and r8, r2, #63
65852 bls .L20538
65853.L21059:
65854 mov r4, #240
65855 b .L20538
65856.L20714:
65857 cmp ip, r0
65858 movcc r3, #0
65859 movcs r3, #1
65860 cmp ip, r1
65861 movcs r3, #0
65862 cmp r3, #0
65863 bne .L20722
65864.L21017:
65865 cmp r1, #227
65866 bls .L20718
65867 b .L20722
65868.L20563:
65869 cmp ip, r2
65870 movcc r3, #0
65871 movcs r3, #1
65872 cmp ip, r1
65873 movcs r3, #0
65874 cmp r3, #0
65875 bne .L20571
65876.L21050:
65877 cmp r1, #227
65878 bls .L20567
65879 b .L20571
65880.L20552:
65881 cmp ip, r0
65882 movcc r3, #0
65883 movcs r3, #1
65884 cmp ip, r1
65885 movcs r3, #0
65886 cmp r3, #0
65887 bne .L20560
65888.L21049:
65889 cmp r1, #227
65890 bls .L20556
65891 b .L20560
65892.L20785:
65893 cmp ip, r2
65894 movcc r3, #0
65895 movcs r3, #1
65896 cmp ip, r1
65897 movcs r3, #0
65898 cmp r3, #0
65899 bne .L20793
65900.L21054:
65901 cmp r1, #227
65902 bls .L20789
65903 b .L20793
65904.L20744:
65905 cmp ip, r0
65906 movcc r3, #0
65907 movcs r3, #1
65908 cmp ip, r1
65909 movcs r3, #0
65910 cmp r3, #0
65911 bne .L20752
65912.L21019:
65913 cmp r1, #227
65914 bls .L20748
65915 b .L20752
65916.L20510:
65917 cmp ip, r1
65918 movcc r3, #0
65919 movcs r3, #1
65920 cmp ip, r2
65921 movcs r3, #0
65922 cmp r3, #0
65923 bne .L20518
65924.L20992:
65925 cmp r2, #227
65926 bls .L20535
65927 b .L20518
65928.L20774:
65929 cmp ip, r0
65930 movcc r3, #0
65931 movcs r3, #1
65932 cmp ip, r1
65933 movcs r3, #0
65934 cmp r3, #0
65935 bne .L20782
65936.L21053:
65937 cmp r1, #227
65938 bls .L20778
65939 b .L20782
65940.L21066:
65941 mov r1, r4
65942.L21038:
65943 mov r3, r7
65944 mov r0, #4
65945 mov r2, #240
65946 add sp, sp, #32
65947 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
65948 b render_scanline_obj_copy_tile_2D
65949.L20796:
65950 cmp r4, #240
65951 beq .L20886
65952 cmp r4, r5
65953 bls .L20888
65954 cmp r5, #0
65955 beq .L20890
65956 cmp fp, r5
65957 bcs .L20892
65958 cmp fp, #0
65959 movne r0, #0
65960 movne r1, fp
65961 bne .L21029
65962.L20890:
65963 cmp fp, r4
65964 bcs .L20895
65965 cmp fp, r5
65966 bhi .L21071
65967.L20897:
65968 cmp fp, #239
65969 bhi .L20903
65970 cmp fp, r4
65971 movhi r0, r4
65972 movhi r1, fp
65973 bhi .L21031
65974.L20905:
65975 cmp fp, r8
65976 beq .L20933
65977 mov r0, fp
65978 ldr r3, [sp, #24]
65979 mov r1, r8
65980 mov r2, r7
65981 stmia sp, {r6, sl} @ phole stm
65982 str r9, [sp, #8]
65983 bl render_scanline_conditional_tile
65984.L20933:
65985 cmp r4, #240
65986 beq .L20935
65987 cmp r4, r5
65988 bls .L20937
65989 cmp r5, #0
65990 beq .L20939
65991 cmp r8, #0
65992 beq .L20941
65993 cmp r8, r5
65994 bcs .L20939
65995 cmp r5, #240
65996 movhi r0, r8
65997 movhi r1, #240
65998 movls r0, r8
65999 movls r1, r5
66000 mov r2, r7
66001 ldr r3, [sp, #28]
66002 stmia sp, {r6, sl} @ phole stm
66003 str r9, [sp, #8]
66004 bl render_scanline_conditional_tile
66005.L20939:
66006 cmp r8, r5
66007 bls .L20948
66008 cmp r8, r4
66009 bcc .L21072
66010.L20950:
66011 cmp r8, r4
66012 bls .L20956
66013 cmp r8, #239
66014 bhi .L20990
66015 ldr r3, [sp, #28]
66016 mov r0, r8
66017 mov r2, r7
66018 b .L21037
66019.L20574:
66020 cmp r4, #240
66021 beq .L20638
66022 cmp r4, r8
66023 bls .L20640
66024 cmp r8, #0
66025 beq .L20642
66026 cmp fp, r8
66027 bcs .L20644
66028 cmp fp, #0
66029 movne r0, #0
66030 movne r1, fp
66031 bne .L21005
66032.L20642:
66033 cmp fp, r4
66034 bcs .L20647
66035 cmp fp, r8
66036 movhi r0, r8
66037 movhi r1, fp
66038 bhi .L21006
66039.L20649:
66040 cmp fp, #239
66041 bhi .L20651
66042 cmp fp, r4
66043 movhi r0, r4
66044 movhi r1, fp
66045 bhi .L21009
66046.L20653:
66047 cmp fp, r5
66048 beq .L20670
66049 mov r0, fp
66050 ldr r3, [sp, #16]
66051 mov r1, r5
66052 mov r2, r7
66053 stmia sp, {r6, sl} @ phole stm
66054 str r9, [sp, #8]
66055 bl render_scanline_conditional_tile
66056.L20670:
66057 cmp r4, #240
66058 beq .L20672
66059 cmp r4, r8
66060 bls .L20674
66061 cmp r8, #0
66062 beq .L20676
66063 cmp r5, #0
66064 beq .L20678
66065 cmp r5, r8
66066 bcs .L20676
66067 cmp r8, #240
66068 movhi r0, r5
66069 movhi r1, #240
66070 movls r0, r5
66071 movls r1, r8
66072 mov r2, r7
66073 ldr r3, [sp, #20]
66074 stmia sp, {r6, sl} @ phole stm
66075 str r9, [sp, #8]
66076 bl render_scanline_conditional_tile
66077.L20676:
66078 cmp r5, r8
66079 bls .L20685
66080 cmp r5, r4
66081 ldrcc r3, [sp, #12]
66082 movcc r0, r5
66083 bcc .L21013
66084.L20687:
66085 cmp r5, r4
66086 bls .L20689
66087 cmp r5, #239
66088 bhi .L20990
66089 ldr r3, [sp, #20]
66090 mov r0, r5
66091 mov r2, r7
66092 b .L21037
66093.L20765:
66094 mov r0, #4
66095 mov r1, r8
66096 mov r2, r5
66097 mov r3, r7
66098 bl render_scanline_obj_copy_tile_2D
66099 b .L20767
66100.L20735:
66101 mov r0, #4
66102 mov r1, r8
66103 mov r2, r5
66104 mov r3, r7
66105 bl render_scanline_obj_copy_tile_2D
66106 b .L20737
66107.L21067:
66108 ldrh r3, [r4, #64]
66109 and fp, r2, #63
66110 and r4, r3, #255
66111 mov r3, r3, lsr #8
66112 cmp r3, #240
66113 movcc r5, r3
66114 movcs r5, #240
66115 cmp r4, #240
66116 movhi r4, #240
66117 cmp r5, r4
66118 bhi .L21058
66119 cmp r5, #0
66120 bne .L20733
66121 b .L20734
66122.L21069:
66123 ldrh r3, [r0, #66]
66124 mov r2, r4, lsr #8
66125 and r8, r3, #255
66126 mov r3, r3, lsr #8
66127 cmp r3, #240
66128 movcc r4, r3
66129 movcs r4, #240
66130 cmp r8, #240
66131 and r2, r2, #63
66132 movhi r8, #240
66133 str r2, [sp, #20]
66134 b .L20570
66135.L21062:
66136 ldrh r3, [r0, #66]
66137 mov r2, r4, lsr #8
66138 and r5, r3, #255
66139 mov r3, r3, lsr #8
66140 cmp r3, #240
66141 movcc r4, r3
66142 movcs r4, #240
66143 cmp r5, #240
66144 and r2, r2, #63
66145 movhi r5, #240
66146 str r2, [sp, #28]
66147 b .L20792
66148.L21061:
66149 ldrh r3, [r2, #64]
66150 and r2, r4, #63
66151 and r8, r3, #255
66152 mov r3, r3, lsr #8
66153 cmp r3, #240
66154 movcc fp, r3
66155 movcs fp, #240
66156 cmp r8, #240
66157 movhi r8, #240
66158 str r2, [sp, #24]
66159 b .L20781
66160.L21065:
66161 ldrh r3, [r4, #66]
66162 mov r2, r2, lsr #8
66163 and r4, r3, #255
66164 mov r3, r3, lsr #8
66165 cmp r3, #240
66166 movcc r5, r3
66167 movcs r5, #240
66168 cmp r4, #240
66169 movhi r4, #240
66170 cmp r5, r4
66171 and fp, r2, #63
66172 bhi .L21058
66173 cmp r5, #0
66174 bne .L20763
66175 b .L20764
66176.L21068:
66177 ldrh r3, [r2, #64]
66178 and r2, r4, #63
66179 and r5, r3, #255
66180 mov r3, r3, lsr #8
66181 cmp r3, #240
66182 movcc fp, r3
66183 movcs fp, #240
66184 cmp r5, #240
66185 movhi r5, #240
66186 str r2, [sp, #16]
66187 b .L20559
66188.L21064:
66189 cmp r5, #0
66190 beq .L20804
66191 cmp r8, #0
66192 beq .L20806
66193 cmp r8, r5
66194 bcs .L20804
66195 cmp fp, r5
66196 movcc r0, r8
66197 movcc r1, fp
66198 movcs r0, r8
66199 movcs r1, r5
66200 mov r2, r7
66201 ldr r3, [sp, #28]
66202 stmia sp, {r6, sl} @ phole stm
66203 str r9, [sp, #8]
66204 bl render_scanline_conditional_tile
66205.L20804:
66206 cmp r8, r5
66207 bls .L20813
66208 cmp r8, r4
66209 bcs .L20815
66210 cmp fp, r4
66211 bcs .L20817
66212 ldr r3, [sp, #12]
66213 mov r0, r8
66214 mov r1, fp
66215 mov r2, r7
66216 stmia sp, {r6, sl} @ phole stm
66217 str r9, [sp, #8]
66218 bl render_scanline_conditional_tile
66219 tst r6, #64
66220 beq .L20819
66221 mov r0, #4
66222 mov r1, r8
66223 mov r2, fp
66224 mov r3, r7
66225 bl render_scanline_obj_copy_tile_1D
66226.L20815:
66227 cmp r8, r4
66228 bls .L20830
66229 cmp r8, #239
66230 bhi .L20832
66231 cmp fp, #239
66232 movls r0, r8
66233 movhi r0, r8
66234 bhi .L21027
66235.L21028:
66236 ldr r3, [sp, #28]
66237 mov r1, fp
66238 mov r2, r7
66239 stmia sp, {r6, sl} @ phole stm
66240 str r9, [sp, #8]
66241 bl render_scanline_conditional_tile
66242.L20836:
66243 ldr r3, [sp, #24]
66244 mov r0, fp
66245 mov r2, r7
66246 b .L21037
66247.L20580:
66248 cmp r4, #0
66249 beq .L20610
66250 cmp r5, #0
66251 beq .L20612
66252 cmp r5, r4
66253 bcs .L20610
66254.L20612:
66255 cmp fp, r4
66256 movcc r0, r5
66257 movcc r1, fp
66258 movcs r0, r5
66259 movcs r1, r4
66260 mov r2, r7
66261 ldr r3, [sp, #12]
66262 stmia sp, {r6, sl} @ phole stm
66263 str r9, [sp, #8]
66264 bl render_scanline_conditional_tile
66265.L20610:
66266 cmp r4, r8
66267 beq .L20619
66268 cmp r5, r4
66269 bls .L20621
66270 cmp r5, r8
66271 bcs .L20619
66272 cmp fp, r8
66273 ldrcc r3, [sp, #20]
66274 ldrcs r3, [sp, #20]
66275 movcc r0, r5
66276 movcc r1, fp
66277 movcs r0, r5
66278 movcs r1, r8
66279.L21001:
66280 mov r2, r7
66281 stmia sp, {r6, sl} @ phole stm
66282 str r9, [sp, #8]
66283 bl render_scanline_conditional_tile
66284.L20619:
66285 cmp r8, #240
66286 beq .L20602
66287 cmp r5, r8
66288 bls .L20630
66289 cmp r5, #239
66290 bhi .L20602
66291 cmp fp, #239
66292 movls r0, r5
66293 ldrls r3, [sp, #12]
66294 bls .L21004
66295 ldr r3, [sp, #12]
66296 mov r0, r5
66297 mov r1, #240
66298 b .L21002
66299.L21063:
66300 mov r0, #0
66301 mov r1, r8
66302 mov r2, r7
66303 ldr r3, [sp, #24]
66304 stmia sp, {r6, sl} @ phole stm
66305 str r9, [sp, #8]
66306 bl render_scanline_conditional_tile
66307 b .L20798
66308.L21070:
66309 mov r0, #0
66310 mov r1, r5
66311 mov r2, r7
66312 ldr r3, [sp, #16]
66313 stmia sp, {r6, sl} @ phole stm
66314 str r9, [sp, #8]
66315 bl render_scanline_conditional_tile
66316 b .L20576
66317.L20886:
66318 cmp fp, #0
66319 bne .L21073
66320.L20929:
66321 ands r1, r6, #64
66322 beq .L20931
66323 mov r0, #4
66324 mov r1, #0
66325 mov r2, fp
66326 mov r3, r7
66327 bl render_scanline_obj_copy_tile_1D
66328 b .L20905
66329.L20638:
66330 cmp fp, #0
66331 beq .L20653
66332 mov r0, #0
66333 mov r1, fp
66334.L21010:
66335 mov r2, r7
66336 ldr r3, [sp, #12]
66337 stmia sp, {r6, sl} @ phole stm
66338 str r9, [sp, #8]
66339 bl render_scanline_conditional_tile
66340 b .L20653
66341.L21058:
66342 cmp r4, #0
66343 bne .L21074
66344.L20757:
66345 ldr r3, [sp, #12]
66346 mov r0, r4
66347 mov r1, r5
66348 mov r2, r7
66349 stmia sp, {r6, sl} @ phole stm
66350 str r9, [sp, #8]
66351 bl render_scanline_conditional_tile
66352 tst r6, #64
66353 beq .L20759
66354 mov r1, r4
66355 mov r0, #4
66356 mov r2, r5
66357 mov r3, r7
66358 bl render_scanline_obj_copy_tile_1D
66359.L20761:
66360 cmp r5, #240
66361 movne r0, r5
66362 movne r2, r7
66363 movne r3, fp
66364 bne .L21037
66365 b .L20990
66366.L20542:
66367 cmp r5, #0
66368 bne .L20547
66369 b .L20548
66370.L20800:
66371 ldr r3, [sp, #12]
66372 mov r0, r8
66373 mov r1, fp
66374 mov r2, r7
66375 stmia sp, {r6, sl} @ phole stm
66376 str r9, [sp, #8]
66377 bl render_scanline_conditional_tile
66378 tst r6, #64
66379 beq .L20884
66380 mov r1, r8
66381 mov r0, #4
66382 mov r2, fp
66383 mov r3, r7
66384 bl render_scanline_obj_copy_tile_1D
66385.L20832:
66386 cmp fp, #240
66387 bne .L20836
66388 b .L20990
66389.L20759:
66390 mov r1, r4
66391 mov r0, #4
66392 mov r2, r5
66393 mov r3, r7
66394 bl render_scanline_obj_copy_tile_2D
66395 b .L20761
66396.L21077:
66397 .align 2
66398.L21076:
66399 .word io_registers
66400 .word tile_mode_renderers
66401.L20937:
66402 cmp r4, #0
66403 beq .L20959
66404 cmp r8, #0
66405 beq .L20961
66406 cmp r8, r4
66407 bcc .L20961
66408.L20959:
66409 cmp r4, r5
66410 beq .L20968
66411 cmp r8, r4
66412 bls .L20970
66413 cmp r8, r5
66414 bcs .L20968
66415 cmp r5, #240
66416 ldrhi r3, [sp, #28]
66417 movhi r0, r8
66418 ldrls r3, [sp, #28]
66419 movls r0, r8
66420 bls .L21035
66421.L21036:
66422 mov r1, #240
66423 mov r2, r7
66424 stmia sp, {r6, sl} @ phole stm
66425 str r9, [sp, #8]
66426 bl render_scanline_conditional_tile
66427.L20975:
66428 cmp r8, r5
66429 bls .L20979
66430 cmp r8, #239
66431 bhi .L20990
66432 mov r1, #240
66433 ldr r3, [sp, #12]
66434 mov r0, r8
66435 mov r2, r7
66436 str sl, [sp, #4]
66437 str r9, [sp, #8]
66438 str r6, [sp, #0]
66439 bl render_scanline_conditional_tile
66440 tst r6, #64
66441 moveq r1, r8
66442 beq .L21038
66443 mov r1, r8
66444 b .L21040
66445.L20674:
66446 cmp r4, #0
66447 beq .L20692
66448 cmp r5, #0
66449 beq .L20694
66450 cmp r5, r4
66451 bcc .L20694
66452.L20692:
66453 cmp r4, r8
66454 beq .L20697
66455 cmp r5, r4
66456 bls .L20699
66457 cmp r5, r8
66458 bcs .L20697
66459 cmp r8, #240
66460 ldrhi r3, [sp, #20]
66461 movhi r0, r5
66462 ldrls r3, [sp, #20]
66463 movls r0, r5
66464 bls .L21014
66465.L21015:
66466 mov r1, #240
66467 mov r2, r7
66468 stmia sp, {r6, sl} @ phole stm
66469 str r9, [sp, #8]
66470 bl render_scanline_conditional_tile
66471.L20704:
66472 cmp r5, r8
66473 bls .L20708
66474 cmp r5, #239
66475 bhi .L20990
66476 ldr r3, [sp, #12]
66477 mov r0, r5
66478 mov r2, r7
66479 b .L21037
66480.L20888:
66481 cmp r4, #0
66482 beq .L20907
66483 cmp fp, r4
66484 bcs .L20909
66485 cmp fp, #0
66486 bne .L21075
66487.L20907:
66488 cmp r4, r5
66489 beq .L20916
66490 cmp fp, r5
66491 bcs .L20918
66492 cmp fp, r4
66493 movhi r0, r4
66494 movhi r1, fp
66495 bhi .L21030
66496.L20916:
66497 cmp r5, #240
66498 beq .L20905
66499 cmp fp, #239
66500 bhi .L20922
66501 cmp fp, r5
66502 bls .L20905
66503 mov r0, r5
66504 mov r1, fp
66505 mov r2, r7
66506 ldr r3, [sp, #12]
66507 stmia sp, {r6, sl} @ phole stm
66508 str r9, [sp, #8]
66509 bl render_scanline_conditional_tile
66510 tst r6, #64
66511 beq .L20925
66512 mov r0, #4
66513 mov r1, r5
66514 mov r2, fp
66515 mov r3, r7
66516 bl render_scanline_obj_copy_tile_1D
66517 b .L20905
66518.L20640:
66519 cmp r4, #0
66520 beq .L20655
66521 cmp fp, r4
66522 bcs .L20657
66523 cmp fp, #0
66524 movne r0, #0
66525 movne r1, fp
66526 bne .L21007
66527.L20655:
66528 cmp r4, r8
66529 beq .L20660
66530 cmp fp, r8
66531 bcs .L20662
66532 cmp fp, r4
66533 movhi r0, r4
66534 movhi r1, fp
66535 bhi .L21008
66536.L20660:
66537 cmp r8, #240
66538 beq .L20653
66539 cmp fp, #239
66540 bhi .L20666
66541 cmp fp, r8
66542 movhi r0, r8
66543 movhi r1, fp
66544 bls .L20653
66545 b .L21010
66546.L20935:
66547 cmp r8, #240
66548 beq .L20986
66549 ldr r3, [sp, #12]
66550 mov r0, r8
66551 mov r1, r4
66552 mov r2, r7
66553 str sl, [sp, #4]
66554 str r9, [sp, #8]
66555 str r6, [sp, #0]
66556 bl render_scanline_conditional_tile
66557.L20986:
66558 tst r6, #64
66559 beq .L20988
66560 mov r1, r8
66561 mov r2, r4
66562 mov r3, r7
66563 mov r0, #4
66564 add sp, sp, #32
66565 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
66566 b render_scanline_obj_copy_tile_1D
66567.L20672:
66568 cmp r5, #240
66569 beq .L20990
66570 mov r0, r5
66571 mov r1, r4
66572 mov r2, r7
66573 ldr r3, [sp, #12]
66574 stmia sp, {r6, sl} @ phole stm
66575 str r9, [sp, #8]
66576 bl render_scanline_conditional_tile
66577 b .L20990
66578.L20806:
66579 cmp fp, r5
66580 movcc r0, r8
66581 movcc r1, fp
66582 movcs r0, r8
66583 movcs r1, r5
66584 mov r2, r7
66585 ldr r3, [sp, #28]
66586 stmia sp, {r6, sl} @ phole stm
66587 str r9, [sp, #8]
66588 bl render_scanline_conditional_tile
66589.L20813:
66590 cmp fp, r4
66591 bcs .L20823
66592 cmp fp, r5
66593 bls .L20815
66594 ldr r3, [sp, #12]
66595 mov r0, r5
66596 mov r1, fp
66597 mov r2, r7
66598 stmia sp, {r6, sl} @ phole stm
66599 str r9, [sp, #8]
66600 bl render_scanline_conditional_tile
66601 tst r6, #64
66602 beq .L20826
66603 mov r1, r5
66604 mov r0, #4
66605 mov r2, fp
66606 mov r3, r7
66607 bl render_scanline_obj_copy_tile_1D
66608 b .L20815
66609.L20584:
66610 cmp fp, r8
66611 movcc r0, r5
66612 movcc r1, fp
66613 movcs r0, r5
66614 movcs r1, r8
66615 mov r2, r7
66616 ldr r3, [sp, #20]
66617 stmia sp, {r6, sl} @ phole stm
66618 str r9, [sp, #8]
66619 bl render_scanline_conditional_tile
66620.L20591:
66621 cmp fp, r4
66622 bcs .L20597
66623 cmp fp, r8
66624 bls .L20593
66625 ldr r3, [sp, #12]
66626 mov r0, r8
66627 mov r1, fp
66628 b .L20999
66629.L20678:
66630 cmp r8, #240
66631 movhi r0, r5
66632 movhi r1, #240
66633 movls r0, r5
66634 movls r1, r8
66635 mov r2, r7
66636 ldr r3, [sp, #20]
66637 stmia sp, {r6, sl} @ phole stm
66638 str r9, [sp, #8]
66639 bl render_scanline_conditional_tile
66640.L20685:
66641 ldr r3, [sp, #12]
66642 mov r0, r8
66643.L21013:
66644 mov r1, r4
66645 mov r2, r7
66646 stmia sp, {r6, sl} @ phole stm
66647 str r9, [sp, #8]
66648 bl render_scanline_conditional_tile
66649 b .L20687
66650.L20705:
66651 ldr r3, [sp, #20]
66652 mov r0, r4
66653.L21014:
66654 mov r1, r8
66655 mov r2, r7
66656 stmia sp, {r6, sl} @ phole stm
66657 str r9, [sp, #8]
66658 bl render_scanline_conditional_tile
66659.L20697:
66660 cmp r8, #240
66661 bne .L20704
66662 b .L20990
66663.L20976:
66664 ldr r3, [sp, #28]
66665 mov r0, r4
66666.L21035:
66667 mov r1, r5
66668 mov r2, r7
66669 stmia sp, {r6, sl} @ phole stm
66670 str r9, [sp, #8]
66671 bl render_scanline_conditional_tile
66672.L20968:
66673 cmp r5, #240
66674 bne .L20975
66675 b .L20990
66676.L21060:
66677 mov r0, #0
66678 mov r1, r4
66679 mov r2, r7
66680 mov r3, r8
66681 stmia sp, {r6, sl} @ phole stm
66682 str r9, [sp, #8]
66683 bl render_scanline_conditional_tile
66684 b .L20544
66685.L21074:
66686 mov r0, #0
66687 mov r1, r4
66688 mov r2, r7
66689 mov r3, fp
66690 stmia sp, {r6, sl} @ phole stm
66691 str r9, [sp, #8]
66692 bl render_scanline_conditional_tile
66693 b .L20757
66694.L20941:
66695 cmp r5, #240
66696 movhi r0, r8
66697 movhi r1, #240
66698 movls r0, r8
66699 movls r1, r5
66700 mov r2, r7
66701 ldr r3, [sp, #28]
66702 stmia sp, {r6, sl} @ phole stm
66703 str r9, [sp, #8]
66704 bl render_scanline_conditional_tile
66705.L20948:
66706 ldr r3, [sp, #12]
66707 mov r0, r5
66708 mov r1, r4
66709 mov r2, r7
66710 stmia sp, {r6, sl} @ phole stm
66711 str r9, [sp, #8]
66712 bl render_scanline_conditional_tile
66713 tst r6, #64
66714 beq .L20954
66715 mov r1, r5
66716 mov r0, #4
66717 mov r2, r4
66718 mov r3, r7
66719 bl render_scanline_obj_copy_tile_1D
66720 b .L20950
66721.L20830:
66722 cmp fp, #239
66723 bhi .L20837
66724 cmp fp, r4
66725 bls .L20836
66726 mov r0, r4
66727 b .L21028
66728.L20600:
66729 cmp fp, #239
66730 bhi .L20607
66731 cmp fp, r4
66732 bls .L20606
66733 mov r0, r4
66734.L21003:
66735 ldr r3, [sp, #20]
66736.L21004:
66737 mov r1, fp
66738 mov r2, r7
66739 stmia sp, {r6, sl} @ phole stm
66740 str r9, [sp, #8]
66741 bl render_scanline_conditional_tile
66742 b .L20606
66743.L20651:
66744 mov r0, r4
66745 mov r1, #240
66746.L21009:
66747 mov r2, r7
66748 ldr r3, [sp, #20]
66749 stmia sp, {r6, sl} @ phole stm
66750 str r9, [sp, #8]
66751 bl render_scanline_conditional_tile
66752 b .L20653
66753.L20903:
66754 mov r0, r4
66755 mov r1, #240
66756.L21031:
66757 mov r2, r7
66758 ldr r3, [sp, #28]
66759 stmia sp, {r6, sl} @ phole stm
66760 str r9, [sp, #8]
66761 bl render_scanline_conditional_tile
66762 b .L20905
66763.L20647:
66764 mov r0, r8
66765 mov r1, r4
66766.L21006:
66767 mov r2, r7
66768 ldr r3, [sp, #12]
66769 stmia sp, {r6, sl} @ phole stm
66770 str r9, [sp, #8]
66771 bl render_scanline_conditional_tile
66772 b .L20649
66773.L20630:
66774 cmp fp, #239
66775 bhi .L20635
66776 cmp fp, r8
66777 movhi r0, r8
66778 ldrhi r3, [sp, #12]
66779 bls .L20606
66780 b .L21004
66781.L20859:
66782 cmp fp, r5
66783 bcs .L20864
66784 cmp fp, r4
66785 bls .L20857
66786 ldr r3, [sp, #28]
66787 mov r0, r4
66788 mov r1, fp
66789 b .L21026
66790.L20868:
66791 cmp fp, #239
66792 bhi .L20877
66793 cmp fp, r5
66794 bls .L20836
66795 ldr r3, [sp, #12]
66796 mov r0, r5
66797 mov r1, fp
66798 mov r2, r7
66799 stmia sp, {r6, sl} @ phole stm
66800 str r9, [sp, #8]
66801 bl render_scanline_conditional_tile
66802 tst r6, #64
66803 beq .L20880
66804 mov r1, r5
66805 mov r0, #4
66806 mov r2, fp
66807 mov r3, r7
66808 bl render_scanline_obj_copy_tile_1D
66809 b .L20836
66810.L20621:
66811 cmp fp, r8
66812 bcs .L20626
66813 cmp fp, r4
66814 bls .L20619
66815 ldr r3, [sp, #20]
66816 mov r0, r4
66817 mov r1, fp
66818 b .L21001
66819.L20578:
66820 ldr r3, [sp, #12]
66821 mov r0, r5
66822 mov r1, fp
66823 b .L21002
66824.L20988:
66825 mov r1, r8
66826 mov r2, r4
66827 mov r3, r7
66828 mov r0, #4
66829 add sp, sp, #32
66830 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
66831 b render_scanline_obj_copy_tile_2D
66832.L20931:
66833 mov r0, #4
66834 mov r2, fp
66835 mov r3, r7
66836 bl render_scanline_obj_copy_tile_2D
66837 b .L20905
66838.L20918:
66839 mov r0, r4
66840 mov r1, r5
66841.L21030:
66842 mov r2, r7
66843 ldr r3, [sp, #28]
66844 stmia sp, {r6, sl} @ phole stm
66845 str r9, [sp, #8]
66846 bl render_scanline_conditional_tile
66847 b .L20916
66848.L20662:
66849 mov r0, r4
66850 mov r1, r8
66851.L21008:
66852 mov r2, r7
66853 ldr r3, [sp, #20]
66854 stmia sp, {r6, sl} @ phole stm
66855 str r9, [sp, #8]
66856 bl render_scanline_conditional_tile
66857 b .L20660
66858.L20699:
66859 cmp r8, #240
66860 bls .L20705
66861 cmp r4, #239
66862 bhi .L20704
66863 ldr r3, [sp, #20]
66864 mov r0, r4
66865 b .L21015
66866.L20970:
66867 cmp r5, #240
66868 bls .L20976
66869 cmp r4, #239
66870 bhi .L20975
66871 ldr r3, [sp, #28]
66872 mov r0, r4
66873 b .L21036
66874.L20837:
66875 mov r0, r4
66876.L21027:
66877 ldr r3, [sp, #28]
66878 mov r1, #240
66879 mov r2, r7
66880 stmia sp, {r6, sl} @ phole stm
66881 str r9, [sp, #8]
66882 bl render_scanline_conditional_tile
66883 b .L20832
66884.L20954:
66885 mov r1, r5
66886 mov r0, #4
66887 mov r2, r4
66888 mov r3, r7
66889 bl render_scanline_obj_copy_tile_2D
66890 b .L20950
66891.L20895:
66892 mov r0, r5
66893 mov r1, r4
66894 mov r2, r7
66895 ldr r3, [sp, #12]
66896 stmia sp, {r6, sl} @ phole stm
66897 str r9, [sp, #8]
66898 bl render_scanline_conditional_tile
66899 tst r6, #64
66900 beq .L20901
66901 mov r0, #4
66902 mov r1, r5
66903 mov r2, r4
66904 mov r3, r7
66905 bl render_scanline_obj_copy_tile_1D
66906 b .L20897
66907.L20956:
66908 ldr r3, [sp, #28]
66909 mov r0, r4
66910 mov r2, r7
66911 b .L21037
66912.L20689:
66913 ldr r3, [sp, #20]
66914 mov r0, r4
66915 mov r2, r7
66916 b .L21037
66917.L20708:
66918 ldr r3, [sp, #12]
66919 mov r0, r8
66920 mov r2, r7
66921 b .L21037
66922.L20979:
66923 mov r1, #240
66924 ldr r3, [sp, #12]
66925 mov r0, r5
66926 mov r2, r7
66927 str sl, [sp, #4]
66928 str r9, [sp, #8]
66929 str r6, [sp, #0]
66930 bl render_scanline_conditional_tile
66931 tst r6, #64
66932 movne r1, r5
66933 moveq r1, r5
66934 beq .L21038
66935 b .L21040
66936.L20892:
66937 mov r0, #0
66938 mov r1, r5
66939.L21029:
66940 mov r2, r7
66941 ldr r3, [sp, #28]
66942 stmia sp, {r6, sl} @ phole stm
66943 str r9, [sp, #8]
66944 bl render_scanline_conditional_tile
66945 b .L20890
66946.L20657:
66947 mov r0, #0
66948 mov r1, r4
66949.L21007:
66950 mov r2, r7
66951 ldr r3, [sp, #12]
66952 stmia sp, {r6, sl} @ phole stm
66953 str r9, [sp, #8]
66954 bl render_scanline_conditional_tile
66955 b .L20655
66956.L20644:
66957 mov r0, #0
66958 mov r1, r8
66959.L21005:
66960 mov r2, r7
66961 ldr r3, [sp, #20]
66962 stmia sp, {r6, sl} @ phole stm
66963 str r9, [sp, #8]
66964 bl render_scanline_conditional_tile
66965 b .L20642
66966.L20961:
66967 mov r0, r8
66968 mov r1, r4
66969 mov r2, r7
66970 ldr r3, [sp, #12]
66971 stmia sp, {r6, sl} @ phole stm
66972 str r9, [sp, #8]
66973 bl render_scanline_conditional_tile
66974 tst r6, #64
66975 beq .L20966
66976 mov r0, #4
66977 mov r1, r8
66978 mov r2, r4
66979 mov r3, r7
66980 bl render_scanline_obj_copy_tile_1D
66981 b .L20959
66982.L20694:
66983 mov r0, r5
66984 mov r1, r4
66985 mov r2, r7
66986 ldr r3, [sp, #12]
66987 stmia sp, {r6, sl} @ phole stm
66988 str r9, [sp, #8]
66989 bl render_scanline_conditional_tile
66990 b .L20692
66991.L21073:
66992 mov r0, #0
66993 mov r1, fp
66994 mov r2, r7
66995 ldr r3, [sp, #12]
66996 stmia sp, {r6, sl} @ phole stm
66997 str r9, [sp, #8]
66998 bl render_scanline_conditional_tile
66999 b .L20929
67000.L20823:
67001 ldr r3, [sp, #12]
67002 mov r0, r5
67003 mov r1, r4
67004 mov r2, r7
67005 stmia sp, {r6, sl} @ phole stm
67006 str r9, [sp, #8]
67007 bl render_scanline_conditional_tile
67008 tst r6, #64
67009 beq .L20828
67010 mov r1, r5
67011 mov r0, #4
67012 mov r2, r4
67013 mov r3, r7
67014 bl render_scanline_obj_copy_tile_1D
67015 b .L20815
67016.L20597:
67017 ldr r3, [sp, #12]
67018 mov r0, r8
67019 mov r1, r4
67020 b .L20999
67021.L20851:
67022 mov r0, r8
67023 mov r1, r4
67024 mov r2, r7
67025 ldr r3, [sp, #12]
67026 stmia sp, {r6, sl} @ phole stm
67027 str r9, [sp, #8]
67028 bl render_scanline_conditional_tile
67029 tst r6, #64
67030 beq .L20855
67031 mov r0, #4
67032 mov r1, r8
67033 mov r2, r4
67034 mov r3, r7
67035 bl render_scanline_obj_copy_tile_1D
67036 b .L20840
67037.L20666:
67038 mov r0, r8
67039 mov r1, #240
67040 b .L21010
67041.L20884:
67042 mov r1, r8
67043 mov r0, #4
67044 mov r2, fp
67045 mov r3, r7
67046 bl render_scanline_obj_copy_tile_2D
67047 b .L20832
67048.L20922:
67049 mov r0, r5
67050 mov r1, #240
67051 mov r2, r7
67052 ldr r3, [sp, #12]
67053 stmia sp, {r6, sl} @ phole stm
67054 str r9, [sp, #8]
67055 bl render_scanline_conditional_tile
67056 tst r6, #64
67057 beq .L20927
67058 mov r0, #4
67059 mov r1, r5
67060 mov r2, #240
67061 mov r3, r7
67062 bl render_scanline_obj_copy_tile_1D
67063 b .L20905
67064.L21071:
67065 mov r0, r5
67066 mov r1, fp
67067 mov r2, r7
67068 ldr r3, [sp, #12]
67069 stmia sp, {r6, sl} @ phole stm
67070 str r9, [sp, #8]
67071 bl render_scanline_conditional_tile
67072 tst r6, #64
67073 beq .L20899
67074 mov r0, #4
67075 mov r1, r5
67076 mov r2, fp
67077 mov r3, r7
67078 bl render_scanline_obj_copy_tile_1D
67079 b .L20897
67080.L20607:
67081 ldr r3, [sp, #20]
67082 mov r0, r4
67083 mov r1, #240
67084 b .L21002
67085.L20909:
67086 mov r1, r4
67087 mov r0, #0
67088 mov r2, r7
67089 ldr r3, [sp, #12]
67090 stmia sp, {r6, sl} @ phole stm
67091 str r9, [sp, #8]
67092 bl render_scanline_conditional_tile
67093 ands r1, r6, #64
67094 beq .L20914
67095 mov r0, #4
67096 mov r1, #0
67097 mov r2, r4
67098 mov r3, r7
67099 bl render_scanline_obj_copy_tile_1D
67100 b .L20907
67101.L20901:
67102 mov r0, #4
67103 mov r1, r5
67104 mov r2, r4
67105 mov r3, r7
67106 bl render_scanline_obj_copy_tile_2D
67107 b .L20897
67108.L20966:
67109 mov r0, #4
67110 mov r1, r8
67111 mov r2, r4
67112 mov r3, r7
67113 bl render_scanline_obj_copy_tile_2D
67114 b .L20959
67115.L20635:
67116 ldr r3, [sp, #12]
67117 mov r0, r8
67118 mov r1, #240
67119 b .L21002
67120.L20626:
67121 ldr r3, [sp, #20]
67122 mov r0, r4
67123 mov r1, r8
67124 b .L21001
67125.L20877:
67126 ldr r3, [sp, #12]
67127 mov r0, r5
67128 mov r1, #240
67129 mov r2, r7
67130 stmia sp, {r6, sl} @ phole stm
67131 str r9, [sp, #8]
67132 bl render_scanline_conditional_tile
67133 tst r6, #64
67134 beq .L20882
67135 mov r1, r5
67136 mov r0, #4
67137 mov r2, #240
67138 mov r3, r7
67139 bl render_scanline_obj_copy_tile_1D
67140 b .L20832
67141.L20864:
67142 ldr r3, [sp, #28]
67143 mov r0, r4
67144 mov r1, r5
67145 b .L21026
67146.L21072:
67147 ldr r3, [sp, #12]
67148 mov r0, r8
67149 mov r1, r4
67150 mov r2, r7
67151 stmia sp, {r6, sl} @ phole stm
67152 str r9, [sp, #8]
67153 bl render_scanline_conditional_tile
67154 tst r6, #64
67155 beq .L20952
67156 mov r0, #4
67157 mov r1, r8
67158 mov r2, r4
67159 mov r3, r7
67160 bl render_scanline_obj_copy_tile_1D
67161 b .L20950
67162.L20817:
67163 ldr r3, [sp, #12]
67164 mov r0, r8
67165 mov r1, r4
67166 mov r2, r7
67167 stmia sp, {r6, sl} @ phole stm
67168 str r9, [sp, #8]
67169 bl render_scanline_conditional_tile
67170 tst r6, #64
67171 beq .L20821
67172 mov r0, #4
67173 mov r1, r8
67174 mov r2, r4
67175 mov r3, r7
67176 bl render_scanline_obj_copy_tile_1D
67177 b .L20815
67178.L20853:
67179 mov r0, #4
67180 mov r1, r8
67181 mov r2, fp
67182 mov r3, r7
67183 bl render_scanline_obj_copy_tile_2D
67184 b .L20840
67185.L20828:
67186 mov r1, r5
67187 mov r0, #4
67188 mov r2, r4
67189 mov r3, r7
67190 bl render_scanline_obj_copy_tile_2D
67191 b .L20815
67192.L20855:
67193 mov r0, #4
67194 mov r1, r8
67195 mov r2, r4
67196 mov r3, r7
67197 bl render_scanline_obj_copy_tile_2D
67198 b .L20840
67199.L20927:
67200 mov r0, #4
67201 mov r1, r5
67202 mov r2, #240
67203 mov r3, r7
67204 bl render_scanline_obj_copy_tile_2D
67205 b .L20905
67206.L20871:
67207 ldr r3, [sp, #12]
67208 mov r0, r8
67209 mov r1, #240
67210 mov r2, r7
67211 stmia sp, {r6, sl} @ phole stm
67212 str r9, [sp, #8]
67213 bl render_scanline_conditional_tile
67214 tst r6, #64
67215 beq .L20875
67216 mov r1, r8
67217 mov r0, #4
67218 mov r2, #240
67219 mov r3, r7
67220 bl render_scanline_obj_copy_tile_1D
67221 b .L20832
67222.L21075:
67223 mov r1, fp
67224 mov r0, #0
67225 mov r2, r7
67226 ldr r3, [sp, #12]
67227 stmia sp, {r6, sl} @ phole stm
67228 str r9, [sp, #8]
67229 bl render_scanline_conditional_tile
67230 ands r1, r6, #64
67231 beq .L20912
67232 mov r0, #4
67233 mov r1, #0
67234 mov r2, fp
67235 mov r3, r7
67236 bl render_scanline_obj_copy_tile_1D
67237 b .L20907
67238.L20899:
67239 mov r0, #4
67240 mov r1, r5
67241 mov r2, fp
67242 mov r3, r7
67243 bl render_scanline_obj_copy_tile_2D
67244 b .L20897
67245.L20826:
67246 mov r1, r5
67247 mov r0, #4
67248 mov r2, fp
67249 mov r3, r7
67250 bl render_scanline_obj_copy_tile_2D
67251 b .L20815
67252.L20914:
67253 mov r0, #4
67254 mov r2, r4
67255 mov r3, r7
67256 bl render_scanline_obj_copy_tile_2D
67257 b .L20907
67258.L20925:
67259 mov r0, #4
67260 mov r1, r5
67261 mov r2, fp
67262 mov r3, r7
67263 bl render_scanline_obj_copy_tile_2D
67264 b .L20905
67265.L20882:
67266 mov r1, r5
67267 mov r0, #4
67268 mov r2, #240
67269 mov r3, r7
67270 bl render_scanline_obj_copy_tile_2D
67271 b .L20832
67272.L20875:
67273 mov r1, r8
67274 mov r0, #4
67275 mov r2, #240
67276 mov r3, r7
67277 bl render_scanline_obj_copy_tile_2D
67278 b .L20832
67279.L20819:
67280 mov r0, #4
67281 mov r1, r8
67282 mov r2, fp
67283 mov r3, r7
67284 bl render_scanline_obj_copy_tile_2D
67285 b .L20815
67286.L20952:
67287 mov r0, #4
67288 mov r1, r8
67289 mov r2, r4
67290 mov r3, r7
67291 bl render_scanline_obj_copy_tile_2D
67292 b .L20950
67293.L20912:
67294 mov r0, #4
67295 mov r2, fp
67296 mov r3, r7
67297 bl render_scanline_obj_copy_tile_2D
67298 b .L20907
67299.L20821:
67300 mov r0, #4
67301 mov r1, r8
67302 mov r2, r4
67303 mov r3, r7
67304 bl render_scanline_obj_copy_tile_2D
67305 b .L20815
67306.L20873:
67307 mov r1, r8
67308 mov r0, #4
67309 mov r2, fp
67310 mov r3, r7
67311 bl render_scanline_obj_copy_tile_2D
67312 b .L20836
67313.L20880:
67314 mov r1, r5
67315 mov r0, #4
67316 mov r2, fp
67317 mov r3, r7
67318 bl render_scanline_obj_copy_tile_2D
67319 b .L20836
67320 .size render_scanline_window_tile, .-render_scanline_window_tile
67321 .align 2
67322 .global render_scanline_tile
67323 .type render_scanline_tile, %function
67324render_scanline_tile:
67325 @ args = 0, pretend = 0, frame = 960
67326 @ frame_needed = 0, uses_anonymous_args = 0
67327 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
67328 ldr fp, .L21279
67329 ldr lr, .L21279+4
67330 ldr r3, [fp, #0]
67331 mov r5, r0
67332 cmp r3, #0
67333 sub sp, sp, #960
67334 mov r4, r1
67335 mov sl, lr
67336 ldrh r0, [lr, #80]
67337 beq .L21079
67338 ldr r3, .L21279+8
67339 ldrh r2, [lr, #6]
67340 and r1, r1, #7
67341 ldr ip, [r3, r2, asl #2]
67342 ldr r3, .L21279+12
67343 cmp ip, #0
67344 add r9, r3, r1, asl #7
67345 bne .L21267
67346 mov r3, r0, lsr #6
67347 and r3, r3, #3
67348 cmp r3, #2
67349 beq .L21157
67350 cmp r3, #3
67351 beq .L21158
67352 cmp r3, #1
67353 beq .L21268
67354.L21155:
67355 ldr r3, .L21279+16
67356 ldr ip, [r3, #0]
67357 ands r1, ip, #4
67358 beq .L21221
67359 ldr r3, .L21279+20
67360 mov r2, #0
67361 ldrh r3, [r3, #0]
67362.L21223:
67363 strh r3, [r2, r5] @ movhi
67364 add r2, r2, #2
67365 cmp r2, #480
67366 bne .L21223
67367 ands r1, r4, #64
67368 bic r0, ip, #4
67369 beq .L21225
67370 mov r1, #0
67371 sub r2, r2, #240
67372 mov r3, r5
67373 bl render_scanline_obj_normal_1D
67374.L21227:
67375 ldr r3, [fp, #0]
67376 cmp r3, #1
67377 bls .L21241
67378 ldr r7, .L21279+16
67379 and r8, r4, #64
67380 mov r6, #1
67381 b .L21229
67382.L21269:
67383 bl render_scanline_obj_normal_1D
67384.L21234:
67385 ldr r3, [fp, #0]
67386 add r6, r6, #1
67387 cmp r3, r6
67388 add r7, r7, #4
67389 bls .L21241
67390.L21229:
67391 ldr ip, [r7, #4]
67392 mov r2, #240
67393 ands r1, ip, #4
67394 mov r0, ip
67395 add r4, r9, ip, asl #5
67396 mov r3, r5
67397 beq .L21230
67398 mov r1, #0
67399 bic ip, ip, #4
67400 cmp r8, r1
67401 mov r0, ip
67402 bne .L21269
67403 mov r3, r5
67404 mov r0, ip
67405 mov r1, r8
67406 mov r2, #240
67407 bl render_scanline_obj_normal_2D
67408 ldr r3, [fp, #0]
67409 add r6, r6, #1
67410 cmp r3, r6
67411 add r7, r7, #4
67412 bhi .L21229
67413.L21241:
67414 add sp, sp, #960
67415 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
67416.L21079:
67417 mov r3, r0, lsr #6
67418 and r2, r3, #3
67419 ldr r3, .L21279+20
67420 cmp r2, #2
67421 ldrh ip, [r3, #0]
67422 beq .L21236
67423 cmp r2, #3
67424 beq .L21270
67425.L21235:
67426 mov r3, ip, asl #16
67427 mov r3, r3, lsr #16
67428 mov r2, #0
67429.L21240:
67430 strh r3, [r2, r5] @ movhi
67431 add r2, r2, #2
67432 cmp r2, #480
67433 bne .L21240
67434 b .L21241
67435.L21267:
67436 mov r3, r0, lsr #6
67437 and r3, r3, #3
67438 cmp r3, #2
67439 beq .L21085
67440 cmp r3, #3
67441 beq .L21086
67442 cmp r3, #1
67443 beq .L21271
67444.L21083:
67445 ldr r3, .L21279+16
67446 ldr r3, [r3, #0]
67447 ands r1, r3, #4
67448 beq .L21140
67449 mov r2, #0
67450 mov r6, sp
67451 mov r1, r2
67452.L21142:
67453 str r1, [r2, r6]
67454 add r2, r2, #4
67455 cmp r2, #960
67456 bne .L21142
67457 ands r2, r4, #64
67458 bic r0, r3, #4
67459 beq .L21144
67460 mov r2, #240
67461 mov r3, sp
67462 bl render_scanline_obj_partial_alpha_1D
67463.L21146:
67464 ldr r3, [fp, #0]
67465 cmp r3, #1
67466 bls .L21169
67467 ldr r8, .L21279+16
67468 and sl, r4, #64
67469 mov r7, #1
67470 b .L21149
67471.L21272:
67472 bl render_scanline_obj_partial_alpha_1D
67473.L21154:
67474 ldr r3, [fp, #0]
67475 add r7, r7, #1
67476 cmp r3, r7
67477 add r8, r8, #4
67478 bls .L21169
67479.L21149:
67480 ldr ip, [r8, #4]
67481 mov r2, #240
67482 ands r1, ip, #4
67483 mov r0, ip
67484 add r4, r9, ip, asl #5
67485 mov r3, sp
67486 beq .L21150
67487 mov r1, #0
67488 bic ip, ip, #4
67489 cmp sl, r1
67490 mov r0, ip
67491 bne .L21272
67492 mov r3, sp
67493 mov r0, ip
67494 mov r1, sl
67495 mov r2, #240
67496 bl render_scanline_obj_partial_alpha_2D
67497 ldr r3, [fp, #0]
67498 add r7, r7, #1
67499 cmp r3, r7
67500 add r8, r8, #4
67501 bhi .L21149
67502.L21169:
67503 mov r0, sp
67504 mov r1, r5
67505 mov r2, #0
67506 mov r3, #240
67507 bl expand_blend
67508 b .L21241
67509.L21236:
67510 tst r0, #32
67511 beq .L21235
67512 ldrh r3, [lr, #84]
67513 ldr r1, .L21279+24
67514 and r3, r3, #31
67515 cmp r3, #16
67516 movcs r3, #16
67517 orr r2, ip, ip, asl #16
67518 and r1, r2, r1
67519 rsb r0, r3, #16
67520 rsb r2, r3, r3, asl #6
67521 mul ip, r1, r0
67522 add r3, r3, r2, asl #5
67523 rsb r3, r3, r3, asl #16
67524 ldr r1, .L21279+24
67525 mov r3, r3, lsr #4
67526 and r1, r3, r1
67527 ldr r2, .L21279+24
67528 add r1, r1, ip, lsr #4
67529 and r2, r1, r2
67530 orr ip, r2, r2, lsr #16
67531 b .L21235
67532.L21085:
67533 ldrh r3, [lr, #84]
67534 tst r3, #31
67535 beq .L21083
67536 tst r0, #63
67537 beq .L21083
67538 ldr r3, .L21279+16
67539 ldr r3, [r3, #0]
67540 ands r1, r3, #4
67541 beq .L21108
67542 mov r2, #0
67543 mov r6, sp
67544 mov r1, r2
67545.L21110:
67546 str r1, [r2, r6]
67547 add r2, r2, #4
67548 cmp r2, #960
67549 bne .L21110
67550 ands r2, r4, #64
67551 bic r0, r3, #4
67552 beq .L21112
67553 mov r2, #240
67554 mov r3, sp
67555 bl render_scanline_obj_partial_alpha_1D
67556.L21114:
67557 ldr r3, [fp, #0]
67558 cmp r3, #1
67559 bls .L21115
67560 ldr r8, .L21279+16
67561 and sl, r4, #64
67562 mov r7, #1
67563 b .L21117
67564.L21273:
67565 bl render_scanline_obj_partial_alpha_1D
67566.L21122:
67567 ldr r3, [fp, #0]
67568 add r7, r7, #1
67569 cmp r3, r7
67570 add r8, r8, #4
67571 bls .L21115
67572.L21117:
67573 ldr ip, [r8, #4]
67574 mov r2, #240
67575 ands r1, ip, #4
67576 mov r0, ip
67577 add r4, r9, ip, asl #5
67578 mov r3, sp
67579 beq .L21118
67580 mov r1, #0
67581 bic ip, ip, #4
67582 cmp sl, r1
67583 mov r0, ip
67584 bne .L21273
67585 mov r0, ip
67586 mov r1, sl
67587 mov r2, #240
67588 mov r3, sp
67589 bl render_scanline_obj_partial_alpha_2D
67590 b .L21122
67591.L21157:
67592 ldrh r3, [lr, #84]
67593 tst r3, #31
67594 beq .L21155
67595 tst r0, #63
67596 beq .L21155
67597 ldr r3, .L21279+16
67598 ldr r3, [r3, #0]
67599 ands r1, r3, #4
67600 beq .L21179
67601 mov r2, ip
67602.L21181:
67603 mov r1, #0 @ movhi
67604 strh r1, [r2, r5] @ movhi
67605 add r2, r2, #2
67606 cmp r2, #480
67607 bne .L21181
67608 ands r1, r4, #64
67609 bic r0, r3, #4
67610 beq .L21183
67611 mov r1, #0
67612 sub r2, r2, #240
67613 mov r3, r5
67614 bl render_scanline_obj_color16_1D
67615.L21185:
67616 ldr r3, [fp, #0]
67617 cmp r3, #1
67618 bls .L21186
67619 ldr r7, .L21279+16
67620 and r8, r4, #64
67621 mov r6, #1
67622 b .L21188
67623.L21274:
67624 bl render_scanline_obj_color16_1D
67625.L21193:
67626 ldr r3, [fp, #0]
67627 add r6, r6, #1
67628 cmp r3, r6
67629 add r7, r7, #4
67630 bls .L21186
67631.L21188:
67632 ldr ip, [r7, #4]
67633 mov r2, #240
67634 ands r1, ip, #4
67635 mov r0, ip
67636 add r4, r9, ip, asl #5
67637 mov r3, r5
67638 beq .L21189
67639 mov r1, #0
67640 bic ip, ip, #4
67641 cmp r8, r1
67642 mov r0, ip
67643 bne .L21274
67644 mov r0, ip
67645 mov r1, r8
67646 mov r2, #240
67647 mov r3, r5
67648 bl render_scanline_obj_color16_2D
67649 b .L21193
67650.L21230:
67651 mov lr, pc
67652 ldr pc, [r4, #4]
67653 b .L21234
67654.L21150:
67655 mov lr, pc
67656 ldr pc, [r4, #28]
67657 b .L21154
67658.L21270:
67659 tst r0, #32
67660 beq .L21235
67661 ldrh r3, [lr, #84]
67662 ldr r0, .L21279+24
67663 and r3, r3, #31
67664 orr r2, ip, ip, asl #16
67665 rsb r3, r3, #16
67666 and r0, r2, r0
67667 cmp r3, #0
67668 movlt r3, #0
67669 mul r1, r3, r0
67670 ldr r2, .L21279+24
67671 mov r1, r1, lsr #4
67672 and r2, r1, r2
67673 orr ip, r2, r2, lsr #16
67674 b .L21235
67675.L21144:
67676 mov r1, r2
67677 mov r3, sp
67678 mov r2, #240
67679 bl render_scanline_obj_partial_alpha_2D
67680 b .L21146
67681.L21225:
67682 mov r2, #240
67683 mov r3, r5
67684 bl render_scanline_obj_normal_2D
67685 b .L21227
67686.L21140:
67687 mov r0, r3
67688 add ip, r9, r3, asl #5
67689 mov r2, #240
67690 mov r3, sp
67691 mov r6, sp
67692 mov lr, pc
67693 ldr pc, [ip, #24]
67694 b .L21146
67695.L21221:
67696 mov r0, ip
67697 mov r2, #240
67698 mov r3, r5
67699 mov lr, pc
67700 ldr pc, [r9, ip, asl #5]
67701 b .L21227
67702.L21086:
67703 ldrh r3, [lr, #84]
67704 tst r3, #31
67705 beq .L21083
67706 tst r0, #63
67707 beq .L21083
67708 ldr r3, .L21279+16
67709 ldr r3, [r3, #0]
67710 ands r1, r3, #4
67711 beq .L21125
67712 mov r2, #0
67713 mov r6, sp
67714 mov r1, r2
67715.L21127:
67716 str r1, [r2, r6]
67717 add r2, r2, #4
67718 cmp r2, #960
67719 bne .L21127
67720 ands r2, r4, #64
67721 bic r0, r3, #4
67722 beq .L21129
67723 mov r2, #240
67724 mov r3, sp
67725 bl render_scanline_obj_partial_alpha_1D
67726.L21131:
67727 ldr r3, [fp, #0]
67728 cmp r3, #1
67729 bls .L21132
67730 ldr r8, .L21279+16
67731 and sl, r4, #64
67732 mov r7, #1
67733 b .L21134
67734.L21275:
67735 bl render_scanline_obj_partial_alpha_1D
67736.L21139:
67737 ldr r3, [fp, #0]
67738 add r7, r7, #1
67739 cmp r3, r7
67740 add r8, r8, #4
67741 bls .L21132
67742.L21134:
67743 ldr ip, [r8, #4]
67744 mov r2, #240
67745 ands r1, ip, #4
67746 mov r0, ip
67747 add r4, r9, ip, asl #5
67748 mov r3, sp
67749 beq .L21135
67750 mov r1, #0
67751 bic ip, ip, #4
67752 cmp sl, r1
67753 mov r0, ip
67754 bne .L21275
67755 mov r0, ip
67756 mov r1, sl
67757 mov r2, #240
67758 mov r3, sp
67759 bl render_scanline_obj_partial_alpha_2D
67760 b .L21139
67761.L21158:
67762 ldrh r3, [lr, #84]
67763 tst r3, #31
67764 beq .L21155
67765 tst r0, #63
67766 beq .L21155
67767 ldr r3, .L21279+16
67768 ldr r3, [r3, #0]
67769 ands r1, r3, #4
67770 beq .L21201
67771 mov r2, #0
67772.L21203:
67773 mov r1, #0 @ movhi
67774 strh r1, [r2, r5] @ movhi
67775 add r2, r2, #2
67776 cmp r2, #480
67777 bne .L21203
67778 ands r1, r4, #64
67779 bic r0, r3, #4
67780 beq .L21205
67781 mov r1, #0
67782 sub r2, r2, #240
67783 mov r3, r5
67784 bl render_scanline_obj_color16_1D
67785.L21207:
67786 ldr r3, [fp, #0]
67787 cmp r3, #1
67788 bls .L21208
67789 ldr r6, .L21279+16
67790 and r8, r4, #64
67791 mov r7, #1
67792 b .L21210
67793.L21276:
67794 bl render_scanline_obj_color16_1D
67795.L21215:
67796 ldr r3, [fp, #0]
67797 add r7, r7, #1
67798 cmp r3, r7
67799 add r6, r6, #4
67800 bls .L21208
67801.L21210:
67802 ldr ip, [r6, #4]
67803 mov r2, #240
67804 ands r1, ip, #4
67805 mov r0, ip
67806 add r4, r9, ip, asl #5
67807 mov r3, r5
67808 beq .L21211
67809 mov r1, #0
67810 bic ip, ip, #4
67811 cmp r8, r1
67812 mov r0, ip
67813 bne .L21276
67814 mov r0, ip
67815 mov r1, r8
67816 mov r2, #240
67817 mov r3, r5
67818 bl render_scanline_obj_color16_2D
67819 b .L21215
67820.L21118:
67821 mov lr, pc
67822 ldr pc, [r4, #28]
67823 b .L21122
67824.L21189:
67825 mov lr, pc
67826 ldr pc, [r4, #20]
67827 b .L21193
67828.L21135:
67829 mov lr, pc
67830 ldr pc, [r4, #28]
67831 b .L21139
67832.L21211:
67833 mov lr, pc
67834 ldr pc, [r4, #20]
67835 b .L21215
67836.L21271:
67837 ldrh r2, [lr, #82]
67838 ldr r3, .L21279+28
67839 and r3, r2, r3
67840 cmp r3, #31
67841 beq .L21083
67842 tst r0, #63
67843 beq .L21083
67844 tst r0, #16128
67845 beq .L21083
67846 ldr r3, .L21279+16
67847 ldr r3, [r3, #0]
67848 ands r1, r3, #4
67849 beq .L21090
67850 mov r2, #0
67851 mov r6, sp
67852 mov r1, r2
67853.L21092:
67854 str r1, [r2, r6]
67855 add r2, r2, #4
67856 cmp r2, #960
67857 bne .L21092
67858 ands r2, r4, #64
67859 bic r0, r3, #4
67860 beq .L21094
67861 mov r2, #240
67862 mov r3, sp
67863 bl render_scanline_obj_alpha_obj_1D
67864.L21096:
67865 ldr r3, [fp, #0]
67866 cmp r3, #1
67867 bls .L21169
67868 ldr r8, .L21279+16
67869 and sl, r4, #64
67870 mov r7, #1
67871 b .L21099
67872.L21277:
67873 mov r1, #0
67874 bic ip, ip, #4
67875 cmp sl, r1
67876 mov r0, ip
67877 beq .L21102
67878 bl render_scanline_obj_alpha_obj_1D
67879.L21104:
67880 ldr r3, [fp, #0]
67881 add r7, r7, #1
67882 cmp r3, r7
67883 add r8, r8, #4
67884 bls .L21169
67885.L21099:
67886 ldr ip, [r8, #4]
67887 mov r2, #240
67888 ands r1, ip, #4
67889 mov r0, ip
67890 add r4, r9, ip, asl #5
67891 mov r3, sp
67892 bne .L21277
67893 mov lr, pc
67894 ldr pc, [r4, #12]
67895 b .L21104
67896.L21268:
67897 ldrh r2, [lr, #82]
67898 ldr r3, .L21279+28
67899 and r3, r2, r3
67900 cmp r3, #31
67901 beq .L21155
67902 tst r0, #63
67903 beq .L21155
67904 tst r0, #16128
67905 beq .L21155
67906 ldr r3, .L21279+16
67907 ldr r3, [r3, #0]
67908 ands r1, r3, #4
67909 beq .L21162
67910 mov r2, ip
67911 mov r6, sp
67912 mov r1, ip
67913.L21164:
67914 str r1, [r2, r6]
67915 add r2, r2, #4
67916 cmp r2, #960
67917 bne .L21164
67918 ands r2, r4, #64
67919 bic r0, r3, #4
67920 beq .L21166
67921 mov r2, #240
67922 mov r3, sp
67923 bl render_scanline_obj_alpha_obj_1D
67924.L21168:
67925 ldr r3, [fp, #0]
67926 cmp r3, #1
67927 bls .L21169
67928 ldr r8, .L21279+16
67929 and sl, r4, #64
67930 mov r7, #1
67931 b .L21171
67932.L21278:
67933 mov r1, #0
67934 bic ip, ip, #4
67935 cmp sl, r1
67936 mov r0, ip
67937 beq .L21174
67938 bl render_scanline_obj_alpha_obj_1D
67939.L21176:
67940 ldr r3, [fp, #0]
67941 add r7, r7, #1
67942 cmp r3, r7
67943 add r8, r8, #4
67944 bls .L21169
67945.L21171:
67946 ldr ip, [r8, #4]
67947 mov r2, #240
67948 ands r1, ip, #4
67949 mov r0, ip
67950 add r4, r9, ip, asl #5
67951 mov r3, sp
67952 bne .L21278
67953 mov lr, pc
67954 ldr pc, [r4, #12]
67955 b .L21176
67956.L21174:
67957 mov r0, ip
67958 mov r1, sl
67959 mov r2, #240
67960 mov r3, sp
67961 bl render_scanline_obj_alpha_obj_2D
67962 b .L21176
67963.L21102:
67964 mov r0, ip
67965 mov r1, sl
67966 mov r2, #240
67967 mov r3, sp
67968 bl render_scanline_obj_alpha_obj_2D
67969 b .L21104
67970.L21115:
67971 mov r0, sp
67972 mov r1, r5
67973 mov r2, #0
67974 mov r3, #240
67975 bl expand_brighten_partial_alpha
67976 b .L21241
67977.L21186:
67978 ldrh r2, [sl, #84]
67979 ldr r7, .L21279+24
67980 and r2, r2, #31
67981 cmp r2, #16
67982 movcs r2, #16
67983 rsb r3, r2, r2, asl #6
67984 add r3, r2, r3, asl #5
67985 rsb r3, r3, r3, asl #16
67986 mov r3, r3, lsr #4
67987 ldr r6, .L21279+20
67988 and r7, r3, r7
67989 rsb r4, r2, #16
67990 mov lr, #0
67991.L21194:
67992 ldrh r3, [r5, #0]
67993 ldr ip, .L21279+24
67994 mov r2, r3, asl #23
67995 mov r2, r2, lsr #23
67996 tst r3, #512
67997 mov r2, r2, asl #1
67998 mov r1, r3, asl #23
67999 ldrneh r3, [r2, r6]
68000 mov r0, ip
68001 orrne r3, r3, r3, asl #16
68002 andne ip, r3, ip
68003 mulne r2, ip, r4
68004 mov r1, r1, lsr #23
68005 mov r1, r1, asl #1
68006 addne r2, r7, r2, lsr #4
68007 andne r0, r2, r0
68008 ldreqh r1, [r1, r6]
68009 orrne r3, r0, r0, lsr #16
68010 add lr, lr, #1
68011 strneh r3, [r5, #0] @ movhi
68012 streqh r1, [r5, #0] @ movhi
68013 cmp lr, #240
68014 add r5, r5, #2
68015 bne .L21194
68016 b .L21241
68017.L21132:
68018 mov r0, sp
68019 mov r1, r5
68020 mov r2, #0
68021 mov r3, #240
68022 bl expand_darken_partial_alpha
68023 b .L21241
68024.L21208:
68025 ldrh r3, [sl, #84]
68026 ldr r6, .L21279+20
68027 and r3, r3, #31
68028 rsb r3, r3, #16
68029 cmp r3, #0
68030 movge r4, r3
68031 movlt r4, #0
68032 mov lr, #0
68033.L21216:
68034 ldrh r3, [r5, #0]
68035 ldr ip, .L21279+24
68036 mov r2, r3, asl #23
68037 mov r2, r2, lsr #23
68038 tst r3, #512
68039 mov r2, r2, asl #1
68040 mov r1, r3, asl #23
68041 ldrneh r3, [r2, r6]
68042 mov r0, ip
68043 orrne r3, r3, r3, asl #16
68044 andne ip, r3, ip
68045 mulne r2, r4, ip
68046 mov r1, r1, lsr #23
68047 mov r1, r1, asl #1
68048 movne r2, r2, lsr #4
68049 andne r0, r2, r0
68050 ldreqh r1, [r1, r6]
68051 orrne r3, r0, r0, lsr #16
68052 add lr, lr, #1
68053 strneh r3, [r5, #0] @ movhi
68054 streqh r1, [r5, #0] @ movhi
68055 cmp lr, #240
68056 add r5, r5, #2
68057 bne .L21216
68058 b .L21241
68059.L21183:
68060 mov r2, #240
68061 mov r3, r5
68062 bl render_scanline_obj_color16_2D
68063 b .L21185
68064.L21179:
68065 mov r0, r3
68066 add ip, r9, r3, asl #5
68067 mov r2, #240
68068 mov r3, r5
68069 mov lr, pc
68070 ldr pc, [ip, #16]
68071 b .L21185
68072.L21205:
68073 mov r2, #240
68074 mov r3, r5
68075 bl render_scanline_obj_color16_2D
68076 b .L21207
68077.L21201:
68078 mov r0, r3
68079 add ip, r9, r3, asl #5
68080 mov r2, #240
68081 mov r3, r5
68082 mov lr, pc
68083 ldr pc, [ip, #16]
68084 b .L21207
68085.L21129:
68086 mov r1, r2
68087 mov r3, sp
68088 mov r2, #240
68089 bl render_scanline_obj_partial_alpha_2D
68090 b .L21131
68091.L21125:
68092 mov r0, r3
68093 add ip, r9, r3, asl #5
68094 mov r2, #240
68095 mov r3, sp
68096 mov r6, sp
68097 mov lr, pc
68098 ldr pc, [ip, #24]
68099 b .L21131
68100.L21112:
68101 mov r1, r2
68102 mov r3, sp
68103 mov r2, #240
68104 bl render_scanline_obj_partial_alpha_2D
68105 b .L21114
68106.L21108:
68107 mov r0, r3
68108 add ip, r9, r3, asl #5
68109 mov r2, #240
68110 mov r3, sp
68111 mov r6, sp
68112 mov lr, pc
68113 ldr pc, [ip, #24]
68114 b .L21114
68115.L21166:
68116 mov r1, r2
68117 mov r3, sp
68118 mov r2, #240
68119 bl render_scanline_obj_alpha_obj_2D
68120 b .L21168
68121.L21094:
68122 mov r1, r2
68123 mov r3, sp
68124 mov r2, #240
68125 bl render_scanline_obj_alpha_obj_2D
68126 b .L21096
68127.L21162:
68128 mov r0, r3
68129 add ip, r9, r3, asl #5
68130 mov r2, #240
68131 mov r3, sp
68132 mov r6, sp
68133 mov lr, pc
68134 ldr pc, [ip, #8]
68135 b .L21168
68136.L21090:
68137 mov r0, r3
68138 add ip, r9, r3, asl #5
68139 mov r2, #240
68140 mov r3, sp
68141 mov r6, sp
68142 mov lr, pc
68143 ldr pc, [ip, #8]
68144 b .L21096
68145.L21280:
68146 .align 2
68147.L21279:
68148 .word layer_count
68149 .word io_registers
68150 .word obj_alpha_count
68151 .word tile_mode_renderers
68152 .word layer_order
68153 .word palette_ram_converted
68154 .word 132184095
68155 .word 7967
68156 .size render_scanline_tile, .-render_scanline_tile
68157 .align 2
68158 .global print_string_pad
68159 .type print_string_pad, %function
68160print_string_pad:
68161 @ args = 8, pretend = 0, frame = 16
68162 @ frame_needed = 0, uses_anonymous_args = 0
68163 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
68164 ldr lr, .L21320
68165 sub sp, sp, #16
68166 ldr ip, .L21320+4
68167 ldr r5, [lr, #0]
68168 ldr sl, [sp, #52]
68169 ldr r4, [ip, #0]
68170 str r0, [sp, #4]
68171 add ip, sl, #10
68172 mov r2, r2, asl #16
68173 mov fp, r3
68174 ldrh r3, [r5, #16]
68175 ldr r5, [r5, #20]
68176 cmp ip, r4
68177 mov r4, r2, lsr #16
68178 ldr r2, [sp, #4]
68179 mov r1, r1, asl #16
68180 str r5, [sp, #0]
68181 mov r0, r1, lsr #16
68182 ldrb ip, [r2, #0] @ zero_extendqisi2
68183 bcs .L21313
68184 cmp ip, #0
68185 beq .L21313
68186 ldr r2, .L21320+8
68187 mov r9, r3, lsr #1
68188 ldr r2, [r2, #0]
68189 mla r3, sl, r9, fp
68190 add r1, r9, r9, asl #2
68191 str r2, [sp, #12]
68192 ldr r2, [sp, #0]
68193 mov r1, r1, asl #2
68194 str r1, [sp, #8]
68195 add r6, r2, r3, asl #1
68196 mov r5, r9, asl #1
68197 mov r1, fp
68198 mov r7, #0
68199 mov r8, #1
68200.L21285:
68201 cmp ip, #10
68202 beq .L21319
68203 ldr r3, .L21320+12
68204 mov lr, #0
68205 ldr r2, [r3, ip, asl #2]
68206 ldr r3, .L21320+16
68207 mov ip, r6
68208 add r2, r3, r2, asl #1
68209.L21289:
68210 ldrh r3, [r2, #0]
68211 add lr, lr, #1
68212 tst r3, #32768
68213 streqh r4, [ip, #0] @ movhi
68214 strneh r0, [ip, #0] @ movhi
68215 tst r3, #16384
68216 streqh r4, [ip, #2] @ movhi
68217 strneh r0, [ip, #2] @ movhi
68218 tst r3, #8192
68219 streqh r4, [ip, #4] @ movhi
68220 strneh r0, [ip, #4] @ movhi
68221 tst r3, #4096
68222 streqh r4, [ip, #6] @ movhi
68223 strneh r0, [ip, #6] @ movhi
68224 tst r3, #2048
68225 streqh r4, [ip, #8] @ movhi
68226 strneh r0, [ip, #8] @ movhi
68227 tst r3, #1024
68228 strneh r0, [ip, #10] @ movhi
68229 streqh r4, [ip, #10] @ movhi
68230 cmp lr, #10
68231 add ip, ip, r5
68232 add r2, r2, #2
68233 bne .L21289
68234 add r3, r6, r5
68235 add r2, r5, r5, asl #3
68236 add r3, r3, r2
68237 ldr r2, [sp, #8]
68238 add r1, r1, #6
68239 rsb r3, r2, r3
68240 add r6, r3, #12
68241.L21288:
68242 ldr r3, [sp, #4]
68243 ldr r2, [sp, #56]
68244 ldrb ip, [r3, r8] @ zero_extendqisi2
68245 add r7, r7, #1
68246 cmp r2, r7
68247 movls r3, #0
68248 movhi r3, #1
68249 cmp ip, #0
68250 movne r3, #0
68251 ldr r2, [sp, #12]
68252 cmp r3, #0
68253 add r3, r1, #6
68254 movne ip, #32
68255 addeq r8, r8, #1
68256 cmp r3, r2
68257 bcs .L21313
68258 cmp ip, #0
68259 bne .L21285
68260.L21313:
68261 add sp, sp, #16
68262 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
68263.L21319:
68264 add sl, sl, #10
68265 mla r3, sl, r9, fp
68266 ldr r2, [sp, #0]
68267 mov r1, fp
68268 add r6, r2, r3, asl #1
68269 b .L21288
68270.L21321:
68271 .align 2
68272.L21320:
68273 .word screen
68274 .word resolution_height
68275 .word resolution_width
68276 .word _font_offset
68277 .word _font_bits
68278 .size print_string_pad, .-print_string_pad
68279 .align 2
68280 .global print_string
68281 .type print_string, %function
68282print_string:
68283 @ args = 4, pretend = 0, frame = 12
68284 @ frame_needed = 0, uses_anonymous_args = 0
68285 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
68286 ldr lr, .L21358
68287 sub sp, sp, #12
68288 ldr ip, .L21358+4
68289 ldr r5, [lr, #0]
68290 ldr r8, [sp, #48]
68291 ldr r4, [ip, #0]
68292 mov r9, r3
68293 ldrh r3, [r5, #16]
68294 ldr r5, [r5, #20]
68295 add ip, r8, #10
68296 cmp ip, r4
68297 mov fp, r0
68298 mov r1, r1, asl #16
68299 mov r2, r2, asl #16
68300 str r5, [sp, #0]
68301 mov r0, r1, lsr #16
68302 mov r4, r2, lsr #16
68303 ldrb ip, [fp, #0] @ zero_extendqisi2
68304 bcs .L21352
68305 cmp ip, #0
68306 beq .L21352
68307 ldr r2, .L21358+8
68308 mov sl, r3, lsr #1
68309 ldr r2, [r2, #0]
68310 mla r3, r8, sl, r9
68311 add r1, sl, sl, asl #2
68312 str r2, [sp, #8]
68313 ldr r2, [sp, #0]
68314 mov r1, r1, asl #2
68315 cmp ip, #10
68316 str r1, [sp, #4]
68317 add r6, r2, r3, asl #1
68318 mov r5, sl, asl #1
68319 mov r1, r9
68320 mov r7, #1
68321 beq .L21357
68322.L21327:
68323 ldr r3, .L21358+12
68324 mov lr, #0
68325 ldr r2, [r3, ip, asl #2]
68326 ldr r3, .L21358+16
68327 mov ip, r6
68328 add r2, r3, r2, asl #1
68329.L21330:
68330 ldrh r3, [r2, #0]
68331 add lr, lr, #1
68332 tst r3, #32768
68333 streqh r4, [ip, #0] @ movhi
68334 strneh r0, [ip, #0] @ movhi
68335 tst r3, #16384
68336 streqh r4, [ip, #2] @ movhi
68337 strneh r0, [ip, #2] @ movhi
68338 tst r3, #8192
68339 streqh r4, [ip, #4] @ movhi
68340 strneh r0, [ip, #4] @ movhi
68341 tst r3, #4096
68342 streqh r4, [ip, #6] @ movhi
68343 strneh r0, [ip, #6] @ movhi
68344 tst r3, #2048
68345 streqh r4, [ip, #8] @ movhi
68346 strneh r0, [ip, #8] @ movhi
68347 tst r3, #1024
68348 strneh r0, [ip, #10] @ movhi
68349 streqh r4, [ip, #10] @ movhi
68350 cmp lr, #10
68351 add ip, ip, r5
68352 add r2, r2, #2
68353 bne .L21330
68354 add r3, r5, r6
68355 add r2, r5, r5, asl #3
68356 add r3, r3, r2
68357 ldr r2, [sp, #4]
68358 add r1, r1, #6
68359 rsb r3, r2, r3
68360 ldr r2, [sp, #8]
68361 add r6, r3, #12
68362 add r3, r1, #6
68363 cmp r3, r2
68364 ldrb ip, [r7, fp] @ zero_extendqisi2
68365 bcs .L21352
68366.L21356:
68367 cmp ip, #0
68368 beq .L21352
68369 cmp ip, #10
68370 add r7, r7, #1
68371 bne .L21327
68372.L21357:
68373 add r8, r8, #10
68374 mla r3, r8, sl, r9
68375 ldr r2, [sp, #0]
68376 mov r1, r9
68377 add r6, r2, r3, asl #1
68378 ldr r2, [sp, #8]
68379 add r3, r1, #6
68380 cmp r3, r2
68381 ldrb ip, [r7, fp] @ zero_extendqisi2
68382 bcc .L21356
68383.L21352:
68384 add sp, sp, #12
68385 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
68386.L21359:
68387 .align 2
68388.L21358:
68389 .word screen
68390 .word resolution_height
68391 .word resolution_width
68392 .word _font_offset
68393 .word _font_bits
68394 .size print_string, .-print_string
68395 .align 2
68396 .global render_scanline_obj_copy_bitmap_2D
68397 .type render_scanline_obj_copy_bitmap_2D, %function
68398render_scanline_obj_copy_bitmap_2D:
68399 @ args = 0, pretend = 0, frame = 596
68400 @ frame_needed = 0, uses_anonymous_args = 0
68401 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
68402 ldr lr, .L22220
68403 add r0, r0, r0, asl #2
68404 ldrh r4, [lr, #6]
68405 ldr ip, .L22220+4
68406 add r0, r4, r0, asl #5
68407 ldr ip, [ip, r0, asl #2]
68408 sub sp, sp, #596
68409 ldrh r6, [lr, #0]
68410 ldrh r5, [lr, #74]
68411 str ip, [sp, #56]
68412 cmp ip, #0
68413 ldr lr, .L22220+8
68414 ldr ip, .L22220+12
68415 str r4, [sp, #52]
68416 and r4, r6, #7
68417 add r4, ip, r4, asl #2
68418 add r0, lr, r0, asl #7
68419 str r4, [sp, #40]
68420 str r0, [sp, #60]
68421 str r1, [sp, #16]
68422 str r2, [sp, #12]
68423 str r3, [sp, #8]
68424 mov r5, r5, lsr #8
68425 beq .L22165
68426 and r7, r5, #16
68427 add ip, r3, r1, asl #1
68428 rsb lr, r1, r2
68429 mov r0, #0
68430 and r6, r6, #64
68431 and r5, r5, #4
68432 str r7, [sp, #76]
68433 str r6, [sp, #80]
68434 str r5, [sp, #84]
68435 str ip, [sp, #88]
68436 str lr, [sp, #108]
68437 str r0, [sp, #44]
68438 mov r1, r0
68439.L21363:
68440 ldr r2, [sp, #60]
68441 ldr r4, .L22220+16
68442 ldrb r3, [r1, r2] @ zero_extendqisi2
68443 ldr ip, .L22220+20
68444 mov r3, r3, asl #3
68445 ldrh r8, [r3, r4]
68446 add r3, r3, r4
68447 ldrh sl, [r3, #2]
68448 mov r6, r8, lsr #12
68449 and r2, r6, #12
68450 orr r2, r2, sl, lsr #14
68451 ldr ip, [ip, r2, asl #2]
68452 ands r7, r8, #512
68453 mov r1, sl, asl #23
68454 moveq lr, ip
68455 mov r9, r1, asr #23
68456 str r7, [sp, #28]
68457 ldr r7, [sp, #12]
68458 addne r1, r9, ip, asl #1
68459 addeq r1, r9, lr
68460 str r6, [sp, #24]
68461 ldr r6, [sp, #16]
68462 ldrh r3, [r3, #4]
68463 cmp r1, r7
68464 movcc r7, r1
68465 ldr r0, [sp, #12]
68466 ldr r1, [sp, #16]
68467 cmp r9, r6
68468 movcs r6, r9
68469 str r3, [sp, #20]
68470 cmp r0, r6
68471 movls r3, #0
68472 movhi r3, #1
68473 cmp r1, r7
68474 movcs r3, #0
68475 cmp r3, #0
68476 str r2, [sp, #48]
68477 str ip, [sp, #112]
68478 beq .L21367
68479 cmp r7, r6
68480 ldr r3, .L22220+24
68481 movls r4, r6, asl #1
68482 ldrh r0, [r3, #0]
68483 strls r4, [sp, #0]
68484 bls .L21369
68485 mov r2, r6, asl #1
68486 add r3, sp, #116
68487 str r2, [sp, #0]
68488 rsb r1, r6, r7
68489 add r2, r3, r2
68490 mov r3, #0
68491.L21371:
68492 add r3, r3, #1
68493 cmp r1, r3
68494 strh r0, [r2], #2 @ movhi
68495 bne .L21371
68496.L21369:
68497 ldr fp, .L22220+28
68498 ldr r3, [fp, #0]
68499 cmp r3, #0
68500 beq .L21372
68501 ldr r5, .L22220+32
68502 mov r4, #0
68503 b .L21374
68504.L22194:
68505 ldr ip, [sp, #76]
68506 cmp ip, #0
68507 bic ip, r0, #4
68508 beq .L21377
68509 ldr lr, [sp, #80]
68510 mov r0, ip
68511 cmp lr, #0
68512 mov r1, r6
68513 mov r2, r7
68514 add r3, sp, #116
68515 beq .L21379
68516 bl render_scanline_obj_normal_1D
68517.L21377:
68518 ldr r3, [fp, #0]
68519 add r4, r4, #1
68520 cmp r3, r4
68521 add r5, r5, #4
68522 bls .L21372
68523.L21374:
68524 ldr r0, [r5, #0]
68525 tst r0, #4
68526 bne .L22194
68527 ldr r0, [sp, #84]
68528 mov r1, r7
68529 cmp r0, #0
68530 add r2, sp, #116
68531 mov r0, r6
68532 beq .L21377
68533 ldr r3, [sp, #40]
68534 mov lr, pc
68535 ldr pc, [r3, #0]
68536 ldr r3, [fp, #0]
68537 add r4, r4, #1
68538 cmp r3, r4
68539 add r5, r5, #4
68540 bhi .L21374
68541.L21372:
68542 and r0, r8, #255
68543 cmp r0, #160
68544 ldr r6, [sp, #0]
68545 ldr r3, .L22220+36
68546 ldr r7, [sp, #48]
68547 add r4, sp, #116
68548 subgt r0, r0, #256
68549 tst r8, #256
68550 add r5, r4, r6
68551 ldr fp, [r3, r7, asl #2]
68552 beq .L21384
68553 tst r8, #8192
68554 beq .L21386
68555 mov r3, sl, lsr #4
68556 ldr ip, [sp, #28]
68557 ldr lr, .L22220+16
68558 ldr r1, [sp, #112]
68559 and r3, r3, #992
68560 cmp ip, #0
68561 add r3, r3, lr
68562 add r2, r1, r1, lsr #31
68563 add r1, fp, fp, lsr #31
68564 ldrh r4, [r3, #30]
68565 mov lr, r1, asr #1
68566 ldrne r6, [sp, #112]
68567 ldr r1, [sp, #16]
68568 mov ip, r2, asr #1
68569 str r4, [sp, #32]
68570 moveq r7, ip
68571 movne r4, r6, asl #1
68572 ldreq r4, [sp, #112]
68573 moveq r6, lr
68574 movne r7, ip, asl #1
68575 movne r6, lr, asl #1
68576 cmp r9, r1
68577 ldrh sl, [r3, #6]
68578 ldrh r2, [r3, #14]
68579 ldrh r8, [r3, #22]
68580 bge .L21391
68581 rsb r1, r9, r1
68582 rsb r4, r1, r4
68583 cmp r4, #0
68584 ble .L21367
68585 ldr r9, [sp, #16]
68586 rsb r7, r1, r7
68587.L21391:
68588 ldr r1, [sp, #12]
68589 add r3, r9, r4
68590 cmp r3, r1
68591 blt .L21394
68592 rsb r4, r9, r1
68593 cmp r4, #0
68594 ble .L21367
68595.L21394:
68596 add r0, r0, r6
68597 ldr r6, [sp, #32]
68598 mov r2, r2, asl #16
68599 mov ip, ip, asl #8
68600 mov r3, sl, asl #16
68601 mov r1, r6, asl #16
68602 str ip, [sp, #104]
68603 mov r6, r2, asr #16
68604 mov ip, lr, asl #8
68605 ldr r2, [sp, #52]
68606 ldr lr, [sp, #8]
68607 mov r3, r3, asr #16
68608 cmp r8, #0
68609 str r3, [sp, #64]
68610 mov r1, r1, asr #16
68611 add sl, lr, r9, asl #1
68612 rsb r0, r0, r2
68613 bne .L21396
68614 mla r3, r0, r1, ip
68615 mov r1, r3, asr #8
68616 cmp r1, fp
68617 bcs .L21367
68618 ldr ip, [sp, #20]
68619 mov r2, r1, lsr #3
68620 mov r3, ip, asl #22
68621 mov r3, r3, lsr #22
68622 add r3, r3, r2, asl #5
68623 and r1, r1, #7
68624 add r1, r1, r3, asl #2
68625 ldr r3, .L22220+40
68626 cmp r4, #0
68627 add r9, r3, r1, asl #3
68628 ble .L21367
68629 ldr r2, [sp, #64]
68630 mul r3, r0, r6
68631 mul r2, r7, r2
68632 ldr lr, [sp, #104]
68633 rsb r3, r2, r3
68634 add r0, lr, r3
68635 ldr r1, [sp, #112]
68636 mov ip, r0, asr #8
68637 cmp ip, r1
68638 movcs lr, r8
68639 bcs .L21402
68640 b .L22216
68641.L21403:
68642 ldr r2, [sp, #112]
68643 cmp ip, r2
68644 bcc .L22182
68645.L21402:
68646 ldr r3, [sp, #64]
68647 add lr, lr, #1
68648 add r0, r0, r3
68649 cmp r4, lr
68650 mov ip, r0, asr #8
68651 add sl, sl, #2
68652 add r5, r5, #2
68653 bne .L21403
68654.L21367:
68655 ldr ip, [sp, #44]
68656 ldr lr, [sp, #56]
68657 add ip, ip, #1
68658 cmp ip, lr
68659 str ip, [sp, #44]
68660 beq .L22165
68661.L22197:
68662 ldr r1, [sp, #44]
68663 b .L21363
68664.L21379:
68665 mov r0, ip
68666 mov r1, r6
68667 mov r2, r7
68668 add r3, sp, #116
68669 bl render_scanline_obj_normal_2D
68670 b .L21377
68671.L21384:
68672 ldr r3, [sp, #52]
68673 tst sl, #8192
68674 rsb r0, r0, r3
68675 ldr r4, [sp, #24]
68676 rsbne r3, r0, fp
68677 subne r0, r3, #1
68678 mov r2, sl, asl #19
68679 and r3, r4, #2
68680 orr r3, r3, r2, lsr #31
68681 cmp r3, #3
68682 ldrls pc, [pc, r3, asl #2]
68683 b .L21367
68684 .p2align 2
68685.L21464:
68686 .word .L21460
68687 .word .L21461
68688 .word .L21462
68689 .word .L21463
68690.L21386:
68691 ldr r6, .L22220+16
68692 mov r3, sl, lsr #4
68693 and r3, r3, #992
68694 add r3, r3, r6
68695 ldr r7, [sp, #112]
68696 ldr r4, [sp, #28]
68697 ldrh ip, [r3, #30]
68698 add r2, r7, r7, lsr #31
68699 cmp r4, #0
68700 add r1, fp, fp, lsr #31
68701 str ip, [sp, #36]
68702 ldrh sl, [r3, #6]
68703 mov ip, r2, asr #1
68704 ldrh r8, [r3, #22]
68705 ldrh r2, [r3, #14]
68706 ldr r3, [sp, #16]
68707 mov lr, r1, asr #1
68708 movne r1, r7
68709 moveq r4, r7
68710 moveq r6, lr
68711 moveq r7, ip
68712 movne r4, r1, asl #1
68713 movne r7, ip, asl #1
68714 movne r6, lr, asl #1
68715 cmp r9, r3
68716 bge .L21423
68717 rsb r1, r9, r3
68718 rsb r4, r1, r4
68719 cmp r4, #0
68720 ble .L21367
68721 rsb r7, r1, r7
68722 mov r9, r3
68723.L21423:
68724 ldr r1, [sp, #12]
68725 add r3, r9, r4
68726 cmp r3, r1
68727 blt .L21426
68728 rsb r4, r9, r1
68729 cmp r4, #0
68730 ble .L21367
68731.L21426:
68732 add r0, r0, r6
68733 ldr r6, [sp, #36]
68734 mov r2, r2, asl #16
68735 mov ip, ip, asl #8
68736 mov r3, sl, asl #16
68737 mov r1, r6, asl #16
68738 str ip, [sp, #92]
68739 mov r6, r2, asr #16
68740 mov ip, lr, asl #8
68741 ldr r2, [sp, #52]
68742 ldr lr, [sp, #8]
68743 mov r3, r3, asr #16
68744 cmp r8, #0
68745 str r3, [sp, #68]
68746 mov r1, r1, asr #16
68747 add sl, lr, r9, asl #1
68748 rsb r0, r0, r2
68749 bne .L21428
68750 mla r3, r0, r1, ip
68751 mov r1, r3, asr #8
68752 cmp r1, fp
68753 bcs .L21367
68754 ldr ip, [sp, #20]
68755 mov r2, r1, lsr #3
68756 mov r3, ip, asl #22
68757 mov r3, r3, lsr #22
68758 add r3, r3, r2, asl #5
68759 and r1, r1, #7
68760 add r1, r1, r3, asl #3
68761 ldr r3, .L22220+40
68762 cmp r4, #0
68763 add r9, r3, r1, asl #2
68764 ble .L21367
68765 ldr r2, [sp, #68]
68766 mul r3, r0, r6
68767 mul r2, r7, r2
68768 ldr lr, [sp, #92]
68769 rsb r3, r2, r3
68770 ldr r1, [sp, #112]
68771 add r0, lr, r3
68772 mov ip, r0, asr #8
68773 cmp ip, r1
68774 movcs r1, r8
68775 bcs .L21434
68776 b .L22217
68777.L21435:
68778 ldr r2, [sp, #112]
68779 cmp ip, r2
68780 bcc .L22184
68781.L21434:
68782 ldr r3, [sp, #68]
68783 add r1, r1, #1
68784 add r0, r0, r3
68785 cmp r4, r1
68786 mov ip, r0, asr #8
68787 add sl, sl, #2
68788 add r5, r5, #2
68789 bne .L21435
68790 ldr ip, [sp, #44]
68791 ldr lr, [sp, #56]
68792 add ip, ip, #1
68793 cmp ip, lr
68794 str ip, [sp, #44]
68795 bne .L22197
68796.L22165:
68797 add sp, sp, #596
68798 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
68799.L21437:
68800 ldr r6, [sp, #112]
68801 cmp ip, r6
68802 bcs .L21367
68803.L22184:
68804 mov r3, ip, asr #1
68805 and r6, r3, #3
68806 mov r3, ip, asr #3
68807 mov r3, r3, asl #5
68808 mov r2, ip, asr #1
68809 tst ip, #1
68810 and lr, r2, #3
68811 add ip, r3, r9
68812 add r2, r3, r9
68813 ldreqb r3, [r2, lr] @ zero_extendqisi2
68814 ldrneb r3, [ip, r6] @ zero_extendqisi2
68815 andeq r2, r3, #15
68816 movne r2, r3, lsr #4
68817 cmp r2, #0
68818 ldrneh lr, [r5, #0]
68819 ldr r7, [sp, #68]
68820 add r1, r1, #1
68821 strneh lr, [sl, #0] @ movhi
68822 add r0, r0, r7
68823 cmp r4, r1
68824 mov ip, r0, asr #8
68825 add sl, sl, #2
68826 add r5, r5, #2
68827 bgt .L21437
68828 b .L21367
68829.L21428:
68830 ldr r2, [sp, #20]
68831 cmp r4, #0
68832 mov r3, r2, asl #22
68833 ldr r2, .L22220+40
68834 mov r3, r3, lsr #22
68835 add r3, r2, r3, asl #5
68836 str r3, [sp, #96]
68837 ble .L21367
68838 mov r3, r8, asl #16
68839 mov r3, r3, asr #16
68840 str r3, [sp, #72]
68841 mul r2, r0, r1
68842 mul r3, r0, r6
68843 ldr r1, [sp, #72]
68844 ldr r0, [sp, #68]
68845 mul r1, r7, r1
68846 mul r0, r7, r0
68847 ldr r6, [sp, #92]
68848 rsb r3, r0, r3
68849 rsb r2, r1, r2
68850 add r7, r6, r3
68851 ldr r0, [sp, #112]
68852 add r6, ip, r2
68853 mov lr, r7, asr #8
68854 mov ip, r6, asr #8
68855 cmp lr, r0
68856 cmpcc ip, fp
68857 movcs r3, #0
68858 movcc r3, #1
68859 movcs r8, r3
68860 bcs .L21447
68861 b .L22218
68862.L21448:
68863 ldr r1, [sp, #112]
68864 cmp lr, r1
68865 cmpcc ip, fp
68866 bcc .L21449
68867.L21447:
68868 ldr r2, [sp, #68]
68869 ldr r3, [sp, #72]
68870 add r8, r8, #1
68871 add r7, r7, r2
68872 add r6, r6, r3
68873 cmp r4, r8
68874 mov lr, r7, asr #8
68875 mov ip, r6, asr #8
68876 add sl, sl, #2
68877 add r5, r5, #2
68878 bne .L21448
68879 b .L21367
68880.L21405:
68881 ldr r6, [sp, #112]
68882 cmp ip, r6
68883 bcs .L21367
68884.L22182:
68885 mov r3, ip, asr #3
68886 and r1, ip, #7
68887 add r3, r9, r3, asl #6
68888 ldrb r2, [r3, r1] @ zero_extendqisi2
68889 ldr r7, [sp, #64]
68890 cmp r2, #0
68891 ldrneh r1, [r5, #0]
68892 add lr, lr, #1
68893 strneh r1, [sl, #0] @ movhi
68894 add r0, r0, r7
68895 cmp r4, lr
68896 mov ip, r0, asr #8
68897 add sl, sl, #2
68898 add r5, r5, #2
68899 bgt .L21405
68900 b .L21367
68901.L21396:
68902 ldr r2, [sp, #20]
68903 cmp r4, #0
68904 mov r3, r2, asl #22
68905 ldr r2, .L22220+40
68906 mov r3, r3, lsr #22
68907 add r3, r2, r3, asl #5
68908 str r3, [sp, #100]
68909 ble .L21367
68910 mov r3, r8, asl #16
68911 mul r2, r0, r1
68912 mov r9, r3, asr #16
68913 mul r3, r0, r6
68914 ldr r0, [sp, #64]
68915 mul r1, r9, r7
68916 mul r0, r7, r0
68917 ldr r6, [sp, #104]
68918 rsb r3, r0, r3
68919 rsb r2, r1, r2
68920 add r7, r6, r3
68921 ldr r0, [sp, #112]
68922 add r6, ip, r2
68923 mov lr, r7, asr #8
68924 mov ip, r6, asr #8
68925 cmp lr, r0
68926 cmpcc ip, fp
68927 movcs r3, #0
68928 movcc r3, #1
68929 movcs r8, r3
68930 bcs .L21412
68931 b .L22219
68932.L21413:
68933 ldr r1, [sp, #112]
68934 cmp lr, r1
68935 cmpcc ip, fp
68936 bcc .L21414
68937.L21412:
68938 ldr r2, [sp, #64]
68939 add r8, r8, #1
68940 add r7, r7, r2
68941 add r6, r6, r9
68942 cmp r4, r8
68943 mov lr, r7, asr #8
68944 mov ip, r6, asr #8
68945 add sl, sl, #2
68946 add r5, r5, #2
68947 bne .L21413
68948 b .L21367
68949.L21460:
68950 ldr r6, [sp, #20]
68951 mov r2, r0, lsr #3
68952 mov r3, r6, asl #22
68953 mov r3, r3, lsr #22
68954 add r3, r3, r2, asl #5
68955 and r1, r0, #7
68956 ldr r7, [sp, #16]
68957 add r1, r1, r3, asl #3
68958 ldr r3, .L22220+40
68959 cmp r9, r7
68960 add r0, r3, r1, asl #2
68961 bge .L21465
68962 ldr r1, [sp, #112]
68963 rsb ip, r9, r7
68964 rsb lr, ip, r1
68965 cmp lr, #0
68966 ble .L21367
68967 ldr r2, [sp, #12]
68968 add r3, r9, r1
68969 cmp r2, r3
68970 bhi .L21468
68971 mov r3, ip, lsr #3
68972 mov r1, r3, asl #5
68973 ands r3, ip, #7
68974 add r6, r0, r1
68975 bne .L21470
68976 ldr r8, [sp, #108]
68977 ldr r7, [sp, #88]
68978.L21472:
68979 movs lr, r8, lsr #3
68980 beq .L21489
68981 mov r1, r5
68982 mov r2, r7
68983 mov r0, r6
68984 mov ip, #0
68985.L21491:
68986 ldr r3, [r0, #0]
68987 cmp r3, #0
68988 beq .L21492
68989 tst r3, #15
68990 ldrneh r4, [r1, #0]
68991 strneh r4, [r2, #0] @ movhi
68992 tst r3, #240
68993 ldrneh r4, [r1, #2]
68994 strneh r4, [r2, #2] @ movhi
68995 tst r3, #3840
68996 ldrneh r4, [r1, #4]
68997 strneh r4, [r2, #4] @ movhi
68998 tst r3, #61440
68999 ldrneh r4, [r1, #6]
69000 strneh r4, [r2, #6] @ movhi
69001 tst r3, #983040
69002 ldrneh r4, [r1, #8]
69003 strneh r4, [r2, #8] @ movhi
69004 tst r3, #15728640
69005 ldrneh r4, [r1, #10]
69006 strneh r4, [r2, #10] @ movhi
69007 tst r3, #251658240
69008 ldrneh r4, [r1, #12]
69009 strneh r4, [r2, #12] @ movhi
69010 movs r3, r3, lsr #28
69011 ldrneh r3, [r1, #14]
69012 strneh r3, [r2, #14] @ movhi
69013.L21492:
69014 add ip, ip, #1
69015 cmp ip, lr
69016 add r0, r0, #32
69017 add r2, r2, #16
69018 add r1, r1, #16
69019 bne .L21491
69020 mov r3, lr, asl #4
69021 add r7, r7, r3
69022 add r6, r6, lr, asl #5
69023 add r5, r5, r3
69024.L21489:
69025 ands r0, r8, #7
69026 beq .L21367
69027 ldr r3, [r6, #0]
69028 mov r1, #0
69029.L21511:
69030 tst r3, #15
69031 mov r2, r1, asl #1
69032 ldrneh r4, [r2, r5]
69033 add r1, r1, #1
69034 strneh r4, [r2, r7] @ movhi
69035 cmp r1, r0
69036 mov r3, r3, lsr #4
69037 bne .L21511
69038 b .L21367
69039.L21461:
69040 ldr ip, [sp, #20]
69041 ldr lr, [sp, #112]
69042 mov r3, ip, asl #22
69043 mov r1, r0, lsr #3
69044 subs r2, lr, #8
69045 mov r3, r3, lsr #22
69046 submi r2, lr, #1
69047 add r3, r3, r1, asl #5
69048 add r3, r3, r2, asr #3
69049 and r1, r0, #7
69050 ldr r0, [sp, #16]
69051 add r1, r1, r3, asl #3
69052 ldr r3, .L22220+40
69053 cmp r9, r0
69054 add r0, r3, r1, asl #2
69055 bge .L21595
69056 ldr r1, [sp, #16]
69057 rsb ip, r9, r1
69058 rsb r1, ip, lr
69059 cmp r1, #0
69060 ble .L21367
69061 ldr r2, [sp, #12]
69062 add r3, r9, lr
69063 cmp r2, r3
69064 bhi .L21598
69065 mov r3, ip, lsr #3
69066 ands r6, ip, #7
69067 sub r0, r0, r3, asl #5
69068 bne .L21600
69069 ldr r8, [sp, #108]
69070 ldr r1, [sp, #88]
69071.L21602:
69072 movs r3, r8, lsr #3
69073 beq .L21619
69074 mov lr, r5
69075 mov ip, r1
69076 mov r6, r0
69077 mov r7, #0
69078.L21621:
69079 ldr r2, [r6, #0]
69080 cmp r2, #0
69081 beq .L21622
69082 tst r2, #15
69083 ldrneh r4, [lr, #14]
69084 strneh r4, [ip, #14] @ movhi
69085 tst r2, #240
69086 ldrneh r4, [lr, #12]
69087 strneh r4, [ip, #12] @ movhi
69088 tst r2, #3840
69089 ldrneh r4, [lr, #10]
69090 strneh r4, [ip, #10] @ movhi
69091 tst r2, #61440
69092 ldrneh r4, [lr, #8]
69093 strneh r4, [ip, #8] @ movhi
69094 tst r2, #983040
69095 ldrneh r4, [lr, #6]
69096 strneh r4, [ip, #6] @ movhi
69097 tst r2, #15728640
69098 ldrneh r4, [lr, #4]
69099 strneh r4, [ip, #4] @ movhi
69100 tst r2, #251658240
69101 ldrneh r4, [lr, #2]
69102 strneh r4, [ip, #2] @ movhi
69103 movs r2, r2, lsr #28
69104 ldrneh r2, [lr, #0]
69105 strneh r2, [ip, #0] @ movhi
69106.L21622:
69107 add r7, r7, #1
69108 cmp r7, r3
69109 sub r6, r6, #32
69110 add ip, ip, #16
69111 add lr, lr, #16
69112 bne .L21621
69113 rsb r2, r3, r3, asl #27
69114 mov r3, r3, asl #4
69115 add r1, r1, r3
69116 add r0, r0, r2, asl #5
69117 add r5, r5, r3
69118.L21619:
69119 ands ip, r8, #7
69120 beq .L21367
69121 ldr r0, [r0, #0]
69122 mov r2, #0
69123.L21641:
69124 movs r3, r0, lsr #28
69125 mov r3, r2, asl #1
69126 ldrneh r4, [r3, r5]
69127 add r2, r2, #1
69128 strneh r4, [r3, r1] @ movhi
69129 cmp r2, ip
69130 mov r0, r0, asl #4
69131 bne .L21641
69132 b .L21367
69133.L21463:
69134 ldr lr, [sp, #112]
69135 ldr r3, [sp, #20]
69136 subs r2, lr, #8
69137 submi r2, lr, #1
69138 mov r1, r3, asl #22
69139 mov r2, r2, asr #3
69140 mov r3, r0, lsr #3
69141 add r2, r2, r3, asl #4
69142 mov r1, r1, lsr #22
69143 and r3, r0, #7
69144 add r1, r1, r2, asl #1
69145 add r3, r3, r1, asl #2
69146 ldr r4, [sp, #16]
69147 mov r0, r3, asl #3
69148 ldr r3, .L22220+40
69149 cmp r9, r4
69150 add r8, r0, r3
69151 bge .L21945
69152 rsb r0, r9, r4
69153 rsb lr, r0, lr
69154 cmp lr, #0
69155 ble .L21367
69156 ldr r6, [sp, #112]
69157 ldr r7, [sp, #12]
69158 add r3, r9, r6
69159 cmp r7, r3
69160 bhi .L21948
69161 mov r3, r0, lsr #3
69162 ands ip, r0, #7
69163 sub sl, r8, r3, asl #6
69164 bne .L21950
69165 ldr r8, [sp, #108]
69166 ldr r7, [sp, #88]
69167.L21952:
69168 movs r6, r8, lsr #3
69169 beq .L22010
69170 mov r0, r5
69171 mov r1, r7
69172 mov ip, sl
69173 mov lr, #0
69174.L22012:
69175 ldr r2, [ip, #4]
69176 cmp r2, #0
69177 beq .L22013
69178 tst r2, #255
69179 ldrneh r3, [r0, #6]
69180 strneh r3, [r1, #6] @ movhi
69181 mov r3, r2, lsr #8
69182 tst r3, #255
69183 ldrneh r4, [r0, #4]
69184 mov r3, r2, lsr #16
69185 strneh r4, [r1, #4] @ movhi
69186 tst r3, #255
69187 ldrneh r3, [r0, #2]
69188 strneh r3, [r1, #2] @ movhi
69189 movs r2, r2, lsr #24
69190 ldrneh r4, [r0, #0]
69191 strneh r4, [r1, #0] @ movhi
69192.L22013:
69193 ldr r2, [ip, #0]
69194 cmp r2, #0
69195 beq .L22022
69196 tst r2, #255
69197 ldrneh r3, [r0, #14]
69198 strneh r3, [r1, #14] @ movhi
69199 mov r3, r2, lsr #8
69200 tst r3, #255
69201 ldrneh r4, [r0, #12]
69202 mov r3, r2, lsr #16
69203 strneh r4, [r1, #12] @ movhi
69204 tst r3, #255
69205 ldrneh r3, [r0, #10]
69206 strneh r3, [r1, #10] @ movhi
69207 movs r2, r2, lsr #24
69208 ldrneh r4, [r0, #8]
69209 strneh r4, [r1, #8] @ movhi
69210.L22022:
69211 add lr, lr, #1
69212 cmp lr, r6
69213 sub ip, ip, #64
69214 add r1, r1, #16
69215 add r0, r0, #16
69216 bne .L22012
69217 mov r3, r6, asl #4
69218 rsb r2, r6, r6, asl #26
69219 add r7, r7, r3
69220 add sl, sl, r2, asl #6
69221 add r5, r5, r3
69222.L22010:
69223 ands ip, r8, #7
69224 beq .L21367
69225 cmp ip, #3
69226 ldrls r2, [sl, #4]
69227 bls .L22045
69228 ldr r2, [sl, #4]
69229 cmp r2, #0
69230 beq .L22035
69231 tst r2, #255
69232 ldrneh r6, [r5, #6]
69233 mov r3, r2, lsr #8
69234 strneh r6, [r7, #6] @ movhi
69235 tst r3, #255
69236 ldrneh lr, [r5, #4]
69237 mov r3, r2, lsr #16
69238 strneh lr, [r7, #4] @ movhi
69239 tst r3, #255
69240 ldrneh r0, [r5, #2]
69241 strneh r0, [r7, #2] @ movhi
69242 movs r2, r2, lsr #24
69243 ldrneh r1, [r5, #0]
69244 strneh r1, [r7, #0] @ movhi
69245.L22035:
69246 subs ip, ip, #4
69247 ldr r2, [sl, #0]
69248 addne r7, r7, #8
69249 addne r5, r5, #8
69250 beq .L21367
69251.L22045:
69252 mov r1, #0
69253.L22046:
69254 movs r3, r2, lsr #24
69255 mov r0, r1, asl #1
69256 ldrneh r4, [r0, r5]
69257 add r1, r1, #1
69258 strneh r4, [r0, r7] @ movhi
69259 cmp ip, r1
69260 mov r2, r2, asl #8
69261 bhi .L22046
69262 b .L21367
69263.L21462:
69264 ldr ip, [sp, #20]
69265 mov r1, r0, lsr #3
69266 mov r2, ip, asl #22
69267 mov r2, r2, lsr #22
69268 add r2, r2, r1, asl #5
69269 and r3, r0, #7
69270 add r3, r3, r2, asl #2
69271 ldr lr, [sp, #16]
69272 mov r0, r3, asl #3
69273 ldr r3, .L22220+40
69274 cmp r9, lr
69275 add r2, r0, r3
69276 bge .L21725
69277 ldr r1, [sp, #112]
69278 rsb r0, r9, lr
69279 rsb lr, r0, r1
69280 cmp lr, #0
69281 ble .L21367
69282 ldr r4, [sp, #12]
69283 add r3, r9, r1
69284 cmp r4, r3
69285 bhi .L21728
69286 mov r3, r0, lsr #3
69287 ands ip, r0, #7
69288 add sl, r2, r3, asl #6
69289 bne .L21730
69290 ldr r8, [sp, #108]
69291 ldr r7, [sp, #88]
69292.L21732:
69293 movs r6, r8, lsr #3
69294 beq .L21790
69295 mov r0, r5
69296 mov r1, r7
69297 mov ip, sl
69298 mov lr, #0
69299.L21792:
69300 ldr r2, [ip, #0]
69301 cmp r2, #0
69302 beq .L21793
69303 tst r2, #255
69304 ldrneh r3, [r0, #0]
69305 strneh r3, [r1, #0] @ movhi
69306 mov r3, r2, lsr #8
69307 tst r3, #255
69308 ldrneh r4, [r0, #2]
69309 mov r3, r2, lsr #16
69310 strneh r4, [r1, #2] @ movhi
69311 tst r3, #255
69312 ldrneh r3, [r0, #4]
69313 strneh r3, [r1, #4] @ movhi
69314 movs r2, r2, lsr #24
69315 ldrneh r4, [r0, #6]
69316 strneh r4, [r1, #6] @ movhi
69317.L21793:
69318 ldr r2, [ip, #4]
69319 cmp r2, #0
69320 beq .L21802
69321 tst r2, #255
69322 ldrneh r3, [r0, #8]
69323 strneh r3, [r1, #8] @ movhi
69324 mov r3, r2, lsr #8
69325 tst r3, #255
69326 ldrneh r4, [r0, #10]
69327 mov r3, r2, lsr #16
69328 strneh r4, [r1, #10] @ movhi
69329 tst r3, #255
69330 ldrneh r3, [r0, #12]
69331 strneh r3, [r1, #12] @ movhi
69332 movs r2, r2, lsr #24
69333 ldrneh r4, [r0, #14]
69334 strneh r4, [r1, #14] @ movhi
69335.L21802:
69336 add lr, lr, #1
69337 cmp lr, r6
69338 add ip, ip, #64
69339 add r1, r1, #16
69340 add r0, r0, #16
69341 bne .L21792
69342 mov r3, r6, asl #4
69343 add r7, r7, r3
69344 add sl, sl, r6, asl #6
69345 add r5, r5, r3
69346.L21790:
69347 ands r0, r8, #7
69348 beq .L21367
69349 cmp r0, #3
69350 ldrls r3, [sl, #0]
69351 bls .L21825
69352 ldr r2, [sl, #0]
69353 cmp r2, #0
69354 beq .L21815
69355 tst r2, #255
69356 ldrneh r6, [r5, #0]
69357 mov r3, r2, lsr #8
69358 strneh r6, [r7, #0] @ movhi
69359 tst r3, #255
69360 ldrneh ip, [r5, #2]
69361 mov r3, r2, lsr #16
69362 strneh ip, [r7, #2] @ movhi
69363 tst r3, #255
69364 ldrneh lr, [r5, #4]
69365 strneh lr, [r7, #4] @ movhi
69366 movs r2, r2, lsr #24
69367 ldrneh r1, [r5, #6]
69368 strneh r1, [r7, #6] @ movhi
69369.L21815:
69370 subs r0, r0, #4
69371 ldr r3, [sl, #4]
69372 addne r7, r7, #8
69373 addne r5, r5, #8
69374 beq .L21367
69375.L21825:
69376 mov r2, #0
69377.L21826:
69378 tst r3, #255
69379 mov r1, r2, asl #1
69380 ldrneh r4, [r1, r5]
69381 add r2, r2, #1
69382 strneh r4, [r1, r7] @ movhi
69383 cmp r0, r2
69384 mov r3, r3, lsr #8
69385 bhi .L21826
69386 b .L21367
69387.L21725:
69388 ldr ip, [sp, #112]
69389 ldr lr, [sp, #12]
69390 add r3, r9, ip
69391 cmp lr, r3
69392 bls .L22200
69393 cmp ip, #0
69394 add r3, ip, #7
69395 movge r3, ip
69396 movs r6, r3, asr #3
69397 beq .L21367
69398 ldr r7, [sp, #8]
69399 ldr r3, .L22220+48
69400 add r1, r7, r9, asl #1
69401 add r0, r0, r3
69402 mov lr, #0
69403 b .L21925
69404.L22201:
69405 add r2, r2, #64
69406 add r1, r1, #16
69407 add r5, r5, #16
69408.L21925:
69409 ldr ip, [r2, #0]
69410 cmp ip, #0
69411 beq .L21926
69412 tst ip, #255
69413 ldrneh r3, [r5, #0]
69414 strneh r3, [r1, #0] @ movhi
69415 mov r3, ip, lsr #8
69416 tst r3, #255
69417 ldrneh r4, [r5, #2]
69418 mov r3, ip, lsr #16
69419 strneh r4, [r1, #2] @ movhi
69420 tst r3, #255
69421 ldrneh r7, [r5, #4]
69422 strneh r7, [r1, #4] @ movhi
69423 movs ip, ip, lsr #24
69424 ldrneh ip, [r5, #6]
69425 strneh ip, [r1, #6] @ movhi
69426.L21926:
69427 ldr ip, [r0, #-60]
69428 cmp ip, #0
69429 beq .L21935
69430 tst ip, #255
69431 ldrneh r3, [r5, #8]
69432 strneh r3, [r1, #8] @ movhi
69433 mov r3, ip, lsr #8
69434 tst r3, #255
69435 ldrneh r4, [r5, #10]
69436 mov r3, ip, lsr #16
69437 strneh r4, [r1, #10] @ movhi
69438 tst r3, #255
69439 ldrneh r7, [r5, #12]
69440 strneh r7, [r1, #12] @ movhi
69441 movs ip, ip, lsr #24
69442 ldrneh ip, [r5, #14]
69443 strneh ip, [r1, #14] @ movhi
69444.L21935:
69445 add lr, lr, #1
69446 cmp r6, lr
69447 add r0, r0, #64
69448 bne .L22201
69449 b .L21367
69450.L21595:
69451 ldr ip, [sp, #12]
69452 add r3, r9, lr
69453 cmp ip, r3
69454 mov r7, lr
69455 bls .L22202
69456 cmp lr, #0
69457 add r3, lr, #7
69458 movge r3, lr
69459 movs r3, r3, asr #3
69460 mov r6, lr
69461 beq .L21367
69462 ldr r7, [sp, #8]
69463 mov ip, #0
69464 add r1, r7, r9, asl #1
69465 b .L21706
69466.L22221:
69467 .align 2
69468.L22220:
69469 .word io_registers
69470 .word obj_priority_count
69471 .word obj_priority_list
69472 .word bitmap_mode_renderers-12
69473 .word oam_ram
69474 .word obj_width_table
69475 .word palette_ram_converted
69476 .word layer_count
69477 .word layer_order
69478 .word obj_height_table
69479 .word vram+65536
69480 .word vram+65472
69481 .word vram+65600
69482.L22203:
69483 sub r0, r0, #32
69484 add r1, r1, #16
69485 add r5, r5, #16
69486.L21706:
69487 ldr r2, [r0, #0]
69488 cmp r2, #0
69489 beq .L21707
69490 tst r2, #15
69491 ldrneh lr, [r5, #14]
69492 strneh lr, [r1, #14] @ movhi
69493 tst r2, #240
69494 ldrneh r4, [r5, #12]
69495 strneh r4, [r1, #12] @ movhi
69496 tst r2, #3840
69497 ldrneh r6, [r5, #10]
69498 strneh r6, [r1, #10] @ movhi
69499 tst r2, #61440
69500 ldrneh r7, [r5, #8]
69501 strneh r7, [r1, #8] @ movhi
69502 tst r2, #983040
69503 ldrneh lr, [r5, #6]
69504 strneh lr, [r1, #6] @ movhi
69505 tst r2, #15728640
69506 ldrneh r4, [r5, #4]
69507 strneh r4, [r1, #4] @ movhi
69508 tst r2, #251658240
69509 ldrneh r6, [r5, #2]
69510 strneh r6, [r1, #2] @ movhi
69511 movs r2, r2, lsr #28
69512 ldrneh r7, [r5, #0]
69513 strneh r7, [r1, #0] @ movhi
69514.L21707:
69515 add ip, ip, #1
69516 cmp r3, ip
69517 bne .L22203
69518 b .L21367
69519.L21465:
69520 ldr r1, [sp, #112]
69521 ldr r2, [sp, #12]
69522 add r3, r9, r1
69523 cmp r2, r3
69524 bls .L22204
69525 cmp r1, #0
69526 add r3, r1, #7
69527 movge r3, r1
69528 movs r3, r3, asr #3
69529 mov r6, r1
69530 beq .L21367
69531 ldr r7, [sp, #8]
69532 mov r2, #0
69533 add r1, r7, r9, asl #1
69534 b .L21576
69535.L22205:
69536 add r0, r0, #32
69537 add r1, r1, #16
69538 add r5, r5, #16
69539.L21576:
69540 ldr ip, [r0, #0]
69541 cmp ip, #0
69542 beq .L21577
69543 tst ip, #15
69544 ldrneh lr, [r5, #0]
69545 strneh lr, [r1, #0] @ movhi
69546 tst ip, #240
69547 ldrneh r4, [r5, #2]
69548 strneh r4, [r1, #2] @ movhi
69549 tst ip, #3840
69550 ldrneh r6, [r5, #4]
69551 strneh r6, [r1, #4] @ movhi
69552 tst ip, #61440
69553 ldrneh r7, [r5, #6]
69554 strneh r7, [r1, #6] @ movhi
69555 tst ip, #983040
69556 ldrneh lr, [r5, #8]
69557 strneh lr, [r1, #8] @ movhi
69558 tst ip, #15728640
69559 ldrneh r4, [r5, #10]
69560 strneh r4, [r1, #10] @ movhi
69561 tst ip, #251658240
69562 ldrneh r6, [r5, #12]
69563 strneh r6, [r1, #12] @ movhi
69564 movs ip, ip, lsr #28
69565 ldrneh r7, [r5, #14]
69566 strneh r7, [r1, #14] @ movhi
69567.L21577:
69568 add r2, r2, #1
69569 cmp r3, r2
69570 bne .L22205
69571 b .L21367
69572.L21945:
69573 add r3, r9, lr
69574 mov ip, lr
69575 ldr lr, [sp, #12]
69576 cmp lr, r3
69577 bls .L22206
69578 cmp ip, #0
69579 add r3, ip, #7
69580 movge r3, ip
69581 movs lr, r3, asr #3
69582 mov r7, ip
69583 beq .L21367
69584 ldr ip, [sp, #8]
69585 ldr r3, .L22220+44
69586 add r1, ip, r9, asl #1
69587 add r0, r0, r3
69588 mov r2, #0
69589 b .L22145
69590.L22207:
69591 sub r8, r8, #64
69592 add r1, r1, #16
69593 add r5, r5, #16
69594.L22145:
69595 ldr ip, [r0, #68]
69596 cmp ip, #0
69597 beq .L22146
69598 tst ip, #255
69599 ldrneh r3, [r5, #6]
69600 strneh r3, [r1, #6] @ movhi
69601 mov r3, ip, lsr #8
69602 tst r3, #255
69603 ldrneh r4, [r5, #4]
69604 mov r3, ip, lsr #16
69605 strneh r4, [r1, #4] @ movhi
69606 tst r3, #255
69607 ldrneh r6, [r5, #2]
69608 strneh r6, [r1, #2] @ movhi
69609 movs ip, ip, lsr #24
69610 ldrneh r7, [r5, #0]
69611 strneh r7, [r1, #0] @ movhi
69612.L22146:
69613 ldr ip, [r8, #0]
69614 cmp ip, #0
69615 beq .L22155
69616 tst ip, #255
69617 ldrneh r3, [r5, #14]
69618 strneh r3, [r1, #14] @ movhi
69619 mov r3, ip, lsr #8
69620 tst r3, #255
69621 ldrneh r4, [r5, #12]
69622 mov r3, ip, lsr #16
69623 strneh r4, [r1, #12] @ movhi
69624 tst r3, #255
69625 ldrneh r6, [r5, #10]
69626 strneh r6, [r1, #10] @ movhi
69627 movs ip, ip, lsr #24
69628 ldrneh r7, [r5, #8]
69629 strneh r7, [r1, #8] @ movhi
69630.L22155:
69631 add r2, r2, #1
69632 cmp lr, r2
69633 sub r0, r0, #64
69634 bne .L22207
69635 b .L21367
69636.L22219:
69637 mov r8, #0
69638.L21414:
69639 ldr r0, [sp, #112]
69640 cmp ip, fp
69641 cmpcc lr, r0
69642 bcc .L22183
69643 b .L21367
69644.L21415:
69645 ldr r3, [sp, #112]
69646 cmp ip, fp
69647 cmpcc lr, r3
69648 bcs .L21367
69649.L22183:
69650 and r3, ip, #7
69651 mov r2, lr, asr #3
69652 mov r3, r3, asl #3
69653 mov r1, ip, asr #3
69654 add r3, r3, r2, asl #6
69655 ldr r0, [sp, #64]
69656 add r3, r3, r1, asl #10
69657 ldr r1, [sp, #100]
69658 add r7, r7, r0
69659 add r3, r3, r1
69660 and r0, lr, #7
69661 ldrb r2, [r3, r0] @ zero_extendqisi2
69662 add r8, r8, #1
69663 cmp r2, #0
69664 ldrneh r2, [r5, #0]
69665 add r6, r6, r9
69666 strneh r2, [sl, #0] @ movhi
69667 cmp r4, r8
69668 mov ip, r6, asr #8
69669 mov lr, r7, asr #8
69670 add sl, sl, #2
69671 add r5, r5, #2
69672 bgt .L21415
69673 b .L21367
69674.L22218:
69675 ldr r1, [sp, #112]
69676 mov r8, #0
69677.L21449:
69678 cmp ip, fp
69679 cmpcc lr, r1
69680 bcc .L22185
69681 b .L21367
69682.L21450:
69683 ldr r0, [sp, #112]
69684 cmp ip, fp
69685 cmpcc lr, r0
69686 bcs .L21367
69687.L22185:
69688 mov r3, lr, asr #1
69689 ldr r1, [sp, #96]
69690 and r3, r3, #3
69691 and r0, ip, #7
69692 str r3, [sp, #4]
69693 ldr r3, [sp, #96]
69694 add r0, r1, r0, asl #2
69695 and r1, ip, #7
69696 mov r2, lr, asr #1
69697 add r1, r3, r1, asl #2
69698 mov r3, ip, asr #3
69699 and r9, r2, #3
69700 mov r3, r3, asl #10
69701 mov r2, lr, asr #3
69702 tst lr, #1
69703 add r3, r3, r2, asl #5
69704 add r2, r0, r3
69705 movne ip, r9
69706 add r0, r1, r3
69707 ldreqb r3, [r0, r9] @ zero_extendqisi2
69708 ldrneb r3, [r2, ip] @ zero_extendqisi2
69709 andeq r0, r3, #15
69710 movne r0, r3, lsr #4
69711 cmp r0, #0
69712 ldrneh r2, [r5, #0]
69713 ldr lr, [sp, #68]
69714 ldr r1, [sp, #72]
69715 add r8, r8, #1
69716 strneh r2, [sl, #0] @ movhi
69717 add r7, r7, lr
69718 add r6, r6, r1
69719 cmp r4, r8
69720 mov lr, r7, asr #8
69721 mov ip, r6, asr #8
69722 add sl, sl, #2
69723 add r5, r5, #2
69724 bgt .L21450
69725 b .L21367
69726.L22206:
69727 rsb fp, r9, lr
69728 cmp fp, #0
69729 ble .L21367
69730 ldr r2, [sp, #8]
69731 movs sl, fp, lsr #3
69732 add r1, r2, r9, asl #1
69733 beq .L22104
69734 ldr r3, .L22220+44
69735 mov r6, r5
69736 add r0, r0, r3
69737 mov lr, r1
69738 mov r7, r8
69739 mov r2, #0
69740.L22106:
69741 ldr ip, [r0, #68]
69742 cmp ip, #0
69743 beq .L22107
69744 tst ip, #255
69745 ldrneh r3, [r6, #6]
69746 strneh r3, [lr, #6] @ movhi
69747 mov r3, ip, lsr #8
69748 tst r3, #255
69749 ldrneh r4, [r6, #4]
69750 mov r3, ip, lsr #16
69751 strneh r4, [lr, #4] @ movhi
69752 tst r3, #255
69753 ldrneh r3, [r6, #2]
69754 strneh r3, [lr, #2] @ movhi
69755 movs ip, ip, lsr #24
69756 ldrneh r4, [r6, #0]
69757 strneh r4, [lr, #0] @ movhi
69758.L22107:
69759 ldr ip, [r7, #0]
69760 cmp ip, #0
69761 beq .L22116
69762 tst ip, #255
69763 ldrneh r3, [r6, #14]
69764 strneh r3, [lr, #14] @ movhi
69765 mov r3, ip, lsr #8
69766 tst r3, #255
69767 ldrneh r4, [r6, #12]
69768 mov r3, ip, lsr #16
69769 strneh r4, [lr, #12] @ movhi
69770 tst r3, #255
69771 ldrneh r3, [r6, #10]
69772 strneh r3, [lr, #10] @ movhi
69773 movs ip, ip, lsr #24
69774 ldrneh r4, [r6, #8]
69775 strneh r4, [lr, #8] @ movhi
69776.L22116:
69777 add r2, r2, #1
69778 cmp sl, r2
69779 sub r7, r7, #64
69780 add lr, lr, #16
69781 add r6, r6, #16
69782 sub r0, r0, #64
69783 bne .L22106
69784 mov r3, sl, asl #4
69785 rsb r2, sl, sl, asl #26
69786 add r1, r1, r3
69787 add r8, r8, r2, asl #6
69788 add r5, r5, r3
69789.L22104:
69790 ands ip, fp, #7
69791 beq .L21367
69792 cmp ip, #3
69793 ldrls r2, [r8, #4]
69794 bls .L22139
69795 ldr r2, [r8, #4]
69796 cmp r2, #0
69797 beq .L22129
69798 tst r2, #255
69799 ldrneh r6, [r5, #6]
69800 mov r3, r2, lsr #8
69801 strneh r6, [r1, #6] @ movhi
69802 tst r3, #255
69803 ldrneh r7, [r5, #4]
69804 mov r3, r2, lsr #16
69805 strneh r7, [r1, #4] @ movhi
69806 tst r3, #255
69807 ldrneh lr, [r5, #2]
69808 strneh lr, [r1, #2] @ movhi
69809 movs r2, r2, lsr #24
69810 ldrneh r0, [r5, #0]
69811 strneh r0, [r1, #0] @ movhi
69812.L22129:
69813 subs ip, ip, #4
69814 ldr r2, [r8, #0]
69815 addne r1, r1, #8
69816 addne r5, r5, #8
69817 beq .L21367
69818.L22139:
69819 mov r3, #0
69820.L22140:
69821 movs r4, r2, lsr #24
69822 mov r0, r3, asl #1
69823 ldrneh r6, [r0, r5]
69824 add r3, r3, #1
69825 strneh r6, [r0, r1] @ movhi
69826 cmp ip, r3
69827 mov r2, r2, asl #8
69828 bhi .L22140
69829 b .L21367
69830.L22202:
69831 rsb r8, r9, ip
69832 cmp r8, #0
69833 ble .L21367
69834 ldr lr, [sp, #8]
69835 movs r3, r8, lsr #3
69836 add r1, lr, r9, asl #1
69837 beq .L21679
69838 mov lr, r5
69839 mov ip, r1
69840 mov r6, r0
69841 mov r7, #0
69842.L21681:
69843 ldr r2, [r6, #0]
69844 cmp r2, #0
69845 beq .L21682
69846 tst r2, #15
69847 ldrneh r4, [lr, #14]
69848 strneh r4, [ip, #14] @ movhi
69849 tst r2, #240
69850 ldrneh r4, [lr, #12]
69851 strneh r4, [ip, #12] @ movhi
69852 tst r2, #3840
69853 ldrneh r4, [lr, #10]
69854 strneh r4, [ip, #10] @ movhi
69855 tst r2, #61440
69856 ldrneh r4, [lr, #8]
69857 strneh r4, [ip, #8] @ movhi
69858 tst r2, #983040
69859 ldrneh r4, [lr, #6]
69860 strneh r4, [ip, #6] @ movhi
69861 tst r2, #15728640
69862 ldrneh r4, [lr, #4]
69863 strneh r4, [ip, #4] @ movhi
69864 tst r2, #251658240
69865 ldrneh r4, [lr, #2]
69866 strneh r4, [ip, #2] @ movhi
69867 movs r2, r2, lsr #28
69868 ldrneh r2, [lr, #0]
69869 strneh r2, [ip, #0] @ movhi
69870.L21682:
69871 add r7, r7, #1
69872 cmp r7, r3
69873 sub r6, r6, #32
69874 add ip, ip, #16
69875 add lr, lr, #16
69876 bne .L21681
69877 rsb r2, r3, r3, asl #27
69878 mov r3, r3, asl #4
69879 add r1, r1, r3
69880 add r0, r0, r2, asl #5
69881 add r5, r5, r3
69882.L21679:
69883 ands ip, r8, #7
69884 beq .L21367
69885 ldr r0, [r0, #0]
69886 mov r2, #0
69887.L21701:
69888 movs r3, r0, lsr #28
69889 mov r3, r2, asl #1
69890 ldrneh r4, [r3, r5]
69891 add r2, r2, #1
69892 strneh r4, [r3, r1] @ movhi
69893 cmp r2, ip
69894 mov r0, r0, asl #4
69895 bne .L21701
69896 b .L21367
69897.L22204:
69898 rsb r8, r9, r2
69899 cmp r8, #0
69900 ble .L21367
69901 ldr r3, [sp, #8]
69902 movs r7, r8, lsr #3
69903 add r1, r3, r9, asl #1
69904 beq .L21549
69905 mov lr, r5
69906 mov ip, r1
69907 mov r6, r0
69908 mov r2, #0
69909.L21551:
69910 ldr r3, [r6, #0]
69911 cmp r3, #0
69912 beq .L21552
69913 tst r3, #15
69914 ldrneh r4, [lr, #0]
69915 strneh r4, [ip, #0] @ movhi
69916 tst r3, #240
69917 ldrneh r4, [lr, #2]
69918 strneh r4, [ip, #2] @ movhi
69919 tst r3, #3840
69920 ldrneh r4, [lr, #4]
69921 strneh r4, [ip, #4] @ movhi
69922 tst r3, #61440
69923 ldrneh r4, [lr, #6]
69924 strneh r4, [ip, #6] @ movhi
69925 tst r3, #983040
69926 ldrneh r4, [lr, #8]
69927 strneh r4, [ip, #8] @ movhi
69928 tst r3, #15728640
69929 ldrneh r4, [lr, #10]
69930 strneh r4, [ip, #10] @ movhi
69931 tst r3, #251658240
69932 ldrneh r4, [lr, #12]
69933 strneh r4, [ip, #12] @ movhi
69934 movs r3, r3, lsr #28
69935 ldrneh r3, [lr, #14]
69936 strneh r3, [ip, #14] @ movhi
69937.L21552:
69938 add r2, r2, #1
69939 cmp r2, r7
69940 add r6, r6, #32
69941 add ip, ip, #16
69942 add lr, lr, #16
69943 bne .L21551
69944 mov r3, r7, asl #4
69945 add r1, r1, r3
69946 add r0, r0, r7, asl #5
69947 add r5, r5, r3
69948.L21549:
69949 ands ip, r8, #7
69950 beq .L21367
69951 ldr r0, [r0, #0]
69952 mov r2, #0
69953.L21571:
69954 tst r0, #15
69955 mov r3, r2, asl #1
69956 ldrneh r4, [r3, r5]
69957 add r2, r2, #1
69958 strneh r4, [r3, r1] @ movhi
69959 cmp r2, ip
69960 mov r0, r0, lsr #4
69961 bne .L21571
69962 b .L21367
69963.L22200:
69964 rsb fp, r9, lr
69965 cmp fp, #0
69966 ble .L21367
69967 ldr r3, [sp, #8]
69968 movs sl, fp, lsr #3
69969 add r1, r3, r9, asl #1
69970 beq .L21884
69971 ldr r3, .L22220+48
69972 mov r6, r5
69973 add r0, r0, r3
69974 mov lr, r1
69975 mov r7, r2
69976 mov r8, #0
69977.L21886:
69978 ldr ip, [r7, #0]
69979 cmp ip, #0
69980 beq .L21887
69981 tst ip, #255
69982 ldrneh r4, [r6, #0]
69983 mov r3, ip, lsr #8
69984 strneh r4, [lr, #0] @ movhi
69985 tst r3, #255
69986 ldrneh r3, [r6, #2]
69987 strneh r3, [lr, #2] @ movhi
69988 mov r3, ip, lsr #16
69989 tst r3, #255
69990 ldrneh r4, [r6, #4]
69991 strneh r4, [lr, #4] @ movhi
69992 movs ip, ip, lsr #24
69993 ldrneh ip, [r6, #6]
69994 strneh ip, [lr, #6] @ movhi
69995.L21887:
69996 ldr ip, [r0, #-60]
69997 cmp ip, #0
69998 beq .L21896
69999 tst ip, #255
70000 ldrneh r3, [r6, #8]
70001 strneh r3, [lr, #8] @ movhi
70002 mov r3, ip, lsr #8
70003 tst r3, #255
70004 ldrneh r4, [r6, #10]
70005 mov r3, ip, lsr #16
70006 strneh r4, [lr, #10] @ movhi
70007 tst r3, #255
70008 ldrneh r3, [r6, #12]
70009 strneh r3, [lr, #12] @ movhi
70010 movs ip, ip, lsr #24
70011 ldrneh r4, [r6, #14]
70012 strneh r4, [lr, #14] @ movhi
70013.L21896:
70014 add r8, r8, #1
70015 cmp r8, sl
70016 add r7, r7, #64
70017 add lr, lr, #16
70018 add r6, r6, #16
70019 add r0, r0, #64
70020 bne .L21886
70021 mov r3, sl, asl #4
70022 add r1, r1, r3
70023 add r2, r2, sl, asl #6
70024 add r5, r5, r3
70025.L21884:
70026 ands ip, fp, #7
70027 beq .L21367
70028 cmp ip, #3
70029 ldrls r3, [r2, #0]
70030 bls .L21919
70031 ldr r0, [r2, #0]
70032 cmp r0, #0
70033 beq .L21909
70034 tst r0, #255
70035 ldrneh r6, [r5, #0]
70036 mov r3, r0, lsr #8
70037 strneh r6, [r1, #0] @ movhi
70038 tst r3, #255
70039 ldrneh r7, [r5, #2]
70040 mov r3, r0, lsr #16
70041 strneh r7, [r1, #2] @ movhi
70042 tst r3, #255
70043 ldrneh lr, [r5, #4]
70044 strneh lr, [r1, #4] @ movhi
70045 movs r0, r0, lsr #24
70046 ldrneh r0, [r5, #6]
70047 strneh r0, [r1, #6] @ movhi
70048.L21909:
70049 subs ip, ip, #4
70050 ldr r3, [r2, #4]
70051 addne r1, r1, #8
70052 addne r5, r5, #8
70053 beq .L21367
70054.L21919:
70055 mov r2, #0
70056.L21920:
70057 tst r3, #255
70058 mov r0, r2, asl #1
70059 ldrneh r4, [r0, r5]
70060 add r2, r2, #1
70061 strneh r4, [r0, r1] @ movhi
70062 cmp ip, r2
70063 mov r3, r3, lsr #8
70064 bhi .L21920
70065 b .L21367
70066.L21468:
70067 mov r3, ip, lsr #3
70068 mov r1, r3, asl #5
70069 ands r3, ip, #7
70070 ldreq r3, [sp, #88]
70071 add ip, r0, r1
70072 bne .L22208
70073.L21517:
70074 movs r0, lr, lsr #3
70075 beq .L21367
70076 mov r1, #0
70077 b .L21527
70078.L22209:
70079 add ip, ip, #32
70080 add r3, r3, #16
70081 add r5, r5, #16
70082.L21527:
70083 ldr r2, [ip, #0]
70084 cmp r2, #0
70085 beq .L21528
70086 tst r2, #15
70087 ldrneh r4, [r5, #0]
70088 strneh r4, [r3, #0] @ movhi
70089 tst r2, #240
70090 ldrneh r6, [r5, #2]
70091 strneh r6, [r3, #2] @ movhi
70092 tst r2, #3840
70093 ldrneh r7, [r5, #4]
70094 strneh r7, [r3, #4] @ movhi
70095 tst r2, #61440
70096 ldrneh lr, [r5, #6]
70097 strneh lr, [r3, #6] @ movhi
70098 tst r2, #983040
70099 ldrneh r4, [r5, #8]
70100 strneh r4, [r3, #8] @ movhi
70101 tst r2, #15728640
70102 ldrneh r6, [r5, #10]
70103 strneh r6, [r3, #10] @ movhi
70104 tst r2, #251658240
70105 ldrneh r7, [r5, #12]
70106 strneh r7, [r3, #12] @ movhi
70107 movs r2, r2, lsr #28
70108 ldrneh lr, [r5, #14]
70109 strneh lr, [r3, #14] @ movhi
70110.L21528:
70111 add r1, r1, #1
70112 cmp r1, r0
70113 bne .L22209
70114 b .L21367
70115.L21728:
70116 ands r1, r0, #7
70117 mov r3, r0, lsr #3
70118 add r0, r2, r3, asl #6
70119 ldreq r1, [sp, #88]
70120 bne .L22210
70121.L21832:
70122 movs lr, lr, lsr #3
70123 beq .L21367
70124 mov ip, #0
70125 b .L21861
70126.L22211:
70127 add r0, r0, #64
70128 add r1, r1, #16
70129 add r5, r5, #16
70130.L21861:
70131 ldr r2, [r0, #0]
70132 cmp r2, #0
70133 beq .L21862
70134 tst r2, #255
70135 ldrneh r3, [r5, #0]
70136 strneh r3, [r1, #0] @ movhi
70137 mov r3, r2, lsr #8
70138 tst r3, #255
70139 ldrneh r4, [r5, #2]
70140 mov r3, r2, lsr #16
70141 strneh r4, [r1, #2] @ movhi
70142 tst r3, #255
70143 ldrneh r6, [r5, #4]
70144 strneh r6, [r1, #4] @ movhi
70145 movs r2, r2, lsr #24
70146 ldrneh r7, [r5, #6]
70147 strneh r7, [r1, #6] @ movhi
70148.L21862:
70149 ldr r2, [r0, #4]
70150 cmp r2, #0
70151 beq .L21871
70152 tst r2, #255
70153 ldrneh r3, [r5, #8]
70154 strneh r3, [r1, #8] @ movhi
70155 mov r3, r2, lsr #8
70156 tst r3, #255
70157 ldrneh r4, [r5, #10]
70158 mov r3, r2, lsr #16
70159 strneh r4, [r1, #10] @ movhi
70160 tst r3, #255
70161 ldrneh r6, [r5, #12]
70162 strneh r6, [r1, #12] @ movhi
70163 movs r2, r2, lsr #24
70164 ldrneh r7, [r5, #14]
70165 strneh r7, [r1, #14] @ movhi
70166.L21871:
70167 add ip, ip, #1
70168 cmp ip, lr
70169 bne .L22211
70170 b .L21367
70171.L21948:
70172 ands r2, r0, #7
70173 mov r3, r0, lsr #3
70174 sub r0, r8, r3, asl #6
70175 ldreq r1, [sp, #88]
70176 bne .L22212
70177.L22052:
70178 movs lr, lr, lsr #3
70179 beq .L21367
70180 mov ip, #0
70181 b .L22081
70182.L22213:
70183 sub r0, r0, #64
70184 add r1, r1, #16
70185 add r5, r5, #16
70186.L22081:
70187 ldr r2, [r0, #4]
70188 cmp r2, #0
70189 beq .L22082
70190 tst r2, #255
70191 ldrneh r3, [r5, #6]
70192 strneh r3, [r1, #6] @ movhi
70193 mov r3, r2, lsr #8
70194 tst r3, #255
70195 ldrneh r4, [r5, #4]
70196 mov r3, r2, lsr #16
70197 strneh r4, [r1, #4] @ movhi
70198 tst r3, #255
70199 ldrneh r6, [r5, #2]
70200 strneh r6, [r1, #2] @ movhi
70201 movs r2, r2, lsr #24
70202 ldrneh r7, [r5, #0]
70203 strneh r7, [r1, #0] @ movhi
70204.L22082:
70205 ldr r2, [r0, #0]
70206 cmp r2, #0
70207 beq .L22091
70208 tst r2, #255
70209 ldrneh r3, [r5, #14]
70210 strneh r3, [r1, #14] @ movhi
70211 mov r3, r2, lsr #8
70212 tst r3, #255
70213 ldrneh r4, [r5, #12]
70214 mov r3, r2, lsr #16
70215 strneh r4, [r1, #12] @ movhi
70216 tst r3, #255
70217 ldrneh r6, [r5, #10]
70218 strneh r6, [r1, #10] @ movhi
70219 movs r2, r2, lsr #24
70220 ldrneh r7, [r5, #8]
70221 strneh r7, [r1, #8] @ movhi
70222.L22091:
70223 add ip, ip, #1
70224 cmp ip, lr
70225 bne .L22213
70226 b .L21367
70227.L21598:
70228 mov r3, ip, lsr #3
70229 ands r2, ip, #7
70230 sub r0, r0, r3, asl #5
70231 ldreq r3, [sp, #88]
70232 bne .L22214
70233.L21647:
70234 movs r1, r1, lsr #3
70235 beq .L21367
70236 mov r2, #0
70237 b .L21657
70238.L22215:
70239 sub r0, r0, #32
70240 add r3, r3, #16
70241 add r5, r5, #16
70242.L21657:
70243 ldr ip, [r0, #0]
70244 cmp ip, #0
70245 beq .L21658
70246 tst ip, #15
70247 ldrneh r7, [r5, #14]
70248 strneh r7, [r3, #14] @ movhi
70249 tst ip, #240
70250 ldrneh lr, [r5, #12]
70251 strneh lr, [r3, #12] @ movhi
70252 tst ip, #3840
70253 ldrneh r4, [r5, #10]
70254 strneh r4, [r3, #10] @ movhi
70255 tst ip, #61440
70256 ldrneh r6, [r5, #8]
70257 strneh r6, [r3, #8] @ movhi
70258 tst ip, #983040
70259 ldrneh r7, [r5, #6]
70260 strneh r7, [r3, #6] @ movhi
70261 tst ip, #15728640
70262 ldrneh lr, [r5, #4]
70263 strneh lr, [r3, #4] @ movhi
70264 tst ip, #251658240
70265 ldrneh r4, [r5, #2]
70266 strneh r4, [r3, #2] @ movhi
70267 movs ip, ip, lsr #28
70268 ldrneh r6, [r5, #0]
70269 strneh r6, [r3, #0] @ movhi
70270.L21658:
70271 add r2, r2, #1
70272 cmp r2, r1
70273 bne .L22215
70274 b .L21367
70275.L22214:
70276 rsbs r6, r2, #8
70277 ldr ip, [r0, #0]
70278 ldreq r3, [sp, #88]
70279 beq .L21650
70280 mov r3, r2, asl #2
70281 mov r3, ip, asl r3
70282 mov lr, #0
70283.L21651:
70284 movs r7, r3, lsr #28
70285 mov ip, lr, asl #1
70286 ldrneh r4, [ip, r5]
70287 ldrne r2, [sp, #88]
70288 add lr, lr, #1
70289 strneh r4, [ip, r2] @ movhi
70290 cmp lr, r6
70291 mov r3, r3, asl #4
70292 bne .L21651
70293 mov r3, r6, asl #1
70294 ldr r6, [sp, #88]
70295 add r5, r5, r3
70296 add r3, r6, r3
70297.L21650:
70298 sub r0, r0, #32
70299 b .L21647
70300.L22212:
70301 cmp r2, #3
70302 rsb ip, r2, #8
70303 bls .L22053
70304 cmp ip, #0
70305 ldr r1, [r0, #0]
70306 ldreq r1, [sp, #88]
70307 beq .L22057
70308 mov r3, r2, asl #3
70309 sub r3, r3, #32
70310 mov r3, r1, asl r3
70311 mov r1, #0
70312.L22058:
70313 movs r6, r3, lsr #24
70314 mov r2, r1, asl #1
70315 ldrneh r4, [r2, r5]
70316 ldrne r7, [sp, #88]
70317 add r1, r1, #1
70318 strneh r4, [r2, r7] @ movhi
70319 cmp r1, ip
70320 mov r3, r3, asl #8
70321 bne .L22058
70322 ldr r6, [sp, #88]
70323 mov r3, ip, asl #1
70324 add r5, r5, r3
70325 add r1, r6, r3
70326.L22057:
70327 sub r0, r0, #64
70328 b .L22052
70329.L22210:
70330 cmp r1, #3
70331 rsb ip, r1, #8
70332 bls .L21833
70333 cmp ip, #0
70334 ldr r2, [r0, #4]
70335 ldreq r1, [sp, #88]
70336 beq .L21837
70337 mov r3, r1, asl #3
70338 sub r3, r3, #32
70339 mov r3, r2, lsr r3
70340 mov r1, #0
70341.L21838:
70342 tst r3, #255
70343 mov r2, r1, asl #1
70344 ldrneh r7, [r2, r5]
70345 ldrne r6, [sp, #88]
70346 add r1, r1, #1
70347 strneh r7, [r2, r6] @ movhi
70348 cmp ip, r1
70349 mov r3, r3, lsr #8
70350 bne .L21838
70351 mov r3, ip, asl #1
70352 ldr ip, [sp, #88]
70353 add r5, r5, r3
70354 add r1, ip, r3
70355.L21837:
70356 add r0, r0, #64
70357 b .L21832
70358.L22208:
70359 rsbs r6, r3, #8
70360 ldr r0, [r0, r1]
70361 ldreq r3, [sp, #88]
70362 beq .L21520
70363 mov r3, r3, asl #2
70364 mov r0, r0, lsr r3
70365 mov r2, #0
70366.L21521:
70367 tst r0, #15
70368 mov r3, r2, asl #1
70369 ldrneh r1, [r3, r5]
70370 ldrne r7, [sp, #88]
70371 add r2, r2, #1
70372 strneh r1, [r3, r7] @ movhi
70373 cmp r6, r2
70374 mov r0, r0, lsr #4
70375 bne .L21521
70376 ldr r2, [sp, #88]
70377 mov r3, r6, asl #1
70378 add r5, r5, r3
70379 add r3, r2, r3
70380.L21520:
70381 add ip, ip, #32
70382 b .L21517
70383.L21950:
70384 ldr lr, [sp, #108]
70385 rsb r0, ip, #8
70386 cmp lr, r0
70387 bge .L21953
70388 cmp lr, #0
70389 ble .L21367
70390 cmp ip, #3
70391 bls .L21956
70392 ldr r2, [sl, #0]
70393 mov r3, ip, asl #3
70394 sub r3, r3, #32
70395 mov r2, r2, asl r3
70396 mov r1, #0
70397.L21959:
70398 movs r0, r2, lsr #24
70399 mov r3, r1, asl #1
70400 ldrneh r6, [r3, r5]
70401 ldrne r4, [sp, #88]
70402 ldr r7, [sp, #108]
70403 add r1, r1, #1
70404 strneh r6, [r3, r4] @ movhi
70405 cmp r7, r1
70406 mov r2, r2, asl #8
70407 bne .L21959
70408 b .L21367
70409.L21730:
70410 ldr r6, [sp, #108]
70411 rsb r0, ip, #8
70412 cmp r6, r0
70413 bge .L21733
70414 cmp r6, #0
70415 ble .L21367
70416 cmp ip, #3
70417 bls .L21736
70418 ldr r2, [sl, #4]
70419 mov r3, ip, asl #3
70420 sub r3, r3, #32
70421 mov r1, r2, lsr r3
70422 mov r2, #0
70423.L21739:
70424 tst r1, #255
70425 mov r3, r2, asl #1
70426 ldrneh ip, [r3, r5]
70427 ldrne r7, [sp, #88]
70428 ldr lr, [sp, #108]
70429 add r2, r2, #1
70430 strneh ip, [r3, r7] @ movhi
70431 cmp lr, r2
70432 mov r1, r1, lsr #8
70433 bne .L21739
70434 b .L21367
70435.L21470:
70436 ldr r4, [sp, #108]
70437 rsb ip, r3, #8
70438 cmp r4, ip
70439 bge .L21473
70440 cmp r4, #0
70441 ble .L21367
70442 ldr r2, [r0, r1]
70443 mov r3, r3, asl #2
70444 mov r0, r2, lsr r3
70445 mov r2, #0
70446.L21477:
70447 tst r0, #15
70448 mov r3, r2, asl #1
70449 ldrneh r7, [r3, r5]
70450 ldrne r6, [sp, #88]
70451 ldr ip, [sp, #108]
70452 add r2, r2, #1
70453 strneh r7, [r3, r6] @ movhi
70454 cmp ip, r2
70455 mov r0, r0, lsr #4
70456 bne .L21477
70457 b .L21367
70458.L21600:
70459 ldr r3, [sp, #108]
70460 rsb lr, r6, #8
70461 cmp r3, lr
70462 bge .L21603
70463 cmp r3, #0
70464 ble .L21367
70465 ldr r2, [r0, #0]
70466 mov r3, r6, asl #2
70467 mov r0, r2, asl r3
70468 mov r2, #0
70469.L21607:
70470 movs r4, r0, lsr #28
70471 mov r3, r2, asl #1
70472 ldrneh r7, [r3, r5]
70473 ldrne r6, [sp, #88]
70474 ldr ip, [sp, #108]
70475 add r2, r2, #1
70476 strneh r7, [r3, r6] @ movhi
70477 cmp ip, r2
70478 mov r0, r0, asl #4
70479 bne .L21607
70480 b .L21367
70481.L22053:
70482 subs r6, ip, #4
70483 ldr r1, [r0, #4]
70484 ldreq r1, [sp, #88]
70485 beq .L22065
70486 mov r3, r2, asl #3
70487 sub r3, r3, #32
70488 mov r3, r1, asl r3
70489 mov r1, #0
70490.L22066:
70491 movs r7, r3, lsr #24
70492 mov r2, r1, asl #1
70493 ldrneh r7, [r2, r5]
70494 ldrne r4, [sp, #88]
70495 add r1, r1, #1
70496 strneh r7, [r2, r4] @ movhi
70497 cmp r1, r6
70498 mov r3, r3, asl #8
70499 bne .L22066
70500 mov r3, ip, asl #1
70501 ldr ip, [sp, #88]
70502 add r2, r5, r3
70503 add r3, ip, r3
70504 sub r5, r2, #8
70505 sub r1, r3, #8
70506.L22065:
70507 ldr r2, [r0, #0]
70508 cmp r2, #0
70509 beq .L22071
70510 tst r2, #255
70511 ldrneh r3, [r5, #6]
70512 strneh r3, [r1, #6] @ movhi
70513 mov r3, r2, lsr #8
70514 tst r3, #255
70515 ldrneh r4, [r5, #4]
70516 mov r3, r2, lsr #16
70517 strneh r4, [r1, #4] @ movhi
70518 tst r3, #255
70519 ldrneh r6, [r5, #2]
70520 strneh r6, [r1, #2] @ movhi
70521 movs r2, r2, lsr #24
70522 ldrneh r7, [r5, #0]
70523 strneh r7, [r1, #0] @ movhi
70524.L22071:
70525 add r1, r1, #8
70526 add r5, r5, #8
70527 sub r0, r0, #64
70528 b .L22052
70529.L21833:
70530 subs r6, ip, #4
70531 ldr r2, [r0, #0]
70532 ldreq r1, [sp, #88]
70533 beq .L21845
70534 mov r3, r1, asl #3
70535 mov r3, r2, lsr r3
70536 mov r1, #0
70537.L21846:
70538 tst r3, #255
70539 mov r2, r1, asl #1
70540 ldrneh r7, [r2, r5]
70541 ldrne r4, [sp, #88]
70542 add r1, r1, #1
70543 strneh r7, [r2, r4] @ movhi
70544 cmp r1, r6
70545 mov r3, r3, lsr #8
70546 bne .L21846
70547 mov r3, ip, asl #1
70548 ldr ip, [sp, #88]
70549 add r2, r5, r3
70550 add r3, ip, r3
70551 sub r5, r2, #8
70552 sub r1, r3, #8
70553.L21845:
70554 ldr r2, [r0, #4]
70555 cmp r2, #0
70556 beq .L21851
70557 tst r2, #255
70558 ldrneh r3, [r5, #0]
70559 strneh r3, [r1, #0] @ movhi
70560 mov r3, r2, lsr #8
70561 tst r3, #255
70562 ldrneh r4, [r5, #2]
70563 mov r3, r2, lsr #16
70564 strneh r4, [r1, #2] @ movhi
70565 tst r3, #255
70566 ldrneh r6, [r5, #4]
70567 strneh r6, [r1, #4] @ movhi
70568 movs r2, r2, lsr #24
70569 ldrneh r7, [r5, #6]
70570 strneh r7, [r1, #6] @ movhi
70571.L21851:
70572 add r1, r1, #8
70573 add r5, r5, #8
70574 add r0, r0, #64
70575 b .L21832
70576.L21733:
70577 cmp ip, #3
70578 bls .L21763
70579 cmp r0, #0
70580 ldr r2, [sl, #4]
70581 ldreq r7, [sp, #88]
70582 beq .L21767
70583 mov r3, ip, asl #3
70584 sub r3, r3, #32
70585 mov r1, r2, lsr r3
70586 mov r2, #0
70587.L21768:
70588 tst r1, #255
70589 mov r3, r2, asl #1
70590 ldrneh r4, [r3, r5]
70591 ldrne lr, [sp, #88]
70592 add r2, r2, #1
70593 strneh r4, [r3, lr] @ movhi
70594 cmp r0, r2
70595 mov r1, r1, lsr #8
70596 bne .L21768
70597 ldr r6, [sp, #88]
70598 mov r3, r0, asl #1
70599 add r5, r5, r3
70600 add r7, r3, r6
70601.L21767:
70602 ldr ip, [sp, #108]
70603 add sl, sl, #64
70604 rsb r8, r0, ip
70605 b .L21732
70606.L21473:
70607 cmp ip, #0
70608 ldr r2, [r6, #0]
70609 ldreq r7, [sp, #88]
70610 beq .L21483
70611 mov r3, r3, asl #2
70612 mov r3, r2, lsr r3
70613 mov r1, #0
70614.L21484:
70615 tst r3, #15
70616 mov r2, r1, asl #1
70617 ldrneh r0, [r2, r5]
70618 ldrne lr, [sp, #88]
70619 add r1, r1, #1
70620 strneh r0, [r2, lr] @ movhi
70621 cmp ip, r1
70622 mov r3, r3, lsr #4
70623 bne .L21484
70624 ldr r1, [sp, #88]
70625 mov r3, ip, asl #1
70626 add r5, r5, r3
70627 add r7, r3, r1
70628.L21483:
70629 ldr r2, [sp, #108]
70630 add r6, r6, #32
70631 rsb r8, ip, r2
70632 b .L21472
70633.L21603:
70634 cmp lr, #0
70635 ldr r2, [r0, #0]
70636 ldreq r1, [sp, #88]
70637 beq .L21613
70638 mov r3, r6, asl #2
70639 mov r3, r2, asl r3
70640 mov ip, #0
70641.L21614:
70642 movs r1, r3, lsr #28
70643 mov r2, ip, asl #1
70644 ldrneh r6, [r2, r5]
70645 ldrne r4, [sp, #88]
70646 add ip, ip, #1
70647 strneh r6, [r2, r4] @ movhi
70648 cmp lr, ip
70649 mov r3, r3, asl #4
70650 bne .L21614
70651 ldr r7, [sp, #88]
70652 mov r3, lr, asl #1
70653 add r5, r5, r3
70654 add r1, r3, r7
70655.L21613:
70656 ldr ip, [sp, #108]
70657 sub r0, r0, #32
70658 rsb r8, lr, ip
70659 b .L21602
70660.L21953:
70661 cmp ip, #3
70662 bls .L21983
70663 cmp r0, #0
70664 ldr r2, [sl, #0]
70665 ldreq r7, [sp, #88]
70666 beq .L21987
70667 mov r3, ip, asl #3
70668 sub r3, r3, #32
70669 mov r3, r2, asl r3
70670 mov r1, #0
70671.L21988:
70672 movs r2, r3, lsr #24
70673 mov r2, r1, asl #1
70674 ldrneh r6, [r2, r5]
70675 ldrne r4, [sp, #88]
70676 add r1, r1, #1
70677 strneh r6, [r2, r4] @ movhi
70678 cmp r0, r1
70679 mov r3, r3, asl #8
70680 bne .L21988
70681 ldr ip, [sp, #88]
70682 mov r3, r0, asl #1
70683 add r5, r5, r3
70684 add r7, ip, r3
70685.L21987:
70686 ldr r6, [sp, #108]
70687 sub sl, sl, #64
70688 rsb r8, r0, r6
70689 b .L21952
70690.L22217:
70691 mov r1, r8
70692 b .L22184
70693.L22216:
70694 mov lr, r8
70695 b .L22182
70696.L21983:
70697 subs lr, r0, #4
70698 ldr r2, [sl, #4]
70699 ldreq r1, [sp, #88]
70700 beq .L21995
70701 mov r3, ip, asl #3
70702 sub r3, r3, #32
70703 mov r3, r2, asl r3
70704 mov r1, #0
70705.L21996:
70706 movs r2, r3, lsr #24
70707 mov r2, r1, asl #1
70708 ldrneh r6, [r2, r5]
70709 ldrne r4, [sp, #88]
70710 add r1, r1, #1
70711 strneh r6, [r2, r4] @ movhi
70712 cmp r1, lr
70713 mov r3, r3, asl #8
70714 bne .L21996
70715 ldr r7, [sp, #88]
70716 mov r3, r0, asl #1
70717 add r2, r5, r3
70718 add r3, r7, r3
70719 sub r5, r2, #8
70720 sub r1, r3, #8
70721.L21995:
70722 ldr r2, [sl, #0]
70723 cmp r2, #0
70724 beq .L22001
70725 tst r2, #255
70726 ldrneh ip, [r5, #6]
70727 mov r3, r2, lsr #8
70728 strneh ip, [r1, #6] @ movhi
70729 tst r3, #255
70730 ldrneh lr, [r5, #4]
70731 mov r3, r2, lsr #16
70732 strneh lr, [r1, #4] @ movhi
70733 tst r3, #255
70734 ldrneh r3, [r5, #2]
70735 strneh r3, [r1, #2] @ movhi
70736 movs r2, r2, lsr #24
70737 ldrneh r4, [r5, #0]
70738 strneh r4, [r1, #0] @ movhi
70739.L22001:
70740 add r7, r1, #8
70741 add r5, r5, #8
70742 b .L21987
70743.L21763:
70744 subs lr, r0, #4
70745 ldr r2, [sl, #0]
70746 ldreq r1, [sp, #88]
70747 beq .L21775
70748 mov r3, ip, asl #3
70749 mov r1, r2, lsr r3
70750 mov r2, #0
70751.L21776:
70752 tst r1, #255
70753 mov r3, r2, asl #1
70754 ldrneh ip, [r3, r5]
70755 ldrne r7, [sp, #88]
70756 add r2, r2, #1
70757 strneh ip, [r3, r7] @ movhi
70758 cmp r2, lr
70759 mov r1, r1, lsr #8
70760 bne .L21776
70761 ldr lr, [sp, #88]
70762 mov r3, r0, asl #1
70763 add r2, r5, r3
70764 add r3, lr, r3
70765 sub r5, r2, #8
70766 sub r1, r3, #8
70767.L21775:
70768 ldr r2, [sl, #4]
70769 cmp r2, #0
70770 beq .L21781
70771 tst r2, #255
70772 ldrneh r3, [r5, #0]
70773 strneh r3, [r1, #0] @ movhi
70774 mov r3, r2, lsr #8
70775 tst r3, #255
70776 ldrneh r4, [r5, #2]
70777 mov r3, r2, lsr #16
70778 strneh r4, [r1, #2] @ movhi
70779 tst r3, #255
70780 ldrneh r6, [r5, #4]
70781 strneh r6, [r1, #4] @ movhi
70782 movs r2, r2, lsr #24
70783 ldrneh r7, [r5, #6]
70784 strneh r7, [r1, #6] @ movhi
70785.L21781:
70786 add r7, r1, #8
70787 add r5, r5, #8
70788 b .L21767
70789.L21956:
70790 ldr lr, [sp, #108]
70791 mov r3, ip, asl #3
70792 ldr r1, [sl, #4]
70793 add r2, lr, ip
70794 sub r3, r3, #32
70795 cmp r2, #4
70796 mov r1, r1, asl r3
70797 bhi .L21963
70798 cmp lr, #0
70799 movne r2, #0
70800 beq .L21367
70801.L21979:
70802 movs r6, r1, lsr #24
70803 mov r3, r2, asl #1
70804 ldrneh ip, [r3, r5]
70805 ldrne r7, [sp, #88]
70806 ldr lr, [sp, #108]
70807 add r2, r2, #1
70808 strneh ip, [r3, r7] @ movhi
70809 cmp lr, r2
70810 mov r1, r1, asl #8
70811 bne .L21979
70812 b .L21367
70813.L21736:
70814 ldr r0, [sp, #108]
70815 ldr r3, [sl, #0]
70816 add r2, r0, ip
70817 mov r1, ip, asl #3
70818 cmp r2, #4
70819 mov r3, r3, lsr r1
70820 bhi .L21743
70821 cmp r0, #0
70822 movne r1, #0
70823 beq .L21367
70824.L21759:
70825 tst r3, #255
70826 mov r2, r1, asl #1
70827 ldrneh r7, [r2, r5]
70828 ldrne r6, [sp, #88]
70829 ldr ip, [sp, #108]
70830 add r1, r1, #1
70831 strneh r7, [r2, r6] @ movhi
70832 cmp ip, r1
70833 mov r3, r3, lsr #8
70834 bne .L21759
70835 b .L21367
70836.L21963:
70837 rsbs r2, ip, #4
70838 ldreq r3, [sp, #88]
70839 beq .L21968
70840 mov r0, #0
70841.L21969:
70842 movs r3, r1, lsr #24
70843 mov r3, r0, asl #1
70844 ldrneh r6, [r3, r5]
70845 ldrne r4, [sp, #88]
70846 add r0, r0, #1
70847 strneh r6, [r3, r4] @ movhi
70848 cmp r0, r2
70849 mov r1, r1, asl #8
70850 bne .L21969
70851 ldr r7, [sp, #88]
70852 mov r3, r2, asl #1
70853 add r5, r5, r3
70854 add r3, r3, r7
70855.L21968:
70856 ldr lr, [sp, #108]
70857 subs ip, lr, r2
70858 ldr r2, [sl, #0]
70859 beq .L21367
70860 mov r0, #0
70861.L21975:
70862 movs r1, r2, lsr #24
70863 mov r1, r0, asl #1
70864 ldrneh r4, [r1, r5]
70865 add r0, r0, #1
70866 strneh r4, [r1, r3] @ movhi
70867 cmp r0, ip
70868 mov r2, r2, asl #8
70869 bne .L21975
70870 b .L21367
70871.L21743:
70872 rsbs r1, ip, #4
70873 ldreq ip, [sp, #88]
70874 beq .L21748
70875 mov r0, #0
70876.L21749:
70877 tst r3, #255
70878 mov r2, r0, asl #1
70879 ldrneh r6, [r2, r5]
70880 ldrne r4, [sp, #88]
70881 add r0, r0, #1
70882 strneh r6, [r2, r4] @ movhi
70883 cmp r0, r1
70884 mov r3, r3, lsr #8
70885 bne .L21749
70886 ldr r7, [sp, #88]
70887 mov r3, r1, asl #1
70888 add r5, r5, r3
70889 add ip, r3, r7
70890.L21748:
70891 ldr lr, [sp, #108]
70892 ldr r3, [sl, #4]
70893 subs r0, lr, r1
70894 beq .L21367
70895 mov r1, #0
70896.L21755:
70897 tst r3, #255
70898 mov r2, r1, asl #1
70899 ldrneh r4, [r2, r5]
70900 add r1, r1, #1
70901 strneh r4, [r2, ip] @ movhi
70902 cmp r1, r0
70903 mov r3, r3, lsr #8
70904 bne .L21755
70905 b .L21367
70906 .size render_scanline_obj_copy_bitmap_2D, .-render_scanline_obj_copy_bitmap_2D
70907 .align 2
70908 .global render_scanline_obj_copy_bitmap_1D
70909 .type render_scanline_obj_copy_bitmap_1D, %function
70910render_scanline_obj_copy_bitmap_1D:
70911 @ args = 0, pretend = 0, frame = 604
70912 @ frame_needed = 0, uses_anonymous_args = 0
70913 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
70914 ldr lr, .L23084
70915 add r0, r0, r0, asl #2
70916 ldrh r4, [lr, #6]
70917 ldr ip, .L23084+4
70918 add r0, r4, r0, asl #5
70919 ldr ip, [ip, r0, asl #2]
70920 sub sp, sp, #604
70921 ldrh r6, [lr, #0]
70922 ldrh r5, [lr, #74]
70923 str ip, [sp, #56]
70924 cmp ip, #0
70925 ldr lr, .L23084+8
70926 ldr ip, .L23084+12
70927 str r4, [sp, #52]
70928 and r4, r6, #7
70929 add r4, ip, r4, asl #2
70930 add r0, lr, r0, asl #7
70931 str r4, [sp, #36]
70932 str r0, [sp, #60]
70933 str r1, [sp, #12]
70934 str r2, [sp, #8]
70935 str r3, [sp, #4]
70936 mov r5, r5, lsr #8
70937 beq .L23027
70938 rsb r0, r1, r2
70939 and ip, r5, #16
70940 add lr, r3, r1, asl #1
70941 and r6, r6, #64
70942 mov r1, #0
70943 and r5, r5, #4
70944 str ip, [sp, #88]
70945 str r6, [sp, #92]
70946 str r5, [sp, #96]
70947 str lr, [sp, #100]
70948 str r0, [sp, #120]
70949 str r1, [sp, #44]
70950 mov r2, r1
70951.L22225:
70952 ldr r4, [sp, #60]
70953 ldr r5, .L23084+16
70954 ldrb r3, [r2, r4] @ zero_extendqisi2
70955 ldr lr, .L23084+20
70956 mov r3, r3, asl #3
70957 ldrh r8, [r3, r5]
70958 add r3, r3, r5
70959 ldrh sl, [r3, #2]
70960 mov r6, r8, lsr #12
70961 and r2, r6, #12
70962 orr r2, r2, sl, lsr #14
70963 mov r1, sl, asl #23
70964 ldr fp, [lr, r2, asl #2]
70965 ands ip, r8, #512
70966 mov r9, r1, asr #23
70967 ldr r7, [sp, #8]
70968 addne r1, r9, fp, asl #1
70969 addeq r1, r9, fp
70970 str r6, [sp, #20]
70971 ldr r6, [sp, #12]
70972 ldrh r3, [r3, #4]
70973 cmp r1, r7
70974 movcc r7, r1
70975 ldr r0, [sp, #8]
70976 ldr r1, [sp, #12]
70977 cmp r9, r6
70978 movcs r6, r9
70979 str r3, [sp, #16]
70980 cmp r0, r6
70981 movls r3, #0
70982 movhi r3, #1
70983 cmp r1, r7
70984 movcs r3, #0
70985 cmp r3, #0
70986 str r2, [sp, #48]
70987 str ip, [sp, #24]
70988 beq .L22229
70989 cmp r7, r6
70990 ldr r3, .L23084+24
70991 movls r4, r6, asl #1
70992 ldrh r0, [r3, #0]
70993 strls r4, [sp, #0]
70994 bls .L22231
70995 mov r2, r6, asl #1
70996 add r3, sp, #124
70997 str r2, [sp, #0]
70998 rsb r1, r6, r7
70999 add r2, r3, r2
71000 mov r3, #0
71001.L22233:
71002 add r3, r3, #1
71003 cmp r1, r3
71004 strh r0, [r2], #2 @ movhi
71005 bne .L22233
71006.L22231:
71007 ldr r5, .L23084+28
71008 ldr r3, [r5, #0]
71009 cmp r3, #0
71010 beq .L22234
71011 ldr r5, .L23084+32
71012 mov r4, #0
71013 b .L22236
71014.L23056:
71015 ldr ip, [sp, #88]
71016 cmp ip, #0
71017 bic ip, r0, #4
71018 beq .L22239
71019 ldr lr, [sp, #92]
71020 mov r0, ip
71021 cmp lr, #0
71022 mov r1, r6
71023 mov r2, r7
71024 add r3, sp, #124
71025 beq .L22241
71026 bl render_scanline_obj_normal_1D
71027.L22239:
71028 ldr ip, .L23084+28
71029 add r4, r4, #1
71030 ldr r3, [ip, #0]
71031 add r5, r5, #4
71032 cmp r3, r4
71033 bls .L22234
71034.L22236:
71035 ldr r0, [r5, #0]
71036 tst r0, #4
71037 bne .L23056
71038 ldr r0, [sp, #96]
71039 mov r1, r7
71040 cmp r0, #0
71041 add r2, sp, #124
71042 mov r0, r6
71043 beq .L22239
71044 ldr r3, [sp, #36]
71045 mov lr, pc
71046 ldr pc, [r3, #0]
71047 ldr ip, .L23084+28
71048 add r4, r4, #1
71049 ldr r3, [ip, #0]
71050 add r5, r5, #4
71051 cmp r3, r4
71052 bhi .L22236
71053.L22234:
71054 and r0, r8, #255
71055 ldr r1, [sp, #0]
71056 cmp r0, #160
71057 add lr, sp, #124
71058 ldr r3, .L23084+36
71059 ldr r2, [sp, #48]
71060 add lr, lr, r1
71061 subgt r0, r0, #256
71062 tst r8, #256
71063 str lr, [sp, #40]
71064 ldr r4, [r3, r2, asl #2]
71065 beq .L22246
71066 tst r8, #8192
71067 beq .L22248
71068 ldr r6, .L23084+16
71069 mov r3, sl, lsr #4
71070 ldr r5, [sp, #24]
71071 add r1, r4, r4, lsr #31
71072 and r3, r3, #992
71073 add r3, r3, r6
71074 mov lr, r1, asr #1
71075 add r2, fp, fp, lsr #31
71076 ldr r1, [sp, #12]
71077 cmp r5, #0
71078 mov ip, r2, asr #1
71079 ldrh sl, [r3, #30]
71080 ldrh r8, [r3, #6]
71081 ldrh r2, [r3, #14]
71082 ldrh r3, [r3, #22]
71083 moveq r5, fp
71084 moveq r7, ip
71085 moveq r6, lr
71086 movne r5, fp, asl #1
71087 movne r7, ip, asl #1
71088 movne r6, lr, asl #1
71089 cmp r9, r1
71090 str r3, [sp, #28]
71091 bge .L22253
71092 rsb r1, r9, r1
71093 rsb r5, r1, r5
71094 cmp r5, #0
71095 ble .L22229
71096 ldr r9, [sp, #12]
71097 rsb r7, r1, r7
71098.L22253:
71099 ldr r1, [sp, #8]
71100 add r3, r9, r5
71101 cmp r3, r1
71102 blt .L22256
71103 rsb r5, r9, r1
71104 cmp r5, #0
71105 ble .L22229
71106.L22256:
71107 add r0, r0, r6
71108 ldr r6, [sp, #28]
71109 mov r1, sl, asl #16
71110 mov ip, ip, asl #8
71111 mov r3, r8, asl #16
71112 cmp r6, #0
71113 str ip, [sp, #116]
71114 mov r6, r1, asr #16
71115 mov ip, lr, asl #8
71116 ldr r1, [sp, #52]
71117 ldr lr, [sp, #4]
71118 mov r2, r2, asl #16
71119 mov r3, r3, asr #16
71120 add sl, lr, r9, asl #1
71121 str r3, [sp, #64]
71122 mov r8, r2, asr #16
71123 rsb lr, r0, r1
71124 bne .L22258
71125 mla r3, lr, r6, ip
71126 mov r0, r3, asr #8
71127 cmp r0, r4
71128 bcs .L22229
71129 cmp fp, #0
71130 ldr r4, [sp, #16]
71131 add r3, fp, #7
71132 movge r3, fp
71133 mov r3, r3, asr #3
71134 mov r2, r4, asl #22
71135 mov r3, r3, asl #1
71136 mov r1, r0, lsr #3
71137 mov r2, r2, lsr #22
71138 mla ip, r3, r1, r2
71139 and r0, r0, #7
71140 ldr r3, .L23084+40
71141 add r0, r0, ip, asl #2
71142 cmp r5, #0
71143 add r6, r3, r0, asl #3
71144 ble .L22229
71145 ldr r2, [sp, #64]
71146 mul r3, lr, r8
71147 mul r2, r7, r2
71148 ldr ip, [sp, #116]
71149 rsb r3, r2, r3
71150 add r0, ip, r3
71151 mov ip, r0, asr #8
71152 cmp ip, fp
71153 ldrcs lr, [sp, #28]
71154 bcs .L22264
71155 b .L23080
71156.L22265:
71157 cmp ip, fp
71158 bcc .L23044
71159.L22264:
71160 ldr r2, [sp, #40]
71161 ldr r1, [sp, #64]
71162 add lr, lr, #1
71163 add r0, r0, r1
71164 add r2, r2, #2
71165 cmp r5, lr
71166 mov ip, r0, asr #8
71167 add sl, sl, #2
71168 str r2, [sp, #40]
71169 bne .L22265
71170.L22229:
71171 ldr ip, [sp, #44]
71172 ldr lr, [sp, #56]
71173 add ip, ip, #1
71174 cmp ip, lr
71175 str ip, [sp, #44]
71176 beq .L23027
71177.L23059:
71178 ldr r2, [sp, #44]
71179 b .L22225
71180.L22241:
71181 mov r0, ip
71182 mov r1, r6
71183 mov r2, r7
71184 add r3, sp, #124
71185 bl render_scanline_obj_normal_2D
71186 b .L22239
71187.L22246:
71188 ldr lr, [sp, #52]
71189 tst sl, #8192
71190 rsb ip, r0, lr
71191 ldr r0, [sp, #20]
71192 rsbne r3, ip, r4
71193 subne ip, r3, #1
71194 mov r2, sl, asl #19
71195 and r3, r0, #2
71196 orr r3, r3, r2, lsr #31
71197 cmp r3, #3
71198 ldrls pc, [pc, r3, asl #2]
71199 b .L22229
71200 .p2align 2
71201.L22326:
71202 .word .L22322
71203 .word .L22323
71204 .word .L22324
71205 .word .L22325
71206.L22248:
71207 ldr r6, .L23084+16
71208 mov r3, sl, lsr #4
71209 ldr r5, [sp, #24]
71210 add r1, r4, r4, lsr #31
71211 and r3, r3, #992
71212 add r3, r3, r6
71213 mov lr, r1, asr #1
71214 add r2, fp, fp, lsr #31
71215 ldr r1, [sp, #12]
71216 cmp r5, #0
71217 mov ip, r2, asr #1
71218 ldrh sl, [r3, #30]
71219 ldrh r8, [r3, #6]
71220 ldrh r2, [r3, #14]
71221 ldrh r3, [r3, #22]
71222 moveq r5, fp
71223 moveq r7, ip
71224 moveq r6, lr
71225 movne r5, fp, asl #1
71226 movne r7, ip, asl #1
71227 movne r6, lr, asl #1
71228 cmp r9, r1
71229 str r3, [sp, #32]
71230 bge .L22285
71231 rsb r1, r9, r1
71232 rsb r5, r1, r5
71233 cmp r5, #0
71234 ble .L22229
71235 ldr r9, [sp, #12]
71236 rsb r7, r1, r7
71237.L22285:
71238 ldr r1, [sp, #8]
71239 add r3, r9, r5
71240 cmp r3, r1
71241 blt .L22288
71242 rsb r5, r9, r1
71243 cmp r5, #0
71244 ble .L22229
71245.L22288:
71246 add r0, r0, r6
71247 ldr r6, [sp, #32]
71248 mov r1, sl, asl #16
71249 mov ip, ip, asl #8
71250 mov r3, r8, asl #16
71251 mov r2, r2, asl #16
71252 cmp r6, #0
71253 str ip, [sp, #104]
71254 mov r6, r1, asr #16
71255 mov ip, lr, asl #8
71256 ldr r1, [sp, #52]
71257 ldr lr, [sp, #4]
71258 mov r3, r3, asr #16
71259 mov r2, r2, asr #16
71260 add sl, lr, r9, asl #1
71261 str r3, [sp, #72]
71262 str r2, [sp, #76]
71263 rsb lr, r0, r1
71264 bne .L22290
71265 mla r3, lr, r6, ip
71266 mov r0, r3, asr #8
71267 cmp r0, r4
71268 bcs .L22229
71269 ldr r4, [sp, #16]
71270 cmp fp, #0
71271 add r3, fp, #7
71272 mov r2, r4, asl #22
71273 movge r3, fp
71274 mov r3, r3, asr #3
71275 mov r1, r0, lsr #3
71276 mov r2, r2, lsr #22
71277 mla ip, r3, r1, r2
71278 and r0, r0, #7
71279 ldr r3, .L23084+40
71280 add r0, r0, ip, asl #3
71281 cmp r5, #0
71282 add r8, r3, r0, asl #2
71283 ble .L22229
71284 ldr r3, [sp, #76]
71285 ldr r2, [sp, #72]
71286 mul r3, lr, r3
71287 mul r2, r7, r2
71288 ldr r6, [sp, #104]
71289 rsb r3, r2, r3
71290 add r0, r6, r3
71291 mov ip, r0, asr #8
71292 cmp ip, fp
71293 ldrcs r1, [sp, #32]
71294 bcs .L22296
71295 b .L23081
71296.L22297:
71297 cmp ip, fp
71298 bcc .L23046
71299.L22296:
71300 ldr ip, [sp, #72]
71301 ldr lr, [sp, #40]
71302 add r1, r1, #1
71303 add r0, r0, ip
71304 add lr, lr, #2
71305 cmp r5, r1
71306 mov ip, r0, asr #8
71307 add sl, sl, #2
71308 str lr, [sp, #40]
71309 bne .L22297
71310 ldr ip, [sp, #44]
71311 ldr lr, [sp, #56]
71312 add ip, ip, #1
71313 cmp ip, lr
71314 str ip, [sp, #44]
71315 bne .L23059
71316.L23027:
71317 add sp, sp, #604
71318 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
71319.L22299:
71320 cmp ip, fp
71321 bcs .L22229
71322.L23046:
71323 mov r3, ip, asr #1
71324 and r6, r3, #3
71325 mov r3, ip, asr #3
71326 mov r3, r3, asl #5
71327 mov r2, ip, asr #1
71328 tst ip, #1
71329 and lr, r2, #3
71330 add ip, r3, r8
71331 add r2, r3, r8
71332 ldreqb r3, [r2, lr] @ zero_extendqisi2
71333 ldrneb r3, [ip, r6] @ zero_extendqisi2
71334 andeq r2, r3, #15
71335 movne r2, r3, lsr #4
71336 cmp r2, #0
71337 ldrne r4, [sp, #40]
71338 ldr r6, [sp, #40]
71339 ldrneh r4, [r4, #0]
71340 ldr r3, [sp, #72]
71341 add r1, r1, #1
71342 strneh r4, [sl, #0] @ movhi
71343 add r0, r0, r3
71344 add r6, r6, #2
71345 cmp r5, r1
71346 mov ip, r0, asr #8
71347 add sl, sl, #2
71348 str r6, [sp, #40]
71349 bgt .L22299
71350 b .L22229
71351.L22290:
71352 ldr r0, [sp, #16]
71353 cmp fp, #0
71354 add r1, fp, #7
71355 mov r2, r0, asl #22
71356 movge r1, fp
71357 ldr r3, .L23084+40
71358 mov r2, r2, lsr #22
71359 mov r1, r1, asr #3
71360 add r2, r3, r2, asl #5
71361 mov r1, r1, asl #5
71362 cmp r5, #0
71363 str r2, [sp, #108]
71364 str r1, [sp, #84]
71365 ble .L22229
71366 ldr r1, [sp, #32]
71367 ldr r0, [sp, #72]
71368 mov r3, r1, asl #16
71369 mov r3, r3, asr #16
71370 str r3, [sp, #80]
71371 ldr r1, [sp, #80]
71372 ldr r3, [sp, #76]
71373 mul r2, lr, r6
71374 mul r3, lr, r3
71375 mul r1, r7, r1
71376 mul r0, r7, r0
71377 ldr r6, [sp, #104]
71378 rsb r2, r1, r2
71379 rsb r3, r0, r3
71380 add r7, r6, r3
71381 add r6, ip, r2
71382 mov lr, r7, asr #8
71383 mov r3, r6, asr #8
71384 cmp lr, fp
71385 cmpcc r3, r4
71386 movcs r2, #0
71387 movcc r2, #1
71388 movcs r8, r2
71389 bcs .L22309
71390 b .L23082
71391.L22310:
71392 cmp lr, fp
71393 cmpcc r3, r4
71394 bcc .L22312
71395.L22309:
71396 ldr lr, [sp, #80]
71397 ldr r0, [sp, #40]
71398 ldr ip, [sp, #72]
71399 add r8, r8, #1
71400 add r6, r6, lr
71401 add r7, r7, ip
71402 add r0, r0, #2
71403 cmp r5, r8
71404 mov lr, r7, asr #8
71405 mov r3, r6, asr #8
71406 add sl, sl, #2
71407 str r0, [sp, #40]
71408 bne .L22310
71409 b .L22229
71410.L23061:
71411 ldr r1, [sp, #108]
71412 and r0, r3, #7
71413 ldr r2, [sp, #84]
71414 add r0, r1, r0, asl #2
71415 and r1, r3, #7
71416 mov r3, r3, asr #3
71417 mov ip, lr, asr #1
71418 mul r2, r3, r2
71419 and r9, ip, #3
71420 ldr ip, [sp, #108]
71421 mov r3, lr, asr #1
71422 add r1, ip, r1, asl #2
71423 and ip, r3, #3
71424 mov r3, lr, asr #3
71425 add r2, r2, r3, asl #5
71426 add r3, r0, r2
71427 tst lr, #1
71428 add r0, r1, r2
71429 ldreqb r3, [r0, ip] @ zero_extendqisi2
71430 ldrneb r3, [r3, r9] @ zero_extendqisi2
71431 andeq r0, r3, #15
71432 movne r0, r3, lsr #4
71433 cmp r0, #0
71434 ldrne r2, [sp, #40]
71435 ldr lr, [sp, #72]
71436 ldrneh r2, [r2, #0]
71437 ldr ip, [sp, #40]
71438 ldr r1, [sp, #80]
71439 add r8, r8, #1
71440 strneh r2, [sl, #0] @ movhi
71441 add r7, r7, lr
71442 add r6, r6, r1
71443 add ip, ip, #2
71444 cmp r5, r8
71445 mov lr, r7, asr #8
71446 mov r3, r6, asr #8
71447 add sl, sl, #2
71448 str ip, [sp, #40]
71449 ble .L22229
71450.L22312:
71451 cmp r3, r4
71452 cmpcc lr, fp
71453 bcc .L23061
71454 b .L22229
71455.L22267:
71456 cmp ip, fp
71457 bcs .L22229
71458.L23044:
71459 ldr r3, [sp, #64]
71460 and r1, ip, #7
71461 add r0, r0, r3
71462 mov r3, ip, asr #3
71463 add r3, r6, r3, asl #6
71464 ldrb r2, [r3, r1] @ zero_extendqisi2
71465 ldr r1, [sp, #40]
71466 cmp r2, #0
71467 ldrne r4, [sp, #40]
71468 add lr, lr, #1
71469 ldrneh r4, [r4, #0]
71470 add r1, r1, #2
71471 strneh r4, [sl, #0] @ movhi
71472 cmp r5, lr
71473 mov ip, r0, asr #8
71474 add sl, sl, #2
71475 str r1, [sp, #40]
71476 bgt .L22267
71477 b .L22229
71478.L22258:
71479 ldr r3, [sp, #16]
71480 cmp fp, #0
71481 add r1, fp, #7
71482 mov r2, r3, asl #22
71483 movge r1, fp
71484 ldr r3, .L23084+40
71485 mov r2, r2, lsr #22
71486 mov r1, r1, asr #3
71487 add r2, r3, r2, asl #5
71488 mov r1, r1, asl #6
71489 cmp r5, #0
71490 str r2, [sp, #112]
71491 str r1, [sp, #68]
71492 ble .L22229
71493 ldr r0, [sp, #28]
71494 mul r2, lr, r6
71495 mov r3, r0, asl #16
71496 mov r9, r3, asr #16
71497 ldr r0, [sp, #64]
71498 mul r1, r9, r7
71499 mul r3, lr, r8
71500 mul r0, r7, r0
71501 rsb r2, r1, r2
71502 ldr r1, [sp, #116]
71503 rsb r3, r0, r3
71504 add r7, r1, r3
71505 add r6, ip, r2
71506 mov lr, r7, asr #8
71507 mov ip, r6, asr #8
71508 cmp lr, fp
71509 cmpcc ip, r4
71510 movcs r3, #0
71511 movcc r3, #1
71512 movcs r8, r3
71513 bcs .L22274
71514 b .L23083
71515.L22275:
71516 cmp lr, fp
71517 cmpcc ip, r4
71518 bcc .L22277
71519.L22274:
71520 ldr r3, [sp, #40]
71521 ldr r2, [sp, #64]
71522 add r8, r8, #1
71523 add r7, r7, r2
71524 add r6, r6, r9
71525 add r3, r3, #2
71526 cmp r5, r8
71527 mov lr, r7, asr #8
71528 mov ip, r6, asr #8
71529 add sl, sl, #2
71530 str r3, [sp, #40]
71531 bne .L22275
71532 b .L22229
71533.L23063:
71534 ldr r0, [sp, #64]
71535 and r3, ip, #7
71536 mov r2, lr, asr #3
71537 ldr r1, [sp, #112]
71538 mov r3, r3, asl #3
71539 add r7, r7, r0
71540 add r3, r3, r2, asl #6
71541 ldr r0, [sp, #68]
71542 mov r2, ip, asr #3
71543 add r3, r3, r1
71544 mla r0, r2, r0, r3
71545 and r1, lr, #7
71546 ldrb r3, [r0, r1] @ zero_extendqisi2
71547 add r8, r8, #1
71548 cmp r3, #0
71549 ldrne r2, [sp, #40]
71550 ldr r3, [sp, #40]
71551 ldrneh r2, [r2, #0]
71552 add r6, r6, r9
71553 strneh r2, [sl, #0] @ movhi
71554 add r3, r3, #2
71555 cmp r5, r8
71556 mov ip, r6, asr #8
71557 mov lr, r7, asr #8
71558 add sl, sl, #2
71559 str r3, [sp, #40]
71560 ble .L22229
71561.L22277:
71562 cmp ip, r4
71563 cmpcc lr, fp
71564 bcc .L23063
71565 b .L22229
71566.L22322:
71567 ldr r1, [sp, #16]
71568 cmp fp, #0
71569 add r3, fp, #7
71570 mov r2, r1, asl #22
71571 movge r3, fp
71572 mov lr, r3, asr #3
71573 mov r2, r2, lsr #22
71574 mov r3, ip, lsr #3
71575 mla r0, lr, r3, r2
71576 ldr r2, [sp, #12]
71577 and r1, ip, #7
71578 ldr r3, .L23084+40
71579 add r1, r1, r0, asl #3
71580 cmp r9, r2
71581 add r0, r3, r1, asl #2
71582 bge .L22327
71583 rsb ip, r9, r2
71584 rsb lr, ip, fp
71585 cmp lr, #0
71586 ble .L22229
71587 ldr r4, [sp, #8]
71588 add r3, r9, fp
71589 cmp r4, r3
71590 bhi .L22330
71591 mov r3, ip, lsr #3
71592 mov r1, r3, asl #5
71593 ands r3, ip, #7
71594 add r6, r0, r1
71595 bne .L22332
71596 ldr r5, [sp, #120]
71597 ldr r7, [sp, #100]
71598.L22334:
71599 movs lr, r5, lsr #3
71600 beq .L22351
71601 ldr r1, [sp, #40]
71602 mov r2, r7
71603 mov r0, r6
71604 mov ip, #0
71605.L22353:
71606 ldr r3, [r0, #0]
71607 cmp r3, #0
71608 beq .L22354
71609 tst r3, #15
71610 ldrneh r4, [r1, #0]
71611 strneh r4, [r2, #0] @ movhi
71612 tst r3, #240
71613 ldrneh r4, [r1, #2]
71614 strneh r4, [r2, #2] @ movhi
71615 tst r3, #3840
71616 ldrneh r4, [r1, #4]
71617 strneh r4, [r2, #4] @ movhi
71618 tst r3, #61440
71619 ldrneh r4, [r1, #6]
71620 strneh r4, [r2, #6] @ movhi
71621 tst r3, #983040
71622 ldrneh r4, [r1, #8]
71623 strneh r4, [r2, #8] @ movhi
71624 tst r3, #15728640
71625 ldrneh r4, [r1, #10]
71626 strneh r4, [r2, #10] @ movhi
71627 tst r3, #251658240
71628 ldrneh r4, [r1, #12]
71629 strneh r4, [r2, #12] @ movhi
71630 movs r3, r3, lsr #28
71631 ldrneh r3, [r1, #14]
71632 strneh r3, [r2, #14] @ movhi
71633.L22354:
71634 add ip, ip, #1
71635 cmp ip, lr
71636 add r0, r0, #32
71637 add r2, r2, #16
71638 add r1, r1, #16
71639 bne .L22353
71640 ldr r4, [sp, #40]
71641 mov r3, lr, asl #4
71642 add r4, r4, r3
71643 add r7, r7, r3
71644 add r6, r6, lr, asl #5
71645 str r4, [sp, #40]
71646.L22351:
71647 ands r0, r5, #7
71648 beq .L22229
71649 ldr r3, [r6, #0]
71650 mov r1, #0
71651.L22373:
71652 tst r3, #15
71653 ldrne r5, [sp, #40]
71654 mov r2, r1, asl #1
71655 ldrneh r5, [r2, r5]
71656 add r1, r1, #1
71657 strneh r5, [r2, r7] @ movhi
71658 cmp r1, r0
71659 mov r3, r3, lsr #4
71660 bne .L22373
71661 b .L22229
71662.L22323:
71663 ldr r4, [sp, #16]
71664 cmp fp, #0
71665 add r3, fp, #7
71666 mov r2, r4, asl #22
71667 movge r3, fp
71668 mov lr, r3, asr #3
71669 mov r2, r2, lsr #22
71670 mov r1, ip, lsr #3
71671 mla r0, lr, r1, r2
71672 subs r3, fp, #8
71673 submi r3, fp, #1
71674 ldr r5, [sp, #12]
71675 add r0, r0, r3, asr #3
71676 and r2, ip, #7
71677 ldr r3, .L23084+40
71678 add r2, r2, r0, asl #3
71679 cmp r9, r5
71680 add r0, r3, r2, asl #2
71681 bge .L22457
71682 rsb ip, r9, r5
71683 rsb r1, ip, fp
71684 cmp r1, #0
71685 ble .L22229
71686 ldr r6, [sp, #8]
71687 add r3, r9, fp
71688 cmp r6, r3
71689 bhi .L22460
71690 mov r3, ip, lsr #3
71691 ands r6, ip, #7
71692 sub r0, r0, r3, asl #5
71693 bne .L22462
71694 ldr r8, [sp, #120]
71695 ldr r1, [sp, #100]
71696.L22464:
71697 movs r3, r8, lsr #3
71698 beq .L22481
71699 ldr lr, [sp, #40]
71700 mov ip, r1
71701 mov r6, r0
71702 mov r7, #0
71703.L22483:
71704 ldr r2, [r6, #0]
71705 cmp r2, #0
71706 beq .L22484
71707 tst r2, #15
71708 ldrneh r4, [lr, #14]
71709 strneh r4, [ip, #14] @ movhi
71710 tst r2, #240
71711 ldrneh r5, [lr, #12]
71712 strneh r5, [ip, #12] @ movhi
71713 tst r2, #3840
71714 ldrneh r4, [lr, #10]
71715 strneh r4, [ip, #10] @ movhi
71716 tst r2, #61440
71717 ldrneh r5, [lr, #8]
71718 strneh r5, [ip, #8] @ movhi
71719 tst r2, #983040
71720 ldrneh r4, [lr, #6]
71721 strneh r4, [ip, #6] @ movhi
71722 tst r2, #15728640
71723 ldrneh r5, [lr, #4]
71724 strneh r5, [ip, #4] @ movhi
71725 tst r2, #251658240
71726 ldrneh r4, [lr, #2]
71727 strneh r4, [ip, #2] @ movhi
71728 movs r2, r2, lsr #28
71729 ldrneh r5, [lr, #0]
71730 strneh r5, [ip, #0] @ movhi
71731.L22484:
71732 add r7, r7, #1
71733 cmp r7, r3
71734 sub r6, r6, #32
71735 add ip, ip, #16
71736 add lr, lr, #16
71737 bne .L22483
71738 ldr r6, [sp, #40]
71739 rsb r2, r3, r3, asl #27
71740 mov r3, r3, asl #4
71741 add r6, r6, r3
71742 add r1, r1, r3
71743 add r0, r0, r2, asl #5
71744 str r6, [sp, #40]
71745.L22481:
71746 ands ip, r8, #7
71747 beq .L22229
71748 ldr r0, [r0, #0]
71749 mov r2, #0
71750.L22503:
71751 movs lr, r0, lsr #28
71752 ldrne r4, [sp, #40]
71753 mov r3, r2, asl #1
71754 ldrneh r4, [r3, r4]
71755 add r2, r2, #1
71756 strneh r4, [r3, r1] @ movhi
71757 cmp r2, ip
71758 mov r0, r0, asl #4
71759 bne .L22503
71760 b .L22229
71761.L22325:
71762 cmp fp, #0
71763 add r2, fp, #7
71764 movge r2, fp
71765 subs r3, fp, #8
71766 submi r3, fp, #1
71767 mov lr, r2, asr #3
71768 mov r3, r3, asr #3
71769 mov r1, ip, lsr #3
71770 mla r0, lr, r1, r3
71771 ldr r4, [sp, #16]
71772 and r3, ip, #7
71773 mov r2, r4, asl #22
71774 mov r2, r2, lsr #22
71775 add r2, r2, r0, asl #1
71776 add r3, r3, r2, asl #2
71777 ldr r5, [sp, #12]
71778 mov r0, r3, asl #3
71779 ldr r3, .L23084+40
71780 cmp r9, r5
71781 add r8, r0, r3
71782 bge .L22807
71783 rsb r0, r9, r5
71784 rsb lr, r0, fp
71785 cmp lr, #0
71786 ble .L22229
71787 ldr r6, [sp, #8]
71788 add r3, r9, fp
71789 cmp r6, r3
71790 bhi .L22810
71791 mov r3, r0, lsr #3
71792 ands ip, r0, #7
71793 sub sl, r8, r3, asl #6
71794 bne .L22812
71795 ldr r8, [sp, #120]
71796 ldr r7, [sp, #100]
71797.L22814:
71798 movs r6, r8, lsr #3
71799 beq .L22872
71800 ldr r0, [sp, #40]
71801 mov r1, r7
71802 mov ip, sl
71803 mov lr, #0
71804.L22874:
71805 ldr r2, [ip, #4]
71806 cmp r2, #0
71807 beq .L22875
71808 tst r2, #255
71809 ldrneh r3, [r0, #6]
71810 strneh r3, [r1, #6] @ movhi
71811 mov r3, r2, lsr #8
71812 tst r3, #255
71813 ldrneh r4, [r0, #4]
71814 mov r3, r2, lsr #16
71815 strneh r4, [r1, #4] @ movhi
71816 tst r3, #255
71817 ldrneh r5, [r0, #2]
71818 strneh r5, [r1, #2] @ movhi
71819 movs r2, r2, lsr #24
71820 ldrneh r2, [r0, #0]
71821 strneh r2, [r1, #0] @ movhi
71822.L22875:
71823 ldr r2, [ip, #0]
71824 cmp r2, #0
71825 beq .L22884
71826 tst r2, #255
71827 ldrneh r3, [r0, #14]
71828 strneh r3, [r1, #14] @ movhi
71829 mov r3, r2, lsr #8
71830 tst r3, #255
71831 ldrneh r4, [r0, #12]
71832 mov r3, r2, lsr #16
71833 strneh r4, [r1, #12] @ movhi
71834 tst r3, #255
71835 ldrneh r5, [r0, #10]
71836 strneh r5, [r1, #10] @ movhi
71837 movs r2, r2, lsr #24
71838 ldrneh r2, [r0, #8]
71839 strneh r2, [r1, #8] @ movhi
71840.L22884:
71841 add lr, lr, #1
71842 cmp lr, r6
71843 sub ip, ip, #64
71844 add r1, r1, #16
71845 add r0, r0, #16
71846 bne .L22874
71847 ldr r4, [sp, #40]
71848 mov r3, r6, asl #4
71849 rsb r2, r6, r6, asl #26
71850 add r4, r4, r3
71851 add r7, r7, r3
71852 add sl, sl, r2, asl #6
71853 str r4, [sp, #40]
71854.L22872:
71855 ands ip, r8, #7
71856 beq .L22229
71857 cmp ip, #3
71858 ldrls r2, [sl, #4]
71859 bls .L22907
71860 ldr r2, [sl, #4]
71861 cmp r2, #0
71862 beq .L22897
71863 tst r2, #255
71864 ldrne r5, [sp, #40]
71865 mov r3, r2, lsr #8
71866 ldrneh r5, [r5, #6]
71867 strneh r5, [r7, #6] @ movhi
71868 tst r3, #255
71869 ldrne r6, [sp, #40]
71870 mov r3, r2, lsr #16
71871 ldrneh r6, [r6, #4]
71872 strneh r6, [r7, #4] @ movhi
71873 tst r3, #255
71874 ldrne lr, [sp, #40]
71875 ldrneh lr, [lr, #2]
71876 strneh lr, [r7, #2] @ movhi
71877 movs r2, r2, lsr #24
71878 ldrne r0, [sp, #40]
71879 ldrneh r0, [r0, #0]
71880 strneh r0, [r7, #0] @ movhi
71881.L22897:
71882 subs ip, ip, #4
71883 ldr r2, [sl, #0]
71884 beq .L22229
71885 ldr r1, [sp, #40]
71886 add r7, r7, #8
71887 add r1, r1, #8
71888 str r1, [sp, #40]
71889.L22907:
71890 mov r1, #0
71891.L22908:
71892 movs r3, r2, lsr #24
71893 ldrne r4, [sp, #40]
71894 mov r0, r1, asl #1
71895 ldrneh r4, [r0, r4]
71896 add r1, r1, #1
71897 strneh r4, [r0, r7] @ movhi
71898 cmp ip, r1
71899 mov r2, r2, asl #8
71900 bhi .L22908
71901 b .L22229
71902.L23085:
71903 .align 2
71904.L23084:
71905 .word io_registers
71906 .word obj_priority_count
71907 .word obj_priority_list
71908 .word bitmap_mode_renderers-12
71909 .word oam_ram
71910 .word obj_width_table
71911 .word palette_ram_converted
71912 .word layer_count
71913 .word layer_order
71914 .word obj_height_table
71915 .word vram+65536
71916 .word vram+65472
71917 .word vram+65600
71918.L22324:
71919 ldr lr, [sp, #16]
71920 cmp fp, #0
71921 add r3, fp, #7
71922 mov r1, lr, asl #22
71923 movge r3, fp
71924 mov r2, ip, lsr #3
71925 mov r6, r3, asr #3
71926 mov r2, r2, asl #1
71927 mov r1, r1, lsr #22
71928 mla r0, r2, r6, r1
71929 and r3, ip, #7
71930 add r3, r3, r0, asl #2
71931 ldr r1, [sp, #12]
71932 mov r0, r3, asl #3
71933 ldr r3, .L23084+40
71934 cmp r9, r1
71935 add r2, r0, r3
71936 bge .L22587
71937 rsb r0, r9, r1
71938 rsb lr, r0, fp
71939 cmp lr, #0
71940 ble .L22229
71941 ldr r4, [sp, #8]
71942 add r3, r9, fp
71943 cmp r4, r3
71944 bhi .L22590
71945 mov r3, r0, lsr #3
71946 ands ip, r0, #7
71947 add sl, r2, r3, asl #6
71948 bne .L22592
71949 ldr r8, [sp, #120]
71950 ldr r7, [sp, #100]
71951.L22594:
71952 movs r6, r8, lsr #3
71953 beq .L22652
71954 ldr r0, [sp, #40]
71955 mov r1, r7
71956 mov ip, sl
71957 mov lr, #0
71958.L22654:
71959 ldr r2, [ip, #0]
71960 cmp r2, #0
71961 beq .L22655
71962 tst r2, #255
71963 ldrneh r3, [r0, #0]
71964 strneh r3, [r1, #0] @ movhi
71965 mov r3, r2, lsr #8
71966 tst r3, #255
71967 ldrneh r4, [r0, #2]
71968 mov r3, r2, lsr #16
71969 strneh r4, [r1, #2] @ movhi
71970 tst r3, #255
71971 ldrneh r5, [r0, #4]
71972 strneh r5, [r1, #4] @ movhi
71973 movs r2, r2, lsr #24
71974 ldrneh r2, [r0, #6]
71975 strneh r2, [r1, #6] @ movhi
71976.L22655:
71977 ldr r2, [ip, #4]
71978 cmp r2, #0
71979 beq .L22664
71980 tst r2, #255
71981 ldrneh r3, [r0, #8]
71982 strneh r3, [r1, #8] @ movhi
71983 mov r3, r2, lsr #8
71984 tst r3, #255
71985 ldrneh r4, [r0, #10]
71986 mov r3, r2, lsr #16
71987 strneh r4, [r1, #10] @ movhi
71988 tst r3, #255
71989 ldrneh r5, [r0, #12]
71990 strneh r5, [r1, #12] @ movhi
71991 movs r2, r2, lsr #24
71992 ldrneh r2, [r0, #14]
71993 strneh r2, [r1, #14] @ movhi
71994.L22664:
71995 add lr, lr, #1
71996 cmp lr, r6
71997 add ip, ip, #64
71998 add r1, r1, #16
71999 add r0, r0, #16
72000 bne .L22654
72001 ldr r4, [sp, #40]
72002 mov r3, r6, asl #4
72003 add r4, r4, r3
72004 add r7, r7, r3
72005 add sl, sl, r6, asl #6
72006 str r4, [sp, #40]
72007.L22652:
72008 ands r0, r8, #7
72009 beq .L22229
72010 cmp r0, #3
72011 ldrls r3, [sl, #0]
72012 bls .L22687
72013 ldr r2, [sl, #0]
72014 cmp r2, #0
72015 beq .L22677
72016 tst r2, #255
72017 ldrne r5, [sp, #40]
72018 mov r3, r2, lsr #8
72019 ldrneh r5, [r5, #0]
72020 strneh r5, [r7, #0] @ movhi
72021 tst r3, #255
72022 ldrne r6, [sp, #40]
72023 mov r3, r2, lsr #16
72024 ldrneh r6, [r6, #2]
72025 strneh r6, [r7, #2] @ movhi
72026 tst r3, #255
72027 ldrne ip, [sp, #40]
72028 ldrneh ip, [ip, #4]
72029 strneh ip, [r7, #4] @ movhi
72030 movs r2, r2, lsr #24
72031 ldrne lr, [sp, #40]
72032 ldrneh lr, [lr, #6]
72033 strneh lr, [r7, #6] @ movhi
72034.L22677:
72035 subs r0, r0, #4
72036 ldr r3, [sl, #4]
72037 beq .L22229
72038 ldr r1, [sp, #40]
72039 add r7, r7, #8
72040 add r1, r1, #8
72041 str r1, [sp, #40]
72042.L22687:
72043 mov r2, #0
72044.L22688:
72045 tst r3, #255
72046 ldrne r4, [sp, #40]
72047 mov r1, r2, asl #1
72048 ldrneh r4, [r1, r4]
72049 add r2, r2, #1
72050 strneh r4, [r1, r7] @ movhi
72051 cmp r0, r2
72052 mov r3, r3, lsr #8
72053 bhi .L22688
72054 b .L22229
72055.L22587:
72056 ldr r4, [sp, #8]
72057 add r3, r9, fp
72058 cmp r4, r3
72059 bls .L23064
72060 cmp r6, #0
72061 beq .L22229
72062 ldr r5, [sp, #4]
72063 ldr r3, .L23084+48
72064 add r1, r5, r9, asl #1
72065 add r0, r0, r3
72066 mov lr, #0
72067 b .L22787
72068.L23065:
72069 ldr r3, [sp, #40]
72070 add r2, r2, #64
72071 add r3, r3, #16
72072 add r1, r1, #16
72073 str r3, [sp, #40]
72074.L22787:
72075 ldr ip, [r2, #0]
72076 cmp ip, #0
72077 beq .L22788
72078 tst ip, #255
72079 ldrne r3, [sp, #40]
72080 ldrneh r3, [r3, #0]
72081 strneh r3, [r1, #0] @ movhi
72082 mov r3, ip, lsr #8
72083 tst r3, #255
72084 ldrne r4, [sp, #40]
72085 mov r3, ip, lsr #16
72086 ldrneh r4, [r4, #2]
72087 strneh r4, [r1, #2] @ movhi
72088 tst r3, #255
72089 ldrne r5, [sp, #40]
72090 ldrneh r5, [r5, #4]
72091 strneh r5, [r1, #4] @ movhi
72092 movs ip, ip, lsr #24
72093 ldrne ip, [sp, #40]
72094 ldrneh ip, [ip, #6]
72095 strneh ip, [r1, #6] @ movhi
72096.L22788:
72097 ldr ip, [r0, #-60]
72098 cmp ip, #0
72099 beq .L22797
72100 tst ip, #255
72101 ldrne r3, [sp, #40]
72102 ldrneh r3, [r3, #8]
72103 strneh r3, [r1, #8] @ movhi
72104 mov r3, ip, lsr #8
72105 tst r3, #255
72106 ldrne r4, [sp, #40]
72107 mov r3, ip, lsr #16
72108 ldrneh r4, [r4, #10]
72109 strneh r4, [r1, #10] @ movhi
72110 tst r3, #255
72111 ldrne r5, [sp, #40]
72112 ldrneh r5, [r5, #12]
72113 strneh r5, [r1, #12] @ movhi
72114 movs ip, ip, lsr #24
72115 ldrne ip, [sp, #40]
72116 ldrneh ip, [ip, #14]
72117 strneh ip, [r1, #14] @ movhi
72118.L22797:
72119 add lr, lr, #1
72120 cmp r6, lr
72121 add r0, r0, #64
72122 bne .L23065
72123 b .L22229
72124.L22457:
72125 ldr r1, [sp, #8]
72126 add r3, r9, fp
72127 cmp r1, r3
72128 bls .L23066
72129 cmp lr, #0
72130 beq .L22229
72131 ldr r5, [sp, #4]
72132 mov r3, #0
72133 add r1, r5, r9, asl #1
72134 b .L22568
72135.L23067:
72136 ldr r6, [sp, #40]
72137 sub r0, r0, #32
72138 add r6, r6, #16
72139 add r1, r1, #16
72140 str r6, [sp, #40]
72141.L22568:
72142 ldr r2, [r0, #0]
72143 cmp r2, #0
72144 beq .L22569
72145 tst r2, #15
72146 ldrne r6, [sp, #40]
72147 ldrneh r6, [r6, #14]
72148 strneh r6, [r1, #14] @ movhi
72149 tst r2, #240
72150 ldrne ip, [sp, #40]
72151 ldrneh ip, [ip, #12]
72152 strneh ip, [r1, #12] @ movhi
72153 tst r2, #3840
72154 ldrne r4, [sp, #40]
72155 ldrneh r4, [r4, #10]
72156 strneh r4, [r1, #10] @ movhi
72157 tst r2, #61440
72158 ldrne r5, [sp, #40]
72159 ldrneh r5, [r5, #8]
72160 strneh r5, [r1, #8] @ movhi
72161 tst r2, #983040
72162 ldrne r6, [sp, #40]
72163 ldrneh r6, [r6, #6]
72164 strneh r6, [r1, #6] @ movhi
72165 tst r2, #15728640
72166 ldrne ip, [sp, #40]
72167 ldrneh ip, [ip, #4]
72168 strneh ip, [r1, #4] @ movhi
72169 tst r2, #251658240
72170 ldrne r4, [sp, #40]
72171 ldrneh r4, [r4, #2]
72172 strneh r4, [r1, #2] @ movhi
72173 movs r2, r2, lsr #28
72174 ldrne r5, [sp, #40]
72175 ldrneh r5, [r5, #0]
72176 strneh r5, [r1, #0] @ movhi
72177.L22569:
72178 add r3, r3, #1
72179 cmp lr, r3
72180 bne .L23067
72181 b .L22229
72182.L22327:
72183 ldr r1, [sp, #8]
72184 add r3, r9, fp
72185 cmp r1, r3
72186 bls .L23068
72187 cmp lr, #0
72188 beq .L22229
72189 ldr r2, [sp, #4]
72190 mov r3, #0
72191 add r1, r2, r9, asl #1
72192 b .L22438
72193.L23069:
72194 ldr r2, [sp, #40]
72195 add r0, r0, #32
72196 add r2, r2, #16
72197 add r1, r1, #16
72198 str r2, [sp, #40]
72199.L22438:
72200 ldr ip, [r0, #0]
72201 cmp ip, #0
72202 beq .L22439
72203 tst ip, #15
72204 ldrne r4, [sp, #40]
72205 ldrneh r4, [r4, #0]
72206 strneh r4, [r1, #0] @ movhi
72207 tst ip, #240
72208 ldrne r5, [sp, #40]
72209 ldrneh r5, [r5, #2]
72210 strneh r5, [r1, #2] @ movhi
72211 tst ip, #3840
72212 ldrne r6, [sp, #40]
72213 ldrneh r6, [r6, #4]
72214 strneh r6, [r1, #4] @ movhi
72215 tst ip, #61440
72216 ldrne r2, [sp, #40]
72217 ldrneh r2, [r2, #6]
72218 strneh r2, [r1, #6] @ movhi
72219 tst ip, #983040
72220 ldrne r4, [sp, #40]
72221 ldrneh r4, [r4, #8]
72222 strneh r4, [r1, #8] @ movhi
72223 tst ip, #15728640
72224 ldrne r5, [sp, #40]
72225 ldrneh r5, [r5, #10]
72226 strneh r5, [r1, #10] @ movhi
72227 tst ip, #251658240
72228 ldrne r6, [sp, #40]
72229 ldrneh r6, [r6, #12]
72230 strneh r6, [r1, #12] @ movhi
72231 movs ip, ip, lsr #28
72232 ldrne ip, [sp, #40]
72233 ldrneh ip, [ip, #14]
72234 strneh ip, [r1, #14] @ movhi
72235.L22439:
72236 add r3, r3, #1
72237 cmp lr, r3
72238 bne .L23069
72239 b .L22229
72240.L22807:
72241 ldr r4, [sp, #8]
72242 add r3, r9, fp
72243 cmp r4, r3
72244 bls .L23070
72245 cmp lr, #0
72246 beq .L22229
72247 ldr r5, [sp, #4]
72248 ldr r3, .L23084+44
72249 add r1, r5, r9, asl #1
72250 add r0, r0, r3
72251 mov r2, #0
72252 b .L23007
72253.L23071:
72254 ldr r6, [sp, #40]
72255 sub r8, r8, #64
72256 add r6, r6, #16
72257 add r1, r1, #16
72258 str r6, [sp, #40]
72259.L23007:
72260 ldr ip, [r0, #68]
72261 cmp ip, #0
72262 beq .L23008
72263 tst ip, #255
72264 ldrne r6, [sp, #40]
72265 mov r3, ip, lsr #8
72266 ldrneh r6, [r6, #6]
72267 strneh r6, [r1, #6] @ movhi
72268 tst r3, #255
72269 ldrne r3, [sp, #40]
72270 ldrneh r3, [r3, #4]
72271 strneh r3, [r1, #4] @ movhi
72272 mov r3, ip, lsr #16
72273 tst r3, #255
72274 ldrne r4, [sp, #40]
72275 ldrneh r4, [r4, #2]
72276 strneh r4, [r1, #2] @ movhi
72277 movs ip, ip, lsr #24
72278 ldrne r5, [sp, #40]
72279 ldrneh r5, [r5, #0]
72280 strneh r5, [r1, #0] @ movhi
72281.L23008:
72282 ldr ip, [r8, #0]
72283 cmp ip, #0
72284 beq .L23017
72285 tst ip, #255
72286 ldrne r6, [sp, #40]
72287 mov r3, ip, lsr #8
72288 ldrneh r6, [r6, #14]
72289 strneh r6, [r1, #14] @ movhi
72290 tst r3, #255
72291 ldrne r3, [sp, #40]
72292 ldrneh r3, [r3, #12]
72293 strneh r3, [r1, #12] @ movhi
72294 mov r3, ip, lsr #16
72295 tst r3, #255
72296 ldrne r4, [sp, #40]
72297 ldrneh r4, [r4, #10]
72298 strneh r4, [r1, #10] @ movhi
72299 movs ip, ip, lsr #24
72300 ldrne r5, [sp, #40]
72301 ldrneh r5, [r5, #8]
72302 strneh r5, [r1, #8] @ movhi
72303.L23017:
72304 add r2, r2, #1
72305 cmp lr, r2
72306 sub r0, r0, #64
72307 bne .L23071
72308 b .L22229
72309.L23070:
72310 rsb fp, r9, r4
72311 cmp fp, #0
72312 ble .L22229
72313 ldr r5, [sp, #4]
72314 movs sl, fp, lsr #3
72315 add r1, r5, r9, asl #1
72316 beq .L22966
72317 ldr r3, .L23084+44
72318 ldr r6, [sp, #40]
72319 add r0, r0, r3
72320 mov lr, r1
72321 mov r7, r8
72322 mov r2, #0
72323.L22968:
72324 ldr ip, [r0, #68]
72325 cmp ip, #0
72326 beq .L22969
72327 tst ip, #255
72328 ldrneh r3, [r6, #6]
72329 strneh r3, [lr, #6] @ movhi
72330 mov r3, ip, lsr #8
72331 tst r3, #255
72332 ldrneh r4, [r6, #4]
72333 mov r3, ip, lsr #16
72334 strneh r4, [lr, #4] @ movhi
72335 tst r3, #255
72336 ldrneh r5, [r6, #2]
72337 strneh r5, [lr, #2] @ movhi
72338 movs ip, ip, lsr #24
72339 ldrneh ip, [r6, #0]
72340 strneh ip, [lr, #0] @ movhi
72341.L22969:
72342 ldr ip, [r7, #0]
72343 cmp ip, #0
72344 beq .L22978
72345 tst ip, #255
72346 ldrneh r3, [r6, #14]
72347 strneh r3, [lr, #14] @ movhi
72348 mov r3, ip, lsr #8
72349 tst r3, #255
72350 ldrneh r4, [r6, #12]
72351 mov r3, ip, lsr #16
72352 strneh r4, [lr, #12] @ movhi
72353 tst r3, #255
72354 ldrneh r5, [r6, #10]
72355 strneh r5, [lr, #10] @ movhi
72356 movs ip, ip, lsr #24
72357 ldrneh ip, [r6, #8]
72358 strneh ip, [lr, #8] @ movhi
72359.L22978:
72360 add r2, r2, #1
72361 cmp sl, r2
72362 sub r7, r7, #64
72363 add lr, lr, #16
72364 add r6, r6, #16
72365 sub r0, r0, #64
72366 bne .L22968
72367 ldr lr, [sp, #40]
72368 mov r3, sl, asl #4
72369 rsb r2, sl, sl, asl #26
72370 add lr, lr, r3
72371 add r1, r1, r3
72372 add r8, r8, r2, asl #6
72373 str lr, [sp, #40]
72374.L22966:
72375 ands ip, fp, #7
72376 beq .L22229
72377 cmp ip, #3
72378 ldrls r2, [r8, #4]
72379 bls .L23001
72380 ldr r2, [r8, #4]
72381 cmp r2, #0
72382 beq .L22991
72383 tst r2, #255
72384 ldrne r0, [sp, #40]
72385 mov r3, r2, lsr #8
72386 ldrneh r0, [r0, #6]
72387 strneh r0, [r1, #6] @ movhi
72388 tst r3, #255
72389 ldrne r3, [sp, #40]
72390 ldrneh r3, [r3, #4]
72391 strneh r3, [r1, #4] @ movhi
72392 mov r3, r2, lsr #16
72393 tst r3, #255
72394 ldrne r4, [sp, #40]
72395 ldrneh r4, [r4, #2]
72396 strneh r4, [r1, #2] @ movhi
72397 movs r2, r2, lsr #24
72398 ldrne r5, [sp, #40]
72399 ldrneh r5, [r5, #0]
72400 strneh r5, [r1, #0] @ movhi
72401.L22991:
72402 subs ip, ip, #4
72403 ldr r2, [r8, #0]
72404 beq .L22229
72405 ldr r6, [sp, #40]
72406 add r1, r1, #8
72407 add r6, r6, #8
72408 str r6, [sp, #40]
72409.L23001:
72410 mov r3, #0
72411.L23002:
72412 movs lr, r2, lsr #24
72413 ldrne r4, [sp, #40]
72414 mov r0, r3, asl #1
72415 ldrneh r4, [r0, r4]
72416 add r3, r3, #1
72417 strneh r4, [r0, r1] @ movhi
72418 cmp ip, r3
72419 mov r2, r2, asl #8
72420 bhi .L23002
72421 b .L22229
72422.L23066:
72423 rsb r8, r9, r1
72424 cmp r8, #0
72425 ble .L22229
72426 ldr r2, [sp, #4]
72427 movs r3, r8, lsr #3
72428 add r1, r2, r9, asl #1
72429 beq .L22541
72430 ldr lr, [sp, #40]
72431 mov ip, r1
72432 mov r6, r0
72433 mov r7, #0
72434.L22543:
72435 ldr r2, [r6, #0]
72436 cmp r2, #0
72437 beq .L22544
72438 tst r2, #15
72439 ldrneh r4, [lr, #14]
72440 strneh r4, [ip, #14] @ movhi
72441 tst r2, #240
72442 ldrneh r5, [lr, #12]
72443 strneh r5, [ip, #12] @ movhi
72444 tst r2, #3840
72445 ldrneh r4, [lr, #10]
72446 strneh r4, [ip, #10] @ movhi
72447 tst r2, #61440
72448 ldrneh r5, [lr, #8]
72449 strneh r5, [ip, #8] @ movhi
72450 tst r2, #983040
72451 ldrneh r4, [lr, #6]
72452 strneh r4, [ip, #6] @ movhi
72453 tst r2, #15728640
72454 ldrneh r5, [lr, #4]
72455 strneh r5, [ip, #4] @ movhi
72456 tst r2, #251658240
72457 ldrneh r4, [lr, #2]
72458 strneh r4, [ip, #2] @ movhi
72459 movs r2, r2, lsr #28
72460 ldrneh r5, [lr, #0]
72461 strneh r5, [ip, #0] @ movhi
72462.L22544:
72463 add r7, r7, #1
72464 cmp r7, r3
72465 sub r6, r6, #32
72466 add ip, ip, #16
72467 add lr, lr, #16
72468 bne .L22543
72469 ldr r6, [sp, #40]
72470 rsb r2, r3, r3, asl #27
72471 mov r3, r3, asl #4
72472 add r6, r6, r3
72473 add r1, r1, r3
72474 add r0, r0, r2, asl #5
72475 str r6, [sp, #40]
72476.L22541:
72477 ands ip, r8, #7
72478 beq .L22229
72479 ldr r0, [r0, #0]
72480 mov r2, #0
72481.L22563:
72482 movs lr, r0, lsr #28
72483 ldrne r4, [sp, #40]
72484 mov r3, r2, asl #1
72485 ldrneh r4, [r3, r4]
72486 add r2, r2, #1
72487 strneh r4, [r3, r1] @ movhi
72488 cmp r2, ip
72489 mov r0, r0, asl #4
72490 bne .L22563
72491 b .L22229
72492.L23068:
72493 rsb r8, r9, r1
72494 cmp r8, #0
72495 ble .L22229
72496 ldr r2, [sp, #4]
72497 movs r7, r8, lsr #3
72498 add r1, r2, r9, asl #1
72499 beq .L22411
72500 ldr lr, [sp, #40]
72501 mov ip, r1
72502 mov r6, r0
72503 mov r2, #0
72504.L22413:
72505 ldr r3, [r6, #0]
72506 cmp r3, #0
72507 beq .L22414
72508 tst r3, #15
72509 ldrneh r4, [lr, #0]
72510 strneh r4, [ip, #0] @ movhi
72511 tst r3, #240
72512 ldrneh r5, [lr, #2]
72513 strneh r5, [ip, #2] @ movhi
72514 tst r3, #3840
72515 ldrneh r4, [lr, #4]
72516 strneh r4, [ip, #4] @ movhi
72517 tst r3, #61440
72518 ldrneh r5, [lr, #6]
72519 strneh r5, [ip, #6] @ movhi
72520 tst r3, #983040
72521 ldrneh r4, [lr, #8]
72522 strneh r4, [ip, #8] @ movhi
72523 tst r3, #15728640
72524 ldrneh r5, [lr, #10]
72525 strneh r5, [ip, #10] @ movhi
72526 tst r3, #251658240
72527 ldrneh r4, [lr, #12]
72528 strneh r4, [ip, #12] @ movhi
72529 movs r3, r3, lsr #28
72530 ldrneh r5, [lr, #14]
72531 strneh r5, [ip, #14] @ movhi
72532.L22414:
72533 add r2, r2, #1
72534 cmp r2, r7
72535 add r6, r6, #32
72536 add ip, ip, #16
72537 add lr, lr, #16
72538 bne .L22413
72539 ldr r6, [sp, #40]
72540 mov r3, r7, asl #4
72541 add r6, r6, r3
72542 add r1, r1, r3
72543 add r0, r0, r7, asl #5
72544 str r6, [sp, #40]
72545.L22411:
72546 ands ip, r8, #7
72547 beq .L22229
72548 ldr r0, [r0, #0]
72549 mov r2, #0
72550.L22433:
72551 tst r0, #15
72552 ldrne lr, [sp, #40]
72553 mov r3, r2, asl #1
72554 ldrneh lr, [r3, lr]
72555 add r2, r2, #1
72556 strneh lr, [r3, r1] @ movhi
72557 cmp r2, ip
72558 mov r0, r0, lsr #4
72559 bne .L22433
72560 b .L22229
72561.L23064:
72562 rsb fp, r9, r4
72563 cmp fp, #0
72564 ble .L22229
72565 ldr r5, [sp, #4]
72566 movs sl, fp, lsr #3
72567 add r1, r5, r9, asl #1
72568 beq .L22746
72569 ldr r3, .L23084+48
72570 ldr r6, [sp, #40]
72571 add r0, r0, r3
72572 mov lr, r1
72573 mov r7, r2
72574 mov r8, #0
72575.L22748:
72576 ldr ip, [r7, #0]
72577 cmp ip, #0
72578 beq .L22749
72579 tst ip, #255
72580 ldrneh r3, [r6, #0]
72581 strneh r3, [lr, #0] @ movhi
72582 mov r3, ip, lsr #8
72583 tst r3, #255
72584 ldrneh r4, [r6, #2]
72585 mov r3, ip, lsr #16
72586 strneh r4, [lr, #2] @ movhi
72587 tst r3, #255
72588 ldrneh r5, [r6, #4]
72589 strneh r5, [lr, #4] @ movhi
72590 movs ip, ip, lsr #24
72591 ldrneh ip, [r6, #6]
72592 strneh ip, [lr, #6] @ movhi
72593.L22749:
72594 ldr ip, [r0, #-60]
72595 cmp ip, #0
72596 beq .L22758
72597 tst ip, #255
72598 ldrneh r3, [r6, #8]
72599 strneh r3, [lr, #8] @ movhi
72600 mov r3, ip, lsr #8
72601 tst r3, #255
72602 ldrneh r4, [r6, #10]
72603 mov r3, ip, lsr #16
72604 strneh r4, [lr, #10] @ movhi
72605 tst r3, #255
72606 ldrneh r5, [r6, #12]
72607 strneh r5, [lr, #12] @ movhi
72608 movs ip, ip, lsr #24
72609 ldrneh ip, [r6, #14]
72610 strneh ip, [lr, #14] @ movhi
72611.L22758:
72612 add r8, r8, #1
72613 cmp r8, sl
72614 add r7, r7, #64
72615 add lr, lr, #16
72616 add r6, r6, #16
72617 add r0, r0, #64
72618 bne .L22748
72619 ldr lr, [sp, #40]
72620 mov r3, sl, asl #4
72621 add lr, lr, r3
72622 add r1, r1, r3
72623 add r2, r2, sl, asl #6
72624 str lr, [sp, #40]
72625.L22746:
72626 ands ip, fp, #7
72627 beq .L22229
72628 cmp ip, #3
72629 ldrls r3, [r2, #0]
72630 bls .L22781
72631 ldr r0, [r2, #0]
72632 cmp r0, #0
72633 beq .L22771
72634 tst r0, #255
72635 ldrne r3, [sp, #40]
72636 ldrneh r3, [r3, #0]
72637 strneh r3, [r1, #0] @ movhi
72638 mov r3, r0, lsr #8
72639 tst r3, #255
72640 ldrne r4, [sp, #40]
72641 mov r3, r0, lsr #16
72642 ldrneh r4, [r4, #2]
72643 strneh r4, [r1, #2] @ movhi
72644 tst r3, #255
72645 ldrne r5, [sp, #40]
72646 ldrneh r5, [r5, #4]
72647 strneh r5, [r1, #4] @ movhi
72648 movs r0, r0, lsr #24
72649 ldrne r6, [sp, #40]
72650 ldrneh r6, [r6, #6]
72651 strneh r6, [r1, #6] @ movhi
72652.L22771:
72653 subs ip, ip, #4
72654 ldr r3, [r2, #4]
72655 beq .L22229
72656 ldr lr, [sp, #40]
72657 add r1, r1, #8
72658 add lr, lr, #8
72659 str lr, [sp, #40]
72660.L22781:
72661 mov r2, #0
72662.L22782:
72663 tst r3, #255
72664 ldrne r4, [sp, #40]
72665 mov r0, r2, asl #1
72666 ldrneh r4, [r0, r4]
72667 add r2, r2, #1
72668 strneh r4, [r0, r1] @ movhi
72669 cmp ip, r2
72670 mov r3, r3, lsr #8
72671 bhi .L22782
72672 b .L22229
72673.L22330:
72674 mov r3, ip, lsr #3
72675 mov r1, r3, asl #5
72676 ands r3, ip, #7
72677 ldreq r3, [sp, #100]
72678 add ip, r0, r1
72679 bne .L23072
72680.L22379:
72681 movs r0, lr, lsr #3
72682 beq .L22229
72683 mov r1, #0
72684 b .L22389
72685.L23073:
72686 ldr lr, [sp, #40]
72687 add ip, ip, #32
72688 add lr, lr, #16
72689 add r3, r3, #16
72690 str lr, [sp, #40]
72691.L22389:
72692 ldr r2, [ip, #0]
72693 cmp r2, #0
72694 beq .L22390
72695 tst r2, #15
72696 ldrne lr, [sp, #40]
72697 ldrneh lr, [lr, #0]
72698 strneh lr, [r3, #0] @ movhi
72699 tst r2, #240
72700 ldrne r4, [sp, #40]
72701 ldrneh r4, [r4, #2]
72702 strneh r4, [r3, #2] @ movhi
72703 tst r2, #3840
72704 ldrne r5, [sp, #40]
72705 ldrneh r5, [r5, #4]
72706 strneh r5, [r3, #4] @ movhi
72707 tst r2, #61440
72708 ldrne r6, [sp, #40]
72709 ldrneh r6, [r6, #6]
72710 strneh r6, [r3, #6] @ movhi
72711 tst r2, #983040
72712 ldrne lr, [sp, #40]
72713 ldrneh lr, [lr, #8]
72714 strneh lr, [r3, #8] @ movhi
72715 tst r2, #15728640
72716 ldrne r4, [sp, #40]
72717 ldrneh r4, [r4, #10]
72718 strneh r4, [r3, #10] @ movhi
72719 tst r2, #251658240
72720 ldrne r5, [sp, #40]
72721 ldrneh r5, [r5, #12]
72722 strneh r5, [r3, #12] @ movhi
72723 movs r2, r2, lsr #28
72724 ldrne r6, [sp, #40]
72725 ldrneh r6, [r6, #14]
72726 strneh r6, [r3, #14] @ movhi
72727.L22390:
72728 add r1, r1, #1
72729 cmp r1, r0
72730 bne .L23073
72731 b .L22229
72732.L22590:
72733 ands r1, r0, #7
72734 mov r3, r0, lsr #3
72735 add r0, r2, r3, asl #6
72736 ldreq r1, [sp, #100]
72737 bne .L23074
72738.L22694:
72739 movs lr, lr, lsr #3
72740 beq .L22229
72741 mov ip, #0
72742 b .L22723
72743.L23075:
72744 ldr r2, [sp, #40]
72745 add r0, r0, #64
72746 add r2, r2, #16
72747 add r1, r1, #16
72748 str r2, [sp, #40]
72749.L22723:
72750 ldr r2, [r0, #0]
72751 cmp r2, #0
72752 beq .L22724
72753 tst r2, #255
72754 ldrne r3, [sp, #40]
72755 ldrneh r3, [r3, #0]
72756 strneh r3, [r1, #0] @ movhi
72757 mov r3, r2, lsr #8
72758 tst r3, #255
72759 ldrne r4, [sp, #40]
72760 mov r3, r2, lsr #16
72761 ldrneh r4, [r4, #2]
72762 strneh r4, [r1, #2] @ movhi
72763 tst r3, #255
72764 ldrne r5, [sp, #40]
72765 ldrneh r5, [r5, #4]
72766 strneh r5, [r1, #4] @ movhi
72767 movs r2, r2, lsr #24
72768 ldrne r6, [sp, #40]
72769 ldrneh r6, [r6, #6]
72770 strneh r6, [r1, #6] @ movhi
72771.L22724:
72772 ldr r2, [r0, #4]
72773 cmp r2, #0
72774 beq .L22733
72775 tst r2, #255
72776 ldrne r3, [sp, #40]
72777 ldrneh r3, [r3, #8]
72778 strneh r3, [r1, #8] @ movhi
72779 mov r3, r2, lsr #8
72780 tst r3, #255
72781 ldrne r4, [sp, #40]
72782 mov r3, r2, lsr #16
72783 ldrneh r4, [r4, #10]
72784 strneh r4, [r1, #10] @ movhi
72785 tst r3, #255
72786 ldrne r5, [sp, #40]
72787 ldrneh r5, [r5, #12]
72788 strneh r5, [r1, #12] @ movhi
72789 movs r2, r2, lsr #24
72790 ldrne r6, [sp, #40]
72791 ldrneh r6, [r6, #14]
72792 strneh r6, [r1, #14] @ movhi
72793.L22733:
72794 add ip, ip, #1
72795 cmp ip, lr
72796 bne .L23075
72797 b .L22229
72798.L22810:
72799 ands r2, r0, #7
72800 mov r3, r0, lsr #3
72801 sub r0, r8, r3, asl #6
72802 ldreq r1, [sp, #100]
72803 bne .L23076
72804.L22914:
72805 movs lr, lr, lsr #3
72806 beq .L22229
72807 mov ip, #0
72808 b .L22943
72809.L23077:
72810 ldr r2, [sp, #40]
72811 sub r0, r0, #64
72812 add r2, r2, #16
72813 add r1, r1, #16
72814 str r2, [sp, #40]
72815.L22943:
72816 ldr r2, [r0, #4]
72817 cmp r2, #0
72818 beq .L22944
72819 tst r2, #255
72820 ldrne r3, [sp, #40]
72821 ldrneh r3, [r3, #6]
72822 strneh r3, [r1, #6] @ movhi
72823 mov r3, r2, lsr #8
72824 tst r3, #255
72825 ldrne r4, [sp, #40]
72826 mov r3, r2, lsr #16
72827 ldrneh r4, [r4, #4]
72828 strneh r4, [r1, #4] @ movhi
72829 tst r3, #255
72830 ldrne r5, [sp, #40]
72831 ldrneh r5, [r5, #2]
72832 strneh r5, [r1, #2] @ movhi
72833 movs r2, r2, lsr #24
72834 ldrne r6, [sp, #40]
72835 ldrneh r6, [r6, #0]
72836 strneh r6, [r1, #0] @ movhi
72837.L22944:
72838 ldr r2, [r0, #0]
72839 cmp r2, #0
72840 beq .L22953
72841 tst r2, #255
72842 ldrne r3, [sp, #40]
72843 ldrneh r3, [r3, #14]
72844 strneh r3, [r1, #14] @ movhi
72845 mov r3, r2, lsr #8
72846 tst r3, #255
72847 ldrne r4, [sp, #40]
72848 mov r3, r2, lsr #16
72849 ldrneh r4, [r4, #12]
72850 strneh r4, [r1, #12] @ movhi
72851 tst r3, #255
72852 ldrne r5, [sp, #40]
72853 ldrneh r5, [r5, #10]
72854 strneh r5, [r1, #10] @ movhi
72855 movs r2, r2, lsr #24
72856 ldrne r6, [sp, #40]
72857 ldrneh r6, [r6, #8]
72858 strneh r6, [r1, #8] @ movhi
72859.L22953:
72860 add ip, ip, #1
72861 cmp ip, lr
72862 bne .L23077
72863 b .L22229
72864.L22460:
72865 mov r3, ip, lsr #3
72866 ands r2, ip, #7
72867 sub r0, r0, r3, asl #5
72868 ldreq r3, [sp, #100]
72869 bne .L23078
72870.L22509:
72871 movs r1, r1, lsr #3
72872 beq .L22229
72873 mov r2, #0
72874 b .L22519
72875.L23079:
72876 ldr ip, [sp, #40]
72877 sub r0, r0, #32
72878 add ip, ip, #16
72879 add r3, r3, #16
72880 str ip, [sp, #40]
72881.L22519:
72882 ldr ip, [r0, #0]
72883 cmp ip, #0
72884 beq .L22520
72885 tst ip, #15
72886 ldrne lr, [sp, #40]
72887 ldrneh lr, [lr, #14]
72888 strneh lr, [r3, #14] @ movhi
72889 tst ip, #240
72890 ldrne r4, [sp, #40]
72891 ldrneh r4, [r4, #12]
72892 strneh r4, [r3, #12] @ movhi
72893 tst ip, #3840
72894 ldrne r5, [sp, #40]
72895 ldrneh r5, [r5, #10]
72896 strneh r5, [r3, #10] @ movhi
72897 tst ip, #61440
72898 ldrne r6, [sp, #40]
72899 ldrneh r6, [r6, #8]
72900 strneh r6, [r3, #8] @ movhi
72901 tst ip, #983040
72902 ldrne lr, [sp, #40]
72903 ldrneh lr, [lr, #6]
72904 strneh lr, [r3, #6] @ movhi
72905 tst ip, #15728640
72906 ldrne r4, [sp, #40]
72907 ldrneh r4, [r4, #4]
72908 strneh r4, [r3, #4] @ movhi
72909 tst ip, #251658240
72910 ldrne r5, [sp, #40]
72911 ldrneh r5, [r5, #2]
72912 strneh r5, [r3, #2] @ movhi
72913 movs ip, ip, lsr #28
72914 ldrne r6, [sp, #40]
72915 ldrneh r6, [r6, #0]
72916 strneh r6, [r3, #0] @ movhi
72917.L22520:
72918 add r2, r2, #1
72919 cmp r2, r1
72920 bne .L23079
72921 b .L22229
72922.L23078:
72923 rsbs r6, r2, #8
72924 ldr ip, [r0, #0]
72925 ldreq r3, [sp, #100]
72926 beq .L22512
72927 mov r3, r2, asl #2
72928 mov r3, ip, asl r3
72929 mov lr, #0
72930.L22513:
72931 movs r5, r3, lsr #28
72932 ldrne r2, [sp, #40]
72933 mov ip, lr, asl #1
72934 ldrneh r4, [ip, r2]
72935 ldrne r2, [sp, #100]
72936 add lr, lr, #1
72937 strneh r4, [ip, r2] @ movhi
72938 cmp lr, r6
72939 mov r3, r3, asl #4
72940 bne .L22513
72941 ldr r5, [sp, #40]
72942 mov r3, r6, asl #1
72943 ldr r6, [sp, #100]
72944 add r5, r5, r3
72945 str r5, [sp, #40]
72946 add r3, r6, r3
72947.L22512:
72948 sub r0, r0, #32
72949 b .L22509
72950.L23076:
72951 cmp r2, #3
72952 rsb ip, r2, #8
72953 bls .L22915
72954 cmp ip, #0
72955 ldr r1, [r0, #0]
72956 ldreq r1, [sp, #100]
72957 beq .L22919
72958 mov r3, r2, asl #3
72959 sub r3, r3, #32
72960 mov r3, r1, asl r3
72961 mov r1, #0
72962.L22920:
72963 movs r5, r3, lsr #24
72964 ldrne r6, [sp, #40]
72965 mov r2, r1, asl #1
72966 ldrneh r4, [r2, r6]
72967 ldrne r6, [sp, #100]
72968 add r1, r1, #1
72969 strneh r4, [r2, r6] @ movhi
72970 cmp r1, ip
72971 mov r3, r3, asl #8
72972 bne .L22920
72973 ldr r5, [sp, #40]
72974 mov r3, ip, asl #1
72975 ldr r6, [sp, #100]
72976 add r5, r5, r3
72977 str r5, [sp, #40]
72978 add r1, r6, r3
72979.L22919:
72980 sub r0, r0, #64
72981 b .L22914
72982.L23074:
72983 cmp r1, #3
72984 rsb ip, r1, #8
72985 bls .L22695
72986 cmp ip, #0
72987 ldr r2, [r0, #4]
72988 ldreq r1, [sp, #100]
72989 beq .L22699
72990 mov r3, r1, asl #3
72991 sub r3, r3, #32
72992 mov r3, r2, lsr r3
72993 mov r1, #0
72994.L22700:
72995 tst r3, #255
72996 ldrne r5, [sp, #40]
72997 mov r2, r1, asl #1
72998 ldrneh r6, [r2, r5]
72999 ldrne r5, [sp, #100]
73000 add r1, r1, #1
73001 strneh r6, [r2, r5] @ movhi
73002 cmp ip, r1
73003 mov r3, r3, lsr #8
73004 bne .L22700
73005 mov r3, ip, asl #1
73006 ldr ip, [sp, #40]
73007 ldr r2, [sp, #100]
73008 add ip, ip, r3
73009 str ip, [sp, #40]
73010 add r1, r2, r3
73011.L22699:
73012 add r0, r0, #64
73013 b .L22694
73014.L23072:
73015 rsbs r6, r3, #8
73016 ldr r0, [r0, r1]
73017 ldreq r3, [sp, #100]
73018 beq .L22382
73019 mov r3, r3, asl #2
73020 mov r0, r0, lsr r3
73021 mov r2, #0
73022.L22383:
73023 tst r0, #15
73024 ldrne r1, [sp, #40]
73025 mov r3, r2, asl #1
73026 ldrneh r4, [r3, r1]
73027 ldrne r1, [sp, #100]
73028 add r2, r2, #1
73029 strneh r4, [r3, r1] @ movhi
73030 cmp r6, r2
73031 mov r0, r0, lsr #4
73032 bne .L22383
73033 ldr r5, [sp, #40]
73034 mov r3, r6, asl #1
73035 ldr r6, [sp, #100]
73036 add r5, r5, r3
73037 str r5, [sp, #40]
73038 add r3, r6, r3
73039.L22382:
73040 add ip, ip, #32
73041 b .L22379
73042.L22812:
73043 ldr lr, [sp, #120]
73044 rsb r0, ip, #8
73045 cmp lr, r0
73046 bge .L22815
73047 cmp lr, #0
73048 ble .L22229
73049 cmp ip, #3
73050 bls .L22818
73051 ldr r2, [sl, #0]
73052 mov r3, ip, asl #3
73053 sub r3, r3, #32
73054 mov r2, r2, asl r3
73055 mov r1, #0
73056.L22821:
73057 movs r0, r2, lsr #24
73058 ldrne r4, [sp, #40]
73059 mov r3, r1, asl #1
73060 ldrneh r5, [r3, r4]
73061 ldr r6, [sp, #120]
73062 ldrne r4, [sp, #100]
73063 add r1, r1, #1
73064 strneh r5, [r3, r4] @ movhi
73065 cmp r6, r1
73066 mov r2, r2, asl #8
73067 bne .L22821
73068 b .L22229
73069.L22592:
73070 ldr r5, [sp, #120]
73071 rsb r0, ip, #8
73072 cmp r5, r0
73073 bge .L22595
73074 cmp r5, #0
73075 ble .L22229
73076 cmp ip, #3
73077 bls .L22598
73078 ldr r2, [sl, #4]
73079 mov r3, ip, asl #3
73080 sub r3, r3, #32
73081 mov r1, r2, lsr r3
73082 mov r2, #0
73083.L22601:
73084 tst r1, #255
73085 ldrne r6, [sp, #40]
73086 mov r3, r2, asl #1
73087 ldrneh ip, [r3, r6]
73088 ldr lr, [sp, #120]
73089 ldrne r6, [sp, #100]
73090 add r2, r2, #1
73091 strneh ip, [r3, r6] @ movhi
73092 cmp lr, r2
73093 mov r1, r1, lsr #8
73094 bne .L22601
73095 b .L22229
73096.L22332:
73097 ldr r5, [sp, #120]
73098 rsb ip, r3, #8
73099 cmp r5, ip
73100 bge .L22335
73101 cmp r5, #0
73102 ble .L22229
73103 ldr r2, [r0, r1]
73104 mov r3, r3, asl #2
73105 mov r0, r2, lsr r3
73106 mov r2, #0
73107.L22339:
73108 tst r0, #15
73109 ldrne r6, [sp, #40]
73110 mov r3, r2, asl #1
73111 ldrneh ip, [r3, r6]
73112 ldr lr, [sp, #120]
73113 ldrne r6, [sp, #100]
73114 add r2, r2, #1
73115 strneh ip, [r3, r6] @ movhi
73116 cmp lr, r2
73117 mov r0, r0, lsr #4
73118 bne .L22339
73119 b .L22229
73120.L22462:
73121 ldr ip, [sp, #120]
73122 rsb lr, r6, #8
73123 cmp ip, lr
73124 bge .L22465
73125 cmp ip, #0
73126 ble .L22229
73127 ldr r2, [r0, #0]
73128 mov r3, r6, asl #2
73129 mov r0, r2, asl r3
73130 mov r2, #0
73131.L22469:
73132 movs lr, r0, lsr #28
73133 ldrne r1, [sp, #40]
73134 mov r3, r2, asl #1
73135 ldrneh r4, [r3, r1]
73136 ldr r5, [sp, #120]
73137 ldrne r1, [sp, #100]
73138 add r2, r2, #1
73139 strneh r4, [r3, r1] @ movhi
73140 cmp r5, r2
73141 mov r0, r0, asl #4
73142 bne .L22469
73143 b .L22229
73144.L22915:
73145 subs r6, ip, #4
73146 ldr r1, [r0, #4]
73147 ldreq r1, [sp, #100]
73148 beq .L22927
73149 mov r3, r2, asl #3
73150 sub r3, r3, #32
73151 mov r3, r1, asl r3
73152 mov r1, #0
73153.L22928:
73154 movs r2, r3, lsr #24
73155 ldrne r4, [sp, #40]
73156 mov r2, r1, asl #1
73157 ldrneh r5, [r2, r4]
73158 ldrne r4, [sp, #100]
73159 add r1, r1, #1
73160 strneh r5, [r2, r4] @ movhi
73161 cmp r1, r6
73162 mov r3, r3, asl #8
73163 bne .L22928
73164 ldr r6, [sp, #40]
73165 mov r3, ip, asl #1
73166 ldr ip, [sp, #100]
73167 add r2, r6, r3
73168 sub r2, r2, #8
73169 add r3, ip, r3
73170 str r2, [sp, #40]
73171 sub r1, r3, #8
73172.L22927:
73173 ldr r2, [r0, #0]
73174 cmp r2, #0
73175 beq .L22933
73176 tst r2, #255
73177 ldrne r3, [sp, #40]
73178 ldrneh r3, [r3, #6]
73179 strneh r3, [r1, #6] @ movhi
73180 mov r3, r2, lsr #8
73181 tst r3, #255
73182 ldrne r4, [sp, #40]
73183 mov r3, r2, lsr #16
73184 ldrneh r4, [r4, #4]
73185 strneh r4, [r1, #4] @ movhi
73186 tst r3, #255
73187 ldrne r5, [sp, #40]
73188 ldrneh r5, [r5, #2]
73189 strneh r5, [r1, #2] @ movhi
73190 movs r2, r2, lsr #24
73191 ldrne r6, [sp, #40]
73192 ldrneh r6, [r6, #0]
73193 strneh r6, [r1, #0] @ movhi
73194.L22933:
73195 ldr ip, [sp, #40]
73196 add r1, r1, #8
73197 add ip, ip, #8
73198 sub r0, r0, #64
73199 str ip, [sp, #40]
73200 b .L22914
73201.L22695:
73202 subs r6, ip, #4
73203 ldr r2, [r0, #0]
73204 ldreq r1, [sp, #100]
73205 beq .L22707
73206 mov r3, r1, asl #3
73207 mov r3, r2, lsr r3
73208 mov r1, #0
73209.L22708:
73210 tst r3, #255
73211 ldrne r4, [sp, #40]
73212 mov r2, r1, asl #1
73213 ldrneh r5, [r2, r4]
73214 ldrne r4, [sp, #100]
73215 add r1, r1, #1
73216 strneh r5, [r2, r4] @ movhi
73217 cmp r1, r6
73218 mov r3, r3, lsr #8
73219 bne .L22708
73220 ldr r6, [sp, #40]
73221 mov r3, ip, asl #1
73222 ldr ip, [sp, #100]
73223 add r2, r6, r3
73224 sub r2, r2, #8
73225 add r3, ip, r3
73226 str r2, [sp, #40]
73227 sub r1, r3, #8
73228.L22707:
73229 ldr r2, [r0, #4]
73230 cmp r2, #0
73231 beq .L22713
73232 tst r2, #255
73233 ldrne r3, [sp, #40]
73234 ldrneh r3, [r3, #0]
73235 strneh r3, [r1, #0] @ movhi
73236 mov r3, r2, lsr #8
73237 tst r3, #255
73238 ldrne r4, [sp, #40]
73239 mov r3, r2, lsr #16
73240 ldrneh r4, [r4, #2]
73241 strneh r4, [r1, #2] @ movhi
73242 tst r3, #255
73243 ldrne r5, [sp, #40]
73244 ldrneh r5, [r5, #4]
73245 strneh r5, [r1, #4] @ movhi
73246 movs r2, r2, lsr #24
73247 ldrne r6, [sp, #40]
73248 ldrneh r6, [r6, #6]
73249 strneh r6, [r1, #6] @ movhi
73250.L22713:
73251 ldr ip, [sp, #40]
73252 add r1, r1, #8
73253 add ip, ip, #8
73254 add r0, r0, #64
73255 str ip, [sp, #40]
73256 b .L22694
73257.L22595:
73258 cmp ip, #3
73259 bls .L22625
73260 cmp r0, #0
73261 ldr r2, [sl, #4]
73262 ldreq r7, [sp, #100]
73263 beq .L22629
73264 mov r3, ip, asl #3
73265 sub r3, r3, #32
73266 mov r1, r2, lsr r3
73267 mov r2, #0
73268.L22630:
73269 tst r1, #255
73270 ldrne lr, [sp, #40]
73271 mov r3, r2, asl #1
73272 ldrneh r4, [r3, lr]
73273 ldrne lr, [sp, #100]
73274 add r2, r2, #1
73275 strneh r4, [r3, lr] @ movhi
73276 cmp r0, r2
73277 mov r1, r1, lsr #8
73278 bne .L22630
73279 ldr r5, [sp, #40]
73280 mov r3, r0, asl #1
73281 ldr r6, [sp, #100]
73282 add r5, r5, r3
73283 str r5, [sp, #40]
73284 add r7, r3, r6
73285.L22629:
73286 ldr r6, [sp, #120]
73287 add sl, sl, #64
73288 rsb r8, r0, r6
73289 b .L22594
73290.L22335:
73291 cmp ip, #0
73292 ldr r2, [r6, #0]
73293 ldreq r7, [sp, #100]
73294 beq .L22345
73295 mov r3, r3, asl #2
73296 mov r3, r2, lsr r3
73297 mov r1, #0
73298.L22346:
73299 tst r3, #15
73300 ldrne r0, [sp, #40]
73301 mov r2, r1, asl #1
73302 ldrneh r4, [r2, r0]
73303 ldrne r0, [sp, #100]
73304 add r1, r1, #1
73305 strneh r4, [r2, r0] @ movhi
73306 cmp ip, r1
73307 mov r3, r3, lsr #4
73308 bne .L22346
73309 ldr r5, [sp, #40]
73310 mov r3, ip, asl #1
73311 ldr lr, [sp, #100]
73312 add r5, r5, r3
73313 str r5, [sp, #40]
73314 add r7, r3, lr
73315.L22345:
73316 ldr r0, [sp, #120]
73317 add r6, r6, #32
73318 rsb r5, ip, r0
73319 b .L22334
73320.L22465:
73321 cmp lr, #0
73322 ldr r2, [r0, #0]
73323 ldreq r1, [sp, #100]
73324 beq .L22475
73325 mov r3, r6, asl #2
73326 mov r3, r2, asl r3
73327 mov ip, #0
73328.L22476:
73329 movs r6, r3, lsr #28
73330 ldrne r1, [sp, #40]
73331 mov r2, ip, asl #1
73332 ldrneh r4, [r2, r1]
73333 ldrne r1, [sp, #100]
73334 add ip, ip, #1
73335 strneh r4, [r2, r1] @ movhi
73336 cmp lr, ip
73337 mov r3, r3, asl #4
73338 bne .L22476
73339 ldr r5, [sp, #40]
73340 mov r3, lr, asl #1
73341 ldr r6, [sp, #100]
73342 add r5, r5, r3
73343 str r5, [sp, #40]
73344 add r1, r3, r6
73345.L22475:
73346 ldr ip, [sp, #120]
73347 sub r0, r0, #32
73348 rsb r8, lr, ip
73349 b .L22464
73350.L22815:
73351 cmp ip, #3
73352 bls .L22845
73353 cmp r0, #0
73354 ldr r2, [sl, #0]
73355 ldreq r7, [sp, #100]
73356 beq .L22849
73357 mov r3, ip, asl #3
73358 sub r3, r3, #32
73359 mov r3, r2, asl r3
73360 mov r1, #0
73361.L22850:
73362 movs r2, r3, lsr #24
73363 ldrne r4, [sp, #40]
73364 mov r2, r1, asl #1
73365 ldrneh r5, [r2, r4]
73366 ldrne r4, [sp, #100]
73367 add r1, r1, #1
73368 strneh r5, [r2, r4] @ movhi
73369 cmp r0, r1
73370 mov r3, r3, asl #8
73371 bne .L22850
73372 ldr r6, [sp, #40]
73373 mov r3, r0, asl #1
73374 ldr ip, [sp, #100]
73375 add r6, r6, r3
73376 str r6, [sp, #40]
73377 add r7, ip, r3
73378.L22849:
73379 ldr ip, [sp, #120]
73380 sub sl, sl, #64
73381 rsb r8, r0, ip
73382 b .L22814
73383.L23082:
73384 mov r8, #0
73385 b .L22312
73386.L23083:
73387 mov r8, #0
73388 b .L22277
73389.L23081:
73390 ldr r1, [sp, #32]
73391 b .L23046
73392.L23080:
73393 ldr lr, [sp, #28]
73394 b .L23044
73395.L22845:
73396 subs lr, r0, #4
73397 ldr r2, [sl, #4]
73398 ldreq r1, [sp, #100]
73399 beq .L22857
73400 mov r3, ip, asl #3
73401 sub r3, r3, #32
73402 mov r3, r2, asl r3
73403 mov r1, #0
73404.L22858:
73405 movs r2, r3, lsr #24
73406 ldrne r4, [sp, #40]
73407 mov r2, r1, asl #1
73408 ldrneh r5, [r2, r4]
73409 ldrne r4, [sp, #100]
73410 add r1, r1, #1
73411 strneh r5, [r2, r4] @ movhi
73412 cmp r1, lr
73413 mov r3, r3, asl #8
73414 bne .L22858
73415 ldr r6, [sp, #40]
73416 mov r3, r0, asl #1
73417 ldr ip, [sp, #100]
73418 add r2, r6, r3
73419 sub r2, r2, #8
73420 add r3, ip, r3
73421 str r2, [sp, #40]
73422 sub r1, r3, #8
73423.L22857:
73424 ldr r2, [sl, #0]
73425 cmp r2, #0
73426 beq .L22863
73427 tst r2, #255
73428 ldrne lr, [sp, #40]
73429 mov r3, r2, lsr #8
73430 ldrneh lr, [lr, #6]
73431 strneh lr, [r1, #6] @ movhi
73432 tst r3, #255
73433 ldrne r3, [sp, #40]
73434 ldrneh r3, [r3, #4]
73435 strneh r3, [r1, #4] @ movhi
73436 mov r3, r2, lsr #16
73437 tst r3, #255
73438 ldrne r4, [sp, #40]
73439 ldrneh r4, [r4, #2]
73440 strneh r4, [r1, #2] @ movhi
73441 movs r2, r2, lsr #24
73442 ldrne r5, [sp, #40]
73443 ldrneh r5, [r5, #0]
73444 strneh r5, [r1, #0] @ movhi
73445.L22863:
73446 ldr r6, [sp, #40]
73447 add r7, r1, #8
73448 add r6, r6, #8
73449 str r6, [sp, #40]
73450 b .L22849
73451.L22625:
73452 subs lr, r0, #4
73453 ldr r2, [sl, #0]
73454 ldreq r1, [sp, #100]
73455 beq .L22637
73456 mov r3, ip, asl #3
73457 mov r1, r2, lsr r3
73458 mov r2, #0
73459.L22638:
73460 tst r1, #255
73461 ldrne ip, [sp, #40]
73462 mov r3, r2, asl #1
73463 ldrneh r4, [r3, ip]
73464 ldrne ip, [sp, #100]
73465 add r2, r2, #1
73466 strneh r4, [r3, ip] @ movhi
73467 cmp r2, lr
73468 mov r1, r1, lsr #8
73469 bne .L22638
73470 ldr r5, [sp, #40]
73471 mov r3, r0, asl #1
73472 ldr r6, [sp, #100]
73473 add r2, r5, r3
73474 sub r2, r2, #8
73475 add r3, r6, r3
73476 str r2, [sp, #40]
73477 sub r1, r3, #8
73478.L22637:
73479 ldr r2, [sl, #4]
73480 cmp r2, #0
73481 beq .L22643
73482 tst r2, #255
73483 ldrne ip, [sp, #40]
73484 mov r3, r2, lsr #8
73485 ldrneh ip, [ip, #0]
73486 strneh ip, [r1, #0] @ movhi
73487 tst r3, #255
73488 ldrne lr, [sp, #40]
73489 mov r3, r2, lsr #16
73490 ldrneh lr, [lr, #2]
73491 strneh lr, [r1, #2] @ movhi
73492 tst r3, #255
73493 ldrne r3, [sp, #40]
73494 ldrneh r3, [r3, #4]
73495 strneh r3, [r1, #4] @ movhi
73496 movs r2, r2, lsr #24
73497 ldrne r4, [sp, #40]
73498 ldrneh r4, [r4, #6]
73499 strneh r4, [r1, #6] @ movhi
73500.L22643:
73501 ldr r5, [sp, #40]
73502 add r7, r1, #8
73503 add r5, r5, #8
73504 str r5, [sp, #40]
73505 b .L22629
73506.L22818:
73507 ldr lr, [sp, #120]
73508 mov r3, ip, asl #3
73509 ldr r1, [sl, #4]
73510 add r2, lr, ip
73511 sub r3, r3, #32
73512 cmp r2, #4
73513 mov r1, r1, asl r3
73514 bhi .L22825
73515 cmp lr, #0
73516 movne r2, #0
73517 beq .L22229
73518.L22841:
73519 movs r5, r1, lsr #24
73520 ldrne r6, [sp, #40]
73521 mov r3, r2, asl #1
73522 ldrneh ip, [r3, r6]
73523 ldr lr, [sp, #120]
73524 ldrne r6, [sp, #100]
73525 add r2, r2, #1
73526 strneh ip, [r3, r6] @ movhi
73527 cmp lr, r2
73528 mov r1, r1, asl #8
73529 bne .L22841
73530 b .L22229
73531.L22598:
73532 ldr r0, [sp, #120]
73533 ldr r3, [sl, #0]
73534 add r2, r0, ip
73535 mov r1, ip, asl #3
73536 cmp r2, #4
73537 mov r3, r3, lsr r1
73538 bhi .L22605
73539 cmp r0, #0
73540 movne r1, #0
73541 beq .L22229
73542.L22621:
73543 tst r3, #255
73544 ldrne r5, [sp, #40]
73545 mov r2, r1, asl #1
73546 ldrneh r6, [r2, r5]
73547 ldr ip, [sp, #120]
73548 ldrne r5, [sp, #100]
73549 add r1, r1, #1
73550 strneh r6, [r2, r5] @ movhi
73551 cmp ip, r1
73552 mov r3, r3, lsr #8
73553 bne .L22621
73554 b .L22229
73555.L22825:
73556 rsbs r2, ip, #4
73557 ldreq r3, [sp, #100]
73558 beq .L22830
73559 mov r0, #0
73560.L22831:
73561 movs r3, r1, lsr #24
73562 ldrne r4, [sp, #40]
73563 mov r3, r0, asl #1
73564 ldrneh r5, [r3, r4]
73565 ldrne r4, [sp, #100]
73566 add r0, r0, #1
73567 strneh r5, [r3, r4] @ movhi
73568 cmp r0, r2
73569 mov r1, r1, asl #8
73570 bne .L22831
73571 ldr r6, [sp, #40]
73572 mov r3, r2, asl #1
73573 ldr ip, [sp, #100]
73574 add r6, r6, r3
73575 str r6, [sp, #40]
73576 add r3, r3, ip
73577.L22830:
73578 ldr lr, [sp, #120]
73579 subs ip, lr, r2
73580 ldr r2, [sl, #0]
73581 beq .L22229
73582 mov r0, #0
73583.L22837:
73584 movs r1, r2, lsr #24
73585 ldrne r4, [sp, #40]
73586 mov r1, r0, asl #1
73587 ldrneh r4, [r1, r4]
73588 add r0, r0, #1
73589 strneh r4, [r1, r3] @ movhi
73590 cmp r0, ip
73591 mov r2, r2, asl #8
73592 bne .L22837
73593 b .L22229
73594.L22605:
73595 rsbs r1, ip, #4
73596 ldreq ip, [sp, #100]
73597 beq .L22610
73598 mov r0, #0
73599.L22611:
73600 tst r3, #255
73601 ldrne r4, [sp, #40]
73602 mov r2, r0, asl #1
73603 ldrneh r5, [r2, r4]
73604 ldrne r4, [sp, #100]
73605 add r0, r0, #1
73606 strneh r5, [r2, r4] @ movhi
73607 cmp r0, r1
73608 mov r3, r3, lsr #8
73609 bne .L22611
73610 ldr r6, [sp, #40]
73611 mov r3, r1, asl #1
73612 ldr lr, [sp, #100]
73613 add r6, r6, r3
73614 str r6, [sp, #40]
73615 add ip, r3, lr
73616.L22610:
73617 ldr r2, [sp, #120]
73618 ldr r3, [sl, #4]
73619 subs r0, r2, r1
73620 beq .L22229
73621 mov r1, #0
73622.L22617:
73623 tst r3, #255
73624 ldrne r4, [sp, #40]
73625 mov r2, r1, asl #1
73626 ldrneh r4, [r2, r4]
73627 add r1, r1, #1
73628 strneh r4, [r2, ip] @ movhi
73629 cmp r1, r0
73630 mov r3, r3, lsr #8
73631 bne .L22617
73632 b .L22229
73633 .size render_scanline_obj_copy_bitmap_1D, .-render_scanline_obj_copy_bitmap_1D
73634 .align 2
73635 .global render_scanline_window_bitmap
73636 .type render_scanline_window_bitmap, %function
73637render_scanline_window_bitmap:
73638 @ args = 0, pretend = 0, frame = 20
73639 @ frame_needed = 0, uses_anonymous_args = 0
73640 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
73641 ldr lr, .L23662
73642 mov r2, r1, lsr #13
73643 ldrh ip, [lr, #74]
73644 ldr r3, .L23662+4
73645 and ip, ip, #63
73646 sub sp, sp, #32
73647 mov r6, r1
73648 sub r2, r2, #1
73649 and r1, r1, #7
73650 str ip, [sp, #12]
73651 add r9, r3, r1, asl #2
73652 mov r7, r0
73653 ldrh ip, [lr, #6]
73654 ldrh sl, [lr, #80]
73655 cmp r2, #6
73656 ldrls pc, [pc, r2, asl #2]
73657 b .L23576
73658 .p2align 2
73659.L23095:
73660 .word .L23088
73661 .word .L23089
73662 .word .L23090
73663 .word .L23091
73664 .word .L23092
73665 .word .L23093
73666 .word .L23094
73667.L23089:
73668 ldrh r3, [lr, #70]
73669 ldr r4, .L23662
73670 and r1, r3, #255
73671 mov r0, r3, lsr #8
73672 cmp r0, r1
73673 ldrh r2, [lr, #72]
73674 bls .L23117
73675 cmp ip, r0
73676 movls r3, #0
73677 movhi r3, #1
73678 cmp ip, r1
73679 orrls r3, r3, #1
73680 cmp r3, #0
73681 bne .L23125
73682.L23580:
73683 cmp r1, #227
73684 bhi .L23125
73685.L23121:
73686 mov r4, #240
73687 mov r5, r4
73688.L23133:
73689 mov r0, #0
73690 mov r1, r5
73691 mov r2, r7
73692 ldr r3, [sp, #12]
73693 stmia sp, {r6, sl} @ phole stm
73694 str r9, [sp, #8]
73695 bl render_scanline_conditional_bitmap
73696.L23134:
73697 cmp r5, r4
73698 beq .L23114
73699 mov r0, r5
73700 mov r3, r8
73701 mov r1, r4
73702 mov r2, r7
73703 stmia sp, {r6, sl} @ phole stm
73704 str r9, [sp, #8]
73705 bl render_scanline_conditional_bitmap
73706.L23114:
73707 cmp r4, #240
73708 beq .L23576
73709 ldr r3, [sp, #12]
73710 mov r0, r4
73711 mov r2, r7
73712.L23623:
73713 mov r1, #240
73714 stmia sp, {r6, sl} @ phole stm
73715 str r9, [sp, #8]
73716 bl render_scanline_conditional_bitmap
73717.L23576:
73718 add sp, sp, #32
73719 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
73720.L23088:
73721 ldrh r3, [lr, #68]
73722 ldr r4, .L23662
73723 and r2, r3, #255
73724 mov r1, r3, lsr #8
73725 cmp r1, r2
73726 ldrh r0, [lr, #72]
73727 bls .L23096
73728 cmp ip, r1
73729 movls r3, #0
73730 movhi r3, #1
73731 cmp ip, r2
73732 orrls r3, r3, #1
73733 cmp r3, #0
73734 beq .L23578
73735.L23104:
73736 cmp r1, #227
73737 bhi .L23121
73738 ldrh r3, [r4, #64]
73739 and r8, r0, #63
73740 and r4, r3, #255
73741 mov r3, r3, lsr #8
73742 cmp r3, #240
73743 movcc r5, r3
73744 movcs r5, #240
73745 cmp r4, #240
73746 bhi .L23645
73747.L23124:
73748 cmp r5, r4
73749 bls .L23128
73750 cmp r4, #0
73751 bne .L23646
73752.L23130:
73753 mov r0, r4
73754 ldr r3, [sp, #12]
73755 mov r2, r7
73756 mov r1, r5
73757 stmia sp, {r6, sl} @ phole stm
73758 str r9, [sp, #8]
73759 bl render_scanline_conditional_bitmap
73760 cmp r5, #240
73761 movne r0, r5
73762 movne r2, r7
73763 movne r3, r8
73764 bne .L23623
73765 b .L23576
73766.L23094:
73767 ldrh r3, [lr, #68]
73768 ldr r2, .L23662
73769 and r1, r3, #255
73770 mov r0, r3, lsr #8
73771 cmp r0, r1
73772 ldrh r4, [lr, #72]
73773 bls .L23360
73774 cmp ip, r0
73775 movls r3, #0
73776 movhi r3, #1
73777 cmp ip, r1
73778 orrls r3, r3, #1
73779 cmp r3, #0
73780 beq .L23639
73781.L23368:
73782 cmp r0, #227
73783 bls .L23647
73784.L23364:
73785 mov r8, #240
73786 mov fp, r8
73787.L23367:
73788 ldrh r3, [lr, #70]
73789 ldr r0, .L23662
73790 and r1, r3, #255
73791 mov r2, r3, lsr #8
73792 cmp r2, r1
73793 bls .L23371
73794 cmp ip, r2
73795 movls r3, #0
73796 movhi r3, #1
73797 cmp ip, r1
73798 orrls r3, r3, #1
73799 cmp r3, #0
73800 beq .L23640
73801.L23379:
73802 cmp r2, #227
73803 bls .L23648
73804.L23375:
73805 mov r5, #240
73806 mov r4, r5
73807.L23378:
73808 cmp fp, r8
73809 bls .L23382
73810 cmp r8, #0
73811 bne .L23649
73812.L23384:
73813 cmp r4, #240
73814 beq .L23386
73815 cmp r4, r5
73816 bhi .L23650
73817 cmp r4, #0
73818 beq .L23426
73819 cmp r8, #0
73820 beq .L23428
73821 cmp r8, r4
73822 bcs .L23426
73823.L23428:
73824 cmp fp, r4
73825 bcs .L23437
73826 mov r0, r8
73827 mov r1, fp
73828 mov r2, r7
73829 ldr r3, [sp, #12]
73830 stmia sp, {r6, sl} @ phole stm
73831 str r9, [sp, #8]
73832 bl render_scanline_conditional_bitmap
73833 tst r6, #64
73834 beq .L23439
73835 mov r0, #4
73836 mov r1, r8
73837 mov r2, fp
73838 mov r3, r7
73839 bl render_scanline_obj_copy_bitmap_1D
73840.L23426:
73841 cmp r4, r5
73842 beq .L23443
73843 cmp r8, r4
73844 bls .L23445
73845 cmp r8, r5
73846 bcs .L23443
73847 cmp fp, r5
73848 ldrcc r3, [sp, #28]
73849 ldrcs r3, [sp, #28]
73850 movcc r0, r8
73851 movcc r1, fp
73852 movcs r0, r8
73853 movcs r1, r5
73854.L23612:
73855 mov r2, r7
73856 stmia sp, {r6, sl} @ phole stm
73857 str r9, [sp, #8]
73858 bl render_scanline_conditional_bitmap
73859.L23443:
73860 cmp r5, #240
73861 beq .L23418
73862 cmp r8, r5
73863 bls .L23454
73864 cmp r8, #239
73865 bhi .L23418
73866 cmp fp, #239
73867 bhi .L23457
73868 ldr r3, [sp, #12]
73869 mov r0, r8
73870 mov r1, fp
73871 mov r2, r7
73872 stmia sp, {r6, sl} @ phole stm
73873 str r9, [sp, #8]
73874 bl render_scanline_conditional_bitmap
73875 tst r6, #64
73876 beq .L23459
73877 mov r1, r8
73878 mov r0, #4
73879 mov r2, fp
73880 mov r3, r7
73881 bl render_scanline_obj_copy_bitmap_1D
73882 b .L23422
73883.L23093:
73884 ldrh r3, [lr, #70]
73885 ldr r4, .L23662
73886 and r1, r3, #255
73887 mov r0, r3, lsr #8
73888 cmp r0, r1
73889 ldrh r2, [lr, #72]
73890 bls .L23330
73891 cmp ip, r0
73892 movls r3, #0
73893 movhi r3, #1
73894 cmp ip, r1
73895 orrls r3, r3, #1
73896 cmp r3, #0
73897 beq .L23605
73898.L23338:
73899 cmp r0, #227
73900 bls .L23651
73901.L23334:
73902 mov r4, #240
73903 mov r5, r4
73904.L23349:
73905 mov r0, #0
73906 mov r1, r5
73907 mov r2, r7
73908 ldr r3, [sp, #12]
73909 stmia sp, {r6, sl} @ phole stm
73910 str r9, [sp, #8]
73911 bl render_scanline_conditional_bitmap
73912.L23350:
73913 ands r8, r6, #64
73914 beq .L23351
73915 mov r0, #4
73916 mov r1, #0
73917 mov r2, r5
73918 mov r3, r7
73919 bl render_scanline_obj_copy_bitmap_1D
73920.L23353:
73921 cmp r4, r5
73922 beq .L23354
73923.L23642:
73924 mov r0, r5
73925 mov r3, fp
73926 mov r1, r4
73927 mov r2, r7
73928 stmia sp, {r6, sl} @ phole stm
73929 str r9, [sp, #8]
73930 bl render_scanline_conditional_bitmap
73931.L23354:
73932 cmp r4, #240
73933 beq .L23356
73934 ldr r3, [sp, #12]
73935 mov r0, r4
73936 mov r1, #240
73937 mov r2, r7
73938 stmia sp, {r6, sl} @ phole stm
73939 str r9, [sp, #8]
73940 bl render_scanline_conditional_bitmap
73941.L23356:
73942 cmp r8, #0
73943 movne r1, r4
73944 beq .L23652
73945.L23626:
73946 mov r3, r7
73947 mov r0, #4
73948 mov r2, #240
73949 add sp, sp, #32
73950 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
73951 b render_scanline_obj_copy_bitmap_1D
73952.L23092:
73953 ldrh r3, [lr, #68]
73954 ldr r4, .L23662
73955 and r1, r3, #255
73956 mov r0, r3, lsr #8
73957 cmp r0, r1
73958 ldrh r2, [lr, #72]
73959 bls .L23300
73960 cmp ip, r0
73961 movls r3, #0
73962 movhi r3, #1
73963 cmp ip, r1
73964 orrls r3, r3, #1
73965 cmp r3, #0
73966 beq .L23603
73967.L23308:
73968 cmp r0, #227
73969 bls .L23653
73970.L23304:
73971 mov r4, #240
73972 mov r5, r4
73973.L23319:
73974 mov r0, #0
73975 mov r1, r5
73976 mov r2, r7
73977 ldr r3, [sp, #12]
73978 stmia sp, {r6, sl} @ phole stm
73979 str r9, [sp, #8]
73980 bl render_scanline_conditional_bitmap
73981.L23320:
73982 ands r8, r6, #64
73983 beq .L23321
73984 mov r0, #4
73985 mov r1, #0
73986 mov r2, r5
73987 mov r3, r7
73988 bl render_scanline_obj_copy_bitmap_1D
73989.L23323:
73990 cmp r5, r4
73991 bne .L23642
73992 b .L23354
73993.L23090:
73994 ldrh r3, [lr, #68]
73995 ldr r2, .L23662
73996 and r1, r3, #255
73997 mov r0, r3, lsr #8
73998 cmp r0, r1
73999 ldrh r4, [lr, #72]
74000 bls .L23138
74001 cmp ip, r0
74002 movls r3, #0
74003 movhi r3, #1
74004 cmp ip, r1
74005 orrls r3, r3, #1
74006 cmp r3, #0
74007 beq .L23635
74008.L23146:
74009 cmp r0, #227
74010 bls .L23654
74011.L23142:
74012 mov r5, #240
74013 mov fp, r5
74014.L23145:
74015 ldrh r3, [lr, #70]
74016 ldr r0, .L23662
74017 and r1, r3, #255
74018 mov r2, r3, lsr #8
74019 cmp r2, r1
74020 bls .L23149
74021 cmp ip, r2
74022 movls r3, #0
74023 movhi r3, #1
74024 cmp ip, r1
74025 orrls r3, r3, #1
74026 cmp r3, #0
74027 beq .L23636
74028.L23157:
74029 cmp r2, #227
74030 bls .L23655
74031.L23153:
74032 mov r8, #240
74033 mov r4, r8
74034.L23156:
74035 cmp fp, r5
74036 bls .L23160
74037 cmp r5, #0
74038 bne .L23656
74039.L23162:
74040 cmp r4, #240
74041 beq .L23164
74042 cmp r4, r8
74043 bls .L23166
74044 cmp r8, #0
74045 beq .L23168
74046 cmp r5, #0
74047 beq .L23170
74048 cmp r5, r8
74049 bcs .L23168
74050 cmp fp, r8
74051 movcc r0, r5
74052 movcc r1, fp
74053 movcs r0, r5
74054 movcs r1, r8
74055 mov r2, r7
74056 ldr r3, [sp, #20]
74057 stmia sp, {r6, sl} @ phole stm
74058 str r9, [sp, #8]
74059 bl render_scanline_conditional_bitmap
74060.L23168:
74061 cmp r5, r8
74062 bls .L23177
74063 cmp r5, r4
74064 bcs .L23179
74065 cmp fp, r4
74066 ldrcc r3, [sp, #12]
74067 ldrcs r3, [sp, #12]
74068 movcc r0, r5
74069 movcc r1, fp
74070 movcs r0, r5
74071 movcs r1, r4
74072.L23585:
74073 mov r2, r7
74074 stmia sp, {r6, sl} @ phole stm
74075 str r9, [sp, #8]
74076 bl render_scanline_conditional_bitmap
74077.L23179:
74078 cmp r5, r4
74079 bls .L23186
74080 cmp r5, #239
74081 bhi .L23188
74082 cmp fp, #239
74083 movls r0, r5
74084 bls .L23589
74085 ldr r3, [sp, #20]
74086 mov r0, r5
74087 mov r1, #240
74088.L23588:
74089 mov r2, r7
74090 stmia sp, {r6, sl} @ phole stm
74091 str r9, [sp, #8]
74092 bl render_scanline_conditional_bitmap
74093.L23188:
74094 cmp fp, #240
74095 beq .L23576
74096.L23192:
74097 ldr r3, [sp, #16]
74098 mov r0, fp
74099 mov r2, r7
74100 b .L23623
74101.L23091:
74102 mov r1, #240
74103 ldr r3, [sp, #12]
74104 mov r0, #0
74105 mov r2, r7
74106 str sl, [sp, #4]
74107 str r9, [sp, #8]
74108 str r6, [sp, #0]
74109 bl render_scanline_conditional_bitmap
74110 ands r1, r6, #64
74111 beq .L23624
74112 mov r3, r7
74113 mov r0, #4
74114 mov r1, #0
74115 mov r2, #240
74116 add sp, sp, #32
74117 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
74118 b render_scanline_obj_copy_bitmap_1D
74119.L23117:
74120 cmp ip, r0
74121 movcc r3, #0
74122 movcs r3, #1
74123 cmp ip, r1
74124 movcs r3, #0
74125 cmp r3, #0
74126 beq .L23580
74127.L23125:
74128 cmp r0, #227
74129 bhi .L23121
74130 ldrh r3, [r4, #66]
74131 mov r2, r2, lsr #8
74132 and r4, r3, #255
74133 mov r3, r3, lsr #8
74134 cmp r3, #240
74135 movcc r5, r3
74136 movcs r5, #240
74137 cmp r4, #240
74138 and r8, r2, #63
74139 bls .L23124
74140.L23645:
74141 mov r4, #240
74142 b .L23124
74143.L23300:
74144 cmp ip, r0
74145 movcc r3, #0
74146 movcs r3, #1
74147 cmp ip, r1
74148 movcs r3, #0
74149 cmp r3, #0
74150 bne .L23308
74151.L23603:
74152 cmp r1, #227
74153 bls .L23304
74154 b .L23308
74155.L23149:
74156 cmp ip, r2
74157 movcc r3, #0
74158 movcs r3, #1
74159 cmp ip, r1
74160 movcs r3, #0
74161 cmp r3, #0
74162 bne .L23157
74163.L23636:
74164 cmp r1, #227
74165 bls .L23153
74166 b .L23157
74167.L23138:
74168 cmp ip, r0
74169 movcc r3, #0
74170 movcs r3, #1
74171 cmp ip, r1
74172 movcs r3, #0
74173 cmp r3, #0
74174 bne .L23146
74175.L23635:
74176 cmp r1, #227
74177 bls .L23142
74178 b .L23146
74179.L23371:
74180 cmp ip, r2
74181 movcc r3, #0
74182 movcs r3, #1
74183 cmp ip, r1
74184 movcs r3, #0
74185 cmp r3, #0
74186 bne .L23379
74187.L23640:
74188 cmp r1, #227
74189 bls .L23375
74190 b .L23379
74191.L23330:
74192 cmp ip, r0
74193 movcc r3, #0
74194 movcs r3, #1
74195 cmp ip, r1
74196 movcs r3, #0
74197 cmp r3, #0
74198 bne .L23338
74199.L23605:
74200 cmp r1, #227
74201 bls .L23334
74202 b .L23338
74203.L23096:
74204 cmp ip, r1
74205 movcc r3, #0
74206 movcs r3, #1
74207 cmp ip, r2
74208 movcs r3, #0
74209 cmp r3, #0
74210 bne .L23104
74211.L23578:
74212 cmp r2, #227
74213 bls .L23121
74214 b .L23104
74215.L23360:
74216 cmp ip, r0
74217 movcc r3, #0
74218 movcs r3, #1
74219 cmp ip, r1
74220 movcs r3, #0
74221 cmp r3, #0
74222 bne .L23368
74223.L23639:
74224 cmp r1, #227
74225 bls .L23364
74226 b .L23368
74227.L23652:
74228 mov r1, r4
74229.L23624:
74230 mov r3, r7
74231 mov r0, #4
74232 mov r2, #240
74233 add sp, sp, #32
74234 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
74235 b render_scanline_obj_copy_bitmap_2D
74236.L23382:
74237 cmp r4, #240
74238 beq .L23472
74239 cmp r4, r5
74240 bls .L23474
74241 cmp r5, #0
74242 beq .L23476
74243 cmp fp, r5
74244 bcs .L23478
74245 cmp fp, #0
74246 movne r0, #0
74247 movne r1, fp
74248 bne .L23615
74249.L23476:
74250 cmp fp, r4
74251 bcs .L23481
74252 cmp fp, r5
74253 bhi .L23657
74254.L23483:
74255 cmp fp, #239
74256 bhi .L23489
74257 cmp fp, r4
74258 movhi r0, r4
74259 movhi r1, fp
74260 bhi .L23617
74261.L23491:
74262 cmp fp, r8
74263 beq .L23519
74264 mov r0, fp
74265 ldr r3, [sp, #24]
74266 mov r1, r8
74267 mov r2, r7
74268 stmia sp, {r6, sl} @ phole stm
74269 str r9, [sp, #8]
74270 bl render_scanline_conditional_bitmap
74271.L23519:
74272 cmp r4, #240
74273 beq .L23521
74274 cmp r4, r5
74275 bls .L23523
74276 cmp r5, #0
74277 beq .L23525
74278 cmp r8, #0
74279 beq .L23527
74280 cmp r8, r5
74281 bcs .L23525
74282 cmp r5, #240
74283 movhi r0, r8
74284 movhi r1, #240
74285 movls r0, r8
74286 movls r1, r5
74287 mov r2, r7
74288 ldr r3, [sp, #28]
74289 stmia sp, {r6, sl} @ phole stm
74290 str r9, [sp, #8]
74291 bl render_scanline_conditional_bitmap
74292.L23525:
74293 cmp r8, r5
74294 bls .L23534
74295 cmp r8, r4
74296 bcc .L23658
74297.L23536:
74298 cmp r8, r4
74299 bls .L23542
74300 cmp r8, #239
74301 bhi .L23576
74302 ldr r3, [sp, #28]
74303 mov r0, r8
74304 mov r2, r7
74305 b .L23623
74306.L23160:
74307 cmp r4, #240
74308 beq .L23224
74309 cmp r4, r8
74310 bls .L23226
74311 cmp r8, #0
74312 beq .L23228
74313 cmp fp, r8
74314 bcs .L23230
74315 cmp fp, #0
74316 movne r0, #0
74317 movne r1, fp
74318 bne .L23591
74319.L23228:
74320 cmp fp, r4
74321 bcs .L23233
74322 cmp fp, r8
74323 movhi r0, r8
74324 movhi r1, fp
74325 bhi .L23592
74326.L23235:
74327 cmp fp, #239
74328 bhi .L23237
74329 cmp fp, r4
74330 movhi r0, r4
74331 movhi r1, fp
74332 bhi .L23595
74333.L23239:
74334 cmp fp, r5
74335 beq .L23256
74336 mov r0, fp
74337 ldr r3, [sp, #16]
74338 mov r1, r5
74339 mov r2, r7
74340 stmia sp, {r6, sl} @ phole stm
74341 str r9, [sp, #8]
74342 bl render_scanline_conditional_bitmap
74343.L23256:
74344 cmp r4, #240
74345 beq .L23258
74346 cmp r4, r8
74347 bls .L23260
74348 cmp r8, #0
74349 beq .L23262
74350 cmp r5, #0
74351 beq .L23264
74352 cmp r5, r8
74353 bcs .L23262
74354 cmp r8, #240
74355 movhi r0, r5
74356 movhi r1, #240
74357 movls r0, r5
74358 movls r1, r8
74359 mov r2, r7
74360 ldr r3, [sp, #20]
74361 stmia sp, {r6, sl} @ phole stm
74362 str r9, [sp, #8]
74363 bl render_scanline_conditional_bitmap
74364.L23262:
74365 cmp r5, r8
74366 bls .L23271
74367 cmp r5, r4
74368 ldrcc r3, [sp, #12]
74369 movcc r0, r5
74370 bcc .L23599
74371.L23273:
74372 cmp r5, r4
74373 bls .L23275
74374 cmp r5, #239
74375 bhi .L23576
74376 ldr r3, [sp, #20]
74377 mov r0, r5
74378 mov r2, r7
74379 b .L23623
74380.L23351:
74381 mov r0, #4
74382 mov r1, r8
74383 mov r2, r5
74384 mov r3, r7
74385 bl render_scanline_obj_copy_bitmap_2D
74386 b .L23353
74387.L23321:
74388 mov r0, #4
74389 mov r1, r8
74390 mov r2, r5
74391 mov r3, r7
74392 bl render_scanline_obj_copy_bitmap_2D
74393 b .L23323
74394.L23653:
74395 ldrh r3, [r4, #64]
74396 and fp, r2, #63
74397 and r4, r3, #255
74398 mov r3, r3, lsr #8
74399 cmp r3, #240
74400 movcc r5, r3
74401 movcs r5, #240
74402 cmp r4, #240
74403 movhi r4, #240
74404 cmp r5, r4
74405 bhi .L23644
74406 cmp r5, #0
74407 bne .L23319
74408 b .L23320
74409.L23655:
74410 ldrh r3, [r0, #66]
74411 mov r2, r4, lsr #8
74412 and r8, r3, #255
74413 mov r3, r3, lsr #8
74414 cmp r3, #240
74415 movcc r4, r3
74416 movcs r4, #240
74417 cmp r8, #240
74418 and r2, r2, #63
74419 movhi r8, #240
74420 str r2, [sp, #20]
74421 b .L23156
74422.L23648:
74423 ldrh r3, [r0, #66]
74424 mov r2, r4, lsr #8
74425 and r5, r3, #255
74426 mov r3, r3, lsr #8
74427 cmp r3, #240
74428 movcc r4, r3
74429 movcs r4, #240
74430 cmp r5, #240
74431 and r2, r2, #63
74432 movhi r5, #240
74433 str r2, [sp, #28]
74434 b .L23378
74435.L23647:
74436 ldrh r3, [r2, #64]
74437 and r2, r4, #63
74438 and r8, r3, #255
74439 mov r3, r3, lsr #8
74440 cmp r3, #240
74441 movcc fp, r3
74442 movcs fp, #240
74443 cmp r8, #240
74444 movhi r8, #240
74445 str r2, [sp, #24]
74446 b .L23367
74447.L23651:
74448 ldrh r3, [r4, #66]
74449 mov r2, r2, lsr #8
74450 and r4, r3, #255
74451 mov r3, r3, lsr #8
74452 cmp r3, #240
74453 movcc r5, r3
74454 movcs r5, #240
74455 cmp r4, #240
74456 movhi r4, #240
74457 cmp r5, r4
74458 and fp, r2, #63
74459 bhi .L23644
74460 cmp r5, #0
74461 bne .L23349
74462 b .L23350
74463.L23654:
74464 ldrh r3, [r2, #64]
74465 and r2, r4, #63
74466 and r5, r3, #255
74467 mov r3, r3, lsr #8
74468 cmp r3, #240
74469 movcc fp, r3
74470 movcs fp, #240
74471 cmp r5, #240
74472 movhi r5, #240
74473 str r2, [sp, #16]
74474 b .L23145
74475.L23650:
74476 cmp r5, #0
74477 beq .L23390
74478 cmp r8, #0
74479 beq .L23392
74480 cmp r8, r5
74481 bcs .L23390
74482 cmp fp, r5
74483 movcc r0, r8
74484 movcc r1, fp
74485 movcs r0, r8
74486 movcs r1, r5
74487 mov r2, r7
74488 ldr r3, [sp, #28]
74489 stmia sp, {r6, sl} @ phole stm
74490 str r9, [sp, #8]
74491 bl render_scanline_conditional_bitmap
74492.L23390:
74493 cmp r8, r5
74494 bls .L23399
74495 cmp r8, r4
74496 bcs .L23401
74497 cmp fp, r4
74498 bcs .L23403
74499 ldr r3, [sp, #12]
74500 mov r0, r8
74501 mov r1, fp
74502 mov r2, r7
74503 stmia sp, {r6, sl} @ phole stm
74504 str r9, [sp, #8]
74505 bl render_scanline_conditional_bitmap
74506 tst r6, #64
74507 beq .L23405
74508 mov r0, #4
74509 mov r1, r8
74510 mov r2, fp
74511 mov r3, r7
74512 bl render_scanline_obj_copy_bitmap_1D
74513.L23401:
74514 cmp r8, r4
74515 bls .L23416
74516 cmp r8, #239
74517 bhi .L23418
74518 cmp fp, #239
74519 movls r0, r8
74520 movhi r0, r8
74521 bhi .L23613
74522.L23614:
74523 ldr r3, [sp, #28]
74524 mov r1, fp
74525 mov r2, r7
74526 stmia sp, {r6, sl} @ phole stm
74527 str r9, [sp, #8]
74528 bl render_scanline_conditional_bitmap
74529.L23422:
74530 ldr r3, [sp, #24]
74531 mov r0, fp
74532 mov r2, r7
74533 b .L23623
74534.L23166:
74535 cmp r4, #0
74536 beq .L23196
74537 cmp r5, #0
74538 beq .L23198
74539 cmp r5, r4
74540 bcs .L23196
74541.L23198:
74542 cmp fp, r4
74543 movcc r0, r5
74544 movcc r1, fp
74545 movcs r0, r5
74546 movcs r1, r4
74547 mov r2, r7
74548 ldr r3, [sp, #12]
74549 stmia sp, {r6, sl} @ phole stm
74550 str r9, [sp, #8]
74551 bl render_scanline_conditional_bitmap
74552.L23196:
74553 cmp r4, r8
74554 beq .L23205
74555 cmp r5, r4
74556 bls .L23207
74557 cmp r5, r8
74558 bcs .L23205
74559 cmp fp, r8
74560 ldrcc r3, [sp, #20]
74561 ldrcs r3, [sp, #20]
74562 movcc r0, r5
74563 movcc r1, fp
74564 movcs r0, r5
74565 movcs r1, r8
74566.L23587:
74567 mov r2, r7
74568 stmia sp, {r6, sl} @ phole stm
74569 str r9, [sp, #8]
74570 bl render_scanline_conditional_bitmap
74571.L23205:
74572 cmp r8, #240
74573 beq .L23188
74574 cmp r5, r8
74575 bls .L23216
74576 cmp r5, #239
74577 bhi .L23188
74578 cmp fp, #239
74579 movls r0, r5
74580 ldrls r3, [sp, #12]
74581 bls .L23590
74582 ldr r3, [sp, #12]
74583 mov r0, r5
74584 mov r1, #240
74585 b .L23588
74586.L23649:
74587 mov r0, #0
74588 mov r1, r8
74589 mov r2, r7
74590 ldr r3, [sp, #24]
74591 stmia sp, {r6, sl} @ phole stm
74592 str r9, [sp, #8]
74593 bl render_scanline_conditional_bitmap
74594 b .L23384
74595.L23656:
74596 mov r0, #0
74597 mov r1, r5
74598 mov r2, r7
74599 ldr r3, [sp, #16]
74600 stmia sp, {r6, sl} @ phole stm
74601 str r9, [sp, #8]
74602 bl render_scanline_conditional_bitmap
74603 b .L23162
74604.L23472:
74605 cmp fp, #0
74606 bne .L23659
74607.L23515:
74608 ands r1, r6, #64
74609 beq .L23517
74610 mov r0, #4
74611 mov r1, #0
74612 mov r2, fp
74613 mov r3, r7
74614 bl render_scanline_obj_copy_bitmap_1D
74615 b .L23491
74616.L23224:
74617 cmp fp, #0
74618 beq .L23239
74619 mov r0, #0
74620 mov r1, fp
74621.L23596:
74622 mov r2, r7
74623 ldr r3, [sp, #12]
74624 stmia sp, {r6, sl} @ phole stm
74625 str r9, [sp, #8]
74626 bl render_scanline_conditional_bitmap
74627 b .L23239
74628.L23644:
74629 cmp r4, #0
74630 bne .L23660
74631.L23343:
74632 ldr r3, [sp, #12]
74633 mov r0, r4
74634 mov r1, r5
74635 mov r2, r7
74636 stmia sp, {r6, sl} @ phole stm
74637 str r9, [sp, #8]
74638 bl render_scanline_conditional_bitmap
74639 tst r6, #64
74640 beq .L23345
74641 mov r1, r4
74642 mov r0, #4
74643 mov r2, r5
74644 mov r3, r7
74645 bl render_scanline_obj_copy_bitmap_1D
74646.L23347:
74647 cmp r5, #240
74648 movne r0, r5
74649 movne r2, r7
74650 movne r3, fp
74651 bne .L23623
74652 b .L23576
74653.L23128:
74654 cmp r5, #0
74655 bne .L23133
74656 b .L23134
74657.L23386:
74658 ldr r3, [sp, #12]
74659 mov r0, r8
74660 mov r1, fp
74661 mov r2, r7
74662 stmia sp, {r6, sl} @ phole stm
74663 str r9, [sp, #8]
74664 bl render_scanline_conditional_bitmap
74665 tst r6, #64
74666 beq .L23470
74667 mov r1, r8
74668 mov r0, #4
74669 mov r2, fp
74670 mov r3, r7
74671 bl render_scanline_obj_copy_bitmap_1D
74672.L23418:
74673 cmp fp, #240
74674 bne .L23422
74675 b .L23576
74676.L23345:
74677 mov r1, r4
74678 mov r0, #4
74679 mov r2, r5
74680 mov r3, r7
74681 bl render_scanline_obj_copy_bitmap_2D
74682 b .L23347
74683.L23663:
74684 .align 2
74685.L23662:
74686 .word io_registers
74687 .word bitmap_mode_renderers-12
74688.L23523:
74689 cmp r4, #0
74690 beq .L23545
74691 cmp r8, #0
74692 beq .L23547
74693 cmp r8, r4
74694 bcc .L23547
74695.L23545:
74696 cmp r4, r5
74697 beq .L23554
74698 cmp r8, r4
74699 bls .L23556
74700 cmp r8, r5
74701 bcs .L23554
74702 cmp r5, #240
74703 ldrhi r3, [sp, #28]
74704 movhi r0, r8
74705 ldrls r3, [sp, #28]
74706 movls r0, r8
74707 bls .L23621
74708.L23622:
74709 mov r1, #240
74710 mov r2, r7
74711 stmia sp, {r6, sl} @ phole stm
74712 str r9, [sp, #8]
74713 bl render_scanline_conditional_bitmap
74714.L23561:
74715 cmp r8, r5
74716 bls .L23565
74717 cmp r8, #239
74718 bhi .L23576
74719 mov r1, #240
74720 ldr r3, [sp, #12]
74721 mov r0, r8
74722 mov r2, r7
74723 str sl, [sp, #4]
74724 str r9, [sp, #8]
74725 str r6, [sp, #0]
74726 bl render_scanline_conditional_bitmap
74727 tst r6, #64
74728 moveq r1, r8
74729 beq .L23624
74730 mov r1, r8
74731 b .L23626
74732.L23260:
74733 cmp r4, #0
74734 beq .L23278
74735 cmp r5, #0
74736 beq .L23280
74737 cmp r5, r4
74738 bcc .L23280
74739.L23278:
74740 cmp r4, r8
74741 beq .L23283
74742 cmp r5, r4
74743 bls .L23285
74744 cmp r5, r8
74745 bcs .L23283
74746 cmp r8, #240
74747 ldrhi r3, [sp, #20]
74748 movhi r0, r5
74749 ldrls r3, [sp, #20]
74750 movls r0, r5
74751 bls .L23600
74752.L23601:
74753 mov r1, #240
74754 mov r2, r7
74755 stmia sp, {r6, sl} @ phole stm
74756 str r9, [sp, #8]
74757 bl render_scanline_conditional_bitmap
74758.L23290:
74759 cmp r5, r8
74760 bls .L23294
74761 cmp r5, #239
74762 bhi .L23576
74763 ldr r3, [sp, #12]
74764 mov r0, r5
74765 mov r2, r7
74766 b .L23623
74767.L23474:
74768 cmp r4, #0
74769 beq .L23493
74770 cmp fp, r4
74771 bcs .L23495
74772 cmp fp, #0
74773 bne .L23661
74774.L23493:
74775 cmp r4, r5
74776 beq .L23502
74777 cmp fp, r5
74778 bcs .L23504
74779 cmp fp, r4
74780 movhi r0, r4
74781 movhi r1, fp
74782 bhi .L23616
74783.L23502:
74784 cmp r5, #240
74785 beq .L23491
74786 cmp fp, #239
74787 bhi .L23508
74788 cmp fp, r5
74789 bls .L23491
74790 mov r0, r5
74791 mov r1, fp
74792 mov r2, r7
74793 ldr r3, [sp, #12]
74794 stmia sp, {r6, sl} @ phole stm
74795 str r9, [sp, #8]
74796 bl render_scanline_conditional_bitmap
74797 tst r6, #64
74798 beq .L23511
74799 mov r0, #4
74800 mov r1, r5
74801 mov r2, fp
74802 mov r3, r7
74803 bl render_scanline_obj_copy_bitmap_1D
74804 b .L23491
74805.L23226:
74806 cmp r4, #0
74807 beq .L23241
74808 cmp fp, r4
74809 bcs .L23243
74810 cmp fp, #0
74811 movne r0, #0
74812 movne r1, fp
74813 bne .L23593
74814.L23241:
74815 cmp r4, r8
74816 beq .L23246
74817 cmp fp, r8
74818 bcs .L23248
74819 cmp fp, r4
74820 movhi r0, r4
74821 movhi r1, fp
74822 bhi .L23594
74823.L23246:
74824 cmp r8, #240
74825 beq .L23239
74826 cmp fp, #239
74827 bhi .L23252
74828 cmp fp, r8
74829 movhi r0, r8
74830 movhi r1, fp
74831 bls .L23239
74832 b .L23596
74833.L23521:
74834 cmp r8, #240
74835 beq .L23572
74836 ldr r3, [sp, #12]
74837 mov r0, r8
74838 mov r1, r4
74839 mov r2, r7
74840 str sl, [sp, #4]
74841 str r9, [sp, #8]
74842 str r6, [sp, #0]
74843 bl render_scanline_conditional_bitmap
74844.L23572:
74845 tst r6, #64
74846 beq .L23574
74847 mov r1, r8
74848 mov r2, r4
74849 mov r3, r7
74850 mov r0, #4
74851 add sp, sp, #32
74852 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
74853 b render_scanline_obj_copy_bitmap_1D
74854.L23258:
74855 cmp r5, #240
74856 beq .L23576
74857 mov r0, r5
74858 mov r1, r4
74859 mov r2, r7
74860 ldr r3, [sp, #12]
74861 stmia sp, {r6, sl} @ phole stm
74862 str r9, [sp, #8]
74863 bl render_scanline_conditional_bitmap
74864 b .L23576
74865.L23392:
74866 cmp fp, r5
74867 movcc r0, r8
74868 movcc r1, fp
74869 movcs r0, r8
74870 movcs r1, r5
74871 mov r2, r7
74872 ldr r3, [sp, #28]
74873 stmia sp, {r6, sl} @ phole stm
74874 str r9, [sp, #8]
74875 bl render_scanline_conditional_bitmap
74876.L23399:
74877 cmp fp, r4
74878 bcs .L23409
74879 cmp fp, r5
74880 bls .L23401
74881 ldr r3, [sp, #12]
74882 mov r0, r5
74883 mov r1, fp
74884 mov r2, r7
74885 stmia sp, {r6, sl} @ phole stm
74886 str r9, [sp, #8]
74887 bl render_scanline_conditional_bitmap
74888 tst r6, #64
74889 beq .L23412
74890 mov r1, r5
74891 mov r0, #4
74892 mov r2, fp
74893 mov r3, r7
74894 bl render_scanline_obj_copy_bitmap_1D
74895 b .L23401
74896.L23170:
74897 cmp fp, r8
74898 movcc r0, r5
74899 movcc r1, fp
74900 movcs r0, r5
74901 movcs r1, r8
74902 mov r2, r7
74903 ldr r3, [sp, #20]
74904 stmia sp, {r6, sl} @ phole stm
74905 str r9, [sp, #8]
74906 bl render_scanline_conditional_bitmap
74907.L23177:
74908 cmp fp, r4
74909 bcs .L23183
74910 cmp fp, r8
74911 bls .L23179
74912 ldr r3, [sp, #12]
74913 mov r0, r8
74914 mov r1, fp
74915 b .L23585
74916.L23264:
74917 cmp r8, #240
74918 movhi r0, r5
74919 movhi r1, #240
74920 movls r0, r5
74921 movls r1, r8
74922 mov r2, r7
74923 ldr r3, [sp, #20]
74924 stmia sp, {r6, sl} @ phole stm
74925 str r9, [sp, #8]
74926 bl render_scanline_conditional_bitmap
74927.L23271:
74928 ldr r3, [sp, #12]
74929 mov r0, r8
74930.L23599:
74931 mov r1, r4
74932 mov r2, r7
74933 stmia sp, {r6, sl} @ phole stm
74934 str r9, [sp, #8]
74935 bl render_scanline_conditional_bitmap
74936 b .L23273
74937.L23291:
74938 ldr r3, [sp, #20]
74939 mov r0, r4
74940.L23600:
74941 mov r1, r8
74942 mov r2, r7
74943 stmia sp, {r6, sl} @ phole stm
74944 str r9, [sp, #8]
74945 bl render_scanline_conditional_bitmap
74946.L23283:
74947 cmp r8, #240
74948 bne .L23290
74949 b .L23576
74950.L23562:
74951 ldr r3, [sp, #28]
74952 mov r0, r4
74953.L23621:
74954 mov r1, r5
74955 mov r2, r7
74956 stmia sp, {r6, sl} @ phole stm
74957 str r9, [sp, #8]
74958 bl render_scanline_conditional_bitmap
74959.L23554:
74960 cmp r5, #240
74961 bne .L23561
74962 b .L23576
74963.L23646:
74964 mov r0, #0
74965 mov r1, r4
74966 mov r2, r7
74967 mov r3, r8
74968 stmia sp, {r6, sl} @ phole stm
74969 str r9, [sp, #8]
74970 bl render_scanline_conditional_bitmap
74971 b .L23130
74972.L23660:
74973 mov r0, #0
74974 mov r1, r4
74975 mov r2, r7
74976 mov r3, fp
74977 stmia sp, {r6, sl} @ phole stm
74978 str r9, [sp, #8]
74979 bl render_scanline_conditional_bitmap
74980 b .L23343
74981.L23527:
74982 cmp r5, #240
74983 movhi r0, r8
74984 movhi r1, #240
74985 movls r0, r8
74986 movls r1, r5
74987 mov r2, r7
74988 ldr r3, [sp, #28]
74989 stmia sp, {r6, sl} @ phole stm
74990 str r9, [sp, #8]
74991 bl render_scanline_conditional_bitmap
74992.L23534:
74993 ldr r3, [sp, #12]
74994 mov r0, r5
74995 mov r1, r4
74996 mov r2, r7
74997 stmia sp, {r6, sl} @ phole stm
74998 str r9, [sp, #8]
74999 bl render_scanline_conditional_bitmap
75000 tst r6, #64
75001 beq .L23540
75002 mov r1, r5
75003 mov r0, #4
75004 mov r2, r4
75005 mov r3, r7
75006 bl render_scanline_obj_copy_bitmap_1D
75007 b .L23536
75008.L23416:
75009 cmp fp, #239
75010 bhi .L23423
75011 cmp fp, r4
75012 bls .L23422
75013 mov r0, r4
75014 b .L23614
75015.L23186:
75016 cmp fp, #239
75017 bhi .L23193
75018 cmp fp, r4
75019 bls .L23192
75020 mov r0, r4
75021.L23589:
75022 ldr r3, [sp, #20]
75023.L23590:
75024 mov r1, fp
75025 mov r2, r7
75026 stmia sp, {r6, sl} @ phole stm
75027 str r9, [sp, #8]
75028 bl render_scanline_conditional_bitmap
75029 b .L23192
75030.L23237:
75031 mov r0, r4
75032 mov r1, #240
75033.L23595:
75034 mov r2, r7
75035 ldr r3, [sp, #20]
75036 stmia sp, {r6, sl} @ phole stm
75037 str r9, [sp, #8]
75038 bl render_scanline_conditional_bitmap
75039 b .L23239
75040.L23489:
75041 mov r0, r4
75042 mov r1, #240
75043.L23617:
75044 mov r2, r7
75045 ldr r3, [sp, #28]
75046 stmia sp, {r6, sl} @ phole stm
75047 str r9, [sp, #8]
75048 bl render_scanline_conditional_bitmap
75049 b .L23491
75050.L23233:
75051 mov r0, r8
75052 mov r1, r4
75053.L23592:
75054 mov r2, r7
75055 ldr r3, [sp, #12]
75056 stmia sp, {r6, sl} @ phole stm
75057 str r9, [sp, #8]
75058 bl render_scanline_conditional_bitmap
75059 b .L23235
75060.L23216:
75061 cmp fp, #239
75062 bhi .L23221
75063 cmp fp, r8
75064 movhi r0, r8
75065 ldrhi r3, [sp, #12]
75066 bls .L23192
75067 b .L23590
75068.L23445:
75069 cmp fp, r5
75070 bcs .L23450
75071 cmp fp, r4
75072 bls .L23443
75073 ldr r3, [sp, #28]
75074 mov r0, r4
75075 mov r1, fp
75076 b .L23612
75077.L23454:
75078 cmp fp, #239
75079 bhi .L23463
75080 cmp fp, r5
75081 bls .L23422
75082 ldr r3, [sp, #12]
75083 mov r0, r5
75084 mov r1, fp
75085 mov r2, r7
75086 stmia sp, {r6, sl} @ phole stm
75087 str r9, [sp, #8]
75088 bl render_scanline_conditional_bitmap
75089 tst r6, #64
75090 beq .L23466
75091 mov r1, r5
75092 mov r0, #4
75093 mov r2, fp
75094 mov r3, r7
75095 bl render_scanline_obj_copy_bitmap_1D
75096 b .L23422
75097.L23207:
75098 cmp fp, r8
75099 bcs .L23212
75100 cmp fp, r4
75101 bls .L23205
75102 ldr r3, [sp, #20]
75103 mov r0, r4
75104 mov r1, fp
75105 b .L23587
75106.L23164:
75107 ldr r3, [sp, #12]
75108 mov r0, r5
75109 mov r1, fp
75110 b .L23588
75111.L23574:
75112 mov r1, r8
75113 mov r2, r4
75114 mov r3, r7
75115 mov r0, #4
75116 add sp, sp, #32
75117 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
75118 b render_scanline_obj_copy_bitmap_2D
75119.L23517:
75120 mov r0, #4
75121 mov r2, fp
75122 mov r3, r7
75123 bl render_scanline_obj_copy_bitmap_2D
75124 b .L23491
75125.L23504:
75126 mov r0, r4
75127 mov r1, r5
75128.L23616:
75129 mov r2, r7
75130 ldr r3, [sp, #28]
75131 stmia sp, {r6, sl} @ phole stm
75132 str r9, [sp, #8]
75133 bl render_scanline_conditional_bitmap
75134 b .L23502
75135.L23248:
75136 mov r0, r4
75137 mov r1, r8
75138.L23594:
75139 mov r2, r7
75140 ldr r3, [sp, #20]
75141 stmia sp, {r6, sl} @ phole stm
75142 str r9, [sp, #8]
75143 bl render_scanline_conditional_bitmap
75144 b .L23246
75145.L23285:
75146 cmp r8, #240
75147 bls .L23291
75148 cmp r4, #239
75149 bhi .L23290
75150 ldr r3, [sp, #20]
75151 mov r0, r4
75152 b .L23601
75153.L23556:
75154 cmp r5, #240
75155 bls .L23562
75156 cmp r4, #239
75157 bhi .L23561
75158 ldr r3, [sp, #28]
75159 mov r0, r4
75160 b .L23622
75161.L23423:
75162 mov r0, r4
75163.L23613:
75164 ldr r3, [sp, #28]
75165 mov r1, #240
75166 mov r2, r7
75167 stmia sp, {r6, sl} @ phole stm
75168 str r9, [sp, #8]
75169 bl render_scanline_conditional_bitmap
75170 b .L23418
75171.L23540:
75172 mov r1, r5
75173 mov r0, #4
75174 mov r2, r4
75175 mov r3, r7
75176 bl render_scanline_obj_copy_bitmap_2D
75177 b .L23536
75178.L23481:
75179 mov r0, r5
75180 mov r1, r4
75181 mov r2, r7
75182 ldr r3, [sp, #12]
75183 stmia sp, {r6, sl} @ phole stm
75184 str r9, [sp, #8]
75185 bl render_scanline_conditional_bitmap
75186 tst r6, #64
75187 beq .L23487
75188 mov r0, #4
75189 mov r1, r5
75190 mov r2, r4
75191 mov r3, r7
75192 bl render_scanline_obj_copy_bitmap_1D
75193 b .L23483
75194.L23542:
75195 ldr r3, [sp, #28]
75196 mov r0, r4
75197 mov r2, r7
75198 b .L23623
75199.L23275:
75200 ldr r3, [sp, #20]
75201 mov r0, r4
75202 mov r2, r7
75203 b .L23623
75204.L23294:
75205 ldr r3, [sp, #12]
75206 mov r0, r8
75207 mov r2, r7
75208 b .L23623
75209.L23565:
75210 mov r1, #240
75211 ldr r3, [sp, #12]
75212 mov r0, r5
75213 mov r2, r7
75214 str sl, [sp, #4]
75215 str r9, [sp, #8]
75216 str r6, [sp, #0]
75217 bl render_scanline_conditional_bitmap
75218 tst r6, #64
75219 movne r1, r5
75220 moveq r1, r5
75221 beq .L23624
75222 b .L23626
75223.L23478:
75224 mov r0, #0
75225 mov r1, r5
75226.L23615:
75227 mov r2, r7
75228 ldr r3, [sp, #28]
75229 stmia sp, {r6, sl} @ phole stm
75230 str r9, [sp, #8]
75231 bl render_scanline_conditional_bitmap
75232 b .L23476
75233.L23243:
75234 mov r0, #0
75235 mov r1, r4
75236.L23593:
75237 mov r2, r7
75238 ldr r3, [sp, #12]
75239 stmia sp, {r6, sl} @ phole stm
75240 str r9, [sp, #8]
75241 bl render_scanline_conditional_bitmap
75242 b .L23241
75243.L23230:
75244 mov r0, #0
75245 mov r1, r8
75246.L23591:
75247 mov r2, r7
75248 ldr r3, [sp, #20]
75249 stmia sp, {r6, sl} @ phole stm
75250 str r9, [sp, #8]
75251 bl render_scanline_conditional_bitmap
75252 b .L23228
75253.L23547:
75254 mov r0, r8
75255 mov r1, r4
75256 mov r2, r7
75257 ldr r3, [sp, #12]
75258 stmia sp, {r6, sl} @ phole stm
75259 str r9, [sp, #8]
75260 bl render_scanline_conditional_bitmap
75261 tst r6, #64
75262 beq .L23552
75263 mov r0, #4
75264 mov r1, r8
75265 mov r2, r4
75266 mov r3, r7
75267 bl render_scanline_obj_copy_bitmap_1D
75268 b .L23545
75269.L23280:
75270 mov r0, r5
75271 mov r1, r4
75272 mov r2, r7
75273 ldr r3, [sp, #12]
75274 stmia sp, {r6, sl} @ phole stm
75275 str r9, [sp, #8]
75276 bl render_scanline_conditional_bitmap
75277 b .L23278
75278.L23659:
75279 mov r0, #0
75280 mov r1, fp
75281 mov r2, r7
75282 ldr r3, [sp, #12]
75283 stmia sp, {r6, sl} @ phole stm
75284 str r9, [sp, #8]
75285 bl render_scanline_conditional_bitmap
75286 b .L23515
75287.L23409:
75288 ldr r3, [sp, #12]
75289 mov r0, r5
75290 mov r1, r4
75291 mov r2, r7
75292 stmia sp, {r6, sl} @ phole stm
75293 str r9, [sp, #8]
75294 bl render_scanline_conditional_bitmap
75295 tst r6, #64
75296 beq .L23414
75297 mov r1, r5
75298 mov r0, #4
75299 mov r2, r4
75300 mov r3, r7
75301 bl render_scanline_obj_copy_bitmap_1D
75302 b .L23401
75303.L23183:
75304 ldr r3, [sp, #12]
75305 mov r0, r8
75306 mov r1, r4
75307 b .L23585
75308.L23437:
75309 mov r0, r8
75310 mov r1, r4
75311 mov r2, r7
75312 ldr r3, [sp, #12]
75313 stmia sp, {r6, sl} @ phole stm
75314 str r9, [sp, #8]
75315 bl render_scanline_conditional_bitmap
75316 tst r6, #64
75317 beq .L23441
75318 mov r0, #4
75319 mov r1, r8
75320 mov r2, r4
75321 mov r3, r7
75322 bl render_scanline_obj_copy_bitmap_1D
75323 b .L23426
75324.L23252:
75325 mov r0, r8
75326 mov r1, #240
75327 b .L23596
75328.L23470:
75329 mov r1, r8
75330 mov r0, #4
75331 mov r2, fp
75332 mov r3, r7
75333 bl render_scanline_obj_copy_bitmap_2D
75334 b .L23418
75335.L23508:
75336 mov r0, r5
75337 mov r1, #240
75338 mov r2, r7
75339 ldr r3, [sp, #12]
75340 stmia sp, {r6, sl} @ phole stm
75341 str r9, [sp, #8]
75342 bl render_scanline_conditional_bitmap
75343 tst r6, #64
75344 beq .L23513
75345 mov r0, #4
75346 mov r1, r5
75347 mov r2, #240
75348 mov r3, r7
75349 bl render_scanline_obj_copy_bitmap_1D
75350 b .L23491
75351.L23657:
75352 mov r0, r5
75353 mov r1, fp
75354 mov r2, r7
75355 ldr r3, [sp, #12]
75356 stmia sp, {r6, sl} @ phole stm
75357 str r9, [sp, #8]
75358 bl render_scanline_conditional_bitmap
75359 tst r6, #64
75360 beq .L23485
75361 mov r0, #4
75362 mov r1, r5
75363 mov r2, fp
75364 mov r3, r7
75365 bl render_scanline_obj_copy_bitmap_1D
75366 b .L23483
75367.L23193:
75368 ldr r3, [sp, #20]
75369 mov r0, r4
75370 mov r1, #240
75371 b .L23588
75372.L23495:
75373 mov r1, r4
75374 mov r0, #0
75375 mov r2, r7
75376 ldr r3, [sp, #12]
75377 stmia sp, {r6, sl} @ phole stm
75378 str r9, [sp, #8]
75379 bl render_scanline_conditional_bitmap
75380 ands r1, r6, #64
75381 beq .L23500
75382 mov r0, #4
75383 mov r1, #0
75384 mov r2, r4
75385 mov r3, r7
75386 bl render_scanline_obj_copy_bitmap_1D
75387 b .L23493
75388.L23487:
75389 mov r0, #4
75390 mov r1, r5
75391 mov r2, r4
75392 mov r3, r7
75393 bl render_scanline_obj_copy_bitmap_2D
75394 b .L23483
75395.L23552:
75396 mov r0, #4
75397 mov r1, r8
75398 mov r2, r4
75399 mov r3, r7
75400 bl render_scanline_obj_copy_bitmap_2D
75401 b .L23545
75402.L23221:
75403 ldr r3, [sp, #12]
75404 mov r0, r8
75405 mov r1, #240
75406 b .L23588
75407.L23212:
75408 ldr r3, [sp, #20]
75409 mov r0, r4
75410 mov r1, r8
75411 b .L23587
75412.L23463:
75413 ldr r3, [sp, #12]
75414 mov r0, r5
75415 mov r1, #240
75416 mov r2, r7
75417 stmia sp, {r6, sl} @ phole stm
75418 str r9, [sp, #8]
75419 bl render_scanline_conditional_bitmap
75420 tst r6, #64
75421 beq .L23468
75422 mov r1, r5
75423 mov r0, #4
75424 mov r2, #240
75425 mov r3, r7
75426 bl render_scanline_obj_copy_bitmap_1D
75427 b .L23418
75428.L23450:
75429 ldr r3, [sp, #28]
75430 mov r0, r4
75431 mov r1, r5
75432 b .L23612
75433.L23658:
75434 ldr r3, [sp, #12]
75435 mov r0, r8
75436 mov r1, r4
75437 mov r2, r7
75438 stmia sp, {r6, sl} @ phole stm
75439 str r9, [sp, #8]
75440 bl render_scanline_conditional_bitmap
75441 tst r6, #64
75442 beq .L23538
75443 mov r0, #4
75444 mov r1, r8
75445 mov r2, r4
75446 mov r3, r7
75447 bl render_scanline_obj_copy_bitmap_1D
75448 b .L23536
75449.L23403:
75450 ldr r3, [sp, #12]
75451 mov r0, r8
75452 mov r1, r4
75453 mov r2, r7
75454 stmia sp, {r6, sl} @ phole stm
75455 str r9, [sp, #8]
75456 bl render_scanline_conditional_bitmap
75457 tst r6, #64
75458 beq .L23407
75459 mov r0, #4
75460 mov r1, r8
75461 mov r2, r4
75462 mov r3, r7
75463 bl render_scanline_obj_copy_bitmap_1D
75464 b .L23401
75465.L23439:
75466 mov r0, #4
75467 mov r1, r8
75468 mov r2, fp
75469 mov r3, r7
75470 bl render_scanline_obj_copy_bitmap_2D
75471 b .L23426
75472.L23414:
75473 mov r1, r5
75474 mov r0, #4
75475 mov r2, r4
75476 mov r3, r7
75477 bl render_scanline_obj_copy_bitmap_2D
75478 b .L23401
75479.L23441:
75480 mov r0, #4
75481 mov r1, r8
75482 mov r2, r4
75483 mov r3, r7
75484 bl render_scanline_obj_copy_bitmap_2D
75485 b .L23426
75486.L23513:
75487 mov r0, #4
75488 mov r1, r5
75489 mov r2, #240
75490 mov r3, r7
75491 bl render_scanline_obj_copy_bitmap_2D
75492 b .L23491
75493.L23457:
75494 ldr r3, [sp, #12]
75495 mov r0, r8
75496 mov r1, #240
75497 mov r2, r7
75498 stmia sp, {r6, sl} @ phole stm
75499 str r9, [sp, #8]
75500 bl render_scanline_conditional_bitmap
75501 tst r6, #64
75502 beq .L23461
75503 mov r1, r8
75504 mov r0, #4
75505 mov r2, #240
75506 mov r3, r7
75507 bl render_scanline_obj_copy_bitmap_1D
75508 b .L23418
75509.L23661:
75510 mov r1, fp
75511 mov r0, #0
75512 mov r2, r7
75513 ldr r3, [sp, #12]
75514 stmia sp, {r6, sl} @ phole stm
75515 str r9, [sp, #8]
75516 bl render_scanline_conditional_bitmap
75517 ands r1, r6, #64
75518 beq .L23498
75519 mov r0, #4
75520 mov r1, #0
75521 mov r2, fp
75522 mov r3, r7
75523 bl render_scanline_obj_copy_bitmap_1D
75524 b .L23493
75525.L23485:
75526 mov r0, #4
75527 mov r1, r5
75528 mov r2, fp
75529 mov r3, r7
75530 bl render_scanline_obj_copy_bitmap_2D
75531 b .L23483
75532.L23412:
75533 mov r1, r5
75534 mov r0, #4
75535 mov r2, fp
75536 mov r3, r7
75537 bl render_scanline_obj_copy_bitmap_2D
75538 b .L23401
75539.L23500:
75540 mov r0, #4
75541 mov r2, r4
75542 mov r3, r7
75543 bl render_scanline_obj_copy_bitmap_2D
75544 b .L23493
75545.L23511:
75546 mov r0, #4
75547 mov r1, r5
75548 mov r2, fp
75549 mov r3, r7
75550 bl render_scanline_obj_copy_bitmap_2D
75551 b .L23491
75552.L23468:
75553 mov r1, r5
75554 mov r0, #4
75555 mov r2, #240
75556 mov r3, r7
75557 bl render_scanline_obj_copy_bitmap_2D
75558 b .L23418
75559.L23461:
75560 mov r1, r8
75561 mov r0, #4
75562 mov r2, #240
75563 mov r3, r7
75564 bl render_scanline_obj_copy_bitmap_2D
75565 b .L23418
75566.L23405:
75567 mov r0, #4
75568 mov r1, r8
75569 mov r2, fp
75570 mov r3, r7
75571 bl render_scanline_obj_copy_bitmap_2D
75572 b .L23401
75573.L23538:
75574 mov r0, #4
75575 mov r1, r8
75576 mov r2, r4
75577 mov r3, r7
75578 bl render_scanline_obj_copy_bitmap_2D
75579 b .L23536
75580.L23498:
75581 mov r0, #4
75582 mov r2, fp
75583 mov r3, r7
75584 bl render_scanline_obj_copy_bitmap_2D
75585 b .L23493
75586.L23407:
75587 mov r0, #4
75588 mov r1, r8
75589 mov r2, r4
75590 mov r3, r7
75591 bl render_scanline_obj_copy_bitmap_2D
75592 b .L23401
75593.L23459:
75594 mov r1, r8
75595 mov r0, #4
75596 mov r2, fp
75597 mov r3, r7
75598 bl render_scanline_obj_copy_bitmap_2D
75599 b .L23422
75600.L23466:
75601 mov r1, r5
75602 mov r0, #4
75603 mov r2, fp
75604 mov r3, r7
75605 bl render_scanline_obj_copy_bitmap_2D
75606 b .L23422
75607 .size render_scanline_window_bitmap, .-render_scanline_window_bitmap
75608 .align 2
75609 .global update_scanline
75610 .type update_scanline, %function
75611update_scanline:
75612 @ args = 0, pretend = 0, frame = 12
75613 @ frame_needed = 0, uses_anonymous_args = 0
75614 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
75615 ldr r2, .L23760
75616 ldr r0, .L23760+4
75617 ldr r9, .L23760+8
75618 ldr r3, [r0, #0]
75619 ldr r1, [r2, #0]
75620 cmp r3, #0
75621 ldr r2, [r1, #20]
75622 ldrh fp, [r9, #0]
75623 ldrh r1, [r1, #16]
75624 ldrh r3, [r9, #6]
75625 sub sp, sp, #12
75626 str r2, [sp, #8]
75627 stmia sp, {r1, r3} @ phole stm
75628 and sl, fp, #7
75629 movne ip, #0
75630 bne .L23669
75631.L23666:
75632 ldr r2, .L23760+12
75633 ldr r0, [sp, #4]
75634 ldr r3, [r2, sl, asl #2]
75635 ldr r2, .L23760+16
75636 and r3, r3, fp, lsr #8
75637 add lr, r2, r0, asl #2
75638 ldr r2, .L23760+20
75639 mov r1, #0
75640 mov r5, r1
75641 and r7, r3, #1
75642 and r0, r3, #16
75643 mov ip, #3
75644 and r8, r3, #8
75645 and r6, r3, #4
75646 and r4, r3, #2
75647 str r1, [r2, #0]
75648.L23696:
75649 cmp r8, #0
75650 beq .L23725
75651 ldrh r3, [r9, #14]
75652 and r3, r3, #3
75653 cmp r3, ip
75654 ldreq r3, .L23760+24
75655 moveq r2, #3
75656 streq r2, [r3, r5, asl #2]
75657 addeq r5, r5, #1
75658.L23725:
75659 cmp r6, #0
75660 beq .L23728
75661 ldrh r3, [r9, #12]
75662 and r3, r3, #3
75663 cmp r3, ip
75664 ldreq r3, .L23760+24
75665 moveq r2, #2
75666 streq r2, [r3, r5, asl #2]
75667 addeq r5, r5, #1
75668.L23728:
75669 cmp r4, #0
75670 beq .L23731
75671 ldrh r3, [r9, #10]
75672 and r3, r3, #3
75673 cmp r3, ip
75674 ldreq r3, .L23760+24
75675 moveq r2, #1
75676 streq r2, [r3, r5, asl #2]
75677 addeq r5, r5, r2
75678.L23731:
75679 cmp r7, #0
75680 beq .L23698
75681 ldrh r3, [r9, #8]
75682 and r3, r3, #3
75683 cmp r3, ip
75684 ldreq r3, .L23760+24
75685 moveq r2, #0
75686 streq r2, [r3, r5, asl #2]
75687 addeq r5, r5, #1
75688.L23698:
75689 ldr r3, [lr, #1920]
75690 cmp r3, #0
75691 beq .L23700
75692 cmp r0, #0
75693 ldrne r3, .L23760+24
75694 orrne r2, ip, #4
75695 strne r2, [r3, r5, asl #2]
75696 addne r5, r5, #1
75697.L23700:
75698 sub ip, ip, #1
75699 cmn ip, #1
75700 sub lr, lr, #640
75701 bne .L23696
75702 ldr r3, .L23760+20
75703 str r5, [r3, #0]
75704 ldr r3, .L23760+28
75705 ldr r1, [r3, #0]
75706 cmp r1, #0
75707 bne .L23734
75708 ldr r0, [sp, #0]
75709 ldr r4, [sp, #8]
75710 mov r2, r0, lsr #1
75711 ldr r0, [sp, #4]
75712 tst fp, #128
75713 mov r3, r0, asl #1
75714 mla r4, r3, r2, r4
75715 beq .L23706
75716 mov r3, r1
75717.L23708:
75718 mvn r1, #0 @ movhi
75719 strh r1, [r3, r4] @ movhi
75720 add r3, r3, #2
75721 cmp r3, #480
75722 bne .L23708
75723.L23709:
75724 ldr lr, .L23760+32
75725 ldr r4, .L23760+36
75726 ldr r5, [lr, #0]
75727 ldr r6, [r4, #0]
75728 ldr r3, [lr, #4]
75729 ldr r2, [r4, #4]
75730 ldrsh r7, [r9, #54]
75731 ldrsh r1, [r9, #34]
75732 ldrsh r0, [r9, #38]
75733 ldrsh ip, [r9, #50]
75734 add r5, r5, r1
75735 add r6, r6, r0
75736 add r3, r3, ip
75737 add r2, r2, r7
75738 str r3, [lr, #4]
75739 str r2, [r4, #4]
75740 str r5, [lr, #0]
75741 str r6, [r4, #0]
75742.L23734:
75743 add sp, sp, #12
75744 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
75745.L23759:
75746 add ip, ip, #1
75747 cmp ip, #5
75748 beq .L23752
75749.L23669:
75750 ldr r1, .L23760+16
75751 add r3, ip, ip, asl #2
75752 add r2, r1, r3, asl #7
75753 mov r3, #0
75754.L23667:
75755 add r3, r3, #1
75756 mov r1, #0
75757 cmp r3, #160
75758 str r1, [r2], #4
75759 bne .L23667
75760 b .L23759
75761.L23752:
75762 ldr r3, .L23760+40
75763 add r2, r3, #640
75764.L23671:
75765 str r1, [r3], #4
75766 cmp r3, r2
75767 bne .L23671
75768 ldr r6, .L23760+44
75769 mov r7, #127
75770.L23673:
75771 ldrh r2, [r6, #8]
75772 ldrh r0, [r6, #12]
75773 and r1, r2, #49152
75774 and r3, r2, #768
75775 cmp r3, #512
75776 cmpne r1, #49152
75777 beq .L23674
75778 mov r3, r2, lsr #10
75779 and r4, r3, #3
75780 cmp r4, #3
75781 beq .L23674
75782 cmp sl, #2
75783 bls .L23677
75784 mov r3, r0, asl #22
75785 mov r3, r3, lsr #22
75786 cmp r3, #512
75787 bcc .L23674
75788.L23677:
75789 ldrh r5, [r6, #10]
75790 and ip, r2, #255
75791 mov r3, r5, lsr #14
75792 orr r3, r3, r1, lsr #12
75793 ldr r1, .L23760+48
75794 cmp ip, #160
75795 subgt ip, ip, #256
75796 ldr r1, [r1, r3, asl #2]
75797 tst r2, #512
75798 ldr r2, .L23760+52
75799 movne r1, r1, asl #1
75800 ldr r2, [r2, r3, asl #2]
75801 add lr, ip, r1
75802 movne r2, r2, asl #1
75803 cmp lr, #0
75804 movle r3, #0
75805 movgt r3, #1
75806 cmp ip, #159
75807 movgt r3, #0
75808 cmp r3, #0
75809 beq .L23674
75810 mov r3, r5, asl #23
75811 mov r3, r3, asr #23
75812 add r2, r2, r3
75813 cmp r2, #0
75814 movle r1, #0
75815 movgt r1, #1
75816 cmp r3, #239
75817 movgt r1, #0
75818 cmp r1, #0
75819 beq .L23674
75820 cmp ip, #0
75821 movlt ip, #0
75822 cmp lr, #160
75823 movge lr, #160
75824 mov r3, r0, lsr #10
75825 cmp r4, #1
75826 and r3, r3, #3
75827 beq .L23754
75828 cmp r4, #2
75829 moveq r3, #4
75830 cmp ip, lr
75831 bge .L23674
75832 add r3, r3, r3, asl #2
75833 ldr r2, .L23760+56
75834 ldr r0, .L23760+16
75835 rsb r1, ip, lr
75836 add r3, ip, r3, asl #5
75837 mov r4, ip
75838 add r1, ip, r1
75839 add lr, r2, r3, asl #7
75840 and r5, r7, #255
75841 add ip, r0, r3, asl #2
75842.L23694:
75843 ldr r2, [ip, #0]
75844 add r4, r4, #1
75845 add r3, r2, #1
75846 cmp r4, r1
75847 strb r5, [lr, r2]
75848 str r3, [ip], #4
75849 add lr, lr, #128
75850 bne .L23694
75851.L23674:
75852 sub r7, r7, #1
75853 cmn r7, #1
75854 sub r6, r6, #8
75855 bne .L23673
75856.L23755:
75857 ldr r1, .L23760+4
75858 mov r3, #0
75859 str r3, [r1, #0]
75860 b .L23666
75861.L23754:
75862 cmp ip, lr
75863 bge .L23674
75864 ldr r2, .L23760+56
75865 add r3, r3, r3, asl #2
75866 rsb r1, ip, lr
75867 add r3, ip, r3, asl #5
75868 add r8, ip, r1
75869 add r4, r2, r3, asl #7
75870 ldr r1, .L23760+16
75871 ldr r2, .L23760+40
75872 mov r5, ip
75873 and r0, r7, #255
75874 add lr, r1, r3, asl #2
75875 add ip, r2, ip, asl #2
75876.L23690:
75877 ldr r3, [lr, #0]
75878 ldr r2, [ip, #0]
75879 add r5, r5, #1
75880 add r1, r3, #1
75881 add r2, r2, #1
75882 cmp r5, r8
75883 strb r0, [r4, r3]
75884 str r1, [lr], #4
75885 str r2, [ip], #4
75886 add r4, r4, #128
75887 bne .L23690
75888 sub r7, r7, #1
75889 cmn r7, #1
75890 sub r6, r6, #8
75891 bne .L23673
75892 b .L23755
75893.L23706:
75894 cmp sl, #2
75895 bls .L23756
75896 movs r0, fp, lsr #13
75897 bne .L23757
75898 ldr r3, .L23760+60
75899 ldr r2, .L23760+64
75900 ldrh r1, [r3, #0]
75901 add r8, r2, sl, asl #2
75902 mov r3, r0
75903.L23716:
75904 strh r1, [r3, r4] @ movhi
75905 add r3, r3, #2
75906 cmp r3, #480
75907 bne .L23716
75908 cmp r5, #0
75909 beq .L23709
75910 ldr r6, .L23760+24
75911 and r7, fp, #64
75912 mov r5, #0
75913 b .L23719
75914.L23758:
75915 bl render_scanline_obj_normal_1D
75916.L23724:
75917 ldr r0, .L23760+20
75918 add r5, r5, #1
75919 ldr r3, [r0, #0]
75920 add r6, r6, #4
75921 cmp r3, r5
75922 bls .L23709
75923.L23719:
75924 ldr ip, [r6, #0]
75925 mov r1, #240
75926 ands r0, ip, #4
75927 mov r2, r4
75928 beq .L23720
75929 sub r1, r1, #240
75930 bic ip, ip, #4
75931 cmp r7, r1
75932 mov r2, #240
75933 mov r3, r4
75934 mov r0, ip
75935 bne .L23758
75936 mov r0, ip
75937 mov r1, r7
75938 mov r2, #240
75939 mov r3, r4
75940 bl render_scanline_obj_normal_2D
75941 b .L23724
75942.L23756:
75943 movs r2, fp, lsr #13
75944 beq .L23712
75945 mov r0, r4
75946 mov r1, fp
75947 bl render_scanline_window_tile
75948 b .L23709
75949.L23720:
75950 mov lr, pc
75951 ldr pc, [r8, #0]
75952 b .L23724
75953.L23712:
75954 mov r0, r4
75955 mov r1, fp
75956 bl render_scanline_tile
75957 b .L23709
75958.L23757:
75959 mov r0, r4
75960 mov r1, fp
75961 bl render_scanline_window_bitmap
75962 b .L23709
75963.L23761:
75964 .align 2
75965.L23760:
75966 .word screen
75967 .word oam_update
75968 .word io_registers
75969 .word active_layers
75970 .word obj_priority_count
75971 .word layer_count
75972 .word layer_order
75973 .word skip_next_frame
75974 .word affine_reference_x
75975 .word affine_reference_y
75976 .word obj_alpha_count
75977 .word oam_ram+1008
75978 .word obj_height_table
75979 .word obj_width_table
75980 .word obj_priority_list
75981 .word palette_ram_converted
75982 .word bitmap_mode_renderers-12
75983 .size update_scanline, .-update_scanline
75984 .global video_scale
75985 .section .rodata
75986 .align 2
75987 .type video_scale, %object
75988 .size video_scale, 4
75989video_scale:
75990 .word 1
75991 .global map_widths
75992 .data
75993 .align 2
75994 .type map_widths, %object
75995 .size map_widths, 16
75996map_widths:
75997 .word 256
75998 .word 512
75999 .word 256
76000 .word 512
76001 .global map_heights
76002 .align 2
76003 .type map_heights, %object
76004 .size map_heights, 16
76005map_heights:
76006 .word 256
76007 .word 256
76008 .word 512
76009 .word 512
76010 .global tile_mode_renderers
76011 .align 2
76012 .type tile_mode_renderers, %object
76013 .size tile_mode_renderers, 384
76014tile_mode_renderers:
76015 .word render_scanline_text_base_normal
76016 .word render_scanline_text_transparent_normal
76017 .word render_scanline_text_base_alpha
76018 .word render_scanline_text_transparent_alpha
76019 .word render_scanline_text_base_color16
76020 .word render_scanline_text_transparent_color16
76021 .word render_scanline_text_base_color32
76022 .word render_scanline_text_transparent_color32
76023 .word render_scanline_text_base_normal
76024 .word render_scanline_text_transparent_normal
76025 .word render_scanline_text_base_alpha
76026 .word render_scanline_text_transparent_alpha
76027 .word render_scanline_text_base_color16
76028 .word render_scanline_text_transparent_color16
76029 .word render_scanline_text_base_color32
76030 .word render_scanline_text_transparent_color32
76031 .word render_scanline_text_base_normal
76032 .word render_scanline_text_transparent_normal
76033 .word render_scanline_text_base_alpha
76034 .word render_scanline_text_transparent_alpha
76035 .word render_scanline_text_base_color16
76036 .word render_scanline_text_transparent_color16
76037 .word render_scanline_text_base_color32
76038 .word render_scanline_text_transparent_color32
76039 .word render_scanline_text_base_normal
76040 .word render_scanline_text_transparent_normal
76041 .word render_scanline_text_base_alpha
76042 .word render_scanline_text_transparent_alpha
76043 .word render_scanline_text_base_color16
76044 .word render_scanline_text_transparent_color16
76045 .word render_scanline_text_base_color32
76046 .word render_scanline_text_transparent_color32
76047 .word render_scanline_text_base_normal
76048 .word render_scanline_text_transparent_normal
76049 .word render_scanline_text_base_alpha
76050 .word render_scanline_text_transparent_alpha
76051 .word render_scanline_text_base_color16
76052 .word render_scanline_text_transparent_color16
76053 .word render_scanline_text_base_color32
76054 .word render_scanline_text_transparent_color32
76055 .word render_scanline_text_base_normal
76056 .word render_scanline_text_transparent_normal
76057 .word render_scanline_text_base_alpha
76058 .word render_scanline_text_transparent_alpha
76059 .word render_scanline_text_base_color16
76060 .word render_scanline_text_transparent_color16
76061 .word render_scanline_text_base_color32
76062 .word render_scanline_text_transparent_color32
76063 .word render_scanline_affine_base_normal
76064 .word render_scanline_affine_transparent_normal
76065 .word render_scanline_affine_base_alpha
76066 .word render_scanline_affine_transparent_alpha
76067 .word render_scanline_affine_base_color16
76068 .word render_scanline_affine_transparent_color16
76069 .word render_scanline_affine_base_color32
76070 .word render_scanline_affine_transparent_color32
76071 .word render_scanline_text_base_normal
76072 .word render_scanline_text_transparent_normal
76073 .word render_scanline_text_base_alpha
76074 .word render_scanline_text_transparent_alpha
76075 .word render_scanline_text_base_color16
76076 .word render_scanline_text_transparent_color16
76077 .word render_scanline_text_base_color32
76078 .word render_scanline_text_transparent_color32
76079 .word render_scanline_text_base_normal
76080 .word render_scanline_text_transparent_normal
76081 .word render_scanline_text_base_alpha
76082 .word render_scanline_text_transparent_alpha
76083 .word render_scanline_text_base_color16
76084 .word render_scanline_text_transparent_color16
76085 .word render_scanline_text_base_color32
76086 .word render_scanline_text_transparent_color32
76087 .word render_scanline_text_base_normal
76088 .word render_scanline_text_transparent_normal
76089 .word render_scanline_text_base_alpha
76090 .word render_scanline_text_transparent_alpha
76091 .word render_scanline_text_base_color16
76092 .word render_scanline_text_transparent_color16
76093 .word render_scanline_text_base_color32
76094 .word render_scanline_text_transparent_color32
76095 .word render_scanline_affine_base_normal
76096 .word render_scanline_affine_transparent_normal
76097 .word render_scanline_affine_base_alpha
76098 .word render_scanline_affine_transparent_alpha
76099 .word render_scanline_affine_base_color16
76100 .word render_scanline_affine_transparent_color16
76101 .word render_scanline_affine_base_color32
76102 .word render_scanline_affine_transparent_color32
76103 .word render_scanline_affine_base_normal
76104 .word render_scanline_affine_transparent_normal
76105 .word render_scanline_affine_base_alpha
76106 .word render_scanline_affine_transparent_alpha
76107 .word render_scanline_affine_base_color16
76108 .word render_scanline_affine_transparent_color16
76109 .word render_scanline_affine_base_color32
76110 .word render_scanline_affine_transparent_color32
76111 .global bitmap_mode_renderers
76112 .align 2
76113 .type bitmap_mode_renderers, %object
76114 .size bitmap_mode_renderers, 12
76115bitmap_mode_renderers:
76116 .word render_scanline_bitmap_mode3_normal
76117 .word render_scanline_bitmap_mode4_normal
76118 .word render_scanline_bitmap_mode5_normal
76119 .global obj_width_table
76120 .align 2
76121 .type obj_width_table, %object
76122 .size obj_width_table, 48
76123obj_width_table:
76124 .word 8
76125 .word 16
76126 .word 32
76127 .word 64
76128 .word 16
76129 .word 32
76130 .word 32
76131 .word 64
76132 .word 8
76133 .word 8
76134 .word 16
76135 .word 32
76136 .global obj_height_table
76137 .align 2
76138 .type obj_height_table, %object
76139 .size obj_height_table, 48
76140obj_height_table:
76141 .word 8
76142 .word 16
76143 .word 32
76144 .word 64
76145 .word 8
76146 .word 8
76147 .word 16
76148 .word 32
76149 .word 16
76150 .word 32
76151 .word 32
76152 .word 64
76153 .global active_layers
76154 .align 2
76155 .type active_layers, %object
76156 .size active_layers, 24
76157active_layers:
76158 .word 31
76159 .word 23
76160 .word 28
76161 .word 20
76162 .word 20
76163 .word 20
76164 .global small_resolution_width
76165 .align 2
76166 .type small_resolution_width, %object
76167 .size small_resolution_width, 4
76168small_resolution_width:
76169 .word 240
76170 .global small_resolution_height
76171 .align 2
76172 .type small_resolution_height, %object
76173 .size small_resolution_height, 4
76174small_resolution_height:
76175 .word 160
76176 .global screen_scale
76177 .align 2
76178 .type screen_scale, %object
76179 .size screen_scale, 4
76180screen_scale:
76181 .word 1
76182 .global current_scale
76183 .align 2
76184 .type current_scale, %object
76185 .size current_scale, 4
76186current_scale:
76187 .word 1
76188 .global screen_filter
76189 .align 2
76190 .type screen_filter, %object
76191 .size screen_filter, 4
76192screen_filter:
76193 .word 1
76194 .global debug_cursor_x
76195 .bss
76196 .align 2
76197 .type debug_cursor_x, %object
76198 .size debug_cursor_x, 4
76199debug_cursor_x:
76200 .space 4
76201 .global debug_cursor_y
76202 .align 2
76203 .type debug_cursor_y, %object
76204 .size debug_cursor_y, 4
76205debug_cursor_y:
76206 .space 4
76207 .section .rodata
76208 .align 2
76209 .type _font_offset, %object
76210 .size _font_offset, 1024
76211_font_offset:
76212 .word 0
76213 .word 10
76214 .word 20
76215 .word 30
76216 .word 40
76217 .word 50
76218 .word 60
76219 .word 70
76220 .word 80
76221 .word 90
76222 .word 100
76223 .word 110
76224 .word 120
76225 .word 130
76226 .word 140
76227 .word 150
76228 .word 160
76229 .word 170
76230 .word 180
76231 .word 190
76232 .word 200
76233 .word 210
76234 .word 220
76235 .word 230
76236 .word 240
76237 .word 250
76238 .word 260
76239 .word 270
76240 .word 280
76241 .word 290
76242 .word 300
76243 .word 310
76244 .word 320
76245 .word 330
76246 .word 340
76247 .word 350
76248 .word 360
76249 .word 370
76250 .word 380
76251 .word 390
76252 .word 400
76253 .word 410
76254 .word 420
76255 .word 430
76256 .word 440
76257 .word 450
76258 .word 460
76259 .word 470
76260 .word 480
76261 .word 490
76262 .word 500
76263 .word 510
76264 .word 520
76265 .word 530
76266 .word 540
76267 .word 550
76268 .word 560
76269 .word 570
76270 .word 580
76271 .word 590
76272 .word 600
76273 .word 610
76274 .word 620
76275 .word 630
76276 .word 640
76277 .word 650
76278 .word 660
76279 .word 670
76280 .word 680
76281 .word 690
76282 .word 700
76283 .word 710
76284 .word 720
76285 .word 730
76286 .word 740
76287 .word 750
76288 .word 760
76289 .word 770
76290 .word 780
76291 .word 790
76292 .word 800
76293 .word 810
76294 .word 820
76295 .word 830
76296 .word 840
76297 .word 850
76298 .word 860
76299 .word 870
76300 .word 880
76301 .word 890
76302 .word 900
76303 .word 910
76304 .word 920
76305 .word 930
76306 .word 940
76307 .word 950
76308 .word 960
76309 .word 970
76310 .word 980
76311 .word 990
76312 .word 1000
76313 .word 1010
76314 .word 1020
76315 .word 1030
76316 .word 1040
76317 .word 1050
76318 .word 1060
76319 .word 1070
76320 .word 1080
76321 .word 1090
76322 .word 1100
76323 .word 1110
76324 .word 1120
76325 .word 1130
76326 .word 1140
76327 .word 1150
76328 .word 1160
76329 .word 1170
76330 .word 1180
76331 .word 1190
76332 .word 1200
76333 .word 1210
76334 .word 1220
76335 .word 1230
76336 .word 1240
76337 .word 1250
76338 .word 1260
76339 .word 0
76340 .word 0
76341 .word 0
76342 .word 0
76343 .word 0
76344 .word 0
76345 .word 0
76346 .word 0
76347 .word 0
76348 .word 0
76349 .word 0
76350 .word 0
76351 .word 0
76352 .word 0
76353 .word 0
76354 .word 0
76355 .word 0
76356 .word 0
76357 .word 0
76358 .word 0
76359 .word 0
76360 .word 0
76361 .word 0
76362 .word 0
76363 .word 0
76364 .word 0
76365 .word 0
76366 .word 0
76367 .word 0
76368 .word 0
76369 .word 0
76370 .word 0
76371 .word 0
76372 .word 1270
76373 .word 1280
76374 .word 1290
76375 .word 1300
76376 .word 1310
76377 .word 1320
76378 .word 1330
76379 .word 1340
76380 .word 1350
76381 .word 1360
76382 .word 1370
76383 .word 1380
76384 .word 1390
76385 .word 1400
76386 .word 1410
76387 .word 1420
76388 .word 1430
76389 .word 1440
76390 .word 1450
76391 .word 1460
76392 .word 1470
76393 .word 1480
76394 .word 1490
76395 .word 1500
76396 .word 1510
76397 .word 1520
76398 .word 1530
76399 .word 1540
76400 .word 1550
76401 .word 1560
76402 .word 1570
76403 .word 1580
76404 .word 1590
76405 .word 1600
76406 .word 1610
76407 .word 1620
76408 .word 1630
76409 .word 1640
76410 .word 1650
76411 .word 1660
76412 .word 1670
76413 .word 1680
76414 .word 1690
76415 .word 1700
76416 .word 1710
76417 .word 1720
76418 .word 1730
76419 .word 1740
76420 .word 1750
76421 .word 1760
76422 .word 1770
76423 .word 1780
76424 .word 1790
76425 .word 1800
76426 .word 1810
76427 .word 1820
76428 .word 1830
76429 .word 1840
76430 .word 1850
76431 .word 1860
76432 .word 1870
76433 .word 1880
76434 .word 1890
76435 .word 1900
76436 .word 1910
76437 .word 1920
76438 .word 1930
76439 .word 1940
76440 .word 1950
76441 .word 1960
76442 .word 1970
76443 .word 1980
76444 .word 1990
76445 .word 2000
76446 .word 2010
76447 .word 2020
76448 .word 2030
76449 .word 2040
76450 .word 2050
76451 .word 2060
76452 .word 2070
76453 .word 2080
76454 .word 2090
76455 .word 2100
76456 .word 2110
76457 .word 2120
76458 .word 2130
76459 .word 2140
76460 .word 2150
76461 .word 2160
76462 .word 2170
76463 .word 2180
76464 .word 2190
76465 .word 2200
76466 .word 2210
76467 .word 2220
76468 .align 1
76469 .type _font_bits, %object
76470 .size _font_bits, 4460
76471_font_bits:
76472 .short 0
76473 .short -22528
76474 .short 0
76475 .short -30720
76476 .short 0
76477 .short -30720
76478 .short 0
76479 .short -22528
76480 .short 0
76481 .short 0
76482 .short 0
76483 .short 0
76484 .short 8192
76485 .short 28672
76486 .short -2048
76487 .short 28672
76488 .short 8192
76489 .short 0
76490 .short 0
76491 .short 0
76492 .short -22528
76493 .short 21504
76494 .short -22528
76495 .short 21504
76496 .short -22528
76497 .short 21504
76498 .short -22528
76499 .short 21504
76500 .short -22528
76501 .short 21504
76502 .short 0
76503 .short -28672
76504 .short -28672
76505 .short -4096
76506 .short -28672
76507 .short -28672
76508 .short 30720
76509 .short 4096
76510 .short 4096
76511 .short 4096
76512 .short 0
76513 .short -8192
76514 .short -32768
76515 .short -16384
76516 .short -32768
76517 .short -18432
76518 .short 8192
76519 .short 12288
76520 .short 8192
76521 .short 8192
76522 .short 0
76523 .short 28672
76524 .short -32768
76525 .short -32768
76526 .short 28672
76527 .short 28672
76528 .short 18432
76529 .short 28672
76530 .short 18432
76531 .short 18432
76532 .short 0
76533 .short -32768
76534 .short -32768
76535 .short -32768
76536 .short -4096
76537 .short 30720
76538 .short 16384
76539 .short 28672
76540 .short 16384
76541 .short 16384
76542 .short 0
76543 .short 8192
76544 .short 20480
76545 .short 8192
76546 .short 0
76547 .short 0
76548 .short 0
76549 .short 0
76550 .short 0
76551 .short 0
76552 .short 0
76553 .short 0
76554 .short 8192
76555 .short 8192
76556 .short -2048
76557 .short 8192
76558 .short 8192
76559 .short -2048
76560 .short 0
76561 .short 0
76562 .short 0
76563 .short -28672
76564 .short -12288
76565 .short -12288
76566 .short -20480
76567 .short -28672
76568 .short 16384
76569 .short 16384
76570 .short 16384
76571 .short 30720
76572 .short 0
76573 .short -28672
76574 .short -28672
76575 .short 24576
76576 .short 16384
76577 .short 30720
76578 .short 4096
76579 .short 4096
76580 .short 4096
76581 .short 4096
76582 .short 8192
76583 .short 8192
76584 .short 8192
76585 .short 8192
76586 .short 8192
76587 .short -8192
76588 .short 0
76589 .short 0
76590 .short 0
76591 .short 0
76592 .short 0
76593 .short 0
76594 .short 0
76595 .short 0
76596 .short 0
76597 .short -8192
76598 .short 8192
76599 .short 8192
76600 .short 8192
76601 .short 8192
76602 .short 0
76603 .short 0
76604 .short 0
76605 .short 0
76606 .short 0
76607 .short 15360
76608 .short 8192
76609 .short 8192
76610 .short 8192
76611 .short 8192
76612 .short 8192
76613 .short 8192
76614 .short 8192
76615 .short 8192
76616 .short 8192
76617 .short 15360
76618 .short 0
76619 .short 0
76620 .short 0
76621 .short 0
76622 .short 8192
76623 .short 8192
76624 .short 8192
76625 .short 8192
76626 .short 8192
76627 .short -1024
76628 .short 8192
76629 .short 8192
76630 .short 8192
76631 .short 8192
76632 .short -1024
76633 .short 0
76634 .short 0
76635 .short 0
76636 .short 0
76637 .short 0
76638 .short 0
76639 .short 0
76640 .short 0
76641 .short 0
76642 .short 0
76643 .short 0
76644 .short -1024
76645 .short 0
76646 .short 0
76647 .short 0
76648 .short 0
76649 .short 0
76650 .short 0
76651 .short 0
76652 .short 0
76653 .short 0
76654 .short 0
76655 .short 0
76656 .short 0
76657 .short -1024
76658 .short 0
76659 .short 0
76660 .short 0
76661 .short 0
76662 .short 0
76663 .short 0
76664 .short 0
76665 .short 0
76666 .short 0
76667 .short 0
76668 .short 0
76669 .short -1024
76670 .short 0
76671 .short 0
76672 .short 0
76673 .short 0
76674 .short 0
76675 .short 0
76676 .short 0
76677 .short 0
76678 .short 0
76679 .short 0
76680 .short 0
76681 .short -1024
76682 .short 8192
76683 .short 8192
76684 .short 8192
76685 .short 8192
76686 .short 8192
76687 .short 15360
76688 .short 8192
76689 .short 8192
76690 .short 8192
76691 .short 8192
76692 .short 8192
76693 .short 8192
76694 .short 8192
76695 .short 8192
76696 .short 8192
76697 .short -8192
76698 .short 8192
76699 .short 8192
76700 .short 8192
76701 .short 8192
76702 .short 8192
76703 .short 8192
76704 .short 8192
76705 .short 8192
76706 .short 8192
76707 .short -1024
76708 .short 0
76709 .short 0
76710 .short 0
76711 .short 0
76712 .short 0
76713 .short 0
76714 .short 0
76715 .short 0
76716 .short 0
76717 .short -1024
76718 .short 8192
76719 .short 8192
76720 .short 8192
76721 .short 8192
76722 .short 8192
76723 .short 8192
76724 .short 8192
76725 .short 8192
76726 .short 8192
76727 .short 8192
76728 .short 8192
76729 .short 8192
76730 .short 8192
76731 .short 8192
76732 .short 0
76733 .short 6144
76734 .short 24576
76735 .short -32768
76736 .short 24576
76737 .short 6144
76738 .short 0
76739 .short -2048
76740 .short 0
76741 .short 0
76742 .short 0
76743 .short -16384
76744 .short 12288
76745 .short 2048
76746 .short 12288
76747 .short -16384
76748 .short 0
76749 .short -2048
76750 .short 0
76751 .short 0
76752 .short 0
76753 .short 0
76754 .short 0
76755 .short -2048
76756 .short 20480
76757 .short 20480
76758 .short 20480
76759 .short 20480
76760 .short 0
76761 .short 0
76762 .short 0
76763 .short 2048
76764 .short 4096
76765 .short -2048
76766 .short 8192
76767 .short -2048
76768 .short 16384
76769 .short -32768
76770 .short 0
76771 .short 0
76772 .short 0
76773 .short 12288
76774 .short 18432
76775 .short 16384
76776 .short -8192
76777 .short 16384
76778 .short 18432
76779 .short -20480
76780 .short 0
76781 .short 0
76782 .short 0
76783 .short 0
76784 .short 0
76785 .short 0
76786 .short 8192
76787 .short 0
76788 .short 0
76789 .short 0
76790 .short 0
76791 .short 0
76792 .short 0
76793 .short 0
76794 .short 0
76795 .short 0
76796 .short 0
76797 .short 0
76798 .short 0
76799 .short 0
76800 .short 0
76801 .short 0
76802 .short 0
76803 .short 8192
76804 .short 8192
76805 .short 8192
76806 .short 8192
76807 .short 8192
76808 .short 0
76809 .short 8192
76810 .short 0
76811 .short 0
76812 .short 0
76813 .short 20480
76814 .short 20480
76815 .short 20480
76816 .short 0
76817 .short 0
76818 .short 0
76819 .short 0
76820 .short 0
76821 .short 0
76822 .short 0
76823 .short 20480
76824 .short 20480
76825 .short -2048
76826 .short 20480
76827 .short -2048
76828 .short 20480
76829 .short 20480
76830 .short 0
76831 .short 0
76832 .short 0
76833 .short 8192
76834 .short 28672
76835 .short -24576
76836 .short 28672
76837 .short 10240
76838 .short 28672
76839 .short 8192
76840 .short 0
76841 .short 0
76842 .short 0
76843 .short 18432
76844 .short -22528
76845 .short 20480
76846 .short 8192
76847 .short 20480
76848 .short -22528
76849 .short -28672
76850 .short 0
76851 .short 0
76852 .short 0
76853 .short 16384
76854 .short -24576
76855 .short -24576
76856 .short 16384
76857 .short -22528
76858 .short -28672
76859 .short 26624
76860 .short 0
76861 .short 0
76862 .short 0
76863 .short 8192
76864 .short 8192
76865 .short 8192
76866 .short 0
76867 .short 0
76868 .short 0
76869 .short 0
76870 .short 0
76871 .short 0
76872 .short 0
76873 .short 4096
76874 .short 8192
76875 .short 16384
76876 .short 16384
76877 .short 16384
76878 .short 8192
76879 .short 4096
76880 .short 0
76881 .short 0
76882 .short 0
76883 .short 16384
76884 .short 8192
76885 .short 4096
76886 .short 4096
76887 .short 4096
76888 .short 8192
76889 .short 16384
76890 .short 0
76891 .short 0
76892 .short 0
76893 .short 0
76894 .short -30720
76895 .short 20480
76896 .short -2048
76897 .short 20480
76898 .short -30720
76899 .short 0
76900 .short 0
76901 .short 0
76902 .short 0
76903 .short 0
76904 .short 8192
76905 .short 8192
76906 .short -2048
76907 .short 8192
76908 .short 8192
76909 .short 0
76910 .short 0
76911 .short 0
76912 .short 0
76913 .short 0
76914 .short 0
76915 .short 0
76916 .short 0
76917 .short 0
76918 .short 12288
76919 .short 8192
76920 .short 16384
76921 .short 0
76922 .short 0
76923 .short 0
76924 .short 0
76925 .short 0
76926 .short -2048
76927 .short 0
76928 .short 0
76929 .short 0
76930 .short 0
76931 .short 0
76932 .short 0
76933 .short 0
76934 .short 0
76935 .short 0
76936 .short 0
76937 .short 0
76938 .short 8192
76939 .short 28672
76940 .short 8192
76941 .short 0
76942 .short 0
76943 .short 2048
76944 .short 2048
76945 .short 4096
76946 .short 8192
76947 .short 16384
76948 .short -32768
76949 .short -32768
76950 .short 0
76951 .short 0
76952 .short 0
76953 .short 8192
76954 .short 20480
76955 .short -30720
76956 .short -30720
76957 .short -30720
76958 .short 20480
76959 .short 8192
76960 .short 0
76961 .short 0
76962 .short 0
76963 .short 8192
76964 .short 24576
76965 .short -24576
76966 .short 8192
76967 .short 8192
76968 .short 8192
76969 .short -2048
76970 .short 0
76971 .short 0
76972 .short 0
76973 .short 28672
76974 .short -30720
76975 .short 2048
76976 .short 12288
76977 .short 16384
76978 .short -32768
76979 .short -2048
76980 .short 0
76981 .short 0
76982 .short 0
76983 .short -2048
76984 .short 2048
76985 .short 4096
76986 .short 12288
76987 .short 2048
76988 .short -30720
76989 .short 28672
76990 .short 0
76991 .short 0
76992 .short 0
76993 .short 4096
76994 .short 12288
76995 .short 20480
76996 .short -28672
76997 .short -2048
76998 .short 4096
76999 .short 4096
77000 .short 0
77001 .short 0
77002 .short 0
77003 .short -2048
77004 .short -32768
77005 .short -20480
77006 .short -14336
77007 .short 2048
77008 .short -30720
77009 .short 28672
77010 .short 0
77011 .short 0
77012 .short 0
77013 .short 12288
77014 .short 16384
77015 .short -32768
77016 .short -20480
77017 .short -14336
77018 .short -30720
77019 .short 28672
77020 .short 0
77021 .short 0
77022 .short 0
77023 .short -2048
77024 .short 2048
77025 .short 4096
77026 .short 4096
77027 .short 8192
77028 .short 16384
77029 .short 16384
77030 .short 0
77031 .short 0
77032 .short 0
77033 .short 28672
77034 .short -30720
77035 .short -30720
77036 .short 28672
77037 .short -30720
77038 .short -30720
77039 .short 28672
77040 .short 0
77041 .short 0
77042 .short 0
77043 .short 28672
77044 .short -30720
77045 .short -26624
77046 .short 26624
77047 .short 2048
77048 .short 4096
77049 .short 24576
77050 .short 0
77051 .short 0
77052 .short 0
77053 .short 0
77054 .short 8192
77055 .short 28672
77056 .short 8192
77057 .short 0
77058 .short 8192
77059 .short 28672
77060 .short 8192
77061 .short 0
77062 .short 0
77063 .short 0
77064 .short 8192
77065 .short 28672
77066 .short 8192
77067 .short 0
77068 .short 12288
77069 .short 8192
77070 .short 16384
77071 .short 0
77072 .short 0
77073 .short 2048
77074 .short 4096
77075 .short 8192
77076 .short 16384
77077 .short 8192
77078 .short 4096
77079 .short 2048
77080 .short 0
77081 .short 0
77082 .short 0
77083 .short 0
77084 .short 0
77085 .short -2048
77086 .short 0
77087 .short -2048
77088 .short 0
77089 .short 0
77090 .short 0
77091 .short 0
77092 .short 0
77093 .short 16384
77094 .short 8192
77095 .short 4096
77096 .short 2048
77097 .short 4096
77098 .short 8192
77099 .short 16384
77100 .short 0
77101 .short 0
77102 .short 0
77103 .short 28672
77104 .short -30720
77105 .short 4096
77106 .short 8192
77107 .short 8192
77108 .short 0
77109 .short 8192
77110 .short 0
77111 .short 0
77112 .short 0
77113 .short 28672
77114 .short -30720
77115 .short -26624
77116 .short -22528
77117 .short -20480
77118 .short -32768
77119 .short 28672
77120 .short 0
77121 .short 0
77122 .short 0
77123 .short 8192
77124 .short 20480
77125 .short -30720
77126 .short -30720
77127 .short -2048
77128 .short -30720
77129 .short -30720
77130 .short 0
77131 .short 0
77132 .short 0
77133 .short -4096
77134 .short 18432
77135 .short 18432
77136 .short 28672
77137 .short 18432
77138 .short 18432
77139 .short -4096
77140 .short 0
77141 .short 0
77142 .short 0
77143 .short 28672
77144 .short -30720
77145 .short -32768
77146 .short -32768
77147 .short -32768
77148 .short -30720
77149 .short 28672
77150 .short 0
77151 .short 0
77152 .short 0
77153 .short -4096
77154 .short 18432
77155 .short 18432
77156 .short 18432
77157 .short 18432
77158 .short 18432
77159 .short -4096
77160 .short 0
77161 .short 0
77162 .short 0
77163 .short -2048
77164 .short -32768
77165 .short -32768
77166 .short -4096
77167 .short -32768
77168 .short -32768
77169 .short -2048
77170 .short 0
77171 .short 0
77172 .short 0
77173 .short -2048
77174 .short -32768
77175 .short -32768
77176 .short -4096
77177 .short -32768
77178 .short -32768
77179 .short -32768
77180 .short 0
77181 .short 0
77182 .short 0
77183 .short 28672
77184 .short -30720
77185 .short -32768
77186 .short -32768
77187 .short -26624
77188 .short -30720
77189 .short 28672
77190 .short 0
77191 .short 0
77192 .short 0
77193 .short -30720
77194 .short -30720
77195 .short -30720
77196 .short -2048
77197 .short -30720
77198 .short -30720
77199 .short -30720
77200 .short 0
77201 .short 0
77202 .short 0
77203 .short 28672
77204 .short 8192
77205 .short 8192
77206 .short 8192
77207 .short 8192
77208 .short 8192
77209 .short 28672
77210 .short 0
77211 .short 0
77212 .short 0
77213 .short 14336
77214 .short 4096
77215 .short 4096
77216 .short 4096
77217 .short 4096
77218 .short -28672
77219 .short 24576
77220 .short 0
77221 .short 0
77222 .short 0
77223 .short -30720
77224 .short -28672
77225 .short -24576
77226 .short -16384
77227 .short -24576
77228 .short -28672
77229 .short -30720
77230 .short 0
77231 .short 0
77232 .short 0
77233 .short -32768
77234 .short -32768
77235 .short -32768
77236 .short -32768
77237 .short -32768
77238 .short -32768
77239 .short -2048
77240 .short 0
77241 .short 0
77242 .short 0
77243 .short -30720
77244 .short -30720
77245 .short -10240
77246 .short -22528
77247 .short -30720
77248 .short -30720
77249 .short -30720
77250 .short 0
77251 .short 0
77252 .short 0
77253 .short -30720
77254 .short -30720
77255 .short -14336
77256 .short -22528
77257 .short -26624
77258 .short -30720
77259 .short -30720
77260 .short 0
77261 .short 0
77262 .short 0
77263 .short 28672
77264 .short -30720
77265 .short -30720
77266 .short -30720
77267 .short -30720
77268 .short -30720
77269 .short 28672
77270 .short 0
77271 .short 0
77272 .short 0
77273 .short -4096
77274 .short -30720
77275 .short -30720
77276 .short -4096
77277 .short -32768
77278 .short -32768
77279 .short -32768
77280 .short 0
77281 .short 0
77282 .short 0
77283 .short 28672
77284 .short -30720
77285 .short -30720
77286 .short -30720
77287 .short -30720
77288 .short -22528
77289 .short 28672
77290 .short 2048
77291 .short 0
77292 .short 0
77293 .short -4096
77294 .short -30720
77295 .short -30720
77296 .short -4096
77297 .short -24576
77298 .short -28672
77299 .short -30720
77300 .short 0
77301 .short 0
77302 .short 0
77303 .short 28672
77304 .short -30720
77305 .short -32768
77306 .short 28672
77307 .short 2048
77308 .short -30720
77309 .short 28672
77310 .short 0
77311 .short 0
77312 .short 0
77313 .short -2048
77314 .short 8192
77315 .short 8192
77316 .short 8192
77317 .short 8192
77318 .short 8192
77319 .short 8192
77320 .short 0
77321 .short 0
77322 .short 0
77323 .short -30720
77324 .short -30720
77325 .short -30720
77326 .short -30720
77327 .short -30720
77328 .short -30720
77329 .short 28672
77330 .short 0
77331 .short 0
77332 .short 0
77333 .short -30720
77334 .short -30720
77335 .short -30720
77336 .short 20480
77337 .short 20480
77338 .short 20480
77339 .short 8192
77340 .short 0
77341 .short 0
77342 .short 0
77343 .short -30720
77344 .short -30720
77345 .short -30720
77346 .short -22528
77347 .short -22528
77348 .short -10240
77349 .short -30720
77350 .short 0
77351 .short 0
77352 .short 0
77353 .short -30720
77354 .short -30720
77355 .short 20480
77356 .short 8192
77357 .short 20480
77358 .short -30720
77359 .short -30720
77360 .short 0
77361 .short 0
77362 .short 0
77363 .short -30720
77364 .short -30720
77365 .short 20480
77366 .short 8192
77367 .short 8192
77368 .short 8192
77369 .short 8192
77370 .short 0
77371 .short 0
77372 .short 0
77373 .short -2048
77374 .short 2048
77375 .short 4096
77376 .short 8192
77377 .short 16384
77378 .short -32768
77379 .short -2048
77380 .short 0
77381 .short 0
77382 .short 0
77383 .short 28672
77384 .short 16384
77385 .short 16384
77386 .short 16384
77387 .short 16384
77388 .short 16384
77389 .short 28672
77390 .short 0
77391 .short 0
77392 .short 0
77393 .short -32768
77394 .short -32768
77395 .short 16384
77396 .short 8192
77397 .short 4096
77398 .short 2048
77399 .short 2048
77400 .short 0
77401 .short 0
77402 .short 0
77403 .short 28672
77404 .short 4096
77405 .short 4096
77406 .short 4096
77407 .short 4096
77408 .short 4096
77409 .short 28672
77410 .short 0
77411 .short 0
77412 .short 0
77413 .short 8192
77414 .short 20480
77415 .short -30720
77416 .short 0
77417 .short 0
77418 .short 0
77419 .short 0
77420 .short 0
77421 .short 0
77422 .short 0
77423 .short 0
77424 .short 0
77425 .short 0
77426 .short 0
77427 .short 0
77428 .short 0
77429 .short 0
77430 .short -2048
77431 .short 0
77432 .short 8192
77433 .short 4096
77434 .short 0
77435 .short 0
77436 .short 0
77437 .short 0
77438 .short 0
77439 .short 0
77440 .short 0
77441 .short 0
77442 .short 0
77443 .short 0
77444 .short 0
77445 .short 28672
77446 .short 2048
77447 .short 30720
77448 .short -30720
77449 .short 30720
77450 .short 0
77451 .short 0
77452 .short 0
77453 .short -32768
77454 .short -32768
77455 .short -20480
77456 .short -14336
77457 .short -30720
77458 .short -14336
77459 .short -20480
77460 .short 0
77461 .short 0
77462 .short 0
77463 .short 0
77464 .short 0
77465 .short 28672
77466 .short -30720
77467 .short -32768
77468 .short -30720
77469 .short 28672
77470 .short 0
77471 .short 0
77472 .short 0
77473 .short 2048
77474 .short 2048
77475 .short 26624
77476 .short -26624
77477 .short -30720
77478 .short -26624
77479 .short 26624
77480 .short 0
77481 .short 0
77482 .short 0
77483 .short 0
77484 .short 0
77485 .short 28672
77486 .short -30720
77487 .short -2048
77488 .short -32768
77489 .short 28672
77490 .short 0
77491 .short 0
77492 .short 0
77493 .short 12288
77494 .short 18432
77495 .short 16384
77496 .short -4096
77497 .short 16384
77498 .short 16384
77499 .short 16384
77500 .short 0
77501 .short 0
77502 .short 0
77503 .short 0
77504 .short 0
77505 .short 30720
77506 .short -30720
77507 .short -30720
77508 .short 30720
77509 .short 2048
77510 .short -30720
77511 .short 28672
77512 .short 0
77513 .short -32768
77514 .short -32768
77515 .short -20480
77516 .short -14336
77517 .short -30720
77518 .short -30720
77519 .short -30720
77520 .short 0
77521 .short 0
77522 .short 0
77523 .short 8192
77524 .short 0
77525 .short 24576
77526 .short 8192
77527 .short 8192
77528 .short 8192
77529 .short 28672
77530 .short 0
77531 .short 0
77532 .short 0
77533 .short 2048
77534 .short 0
77535 .short 6144
77536 .short 2048
77537 .short 2048
77538 .short 2048
77539 .short 18432
77540 .short 18432
77541 .short 12288
77542 .short 0
77543 .short -32768
77544 .short -32768
77545 .short -30720
77546 .short -28672
77547 .short -8192
77548 .short -28672
77549 .short -30720
77550 .short 0
77551 .short 0
77552 .short 0
77553 .short 24576
77554 .short 8192
77555 .short 8192
77556 .short 8192
77557 .short 8192
77558 .short 8192
77559 .short 28672
77560 .short 0
77561 .short 0
77562 .short 0
77563 .short 0
77564 .short 0
77565 .short -12288
77566 .short -22528
77567 .short -22528
77568 .short -22528
77569 .short -30720
77570 .short 0
77571 .short 0
77572 .short 0
77573 .short 0
77574 .short 0
77575 .short -20480
77576 .short -14336
77577 .short -30720
77578 .short -30720
77579 .short -30720
77580 .short 0
77581 .short 0
77582 .short 0
77583 .short 0
77584 .short 0
77585 .short 28672
77586 .short -30720
77587 .short -30720
77588 .short -30720
77589 .short 28672
77590 .short 0
77591 .short 0
77592 .short 0
77593 .short 0
77594 .short 0
77595 .short -20480
77596 .short -14336
77597 .short -30720
77598 .short -14336
77599 .short -20480
77600 .short -32768
77601 .short -32768
77602 .short 0
77603 .short 0
77604 .short 0
77605 .short 26624
77606 .short -26624
77607 .short -30720
77608 .short -26624
77609 .short 26624
77610 .short 2048
77611 .short 2048
77612 .short 0
77613 .short 0
77614 .short 0
77615 .short -20480
77616 .short -14336
77617 .short -32768
77618 .short -32768
77619 .short -32768
77620 .short 0
77621 .short 0
77622 .short 0
77623 .short 0
77624 .short 0
77625 .short 28672
77626 .short -32768
77627 .short 28672
77628 .short 2048
77629 .short -4096
77630 .short 0
77631 .short 0
77632 .short 0
77633 .short 16384
77634 .short 16384
77635 .short -4096
77636 .short 16384
77637 .short 16384
77638 .short 18432
77639 .short 12288
77640 .short 0
77641 .short 0
77642 .short 0
77643 .short 0
77644 .short 0
77645 .short -30720
77646 .short -30720
77647 .short -30720
77648 .short -26624
77649 .short 26624
77650 .short 0
77651 .short 0
77652 .short 0
77653 .short 0
77654 .short 0
77655 .short -30720
77656 .short -30720
77657 .short 20480
77658 .short 20480
77659 .short 8192
77660 .short 0
77661 .short 0
77662 .short 0
77663 .short 0
77664 .short 0
77665 .short -30720
77666 .short -30720
77667 .short -22528
77668 .short -22528
77669 .short 20480
77670 .short 0
77671 .short 0
77672 .short 0
77673 .short 0
77674 .short 0
77675 .short -30720
77676 .short 20480
77677 .short 8192
77678 .short 20480
77679 .short -30720
77680 .short 0
77681 .short 0
77682 .short 0
77683 .short 0
77684 .short 0
77685 .short -30720
77686 .short -30720
77687 .short -26624
77688 .short 26624
77689 .short 2048
77690 .short -30720
77691 .short 28672
77692 .short 0
77693 .short 0
77694 .short 0
77695 .short -2048
77696 .short 4096
77697 .short 8192
77698 .short 16384
77699 .short -2048
77700 .short 0
77701 .short 0
77702 .short 0
77703 .short 6144
77704 .short 8192
77705 .short 4096
77706 .short 24576
77707 .short 4096
77708 .short 8192
77709 .short 6144
77710 .short 0
77711 .short 0
77712 .short 0
77713 .short 8192
77714 .short 8192
77715 .short 8192
77716 .short 8192
77717 .short 8192
77718 .short 8192
77719 .short 8192
77720 .short 0
77721 .short 0
77722 .short 0
77723 .short 24576
77724 .short 4096
77725 .short 8192
77726 .short 6144
77727 .short 8192
77728 .short 4096
77729 .short 24576
77730 .short 0
77731 .short 0
77732 .short 0
77733 .short 18432
77734 .short -22528
77735 .short -28672
77736 .short 0
77737 .short 0
77738 .short 0
77739 .short 0
77740 .short 0
77741 .short 0
77742 .short 0
77743 .short 0
77744 .short 0
77745 .short 0
77746 .short 0
77747 .short 0
77748 .short 0
77749 .short 0
77750 .short 0
77751 .short 0
77752 .short 0
77753 .short 8192
77754 .short 0
77755 .short 8192
77756 .short 8192
77757 .short 8192
77758 .short 8192
77759 .short 8192
77760 .short 0
77761 .short 0
77762 .short 0
77763 .short 0
77764 .short 8192
77765 .short 30720
77766 .short -24576
77767 .short -24576
77768 .short -24576
77769 .short 30720
77770 .short 8192
77771 .short 0
77772 .short 0
77773 .short 12288
77774 .short 18432
77775 .short 16384
77776 .short -8192
77777 .short 16384
77778 .short 18432
77779 .short -20480
77780 .short 0
77781 .short 0
77782 .short 0
77783 .short 0
77784 .short 0
77785 .short -30720
77786 .short 28672
77787 .short 20480
77788 .short 28672
77789 .short -30720
77790 .short 0
77791 .short 0
77792 .short 0
77793 .short -30720
77794 .short -30720
77795 .short 20480
77796 .short 8192
77797 .short -2048
77798 .short 8192
77799 .short 8192
77800 .short 8192
77801 .short 0
77802 .short 0
77803 .short 8192
77804 .short 8192
77805 .short 8192
77806 .short 0
77807 .short 8192
77808 .short 8192
77809 .short 8192
77810 .short 0
77811 .short 0
77812 .short 0
77813 .short 28672
77814 .short -32768
77815 .short -8192
77816 .short -28672
77817 .short 18432
77818 .short 14336
77819 .short 2048
77820 .short 28672
77821 .short 0
77822 .short 20480
77823 .short 0
77824 .short 0
77825 .short 0
77826 .short 0
77827 .short 0
77828 .short 0
77829 .short 0
77830 .short 0
77831 .short 0
77832 .short 0
77833 .short 28672
77834 .short -30720
77835 .short -22528
77836 .short -14336
77837 .short -22528
77838 .short -30720
77839 .short 28672
77840 .short 0
77841 .short 0
77842 .short 0
77843 .short 14336
77844 .short 18432
77845 .short 22528
77846 .short 10240
77847 .short 0
77848 .short 30720
77849 .short 0
77850 .short 0
77851 .short 0
77852 .short 0
77853 .short 0
77854 .short 0
77855 .short 9216
77856 .short 18432
77857 .short -28672
77858 .short 18432
77859 .short 9216
77860 .short 0
77861 .short 0
77862 .short 0
77863 .short 0
77864 .short 0
77865 .short 0
77866 .short 30720
77867 .short 2048
77868 .short 0
77869 .short 0
77870 .short 0
77871 .short 0
77872 .short 0
77873 .short 0
77874 .short 0
77875 .short 0
77876 .short 30720
77877 .short 0
77878 .short 0
77879 .short 0
77880 .short 0
77881 .short 0
77882 .short 0
77883 .short 28672
77884 .short -30720
77885 .short -6144
77886 .short -14336
77887 .short -14336
77888 .short -30720
77889 .short 28672
77890 .short 0
77891 .short 0
77892 .short -2048
77893 .short 0
77894 .short 0
77895 .short 0
77896 .short 0
77897 .short 0
77898 .short 0
77899 .short 0
77900 .short 0
77901 .short 0
77902 .short 0
77903 .short 8192
77904 .short 20480
77905 .short 8192
77906 .short 0
77907 .short 0
77908 .short 0
77909 .short 0
77910 .short 0
77911 .short 0
77912 .short 0
77913 .short 0
77914 .short 8192
77915 .short 8192
77916 .short -2048
77917 .short 8192
77918 .short 8192
77919 .short -2048
77920 .short 0
77921 .short 0
77922 .short 12288
77923 .short 18432
77924 .short 4096
77925 .short 8192
77926 .short 30720
77927 .short 0
77928 .short 0
77929 .short 0
77930 .short 0
77931 .short 0
77932 .short 28672
77933 .short 2048
77934 .short 12288
77935 .short 2048
77936 .short 28672
77937 .short 0
77938 .short 0
77939 .short 0
77940 .short 0
77941 .short 0
77942 .short 4096
77943 .short 8192
77944 .short 0
77945 .short 0
77946 .short 0
77947 .short 0
77948 .short 0
77949 .short 0
77950 .short 0
77951 .short 0
77952 .short 0
77953 .short 0
77954 .short 0
77955 .short -30720
77956 .short -30720
77957 .short -30720
77958 .short -14336
77959 .short -20480
77960 .short -32768
77961 .short 0
77962 .short 0
77963 .short 30720
77964 .short -6144
77965 .short -6144
77966 .short 26624
77967 .short 10240
77968 .short 10240
77969 .short 10240
77970 .short 0
77971 .short 0
77972 .short 0
77973 .short 0
77974 .short 0
77975 .short 0
77976 .short 8192
77977 .short 0
77978 .short 0
77979 .short 0
77980 .short 0
77981 .short 0
77982 .short 0
77983 .short 0
77984 .short 0
77985 .short 0
77986 .short 0
77987 .short 0
77988 .short 0
77989 .short 0
77990 .short 4096
77991 .short 8192
77992 .short 8192
77993 .short 24576
77994 .short 8192
77995 .short 8192
77996 .short 28672
77997 .short 0
77998 .short 0
77999 .short 0
78000 .short 0
78001 .short 0
78002 .short 0
78003 .short 12288
78004 .short 18432
78005 .short 18432
78006 .short 12288
78007 .short 0
78008 .short 30720
78009 .short 0
78010 .short 0
78011 .short 0
78012 .short 0
78013 .short 0
78014 .short 0
78015 .short -28672
78016 .short 18432
78017 .short 9216
78018 .short 18432
78019 .short -28672
78020 .short 0
78021 .short 0
78022 .short 16384
78023 .short -16384
78024 .short 16384
78025 .short 16384
78026 .short -7168
78027 .short 3072
78028 .short 5120
78029 .short 15360
78030 .short 1024
78031 .short 0
78032 .short 16384
78033 .short -16384
78034 .short 16384
78035 .short 16384
78036 .short -6144
78037 .short 5120
78038 .short 1024
78039 .short 2048
78040 .short 7168
78041 .short 0
78042 .short -16384
78043 .short 8192
78044 .short 16384
78045 .short 8192
78046 .short -14336
78047 .short 6144
78048 .short 10240
78049 .short 30720
78050 .short 2048
78051 .short 0
78052 .short 0
78053 .short 8192
78054 .short 0
78055 .short 8192
78056 .short 8192
78057 .short 16384
78058 .short -30720
78059 .short 28672
78060 .short 0
78061 .short 0
78062 .short 16384
78063 .short 8192
78064 .short 28672
78065 .short -30720
78066 .short -30720
78067 .short -2048
78068 .short -30720
78069 .short -30720
78070 .short 0
78071 .short 0
78072 .short 4096
78073 .short 8192
78074 .short 28672
78075 .short -30720
78076 .short -30720
78077 .short -2048
78078 .short -30720
78079 .short -30720
78080 .short 0
78081 .short 0
78082 .short 8192
78083 .short 20480
78084 .short 28672
78085 .short -30720
78086 .short -30720
78087 .short -2048
78088 .short -30720
78089 .short -30720
78090 .short 0
78091 .short 0
78092 .short 18432
78093 .short -20480
78094 .short 28672
78095 .short -30720
78096 .short -30720
78097 .short -2048
78098 .short -30720
78099 .short -30720
78100 .short 0
78101 .short 0
78102 .short 20480
78103 .short 0
78104 .short 28672
78105 .short -30720
78106 .short -30720
78107 .short -2048
78108 .short -30720
78109 .short -30720
78110 .short 0
78111 .short 0
78112 .short 8192
78113 .short 20480
78114 .short 28672
78115 .short -30720
78116 .short -30720
78117 .short -2048
78118 .short -30720
78119 .short -30720
78120 .short 0
78121 .short 0
78122 .short 0
78123 .short 15360
78124 .short 20480
78125 .short -28672
78126 .short -25600
78127 .short -4096
78128 .short -28672
78129 .short -25600
78130 .short 0
78131 .short 0
78132 .short 0
78133 .short 28672
78134 .short -30720
78135 .short -32768
78136 .short -32768
78137 .short -32768
78138 .short -30720
78139 .short 28672
78140 .short 8192
78141 .short 16384
78142 .short 16384
78143 .short -2048
78144 .short -32768
78145 .short -32768
78146 .short -4096
78147 .short -32768
78148 .short -32768
78149 .short -2048
78150 .short 0
78151 .short 0
78152 .short 4096
78153 .short -2048
78154 .short -32768
78155 .short -32768
78156 .short -4096
78157 .short -32768
78158 .short -32768
78159 .short -2048
78160 .short 0
78161 .short 0
78162 .short 8192
78163 .short -2048
78164 .short -32768
78165 .short -32768
78166 .short -4096
78167 .short -32768
78168 .short -32768
78169 .short -2048
78170 .short 0
78171 .short 0
78172 .short 20480
78173 .short -2048
78174 .short -32768
78175 .short -32768
78176 .short -4096
78177 .short -32768
78178 .short -32768
78179 .short -2048
78180 .short 0
78181 .short 0
78182 .short 16384
78183 .short 8192
78184 .short 28672
78185 .short 8192
78186 .short 8192
78187 .short 8192
78188 .short 8192
78189 .short 28672
78190 .short 0
78191 .short 0
78192 .short 4096
78193 .short 8192
78194 .short 28672
78195 .short 8192
78196 .short 8192
78197 .short 8192
78198 .short 8192
78199 .short 28672
78200 .short 0
78201 .short 0
78202 .short 8192
78203 .short 20480
78204 .short 28672
78205 .short 8192
78206 .short 8192
78207 .short 8192
78208 .short 8192
78209 .short 28672
78210 .short 0
78211 .short 0
78212 .short 20480
78213 .short 0
78214 .short 28672
78215 .short 8192
78216 .short 8192
78217 .short 8192
78218 .short 8192
78219 .short 28672
78220 .short 0
78221 .short 0
78222 .short 0
78223 .short -4096
78224 .short 18432
78225 .short 18432
78226 .short -6144
78227 .short 18432
78228 .short 18432
78229 .short -4096
78230 .short 0
78231 .short 0
78232 .short 10240
78233 .short 20480
78234 .short -30720
78235 .short -14336
78236 .short -22528
78237 .short -26624
78238 .short -30720
78239 .short -30720
78240 .short 0
78241 .short 0
78242 .short 16384
78243 .short 8192
78244 .short 28672
78245 .short -30720
78246 .short -30720
78247 .short -30720
78248 .short -30720
78249 .short 28672
78250 .short 0
78251 .short 0
78252 .short 4096
78253 .short 8192
78254 .short 28672
78255 .short -30720
78256 .short -30720
78257 .short -30720
78258 .short -30720
78259 .short 28672
78260 .short 0
78261 .short 0
78262 .short 8192
78263 .short 20480
78264 .short 28672
78265 .short -30720
78266 .short -30720
78267 .short -30720
78268 .short -30720
78269 .short 28672
78270 .short 0
78271 .short 0
78272 .short 10240
78273 .short 20480
78274 .short 28672
78275 .short -30720
78276 .short -30720
78277 .short -30720
78278 .short -30720
78279 .short 28672
78280 .short 0
78281 .short 0
78282 .short 20480
78283 .short 0
78284 .short 28672
78285 .short -30720
78286 .short -30720
78287 .short -30720
78288 .short -30720
78289 .short 28672
78290 .short 0
78291 .short 0
78292 .short 0
78293 .short 0
78294 .short 0
78295 .short -30720
78296 .short 20480
78297 .short 8192
78298 .short 20480
78299 .short -30720
78300 .short 0
78301 .short 0
78302 .short 0
78303 .short 28672
78304 .short -26624
78305 .short -26624
78306 .short -22528
78307 .short -14336
78308 .short -14336
78309 .short 28672
78310 .short 0
78311 .short 0
78312 .short 16384
78313 .short 8192
78314 .short -30720
78315 .short -30720
78316 .short -30720
78317 .short -30720
78318 .short -30720
78319 .short 28672
78320 .short 0
78321 .short 0
78322 .short 4096
78323 .short 8192
78324 .short -30720
78325 .short -30720
78326 .short -30720
78327 .short -30720
78328 .short -30720
78329 .short 28672
78330 .short 0
78331 .short 0
78332 .short 8192
78333 .short 20480
78334 .short 0
78335 .short -30720
78336 .short -30720
78337 .short -30720
78338 .short -30720
78339 .short 28672
78340 .short 0
78341 .short 0
78342 .short 20480
78343 .short 0
78344 .short -30720
78345 .short -30720
78346 .short -30720
78347 .short -30720
78348 .short -30720
78349 .short 28672
78350 .short 0
78351 .short 0
78352 .short 4096
78353 .short 8192
78354 .short -30720
78355 .short -30720
78356 .short 20480
78357 .short 8192
78358 .short 8192
78359 .short 8192
78360 .short 0
78361 .short 0
78362 .short 0
78363 .short -32768
78364 .short -4096
78365 .short -30720
78366 .short -4096
78367 .short -32768
78368 .short -32768
78369 .short -32768
78370 .short 0
78371 .short 0
78372 .short 0
78373 .short 28672
78374 .short -30720
78375 .short -28672
78376 .short -24576
78377 .short -28672
78378 .short -30720
78379 .short -20480
78380 .short 0
78381 .short 0
78382 .short 16384
78383 .short 8192
78384 .short 0
78385 .short 28672
78386 .short 2048
78387 .short 30720
78388 .short -30720
78389 .short 30720
78390 .short 0
78391 .short 0
78392 .short 4096
78393 .short 8192
78394 .short 0
78395 .short 28672
78396 .short 2048
78397 .short 30720
78398 .short -30720
78399 .short 30720
78400 .short 0
78401 .short 0
78402 .short 8192
78403 .short 20480
78404 .short 0
78405 .short 28672
78406 .short 2048
78407 .short 30720
78408 .short -30720
78409 .short 30720
78410 .short 0
78411 .short 0
78412 .short 10240
78413 .short 20480
78414 .short 0
78415 .short 28672
78416 .short 2048
78417 .short 30720
78418 .short -30720
78419 .short 30720
78420 .short 0
78421 .short 0
78422 .short 0
78423 .short 20480
78424 .short 0
78425 .short 28672
78426 .short 2048
78427 .short 30720
78428 .short -30720
78429 .short 30720
78430 .short 0
78431 .short 0
78432 .short 8192
78433 .short 20480
78434 .short 8192
78435 .short 28672
78436 .short 2048
78437 .short 30720
78438 .short -30720
78439 .short 30720
78440 .short 0
78441 .short 0
78442 .short 0
78443 .short 0
78444 .short 0
78445 .short 30720
78446 .short 5120
78447 .short 31744
78448 .short -28672
78449 .short 31744
78450 .short 0
78451 .short 0
78452 .short 0
78453 .short 0
78454 .short 0
78455 .short 28672
78456 .short -30720
78457 .short -32768
78458 .short -30720
78459 .short 28672
78460 .short 8192
78461 .short 16384
78462 .short 16384
78463 .short 8192
78464 .short 0
78465 .short 28672
78466 .short -30720
78467 .short -2048
78468 .short -32768
78469 .short 28672
78470 .short 0
78471 .short 0
78472 .short 4096
78473 .short 8192
78474 .short 0
78475 .short 28672
78476 .short -30720
78477 .short -2048
78478 .short -32768
78479 .short 28672
78480 .short 0
78481 .short 0
78482 .short 8192
78483 .short 20480
78484 .short 0
78485 .short 28672
78486 .short -30720
78487 .short -2048
78488 .short -32768
78489 .short 28672
78490 .short 0
78491 .short 0
78492 .short 0
78493 .short 20480
78494 .short 0
78495 .short 28672
78496 .short -30720
78497 .short -2048
78498 .short -32768
78499 .short 28672
78500 .short 0
78501 .short 0
78502 .short 16384
78503 .short 8192
78504 .short 0
78505 .short 24576
78506 .short 8192
78507 .short 8192
78508 .short 8192
78509 .short 28672
78510 .short 0
78511 .short 0
78512 .short 8192
78513 .short 16384
78514 .short 0
78515 .short 24576
78516 .short 8192
78517 .short 8192
78518 .short 8192
78519 .short 28672
78520 .short 0
78521 .short 0
78522 .short 8192
78523 .short 20480
78524 .short 0
78525 .short 24576
78526 .short 8192
78527 .short 8192
78528 .short 8192
78529 .short 28672
78530 .short 0
78531 .short 0
78532 .short 0
78533 .short 20480
78534 .short 0
78535 .short 24576
78536 .short 8192
78537 .short 8192
78538 .short 8192
78539 .short 28672
78540 .short 0
78541 .short 0
78542 .short 0
78543 .short -16384
78544 .short 12288
78545 .short 28672
78546 .short -30720
78547 .short -30720
78548 .short -30720
78549 .short 28672
78550 .short 0
78551 .short 0
78552 .short 10240
78553 .short 20480
78554 .short 0
78555 .short -20480
78556 .short -14336
78557 .short -30720
78558 .short -30720
78559 .short -30720
78560 .short 0
78561 .short 0
78562 .short 16384
78563 .short 8192
78564 .short 0
78565 .short 28672
78566 .short -30720
78567 .short -30720
78568 .short -30720
78569 .short 28672
78570 .short 0
78571 .short 0
78572 .short 4096
78573 .short 8192
78574 .short 0
78575 .short 28672
78576 .short -30720
78577 .short -30720
78578 .short -30720
78579 .short 28672
78580 .short 0
78581 .short 0
78582 .short 8192
78583 .short 20480
78584 .short 0
78585 .short 28672
78586 .short -30720
78587 .short -30720
78588 .short -30720
78589 .short 28672
78590 .short 0
78591 .short 0
78592 .short 10240
78593 .short 20480
78594 .short 0
78595 .short 28672
78596 .short -30720
78597 .short -30720
78598 .short -30720
78599 .short 28672
78600 .short 0
78601 .short 0
78602 .short 0
78603 .short 20480
78604 .short 0
78605 .short 28672
78606 .short -30720
78607 .short -30720
78608 .short -30720
78609 .short 28672
78610 .short 0
78611 .short 0
78612 .short 0
78613 .short 0
78614 .short 8192
78615 .short 0
78616 .short -2048
78617 .short 0
78618 .short 8192
78619 .short 0
78620 .short 0
78621 .short 0
78622 .short 0
78623 .short 0
78624 .short 0
78625 .short 30720
78626 .short -26624
78627 .short -22528
78628 .short -14336
78629 .short -4096
78630 .short 0
78631 .short 0
78632 .short 16384
78633 .short 8192
78634 .short 0
78635 .short -30720
78636 .short -30720
78637 .short -30720
78638 .short -26624
78639 .short 26624
78640 .short 0
78641 .short 0
78642 .short 4096
78643 .short 8192
78644 .short 0
78645 .short -30720
78646 .short -30720
78647 .short -30720
78648 .short -26624
78649 .short 26624
78650 .short 0
78651 .short 0
78652 .short 8192
78653 .short 20480
78654 .short 0
78655 .short -30720
78656 .short -30720
78657 .short -30720
78658 .short -26624
78659 .short 26624
78660 .short 0
78661 .short 0
78662 .short 0
78663 .short 20480
78664 .short 0
78665 .short -30720
78666 .short -30720
78667 .short -30720
78668 .short -26624
78669 .short 26624
78670 .short 0
78671 .short 0
78672 .short 0
78673 .short 4096
78674 .short 8192
78675 .short -30720
78676 .short -30720
78677 .short -26624
78678 .short 26624
78679 .short 2048
78680 .short -30720
78681 .short 28672
78682 .short 0
78683 .short 0
78684 .short -32768
78685 .short -4096
78686 .short -30720
78687 .short -30720
78688 .short -30720
78689 .short -4096
78690 .short -32768
78691 .short -32768
78692 .short 0
78693 .short 20480
78694 .short 0
78695 .short -30720
78696 .short -30720
78697 .short -26624
78698 .short 26624
78699 .short 2048
78700 .short -30720
78701 .short 28672
78702 .align 2
78703 .type C.627.17651, %object
78704 .size C.627.17651, 8
78705C.627.17651:
78706 .short 40
78707 .short 40
78708 .short 240
78709 .short 160
78710 .align 2
78711 .type C.626.17650, %object
78712 .size C.626.17650, 8
78713C.626.17650:
78714 .short 0
78715 .short 0
78716 .short 240
78717 .short 160
78718 .global affine_reference_x
78719 .bss
78720 .align 2
78721 .type affine_reference_x, %object
78722 .size affine_reference_x, 8
78723affine_reference_x:
78724 .space 8
78725 .global affine_reference_y
78726 .align 2
78727 .type affine_reference_y, %object
78728 .size affine_reference_y, 8
78729affine_reference_y:
78730 .space 8
78731 .global hw_screen
78732 .align 2
78733 .type hw_screen, %object
78734 .size hw_screen, 4
78735hw_screen:
78736 .space 4
78737 .global screen
78738 .align 2
78739 .type screen, %object
78740 .size screen, 4
78741screen:
78742 .space 4
78743 .global obj_priority_list
78744 .type obj_priority_list, %object
78745 .size obj_priority_list, 102400
78746obj_priority_list:
78747 .space 102400
78748 .global obj_priority_count
78749 .align 2
78750 .type obj_priority_count, %object
78751 .size obj_priority_count, 3200
78752obj_priority_count:
78753 .space 3200
78754 .global obj_alpha_count
78755 .align 2
78756 .type obj_alpha_count, %object
78757 .size obj_alpha_count, 640
78758obj_alpha_count:
78759 .space 640
78760 .global layer_order
78761 .align 2
78762 .type layer_order, %object
78763 .size layer_order, 64
78764layer_order:
78765 .space 64
78766 .global layer_count
78767 .align 2
78768 .type layer_count, %object
78769 .size layer_count, 4
78770layer_count:
78771 .space 4
78772 .global resolution_width
78773 .align 2
78774 .type resolution_width, %object
78775 .size resolution_width, 4
78776resolution_width:
78777 .space 4
78778 .global resolution_height
78779 .align 2
78780 .type resolution_height, %object
78781 .size resolution_height, 4
78782resolution_height:
78783 .space 4
78784 .global frame_to_render
78785 .align 2
78786 .type frame_to_render, %object
78787 .size frame_to_render, 4
78788frame_to_render:
78789 .space 4
78790 .ident "GCC: (GNU) 4.1.1"