This source file includes following definitions.
- capt_seq_task
- sub_ff95f120_my
- sub_ff87a714_my
- exp_drv_task
1 #include "lolevel.h"
2 #include "platform.h"
3 #include "core.h"
4
5 static long *nrflag = (long*)0x67c0;
6
7 #include "../../../generic/capt_seq.c"
8
9
10 void __attribute__((naked,noinline)) capt_seq_task() {
11 asm volatile (
12 "PUSH {r3, r4, r5, r6, r7, r8, r9, lr}\n"
13 "LDR r6, =0x00002b9c\n"
14 "LDR r4, =0x00039644\n"
15 "LDR r9, =0x1\n"
16 "LDR r7, =0x0\n"
17 "loc_ff87a324:\n"
18 "LDR r0, [r6, #4]\n"
19 "LDR r2, =0x0\n"
20 "MOV r1, sp\n"
21 "BL sub_ff8396e4\n"
22 "TST r0, #1\n"
23 "BEQ loc_ff87a350\n"
24 "LDR r1, =0x000005b4\n"
25 "LDR r0, =0xff879ea0\n"
26 "BL sub_ff81eb14\n"
27 "BL sub_ff81eacc\n"
28 "POP {r3, r4, r5, r6, r7, r8, r9, pc}\n"
29 "loc_ff87a350:\n"
30 "LDR r0, [sp]\n"
31 "LDR r1, [r0]\n"
32 "CMP r1, #29\n"
33 "ADDLS pc, pc, r1, lsl #2\n"
34 "B loc_ff87a5ec\n"
35 "B loc_ff87a3dc\n"
36 "B loc_ff87a440\n"
37 "B loc_ff87a47c\n"
38 "B loc_ff87a490\n"
39 "B loc_ff87a488\n"
40 "B loc_ff87a498\n"
41 "B loc_ff87a4a0\n"
42 "B loc_ff87a4a8\n"
43 "B loc_ff87a500\n"
44 "B loc_ff87a528\n"
45 "B loc_ff87a50c\n"
46 "B loc_ff87a518\n"
47 "B loc_ff87a520\n"
48 "B loc_ff87a530\n"
49 "B loc_ff87a538\n"
50 "B loc_ff87a540\n"
51 "B loc_ff87a548\n"
52 "B loc_ff87a550\n"
53 "B loc_ff87a55c\n"
54 "B loc_ff87a564\n"
55 "B loc_ff87a56c\n"
56 "B loc_ff87a574\n"
57 "B loc_ff87a57c\n"
58 "B loc_ff87a588\n"
59 "B loc_ff87a590\n"
60 "B loc_ff87a598\n"
61 "B loc_ff87a5a0\n"
62 "B loc_ff87a5a8\n"
63 "B loc_ff87a5b4\n"
64 "B loc_ff87a5f8\n"
65 "loc_ff87a3dc:\n"
66 "BL sub_ff87aca0\n"
67 "BL shooting_expo_param_override\n"
68 "BL sub_ff8780ac\n"
69
70
71
72 "MOV r0, #0\n"
73 "STR r0, [r4, #36]\n"
74 "B loc_ff87a5f8\n"
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107 "loc_ff87a440:\n"
108 "LDR r0, [r4, #36]\n"
109 "CMP r0, #0\n"
110 "BNE loc_ff87a46c\n"
111 "LDR r0, =0xc\n"
112 "BL sub_ff87f174\n"
113 "TST r0, #1\n"
114 "LDRNE r0, [sp]\n"
115 "LDRNE r1, =0x1\n"
116 "LDRNE r2, [r0, #12]\n"
117 "LDRNE r0, =0x1\n"
118 "BNE loc_ff87a4f8\n"
119 "loc_ff87a46c:\n"
120 "LDR r0, [sp]\n"
121
122 "BL sub_ff87a714_my\n"
123 "loc_ff87a474:\n"
124 "STR r7, [r4, #36]\n"
125 "B loc_ff87a5f8\n"
126 "loc_ff87a47c:\n"
127 "LDR r0, =0x1\n"
128 "BL sub_ff87af44\n"
129 "B loc_ff87a5f8\n"
130 "loc_ff87a488:\n"
131 "BL sub_ff87a8bc\n"
132 "B loc_ff87a474\n"
133 "loc_ff87a490:\n"
134 "BL sub_ff87ac80\n"
135 "B loc_ff87a474\n"
136 "loc_ff87a498:\n"
137 "BL sub_ff87ac88\n"
138 "B loc_ff87a5f8\n"
139 "loc_ff87a4a0:\n"
140 "BL sub_ff87ae54\n"
141 "B loc_ff87a504\n"
142 "loc_ff87a4a8:\n"
143 "LDR r5, [r0, #12]\n"
144 "BL sub_ff87ac90\n"
145 "MOV r0, r5\n"
146 "BL sub_ff95e0f4\n"
147 "TST r0, #1\n"
148 "MOV r8, r0\n"
149 "BNE loc_ff87a4e8\n"
150 "BL sub_ff88c3d4\n"
151 "STR r0, [r5, #24]\n"
152 "MOV r0, r5\n"
153 "BL sub_ff95f038\n"
154 "MOV r0, r5\n"
155 "BL sub_ff95f3d4\n"
156 "MOV r8, r0\n"
157 "LDR r0, [r5, #24]\n"
158 "BL sub_ff88c60c\n"
159 "loc_ff87a4e8:\n"
160 "BL sub_ff87ac80\n"
161 "MOV r2, r5\n"
162 "LDR r1, =0x9\n"
163 "MOV r0, r8\n"
164 "loc_ff87a4f8:\n"
165 "BL sub_ff87856c\n"
166 "B loc_ff87a5f8\n"
167 "loc_ff87a500:\n"
168 "BL sub_ff87aebc\n"
169 "loc_ff87a504:\n"
170 "BL sub_ff8780ac\n"
171 "B loc_ff87a5f8\n"
172 "loc_ff87a50c:\n"
173 "LDR r0, [r4, #84]\n"
174 "BL sub_ff87b2e8\n"
175 "B loc_ff87a5f8\n"
176 "loc_ff87a518:\n"
177 "BL sub_ff87b59c\n"
178 "B loc_ff87a5f8\n"
179 "loc_ff87a520:\n"
180 "BL sub_ff87b630\n"
181 "B loc_ff87a5f8\n"
182 "loc_ff87a528:\n"
183 "BL sub_ff87ac80\n"
184 "B loc_ff87a5f8\n"
185 "loc_ff87a530:\n"
186 "BL sub_ff95e30c\n"
187 "B loc_ff87a5f8\n"
188 "loc_ff87a538:\n"
189 "BL sub_ff95e520\n"
190 "B loc_ff87a5f8\n"
191 "loc_ff87a540:\n"
192 "BL sub_ff95e5b8\n"
193 "B loc_ff87a5f8\n"
194 "loc_ff87a548:\n"
195 "BL sub_ff95e688\n"
196 "B loc_ff87a5f8\n"
197 "loc_ff87a550:\n"
198 "LDR r0, =0x0\n"
199 "BL sub_ff95e8f0\n"
200 "B loc_ff87a5f8\n"
201 "loc_ff87a55c:\n"
202 "BL sub_ff95ea40\n"
203 "B loc_ff87a5f8\n"
204 "loc_ff87a564:\n"
205 "BL sub_ff95ead0\n"
206 "B loc_ff87a5f8\n"
207 "loc_ff87a56c:\n"
208 "BL sub_ff95eb90\n"
209 "B loc_ff87a5f8\n"
210 "loc_ff87a574:\n"
211 "BL sub_ff87b0bc\n"
212 "B loc_ff87a5f8\n"
213 "loc_ff87a57c:\n"
214 "BL sub_ff87b164\n"
215 "BL sub_ff8376fc\n"
216 "B loc_ff87a5f8\n"
217 "loc_ff87a588:\n"
218 "BL sub_ff95e754\n"
219 "B loc_ff87a5f8\n"
220 "loc_ff87a590:\n"
221 "BL sub_ff95e7c0\n"
222 "loc_ff87a594:\n"
223 "B loc_ff87a5f8\n"
224 "loc_ff87a598:\n"
225 "BL sub_ff87d77c\n"
226 "B loc_ff87a5f8\n"
227 "loc_ff87a5a0:\n"
228 "BL sub_ff87d804\n"
229 "B loc_ff87a5f8\n"
230 "loc_ff87a5a8:\n"
231 "BL sub_ff87d860\n"
232 "BL sub_ff87d820\n"
233 "B loc_ff87a5f8\n"
234 "loc_ff87a5b4:\n"
235 "LDR r0, =0x1\n"
236 "BL sub_ff95fd98\n"
237 "LDR r0, =0x1\n"
238 "BL sub_ff95fecc\n"
239 "LDRH r0, [r4, #148]\n"
240 "CMP r0, #4\n"
241 "LDRNEH r0, [r4]\n"
242 "SUBNE ip, r0, #33280\n"
243 "SUBNES ip, ip, #42\n"
244 "BNE loc_ff87a5f8\n"
245 "BL sub_ff87d804\n"
246 "BL sub_ff87dd74\n"
247 "BL sub_ff87dc84\n"
248 "B loc_ff87a5f8\n"
249 "loc_ff87a5ec:\n"
250 "LDR r1, =0x0000070b\n"
251 "LDR r0, =0xff879ea0\n"
252 "BL sub_ff81eb14\n"
253 "loc_ff87a5f8:\n"
254 "LDR r0, [sp]\n"
255 "LDR r1, [r0, #4]\n"
256 "LDR r0, [r6]\n"
257 "BL sub_ff883f9c\n"
258 "LDR r5, [sp]\n"
259 "LDR r0, [r5, #8]\n"
260 "CMP r0, #0\n"
261 "LDREQ r1, =0x00000132\n"
262 "LDREQ r0, =0xff879ea0\n"
263 "BLEQ sub_ff81eb14\n"
264 "STR r7, [r5, #8]\n"
265 "B loc_ff87a324\n"
266 );
267 }
268
269
270 void __attribute__((naked,noinline)) sub_ff95f120_my() {
271 asm volatile (
272 "PUSH {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}\n"
273 "MOV r4, r0\n"
274 "BL sub_ff96009c\n"
275 "MVN r1, #0\n"
276 "BL sub_ff883fd0\n"
277 "LDR r5, =0x000067c0\n"
278 "LDR r0, [r5, #12]\n"
279 "CMP r0, #0\n"
280 "BNE loc_ff95f170\n"
281 "LDR r1, =0x1\n"
282 "LDR r0, =0x0\n"
283 "BL sub_ff839f2c\n"
284 "STR r0, [r5, #12]\n"
285 "LDR r3, =0x0\n"
286 "STR r3, [sp]\n"
287 "LDR r3, =0xff95ec80\n"
288 "LDR r0, =0xff95f358\n"
289 "LDR r2, =0x400\n"
290 "LDR r1, =0x17\n"
291 "BL sub_ff839ef8\n"
292 "loc_ff95f170:\n"
293 "LDR r2, =0x4\n"
294 "ADD r1, sp, #8\n"
295 "LDR r0, =0x8a\n"
296 "BL sub_ff88c244\n"
297 "TST r0, #1\n"
298 "LDRNE r1, =0x000003cd\n"
299 "LDRNE r0, =0xff95ef18\n"
300 "BLNE sub_ff81eb14\n"
301 "LDR r6, =0x00039708\n"
302 "LDR r7, =0x00039644\n"
303 "LDR r3, [r6]\n"
304 "LDRSH r2, [r6, #12]\n"
305 "LDRSH r1, [r6, #14]\n"
306 "LDR r0, [r7, #136]\n"
307 "BL sub_ff9294cc\n"
308 "BL sub_ff862ca4\n"
309 "LDR r3, =0x000067c8\n"
310 "STRH r0, [r4, #164]\n"
311 "SUB r2, r3, #4\n"
312 "STRD r2, [sp]\n"
313 "MOV r1, r0\n"
314 "LDRH r0, [r7, #92]\n"
315 "LDRSH r2, [r6, #12]\n"
316 "SUB r3, r3, #8\n"
317 "BL sub_ff961c40\n"
318
319 "BL wait_until_remote_button_is_released\n"
320 "BL capt_seq_hook_set_nr\n"
321 "B sub_ff95f1d4\n"
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419 );
420 }
421
422 void __attribute__((naked,noinline)) sub_ff87a714_my() {
423 asm volatile (
424 "PUSH {r4, r5, r6, lr}\n"
425 "LDR r4, [r0, #12]\n"
426 "LDR r6, =0x00039644\n"
427 "LDR r0, [r4, #8]\n"
428 "LDR r5, =0x0\n"
429 "ORR r0, r0, #1\n"
430 "STR r0, [r4, #8]\n"
431 "LDR r0, [r6, #36]\n"
432 "CMP r0, #0\n"
433 "LDREQ r0, =0x2\n"
434 "BLEQ sub_ff876768\n"
435 "BL sub_ff87ac90\n"
436 "LDR r0, [r6, #36]\n"
437 "CMP r0, #0\n"
438 "BNE loc_ff87a7dc\n"
439 "LDR r0, =0x0\n"
440 "BL sub_ff95fd98\n"
441 "LDR r0, =0x0\n"
442 "BL sub_ff95fecc\n"
443 "MOV r0, r4\n"
444 "BL sub_ff87b064\n"
445 "MOV r0, r4\n"
446 "BL sub_ff95dd38\n"
447 "CMP r0, #0\n"
448 "BEQ loc_ff87a7a4\n"
449 "BL sub_ff95fdd8\n"
450 "BL sub_ff95ff10\n"
451 "BL sub_ff95ff60\n"
452 "MOV r0, r4\n"
453 "BL sub_ff95de1c\n"
454 "TST r0, #1\n"
455 "MOVNE r2, r4\n"
456 "POPNE {r4, r5, r6, lr}\n"
457 "LDRNE r1, =0x1\n"
458 "BNE sub_ff87856c\n"
459 "B loc_ff87a7b8\n"
460 "loc_ff87a7a4:\n"
461 "MOV r0, r4\n"
462 "BL sub_ff95ddb8\n"
463 "BL sub_ff95fdd8\n"
464 "BL sub_ff95ff10\n"
465 "BL sub_ff95ff60\n"
466 "loc_ff87a7b8:\n"
467 "MOV r0, r4\n"
468 "BL sub_ff879e24\n"
469 "MOV r0, r4\n"
470 "BL sub_ff95f038\n"
471 "BL sub_ff95fb74\n"
472 "MOV r0, r4\n"
473
474 "BL sub_ff95f120_my\n"
475 "MOV r5, r0\n"
476 "BL capt_seq_hook_raw_here\n"
477 "B loc_ff87a7ec\n"
478 "loc_ff87a7dc:\n"
479 "LDR r0, =0x00002b9c\n"
480 "LDR r0, [r0, #16]\n"
481 "CMP r0, #0\n"
482 "LDRNE r5, =0x1d\n"
483 "loc_ff87a7ec:\n"
484 "BL sub_ff87d804\n"
485 "BL sub_ff87d84c\n"
486 "BL sub_ff87d88c\n"
487 "MOV r2, r4\n"
488 "LDR r1, =0x1\n"
489 "MOV r0, r5\n"
490 "BL sub_ff87856c\n"
491 "BL sub_ff95f388\n"
492 "CMP r0, #0\n"
493 "LDRNE r0, [r4, #8]\n"
494 "ORRNE r0, r0, #8192\n"
495 "STRNE r0, [r4, #8]\n"
496 "POP {r4, r5, r6, pc}\n"
497 );
498 }
499
500
501
502 void __attribute__((naked,noinline)) exp_drv_task() {
503 asm volatile (
504 "PUSH {r4, r5, r6, r7, r8, lr}\n"
505 "SUB sp, sp, #32\n"
506 "LDR r8, =0x00000bb8\n"
507 "LDR r7, =0x00003f58\n"
508 "LDR r5, =0x00042ab0\n"
509 "LDR r0, =0x0\n"
510 "ADD r6, sp, #16\n"
511 "STR r0, [sp, #12]\n"
512 "loc_ff8bab48:\n"
513 "LDR r0, [r7, #32]\n"
514 "LDR r2, =0x0\n"
515 "ADD r1, sp, #28\n"
516 "BL sub_ff8396e4\n"
517 "LDR r0, [sp, #12]\n"
518 "CMP r0, #1\n"
519 "BNE loc_ff8bab94\n"
520 "LDR r0, [sp, #28]\n"
521 "LDR r0, [r0]\n"
522 "CMP r0, #19\n"
523 "CMPNE r0, #20\n"
524 "CMPNE r0, #21\n"
525 "CMPNE r0, #22\n"
526 "BEQ loc_ff8bacf8\n"
527 "CMP r0, #40\n"
528 "BEQ loc_ff8bac80\n"
529 "ADD r1, sp, #12\n"
530 "LDR r0, =0x0\n"
531 "BL sub_ff8baad8\n"
532 "loc_ff8bab94:\n"
533 "LDR r0, [sp, #28]\n"
534 "LDR r1, [r0]\n"
535 "CMP r1, #46\n"
536 "BNE loc_ff8babc4\n"
537 "LDR r0, [sp, #28]\n"
538 "BL sub_ff8bbe38\n"
539 "LDR r0, [r7, #28]\n"
540 "LDR r1, =0x1\n"
541 "BL sub_ff883f9c\n"
542 "BL sub_ff81eacc\n"
543 "ADD sp, sp, #32\n"
544 "POP {r4, r5, r6, r7, r8, pc}\n"
545 "loc_ff8babc4:\n"
546 "CMP r1, #45\n"
547 "BNE loc_ff8babe0\n"
548 "LDR r2, [r0, #140]!\n"
549 "LDR r1, [r0, #4]\n"
550 "MOV r0, r1\n"
551 "BLX r2\n"
552 "B loc_ff8bb120\n"
553 "loc_ff8babe0:\n"
554 "CMP r1, #38\n"
555 "BNE loc_ff8bac30\n"
556 "LDR r0, [r7, #28]\n"
557 "LDR r1, =0x80\n"
558 "BL sub_ff883fd0\n"
559 "LDR r0, =0xff8b723c\n"
560 "LDR r1, =0x80\n"
561 "BL sub_ff952f00\n"
562 "LDR r0, [r7, #28]\n"
563 "MOV r2, r8\n"
564 "LDR r1, =0x80\n"
565 "BL sub_ff883edc\n"
566 "TST r0, #1\n"
567 "LDRNE r1, =0x00000e5f\n"
568 "BNE loc_ff8bacec\n"
569 "loc_ff8bac1c:\n"
570 "LDR r1, [sp, #28]\n"
571 "LDR r0, [r1, #144]\n"
572 "LDR r1, [r1, #140]\n"
573 "BLX r1\n"
574 "B loc_ff8bb120\n"
575 "loc_ff8bac30:\n"
576 "CMP r1, #39\n"
577 "BNE loc_ff8bac78\n"
578 "ADD r1, sp, #12\n"
579 "BL sub_ff8baad8\n"
580 "LDR r0, [r7, #28]\n"
581 "LDR r1, =0x100\n"
582 "BL sub_ff883fd0\n"
583 "LDR r0, =0xff8b724c\n"
584 "LDR r1, =0x100\n"
585 "BL sub_ff953188\n"
586 "LDR r0, [r7, #28]\n"
587 "MOV r2, r8\n"
588 "LDR r1, =0x100\n"
589 "BL sub_ff883edc\n"
590 "TST r0, #1\n"
591 "BEQ loc_ff8bac1c\n"
592 "LDR r1, =0x00000e69\n"
593 "B loc_ff8bacec\n"
594 "loc_ff8bac78:\n"
595 "CMP r1, #40\n"
596 "BNE loc_ff8bac90\n"
597 "loc_ff8bac80:\n"
598 "LDR r0, [sp, #28]\n"
599 "ADD r1, sp, #12\n"
600 "BL sub_ff8baad8\n"
601 "B loc_ff8bac1c\n"
602 "loc_ff8bac90:\n"
603 "CMP r1, #43\n"
604 "BNE loc_ff8baca8\n"
605 "BL sub_ff8aa3b8\n"
606 "BL sub_ff8aafec\n"
607 "BL sub_ff8aab3c\n"
608 "B loc_ff8bac1c\n"
609 "loc_ff8baca8:\n"
610 "CMP r1, #44\n"
611 "BNE loc_ff8bacf8\n"
612 "LDR r0, [r7, #28]\n"
613 "LDR r1, =0x4\n"
614 "BL sub_ff883fd0\n"
615 "LDR r1, =0xff8b726c\n"
616 "LDR r0, =0xfffff400\n"
617 "LDR r2, =0x4\n"
618 "BL sub_ff8a9e34\n"
619 "BL sub_ff8aa0bc\n"
620 "LDR r0, [r7, #28]\n"
621 "MOV r2, r8\n"
622 "LDR r1, =0x4\n"
623 "BL sub_ff883df8\n"
624 "TST r0, #1\n"
625 "BEQ loc_ff8bac1c\n"
626 "LDR r1, =0x00000e91\n"
627 "loc_ff8bacec:\n"
628 "LDR r0, =0xff8b78ac\n"
629 "BL sub_ff81eb14\n"
630 "B loc_ff8bac1c\n"
631 "loc_ff8bacf8:\n"
632 "LDR r0, [sp, #28]\n"
633 "LDR r4, =0x1\n"
634 "LDR r1, [r0]\n"
635 "CMP r1, #17\n"
636 "CMPNE r1, #18\n"
637 "BNE loc_ff8bad68\n"
638 "LDR r1, [r0, #124]\n"
639 "ADD r1, r1, r1, lsl #1\n"
640 "ADD r1, r0, r1, lsl #2\n"
641 "SUB r1, r1, #8\n"
642 "LDM r1, {r2, r3, r4}\n"
643 "STM r6, {r2, r3, r4}\n"
644 "BL sub_ff8b93fc\n"
645 "LDR r0, [sp, #28]\n"
646 "LDR r1, [r0, #124]\n"
647 "LDR r3, [r0, #140]\n"
648 "LDR r2, [r0, #144]\n"
649 "ADD r0, r0, #4\n"
650 "BLX r3\n"
651 "LDR r0, [sp, #28]\n"
652 "BL sub_ff8bc1fc\n"
653 "LDR r0, [sp, #28]\n"
654 "LDR r1, [r0, #124]\n"
655 "LDR r3, [r0, #148]\n"
656 "LDR r2, [r0, #152]\n"
657 "ADD r0, r0, #4\n"
658 "BLX r3\n"
659 "B loc_ff8bb060\n"
660 "loc_ff8bad68:\n"
661 "CMP r1, #19\n"
662 "CMPNE r1, #20\n"
663 "CMPNE r1, #21\n"
664 "CMPNE r1, #22\n"
665 "BNE loc_ff8bae20\n"
666 "ADD r3, sp, #12\n"
667 "MOV r2, sp\n"
668 "ADD r1, sp, #16\n"
669 "BL sub_ff8b96d8\n"
670 "CMP r0, #1\n"
671 "MOV r4, r0\n"
672 "CMPNE r4, #5\n"
673 "BNE loc_ff8badbc\n"
674 "LDR r0, [sp, #28]\n"
675 "MOV r2, r4\n"
676 "LDR r1, [r0, #124]!\n"
677 "LDR ip, [r0, #16]!\n"
678 "LDR r3, [r0, #4]\n"
679 "MOV r0, sp\n"
680 "BLX ip\n"
681 "B loc_ff8badf4\n"
682 "loc_ff8badbc:\n"
683 "LDR r0, [sp, #28]\n"
684 "CMP r4, #2\n"
685 "LDR r3, [r0, #144]\n"
686 "CMPNE r4, #6\n"
687 "BNE loc_ff8bae08\n"
688 "LDR ip, [r0, #140]\n"
689 "MOV r0, sp\n"
690 "MOV r2, r4\n"
691 "LDR r1, =0x1\n"
692 "BLX ip\n"
693 "LDR r0, [sp, #28]\n"
694 "MOV r2, sp\n"
695 "ADD r1, sp, #16\n"
696 "BL sub_ff8ba7ec\n"
697 "loc_ff8badf4:\n"
698 "LDR r0, [sp, #28]\n"
699 "LDR r2, [sp, #12]\n"
700 "MOV r1, r4\n"
701 "BL sub_ff8baa78\n"
702 "B loc_ff8bb060\n"
703 "loc_ff8bae08:\n"
704 "LDR r1, [r0, #124]\n"
705 "LDR ip, [r0, #140]\n"
706 "ADD r0, r0, #4\n"
707 "MOV r2, r4\n"
708 "BLX ip\n"
709 "B loc_ff8bb060\n"
710 "loc_ff8bae20:\n"
711 "CMP r1, #34\n"
712 "CMPNE r1, #35\n"
713 "BNE loc_ff8bae6c\n"
714 "LDR r1, [r0, #124]\n"
715 "ADD r1, r1, r1, lsl #1\n"
716 "ADD r1, r0, r1, lsl #2\n"
717 "SUB r1, r1, #8\n"
718 "LDM r1, {r2, r3, r4}\n"
719 "STM r6, {r2, r3, r4}\n"
720 "BL sub_ff8b894c\n"
721 "LDR r0, [sp, #28]\n"
722 "LDR r1, [r0, #124]\n"
723 "LDR r3, [r0, #140]\n"
724 "LDR r2, [r0, #144]\n"
725 "ADD r0, r0, #4\n"
726 "BLX r3\n"
727 "LDR r0, [sp, #28]\n"
728 "BL sub_ff8b8c40\n"
729 "B loc_ff8bb060\n"
730 "loc_ff8bae6c:\n"
731 "ADD r1, r0, #4\n"
732 "LDM r1, {r2, r3, ip}\n"
733 "STM r6, {r2, r3, ip}\n"
734 "LDR r1, [r0]\n"
735 "CMP r1, #37\n"
736 "ADDLS pc, pc, r1, lsl #2\n"
737 "B loc_ff8bb040\n"
738 "B loc_ff8baf20\n"
739 "B loc_ff8baf20\n"
740 "B loc_ff8baf28\n"
741 "B loc_ff8baf30\n"
742 "B loc_ff8baf30\n"
743 "B loc_ff8baf30\n"
744 "B loc_ff8baf20\n"
745 "B loc_ff8baf28\n"
746 "B loc_ff8baf30\n"
747 "B loc_ff8baf30\n"
748 "B loc_ff8baf48\n"
749 "B loc_ff8baf48\n"
750 "B loc_ff8bb034\n"
751 "B loc_ff8bb03c\n"
752 "B loc_ff8bb03c\n"
753 "B loc_ff8bb03c\n"
754 "B loc_ff8bb03c\n"
755 "B loc_ff8bb040\n"
756 "B loc_ff8bb040\n"
757 "B loc_ff8bb040\n"
758 "B loc_ff8bb040\n"
759 "B loc_ff8bb040\n"
760 "B loc_ff8bb040\n"
761 "B loc_ff8baf38\n"
762 "B loc_ff8baf40\n"
763 "B loc_ff8baf40\n"
764 "B loc_ff8baf54\n"
765 "B loc_ff8baf54\n"
766 "B loc_ff8baf5c\n"
767 "B loc_ff8baf8c\n"
768 "B loc_ff8bafbc\n"
769 "B loc_ff8bafec\n"
770 "B loc_ff8bb01c\n"
771 "B loc_ff8bb01c\n"
772 "B loc_ff8bb040\n"
773 "B loc_ff8bb040\n"
774 "B loc_ff8bb024\n"
775 "B loc_ff8bb02c\n"
776 "loc_ff8baf20:\n"
777 "BL sub_ff8b7754\n"
778 "B loc_ff8bb040\n"
779 "loc_ff8baf28:\n"
780 "BL sub_ff8b79d8\n"
781 "B loc_ff8bb040\n"
782 "loc_ff8baf30:\n"
783 "BL sub_ff8b7be0\n"
784 "B loc_ff8bb040\n"
785 "loc_ff8baf38:\n"
786 "BL sub_ff8b7e58\n"
787 "B loc_ff8bb040\n"
788 "loc_ff8baf40:\n"
789 "BL sub_ff8b8050\n"
790 "B loc_ff8bb040\n"
791 "loc_ff8baf48:\n"
792 "BL sub_ff8b830c\n"
793 "LDR r4, =0x0\n"
794 "B loc_ff8bb040\n"
795 "loc_ff8baf54:\n"
796 "BL sub_ff8b844c\n"
797 "B loc_ff8bb040\n"
798 "loc_ff8baf5c:\n"
799 "LDRH r1, [r0, #4]\n"
800 "STRH r1, [sp, #16]\n"
801 "LDRH r1, [r5, #2]\n"
802 "STRH r1, [sp, #18]\n"
803 "LDRH r1, [r5, #4]\n"
804 "STRH r1, [sp, #20]\n"
805 "LDRH r1, [r5, #6]\n"
806 "STRH r1, [sp, #22]\n"
807 "LDRH r1, [r0, #12]\n"
808 "STRH r1, [sp, #24]\n"
809 "BL sub_ff8bbeac\n"
810 "B loc_ff8bb040\n"
811 "loc_ff8baf8c:\n"
812 "LDRH r1, [r0, #4]\n"
813 "STRH r1, [sp, #16]\n"
814 "LDRH r1, [r5, #2]\n"
815 "STRH r1, [sp, #18]\n"
816 "LDRH r1, [r5, #4]\n"
817 "STRH r1, [sp, #20]\n"
818 "LDRH r1, [r5, #6]\n"
819 "STRH r1, [sp, #22]\n"
820 "LDRH r1, [r5, #8]\n"
821 "STRH r1, [sp, #24]\n"
822 "BL sub_ff8bc014\n"
823 "B loc_ff8bb040\n"
824 "loc_ff8bafbc:\n"
825 "LDRH r1, [r5]\n"
826 "STRH r1, [sp, #16]\n"
827 "LDRH r1, [r0, #6]\n"
828 "STRH r1, [sp, #18]\n"
829 "LDRH r1, [r5, #4]\n"
830 "STRH r1, [sp, #20]\n"
831 "LDRH r1, [r5, #6]\n"
832 "STRH r1, [sp, #22]\n"
833 "LDRH r1, [r5, #8]\n"
834 "STRH r1, [sp, #24]\n"
835 "BL sub_ff8bc0c0\n"
836 "B loc_ff8bb040\n"
837 "loc_ff8bafec:\n"
838 "LDRH r1, [r5]\n"
839 "STRH r1, [sp, #16]\n"
840 "LDRH r1, [r5, #2]\n"
841 "STRH r1, [sp, #18]\n"
842 "LDRH r1, [r5, #4]\n"
843 "STRH r1, [sp, #20]\n"
844 "LDRH r1, [r5, #6]\n"
845 "STRH r1, [sp, #22]\n"
846 "LDRH r1, [r0, #12]\n"
847 "STRH r1, [sp, #24]\n"
848 "BL sub_ff8bc160\n"
849 "B loc_ff8bb040\n"
850 "loc_ff8bb01c:\n"
851 "BL sub_ff8b87a4\n"
852 "B loc_ff8bb040\n"
853 "loc_ff8bb024:\n"
854 "BL sub_ff8b8d44\n"
855 "B loc_ff8bb040\n"
856 "loc_ff8bb02c:\n"
857 "BL sub_ff8b8f80\n"
858 "B loc_ff8bb040\n"
859 "loc_ff8bb034:\n"
860 "BL sub_ff8b90fc\n"
861 "B loc_ff8bb040\n"
862 "loc_ff8bb03c:\n"
863 "BL sub_ff8b9298\n"
864 "loc_ff8bb040:\n"
865 "LDR r0, [sp, #28]\n"
866 "LDR r1, [r0, #124]\n"
867 "LDR r3, [r0, #140]\n"
868 "LDR r2, [r0, #144]\n"
869 "ADD r0, r0, #4\n"
870 "BLX r3\n"
871 "CMP r4, #1\n"
872 "BNE loc_ff8bb0a8\n"
873 "loc_ff8bb060:\n"
874 "LDR r0, [sp, #28]\n"
875 "LDR r2, =0xc\n"
876 "LDR r1, [r0, #124]\n"
877 "ADD r1, r1, r1, lsl #1\n"
878 "ADD r0, r0, r1, lsl #2\n"
879 "SUB r4, r0, #8\n"
880 "LDR r0, =0x00042ab0\n"
881 "ADD r1, sp, #16\n"
882 "BL sub_ffb39768\n"
883 "LDR r0, =0x00042abc\n"
884 "LDR r2, =0xc\n"
885 "ADD r1, sp, #16\n"
886 "BL sub_ffb39768\n"
887 "LDR r0, =0x00042ac8\n"
888 "LDR r2, =0xc\n"
889 "MOV r1, r4\n"
890 "BL sub_ffb39768\n"
891 "B loc_ff8bb120\n"
892 "loc_ff8bb0a8:\n"
893 "LDR r0, [sp, #28]\n"
894 "LDR r0, [r0]\n"
895 "CMP r0, #11\n"
896 "BNE loc_ff8bb0f0\n"
897 "LDR r3, =0x0\n"
898 "STR r3, [sp]\n"
899 "LDR r3, =0x1\n"
900 "LDR r2, =0x1\n"
901 "LDR r1, =0x1\n"
902 "LDR r0, =0x0\n"
903 "BL sub_ff8b755c\n"
904 "LDR r3, =0x0\n"
905 "STR r3, [sp]\n"
906 "LDR r3, =0x1\n"
907 "LDR r2, =0x1\n"
908 "LDR r1, =0x1\n"
909 "LDR r0, =0x0\n"
910 "B loc_ff8bb11c\n"
911 "loc_ff8bb0f0:\n"
912 "LDR r3, =0x1\n"
913 "LDR r2, =0x1\n"
914 "LDR r1, =0x1\n"
915 "LDR r0, =0x1\n"
916 "STR r3, [sp]\n"
917 "BL sub_ff8b755c\n"
918 "LDR r3, =0x1\n"
919 "LDR r2, =0x1\n"
920 "LDR r1, =0x1\n"
921 "LDR r0, =0x1\n"
922 "STR r3, [sp]\n"
923 "loc_ff8bb11c:\n"
924 "BL sub_ff8b769c\n"
925 "loc_ff8bb120:\n"
926 "LDR r0, [sp, #28]\n"
927 "BL sub_ff8bbe38\n"
928 "B loc_ff8bab48\n"
929 );
930 }