summaryrefslogtreecommitdiff
path: root/asm/code_80024914.s
blob: 904a0915c1f564aad08f5d3e05b06ed31adffc96 (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
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
.include "macros.inc"

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

.global func_80024914
func_80024914:
/* 80024914 00020574  98 83 00 00 */	stb r4, 0(r3)
/* 80024918 00020578  B0 A3 00 02 */	sth r5, 2(r3)
/* 8002491C 0002057C  98 C3 00 04 */	stb r6, 4(r3)
/* 80024920 00020580  4E 80 00 20 */	blr

.global func_80024924
func_80024924:
/* 80024924 00020584  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80024928 00020588  7C 08 02 A6 */	mflr r0
/* 8002492C 0002058C  38 60 00 04 */	li r3, 4
/* 80024930 00020590  90 01 00 14 */	stw r0, 0x14(r1)
/* 80024934 00020594  48 1B 60 FD */	bl __nw__FUl
/* 80024938 00020598  2C 03 00 00 */	cmpwi r3, 0
/* 8002493C 0002059C  41 82 00 10 */	beq lbl_8002494C
/* 80024940 000205A0  3C 80 80 47 */	lis r4, lbl_80471F00@ha
/* 80024944 000205A4  38 84 1F 00 */	addi r4, r4, lbl_80471F00@l
/* 80024948 000205A8  48 37 04 19 */	bl func_80394D60
lbl_8002494C:
/* 8002494C 000205AC  90 6D 96 C4 */	stw r3, lbl_8063E984-_SDA_BASE_(r13)
/* 80024950 000205B0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80024954 000205B4  7C 08 03 A6 */	mtlr r0
/* 80024958 000205B8  38 21 00 10 */	addi r1, r1, 0x10
/* 8002495C 000205BC  4E 80 00 20 */	blr

.global func_80024960
func_80024960:
/* 80024960 000205C0  7C 64 1B 78 */	mr r4, r3
/* 80024964 000205C4  80 6D 96 C4 */	lwz r3, lbl_8063E984-_SDA_BASE_(r13)
/* 80024968 000205C8  80 AD 96 C0 */	lwz r5, lbl_8063E980-_SDA_BASE_(r13)
/* 8002496C 000205CC  48 37 05 CC */	b func_80394F38

.global func_80024970
func_80024970:
/* 80024970 000205D0  80 0D 96 C0 */	lwz r0, lbl_8063E980-_SDA_BASE_(r13)
/* 80024974 000205D4  2C 00 00 03 */	cmpwi r0, 3
/* 80024978 000205D8  41 82 00 64 */	beq lbl_800249DC
/* 8002497C 000205DC  40 80 00 14 */	bge lbl_80024990
/* 80024980 000205E0  2C 00 00 01 */	cmpwi r0, 1
/* 80024984 000205E4  41 82 00 18 */	beq lbl_8002499C
/* 80024988 000205E8  40 80 00 34 */	bge lbl_800249BC
/* 8002498C 000205EC  48 00 00 90 */	b lbl_80024A1C
lbl_80024990:
/* 80024990 000205F0  2C 00 00 05 */	cmpwi r0, 5
/* 80024994 000205F4  40 80 00 88 */	bge lbl_80024A1C
/* 80024998 000205F8  48 00 00 64 */	b lbl_800249FC
lbl_8002499C:
/* 8002499C 000205FC  2C 03 00 00 */	cmpwi r3, 0
/* 800249A0 00020600  41 82 00 0C */	beq lbl_800249AC
/* 800249A4 00020604  2C 03 00 02 */	cmpwi r3, 2
/* 800249A8 00020608  40 82 00 0C */	bne lbl_800249B4
lbl_800249AC:
/* 800249AC 0002060C  38 60 00 00 */	li r3, 0
/* 800249B0 00020610  4E 80 00 20 */	blr
lbl_800249B4:
/* 800249B4 00020614  38 60 00 03 */	li r3, 3
/* 800249B8 00020618  4E 80 00 20 */	blr
lbl_800249BC:
/* 800249BC 0002061C  2C 03 00 00 */	cmpwi r3, 0
/* 800249C0 00020620  41 82 00 0C */	beq lbl_800249CC
/* 800249C4 00020624  2C 03 00 02 */	cmpwi r3, 2
/* 800249C8 00020628  40 82 00 0C */	bne lbl_800249D4
lbl_800249CC:
/* 800249CC 0002062C  38 60 00 00 */	li r3, 0
/* 800249D0 00020630  4E 80 00 20 */	blr
lbl_800249D4:
/* 800249D4 00020634  38 60 00 01 */	li r3, 1
/* 800249D8 00020638  4E 80 00 20 */	blr
lbl_800249DC:
/* 800249DC 0002063C  2C 03 00 00 */	cmpwi r3, 0
/* 800249E0 00020640  41 82 00 0C */	beq lbl_800249EC
/* 800249E4 00020644  2C 03 00 02 */	cmpwi r3, 2
/* 800249E8 00020648  40 82 00 0C */	bne lbl_800249F4
lbl_800249EC:
/* 800249EC 0002064C  38 60 00 00 */	li r3, 0
/* 800249F0 00020650  4E 80 00 20 */	blr
lbl_800249F4:
/* 800249F4 00020654  38 60 00 01 */	li r3, 1
/* 800249F8 00020658  4E 80 00 20 */	blr
lbl_800249FC:
/* 800249FC 0002065C  2C 03 00 00 */	cmpwi r3, 0
/* 80024A00 00020660  41 82 00 0C */	beq lbl_80024A0C
/* 80024A04 00020664  2C 03 00 02 */	cmpwi r3, 2
/* 80024A08 00020668  40 82 00 0C */	bne lbl_80024A14
lbl_80024A0C:
/* 80024A0C 0002066C  38 60 00 00 */	li r3, 0
/* 80024A10 00020670  4E 80 00 20 */	blr
lbl_80024A14:
/* 80024A14 00020674  38 60 00 01 */	li r3, 1
/* 80024A18 00020678  4E 80 00 20 */	blr
lbl_80024A1C:
/* 80024A1C 0002067C  38 83 FF FE */	addi r4, r3, -2
/* 80024A20 00020680  20 03 00 02 */	subfic r0, r3, 2
/* 80024A24 00020684  7C 80 00 F8 */	nor r0, r4, r0
/* 80024A28 00020688  7C 03 FE 70 */	srawi r3, r0, 0x1f
/* 80024A2C 0002068C  38 63 00 04 */	addi r3, r3, 4
/* 80024A30 00020690  4E 80 00 20 */	blr

.global func_80024A34
func_80024A34:
/* 80024A34 00020694  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80024A38 00020698  7C 08 02 A6 */	mflr r0
/* 80024A3C 0002069C  38 60 00 04 */	li r3, 4
/* 80024A40 000206A0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80024A44 000206A4  48 1B 5F ED */	bl __nw__FUl
/* 80024A48 000206A8  2C 03 00 00 */	cmpwi r3, 0
/* 80024A4C 000206AC  41 82 00 10 */	beq lbl_80024A5C
/* 80024A50 000206B0  3C 80 80 46 */	lis r4, lbl_80458EE0@ha
/* 80024A54 000206B4  38 84 8E E0 */	addi r4, r4, lbl_80458EE0@l
/* 80024A58 000206B8  48 36 EC E9 */	bl func_80393740
lbl_80024A5C:
/* 80024A5C 000206BC  90 6D 96 C8 */	stw r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024A60 000206C0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80024A64 000206C4  7C 08 03 A6 */	mtlr r0
/* 80024A68 000206C8  38 21 00 10 */	addi r1, r1, 0x10
/* 80024A6C 000206CC  4E 80 00 20 */	blr

.global func_80024A70
func_80024A70:
/* 80024A70 000206D0  80 0D 96 C0 */	lwz r0, lbl_8063E980-_SDA_BASE_(r13)
/* 80024A74 000206D4  7C 66 1B 78 */	mr r6, r3
/* 80024A78 000206D8  7C 85 23 78 */	mr r5, r4
/* 80024A7C 000206DC  2C 00 00 02 */	cmpwi r0, 2
/* 80024A80 000206E0  41 82 00 40 */	beq lbl_80024AC0
/* 80024A84 000206E4  40 80 00 14 */	bge lbl_80024A98
/* 80024A88 000206E8  2C 00 00 00 */	cmpwi r0, 0
/* 80024A8C 000206EC  41 82 00 1C */	beq lbl_80024AA8
/* 80024A90 000206F0  40 80 00 24 */	bge lbl_80024AB4
/* 80024A94 000206F4  48 00 00 50 */	b lbl_80024AE4
lbl_80024A98:
/* 80024A98 000206F8  2C 00 00 04 */	cmpwi r0, 4
/* 80024A9C 000206FC  41 82 00 3C */	beq lbl_80024AD8
/* 80024AA0 00020700  40 80 00 44 */	bge lbl_80024AE4
/* 80024AA4 00020704  48 00 00 28 */	b lbl_80024ACC
lbl_80024AA8:
/* 80024AA8 00020708  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024AAC 0002070C  7C C4 33 78 */	mr r4, r6
/* 80024AB0 00020710  48 36 EF 38 */	b func_803939E8
lbl_80024AB4:
/* 80024AB4 00020714  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024AB8 00020718  7C C4 33 78 */	mr r4, r6
/* 80024ABC 0002071C  48 36 F0 0C */	b func_80393AC8
lbl_80024AC0:
/* 80024AC0 00020720  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024AC4 00020724  7C C4 33 78 */	mr r4, r6
/* 80024AC8 00020728  48 36 F0 E0 */	b func_80393BA8
lbl_80024ACC:
/* 80024ACC 0002072C  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024AD0 00020730  7C C4 33 78 */	mr r4, r6
/* 80024AD4 00020734  48 36 F1 B4 */	b func_80393C88
lbl_80024AD8:
/* 80024AD8 00020738  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024ADC 0002073C  7C C4 33 78 */	mr r4, r6
/* 80024AE0 00020740  48 36 F2 88 */	b func_80393D68
lbl_80024AE4:
/* 80024AE4 00020744  38 60 00 00 */	li r3, 0
/* 80024AE8 00020748  4E 80 00 20 */	blr

.global func_80024AEC
func_80024AEC:
/* 80024AEC 0002074C  80 0D 96 C0 */	lwz r0, lbl_8063E980-_SDA_BASE_(r13)
/* 80024AF0 00020750  7C 64 1B 78 */	mr r4, r3
/* 80024AF4 00020754  2C 00 00 02 */	cmpwi r0, 2
/* 80024AF8 00020758  41 82 00 38 */	beq lbl_80024B30
/* 80024AFC 0002075C  40 80 00 14 */	bge lbl_80024B10
/* 80024B00 00020760  2C 00 00 00 */	cmpwi r0, 0
/* 80024B04 00020764  41 82 00 1C */	beq lbl_80024B20
/* 80024B08 00020768  40 80 00 20 */	bge lbl_80024B28
/* 80024B0C 0002076C  48 00 00 3C */	b lbl_80024B48
lbl_80024B10:
/* 80024B10 00020770  2C 00 00 04 */	cmpwi r0, 4
/* 80024B14 00020774  41 82 00 2C */	beq lbl_80024B40
/* 80024B18 00020778  40 80 00 30 */	bge lbl_80024B48
/* 80024B1C 0002077C  48 00 00 1C */	b lbl_80024B38
lbl_80024B20:
/* 80024B20 00020780  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024B24 00020784  48 36 EF 1C */	b func_80393A40
lbl_80024B28:
/* 80024B28 00020788  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024B2C 0002078C  48 36 EF F4 */	b func_80393B20
lbl_80024B30:
/* 80024B30 00020790  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024B34 00020794  48 36 F0 CC */	b func_80393C00
lbl_80024B38:
/* 80024B38 00020798  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024B3C 0002079C  48 36 F1 A4 */	b func_80393CE0
lbl_80024B40:
/* 80024B40 000207A0  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024B44 000207A4  48 36 F2 7C */	b func_80393DC0
lbl_80024B48:
/* 80024B48 000207A8  38 60 00 00 */	li r3, 0
/* 80024B4C 000207AC  4E 80 00 20 */	blr

.global func_80024B50
func_80024B50:
/* 80024B50 000207B0  80 0D 96 C0 */	lwz r0, lbl_8063E980-_SDA_BASE_(r13)
/* 80024B54 000207B4  7C 66 1B 78 */	mr r6, r3
/* 80024B58 000207B8  7C 85 23 78 */	mr r5, r4
/* 80024B5C 000207BC  2C 00 00 02 */	cmpwi r0, 2
/* 80024B60 000207C0  41 82 00 40 */	beq lbl_80024BA0
/* 80024B64 000207C4  40 80 00 14 */	bge lbl_80024B78
/* 80024B68 000207C8  2C 00 00 00 */	cmpwi r0, 0
/* 80024B6C 000207CC  41 82 00 1C */	beq lbl_80024B88
/* 80024B70 000207D0  40 80 00 24 */	bge lbl_80024B94
/* 80024B74 000207D4  48 00 00 50 */	b lbl_80024BC4
lbl_80024B78:
/* 80024B78 000207D8  2C 00 00 04 */	cmpwi r0, 4
/* 80024B7C 000207DC  41 82 00 3C */	beq lbl_80024BB8
/* 80024B80 000207E0  40 80 00 44 */	bge lbl_80024BC4
/* 80024B84 000207E4  48 00 00 28 */	b lbl_80024BAC
lbl_80024B88:
/* 80024B88 000207E8  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024B8C 000207EC  7C C4 33 78 */	mr r4, r6
/* 80024B90 000207F0  48 36 EE E4 */	b func_80393A74
lbl_80024B94:
/* 80024B94 000207F4  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024B98 000207F8  7C C4 33 78 */	mr r4, r6
/* 80024B9C 000207FC  48 36 EF B8 */	b func_80393B54
lbl_80024BA0:
/* 80024BA0 00020800  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024BA4 00020804  7C C4 33 78 */	mr r4, r6
/* 80024BA8 00020808  48 36 F0 8C */	b func_80393C34
lbl_80024BAC:
/* 80024BAC 0002080C  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024BB0 00020810  7C C4 33 78 */	mr r4, r6
/* 80024BB4 00020814  48 36 F1 60 */	b func_80393D14
lbl_80024BB8:
/* 80024BB8 00020818  80 6D 96 C8 */	lwz r3, lbl_8063E988-_SDA_BASE_(r13)
/* 80024BBC 0002081C  7C C4 33 78 */	mr r4, r6
/* 80024BC0 00020820  48 36 F2 34 */	b func_80393DF4
lbl_80024BC4:
/* 80024BC4 00020824  38 60 00 00 */	li r3, 0
/* 80024BC8 00020828  4E 80 00 20 */	blr

.global func_80024BCC
func_80024BCC:
/* 80024BCC 0002082C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80024BD0 00020830  7C 08 02 A6 */	mflr r0
/* 80024BD4 00020834  38 60 00 04 */	li r3, 4
/* 80024BD8 00020838  90 01 00 14 */	stw r0, 0x14(r1)
/* 80024BDC 0002083C  48 1B 5E 55 */	bl __nw__FUl
/* 80024BE0 00020840  2C 03 00 00 */	cmpwi r3, 0
/* 80024BE4 00020844  41 82 00 10 */	beq lbl_80024BF4
/* 80024BE8 00020848  3C 80 80 46 */	lis r4, lbl_80463858@ha
/* 80024BEC 0002084C  38 84 38 58 */	addi r4, r4, lbl_80463858@l
/* 80024BF0 00020850  48 36 F2 59 */	bl func_80393E48
lbl_80024BF4:
/* 80024BF4 00020854  90 6D 96 CC */	stw r3, lbl_8063E98C-_SDA_BASE_(r13)
/* 80024BF8 00020858  38 60 00 04 */	li r3, 4
/* 80024BFC 0002085C  48 1B 5E 35 */	bl __nw__FUl
/* 80024C00 00020860  2C 03 00 00 */	cmpwi r3, 0
/* 80024C04 00020864  41 82 00 10 */	beq lbl_80024C14
/* 80024C08 00020868  3C 80 80 46 */	lis r4, lbl_80465F20@ha
/* 80024C0C 0002086C  38 84 5F 20 */	addi r4, r4, lbl_80465F20@l
/* 80024C10 00020870  48 36 F4 BD */	bl func_803940CC
lbl_80024C14:
/* 80024C14 00020874  90 6D 96 D0 */	stw r3, lbl_8063E990-_SDA_BASE_(r13)
/* 80024C18 00020878  38 60 00 04 */	li r3, 4
/* 80024C1C 0002087C  48 1B 5E 15 */	bl __nw__FUl
/* 80024C20 00020880  2C 03 00 00 */	cmpwi r3, 0
/* 80024C24 00020884  41 82 00 10 */	beq lbl_80024C34
/* 80024C28 00020888  3C 80 80 47 */	lis r4, lbl_804685E8@ha
/* 80024C2C 0002088C  38 84 85 E8 */	addi r4, r4, lbl_804685E8@l
/* 80024C30 00020890  48 36 F7 21 */	bl func_80394350
lbl_80024C34:
/* 80024C34 00020894  90 6D 96 D4 */	stw r3, lbl_8063E994-_SDA_BASE_(r13)
/* 80024C38 00020898  38 60 00 04 */	li r3, 4
/* 80024C3C 0002089C  48 1B 5D F5 */	bl __nw__FUl
/* 80024C40 000208A0  2C 03 00 00 */	cmpwi r3, 0
/* 80024C44 000208A4  41 82 00 10 */	beq lbl_80024C54
/* 80024C48 000208A8  3C 80 80 47 */	lis r4, lbl_8046ACB0@ha
/* 80024C4C 000208AC  38 84 AC B0 */	addi r4, r4, lbl_8046ACB0@l
/* 80024C50 000208B0  48 36 F9 85 */	bl func_803945D4
lbl_80024C54:
/* 80024C54 000208B4  90 6D 96 D8 */	stw r3, lbl_8063E998-_SDA_BASE_(r13)
/* 80024C58 000208B8  38 60 00 04 */	li r3, 4
/* 80024C5C 000208BC  48 1B 5D D5 */	bl __nw__FUl
/* 80024C60 000208C0  2C 03 00 00 */	cmpwi r3, 0
/* 80024C64 000208C4  41 82 00 10 */	beq lbl_80024C74
/* 80024C68 000208C8  3C 80 80 47 */	lis r4, lbl_8046D378@ha
/* 80024C6C 000208CC  38 84 D3 78 */	addi r4, r4, lbl_8046D378@l
/* 80024C70 000208D0  48 36 FB E9 */	bl func_80394858
lbl_80024C74:
/* 80024C74 000208D4  90 6D 96 DC */	stw r3, lbl_8063E99C-_SDA_BASE_(r13)
/* 80024C78 000208D8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80024C7C 000208DC  7C 08 03 A6 */	mtlr r0
/* 80024C80 000208E0  38 21 00 10 */	addi r1, r1, 0x10
/* 80024C84 000208E4  4E 80 00 20 */	blr

.global func_80024C88
func_80024C88:
/* 80024C88 000208E8  80 0D 96 C0 */	lwz r0, lbl_8063E980-_SDA_BASE_(r13)
/* 80024C8C 000208EC  7C 66 1B 78 */	mr r6, r3
/* 80024C90 000208F0  7C 85 23 78 */	mr r5, r4
/* 80024C94 000208F4  2C 00 00 02 */	cmpwi r0, 2
/* 80024C98 000208F8  41 82 00 40 */	beq lbl_80024CD8
/* 80024C9C 000208FC  40 80 00 14 */	bge lbl_80024CB0
/* 80024CA0 00020900  2C 00 00 00 */	cmpwi r0, 0
/* 80024CA4 00020904  41 82 00 1C */	beq lbl_80024CC0
/* 80024CA8 00020908  40 80 00 24 */	bge lbl_80024CCC
/* 80024CAC 0002090C  48 00 00 50 */	b lbl_80024CFC
lbl_80024CB0:
/* 80024CB0 00020910  2C 00 00 04 */	cmpwi r0, 4
/* 80024CB4 00020914  41 82 00 3C */	beq lbl_80024CF0
/* 80024CB8 00020918  40 80 00 44 */	bge lbl_80024CFC
/* 80024CBC 0002091C  48 00 00 28 */	b lbl_80024CE4
lbl_80024CC0:
/* 80024CC0 00020920  80 6D 96 CC */	lwz r3, lbl_8063E98C-_SDA_BASE_(r13)
/* 80024CC4 00020924  7C C4 33 78 */	mr r4, r6
/* 80024CC8 00020928  48 36 F3 58 */	b func_80394020
lbl_80024CCC:
/* 80024CCC 0002092C  80 6D 96 D0 */	lwz r3, lbl_8063E990-_SDA_BASE_(r13)
/* 80024CD0 00020930  7C C4 33 78 */	mr r4, r6
/* 80024CD4 00020934  48 36 F5 D0 */	b func_803942A4
lbl_80024CD8:
/* 80024CD8 00020938  80 6D 96 D4 */	lwz r3, lbl_8063E994-_SDA_BASE_(r13)
/* 80024CDC 0002093C  7C C4 33 78 */	mr r4, r6
/* 80024CE0 00020940  48 36 F8 48 */	b func_80394528
lbl_80024CE4:
/* 80024CE4 00020944  80 6D 96 D8 */	lwz r3, lbl_8063E998-_SDA_BASE_(r13)
/* 80024CE8 00020948  7C C4 33 78 */	mr r4, r6
/* 80024CEC 0002094C  48 36 FA C0 */	b func_803947AC
lbl_80024CF0:
/* 80024CF0 00020950  80 6D 96 DC */	lwz r3, lbl_8063E99C-_SDA_BASE_(r13)
/* 80024CF4 00020954  7C C4 33 78 */	mr r4, r6
/* 80024CF8 00020958  48 36 FD 38 */	b func_80394A30
lbl_80024CFC:
/* 80024CFC 0002095C  38 60 00 00 */	li r3, 0
/* 80024D00 00020960  4E 80 00 20 */	blr

.global func_80024D04
func_80024D04:
/* 80024D04 00020964  80 0D 96 C0 */	lwz r0, lbl_8063E980-_SDA_BASE_(r13)
/* 80024D08 00020968  7C 66 1B 78 */	mr r6, r3
/* 80024D0C 0002096C  7C 85 23 78 */	mr r5, r4
/* 80024D10 00020970  2C 00 00 02 */	cmpwi r0, 2
/* 80024D14 00020974  41 82 00 40 */	beq lbl_80024D54
/* 80024D18 00020978  40 80 00 14 */	bge lbl_80024D2C
/* 80024D1C 0002097C  2C 00 00 00 */	cmpwi r0, 0
/* 80024D20 00020980  41 82 00 1C */	beq lbl_80024D3C
/* 80024D24 00020984  40 80 00 24 */	bge lbl_80024D48
/* 80024D28 00020988  48 00 00 50 */	b lbl_80024D78
lbl_80024D2C:
/* 80024D2C 0002098C  2C 00 00 04 */	cmpwi r0, 4
/* 80024D30 00020990  41 82 00 3C */	beq lbl_80024D6C
/* 80024D34 00020994  40 80 00 44 */	bge lbl_80024D78
/* 80024D38 00020998  48 00 00 28 */	b lbl_80024D60
lbl_80024D3C:
/* 80024D3C 0002099C  80 6D 96 CC */	lwz r3, lbl_8063E98C-_SDA_BASE_(r13)
/* 80024D40 000209A0  7C C4 33 78 */	mr r4, r6
/* 80024D44 000209A4  48 36 F3 30 */	b func_80394074
lbl_80024D48:
/* 80024D48 000209A8  80 6D 96 D0 */	lwz r3, lbl_8063E990-_SDA_BASE_(r13)
/* 80024D4C 000209AC  7C C4 33 78 */	mr r4, r6
/* 80024D50 000209B0  48 36 F5 A8 */	b func_803942F8
lbl_80024D54:
/* 80024D54 000209B4  80 6D 96 D4 */	lwz r3, lbl_8063E994-_SDA_BASE_(r13)
/* 80024D58 000209B8  7C C4 33 78 */	mr r4, r6
/* 80024D5C 000209BC  48 36 F8 20 */	b func_8039457C
lbl_80024D60:
/* 80024D60 000209C0  80 6D 96 D8 */	lwz r3, lbl_8063E998-_SDA_BASE_(r13)
/* 80024D64 000209C4  7C C4 33 78 */	mr r4, r6
/* 80024D68 000209C8  48 36 FA 98 */	b func_80394800
lbl_80024D6C:
/* 80024D6C 000209CC  80 6D 96 DC */	lwz r3, lbl_8063E99C-_SDA_BASE_(r13)
/* 80024D70 000209D0  7C C4 33 78 */	mr r4, r6
/* 80024D74 000209D4  48 36 FD 10 */	b func_80394A84
lbl_80024D78:
/* 80024D78 000209D8  38 60 00 00 */	li r3, 0
/* 80024D7C 000209DC  4E 80 00 20 */	blr

.global func_80024D80
func_80024D80:
/* 80024D80 000209E0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80024D84 000209E4  7C 08 02 A6 */	mflr r0
/* 80024D88 000209E8  38 60 00 04 */	li r3, 4
/* 80024D8C 000209EC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80024D90 000209F0  48 1B 5C A1 */	bl __nw__FUl
/* 80024D94 000209F4  2C 03 00 00 */	cmpwi r3, 0
/* 80024D98 000209F8  41 82 00 10 */	beq lbl_80024DA8
/* 80024D9C 000209FC  3C 80 80 47 */	lis r4, lbl_8046FA40@ha
/* 80024DA0 00020A00  38 84 FA 40 */	addi r4, r4, lbl_8046FA40@l
/* 80024DA4 00020A04  48 36 FD 39 */	bl func_80394ADC
lbl_80024DA8:
/* 80024DA8 00020A08  90 6D 96 E0 */	stw r3, lbl_8063E9A0-_SDA_BASE_(r13)
/* 80024DAC 00020A0C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80024DB0 00020A10  7C 08 03 A6 */	mtlr r0
/* 80024DB4 00020A14  38 21 00 10 */	addi r1, r1, 0x10
/* 80024DB8 00020A18  4E 80 00 20 */	blr

.global func_80024DBC
func_80024DBC:
/* 80024DBC 00020A1C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80024DC0 00020A20  7C 08 02 A6 */	mflr r0
/* 80024DC4 00020A24  38 60 0A A0 */	li r3, 0xaa0
/* 80024DC8 00020A28  90 01 00 14 */	stw r0, 0x14(r1)
/* 80024DCC 00020A2C  48 1B 5C 65 */	bl __nw__FUl
/* 80024DD0 00020A30  2C 03 00 00 */	cmpwi r3, 0
/* 80024DD4 00020A34  41 82 00 08 */	beq lbl_80024DDC
/* 80024DD8 00020A38  48 00 05 B9 */	bl func_80025390
lbl_80024DDC:
/* 80024DDC 00020A3C  2C 03 00 00 */	cmpwi r3, 0
/* 80024DE0 00020A40  41 82 00 10 */	beq lbl_80024DF0
/* 80024DE4 00020A44  38 00 00 01 */	li r0, 1
/* 80024DE8 00020A48  98 03 09 3C */	stb r0, 0x93c(r3)
/* 80024DEC 00020A4C  48 00 00 08 */	b lbl_80024DF4
lbl_80024DF0:
/* 80024DF0 00020A50  38 60 00 00 */	li r3, 0
lbl_80024DF4:
/* 80024DF4 00020A54  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80024DF8 00020A58  7C 08 03 A6 */	mtlr r0
/* 80024DFC 00020A5C  38 21 00 10 */	addi r1, r1, 0x10
/* 80024E00 00020A60  4E 80 00 20 */	blr
lbl_80024E04:
/* 80024E04 00020A64  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80024E08 00020A68  7C 08 02 A6 */	mflr r0
/* 80024E0C 00020A6C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80024E10 00020A70  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80024E14 00020A74  83 ED 96 F0 */	lwz r31, lbl_8063E9B0-_SDA_BASE_(r13)
/* 80024E18 00020A78  2C 1F 00 00 */	cmpwi r31, 0
/* 80024E1C 00020A7C  41 82 00 10 */	beq lbl_80024E2C
/* 80024E20 00020A80  4B FE 25 7D */	bl func_8000739C
/* 80024E24 00020A84  7F E3 FB 78 */	mr r3, r31
/* 80024E28 00020A88  48 00 01 99 */	bl func_80024FC0
lbl_80024E2C:
/* 80024E2C 00020A8C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80024E30 00020A90  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80024E34 00020A94  7C 08 03 A6 */	mtlr r0
/* 80024E38 00020A98  38 21 00 10 */	addi r1, r1, 0x10
/* 80024E3C 00020A9C  4E 80 00 20 */	blr
lbl_80024E40:
/* 80024E40 00020AA0  80 6D 96 F0 */	lwz r3, lbl_8063E9B0-_SDA_BASE_(r13)
/* 80024E44 00020AA4  2C 03 00 00 */	cmpwi r3, 0
/* 80024E48 00020AA8  4D 82 00 20 */	beqlr
/* 80024E4C 00020AAC  48 00 01 D8 */	b lbl_80025024
/* 80024E50 00020AB0  4E 80 00 20 */	blr

.global func_80024E54
func_80024E54:
/* 80024E54 00020AB4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80024E58 00020AB8  7C 08 02 A6 */	mflr r0
/* 80024E5C 00020ABC  3C 80 80 02 */	lis r4, lbl_80024E04@ha
/* 80024E60 00020AC0  3C A0 80 02 */	lis r5, lbl_80024E40@ha
/* 80024E64 00020AC4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80024E68 00020AC8  38 84 4E 04 */	addi r4, r4, lbl_80024E04@l
/* 80024E6C 00020ACC  38 A5 4E 40 */	addi r5, r5, lbl_80024E40@l
/* 80024E70 00020AD0  38 C0 00 03 */	li r6, 3
/* 80024E74 00020AD4  80 6D A4 B8 */	lwz r3, lbl_8063F778-_SDA_BASE_(r13)
/* 80024E78 00020AD8  38 E0 00 0C */	li r7, 0xc
/* 80024E7C 00020ADC  48 21 9C DD */	bl func_8023EB58
/* 80024E80 00020AE0  38 60 04 48 */	li r3, 0x448
/* 80024E84 00020AE4  48 1B 5B AD */	bl __nw__FUl
/* 80024E88 00020AE8  2C 03 00 00 */	cmpwi r3, 0
/* 80024E8C 00020AEC  41 82 00 08 */	beq lbl_80024E94
/* 80024E90 00020AF0  48 00 00 19 */	bl func_80024EA8
lbl_80024E94:
/* 80024E94 00020AF4  90 6D 96 F0 */	stw r3, lbl_8063E9B0-_SDA_BASE_(r13)
/* 80024E98 00020AF8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80024E9C 00020AFC  7C 08 03 A6 */	mtlr r0
/* 80024EA0 00020B00  38 21 00 10 */	addi r1, r1, 0x10
/* 80024EA4 00020B04  4E 80 00 20 */	blr

.global func_80024EA8
func_80024EA8:
/* 80024EA8 00020B08  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80024EAC 00020B0C  7C 08 02 A6 */	mflr r0
/* 80024EB0 00020B10  90 01 00 14 */	stw r0, 0x14(r1)
/* 80024EB4 00020B14  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80024EB8 00020B18  7C 7F 1B 78 */	mr r31, r3
/* 80024EBC 00020B1C  38 60 0A A0 */	li r3, 0xaa0
/* 80024EC0 00020B20  48 1B 5B 71 */	bl __nw__FUl
/* 80024EC4 00020B24  2C 03 00 00 */	cmpwi r3, 0
/* 80024EC8 00020B28  7C 64 1B 78 */	mr r4, r3
/* 80024ECC 00020B2C  41 82 00 0C */	beq lbl_80024ED8
/* 80024ED0 00020B30  48 00 04 C1 */	bl func_80025390
/* 80024ED4 00020B34  7C 64 1B 78 */	mr r4, r3
lbl_80024ED8:
/* 80024ED8 00020B38  90 9F 00 00 */	stw r4, 0(r31)
/* 80024EDC 00020B3C  38 00 00 01 */	li r0, 1
/* 80024EE0 00020B40  38 60 0A A0 */	li r3, 0xaa0
/* 80024EE4 00020B44  98 04 09 3C */	stb r0, 0x93c(r4)
/* 80024EE8 00020B48  48 1B 5B 49 */	bl __nw__FUl
/* 80024EEC 00020B4C  2C 03 00 00 */	cmpwi r3, 0
/* 80024EF0 00020B50  41 82 00 08 */	beq lbl_80024EF8
/* 80024EF4 00020B54  48 00 04 9D */	bl func_80025390
lbl_80024EF8:
/* 80024EF8 00020B58  90 7F 00 04 */	stw r3, 4(r31)
/* 80024EFC 00020B5C  38 00 00 01 */	li r0, 1
/* 80024F00 00020B60  38 A0 00 00 */	li r5, 0
/* 80024F04 00020B64  38 80 00 0C */	li r4, 0xc
/* 80024F08 00020B68  98 03 09 3C */	stb r0, 0x93c(r3)
/* 80024F0C 00020B6C  38 00 00 FF */	li r0, 0xff
/* 80024F10 00020B70  7F E3 FB 78 */	mr r3, r31
/* 80024F14 00020B74  98 BF 00 08 */	stb r5, 8(r31)
/* 80024F18 00020B78  90 BF 00 0C */	stw r5, 0xc(r31)
/* 80024F1C 00020B7C  98 BF 00 10 */	stb r5, 0x10(r31)
/* 80024F20 00020B80  B0 9F 00 16 */	sth r4, 0x16(r31)
/* 80024F24 00020B84  B0 9F 00 18 */	sth r4, 0x18(r31)
/* 80024F28 00020B88  B0 BF 00 12 */	sth r5, 0x12(r31)
/* 80024F2C 00020B8C  B0 BF 00 14 */	sth r5, 0x14(r31)
/* 80024F30 00020B90  98 1F 00 1A */	stb r0, 0x1a(r31)
/* 80024F34 00020B94  98 1F 00 1B */	stb r0, 0x1b(r31)
/* 80024F38 00020B98  98 1F 00 1C */	stb r0, 0x1c(r31)
/* 80024F3C 00020B9C  98 1F 00 1D */	stb r0, 0x1d(r31)
/* 80024F40 00020BA0  98 BF 01 1E */	stb r5, 0x11e(r31)
/* 80024F44 00020BA4  B0 9F 01 24 */	sth r4, 0x124(r31)
/* 80024F48 00020BA8  B0 9F 01 26 */	sth r4, 0x126(r31)
/* 80024F4C 00020BAC  B0 BF 01 20 */	sth r5, 0x120(r31)
/* 80024F50 00020BB0  B0 BF 01 22 */	sth r5, 0x122(r31)
/* 80024F54 00020BB4  98 1F 01 28 */	stb r0, 0x128(r31)
/* 80024F58 00020BB8  98 1F 01 29 */	stb r0, 0x129(r31)
/* 80024F5C 00020BBC  98 1F 01 2A */	stb r0, 0x12a(r31)
/* 80024F60 00020BC0  98 1F 01 2B */	stb r0, 0x12b(r31)
/* 80024F64 00020BC4  98 BF 02 2C */	stb r5, 0x22c(r31)
/* 80024F68 00020BC8  B0 9F 02 32 */	sth r4, 0x232(r31)
/* 80024F6C 00020BCC  B0 9F 02 34 */	sth r4, 0x234(r31)
/* 80024F70 00020BD0  B0 BF 02 2E */	sth r5, 0x22e(r31)
/* 80024F74 00020BD4  B0 BF 02 30 */	sth r5, 0x230(r31)
/* 80024F78 00020BD8  98 1F 02 36 */	stb r0, 0x236(r31)
/* 80024F7C 00020BDC  98 1F 02 37 */	stb r0, 0x237(r31)
/* 80024F80 00020BE0  98 1F 02 38 */	stb r0, 0x238(r31)
/* 80024F84 00020BE4  98 1F 02 39 */	stb r0, 0x239(r31)
/* 80024F88 00020BE8  98 BF 03 3A */	stb r5, 0x33a(r31)
/* 80024F8C 00020BEC  B0 9F 03 40 */	sth r4, 0x340(r31)
/* 80024F90 00020BF0  B0 9F 03 42 */	sth r4, 0x342(r31)
/* 80024F94 00020BF4  B0 BF 03 3C */	sth r5, 0x33c(r31)
/* 80024F98 00020BF8  B0 BF 03 3E */	sth r5, 0x33e(r31)
/* 80024F9C 00020BFC  98 1F 03 44 */	stb r0, 0x344(r31)
/* 80024FA0 00020C00  98 1F 03 45 */	stb r0, 0x345(r31)
/* 80024FA4 00020C04  98 1F 03 46 */	stb r0, 0x346(r31)
/* 80024FA8 00020C08  98 1F 03 47 */	stb r0, 0x347(r31)
/* 80024FAC 00020C0C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80024FB0 00020C10  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80024FB4 00020C14  7C 08 03 A6 */	mtlr r0
/* 80024FB8 00020C18  38 21 00 10 */	addi r1, r1, 0x10
/* 80024FBC 00020C1C  4E 80 00 20 */	blr

.global func_80024FC0
func_80024FC0:
/* 80024FC0 00020C20  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80024FC4 00020C24  7C 08 02 A6 */	mflr r0
/* 80024FC8 00020C28  90 01 00 24 */	stw r0, 0x24(r1)
/* 80024FCC 00020C2C  DB E1 00 18 */	stfd f31, 0x18(r1)
/* 80024FD0 00020C30  FF E0 08 90 */	fmr f31, f1
/* 80024FD4 00020C34  93 E1 00 14 */	stw r31, 0x14(r1)
/* 80024FD8 00020C38  7C 7F 1B 78 */	mr r31, r3
/* 80024FDC 00020C3C  80 03 00 00 */	lwz r0, 0(r3)
/* 80024FE0 00020C40  2C 00 00 00 */	cmpwi r0, 0
/* 80024FE4 00020C44  41 82 00 0C */	beq lbl_80024FF0
/* 80024FE8 00020C48  7C 03 03 78 */	mr r3, r0
/* 80024FEC 00020C4C  48 20 5B BD */	bl func_8022ABA8
lbl_80024FF0:
/* 80024FF0 00020C50  80 7F 00 04 */	lwz r3, 4(r31)
/* 80024FF4 00020C54  2C 03 00 00 */	cmpwi r3, 0
/* 80024FF8 00020C58  41 82 00 0C */	beq lbl_80025004
/* 80024FFC 00020C5C  FC 20 F8 90 */	fmr f1, f31
/* 80025000 00020C60  48 20 5B A9 */	bl func_8022ABA8
lbl_80025004:
/* 80025004 00020C64  FC 20 F8 90 */	fmr f1, f31
/* 80025008 00020C68  48 00 B0 69 */	bl func_80030070
/* 8002500C 00020C6C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80025010 00020C70  CB E1 00 18 */	lfd f31, 0x18(r1)
/* 80025014 00020C74  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 80025018 00020C78  7C 08 03 A6 */	mtlr r0
/* 8002501C 00020C7C  38 21 00 20 */	addi r1, r1, 0x20
/* 80025020 00020C80  4E 80 00 20 */	blr
lbl_80025024:
/* 80025024 00020C84  80 83 00 00 */	lwz r4, 0(r3)
/* 80025028 00020C88  2C 04 00 00 */	cmpwi r4, 0
/* 8002502C 00020C8C  4D 82 00 20 */	beqlr
/* 80025030 00020C90  88 03 00 08 */	lbz r0, 8(r3)
/* 80025034 00020C94  2C 00 00 00 */	cmpwi r0, 0
/* 80025038 00020C98  4D 82 00 20 */	beqlr
/* 8002503C 00020C9C  7C 83 23 78 */	mr r3, r4
/* 80025040 00020CA0  48 20 86 80 */	b func_8022D6C0
/* 80025044 00020CA4  4E 80 00 20 */	blr

.global func_80025048
func_80025048:
/* 80025048 00020CA8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8002504C 00020CAC  7C 08 02 A6 */	mflr r0
/* 80025050 00020CB0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80025054 00020CB4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80025058 00020CB8  7C DF 33 78 */	mr r31, r6
/* 8002505C 00020CBC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80025060 00020CC0  7C BE 2B 78 */	mr r30, r5
/* 80025064 00020CC4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80025068 00020CC8  7C 9D 23 78 */	mr r29, r4
/* 8002506C 00020CCC  7F E4 FB 78 */	mr r4, r31
/* 80025070 00020CD0  93 81 00 10 */	stw r28, 0x10(r1)
/* 80025074 00020CD4  7C 7C 1B 78 */	mr r28, r3
/* 80025078 00020CD8  7F C3 F3 78 */	mr r3, r30
/* 8002507C 00020CDC  48 1B 64 41 */	bl func_801DB4BC
/* 80025080 00020CE0  2C 03 00 00 */	cmpwi r3, 0
/* 80025084 00020CE4  41 82 00 18 */	beq lbl_8002509C
/* 80025088 00020CE8  38 8D 80 80 */	addi r4, r13, lbl_8063D340-_SDA_BASE_
/* 8002508C 00020CEC  38 A0 00 04 */	li r5, 4
/* 80025090 00020CF0  48 1A 53 09 */	bl memcmp
/* 80025094 00020CF4  2C 03 00 00 */	cmpwi r3, 0
/* 80025098 00020CF8  40 82 00 30 */	bne lbl_800250C8
lbl_8002509C:
/* 8002509C 00020CFC  2C 1D 00 00 */	cmpwi r29, 0
/* 800250A0 00020D00  40 82 00 18 */	bne lbl_800250B8
/* 800250A4 00020D04  80 7C 00 04 */	lwz r3, 4(r28)
/* 800250A8 00020D08  7F C4 F3 78 */	mr r4, r30
/* 800250AC 00020D0C  7F E5 FB 78 */	mr r5, r31
/* 800250B0 00020D10  48 00 04 3D */	bl func_800254EC
/* 800250B4 00020D14  48 00 00 14 */	b lbl_800250C8
lbl_800250B8:
/* 800250B8 00020D18  80 7C 00 00 */	lwz r3, 0(r28)
/* 800250BC 00020D1C  7F C4 F3 78 */	mr r4, r30
/* 800250C0 00020D20  7F E5 FB 78 */	mr r5, r31
/* 800250C4 00020D24  48 00 04 29 */	bl func_800254EC
lbl_800250C8:
/* 800250C8 00020D28  80 01 00 24 */	lwz r0, 0x24(r1)
/* 800250CC 00020D2C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 800250D0 00020D30  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 800250D4 00020D34  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 800250D8 00020D38  83 81 00 10 */	lwz r28, 0x10(r1)
/* 800250DC 00020D3C  7C 08 03 A6 */	mtlr r0
/* 800250E0 00020D40  38 21 00 20 */	addi r1, r1, 0x20
/* 800250E4 00020D44  4E 80 00 20 */	blr

.global func_800250E8
func_800250E8:
/* 800250E8 00020D48  2C 04 00 00 */	cmpwi r4, 0
/* 800250EC 00020D4C  40 82 00 0C */	bne lbl_800250F8
/* 800250F0 00020D50  80 63 00 04 */	lwz r3, 4(r3)
/* 800250F4 00020D54  4E 80 00 20 */	blr
lbl_800250F8:
/* 800250F8 00020D58  2C 04 00 02 */	cmpwi r4, 2
/* 800250FC 00020D5C  40 82 00 0C */	bne lbl_80025108
/* 80025100 00020D60  80 63 00 00 */	lwz r3, 0(r3)
/* 80025104 00020D64  4E 80 00 20 */	blr
lbl_80025108:
/* 80025108 00020D68  2C 04 00 01 */	cmpwi r4, 1
/* 8002510C 00020D6C  40 82 00 0C */	bne lbl_80025118
/* 80025110 00020D70  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 80025114 00020D74  48 20 17 FC */	b func_80226910
lbl_80025118:
/* 80025118 00020D78  38 60 00 00 */	li r3, 0
/* 8002511C 00020D7C  4E 80 00 20 */	blr

.global func_80025120
func_80025120:
/* 80025120 00020D80  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80025124 00020D84  7C 08 02 A6 */	mflr r0
/* 80025128 00020D88  2C 04 00 00 */	cmpwi r4, 0
/* 8002512C 00020D8C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80025130 00020D90  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80025134 00020D94  7C 7F 1B 78 */	mr r31, r3
/* 80025138 00020D98  40 82 00 10 */	bne lbl_80025148
/* 8002513C 00020D9C  80 63 00 04 */	lwz r3, 4(r3)
/* 80025140 00020DA0  48 20 4E 05 */	bl func_80229F44
/* 80025144 00020DA4  48 00 00 20 */	b lbl_80025164
lbl_80025148:
/* 80025148 00020DA8  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 8002514C 00020DAC  48 20 17 1D */	bl func_80226868
/* 80025150 00020DB0  7C 64 1B 78 */	mr r4, r3
/* 80025154 00020DB4  80 7F 00 00 */	lwz r3, 0(r31)
/* 80025158 00020DB8  48 20 58 55 */	bl func_8022A9AC
/* 8002515C 00020DBC  80 7F 00 00 */	lwz r3, 0(r31)
/* 80025160 00020DC0  48 20 4D E5 */	bl func_80229F44
lbl_80025164:
/* 80025164 00020DC4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80025168 00020DC8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8002516C 00020DCC  7C 08 03 A6 */	mtlr r0
/* 80025170 00020DD0  38 21 00 10 */	addi r1, r1, 0x10
/* 80025174 00020DD4  4E 80 00 20 */	blr

.global func_80025178
func_80025178:
/* 80025178 00020DD8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8002517C 00020DDC  7C 08 02 A6 */	mflr r0
/* 80025180 00020DE0  90 01 00 34 */	stw r0, 0x34(r1)
/* 80025184 00020DE4  38 00 00 01 */	li r0, 1
/* 80025188 00020DE8  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8002518C 00020DEC  3B E0 00 00 */	li r31, 0
/* 80025190 00020DF0  93 C1 00 28 */	stw r30, 0x28(r1)
/* 80025194 00020DF4  7C BE 2B 78 */	mr r30, r5
/* 80025198 00020DF8  90 C1 00 0C */	stw r6, 0xc(r1)
/* 8002519C 00020DFC  B0 01 00 08 */	sth r0, 8(r1)
/* 800251A0 00020E00  B0 01 00 10 */	sth r0, 0x10(r1)
/* 800251A4 00020E04  90 E1 00 14 */	stw r7, 0x14(r1)
/* 800251A8 00020E08  B0 01 00 18 */	sth r0, 0x18(r1)
/* 800251AC 00020E0C  91 01 00 1C */	stw r8, 0x1c(r1)
/* 800251B0 00020E10  B0 01 00 20 */	sth r0, 0x20(r1)
/* 800251B4 00020E14  91 21 00 24 */	stw r9, 0x24(r1)
/* 800251B8 00020E18  4B FF FF 31 */	bl func_800250E8
/* 800251BC 00020E1C  2C 03 00 00 */	cmpwi r3, 0
/* 800251C0 00020E20  41 82 00 1C */	beq lbl_800251DC
/* 800251C4 00020E24  7F C4 F3 78 */	mr r4, r30
/* 800251C8 00020E28  38 A1 00 08 */	addi r5, r1, 8
/* 800251CC 00020E2C  38 C0 00 04 */	li r6, 4
/* 800251D0 00020E30  38 E0 00 01 */	li r7, 1
/* 800251D4 00020E34  48 20 50 E1 */	bl func_8022A2B4
/* 800251D8 00020E38  7C 7F 1B 78 */	mr r31, r3
lbl_800251DC:
/* 800251DC 00020E3C  7F E3 FB 78 */	mr r3, r31
/* 800251E0 00020E40  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 800251E4 00020E44  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 800251E8 00020E48  80 01 00 34 */	lwz r0, 0x34(r1)
/* 800251EC 00020E4C  7C 08 03 A6 */	mtlr r0
/* 800251F0 00020E50  38 21 00 30 */	addi r1, r1, 0x30
/* 800251F4 00020E54  4E 80 00 20 */	blr

.global func_800251F8
func_800251F8:
/* 800251F8 00020E58  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 800251FC 00020E5C  7C 08 02 A6 */	mflr r0
/* 80025200 00020E60  90 01 00 34 */	stw r0, 0x34(r1)
/* 80025204 00020E64  38 00 00 01 */	li r0, 1
/* 80025208 00020E68  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8002520C 00020E6C  3B E0 00 00 */	li r31, 0
/* 80025210 00020E70  93 C1 00 28 */	stw r30, 0x28(r1)
/* 80025214 00020E74  7C BE 2B 78 */	mr r30, r5
/* 80025218 00020E78  90 C1 00 0C */	stw r6, 0xc(r1)
/* 8002521C 00020E7C  B0 01 00 08 */	sth r0, 8(r1)
/* 80025220 00020E80  B0 01 00 10 */	sth r0, 0x10(r1)
/* 80025224 00020E84  90 E1 00 14 */	stw r7, 0x14(r1)
/* 80025228 00020E88  B0 01 00 18 */	sth r0, 0x18(r1)
/* 8002522C 00020E8C  91 01 00 1C */	stw r8, 0x1c(r1)
/* 80025230 00020E90  B0 01 00 20 */	sth r0, 0x20(r1)
/* 80025234 00020E94  91 21 00 24 */	stw r9, 0x24(r1)
/* 80025238 00020E98  4B FF FE B1 */	bl func_800250E8
/* 8002523C 00020E9C  2C 03 00 00 */	cmpwi r3, 0
/* 80025240 00020EA0  41 82 00 1C */	beq lbl_8002525C
/* 80025244 00020EA4  7F C4 F3 78 */	mr r4, r30
/* 80025248 00020EA8  38 A1 00 08 */	addi r5, r1, 8
/* 8002524C 00020EAC  38 C0 00 04 */	li r6, 4
/* 80025250 00020EB0  38 E0 00 00 */	li r7, 0
/* 80025254 00020EB4  48 20 50 61 */	bl func_8022A2B4
/* 80025258 00020EB8  7C 7F 1B 78 */	mr r31, r3
lbl_8002525C:
/* 8002525C 00020EBC  7F E3 FB 78 */	mr r3, r31
/* 80025260 00020EC0  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80025264 00020EC4  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80025268 00020EC8  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8002526C 00020ECC  7C 08 03 A6 */	mtlr r0
/* 80025270 00020ED0  38 21 00 30 */	addi r1, r1, 0x30
/* 80025274 00020ED4  4E 80 00 20 */	blr

.global func_80025278
func_80025278:
/* 80025278 00020ED8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8002527C 00020EDC  7C 08 02 A6 */	mflr r0
/* 80025280 00020EE0  90 01 00 34 */	stw r0, 0x34(r1)
/* 80025284 00020EE4  39 61 00 30 */	addi r11, r1, 0x30
/* 80025288 00020EE8  48 1A 1E 99 */	bl _savegpr_25
/* 8002528C 00020EEC  7C 79 1B 78 */	mr r25, r3
/* 80025290 00020EF0  7C 9A 23 78 */	mr r26, r4
/* 80025294 00020EF4  7C BB 2B 78 */	mr r27, r5
/* 80025298 00020EF8  7C DC 33 78 */	mr r28, r6
/* 8002529C 00020EFC  7C FD 3B 78 */	mr r29, r7
/* 800252A0 00020F00  7D 1E 43 78 */	mr r30, r8
/* 800252A4 00020F04  7D 3F 4B 78 */	mr r31, r9
/* 800252A8 00020F08  4B FF FE 41 */	bl func_800250E8
/* 800252AC 00020F0C  7F 64 DB 78 */	mr r4, r27
/* 800252B0 00020F10  48 20 7D 7D */	bl func_8022D02C
/* 800252B4 00020F14  7C 65 1B 78 */	mr r5, r3
/* 800252B8 00020F18  7F 23 CB 78 */	mr r3, r25
/* 800252BC 00020F1C  7F 44 D3 78 */	mr r4, r26
/* 800252C0 00020F20  7F 86 E3 78 */	mr r6, r28
/* 800252C4 00020F24  7F A7 EB 78 */	mr r7, r29
/* 800252C8 00020F28  7F C8 F3 78 */	mr r8, r30
/* 800252CC 00020F2C  7F E9 FB 78 */	mr r9, r31
/* 800252D0 00020F30  4B FF FF 29 */	bl func_800251F8
/* 800252D4 00020F34  39 61 00 30 */	addi r11, r1, 0x30
/* 800252D8 00020F38  48 1A 1E 95 */	bl _restgpr_25
/* 800252DC 00020F3C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 800252E0 00020F40  7C 08 03 A6 */	mtlr r0
/* 800252E4 00020F44  38 21 00 30 */	addi r1, r1, 0x30
/* 800252E8 00020F48  4E 80 00 20 */	blr

.global func_800252EC
func_800252EC:
/* 800252EC 00020F4C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 800252F0 00020F50  7C 08 02 A6 */	mflr r0
/* 800252F4 00020F54  90 01 00 34 */	stw r0, 0x34(r1)
/* 800252F8 00020F58  39 61 00 30 */	addi r11, r1, 0x30
/* 800252FC 00020F5C  48 1A 1E 25 */	bl _savegpr_25
/* 80025300 00020F60  7C 79 1B 78 */	mr r25, r3
/* 80025304 00020F64  7C 9A 23 78 */	mr r26, r4
/* 80025308 00020F68  7C BB 2B 78 */	mr r27, r5
/* 8002530C 00020F6C  7C DC 33 78 */	mr r28, r6
/* 80025310 00020F70  7C FD 3B 78 */	mr r29, r7
/* 80025314 00020F74  7D 1E 43 78 */	mr r30, r8
/* 80025318 00020F78  7D 3F 4B 78 */	mr r31, r9
/* 8002531C 00020F7C  4B FF FD CD */	bl func_800250E8
/* 80025320 00020F80  7F 64 DB 78 */	mr r4, r27
/* 80025324 00020F84  48 20 7D 09 */	bl func_8022D02C
/* 80025328 00020F88  7C 65 1B 78 */	mr r5, r3
/* 8002532C 00020F8C  7F 23 CB 78 */	mr r3, r25
/* 80025330 00020F90  7F 44 D3 78 */	mr r4, r26
/* 80025334 00020F94  7F 86 E3 78 */	mr r6, r28
/* 80025338 00020F98  7F A7 EB 78 */	mr r7, r29
/* 8002533C 00020F9C  7F C8 F3 78 */	mr r8, r30
/* 80025340 00020FA0  7F E9 FB 78 */	mr r9, r31
/* 80025344 00020FA4  4B FF FE 35 */	bl func_80025178
/* 80025348 00020FA8  39 61 00 30 */	addi r11, r1, 0x30
/* 8002534C 00020FAC  48 1A 1E 21 */	bl _restgpr_25
/* 80025350 00020FB0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80025354 00020FB4  7C 08 03 A6 */	mtlr r0
/* 80025358 00020FB8  38 21 00 30 */	addi r1, r1, 0x30
/* 8002535C 00020FBC  4E 80 00 20 */	blr

.global func_80025360
func_80025360:
/* 80025360 00020FC0  90 83 00 0C */	stw r4, 0xc(r3)
/* 80025364 00020FC4  4E 80 00 20 */	blr

.global func_80025368
func_80025368:
/* 80025368 00020FC8  80 63 00 0C */	lwz r3, 0xc(r3)
/* 8002536C 00020FCC  4E 80 00 20 */	blr

.global func_80025370
func_80025370:
/* 80025370 00020FD0  38 A0 00 01 */	li r5, 1
/* 80025374 00020FD4  38 6D 96 E8 */	addi r3, r13, lbl_8063E9A8-_SDA_BASE_
/* 80025378 00020FD8  38 80 00 04 */	li r4, 4
/* 8002537C 00020FDC  38 00 00 00 */	li r0, 0
/* 80025380 00020FE0  98 AD 96 E8 */	stb r5, lbl_8063E9A8-_SDA_BASE_(r13)
/* 80025384 00020FE4  B0 83 00 02 */	sth r4, 2(r3)
/* 80025388 00020FE8  98 03 00 04 */	stb r0, 4(r3)
/* 8002538C 00020FEC  4E 80 00 20 */	blr