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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global gpInitialize
gpInitialize:
/* 8033CDEC 00338A4C 80 0D B0 A8 */ lwz r0, lbl_80640368-_SDA_BASE_(r13)
/* 8033CDF0 00338A50 2C 00 00 01 */ cmpwi r0, 1
/* 8033CDF4 00338A54 41 82 00 0C */ beq lbl_8033CE00
/* 8033CDF8 00338A58 38 60 00 02 */ li r3, 2
/* 8033CDFC 00338A5C 4E 80 00 20 */ blr
lbl_8033CE00:
/* 8033CE00 00338A60 2C 03 00 00 */ cmpwi r3, 0
/* 8033CE04 00338A64 40 82 00 0C */ bne lbl_8033CE10
/* 8033CE08 00338A68 38 60 00 02 */ li r3, 2
/* 8033CE0C 00338A6C 4E 80 00 20 */ blr
lbl_8033CE10:
/* 8033CE10 00338A70 48 00 0D 44 */ b lbl_8033DB54
/* 8033CE14 00338A74 4E 80 00 20 */ blr
.global gpDestroy
gpDestroy:
/* 8033CE18 00338A78 2C 03 00 00 */ cmpwi r3, 0
/* 8033CE1C 00338A7C 4D 82 00 20 */ beqlr
/* 8033CE20 00338A80 80 03 00 00 */ lwz r0, 0(r3)
/* 8033CE24 00338A84 2C 00 00 00 */ cmpwi r0, 0
/* 8033CE28 00338A88 40 82 00 08 */ bne lbl_8033CE30
/* 8033CE2C 00338A8C 4E 80 00 20 */ blr
lbl_8033CE30:
/* 8033CE30 00338A90 48 00 0E E8 */ b lbl_8033DD18
/* 8033CE34 00338A94 4E 80 00 20 */ blr
.global gpProcess
gpProcess:
/* 8033CE38 00338A98 2C 03 00 00 */ cmpwi r3, 0
/* 8033CE3C 00338A9C 41 82 00 10 */ beq lbl_8033CE4C
/* 8033CE40 00338AA0 80 83 00 00 */ lwz r4, 0(r3)
/* 8033CE44 00338AA4 2C 04 00 00 */ cmpwi r4, 0
/* 8033CE48 00338AA8 40 82 00 0C */ bne lbl_8033CE54
lbl_8033CE4C:
/* 8033CE4C 00338AAC 38 60 00 02 */ li r3, 2
/* 8033CE50 00338AB0 4E 80 00 20 */ blr
lbl_8033CE54:
/* 8033CE54 00338AB4 80 04 01 08 */ lwz r0, 0x108(r4)
/* 8033CE58 00338AB8 2C 00 00 00 */ cmpwi r0, 0
/* 8033CE5C 00338ABC 41 82 00 0C */ beq lbl_8033CE68
/* 8033CE60 00338AC0 38 60 00 00 */ li r3, 0
/* 8033CE64 00338AC4 4E 80 00 20 */ blr
lbl_8033CE68:
/* 8033CE68 00338AC8 38 80 00 00 */ li r4, 0
/* 8033CE6C 00338ACC 48 00 13 40 */ b gpiProcess
/* 8033CE70 00338AD0 4E 80 00 20 */ blr
.global gpSetCallback
gpSetCallback:
/* 8033CE74 00338AD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033CE78 00338AD8 7C 08 02 A6 */ mflr r0
/* 8033CE7C 00338ADC 2C 03 00 00 */ cmpwi r3, 0
/* 8033CE80 00338AE0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033CE84 00338AE4 41 82 00 10 */ beq lbl_8033CE94
/* 8033CE88 00338AE8 80 03 00 00 */ lwz r0, 0(r3)
/* 8033CE8C 00338AEC 2C 00 00 00 */ cmpwi r0, 0
/* 8033CE90 00338AF0 40 82 00 0C */ bne lbl_8033CE9C
lbl_8033CE94:
/* 8033CE94 00338AF4 38 60 00 02 */ li r3, 2
/* 8033CE98 00338AF8 48 00 00 3C */ b lbl_8033CED4
lbl_8033CE9C:
/* 8033CE9C 00338AFC 2C 04 00 00 */ cmpwi r4, 0
/* 8033CEA0 00338B00 41 80 00 0C */ blt lbl_8033CEAC
/* 8033CEA4 00338B04 2C 04 00 09 */ cmpwi r4, 9
/* 8033CEA8 00338B08 41 80 00 18 */ blt lbl_8033CEC0
lbl_8033CEAC:
/* 8033CEAC 00338B0C 3C 80 80 45 */ lis r4, lbl_8044A458@ha
/* 8033CEB0 00338B10 38 84 A4 58 */ addi r4, r4, lbl_8044A458@l
/* 8033CEB4 00338B14 48 00 B5 A5 */ bl gpiSetErrorString
/* 8033CEB8 00338B18 38 60 00 02 */ li r3, 2
/* 8033CEBC 00338B1C 48 00 00 18 */ b lbl_8033CED4
lbl_8033CEC0:
/* 8033CEC0 00338B20 54 84 18 38 */ slwi r4, r4, 3
/* 8033CEC4 00338B24 38 60 00 00 */ li r3, 0
/* 8033CEC8 00338B28 7C 80 22 14 */ add r4, r0, r4
/* 8033CECC 00338B2C 90 A4 01 A8 */ stw r5, 0x1a8(r4)
/* 8033CED0 00338B30 90 C4 01 AC */ stw r6, 0x1ac(r4)
lbl_8033CED4:
/* 8033CED4 00338B34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033CED8 00338B38 7C 08 03 A6 */ mtlr r0
/* 8033CEDC 00338B3C 38 21 00 10 */ addi r1, r1, 0x10
/* 8033CEE0 00338B40 4E 80 00 20 */ blr
.global gpConnectPreAuthenticatedA
gpConnectPreAuthenticatedA:
/* 8033CEE4 00338B44 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8033CEE8 00338B48 7C 08 02 A6 */ mflr r0
/* 8033CEEC 00338B4C 2C 03 00 00 */ cmpwi r3, 0
/* 8033CEF0 00338B50 7C 8C 23 78 */ mr r12, r4
/* 8033CEF4 00338B54 90 01 00 54 */ stw r0, 0x54(r1)
/* 8033CEF8 00338B58 7C AB 2B 78 */ mr r11, r5
/* 8033CEFC 00338B5C 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 8033CF00 00338B60 7D 3F 4B 78 */ mr r31, r9
/* 8033CF04 00338B64 93 C1 00 48 */ stw r30, 0x48(r1)
/* 8033CF08 00338B68 7D 1E 43 78 */ mr r30, r8
/* 8033CF0C 00338B6C 93 A1 00 44 */ stw r29, 0x44(r1)
/* 8033CF10 00338B70 7C 7D 1B 78 */ mr r29, r3
/* 8033CF14 00338B74 41 82 00 10 */ beq lbl_8033CF24
/* 8033CF18 00338B78 81 43 00 00 */ lwz r10, 0(r3)
/* 8033CF1C 00338B7C 2C 0A 00 00 */ cmpwi r10, 0
/* 8033CF20 00338B80 40 82 00 0C */ bne lbl_8033CF2C
lbl_8033CF24:
/* 8033CF24 00338B84 38 60 00 02 */ li r3, 2
/* 8033CF28 00338B88 48 00 00 CC */ b lbl_8033CFF4
lbl_8033CF2C:
/* 8033CF2C 00338B8C 2C 04 00 00 */ cmpwi r4, 0
/* 8033CF30 00338B90 41 82 00 10 */ beq lbl_8033CF40
/* 8033CF34 00338B94 88 04 00 00 */ lbz r0, 0(r4)
/* 8033CF38 00338B98 7C 00 07 75 */ extsb. r0, r0
/* 8033CF3C 00338B9C 40 82 00 0C */ bne lbl_8033CF48
lbl_8033CF40:
/* 8033CF40 00338BA0 38 60 00 02 */ li r3, 2
/* 8033CF44 00338BA4 48 00 00 B0 */ b lbl_8033CFF4
lbl_8033CF48:
/* 8033CF48 00338BA8 2C 05 00 00 */ cmpwi r5, 0
/* 8033CF4C 00338BAC 41 82 00 10 */ beq lbl_8033CF5C
/* 8033CF50 00338BB0 88 05 00 00 */ lbz r0, 0(r5)
/* 8033CF54 00338BB4 7C 00 07 75 */ extsb. r0, r0
/* 8033CF58 00338BB8 40 82 00 0C */ bne lbl_8033CF64
lbl_8033CF5C:
/* 8033CF5C 00338BBC 38 60 00 02 */ li r3, 2
/* 8033CF60 00338BC0 48 00 00 94 */ b lbl_8033CFF4
lbl_8033CF64:
/* 8033CF64 00338BC4 2C 08 00 00 */ cmpwi r8, 0
/* 8033CF68 00338BC8 40 82 00 18 */ bne lbl_8033CF80
/* 8033CF6C 00338BCC 3C 80 80 45 */ lis r4, lbl_8044A468@ha
/* 8033CF70 00338BD0 38 84 A4 68 */ addi r4, r4, lbl_8044A468@l
/* 8033CF74 00338BD4 48 00 B4 E5 */ bl gpiSetErrorString
/* 8033CF78 00338BD8 38 60 00 02 */ li r3, 2
/* 8033CF7C 00338BDC 48 00 00 78 */ b lbl_8033CFF4
lbl_8033CF80:
/* 8033CF80 00338BE0 80 0A 01 08 */ lwz r0, 0x108(r10)
/* 8033CF84 00338BE4 2C 00 00 00 */ cmpwi r0, 0
/* 8033CF88 00338BE8 41 82 00 34 */ beq lbl_8033CFBC
/* 8033CF8C 00338BEC 38 61 00 20 */ addi r3, r1, 0x20
/* 8033CF90 00338BF0 38 80 00 00 */ li r4, 0
/* 8033CF94 00338BF4 38 A0 00 20 */ li r5, 0x20
/* 8033CF98 00338BF8 4B CC 71 6D */ bl memset
/* 8033CF9C 00338BFC 7F CC F3 78 */ mr r12, r30
/* 8033CFA0 00338C00 7F A3 EB 78 */ mr r3, r29
/* 8033CFA4 00338C04 7F E5 FB 78 */ mr r5, r31
/* 8033CFA8 00338C08 38 81 00 20 */ addi r4, r1, 0x20
/* 8033CFAC 00338C0C 7D 89 03 A6 */ mtctr r12
/* 8033CFB0 00338C10 4E 80 04 21 */ bctrl
/* 8033CFB4 00338C14 38 60 00 00 */ li r3, 0
/* 8033CFB8 00338C18 48 00 00 3C */ b lbl_8033CFF4
lbl_8033CFBC:
/* 8033CFBC 00338C1C 90 C1 00 08 */ stw r6, 8(r1)
/* 8033CFC0 00338C20 38 00 00 00 */ li r0, 0
/* 8033CFC4 00338C24 38 8D 8F 40 */ addi r4, r13, lbl_8063E200-_SDA_BASE_
/* 8033CFC8 00338C28 38 AD 8F 40 */ addi r5, r13, lbl_8063E200-_SDA_BASE_
/* 8033CFCC 00338C2C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8033CFD0 00338C30 38 CD 8F 40 */ addi r6, r13, lbl_8063E200-_SDA_BASE_
/* 8033CFD4 00338C34 39 40 00 00 */ li r10, 0
/* 8033CFD8 00338C38 90 E1 00 10 */ stw r7, 0x10(r1)
/* 8033CFDC 00338C3C 38 ED 8F 40 */ addi r7, r13, lbl_8063E200-_SDA_BASE_
/* 8033CFE0 00338C40 91 01 00 14 */ stw r8, 0x14(r1)
/* 8033CFE4 00338C44 7D 88 63 78 */ mr r8, r12
/* 8033CFE8 00338C48 91 21 00 18 */ stw r9, 0x18(r1)
/* 8033CFEC 00338C4C 7D 69 5B 78 */ mr r9, r11
/* 8033CFF0 00338C50 48 00 34 7D */ bl gpiConnect
lbl_8033CFF4:
/* 8033CFF4 00338C54 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8033CFF8 00338C58 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8033CFFC 00338C5C 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 8033D000 00338C60 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 8033D004 00338C64 7C 08 03 A6 */ mtlr r0
/* 8033D008 00338C68 38 21 00 50 */ addi r1, r1, 0x50
/* 8033D00C 00338C6C 4E 80 00 20 */ blr
.global gpDisconnect
gpDisconnect:
/* 8033D010 00338C70 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033D014 00338C74 7C 08 02 A6 */ mflr r0
/* 8033D018 00338C78 2C 03 00 00 */ cmpwi r3, 0
/* 8033D01C 00338C7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033D020 00338C80 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033D024 00338C84 7C 7F 1B 78 */ mr r31, r3
/* 8033D028 00338C88 41 82 00 30 */ beq lbl_8033D058
/* 8033D02C 00338C8C 80 83 00 00 */ lwz r4, 0(r3)
/* 8033D030 00338C90 2C 04 00 00 */ cmpwi r4, 0
/* 8033D034 00338C94 40 82 00 08 */ bne lbl_8033D03C
/* 8033D038 00338C98 48 00 00 20 */ b lbl_8033D058
lbl_8033D03C:
/* 8033D03C 00338C9C 80 04 01 08 */ lwz r0, 0x108(r4)
/* 8033D040 00338CA0 2C 00 00 00 */ cmpwi r0, 0
/* 8033D044 00338CA4 40 82 00 14 */ bne lbl_8033D058
/* 8033D048 00338CA8 38 80 00 01 */ li r4, 1
/* 8033D04C 00338CAC 48 00 44 D5 */ bl gpiDisconnect
/* 8033D050 00338CB0 7F E3 FB 78 */ mr r3, r31
/* 8033D054 00338CB4 48 00 0D 35 */ bl gpiReset
lbl_8033D058:
/* 8033D058 00338CB8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033D05C 00338CBC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8033D060 00338CC0 7C 08 03 A6 */ mtlr r0
/* 8033D064 00338CC4 38 21 00 10 */ addi r1, r1, 0x10
/* 8033D068 00338CC8 4E 80 00 20 */ blr
.global gpProfileSearchA
gpProfileSearchA:
/* 8033D06C 00338CCC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8033D070 00338CD0 7C 08 02 A6 */ mflr r0
/* 8033D074 00338CD4 2C 03 00 00 */ cmpwi r3, 0
/* 8033D078 00338CD8 90 01 00 44 */ stw r0, 0x44(r1)
/* 8033D07C 00338CDC 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8033D080 00338CE0 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8033D084 00338CE4 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8033D088 00338CE8 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 8033D08C 00338CEC 93 A1 00 34 */ stw r29, 0x34(r1)
/* 8033D090 00338CF0 7C 7D 1B 78 */ mr r29, r3
/* 8033D094 00338CF4 41 82 00 10 */ beq lbl_8033D0A4
/* 8033D098 00338CF8 81 63 00 00 */ lwz r11, 0(r3)
/* 8033D09C 00338CFC 2C 0B 00 00 */ cmpwi r11, 0
/* 8033D0A0 00338D00 40 82 00 0C */ bne lbl_8033D0AC
lbl_8033D0A4:
/* 8033D0A4 00338D04 38 60 00 02 */ li r3, 2
/* 8033D0A8 00338D08 48 00 00 78 */ b lbl_8033D120
lbl_8033D0AC:
/* 8033D0AC 00338D0C 2C 1E 00 00 */ cmpwi r30, 0
/* 8033D0B0 00338D10 40 82 00 18 */ bne lbl_8033D0C8
/* 8033D0B4 00338D14 3C 80 80 45 */ lis r4, lbl_8044A468@ha
/* 8033D0B8 00338D18 38 84 A4 68 */ addi r4, r4, lbl_8044A468@l
/* 8033D0BC 00338D1C 48 00 B3 9D */ bl gpiSetErrorString
/* 8033D0C0 00338D20 38 60 00 02 */ li r3, 2
/* 8033D0C4 00338D24 48 00 00 5C */ b lbl_8033D120
lbl_8033D0C8:
/* 8033D0C8 00338D28 80 0B 01 08 */ lwz r0, 0x108(r11)
/* 8033D0CC 00338D2C 2C 00 00 00 */ cmpwi r0, 0
/* 8033D0D0 00338D30 41 82 00 3C */ beq lbl_8033D10C
/* 8033D0D4 00338D34 38 61 00 18 */ addi r3, r1, 0x18
/* 8033D0D8 00338D38 38 80 00 00 */ li r4, 0
/* 8033D0DC 00338D3C 38 A0 00 10 */ li r5, 0x10
/* 8033D0E0 00338D40 4B CC 70 25 */ bl memset
/* 8033D0E4 00338D44 38 00 06 01 */ li r0, 0x601
/* 8033D0E8 00338D48 7F CC F3 78 */ mr r12, r30
/* 8033D0EC 00338D4C 7F A3 EB 78 */ mr r3, r29
/* 8033D0F0 00338D50 7F E5 FB 78 */ mr r5, r31
/* 8033D0F4 00338D54 90 01 00 20 */ stw r0, 0x20(r1)
/* 8033D0F8 00338D58 38 81 00 18 */ addi r4, r1, 0x18
/* 8033D0FC 00338D5C 7D 89 03 A6 */ mtctr r12
/* 8033D100 00338D60 4E 80 04 21 */ bctrl
/* 8033D104 00338D64 38 60 00 00 */ li r3, 0
/* 8033D108 00338D68 48 00 00 18 */ b lbl_8033D120
lbl_8033D10C:
/* 8033D10C 00338D6C 91 41 00 08 */ stw r10, 8(r1)
/* 8033D110 00338D70 39 40 00 00 */ li r10, 0
/* 8033D114 00338D74 93 C1 00 0C */ stw r30, 0xc(r1)
/* 8033D118 00338D78 93 E1 00 10 */ stw r31, 0x10(r1)
/* 8033D11C 00338D7C 48 00 8E B5 */ bl gpiProfileSearch
lbl_8033D120:
/* 8033D120 00338D80 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8033D124 00338D84 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8033D128 00338D88 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8033D12C 00338D8C 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8033D130 00338D90 7C 08 03 A6 */ mtlr r0
/* 8033D134 00338D94 38 21 00 40 */ addi r1, r1, 0x40
/* 8033D138 00338D98 4E 80 00 20 */ blr
.global gpGetInfo
gpGetInfo:
/* 8033D13C 00338D9C 94 21 FD E0 */ stwu r1, -0x220(r1)
/* 8033D140 00338DA0 7C 08 02 A6 */ mflr r0
/* 8033D144 00338DA4 2C 03 00 00 */ cmpwi r3, 0
/* 8033D148 00338DA8 90 01 02 24 */ stw r0, 0x224(r1)
/* 8033D14C 00338DAC 93 E1 02 1C */ stw r31, 0x21c(r1)
/* 8033D150 00338DB0 7D 1F 43 78 */ mr r31, r8
/* 8033D154 00338DB4 93 C1 02 18 */ stw r30, 0x218(r1)
/* 8033D158 00338DB8 7C FE 3B 78 */ mr r30, r7
/* 8033D15C 00338DBC 93 A1 02 14 */ stw r29, 0x214(r1)
/* 8033D160 00338DC0 7C 7D 1B 78 */ mr r29, r3
/* 8033D164 00338DC4 41 82 00 18 */ beq lbl_8033D17C
/* 8033D168 00338DC8 81 23 00 00 */ lwz r9, 0(r3)
/* 8033D16C 00338DCC 2C 09 00 00 */ cmpwi r9, 0
/* 8033D170 00338DD0 41 82 00 0C */ beq lbl_8033D17C
/* 8033D174 00338DD4 2C 04 00 00 */ cmpwi r4, 0
/* 8033D178 00338DD8 40 82 00 0C */ bne lbl_8033D184
lbl_8033D17C:
/* 8033D17C 00338DDC 38 60 00 02 */ li r3, 2
/* 8033D180 00338DE0 48 00 00 80 */ b lbl_8033D200
lbl_8033D184:
/* 8033D184 00338DE4 2C 07 00 00 */ cmpwi r7, 0
/* 8033D188 00338DE8 40 82 00 18 */ bne lbl_8033D1A0
/* 8033D18C 00338DEC 3C 80 80 45 */ lis r4, lbl_8044A468@ha
/* 8033D190 00338DF0 38 84 A4 68 */ addi r4, r4, lbl_8044A468@l
/* 8033D194 00338DF4 48 00 B2 C5 */ bl gpiSetErrorString
/* 8033D198 00338DF8 38 60 00 02 */ li r3, 2
/* 8033D19C 00338DFC 48 00 00 64 */ b lbl_8033D200
lbl_8033D1A0:
/* 8033D1A0 00338E00 80 09 01 08 */ lwz r0, 0x108(r9)
/* 8033D1A4 00338E04 2C 00 00 00 */ cmpwi r0, 0
/* 8033D1A8 00338E08 41 82 00 34 */ beq lbl_8033D1DC
/* 8033D1AC 00338E0C 38 61 00 08 */ addi r3, r1, 8
/* 8033D1B0 00338E10 38 80 00 00 */ li r4, 0
/* 8033D1B4 00338E14 38 A0 02 04 */ li r5, 0x204
/* 8033D1B8 00338E18 4B CC 6F 4D */ bl memset
/* 8033D1BC 00338E1C 7F CC F3 78 */ mr r12, r30
/* 8033D1C0 00338E20 7F A3 EB 78 */ mr r3, r29
/* 8033D1C4 00338E24 7F E5 FB 78 */ mr r5, r31
/* 8033D1C8 00338E28 38 81 00 08 */ addi r4, r1, 8
/* 8033D1CC 00338E2C 7D 89 03 A6 */ mtctr r12
/* 8033D1D0 00338E30 4E 80 04 21 */ bctrl
/* 8033D1D4 00338E34 38 60 00 00 */ li r3, 0
/* 8033D1D8 00338E38 48 00 00 28 */ b lbl_8033D200
lbl_8033D1DC:
/* 8033D1DC 00338E3C 80 09 01 F4 */ lwz r0, 0x1f4(r9)
/* 8033D1E0 00338E40 2C 00 00 04 */ cmpwi r0, 4
/* 8033D1E4 00338E44 40 82 00 18 */ bne lbl_8033D1FC
/* 8033D1E8 00338E48 3C 80 80 45 */ lis r4, lbl_8044A4DC@ha
/* 8033D1EC 00338E4C 38 84 A4 DC */ addi r4, r4, lbl_8044A4DC@l
/* 8033D1F0 00338E50 48 00 B2 69 */ bl gpiSetErrorString
/* 8033D1F4 00338E54 38 60 00 02 */ li r3, 2
/* 8033D1F8 00338E58 48 00 00 08 */ b lbl_8033D200
lbl_8033D1FC:
/* 8033D1FC 00338E5C 48 00 66 59 */ bl gpiGetInfo
lbl_8033D200:
/* 8033D200 00338E60 80 01 02 24 */ lwz r0, 0x224(r1)
/* 8033D204 00338E64 83 E1 02 1C */ lwz r31, 0x21c(r1)
/* 8033D208 00338E68 83 C1 02 18 */ lwz r30, 0x218(r1)
/* 8033D20C 00338E6C 83 A1 02 14 */ lwz r29, 0x214(r1)
/* 8033D210 00338E70 7C 08 03 A6 */ mtlr r0
/* 8033D214 00338E74 38 21 02 20 */ addi r1, r1, 0x220
/* 8033D218 00338E78 4E 80 00 20 */ blr
.global gpSetInfosA
gpSetInfosA:
/* 8033D21C 00338E7C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033D220 00338E80 7C 08 02 A6 */ mflr r0
/* 8033D224 00338E84 2C 03 00 00 */ cmpwi r3, 0
/* 8033D228 00338E88 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033D22C 00338E8C 41 82 00 10 */ beq lbl_8033D23C
/* 8033D230 00338E90 80 C3 00 00 */ lwz r6, 0(r3)
/* 8033D234 00338E94 2C 06 00 00 */ cmpwi r6, 0
/* 8033D238 00338E98 40 82 00 0C */ bne lbl_8033D244
lbl_8033D23C:
/* 8033D23C 00338E9C 38 60 00 02 */ li r3, 2
/* 8033D240 00338EA0 48 00 00 3C */ b lbl_8033D27C
lbl_8033D244:
/* 8033D244 00338EA4 80 06 01 08 */ lwz r0, 0x108(r6)
/* 8033D248 00338EA8 2C 00 00 00 */ cmpwi r0, 0
/* 8033D24C 00338EAC 41 82 00 0C */ beq lbl_8033D258
/* 8033D250 00338EB0 38 60 00 00 */ li r3, 0
/* 8033D254 00338EB4 48 00 00 28 */ b lbl_8033D27C
lbl_8033D258:
/* 8033D258 00338EB8 80 06 01 F4 */ lwz r0, 0x1f4(r6)
/* 8033D25C 00338EBC 2C 00 00 04 */ cmpwi r0, 4
/* 8033D260 00338EC0 40 82 00 18 */ bne lbl_8033D278
/* 8033D264 00338EC4 3C 80 80 45 */ lis r4, lbl_8044A4DC@ha
/* 8033D268 00338EC8 38 84 A4 DC */ addi r4, r4, lbl_8044A4DC@l
/* 8033D26C 00338ECC 48 00 B1 ED */ bl gpiSetErrorString
/* 8033D270 00338ED0 38 60 00 02 */ li r3, 2
/* 8033D274 00338ED4 48 00 00 08 */ b lbl_8033D27C
lbl_8033D278:
/* 8033D278 00338ED8 48 00 5A 09 */ bl gpiSetInfos
lbl_8033D27C:
/* 8033D27C 00338EDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033D280 00338EE0 7C 08 03 A6 */ mtlr r0
/* 8033D284 00338EE4 38 21 00 10 */ addi r1, r1, 0x10
/* 8033D288 00338EE8 4E 80 00 20 */ blr
.global gpSendBuddyRequestA
gpSendBuddyRequestA:
/* 8033D28C 00338EEC 94 21 FB E0 */ stwu r1, -0x420(r1)
/* 8033D290 00338EF0 7C 08 02 A6 */ mflr r0
/* 8033D294 00338EF4 2C 03 00 00 */ cmpwi r3, 0
/* 8033D298 00338EF8 90 01 04 24 */ stw r0, 0x424(r1)
/* 8033D29C 00338EFC 93 E1 04 1C */ stw r31, 0x41c(r1)
/* 8033D2A0 00338F00 3F E0 80 45 */ lis r31, lbl_8044A458@ha
/* 8033D2A4 00338F04 3B FF A4 58 */ addi r31, r31, lbl_8044A458@l
/* 8033D2A8 00338F08 93 C1 04 18 */ stw r30, 0x418(r1)
/* 8033D2AC 00338F0C 93 A1 04 14 */ stw r29, 0x414(r1)
/* 8033D2B0 00338F10 7C 9D 23 78 */ mr r29, r4
/* 8033D2B4 00338F14 93 81 04 10 */ stw r28, 0x410(r1)
/* 8033D2B8 00338F18 7C 7C 1B 78 */ mr r28, r3
/* 8033D2BC 00338F1C 41 82 00 10 */ beq lbl_8033D2CC
/* 8033D2C0 00338F20 83 C3 00 00 */ lwz r30, 0(r3)
/* 8033D2C4 00338F24 2C 1E 00 00 */ cmpwi r30, 0
/* 8033D2C8 00338F28 40 82 00 0C */ bne lbl_8033D2D4
lbl_8033D2CC:
/* 8033D2CC 00338F2C 38 60 00 02 */ li r3, 2
/* 8033D2D0 00338F30 48 00 01 0C */ b lbl_8033D3DC
lbl_8033D2D4:
/* 8033D2D4 00338F34 80 1E 01 08 */ lwz r0, 0x108(r30)
/* 8033D2D8 00338F38 2C 00 00 00 */ cmpwi r0, 0
/* 8033D2DC 00338F3C 41 82 00 0C */ beq lbl_8033D2E8
/* 8033D2E0 00338F40 38 60 00 00 */ li r3, 0
/* 8033D2E4 00338F44 48 00 00 F8 */ b lbl_8033D3DC
lbl_8033D2E8:
/* 8033D2E8 00338F48 80 1E 01 F4 */ lwz r0, 0x1f4(r30)
/* 8033D2EC 00338F4C 2C 00 00 04 */ cmpwi r0, 4
/* 8033D2F0 00338F50 40 82 00 14 */ bne lbl_8033D304
/* 8033D2F4 00338F54 38 9F 00 84 */ addi r4, r31, 0x84
/* 8033D2F8 00338F58 48 00 B1 61 */ bl gpiSetErrorString
/* 8033D2FC 00338F5C 38 60 00 02 */ li r3, 2
/* 8033D300 00338F60 48 00 00 DC */ b lbl_8033D3DC
lbl_8033D304:
/* 8033D304 00338F64 2C 05 00 00 */ cmpwi r5, 0
/* 8033D308 00338F68 40 82 00 14 */ bne lbl_8033D31C
/* 8033D30C 00338F6C 38 9F 00 D8 */ addi r4, r31, 0xd8
/* 8033D310 00338F70 48 00 B1 49 */ bl gpiSetErrorString
/* 8033D314 00338F74 38 60 00 02 */ li r3, 2
/* 8033D318 00338F78 48 00 00 C4 */ b lbl_8033D3DC
lbl_8033D31C:
/* 8033D31C 00338F7C 7C A4 2B 78 */ mr r4, r5
/* 8033D320 00338F80 38 61 00 08 */ addi r3, r1, 8
/* 8033D324 00338F84 38 A0 04 01 */ li r5, 0x401
/* 8033D328 00338F88 48 00 AC 29 */ bl strzcpy
/* 8033D32C 00338F8C 38 81 00 08 */ addi r4, r1, 8
/* 8033D330 00338F90 38 60 00 2F */ li r3, 0x2f
/* 8033D334 00338F94 48 00 00 18 */ b lbl_8033D34C
lbl_8033D338:
/* 8033D338 00338F98 7C A0 07 74 */ extsb r0, r5
/* 8033D33C 00338F9C 2C 00 00 5C */ cmpwi r0, 0x5c
/* 8033D340 00338FA0 40 82 00 08 */ bne lbl_8033D348
/* 8033D344 00338FA4 98 64 00 00 */ stb r3, 0(r4)
lbl_8033D348:
/* 8033D348 00338FA8 38 84 00 01 */ addi r4, r4, 1
lbl_8033D34C:
/* 8033D34C 00338FAC 88 A4 00 00 */ lbz r5, 0(r4)
/* 8033D350 00338FB0 7C A0 07 75 */ extsb. r0, r5
/* 8033D354 00338FB4 40 82 FF E4 */ bne lbl_8033D338
/* 8033D358 00338FB8 7F 83 E3 78 */ mr r3, r28
/* 8033D35C 00338FBC 38 9E 02 10 */ addi r4, r30, 0x210
/* 8033D360 00338FC0 38 BF 00 E8 */ addi r5, r31, 0xe8
/* 8033D364 00338FC4 48 00 21 3D */ bl gpiAppendStringToBuffer
/* 8033D368 00338FC8 7F 83 E3 78 */ mr r3, r28
/* 8033D36C 00338FCC 38 9E 02 10 */ addi r4, r30, 0x210
/* 8033D370 00338FD0 38 BF 00 F4 */ addi r5, r31, 0xf4
/* 8033D374 00338FD4 48 00 21 2D */ bl gpiAppendStringToBuffer
/* 8033D378 00338FD8 80 BE 01 98 */ lwz r5, 0x198(r30)
/* 8033D37C 00338FDC 7F 83 E3 78 */ mr r3, r28
/* 8033D380 00338FE0 38 9E 02 10 */ addi r4, r30, 0x210
/* 8033D384 00338FE4 48 00 21 79 */ bl gpiAppendIntToBuffer
/* 8033D388 00338FE8 7F 83 E3 78 */ mr r3, r28
/* 8033D38C 00338FEC 38 9E 02 10 */ addi r4, r30, 0x210
/* 8033D390 00338FF0 38 BF 01 00 */ addi r5, r31, 0x100
/* 8033D394 00338FF4 48 00 21 0D */ bl gpiAppendStringToBuffer
/* 8033D398 00338FF8 7F 83 E3 78 */ mr r3, r28
/* 8033D39C 00338FFC 7F A5 EB 78 */ mr r5, r29
/* 8033D3A0 00339000 38 9E 02 10 */ addi r4, r30, 0x210
/* 8033D3A4 00339004 48 00 21 59 */ bl gpiAppendIntToBuffer
/* 8033D3A8 00339008 7F 83 E3 78 */ mr r3, r28
/* 8033D3AC 0033900C 38 9E 02 10 */ addi r4, r30, 0x210
/* 8033D3B0 00339010 38 BF 01 10 */ addi r5, r31, 0x110
/* 8033D3B4 00339014 48 00 20 ED */ bl gpiAppendStringToBuffer
/* 8033D3B8 00339018 7F 83 E3 78 */ mr r3, r28
/* 8033D3BC 0033901C 38 9E 02 10 */ addi r4, r30, 0x210
/* 8033D3C0 00339020 38 A1 00 08 */ addi r5, r1, 8
/* 8033D3C4 00339024 48 00 20 DD */ bl gpiAppendStringToBuffer
/* 8033D3C8 00339028 7F 83 E3 78 */ mr r3, r28
/* 8033D3CC 0033902C 38 9E 02 10 */ addi r4, r30, 0x210
/* 8033D3D0 00339030 38 AD 8F 48 */ addi r5, r13, lbl_8063E208-_SDA_BASE_
/* 8033D3D4 00339034 48 00 20 CD */ bl gpiAppendStringToBuffer
/* 8033D3D8 00339038 38 60 00 00 */ li r3, 0
lbl_8033D3DC:
/* 8033D3DC 0033903C 80 01 04 24 */ lwz r0, 0x424(r1)
/* 8033D3E0 00339040 83 E1 04 1C */ lwz r31, 0x41c(r1)
/* 8033D3E4 00339044 83 C1 04 18 */ lwz r30, 0x418(r1)
/* 8033D3E8 00339048 83 A1 04 14 */ lwz r29, 0x414(r1)
/* 8033D3EC 0033904C 83 81 04 10 */ lwz r28, 0x410(r1)
/* 8033D3F0 00339050 7C 08 03 A6 */ mtlr r0
/* 8033D3F4 00339054 38 21 04 20 */ addi r1, r1, 0x420
/* 8033D3F8 00339058 4E 80 00 20 */ blr
.global gpAuthBuddyRequest
gpAuthBuddyRequest:
/* 8033D3FC 0033905C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033D400 00339060 7C 08 02 A6 */ mflr r0
/* 8033D404 00339064 2C 03 00 00 */ cmpwi r3, 0
/* 8033D408 00339068 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033D40C 0033906C 41 82 00 10 */ beq lbl_8033D41C
/* 8033D410 00339070 80 A3 00 00 */ lwz r5, 0(r3)
/* 8033D414 00339074 2C 05 00 00 */ cmpwi r5, 0
/* 8033D418 00339078 40 82 00 0C */ bne lbl_8033D424
lbl_8033D41C:
/* 8033D41C 0033907C 38 60 00 02 */ li r3, 2
/* 8033D420 00339080 48 00 00 3C */ b lbl_8033D45C
lbl_8033D424:
/* 8033D424 00339084 80 05 01 08 */ lwz r0, 0x108(r5)
/* 8033D428 00339088 2C 00 00 00 */ cmpwi r0, 0
/* 8033D42C 0033908C 41 82 00 0C */ beq lbl_8033D438
/* 8033D430 00339090 38 60 00 00 */ li r3, 0
/* 8033D434 00339094 48 00 00 28 */ b lbl_8033D45C
lbl_8033D438:
/* 8033D438 00339098 80 05 01 F4 */ lwz r0, 0x1f4(r5)
/* 8033D43C 0033909C 2C 00 00 04 */ cmpwi r0, 4
/* 8033D440 003390A0 40 82 00 18 */ bne lbl_8033D458
/* 8033D444 003390A4 3C 80 80 45 */ lis r4, lbl_8044A4DC@ha
/* 8033D448 003390A8 38 84 A4 DC */ addi r4, r4, lbl_8044A4DC@l
/* 8033D44C 003390AC 48 00 B0 0D */ bl gpiSetErrorString
/* 8033D450 003390B0 38 60 00 02 */ li r3, 2
/* 8033D454 003390B4 48 00 00 08 */ b lbl_8033D45C
lbl_8033D458:
/* 8033D458 003390B8 48 00 1B B1 */ bl gpiAuthBuddyRequest
lbl_8033D45C:
/* 8033D45C 003390BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033D460 003390C0 7C 08 03 A6 */ mtlr r0
/* 8033D464 003390C4 38 21 00 10 */ addi r1, r1, 0x10
/* 8033D468 003390C8 4E 80 00 20 */ blr
.global gpDenyBuddyRequest
gpDenyBuddyRequest:
/* 8033D46C 003390CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8033D470 003390D0 7C 08 02 A6 */ mflr r0
/* 8033D474 003390D4 2C 03 00 00 */ cmpwi r3, 0
/* 8033D478 003390D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8033D47C 003390DC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8033D480 003390E0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8033D484 003390E4 7C 7E 1B 78 */ mr r30, r3
/* 8033D488 003390E8 41 82 00 10 */ beq lbl_8033D498
/* 8033D48C 003390EC 83 E3 00 00 */ lwz r31, 0(r3)
/* 8033D490 003390F0 2C 1F 00 00 */ cmpwi r31, 0
/* 8033D494 003390F4 40 82 00 0C */ bne lbl_8033D4A0
lbl_8033D498:
/* 8033D498 003390F8 38 60 00 02 */ li r3, 2
/* 8033D49C 003390FC 48 00 00 B0 */ b lbl_8033D54C
lbl_8033D4A0:
/* 8033D4A0 00339100 80 1F 01 08 */ lwz r0, 0x108(r31)
/* 8033D4A4 00339104 2C 00 00 00 */ cmpwi r0, 0
/* 8033D4A8 00339108 41 82 00 0C */ beq lbl_8033D4B4
/* 8033D4AC 0033910C 38 60 00 00 */ li r3, 0
/* 8033D4B0 00339110 48 00 00 9C */ b lbl_8033D54C
lbl_8033D4B4:
/* 8033D4B4 00339114 80 1F 01 F4 */ lwz r0, 0x1f4(r31)
/* 8033D4B8 00339118 2C 00 00 04 */ cmpwi r0, 4
/* 8033D4BC 0033911C 40 82 00 18 */ bne lbl_8033D4D4
/* 8033D4C0 00339120 3C 80 80 45 */ lis r4, lbl_8044A4DC@ha
/* 8033D4C4 00339124 38 84 A4 DC */ addi r4, r4, lbl_8044A4DC@l
/* 8033D4C8 00339128 48 00 AF 91 */ bl gpiSetErrorString
/* 8033D4CC 0033912C 38 60 00 02 */ li r3, 2
/* 8033D4D0 00339130 48 00 00 7C */ b lbl_8033D54C
lbl_8033D4D4:
/* 8033D4D4 00339134 38 A1 00 08 */ addi r5, r1, 8
/* 8033D4D8 00339138 48 00 83 F9 */ bl gpiGetProfile
/* 8033D4DC 0033913C 2C 03 00 00 */ cmpwi r3, 0
/* 8033D4E0 00339140 40 82 00 0C */ bne lbl_8033D4EC
/* 8033D4E4 00339144 38 60 00 00 */ li r3, 0
/* 8033D4E8 00339148 48 00 00 64 */ b lbl_8033D54C
lbl_8033D4EC:
/* 8033D4EC 0033914C 80 81 00 08 */ lwz r4, 8(r1)
/* 8033D4F0 00339150 80 64 00 14 */ lwz r3, 0x14(r4)
/* 8033D4F4 00339154 38 03 FF FF */ addi r0, r3, -1
/* 8033D4F8 00339158 90 04 00 14 */ stw r0, 0x14(r4)
/* 8033D4FC 0033915C 80 1F 01 00 */ lwz r0, 0x100(r31)
/* 8033D500 00339160 2C 00 00 00 */ cmpwi r0, 0
/* 8033D504 00339164 40 82 00 44 */ bne lbl_8033D548
/* 8033D508 00339168 80 61 00 08 */ lwz r3, 8(r1)
/* 8033D50C 0033916C 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8033D510 00339170 2C 00 00 00 */ cmpwi r0, 0
/* 8033D514 00339174 41 81 00 34 */ bgt lbl_8033D548
/* 8033D518 00339178 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8033D51C 0033917C 4B FF BE 1D */ bl gsifree
/* 8033D520 00339180 80 61 00 08 */ lwz r3, 8(r1)
/* 8033D524 00339184 38 00 00 00 */ li r0, 0
/* 8033D528 00339188 90 03 00 10 */ stw r0, 0x10(r3)
/* 8033D52C 0033918C 80 61 00 08 */ lwz r3, 8(r1)
/* 8033D530 00339190 48 00 87 95 */ bl gpiCanFreeProfile
/* 8033D534 00339194 2C 03 00 00 */ cmpwi r3, 0
/* 8033D538 00339198 41 82 00 10 */ beq lbl_8033D548
/* 8033D53C 0033919C 80 81 00 08 */ lwz r4, 8(r1)
/* 8033D540 003391A0 7F C3 F3 78 */ mr r3, r30
/* 8033D544 003391A4 48 00 85 6D */ bl gpiRemoveProfile
lbl_8033D548:
/* 8033D548 003391A8 38 60 00 00 */ li r3, 0
lbl_8033D54C:
/* 8033D54C 003391AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8033D550 003391B0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8033D554 003391B4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8033D558 003391B8 7C 08 03 A6 */ mtlr r0
/* 8033D55C 003391BC 38 21 00 20 */ addi r1, r1, 0x20
/* 8033D560 003391C0 4E 80 00 20 */ blr
.global gpGetNumBuddies
gpGetNumBuddies:
/* 8033D564 003391C4 2C 03 00 00 */ cmpwi r3, 0
/* 8033D568 003391C8 41 82 00 10 */ beq lbl_8033D578
/* 8033D56C 003391CC 80 63 00 00 */ lwz r3, 0(r3)
/* 8033D570 003391D0 2C 03 00 00 */ cmpwi r3, 0
/* 8033D574 003391D4 40 82 00 0C */ bne lbl_8033D580
lbl_8033D578:
/* 8033D578 003391D8 38 60 00 02 */ li r3, 2
/* 8033D57C 003391DC 4E 80 00 20 */ blr
lbl_8033D580:
/* 8033D580 003391E0 80 03 01 08 */ lwz r0, 0x108(r3)
/* 8033D584 003391E4 2C 00 00 00 */ cmpwi r0, 0
/* 8033D588 003391E8 41 82 00 14 */ beq lbl_8033D59C
/* 8033D58C 003391EC 38 00 00 00 */ li r0, 0
/* 8033D590 003391F0 38 60 00 00 */ li r3, 0
/* 8033D594 003391F4 90 04 00 00 */ stw r0, 0(r4)
/* 8033D598 003391F8 4E 80 00 20 */ blr
lbl_8033D59C:
/* 8033D59C 003391FC 80 03 04 4C */ lwz r0, 0x44c(r3)
/* 8033D5A0 00339200 38 60 00 00 */ li r3, 0
/* 8033D5A4 00339204 90 04 00 00 */ stw r0, 0(r4)
/* 8033D5A8 00339208 4E 80 00 20 */ blr
.global gpGetBuddyStatus
gpGetBuddyStatus:
/* 8033D5AC 0033920C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033D5B0 00339210 7C 08 02 A6 */ mflr r0
/* 8033D5B4 00339214 2C 03 00 00 */ cmpwi r3, 0
/* 8033D5B8 00339218 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033D5BC 0033921C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033D5C0 00339220 7C 7F 1B 78 */ mr r31, r3
/* 8033D5C4 00339224 93 C1 00 08 */ stw r30, 8(r1)
/* 8033D5C8 00339228 7C BE 2B 78 */ mr r30, r5
/* 8033D5CC 0033922C 41 82 00 10 */ beq lbl_8033D5DC
/* 8033D5D0 00339230 80 C3 00 00 */ lwz r6, 0(r3)
/* 8033D5D4 00339234 2C 06 00 00 */ cmpwi r6, 0
/* 8033D5D8 00339238 40 82 00 0C */ bne lbl_8033D5E4
lbl_8033D5DC:
/* 8033D5DC 0033923C 38 60 00 02 */ li r3, 2
/* 8033D5E0 00339240 48 00 01 04 */ b lbl_8033D6E4
lbl_8033D5E4:
/* 8033D5E4 00339244 80 06 01 08 */ lwz r0, 0x108(r6)
/* 8033D5E8 00339248 2C 00 00 00 */ cmpwi r0, 0
/* 8033D5EC 0033924C 41 82 00 1C */ beq lbl_8033D608
/* 8033D5F0 00339250 7F C3 F3 78 */ mr r3, r30
/* 8033D5F4 00339254 38 80 00 00 */ li r4, 0
/* 8033D5F8 00339258 38 A0 02 10 */ li r5, 0x210
/* 8033D5FC 0033925C 4B CC 6B 09 */ bl memset
/* 8033D600 00339260 38 60 00 00 */ li r3, 0
/* 8033D604 00339264 48 00 00 E0 */ b lbl_8033D6E4
lbl_8033D608:
/* 8033D608 00339268 2C 05 00 00 */ cmpwi r5, 0
/* 8033D60C 0033926C 40 82 00 18 */ bne lbl_8033D624
/* 8033D610 00339270 3C 80 80 45 */ lis r4, lbl_8044A578@ha
/* 8033D614 00339274 38 84 A5 78 */ addi r4, r4, lbl_8044A578@l
/* 8033D618 00339278 48 00 AE 41 */ bl gpiSetErrorString
/* 8033D61C 0033927C 38 60 00 02 */ li r3, 2
/* 8033D620 00339280 48 00 00 C4 */ b lbl_8033D6E4
lbl_8033D624:
/* 8033D624 00339284 2C 04 00 00 */ cmpwi r4, 0
/* 8033D628 00339288 80 06 04 4C */ lwz r0, 0x44c(r6)
/* 8033D62C 0033928C 41 80 00 0C */ blt lbl_8033D638
/* 8033D630 00339290 7C 04 00 00 */ cmpw r4, r0
/* 8033D634 00339294 41 80 00 1C */ blt lbl_8033D650
lbl_8033D638:
/* 8033D638 00339298 3C 80 80 45 */ lis r4, lbl_8044A588@ha
/* 8033D63C 0033929C 7F E3 FB 78 */ mr r3, r31
/* 8033D640 003392A0 38 84 A5 88 */ addi r4, r4, lbl_8044A588@l
/* 8033D644 003392A4 48 00 AE 15 */ bl gpiSetErrorString
/* 8033D648 003392A8 38 60 00 02 */ li r3, 2
/* 8033D64C 003392AC 48 00 00 98 */ b lbl_8033D6E4
lbl_8033D650:
/* 8033D650 003392B0 48 00 86 19 */ bl gpiFindBuddy
/* 8033D654 003392B4 2C 03 00 00 */ cmpwi r3, 0
/* 8033D658 003392B8 40 82 00 1C */ bne lbl_8033D674
/* 8033D65C 003392BC 3C 80 80 45 */ lis r4, lbl_8044A588@ha
/* 8033D660 003392C0 7F E3 FB 78 */ mr r3, r31
/* 8033D664 003392C4 38 84 A5 88 */ addi r4, r4, lbl_8044A588@l
/* 8033D668 003392C8 48 00 AD F1 */ bl gpiSetErrorString
/* 8033D66C 003392CC 38 60 00 02 */ li r3, 2
/* 8033D670 003392D0 48 00 00 74 */ b lbl_8033D6E4
lbl_8033D674:
/* 8033D674 003392D4 83 E3 00 08 */ lwz r31, 8(r3)
/* 8033D678 003392D8 80 03 00 00 */ lwz r0, 0(r3)
/* 8033D67C 003392DC 90 1E 00 00 */ stw r0, 0(r30)
/* 8033D680 003392E0 80 1F 00 04 */ lwz r0, 4(r31)
/* 8033D684 003392E4 90 1E 00 04 */ stw r0, 4(r30)
/* 8033D688 003392E8 80 9F 00 08 */ lwz r4, 8(r31)
/* 8033D68C 003392EC 2C 04 00 00 */ cmpwi r4, 0
/* 8033D690 003392F0 41 82 00 14 */ beq lbl_8033D6A4
/* 8033D694 003392F4 38 7E 00 08 */ addi r3, r30, 8
/* 8033D698 003392F8 38 A0 01 00 */ li r5, 0x100
/* 8033D69C 003392FC 48 00 A8 B5 */ bl strzcpy
/* 8033D6A0 00339300 48 00 00 0C */ b lbl_8033D6AC
lbl_8033D6A4:
/* 8033D6A4 00339304 38 00 00 00 */ li r0, 0
/* 8033D6A8 00339308 98 1E 00 08 */ stb r0, 8(r30)
lbl_8033D6AC:
/* 8033D6AC 0033930C 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 8033D6B0 00339310 2C 04 00 00 */ cmpwi r4, 0
/* 8033D6B4 00339314 41 82 00 14 */ beq lbl_8033D6C8
/* 8033D6B8 00339318 38 7E 01 08 */ addi r3, r30, 0x108
/* 8033D6BC 0033931C 38 A0 01 00 */ li r5, 0x100
/* 8033D6C0 00339320 48 00 A8 91 */ bl strzcpy
/* 8033D6C4 00339324 48 00 00 0C */ b lbl_8033D6D0
lbl_8033D6C8:
/* 8033D6C8 00339328 38 00 00 00 */ li r0, 0
/* 8033D6CC 0033932C 98 1E 01 08 */ stb r0, 0x108(r30)
lbl_8033D6D0:
/* 8033D6D0 00339330 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8033D6D4 00339334 38 60 00 00 */ li r3, 0
/* 8033D6D8 00339338 90 1E 02 08 */ stw r0, 0x208(r30)
/* 8033D6DC 0033933C 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 8033D6E0 00339340 90 1E 02 0C */ stw r0, 0x20c(r30)
lbl_8033D6E4:
/* 8033D6E4 00339344 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033D6E8 00339348 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8033D6EC 0033934C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8033D6F0 00339350 7C 08 03 A6 */ mtlr r0
/* 8033D6F4 00339354 38 21 00 10 */ addi r1, r1, 0x10
/* 8033D6F8 00339358 4E 80 00 20 */ blr
.global gpGetBuddyIndex
gpGetBuddyIndex:
/* 8033D6FC 0033935C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8033D700 00339360 7C 08 02 A6 */ mflr r0
/* 8033D704 00339364 2C 03 00 00 */ cmpwi r3, 0
/* 8033D708 00339368 90 01 00 24 */ stw r0, 0x24(r1)
/* 8033D70C 0033936C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8033D710 00339370 7C BF 2B 78 */ mr r31, r5
/* 8033D714 00339374 41 82 00 10 */ beq lbl_8033D724
/* 8033D718 00339378 80 C3 00 00 */ lwz r6, 0(r3)
/* 8033D71C 0033937C 2C 06 00 00 */ cmpwi r6, 0
/* 8033D720 00339380 40 82 00 0C */ bne lbl_8033D72C
lbl_8033D724:
/* 8033D724 00339384 38 60 00 02 */ li r3, 2
/* 8033D728 00339388 48 00 00 58 */ b lbl_8033D780
lbl_8033D72C:
/* 8033D72C 0033938C 80 06 01 08 */ lwz r0, 0x108(r6)
/* 8033D730 00339390 2C 00 00 00 */ cmpwi r0, 0
/* 8033D734 00339394 41 82 00 14 */ beq lbl_8033D748
/* 8033D738 00339398 38 00 00 00 */ li r0, 0
/* 8033D73C 0033939C 38 60 00 00 */ li r3, 0
/* 8033D740 003393A0 90 05 00 00 */ stw r0, 0(r5)
/* 8033D744 003393A4 48 00 00 3C */ b lbl_8033D780
lbl_8033D748:
/* 8033D748 003393A8 38 A1 00 08 */ addi r5, r1, 8
/* 8033D74C 003393AC 48 00 81 85 */ bl gpiGetProfile
/* 8033D750 003393B0 2C 03 00 00 */ cmpwi r3, 0
/* 8033D754 003393B4 41 82 00 20 */ beq lbl_8033D774
/* 8033D758 003393B8 80 61 00 08 */ lwz r3, 8(r1)
/* 8033D75C 003393BC 80 63 00 08 */ lwz r3, 8(r3)
/* 8033D760 003393C0 2C 03 00 00 */ cmpwi r3, 0
/* 8033D764 003393C4 41 82 00 10 */ beq lbl_8033D774
/* 8033D768 003393C8 80 03 00 00 */ lwz r0, 0(r3)
/* 8033D76C 003393CC 90 1F 00 00 */ stw r0, 0(r31)
/* 8033D770 003393D0 48 00 00 0C */ b lbl_8033D77C
lbl_8033D774:
/* 8033D774 003393D4 38 00 FF FF */ li r0, -1
/* 8033D778 003393D8 90 1F 00 00 */ stw r0, 0(r31)
lbl_8033D77C:
/* 8033D77C 003393DC 38 60 00 00 */ li r3, 0
lbl_8033D780:
/* 8033D780 003393E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8033D784 003393E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8033D788 003393E8 7C 08 03 A6 */ mtlr r0
/* 8033D78C 003393EC 38 21 00 20 */ addi r1, r1, 0x20
/* 8033D790 003393F0 4E 80 00 20 */ blr
.global gpIsBuddy
gpIsBuddy:
/* 8033D794 003393F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033D798 003393F8 7C 08 02 A6 */ mflr r0
/* 8033D79C 003393FC 2C 03 00 00 */ cmpwi r3, 0
/* 8033D7A0 00339400 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033D7A4 00339404 41 82 00 10 */ beq lbl_8033D7B4
/* 8033D7A8 00339408 80 A3 00 00 */ lwz r5, 0(r3)
/* 8033D7AC 0033940C 2C 05 00 00 */ cmpwi r5, 0
/* 8033D7B0 00339410 40 82 00 0C */ bne lbl_8033D7BC
lbl_8033D7B4:
/* 8033D7B4 00339414 38 60 00 00 */ li r3, 0
/* 8033D7B8 00339418 48 00 00 44 */ b lbl_8033D7FC
lbl_8033D7BC:
/* 8033D7BC 0033941C 80 05 01 08 */ lwz r0, 0x108(r5)
/* 8033D7C0 00339420 2C 00 00 00 */ cmpwi r0, 0
/* 8033D7C4 00339424 41 82 00 0C */ beq lbl_8033D7D0
/* 8033D7C8 00339428 38 60 00 00 */ li r3, 0
/* 8033D7CC 0033942C 48 00 00 30 */ b lbl_8033D7FC
lbl_8033D7D0:
/* 8033D7D0 00339430 38 A1 00 08 */ addi r5, r1, 8
/* 8033D7D4 00339434 48 00 80 FD */ bl gpiGetProfile
/* 8033D7D8 00339438 2C 03 00 00 */ cmpwi r3, 0
/* 8033D7DC 0033943C 41 82 00 1C */ beq lbl_8033D7F8
/* 8033D7E0 00339440 80 61 00 08 */ lwz r3, 8(r1)
/* 8033D7E4 00339444 80 03 00 08 */ lwz r0, 8(r3)
/* 8033D7E8 00339448 2C 00 00 00 */ cmpwi r0, 0
/* 8033D7EC 0033944C 41 82 00 0C */ beq lbl_8033D7F8
/* 8033D7F0 00339450 38 60 00 01 */ li r3, 1
/* 8033D7F4 00339454 48 00 00 08 */ b lbl_8033D7FC
lbl_8033D7F8:
/* 8033D7F8 00339458 38 60 00 00 */ li r3, 0
lbl_8033D7FC:
/* 8033D7FC 0033945C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033D800 00339460 7C 08 03 A6 */ mtlr r0
/* 8033D804 00339464 38 21 00 10 */ addi r1, r1, 0x10
/* 8033D808 00339468 4E 80 00 20 */ blr
.global gpDeleteBuddy
gpDeleteBuddy:
/* 8033D80C 0033946C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033D810 00339470 7C 08 02 A6 */ mflr r0
/* 8033D814 00339474 2C 03 00 00 */ cmpwi r3, 0
/* 8033D818 00339478 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033D81C 0033947C 41 82 00 10 */ beq lbl_8033D82C
/* 8033D820 00339480 80 A3 00 00 */ lwz r5, 0(r3)
/* 8033D824 00339484 2C 05 00 00 */ cmpwi r5, 0
/* 8033D828 00339488 40 82 00 0C */ bne lbl_8033D834
lbl_8033D82C:
/* 8033D82C 0033948C 38 60 00 02 */ li r3, 2
/* 8033D830 00339490 48 00 00 54 */ b lbl_8033D884
lbl_8033D834:
/* 8033D834 00339494 80 05 01 08 */ lwz r0, 0x108(r5)
/* 8033D838 00339498 2C 00 00 00 */ cmpwi r0, 0
/* 8033D83C 0033949C 41 82 00 0C */ beq lbl_8033D848
/* 8033D840 003394A0 38 60 00 00 */ li r3, 0
/* 8033D844 003394A4 48 00 00 40 */ b lbl_8033D884
lbl_8033D848:
/* 8033D848 003394A8 80 05 01 F4 */ lwz r0, 0x1f4(r5)
/* 8033D84C 003394AC 2C 00 00 04 */ cmpwi r0, 4
/* 8033D850 003394B0 40 82 00 18 */ bne lbl_8033D868
/* 8033D854 003394B4 3C 80 80 45 */ lis r4, lbl_8044A4DC@ha
/* 8033D858 003394B8 38 84 A4 DC */ addi r4, r4, lbl_8044A4DC@l
/* 8033D85C 003394BC 48 00 AB FD */ bl gpiSetErrorString
/* 8033D860 003394C0 38 60 00 02 */ li r3, 2
/* 8033D864 003394C4 48 00 00 20 */ b lbl_8033D884
lbl_8033D868:
/* 8033D868 003394C8 38 A0 00 01 */ li r5, 1
/* 8033D86C 003394CC 48 00 19 35 */ bl gpiDeleteBuddy
/* 8033D870 003394D0 2C 03 00 00 */ cmpwi r3, 0
/* 8033D874 003394D4 38 00 00 00 */ li r0, 0
/* 8033D878 003394D8 41 82 00 08 */ beq lbl_8033D880
/* 8033D87C 003394DC 7C 60 1B 78 */ mr r0, r3
lbl_8033D880:
/* 8033D880 003394E0 7C 03 03 78 */ mr r3, r0
lbl_8033D884:
/* 8033D884 003394E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033D888 003394E8 7C 08 03 A6 */ mtlr r0
/* 8033D88C 003394EC 38 21 00 10 */ addi r1, r1, 0x10
/* 8033D890 003394F0 4E 80 00 20 */ blr
.global gpSetStatusA
gpSetStatusA:
/* 8033D894 003394F4 94 21 FD E0 */ stwu r1, -0x220(r1)
/* 8033D898 003394F8 7C 08 02 A6 */ mflr r0
/* 8033D89C 003394FC 90 01 02 24 */ stw r0, 0x224(r1)
/* 8033D8A0 00339500 39 61 02 20 */ addi r11, r1, 0x220
/* 8033D8A4 00339504 4B E8 98 85 */ bl _savegpr_27
/* 8033D8A8 00339508 2C 03 00 00 */ cmpwi r3, 0
/* 8033D8AC 0033950C 3F A0 80 45 */ lis r29, lbl_8044A458@ha
/* 8033D8B0 00339510 7C 7E 1B 78 */ mr r30, r3
/* 8033D8B4 00339514 7C 9F 23 78 */ mr r31, r4
/* 8033D8B8 00339518 7C DB 33 78 */ mr r27, r6
/* 8033D8BC 0033951C 3B BD A4 58 */ addi r29, r29, lbl_8044A458@l
/* 8033D8C0 00339520 41 82 00 10 */ beq lbl_8033D8D0
/* 8033D8C4 00339524 83 83 00 00 */ lwz r28, 0(r3)
/* 8033D8C8 00339528 2C 1C 00 00 */ cmpwi r28, 0
/* 8033D8CC 0033952C 40 82 00 0C */ bne lbl_8033D8D8
lbl_8033D8D0:
/* 8033D8D0 00339530 38 60 00 02 */ li r3, 2
/* 8033D8D4 00339534 48 00 01 D0 */ b lbl_8033DAA4
lbl_8033D8D8:
/* 8033D8D8 00339538 80 1C 01 08 */ lwz r0, 0x108(r28)
/* 8033D8DC 0033953C 2C 00 00 00 */ cmpwi r0, 0
/* 8033D8E0 00339540 41 82 00 0C */ beq lbl_8033D8EC
/* 8033D8E4 00339544 38 60 00 00 */ li r3, 0
/* 8033D8E8 00339548 48 00 01 BC */ b lbl_8033DAA4
lbl_8033D8EC:
/* 8033D8EC 0033954C 80 1C 01 F4 */ lwz r0, 0x1f4(r28)
/* 8033D8F0 00339550 2C 00 00 04 */ cmpwi r0, 4
/* 8033D8F4 00339554 40 82 00 14 */ bne lbl_8033D908
/* 8033D8F8 00339558 38 9D 00 84 */ addi r4, r29, 0x84
/* 8033D8FC 0033955C 48 00 AB 5D */ bl gpiSetErrorString
/* 8033D900 00339560 38 60 00 02 */ li r3, 2
/* 8033D904 00339564 48 00 01 A0 */ b lbl_8033DAA4
lbl_8033D908:
/* 8033D908 00339568 2C 05 00 00 */ cmpwi r5, 0
/* 8033D90C 0033956C 40 82 00 14 */ bne lbl_8033D920
/* 8033D910 00339570 38 9D 01 40 */ addi r4, r29, 0x140
/* 8033D914 00339574 48 00 AB 45 */ bl gpiSetErrorString
/* 8033D918 00339578 38 60 00 02 */ li r3, 2
/* 8033D91C 0033957C 48 00 01 88 */ b lbl_8033DAA4
lbl_8033D920:
/* 8033D920 00339580 2C 06 00 00 */ cmpwi r6, 0
/* 8033D924 00339584 40 82 00 14 */ bne lbl_8033D938
/* 8033D928 00339588 38 9D 01 58 */ addi r4, r29, 0x158
/* 8033D92C 0033958C 48 00 AB 2D */ bl gpiSetErrorString
/* 8033D930 00339590 38 60 00 02 */ li r3, 2
/* 8033D934 00339594 48 00 01 70 */ b lbl_8033DAA4
lbl_8033D938:
/* 8033D938 00339598 7C A4 2B 78 */ mr r4, r5
/* 8033D93C 0033959C 38 61 01 08 */ addi r3, r1, 0x108
/* 8033D940 003395A0 38 A0 01 00 */ li r5, 0x100
/* 8033D944 003395A4 48 00 A6 0D */ bl strzcpy
/* 8033D948 003395A8 38 81 01 08 */ addi r4, r1, 0x108
/* 8033D94C 003395AC 38 60 00 2F */ li r3, 0x2f
/* 8033D950 003395B0 48 00 00 18 */ b lbl_8033D968
lbl_8033D954:
/* 8033D954 003395B4 7C A0 07 74 */ extsb r0, r5
/* 8033D958 003395B8 2C 00 00 5C */ cmpwi r0, 0x5c
/* 8033D95C 003395BC 40 82 00 08 */ bne lbl_8033D964
/* 8033D960 003395C0 98 64 00 00 */ stb r3, 0(r4)
lbl_8033D964:
/* 8033D964 003395C4 38 84 00 01 */ addi r4, r4, 1
lbl_8033D968:
/* 8033D968 003395C8 88 A4 00 00 */ lbz r5, 0(r4)
/* 8033D96C 003395CC 7C A0 07 75 */ extsb. r0, r5
/* 8033D970 003395D0 40 82 FF E4 */ bne lbl_8033D954
/* 8033D974 003395D4 7F 64 DB 78 */ mr r4, r27
/* 8033D978 003395D8 38 61 00 08 */ addi r3, r1, 8
/* 8033D97C 003395DC 38 A0 01 00 */ li r5, 0x100
/* 8033D980 003395E0 48 00 A5 D1 */ bl strzcpy
/* 8033D984 003395E4 38 81 00 08 */ addi r4, r1, 8
/* 8033D988 003395E8 38 60 00 2F */ li r3, 0x2f
/* 8033D98C 003395EC 48 00 00 18 */ b lbl_8033D9A4
lbl_8033D990:
/* 8033D990 003395F0 7C A0 07 74 */ extsb r0, r5
/* 8033D994 003395F4 2C 00 00 5C */ cmpwi r0, 0x5c
/* 8033D998 003395F8 40 82 00 08 */ bne lbl_8033D9A0
/* 8033D99C 003395FC 98 64 00 00 */ stb r3, 0(r4)
lbl_8033D9A0:
/* 8033D9A0 00339600 38 84 00 01 */ addi r4, r4, 1
lbl_8033D9A4:
/* 8033D9A4 00339604 88 A4 00 00 */ lbz r5, 0(r4)
/* 8033D9A8 00339608 7C A0 07 75 */ extsb. r0, r5
/* 8033D9AC 0033960C 40 82 FF E4 */ bne lbl_8033D990
/* 8033D9B0 00339610 80 1C 02 30 */ lwz r0, 0x230(r28)
/* 8033D9B4 00339614 7C 1F 00 00 */ cmpw r31, r0
/* 8033D9B8 00339618 40 82 00 34 */ bne lbl_8033D9EC
/* 8033D9BC 0033961C 38 61 01 08 */ addi r3, r1, 0x108
/* 8033D9C0 00339620 38 9C 02 34 */ addi r4, r28, 0x234
/* 8033D9C4 00339624 4B E9 0A 89 */ bl strcmp
/* 8033D9C8 00339628 2C 03 00 00 */ cmpwi r3, 0
/* 8033D9CC 0033962C 40 82 00 20 */ bne lbl_8033D9EC
/* 8033D9D0 00339630 38 61 00 08 */ addi r3, r1, 8
/* 8033D9D4 00339634 38 9C 03 34 */ addi r4, r28, 0x334
/* 8033D9D8 00339638 4B E9 0A 75 */ bl strcmp
/* 8033D9DC 0033963C 2C 03 00 00 */ cmpwi r3, 0
/* 8033D9E0 00339640 40 82 00 0C */ bne lbl_8033D9EC
/* 8033D9E4 00339644 38 60 00 00 */ li r3, 0
/* 8033D9E8 00339648 48 00 00 BC */ b lbl_8033DAA4
lbl_8033D9EC:
/* 8033D9EC 0033964C 93 FC 02 30 */ stw r31, 0x230(r28)
/* 8033D9F0 00339650 38 7C 02 34 */ addi r3, r28, 0x234
/* 8033D9F4 00339654 38 81 01 08 */ addi r4, r1, 0x108
/* 8033D9F8 00339658 38 A0 01 00 */ li r5, 0x100
/* 8033D9FC 0033965C 48 00 A5 55 */ bl strzcpy
/* 8033DA00 00339660 38 7C 03 34 */ addi r3, r28, 0x334
/* 8033DA04 00339664 38 81 00 08 */ addi r4, r1, 8
/* 8033DA08 00339668 38 A0 01 00 */ li r5, 0x100
/* 8033DA0C 0033966C 48 00 A5 45 */ bl strzcpy
/* 8033DA10 00339670 7F C3 F3 78 */ mr r3, r30
/* 8033DA14 00339674 38 9C 02 10 */ addi r4, r28, 0x210
/* 8033DA18 00339678 38 BD 01 70 */ addi r5, r29, 0x170
/* 8033DA1C 0033967C 48 00 1A 85 */ bl gpiAppendStringToBuffer
/* 8033DA20 00339680 7F C3 F3 78 */ mr r3, r30
/* 8033DA24 00339684 7F E5 FB 78 */ mr r5, r31
/* 8033DA28 00339688 38 9C 02 10 */ addi r4, r28, 0x210
/* 8033DA2C 0033968C 48 00 1A D1 */ bl gpiAppendIntToBuffer
/* 8033DA30 00339690 7F C3 F3 78 */ mr r3, r30
/* 8033DA34 00339694 38 9C 02 10 */ addi r4, r28, 0x210
/* 8033DA38 00339698 38 BD 00 F4 */ addi r5, r29, 0xf4
/* 8033DA3C 0033969C 48 00 1A 65 */ bl gpiAppendStringToBuffer
/* 8033DA40 003396A0 80 BC 01 98 */ lwz r5, 0x198(r28)
/* 8033DA44 003396A4 7F C3 F3 78 */ mr r3, r30
/* 8033DA48 003396A8 38 9C 02 10 */ addi r4, r28, 0x210
/* 8033DA4C 003396AC 48 00 1A B1 */ bl gpiAppendIntToBuffer
/* 8033DA50 003396B0 7F C3 F3 78 */ mr r3, r30
/* 8033DA54 003396B4 38 9C 02 10 */ addi r4, r28, 0x210
/* 8033DA58 003396B8 38 BD 01 7C */ addi r5, r29, 0x17c
/* 8033DA5C 003396BC 48 00 1A 45 */ bl gpiAppendStringToBuffer
/* 8033DA60 003396C0 7F C3 F3 78 */ mr r3, r30
/* 8033DA64 003396C4 38 9C 02 10 */ addi r4, r28, 0x210
/* 8033DA68 003396C8 38 A1 01 08 */ addi r5, r1, 0x108
/* 8033DA6C 003396CC 48 00 1A 35 */ bl gpiAppendStringToBuffer
/* 8033DA70 003396D0 7F C3 F3 78 */ mr r3, r30
/* 8033DA74 003396D4 38 9C 02 10 */ addi r4, r28, 0x210
/* 8033DA78 003396D8 38 BD 01 8C */ addi r5, r29, 0x18c
/* 8033DA7C 003396DC 48 00 1A 25 */ bl gpiAppendStringToBuffer
/* 8033DA80 003396E0 7F C3 F3 78 */ mr r3, r30
/* 8033DA84 003396E4 38 9C 02 10 */ addi r4, r28, 0x210
/* 8033DA88 003396E8 38 A1 00 08 */ addi r5, r1, 8
/* 8033DA8C 003396EC 48 00 1A 15 */ bl gpiAppendStringToBuffer
/* 8033DA90 003396F0 7F C3 F3 78 */ mr r3, r30
/* 8033DA94 003396F4 38 9C 02 10 */ addi r4, r28, 0x210
/* 8033DA98 003396F8 38 AD 8F 48 */ addi r5, r13, lbl_8063E208-_SDA_BASE_
/* 8033DA9C 003396FC 48 00 1A 05 */ bl gpiAppendStringToBuffer
/* 8033DAA0 00339700 38 60 00 00 */ li r3, 0
lbl_8033DAA4:
/* 8033DAA4 00339704 39 61 02 20 */ addi r11, r1, 0x220
/* 8033DAA8 00339708 4B E8 96 CD */ bl _restgpr_27
/* 8033DAAC 0033970C 80 01 02 24 */ lwz r0, 0x224(r1)
/* 8033DAB0 00339710 7C 08 03 A6 */ mtlr r0
/* 8033DAB4 00339714 38 21 02 20 */ addi r1, r1, 0x220
/* 8033DAB8 00339718 4E 80 00 20 */ blr
.global gpSendBuddyMessageA
gpSendBuddyMessageA:
/* 8033DABC 0033971C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033DAC0 00339720 7C 08 02 A6 */ mflr r0
/* 8033DAC4 00339724 2C 03 00 00 */ cmpwi r3, 0
/* 8033DAC8 00339728 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033DACC 0033972C 41 82 00 10 */ beq lbl_8033DADC
/* 8033DAD0 00339730 80 C3 00 00 */ lwz r6, 0(r3)
/* 8033DAD4 00339734 2C 06 00 00 */ cmpwi r6, 0
/* 8033DAD8 00339738 40 82 00 0C */ bne lbl_8033DAE4
lbl_8033DADC:
/* 8033DADC 0033973C 38 60 00 02 */ li r3, 2
/* 8033DAE0 00339740 48 00 00 64 */ b lbl_8033DB44
lbl_8033DAE4:
/* 8033DAE4 00339744 80 06 01 08 */ lwz r0, 0x108(r6)
/* 8033DAE8 00339748 2C 00 00 00 */ cmpwi r0, 0
/* 8033DAEC 0033974C 41 82 00 0C */ beq lbl_8033DAF8
/* 8033DAF0 00339750 38 60 00 00 */ li r3, 0
/* 8033DAF4 00339754 48 00 00 50 */ b lbl_8033DB44
lbl_8033DAF8:
/* 8033DAF8 00339758 80 06 01 F4 */ lwz r0, 0x1f4(r6)
/* 8033DAFC 0033975C 2C 00 00 04 */ cmpwi r0, 4
/* 8033DB00 00339760 40 82 00 18 */ bne lbl_8033DB18
/* 8033DB04 00339764 3C 80 80 45 */ lis r4, lbl_8044A4DC@ha
/* 8033DB08 00339768 38 84 A4 DC */ addi r4, r4, lbl_8044A4DC@l
/* 8033DB0C 0033976C 48 00 A9 4D */ bl gpiSetErrorString
/* 8033DB10 00339770 38 60 00 02 */ li r3, 2
/* 8033DB14 00339774 48 00 00 30 */ b lbl_8033DB44
lbl_8033DB18:
/* 8033DB18 00339778 2C 05 00 00 */ cmpwi r5, 0
/* 8033DB1C 0033977C 40 82 00 18 */ bne lbl_8033DB34
/* 8033DB20 00339780 3C 80 80 45 */ lis r4, lbl_8044A5F0@ha
/* 8033DB24 00339784 38 84 A5 F0 */ addi r4, r4, lbl_8044A5F0@l
/* 8033DB28 00339788 48 00 A9 31 */ bl gpiSetErrorString
/* 8033DB2C 0033978C 38 60 00 02 */ li r3, 2
/* 8033DB30 00339790 48 00 00 14 */ b lbl_8033DB44
lbl_8033DB34:
/* 8033DB34 00339794 7C A6 2B 78 */ mr r6, r5
/* 8033DB38 00339798 38 A0 00 01 */ li r5, 1
/* 8033DB3C 0033979C 38 E0 00 00 */ li r7, 0
/* 8033DB40 003397A0 48 00 13 91 */ bl gpiSendBuddyMessage
lbl_8033DB44:
/* 8033DB44 003397A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033DB48 003397A8 7C 08 03 A6 */ mtlr r0
/* 8033DB4C 003397AC 38 21 00 10 */ addi r1, r1, 0x10
/* 8033DB50 003397B0 4E 80 00 20 */ blr
lbl_8033DB54:
/* 8033DB54 003397B4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8033DB58 003397B8 7C 08 02 A6 */ mflr r0
/* 8033DB5C 003397BC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8033DB60 003397C0 39 61 00 30 */ addi r11, r1, 0x30
/* 8033DB64 003397C4 4B E8 95 C5 */ bl _savegpr_27
/* 8033DB68 003397C8 3B E0 00 00 */ li r31, 0
/* 8033DB6C 003397CC 7C 7E 1B 78 */ mr r30, r3
/* 8033DB70 003397D0 93 E3 00 00 */ stw r31, 0(r3)
/* 8033DB74 003397D4 7C 9B 23 78 */ mr r27, r4
/* 8033DB78 003397D8 7C BC 2B 78 */ mr r28, r5
/* 8033DB7C 003397DC 7C DD 33 78 */ mr r29, r6
/* 8033DB80 003397E0 38 60 04 A8 */ li r3, 0x4a8
/* 8033DB84 003397E4 4B FF B7 91 */ bl gsimalloc
/* 8033DB88 003397E8 2C 03 00 00 */ cmpwi r3, 0
/* 8033DB8C 003397EC 90 61 00 08 */ stw r3, 8(r1)
/* 8033DB90 003397F0 40 82 00 0C */ bne lbl_8033DB9C
/* 8033DB94 003397F4 38 60 00 01 */ li r3, 1
/* 8033DB98 003397F8 48 00 01 68 */ b lbl_8033DD00
lbl_8033DB9C:
/* 8033DB9C 003397FC 38 80 00 00 */ li r4, 0
/* 8033DBA0 00339800 38 A0 04 A8 */ li r5, 0x4a8
/* 8033DBA4 00339804 4B CC 65 61 */ bl memset
/* 8033DBA8 00339808 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DBAC 0033980C 38 00 00 01 */ li r0, 1
/* 8033DBB0 00339810 38 61 00 08 */ addi r3, r1, 8
/* 8033DBB4 00339814 9B E4 00 00 */ stb r31, 0(r4)
/* 8033DBB8 00339818 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DBBC 0033981C 93 E4 04 34 */ stw r31, 0x434(r4)
/* 8033DBC0 00339820 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DBC4 00339824 90 04 01 00 */ stw r0, 0x100(r4)
/* 8033DBC8 00339828 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DBCC 0033982C 93 E4 01 04 */ stw r31, 0x104(r4)
/* 8033DBD0 00339830 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DBD4 00339834 93 E4 01 08 */ stw r31, 0x108(r4)
/* 8033DBD8 00339838 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DBDC 0033983C 93 E4 01 0C */ stw r31, 0x10c(r4)
/* 8033DBE0 00339840 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DBE4 00339844 93 64 04 84 */ stw r27, 0x484(r4)
/* 8033DBE8 00339848 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DBEC 0033984C 93 84 04 88 */ stw r28, 0x488(r4)
/* 8033DBF0 00339850 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DBF4 00339854 93 A4 01 A4 */ stw r29, 0x1a4(r4)
/* 8033DBF8 00339858 48 00 7A 15 */ bl gpiInitProfiles
/* 8033DBFC 0033985C 2C 03 00 00 */ cmpwi r3, 0
/* 8033DC00 00339860 40 82 00 14 */ bne lbl_8033DC14
/* 8033DC04 00339864 80 61 00 08 */ lwz r3, 8(r1)
/* 8033DC08 00339868 4B FF B7 31 */ bl gsifree
/* 8033DC0C 0033986C 38 60 00 01 */ li r3, 1
/* 8033DC10 00339870 48 00 00 F0 */ b lbl_8033DD00
lbl_8033DC14:
/* 8033DC14 00339874 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC18 00339878 38 61 00 08 */ addi r3, r1, 8
/* 8033DC1C 0033987C 93 E4 04 3C */ stw r31, 0x43c(r4)
/* 8033DC20 00339880 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC24 00339884 93 E4 01 A8 */ stw r31, 0x1a8(r4)
/* 8033DC28 00339888 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC2C 0033988C 93 E4 01 AC */ stw r31, 0x1ac(r4)
/* 8033DC30 00339890 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC34 00339894 93 E4 01 B0 */ stw r31, 0x1b0(r4)
/* 8033DC38 00339898 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC3C 0033989C 93 E4 01 B4 */ stw r31, 0x1b4(r4)
/* 8033DC40 003398A0 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC44 003398A4 93 E4 01 B8 */ stw r31, 0x1b8(r4)
/* 8033DC48 003398A8 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC4C 003398AC 93 E4 01 BC */ stw r31, 0x1bc(r4)
/* 8033DC50 003398B0 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC54 003398B4 93 E4 01 C0 */ stw r31, 0x1c0(r4)
/* 8033DC58 003398B8 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC5C 003398BC 93 E4 01 C4 */ stw r31, 0x1c4(r4)
/* 8033DC60 003398C0 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC64 003398C4 93 E4 01 C8 */ stw r31, 0x1c8(r4)
/* 8033DC68 003398C8 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC6C 003398CC 93 E4 01 CC */ stw r31, 0x1cc(r4)
/* 8033DC70 003398D0 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC74 003398D4 93 E4 01 D0 */ stw r31, 0x1d0(r4)
/* 8033DC78 003398D8 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC7C 003398DC 93 E4 01 D4 */ stw r31, 0x1d4(r4)
/* 8033DC80 003398E0 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC84 003398E4 93 E4 01 D8 */ stw r31, 0x1d8(r4)
/* 8033DC88 003398E8 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC8C 003398EC 93 E4 01 DC */ stw r31, 0x1dc(r4)
/* 8033DC90 003398F0 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC94 003398F4 93 E4 01 E0 */ stw r31, 0x1e0(r4)
/* 8033DC98 003398F8 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DC9C 003398FC 93 E4 01 E4 */ stw r31, 0x1e4(r4)
/* 8033DCA0 00339900 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DCA4 00339904 93 E4 01 E8 */ stw r31, 0x1e8(r4)
/* 8033DCA8 00339908 80 81 00 08 */ lwz r4, 8(r1)
/* 8033DCAC 0033990C 93 E4 01 EC */ stw r31, 0x1ec(r4)
/* 8033DCB0 00339910 48 00 00 D9 */ bl gpiReset
/* 8033DCB4 00339914 2C 03 00 00 */ cmpwi r3, 0
/* 8033DCB8 00339918 7C 7F 1B 78 */ mr r31, r3
/* 8033DCBC 0033991C 41 82 00 2C */ beq lbl_8033DCE8
/* 8033DCC0 00339920 83 C1 00 08 */ lwz r30, 8(r1)
/* 8033DCC4 00339924 38 61 00 08 */ addi r3, r1, 8
/* 8033DCC8 00339928 38 80 00 01 */ li r4, 1
/* 8033DCCC 0033992C 48 00 38 55 */ bl gpiDisconnect
/* 8033DCD0 00339930 80 7E 04 44 */ lwz r3, 0x444(r30)
/* 8033DCD4 00339934 4B FF 8B F9 */ bl TableFree
/* 8033DCD8 00339938 7F C3 F3 78 */ mr r3, r30
/* 8033DCDC 0033993C 4B FF B6 5D */ bl gsifree
/* 8033DCE0 00339940 7F E3 FB 78 */ mr r3, r31
/* 8033DCE4 00339944 48 00 00 1C */ b lbl_8033DD00
lbl_8033DCE8:
/* 8033DCE8 00339948 4B FF B2 E9 */ bl SocketStartUp
/* 8033DCEC 0033994C 4B FF B2 ED */ bl current_time
/* 8033DCF0 00339950 4B E8 F0 6D */ bl srand
/* 8033DCF4 00339954 80 01 00 08 */ lwz r0, 8(r1)
/* 8033DCF8 00339958 38 60 00 00 */ li r3, 0
/* 8033DCFC 0033995C 90 1E 00 00 */ stw r0, 0(r30)
lbl_8033DD00:
/* 8033DD00 00339960 39 61 00 30 */ addi r11, r1, 0x30
/* 8033DD04 00339964 4B E8 94 71 */ bl _restgpr_27
/* 8033DD08 00339968 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8033DD0C 0033996C 7C 08 03 A6 */ mtlr r0
/* 8033DD10 00339970 38 21 00 30 */ addi r1, r1, 0x30
/* 8033DD14 00339974 4E 80 00 20 */ blr
lbl_8033DD18:
/* 8033DD18 00339978 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033DD1C 0033997C 7C 08 02 A6 */ mflr r0
/* 8033DD20 00339980 38 80 00 01 */ li r4, 1
/* 8033DD24 00339984 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033DD28 00339988 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033DD2C 0033998C 93 C1 00 08 */ stw r30, 8(r1)
/* 8033DD30 00339990 7C 7E 1B 78 */ mr r30, r3
/* 8033DD34 00339994 83 E3 00 00 */ lwz r31, 0(r3)
/* 8033DD38 00339998 48 00 37 E9 */ bl gpiDisconnect
/* 8033DD3C 0033999C 80 7F 04 44 */ lwz r3, 0x444(r31)
/* 8033DD40 003399A0 4B FF 8B 8D */ bl TableFree
/* 8033DD44 003399A4 7F E3 FB 78 */ mr r3, r31
/* 8033DD48 003399A8 4B FF B5 F1 */ bl gsifree
/* 8033DD4C 003399AC 38 00 00 00 */ li r0, 0
/* 8033DD50 003399B0 90 1E 00 00 */ stw r0, 0(r30)
/* 8033DD54 003399B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8033DD58 003399B8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8033DD5C 003399BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033DD60 003399C0 7C 08 03 A6 */ mtlr r0
/* 8033DD64 003399C4 38 21 00 10 */ addi r1, r1, 0x10
/* 8033DD68 003399C8 4E 80 00 20 */ blr
|