1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_8025A710
func_8025A710:
/* 8025A710 00256370 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025A714 00256374 7C 08 02 A6 */ mflr r0
/* 8025A718 00256378 3C 80 01 F3 */ lis r4, 0x01F34C7C@ha
/* 8025A71C 0025637C 3C A0 80 26 */ lis r5, lbl_8025A984@ha
/* 8025A720 00256380 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025A724 00256384 38 84 4C 7C */ addi r4, r4, 0x01F34C7C@l
/* 8025A728 00256388 38 A5 A9 84 */ addi r5, r5, lbl_8025A984@l
/* 8025A72C 0025638C 38 E0 10 00 */ li r7, 0x1000
/* 8025A730 00256390 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8025A734 00256394 7C 7F 1B 78 */ mr r31, r3
/* 8025A738 00256398 7F E6 FB 78 */ mr r6, r31
/* 8025A73C 0025639C 39 00 00 0C */ li r8, 0xc
/* 8025A740 002563A0 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 8025A744 002563A4 39 20 00 01 */ li r9, 1
/* 8025A748 002563A8 4B FC 9A CD */ bl func_80224214
/* 8025A74C 002563AC 2C 03 00 00 */ cmpwi r3, 0
/* 8025A750 002563B0 90 7F 02 00 */ stw r3, 0x200(r31)
/* 8025A754 002563B4 40 82 00 0C */ bne lbl_8025A760
/* 8025A758 002563B8 38 60 00 00 */ li r3, 0
/* 8025A75C 002563BC 48 00 00 38 */ b lbl_8025A794
lbl_8025A760:
/* 8025A760 002563C0 38 7F 02 0C */ addi r3, r31, 0x20c
/* 8025A764 002563C4 38 9F 02 2C */ addi r4, r31, 0x22c
/* 8025A768 002563C8 38 A0 00 0A */ li r5, 0xa
/* 8025A76C 002563CC 48 01 47 8D */ bl OSInitMessageQueue
/* 8025A770 002563D0 38 7F 02 54 */ addi r3, r31, 0x254
/* 8025A774 002563D4 38 9F 02 74 */ addi r4, r31, 0x274
/* 8025A778 002563D8 38 A0 00 0A */ li r5, 0xa
/* 8025A77C 002563DC 48 01 47 7D */ bl OSInitMessageQueue
/* 8025A780 002563E0 38 7F 02 9C */ addi r3, r31, 0x29c
/* 8025A784 002563E4 38 9F 02 BC */ addi r4, r31, 0x2bc
/* 8025A788 002563E8 38 A0 00 0A */ li r5, 0xa
/* 8025A78C 002563EC 48 01 47 6D */ bl OSInitMessageQueue
/* 8025A790 002563F0 38 60 00 01 */ li r3, 1
lbl_8025A794:
/* 8025A794 002563F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025A798 002563F8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8025A79C 002563FC 7C 08 03 A6 */ mtlr r0
/* 8025A7A0 00256400 38 21 00 10 */ addi r1, r1, 0x10
/* 8025A7A4 00256404 4E 80 00 20 */ blr
.global func_8025A7A8
func_8025A7A8:
/* 8025A7A8 00256408 80 63 02 00 */ lwz r3, 0x200(r3)
/* 8025A7AC 0025640C 2C 03 00 00 */ cmpwi r3, 0
/* 8025A7B0 00256410 4D 82 00 20 */ beqlr
/* 8025A7B4 00256414 4B FC 9E E4 */ b func_80224698
/* 8025A7B8 00256418 4E 80 00 20 */ blr
.global func_8025A7BC
func_8025A7BC:
/* 8025A7BC 0025641C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8025A7C0 00256420 7C 08 02 A6 */ mflr r0
/* 8025A7C4 00256424 90 01 00 24 */ stw r0, 0x24(r1)
/* 8025A7C8 00256428 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8025A7CC 0025642C 7C 7F 1B 78 */ mr r31, r3
/* 8025A7D0 00256430 80 03 02 00 */ lwz r0, 0x200(r3)
/* 8025A7D4 00256434 2C 00 00 00 */ cmpwi r0, 0
/* 8025A7D8 00256438 41 82 00 18 */ beq lbl_8025A7F0
/* 8025A7DC 0025643C 7C 03 03 78 */ mr r3, r0
/* 8025A7E0 00256440 38 80 00 00 */ li r4, 0
/* 8025A7E4 00256444 4B FC 9E C9 */ bl func_802246AC
/* 8025A7E8 00256448 38 00 00 00 */ li r0, 0
/* 8025A7EC 0025644C 90 1F 02 00 */ stw r0, 0x200(r31)
lbl_8025A7F0:
/* 8025A7F0 00256450 88 1F 00 6B */ lbz r0, 0x6b(r31)
/* 8025A7F4 00256454 2C 00 00 00 */ cmpwi r0, 0
/* 8025A7F8 00256458 41 82 00 2C */ beq lbl_8025A824
lbl_8025A7FC:
/* 8025A7FC 0025645C 38 7F 02 54 */ addi r3, r31, 0x254
/* 8025A800 00256460 38 81 00 08 */ addi r4, r1, 8
/* 8025A804 00256464 38 A0 00 00 */ li r5, 0
/* 8025A808 00256468 48 01 48 19 */ bl OSReceiveMessage
/* 8025A80C 0025646C 2C 03 00 00 */ cmpwi r3, 0
/* 8025A810 00256470 40 82 FF EC */ bne lbl_8025A7FC
/* 8025A814 00256474 48 00 00 10 */ b lbl_8025A824
lbl_8025A818:
/* 8025A818 00256478 80 81 00 08 */ lwz r4, 8(r1)
/* 8025A81C 0025647C 7F E3 FB 78 */ mr r3, r31
/* 8025A820 00256480 48 00 04 C1 */ bl func_8025ACE0
lbl_8025A824:
/* 8025A824 00256484 38 7F 02 9C */ addi r3, r31, 0x29c
/* 8025A828 00256488 38 81 00 08 */ addi r4, r1, 8
/* 8025A82C 0025648C 38 A0 00 00 */ li r5, 0
/* 8025A830 00256490 48 01 47 F1 */ bl OSReceiveMessage
/* 8025A834 00256494 2C 03 00 00 */ cmpwi r3, 0
/* 8025A838 00256498 40 82 FF E0 */ bne lbl_8025A818
/* 8025A83C 0025649C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8025A840 002564A0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8025A844 002564A4 7C 08 03 A6 */ mtlr r0
/* 8025A848 002564A8 38 21 00 20 */ addi r1, r1, 0x20
/* 8025A84C 002564AC 4E 80 00 20 */ blr
/* 8025A850 002564B0 80 A4 00 88 */ lwz r5, 0x88(r4)
/* 8025A854 002564B4 80 64 00 7C */ lwz r3, 0x7c(r4)
/* 8025A858 002564B8 80 04 00 20 */ lwz r0, 0x20(r4)
/* 8025A85C 002564BC 7C 65 1A 14 */ add r3, r5, r3
/* 8025A860 002564C0 7C 03 00 40 */ cmplw r3, r0
/* 8025A864 002564C4 90 64 00 88 */ stw r3, 0x88(r4)
/* 8025A868 002564C8 41 80 00 0C */ blt lbl_8025A874
/* 8025A86C 002564CC 80 04 00 2C */ lwz r0, 0x2c(r4)
/* 8025A870 002564D0 90 04 00 88 */ stw r0, 0x88(r4)
lbl_8025A874:
/* 8025A874 002564D4 38 00 00 01 */ li r0, 1
/* 8025A878 002564D8 90 04 00 80 */ stw r0, 0x80(r4)
/* 8025A87C 002564DC 4E 80 00 20 */ blr
.global func_8025A880
func_8025A880:
/* 8025A880 002564E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025A884 002564E4 7C 08 02 A6 */ mflr r0
/* 8025A888 002564E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025A88C 002564EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8025A890 002564F0 7C 7F 1B 78 */ mr r31, r3
/* 8025A894 002564F4 93 C1 00 08 */ stw r30, 8(r1)
/* 8025A898 002564F8 7C 9E 23 78 */ mr r30, r4
/* 8025A89C 002564FC 80 03 00 9C */ lwz r0, 0x9c(r3)
/* 8025A8A0 00256500 90 04 00 04 */ stw r0, 4(r4)
/* 8025A8A4 00256504 88 03 00 6B */ lbz r0, 0x6b(r3)
/* 8025A8A8 00256508 2C 00 00 00 */ cmpwi r0, 0
/* 8025A8AC 0025650C 41 82 00 0C */ beq lbl_8025A8B8
/* 8025A8B0 00256510 48 00 04 6D */ bl func_8025AD1C
/* 8025A8B4 00256514 48 00 00 08 */ b lbl_8025A8BC
lbl_8025A8B8:
/* 8025A8B8 00256518 48 00 04 A1 */ bl func_8025AD58
lbl_8025A8BC:
/* 8025A8BC 0025651C 80 7E 00 00 */ lwz r3, 0(r30)
/* 8025A8C0 00256520 80 9F 00 94 */ lwz r4, 0x94(r31)
/* 8025A8C4 00256524 48 00 FD 91 */ bl DCFlushRange
/* 8025A8C8 00256528 80 7F 00 98 */ lwz r3, 0x98(r31)
/* 8025A8CC 0025652C 80 1F 00 94 */ lwz r0, 0x94(r31)
/* 8025A8D0 00256530 7C A3 02 14 */ add r5, r3, r0
/* 8025A8D4 00256534 90 BF 00 98 */ stw r5, 0x98(r31)
/* 8025A8D8 00256538 80 7E 00 00 */ lwz r3, 0(r30)
/* 8025A8DC 0025653C 80 63 00 00 */ lwz r3, 0(r3)
/* 8025A8E0 00256540 2C 03 00 00 */ cmpwi r3, 0
/* 8025A8E4 00256544 90 7F 00 94 */ stw r3, 0x94(r31)
/* 8025A8E8 00256548 41 80 00 10 */ blt lbl_8025A8F8
/* 8025A8EC 0025654C 80 1F 00 7C */ lwz r0, 0x7c(r31)
/* 8025A8F0 00256550 7C 03 00 40 */ cmplw r3, r0
/* 8025A8F4 00256554 40 81 00 14 */ ble lbl_8025A908
lbl_8025A8F8:
/* 8025A8F8 00256558 38 00 00 09 */ li r0, 9
/* 8025A8FC 0025655C 98 1F 00 6A */ stb r0, 0x6a(r31)
/* 8025A900 00256560 98 1F 00 69 */ stb r0, 0x69(r31)
/* 8025A904 00256564 48 00 00 68 */ b lbl_8025A96C
lbl_8025A908:
/* 8025A908 00256568 80 7F 00 9C */ lwz r3, 0x9c(r31)
/* 8025A90C 0025656C 80 1F 00 90 */ lwz r0, 0x90(r31)
/* 8025A910 00256570 80 DF 00 18 */ lwz r6, 0x18(r31)
/* 8025A914 00256574 7C 83 02 14 */ add r4, r3, r0
/* 8025A918 00256578 7C 64 33 96 */ divwu r3, r4, r6
/* 8025A91C 0025657C 38 06 FF FF */ addi r0, r6, -1
/* 8025A920 00256580 7C 63 31 D6 */ mullw r3, r3, r6
/* 8025A924 00256584 7C 63 20 50 */ subf r3, r3, r4
/* 8025A928 00256588 7C 03 00 40 */ cmplw r3, r0
/* 8025A92C 0025658C 41 82 00 14 */ beq lbl_8025A940
/* 8025A930 00256590 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 8025A934 00256594 38 03 FF FF */ addi r0, r3, -1
/* 8025A938 00256598 7C 05 00 40 */ cmplw r5, r0
/* 8025A93C 0025659C 41 80 00 24 */ blt lbl_8025A960
lbl_8025A940:
/* 8025A940 002565A0 88 1F 00 6E */ lbz r0, 0x6e(r31)
/* 8025A944 002565A4 2C 00 00 00 */ cmpwi r0, 0
/* 8025A948 002565A8 41 82 00 10 */ beq lbl_8025A958
/* 8025A94C 002565AC 38 00 00 01 */ li r0, 1
/* 8025A950 002565B0 98 1F 00 71 */ stb r0, 0x71(r31)
/* 8025A954 002565B4 48 00 00 0C */ b lbl_8025A960
lbl_8025A958:
/* 8025A958 002565B8 80 7F 02 00 */ lwz r3, 0x200(r31)
/* 8025A95C 002565BC 4B FC 9D D1 */ bl func_8022472C
lbl_8025A960:
/* 8025A960 002565C0 80 7F 00 9C */ lwz r3, 0x9c(r31)
/* 8025A964 002565C4 38 03 00 01 */ addi r0, r3, 1
/* 8025A968 002565C8 90 1F 00 9C */ stw r0, 0x9c(r31)
lbl_8025A96C:
/* 8025A96C 002565CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025A970 002565D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8025A974 002565D4 83 C1 00 08 */ lwz r30, 8(r1)
/* 8025A978 002565D8 7C 08 03 A6 */ mtlr r0
/* 8025A97C 002565DC 38 21 00 10 */ addi r1, r1, 0x10
/* 8025A980 002565E0 4E 80 00 20 */ blr
lbl_8025A984:
/* 8025A984 002565E4 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8025A988 002565E8 7C 08 02 A6 */ mflr r0
/* 8025A98C 002565EC 90 01 00 84 */ stw r0, 0x84(r1)
/* 8025A990 002565F0 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 8025A994 002565F4 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 8025A998 002565F8 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 8025A99C 002565FC F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 8025A9A0 00256600 DB A1 00 50 */ stfd f29, 0x50(r1)
/* 8025A9A4 00256604 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 8025A9A8 00256608 39 61 00 50 */ addi r11, r1, 0x50
/* 8025A9AC 0025660C 4B F6 C7 59 */ bl _savegpr_18
/* 8025A9B0 00256610 3A E0 00 01 */ li r23, 1
/* 8025A9B4 00256614 3B 80 00 00 */ li r28, 0
/* 8025A9B8 00256618 9A E3 00 71 */ stb r23, 0x71(r3)
/* 8025A9BC 0025661C 7C 7A 1B 78 */ mr r26, r3
/* 8025A9C0 00256620 3A C0 00 00 */ li r22, 0
/* 8025A9C4 00256624 93 83 00 80 */ stw r28, 0x80(r3)
/* 8025A9C8 00256628 CB C2 9F E0 */ lfd f30, lbl_806425E0-_SDA2_BASE_(r2)
/* 8025A9CC 0025662C 3F C0 80 26 */ lis r30, 0x8026
/* 8025A9D0 00256630 C3 E2 9F D8 */ lfs f31, lbl_806425D8-_SDA2_BASE_(r2)
/* 8025A9D4 00256634 3F E0 43 30 */ lis r31, 0x4330
/* 8025A9D8 00256638 3B A0 00 01 */ li r29, 1
/* 8025A9DC 0025663C 3A 40 FF FF */ li r18, -1
lbl_8025A9E0:
/* 8025A9E0 00256640 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8025A9E4 00256644 38 60 00 00 */ li r3, 0
/* 8025A9E8 00256648 88 04 00 82 */ lbz r0, 0x82(r4)
/* 8025A9EC 0025664C 2C 00 00 00 */ cmpwi r0, 0
/* 8025A9F0 00256650 40 82 00 10 */ bne lbl_8025AA00
/* 8025A9F4 00256654 88 04 00 83 */ lbz r0, 0x83(r4)
/* 8025A9F8 00256658 2C 00 00 00 */ cmpwi r0, 0
/* 8025A9FC 0025665C 41 82 00 08 */ beq lbl_8025AA04
lbl_8025AA00:
/* 8025AA00 00256660 38 60 00 01 */ li r3, 1
lbl_8025AA04:
/* 8025AA04 00256664 2C 03 00 00 */ cmpwi r3, 0
/* 8025AA08 00256668 40 82 02 50 */ bne lbl_8025AC58
/* 8025AA0C 0025666C 88 1A 00 70 */ lbz r0, 0x70(r26)
/* 8025AA10 00256670 2C 00 00 00 */ cmpwi r0, 0
/* 8025AA14 00256674 41 82 00 10 */ beq lbl_8025AA24
/* 8025AA18 00256678 88 1A 00 75 */ lbz r0, 0x75(r26)
/* 8025AA1C 0025667C 7C 00 07 75 */ extsb. r0, r0
/* 8025AA20 00256680 40 82 02 38 */ bne lbl_8025AC58
lbl_8025AA24:
/* 8025AA24 00256684 7F 43 D3 78 */ mr r3, r26
/* 8025AA28 00256688 48 00 02 61 */ bl func_8025AC88
/* 8025AA2C 0025668C 80 9A 00 94 */ lwz r4, 0x94(r26)
/* 8025AA30 00256690 7C 79 1B 78 */ mr r25, r3
/* 8025AA34 00256694 80 1A 00 7C */ lwz r0, 0x7c(r26)
/* 8025AA38 00256698 7C 04 00 40 */ cmplw r4, r0
/* 8025AA3C 0025669C 40 81 00 08 */ ble lbl_8025AA44
/* 8025AA40 002566A0 9B BA 00 71 */ stb r29, 0x71(r26)
lbl_8025AA44:
/* 8025AA44 002566A4 88 1A 00 71 */ lbz r0, 0x71(r26)
/* 8025AA48 002566A8 2C 00 00 00 */ cmpwi r0, 0
/* 8025AA4C 002566AC 41 82 00 38 */ beq lbl_8025AA84
/* 8025AA50 002566B0 2C 17 00 00 */ cmpwi r23, 0
/* 8025AA54 002566B4 41 82 00 14 */ beq lbl_8025AA68
/* 8025AA58 002566B8 80 1A 00 84 */ lwz r0, 0x84(r26)
/* 8025AA5C 002566BC 3A E0 00 00 */ li r23, 0
/* 8025AA60 002566C0 90 1A 00 88 */ stw r0, 0x88(r26)
/* 8025AA64 002566C4 48 00 00 0C */ b lbl_8025AA70
lbl_8025AA68:
/* 8025AA68 002566C8 80 1A 00 2C */ lwz r0, 0x2c(r26)
/* 8025AA6C 002566CC 90 1A 00 88 */ stw r0, 0x88(r26)
lbl_8025AA70:
/* 8025AA70 002566D0 80 1A 00 8C */ lwz r0, 0x8c(r26)
/* 8025AA74 002566D4 93 9A 00 98 */ stw r28, 0x98(r26)
/* 8025AA78 002566D8 90 1A 00 94 */ stw r0, 0x94(r26)
/* 8025AA7C 002566DC 93 9A 00 9C */ stw r28, 0x9c(r26)
/* 8025AA80 002566E0 9B 9A 00 71 */ stb r28, 0x71(r26)
lbl_8025AA84:
/* 8025AA84 002566E4 80 BA 00 7C */ lwz r5, 0x7c(r26)
/* 8025AA88 002566E8 80 9A 00 98 */ lwz r4, 0x98(r26)
/* 8025AA8C 002566EC 7C 04 2B 96 */ divwu r0, r4, r5
/* 8025AA90 002566F0 7C 00 29 D6 */ mullw r0, r0, r5
/* 8025AA94 002566F4 7E A0 20 51 */ subf. r21, r0, r4
/* 8025AA98 002566F8 41 82 00 5C */ beq lbl_8025AAF4
/* 8025AA9C 002566FC 83 7A 00 94 */ lwz r27, 0x94(r26)
/* 8025AAA0 00256700 7C 15 DA 14 */ add r0, r21, r27
/* 8025AAA4 00256704 7C 05 00 40 */ cmplw r5, r0
/* 8025AAA8 00256708 40 80 00 3C */ bge lbl_8025AAE4
/* 8025AAAC 0025670C 80 1A 00 78 */ lwz r0, 0x78(r26)
/* 8025AAB0 00256710 7E 95 28 50 */ subf r20, r21, r5
/* 8025AAB4 00256714 80 63 00 00 */ lwz r3, 0(r3)
/* 8025AAB8 00256718 7E 85 A3 78 */ mr r5, r20
/* 8025AABC 0025671C 7C 80 AA 14 */ add r4, r0, r21
/* 8025AAC0 00256720 4B DA 95 41 */ bl memcpy
/* 8025AAC4 00256724 80 79 00 00 */ lwz r3, 0(r25)
/* 8025AAC8 00256728 7E 84 A3 78 */ mr r4, r20
/* 8025AACC 0025672C 48 00 FB E9 */ bl DCFlushRangeNoSync
/* 8025AAD0 00256730 80 1A 00 94 */ lwz r0, 0x94(r26)
/* 8025AAD4 00256734 38 60 00 01 */ li r3, 1
/* 8025AAD8 00256738 3A A0 00 00 */ li r21, 0
/* 8025AADC 0025673C 7F 74 00 50 */ subf r27, r20, r0
/* 8025AAE0 00256740 48 00 00 20 */ b lbl_8025AB00
lbl_8025AAE4:
/* 8025AAE4 00256744 38 60 00 00 */ li r3, 0
/* 8025AAE8 00256748 3A 80 00 00 */ li r20, 0
/* 8025AAEC 0025674C 3B 00 00 01 */ li r24, 1
/* 8025AAF0 00256750 48 00 00 10 */ b lbl_8025AB00
lbl_8025AAF4:
/* 8025AAF4 00256754 83 7A 00 94 */ lwz r27, 0x94(r26)
/* 8025AAF8 00256758 38 60 00 01 */ li r3, 1
/* 8025AAFC 0025675C 3A 80 00 00 */ li r20, 0
lbl_8025AB00:
/* 8025AB00 00256760 2C 03 00 00 */ cmpwi r3, 0
/* 8025AB04 00256764 41 82 00 F8 */ beq lbl_8025ABFC
/* 8025AB08 00256768 80 7A 00 88 */ lwz r3, 0x88(r26)
/* 8025AB0C 0025676C 80 1A 00 20 */ lwz r0, 0x20(r26)
/* 8025AB10 00256770 82 7A 00 7C */ lwz r19, 0x7c(r26)
/* 8025AB14 00256774 7C 03 00 50 */ subf r0, r3, r0
/* 8025AB18 00256778 7C 00 98 40 */ cmplw r0, r19
/* 8025AB1C 0025677C 40 80 00 08 */ bge lbl_8025AB24
/* 8025AB20 00256780 7C 13 03 78 */ mr r19, r0
lbl_8025AB24:
/* 8025AB24 00256784 2C 16 00 00 */ cmpwi r22, 0
/* 8025AB28 00256788 93 9A 00 80 */ stw r28, 0x80(r26)
/* 8025AB2C 0025678C 41 82 00 0C */ beq lbl_8025AB38
/* 8025AB30 00256790 C3 A2 9F D0 */ lfs f29, lbl_806425D0-_SDA2_BASE_(r2)
/* 8025AB34 00256794 48 00 00 08 */ b lbl_8025AB3C
lbl_8025AB38:
/* 8025AB38 00256798 C3 A2 9F D4 */ lfs f29, lbl_806425D4-_SDA2_BASE_(r2)
lbl_8025AB3C:
/* 8025AB3C 0025679C 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8025AB40 002567A0 38 60 00 00 */ li r3, 0
/* 8025AB44 002567A4 88 04 00 82 */ lbz r0, 0x82(r4)
/* 8025AB48 002567A8 2C 00 00 00 */ cmpwi r0, 0
/* 8025AB4C 002567AC 40 82 00 10 */ bne lbl_8025AB5C
/* 8025AB50 002567B0 88 04 00 83 */ lbz r0, 0x83(r4)
/* 8025AB54 002567B4 2C 00 00 00 */ cmpwi r0, 0
/* 8025AB58 002567B8 41 82 00 08 */ beq lbl_8025AB60
lbl_8025AB5C:
/* 8025AB5C 002567BC 38 60 00 01 */ li r3, 1
lbl_8025AB60:
/* 8025AB60 002567C0 2C 03 00 00 */ cmpwi r3, 0
/* 8025AB64 002567C4 40 82 00 88 */ bne lbl_8025ABEC
/* 8025AB68 002567C8 80 7A 00 00 */ lwz r3, 0(r26)
/* 8025AB6C 002567CC 7E 66 9B 78 */ mr r6, r19
/* 8025AB70 002567D0 80 BA 00 78 */ lwz r5, 0x78(r26)
/* 8025AB74 002567D4 7F 49 D3 78 */ mr r9, r26
/* 8025AB78 002567D8 80 FA 00 88 */ lwz r7, 0x88(r26)
/* 8025AB7C 002567DC 7F 2A CB 78 */ mr r10, r25
/* 8025AB80 002567E0 39 1E A8 50 */ addi r8, r30, -22448
/* 8025AB84 002567E4 38 80 00 00 */ li r4, 0
/* 8025AB88 002567E8 4B FE EF 29 */ bl func_80249AB0
/* 8025AB8C 002567EC 2C 03 00 00 */ cmpwi r3, 0
/* 8025AB90 002567F0 7C 78 1B 78 */ mr r24, r3
/* 8025AB94 002567F4 40 82 00 68 */ bne lbl_8025ABFC
/* 8025AB98 002567F8 80 7A 00 00 */ lwz r3, 0(r26)
/* 8025AB9C 002567FC 4B FE E2 25 */ bl func_80248DC0
/* 8025ABA0 00256800 2C 03 00 00 */ cmpwi r3, 0
/* 8025ABA4 00256804 41 82 00 58 */ beq lbl_8025ABFC
/* 8025ABA8 00256808 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8025ABAC 0025680C 8A C3 00 59 */ lbz r22, 0x59(r3)
/* 8025ABB0 00256810 4B FE 54 3D */ bl func_8023FFEC
/* 8025ABB4 00256814 92 C1 00 0C */ stw r22, 0xc(r1)
/* 8025ABB8 00256818 93 E1 00 08 */ stw r31, 8(r1)
/* 8025ABBC 0025681C C8 01 00 08 */ lfd f0, 8(r1)
/* 8025ABC0 00256820 EC 00 F0 28 */ fsubs f0, f0, f30
/* 8025ABC4 00256824 EC 01 00 24 */ fdivs f0, f1, f0
/* 8025ABC8 00256828 FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 8025ABCC 0025682C 40 81 00 08 */ ble lbl_8025ABD4
/* 8025ABD0 00256830 48 00 00 08 */ b lbl_8025ABD8
lbl_8025ABD4:
/* 8025ABD4 00256834 FC 00 F8 90 */ fmr f0, f31
lbl_8025ABD8:
/* 8025ABD8 00256838 EF BD 00 28 */ fsubs f29, f29, f0
/* 8025ABDC 0025683C FC 1D F8 40 */ fcmpo cr0, f29, f31
/* 8025ABE0 00256840 4C 40 13 82 */ cror 2, 0, 2
/* 8025ABE4 00256844 41 82 00 18 */ beq lbl_8025ABFC
/* 8025ABE8 00256848 48 00 00 08 */ b lbl_8025ABF0
lbl_8025ABEC:
/* 8025ABEC 0025684C C3 A2 9F D0 */ lfs f29, lbl_806425D0-_SDA2_BASE_(r2)
lbl_8025ABF0:
/* 8025ABF0 00256850 80 7A 02 00 */ lwz r3, 0x200(r26)
/* 8025ABF4 00256854 4B FC 9A 49 */ bl func_8022463C
/* 8025ABF8 00256858 4B FF FF 44 */ b lbl_8025AB3C
lbl_8025ABFC:
/* 8025ABFC 0025685C 2C 18 00 00 */ cmpwi r24, 0
/* 8025AC00 00256860 41 82 00 40 */ beq lbl_8025AC40
/* 8025AC04 00256864 80 79 00 00 */ lwz r3, 0(r25)
/* 8025AC08 00256868 7F 65 DB 78 */ mr r5, r27
/* 8025AC0C 0025686C 80 1A 00 78 */ lwz r0, 0x78(r26)
/* 8025AC10 00256870 7C 63 A2 14 */ add r3, r3, r20
/* 8025AC14 00256874 7C 80 AA 14 */ add r4, r0, r21
/* 8025AC18 00256878 4B DA 93 E9 */ bl memcpy
/* 8025AC1C 0025687C 80 19 00 00 */ lwz r0, 0(r25)
/* 8025AC20 00256880 7F 64 DB 78 */ mr r4, r27
/* 8025AC24 00256884 7C 60 A2 14 */ add r3, r0, r20
/* 8025AC28 00256888 48 00 FA 8D */ bl DCFlushRangeNoSync
/* 8025AC2C 0025688C 48 00 D6 35 */ bl PPCSync
/* 8025AC30 00256890 7F 43 D3 78 */ mr r3, r26
/* 8025AC34 00256894 7F 24 CB 78 */ mr r4, r25
/* 8025AC38 00256898 4B FF FC 49 */ bl func_8025A880
/* 8025AC3C 0025689C 48 00 00 1C */ b lbl_8025AC58
lbl_8025AC40:
/* 8025AC40 002568A0 7F 43 D3 78 */ mr r3, r26
/* 8025AC44 002568A4 7F 24 CB 78 */ mr r4, r25
/* 8025AC48 002568A8 48 00 00 99 */ bl func_8025ACE0
/* 8025AC4C 002568AC 9A 5A 00 75 */ stb r18, 0x75(r26)
/* 8025AC50 002568B0 80 7A 02 00 */ lwz r3, 0x200(r26)
/* 8025AC54 002568B4 4B FC 9A D9 */ bl func_8022472C
lbl_8025AC58:
/* 8025AC58 002568B8 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8025AC5C 002568BC 3A C0 00 00 */ li r22, 0
/* 8025AC60 002568C0 88 03 00 82 */ lbz r0, 0x82(r3)
/* 8025AC64 002568C4 2C 00 00 00 */ cmpwi r0, 0
/* 8025AC68 002568C8 40 82 00 10 */ bne lbl_8025AC78
/* 8025AC6C 002568CC 88 03 00 83 */ lbz r0, 0x83(r3)
/* 8025AC70 002568D0 2C 00 00 00 */ cmpwi r0, 0
/* 8025AC74 002568D4 41 82 00 08 */ beq lbl_8025AC7C
lbl_8025AC78:
/* 8025AC78 002568D8 3A C0 00 01 */ li r22, 1
lbl_8025AC7C:
/* 8025AC7C 002568DC 80 7A 02 00 */ lwz r3, 0x200(r26)
/* 8025AC80 002568E0 4B FC 99 BD */ bl func_8022463C
/* 8025AC84 002568E4 4B FF FD 5C */ b lbl_8025A9E0
.global func_8025AC88
func_8025AC88:
/* 8025AC88 002568E8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8025AC8C 002568EC 7C 08 02 A6 */ mflr r0
/* 8025AC90 002568F0 38 A0 00 01 */ li r5, 1
/* 8025AC94 002568F4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8025AC98 002568F8 38 81 00 08 */ addi r4, r1, 8
/* 8025AC9C 002568FC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8025ACA0 00256900 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8025ACA4 00256904 7C 7E 1B 78 */ mr r30, r3
/* 8025ACA8 00256908 38 63 02 0C */ addi r3, r3, 0x20c
/* 8025ACAC 0025690C 48 01 43 75 */ bl OSReceiveMessage
/* 8025ACB0 00256910 83 E1 00 08 */ lwz r31, 8(r1)
/* 8025ACB4 00256914 38 80 00 00 */ li r4, 0
/* 8025ACB8 00256918 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 8025ACBC 0025691C 80 7F 00 00 */ lwz r3, 0(r31)
/* 8025ACC0 00256920 4B DA 94 45 */ bl memset
/* 8025ACC4 00256924 7F E3 FB 78 */ mr r3, r31
/* 8025ACC8 00256928 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8025ACCC 0025692C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8025ACD0 00256930 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8025ACD4 00256934 7C 08 03 A6 */ mtlr r0
/* 8025ACD8 00256938 38 21 00 20 */ addi r1, r1, 0x20
/* 8025ACDC 0025693C 4E 80 00 20 */ blr
.global func_8025ACE0
func_8025ACE0:
/* 8025ACE0 00256940 38 A0 00 01 */ li r5, 1
/* 8025ACE4 00256944 38 63 02 0C */ addi r3, r3, 0x20c
/* 8025ACE8 00256948 48 01 42 70 */ b OSSendMessage
.global func_8025ACEC
func_8025ACEC:
/* 8025ACEC 0025694C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025ACF0 00256950 7C 08 02 A6 */ mflr r0
/* 8025ACF4 00256954 38 A0 00 01 */ li r5, 1
/* 8025ACF8 00256958 38 63 02 54 */ addi r3, r3, 0x254
/* 8025ACFC 0025695C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025AD00 00256960 38 81 00 08 */ addi r4, r1, 8
/* 8025AD04 00256964 48 01 43 1D */ bl OSReceiveMessage
/* 8025AD08 00256968 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025AD0C 0025696C 80 61 00 08 */ lwz r3, 8(r1)
/* 8025AD10 00256970 7C 08 03 A6 */ mtlr r0
/* 8025AD14 00256974 38 21 00 10 */ addi r1, r1, 0x10
/* 8025AD18 00256978 4E 80 00 20 */ blr
.global func_8025AD1C
func_8025AD1C:
/* 8025AD1C 0025697C 38 A0 00 01 */ li r5, 1
/* 8025AD20 00256980 38 63 02 54 */ addi r3, r3, 0x254
/* 8025AD24 00256984 48 01 42 34 */ b OSSendMessage
.global func_8025AD28
func_8025AD28:
/* 8025AD28 00256988 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025AD2C 0025698C 7C 08 02 A6 */ mflr r0
/* 8025AD30 00256990 38 A0 00 01 */ li r5, 1
/* 8025AD34 00256994 38 63 02 9C */ addi r3, r3, 0x29c
/* 8025AD38 00256998 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025AD3C 0025699C 38 81 00 08 */ addi r4, r1, 8
/* 8025AD40 002569A0 48 01 42 E1 */ bl OSReceiveMessage
/* 8025AD44 002569A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025AD48 002569A8 80 61 00 08 */ lwz r3, 8(r1)
/* 8025AD4C 002569AC 7C 08 03 A6 */ mtlr r0
/* 8025AD50 002569B0 38 21 00 10 */ addi r1, r1, 0x10
/* 8025AD54 002569B4 4E 80 00 20 */ blr
.global func_8025AD58
func_8025AD58:
/* 8025AD58 002569B8 38 A0 00 01 */ li r5, 1
/* 8025AD5C 002569BC 38 63 02 9C */ addi r3, r3, 0x29c
/* 8025AD60 002569C0 48 01 41 F8 */ b OSSendMessage
.global func_8025AD64
func_8025AD64:
/* 8025AD64 002569C4 38 A0 00 01 */ li r5, 1
/* 8025AD68 002569C8 38 6D A6 78 */ addi r3, r13, lbl_8063F938-_SDA_BASE_
/* 8025AD6C 002569CC 38 80 00 04 */ li r4, 4
/* 8025AD70 002569D0 38 00 00 00 */ li r0, 0
/* 8025AD74 002569D4 98 AD A6 78 */ stb r5, lbl_8063F938-_SDA_BASE_(r13)
/* 8025AD78 002569D8 B0 83 00 02 */ sth r4, 2(r3)
/* 8025AD7C 002569DC 98 03 00 04 */ stb r0, 4(r3)
/* 8025AD80 002569E0 4E 80 00 20 */ blr
|