summaryrefslogtreecommitdiff
path: root/asm/SDK/DWC/gamespy/gpiConnect.s
blob: 9d06f2052512d589bd0c16742c8dd5f7e78e93e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
.include "macros.inc"

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

.global gpiStartConnect
gpiStartConnect:
/* 80340120 0033BD80  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80340124 0033BD84  7C 08 02 A6 */	mflr r0
/* 80340128 0033BD88  90 01 00 34 */	stw r0, 0x34(r1)
/* 8034012C 0033BD8C  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 80340130 0033BD90  3F E0 80 45 */	lis r31, lbl_8044A820@ha
/* 80340134 0033BD94  3B FF A8 20 */	addi r31, r31, lbl_8044A820@l
/* 80340138 0033BD98  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8034013C 0033BD9C  93 A1 00 24 */	stw r29, 0x24(r1)
/* 80340140 0033BDA0  7C 9D 23 78 */	mr r29, r4
/* 80340144 0033BDA4  93 81 00 20 */	stw r28, 0x20(r1)
/* 80340148 0033BDA8  7C 7C 1B 78 */	mr r28, r3
/* 8034014C 0033BDAC  83 C3 00 00 */	lwz r30, 0(r3)
/* 80340150 0033BDB0  80 1E 01 0C */	lwz r0, 0x10c(r30)
/* 80340154 0033BDB4  2C 00 00 00 */	cmpwi r0, 0
/* 80340158 0033BDB8  40 82 01 68 */	bne lbl_803402C0
/* 8034015C 0033BDBC  38 60 00 02 */	li r3, 2
/* 80340160 0033BDC0  38 80 00 01 */	li r4, 1
/* 80340164 0033BDC4  38 A0 00 00 */	li r5, 0
/* 80340168 0033BDC8  4B FF 7A 5D */	bl socket
/* 8034016C 0033BDCC  2C 03 FF FF */	cmpwi r3, -1
/* 80340170 0033BDD0  90 7E 02 20 */	stw r3, 0x220(r30)
/* 80340174 0033BDD4  40 82 00 2C */	bne lbl_803401A0
/* 80340178 0033BDD8  7F 83 E3 78 */	mr r3, r28
/* 8034017C 0033BDDC  38 BF 00 40 */	addi r5, r31, 0x40
/* 80340180 0033BDE0  38 80 00 05 */	li r4, 5
/* 80340184 0033BDE4  48 00 82 85 */	bl gpiSetError
/* 80340188 0033BDE8  7F 83 E3 78 */	mr r3, r28
/* 8034018C 0033BDEC  38 80 00 03 */	li r4, 3
/* 80340190 0033BDF0  38 A0 00 01 */	li r5, 1
/* 80340194 0033BDF4  4B FF FA D5 */	bl gpiCallErrorCallback
/* 80340198 0033BDF8  38 60 00 03 */	li r3, 3
/* 8034019C 0033BDFC  48 00 02 B0 */	b lbl_8034044C
lbl_803401A0:
/* 803401A0 0033BE00  38 80 00 00 */	li r4, 0
/* 803401A4 0033BE04  4B FF 84 B1 */	bl SetSockBlocking
/* 803401A8 0033BE08  2C 03 00 00 */	cmpwi r3, 0
/* 803401AC 0033BE0C  40 82 00 2C */	bne lbl_803401D8
/* 803401B0 0033BE10  7F 83 E3 78 */	mr r3, r28
/* 803401B4 0033BE14  38 BF 00 68 */	addi r5, r31, 0x68
/* 803401B8 0033BE18  38 80 00 05 */	li r4, 5
/* 803401BC 0033BE1C  48 00 82 4D */	bl gpiSetError
/* 803401C0 0033BE20  7F 83 E3 78 */	mr r3, r28
/* 803401C4 0033BE24  38 80 00 03 */	li r4, 3
/* 803401C8 0033BE28  38 A0 00 01 */	li r5, 1
/* 803401CC 0033BE2C  4B FF FA 9D */	bl gpiCallErrorCallback
/* 803401D0 0033BE30  38 60 00 03 */	li r3, 3
/* 803401D4 0033BE34  48 00 02 78 */	b lbl_8034044C
lbl_803401D8:
/* 803401D8 0033BE38  38 61 00 10 */	addi r3, r1, 0x10
/* 803401DC 0033BE3C  38 80 00 00 */	li r4, 0
/* 803401E0 0033BE40  38 A0 00 08 */	li r5, 8
/* 803401E4 0033BE44  4B CC 3F 21 */	bl memset
/* 803401E8 0033BE48  38 00 00 02 */	li r0, 2
/* 803401EC 0033BE4C  38 81 00 10 */	addi r4, r1, 0x10
/* 803401F0 0033BE50  98 01 00 11 */	stb r0, 0x11(r1)
/* 803401F4 0033BE54  38 A0 00 08 */	li r5, 8
/* 803401F8 0033BE58  80 7E 02 20 */	lwz r3, 0x220(r30)
/* 803401FC 0033BE5C  4B FF 7A 69 */	bl bind
/* 80340200 0033BE60  2C 03 FF FF */	cmpwi r3, -1
/* 80340204 0033BE64  40 82 00 2C */	bne lbl_80340230
/* 80340208 0033BE68  7F 83 E3 78 */	mr r3, r28
/* 8034020C 0033BE6C  38 BF 00 9C */	addi r5, r31, 0x9c
/* 80340210 0033BE70  38 80 00 05 */	li r4, 5
/* 80340214 0033BE74  48 00 81 F5 */	bl gpiSetError
/* 80340218 0033BE78  7F 83 E3 78 */	mr r3, r28
/* 8034021C 0033BE7C  38 80 00 03 */	li r4, 3
/* 80340220 0033BE80  38 A0 00 01 */	li r5, 1
/* 80340224 0033BE84  4B FF FA 45 */	bl gpiCallErrorCallback
/* 80340228 0033BE88  38 60 00 03 */	li r3, 3
/* 8034022C 0033BE8C  48 00 02 20 */	b lbl_8034044C
lbl_80340230:
/* 80340230 0033BE90  80 7E 02 20 */	lwz r3, 0x220(r30)
/* 80340234 0033BE94  38 80 00 05 */	li r4, 5
/* 80340238 0033BE98  4B FF 7B 09 */	bl listen
/* 8034023C 0033BE9C  2C 03 FF FF */	cmpwi r3, -1
/* 80340240 0033BEA0  40 82 00 2C */	bne lbl_8034026C
/* 80340244 0033BEA4  7F 83 E3 78 */	mr r3, r28
/* 80340248 0033BEA8  38 BF 00 C4 */	addi r5, r31, 0xc4
/* 8034024C 0033BEAC  38 80 00 05 */	li r4, 5
/* 80340250 0033BEB0  48 00 81 B9 */	bl gpiSetError
/* 80340254 0033BEB4  7F 83 E3 78 */	mr r3, r28
/* 80340258 0033BEB8  38 80 00 03 */	li r4, 3
/* 8034025C 0033BEBC  38 A0 00 01 */	li r5, 1
/* 80340260 0033BEC0  4B FF FA 09 */	bl gpiCallErrorCallback
/* 80340264 0033BEC4  38 60 00 03 */	li r3, 3
/* 80340268 0033BEC8  48 00 01 E4 */	b lbl_8034044C
lbl_8034026C:
/* 8034026C 0033BECC  38 00 00 08 */	li r0, 8
/* 80340270 0033BED0  38 81 00 10 */	addi r4, r1, 0x10
/* 80340274 0033BED4  90 01 00 08 */	stw r0, 8(r1)
/* 80340278 0033BED8  38 A1 00 08 */	addi r5, r1, 8
/* 8034027C 0033BEDC  80 7E 02 20 */	lwz r3, 0x220(r30)
/* 80340280 0033BEE0  4B FF 7C 95 */	bl getsockname
/* 80340284 0033BEE4  2C 03 FF FF */	cmpwi r3, -1
/* 80340288 0033BEE8  40 82 00 2C */	bne lbl_803402B4
/* 8034028C 0033BEEC  7F 83 E3 78 */	mr r3, r28
/* 80340290 0033BEF0  38 BF 00 F0 */	addi r5, r31, 0xf0
/* 80340294 0033BEF4  38 80 00 05 */	li r4, 5
/* 80340298 0033BEF8  48 00 81 71 */	bl gpiSetError
/* 8034029C 0033BEFC  7F 83 E3 78 */	mr r3, r28
/* 803402A0 0033BF00  38 80 00 03 */	li r4, 3
/* 803402A4 0033BF04  38 A0 00 01 */	li r5, 1
/* 803402A8 0033BF08  4B FF F9 C1 */	bl gpiCallErrorCallback
/* 803402AC 0033BF0C  38 60 00 03 */	li r3, 3
/* 803402B0 0033BF10  48 00 01 9C */	b lbl_8034044C
lbl_803402B4:
/* 803402B4 0033BF14  A0 01 00 12 */	lhz r0, 0x12(r1)
/* 803402B8 0033BF18  90 1E 02 24 */	stw r0, 0x224(r30)
/* 803402BC 0033BF1C  48 00 00 14 */	b lbl_803402D0
lbl_803402C0:
/* 803402C0 0033BF20  38 60 FF FF */	li r3, -1
/* 803402C4 0033BF24  38 00 00 00 */	li r0, 0
/* 803402C8 0033BF28  90 7E 02 20 */	stw r3, 0x220(r30)
/* 803402CC 0033BF2C  90 1E 02 24 */	stw r0, 0x224(r30)
lbl_803402D0:
/* 803402D0 0033BF30  38 60 00 02 */	li r3, 2
/* 803402D4 0033BF34  38 80 00 01 */	li r4, 1
/* 803402D8 0033BF38  38 A0 00 00 */	li r5, 0
/* 803402DC 0033BF3C  4B FF 78 E9 */	bl socket
/* 803402E0 0033BF40  2C 03 FF FF */	cmpwi r3, -1
/* 803402E4 0033BF44  90 7E 01 F0 */	stw r3, 0x1f0(r30)
/* 803402E8 0033BF48  40 82 00 2C */	bne lbl_80340314
/* 803402EC 0033BF4C  7F 83 E3 78 */	mr r3, r28
/* 803402F0 0033BF50  38 BF 00 40 */	addi r5, r31, 0x40
/* 803402F4 0033BF54  38 80 00 05 */	li r4, 5
/* 803402F8 0033BF58  48 00 81 11 */	bl gpiSetError
/* 803402FC 0033BF5C  7F 83 E3 78 */	mr r3, r28
/* 80340300 0033BF60  38 80 00 03 */	li r4, 3
/* 80340304 0033BF64  38 A0 00 01 */	li r5, 1
/* 80340308 0033BF68  4B FF F9 61 */	bl gpiCallErrorCallback
/* 8034030C 0033BF6C  38 60 00 03 */	li r3, 3
/* 80340310 0033BF70  48 00 01 3C */	b lbl_8034044C
lbl_80340314:
/* 80340314 0033BF74  38 80 00 00 */	li r4, 0
/* 80340318 0033BF78  4B FF 83 3D */	bl SetSockBlocking
/* 8034031C 0033BF7C  2C 03 00 00 */	cmpwi r3, 0
/* 80340320 0033BF80  40 82 00 2C */	bne lbl_8034034C
/* 80340324 0033BF84  7F 83 E3 78 */	mr r3, r28
/* 80340328 0033BF88  38 BF 00 68 */	addi r5, r31, 0x68
/* 8034032C 0033BF8C  38 80 00 05 */	li r4, 5
/* 80340330 0033BF90  48 00 80 D9 */	bl gpiSetError
/* 80340334 0033BF94  7F 83 E3 78 */	mr r3, r28
/* 80340338 0033BF98  38 80 00 03 */	li r4, 3
/* 8034033C 0033BF9C  38 A0 00 01 */	li r5, 1
/* 80340340 0033BFA0  4B FF F9 29 */	bl gpiCallErrorCallback
/* 80340344 0033BFA4  38 60 00 03 */	li r3, 3
/* 80340348 0033BFA8  48 00 01 04 */	b lbl_8034044C
lbl_8034034C:
/* 8034034C 0033BFAC  38 61 00 10 */	addi r3, r1, 0x10
/* 80340350 0033BFB0  38 80 00 00 */	li r4, 0
/* 80340354 0033BFB4  38 A0 00 08 */	li r5, 8
/* 80340358 0033BFB8  4B CC 3D AD */	bl memset
/* 8034035C 0033BFBC  38 00 00 02 */	li r0, 2
/* 80340360 0033BFC0  38 7F 00 00 */	addi r3, r31, 0
/* 80340364 0033BFC4  98 01 00 11 */	stb r0, 0x11(r1)
/* 80340368 0033BFC8  4B FF 7C 09 */	bl inet_addr
/* 8034036C 0033BFCC  3C 03 00 01 */	addis r0, r3, 1
/* 80340370 0033BFD0  28 00 FF FF */	cmplwi r0, 0xffff
/* 80340374 0033BFD4  40 82 00 50 */	bne lbl_803403C4
/* 80340378 0033BFD8  38 7F 00 00 */	addi r3, r31, 0
/* 8034037C 0033BFDC  4B FF 7D 5D */	bl gethostbyname
/* 80340380 0033BFE0  2C 03 00 00 */	cmpwi r3, 0
/* 80340384 0033BFE4  40 82 00 2C */	bne lbl_803403B0
/* 80340388 0033BFE8  7F 83 E3 78 */	mr r3, r28
/* 8034038C 0033BFEC  38 BF 01 20 */	addi r5, r31, 0x120
/* 80340390 0033BFF0  38 80 00 05 */	li r4, 5
/* 80340394 0033BFF4  48 00 80 75 */	bl gpiSetError
/* 80340398 0033BFF8  7F 83 E3 78 */	mr r3, r28
/* 8034039C 0033BFFC  38 80 00 03 */	li r4, 3
/* 803403A0 0033C000  38 A0 00 01 */	li r5, 1
/* 803403A4 0033C004  4B FF F8 C5 */	bl gpiCallErrorCallback
/* 803403A8 0033C008  38 60 00 03 */	li r3, 3
/* 803403AC 0033C00C  48 00 00 A0 */	b lbl_8034044C
lbl_803403B0:
/* 803403B0 0033C010  80 63 00 0C */	lwz r3, 0xc(r3)
/* 803403B4 0033C014  80 63 00 00 */	lwz r3, 0(r3)
/* 803403B8 0033C018  80 03 00 00 */	lwz r0, 0(r3)
/* 803403BC 0033C01C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803403C0 0033C020  48 00 00 10 */	b lbl_803403D0
lbl_803403C4:
/* 803403C4 0033C024  38 7F 00 00 */	addi r3, r31, 0
/* 803403C8 0033C028  4B FF 7B A9 */	bl inet_addr
/* 803403CC 0033C02C  90 61 00 14 */	stw r3, 0x14(r1)
lbl_803403D0:
/* 803403D0 0033C030  38 60 74 CC */	li r3, 0x74cc
/* 803403D4 0033C034  4B FB 69 A9 */	bl SOHtoNs
/* 803403D8 0033C038  B0 61 00 12 */	sth r3, 0x12(r1)
/* 803403DC 0033C03C  38 81 00 10 */	addi r4, r1, 0x10
/* 803403E0 0033C040  38 A0 00 08 */	li r5, 8
/* 803403E4 0033C044  80 7E 01 F0 */	lwz r3, 0x1f0(r30)
/* 803403E8 0033C048  4B FF 78 F5 */	bl connect
/* 803403EC 0033C04C  2C 03 FF FF */	cmpwi r3, -1
/* 803403F0 0033C050  40 82 00 4C */	bne lbl_8034043C
/* 803403F4 0033C054  80 7E 01 F0 */	lwz r3, 0x1f0(r30)
/* 803403F8 0033C058  4B FF 7B B1 */	bl GOAGetLastError
/* 803403FC 0033C05C  2C 03 FF FA */	cmpwi r3, -6
/* 80340400 0033C060  41 82 00 3C */	beq lbl_8034043C
/* 80340404 0033C064  2C 03 FF E6 */	cmpwi r3, -26
/* 80340408 0033C068  41 82 00 34 */	beq lbl_8034043C
/* 8034040C 0033C06C  2C 03 FF B4 */	cmpwi r3, -76
/* 80340410 0033C070  41 82 00 2C */	beq lbl_8034043C
/* 80340414 0033C074  7F 83 E3 78 */	mr r3, r28
/* 80340418 0033C078  38 BF 01 58 */	addi r5, r31, 0x158
/* 8034041C 0033C07C  38 80 00 05 */	li r4, 5
/* 80340420 0033C080  48 00 7F E9 */	bl gpiSetError
/* 80340424 0033C084  7F 83 E3 78 */	mr r3, r28
/* 80340428 0033C088  38 80 00 03 */	li r4, 3
/* 8034042C 0033C08C  38 A0 00 01 */	li r5, 1
/* 80340430 0033C090  4B FF F8 39 */	bl gpiCallErrorCallback
/* 80340434 0033C094  38 60 00 03 */	li r3, 3
/* 80340438 0033C098  48 00 00 14 */	b lbl_8034044C
lbl_8034043C:
/* 8034043C 0033C09C  38 00 00 01 */	li r0, 1
/* 80340440 0033C0A0  38 60 00 00 */	li r3, 0
/* 80340444 0033C0A4  90 1D 00 14 */	stw r0, 0x14(r29)
/* 80340448 0033C0A8  90 1E 01 F4 */	stw r0, 0x1f4(r30)
lbl_8034044C:
/* 8034044C 0033C0AC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80340450 0033C0B0  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80340454 0033C0B4  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80340458 0033C0B8  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 8034045C 0033C0BC  83 81 00 20 */	lwz r28, 0x20(r1)
/* 80340460 0033C0C0  7C 08 03 A6 */	mtlr r0
/* 80340464 0033C0C4  38 21 00 30 */	addi r1, r1, 0x30
/* 80340468 0033C0C8  4E 80 00 20 */	blr

