summaryrefslogtreecommitdiff
path: root/asm/SDK/DWC/gamespy/gbucket.s
blob: 139df19984651952f3bc843dc92a4fcbd34f2b9e (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
.include "macros.inc"

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

.global BucketNew
BucketNew:
/* 803571CC 00352E2C  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 803571D0 00352E30  7C 08 02 A6 */	mflr r0
/* 803571D4 00352E34  2C 03 00 00 */	cmpwi r3, 0
/* 803571D8 00352E38  90 01 00 54 */	stw r0, 0x54(r1)
/* 803571DC 00352E3C  93 E1 00 4C */	stw r31, 0x4c(r1)
/* 803571E0 00352E40  7C DF 33 78 */	mr r31, r6
/* 803571E4 00352E44  93 C1 00 48 */	stw r30, 0x48(r1)
/* 803571E8 00352E48  7C BE 2B 78 */	mr r30, r5
/* 803571EC 00352E4C  93 A1 00 44 */	stw r29, 0x44(r1)
/* 803571F0 00352E50  7C 9D 23 78 */	mr r29, r4
/* 803571F4 00352E54  93 81 00 40 */	stw r28, 0x40(r1)
/* 803571F8 00352E58  7C 7C 1B 78 */	mr r28, r3
/* 803571FC 00352E5C  40 82 00 08 */	bne lbl_80357204
/* 80357200 00352E60  83 8D B1 08 */	lwz r28, lbl_806403C8-_SDA_BASE_(r13)
lbl_80357204:
/* 80357204 00352E64  7F A3 EB 78 */	mr r3, r29
/* 80357208 00352E68  4B FE 1C FD */	bl goastrdup
/* 8035720C 00352E6C  38 80 00 00 */	li r4, 0
/* 80357210 00352E70  38 00 00 01 */	li r0, 1
/* 80357214 00352E74  2C 1E 00 00 */	cmpwi r30, 0
/* 80357218 00352E78  90 61 00 20 */	stw r3, 0x20(r1)
/* 8035721C 00352E7C  93 C1 00 24 */	stw r30, 0x24(r1)
/* 80357220 00352E80  90 81 00 30 */	stw r4, 0x30(r1)
/* 80357224 00352E84  90 01 00 28 */	stw r0, 0x28(r1)
/* 80357228 00352E88  40 82 00 10 */	bne lbl_80357238
/* 8035722C 00352E8C  80 1F 00 00 */	lwz r0, 0(r31)
/* 80357230 00352E90  90 01 00 30 */	stw r0, 0x30(r1)
/* 80357234 00352E94  48 00 00 78 */	b lbl_803572AC
lbl_80357238:
/* 80357238 00352E98  2C 1E 00 01 */	cmpwi r30, 1
/* 8035723C 00352E9C  40 82 00 10 */	bne lbl_8035724C
/* 80357240 00352EA0  C8 1F 00 00 */	lfd f0, 0(r31)
/* 80357244 00352EA4  D8 01 00 30 */	stfd f0, 0x30(r1)
/* 80357248 00352EA8  48 00 00 64 */	b lbl_803572AC
lbl_8035724C:
/* 8035724C 00352EAC  2C 1E 00 02 */	cmpwi r30, 2
/* 80357250 00352EB0  40 82 00 5C */	bne lbl_803572AC
/* 80357254 00352EB4  2C 04 00 00 */	cmpwi r4, 0
/* 80357258 00352EB8  41 82 00 0C */	beq lbl_80357264
/* 8035725C 00352EBC  38 60 00 00 */	li r3, 0
/* 80357260 00352EC0  4B FE 20 D9 */	bl gsifree
lbl_80357264:
/* 80357264 00352EC4  2C 1F 00 00 */	cmpwi r31, 0
/* 80357268 00352EC8  40 82 00 0C */	bne lbl_80357274
/* 8035726C 00352ECC  38 A0 00 00 */	li r5, 0
/* 80357270 00352ED0  48 00 00 38 */	b lbl_803572A8
lbl_80357274:
/* 80357274 00352ED4  7F E3 FB 78 */	mr r3, r31
/* 80357278 00352ED8  4B FE 1C 8D */	bl goastrdup
/* 8035727C 00352EDC  38 80 00 2F */	li r4, 0x2f
/* 80357280 00352EE0  7C 65 1B 78 */	mr r5, r3
/* 80357284 00352EE4  48 00 00 18 */	b lbl_8035729C
lbl_80357288:
/* 80357288 00352EE8  7C C0 07 74 */	extsb r0, r6
/* 8035728C 00352EEC  2C 00 00 5C */	cmpwi r0, 0x5c
/* 80357290 00352EF0  40 82 00 08 */	bne lbl_80357298
/* 80357294 00352EF4  98 83 00 00 */	stb r4, 0(r3)
lbl_80357298:
/* 80357298 00352EF8  38 63 00 01 */	addi r3, r3, 1
lbl_8035729C:
/* 8035729C 00352EFC  88 C3 00 00 */	lbz r6, 0(r3)
/* 803572A0 00352F00  7C C0 07 75 */	extsb. r0, r6
/* 803572A4 00352F04  40 82 FF E4 */	bne lbl_80357288
lbl_803572A8:
/* 803572A8 00352F08  90 A1 00 30 */	stw r5, 0x30(r1)
lbl_803572AC:
/* 803572AC 00352F0C  80 7C 00 00 */	lwz r3, 0(r28)
/* 803572B0 00352F10  38 81 00 20 */	addi r4, r1, 0x20
/* 803572B4 00352F14  4B FD F7 1D */	bl TableEnter
/* 803572B8 00352F18  2C 1C 00 00 */	cmpwi r28, 0
/* 803572BC 00352F1C  40 82 00 08 */	bne lbl_803572C4
/* 803572C0 00352F20  83 8D B1 08 */	lwz r28, lbl_806403C8-_SDA_BASE_(r13)
lbl_803572C4:
/* 803572C4 00352F24  93 A1 00 08 */	stw r29, 8(r1)
/* 803572C8 00352F28  38 81 00 08 */	addi r4, r1, 8
/* 803572CC 00352F2C  80 7C 00 00 */	lwz r3, 0(r28)
/* 803572D0 00352F30  4B FD F8 4D */	bl TableLookup
/* 803572D4 00352F34  2C 03 00 00 */	cmpwi r3, 0
/* 803572D8 00352F38  40 82 00 0C */	bne lbl_803572E4
/* 803572DC 00352F3C  38 60 00 00 */	li r3, 0
/* 803572E0 00352F40  48 00 00 1C */	b lbl_803572FC
lbl_803572E4:
/* 803572E4 00352F44  80 03 00 04 */	lwz r0, 4(r3)
/* 803572E8 00352F48  2C 00 00 02 */	cmpwi r0, 2
/* 803572EC 00352F4C  40 82 00 0C */	bne lbl_803572F8
/* 803572F0 00352F50  80 63 00 10 */	lwz r3, 0x10(r3)
/* 803572F4 00352F54  48 00 00 08 */	b lbl_803572FC
lbl_803572F8:
/* 803572F8 00352F58  38 63 00 10 */	addi r3, r3, 0x10
lbl_803572FC:
/* 803572FC 00352F5C  80 01 00 54 */	lwz r0, 0x54(r1)
/* 80357300 00352F60  83 E1 00 4C */	lwz r31, 0x4c(r1)
/* 80357304 00352F64  83 C1 00 48 */	lwz r30, 0x48(r1)
/* 80357308 00352F68  83 A1 00 44 */	lwz r29, 0x44(r1)
/* 8035730C 00352F6C  83 81 00 40 */	lwz r28, 0x40(r1)
/* 80357310 00352F70  7C 08 03 A6 */	mtlr r0
/* 80357314 00352F74  38 21 00 50 */	addi r1, r1, 0x50
/* 80357318 00352F78  4E 80 00 20 */	blr

.global BucketSet
BucketSet:
/* 8035731C 00352F7C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80357320 00352F80  7C 08 02 A6 */	mflr r0
/* 80357324 00352F84  2C 03 00 00 */	cmpwi r3, 0
/* 80357328 00352F88  90 01 00 34 */	stw r0, 0x34(r1)
/* 8035732C 00352F8C  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 80357330 00352F90  93 C1 00 28 */	stw r30, 0x28(r1)
/* 80357334 00352F94  7C BE 2B 78 */	mr r30, r5
/* 80357338 00352F98  40 82 00 08 */	bne lbl_80357340
/* 8035733C 00352F9C  80 6D B1 08 */	lwz r3, lbl_806403C8-_SDA_BASE_(r13)
lbl_80357340:
/* 80357340 00352FA0  90 81 00 08 */	stw r4, 8(r1)
/* 80357344 00352FA4  38 81 00 08 */	addi r4, r1, 8
/* 80357348 00352FA8  80 63 00 00 */	lwz r3, 0(r3)
/* 8035734C 00352FAC  4B FD F7 D1 */	bl TableLookup
/* 80357350 00352FB0  2C 03 00 00 */	cmpwi r3, 0
/* 80357354 00352FB4  7C 7F 1B 78 */	mr r31, r3
/* 80357358 00352FB8  40 82 00 0C */	bne lbl_80357364
/* 8035735C 00352FBC  38 60 00 00 */	li r3, 0
/* 80357360 00352FC0  48 00 00 C0 */	b lbl_80357420
lbl_80357364:
/* 80357364 00352FC4  38 00 00 00 */	li r0, 0
/* 80357368 00352FC8  90 03 00 08 */	stw r0, 8(r3)
/* 8035736C 00352FCC  80 03 00 04 */	lwz r0, 4(r3)
/* 80357370 00352FD0  2C 00 00 00 */	cmpwi r0, 0
/* 80357374 00352FD4  40 82 00 10 */	bne lbl_80357384
/* 80357378 00352FD8  80 1E 00 00 */	lwz r0, 0(r30)
/* 8035737C 00352FDC  90 03 00 10 */	stw r0, 0x10(r3)
/* 80357380 00352FE0  48 00 00 78 */	b lbl_803573F8
lbl_80357384:
/* 80357384 00352FE4  2C 00 00 01 */	cmpwi r0, 1
/* 80357388 00352FE8  40 82 00 10 */	bne lbl_80357398
/* 8035738C 00352FEC  C8 1E 00 00 */	lfd f0, 0(r30)
/* 80357390 00352FF0  D8 03 00 10 */	stfd f0, 0x10(r3)
/* 80357394 00352FF4  48 00 00 64 */	b lbl_803573F8
lbl_80357398:
/* 80357398 00352FF8  2C 00 00 02 */	cmpwi r0, 2
/* 8035739C 00352FFC  40 82 00 5C */	bne lbl_803573F8
/* 803573A0 00353000  80 63 00 10 */	lwz r3, 0x10(r3)
/* 803573A4 00353004  2C 03 00 00 */	cmpwi r3, 0
/* 803573A8 00353008  41 82 00 08 */	beq lbl_803573B0
/* 803573AC 0035300C  4B FE 1F 8D */	bl gsifree
lbl_803573B0:
/* 803573B0 00353010  2C 1E 00 00 */	cmpwi r30, 0
/* 803573B4 00353014  40 82 00 0C */	bne lbl_803573C0
/* 803573B8 00353018  38 A0 00 00 */	li r5, 0
/* 803573BC 0035301C  48 00 00 38 */	b lbl_803573F4
lbl_803573C0:
/* 803573C0 00353020  7F C3 F3 78 */	mr r3, r30
/* 803573C4 00353024  4B FE 1B 41 */	bl goastrdup
/* 803573C8 00353028  38 80 00 2F */	li r4, 0x2f
/* 803573CC 0035302C  7C 65 1B 78 */	mr r5, r3
/* 803573D0 00353030  48 00 00 18 */	b lbl_803573E8
lbl_803573D4:
/* 803573D4 00353034  7C C0 07 74 */	extsb r0, r6
/* 803573D8 00353038  2C 00 00 5C */	cmpwi r0, 0x5c
/* 803573DC 0035303C  40 82 00 08 */	bne lbl_803573E4
/* 803573E0 00353040  98 83 00 00 */	stb r4, 0(r3)
lbl_803573E4:
/* 803573E4 00353044  38 63 00 01 */	addi r3, r3, 1
lbl_803573E8:
/* 803573E8 00353048  88 C3 00 00 */	lbz r6, 0(r3)
/* 803573EC 0035304C  7C C0 07 75 */	extsb. r0, r6
/* 803573F0 00353050  40 82 FF E4 */	bne lbl_803573D4
lbl_803573F4:
/* 803573F4 00353054  90 BF 00 10 */	stw r5, 0x10(r31)
lbl_803573F8:
/* 803573F8 00353058  2C 1F 00 00 */	cmpwi r31, 0
/* 803573FC 0035305C  40 82 00 0C */	bne lbl_80357408
/* 80357400 00353060  38 60 00 00 */	li r3, 0
/* 80357404 00353064  48 00 00 1C */	b lbl_80357420
lbl_80357408:
/* 80357408 00353068  80 1F 00 04 */	lwz r0, 4(r31)
/* 8035740C 0035306C  2C 00 00 02 */	cmpwi r0, 2
/* 80357410 00353070  40 82 00 0C */	bne lbl_8035741C
/* 80357414 00353074  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 80357418 00353078  48 00 00 08 */	b lbl_80357420
lbl_8035741C:
/* 8035741C 0035307C  38 7F 00 10 */	addi r3, r31, 0x10
lbl_80357420:
/* 80357420 00353080  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80357424 00353084  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80357428 00353088  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 8035742C 0035308C  7C 08 03 A6 */	mtlr r0
/* 80357430 00353090  38 21 00 30 */	addi r1, r1, 0x30
/* 80357434 00353094  4E 80 00 20 */	blr

.global BucketAdd
BucketAdd:
/* 80357438 00353098  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 8035743C 0035309C  7C 08 02 A6 */	mflr r0
/* 80357440 003530A0  2C 03 00 00 */	cmpwi r3, 0
/* 80357444 003530A4  90 01 00 54 */	stw r0, 0x54(r1)
/* 80357448 003530A8  93 E1 00 4C */	stw r31, 0x4c(r1)
/* 8035744C 003530AC  7C 7F 1B 78 */	mr r31, r3
/* 80357450 003530B0  93 C1 00 48 */	stw r30, 0x48(r1)
/* 80357454 003530B4  93 A1 00 44 */	stw r29, 0x44(r1)
/* 80357458 003530B8  7C 9D 23 78 */	mr r29, r4
/* 8035745C 003530BC  93 81 00 40 */	stw r28, 0x40(r1)
/* 80357460 003530C0  7C BC 2B 78 */	mr r28, r5
/* 80357464 003530C4  40 82 00 08 */	bne lbl_8035746C
/* 80357468 003530C8  80 6D B1 08 */	lwz r3, lbl_806403C8-_SDA_BASE_(r13)
lbl_8035746C:
/* 8035746C 003530CC  90 81 00 20 */	stw r4, 0x20(r1)
/* 80357470 003530D0  38 81 00 20 */	addi r4, r1, 0x20
/* 80357474 003530D4  80 63 00 00 */	lwz r3, 0(r3)
/* 80357478 003530D8  4B FD F6 A5 */	bl TableLookup
/* 8035747C 003530DC  2C 83 00 00 */	cmpwi cr1, r3, 0
/* 80357480 003530E0  7C 7E 1B 78 */	mr r30, r3
/* 80357484 003530E4  40 86 00 0C */	bne cr1, lbl_80357490
/* 80357488 003530E8  38 60 00 00 */	li r3, 0
/* 8035748C 003530EC  48 00 03 30 */	b lbl_803577BC
lbl_80357490:
/* 80357490 003530F0  80 03 00 04 */	lwz r0, 4(r3)
/* 80357494 003530F4  2C 00 00 00 */	cmpwi r0, 0
/* 80357498 003530F8  40 82 00 EC */	bne lbl_80357584
/* 8035749C 003530FC  40 86 00 0C */	bne cr1, lbl_803574A8
/* 803574A0 00353100  38 A0 00 00 */	li r5, 0
/* 803574A4 00353104  48 00 00 18 */	b lbl_803574BC
lbl_803574A8:
/* 803574A8 00353108  2C 00 00 02 */	cmpwi r0, 2
/* 803574AC 0035310C  40 82 00 0C */	bne lbl_803574B8
/* 803574B0 00353110  80 A3 00 10 */	lwz r5, 0x10(r3)
/* 803574B4 00353114  48 00 00 08 */	b lbl_803574BC
lbl_803574B8:
/* 803574B8 00353118  38 A3 00 10 */	addi r5, r3, 0x10
lbl_803574BC:
/* 803574BC 0035311C  80 9C 00 00 */	lwz r4, 0(r28)
/* 803574C0 00353120  3B AD B0 F8 */	addi r29, r13, lbl_806403B8-_SDA_BASE_
/* 803574C4 00353124  80 05 00 00 */	lwz r0, 0(r5)
/* 803574C8 00353128  7C 04 02 14 */	add r0, r4, r0
/* 803574CC 0035312C  90 0D B0 F8 */	stw r0, lbl_806403B8-_SDA_BASE_(r13)
/* 803574D0 00353130  80 83 00 04 */	lwz r4, 4(r3)
/* 803574D4 00353134  2C 04 00 00 */	cmpwi r4, 0
/* 803574D8 00353138  40 82 00 0C */	bne lbl_803574E4
/* 803574DC 0035313C  90 03 00 10 */	stw r0, 0x10(r3)
/* 803574E0 00353140  48 00 00 78 */	b lbl_80357558
lbl_803574E4:
/* 803574E4 00353144  2C 04 00 01 */	cmpwi r4, 1
/* 803574E8 00353148  40 82 00 10 */	bne lbl_803574F8
/* 803574EC 0035314C  C8 1D 00 00 */	lfd f0, 0(r29)
/* 803574F0 00353150  D8 03 00 10 */	stfd f0, 0x10(r3)
/* 803574F4 00353154  48 00 00 64 */	b lbl_80357558
lbl_803574F8:
/* 803574F8 00353158  2C 04 00 02 */	cmpwi r4, 2
/* 803574FC 0035315C  40 82 00 5C */	bne lbl_80357558
/* 80357500 00353160  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80357504 00353164  2C 03 00 00 */	cmpwi r3, 0
/* 80357508 00353168  41 82 00 08 */	beq lbl_80357510
/* 8035750C 0035316C  4B FE 1E 2D */	bl gsifree
lbl_80357510:
/* 80357510 00353170  2C 1D 00 00 */	cmpwi r29, 0
/* 80357514 00353174  40 82 00 0C */	bne lbl_80357520
/* 80357518 00353178  38 A0 00 00 */	li r5, 0
/* 8035751C 0035317C  48 00 00 38 */	b lbl_80357554
lbl_80357520:
/* 80357520 00353180  7F A3 EB 78 */	mr r3, r29
/* 80357524 00353184  4B FE 19 E1 */	bl goastrdup
/* 80357528 00353188  38 80 00 2F */	li r4, 0x2f
/* 8035752C 0035318C  7C 65 1B 78 */	mr r5, r3
/* 80357530 00353190  48 00 00 18 */	b lbl_80357548
lbl_80357534:
/* 80357534 00353194  7C C0 07 74 */	extsb r0, r6
/* 80357538 00353198  2C 00 00 5C */	cmpwi r0, 0x5c
/* 8035753C 0035319C  40 82 00 08 */	bne lbl_80357544
/* 80357540 003531A0  98 83 00 00 */	stb r4, 0(r3)
lbl_80357544:
/* 80357544 003531A4  38 63 00 01 */	addi r3, r3, 1
lbl_80357548:
/* 80357548 003531A8  88 C3 00 00 */	lbz r6, 0(r3)
/* 8035754C 003531AC  7C C0 07 75 */	extsb. r0, r6
/* 80357550 003531B0  40 82 FF E4 */	bne lbl_80357534
lbl_80357554:
/* 80357554 003531B4  90 BE 00 10 */	stw r5, 0x10(r30)
lbl_80357558:
/* 80357558 003531B8  2C 1E 00 00 */	cmpwi r30, 0
/* 8035755C 003531BC  40 82 00 0C */	bne lbl_80357568
/* 80357560 003531C0  38 60 00 00 */	li r3, 0
/* 80357564 003531C4  48 00 02 58 */	b lbl_803577BC
lbl_80357568:
/* 80357568 003531C8  80 1E 00 04 */	lwz r0, 4(r30)
/* 8035756C 003531CC  2C 00 00 02 */	cmpwi r0, 2
/* 80357570 003531D0  40 82 00 0C */	bne lbl_8035757C
/* 80357574 003531D4  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 80357578 003531D8  48 00 02 44 */	b lbl_803577BC
lbl_8035757C:
/* 8035757C 003531DC  38 7E 00 10 */	addi r3, r30, 0x10
/* 80357580 003531E0  48 00 02 3C */	b lbl_803577BC
lbl_80357584:
/* 80357584 003531E4  2C 00 00 01 */	cmpwi r0, 1
/* 80357588 003531E8  40 82 00 EC */	bne lbl_80357674
/* 8035758C 003531EC  40 86 00 0C */	bne cr1, lbl_80357598
/* 80357590 003531F0  38 80 00 00 */	li r4, 0
/* 80357594 003531F4  48 00 00 18 */	b lbl_803575AC
lbl_80357598:
/* 80357598 003531F8  2C 00 00 02 */	cmpwi r0, 2
/* 8035759C 003531FC  40 82 00 0C */	bne lbl_803575A8
/* 803575A0 00353200  80 83 00 10 */	lwz r4, 0x10(r3)
/* 803575A4 00353204  48 00 00 08 */	b lbl_803575AC
lbl_803575A8:
/* 803575A8 00353208  38 83 00 10 */	addi r4, r3, 0x10
lbl_803575AC:
/* 803575AC 0035320C  C8 3C 00 00 */	lfd f1, 0(r28)
/* 803575B0 00353210  3B AD B1 00 */	addi r29, r13, lbl_806403C0-_SDA_BASE_
/* 803575B4 00353214  C8 04 00 00 */	lfd f0, 0(r4)
/* 803575B8 00353218  FC 01 00 2A */	fadd f0, f1, f0
/* 803575BC 0035321C  D8 0D B1 00 */	stfd f0, lbl_806403C0-_SDA_BASE_(r13)
/* 803575C0 00353220  80 03 00 04 */	lwz r0, 4(r3)
/* 803575C4 00353224  2C 00 00 00 */	cmpwi r0, 0
/* 803575C8 00353228  40 82 00 10 */	bne lbl_803575D8
/* 803575CC 0035322C  80 1D 00 00 */	lwz r0, 0(r29)
/* 803575D0 00353230  90 03 00 10 */	stw r0, 0x10(r3)
/* 803575D4 00353234  48 00 00 74 */	b lbl_80357648
lbl_803575D8:
/* 803575D8 00353238  2C 00 00 01 */	cmpwi r0, 1
/* 803575DC 0035323C  40 82 00 0C */	bne lbl_803575E8
/* 803575E0 00353240  D8 03 00 10 */	stfd f0, 0x10(r3)
/* 803575E4 00353244  48 00 00 64 */	b lbl_80357648
lbl_803575E8:
/* 803575E8 00353248  2C 00 00 02 */	cmpwi r0, 2
/* 803575EC 0035324C  40 82 00 5C */	bne lbl_80357648
/* 803575F0 00353250  80 63 00 10 */	lwz r3, 0x10(r3)
/* 803575F4 00353254  2C 03 00 00 */	cmpwi r3, 0
/* 803575F8 00353258  41 82 00 08 */	beq lbl_80357600
/* 803575FC 0035325C  4B FE 1D 3D */	bl gsifree
lbl_80357600:
/* 80357600 00353260  2C 1D 00 00 */	cmpwi r29, 0
/* 80357604 00353264  40 82 00 0C */	bne lbl_80357610
/* 80357608 00353268  38 A0 00 00 */	li r5, 0
/* 8035760C 0035326C  48 00 00 38 */	b lbl_80357644
lbl_80357610:
/* 80357610 00353270  7F A3 EB 78 */	mr r3, r29
/* 80357614 00353274  4B FE 18 F1 */	bl goastrdup
/* 80357618 00353278  38 80 00 2F */	li r4, 0x2f
/* 8035761C 0035327C  7C 65 1B 78 */	mr r5, r3
/* 80357620 00353280  48 00 00 18 */	b lbl_80357638
lbl_80357624:
/* 80357624 00353284  7C C0 07 74 */	extsb r0, r6
/* 80357628 00353288  2C 00 00 5C */	cmpwi r0, 0x5c
/* 8035762C 0035328C  40 82 00 08 */	bne lbl_80357634
/* 80357630 00353290  98 83 00 00 */	stb r4, 0(r3)
lbl_80357634:
/* 80357634 00353294  38 63 00 01 */	addi r3, r3, 1
lbl_80357638:
/* 80357638 00353298  88 C3 00 00 */	lbz r6, 0(r3)
/* 8035763C 0035329C  7C C0 07 75 */	extsb. r0, r6
/* 80357640 003532A0  40 82 FF E4 */	bne lbl_80357624
lbl_80357644:
/* 80357644 003532A4  90 BE 00 10 */	stw r5, 0x10(r30)
lbl_80357648:
/* 80357648 003532A8  2C 1E 00 00 */	cmpwi r30, 0
/* 8035764C 003532AC  40 82 00 0C */	bne lbl_80357658
/* 80357650 003532B0  38 60 00 00 */	li r3, 0
/* 80357654 003532B4  48 00 01 68 */	b lbl_803577BC
lbl_80357658:
/* 80357658 003532B8  80 1E 00 04 */	lwz r0, 4(r30)
/* 8035765C 003532BC  2C 00 00 02 */	cmpwi r0, 2
/* 80357660 003532C0  40 82 00 0C */	bne lbl_8035766C
/* 80357664 003532C4  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 80357668 003532C8  48 00 01 54 */	b lbl_803577BC
lbl_8035766C:
/* 8035766C 003532CC  38 7E 00 10 */	addi r3, r30, 0x10
/* 80357670 003532D0  48 00 01 4C */	b lbl_803577BC
lbl_80357674:
/* 80357674 003532D4  2C 1F 00 00 */	cmpwi r31, 0
/* 80357678 003532D8  40 82 00 08 */	bne lbl_80357680
/* 8035767C 003532DC  83 ED B1 08 */	lwz r31, lbl_806403C8-_SDA_BASE_(r13)
lbl_80357680:
/* 80357680 003532E0  93 A1 00 08 */	stw r29, 8(r1)
/* 80357684 003532E4  38 81 00 08 */	addi r4, r1, 8
/* 80357688 003532E8  80 7F 00 00 */	lwz r3, 0(r31)
/* 8035768C 003532EC  4B FD F4 91 */	bl TableLookup
/* 80357690 003532F0  2C 03 00 00 */	cmpwi r3, 0
/* 80357694 003532F4  7C 7E 1B 78 */	mr r30, r3
/* 80357698 003532F8  40 82 00 0C */	bne lbl_803576A4
/* 8035769C 003532FC  38 60 00 00 */	li r3, 0
/* 803576A0 00353300  48 00 01 1C */	b lbl_803577BC
lbl_803576A4:
/* 803576A4 00353304  40 82 00 0C */	bne lbl_803576B0
/* 803576A8 00353308  3B A0 00 00 */	li r29, 0
/* 803576AC 0035330C  48 00 00 1C */	b lbl_803576C8
lbl_803576B0:
/* 803576B0 00353310  80 03 00 04 */	lwz r0, 4(r3)
/* 803576B4 00353314  2C 00 00 02 */	cmpwi r0, 2
/* 803576B8 00353318  40 82 00 0C */	bne lbl_803576C4
/* 803576BC 0035331C  83 A3 00 10 */	lwz r29, 0x10(r3)
/* 803576C0 00353320  48 00 00 08 */	b lbl_803576C8
lbl_803576C4:
/* 803576C4 00353324  3B A3 00 10 */	addi r29, r3, 0x10
lbl_803576C8:
/* 803576C8 00353328  7F 83 E3 78 */	mr r3, r28
/* 803576CC 0035332C  4B E6 F4 99 */	bl strlen
/* 803576D0 00353330  7C 7F 1B 78 */	mr r31, r3
/* 803576D4 00353334  7F A3 EB 78 */	mr r3, r29
/* 803576D8 00353338  4B E6 F4 8D */	bl strlen
/* 803576DC 0035333C  7C 63 FA 14 */	add r3, r3, r31
/* 803576E0 00353340  38 63 00 01 */	addi r3, r3, 1
/* 803576E4 00353344  4B FE 1C 31 */	bl gsimalloc
/* 803576E8 00353348  7C 7F 1B 78 */	mr r31, r3
/* 803576EC 0035334C  7F A4 EB 78 */	mr r4, r29
/* 803576F0 00353350  4B E7 6B E1 */	bl strcpy
/* 803576F4 00353354  7F E3 FB 78 */	mr r3, r31
/* 803576F8 00353358  7F 84 E3 78 */	mr r4, r28
/* 803576FC 0035335C  4B E7 6C D9 */	bl strcat
/* 80357700 00353360  80 1E 00 04 */	lwz r0, 4(r30)
/* 80357704 00353364  2C 00 00 00 */	cmpwi r0, 0
/* 80357708 00353368  40 82 00 10 */	bne lbl_80357718
/* 8035770C 0035336C  80 1F 00 00 */	lwz r0, 0(r31)
/* 80357710 00353370  90 1E 00 10 */	stw r0, 0x10(r30)
/* 80357714 00353374  48 00 00 78 */	b lbl_8035778C
lbl_80357718:
/* 80357718 00353378  2C 00 00 01 */	cmpwi r0, 1
/* 8035771C 0035337C  40 82 00 10 */	bne lbl_8035772C
/* 80357720 00353380  C8 1F 00 00 */	lfd f0, 0(r31)
/* 80357724 00353384  D8 1E 00 10 */	stfd f0, 0x10(r30)
/* 80357728 00353388  48 00 00 64 */	b lbl_8035778C
lbl_8035772C:
/* 8035772C 0035338C  2C 00 00 02 */	cmpwi r0, 2
/* 80357730 00353390  40 82 00 5C */	bne lbl_8035778C
/* 80357734 00353394  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 80357738 00353398  2C 03 00 00 */	cmpwi r3, 0
/* 8035773C 0035339C  41 82 00 08 */	beq lbl_80357744
/* 80357740 003533A0  4B FE 1B F9 */	bl gsifree
lbl_80357744:
/* 80357744 003533A4  2C 1F 00 00 */	cmpwi r31, 0
/* 80357748 003533A8  40 82 00 0C */	bne lbl_80357754
/* 8035774C 003533AC  38 A0 00 00 */	li r5, 0
/* 80357750 003533B0  48 00 00 38 */	b lbl_80357788
lbl_80357754:
/* 80357754 003533B4  7F E3 FB 78 */	mr r3, r31
/* 80357758 003533B8  4B FE 17 AD */	bl goastrdup
/* 8035775C 003533BC  38 80 00 2F */	li r4, 0x2f
/* 80357760 003533C0  7C 65 1B 78 */	mr r5, r3
/* 80357764 003533C4  48 00 00 18 */	b lbl_8035777C
lbl_80357768:
/* 80357768 003533C8  7C C0 07 74 */	extsb r0, r6
/* 8035776C 003533CC  2C 00 00 5C */	cmpwi r0, 0x5c
/* 80357770 003533D0  40 82 00 08 */	bne lbl_80357778
/* 80357774 003533D4  98 83 00 00 */	stb r4, 0(r3)
lbl_80357778:
/* 80357778 003533D8  38 63 00 01 */	addi r3, r3, 1
lbl_8035777C:
/* 8035777C 003533DC  88 C3 00 00 */	lbz r6, 0(r3)
/* 80357780 003533E0  7C C0 07 75 */	extsb. r0, r6
/* 80357784 003533E4  40 82 FF E4 */	bne lbl_80357768
lbl_80357788:
/* 80357788 003533E8  90 BE 00 10 */	stw r5, 0x10(r30)
lbl_8035778C:
/* 8035778C 003533EC  7F E3 FB 78 */	mr r3, r31
/* 80357790 003533F0  4B FE 1B A9 */	bl gsifree
/* 80357794 003533F4  2C 1E 00 00 */	cmpwi r30, 0
/* 80357798 003533F8  40 82 00 0C */	bne lbl_803577A4
/* 8035779C 003533FC  38 60 00 00 */	li r3, 0
/* 803577A0 00353400  48 00 00 1C */	b lbl_803577BC
lbl_803577A4:
/* 803577A4 00353404  80 1E 00 04 */	lwz r0, 4(r30)
/* 803577A8 00353408  2C 00 00 02 */	cmpwi r0, 2
/* 803577AC 0035340C  40 82 00 0C */	bne lbl_803577B8
/* 803577B0 00353410  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 803577B4 00353414  48 00 00 08 */	b lbl_803577BC
lbl_803577B8:
/* 803577B8 00353418  38 7E 00 10 */	addi r3, r30, 0x10
lbl_803577BC:
/* 803577BC 0035341C  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803577C0 00353420  83 E1 00 4C */	lwz r31, 0x4c(r1)
/* 803577C4 00353424  83 C1 00 48 */	lwz r30, 0x48(r1)
/* 803577C8 00353428  83 A1 00 44 */	lwz r29, 0x44(r1)
/* 803577CC 0035342C  83 81 00 40 */	lwz r28, 0x40(r1)
/* 803577D0 00353430  7C 08 03 A6 */	mtlr r0
/* 803577D4 00353434  38 21 00 50 */	addi r1, r1, 0x50
/* 803577D8 00353438  4E 80 00 20 */	blr

.global BucketSub
BucketSub:
/* 803577DC 0035343C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 803577E0 00353440  7C 08 02 A6 */	mflr r0
/* 803577E4 00353444  2C 03 00 00 */	cmpwi r3, 0
/* 803577E8 00353448  90 01 00 34 */	stw r0, 0x34(r1)
/* 803577EC 0035344C  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 803577F0 00353450  93 C1 00 28 */	stw r30, 0x28(r1)
/* 803577F4 00353454  93 A1 00 24 */	stw r29, 0x24(r1)
/* 803577F8 00353458  7C BD 2B 78 */	mr r29, r5
/* 803577FC 0035345C  40 82 00 08 */	bne lbl_80357804
/* 80357800 00353460  80 6D B1 08 */	lwz r3, lbl_806403C8-_SDA_BASE_(r13)
lbl_80357804:
/* 80357804 00353464  90 81 00 08 */	stw r4, 8(r1)
/* 80357808 00353468  38 81 00 08 */	addi r4, r1, 8
/* 8035780C 0035346C  80 63 00 00 */	lwz r3, 0(r3)
/* 80357810 00353470  4B FD F3 0D */	bl TableLookup
/* 80357814 00353474  2C 83 00 00 */	cmpwi cr1, r3, 0
/* 80357818 00353478  7C 7F 1B 78 */	mr r31, r3
/* 8035781C 0035347C  40 86 00 0C */	bne cr1, lbl_80357828
/* 80357820 00353480  38 60 00 00 */	li r3, 0
/* 80357824 00353484  48 00 02 08 */	b lbl_80357A2C
lbl_80357828:
/* 80357828 00353488  80 03 00 04 */	lwz r0, 4(r3)
/* 8035782C 0035348C  2C 00 00 00 */	cmpwi r0, 0
/* 80357830 00353490  40 82 00 EC */	bne lbl_8035791C
/* 80357834 00353494  40 86 00 0C */	bne cr1, lbl_80357840
/* 80357838 00353498  38 A0 00 00 */	li r5, 0
/* 8035783C 0035349C  48 00 00 18 */	b lbl_80357854
lbl_80357840:
/* 80357840 003534A0  2C 00 00 02 */	cmpwi r0, 2
/* 80357844 003534A4  40 82 00 0C */	bne lbl_80357850
/* 80357848 003534A8  80 A3 00 10 */	lwz r5, 0x10(r3)
/* 8035784C 003534AC  48 00 00 08 */	b lbl_80357854
lbl_80357850:
/* 80357850 003534B0  38 A3 00 10 */	addi r5, r3, 0x10
lbl_80357854:
/* 80357854 003534B4  80 9D 00 00 */	lwz r4, 0(r29)
/* 80357858 003534B8  3B CD B0 F8 */	addi r30, r13, lbl_806403B8-_SDA_BASE_
/* 8035785C 003534BC  80 05 00 00 */	lwz r0, 0(r5)
/* 80357860 003534C0  7C 04 00 50 */	subf r0, r4, r0
/* 80357864 003534C4  90 0D B0 F8 */	stw r0, lbl_806403B8-_SDA_BASE_(r13)
/* 80357868 003534C8  80 83 00 04 */	lwz r4, 4(r3)
/* 8035786C 003534CC  2C 04 00 00 */	cmpwi r4, 0
/* 80357870 003534D0  40 82 00 0C */	bne lbl_8035787C
/* 80357874 003534D4  90 03 00 10 */	stw r0, 0x10(r3)
/* 80357878 003534D8  48 00 00 78 */	b lbl_803578F0
lbl_8035787C:
/* 8035787C 003534DC  2C 04 00 01 */	cmpwi r4, 1
/* 80357880 003534E0  40 82 00 10 */	bne lbl_80357890
/* 80357884 003534E4  C8 1E 00 00 */	lfd f0, 0(r30)
/* 80357888 003534E8  D8 03 00 10 */	stfd f0, 0x10(r3)
/* 8035788C 003534EC  48 00 00 64 */	b lbl_803578F0
lbl_80357890:
/* 80357890 003534F0  2C 04 00 02 */	cmpwi r4, 2
/* 80357894 003534F4  40 82 00 5C */	bne lbl_803578F0
/* 80357898 003534F8  80 63 00 10 */	lwz r3, 0x10(r3)
/* 8035789C 003534FC  2C 03 00 00 */	cmpwi r3, 0
/* 803578A0 00353500  41 82 00 08 */	beq lbl_803578A8
/* 803578A4 00353504  4B FE 1A 95 */	bl gsifree
lbl_803578A8:
/* 803578A8 00353508  2C 1E 00 00 */	cmpwi r30, 0
/* 803578AC 0035350C  40 82 00 0C */	bne lbl_803578B8
/* 803578B0 00353510  38 A0 00 00 */	li r5, 0
/* 803578B4 00353514  48 00 00 38 */	b lbl_803578EC
lbl_803578B8:
/* 803578B8 00353518  7F C3 F3 78 */	mr r3, r30
/* 803578BC 0035351C  4B FE 16 49 */	bl goastrdup
/* 803578C0 00353520  38 80 00 2F */	li r4, 0x2f
/* 803578C4 00353524  7C 65 1B 78 */	mr r5, r3
/* 803578C8 00353528  48 00 00 18 */	b lbl_803578E0
lbl_803578CC:
/* 803578CC 0035352C  7C C0 07 74 */	extsb r0, r6
/* 803578D0 00353530  2C 00 00 5C */	cmpwi r0, 0x5c
/* 803578D4 00353534  40 82 00 08 */	bne lbl_803578DC
/* 803578D8 00353538  98 83 00 00 */	stb r4, 0(r3)
lbl_803578DC:
/* 803578DC 0035353C  38 63 00 01 */	addi r3, r3, 1
lbl_803578E0:
/* 803578E0 00353540  88 C3 00 00 */	lbz r6, 0(r3)
/* 803578E4 00353544  7C C0 07 75 */	extsb. r0, r6
/* 803578E8 00353548  40 82 FF E4 */	bne lbl_803578CC
lbl_803578EC:
/* 803578EC 0035354C  90 BF 00 10 */	stw r5, 0x10(r31)
lbl_803578F0:
/* 803578F0 00353550  2C 1F 00 00 */	cmpwi r31, 0
/* 803578F4 00353554  40 82 00 0C */	bne lbl_80357900
/* 803578F8 00353558  38 60 00 00 */	li r3, 0
/* 803578FC 0035355C  48 00 01 30 */	b lbl_80357A2C
lbl_80357900:
/* 80357900 00353560  80 1F 00 04 */	lwz r0, 4(r31)
/* 80357904 00353564  2C 00 00 02 */	cmpwi r0, 2
/* 80357908 00353568  40 82 00 0C */	bne lbl_80357914
/* 8035790C 0035356C  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 80357910 00353570  48 00 01 1C */	b lbl_80357A2C
lbl_80357914:
/* 80357914 00353574  38 7F 00 10 */	addi r3, r31, 0x10
/* 80357918 00353578  48 00 01 14 */	b lbl_80357A2C
lbl_8035791C:
/* 8035791C 0035357C  2C 00 00 01 */	cmpwi r0, 1
/* 80357920 00353580  40 82 00 EC */	bne lbl_80357A0C
/* 80357924 00353584  40 86 00 0C */	bne cr1, lbl_80357930
/* 80357928 00353588  38 80 00 00 */	li r4, 0
/* 8035792C 0035358C  48 00 00 18 */	b lbl_80357944
lbl_80357930:
/* 80357930 00353590  2C 00 00 02 */	cmpwi r0, 2
/* 80357934 00353594  40 82 00 0C */	bne lbl_80357940
/* 80357938 00353598  80 83 00 10 */	lwz r4, 0x10(r3)
/* 8035793C 0035359C  48 00 00 08 */	b lbl_80357944
lbl_80357940:
/* 80357940 003535A0  38 83 00 10 */	addi r4, r3, 0x10
lbl_80357944:
/* 80357944 003535A4  C8 24 00 00 */	lfd f1, 0(r4)
/* 80357948 003535A8  3B CD B1 00 */	addi r30, r13, lbl_806403C0-_SDA_BASE_
/* 8035794C 003535AC  C8 1D 00 00 */	lfd f0, 0(r29)
/* 80357950 003535B0  FC 01 00 28 */	fsub f0, f1, f0
/* 80357954 003535B4  D8 0D B1 00 */	stfd f0, lbl_806403C0-_SDA_BASE_(r13)
/* 80357958 003535B8  80 03 00 04 */	lwz r0, 4(r3)
/* 8035795C 003535BC  2C 00 00 00 */	cmpwi r0, 0
/* 80357960 003535C0  40 82 00 10 */	bne lbl_80357970
/* 80357964 003535C4  80 1E 00 00 */	lwz r0, 0(r30)
/* 80357968 003535C8  90 03 00 10 */	stw r0, 0x10(r3)
/* 8035796C 003535CC  48 00 00 74 */	b lbl_803579E0
lbl_80357970:
/* 80357970 003535D0  2C 00 00 01 */	cmpwi r0, 1
/* 80357974 003535D4  40 82 00 0C */	bne lbl_80357980
/* 80357978 003535D8  D8 03 00 10 */	stfd f0, 0x10(r3)
/* 8035797C 003535DC  48 00 00 64 */	b lbl_803579E0
lbl_80357980:
/* 80357980 003535E0  2C 00 00 02 */	cmpwi r0, 2
/* 80357984 003535E4  40 82 00 5C */	bne lbl_803579E0
/* 80357988 003535E8  80 63 00 10 */	lwz r3, 0x10(r3)
/* 8035798C 003535EC  2C 03 00 00 */	cmpwi r3, 0
/* 80357990 003535F0  41 82 00 08 */	beq lbl_80357998
/* 80357994 003535F4  4B FE 19 A5 */	bl gsifree
lbl_80357998:
/* 80357998 003535F8  2C 1E 00 00 */	cmpwi r30, 0
/* 8035799C 003535FC  40 82 00 0C */	bne lbl_803579A8
/* 803579A0 00353600  38 A0 00 00 */	li r5, 0
/* 803579A4 00353604  48 00 00 38 */	b lbl_803579DC
lbl_803579A8:
/* 803579A8 00353608  7F C3 F3 78 */	mr r3, r30
/* 803579AC 0035360C  4B FE 15 59 */	bl goastrdup
/* 803579B0 00353610  38 80 00 2F */	li r4, 0x2f
/* 803579B4 00353614  7C 65 1B 78 */	mr r5, r3
/* 803579B8 00353618  48 00 00 18 */	b lbl_803579D0
lbl_803579BC:
/* 803579BC 0035361C  7C C0 07 74 */	extsb r0, r6
/* 803579C0 00353620  2C 00 00 5C */	cmpwi r0, 0x5c
/* 803579C4 00353624  40 82 00 08 */	bne lbl_803579CC
/* 803579C8 00353628  98 83 00 00 */	stb r4, 0(r3)
lbl_803579CC:
/* 803579CC 0035362C  38 63 00 01 */	addi r3, r3, 1
lbl_803579D0:
/* 803579D0 00353630  88 C3 00 00 */	lbz r6, 0(r3)
/* 803579D4 00353634  7C C0 07 75 */	extsb. r0, r6
/* 803579D8 00353638  40 82 FF E4 */	bne lbl_803579BC
lbl_803579DC:
/* 803579DC 0035363C  90 BF 00 10 */	stw r5, 0x10(r31)
lbl_803579E0:
/* 803579E0 00353640  2C 1F 00 00 */	cmpwi r31, 0
/* 803579E4 00353644  40 82 00 0C */	bne lbl_803579F0
/* 803579E8 00353648  38 60 00 00 */	li r3, 0
/* 803579EC 0035364C  48 00 00 40 */	b lbl_80357A2C
lbl_803579F0:
/* 803579F0 00353650  80 1F 00 04 */	lwz r0, 4(r31)
/* 803579F4 00353654  2C 00 00 02 */	cmpwi r0, 2
/* 803579F8 00353658  40 82 00 0C */	bne lbl_80357A04
/* 803579FC 0035365C  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 80357A00 00353660  48 00 00 2C */	b lbl_80357A2C
lbl_80357A04:
/* 80357A04 00353664  38 7F 00 10 */	addi r3, r31, 0x10
/* 80357A08 00353668  48 00 00 24 */	b lbl_80357A2C
lbl_80357A0C:
/* 80357A0C 0035366C  40 86 00 0C */	bne cr1, lbl_80357A18
/* 80357A10 00353670  38 60 00 00 */	li r3, 0
/* 80357A14 00353674  48 00 00 18 */	b lbl_80357A2C
lbl_80357A18:
/* 80357A18 00353678  2C 00 00 02 */	cmpwi r0, 2
/* 80357A1C 0035367C  40 82 00 0C */	bne lbl_80357A28
/* 80357A20 00353680  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80357A24 00353684  48 00 00 08 */	b lbl_80357A2C
lbl_80357A28:
/* 80357A28 00353688  38 63 00 10 */	addi r3, r3, 0x10
lbl_80357A2C:
/* 80357A2C 0035368C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80357A30 00353690  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80357A34 00353694  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80357A38 00353698  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 80357A3C 0035369C  7C 08 03 A6 */	mtlr r0
/* 80357A40 003536A0  38 21 00 30 */	addi r1, r1, 0x30
/* 80357A44 003536A4  4E 80 00 20 */	blr

.global BucketMult
BucketMult:
/* 80357A48 003536A8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80357A4C 003536AC  7C 08 02 A6 */	mflr r0
/* 80357A50 003536B0  2C 03 00 00 */	cmpwi r3, 0
/* 80357A54 003536B4  90 01 00 34 */	stw r0, 0x34(r1)
/* 80357A58 003536B8  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 80357A5C 003536BC  93 C1 00 28 */	stw r30, 0x28(r1)
/* 80357A60 003536C0  7C BE 2B 78 */	mr r30, r5
/* 80357A64 003536C4  40 82 00 08 */	bne lbl_80357A6C
/* 80357A68 003536C8  80 6D B1 08 */	lwz r3, lbl_806403C8-_SDA_BASE_(r13)
lbl_80357A6C:
/* 80357A6C 003536CC  90 81 00 08 */	stw r4, 8(r1)
/* 80357A70 003536D0  38 81 00 08 */	addi r4, r1, 8
/* 80357A74 003536D4  80 63 00 00 */	lwz r3, 0(r3)
/* 80357A78 003536D8  4B FD F0 A5 */	bl TableLookup
/* 80357A7C 003536DC  2C 83 00 00 */	cmpwi cr1, r3, 0
/* 80357A80 003536E0  7C 7F 1B 78 */	mr r31, r3
/* 80357A84 003536E4  40 86 00 0C */	bne cr1, lbl_80357A90
/* 80357A88 003536E8  38 60 00 00 */	li r3, 0
/* 80357A8C 003536EC  48 00 02 08 */	b lbl_80357C94
lbl_80357A90:
/* 80357A90 003536F0  80 03 00 04 */	lwz r0, 4(r3)
/* 80357A94 003536F4  2C 00 00 00 */	cmpwi r0, 0
/* 80357A98 003536F8  40 82 00 EC */	bne lbl_80357B84
/* 80357A9C 003536FC  40 86 00 0C */	bne cr1, lbl_80357AA8
/* 80357AA0 00353700  38 A0 00 00 */	li r5, 0
/* 80357AA4 00353704  48 00 00 18 */	b lbl_80357ABC
lbl_80357AA8:
/* 80357AA8 00353708  2C 00 00 02 */	cmpwi r0, 2
/* 80357AAC 0035370C  40 82 00 0C */	bne lbl_80357AB8
/* 80357AB0 00353710  80 A3 00 10 */	lwz r5, 0x10(r3)
/* 80357AB4 00353714  48 00 00 08 */	b lbl_80357ABC
lbl_80357AB8:
/* 80357AB8 00353718  38 A3 00 10 */	addi r5, r3, 0x10
lbl_80357ABC:
/* 80357ABC 0035371C  80 9E 00 00 */	lwz r4, 0(r30)
/* 80357AC0 00353720  3B CD B0 F8 */	addi r30, r13, lbl_806403B8-_SDA_BASE_
/* 80357AC4 00353724  80 05 00 00 */	lwz r0, 0(r5)
/* 80357AC8 00353728  7C 04 01 D6 */	mullw r0, r4, r0
/* 80357ACC 0035372C  90 0D B0 F8 */	stw r0, lbl_806403B8-_SDA_BASE_(r13)
/* 80357AD0 00353730  80 83 00 04 */	lwz r4, 4(r3)
/* 80357AD4 00353734  2C 04 00 00 */	cmpwi r4, 0
/* 80357AD8 00353738  40 82 00 0C */	bne lbl_80357AE4
/* 80357ADC 0035373C  90 03 00 10 */	stw r0, 0x10(r3)
/* 80357AE0 00353740  48 00 00 78 */	b lbl_80357B58
lbl_80357AE4:
/* 80357AE4 00353744  2C 04 00 01 */	cmpwi r4, 1
/* 80357AE8 00353748  40 82 00 10 */	bne lbl_80357AF8
/* 80357AEC 0035374C  C8 1E 00 00 */	lfd f0, 0(r30)
/* 80357AF0 00353750  D8 03 00 10 */	stfd f0, 0x10(r3)
/* 80357AF4 00353754  48 00 00 64 */	b lbl_80357B58
lbl_80357AF8:
/* 80357AF8 00353758  2C 04 00 02 */	cmpwi r4, 2
/* 80357AFC 0035375C  40 82 00 5C */	bne lbl_80357B58
/* 80357B00 00353760  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80357B04 00353764  2C 03 00 00 */	cmpwi r3, 0
/* 80357B08 00353768  41 82 00 08 */	beq lbl_80357B10
/* 80357B0C 0035376C  4B FE 18 2D */	bl gsifree
lbl_80357B10:
/* 80357B10 00353770  2C 1E 00 00 */	cmpwi r30, 0
/* 80357B14 00353774  40 82 00 0C */	bne lbl_80357B20
/* 80357B18 00353778  38 A0 00 00 */	li r5, 0
/* 80357B1C 0035377C  48 00 00 38 */	b lbl_80357B54
lbl_80357B20:
/* 80357B20 00353780  7F C3 F3 78 */	mr r3, r30
/* 80357B24 00353784  4B FE 13 E1 */	bl goastrdup
/* 80357B28 00353788  38 80 00 2F */	li r4, 0x2f
/* 80357B2C 0035378C  7C 65 1B 78 */	mr r5, r3
/* 80357B30 00353790  48 00 00 18 */	b lbl_80357B48
lbl_80357B34:
/* 80357B34 00353794  7C C0 07 74 */	extsb r0, r6
/* 80357B38 00353798  2C 00 00 5C */	cmpwi r0, 0x5c
/* 80357B3C 0035379C  40 82 00 08 */	bne lbl_80357B44
/* 80357B40 003537A0  98 83 00 00 */	stb r4, 0(r3)
lbl_80357B44:
/* 80357B44 003537A4  38 63 00 01 */	addi r3, r3, 1
lbl_80357B48:
/* 80357B48 003537A8  88 C3 00 00 */	lbz r6, 0(r3)
/* 80357B4C 003537AC  7C C0 07 75 */	extsb. r0, r6
/* 80357B50 003537B0  40 82 FF E4 */	bne lbl_80357B34
lbl_80357B54:
/* 80357B54 003537B4  90 BF 00 10 */	stw r5, 0x10(r31)
lbl_80357B58:
/* 80357B58 003537B8  2C 1F 00 00 */	cmpwi r31, 0
/* 80357B5C 003537BC  40 82 00 0C */	bne lbl_80357B68
/* 80357B60 003537C0  38 60 00 00 */	li r3, 0
/* 80357B64 003537C4  48 00 01 30 */	b lbl_80357C94
lbl_80357B68:
/* 80357B68 003537C8  80 1F 00 04 */	lwz r0, 4(r31)
/* 80357B6C 003537CC  2C 00 00 02 */	cmpwi r0, 2
/* 80357B70 003537D0  40 82 00 0C */	bne lbl_80357B7C
/* 80357B74 003537D4  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 80357B78 003537D8  48 00 01 1C */	b lbl_80357C94
lbl_80357B7C:
/* 80357B7C 003537DC  38 7F 00 10 */	addi r3, r31, 0x10
/* 80357B80 003537E0  48 00 01 14 */	b lbl_80357C94
lbl_80357B84:
/* 80357B84 003537E4  2C 00 00 01 */	cmpwi r0, 1
/* 80357B88 003537E8  40 82 00 EC */	bne lbl_80357C74
/* 80357B8C 003537EC  40 86 00 0C */	bne cr1, lbl_80357B98
/* 80357B90 003537F0  38 80 00 00 */	li r4, 0
/* 80357B94 003537F4  48 00 00 18 */	b lbl_80357BAC
lbl_80357B98:
/* 80357B98 003537F8  2C 00 00 02 */	cmpwi r0, 2
/* 80357B9C 003537FC  40 82 00 0C */	bne lbl_80357BA8
/* 80357BA0 00353800  80 83 00 10 */	lwz r4, 0x10(r3)
/* 80357BA4 00353804  48 00 00 08 */	b lbl_80357BAC
lbl_80357BA8:
/* 80357BA8 00353808  38 83 00 10 */	addi r4, r3, 0x10
lbl_80357BAC:
/* 80357BAC 0035380C  C8 3E 00 00 */	lfd f1, 0(r30)
/* 80357BB0 00353810  3B CD B1 00 */	addi r30, r13, lbl_806403C0-_SDA_BASE_
/* 80357BB4 00353814  C8 04 00 00 */	lfd f0, 0(r4)
/* 80357BB8 00353818  FC 01 00 32 */	fmul f0, f1, f0
/* 80357BBC 0035381C  D8 0D B1 00 */	stfd f0, lbl_806403C0-_SDA_BASE_(r13)
/* 80357BC0 00353820  80 03 00 04 */	lwz r0, 4(r3)
/* 80357BC4 00353824  2C 00 00 00 */	cmpwi r0, 0
/* 80357BC8 00353828  40 82 00 10 */	bne lbl_80357BD8
/* 80357BCC 0035382C  80 1E 00 00 */	lwz r0, 0(r30)
/* 80357BD0 00353830  90 03 00 10 */	stw r0, 0x10(r3)
/* 80357BD4 00353834  48 00 00 74 */	b lbl_80357C48
lbl_80357BD8:
/* 80357BD8 00353838  2C 00 00 01 */	cmpwi r0, 1
/* 80357BDC 0035383C  40 82 00 0C */	bne lbl_80357BE8
/* 80357BE0 00353840  D8 03 00 10 */	stfd f0, 0x10(r3)
/* 80357BE4 00353844  48 00 00 64 */	b lbl_80357C48
lbl_80357BE8:
/* 80357BE8 00353848  2C 00 00 02 */	cmpwi r0, 2
/* 80357BEC 0035384C  40 82 00 5C */	bne lbl_80357C48
/* 80357BF0 00353850  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80357BF4 00353854  2C 03 00 00 */	cmpwi r3, 0
/* 80357BF8 00353858  41 82 00 08 */	beq lbl_80357C00
/* 80357BFC 0035385C  4B FE 17 3D */	bl gsifree
lbl_80357C00:
/* 80357C00 00353860  2C 1E 00 00 */	cmpwi r30, 0
/* 80357C04 00353864  40 82 00 0C */	bne lbl_80357C10
/* 80357C08 00353868  38 A0 00 00 */	li r5, 0
/* 80357C0C 0035386C  48 00 00 38 */	b lbl_80357C44
lbl_80357C10:
/* 80357C10 00353870  7F C3 F3 78 */	mr r3, r30
/* 80357C14 00353874  4B FE 12 F1 */	bl goastrdup
/* 80357C18 00353878  38 80 00 2F */	li r4, 0x2f
/* 80357C1C 0035387C  7C 65 1B 78 */	mr r5, r3
/* 80357C20 00353880  48 00 00 18 */	b lbl_80357C38
lbl_80357C24:
/* 80357C24 00353884  7C C0 07 74 */	extsb r0, r6
/* 80357C28 00353888  2C 00 00 5C */	cmpwi r0, 0x5c
/* 80357C2C 0035388C  40 82 00 08 */	bne lbl_80357C34
/* 80357C30 00353890  98 83 00 00 */	stb r4, 0(r3)
lbl_80357C34:
/* 80357C34 00353894  38 63 00 01 */	addi r3, r3, 1
lbl_80357C38:
/* 80357C38 00353898  88 C3 00 00 */	lbz r6, 0(r3)
/* 80357C3C 0035389C  7C C0 07 75 */	extsb. r0, r6
/* 80357C40 003538A0  40 82 FF E4 */	bne lbl_80357C24
lbl_80357C44:
/* 80357C44 003538A4  90 BF 00 10 */	stw r5, 0x10(r31)
lbl_80357C48:
/* 80357C48 003538A8  2C 1F 00 00 */	cmpwi r31, 0
/* 80357C4C 003538AC  40 82 00 0C */	bne lbl_80357C58
/* 80357C50 003538B0  38 60 00 00 */	li r3, 0
/* 80357C54 003538B4  48 00 00 40 */	b lbl_80357C94
lbl_80357C58:
/* 80357C58 003538B8  80 1F 00 04 */	lwz r0, 4(r31)
/* 80357C5C 003538BC  2C 00 00 02 */	cmpwi r0, 2
/* 80357C60 003538C0  40 82 00 0C */	bne lbl_80357C6C
/* 80357C64 003538C4  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 80357C68 003538C8  48 00 00 2C */	b lbl_80357C94
lbl_80357C6C:
/* 80357C6C 003538CC  38 7F 00 10 */	addi r3, r31, 0x10
/* 80357C70 003538D0  48 00 00 24 */	b lbl_80357C94
lbl_80357C74:
/* 80357C74 003538D4  40 86 00 0C */	bne cr1, lbl_80357C80
/* 80357C78 003538D8  38 60 00 00 */	li r3, 0
/* 80357C7C 003538DC  48 00 00 18 */	b lbl_80357C94
lbl_80357C80:
/* 80357C80 003538E0  2C 00 00 02 */	cmpwi r0, 2
/* 80357C84 003538E4  40 82 00 0C */	bne lbl_80357C90
/* 80357C88 003538E8  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80357C8C 003538EC  48 00 00 08 */	b lbl_80357C94
lbl_80357C90:
/* 80357C90 003538F0  38 63 00 10 */	addi r3, r3, 0x10
lbl_80357C94:
/* 80357C94 003538F4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80357C98 003538F8  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80357C9C 003538FC  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80357CA0 00353900  7C 08 03 A6 */	mtlr r0
/* 80357CA4 00353904  38 21 00 30 */	addi r1, r1, 0x30
/* 80357CA8 00353908  4E 80 00 20 */	blr

.global BucketDiv
BucketDiv:
/* 80357CAC 0035390C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80357CB0 00353910  7C 08 02 A6 */	mflr r0
/* 80357CB4 00353914  2C 03 00 00 */	cmpwi r3, 0
/* 80357CB8 00353918  90 01 00 34 */	stw r0, 0x34(r1)
/* 80357CBC 0035391C  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 80357CC0 00353920  93 C1 00 28 */	stw r30, 0x28(r1)
/* 80357CC4 00353924  93 A1 00 24 */	stw r29, 0x24(r1)
/* 80357CC8 00353928  7C BD 2B 78 */	mr r29, r5
/* 80357CCC 0035392C  40 82 00 08 */	bne lbl_80357CD4
/* 80357CD0 00353930  80 6D B1 08 */	lwz r3, lbl_806403C8-_SDA_BASE_(r13)
lbl_80357CD4:
/* 80357CD4 00353934  90 81 00 08 */	stw r4, 8(r1)
/* 80357CD8 00353938  38 81 00 08 */	addi r4, r1, 8
/* 80357CDC 0035393C  80 63 00 00 */	lwz r3, 0(r3)
/* 80357CE0 00353940  4B FD EE 3D */	bl TableLookup
/* 80357CE4 00353944  2C 83 00 00 */	cmpwi cr1, r3, 0
/* 80357CE8 00353948  7C 7F 1B 78 */	mr r31, r3
/* 80357CEC 0035394C  40 86 00 0C */	bne cr1, lbl_80357CF8
/* 80357CF0 00353950  38 60 00 00 */	li r3, 0
/* 80357CF4 00353954  48 00 02 08 */	b lbl_80357EFC
lbl_80357CF8:
/* 80357CF8 00353958  80 03 00 04 */	lwz r0, 4(r3)
/* 80357CFC 0035395C  2C 00 00 00 */	cmpwi r0, 0
/* 80357D00 00353960  40 82 00 EC */	bne lbl_80357DEC
/* 80357D04 00353964  40 86 00 0C */	bne cr1, lbl_80357D10
/* 80357D08 00353968  38 80 00 00 */	li r4, 0
/* 80357D0C 0035396C  48 00 00 18 */	b lbl_80357D24
lbl_80357D10:
/* 80357D10 00353970  2C 00 00 02 */	cmpwi r0, 2
/* 80357D14 00353974  40 82 00 0C */	bne lbl_80357D20
/* 80357D18 00353978  80 83 00 10 */	lwz r4, 0x10(r3)
/* 80357D1C 0035397C  48 00 00 08 */	b lbl_80357D24
lbl_80357D20:
/* 80357D20 00353980  38 83 00 10 */	addi r4, r3, 0x10
lbl_80357D24:
/* 80357D24 00353984  80 84 00 00 */	lwz r4, 0(r4)
/* 80357D28 00353988  3B CD B0 F8 */	addi r30, r13, lbl_806403B8-_SDA_BASE_
/* 80357D2C 0035398C  80 1D 00 00 */	lwz r0, 0(r29)
/* 80357D30 00353990  7C 04 03 D6 */	divw r0, r4, r0
/* 80357D34 00353994  90 0D B0 F8 */	stw r0, lbl_806403B8-_SDA_BASE_(r13)
/* 80357D38 00353998  80 83 00 04 */	lwz r4, 4(r3)
/* 80357D3C 0035399C  2C 04 00 00 */	cmpwi r4, 0
/* 80357D40 003539A0  40 82 00 0C */	bne lbl_80357D4C
/* 80357D44 003539A4  90 03 00 10 */	stw r0, 0x10(r3)
/* 80357D48 003539A8  48 00 00 78 */	b lbl_80357DC0
lbl_80357D4C:
/* 80357D4C 003539AC  2C 04 00 01 */	cmpwi r4, 1
/* 80357D50 003539B0  40 82 00 10 */	bne lbl_80357D60
/* 80357D54 003539B4  C8 1E 00 00 */	lfd f0, 0(r30)
/* 80357D58 003539B8  D8 03 00 10 */	stfd f0, 0x10(r3)
/* 80357D5C 003539BC  48 00 00 64 */	b lbl_80357DC0
lbl_80357D60:
/* 80357D60 003539C0  2C 04 00 02 */	cmpwi r4, 2
/* 80357D64 003539C4  40 82 00 5C */	bne lbl_80357DC0
/* 80357D68 003539C8  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80357D6C 003539CC  2C 03 00 00 */	cmpwi r3, 0
/* 80357D70 003539D0  41 82 00 08 */	beq lbl_80357D78
/* 80357D74 003539D4  4B FE 15 C5 */	bl gsifree
lbl_80357D78:
/* 80357D78 003539D8  2C 1E 00 00 */	cmpwi r30, 0
/* 80357D7C 003539DC  40 82 00 0C */	bne lbl_80357D88
/* 80357D80 003539E0  38 A0 00 00 */	li r5, 0
/* 80357D84 003539E4  48 00 00 38 */	b lbl_80357DBC
lbl_80357D88:
/* 80357D88 003539E8  7F C3 F3 78 */	mr r3, r30
/* 80357D8C 003539EC  4B FE 11 79 */	bl goastrdup
/* 80357D90 003539F0  38 80 00 2F */	li r4, 0x2f
/* 80357D94 003539F4  7C 65 1B 78 */	mr r5, r3
/* 80357D98 003539F8  48 00 00 18 */	b lbl_80357DB0
lbl_80357D9C:
/* 80357D9C 003539FC  7C C0 07 74 */	extsb r0, r6
/* 80357DA0 00353A00  2C 00 00 5C */	cmpwi r0, 0x5c
/* 80357DA4 00353A04  40 82 00 08 */	bne lbl_80357DAC
/* 80357DA8 00353A08  98 83 00 00 */	stb r4, 0(r3)
lbl_80357DAC:
/* 80357DAC 00353A0C  38 63 00 01 */	addi r3, r3, 1
lbl_80357DB0:
/* 80357DB0 00353A10  88 C3 00 00 */	lbz r6, 0(r3)
/* 80357DB4 00353A14  7C C0 07 75 */	extsb. r0, r6
/* 80357DB8 00353A18  40 82 FF E4 */	bne lbl_80357D9C
lbl_80357DBC:
/* 80357DBC 00353A1C  90 BF 00 10 */	stw r5, 0x10(r31)
lbl_80357DC0:
/* 80357DC0 00353A20  2C 1F 00 00 */	cmpwi r31, 0
/* 80357DC4 00353A24  40 82 00 0C */	bne lbl_80357DD0
/* 80357DC8 00353A28  38 60 00 00 */	li r3, 0
/* 80357DCC 00353A2C  48 00 01 30 */	b lbl_80357EFC
lbl_80357DD0:
/* 80357DD0 00353A30  80 1F 00 04 */	lwz r0, 4(r31)
/* 80357DD4 00353A34  2C 00 00 02 */	cmpwi r0, 2
/* 80357DD8 00353A38  40 82 00 0C */	bne lbl_80357DE4
/* 80357DDC 00353A3C  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 80357DE0 00353A40  48 00 01 1C */	b lbl_80357EFC
lbl_80357DE4:
/* 80357DE4 00353A44  38 7F 00 10 */	addi r3, r31, 0x10
/* 80357DE8 00353A48  48 00 01 14 */	b lbl_80357EFC
lbl_80357DEC:
/* 80357DEC 00353A4C  2C 00 00 01 */	cmpwi r0, 1
/* 80357DF0 00353A50  40 82 00 EC */	bne lbl_80357EDC
/* 80357DF4 00353A54  40 86 00 0C */	bne cr1, lbl_80357E00
/* 80357DF8 00353A58  38 80 00 00 */	li r4, 0
/* 80357DFC 00353A5C  48 00 00 18 */	b lbl_80357E14
lbl_80357E00:
/* 80357E00 00353A60  2C 00 00 02 */	cmpwi r0, 2
/* 80357E04 00353A64  40 82 00 0C */	bne lbl_80357E10
/* 80357E08 00353A68  80 83 00 10 */	lwz r4, 0x10(r3)
/* 80357E0C 00353A6C  48 00 00 08 */	b lbl_80357E14
lbl_80357E10:
/* 80357E10 00353A70  38 83 00 10 */	addi r4, r3, 0x10
lbl_80357E14:
/* 80357E14 00353A74  C8 24 00 00 */	lfd f1, 0(r4)
/* 80357E18 00353A78  3B CD B1 00 */	addi r30, r13, lbl_806403C0-_SDA_BASE_
/* 80357E1C 00353A7C  C8 1D 00 00 */	lfd f0, 0(r29)
/* 80357E20 00353A80  FC 01 00 24 */	fdiv f0, f1, f0
/* 80357E24 00353A84  D8 0D B1 00 */	stfd f0, lbl_806403C0-_SDA_BASE_(r13)
/* 80357E28 00353A88  80 03 00 04 */	lwz r0, 4(r3)
/* 80357E2C 00353A8C  2C 00 00 00 */	cmpwi r0, 0
/* 80357E30 00353A90  40 82 00 10 */	bne lbl_80357E40
/* 80357E34 00353A94  80 1E 00 00 */	lwz r0, 0(r30)
/* 80357E38 00353A98  90 03 00 10 */	stw r0, 0x10(r3)
/* 80357E3C 00353A9C  48 00 00 74 */	b lbl_80357EB0
lbl_80357E40:
/* 80357E40 00353AA0  2C 00 00 01 */	cmpwi r0, 1
/* 80357E44 00353AA4  40 82 00 0C */	bne lbl_80357E50
/* 80357E48 00353AA8  D8 03 00 10 */	stfd f0, 0x10(r3)
/* 80357E4C 00353AAC  48 00 00 64 */	b lbl_80357EB0
lbl_80357E50:
/* 80357E50 00353AB0  2C 00 00 02 */	cmpwi r0, 2
/* 80357E54 00353AB4  40 82 00 5C */	bne lbl_80357EB0
/* 80357E58 00353AB8  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80357E5C 00353ABC  2C 03 00 00 */	cmpwi r3, 0
/* 80357E60 00353AC0  41 82 00 08 */	beq lbl_80357E68
/* 80357E64 00353AC4  4B FE 14 D5 */	bl gsifree
lbl_80357E68:
/* 80357E68 00353AC8  2C 1E 00 00 */	cmpwi r30, 0
/* 80357E6C 00353ACC  40 82 00 0C */	bne lbl_80357E78
/* 80357E70 00353AD0  38 A0 00 00 */	li r5, 0
/* 80357E74 00353AD4  48 00 00 38 */	b lbl_80357EAC
lbl_80357E78:
/* 80357E78 00353AD8  7F C3 F3 78 */	mr r3, r30
/* 80357E7C 00353ADC  4B FE 10 89 */	bl goastrdup
/* 80357E80 00353AE0  38 80 00 2F */	li r4, 0x2f
/* 80357E84 00353AE4  7C 65 1B 78 */	mr r5, r3
/* 80357E88 00353AE8  48 00 00 18 */	b lbl_80357EA0
lbl_80357E8C:
/* 80357E8C 00353AEC  7C C0 07 74 */	extsb r0, r6
/* 80357E90 00353AF0  2C 00 00 5C */	cmpwi r0, 0x5c
/* 80357E94 00353AF4  40 82 00 08 */	bne lbl_80357E9C
/* 80357E98 00353AF8  98 83 00 00 */	stb r4, 0(r3)
lbl_80357E9C:
/* 80357E9C 00353AFC  38 63 00 01 */	addi r3, r3, 1
lbl_80357EA0:
/* 80357EA0 00353B00  88 C3 00 00 */	lbz r6, 0(r3)
/* 80357EA4 00353B04  7C C0 07 75 */	extsb. r0, r6
/* 80357EA8 00353B08  40 82 FF E4 */	bne lbl_80357E8C
lbl_80357EAC:
/* 80357EAC 00353B0C  90 BF 00 10 */	stw r5, 0x10(r31)
lbl_80357EB0:
/* 80357EB0 00353B10  2C 1F 00 00 */	cmpwi r31, 0
/* 80357EB4 00353B14  40 82 00 0C */	bne lbl_80357EC0
/* 80357EB8 00353B18  38 60 00 00 */	li r3, 0
/* 80357EBC 00353B1C  48 00 00 40 */	b lbl_80357EFC
lbl_80357EC0:
/* 80357EC0 00353B20  80 1F 00 04 */	lwz r0, 4(r31)
/* 80357EC4 00353B24  2C 00 00 02 */	cmpwi r0, 2
/* 80357EC8 00353B28  40 82 00 0C */	bne lbl_80357ED4
/* 80357ECC 00353B2C  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 80357ED0 00353B30  48 00 00 2C */	b lbl_80357EFC
lbl_80357ED4:
/* 80357ED4 00353B34  38 7F 00 10 */	addi r3, r31, 0x10
/* 80357ED8 00353B38  48 00 00 24 */	b lbl_80357EFC
lbl_80357EDC:
/* 80357EDC 00353B3C  40 86 00 0C */	bne cr1, lbl_80357EE8
/* 80357EE0 00353B40  38 60 00 00 */	li r3, 0
/* 80357EE4 00353B44  48 00 00 18 */	b lbl_80357EFC
lbl_80357EE8:
/* 80357EE8 00353B48  2C 00 00 02 */	cmpwi r0, 2
/* 80357EEC 00353B4C  40 82 00 0C */	bne lbl_80357EF8
/* 80357EF0 00353B50  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80357EF4 00353B54  48 00 00 08 */	b lbl_80357EFC
lbl_80357EF8:
/* 80357EF8 00353B58  38 63 00 10 */	addi r3, r3, 0x10
lbl_80357EFC:
/* 80357EFC 00353B5C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80357F00 00353B60  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80357F04 00353B64  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80357F08 00353B68  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 80357F0C 00353B6C  7C 08 03 A6 */	mtlr r0
/* 80357F10 00353B70  38 21 00 30 */	addi r1, r1, 0x30
/* 80357F14 00353B74  4E 80 00 20 */	blr

.global BucketConcat
BucketConcat:
/* 80357F18 00353B78  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80357F1C 00353B7C  7C 08 02 A6 */	mflr r0
/* 80357F20 00353B80  2C 03 00 00 */	cmpwi r3, 0
/* 80357F24 00353B84  90 01 00 34 */	stw r0, 0x34(r1)
/* 80357F28 00353B88  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 80357F2C 00353B8C  93 C1 00 28 */	stw r30, 0x28(r1)
/* 80357F30 00353B90  93 A1 00 24 */	stw r29, 0x24(r1)
/* 80357F34 00353B94  93 81 00 20 */	stw r28, 0x20(r1)
/* 80357F38 00353B98  7C BC 2B 78 */	mr r28, r5
/* 80357F3C 00353B9C  40 82 00 08 */	bne lbl_80357F44
/* 80357F40 00353BA0  80 6D B1 08 */	lwz r3, lbl_806403C8-_SDA_BASE_(r13)
lbl_80357F44:
/* 80357F44 00353BA4  90 81 00 08 */	stw r4, 8(r1)
/* 80357F48 00353BA8  38 81 00 08 */	addi r4, r1, 8
/* 80357F4C 00353BAC  80 63 00 00 */	lwz r3, 0(r3)
/* 80357F50 00353BB0  4B FD EB CD */	bl TableLookup
/* 80357F54 00353BB4  2C 03 00 00 */	cmpwi r3, 0
/* 80357F58 00353BB8  7C 7E 1B 78 */	mr r30, r3
/* 80357F5C 00353BBC  40 82 00 0C */	bne lbl_80357F68
/* 80357F60 00353BC0  38 60 00 00 */	li r3, 0
/* 80357F64 00353BC4  48 00 01 1C */	b lbl_80358080
lbl_80357F68:
/* 80357F68 00353BC8  40 82 00 0C */	bne lbl_80357F74
/* 80357F6C 00353BCC  3B A0 00 00 */	li r29, 0
/* 80357F70 00353BD0  48 00 00 1C */	b lbl_80357F8C
lbl_80357F74:
/* 80357F74 00353BD4  80 03 00 04 */	lwz r0, 4(r3)
/* 80357F78 00353BD8  2C 00 00 02 */	cmpwi r0, 2
/* 80357F7C 00353BDC  40 82 00 0C */	bne lbl_80357F88
/* 80357F80 00353BE0  83 A3 00 10 */	lwz r29, 0x10(r3)
/* 80357F84 00353BE4  48 00 00 08 */	b lbl_80357F8C
lbl_80357F88:
/* 80357F88 00353BE8  3B A3 00 10 */	addi r29, r3, 0x10
lbl_80357F8C:
/* 80357F8C 00353BEC  7F 83 E3 78 */	mr r3, r28
/* 80357F90 00353BF0  4B E6 EB D5 */	bl strlen
/* 80357F94 00353BF4  7C 7F 1B 78 */	mr r31, r3
/* 80357F98 00353BF8  7F A3 EB 78 */	mr r3, r29
/* 80357F9C 00353BFC  4B E6 EB C9 */	bl strlen
/* 80357FA0 00353C00  7C 63 FA 14 */	add r3, r3, r31
/* 80357FA4 00353C04  38 63 00 01 */	addi r3, r3, 1
/* 80357FA8 00353C08  4B FE 13 6D */	bl gsimalloc
/* 80357FAC 00353C0C  7C 7F 1B 78 */	mr r31, r3
/* 80357FB0 00353C10  7F A4 EB 78 */	mr r4, r29
/* 80357FB4 00353C14  4B E7 63 1D */	bl strcpy
/* 80357FB8 00353C18  7F E3 FB 78 */	mr r3, r31
/* 80357FBC 00353C1C  7F 84 E3 78 */	mr r4, r28
/* 80357FC0 00353C20  4B E7 64 15 */	bl strcat
/* 80357FC4 00353C24  80 1E 00 04 */	lwz r0, 4(r30)
/* 80357FC8 00353C28  2C 00 00 00 */	cmpwi r0, 0
/* 80357FCC 00353C2C  40 82 00 10 */	bne lbl_80357FDC
/* 80357FD0 00353C30  80 1F 00 00 */	lwz r0, 0(r31)
/* 80357FD4 00353C34  90 1E 00 10 */	stw r0, 0x10(r30)
/* 80357FD8 00353C38  48 00 00 78 */	b lbl_80358050
lbl_80357FDC:
/* 80357FDC 00353C3C  2C 00 00 01 */	cmpwi r0, 1
/* 80357FE0 00353C40  40 82 00 10 */	bne lbl_80357FF0
/* 80357FE4 00353C44  C8 1F 00 00 */	lfd f0, 0(r31)
/* 80357FE8 00353C48  D8 1E 00 10 */	stfd f0, 0x10(r30)
/* 80357FEC 00353C4C  48 00 00 64 */	b lbl_80358050
lbl_80357FF0:
/* 80357FF0 00353C50  2C 00 00 02 */	cmpwi r0, 2
/* 80357FF4 00353C54  40 82 00 5C */	bne lbl_80358050
/* 80357FF8 00353C58  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 80357FFC 00353C5C  2C 03 00 00 */	cmpwi r3, 0
/* 80358000 00353C60  41 82 00 08 */	beq lbl_80358008
/* 80358004 00353C64  4B FE 13 35 */	bl gsifree
lbl_80358008:
/* 80358008 00353C68  2C 1F 00 00 */	cmpwi r31, 0
/* 8035800C 00353C6C  40 82 00 0C */	bne lbl_80358018
/* 80358010 00353C70  38 A0 00 00 */	li r5, 0
/* 80358014 00353C74  48 00 00 38 */	b lbl_8035804C
lbl_80358018:
/* 80358018 00353C78  7F E3 FB 78 */	mr r3, r31
/* 8035801C 00353C7C  4B FE 0E E9 */	bl goastrdup
/* 80358020 00353C80  38 80 00 2F */	li r4, 0x2f
/* 80358024 00353C84  7C 65 1B 78 */	mr r5, r3
/* 80358028 00353C88  48 00 00 18 */	b lbl_80358040
lbl_8035802C:
/* 8035802C 00353C8C  7C C0 07 74 */	extsb r0, r6
/* 80358030 00353C90  2C 00 00 5C */	cmpwi r0, 0x5c
/* 80358034 00353C94  40 82 00 08 */	bne lbl_8035803C
/* 80358038 00353C98  98 83 00 00 */	stb r4, 0(r3)
lbl_8035803C:
/* 8035803C 00353C9C  38 63 00 01 */	addi r3, r3, 1
lbl_80358040:
/* 80358040 00353CA0  88 C3 00 00 */	lbz r6, 0(r3)
/* 80358044 00353CA4  7C C0 07 75 */	extsb. r0, r6
/* 80358048 00353CA8  40 82 FF E4 */	bne lbl_8035802C
lbl_8035804C:
/* 8035804C 00353CAC  90 BE 00 10 */	stw r5, 0x10(r30)
lbl_80358050:
/* 80358050 00353CB0  7F E3 FB 78 */	mr r3, r31
/* 80358054 00353CB4  4B FE 12 E5 */	bl gsifree
/* 80358058 00353CB8  2C 1E 00 00 */	cmpwi r30, 0
/* 8035805C 00353CBC  40 82 00 0C */	bne lbl_80358068
/* 80358060 00353CC0  38 60 00 00 */	li r3, 0
/* 80358064 00353CC4  48 00 00 1C */	b lbl_80358080
lbl_80358068:
/* 80358068 00353CC8  80 1E 00 04 */	lwz r0, 4(r30)
/* 8035806C 00353CCC  2C 00 00 02 */	cmpwi r0, 2
/* 80358070 00353CD0  40 82 00 0C */	bne lbl_8035807C
/* 80358074 00353CD4  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 80358078 00353CD8  48 00 00 08 */	b lbl_80358080
lbl_8035807C:
/* 8035807C 00353CDC  38 7E 00 10 */	addi r3, r30, 0x10
lbl_80358080:
/* 80358080 00353CE0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80358084 00353CE4  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80358088 00353CE8  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 8035808C 00353CEC  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 80358090 00353CF0  83 81 00 20 */	lwz r28, 0x20(r1)
/* 80358094 00353CF4  7C 08 03 A6 */	mtlr r0
/* 80358098 00353CF8  38 21 00 30 */	addi r1, r1, 0x30
/* 8035809C 00353CFC  4E 80 00 20 */	blr

.global BucketAvg
BucketAvg:
/* 803580A0 00353D00  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803580A4 00353D04  7C 08 02 A6 */	mflr r0
/* 803580A8 00353D08  2C 03 00 00 */	cmpwi r3, 0
/* 803580AC 00353D0C  90 01 00 44 */	stw r0, 0x44(r1)
/* 803580B0 00353D10  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 803580B4 00353D14  93 C1 00 38 */	stw r30, 0x38(r1)
/* 803580B8 00353D18  93 A1 00 34 */	stw r29, 0x34(r1)
/* 803580BC 00353D1C  7C BD 2B 78 */	mr r29, r5
/* 803580C0 00353D20  40 82 00 08 */	bne lbl_803580C8
/* 803580C4 00353D24  80 6D B1 08 */	lwz r3, lbl_806403C8-_SDA_BASE_(r13)
lbl_803580C8:
/* 803580C8 00353D28  90 81 00 08 */	stw r4, 8(r1)
/* 803580CC 00353D2C  38 81 00 08 */	addi r4, r1, 8
/* 803580D0 00353D30  80 63 00 00 */	lwz r3, 0(r3)
/* 803580D4 00353D34  4B FD EA 49 */	bl TableLookup
/* 803580D8 00353D38  2C 83 00 00 */	cmpwi cr1, r3, 0
/* 803580DC 00353D3C  7C 7F 1B 78 */	mr r31, r3
/* 803580E0 00353D40  40 86 00 0C */	bne cr1, lbl_803580EC
/* 803580E4 00353D44  38 60 00 00 */	li r3, 0
/* 803580E8 00353D48  48 00 02 60 */	b lbl_80358348
lbl_803580EC:
/* 803580EC 00353D4C  80 03 00 04 */	lwz r0, 4(r3)
/* 803580F0 00353D50  2C 00 00 00 */	cmpwi r0, 0
/* 803580F4 00353D54  40 82 01 00 */	bne lbl_803581F4
/* 803580F8 00353D58  40 86 00 0C */	bne cr1, lbl_80358104
/* 803580FC 00353D5C  38 80 00 00 */	li r4, 0
/* 80358100 00353D60  48 00 00 18 */	b lbl_80358118
lbl_80358104:
/* 80358104 00353D64  2C 00 00 02 */	cmpwi r0, 2
/* 80358108 00353D68  40 82 00 0C */	bne lbl_80358114
/* 8035810C 00353D6C  80 83 00 10 */	lwz r4, 0x10(r3)
/* 80358110 00353D70  48 00 00 08 */	b lbl_80358118
lbl_80358114:
/* 80358114 00353D74  38 83 00 10 */	addi r4, r3, 0x10
lbl_80358118:
/* 80358118 00353D78  80 A3 00 08 */	lwz r5, 8(r3)
/* 8035811C 00353D7C  3B CD B0 F8 */	addi r30, r13, lbl_806403B8-_SDA_BASE_
/* 80358120 00353D80  80 84 00 00 */	lwz r4, 0(r4)
/* 80358124 00353D84  80 DD 00 00 */	lwz r6, 0(r29)
/* 80358128 00353D88  38 05 00 01 */	addi r0, r5, 1
/* 8035812C 00353D8C  7C 85 21 D6 */	mullw r4, r5, r4
/* 80358130 00353D90  90 03 00 08 */	stw r0, 8(r3)
/* 80358134 00353D94  7C 86 22 14 */	add r4, r6, r4
/* 80358138 00353D98  7C 04 03 D6 */	divw r0, r4, r0
/* 8035813C 00353D9C  90 0D B0 F8 */	stw r0, lbl_806403B8-_SDA_BASE_(r13)
/* 80358140 00353DA0  80 83 00 04 */	lwz r4, 4(r3)
/* 80358144 00353DA4  2C 04 00 00 */	cmpwi r4, 0
/* 80358148 00353DA8  40 82 00 0C */	bne lbl_80358154
/* 8035814C 00353DAC  90 03 00 10 */	stw r0, 0x10(r3)
/* 80358150 00353DB0  48 00 00 78 */	b lbl_803581C8
lbl_80358154:
/* 80358154 00353DB4  2C 04 00 01 */	cmpwi r4, 1
/* 80358158 00353DB8  40 82 00 10 */	bne lbl_80358168
/* 8035815C 00353DBC  C8 1E 00 00 */	lfd f0, 0(r30)
/* 80358160 00353DC0  D8 03 00 10 */	stfd f0, 0x10(r3)
/* 80358164 00353DC4  48 00 00 64 */	b lbl_803581C8
lbl_80358168:
/* 80358168 00353DC8  2C 04 00 02 */	cmpwi r4, 2
/* 8035816C 00353DCC  40 82 00 5C */	bne lbl_803581C8
/* 80358170 00353DD0  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80358174 00353DD4  2C 03 00 00 */	cmpwi r3, 0
/* 80358178 00353DD8  41 82 00 08 */	beq lbl_80358180
/* 8035817C 00353DDC  4B FE 11 BD */	bl gsifree
lbl_80358180:
/* 80358180 00353DE0  2C 1E 00 00 */	cmpwi r30, 0
/* 80358184 00353DE4  40 82 00 0C */	bne lbl_80358190
/* 80358188 00353DE8  38 A0 00 00 */	li r5, 0
/* 8035818C 00353DEC  48 00 00 38 */	b lbl_803581C4
lbl_80358190:
/* 80358190 00353DF0  7F C3 F3 78 */	mr r3, r30
/* 80358194 00353DF4  4B FE 0D 71 */	bl goastrdup
/* 80358198 00353DF8  38 80 00 2F */	li r4, 0x2f
/* 8035819C 00353DFC  7C 65 1B 78 */	mr r5, r3
/* 803581A0 00353E00  48 00 00 18 */	b lbl_803581B8
lbl_803581A4:
/* 803581A4 00353E04  7C C0 07 74 */	extsb r0, r6
/* 803581A8 00353E08  2C 00 00 5C */	cmpwi r0, 0x5c
/* 803581AC 00353E0C  40 82 00 08 */	bne lbl_803581B4
/* 803581B0 00353E10  98 83 00 00 */	stb r4, 0(r3)
lbl_803581B4:
/* 803581B4 00353E14  38 63 00 01 */	addi r3, r3, 1
lbl_803581B8:
/* 803581B8 00353E18  88 C3 00 00 */	lbz r6, 0(r3)
/* 803581BC 00353E1C  7C C0 07 75 */	extsb. r0, r6
/* 803581C0 00353E20  40 82 FF E4 */	bne lbl_803581A4
lbl_803581C4:
/* 803581C4 00353E24  90 BF 00 10 */	stw r5, 0x10(r31)
lbl_803581C8:
/* 803581C8 00353E28  2C 1F 00 00 */	cmpwi r31, 0
/* 803581CC 00353E2C  40 82 00 0C */	bne lbl_803581D8
/* 803581D0 00353E30  38 60 00 00 */	li r3, 0
/* 803581D4 00353E34  48 00 01 74 */	b lbl_80358348
lbl_803581D8:
/* 803581D8 00353E38  80 1F 00 04 */	lwz r0, 4(r31)
/* 803581DC 00353E3C  2C 00 00 02 */	cmpwi r0, 2
/* 803581E0 00353E40  40 82 00 0C */	bne lbl_803581EC
/* 803581E4 00353E44  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 803581E8 00353E48  48 00 01 60 */	b lbl_80358348
lbl_803581EC:
/* 803581EC 00353E4C  38 7F 00 10 */	addi r3, r31, 0x10
/* 803581F0 00353E50  48 00 01 58 */	b lbl_80358348
lbl_803581F4:
/* 803581F4 00353E54  2C 00 00 01 */	cmpwi r0, 1
/* 803581F8 00353E58  40 82 01 30 */	bne lbl_80358328
/* 803581FC 00353E5C  40 86 00 0C */	bne cr1, lbl_80358208
/* 80358200 00353E60  38 C0 00 00 */	li r6, 0
/* 80358204 00353E64  48 00 00 18 */	b lbl_8035821C
lbl_80358208:
/* 80358208 00353E68  2C 00 00 02 */	cmpwi r0, 2
/* 8035820C 00353E6C  40 82 00 0C */	bne lbl_80358218
/* 80358210 00353E70  80 C3 00 10 */	lwz r6, 0x10(r3)
/* 80358214 00353E74  48 00 00 08 */	b lbl_8035821C
lbl_80358218:
/* 80358218 00353E78  38 C3 00 10 */	addi r6, r3, 0x10
lbl_8035821C:
/* 8035821C 00353E7C  80 83 00 08 */	lwz r4, 8(r3)
/* 80358220 00353E80  3C A0 43 30 */	lis r5, 0x4330
/* 80358224 00353E84  90 A1 00 20 */	stw r5, 0x20(r1)
/* 80358228 00353E88  3B CD B1 00 */	addi r30, r13, lbl_806403C0-_SDA_BASE_
/* 8035822C 00353E8C  6C 80 80 00 */	xoris r0, r4, 0x8000
/* 80358230 00353E90  C8 62 A4 E0 */	lfd f3, lbl_80642AE0-_SDA2_BASE_(r2)
/* 80358234 00353E94  90 01 00 24 */	stw r0, 0x24(r1)
/* 80358238 00353E98  38 84 00 01 */	addi r4, r4, 1
/* 8035823C 00353E9C  6C 80 80 00 */	xoris r0, r4, 0x8000
/* 80358240 00353EA0  C8 06 00 00 */	lfd f0, 0(r6)
/* 80358244 00353EA4  C8 21 00 20 */	lfd f1, 0x20(r1)
/* 80358248 00353EA8  90 01 00 2C */	stw r0, 0x2c(r1)
/* 8035824C 00353EAC  FC 41 18 28 */	fsub f2, f1, f3
/* 80358250 00353EB0  C8 3D 00 00 */	lfd f1, 0(r29)
/* 80358254 00353EB4  90 A1 00 28 */	stw r5, 0x28(r1)
/* 80358258 00353EB8  FC 42 00 32 */	fmul f2, f2, f0
/* 8035825C 00353EBC  C8 01 00 28 */	lfd f0, 0x28(r1)
/* 80358260 00353EC0  90 83 00 08 */	stw r4, 8(r3)
/* 80358264 00353EC4  FC 00 18 28 */	fsub f0, f0, f3
/* 80358268 00353EC8  FC 21 10 2A */	fadd f1, f1, f2
/* 8035826C 00353ECC  FC 01 00 24 */	fdiv f0, f1, f0
/* 80358270 00353ED0  D8 0D B1 00 */	stfd f0, lbl_806403C0-_SDA_BASE_(r13)
/* 80358274 00353ED4  80 03 00 04 */	lwz r0, 4(r3)
/* 80358278 00353ED8  2C 00 00 00 */	cmpwi r0, 0
/* 8035827C 00353EDC  40 82 00 10 */	bne lbl_8035828C
/* 80358280 00353EE0  80 1E 00 00 */	lwz r0, 0(r30)
/* 80358284 00353EE4  90 03 00 10 */	stw r0, 0x10(r3)
/* 80358288 00353EE8  48 00 00 74 */	b lbl_803582FC
lbl_8035828C:
/* 8035828C 00353EEC  2C 00 00 01 */	cmpwi r0, 1
/* 80358290 00353EF0  40 82 00 0C */	bne lbl_8035829C
/* 80358294 00353EF4  D8 03 00 10 */	stfd f0, 0x10(r3)
/* 80358298 00353EF8  48 00 00 64 */	b lbl_803582FC
lbl_8035829C:
/* 8035829C 00353EFC  2C 00 00 02 */	cmpwi r0, 2
/* 803582A0 00353F00  40 82 00 5C */	bne lbl_803582FC
/* 803582A4 00353F04  80 63 00 10 */	lwz r3, 0x10(r3)
/* 803582A8 00353F08  2C 03 00 00 */	cmpwi r3, 0
/* 803582AC 00353F0C  41 82 00 08 */	beq lbl_803582B4
/* 803582B0 00353F10  4B FE 10 89 */	bl gsifree
lbl_803582B4:
/* 803582B4 00353F14  2C 1E 00 00 */	cmpwi r30, 0
/* 803582B8 00353F18  40 82 00 0C */	bne lbl_803582C4
/* 803582BC 00353F1C  38 A0 00 00 */	li r5, 0
/* 803582C0 00353F20  48 00 00 38 */	b lbl_803582F8
lbl_803582C4:
/* 803582C4 00353F24  7F C3 F3 78 */	mr r3, r30
/* 803582C8 00353F28  4B FE 0C 3D */	bl goastrdup
/* 803582CC 00353F2C  38 80 00 2F */	li r4, 0x2f
/* 803582D0 00353F30  7C 65 1B 78 */	mr r5, r3
/* 803582D4 00353F34  48 00 00 18 */	b lbl_803582EC
lbl_803582D8:
/* 803582D8 00353F38  7C C0 07 74 */	extsb r0, r6
/* 803582DC 00353F3C  2C 00 00 5C */	cmpwi r0, 0x5c
/* 803582E0 00353F40  40 82 00 08 */	bne lbl_803582E8
/* 803582E4 00353F44  98 83 00 00 */	stb r4, 0(r3)
lbl_803582E8:
/* 803582E8 00353F48  38 63 00 01 */	addi r3, r3, 1
lbl_803582EC:
/* 803582EC 00353F4C  88 C3 00 00 */	lbz r6, 0(r3)
/* 803582F0 00353F50  7C C0 07 75 */	extsb. r0, r6
/* 803582F4 00353F54  40 82 FF E4 */	bne lbl_803582D8
lbl_803582F8:
/* 803582F8 00353F58  90 BF 00 10 */	stw r5, 0x10(r31)
lbl_803582FC:
/* 803582FC 00353F5C  2C 1F 00 00 */	cmpwi r31, 0
/* 80358300 00353F60  40 82 00 0C */	bne lbl_8035830C
/* 80358304 00353F64  38 60 00 00 */	li r3, 0
/* 80358308 00353F68  48 00 00 40 */	b lbl_80358348
lbl_8035830C:
/* 8035830C 00353F6C  80 1F 00 04 */	lwz r0, 4(r31)
/* 80358310 00353F70  2C 00 00 02 */	cmpwi r0, 2
/* 80358314 00353F74  40 82 00 0C */	bne lbl_80358320
/* 80358318 00353F78  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 8035831C 00353F7C  48 00 00 2C */	b lbl_80358348
lbl_80358320:
/* 80358320 00353F80  38 7F 00 10 */	addi r3, r31, 0x10
/* 80358324 00353F84  48 00 00 24 */	b lbl_80358348
lbl_80358328:
/* 80358328 00353F88  40 86 00 0C */	bne cr1, lbl_80358334
/* 8035832C 00353F8C  38 60 00 00 */	li r3, 0
/* 80358330 00353F90  48 00 00 18 */	b lbl_80358348
lbl_80358334:
/* 80358334 00353F94  2C 00 00 02 */	cmpwi r0, 2
/* 80358338 00353F98  40 82 00 0C */	bne lbl_80358344
/* 8035833C 00353F9C  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80358340 00353FA0  48 00 00 08 */	b lbl_80358348
lbl_80358344:
/* 80358344 00353FA4  38 63 00 10 */	addi r3, r3, 0x10
lbl_80358348:
/* 80358348 00353FA8  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8035834C 00353FAC  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 80358350 00353FB0  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 80358354 00353FB4  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 80358358 00353FB8  7C 08 03 A6 */	mtlr r0
/* 8035835C 00353FBC  38 21 00 40 */	addi r1, r1, 0x40
/* 80358360 00353FC0  4E 80 00 20 */	blr