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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_8021D0E0
func_8021D0E0:
/* 8021D0E0 00218D40 3C 80 80 42 */ lis r4, lbl_80423B38@ha
/* 8021D0E4 00218D44 38 00 00 00 */ li r0, 0
/* 8021D0E8 00218D48 38 84 3B 38 */ addi r4, r4, lbl_80423B38@l
/* 8021D0EC 00218D4C 90 03 00 00 */ stw r0, 0(r3)
/* 8021D0F0 00218D50 90 83 00 0C */ stw r4, 0xc(r3)
/* 8021D0F4 00218D54 90 03 00 04 */ stw r0, 4(r3)
/* 8021D0F8 00218D58 98 03 00 08 */ stb r0, 8(r3)
/* 8021D0FC 00218D5C 80 8D A2 90 */ lwz r4, lbl_8063F550-_SDA_BASE_(r13)
/* 8021D100 00218D60 2C 04 00 00 */ cmpwi r4, 0
/* 8021D104 00218D64 41 82 00 20 */ beq lbl_8021D124
/* 8021D108 00218D68 48 00 00 08 */ b lbl_8021D110
lbl_8021D10C:
/* 8021D10C 00218D6C 7C 04 03 78 */ mr r4, r0
lbl_8021D110:
/* 8021D110 00218D70 80 04 00 00 */ lwz r0, 0(r4)
/* 8021D114 00218D74 2C 00 00 00 */ cmpwi r0, 0
/* 8021D118 00218D78 40 82 FF F4 */ bne lbl_8021D10C
/* 8021D11C 00218D7C 90 64 00 00 */ stw r3, 0(r4)
/* 8021D120 00218D80 4E 80 00 20 */ blr
lbl_8021D124:
/* 8021D124 00218D84 90 6D A2 90 */ stw r3, lbl_8063F550-_SDA_BASE_(r13)
/* 8021D128 00218D88 4E 80 00 20 */ blr
/* 8021D12C 00218D8C 38 60 00 01 */ li r3, 1
/* 8021D130 00218D90 4E 80 00 20 */ blr
/* 8021D134 00218D94 4E 80 00 20 */ blr
/* 8021D138 00218D98 38 60 00 01 */ li r3, 1
/* 8021D13C 00218D9C 4E 80 00 20 */ blr
/* 8021D140 00218DA0 4E 80 00 20 */ blr
.global func_8021D144
func_8021D144:
/* 8021D144 00218DA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8021D148 00218DA8 7C 08 02 A6 */ mflr r0
/* 8021D14C 00218DAC 2C 03 00 00 */ cmpwi r3, 0
/* 8021D150 00218DB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8021D154 00218DB4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8021D158 00218DB8 7C 7F 1B 78 */ mr r31, r3
/* 8021D15C 00218DBC 41 82 00 5C */ beq lbl_8021D1B8
/* 8021D160 00218DC0 80 AD A2 90 */ lwz r5, lbl_8063F550-_SDA_BASE_(r13)
/* 8021D164 00218DC4 7C 05 18 40 */ cmplw r5, r3
/* 8021D168 00218DC8 40 82 00 24 */ bne lbl_8021D18C
/* 8021D16C 00218DCC 80 03 00 00 */ lwz r0, 0(r3)
/* 8021D170 00218DD0 90 0D A2 90 */ stw r0, lbl_8063F550-_SDA_BASE_(r13)
/* 8021D174 00218DD4 48 00 00 28 */ b lbl_8021D19C
/* 8021D178 00218DD8 48 00 00 14 */ b lbl_8021D18C
lbl_8021D17C:
/* 8021D17C 00218DDC 80 05 00 00 */ lwz r0, 0(r5)
/* 8021D180 00218DE0 7C 00 18 40 */ cmplw r0, r3
/* 8021D184 00218DE4 41 82 00 10 */ beq lbl_8021D194
/* 8021D188 00218DE8 7C 05 03 78 */ mr r5, r0
lbl_8021D18C:
/* 8021D18C 00218DEC 2C 05 00 00 */ cmpwi r5, 0
/* 8021D190 00218DF0 40 82 FF EC */ bne lbl_8021D17C
lbl_8021D194:
/* 8021D194 00218DF4 80 03 00 00 */ lwz r0, 0(r3)
/* 8021D198 00218DF8 90 05 00 00 */ stw r0, 0(r5)
lbl_8021D19C:
/* 8021D19C 00218DFC 38 00 00 00 */ li r0, 0
/* 8021D1A0 00218E00 2C 04 00 00 */ cmpwi r4, 0
/* 8021D1A4 00218E04 90 03 00 00 */ stw r0, 0(r3)
/* 8021D1A8 00218E08 40 81 00 10 */ ble lbl_8021D1B8
/* 8021D1AC 00218E0C 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8021D1B0 00218E10 7F E4 FB 78 */ mr r4, r31
/* 8021D1B4 00218E14 4B FB DB 95 */ bl func_801DAD48
lbl_8021D1B8:
/* 8021D1B8 00218E18 7F E3 FB 78 */ mr r3, r31
/* 8021D1BC 00218E1C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8021D1C0 00218E20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8021D1C4 00218E24 7C 08 03 A6 */ mtlr r0
/* 8021D1C8 00218E28 38 21 00 10 */ addi r1, r1, 0x10
/* 8021D1CC 00218E2C 4E 80 00 20 */ blr
.global func_8021D1D0
func_8021D1D0:
/* 8021D1D0 00218E30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8021D1D4 00218E34 7C 08 02 A6 */ mflr r0
/* 8021D1D8 00218E38 90 01 00 24 */ stw r0, 0x24(r1)
/* 8021D1DC 00218E3C DB E1 00 18 */ stfd f31, 0x18(r1)
/* 8021D1E0 00218E40 FF E0 08 90 */ fmr f31, f1
/* 8021D1E4 00218E44 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8021D1E8 00218E48 3B E0 00 00 */ li r31, 0
/* 8021D1EC 00218E4C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8021D1F0 00218E50 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8021D1F4 00218E54 83 AD A2 90 */ lwz r29, lbl_8063F550-_SDA_BASE_(r13)
/* 8021D1F8 00218E58 48 00 00 74 */ b lbl_8021D26C
lbl_8021D1FC:
/* 8021D1FC 00218E5C 88 1D 00 08 */ lbz r0, 8(r29)
/* 8021D200 00218E60 2C 00 00 00 */ cmpwi r0, 0
/* 8021D204 00218E64 41 82 00 64 */ beq lbl_8021D268
/* 8021D208 00218E68 81 9D 00 0C */ lwz r12, 0xc(r29)
/* 8021D20C 00218E6C FC 20 F8 90 */ fmr f1, f31
/* 8021D210 00218E70 7F A3 EB 78 */ mr r3, r29
/* 8021D214 00218E74 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8021D218 00218E78 7D 89 03 A6 */ mtctr r12
/* 8021D21C 00218E7C 4E 80 04 21 */ bctrl
/* 8021D220 00218E80 2C 03 00 00 */ cmpwi r3, 0
/* 8021D224 00218E84 40 82 00 44 */ bne lbl_8021D268
/* 8021D228 00218E88 88 1D 00 08 */ lbz r0, 8(r29)
/* 8021D22C 00218E8C 2C 00 00 00 */ cmpwi r0, 0
/* 8021D230 00218E90 41 82 00 38 */ beq lbl_8021D268
/* 8021D234 00218E94 83 DD 00 04 */ lwz r30, 4(r29)
/* 8021D238 00218E98 57 C3 86 3E */ rlwinm r3, r30, 0x10, 0x18, 0x1f
/* 8021D23C 00218E9C 48 01 DE 1D */ bl func_8023B058
/* 8021D240 00218EA0 2C 03 00 00 */ cmpwi r3, 0
/* 8021D244 00218EA4 41 82 00 0C */ beq lbl_8021D250
/* 8021D248 00218EA8 7F C4 F3 78 */ mr r4, r30
/* 8021D24C 00218EAC 48 01 E1 D5 */ bl func_8023B420
lbl_8021D250:
/* 8021D250 00218EB0 81 9D 00 0C */ lwz r12, 0xc(r29)
/* 8021D254 00218EB4 7F A3 EB 78 */ mr r3, r29
/* 8021D258 00218EB8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8021D25C 00218EBC 7D 89 03 A6 */ mtctr r12
/* 8021D260 00218EC0 4E 80 04 21 */ bctrl
/* 8021D264 00218EC4 9B FD 00 08 */ stb r31, 8(r29)
lbl_8021D268:
/* 8021D268 00218EC8 83 BD 00 00 */ lwz r29, 0(r29)
lbl_8021D26C:
/* 8021D26C 00218ECC 2C 1D 00 00 */ cmpwi r29, 0
/* 8021D270 00218ED0 40 82 FF 8C */ bne lbl_8021D1FC
/* 8021D274 00218ED4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8021D278 00218ED8 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 8021D27C 00218EDC 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8021D280 00218EE0 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8021D284 00218EE4 83 A1 00 0C */ lwz r29, 0xc(r1)
/* 8021D288 00218EE8 7C 08 03 A6 */ mtlr r0
/* 8021D28C 00218EEC 38 21 00 20 */ addi r1, r1, 0x20
/* 8021D290 00218EF0 4E 80 00 20 */ blr
.global func_8021D294
func_8021D294:
/* 8021D294 00218EF4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8021D298 00218EF8 7C 08 02 A6 */ mflr r0
/* 8021D29C 00218EFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8021D2A0 00218F00 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8021D2A4 00218F04 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8021D2A8 00218F08 7C 7E 1B 78 */ mr r30, r3
/* 8021D2AC 00218F0C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8021D2B0 00218F10 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8021D2B4 00218F14 80 85 16 38 */ lwz r4, 0x1638(r5)
/* 8021D2B8 00218F18 88 64 0A 87 */ lbz r3, 0xa87(r4)
/* 8021D2BC 00218F1C 7C 03 00 D0 */ neg r0, r3
/* 8021D2C0 00218F20 7C 00 1B 78 */ or r0, r0, r3
/* 8021D2C4 00218F24 54 1F 0F FF */ rlwinm. r31, r0, 1, 0x1f, 0x1f
/* 8021D2C8 00218F28 41 82 00 2C */ beq lbl_8021D2F4
/* 8021D2CC 00218F2C 38 00 00 00 */ li r0, 0
/* 8021D2D0 00218F30 98 04 0A 87 */ stb r0, 0xa87(r4)
/* 8021D2D4 00218F34 80 65 16 38 */ lwz r3, 0x1638(r5)
/* 8021D2D8 00218F38 80 03 00 64 */ lwz r0, 0x64(r3)
/* 8021D2DC 00218F3C 60 00 00 40 */ ori r0, r0, 0x40
/* 8021D2E0 00218F40 90 03 00 64 */ stw r0, 0x64(r3)
/* 8021D2E4 00218F44 80 65 16 38 */ lwz r3, 0x1638(r5)
/* 8021D2E8 00218F48 80 03 00 00 */ lwz r0, 0(r3)
/* 8021D2EC 00218F4C 60 00 00 40 */ ori r0, r0, 0x40
/* 8021D2F0 00218F50 90 03 00 00 */ stw r0, 0(r3)
lbl_8021D2F4:
/* 8021D2F4 00218F54 83 AD A2 90 */ lwz r29, lbl_8063F550-_SDA_BASE_(r13)
/* 8021D2F8 00218F58 48 00 00 84 */ b lbl_8021D37C
lbl_8021D2FC:
/* 8021D2FC 00218F5C 88 1D 00 08 */ lbz r0, 8(r29)
/* 8021D300 00218F60 2C 00 00 00 */ cmpwi r0, 0
/* 8021D304 00218F64 41 82 00 74 */ beq lbl_8021D378
/* 8021D308 00218F68 80 8D A4 70 */ lwz r4, lbl_8063F730-_SDA_BASE_(r13)
/* 8021D30C 00218F6C 2C 04 00 00 */ cmpwi r4, 0
/* 8021D310 00218F70 40 82 00 0C */ bne lbl_8021D31C
/* 8021D314 00218F74 38 60 00 00 */ li r3, 0
/* 8021D318 00218F78 48 00 00 3C */ b lbl_8021D354
lbl_8021D31C:
/* 8021D31C 00218F7C 80 A4 00 14 */ lwz r5, 0x14(r4)
/* 8021D320 00218F80 2C 05 00 00 */ cmpwi r5, 0
/* 8021D324 00218F84 41 82 00 2C */ beq lbl_8021D350
/* 8021D328 00218F88 80 65 00 00 */ lwz r3, 0(r5)
/* 8021D32C 00218F8C 80 04 00 00 */ lwz r0, 0(r4)
/* 8021D330 00218F90 80 83 00 00 */ lwz r4, 0(r3)
/* 8021D334 00218F94 80 65 00 04 */ lwz r3, 4(r5)
/* 8021D338 00218F98 54 05 80 1E */ slwi r5, r0, 0x10
/* 8021D33C 00218F9C 54 84 40 2E */ slwi r4, r4, 8
/* 8021D340 00218FA0 88 03 00 04 */ lbz r0, 4(r3)
/* 8021D344 00218FA4 7C A3 23 78 */ or r3, r5, r4
/* 8021D348 00218FA8 7C 63 03 78 */ or r3, r3, r0
/* 8021D34C 00218FAC 48 00 00 08 */ b lbl_8021D354
lbl_8021D350:
/* 8021D350 00218FB0 38 60 00 00 */ li r3, 0
lbl_8021D354:
/* 8021D354 00218FB4 80 1D 00 04 */ lwz r0, 4(r29)
/* 8021D358 00218FB8 7C 00 18 40 */ cmplw r0, r3
/* 8021D35C 00218FBC 40 82 00 1C */ bne lbl_8021D378
/* 8021D360 00218FC0 81 9D 00 0C */ lwz r12, 0xc(r29)
/* 8021D364 00218FC4 7F A3 EB 78 */ mr r3, r29
/* 8021D368 00218FC8 7F C4 F3 78 */ mr r4, r30
/* 8021D36C 00218FCC 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8021D370 00218FD0 7D 89 03 A6 */ mtctr r12
/* 8021D374 00218FD4 4E 80 04 21 */ bctrl
lbl_8021D378:
/* 8021D378 00218FD8 83 BD 00 00 */ lwz r29, 0(r29)
lbl_8021D37C:
/* 8021D37C 00218FDC 2C 1D 00 00 */ cmpwi r29, 0
/* 8021D380 00218FE0 40 82 FF 7C */ bne lbl_8021D2FC
/* 8021D384 00218FE4 2C 1F 00 00 */ cmpwi r31, 0
/* 8021D388 00218FE8 41 82 00 60 */ beq lbl_8021D3E8
/* 8021D38C 00218FEC 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021D390 00218FF0 38 00 00 01 */ li r0, 1
/* 8021D394 00218FF4 80 64 16 38 */ lwz r3, 0x1638(r4)
/* 8021D398 00218FF8 98 03 0A 87 */ stb r0, 0xa87(r3)
/* 8021D39C 00218FFC 80 64 16 38 */ lwz r3, 0x1638(r4)
/* 8021D3A0 00219000 80 03 00 64 */ lwz r0, 0x64(r3)
/* 8021D3A4 00219004 60 00 00 40 */ ori r0, r0, 0x40
/* 8021D3A8 00219008 90 03 00 64 */ stw r0, 0x64(r3)
/* 8021D3AC 0021900C 80 64 16 38 */ lwz r3, 0x1638(r4)
/* 8021D3B0 00219010 80 03 00 64 */ lwz r0, 0x64(r3)
/* 8021D3B4 00219014 60 00 02 00 */ ori r0, r0, 0x200
/* 8021D3B8 00219018 90 03 00 64 */ stw r0, 0x64(r3)
/* 8021D3BC 0021901C 80 64 16 38 */ lwz r3, 0x1638(r4)
/* 8021D3C0 00219020 88 03 0A 86 */ lbz r0, 0xa86(r3)
/* 8021D3C4 00219024 2C 00 00 00 */ cmpwi r0, 0
/* 8021D3C8 00219028 41 82 00 10 */ beq lbl_8021D3D8
/* 8021D3CC 0021902C 80 03 00 64 */ lwz r0, 0x64(r3)
/* 8021D3D0 00219030 60 00 01 00 */ ori r0, r0, 0x100
/* 8021D3D4 00219034 90 03 00 64 */ stw r0, 0x64(r3)
lbl_8021D3D8:
/* 8021D3D8 00219038 80 64 16 38 */ lwz r3, 0x1638(r4)
/* 8021D3DC 0021903C 80 03 00 00 */ lwz r0, 0(r3)
/* 8021D3E0 00219040 60 00 00 40 */ ori r0, r0, 0x40
/* 8021D3E4 00219044 90 03 00 00 */ stw r0, 0(r3)
lbl_8021D3E8:
/* 8021D3E8 00219048 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8021D3EC 0021904C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8021D3F0 00219050 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8021D3F4 00219054 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8021D3F8 00219058 7C 08 03 A6 */ mtlr r0
/* 8021D3FC 0021905C 38 21 00 20 */ addi r1, r1, 0x20
/* 8021D400 00219060 4E 80 00 20 */ blr
.global func_8021D404
func_8021D404:
/* 8021D404 00219064 38 A0 00 01 */ li r5, 1
/* 8021D408 00219068 38 6D A2 88 */ addi r3, r13, lbl_8063F548-_SDA_BASE_
/* 8021D40C 0021906C 38 80 00 04 */ li r4, 4
/* 8021D410 00219070 38 00 00 00 */ li r0, 0
/* 8021D414 00219074 98 AD A2 88 */ stb r5, lbl_8063F548-_SDA_BASE_(r13)
/* 8021D418 00219078 B0 83 00 02 */ sth r4, 2(r3)
/* 8021D41C 0021907C 98 03 00 04 */ stb r0, 4(r3)
/* 8021D420 00219080 4E 80 00 20 */ blr
|