.global gpiConnect
gpiConnect:
/* 8034046C 0033C0CC  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 80340470 0033C0D0  7C 08 02 A6 */	mflr r0
/* 80340474 0033C0D4  90 01 00 54 */	stw r0, 0x54(r1)
/* 80340478 0033C0D8  39 61 00 50 */	addi r11, r1, 0x50
/* 8034047C 0033C0DC  4B E8 6C 85 */	bl _savegpr_17
/* 80340480 0033C0E0  83 C3 00 00 */	lwz r30, 0(r3)
/* 80340484 0033C0E4  3F E0 80 45 */	lis r31, lbl_8044A820@ha
/* 80340488 0033C0E8  82 21 00 58 */	lwz r17, 0x58(r1)
/* 8034048C 0033C0EC  7C 72 1B 78 */	mr r18, r3
/* 80340490 0033C0F0  80 1E 01 F4 */	lwz r0, 0x1f4(r30)
/* 80340494 0033C0F4  7C 93 23 78 */	mr r19, r4
/* 80340498 0033C0F8  83 41 00 5C */	lwz r26, 0x5c(r1)
/* 8034049C 0033C0FC  7C B4 2B 78 */	mr r20, r5
/* 803404A0 0033C100  2C 00 00 04 */	cmpwi r0, 4
/* 803404A4 0033C104  83 61 00 60 */	lwz r27, 0x60(r1)
/* 803404A8 0033C108  83 81 00 64 */	lwz r28, 0x64(r1)
/* 803404AC 0033C10C  7C D5 33 78 */	mr r21, r6
/* 803404B0 0033C110  83 A1 00 68 */	lwz r29, 0x68(r1)
/* 803404B4 0033C114  7C F6 3B 78 */	mr r22, r7
/* 803404B8 0033C118  7D 17 43 78 */	mr r23, r8
/* 803404BC 0033C11C  7D 38 4B 78 */	mr r24, r9
/* 803404C0 0033C120  7D 59 53 78 */	mr r25, r10
/* 803404C4 0033C124  3B FF A8 20 */	addi r31, r31, lbl_8044A820@l
/* 803404C8 0033C128  40 82 00 14 */	bne lbl_803404DC
/* 803404CC 0033C12C  4B FF D8 BD */	bl gpiReset
/* 803404D0 0033C130  2C 03 00 00 */	cmpwi r3, 0
/* 803404D4 0033C134  41 82 00 08 */	beq lbl_803404DC
/* 803404D8 0033C138  48 00 01 D0 */	b lbl_803406A8
lbl_803404DC:
/* 803404DC 0033C13C  80 1E 01 F4 */	lwz r0, 0x1f4(r30)
/* 803404E0 0033C140  2C 00 00 00 */	cmpwi r0, 0
/* 803404E4 0033C144  41 82 00 18 */	beq lbl_803404FC
/* 803404E8 0033C148  7E 43 93 78 */	mr r3, r18
/* 803404EC 0033C14C  38 9F 01 80 */	addi r4, r31, 0x180
/* 803404F0 0033C150  48 00 7F 69 */	bl gpiSetErrorString
/* 803404F4 0033C154  38 60 00 02 */	li r3, 2
/* 803404F8 0033C158  48 00 01 B0 */	b lbl_803406A8
lbl_803404FC:
/* 803404FC 0033C15C  2C 11 00 01 */	cmpwi r17, 1
/* 80340500 0033C160  41 82 00 14 */	beq lbl_80340514
/* 80340504 0033C164  40 80 00 28 */	bge lbl_8034052C
/* 80340508 0033C168  2C 11 00 00 */	cmpwi r17, 0
/* 8034050C 0033C16C  40 80 00 14 */	bge lbl_80340520
/* 80340510 0033C170  48 00 00 1C */	b lbl_8034052C
lbl_80340514:
/* 80340514 0033C174  38 00 00 01 */	li r0, 1
/* 80340518 0033C178  90 1E 01 0C */	stw r0, 0x10c(r30)
/* 8034051C 0033C17C  48 00 00 24 */	b lbl_80340540
lbl_80340520:
/* 80340520 0033C180  38 00 00 00 */	li r0, 0
/* 80340524 0033C184  90 1E 01 0C */	stw r0, 0x10c(r30)
/* 80340528 0033C188  48 00 00 18 */	b lbl_80340540
lbl_8034052C:
/* 8034052C 0033C18C  7E 43 93 78 */	mr r3, r18
/* 80340530 0033C190  38 9F 01 94 */	addi r4, r31, 0x194
/* 80340534 0033C194  48 00 7F 25 */	bl gpiSetErrorString
/* 80340538 0033C198  38 60 00 02 */	li r3, 2
/* 8034053C 0033C19C  48 00 01 6C */	b lbl_803406A8
lbl_80340540:
/* 80340540 0033C1A0  7E 64 9B 78 */	mr r4, r19
/* 80340544 0033C1A4  38 7E 01 10 */	addi r3, r30, 0x110
/* 80340548 0033C1A8  38 A0 00 1F */	li r5, 0x1f
/* 8034054C 0033C1AC  48 00 7A 05 */	bl strzcpy
/* 80340550 0033C1B0  7E 84 A3 78 */	mr r4, r20
/* 80340554 0033C1B4  38 7E 01 2F */	addi r3, r30, 0x12f
/* 80340558 0033C1B8  38 A0 00 15 */	li r5, 0x15
/* 8034055C 0033C1BC  48 00 79 F5 */	bl strzcpy
/* 80340560 0033C1C0  7E A4 AB 78 */	mr r4, r21
/* 80340564 0033C1C4  38 7E 01 44 */	addi r3, r30, 0x144
/* 80340568 0033C1C8  38 A0 00 33 */	li r5, 0x33
/* 8034056C 0033C1CC  48 00 79 E5 */	bl strzcpy
/* 80340570 0033C1D0  7E C4 B3 78 */	mr r4, r22
/* 80340574 0033C1D4  38 7E 01 77 */	addi r3, r30, 0x177
/* 80340578 0033C1D8  38 A0 00 1F */	li r5, 0x1f
/* 8034057C 0033C1DC  48 00 79 D5 */	bl strzcpy
/* 80340580 0033C1E0  38 7E 01 44 */	addi r3, r30, 0x144
/* 80340584 0033C1E4  4B FF 89 F1 */	bl _strlwr
/* 80340588 0033C1E8  38 60 03 08 */	li r3, 0x308
/* 8034058C 0033C1EC  4B FF 8D 89 */	bl gsimalloc
/* 80340590 0033C1F0  2C 03 00 00 */	cmpwi r3, 0
/* 80340594 0033C1F4  7C 73 1B 78 */	mr r19, r3
/* 80340598 0033C1F8  40 82 00 18 */	bne lbl_803405B0
/* 8034059C 0033C1FC  7E 43 93 78 */	mr r3, r18
/* 803405A0 0033C200  38 9F 01 A8 */	addi r4, r31, 0x1a8
/* 803405A4 0033C204  48 00 7E B5 */	bl gpiSetErrorString
/* 803405A8 0033C208  38 60 00 01 */	li r3, 1
/* 803405AC 0033C20C  48 00 00 FC */	b lbl_803406A8
lbl_803405B0:
/* 803405B0 0033C210  38 80 00 00 */	li r4, 0
/* 803405B4 0033C214  38 A0 03 08 */	li r5, 0x308
/* 803405B8 0033C218  4B CC 3B 4D */	bl memset
/* 803405BC 0033C21C  88 17 00 00 */	lbz r0, 0(r23)
/* 803405C0 0033C220  93 53 03 04 */	stw r26, 0x304(r19)
/* 803405C4 0033C224  7C 00 07 75 */	extsb. r0, r0
/* 803405C8 0033C228  41 82 00 30 */	beq lbl_803405F8
/* 803405CC 0033C22C  88 18 00 00 */	lbz r0, 0(r24)
/* 803405D0 0033C230  7C 00 07 75 */	extsb. r0, r0
/* 803405D4 0033C234  41 82 00 24 */	beq lbl_803405F8
/* 803405D8 0033C238  7E E4 BB 78 */	mr r4, r23
/* 803405DC 0033C23C  38 73 00 C2 */	addi r3, r19, 0xc2
/* 803405E0 0033C240  38 A0 01 00 */	li r5, 0x100
/* 803405E4 0033C244  48 00 79 6D */	bl strzcpy
/* 803405E8 0033C248  7F 04 C3 78 */	mr r4, r24
/* 803405EC 0033C24C  38 73 01 C2 */	addi r3, r19, 0x1c2
/* 803405F0 0033C250  38 A0 01 00 */	li r5, 0x100
/* 803405F4 0033C254  48 00 79 5D */	bl strzcpy
lbl_803405F8:
/* 803405F8 0033C258  2C 19 00 00 */	cmpwi r25, 0
/* 803405FC 0033C25C  41 82 00 14 */	beq lbl_80340610
/* 80340600 0033C260  7F 24 CB 78 */	mr r4, r25
/* 80340604 0033C264  38 73 02 C2 */	addi r3, r19, 0x2c2
/* 80340608 0033C268  38 A0 00 41 */	li r5, 0x41
/* 8034060C 0033C26C  48 00 79 45 */	bl strzcpy
lbl_80340610:
/* 80340610 0033C270  7E 43 93 78 */	mr r3, r18
/* 80340614 0033C274  7E 65 9B 78 */	mr r5, r19
/* 80340618 0033C278  7F 67 DB 78 */	mr r7, r27
/* 8034061C 0033C27C  7F 88 E3 78 */	mr r8, r28
/* 80340620 0033C280  7F A9 EB 78 */	mr r9, r29
/* 80340624 0033C284  38 C1 00 08 */	addi r6, r1, 8
/* 80340628 0033C288  38 80 00 00 */	li r4, 0
/* 8034062C 0033C28C  48 00 38 B1 */	bl gpiAddOperation
/* 80340630 0033C290  2C 03 00 00 */	cmpwi r3, 0
/* 80340634 0033C294  41 82 00 08 */	beq lbl_8034063C
/* 80340638 0033C298  48 00 00 70 */	b lbl_803406A8
lbl_8034063C:
/* 8034063C 0033C29C  80 81 00 08 */	lwz r4, 8(r1)
/* 80340640 0033C2A0  7E 43 93 78 */	mr r3, r18
/* 80340644 0033C2A4  4B FF FA DD */	bl gpiStartConnect
/* 80340648 0033C2A8  2C 03 00 00 */	cmpwi r3, 0
/* 8034064C 0033C2AC  7C 73 1B 78 */	mr r19, r3
/* 80340650 0033C2B0  41 82 00 2C */	beq lbl_8034067C
/* 80340654 0033C2B4  80 81 00 08 */	lwz r4, 8(r1)
/* 80340658 0033C2B8  90 64 00 1C */	stw r3, 0x1c(r4)
/* 8034065C 0033C2BC  7E 43 93 78 */	mr r3, r18
/* 80340660 0033C2C0  80 81 00 08 */	lwz r4, 8(r1)
/* 80340664 0033C2C4  48 00 35 01 */	bl gpiFailedOpCallback
/* 80340668 0033C2C8  7E 43 93 78 */	mr r3, r18
/* 8034066C 0033C2CC  38 80 00 00 */	li r4, 0
/* 80340670 0033C2D0  48 00 0E B1 */	bl gpiDisconnect
/* 80340674 0033C2D4  7E 63 9B 78 */	mr r3, r19
/* 80340678 0033C2D8  48 00 00 30 */	b lbl_803406A8
lbl_8034067C:
/* 8034067C 0033C2DC  80 61 00 08 */	lwz r3, 8(r1)
/* 80340680 0033C2E0  80 03 00 08 */	lwz r0, 8(r3)
/* 80340684 0033C2E4  2C 00 00 00 */	cmpwi r0, 0
/* 80340688 0033C2E8  41 82 00 1C */	beq lbl_803406A4
/* 8034068C 0033C2EC  80 83 00 18 */	lwz r4, 0x18(r3)
/* 80340690 0033C2F0  7E 43 93 78 */	mr r3, r18
/* 80340694 0033C2F4  4B FF DB 19 */	bl gpiProcess
/* 80340698 0033C2F8  2C 03 00 00 */	cmpwi r3, 0
/* 8034069C 0033C2FC  41 82 00 08 */	beq lbl_803406A4
/* 803406A0 0033C300  48 00 00 08 */	b lbl_803406A8
lbl_803406A4:
/* 803406A4 0033C304  38 60 00 00 */	li r3, 0
lbl_803406A8:
/* 803406A8 0033C308  39 61 00 50 */	addi r11, r1, 0x50
/* 803406AC 0033C30C  4B E8 6A A1 */	bl _restgpr_17
/* 803406B0 0033C310  80 01 00 54 */	lwz r0, 0x54(r1)
/* 803406B4 0033C314  7C 08 03 A6 */	mtlr r0
/* 803406B8 0033C318  38 21 00 50 */	addi r1, r1, 0x50
/* 803406BC 0033C31C  4E 80 00 20 */	blr

