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

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

.global RefStringHash
RefStringHash:
/* 8035D3D4 00359034  3C C0 80 42 */	lis r6, lbl_80422D48@ha
/* 8035D3D8 00359038  81 03 00 00 */	lwz r8, 0(r3)
/* 8035D3DC 0035903C  38 C6 2D 48 */	addi r6, r6, lbl_80422D48@l
/* 8035D3E0 00359040  3C A0 9C D0 */	lis r5, 0x9CCF9319@ha
/* 8035D3E4 00359044  80 E6 00 38 */	lwz r7, 0x38(r6)
/* 8035D3E8 00359048  38 C5 93 19 */	addi r6, r5, 0x9CCF9319@l
/* 8035D3EC 0035904C  38 60 00 00 */	li r3, 0
/* 8035D3F0 00359050  48 00 00 3C */	b lbl_8035D42C
lbl_8035D3F4:
/* 8035D3F4 00359054  7C A3 31 D6 */	mullw r5, r3, r6
/* 8035D3F8 00359058  7D 29 07 75 */	extsb. r9, r9
/* 8035D3FC 0035905C  38 00 00 00 */	li r0, 0
/* 8035D400 00359060  41 80 00 0C */	blt lbl_8035D40C
/* 8035D404 00359064  2C 09 01 00 */	cmpwi r9, 0x100
/* 8035D408 00359068  41 80 00 08 */	blt lbl_8035D410
lbl_8035D40C:
/* 8035D40C 0035906C  38 00 00 01 */	li r0, 1
lbl_8035D410:
/* 8035D410 00359070  2C 00 00 00 */	cmpwi r0, 0
/* 8035D414 00359074  41 82 00 08 */	beq lbl_8035D41C
/* 8035D418 00359078  48 00 00 0C */	b lbl_8035D424
lbl_8035D41C:
/* 8035D41C 0035907C  80 67 00 10 */	lwz r3, 0x10(r7)
/* 8035D420 00359080  7D 23 48 AE */	lbzx r9, r3, r9
lbl_8035D424:
/* 8035D424 00359084  7C 65 4A 14 */	add r3, r5, r9
/* 8035D428 00359088  39 08 00 01 */	addi r8, r8, 1
lbl_8035D42C:
/* 8035D42C 0035908C  89 28 00 00 */	lbz r9, 0(r8)
/* 8035D430 00359090  7D 20 07 75 */	extsb. r0, r9
/* 8035D434 00359094  40 82 FF C0 */	bne lbl_8035D3F4
/* 8035D438 00359098  7C 03 23 96 */	divwu r0, r3, r4
/* 8035D43C 0035909C  7C 00 21 D6 */	mullw r0, r0, r4
/* 8035D440 003590A0  7C 60 18 50 */	subf r3, r0, r3
/* 8035D444 003590A4  4E 80 00 20 */	blr

.global RefStringCompare
RefStringCompare:
/* 8035D448 003590A8  80 63 00 00 */	lwz r3, 0(r3)
/* 8035D44C 003590AC  80 84 00 00 */	lwz r4, 0(r4)
/* 8035D450 003590B0  4B E7 37 04 */	b strcasecmp

.global RefStringFree
RefStringFree:
/* 8035D454 003590B4  80 63 00 00 */	lwz r3, 0(r3)
/* 8035D458 003590B8  4B FD BE E0 */	b gsifree

.global SBRefStrHash
SBRefStrHash:
/* 8035D45C 003590BC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8035D460 003590C0  7C 08 02 A6 */	mflr r0
/* 8035D464 003590C4  90 01 00 14 */	stw r0, 0x14(r1)
/* 8035D468 003590C8  80 0D B1 80 */	lwz r0, lbl_80640440-_SDA_BASE_(r13)
/* 8035D46C 003590CC  2C 00 00 00 */	cmpwi r0, 0
/* 8035D470 003590D0  40 82 00 30 */	bne lbl_8035D4A0
/* 8035D474 003590D4  3C C0 80 36 */	lis r6, RefStringHash@ha
/* 8035D478 003590D8  3C E0 80 36 */	lis r7, RefStringCompare@ha
/* 8035D47C 003590DC  3D 00 80 36 */	lis r8, RefStringFree@ha
/* 8035D480 003590E0  38 60 00 08 */	li r3, 8
/* 8035D484 003590E4  38 C6 D3 D4 */	addi r6, r6, RefStringHash@l
/* 8035D488 003590E8  38 E7 D4 48 */	addi r7, r7, RefStringCompare@l
/* 8035D48C 003590EC  39 08 D4 54 */	addi r8, r8, RefStringFree@l
/* 8035D490 003590F0  38 80 01 F4 */	li r4, 0x1f4
/* 8035D494 003590F4  38 A0 00 04 */	li r5, 4
/* 8035D498 003590F8  4B FD 93 91 */	bl TableNew2
/* 8035D49C 003590FC  90 6D B1 80 */	stw r3, lbl_80640440-_SDA_BASE_(r13)
lbl_8035D4A0:
/* 8035D4A0 00359100  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8035D4A4 00359104  80 6D B1 80 */	lwz r3, lbl_80640440-_SDA_BASE_(r13)
/* 8035D4A8 00359108  7C 08 03 A6 */	mtlr r0
/* 8035D4AC 0035910C  38 21 00 10 */	addi r1, r1, 0x10
/* 8035D4B0 00359110  4E 80 00 20 */	blr

.global SBRefStrHashCleanup
SBRefStrHashCleanup:
/* 8035D4B4 00359114  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8035D4B8 00359118  7C 08 02 A6 */	mflr r0
/* 8035D4BC 0035911C  90 01 00 14 */	stw r0, 0x14(r1)
/* 8035D4C0 00359120  80 6D B1 80 */	lwz r3, lbl_80640440-_SDA_BASE_(r13)
/* 8035D4C4 00359124  2C 03 00 00 */	cmpwi r3, 0
/* 8035D4C8 00359128  41 82 00 20 */	beq lbl_8035D4E8
/* 8035D4CC 0035912C  4B FD 94 7D */	bl TableCount
/* 8035D4D0 00359130  2C 03 00 00 */	cmpwi r3, 0
/* 8035D4D4 00359134  40 82 00 14 */	bne lbl_8035D4E8
/* 8035D4D8 00359138  80 6D B1 80 */	lwz r3, lbl_80640440-_SDA_BASE_(r13)
/* 8035D4DC 0035913C  4B FD 93 F1 */	bl TableFree
/* 8035D4E0 00359140  38 00 00 00 */	li r0, 0
/* 8035D4E4 00359144  90 0D B1 80 */	stw r0, lbl_80640440-_SDA_BASE_(r13)
lbl_8035D4E8:
/* 8035D4E8 00359148  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8035D4EC 0035914C  7C 08 03 A6 */	mtlr r0
/* 8035D4F0 00359150  38 21 00 10 */	addi r1, r1, 0x10
/* 8035D4F4 00359154  4E 80 00 20 */	blr

.global SBServerFree
SBServerFree:
/* 8035D4F8 00359158  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8035D4FC 0035915C  7C 08 02 A6 */	mflr r0
/* 8035D500 00359160  90 01 00 14 */	stw r0, 0x14(r1)
/* 8035D504 00359164  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8035D508 00359168  83 E3 00 00 */	lwz r31, 0(r3)
/* 8035D50C 0035916C  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 8035D510 00359170  4B FD 93 BD */	bl TableFree
/* 8035D514 00359174  38 00 00 00 */	li r0, 0
/* 8035D518 00359178  7F E3 FB 78 */	mr r3, r31
/* 8035D51C 0035917C  90 1F 00 18 */	stw r0, 0x18(r31)
/* 8035D520 00359180  4B FD BE 19 */	bl gsifree
/* 8035D524 00359184  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8035D528 00359188  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8035D52C 0035918C  7C 08 03 A6 */	mtlr r0
/* 8035D530 00359190  38 21 00 10 */	addi r1, r1, 0x10
/* 8035D534 00359194  4E 80 00 20 */	blr

.global SBServerAddKeyValue
SBServerAddKeyValue:
/* 8035D538 00359198  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8035D53C 0035919C  7C 08 02 A6 */	mflr r0
/* 8035D540 003591A0  90 01 00 24 */	stw r0, 0x24(r1)
/* 8035D544 003591A4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8035D548 003591A8  7C BF 2B 78 */	mr r31, r5
/* 8035D54C 003591AC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8035D550 003591B0  7C 7E 1B 78 */	mr r30, r3
/* 8035D554 003591B4  38 60 00 00 */	li r3, 0
/* 8035D558 003591B8  48 00 1B D5 */	bl SBRefStr
/* 8035D55C 003591BC  90 61 00 08 */	stw r3, 8(r1)
/* 8035D560 003591C0  7F E4 FB 78 */	mr r4, r31
/* 8035D564 003591C4  38 60 00 00 */	li r3, 0
/* 8035D568 003591C8  48 00 1B C5 */	bl SBRefStr
/* 8035D56C 003591CC  90 61 00 0C */	stw r3, 0xc(r1)
/* 8035D570 003591D0  38 81 00 08 */	addi r4, r1, 8
/* 8035D574 003591D4  80 7E 00 18 */	lwz r3, 0x18(r30)
/* 8035D578 003591D8  4B FD 94 59 */	bl TableEnter
/* 8035D57C 003591DC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8035D580 003591E0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8035D584 003591E4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8035D588 003591E8  7C 08 03 A6 */	mtlr r0
/* 8035D58C 003591EC  38 21 00 20 */	addi r1, r1, 0x20
/* 8035D590 003591F0  4E 80 00 20 */	blr

