This source file includes following definitions.
- capt_seq_task
- sub_FFC4327C_my
- sub_FFCE97F4_my
- exp_drv_task
- sub_FFC7268C_my
- sub_FFC64C44_my
1 #include "lolevel.h"
2 #include "platform.h"
3 #include "core.h"
4 #include "conf.h"
5
6 static long *nrflag = (long*)0x5BA0;
7
8 #include "../../../generic/capt_seq.c"
9
10 void __attribute__((naked,noinline)) capt_seq_task() {
11 asm volatile (
12 "STMFD SP!, {R3-R7,LR}\n"
13 "LDR R6, =0x26DC\n"
14 "loc_FFC42F3C:\n"
15 "LDR R0, [R6,#4]\n"
16 "MOV R2, #0\n"
17 "MOV R1, SP\n"
18 "BL sub_FFC15EBC\n"
19 "TST R0, #1\n"
20 "BEQ loc_FFC42F68\n"
21 "LDR R1, =0x588\n"
22 "LDR R0, =0xFFC42B3C\n"
23 "BL sub_FFC0BE9C\n"
24 "BL sub_FFC0BC54\n"
25 "LDMFD SP!, {R3-R7,PC}\n"
26 "loc_FFC42F68:\n"
27 "LDR R0, [SP]\n"
28 "LDR R1, [R0]\n"
29 "CMP R1, #0x1D\n"
30 "ADDLS PC, PC, R1,LSL#2\n"
31 "B loc_FFC43154\n"
32 "loc_FFC42F7C:\n"
33 "B loc_FFC42FF4\n"
34 "loc_FFC42F80:\n"
35 "B loc_FFC42FFC\n"
36 "loc_FFC42F84:\n"
37 "B loc_FFC43024\n"
38 "loc_FFC42F88:\n"
39 "B loc_FFC43038\n"
40 "loc_FFC42F8C:\n"
41 "B loc_FFC43030\n"
42 "loc_FFC42F90:\n"
43 "B loc_FFC43040\n"
44 "loc_FFC42F94:\n"
45 "B loc_FFC43048\n"
46 "loc_FFC42F98:\n"
47 "B loc_FFC43054\n"
48 "loc_FFC42F9C:\n"
49 "B loc_FFC430AC\n"
50 "loc_FFC42FA0:\n"
51 "B loc_FFC43038\n"
52 "loc_FFC42FA4:\n"
53 "B loc_FFC430B4\n"
54 "loc_FFC42FA8:\n"
55 "B loc_FFC430C4\n"
56 "loc_FFC42FAC:\n"
57 "B loc_FFC430CC\n"
58 "loc_FFC42FB0:\n"
59 "B loc_FFC430D4\n"
60 "loc_FFC42FB4:\n"
61 "B loc_FFC430DC\n"
62 "loc_FFC42FB8:\n"
63 "B loc_FFC430E4\n"
64 "loc_FFC42FBC:\n"
65 "B loc_FFC430EC\n"
66 "loc_FFC42FC0:\n"
67 "B loc_FFC430F4\n"
68 "loc_FFC42FC4:\n"
69 "B loc_FFC43100\n"
70 "loc_FFC42FC8:\n"
71 "B loc_FFC43108\n"
72 "loc_FFC42FCC:\n"
73 "B loc_FFC43110\n"
74 "loc_FFC42FD0:\n"
75 "B loc_FFC43118\n"
76 "loc_FFC42FD4:\n"
77 "B loc_FFC43120\n"
78 "loc_FFC42FD8:\n"
79 "B loc_FFC4312C\n"
80 "loc_FFC42FDC:\n"
81 "B loc_FFC43134\n"
82 "loc_FFC42FE0:\n"
83 "B loc_FFC4313C\n"
84 "loc_FFC42FE4:\n"
85 "B loc_FFC43144\n"
86 "loc_FFC42FE8:\n"
87 "B loc_FFC4314C\n"
88 "loc_FFC42FEC:\n"
89 "B loc_FFC43160\n"
90 "loc_FFC42FF0:\n"
91 "B loc_FFC43160\n"
92 "loc_FFC42FF4:\n"
93 "BL sub_FFC437C0\n"
94 "BL shooting_expo_param_override\n"
95 "B loc_FFC4304C\n"
96 "loc_FFC42FFC:\n"
97 "MOV R0, #0xC\n"
98 "BL sub_FFC46E34\n"
99 "TST R0, #1\n"
100 "LDR R0, [SP]\n"
101 "MOVNE R1, #1\n"
102 "LDRNE R2, [R0,#0xC]\n"
103 "MOVNE R0, #1\n"
104 "BNE loc_FFC430A4\n"
105 "BL sub_FFC4327C_my\n"
106 "B loc_FFC43160\n"
107 "loc_FFC43024:\n"
108 "MOV R0, #1\n"
109 "BL sub_FFC4395C\n"
110 "B loc_FFC43160\n"
111 "loc_FFC43030:\n"
112 "BL sub_FFC43448\n"
113 "B loc_FFC43160\n"
114 "loc_FFC43038:\n"
115 "BL sub_FFC437A0\n"
116 "B loc_FFC43160\n"
117 "loc_FFC43040:\n"
118 "BL sub_FFC437A8\n"
119 "B loc_FFC43160\n"
120 "loc_FFC43048:\n"
121 "BL sub_FFC4387C\n"
122 "loc_FFC4304C:\n"
123 "BL sub_FFC411F8\n"
124 "B loc_FFC43160\n"
125 "loc_FFC43054:\n"
126 "LDR R4, [R0,#0xC]\n"
127 "BL sub_FFC437B0\n"
128 "MOV R0, R4\n"
129 "BL sub_FFCE88BC\n"
130 "TST R0, #1\n"
131 "MOV R5, R0\n"
132 "BNE loc_FFC43094\n"
133 "BL sub_FFC51AD4\n"
134 "STR R0, [R4,#0x18]\n"
135 "MOV R0, R4\n"
136 "BL sub_FFCE972C\n"
137 "MOV R0, R4\n"
138 "BL sub_FFCE9B80\n"
139 "MOV R5, R0\n"
140 "LDR R0, [R4,#0x18]\n"
141 "BL sub_FFC51CE8\n"
142 "loc_FFC43094:\n"
143 "BL sub_FFC437A0\n"
144 "MOV R2, R4\n"
145 "MOV R1, #9\n"
146 "MOV R0, R5\n"
147 "loc_FFC430A4:\n"
148 "BL sub_FFC41628\n"
149 "B loc_FFC43160\n"
150 "loc_FFC430AC:\n"
151 "BL sub_FFC438DC\n"
152 "B loc_FFC4304C\n"
153 "loc_FFC430B4:\n"
154 "LDR R0, =0x12A48\n"
155 "LDR R0, [R0,#0x4C]\n"
156 "BL sub_FFC43C70\n"
157 "B loc_FFC43160\n"
158 "loc_FFC430C4:\n"
159 "BL sub_FFC43F18\n"
160 "B loc_FFC43160\n"
161 "loc_FFC430CC:\n"
162 "BL sub_FFC43FAC\n"
163 "B loc_FFC43160\n"
164 "loc_FFC430D4:\n"
165 "BL sub_FFCE8AD8\n"
166 "B loc_FFC43160\n"
167 "loc_FFC430DC:\n"
168 "BL sub_FFCE8CC0\n"
169 "B loc_FFC43160\n"
170 "loc_FFC430E4:\n"
171 "BL sub_FFCE8D50\n"
172 "B loc_FFC43160\n"
173 "loc_FFC430EC:\n"
174 "BL sub_FFCE8DF8\n"
175 "B loc_FFC43160\n"
176 "loc_FFC430F4:\n"
177 "MOV R0, #0\n"
178 "BL sub_FFCE8FB4\n"
179 "B loc_FFC43160\n"
180 "loc_FFC43100:\n"
181 "BL sub_FFCE90F4\n"
182 "B loc_FFC43160\n"
183 "loc_FFC43108:\n"
184 "BL sub_FFCE9188\n"
185 "B loc_FFC43160\n"
186 "loc_FFC43110:\n"
187 "BL sub_FFCE924C\n"
188 "B loc_FFC43160\n"
189 "loc_FFC43118:\n"
190 "BL sub_FFC43AC4\n"
191 "B loc_FFC43160\n"
192 "loc_FFC43120:\n"
193 "BL sub_FFC43AF0\n"
194 "BL sub_FFC13F74\n"
195 "B loc_FFC43160\n"
196 "loc_FFC4312C:\n"
197 "BL sub_FFCE8EB4\n"
198 "B loc_FFC43160\n"
199 "loc_FFC43134:\n"
200 "BL sub_FFCE8EF8\n"
201 "B loc_FFC43160\n"
202 "loc_FFC4313C:\n"
203 "BL sub_FFC45A70\n"
204 "B loc_FFC43160\n"
205 "loc_FFC43144:\n"
206 "BL sub_FFC45A8C\n"
207 "B loc_FFC43160\n"
208 "loc_FFC4314C:\n"
209 "BL sub_FFC45A9C\n"
210 "B loc_FFC43160\n"
211 "loc_FFC43154:\n"
212 "LDR R1, =0x6C9\n"
213 "LDR R0, =0xFFC42B3C\n"
214 "BL sub_FFC0BE9C\n"
215 "loc_FFC43160:\n"
216 "LDR R0, [SP]\n"
217 "LDR R1, [R0,#4]\n"
218 "LDR R0, [R6]\n"
219 "BL sub_FFC15C2C\n"
220 "LDR R4, [SP]\n"
221 "LDR R0, [R4,#8]\n"
222 "CMP R0, #0\n"
223 "LDREQ R1, =0x12B\n"
224 "LDREQ R0, =0xFFC42B3C\n"
225 "BLEQ sub_FFC0BE9C\n"
226 "MOV R0, #0\n"
227 "STR R0, [R4,#8]\n"
228 "B loc_FFC42F3C\n"
229 );
230 }
231
232
233
234 void __attribute__((naked,noinline)) sub_FFC4327C_my(){
235 asm volatile(
236 "STMFD SP!, {R3-R5,LR}\n"
237 "LDR R4, [R0,#0xC]\n"
238 "LDR R0, [R4,#8]\n"
239 "ORR R0, R0, #1\n"
240 "STR R0, [R4,#8]\n"
241 "BL sub_FFC437B0\n"
242 "MOV R0, R4\n"
243 "BL sub_FFC43A78\n"
244 "MOV R0, R4\n"
245 "BL sub_FFCE854C\n"
246 "CMP R0, #0\n"
247 "MOV R0, R4\n"
248 "BEQ loc_FFC432CC\n"
249 "BL sub_FFCE85E8\n"
250 "TST R0, #1\n"
251 "MOVNE R2, R4\n"
252 "LDMNEFD SP!, {R3-R5,LR}\n"
253 "MOVNE R1, #1\n"
254 "BNE sub_FFC41628\n"
255 "B loc_FFC432D0\n"
256 "loc_FFC432CC:\n"
257 "BL sub_FFCE859C\n"
258 "loc_FFC432D0:\n"
259 "MOV R0, #0\n"
260 "STR R0, [SP]\n"
261 "LDR R0, =0x12A48\n"
262 "MOV R2, #2\n"
263 "LDRH R0, [R0,#0x8E]\n"
264 "MOV R1, SP\n"
265 "CMP R0, #3\n"
266 "LDRNE R0, [R4,#0xC]\n"
267 "CMPNE R0, #1\n"
268 "MOVHI R0, #1\n"
269 "STRHI R0, [SP]\n"
270 "LDR R0, =0x123\n"
271 "BL sub_FFC5183C\n"
272 "BL sub_FFC51AD4\n"
273 "STR R0, [R4,#0x18]\n"
274 "MOV R0, R4\n"
275 "BL sub_FFCE972C\n"
276 "BL sub_FFCEA1F4\n"
277 "MOV R0, R4\n"
278 "BL sub_FFCE97F4_my\n"
279 "MOV R5, R0\n"
280 "BL capt_seq_hook_raw_here\n"
281 "BL sub_FFC45A8C\n"
282 "BL sub_FFC45AC8\n"
283 "MOV R2, R4\n"
284 "MOV R1, #1\n"
285 "MOV R0, R5\n"
286 "BL sub_FFC41628\n"
287 "BL sub_FFCE9B24\n"
288 "CMP R0, #0\n"
289 "LDRNE R0, [R4,#8]\n"
290 "ORRNE R0, R0, #0x2000\n"
291 "STRNE R0, [R4,#8]\n"
292 "LDMFD SP!, {R3-R5,PC}\n"
293 );
294 }
295
296
297
298 void __attribute__((naked,noinline)) sub_FFCE97F4_my(){
299 asm volatile(
300 "STMFD SP!, {R0-R8,LR}\n"
301 "MOV R4, R0\n"
302 "BL sub_FFCEA360\n"
303 "MVN R1, #0\n"
304 "BL sub_FFC15C60\n"
305 "LDR R5, =0x5BA0\n"
306 "LDR R0, [R5,#0xC]\n"
307 "CMP R0, #0\n"
308 "BNE loc_FFCE9844\n"
309 "MOV R1, #1\n"
310 "MOV R0, #0\n"
311 "BL sub_FFC0BCD0\n"
312 "STR R0, [R5,#0xC]\n"
313 "MOV R3, #0\n"
314 "STR R3, [SP]\n"
315 "LDR R3, =0xFFCE9340\n"
316 "LDR R0, =0xFFCE9AEC\n"
317 "MOV R2, #0x400\n"
318 "MOV R1, #0x17\n"
319 "BL sub_FFC0BC9C\n"
320 "loc_FFCE9844:\n"
321 "MOV R2, #4\n"
322 "ADD R1, SP, #8\n"
323 "MOV R0, #0x8A\n"
324 "BL sub_FFC51944\n"
325 "TST R0, #1\n"
326 "LDRNE R1, =0x3A7\n"
327 "LDRNE R0, =0xFFCE956C\n"
328 "BLNE sub_FFC0BE9C\n"
329 "LDR R8, =0x12B04\n"
330 "LDR R7, =0x12A48\n"
331 "LDRSH R1, [R8,#0xE]\n"
332 "LDR R0, [R7,#0x84]\n"
333
334 "BL sub_FFC2E8F0\n"
335 "LDR R3, =0x5BA8\n"
336 "STRH R0, [R4,#0x9C]\n"
337 "SUB R2, R3, #4\n"
338 "STRD R2, [SP]\n"
339 "MOV R1, R0\n"
340 "LDRH R0, [R7,#0x54]\n"
341 "LDRSH R2, [R8,#0xC]\n"
342 "SUB R3, R3, #8\n"
343 "BL sub_FFCEA944\n"
344 "BL wait_until_remote_button_is_released\n"
345 "BL capt_seq_hook_set_nr\n"
346 "B sub_FFCE98A0\n"
347 );
348 }
349
350
351
352 void __attribute__((naked,noinline)) exp_drv_task(){
353 asm volatile(
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
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795 "STMFD SP!, {R4-R8,LR}\n"
796 "SUB SP, SP, #0x20\n"
797 "LDR R8, =0xBB8\n"
798 "LDR R7, =0x36EC\n"
799 "LDR R5, =0x17550\n"
800 "MOV R0, #0\n"
801 "ADD R6, SP, #0x10\n"
802 "STR R0, [SP,#0xC]\n"
803 "loc_FFC74CD0:\n"
804 "LDR R0, [R7,#0x20]\n"
805 "MOV R2, #0\n"
806 "ADD R1, SP, #0x1C\n"
807 "BL sub_FFC15EBC\n"
808 "LDR R0, [SP,#0xC]\n"
809 "CMP R0, #1\n"
810 "BNE loc_FFC74D1C\n"
811 "LDR R0, [SP,#0x1C]\n"
812 "LDR R0, [R0]\n"
813 "CMP R0, #0x13\n"
814 "CMPNE R0, #0x14\n"
815 "CMPNE R0, #0x15\n"
816 "CMPNE R0, #0x16\n"
817 "BEQ loc_FFC74E38\n"
818 "CMP R0, #0x28\n"
819 "BEQ loc_FFC74E10\n"
820 "ADD R1, SP, #0xC\n"
821 "MOV R0, #0\n"
822 "BL sub_FFC74C60\n"
823 "loc_FFC74D1C:\n"
824 "LDR R0, [SP,#0x1C]\n"
825 "LDR R1, [R0]\n"
826 "CMP R1, #0x2D\n"
827 "BNE loc_FFC74D4C\n"
828 "LDR R0, [SP,#0x1C]\n"
829 "BL sub_FFC75F64\n"
830 "LDR R0, [R7,#0x1C]\n"
831 "MOV R1, #1\n"
832 "BL sub_FFC15C2C\n"
833 "BL sub_FFC0BC54\n"
834 "ADD SP, SP, #0x20\n"
835 "LDMFD SP!, {R4-R8,PC}\n"
836 "loc_FFC74D4C:\n"
837 "CMP R1, #0x2C\n"
838 "BNE loc_FFC74D68\n"
839 "LDR R2, [R0,#0x88]!\n"
840 "LDR R1, [R0,#4]\n"
841 "MOV R0, R1\n"
842 "BLX R2\n"
843 "B loc_FFC75260\n"
844 "loc_FFC74D68:\n"
845 "CMP R1, #0x26\n"
846 "BNE loc_FFC74DB8\n"
847 "LDR R0, [R7,#0x1C]\n"
848 "MOV R1, #0x80\n"
849 "BL sub_FFC15C60\n"
850 "LDR R0, =0xFFC7163C\n"
851 "MOV R1, #0x80\n"
852 "BL sub_FFCE0CE4\n"
853 "LDR R0, [R7,#0x1C]\n"
854 "MOV R2, R8\n"
855 "MOV R1, #0x80\n"
856 "BL sub_FFC15B6C\n"
857 "TST R0, #1\n"
858 "LDRNE R1, =0xDC6\n"
859 "BNE loc_FFC74DFC\n"
860 "loc_FFC74DA4:\n"
861 "LDR R1, [SP,#0x1C]\n"
862 "LDR R0, [R1,#0x8C]\n"
863 "LDR R1, [R1,#0x88]\n"
864 "BLX R1\n"
865 "B loc_FFC75260\n"
866 "loc_FFC74DB8:\n"
867 "CMP R1, #0x27\n"
868 "BNE loc_FFC74E08\n"
869 "ADD R1, SP, #0xC\n"
870 "BL sub_FFC74C60\n"
871 "LDR R0, [R7,#0x1C]\n"
872 "MOV R1, #0x100\n"
873 "BL sub_FFC15C60\n"
874 "LDR R0, =0xFFC7164C\n"
875 "MOV R1, #0x100\n"
876 "BL sub_FFCE0F6C\n"
877 "LDR R0, [R7,#0x1C]\n"
878 "MOV R2, R8\n"
879 "MOV R1, #0x100\n"
880 "BL sub_FFC15B6C\n"
881 "TST R0, #1\n"
882 "BEQ loc_FFC74DA4\n"
883 "MOV R1, #0xDD0\n"
884 "loc_FFC74DFC:\n"
885 "LDR R0, =0xFFC71C7C\n"
886 "BL sub_FFC0BE9C\n"
887 "B loc_FFC74DA4\n"
888 "loc_FFC74E08:\n"
889 "CMP R1, #0x28\n"
890 "BNE loc_FFC74E20\n"
891 "loc_FFC74E10:\n"
892 "LDR R0, [SP,#0x1C]\n"
893 "ADD R1, SP, #0xC\n"
894 "BL sub_FFC74C60\n"
895 "B loc_FFC74DA4\n"
896 "loc_FFC74E20:\n"
897 "CMP R1, #0x2B\n"
898 "BNE loc_FFC74E38\n"
899 "BL sub_FFC64ED4\n"
900 "BL sub_FFC65B60\n"
901 "BL sub_FFC65698\n"
902 "B loc_FFC74DA4\n"
903 "loc_FFC74E38:\n"
904 "LDR R0, [SP,#0x1C]\n"
905 "MOV R4, #1\n"
906 "LDR R1, [R0]\n"
907 "CMP R1, #0x11\n"
908 "CMPNE R1, #0x12\n"
909 "BNE loc_FFC74EA8\n"
910 "LDR R1, [R0,#0x7C]\n"
911 "ADD R1, R1, R1,LSL#1\n"
912 "ADD R1, R0, R1,LSL#2\n"
913 "SUB R1, R1, #8\n"
914 "LDMIA R1, {R2-R4}\n"
915 "STMIA R6, {R2-R4}\n"
916 "BL sub_FFC73714\n"
917 "LDR R0, [SP,#0x1C]\n"
918 "LDR R1, [R0,#0x7C]\n"
919 "LDR R3, [R0,#0x88]\n"
920 "LDR R2, [R0,#0x8C]\n"
921 "ADD R0, R0, #4\n"
922 "BLX R3\n"
923 "LDR R0, [SP,#0x1C]\n"
924 "BL sub_FFC7631C\n"
925 "LDR R0, [SP,#0x1C]\n"
926 "LDR R1, [R0,#0x7C]\n"
927 "LDR R3, [R0,#0x90]\n"
928 "LDR R2, [R0,#0x94]\n"
929 "ADD R0, R0, #4\n"
930 "BLX R3\n"
931 "B loc_FFC751A0\n"
932 "loc_FFC74EA8:\n"
933 "CMP R1, #0x13\n"
934 "CMPNE R1, #0x14\n"
935 "CMPNE R1, #0x15\n"
936 "CMPNE R1, #0x16\n"
937 "BNE loc_FFC74F60\n"
938 "ADD R3, SP, #0xC\n"
939 "MOV R2, SP\n"
940 "ADD R1, SP, #0x10\n"
941 "BL sub_FFC73958\n"
942 "CMP R0, #1\n"
943 "MOV R4, R0\n"
944 "CMPNE R4, #5\n"
945 "BNE loc_FFC74EFC\n"
946 "LDR R0, [SP,#0x1C]\n"
947 "MOV R2, R4\n"
948 "LDR R1, [R0,#0x7C]!\n"
949 "LDR R12, [R0,#0xC]!\n"
950 "LDR R3, [R0,#4]\n"
951 "MOV R0, SP\n"
952 "BLX R12\n"
953 "B loc_FFC74F34\n"
954 "loc_FFC74EFC:\n"
955 "LDR R0, [SP,#0x1C]\n"
956 "CMP R4, #2\n"
957 "LDR R3, [R0,#0x8C]\n"
958 "CMPNE R4, #6\n"
959 "BNE loc_FFC74F48\n"
960 "LDR R12, [R0,#0x88]\n"
961 "MOV R0, SP\n"
962 "MOV R2, R4\n"
963 "MOV R1, #1\n"
964 "BLX R12\n"
965 "LDR R0, [SP,#0x1C]\n"
966 "MOV R2, SP\n"
967 "ADD R1, SP, #0x10\n"
968 "BL sub_FFC74980\n"
969 "loc_FFC74F34:\n"
970 "LDR R0, [SP,#0x1C]\n"
971 "LDR R2, [SP,#0xC]\n"
972 "MOV R1, R4\n"
973 "BL sub_FFC74C00\n"
974 "B loc_FFC751A0\n"
975 "loc_FFC74F48:\n"
976 "LDR R1, [R0,#0x7C]\n"
977 "LDR R12, [R0,#0x88]\n"
978 "ADD R0, R0, #4\n"
979 "MOV R2, R4\n"
980 "BLX R12\n"
981 "B loc_FFC751A0\n"
982 "loc_FFC74F60:\n"
983 "CMP R1, #0x22\n"
984 "CMPNE R1, #0x23\n"
985 "BNE loc_FFC74FAC\n"
986 "LDR R1, [R0,#0x7C]\n"
987 "ADD R1, R1, R1,LSL#1\n"
988 "ADD R1, R0, R1,LSL#2\n"
989 "SUB R1, R1, #8\n"
990 "LDMIA R1, {R2-R4}\n"
991 "STMIA R6, {R2-R4}\n"
992 "BL sub_FFC72CA0\n"
993 "LDR R0, [SP,#0x1C]\n"
994 "LDR R1, [R0,#0x7C]\n"
995 "LDR R3, [R0,#0x88]\n"
996 "LDR R2, [R0,#0x8C]\n"
997 "ADD R0, R0, #4\n"
998 "BLX R3\n"
999 "LDR R0, [SP,#0x1C]\n"
1000 "BL sub_FFC72F90\n"
1001 "B loc_FFC751A0\n"
1002 "loc_FFC74FAC:\n"
1003 "ADD R1, R0, #4\n"
1004 "LDMIA R1, {R2,R3,R12}\n"
1005 "STMIA R6, {R2,R3,R12}\n"
1006 "LDR R1, [R0]\n"
1007 "CMP R1, #0x25\n"
1008 "ADDLS PC, PC, R1,LSL#2\n"
1009 "B loc_FFC75180\n"
1010 "loc_FFC74FC8:\n"
1011 "B loc_FFC75060\n"
1012 "loc_FFC74FCC:\n"
1013 "B loc_FFC75060\n"
1014 "loc_FFC74FD0:\n"
1015 "B loc_FFC75068\n"
1016 "loc_FFC74FD4:\n"
1017 "B loc_FFC75070\n"
1018 "loc_FFC74FD8:\n"
1019 "B loc_FFC75070\n"
1020 "loc_FFC74FDC:\n"
1021 "B loc_FFC75070\n"
1022 "loc_FFC74FE0:\n"
1023 "B loc_FFC75060\n"
1024 "loc_FFC74FE4:\n"
1025 "B loc_FFC75068\n"
1026 "loc_FFC74FE8:\n"
1027 "B loc_FFC75070\n"
1028 "loc_FFC74FEC:\n"
1029 "B loc_FFC75070\n"
1030 "loc_FFC74FF0:\n"
1031 "B loc_FFC75088\n"
1032 "loc_FFC74FF4:\n"
1033 "B loc_FFC75088\n"
1034 "loc_FFC74FF8:\n"
1035 "B loc_FFC75174\n"
1036 "loc_FFC74FFC:\n"
1037 "B loc_FFC7517C\n"
1038 "loc_FFC75000:\n"
1039 "B loc_FFC7517C\n"
1040 "loc_FFC75004:\n"
1041 "B loc_FFC7517C\n"
1042 "loc_FFC75008:\n"
1043 "B loc_FFC7517C\n"
1044 "loc_FFC7500C:\n"
1045 "B loc_FFC75180\n"
1046 "loc_FFC75010:\n"
1047 "B loc_FFC75180\n"
1048 "loc_FFC75014:\n"
1049 "B loc_FFC75180\n"
1050 "loc_FFC75018:\n"
1051 "B loc_FFC75180\n"
1052 "loc_FFC7501C:\n"
1053 "B loc_FFC75180\n"
1054 "loc_FFC75020:\n"
1055 "B loc_FFC75180\n"
1056 "loc_FFC75024:\n"
1057 "B loc_FFC75078\n"
1058 "loc_FFC75028:\n"
1059 "B loc_FFC75080\n"
1060 "loc_FFC7502C:\n"
1061 "B loc_FFC75080\n"
1062 "loc_FFC75030:\n"
1063 "B loc_FFC75094\n"
1064 "loc_FFC75034:\n"
1065 "B loc_FFC75094\n"
1066 "loc_FFC75038:\n"
1067 "B loc_FFC7509C\n"
1068 "loc_FFC7503C:\n"
1069 "B loc_FFC750CC\n"
1070 "loc_FFC75040:\n"
1071 "B loc_FFC750FC\n"
1072 "loc_FFC75044:\n"
1073 "B loc_FFC7512C\n"
1074 "loc_FFC75048:\n"
1075 "B loc_FFC7515C\n"
1076 "loc_FFC7504C:\n"
1077 "B loc_FFC7515C\n"
1078 "loc_FFC75050:\n"
1079 "B loc_FFC75180\n"
1080 "loc_FFC75054:\n"
1081 "B loc_FFC75180\n"
1082 "loc_FFC75058:\n"
1083 "B loc_FFC75164\n"
1084 "loc_FFC7505C:\n"
1085 "B loc_FFC7516C\n"
1086 "loc_FFC75060:\n"
1087 "BL sub_FFC71B28\n"
1088 "B loc_FFC75180\n"
1089 "loc_FFC75068:\n"
1090 "BL sub_FFC71D9C\n"
1091 "B loc_FFC75180\n"
1092 "loc_FFC75070:\n"
1093 "BL sub_FFC71FA0\n"
1094 "B loc_FFC75180\n"
1095 "loc_FFC75078:\n"
1096 "BL sub_FFC72208\n"
1097 "B loc_FFC75180\n"
1098 "loc_FFC75080:\n"
1099 "BL sub_FFC723FC\n"
1100 "B loc_FFC75180\n"
1101 "loc_FFC75088:\n"
1102 "BL sub_FFC7268C_my\n"
1103 "MOV R4, #0\n"
1104 "B loc_FFC75180\n"
1105 "loc_FFC75094:\n"
1106 "BL sub_FFC727C8\n"
1107 "B loc_FFC75180\n"
1108 "loc_FFC7509C:\n"
1109 "LDRH R1, [R0,#4]\n"
1110 "STRH R1, [SP,#0x10]\n"
1111 "LDRH R1, [R5,#2]\n"
1112 "STRH R1, [SP,#0x12]\n"
1113 "LDRH R1, [R5,#4]\n"
1114 "STRH R1, [SP,#0x14]\n"
1115 "LDRH R1, [R5,#6]\n"
1116 "STRH R1, [SP,#0x16]\n"
1117 "LDRH R1, [R0,#0xC]\n"
1118 "STRH R1, [SP,#0x18]\n"
1119 "BL sub_FFC75FD8\n"
1120 "B loc_FFC75180\n"
1121 "loc_FFC750CC:\n"
1122 "LDRH R1, [R0,#4]\n"
1123 "STRH R1, [SP,#0x10]\n"
1124 "LDRH R1, [R5,#2]\n"
1125 "STRH R1, [SP,#0x12]\n"
1126 "LDRH R1, [R5,#4]\n"
1127 "STRH R1, [SP,#0x14]\n"
1128 "LDRH R1, [R5,#6]\n"
1129 "STRH R1, [SP,#0x16]\n"
1130 "LDRH R1, [R5,#8]\n"
1131 "STRH R1, [SP,#0x18]\n"
1132 "BL sub_FFC76138\n"
1133 "B loc_FFC75180\n"
1134 "loc_FFC750FC:\n"
1135 "LDRH R1, [R5]\n"
1136 "STRH R1, [SP,#0x10]\n"
1137 "LDRH R1, [R0,#6]\n"
1138 "STRH R1, [SP,#0x12]\n"
1139 "LDRH R1, [R5,#4]\n"
1140 "STRH R1, [SP,#0x14]\n"
1141 "LDRH R1, [R5,#6]\n"
1142 "STRH R1, [SP,#0x16]\n"
1143 "LDRH R1, [R5,#8]\n"
1144 "STRH R1, [SP,#0x18]\n"
1145 "BL sub_FFC761E4\n"
1146 "B loc_FFC75180\n"
1147 "loc_FFC7512C:\n"
1148 "LDRH R1, [R5]\n"
1149 "STRH R1, [SP,#0x10]\n"
1150 "LDRH R1, [R5,#2]\n"
1151 "STRH R1, [SP,#0x12]\n"
1152 "LDRH R1, [R5,#4]\n"
1153 "STRH R1, [SP,#0x14]\n"
1154 "LDRH R1, [R5,#6]\n"
1155 "STRH R1, [SP,#0x16]\n"
1156 "LDRH R1, [R0,#0xC]\n"
1157 "STRH R1, [SP,#0x18]\n"
1158 "BL sub_FFC76284\n"
1159 "B loc_FFC75180\n"
1160 "loc_FFC7515C:\n"
1161 "BL sub_FFC72A68\n"
1162 "B loc_FFC75180\n"
1163 "loc_FFC75164:\n"
1164 "BL sub_FFC73094\n"
1165 "B loc_FFC75180\n"
1166 "loc_FFC7516C:\n"
1167 "BL sub_FFC732CC\n"
1168 "B loc_FFC75180\n"
1169 "loc_FFC75174:\n"
1170 "BL sub_FFC73444\n"
1171 "B loc_FFC75180\n"
1172 "loc_FFC7517C:\n"
1173 "BL sub_FFC735DC\n"
1174 "loc_FFC75180:\n"
1175 "LDR R0, [SP,#0x1C]\n"
1176 "LDR R1, [R0,#0x7C]\n"
1177 "LDR R3, [R0,#0x88]\n"
1178 "LDR R2, [R0,#0x8C]\n"
1179 "ADD R0, R0, #4\n"
1180 "BLX R3\n"
1181 "CMP R4, #1\n"
1182 "BNE loc_FFC751E8\n"
1183 "loc_FFC751A0:\n"
1184 "LDR R0, [SP,#0x1C]\n"
1185 "MOV R2, #0xC\n"
1186 "LDR R1, [R0,#0x7C]\n"
1187 "ADD R1, R1, R1,LSL#1\n"
1188 "ADD R0, R0, R1,LSL#2\n"
1189 "SUB R4, R0, #8\n"
1190 "LDR R0, =0x17550\n"
1191 "ADD R1, SP, #0x10\n"
1192 "BL sub_FFE3138C\n"
1193 "LDR R0, =0x1755C\n"
1194 "MOV R2, #0xC\n"
1195 "ADD R1, SP, #0x10\n"
1196 "BL sub_FFE3138C\n"
1197 "LDR R0, =0x17568\n"
1198 "MOV R2, #0xC\n"
1199 "MOV R1, R4\n"
1200 "BL sub_FFE3138C\n"
1201 "B loc_FFC75260\n"
1202 "loc_FFC751E8:\n"
1203 "LDR R0, [SP,#0x1C]\n"
1204 "LDR R0, [R0]\n"
1205 "CMP R0, #0xB\n"
1206 "BNE loc_FFC75230\n"
1207 "MOV R3, #0\n"
1208 "STR R3, [SP]\n"
1209 "MOV R3, #1\n"
1210 "MOV R2, #1\n"
1211 "MOV R1, #1\n"
1212 "MOV R0, #0\n"
1213 "BL sub_FFC71930\n"
1214 "MOV R3, #0\n"
1215 "STR R3, [SP]\n"
1216 "MOV R3, #1\n"
1217 "MOV R2, #1\n"
1218 "MOV R1, #1\n"
1219 "MOV R0, #0\n"
1220 "B loc_FFC7525C\n"
1221 "loc_FFC75230:\n"
1222 "MOV R3, #1\n"
1223 "MOV R2, #1\n"
1224 "MOV R1, #1\n"
1225 "MOV R0, #1\n"
1226 "STR R3, [SP]\n"
1227 "BL sub_FFC71930\n"
1228 "MOV R3, #1\n"
1229 "MOV R2, #1\n"
1230 "MOV R1, #1\n"
1231 "MOV R0, #1\n"
1232 "STR R3, [SP]\n"
1233 "loc_FFC7525C:\n"
1234 "BL sub_FFC71A70\n"
1235 "loc_FFC75260:\n"
1236 "LDR R0, [SP,#0x1C]\n"
1237 "BL sub_FFC75F64\n"
1238 "B loc_FFC74CD0\n"
1239 );
1240 }
1241
1242 void __attribute__((naked,noinline)) sub_FFC7268C_my(){
1243 asm volatile(
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328 "STMFD SP!, {R4-R8,LR}\n"
1329 "LDR R7, =0x36EC\n"
1330 "MOV R4, R0\n"
1331 "LDR R0, [R7,#0x1C]\n"
1332 "MOV R1, #0x3E\n"
1333 "BL sub_FFC15C60\n"
1334 "LDRSH R0, [R4,#4]\n"
1335 "MOV R2, #0\n"
1336 "MOV R1, #0\n"
1337 "BL sub_FFC716C0\n"
1338 "MOV R6, R0\n"
1339 "LDRSH R0, [R4,#6]\n"
1340 "BL sub_FFC717D0\n"
1341 "LDRSH R0, [R4,#8]\n"
1342 "BL sub_FFC71828\n"
1343 "LDRSH R0, [R4,#0xA]\n"
1344 "BL sub_FFC71880\n"
1345 "LDRSH R0, [R4,#0xC]\n"
1346 "BL sub_FFC718D8\n"
1347 "MOV R5, R0\n"
1348 "LDR R0, [R4]\n"
1349 "LDR R8, =0x17568\n"
1350 "CMP R0, #0xB\n"
1351 "MOVEQ R6, #0\n"
1352 "MOVEQ R5, #0\n"
1353 "BEQ loc_FFC7271C\n"
1354 "CMP R6, #1\n"
1355 "BNE loc_FFC7271C\n"
1356 "LDRSH R0, [R4,#4]\n"
1357 "LDR R1, =0xFFC7162C\n"
1358 "MOV R2, #2\n"
1359 "BL sub_FFCE0E38\n"
1360 "STRH R0, [R4,#4]\n"
1361 "MOV R0, #0\n"
1362 "STR R0, [R7,#0x28]\n"
1363 "B loc_FFC72724\n"
1364 "loc_FFC7271C:\n"
1365 "LDRH R0, [R8]\n"
1366 "STRH R0, [R4,#4]\n"
1367 "loc_FFC72724:\n"
1368 "CMP R5, #1\n"
1369 "LDRNEH R0, [R8,#8]\n"
1370 "BNE loc_FFC72740\n"
1371 "LDRSH R0, [R4,#0xC]\n"
1372 "LDR R1, =0xFFC716B0\n"
1373 "MOV R2, #0x20\n"
1374 "BL sub_FFC75F94\n"
1375 "loc_FFC72740:\n"
1376 "STRH R0, [R4,#0xC]\n"
1377 "LDRSH R0, [R4,#6]\n"
1378 "BL sub_FFC64C44_my\n"
1379 "LDRSH R0, [R4,#8]\n"
1380 "MOV R1, #1\n"
1381 "BL sub_FFC65390\n"
1382 "MOV R1, #0\n"
1383 "ADD R0, R4, #8\n"
1384 "BL sub_FFC65418\n"
1385 "LDRSH R0, [R4,#0xE]\n"
1386 "BL sub_FFC6D144\n"
1387 "LDR R4, =0xBB8\n"
1388 "CMP R6, #1\n"
1389 "BNE loc_FFC72798\n"
1390 "LDR R0, [R7,#0x1C]\n"
1391 "MOV R2, R4\n"
1392 "MOV R1, #2\n"
1393 "BL sub_FFC15B6C\n"
1394 "TST R0, #1\n"
1395 "LDRNE R1, =0x583\n"
1396 "LDRNE R0, =0xFFC71C7C\n"
1397 "BLNE sub_FFC0BE9C\n"
1398 "loc_FFC72798:\n"
1399 "CMP R5, #1\n"
1400 "LDMNEFD SP!, {R4-R8,PC}\n"
1401 "LDR R0, [R7,#0x1C]\n"
1402 "MOV R2, R4\n"
1403 "MOV R1, #0x20\n"
1404 "BL sub_FFC15B6C\n"
1405 "TST R0, #1\n"
1406 "LDRNE R1, =0x588\n"
1407 "LDRNE R0, =0xFFC71C7C\n"
1408 "LDMNEFD SP!, {R4-R8,LR}\n"
1409 "BNE sub_FFC0BE9C\n"
1410 "LDMFD SP!, {R4-R8,PC}\n"
1411 );
1412 }
1413
1414 void __attribute__((naked,noinline)) sub_FFC64C44_my(){
1415 asm volatile(
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445 "STMFD SP!, {R4-R6,LR}\n"
1446 "LDR R5, =0x3404\n"
1447 "MOV R4, R0\n"
1448 "LDR R0, [R5,#4]\n"
1449 "CMP R0, #1\n"
1450 "MOVNE R1, #0x140\n"
1451 "LDRNE R0, =0xFFC64A48\n"
1452 "BLNE sub_FFC0BE9C\n"
1453 "CMN R4, #0xC00\n"
1454 "LDREQSH R4, [R5,#2]\n"
1455 "CMN R4, #0xC00\n"
1456 "LDREQ R1, =0x146\n"
1457 "LDREQ R0, =0xFFC64A48\n"
1458 "STRH R4, [R5,#2]\n"
1459 "BLEQ sub_FFC0BE9C\n"
1460 "MOV R0, R4\n"
1461
1462 "BL apex2us\n"
1463 "MOV R4, R0\n"
1464
1465 "MOV R0, R4\n"
1466 "BL sub_FFC8BA78\n"
1467 "TST R0, #1\n"
1468 "LDRNE R1, =0x14B\n"
1469 "LDMNEFD SP!, {R4-R6,LR}\n"
1470 "LDRNE R0, =0xFFC64A48\n"
1471 "BNE sub_FFC0BE9C\n"
1472 "LDMFD SP!, {R4-R6,PC}\n"
1473 );
1474 }