.global gpiSendLogin
gpiSendLogin:
/* 803406C0 0033C320  94 21 FD 50 */	stwu r1, -0x2b0(r1)
/* 803406C4 0033C324  7C 08 02 A6 */	mflr r0
/* 803406C8 0033C328  90 01 02 B4 */	stw r0, 0x2b4(r1)
/* 803406CC 0033C32C  39 61 02 B0 */	addi r11, r1, 0x2b0
/* 803406D0 0033C330  4B E8 6A 51 */	bl _savegpr_25
/* 803406D4 0033C334  3F E0 80 45 */	lis r31, lbl_8044A820@ha
/* 803406D8 0033C338  3C A0 08 42 */	lis r5, 0x08421085@ha
/* 803406DC 0033C33C  3B FF A8 20 */	addi r31, r31, lbl_8044A820@l
/* 803406E0 0033C340  83 C3 00 00 */	lwz r30, 0(r3)
/* 803406E4 0033C344  7C 7C 1B 78 */	mr r28, r3
/* 803406E8 0033C348  7C 9D 23 78 */	mr r29, r4
/* 803406EC 0033C34C  3B 45 10 85 */	addi r26, r5, 0x08421085@l
/* 803406F0 0033C350  3B 7F 01 B8 */	addi r27, r31, 0x1b8
/* 803406F4 0033C354  3B 20 00 00 */	li r25, 0
lbl_803406F8:
/* 803406F8 0033C358  4B E8 C6 45 */	bl rand
/* 803406FC 0033C35C  7C BA 18 16 */	mulhwu r5, r26, r3
/* 80340700 0033C360  7C 9D CA 14 */	add r4, r29, r25
/* 80340704 0033C364  3B 39 00 01 */	addi r25, r25, 1
/* 80340708 0033C368  2C 19 00 20 */	cmpwi r25, 0x20
/* 8034070C 0033C36C  7C 05 18 50 */	subf r0, r5, r3
/* 80340710 0033C370  54 00 F8 7E */	srwi r0, r0, 1
/* 80340714 0033C374  7C 00 2A 14 */	add r0, r0, r5
/* 80340718 0033C378  54 00 D9 7E */	srwi r0, r0, 5
/* 8034071C 0033C37C  1C 00 00 3E */	mulli r0, r0, 0x3e
/* 80340720 0033C380  7C 00 18 50 */	subf r0, r0, r3
/* 80340724 0033C384  7C 1B 00 AE */	lbzx r0, r27, r0
/* 80340728 0033C388  98 04 00 80 */	stb r0, 0x80(r4)
/* 8034072C 0033C38C  41 80 FF CC */	blt lbl_803406F8
/* 80340730 0033C390  7C 7D CA 14 */	add r3, r29, r25
/* 80340734 0033C394  38 00 00 00 */	li r0, 0
/* 80340738 0033C398  98 03 00 80 */	stb r0, 0x80(r3)
/* 8034073C 0033C39C  88 1D 01 C2 */	lbz r0, 0x1c2(r29)
/* 80340740 0033C3A0  7C 00 07 75 */	extsb. r0, r0
/* 80340744 0033C3A4  41 82 00 0C */	beq lbl_80340750
/* 80340748 0033C3A8  3B 3D 01 C2 */	addi r25, r29, 0x1c2
/* 8034074C 0033C3AC  48 00 00 08 */	b lbl_80340754
lbl_80340750:
/* 80340750 0033C3B0  3B 3E 01 77 */	addi r25, r30, 0x177
lbl_80340754:
/* 80340754 0033C3B4  7F 23 CB 78 */	mr r3, r25
/* 80340758 0033C3B8  4B E8 64 0D */	bl strlen
/* 8034075C 0033C3BC  7C 64 1B 78 */	mr r4, r3
/* 80340760 0033C3C0  7F 23 CB 78 */	mr r3, r25
/* 80340764 0033C3C4  38 BD 00 A1 */	addi r5, r29, 0xa1
/* 80340768 0033C3C8  4B FF 72 A5 */	bl MD5Digest
/* 8034076C 0033C3CC  80 BE 01 A4 */	lwz r5, 0x1a4(r30)
/* 80340770 0033C3D0  2C 05 00 00 */	cmpwi r5, 0
/* 80340774 0033C3D4  41 82 00 18 */	beq lbl_8034078C
/* 80340778 0033C3D8  38 61 00 0C */	addi r3, r1, 0xc
/* 8034077C 0033C3DC  38 8D 8F F8 */	addi r4, r13, lbl_8063E2B8-_SDA_BASE_
/* 80340780 0033C3E0  4C C6 31 82 */	crclr 6
/* 80340784 0033C3E4  4B E8 C3 79 */	bl sprintf
/* 80340788 0033C3E8  48 00 00 10 */	b lbl_80340798
lbl_8034078C:
/* 8034078C 0033C3EC  38 61 00 0C */	addi r3, r1, 0xc
/* 80340790 0033C3F0  38 8D 8F FC */	addi r4, r13, lbl_8063E2BC-_SDA_BASE_
/* 80340794 0033C3F4  4B E8 DB 3D */	bl strcpy
lbl_80340798:
/* 80340798 0033C3F8  88 1D 00 C2 */	lbz r0, 0xc2(r29)
/* 8034079C 0033C3FC  7C 00 07 75 */	extsb. r0, r0
/* 803407A0 0033C400  41 82 00 0C */	beq lbl_803407AC
/* 803407A4 0033C404  38 FD 00 C2 */	addi r7, r29, 0xc2
/* 803407A8 0033C408  48 00 00 50 */	b lbl_803407F8
lbl_803407AC:
/* 803407AC 0033C40C  88 1E 01 2F */	lbz r0, 0x12f(r30)
/* 803407B0 0033C410  7C 00 07 75 */	extsb. r0, r0
/* 803407B4 0033C414  41 82 00 24 */	beq lbl_803407D8
/* 803407B8 0033C418  38 61 00 3C */	addi r3, r1, 0x3c
/* 803407BC 0033C41C  38 A1 00 0C */	addi r5, r1, 0xc
/* 803407C0 0033C420  38 DE 01 2F */	addi r6, r30, 0x12f
/* 803407C4 0033C424  38 8D 90 00 */	addi r4, r13, lbl_8063E2C0-_SDA_BASE_
/* 803407C8 0033C428  4C C6 31 82 */	crclr 6
/* 803407CC 0033C42C  4B E8 C3 31 */	bl sprintf
/* 803407D0 0033C430  38 E1 00 3C */	addi r7, r1, 0x3c
/* 803407D4 0033C434  48 00 00 24 */	b lbl_803407F8
lbl_803407D8:
/* 803407D8 0033C438  38 61 00 3C */	addi r3, r1, 0x3c
/* 803407DC 0033C43C  38 A1 00 0C */	addi r5, r1, 0xc
/* 803407E0 0033C440  38 DE 01 10 */	addi r6, r30, 0x110
/* 803407E4 0033C444  38 FE 01 44 */	addi r7, r30, 0x144
/* 803407E8 0033C448  38 8D 90 08 */	addi r4, r13, lbl_8063E2C8-_SDA_BASE_
/* 803407EC 0033C44C  4C C6 31 82 */	crclr 6
/* 803407F0 0033C450  4B E8 C3 0D */	bl sprintf
/* 803407F4 0033C454  38 E1 00 3C */	addi r7, r1, 0x3c
lbl_803407F8:
/* 803407F8 0033C458  38 BD 00 A1 */	addi r5, r29, 0xa1
/* 803407FC 0033C45C  7F A9 EB 78 */	mr r9, r29
/* 80340800 0033C460  38 61 00 90 */	addi r3, r1, 0x90
/* 80340804 0033C464  38 9F 01 F8 */	addi r4, r31, 0x1f8
/* 80340808 0033C468  7C AA 2B 78 */	mr r10, r5
/* 8034080C 0033C46C  38 DF 02 08 */	addi r6, r31, 0x208
/* 80340810 0033C470  39 1D 00 80 */	addi r8, r29, 0x80
/* 80340814 0033C474  4C C6 31 82 */	crclr 6
/* 80340818 0033C478  4B E8 C2 E5 */	bl sprintf
/* 8034081C 0033C47C  38 61 00 90 */	addi r3, r1, 0x90
/* 80340820 0033C480  4B E8 63 45 */	bl strlen
/* 80340824 0033C484  7C 64 1B 78 */	mr r4, r3
/* 80340828 0033C488  38 61 00 90 */	addi r3, r1, 0x90
/* 8034082C 0033C48C  38 A1 00 18 */	addi r5, r1, 0x18
/* 80340830 0033C490  4B FF 71 DD */	bl MD5Digest
/* 80340834 0033C494  80 1E 01 00 */	lwz r0, 0x100(r30)
/* 80340838 0033C498  2C 00 00 00 */	cmpwi r0, 0
/* 8034083C 0033C49C  41 82 00 38 */	beq lbl_80340874
/* 80340840 0033C4A0  7F 83 E3 78 */	mr r3, r28
/* 80340844 0033C4A4  38 9E 01 10 */	addi r4, r30, 0x110
/* 80340848 0033C4A8  38 BE 01 44 */	addi r5, r30, 0x144
/* 8034084C 0033C4AC  38 C1 00 08 */	addi r6, r1, 8
/* 80340850 0033C4B0  48 00 52 F9 */	bl gpiFindProfileByUser
/* 80340854 0033C4B4  80 61 00 08 */	lwz r3, 8(r1)
/* 80340858 0033C4B8  2C 03 00 00 */	cmpwi r3, 0
/* 8034085C 0033C4BC  41 82 00 18 */	beq lbl_80340874
/* 80340860 0033C4C0  80 03 00 04 */	lwz r0, 4(r3)
/* 80340864 0033C4C4  90 1E 01 9C */	stw r0, 0x19c(r30)
/* 80340868 0033C4C8  80 61 00 08 */	lwz r3, 8(r1)
/* 8034086C 0033C4CC  80 03 00 00 */	lwz r0, 0(r3)
/* 80340870 0033C4D0  90 1E 01 A0 */	stw r0, 0x1a0(r30)
lbl_80340874:
/* 80340874 0033C4D4  7F 83 E3 78 */	mr r3, r28
/* 80340878 0033C4D8  38 9E 02 10 */	addi r4, r30, 0x210
/* 8034087C 0033C4DC  38 AD 90 10 */	addi r5, r13, lbl_8063E2D0-_SDA_BASE_
/* 80340880 0033C4E0  4B FF EC 21 */	bl gpiAppendStringToBuffer
/* 80340884 0033C4E4  7F 83 E3 78 */	mr r3, r28
/* 80340888 0033C4E8  38 9E 02 10 */	addi r4, r30, 0x210
/* 8034088C 0033C4EC  38 BF 02 3C */	addi r5, r31, 0x23c
/* 80340890 0033C4F0  4B FF EC 11 */	bl gpiAppendStringToBuffer
/* 80340894 0033C4F4  7F 83 E3 78 */	mr r3, r28
/* 80340898 0033C4F8  38 9E 02 10 */	addi r4, r30, 0x210
/* 8034089C 0033C4FC  38 BD 00 80 */	addi r5, r29, 0x80
/* 803408A0 0033C500  4B FF EC 01 */	bl gpiAppendStringToBuffer
/* 803408A4 0033C504  88 1D 00 C2 */	lbz r0, 0xc2(r29)
/* 803408A8 0033C508  7C 00 07 75 */	extsb. r0, r0
/* 803408AC 0033C50C  41 82 00 28 */	beq lbl_803408D4
/* 803408B0 0033C510  7F 83 E3 78 */	mr r3, r28
/* 803408B4 0033C514  38 9E 02 10 */	addi r4, r30, 0x210
/* 803408B8 0033C518  38 BF 02 48 */	addi r5, r31, 0x248
/* 803408BC 0033C51C  4B FF EB E5 */	bl gpiAppendStringToBuffer
/* 803408C0 0033C520  7F 83 E3 78 */	mr r3, r28
/* 803408C4 0033C524  38 9E 02 10 */	addi r4, r30, 0x210
/* 803408C8 0033C528  38 BD 00 C2 */	addi r5, r29, 0xc2
/* 803408CC 0033C52C  4B FF EB D5 */	bl gpiAppendStringToBuffer
/* 803408D0 0033C530  48 00 00 74 */	b lbl_80340944
lbl_803408D4:
/* 803408D4 0033C534  88 1E 01 2F */	lbz r0, 0x12f(r30)
/* 803408D8 0033C538  7C 00 07 75 */	extsb. r0, r0
/* 803408DC 0033C53C  41 82 00 28 */	beq lbl_80340904
/* 803408E0 0033C540  7F 83 E3 78 */	mr r3, r28
/* 803408E4 0033C544  38 9E 02 10 */	addi r4, r30, 0x210
/* 803408E8 0033C548  38 BF 02 54 */	addi r5, r31, 0x254
/* 803408EC 0033C54C  4B FF EB B5 */	bl gpiAppendStringToBuffer
/* 803408F0 0033C550  7F 83 E3 78 */	mr r3, r28
/* 803408F4 0033C554  38 9E 02 10 */	addi r4, r30, 0x210
/* 803408F8 0033C558  38 BE 01 2F */	addi r5, r30, 0x12f
/* 803408FC 0033C55C  4B FF EB A5 */	bl gpiAppendStringToBuffer
/* 80340900 0033C560  48 00 00 44 */	b lbl_80340944
lbl_80340904:
/* 80340904 0033C564  7F 83 E3 78 */	mr r3, r28
/* 80340908 0033C568  38 9E 02 10 */	addi r4, r30, 0x210
/* 8034090C 0033C56C  38 AD 90 18 */	addi r5, r13, lbl_8063E2D8-_SDA_BASE_
/* 80340910 0033C570  4B FF EB 91 */	bl gpiAppendStringToBuffer
/* 80340914 0033C574  7F 83 E3 78 */	mr r3, r28
/* 80340918 0033C578  38 9E 02 10 */	addi r4, r30, 0x210
/* 8034091C 0033C57C  38 BE 01 10 */	addi r5, r30, 0x110
/* 80340920 0033C580  4B FF EB 81 */	bl gpiAppendStringToBuffer
/* 80340924 0033C584  7F 83 E3 78 */	mr r3, r28
/* 80340928 0033C588  38 9E 02 10 */	addi r4, r30, 0x210
/* 8034092C 0033C58C  38 AD 90 20 */	addi r5, r13, lbl_8063E2E0-_SDA_BASE_
/* 80340930 0033C590  4B FF EB 71 */	bl gpiAppendStringToBuffer
/* 80340934 0033C594  7F 83 E3 78 */	mr r3, r28
/* 80340938 0033C598  38 9E 02 10 */	addi r4, r30, 0x210
/* 8034093C 0033C59C  38 BE 01 44 */	addi r5, r30, 0x144
/* 80340940 0033C5A0  4B FF EB 61 */	bl gpiAppendStringToBuffer
lbl_80340944:
/* 80340944 0033C5A4  80 1E 01 9C */	lwz r0, 0x19c(r30)
/* 80340948 0033C5A8  2C 00 00 00 */	cmpwi r0, 0
/* 8034094C 0033C5AC  41 82 00 24 */	beq lbl_80340970
/* 80340950 0033C5B0  7F 83 E3 78 */	mr r3, r28
/* 80340954 0033C5B4  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340958 0033C5B8  38 BF 02 64 */	addi r5, r31, 0x264
/* 8034095C 0033C5BC  4B FF EB 45 */	bl gpiAppendStringToBuffer
/* 80340960 0033C5C0  80 BE 01 9C */	lwz r5, 0x19c(r30)
/* 80340964 0033C5C4  7F 83 E3 78 */	mr r3, r28
/* 80340968 0033C5C8  38 9E 02 10 */	addi r4, r30, 0x210
/* 8034096C 0033C5CC  4B FF EB 91 */	bl gpiAppendIntToBuffer
lbl_80340970:
/* 80340970 0033C5D0  80 1E 01 A0 */	lwz r0, 0x1a0(r30)
/* 80340974 0033C5D4  2C 00 00 00 */	cmpwi r0, 0
/* 80340978 0033C5D8  41 82 00 24 */	beq lbl_8034099C
/* 8034097C 0033C5DC  7F 83 E3 78 */	mr r3, r28
/* 80340980 0033C5E0  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340984 0033C5E4  38 BF 02 70 */	addi r5, r31, 0x270
/* 80340988 0033C5E8  4B FF EB 19 */	bl gpiAppendStringToBuffer
/* 8034098C 0033C5EC  80 BE 01 A0 */	lwz r5, 0x1a0(r30)
/* 80340990 0033C5F0  7F 83 E3 78 */	mr r3, r28
/* 80340994 0033C5F4  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340998 0033C5F8  4B FF EB 65 */	bl gpiAppendIntToBuffer
lbl_8034099C:
/* 8034099C 0033C5FC  7F 83 E3 78 */	mr r3, r28
/* 803409A0 0033C600  38 9E 02 10 */	addi r4, r30, 0x210
/* 803409A4 0033C604  38 BF 02 7C */	addi r5, r31, 0x27c
/* 803409A8 0033C608  4B FF EA F9 */	bl gpiAppendStringToBuffer
/* 803409AC 0033C60C  80 BE 01 A4 */	lwz r5, 0x1a4(r30)
/* 803409B0 0033C610  7F 83 E3 78 */	mr r3, r28
/* 803409B4 0033C614  38 9E 02 10 */	addi r4, r30, 0x210
/* 803409B8 0033C618  4B FF EB 45 */	bl gpiAppendIntToBuffer
/* 803409BC 0033C61C  7F 83 E3 78 */	mr r3, r28
/* 803409C0 0033C620  38 9E 02 10 */	addi r4, r30, 0x210
/* 803409C4 0033C624  38 BF 02 88 */	addi r5, r31, 0x288
/* 803409C8 0033C628  4B FF EA D9 */	bl gpiAppendStringToBuffer
/* 803409CC 0033C62C  7F 83 E3 78 */	mr r3, r28
/* 803409D0 0033C630  38 9E 02 10 */	addi r4, r30, 0x210
/* 803409D4 0033C634  38 A1 00 18 */	addi r5, r1, 0x18
/* 803409D8 0033C638  4B FF EA C9 */	bl gpiAppendStringToBuffer
/* 803409DC 0033C63C  80 1E 01 0C */	lwz r0, 0x10c(r30)
/* 803409E0 0033C640  2C 00 00 01 */	cmpwi r0, 1
/* 803409E4 0033C644  40 82 00 14 */	bne lbl_803409F8
/* 803409E8 0033C648  7F 83 E3 78 */	mr r3, r28
/* 803409EC 0033C64C  38 9E 02 10 */	addi r4, r30, 0x210
/* 803409F0 0033C650  38 BF 02 94 */	addi r5, r31, 0x294
/* 803409F4 0033C654  4B FF EA AD */	bl gpiAppendStringToBuffer
lbl_803409F8:
/* 803409F8 0033C658  7F 83 E3 78 */	mr r3, r28
/* 803409FC 0033C65C  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340A00 0033C660  38 AD 90 24 */	addi r5, r13, lbl_8063E2E4-_SDA_BASE_
/* 80340A04 0033C664  4B FF EA 9D */	bl gpiAppendStringToBuffer
/* 80340A08 0033C668  80 1E 02 24 */	lwz r0, 0x224(r30)
/* 80340A0C 0033C66C  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 80340A10 0033C670  4B FB 63 61 */	bl SONtoHs
/* 80340A14 0033C674  7C 65 07 34 */	extsh r5, r3
/* 80340A18 0033C678  7F 83 E3 78 */	mr r3, r28
/* 80340A1C 0033C67C  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340A20 0033C680  4B FF EA DD */	bl gpiAppendIntToBuffer
/* 80340A24 0033C684  7F 83 E3 78 */	mr r3, r28
/* 80340A28 0033C688  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340A2C 0033C68C  38 BF 02 A0 */	addi r5, r31, 0x2a0
/* 80340A30 0033C690  4B FF EA 71 */	bl gpiAppendStringToBuffer
/* 80340A34 0033C694  80 BE 04 84 */	lwz r5, 0x484(r30)
/* 80340A38 0033C698  7F 83 E3 78 */	mr r3, r28
/* 80340A3C 0033C69C  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340A40 0033C6A0  4B FF EA BD */	bl gpiAppendIntToBuffer
/* 80340A44 0033C6A4  7F 83 E3 78 */	mr r3, r28
/* 80340A48 0033C6A8  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340A4C 0033C6AC  38 BF 02 AC */	addi r5, r31, 0x2ac
/* 80340A50 0033C6B0  4B FF EA 51 */	bl gpiAppendStringToBuffer
/* 80340A54 0033C6B4  3C A0 80 61 */	lis r5, lbl_80610AF8@ha
/* 80340A58 0033C6B8  7F 83 E3 78 */	mr r3, r28
/* 80340A5C 0033C6BC  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340A60 0033C6C0  38 A5 0A F8 */	addi r5, r5, lbl_80610AF8@l
/* 80340A64 0033C6C4  4B FF EA 3D */	bl gpiAppendStringToBuffer
/* 80340A68 0033C6C8  7F 83 E3 78 */	mr r3, r28
/* 80340A6C 0033C6CC  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340A70 0033C6D0  38 BF 02 B8 */	addi r5, r31, 0x2b8
/* 80340A74 0033C6D4  4B FF EA 2D */	bl gpiAppendStringToBuffer
/* 80340A78 0033C6D8  80 BE 04 88 */	lwz r5, 0x488(r30)
/* 80340A7C 0033C6DC  7F 83 E3 78 */	mr r3, r28
/* 80340A80 0033C6E0  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340A84 0033C6E4  4B FF EA 79 */	bl gpiAppendIntToBuffer
/* 80340A88 0033C6E8  7F 83 E3 78 */	mr r3, r28
/* 80340A8C 0033C6EC  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340A90 0033C6F0  38 BF 02 C8 */	addi r5, r31, 0x2c8
/* 80340A94 0033C6F4  4B FF EA 0D */	bl gpiAppendStringToBuffer
/* 80340A98 0033C6F8  7F 83 E3 78 */	mr r3, r28
/* 80340A9C 0033C6FC  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340AA0 0033C700  38 A0 00 03 */	li r5, 3
/* 80340AA4 0033C704  4B FF EA 59 */	bl gpiAppendIntToBuffer
/* 80340AA8 0033C708  7F 83 E3 78 */	mr r3, r28
/* 80340AAC 0033C70C  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340AB0 0033C710  38 AD 90 2C */	addi r5, r13, lbl_8063E2EC-_SDA_BASE_
/* 80340AB4 0033C714  4B FF E9 ED */	bl gpiAppendStringToBuffer
/* 80340AB8 0033C718  7F 83 E3 78 */	mr r3, r28
/* 80340ABC 0033C71C  38 9E 02 10 */	addi r4, r30, 0x210
/* 80340AC0 0033C720  38 AD 90 38 */	addi r5, r13, lbl_8063E2F8-_SDA_BASE_
/* 80340AC4 0033C724  4B FF E9 DD */	bl gpiAppendStringToBuffer
/* 80340AC8 0033C728  39 61 02 B0 */	addi r11, r1, 0x2b0
/* 80340ACC 0033C72C  38 60 00 00 */	li r3, 0
/* 80340AD0 0033C730  4B E8 66 9D */	bl _restgpr_25
/* 80340AD4 0033C734  80 01 02 B4 */	lwz r0, 0x2b4(r1)
/* 80340AD8 0033C738  7C 08 03 A6 */	mtlr r0
/* 80340ADC 0033C73C  38 21 02 B0 */	addi r1, r1, 0x2b0
/* 80340AE0 0033C740  4E 80 00 20 */	blr

