summaryrefslogtreecommitdiff
path: root/asm/code_8023283C.s
blob: 2f6ed4386ce9758c5d4cda30f4aeabe1984b6da3 (plain)
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
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global func_8023283C
func_8023283C:
/* 8023283C 0022E49C  38 00 00 00 */	li r0, 0
/* 80232840 0022E4A0  B0 03 00 00 */	sth r0, 0(r3)
/* 80232844 0022E4A4  B0 03 00 02 */	sth r0, 2(r3)
/* 80232848 0022E4A8  90 03 00 04 */	stw r0, 4(r3)
/* 8023284C 0022E4AC  90 03 00 08 */	stw r0, 8(r3)
/* 80232850 0022E4B0  90 03 00 0C */	stw r0, 0xc(r3)
/* 80232854 0022E4B4  4E 80 00 20 */	blr

.global func_80232858
func_80232858:
/* 80232858 0022E4B8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8023285C 0022E4BC  7C 08 02 A6 */	mflr r0
/* 80232860 0022E4C0  2C 03 00 00 */	cmpwi r3, 0
/* 80232864 0022E4C4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80232868 0022E4C8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8023286C 0022E4CC  7C 9F 23 78 */	mr r31, r4
/* 80232870 0022E4D0  93 C1 00 08 */	stw r30, 8(r1)
/* 80232874 0022E4D4  7C 7E 1B 78 */	mr r30, r3
/* 80232878 0022E4D8  41 82 00 18 */	beq lbl_80232890
/* 8023287C 0022E4DC  48 00 00 31 */	bl func_802328AC
/* 80232880 0022E4E0  2C 1F 00 00 */	cmpwi r31, 0
/* 80232884 0022E4E4  40 81 00 0C */	ble lbl_80232890
/* 80232888 0022E4E8  7F C3 F3 78 */	mr r3, r30
/* 8023288C 0022E4EC  4B FA 82 2D */	bl __dl__FPv
lbl_80232890:
/* 80232890 0022E4F0  7F C3 F3 78 */	mr r3, r30
/* 80232894 0022E4F4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80232898 0022E4F8  83 C1 00 08 */	lwz r30, 8(r1)
/* 8023289C 0022E4FC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802328A0 0022E500  7C 08 03 A6 */	mtlr r0
/* 802328A4 0022E504  38 21 00 10 */	addi r1, r1, 0x10
/* 802328A8 0022E508  4E 80 00 20 */	blr

.global func_802328AC
func_802328AC:
/* 802328AC 0022E50C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802328B0 0022E510  7C 08 02 A6 */	mflr r0
/* 802328B4 0022E514  90 01 00 14 */	stw r0, 0x14(r1)
/* 802328B8 0022E518  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802328BC 0022E51C  7C 7F 1B 78 */	mr r31, r3
/* 802328C0 0022E520  A0 83 00 00 */	lhz r4, 0(r3)
/* 802328C4 0022E524  54 80 07 FF */	clrlwi. r0, r4, 0x1f
/* 802328C8 0022E528  41 82 00 28 */	beq lbl_802328F0
/* 802328CC 0022E52C  80 63 00 04 */	lwz r3, 4(r3)
/* 802328D0 0022E530  2C 03 00 00 */	cmpwi r3, 0
/* 802328D4 0022E534  41 82 00 10 */	beq lbl_802328E4
/* 802328D8 0022E538  54 80 07 39 */	rlwinm. r0, r4, 0, 0x1c, 0x1c
/* 802328DC 0022E53C  41 82 00 08 */	beq lbl_802328E4
/* 802328E0 0022E540  4B FA 85 C5 */	bl func_801DAEA4
lbl_802328E4:
/* 802328E4 0022E544  A0 1F 00 00 */	lhz r0, 0(r31)
/* 802328E8 0022E548  54 00 04 3C */	rlwinm r0, r0, 0, 0x10, 0x1e
/* 802328EC 0022E54C  B0 1F 00 00 */	sth r0, 0(r31)
lbl_802328F0:
/* 802328F0 0022E550  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802328F4 0022E554  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802328F8 0022E558  7C 08 03 A6 */	mtlr r0
/* 802328FC 0022E55C  38 21 00 10 */	addi r1, r1, 0x10
/* 80232900 0022E560  4E 80 00 20 */	blr

