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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80223C54
func_80223C54:
/* 80223C54 0021F8B4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80223C58 0021F8B8 7C 08 02 A6 */ mflr r0
/* 80223C5C 0021F8BC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80223C60 0021F8C0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80223C64 0021F8C4 3F E0 88 89 */ lis r31, 0x8889
/* 80223C68 0021F8C8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80223C6C 0021F8CC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80223C70 0021F8D0 7C 7D 1B 78 */ mr r29, r3
/* 80223C74 0021F8D4 80 8D A3 2C */ lwz r4, lbl_8063F5EC-_SDA_BASE_(r13)
/* 80223C78 0021F8D8 48 00 00 68 */ b lbl_80223CE0
lbl_80223C7C:
/* 80223C7C 0021F8DC 80 04 00 08 */ lwz r0, 8(r4)
/* 80223C80 0021F8E0 83 C4 00 04 */ lwz r30, 4(r4)
/* 80223C84 0021F8E4 7C 00 E8 00 */ cmpw r0, r29
/* 80223C88 0021F8E8 40 82 00 54 */ bne lbl_80223CDC
/* 80223C8C 0021F8EC 88 04 00 11 */ lbz r0, 0x11(r4)
/* 80223C90 0021F8F0 2C 00 00 00 */ cmpwi r0, 0
/* 80223C94 0021F8F4 40 82 00 48 */ bne lbl_80223CDC
/* 80223C98 0021F8F8 88 0D A3 20 */ lbz r0, lbl_8063F5E0-_SDA_BASE_(r13)
/* 80223C9C 0021F8FC 2C 00 00 00 */ cmpwi r0, 0
/* 80223CA0 0021F900 41 82 00 10 */ beq lbl_80223CB0
/* 80223CA4 0021F904 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80223CA8 0021F908 2C 00 00 00 */ cmpwi r0, 0
/* 80223CAC 0021F90C 40 82 00 30 */ bne lbl_80223CDC
lbl_80223CB0:
/* 80223CB0 0021F910 80 0D A3 10 */ lwz r0, lbl_8063F5D0-_SDA_BASE_(r13)
/* 80223CB4 0021F914 38 7F 88 89 */ addi r3, r31, -30583
/* 80223CB8 0021F918 90 8D A3 28 */ stw r4, lbl_8063F5E8-_SDA_BASE_(r13)
/* 80223CBC 0021F91C 7C 00 20 50 */ subf r0, r0, r4
/* 80223CC0 0021F920 7C 03 00 16 */ mulhwu r0, r3, r0
/* 80223CC4 0021F924 81 84 00 38 */ lwz r12, 0x38(r4)
/* 80223CC8 0021F928 80 84 00 34 */ lwz r4, 0x34(r4)
/* 80223CCC 0021F92C 54 03 D9 7E */ srwi r3, r0, 5
/* 80223CD0 0021F930 38 63 00 01 */ addi r3, r3, 1
/* 80223CD4 0021F934 7D 89 03 A6 */ mtctr r12
/* 80223CD8 0021F938 4E 80 04 21 */ bctrl
lbl_80223CDC:
/* 80223CDC 0021F93C 7F C4 F3 78 */ mr r4, r30
lbl_80223CE0:
/* 80223CE0 0021F940 2C 04 00 00 */ cmpwi r4, 0
/* 80223CE4 0021F944 40 82 FF 98 */ bne lbl_80223C7C
/* 80223CE8 0021F948 38 00 00 00 */ li r0, 0
/* 80223CEC 0021F94C 90 0D A3 28 */ stw r0, lbl_8063F5E8-_SDA_BASE_(r13)
/* 80223CF0 0021F950 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80223CF4 0021F954 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80223CF8 0021F958 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80223CFC 0021F95C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80223D00 0021F960 7C 08 03 A6 */ mtlr r0
/* 80223D04 0021F964 38 21 00 20 */ addi r1, r1, 0x20
/* 80223D08 0021F968 4E 80 00 20 */ blr
lbl_80223D0C:
/* 80223D0C 0021F96C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80223D10 0021F970 7C 08 02 A6 */ mflr r0
/* 80223D14 0021F974 90 01 00 14 */ stw r0, 0x14(r1)
/* 80223D18 0021F978 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80223D1C 0021F97C 7C 7F 1B 78 */ mr r31, r3
/* 80223D20 0021F980 38 60 00 03 */ li r3, 3
/* 80223D24 0021F984 4B FF FF 31 */ bl func_80223C54
/* 80223D28 0021F988 81 8D A3 34 */ lwz r12, lbl_8063F5F4-_SDA_BASE_(r13)
/* 80223D2C 0021F98C 2C 0C 00 00 */ cmpwi r12, 0
/* 80223D30 0021F990 41 82 00 10 */ beq lbl_80223D40
/* 80223D34 0021F994 7F E3 FB 78 */ mr r3, r31
/* 80223D38 0021F998 7D 89 03 A6 */ mtctr r12
/* 80223D3C 0021F99C 4E 80 04 21 */ bctrl
lbl_80223D40:
/* 80223D40 0021F9A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80223D44 0021F9A4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80223D48 0021F9A8 7C 08 03 A6 */ mtlr r0
/* 80223D4C 0021F9AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80223D50 0021F9B0 4E 80 00 20 */ blr
lbl_80223D54:
/* 80223D54 0021F9B4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80223D58 0021F9B8 7C 08 02 A6 */ mflr r0
/* 80223D5C 0021F9BC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80223D60 0021F9C0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80223D64 0021F9C4 3B E0 00 00 */ li r31, 0
/* 80223D68 0021F9C8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80223D6C 0021F9CC 93 A1 00 14 */ stw r29, 0x14(r1)
lbl_80223D70:
/* 80223D70 0021F9D0 38 60 00 02 */ li r3, 2
/* 80223D74 0021F9D4 4B FF FE E1 */ bl func_80223C54
/* 80223D78 0021F9D8 48 04 A9 E5 */ bl OSDisableInterrupts
/* 80223D7C 0021F9DC 80 8D A3 30 */ lwz r4, lbl_8063F5F0-_SDA_BASE_(r13)
/* 80223D80 0021F9E0 7C 7D 1B 78 */ mr r29, r3
/* 80223D84 0021F9E4 48 00 00 14 */ b lbl_80223D98
lbl_80223D88:
/* 80223D88 0021F9E8 83 C4 00 04 */ lwz r30, 4(r4)
/* 80223D8C 0021F9EC 7C 83 23 78 */ mr r3, r4
/* 80223D90 0021F9F0 48 00 00 71 */ bl func_80223E00
/* 80223D94 0021F9F4 7F C4 F3 78 */ mr r4, r30
lbl_80223D98:
/* 80223D98 0021F9F8 2C 04 00 00 */ cmpwi r4, 0
/* 80223D9C 0021F9FC 40 82 FF EC */ bne lbl_80223D88
/* 80223DA0 0021FA00 93 ED A3 30 */ stw r31, lbl_8063F5F0-_SDA_BASE_(r13)
/* 80223DA4 0021FA04 7F A3 EB 78 */ mr r3, r29
/* 80223DA8 0021FA08 48 04 A9 DD */ bl OSRestoreInterrupts
/* 80223DAC 0021FA0C 4B FF FF C4 */ b lbl_80223D70
.global func_80223DB0
func_80223DB0:
/* 80223DB0 0021FA10 2C 03 00 02 */ cmpwi r3, 2
/* 80223DB4 0021FA14 40 82 00 1C */ bne lbl_80223DD0
/* 80223DB8 0021FA18 80 0D A3 14 */ lwz r0, lbl_8063F5D4-_SDA_BASE_(r13)
/* 80223DBC 0021FA1C 80 6D A3 10 */ lwz r3, lbl_8063F5D0-_SDA_BASE_(r13)
/* 80223DC0 0021FA20 1C 00 00 3C */ mulli r0, r0, 0x3c
/* 80223DC4 0021FA24 80 8D A3 18 */ lwz r4, lbl_8063F5D8-_SDA_BASE_(r13)
/* 80223DC8 0021FA28 7C 63 02 14 */ add r3, r3, r0
/* 80223DCC 0021FA2C 48 00 00 0C */ b lbl_80223DD8
lbl_80223DD0:
/* 80223DD0 0021FA30 80 6D A3 10 */ lwz r3, lbl_8063F5D0-_SDA_BASE_(r13)
/* 80223DD4 0021FA34 80 8D A3 14 */ lwz r4, lbl_8063F5D4-_SDA_BASE_(r13)
lbl_80223DD8:
/* 80223DD8 0021FA38 7C 89 03 A6 */ mtctr r4
/* 80223DDC 0021FA3C 2C 04 00 00 */ cmpwi r4, 0
/* 80223DE0 0021FA40 41 82 00 18 */ beq lbl_80223DF8
lbl_80223DE4:
/* 80223DE4 0021FA44 80 03 00 08 */ lwz r0, 8(r3)
/* 80223DE8 0021FA48 2C 00 00 00 */ cmpwi r0, 0
/* 80223DEC 0021FA4C 4D 82 00 20 */ beqlr
/* 80223DF0 0021FA50 38 63 00 3C */ addi r3, r3, 0x3c
/* 80223DF4 0021FA54 42 00 FF F0 */ bdnz lbl_80223DE4
lbl_80223DF8:
/* 80223DF8 0021FA58 38 60 00 00 */ li r3, 0
/* 80223DFC 0021FA5C 4E 80 00 20 */ blr
.global func_80223E00
func_80223E00:
/* 80223E00 0021FA60 80 CD A3 2C */ lwz r6, lbl_8063F5EC-_SDA_BASE_(r13)
/* 80223E04 0021FA64 48 00 00 08 */ b lbl_80223E0C
lbl_80223E08:
/* 80223E08 0021FA68 7C A6 2B 78 */ mr r6, r5
lbl_80223E0C:
/* 80223E0C 0021FA6C 80 A6 00 04 */ lwz r5, 4(r6)
/* 80223E10 0021FA70 2C 05 00 00 */ cmpwi r5, 0
/* 80223E14 0021FA74 41 82 00 14 */ beq lbl_80223E28
/* 80223E18 0021FA78 88 86 00 10 */ lbz r4, 0x10(r6)
/* 80223E1C 0021FA7C 88 03 00 10 */ lbz r0, 0x10(r3)
/* 80223E20 0021FA80 7C 04 00 40 */ cmplw r4, r0
/* 80223E24 0021FA84 41 80 FF E4 */ blt lbl_80223E08
lbl_80223E28:
/* 80223E28 0021FA88 2C 05 00 00 */ cmpwi r5, 0
/* 80223E2C 0021FA8C 40 82 00 28 */ bne lbl_80223E54
/* 80223E30 0021FA90 88 86 00 10 */ lbz r4, 0x10(r6)
/* 80223E34 0021FA94 88 03 00 10 */ lbz r0, 0x10(r3)
/* 80223E38 0021FA98 7C 04 00 40 */ cmplw r4, r0
/* 80223E3C 0021FA9C 40 80 00 18 */ bge lbl_80223E54
/* 80223E40 0021FAA0 38 00 00 00 */ li r0, 0
/* 80223E44 0021FAA4 90 C3 00 00 */ stw r6, 0(r3)
/* 80223E48 0021FAA8 90 03 00 04 */ stw r0, 4(r3)
/* 80223E4C 0021FAAC 90 66 00 04 */ stw r3, 4(r6)
/* 80223E50 0021FAB0 4E 80 00 20 */ blr
lbl_80223E54:
/* 80223E54 0021FAB4 80 86 00 00 */ lwz r4, 0(r6)
/* 80223E58 0021FAB8 2C 04 00 00 */ cmpwi r4, 0
/* 80223E5C 0021FABC 41 82 00 08 */ beq lbl_80223E64
/* 80223E60 0021FAC0 90 64 00 04 */ stw r3, 4(r4)
lbl_80223E64:
/* 80223E64 0021FAC4 80 06 00 00 */ lwz r0, 0(r6)
/* 80223E68 0021FAC8 90 03 00 00 */ stw r0, 0(r3)
/* 80223E6C 0021FACC 90 C3 00 04 */ stw r6, 4(r3)
/* 80223E70 0021FAD0 90 66 00 00 */ stw r3, 0(r6)
/* 80223E74 0021FAD4 80 0D A3 2C */ lwz r0, lbl_8063F5EC-_SDA_BASE_(r13)
/* 80223E78 0021FAD8 7C 00 30 40 */ cmplw r0, r6
/* 80223E7C 0021FADC 4C 82 00 20 */ bnelr
/* 80223E80 0021FAE0 90 6D A3 2C */ stw r3, lbl_8063F5EC-_SDA_BASE_(r13)
/* 80223E84 0021FAE4 4E 80 00 20 */ blr
.global func_80223E88
func_80223E88:
/* 80223E88 0021FAE8 80 0D A3 30 */ lwz r0, lbl_8063F5F0-_SDA_BASE_(r13)
/* 80223E8C 0021FAEC 90 03 00 04 */ stw r0, 4(r3)
/* 80223E90 0021FAF0 90 6D A3 30 */ stw r3, lbl_8063F5F0-_SDA_BASE_(r13)
/* 80223E94 0021FAF4 4E 80 00 20 */ blr
.global func_80223E98
func_80223E98:
/* 80223E98 0021FAF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80223E9C 0021FAFC 7C 08 02 A6 */ mflr r0
/* 80223EA0 0021FB00 90 01 00 14 */ stw r0, 0x14(r1)
/* 80223EA4 0021FB04 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80223EA8 0021FB08 93 C1 00 08 */ stw r30, 8(r1)
/* 80223EAC 0021FB0C 7C 7E 1B 78 */ mr r30, r3
/* 80223EB0 0021FB10 80 0D A3 2C */ lwz r0, lbl_8063F5EC-_SDA_BASE_(r13)
/* 80223EB4 0021FB14 2C 00 00 00 */ cmpwi r0, 0
/* 80223EB8 0021FB18 40 82 00 0C */ bne lbl_80223EC4
/* 80223EBC 0021FB1C 90 6D A3 2C */ stw r3, lbl_8063F5EC-_SDA_BASE_(r13)
/* 80223EC0 0021FB20 48 00 00 34 */ b lbl_80223EF4
lbl_80223EC4:
/* 80223EC4 0021FB24 48 04 A8 99 */ bl OSDisableInterrupts
/* 80223EC8 0021FB28 80 1E 00 08 */ lwz r0, 8(r30)
/* 80223ECC 0021FB2C 7C 7F 1B 78 */ mr r31, r3
/* 80223ED0 0021FB30 2C 00 00 02 */ cmpwi r0, 2
/* 80223ED4 0021FB34 40 82 00 10 */ bne lbl_80223EE4
/* 80223ED8 0021FB38 7F C3 F3 78 */ mr r3, r30
/* 80223EDC 0021FB3C 4B FF FF AD */ bl func_80223E88
/* 80223EE0 0021FB40 48 00 00 0C */ b lbl_80223EEC
lbl_80223EE4:
/* 80223EE4 0021FB44 7F C3 F3 78 */ mr r3, r30
/* 80223EE8 0021FB48 4B FF FF 19 */ bl func_80223E00
lbl_80223EEC:
/* 80223EEC 0021FB4C 7F E3 FB 78 */ mr r3, r31
/* 80223EF0 0021FB50 48 04 A8 95 */ bl OSRestoreInterrupts
lbl_80223EF4:
/* 80223EF4 0021FB54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80223EF8 0021FB58 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80223EFC 0021FB5C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80223F00 0021FB60 7C 08 03 A6 */ mtlr r0
/* 80223F04 0021FB64 38 21 00 10 */ addi r1, r1, 0x10
/* 80223F08 0021FB68 4E 80 00 20 */ blr
.global func_80223F0C
func_80223F0C:
/* 80223F0C 0021FB6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80223F10 0021FB70 7C 08 02 A6 */ mflr r0
/* 80223F14 0021FB74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80223F18 0021FB78 7C 03 22 14 */ add r0, r3, r4
/* 80223F1C 0021FB7C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80223F20 0021FB80 3B E0 00 00 */ li r31, 0
/* 80223F24 0021FB84 90 6D A3 14 */ stw r3, lbl_8063F5D4-_SDA_BASE_(r13)
/* 80223F28 0021FB88 1C 60 00 3C */ mulli r3, r0, 0x3c
/* 80223F2C 0021FB8C 90 8D A3 18 */ stw r4, lbl_8063F5D8-_SDA_BASE_(r13)
/* 80223F30 0021FB90 90 0D A3 1C */ stw r0, lbl_8063F5DC-_SDA_BASE_(r13)
/* 80223F34 0021FB94 93 ED A3 28 */ stw r31, lbl_8063F5E8-_SDA_BASE_(r13)
/* 80223F38 0021FB98 4B FB 6E 2D */ bl func_801DAD64
/* 80223F3C 0021FB9C 2C 03 00 00 */ cmpwi r3, 0
/* 80223F40 0021FBA0 90 6D A3 10 */ stw r3, lbl_8063F5D0-_SDA_BASE_(r13)
/* 80223F44 0021FBA4 41 82 00 78 */ beq lbl_80223FBC
/* 80223F48 0021FBA8 38 A0 00 00 */ li r5, 0
/* 80223F4C 0021FBAC 38 80 00 00 */ li r4, 0
/* 80223F50 0021FBB0 48 00 00 18 */ b lbl_80223F68
lbl_80223F54:
/* 80223F54 0021FBB4 80 0D A3 10 */ lwz r0, lbl_8063F5D0-_SDA_BASE_(r13)
/* 80223F58 0021FBB8 38 A5 00 01 */ addi r5, r5, 1
/* 80223F5C 0021FBBC 7C 60 22 14 */ add r3, r0, r4
/* 80223F60 0021FBC0 38 84 00 3C */ addi r4, r4, 0x3c
/* 80223F64 0021FBC4 93 E3 00 08 */ stw r31, 8(r3)
lbl_80223F68:
/* 80223F68 0021FBC8 80 0D A3 1C */ lwz r0, lbl_8063F5DC-_SDA_BASE_(r13)
/* 80223F6C 0021FBCC 7C 05 00 40 */ cmplw r5, r0
/* 80223F70 0021FBD0 41 80 FF E4 */ blt lbl_80223F54
/* 80223F74 0021FBD4 38 60 20 00 */ li r3, 0x2000
/* 80223F78 0021FBD8 4B FB 6D ED */ bl func_801DAD64
/* 80223F7C 0021FBDC 7C 65 1B 78 */ mr r5, r3
/* 80223F80 0021FBE0 90 6D A3 24 */ stw r3, lbl_8063F5E4-_SDA_BASE_(r13)
/* 80223F84 0021FBE4 3C 60 80 22 */ lis r3, lbl_80223D54@ha
/* 80223F88 0021FBE8 38 80 00 00 */ li r4, 0
/* 80223F8C 0021FBEC 38 63 3D 54 */ addi r3, r3, lbl_80223D54@l
/* 80223F90 0021FBF0 38 A5 1F FC */ addi r5, r5, 0x1ffc
/* 80223F94 0021FBF4 38 C0 1F FC */ li r6, 0x1ffc
/* 80223F98 0021FBF8 48 04 E6 B1 */ bl OSSetIdleFunction
/* 80223F9C 0021FBFC 80 8D A4 C8 */ lwz r4, lbl_8063F788-_SDA_BASE_(r13)
/* 80223FA0 0021FC00 2C 04 00 00 */ cmpwi r4, 0
/* 80223FA4 0021FC04 41 82 00 18 */ beq lbl_80223FBC
/* 80223FA8 0021FC08 3C 60 80 22 */ lis r3, lbl_80223D0C@ha
/* 80223FAC 0021FC0C 80 04 00 74 */ lwz r0, 0x74(r4)
/* 80223FB0 0021FC10 38 63 3D 0C */ addi r3, r3, lbl_80223D0C@l
/* 80223FB4 0021FC14 90 64 00 74 */ stw r3, 0x74(r4)
/* 80223FB8 0021FC18 90 0D A3 34 */ stw r0, lbl_8063F5F4-_SDA_BASE_(r13)
lbl_80223FBC:
/* 80223FBC 0021FC1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80223FC0 0021FC20 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80223FC4 0021FC24 7C 08 03 A6 */ mtlr r0
/* 80223FC8 0021FC28 38 21 00 10 */ addi r1, r1, 0x10
/* 80223FCC 0021FC2C 4E 80 00 20 */ blr
.global func_80223FD0
func_80223FD0:
/* 80223FD0 0021FC30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80223FD4 0021FC34 7C 08 02 A6 */ mflr r0
/* 80223FD8 0021FC38 90 01 00 24 */ stw r0, 0x24(r1)
/* 80223FDC 0021FC3C 39 61 00 20 */ addi r11, r1, 0x20
/* 80223FE0 0021FC40 4B FA 31 49 */ bl _savegpr_27
/* 80223FE4 0021FC44 7C 7B 1B 78 */ mr r27, r3
/* 80223FE8 0021FC48 7C 9C 23 78 */ mr r28, r4
/* 80223FEC 0021FC4C 7C BD 2B 78 */ mr r29, r5
/* 80223FF0 0021FC50 7C DE 33 78 */ mr r30, r6
/* 80223FF4 0021FC54 4B FF FD BD */ bl func_80223DB0
/* 80223FF8 0021FC58 2C 03 00 00 */ cmpwi r3, 0
/* 80223FFC 0021FC5C 7C 7F 1B 78 */ mr r31, r3
/* 80224000 0021FC60 40 82 00 0C */ bne lbl_8022400C
/* 80224004 0021FC64 38 60 00 00 */ li r3, 0
/* 80224008 0021FC68 48 00 00 4C */ b lbl_80224054
lbl_8022400C:
/* 8022400C 0021FC6C 38 00 00 00 */ li r0, 0
/* 80224010 0021FC70 90 03 00 00 */ stw r0, 0(r3)
/* 80224014 0021FC74 90 03 00 04 */ stw r0, 4(r3)
/* 80224018 0021FC78 93 63 00 08 */ stw r27, 8(r3)
/* 8022401C 0021FC7C 9B 83 00 10 */ stb r28, 0x10(r3)
/* 80224020 0021FC80 98 03 00 11 */ stb r0, 0x11(r3)
/* 80224024 0021FC84 93 A3 00 34 */ stw r29, 0x34(r3)
/* 80224028 0021FC88 93 C3 00 38 */ stw r30, 0x38(r3)
/* 8022402C 0021FC8C 90 03 00 0C */ stw r0, 0xc(r3)
/* 80224030 0021FC90 98 03 00 14 */ stb r0, 0x14(r3)
/* 80224034 0021FC94 4B FF FE 65 */ bl func_80223E98
/* 80224038 0021FC98 80 0D A3 10 */ lwz r0, lbl_8063F5D0-_SDA_BASE_(r13)
/* 8022403C 0021FC9C 3C 60 88 89 */ lis r3, 0x88888889@ha
/* 80224040 0021FCA0 38 63 88 89 */ addi r3, r3, 0x88888889@l
/* 80224044 0021FCA4 7C 00 F8 50 */ subf r0, r0, r31
/* 80224048 0021FCA8 7C 03 00 16 */ mulhwu r0, r3, r0
/* 8022404C 0021FCAC 54 03 D9 7E */ srwi r3, r0, 5
/* 80224050 0021FCB0 38 63 00 01 */ addi r3, r3, 1
lbl_80224054:
/* 80224054 0021FCB4 39 61 00 20 */ addi r11, r1, 0x20
/* 80224058 0021FCB8 4B FA 31 1D */ bl _restgpr_27
/* 8022405C 0021FCBC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80224060 0021FCC0 7C 08 03 A6 */ mtlr r0
/* 80224064 0021FCC4 38 21 00 20 */ addi r1, r1, 0x20
/* 80224068 0021FCC8 4E 80 00 20 */ blr
.global func_8022406C
func_8022406C:
/* 8022406C 0021FCCC 38 60 00 01 */ li r3, 1
/* 80224070 0021FCD0 4B FF FB E4 */ b func_80223C54
.global func_80224074
func_80224074:
/* 80224074 0021FCD4 80 6D A3 2C */ lwz r3, lbl_8063F5EC-_SDA_BASE_(r13)
/* 80224078 0021FCD8 48 00 00 08 */ b lbl_80224080
lbl_8022407C:
/* 8022407C 0021FCDC 80 63 00 04 */ lwz r3, 4(r3)
lbl_80224080:
/* 80224080 0021FCE0 2C 03 00 00 */ cmpwi r3, 0
/* 80224084 0021FCE4 40 82 FF F8 */ bne lbl_8022407C
/* 80224088 0021FCE8 4E 80 00 20 */ blr
.global func_8022408C
func_8022408C:
/* 8022408C 0021FCEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80224090 0021FCF0 7C 08 02 A6 */ mflr r0
/* 80224094 0021FCF4 2C 04 00 00 */ cmpwi r4, 0
/* 80224098 0021FCF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8022409C 0021FCFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802240A0 0021FD00 41 82 00 30 */ beq lbl_802240D0
/* 802240A4 0021FD04 2C 03 00 00 */ cmpwi r3, 0
/* 802240A8 0021FD08 41 82 00 28 */ beq lbl_802240D0
/* 802240AC 0021FD0C 38 03 FF FF */ addi r0, r3, -1
/* 802240B0 0021FD10 80 6D A3 10 */ lwz r3, lbl_8063F5D0-_SDA_BASE_(r13)
/* 802240B4 0021FD14 1C 00 00 3C */ mulli r0, r0, 0x3c
/* 802240B8 0021FD18 38 A0 00 1F */ li r5, 0x1f
/* 802240BC 0021FD1C 7F E3 02 14 */ add r31, r3, r0
/* 802240C0 0021FD20 38 7F 00 14 */ addi r3, r31, 0x14
/* 802240C4 0021FD24 4B DD FF 3D */ bl memcpy
/* 802240C8 0021FD28 38 00 00 00 */ li r0, 0
/* 802240CC 0021FD2C 98 1F 00 33 */ stb r0, 0x33(r31)
lbl_802240D0:
/* 802240D0 0021FD30 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802240D4 0021FD34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802240D8 0021FD38 7C 08 03 A6 */ mtlr r0
/* 802240DC 0021FD3C 38 21 00 10 */ addi r1, r1, 0x10
/* 802240E0 0021FD40 4E 80 00 20 */ blr
.global func_802240E4
func_802240E4:
/* 802240E4 0021FD44 38 A0 00 01 */ li r5, 1
/* 802240E8 0021FD48 38 6D A3 08 */ addi r3, r13, lbl_8063F5C8-_SDA_BASE_
/* 802240EC 0021FD4C 38 80 00 04 */ li r4, 4
/* 802240F0 0021FD50 38 00 00 00 */ li r0, 0
/* 802240F4 0021FD54 98 AD A3 08 */ stb r5, lbl_8063F5C8-_SDA_BASE_(r13)
/* 802240F8 0021FD58 B0 83 00 02 */ sth r4, 2(r3)
/* 802240FC 0021FD5C 98 03 00 04 */ stb r0, 4(r3)
/* 80224100 0021FD60 4E 80 00 20 */ blr
|