.global gpiSendNewuser
gpiSendNewuser:
/* 80340AE4 0033C744  94 21 FF 00 */	stwu r1, -0x100(r1)
/* 80340AE8 0033C748  7C 08 02 A6 */	mflr r0
/* 80340AEC 0033C74C  90 01 01 04 */	stw r0, 0x104(r1)
/* 80340AF0 0033C750  39 61 01 00 */	addi r11, r1, 0x100
/* 80340AF4 0033C754  4B E8 66 2D */	bl _savegpr_25
/* 80340AF8 0033C758  83 A3 00 00 */	lwz r29, 0(r3)
/* 80340AFC 0033C75C  3F E0 80 45 */	lis r31, lbl_8044A820@ha
/* 80340B00 0033C760  7C 79 1B 78 */	mr r25, r3
/* 80340B04 0033C764  7C 9A 23 78 */	mr r26, r4
/* 80340B08 0033C768  3B FF A8 20 */	addi r31, r31, lbl_8044A820@l
/* 80340B0C 0033C76C  38 7D 01 77 */	addi r3, r29, 0x177
/* 80340B10 0033C770  38 81 00 08 */	addi r4, r1, 8
/* 80340B14 0033C774  48 00 79 81 */	bl gpiEncodeString
/* 80340B18 0033C778  7F 23 CB 78 */	mr r3, r25
/* 80340B1C 0033C77C  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340B20 0033C780  38 BF 02 D8 */	addi r5, r31, 0x2d8
/* 80340B24 0033C784  4B FF E9 7D */	bl gpiAppendStringToBuffer
/* 80340B28 0033C788  7F 23 CB 78 */	mr r3, r25
/* 80340B2C 0033C78C  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340B30 0033C790  38 AD 90 40 */	addi r5, r13, lbl_8063E300-_SDA_BASE_
/* 80340B34 0033C794  4B FF E9 6D */	bl gpiAppendStringToBuffer
/* 80340B38 0033C798  7F 23 CB 78 */	mr r3, r25
/* 80340B3C 0033C79C  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340B40 0033C7A0  38 BD 01 44 */	addi r5, r29, 0x144
/* 80340B44 0033C7A4  4B FF E9 5D */	bl gpiAppendStringToBuffer
/* 80340B48 0033C7A8  7F 23 CB 78 */	mr r3, r25
/* 80340B4C 0033C7AC  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340B50 0033C7B0  38 AD 90 48 */	addi r5, r13, lbl_8063E308-_SDA_BASE_
/* 80340B54 0033C7B4  4B FF E9 4D */	bl gpiAppendStringToBuffer
/* 80340B58 0033C7B8  7F 23 CB 78 */	mr r3, r25
/* 80340B5C 0033C7BC  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340B60 0033C7C0  38 BD 01 10 */	addi r5, r29, 0x110
/* 80340B64 0033C7C4  4B FF E9 3D */	bl gpiAppendStringToBuffer
/* 80340B68 0033C7C8  7F 23 CB 78 */	mr r3, r25
/* 80340B6C 0033C7CC  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340B70 0033C7D0  38 BF 02 E4 */	addi r5, r31, 0x2e4
/* 80340B74 0033C7D4  4B FF E9 2D */	bl gpiAppendStringToBuffer
/* 80340B78 0033C7D8  7F 23 CB 78 */	mr r3, r25
/* 80340B7C 0033C7DC  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340B80 0033C7E0  38 A1 00 08 */	addi r5, r1, 8
/* 80340B84 0033C7E4  4B FF E9 1D */	bl gpiAppendStringToBuffer
/* 80340B88 0033C7E8  7F 23 CB 78 */	mr r3, r25
/* 80340B8C 0033C7EC  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340B90 0033C7F0  38 BF 02 A0 */	addi r5, r31, 0x2a0
/* 80340B94 0033C7F4  4B FF E9 0D */	bl gpiAppendStringToBuffer
/* 80340B98 0033C7F8  80 BD 04 84 */	lwz r5, 0x484(r29)
/* 80340B9C 0033C7FC  7F 23 CB 78 */	mr r3, r25
/* 80340BA0 0033C800  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340BA4 0033C804  4B FF E9 59 */	bl gpiAppendIntToBuffer
/* 80340BA8 0033C808  7F 23 CB 78 */	mr r3, r25
/* 80340BAC 0033C80C  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340BB0 0033C810  38 BF 02 AC */	addi r5, r31, 0x2ac
/* 80340BB4 0033C814  4B FF E8 ED */	bl gpiAppendStringToBuffer
/* 80340BB8 0033C818  3C A0 80 61 */	lis r5, lbl_80610AF8@ha
/* 80340BBC 0033C81C  7F 23 CB 78 */	mr r3, r25
/* 80340BC0 0033C820  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340BC4 0033C824  38 A5 0A F8 */	addi r5, r5, lbl_80610AF8@l
/* 80340BC8 0033C828  4B FF E8 D9 */	bl gpiAppendStringToBuffer
/* 80340BCC 0033C82C  7F 23 CB 78 */	mr r3, r25
/* 80340BD0 0033C830  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340BD4 0033C834  38 BF 02 B8 */	addi r5, r31, 0x2b8
/* 80340BD8 0033C838  4B FF E8 C9 */	bl gpiAppendStringToBuffer
/* 80340BDC 0033C83C  80 BD 04 88 */	lwz r5, 0x488(r29)
/* 80340BE0 0033C840  7F 23 CB 78 */	mr r3, r25
/* 80340BE4 0033C844  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340BE8 0033C848  4B FF E9 15 */	bl gpiAppendIntToBuffer
/* 80340BEC 0033C84C  7F 23 CB 78 */	mr r3, r25
/* 80340BF0 0033C850  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340BF4 0033C854  38 BF 02 54 */	addi r5, r31, 0x254
/* 80340BF8 0033C858  4B FF E8 A9 */	bl gpiAppendStringToBuffer
/* 80340BFC 0033C85C  7F 23 CB 78 */	mr r3, r25
/* 80340C00 0033C860  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340C04 0033C864  38 BD 01 2F */	addi r5, r29, 0x12f
/* 80340C08 0033C868  4B FF E8 99 */	bl gpiAppendStringToBuffer
/* 80340C0C 0033C86C  88 1A 02 C2 */	lbz r0, 0x2c2(r26)
/* 80340C10 0033C870  7C 00 07 75 */	extsb. r0, r0
/* 80340C14 0033C874  41 82 00 94 */	beq lbl_80340CA8
/* 80340C18 0033C878  38 7A 02 C2 */	addi r3, r26, 0x2c2
/* 80340C1C 0033C87C  4B E8 5F 49 */	bl strlen
/* 80340C20 0033C880  3C 80 79 70 */	lis r4, 0x79707367@ha
/* 80340C24 0033C884  7C 7B 1B 78 */	mr r27, r3
/* 80340C28 0033C888  38 64 73 67 */	addi r3, r4, 0x79707367@l
/* 80340C2C 0033C88C  4B FF 84 35 */	bl Util_RandSeed
/* 80340C30 0033C890  3B C1 00 94 */	addi r30, r1, 0x94
/* 80340C34 0033C894  3B 80 00 00 */	li r28, 0
/* 80340C38 0033C898  48 00 00 2C */	b lbl_80340C64
lbl_80340C3C:
/* 80340C3C 0033C89C  38 60 00 00 */	li r3, 0
/* 80340C40 0033C8A0  38 80 00 FF */	li r4, 0xff
/* 80340C44 0033C8A4  4B FF 84 35 */	bl Util_RandInt
/* 80340C48 0033C8A8  7C 9A E2 14 */	add r4, r26, r28
/* 80340C4C 0033C8AC  7C 63 07 74 */	extsb r3, r3
/* 80340C50 0033C8B0  88 04 02 C2 */	lbz r0, 0x2c2(r4)
/* 80340C54 0033C8B4  3B 9C 00 01 */	addi r28, r28, 1
/* 80340C58 0033C8B8  7C 60 02 78 */	xor r0, r3, r0
/* 80340C5C 0033C8BC  98 1E 00 00 */	stb r0, 0(r30)
/* 80340C60 0033C8C0  3B DE 00 01 */	addi r30, r30, 1
lbl_80340C64:
/* 80340C64 0033C8C4  7C 1C D8 40 */	cmplw r28, r27
/* 80340C68 0033C8C8  41 80 FF D4 */	blt lbl_80340C3C
/* 80340C6C 0033C8CC  38 61 00 94 */	addi r3, r1, 0x94
/* 80340C70 0033C8D0  38 00 00 00 */	li r0, 0
/* 80340C74 0033C8D4  7C 03 E1 AE */	stbx r0, r3, r28
/* 80340C78 0033C8D8  7F 65 DB 78 */	mr r5, r27
/* 80340C7C 0033C8DC  38 81 00 38 */	addi r4, r1, 0x38
/* 80340C80 0033C8E0  38 C0 00 01 */	li r6, 1
/* 80340C84 0033C8E4  4B FF 84 69 */	bl B64Encode
/* 80340C88 0033C8E8  7F 23 CB 78 */	mr r3, r25
/* 80340C8C 0033C8EC  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340C90 0033C8F0  38 BF 02 F4 */	addi r5, r31, 0x2f4
/* 80340C94 0033C8F4  4B FF E8 0D */	bl gpiAppendStringToBuffer
/* 80340C98 0033C8F8  7F 23 CB 78 */	mr r3, r25
/* 80340C9C 0033C8FC  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340CA0 0033C900  38 A1 00 38 */	addi r5, r1, 0x38
/* 80340CA4 0033C904  4B FF E7 FD */	bl gpiAppendStringToBuffer
lbl_80340CA8:
/* 80340CA8 0033C908  7F 23 CB 78 */	mr r3, r25
/* 80340CAC 0033C90C  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340CB0 0033C910  38 BF 02 7C */	addi r5, r31, 0x27c
/* 80340CB4 0033C914  4B FF E7 ED */	bl gpiAppendStringToBuffer
/* 80340CB8 0033C918  80 BD 01 A4 */	lwz r5, 0x1a4(r29)
/* 80340CBC 0033C91C  7F 23 CB 78 */	mr r3, r25
/* 80340CC0 0033C920  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340CC4 0033C924  4B FF E8 39 */	bl gpiAppendIntToBuffer
/* 80340CC8 0033C928  7F 23 CB 78 */	mr r3, r25
/* 80340CCC 0033C92C  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340CD0 0033C930  38 AD 90 2C */	addi r5, r13, lbl_8063E2EC-_SDA_BASE_
/* 80340CD4 0033C934  4B FF E7 CD */	bl gpiAppendStringToBuffer
/* 80340CD8 0033C938  7F 23 CB 78 */	mr r3, r25
/* 80340CDC 0033C93C  38 9D 02 10 */	addi r4, r29, 0x210
/* 80340CE0 0033C940  38 AD 90 38 */	addi r5, r13, lbl_8063E2F8-_SDA_BASE_
/* 80340CE4 0033C944  4B FF E7 BD */	bl gpiAppendStringToBuffer
/* 80340CE8 0033C948  39 61 01 00 */	addi r11, r1, 0x100
/* 80340CEC 0033C94C  38 60 00 00 */	li r3, 0
/* 80340CF0 0033C950  4B E8 64 7D */	bl _restgpr_25
/* 80340CF4 0033C954  80 01 01 04 */	lwz r0, 0x104(r1)
/* 80340CF8 0033C958  7C 08 03 A6 */	mtlr r0
/* 80340CFC 0033C95C  38 21 01 00 */	addi r1, r1, 0x100
/* 80340D00 0033C960  4E 80 00 20 */	blr