.global func_80232904
func_80232904:
/* 80232904 0022E564  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80232908 0022E568  7C 08 02 A6 */	mflr r0
/* 8023290C 0022E56C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80232910 0022E570  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80232914 0022E574  7C 7F 1B 78 */	mr r31, r3
/* 80232918 0022E578  48 00 00 25 */	bl func_8023293C
/* 8023291C 0022E57C  80 7F 00 04 */	lwz r3, 4(r31)
/* 80232920 0022E580  80 9F 00 08 */	lwz r4, 8(r31)
/* 80232924 0022E584  48 05 3E 75 */	bl GXCallDisplayList
/* 80232928 0022E588  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8023292C 0022E58C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80232930 0022E590  7C 08 03 A6 */	mtlr r0
/* 80232934 0022E594  38 21 00 10 */	addi r1, r1, 0x10
/* 80232938 0022E598  4E 80 00 20 */	blr

.global func_8023293C
func_8023293C:
/* 8023293C 0022E59C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80232940 0022E5A0  7C 08 02 A6 */	mflr r0
/* 80232944 0022E5A4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80232948 0022E5A8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8023294C 0022E5AC  7C 7F 1B 78 */	mr r31, r3
/* 80232950 0022E5B0  A0 03 00 00 */	lhz r0, 0(r3)
/* 80232954 0022E5B4  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80232958 0022E5B8  41 82 00 1C */	beq lbl_80232974
/* 8023295C 0022E5BC  80 63 00 04 */	lwz r3, 4(r3)
/* 80232960 0022E5C0  80 9F 00 08 */	lwz r4, 8(r31)
/* 80232964 0022E5C4  48 03 7D 21 */	bl DCStoreRange
/* 80232968 0022E5C8  A0 1F 00 00 */	lhz r0, 0(r31)
/* 8023296C 0022E5CC  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80232970 0022E5D0  B0 1F 00 00 */	sth r0, 0(r31)
lbl_80232974:
/* 80232974 0022E5D4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80232978 0022E5D8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8023297C 0022E5DC  7C 08 03 A6 */	mtlr r0
/* 80232980 0022E5E0  38 21 00 10 */	addi r1, r1, 0x10
/* 80232984 0022E5E4  4E 80 00 20 */	blr