.global SBServerAddIntKeyValue
SBServerAddIntKeyValue:
/* 8035D594 003591F4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8035D598 003591F8  7C 08 02 A6 */	mflr r0
/* 8035D59C 003591FC  90 01 00 34 */	stw r0, 0x34(r1)
/* 8035D5A0 00359200  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8035D5A4 00359204  7C 9F 23 78 */	mr r31, r4
/* 8035D5A8 00359208  38 8D 94 D0 */	addi r4, r13, lbl_8063E790-_SDA_BASE_
/* 8035D5AC 0035920C  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8035D5B0 00359210  7C 7E 1B 78 */	mr r30, r3
/* 8035D5B4 00359214  38 61 00 10 */	addi r3, r1, 0x10
/* 8035D5B8 00359218  4C C6 31 82 */	crclr 6
/* 8035D5BC 0035921C  4B E6 F5 41 */	bl sprintf
/* 8035D5C0 00359220  7F E4 FB 78 */	mr r4, r31
/* 8035D5C4 00359224  38 60 00 00 */	li r3, 0
/* 8035D5C8 00359228  48 00 1B 65 */	bl SBRefStr
/* 8035D5CC 0035922C  90 61 00 08 */	stw r3, 8(r1)
/* 8035D5D0 00359230  38 81 00 10 */	addi r4, r1, 0x10
/* 8035D5D4 00359234  38 60 00 00 */	li r3, 0
/* 8035D5D8 00359238  48 00 1B 55 */	bl SBRefStr
/* 8035D5DC 0035923C  90 61 00 0C */	stw r3, 0xc(r1)
/* 8035D5E0 00359240  38 81 00 08 */	addi r4, r1, 8
/* 8035D5E4 00359244  80 7E 00 18 */	lwz r3, 0x18(r30)
/* 8035D5E8 00359248  4B FD 93 E9 */	bl TableEnter
/* 8035D5EC 0035924C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8035D5F0 00359250  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8035D5F4 00359254  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 8035D5F8 00359258  7C 08 03 A6 */	mtlr r0
/* 8035D5FC 0035925C  38 21 00 30 */	addi r1, r1, 0x30
/* 8035D600 00359260  4E 80 00 20 */	blr

.global SBServerGetStringValueA
SBServerGetStringValueA:
/* 8035D604 00359264  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8035D608 00359268  7C 08 02 A6 */	mflr r0
/* 8035D60C 0035926C  2C 03 00 00 */	cmpwi r3, 0
/* 8035D610 00359270  90 01 00 24 */	stw r0, 0x24(r1)
/* 8035D614 00359274  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8035D618 00359278  7C BF 2B 78 */	mr r31, r5
/* 8035D61C 0035927C  40 82 00 0C */	bne lbl_8035D628
/* 8035D620 00359280  38 60 00 00 */	li r3, 0
/* 8035D624 00359284  48 00 00 28 */	b lbl_8035D64C
lbl_8035D628:
/* 8035D628 00359288  90 81 00 08 */	stw r4, 8(r1)
/* 8035D62C 0035928C  38 81 00 08 */	addi r4, r1, 8
/* 8035D630 00359290  80 63 00 18 */	lwz r3, 0x18(r3)
/* 8035D634 00359294  4B FD 94 E9 */	bl TableLookup
/* 8035D638 00359298  2C 03 00 00 */	cmpwi r3, 0
/* 8035D63C 0035929C  40 82 00 0C */	bne lbl_8035D648
/* 8035D640 003592A0  7F E3 FB 78 */	mr r3, r31
/* 8035D644 003592A4  48 00 00 08 */	b lbl_8035D64C
lbl_8035D648:
/* 8035D648 003592A8  80 63 00 04 */	lwz r3, 4(r3)
lbl_8035D64C:
/* 8035D64C 003592AC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8035D650 003592B0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8035D654 003592B4  7C 08 03 A6 */	mtlr r0
/* 8035D658 003592B8  38 21 00 20 */	addi r1, r1, 0x20
/* 8035D65C 003592BC  4E 80 00 20 */	blr

.global SBServerGetIntValueA
SBServerGetIntValueA:
/* 8035D660 003592C0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8035D664 003592C4  7C 08 02 A6 */	mflr r0
/* 8035D668 003592C8  2C 03 00 00 */	cmpwi r3, 0
/* 8035D66C 003592CC  90 01 00 24 */	stw r0, 0x24(r1)
/* 8035D670 003592D0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8035D674 003592D4  7C BF 2B 78 */	mr r31, r5
/* 8035D678 003592D8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8035D67C 003592DC  7C 9E 23 78 */	mr r30, r4
/* 8035D680 003592E0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8035D684 003592E4  7C 7D 1B 78 */	mr r29, r3
/* 8035D688 003592E8  40 82 00 0C */	bne lbl_8035D694
/* 8035D68C 003592EC  7F E3 FB 78 */	mr r3, r31
/* 8035D690 003592F0  48 00 00 D8 */	b lbl_8035D768
lbl_8035D694:
/* 8035D694 003592F4  7F C3 F3 78 */	mr r3, r30
/* 8035D698 003592F8  38 8D 94 D4 */	addi r4, r13, lbl_8063E794-_SDA_BASE_
/* 8035D69C 003592FC  4B E7 0D B1 */	bl strcmp
/* 8035D6A0 00359300  2C 03 00 00 */	cmpwi r3, 0
/* 8035D6A4 00359304  40 82 00 0C */	bne lbl_8035D6B0
/* 8035D6A8 00359308  80 7D 00 1C */	lwz r3, 0x1c(r29)
/* 8035D6AC 0035930C  48 00 00 BC */	b lbl_8035D768
lbl_8035D6B0:
/* 8035D6B0 00359310  2C 1D 00 00 */	cmpwi r29, 0
/* 8035D6B4 00359314  40 82 00 0C */	bne lbl_8035D6C0
/* 8035D6B8 00359318  38 60 00 00 */	li r3, 0
/* 8035D6BC 0035931C  48 00 00 28 */	b lbl_8035D6E4
lbl_8035D6C0:
/* 8035D6C0 00359320  93 C1 00 08 */	stw r30, 8(r1)
/* 8035D6C4 00359324  38 81 00 08 */	addi r4, r1, 8
/* 8035D6C8 00359328  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 8035D6CC 0035932C  4B FD 94 51 */	bl TableLookup
/* 8035D6D0 00359330  2C 03 00 00 */	cmpwi r3, 0
/* 8035D6D4 00359334  40 82 00 0C */	bne lbl_8035D6E0
/* 8035D6D8 00359338  38 60 00 00 */	li r3, 0
/* 8035D6DC 0035933C  48 00 00 08 */	b lbl_8035D6E4
lbl_8035D6E0:
/* 8035D6E0 00359340  80 63 00 04 */	lwz r3, 4(r3)
lbl_8035D6E4:
/* 8035D6E4 00359344  2C 03 00 00 */	cmpwi r3, 0
/* 8035D6E8 00359348  40 82 00 0C */	bne lbl_8035D6F4
/* 8035D6EC 0035934C  7F E3 FB 78 */	mr r3, r31
/* 8035D6F0 00359350  48 00 00 78 */	b lbl_8035D768
lbl_8035D6F4:
/* 8035D6F4 00359354  88 03 00 00 */	lbz r0, 0(r3)
/* 8035D6F8 00359358  2C 00 00 2D */	cmpwi r0, 0x2d
/* 8035D6FC 0035935C  41 82 00 0C */	beq lbl_8035D708
/* 8035D700 00359360  7C 64 1B 78 */	mr r4, r3
/* 8035D704 00359364  48 00 00 08 */	b lbl_8035D70C
lbl_8035D708:
/* 8035D708 00359368  38 83 00 01 */	addi r4, r3, 1
lbl_8035D70C:
/* 8035D70C 0035936C  88 A4 00 00 */	lbz r5, 0(r4)
/* 8035D710 00359370  38 00 00 00 */	li r0, 0
/* 8035D714 00359374  2C 05 00 00 */	cmpwi r5, 0
/* 8035D718 00359378  41 80 00 0C */	blt lbl_8035D724
/* 8035D71C 0035937C  2C 05 01 00 */	cmpwi r5, 0x100
/* 8035D720 00359380  41 80 00 08 */	blt lbl_8035D728
lbl_8035D724:
/* 8035D724 00359384  38 00 00 01 */	li r0, 1
lbl_8035D728:
/* 8035D728 00359388  2C 00 00 00 */	cmpwi r0, 0
/* 8035D72C 0035938C  41 82 00 0C */	beq lbl_8035D738
/* 8035D730 00359390  38 00 00 00 */	li r0, 0
/* 8035D734 00359394  48 00 00 20 */	b lbl_8035D754
lbl_8035D738:
/* 8035D738 00359398  3C 80 80 42 */	lis r4, lbl_80422D48@ha
/* 8035D73C 0035939C  54 A0 08 3C */	slwi r0, r5, 1
/* 8035D740 003593A0  38 84 2D 48 */	addi r4, r4, lbl_80422D48@l
/* 8035D744 003593A4  80 84 00 38 */	lwz r4, 0x38(r4)
/* 8035D748 003593A8  80 84 00 08 */	lwz r4, 8(r4)
/* 8035D74C 003593AC  7C 04 02 2E */	lhzx r0, r4, r0
/* 8035D750 003593B0  54 00 07 38 */	rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_8035D754:
/* 8035D754 003593B4  2C 00 00 00 */	cmpwi r0, 0
/* 8035D758 003593B8  40 82 00 0C */	bne lbl_8035D764
/* 8035D75C 003593BC  7F E3 FB 78 */	mr r3, r31
/* 8035D760 003593C0  48 00 00 08 */	b lbl_8035D768
lbl_8035D764:
/* 8035D764 003593C4  4B E7 2F A9 */	bl atoi
lbl_8035D768:
/* 8035D768 003593C8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8035D76C 003593CC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8035D770 003593D0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8035D774 003593D4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8035D778 003593D8  7C 08 03 A6 */	mtlr r0
/* 8035D77C 003593DC  38 21 00 20 */	addi r1, r1, 0x20
/* 8035D780 003593E0  4E 80 00 20 */	blr

