This source file includes following definitions.
- capt_seq_task
- sub_FF228CC4_my
- sub_FF228C3C_my
- sub_FF228AB8_my
- sub_FF3DF054_my
1
2
3
4 #include "lolevel.h"
5 #include "platform.h"
6 #include "core.h"
7
8 #define USE_STUBS_NRFLAG 1
9 #define NR_AUTO (0)
10 #define PAUSE_FOR_FILE_COUNTER 350
11
12 #include "../../../generic/capt_seq.c"
13
14
15
16 void __attribute__((naked,noinline)) capt_seq_task() {
17 asm volatile (
18 " STMFD SP!, {R3-R7,LR} \n"
19 " LDR R5, =0x26384 \n"
20 " LDR R7, =0x3BA4 \n"
21 " MOV R6, #0 \n"
22
23 "loc_FF09CF9C:\n"
24 " LDR R0, [R7, #8] \n"
25 " MOV R2, #0 \n"
26 " MOV R1, SP \n"
27 " BL sub_006B8568 /*_ReceiveMessageQueue*/ \n"
28 " TST R0, #1 \n"
29 " BEQ loc_FF09CFCC \n"
30 " LDR R2, =0x428 \n"
31 " LDR R1, =0xFF09C89C /*'SsShootTask.c'*/ \n"
32 " MOV R0, #0 \n"
33 " BL _DebugAssert \n"
34 " BL _ExitTask \n"
35 " LDMFD SP!, {R3-R7,PC} \n"
36
37 "loc_FF09CFCC:\n"
38 " LDR R0, [SP] \n"
39 " LDR R0, [R0] \n"
40 " CMP R0, #1 \n"
41 " CMPNE R0, #0x2B \n"
42 " CMPNE R0, #0x1F \n"
43 " BLNE sub_FF229E14 \n"
44 " LDR R0, [SP] \n"
45 " LDR R1, [R0] \n"
46 " CMP R1, #0x2E \n"
47 " ADDCC PC, PC, R1, LSL#2 \n"
48 " B loc_FF09D25C \n"
49 " B loc_FF09D0B0 \n"
50 " B loc_FF09D0CC \n"
51 " B loc_FF09D0D8 \n"
52 " B loc_FF09D0EC \n"
53 " B loc_FF09D0E4 \n"
54 " B loc_FF09D0FC \n"
55 " B loc_FF09D104 \n"
56 " B loc_FF09D110 \n"
57 " B loc_FF09D11C \n"
58 " B loc_FF09D130 \n"
59 " B loc_FF09D13C \n"
60 " B loc_FF09D144 \n"
61 " B loc_FF09D25C \n"
62 " B loc_FF09D150 \n"
63 " B loc_FF09D158 \n"
64 " B loc_FF09D160 \n"
65 " B loc_FF09D168 \n"
66 " B loc_FF09D170 \n"
67 " B loc_FF09D25C \n"
68 " B loc_FF09D178 \n"
69 " B loc_FF09D180 \n"
70 " B loc_FF09D188 \n"
71 " B loc_FF09D194 \n"
72 " B loc_FF09D19C \n"
73 " B loc_FF09D1A4 \n"
74 " B loc_FF09D1AC \n"
75 " B loc_FF09D1B4 \n"
76 " B loc_FF09D25C \n"
77 " B loc_FF09D25C \n"
78 " B loc_FF09D1BC \n"
79 " B loc_FF09D1C4 \n"
80 " B loc_FF09D1CC \n"
81 " B loc_FF09D1D8 \n"
82 " B loc_FF09D25C \n"
83 " B loc_FF09D1E0 \n"
84 " B loc_FF09D25C \n"
85 " B loc_FF09D1E8 \n"
86 " B loc_FF09D1F0 \n"
87 " B loc_FF09D1F8 \n"
88 " B loc_FF09D204 \n"
89 " B loc_FF09D20C \n"
90 " B loc_FF09D25C \n"
91 " B loc_FF09D23C \n"
92 " B loc_FF09D248 \n"
93 " B loc_FF09D25C \n"
94 " B loc_FF09D26C \n"
95
96 "loc_FF09D0B0:\n"
97 " LDR R0, [R0, #0xC] \n"
98 " BL sub_FF09D900 \n"
99 " BL shooting_expo_param_override\n"
100 " BL sub_FF09A1F4 \n"
101
102
103
104 " LDR R0, [R5, #0x28] \n"
105 " CMP R0, #0 \n"
106 " BLNE sub_FF228CC4_my \n"
107 " B loc_FF09D26C \n"
108
109 "loc_FF09D0CC:\n"
110 " LDR R0, [R0, #0x10] \n"
111 " BL sub_FF228C3C_my \n"
112 " B loc_FF09D26C \n"
113
114 "loc_FF09D0D8:\n"
115 " MOV R0, #1 \n"
116 " BL sub_FF09DCB4 \n"
117 " B loc_FF09D26C \n"
118
119 "loc_FF09D0E4:\n"
120 " BL sub_FF09D460 \n"
121 " B loc_FF09D0F4 \n"
122
123 "loc_FF09D0EC:\n"
124 " LDR R0, [R0, #0xC] \n"
125 " BL sub_FF09D8D4 \n"
126
127 "loc_FF09D0F4:\n"
128 " STR R6, [R5, #0x28] \n"
129 " B loc_FF09D26C \n"
130
131 "loc_FF09D0FC:\n"
132 " BL sub_FF09D8E0 \n"
133 " B loc_FF09D26C \n"
134
135 "loc_FF09D104:\n"
136 " BL sub_FF09DB7C \n"
137 " BL sub_FF09A1F4 \n"
138 " B loc_FF09D26C \n"
139
140 "loc_FF09D110:\n"
141 " LDR R0, [R0, #0x10] \n"
142 " BL sub_FF228DC0 \n"
143 " B loc_FF09D26C \n"
144
145 "loc_FF09D11C:\n"
146 " BL sub_FF09DC04 \n"
147 " BL sub_FF09A1F4 \n"
148 " MOV R0, #0 \n"
149 " BL sub_FF031A20 \n"
150 " B loc_FF09D26C \n"
151
152 "loc_FF09D130:\n"
153 " LDR R0, [R5, #0x54] \n"
154 " BL sub_FF09E420 \n"
155 " B loc_FF09D26C \n"
156
157 "loc_FF09D13C:\n"
158 " BL sub_FF09E77C \n"
159 " B loc_FF09D26C \n"
160
161 "loc_FF09D144:\n"
162 " LDR R0, [R0, #0xC] \n"
163 " BL sub_FF09E7E4 \n"
164 " B loc_FF09D26C \n"
165
166 "loc_FF09D150:\n"
167 " BL sub_FF09E998 \n"
168 " B loc_FF09D26C \n"
169
170 "loc_FF09D158:\n"
171 " BL sub_FF09EEB0 \n"
172 " B loc_FF09D26C \n"
173
174 "loc_FF09D160:\n"
175 " BL sub_FF09EF98 \n"
176 " B loc_FF09D26C \n"
177
178 "loc_FF09D168:\n"
179 " BL sub_FF2270B0 \n"
180 " B loc_FF09D26C \n"
181
182 "loc_FF09D170:\n"
183 " BL sub_FF227304 \n"
184 " B loc_FF09D26C \n"
185
186 "loc_FF09D178:\n"
187 " BL sub_FF2273D0 \n"
188 " B loc_FF09D26C \n"
189
190 "loc_FF09D180:\n"
191 " BL sub_FF2274D0 \n"
192 " B loc_FF09D26C \n"
193
194 "loc_FF09D188:\n"
195 " MOV R0, #0 \n"
196 " BL sub_FF2277BC \n"
197 " B loc_FF09D26C \n"
198
199 "loc_FF09D194:\n"
200 " BL sub_FF227938 \n"
201 " B loc_FF09D26C \n"
202
203 "loc_FF09D19C:\n"
204 " BL sub_FF0A5E70 \n"
205 " B loc_FF09D26C \n"
206
207 "loc_FF09D1A4:\n"
208 " BL sub_FF0A5E7C \n"
209 " B loc_FF09D26C \n"
210
211 "loc_FF09D1AC:\n"
212 " BL sub_FF2279DC \n"
213 " B loc_FF09D26C \n"
214
215 "loc_FF09D1B4:\n"
216 " BL sub_FF227A90 \n"
217 " B loc_FF09D26C \n"
218
219 "loc_FF09D1BC:\n"
220 " BL sub_FF09DDE4 \n"
221 " B loc_FF09D26C \n"
222
223 "loc_FF09D1C4:\n"
224 " MOV R0, #0 \n"
225 " B loc_FF09D1D0 \n"
226
227 "loc_FF09D1CC:\n"
228 " LDR R0, [R0, #0xC] \n"
229
230 "loc_FF09D1D0:\n"
231 " BL sub_FF09DE7C \n"
232 " B loc_FF09D26C \n"
233
234 "loc_FF09D1D8:\n"
235 " BL sub_FF227684 \n"
236 " B loc_FF09D26C \n"
237
238 "loc_FF09D1E0:\n"
239 " BL sub_FF227720 \n"
240 " B loc_FF09D26C \n"
241
242 "loc_FF09D1E8:\n"
243 " BL sub_FF0A1B5C \n"
244 " B loc_FF09D26C \n"
245
246 "loc_FF09D1F0:\n"
247 " BL sub_FF0A1CA4 \n"
248 " B loc_FF09D26C \n"
249
250 "loc_FF09D1F8:\n"
251 " LDR R0, [R0, #0xC] \n"
252 " BL sub_FF227BB0 \n"
253 " B loc_FF09D26C \n"
254
255 "loc_FF09D204:\n"
256 " BL sub_FF227C40 \n"
257 " B loc_FF09D26C \n"
258
259 "loc_FF09D20C:\n"
260 " BL sub_FF0A45AC \n"
261 " LDR R0, =0x26484 \n"
262 " LDRH R0, [R0, #0x9C] \n"
263 " CMP R0, #4 \n"
264 " LDRNEH R0, [R5] \n"
265 " SUBNE R1, R0, #0x8200 \n"
266 " SUBNES R1, R1, #0x36 \n"
267 " BNE loc_FF09D26C \n"
268 " BL sub_FF0A1CA4 \n"
269 " BL sub_FF0A23B4 \n"
270 " BL sub_FF0A2228 \n"
271 " B loc_FF09D26C \n"
272
273 "loc_FF09D23C:\n"
274 " MOV R2, #0 \n"
275 " MOV R1, #0x11 \n"
276 " B loc_FF09D250 \n"
277
278 "loc_FF09D248:\n"
279 " MOV R2, #0 \n"
280 " MOV R1, #0x10 \n"
281
282 "loc_FF09D250:\n"
283 " MOV R0, #0 \n"
284 " BL sub_FF09AE1C \n"
285 " B loc_FF09D26C \n"
286
287 "loc_FF09D25C:\n"
288 " LDR R2, =0x557 \n"
289 " LDR R1, =0xFF09C89C /*'SsShootTask.c'*/ \n"
290 " MOV R0, #0 \n"
291 " BL _DebugAssert \n"
292
293 "loc_FF09D26C:\n"
294 " LDR R0, [SP] \n"
295 " LDR R1, [R0, #4] \n"
296 " LDR R0, [R7, #4] \n"
297 " BL sub_006B82FC /*_SetEventFlag*/ \n"
298 " LDR R4, [SP] \n"
299 " LDR R0, [R4, #8] \n"
300 " CMP R0, #0 \n"
301 " LDREQ R1, =0xFF09C89C /*'SsShootTask.c'*/ \n"
302 " MOVEQ R2, #0xFF \n"
303 " BLEQ _DebugAssert \n"
304 " STR R6, [R4, #8] \n"
305 " B loc_FF09CF9C \n"
306 );
307 }
308
309
310
311 void __attribute__((naked,noinline)) sub_FF228CC4_my() {
312 asm volatile (
313 " STMFD SP!, {R3-R7,LR} \n"
314 " BL sub_FF09C484 \n"
315 " MOV R4, R0 \n"
316 " MOV R0, #0xC \n"
317 " BL sub_FF0A3EC4 \n"
318 " LDR R6, =0xACF8 \n"
319 " TST R0, #1 \n"
320 " MOV R5, #1 \n"
321 " BNE loc_FF228D90 \n"
322 " MOV R2, #2 \n"
323 " MOV R1, SP \n"
324 " ADD R0, R2, #0x110 \n"
325 " BL _GetPropertyCase \n"
326 " TST R0, #1 \n"
327 " ADDNE R2, R5, #0x188 \n"
328 " LDRNE R1, =0xFF228DAC /*'SsCaptureCtrl.c'*/ \n"
329 " MOVNE R0, #0 \n"
330 " BLNE _DebugAssert \n"
331 " LDRSH R0, [SP] \n"
332 " BL sub_FF02B374 \n"
333 " BL sub_FF02B08C \n"
334 " CMP R0, #1 \n"
335 " BLS loc_FF228D98 \n"
336 " MOV R0, #0 \n"
337 " BL sub_FF02B1E4 \n"
338 " BL sub_FF0E4E30 \n"
339 " BL sub_FF09D8EC \n"
340 " BL sub_FF09F408 \n"
341 " MOV R1, R4 \n"
342 " BL sub_FF09F464 \n"
343 " MOV R2, #4 \n"
344 " ADD R1, R4, #0x30 \n"
345 " MOV R0, #0x118 \n"
346 " BL _SetPropertyCase \n"
347 " MOV R2, #4 \n"
348 " ADD R1, R4, #0x34 \n"
349 " MOV R0, #0x32 \n"
350 " BL _SetPropertyCase \n"
351 " MOV R2, #4 \n"
352 " ADD R1, R4, #8 \n"
353 " MOV R0, #0x46 \n"
354 " BL _SetPropertyCase \n"
355 " BL sub_FF229630 \n"
356 " MVN R1, #0x1000 \n"
357 " BL sub_006B8344 /*_ClearEventFlag*/ \n"
358 " MOV R0, R4 \n"
359 " BL sub_FF228704 \n"
360 " MOV R0, R4 \n"
361 " BL sub_FF3DF054_my \n"
362 " TST R0, #1 \n"
363 " BEQ loc_FF228D94 \n"
364
365 "loc_FF228D90:\n"
366 " STR R5, [R6] \n"
367
368 "loc_FF228D94:\n"
369 " LDMFD SP!, {R3-R7,PC} \n"
370
371 "loc_FF228D98:\n"
372 " STR R5, [R6] \n"
373 " BL sub_FF09AAE8 \n"
374 " BL sub_FF0A3F2C \n"
375 " LDMFD SP!, {R3-R7,PC} \n"
376 );
377 }
378
379
380
381 void __attribute__((naked,noinline)) sub_FF228C3C_my() {
382 asm volatile (
383 " STMFD SP!, {R4-R6,LR} \n"
384 " LDR R5, =0x26384 \n"
385 " MOV R6, R0 \n"
386 " LDR R0, [R5, #0x28] \n"
387 " MOV R4, #0 \n"
388 " CMP R0, #0 \n"
389 " BEQ loc_FF228C88 \n"
390 " LDR R0, =0xACF8 \n"
391 " MOV R2, R6 \n"
392 " LDR R0, [R0] \n"
393 " MOV R1, #2 \n"
394 " CMP R0, #0 \n"
395 " MOVNE R4, #0x1D \n"
396 " MOV R0, R4 \n"
397 " BL sub_FF09AE1C \n"
398 " MOV R1, R4 \n"
399 " MOV R0, R6 \n"
400 " BL sub_FF229B9C \n"
401 " B loc_FF228CB8 \n"
402
403 "loc_FF228C88:\n"
404 " MOV R0, R6 \n"
405 " BL sub_FF228AB8_my \n"
406 " TST R0, #1 \n"
407 " MOV R4, R0 \n"
408 " BEQ loc_FF228CB8 \n"
409 " MOV R2, R6 \n"
410 " MOV R1, #2 \n"
411 " MOV R0, R4 \n"
412 " BL sub_FF09AE1C \n"
413 " MOV R1, R4 \n"
414 " MOV R0, R6 \n"
415 " BL sub_FF229DB0 \n"
416
417 "loc_FF228CB8:\n"
418 " MOV R0, #0 \n"
419 " STR R0, [R5, #0x28] \n"
420 " LDMFD SP!, {R4-R6,PC} \n"
421 );
422 }
423
424
425
426 void __attribute__((naked,noinline)) sub_FF228AB8_my() {
427 asm volatile (
428 " STMFD SP!, {R3-R7,LR} \n"
429 " MOV R4, R0 \n"
430 " BL sub_FF09F408 \n"
431 " MOV R1, R4 \n"
432 " BL sub_FF09F464 \n"
433 " MOV R2, #4 \n"
434 " ADD R1, R4, #0x30 \n"
435 " MOV R0, #0x118 \n"
436 " BL _SetPropertyCase \n"
437 " MOV R2, #4 \n"
438 " ADD R1, R4, #0x34 \n"
439 " MOV R0, #0x32 \n"
440 " BL _SetPropertyCase \n"
441 " LDR R7, =0x26384 \n"
442 " LDR R0, [R7, #0x104] \n"
443 " ADD R5, R7, #0x100 \n"
444 " CMP R0, #0 \n"
445 " BNE loc_FF228B18 \n"
446 " LDRH R0, [R5, #0x9A] \n"
447 " CMP R0, #3 \n"
448 " LDRNE R0, [R4, #8] \n"
449 " CMPNE R0, #1 \n"
450 " BHI loc_FF228B3C \n"
451 " B loc_FF228B24 \n"
452
453 "loc_FF228B18:\n"
454 " LDR R0, [R4, #0xC] \n"
455 " CMP R0, #1 \n"
456 " BNE loc_FF228B3C \n"
457
458 "loc_FF228B24:\n"
459 " MOV R0, #0xC \n"
460 " BL sub_FF0A3EC4 \n"
461 " TST R0, #1 \n"
462 " BEQ loc_FF228B3C \n"
463 " BL sub_FF09AAE8 \n"
464 " B loc_FF228C28 \n"
465
466 "loc_FF228B3C:\n"
467 " LDR R0, [R7, #0xE4] \n"
468 " CMP R0, #0 \n"
469 " BEQ loc_FF228B70 \n"
470 " LDRH R0, [R5, #0x9A] \n"
471 " CMP R0, #3 \n"
472 " LDRNE R0, [R4, #8] \n"
473 " CMPNE R0, #1 \n"
474 " BHI loc_FF228BB0 \n"
475 " LDR R0, [R7, #0x104] \n"
476 " CMP R0, #0 \n"
477 " LDRNE R0, [R4, #0xC] \n"
478 " CMPNE R0, #1 \n"
479 " BHI loc_FF228BB0 \n"
480
481 "loc_FF228B70:\n"
482 " MOV R2, #2 \n"
483 " MOV R1, SP \n"
484 " ADD R0, R2, #0x110 \n"
485 " BL _GetPropertyCase \n"
486 " TST R0, #1 \n"
487 " MOVNE R2, #0xC1 \n"
488 " LDRNE R1, =0xFF228DAC /*'SsCaptureCtrl.c'*/ \n"
489 " MOVNE R0, #0 \n"
490 " BLNE _DebugAssert \n"
491 " LDRSH R0, [SP] \n"
492 " BL sub_FF02B374 \n"
493 " BL sub_FF02B08C \n"
494 " CMP R0, #1 \n"
495 " BLS loc_FF228C20 \n"
496 " MOV R0, #0 \n"
497 " BL sub_FF02B1E4 \n"
498
499 "loc_FF228BB0:\n"
500 " BL sub_FF229630 \n"
501 " MVN R1, #0x1000 \n"
502 " BL sub_006B8344 /*_ClearEventFlag*/ \n"
503 " MOV R0, R4 \n"
504 " BL sub_FF3DECDC \n"
505 " TST R0, #1 \n"
506 " MOV R6, R0 \n"
507 " BNE loc_FF228C34 \n"
508 " BL sub_FF0E4E30 \n"
509 " BL sub_FF09D8EC \n"
510 " MOV R0, R4 \n"
511 " BL sub_FF228704 \n"
512 " LDR R0, [R7, #0x128] \n"
513 " CMP R0, #0 \n"
514 " BNE loc_FF228C00 \n"
515 " LDRH R0, [R5, #0x9A] \n"
516 " CMP R0, #3 \n"
517 " LDRNE R0, [R4, #8] \n"
518 " CMPNE R0, #1 \n"
519 " BHI loc_FF228C08 \n"
520
521 "loc_FF228C00:\n"
522 " MOV R0, #2 \n"
523 " BL sub_FF0A605C \n"
524
525 "loc_FF228C08:\n"
526 " LDR R0, [R7, #0xAC] \n"
527 " CMP R0, #0 \n"
528 " MOV R0, R4 \n"
529 " BEQ loc_FF228C30 \n"
530 " BL sub_FF3DF508 \n"
531 " B loc_FF228C34 \n"
532
533 "loc_FF228C20:\n"
534 " BL sub_FF09AAE8 \n"
535 " BL sub_FF0A3F2C \n"
536
537 "loc_FF228C28:\n"
538 " MOV R0, #1 \n"
539 " LDMFD SP!, {R3-R7,PC} \n"
540
541 "loc_FF228C30:\n"
542 " BL sub_FF3DF054_my \n"
543
544 "loc_FF228C34:\n"
545 " MOV R0, R6 \n"
546 " LDMFD SP!, {R3-R7,PC} \n"
547 );
548 }
549
550
551
552 void __attribute__((naked,noinline)) sub_FF3DF054_my() {
553 asm volatile (
554 " STMFD SP!, {R1-R9,LR} \n"
555 " LDR R7, =0x26384 \n"
556 " MOV R4, R0 \n"
557 " LDR R0, [R7, #0x164] \n"
558 " ADD R5, R7, #0x100 \n"
559 " CMP R0, #0 \n"
560 " LDRNEH R0, [R5, #0x9A] \n"
561 " CMPNE R0, #3 \n"
562 " LDRNE R0, [R4, #8] \n"
563 " CMPNE R0, #1 \n"
564 " BHI loc_FF3DF08C \n"
565 " MOV R0, R4 \n"
566 " BL sub_FF22866C \n"
567 " BL sub_FF22948C \n"
568
569 "loc_FF3DF08C:\n"
570 " LDR R0, [R7, #0x190] \n"
571 " CMP R0, #2 \n"
572 " BNE loc_FF3DF0B0 \n"
573 " LDRH R0, [R5, #0x9A] \n"
574 " CMP R0, #3 \n"
575 " LDRNE R0, [R4, #8] \n"
576 " CMPNE R0, #1 \n"
577 " MOVLS R0, #5 \n"
578 " BLLS sub_FF13CF88 \n"
579
580 "loc_FF3DF0B0:\n"
581 " LDR R0, =0x139 \n"
582 " MOV R2, #4 \n"
583 " ADD R1, SP, #8 \n"
584 " BL _GetPropertyCase \n"
585 " TST R0, #1 \n"
586 " MOVNE R2, #0x150 \n"
587 " LDRNE R1, =0xFF3DF338 /*'SsStandardCaptureSeq.c'*/ \n"
588 " MOVNE R0, #0 \n"
589 " BLNE _DebugAssert \n"
590 " LDR R0, [SP, #8] \n"
591 " AND R0, R0, #0xFF00 \n"
592 " CMP R0, #0x600 \n"
593 " LDRNE R0, =0xFF228234 \n"
594 " LDREQ R0, =0xFF3DF004 \n"
595 " MOVNE R1, R4 \n"
596 " MOVEQ R1, #0 \n"
597 " BL sub_FF2F1744 \n"
598 " MOV R2, #2 \n"
599 " ADD R1, SP, #4 \n"
600 " MOV R0, #0x114 \n"
601 " BL _GetPropertyCase \n"
602 " TST R0, #1 \n"
603 " LDRNE R2, =0x159 \n"
604 " LDRNE R1, =0xFF3DF338 /*'SsStandardCaptureSeq.c'*/ \n"
605 " MOVNE R0, #0 \n"
606 " BLNE _DebugAssert \n"
607 " LDR R0, [R7, #0x184] \n"
608 " CMP R0, #0 \n"
609 " BLNE sub_FF228558 \n"
610 " MOV R0, #0 \n"
611
612 " BL wait_until_remote_button_is_released\n"
613 " BL capt_seq_hook_set_nr\n"
614 " MOV R0, R4 \n"
615 " BL sub_FF228830 \n"
616 " LDR R1, =0x1187C \n"
617 " MOV R2, #4 \n"
618 " MOV R0, #0x92 \n"
619 " BL _GetPropertyCase \n"
620 " TST R0, #1 \n"
621 " LDRNE R2, =0x16E \n"
622 " LDRNE R1, =0xFF3DF338 /*'SsStandardCaptureSeq.c'*/ \n"
623 " MOVNE R0, #0 \n"
624 " BLNE _DebugAssert \n"
625 " BL sub_FF0A0B4C \n"
626 " BL sub_FF08D7D4 \n"
627 " MOV R1, #0 \n"
628 " MOV R0, R4 \n"
629 " BL sub_FF3DF008 \n"
630 " MOV R6, R0 \n"
631 " LDR R0, [SP, #8] \n"
632 " LDR R8, =0x1187C \n"
633 " AND R0, R0, #0xFF00 \n"
634 " CMP R0, #0x600 \n"
635 " LDRH R0, [R4, #0x18] \n"
636 " LDRNE R2, =0xFF22852C \n"
637 " LDREQ R2, =0xFF22850C \n"
638 " CMP R0, #0 \n"
639 " BEQ loc_FF3DF1A4 \n"
640 " CMP R0, #1 \n"
641 " BEQ loc_FF3DF1C8 \n"
642 " CMP R0, #4 \n"
643 " BNE loc_FF3DF23C \n"
644
645 "loc_FF3DF1A4:\n"
646 " STR R6, [SP] \n"
647 " MOV R3, R2 \n"
648 " LDR R1, [R4, #0x34] \n"
649 " LDR R2, [R8] \n"
650 " MOV R0, R4 \n"
651 " BL sub_FF227F44 \n"
652 " MOV R5, R0 \n"
653 " BL sub_FF144C90 \n"
654 " B loc_FF3DF250 \n"
655
656 "loc_FF3DF1C8:\n"
657 " STR R6, [SP] \n"
658 " MOV R3, R2 \n"
659 " LDR R1, [R4, #0x34] \n"
660 " LDR R2, [R8] \n"
661 " MOV R0, R4 \n"
662 " BL sub_FF227FF0 \n"
663 " MOV R5, R0 \n"
664 " MOV R1, #0 \n"
665 " MOV R0, #0x45 \n"
666 " BL sub_FF033718 \n"
667 " TST R5, #1 \n"
668 " BNE loc_FF3DF250 \n"
669 " LDR R0, =0xFF3DF004 \n"
670 " MOV R1, #0 \n"
671 " BL sub_FF2F1744 \n"
672 " MOV R1, #1 \n"
673 " MOV R0, R4 \n"
674 " BL sub_FF3DF008 \n"
675 " MOV R6, R0 \n"
676 " LDR R0, [R8] \n"
677 " BL sub_FF2285F0 \n"
678 " LDR R1, [R4, #0x34] \n"
679 " LDR R2, [R8] \n"
680 " MOV R3, R6 \n"
681 " MOV R0, R4 \n"
682 " BL sub_FF2280A4 \n"
683 " MOV R5, R0 \n"
684 " BL sub_FF227ECC \n"
685 " B loc_FF3DF250 \n"
686
687 "loc_FF3DF23C:\n"
688 " LDR R2, =0x1A7 \n"
689 " LDR R1, =0xFF3DF338 /*'SsStandardCaptureSeq.c'*/ \n"
690 " MOV R0, #0 \n"
691 " BL _DebugAssert \n"
692 " MOV R5, #0x1D \n"
693
694 "loc_FF3DF250:\n"
695 " BL sub_FF08D7EC \n"
696 " LDR R8, =0xFF3DF004 \n"
697 " TST R5, #1 \n"
698 " BNE loc_FF3DF2D0 \n"
699 " LDR R0, [R7, #0x100] \n"
700 " CMP R0, #0 \n"
701 " BNE loc_FF3DF288 \n"
702 " MOV R0, R4 \n"
703 " BL sub_FF22A48C \n"
704 " TST R0, #1 \n"
705 " LDRNE R2, =0x1C9 \n"
706 " LDRNE R1, =0xFF3DF338 /*'SsStandardCaptureSeq.c'*/ \n"
707 " MOVNE R0, #0 \n"
708 " BLNE _DebugAssert \n"
709 " BL capt_seq_hook_raw_here \n"
710
711 "loc_FF3DF288:\n"
712 " MOV R0, R4 \n"
713 " BL sub_FF228900 \n"
714 " MOV R0, R4 \n"
715 " BL sub_FF2288B8 \n"
716 " CMP R6, R8 \n"
717 " BEQ loc_FF3DF2D0 \n"
718 " BL sub_FF229630 \n"
719 " LDR R9, =0x1D6 \n"
720 " LDR R2, =0x3A98 \n"
721 " LDR R3, =0xFF3DF338 /*'SsStandardCaptureSeq.c'*/ \n"
722 " MOV R1, #4 \n"
723 " STR R9, [SP] \n"
724 " BL sub_FF0A4168 \n"
725 " CMP R0, #0 \n"
726 " MOVNE R2, R9 \n"
727 " LDRNE R1, =0xFF3DF338 /*'SsStandardCaptureSeq.c'*/ \n"
728 " MOVNE R0, #0 \n"
729 " BLNE _DebugAssert \n"
730
731 "loc_FF3DF2D0:\n"
732 " MOV R2, R4 \n"
733 " MOV R1, #2 \n"
734 " MOV R0, R5 \n"
735 " BL sub_FF09AE1C \n"
736 " LDR R0, [R7, #0x28] \n"
737 " CMP R0, #0 \n"
738 " BEQ loc_FF3DF304 \n"
739 " SUBS R1, R6, R8 \n"
740 " MOVNE R1, #1 \n"
741 " MOV R2, R5 \n"
742 " MOV R0, R4 \n"
743 " BL sub_FF229B34 \n"
744 " B loc_FF3DF318 \n"
745
746 "loc_FF3DF304:\n"
747 " SUBS R1, R6, R8 \n"
748 " MOVNE R1, #1 \n"
749 " MOV R2, R5 \n"
750 " MOV R0, R4 \n"
751 " BL sub_FF229AC8 \n"
752
753 "loc_FF3DF318:\n"
754 " MOV R0, R5 \n"
755 " LDMFD SP!, {R1-R9,PC} \n"
756 " .ltorg\n"
757 );
758 }