summaryrefslogtreecommitdiff
path: root/asm/code_80166D6C.s
blob: feb3c3f3e9184ca84d5c9b325220537ba9e953c3 (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
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
399
400
401
402
403
404
405
.include "macros.inc"

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

.global func_80166D6C
func_80166D6C:
/* 80166D6C 001629CC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80166D70 001629D0  7C 08 02 A6 */	mflr r0
/* 80166D74 001629D4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80166D78 001629D8  39 61 00 20 */	addi r11, r1, 0x20
/* 80166D7C 001629DC  48 06 03 A9 */	bl _savegpr_26
/* 80166D80 001629E0  7C 7A 1B 78 */	mr r26, r3
/* 80166D84 001629E4  7C 9B 23 78 */	mr r27, r4
/* 80166D88 001629E8  7C BC 2B 78 */	mr r28, r5
/* 80166D8C 001629EC  7C DD 33 78 */	mr r29, r6
/* 80166D90 001629F0  7C FE 3B 78 */	mr r30, r7
/* 80166D94 001629F4  7D 1F 43 78 */	mr r31, r8
/* 80166D98 001629F8  48 0F 72 39 */	bl func_8025DFD0
/* 80166D9C 001629FC  48 0F 75 81 */	bl func_8025E31C
/* 80166DA0 00162A00  7F 44 D3 78 */	mr r4, r26
/* 80166DA4 00162A04  7F 65 DB 78 */	mr r5, r27
/* 80166DA8 00162A08  7F 86 E3 78 */	mr r6, r28
/* 80166DAC 00162A0C  7F A7 EB 78 */	mr r7, r29
/* 80166DB0 00162A10  7F C8 F3 78 */	mr r8, r30
/* 80166DB4 00162A14  7F E9 FB 78 */	mr r9, r31
/* 80166DB8 00162A18  48 10 0F 31 */	bl func_80267CE8
/* 80166DBC 00162A1C  39 61 00 20 */	addi r11, r1, 0x20
/* 80166DC0 00162A20  48 06 03 B1 */	bl _restgpr_26
/* 80166DC4 00162A24  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80166DC8 00162A28  7C 08 03 A6 */	mtlr r0
/* 80166DCC 00162A2C  38 21 00 20 */	addi r1, r1, 0x20
/* 80166DD0 00162A30  4E 80 00 20 */	blr

.global func_80166DD4
func_80166DD4:
/* 80166DD4 00162A34  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80166DD8 00162A38  7C 08 02 A6 */	mflr r0
/* 80166DDC 00162A3C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80166DE0 00162A40  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80166DE4 00162A44  7C 7F 1B 78 */	mr r31, r3
/* 80166DE8 00162A48  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80166DEC 00162A4C  7C BE 2B 78 */	mr r30, r5
/* 80166DF0 00162A50  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80166DF4 00162A54  7C 9D 23 78 */	mr r29, r4
/* 80166DF8 00162A58  48 0F 71 D9 */	bl func_8025DFD0
/* 80166DFC 00162A5C  48 0F 75 21 */	bl func_8025E31C
/* 80166E00 00162A60  7F A6 EB 78 */	mr r6, r29
/* 80166E04 00162A64  7F E5 FB 78 */	mr r5, r31
/* 80166E08 00162A68  48 10 0C 45 */	bl func_80267A4C
/* 80166E0C 00162A6C  2C 03 00 00 */	cmpwi r3, 0
/* 80166E10 00162A70  7C 7F 1B 78 */	mr r31, r3
/* 80166E14 00162A74  40 80 00 08 */	bge lbl_80166E1C
/* 80166E18 00162A78  48 00 00 1C */	b lbl_80166E34
lbl_80166E1C:
/* 80166E1C 00162A7C  48 0F 71 B5 */	bl func_8025DFD0
/* 80166E20 00162A80  48 0F 74 FD */	bl func_8025E31C
/* 80166E24 00162A84  7F E4 FB 78 */	mr r4, r31
/* 80166E28 00162A88  7F C5 F3 78 */	mr r5, r30
/* 80166E2C 00162A8C  48 10 12 C9 */	bl func_802680F4
/* 80166E30 00162A90  7F E3 FB 78 */	mr r3, r31
lbl_80166E34:
/* 80166E34 00162A94  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80166E38 00162A98  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80166E3C 00162A9C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80166E40 00162AA0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80166E44 00162AA4  7C 08 03 A6 */	mtlr r0
/* 80166E48 00162AA8  38 21 00 20 */	addi r1, r1, 0x20
/* 80166E4C 00162AAC  4E 80 00 20 */	blr

.global func_80166E50
func_80166E50:
/* 80166E50 00162AB0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80166E54 00162AB4  7C 08 02 A6 */	mflr r0
/* 80166E58 00162AB8  90 01 00 14 */	stw r0, 0x14(r1)
/* 80166E5C 00162ABC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80166E60 00162AC0  7C 7F 1B 78 */	mr r31, r3
/* 80166E64 00162AC4  48 0F 71 6D */	bl func_8025DFD0
/* 80166E68 00162AC8  48 0F 74 B5 */	bl func_8025E31C
/* 80166E6C 00162ACC  7F E4 FB 78 */	mr r4, r31
/* 80166E70 00162AD0  48 10 0D 6D */	bl func_80267BDC
/* 80166E74 00162AD4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80166E78 00162AD8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80166E7C 00162ADC  7C 08 03 A6 */	mtlr r0
/* 80166E80 00162AE0  38 21 00 10 */	addi r1, r1, 0x10
/* 80166E84 00162AE4  4E 80 00 20 */	blr

.global func_80166E88
func_80166E88:
/* 80166E88 00162AE8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80166E8C 00162AEC  7C 08 02 A6 */	mflr r0
/* 80166E90 00162AF0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80166E94 00162AF4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80166E98 00162AF8  7C 9F 23 78 */	mr r31, r4
/* 80166E9C 00162AFC  93 C1 00 08 */	stw r30, 8(r1)
/* 80166EA0 00162B00  7C 7E 1B 78 */	mr r30, r3
/* 80166EA4 00162B04  48 0F 71 2D */	bl func_8025DFD0
/* 80166EA8 00162B08  48 0F 74 75 */	bl func_8025E31C
/* 80166EAC 00162B0C  7F C4 F3 78 */	mr r4, r30
/* 80166EB0 00162B10  7F E5 FB 78 */	mr r5, r31
/* 80166EB4 00162B14  48 10 12 A5 */	bl func_80268158
/* 80166EB8 00162B18  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80166EBC 00162B1C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80166EC0 00162B20  83 C1 00 08 */	lwz r30, 8(r1)
/* 80166EC4 00162B24  7C 08 03 A6 */	mtlr r0
/* 80166EC8 00162B28  38 21 00 10 */	addi r1, r1, 0x10
/* 80166ECC 00162B2C  4E 80 00 20 */	blr

.global func_80166ED0
func_80166ED0:
/* 80166ED0 00162B30  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80166ED4 00162B34  7C 08 02 A6 */	mflr r0
/* 80166ED8 00162B38  90 01 00 14 */	stw r0, 0x14(r1)
/* 80166EDC 00162B3C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80166EE0 00162B40  7C 7F 1B 78 */	mr r31, r3
/* 80166EE4 00162B44  48 0F 70 ED */	bl func_8025DFD0
/* 80166EE8 00162B48  48 0F 74 35 */	bl func_8025E31C
/* 80166EEC 00162B4C  7F E4 FB 78 */	mr r4, r31
/* 80166EF0 00162B50  48 10 10 7D */	bl func_80267F6C
/* 80166EF4 00162B54  2C 03 00 00 */	cmpwi r3, 0
/* 80166EF8 00162B58  41 82 00 0C */	beq lbl_80166F04
/* 80166EFC 00162B5C  80 63 00 38 */	lwz r3, 0x38(r3)
/* 80166F00 00162B60  48 00 00 08 */	b lbl_80166F08
lbl_80166F04:
/* 80166F04 00162B64  38 60 00 00 */	li r3, 0
lbl_80166F08:
/* 80166F08 00162B68  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80166F0C 00162B6C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80166F10 00162B70  7C 08 03 A6 */	mtlr r0
/* 80166F14 00162B74  38 21 00 10 */	addi r1, r1, 0x10
/* 80166F18 00162B78  4E 80 00 20 */	blr

.global func_80166F1C
func_80166F1C:
/* 80166F1C 00162B7C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80166F20 00162B80  7C 08 02 A6 */	mflr r0
/* 80166F24 00162B84  90 01 00 14 */	stw r0, 0x14(r1)
/* 80166F28 00162B88  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80166F2C 00162B8C  7C 9F 23 78 */	mr r31, r4
/* 80166F30 00162B90  93 C1 00 08 */	stw r30, 8(r1)
/* 80166F34 00162B94  7C 7E 1B 78 */	mr r30, r3
/* 80166F38 00162B98  48 0F 70 99 */	bl func_8025DFD0
/* 80166F3C 00162B9C  48 0F 73 E1 */	bl func_8025E31C
/* 80166F40 00162BA0  7F C4 F3 78 */	mr r4, r30
/* 80166F44 00162BA4  7F E5 FB 78 */	mr r5, r31
/* 80166F48 00162BA8  48 10 12 69 */	bl func_802681B0
/* 80166F4C 00162BAC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80166F50 00162BB0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80166F54 00162BB4  83 C1 00 08 */	lwz r30, 8(r1)
/* 80166F58 00162BB8  7C 08 03 A6 */	mtlr r0
/* 80166F5C 00162BBC  38 21 00 10 */	addi r1, r1, 0x10
/* 80166F60 00162BC0  4E 80 00 20 */	blr

.global func_80166F64
func_80166F64:
/* 80166F64 00162BC4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80166F68 00162BC8  7C 08 02 A6 */	mflr r0
/* 80166F6C 00162BCC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80166F70 00162BD0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80166F74 00162BD4  7C 7F 1B 78 */	mr r31, r3
/* 80166F78 00162BD8  48 0F 70 59 */	bl func_8025DFD0
/* 80166F7C 00162BDC  48 0F 73 A1 */	bl func_8025E31C
/* 80166F80 00162BE0  7F E4 FB 78 */	mr r4, r31
/* 80166F84 00162BE4  48 10 0F E9 */	bl func_80267F6C
/* 80166F88 00162BE8  2C 03 00 00 */	cmpwi r3, 0
/* 80166F8C 00162BEC  41 82 00 0C */	beq lbl_80166F98
/* 80166F90 00162BF0  80 63 00 3C */	lwz r3, 0x3c(r3)
/* 80166F94 00162BF4  48 00 00 08 */	b lbl_80166F9C
lbl_80166F98:
/* 80166F98 00162BF8  38 60 00 00 */	li r3, 0
lbl_80166F9C:
/* 80166F9C 00162BFC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80166FA0 00162C00  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80166FA4 00162C04  7C 08 03 A6 */	mtlr r0
/* 80166FA8 00162C08  38 21 00 10 */	addi r1, r1, 0x10
/* 80166FAC 00162C0C  4E 80 00 20 */	blr

.global func_80166FB0
func_80166FB0:
/* 80166FB0 00162C10  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80166FB4 00162C14  7C 08 02 A6 */	mflr r0
/* 80166FB8 00162C18  90 01 00 14 */	stw r0, 0x14(r1)
/* 80166FBC 00162C1C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80166FC0 00162C20  7C 7F 1B 78 */	mr r31, r3
/* 80166FC4 00162C24  48 0F 70 0D */	bl func_8025DFD0
/* 80166FC8 00162C28  48 0F 73 55 */	bl func_8025E31C
/* 80166FCC 00162C2C  7F E4 FB 78 */	mr r4, r31
/* 80166FD0 00162C30  48 10 0F 9D */	bl func_80267F6C
/* 80166FD4 00162C34  7C 03 00 D0 */	neg r0, r3
/* 80166FD8 00162C38  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80166FDC 00162C3C  7C 00 1B 78 */	or r0, r0, r3
/* 80166FE0 00162C40  54 03 0F FE */	srwi r3, r0, 0x1f
/* 80166FE4 00162C44  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80166FE8 00162C48  7C 08 03 A6 */	mtlr r0
/* 80166FEC 00162C4C  38 21 00 10 */	addi r1, r1, 0x10
/* 80166FF0 00162C50  4E 80 00 20 */	blr

.global func_80166FF4
func_80166FF4:
/* 80166FF4 00162C54  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80166FF8 00162C58  7C 08 02 A6 */	mflr r0
/* 80166FFC 00162C5C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80167000 00162C60  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80167004 00162C64  7C 7F 1B 78 */	mr r31, r3
/* 80167008 00162C68  48 0F 6F C9 */	bl func_8025DFD0
/* 8016700C 00162C6C  48 0F 73 11 */	bl func_8025E31C
/* 80167010 00162C70  7F E4 FB 78 */	mr r4, r31
/* 80167014 00162C74  48 10 0F 59 */	bl func_80267F6C
/* 80167018 00162C78  2C 03 00 00 */	cmpwi r3, 0
/* 8016701C 00162C7C  7C 64 1B 78 */	mr r4, r3
/* 80167020 00162C80  41 82 00 10 */	beq lbl_80167030
/* 80167024 00162C84  80 63 00 08 */	lwz r3, 8(r3)
/* 80167028 00162C88  80 84 00 0C */	lwz r4, 0xc(r4)
/* 8016702C 00162C8C  48 00 00 0C */	b lbl_80167038
lbl_80167030:
/* 80167030 00162C90  38 80 00 00 */	li r4, 0
/* 80167034 00162C94  38 60 00 00 */	li r3, 0
lbl_80167038:
/* 80167038 00162C98  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8016703C 00162C9C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80167040 00162CA0  7C 08 03 A6 */	mtlr r0
/* 80167044 00162CA4  38 21 00 10 */	addi r1, r1, 0x10
/* 80167048 00162CA8  4E 80 00 20 */	blr

.global func_8016704C
func_8016704C:
/* 8016704C 00162CAC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80167050 00162CB0  7C 08 02 A6 */	mflr r0
/* 80167054 00162CB4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80167058 00162CB8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8016705C 00162CBC  7C 7F 1B 78 */	mr r31, r3
/* 80167060 00162CC0  48 0F 6F 71 */	bl func_8025DFD0
/* 80167064 00162CC4  48 0F 72 B9 */	bl func_8025E31C
/* 80167068 00162CC8  7F E4 FB 78 */	mr r4, r31
/* 8016706C 00162CCC  48 10 0F 01 */	bl func_80267F6C
/* 80167070 00162CD0  2C 03 00 00 */	cmpwi r3, 0
/* 80167074 00162CD4  41 82 00 0C */	beq lbl_80167080
/* 80167078 00162CD8  38 63 00 10 */	addi r3, r3, 0x10
/* 8016707C 00162CDC  48 00 00 08 */	b lbl_80167084
lbl_80167080:
/* 80167080 00162CE0  38 6D 83 50 */	addi r3, r13, lbl_8063D610-_SDA_BASE_
lbl_80167084:
/* 80167084 00162CE4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80167088 00162CE8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8016708C 00162CEC  7C 08 03 A6 */	mtlr r0
/* 80167090 00162CF0  38 21 00 10 */	addi r1, r1, 0x10
/* 80167094 00162CF4  4E 80 00 20 */	blr

.global func_80167098
func_80167098:
/* 80167098 00162CF8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8016709C 00162CFC  7C 08 02 A6 */	mflr r0
/* 801670A0 00162D00  90 01 00 14 */	stw r0, 0x14(r1)
/* 801670A4 00162D04  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801670A8 00162D08  7C 7F 1B 78 */	mr r31, r3
/* 801670AC 00162D0C  48 0F 6F 25 */	bl func_8025DFD0
/* 801670B0 00162D10  48 0F 72 6D */	bl func_8025E31C
/* 801670B4 00162D14  7F E4 FB 78 */	mr r4, r31
/* 801670B8 00162D18  48 10 0E B5 */	bl func_80267F6C
/* 801670BC 00162D1C  2C 03 00 00 */	cmpwi r3, 0
/* 801670C0 00162D20  41 82 00 0C */	beq lbl_801670CC
/* 801670C4 00162D24  80 63 00 30 */	lwz r3, 0x30(r3)
/* 801670C8 00162D28  48 00 00 08 */	b lbl_801670D0
lbl_801670CC:
/* 801670CC 00162D2C  38 60 00 00 */	li r3, 0
lbl_801670D0:
/* 801670D0 00162D30  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801670D4 00162D34  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801670D8 00162D38  7C 08 03 A6 */	mtlr r0
/* 801670DC 00162D3C  38 21 00 10 */	addi r1, r1, 0x10
/* 801670E0 00162D40  4E 80 00 20 */	blr

.global func_801670E4
func_801670E4:
/* 801670E4 00162D44  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801670E8 00162D48  7C 08 02 A6 */	mflr r0
/* 801670EC 00162D4C  90 01 00 14 */	stw r0, 0x14(r1)
/* 801670F0 00162D50  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801670F4 00162D54  7C 7F 1B 78 */	mr r31, r3
/* 801670F8 00162D58  93 C1 00 08 */	stw r30, 8(r1)
/* 801670FC 00162D5C  48 0F 6E D5 */	bl func_8025DFD0
/* 80167100 00162D60  48 0F 72 1D */	bl func_8025E31C
/* 80167104 00162D64  7F E4 FB 78 */	mr r4, r31
/* 80167108 00162D68  48 10 04 0D */	bl func_80267514
/* 8016710C 00162D6C  2C 03 00 00 */	cmpwi r3, 0
/* 80167110 00162D70  7C 7E 1B 78 */	mr r30, r3
/* 80167114 00162D74  40 82 00 0C */	bne lbl_80167120
/* 80167118 00162D78  38 60 00 00 */	li r3, 0
/* 8016711C 00162D7C  48 00 00 F8 */	b lbl_80167214
lbl_80167120:
/* 80167120 00162D80  48 0F 6E B1 */	bl func_8025DFD0
/* 80167124 00162D84  48 0F 71 F9 */	bl func_8025E31C
/* 80167128 00162D88  7F E4 FB 78 */	mr r4, r31
/* 8016712C 00162D8C  48 10 03 F9 */	bl func_80267524
/* 80167130 00162D90  2C 03 00 00 */	cmpwi r3, 0
/* 80167134 00162D94  7C 7F 1B 78 */	mr r31, r3
/* 80167138 00162D98  40 82 00 0C */	bne lbl_80167144
/* 8016713C 00162D9C  38 60 00 00 */	li r3, 0
/* 80167140 00162DA0  48 00 00 D4 */	b lbl_80167214
lbl_80167144:
/* 80167144 00162DA4  48 0F 6E 8D */	bl func_8025DFD0
/* 80167148 00162DA8  48 0F 71 DD */	bl func_8025E324
/* 8016714C 00162DAC  88 1F 00 00 */	lbz r0, 0(r31)
/* 80167150 00162DB0  2C 00 00 02 */	cmpwi r0, 2
/* 80167154 00162DB4  41 82 00 60 */	beq lbl_801671B4
/* 80167158 00162DB8  40 80 00 14 */	bge lbl_8016716C
/* 8016715C 00162DBC  2C 00 00 00 */	cmpwi r0, 0
/* 80167160 00162DC0  41 82 00 24 */	beq lbl_80167184
/* 80167164 00162DC4  40 80 00 40 */	bge lbl_801671A4
/* 80167168 00162DC8  48 00 00 1C */	b lbl_80167184
lbl_8016716C:
/* 8016716C 00162DCC  2C 00 00 06 */	cmpwi r0, 6
/* 80167170 00162DD0  41 82 00 74 */	beq lbl_801671E4
/* 80167174 00162DD4  40 80 00 10 */	bge lbl_80167184
/* 80167178 00162DD8  2C 00 00 05 */	cmpwi r0, 5
/* 8016717C 00162DDC  40 80 00 60 */	bge lbl_801671DC
/* 80167180 00162DE0  48 00 00 2C */	b lbl_801671AC
lbl_80167184:
/* 80167184 00162DE4  80 1F 00 04 */	lwz r0, 4(r31)
/* 80167188 00162DE8  2C 00 00 00 */	cmpwi r0, 0
/* 8016718C 00162DEC  41 82 00 10 */	beq lbl_8016719C
/* 80167190 00162DF0  7C 00 18 50 */	subf r0, r0, r3
/* 80167194 00162DF4  28 00 00 C8 */	cmplwi r0, 0xc8
/* 80167198 00162DF8  41 80 00 0C */	blt lbl_801671A4
lbl_8016719C:
/* 8016719C 00162DFC  38 60 00 00 */	li r3, 0
/* 801671A0 00162E00  48 00 00 74 */	b lbl_80167214
lbl_801671A4:
/* 801671A4 00162E04  38 60 00 01 */	li r3, 1
/* 801671A8 00162E08  48 00 00 6C */	b lbl_80167214
lbl_801671AC:
/* 801671AC 00162E0C  38 60 00 02 */	li r3, 2
/* 801671B0 00162E10  48 00 00 64 */	b lbl_80167214
lbl_801671B4:
/* 801671B4 00162E14  80 1E 00 08 */	lwz r0, 8(r30)
/* 801671B8 00162E18  2C 00 00 06 */	cmpwi r0, 6
/* 801671BC 00162E1C  40 80 00 18 */	bge lbl_801671D4
/* 801671C0 00162E20  2C 00 00 04 */	cmpwi r0, 4
/* 801671C4 00162E24  40 80 00 08 */	bge lbl_801671CC
/* 801671C8 00162E28  48 00 00 0C */	b lbl_801671D4
lbl_801671CC:
/* 801671CC 00162E2C  38 60 00 05 */	li r3, 5
/* 801671D0 00162E30  48 00 00 44 */	b lbl_80167214
lbl_801671D4:
/* 801671D4 00162E34  38 60 00 03 */	li r3, 3
/* 801671D8 00162E38  48 00 00 3C */	b lbl_80167214
lbl_801671DC:
/* 801671DC 00162E3C  38 60 00 05 */	li r3, 5
/* 801671E0 00162E40  48 00 00 34 */	b lbl_80167214
lbl_801671E4:
/* 801671E4 00162E44  88 1F 00 02 */	lbz r0, 2(r31)
/* 801671E8 00162E48  28 00 00 01 */	cmplwi r0, 1
/* 801671EC 00162E4C  41 81 00 24 */	bgt lbl_80167210
/* 801671F0 00162E50  80 1F 00 04 */	lwz r0, 4(r31)
/* 801671F4 00162E54  38 80 00 04 */	li r4, 4
/* 801671F8 00162E58  7C 00 18 50 */	subf r0, r0, r3
/* 801671FC 00162E5C  28 00 00 0A */	cmplwi r0, 0xa
/* 80167200 00162E60  40 80 00 08 */	bge lbl_80167208
/* 80167204 00162E64  38 80 00 01 */	li r4, 1
lbl_80167208:
/* 80167208 00162E68  7C 83 23 78 */	mr r3, r4
/* 8016720C 00162E6C  48 00 00 08 */	b lbl_80167214
lbl_80167210:
/* 80167210 00162E70  38 60 00 05 */	li r3, 5
lbl_80167214:
/* 80167214 00162E74  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80167218 00162E78  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8016721C 00162E7C  83 C1 00 08 */	lwz r30, 8(r1)
/* 80167220 00162E80  7C 08 03 A6 */	mtlr r0
/* 80167224 00162E84  38 21 00 10 */	addi r1, r1, 0x10
/* 80167228 00162E88  4E 80 00 20 */	blr

.global func_8016722C
func_8016722C:
/* 8016722C 00162E8C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80167230 00162E90  7C 08 02 A6 */	mflr r0
/* 80167234 00162E94  90 01 00 14 */	stw r0, 0x14(r1)
/* 80167238 00162E98  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8016723C 00162E9C  7C 7F 1B 78 */	mr r31, r3
/* 80167240 00162EA0  48 0F 6D 91 */	bl func_8025DFD0
/* 80167244 00162EA4  48 0F 70 D9 */	bl func_8025E31C
/* 80167248 00162EA8  7F E4 FB 78 */	mr r4, r31
/* 8016724C 00162EAC  48 10 02 C9 */	bl func_80267514
/* 80167250 00162EB0  2C 03 00 00 */	cmpwi r3, 0
/* 80167254 00162EB4  41 82 00 0C */	beq lbl_80167260
/* 80167258 00162EB8  38 63 00 38 */	addi r3, r3, 0x38
/* 8016725C 00162EBC  48 00 00 08 */	b lbl_80167264
lbl_80167260:
/* 80167260 00162EC0  38 60 00 00 */	li r3, 0
lbl_80167264:
/* 80167264 00162EC4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80167268 00162EC8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8016726C 00162ECC  7C 08 03 A6 */	mtlr r0
/* 80167270 00162ED0  38 21 00 10 */	addi r1, r1, 0x10
/* 80167274 00162ED4  4E 80 00 20 */	blr

.global func_80167278
func_80167278:
/* 80167278 00162ED8  38 A0 00 01 */	li r5, 1
/* 8016727C 00162EDC  38 6D 9E 08 */	addi r3, r13, lbl_8063F0C8-_SDA_BASE_
/* 80167280 00162EE0  38 80 00 04 */	li r4, 4
/* 80167284 00162EE4  38 00 00 00 */	li r0, 0
/* 80167288 00162EE8  98 AD 9E 08 */	stb r5, lbl_8063F0C8-_SDA_BASE_(r13)
/* 8016728C 00162EEC  B0 83 00 02 */	sth r4, 2(r3)
/* 80167290 00162EF0  98 03 00 04 */	stb r0, 4(r3)
/* 80167294 00162EF4  4E 80 00 20 */	blr