.global SBServerGetFloatValueA
SBServerGetFloatValueA:
/* 8035D784 003593E4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8035D788 003593E8  7C 08 02 A6 */	mflr r0
/* 8035D78C 003593EC  90 01 00 24 */	stw r0, 0x24(r1)
/* 8035D790 003593F0  DB E1 00 18 */	stfd f31, 0x18(r1)
/* 8035D794 003593F4  FF E0 08 90 */	fmr f31, f1
/* 8035D798 003593F8  2C 03 00 00 */	cmpwi r3, 0
/* 8035D79C 003593FC  40 82 00 0C */	bne lbl_8035D7A8
/* 8035D7A0 00359400  38 60 00 00 */	li r3, 0
/* 8035D7A4 00359404  48 00 00 28 */	b lbl_8035D7CC
lbl_8035D7A8:
/* 8035D7A8 00359408  90 81 00 08 */	stw r4, 8(r1)
/* 8035D7AC 0035940C  38 81 00 08 */	addi r4, r1, 8
/* 8035D7B0 00359410  80 63 00 18 */	lwz r3, 0x18(r3)
/* 8035D7B4 00359414  4B FD 93 69 */	bl TableLookup
/* 8035D7B8 00359418  2C 03 00 00 */	cmpwi r3, 0
/* 8035D7BC 0035941C  40 82 00 0C */	bne lbl_8035D7C8
/* 8035D7C0 00359420  38 60 00 00 */	li r3, 0
/* 8035D7C4 00359424  48 00 00 08 */	b lbl_8035D7CC
lbl_8035D7C8:
/* 8035D7C8 00359428  80 63 00 04 */	lwz r3, 4(r3)
lbl_8035D7CC:
/* 8035D7CC 0035942C  2C 03 00 00 */	cmpwi r3, 0
/* 8035D7D0 00359430  40 82 00 08 */	bne lbl_8035D7D8
/* 8035D7D4 00359434  48 00 00 0C */	b lbl_8035D7E0
lbl_8035D7D8:
/* 8035D7D8 00359438  4B E7 24 29 */	bl atof
/* 8035D7DC 0035943C  FF E0 08 90 */	fmr f31, f1
lbl_8035D7E0:
/* 8035D7E0 00359440  FC 20 F8 90 */	fmr f1, f31
/* 8035D7E4 00359444  CB E1 00 18 */	lfd f31, 0x18(r1)
/* 8035D7E8 00359448  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8035D7EC 0035944C  7C 08 03 A6 */	mtlr r0
/* 8035D7F0 00359450  38 21 00 20 */	addi r1, r1, 0x20
/* 8035D7F4 00359454  4E 80 00 20 */	blr

.global SBServerGetPublicAddress
SBServerGetPublicAddress:
/* 8035D7F8 00359458  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8035D7FC 0035945C  7C 08 02 A6 */	mflr r0
/* 8035D800 00359460  90 01 00 14 */	stw r0, 0x14(r1)
/* 8035D804 00359464  80 03 00 00 */	lwz r0, 0(r3)
/* 8035D808 00359468  38 61 00 08 */	addi r3, r1, 8
/* 8035D80C 0035946C  90 01 00 08 */	stw r0, 8(r1)
/* 8035D810 00359470  4B F9 95 09 */	bl SOInetNtoA
/* 8035D814 00359474  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8035D818 00359478  7C 08 03 A6 */	mtlr r0
/* 8035D81C 0035947C  38 21 00 10 */	addi r1, r1, 0x10
/* 8035D820 00359480  4E 80 00 20 */	blr

.global SBServerGetPublicInetAddress
SBServerGetPublicInetAddress:
/* 8035D824 00359484  80 63 00 00 */	lwz r3, 0(r3)
/* 8035D828 00359488  4E 80 00 20 */	blr

.global SBServerGetPublicQueryPort
SBServerGetPublicQueryPort:
/* 8035D82C 0035948C  A0 63 00 04 */	lhz r3, 4(r3)
/* 8035D830 00359490  4B F9 95 40 */	b SONtoHs

.global SBServerGetPublicQueryPortNBO
SBServerGetPublicQueryPortNBO:
/* 8035D834 00359494  A0 63 00 04 */	lhz r3, 4(r3)
/* 8035D838 00359498  4E 80 00 20 */	blr

.global SBServerHasPrivateAddress
SBServerHasPrivateAddress:
/* 8035D83C 0035949C  88 03 00 15 */	lbz r0, 0x15(r3)
/* 8035D840 003594A0  54 03 FF FE */	rlwinm r3, r0, 0x1f, 0x1f, 0x1f
/* 8035D844 003594A4  4E 80 00 20 */	blr

.global SBServerGetPrivateAddress
SBServerGetPrivateAddress:
/* 8035D848 003594A8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8035D84C 003594AC  7C 08 02 A6 */	mflr r0
/* 8035D850 003594B0  90 01 00 14 */	stw r0, 0x14(r1)
/* 8035D854 003594B4  80 03 00 08 */	lwz r0, 8(r3)
/* 8035D858 003594B8  38 61 00 08 */	addi r3, r1, 8
/* 8035D85C 003594BC  90 01 00 08 */	stw r0, 8(r1)
/* 8035D860 003594C0  4B F9 94 B9 */	bl SOInetNtoA
/* 8035D864 003594C4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8035D868 003594C8  7C 08 03 A6 */	mtlr r0
/* 8035D86C 003594CC  38 21 00 10 */	addi r1, r1, 0x10
/* 8035D870 003594D0  4E 80 00 20 */	blr

.global SBServerGetPrivateInetAddress
SBServerGetPrivateInetAddress:
/* 8035D874 003594D4  80 63 00 08 */	lwz r3, 8(r3)
/* 8035D878 003594D8  4E 80 00 20 */	blr

.global SBServerGetPrivateQueryPort
SBServerGetPrivateQueryPort:
/* 8035D87C 003594DC  A0 63 00 0C */	lhz r3, 0xc(r3)
/* 8035D880 003594E0  4B F9 94 F0 */	b SONtoHs

.global SBServerSetNext
SBServerSetNext:
/* 8035D884 003594E4  90 83 00 24 */	stw r4, 0x24(r3)
/* 8035D888 003594E8  4E 80 00 20 */	blr

.global SBServerGetNext
SBServerGetNext:
/* 8035D88C 003594EC  80 63 00 24 */	lwz r3, 0x24(r3)
/* 8035D890 003594F0  4E 80 00 20 */	blr