.global gpiProcessConnect
gpiProcessConnect:
/* 80340D04 0033C964  94 21 FD 30 */	stwu r1, -0x2d0(r1)
/* 80340D08 0033C968  7C 08 02 A6 */	mflr r0
/* 80340D0C 0033C96C  90 01 02 D4 */	stw r0, 0x2d4(r1)
/* 80340D10 0033C970  39 61 02 D0 */	addi r11, r1, 0x2d0
/* 80340D14 0033C974  4B E8 64 11 */	bl _savegpr_26
/* 80340D18 0033C978  7C BA 2B 78 */	mr r26, r5
/* 80340D1C 0033C97C  3F 80 80 45 */	lis r28, lbl_8044A820@ha
/* 80340D20 0033C980  7C 9E 23 78 */	mr r30, r4
/* 80340D24 0033C984  83 E3 00 00 */	lwz r31, 0(r3)
/* 80340D28 0033C988  7C 7D 1B 78 */	mr r29, r3
/* 80340D2C 0033C98C  7F 44 D3 78 */	mr r4, r26
/* 80340D30 0033C990  3B 9C A8 20 */	addi r28, r28, lbl_8044A820@l
/* 80340D34 0033C994  38 A0 00 00 */	li r5, 0
/* 80340D38 0033C998  48 00 72 5D */	bl gpiCheckForError
/* 80340D3C 0033C99C  2C 03 00 00 */	cmpwi r3, 0
/* 80340D40 0033C9A0  41 82 00 8C */	beq lbl_80340DCC
/* 80340D44 0033C9A4  80 1F 04 34 */	lwz r0, 0x434(r31)
/* 80340D48 0033C9A8  2C 00 01 06 */	cmpwi r0, 0x106
/* 80340D4C 0033C9AC  40 82 00 28 */	bne lbl_80340D74
/* 80340D50 0033C9B0  80 9F 01 A0 */	lwz r4, 0x1a0(r31)
/* 80340D54 0033C9B4  2C 04 00 00 */	cmpwi r4, 0
/* 80340D58 0033C9B8  41 82 00 1C */	beq lbl_80340D74
/* 80340D5C 0033C9BC  7F A3 EB 78 */	mr r3, r29
/* 80340D60 0033C9C0  48 00 4D 05 */	bl gpiRemoveProfileByID
/* 80340D64 0033C9C4  38 00 00 00 */	li r0, 0
/* 80340D68 0033C9C8  90 1F 01 9C */	stw r0, 0x19c(r31)
/* 80340D6C 0033C9CC  90 1F 01 A0 */	stw r0, 0x1a0(r31)
/* 80340D70 0033C9D0  48 00 00 34 */	b lbl_80340DA4
lbl_80340D74:
/* 80340D74 0033C9D4  2C 00 02 01 */	cmpwi r0, 0x201
/* 80340D78 0033C9D8  40 82 00 2C */	bne lbl_80340DA4
/* 80340D7C 0033C9DC  7F 43 D3 78 */	mr r3, r26
/* 80340D80 0033C9E0  38 A1 00 B8 */	addi r5, r1, 0xb8
/* 80340D84 0033C9E4  38 8D 90 50 */	addi r4, r13, lbl_8063E310-_SDA_BASE_
/* 80340D88 0033C9E8  38 C0 02 00 */	li r6, 0x200
/* 80340D8C 0033C9EC  48 00 73 01 */	bl gpiValueForKey
/* 80340D90 0033C9F0  2C 03 00 00 */	cmpwi r3, 0
/* 80340D94 0033C9F4  41 82 00 10 */	beq lbl_80340DA4
/* 80340D98 0033C9F8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 80340D9C 0033C9FC  4B E8 F9 71 */	bl atoi
/* 80340DA0 0033CA00  90 7F 01 A0 */	stw r3, 0x1a0(r31)
lbl_80340DA4:
/* 80340DA4 0033CA04  80 9F 04 34 */	lwz r4, 0x434(r31)
/* 80340DA8 0033CA08  7F A3 EB 78 */	mr r3, r29
/* 80340DAC 0033CA0C  7F E5 FB 78 */	mr r5, r31
/* 80340DB0 0033CA10  48 00 76 59 */	bl gpiSetError
/* 80340DB4 0033CA14  7F A3 EB 78 */	mr r3, r29
/* 80340DB8 0033CA18  38 80 00 04 */	li r4, 4
/* 80340DBC 0033CA1C  38 A0 00 01 */	li r5, 1
/* 80340DC0 0033CA20  4B FF EE A9 */	bl gpiCallErrorCallback
/* 80340DC4 0033CA24  38 60 00 04 */	li r3, 4
/* 80340DC8 0033CA28  48 00 05 B0 */	b lbl_80341378
lbl_80340DCC:
/* 80340DCC 0033CA2C  80 1E 00 14 */	lwz r0, 0x14(r30)
/* 80340DD0 0033CA30  83 7E 00 04 */	lwz r27, 4(r30)
/* 80340DD4 0033CA34  2C 00 00 02 */	cmpwi r0, 2
/* 80340DD8 0033CA38  41 82 01 FC */	beq lbl_80340FD4
/* 80340DDC 0033CA3C  40 80 00 10 */	bge lbl_80340DEC
/* 80340DE0 0033CA40  2C 00 00 01 */	cmpwi r0, 1
/* 80340DE4 0033CA44  40 80 00 14 */	bge lbl_80340DF8
/* 80340DE8 0033CA48  48 00 05 8C */	b lbl_80341374
lbl_80340DEC:
/* 80340DEC 0033CA4C  2C 00 00 04 */	cmpwi r0, 4
/* 80340DF0 0033CA50  40 80 05 84 */	bge lbl_80341374
/* 80340DF4 0033CA54  48 00 00 DC */	b lbl_80340ED0
lbl_80340DF8:
/* 80340DF8 0033CA58  7F 43 D3 78 */	mr r3, r26
/* 80340DFC 0033CA5C  38 8D 90 58 */	addi r4, r13, lbl_8063E318-_SDA_BASE_
/* 80340E00 0033CA60  38 A0 00 05 */	li r5, 5
/* 80340E04 0033CA64  4B E8 D7 65 */	bl strncmp
/* 80340E08 0033CA68  2C 03 00 00 */	cmpwi r3, 0
/* 80340E0C 0033CA6C  41 82 00 2C */	beq lbl_80340E38
/* 80340E10 0033CA70  7F A3 EB 78 */	mr r3, r29
/* 80340E14 0033CA74  38 BC 03 00 */	addi r5, r28, 0x300
/* 80340E18 0033CA78  38 80 00 01 */	li r4, 1
/* 80340E1C 0033CA7C  48 00 75 ED */	bl gpiSetError
/* 80340E20 0033CA80  7F A3 EB 78 */	mr r3, r29
/* 80340E24 0033CA84  38 80 00 03 */	li r4, 3
/* 80340E28 0033CA88  38 A0 00 01 */	li r5, 1
/* 80340E2C 0033CA8C  4B FF EE 3D */	bl gpiCallErrorCallback
/* 80340E30 0033CA90  38 60 00 03 */	li r3, 3
/* 80340E34 0033CA94  48 00 05 44 */	b lbl_80341378
lbl_80340E38:
/* 80340E38 0033CA98  7F 43 D3 78 */	mr r3, r26
/* 80340E3C 0033CA9C  7F 65 DB 78 */	mr r5, r27
/* 80340E40 0033CAA0  38 9C 02 3C */	addi r4, r28, 0x23c
/* 80340E44 0033CAA4  38 C0 00 80 */	li r6, 0x80
/* 80340E48 0033CAA8  48 00 72 45 */	bl gpiValueForKey
/* 80340E4C 0033CAAC  2C 03 00 00 */	cmpwi r3, 0
/* 80340E50 0033CAB0  40 82 00 2C */	bne lbl_80340E7C
/* 80340E54 0033CAB4  7F A3 EB 78 */	mr r3, r29
/* 80340E58 0033CAB8  38 BC 03 00 */	addi r5, r28, 0x300
/* 80340E5C 0033CABC  38 80 00 01 */	li r4, 1
/* 80340E60 0033CAC0  48 00 75 A9 */	bl gpiSetError
/* 80340E64 0033CAC4  7F A3 EB 78 */	mr r3, r29
/* 80340E68 0033CAC8  38 80 00 03 */	li r4, 3
/* 80340E6C 0033CACC  38 A0 00 01 */	li r5, 1
/* 80340E70 0033CAD0  4B FF ED F9 */	bl gpiCallErrorCallback
/* 80340E74 0033CAD4  38 60 00 03 */	li r3, 3
/* 80340E78 0033CAD8  48 00 05 00 */	b lbl_80341378
lbl_80340E7C:
/* 80340E7C 0033CADC  80 1B 03 04 */	lwz r0, 0x304(r27)
/* 80340E80 0033CAE0  2C 00 00 00 */	cmpwi r0, 0
/* 80340E84 0033CAE4  41 82 00 28 */	beq lbl_80340EAC
/* 80340E88 0033CAE8  7F A3 EB 78 */	mr r3, r29
/* 80340E8C 0033CAEC  7F 64 DB 78 */	mr r4, r27
/* 80340E90 0033CAF0  4B FF FC 55 */	bl gpiSendNewuser
/* 80340E94 0033CAF4  2C 03 00 00 */	cmpwi r3, 0
/* 80340E98 0033CAF8  41 82 00 08 */	beq lbl_80340EA0
/* 80340E9C 0033CAFC  48 00 04 DC */	b lbl_80341378
lbl_80340EA0:
/* 80340EA0 0033CB00  38 00 00 03 */	li r0, 3
/* 80340EA4 0033CB04  90 1E 00 14 */	stw r0, 0x14(r30)
/* 80340EA8 0033CB08  48 00 04 CC */	b lbl_80341374
lbl_80340EAC:
/* 80340EAC 0033CB0C  7F A3 EB 78 */	mr r3, r29
/* 80340EB0 0033CB10  7F 64 DB 78 */	mr r4, r27
/* 80340EB4 0033CB14  4B FF F8 0D */	bl gpiSendLogin
/* 80340EB8 0033CB18  2C 03 00 00 */	cmpwi r3, 0
/* 80340EBC 0033CB1C  41 82 00 08 */	beq lbl_80340EC4
/* 80340EC0 0033CB20  48 00 04 B8 */	b lbl_80341378
lbl_80340EC4:
/* 80340EC4 0033CB24  38 00 00 02 */	li r0, 2
/* 80340EC8 0033CB28  90 1E 00 14 */	stw r0, 0x14(r30)
/* 80340ECC 0033CB2C  48 00 04 A8 */	b lbl_80341374
lbl_80340ED0:
/* 80340ED0 0033CB30  7F 43 D3 78 */	mr r3, r26
/* 80340ED4 0033CB34  38 8D 90 60 */	addi r4, r13, lbl_8063E320-_SDA_BASE_
/* 80340ED8 0033CB38  38 A0 00 05 */	li r5, 5
/* 80340EDC 0033CB3C  4B E8 D6 8D */	bl strncmp
/* 80340EE0 0033CB40  2C 03 00 00 */	cmpwi r3, 0
/* 80340EE4 0033CB44  41 82 00 2C */	beq lbl_80340F10
/* 80340EE8 0033CB48  7F A3 EB 78 */	mr r3, r29
/* 80340EEC 0033CB4C  38 BC 03 00 */	addi r5, r28, 0x300
/* 80340EF0 0033CB50  38 80 00 01 */	li r4, 1
/* 80340EF4 0033CB54  48 00 75 15 */	bl gpiSetError
/* 80340EF8 0033CB58  7F A3 EB 78 */	mr r3, r29
/* 80340EFC 0033CB5C  38 80 00 03 */	li r4, 3
/* 80340F00 0033CB60  38 A0 00 01 */	li r5, 1
/* 80340F04 0033CB64  4B FF ED 65 */	bl gpiCallErrorCallback
/* 80340F08 0033CB68  38 60 00 03 */	li r3, 3
/* 80340F0C 0033CB6C  48 00 04 6C */	b lbl_80341378
lbl_80340F10:
/* 80340F10 0033CB70  7F 43 D3 78 */	mr r3, r26
/* 80340F14 0033CB74  38 9C 02 64 */	addi r4, r28, 0x264
/* 80340F18 0033CB78  38 A1 00 B8 */	addi r5, r1, 0xb8
/* 80340F1C 0033CB7C  38 C0 02 00 */	li r6, 0x200
/* 80340F20 0033CB80  48 00 71 6D */	bl gpiValueForKey
/* 80340F24 0033CB84  2C 03 00 00 */	cmpwi r3, 0
/* 80340F28 0033CB88  40 82 00 2C */	bne lbl_80340F54
/* 80340F2C 0033CB8C  7F A3 EB 78 */	mr r3, r29
/* 80340F30 0033CB90  38 BC 03 30 */	addi r5, r28, 0x330
/* 80340F34 0033CB94  38 80 00 01 */	li r4, 1
/* 80340F38 0033CB98  48 00 74 D1 */	bl gpiSetError
/* 80340F3C 0033CB9C  7F A3 EB 78 */	mr r3, r29
/* 80340F40 0033CBA0  38 80 00 03 */	li r4, 3
/* 80340F44 0033CBA4  38 A0 00 01 */	li r5, 1
/* 80340F48 0033CBA8  4B FF ED 21 */	bl gpiCallErrorCallback
/* 80340F4C 0033CBAC  38 60 00 03 */	li r3, 3
/* 80340F50 0033CBB0  48 00 04 28 */	b lbl_80341378
lbl_80340F54:
/* 80340F54 0033CBB4  38 61 00 B8 */	addi r3, r1, 0xb8
/* 80340F58 0033CBB8  4B E8 F7 B5 */	bl atoi
/* 80340F5C 0033CBBC  90 7F 01 9C */	stw r3, 0x19c(r31)
/* 80340F60 0033CBC0  7F 43 D3 78 */	mr r3, r26
/* 80340F64 0033CBC4  38 9C 02 70 */	addi r4, r28, 0x270
/* 80340F68 0033CBC8  38 A1 00 B8 */	addi r5, r1, 0xb8
/* 80340F6C 0033CBCC  38 C0 02 00 */	li r6, 0x200
/* 80340F70 0033CBD0  48 00 71 1D */	bl gpiValueForKey
/* 80340F74 0033CBD4  2C 03 00 00 */	cmpwi r3, 0
/* 80340F78 0033CBD8  40 82 00 2C */	bne lbl_80340FA4
/* 80340F7C 0033CBDC  7F A3 EB 78 */	mr r3, r29
/* 80340F80 0033CBE0  38 BC 03 30 */	addi r5, r28, 0x330
/* 80340F84 0033CBE4  38 80 00 01 */	li r4, 1
/* 80340F88 0033CBE8  48 00 74 81 */	bl gpiSetError
/* 80340F8C 0033CBEC  7F A3 EB 78 */	mr r3, r29
/* 80340F90 0033CBF0  38 80 00 03 */	li r4, 3
/* 80340F94 0033CBF4  38 A0 00 01 */	li r5, 1
/* 80340F98 0033CBF8  4B FF EC D1 */	bl gpiCallErrorCallback
/* 80340F9C 0033CBFC  38 60 00 03 */	li r3, 3
/* 80340FA0 0033CC00  48 00 03 D8 */	b lbl_80341378
lbl_80340FA4:
/* 80340FA4 0033CC04  38 61 00 B8 */	addi r3, r1, 0xb8
/* 80340FA8 0033CC08  4B E8 F7 65 */	bl atoi
/* 80340FAC 0033CC0C  90 7F 01 A0 */	stw r3, 0x1a0(r31)
/* 80340FB0 0033CC10  7F A3 EB 78 */	mr r3, r29
/* 80340FB4 0033CC14  7F 64 DB 78 */	mr r4, r27
/* 80340FB8 0033CC18  4B FF F7 09 */	bl gpiSendLogin
/* 80340FBC 0033CC1C  2C 03 00 00 */	cmpwi r3, 0
/* 80340FC0 0033CC20  41 82 00 08 */	beq lbl_80340FC8
/* 80340FC4 0033CC24  48 00 03 B4 */	b lbl_80341378
lbl_80340FC8:
/* 80340FC8 0033CC28  38 00 00 02 */	li r0, 2
/* 80340FCC 0033CC2C  90 1E 00 14 */	stw r0, 0x14(r30)
/* 80340FD0 0033CC30  48 00 03 A4 */	b lbl_80341374
lbl_80340FD4:
/* 80340FD4 0033CC34  7F 43 D3 78 */	mr r3, r26
/* 80340FD8 0033CC38  38 8D 90 68 */	addi r4, r13, lbl_8063E328-_SDA_BASE_
/* 80340FDC 0033CC3C  38 A0 00 05 */	li r5, 5
/* 80340FE0 0033CC40  4B E8 D5 89 */	bl strncmp
/* 80340FE4 0033CC44  2C 03 00 00 */	cmpwi r3, 0
/* 80340FE8 0033CC48  41 82 00 2C */	beq lbl_80341014
/* 80340FEC 0033CC4C  7F A3 EB 78 */	mr r3, r29
/* 80340FF0 0033CC50  38 BC 03 00 */	addi r5, r28, 0x300
/* 80340FF4 0033CC54  38 80 00 01 */	li r4, 1
/* 80340FF8 0033CC58  48 00 74 11 */	bl gpiSetError
/* 80340FFC 0033CC5C  7F A3 EB 78 */	mr r3, r29
/* 80341000 0033CC60  38 80 00 03 */	li r4, 3
/* 80341004 0033CC64  38 A0 00 01 */	li r5, 1
/* 80341008 0033CC68  4B FF EC 61 */	bl gpiCallErrorCallback
/* 8034100C 0033CC6C  38 60 00 03 */	li r3, 3
/* 80341010 0033CC70  48 00 03 68 */	b lbl_80341378
lbl_80341014:
/* 80341014 0033CC74  7F 43 D3 78 */	mr r3, r26
/* 80341018 0033CC78  38 9C 03 60 */	addi r4, r28, 0x360
/* 8034101C 0033CC7C  38 A1 00 B8 */	addi r5, r1, 0xb8
/* 80341020 0033CC80  38 C0 02 00 */	li r6, 0x200
/* 80341024 0033CC84  48 00 70 69 */	bl gpiValueForKey
/* 80341028 0033CC88  2C 03 00 00 */	cmpwi r3, 0
/* 8034102C 0033CC8C  40 82 00 2C */	bne lbl_80341058
/* 80341030 0033CC90  7F A3 EB 78 */	mr r3, r29
/* 80341034 0033CC94  38 BC 03 30 */	addi r5, r28, 0x330
/* 80341038 0033CC98  38 80 00 01 */	li r4, 1
/* 8034103C 0033CC9C  48 00 73 CD */	bl gpiSetError
/* 80341040 0033CCA0  7F A3 EB 78 */	mr r3, r29
/* 80341044 0033CCA4  38 80 00 03 */	li r4, 3
/* 80341048 0033CCA8  38 A0 00 01 */	li r5, 1
/* 8034104C 0033CCAC  4B FF EC 1D */	bl gpiCallErrorCallback
/* 80341050 0033CCB0  38 60 00 03 */	li r3, 3
/* 80341054 0033CCB4  48 00 03 24 */	b lbl_80341378
lbl_80341058:
/* 80341058 0033CCB8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8034105C 0033CCBC  4B E8 F6 B1 */	bl atoi
/* 80341060 0033CCC0  90 7F 01 98 */	stw r3, 0x198(r31)
/* 80341064 0033CCC4  7F 43 D3 78 */	mr r3, r26
/* 80341068 0033CCC8  38 9C 02 64 */	addi r4, r28, 0x264
/* 8034106C 0033CCCC  38 A1 00 B8 */	addi r5, r1, 0xb8
/* 80341070 0033CCD0  38 C0 02 00 */	li r6, 0x200
/* 80341074 0033CCD4  48 00 70 19 */	bl gpiValueForKey
/* 80341078 0033CCD8  2C 03 00 00 */	cmpwi r3, 0
/* 8034107C 0033CCDC  40 82 00 2C */	bne lbl_803410A8
/* 80341080 0033CCE0  7F A3 EB 78 */	mr r3, r29
/* 80341084 0033CCE4  38 BC 03 30 */	addi r5, r28, 0x330
/* 80341088 0033CCE8  38 80 00 01 */	li r4, 1
/* 8034108C 0033CCEC  48 00 73 7D */	bl gpiSetError
/* 80341090 0033CCF0  7F A3 EB 78 */	mr r3, r29
/* 80341094 0033CCF4  38 80 00 03 */	li r4, 3
/* 80341098 0033CCF8  38 A0 00 01 */	li r5, 1
/* 8034109C 0033CCFC  4B FF EB CD */	bl gpiCallErrorCallback
/* 803410A0 0033CD00  38 60 00 03 */	li r3, 3
/* 803410A4 0033CD04  48 00 02 D4 */	b lbl_80341378
lbl_803410A8:
/* 803410A8 0033CD08  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803410AC 0033CD0C  4B E8 F6 61 */	bl atoi
/* 803410B0 0033CD10  90 7F 01 9C */	stw r3, 0x19c(r31)
/* 803410B4 0033CD14  7F 43 D3 78 */	mr r3, r26
/* 803410B8 0033CD18  38 9C 02 70 */	addi r4, r28, 0x270
/* 803410BC 0033CD1C  38 A1 00 B8 */	addi r5, r1, 0xb8
/* 803410C0 0033CD20  38 C0 02 00 */	li r6, 0x200
/* 803410C4 0033CD24  48 00 6F C9 */	bl gpiValueForKey
/* 803410C8 0033CD28  2C 03 00 00 */	cmpwi r3, 0
/* 803410CC 0033CD2C  40 82 00 2C */	bne lbl_803410F8
/* 803410D0 0033CD30  7F A3 EB 78 */	mr r3, r29
/* 803410D4 0033CD34  38 BC 03 30 */	addi r5, r28, 0x330
/* 803410D8 0033CD38  38 80 00 01 */	li r4, 1
/* 803410DC 0033CD3C  48 00 73 2D */	bl gpiSetError
/* 803410E0 0033CD40  7F A3 EB 78 */	mr r3, r29
/* 803410E4 0033CD44  38 80 00 03 */	li r4, 3
/* 803410E8 0033CD48  38 A0 00 01 */	li r5, 1
/* 803410EC 0033CD4C  4B FF EB 7D */	bl gpiCallErrorCallback
/* 803410F0 0033CD50  38 60 00 03 */	li r3, 3
/* 803410F4 0033CD54  48 00 02 84 */	b lbl_80341378
lbl_803410F8:
/* 803410F8 0033CD58  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803410FC 0033CD5C  4B E8 F6 11 */	bl atoi
/* 80341100 0033CD60  90 7F 01 A0 */	stw r3, 0x1a0(r31)
/* 80341104 0033CD64  7F 43 D3 78 */	mr r3, r26
/* 80341108 0033CD68  38 9C 02 54 */	addi r4, r28, 0x254
/* 8034110C 0033CD6C  38 A1 00 24 */	addi r5, r1, 0x24
/* 80341110 0033CD70  38 C0 00 15 */	li r6, 0x15
/* 80341114 0033CD74  48 00 6F 79 */	bl gpiValueForKey
/* 80341118 0033CD78  2C 03 00 00 */	cmpwi r3, 0
/* 8034111C 0033CD7C  40 82 00 0C */	bne lbl_80341128
/* 80341120 0033CD80  38 00 00 00 */	li r0, 0
/* 80341124 0033CD84  98 01 00 24 */	stb r0, 0x24(r1)
lbl_80341128:
/* 80341128 0033CD88  7F 43 D3 78 */	mr r3, r26
/* 8034112C 0033CD8C  38 BF 04 8C */	addi r5, r31, 0x48c
/* 80341130 0033CD90  38 8D 90 70 */	addi r4, r13, lbl_8063E330-_SDA_BASE_
/* 80341134 0033CD94  38 C0 00 19 */	li r6, 0x19
/* 80341138 0033CD98  48 00 6F 55 */	bl gpiValueForKey
/* 8034113C 0033CD9C  2C 03 00 00 */	cmpwi r3, 0
/* 80341140 0033CDA0  40 82 00 0C */	bne lbl_8034114C
/* 80341144 0033CDA4  38 00 00 00 */	li r0, 0
/* 80341148 0033CDA8  98 1F 04 8C */	stb r0, 0x48c(r31)
lbl_8034114C:
/* 8034114C 0033CDAC  80 BF 01 A4 */	lwz r5, 0x1a4(r31)
/* 80341150 0033CDB0  2C 05 00 00 */	cmpwi r5, 0
/* 80341154 0033CDB4  41 82 00 18 */	beq lbl_8034116C
/* 80341158 0033CDB8  38 61 00 18 */	addi r3, r1, 0x18
/* 8034115C 0033CDBC  38 8D 8F F8 */	addi r4, r13, lbl_8063E2B8-_SDA_BASE_
/* 80341160 0033CDC0  4C C6 31 82 */	crclr 6
/* 80341164 0033CDC4  4B E8 B9 99 */	bl sprintf
/* 80341168 0033CDC8  48 00 00 10 */	b lbl_80341178
lbl_8034116C:
/* 8034116C 0033CDCC  38 61 00 18 */	addi r3, r1, 0x18
/* 80341170 0033CDD0  38 8D 8F FC */	addi r4, r13, lbl_8063E2BC-_SDA_BASE_
/* 80341174 0033CDD4  4B E8 D1 5D */	bl strcpy
lbl_80341178:
/* 80341178 0033CDD8  88 1B 00 C2 */	lbz r0, 0xc2(r27)
/* 8034117C 0033CDDC  7C 00 07 75 */	extsb. r0, r0
/* 80341180 0033CDE0  41 82 00 0C */	beq lbl_8034118C
/* 80341184 0033CDE4  38 FB 00 C2 */	addi r7, r27, 0xc2
/* 80341188 0033CDE8  48 00 00 50 */	b lbl_803411D8
lbl_8034118C:
/* 8034118C 0033CDEC  88 1F 01 2F */	lbz r0, 0x12f(r31)
/* 80341190 0033CDF0  7C 00 07 75 */	extsb. r0, r0
/* 80341194 0033CDF4  41 82 00 24 */	beq lbl_803411B8
/* 80341198 0033CDF8  38 61 00 60 */	addi r3, r1, 0x60
/* 8034119C 0033CDFC  38 A1 00 18 */	addi r5, r1, 0x18
/* 803411A0 0033CE00  38 DF 01 2F */	addi r6, r31, 0x12f
/* 803411A4 0033CE04  38 8D 90 00 */	addi r4, r13, lbl_8063E2C0-_SDA_BASE_
/* 803411A8 0033CE08  4C C6 31 82 */	crclr 6
/* 803411AC 0033CE0C  4B E8 B9 51 */	bl sprintf
/* 803411B0 0033CE10  38 E1 00 60 */	addi r7, r1, 0x60
/* 803411B4 0033CE14  48 00 00 24 */	b lbl_803411D8
lbl_803411B8:
/* 803411B8 0033CE18  38 61 00 60 */	addi r3, r1, 0x60
/* 803411BC 0033CE1C  38 A1 00 18 */	addi r5, r1, 0x18
/* 803411C0 0033CE20  38 DF 01 10 */	addi r6, r31, 0x110
/* 803411C4 0033CE24  38 FF 01 44 */	addi r7, r31, 0x144
/* 803411C8 0033CE28  38 8D 90 08 */	addi r4, r13, lbl_8063E2C8-_SDA_BASE_
/* 803411CC 0033CE2C  4C C6 31 82 */	crclr 6
/* 803411D0 0033CE30  4B E8 B9 2D */	bl sprintf
/* 803411D4 0033CE34  38 E1 00 60 */	addi r7, r1, 0x60
lbl_803411D8:
/* 803411D8 0033CE38  38 BB 00 A1 */	addi r5, r27, 0xa1
/* 803411DC 0033CE3C  7F 68 DB 78 */	mr r8, r27
/* 803411E0 0033CE40  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803411E4 0033CE44  38 9C 01 F8 */	addi r4, r28, 0x1f8
/* 803411E8 0033CE48  7C AA 2B 78 */	mr r10, r5
/* 803411EC 0033CE4C  38 DC 02 08 */	addi r6, r28, 0x208
/* 803411F0 0033CE50  39 3B 00 80 */	addi r9, r27, 0x80
/* 803411F4 0033CE54  4C C6 31 82 */	crclr 6
/* 803411F8 0033CE58  4B E8 B9 05 */	bl sprintf
/* 803411FC 0033CE5C  38 61 00 B8 */	addi r3, r1, 0xb8
/* 80341200 0033CE60  4B E8 59 65 */	bl strlen
/* 80341204 0033CE64  7C 64 1B 78 */	mr r4, r3
/* 80341208 0033CE68  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8034120C 0033CE6C  38 A1 00 3C */	addi r5, r1, 0x3c
/* 80341210 0033CE70  4B FF 67 FD */	bl MD5Digest
/* 80341214 0033CE74  7F 43 D3 78 */	mr r3, r26
/* 80341218 0033CE78  38 A1 00 B8 */	addi r5, r1, 0xb8
/* 8034121C 0033CE7C  38 8D 90 78 */	addi r4, r13, lbl_8063E338-_SDA_BASE_
/* 80341220 0033CE80  38 C0 02 00 */	li r6, 0x200
/* 80341224 0033CE84  48 00 6E 69 */	bl gpiValueForKey
/* 80341228 0033CE88  2C 03 00 00 */	cmpwi r3, 0
/* 8034122C 0033CE8C  40 82 00 2C */	bne lbl_80341258
/* 80341230 0033CE90  7F A3 EB 78 */	mr r3, r29
/* 80341234 0033CE94  38 BC 03 30 */	addi r5, r28, 0x330
/* 80341238 0033CE98  38 80 00 01 */	li r4, 1
/* 8034123C 0033CE9C  48 00 71 CD */	bl gpiSetError
/* 80341240 0033CEA0  7F A3 EB 78 */	mr r3, r29
/* 80341244 0033CEA4  38 80 00 03 */	li r4, 3
/* 80341248 0033CEA8  38 A0 00 01 */	li r5, 1
/* 8034124C 0033CEAC  4B FF EA 1D */	bl gpiCallErrorCallback
/* 80341250 0033CEB0  38 60 00 03 */	li r3, 3
/* 80341254 0033CEB4  48 00 01 24 */	b lbl_80341378
lbl_80341258:
/* 80341258 0033CEB8  38 61 00 3C */	addi r3, r1, 0x3c
/* 8034125C 0033CEBC  38 81 00 B8 */	addi r4, r1, 0xb8
/* 80341260 0033CEC0  38 A0 00 20 */	li r5, 0x20
/* 80341264 0033CEC4  4B E8 91 35 */	bl memcmp
/* 80341268 0033CEC8  2C 03 00 00 */	cmpwi r3, 0
/* 8034126C 0033CECC  41 82 00 2C */	beq lbl_80341298
/* 80341270 0033CED0  7F A3 EB 78 */	mr r3, r29
/* 80341274 0033CED4  38 BC 03 6C */	addi r5, r28, 0x36c
/* 80341278 0033CED8  38 80 01 08 */	li r4, 0x108
/* 8034127C 0033CEDC  48 00 71 8D */	bl gpiSetError
/* 80341280 0033CEE0  7F A3 EB 78 */	mr r3, r29
/* 80341284 0033CEE4  38 80 00 03 */	li r4, 3
/* 80341288 0033CEE8  38 A0 00 01 */	li r5, 1
/* 8034128C 0033CEEC  4B FF E9 DD */	bl gpiCallErrorCallback
/* 80341290 0033CEF0  38 60 00 03 */	li r3, 3
/* 80341294 0033CEF4  48 00 00 E4 */	b lbl_80341378
lbl_80341298:
/* 80341298 0033CEF8  80 1F 01 00 */	lwz r0, 0x100(r31)
/* 8034129C 0033CEFC  2C 00 00 00 */	cmpwi r0, 0
/* 803412A0 0033CF00  41 82 00 20 */	beq lbl_803412C0
/* 803412A4 0033CF04  80 9F 01 A0 */	lwz r4, 0x1a0(r31)
/* 803412A8 0033CF08  7F A3 EB 78 */	mr r3, r29
/* 803412AC 0033CF0C  48 00 45 51 */	bl gpiProfileListAdd
/* 803412B0 0033CF10  80 1F 01 A0 */	lwz r0, 0x1a0(r31)
/* 803412B4 0033CF14  90 03 00 00 */	stw r0, 0(r3)
/* 803412B8 0033CF18  80 1F 01 9C */	lwz r0, 0x19c(r31)
/* 803412BC 0033CF1C  90 03 00 04 */	stw r0, 4(r3)
lbl_803412C0:
/* 803412C0 0033CF20  38 00 00 03 */	li r0, 3
/* 803412C4 0033CF24  90 1F 01 F4 */	stw r0, 0x1f4(r31)
/* 803412C8 0033CF28  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 803412CC 0033CF2C  80 1E 00 10 */	lwz r0, 0x10(r30)
/* 803412D0 0033CF30  2C 03 00 00 */	cmpwi r3, 0
/* 803412D4 0033CF34  90 61 00 10 */	stw r3, 0x10(r1)
/* 803412D8 0033CF38  90 01 00 14 */	stw r0, 0x14(r1)
/* 803412DC 0033CF3C  41 82 00 8C */	beq lbl_80341368
/* 803412E0 0033CF40  38 60 00 20 */	li r3, 0x20
/* 803412E4 0033CF44  4B FF 80 31 */	bl gsimalloc
/* 803412E8 0033CF48  2C 03 00 00 */	cmpwi r3, 0
/* 803412EC 0033CF4C  7C 7B 1B 78 */	mr r27, r3
/* 803412F0 0033CF50  40 82 00 18 */	bne lbl_80341308
/* 803412F4 0033CF54  7F A3 EB 78 */	mr r3, r29
/* 803412F8 0033CF58  38 9C 01 A8 */	addi r4, r28, 0x1a8
/* 803412FC 0033CF5C  48 00 71 5D */	bl gpiSetErrorString
/* 80341300 0033CF60  38 60 00 01 */	li r3, 1
/* 80341304 0033CF64  48 00 00 74 */	b lbl_80341378
lbl_80341308:
/* 80341308 0033CF68  38 80 00 00 */	li r4, 0
/* 8034130C 0033CF6C  38 A0 00 20 */	li r5, 0x20
/* 80341310 0033CF70  4B CC 2D F5 */	bl memset
/* 80341314 0033CF74  80 BF 01 A0 */	lwz r5, 0x1a0(r31)
/* 80341318 0033CF78  38 00 00 00 */	li r0, 0
/* 8034131C 0033CF7C  38 7B 00 08 */	addi r3, r27, 8
/* 80341320 0033CF80  38 81 00 24 */	addi r4, r1, 0x24
/* 80341324 0033CF84  90 BB 00 04 */	stw r5, 4(r27)
/* 80341328 0033CF88  38 A0 00 15 */	li r5, 0x15
/* 8034132C 0033CF8C  90 1B 00 00 */	stw r0, 0(r27)
/* 80341330 0033CF90  48 00 6C 21 */	bl strzcpy
/* 80341334 0033CF94  80 81 00 10 */	lwz r4, 0x10(r1)
/* 80341338 0033CF98  7F A3 EB 78 */	mr r3, r29
/* 8034133C 0033CF9C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80341340 0033CFA0  7F 65 DB 78 */	mr r5, r27
/* 80341344 0033CFA4  90 81 00 08 */	stw r4, 8(r1)
/* 80341348 0033CFA8  7F C6 F3 78 */	mr r6, r30
/* 8034134C 0033CFAC  38 81 00 08 */	addi r4, r1, 8
/* 80341350 0033CFB0  38 E0 00 00 */	li r7, 0
/* 80341354 0033CFB4  90 01 00 0C */	stw r0, 0xc(r1)
/* 80341358 0033CFB8  4B FF E9 D1 */	bl gpiAddCallback
/* 8034135C 0033CFBC  2C 03 00 00 */	cmpwi r3, 0
/* 80341360 0033CFC0  41 82 00 08 */	beq lbl_80341368
/* 80341364 0033CFC4  48 00 00 14 */	b lbl_80341378
lbl_80341368:
/* 80341368 0033CFC8  7F A3 EB 78 */	mr r3, r29
/* 8034136C 0033CFCC  7F C4 F3 78 */	mr r4, r30
/* 80341370 0033CFD0  48 00 2C ED */	bl gpiRemoveOperation
lbl_80341374:
/* 80341374 0033CFD4  38 60 00 00 */	li r3, 0
lbl_80341378:
/* 80341378 0033CFD8  39 61 02 D0 */	addi r11, r1, 0x2d0
/* 8034137C 0033CFDC  4B E8 5D F5 */	bl _restgpr_26
/* 80341380 0033CFE0  80 01 02 D4 */	lwz r0, 0x2d4(r1)
/* 80341384 0033CFE4  7C 08 03 A6 */	mtlr r0
/* 80341388 0033CFE8  38 21 02 D0 */	addi r1, r1, 0x2d0
/* 8034138C 0033CFEC  4E 80 00 20 */	blr

