This source file includes following definitions.
- sub_FFD53158_my
- sub_FFD56070_my
- sub_FFD5307C_my
- capt_seq_task
- exp_drv_task
- sub_FFCF8D98_my
- sub_FFCA3AFC_my
1 #include "lolevel.h"
2 #include "platform.h"
3 #include "core.h"
4
5 static long *nrflag = (long*)0x6208;
6
7 #include "../../../generic/capt_seq.c"
8
9 void __attribute__((naked,noinline)) sub_FFD53158_my(){
10 asm volatile (
11 "STMFD SP!, {R4,LR}\n"
12 "BL sub_FFD52D08\n"
13 "LDR R3, =0x91AA0\n"
14 "LDR R2, [R3,#0x24]\n"
15 "CMP R2, #0\n"
16 "MOV R4, R0\n"
17 "MOV R0, #0xC\n"
18 "BEQ loc_FFD531A0\n"
19 "BL sub_FFD5CA00\n"
20 "TST R0, #1\n"
21 "BEQ loc_FFD531A0\n"
22 "LDR R3, [R4,#8]\n"
23 "LDR R2, =0x61EC\n"
24 "ORR R3, R3, #0x40000000\n"
25 "MOV R1, #1\n"
26 "STR R1, [R2]\n"
27 "STR R3, [R4,#8]\n"
28 "LDMFD SP!, {R4,PC}\n"
29 "loc_FFD531A0:\n"
30 "BL sub_FFD9385C\n"
31 "BL sub_FFC14FE0\n"
32 "STR R0, [R4,#0x14]\n"
33 "MOV R0, R4\n"
34 "BL sub_FFD56070_my\n"
35 "BL capt_seq_hook_raw_here\n"
36 "TST R0, #1\n"
37 "LDRNE R3, =0x61EC\n"
38 "MOVNE R2, #1\n"
39 "STRNE R2, [R3]\n"
40 "LDMFD SP!, {R4,PC}\n"
41 );
42 }
43
44 void __attribute__((naked,noinline)) sub_FFD56070_my(long p)
45 {
46 (void)p;
47 asm volatile (
48 "STMFD SP!, {R4,LR}\n"
49 "MOV R4, R0\n"
50 "SUB SP, SP, #0xC\n"
51 "BL sub_FFD56A2C\n"
52 "LDR R1, =0xFFFFFFFF\n"
53 "BL sub_FFC103A4\n"
54 "LDR R0, =0x122\n"
55 "ADD R1, SP, #0x14-0x10\n"
56 "MOV R2, #4\n"
57 "BL sub_FFC14DE4\n"
58 "TST R0, #1\n"
59 "BEQ loc_FFD560B0\n"
60 "LDR R0, =0xFFD55EEC\n"
61 "MOV R1, #0x1BC\n"
62 "BL sub_FFC03CF8\n"
63 "loc_FFD560B0:\n"
64 "LDR R3, =0x91AA0\n"
65 "LDR R2, =0x91B60\n"
66 "LDR R0, [R3,#0x80]\n"
67 "LDRSH R1, [R2,#0xE]\n"
68
69 "MOV R0, R4\n"
70 "BL sub_FFD55E70\n"
71 "BL wait_until_remote_button_is_released\n"
72 "BL capt_seq_hook_set_nr\n"
73 "LDR R3, =0x620C\n"
74 "LDR R0, [R3]\n"
75
76 "B sub_FFD560D4\n"
77 );
78 }
79
80 void __attribute__((naked,noinline)) sub_FFD5307C_my(long p)
81 {
82 (void)p;
83 asm volatile (
84 "STMFD SP!, {R4,R5,LR}\n"
85 "LDR R3, =0x91AA0\n"
86 "LDR R5, [R0,#0xC]\n"
87 "LDR R1, [R3,#0x24]\n"
88 "LDR R2, [R5,#8]\n"
89 "CMP R1, #0\n"
90 "ORR R2, R2, #1\n"
91 "STR R2, [R5,#8]\n"
92 "BNE loc_FFD530D0\n"
93 "MOV R0, #0xC\n"
94 "BL sub_FFD5CA00\n"
95 "TST R0, #1\n"
96 "BEQ loc_FFD530D0\n"
97 "LDR R3, [R5,#8]\n"
98 "MOV R0, #1\n"
99 "ORR R3, R3, #0x40000000\n"
100 "STR R3, [R5,#8]\n"
101 "loc_FFD530C0:\n"
102 "MOV R2, R5\n"
103 "MOV R1, #1\n"
104 "LDMFD SP!, {R4,R5,LR}\n"
105 "B sub_FFD518C4\n"
106 "loc_FFD530D0:\n"
107 "LDR R4, =0x91AA0\n"
108 "BL sub_FFD53B6C\n"
109 "LDR R3, [R4,#0x24]\n"
110 "CMP R3, #0\n"
111 "BNE loc_FFD53118\n"
112 "MOV R0, R5\n"
113 "BL sub_FFD54C10\n"
114 "TST R0, #1\n"
115 "BNE loc_FFD530C0\n"
116 "BL sub_FFD9385C\n"
117 "BL sub_FFC14FE0\n"
118 "STR R0, [R5,#0x14]\n"
119 "MOV R0, R5\n"
120 "BL sub_FFD55F58\n"
121 "BL sub_FFD568B8\n"
122 "MOV R0, R5\n"
123 "BL sub_FFD56070_my\n"
124 "BL capt_seq_hook_raw_here\n"
125 "B loc_FFD5312C\n"
126 "loc_FFD53118:\n"
127 "LDR R3, =0x61EC\n"
128 "LDR R2, [R3]\n"
129 "CMP R2, #0\n"
130 "MOVNE R0, #0x1D\n"
131 "MOVEQ R0, #0\n"
132 "loc_FFD5312C:\n"
133 "MOV R1, #1\n"
134 "MOV R2, R5\n"
135 "BL sub_FFD518C4\n"
136 "BL sub_FFD563A4\n"
137 "CMP R0, #0\n"
138 "LDRNE R3, [R5,#8]\n"
139 "ORRNE R3, R3, #0x2000\n"
140 "STRNE R3, [R5,#8]\n"
141 "LDMFD SP!, {R4,R5,PC}\n"
142
143
144 );
145 }
146
147 void __attribute__((naked,noinline)) capt_seq_task()
148 {
149 asm volatile (
150 "STMFD SP!, {R4,LR}\n"
151 "SUB SP, SP, #4\n"
152 "MOV R4, SP\n"
153 "B loc_FFD536F0\n"
154 "loc_FFD53564:\n"
155 "LDR R2, [SP,#0xC-0xC]\n"
156 "LDR R3, [R2]\n"
157 "MOV R0, R2\n"
158 "CMP R3, #0x16\n"
159 "LDRLS PC, [PC,R3,LSL#2]\n"
160 "B loc_FFD536C4\n"
161 ".long loc_FFD535D8\n"
162 ".long loc_FFD535F8\n"
163 ".long loc_FFD5360C\n"
164 ".long loc_FFD53620\n"
165 ".long loc_FFD53618\n"
166 ".long loc_FFD53628\n"
167 ".long loc_FFD53630\n"
168 ".long loc_FFD5363C\n"
169 ".long loc_FFD53644\n"
170 ".long loc_FFD53650\n"
171 ".long loc_FFD53658\n"
172 ".long loc_FFD53660\n"
173 ".long loc_FFD53668\n"
174 ".long loc_FFD53670\n"
175 ".long loc_FFD53678\n"
176 ".long loc_FFD53684\n"
177 ".long loc_FFD5368C\n"
178 ".long loc_FFD53694\n"
179 ".long loc_FFD5369C\n"
180 ".long loc_FFD536A8\n"
181 ".long loc_FFD536B4\n"
182 ".long loc_FFD536BC\n"
183 ".long loc_FFD536D8\n"
184 "loc_FFD535D8:\n"
185 "BL sub_FFD53B94\n"
186
187 "BL captseq_hack_override_active\n"
188 "STR R0,[SP,#-4]!\n"
189 "BL shooting_expo_param_override\n"
190 "BL sub_FFD51358\n"
191 "LDR R3, =0x91AA0\n"
192 "LDR R2,[SP],#4\n"
193 "CMP R2, #1\n"
194 "MOVEQ R2, #0\n"
195 "STREQ R2, [R3,#0x24]\n"
196 "LDRNE R2, [R3,#0x24]\n"
197 "CMPNE R2, #0\n"
198
199
200 "BEQ loc_FFD536D4\n"
201 "BL sub_FFD53158_my\n"
202 "B loc_FFD536D4\n"
203 "loc_FFD535F8:\n"
204 "BL sub_FFD5307C_my\n"
205 "loc_FFD535FC:\n"
206 "LDR R2, =0x91AA0\n"
207 "MOV R3, #0\n"
208 "STR R3, [R2,#0x24]\n"
209 "B loc_FFD536D4\n"
210 "loc_FFD5360C:\n"
211 "MOV R0, #1\n"
212 "BL sub_FFD53D84\n"
213 "B loc_FFD536D4\n"
214 "loc_FFD53618:\n"
215 "BL sub_FFD537E8\n"
216 "B loc_FFD535FC\n"
217 "loc_FFD53620:\n"
218 "BL sub_FFD53B4C\n"
219 "B loc_FFD535FC\n"
220 "loc_FFD53628:\n"
221 "BL sub_FFD53B5C\n"
222 "B loc_FFD536D4\n"
223 "loc_FFD53630:\n"
224 "BL sub_FFD53C7C\n"
225 "BL sub_FFD51358\n"
226 "B loc_FFD536D4\n"
227 "loc_FFD5363C:\n"
228 "BL sub_FFD53230\n"
229 "B loc_FFD536D4\n"
230 "loc_FFD53644:\n"
231 "BL sub_FFD53CE4\n"
232 "BL sub_FFD51358\n"
233 "B loc_FFD536D4\n"
234 "loc_FFD53650:\n"
235 "BL sub_FFD53B4C\n"
236 "B loc_FFD536D4\n"
237 "loc_FFD53658:\n"
238 "BL sub_FFD5533C\n"
239 "B loc_FFD536D4\n"
240 "loc_FFD53660:\n"
241 "BL sub_FFD55508\n"
242 "B loc_FFD536D4\n"
243 "loc_FFD53668:\n"
244 "BL sub_FFD5559C\n"
245 "B loc_FFD536D4\n"
246 "loc_FFD53670:\n"
247 "BL sub_FFD55638\n"
248 "B loc_FFD536D4\n"
249 "loc_FFD53678:\n"
250 "MOV R0, #0\n"
251 "BL sub_FFD558A4\n"
252 "B loc_FFD536D4\n"
253 "loc_FFD53684:\n"
254 "BL sub_FFD55A5C\n"
255 "B loc_FFD536D4\n"
256 "loc_FFD5368C:\n"
257 "BL sub_FFD55AEC\n"
258 "B loc_FFD536D4\n"
259 "loc_FFD53694:\n"
260 "BL sub_FFD55BA4\n"
261 "B loc_FFD536D4\n"
262 "loc_FFD5369C:\n"
263 "MOV R0, #1\n"
264 "BL sub_FFD558A4\n"
265 "B loc_FFD536D4\n"
266 "loc_FFD536A8:\n"
267 "BL sub_FFD53EA0\n"
268 "BL sub_FFD52FA4\n"
269 "B loc_FFD536D4\n"
270 "loc_FFD536B4:\n"
271 "BL sub_FFD55778\n"
272 "B loc_FFD536D4\n"
273 "loc_FFD536BC:\n"
274 "BL sub_FFD557D0\n"
275 "B loc_FFD536D4\n"
276 "loc_FFD536C4:\n"
277 "MOV R1, #0x4E0\n"
278 "LDR R0, =0xFFD52E00\n"
279 "ADD R1, R1, #9\n"
280 "BL sub_FFC03CF8\n"
281 "loc_FFD536D4:\n"
282 "LDR R2, [SP,#0xC-0xC]\n"
283 "loc_FFD536D8:\n"
284 "LDR R3, =0x66DA4\n"
285 "LDR R1, [R2,#4]\n"
286 "LDR R0, [R3]\n"
287 "BL sub_FFC10208\n"
288 "LDR R0, [SP,#0xC-0xC]\n"
289 "BL sub_FFD52E7C\n"
290 "loc_FFD536F0:\n"
291 "LDR R3, =0x66DA8\n"
292 "MOV R1, R4\n"
293 "LDR R0, [R3]\n"
294 "MOV R2, #0\n"
295 "BL sub_FFC10920\n"
296 "TST R0, #1\n"
297 "BEQ loc_FFD53564\n"
298 "MOV R1, #0x410\n"
299 "LDR R0, =0xFFD52E00\n"
300 "ADD R1, R1, #0xB\n"
301 "BL sub_FFC03CF8\n"
302 "BL sub_FFC11E7C\n"
303 "ADD SP, SP, #4\n"
304 "LDMFD SP!, {R4,PC}\n"
305 );
306 }
307
308
309 void __attribute__((naked,noinline)) exp_drv_task(){
310 asm volatile(
311 "STMFD SP!, {R4-R8,LR}\n"
312 "SUB SP, SP, #0x20\n"
313 "ADD R7, SP, #0x38-0x34\n"
314 "B loc_FFCFC2B4\n"
315 "loc_FFCFBE08:\n"
316 "CMP R2, #0x22\n"
317 "BNE loc_FFCFBE20\n"
318 "LDR R0, [R12,#0x8C]\n"
319 "MOV LR, PC\n"
320 "LDR PC, [R12,#0x88]\n"
321 "B loc_FFCFBE84\n"
322
323 "loc_FFCFBE20:\n"
324 "CMP R2, #0x1D\n"
325 "BNE loc_FFCFBE34\n"
326 "MOV R0, R12\n"
327 "BL sub_FFCFBCC8\n"
328 "B loc_FFCFBE74\n"
329 "loc_FFCFBE34:\n"
330 "CMP R2, #0x1E\n"
331 "BNE loc_FFCFBE48\n"
332 "MOV R0, R12\n"
333 "BL sub_FFCFBD24\n"
334 "B loc_FFCFBE74\n"
335 "loc_FFCFBE48:\n"
336 "SUB R3, R2, #0x1F\n"
337 "CMP R3, #1\n"
338 "BHI loc_FFCFBE60\n"
339 "MOV R0, R12\n"
340 "BL sub_FFCFBD80\n"
341 "B loc_FFCFBE74\n"
342 "loc_FFCFBE60:\n"
343 "CMP R2, #0x21\n"
344 "BNE loc_FFCFBE90\n"
345 "BL sub_FFCA3E74\n"
346 "BL sub_FFCA6F68\n"
347 "BL sub_FFCA61A0\n"
348 "loc_FFCFBE74:\n"
349 "LDR R3, [SP,#0x38-0x34]\n"
350 "LDR R0, [R3,#0x8C]\n"
351 "MOV LR, PC\n"
352 "LDR PC, [R3,#0x88]\n"
353 "loc_FFCFBE84:\n"
354 "LDR R0, [SP,#0x38-0x34]\n"
355 "BL sub_FFCF7874\n"
356 "B loc_FFCFC2B4\n"
357 "loc_FFCFBE90:\n"
358 "CMP R2, #0xD\n"
359 "MOV R8, #1\n"
360 "BNE loc_FFCFBF00\n"
361 "LDR R1, [R12,#0x7C]\n"
362 "ADD R1, R1, R1,LSL#1\n"
363 "ADD R1, R12, R1,LSL#2\n"
364 "ADD R6, SP, #0x38-0x24\n"
365 "SUB R1, R1, #8\n"
366 "MOV R2, #0xC\n"
367 "MOV R0, R6\n"
368 "BL sub_FFEEB2D0\n"
369 "LDR R0, [SP,#0x38-0x34]\n"
370 "BL sub_FFCFA350\n"
371 "LDR R3, [SP,#0x38-0x34]\n"
372 "LDR R1, [R3,#0x7C]\n"
373 "LDR R2, [R3,#0x8C]\n"
374 "ADD R0, R3, #4\n"
375 "MOV LR, PC\n"
376 "LDR PC, [R3,#0x88]\n"
377 "LDR R0, [SP,#0x38-0x34]\n"
378 "BL sub_FFCFA620\n"
379 "LDR R3, [SP,#0x38-0x34]\n"
380 "ADD R0, R3, #4\n"
381 "LDR R1, [R3,#0x7C]\n"
382 "LDR R2, [R3,#0x94]\n"
383 "MOV LR, PC\n"
384 "LDR PC, [R3,#0x90]\n"
385 "B loc_FFCFC250\n"
386 "loc_FFCFBF00:\n"
387 "SUB R3, R2, #0xE\n"
388 "CMP R3, #1\n"
389 "BHI loc_FFCFBFBC\n"
390 "ADD R6, SP, #0x38-0x24\n"
391 "ADD R5, SP, #0x38-0x30\n"
392 "MOV R0, R12\n"
393 "MOV R1, R6\n"
394 "MOV R2, R5\n"
395 "BL sub_FFCFA714\n"
396 "MOV R4, R0\n"
397 "CMP R4, #5\n"
398 "CMPNE R4, #1\n"
399 "BNE loc_FFCFBF54\n"
400 "LDR R12, [SP,#0x38-0x34]\n"
401 "MOV R0, R5\n"
402 "LDR R1, [R12,#0x7C]\n"
403 "MOV R2, R4\n"
404 "LDR R3, [R12,#0x8C]\n"
405 "MOV LR, PC\n"
406 "LDR PC, [R12,#0x88]\n"
407 "B loc_FFCFBF8C\n"
408 "loc_FFCFBF54:\n"
409 "CMP R4, #6\n"
410 "CMPNE R4, #2\n"
411 "BNE loc_FFCFBF9C\n"
412 "LDR R12, [SP,#0x38-0x34]\n"
413 "MOV R0, R5\n"
414 "MOV R1, R8\n"
415 "MOV R2, R4\n"
416 "LDR R3, [R12,#0x8C]\n"
417 "MOV LR, PC\n"
418 "LDR PC, [R12,#0x88]\n"
419 "MOV R1, R6\n"
420 "LDR R0, [SP,#0x38-0x34]\n"
421 "MOV R2, R5\n"
422 "BL sub_FFCFB934\n"
423 "loc_FFCFBF8C:\n"
424 "MOV R1, R4\n"
425 "LDR R0, [SP,#0x38-0x34]\n"
426 "BL sub_FFCFBC5C\n"
427 "B loc_FFCFC250\n"
428 "loc_FFCFBF9C:\n"
429 "LDR R12, [SP,#0x38-0x34]\n"
430 "MOV R2, R4\n"
431 "ADD R0, R12, #4\n"
432 "LDR R1, [R12,#0x7C]\n"
433 "LDR R3, [R12,#0x8C]\n"
434 "MOV LR, PC\n"
435 "LDR PC, [R12,#0x88]\n"
436 "B loc_FFCFC250\n"
437 "loc_FFCFBFBC:\n"
438 "SUB R3, R2, #0x19\n"
439 "CMP R3, #1\n"
440 "BHI loc_FFCFC014\n"
441 "LDR R1, [R12,#0x7C]\n"
442 "ADD R1, R1, R1,LSL#1\n"
443 "ADD R1, R12, R1,LSL#2\n"
444 "ADD R6, SP, #0x38-0x24\n"
445 "SUB R1, R1, #8\n"
446 "MOV R2, #0xC\n"
447 "MOV R0, R6\n"
448 "BL sub_FFEEB2D0\n"
449 "LDR R0, [SP,#0x38-0x34]\n"
450 "BL sub_FFCF9748\n"
451 "LDR R3, [SP,#0x38-0x34]\n"
452 "ADD R0, R3, #4\n"
453 "LDR R1, [R3,#0x7C]\n"
454 "LDR R2, [R3,#0x8C]\n"
455 "MOV LR, PC\n"
456 "LDR PC, [R3,#0x88]\n"
457 "LDR R0, [SP,#0x38-0x34]\n"
458 "BL sub_FFCF9B24\n"
459 "B loc_FFCFC250\n"
460 "loc_FFCFC014:\n"
461 "ADD R6, SP, #0x38-0x24\n"
462 "ADD R1, R12, #4\n"
463 "MOV R2, #0xC\n"
464 "MOV R0, R6\n"
465 "BL sub_FFEEB2D0\n"
466 "LDR R12, [SP,#0x38-0x34]\n"
467 "LDR R3, [R12]\n"
468 "MOV R2, R12\n"
469 "CMP R3, #0x1C\n"
470 "LDRLS PC, [PC,R3,LSL#2]\n"
471 "B loc_FFCFC23C\n"
472 ".long loc_FFCFC0B4\n"
473 ".long loc_FFCFC0C0\n"
474 ".long loc_FFCFC0CC\n"
475 ".long loc_FFCFC0CC\n"
476 ".long loc_FFCFC0B4\n"
477 ".long loc_FFCFC0C0\n"
478 ".long loc_FFCFC0CC\n"
479 ".long loc_FFCFC0CC\n"
480 ".long loc_FFCFC0F0\n"
481 ".long loc_FFCFC0F0\n"
482 ".long loc_FFCFC210\n"
483 ".long loc_FFCFC21C\n"
484 ".long loc_FFCFC22C\n"
485 ".long loc_FFCFC23C\n"
486 ".long loc_FFCFC23C\n"
487 ".long loc_FFCFC23C\n"
488 ".long loc_FFCFC0D8\n"
489 ".long loc_FFCFC0E4\n"
490 ".long loc_FFCFC100\n"
491 ".long loc_FFCFC10C\n"
492 ".long loc_FFCFC144\n"
493 ".long loc_FFCFC17C\n"
494 ".long loc_FFCFC1B4\n"
495 ".long loc_FFCFC1EC\n"
496 ".long loc_FFCFC1EC\n"
497 ".long loc_FFCFC23C\n"
498 ".long loc_FFCFC23C\n"
499 ".long loc_FFCFC1F8\n"
500 ".long loc_FFCFC204\n"
501 "loc_FFCFC0B4:\n"
502 "MOV R0, R2\n"
503 "BL sub_FFCF8124\n"
504 "B loc_FFCFC238\n"
505 "loc_FFCFC0C0:\n"
506 "MOV R0, R2\n"
507 "BL sub_FFCF83C8\n"
508 "B loc_FFCFC238\n"
509 "loc_FFCFC0CC:\n"
510 "MOV R0, R2\n"
511 "BL sub_FFCF863C\n"
512 "B loc_FFCFC238\n"
513 "loc_FFCFC0D8:\n"
514 "MOV R0, R2\n"
515 "BL sub_FFCF8938\n"
516 "B loc_FFCFC238\n"
517 "loc_FFCFC0E4:\n"
518 "MOV R0, R2\n"
519 "BL sub_FFCF8B9C\n"
520 "B loc_FFCFC238\n"
521 "loc_FFCFC0F0:\n"
522 "MOV R0, R2\n"
523 "BL sub_FFCF8D98_my\n"
524 "MOV R8, #0\n"
525 "B loc_FFCFC238\n"
526 "loc_FFCFC100:\n"
527 "MOV R0, R2\n"
528 "BL sub_FFCF8EF4\n"
529 "B loc_FFCFC238\n"
530 "loc_FFCFC10C:\n"
531 "LDRH R1, [R2,#4]\n"
532 "LDR R3, =0x42858\n"
533 "STRH R1, [SP,#0x38-0x24]\n"
534 "LDRH R1, [R3,#6]\n"
535 "STRH R1, [SP,#0x38-0x1E]\n"
536 "LDRH R1, [R3,#2]\n"
537 "STRH R1, [SP,#0x38-0x22]\n"
538 "LDRH R3, [R3,#4]\n"
539 "STRH R3, [SP,#0x38-0x20]\n"
540 "MOV R0, R2\n"
541 "LDRH R2, [R2,#0xC]\n"
542 "STRH R2, [SP,#0x38-0x1C]\n"
543 "BL sub_FFCF91F0\n"
544 "B loc_FFCFC238\n"
545 "loc_FFCFC144:\n"
546 "MOV R0, R2\n"
547 "LDRH R2, [R2,#4]\n"
548 "LDR R3, =0x42858\n"
549 "STRH R2, [SP,#0x38-0x24]\n"
550 "LDRH R2, [R3,#8]\n"
551 "STRH R2, [SP,#0x38-0x1C]\n"
552 "LDRH R1, [R3,#2]\n"
553 "STRH R1, [SP,#0x38-0x22]\n"
554 "LDRH R2, [R3,#4]\n"
555 "STRH R2, [SP,#0x38-0x20]\n"
556 "LDRH R3, [R3,#6]\n"
557 "STRH R3, [SP,#0x38-0x1E]\n"
558 "BL sub_FFCF9318\n"
559 "B loc_FFCFC238\n"
560 "loc_FFCFC17C:\n"
561 "LDR R3, =0x42858\n"
562 "LDRH R1, [R3]\n"
563 "STRH R1, [SP,#0x38-0x24]\n"
564 "MOV R0, R2\n"
565 "LDRH R2, [R2,#6]\n"
566 "STRH R2, [SP,#0x38-0x22]\n"
567 "LDRH R2, [R3,#8]\n"
568 "STRH R2, [SP,#0x38-0x1C]\n"
569 "LDRH R1, [R3,#4]\n"
570 "STRH R1, [SP,#0x38-0x20]\n"
571 "LDRH R3, [R3,#6]\n"
572 "STRH R3, [SP,#0x38-0x1E]\n"
573 "BL sub_FFCF93DC\n"
574 "B loc_FFCFC238\n"
575 "loc_FFCFC1B4:\n"
576 "LDR R3, =0x42858\n"
577 "LDRH R1, [R3,#6]\n"
578 "STRH R1, [SP,#0x38-0x1E]\n"
579 "LDRH R1, [R3]\n"
580 "STRH R1, [SP,#0x38-0x24]\n"
581 "LDRH R1, [R3,#2]\n"
582 "STRH R1, [SP,#0x38-0x22]\n"
583 "LDRH R3, [R3,#4]\n"
584 "STRH R3, [SP,#0x38-0x20]\n"
585 "MOV R0, R2\n"
586 "LDRH R2, [R2,#0xC]\n"
587 "STRH R2, [SP,#0x38-0x1C]\n"
588 "BL sub_FFCF9494\n"
589 "B loc_FFCFC238\n"
590 "loc_FFCFC1EC:\n"
591 "MOV R0, R2\n"
592 "BL sub_FFCF9544\n"
593 "B loc_FFCFC238\n"
594 "loc_FFCFC1F8:\n"
595 "MOV R0, R2\n"
596 "BL sub_FFCF9C74\n"
597 "B loc_FFCFC238\n"
598 "loc_FFCFC204:\n"
599 "MOV R0, R2\n"
600 "BL sub_FFCF9E70\n"
601 "B loc_FFCFC238\n"
602 "loc_FFCFC210:\n"
603 "MOV R0, R2\n"
604 "BL sub_FFCFA02C\n"
605 "B loc_FFCFC238\n"
606 "loc_FFCFC21C:\n"
607 "MOV R0, R2\n"
608 "MOV R1, #0\n"
609 "BL sub_FFCFA210\n"
610 "B loc_FFCFC238\n"
611 "loc_FFCFC22C:\n"
612 "MOV R0, R2\n"
613 "MOV R1, #1\n"
614 "BL sub_FFCFA210\n"
615 "loc_FFCFC238:\n"
616 "LDR R12, [SP,#0x38-0x34]\n"
617 "loc_FFCFC23C:\n"
618 "ADD R0, R12, #4\n"
619 "LDR R1, [R12,#0x7C]\n"
620 "LDR R2, [R12,#0x8C]\n"
621 "MOV LR, PC\n"
622 "LDR PC, [R12,#0x88]\n"
623 "loc_FFCFC250:\n"
624 "CMP R8, #1\n"
625 "BNE loc_FFCFC278\n"
626 "LDR R1, [SP,#0x38-0x34]\n"
627 "LDR R3, [R1,#0x7C]\n"
628 "ADD R3, R3, R3,LSL#1\n"
629 "ADD R1, R1, R3,LSL#2\n"
630 "MOV R0, R6\n"
631 "SUB R1, R1, #8\n"
632 "BL sub_FFCF7E88\n"
633 "B loc_FFCFC2AC\n"
634 "loc_FFCFC278:\n"
635 "MOV R4, #1\n"
636 "MOV R0, R4\n"
637 "MOV R1, R4\n"
638 "MOV R2, R4\n"
639 "MOV R3, R4\n"
640 "STR R4, [SP,#0x38-0x38]\n"
641 "BL sub_FFCF7DDC\n"
642 "MOV R0, R4\n"
643 "MOV R1, R0\n"
644 "MOV R2, R0\n"
645 "MOV R3, R0\n"
646 "STR R4, [SP,#0x38-0x38]\n"
647 "BL sub_FFCF7F60\n"
648 "loc_FFCFC2AC:\n"
649 "LDR R0, [SP,#0x38-0x34]\n"
650 "BL sub_FFCF7874\n"
651 "loc_FFCFC2B4:\n"
652 "LDR R3, =0x42850\n"
653 "MOV R2, #0\n"
654 "LDR R0, [R3]\n"
655 "MOV R1, R7\n"
656 "BL sub_FFC10920\n"
657 "LDR R12, [SP,#0x38-0x34]\n"
658 "LDR R2, [R12]\n"
659 "CMP R2, #0x23\n"
660 "BNE loc_FFCFBE08\n"
661 "MOV R0, R12\n"
662 "BL sub_FFCF7874\n"
663 "LDR R3, =0x4284C\n"
664 "MOV R1, #1\n"
665 "LDR R0, [R3]\n"
666 "BL sub_FFC10208\n"
667 "BL sub_FFC11E7C\n"
668
669 );
670 }
671
672 void __attribute__((naked,noinline)) sub_FFCF8D98_my() {
673 asm volatile(
674 "STMFD SP!, {R4-R6,LR}\n"
675 "LDR R3, =0x4284C\n"
676 "MOV R4, R0\n"
677 "MOV R1, #0x3E\n"
678 "LDR R0, [R3]\n"
679 "BL sub_FFC103A4\n"
680 "MOV R1, #0\n"
681 "LDRSH R0, [R4,#4]\n"
682 "BL sub_FFCF79A8\n"
683 "MOV R6, R0\n"
684 "LDRSH R0, [R4,#6]\n"
685 "BL sub_FFCF7B1C\n"
686 "LDRSH R0, [R4,#8]\n"
687 "BL sub_FFCF7BB8\n"
688 "LDRSH R0, [R4,#0xA]\n"
689 "BL sub_FFCF7C54\n"
690 "LDRSH R0, [R4,#0xC]\n"
691 "BL sub_FFCF7CF0\n"
692 "LDR R3, [R4]\n"
693 "CMP R3, #9\n"
694 "MOV R5, R0\n"
695 "MOVEQ R5, #0\n"
696 "MOVEQ R6, R5\n"
697 "CMP R6, #1\n"
698 "BNE loc_FFCF8E1C\n"
699 "MOV R2, #2\n"
700 "LDRSH R0, [R4,#4]\n"
701 "LDR R1, =0xFFCF78C8\n"
702 "BL sub_FFE91A68\n"
703 "LDR R2, =0x4288C\n"
704 "MOV R3, #0\n"
705 "STR R3, [R2]\n"
706 "B loc_FFCF8E20\n"
707 "loc_FFCF8E1C:\n"
708 "BL sub_FFCF7D8C\n"
709 "loc_FFCF8E20:\n"
710 "STRH R0, [R4,#4]\n"
711 "CMP R5, #1\n"
712 "BNE loc_FFCF8E40\n"
713 "LDRSH R0, [R4,#0xC]\n"
714 "LDR R1, =0xFFCF798C\n"
715 "MOV R2, #0x20\n"
716 "BL sub_FFCF80C4\n"
717 "B loc_FFCF8E44\n"
718 "loc_FFCF8E40:\n"
719 "BL sub_FFCF7DCC\n"
720 "loc_FFCF8E44:\n"
721 "STRH R0, [R4,#0xC]\n"
722 "LDRSH R0, [R4,#6]\n"
723 "BL sub_FFCA3AFC_my\n"
724 "LDRSH R0, [R4,#8]\n"
725 "MOV R1, #1\n"
726 "BL sub_FFCA5D60\n"
727 "ADD R0, R4, #8\n"
728 "MOV R1, #0\n"
729 "BL sub_FFCA5E20\n"
730 "LDRSH R0, [R4,#0xE]\n"
731 "BL sub_FFCE58F4\n"
732 "CMP R6, #1\n"
733 "BNE loc_FFCF8EA8\n"
734 "LDR R3, =0x4284C\n"
735 "MOV R2, #0xBB0\n"
736 "LDR R0, [R3]\n"
737 "MOV R1, #2\n"
738 "ADD R2, R2, #8\n"
739 "BL sub_FFC101F8\n"
740 "TST R0, #1\n"
741 "BEQ loc_FFCF8EA8\n"
742 "MOV R1, #0x440\n"
743 "LDR R0, =0xFFCF7820\n"
744 "ADD R1, R1, #0xB\n"
745 "BL sub_FFC03CF8\n"
746 "loc_FFCF8EA8:\n"
747 "CMP R5, #1\n"
748 "LDMNEFD SP!, {R4-R6,PC}\n"
749 "LDR R3, =0x4284C\n"
750 "MOV R2, #0xBB0\n"
751 "LDR R0, [R3]\n"
752 "MOV R1, #0x20\n"
753 "ADD R2, R2, #8\n"
754 "BL sub_FFC101F8\n"
755 "TST R0, #1\n"
756 "LDMEQFD SP!, {R4-R6,PC}\n"
757 "LDR R0, =0xFFCF7820\n"
758 "MOV R1, #0x450\n"
759 "LDMFD SP!, {R4-R6,LR}\n"
760 "B sub_FFC03CF8\n"
761 );
762 }
763
764
765 void __attribute__((naked,noinline)) sub_FFCA3AFC_my(){
766 asm volatile(
767 "STMFD SP!, {R4,LR}\n"
768 "LDR R3, =0x52E4\n"
769 "LDR R2, [R3]\n"
770 "MOV R1, #0x150\n"
771 "MOV R3, R0,LSL#16\n"
772 "CMP R2, #1\n"
773 "ADD R1, R1, #1\n"
774 "LDR R0, =0xFFCA3338\n"
775 "MOV R4, R3,ASR#16\n"
776 "BEQ loc_FFCA3B28\n"
777 "BL sub_FFC03CF8\n"
778 "loc_FFCA3B28:\n"
779 "MOV R1, #0x154\n"
780 "CMN R4, #0xC00\n"
781 "LDR R3, =0x3419E\n"
782 "LDR R0, =0xFFCA3338\n"
783 "ADD R1, R1, #3\n"
784 "LDREQSH R4, [R3]\n"
785 "LDRNE R3, =0x3419E\n"
786 "CMN R4, #0xC00\n"
787 "STRH R4, [R3]\n"
788 "BNE loc_FFCA3B54\n"
789 "BL sub_FFC03CF8\n"
790 "loc_FFCA3B54:\n"
791 "MOV R0, R4\n"
792 "BL apex2us\n"
793 "MOV R4, R0\n"
794
795 "MOV R0, R4\n"
796 "BL sub_FFCA2EB4\n"
797 "TST R0, #1\n"
798 "MOV R1, #0x15C\n"
799 "LDR R0, =0xFFCA3338\n"
800 "LDMEQFD SP!, {R4,PC}\n"
801 "LDMFD SP!, {R4,LR}\n"
802 "B sub_FFC03CF8\n"
803 );
804 }
805
806