.global SBServerParseKeyVals
SBServerParseKeyVals:
/* 8035D894 003594F4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8035D898 003594F8  7C 08 02 A6 */	mflr r0
/* 8035D89C 003594FC  90 01 00 34 */	stw r0, 0x34(r1)
/* 8035D8A0 00359500  39 61 00 30 */	addi r11, r1, 0x30
/* 8035D8A4 00359504  4B E6 98 81 */	bl _savegpr_26
/* 8035D8A8 00359508  34 04 00 01 */	addic. r0, r4, 1
/* 8035D8AC 0035950C  7C 7E 1B 78 */	mr r30, r3
/* 8035D8B0 00359510  41 82 00 08 */	beq lbl_8035D8B8
/* 8035D8B4 00359514  90 0D B1 84 */	stw r0, lbl_80640444-_SDA_BASE_(r13)
lbl_8035D8B8:
/* 8035D8B8 00359518  83 ED B1 84 */	lwz r31, lbl_80640444-_SDA_BASE_(r13)
/* 8035D8BC 0035951C  7F E3 FB 78 */	mr r3, r31
/* 8035D8C0 00359520  48 00 00 0C */	b lbl_8035D8CC
lbl_8035D8C4:
/* 8035D8C4 00359524  38 63 00 01 */	addi r3, r3, 1
/* 8035D8C8 00359528  90 6D B1 84 */	stw r3, lbl_80640444-_SDA_BASE_(r13)
lbl_8035D8CC:
/* 8035D8CC 0035952C  88 83 00 00 */	lbz r4, 0(r3)
/* 8035D8D0 00359530  7C 80 07 75 */	extsb. r0, r4
/* 8035D8D4 00359534  41 82 00 0C */	beq lbl_8035D8E0
/* 8035D8D8 00359538  2C 00 00 5C */	cmpwi r0, 0x5c
/* 8035D8DC 0035953C  40 82 FF E8 */	bne lbl_8035D8C4
lbl_8035D8E0:
/* 8035D8E0 00359540  7C 03 F8 40 */	cmplw r3, r31
/* 8035D8E4 00359544  40 82 00 08 */	bne lbl_8035D8EC
/* 8035D8E8 00359548  3B E0 00 00 */	li r31, 0
lbl_8035D8EC:
/* 8035D8EC 0035954C  7C 80 07 75 */	extsb. r0, r4
/* 8035D8F0 00359550  41 82 00 18 */	beq lbl_8035D908
/* 8035D8F4 00359554  80 6D B1 84 */	lwz r3, lbl_80640444-_SDA_BASE_(r13)
/* 8035D8F8 00359558  38 80 00 00 */	li r4, 0
/* 8035D8FC 0035955C  38 03 00 01 */	addi r0, r3, 1
/* 8035D900 00359560  98 83 00 00 */	stb r4, 0(r3)
/* 8035D904 00359564  90 0D B1 84 */	stw r0, lbl_80640444-_SDA_BASE_(r13)
lbl_8035D908:
/* 8035D908 00359568  3B A0 00 00 */	li r29, 0
/* 8035D90C 0035956C  48 00 01 24 */	b lbl_8035DA30
lbl_8035D910:
/* 8035D910 00359570  83 4D B1 84 */	lwz r26, lbl_80640444-_SDA_BASE_(r13)
/* 8035D914 00359574  7F 43 D3 78 */	mr r3, r26
/* 8035D918 00359578  48 00 00 0C */	b lbl_8035D924
lbl_8035D91C:
/* 8035D91C 0035957C  38 63 00 01 */	addi r3, r3, 1
/* 8035D920 00359580  90 6D B1 84 */	stw r3, lbl_80640444-_SDA_BASE_(r13)
lbl_8035D924:
/* 8035D924 00359584  88 83 00 00 */	lbz r4, 0(r3)
/* 8035D928 00359588  7C 80 07 75 */	extsb. r0, r4
/* 8035D92C 0035958C  41 82 00 0C */	beq lbl_8035D938
/* 8035D930 00359590  2C 00 00 5C */	cmpwi r0, 0x5c
/* 8035D934 00359594  40 82 FF E8 */	bne lbl_8035D91C
lbl_8035D938:
/* 8035D938 00359598  7C 03 D0 40 */	cmplw r3, r26
/* 8035D93C 0035959C  40 82 00 08 */	bne lbl_8035D944
/* 8035D940 003595A0  3B 40 00 00 */	li r26, 0
lbl_8035D944:
/* 8035D944 003595A4  7C 80 07 75 */	extsb. r0, r4
/* 8035D948 003595A8  41 82 00 14 */	beq lbl_8035D95C
/* 8035D94C 003595AC  80 6D B1 84 */	lwz r3, lbl_80640444-_SDA_BASE_(r13)
/* 8035D950 003595B0  38 03 00 01 */	addi r0, r3, 1
/* 8035D954 003595B4  9B A3 00 00 */	stb r29, 0(r3)
/* 8035D958 003595B8  90 0D B1 84 */	stw r0, lbl_80640444-_SDA_BASE_(r13)
lbl_8035D95C:
/* 8035D95C 003595BC  2C 1A 00 00 */	cmpwi r26, 0
/* 8035D960 003595C0  40 82 00 08 */	bne lbl_8035D968
/* 8035D964 003595C4  3B 4D 94 F0 */	addi r26, r13, lbl_8063E7B0-_SDA_BASE_
lbl_8035D968:
/* 8035D968 003595C8  80 62 A4 E8 */	lwz r3, lbl_80642AE8-_SDA2_BASE_(r2)
/* 8035D96C 003595CC  3B 61 00 10 */	addi r27, r1, 0x10
/* 8035D970 003595D0  80 02 A4 EC */	lwz r0, lbl_80642AEC-_SDA2_BASE_(r2)
/* 8035D974 003595D4  3B 80 00 00 */	li r28, 0
/* 8035D978 003595D8  90 61 00 10 */	stw r3, 0x10(r1)
/* 8035D97C 003595DC  90 01 00 14 */	stw r0, 0x14(r1)
lbl_8035D980:
/* 8035D980 003595E0  80 9B 00 00 */	lwz r4, 0(r27)
/* 8035D984 003595E4  7F E3 FB 78 */	mr r3, r31
/* 8035D988 003595E8  4B E7 0A C5 */	bl strcmp
/* 8035D98C 003595EC  2C 03 00 00 */	cmpwi r3, 0
/* 8035D990 003595F0  40 82 00 0C */	bne lbl_8035D99C
/* 8035D994 003595F4  38 00 00 00 */	li r0, 0
/* 8035D998 003595F8  48 00 00 18 */	b lbl_8035D9B0
lbl_8035D99C:
/* 8035D99C 003595FC  3B 9C 00 01 */	addi r28, r28, 1
/* 8035D9A0 00359600  3B 7B 00 04 */	addi r27, r27, 4
/* 8035D9A4 00359604  28 1C 00 02 */	cmplwi r28, 2
/* 8035D9A8 00359608  41 80 FF D8 */	blt lbl_8035D980
/* 8035D9AC 0035960C  38 00 00 01 */	li r0, 1
lbl_8035D9B0:
/* 8035D9B0 00359610  2C 00 00 00 */	cmpwi r0, 0
/* 8035D9B4 00359614  41 82 00 30 */	beq lbl_8035D9E4
/* 8035D9B8 00359618  7F E4 FB 78 */	mr r4, r31
/* 8035D9BC 0035961C  38 60 00 00 */	li r3, 0
/* 8035D9C0 00359620  48 00 17 6D */	bl SBRefStr
/* 8035D9C4 00359624  90 61 00 08 */	stw r3, 8(r1)
/* 8035D9C8 00359628  7F 44 D3 78 */	mr r4, r26
/* 8035D9CC 0035962C  38 60 00 00 */	li r3, 0
/* 8035D9D0 00359630  48 00 17 5D */	bl SBRefStr
/* 8035D9D4 00359634  90 61 00 0C */	stw r3, 0xc(r1)
/* 8035D9D8 00359638  38 81 00 08 */	addi r4, r1, 8
/* 8035D9DC 0035963C  80 7E 00 18 */	lwz r3, 0x18(r30)
/* 8035D9E0 00359640  4B FD 8F F1 */	bl TableEnter
lbl_8035D9E4:
/* 8035D9E4 00359644  83 ED B1 84 */	lwz r31, lbl_80640444-_SDA_BASE_(r13)
/* 8035D9E8 00359648  7F E3 FB 78 */	mr r3, r31
/* 8035D9EC 0035964C  48 00 00 0C */	b lbl_8035D9F8
lbl_8035D9F0:
/* 8035D9F0 00359650  38 63 00 01 */	addi r3, r3, 1
/* 8035D9F4 00359654  90 6D B1 84 */	stw r3, lbl_80640444-_SDA_BASE_(r13)
lbl_8035D9F8:
/* 8035D9F8 00359658  88 83 00 00 */	lbz r4, 0(r3)
/* 8035D9FC 0035965C  7C 80 07 75 */	extsb. r0, r4
/* 8035DA00 00359660  41 82 00 0C */	beq lbl_8035DA0C
/* 8035DA04 00359664  2C 00 00 5C */	cmpwi r0, 0x5c
/* 8035DA08 00359668  40 82 FF E8 */	bne lbl_8035D9F0
lbl_8035DA0C:
/* 8035DA0C 0035966C  7C 03 F8 40 */	cmplw r3, r31
/* 8035DA10 00359670  40 82 00 08 */	bne lbl_8035DA18
/* 8035DA14 00359674  3B E0 00 00 */	li r31, 0
lbl_8035DA18:
/* 8035DA18 00359678  7C 80 07 75 */	extsb. r0, r4
/* 8035DA1C 0035967C  41 82 00 14 */	beq lbl_8035DA30
/* 8035DA20 00359680  80 6D B1 84 */	lwz r3, lbl_80640444-_SDA_BASE_(r13)
/* 8035DA24 00359684  38 03 00 01 */	addi r0, r3, 1
/* 8035DA28 00359688  9B A3 00 00 */	stb r29, 0(r3)
/* 8035DA2C 0035968C  90 0D B1 84 */	stw r0, lbl_80640444-_SDA_BASE_(r13)
lbl_8035DA30:
/* 8035DA30 00359690  2C 1F 00 00 */	cmpwi r31, 0
/* 8035DA34 00359694  40 82 FE DC */	bne lbl_8035D910
/* 8035DA38 00359698  39 61 00 30 */	addi r11, r1, 0x30
/* 8035DA3C 0035969C  4B E6 97 35 */	bl _restgpr_26
/* 8035DA40 003596A0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8035DA44 003596A4  7C 08 03 A6 */	mtlr r0
/* 8035DA48 003596A8  38 21 00 30 */	addi r1, r1, 0x30
/* 8035DA4C 003596AC  4E 80 00 20 */	blr

