This source file includes following definitions.
- sub_FFD399A8_my
- sub_FFD36838_my
- capt_seq_task
- exp_drv_task
- sub_FFCE1FBC_my
- sub_FFC97A3C_my
1 #include "lolevel.h"
2 #include "platform.h"
3 #include "core.h"
4
5 static long *nrflag = (long*)0x6CE0;
6
7 #include "../../../generic/capt_seq.c"
8
9 void __attribute__((naked,noinline)) sub_FFD399A8_my(long p)
10 {
11 (void)p;
12 asm volatile (
13 "STMFD SP!, {R4,R5,LR}\n"
14 "LDR R3, =0x73D34\n"
15 "LDR R5, =0x6CDC\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_FFC0FA60\n"
21 "BL sub_FFD3F7C0\n"
22 "BL wait_until_remote_button_is_released\n"
23 "LDR R0, [R0,#0x7C]\n"
24 "BL sub_FFD3991C\n"
25 "BL capt_seq_hook_set_nr\n"
26 "LDR R3, =0x6CE4\n"
27 "LDR R0, [R3]\n"
28 "BL sub_FFC8C410\n"
29
30 "B sub_FFD399E4\n"
31 );
32 }
33
34 void __attribute__((naked,noinline)) sub_FFD36838_my(long p)
35 {
36 (void)p;
37 asm volatile (
38 "STMFD SP!, {R4,R5,LR}\n"
39 "LDR R5, [R0,#0xC]\n"
40 "BL sub_FFD3F564\n"
41 "CMP R0, #0\n"
42 "BNE loc_FFD36850\n"
43 "BL sub_FFD3F570\n"
44
45 "loc_FFD36850:\n"
46 "MOV R0, R5\n"
47 "BL sub_FFD387B4\n"
48 "TST R0, #1\n"
49 "MOV R2, R5\n"
50 "MOV R1, #1\n"
51 "BEQ loc_FFD36870\n"
52 "LDMFD SP!, {R4,R5,LR}\n"
53 "B sub_FFD34D90\n"
54
55 "loc_FFD36870:\n"
56 "BL sub_FFD7480C\n"
57 "BL sub_FFD3417C\n"
58 "MOV R4, R0\n"
59 "BL sub_FFC143A4\n"
60 "ADD R3, R5, R5,LSL#1\n"
61 "ADD R4, R4, R3,LSL#5\n"
62 "STR R0, [R4,#4]\n"
63 "MOV R0, R5\n"
64 "BL sub_FFD3A1C0\n"
65 "BL sub_FFD38CF8\n"
66 "BL sub_FFD38C98\n"
67 "MOV R0, R5\n"
68 "BL sub_FFD399A8_my\n"
69 "BL capt_seq_hook_raw_here\n"
70 "MOV R2, R5\n"
71 "MOV R1, #1\n"
72 "BL sub_FFD34D90\n"
73 "LDMFD SP!, {R4,R5,LR}\n"
74 "B sub_FFD39BA8\n"
75 );
76 }
77
78 void __attribute__((naked,noinline)) capt_seq_task()
79 {
80 asm volatile (
81 "STMFD SP!, {R4,LR}\n"
82 "SUB SP, SP, #4\n"
83 "MOV R4, SP\n"
84 "B loc_FFD36D90\n"
85
86 "loc_FFD36C3C:\n"
87 "LDR R2, [SP,#0xC-0xC]\n"
88 "LDR R3, [R2]\n"
89 "MOV R0, R2\n"
90 "CMP R3, #0x15\n"
91 "LDRLS PC, [PC,R3,LSL#2]\n"
92 "B loc_FFD36D68\n"
93 ".long loc_FFD36CAC\n"
94 ".long loc_FFD36CB8\n"
95 ".long loc_FFD36CC0\n"
96 ".long loc_FFD36CD0\n"
97 ".long loc_FFD36CC8\n"
98 ".long loc_FFD36CD8\n"
99 ".long loc_FFD36CE0\n"
100 ".long loc_FFD36CEC\n"
101 ".long loc_FFD36CF4\n"
102 ".long loc_FFD36D00\n"
103 ".long loc_FFD36D08\n"
104 ".long loc_FFD36D10\n"
105 ".long loc_FFD36D18\n"
106 ".long loc_FFD36D20\n"
107 ".long loc_FFD36D28\n"
108 ".long loc_FFD36D34\n"
109 ".long loc_FFD36D3C\n"
110 ".long loc_FFD36D44\n"
111 ".long loc_FFD36D4C\n"
112 ".long loc_FFD36D58\n"
113 ".long loc_FFD36D60\n"
114 ".long loc_FFD36D78\n"
115
116 "loc_FFD36CAC:\n"
117 "BL sub_FFD38410\n"
118 "BL shooting_expo_param_override\n"
119 "BL sub_FFD348E8\n"
120 "B loc_FFD36D74\n"
121
122 "loc_FFD36CB8:\n"
123 "BL sub_FFD36838_my\n"
124 "B loc_FFD36D74\n"
125
126 "loc_FFD36CC0:\n"
127 "BL sub_FFD387A4\n"
128 "B loc_FFD36D74\n"
129
130 "loc_FFD36CC8:\n"
131 "BL sub_FFD376CC\n"
132 "B loc_FFD36D74\n"
133
134 "loc_FFD36CD0:\n"
135 "BL sub_FFD37728\n"
136 "B loc_FFD36D74\n"
137
138 "loc_FFD36CD8:\n"
139 "BL sub_FFD37918\n"
140 "B loc_FFD36D74\n"
141
142 "loc_FFD36CE0:\n"
143 "BL sub_FFD38504\n"
144 "BL sub_FFD348E8\n"
145 "B loc_FFD36D74\n"
146
147 "loc_FFD36CEC:\n"
148 "BL sub_FFD36920\n"
149 "B loc_FFD36D74\n"
150
151 "loc_FFD36CF4:\n"
152 "BL sub_FFD3856C\n"
153 "BL sub_FFD348E8\n"
154 "B loc_FFD36D74\n"
155
156 "loc_FFD36D00:\n"
157 "BL sub_FFD37728\n"
158 "B loc_FFD36D74\n"
159
160 "loc_FFD36D08:\n"
161 "BL sub_FFD38E30\n"
162 "B loc_FFD36D74\n"
163
164 "loc_FFD36D10:\n"
165 "BL sub_FFD390B8\n"
166 "B loc_FFD36D74\n"
167
168 "loc_FFD36D18:\n"
169 "BL sub_FFD39144\n"
170 "B loc_FFD36D74\n"
171
172 "loc_FFD36D20:\n"
173 "BL sub_FFD391FC\n"
174 "B loc_FFD36D74\n"
175
176 "loc_FFD36D28:\n"
177 "MOV R0, #0\n"
178 "BL sub_FFD392AC\n"
179 "B loc_FFD36D74\n"
180
181 "loc_FFD36D34:\n"
182 "BL sub_FFD393FC\n"
183 "B loc_FFD36D74\n"
184
185 "loc_FFD36D3C:\n"
186 "BL sub_FFD39470\n"
187 "B loc_FFD36D74\n"
188
189 "loc_FFD36D44:\n"
190 "BL sub_FFD39528\n"
191 "B loc_FFD36D74\n"
192
193 "loc_FFD36D4C:\n"
194 "MOV R0, #1\n"
195 "BL sub_FFD392AC\n"
196 "B loc_FFD36D74\n"
197
198 "loc_FFD36D58:\n"
199 "BL sub_FFD39628\n"
200 "B loc_FFD36D74\n"
201
202 "loc_FFD36D60:\n"
203 "BL sub_FFD39654\n"
204 "B loc_FFD36D74\n"
205
206 "loc_FFD36D68:\n"
207 "LDR R0, =0xFFD365BC\n"
208 "MOV R1, #0x2DC\n"
209 "BL sub_FFC03AD0\n"
210
211 "loc_FFD36D74:\n"
212 "LDR R2, [SP,#0xC-0xC]\n"
213
214 "loc_FFD36D78:\n"
215 "LDR R3, =0x73CBC\n"
216 "LDR R1, [R2,#4]\n"
217 "LDR R0, [R3]\n"
218 "BL sub_FFC0F8C4\n"
219 "LDR R0, [SP,#0xC-0xC]\n"
220 "BL sub_FFD36638\n"
221
222 "loc_FFD36D90:\n"
223 "LDR R3, =0x73CC0\n"
224 "MOV R1, R4\n"
225 "LDR R0, [R3]\n"
226 "MOV R2, #0\n"
227 "BL sub_FFC10074\n"
228 "TST R0, #1\n"
229 "BEQ loc_FFD36C3C\n"
230 "MOV R1, #0x24C\n"
231 "LDR R0, =0xFFD365BC\n"
232 "ADD R1, R1, #1\n"
233 "BL sub_FFC03AD0\n"
234 "BL sub_FFC11610\n"
235 "ADD SP, SP, #4\n"
236 "LDMFD SP!, {R4,PC}\n"
237
238 );
239 }
240
241 void __attribute__((naked,noinline)) exp_drv_task(){
242 asm volatile(
243 "STMFD SP!, {R4-R8,LR}\n"
244 "SUB SP, SP, #0x14\n"
245 "MOV R7, SP\n"
246 "B loc_FFCE34D0\n"
247 "loc_FFCE31EC:\n"
248 "CMP R2, #0x19\n"
249 "BNE loc_FFCE3204\n"
250 "LDR R0, [R12,#0x34]\n"
251 "MOV LR, PC\n"
252 "LDR PC, [R12,#0x30]\n"
253 "B loc_FFCE323C\n"
254 "loc_FFCE3204:\n"
255 "SUB R3, R2, #0x16\n"
256 "CMP R3, #1\n"
257 "BHI loc_FFCE321C\n"
258 "MOV R0, R12\n"
259 "BL sub_FFCE3184\n"
260 "B loc_FFCE322C\n"
261 "loc_FFCE321C:\n"
262 "CMP R2, #0x18\n"
263 "BNE loc_FFCE3248\n"
264 "BL sub_FFC97DA4\n"
265 "BL sub_FFC99C1C\n"
266 "loc_FFCE322C:\n"
267 "LDR R3, [SP,#0x0]\n"
268 "LDR R0, [R3,#0x34]\n"
269 "MOV LR, PC\n"
270 "LDR PC, [R3,#0x30]\n"
271 "loc_FFCE323C:\n"
272 "LDR R0, [SP,#0x0]\n"
273 "BL sub_FFCE14D4\n"
274 "B loc_FFCE34D0\n"
275 "loc_FFCE3248:\n"
276 "CMP R2, #0xC\n"
277 "MOV R8, #1\n"
278 "BNE loc_FFCE32B8\n"
279 "LDR R1, [R12,#0x24]\n"
280 "ADD R1, R1, R1,LSL#1\n"
281 "ADD R1, R12, R1,LSL#1\n"
282 "ADD R6, SP, #0xC\n"
283 "SUB R1, R1, #2\n"
284 "MOV R2, #6\n"
285 "MOV R0, R6\n"
286 "BL _memcpy\n"
287 "LDR R0, [SP,#0x0]\n"
288 "BL sub_FFCE27AC\n"
289 "LDR R3, [SP,#0x0]\n"
290 "LDR R1, [R3,#0x24]\n"
291 "LDR R2, [R3,#0x34]\n"
292 "ADD R0, R3, #4\n"
293 "MOV LR, PC\n"
294 "LDR PC, [R3,#0x30]\n"
295 "LDR R0, [SP,#0x0]\n"
296 "BL sub_FFCE2930\n"
297 "LDR R3, [SP,#0x0]\n"
298 "ADD R0, R3, #4\n"
299 "LDR R1, [R3,#0x24]\n"
300 "LDR R2, [R3,#0x3C]\n"
301 "MOV LR, PC\n"
302 "LDR PC, [R3,#0x38]\n"
303 "B loc_FFCE3480\n"
304 "loc_FFCE32B8:\n"
305 "SUB R3, R2, #0xD\n"
306 "CMP R3, #1\n"
307 "BHI loc_FFCE3338\n"
308 "ADD R6, SP, #0xC\n"
309 "ADD R5, SP, #0x4\n"
310 "MOV R0, R12\n"
311 "MOV R1, R6\n"
312 "MOV R2, R5\n"
313 "BL sub_FFCE29AC\n"
314 "MOV R4, R0\n"
315 "CMP R4, #3\n"
316 "CMPNE R4, #1\n"
317 "BNE loc_FFCE3318\n"
318 "LDR R12, [SP,#0x0]\n"
319 "MOV R0, R5\n"
320 "LDR R1, [R12,#0x24]\n"
321 "MOV R2, R4\n"
322 "LDR R3, [R12,#0x34]\n"
323 "MOV LR, PC\n"
324 "LDR PC, [R12,#0x30]\n"
325 "MOV R1, R4\n"
326 "LDR R0, [SP,#0x0]\n"
327 "BL sub_FFCE3164\n"
328 "B loc_FFCE3480\n"
329 "loc_FFCE3318:\n"
330 "LDR R12, [SP,#0x0]\n"
331 "MOV R2, R4\n"
332 "ADD R0, R12, #4\n"
333 "LDR R1, [R12,#0x24]\n"
334 "LDR R3, [R12,#0x34]\n"
335 "MOV LR, PC\n"
336 "LDR PC, [R12,#0x30]\n"
337 "B loc_FFCE3480\n"
338 "loc_FFCE3338:\n"
339 "CMP R2, #0x14\n"
340 "BNE loc_FFCE338C\n"
341 "LDR R1, [R12,#0x24]\n"
342 "ADD R1, R1, R1,LSL#1\n"
343 "ADD R1, R12, R1,LSL#1\n"
344 "ADD R6, SP, #0xC\n"
345 "SUB R1, R1, #2\n"
346 "MOV R2, #6\n"
347 "MOV R0, R6\n"
348 "BL _memcpy\n"
349 "LDR R0, [SP,#0x0]\n"
350 "BL sub_FFCE2284\n"
351 "LDR R3, [SP,#0x0]\n"
352 "ADD R0, R3, #4\n"
353 "LDR R1, [R3,#0x24]\n"
354 "LDR R2, [R3,#0x34]\n"
355 "MOV LR, PC\n"
356 "LDR PC, [R3,#0x30]\n"
357 "LDR R0, [SP,#0x0]\n"
358 "BL sub_FFCE24DC\n"
359 "B loc_FFCE3480\n"
360 "loc_FFCE338C:\n"
361 "ADD R6, SP, #0xC\n"
362 "ADD R1, R12, #4\n"
363 "MOV R0, R6\n"
364 "MOV R2, #6\n"
365 "BL _memcpy\n"
366 "LDR R12, [SP,#0x0]\n"
367 "LDR R3, [R12]\n"
368 "MOV R0, R12\n"
369 "CMP R3, #0x15\n"
370 "LDRLS PC, [PC,R3,LSL#2]\n"
371 "B loc_FFCE346C\n"
372 ".long loc_FFCE3410\n"
373 ".long loc_FFCE3418\n"
374 ".long loc_FFCE3420\n"
375 ".long loc_FFCE3420\n"
376 ".long loc_FFCE3410\n"
377 ".long loc_FFCE3418\n"
378 ".long loc_FFCE3420\n"
379 ".long loc_FFCE3420\n"
380 ".long loc_FFCE3438\n"
381 ".long loc_FFCE3438\n"
382 ".long loc_FFCE345C\n"
383 ".long loc_FFCE3464\n"
384 ".long loc_FFCE346C\n"
385 ".long loc_FFCE346C\n"
386 ".long loc_FFCE346C\n"
387 ".long loc_FFCE3428\n"
388 ".long loc_FFCE3430\n"
389 ".long loc_FFCE3444\n"
390 ".long loc_FFCE344C\n"
391 ".long loc_FFCE344C\n"
392 ".long loc_FFCE346C\n"
393 ".long loc_FFCE3454\n"
394 "loc_FFCE3410:\n"
395 "BL sub_FFCE19B0\n"
396 "B loc_FFCE3468\n"
397 "loc_FFCE3418:\n"
398 "BL sub_FFCE1AEC\n"
399 "B loc_FFCE3468\n"
400 "loc_FFCE3420:\n"
401 "BL sub_FFCE1C1C\n"
402 "B loc_FFCE3468\n"
403 "loc_FFCE3428:\n"
404 "BL sub_FFCE1DF0\n"
405 "B loc_FFCE3468\n"
406 "loc_FFCE3430:\n"
407 "BL sub_FFCE1EF8\n"
408 "B loc_FFCE3468\n"
409 "loc_FFCE3438:\n"
410 "BL sub_FFCE1FBC_my\n"
411 "MOV R8, #0\n"
412 "B loc_FFCE3468\n"
413 "loc_FFCE3444:\n"
414 "BL sub_FFCE2080\n"
415 "B loc_FFCE3468\n"
416 "loc_FFCE344C:\n"
417 "BL sub_FFCE2168\n"
418 "B loc_FFCE3468\n"
419 "loc_FFCE3454:\n"
420 "BL sub_FFCE256C\n"
421 "B loc_FFCE3468\n"
422 "loc_FFCE345C:\n"
423 "BL sub_FFCE2640\n"
424 "B loc_FFCE3468\n"
425 "loc_FFCE3464:\n"
426 "BL sub_FFCE272C\n"
427 "loc_FFCE3468:\n"
428 "LDR R12, [SP,#0x0]\n"
429 "loc_FFCE346C:\n"
430 "ADD R0, R12, #4\n"
431 "LDR R1, [R12,#0x24]\n"
432 "LDR R2, [R12,#0x34]\n"
433 "MOV LR, PC\n"
434 "LDR PC, [R12,#0x30]\n"
435 "loc_FFCE3480:\n"
436 "CMP R8, #1\n"
437 "BNE loc_FFCE34A8\n"
438 "LDR R1, [SP,#0x0]\n"
439 "LDR R3, [R1,#0x24]\n"
440 "ADD R3, R3, R3,LSL#1\n"
441 "ADD R1, R1, R3,LSL#1\n"
442 "MOV R0, R6\n"
443 "SUB R1, R1, #2\n"
444 "BL sub_FFCE1868\n"
445 "B loc_FFCE34C8\n"
446 "loc_FFCE34A8:\n"
447 "MOV R0, #1\n"
448 "MOV R1, R0\n"
449 "MOV R2, R0\n"
450 "BL sub_FFCE180C\n"
451 "MOV R0, #1\n"
452 "MOV R1, R0\n"
453 "MOV R2, R0\n"
454 "BL sub_FFCE1928\n"
455 "loc_FFCE34C8:\n"
456 "LDR R0, [SP,#0x0]\n"
457 "BL sub_FFCE14D4\n"
458 "loc_FFCE34D0:\n"
459 "LDR R3, =0x4FB70\n"
460 "MOV R2, #0\n"
461 "LDR R0, [R3]\n"
462 "MOV R1, R7\n"
463 "BL sub_FFC10074\n"
464 "LDR R12, [SP,#0x0]\n"
465 "LDR R2, [R12]\n"
466 "CMP R2, #0x1A\n"
467 "BNE loc_FFCE31EC\n"
468 "MOV R0, R12\n"
469 "BL sub_FFCE14D4\n"
470 "LDR R3, =0x4FB6C\n"
471 "MOV R1, #1\n"
472 "LDR R0, [R3]\n"
473 "BL sub_FFC0F8C4\n"
474 "BL _ExitTask\n"
475 "ADD SP, SP, #0x14\n"
476 "LDMFD SP!, {R4-R8,PC}\n"
477 );
478 }
479
480 void __attribute__((naked,noinline)) sub_FFCE1FBC_my(){
481 asm volatile(
482 "STMFD SP!, {R4,R5,LR}\n"
483 "LDR R3, =0x4FB6C\n"
484 "MOV R4, R0\n"
485 "MOV R1, #0xE\n"
486 "LDR R0, [R3]\n"
487 "BL sub_FFC0FA60\n"
488 "MOV R1, #0\n"
489 "LDRSH R0, [R4,#4]\n"
490 "BL sub_FFCE1574\n"
491 "MOV R5, R0\n"
492 "LDRSH R0, [R4,#6]\n"
493 "BL sub_FFCE16A4\n"
494 "LDRSH R0, [R4,#8]\n"
495 "BL sub_FFCE1740\n"
496 "LDR R3, [R4]\n"
497 "CMP R3, #9\n"
498 "MOVEQ R5, #0\n"
499 "CMP R5, #1\n"
500 "LDR R1, =0xFFCE1504\n"
501 "MOV R2, #2\n"
502 "BNE loc_FFCE2028\n"
503 "LDRSH R0, [R4,#4]\n"
504 "BL sub_FFE5D128\n"
505 "LDR R2, =0x4FB98\n"
506 "MOV R3, #0\n"
507 "STR R3, [R2]\n"
508 "B loc_FFCE202C\n"
509 "loc_FFCE2028:\n"
510 "BL sub_FFCE17DC\n"
511 "loc_FFCE202C:\n"
512 "STRH R0, [R4,#4]\n"
513 "LDRSH R0, [R4,#6]\n"
514 "BL sub_FFC97A3C_my\n"
515 "BL sub_FFC999C0\n"
516 "LDRSH R0, [R4,#8]\n"
517 "MOV R1, #1\n"
518 "BL sub_FFC997DC\n"
519 "MOV R1, #0\n"
520 "ADD R0, R4, #8\n"
521 "BL sub_FFC998A0\n"
522 "CMP R5, #1\n"
523 "MOV R1, #2\n"
524 "MOV R2, #0\n"
525 "LDMNEFD SP!, {R4,R5,PC}\n"
526 "LDR R3, =0x4FB6C\n"
527 "LDR R0, [R3]\n"
528 "LDMFD SP!, {R4,R5,LR}\n"
529 "B sub_FFC0F8B4\n"
530 );
531 }
532
533 void __attribute__((naked,noinline)) sub_FFC97A3C_my(){
534 asm volatile(
535 "STMFD SP!, {R4,LR}\n"
536 "LDR R3, =0x5388\n"
537 "LDR R2, [R3]\n"
538 "MOV R3, R0,LSL#16\n"
539 "CMP R2, #1\n"
540 "MOV R1, #0x110\n"
541 "LDR R0, =0xFFC973D8\n"
542 "MOV R4, R3,ASR#16\n"
543 "BEQ loc_FFC97A64\n"
544 "BL sub_FFC03AD0\n"
545 "loc_FFC97A64:\n"
546 "MOV R1, #0x114\n"
547 "CMN R4, #0xC00\n"
548 "LDR R3, =0x3609E\n"
549 "LDR R0, =0xFFC973D8\n"
550 "ADD R1, R1, #2\n"
551 "LDREQSH R4, [R3]\n"
552 "LDRNE R3, =0x3609E\n"
553 "CMN R4, #0xC00\n"
554 "STRH R4, [R3]\n"
555 "BNE loc_FFC97A90\n"
556 "BL sub_FFC03AD0\n"
557 "loc_FFC97A90:\n"
558 "MOV R0, R4\n"
559 "BL apex2us\n"
560 "BL sub_FFC96FCC\n"
561 "TST R0, #1\n"
562 "MOV R1, #0x118\n"
563 "LDR R0, =0xFFC973D8\n"
564 "LDMEQFD SP!, {R4,PC}\n"
565 "LDMFD SP!, {R4,LR}\n"
566 "B sub_FFC03AD0\n"
567 );
568 }