This source file includes following definitions.
- sub_FF97DD78_my
- sub_FF97A124_my
- capt_seq_task
- exp_drv_task
- sub_FF91174C_my
- sub_FF8B524C_my
1 #include "lolevel.h"
2 #include "platform.h"
3 #include "core.h"
4
5 static long *nrflag = (long*)0x6688;
6
7 #include "../../../generic/capt_seq.c"
8
9 void __attribute__((naked,noinline)) sub_FF97DD78_my(long p)
10 {
11 (void)p;
12 asm volatile (
13 "STMFD SP!, {R4-R6,LR}\n"
14 "LDR R3, =0x6193C\n"
15 "LDR R5, =0x6684\n"
16 "SUB SP, SP, #4\n"
17 "LDR R1, =0xFFFFFFFF\n"
18 "STR R0, [R5]\n"
19 "LDR R0, [R3]\n"
20 "BL sub_FF81FF40\n"
21 "LDR R3, =0x92DE0\n"
22 "LDR R0, [R3,#0x74]\n"
23
24 "BL sub_FF97DCCC\n"
25
26 "BL capt_seq_hook_set_nr\n"
27 "LDR R3, =0x668C\n"
28 "LDR R0, [R3]\n"
29
30 "B sub_FF97DDB0\n"
31 );
32 }
33
34 void __attribute__((naked,noinline)) sub_FF97A124_my(long p)
35 {
36 (void)p;
37 asm volatile (
38 "STMFD SP!, {R4-R7,LR}\n"
39 "LDR R4, [R0,#0xC]\n"
40 "BL sub_FF983D84\n"
41 "CMP R0, #0\n"
42 "BNE loc_FF97A13C\n"
43 "BL sub_FF983D90\n"
44 "loc_FF97A13C:\n"
45 "LDR R1, =0x92DE0\n"
46 "MOV R3, #0x8000\n"
47 "LDRH R2, [R1]\n"
48 "ADD R3, R3, #7\n"
49 "CMP R2, R3\n"
50 "BNE loc_FF97A198\n"
51 "LDRH R3, [R1,#0x80]\n"
52 "CMP R3, #3\n"
53 "BEQ loc_FF97A198\n"
54 "LDRH R3, [R1,#0x7E]\n"
55 "CMP R3, #0\n"
56 "BNE loc_FF97A198\n"
57 "LDRH R3, [R1,#0x7A]\n"
58 "CMP R3, #1\n"
59 "BNE loc_FF97A198\n"
60 "LDR R2, =0x92E80\n"
61 "LDR R3, [R2,#0x1C]\n"
62 "CMP R3, #0\n"
63 "BNE loc_FF97A198\n"
64 "LDR R3, [R2,#0x18]\n"
65 "CMP R3, #0\n"
66 "BNE loc_FF97A198\n"
67 "BL sub_FF97D9C4\n"
68 "loc_FF97A198:\n"
69 "MOV R0, #0xC\n"
70 "BL sub_FF983DA4\n"
71 "TST R0, #1\n"
72 "BEQ loc_FF97A1BC\n"
73 "MOV R0, #1\n"
74 "loc_FF97A1AC:\n"
75 "MOV R2, R4\n"
76 "MOV R1, #1\n"
77 "LDMFD SP!, {R4-R7,LR}\n"
78 "B sub_FF9783E4\n"
79 "loc_FF97A1BC:\n"
80 "MOV R0, #2\n"
81 "LDR R6, =0x92D20\n"
82 "BL sub_FFB01384\n"
83 "ADD R3, R4, R4,LSL#1\n"
84 "MOV R5, R3,LSL#5\n"
85 "ADD R7, R6, #8\n"
86 "LDR R3, [R7,R5]\n"
87 "CMP R3, #0\n"
88 "BEQ loc_FF97A1E4\n"
89 "BL sub_FF962E94\n"
90 "loc_FF97A1E4:\n"
91 "MOV R0, R4\n"
92 "BL sub_FF97C7B8\n"
93 "MOV R0, R4\n"
94 "BL sub_FF97C7F4\n"
95 "TST R0, #1\n"
96 "BNE loc_FF97A1AC\n"
97 "BL sub_FF9C0724\n"
98 "BL sub_FF824B88\n"
99 "ADD R3, R6, #4\n"
100 "STR R0, [R3,R5]\n"
101 "MOV R0, R4\n"
102 "BL sub_FF97E4FC\n"
103 "BL sub_FF97CD9C\n"
104 "BL sub_FF97CD38\n"
105 "MOV R0, R4\n"
106 "BL sub_FF97DD78_my\n"
107 "BL capt_seq_hook_raw_here\n"
108 "MOV R1, #1\n"
109 "MOV R2, R4\n"
110 "BL sub_FF9783E4\n"
111 "BL sub_FF97DF88\n"
112 "LDR R3, [R7,R5]\n"
113 "CMP R3, #0\n"
114 "BEQ loc_FF97A244\n"
115 "BL sub_FF962EB4\n"
116 "loc_FF97A244:\n"
117 "LDR R1, =0x92DE0\n"
118 "MOV R3, #0x8000\n"
119 "LDRH R2, [R1]\n"
120 "ADD R3, R3, #7\n"
121 "CMP R2, R3\n"
122 "LDMNEFD SP!, {R4-R7,PC}\n"
123 "LDRH R3, [R1,#0x80]\n"
124 "CMP R3, #3\n"
125 "LDMEQFD SP!, {R4-R7,PC}\n"
126 "LDRH R3, [R1,#0x7E]\n"
127 "CMP R3, #0\n"
128 "LDMNEFD SP!, {R4-R7,PC}\n"
129 "LDRH R3, [R1,#0x7A]\n"
130 "CMP R3, #1\n"
131 "LDMNEFD SP!, {R4-R7,PC}\n"
132 "LDR R2, =0x92E80\n"
133 "LDR R3, [R2,#0x1C]\n"
134 "CMP R3, #0\n"
135 "LDMNEFD SP!, {R4-R7,PC}\n"
136 "LDR R3, [R2,#0x18]\n"
137 "CMP R3, #0\n"
138 "LDMNEFD SP!, {R4-R7,PC}\n"
139 "MOV R0, R4\n"
140 "LDMFD SP!, {R4-R7,LR}\n"
141 "B sub_FF97D970\n"
142 );
143 }
144
145 void __attribute__((naked,noinline)) capt_seq_task()
146 {
147 asm volatile (
148 "STMFD SP!, {R4,LR}\n"
149 "SUB SP, SP, #4\n"
150 "MOV R4, SP\n"
151 "B loc_FF97A8F8\n"
152 "loc_FF97A630:\n"
153 "LDR R1, [SP,#0xC-0xC]\n"
154 "LDR R3, [R1]\n"
155 "MOV R0, R1\n"
156 "CMP R3, #0x15\n"
157 "LDRLS PC, [PC,R3,LSL#2]\n"
158 "B loc_FF97A8D0\n"
159 ".long loc_FF97A6A0\n"
160 ".long loc_FF97A6AC\n"
161 ".long loc_FF97A6B4\n"
162 ".long loc_FF97A720\n"
163 ".long loc_FF97A718\n"
164 ".long loc_FF97A784\n"
165 ".long loc_FF97A7E8\n"
166 ".long loc_FF97A7F4\n"
167 ".long loc_FF97A7FC\n"
168 ".long loc_FF97A808\n"
169 ".long loc_FF97A810\n"
170 ".long loc_FF97A818\n"
171 ".long loc_FF97A820\n"
172 ".long loc_FF97A828\n"
173 ".long loc_FF97A830\n"
174 ".long loc_FF97A83C\n"
175 ".long loc_FF97A844\n"
176 ".long loc_FF97A84C\n"
177 ".long loc_FF97A854\n"
178 ".long loc_FF97A860\n"
179 ".long loc_FF97A868\n"
180 ".long loc_FF97A870\n"
181 "loc_FF97A6A0:\n"
182 "BL sub_FF97C09C\n"
183 "BL shooting_expo_param_override\n"
184 "BL sub_FF977E9C\n"
185 "B loc_FF97A8DC\n"
186 "loc_FF97A6AC:\n"
187 "BL sub_FF97A124_my\n"
188 "B loc_FF97A8DC\n"
189 "loc_FF97A6B4:\n"
190 "LDR R1, =0x92DE0\n"
191 "MOV R3, #0x8000\n"
192 "LDRH R2, [R1]\n"
193 "ADD R3, R3, #7\n"
194 "CMP R2, R3\n"
195 "BNE loc_FF97A710\n"
196 "LDRH R3, [R1,#0x80]\n"
197 "CMP R3, #3\n"
198 "BEQ loc_FF97A710\n"
199 "LDRH R3, [R1,#0x7E]\n"
200 "CMP R3, #0\n"
201 "BNE loc_FF97A710\n"
202 "LDRH R3, [R1,#0x7A]\n"
203 "CMP R3, #1\n"
204 "BNE loc_FF97A710\n"
205 "LDR R2, =0x92E80\n"
206 "LDR R3, [R2,#0x1C]\n"
207 "CMP R3, #0\n"
208 "BNE loc_FF97A710\n"
209 "LDR R3, [R2,#0x18]\n"
210 "CMP R3, #0\n"
211 "BNE loc_FF97A710\n"
212 "BL sub_FF97D9C4\n"
213 "loc_FF97A710:\n"
214 "BL sub_FF97C7A8\n"
215 "B loc_FF97A8DC\n"
216 "loc_FF97A718:\n"
217 "BL sub_FF97B384\n"
218 "B loc_FF97A8DC\n"
219 "loc_FF97A720:\n"
220 "LDR R1, =0x92DE0\n"
221 "MOV R3, #0x8000\n"
222 "LDRH R2, [R1]\n"
223 "ADD R3, R3, #7\n"
224 "CMP R2, R3\n"
225 "BNE loc_FF97A77C\n"
226 "LDRH R3, [R1,#0x80]\n"
227 "CMP R3, #3\n"
228 "BEQ loc_FF97A77C\n"
229 "LDRH R3, [R1,#0x7E]\n"
230 "CMP R3, #0\n"
231 "BNE loc_FF97A77C\n"
232 "LDRH R3, [R1,#0x7A]\n"
233 "CMP R3, #1\n"
234 "BNE loc_FF97A77C\n"
235 "LDR R2, =0x92E80\n"
236 "LDR R3, [R2,#0x1C]\n"
237 "CMP R3, #0\n"
238 "BNE loc_FF97A77C\n"
239 "LDR R3, [R2,#0x18]\n"
240 "CMP R3, #0\n"
241 "BNE loc_FF97A77C\n"
242 "BL sub_FF97D9C4\n"
243 "loc_FF97A77C:\n"
244 "BL sub_FF97B724\n"
245 "B loc_FF97A8DC\n"
246 "loc_FF97A784:\n"
247 "LDR R1, =0x92DE0\n"
248 "MOV R3, #0x8000\n"
249 "LDRH R2, [R1]\n"
250 "ADD R3, R3, #7\n"
251 "CMP R2, R3\n"
252 "BNE loc_FF97A7E0\n"
253 "LDRH R3, [R1,#0x80]\n"
254 "CMP R3, #3\n"
255 "BEQ loc_FF97A7E0\n"
256 "LDRH R3, [R1,#0x7E]\n"
257 "CMP R3, #0\n"
258 "BNE loc_FF97A7E0\n"
259 "LDRH R3, [R1,#0x7A]\n"
260 "CMP R3, #1\n"
261 "BNE loc_FF97A7E0\n"
262 "LDR R2, =0x92E80\n"
263 "LDR R3, [R2,#0x1C]\n"
264 "CMP R3, #0\n"
265 "BNE loc_FF97A7E0\n"
266 "LDR R3, [R2,#0x18]\n"
267 "CMP R3, #0\n"
268 "BNE loc_FF97A7E0\n"
269 "BL sub_FF97D9C4\n"
270 "loc_FF97A7E0:\n"
271 "BL sub_FF97B734\n"
272 "B loc_FF97A8DC\n"
273 "loc_FF97A7E8:\n"
274 "BL sub_FF97C180\n"
275 "BL sub_FF977E9C\n"
276 "B loc_FF97A8DC\n"
277 "loc_FF97A7F4:\n"
278 "BL sub_FF97A320\n"
279 "B loc_FF97A8DC\n"
280 "loc_FF97A7FC:\n"
281 "BL sub_FF97C1E8\n"
282 "BL sub_FF977E9C\n"
283 "B loc_FF97A8DC\n"
284 "loc_FF97A808:\n"
285 "BL sub_FF97B724\n"
286 "B loc_FF97A8DC\n"
287 "loc_FF97A810:\n"
288 "BL sub_FF97CDDC\n"
289 "B loc_FF97A8DC\n"
290 "loc_FF97A818:\n"
291 "BL sub_FF97D120\n"
292 "B loc_FF97A8DC\n"
293 "loc_FF97A820:\n"
294 "BL sub_FF97D1A4\n"
295 "B loc_FF97A8DC\n"
296 "loc_FF97A828:\n"
297 "BL sub_FF97D2A0\n"
298 "B loc_FF97A8DC\n"
299 "loc_FF97A830:\n"
300 "MOV R0, #0\n"
301 "BL sub_FF97D368\n"
302 "B loc_FF97A8DC\n"
303 "loc_FF97A83C:\n"
304 "BL sub_FF97D504\n"
305 "B loc_FF97A8DC\n"
306 "loc_FF97A844:\n"
307 "BL sub_FF97D598\n"
308 "B loc_FF97A8DC\n"
309 "loc_FF97A84C:\n"
310 "BL sub_FF97D654\n"
311 "B loc_FF97A8DC\n"
312 "loc_FF97A854:\n"
313 "MOV R0, #1\n"
314 "BL sub_FF97D368\n"
315 "B loc_FF97A8DC\n"
316 "loc_FF97A860:\n"
317 "BL sub_FF97D740\n"
318 "B loc_FF97A8DC\n"
319 "loc_FF97A868:\n"
320 "BL sub_FF97D810\n"
321 "B loc_FF97A8DC\n"
322 "loc_FF97A870:\n"
323 "LDR R0, =0x92DE0\n"
324 "MOV R3, #0x8000\n"
325 "LDRH R2, [R0]\n"
326 "ADD R3, R3, #7\n"
327 "CMP R2, R3\n"
328 "BNE loc_FF97A8E0\n"
329 "LDRH R3, [R0,#0x80]\n"
330 "CMP R3, #3\n"
331 "BEQ loc_FF97A8E0\n"
332 "LDRH R3, [R0,#0x7E]\n"
333 "CMP R3, #0\n"
334 "BNE loc_FF97A8E0\n"
335 "LDRH R3, [R0,#0x7A]\n"
336 "CMP R3, #1\n"
337 "BNE loc_FF97A8E0\n"
338 "LDR R2, =0x92E80\n"
339 "LDR R3, [R2,#0x1C]\n"
340 "CMP R3, #0\n"
341 "BNE loc_FF97A8E0\n"
342 "LDR R3, [R2,#0x18]\n"
343 "CMP R3, #0\n"
344 "BNE loc_FF97A8E0\n"
345 "BL sub_FF97D9C4\n"
346 "B loc_FF97A8DC\n"
347 "loc_FF97A8D0:\n"
348 "MOV R1, #0x36C\n"
349 "LDR R0, =0xFF979EB0\n"
350 "BL sub_FF813B80\n"
351 "loc_FF97A8DC:\n"
352 "LDR R1, [SP,#0xC-0xC]\n"
353 "loc_FF97A8E0:\n"
354 "LDR R3, =0x618C4\n"
355 "LDR R1, [R1,#4]\n"
356 "LDR R0, [R3]\n"
357 "BL sub_FF81FDA4\n"
358 "LDR R0, [SP,#0xC-0xC]\n"
359 "BL sub_FF979F2C\n"
360 "loc_FF97A8F8:\n"
361 "LDR R3, =0x618C8\n"
362 "MOV R1, R4\n"
363 "LDR R0, [R3]\n"
364 "MOV R2, #0\n"
365 "BL sub_FF8204BC\n"
366 "TST R0, #1\n"
367 "BEQ loc_FF97A630\n"
368 "MOV R1, #0x2A4\n"
369 "LDR R0, =0xFF979EB0\n"
370 "ADD R1, R1, #2\n"
371 "BL sub_FF813B80\n"
372 "BL sub_FF821A18\n"
373 "ADD SP, SP, #4\n"
374 "LDMFD SP!, {R4,PC}\n"
375 );
376 }
377
378
379 void __attribute__((naked,noinline)) exp_drv_task(){
380 asm volatile(
381 "STMFD SP!, {R4-R8,LR}\n"
382 "SUB SP, SP, #0x14\n"
383 "MOV R7, SP\n"
384 "B loc_FF913654\n"
385 "loc_FF913268:\n"
386 "CMP R2, #0x1F\n"
387 "BNE loc_FF913280\n"
388 "LDR R0, [R12,#0x50]\n"
389 "MOV LR, PC\n"
390 "LDR PC, [R12,#0x4C]\n"
391 "B loc_FF9132E0\n"
392 "loc_FF913280:\n"
393 "CMP R2, #0x1A\n"
394 "BNE loc_FF913294\n"
395 "MOV R0, R12\n"
396 "BL sub_FF913188\n"
397 "B loc_FF9132D0\n"
398 "loc_FF913294:\n"
399 "CMP R2, #0x1B\n"
400 "BNE loc_FF9132A8\n"
401 "MOV R0, R12\n"
402 "BL sub_FF9131C4\n"
403 "B loc_FF9132D0\n"
404 "loc_FF9132A8:\n"
405 "SUB R3, R2, #0x1C\n"
406 "CMP R3, #1\n"
407 "BHI loc_FF9132C0\n"
408 "MOV R0, R12\n"
409 "BL sub_FF913200\n"
410 "B loc_FF9132D0\n"
411 "loc_FF9132C0:\n"
412 "CMP R2, #0x1E\n"
413 "BNE loc_FF9132EC\n"
414 "BL sub_FF8B55C4\n"
415 "BL sub_FF8B73B4\n"
416 "loc_FF9132D0:\n"
417 "LDR R3, [SP]\n"
418 "LDR R0, [R3,#0x50]\n"
419 "MOV LR, PC\n"
420 "LDR PC, [R3,#0x4C]\n"
421 "loc_FF9132E0:\n"
422 "LDR R0, [SP]\n"
423 "BL sub_FF910B94\n"
424 "B loc_FF913654\n"
425 "loc_FF9132EC:\n"
426 "CMP R2, #0xD\n"
427 "MOV R8, #1\n"
428 "BNE loc_FF91335C\n"
429 "LDR R1, [R12,#0x40]\n"
430 "ADD R1, R1, R1,LSL#1\n"
431 "ADD R1, R12, R1,LSL#1\n"
432 "ADD R6, SP, #0xC\n"
433 "SUB R1, R1, #2\n"
434 "MOV R2, #6\n"
435 "MOV R0, R6\n"
436 "BL sub_FFB4F230\n"
437 "LDR R0, [SP]\n"
438 "BL sub_FF912158\n"
439 "LDR R3, [SP]\n"
440 "LDR R1, [R3,#0x40]\n"
441 "LDR R2, [R3,#0x50]\n"
442 "ADD R0, R3, #4\n"
443 "MOV LR, PC\n"
444 "LDR PC, [R3,#0x4C]\n"
445 "LDR R0, [SP]\n"
446 "BL sub_FF9122DC\n"
447 "LDR R3, [SP]\n"
448 "ADD R0, R3, #4\n"
449 "LDR R1, [R3,#0x40]\n"
450 "LDR R2, [R3,#0x58]\n"
451 "MOV LR, PC\n"
452 "LDR PC, [R3,#0x54]\n"
453 "B loc_FF913604\n"
454 "loc_FF91335C:\n"
455 "SUB R3, R2, #0xE\n"
456 "CMP R3, #1\n"
457 "BHI loc_FF913418\n"
458 "ADD R6, SP, #0xC\n"
459 "ADD R5, SP, #4\n"
460 "MOV R0, R12\n"
461 "MOV R1, R6\n"
462 "MOV R2, R5\n"
463 "BL sub_FF912358\n"
464 "MOV R4, R0\n"
465 "CMP R4, #5\n"
466 "CMPNE R4, #1\n"
467 "BNE loc_FF9133B0\n"
468 "LDR R12, [SP]\n"
469 "MOV R0, R5\n"
470 "LDR R1, [R12,#0x40]\n"
471 "MOV R2, R4\n"
472 "LDR R3, [R12,#0x50]\n"
473 "MOV LR, PC\n"
474 "LDR PC, [R12,#0x4C]\n"
475 "B loc_FF9133E8\n"
476 "loc_FF9133B0:\n"
477 "CMP R4, #6\n"
478 "CMPNE R4, #2\n"
479 "BNE loc_FF9133F8\n"
480 "LDR R12, [SP]\n"
481 "MOV R0, R5\n"
482 "MOV R1, R8\n"
483 "MOV R2, R4\n"
484 "LDR R3, [R12,#0x50]\n"
485 "MOV LR, PC\n"
486 "LDR PC, [R12,#0x4C]\n"
487 "MOV R1, R6\n"
488 "LDR R0, [SP]\n"
489 "MOV R2, R5\n"
490 "BL sub_FF912FC4\n"
491 "loc_FF9133E8:\n"
492 "MOV R1, R4\n"
493 "LDR R0, [SP]\n"
494 "BL sub_FF913168\n"
495 "B loc_FF913604\n"
496 "loc_FF9133F8:\n"
497 "LDR R12, [SP]\n"
498 "MOV R2, R4\n"
499 "ADD R0, R12, #4\n"
500 "LDR R1, [R12,#0x40]\n"
501 "LDR R3, [R12,#0x50]\n"
502 "MOV LR, PC\n"
503 "LDR PC, [R12,#0x4C]\n"
504 "B loc_FF913604\n"
505 "loc_FF913418:\n"
506 "SUB R3, R2, #0x17\n"
507 "CMP R3, #1\n"
508 "BHI loc_FF913470\n"
509 "LDR R1, [R12,#0x40]\n"
510 "ADD R1, R1, R1,LSL#1\n"
511 "ADD R1, R12, R1,LSL#1\n"
512 "ADD R6, SP, #0xC\n"
513 "SUB R1, R1, #2\n"
514 "MOV R2, #6\n"
515 "MOV R0, R6\n"
516 "BL sub_FFB4F230\n"
517 "LDR R0, [SP]\n"
518 "BL sub_FF911BC4\n"
519 "LDR R3, [SP]\n"
520 "ADD R0, R3, #4\n"
521 "LDR R1, [R3,#0x40]\n"
522 "LDR R2, [R3,#0x50]\n"
523 "MOV LR, PC\n"
524 "LDR PC, [R3,#0x4C]\n"
525 "LDR R0, [SP]\n"
526 "BL sub_FF911E5C\n"
527 "B loc_FF913604\n"
528 "loc_FF913470:\n"
529 "ADD R6, SP, #0xC\n"
530 "ADD R1, R12, #4\n"
531 "MOV R2, #6\n"
532 "MOV R0, R6\n"
533 "BL sub_FFB4F230\n"
534 "LDR R12, [SP]\n"
535 "LDR R3, [R12]\n"
536 "MOV R2, R12\n"
537 "CMP R3, #0x19\n"
538 "LDRLS PC, [PC,R3,LSL#2]\n"
539 "B loc_FF9135F0\n"
540 ".long loc_FF913504\n"
541 ".long loc_FF913510\n"
542 ".long loc_FF91351C\n"
543 ".long loc_FF91351C\n"
544 ".long loc_FF913504\n"
545 ".long loc_FF913510\n"
546 ".long loc_FF91351C\n"
547 ".long loc_FF91351C\n"
548 ".long loc_FF913540\n"
549 ".long loc_FF913540\n"
550 ".long loc_FF9135C4\n"
551 ".long loc_FF9135D0\n"
552 ".long loc_FF9135E0\n"
553 ".long loc_FF9135F0\n"
554 ".long loc_FF9135F0\n"
555 ".long loc_FF9135F0\n"
556 ".long loc_FF913528\n"
557 ".long loc_FF913534\n"
558 ".long loc_FF913550\n"
559 ".long loc_FF91355C\n"
560 ".long loc_FF913584\n"
561 ".long loc_FF9135AC\n"
562 ".long loc_FF9135AC\n"
563 ".long loc_FF9135F0\n"
564 ".long loc_FF9135F0\n"
565 ".long loc_FF9135B8\n"
566 "loc_FF913504:\n"
567 "MOV R0, R2\n"
568 "BL sub_FF911140\n"
569 "B loc_FF9135EC\n"
570 "loc_FF913510:\n"
571 "MOV R0, R2\n"
572 "BL sub_FF91127C\n"
573 "B loc_FF9135EC\n"
574 "loc_FF91351C:\n"
575 "MOV R0, R2\n"
576 "BL sub_FF9113AC\n"
577 "B loc_FF9135EC\n"
578 "loc_FF913528:\n"
579 "MOV R0, R2\n"
580 "BL sub_FF911580\n"
581 "B loc_FF9135EC\n"
582 "loc_FF913534:\n"
583 "MOV R0, R2\n"
584 "BL sub_FF911688\n"
585 "B loc_FF9135EC\n"
586 "loc_FF913540:\n"
587 "MOV R0, R2\n"
588 "BL sub_FF91174C_my\n"
589 "MOV R8, #0\n"
590 "B loc_FF9135EC\n"
591 "loc_FF913550:\n"
592 "MOV R0, R2\n"
593 "BL sub_FF91180C\n"
594 "B loc_FF9135EC\n"
595 "loc_FF91355C:\n"
596 "MOV R0, R2\n"
597 "LDRH R2, [R2,#4]\n"
598 "LDR R3, =0x3C7DC\n"
599 "STRH R2, [SP,#0xC]\n"
600 "LDRH R1, [R3,#4]\n"
601 "STRH R1, [SP,#0x10]\n"
602 "LDRH R3, [R3,#2]\n"
603 "STRH R3, [SP,#0xE]\n"
604 "BL sub_FF911994\n"
605 "B loc_FF9135EC\n"
606 "loc_FF913584:\n"
607 "LDR R3, =0x3C7DC\n"
608 "LDRH R1, [R3]\n"
609 "STRH R1, [SP,#0xC]\n"
610 "MOV R0, R2\n"
611 "LDRH R2, [R2,#6]\n"
612 "STRH R2, [SP,#0xE]\n"
613 "LDRH R3, [R3,#4]\n"
614 "STRH R3, [SP,#0x10]\n"
615 "BL sub_FF911A28\n"
616 "B loc_FF9135EC\n"
617 "loc_FF9135AC:\n"
618 "MOV R0, R2\n"
619 "BL sub_FF911AA8\n"
620 "B loc_FF9135EC\n"
621 "loc_FF9135B8:\n"
622 "MOV R0, R2\n"
623 "BL sub_FF911EEC\n"
624 "B loc_FF9135EC\n"
625 "loc_FF9135C4:\n"
626 "MOV R0, R2\n"
627 "BL sub_FF911FC0\n"
628 "B loc_FF9135EC\n"
629 "loc_FF9135D0:\n"
630 "MOV R0, R2\n"
631 "MOV R1, #0\n"
632 "BL sub_FF9120AC\n"
633 "B loc_FF9135EC\n"
634 "loc_FF9135E0:\n"
635 "MOV R0, R2\n"
636 "MOV R1, #1\n"
637 "BL sub_FF9120AC\n"
638 "loc_FF9135EC:\n"
639 "LDR R12, [SP]\n"
640 "loc_FF9135F0:\n"
641 "ADD R0, R12, #4\n"
642 "LDR R1, [R12,#0x40]\n"
643 "LDR R2, [R12,#0x50]\n"
644 "MOV LR, PC\n"
645 "LDR PC, [R12,#0x4C]\n"
646 "loc_FF913604:\n"
647 "CMP R8, #1\n"
648 "BNE loc_FF91362C\n"
649 "LDR R1, [SP]\n"
650 "LDR R3, [R1,#0x40]\n"
651 "ADD R3, R3, R3,LSL#1\n"
652 "ADD R1, R1, R3,LSL#1\n"
653 "MOV R0, R6\n"
654 "SUB R1, R1, #2\n"
655 "BL sub_FF910FA8\n"
656 "B loc_FF91364C\n"
657 "loc_FF91362C:\n"
658 "MOV R0, #1\n"
659 "MOV R1, R0\n"
660 "MOV R2, R0\n"
661 "BL sub_FF910F4C\n"
662 "MOV R0, #1\n"
663 "MOV R1, R0\n"
664 "MOV R2, R0\n"
665 "BL sub_FF911068\n"
666 "loc_FF91364C:\n"
667 "LDR R0, [SP]\n"
668 "BL sub_FF910B94\n"
669 "loc_FF913654:\n"
670 "LDR R3, =0x3C7D4\n"
671 "MOV R2, #0\n"
672 "LDR R0, [R3]\n"
673 "MOV R1, R7\n"
674 "BL sub_FF8204BC\n"
675 "LDR R12, [SP]\n"
676 "LDR R2, [R12]\n"
677 "CMP R2, #0x20\n"
678 "BNE loc_FF913268\n"
679 "MOV R0, R12\n"
680 "BL sub_FF910B94\n"
681 "LDR R3, =0x3C7D0\n"
682 "MOV R1, #1\n"
683 "LDR R0, [R3]\n"
684 "BL sub_FF81FDA4\n"
685 "BL sub_FF821A18\n"
686 "ADD SP, SP, #0x14\n"
687 "LDMFD SP!, {R4-R8,PC}\n"
688 );
689 }
690
691 void __attribute__((naked,noinline)) sub_FF91174C_my(){
692 asm volatile(
693 "STMFD SP!, {R4,R5,LR}\n"
694 "LDR R3, =0x3C7D0\n"
695 "MOV R4, R0\n"
696 "MOV R1, #0xE\n"
697 "LDR R0, [R3]\n"
698 "BL sub_FF81FF40\n"
699 "MOV R1, #0\n"
700 "LDRSH R0, [R4,#4]\n"
701 "BL sub_FF910C70\n"
702 "MOV R5, R0\n"
703 "LDRSH R0, [R4,#6]\n"
704 "BL sub_FF910DE4\n"
705 "LDRSH R0, [R4,#8]\n"
706 "BL sub_FF910E80\n"
707 "LDR R3, [R4]\n"
708 "CMP R3, #9\n"
709 "MOVEQ R5, #0\n"
710 "CMP R5, #1\n"
711 "LDR R1, =0xFF910BC8\n"
712 "MOV R2, #2\n"
713 "BNE loc_FF9117B8\n"
714 "LDRSH R0, [R4,#4]\n"
715 "BL sub_FFAF63DC\n"
716 "LDR R2, =0x3C7FC\n"
717 "MOV R3, #0\n"
718 "STR R3, [R2]\n"
719 "B loc_FF9117BC\n"
720 "loc_FF9117B8:\n"
721 "BL sub_FF910F1C\n"
722 "loc_FF9117BC:\n"
723 "STRH R0, [R4,#4]\n"
724 "LDRSH R0, [R4,#6]\n"
725 "BL sub_FF8B524C_my\n"
726 "LDRSH R0, [R4,#8]\n"
727 "MOV R1, #1\n"
728 "BL sub_FF8B6F74\n"
729 "MOV R1, #0\n"
730 "ADD R0, R4, #8\n"
731 "BL sub_FF8B7034\n"
732 "CMP R5, #1\n"
733 "MOV R1, #2\n"
734 "MOV R2, #0\n"
735 "LDMNEFD SP!, {R4,R5,PC}\n"
736 "LDR R3, =0x3C7D0\n"
737 "LDR R0, [R3]\n"
738 "LDMFD SP!, {R4,R5,LR}\n"
739 "B sub_FF81FD94\n"
740 );
741 }
742
743 void __attribute__((naked,noinline)) sub_FF8B524C_my(){
744 asm volatile(
745 "STMFD SP!, {R4,LR}\n"
746 "LDR R3, =0x55A8\n"
747 "LDR R2, [R3]\n"
748 "MOV R1, #0x114\n"
749 "MOV R3, R0,LSL#16\n"
750 "CMP R2, #1\n"
751 "ADD R1, R1, #1\n"
752 "LDR R0, =0xFF8B4CC8\n"
753 "MOV R4, R3,ASR#16\n"
754 "BEQ loc_FF8B5278\n"
755 "BL sub_FF813B80\n"
756 "loc_FF8B5278:\n"
757 "MOV R1, #0x118\n"
758 "CMN R4, #0xC00\n"
759 "LDR R3, =0x33E56\n"
760 "LDR R0, =0xFF8B4CC8\n"
761 "ADD R1, R1, #3\n"
762 "LDREQSH R4, [R3]\n"
763 "LDRNE R3, =0x33E56\n"
764 "CMN R4, #0xC00\n"
765 "STRH R4, [R3]\n"
766 "BNE loc_FF8B52A4\n"
767 "BL sub_FF813B80\n"
768 "loc_FF8B52A4:\n"
769 "MOV R0, R4\n"
770
771 "BL apex2us\n"
772 "MOV R4, R0\n"
773 "BL sub_FF8DD89C\n"
774 "MOV R0, R4\n"
775 "BL sub_FF8B4880\n"
776 "TST R0, #1\n"
777 "MOV R1, #0x120\n"
778 "LDR R0, =0xFF8B4CC8\n"
779 "LDMEQFD SP!, {R4,PC}\n"
780 "LDMFD SP!, {R4,LR}\n"
781 "B sub_FF813B80\n"
782 );
783 }