.global SBServerParseQR2FullKeysSingle
SBServerParseQR2FullKeysSingle:
/* 8035DA50 003596B0  94 21 FF 30 */	stwu r1, -0xd0(r1)
/* 8035DA54 003596B4  7C 08 02 A6 */	mflr r0
/* 8035DA58 003596B8  90 01 00 D4 */	stw r0, 0xd4(r1)
/* 8035DA5C 003596BC  39 61 00 D0 */	addi r11, r1, 0xd0
/* 8035DA60 003596C0  4B E6 96 B5 */	bl _savegpr_22
/* 8035DA64 003596C4  7C 7D 1B 78 */	mr r29, r3
/* 8035DA68 003596C8  7C 9E 23 78 */	mr r30, r4
/* 8035DA6C 003596CC  7C BF 2B 78 */	mr r31, r5
/* 8035DA70 003596D0  48 00 00 70 */	b lbl_8035DAE0
lbl_8035DA74:
/* 8035DA74 003596D4  7F C3 F3 78 */	mr r3, r30
/* 8035DA78 003596D8  7F E4 FB 78 */	mr r4, r31
/* 8035DA7C 003596DC  48 00 17 99 */	bl NTSLengthSB
/* 8035DA80 003596E0  2C 03 00 00 */	cmpwi r3, 0
/* 8035DA84 003596E4  41 80 01 98 */	blt lbl_8035DC1C
/* 8035DA88 003596E8  7F DB F3 78 */	mr r27, r30
/* 8035DA8C 003596EC  7F E3 F8 50 */	subf r31, r3, r31
/* 8035DA90 003596F0  7F DE 1A 14 */	add r30, r30, r3
/* 8035DA94 003596F4  7F C3 F3 78 */	mr r3, r30
/* 8035DA98 003596F8  7F E4 FB 78 */	mr r4, r31
/* 8035DA9C 003596FC  48 00 17 79 */	bl NTSLengthSB
/* 8035DAA0 00359700  2C 03 00 00 */	cmpwi r3, 0
/* 8035DAA4 00359704  41 80 01 78 */	blt lbl_8035DC1C
/* 8035DAA8 00359708  7F DC F3 78 */	mr r28, r30
/* 8035DAAC 0035970C  7F 64 DB 78 */	mr r4, r27
/* 8035DAB0 00359710  7F DE 1A 14 */	add r30, r30, r3
/* 8035DAB4 00359714  7F E3 F8 50 */	subf r31, r3, r31
/* 8035DAB8 00359718  38 60 00 00 */	li r3, 0
/* 8035DABC 0035971C  48 00 16 71 */	bl SBRefStr
/* 8035DAC0 00359720  90 61 00 18 */	stw r3, 0x18(r1)
/* 8035DAC4 00359724  7F 84 E3 78 */	mr r4, r28
/* 8035DAC8 00359728  38 60 00 00 */	li r3, 0
/* 8035DACC 0035972C  48 00 16 61 */	bl SBRefStr
/* 8035DAD0 00359730  90 61 00 1C */	stw r3, 0x1c(r1)
/* 8035DAD4 00359734  38 81 00 18 */	addi r4, r1, 0x18
/* 8035DAD8 00359738  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 8035DADC 0035973C  4B FD 8E F5 */	bl TableEnter
lbl_8035DAE0:
/* 8035DAE0 00359740  88 1E 00 00 */	lbz r0, 0(r30)
/* 8035DAE4 00359744  7C 00 07 75 */	extsb. r0, r0
/* 8035DAE8 00359748  40 82 FF 8C */	bne lbl_8035DA74
/* 8035DAEC 0035974C  3B 00 00 00 */	li r24, 0
/* 8035DAF0 00359750  3B DE 00 01 */	addi r30, r30, 1
/* 8035DAF4 00359754  3B FF FF FF */	addi r31, r31, -1
lbl_8035DAF8:
/* 8035DAF8 00359758  2C 1F 00 02 */	cmpwi r31, 2
/* 8035DAFC 0035975C  41 80 01 20 */	blt lbl_8035DC1C
/* 8035DB00 00359760  7F C4 F3 78 */	mr r4, r30
/* 8035DB04 00359764  38 61 00 08 */	addi r3, r1, 8
/* 8035DB08 00359768  38 A0 00 02 */	li r5, 2
/* 8035DB0C 0035976C  4B CA 64 F5 */	bl memcpy
/* 8035DB10 00359770  A0 61 00 08 */	lhz r3, 8(r1)
/* 8035DB14 00359774  4B F9 92 5D */	bl SONtoHs
/* 8035DB18 00359778  3B DE 00 02 */	addi r30, r30, 2
/* 8035DB1C 0035977C  B0 61 00 08 */	sth r3, 8(r1)
/* 8035DB20 00359780  7F DA F3 78 */	mr r26, r30
/* 8035DB24 00359784  3B 20 00 00 */	li r25, 0
/* 8035DB28 00359788  3B FF FF FE */	addi r31, r31, -2
/* 8035DB2C 0035978C  48 00 00 2C */	b lbl_8035DB58
lbl_8035DB30:
/* 8035DB30 00359790  7F C3 F3 78 */	mr r3, r30
/* 8035DB34 00359794  7F E4 FB 78 */	mr r4, r31
/* 8035DB38 00359798  48 00 16 DD */	bl NTSLengthSB
/* 8035DB3C 0035979C  2C 03 00 00 */	cmpwi r3, 0
/* 8035DB40 003597A0  41 80 00 DC */	blt lbl_8035DC1C
/* 8035DB44 003597A4  2C 03 00 64 */	cmpwi r3, 0x64
/* 8035DB48 003597A8  41 81 00 D4 */	bgt lbl_8035DC1C
/* 8035DB4C 003597AC  7F DE 1A 14 */	add r30, r30, r3
/* 8035DB50 003597B0  7F E3 F8 50 */	subf r31, r3, r31
/* 8035DB54 003597B4  3B 39 00 01 */	addi r25, r25, 1
lbl_8035DB58:
/* 8035DB58 003597B8  88 1E 00 00 */	lbz r0, 0(r30)
/* 8035DB5C 003597BC  7C 00 07 75 */	extsb. r0, r0
/* 8035DB60 003597C0  40 82 FF D0 */	bne lbl_8035DB30
/* 8035DB64 003597C4  3A E0 00 00 */	li r23, 0
/* 8035DB68 003597C8  3B DE 00 01 */	addi r30, r30, 1
/* 8035DB6C 003597CC  3B FF FF FF */	addi r31, r31, -1
/* 8035DB70 003597D0  48 00 00 94 */	b lbl_8035DC04
lbl_8035DB74:
/* 8035DB74 003597D4  7F 5B D3 78 */	mr r27, r26
/* 8035DB78 003597D8  3A C0 00 00 */	li r22, 0
/* 8035DB7C 003597DC  48 00 00 7C */	b lbl_8035DBF8
lbl_8035DB80:
/* 8035DB80 003597E0  7F C3 F3 78 */	mr r3, r30
/* 8035DB84 003597E4  7F E4 FB 78 */	mr r4, r31
/* 8035DB88 003597E8  48 00 16 8D */	bl NTSLengthSB
/* 8035DB8C 003597EC  2C 03 00 00 */	cmpwi r3, 0
/* 8035DB90 003597F0  7C 7C 1B 78 */	mr r28, r3
/* 8035DB94 003597F4  41 80 00 88 */	blt lbl_8035DC1C
/* 8035DB98 003597F8  7F 65 DB 78 */	mr r5, r27
/* 8035DB9C 003597FC  7E E6 BB 78 */	mr r6, r23
/* 8035DBA0 00359800  38 61 00 20 */	addi r3, r1, 0x20
/* 8035DBA4 00359804  38 8D 94 F4 */	addi r4, r13, lbl_8063E7B4-_SDA_BASE_
/* 8035DBA8 00359808  4C C6 31 82 */	crclr 6
/* 8035DBAC 0035980C  4B E6 EF 51 */	bl sprintf
/* 8035DBB0 00359810  38 81 00 20 */	addi r4, r1, 0x20
/* 8035DBB4 00359814  38 60 00 00 */	li r3, 0
/* 8035DBB8 00359818  48 00 15 75 */	bl SBRefStr
/* 8035DBBC 0035981C  90 61 00 10 */	stw r3, 0x10(r1)
/* 8035DBC0 00359820  7F C4 F3 78 */	mr r4, r30
/* 8035DBC4 00359824  38 60 00 00 */	li r3, 0
/* 8035DBC8 00359828  48 00 15 65 */	bl SBRefStr
/* 8035DBCC 0035982C  90 61 00 14 */	stw r3, 0x14(r1)
/* 8035DBD0 00359830  38 81 00 10 */	addi r4, r1, 0x10
/* 8035DBD4 00359834  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 8035DBD8 00359838  4B FD 8D F9 */	bl TableEnter
/* 8035DBDC 0035983C  7F 63 DB 78 */	mr r3, r27
/* 8035DBE0 00359840  7F DE E2 14 */	add r30, r30, r28
/* 8035DBE4 00359844  7F FC F8 50 */	subf r31, r28, r31
/* 8035DBE8 00359848  4B E6 8F 7D */	bl strlen
/* 8035DBEC 0035984C  7C 63 DA 14 */	add r3, r3, r27
/* 8035DBF0 00359850  3A D6 00 01 */	addi r22, r22, 1
/* 8035DBF4 00359854  3B 63 00 01 */	addi r27, r3, 1
lbl_8035DBF8:
/* 8035DBF8 00359858  7C 16 C8 00 */	cmpw r22, r25
/* 8035DBFC 0035985C  41 80 FF 84 */	blt lbl_8035DB80
/* 8035DC00 00359860  3A F7 00 01 */	addi r23, r23, 1
lbl_8035DC04:
/* 8035DC04 00359864  A0 01 00 08 */	lhz r0, 8(r1)
/* 8035DC08 00359868  7C 17 00 00 */	cmpw r23, r0
/* 8035DC0C 0035986C  41 80 FF 68 */	blt lbl_8035DB74
/* 8035DC10 00359870  3B 18 00 01 */	addi r24, r24, 1
/* 8035DC14 00359874  2C 18 00 02 */	cmpwi r24, 2
/* 8035DC18 00359878  41 80 FE E0 */	blt lbl_8035DAF8
lbl_8035DC1C:
/* 8035DC1C 0035987C  39 61 00 D0 */	addi r11, r1, 0xd0
/* 8035DC20 00359880  4B E6 95 41 */	bl _restgpr_22
/* 8035DC24 00359884  80 01 00 D4 */	lwz r0, 0xd4(r1)
/* 8035DC28 00359888  7C 08 03 A6 */	mtlr r0
/* 8035DC2C 0035988C  38 21 00 D0 */	addi r1, r1, 0xd0
/* 8035DC30 00359890  4E 80 00 20 */	blr

