summaryrefslogtreecommitdiff
path: root/asm/code_80168798.s
blob: 2577ad8e5e9fd07ce5710b9e1068b52c3ca1ff9c (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
406
407
408
409
410
411
412
413
.include "macros.inc"

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

.global func_80168798
func_80168798:
/* 80168798 001643F8  38 00 00 01 */	li r0, 1
/* 8016879C 001643FC  90 0D 9E 4C */	stw r0, lbl_8063F10C-_SDA_BASE_(r13)
/* 801687A0 00164400  4E 80 00 20 */	blr

.global func_801687A4
func_801687A4:
/* 801687A4 00164404  38 00 00 00 */	li r0, 0
/* 801687A8 00164408  90 0D 9E 4C */	stw r0, lbl_8063F10C-_SDA_BASE_(r13)
/* 801687AC 0016440C  4E 80 00 20 */	blr

.global func_801687B0
func_801687B0:
/* 801687B0 00164410  38 00 00 01 */	li r0, 1
/* 801687B4 00164414  90 0D 9E 50 */	stw r0, lbl_8063F110-_SDA_BASE_(r13)
/* 801687B8 00164418  4E 80 00 20 */	blr

.global func_801687BC
func_801687BC:
/* 801687BC 0016441C  38 00 00 00 */	li r0, 0
/* 801687C0 00164420  90 0D 9E 50 */	stw r0, lbl_8063F110-_SDA_BASE_(r13)
/* 801687C4 00164424  4E 80 00 20 */	blr

.global func_801687C8
func_801687C8:
/* 801687C8 00164428  90 6D 9E 48 */	stw r3, lbl_8063F108-_SDA_BASE_(r13)
/* 801687CC 0016442C  4E 80 00 20 */	blr

.global func_801687D0
func_801687D0:
/* 801687D0 00164430  80 6D 9E 48 */	lwz r3, lbl_8063F108-_SDA_BASE_(r13)
/* 801687D4 00164434  4E 80 00 20 */	blr

.global func_801687D8
func_801687D8:
/* 801687D8 00164438  38 60 00 00 */	li r3, 0
/* 801687DC 0016443C  4B FF C4 28 */	b func_80164C04

.global func_801687E0
func_801687E0:
/* 801687E0 00164440  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801687E4 00164444  7C 08 02 A6 */	mflr r0
/* 801687E8 00164448  38 60 00 00 */	li r3, 0
/* 801687EC 0016444C  90 01 00 14 */	stw r0, 0x14(r1)
/* 801687F0 00164450  4B FF C4 7D */	bl func_80164C6C
/* 801687F4 00164454  2C 03 00 00 */	cmpwi r3, 0
/* 801687F8 00164458  40 82 00 0C */	bne lbl_80168804
/* 801687FC 0016445C  38 60 00 00 */	li r3, 0
/* 80168800 00164460  48 00 00 08 */	b lbl_80168808
lbl_80168804:
/* 80168804 00164464  4B FF E2 B1 */	bl func_80166AB4
lbl_80168808:
/* 80168808 00164468  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8016880C 0016446C  7C 08 03 A6 */	mtlr r0
/* 80168810 00164470  38 21 00 10 */	addi r1, r1, 0x10
/* 80168814 00164474  4E 80 00 20 */	blr

.global func_80168818
func_80168818:
/* 80168818 00164478  38 60 00 01 */	li r3, 1
/* 8016881C 0016447C  4B FF B5 A8 */	b func_80163DC4

.global func_80168820
func_80168820:
/* 80168820 00164480  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80168824 00164484  7C 08 02 A6 */	mflr r0
/* 80168828 00164488  38 60 00 00 */	li r3, 0
/* 8016882C 0016448C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80168830 00164490  4B FF C4 3D */	bl func_80164C6C
/* 80168834 00164494  2C 03 00 00 */	cmpwi r3, 0
/* 80168838 00164498  40 82 00 0C */	bne lbl_80168844
/* 8016883C 0016449C  38 60 FF FF */	li r3, -1
/* 80168840 001644A0  48 00 00 08 */	b lbl_80168848
lbl_80168844:
/* 80168844 001644A4  4B FF E5 01 */	bl func_80166D44
lbl_80168848:
/* 80168848 001644A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8016884C 001644AC  7C 08 03 A6 */	mtlr r0
/* 80168850 001644B0  38 21 00 10 */	addi r1, r1, 0x10
/* 80168854 001644B4  4E 80 00 20 */	blr

.global func_80168858
func_80168858:
/* 80168858 001644B8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8016885C 001644BC  7C 08 02 A6 */	mflr r0
/* 80168860 001644C0  38 60 00 00 */	li r3, 0
/* 80168864 001644C4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80168868 001644C8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8016886C 001644CC  4B FF C4 01 */	bl func_80164C6C
/* 80168870 001644D0  2C 03 00 00 */	cmpwi r3, 0
/* 80168874 001644D4  7C 7F 1B 78 */	mr r31, r3
/* 80168878 001644D8  40 82 00 0C */	bne lbl_80168884
/* 8016887C 001644DC  38 60 00 00 */	li r3, 0
/* 80168880 001644E0  48 00 00 6C */	b lbl_801688EC
lbl_80168884:
/* 80168884 001644E4  4B FF FF 5D */	bl func_801687E0
/* 80168888 001644E8  2C 03 00 00 */	cmpwi r3, 0
/* 8016888C 001644EC  40 82 00 0C */	bne lbl_80168898
/* 80168890 001644F0  38 60 00 00 */	li r3, 0
/* 80168894 001644F4  48 00 00 58 */	b lbl_801688EC
lbl_80168898:
/* 80168898 001644F8  38 60 02 68 */	li r3, 0x268
/* 8016889C 001644FC  4B FF A1 F5 */	bl func_80162A90
/* 801688A0 00164500  2C 03 00 01 */	cmpwi r3, 1
/* 801688A4 00164504  41 82 00 44 */	beq lbl_801688E8
/* 801688A8 00164508  40 80 00 40 */	bge lbl_801688E8
/* 801688AC 0016450C  2C 03 00 00 */	cmpwi r3, 0
/* 801688B0 00164510  40 80 00 08 */	bge lbl_801688B8
/* 801688B4 00164514  48 00 00 34 */	b lbl_801688E8
lbl_801688B8:
/* 801688B8 00164518  38 60 00 01 */	li r3, 1
/* 801688BC 0016451C  4B FF B5 09 */	bl func_80163DC4
/* 801688C0 00164520  2C 03 00 00 */	cmpwi r3, 0
/* 801688C4 00164524  40 80 00 0C */	bge lbl_801688D0
/* 801688C8 00164528  38 60 00 00 */	li r3, 0
/* 801688CC 0016452C  48 00 00 20 */	b lbl_801688EC
lbl_801688D0:
/* 801688D0 00164530  7F E3 FB 78 */	mr r3, r31
/* 801688D4 00164534  4B FF E4 71 */	bl func_80166D44
/* 801688D8 00164538  2C 03 00 00 */	cmpwi r3, 0
/* 801688DC 0016453C  40 80 00 0C */	bge lbl_801688E8
/* 801688E0 00164540  38 60 00 00 */	li r3, 0
/* 801688E4 00164544  48 00 00 08 */	b lbl_801688EC
lbl_801688E8:
/* 801688E8 00164548  38 60 00 01 */	li r3, 1
lbl_801688EC:
/* 801688EC 0016454C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801688F0 00164550  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801688F4 00164554  7C 08 03 A6 */	mtlr r0
/* 801688F8 00164558  38 21 00 10 */	addi r1, r1, 0x10
/* 801688FC 0016455C  4E 80 00 20 */	blr

.global func_80168900
func_80168900:
/* 80168900 00164560  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80168904 00164564  7C 08 02 A6 */	mflr r0
/* 80168908 00164568  90 01 00 14 */	stw r0, 0x14(r1)
/* 8016890C 0016456C  4B FF FF 4D */	bl func_80168858
/* 80168910 00164570  2C 03 00 00 */	cmpwi r3, 0
/* 80168914 00164574  40 82 00 0C */	bne lbl_80168920
/* 80168918 00164578  38 60 00 00 */	li r3, 0
/* 8016891C 0016457C  48 00 00 20 */	b lbl_8016893C
lbl_80168920:
/* 80168920 00164580  38 60 00 00 */	li r3, 0
/* 80168924 00164584  4B FF C3 49 */	bl func_80164C6C
/* 80168928 00164588  2C 03 00 00 */	cmpwi r3, 0
/* 8016892C 0016458C  40 82 00 0C */	bne lbl_80168938
/* 80168930 00164590  38 60 00 00 */	li r3, 0
/* 80168934 00164594  48 00 00 08 */	b lbl_8016893C
lbl_80168938:
/* 80168938 00164598  4B FF E3 E9 */	bl func_80166D20
lbl_8016893C:
/* 8016893C 0016459C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80168940 001645A0  7C 08 03 A6 */	mtlr r0
/* 80168944 001645A4  38 21 00 10 */	addi r1, r1, 0x10
/* 80168948 001645A8  4E 80 00 20 */	blr

.global func_8016894C
func_8016894C:
/* 8016894C 001645AC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80168950 001645B0  7C 08 02 A6 */	mflr r0
/* 80168954 001645B4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80168958 001645B8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8016895C 001645BC  7C 7F 1B 78 */	mr r31, r3
/* 80168960 001645C0  80 0D 9E 54 */	lwz r0, lbl_8063F114-_SDA_BASE_(r13)
/* 80168964 001645C4  2C 00 00 00 */	cmpwi r0, 0
/* 80168968 001645C8  40 82 00 14 */	bne lbl_8016897C
/* 8016896C 001645CC  48 0F 56 65 */	bl func_8025DFD0
/* 80168970 001645D0  38 80 06 EC */	li r4, 0x6ec
/* 80168974 001645D4  48 0F 56 4D */	bl func_8025DFC0
/* 80168978 001645D8  90 6D 9E 54 */	stw r3, lbl_8063F114-_SDA_BASE_(r13)
lbl_8016897C:
/* 8016897C 001645DC  80 6D 9E 54 */	lwz r3, lbl_8063F114-_SDA_BASE_(r13)
/* 80168980 001645E0  7F E4 FB 78 */	mr r4, r31
/* 80168984 001645E4  38 A0 06 EC */	li r5, 0x6ec
/* 80168988 001645E8  4B E9 B6 79 */	bl memcpy
/* 8016898C 001645EC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80168990 001645F0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80168994 001645F4  7C 08 03 A6 */	mtlr r0
/* 80168998 001645F8  38 21 00 10 */	addi r1, r1, 0x10
/* 8016899C 001645FC  4E 80 00 20 */	blr

.global func_801689A0
func_801689A0:
/* 801689A0 00164600  80 6D 9E 54 */	lwz r3, lbl_8063F114-_SDA_BASE_(r13)
/* 801689A4 00164604  4E 80 00 20 */	blr

.global func_801689A8
func_801689A8:
/* 801689A8 00164608  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801689AC 0016460C  7C 08 02 A6 */	mflr r0
/* 801689B0 00164610  38 80 00 00 */	li r4, 0
/* 801689B4 00164614  38 A0 00 1A */	li r5, 0x1a
/* 801689B8 00164618  90 01 00 14 */	stw r0, 0x14(r1)
/* 801689BC 0016461C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801689C0 00164620  3F E0 80 49 */	lis r31, lbl_8048CB28@ha
/* 801689C4 00164624  3B FF CB 28 */	addi r31, r31, lbl_8048CB28@l
/* 801689C8 00164628  7F E3 FB 78 */	mr r3, r31
/* 801689CC 0016462C  4B E9 B7 39 */	bl memset
/* 801689D0 00164630  80 6D 9E 54 */	lwz r3, lbl_8063F114-_SDA_BASE_(r13)
/* 801689D4 00164634  38 C0 00 00 */	li r6, 0
/* 801689D8 00164638  A0 03 00 04 */	lhz r0, 4(r3)
/* 801689DC 0016463C  28 00 FF FF */	cmplwi r0, 0xffff
/* 801689E0 00164640  40 82 00 14 */	bne lbl_801689F4
/* 801689E4 00164644  A0 03 00 06 */	lhz r0, 6(r3)
/* 801689E8 00164648  28 00 00 13 */	cmplwi r0, 0x13
/* 801689EC 0016464C  40 82 00 08 */	bne lbl_801689F4
/* 801689F0 00164650  38 C0 00 02 */	li r6, 2
lbl_801689F4:
/* 801689F4 00164654  20 06 00 0C */	subfic r0, r6, 0xc
/* 801689F8 00164658  54 C5 08 3C */	slwi r5, r6, 1
/* 801689FC 0016465C  80 8D 9E 54 */	lwz r4, lbl_8063F114-_SDA_BASE_(r13)
/* 80168A00 00164660  7C 09 03 A6 */	mtctr r0
/* 80168A04 00164664  2C 06 00 0C */	cmpwi r6, 0xc
/* 80168A08 00164668  40 80 00 38 */	bge lbl_80168A40
lbl_80168A0C:
/* 80168A0C 0016466C  7C 64 2A 14 */	add r3, r4, r5
/* 80168A10 00164670  A0 03 00 04 */	lhz r0, 4(r3)
/* 80168A14 00164674  2C 00 00 00 */	cmpwi r0, 0
/* 80168A18 00164678  41 82 00 0C */	beq lbl_80168A24
/* 80168A1C 0016467C  28 00 FF FF */	cmplwi r0, 0xffff
/* 80168A20 00164680  40 82 00 10 */	bne lbl_80168A30
lbl_80168A24:
/* 80168A24 00164684  38 00 00 00 */	li r0, 0
/* 80168A28 00164688  B0 1F 00 00 */	sth r0, 0(r31)
/* 80168A2C 0016468C  48 00 00 14 */	b lbl_80168A40
lbl_80168A30:
/* 80168A30 00164690  B0 1F 00 00 */	sth r0, 0(r31)
/* 80168A34 00164694  3B FF 00 02 */	addi r31, r31, 2
/* 80168A38 00164698  38 A5 00 02 */	addi r5, r5, 2
/* 80168A3C 0016469C  42 00 FF D0 */	bdnz lbl_80168A0C
lbl_80168A40:
/* 80168A40 001646A0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80168A44 001646A4  3C 60 80 49 */	lis r3, lbl_8048CB28@ha
/* 80168A48 001646A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80168A4C 001646AC  38 63 CB 28 */	addi r3, r3, lbl_8048CB28@l
/* 80168A50 001646B0  7C 08 03 A6 */	mtlr r0
/* 80168A54 001646B4  38 21 00 10 */	addi r1, r1, 0x10
/* 80168A58 001646B8  4E 80 00 20 */	blr

.global func_80168A5C
func_80168A5C:
/* 80168A5C 001646BC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80168A60 001646C0  7C 08 02 A6 */	mflr r0
/* 80168A64 001646C4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80168A68 001646C8  4B FF FD F1 */	bl func_80168858
/* 80168A6C 001646CC  2C 03 00 00 */	cmpwi r3, 0
/* 80168A70 001646D0  40 82 00 0C */	bne lbl_80168A7C
/* 80168A74 001646D4  38 60 00 00 */	li r3, 0
/* 80168A78 001646D8  48 00 00 20 */	b lbl_80168A98
lbl_80168A7C:
/* 80168A7C 001646DC  38 60 00 00 */	li r3, 0
/* 80168A80 001646E0  4B FF C1 ED */	bl func_80164C6C
/* 80168A84 001646E4  2C 03 00 00 */	cmpwi r3, 0
/* 80168A88 001646E8  40 82 00 0C */	bne lbl_80168A94
/* 80168A8C 001646EC  38 60 00 00 */	li r3, 0
/* 80168A90 001646F0  48 00 00 08 */	b lbl_80168A98
lbl_80168A94:
/* 80168A94 001646F4  4B FF E0 31 */	bl func_80166AC4
lbl_80168A98:
/* 80168A98 001646F8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80168A9C 001646FC  7C 08 03 A6 */	mtlr r0
/* 80168AA0 00164700  38 21 00 10 */	addi r1, r1, 0x10
/* 80168AA4 00164704  4E 80 00 20 */	blr

.global func_80168AA8
func_80168AA8:
/* 80168AA8 00164708  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80168AAC 0016470C  7C 08 02 A6 */	mflr r0
/* 80168AB0 00164710  90 01 00 14 */	stw r0, 0x14(r1)
/* 80168AB4 00164714  4B FF FD A5 */	bl func_80168858
/* 80168AB8 00164718  2C 03 00 00 */	cmpwi r3, 0
/* 80168ABC 0016471C  40 82 00 0C */	bne lbl_80168AC8
/* 80168AC0 00164720  38 60 00 00 */	li r3, 0
/* 80168AC4 00164724  48 00 00 20 */	b lbl_80168AE4
lbl_80168AC8:
/* 80168AC8 00164728  38 60 00 00 */	li r3, 0
/* 80168ACC 0016472C  4B FF C1 A1 */	bl func_80164C6C
/* 80168AD0 00164730  2C 03 00 00 */	cmpwi r3, 0
/* 80168AD4 00164734  40 82 00 0C */	bne lbl_80168AE0
/* 80168AD8 00164738  38 60 00 00 */	li r3, 0
/* 80168ADC 0016473C  48 00 00 08 */	b lbl_80168AE4
lbl_80168AE0:
/* 80168AE0 00164740  4B FF DF ED */	bl func_80166ACC
lbl_80168AE4:
/* 80168AE4 00164744  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80168AE8 00164748  7C 08 03 A6 */	mtlr r0
/* 80168AEC 0016474C  38 21 00 10 */	addi r1, r1, 0x10
/* 80168AF0 00164750  4E 80 00 20 */	blr

.global func_80168AF4
func_80168AF4:
/* 80168AF4 00164754  90 6D 9E 58 */	stw r3, lbl_8063F118-_SDA_BASE_(r13)
/* 80168AF8 00164758  4E 80 00 20 */	blr

.global func_80168AFC
func_80168AFC:
/* 80168AFC 0016475C  80 6D 9E 58 */	lwz r3, lbl_8063F118-_SDA_BASE_(r13)
/* 80168B00 00164760  4E 80 00 20 */	blr

.global func_80168B04
func_80168B04:
/* 80168B04 00164764  90 6D 9E 5C */	stw r3, lbl_8063F11C-_SDA_BASE_(r13)
/* 80168B08 00164768  4E 80 00 20 */	blr

.global func_80168B0C
func_80168B0C:
/* 80168B0C 0016476C  80 6D 9E 5C */	lwz r3, lbl_8063F11C-_SDA_BASE_(r13)
/* 80168B10 00164770  4E 80 00 20 */	blr

.global func_80168B14
func_80168B14:
/* 80168B14 00164774  80 6D 9E 4C */	lwz r3, lbl_8063F10C-_SDA_BASE_(r13)
/* 80168B18 00164778  7C 03 00 D0 */	neg r0, r3
/* 80168B1C 0016477C  7C 00 1B 78 */	or r0, r0, r3
/* 80168B20 00164780  54 03 0F FE */	srwi r3, r0, 0x1f
/* 80168B24 00164784  4E 80 00 20 */	blr

.global func_80168B28
func_80168B28:
/* 80168B28 00164788  80 0D 9E 4C */	lwz r0, lbl_8063F10C-_SDA_BASE_(r13)
/* 80168B2C 0016478C  7C 00 00 34 */	cntlzw r0, r0
/* 80168B30 00164790  54 03 D9 7E */	srwi r3, r0, 5
/* 80168B34 00164794  4E 80 00 20 */	blr

.global func_80168B38
func_80168B38:
/* 80168B38 00164798  80 0D 9E 50 */	lwz r0, lbl_8063F110-_SDA_BASE_(r13)
/* 80168B3C 0016479C  7C 00 00 34 */	cntlzw r0, r0
/* 80168B40 001647A0  54 03 D9 7E */	srwi r3, r0, 5
/* 80168B44 001647A4  4E 80 00 20 */	blr
lbl_80168B48:
/* 80168B48 001647A8  7C 85 23 78 */	mr r5, r4
/* 80168B4C 001647AC  7C 64 1B 78 */	mr r4, r3
/* 80168B50 001647B0  38 60 00 00 */	li r3, 0
/* 80168B54 001647B4  48 00 0B 64 */	b lbl_801696B8

.global func_80168B58
func_80168B58:
/* 80168B58 001647B8  4B FF FF F0 */	b lbl_80168B48

.global func_80168B5C
func_80168B5C:
/* 80168B5C 001647BC  4B FF FF EC */	b lbl_80168B48
lbl_80168B60:
/* 80168B60 001647C0  48 00 06 78 */	b lbl_801691D8

.global func_80168B64
func_80168B64:
/* 80168B64 001647C4  4B FF FF FC */	b lbl_80168B60

.global func_80168B68
func_80168B68:
/* 80168B68 001647C8  4B FF FF F8 */	b lbl_80168B60

.global func_80168B6C
func_80168B6C:
/* 80168B6C 001647CC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80168B70 001647D0  7C 08 02 A6 */	mflr r0
/* 80168B74 001647D4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80168B78 001647D8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80168B7C 001647DC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80168B80 001647E0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80168B84 001647E4  7C 7D 1B 78 */	mr r29, r3
/* 80168B88 001647E8  38 60 02 68 */	li r3, 0x268
/* 80168B8C 001647EC  4B FF 9F 05 */	bl func_80162A90
/* 80168B90 001647F0  2C 03 00 01 */	cmpwi r3, 1
/* 80168B94 001647F4  41 82 00 4C */	beq lbl_80168BE0
/* 80168B98 001647F8  40 80 00 48 */	bge lbl_80168BE0
/* 80168B9C 001647FC  2C 03 00 00 */	cmpwi r3, 0
/* 80168BA0 00164800  40 80 00 08 */	bge lbl_80168BA8
/* 80168BA4 00164804  48 00 00 3C */	b lbl_80168BE0
lbl_80168BA8:
/* 80168BA8 00164808  3B FD 02 86 */	addi r31, r29, 0x286
/* 80168BAC 0016480C  3B DD 01 FC */	addi r30, r29, 0x1fc
/* 80168BB0 00164810  3B A0 00 00 */	li r29, 0
lbl_80168BB4:
/* 80168BB4 00164814  88 1F 00 00 */	lbz r0, 0(r31)
/* 80168BB8 00164818  54 00 CF FF */	rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80168BBC 0016481C  41 82 00 10 */	beq lbl_80168BCC
/* 80168BC0 00164820  7F C3 F3 78 */	mr r3, r30
/* 80168BC4 00164824  38 80 00 00 */	li r4, 0
/* 80168BC8 00164828  48 27 8D 95 */	bl func_803E195C
lbl_80168BCC:
/* 80168BCC 0016482C  3B BD 00 01 */	addi r29, r29, 1
/* 80168BD0 00164830  3B DE 00 8C */	addi r30, r30, 0x8c
/* 80168BD4 00164834  2C 1D 00 06 */	cmpwi r29, 6
/* 80168BD8 00164838  3B FF 00 8C */	addi r31, r31, 0x8c
/* 80168BDC 0016483C  41 80 FF D8 */	blt lbl_80168BB4
lbl_80168BE0:
/* 80168BE0 00164840  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80168BE4 00164844  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80168BE8 00164848  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80168BEC 0016484C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80168BF0 00164850  7C 08 03 A6 */	mtlr r0
/* 80168BF4 00164854  38 21 00 20 */	addi r1, r1, 0x20
/* 80168BF8 00164858  4E 80 00 20 */	blr

.global func_80168BFC
func_80168BFC:
/* 80168BFC 0016485C  38 A0 00 01 */	li r5, 1
/* 80168C00 00164860  38 6D 9E 40 */	addi r3, r13, lbl_8063F100-_SDA_BASE_
/* 80168C04 00164864  38 80 00 04 */	li r4, 4
/* 80168C08 00164868  38 00 00 00 */	li r0, 0
/* 80168C0C 0016486C  98 AD 9E 40 */	stb r5, lbl_8063F100-_SDA_BASE_(r13)
/* 80168C10 00164870  B0 83 00 02 */	sth r4, 2(r3)
/* 80168C14 00164874  98 03 00 04 */	stb r0, 4(r3)
/* 80168C18 00164878  4E 80 00 20 */	blr