This source file includes following definitions.
- sub_FFD2A438_my
- sub_FFD2748C_my
- capt_seq_task
- exp_drv_task
- sub_FFCD9F2C_my
- sub_FFC92FD0_my
1 #include "lolevel.h"
2 #include "platform.h"
3 #include "core.h"
4
5 static long *nrflag = (long*)0x68D0;
6
7 #include "../../../generic/capt_seq.c"
8
9 void __attribute__((naked,noinline)) sub_FFD2A438_my(long p)
10 {
11 (void)p;
12 asm volatile (
13 " STMFD SP!, {R4,R5,LR}\n"
14 " LDR R3, =0x745E4\n"
15 " LDR R5, =0x68CC\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_FFC10974\n"
21 " BL sub_FFD2FF70\n"
22 " BL wait_until_remote_button_is_released\n"
23 " LDR R0, [R0,#0x7C]\n"
24 " BL sub_FFD2A3AC\n"
25 " BL capt_seq_hook_set_nr\n"
26 " LDR R3, =0x68D4\n"
27 " LDR R0, [R3]\n"
28 " BL sub_FFC8A7E8\n"
29 " B sub_FFD2A474\n"
30 );
31 }
32
33 void __attribute__((naked,noinline)) sub_FFD2748C_my(long p)
34 {
35 (void)p;
36 asm volatile (
37 " STMFD SP!, {R4,R5,LR}\n"
38 " LDR R5, [R0,#0xC]\n"
39 " BL sub_FFD2FD14\n"
40 " CMP R0, #0\n"
41 " BNE loc_FFD274A4\n"
42 " BL sub_FFD2FD20\n"
43 " loc_FFD274A4:\n"
44 " MOV R0, R5\n"
45 " BL sub_FFD2927C\n"
46 " TST R0, #1\n"
47 " MOV R2, R5\n"
48 " MOV R1, #1\n"
49 " BEQ loc_FFD274C4\n"
50 " LDMFD SP!, {R4,R5,LR}\n"
51 " B sub_FFD25A64\n"
52 " loc_FFD274C4:\n"
53 " BL sub_FFD24EA0\n"
54 " MOV R4, R0\n"
55 " BL sub_FFC157D4\n"
56 " ADD R3, R5, R5,LSL#1\n"
57 " ADD R4, R4, R3,LSL#5\n"
58 " STR R0, [R4,#4]\n"
59 " MOV R0, R5\n"
60 " BL sub_FFD2AC4C\n"
61 " BL sub_FFD297F0\n"
62 " BL sub_FFD29790\n"
63 " MOV R0, R5\n"
64 " BL sub_FFD2A438_my\n"
65 " BL capt_seq_hook_raw_here\n"
66 " MOV R2, R5\n"
67 " MOV R1, #1\n"
68 " BL sub_FFD25A64\n"
69 " LDMFD SP!, {R4,R5,LR}\n"
70 " B sub_FFD2A634\n"
71 );
72 }
73
74 void __attribute__((naked,noinline)) capt_seq_task()
75 {
76 asm volatile (
77 " STMFD SP!, {R4,LR}\n"
78 " SUB SP, SP, #4\n"
79 " MOV R4, SP\n"
80 " B loc_FFD27814\n"
81 " loc_FFD276CC:\n"
82 " LDR R2, [SP]\n"
83 " LDR R3, [R2]\n"
84 " MOV R0, R2\n"
85 " CMP R3, #0x14\n"
86 " LDRLS PC, [PC,R3,LSL#2]\n"
87 " B loc_FFD277E8\n"
88 " .long loc_FFD27738\n"
89 " .long loc_FFD27744\n"
90 " .long loc_FFD2774C\n"
91 " .long loc_FFD2775C\n"
92 " .long loc_FFD27754\n"
93 " .long loc_FFD27764\n"
94 " .long loc_FFD2776C\n"
95 " .long loc_FFD27778\n"
96 " .long loc_FFD27780\n"
97 " .long loc_FFD2778C\n"
98 " .long loc_FFD27794\n"
99 " .long loc_FFD2779C\n"
100 " .long loc_FFD277A4\n"
101 " .long loc_FFD277AC\n"
102 " .long loc_FFD277B4\n"
103 " .long loc_FFD277C0\n"
104 " .long loc_FFD277C8\n"
105 " .long loc_FFD277D0\n"
106 " .long loc_FFD277D8\n"
107 " .long loc_FFD277E0\n"
108 " .long loc_FFD277FC\n"
109 " loc_FFD27738:\n"
110 " BL sub_FFD28ED8\n"
111 " BL shooting_expo_param_override\n"
112 " BL sub_FFD255CC\n"
113 " B loc_FFD277F8\n"
114 " loc_FFD27744:\n"
115 " BL sub_FFD2748C_my\n"
116 " B loc_FFD277F8\n"
117 " loc_FFD2774C:\n"
118 " BL sub_FFD2926C\n"
119 " B loc_FFD277F8\n"
120 " loc_FFD27754:\n"
121 " BL sub_FFD28138\n"
122 " B loc_FFD277F8\n"
123 " loc_FFD2775C:\n"
124 " BL sub_FFD281E8\n"
125 " B loc_FFD277F8\n"
126 " loc_FFD27764:\n"
127 " BL sub_FFD283DC\n"
128 " B loc_FFD277F8\n"
129 " loc_FFD2776C:\n"
130 " BL sub_FFD28FCC\n"
131 " BL sub_FFD255CC\n"
132 " B loc_FFD277F8\n"
133 " loc_FFD27778:\n"
134 " BL sub_FFD2753C\n"
135 " B loc_FFD277F8\n"
136 " loc_FFD27780:\n"
137 " BL sub_FFD29034\n"
138 " BL sub_FFD255CC\n"
139 " B loc_FFD277F8\n"
140 " loc_FFD2778C:\n"
141 " BL sub_FFD281E8\n"
142 " B loc_FFD277F8\n"
143 " loc_FFD27794:\n"
144 " BL sub_FFD2992C\n"
145 " B loc_FFD277F8\n"
146 " loc_FFD2779C:\n"
147 " BL sub_FFD29BB4\n"
148 " B loc_FFD277F8\n"
149 " loc_FFD277A4:\n"
150 " BL sub_FFD29C1C\n"
151 " B loc_FFD277F8\n"
152 " loc_FFD277AC:\n"
153 " BL sub_FFD29CD4\n"
154 " B loc_FFD277F8\n"
155 " loc_FFD277B4:\n"
156 " MOV R0, #0\n"
157 " BL sub_FFD29D6C\n"
158 " B loc_FFD277F8\n"
159 " loc_FFD277C0:\n"
160 " BL sub_FFD29EBC\n"
161 " B loc_FFD277F8\n"
162 " loc_FFD277C8:\n"
163 " BL sub_FFD29F30\n"
164 " B loc_FFD277F8\n"
165 " loc_FFD277D0:\n"
166 " BL sub_FFD29FE8\n"
167 " B loc_FFD277F8\n"
168 " loc_FFD277D8:\n"
169 " BL sub_FFD2A0B8\n"
170 " B loc_FFD277F8\n"
171 " loc_FFD277E0:\n"
172 " BL sub_FFD2A0E4\n"
173 " B loc_FFD277F8\n"
174 " loc_FFD277E8:\n"
175 " MOV R1, #0x2DC\n"
176 " LDR R0, =0xFFD27238\n"
177 " ADD R1, R1, #2\n"
178 " BL sub_FFC03B58\n"
179 " loc_FFD277F8:\n"
180 " LDR R2, [SP]\n"
181 " loc_FFD277FC:\n"
182 " LDR R3, =0x7456C\n"
183 " LDR R1, [R2,#4]\n"
184 " LDR R0, [R3]\n"
185 " BL sub_FFC107D8\n"
186 " LDR R0, [SP]\n"
187 " BL sub_FFD272B4\n"
188 " loc_FFD27814:\n"
189 " LDR R3, =0x74570\n"
190 " MOV R1, R4\n"
191 " LDR R0, [R3]\n"
192 " MOV R2, #0\n"
193 " BL sub_FFC10F94\n"
194 " TST R0, #1\n"
195 " BEQ loc_FFD276CC\n"
196 " MOV R1, #0x24C\n"
197 " LDR R0, =0xFFD27238\n"
198 " ADD R1, R1, #3\n"
199 " BL sub_FFC03B58\n"
200 " BL sub_FFC12724\n"
201 " ADD SP, SP, #4\n"
202 " LDMFD SP!, {R4,PC}\n"
203
204
205 );
206 }
207
208 void __attribute__((naked,noinline)) exp_drv_task(){
209 asm volatile(
210 " STMFD SP!, {R4-R8,LR}\n"
211 " SUB SP, SP, #0x14\n"
212 " MOV R7, SP\n"
213 " B loc_FFCDB31C\n"
214 " loc_FFCDB038:\n"
215 " CMP R2, #0x19\n"
216 " BNE loc_FFCDB050\n"
217 " LDR R0, [R12,#0x34]\n"
218 " MOV LR, PC\n"
219 " LDR PC, [R12,#0x30]\n"
220 " B loc_FFCDB088\n"
221 " loc_FFCDB050:\n"
222 " SUB R3, R2, #0x16\n"
223 " CMP R3, #1\n"
224 " BHI loc_FFCDB068\n"
225 " MOV R0, R12\n"
226 " BL sub_FFCDAFD0\n"
227 " B loc_FFCDB078\n"
228 " loc_FFCDB068:\n"
229 " CMP R2, #0x18\n"
230 " BNE loc_FFCDB094\n"
231 " BL sub_FFC93338\n"
232 " BL sub_FFC951B0\n"
233 " loc_FFCDB078:\n"
234 " LDR R3, [SP]\n"
235 " LDR R0, [R3,#0x34]\n"
236 " MOV LR, PC\n"
237 " LDR PC, [R3,#0x30]\n"
238 " loc_FFCDB088:\n"
239 " LDR R0, [SP]\n"
240 " BL sub_FFCD9444\n"
241 " B loc_FFCDB31C\n"
242 " loc_FFCDB094:\n"
243 " CMP R2, #0xC\n"
244 " MOV R8, #1\n"
245 " BNE loc_FFCDB104\n"
246 " LDR R1, [R12,#0x24]\n"
247 " ADD R1, R1, R1,LSL#1\n"
248 " ADD R1, R12, R1,LSL#1\n"
249 " ADD R6, SP, #0x0C\n"
250 " SUB R1, R1, #2\n"
251 " MOV R2, #6\n"
252 " MOV R0, R6\n"
253 " BL sub_FFE6C6B4\n"
254 " LDR R0, [SP]\n"
255 " BL sub_FFCDA670\n"
256 " LDR R3, [SP]\n"
257 " LDR R1, [R3,#0x24]\n"
258 " LDR R2, [R3,#0x34]\n"
259 " ADD R0, R3, #4\n"
260 " MOV LR, PC\n"
261 " LDR PC, [R3,#0x30]\n"
262 " LDR R0, [SP]\n"
263 " BL sub_FFCDA7F4\n"
264 " LDR R3, [SP]\n"
265 " ADD R0, R3, #4\n"
266 " LDR R1, [R3,#0x24]\n"
267 " LDR R2, [R3,#0x3C]\n"
268 " MOV LR, PC\n"
269 " LDR PC, [R3,#0x38]\n"
270 " B loc_FFCDB2CC\n"
271 " loc_FFCDB104:\n"
272 " SUB R3, R2, #0xD\n"
273 " CMP R3, #1\n"
274 " BHI loc_FFCDB184\n"
275 " ADD R6, SP, #0x0C\n"
276 " ADD R5, SP, #0x04\n"
277 " MOV R0, R12\n"
278 " MOV R1, R6\n"
279 " MOV R2, R5\n"
280 " BL sub_FFCDA870\n"
281 " MOV R4, R0\n"
282 " CMP R4, #3\n"
283 " CMPNE R4, #1\n"
284 " BNE loc_FFCDB164\n"
285 " LDR R12, [SP]\n"
286 " MOV R0, R5\n"
287 " LDR R1, [R12,#0x24]\n"
288 " MOV R2, R4\n"
289 " LDR R3, [R12,#0x34]\n"
290 " MOV LR, PC\n"
291 " LDR PC, [R12,#0x30]\n"
292 " MOV R1, R4\n"
293 " LDR R0, [SP]\n"
294 " BL sub_FFCDAFB0\n"
295 " B loc_FFCDB2CC\n"
296 " loc_FFCDB164:\n"
297 " LDR R12, [SP]\n"
298 " MOV R2, R4\n"
299 " ADD R0, R12, #4\n"
300 " LDR R1, [R12,#0x24]\n"
301 " LDR R3, [R12,#0x34]\n"
302 " MOV LR, PC\n"
303 " LDR PC, [R12,#0x30]\n"
304 " B loc_FFCDB2CC\n"
305 " loc_FFCDB184:\n"
306 " CMP R2, #0x14\n"
307 " BNE loc_FFCDB1D8\n"
308 " LDR R1, [R12,#0x24]\n"
309 " ADD R1, R1, R1,LSL#1\n"
310 " ADD R1, R12, R1,LSL#1\n"
311 " ADD R6, SP, #0x0C\n"
312 " SUB R1, R1, #2\n"
313 " MOV R2, #6\n"
314 " MOV R0, R6\n"
315 " BL sub_FFE6C6B4\n"
316 " LDR R0, [SP]\n"
317 " BL sub_FFCDA1D0\n"
318 " LDR R3, [SP]\n"
319 " ADD R0, R3, #4\n"
320 " LDR R1, [R3,#0x24]\n"
321 " LDR R2, [R3,#0x34]\n"
322 " MOV LR, PC\n"
323 " LDR PC, [R3,#0x30]\n"
324 " LDR R0, [SP]\n"
325 " BL sub_FFCDA3A0\n"
326 " B loc_FFCDB2CC\n"
327 " loc_FFCDB1D8:\n"
328 " ADD R6, SP, #0x0C\n"
329 " ADD R1, R12, #4\n"
330 " MOV R0, R6\n"
331 " MOV R2, #6\n"
332 " BL sub_FFE6C6B4\n"
333 " LDR R12, [SP]\n"
334 " LDR R3, [R12]\n"
335 " MOV R0, R12\n"
336 " CMP R3, #0x15\n"
337 " LDRLS PC, [PC,R3,LSL#2]\n"
338 " B loc_FFCDB2B8\n"
339 " .long loc_FFCDB25C\n"
340 " .long loc_FFCDB264\n"
341 " .long loc_FFCDB26C\n"
342 " .long loc_FFCDB26C\n"
343 " .long loc_FFCDB25C\n"
344 " .long loc_FFCDB264\n"
345 " .long loc_FFCDB26C\n"
346 " .long loc_FFCDB26C\n"
347 " .long loc_FFCDB284\n"
348 " .long loc_FFCDB284\n"
349 " .long loc_FFCDB2A8\n"
350 " .long loc_FFCDB2B0\n"
351 " .long loc_FFCDB2B8\n"
352 " .long loc_FFCDB2B8\n"
353 " .long loc_FFCDB2B8\n"
354 " .long loc_FFCDB274\n"
355 " .long loc_FFCDB27C\n"
356 " .long loc_FFCDB290\n"
357 " .long loc_FFCDB298\n"
358 " .long loc_FFCDB298\n"
359 " .long loc_FFCDB2B8\n"
360 " .long loc_FFCDB2A0\n"
361 " loc_FFCDB25C:\n"
362 " BL sub_FFCD9920\n"
363 " B loc_FFCDB2B4\n"
364 " loc_FFCDB264:\n"
365 " BL sub_FFCD9A5C\n"
366 " B loc_FFCDB2B4\n"
367 " loc_FFCDB26C:\n"
368 " BL sub_FFCD9B8C\n"
369 " B loc_FFCDB2B4\n"
370 " loc_FFCDB274:\n"
371 " BL sub_FFCD9D60\n"
372 " B loc_FFCDB2B4\n"
373 " loc_FFCDB27C:\n"
374 " BL sub_FFCD9E68\n"
375 " B loc_FFCDB2B4\n"
376 " loc_FFCDB284:\n"
377 " BL sub_FFCD9F2C_my\n"
378 " MOV R8, #0\n"
379 " B loc_FFCDB2B4\n"
380 " loc_FFCDB290:\n"
381 " BL sub_FFCD9FF0\n"
382 " B loc_FFCDB2B4\n"
383 " loc_FFCDB298:\n"
384 " BL sub_FFCDA0D8\n"
385 " B loc_FFCDB2B4\n"
386 " loc_FFCDB2A0:\n"
387 " BL sub_FFCDA430\n"
388 " B loc_FFCDB2B4\n"
389 " loc_FFCDB2A8:\n"
390 " BL sub_FFCDA504\n"
391 " B loc_FFCDB2B4\n"
392 " loc_FFCDB2B0:\n"
393 " BL sub_FFCDA5F0\n"
394 " loc_FFCDB2B4:\n"
395 " LDR R12, [SP]\n"
396 " loc_FFCDB2B8:\n"
397 " ADD R0, R12, #4\n"
398 " LDR R1, [R12,#0x24]\n"
399 " LDR R2, [R12,#0x34]\n"
400 " MOV LR, PC\n"
401 " LDR PC, [R12,#0x30]\n"
402 " loc_FFCDB2CC:\n"
403 " CMP R8, #1\n"
404 " BNE loc_FFCDB2F4\n"
405 " LDR R1, [SP]\n"
406 " LDR R3, [R1,#0x24]\n"
407 " ADD R3, R3, R3,LSL#1\n"
408 " ADD R1, R1, R3,LSL#1\n"
409 " MOV R0, R6\n"
410 " SUB R1, R1, #2\n"
411 " BL sub_FFCD97D8\n"
412 " B loc_FFCDB314\n"
413 " loc_FFCDB2F4:\n"
414 " MOV R0, #1\n"
415 " MOV R1, R0\n"
416 " MOV R2, R0\n"
417 " BL sub_FFCD977C\n"
418 " MOV R0, #1\n"
419 " MOV R1, R0\n"
420 " MOV R2, R0\n"
421 " BL sub_FFCD9898\n"
422 " loc_FFCDB314:\n"
423 " LDR R0, [SP]\n"
424 " BL sub_FFCD9444\n"
425 " loc_FFCDB31C:\n"
426 " LDR R3, =0x506C0\n"
427 " MOV R2, #0\n"
428 " LDR R0, [R3]\n"
429 " MOV R1, R7\n"
430 " BL sub_ffc10f94\n"
431 " LDR R12, [SP]\n"
432 " LDR R2, [R12]\n"
433 " CMP R2, #0x1A\n"
434 " BNE loc_FFCDB038\n"
435 " MOV R0, R12\n"
436 " BL sub_FFCD9444\n"
437 " LDR R3, =0x506BC\n"
438 " MOV R1, #1\n"
439 " LDR R0, [R3]\n"
440 " BL sub_ffc107d8\n"
441 " BL sub_ffc12724\n"
442 " ADD SP, SP, #0x14\n"
443 " LDMFD SP!, {R4-R8,PC}\n"
444 );
445 }
446
447 void __attribute__((naked,noinline)) sub_FFCD9F2C_my(){
448 asm volatile(
449 " STMFD SP!, {R4,R5,LR}\n"
450 " LDR R3, =0x506BC\n"
451 " MOV R4, R0\n"
452 " MOV R1, #0xE\n"
453 " LDR R0, [R3]\n"
454 " BL sub_ffc10974\n"
455 " MOV R1, #0\n"
456 " LDRSH R0, [R4,#4]\n"
457 " BL sub_FFCD94E4\n"
458 " MOV R5, R0\n"
459 " LDRSH R0, [R4,#6]\n"
460 " BL sub_FFCD9614\n"
461 " LDRSH R0, [R4,#8]\n"
462 " BL sub_FFCD96B0\n"
463 " LDR R3, [R4]\n"
464 " CMP R3, #9\n"
465 " MOVEQ R5, #0\n"
466 " CMP R5, #1\n"
467 " LDR R1, =0xFFCD9474\n"
468 " MOV R2, #2\n"
469 " BNE loc_FFCD9F98\n"
470 " LDRSH R0, [R4,#4]\n"
471 " BL sub_FFE18CD8\n"
472 " LDR R2, =0x506E8\n"
473 " MOV R3, #0\n"
474 " STR R3, [R2]\n"
475 " B loc_FFCD9F9C\n"
476 " loc_FFCD9F98:\n"
477 " BL sub_FFCD974C\n"
478 " loc_FFCD9F9C:\n"
479 " STRH R0, [R4,#4]\n"
480 " LDRSH R0, [R4,#6]\n"
481 " BL sub_FFC92FD0_my\n"
482 " BL sub_FFC94F54\n"
483 " LDRSH R0, [R4,#8]\n"
484 " MOV R1, #1\n"
485 " BL sub_FFC94D70\n"
486 " MOV R1, #0\n"
487 " ADD R0, R4, #8\n"
488 " BL sub_FFC94E34\n"
489 " CMP R5, #1\n"
490 " MOV R1, #2\n"
491 " MOV R2, #0\n"
492 " LDMNEFD SP!, {R4,R5,PC}\n"
493 " LDR R3, =0x506BC\n"
494 " LDR R0, [R3]\n"
495 " LDMFD SP!, {R4,R5,LR}\n"
496 " LDR PC, =0xFFC107C8\n"
497 );
498 }
499
500 void __attribute__((naked,noinline)) sub_FFC92FD0_my() {
501 asm volatile(
502 " STMFD SP!, {R4,LR}\n"
503 " LDR R3, =0x5074\n"
504 " LDR R2, [R3]\n"
505 " MOV R3, R0,LSL#16\n"
506 " CMP R2, #1\n"
507 " MOV R1, #0x110\n"
508 " LDR R0, =0xFFC9296C\n"
509 " MOV R4, R3,ASR#16\n"
510 " BEQ loc_FFC92FF8\n"
511 " BL sub_ffc03b58\n"
512 " loc_FFC92FF8:\n"
513 " MOV R1, #0x114\n"
514 " CMN R4, #0xC00\n"
515 " LDR R3, =0x36C06\n"
516 " LDR R0, =0xFFC9296C\n"
517 " ADD R1, R1, #2\n"
518 " LDREQSH R4, [R3]\n"
519 " LDRNE R3, =0x36C06\n"
520 " CMN R4, #0xC00\n"
521 " STRH R4, [R3]\n"
522 " BNE loc_FFC93024\n"
523 " BL sub_ffc03b58\n"
524 " loc_FFC93024:\n"
525 " MOV R0, R4\n"
526 " BL apex2us\n"
527 " BL sub_FFC92524\n"
528 " TST R0, #1\n"
529 " MOV R1, #0x118\n"
530 " LDR R0, =0xFFC9296C\n"
531 " LDMEQFD SP!, {R4,PC}\n"
532 " LDMFD SP!, {R4,LR}\n"
533 " B sub_ffc03b58\n"
534 );
535 }
536