summaryrefslogtreecommitdiff
path: root/asm/code_80035CB0.s
blob: 45c1d7456e48d42b61ac7d0cf4273d6e70abd290 (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
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
.include "macros.inc"

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

.global func_80035CB0
func_80035CB0:
/* 80035CB0 00031910  38 00 00 00 */	li r0, 0
/* 80035CB4 00031914  98 03 00 07 */	stb r0, 7(r3)
/* 80035CB8 00031918  B0 03 00 00 */	sth r0, 0(r3)
/* 80035CBC 0003191C  B0 03 00 02 */	sth r0, 2(r3)
/* 80035CC0 00031920  98 03 00 04 */	stb r0, 4(r3)
/* 80035CC4 00031924  98 03 00 05 */	stb r0, 5(r3)
/* 80035CC8 00031928  98 03 00 06 */	stb r0, 6(r3)
/* 80035CCC 0003192C  98 03 00 08 */	stb r0, 8(r3)
/* 80035CD0 00031930  90 03 00 0C */	stw r0, 0xc(r3)
/* 80035CD4 00031934  B0 03 00 12 */	sth r0, 0x12(r3)
/* 80035CD8 00031938  B0 03 00 0A */	sth r0, 0xa(r3)
/* 80035CDC 0003193C  4E 80 00 20 */	blr

.global func_80035CE0
func_80035CE0:
/* 80035CE0 00031940  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80035CE4 00031944  7C 08 02 A6 */	mflr r0
/* 80035CE8 00031948  90 01 00 24 */	stw r0, 0x24(r1)
/* 80035CEC 0003194C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80035CF0 00031950  3B E3 03 40 */	addi r31, r3, 0x340
/* 80035CF4 00031954  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80035CF8 00031958  3B C3 04 10 */	addi r30, r3, 0x410
/* 80035CFC 0003195C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80035D00 00031960  7C 7D 1B 78 */	mr r29, r3
lbl_80035D04:
/* 80035D04 00031964  7F E3 FB 78 */	mr r3, r31
/* 80035D08 00031968  4B FF FF A9 */	bl func_80035CB0
/* 80035D0C 0003196C  3B FF 00 34 */	addi r31, r31, 0x34
/* 80035D10 00031970  7C 1F F0 40 */	cmplw r31, r30
/* 80035D14 00031974  41 80 FF F0 */	blt lbl_80035D04
/* 80035D18 00031978  3B FD 04 E0 */	addi r31, r29, 0x4e0
lbl_80035D1C:
/* 80035D1C 0003197C  7F C3 F3 78 */	mr r3, r30
/* 80035D20 00031980  4B FF FF 91 */	bl func_80035CB0
/* 80035D24 00031984  3B DE 00 34 */	addi r30, r30, 0x34
/* 80035D28 00031988  7C 1E F8 40 */	cmplw r30, r31
/* 80035D2C 0003198C  41 80 FF F0 */	blt lbl_80035D1C
/* 80035D30 00031990  7F A3 EB 78 */	mr r3, r29
/* 80035D34 00031994  48 00 00 71 */	bl func_80035DA4
/* 80035D38 00031998  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80035D3C 0003199C  7F A3 EB 78 */	mr r3, r29
/* 80035D40 000319A0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80035D44 000319A4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80035D48 000319A8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80035D4C 000319AC  7C 08 03 A6 */	mtlr r0
/* 80035D50 000319B0  38 21 00 20 */	addi r1, r1, 0x20
/* 80035D54 000319B4  4E 80 00 20 */	blr

.global func_80035D58
func_80035D58:
/* 80035D58 000319B8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80035D5C 000319BC  7C 08 02 A6 */	mflr r0
/* 80035D60 000319C0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80035D64 000319C4  80 0D 97 A8 */	lwz r0, lbl_8063EA68-_SDA_BASE_(r13)
/* 80035D68 000319C8  2C 00 00 00 */	cmpwi r0, 0
/* 80035D6C 000319CC  40 82 00 1C */	bne lbl_80035D88
/* 80035D70 000319D0  38 60 09 74 */	li r3, 0x974
/* 80035D74 000319D4  48 1A 4C BD */	bl __nw__FUl
/* 80035D78 000319D8  2C 03 00 00 */	cmpwi r3, 0
/* 80035D7C 000319DC  41 82 00 08 */	beq lbl_80035D84
/* 80035D80 000319E0  4B FF FF 61 */	bl func_80035CE0
lbl_80035D84:
/* 80035D84 000319E4  90 6D 97 A8 */	stw r3, lbl_8063EA68-_SDA_BASE_(r13)
lbl_80035D88:
/* 80035D88 000319E8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80035D8C 000319EC  80 6D 97 A8 */	lwz r3, lbl_8063EA68-_SDA_BASE_(r13)
/* 80035D90 000319F0  7C 08 03 A6 */	mtlr r0
/* 80035D94 000319F4  38 21 00 10 */	addi r1, r1, 0x10
/* 80035D98 000319F8  4E 80 00 20 */	blr

.global func_80035D9C
func_80035D9C:
/* 80035D9C 000319FC  80 6D 97 A8 */	lwz r3, lbl_8063EA68-_SDA_BASE_(r13)
/* 80035DA0 00031A00  4E 80 00 20 */	blr

.global func_80035DA4
func_80035DA4:
/* 80035DA4 00031A04  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80035DA8 00031A08  7C 08 02 A6 */	mflr r0
/* 80035DAC 00031A0C  38 C0 00 00 */	li r6, 0
/* 80035DB0 00031A10  38 80 00 00 */	li r4, 0
/* 80035DB4 00031A14  90 01 00 14 */	stw r0, 0x14(r1)
/* 80035DB8 00031A18  38 00 FF FF */	li r0, -1
/* 80035DBC 00031A1C  38 A0 01 0C */	li r5, 0x10c
/* 80035DC0 00031A20  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80035DC4 00031A24  7C 7F 1B 78 */	mr r31, r3
/* 80035DC8 00031A28  90 C3 00 00 */	stw r6, 0(r3)
/* 80035DCC 00031A2C  90 03 00 04 */	stw r0, 4(r3)
/* 80035DD0 00031A30  90 03 00 08 */	stw r0, 8(r3)
/* 80035DD4 00031A34  90 C3 00 0C */	stw r6, 0xc(r3)
/* 80035DD8 00031A38  90 C3 00 10 */	stw r6, 0x10(r3)
/* 80035DDC 00031A3C  90 C3 00 14 */	stw r6, 0x14(r3)
/* 80035DE0 00031A40  98 C3 03 30 */	stb r6, 0x330(r3)
/* 80035DE4 00031A44  90 C3 00 2C */	stw r6, 0x2c(r3)
/* 80035DE8 00031A48  90 C3 03 34 */	stw r6, 0x334(r3)
/* 80035DEC 00031A4C  38 63 08 60 */	addi r3, r3, 0x860
/* 80035DF0 00031A50  4B FC E3 15 */	bl memset
/* 80035DF4 00031A54  38 7F 04 E0 */	addi r3, r31, 0x4e0
/* 80035DF8 00031A58  38 80 00 00 */	li r4, 0
/* 80035DFC 00031A5C  38 A0 03 80 */	li r5, 0x380
/* 80035E00 00031A60  4B FC E3 05 */	bl memset
/* 80035E04 00031A64  38 7F 03 40 */	addi r3, r31, 0x340
/* 80035E08 00031A68  38 80 00 00 */	li r4, 0
/* 80035E0C 00031A6C  38 A0 00 D0 */	li r5, 0xd0
/* 80035E10 00031A70  4B FC E2 F5 */	bl memset
/* 80035E14 00031A74  38 7F 08 60 */	addi r3, r31, 0x860
/* 80035E18 00031A78  38 1F 04 E0 */	addi r0, r31, 0x4e0
/* 80035E1C 00031A7C  90 7F 09 70 */	stw r3, 0x970(r31)
/* 80035E20 00031A80  90 1F 09 6C */	stw r0, 0x96c(r31)
/* 80035E24 00031A84  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80035E28 00031A88  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80035E2C 00031A8C  7C 08 03 A6 */	mtlr r0
/* 80035E30 00031A90  38 21 00 10 */	addi r1, r1, 0x10
/* 80035E34 00031A94  4E 80 00 20 */	blr

.global func_80035E38
func_80035E38:
/* 80035E38 00031A98  80 63 00 00 */	lwz r3, 0(r3)
/* 80035E3C 00031A9C  4E 80 00 20 */	blr

.global func_80035E40
func_80035E40:
/* 80035E40 00031AA0  90 83 00 00 */	stw r4, 0(r3)
/* 80035E44 00031AA4  4E 80 00 20 */	blr

.global func_80035E48
func_80035E48:
/* 80035E48 00031AA8  80 63 00 04 */	lwz r3, 4(r3)
/* 80035E4C 00031AAC  4E 80 00 20 */	blr

.global func_80035E50
func_80035E50:
/* 80035E50 00031AB0  90 83 00 04 */	stw r4, 4(r3)
/* 80035E54 00031AB4  4E 80 00 20 */	blr

.global func_80035E58
func_80035E58:
/* 80035E58 00031AB8  80 63 00 08 */	lwz r3, 8(r3)
/* 80035E5C 00031ABC  4E 80 00 20 */	blr

.global func_80035E60
func_80035E60:
/* 80035E60 00031AC0  90 83 00 08 */	stw r4, 8(r3)
/* 80035E64 00031AC4  4E 80 00 20 */	blr

.global func_80035E68
func_80035E68:
/* 80035E68 00031AC8  80 63 00 0C */	lwz r3, 0xc(r3)
/* 80035E6C 00031ACC  4E 80 00 20 */	blr

.global func_80035E70
func_80035E70:
/* 80035E70 00031AD0  90 83 00 0C */	stw r4, 0xc(r3)
/* 80035E74 00031AD4  4E 80 00 20 */	blr

.global func_80035E78
func_80035E78:
/* 80035E78 00031AD8  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80035E7C 00031ADC  4E 80 00 20 */	blr

.global func_80035E80
func_80035E80:
/* 80035E80 00031AE0  90 83 00 10 */	stw r4, 0x10(r3)
/* 80035E84 00031AE4  4E 80 00 20 */	blr

.global func_80035E88
func_80035E88:
/* 80035E88 00031AE8  80 63 00 14 */	lwz r3, 0x14(r3)
/* 80035E8C 00031AEC  4E 80 00 20 */	blr

.global func_80035E90
func_80035E90:
/* 80035E90 00031AF0  90 83 00 14 */	stw r4, 0x14(r3)
/* 80035E94 00031AF4  4E 80 00 20 */	blr

.global func_80035E98
func_80035E98:
/* 80035E98 00031AF8  90 83 00 2C */	stw r4, 0x2c(r3)
/* 80035E9C 00031AFC  4E 80 00 20 */	blr

.global func_80035EA0
func_80035EA0:
/* 80035EA0 00031B00  80 63 00 2C */	lwz r3, 0x2c(r3)
/* 80035EA4 00031B04  4E 80 00 20 */	blr

.global func_80035EA8
func_80035EA8:
/* 80035EA8 00031B08  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035EAC 00031B0C  A0 63 00 02 */	lhz r3, 2(r3)
/* 80035EB0 00031B10  4E 80 00 20 */	blr

.global func_80035EB4
func_80035EB4:
/* 80035EB4 00031B14  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035EB8 00031B18  B0 83 00 02 */	sth r4, 2(r3)
/* 80035EBC 00031B1C  4E 80 00 20 */	blr

.global func_80035EC0
func_80035EC0:
/* 80035EC0 00031B20  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035EC4 00031B24  88 63 00 04 */	lbz r3, 4(r3)
/* 80035EC8 00031B28  4E 80 00 20 */	blr

.global func_80035ECC
func_80035ECC:
/* 80035ECC 00031B2C  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035ED0 00031B30  98 83 00 04 */	stb r4, 4(r3)
/* 80035ED4 00031B34  4E 80 00 20 */	blr

.global func_80035ED8
func_80035ED8:
/* 80035ED8 00031B38  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035EDC 00031B3C  88 63 00 05 */	lbz r3, 5(r3)
/* 80035EE0 00031B40  4E 80 00 20 */	blr

.global func_80035EE4
func_80035EE4:
/* 80035EE4 00031B44  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035EE8 00031B48  98 83 00 05 */	stb r4, 5(r3)
/* 80035EEC 00031B4C  4E 80 00 20 */	blr

.global func_80035EF0
func_80035EF0:
/* 80035EF0 00031B50  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035EF4 00031B54  88 63 00 06 */	lbz r3, 6(r3)
/* 80035EF8 00031B58  4E 80 00 20 */	blr

.global func_80035EFC
func_80035EFC:
/* 80035EFC 00031B5C  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F00 00031B60  A0 63 00 08 */	lhz r3, 8(r3)
/* 80035F04 00031B64  4E 80 00 20 */	blr

.global func_80035F08
func_80035F08:
/* 80035F08 00031B68  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F0C 00031B6C  B0 83 00 08 */	sth r4, 8(r3)
/* 80035F10 00031B70  4E 80 00 20 */	blr

.global func_80035F14
func_80035F14:
/* 80035F14 00031B74  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F18 00031B78  A0 63 00 0A */	lhz r3, 0xa(r3)
/* 80035F1C 00031B7C  4E 80 00 20 */	blr

.global func_80035F20
func_80035F20:
/* 80035F20 00031B80  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F24 00031B84  B0 83 00 0A */	sth r4, 0xa(r3)
/* 80035F28 00031B88  4E 80 00 20 */	blr

.global func_80035F2C
func_80035F2C:
/* 80035F2C 00031B8C  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F30 00031B90  A0 63 00 0C */	lhz r3, 0xc(r3)
/* 80035F34 00031B94  4E 80 00 20 */	blr

.global func_80035F38
func_80035F38:
/* 80035F38 00031B98  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F3C 00031B9C  B0 83 00 0C */	sth r4, 0xc(r3)
/* 80035F40 00031BA0  4E 80 00 20 */	blr

.global func_80035F44
func_80035F44:
/* 80035F44 00031BA4  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F48 00031BA8  A0 63 00 18 */	lhz r3, 0x18(r3)
/* 80035F4C 00031BAC  4E 80 00 20 */	blr

.global func_80035F50
func_80035F50:
/* 80035F50 00031BB0  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F54 00031BB4  88 63 00 24 */	lbz r3, 0x24(r3)
/* 80035F58 00031BB8  4E 80 00 20 */	blr

.global func_80035F5C
func_80035F5C:
/* 80035F5C 00031BBC  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F60 00031BC0  98 83 00 24 */	stb r4, 0x24(r3)
/* 80035F64 00031BC4  4E 80 00 20 */	blr

.global func_80035F68
func_80035F68:
/* 80035F68 00031BC8  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F6C 00031BCC  88 63 00 25 */	lbz r3, 0x25(r3)
/* 80035F70 00031BD0  4E 80 00 20 */	blr

.global func_80035F74
func_80035F74:
/* 80035F74 00031BD4  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F78 00031BD8  98 83 00 25 */	stb r4, 0x25(r3)
/* 80035F7C 00031BDC  4E 80 00 20 */	blr

.global func_80035F80
func_80035F80:
/* 80035F80 00031BE0  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F84 00031BE4  88 63 00 26 */	lbz r3, 0x26(r3)
/* 80035F88 00031BE8  4E 80 00 20 */	blr

.global func_80035F8C
func_80035F8C:
/* 80035F8C 00031BEC  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F90 00031BF0  88 63 00 27 */	lbz r3, 0x27(r3)
/* 80035F94 00031BF4  4E 80 00 20 */	blr

.global func_80035F98
func_80035F98:
/* 80035F98 00031BF8  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035F9C 00031BFC  88 83 00 26 */	lbz r4, 0x26(r3)
/* 80035FA0 00031C00  20 64 00 FF */	subfic r3, r4, 0xff
/* 80035FA4 00031C04  38 04 FF 01 */	addi r0, r4, -255
/* 80035FA8 00031C08  7C 60 03 78 */	or r0, r3, r0
/* 80035FAC 00031C0C  54 03 0F FE */	srwi r3, r0, 0x1f
/* 80035FB0 00031C10  4E 80 00 20 */	blr

.global func_80035FB4
func_80035FB4:
/* 80035FB4 00031C14  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80035FB8 00031C18  7C 08 02 A6 */	mflr r0
/* 80035FBC 00031C1C  2C 84 00 00 */	cmpwi cr1, r4, 0
/* 80035FC0 00031C20  90 01 00 14 */	stw r0, 0x14(r1)
/* 80035FC4 00031C24  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80035FC8 00031C28  7C 9F 23 78 */	mr r31, r4
/* 80035FCC 00031C2C  93 C1 00 08 */	stw r30, 8(r1)
/* 80035FD0 00031C30  7C 7E 1B 78 */	mr r30, r3
/* 80035FD4 00031C34  41 84 00 1C */	blt cr1, lbl_80035FF0
/* 80035FD8 00031C38  2C 04 00 02 */	cmpwi r4, 2
/* 80035FDC 00031C3C  40 80 00 14 */	bge lbl_80035FF0
/* 80035FE0 00031C40  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80035FE4 00031C44  A0 03 00 08 */	lhz r0, 8(r3)
/* 80035FE8 00031C48  2C 00 00 00 */	cmpwi r0, 0
/* 80035FEC 00031C4C  40 82 00 0C */	bne lbl_80035FF8
lbl_80035FF0:
/* 80035FF0 00031C50  38 60 00 00 */	li r3, 0
/* 80035FF4 00031C54  48 00 00 5C */	b lbl_80036050
lbl_80035FF8:
/* 80035FF8 00031C58  40 86 00 18 */	bne cr1, lbl_80036010
/* 80035FFC 00031C5C  A0 63 00 18 */	lhz r3, 0x18(r3)
/* 80036000 00031C60  2C 03 00 00 */	cmpwi r3, 0
/* 80036004 00031C64  41 82 00 1C */	beq lbl_80036020
/* 80036008 00031C68  48 13 96 21 */	bl func_8016F628
/* 8003600C 00031C6C  48 00 00 14 */	b lbl_80036020
lbl_80036010:
/* 80036010 00031C70  A0 63 00 1A */	lhz r3, 0x1a(r3)
/* 80036014 00031C74  2C 03 00 00 */	cmpwi r3, 0
/* 80036018 00031C78  41 82 00 08 */	beq lbl_80036020
/* 8003601C 00031C7C  48 13 96 0D */	bl func_8016F628
lbl_80036020:
/* 80036020 00031C80  2C 03 00 00 */	cmpwi r3, 0
/* 80036024 00031C84  40 82 00 0C */	bne lbl_80036030
/* 80036028 00031C88  38 60 00 00 */	li r3, 0
/* 8003602C 00031C8C  48 00 00 24 */	b lbl_80036050
lbl_80036030:
/* 80036030 00031C90  57 FF 40 2E */	slwi r31, r31, 8
/* 80036034 00031C94  7C 64 1B 78 */	mr r4, r3
/* 80036038 00031C98  7C 7E FA 14 */	add r3, r30, r31
/* 8003603C 00031C9C  38 A0 00 80 */	li r5, 0x80
/* 80036040 00031CA0  38 63 01 30 */	addi r3, r3, 0x130
/* 80036044 00031CA4  48 14 10 3D */	bl func_80177080
/* 80036048 00031CA8  7C 7E FA 14 */	add r3, r30, r31
/* 8003604C 00031CAC  38 63 01 30 */	addi r3, r3, 0x130
lbl_80036050:
/* 80036050 00031CB0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80036054 00031CB4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80036058 00031CB8  83 C1 00 08 */	lwz r30, 8(r1)
/* 8003605C 00031CBC  7C 08 03 A6 */	mtlr r0
/* 80036060 00031CC0  38 21 00 10 */	addi r1, r1, 0x10
/* 80036064 00031CC4  4E 80 00 20 */	blr

.global func_80036068
func_80036068:
/* 80036068 00031CC8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8003606C 00031CCC  7C 08 02 A6 */	mflr r0
/* 80036070 00031CD0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80036074 00031CD4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80036078 00031CD8  7C 7F 1B 78 */	mr r31, r3
/* 8003607C 00031CDC  80 83 09 70 */	lwz r4, 0x970(r3)
/* 80036080 00031CE0  A0 64 00 08 */	lhz r3, 8(r4)
/* 80036084 00031CE4  2C 03 00 00 */	cmpwi r3, 0
/* 80036088 00031CE8  40 82 00 0C */	bne lbl_80036094
/* 8003608C 00031CEC  38 60 00 00 */	li r3, 0
/* 80036090 00031CF0  48 00 00 2C */	b lbl_800360BC
lbl_80036094:
/* 80036094 00031CF4  48 13 95 95 */	bl func_8016F628
/* 80036098 00031CF8  2C 03 00 00 */	cmpwi r3, 0
/* 8003609C 00031CFC  40 82 00 0C */	bne lbl_800360A8
/* 800360A0 00031D00  38 60 00 00 */	li r3, 0
/* 800360A4 00031D04  48 00 00 18 */	b lbl_800360BC
lbl_800360A8:
/* 800360A8 00031D08  7C 64 1B 78 */	mr r4, r3
/* 800360AC 00031D0C  38 7F 00 30 */	addi r3, r31, 0x30
/* 800360B0 00031D10  38 A0 00 80 */	li r5, 0x80
/* 800360B4 00031D14  48 14 0F CD */	bl func_80177080
/* 800360B8 00031D18  38 7F 00 30 */	addi r3, r31, 0x30
lbl_800360BC:
/* 800360BC 00031D1C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 800360C0 00031D20  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 800360C4 00031D24  7C 08 03 A6 */	mtlr r0
/* 800360C8 00031D28  38 21 00 10 */	addi r1, r1, 0x10
/* 800360CC 00031D2C  4E 80 00 20 */	blr

.global func_800360D0
func_800360D0:
/* 800360D0 00031D30  80 83 09 70 */	lwz r4, 0x970(r3)
/* 800360D4 00031D34  38 60 00 00 */	li r3, 0
/* 800360D8 00031D38  88 04 00 2C */	lbz r0, 0x2c(r4)
/* 800360DC 00031D3C  28 00 00 FF */	cmplwi r0, 0xff
/* 800360E0 00031D40  4D 82 00 20 */	beqlr
/* 800360E4 00031D44  88 04 00 64 */	lbz r0, 0x64(r4)
/* 800360E8 00031D48  38 60 00 01 */	li r3, 1
/* 800360EC 00031D4C  28 00 00 FF */	cmplwi r0, 0xff
/* 800360F0 00031D50  4D 82 00 20 */	beqlr
/* 800360F4 00031D54  88 04 00 9C */	lbz r0, 0x9c(r4)
/* 800360F8 00031D58  38 60 00 02 */	li r3, 2
/* 800360FC 00031D5C  28 00 00 FF */	cmplwi r0, 0xff
/* 80036100 00031D60  4D 82 00 20 */	beqlr
/* 80036104 00031D64  88 04 00 D4 */	lbz r0, 0xd4(r4)
/* 80036108 00031D68  38 60 00 03 */	li r3, 3
/* 8003610C 00031D6C  28 00 00 FF */	cmplwi r0, 0xff
/* 80036110 00031D70  4D 82 00 20 */	beqlr
/* 80036114 00031D74  38 60 00 04 */	li r3, 4
/* 80036118 00031D78  4E 80 00 20 */	blr

.global func_8003611C
func_8003611C:
/* 8003611C 00031D7C  2C 04 00 00 */	cmpwi r4, 0
/* 80036120 00031D80  41 80 00 0C */	blt lbl_8003612C
/* 80036124 00031D84  2C 04 00 04 */	cmpwi r4, 4
/* 80036128 00031D88  41 80 00 0C */	blt lbl_80036134
lbl_8003612C:
/* 8003612C 00031D8C  38 60 00 00 */	li r3, 0
/* 80036130 00031D90  4E 80 00 20 */	blr
lbl_80036134:
/* 80036134 00031D94  1C 04 00 38 */	mulli r0, r4, 0x38
/* 80036138 00031D98  80 63 09 70 */	lwz r3, 0x970(r3)
/* 8003613C 00031D9C  2C 05 00 0F */	cmpwi r5, 0xf
/* 80036140 00031DA0  7C 63 02 14 */	add r3, r3, r0
/* 80036144 00031DA4  41 82 01 4C */	beq lbl_80036290
/* 80036148 00031DA8  40 80 00 70 */	bge lbl_800361B8
/* 8003614C 00031DAC  2C 05 00 07 */	cmpwi r5, 7
/* 80036150 00031DB0  41 82 01 00 */	beq lbl_80036250
/* 80036154 00031DB4  40 80 00 38 */	bge lbl_8003618C
/* 80036158 00031DB8  2C 05 00 03 */	cmpwi r5, 3
/* 8003615C 00031DBC  41 82 00 D4 */	beq lbl_80036230
/* 80036160 00031DC0  40 80 00 1C */	bge lbl_8003617C
/* 80036164 00031DC4  2C 05 00 01 */	cmpwi r5, 1
/* 80036168 00031DC8  41 82 00 B8 */	beq lbl_80036220
/* 8003616C 00031DCC  40 80 00 BC */	bge lbl_80036228
/* 80036170 00031DD0  2C 05 00 00 */	cmpwi r5, 0
/* 80036174 00031DD4  40 80 00 A4 */	bge lbl_80036218
/* 80036178 00031DD8  48 00 01 88 */	b lbl_80036300
lbl_8003617C:
/* 8003617C 00031DDC  2C 05 00 05 */	cmpwi r5, 5
/* 80036180 00031DE0  41 82 00 C0 */	beq lbl_80036240
/* 80036184 00031DE4  40 80 00 C4 */	bge lbl_80036248
/* 80036188 00031DE8  48 00 00 B0 */	b lbl_80036238
lbl_8003618C:
/* 8003618C 00031DEC  2C 05 00 0B */	cmpwi r5, 0xb
/* 80036190 00031DF0  41 82 00 E0 */	beq lbl_80036270
/* 80036194 00031DF4  40 80 00 14 */	bge lbl_800361A8
/* 80036198 00031DF8  2C 05 00 09 */	cmpwi r5, 9
/* 8003619C 00031DFC  41 82 00 C4 */	beq lbl_80036260
/* 800361A0 00031E00  40 80 00 C8 */	bge lbl_80036268
/* 800361A4 00031E04  48 00 00 B4 */	b lbl_80036258
lbl_800361A8:
/* 800361A8 00031E08  2C 05 00 0D */	cmpwi r5, 0xd
/* 800361AC 00031E0C  41 82 00 D4 */	beq lbl_80036280
/* 800361B0 00031E10  40 80 00 D8 */	bge lbl_80036288
/* 800361B4 00031E14  48 00 00 C4 */	b lbl_80036278
lbl_800361B8:
/* 800361B8 00031E18  2C 05 00 17 */	cmpwi r5, 0x17
/* 800361BC 00031E1C  41 82 01 24 */	beq lbl_800362E0
/* 800361C0 00031E20  40 80 00 30 */	bge lbl_800361F0
/* 800361C4 00031E24  2C 05 00 13 */	cmpwi r5, 0x13
/* 800361C8 00031E28  41 82 00 E8 */	beq lbl_800362B0
/* 800361CC 00031E2C  40 80 00 14 */	bge lbl_800361E0
/* 800361D0 00031E30  2C 05 00 11 */	cmpwi r5, 0x11
/* 800361D4 00031E34  41 82 00 CC */	beq lbl_800362A0
/* 800361D8 00031E38  40 80 00 D0 */	bge lbl_800362A8
/* 800361DC 00031E3C  48 00 00 BC */	b lbl_80036298
lbl_800361E0:
/* 800361E0 00031E40  2C 05 00 15 */	cmpwi r5, 0x15
/* 800361E4 00031E44  41 82 00 EC */	beq lbl_800362D0
/* 800361E8 00031E48  40 80 00 F0 */	bge lbl_800362D8
/* 800361EC 00031E4C  48 00 00 CC */	b lbl_800362B8
lbl_800361F0:
/* 800361F0 00031E50  2C 05 00 1B */	cmpwi r5, 0x1b
/* 800361F4 00031E54  41 82 00 FC */	beq lbl_800362F0
/* 800361F8 00031E58  40 80 00 14 */	bge lbl_8003620C
/* 800361FC 00031E5C  2C 05 00 19 */	cmpwi r5, 0x19
/* 80036200 00031E60  41 82 00 C8 */	beq lbl_800362C8
/* 80036204 00031E64  40 80 00 E4 */	bge lbl_800362E8
/* 80036208 00031E68  48 00 00 B8 */	b lbl_800362C0
lbl_8003620C:
/* 8003620C 00031E6C  2C 05 03 E8 */	cmpwi r5, 0x3e8
/* 80036210 00031E70  41 82 00 E8 */	beq lbl_800362F8
/* 80036214 00031E74  48 00 00 EC */	b lbl_80036300
lbl_80036218:
/* 80036218 00031E78  88 63 00 2C */	lbz r3, 0x2c(r3)
/* 8003621C 00031E7C  4E 80 00 20 */	blr
lbl_80036220:
/* 80036220 00031E80  88 63 00 2D */	lbz r3, 0x2d(r3)
/* 80036224 00031E84  4E 80 00 20 */	blr
lbl_80036228:
/* 80036228 00031E88  A0 63 00 2E */	lhz r3, 0x2e(r3)
/* 8003622C 00031E8C  4E 80 00 20 */	blr
lbl_80036230:
/* 80036230 00031E90  A0 63 00 30 */	lhz r3, 0x30(r3)
/* 80036234 00031E94  4E 80 00 20 */	blr
lbl_80036238:
/* 80036238 00031E98  A0 63 00 32 */	lhz r3, 0x32(r3)
/* 8003623C 00031E9C  4E 80 00 20 */	blr
lbl_80036240:
/* 80036240 00031EA0  88 63 00 34 */	lbz r3, 0x34(r3)
/* 80036244 00031EA4  4E 80 00 20 */	blr
lbl_80036248:
/* 80036248 00031EA8  88 63 00 35 */	lbz r3, 0x35(r3)
/* 8003624C 00031EAC  4E 80 00 20 */	blr
lbl_80036250:
/* 80036250 00031EB0  88 63 00 36 */	lbz r3, 0x36(r3)
/* 80036254 00031EB4  4E 80 00 20 */	blr
lbl_80036258:
/* 80036258 00031EB8  88 63 00 37 */	lbz r3, 0x37(r3)
/* 8003625C 00031EBC  4E 80 00 20 */	blr
lbl_80036260:
/* 80036260 00031EC0  A0 63 00 38 */	lhz r3, 0x38(r3)
/* 80036264 00031EC4  4E 80 00 20 */	blr
lbl_80036268:
/* 80036268 00031EC8  A0 63 00 3A */	lhz r3, 0x3a(r3)
/* 8003626C 00031ECC  4E 80 00 20 */	blr
lbl_80036270:
/* 80036270 00031ED0  A0 63 00 3C */	lhz r3, 0x3c(r3)
/* 80036274 00031ED4  4E 80 00 20 */	blr
lbl_80036278:
/* 80036278 00031ED8  A0 63 00 3E */	lhz r3, 0x3e(r3)
/* 8003627C 00031EDC  4E 80 00 20 */	blr
lbl_80036280:
/* 80036280 00031EE0  88 63 00 40 */	lbz r3, 0x40(r3)
/* 80036284 00031EE4  4E 80 00 20 */	blr
lbl_80036288:
/* 80036288 00031EE8  88 63 00 41 */	lbz r3, 0x41(r3)
/* 8003628C 00031EEC  4E 80 00 20 */	blr
lbl_80036290:
/* 80036290 00031EF0  88 63 00 42 */	lbz r3, 0x42(r3)
/* 80036294 00031EF4  4E 80 00 20 */	blr
lbl_80036298:
/* 80036298 00031EF8  88 63 00 43 */	lbz r3, 0x43(r3)
/* 8003629C 00031EFC  4E 80 00 20 */	blr
lbl_800362A0:
/* 800362A0 00031F00  88 63 00 44 */	lbz r3, 0x44(r3)
/* 800362A4 00031F04  4E 80 00 20 */	blr
lbl_800362A8:
/* 800362A8 00031F08  88 63 00 45 */	lbz r3, 0x45(r3)
/* 800362AC 00031F0C  4E 80 00 20 */	blr
lbl_800362B0:
/* 800362B0 00031F10  88 63 00 46 */	lbz r3, 0x46(r3)
/* 800362B4 00031F14  4E 80 00 20 */	blr
lbl_800362B8:
/* 800362B8 00031F18  88 63 00 47 */	lbz r3, 0x47(r3)
/* 800362BC 00031F1C  4E 80 00 20 */	blr
lbl_800362C0:
/* 800362C0 00031F20  A0 63 00 48 */	lhz r3, 0x48(r3)
/* 800362C4 00031F24  4E 80 00 20 */	blr
lbl_800362C8:
/* 800362C8 00031F28  A0 63 00 4A */	lhz r3, 0x4a(r3)
/* 800362CC 00031F2C  4E 80 00 20 */	blr
lbl_800362D0:
/* 800362D0 00031F30  A0 63 00 54 */	lhz r3, 0x54(r3)
/* 800362D4 00031F34  4E 80 00 20 */	blr
lbl_800362D8:
/* 800362D8 00031F38  A0 63 00 56 */	lhz r3, 0x56(r3)
/* 800362DC 00031F3C  4E 80 00 20 */	blr
lbl_800362E0:
/* 800362E0 00031F40  A0 63 00 60 */	lhz r3, 0x60(r3)
/* 800362E4 00031F44  4E 80 00 20 */	blr
lbl_800362E8:
/* 800362E8 00031F48  88 63 00 62 */	lbz r3, 0x62(r3)
/* 800362EC 00031F4C  4E 80 00 20 */	blr
lbl_800362F0:
/* 800362F0 00031F50  88 63 00 63 */	lbz r3, 0x63(r3)
/* 800362F4 00031F54  4E 80 00 20 */	blr
lbl_800362F8:
/* 800362F8 00031F58  38 60 00 00 */	li r3, 0
/* 800362FC 00031F5C  4E 80 00 20 */	blr
lbl_80036300:
/* 80036300 00031F60  38 60 00 00 */	li r3, 0
/* 80036304 00031F64  4E 80 00 20 */	blr

.global func_80036308
func_80036308:
/* 80036308 00031F68  2C 04 00 00 */	cmpwi r4, 0
/* 8003630C 00031F6C  4D 80 00 20 */	bltlr
/* 80036310 00031F70  2C 04 00 04 */	cmpwi r4, 4
/* 80036314 00031F74  41 80 00 08 */	blt lbl_8003631C
/* 80036318 00031F78  4E 80 00 20 */	blr
lbl_8003631C:
/* 8003631C 00031F7C  1C 04 00 38 */	mulli r0, r4, 0x38
/* 80036320 00031F80  80 63 09 70 */	lwz r3, 0x970(r3)
/* 80036324 00031F84  28 05 00 19 */	cmplwi r5, 0x19
/* 80036328 00031F88  7C 83 02 14 */	add r4, r3, r0
/* 8003632C 00031F8C  4D 81 00 20 */	bgtlr
/* 80036330 00031F90  3C 60 80 41 */	lis r3, lbl_8040A298@ha
/* 80036334 00031F94  54 A0 10 3A */	slwi r0, r5, 2
/* 80036338 00031F98  38 63 A2 98 */	addi r3, r3, lbl_8040A298@l
/* 8003633C 00031F9C  7C 63 00 2E */	lwzx r3, r3, r0
/* 80036340 00031FA0  7C 69 03 A6 */	mtctr r3
/* 80036344 00031FA4  4E 80 04 20 */	bctr
/* 80036348 00031FA8  98 C4 00 2C */	stb r6, 0x2c(r4)
/* 8003634C 00031FAC  4E 80 00 20 */	blr
/* 80036350 00031FB0  98 C4 00 2D */	stb r6, 0x2d(r4)
/* 80036354 00031FB4  4E 80 00 20 */	blr
/* 80036358 00031FB8  B0 C4 00 2E */	sth r6, 0x2e(r4)
/* 8003635C 00031FBC  4E 80 00 20 */	blr
/* 80036360 00031FC0  B0 C4 00 30 */	sth r6, 0x30(r4)
/* 80036364 00031FC4  4E 80 00 20 */	blr
/* 80036368 00031FC8  B0 C4 00 32 */	sth r6, 0x32(r4)
/* 8003636C 00031FCC  4E 80 00 20 */	blr
/* 80036370 00031FD0  98 C4 00 34 */	stb r6, 0x34(r4)
/* 80036374 00031FD4  4E 80 00 20 */	blr
/* 80036378 00031FD8  98 C4 00 35 */	stb r6, 0x35(r4)
/* 8003637C 00031FDC  4E 80 00 20 */	blr
/* 80036380 00031FE0  98 C4 00 36 */	stb r6, 0x36(r4)
/* 80036384 00031FE4  4E 80 00 20 */	blr
/* 80036388 00031FE8  98 C4 00 37 */	stb r6, 0x37(r4)
/* 8003638C 00031FEC  4E 80 00 20 */	blr
/* 80036390 00031FF0  B0 C4 00 38 */	sth r6, 0x38(r4)
/* 80036394 00031FF4  4E 80 00 20 */	blr
/* 80036398 00031FF8  B0 C4 00 3A */	sth r6, 0x3a(r4)
/* 8003639C 00031FFC  4E 80 00 20 */	blr
/* 800363A0 00032000  B0 C4 00 3C */	sth r6, 0x3c(r4)
/* 800363A4 00032004  4E 80 00 20 */	blr
/* 800363A8 00032008  B0 C4 00 3E */	sth r6, 0x3e(r4)
/* 800363AC 0003200C  4E 80 00 20 */	blr
/* 800363B0 00032010  98 C4 00 40 */	stb r6, 0x40(r4)
/* 800363B4 00032014  4E 80 00 20 */	blr
/* 800363B8 00032018  98 C4 00 41 */	stb r6, 0x41(r4)
/* 800363BC 0003201C  4E 80 00 20 */	blr
/* 800363C0 00032020  98 C4 00 42 */	stb r6, 0x42(r4)
/* 800363C4 00032024  4E 80 00 20 */	blr
/* 800363C8 00032028  98 C4 00 43 */	stb r6, 0x43(r4)
/* 800363CC 0003202C  4E 80 00 20 */	blr
/* 800363D0 00032030  98 C4 00 44 */	stb r6, 0x44(r4)
/* 800363D4 00032034  4E 80 00 20 */	blr
/* 800363D8 00032038  98 C4 00 45 */	stb r6, 0x45(r4)
/* 800363DC 0003203C  4E 80 00 20 */	blr
/* 800363E0 00032040  98 C4 00 46 */	stb r6, 0x46(r4)
/* 800363E4 00032044  4E 80 00 20 */	blr
/* 800363E8 00032048  98 C4 00 47 */	stb r6, 0x47(r4)
/* 800363EC 0003204C  4E 80 00 20 */	blr
/* 800363F0 00032050  B0 C4 00 48 */	sth r6, 0x48(r4)
/* 800363F4 00032054  4E 80 00 20 */	blr
/* 800363F8 00032058  B0 C4 00 4A */	sth r6, 0x4a(r4)
/* 800363FC 0003205C  4E 80 00 20 */	blr
/* 80036400 00032060  B0 C4 00 54 */	sth r6, 0x54(r4)
/* 80036404 00032064  4E 80 00 20 */	blr
/* 80036408 00032068  B0 C4 00 56 */	sth r6, 0x56(r4)
/* 8003640C 0003206C  4E 80 00 20 */	blr
/* 80036410 00032070  B0 C4 00 60 */	sth r6, 0x60(r4)
/* 80036414 00032074  4E 80 00 20 */	blr

.global func_80036418
func_80036418:
/* 80036418 00032078  2C 04 00 00 */	cmpwi r4, 0
/* 8003641C 0003207C  41 80 00 14 */	blt lbl_80036430
/* 80036420 00032080  80 C3 09 70 */	lwz r6, 0x970(r3)
/* 80036424 00032084  88 06 00 25 */	lbz r0, 0x25(r6)
/* 80036428 00032088  7C 04 00 00 */	cmpw r4, r0
/* 8003642C 0003208C  41 80 00 0C */	blt lbl_80036438
lbl_80036430:
/* 80036430 00032090  38 60 00 00 */	li r3, 0
/* 80036434 00032094  4E 80 00 20 */	blr
lbl_80036438:
/* 80036438 00032098  1C 04 00 1C */	mulli r0, r4, 0x1c
/* 8003643C 0003209C  80 63 09 6C */	lwz r3, 0x96c(r3)
/* 80036440 000320A0  28 05 00 09 */	cmplwi r5, 9
/* 80036444 000320A4  7C 83 02 14 */	add r4, r3, r0
/* 80036448 000320A8  41 81 00 6C */	bgt lbl_800364B4
/* 8003644C 000320AC  3C 60 80 41 */	lis r3, lbl_8040A300@ha
/* 80036450 000320B0  54 A0 10 3A */	slwi r0, r5, 2
/* 80036454 000320B4  38 63 A3 00 */	addi r3, r3, lbl_8040A300@l
/* 80036458 000320B8  7C 63 00 2E */	lwzx r3, r3, r0
/* 8003645C 000320BC  7C 69 03 A6 */	mtctr r3
/* 80036460 000320C0  4E 80 04 20 */	bctr
/* 80036464 000320C4  88 64 00 00 */	lbz r3, 0(r4)
/* 80036468 000320C8  4E 80 00 20 */	blr
/* 8003646C 000320CC  88 64 00 01 */	lbz r3, 1(r4)
/* 80036470 000320D0  4E 80 00 20 */	blr
/* 80036474 000320D4  88 64 00 02 */	lbz r3, 2(r4)
/* 80036478 000320D8  4E 80 00 20 */	blr
/* 8003647C 000320DC  88 64 00 03 */	lbz r3, 3(r4)
/* 80036480 000320E0  4E 80 00 20 */	blr
/* 80036484 000320E4  A0 64 00 04 */	lhz r3, 4(r4)
/* 80036488 000320E8  4E 80 00 20 */	blr
/* 8003648C 000320EC  A0 64 00 06 */	lhz r3, 6(r4)
/* 80036490 000320F0  4E 80 00 20 */	blr
/* 80036494 000320F4  A0 64 00 08 */	lhz r3, 8(r4)
/* 80036498 000320F8  4E 80 00 20 */	blr
/* 8003649C 000320FC  A0 64 00 14 */	lhz r3, 0x14(r4)
/* 800364A0 00032100  4E 80 00 20 */	blr
/* 800364A4 00032104  A0 64 00 16 */	lhz r3, 0x16(r4)
/* 800364A8 00032108  4E 80 00 20 */	blr
/* 800364AC 0003210C  A0 64 00 18 */	lhz r3, 0x18(r4)
/* 800364B0 00032110  4E 80 00 20 */	blr
lbl_800364B4:
/* 800364B4 00032114  38 60 00 00 */	li r3, 0
/* 800364B8 00032118  4E 80 00 20 */	blr

.global func_800364BC
func_800364BC:
/* 800364BC 0003211C  2C 04 00 00 */	cmpwi r4, 0
/* 800364C0 00032120  4D 80 00 20 */	bltlr
/* 800364C4 00032124  80 E3 09 70 */	lwz r7, 0x970(r3)
/* 800364C8 00032128  88 07 00 25 */	lbz r0, 0x25(r7)
/* 800364CC 0003212C  7C 04 00 00 */	cmpw r4, r0
/* 800364D0 00032130  41 80 00 08 */	blt lbl_800364D8
/* 800364D4 00032134  4E 80 00 20 */	blr
lbl_800364D8:
/* 800364D8 00032138  1C 04 00 1C */	mulli r0, r4, 0x1c
/* 800364DC 0003213C  80 63 09 6C */	lwz r3, 0x96c(r3)
/* 800364E0 00032140  28 05 00 09 */	cmplwi r5, 9
/* 800364E4 00032144  7C 83 02 14 */	add r4, r3, r0
/* 800364E8 00032148  4D 81 00 20 */	bgtlr
/* 800364EC 0003214C  3C 60 80 41 */	lis r3, lbl_8040A328@ha
/* 800364F0 00032150  54 A0 10 3A */	slwi r0, r5, 2
/* 800364F4 00032154  38 63 A3 28 */	addi r3, r3, lbl_8040A328@l
/* 800364F8 00032158  7C 63 00 2E */	lwzx r3, r3, r0
/* 800364FC 0003215C  7C 69 03 A6 */	mtctr r3
/* 80036500 00032160  4E 80 04 20 */	bctr
/* 80036504 00032164  98 C4 00 00 */	stb r6, 0(r4)
/* 80036508 00032168  4E 80 00 20 */	blr
/* 8003650C 0003216C  98 C4 00 01 */	stb r6, 1(r4)
/* 80036510 00032170  4E 80 00 20 */	blr
/* 80036514 00032174  98 C4 00 02 */	stb r6, 2(r4)
/* 80036518 00032178  4E 80 00 20 */	blr
/* 8003651C 0003217C  98 C4 00 03 */	stb r6, 3(r4)
/* 80036520 00032180  4E 80 00 20 */	blr
/* 80036524 00032184  B0 C4 00 04 */	sth r6, 4(r4)
/* 80036528 00032188  4E 80 00 20 */	blr
/* 8003652C 0003218C  B0 C4 00 06 */	sth r6, 6(r4)
/* 80036530 00032190  4E 80 00 20 */	blr
/* 80036534 00032194  B0 C4 00 08 */	sth r6, 8(r4)
/* 80036538 00032198  4E 80 00 20 */	blr
/* 8003653C 0003219C  B0 C4 00 14 */	sth r6, 0x14(r4)
/* 80036540 000321A0  4E 80 00 20 */	blr
/* 80036544 000321A4  B0 C4 00 16 */	sth r6, 0x16(r4)
/* 80036548 000321A8  4E 80 00 20 */	blr
/* 8003654C 000321AC  B0 C4 00 18 */	sth r6, 0x18(r4)
/* 80036550 000321B0  4E 80 00 20 */	blr

.global func_80036554
func_80036554:
/* 80036554 000321B4  94 21 FF 70 */	stwu r1, -0x90(r1)
/* 80036558 000321B8  7C 08 02 A6 */	mflr r0
/* 8003655C 000321BC  90 01 00 94 */	stw r0, 0x94(r1)
/* 80036560 000321C0  39 61 00 90 */	addi r11, r1, 0x90
/* 80036564 000321C4  48 19 0B 91 */	bl __save_gpr
/* 80036568 000321C8  90 A1 00 08 */	stw r5, 8(r1)
/* 8003656C 000321CC  7C 70 1B 78 */	mr r16, r3
/* 80036570 000321D0  7C 8F 23 78 */	mr r15, r4
/* 80036574 000321D4  7C CE 33 78 */	mr r14, r6
/* 80036578 000321D8  38 61 00 0C */	addi r3, r1, 0xc
/* 8003657C 000321DC  4B FF F7 35 */	bl func_80035CB0
/* 80036580 000321E0  48 00 F0 11 */	bl func_80045590
/* 80036584 000321E4  2C 03 00 00 */	cmpwi r3, 0
/* 80036588 000321E8  40 82 00 0C */	bne lbl_80036594
/* 8003658C 000321EC  38 60 00 00 */	li r3, 0
/* 80036590 000321F0  48 00 02 9C */	b lbl_8003682C
lbl_80036594:
/* 80036594 000321F4  7D E4 7B 78 */	mr r4, r15
/* 80036598 000321F8  38 A0 00 00 */	li r5, 0
/* 8003659C 000321FC  48 00 F5 65 */	bl func_80045B00
/* 800365A0 00032200  2C 0E 00 00 */	cmpwi r14, 0
/* 800365A4 00032204  41 82 00 F0 */	beq lbl_80036694
/* 800365A8 00032208  1C 0F 00 34 */	mulli r0, r15, 0x34
/* 800365AC 0003220C  7C 90 02 14 */	add r4, r16, r0
/* 800365B0 00032210  A1 E4 04 10 */	lhz r15, 0x410(r4)
/* 800365B4 00032214  A2 04 04 12 */	lhz r16, 0x412(r4)
/* 800365B8 00032218  8A 24 04 14 */	lbz r17, 0x414(r4)
/* 800365BC 0003221C  8A 44 04 15 */	lbz r18, 0x415(r4)
/* 800365C0 00032220  8A 64 04 16 */	lbz r19, 0x416(r4)
/* 800365C4 00032224  8A 84 04 17 */	lbz r20, 0x417(r4)
/* 800365C8 00032228  8A A4 04 18 */	lbz r21, 0x418(r4)
/* 800365CC 0003222C  8A C4 04 19 */	lbz r22, 0x419(r4)
/* 800365D0 00032230  A2 E4 04 1A */	lhz r23, 0x41a(r4)
/* 800365D4 00032234  83 04 04 1C */	lwz r24, 0x41c(r4)
/* 800365D8 00032238  8B 24 04 20 */	lbz r25, 0x420(r4)
/* 800365DC 0003223C  8B 44 04 21 */	lbz r26, 0x421(r4)
/* 800365E0 00032240  A3 64 04 22 */	lhz r27, 0x422(r4)
/* 800365E4 00032244  A3 84 04 24 */	lhz r28, 0x424(r4)
/* 800365E8 00032248  A3 A4 04 26 */	lhz r29, 0x426(r4)
/* 800365EC 0003224C  A3 C4 04 28 */	lhz r30, 0x428(r4)
/* 800365F0 00032250  A3 E4 04 2A */	lhz r31, 0x42a(r4)
/* 800365F4 00032254  A1 84 04 2C */	lhz r12, 0x42c(r4)
/* 800365F8 00032258  A1 64 04 2E */	lhz r11, 0x42e(r4)
/* 800365FC 0003225C  A1 44 04 30 */	lhz r10, 0x430(r4)
/* 80036600 00032260  A1 24 04 32 */	lhz r9, 0x432(r4)
/* 80036604 00032264  A1 04 04 34 */	lhz r8, 0x434(r4)
/* 80036608 00032268  A0 E4 04 36 */	lhz r7, 0x436(r4)
/* 8003660C 0003226C  A0 C4 04 38 */	lhz r6, 0x438(r4)
/* 80036610 00032270  A0 A4 04 3A */	lhz r5, 0x43a(r4)
/* 80036614 00032274  A0 04 04 3C */	lhz r0, 0x43c(r4)
/* 80036618 00032278  A1 C4 04 3E */	lhz r14, 0x43e(r4)
/* 8003661C 0003227C  A0 84 04 40 */	lhz r4, 0x440(r4)
/* 80036620 00032280  B1 E1 00 0C */	sth r15, 0xc(r1)
/* 80036624 00032284  B2 01 00 0E */	sth r16, 0xe(r1)
/* 80036628 00032288  9A 21 00 10 */	stb r17, 0x10(r1)
/* 8003662C 0003228C  9A 41 00 11 */	stb r18, 0x11(r1)
/* 80036630 00032290  9A 61 00 12 */	stb r19, 0x12(r1)
/* 80036634 00032294  9A 81 00 13 */	stb r20, 0x13(r1)
/* 80036638 00032298  9A A1 00 14 */	stb r21, 0x14(r1)
/* 8003663C 0003229C  9A C1 00 15 */	stb r22, 0x15(r1)
/* 80036640 000322A0  B2 E1 00 16 */	sth r23, 0x16(r1)
/* 80036644 000322A4  93 01 00 18 */	stw r24, 0x18(r1)
/* 80036648 000322A8  9B 21 00 1C */	stb r25, 0x1c(r1)
/* 8003664C 000322AC  9B 41 00 1D */	stb r26, 0x1d(r1)
/* 80036650 000322B0  B3 61 00 1E */	sth r27, 0x1e(r1)
/* 80036654 000322B4  B3 81 00 20 */	sth r28, 0x20(r1)
/* 80036658 000322B8  B3 A1 00 22 */	sth r29, 0x22(r1)
/* 8003665C 000322BC  B3 C1 00 24 */	sth r30, 0x24(r1)
/* 80036660 000322C0  B3 E1 00 26 */	sth r31, 0x26(r1)
/* 80036664 000322C4  B1 81 00 28 */	sth r12, 0x28(r1)
/* 80036668 000322C8  B1 61 00 2A */	sth r11, 0x2a(r1)
/* 8003666C 000322CC  B1 41 00 2C */	sth r10, 0x2c(r1)
/* 80036670 000322D0  B1 21 00 2E */	sth r9, 0x2e(r1)
/* 80036674 000322D4  B1 01 00 30 */	sth r8, 0x30(r1)
/* 80036678 000322D8  B0 E1 00 32 */	sth r7, 0x32(r1)
/* 8003667C 000322DC  B0 C1 00 34 */	sth r6, 0x34(r1)
/* 80036680 000322E0  B0 A1 00 36 */	sth r5, 0x36(r1)
/* 80036684 000322E4  B0 01 00 38 */	sth r0, 0x38(r1)
/* 80036688 000322E8  B1 C1 00 3A */	sth r14, 0x3a(r1)
/* 8003668C 000322EC  B0 81 00 3C */	sth r4, 0x3c(r1)
/* 80036690 000322F0  48 00 00 EC */	b lbl_8003677C
lbl_80036694:
/* 80036694 000322F4  1C 0F 00 34 */	mulli r0, r15, 0x34
/* 80036698 000322F8  7C 90 02 14 */	add r4, r16, r0
/* 8003669C 000322FC  A3 C4 03 40 */	lhz r30, 0x340(r4)
/* 800366A0 00032300  A3 A4 03 42 */	lhz r29, 0x342(r4)
/* 800366A4 00032304  8B 84 03 44 */	lbz r28, 0x344(r4)
/* 800366A8 00032308  8B 64 03 45 */	lbz r27, 0x345(r4)
/* 800366AC 0003230C  8B 44 03 46 */	lbz r26, 0x346(r4)
/* 800366B0 00032310  8B 24 03 47 */	lbz r25, 0x347(r4)
/* 800366B4 00032314  8B 04 03 48 */	lbz r24, 0x348(r4)
/* 800366B8 00032318  8A E4 03 49 */	lbz r23, 0x349(r4)
/* 800366BC 0003231C  A2 C4 03 4A */	lhz r22, 0x34a(r4)
/* 800366C0 00032320  82 A4 03 4C */	lwz r21, 0x34c(r4)
/* 800366C4 00032324  8A 84 03 50 */	lbz r20, 0x350(r4)
/* 800366C8 00032328  8A 64 03 51 */	lbz r19, 0x351(r4)
/* 800366CC 0003232C  A2 44 03 52 */	lhz r18, 0x352(r4)
/* 800366D0 00032330  A2 24 03 54 */	lhz r17, 0x354(r4)
/* 800366D4 00032334  A2 04 03 56 */	lhz r16, 0x356(r4)
/* 800366D8 00032338  A1 E4 03 58 */	lhz r15, 0x358(r4)
/* 800366DC 0003233C  A1 C4 03 5A */	lhz r14, 0x35a(r4)
/* 800366E0 00032340  A1 84 03 5C */	lhz r12, 0x35c(r4)
/* 800366E4 00032344  A1 64 03 5E */	lhz r11, 0x35e(r4)
/* 800366E8 00032348  A1 44 03 60 */	lhz r10, 0x360(r4)
/* 800366EC 0003234C  A1 24 03 62 */	lhz r9, 0x362(r4)
/* 800366F0 00032350  A1 04 03 64 */	lhz r8, 0x364(r4)
/* 800366F4 00032354  A0 E4 03 66 */	lhz r7, 0x366(r4)
/* 800366F8 00032358  A0 C4 03 68 */	lhz r6, 0x368(r4)
/* 800366FC 0003235C  A0 A4 03 6A */	lhz r5, 0x36a(r4)
/* 80036700 00032360  A0 04 03 6C */	lhz r0, 0x36c(r4)
/* 80036704 00032364  A3 E4 03 6E */	lhz r31, 0x36e(r4)
/* 80036708 00032368  A0 84 03 70 */	lhz r4, 0x370(r4)
/* 8003670C 0003236C  B3 C1 00 0C */	sth r30, 0xc(r1)
/* 80036710 00032370  B3 A1 00 0E */	sth r29, 0xe(r1)
/* 80036714 00032374  9B 81 00 10 */	stb r28, 0x10(r1)
/* 80036718 00032378  9B 61 00 11 */	stb r27, 0x11(r1)
/* 8003671C 0003237C  9B 41 00 12 */	stb r26, 0x12(r1)
/* 80036720 00032380  9B 21 00 13 */	stb r25, 0x13(r1)
/* 80036724 00032384  9B 01 00 14 */	stb r24, 0x14(r1)
/* 80036728 00032388  9A E1 00 15 */	stb r23, 0x15(r1)
/* 8003672C 0003238C  B2 C1 00 16 */	sth r22, 0x16(r1)
/* 80036730 00032390  92 A1 00 18 */	stw r21, 0x18(r1)
/* 80036734 00032394  9A 81 00 1C */	stb r20, 0x1c(r1)
/* 80036738 00032398  9A 61 00 1D */	stb r19, 0x1d(r1)
/* 8003673C 0003239C  B2 41 00 1E */	sth r18, 0x1e(r1)
/* 80036740 000323A0  B2 21 00 20 */	sth r17, 0x20(r1)
/* 80036744 000323A4  B2 01 00 22 */	sth r16, 0x22(r1)
/* 80036748 000323A8  B1 E1 00 24 */	sth r15, 0x24(r1)
/* 8003674C 000323AC  B1 C1 00 26 */	sth r14, 0x26(r1)
/* 80036750 000323B0  B1 81 00 28 */	sth r12, 0x28(r1)
/* 80036754 000323B4  B1 61 00 2A */	sth r11, 0x2a(r1)
/* 80036758 000323B8  B1 41 00 2C */	sth r10, 0x2c(r1)
/* 8003675C 000323BC  B1 21 00 2E */	sth r9, 0x2e(r1)
/* 80036760 000323C0  B1 01 00 30 */	sth r8, 0x30(r1)
/* 80036764 000323C4  B0 E1 00 32 */	sth r7, 0x32(r1)
/* 80036768 000323C8  B0 C1 00 34 */	sth r6, 0x34(r1)
/* 8003676C 000323CC  B0 A1 00 36 */	sth r5, 0x36(r1)
/* 80036770 000323D0  B0 01 00 38 */	sth r0, 0x38(r1)
/* 80036774 000323D4  B3 E1 00 3A */	sth r31, 0x3a(r1)
/* 80036778 000323D8  B0 81 00 3C */	sth r4, 0x3c(r1)
lbl_8003677C:
/* 8003677C 000323DC  80 01 00 08 */	lwz r0, 8(r1)
/* 80036780 000323E0  28 00 00 15 */	cmplwi r0, 0x15
/* 80036784 000323E4  41 81 00 A4 */	bgt lbl_80036828
/* 80036788 000323E8  3C 80 80 41 */	lis r4, lbl_8040A350@ha
/* 8003678C 000323EC  54 00 10 3A */	slwi r0, r0, 2
/* 80036790 000323F0  38 84 A3 50 */	addi r4, r4, lbl_8040A350@l
/* 80036794 000323F4  7C 84 00 2E */	lwzx r4, r4, r0
/* 80036798 000323F8  7C 89 03 A6 */	mtctr r4
/* 8003679C 000323FC  4E 80 04 20 */	bctr
/* 800367A0 00032400  A0 61 00 0C */	lhz r3, 0xc(r1)
/* 800367A4 00032404  48 00 00 88 */	b lbl_8003682C
/* 800367A8 00032408  88 61 00 11 */	lbz r3, 0x11(r1)
/* 800367AC 0003240C  48 00 00 80 */	b lbl_8003682C
/* 800367B0 00032410  88 61 00 10 */	lbz r3, 0x10(r1)
/* 800367B4 00032414  48 00 00 78 */	b lbl_8003682C
/* 800367B8 00032418  A0 61 00 0E */	lhz r3, 0xe(r1)
/* 800367BC 0003241C  48 00 00 70 */	b lbl_8003682C
/* 800367C0 00032420  48 00 00 6C */	b lbl_8003682C
/* 800367C4 00032424  80 61 00 18 */	lwz r3, 0x18(r1)
/* 800367C8 00032428  48 00 00 64 */	b lbl_8003682C
/* 800367CC 0003242C  88 61 00 14 */	lbz r3, 0x14(r1)
/* 800367D0 00032430  48 00 00 5C */	b lbl_8003682C
/* 800367D4 00032434  A0 01 00 0C */	lhz r0, 0xc(r1)
/* 800367D8 00032438  2C 00 00 00 */	cmpwi r0, 0
/* 800367DC 0003243C  41 82 00 24 */	beq lbl_80036800
/* 800367E0 00032440  88 01 00 12 */	lbz r0, 0x12(r1)
/* 800367E4 00032444  2C 00 00 00 */	cmpwi r0, 0
/* 800367E8 00032448  40 82 00 18 */	bne lbl_80036800
/* 800367EC 0003244C  2C 03 00 00 */	cmpwi r3, 0
/* 800367F0 00032450  41 82 00 10 */	beq lbl_80036800
/* 800367F4 00032454  80 03 00 00 */	lwz r0, 0(r3)
/* 800367F8 00032458  54 00 01 CF */	rlwinm. r0, r0, 0, 7, 7
/* 800367FC 0003245C  41 82 00 0C */	beq lbl_80036808
lbl_80036800:
/* 80036800 00032460  38 60 00 00 */	li r3, 0
/* 80036804 00032464  48 00 00 28 */	b lbl_8003682C
lbl_80036808:
/* 80036808 00032468  38 60 00 01 */	li r3, 1
/* 8003680C 0003246C  48 00 00 20 */	b lbl_8003682C
/* 80036810 00032470  88 61 00 12 */	lbz r3, 0x12(r1)
/* 80036814 00032474  48 00 00 18 */	b lbl_8003682C
/* 80036818 00032478  A0 61 00 16 */	lhz r3, 0x16(r1)
/* 8003681C 0003247C  48 00 00 10 */	b lbl_8003682C
/* 80036820 00032480  88 61 00 15 */	lbz r3, 0x15(r1)
/* 80036824 00032484  48 00 00 08 */	b lbl_8003682C
lbl_80036828:
/* 80036828 00032488  38 60 00 00 */	li r3, 0
lbl_8003682C:
/* 8003682C 0003248C  39 61 00 90 */	addi r11, r1, 0x90
/* 80036830 00032490  48 19 09 11 */	bl __restore_gpr
/* 80036834 00032494  80 01 00 94 */	lwz r0, 0x94(r1)
/* 80036838 00032498  7C 08 03 A6 */	mtlr r0
/* 8003683C 0003249C  38 21 00 90 */	addi r1, r1, 0x90
/* 80036840 000324A0  4E 80 00 20 */	blr

.global func_80036844
func_80036844:
/* 80036844 000324A4  38 60 00 00 */	li r3, 0
/* 80036848 000324A8  4E 80 00 20 */	blr

.global func_8003684C
func_8003684C:
/* 8003684C 000324AC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80036850 000324B0  7C 08 02 A6 */	mflr r0
/* 80036854 000324B4  C0 02 82 18 */	lfs f0, lbl_80640818-_SDA2_BASE_(r2)
/* 80036858 000324B8  90 01 00 34 */	stw r0, 0x34(r1)
/* 8003685C 000324BC  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 80036860 000324C0  93 C1 00 28 */	stw r30, 0x28(r1)
/* 80036864 000324C4  7C BE 2B 78 */	mr r30, r5
/* 80036868 000324C8  93 A1 00 24 */	stw r29, 0x24(r1)
/* 8003686C 000324CC  7C 9D 23 78 */	mr r29, r4
/* 80036870 000324D0  93 81 00 20 */	stw r28, 0x20(r1)
/* 80036874 000324D4  7C 7C 1B 78 */	mr r28, r3
/* 80036878 000324D8  D0 01 00 08 */	stfs f0, 8(r1)
/* 8003687C 000324DC  D0 01 00 0C */	stfs f0, 0xc(r1)
/* 80036880 000324E0  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 80036884 000324E4  48 00 ED 0D */	bl func_80045590
/* 80036888 000324E8  7C 7F 1B 78 */	mr r31, r3
/* 8003688C 000324EC  38 80 00 00 */	li r4, 0
/* 80036890 000324F0  48 00 F4 6D */	bl func_80045CFC
/* 80036894 000324F4  57 80 06 31 */	rlwinm. r0, r28, 0, 0x18, 0x18
/* 80036898 000324F8  40 82 00 6C */	bne lbl_80036904
/* 8003689C 000324FC  7F E3 FB 78 */	mr r3, r31
/* 800368A0 00032500  7F 84 E3 78 */	mr r4, r28
/* 800368A4 00032504  38 A1 00 14 */	addi r5, r1, 0x14
/* 800368A8 00032508  38 C1 00 0C */	addi r6, r1, 0xc
/* 800368AC 0003250C  38 E0 00 01 */	li r7, 1
/* 800368B0 00032510  48 00 F3 69 */	bl func_80045C18
/* 800368B4 00032514  2C 03 00 00 */	cmpwi r3, 0
/* 800368B8 00032518  41 82 00 B0 */	beq lbl_80036968
/* 800368BC 0003251C  2C 1D 00 00 */	cmpwi r29, 0
/* 800368C0 00032520  41 82 00 1C */	beq lbl_800368DC
/* 800368C4 00032524  C0 01 00 14 */	lfs f0, 0x14(r1)
/* 800368C8 00032528  D0 1D 00 00 */	stfs f0, 0(r29)
/* 800368CC 0003252C  C0 01 00 18 */	lfs f0, 0x18(r1)
/* 800368D0 00032530  D0 1D 00 04 */	stfs f0, 4(r29)
/* 800368D4 00032534  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 800368D8 00032538  D0 1D 00 08 */	stfs f0, 8(r29)
lbl_800368DC:
/* 800368DC 0003253C  2C 1E 00 00 */	cmpwi r30, 0
/* 800368E0 00032540  41 82 00 1C */	beq lbl_800368FC
/* 800368E4 00032544  C0 01 00 08 */	lfs f0, 8(r1)
/* 800368E8 00032548  D0 1E 00 00 */	stfs f0, 0(r30)
/* 800368EC 0003254C  C0 01 00 0C */	lfs f0, 0xc(r1)
/* 800368F0 00032550  D0 1E 00 04 */	stfs f0, 4(r30)
/* 800368F4 00032554  C0 01 00 10 */	lfs f0, 0x10(r1)
/* 800368F8 00032558  D0 1E 00 08 */	stfs f0, 8(r30)
lbl_800368FC:
/* 800368FC 0003255C  38 60 00 00 */	li r3, 0
/* 80036900 00032560  48 00 00 6C */	b lbl_8003696C
lbl_80036904:
/* 80036904 00032564  7F E3 FB 78 */	mr r3, r31
/* 80036908 00032568  57 84 07 BE */	clrlwi r4, r28, 0x1e
/* 8003690C 0003256C  38 A1 00 14 */	addi r5, r1, 0x14
/* 80036910 00032570  38 C1 00 0C */	addi r6, r1, 0xc
/* 80036914 00032574  48 00 F2 75 */	bl func_80045B88
/* 80036918 00032578  2C 03 00 00 */	cmpwi r3, 0
/* 8003691C 0003257C  41 82 00 4C */	beq lbl_80036968
/* 80036920 00032580  2C 1D 00 00 */	cmpwi r29, 0
/* 80036924 00032584  41 82 00 1C */	beq lbl_80036940
/* 80036928 00032588  C0 01 00 14 */	lfs f0, 0x14(r1)
/* 8003692C 0003258C  D0 1D 00 00 */	stfs f0, 0(r29)
/* 80036930 00032590  C0 01 00 18 */	lfs f0, 0x18(r1)
/* 80036934 00032594  D0 1D 00 04 */	stfs f0, 4(r29)
/* 80036938 00032598  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 8003693C 0003259C  D0 1D 00 08 */	stfs f0, 8(r29)
lbl_80036940:
/* 80036940 000325A0  2C 1E 00 00 */	cmpwi r30, 0
/* 80036944 000325A4  41 82 00 1C */	beq lbl_80036960
/* 80036948 000325A8  C0 01 00 08 */	lfs f0, 8(r1)
/* 8003694C 000325AC  D0 1E 00 00 */	stfs f0, 0(r30)
/* 80036950 000325B0  C0 01 00 0C */	lfs f0, 0xc(r1)
/* 80036954 000325B4  D0 1E 00 04 */	stfs f0, 4(r30)
/* 80036958 000325B8  C0 01 00 10 */	lfs f0, 0x10(r1)
/* 8003695C 000325BC  D0 1E 00 08 */	stfs f0, 8(r30)
lbl_80036960:
/* 80036960 000325C0  38 60 00 00 */	li r3, 0
/* 80036964 000325C4  48 00 00 08 */	b lbl_8003696C
lbl_80036968:
/* 80036968 000325C8  38 60 00 00 */	li r3, 0
lbl_8003696C:
/* 8003696C 000325CC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80036970 000325D0  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80036974 000325D4  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80036978 000325D8  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 8003697C 000325DC  83 81 00 20 */	lwz r28, 0x20(r1)
/* 80036980 000325E0  7C 08 03 A6 */	mtlr r0
/* 80036984 000325E4  38 21 00 30 */	addi r1, r1, 0x30
/* 80036988 000325E8  4E 80 00 20 */	blr

.global func_8003698C
func_8003698C:
/* 8003698C 000325EC  2C 04 00 80 */	cmpwi r4, 0x80
/* 80036990 000325F0  41 80 00 0C */	blt lbl_8003699C
/* 80036994 000325F4  2C 04 00 84 */	cmpwi r4, 0x84
/* 80036998 000325F8  40 81 00 14 */	ble lbl_800369AC
lbl_8003699C:
/* 8003699C 000325FC  2C 04 00 00 */	cmpwi r4, 0
/* 800369A0 00032600  41 80 00 1C */	blt lbl_800369BC
/* 800369A4 00032604  2C 04 00 04 */	cmpwi r4, 4
/* 800369A8 00032608  41 81 00 14 */	bgt lbl_800369BC
lbl_800369AC:
/* 800369AC 0003260C  54 80 17 3A */	rlwinm r0, r4, 2, 0x1c, 0x1d
/* 800369B0 00032610  7C 63 02 14 */	add r3, r3, r0
/* 800369B4 00032614  80 63 00 18 */	lwz r3, 0x18(r3)
/* 800369B8 00032618  4E 80 00 20 */	blr
lbl_800369BC:
/* 800369BC 0003261C  38 60 00 00 */	li r3, 0
/* 800369C0 00032620  4E 80 00 20 */	blr

.global func_800369C4
func_800369C4:
/* 800369C4 00032624  2C 04 00 80 */	cmpwi r4, 0x80
/* 800369C8 00032628  41 80 00 0C */	blt lbl_800369D4
/* 800369CC 0003262C  2C 04 00 84 */	cmpwi r4, 0x84
/* 800369D0 00032630  40 81 00 14 */	ble lbl_800369E4
lbl_800369D4:
/* 800369D4 00032634  2C 04 00 00 */	cmpwi r4, 0
/* 800369D8 00032638  4D 80 00 20 */	bltlr
/* 800369DC 0003263C  2C 04 00 04 */	cmpwi r4, 4
/* 800369E0 00032640  4D 81 00 20 */	bgtlr
lbl_800369E4:
/* 800369E4 00032644  54 80 17 3A */	rlwinm r0, r4, 2, 0x1c, 0x1d
/* 800369E8 00032648  7C 63 02 14 */	add r3, r3, r0
/* 800369EC 0003264C  90 A3 00 18 */	stw r5, 0x18(r3)
/* 800369F0 00032650  4E 80 00 20 */	blr

.global func_800369F4
func_800369F4:
/* 800369F4 00032654  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 800369F8 00032658  7C 08 02 A6 */	mflr r0
/* 800369FC 0003265C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80036A00 00032660  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80036A04 00032664  7C DF 33 78 */	mr r31, r6
/* 80036A08 00032668  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80036A0C 0003266C  7C BE 2B 78 */	mr r30, r5
/* 80036A10 00032670  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80036A14 00032674  7C 9D 23 78 */	mr r29, r4
/* 80036A18 00032678  93 81 00 10 */	stw r28, 0x10(r1)
/* 80036A1C 0003267C  7C 7C 1B 78 */	mr r28, r3
/* 80036A20 00032680  48 00 EB 71 */	bl func_80045590
/* 80036A24 00032684  2C 03 00 00 */	cmpwi r3, 0
/* 80036A28 00032688  41 82 00 C4 */	beq lbl_80036AEC
/* 80036A2C 0003268C  7F A4 EB 78 */	mr r4, r29
/* 80036A30 00032690  38 A0 00 00 */	li r5, 0
/* 80036A34 00032694  48 00 F0 CD */	bl func_80045B00
/* 80036A38 00032698  28 1E 00 11 */	cmplwi r30, 0x11
/* 80036A3C 0003269C  41 81 00 B0 */	bgt lbl_80036AEC
/* 80036A40 000326A0  3C 80 80 41 */	lis r4, lbl_8040A3A8@ha
/* 80036A44 000326A4  57 C0 10 3A */	slwi r0, r30, 2
/* 80036A48 000326A8  38 84 A3 A8 */	addi r4, r4, lbl_8040A3A8@l
/* 80036A4C 000326AC  7C 84 00 2E */	lwzx r4, r4, r0
/* 80036A50 000326B0  7C 89 03 A6 */	mtctr r4
/* 80036A54 000326B4  4E 80 04 20 */	bctr
/* 80036A58 000326B8  1C 1D 00 34 */	mulli r0, r29, 0x34
/* 80036A5C 000326BC  7C 7C 02 14 */	add r3, r28, r0
/* 80036A60 000326C0  B3 E3 03 40 */	sth r31, 0x340(r3)
/* 80036A64 000326C4  48 00 00 88 */	b lbl_80036AEC
/* 80036A68 000326C8  1C 1D 00 34 */	mulli r0, r29, 0x34
/* 80036A6C 000326CC  7C 7C 02 14 */	add r3, r28, r0
/* 80036A70 000326D0  9B E3 03 45 */	stb r31, 0x345(r3)
/* 80036A74 000326D4  48 00 00 78 */	b lbl_80036AEC
/* 80036A78 000326D8  1C 1D 00 34 */	mulli r0, r29, 0x34
/* 80036A7C 000326DC  7C 7F 00 D0 */	neg r3, r31
/* 80036A80 000326E0  7C 63 FB 78 */	or r3, r3, r31
/* 80036A84 000326E4  54 64 0F FE */	srwi r4, r3, 0x1f
/* 80036A88 000326E8  7C 7C 02 14 */	add r3, r28, r0
/* 80036A8C 000326EC  98 83 03 44 */	stb r4, 0x344(r3)
/* 80036A90 000326F0  48 00 00 5C */	b lbl_80036AEC
/* 80036A94 000326F4  1C 1D 00 34 */	mulli r0, r29, 0x34
/* 80036A98 000326F8  7C 7C 02 14 */	add r3, r28, r0
/* 80036A9C 000326FC  B3 E3 03 42 */	sth r31, 0x342(r3)
/* 80036AA0 00032700  48 00 00 4C */	b lbl_80036AEC
/* 80036AA4 00032704  1C 1D 00 34 */	mulli r0, r29, 0x34
/* 80036AA8 00032708  7C 7C 02 14 */	add r3, r28, r0
/* 80036AAC 0003270C  93 E3 03 4C */	stw r31, 0x34c(r3)
/* 80036AB0 00032710  48 00 00 3C */	b lbl_80036AEC
/* 80036AB4 00032714  1C 1D 00 34 */	mulli r0, r29, 0x34
/* 80036AB8 00032718  7F E4 00 34 */	cntlzw r4, r31
/* 80036ABC 0003271C  2C 1F 00 00 */	cmpwi r31, 0
/* 80036AC0 00032720  54 85 D9 7E */	srwi r5, r4, 5
/* 80036AC4 00032724  7C 9C 02 14 */	add r4, r28, r0
/* 80036AC8 00032728  98 A4 03 46 */	stb r5, 0x346(r4)
/* 80036ACC 0003272C  40 82 00 14 */	bne lbl_80036AE0
/* 80036AD0 00032730  80 03 00 00 */	lwz r0, 0(r3)
/* 80036AD4 00032734  64 00 01 00 */	oris r0, r0, 0x100
/* 80036AD8 00032738  90 03 00 00 */	stw r0, 0(r3)
/* 80036ADC 0003273C  48 00 00 10 */	b lbl_80036AEC
lbl_80036AE0:
/* 80036AE0 00032740  80 03 00 00 */	lwz r0, 0(r3)
/* 80036AE4 00032744  54 00 02 0C */	rlwinm r0, r0, 0, 8, 6
/* 80036AE8 00032748  90 03 00 00 */	stw r0, 0(r3)
lbl_80036AEC:
/* 80036AEC 0003274C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80036AF0 00032750  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80036AF4 00032754  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80036AF8 00032758  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80036AFC 0003275C  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80036B00 00032760  7C 08 03 A6 */	mtlr r0
/* 80036B04 00032764  38 21 00 20 */	addi r1, r1, 0x20
/* 80036B08 00032768  4E 80 00 20 */	blr

.global func_80036B0C
func_80036B0C:
/* 80036B0C 0003276C  2C 04 00 00 */	cmpwi r4, 0
/* 80036B10 00032770  4D 80 00 20 */	bltlr
/* 80036B14 00032774  2C 04 00 03 */	cmpwi r4, 3
/* 80036B18 00032778  40 81 00 08 */	ble lbl_80036B20
/* 80036B1C 0003277C  4E 80 00 20 */	blr
lbl_80036B20:
/* 80036B20 00032780  1C 04 00 34 */	mulli r0, r4, 0x34
/* 80036B24 00032784  A1 25 00 00 */	lhz r9, 0(r5)
/* 80036B28 00032788  A1 05 00 02 */	lhz r8, 2(r5)
/* 80036B2C 0003278C  88 E5 00 04 */	lbz r7, 4(r5)
/* 80036B30 00032790  7C 63 02 14 */	add r3, r3, r0
/* 80036B34 00032794  88 C5 00 05 */	lbz r6, 5(r5)
/* 80036B38 00032798  A0 03 03 40 */	lhz r0, 0x340(r3)
/* 80036B3C 0003279C  88 85 00 06 */	lbz r4, 6(r5)
/* 80036B40 000327A0  B0 03 04 10 */	sth r0, 0x410(r3)
/* 80036B44 000327A4  88 05 00 07 */	lbz r0, 7(r5)
/* 80036B48 000327A8  A1 43 03 42 */	lhz r10, 0x342(r3)
/* 80036B4C 000327AC  B1 43 04 12 */	sth r10, 0x412(r3)
/* 80036B50 000327B0  89 43 03 44 */	lbz r10, 0x344(r3)
/* 80036B54 000327B4  99 43 04 14 */	stb r10, 0x414(r3)
/* 80036B58 000327B8  89 43 03 45 */	lbz r10, 0x345(r3)
/* 80036B5C 000327BC  99 43 04 15 */	stb r10, 0x415(r3)
/* 80036B60 000327C0  89 43 03 46 */	lbz r10, 0x346(r3)
/* 80036B64 000327C4  99 43 04 16 */	stb r10, 0x416(r3)
/* 80036B68 000327C8  89 43 03 47 */	lbz r10, 0x347(r3)
/* 80036B6C 000327CC  99 43 04 17 */	stb r10, 0x417(r3)
/* 80036B70 000327D0  89 43 03 48 */	lbz r10, 0x348(r3)
/* 80036B74 000327D4  99 43 04 18 */	stb r10, 0x418(r3)
/* 80036B78 000327D8  89 43 03 49 */	lbz r10, 0x349(r3)
/* 80036B7C 000327DC  99 43 04 19 */	stb r10, 0x419(r3)
/* 80036B80 000327E0  A1 43 03 4A */	lhz r10, 0x34a(r3)
/* 80036B84 000327E4  B1 43 04 1A */	sth r10, 0x41a(r3)
/* 80036B88 000327E8  81 43 03 4C */	lwz r10, 0x34c(r3)
/* 80036B8C 000327EC  91 43 04 1C */	stw r10, 0x41c(r3)
/* 80036B90 000327F0  89 43 03 50 */	lbz r10, 0x350(r3)
/* 80036B94 000327F4  99 43 04 20 */	stb r10, 0x420(r3)
/* 80036B98 000327F8  89 43 03 51 */	lbz r10, 0x351(r3)
/* 80036B9C 000327FC  99 43 04 21 */	stb r10, 0x421(r3)
/* 80036BA0 00032800  A1 63 03 52 */	lhz r11, 0x352(r3)
/* 80036BA4 00032804  A1 43 03 54 */	lhz r10, 0x354(r3)
/* 80036BA8 00032808  B1 63 04 22 */	sth r11, 0x422(r3)
/* 80036BAC 0003280C  B1 43 04 24 */	sth r10, 0x424(r3)
/* 80036BB0 00032810  A1 63 03 56 */	lhz r11, 0x356(r3)
/* 80036BB4 00032814  A1 43 03 58 */	lhz r10, 0x358(r3)
/* 80036BB8 00032818  B1 63 04 26 */	sth r11, 0x426(r3)
/* 80036BBC 0003281C  B1 43 04 28 */	sth r10, 0x428(r3)
/* 80036BC0 00032820  A1 63 03 5A */	lhz r11, 0x35a(r3)
/* 80036BC4 00032824  A1 43 03 5C */	lhz r10, 0x35c(r3)
/* 80036BC8 00032828  B1 63 04 2A */	sth r11, 0x42a(r3)
/* 80036BCC 0003282C  B1 43 04 2C */	sth r10, 0x42c(r3)
/* 80036BD0 00032830  A1 63 03 5E */	lhz r11, 0x35e(r3)
/* 80036BD4 00032834  A1 43 03 60 */	lhz r10, 0x360(r3)
/* 80036BD8 00032838  B1 63 04 2E */	sth r11, 0x42e(r3)
/* 80036BDC 0003283C  B1 43 04 30 */	sth r10, 0x430(r3)
/* 80036BE0 00032840  A1 63 03 62 */	lhz r11, 0x362(r3)
/* 80036BE4 00032844  A1 43 03 64 */	lhz r10, 0x364(r3)
/* 80036BE8 00032848  B1 63 04 32 */	sth r11, 0x432(r3)
/* 80036BEC 0003284C  B1 43 04 34 */	sth r10, 0x434(r3)
/* 80036BF0 00032850  A1 63 03 66 */	lhz r11, 0x366(r3)
/* 80036BF4 00032854  A1 43 03 68 */	lhz r10, 0x368(r3)
/* 80036BF8 00032858  B1 63 04 36 */	sth r11, 0x436(r3)
/* 80036BFC 0003285C  B1 43 04 38 */	sth r10, 0x438(r3)
/* 80036C00 00032860  A1 63 03 6A */	lhz r11, 0x36a(r3)
/* 80036C04 00032864  A1 43 03 6C */	lhz r10, 0x36c(r3)
/* 80036C08 00032868  B1 63 04 3A */	sth r11, 0x43a(r3)
/* 80036C0C 0003286C  B1 43 04 3C */	sth r10, 0x43c(r3)
/* 80036C10 00032870  A1 63 03 6E */	lhz r11, 0x36e(r3)
/* 80036C14 00032874  A1 43 03 70 */	lhz r10, 0x370(r3)
/* 80036C18 00032878  B1 63 04 3E */	sth r11, 0x43e(r3)
/* 80036C1C 0003287C  B1 43 04 40 */	sth r10, 0x440(r3)
/* 80036C20 00032880  B1 23 03 40 */	sth r9, 0x340(r3)
/* 80036C24 00032884  B1 03 03 42 */	sth r8, 0x342(r3)
/* 80036C28 00032888  98 E3 03 44 */	stb r7, 0x344(r3)
/* 80036C2C 0003288C  98 C3 03 45 */	stb r6, 0x345(r3)
/* 80036C30 00032890  98 83 03 46 */	stb r4, 0x346(r3)
/* 80036C34 00032894  98 03 03 47 */	stb r0, 0x347(r3)
/* 80036C38 00032898  88 85 00 08 */	lbz r4, 8(r5)
/* 80036C3C 0003289C  88 05 00 09 */	lbz r0, 9(r5)
/* 80036C40 000328A0  98 83 03 48 */	stb r4, 0x348(r3)
/* 80036C44 000328A4  A0 85 00 0A */	lhz r4, 0xa(r5)
/* 80036C48 000328A8  98 03 03 49 */	stb r0, 0x349(r3)
/* 80036C4C 000328AC  80 05 00 0C */	lwz r0, 0xc(r5)
/* 80036C50 000328B0  B0 83 03 4A */	sth r4, 0x34a(r3)
/* 80036C54 000328B4  88 85 00 10 */	lbz r4, 0x10(r5)
/* 80036C58 000328B8  90 03 03 4C */	stw r0, 0x34c(r3)
/* 80036C5C 000328BC  88 05 00 11 */	lbz r0, 0x11(r5)
/* 80036C60 000328C0  98 83 03 50 */	stb r4, 0x350(r3)
/* 80036C64 000328C4  A0 85 00 12 */	lhz r4, 0x12(r5)
/* 80036C68 000328C8  98 03 03 51 */	stb r0, 0x351(r3)
/* 80036C6C 000328CC  A0 05 00 14 */	lhz r0, 0x14(r5)
/* 80036C70 000328D0  B0 83 03 52 */	sth r4, 0x352(r3)
/* 80036C74 000328D4  A0 85 00 16 */	lhz r4, 0x16(r5)
/* 80036C78 000328D8  B0 03 03 54 */	sth r0, 0x354(r3)
/* 80036C7C 000328DC  A0 05 00 18 */	lhz r0, 0x18(r5)
/* 80036C80 000328E0  B0 83 03 56 */	sth r4, 0x356(r3)
/* 80036C84 000328E4  A0 85 00 1A */	lhz r4, 0x1a(r5)
/* 80036C88 000328E8  B0 03 03 58 */	sth r0, 0x358(r3)
/* 80036C8C 000328EC  A0 05 00 1C */	lhz r0, 0x1c(r5)
/* 80036C90 000328F0  B0 83 03 5A */	sth r4, 0x35a(r3)
/* 80036C94 000328F4  A0 85 00 1E */	lhz r4, 0x1e(r5)
/* 80036C98 000328F8  B0 03 03 5C */	sth r0, 0x35c(r3)
/* 80036C9C 000328FC  A0 05 00 20 */	lhz r0, 0x20(r5)
/* 80036CA0 00032900  B0 83 03 5E */	sth r4, 0x35e(r3)
/* 80036CA4 00032904  A0 85 00 22 */	lhz r4, 0x22(r5)
/* 80036CA8 00032908  B0 03 03 60 */	sth r0, 0x360(r3)
/* 80036CAC 0003290C  A0 05 00 24 */	lhz r0, 0x24(r5)
/* 80036CB0 00032910  B0 83 03 62 */	sth r4, 0x362(r3)
/* 80036CB4 00032914  A0 85 00 26 */	lhz r4, 0x26(r5)
/* 80036CB8 00032918  B0 03 03 64 */	sth r0, 0x364(r3)
/* 80036CBC 0003291C  A0 05 00 28 */	lhz r0, 0x28(r5)
/* 80036CC0 00032920  B0 83 03 66 */	sth r4, 0x366(r3)
/* 80036CC4 00032924  A0 85 00 2A */	lhz r4, 0x2a(r5)
/* 80036CC8 00032928  B0 03 03 68 */	sth r0, 0x368(r3)
/* 80036CCC 0003292C  A0 05 00 2C */	lhz r0, 0x2c(r5)
/* 80036CD0 00032930  B0 83 03 6A */	sth r4, 0x36a(r3)
/* 80036CD4 00032934  A0 85 00 2E */	lhz r4, 0x2e(r5)
/* 80036CD8 00032938  B0 03 03 6C */	sth r0, 0x36c(r3)
/* 80036CDC 0003293C  A0 05 00 30 */	lhz r0, 0x30(r5)
/* 80036CE0 00032940  B0 83 03 6E */	sth r4, 0x36e(r3)
/* 80036CE4 00032944  B0 03 03 70 */	sth r0, 0x370(r3)
/* 80036CE8 00032948  4E 80 00 20 */	blr

.global func_80036CEC
func_80036CEC:
/* 80036CEC 0003294C  2C 04 00 00 */	cmpwi r4, 0
/* 80036CF0 00032950  4D 80 00 20 */	bltlr
/* 80036CF4 00032954  2C 04 00 03 */	cmpwi r4, 3
/* 80036CF8 00032958  40 81 00 08 */	ble lbl_80036D00
/* 80036CFC 0003295C  4E 80 00 20 */	blr
lbl_80036D00:
/* 80036D00 00032960  1C 04 00 34 */	mulli r0, r4, 0x34
/* 80036D04 00032964  38 80 00 01 */	li r4, 1
/* 80036D08 00032968  7C 63 02 14 */	add r3, r3, r0
/* 80036D0C 0003296C  98 83 03 47 */	stb r4, 0x347(r3)
/* 80036D10 00032970  4E 80 00 20 */	blr

.global func_80036D14
func_80036D14:
/* 80036D14 00032974  2C 04 00 00 */	cmpwi r4, 0
/* 80036D18 00032978  41 80 00 0C */	blt lbl_80036D24
/* 80036D1C 0003297C  2C 04 00 03 */	cmpwi r4, 3
/* 80036D20 00032980  40 81 00 0C */	ble lbl_80036D2C
lbl_80036D24:
/* 80036D24 00032984  38 60 00 00 */	li r3, 0
/* 80036D28 00032988  4E 80 00 20 */	blr
lbl_80036D2C:
/* 80036D2C 0003298C  1C 04 00 34 */	mulli r0, r4, 0x34
/* 80036D30 00032990  7C 63 02 14 */	add r3, r3, r0
/* 80036D34 00032994  38 63 03 40 */	addi r3, r3, 0x340
/* 80036D38 00032998  4E 80 00 20 */	blr

.global func_80036D3C
func_80036D3C:
/* 80036D3C 0003299C  2C 04 00 00 */	cmpwi r4, 0
/* 80036D40 000329A0  41 80 00 0C */	blt lbl_80036D4C
/* 80036D44 000329A4  2C 04 00 03 */	cmpwi r4, 3
/* 80036D48 000329A8  40 81 00 0C */	ble lbl_80036D54
lbl_80036D4C:
/* 80036D4C 000329AC  38 60 00 00 */	li r3, 0
/* 80036D50 000329B0  4E 80 00 20 */	blr
lbl_80036D54:
/* 80036D54 000329B4  1C 04 00 34 */	mulli r0, r4, 0x34
/* 80036D58 000329B8  7C 63 02 14 */	add r3, r3, r0
/* 80036D5C 000329BC  88 03 03 47 */	lbz r0, 0x347(r3)
/* 80036D60 000329C0  2C 00 00 00 */	cmpwi r0, 0
/* 80036D64 000329C4  41 82 00 0C */	beq lbl_80036D70
/* 80036D68 000329C8  38 63 03 40 */	addi r3, r3, 0x340
/* 80036D6C 000329CC  4E 80 00 20 */	blr
lbl_80036D70:
/* 80036D70 000329D0  38 63 04 10 */	addi r3, r3, 0x410
/* 80036D74 000329D4  4E 80 00 20 */	blr

.global func_80036D78
func_80036D78:
/* 80036D78 000329D8  2C 04 00 00 */	cmpwi r4, 0
/* 80036D7C 000329DC  41 80 00 0C */	blt lbl_80036D88
/* 80036D80 000329E0  2C 04 00 03 */	cmpwi r4, 3
/* 80036D84 000329E4  40 81 00 0C */	ble lbl_80036D90
lbl_80036D88:
/* 80036D88 000329E8  38 60 00 00 */	li r3, 0
/* 80036D8C 000329EC  4E 80 00 20 */	blr
lbl_80036D90:
/* 80036D90 000329F0  1C 04 00 34 */	mulli r0, r4, 0x34
/* 80036D94 000329F4  7C 63 02 14 */	add r3, r3, r0
/* 80036D98 000329F8  38 63 04 10 */	addi r3, r3, 0x410
/* 80036D9C 000329FC  4E 80 00 20 */	blr

.global func_80036DA0
func_80036DA0:
/* 80036DA0 00032A00  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80036DA4 00032A04  7C 08 02 A6 */	mflr r0
/* 80036DA8 00032A08  2C 04 00 00 */	cmpwi r4, 0
/* 80036DAC 00032A0C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80036DB0 00032A10  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80036DB4 00032A14  7C 9F 23 78 */	mr r31, r4
/* 80036DB8 00032A18  41 80 00 28 */	blt lbl_80036DE0
/* 80036DBC 00032A1C  2C 04 00 03 */	cmpwi r4, 3
/* 80036DC0 00032A20  41 81 00 20 */	bgt lbl_80036DE0
/* 80036DC4 00032A24  38 A0 00 0F */	li r5, 0xf
/* 80036DC8 00032A28  38 C0 00 00 */	li r6, 0
/* 80036DCC 00032A2C  4B FF F7 89 */	bl func_80036554
/* 80036DD0 00032A30  7C 03 00 D0 */	neg r0, r3
/* 80036DD4 00032A34  7C 00 1B 78 */	or r0, r0, r3
/* 80036DD8 00032A38  54 03 0F FE */	srwi r3, r0, 0x1f
/* 80036DDC 00032A3C  48 00 00 7C */	b lbl_80036E58
lbl_80036DE0:
/* 80036DE0 00032A40  2C 04 00 80 */	cmpwi r4, 0x80
/* 80036DE4 00032A44  41 80 00 68 */	blt lbl_80036E4C
/* 80036DE8 00032A48  2C 04 00 83 */	cmpwi r4, 0x83
/* 80036DEC 00032A4C  41 81 00 60 */	bgt lbl_80036E4C
/* 80036DF0 00032A50  4B FF F0 79 */	bl func_80035E68
/* 80036DF4 00032A54  2C 03 00 00 */	cmpwi r3, 0
/* 80036DF8 00032A58  40 82 00 0C */	bne lbl_80036E04
/* 80036DFC 00032A5C  38 60 00 00 */	li r3, 0
/* 80036E00 00032A60  48 00 00 58 */	b lbl_80036E58
lbl_80036E04:
/* 80036E04 00032A64  2C 03 00 01 */	cmpwi r3, 1
/* 80036E08 00032A68  40 82 00 14 */	bne lbl_80036E1C
/* 80036E0C 00032A6C  38 1F FF 80 */	addi r0, r31, -128
/* 80036E10 00032A70  7C 00 00 34 */	cntlzw r0, r0
/* 80036E14 00032A74  54 03 D9 7E */	srwi r3, r0, 5
/* 80036E18 00032A78  48 00 00 40 */	b lbl_80036E58
lbl_80036E1C:
/* 80036E1C 00032A7C  2C 03 00 02 */	cmpwi r3, 2
/* 80036E20 00032A80  40 82 00 1C */	bne lbl_80036E3C
/* 80036E24 00032A84  38 00 00 81 */	li r0, 0x81
/* 80036E28 00032A88  57 E3 0F FE */	srwi r3, r31, 0x1f
/* 80036E2C 00032A8C  7C 04 FE 70 */	srawi r4, r0, 0x1f
/* 80036E30 00032A90  7C 1F 00 10 */	subfc r0, r31, r0
/* 80036E34 00032A94  7C 64 19 14 */	adde r3, r4, r3
/* 80036E38 00032A98  48 00 00 20 */	b lbl_80036E58
lbl_80036E3C:
/* 80036E3C 00032A9C  2C 03 00 03 */	cmpwi r3, 3
/* 80036E40 00032AA0  40 82 00 0C */	bne lbl_80036E4C
/* 80036E44 00032AA4  38 60 00 01 */	li r3, 1
/* 80036E48 00032AA8  48 00 00 10 */	b lbl_80036E58
lbl_80036E4C:
/* 80036E4C 00032AAC  38 03 FF 00 */	addi r0, r3, -256
/* 80036E50 00032AB0  7C 00 00 34 */	cntlzw r0, r0
/* 80036E54 00032AB4  54 03 D9 7E */	srwi r3, r0, 5
lbl_80036E58:
/* 80036E58 00032AB8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80036E5C 00032ABC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80036E60 00032AC0  7C 08 03 A6 */	mtlr r0
/* 80036E64 00032AC4  38 21 00 10 */	addi r1, r1, 0x10
/* 80036E68 00032AC8  4E 80 00 20 */	blr

.global func_80036E6C
func_80036E6C:
/* 80036E6C 00032ACC  28 05 00 01 */	cmplwi r5, 1
/* 80036E70 00032AD0  40 82 00 14 */	bne lbl_80036E84
/* 80036E74 00032AD4  1C 04 00 34 */	mulli r0, r4, 0x34
/* 80036E78 00032AD8  7C 63 02 14 */	add r3, r3, r0
/* 80036E7C 00032ADC  88 63 04 20 */	lbz r3, 0x420(r3)
/* 80036E80 00032AE0  4E 80 00 20 */	blr
lbl_80036E84:
/* 80036E84 00032AE4  1C 04 00 34 */	mulli r0, r4, 0x34
/* 80036E88 00032AE8  7C 63 02 14 */	add r3, r3, r0
/* 80036E8C 00032AEC  88 63 03 50 */	lbz r3, 0x350(r3)
/* 80036E90 00032AF0  4E 80 00 20 */	blr

.global func_80036E94
func_80036E94:
/* 80036E94 00032AF4  28 05 00 01 */	cmplwi r5, 1
/* 80036E98 00032AF8  40 82 00 14 */	bne lbl_80036EAC
/* 80036E9C 00032AFC  1C 04 00 34 */	mulli r0, r4, 0x34
/* 80036EA0 00032B00  7C 63 02 14 */	add r3, r3, r0
/* 80036EA4 00032B04  88 63 04 21 */	lbz r3, 0x421(r3)
/* 80036EA8 00032B08  4E 80 00 20 */	blr
lbl_80036EAC:
/* 80036EAC 00032B0C  1C 04 00 34 */	mulli r0, r4, 0x34
/* 80036EB0 00032B10  7C 63 02 14 */	add r3, r3, r0
/* 80036EB4 00032B14  88 63 03 51 */	lbz r3, 0x351(r3)
/* 80036EB8 00032B18  4E 80 00 20 */	blr

.global func_80036EBC
func_80036EBC:
/* 80036EBC 00032B1C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80036EC0 00032B20  7C 08 02 A6 */	mflr r0
/* 80036EC4 00032B24  38 80 00 00 */	li r4, 0
/* 80036EC8 00032B28  38 A0 09 74 */	li r5, 0x974
/* 80036ECC 00032B2C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80036ED0 00032B30  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80036ED4 00032B34  7C 7F 1B 78 */	mr r31, r3
/* 80036ED8 00032B38  4B FC D2 2D */	bl memset
/* 80036EDC 00032B3C  38 A0 00 00 */	li r5, 0
/* 80036EE0 00032B40  38 80 FF FF */	li r4, -1
/* 80036EE4 00032B44  38 7F 08 60 */	addi r3, r31, 0x860
/* 80036EE8 00032B48  38 1F 04 E0 */	addi r0, r31, 0x4e0
/* 80036EEC 00032B4C  90 BF 00 00 */	stw r5, 0(r31)
/* 80036EF0 00032B50  90 9F 00 04 */	stw r4, 4(r31)
/* 80036EF4 00032B54  90 9F 00 08 */	stw r4, 8(r31)
/* 80036EF8 00032B58  90 BF 00 0C */	stw r5, 0xc(r31)
/* 80036EFC 00032B5C  90 7F 09 70 */	stw r3, 0x970(r31)
/* 80036F00 00032B60  90 1F 09 6C */	stw r0, 0x96c(r31)
/* 80036F04 00032B64  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80036F08 00032B68  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80036F0C 00032B6C  7C 08 03 A6 */	mtlr r0
/* 80036F10 00032B70  38 21 00 10 */	addi r1, r1, 0x10
/* 80036F14 00032B74  4E 80 00 20 */	blr

.global func_80036F18
func_80036F18:
/* 80036F18 00032B78  88 63 03 30 */	lbz r3, 0x330(r3)
/* 80036F1C 00032B7C  4E 80 00 20 */	blr

.global func_80036F20
func_80036F20:
/* 80036F20 00032B80  98 83 03 30 */	stb r4, 0x330(r3)
/* 80036F24 00032B84  4E 80 00 20 */	blr

.global func_80036F28
func_80036F28:
/* 80036F28 00032B88  2C 05 00 00 */	cmpwi r5, 0
/* 80036F2C 00032B8C  41 82 00 14 */	beq lbl_80036F40
/* 80036F30 00032B90  80 03 03 34 */	lwz r0, 0x334(r3)
/* 80036F34 00032B94  7C 00 23 78 */	or r0, r0, r4
/* 80036F38 00032B98  90 03 03 34 */	stw r0, 0x334(r3)
/* 80036F3C 00032B9C  4E 80 00 20 */	blr
lbl_80036F40:
/* 80036F40 00032BA0  80 03 03 34 */	lwz r0, 0x334(r3)
/* 80036F44 00032BA4  7C 00 20 78 */	andc r0, r0, r4
/* 80036F48 00032BA8  90 03 03 34 */	stw r0, 0x334(r3)
/* 80036F4C 00032BAC  4E 80 00 20 */	blr

.global func_80036F50
func_80036F50:
/* 80036F50 00032BB0  80 03 03 34 */	lwz r0, 0x334(r3)
/* 80036F54 00032BB4  7C 03 20 38 */	and r3, r0, r4
/* 80036F58 00032BB8  7C 03 00 D0 */	neg r0, r3
/* 80036F5C 00032BBC  7C 00 1B 78 */	or r0, r0, r3
/* 80036F60 00032BC0  54 03 0F FE */	srwi r3, r0, 0x1f
/* 80036F64 00032BC4  4E 80 00 20 */	blr

.global func_80036F68
func_80036F68:
/* 80036F68 00032BC8  38 A0 00 01 */	li r5, 1
/* 80036F6C 00032BCC  38 6D 97 A0 */	addi r3, r13, lbl_8063EA60-_SDA_BASE_
/* 80036F70 00032BD0  38 80 00 04 */	li r4, 4
/* 80036F74 00032BD4  38 00 00 00 */	li r0, 0
/* 80036F78 00032BD8  98 AD 97 A0 */	stb r5, lbl_8063EA60-_SDA_BASE_(r13)
/* 80036F7C 00032BDC  B0 83 00 02 */	sth r4, 2(r3)
/* 80036F80 00032BE0  98 03 00 04 */	stb r0, 4(r3)
/* 80036F84 00032BE4  4E 80 00 20 */	blr