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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_8025B164
func_8025B164:
/* 8025B164 00256DC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025B168 00256DC8 7C 08 02 A6 */ mflr r0
/* 8025B16C 00256DCC 3C 80 01 F3 */ lis r4, 0x01F34C7C@ha
/* 8025B170 00256DD0 3C A0 80 26 */ lis r5, lbl_8025B25C@ha
/* 8025B174 00256DD4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025B178 00256DD8 38 84 4C 7C */ addi r4, r4, 0x01F34C7C@l
/* 8025B17C 00256DDC 38 A5 B2 5C */ addi r5, r5, lbl_8025B25C@l
/* 8025B180 00256DE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8025B184 00256DE4 7C 7F 1B 78 */ mr r31, r3
/* 8025B188 00256DE8 80 03 01 98 */ lwz r0, 0x198(r3)
/* 8025B18C 00256DEC 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 8025B190 00256DF0 2C 00 00 00 */ cmpwi r0, 0
/* 8025B194 00256DF4 41 82 00 0C */ beq lbl_8025B1A0
/* 8025B198 00256DF8 3C A0 80 26 */ lis r5, lbl_8025B368@ha
/* 8025B19C 00256DFC 38 A5 B3 68 */ addi r5, r5, lbl_8025B368@l
lbl_8025B1A0:
/* 8025B1A0 00256E00 7F E6 FB 78 */ mr r6, r31
/* 8025B1A4 00256E04 38 E0 10 00 */ li r7, 0x1000
/* 8025B1A8 00256E08 39 00 00 0B */ li r8, 0xb
/* 8025B1AC 00256E0C 39 20 00 01 */ li r9, 1
/* 8025B1B0 00256E10 4B FC 90 65 */ bl func_80224214
/* 8025B1B4 00256E14 2C 03 00 00 */ cmpwi r3, 0
/* 8025B1B8 00256E18 90 7F 02 04 */ stw r3, 0x204(r31)
/* 8025B1BC 00256E1C 40 82 00 0C */ bne lbl_8025B1C8
/* 8025B1C0 00256E20 38 60 00 00 */ li r3, 0
/* 8025B1C4 00256E24 48 00 00 28 */ b lbl_8025B1EC
lbl_8025B1C8:
/* 8025B1C8 00256E28 38 7F 03 10 */ addi r3, r31, 0x310
/* 8025B1CC 00256E2C 38 9F 03 30 */ addi r4, r31, 0x330
/* 8025B1D0 00256E30 38 A0 00 03 */ li r5, 3
/* 8025B1D4 00256E34 48 01 3D 25 */ bl OSInitMessageQueue
/* 8025B1D8 00256E38 38 7F 03 3C */ addi r3, r31, 0x33c
/* 8025B1DC 00256E3C 38 9F 03 5C */ addi r4, r31, 0x35c
/* 8025B1E0 00256E40 38 A0 00 03 */ li r5, 3
/* 8025B1E4 00256E44 48 01 3D 15 */ bl OSInitMessageQueue
/* 8025B1E8 00256E48 38 60 00 01 */ li r3, 1
lbl_8025B1EC:
/* 8025B1EC 00256E4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025B1F0 00256E50 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8025B1F4 00256E54 7C 08 03 A6 */ mtlr r0
/* 8025B1F8 00256E58 38 21 00 10 */ addi r1, r1, 0x10
/* 8025B1FC 00256E5C 4E 80 00 20 */ blr
.global func_8025B200
func_8025B200:
/* 8025B200 00256E60 80 63 02 04 */ lwz r3, 0x204(r3)
/* 8025B204 00256E64 2C 03 00 00 */ cmpwi r3, 0
/* 8025B208 00256E68 4D 82 00 20 */ beqlr
/* 8025B20C 00256E6C 4B FC 94 8C */ b func_80224698
/* 8025B210 00256E70 4E 80 00 20 */ blr
.global func_8025B214
func_8025B214:
/* 8025B214 00256E74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025B218 00256E78 7C 08 02 A6 */ mflr r0
/* 8025B21C 00256E7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025B220 00256E80 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8025B224 00256E84 7C 7F 1B 78 */ mr r31, r3
/* 8025B228 00256E88 80 03 02 04 */ lwz r0, 0x204(r3)
/* 8025B22C 00256E8C 2C 00 00 00 */ cmpwi r0, 0
/* 8025B230 00256E90 41 82 00 18 */ beq lbl_8025B248
/* 8025B234 00256E94 7C 03 03 78 */ mr r3, r0
/* 8025B238 00256E98 38 80 00 00 */ li r4, 0
/* 8025B23C 00256E9C 4B FC 94 71 */ bl func_802246AC
/* 8025B240 00256EA0 38 00 00 00 */ li r0, 0
/* 8025B244 00256EA4 90 1F 02 04 */ stw r0, 0x204(r31)
lbl_8025B248:
/* 8025B248 00256EA8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025B24C 00256EAC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8025B250 00256EB0 7C 08 03 A6 */ mtlr r0
/* 8025B254 00256EB4 38 21 00 10 */ addi r1, r1, 0x10
/* 8025B258 00256EB8 4E 80 00 20 */ blr
lbl_8025B25C:
/* 8025B25C 00256EBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025B260 00256EC0 7C 08 02 A6 */ mflr r0
/* 8025B264 00256EC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025B268 00256EC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8025B26C 00256ECC 7C 7F 1B 78 */ mr r31, r3
/* 8025B270 00256ED0 93 C1 00 08 */ stw r30, 8(r1)
lbl_8025B274:
/* 8025B274 00256ED4 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8025B278 00256ED8 38 60 00 01 */ li r3, 1
/* 8025B27C 00256EDC 88 85 00 82 */ lbz r4, 0x82(r5)
/* 8025B280 00256EE0 2C 04 00 00 */ cmpwi r4, 0
/* 8025B284 00256EE4 40 82 00 14 */ bne lbl_8025B298
/* 8025B288 00256EE8 88 05 00 83 */ lbz r0, 0x83(r5)
/* 8025B28C 00256EEC 2C 00 00 00 */ cmpwi r0, 0
/* 8025B290 00256EF0 40 82 00 08 */ bne lbl_8025B298
/* 8025B294 00256EF4 38 60 00 00 */ li r3, 0
lbl_8025B298:
/* 8025B298 00256EF8 2C 03 00 00 */ cmpwi r3, 0
/* 8025B29C 00256EFC 40 82 00 C0 */ bne lbl_8025B35C
/* 8025B2A0 00256F00 2C 04 00 00 */ cmpwi r4, 0
/* 8025B2A4 00256F04 40 82 00 B8 */ bne lbl_8025B35C
/* 8025B2A8 00256F08 88 1F 00 6B */ lbz r0, 0x6b(r31)
/* 8025B2AC 00256F0C 2C 00 00 00 */ cmpwi r0, 0
/* 8025B2B0 00256F10 41 82 00 84 */ beq lbl_8025B334
/* 8025B2B4 00256F14 48 00 00 74 */ b lbl_8025B328
lbl_8025B2B8:
/* 8025B2B8 00256F18 7F E3 FB 78 */ mr r3, r31
/* 8025B2BC 00256F1C 4B FF FA 6D */ bl func_8025AD28
/* 8025B2C0 00256F20 80 83 00 04 */ lwz r4, 4(r3)
/* 8025B2C4 00256F24 7C 7E 1B 78 */ mr r30, r3
/* 8025B2C8 00256F28 80 1F 00 90 */ lwz r0, 0x90(r31)
/* 8025B2CC 00256F2C 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 8025B2D0 00256F30 7C 84 02 14 */ add r4, r4, r0
/* 8025B2D4 00256F34 7C 64 2B 96 */ divwu r3, r4, r5
/* 8025B2D8 00256F38 38 05 FF FF */ addi r0, r5, -1
/* 8025B2DC 00256F3C 7C 63 29 D6 */ mullw r3, r3, r5
/* 8025B2E0 00256F40 7C 63 20 50 */ subf r3, r3, r4
/* 8025B2E4 00256F44 7C 03 00 40 */ cmplw r3, r0
/* 8025B2E8 00256F48 40 82 00 1C */ bne lbl_8025B304
/* 8025B2EC 00256F4C 88 1F 00 6E */ lbz r0, 0x6e(r31)
/* 8025B2F0 00256F50 2C 00 00 00 */ cmpwi r0, 0
/* 8025B2F4 00256F54 40 82 00 10 */ bne lbl_8025B304
/* 8025B2F8 00256F58 7F E3 FB 78 */ mr r3, r31
/* 8025B2FC 00256F5C 7F C4 F3 78 */ mr r4, r30
/* 8025B300 00256F60 48 00 01 E1 */ bl func_8025B4E0
lbl_8025B304:
/* 8025B304 00256F64 7F E3 FB 78 */ mr r3, r31
/* 8025B308 00256F68 7F C4 F3 78 */ mr r4, r30
/* 8025B30C 00256F6C 4B FF F9 D5 */ bl func_8025ACE0
/* 8025B310 00256F70 80 9F 00 A0 */ lwz r4, 0xa0(r31)
/* 8025B314 00256F74 80 7F 00 B8 */ lwz r3, 0xb8(r31)
/* 8025B318 00256F78 38 84 FF FF */ addi r4, r4, -1
/* 8025B31C 00256F7C 38 03 00 01 */ addi r0, r3, 1
/* 8025B320 00256F80 90 9F 00 A0 */ stw r4, 0xa0(r31)
/* 8025B324 00256F84 90 1F 00 B8 */ stw r0, 0xb8(r31)
lbl_8025B328:
/* 8025B328 00256F88 80 1F 00 A0 */ lwz r0, 0xa0(r31)
/* 8025B32C 00256F8C 2C 00 00 00 */ cmpwi r0, 0
/* 8025B330 00256F90 40 82 FF 88 */ bne lbl_8025B2B8
lbl_8025B334:
/* 8025B334 00256F94 7F E3 FB 78 */ mr r3, r31
/* 8025B338 00256F98 4B FF F9 F1 */ bl func_8025AD28
/* 8025B33C 00256F9C 7C 7E 1B 78 */ mr r30, r3
/* 8025B340 00256FA0 7F E3 FB 78 */ mr r3, r31
/* 8025B344 00256FA4 7F C4 F3 78 */ mr r4, r30
/* 8025B348 00256FA8 48 00 01 99 */ bl func_8025B4E0
/* 8025B34C 00256FAC 90 7F 00 A0 */ stw r3, 0xa0(r31)
/* 8025B350 00256FB0 7F E3 FB 78 */ mr r3, r31
/* 8025B354 00256FB4 7F C4 F3 78 */ mr r4, r30
/* 8025B358 00256FB8 4B FF F9 89 */ bl func_8025ACE0
lbl_8025B35C:
/* 8025B35C 00256FBC 80 7F 02 04 */ lwz r3, 0x204(r31)
/* 8025B360 00256FC0 4B FC 92 DD */ bl func_8022463C
/* 8025B364 00256FC4 4B FF FF 10 */ b lbl_8025B274
lbl_8025B368:
/* 8025B368 00256FC8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8025B36C 00256FCC 7C 08 02 A6 */ mflr r0
/* 8025B370 00256FD0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8025B374 00256FD4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8025B378 00256FD8 7C 7F 1B 78 */ mr r31, r3
/* 8025B37C 00256FDC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8025B380 00256FE0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8025B384 00256FE4 3B A0 00 00 */ li r29, 0
/* 8025B388 00256FE8 93 81 00 10 */ stw r28, 0x10(r1)
/* 8025B38C 00256FEC 3B 80 00 00 */ li r28, 0
/* 8025B390 00256FF0 83 C3 00 8C */ lwz r30, 0x8c(r3)
/* 8025B394 00256FF4 80 03 01 98 */ lwz r0, 0x198(r3)
/* 8025B398 00256FF8 90 01 00 08 */ stw r0, 8(r1)
lbl_8025B39C:
/* 8025B39C 00256FFC 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8025B3A0 00257000 38 60 00 01 */ li r3, 1
/* 8025B3A4 00257004 88 85 00 82 */ lbz r4, 0x82(r5)
/* 8025B3A8 00257008 2C 04 00 00 */ cmpwi r4, 0
/* 8025B3AC 0025700C 40 82 00 14 */ bne lbl_8025B3C0
/* 8025B3B0 00257010 88 05 00 83 */ lbz r0, 0x83(r5)
/* 8025B3B4 00257014 2C 00 00 00 */ cmpwi r0, 0
/* 8025B3B8 00257018 40 82 00 08 */ bne lbl_8025B3C0
/* 8025B3BC 0025701C 38 60 00 00 */ li r3, 0
lbl_8025B3C0:
/* 8025B3C0 00257020 2C 03 00 00 */ cmpwi r3, 0
/* 8025B3C4 00257024 40 82 01 10 */ bne lbl_8025B4D4
/* 8025B3C8 00257028 2C 04 00 00 */ cmpwi r4, 0
/* 8025B3CC 0025702C 40 82 01 08 */ bne lbl_8025B4D4
/* 8025B3D0 00257030 88 1F 00 6B */ lbz r0, 0x6b(r31)
/* 8025B3D4 00257034 2C 00 00 00 */ cmpwi r0, 0
/* 8025B3D8 00257038 41 82 00 80 */ beq lbl_8025B458
/* 8025B3DC 0025703C 7F 89 03 A6 */ mtctr r28
/* 8025B3E0 00257040 2C 1C 00 00 */ cmpwi r28, 0
/* 8025B3E4 00257044 41 82 00 74 */ beq lbl_8025B458
lbl_8025B3E8:
/* 8025B3E8 00257048 80 1F 00 90 */ lwz r0, 0x90(r31)
/* 8025B3EC 0025704C 3B 9C FF FF */ addi r28, r28, -1
/* 8025B3F0 00257050 80 DF 00 18 */ lwz r6, 0x18(r31)
/* 8025B3F4 00257054 7C 9D 02 14 */ add r4, r29, r0
/* 8025B3F8 00257058 80 BF 00 B8 */ lwz r5, 0xb8(r31)
/* 8025B3FC 0025705C 7C 64 33 96 */ divwu r3, r4, r6
/* 8025B400 00257060 38 06 FF FF */ addi r0, r6, -1
/* 8025B404 00257064 38 A5 00 01 */ addi r5, r5, 1
/* 8025B408 00257068 90 BF 00 B8 */ stw r5, 0xb8(r31)
/* 8025B40C 0025706C 7C 63 31 D6 */ mullw r3, r3, r6
/* 8025B410 00257070 7C 63 20 50 */ subf r3, r3, r4
/* 8025B414 00257074 7C 03 00 40 */ cmplw r3, r0
/* 8025B418 00257078 40 82 00 24 */ bne lbl_8025B43C
/* 8025B41C 0025707C 88 1F 00 6E */ lbz r0, 0x6e(r31)
/* 8025B420 00257080 2C 00 00 00 */ cmpwi r0, 0
/* 8025B424 00257084 41 82 00 34 */ beq lbl_8025B458
/* 8025B428 00257088 80 61 00 08 */ lwz r3, 8(r1)
/* 8025B42C 0025708C 80 1F 00 78 */ lwz r0, 0x78(r31)
/* 8025B430 00257090 83 C3 00 00 */ lwz r30, 0(r3)
/* 8025B434 00257094 90 01 00 08 */ stw r0, 8(r1)
/* 8025B438 00257098 48 00 00 18 */ b lbl_8025B450
lbl_8025B43C:
/* 8025B43C 0025709C 80 61 00 08 */ lwz r3, 8(r1)
/* 8025B440 002570A0 80 83 00 00 */ lwz r4, 0(r3)
/* 8025B444 002570A4 7C 03 F2 14 */ add r0, r3, r30
/* 8025B448 002570A8 90 01 00 08 */ stw r0, 8(r1)
/* 8025B44C 002570AC 7C 9E 23 78 */ mr r30, r4
lbl_8025B450:
/* 8025B450 002570B0 3B BD 00 01 */ addi r29, r29, 1
/* 8025B454 002570B4 42 00 FF 94 */ bdnz lbl_8025B3E8
lbl_8025B458:
/* 8025B458 002570B8 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8025B45C 002570BC 7F E3 FB 78 */ mr r3, r31
/* 8025B460 002570C0 38 81 00 08 */ addi r4, r1, 8
/* 8025B464 002570C4 48 00 00 7D */ bl func_8025B4E0
/* 8025B468 002570C8 80 1F 00 90 */ lwz r0, 0x90(r31)
/* 8025B46C 002570CC 7C 7C 1B 78 */ mr r28, r3
/* 8025B470 002570D0 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 8025B474 002570D4 7C 9D 02 14 */ add r4, r29, r0
/* 8025B478 002570D8 7C 64 2B 96 */ divwu r3, r4, r5
/* 8025B47C 002570DC 38 05 FF FF */ addi r0, r5, -1
/* 8025B480 002570E0 7C 63 29 D6 */ mullw r3, r3, r5
/* 8025B484 002570E4 7C 63 20 50 */ subf r3, r3, r4
/* 8025B488 002570E8 7C 03 00 40 */ cmplw r3, r0
/* 8025B48C 002570EC 40 82 00 30 */ bne lbl_8025B4BC
/* 8025B490 002570F0 88 1F 00 6E */ lbz r0, 0x6e(r31)
/* 8025B494 002570F4 2C 00 00 00 */ cmpwi r0, 0
/* 8025B498 002570F8 41 82 00 18 */ beq lbl_8025B4B0
/* 8025B49C 002570FC 80 61 00 08 */ lwz r3, 8(r1)
/* 8025B4A0 00257100 80 1F 00 78 */ lwz r0, 0x78(r31)
/* 8025B4A4 00257104 83 C3 00 00 */ lwz r30, 0(r3)
/* 8025B4A8 00257108 90 01 00 08 */ stw r0, 8(r1)
/* 8025B4AC 0025710C 48 00 00 24 */ b lbl_8025B4D0
lbl_8025B4B0:
/* 8025B4B0 00257110 80 7F 02 04 */ lwz r3, 0x204(r31)
/* 8025B4B4 00257114 4B FC 92 79 */ bl func_8022472C
/* 8025B4B8 00257118 48 00 00 18 */ b lbl_8025B4D0
lbl_8025B4BC:
/* 8025B4BC 0025711C 80 61 00 08 */ lwz r3, 8(r1)
/* 8025B4C0 00257120 80 83 00 00 */ lwz r4, 0(r3)
/* 8025B4C4 00257124 7C 03 F2 14 */ add r0, r3, r30
/* 8025B4C8 00257128 90 01 00 08 */ stw r0, 8(r1)
/* 8025B4CC 0025712C 7C 9E 23 78 */ mr r30, r4
lbl_8025B4D0:
/* 8025B4D0 00257130 3B BD 00 01 */ addi r29, r29, 1
lbl_8025B4D4:
/* 8025B4D4 00257134 80 7F 02 04 */ lwz r3, 0x204(r31)
/* 8025B4D8 00257138 4B FC 91 65 */ bl func_8022463C
/* 8025B4DC 0025713C 4B FF FE C0 */ b lbl_8025B39C
.global func_8025B4E0
func_8025B4E0:
/* 8025B4E0 00257140 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8025B4E4 00257144 7C 08 02 A6 */ mflr r0
/* 8025B4E8 00257148 90 01 00 34 */ stw r0, 0x34(r1)
/* 8025B4EC 0025714C 39 61 00 30 */ addi r11, r1, 0x30
/* 8025B4F0 00257150 4B F6 BC 31 */ bl _savegpr_25
/* 8025B4F4 00257154 80 A4 00 00 */ lwz r5, 0(r4)
/* 8025B4F8 00257158 7C 7A 1B 78 */ mr r26, r3
/* 8025B4FC 0025715C 80 03 00 34 */ lwz r0, 0x34(r3)
/* 8025B500 00257160 7C 9B 23 78 */ mr r27, r4
/* 8025B504 00257164 3B A5 00 08 */ addi r29, r5, 8
/* 8025B508 00257168 3B 20 00 00 */ li r25, 0
/* 8025B50C 0025716C 54 00 10 3A */ slwi r0, r0, 2
/* 8025B510 00257170 7F 9D 02 14 */ add r28, r29, r0
/* 8025B514 00257174 48 00 00 C9 */ bl func_8025B5DC
/* 8025B518 00257178 7C 7F 1B 78 */ mr r31, r3
/* 8025B51C 0025717C 3B C0 00 00 */ li r30, 0
/* 8025B520 00257180 48 00 00 94 */ b lbl_8025B5B4
lbl_8025B524:
/* 8025B524 00257184 7C 7A F2 14 */ add r3, r26, r30
/* 8025B528 00257188 88 03 00 38 */ lbz r0, 0x38(r3)
/* 8025B52C 0025718C 2C 00 00 00 */ cmpwi r0, 0
/* 8025B530 00257190 41 82 00 08 */ beq lbl_8025B538
/* 8025B534 00257194 48 00 00 70 */ b lbl_8025B5A4
lbl_8025B538:
/* 8025B538 00257198 80 9F 00 00 */ lwz r4, 0(r31)
/* 8025B53C 0025719C 7F 83 E3 78 */ mr r3, r28
/* 8025B540 002571A0 80 BF 00 04 */ lwz r5, 4(r31)
/* 8025B544 002571A4 80 DF 00 08 */ lwz r6, 8(r31)
/* 8025B548 002571A8 80 FA 00 64 */ lwz r7, 0x64(r26)
/* 8025B54C 002571AC 48 04 05 E1 */ bl THPVideoDecode
/* 8025B550 002571B0 7C 60 07 35 */ extsh. r0, r3
/* 8025B554 002571B4 B0 7A 00 76 */ sth r3, 0x76(r26)
/* 8025B558 002571B8 41 82 00 0C */ beq lbl_8025B564
/* 8025B55C 002571BC 80 7A 02 04 */ lwz r3, 0x204(r26)
/* 8025B560 002571C0 4B FC 91 CD */ bl func_8022472C
lbl_8025B564:
/* 8025B564 002571C4 80 1B 00 04 */ lwz r0, 4(r27)
/* 8025B568 002571C8 7F 43 D3 78 */ mr r3, r26
/* 8025B56C 002571CC 7F E4 FB 78 */ mr r4, r31
/* 8025B570 002571D0 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8025B574 002571D4 48 00 01 0D */ bl func_8025B680
/* 8025B578 002571D8 80 7A 00 C0 */ lwz r3, 0xc0(r26)
/* 8025B57C 002571DC 80 BA 00 B8 */ lwz r5, 0xb8(r26)
/* 8025B580 002571E0 38 C3 00 01 */ addi r6, r3, 1
/* 8025B584 002571E4 38 05 00 01 */ addi r0, r5, 1
/* 8025B588 002571E8 54 A3 0F FE */ srwi r3, r5, 0x1f
/* 8025B58C 002571EC 7C 86 28 10 */ subfc r4, r6, r5
/* 8025B590 002571F0 90 1A 00 B8 */ stw r0, 0xb8(r26)
/* 8025B594 002571F4 54 C4 0F FE */ srwi r4, r6, 0x1f
/* 8025B598 002571F8 7C 05 30 50 */ subf r0, r5, r6
/* 8025B59C 002571FC 7C 63 21 10 */ subfe r3, r3, r4
/* 8025B5A0 00257200 7C 19 18 38 */ and r25, r0, r3
lbl_8025B5A4:
/* 8025B5A4 00257204 80 1D 00 00 */ lwz r0, 0(r29)
/* 8025B5A8 00257208 3B BD 00 04 */ addi r29, r29, 4
/* 8025B5AC 0025720C 3B DE 00 01 */ addi r30, r30, 1
/* 8025B5B0 00257210 7F 9C 02 14 */ add r28, r28, r0
lbl_8025B5B4:
/* 8025B5B4 00257214 80 1A 00 34 */ lwz r0, 0x34(r26)
/* 8025B5B8 00257218 7C 1E 00 40 */ cmplw r30, r0
/* 8025B5BC 0025721C 41 80 FF 68 */ blt lbl_8025B524
/* 8025B5C0 00257220 39 61 00 30 */ addi r11, r1, 0x30
/* 8025B5C4 00257224 7F 23 CB 78 */ mr r3, r25
/* 8025B5C8 00257228 4B F6 BB A5 */ bl _restgpr_25
/* 8025B5CC 0025722C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8025B5D0 00257230 7C 08 03 A6 */ mtlr r0
/* 8025B5D4 00257234 38 21 00 30 */ addi r1, r1, 0x30
/* 8025B5D8 00257238 4E 80 00 20 */ blr
.global func_8025B5DC
func_8025B5DC:
/* 8025B5DC 0025723C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025B5E0 00257240 7C 08 02 A6 */ mflr r0
/* 8025B5E4 00257244 38 A0 00 01 */ li r5, 1
/* 8025B5E8 00257248 38 63 03 10 */ addi r3, r3, 0x310
/* 8025B5EC 0025724C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025B5F0 00257250 38 81 00 08 */ addi r4, r1, 8
/* 8025B5F4 00257254 48 01 3A 2D */ bl OSReceiveMessage
/* 8025B5F8 00257258 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025B5FC 0025725C 80 61 00 08 */ lwz r3, 8(r1)
/* 8025B600 00257260 7C 08 03 A6 */ mtlr r0
/* 8025B604 00257264 38 21 00 10 */ addi r1, r1, 0x10
/* 8025B608 00257268 4E 80 00 20 */ blr
.global func_8025B60C
func_8025B60C:
/* 8025B60C 0025726C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025B610 00257270 7C 08 02 A6 */ mflr r0
/* 8025B614 00257274 38 A0 00 00 */ li r5, 0
/* 8025B618 00257278 38 63 03 10 */ addi r3, r3, 0x310
/* 8025B61C 0025727C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025B620 00257280 48 01 39 39 */ bl OSSendMessage
/* 8025B624 00257284 7C 03 00 D0 */ neg r0, r3
/* 8025B628 00257288 7C 00 1B 78 */ or r0, r0, r3
/* 8025B62C 0025728C 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8025B630 00257290 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025B634 00257294 7C 08 03 A6 */ mtlr r0
/* 8025B638 00257298 38 21 00 10 */ addi r1, r1, 0x10
/* 8025B63C 0025729C 4E 80 00 20 */ blr
.global func_8025B640
func_8025B640:
/* 8025B640 002572A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8025B644 002572A4 7C 08 02 A6 */ mflr r0
/* 8025B648 002572A8 38 A0 00 00 */ li r5, 0
/* 8025B64C 002572AC 38 63 03 3C */ addi r3, r3, 0x33c
/* 8025B650 002572B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8025B654 002572B4 38 81 00 08 */ addi r4, r1, 8
/* 8025B658 002572B8 48 01 39 C9 */ bl OSReceiveMessage
/* 8025B65C 002572BC 2C 03 00 00 */ cmpwi r3, 0
/* 8025B660 002572C0 41 82 00 0C */ beq lbl_8025B66C
/* 8025B664 002572C4 80 61 00 08 */ lwz r3, 8(r1)
/* 8025B668 002572C8 48 00 00 08 */ b lbl_8025B670
lbl_8025B66C:
/* 8025B66C 002572CC 38 60 00 00 */ li r3, 0
lbl_8025B670:
/* 8025B670 002572D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8025B674 002572D4 7C 08 03 A6 */ mtlr r0
/* 8025B678 002572D8 38 21 00 10 */ addi r1, r1, 0x10
/* 8025B67C 002572DC 4E 80 00 20 */ blr
.global func_8025B680
func_8025B680:
/* 8025B680 002572E0 38 A0 00 01 */ li r5, 1
/* 8025B684 002572E4 38 63 03 3C */ addi r3, r3, 0x33c
/* 8025B688 002572E8 48 01 38 D0 */ b OSSendMessage
.global func_8025B68C
func_8025B68C:
/* 8025B68C 002572EC 38 A0 00 01 */ li r5, 1
/* 8025B690 002572F0 38 6D A6 88 */ addi r3, r13, lbl_8063F948-_SDA_BASE_
/* 8025B694 002572F4 38 80 00 04 */ li r4, 4
/* 8025B698 002572F8 38 00 00 00 */ li r0, 0
/* 8025B69C 002572FC 98 AD A6 88 */ stb r5, lbl_8063F948-_SDA_BASE_(r13)
/* 8025B6A0 00257300 B0 83 00 02 */ sth r4, 2(r3)
/* 8025B6A4 00257304 98 03 00 04 */ stb r0, 4(r3)
/* 8025B6A8 00257308 4E 80 00 20 */ blr
|