.global gpiCheckConnect
gpiCheckConnect:
/* 80341390 0033CFF0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80341394 0033CFF4  7C 08 02 A6 */	mflr r0
/* 80341398 0033CFF8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8034139C 0033CFFC  38 A1 00 08 */	addi r5, r1, 8
/* 803413A0 0033D000  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803413A4 0033D004  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803413A8 0033D008  7C 7E 1B 78 */	mr r30, r3
/* 803413AC 0033D00C  83 E3 00 00 */	lwz r31, 0(r3)
/* 803413B0 0033D010  80 9F 01 F0 */	lwz r4, 0x1f0(r31)
/* 803413B4 0033D014  48 00 6D 85 */	bl gpiCheckSocketConnect
/* 803413B8 0033D018  2C 03 00 00 */	cmpwi r3, 0
/* 803413BC 0033D01C  41 82 00 08 */	beq lbl_803413C4
/* 803413C0 0033D020  48 00 00 58 */	b lbl_80341418
lbl_803413C4:
/* 803413C4 0033D024  80 01 00 08 */	lwz r0, 8(r1)
/* 803413C8 0033D028  2C 00 00 04 */	cmpwi r0, 4
/* 803413CC 0033D02C  40 82 00 30 */	bne lbl_803413FC
/* 803413D0 0033D030  3C A0 80 45 */	lis r5, lbl_8044ABAC@ha
/* 803413D4 0033D034  7F C3 F3 78 */	mr r3, r30
/* 803413D8 0033D038  38 A5 AB AC */	addi r5, r5, lbl_8044ABAC@l
/* 803413DC 0033D03C  38 80 01 07 */	li r4, 0x107
/* 803413E0 0033D040  48 00 70 29 */	bl gpiSetError
/* 803413E4 0033D044  7F C3 F3 78 */	mr r3, r30
/* 803413E8 0033D048  38 80 00 04 */	li r4, 4
/* 803413EC 0033D04C  38 A0 00 01 */	li r5, 1
/* 803413F0 0033D050  4B FF E8 79 */	bl gpiCallErrorCallback
/* 803413F4 0033D054  38 60 00 04 */	li r3, 4
/* 803413F8 0033D058  48 00 00 20 */	b lbl_80341418
lbl_803413FC:
/* 803413FC 0033D05C  2C 00 00 00 */	cmpwi r0, 0
/* 80341400 0033D060  40 82 00 0C */	bne lbl_8034140C
/* 80341404 0033D064  38 60 00 00 */	li r3, 0
/* 80341408 0033D068  48 00 00 10 */	b lbl_80341418
lbl_8034140C:
/* 8034140C 0033D06C  38 00 00 02 */	li r0, 2
/* 80341410 0033D070  38 60 00 00 */	li r3, 0
/* 80341414 0033D074  90 1F 01 F4 */	stw r0, 0x1f4(r31)
lbl_80341418:
/* 80341418 0033D078  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8034141C 0033D07C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80341420 0033D080  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80341424 0033D084  7C 08 03 A6 */	mtlr r0
/* 80341428 0033D088  38 21 00 20 */	addi r1, r1, 0x20
/* 8034142C 0033D08C  4E 80 00 20 */	blr

