summaryrefslogtreecommitdiff
path: root/asm/code_801679F8.s
blob: 3a28a41040280ddfbf665428a7907163f33c2349 (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
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
.include "macros.inc"

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

.global func_801679F8
func_801679F8:
/* 801679F8 00163658  28 03 00 04 */	cmplwi r3, 4
/* 801679FC 0016365C  41 80 00 0C */	blt lbl_80167A08
/* 80167A00 00163660  38 60 FF FF */	li r3, -1
/* 80167A04 00163664  4E 80 00 20 */	blr
lbl_80167A08:
/* 80167A08 00163668  2C 04 00 00 */	cmpwi r4, 0
/* 80167A0C 0016366C  41 80 00 0C */	blt lbl_80167A18
/* 80167A10 00163670  2C 04 00 08 */	cmpwi r4, 8
/* 80167A14 00163674  41 80 00 0C */	blt lbl_80167A20
lbl_80167A18:
/* 80167A18 00163678  38 60 FF FF */	li r3, -1
/* 80167A1C 0016367C  4E 80 00 20 */	blr
lbl_80167A20:
/* 80167A20 00163680  38 AD 9E 28 */	addi r5, r13, lbl_8063F0E8-_SDA_BASE_
/* 80167A24 00163684  7C 85 19 AE */	stbx r4, r5, r3
/* 80167A28 00163688  38 60 00 00 */	li r3, 0
/* 80167A2C 0016368C  4E 80 00 20 */	blr

.global func_80167A30
func_80167A30:
/* 80167A30 00163690  28 03 00 04 */	cmplwi r3, 4
/* 80167A34 00163694  41 80 00 0C */	blt lbl_80167A40
/* 80167A38 00163698  38 60 FF FF */	li r3, -1
/* 80167A3C 0016369C  4E 80 00 20 */	blr
lbl_80167A40:
/* 80167A40 001636A0  38 8D 9E 28 */	addi r4, r13, lbl_8063F0E8-_SDA_BASE_
/* 80167A44 001636A4  7C 64 18 AE */	lbzx r3, r4, r3
/* 80167A48 001636A8  2C 03 00 00 */	cmpwi r3, 0
/* 80167A4C 001636AC  41 80 00 0C */	blt lbl_80167A58
/* 80167A50 001636B0  2C 03 00 08 */	cmpwi r3, 8
/* 80167A54 001636B4  4D 80 00 20 */	bltlr
lbl_80167A58:
/* 80167A58 001636B8  38 60 FF FF */	li r3, -1
/* 80167A5C 001636BC  4E 80 00 20 */	blr

.global func_80167A60
func_80167A60:
/* 80167A60 001636C0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80167A64 001636C4  7C 08 02 A6 */	mflr r0
/* 80167A68 001636C8  90 01 00 14 */	stw r0, 0x14(r1)
/* 80167A6C 001636CC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80167A70 001636D0  3B E0 00 00 */	li r31, 0
lbl_80167A74:
/* 80167A74 001636D4  7F E4 FB 78 */	mr r4, r31
/* 80167A78 001636D8  57 E3 06 3E */	clrlwi r3, r31, 0x18
/* 80167A7C 001636DC  4B FF FF 7D */	bl func_801679F8
/* 80167A80 001636E0  3B FF 00 01 */	addi r31, r31, 1
/* 80167A84 001636E4  2C 1F 00 04 */	cmpwi r31, 4
/* 80167A88 001636E8  41 80 FF EC */	blt lbl_80167A74
/* 80167A8C 001636EC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80167A90 001636F0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80167A94 001636F4  7C 08 03 A6 */	mtlr r0
/* 80167A98 001636F8  38 21 00 10 */	addi r1, r1, 0x10
/* 80167A9C 001636FC  4E 80 00 20 */	blr

.global func_80167AA0
func_80167AA0:
/* 80167AA0 00163700  28 03 00 0F */	cmplwi r3, 0xf
/* 80167AA4 00163704  41 81 00 84 */	bgt lbl_80167B28
/* 80167AA8 00163708  3C 80 80 42 */	lis r4, lbl_8041F550@ha
/* 80167AAC 0016370C  54 60 10 3A */	slwi r0, r3, 2
/* 80167AB0 00163710  38 84 F5 50 */	addi r4, r4, lbl_8041F550@l
/* 80167AB4 00163714  7C 84 00 2E */	lwzx r4, r4, r0
/* 80167AB8 00163718  7C 89 03 A6 */	mtctr r4
/* 80167ABC 0016371C  4E 80 04 20 */	bctr
/* 80167AC0 00163720  38 60 00 00 */	li r3, 0
/* 80167AC4 00163724  4E 80 00 20 */	blr
/* 80167AC8 00163728  38 60 00 01 */	li r3, 1
/* 80167ACC 0016372C  4E 80 00 20 */	blr
/* 80167AD0 00163730  38 60 00 02 */	li r3, 2
/* 80167AD4 00163734  4E 80 00 20 */	blr
/* 80167AD8 00163738  38 60 00 03 */	li r3, 3
/* 80167ADC 0016373C  4E 80 00 20 */	blr
/* 80167AE0 00163740  38 60 00 04 */	li r3, 4
/* 80167AE4 00163744  4E 80 00 20 */	blr
/* 80167AE8 00163748  38 60 00 0C */	li r3, 0xc
/* 80167AEC 0016374C  4E 80 00 20 */	blr
/* 80167AF0 00163750  38 60 00 05 */	li r3, 5
/* 80167AF4 00163754  4E 80 00 20 */	blr
/* 80167AF8 00163758  38 60 00 06 */	li r3, 6
/* 80167AFC 0016375C  4E 80 00 20 */	blr
/* 80167B00 00163760  38 60 00 07 */	li r3, 7
/* 80167B04 00163764  4E 80 00 20 */	blr
/* 80167B08 00163768  38 60 00 08 */	li r3, 8
/* 80167B0C 0016376C  4E 80 00 20 */	blr
/* 80167B10 00163770  38 60 00 09 */	li r3, 9
/* 80167B14 00163774  4E 80 00 20 */	blr
/* 80167B18 00163778  38 60 00 0A */	li r3, 0xa
/* 80167B1C 0016377C  4E 80 00 20 */	blr
/* 80167B20 00163780  38 60 00 0B */	li r3, 0xb
/* 80167B24 00163784  4E 80 00 20 */	blr
lbl_80167B28:
/* 80167B28 00163788  38 60 FF FF */	li r3, -1
/* 80167B2C 0016378C  4E 80 00 20 */	blr

.global func_80167B30
func_80167B30:
/* 80167B30 00163790  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80167B34 00163794  7C 08 02 A6 */	mflr r0
/* 80167B38 00163798  90 01 00 24 */	stw r0, 0x24(r1)
/* 80167B3C 0016379C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80167B40 001637A0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80167B44 001637A4  7C 9E 23 78 */	mr r30, r4
/* 80167B48 001637A8  4B FF FE E9 */	bl func_80167A30
/* 80167B4C 001637AC  2C 03 00 00 */	cmpwi r3, 0
/* 80167B50 001637B0  7C 7F 1B 78 */	mr r31, r3
/* 80167B54 001637B4  41 80 00 40 */	blt lbl_80167B94
/* 80167B58 001637B8  4B FF D1 15 */	bl func_80164C6C
/* 80167B5C 001637BC  2C 03 00 00 */	cmpwi r3, 0
/* 80167B60 001637C0  41 82 00 34 */	beq lbl_80167B94
/* 80167B64 001637C4  57 C5 C4 2E */	rlwinm r5, r30, 0x18, 0x10, 0x17
/* 80167B68 001637C8  57 C0 42 1E */	rlwinm r0, r30, 8, 8, 0xf
/* 80167B6C 001637CC  53 C5 46 3E */	rlwimi r5, r30, 8, 0x18, 0x1f
/* 80167B70 001637D0  3C 80 80 42 */	lis r4, lbl_8041F590@ha
/* 80167B74 001637D4  53 C0 C0 0E */	rlwimi r0, r30, 0x18, 0, 7
/* 80167B78 001637D8  7F E3 FB 78 */	mr r3, r31
/* 80167B7C 001637DC  7C A0 03 78 */	or r0, r5, r0
/* 80167B80 001637E0  38 84 F5 90 */	addi r4, r4, lbl_8041F590@l
/* 80167B84 001637E4  90 01 00 08 */	stw r0, 8(r1)
/* 80167B88 001637E8  38 A1 00 08 */	addi r5, r1, 8
/* 80167B8C 001637EC  38 C0 00 04 */	li r6, 4
/* 80167B90 001637F0  4B FF CC 95 */	bl func_80164824
lbl_80167B94:
/* 80167B94 001637F4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80167B98 001637F8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80167B9C 001637FC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80167BA0 00163800  7C 08 03 A6 */	mtlr r0
/* 80167BA4 00163804  38 21 00 20 */	addi r1, r1, 0x20
/* 80167BA8 00163808  4E 80 00 20 */	blr

.global func_80167BAC
func_80167BAC:
/* 80167BAC 0016380C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80167BB0 00163810  7C 08 02 A6 */	mflr r0
/* 80167BB4 00163814  90 01 00 24 */	stw r0, 0x24(r1)
/* 80167BB8 00163818  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80167BBC 0016381C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80167BC0 00163820  7C BE 2B 78 */	mr r30, r5
/* 80167BC4 00163824  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80167BC8 00163828  7C 9D 23 78 */	mr r29, r4
/* 80167BCC 0016382C  4B FF FE 65 */	bl func_80167A30
/* 80167BD0 00163830  2C 03 00 00 */	cmpwi r3, 0
/* 80167BD4 00163834  7C 7F 1B 78 */	mr r31, r3
/* 80167BD8 00163838  41 80 00 58 */	blt lbl_80167C30
/* 80167BDC 0016383C  4B FF D0 91 */	bl func_80164C6C
/* 80167BE0 00163840  2C 03 00 00 */	cmpwi r3, 0
/* 80167BE4 00163844  41 82 00 4C */	beq lbl_80167C30
/* 80167BE8 00163848  38 80 FF FF */	li r4, -1
/* 80167BEC 0016384C  4B FF F0 29 */	bl func_80166C14
/* 80167BF0 00163850  7F A3 EB 78 */	mr r3, r29
/* 80167BF4 00163854  4B FF FE AD */	bl func_80167AA0
/* 80167BF8 00163858  54 64 44 2E */	rlwinm r4, r3, 8, 0x10, 0x17
/* 80167BFC 0016385C  54 60 C6 3E */	rlwinm r0, r3, 0x18, 0x18, 0x1f
/* 80167C00 00163860  7C A4 02 14 */	add r5, r4, r0
/* 80167C04 00163864  57 C3 44 2E */	rlwinm r3, r30, 8, 0x10, 0x17
/* 80167C08 00163868  57 C0 C6 3E */	rlwinm r0, r30, 0x18, 0x18, 0x1f
/* 80167C0C 0016386C  3C 80 80 42 */	lis r4, lbl_8041F5A4@ha
/* 80167C10 00163870  7C 03 02 14 */	add r0, r3, r0
/* 80167C14 00163874  B0 A1 00 08 */	sth r5, 8(r1)
/* 80167C18 00163878  7F E3 FB 78 */	mr r3, r31
/* 80167C1C 0016387C  38 84 F5 A4 */	addi r4, r4, lbl_8041F5A4@l
/* 80167C20 00163880  B0 01 00 0A */	sth r0, 0xa(r1)
/* 80167C24 00163884  38 A1 00 08 */	addi r5, r1, 8
/* 80167C28 00163888  38 C0 00 04 */	li r6, 4
/* 80167C2C 0016388C  4B FF CB F9 */	bl func_80164824
lbl_80167C30:
/* 80167C30 00163890  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80167C34 00163894  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80167C38 00163898  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80167C3C 0016389C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80167C40 001638A0  7C 08 03 A6 */	mtlr r0
/* 80167C44 001638A4  38 21 00 20 */	addi r1, r1, 0x20
/* 80167C48 001638A8  4E 80 00 20 */	blr

.global func_80167C4C
func_80167C4C:
/* 80167C4C 001638AC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80167C50 001638B0  7C 08 02 A6 */	mflr r0
/* 80167C54 001638B4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80167C58 001638B8  4B FF FD D9 */	bl func_80167A30
/* 80167C5C 001638BC  2C 03 00 00 */	cmpwi r3, 0
/* 80167C60 001638C0  40 80 00 0C */	bge lbl_80167C6C
/* 80167C64 001638C4  38 60 00 07 */	li r3, 7
/* 80167C68 001638C8  48 00 00 1C */	b lbl_80167C84
lbl_80167C6C:
/* 80167C6C 001638CC  4B FF D0 01 */	bl func_80164C6C
/* 80167C70 001638D0  2C 03 00 00 */	cmpwi r3, 0
/* 80167C74 001638D4  40 82 00 0C */	bne lbl_80167C80
/* 80167C78 001638D8  38 60 00 07 */	li r3, 7
/* 80167C7C 001638DC  48 00 00 08 */	b lbl_80167C84
lbl_80167C80:
/* 80167C80 001638E0  4B FF EF 9D */	bl func_80166C1C
lbl_80167C84:
/* 80167C84 001638E4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80167C88 001638E8  7C 08 03 A6 */	mtlr r0
/* 80167C8C 001638EC  38 21 00 10 */	addi r1, r1, 0x10
/* 80167C90 001638F0  4E 80 00 20 */	blr

.global func_80167C94
func_80167C94:
/* 80167C94 001638F4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80167C98 001638F8  7C 08 02 A6 */	mflr r0
/* 80167C9C 001638FC  90 01 00 24 */	stw r0, 0x24(r1)
/* 80167CA0 00163900  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80167CA4 00163904  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80167CA8 00163908  7C 7E 1B 78 */	mr r30, r3
/* 80167CAC 0016390C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80167CB0 00163910  7C 9D 23 78 */	mr r29, r4
/* 80167CB4 00163914  4B FF FD 7D */	bl func_80167A30
/* 80167CB8 00163918  2C 03 00 00 */	cmpwi r3, 0
/* 80167CBC 0016391C  7C 7F 1B 78 */	mr r31, r3
/* 80167CC0 00163920  40 80 00 0C */	bge lbl_80167CCC
/* 80167CC4 00163924  38 60 00 07 */	li r3, 7
/* 80167CC8 00163928  48 00 00 7C */	b lbl_80167D44
lbl_80167CCC:
/* 80167CCC 0016392C  3C A0 80 42 */	lis r5, lbl_8041F5BC@ha
/* 80167CD0 00163930  80 9D 00 00 */	lwz r4, 0(r29)
/* 80167CD4 00163934  7F C3 F3 78 */	mr r3, r30
/* 80167CD8 00163938  38 A5 F5 BC */	addi r5, r5, lbl_8041F5BC@l
/* 80167CDC 0016393C  48 00 00 85 */	bl func_80167D60
/* 80167CE0 00163940  48 0F 62 F1 */	bl func_8025DFD0
/* 80167CE4 00163944  38 80 16 20 */	li r4, 0x1620
/* 80167CE8 00163948  48 0F 62 D9 */	bl func_8025DFC0
/* 80167CEC 0016394C  2C 03 00 00 */	cmpwi r3, 0
/* 80167CF0 00163950  7C 7E 1B 78 */	mr r30, r3
/* 80167CF4 00163954  40 82 00 0C */	bne lbl_80167D00
/* 80167CF8 00163958  38 60 00 07 */	li r3, 7
/* 80167CFC 0016395C  48 00 00 48 */	b lbl_80167D44
lbl_80167D00:
/* 80167D00 00163960  7F A3 EB 78 */	mr r3, r29
/* 80167D04 00163964  7F C4 F3 78 */	mr r4, r30
/* 80167D08 00163968  48 00 08 7D */	bl func_80168584
/* 80167D0C 0016396C  3C 80 80 42 */	lis r4, lbl_8041F5DC@ha
/* 80167D10 00163970  7F E3 FB 78 */	mr r3, r31
/* 80167D14 00163974  7F C5 F3 78 */	mr r5, r30
/* 80167D18 00163978  38 C0 16 20 */	li r6, 0x1620
/* 80167D1C 0016397C  38 84 F5 DC */	addi r4, r4, lbl_8041F5DC@l
/* 80167D20 00163980  4B FF CC 51 */	bl func_80164970
/* 80167D24 00163984  7C 7F 1B 78 */	mr r31, r3
/* 80167D28 00163988  48 0F 62 A9 */	bl func_8025DFD0
/* 80167D2C 0016398C  7F C4 F3 78 */	mr r4, r30
/* 80167D30 00163990  48 0F 62 99 */	bl func_8025DFC8
/* 80167D34 00163994  7C 1F 00 D0 */	neg r0, r31
/* 80167D38 00163998  7C 00 FB 78 */	or r0, r0, r31
/* 80167D3C 0016399C  7C 00 FE 70 */	srawi r0, r0, 0x1f
/* 80167D40 001639A0  54 03 07 7E */	clrlwi r3, r0, 0x1d
lbl_80167D44:
/* 80167D44 001639A4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80167D48 001639A8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80167D4C 001639AC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80167D50 001639B0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80167D54 001639B4  7C 08 03 A6 */	mtlr r0
/* 80167D58 001639B8  38 21 00 20 */	addi r1, r1, 0x20
/* 80167D5C 001639BC  4E 80 00 20 */	blr

.global func_80167D60
func_80167D60:
/* 80167D60 001639C0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80167D64 001639C4  7C 08 02 A6 */	mflr r0
/* 80167D68 001639C8  90 01 00 24 */	stw r0, 0x24(r1)
/* 80167D6C 001639CC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80167D70 001639D0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80167D74 001639D4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80167D78 001639D8  7C BD 2B 78 */	mr r29, r5
/* 80167D7C 001639DC  93 81 00 10 */	stw r28, 0x10(r1)
/* 80167D80 001639E0  7C 9C 23 78 */	mr r28, r4
/* 80167D84 001639E4  4B FF FC AD */	bl func_80167A30
/* 80167D88 001639E8  2C 03 00 00 */	cmpwi r3, 0
/* 80167D8C 001639EC  7C 7F 1B 78 */	mr r31, r3
/* 80167D90 001639F0  40 80 00 0C */	bge lbl_80167D9C
/* 80167D94 001639F4  38 60 00 07 */	li r3, 7
/* 80167D98 001639F8  48 00 00 68 */	b lbl_80167E00
lbl_80167D9C:
/* 80167D9C 001639FC  48 0F 62 35 */	bl func_8025DFD0
/* 80167DA0 00163A00  38 80 05 90 */	li r4, 0x590
/* 80167DA4 00163A04  48 0F 62 1D */	bl func_8025DFC0
/* 80167DA8 00163A08  2C 03 00 00 */	cmpwi r3, 0
/* 80167DAC 00163A0C  7C 7E 1B 78 */	mr r30, r3
/* 80167DB0 00163A10  40 82 00 0C */	bne lbl_80167DBC
/* 80167DB4 00163A14  38 60 00 07 */	li r3, 7
/* 80167DB8 00163A18  48 00 00 48 */	b lbl_80167E00
lbl_80167DBC:
/* 80167DBC 00163A1C  7F 83 E3 78 */	mr r3, r28
/* 80167DC0 00163A20  7F C4 F3 78 */	mr r4, r30
/* 80167DC4 00163A24  38 A0 00 00 */	li r5, 0
/* 80167DC8 00163A28  48 27 99 19 */	bl func_803E16E0
/* 80167DCC 00163A2C  7F E3 FB 78 */	mr r3, r31
/* 80167DD0 00163A30  7F A4 EB 78 */	mr r4, r29
/* 80167DD4 00163A34  7F C5 F3 78 */	mr r5, r30
/* 80167DD8 00163A38  38 C0 05 90 */	li r6, 0x590
/* 80167DDC 00163A3C  4B FF CB 95 */	bl func_80164970
/* 80167DE0 00163A40  7C 7F 1B 78 */	mr r31, r3
/* 80167DE4 00163A44  48 0F 61 ED */	bl func_8025DFD0
/* 80167DE8 00163A48  7F C4 F3 78 */	mr r4, r30
/* 80167DEC 00163A4C  48 0F 61 DD */	bl func_8025DFC8
/* 80167DF0 00163A50  7C 1F 00 D0 */	neg r0, r31
/* 80167DF4 00163A54  7C 00 FB 78 */	or r0, r0, r31
/* 80167DF8 00163A58  7C 00 FE 70 */	srawi r0, r0, 0x1f
/* 80167DFC 00163A5C  54 03 07 7E */	clrlwi r3, r0, 0x1d
lbl_80167E00:
/* 80167E00 00163A60  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80167E04 00163A64  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80167E08 00163A68  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80167E0C 00163A6C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80167E10 00163A70  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80167E14 00163A74  7C 08 03 A6 */	mtlr r0
/* 80167E18 00163A78  38 21 00 20 */	addi r1, r1, 0x20
/* 80167E1C 00163A7C  4E 80 00 20 */	blr

.global func_80167E20
func_80167E20:
/* 80167E20 00163A80  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80167E24 00163A84  7C 08 02 A6 */	mflr r0
/* 80167E28 00163A88  90 01 00 24 */	stw r0, 0x24(r1)
/* 80167E2C 00163A8C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80167E30 00163A90  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80167E34 00163A94  7C 7E 1B 78 */	mr r30, r3
/* 80167E38 00163A98  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80167E3C 00163A9C  7C 9D 23 78 */	mr r29, r4
/* 80167E40 00163AA0  4B FF FB F1 */	bl func_80167A30
/* 80167E44 00163AA4  2C 03 00 00 */	cmpwi r3, 0
/* 80167E48 00163AA8  7C 7F 1B 78 */	mr r31, r3
/* 80167E4C 00163AAC  40 80 00 0C */	bge lbl_80167E58
/* 80167E50 00163AB0  38 60 00 07 */	li r3, 7
/* 80167E54 00163AB4  48 00 00 7C */	b lbl_80167ED0
lbl_80167E58:
/* 80167E58 00163AB8  3C A0 80 42 */	lis r5, lbl_8041F5FC@ha
/* 80167E5C 00163ABC  80 9D 00 00 */	lwz r4, 0(r29)
/* 80167E60 00163AC0  7F C3 F3 78 */	mr r3, r30
/* 80167E64 00163AC4  38 A5 F5 FC */	addi r5, r5, lbl_8041F5FC@l
/* 80167E68 00163AC8  4B FF FE F9 */	bl func_80167D60
/* 80167E6C 00163ACC  48 0F 61 65 */	bl func_8025DFD0
/* 80167E70 00163AD0  38 80 04 08 */	li r4, 0x408
/* 80167E74 00163AD4  48 0F 61 4D */	bl func_8025DFC0
/* 80167E78 00163AD8  2C 03 00 00 */	cmpwi r3, 0
/* 80167E7C 00163ADC  7C 7E 1B 78 */	mr r30, r3
/* 80167E80 00163AE0  40 82 00 0C */	bne lbl_80167E8C
/* 80167E84 00163AE4  38 60 00 07 */	li r3, 7
/* 80167E88 00163AE8  48 00 00 48 */	b lbl_80167ED0
lbl_80167E8C:
/* 80167E8C 00163AEC  7F A3 EB 78 */	mr r3, r29
/* 80167E90 00163AF0  7F C4 F3 78 */	mr r4, r30
/* 80167E94 00163AF4  48 00 08 39 */	bl func_801686CC
/* 80167E98 00163AF8  3C 80 80 42 */	lis r4, lbl_8041F61C@ha
/* 80167E9C 00163AFC  7F E3 FB 78 */	mr r3, r31
/* 80167EA0 00163B00  7F C5 F3 78 */	mr r5, r30
/* 80167EA4 00163B04  38 C0 04 08 */	li r6, 0x408
/* 80167EA8 00163B08  38 84 F6 1C */	addi r4, r4, lbl_8041F61C@l
/* 80167EAC 00163B0C  4B FF CA C5 */	bl func_80164970
/* 80167EB0 00163B10  7C 7F 1B 78 */	mr r31, r3
/* 80167EB4 00163B14  48 0F 61 1D */	bl func_8025DFD0
/* 80167EB8 00163B18  7F C4 F3 78 */	mr r4, r30
/* 80167EBC 00163B1C  48 0F 61 0D */	bl func_8025DFC8
/* 80167EC0 00163B20  7C 1F 00 D0 */	neg r0, r31
/* 80167EC4 00163B24  7C 00 FB 78 */	or r0, r0, r31
/* 80167EC8 00163B28  7C 00 FE 70 */	srawi r0, r0, 0x1f
/* 80167ECC 00163B2C  54 03 07 7E */	clrlwi r3, r0, 0x1d
lbl_80167ED0:
/* 80167ED0 00163B30  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80167ED4 00163B34  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80167ED8 00163B38  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80167EDC 00163B3C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80167EE0 00163B40  7C 08 03 A6 */	mtlr r0
/* 80167EE4 00163B44  38 21 00 20 */	addi r1, r1, 0x20
/* 80167EE8 00163B48  4E 80 00 20 */	blr
lbl_80167EEC:
/* 80167EEC 00163B4C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80167EF0 00163B50  7C 08 02 A6 */	mflr r0
/* 80167EF4 00163B54  90 01 00 24 */	stw r0, 0x24(r1)
/* 80167EF8 00163B58  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80167EFC 00163B5C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80167F00 00163B60  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80167F04 00163B64  7C BD 2B 78 */	mr r29, r5
/* 80167F08 00163B68  93 81 00 10 */	stw r28, 0x10(r1)
/* 80167F0C 00163B6C  7C 9C 23 78 */	mr r28, r4
/* 80167F10 00163B70  4B FF FB 21 */	bl func_80167A30
/* 80167F14 00163B74  2C 03 00 00 */	cmpwi r3, 0
/* 80167F18 00163B78  7C 7F 1B 78 */	mr r31, r3
/* 80167F1C 00163B7C  40 80 00 0C */	bge lbl_80167F28
/* 80167F20 00163B80  38 60 00 07 */	li r3, 7
/* 80167F24 00163B84  48 00 00 74 */	b lbl_80167F98
lbl_80167F28:
/* 80167F28 00163B88  48 0F 60 A9 */	bl func_8025DFD0
/* 80167F2C 00163B8C  38 80 02 00 */	li r4, 0x200
/* 80167F30 00163B90  48 0F 60 91 */	bl func_8025DFC0
/* 80167F34 00163B94  2C 03 00 00 */	cmpwi r3, 0
/* 80167F38 00163B98  7C 7E 1B 78 */	mr r30, r3
/* 80167F3C 00163B9C  40 82 00 0C */	bne lbl_80167F48
/* 80167F40 00163BA0  38 60 00 07 */	li r3, 7
/* 80167F44 00163BA4  48 00 00 54 */	b lbl_80167F98
lbl_80167F48:
/* 80167F48 00163BA8  7F 84 E3 78 */	mr r4, r28
/* 80167F4C 00163BAC  38 A0 02 00 */	li r5, 0x200
/* 80167F50 00163BB0  48 00 F1 FD */	bl func_8017714C
/* 80167F54 00163BB4  7F 83 E3 78 */	mr r3, r28
/* 80167F58 00163BB8  7F C4 F3 78 */	mr r4, r30
/* 80167F5C 00163BBC  38 A0 02 00 */	li r5, 0x200
/* 80167F60 00163BC0  48 00 05 3D */	bl func_8016849C
/* 80167F64 00163BC4  7C 66 1B 78 */	mr r6, r3
/* 80167F68 00163BC8  7F E3 FB 78 */	mr r3, r31
/* 80167F6C 00163BCC  7F A4 EB 78 */	mr r4, r29
/* 80167F70 00163BD0  7F C5 F3 78 */	mr r5, r30
/* 80167F74 00163BD4  4B FF C8 B1 */	bl func_80164824
/* 80167F78 00163BD8  7C 7F 1B 78 */	mr r31, r3
/* 80167F7C 00163BDC  48 0F 60 55 */	bl func_8025DFD0
/* 80167F80 00163BE0  7F C4 F3 78 */	mr r4, r30
/* 80167F84 00163BE4  48 0F 60 45 */	bl func_8025DFC8
/* 80167F88 00163BE8  7C 1F 00 D0 */	neg r0, r31
/* 80167F8C 00163BEC  7C 00 FB 78 */	or r0, r0, r31
/* 80167F90 00163BF0  7C 00 FE 70 */	srawi r0, r0, 0x1f
/* 80167F94 00163BF4  54 03 07 7E */	clrlwi r3, r0, 0x1d
lbl_80167F98:
/* 80167F98 00163BF8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80167F9C 00163BFC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80167FA0 00163C00  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80167FA4 00163C04  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80167FA8 00163C08  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80167FAC 00163C0C  7C 08 03 A6 */	mtlr r0
/* 80167FB0 00163C10  38 21 00 20 */	addi r1, r1, 0x20
/* 80167FB4 00163C14  4E 80 00 20 */	blr

.global func_80167FB8
func_80167FB8:
/* 80167FB8 00163C18  3C A0 80 42 */	lis r5, lbl_8041F63C@ha
/* 80167FBC 00163C1C  38 A5 F6 3C */	addi r5, r5, lbl_8041F63C@l
/* 80167FC0 00163C20  4B FF FF 2C */	b lbl_80167EEC

.global func_80167FC4
func_80167FC4:
/* 80167FC4 00163C24  3C A0 80 42 */	lis r5, lbl_8041F658@ha
/* 80167FC8 00163C28  38 A5 F6 58 */	addi r5, r5, lbl_8041F658@l
/* 80167FCC 00163C2C  4B FF FF 20 */	b lbl_80167EEC

.global func_80167FD0
func_80167FD0:
/* 80167FD0 00163C30  3C A0 80 42 */	lis r5, lbl_8041F674@ha
/* 80167FD4 00163C34  38 A5 F6 74 */	addi r5, r5, lbl_8041F674@l
/* 80167FD8 00163C38  4B FF FF 14 */	b lbl_80167EEC
lbl_80167FDC:
/* 80167FDC 00163C3C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80167FE0 00163C40  7C 08 02 A6 */	mflr r0
/* 80167FE4 00163C44  90 01 00 24 */	stw r0, 0x24(r1)
/* 80167FE8 00163C48  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80167FEC 00163C4C  7C BF 2B 78 */	mr r31, r5
/* 80167FF0 00163C50  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80167FF4 00163C54  7C 9E 23 78 */	mr r30, r4
/* 80167FF8 00163C58  4B FF FA 39 */	bl func_80167A30
/* 80167FFC 00163C5C  2C 03 00 00 */	cmpwi r3, 0
/* 80168000 00163C60  40 80 00 0C */	bge lbl_8016800C
/* 80168004 00163C64  38 60 00 07 */	li r3, 7
/* 80168008 00163C68  48 00 00 34 */	b lbl_8016803C
lbl_8016800C:
/* 8016800C 00163C6C  57 C4 44 2E */	rlwinm r4, r30, 8, 0x10, 0x17
/* 80168010 00163C70  57 C0 C6 3E */	rlwinm r0, r30, 0x18, 0x18, 0x1f
/* 80168014 00163C74  7C 04 02 14 */	add r0, r4, r0
/* 80168018 00163C78  38 A1 00 08 */	addi r5, r1, 8
/* 8016801C 00163C7C  B0 01 00 08 */	sth r0, 8(r1)
/* 80168020 00163C80  7F E4 FB 78 */	mr r4, r31
/* 80168024 00163C84  38 C0 00 02 */	li r6, 2
/* 80168028 00163C88  4B FF C7 FD */	bl func_80164824
/* 8016802C 00163C8C  7C 03 00 D0 */	neg r0, r3
/* 80168030 00163C90  7C 00 1B 78 */	or r0, r0, r3
/* 80168034 00163C94  7C 00 FE 70 */	srawi r0, r0, 0x1f
/* 80168038 00163C98  54 03 07 7E */	clrlwi r3, r0, 0x1d
lbl_8016803C:
/* 8016803C 00163C9C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80168040 00163CA0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80168044 00163CA4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80168048 00163CA8  7C 08 03 A6 */	mtlr r0
/* 8016804C 00163CAC  38 21 00 20 */	addi r1, r1, 0x20
/* 80168050 00163CB0  4E 80 00 20 */	blr

.global func_80168054
func_80168054:
/* 80168054 00163CB4  3C A0 80 42 */	lis r5, lbl_8041F690@ha
/* 80168058 00163CB8  38 80 00 00 */	li r4, 0
/* 8016805C 00163CBC  38 A5 F6 90 */	addi r5, r5, lbl_8041F690@l
/* 80168060 00163CC0  4B FF FF 7C */	b lbl_80167FDC

.global func_80168064
func_80168064:
/* 80168064 00163CC4  3C A0 80 42 */	lis r5, lbl_8041F6AC@ha
/* 80168068 00163CC8  38 80 00 00 */	li r4, 0
/* 8016806C 00163CCC  38 A5 F6 AC */	addi r5, r5, lbl_8041F6AC@l
/* 80168070 00163CD0  4B FF FF 6C */	b lbl_80167FDC

.global func_80168074
func_80168074:
/* 80168074 00163CD4  3C A0 80 42 */	lis r5, lbl_8041F6C8@ha
/* 80168078 00163CD8  38 80 00 00 */	li r4, 0
/* 8016807C 00163CDC  38 A5 F6 C8 */	addi r5, r5, lbl_8041F6C8@l
/* 80168080 00163CE0  4B FF FF 5C */	b lbl_80167FDC

.global func_80168084
func_80168084:
/* 80168084 00163CE4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80168088 00163CE8  7C 08 02 A6 */	mflr r0
/* 8016808C 00163CEC  3C A0 80 42 */	lis r5, lbl_8041F6E0@ha
/* 80168090 00163CF0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80168094 00163CF4  38 A5 F6 E0 */	addi r5, r5, lbl_8041F6E0@l
/* 80168098 00163CF8  4B FF FC C9 */	bl func_80167D60
/* 8016809C 00163CFC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801680A0 00163D00  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 801680A4 00163D04  7C 08 03 A6 */	mtlr r0
/* 801680A8 00163D08  38 21 00 10 */	addi r1, r1, 0x10
/* 801680AC 00163D0C  4E 80 00 20 */	blr

.global func_801680B0
func_801680B0:
/* 801680B0 00163D10  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801680B4 00163D14  7C 08 02 A6 */	mflr r0
/* 801680B8 00163D18  90 01 00 14 */	stw r0, 0x14(r1)
/* 801680BC 00163D1C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801680C0 00163D20  7C 9F 23 78 */	mr r31, r4
/* 801680C4 00163D24  4B FF F9 6D */	bl func_80167A30
/* 801680C8 00163D28  2C 03 00 00 */	cmpwi r3, 0
/* 801680CC 00163D2C  40 80 00 0C */	bge lbl_801680D8
/* 801680D0 00163D30  38 60 FF FF */	li r3, -1
/* 801680D4 00163D34  48 00 00 18 */	b lbl_801680EC
lbl_801680D8:
/* 801680D8 00163D38  3C 80 80 42 */	lis r4, lbl_8041F704@ha
/* 801680DC 00163D3C  7F E5 FB 78 */	mr r5, r31
/* 801680E0 00163D40  38 84 F7 04 */	addi r4, r4, lbl_8041F704@l
/* 801680E4 00163D44  38 C0 00 0C */	li r6, 0xc
/* 801680E8 00163D48  4B FF C7 3D */	bl func_80164824
lbl_801680EC:
/* 801680EC 00163D4C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801680F0 00163D50  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801680F4 00163D54  7C 08 03 A6 */	mtlr r0
/* 801680F8 00163D58  38 21 00 10 */	addi r1, r1, 0x10
/* 801680FC 00163D5C  4E 80 00 20 */	blr

.global func_80168100
func_80168100:
/* 80168100 00163D60  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80168104 00163D64  7C 08 02 A6 */	mflr r0
/* 80168108 00163D68  90 01 00 14 */	stw r0, 0x14(r1)
/* 8016810C 00163D6C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80168110 00163D70  7C 9F 23 78 */	mr r31, r4
/* 80168114 00163D74  4B FF F9 1D */	bl func_80167A30
/* 80168118 00163D78  2C 03 00 00 */	cmpwi r3, 0
/* 8016811C 00163D7C  40 80 00 0C */	bge lbl_80168128
/* 80168120 00163D80  38 60 FF FF */	li r3, -1
/* 80168124 00163D84  48 00 00 10 */	b lbl_80168134
lbl_80168128:
/* 80168128 00163D88  7F E4 FB 78 */	mr r4, r31
/* 8016812C 00163D8C  38 A0 00 0C */	li r5, 0xc
/* 80168130 00163D90  4B FF C9 E5 */	bl func_80164B14
lbl_80168134:
/* 80168134 00163D94  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80168138 00163D98  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8016813C 00163D9C  7C 08 03 A6 */	mtlr r0
/* 80168140 00163DA0  38 21 00 10 */	addi r1, r1, 0x10
/* 80168144 00163DA4  4E 80 00 20 */	blr

.global func_80168148
func_80168148:
/* 80168148 00163DA8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8016814C 00163DAC  7C 08 02 A6 */	mflr r0
/* 80168150 00163DB0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80168154 00163DB4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80168158 00163DB8  93 C1 00 08 */	stw r30, 8(r1)
/* 8016815C 00163DBC  7C 9E 23 78 */	mr r30, r4
/* 80168160 00163DC0  4B FF F8 D1 */	bl func_80167A30
/* 80168164 00163DC4  2C 03 00 00 */	cmpwi r3, 0
/* 80168168 00163DC8  40 80 00 0C */	bge lbl_80168174
/* 8016816C 00163DCC  38 60 00 00 */	li r3, 0
/* 80168170 00163DD0  48 00 00 4C */	b lbl_801681BC
lbl_80168174:
/* 80168174 00163DD4  4B FF CA F9 */	bl func_80164C6C
/* 80168178 00163DD8  2C 03 00 00 */	cmpwi r3, 0
/* 8016817C 00163DDC  7C 7F 1B 78 */	mr r31, r3
/* 80168180 00163DE0  40 82 00 0C */	bne lbl_8016818C
/* 80168184 00163DE4  38 60 00 00 */	li r3, 0
/* 80168188 00163DE8  48 00 00 34 */	b lbl_801681BC
lbl_8016818C:
/* 8016818C 00163DEC  4B FF EA ED */	bl func_80166C78
/* 80168190 00163DF0  2C 03 00 00 */	cmpwi r3, 0
/* 80168194 00163DF4  7C 64 1B 78 */	mr r4, r3
/* 80168198 00163DF8  40 82 00 0C */	bne lbl_801681A4
/* 8016819C 00163DFC  38 60 00 00 */	li r3, 0
/* 801681A0 00163E00  48 00 00 1C */	b lbl_801681BC
lbl_801681A4:
/* 801681A4 00163E04  7F C3 F3 78 */	mr r3, r30
/* 801681A8 00163E08  38 A0 00 0C */	li r5, 0xc
/* 801681AC 00163E0C  4B E9 BE 55 */	bl memcpy
/* 801681B0 00163E10  7F E3 FB 78 */	mr r3, r31
/* 801681B4 00163E14  4B FF EA 71 */	bl func_80166C24
/* 801681B8 00163E18  7F C3 F3 78 */	mr r3, r30
lbl_801681BC:
/* 801681BC 00163E1C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801681C0 00163E20  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801681C4 00163E24  83 C1 00 08 */	lwz r30, 8(r1)
/* 801681C8 00163E28  7C 08 03 A6 */	mtlr r0
/* 801681CC 00163E2C  38 21 00 10 */	addi r1, r1, 0x10
/* 801681D0 00163E30  4E 80 00 20 */	blr

.global func_801681D4
func_801681D4:
/* 801681D4 00163E34  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801681D8 00163E38  7C 08 02 A6 */	mflr r0
/* 801681DC 00163E3C  90 01 00 14 */	stw r0, 0x14(r1)
/* 801681E0 00163E40  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801681E4 00163E44  7C 9F 23 78 */	mr r31, r4
/* 801681E8 00163E48  4B FF F8 49 */	bl func_80167A30
/* 801681EC 00163E4C  2C 03 00 00 */	cmpwi r3, 0
/* 801681F0 00163E50  40 80 00 0C */	bge lbl_801681FC
/* 801681F4 00163E54  38 60 FF FF */	li r3, -1
/* 801681F8 00163E58  48 00 00 18 */	b lbl_80168210
lbl_801681FC:
/* 801681FC 00163E5C  3C 80 80 42 */	lis r4, lbl_8041F720@ha
/* 80168200 00163E60  7F E5 FB 78 */	mr r5, r31
/* 80168204 00163E64  38 84 F7 20 */	addi r4, r4, lbl_8041F720@l
/* 80168208 00163E68  38 C0 00 80 */	li r6, 0x80
/* 8016820C 00163E6C  4B FF C6 19 */	bl func_80164824
lbl_80168210:
/* 80168210 00163E70  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80168214 00163E74  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80168218 00163E78  7C 08 03 A6 */	mtlr r0
/* 8016821C 00163E7C  38 21 00 10 */	addi r1, r1, 0x10
/* 80168220 00163E80  4E 80 00 20 */	blr

.global func_80168224
func_80168224:
/* 80168224 00163E84  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80168228 00163E88  7C 08 02 A6 */	mflr r0
/* 8016822C 00163E8C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80168230 00163E90  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80168234 00163E94  93 C1 00 08 */	stw r30, 8(r1)
/* 80168238 00163E98  7C 9E 23 78 */	mr r30, r4
/* 8016823C 00163E9C  4B FF F7 F5 */	bl func_80167A30
/* 80168240 00163EA0  2C 03 00 00 */	cmpwi r3, 0
/* 80168244 00163EA4  40 80 00 0C */	bge lbl_80168250
/* 80168248 00163EA8  38 60 00 00 */	li r3, 0
/* 8016824C 00163EAC  48 00 00 4C */	b lbl_80168298
lbl_80168250:
/* 80168250 00163EB0  4B FF CA 1D */	bl func_80164C6C
/* 80168254 00163EB4  2C 03 00 00 */	cmpwi r3, 0
/* 80168258 00163EB8  7C 7F 1B 78 */	mr r31, r3
/* 8016825C 00163EBC  40 82 00 0C */	bne lbl_80168268
/* 80168260 00163EC0  38 60 00 00 */	li r3, 0
/* 80168264 00163EC4  48 00 00 34 */	b lbl_80168298
lbl_80168268:
/* 80168268 00163EC8  4B FF EA 81 */	bl func_80166CE8
/* 8016826C 00163ECC  2C 03 00 00 */	cmpwi r3, 0
/* 80168270 00163ED0  7C 64 1B 78 */	mr r4, r3
/* 80168274 00163ED4  40 82 00 0C */	bne lbl_80168280
/* 80168278 00163ED8  38 60 00 00 */	li r3, 0
/* 8016827C 00163EDC  48 00 00 1C */	b lbl_80168298
lbl_80168280:
/* 80168280 00163EE0  7F C3 F3 78 */	mr r3, r30
/* 80168284 00163EE4  38 A0 00 80 */	li r5, 0x80
/* 80168288 00163EE8  4B E9 BD 79 */	bl memcpy
/* 8016828C 00163EEC  7F E3 FB 78 */	mr r3, r31
/* 80168290 00163EF0  4B FF EA 05 */	bl func_80166C94
/* 80168294 00163EF4  7F C3 F3 78 */	mr r3, r30
lbl_80168298:
/* 80168298 00163EF8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8016829C 00163EFC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801682A0 00163F00  83 C1 00 08 */	lwz r30, 8(r1)
/* 801682A4 00163F04  7C 08 03 A6 */	mtlr r0
/* 801682A8 00163F08  38 21 00 10 */	addi r1, r1, 0x10
/* 801682AC 00163F0C  4E 80 00 20 */	blr

.global func_801682B0
func_801682B0:
/* 801682B0 00163F10  38 A0 00 01 */	li r5, 1
/* 801682B4 00163F14  38 6D 9E 30 */	addi r3, r13, lbl_8063F0F0-_SDA_BASE_
/* 801682B8 00163F18  38 80 00 04 */	li r4, 4
/* 801682BC 00163F1C  38 00 00 00 */	li r0, 0
/* 801682C0 00163F20  98 AD 9E 30 */	stb r5, lbl_8063F0F0-_SDA_BASE_(r13)
/* 801682C4 00163F24  B0 83 00 02 */	sth r4, 2(r3)
/* 801682C8 00163F28  98 03 00 04 */	stb r0, 4(r3)
/* 801682CC 00163F2C  4E 80 00 20 */	blr