.global func_80232988
func_80232988:
/* 80232988 0022E5E8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8023298C 0022E5EC  7C 08 02 A6 */	mflr r0
/* 80232990 0022E5F0  38 C6 00 1F */	addi r6, r6, 0x1f
/* 80232994 0022E5F4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80232998 0022E5F8  38 05 00 1F */	addi r0, r5, 0x1f
/* 8023299C 0022E5FC  54 C5 00 34 */	rlwinm r5, r6, 0, 0, 0x1a
/* 802329A0 0022E600  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802329A4 0022E604  54 00 00 34 */	rlwinm r0, r0, 0, 0, 0x1a
/* 802329A8 0022E608  7C FF 3B 78 */	mr r31, r7
/* 802329AC 0022E60C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802329B0 0022E610  7C 9E 23 78 */	mr r30, r4
/* 802329B4 0022E614  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802329B8 0022E618  7C 7D 1B 78 */	mr r29, r3
/* 802329BC 0022E61C  90 A3 00 08 */	stw r5, 8(r3)
/* 802329C0 0022E620  90 03 00 04 */	stw r0, 4(r3)
/* 802329C4 0022E624  7F C3 F3 78 */	mr r3, r30
/* 802329C8 0022E628  48 00 A3 35 */	bl func_8023CCFC
/* 802329CC 0022E62C  2C 1F 00 00 */	cmpwi r31, 0
/* 802329D0 0022E630  B0 7D 00 02 */	sth r3, 2(r29)
/* 802329D4 0022E634  80 BD 00 04 */	lwz r5, 4(r29)
/* 802329D8 0022E638  38 60 00 00 */	li r3, 0
/* 802329DC 0022E63C  93 DD 00 0C */	stw r30, 0xc(r29)
/* 802329E0 0022E640  41 82 01 D8 */	beq lbl_80232BB8
/* 802329E4 0022E644  28 1F 00 08 */	cmplwi r31, 8
/* 802329E8 0022E648  3C 9F 00 01 */	addis r4, r31, 1
/* 802329EC 0022E64C  38 84 FF F8 */	addi r4, r4, -8
/* 802329F0 0022E650  40 81 01 80 */	ble lbl_80232B70
/* 802329F4 0022E654  54 84 04 3E */	clrlwi r4, r4, 0x10
/* 802329F8 0022E658  38 04 00 07 */	addi r0, r4, 7
/* 802329FC 0022E65C  54 00 E8 FE */	srwi r0, r0, 3
/* 80232A00 0022E660  7C 09 03 A6 */	mtctr r0
/* 80232A04 0022E664  28 04 00 00 */	cmplwi r4, 0
/* 80232A08 0022E668  40 81 01 68 */	ble lbl_80232B70
lbl_80232A0C:
/* 80232A0C 0022E66C  88 05 00 00 */	lbz r0, 0(r5)
/* 80232A10 0022E670  38 C5 00 03 */	addi r6, r5, 3
/* 80232A14 0022E674  38 63 00 08 */	addi r3, r3, 8
/* 80232A18 0022E678  54 00 06 38 */	rlwinm r0, r0, 0, 0x18, 0x1c
/* 80232A1C 0022E67C  98 05 00 00 */	stb r0, 0(r5)
/* 80232A20 0022E680  80 9E 00 04 */	lwz r4, 4(r30)
/* 80232A24 0022E684  7C 00 23 78 */	or r0, r0, r4
/* 80232A28 0022E688  98 05 00 00 */	stb r0, 0(r5)
/* 80232A2C 0022E68C  A0 85 00 01 */	lhz r4, 1(r5)
/* 80232A30 0022E690  A0 1D 00 02 */	lhz r0, 2(r29)
/* 80232A34 0022E694  7C 04 01 D6 */	mullw r0, r4, r0
/* 80232A38 0022E698  7C 06 00 EE */	lbzux r0, r6, r0
/* 80232A3C 0022E69C  54 00 06 38 */	rlwinm r0, r0, 0, 0x18, 0x1c
/* 80232A40 0022E6A0  38 A6 00 03 */	addi r5, r6, 3
/* 80232A44 0022E6A4  98 06 00 00 */	stb r0, 0(r6)
/* 80232A48 0022E6A8  80 9E 00 04 */	lwz r4, 4(r30)
/* 80232A4C 0022E6AC  7C 00 23 78 */	or r0, r0, r4
/* 80232A50 0022E6B0  98 06 00 00 */	stb r0, 0(r6)
/* 80232A54 0022E6B4  A0 86 00 01 */	lhz r4, 1(r6)
/* 80232A58 0022E6B8  A0 1D 00 02 */	lhz r0, 2(r29)
/* 80232A5C 0022E6BC  7C 04 01 D6 */	mullw r0, r4, r0
/* 80232A60 0022E6C0  7C 85 02 14 */	add r4, r5, r0
/* 80232A64 0022E6C4  7C 05 00 AE */	lbzx r0, r5, r0
/* 80232A68 0022E6C8  38 C4 00 03 */	addi r6, r4, 3
/* 80232A6C 0022E6CC  54 00 06 38 */	rlwinm r0, r0, 0, 0x18, 0x1c
/* 80232A70 0022E6D0  98 04 00 00 */	stb r0, 0(r4)
/* 80232A74 0022E6D4  80 BE 00 04 */	lwz r5, 4(r30)
/* 80232A78 0022E6D8  7C 00 2B 78 */	or r0, r0, r5
/* 80232A7C 0022E6DC  98 04 00 00 */	stb r0, 0(r4)
/* 80232A80 0022E6E0  A0 84 00 01 */	lhz r4, 1(r4)
/* 80232A84 0022E6E4  A0 1D 00 02 */	lhz r0, 2(r29)
/* 80232A88 0022E6E8  7C 04 01 D6 */	mullw r0, r4, r0
/* 80232A8C 0022E6EC  7C 86 02 14 */	add r4, r6, r0
/* 80232A90 0022E6F0  7C 06 00 AE */	lbzx r0, r6, r0
/* 80232A94 0022E6F4  38 C4 00 03 */	addi r6, r4, 3
/* 80232A98 0022E6F8  54 00 06 38 */	rlwinm r0, r0, 0, 0x18, 0x1c
/* 80232A9C 0022E6FC  98 04 00 00 */	stb r0, 0(r4)
/* 80232AA0 0022E700  80 BE 00 04 */	lwz r5, 4(r30)
/* 80232AA4 0022E704  7C 00 2B 78 */	or r0, r0, r5
/* 80232AA8 0022E708  98 04 00 00 */	stb r0, 0(r4)
/* 80232AAC 0022E70C  A0 84 00 01 */	lhz r4, 1(r4)
/* 80232AB0 0022E710  A0 1D 00 02 */	lhz r0, 2(r29)
/* 80232AB4 0022E714  7C 04 01 D6 */	mullw r0, r4, r0
/* 80232AB8 0022E718  7C 86 02 14 */	add r4, r6, r0
/* 80232ABC 0022E71C  7C 06 00 AE */	lbzx r0, r6, r0
/* 80232AC0 0022E720  38 C4 00 03 */	addi r6, r4, 3
/* 80232AC4 0022E724  54 00 06 38 */	rlwinm r0, r0, 0, 0x18, 0x1c
/* 80232AC8 0022E728  98 04 00 00 */	stb r0, 0(r4)
/* 80232ACC 0022E72C  80 BE 00 04 */	lwz r5, 4(r30)
/* 80232AD0 0022E730  7C 00 2B 78 */	or r0, r0, r5
/* 80232AD4 0022E734  98 04 00 00 */	stb r0, 0(r4)
/* 80232AD8 0022E738  A0 84 00 01 */	lhz r4, 1(r4)
/* 80232ADC 0022E73C  A0 1D 00 02 */	lhz r0, 2(r29)
/* 80232AE0 0022E740  7C 04 01 D6 */	mullw r0, r4, r0
/* 80232AE4 0022E744  7C 86 02 14 */	add r4, r6, r0
/* 80232AE8 0022E748  7C 06 00 AE */	lbzx r0, r6, r0
/* 80232AEC 0022E74C  38 C4 00 03 */	addi r6, r4, 3
/* 80232AF0 0022E750  54 00 06 38 */	rlwinm r0, r0, 0, 0x18, 0x1c
/* 80232AF4 0022E754  98 04 00 00 */	stb r0, 0(r4)
/* 80232AF8 0022E758  80 BE 00 04 */	lwz r5, 4(r30)
/* 80232AFC 0022E75C  7C 00 2B 78 */	or r0, r0, r5
/* 80232B00 0022E760  98 04 00 00 */	stb r0, 0(r4)
/* 80232B04 0022E764  A0 84 00 01 */	lhz r4, 1(r4)
/* 80232B08 0022E768  A0 1D 00 02 */	lhz r0, 2(r29)
/* 80232B0C 0022E76C  7C 04 01 D6 */	mullw r0, r4, r0
/* 80232B10 0022E770  7C 86 02 14 */	add r4, r6, r0
/* 80232B14 0022E774  7C 06 00 AE */	lbzx r0, r6, r0
/* 80232B18 0022E778  38 C4 00 03 */	addi r6, r4, 3
/* 80232B1C 0022E77C  54 00 06 38 */	rlwinm r0, r0, 0, 0x18, 0x1c
/* 80232B20 0022E780  98 04 00 00 */	stb r0, 0(r4)
/* 80232B24 0022E784  80 BE 00 04 */	lwz r5, 4(r30)
/* 80232B28 0022E788  7C 00 2B 78 */	or r0, r0, r5
/* 80232B2C 0022E78C  98 04 00 00 */	stb r0, 0(r4)
/* 80232B30 0022E790  A0 84 00 01 */	lhz r4, 1(r4)
/* 80232B34 0022E794  A0 1D 00 02 */	lhz r0, 2(r29)
/* 80232B38 0022E798  7C 04 01 D6 */	mullw r0, r4, r0
/* 80232B3C 0022E79C  7C 86 02 14 */	add r4, r6, r0
/* 80232B40 0022E7A0  7C 06 00 AE */	lbzx r0, r6, r0
/* 80232B44 0022E7A4  38 C4 00 03 */	addi r6, r4, 3
/* 80232B48 0022E7A8  54 00 06 38 */	rlwinm r0, r0, 0, 0x18, 0x1c
/* 80232B4C 0022E7AC  98 04 00 00 */	stb r0, 0(r4)
/* 80232B50 0022E7B0  80 BE 00 04 */	lwz r5, 4(r30)
/* 80232B54 0022E7B4  7C 00 2B 78 */	or r0, r0, r5
/* 80232B58 0022E7B8  98 04 00 00 */	stb r0, 0(r4)
/* 80232B5C 0022E7BC  A0 84 00 01 */	lhz r4, 1(r4)
/* 80232B60 0022E7C0  A0 1D 00 02 */	lhz r0, 2(r29)
/* 80232B64 0022E7C4  7C 04 01 D6 */	mullw r0, r4, r0
/* 80232B68 0022E7C8  7C A6 02 14 */	add r5, r6, r0
/* 80232B6C 0022E7CC  42 00 FE A0 */	bdnz lbl_80232A0C
lbl_80232B70:
/* 80232B70 0022E7D0  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 80232B74 0022E7D4  7C 04 F8 50 */	subf r0, r4, r31
/* 80232B78 0022E7D8  7C 09 03 A6 */	mtctr r0
/* 80232B7C 0022E7DC  7C 04 F8 40 */	cmplw r4, r31
/* 80232B80 0022E7E0  40 80 00 38 */	bge lbl_80232BB8
lbl_80232B84:
/* 80232B84 0022E7E4  88 05 00 00 */	lbz r0, 0(r5)
/* 80232B88 0022E7E8  38 C5 00 03 */	addi r6, r5, 3
/* 80232B8C 0022E7EC  38 63 00 01 */	addi r3, r3, 1
/* 80232B90 0022E7F0  54 00 06 38 */	rlwinm r0, r0, 0, 0x18, 0x1c
/* 80232B94 0022E7F4  98 05 00 00 */	stb r0, 0(r5)
/* 80232B98 0022E7F8  80 9E 00 04 */	lwz r4, 4(r30)
/* 80232B9C 0022E7FC  7C 00 23 78 */	or r0, r0, r4
/* 80232BA0 0022E800  98 05 00 00 */	stb r0, 0(r5)
/* 80232BA4 0022E804  A0 85 00 01 */	lhz r4, 1(r5)
/* 80232BA8 0022E808  A0 1D 00 02 */	lhz r0, 2(r29)
/* 80232BAC 0022E80C  7C 04 01 D6 */	mullw r0, r4, r0
/* 80232BB0 0022E810  7C A6 02 14 */	add r5, r6, r0
/* 80232BB4 0022E814  42 00 FF D0 */	bdnz lbl_80232B84
lbl_80232BB8:
/* 80232BB8 0022E818  A0 1D 00 00 */	lhz r0, 0(r29)
/* 80232BBC 0022E81C  28 1F 00 01 */	cmplwi r31, 1
/* 80232BC0 0022E820  60 00 00 03 */	ori r0, r0, 3
/* 80232BC4 0022E824  B0 1D 00 00 */	sth r0, 0(r29)
/* 80232BC8 0022E828  40 82 00 0C */	bne lbl_80232BD4
/* 80232BCC 0022E82C  60 00 00 04 */	ori r0, r0, 4
/* 80232BD0 0022E830  B0 1D 00 00 */	sth r0, 0(r29)
lbl_80232BD4:
/* 80232BD4 0022E834  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80232BD8 0022E838  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80232BDC 0022E83C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80232BE0 0022E840  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80232BE4 0022E844  7C 08 03 A6 */	mtlr r0
/* 80232BE8 0022E848  38 21 00 20 */	addi r1, r1, 0x20
/* 80232BEC 0022E84C  4E 80 00 20 */	blr