.global SBServerParseQR2FullKeysSplit
SBServerParseQR2FullKeysSplit:
/* 8035DC34 00359894  94 21 FF 40 */	stwu r1, -0xc0(r1)
/* 8035DC38 00359898  7C 08 02 A6 */	mflr r0
/* 8035DC3C 0035989C  90 01 00 C4 */	stw r0, 0xc4(r1)
/* 8035DC40 003598A0  39 61 00 C0 */	addi r11, r1, 0xc0
/* 8035DC44 003598A4  4B E6 94 DD */	bl _savegpr_25
/* 8035DC48 003598A8  88 04 00 00 */	lbz r0, 0(r4)
/* 8035DC4C 003598AC  7C 7D 1B 78 */	mr r29, r3
/* 8035DC50 003598B0  7C 9E 23 78 */	mr r30, r4
/* 8035DC54 003598B4  7C BF 2B 78 */	mr r31, r5
/* 8035DC58 003598B8  7C 00 07 75 */	extsb. r0, r0
/* 8035DC5C 003598BC  3B 40 00 00 */	li r26, 0
/* 8035DC60 003598C0  41 82 02 28 */	beq lbl_8035DE88
/* 8035DC64 003598C4  7F C3 F3 78 */	mr r3, r30
/* 8035DC68 003598C8  7F E4 FB 78 */	mr r4, r31
/* 8035DC6C 003598CC  48 00 15 A9 */	bl NTSLengthSB
/* 8035DC70 003598D0  2C 03 00 00 */	cmpwi r3, 0
/* 8035DC74 003598D4  41 80 02 14 */	blt lbl_8035DE88
/* 8035DC78 003598D8  3F 80 80 45 */	lis r28, lbl_8044C5E0@ha
/* 8035DC7C 003598DC  7F DB F3 78 */	mr r27, r30
/* 8035DC80 003598E0  7F DE 1A 14 */	add r30, r30, r3
/* 8035DC84 003598E4  7F E3 F8 50 */	subf r31, r3, r31
/* 8035DC88 003598E8  38 7C C5 E0 */	addi r3, r28, lbl_8044C5E0@l
/* 8035DC8C 003598EC  4B E6 8E D9 */	bl strlen
/* 8035DC90 003598F0  7C 65 1B 78 */	mr r5, r3
/* 8035DC94 003598F4  7F 64 DB 78 */	mr r4, r27
/* 8035DC98 003598F8  38 7C C5 E0 */	addi r3, r28, -14880
/* 8035DC9C 003598FC  4B E7 2E 0D */	bl strncasecmp
/* 8035DCA0 00359900  2C 03 00 00 */	cmpwi r3, 0
/* 8035DCA4 00359904  40 82 01 E4 */	bne lbl_8035DE88
/* 8035DCA8 00359908  2C 1F 00 01 */	cmpwi r31, 1
/* 8035DCAC 0035990C  41 80 01 DC */	blt lbl_8035DE88
/* 8035DCB0 00359910  88 9E 00 00 */	lbz r4, 0(r30)
/* 8035DCB4 00359914  3B DE 00 01 */	addi r30, r30, 1
/* 8035DCB8 00359918  3B FF FF FF */	addi r31, r31, -1
/* 8035DCBC 0035991C  54 80 06 30 */	rlwinm r0, r4, 0, 0x18, 0x18
/* 8035DCC0 00359920  28 00 00 80 */	cmplwi r0, 0x80
/* 8035DCC4 00359924  40 82 00 0C */	bne lbl_8035DCD0
/* 8035DCC8 00359928  3B 40 00 01 */	li r26, 1
/* 8035DCCC 0035992C  68 84 00 80 */	xori r4, r4, 0x80
lbl_8035DCD0:
/* 8035DCD0 00359930  28 04 00 07 */	cmplwi r4, 7
/* 8035DCD4 00359934  41 81 01 B4 */	bgt lbl_8035DE88
/* 8035DCD8 00359938  2C 1A 00 01 */	cmpwi r26, 1
/* 8035DCDC 0035993C  40 82 00 20 */	bne lbl_8035DCFC
/* 8035DCE0 00359940  38 00 00 FF */	li r0, 0xff
/* 8035DCE4 00359944  88 7D 00 28 */	lbz r3, 0x28(r29)
/* 8035DCE8 00359948  7C 00 20 30 */	slw r0, r0, r4
/* 8035DCEC 0035994C  7C 00 07 74 */	extsb r0, r0
/* 8035DCF0 00359950  7C 60 03 78 */	or r0, r3, r0
/* 8035DCF4 00359954  98 1D 00 28 */	stb r0, 0x28(r29)
/* 8035DCF8 00359958  48 00 00 18 */	b lbl_8035DD10
lbl_8035DCFC:
/* 8035DCFC 0035995C  38 00 00 01 */	li r0, 1
/* 8035DD00 00359960  88 7D 00 28 */	lbz r3, 0x28(r29)
/* 8035DD04 00359964  7C 00 20 30 */	slw r0, r0, r4
/* 8035DD08 00359968  7C 60 03 78 */	or r0, r3, r0
/* 8035DD0C 0035996C  98 1D 00 28 */	stb r0, 0x28(r29)
lbl_8035DD10:
/* 8035DD10 00359970  2C 1F 00 01 */	cmpwi r31, 1
/* 8035DD14 00359974  40 80 01 6C */	bge lbl_8035DE80
/* 8035DD18 00359978  48 00 01 70 */	b lbl_8035DE88
/* 8035DD1C 0035997C  48 00 01 64 */	b lbl_8035DE80
lbl_8035DD20:
/* 8035DD20 00359980  8B 5E 00 00 */	lbz r26, 0(r30)
/* 8035DD24 00359984  3B DE 00 01 */	addi r30, r30, 1
/* 8035DD28 00359988  3B FF FF FF */	addi r31, r31, -1
/* 8035DD2C 0035998C  7F 5A 07 75 */	extsb. r26, r26
/* 8035DD30 00359990  41 80 01 58 */	blt lbl_8035DE88
/* 8035DD34 00359994  2C 1A 00 02 */	cmpwi r26, 2
/* 8035DD38 00359998  40 81 01 24 */	ble lbl_8035DE5C
/* 8035DD3C 0035999C  48 00 01 4C */	b lbl_8035DE88
/* 8035DD40 003599A0  48 00 01 1C */	b lbl_8035DE5C
lbl_8035DD44:
/* 8035DD44 003599A4  7F C3 F3 78 */	mr r3, r30
/* 8035DD48 003599A8  7F E4 FB 78 */	mr r4, r31
/* 8035DD4C 003599AC  48 00 14 C9 */	bl NTSLengthSB
/* 8035DD50 003599B0  2C 03 00 00 */	cmpwi r3, 0
/* 8035DD54 003599B4  41 80 01 34 */	blt lbl_8035DE88
/* 8035DD58 003599B8  2C 1A 00 00 */	cmpwi r26, 0
/* 8035DD5C 003599BC  7F DC F3 78 */	mr r28, r30
/* 8035DD60 003599C0  7F DE 1A 14 */	add r30, r30, r3
/* 8035DD64 003599C4  7F E3 F8 50 */	subf r31, r3, r31
/* 8035DD68 003599C8  40 82 00 54 */	bne lbl_8035DDBC
/* 8035DD6C 003599CC  7F C3 F3 78 */	mr r3, r30
/* 8035DD70 003599D0  7F E4 FB 78 */	mr r4, r31
/* 8035DD74 003599D4  48 00 14 A1 */	bl NTSLengthSB
/* 8035DD78 003599D8  2C 03 00 00 */	cmpwi r3, 0
/* 8035DD7C 003599DC  41 80 01 0C */	blt lbl_8035DE88
/* 8035DD80 003599E0  7F DB F3 78 */	mr r27, r30
/* 8035DD84 003599E4  7F 84 E3 78 */	mr r4, r28
/* 8035DD88 003599E8  7F DE 1A 14 */	add r30, r30, r3
/* 8035DD8C 003599EC  7F E3 F8 50 */	subf r31, r3, r31
/* 8035DD90 003599F0  38 60 00 00 */	li r3, 0
/* 8035DD94 003599F4  48 00 13 99 */	bl SBRefStr
/* 8035DD98 003599F8  90 61 00 10 */	stw r3, 0x10(r1)
/* 8035DD9C 003599FC  7F 64 DB 78 */	mr r4, r27
/* 8035DDA0 00359A00  38 60 00 00 */	li r3, 0
/* 8035DDA4 00359A04  48 00 13 89 */	bl SBRefStr
/* 8035DDA8 00359A08  90 61 00 14 */	stw r3, 0x14(r1)
/* 8035DDAC 00359A0C  38 81 00 10 */	addi r4, r1, 0x10
/* 8035DDB0 00359A10  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 8035DDB4 00359A14  4B FD 8C 1D */	bl TableEnter
/* 8035DDB8 00359A18  48 00 00 A4 */	b lbl_8035DE5C
lbl_8035DDBC:
/* 8035DDBC 00359A1C  2C 1F 00 01 */	cmpwi r31, 1
/* 8035DDC0 00359A20  41 80 00 C8 */	blt lbl_8035DE88
/* 8035DDC4 00359A24  8B 3E 00 00 */	lbz r25, 0(r30)
/* 8035DDC8 00359A28  3B DE 00 01 */	addi r30, r30, 1
/* 8035DDCC 00359A2C  3B FF FF FF */	addi r31, r31, -1
/* 8035DDD0 00359A30  7F 39 07 74 */	extsb r25, r25
/* 8035DDD4 00359A34  48 00 00 6C */	b lbl_8035DE40
lbl_8035DDD8:
/* 8035DDD8 00359A38  7F C3 F3 78 */	mr r3, r30
/* 8035DDDC 00359A3C  7F E4 FB 78 */	mr r4, r31
/* 8035DDE0 00359A40  48 00 14 35 */	bl NTSLengthSB
/* 8035DDE4 00359A44  2C 03 00 00 */	cmpwi r3, 0
/* 8035DDE8 00359A48  41 80 00 A0 */	blt lbl_8035DE88
/* 8035DDEC 00359A4C  7F DB F3 78 */	mr r27, r30
/* 8035DDF0 00359A50  7F 85 E3 78 */	mr r5, r28
/* 8035DDF4 00359A54  7F 26 CB 78 */	mr r6, r25
/* 8035DDF8 00359A58  7F DE 1A 14 */	add r30, r30, r3
/* 8035DDFC 00359A5C  7F E3 F8 50 */	subf r31, r3, r31
/* 8035DE00 00359A60  38 61 00 18 */	addi r3, r1, 0x18
/* 8035DE04 00359A64  38 8D 94 F4 */	addi r4, r13, lbl_8063E7B4-_SDA_BASE_
/* 8035DE08 00359A68  4C C6 31 82 */	crclr 6
/* 8035DE0C 00359A6C  4B E6 EC F1 */	bl sprintf
/* 8035DE10 00359A70  38 81 00 18 */	addi r4, r1, 0x18
/* 8035DE14 00359A74  38 60 00 00 */	li r3, 0
/* 8035DE18 00359A78  48 00 13 15 */	bl SBRefStr
/* 8035DE1C 00359A7C  90 61 00 08 */	stw r3, 8(r1)
/* 8035DE20 00359A80  7F 64 DB 78 */	mr r4, r27
/* 8035DE24 00359A84  38 60 00 00 */	li r3, 0
/* 8035DE28 00359A88  48 00 13 05 */	bl SBRefStr
/* 8035DE2C 00359A8C  90 61 00 0C */	stw r3, 0xc(r1)
/* 8035DE30 00359A90  38 81 00 08 */	addi r4, r1, 8
/* 8035DE34 00359A94  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 8035DE38 00359A98  4B FD 8B 99 */	bl TableEnter
/* 8035DE3C 00359A9C  3B 39 00 01 */	addi r25, r25, 1
lbl_8035DE40:
/* 8035DE40 00359AA0  88 1E 00 00 */	lbz r0, 0(r30)
/* 8035DE44 00359AA4  7C 00 07 75 */	extsb. r0, r0
/* 8035DE48 00359AA8  40 82 FF 90 */	bne lbl_8035DDD8
/* 8035DE4C 00359AAC  2C 1F 00 00 */	cmpwi r31, 0
/* 8035DE50 00359AB0  40 81 00 0C */	ble lbl_8035DE5C
/* 8035DE54 00359AB4  3B DE 00 01 */	addi r30, r30, 1
/* 8035DE58 00359AB8  3B FF FF FF */	addi r31, r31, -1
lbl_8035DE5C:
/* 8035DE5C 00359ABC  88 1E 00 00 */	lbz r0, 0(r30)
/* 8035DE60 00359AC0  7C 00 07 74 */	extsb r0, r0
/* 8035DE64 00359AC4  2C 80 00 00 */	cmpwi cr1, r0, 0
/* 8035DE68 00359AC8  40 86 FE DC */	bne cr1, lbl_8035DD44
/* 8035DE6C 00359ACC  2C 1F 00 00 */	cmpwi r31, 0
/* 8035DE70 00359AD0  40 81 00 10 */	ble lbl_8035DE80
/* 8035DE74 00359AD4  40 86 00 14 */	bne cr1, lbl_8035DE88
/* 8035DE78 00359AD8  3B DE 00 01 */	addi r30, r30, 1
/* 8035DE7C 00359ADC  3B FF FF FF */	addi r31, r31, -1
lbl_8035DE80:
/* 8035DE80 00359AE0  2C 1F 00 00 */	cmpwi r31, 0
/* 8035DE84 00359AE4  41 81 FE 9C */	bgt lbl_8035DD20
lbl_8035DE88:
/* 8035DE88 00359AE8  39 61 00 C0 */	addi r11, r1, 0xc0
/* 8035DE8C 00359AEC  4B E6 92 E1 */	bl _restgpr_25
/* 8035DE90 00359AF0  80 01 00 C4 */	lwz r0, 0xc4(r1)
/* 8035DE94 00359AF4  7C 08 03 A6 */	mtlr r0
/* 8035DE98 00359AF8  38 21 00 C0 */	addi r1, r1, 0xc0
/* 8035DE9C 00359AFC  4E 80 00 20 */	blr

