summaryrefslogtreecommitdiff
path: root/asm/code_800AA038.s
blob: 5a59323a146d45927fdc2fdc95810480510d9839 (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
.include "macros.inc"

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

.global func_800AA038
func_800AA038:
/* 800AA038 000A5C98  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 800AA03C 000A5C9C  7C 08 02 A6 */	mflr r0
/* 800AA040 000A5CA0  38 60 00 01 */	li r3, 1
/* 800AA044 000A5CA4  90 01 00 14 */	stw r0, 0x14(r1)
/* 800AA048 000A5CA8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 800AA04C 000A5CAC  3B E0 00 01 */	li r31, 1
/* 800AA050 000A5CB0  9B ED 9B F4 */	stb r31, lbl_8063EEB4-_SDA_BASE_(r13)
/* 800AA054 000A5CB4  48 04 EB A1 */	bl func_800F8BF4
/* 800AA058 000A5CB8  38 00 00 00 */	li r0, 0
/* 800AA05C 000A5CBC  9B ED 9B E6 */	stb r31, lbl_8063EEA6-_SDA_BASE_(r13)
/* 800AA060 000A5CC0  38 60 00 01 */	li r3, 1
/* 800AA064 000A5CC4  90 0D 9B E8 */	stw r0, lbl_8063EEA8-_SDA_BASE_(r13)
/* 800AA068 000A5CC8  4B FA D9 95 */	bl func_800579FC
/* 800AA06C 000A5CCC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 800AA070 000A5CD0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 800AA074 000A5CD4  7C 08 03 A6 */	mtlr r0
/* 800AA078 000A5CD8  38 21 00 10 */	addi r1, r1, 0x10
/* 800AA07C 000A5CDC  4E 80 00 20 */	blr

.global func_800AA080
func_800AA080:
/* 800AA080 000A5CE0  48 04 F2 58 */	b func_800F92D8

.global func_800AA084
func_800AA084:
/* 800AA084 000A5CE4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 800AA088 000A5CE8  7C 08 02 A6 */	mflr r0
/* 800AA08C 000A5CEC  90 01 00 24 */	stw r0, 0x24(r1)
/* 800AA090 000A5CF0  39 61 00 20 */	addi r11, r1, 0x20
/* 800AA094 000A5CF4  48 11 D0 95 */	bl _savegpr_27
/* 800AA098 000A5CF8  88 0D 9B E6 */	lbz r0, lbl_8063EEA6-_SDA_BASE_(r13)
/* 800AA09C 000A5CFC  2C 00 00 00 */	cmpwi r0, 0
/* 800AA0A0 000A5D00  41 82 01 A4 */	beq lbl_800AA244
/* 800AA0A4 000A5D04  80 0D 9B E8 */	lwz r0, lbl_8063EEA8-_SDA_BASE_(r13)
/* 800AA0A8 000A5D08  2C 00 00 01 */	cmpwi r0, 1
/* 800AA0AC 000A5D0C  41 82 01 04 */	beq lbl_800AA1B0
/* 800AA0B0 000A5D10  40 80 02 20 */	bge lbl_800AA2D0
/* 800AA0B4 000A5D14  2C 00 00 00 */	cmpwi r0, 0
/* 800AA0B8 000A5D18  40 80 00 08 */	bge lbl_800AA0C0
/* 800AA0BC 000A5D1C  48 00 02 14 */	b lbl_800AA2D0
lbl_800AA0C0:
/* 800AA0C0 000A5D20  48 0B 56 21 */	bl func_8015F6E0
/* 800AA0C4 000A5D24  3C A0 00 03 */	lis r5, 0x000343FD@ha
/* 800AA0C8 000A5D28  3C 80 51 EC */	lis r4, 0x51EB851F@ha
/* 800AA0CC 000A5D2C  7C 7E 1B 78 */	mr r30, r3
/* 800AA0D0 000A5D30  3B A0 00 00 */	li r29, 0
/* 800AA0D4 000A5D34  3B E5 43 FD */	addi r31, r5, 0x000343FD@l
/* 800AA0D8 000A5D38  3B 84 85 1F */	addi r28, r4, 0x51EB851F@l
lbl_800AA0DC:
/* 800AA0DC 000A5D3C  48 17 97 55 */	bl func_80223830
/* 800AA0E0 000A5D40  80 A3 00 00 */	lwz r5, 0(r3)
/* 800AA0E4 000A5D44  57 A4 04 3E */	clrlwi r4, r29, 0x10
/* 800AA0E8 000A5D48  1C 04 00 88 */	mulli r0, r4, 0x88
/* 800AA0EC 000A5D4C  38 C0 00 20 */	li r6, 0x20
/* 800AA0F0 000A5D50  38 84 00 01 */	addi r4, r4, 1
/* 800AA0F4 000A5D54  38 E0 00 00 */	li r7, 0
/* 800AA0F8 000A5D58  7D 65 F9 D6 */	mullw r11, r5, r31
/* 800AA0FC 000A5D5C  39 00 00 00 */	li r8, 0
/* 800AA100 000A5D60  7C BE 02 14 */	add r5, r30, r0
/* 800AA104 000A5D64  39 20 00 00 */	li r9, 0
/* 800AA108 000A5D68  3B 65 05 F8 */	addi r27, r5, 0x5f8
/* 800AA10C 000A5D6C  39 40 00 00 */	li r10, 0
/* 800AA110 000A5D70  3C AB 00 27 */	addis r5, r11, 0x27
/* 800AA114 000A5D74  38 05 9E C3 */	addi r0, r5, -24893
/* 800AA118 000A5D78  90 03 00 00 */	stw r0, 0(r3)
/* 800AA11C 000A5D7C  54 0B 84 3E */	srwi r11, r0, 0x10
/* 800AA120 000A5D80  7C 1C 58 96 */	mulhw r0, r28, r11
/* 800AA124 000A5D84  7F 63 DB 78 */	mr r3, r27
/* 800AA128 000A5D88  7C 00 2E 70 */	srawi r0, r0, 5
/* 800AA12C 000A5D8C  54 05 0F FE */	srwi r5, r0, 0x1f
/* 800AA130 000A5D90  7C 00 2A 14 */	add r0, r0, r5
/* 800AA134 000A5D94  1C 00 00 64 */	mulli r0, r0, 0x64
/* 800AA138 000A5D98  7C A0 58 50 */	subf r5, r0, r11
/* 800AA13C 000A5D9C  38 A5 00 01 */	addi r5, r5, 1
/* 800AA140 000A5DA0  48 33 03 35 */	bl func_803DA474
/* 800AA144 000A5DA4  7F 63 DB 78 */	mr r3, r27
/* 800AA148 000A5DA8  48 33 21 6D */	bl func_803DC2B4
/* 800AA14C 000A5DAC  3B BD 00 01 */	addi r29, r29, 1
/* 800AA150 000A5DB0  28 1D 01 EE */	cmplwi r29, 0x1ee
/* 800AA154 000A5DB4  41 80 FF 88 */	blt lbl_800AA0DC
/* 800AA158 000A5DB8  38 7E 05 F8 */	addi r3, r30, 0x5f8
/* 800AA15C 000A5DBC  38 80 00 05 */	li r4, 5
/* 800AA160 000A5DC0  38 A0 00 00 */	li r5, 0
/* 800AA164 000A5DC4  48 33 0D 99 */	bl func_803DAEFC
/* 800AA168 000A5DC8  90 6D 9B EC */	stw r3, lbl_8063EEAC-_SDA_BASE_(r13)
/* 800AA16C 000A5DCC  3C 80 80 0B */	lis r4, lbl_800AA2E8@ha
/* 800AA170 000A5DD0  38 84 A2 E8 */	addi r4, r4, lbl_800AA2E8@l
/* 800AA174 000A5DD4  38 60 00 00 */	li r3, 0
/* 800AA178 000A5DD8  38 A0 FF FF */	li r5, -1
/* 800AA17C 000A5DDC  48 1A 9D F1 */	bl func_80253F6C
/* 800AA180 000A5DE0  90 6D 9B F0 */	stw r3, lbl_8063EEB0-_SDA_BASE_(r13)
/* 800AA184 000A5DE4  38 7E 05 F8 */	addi r3, r30, 0x5f8
/* 800AA188 000A5DE8  3C C0 80 0B */	lis r6, lbl_800AA354@ha
/* 800AA18C 000A5DEC  38 A0 00 00 */	li r5, 0
/* 800AA190 000A5DF0  7C 64 1B 78 */	mr r4, r3
/* 800AA194 000A5DF4  38 E0 00 00 */	li r7, 0
/* 800AA198 000A5DF8  38 C6 A3 54 */	addi r6, r6, lbl_800AA354@l
/* 800AA19C 000A5DFC  48 04 F2 69 */	bl func_800F9404
/* 800AA1A0 000A5E00  80 6D 9B E8 */	lwz r3, lbl_8063EEA8-_SDA_BASE_(r13)
/* 800AA1A4 000A5E04  38 03 00 01 */	addi r0, r3, 1
/* 800AA1A8 000A5E08  90 0D 9B E8 */	stw r0, lbl_8063EEA8-_SDA_BASE_(r13)
/* 800AA1AC 000A5E0C  48 00 01 24 */	b lbl_800AA2D0
lbl_800AA1B0:
/* 800AA1B0 000A5E10  48 04 F3 FD */	bl func_800F95AC
/* 800AA1B4 000A5E14  38 60 00 00 */	li r3, 0
/* 800AA1B8 000A5E18  48 19 A5 E5 */	bl func_8024479C
/* 800AA1BC 000A5E1C  80 83 00 20 */	lwz r4, 0x20(r3)
/* 800AA1C0 000A5E20  80 A3 00 1C */	lwz r5, 0x1c(r3)
/* 800AA1C4 000A5E24  54 80 03 DF */	rlwinm. r0, r4, 0, 0xf, 0xf
/* 800AA1C8 000A5E28  41 82 00 20 */	beq lbl_800AA1E8
/* 800AA1CC 000A5E2C  54 80 03 5B */	rlwinm. r0, r4, 0, 0xd, 0xd
/* 800AA1D0 000A5E30  41 82 00 0C */	beq lbl_800AA1DC
/* 800AA1D4 000A5E34  64 A5 00 04 */	oris r5, r5, 4
/* 800AA1D8 000A5E38  48 00 00 10 */	b lbl_800AA1E8
lbl_800AA1DC:
/* 800AA1DC 000A5E3C  54 80 03 19 */	rlwinm. r0, r4, 0, 0xc, 0xc
/* 800AA1E0 000A5E40  41 82 00 08 */	beq lbl_800AA1E8
/* 800AA1E4 000A5E44  64 A5 00 08 */	oris r5, r5, 8
lbl_800AA1E8:
/* 800AA1E8 000A5E48  54 A0 03 5B */	rlwinm. r0, r5, 0, 0xd, 0xd
/* 800AA1EC 000A5E4C  41 82 00 28 */	beq lbl_800AA214
/* 800AA1F0 000A5E50  80 0D 9B EC */	lwz r0, lbl_8063EEAC-_SDA_BASE_(r13)
/* 800AA1F4 000A5E54  3C 60 80 42 */	lis r3, lbl_80418508@ha
/* 800AA1F8 000A5E58  38 63 85 08 */	addi r3, r3, lbl_80418508@l
/* 800AA1FC 000A5E5C  C0 02 89 30 */	lfs f0, lbl_80640F30-_SDA2_BASE_(r2)
/* 800AA200 000A5E60  54 00 20 36 */	slwi r0, r0, 4
/* 800AA204 000A5E64  7C 63 02 14 */	add r3, r3, r0
/* 800AA208 000A5E68  C0 23 00 0C */	lfs f1, 0xc(r3)
/* 800AA20C 000A5E6C  EC 01 00 2A */	fadds f0, f1, f0
/* 800AA210 000A5E70  D0 03 00 0C */	stfs f0, 0xc(r3)
lbl_800AA214:
/* 800AA214 000A5E74  54 A0 03 19 */	rlwinm. r0, r5, 0, 0xc, 0xc
/* 800AA218 000A5E78  41 82 00 B8 */	beq lbl_800AA2D0
/* 800AA21C 000A5E7C  80 0D 9B EC */	lwz r0, lbl_8063EEAC-_SDA_BASE_(r13)
/* 800AA220 000A5E80  3C 60 80 42 */	lis r3, lbl_80418508@ha
/* 800AA224 000A5E84  38 63 85 08 */	addi r3, r3, lbl_80418508@l
/* 800AA228 000A5E88  C0 02 89 30 */	lfs f0, lbl_80640F30-_SDA2_BASE_(r2)
/* 800AA22C 000A5E8C  54 00 20 36 */	slwi r0, r0, 4
/* 800AA230 000A5E90  7C 63 02 14 */	add r3, r3, r0
/* 800AA234 000A5E94  C0 23 00 0C */	lfs f1, 0xc(r3)
/* 800AA238 000A5E98  EC 01 00 28 */	fsubs f0, f1, f0
/* 800AA23C 000A5E9C  D0 03 00 0C */	stfs f0, 0xc(r3)
/* 800AA240 000A5EA0  48 00 00 90 */	b lbl_800AA2D0
lbl_800AA244:
/* 800AA244 000A5EA4  88 0D 9B F4 */	lbz r0, lbl_8063EEB4-_SDA_BASE_(r13)
/* 800AA248 000A5EA8  2C 00 00 00 */	cmpwi r0, 0
/* 800AA24C 000A5EAC  41 82 00 60 */	beq lbl_800AA2AC
/* 800AA250 000A5EB0  3B 60 00 00 */	li r27, 0
/* 800AA254 000A5EB4  38 60 00 00 */	li r3, 0
/* 800AA258 000A5EB8  48 19 A5 45 */	bl func_8024479C
/* 800AA25C 000A5EBC  2C 03 00 00 */	cmpwi r3, 0
/* 800AA260 000A5EC0  41 82 00 08 */	beq lbl_800AA268
/* 800AA264 000A5EC4  83 63 00 1C */	lwz r27, 0x1c(r3)
lbl_800AA268:
/* 800AA268 000A5EC8  57 60 05 6B */	rlwinm. r0, r27, 0, 0x15, 0x15
/* 800AA26C 000A5ECC  41 82 00 64 */	beq lbl_800AA2D0
/* 800AA270 000A5ED0  48 0B 43 A1 */	bl func_8015E610
/* 800AA274 000A5ED4  2C 03 00 00 */	cmpwi r3, 0
/* 800AA278 000A5ED8  41 82 00 58 */	beq lbl_800AA2D0
/* 800AA27C 000A5EDC  38 60 00 03 */	li r3, 3
/* 800AA280 000A5EE0  38 80 00 01 */	li r4, 1
/* 800AA284 000A5EE4  48 0B 43 B1 */	bl func_8015E634
/* 800AA288 000A5EE8  38 00 00 00 */	li r0, 0
/* 800AA28C 000A5EEC  3C 80 80 0B */	lis r4, lbl_800AA2E8@ha
/* 800AA290 000A5EF0  98 0D 9B F4 */	stb r0, lbl_8063EEB4-_SDA_BASE_(r13)
/* 800AA294 000A5EF4  38 84 A2 E8 */	addi r4, r4, lbl_800AA2E8@l
/* 800AA298 000A5EF8  38 60 00 00 */	li r3, 0
/* 800AA29C 000A5EFC  38 A0 FF FF */	li r5, -1
/* 800AA2A0 000A5F00  48 1A 9C CD */	bl func_80253F6C
/* 800AA2A4 000A5F04  90 6D 9B F0 */	stw r3, lbl_8063EEB0-_SDA_BASE_(r13)
/* 800AA2A8 000A5F08  48 00 00 28 */	b lbl_800AA2D0
lbl_800AA2AC:
/* 800AA2AC 000A5F0C  48 0B 44 D9 */	bl func_8015E784
/* 800AA2B0 000A5F10  2C 03 00 00 */	cmpwi r3, 0
/* 800AA2B4 000A5F14  41 82 00 1C */	beq lbl_800AA2D0
/* 800AA2B8 000A5F18  38 00 00 01 */	li r0, 1
/* 800AA2BC 000A5F1C  80 6D 9B F0 */	lwz r3, lbl_8063EEB0-_SDA_BASE_(r13)
/* 800AA2C0 000A5F20  98 0D 9B F4 */	stb r0, lbl_8063EEB4-_SDA_BASE_(r13)
/* 800AA2C4 000A5F24  48 1A 9C C9 */	bl func_80253F8C
/* 800AA2C8 000A5F28  38 00 FF FF */	li r0, -1
/* 800AA2CC 000A5F2C  90 0D 9B F0 */	stw r0, lbl_8063EEB0-_SDA_BASE_(r13)
lbl_800AA2D0:
/* 800AA2D0 000A5F30  39 61 00 20 */	addi r11, r1, 0x20
/* 800AA2D4 000A5F34  48 11 CE A1 */	bl _restgpr_27
/* 800AA2D8 000A5F38  80 01 00 24 */	lwz r0, 0x24(r1)
/* 800AA2DC 000A5F3C  7C 08 03 A6 */	mtlr r0
/* 800AA2E0 000A5F40  38 21 00 20 */	addi r1, r1, 0x20
/* 800AA2E4 000A5F44  4E 80 00 20 */	blr
lbl_800AA2E8:
/* 800AA2E8 000A5F48  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 800AA2EC 000A5F4C  7C 08 02 A6 */	mflr r0
/* 800AA2F0 000A5F50  3C 60 80 42 */	lis r3, lbl_80418508@ha
/* 800AA2F4 000A5F54  C0 22 89 34 */	lfs f1, lbl_80640F34-_SDA2_BASE_(r2)
/* 800AA2F8 000A5F58  90 01 00 14 */	stw r0, 0x14(r1)
/* 800AA2FC 000A5F5C  38 63 85 08 */	addi r3, r3, lbl_80418508@l
/* 800AA300 000A5F60  80 0D 9B EC */	lwz r0, lbl_8063EEAC-_SDA_BASE_(r13)
/* 800AA304 000A5F64  54 00 20 36 */	slwi r0, r0, 4
/* 800AA308 000A5F68  7C 63 02 14 */	add r3, r3, r0
/* 800AA30C 000A5F6C  C0 03 00 0C */	lfs f0, 0xc(r3)
/* 800AA310 000A5F70  EC 21 00 32 */	fmuls f1, f1, f0
/* 800AA314 000A5F74  48 11 CC ED */	bl __cvt_fp2unsigned
/* 800AA318 000A5F78  38 80 00 05 */	li r4, 5
/* 800AA31C 000A5F7C  38 A0 00 0E */	li r5, 0xe
/* 800AA320 000A5F80  38 C0 00 01 */	li r6, 1
/* 800AA324 000A5F84  48 0B 29 55 */	bl func_8015CC78
/* 800AA328 000A5F88  38 60 2D 73 */	li r3, 0x2d73
/* 800AA32C 000A5F8C  38 80 01 90 */	li r4, 0x190
/* 800AA330 000A5F90  38 A0 01 4A */	li r5, 0x14a
/* 800AA334 000A5F94  38 C0 00 00 */	li r6, 0
/* 800AA338 000A5F98  38 E0 00 00 */	li r7, 0
/* 800AA33C 000A5F9C  39 00 FF FF */	li r8, -1
/* 800AA340 000A5FA0  48 1A 5D F5 */	bl func_80250134
/* 800AA344 000A5FA4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 800AA348 000A5FA8  7C 08 03 A6 */	mtlr r0
/* 800AA34C 000A5FAC  38 21 00 10 */	addi r1, r1, 0x10
/* 800AA350 000A5FB0  4E 80 00 20 */	blr
lbl_800AA354:
/* 800AA354 000A5FB4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 800AA358 000A5FB8  7C 08 02 A6 */	mflr r0
/* 800AA35C 000A5FBC  90 01 00 24 */	stw r0, 0x24(r1)
/* 800AA360 000A5FC0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 800AA364 000A5FC4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 800AA368 000A5FC8  7C BE 2B 78 */	mr r30, r5
/* 800AA36C 000A5FCC  93 A1 00 14 */	stw r29, 0x14(r1)
/* 800AA370 000A5FD0  93 81 00 10 */	stw r28, 0x10(r1)
/* 800AA374 000A5FD4  7C 9C 23 78 */	mr r28, r4
/* 800AA378 000A5FD8  83 A4 00 00 */	lwz r29, 0(r4)
/* 800AA37C 000A5FDC  48 0B 53 65 */	bl func_8015F6E0
/* 800AA380 000A5FE0  2C 1E 00 00 */	cmpwi r30, 0
/* 800AA384 000A5FE4  7C 7F 1B 78 */	mr r31, r3
/* 800AA388 000A5FE8  41 82 00 58 */	beq lbl_800AA3E0
lbl_800AA38C:
/* 800AA38C 000A5FEC  2C 1D 00 00 */	cmpwi r29, 0
/* 800AA390 000A5FF0  40 82 00 08 */	bne lbl_800AA398
/* 800AA394 000A5FF4  3B A0 02 1C */	li r29, 0x21c
lbl_800AA398:
/* 800AA398 000A5FF8  3B BD FF FF */	addi r29, r29, -1
/* 800AA39C 000A5FFC  38 80 00 05 */	li r4, 5
/* 800AA3A0 000A6000  1C 1D 00 88 */	mulli r0, r29, 0x88
/* 800AA3A4 000A6004  38 A0 00 00 */	li r5, 0
/* 800AA3A8 000A6008  7C 7F 02 14 */	add r3, r31, r0
/* 800AA3AC 000A600C  3B C3 05 F8 */	addi r30, r3, 0x5f8
/* 800AA3B0 000A6010  7F C3 F3 78 */	mr r3, r30
/* 800AA3B4 000A6014  48 33 0B 49 */	bl func_803DAEFC
/* 800AA3B8 000A6018  2C 03 00 00 */	cmpwi r3, 0
/* 800AA3BC 000A601C  41 82 FF D0 */	beq lbl_800AA38C
/* 800AA3C0 000A6020  93 BC 00 00 */	stw r29, 0(r28)
/* 800AA3C4 000A6024  7F C3 F3 78 */	mr r3, r30
/* 800AA3C8 000A6028  38 80 00 05 */	li r4, 5
/* 800AA3CC 000A602C  38 A0 00 00 */	li r5, 0
/* 800AA3D0 000A6030  48 33 0B 2D */	bl func_803DAEFC
/* 800AA3D4 000A6034  90 6D 9B EC */	stw r3, lbl_8063EEAC-_SDA_BASE_(r13)
/* 800AA3D8 000A6038  7F C3 F3 78 */	mr r3, r30
/* 800AA3DC 000A603C  48 00 00 54 */	b lbl_800AA430
lbl_800AA3E0:
/* 800AA3E0 000A6040  3B BD 00 01 */	addi r29, r29, 1
/* 800AA3E4 000A6044  28 1D 02 1C */	cmplwi r29, 0x21c
/* 800AA3E8 000A6048  40 82 00 08 */	bne lbl_800AA3F0
/* 800AA3EC 000A604C  3B A0 00 00 */	li r29, 0
lbl_800AA3F0:
/* 800AA3F0 000A6050  1C 1D 00 88 */	mulli r0, r29, 0x88
/* 800AA3F4 000A6054  38 80 00 05 */	li r4, 5
/* 800AA3F8 000A6058  38 A0 00 00 */	li r5, 0
/* 800AA3FC 000A605C  7C 7F 02 14 */	add r3, r31, r0
/* 800AA400 000A6060  3B C3 05 F8 */	addi r30, r3, 0x5f8
/* 800AA404 000A6064  7F C3 F3 78 */	mr r3, r30
/* 800AA408 000A6068  48 33 0A F5 */	bl func_803DAEFC
/* 800AA40C 000A606C  2C 03 00 00 */	cmpwi r3, 0
/* 800AA410 000A6070  41 82 FF D0 */	beq lbl_800AA3E0
/* 800AA414 000A6074  93 BC 00 00 */	stw r29, 0(r28)
/* 800AA418 000A6078  7F C3 F3 78 */	mr r3, r30
/* 800AA41C 000A607C  38 80 00 05 */	li r4, 5
/* 800AA420 000A6080  38 A0 00 00 */	li r5, 0
/* 800AA424 000A6084  48 33 0A D9 */	bl func_803DAEFC
/* 800AA428 000A6088  90 6D 9B EC */	stw r3, lbl_8063EEAC-_SDA_BASE_(r13)
/* 800AA42C 000A608C  7F C3 F3 78 */	mr r3, r30
lbl_800AA430:
/* 800AA430 000A6090  80 01 00 24 */	lwz r0, 0x24(r1)
/* 800AA434 000A6094  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 800AA438 000A6098  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 800AA43C 000A609C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 800AA440 000A60A0  83 81 00 10 */	lwz r28, 0x10(r1)
/* 800AA444 000A60A4  7C 08 03 A6 */	mtlr r0
/* 800AA448 000A60A8  38 21 00 20 */	addi r1, r1, 0x20
/* 800AA44C 000A60AC  4E 80 00 20 */	blr

.global func_800AA450
func_800AA450:
/* 800AA450 000A60B0  38 A0 00 01 */	li r5, 1
/* 800AA454 000A60B4  38 6D 9B E0 */	addi r3, r13, lbl_8063EEA0-_SDA_BASE_
/* 800AA458 000A60B8  38 80 00 04 */	li r4, 4
/* 800AA45C 000A60BC  38 00 00 00 */	li r0, 0
/* 800AA460 000A60C0  98 AD 9B E0 */	stb r5, lbl_8063EEA0-_SDA_BASE_(r13)
/* 800AA464 000A60C4  B0 83 00 02 */	sth r4, 2(r3)
/* 800AA468 000A60C8  98 03 00 04 */	stb r0, 4(r3)
/* 800AA46C 000A60CC  4E 80 00 20 */	blr