.global func_80232BF0
func_80232BF0:
/* 80232BF0 0022E850  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80232BF4 0022E854  7C 08 02 A6 */	mflr r0
/* 80232BF8 0022E858  90 01 00 24 */	stw r0, 0x24(r1)
/* 80232BFC 0022E85C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80232C00 0022E860  7C DF 33 78 */	mr r31, r6
/* 80232C04 0022E864  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80232C08 0022E868  7C BE 2B 78 */	mr r30, r5
/* 80232C0C 0022E86C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80232C10 0022E870  7C 9D 23 78 */	mr r29, r4
/* 80232C14 0022E874  93 81 00 10 */	stw r28, 0x10(r1)
/* 80232C18 0022E878  7C 7C 1B 78 */	mr r28, r3
/* 80232C1C 0022E87C  7F A3 EB 78 */	mr r3, r29
/* 80232C20 0022E880  48 00 A0 DD */	bl func_8023CCFC
/* 80232C24 0022E884  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 80232C28 0022E888  57 C0 2A F4 */	rlwinm r0, r30, 5, 0xb, 0x1a
/* 80232C2C 0022E88C  7C BF 21 D6 */	mullw r5, r31, r4
/* 80232C30 0022E890  B0 7C 00 02 */	sth r3, 2(r28)
/* 80232C34 0022E894  38 80 00 20 */	li r4, 0x20
/* 80232C38 0022E898  7C 60 2A 14 */	add r3, r0, r5
/* 80232C3C 0022E89C  38 03 00 5F */	addi r0, r3, 0x5f
/* 80232C40 0022E8A0  54 03 00 34 */	rlwinm r3, r0, 0, 0, 0x1a
/* 80232C44 0022E8A4  90 7C 00 08 */	stw r3, 8(r28)
/* 80232C48 0022E8A8  4B FA 81 85 */	bl func_801DADCC
/* 80232C4C 0022E8AC  90 7C 00 04 */	stw r3, 4(r28)
/* 80232C50 0022E8B0  38 80 00 00 */	li r4, 0
/* 80232C54 0022E8B4  80 BC 00 08 */	lwz r5, 8(r28)
/* 80232C58 0022E8B8  4B DD 14 AD */	bl memset
/* 80232C5C 0022E8BC  80 7C 00 04 */	lwz r3, 4(r28)
/* 80232C60 0022E8C0  80 9C 00 08 */	lwz r4, 8(r28)
/* 80232C64 0022E8C4  48 03 79 F1 */	bl DCFlushRange
/* 80232C68 0022E8C8  93 BC 00 0C */	stw r29, 0xc(r28)
/* 80232C6C 0022E8CC  80 7C 00 04 */	lwz r3, 4(r28)
/* 80232C70 0022E8D0  80 9C 00 08 */	lwz r4, 8(r28)
/* 80232C74 0022E8D4  48 05 39 C9 */	bl GXBeginDisplayList
/* 80232C78 0022E8D8  48 04 DA 89 */	bl GXResetWriteGatherPipe
/* 80232C7C 0022E8DC  A0 7C 00 00 */	lhz r3, 0(r28)
/* 80232C80 0022E8E0  38 00 00 01 */	li r0, 1
/* 80232C84 0022E8E4  60 63 00 09 */	ori r3, r3, 9
/* 80232C88 0022E8E8  B0 7C 00 00 */	sth r3, 0(r28)
/* 80232C8C 0022E8EC  93 8D A3 F8 */	stw r28, lbl_8063F6B8-_SDA_BASE_(r13)
/* 80232C90 0022E8F0  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 80232C94 0022E8F4  98 03 16 FB */	stb r0, 0x16fb(r3)
/* 80232C98 0022E8F8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80232C9C 0022E8FC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80232CA0 0022E900  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80232CA4 0022E904  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80232CA8 0022E908  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80232CAC 0022E90C  7C 08 03 A6 */	mtlr r0
/* 80232CB0 0022E910  38 21 00 20 */	addi r1, r1, 0x20
/* 80232CB4 0022E914  4E 80 00 20 */	blr