.global KeyValFree
KeyValFree:
/* 8035DEA0 00359B00  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8035DEA4 00359B04  7C 08 02 A6 */	mflr r0
/* 8035DEA8 00359B08  90 01 00 14 */	stw r0, 0x14(r1)
/* 8035DEAC 00359B0C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8035DEB0 00359B10  7C 7F 1B 78 */	mr r31, r3
/* 8035DEB4 00359B14  38 60 00 00 */	li r3, 0
/* 8035DEB8 00359B18  80 9F 00 00 */	lwz r4, 0(r31)
/* 8035DEBC 00359B1C  48 00 12 F9 */	bl SBReleaseStr
/* 8035DEC0 00359B20  80 9F 00 04 */	lwz r4, 4(r31)
/* 8035DEC4 00359B24  38 60 00 00 */	li r3, 0
/* 8035DEC8 00359B28  48 00 12 ED */	bl SBReleaseStr
/* 8035DECC 00359B2C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8035DED0 00359B30  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8035DED4 00359B34  7C 08 03 A6 */	mtlr r0
/* 8035DED8 00359B38  38 21 00 10 */	addi r1, r1, 0x10
/* 8035DEDC 00359B3C  4E 80 00 20 */	blr

.global KeyValHashKey
KeyValHashKey:
/* 8035DEE0 00359B40  3C C0 80 42 */	lis r6, lbl_80422D48@ha
/* 8035DEE4 00359B44  81 03 00 00 */	lwz r8, 0(r3)
/* 8035DEE8 00359B48  38 C6 2D 48 */	addi r6, r6, lbl_80422D48@l
/* 8035DEEC 00359B4C  3C A0 9C D0 */	lis r5, 0x9CCF9319@ha
/* 8035DEF0 00359B50  80 E6 00 38 */	lwz r7, 0x38(r6)
/* 8035DEF4 00359B54  38 C5 93 19 */	addi r6, r5, 0x9CCF9319@l
/* 8035DEF8 00359B58  38 60 00 00 */	li r3, 0
/* 8035DEFC 00359B5C  48 00 00 3C */	b lbl_8035DF38
lbl_8035DF00:
/* 8035DF00 00359B60  7C A3 31 D6 */	mullw r5, r3, r6
/* 8035DF04 00359B64  7D 29 07 75 */	extsb. r9, r9
/* 8035DF08 00359B68  38 00 00 00 */	li r0, 0
/* 8035DF0C 00359B6C  41 80 00 0C */	blt lbl_8035DF18
/* 8035DF10 00359B70  2C 09 01 00 */	cmpwi r9, 0x100
/* 8035DF14 00359B74  41 80 00 08 */	blt lbl_8035DF1C
lbl_8035DF18:
/* 8035DF18 00359B78  38 00 00 01 */	li r0, 1
lbl_8035DF1C:
/* 8035DF1C 00359B7C  2C 00 00 00 */	cmpwi r0, 0
/* 8035DF20 00359B80  41 82 00 08 */	beq lbl_8035DF28
/* 8035DF24 00359B84  48 00 00 0C */	b lbl_8035DF30
lbl_8035DF28:
/* 8035DF28 00359B88  80 67 00 10 */	lwz r3, 0x10(r7)
/* 8035DF2C 00359B8C  7D 23 48 AE */	lbzx r9, r3, r9
lbl_8035DF30:
/* 8035DF30 00359B90  7C 65 4A 14 */	add r3, r5, r9
/* 8035DF34 00359B94  39 08 00 01 */	addi r8, r8, 1
lbl_8035DF38:
/* 8035DF38 00359B98  89 28 00 00 */	lbz r9, 0(r8)
/* 8035DF3C 00359B9C  7D 20 07 75 */	extsb. r0, r9
/* 8035DF40 00359BA0  40 82 FF C0 */	bne lbl_8035DF00
/* 8035DF44 00359BA4  7C 03 23 96 */	divwu r0, r3, r4
/* 8035DF48 00359BA8  7C 00 21 D6 */	mullw r0, r0, r4
/* 8035DF4C 00359BAC  7C 60 18 50 */	subf r3, r0, r3
/* 8035DF50 00359BB0  4E 80 00 20 */	blr

