summaryrefslogtreecommitdiff
path: root/asm/code_801682D0.s
blob: 98e68485f474a4e256b2a317f8b50255a06aca7a (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
.include "macros.inc"

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

.global func_801682D0
func_801682D0:
/* 801682D0 00163F30  2C 84 00 00 */	cmpwi cr1, r4, 0
/* 801682D4 00163F34  39 00 00 00 */	li r8, 0
/* 801682D8 00163F38  4C 85 00 20 */	blelr cr1
/* 801682DC 00163F3C  2C 04 00 08 */	cmpwi r4, 8
/* 801682E0 00163F40  39 24 FF F8 */	addi r9, r4, -8
/* 801682E4 00163F44  40 81 00 F4 */	ble lbl_801683D8
/* 801682E8 00163F48  38 E0 00 00 */	li r7, 0
/* 801682EC 00163F4C  41 84 00 18 */	blt cr1, lbl_80168304
/* 801682F0 00163F50  3C C0 80 00 */	lis r6, 0x7FFFFFFE@ha
/* 801682F4 00163F54  38 06 FF FE */	addi r0, r6, 0x7FFFFFFE@l
/* 801682F8 00163F58  7C 04 00 00 */	cmpw r4, r0
/* 801682FC 00163F5C  41 81 00 08 */	bgt lbl_80168304
/* 80168300 00163F60  38 E0 00 01 */	li r7, 1
lbl_80168304:
/* 80168304 00163F64  2C 07 00 00 */	cmpwi r7, 0
/* 80168308 00163F68  41 82 00 D0 */	beq lbl_801683D8
/* 8016830C 00163F6C  38 09 00 07 */	addi r0, r9, 7
/* 80168310 00163F70  7C 66 1B 78 */	mr r6, r3
/* 80168314 00163F74  54 00 E8 FE */	srwi r0, r0, 3
/* 80168318 00163F78  7C A7 2B 78 */	mr r7, r5
/* 8016831C 00163F7C  7C 09 03 A6 */	mtctr r0
/* 80168320 00163F80  2C 09 00 00 */	cmpwi r9, 0
/* 80168324 00163F84  40 81 00 B4 */	ble lbl_801683D8
lbl_80168328:
/* 80168328 00163F88  A0 06 00 00 */	lhz r0, 0(r6)
/* 8016832C 00163F8C  39 08 00 08 */	addi r8, r8, 8
/* 80168330 00163F90  54 09 44 2E */	rlwinm r9, r0, 8, 0x10, 0x17
/* 80168334 00163F94  54 00 C6 3E */	rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80168338 00163F98  7C 09 02 14 */	add r0, r9, r0
/* 8016833C 00163F9C  B0 07 00 00 */	sth r0, 0(r7)
/* 80168340 00163FA0  A0 06 00 02 */	lhz r0, 2(r6)
/* 80168344 00163FA4  54 09 44 2E */	rlwinm r9, r0, 8, 0x10, 0x17
/* 80168348 00163FA8  54 00 C6 3E */	rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 8016834C 00163FAC  7C 09 02 14 */	add r0, r9, r0
/* 80168350 00163FB0  B0 07 00 02 */	sth r0, 2(r7)
/* 80168354 00163FB4  A0 06 00 04 */	lhz r0, 4(r6)
/* 80168358 00163FB8  54 09 44 2E */	rlwinm r9, r0, 8, 0x10, 0x17
/* 8016835C 00163FBC  54 00 C6 3E */	rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80168360 00163FC0  7C 09 02 14 */	add r0, r9, r0
/* 80168364 00163FC4  B0 07 00 04 */	sth r0, 4(r7)
/* 80168368 00163FC8  A0 06 00 06 */	lhz r0, 6(r6)
/* 8016836C 00163FCC  54 09 44 2E */	rlwinm r9, r0, 8, 0x10, 0x17
/* 80168370 00163FD0  54 00 C6 3E */	rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80168374 00163FD4  7C 09 02 14 */	add r0, r9, r0
/* 80168378 00163FD8  B0 07 00 06 */	sth r0, 6(r7)
/* 8016837C 00163FDC  A0 06 00 08 */	lhz r0, 8(r6)
/* 80168380 00163FE0  54 09 44 2E */	rlwinm r9, r0, 8, 0x10, 0x17
/* 80168384 00163FE4  54 00 C6 3E */	rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80168388 00163FE8  7C 09 02 14 */	add r0, r9, r0
/* 8016838C 00163FEC  B0 07 00 08 */	sth r0, 8(r7)
/* 80168390 00163FF0  A0 06 00 0A */	lhz r0, 0xa(r6)
/* 80168394 00163FF4  54 09 44 2E */	rlwinm r9, r0, 8, 0x10, 0x17
/* 80168398 00163FF8  54 00 C6 3E */	rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 8016839C 00163FFC  7C 09 02 14 */	add r0, r9, r0
/* 801683A0 00164000  B0 07 00 0A */	sth r0, 0xa(r7)
/* 801683A4 00164004  A0 06 00 0C */	lhz r0, 0xc(r6)
/* 801683A8 00164008  54 09 44 2E */	rlwinm r9, r0, 8, 0x10, 0x17
/* 801683AC 0016400C  54 00 C6 3E */	rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 801683B0 00164010  7C 09 02 14 */	add r0, r9, r0
/* 801683B4 00164014  B0 07 00 0C */	sth r0, 0xc(r7)
/* 801683B8 00164018  A0 06 00 0E */	lhz r0, 0xe(r6)
/* 801683BC 0016401C  38 C6 00 10 */	addi r6, r6, 0x10
/* 801683C0 00164020  54 09 44 2E */	rlwinm r9, r0, 8, 0x10, 0x17
/* 801683C4 00164024  54 00 C6 3E */	rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 801683C8 00164028  7C 09 02 14 */	add r0, r9, r0
/* 801683CC 0016402C  B0 07 00 0E */	sth r0, 0xe(r7)
/* 801683D0 00164030  38 E7 00 10 */	addi r7, r7, 0x10
/* 801683D4 00164034  42 00 FF 54 */	bdnz lbl_80168328
lbl_801683D8:
/* 801683D8 00164038  55 07 08 3C */	slwi r7, r8, 1
/* 801683DC 0016403C  7C 08 20 50 */	subf r0, r8, r4
/* 801683E0 00164040  7C C3 3A 14 */	add r6, r3, r7
/* 801683E4 00164044  7C A5 3A 14 */	add r5, r5, r7
/* 801683E8 00164048  7C 09 03 A6 */	mtctr r0
/* 801683EC 0016404C  7C 08 20 00 */	cmpw r8, r4
/* 801683F0 00164050  4C 80 00 20 */	bgelr
lbl_801683F4:
/* 801683F4 00164054  A0 06 00 00 */	lhz r0, 0(r6)
/* 801683F8 00164058  38 C6 00 02 */	addi r6, r6, 2
/* 801683FC 0016405C  54 03 44 2E */	rlwinm r3, r0, 8, 0x10, 0x17
/* 80168400 00164060  54 00 C6 3E */	rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80168404 00164064  7C 03 02 14 */	add r0, r3, r0
/* 80168408 00164068  B0 05 00 00 */	sth r0, 0(r5)
/* 8016840C 0016406C  38 A5 00 02 */	addi r5, r5, 2
/* 80168410 00164070  42 00 FF E4 */	bdnz lbl_801683F4
/* 80168414 00164074  4E 80 00 20 */	blr

.global func_80168418
func_80168418:
/* 80168418 00164078  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8016841C 0016407C  7C 08 02 A6 */	mflr r0
/* 80168420 00164080  90 01 00 14 */	stw r0, 0x14(r1)
/* 80168424 00164084  7C 60 1B 78 */	mr r0, r3
/* 80168428 00164088  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8016842C 0016408C  7C BF 2B 78 */	mr r31, r5
/* 80168430 00164090  7F E3 FB 78 */	mr r3, r31
/* 80168434 00164094  93 C1 00 08 */	stw r30, 8(r1)
/* 80168438 00164098  7C 9E 23 78 */	mr r30, r4
/* 8016843C 0016409C  7C 04 03 78 */	mr r4, r0
/* 80168440 001640A0  7F C5 F3 78 */	mr r5, r30
/* 80168444 001640A4  48 00 EA 71 */	bl func_80176EB4
/* 80168448 001640A8  7F E3 FB 78 */	mr r3, r31
/* 8016844C 001640AC  7F C4 F3 78 */	mr r4, r30
/* 80168450 001640B0  7F E5 FB 78 */	mr r5, r31
/* 80168454 001640B4  4B FF FE 7D */	bl func_801682D0
/* 80168458 001640B8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8016845C 001640BC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80168460 001640C0  83 C1 00 08 */	lwz r30, 8(r1)
/* 80168464 001640C4  7C 08 03 A6 */	mtlr r0
/* 80168468 001640C8  38 21 00 10 */	addi r1, r1, 0x10
/* 8016846C 001640CC  4E 80 00 20 */	blr

.global func_80168470
func_80168470:
/* 80168470 001640D0  7C 64 1B 78 */	mr r4, r3
/* 80168474 001640D4  48 00 00 08 */	b lbl_8016847C
lbl_80168478:
/* 80168478 001640D8  38 84 00 02 */	addi r4, r4, 2
lbl_8016847C:
/* 8016847C 001640DC  A0 04 00 00 */	lhz r0, 0(r4)
/* 80168480 001640E0  2C 00 00 00 */	cmpwi r0, 0
/* 80168484 001640E4  40 82 FF F4 */	bne lbl_80168478
/* 80168488 001640E8  7C 63 20 50 */	subf r3, r3, r4
/* 8016848C 001640EC  54 60 0F FE */	srwi r0, r3, 0x1f
/* 80168490 001640F0  7C 00 1A 14 */	add r0, r0, r3
/* 80168494 001640F4  7C 03 0E 70 */	srawi r3, r0, 1
/* 80168498 001640F8  4E 80 00 20 */	blr

.global func_8016849C
func_8016849C:
/* 8016849C 001640FC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801684A0 00164100  7C 08 02 A6 */	mflr r0
/* 801684A4 00164104  90 01 00 24 */	stw r0, 0x24(r1)
/* 801684A8 00164108  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801684AC 0016410C  7C BF 2B 78 */	mr r31, r5
/* 801684B0 00164110  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801684B4 00164114  7C 9E 23 78 */	mr r30, r4
/* 801684B8 00164118  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801684BC 0016411C  7C 7D 1B 78 */	mr r29, r3
/* 801684C0 00164120  4B FF FF B1 */	bl func_80168470
/* 801684C4 00164124  38 03 00 01 */	addi r0, r3, 1
/* 801684C8 00164128  54 00 08 3C */	slwi r0, r0, 1
/* 801684CC 0016412C  7C 00 F8 00 */	cmpw r0, r31
/* 801684D0 00164130  40 81 00 08 */	ble lbl_801684D8
/* 801684D4 00164134  7F E0 FB 78 */	mr r0, r31
lbl_801684D8:
/* 801684D8 00164138  54 1F F8 7E */	srwi r31, r0, 1
/* 801684DC 0016413C  7F A3 EB 78 */	mr r3, r29
/* 801684E0 00164140  7F E4 FB 78 */	mr r4, r31
/* 801684E4 00164144  7F C5 F3 78 */	mr r5, r30
/* 801684E8 00164148  4B FF FF 31 */	bl func_80168418
/* 801684EC 0016414C  57 E3 08 3C */	slwi r3, r31, 1
/* 801684F0 00164150  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801684F4 00164154  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801684F8 00164158  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801684FC 0016415C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80168500 00164160  7C 08 03 A6 */	mtlr r0
/* 80168504 00164164  38 21 00 20 */	addi r1, r1, 0x20
/* 80168508 00164168  4E 80 00 20 */	blr

.global func_8016850C
func_8016850C:
/* 8016850C 0016416C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80168510 00164170  7C 08 02 A6 */	mflr r0
/* 80168514 00164174  90 01 00 24 */	stw r0, 0x24(r1)
/* 80168518 00164178  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8016851C 0016417C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80168520 00164180  7C 7E 1B 78 */	mr r30, r3
/* 80168524 00164184  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80168528 00164188  7C 9D 23 78 */	mr r29, r4
/* 8016852C 0016418C  7F A5 EB 78 */	mr r5, r29
/* 80168530 00164190  38 80 00 20 */	li r4, 0x20
/* 80168534 00164194  4B FF FE E5 */	bl func_80168418
/* 80168538 00164198  3B FD 00 40 */	addi r31, r29, 0x40
/* 8016853C 0016419C  3B DE 00 40 */	addi r30, r30, 0x40
/* 80168540 001641A0  3B A0 00 00 */	li r29, 0
lbl_80168544:
/* 80168544 001641A4  7F C3 F3 78 */	mr r3, r30
/* 80168548 001641A8  7F E5 FB 78 */	mr r5, r31
/* 8016854C 001641AC  38 80 00 6E */	li r4, 0x6e
/* 80168550 001641B0  4B FF FE C9 */	bl func_80168418
/* 80168554 001641B4  3B BD 00 01 */	addi r29, r29, 1
/* 80168558 001641B8  3B DE 00 DC */	addi r30, r30, 0xdc
/* 8016855C 001641BC  2C 1D 00 04 */	cmpwi r29, 4
/* 80168560 001641C0  3B FF 00 DC */	addi r31, r31, 0xdc
/* 80168564 001641C4  41 80 FF E0 */	blt lbl_80168544
/* 80168568 001641C8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8016856C 001641CC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80168570 001641D0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80168574 001641D4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80168578 001641D8  7C 08 03 A6 */	mtlr r0
/* 8016857C 001641DC  38 21 00 20 */	addi r1, r1, 0x20
/* 80168580 001641E0  4E 80 00 20 */	blr

.global func_80168584
func_80168584:
/* 80168584 001641E4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80168588 001641E8  7C 08 02 A6 */	mflr r0
/* 8016858C 001641EC  90 01 00 24 */	stw r0, 0x24(r1)
/* 80168590 001641F0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80168594 001641F4  7C 9F 23 78 */	mr r31, r4
/* 80168598 001641F8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8016859C 001641FC  3B C3 00 04 */	addi r30, r3, 4
/* 801685A0 00164200  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801685A4 00164204  3B A0 00 00 */	li r29, 0
lbl_801685A8:
/* 801685A8 00164208  7F C3 F3 78 */	mr r3, r30
/* 801685AC 0016420C  7F E4 FB 78 */	mr r4, r31
/* 801685B0 00164210  4B FF FF 5D */	bl func_8016850C
/* 801685B4 00164214  3B BD 00 01 */	addi r29, r29, 1
/* 801685B8 00164218  3B DE 03 B0 */	addi r30, r30, 0x3b0
/* 801685BC 0016421C  2C 1D 00 06 */	cmpwi r29, 6
/* 801685C0 00164220  3B FF 03 B0 */	addi r31, r31, 0x3b0
/* 801685C4 00164224  41 80 FF E4 */	blt lbl_801685A8
/* 801685C8 00164228  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801685CC 0016422C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801685D0 00164230  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801685D4 00164234  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801685D8 00164238  7C 08 03 A6 */	mtlr r0
/* 801685DC 0016423C  38 21 00 20 */	addi r1, r1, 0x20
/* 801685E0 00164240  4E 80 00 20 */	blr

.global func_801685E4
func_801685E4:
/* 801685E4 00164244  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801685E8 00164248  7C 08 02 A6 */	mflr r0
/* 801685EC 0016424C  90 01 00 14 */	stw r0, 0x14(r1)
/* 801685F0 00164250  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801685F4 00164254  7C 9F 23 78 */	mr r31, r4
/* 801685F8 00164258  7F E5 FB 78 */	mr r5, r31
/* 801685FC 0016425C  38 80 00 10 */	li r4, 0x10
/* 80168600 00164260  93 C1 00 08 */	stw r30, 8(r1)
/* 80168604 00164264  7C 7E 1B 78 */	mr r30, r3
/* 80168608 00164268  4B FF FE 11 */	bl func_80168418
/* 8016860C 0016426C  88 1E 00 20 */	lbz r0, 0x20(r30)
/* 80168610 00164270  98 1F 00 20 */	stb r0, 0x20(r31)
/* 80168614 00164274  88 1E 00 21 */	lbz r0, 0x21(r30)
/* 80168618 00164278  98 1F 00 21 */	stb r0, 0x21(r31)
/* 8016861C 0016427C  88 1E 00 22 */	lbz r0, 0x22(r30)
/* 80168620 00164280  98 1F 00 22 */	stb r0, 0x22(r31)
/* 80168624 00164284  88 1E 00 23 */	lbz r0, 0x23(r30)
/* 80168628 00164288  98 1F 00 23 */	stb r0, 0x23(r31)
/* 8016862C 0016428C  88 1E 00 24 */	lbz r0, 0x24(r30)
/* 80168630 00164290  98 1F 00 24 */	stb r0, 0x24(r31)
/* 80168634 00164294  88 1E 00 25 */	lbz r0, 0x25(r30)
/* 80168638 00164298  98 1F 00 25 */	stb r0, 0x25(r31)
/* 8016863C 0016429C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80168640 001642A0  83 C1 00 08 */	lwz r30, 8(r1)
/* 80168644 001642A4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80168648 001642A8  7C 08 03 A6 */	mtlr r0
/* 8016864C 001642AC  38 21 00 10 */	addi r1, r1, 0x10
/* 80168650 001642B0  4E 80 00 20 */	blr

.global func_80168654
func_80168654:
/* 80168654 001642B4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80168658 001642B8  7C 08 02 A6 */	mflr r0
/* 8016865C 001642BC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80168660 001642C0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80168664 001642C4  7C 9F 23 78 */	mr r31, r4
/* 80168668 001642C8  93 C1 00 08 */	stw r30, 8(r1)
/* 8016866C 001642CC  7C 7E 1B 78 */	mr r30, r3
/* 80168670 001642D0  A0 03 00 00 */	lhz r0, 0(r3)
/* 80168674 001642D4  38 63 00 02 */	addi r3, r3, 2
/* 80168678 001642D8  54 05 44 2E */	rlwinm r5, r0, 8, 0x10, 0x17
/* 8016867C 001642DC  54 00 C6 3E */	rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80168680 001642E0  7C 05 02 14 */	add r0, r5, r0
/* 80168684 001642E4  B0 04 00 00 */	sth r0, 0(r4)
/* 80168688 001642E8  38 BF 00 02 */	addi r5, r31, 2
/* 8016868C 001642EC  38 80 00 0C */	li r4, 0xc
/* 80168690 001642F0  4B FF FD 89 */	bl func_80168418
/* 80168694 001642F4  88 1E 00 1A */	lbz r0, 0x1a(r30)
/* 80168698 001642F8  98 1F 00 1A */	stb r0, 0x1a(r31)
/* 8016869C 001642FC  88 1E 00 1B */	lbz r0, 0x1b(r30)
/* 801686A0 00164300  98 1F 00 1B */	stb r0, 0x1b(r31)
/* 801686A4 00164304  88 1E 00 1C */	lbz r0, 0x1c(r30)
/* 801686A8 00164308  98 1F 00 1C */	stb r0, 0x1c(r31)
/* 801686AC 0016430C  88 1E 00 1D */	lbz r0, 0x1d(r30)
/* 801686B0 00164310  98 1F 00 1D */	stb r0, 0x1d(r31)
/* 801686B4 00164314  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801686B8 00164318  83 C1 00 08 */	lwz r30, 8(r1)
/* 801686BC 0016431C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801686C0 00164320  7C 08 03 A6 */	mtlr r0
/* 801686C4 00164324  38 21 00 10 */	addi r1, r1, 0x10
/* 801686C8 00164328  4E 80 00 20 */	blr

.global func_801686CC
func_801686CC:
/* 801686CC 0016432C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801686D0 00164330  7C 08 02 A6 */	mflr r0
/* 801686D4 00164334  90 01 00 34 */	stw r0, 0x34(r1)
/* 801686D8 00164338  39 61 00 30 */	addi r11, r1, 0x30
/* 801686DC 0016433C  48 05 EA 41 */	bl _savegpr_24
/* 801686E0 00164340  7C 99 23 78 */	mr r25, r4
/* 801686E4 00164344  7C 78 1B 78 */	mr r24, r3
/* 801686E8 00164348  7F 3E CB 78 */	mr r30, r25
/* 801686EC 0016434C  3B E3 00 04 */	addi r31, r3, 4
/* 801686F0 00164350  3B 60 00 00 */	li r27, 0
lbl_801686F4:
/* 801686F4 00164354  7F DD F3 78 */	mr r29, r30
/* 801686F8 00164358  7F FC FB 78 */	mr r28, r31
/* 801686FC 0016435C  3B 40 00 00 */	li r26, 0
lbl_80168700:
/* 80168700 00164360  7F 83 E3 78 */	mr r3, r28
/* 80168704 00164364  7F A4 EB 78 */	mr r4, r29
/* 80168708 00164368  4B FF FE DD */	bl func_801685E4
/* 8016870C 0016436C  3B 5A 00 01 */	addi r26, r26, 1
/* 80168710 00164370  3B 9C 00 26 */	addi r28, r28, 0x26
/* 80168714 00164374  2C 1A 00 04 */	cmpwi r26, 4
/* 80168718 00164378  3B BD 00 26 */	addi r29, r29, 0x26
/* 8016871C 0016437C  41 80 FF E4 */	blt lbl_80168700
/* 80168720 00164380  3B 7B 00 01 */	addi r27, r27, 1
/* 80168724 00164384  3B FF 00 98 */	addi r31, r31, 0x98
/* 80168728 00164388  2C 1B 00 06 */	cmpwi r27, 6
/* 8016872C 0016438C  3B DE 00 98 */	addi r30, r30, 0x98
/* 80168730 00164390  41 80 FF C4 */	blt lbl_801686F4
/* 80168734 00164394  3B F9 03 90 */	addi r31, r25, 0x390
/* 80168738 00164398  3B D8 03 94 */	addi r30, r24, 0x394
/* 8016873C 0016439C  3B 40 00 00 */	li r26, 0
lbl_80168740:
/* 80168740 001643A0  7F C3 F3 78 */	mr r3, r30
/* 80168744 001643A4  7F E4 FB 78 */	mr r4, r31
/* 80168748 001643A8  4B FF FF 0D */	bl func_80168654
/* 8016874C 001643AC  3B 5A 00 01 */	addi r26, r26, 1
/* 80168750 001643B0  3B DE 00 1E */	addi r30, r30, 0x1e
/* 80168754 001643B4  2C 1A 00 04 */	cmpwi r26, 4
/* 80168758 001643B8  3B FF 00 1E */	addi r31, r31, 0x1e
/* 8016875C 001643BC  41 80 FF E4 */	blt lbl_80168740
/* 80168760 001643C0  39 61 00 30 */	addi r11, r1, 0x30
/* 80168764 001643C4  48 05 EA 05 */	bl _restgpr_24
/* 80168768 001643C8  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8016876C 001643CC  7C 08 03 A6 */	mtlr r0
/* 80168770 001643D0  38 21 00 30 */	addi r1, r1, 0x30
/* 80168774 001643D4  4E 80 00 20 */	blr

.global func_80168778
func_80168778:
/* 80168778 001643D8  38 A0 00 01 */	li r5, 1
/* 8016877C 001643DC  38 6D 9E 38 */	addi r3, r13, lbl_8063F0F8-_SDA_BASE_
/* 80168780 001643E0  38 80 00 04 */	li r4, 4
/* 80168784 001643E4  38 00 00 00 */	li r0, 0
/* 80168788 001643E8  98 AD 9E 38 */	stb r5, lbl_8063F0F8-_SDA_BASE_(r13)
/* 8016878C 001643EC  B0 83 00 02 */	sth r4, 2(r3)
/* 80168790 001643F0  98 03 00 04 */	stb r0, 4(r3)
/* 80168794 001643F4  4E 80 00 20 */	blr