.global func_80232CB8
func_80232CB8:
/* 80232CB8 0022E918  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80232CBC 0022E91C  7C 08 02 A6 */	mflr r0
/* 80232CC0 0022E920  90 01 00 14 */	stw r0, 0x14(r1)
/* 80232CC4 0022E924  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80232CC8 0022E928  7C 7F 1B 78 */	mr r31, r3
/* 80232CCC 0022E92C  48 05 3A 21 */	bl GXEndDisplayList
/* 80232CD0 0022E930  7C 64 1B 78 */	mr r4, r3
/* 80232CD4 0022E934  90 7F 00 08 */	stw r3, 8(r31)
/* 80232CD8 0022E938  80 7F 00 04 */	lwz r3, 4(r31)
/* 80232CDC 0022E93C  4B FA 81 85 */	bl func_801DAE60
/* 80232CE0 0022E940  38 00 00 00 */	li r0, 0
/* 80232CE4 0022E944  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 80232CE8 0022E948  90 0D A3 F8 */	stw r0, lbl_8063F6B8-_SDA_BASE_(r13)
/* 80232CEC 0022E94C  98 03 16 FB */	stb r0, 0x16fb(r3)
/* 80232CF0 0022E950  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80232CF4 0022E954  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80232CF8 0022E958  7C 08 03 A6 */	mtlr r0
/* 80232CFC 0022E95C  38 21 00 10 */	addi r1, r1, 0x10
/* 80232D00 0022E960  4E 80 00 20 */	blr

.global func_80232D04
func_80232D04:
/* 80232D04 0022E964  38 A0 00 01 */	li r5, 1
/* 80232D08 0022E968  38 6D A3 F0 */	addi r3, r13, lbl_8063F6B0-_SDA_BASE_
/* 80232D0C 0022E96C  38 80 00 04 */	li r4, 4
/* 80232D10 0022E970  38 00 00 00 */	li r0, 0
/* 80232D14 0022E974  98 AD A3 F0 */	stb r5, lbl_8063F6B0-_SDA_BASE_(r13)
/* 80232D18 0022E978  B0 83 00 02 */	sth r4, 2(r3)
/* 80232D1C 0022E97C  98 03 00 04 */	stb r0, 4(r3)
/* 80232D20 0022E980  4E 80 00 20 */	blr