.global gpiDisconnectCleanupProfile
gpiDisconnectCleanupProfile:
/* 80341430 0033D090  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80341434 0033D094  7C 08 02 A6 */	mflr r0
/* 80341438 0033D098  90 01 00 24 */	stw r0, 0x24(r1)
/* 8034143C 0033D09C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80341440 0033D0A0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80341444 0033D0A4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80341448 0033D0A8  7C 9D 23 78 */	mr r29, r4
/* 8034144C 0033D0AC  93 81 00 10 */	stw r28, 0x10(r1)
/* 80341450 0033D0B0  7C 7C 1B 78 */	mr r28, r3
/* 80341454 0033D0B4  80 A4 00 08 */	lwz r5, 8(r4)
/* 80341458 0033D0B8  83 C3 00 00 */	lwz r30, 0(r3)
/* 8034145C 0033D0BC  2C 05 00 00 */	cmpwi r5, 0
/* 80341460 0033D0C0  41 82 00 44 */	beq lbl_803414A4
/* 80341464 0033D0C4  80 1E 01 04 */	lwz r0, 0x104(r30)
/* 80341468 0033D0C8  2C 00 00 00 */	cmpwi r0, 0
/* 8034146C 0033D0CC  40 82 00 38 */	bne lbl_803414A4
/* 80341470 0033D0D0  80 65 00 08 */	lwz r3, 8(r5)
/* 80341474 0033D0D4  4B FF 7E C5 */	bl gsifree
/* 80341478 0033D0D8  80 7D 00 08 */	lwz r3, 8(r29)
/* 8034147C 0033D0DC  3B E0 00 00 */	li r31, 0
/* 80341480 0033D0E0  93 E3 00 08 */	stw r31, 8(r3)
/* 80341484 0033D0E4  80 7D 00 08 */	lwz r3, 8(r29)
/* 80341488 0033D0E8  80 63 00 0C */	lwz r3, 0xc(r3)
/* 8034148C 0033D0EC  4B FF 7E AD */	bl gsifree
/* 80341490 0033D0F0  80 7D 00 08 */	lwz r3, 8(r29)
/* 80341494 0033D0F4  93 E3 00 0C */	stw r31, 0xc(r3)
/* 80341498 0033D0F8  80 7D 00 08 */	lwz r3, 8(r29)
/* 8034149C 0033D0FC  4B FF 7E 9D */	bl gsifree
/* 803414A0 0033D100  93 FD 00 08 */	stw r31, 8(r29)
lbl_803414A4:
/* 803414A4 0033D104  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 803414A8 0033D108  4B FF 7E 91 */	bl gsifree
/* 803414AC 0033D10C  3B E0 00 00 */	li r31, 0
/* 803414B0 0033D110  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 803414B4 0033D114  93 FD 00 10 */	stw r31, 0x10(r29)
/* 803414B8 0033D118  4B FF 7E 81 */	bl gsifree
/* 803414BC 0033D11C  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 803414C0 0033D120  93 FD 00 18 */	stw r31, 0x18(r29)
/* 803414C4 0033D124  2C 00 00 00 */	cmpwi r0, 0
/* 803414C8 0033D128  93 FD 00 14 */	stw r31, 0x14(r29)
/* 803414CC 0033D12C  41 82 00 1C */	beq lbl_803414E8
/* 803414D0 0033D130  80 1E 01 04 */	lwz r0, 0x104(r30)
/* 803414D4 0033D134  2C 00 00 01 */	cmpwi r0, 1
/* 803414D8 0033D138  40 82 00 24 */	bne lbl_803414FC
/* 803414DC 0033D13C  80 1D 00 08 */	lwz r0, 8(r29)
/* 803414E0 0033D140  2C 00 00 00 */	cmpwi r0, 0
/* 803414E4 0033D144  40 82 00 18 */	bne lbl_803414FC
lbl_803414E8:
/* 803414E8 0033D148  7F 83 E3 78 */	mr r3, r28
/* 803414EC 0033D14C  7F A4 EB 78 */	mr r4, r29
/* 803414F0 0033D150  48 00 45 C1 */	bl gpiRemoveProfile
/* 803414F4 0033D154  38 60 00 00 */	li r3, 0
/* 803414F8 0033D158  48 00 00 08 */	b lbl_80341500
lbl_803414FC:
/* 803414FC 0033D15C  38 60 00 01 */	li r3, 1
lbl_80341500:
/* 80341500 0033D160  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80341504 0033D164  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80341508 0033D168  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8034150C 0033D16C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80341510 0033D170  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80341514 0033D174  7C 08 03 A6 */	mtlr r0
/* 80341518 0033D178  38 21 00 20 */	addi r1, r1, 0x20
/* 8034151C 0033D17C  4E 80 00 20 */	blr