.global KeyValCompareKey
KeyValCompareKey:
/* 8035DF54 00359BB4  80 63 00 00 */	lwz r3, 0(r3)
/* 8035DF58 00359BB8  2C 03 00 00 */	cmpwi r3, 0
/* 8035DF5C 00359BBC  41 82 00 10 */	beq lbl_8035DF6C
/* 8035DF60 00359BC0  80 84 00 00 */	lwz r4, 0(r4)
/* 8035DF64 00359BC4  2C 04 00 00 */	cmpwi r4, 0
/* 8035DF68 00359BC8  40 82 00 0C */	bne lbl_8035DF74
lbl_8035DF6C:
/* 8035DF6C 00359BCC  38 60 00 01 */	li r3, 1
/* 8035DF70 00359BD0  4E 80 00 20 */	blr
lbl_8035DF74:
/* 8035DF74 00359BD4  4B E7 2B E0 */	b strcasecmp
/* 8035DF78 00359BD8  4E 80 00 20 */	blr

.global SBAllocServer
SBAllocServer:
/* 8035DF7C 00359BDC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8035DF80 00359BE0  7C 08 02 A6 */	mflr r0
/* 8035DF84 00359BE4  38 60 00 2C */	li r3, 0x2c
/* 8035DF88 00359BE8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8035DF8C 00359BEC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8035DF90 00359BF0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8035DF94 00359BF4  7C BE 2B 78 */	mr r30, r5
/* 8035DF98 00359BF8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8035DF9C 00359BFC  7C 9D 23 78 */	mr r29, r4
/* 8035DFA0 00359C00  4B FD B3 75 */	bl gsimalloc
/* 8035DFA4 00359C04  2C 03 00 00 */	cmpwi r3, 0
/* 8035DFA8 00359C08  7C 7F 1B 78 */	mr r31, r3
/* 8035DFAC 00359C0C  40 82 00 0C */	bne lbl_8035DFB8
/* 8035DFB0 00359C10  38 60 00 00 */	li r3, 0
/* 8035DFB4 00359C14  48 00 00 74 */	b lbl_8035E028
lbl_8035DFB8:
/* 8035DFB8 00359C18  3C C0 80 36 */	lis r6, KeyValHashKey@ha
/* 8035DFBC 00359C1C  3C E0 80 36 */	lis r7, KeyValCompareKey@ha
/* 8035DFC0 00359C20  3D 00 80 36 */	lis r8, KeyValFree@ha
/* 8035DFC4 00359C24  38 60 00 08 */	li r3, 8
/* 8035DFC8 00359C28  38 C6 DE E0 */	addi r6, r6, KeyValHashKey@l
/* 8035DFCC 00359C2C  38 E7 DF 54 */	addi r7, r7, KeyValCompareKey@l
/* 8035DFD0 00359C30  39 08 DE A0 */	addi r8, r8, KeyValFree@l
/* 8035DFD4 00359C34  38 80 00 08 */	li r4, 8
/* 8035DFD8 00359C38  38 A0 00 04 */	li r5, 4
/* 8035DFDC 00359C3C  4B FD 88 4D */	bl TableNew2
/* 8035DFE0 00359C40  2C 03 00 00 */	cmpwi r3, 0
/* 8035DFE4 00359C44  90 7F 00 18 */	stw r3, 0x18(r31)
/* 8035DFE8 00359C48  40 82 00 14 */	bne lbl_8035DFFC
/* 8035DFEC 00359C4C  7F E3 FB 78 */	mr r3, r31
/* 8035DFF0 00359C50  4B FD B3 49 */	bl gsifree
/* 8035DFF4 00359C54  38 60 00 00 */	li r3, 0
/* 8035DFF8 00359C58  48 00 00 30 */	b lbl_8035E028
lbl_8035DFFC:
/* 8035DFFC 00359C5C  38 00 00 00 */	li r0, 0
/* 8035E000 00359C60  7F E3 FB 78 */	mr r3, r31
/* 8035E004 00359C64  98 1F 00 14 */	stb r0, 0x14(r31)
/* 8035E008 00359C68  98 1F 00 15 */	stb r0, 0x15(r31)
/* 8035E00C 00359C6C  90 1F 00 24 */	stw r0, 0x24(r31)
/* 8035E010 00359C70  90 1F 00 1C */	stw r0, 0x1c(r31)
/* 8035E014 00359C74  90 1F 00 10 */	stw r0, 0x10(r31)
/* 8035E018 00359C78  93 BF 00 00 */	stw r29, 0(r31)
/* 8035E01C 00359C7C  B3 DF 00 04 */	sth r30, 4(r31)
/* 8035E020 00359C80  90 1F 00 08 */	stw r0, 8(r31)
/* 8035E024 00359C84  B0 1F 00 0C */	sth r0, 0xc(r31)
lbl_8035E028:
/* 8035E028 00359C88  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8035E02C 00359C8C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8035E030 00359C90  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8035E034 00359C94  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8035E038 00359C98  7C 08 03 A6 */	mtlr r0
/* 8035E03C 00359C9C  38 21 00 20 */	addi r1, r1, 0x20
/* 8035E040 00359CA0  4E 80 00 20 */	blr

.global SBServerSetFlags
SBServerSetFlags:
/* 8035E044 00359CA4  98 83 00 15 */	stb r4, 0x15(r3)
/* 8035E048 00359CA8  4E 80 00 20 */	blr

.global SBServerSetPrivateAddr
SBServerSetPrivateAddr:
/* 8035E04C 00359CAC  90 83 00 08 */	stw r4, 8(r3)
/* 8035E050 00359CB0  B0 A3 00 0C */	sth r5, 0xc(r3)
/* 8035E054 00359CB4  4E 80 00 20 */	blr

.global SBServerSetICMPIP
SBServerSetICMPIP:
/* 8035E058 00359CB8  90 83 00 10 */	stw r4, 0x10(r3)
/* 8035E05C 00359CBC  4E 80 00 20 */	blr

.global SBServerSetState
SBServerSetState:
/* 8035E060 00359CC0  98 83 00 14 */	stb r4, 0x14(r3)
/* 8035E064 00359CC4  4E 80 00 20 */	blr

.global SBServerGetState
SBServerGetState:
/* 8035E068 00359CC8  88 63 00 14 */	lbz r3, 0x14(r3)
/* 8035E06C 00359CCC  4E 80 00 20 */	blr

.global SBIsNullServer
SBIsNullServer:
/* 8035E070 00359CD0  80 0D B1 88 */	lwz r0, lbl_80640448-_SDA_BASE_(r13)
/* 8035E074 00359CD4  7C 03 00 50 */	subf r0, r3, r0
/* 8035E078 00359CD8  7C 00 00 34 */	cntlzw r0, r0
/* 8035E07C 00359CDC  54 03 D9 7E */	srwi r3, r0, 5
/* 8035E080 00359CE0  4E 80 00 20 */	blr