This source file includes following definitions.
- capt_seq_task
- sub_FF87E4E8_my
- sub_FF972EFC_my
- exp_drv_task
- sub_FF8C1D70_my
- sub_FF8B3AB8_my
- sub_FF972E14_my
1 #include "lolevel.h"
2 #include "platform.h"
3 #include "core.h"
4 #include "conf.h"
5
6 static long *nrflag = (long*)0x75B0;
7
8
9
10 #include "../../../generic/capt_seq.c"
11
12
13 void __attribute__((naked,noinline)) capt_seq_task() {
14 asm volatile (
15 "STMFD SP!, {R3-R9,LR}\n"
16
17
18
19 "LDR R6, =0x32B4\n"
20 "LDR R4, =0x3A5AC\n"
21 "MOV R9, #1\n"
22 "MOV R7, #0\n"
23 "loc_FF87EBA4:\n"
24 "LDR R0, [R6,#4]\n"
25 "MOV R2, #0\n"
26 "MOV R1, SP\n"
27 "BL sub_FF839B88\n"
28 "TST R0, #1\n"
29 "BEQ loc_FF87EBD0\n"
30 "LDR R1, =0x5BE\n"
31 "LDR R0, =0xFF87E3B8\n"
32 "BL sub_FF81EB14\n"
33 "BL sub_FF81EACC\n"
34 "LDMFD SP!, {R3-R9,PC}\n"
35
36 "loc_FF87EBD0:\n"
37 "LDR R0, [SP]\n"
38 "LDR R1, [R0]\n"
39 "CMP R1, #0x21\n"
40 "ADDLS PC, PC, R1,LSL#2\n"
41 "B loc_FF87EE9C\n"
42 "loc_FF87EBE4:\n"
43 "B loc_FF87EC6C\n"
44 "loc_FF87EBE8:\n"
45 "B loc_FF87ECD0\n"
46 "loc_FF87EBEC:\n"
47 "B loc_FF87ED0C\n"
48 "loc_FF87EBF0:\n"
49 "B loc_FF87ED20\n"
50 "loc_FF87EBF4:\n"
51 "B loc_FF87ED18\n"
52 "loc_FF87EBF8:\n"
53 "B loc_FF87ED28\n"
54 "loc_FF87EBFC:\n"
55 "B loc_FF87ED30\n"
56 "loc_FF87EC00:\n"
57 "B loc_FF87ED38\n"
58 "loc_FF87EC04:\n"
59 "B loc_FF87ED90\n"
60 "loc_FF87EC08:\n"
61 "B loc_FF87EDB8\n"
62 "loc_FF87EC0C:\n"
63 "B loc_FF87ED9C\n"
64 "loc_FF87EC10:\n"
65 "B loc_FF87EDA8\n"
66 "loc_FF87EC14:\n"
67 "B loc_FF87EDB0\n"
68 "loc_FF87EC18:\n"
69 "B loc_FF87EDC0\n"
70 "loc_FF87EC1C:\n"
71 "B loc_FF87EDC8\n"
72 "loc_FF87EC20:\n"
73 "B loc_FF87EDD0\n"
74 "loc_FF87EC24:\n"
75 "B loc_FF87EDD8\n"
76 "loc_FF87EC28:\n"
77 "B loc_FF87EDE0\n"
78 "loc_FF87EC2C:\n"
79 "B loc_FF87EDE8\n"
80 "loc_FF87EC30:\n"
81 "B loc_FF87EDF0\n"
82 "loc_FF87EC34:\n"
83 "B loc_FF87EDF8\n"
84 "loc_FF87EC38:\n"
85 "B loc_FF87EE00\n"
86 "loc_FF87EC3C:\n"
87 "B loc_FF87EE08\n"
88 "loc_FF87EC40:\n"
89 "B loc_FF87EE14\n"
90 "loc_FF87EC44:\n"
91 "B loc_FF87EE1C\n"
92 "loc_FF87EC48:\n"
93 "B loc_FF87EE28\n"
94 "loc_FF87EC4C:\n"
95 "B loc_FF87EE30\n"
96 "loc_FF87EC50:\n"
97 "B loc_FF87EE38\n"
98 "loc_FF87EC54:\n"
99 "B loc_FF87EE40\n"
100 "loc_FF87EC58:\n"
101 "B loc_FF87EE48\n"
102 "loc_FF87EC5C:\n"
103 "B loc_FF87EE50\n"
104 "loc_FF87EC60:\n"
105 "B loc_FF87EE58\n"
106 "loc_FF87EC64:\n"
107 "B loc_FF87EE64\n"
108 "loc_FF87EC68:\n"
109 "B loc_FF87EEA8\n"
110 "loc_FF87EC6C:\n"
111 "BL sub_FF87F4C4\n"
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135 "BL shooting_expo_param_override\n"
136 "BL sub_FF87C4C0\n"
137
138
139
140
141
142 "MOV R0, #0\n"
143 "STR R0, [R4,#0x24]\n"
144
145
146
147
148
149 "LDR R0, [R4,#0x24]\n"
150 "CMP R0, #0\n"
151 "BEQ loc_FF87EEA8\n"
152 "BL sub_FF87E090\n"
153 "MOV R5, R0\n"
154 "LDR R0, [R4,#0x24]\n"
155 "CMP R0, #0\n"
156 "BEQ loc_FF87ECB4\n"
157 "MOV R0, #0xC\n"
158 "BL sub_FF883D9C\n"
159 "TST R0, #1\n"
160 "STRNE R9, [R6,#0x10]\n"
161 "LDRNE R0, [R5,#8]\n"
162 "ORRNE R0, R0, #0x40000000\n"
163 "STRNE R0, [R5,#8]\n"
164 "BNE loc_FF87EEA8\n"
165 "loc_FF87ECB4:\n"
166 "MOV R0, R5\n"
167 "BL sub_FF87E470\n"
168 "MOV R0, R5\n"
169
170
171 "BL sub_FF972EFC_my\n"
172
173
174
175
176
177
178 "BL capt_seq_hook_raw_here\n"
179
180
181 "TST R0, #1\n"
182 "STRNE R9, [R6,#0x10]\n"
183 "B loc_FF87EEA8\n"
184 "loc_FF87ECD0:\n"
185 "LDR R0, [R4,#0x24]\n"
186 "CMP R0, #0\n"
187 "BNE loc_FF87ECFC\n"
188 "MOV R0, #0xC\n"
189 "BL sub_FF883D9C\n"
190 "TST R0, #1\n"
191 "LDRNE R0, [SP]\n"
192 "MOVNE R1, #1\n"
193 "LDRNE R2, [R0,#0xC]\n"
194 "MOVNE R0, #1\n"
195 "BNE loc_FF87ED88\n"
196 "loc_FF87ECFC:\n"
197 "LDR R0, [SP]\n"
198 "BL sub_FF87E4E8_my\n"
199
200
201 "loc_FF87ED04:\n"
202 "STR R7, [R4,#0x24]\n"
203 "B loc_FF87EEA8\n"
204 "loc_FF87ED0C:\n"
205 "MOV R0, #1\n"
206 "BL sub_FF87F768\n"
207 "B loc_FF87EEA8\n"
208 "loc_FF87ED18:\n"
209 "BL sub_FF87F15C\n"
210 "B loc_FF87ED04\n"
211 "loc_FF87ED20:\n"
212
213 "BL sub_FF87F4A4\n"
214 "B loc_FF87ED04\n"
215 "loc_FF87ED28:\n"
216 "BL sub_FF87F4AC\n"
217 "B loc_FF87EEA8\n"
218 "loc_FF87ED30:\n"
219 "BL sub_FF87F678\n"
220 "B loc_FF87ED94\n"
221 "loc_FF87ED38:\n"
222 "LDR R5, [R0,#0xC]\n"
223 "BL sub_FF87F4B4\n"
224 "MOV R0, R5\n"
225 "BL sub_FF971D04\n"
226 "TST R0, #1\n"
227 "MOV R8, R0\n"
228 "BNE loc_FF87ED78\n"
229 "BL sub_FF891200\n"
230
231
232
233 "STR R0, [R5,#0x18]\n"
234 "MOV R0, R5\n"
235 "BL sub_FF972E14\n"
236 "MOV R0, R5\n"
237 "BL sub_FF9731AC\n"
238 "MOV R8, R0\n"
239 "LDR R0, [R5,#0x18]\n"
240 "BL sub_FF891438\n"
241 "loc_FF87ED78:\n"
242 "BL sub_FF87F4A4\n"
243 "MOV R2, R5\n"
244 "MOV R1, #9\n"
245 "MOV R0, R8\n"
246 "loc_FF87ED88:\n"
247 "BL sub_FF87CB20\n"
248 "B loc_FF87EEA8\n"
249 "loc_FF87ED90:\n"
250
251 "BL sub_FF87F6E0\n"
252 "loc_FF87ED94:\n"
253 "BL sub_FF87C4C0\n"
254 "B loc_FF87EEA8\n"
255 "loc_FF87ED9C:\n"
256 "LDR R0, [R4,#0x54]\n"
257 "BL sub_FF87FD30\n"
258 "B loc_FF87EEA8\n"
259 "loc_FF87EDA8:\n"
260 "BL sub_FF87FFE8\n"
261 "B loc_FF87EEA8\n"
262 "loc_FF87EDB0:\n"
263 "BL sub_FF880080\n"
264 "B loc_FF87EEA8\n"
265 "loc_FF87EDB8:\n"
266 "BL sub_FF87F4A4\n"
267 "B loc_FF87EEA8\n"
268 "loc_FF87EDC0:\n"
269 "BL sub_FF971F20\n"
270 "B loc_FF87EEA8\n"
271 "loc_FF87EDC8:\n"
272 "BL sub_FF972134\n"
273 "B loc_FF87EEA8\n"
274 "loc_FF87EDD0:\n"
275 "BL sub_FF9721BC\n"
276 "B loc_FF87EEA8\n"
277 "loc_FF87EDD8:\n"
278 "BL sub_FF9722AC\n"
279 "B loc_FF87EEA8\n"
280 "loc_FF87EDE0:\n"
281 "BL sub_FF97237C\n"
282 "B loc_FF87EEA8\n"
283 "loc_FF87EDE8:\n"
284 "MOV R0, #0\n"
285 "B loc_FF87EE0C\n"
286 "loc_FF87EDF0:\n"
287 "BL sub_FF9727E8\n"
288 "B loc_FF87EEA8\n"
289 "loc_FF87EDF8:\n"
290 "BL sub_FF972884\n"
291 "B loc_FF87EEA8\n"
292 "loc_FF87EE00:\n"
293 "BL sub_FF972964\n"
294 "B loc_FF87EEA8\n"
295 "loc_FF87EE08:\n"
296 "MOV R0, #1\n"
297 "loc_FF87EE0C:\n"
298 "BL sub_FF972698\n"
299 "B loc_FF87EEA8\n"
300 "loc_FF87EE14:\n"
301 "BL sub_FF87F920\n"
302 "B loc_FF87EEA8\n"
303 "loc_FF87EE1C:\n"
304 "BL sub_FF87F9C8\n"
305 "BL sub_FF87EFD4\n"
306 "B loc_FF87EEA8\n"
307 "loc_FF87EE28:\n"
308 "BL sub_FF9724F8\n"
309 "B loc_FF87EEA8\n"
310 "loc_FF87EE30:\n"
311 "BL sub_FF9725C8\n"
312 "B loc_FF87EEA8\n"
313 "loc_FF87EE38:\n"
314 "BL sub_FF87E348\n"
315 "B loc_FF87EEA8\n"
316 "loc_FF87EE40:\n"
317 "BL sub_FF837804\n"
318 "B loc_FF87EEA8\n"
319 "loc_FF87EE48:\n"
320 "BL sub_FF882220\n"
321 "B loc_FF87EEA8\n"
322 "loc_FF87EE50:\n"
323 "BL sub_FF8822A8\n"
324 "B loc_FF87EEA8\n"
325 "loc_FF87EE58:\n"
326
327 "BL sub_FF882304\n"
328 "BL sub_FF8822C4\n"
329 "B loc_FF87EEA8\n"
330 "loc_FF87EE64:\n"
331 "MOV R0, #1\n"
332 "BL sub_FF973B6C\n"
333 "MOV R0, #1\n"
334 "BL sub_FF973CA0\n"
335 "LDRH R0, [R4,#0x9C]\n"
336 "CMP R0, #4\n"
337 "LDRNEH R0, [R4]\n"
338 "SUBNE R12, R0, #0x8200\n"
339 "SUBNES R12, R12, #0x2A\n"
340 "BNE loc_FF87EEA8\n"
341 "BL sub_FF8822A8\n"
342 "BL sub_FF882820\n"
343 "BL sub_FF882728\n"
344 "B loc_FF87EEA8\n"
345
346 "loc_FF87EE9C:\n"
347 "LDR R1, =0x724\n"
348 "LDR R0, =0xFF87E3B8\n"
349 "BL sub_FF81EB14\n"
350 "loc_FF87EEA8:\n"
351 "LDR R0, [SP]\n"
352 "LDR R1, [R0,#4]\n"
353 "LDR R0, [R6]\n"
354 "BL sub_FF888E00\n"
355 "LDR R5, [SP]\n"
356 "LDR R0, [R5,#8]\n"
357 "CMP R0, #0\n"
358 "LDREQ R1, =0x132\n"
359 "LDREQ R0, =0xFF87E3B8\n"
360 "BLEQ sub_FF81EB14\n"
361 "STR R7, [R5,#8]\n"
362 "B loc_FF87EBA4\n"
363 );
364 }
365
366
367
368
369 void __attribute__((naked,noinline)) sub_FF87E4E8_my(){
370 asm volatile(
371 "STMFD SP!, {R3-R9,LR}\n"
372 "LDR R4, [R0,#0xC]\n"
373 "LDR R5, =0x3A5AC\n"
374 "LDR R0, [R4,#8]\n"
375 "LDR R6, =0x420C\n"
376 "ORR R0, R0, #1\n"
377 "STR R0, [R4,#8]\n"
378 "LDRH R0, [R5]\n"
379 "LDR R8, =0x32B4\n"
380 "MOV R7, #0\n"
381 "CMP R0, R6\n"
382 "BEQ loc_FF87E58C\n"
383 "LDRH R0, [R5,#0x9A]\n"
384 "CMP R0, #3\n"
385 "BEQ loc_FF87E5EC\n"
386 "LDR R0, [R4,#0xC]\n"
387 "CMP R0, #1\n"
388 "BLS loc_FF87E598\n"
389 "LDRH R0, [R5,#0x98]\n"
390 "CMP R0, #0\n"
391 "BNE loc_FF87E5EC\n"
392 "LDRH R0, [R5,#0x94]\n"
393 "CMP R0, #2\n"
394 "BNE loc_FF87E5A4\n"
395 "BL sub_FF87FA78\n"
396 "LDRH R0, [R5]\n"
397 "CMP R0, R6\n"
398 "BEQ loc_FF87E58C\n"
399 "LDRH R0, [R5,#0x9A]\n"
400 "CMP R0, #3\n"
401 "BEQ loc_FF87E5EC\n"
402 "LDR R0, [R4,#0xC]\n"
403 "CMP R0, #1\n"
404 "BLS loc_FF87E598\n"
405 "LDRH R0, [R5,#0x98]\n"
406 "CMP R0, #0\n"
407 "BNE loc_FF87E5EC\n"
408 "LDRH R0, [R5,#0x94]\n"
409 "CMP R0, #2\n"
410 "BEQ loc_FF87E5D0\n"
411 "B loc_FF87E5A4\n"
412 "loc_FF87E58C:\n"
413 "LDRH R0, [R5,#0x9A]\n"
414 "CMP R0, #3\n"
415 "BEQ loc_FF87E5EC\n"
416 "loc_FF87E598:\n"
417 "LDRH R0, [R5,#0x98]\n"
418 "CMP R0, #0\n"
419 "BNE loc_FF87E5EC\n"
420 "loc_FF87E5A4:\n"
421 "LDRH R0, [R5,#0x94]\n"
422 "CMP R0, #1\n"
423 "BNE loc_FF87E5EC\n"
424 "LDRH R0, [R5]\n"
425 "CMP R0, R6\n"
426 "LDRNE R0, [R4,#0xC]\n"
427 "CMPNE R0, #1\n"
428 "BLS loc_FF87E5EC\n"
429 "LDR R0, [R4,#0x10]\n"
430 "CMP R0, #1\n"
431 "BNE loc_FF87E5EC\n"
432 "loc_FF87E5D0:\n"
433 "LDR R3, =0x277\n"
434 "LDR R2, =0xEA60\n"
435 "STR R3, [SP]\n"
436 "LDR R0, [R8]\n"
437 "LDR R3, =0xFF87E3B8\n"
438 "MOV R1, #0x40000000\n"
439 "BL sub_FF884110\n"
440 "loc_FF87E5EC:\n"
441 "BL sub_FF87E348\n"
442 "LDR R0, [R5,#0x24]\n"
443 "CMP R0, #0\n"
444 "MOVEQ R0, #2\n"
445 "BLEQ sub_FF87AAA8\n"
446 "BL sub_FF87F4B4\n"
447 "LDR R0, [R5,#0x24]\n"
448 "CMP R0, #0\n"
449 "BNE loc_FF87E69C\n"
450 "MOV R0, #0\n"
451 "BL sub_FF973B6C\n"
452 "MOV R0, #0\n"
453 "BL sub_FF973CA0\n"
454 "MOV R0, R4\n"
455 "BL sub_FF87F8A8\n"
456 "MOV R0, R4\n"
457 "BL sub_FF971900\n"
458 "CMP R0, #0\n"
459 "BEQ loc_FF87E664\n"
460 "BL sub_FF973BAC\n"
461 "BL sub_FF973CE4\n"
462 "BL sub_FF973D34\n"
463 "MOV R0, R4\n"
464 "BL sub_FF971A2C\n"
465 "TST R0, #1\n"
466 "MOVNE R2, R4\n"
467 "LDMNEFD SP!, {R3-R9,LR}\n"
468 "MOVNE R1, #1\n"
469 "BNE sub_FF87CB20\n"
470 "B loc_FF87E678\n"
471 "loc_FF87E664:\n"
472 "MOV R0, R4\n"
473 "BL sub_FF9719A4\n"
474 "BL sub_FF973BAC\n"
475 "BL sub_FF973CE4\n"
476 "BL sub_FF973D34\n"
477
478 "loc_FF87E678:\n"
479 "MOV R0, R4\n"
480 "BL sub_FF87E470\n"
481 "MOV R0, R4\n"
482
483
484
485
486
487
488
489
490 "BL sub_FF972E14\n"
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 "BL sub_FF973948\n"
527 "MOV R0, R4\n"
528
529
530 "BL sub_FF972EFC_my\n"
531
532
533
534
535 "MOV R7, R0\n"
536 "BL capt_seq_hook_raw_here\n"
537
538
539 "B loc_FF87E6A8\n"
540 "loc_FF87E69C:\n"
541 "LDR R0, [R8,#0x10]\n"
542 "CMP R0, #0\n"
543 "MOVNE R7, #0x1D\n"
544 "loc_FF87E6A8:\n"
545 "BL sub_FF8822A8\n"
546 "BL sub_FF8822F0\n"
547 "BL sub_FF882330\n"
548 "MOV R2, R4\n"
549 "MOV R1, #1\n"
550 "MOV R0, R7\n"
551 "BL sub_FF87CB20\n"
552 "BL sub_FF973160\n"
553 "CMP R0, #0\n"
554 "LDRNE R0, [R4,#8]\n"
555 "ORRNE R0, R0, #0x2000\n"
556 "STRNE R0, [R4,#8]\n"
557 "LDRH R0, [R5,#0x9A]\n"
558 "CMP R0, #3\n"
559 "BEQ locret_FF87E700\n"
560 "LDRH R0, [R5,#0x98]\n"
561 "CMP R0, #0\n"
562 "LDREQH R0, [R5,#0x94]\n"
563 "CMPEQ R0, #2\n"
564 "MOVEQ R0, R4\n"
565 "LDMEQFD SP!, {R3-R9,LR}\n"
566 "BEQ sub_FF87FACC\n"
567 "locret_FF87E700:\n"
568 "LDMFD SP!, {R3-R9,PC}\n"
569 );
570 }
571
572
573
574 void __attribute__((naked,noinline)) sub_FF972EFC_my(){
575 asm volatile(
576 "STMFD SP!, {R0-R8,LR}\n"
577 "MOV R4, R0\n"
578 "BL sub_FF973E70\n"
579 "LDR R1, =0xFFFFFFFF\n"
580 "BL sub_FF888E34\n"
581 "LDR R5, =0x75B0\n"
582 "LDR R0, [R5,#0xC]\n"
583 "CMP R0, #0\n"
584 "BNE loc_FF972F4C\n"
585 "MOV R1, #1\n"
586 "MOV R0, #0\n"
587 "BL sub_FF83A3D0\n"
588 "STR R0, [R5,#0xC]\n"
589 "MOV R3, #0\n"
590 "STR R3, [SP]\n"
591 "LDR R3, =0xFF972A5C\n"
592 "LDR R0, =0xFF973138\n"
593 "MOV R2, #0x400\n"
594 "MOV R1, #0x17\n"
595 "BL sub_FF83A39C\n"
596 "loc_FF972F4C:\n"
597 "MOV R2, #4\n"
598 "ADD R1, SP, #8\n"
599 "MOV R0, #0x8A\n"
600 "BL sub_FF891070\n"
601 "TST R0, #1\n"
602
603 "MOVNE R1, #0x3F4\n"
604 "LDRNE R0, =0xFF972CF4\n"
605 "BLNE sub_FF81EB14\n"
606 "LDR R6, =0x3A678\n"
607 "LDR R7, =0x3A5AC\n"
608 "LDR R3, [R6]\n"
609 "LDRSH R2, [R6,#0xC]\n"
610 "LDRSH R1, [R6,#0xE]\n"
611 "LDR R0, [R7,#0x90]\n"
612 "BL sub_FF93938C\n"
613 "BL sub_FF866E94\n"
614 "LDR R3, =0x75B8\n"
615 "STRH R0, [R4,#0xA4]\n"
616 "SUB R2, R3, #4\n"
617 "STRD R2, [SP]\n"
618 "MOV R1, R0\n"
619 "LDRH R0, [R7,#0x5C]\n"
620 "LDRSH R2, [R6,#0xC]\n"
621
622 "SUB R3, R3, #8\n"
623 "BL sub_FF975A14\n"
624
625
626 "BL capt_seq_hook_set_nr\n"
627 "B sub_FF972FB0\n"
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 void __attribute__((naked,noinline)) exp_drv_task(){
663 asm volatile(
664 "STMFD SP!, {R4-R8,LR}\n"
665 "SUB SP, SP, #0x20\n"
666 "LDR R8, =0xBB8\n"
667 "LDR R7, =0x4B08\n"
668 "LDR R5, =0x43B90\n"
669 "MOV R0, #0\n"
670 "ADD R6, SP, #0x10\n"
671 "STR R0, [SP,#0xC]\n"
672 "loc_FF8C477C:\n"
673 "LDR R0, [R7,#0x20]\n"
674 "MOV R2, #0\n"
675 "ADD R1, SP, #0x1C\n"
676 "BL sub_FF839B88\n"
677 "LDR R0, [SP,#0xC]\n"
678 "CMP R0, #1\n"
679 "BNE loc_FF8C47C8\n"
680 "LDR R0, [SP,#0x1C]\n"
681 "LDR R0, [R0]\n"
682 "CMP R0, #0x14\n"
683 "CMPNE R0, #0x15\n"
684 "CMPNE R0, #0x16\n"
685 "CMPNE R0, #0x17\n"
686 "BEQ loc_FF8C492C\n"
687 "CMP R0, #0x29\n"
688 "BEQ loc_FF8C48B4\n"
689 "ADD R1, SP, #0xC\n"
690 "MOV R0, #0\n"
691 "BL sub_FF8C470C\n"
692 "loc_FF8C47C8:\n"
693 "LDR R0, [SP,#0x1C]\n"
694 "LDR R1, [R0]\n"
695 "CMP R1, #0x2F\n"
696 "BNE loc_FF8C47F8\n"
697 "LDR R0, [SP,#0x1C]\n"
698 "BL sub_FF8C5AE0\n"
699 "LDR R0, [R7,#0x1C]\n"
700 "MOV R1, #1\n"
701 "BL sub_FF888E00\n"
702 "BL sub_FF81EACC\n"
703 "ADD SP, SP, #0x20\n"
704 "LDMFD SP!, {R4-R8,PC}\n"
705 "loc_FF8C47F8:\n"
706 "CMP R1, #0x2E\n"
707 "BNE loc_FF8C4814\n"
708 "LDR R2, [R0,#0x8C]!\n"
709 "LDR R1, [R0,#4]\n"
710 "MOV R0, R1\n"
711 "BLX R2\n"
712 "B loc_FF8C4D60\n"
713 "loc_FF8C4814:\n"
714 "CMP R1, #0x27\n"
715 "BNE loc_FF8C4864\n"
716 "LDR R0, [R7,#0x1C]\n"
717 "MOV R1, #0x80\n"
718 "BL sub_FF888E34\n"
719 "LDR R0, =0xFF8C0CA0\n"
720 "MOV R1, #0x80\n"
721 "BL sub_FF965340\n"
722 "LDR R0, [R7,#0x1C]\n"
723 "MOV R2, R8\n"
724 "MOV R1, #0x80\n"
725 "BL sub_FF888D40\n"
726 "TST R0, #1\n"
727 "LDRNE R1, =0xEE1\n"
728 "BNE loc_FF8C4920\n"
729 "loc_FF8C4850:\n"
730 "LDR R1, [SP,#0x1C]\n"
731 "LDR R0, [R1,#0x90]\n"
732 "LDR R1, [R1,#0x8C]\n"
733 "BLX R1\n"
734 "B loc_FF8C4D60\n"
735 "loc_FF8C4864:\n"
736 "CMP R1, #0x28\n"
737 "BNE loc_FF8C48AC\n"
738 "ADD R1, SP, #0xC\n"
739 "BL sub_FF8C470C\n"
740 "LDR R0, [R7,#0x1C]\n"
741 "MOV R1, #0x100\n"
742 "BL sub_FF888E34\n"
743 "LDR R0, =0xFF8C0CB0\n"
744 "MOV R1, #0x100\n"
745 "BL sub_FF965FE4\n"
746 "LDR R0, [R7,#0x1C]\n"
747 "MOV R2, R8\n"
748 "MOV R1, #0x100\n"
749 "BL sub_FF888D40\n"
750 "TST R0, #1\n"
751 "BEQ loc_FF8C4850\n"
752 "LDR R1, =0xEEB\n"
753 "B loc_FF8C4920\n"
754
755
756
757
758
759
760
761
762
763 "loc_FF8C48AC:\n"
764 "CMP R1, #0x29\n"
765 "BNE loc_FF8C48C4\n"
766 "loc_FF8C48B4:\n"
767 "LDR R0, [SP,#0x1C]\n"
768 "ADD R1, SP, #0xC\n"
769 "BL sub_FF8C470C\n"
770 "B loc_FF8C4850\n"
771 "loc_FF8C48C4:\n"
772 "CMP R1, #0x2C\n"
773 "BNE loc_FF8C48DC\n"
774 "BL sub_FF8B3D48\n"
775 "BL sub_FF8B4968\n"
776 "BL sub_FF8B44CC\n"
777 "B loc_FF8C4850\n"
778
779 "loc_FF8C48DC:\n"
780 "CMP R1, #0x2D\n"
781 "BNE loc_FF8C492C\n"
782 "LDR R0, [R7,#0x1C]\n"
783 "MOV R1, #4\n"
784 "BL sub_FF888E34\n"
785 "LDR R1, =0xFF8C0CD0\n"
786 "LDR R0, =0xFFFFF400\n"
787 "MOV R2, #4\n"
788 "BL sub_FF8B37C4\n"
789 "BL sub_FF8B3A4C\n"
790 "LDR R0, [R7,#0x1C]\n"
791 "MOV R2, R8\n"
792 "MOV R1, #4\n"
793 "BL sub_FF888C5C\n"
794 "TST R0, #1\n"
795 "BEQ loc_FF8C4850\n"
796 "LDR R1, =0xF13\n"
797 "loc_FF8C4920:\n"
798 "LDR R0, =0xFF8C1310\n"
799 "BL sub_FF81EB14\n"
800 "B loc_FF8C4850\n"
801
802 "loc_FF8C492C:\n"
803 "LDR R0, [SP,#0x1C]\n"
804 "MOV R4, #1\n"
805 "LDR R1, [R0]\n"
806 "CMP R1, #0x12\n"
807 "CMPNE R1, #0x13\n"
808 "BNE loc_FF8C499C\n"
809 "LDR R1, [R0,#0x7C]\n"
810 "ADD R1, R1, R1,LSL#1\n"
811 "ADD R1, R0, R1,LSL#2\n"
812 "SUB R1, R1, #8\n"
813 "LDMIA R1, {R2-R4}\n"
814 "STMIA R6, {R2-R4}\n"
815 "BL sub_FF8C30F4\n"
816 "LDR R0, [SP,#0x1C]\n"
817 "LDR R1, [R0,#0x7C]\n"
818 "LDR R3, [R0,#0x8C]\n"
819 "LDR R2, [R0,#0x90]\n"
820 "ADD R0, R0, #4\n"
821 "BLX R3\n"
822 "LDR R0, [SP,#0x1C]\n"
823 "BL sub_FF8C5E9C\n"
824 "LDR R0, [SP,#0x1C]\n"
825 "LDR R1, [R0,#0x7C]\n"
826 "LDR R3, [R0,#0x94]\n"
827 "LDR R2, [R0,#0x98]\n"
828 "ADD R0, R0, #4\n"
829 "BLX R3\n"
830 "B loc_FF8C4CA0\n"
831 "loc_FF8C499C:\n"
832 "CMP R1, #0x14\n"
833 "CMPNE R1, #0x15\n"
834 "CMPNE R1, #0x16\n"
835 "CMPNE R1, #0x17\n"
836 "BNE loc_FF8C4A54\n"
837 "ADD R3, SP, #0xC\n"
838 "MOV R2, SP\n"
839 "ADD R1, SP, #0x10\n"
840 "BL sub_FF8C3348\n"
841 "CMP R0, #1\n"
842 "MOV R4, R0\n"
843 "CMPNE R4, #5\n"
844 "BNE loc_FF8C49F0\n"
845 "LDR R0, [SP,#0x1C]\n"
846 "MOV R2, R4\n"
847 "LDR R1, [R0,#0x7C]!\n"
848 "LDR R12, [R0,#0x10]!\n"
849 "LDR R3, [R0,#4]\n"
850 "MOV R0, SP\n"
851 "BLX R12\n"
852 "B loc_FF8C4A28\n"
853 "loc_FF8C49F0:\n"
854 "LDR R0, [SP,#0x1C]\n"
855 "CMP R4, #2\n"
856 "LDR R3, [R0,#0x90]\n"
857 "CMPNE R4, #6\n"
858 "BNE loc_FF8C4A3C\n"
859 "LDR R12, [R0,#0x8C]\n"
860 "MOV R0, SP\n"
861 "MOV R2, R4\n"
862 "MOV R1, #1\n"
863 "BLX R12\n"
864 "LDR R0, [SP,#0x1C]\n"
865 "MOV R2, SP\n"
866 "ADD R1, SP, #0x10\n"
867 "BL sub_FF8C4458\n"
868 "loc_FF8C4A28:\n"
869 "LDR R0, [SP,#0x1C]\n"
870 "LDR R2, [SP,#0xC]\n"
871 "MOV R1, R4\n"
872 "BL sub_FF8C46AC\n"
873 "B loc_FF8C4CA0\n"
874 "loc_FF8C4A3C:\n"
875 "LDR R1, [R0,#0x7C]\n"
876 "LDR R12, [R0,#0x8C]\n"
877 "ADD R0, R0, #4\n"
878 "MOV R2, R4\n"
879 "BLX R12\n"
880 "B loc_FF8C4CA0\n"
881 "loc_FF8C4A54:\n"
882 "CMP R1, #0x23\n"
883 "CMPNE R1, #0x24\n"
884 "BNE loc_FF8C4AA0\n"
885 "LDR R1, [R0,#0x7C]\n"
886 "ADD R1, R1, R1,LSL#1\n"
887 "ADD R1, R0, R1,LSL#2\n"
888 "SUB R1, R1, #8\n"
889 "LDMIA R1, {R2-R4}\n"
890 "STMIA R6, {R2-R4}\n"
891 "BL sub_FF8C23C8\n"
892 "LDR R0, [SP,#0x1C]\n"
893 "LDR R1, [R0,#0x7C]\n"
894 "LDR R3, [R0,#0x8C]\n"
895 "LDR R2, [R0,#0x90]\n"
896 "ADD R0, R0, #4\n"
897 "BLX R3\n"
898 "LDR R0, [SP,#0x1C]\n"
899 "BL sub_FF8C26C8\n"
900 "B loc_FF8C4CA0\n"
901 "loc_FF8C4AA0:\n"
902 "ADD R1, R0, #4\n"
903 "LDMIA R1, {R2,R3,R12}\n"
904 "STMIA R6, {R2,R3,R12}\n"
905 "LDR R1, [R0]\n"
906 "CMP R1, #0x26\n"
907 "ADDLS PC, PC, R1,LSL#2\n"
908 "B loc_FF8C4C80\n"
909 "loc_FF8C4ABC:\n"
910 "B loc_FF8C4B58\n"
911 "loc_FF8C4AC0:\n"
912 "B loc_FF8C4B58\n"
913 "loc_FF8C4AC4:\n"
914 "B loc_FF8C4B60\n"
915 "loc_FF8C4AC8:\n"
916 "B loc_FF8C4B68\n"
917 "loc_FF8C4ACC:\n"
918 "B loc_FF8C4B68\n"
919 "loc_FF8C4AD0:\n"
920 "B loc_FF8C4B68\n"
921 "loc_FF8C4AD4:\n"
922 "B loc_FF8C4B58\n"
923 "loc_FF8C4AD8:\n"
924 "B loc_FF8C4B60\n"
925 "loc_FF8C4ADC:\n"
926 "B loc_FF8C4B68\n"
927 "loc_FF8C4AE0:\n"
928 "B loc_FF8C4B68\n"
929 "loc_FF8C4AE4:\n"
930 "B loc_FF8C4B80\n"
931 "loc_FF8C4AE8:\n"
932 "B loc_FF8C4B80\n"
933 "loc_FF8C4AEC:\n"
934 "B loc_FF8C4C6C\n"
935 "loc_FF8C4AF0:\n"
936 "B loc_FF8C4C74\n"
937 "loc_FF8C4AF4:\n"
938 "B loc_FF8C4C74\n"
939 "loc_FF8C4AF8:\n"
940 "B loc_FF8C4C74\n"
941 "loc_FF8C4AFC:\n"
942 "B loc_FF8C4C74\n"
943 "loc_FF8C4B00:\n"
944 "B loc_FF8C4C7C\n"
945 "loc_FF8C4B04:\n"
946 "B loc_FF8C4C80\n"
947 "loc_FF8C4B08:\n"
948 "B loc_FF8C4C80\n"
949 "loc_FF8C4B0C:\n"
950 "B loc_FF8C4C80\n"
951 "loc_FF8C4B10:\n"
952 "B loc_FF8C4C80\n"
953 "loc_FF8C4B14:\n"
954 "B loc_FF8C4C80\n"
955 "loc_FF8C4B18:\n"
956 "B loc_FF8C4C80\n"
957 "loc_FF8C4B1C:\n"
958 "B loc_FF8C4B70\n"
959 "loc_FF8C4B20:\n"
960 "B loc_FF8C4B78\n"
961 "loc_FF8C4B24:\n"
962 "B loc_FF8C4B78\n"
963 "loc_FF8C4B28:\n"
964 "B loc_FF8C4B8C\n"
965 "loc_FF8C4B2C:\n"
966 "B loc_FF8C4B8C\n"
967 "loc_FF8C4B30:\n"
968 "B loc_FF8C4B94\n"
969 "loc_FF8C4B34:\n"
970 "B loc_FF8C4BC4\n"
971 "loc_FF8C4B38:\n"
972 "B loc_FF8C4BF4\n"
973 "loc_FF8C4B3C:\n"
974 "B loc_FF8C4C24\n"
975 "loc_FF8C4B40:\n"
976 "B loc_FF8C4C54\n"
977 "loc_FF8C4B44:\n"
978 "B loc_FF8C4C54\n"
979 "loc_FF8C4B48:\n"
980 "B loc_FF8C4C80\n"
981 "loc_FF8C4B4C:\n"
982 "B loc_FF8C4C80\n"
983 "loc_FF8C4B50:\n"
984 "B loc_FF8C4C5C\n"
985
986 "loc_FF8C4B54:\n"
987 "B loc_FF8C4C64\n"
988
989
990 "loc_FF8C4B58:\n"
991 "BL sub_FF8C11B8\n"
992 "B loc_FF8C4C80\n"
993 "loc_FF8C4B60:\n"
994 "BL sub_FF8C143C\n"
995 "B loc_FF8C4C80\n"
996 "loc_FF8C4B68:\n"
997 "BL sub_FF8C1644\n"
998 "B loc_FF8C4C80\n"
999 "loc_FF8C4B70:\n"
1000 "BL sub_FF8C18BC\n"
1001 "B loc_FF8C4C80\n"
1002 "loc_FF8C4B78:\n"
1003 "BL sub_FF8C1AB4\n"
1004 "B loc_FF8C4C80\n"
1005 "loc_FF8C4B80:\n"
1006
1007
1008 "BL sub_FF8C1D70_my\n"
1009
1010
1011
1012 "MOV R4, #0\n"
1013 "B loc_FF8C4C80\n"
1014
1015 "loc_FF8C4B8C:\n"
1016 "BL sub_FF8C1EB0\n"
1017 "B loc_FF8C4C80\n"
1018 "loc_FF8C4B94:\n"
1019 "LDRH R1, [R0,#4]\n"
1020 "STRH R1, [SP,#0x10]\n"
1021 "LDRH R1, [R5,#2]\n"
1022 "STRH R1, [SP,#0x12]\n"
1023 "LDRH R1, [R5,#4]\n"
1024 "STRH R1, [SP,#0x14]\n"
1025 "LDRH R1, [R5,#6]\n"
1026 "STRH R1, [SP,#0x16]\n"
1027 "LDRH R1, [R0,#0xC]\n"
1028 "STRH R1, [SP,#0x18]\n"
1029 "BL sub_FF8C5B54\n"
1030 "B loc_FF8C4C80\n"
1031 "loc_FF8C4BC4:\n"
1032 "LDRH R1, [R0,#4]\n"
1033 "STRH R1, [SP,#0x10]\n"
1034 "LDRH R1, [R5,#2]\n"
1035 "STRH R1, [SP,#0x12]\n"
1036 "LDRH R1, [R5,#4]\n"
1037 "STRH R1, [SP,#0x14]\n"
1038 "LDRH R1, [R5,#6]\n"
1039 "STRH R1, [SP,#0x16]\n"
1040 "LDRH R1, [R5,#8]\n"
1041 "STRH R1, [SP,#0x18]\n"
1042 "BL sub_FF8C5CB4\n"
1043 "B loc_FF8C4C80\n"
1044 "loc_FF8C4BF4:\n"
1045 "LDRH R1, [R5]\n"
1046 "STRH R1, [SP,#0x10]\n"
1047 "LDRH R1, [R0,#6]\n"
1048 "STRH R1, [SP,#0x12]\n"
1049 "LDRH R1, [R5,#4]\n"
1050 "STRH R1, [SP,#0x14]\n"
1051 "LDRH R1, [R5,#6]\n"
1052 "STRH R1, [SP,#0x16]\n"
1053 "LDRH R1, [R5,#8]\n"
1054 "STRH R1, [SP,#0x18]\n"
1055 "BL sub_FF8C5D60\n"
1056 "B loc_FF8C4C80\n"
1057 "loc_FF8C4C24:\n"
1058 "LDRH R1, [R5]\n"
1059 "STRH R1, [SP,#0x10]\n"
1060 "LDRH R1, [R5,#2]\n"
1061 "STRH R1, [SP,#0x12]\n"
1062 "LDRH R1, [R5,#4]\n"
1063 "STRH R1, [SP,#0x14]\n"
1064 "LDRH R1, [R5,#6]\n"
1065 "STRH R1, [SP,#0x16]\n"
1066 "LDRH R1, [R0,#0xC]\n"
1067 "STRH R1, [SP,#0x18]\n"
1068 "BL sub_FF8C5E00\n"
1069 "B loc_FF8C4C80\n"
1070 "loc_FF8C4C54:\n"
1071 "BL sub_FF8C2204\n"
1072 "B loc_FF8C4C80\n"
1073 "loc_FF8C4C5C:\n"
1074 "BL sub_FF8C27CC\n"
1075 "B loc_FF8C4C80\n"
1076 "loc_FF8C4C64:\n"
1077 "BL sub_FF8C2A08\n"
1078 "B loc_FF8C4C80\n"
1079 "loc_FF8C4C6C:\n"
1080 "BL sub_FF8C2B84\n"
1081 "B loc_FF8C4C80\n"
1082
1083
1084 "loc_FF8C4C74:\n"
1085 "BL sub_FF8C2D20\n"
1086 "B loc_FF8C4C80\n"
1087
1088
1089 "loc_FF8C4C7C:\n"
1090 "BL sub_FF8C2E84\n"
1091 "loc_FF8C4C80:\n"
1092 "LDR R0, [SP,#0x1C]\n"
1093 "LDR R1, [R0,#0x7C]\n"
1094 "LDR R3, [R0,#0x8C]\n"
1095 "LDR R2, [R0,#0x90]\n"
1096 "ADD R0, R0, #4\n"
1097 "BLX R3\n"
1098 "CMP R4, #1\n"
1099 "BNE loc_FF8C4CE8\n"
1100 "loc_FF8C4CA0:\n"
1101 "LDR R0, [SP,#0x1C]\n"
1102 "MOV R2, #0xC\n"
1103 "LDR R1, [R0,#0x7C]\n"
1104 "ADD R1, R1, R1,LSL#1\n"
1105 "ADD R0, R0, R1,LSL#2\n"
1106 "SUB R4, R0, #8\n"
1107 "LDR R0, =0x43B90\n"
1108 "ADD R1, SP, #0x10\n"
1109 "BL sub_FFB5F82C\n"
1110 "LDR R0, =0x43B9C\n"
1111 "MOV R2, #0xC\n"
1112 "ADD R1, SP, #0x10\n"
1113 "BL sub_FFB5F82C\n"
1114 "LDR R0, =0x43BA8\n"
1115 "MOV R2, #0xC\n"
1116 "MOV R1, R4\n"
1117 "BL sub_FFB5F82C\n"
1118 "B loc_FF8C4D60\n"
1119 "loc_FF8C4CE8:\n"
1120 "LDR R0, [SP,#0x1C]\n"
1121 "LDR R0, [R0]\n"
1122 "CMP R0, #0xB\n"
1123 "BNE loc_FF8C4D30\n"
1124 "MOV R3, #0\n"
1125 "STR R3, [SP]\n"
1126 "MOV R3, #1\n"
1127 "MOV R2, #1\n"
1128 "MOV R1, #1\n"
1129 "MOV R0, #0\n"
1130 "BL sub_FF8C0FC0\n"
1131 "MOV R3, #0\n"
1132 "STR R3, [SP]\n"
1133 "MOV R3, #1\n"
1134 "MOV R2, #1\n"
1135 "MOV R1, #1\n"
1136 "MOV R0, #0\n"
1137 "B loc_FF8C4D5C\n"
1138 "loc_FF8C4D30:\n"
1139 "MOV R3, #1\n"
1140 "MOV R2, #1\n"
1141 "MOV R1, #1\n"
1142 "MOV R0, #1\n"
1143 "STR R3, [SP]\n"
1144 "BL sub_FF8C0FC0\n"
1145 "MOV R3, #1\n"
1146 "MOV R2, #1\n"
1147 "MOV R1, #1\n"
1148 "MOV R0, #1\n"
1149 "STR R3, [SP]\n"
1150 "loc_FF8C4D5C:\n"
1151 "BL sub_FF8C1100\n"
1152 "loc_FF8C4D60:\n"
1153 "LDR R0, [SP,#0x1C]\n"
1154 "BL sub_FF8C5AE0\n"
1155 "B loc_FF8C477C\n"
1156 );
1157 }
1158
1159
1160 void __attribute__((naked,noinline)) sub_FF8C1D70_my(){
1161 asm volatile(
1162 "STMFD SP!, {R4-R8,LR}\n"
1163 "LDR R7, =0x4B08\n"
1164 "MOV R4, R0\n"
1165 "LDR R0, [R7,#0x1C]\n"
1166 "MOV R1, #0x3E\n"
1167 "BL sub_FF888E34\n"
1168 "LDRSH R0, [R4,#4]\n"
1169 "MOV R2, #0\n"
1170 "MOV R1, #0\n"
1171 "BL sub_FF8C0D24\n"
1172 "MOV R6, R0\n"
1173 "LDRSH R0, [R4,#6]\n"
1174 "BL sub_FF8C0E34\n"
1175 "LDRSH R0, [R4,#8]\n"
1176 "BL sub_FF8C0E8C\n"
1177 "LDRSH R0, [R4,#0xA]\n"
1178 "BL sub_FF8C0EE4\n"
1179 "LDRSH R0, [R4,#0xC]\n"
1180 "MOV R1, #0\n"
1181 "BL sub_FF8C0F3C\n"
1182 "MOV R5, R0\n"
1183 "LDR R0, [R4]\n"
1184 "LDR R8, =0x43BA8\n"
1185 "CMP R0, #0xB\n"
1186 "MOVEQ R6, #0\n"
1187 "MOVEQ R5, #0\n"
1188 "BEQ loc_FF8C1E04\n"
1189 "CMP R6, #1\n"
1190 "BNE loc_FF8C1E04\n"
1191 "LDRSH R0, [R4,#4]\n"
1192 "LDR R1, =0xFF8C0C90\n"
1193 "MOV R2, #2\n"
1194 "BL sub_FF965618\n"
1195 "STRH R0, [R4,#4]\n"
1196 "MOV R0, #0\n"
1197 "STR R0, [R7,#0x28]\n"
1198 "B loc_FF8C1E0C\n"
1199 "loc_FF8C1E04:\n"
1200 "LDRH R0, [R8]\n"
1201 "STRH R0, [R4,#4]\n"
1202 "loc_FF8C1E0C:\n"
1203 "CMP R5, #1\n"
1204 "LDRNEH R0, [R8,#8]\n"
1205 "BNE loc_FF8C1E28\n"
1206 "LDRSH R0, [R4,#0xC]\n"
1207 "LDR R1, =0xFF8C0D14\n"
1208 "MOV R2, #0x20\n"
1209 "BL sub_FF8C5B10\n"
1210 "loc_FF8C1E28:\n"
1211 "STRH R0, [R4,#0xC]\n"
1212 "LDRSH R0, [R4,#6]\n"
1213
1214 "BL sub_FF8B3AB8_my\n"
1215
1216
1217
1218 "LDRSH R0, [R4,#8]\n"
1219 "MOV R1, #1\n"
1220 "BL sub_FF8B4214\n"
1221 "MOV R1, #0\n"
1222 "ADD R0, R4, #8\n"
1223 "BL sub_FF8B429C\n"
1224 "LDRSH R0, [R4,#0xE]\n"
1225 "BL sub_FF8BBF28\n"
1226 "LDR R4, =0xBB8\n"
1227 "CMP R6, #1\n"
1228 "BNE loc_FF8C1E80\n"
1229 "LDR R0, [R7,#0x1C]\n"
1230 "MOV R2, R4\n"
1231 "MOV R1, #2\n"
1232 "BL sub_FF888D40\n"
1233 "TST R0, #1\n"
1234 "LDRNE R1, =0x5A7\n"
1235 "LDRNE R0, =0xFF8C1310\n"
1236 "BLNE sub_FF81EB14\n"
1237 "loc_FF8C1E80:\n"
1238 "CMP R5, #1\n"
1239 "LDMNEFD SP!, {R4-R8,PC}\n"
1240 "LDR R0, [R7,#0x1C]\n"
1241 "MOV R2, R4\n"
1242 "MOV R1, #0x20\n"
1243 "BL sub_FF888D40\n"
1244 "TST R0, #1\n"
1245 "LDRNE R1, =0x5AC\n"
1246 "LDRNE R0, =0xFF8C1310\n"
1247 "LDMNEFD SP!, {R4-R8,LR}\n"
1248 "BNE sub_FF81EB14\n"
1249 "LDMFD SP!, {R4-R8,PC}\n"
1250 );
1251 }
1252
1253
1254 void __attribute__((naked,noinline)) sub_FF8B3AB8_my(){
1255 asm volatile(
1256 "STMFD SP!, {R4-R6,LR}\n"
1257 "LDR R5, =0x47FC\n"
1258 "MOV R4, R0\n"
1259 "LDR R0, [R5,#4]\n"
1260 "CMP R0, #1\n"
1261 "LDRNE R1, =0x146\n"
1262 "LDRNE R0, =0xFF8B38BC\n"
1263 "BLNE sub_FF81EB14\n"
1264 "CMN R4, #0xC00\n"
1265 "LDREQSH R4, [R5,#2]\n"
1266 "CMN R4, #0xC00\n"
1267 "MOVEQ R1, #0x14C\n"
1268 "LDREQ R0, =0xFF8B38BC\n"
1269 "STRH R4, [R5,#2]\n"
1270 "BLEQ sub_FF81EB14\n"
1271 "MOV R0, R4\n"
1272
1273
1274 "BL apex2us\n"
1275
1276 "MOV R4, R0\n"
1277
1278
1279
1280 "MOV R0, R4\n"
1281 "BL sub_FF904E1C\n"
1282 "TST R0, #1\n"
1283 "LDRNE R1, =0x151\n"
1284 "LDMNEFD SP!, {R4-R6,LR}\n"
1285 "LDRNE R0, =0xFF8B38BC\n"
1286 "BNE sub_FF81EB14\n"
1287 "LDMFD SP!, {R4-R6,PC}\n"
1288 );
1289 }
1290
1291
1292 void __attribute__((naked,noinline)) sub_FF972E14_my(){
1293 asm volatile(
1294 "STMFD SP!, {R3-R7,LR}\n"
1295 "LDR R4, =0x3A678\n"
1296 "LDR R1, [R0,#8]\n"
1297 "LDR R2, [R4]\n"
1298 "LDR R7, =0x420C\n"
1299 "LDR R6, =0x3A5AC\n"
1300 "LDR R5, =0x75D4\n"
1301 "CMP R2, #0\n"
1302 "BEQ loc_FF972E98\n"
1303 "ORR R1, R1, #0x20\n"
1304 "STR R1, [R0,#8]\n"
1305 "LDR R0, [R0,#0x18]\n"
1306 "LDR R1, =0xF973234\n"
1307 "MOV R2, #2\n"
1308 "BL sub_FF8DC748\n"
1309
1310 " LDR R0, [R4,#0x14]\n"
1311 " CMP R0, #0\n"
1312 " BNE loc_FF972E6C\n"
1313 " LDRH R0, [R6]\n"
1314 " CMP R0, R7\n"
1315 " MOVNE R0, #5\n"
1316 " STRNE R0, [R5]\n"
1317 "loc_FF972E6C:\n"
1318 " BL sub_FF973E70\n"
1319 " LDR R3, =0x3C1\n"
1320 " LDR R2, =0x3A98\n"
1321 " STR R3, [SP]\n"
1322 " LDR R3, =0xFF972CF4\n"
1323 " MOV R1, #2\n"
1324 " BL sub_FF884110\n"
1325 " TST R0, #1\n"
1326 " BEQ locret_FF972EF8\n"
1327 " LDR R1, =0x3C2\n"
1328 " B loc_FF972EF0\n"
1329 "loc_FF972E98:\n"
1330 " ORR R1, R1, #0x10\n"
1331 " STR R1, [R0,#8]\n"
1332 " LDR R0, =0xFF973234\n"
1333 " MOV R1, #1\n"
1334 " BL sub_FF847894\n"
1335 " LDR R0, [R4,#0x10]\n"
1336 " CMP R0, #0\n"
1337 " BNE loc_FF972EC8\n"
1338 " LDRH R0, [R6]\n"
1339 " CMP R0, R7\n"
1340 " MOVNE R0, #2\n"
1341 " STRNE R0, [R5]\n"
1342 "loc_FF972EC8:\n"
1343 " BL sub_FF973E70\n"
1344 " LDR R3, =0x3D2\n"
1345 " LDR R2, =0xEA60\n"
1346 " STR R3, [SP]\n"
1347 " LDR R3, =0xFF972CF4\n"
1348 " MOV R1, #1\n"
1349 " BL sub_FF884110\n"
1350 " TST R0, #1\n"
1351 " BEQ locret_FF972EF8\n"
1352 " LDR R1, =0x3D3\n"
1353 "loc_FF972EF0:\n"
1354 " LDR R3, =0xFF972CF4\n"
1355 " BL sub_FF81EB14\n"
1356 "locret_FF972EF8:\n"
1357 " LDMFD SP!, {R3-R7,PC}\n"
1358
1359
1360 );
1361 }
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386