This source file includes following definitions.
- capt_seq_task
- sub_FFD37A98_my
- sub_FFD34704_my
- exp_drv_task
- sub_FFCE2274_my
- sub_FFC974F0_my
1 #include "lolevel.h"
2 #include "platform.h"
3 #include "core.h"
4
5 static long *nrflag = (long*)0x6164;
6
7 #include "../../../generic/capt_seq.c"
8
9 void __attribute__((naked,noinline)) capt_seq_task(){
10 asm volatile (
11 "STMFD SP!, {R4,LR}\n"
12 "SUB SP, SP, #4\n"
13 "MOV R4, SP\n"
14 "B loc_FFD34C78\n"
15 "loc_FFD34B20:\n"
16 "LDR R2, [SP,#0xC-0xC]\n"
17 "LDR R3, [R2]\n"
18 "MOV R0, R2\n"
19 "CMP R3, #0x15\n"
20 "LDRLS PC, [PC,R3,LSL#2]\n"
21 "B loc_FFD34C4C\n"
22 ".long loc_FFD34B90\n"
23 ".long loc_FFD34B9C\n"
24 ".long loc_FFD34BA4\n"
25 ".long loc_FFD34BB4\n"
26 ".long loc_FFD34BAC\n"
27 ".long loc_FFD34BBC\n"
28 ".long loc_FFD34BC4\n"
29 ".long loc_FFD34BD0\n"
30 ".long loc_FFD34BD8\n"
31 ".long loc_FFD34BE4\n"
32 ".long loc_FFD34BEC\n"
33 ".long loc_FFD34BF4\n"
34 ".long loc_FFD34BFC\n"
35 ".long loc_FFD34C04\n"
36 ".long loc_FFD34C0C\n"
37 ".long loc_FFD34C18\n"
38 ".long loc_FFD34C20\n"
39 ".long loc_FFD34C28\n"
40 ".long loc_FFD34C30\n"
41 ".long loc_FFD34C3C\n"
42 ".long loc_FFD34C44\n"
43 ".long loc_FFD34C60\n"
44 "loc_FFD34B90:\n"
45 "BL sub_FFD3646C\n"
46 "BL shooting_expo_param_override\n"
47 "BL sub_FFD3279C\n"
48 "B loc_FFD34C5C\n"
49 "loc_FFD34B9C:\n"
50
51 "BL sub_FFD34704_my\n"
52 "B loc_FFD34C5C\n"
53 "loc_FFD34BA4:\n"
54 "BL sub_FFD36804\n"
55 "B loc_FFD34C5C\n"
56 "loc_FFD34BAC:\n"
57 "BL sub_FFD356C0\n"
58 "B loc_FFD34C5C\n"
59 "loc_FFD34BB4:\n"
60 "BL sub_FFD35AF8\n"
61 "B loc_FFD34C5C\n"
62 "loc_FFD34BBC:\n"
63 "BL sub_FFD35B08\n"
64 "B loc_FFD34C5C\n"
65 "loc_FFD34BC4:\n"
66 "BL sub_FFD36550\n"
67 "BL sub_FFD3279C\n"
68 "B loc_FFD34C5C\n"
69 "loc_FFD34BD0:\n"
70 "BL sub_FFD34810\n"
71 "B loc_FFD34C5C\n"
72 "loc_FFD34BD8:\n"
73 "BL sub_FFD365B8\n"
74 "BL sub_FFD3279C\n"
75 "B loc_FFD34C5C\n"
76 "loc_FFD34BE4:\n"
77 "BL sub_FFD35AF8\n"
78 "B loc_FFD34C5C\n"
79 "loc_FFD34BEC:\n"
80 "BL sub_FFD36D94\n"
81 "B loc_FFD34C5C\n"
82 "loc_FFD34BF4:\n"
83 "BL sub_FFD370D8\n"
84 "B loc_FFD34C5C\n"
85 "loc_FFD34BFC:\n"
86 "BL sub_FFD3715C\n"
87 "B loc_FFD34C5C\n"
88 "loc_FFD34C04:\n"
89 "BL sub_FFD3724C\n"
90 "B loc_FFD34C5C\n"
91 "loc_FFD34C0C:\n"
92 "MOV R0, #0\n"
93 "BL sub_FFD37314\n"
94 "B loc_FFD34C5C\n"
95 "loc_FFD34C18:\n"
96 "BL sub_FFD37480\n"
97 "B loc_FFD34C5C\n"
98 "loc_FFD34C20:\n"
99 "BL sub_FFD37514\n"
100 "B loc_FFD34C5C\n"
101 "loc_FFD34C28:\n"
102 "BL sub_FFD375D4\n"
103 "B loc_FFD34C5C\n"
104 "loc_FFD34C30:\n"
105 "MOV R0, #1\n"
106 "BL sub_FFD37314\n"
107 "B loc_FFD34C5C\n"
108 "loc_FFD34C3C:\n"
109 "BL sub_FFD376C0\n"
110 "B loc_FFD34C5C\n"
111 "loc_FFD34C44:\n"
112 "BL sub_FFD37714\n"
113 "B loc_FFD34C5C\n"
114 "loc_FFD34C4C:\n"
115 "MOV R1, #0x36C\n"
116 "LDR R0, =0xFFD34490\n"
117 "ADD R1, R1, #1\n"
118 "BL sub_FFC03AE8\n"
119 "loc_FFD34C5C:\n"
120 "LDR R2, [SP,#0xC-0xC]\n"
121 "loc_FFD34C60:\n"
122 "LDR R3, =0x64CD4\n"
123 "LDR R1, [R2,#4]\n"
124 "LDR R0, [R3]\n"
125 "BL sub_FFC0F9A8\n"
126 "LDR R0, [SP,#0xC-0xC]\n"
127 "BL sub_FFD3450C\n"
128 "loc_FFD34C78:\n"
129 "LDR R3, =0x64CD8\n"
130 "MOV R1, R4\n"
131 "LDR R0, [R3]\n"
132 "MOV R2, #0\n"
133 "BL sub_FFC100C0\n"
134 "TST R0, #1\n"
135 "BEQ loc_FFD34B20\n"
136 "MOV R1, #0x2A4\n"
137 "LDR R0, =0xFFD34490\n"
138 "ADD R1, R1, #3\n"
139 "BL sub_FFC03AE8\n"
140 "BL sub_FFC1161C\n"
141 "ADD SP, SP, #4\n"
142 "LDMFD SP!, {R4,PC}\n"
143 );
144 }
145
146
147
148
149
150 void __attribute__((naked,noinline)) sub_FFD37A98_my(long p)
151 {
152 (void)p;
153 asm volatile (
154 "STMFD SP!, {R4-R6,LR}\n"
155 "LDR R3, =0x64D4C\n"
156 "LDR R5, =0x6160\n"
157 "SUB SP, SP, #4\n"
158
159 "MVN R1, #0\n"
160 "STR R0, [R5]\n"
161 "LDR R0, [R3]\n"
162 "BL sub_FFC0FB44\n"
163 "LDR R3, =0x8F360\n"
164 "LDR R0, [R3,#0x74]\n"
165
166 "BL sub_FFD379EC\n"
167 "LDR R3, =0x6168\n"
168 "LDR R0, [R3]\n"
169 "BL sub_FFC8C4CC\n"
170 "BL wait_until_remote_button_is_released\n"
171 "BL capt_seq_hook_set_nr\n"
172 "LDR PC,=0xFFD37AD4\n"
173 );
174 }
175
176
177
178 void __attribute__((naked,noinline)) sub_FFD34704_my(long p)
179 {
180 (void)p;
181 asm volatile (
182 "STMFD SP!, {R4,LR}\n"
183 "LDR R4, [R0,#0xC]\n"
184 "BL sub_FFD3CE2C\n"
185 "CMP R0, #0\n"
186 "BNE sub_FFD3471C\n"
187 "BL sub_FFD3CE38\n"
188 "sub_FFD3471C:\n"
189 "MOV R0, #0xC\n"
190 "BL sub_FFD3CE4C\n"
191 "TST R0, #1\n"
192 "MOV R2, R4\n"
193 "MOV R0, R4\n"
194 "BEQ sub_FFD34744\n"
195 "MOV R0, #1\n"
196 "MOV R1, R0\n"
197 "LDMFD SP!, {R4,LR}\n"
198 "B sub_FFD32BF8\n"
199 "sub_FFD34744:\n"
200 "BL sub_FFD36814\n"
201 "TST R0, #1\n"
202 "MOV R2, R4\n"
203 "MOV R1, #1\n"
204 "BEQ sub_FFD34760\n"
205 "LDMFD SP!, {R4,LR}\n"
206 "B sub_FFD32BF8\n"
207 "sub_FFD34760:\n"
208 "BL sub_FFD74E34\n"
209 "BL sub_FFC146EC\n"
210 "LDR R2, =0x8F2A4\n"
211 "ADD R3, R4, R4,LSL#1\n"
212 "STR R0, [R2,R3,LSL#5]\n"
213 "MOV R0, R4\n"
214 "BL sub_FFD38204\n"
215 "BL sub_FFD36D54\n"
216 "BL sub_FFD36CDC\n"
217 "MOV R0, R4\n"
218 "BL sub_FFD37A98_my\n"
219
220 "BL capt_seq_hook_raw_here\n"
221 "MOV R2, R4\n"
222 "MOV R1, #1\n"
223 "BL sub_FFD32BF8\n"
224 "LDMFD SP!, {R4,LR}\n"
225 "B sub_FFD37C90\n"
226
227 );
228 }
229
230
231
232 void __attribute__((naked,noinline)) exp_drv_task(){
233 asm volatile(
234 "STMFD SP!, {R4-R8,LR}\n"
235 "SUB SP, SP, #0x14\n"
236 "MOV R7, SP\n"
237 "B loc_FFCE3DD0\n"
238 "loc_FFCE39E4:\n"
239 "CMP R2, #0x1F\n"
240 "BNE loc_FFCE39FC\n"
241 "LDR R0, [R12,#0x50]\n"
242 "MOV LR, PC\n"
243 "LDR PC, [R12,#0x4C]\n"
244 "B loc_FFCE3A5C\n"
245 "loc_FFCE39FC:\n"
246 "CMP R2, #0x1A\n"
247 "BNE loc_FFCE3A10\n"
248 "MOV R0, R12\n"
249 "BL sub_FFCE3904\n"
250 "B loc_FFCE3A4C\n"
251 "loc_FFCE3A10:\n"
252 "CMP R2, #0x1B\n"
253 "BNE loc_FFCE3A24\n"
254 "MOV R0, R12\n"
255 "BL sub_FFCE3940\n"
256 "B loc_FFCE3A4C\n"
257 "loc_FFCE3A24:\n"
258 "SUB R3, R2, #0x1C\n"
259 "CMP R3, #1\n"
260 "BHI loc_FFCE3A3C\n"
261 "MOV R0, R12\n"
262 "BL sub_FFCE397C\n"
263 "B loc_FFCE3A4C\n"
264 "loc_FFCE3A3C:\n"
265 "CMP R2, #0x1E\n"
266 "BNE loc_FFCE3A68\n"
267 "BL sub_FFC97868\n"
268 "BL sub_FFC99658\n"
269 "loc_FFCE3A4C:\n"
270 "LDR R3, [SP]\n"
271 "LDR R0, [R3,#0x50]\n"
272 "MOV LR, PC\n"
273 "LDR PC, [R3,#0x4C]\n"
274 "loc_FFCE3A5C:\n"
275 "LDR R0, [SP]\n"
276 "BL sub_FFCE16C4\n"
277 "B loc_FFCE3DD0\n"
278 "loc_FFCE3A68:\n"
279 "CMP R2, #0xD\n"
280 "MOV R8, #1\n"
281 "BNE loc_FFCE3AD8\n"
282 "LDR R1, [R12,#0x40]\n"
283 "ADD R1, R1, R1,LSL#1\n"
284 "ADD R1, R12, R1,LSL#1\n"
285 "ADD R6, SP, #0xC\n"
286 "SUB R1, R1, #2\n"
287 "MOV R2, #6\n"
288 "MOV R0, R6\n"
289 "BL sub_FFEC3588\n"
290 "LDR R0, [SP]\n"
291 "BL sub_FFCE2B94\n"
292 "LDR R3, [SP]\n"
293 "LDR R1, [R3,#0x40]\n"
294 "LDR R2, [R3,#0x50]\n"
295 "ADD R0, R3, #4\n"
296 "MOV LR, PC\n"
297 "LDR PC, [R3,#0x4C]\n"
298 "LDR R0, [SP]\n"
299 "BL sub_FFCE2D18\n"
300 "LDR R3, [SP]\n"
301 "ADD R0, R3, #4\n"
302 "LDR R1, [R3,#0x40]\n"
303 "LDR R2, [R3,#0x58]\n"
304 "MOV LR, PC\n"
305 "LDR PC, [R3,#0x54]\n"
306 "B loc_FFCE3D80\n"
307 "loc_FFCE3AD8:\n"
308 "SUB R3, R2, #0xE\n"
309 "CMP R3, #1\n"
310 "BHI loc_FFCE3B94\n"
311 "ADD R6, SP, #0xC\n"
312 "ADD R5, SP, #4\n"
313 "MOV R0, R12\n"
314 "MOV R1, R6\n"
315 "MOV R2, R5\n"
316 "BL sub_FFCE2D94\n"
317 "MOV R4, R0\n"
318 "CMP R4, #5\n"
319 "CMPNE R4, #1\n"
320 "BNE loc_FFCE3B2C\n"
321 "LDR R12, [SP]\n"
322 "MOV R0, R5\n"
323 "LDR R1, [R12,#0x40]\n"
324 "MOV R2, R4\n"
325 "LDR R3, [R12,#0x50]\n"
326 "MOV LR, PC\n"
327 "LDR PC, [R12,#0x4C]\n"
328 "B loc_FFCE3B64\n"
329 "loc_FFCE3B2C:\n"
330 "CMP R4, #6\n"
331 "CMPNE R4, #2\n"
332 "BNE loc_FFCE3B74\n"
333 "LDR R12, [SP]\n"
334 "MOV R0, R5\n"
335 "MOV R1, R8\n"
336 "MOV R2, R4\n"
337 "LDR R3, [R12,#0x50]\n"
338 "MOV LR, PC\n"
339 "LDR PC, [R12,#0x4C]\n"
340 "MOV R1, R6\n"
341 "LDR R0, [SP]\n"
342 "MOV R2, R5\n"
343 "BL sub_FFCE3740\n"
344 "loc_FFCE3B64:\n"
345 "MOV R1, R4\n"
346 "LDR R0, [SP]\n"
347 "BL sub_FFCE38E4\n"
348 "B loc_FFCE3D80\n"
349 "loc_FFCE3B74:\n"
350 "LDR R12, [SP]\n"
351 "MOV R2, R4\n"
352 "ADD R0, R12, #4\n"
353 "LDR R1, [R12,#0x40]\n"
354 "LDR R3, [R12,#0x50]\n"
355 "MOV LR, PC\n"
356 "LDR PC, [R12,#0x4C]\n"
357 "B loc_FFCE3D80\n"
358 "loc_FFCE3B94:\n"
359 "SUB R3, R2, #0x17\n"
360 "CMP R3, #1\n"
361 "BHI loc_FFCE3BEC\n"
362 "LDR R1, [R12,#0x40]\n"
363 "ADD R1, R1, R1,LSL#1\n"
364 "ADD R1, R12, R1,LSL#1\n"
365 "ADD R6, SP, #0xC\n"
366 "SUB R1, R1, #2\n"
367 "MOV R2, #6\n"
368 "MOV R0, R6\n"
369 "BL sub_FFEC3588\n"
370 "LDR R0, [SP]\n"
371 "BL sub_FFCE26C8\n"
372 "LDR R3, [SP]\n"
373 "ADD R0, R3, #4\n"
374 "LDR R1, [R3,#0x40]\n"
375 "LDR R2, [R3,#0x50]\n"
376 "MOV LR, PC\n"
377 "LDR PC, [R3,#0x4C]\n"
378 "LDR R0, [SP]\n"
379 "BL sub_FFCE2898\n"
380 "B loc_FFCE3D80\n"
381 "loc_FFCE3BEC:\n"
382 "ADD R6, SP, #0xC\n"
383 "ADD R1, R12, #4\n"
384 "MOV R2, #6\n"
385 "MOV R0, R6\n"
386 "BL sub_FFEC3588\n"
387 "LDR R12, [SP]\n"
388 "LDR R3, [R12]\n"
389 "MOV R2, R12\n"
390 "CMP R3, #0x19\n"
391 "LDRLS PC, [PC,R3,LSL#2]\n"
392 "B loc_FFCE3D6C\n"
393 ".long loc_FFCE3C80\n"
394 ".long loc_FFCE3C8C\n"
395 ".long loc_FFCE3C98\n"
396 ".long loc_FFCE3C98\n"
397 ".long loc_FFCE3C80\n"
398 ".long loc_FFCE3C8C\n"
399 ".long loc_FFCE3C98\n"
400 ".long loc_FFCE3C98\n"
401 ".long loc_FFCE3CBC\n"
402 ".long loc_FFCE3CBC\n"
403 ".long loc_FFCE3D40\n"
404 ".long loc_FFCE3D4C\n"
405 ".long loc_FFCE3D5C\n"
406 ".long loc_FFCE3D6C\n"
407 ".long loc_FFCE3D6C\n"
408 ".long loc_FFCE3D6C\n"
409 ".long loc_FFCE3CA4\n"
410 ".long loc_FFCE3CB0\n"
411 ".long loc_FFCE3CCC\n"
412 ".long loc_FFCE3CD8\n"
413 ".long loc_FFCE3D00\n"
414 ".long loc_FFCE3D28\n"
415 ".long loc_FFCE3D28\n"
416 ".long loc_FFCE3D6C\n"
417 ".long loc_FFCE3D6C\n"
418 ".long loc_FFCE3D34\n"
419 "loc_FFCE3C80:\n"
420 "MOV R0, R2\n"
421 "BL sub_FFCE1C68\n"
422 "B loc_FFCE3D68\n"
423 "loc_FFCE3C8C:\n"
424 "MOV R0, R2\n"
425 "BL sub_FFCE1DA4\n"
426 "B loc_FFCE3D68\n"
427 "loc_FFCE3C98:\n"
428 "MOV R0, R2\n"
429 "BL sub_FFCE1ED4\n"
430 "B loc_FFCE3D68\n"
431 "loc_FFCE3CA4:\n"
432 "MOV R0, R2\n"
433 "BL sub_FFCE20A8\n"
434 "B loc_FFCE3D68\n"
435 "loc_FFCE3CB0:\n"
436 "MOV R0, R2\n"
437 "BL sub_FFCE21B0\n"
438 "B loc_FFCE3D68\n"
439 "loc_FFCE3CBC:\n"
440 "MOV R0, R2\n"
441 "BL sub_FFCE2274_my\n"
442 "MOV R8, #0\n"
443 "B loc_FFCE3D68\n"
444 "loc_FFCE3CCC:\n"
445 "MOV R0, R2\n"
446 "BL sub_FFCE2334\n"
447 "B loc_FFCE3D68\n"
448 "loc_FFCE3CD8:\n"
449 "MOV R0, R2\n"
450 "LDRH R2, [R2,#4]\n"
451 "LDR R3, =0x401A4\n"
452 "STRH R2, [SP,#0xC]\n"
453 "LDRH R1, [R3,#4]\n"
454 "STRH R1, [SP,#0x10]\n"
455 "LDRH R3, [R3,#2]\n"
456 "STRH R3, [SP,#0xE]\n"
457 "BL sub_FFCE24BC\n"
458 "B loc_FFCE3D68\n"
459 "loc_FFCE3D00:\n"
460 "LDR R3, =0x401A4\n"
461 "LDRH R1, [R3]\n"
462 "STRH R1, [SP,#0xC]\n"
463 "MOV R0, R2\n"
464 "LDRH R2, [R2,#6]\n"
465 "STRH R2, [SP,#0xE]\n"
466 "LDRH R3, [R3,#4]\n"
467 "STRH R3, [SP,#0x10]\n"
468 "BL sub_FFCE2550\n"
469 "B loc_FFCE3D68\n"
470 "loc_FFCE3D28:\n"
471 "MOV R0, R2\n"
472 "BL sub_FFCE25D0\n"
473 "B loc_FFCE3D68\n"
474 "loc_FFCE3D34:\n"
475 "MOV R0, R2\n"
476 "BL sub_FFCE2928\n"
477 "B loc_FFCE3D68\n"
478 "loc_FFCE3D40:\n"
479 "MOV R0, R2\n"
480 "BL sub_FFCE29FC\n"
481 "B loc_FFCE3D68\n"
482 "loc_FFCE3D4C:\n"
483 "MOV R0, R2\n"
484 "MOV R1, #0\n"
485 "BL sub_FFCE2AE8\n"
486 "B loc_FFCE3D68\n"
487 "loc_FFCE3D5C:\n"
488 "MOV R0, R2\n"
489 "MOV R1, #1\n"
490 "BL sub_FFCE2AE8\n"
491 "loc_FFCE3D68:\n"
492 "LDR R12, [SP]\n"
493 "loc_FFCE3D6C:\n"
494 "ADD R0, R12, #4\n"
495 "LDR R1, [R12,#0x40]\n"
496 "LDR R2, [R12,#0x50]\n"
497 "MOV LR, PC\n"
498 "LDR PC, [R12,#0x4C]\n"
499 "loc_FFCE3D80:\n"
500 "CMP R8, #1\n"
501 "BNE loc_FFCE3DA8\n"
502 "LDR R1, [SP]\n"
503 "LDR R3, [R1,#0x40]\n"
504 "ADD R3, R3, R3,LSL#1\n"
505 "ADD R1, R1, R3,LSL#1\n"
506 "MOV R0, R6\n"
507 "SUB R1, R1, #2\n"
508 "BL sub_FFCE1AD8\n"
509 "B loc_FFCE3DC8\n"
510 "loc_FFCE3DA8:\n"
511 "MOV R0, #1\n"
512 "MOV R1, R0\n"
513 "MOV R2, R0\n"
514 "BL sub_FFCE1A7C\n"
515 "MOV R0, #1\n"
516 "MOV R1, R0\n"
517 "MOV R2, R0\n"
518 "BL sub_FFCE1B94\n"
519 "loc_FFCE3DC8:\n"
520 "LDR R0, [SP]\n"
521 "BL sub_FFCE16C4\n"
522 "loc_FFCE3DD0:\n"
523 "LDR R3, =0x4019C\n"
524 "MOV R2, #0\n"
525 "LDR R0, [R3]\n"
526 "MOV R1, R7\n"
527 "BL sub_FFC100C0\n"
528 "LDR R12, [SP]\n"
529 "LDR R2, [R12]\n"
530 "CMP R2, #0x20\n"
531 "BNE loc_FFCE39E4\n"
532 "MOV R0, R12\n"
533 "BL sub_FFCE16C4\n"
534 "LDR R3, =0x40198\n"
535 "MOV R1, #1\n"
536 "LDR R0, [R3]\n"
537 "BL sub_FFC0F9A8\n"
538 "BL sub_FFC1161C\n"
539 "ADD SP, SP, #0x14\n"
540 "LDMFD SP!, {R4-R8,PC}\n"
541 );
542 }
543
544
545 void __attribute__((naked,noinline)) sub_FFCE2274_my(){
546 asm volatile(
547 "STMFD SP!, {R4,R5,LR}\n"
548 "LDR R3, =0x40198\n"
549 "MOV R4, R0\n"
550 "MOV R1, #0xE\n"
551 "LDR R0, [R3]\n"
552 "BL sub_FFC0FB44\n"
553 "MOV R1, #0\n"
554 "LDRSH R0, [R4,#4]\n"
555 "BL sub_FFCE17A0\n"
556 "MOV R5, R0\n"
557 "LDRSH R0, [R4,#6]\n"
558 "BL sub_FFCE1914\n"
559 "LDRSH R0, [R4,#8]\n"
560 "BL sub_FFCE19B0\n"
561 "LDR R3, [R4]\n"
562 "CMP R3, #9\n"
563 "MOVEQ R5, #0\n"
564 "CMP R5, #1\n"
565 "LDR R1, =0xFFCE16F8\n"
566 "MOV R2, #2\n"
567 "BNE loc_FFCE22E0\n"
568 "LDRSH R0, [R4,#4]\n"
569 "BL sub_FFE6D32C\n"
570 "LDR R2, =0x401C4\n"
571 "MOV R3, #0\n"
572 "STR R3, [R2]\n"
573 "B loc_FFCE22E4\n"
574 "loc_FFCE22E0:\n"
575 "BL sub_FFCE1A4C\n"
576 "loc_FFCE22E4:\n"
577 "STRH R0, [R4,#4]\n"
578 "LDRSH R0, [R4,#6]\n"
579 "BL sub_FFC974F0_my\n"
580 "LDRSH R0, [R4,#8]\n"
581 "MOV R1, #1\n"
582 "BL sub_FFC99218\n"
583 "MOV R1, #0\n"
584 "ADD R0, R4, #8\n"
585 "BL sub_FFC992D8\n"
586 "CMP R5, #1\n"
587 "MOV R1, #2\n"
588 "MOV R2, #0\n"
589 "LDMNEFD SP!, {R4,R5,PC}\n"
590 "LDR R3, =0x40198\n"
591 "LDR R0, [R3]\n"
592 "LDMFD SP!, {R4,R5,LR}\n"
593 "B sub_FFC0F998\n"
594 );
595 }
596
597 void __attribute__((naked,noinline)) sub_FFC974F0_my(){
598 asm volatile(
599 "STMFD SP!, {R4,LR}\n"
600 "LDR R3, =0x5334\n"
601 "LDR R2, [R3]\n"
602 "MOV R1, #0x114\n"
603 "MOV R3, R0,LSL#16\n"
604 "CMP R2, #1\n"
605 "ADD R1, R1, #1\n"
606 "LDR R0, =0xFFC96F6C\n"
607 "MOV R4, R3,ASR#16\n"
608 "BEQ loc_FFC9751C\n"
609 "BL sub_FFC03AE8\n"
610 "loc_FFC9751C:\n"
611 "MOV R1, #0x118\n"
612 "CMN R4, #0xC00\n"
613 "LDR R3, =0x32DAE\n"
614 "LDR R0, =0xFFC96F6C\n"
615 "ADD R1, R1, #3\n"
616 "LDREQSH R4, [R3]\n"
617 "LDRNE R3, =0x32DAE\n"
618 "CMN R4, #0xC00\n"
619 "STRH R4, [R3]\n"
620 "BNE loc_FFC97548\n"
621 "BL sub_FFC03AE8\n"
622 "loc_FFC97548:\n"
623 "MOV R0, R4\n"
624 "BL apex2us\n"
625 "MOV R4, R0\n"
626
627 "MOV R0, R4\n"
628 "BL sub_FFC96B24\n"
629 "TST R0, #1\n"
630 "MOV R1, #0x120\n"
631 "LDR R0, =0xFFC96F6C\n"
632 "LDMEQFD SP!, {R4,PC}\n"
633 "LDMFD SP!, {R4,LR}\n"
634 "B sub_FFC03AE8\n"
635 );
636 }
637