.global gpiDisconnect
gpiDisconnect:
/* 80341520 0033D180  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80341524 0033D184  7C 08 02 A6 */	mflr r0
/* 80341528 0033D188  90 01 00 24 */	stw r0, 0x24(r1)
/* 8034152C 0033D18C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80341530 0033D190  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80341534 0033D194  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80341538 0033D198  7C 7D 1B 78 */	mr r29, r3
/* 8034153C 0033D19C  83 C3 00 00 */	lwz r30, 0(r3)
/* 80341540 0033D1A0  80 1E 01 F4 */	lwz r0, 0x1f4(r30)
/* 80341544 0033D1A4  2C 00 00 04 */	cmpwi r0, 4
/* 80341548 0033D1A8  41 82 01 68 */	beq lbl_803416B0
/* 8034154C 0033D1AC  2C 00 00 00 */	cmpwi r0, 0
/* 80341550 0033D1B0  41 82 00 BC */	beq lbl_8034160C
/* 80341554 0033D1B4  2C 04 00 00 */	cmpwi r4, 0
/* 80341558 0033D1B8  41 82 00 3C */	beq lbl_80341594
/* 8034155C 0033D1BC  2C 00 00 03 */	cmpwi r0, 3
/* 80341560 0033D1C0  40 82 00 34 */	bne lbl_80341594
/* 80341564 0033D1C4  3C A0 80 45 */	lis r5, lbl_8044ABD4@ha
/* 80341568 0033D1C8  38 9E 02 10 */	addi r4, r30, 0x210
/* 8034156C 0033D1CC  38 A5 AB D4 */	addi r5, r5, lbl_8044ABD4@l
/* 80341570 0033D1D0  4B FF DF 31 */	bl gpiAppendStringToBuffer
/* 80341574 0033D1D4  80 BE 01 98 */	lwz r5, 0x198(r30)
/* 80341578 0033D1D8  7F A3 EB 78 */	mr r3, r29
/* 8034157C 0033D1DC  38 9E 02 10 */	addi r4, r30, 0x210
/* 80341580 0033D1E0  4B FF DF 7D */	bl gpiAppendIntToBuffer
/* 80341584 0033D1E4  7F A3 EB 78 */	mr r3, r29
/* 80341588 0033D1E8  38 9E 02 10 */	addi r4, r30, 0x210
/* 8034158C 0033D1EC  38 AD 90 38 */	addi r5, r13, lbl_8063E2F8-_SDA_BASE_
/* 80341590 0033D1F0  4B FF DF 11 */	bl gpiAppendStringToBuffer
lbl_80341594:
/* 80341594 0033D1F4  80 9E 01 F0 */	lwz r4, 0x1f0(r30)
/* 80341598 0033D1F8  7F A3 EB 78 */	mr r3, r29
/* 8034159C 0033D1FC  38 BE 02 10 */	addi r5, r30, 0x210
/* 803415A0 0033D200  38 C1 00 08 */	addi r6, r1, 8
/* 803415A4 0033D204  38 E0 00 01 */	li r7, 1
/* 803415A8 0033D208  39 0D 90 80 */	addi r8, r13, lbl_8063E340-_SDA_BASE_
/* 803415AC 0033D20C  4B FF E3 E9 */	bl gpiSendFromBuffer
/* 803415B0 0033D210  80 7E 01 F0 */	lwz r3, 0x1f0(r30)
/* 803415B4 0033D214  2C 03 FF FF */	cmpwi r3, -1
/* 803415B8 0033D218  41 82 00 1C */	beq lbl_803415D4
/* 803415BC 0033D21C  38 80 00 02 */	li r4, 2
/* 803415C0 0033D220  4B FF 66 71 */	bl shutdown
/* 803415C4 0033D224  80 7E 01 F0 */	lwz r3, 0x1f0(r30)
/* 803415C8 0033D228  4B FF 66 35 */	bl closesocket
/* 803415CC 0033D22C  38 00 FF FF */	li r0, -1
/* 803415D0 0033D230  90 1E 01 F0 */	stw r0, 0x1f0(r30)
lbl_803415D4:
/* 803415D4 0033D234  80 7E 02 20 */	lwz r3, 0x220(r30)
/* 803415D8 0033D238  2C 03 FF FF */	cmpwi r3, -1
/* 803415DC 0033D23C  41 82 00 1C */	beq lbl_803415F8
/* 803415E0 0033D240  38 80 00 02 */	li r4, 2
/* 803415E4 0033D244  4B FF 66 4D */	bl shutdown
/* 803415E8 0033D248  80 7E 02 20 */	lwz r3, 0x220(r30)
/* 803415EC 0033D24C  4B FF 66 11 */	bl closesocket
/* 803415F0 0033D250  38 00 FF FF */	li r0, -1
/* 803415F4 0033D254  90 1E 02 20 */	stw r0, 0x220(r30)
lbl_803415F8:
/* 803415F8 0033D258  38 60 00 04 */	li r3, 4
/* 803415FC 0033D25C  38 00 00 00 */	li r0, 0
/* 80341600 0033D260  90 7E 01 F4 */	stw r3, 0x1f4(r30)
/* 80341604 0033D264  90 1E 01 9C */	stw r0, 0x19c(r30)
/* 80341608 0033D268  90 1E 01 A0 */	stw r0, 0x1a0(r30)
lbl_8034160C:
/* 8034160C 0033D26C  80 7E 01 F8 */	lwz r3, 0x1f8(r30)
/* 80341610 0033D270  4B FF 7D 29 */	bl gsifree
/* 80341614 0033D274  3B E0 00 00 */	li r31, 0
/* 80341618 0033D278  93 FE 01 F8 */	stw r31, 0x1f8(r30)
/* 8034161C 0033D27C  80 7E 02 08 */	lwz r3, 0x208(r30)
/* 80341620 0033D280  4B FF 7D 19 */	bl gsifree
/* 80341624 0033D284  93 FE 02 08 */	stw r31, 0x208(r30)
/* 80341628 0033D288  80 7E 02 10 */	lwz r3, 0x210(r30)
/* 8034162C 0033D28C  4B FF 7D 0D */	bl gsifree
/* 80341630 0033D290  93 FE 02 10 */	stw r31, 0x210(r30)
/* 80341634 0033D294  80 7E 04 5C */	lwz r3, 0x45c(r30)
/* 80341638 0033D298  4B FF 7D 01 */	bl gsifree
/* 8034163C 0033D29C  93 FE 04 5C */	stw r31, 0x45c(r30)
/* 80341640 0033D2A0  80 7E 04 6C */	lwz r3, 0x46c(r30)
/* 80341644 0033D2A4  4B FF 7C F5 */	bl gsifree
/* 80341648 0033D2A8  93 FE 04 6C */	stw r31, 0x46c(r30)
/* 8034164C 0033D2AC  48 00 00 0C */	b lbl_80341658
lbl_80341650:
/* 80341650 0033D2B0  7F A3 EB 78 */	mr r3, r29
/* 80341654 0033D2B4  48 00 2A 09 */	bl gpiRemoveOperation
lbl_80341658:
/* 80341658 0033D2B8  80 9E 04 40 */	lwz r4, 0x440(r30)
/* 8034165C 0033D2BC  2C 04 00 00 */	cmpwi r4, 0
/* 80341660 0033D2C0  40 82 FF F0 */	bne lbl_80341650
/* 80341664 0033D2C4  38 00 00 00 */	li r0, 0
/* 80341668 0033D2C8  90 1E 04 40 */	stw r0, 0x440(r30)
/* 8034166C 0033D2CC  83 FE 04 50 */	lwz r31, 0x450(r30)
/* 80341670 0033D2D0  48 00 00 14 */	b lbl_80341684
lbl_80341674:
/* 80341674 0033D2D4  7F E4 FB 78 */	mr r4, r31
/* 80341678 0033D2D8  83 FF 00 40 */	lwz r31, 0x40(r31)
/* 8034167C 0033D2DC  7F A3 EB 78 */	mr r3, r29
/* 80341680 0033D2E0  48 00 34 6D */	bl gpiDestroyPeer
lbl_80341684:
/* 80341684 0033D2E4  2C 1F 00 00 */	cmpwi r31, 0
/* 80341688 0033D2E8  40 82 FF EC */	bne lbl_80341674
/* 8034168C 0033D2EC  38 00 00 00 */	li r0, 0
/* 80341690 0033D2F0  3F E0 80 34 */	lis r31, gpiDisconnectCleanupProfile@ha
/* 80341694 0033D2F4  90 1E 04 50 */	stw r0, 0x450(r30)
lbl_80341698:
/* 80341698 0033D2F8  7F A3 EB 78 */	mr r3, r29
/* 8034169C 0033D2FC  38 9F 14 30 */	addi r4, r31, gpiDisconnectCleanupProfile@l
/* 803416A0 0033D300  38 A0 00 00 */	li r5, 0
/* 803416A4 0033D304  48 00 45 4D */	bl gpiProfileMap
/* 803416A8 0033D308  2C 03 00 00 */	cmpwi r3, 0
/* 803416AC 0033D30C  41 82 FF EC */	beq lbl_80341698
lbl_803416B0:
/* 803416B0 0033D310  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803416B4 0033D314  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803416B8 0033D318  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803416BC 0033D31C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 803416C0 0033D320  7C 08 03 A6 */	mtlr r0
/* 803416C4 0033D324  38 21 00 20 */	addi r1, r1, 0x20
/* 803416C8 0033D328  4E 80 00 20 */	blr