summaryrefslogtreecommitdiff
path: root/asm/SDK/BTE/rfc_ts_frames.s
blob: 85f35c1eed6df9ef55d162c9fb0ae76739330ec6 (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
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
.include "macros.inc"

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

.global rfc_send_sabme
rfc_send_sabme:
/* 802DFFC0 002DBC20  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802DFFC4 002DBC24  7C 08 02 A6 */	mflr r0
/* 802DFFC8 002DBC28  90 01 00 24 */	stw r0, 0x24(r1)
/* 802DFFCC 002DBC2C  39 61 00 20 */	addi r11, r1, 0x20
/* 802DFFD0 002DBC30  4B EE 71 59 */	bl _savegpr_27
/* 802DFFD4 002DBC34  88 03 00 6D */	lbz r0, 0x6d(r3)
/* 802DFFD8 002DBC38  7C 7B 1B 78 */	mr r27, r3
/* 802DFFDC 002DBC3C  7C 9C 23 78 */	mr r28, r4
/* 802DFFE0 002DBC40  38 60 00 01 */	li r3, 1
/* 802DFFE4 002DBC44  2C 00 00 00 */	cmpwi r0, 0
/* 802DFFE8 002DBC48  40 82 00 08 */	bne lbl_802DFFF0
/* 802DFFEC 002DBC4C  38 60 00 00 */	li r3, 0
lbl_802DFFF0:
/* 802DFFF0 002DBC50  54 7D 0E 3C */	rlwinm r29, r3, 1, 0x18, 0x1e
/* 802DFFF4 002DBC54  38 60 00 02 */	li r3, 2
/* 802DFFF8 002DBC58  4B FD 9C 55 */	bl GKI_getpoolbuf
/* 802DFFFC 002DBC5C  2C 03 00 00 */	cmpwi r3, 0
/* 802E0000 002DBC60  7C 7E 1B 78 */	mr r30, r3
/* 802E0004 002DBC64  41 82 00 54 */	beq lbl_802E0058
/* 802E0008 002DBC68  38 00 00 09 */	li r0, 9
/* 802E000C 002DBC6C  3B E3 00 11 */	addi r31, r3, 0x11
/* 802E0010 002DBC70  B0 03 00 04 */	sth r0, 4(r3)
/* 802E0014 002DBC74  63 A3 00 01 */	ori r3, r29, 1
/* 802E0018 002DBC78  57 80 15 BA */	rlwinm r0, r28, 2, 0x16, 0x1d
/* 802E001C 002DBC7C  38 A0 00 3F */	li r5, 0x3f
/* 802E0020 002DBC80  7C 63 03 78 */	or r3, r3, r0
/* 802E0024 002DBC84  7F E4 FB 78 */	mr r4, r31
/* 802E0028 002DBC88  98 7F 00 00 */	stb r3, 0(r31)
/* 802E002C 002DBC8C  38 00 00 01 */	li r0, 1
/* 802E0030 002DBC90  38 60 00 03 */	li r3, 3
/* 802E0034 002DBC94  98 BF 00 01 */	stb r5, 1(r31)
/* 802E0038 002DBC98  98 1F 00 02 */	stb r0, 2(r31)
/* 802E003C 002DBC9C  48 00 15 CD */	bl rfc_calc_fcs
/* 802E0040 002DBCA0  98 7F 00 03 */	stb r3, 3(r31)
/* 802E0044 002DBCA4  38 00 00 04 */	li r0, 4
/* 802E0048 002DBCA8  7F 63 DB 78 */	mr r3, r27
/* 802E004C 002DBCAC  7F C4 F3 78 */	mr r4, r30
/* 802E0050 002DBCB0  B0 1E 00 02 */	sth r0, 2(r30)
/* 802E0054 002DBCB4  48 00 1D 31 */	bl rfc_check_send_cmd
lbl_802E0058:
/* 802E0058 002DBCB8  39 61 00 20 */	addi r11, r1, 0x20
/* 802E005C 002DBCBC  4B EE 71 19 */	bl _restgpr_27
/* 802E0060 002DBCC0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E0064 002DBCC4  7C 08 03 A6 */	mtlr r0
/* 802E0068 002DBCC8  38 21 00 20 */	addi r1, r1, 0x20
/* 802E006C 002DBCCC  4E 80 00 20 */	blr

.global rfc_send_ua
rfc_send_ua:
/* 802E0070 002DBCD0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E0074 002DBCD4  7C 08 02 A6 */	mflr r0
/* 802E0078 002DBCD8  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E007C 002DBCDC  39 61 00 20 */	addi r11, r1, 0x20
/* 802E0080 002DBCE0  4B EE 70 A9 */	bl _savegpr_27
/* 802E0084 002DBCE4  88 03 00 6D */	lbz r0, 0x6d(r3)
/* 802E0088 002DBCE8  7C 7B 1B 78 */	mr r27, r3
/* 802E008C 002DBCEC  7C 9C 23 78 */	mr r28, r4
/* 802E0090 002DBCF0  38 60 00 01 */	li r3, 1
/* 802E0094 002DBCF4  2C 00 00 00 */	cmpwi r0, 0
/* 802E0098 002DBCF8  41 82 00 08 */	beq lbl_802E00A0
/* 802E009C 002DBCFC  38 60 00 00 */	li r3, 0
lbl_802E00A0:
/* 802E00A0 002DBD00  54 7D 0E 3C */	rlwinm r29, r3, 1, 0x18, 0x1e
/* 802E00A4 002DBD04  38 60 00 02 */	li r3, 2
/* 802E00A8 002DBD08  4B FD 9B A5 */	bl GKI_getpoolbuf
/* 802E00AC 002DBD0C  2C 03 00 00 */	cmpwi r3, 0
/* 802E00B0 002DBD10  7C 7E 1B 78 */	mr r30, r3
/* 802E00B4 002DBD14  41 82 00 54 */	beq lbl_802E0108
/* 802E00B8 002DBD18  38 00 00 09 */	li r0, 9
/* 802E00BC 002DBD1C  3B E3 00 11 */	addi r31, r3, 0x11
/* 802E00C0 002DBD20  B0 03 00 04 */	sth r0, 4(r3)
/* 802E00C4 002DBD24  63 A3 00 01 */	ori r3, r29, 1
/* 802E00C8 002DBD28  57 80 15 BA */	rlwinm r0, r28, 2, 0x16, 0x1d
/* 802E00CC 002DBD2C  38 A0 00 73 */	li r5, 0x73
/* 802E00D0 002DBD30  7C 63 03 78 */	or r3, r3, r0
/* 802E00D4 002DBD34  7F E4 FB 78 */	mr r4, r31
/* 802E00D8 002DBD38  98 7F 00 00 */	stb r3, 0(r31)
/* 802E00DC 002DBD3C  38 00 00 01 */	li r0, 1
/* 802E00E0 002DBD40  38 60 00 03 */	li r3, 3
/* 802E00E4 002DBD44  98 BF 00 01 */	stb r5, 1(r31)
/* 802E00E8 002DBD48  98 1F 00 02 */	stb r0, 2(r31)
/* 802E00EC 002DBD4C  48 00 15 1D */	bl rfc_calc_fcs
/* 802E00F0 002DBD50  98 7F 00 03 */	stb r3, 3(r31)
/* 802E00F4 002DBD54  38 00 00 04 */	li r0, 4
/* 802E00F8 002DBD58  7F 63 DB 78 */	mr r3, r27
/* 802E00FC 002DBD5C  7F C4 F3 78 */	mr r4, r30
/* 802E0100 002DBD60  B0 1E 00 02 */	sth r0, 2(r30)
/* 802E0104 002DBD64  48 00 1C 81 */	bl rfc_check_send_cmd
lbl_802E0108:
/* 802E0108 002DBD68  39 61 00 20 */	addi r11, r1, 0x20
/* 802E010C 002DBD6C  4B EE 70 69 */	bl _restgpr_27
/* 802E0110 002DBD70  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E0114 002DBD74  7C 08 03 A6 */	mtlr r0
/* 802E0118 002DBD78  38 21 00 20 */	addi r1, r1, 0x20
/* 802E011C 002DBD7C  4E 80 00 20 */	blr

.global rfc_send_dm
rfc_send_dm:
/* 802E0120 002DBD80  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E0124 002DBD84  7C 08 02 A6 */	mflr r0
/* 802E0128 002DBD88  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E012C 002DBD8C  39 61 00 20 */	addi r11, r1, 0x20
/* 802E0130 002DBD90  4B EE 6F F9 */	bl _savegpr_27
/* 802E0134 002DBD94  88 03 00 6D */	lbz r0, 0x6d(r3)
/* 802E0138 002DBD98  7C 7F 1B 78 */	mr r31, r3
/* 802E013C 002DBD9C  7C 9B 23 78 */	mr r27, r4
/* 802E0140 002DBDA0  7C BE 2B 78 */	mr r30, r5
/* 802E0144 002DBDA4  2C 00 00 00 */	cmpwi r0, 0
/* 802E0148 002DBDA8  38 00 00 01 */	li r0, 1
/* 802E014C 002DBDAC  41 82 00 08 */	beq lbl_802E0154
/* 802E0150 002DBDB0  38 00 00 00 */	li r0, 0
lbl_802E0154:
/* 802E0154 002DBDB4  54 1C 0E 3C */	rlwinm r28, r0, 1, 0x18, 0x1e
/* 802E0158 002DBDB8  38 60 00 02 */	li r3, 2
/* 802E015C 002DBDBC  4B FD 9A F1 */	bl GKI_getpoolbuf
/* 802E0160 002DBDC0  2C 03 00 00 */	cmpwi r3, 0
/* 802E0164 002DBDC4  7C 7D 1B 78 */	mr r29, r3
/* 802E0168 002DBDC8  41 82 00 64 */	beq lbl_802E01CC
/* 802E016C 002DBDCC  7C 1E 00 D0 */	neg r0, r30
/* 802E0170 002DBDD0  38 80 00 09 */	li r4, 9
/* 802E0174 002DBDD4  7C 00 F3 78 */	or r0, r0, r30
/* 802E0178 002DBDD8  B0 83 00 04 */	sth r4, 4(r3)
/* 802E017C 002DBDDC  3B C3 00 11 */	addi r30, r3, 0x11
/* 802E0180 002DBDE0  63 85 00 01 */	ori r5, r28, 1
/* 802E0184 002DBDE4  7C 03 FE 70 */	srawi r3, r0, 0x1f
/* 802E0188 002DBDE8  57 64 15 BA */	rlwinm r4, r27, 2, 0x16, 0x1d
/* 802E018C 002DBDEC  7C A4 23 78 */	or r4, r5, r4
/* 802E0190 002DBDF0  38 00 00 01 */	li r0, 1
/* 802E0194 002DBDF4  54 63 06 F6 */	rlwinm r3, r3, 0, 0x1b, 0x1b
/* 802E0198 002DBDF8  98 9E 00 00 */	stb r4, 0(r30)
/* 802E019C 002DBDFC  60 63 00 0F */	ori r3, r3, 0xf
/* 802E01A0 002DBE00  7F C4 F3 78 */	mr r4, r30
/* 802E01A4 002DBE04  98 7E 00 01 */	stb r3, 1(r30)
/* 802E01A8 002DBE08  38 60 00 03 */	li r3, 3
/* 802E01AC 002DBE0C  98 1E 00 02 */	stb r0, 2(r30)
/* 802E01B0 002DBE10  48 00 14 59 */	bl rfc_calc_fcs
/* 802E01B4 002DBE14  98 7E 00 03 */	stb r3, 3(r30)
/* 802E01B8 002DBE18  38 00 00 04 */	li r0, 4
/* 802E01BC 002DBE1C  7F E3 FB 78 */	mr r3, r31
/* 802E01C0 002DBE20  7F A4 EB 78 */	mr r4, r29
/* 802E01C4 002DBE24  B0 1D 00 02 */	sth r0, 2(r29)
/* 802E01C8 002DBE28  48 00 1B BD */	bl rfc_check_send_cmd
lbl_802E01CC:
/* 802E01CC 002DBE2C  39 61 00 20 */	addi r11, r1, 0x20
/* 802E01D0 002DBE30  4B EE 6F A5 */	bl _restgpr_27
/* 802E01D4 002DBE34  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E01D8 002DBE38  7C 08 03 A6 */	mtlr r0
/* 802E01DC 002DBE3C  38 21 00 20 */	addi r1, r1, 0x20
/* 802E01E0 002DBE40  4E 80 00 20 */	blr

.global rfc_send_disc
rfc_send_disc:
/* 802E01E4 002DBE44  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E01E8 002DBE48  7C 08 02 A6 */	mflr r0
/* 802E01EC 002DBE4C  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E01F0 002DBE50  39 61 00 20 */	addi r11, r1, 0x20
/* 802E01F4 002DBE54  4B EE 6F 35 */	bl _savegpr_27
/* 802E01F8 002DBE58  88 03 00 6D */	lbz r0, 0x6d(r3)
/* 802E01FC 002DBE5C  7C 7B 1B 78 */	mr r27, r3
/* 802E0200 002DBE60  7C 9C 23 78 */	mr r28, r4
/* 802E0204 002DBE64  38 60 00 01 */	li r3, 1
/* 802E0208 002DBE68  2C 00 00 00 */	cmpwi r0, 0
/* 802E020C 002DBE6C  40 82 00 08 */	bne lbl_802E0214
/* 802E0210 002DBE70  38 60 00 00 */	li r3, 0
lbl_802E0214:
/* 802E0214 002DBE74  54 7D 0E 3C */	rlwinm r29, r3, 1, 0x18, 0x1e
/* 802E0218 002DBE78  38 60 00 02 */	li r3, 2
/* 802E021C 002DBE7C  4B FD 9A 31 */	bl GKI_getpoolbuf
/* 802E0220 002DBE80  2C 03 00 00 */	cmpwi r3, 0
/* 802E0224 002DBE84  7C 7E 1B 78 */	mr r30, r3
/* 802E0228 002DBE88  41 82 00 54 */	beq lbl_802E027C
/* 802E022C 002DBE8C  38 00 00 09 */	li r0, 9
/* 802E0230 002DBE90  3B E3 00 11 */	addi r31, r3, 0x11
/* 802E0234 002DBE94  B0 03 00 04 */	sth r0, 4(r3)
/* 802E0238 002DBE98  63 A3 00 01 */	ori r3, r29, 1
/* 802E023C 002DBE9C  57 80 15 BA */	rlwinm r0, r28, 2, 0x16, 0x1d
/* 802E0240 002DBEA0  38 A0 00 53 */	li r5, 0x53
/* 802E0244 002DBEA4  7C 63 03 78 */	or r3, r3, r0
/* 802E0248 002DBEA8  7F E4 FB 78 */	mr r4, r31
/* 802E024C 002DBEAC  98 7F 00 00 */	stb r3, 0(r31)
/* 802E0250 002DBEB0  38 00 00 01 */	li r0, 1
/* 802E0254 002DBEB4  38 60 00 03 */	li r3, 3
/* 802E0258 002DBEB8  98 BF 00 01 */	stb r5, 1(r31)
/* 802E025C 002DBEBC  98 1F 00 02 */	stb r0, 2(r31)
/* 802E0260 002DBEC0  48 00 13 A9 */	bl rfc_calc_fcs
/* 802E0264 002DBEC4  98 7F 00 03 */	stb r3, 3(r31)
/* 802E0268 002DBEC8  38 00 00 04 */	li r0, 4
/* 802E026C 002DBECC  7F 63 DB 78 */	mr r3, r27
/* 802E0270 002DBED0  7F C4 F3 78 */	mr r4, r30
/* 802E0274 002DBED4  B0 1E 00 02 */	sth r0, 2(r30)
/* 802E0278 002DBED8  48 00 1B 0D */	bl rfc_check_send_cmd
lbl_802E027C:
/* 802E027C 002DBEDC  39 61 00 20 */	addi r11, r1, 0x20
/* 802E0280 002DBEE0  4B EE 6E F5 */	bl _restgpr_27
/* 802E0284 002DBEE4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E0288 002DBEE8  7C 08 03 A6 */	mtlr r0
/* 802E028C 002DBEEC  38 21 00 20 */	addi r1, r1, 0x20
/* 802E0290 002DBEF0  4E 80 00 20 */	blr

.global rfc_send_buf_uih
rfc_send_buf_uih:
/* 802E0294 002DBEF4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E0298 002DBEF8  7C 08 02 A6 */	mflr r0
/* 802E029C 002DBEFC  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E02A0 002DBF00  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802E02A4 002DBF04  7C BF 2B 78 */	mr r31, r5
/* 802E02A8 002DBF08  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802E02AC 002DBF0C  7C 9E 23 78 */	mr r30, r4
/* 802E02B0 002DBF10  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802E02B4 002DBF14  7C 7D 1B 78 */	mr r29, r3
/* 802E02B8 002DBF18  93 81 00 10 */	stw r28, 0x10(r1)
/* 802E02BC 002DBF1C  88 03 00 6D */	lbz r0, 0x6d(r3)
/* 802E02C0 002DBF20  2C 00 00 00 */	cmpwi r0, 0
/* 802E02C4 002DBF24  38 00 00 01 */	li r0, 1
/* 802E02C8 002DBF28  40 82 00 08 */	bne lbl_802E02D0
/* 802E02CC 002DBF2C  38 00 00 00 */	li r0, 0
lbl_802E02D0:
/* 802E02D0 002DBF30  A0 65 00 04 */	lhz r3, 4(r5)
/* 802E02D4 002DBF34  54 06 0E 3C */	rlwinm r6, r0, 1, 0x18, 0x1e
/* 802E02D8 002DBF38  A0 05 00 02 */	lhz r0, 2(r5)
/* 802E02DC 002DBF3C  38 63 FF FD */	addi r3, r3, -3
/* 802E02E0 002DBF40  28 00 00 7F */	cmplwi r0, 0x7f
/* 802E02E4 002DBF44  B0 65 00 04 */	sth r3, 4(r5)
/* 802E02E8 002DBF48  40 81 00 10 */	ble lbl_802E02F8
/* 802E02EC 002DBF4C  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 802E02F0 002DBF50  38 03 FF FF */	addi r0, r3, -1
/* 802E02F4 002DBF54  B0 05 00 04 */	sth r0, 4(r5)
lbl_802E02F8:
/* 802E02F8 002DBF58  2C 04 00 00 */	cmpwi r4, 0
/* 802E02FC 002DBF5C  41 82 00 10 */	beq lbl_802E030C
/* 802E0300 002DBF60  A0 05 00 06 */	lhz r0, 6(r5)
/* 802E0304 002DBF64  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 802E0308 002DBF68  48 00 00 08 */	b lbl_802E0310
lbl_802E030C:
/* 802E030C 002DBF6C  38 00 00 00 */	li r0, 0
lbl_802E0310:
/* 802E0310 002DBF70  2C 00 00 00 */	cmpwi r0, 0
/* 802E0314 002DBF74  41 82 00 10 */	beq lbl_802E0324
/* 802E0318 002DBF78  A0 65 00 04 */	lhz r3, 4(r5)
/* 802E031C 002DBF7C  38 63 FF FF */	addi r3, r3, -1
/* 802E0320 002DBF80  B0 65 00 04 */	sth r3, 4(r5)
lbl_802E0324:
/* 802E0324 002DBF84  7C 60 00 D0 */	neg r3, r0
/* 802E0328 002DBF88  A0 E5 00 04 */	lhz r7, 4(r5)
/* 802E032C 002DBF8C  7C 63 03 78 */	or r3, r3, r0
/* 802E0330 002DBF90  60 C6 00 01 */	ori r6, r6, 1
/* 802E0334 002DBF94  54 84 15 BA */	rlwinm r4, r4, 2, 0x16, 0x1d
/* 802E0338 002DBF98  7C E5 3A 14 */	add r7, r5, r7
/* 802E033C 002DBF9C  7C C4 23 78 */	or r4, r6, r4
/* 802E0340 002DBFA0  7C 63 FE 70 */	srawi r3, r3, 0x1f
/* 802E0344 002DBFA4  54 63 06 F6 */	rlwinm r3, r3, 0, 0x1b, 0x1b
/* 802E0348 002DBFA8  98 87 00 08 */	stb r4, 8(r7)
/* 802E034C 002DBFAC  60 63 00 EF */	ori r3, r3, 0xef
/* 802E0350 002DBFB0  38 87 00 0A */	addi r4, r7, 0xa
/* 802E0354 002DBFB4  98 67 00 09 */	stb r3, 9(r7)
/* 802E0358 002DBFB8  A0 65 00 02 */	lhz r3, 2(r5)
/* 802E035C 002DBFBC  28 03 00 7F */	cmplwi r3, 0x7f
/* 802E0360 002DBFC0  41 81 00 24 */	bgt lbl_802E0384
/* 802E0364 002DBFC4  54 63 0B FC */	rlwinm r3, r3, 1, 0xf, 0x1e
/* 802E0368 002DBFC8  60 63 00 01 */	ori r3, r3, 1
/* 802E036C 002DBFCC  98 64 00 00 */	stb r3, 0(r4)
/* 802E0370 002DBFD0  38 84 00 01 */	addi r4, r4, 1
/* 802E0374 002DBFD4  A0 65 00 02 */	lhz r3, 2(r5)
/* 802E0378 002DBFD8  38 63 00 03 */	addi r3, r3, 3
/* 802E037C 002DBFDC  B0 65 00 02 */	sth r3, 2(r5)
/* 802E0380 002DBFE0  48 00 00 28 */	b lbl_802E03A8
lbl_802E0384:
/* 802E0384 002DBFE4  54 63 0E 3C */	rlwinm r3, r3, 1, 0x18, 0x1e
/* 802E0388 002DBFE8  98 64 00 00 */	stb r3, 0(r4)
/* 802E038C 002DBFEC  A0 65 00 02 */	lhz r3, 2(r5)
/* 802E0390 002DBFF0  7C 63 3E 70 */	srawi r3, r3, 7
/* 802E0394 002DBFF4  98 64 00 01 */	stb r3, 1(r4)
/* 802E0398 002DBFF8  38 84 00 02 */	addi r4, r4, 2
/* 802E039C 002DBFFC  A0 65 00 02 */	lhz r3, 2(r5)
/* 802E03A0 002DC000  38 63 00 04 */	addi r3, r3, 4
/* 802E03A4 002DC004  B0 65 00 02 */	sth r3, 2(r5)
lbl_802E03A8:
/* 802E03A8 002DC008  2C 00 00 00 */	cmpwi r0, 0
/* 802E03AC 002DC00C  41 82 00 14 */	beq lbl_802E03C0
/* 802E03B0 002DC010  98 04 00 00 */	stb r0, 0(r4)
/* 802E03B4 002DC014  A0 65 00 02 */	lhz r3, 2(r5)
/* 802E03B8 002DC018  38 03 00 01 */	addi r0, r3, 1
/* 802E03BC 002DC01C  B0 05 00 02 */	sth r0, 2(r5)
lbl_802E03C0:
/* 802E03C0 002DC020  A0 85 00 02 */	lhz r4, 2(r5)
/* 802E03C4 002DC024  38 60 00 02 */	li r3, 2
/* 802E03C8 002DC028  A0 C5 00 04 */	lhz r6, 4(r5)
/* 802E03CC 002DC02C  38 04 00 01 */	addi r0, r4, 1
/* 802E03D0 002DC030  7C C5 32 14 */	add r6, r5, r6
/* 802E03D4 002DC034  B0 05 00 02 */	sth r0, 2(r5)
/* 802E03D8 002DC038  7F 86 22 14 */	add r28, r6, r4
/* 802E03DC 002DC03C  38 86 00 08 */	addi r4, r6, 8
/* 802E03E0 002DC040  48 00 12 29 */	bl rfc_calc_fcs
/* 802E03E4 002DC044  2C 1E 00 00 */	cmpwi r30, 0
/* 802E03E8 002DC048  98 7C 00 08 */	stb r3, 8(r28)
/* 802E03EC 002DC04C  40 82 00 14 */	bne lbl_802E0400
/* 802E03F0 002DC050  7F A3 EB 78 */	mr r3, r29
/* 802E03F4 002DC054  7F E4 FB 78 */	mr r4, r31
/* 802E03F8 002DC058  48 00 19 8D */	bl rfc_check_send_cmd
/* 802E03FC 002DC05C  48 00 00 10 */	b lbl_802E040C
lbl_802E0400:
/* 802E0400 002DC060  A0 7D 00 68 */	lhz r3, 0x68(r29)
/* 802E0404 002DC064  7F E4 FB 78 */	mr r4, r31
/* 802E0408 002DC068  4B FF 5C E9 */	bl L2CA_DataWrite
lbl_802E040C:
/* 802E040C 002DC06C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E0410 002DC070  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802E0414 002DC074  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802E0418 002DC078  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802E041C 002DC07C  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802E0420 002DC080  7C 08 03 A6 */	mtlr r0
/* 802E0424 002DC084  38 21 00 20 */	addi r1, r1, 0x20
/* 802E0428 002DC088  4E 80 00 20 */	blr

.global rfc_send_pn
rfc_send_pn:
/* 802E042C 002DC08C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E0430 002DC090  7C 08 02 A6 */	mflr r0
/* 802E0434 002DC094  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E0438 002DC098  39 61 00 20 */	addi r11, r1, 0x20
/* 802E043C 002DC09C  4B EE 6C E9 */	bl _savegpr_26
/* 802E0440 002DC0A0  7C 7E 1B 78 */	mr r30, r3
/* 802E0444 002DC0A4  7C 9A 23 78 */	mr r26, r4
/* 802E0448 002DC0A8  7C BB 2B 78 */	mr r27, r5
/* 802E044C 002DC0AC  7C DF 33 78 */	mr r31, r6
/* 802E0450 002DC0B0  7C FC 3B 78 */	mr r28, r7
/* 802E0454 002DC0B4  7D 1D 43 78 */	mr r29, r8
/* 802E0458 002DC0B8  38 60 00 02 */	li r3, 2
/* 802E045C 002DC0BC  4B FD 97 F1 */	bl GKI_getpoolbuf
/* 802E0460 002DC0C0  2C 03 00 00 */	cmpwi r3, 0
/* 802E0464 002DC0C4  41 82 00 98 */	beq lbl_802E04FC
/* 802E0468 002DC0C8  7C 1B 00 D0 */	neg r0, r27
/* 802E046C 002DC0CC  38 80 00 0C */	li r4, 0xc
/* 802E0470 002DC0D0  7C 00 DB 78 */	or r0, r0, r27
/* 802E0474 002DC0D4  B0 83 00 04 */	sth r4, 4(r3)
/* 802E0478 002DC0D8  7C 04 FE 70 */	srawi r4, r0, 0x1f
/* 802E047C 002DC0DC  2C 1B 00 00 */	cmpwi r27, 0
/* 802E0480 002DC0E0  54 84 07 BC */	rlwinm r4, r4, 0, 0x1e, 0x1e
/* 802E0484 002DC0E4  38 00 00 11 */	li r0, 0x11
/* 802E0488 002DC0E8  60 84 00 81 */	ori r4, r4, 0x81
/* 802E048C 002DC0EC  39 03 00 18 */	addi r8, r3, 0x18
/* 802E0490 002DC0F0  98 83 00 14 */	stb r4, 0x14(r3)
/* 802E0494 002DC0F4  98 03 00 15 */	stb r0, 0x15(r3)
/* 802E0498 002DC0F8  9B 43 00 16 */	stb r26, 0x16(r3)
/* 802E049C 002DC0FC  9B 83 00 17 */	stb r28, 0x17(r3)
/* 802E04A0 002DC100  41 82 00 14 */	beq lbl_802E04B4
/* 802E04A4 002DC104  38 00 00 00 */	li r0, 0
/* 802E04A8 002DC108  98 08 00 00 */	stb r0, 0(r8)
/* 802E04AC 002DC10C  39 08 00 01 */	addi r8, r8, 1
/* 802E04B0 002DC110  48 00 00 18 */	b lbl_802E04C8
lbl_802E04B4:
/* 802E04B4 002DC114  3C 80 80 57 */	lis r4, lbl_8056C428@ha
/* 802E04B8 002DC118  38 84 C4 28 */	addi r4, r4, lbl_8056C428@l
/* 802E04BC 002DC11C  88 04 00 0B */	lbz r0, 0xb(r4)
/* 802E04C0 002DC120  98 08 00 00 */	stb r0, 0(r8)
/* 802E04C4 002DC124  39 08 00 01 */	addi r8, r8, 1
lbl_802E04C8:
/* 802E04C8 002DC128  38 E0 00 00 */	li r7, 0
/* 802E04CC 002DC12C  57 E6 C6 3E */	rlwinm r6, r31, 0x18, 0x18, 0x1f
/* 802E04D0 002DC130  98 E8 00 00 */	stb r7, 0(r8)
/* 802E04D4 002DC134  38 00 00 0A */	li r0, 0xa
/* 802E04D8 002DC138  7C 65 1B 78 */	mr r5, r3
/* 802E04DC 002DC13C  38 80 00 00 */	li r4, 0
/* 802E04E0 002DC140  9B E8 00 01 */	stb r31, 1(r8)
/* 802E04E4 002DC144  98 C8 00 02 */	stb r6, 2(r8)
/* 802E04E8 002DC148  98 E8 00 03 */	stb r7, 3(r8)
/* 802E04EC 002DC14C  9B A8 00 04 */	stb r29, 4(r8)
/* 802E04F0 002DC150  B0 03 00 02 */	sth r0, 2(r3)
/* 802E04F4 002DC154  7F C3 F3 78 */	mr r3, r30
/* 802E04F8 002DC158  4B FF FD 9D */	bl rfc_send_buf_uih
lbl_802E04FC:
/* 802E04FC 002DC15C  39 61 00 20 */	addi r11, r1, 0x20
/* 802E0500 002DC160  4B EE 6C 71 */	bl _restgpr_26
/* 802E0504 002DC164  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E0508 002DC168  7C 08 03 A6 */	mtlr r0
/* 802E050C 002DC16C  38 21 00 20 */	addi r1, r1, 0x20
/* 802E0510 002DC170  4E 80 00 20 */	blr

.global rfc_send_fcon
rfc_send_fcon:
/* 802E0514 002DC174  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E0518 002DC178  7C 08 02 A6 */	mflr r0
/* 802E051C 002DC17C  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E0520 002DC180  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E0524 002DC184  7C 9F 23 78 */	mr r31, r4
/* 802E0528 002DC188  93 C1 00 08 */	stw r30, 8(r1)
/* 802E052C 002DC18C  7C 7E 1B 78 */	mr r30, r3
/* 802E0530 002DC190  38 60 00 02 */	li r3, 2
/* 802E0534 002DC194  4B FD 97 19 */	bl GKI_getpoolbuf
/* 802E0538 002DC198  2C 03 00 00 */	cmpwi r3, 0
/* 802E053C 002DC19C  41 82 00 44 */	beq lbl_802E0580
/* 802E0540 002DC1A0  7C 1F 00 D0 */	neg r0, r31
/* 802E0544 002DC1A4  38 80 00 0C */	li r4, 0xc
/* 802E0548 002DC1A8  7C 00 FB 78 */	or r0, r0, r31
/* 802E054C 002DC1AC  B0 83 00 04 */	sth r4, 4(r3)
/* 802E0550 002DC1B0  7C 04 FE 70 */	srawi r4, r0, 0x1f
/* 802E0554 002DC1B4  38 C0 00 02 */	li r6, 2
/* 802E0558 002DC1B8  54 84 07 BC */	rlwinm r4, r4, 0, 0x1e, 0x1e
/* 802E055C 002DC1BC  38 00 00 01 */	li r0, 1
/* 802E0560 002DC1C0  60 84 00 A1 */	ori r4, r4, 0xa1
/* 802E0564 002DC1C4  7C 65 1B 78 */	mr r5, r3
/* 802E0568 002DC1C8  98 83 00 14 */	stb r4, 0x14(r3)
/* 802E056C 002DC1CC  38 80 00 00 */	li r4, 0
/* 802E0570 002DC1D0  98 03 00 15 */	stb r0, 0x15(r3)
/* 802E0574 002DC1D4  B0 C3 00 02 */	sth r6, 2(r3)
/* 802E0578 002DC1D8  7F C3 F3 78 */	mr r3, r30
/* 802E057C 002DC1DC  4B FF FD 19 */	bl rfc_send_buf_uih
lbl_802E0580:
/* 802E0580 002DC1E0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E0584 002DC1E4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E0588 002DC1E8  83 C1 00 08 */	lwz r30, 8(r1)
/* 802E058C 002DC1EC  7C 08 03 A6 */	mtlr r0
/* 802E0590 002DC1F0  38 21 00 10 */	addi r1, r1, 0x10
/* 802E0594 002DC1F4  4E 80 00 20 */	blr

.global rfc_send_fcoff
rfc_send_fcoff:
/* 802E0598 002DC1F8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E059C 002DC1FC  7C 08 02 A6 */	mflr r0
/* 802E05A0 002DC200  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E05A4 002DC204  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E05A8 002DC208  7C 9F 23 78 */	mr r31, r4
/* 802E05AC 002DC20C  93 C1 00 08 */	stw r30, 8(r1)
/* 802E05B0 002DC210  7C 7E 1B 78 */	mr r30, r3
/* 802E05B4 002DC214  38 60 00 02 */	li r3, 2
/* 802E05B8 002DC218  4B FD 96 95 */	bl GKI_getpoolbuf
/* 802E05BC 002DC21C  2C 03 00 00 */	cmpwi r3, 0
/* 802E05C0 002DC220  41 82 00 44 */	beq lbl_802E0604
/* 802E05C4 002DC224  7C 1F 00 D0 */	neg r0, r31
/* 802E05C8 002DC228  38 80 00 0C */	li r4, 0xc
/* 802E05CC 002DC22C  7C 00 FB 78 */	or r0, r0, r31
/* 802E05D0 002DC230  B0 83 00 04 */	sth r4, 4(r3)
/* 802E05D4 002DC234  7C 04 FE 70 */	srawi r4, r0, 0x1f
/* 802E05D8 002DC238  38 C0 00 02 */	li r6, 2
/* 802E05DC 002DC23C  54 84 07 BC */	rlwinm r4, r4, 0, 0x1e, 0x1e
/* 802E05E0 002DC240  38 00 00 01 */	li r0, 1
/* 802E05E4 002DC244  60 84 00 61 */	ori r4, r4, 0x61
/* 802E05E8 002DC248  7C 65 1B 78 */	mr r5, r3
/* 802E05EC 002DC24C  98 83 00 14 */	stb r4, 0x14(r3)
/* 802E05F0 002DC250  38 80 00 00 */	li r4, 0
/* 802E05F4 002DC254  98 03 00 15 */	stb r0, 0x15(r3)
/* 802E05F8 002DC258  B0 C3 00 02 */	sth r6, 2(r3)
/* 802E05FC 002DC25C  7F C3 F3 78 */	mr r3, r30
/* 802E0600 002DC260  4B FF FC 95 */	bl rfc_send_buf_uih
lbl_802E0604:
/* 802E0604 002DC264  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E0608 002DC268  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E060C 002DC26C  83 C1 00 08 */	lwz r30, 8(r1)
/* 802E0610 002DC270  7C 08 03 A6 */	mtlr r0
/* 802E0614 002DC274  38 21 00 10 */	addi r1, r1, 0x10
/* 802E0618 002DC278  4E 80 00 20 */	blr

.global rfc_send_msc
rfc_send_msc:
/* 802E061C 002DC27C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E0620 002DC280  7C 08 02 A6 */	mflr r0
/* 802E0624 002DC284  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E0628 002DC288  39 61 00 20 */	addi r11, r1, 0x20
/* 802E062C 002DC28C  4B EE 6A F9 */	bl _savegpr_26
/* 802E0630 002DC290  8B E6 00 00 */	lbz r31, 0(r6)
/* 802E0634 002DC294  7C 7C 1B 78 */	mr r28, r3
/* 802E0638 002DC298  8B C6 00 01 */	lbz r30, 1(r6)
/* 802E063C 002DC29C  7C 9A 23 78 */	mr r26, r4
/* 802E0640 002DC2A0  7C BB 2B 78 */	mr r27, r5
/* 802E0644 002DC2A4  7C DD 33 78 */	mr r29, r6
/* 802E0648 002DC2A8  38 60 00 02 */	li r3, 2
/* 802E064C 002DC2AC  4B FD 96 01 */	bl GKI_getpoolbuf
/* 802E0650 002DC2B0  2C 03 00 00 */	cmpwi r3, 0
/* 802E0654 002DC2B4  41 82 00 D0 */	beq lbl_802E0724
/* 802E0658 002DC2B8  7C 1B 00 D0 */	neg r0, r27
/* 802E065C 002DC2BC  7C 9E 00 D0 */	neg r4, r30
/* 802E0660 002DC2C0  7C 00 DB 78 */	or r0, r0, r27
/* 802E0664 002DC2C4  38 C0 00 0C */	li r6, 0xc
/* 802E0668 002DC2C8  7C 85 F3 78 */	or r5, r4, r30
/* 802E066C 002DC2CC  B0 C3 00 04 */	sth r6, 4(r3)
/* 802E0670 002DC2D0  7C 00 FE 70 */	srawi r0, r0, 0x1f
/* 802E0674 002DC2D4  57 44 15 BA */	rlwinm r4, r26, 2, 0x16, 0x1d
/* 802E0678 002DC2D8  54 00 07 BC */	rlwinm r0, r0, 0, 0x1e, 0x1e
/* 802E067C 002DC2DC  54 A5 0F FE */	srwi r5, r5, 0x1f
/* 802E0680 002DC2E0  60 00 00 E1 */	ori r0, r0, 0xe1
/* 802E0684 002DC2E4  2C 1E 00 00 */	cmpwi r30, 0
/* 802E0688 002DC2E8  39 25 00 02 */	addi r9, r5, 2
/* 802E068C 002DC2EC  98 03 00 14 */	stb r0, 0x14(r3)
/* 802E0690 002DC2F0  55 25 0D FC */	rlwinm r5, r9, 1, 0x17, 0x1e
/* 802E0694 002DC2F4  57 E0 07 FE */	clrlwi r0, r31, 0x1f
/* 802E0698 002DC2F8  60 A6 00 01 */	ori r6, r5, 1
/* 802E069C 002DC2FC  60 85 00 03 */	ori r5, r4, 3
/* 802E06A0 002DC300  98 C3 00 15 */	stb r6, 0x15(r3)
/* 802E06A4 002DC304  57 E4 FF FE */	rlwinm r4, r31, 0x1f, 0x1f, 0x1f
/* 802E06A8 002DC308  7D 00 00 D0 */	neg r8, r0
/* 802E06AC 002DC30C  98 A3 00 16 */	stb r5, 0x16(r3)
/* 802E06B0 002DC310  7C 84 00 D0 */	neg r4, r4
/* 802E06B4 002DC314  57 E0 F7 FE */	rlwinm r0, r31, 0x1e, 0x1f, 0x1f
/* 802E06B8 002DC318  88 FD 00 04 */	lbz r7, 4(r29)
/* 802E06BC 002DC31C  54 8A 07 38 */	rlwinm r10, r4, 0, 0x1c, 0x1c
/* 802E06C0 002DC320  7C C0 00 D0 */	neg r6, r0
/* 802E06C4 002DC324  57 E0 EF FE */	rlwinm r0, r31, 0x1d, 0x1f, 0x1f
/* 802E06C8 002DC328  7C 87 00 D0 */	neg r4, r7
/* 802E06CC 002DC32C  7C 84 3B 78 */	or r4, r4, r7
/* 802E06D0 002DC330  7C A0 00 D0 */	neg r5, r0
/* 802E06D4 002DC334  7C 84 FE 70 */	srawi r4, r4, 0x1f
/* 802E06D8 002DC338  61 40 00 01 */	ori r0, r10, 1
/* 802E06DC 002DC33C  54 84 07 BC */	rlwinm r4, r4, 0, 0x1e, 0x1e
/* 802E06E0 002DC340  38 E3 00 18 */	addi r7, r3, 0x18
/* 802E06E4 002DC344  51 04 07 7A */	rlwimi r4, r8, 0, 0x1d, 0x1d
/* 802E06E8 002DC348  50 C4 06 72 */	rlwimi r4, r6, 0, 0x19, 0x19
/* 802E06EC 002DC34C  50 A4 06 30 */	rlwimi r4, r5, 0, 0x18, 0x18
/* 802E06F0 002DC350  7C 80 03 78 */	or r0, r4, r0
/* 802E06F4 002DC354  98 03 00 17 */	stb r0, 0x17(r3)
/* 802E06F8 002DC358  41 82 00 10 */	beq lbl_802E0708
/* 802E06FC 002DC35C  57 C0 25 36 */	rlwinm r0, r30, 4, 0x14, 0x1b
/* 802E0700 002DC360  60 00 00 03 */	ori r0, r0, 3
/* 802E0704 002DC364  98 07 00 00 */	stb r0, 0(r7)
lbl_802E0708:
/* 802E0708 002DC368  55 24 06 3E */	clrlwi r4, r9, 0x18
/* 802E070C 002DC36C  7C 65 1B 78 */	mr r5, r3
/* 802E0710 002DC370  38 04 00 02 */	addi r0, r4, 2
/* 802E0714 002DC374  B0 03 00 02 */	sth r0, 2(r3)
/* 802E0718 002DC378  38 80 00 00 */	li r4, 0
/* 802E071C 002DC37C  7F 83 E3 78 */	mr r3, r28
/* 802E0720 002DC380  4B FF FB 75 */	bl rfc_send_buf_uih
lbl_802E0724:
/* 802E0724 002DC384  39 61 00 20 */	addi r11, r1, 0x20
/* 802E0728 002DC388  4B EE 6A 49 */	bl _restgpr_26
/* 802E072C 002DC38C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E0730 002DC390  7C 08 03 A6 */	mtlr r0
/* 802E0734 002DC394  38 21 00 20 */	addi r1, r1, 0x20
/* 802E0738 002DC398  4E 80 00 20 */	blr

.global rfc_send_rls
rfc_send_rls:
/* 802E073C 002DC39C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E0740 002DC3A0  7C 08 02 A6 */	mflr r0
/* 802E0744 002DC3A4  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E0748 002DC3A8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802E074C 002DC3AC  7C DF 33 78 */	mr r31, r6
/* 802E0750 002DC3B0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802E0754 002DC3B4  7C BE 2B 78 */	mr r30, r5
/* 802E0758 002DC3B8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802E075C 002DC3BC  7C 9D 23 78 */	mr r29, r4
/* 802E0760 002DC3C0  93 81 00 10 */	stw r28, 0x10(r1)
/* 802E0764 002DC3C4  7C 7C 1B 78 */	mr r28, r3
/* 802E0768 002DC3C8  38 60 00 02 */	li r3, 2
/* 802E076C 002DC3CC  4B FD 94 E1 */	bl GKI_getpoolbuf
/* 802E0770 002DC3D0  2C 03 00 00 */	cmpwi r3, 0
/* 802E0774 002DC3D4  41 82 00 58 */	beq lbl_802E07CC
/* 802E0778 002DC3D8  7C 1E 00 D0 */	neg r0, r30
/* 802E077C 002DC3DC  38 A0 00 0C */	li r5, 0xc
/* 802E0780 002DC3E0  7C 04 F3 78 */	or r4, r0, r30
/* 802E0784 002DC3E4  B0 A3 00 04 */	sth r5, 4(r3)
/* 802E0788 002DC3E8  7C 84 FE 70 */	srawi r4, r4, 0x1f
/* 802E078C 002DC3EC  57 A0 15 BA */	rlwinm r0, r29, 2, 0x16, 0x1d
/* 802E0790 002DC3F0  54 85 07 BC */	rlwinm r5, r4, 0, 0x1e, 0x1e
/* 802E0794 002DC3F4  63 E6 00 01 */	ori r6, r31, 1
/* 802E0798 002DC3F8  60 A5 00 51 */	ori r5, r5, 0x51
/* 802E079C 002DC3FC  60 07 00 03 */	ori r7, r0, 3
/* 802E07A0 002DC400  98 A3 00 14 */	stb r5, 0x14(r3)
/* 802E07A4 002DC404  38 80 00 05 */	li r4, 5
/* 802E07A8 002DC408  38 00 00 04 */	li r0, 4
/* 802E07AC 002DC40C  7C 65 1B 78 */	mr r5, r3
/* 802E07B0 002DC410  98 83 00 15 */	stb r4, 0x15(r3)
/* 802E07B4 002DC414  38 80 00 00 */	li r4, 0
/* 802E07B8 002DC418  98 E3 00 16 */	stb r7, 0x16(r3)
/* 802E07BC 002DC41C  98 C3 00 17 */	stb r6, 0x17(r3)
/* 802E07C0 002DC420  B0 03 00 02 */	sth r0, 2(r3)
/* 802E07C4 002DC424  7F 83 E3 78 */	mr r3, r28
/* 802E07C8 002DC428  4B FF FA CD */	bl rfc_send_buf_uih
lbl_802E07CC:
/* 802E07CC 002DC42C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E07D0 002DC430  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802E07D4 002DC434  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802E07D8 002DC438  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802E07DC 002DC43C  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802E07E0 002DC440  7C 08 03 A6 */	mtlr r0
/* 802E07E4 002DC444  38 21 00 20 */	addi r1, r1, 0x20
/* 802E07E8 002DC448  4E 80 00 20 */	blr

.global rfc_send_rpn
rfc_send_rpn:
/* 802E07EC 002DC44C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E07F0 002DC450  7C 08 02 A6 */	mflr r0
/* 802E07F4 002DC454  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E07F8 002DC458  39 61 00 20 */	addi r11, r1, 0x20
/* 802E07FC 002DC45C  4B EE 69 2D */	bl _savegpr_27
/* 802E0800 002DC460  7C 7D 1B 78 */	mr r29, r3
/* 802E0804 002DC464  7C 9B 23 78 */	mr r27, r4
/* 802E0808 002DC468  7C BC 2B 78 */	mr r28, r5
/* 802E080C 002DC46C  7C DE 33 78 */	mr r30, r6
/* 802E0810 002DC470  7C FF 3B 78 */	mr r31, r7
/* 802E0814 002DC474  38 60 00 02 */	li r3, 2
/* 802E0818 002DC478  4B FD 94 35 */	bl GKI_getpoolbuf
/* 802E081C 002DC47C  2C 03 00 00 */	cmpwi r3, 0
/* 802E0820 002DC480  7C 65 1B 78 */	mr r5, r3
/* 802E0824 002DC484  41 82 00 CC */	beq lbl_802E08F0
/* 802E0828 002DC488  7C 1C 00 D0 */	neg r0, r28
/* 802E082C 002DC48C  38 80 00 0C */	li r4, 0xc
/* 802E0830 002DC490  7C 00 E3 78 */	or r0, r0, r28
/* 802E0834 002DC494  B0 83 00 04 */	sth r4, 4(r3)
/* 802E0838 002DC498  7C 00 FE 70 */	srawi r0, r0, 0x1f
/* 802E083C 002DC49C  2C 1E 00 00 */	cmpwi r30, 0
/* 802E0840 002DC4A0  54 00 07 BC */	rlwinm r0, r0, 0, 0x1e, 0x1e
/* 802E0844 002DC4A4  38 83 00 15 */	addi r4, r3, 0x15
/* 802E0848 002DC4A8  60 00 00 91 */	ori r0, r0, 0x91
/* 802E084C 002DC4AC  98 03 00 14 */	stb r0, 0x14(r3)
/* 802E0850 002DC4B0  40 82 00 20 */	bne lbl_802E0870
/* 802E0854 002DC4B4  38 C0 00 03 */	li r6, 3
/* 802E0858 002DC4B8  57 60 15 BA */	rlwinm r0, r27, 2, 0x16, 0x1d
/* 802E085C 002DC4BC  98 C4 00 00 */	stb r6, 0(r4)
/* 802E0860 002DC4C0  60 00 00 03 */	ori r0, r0, 3
/* 802E0864 002DC4C4  98 04 00 01 */	stb r0, 1(r4)
/* 802E0868 002DC4C8  B0 C3 00 02 */	sth r6, 2(r3)
/* 802E086C 002DC4CC  48 00 00 78 */	b lbl_802E08E4
lbl_802E0870:
/* 802E0870 002DC4D0  38 C0 00 11 */	li r6, 0x11
/* 802E0874 002DC4D4  57 60 15 BA */	rlwinm r0, r27, 2, 0x16, 0x1d
/* 802E0878 002DC4D8  98 C4 00 00 */	stb r6, 0(r4)
/* 802E087C 002DC4DC  60 07 00 03 */	ori r7, r0, 3
/* 802E0880 002DC4E0  57 E6 C6 3E */	rlwinm r6, r31, 0x18, 0x18, 0x1f
/* 802E0884 002DC4E4  38 00 00 0A */	li r0, 0xa
/* 802E0888 002DC4E8  98 E4 00 01 */	stb r7, 1(r4)
/* 802E088C 002DC4EC  88 FE 00 00 */	lbz r7, 0(r30)
/* 802E0890 002DC4F0  98 E4 00 02 */	stb r7, 2(r4)
/* 802E0894 002DC4F4  88 FE 00 02 */	lbz r7, 2(r30)
/* 802E0898 002DC4F8  89 3E 00 03 */	lbz r9, 3(r30)
/* 802E089C 002DC4FC  89 5E 00 04 */	lbz r10, 4(r30)
/* 802E08A0 002DC500  54 E7 10 3A */	slwi r7, r7, 2
/* 802E08A4 002DC504  89 1E 00 01 */	lbz r8, 1(r30)
/* 802E08A8 002DC508  55 29 18 38 */	slwi r9, r9, 3
/* 802E08AC 002DC50C  55 4A 20 36 */	slwi r10, r10, 4
/* 802E08B0 002DC510  7D 07 3B 78 */	or r7, r8, r7
/* 802E08B4 002DC514  7D 27 3B 78 */	or r7, r9, r7
/* 802E08B8 002DC518  7D 47 3B 78 */	or r7, r10, r7
/* 802E08BC 002DC51C  98 E4 00 03 */	stb r7, 3(r4)
/* 802E08C0 002DC520  88 FE 00 05 */	lbz r7, 5(r30)
/* 802E08C4 002DC524  98 E4 00 04 */	stb r7, 4(r4)
/* 802E08C8 002DC528  88 FE 00 07 */	lbz r7, 7(r30)
/* 802E08CC 002DC52C  98 E4 00 05 */	stb r7, 5(r4)
/* 802E08D0 002DC530  88 FE 00 08 */	lbz r7, 8(r30)
/* 802E08D4 002DC534  98 E4 00 06 */	stb r7, 6(r4)
/* 802E08D8 002DC538  9B E4 00 07 */	stb r31, 7(r4)
/* 802E08DC 002DC53C  98 C4 00 08 */	stb r6, 8(r4)
/* 802E08E0 002DC540  B0 03 00 02 */	sth r0, 2(r3)
lbl_802E08E4:
/* 802E08E4 002DC544  7F A3 EB 78 */	mr r3, r29
/* 802E08E8 002DC548  38 80 00 00 */	li r4, 0
/* 802E08EC 002DC54C  4B FF F9 A9 */	bl rfc_send_buf_uih
lbl_802E08F0:
/* 802E08F0 002DC550  39 61 00 20 */	addi r11, r1, 0x20
/* 802E08F4 002DC554  4B EE 68 81 */	bl _restgpr_27
/* 802E08F8 002DC558  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E08FC 002DC55C  7C 08 03 A6 */	mtlr r0
/* 802E0900 002DC560  38 21 00 20 */	addi r1, r1, 0x20
/* 802E0904 002DC564  4E 80 00 20 */	blr

.global rfc_send_test
rfc_send_test:
/* 802E0908 002DC568  A0 05 00 04 */	lhz r0, 4(r5)
/* 802E090C 002DC56C  28 00 00 10 */	cmplwi r0, 0x10
/* 802E0910 002DC570  40 80 00 50 */	bge lbl_802E0960
/* 802E0914 002DC574  A0 C5 00 02 */	lhz r6, 2(r5)
/* 802E0918 002DC578  7C 05 02 14 */	add r0, r5, r0
/* 802E091C 002DC57C  39 00 00 00 */	li r8, 0
/* 802E0920 002DC580  7C E0 32 14 */	add r7, r0, r6
/* 802E0924 002DC584  7C C5 32 14 */	add r6, r5, r6
/* 802E0928 002DC588  38 E7 00 07 */	addi r7, r7, 7
/* 802E092C 002DC58C  39 26 00 17 */	addi r9, r6, 0x17
/* 802E0930 002DC590  48 00 00 18 */	b lbl_802E0948
lbl_802E0934:
/* 802E0934 002DC594  88 07 00 00 */	lbz r0, 0(r7)
/* 802E0938 002DC598  39 08 00 01 */	addi r8, r8, 1
/* 802E093C 002DC59C  38 E7 FF FF */	addi r7, r7, -1
/* 802E0940 002DC5A0  98 09 00 00 */	stb r0, 0(r9)
/* 802E0944 002DC5A4  39 29 FF FF */	addi r9, r9, -1
lbl_802E0948:
/* 802E0948 002DC5A8  A0 05 00 02 */	lhz r0, 2(r5)
/* 802E094C 002DC5AC  55 06 04 3E */	clrlwi r6, r8, 0x10
/* 802E0950 002DC5B0  7C 06 00 40 */	cmplw r6, r0
/* 802E0954 002DC5B4  41 80 FF E0 */	blt lbl_802E0934
/* 802E0958 002DC5B8  38 00 00 10 */	li r0, 0x10
/* 802E095C 002DC5BC  B0 05 00 04 */	sth r0, 4(r5)
lbl_802E0960:
/* 802E0960 002DC5C0  7C 04 00 D0 */	neg r0, r4
/* 802E0964 002DC5C4  A0 C5 00 04 */	lhz r6, 4(r5)
/* 802E0968 002DC5C8  7C 00 23 78 */	or r0, r0, r4
/* 802E096C 002DC5CC  38 86 FF FE */	addi r4, r6, -2
/* 802E0970 002DC5D0  7C 00 FE 70 */	srawi r0, r0, 0x1f
/* 802E0974 002DC5D4  B0 85 00 04 */	sth r4, 4(r5)
/* 802E0978 002DC5D8  54 86 04 3E */	clrlwi r6, r4, 0x10
/* 802E097C 002DC5DC  38 80 00 00 */	li r4, 0
/* 802E0980 002DC5E0  54 00 07 BC */	rlwinm r0, r0, 0, 0x1e, 0x1e
/* 802E0984 002DC5E4  7C C5 32 14 */	add r6, r5, r6
/* 802E0988 002DC5E8  60 00 00 21 */	ori r0, r0, 0x21
/* 802E098C 002DC5EC  98 06 00 08 */	stb r0, 8(r6)
/* 802E0990 002DC5F0  A0 05 00 02 */	lhz r0, 2(r5)
/* 802E0994 002DC5F4  54 00 08 3C */	slwi r0, r0, 1
/* 802E0998 002DC5F8  60 00 00 01 */	ori r0, r0, 1
/* 802E099C 002DC5FC  98 06 00 09 */	stb r0, 9(r6)
/* 802E09A0 002DC600  A0 C5 00 02 */	lhz r6, 2(r5)
/* 802E09A4 002DC604  38 06 00 02 */	addi r0, r6, 2
/* 802E09A8 002DC608  B0 05 00 02 */	sth r0, 2(r5)
/* 802E09AC 002DC60C  4B FF F8 E8 */	b rfc_send_buf_uih

.global rfc_send_credit
rfc_send_credit:
/* 802E09B0 002DC610  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E09B4 002DC614  7C 08 02 A6 */	mflr r0
/* 802E09B8 002DC618  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E09BC 002DC61C  39 61 00 20 */	addi r11, r1, 0x20
/* 802E09C0 002DC620  4B EE 67 69 */	bl _savegpr_27
/* 802E09C4 002DC624  88 03 00 6D */	lbz r0, 0x6d(r3)
/* 802E09C8 002DC628  7C 7B 1B 78 */	mr r27, r3
/* 802E09CC 002DC62C  7C 9C 23 78 */	mr r28, r4
/* 802E09D0 002DC630  7C BD 2B 78 */	mr r29, r5
/* 802E09D4 002DC634  2C 00 00 00 */	cmpwi r0, 0
/* 802E09D8 002DC638  38 00 00 01 */	li r0, 1
/* 802E09DC 002DC63C  40 82 00 08 */	bne lbl_802E09E4
/* 802E09E0 002DC640  38 00 00 00 */	li r0, 0
lbl_802E09E4:
/* 802E09E4 002DC644  54 1E 0E 3C */	rlwinm r30, r0, 1, 0x18, 0x1e
/* 802E09E8 002DC648  38 60 00 02 */	li r3, 2
/* 802E09EC 002DC64C  4B FD 92 61 */	bl GKI_getpoolbuf
/* 802E09F0 002DC650  2C 03 00 00 */	cmpwi r3, 0
/* 802E09F4 002DC654  7C 7F 1B 78 */	mr r31, r3
/* 802E09F8 002DC658  41 82 00 60 */	beq lbl_802E0A58
/* 802E09FC 002DC65C  38 A0 00 09 */	li r5, 9
/* 802E0A00 002DC660  63 C4 00 01 */	ori r4, r30, 1
/* 802E0A04 002DC664  57 80 15 BA */	rlwinm r0, r28, 2, 0x16, 0x1d
/* 802E0A08 002DC668  B0 A3 00 04 */	sth r5, 4(r3)
/* 802E0A0C 002DC66C  7C 80 03 78 */	or r0, r4, r0
/* 802E0A10 002DC670  38 80 00 FF */	li r4, 0xff
/* 802E0A14 002DC674  98 03 00 11 */	stb r0, 0x11(r3)
/* 802E0A18 002DC678  38 00 00 01 */	li r0, 1
/* 802E0A1C 002DC67C  3B DF 00 15 */	addi r30, r31, 0x15
/* 802E0A20 002DC680  98 83 00 12 */	stb r4, 0x12(r3)
/* 802E0A24 002DC684  98 03 00 13 */	stb r0, 0x13(r3)
/* 802E0A28 002DC688  9B A3 00 14 */	stb r29, 0x14(r3)
/* 802E0A2C 002DC68C  38 60 00 02 */	li r3, 2
/* 802E0A30 002DC690  A0 1F 00 04 */	lhz r0, 4(r31)
/* 802E0A34 002DC694  7C 9F 02 14 */	add r4, r31, r0
/* 802E0A38 002DC698  38 84 00 08 */	addi r4, r4, 8
/* 802E0A3C 002DC69C  48 00 0B CD */	bl rfc_calc_fcs
/* 802E0A40 002DC6A0  98 7E 00 00 */	stb r3, 0(r30)
/* 802E0A44 002DC6A4  38 00 00 05 */	li r0, 5
/* 802E0A48 002DC6A8  7F 63 DB 78 */	mr r3, r27
/* 802E0A4C 002DC6AC  7F E4 FB 78 */	mr r4, r31
/* 802E0A50 002DC6B0  B0 1F 00 02 */	sth r0, 2(r31)
/* 802E0A54 002DC6B4  48 00 13 31 */	bl rfc_check_send_cmd
lbl_802E0A58:
/* 802E0A58 002DC6B8  39 61 00 20 */	addi r11, r1, 0x20
/* 802E0A5C 002DC6BC  4B EE 67 19 */	bl _restgpr_27
/* 802E0A60 002DC6C0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E0A64 002DC6C4  7C 08 03 A6 */	mtlr r0
/* 802E0A68 002DC6C8  38 21 00 20 */	addi r1, r1, 0x20
/* 802E0A6C 002DC6CC  4E 80 00 20 */	blr

.global rfc_parse_data
rfc_parse_data:
/* 802E0A70 002DC6D0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E0A74 002DC6D4  7C 08 02 A6 */	mflr r0
/* 802E0A78 002DC6D8  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E0A7C 002DC6DC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802E0A80 002DC6E0  3F E0 80 44 */	lis r31, lbl_80444DF8@ha
/* 802E0A84 002DC6E4  3B FF 4D F8 */	addi r31, r31, lbl_80444DF8@l
/* 802E0A88 002DC6E8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802E0A8C 002DC6EC  7C 9E 23 78 */	mr r30, r4
/* 802E0A90 002DC6F0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802E0A94 002DC6F4  7C 7D 1B 78 */	mr r29, r3
/* 802E0A98 002DC6F8  A0 05 00 04 */	lhz r0, 4(r5)
/* 802E0A9C 002DC6FC  A1 05 00 02 */	lhz r8, 2(r5)
/* 802E0AA0 002DC700  7C C5 02 14 */	add r6, r5, r0
/* 802E0AA4 002DC704  38 E6 00 08 */	addi r7, r6, 8
/* 802E0AA8 002DC708  28 08 00 03 */	cmplwi r8, 3
/* 802E0AAC 002DC70C  7C E0 3B 78 */	mr r0, r7
/* 802E0AB0 002DC710  40 80 00 30 */	bge lbl_802E0AE0
/* 802E0AB4 002DC714  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E0AB8 002DC718  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E0ABC 002DC71C  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E0AC0 002DC720  28 00 00 01 */	cmplwi r0, 1
/* 802E0AC4 002DC724  41 80 00 14 */	blt lbl_802E0AD8
/* 802E0AC8 002DC728  7D 05 43 78 */	mr r5, r8
/* 802E0ACC 002DC72C  38 9F 00 00 */	addi r4, r31, 0
/* 802E0AD0 002DC730  3C 60 00 09 */	lis r3, 9
/* 802E0AD4 002DC734  4B FD C4 55 */	bl LogMsg_1
lbl_802E0AD8:
/* 802E0AD8 002DC738  38 60 00 32 */	li r3, 0x32
/* 802E0ADC 002DC73C  48 00 04 EC */	b lbl_802E0FC8
lbl_802E0AE0:
/* 802E0AE0 002DC740  89 07 00 00 */	lbz r8, 0(r7)
/* 802E0AE4 002DC744  55 06 07 BC */	rlwinm r6, r8, 0, 0x1e, 0x1e
/* 802E0AE8 002DC748  55 09 07 FF */	clrlwi. r9, r8, 0x1f
/* 802E0AEC 002DC74C  7C C6 0E 70 */	srawi r6, r6, 1
/* 802E0AF0 002DC750  98 C4 00 02 */	stb r6, 2(r4)
/* 802E0AF4 002DC754  88 C7 00 00 */	lbz r6, 0(r7)
/* 802E0AF8 002DC758  38 E7 00 01 */	addi r7, r7, 1
/* 802E0AFC 002DC75C  7C C8 16 70 */	srawi r8, r6, 2
/* 802E0B00 002DC760  99 04 00 00 */	stb r8, 0(r4)
/* 802E0B04 002DC764  40 82 00 1C */	bne lbl_802E0B20
/* 802E0B08 002DC768  88 C7 00 00 */	lbz r6, 0(r7)
/* 802E0B0C 002DC76C  55 08 06 3E */	clrlwi r8, r8, 0x18
/* 802E0B10 002DC770  38 E7 00 01 */	addi r7, r7, 1
/* 802E0B14 002DC774  54 C6 30 32 */	slwi r6, r6, 6
/* 802E0B18 002DC778  7C C8 32 14 */	add r6, r8, r6
/* 802E0B1C 002DC77C  98 C4 00 00 */	stb r6, 0(r4)
lbl_802E0B20:
/* 802E0B20 002DC780  88 C7 00 00 */	lbz r6, 0(r7)
/* 802E0B24 002DC784  54 C6 07 34 */	rlwinm r6, r6, 0, 0x1c, 0x1a
/* 802E0B28 002DC788  98 C4 00 01 */	stb r6, 1(r4)
/* 802E0B2C 002DC78C  88 C7 00 00 */	lbz r6, 0(r7)
/* 802E0B30 002DC790  54 C6 06 F6 */	rlwinm r6, r6, 0, 0x1b, 0x1b
/* 802E0B34 002DC794  7C C6 26 70 */	srawi r6, r6, 4
/* 802E0B38 002DC798  98 C4 00 04 */	stb r6, 4(r4)
/* 802E0B3C 002DC79C  88 C7 00 01 */	lbz r6, 1(r7)
/* 802E0B40 002DC7A0  38 E7 00 02 */	addi r7, r7, 2
/* 802E0B44 002DC7A4  54 CA 07 FF */	clrlwi. r10, r6, 0x1f
/* 802E0B48 002DC7A8  7C C8 0E 70 */	srawi r8, r6, 1
/* 802E0B4C 002DC7AC  40 82 00 18 */	bne lbl_802E0B64
/* 802E0B50 002DC7B0  88 C7 00 00 */	lbz r6, 0(r7)
/* 802E0B54 002DC7B4  38 E7 00 01 */	addi r7, r7, 1
/* 802E0B58 002DC7B8  54 C6 38 30 */	slwi r6, r6, 7
/* 802E0B5C 002DC7BC  7C C8 32 14 */	add r6, r8, r6
/* 802E0B60 002DC7C0  54 C8 04 3E */	clrlwi r8, r6, 0x10
lbl_802E0B64:
/* 802E0B64 002DC7C4  7D 46 00 34 */	cntlzw r6, r10
/* 802E0B68 002DC7C8  7D 29 00 34 */	cntlzw r9, r9
/* 802E0B6C 002DC7CC  54 CB D9 7E */	srwi r11, r6, 5
/* 802E0B70 002DC7D0  A0 C5 00 04 */	lhz r6, 4(r5)
/* 802E0B74 002DC7D4  55 2A D9 7E */	srwi r10, r9, 5
/* 802E0B78 002DC7D8  A1 25 00 02 */	lhz r9, 2(r5)
/* 802E0B7C 002DC7DC  7D 6A 5A 14 */	add r11, r10, r11
/* 802E0B80 002DC7E0  39 4B 00 04 */	addi r10, r11, 4
/* 802E0B84 002DC7E4  7C CB 32 14 */	add r6, r11, r6
/* 802E0B88 002DC7E8  7D 2A 48 50 */	subf r9, r10, r9
/* 802E0B8C 002DC7EC  38 C6 00 03 */	addi r6, r6, 3
/* 802E0B90 002DC7F0  B1 25 00 02 */	sth r9, 2(r5)
/* 802E0B94 002DC7F4  B0 C5 00 04 */	sth r6, 4(r5)
/* 802E0B98 002DC7F8  88 C3 00 72 */	lbz r6, 0x72(r3)
/* 802E0B9C 002DC7FC  28 06 00 02 */	cmplwi r6, 2
/* 802E0BA0 002DC800  40 82 00 50 */	bne lbl_802E0BF0
/* 802E0BA4 002DC804  88 C4 00 01 */	lbz r6, 1(r4)
/* 802E0BA8 002DC808  28 06 00 EF */	cmplwi r6, 0xef
/* 802E0BAC 002DC80C  40 82 00 44 */	bne lbl_802E0BF0
/* 802E0BB0 002DC810  88 C4 00 00 */	lbz r6, 0(r4)
/* 802E0BB4 002DC814  2C 06 00 00 */	cmpwi r6, 0
/* 802E0BB8 002DC818  41 82 00 38 */	beq lbl_802E0BF0
/* 802E0BBC 002DC81C  88 C4 00 04 */	lbz r6, 4(r4)
/* 802E0BC0 002DC820  28 06 00 01 */	cmplwi r6, 1
/* 802E0BC4 002DC824  40 82 00 2C */	bne lbl_802E0BF0
/* 802E0BC8 002DC828  88 C7 00 00 */	lbz r6, 0(r7)
/* 802E0BCC 002DC82C  38 E7 00 01 */	addi r7, r7, 1
/* 802E0BD0 002DC830  98 C4 00 05 */	stb r6, 5(r4)
/* 802E0BD4 002DC834  A1 25 00 02 */	lhz r9, 2(r5)
/* 802E0BD8 002DC838  A0 C5 00 04 */	lhz r6, 4(r5)
/* 802E0BDC 002DC83C  39 29 FF FF */	addi r9, r9, -1
/* 802E0BE0 002DC840  38 C6 00 01 */	addi r6, r6, 1
/* 802E0BE4 002DC844  B1 25 00 02 */	sth r9, 2(r5)
/* 802E0BE8 002DC848  B0 C5 00 04 */	sth r6, 4(r5)
/* 802E0BEC 002DC84C  48 00 00 0C */	b lbl_802E0BF8
lbl_802E0BF0:
/* 802E0BF0 002DC850  38 C0 00 00 */	li r6, 0
/* 802E0BF4 002DC854  98 C4 00 05 */	stb r6, 5(r4)
lbl_802E0BF8:
/* 802E0BF8 002DC858  A0 A5 00 02 */	lhz r5, 2(r5)
/* 802E0BFC 002DC85C  55 06 04 3E */	clrlwi r6, r8, 0x10
/* 802E0C00 002DC860  7C 05 30 40 */	cmplw r5, r6
/* 802E0C04 002DC864  41 82 00 2C */	beq lbl_802E0C30
/* 802E0C08 002DC868  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E0C0C 002DC86C  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E0C10 002DC870  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E0C14 002DC874  28 00 00 01 */	cmplwi r0, 1
/* 802E0C18 002DC878  41 80 00 10 */	blt lbl_802E0C28
/* 802E0C1C 002DC87C  38 9F 00 10 */	addi r4, r31, 0x10
/* 802E0C20 002DC880  3C 60 00 09 */	lis r3, 9
/* 802E0C24 002DC884  4B FD C3 1D */	bl LogMsg_2
lbl_802E0C28:
/* 802E0C28 002DC888  38 60 00 32 */	li r3, 0x32
/* 802E0C2C 002DC88C  48 00 03 9C */	b lbl_802E0FC8
lbl_802E0C30:
/* 802E0C30 002DC890  89 24 00 01 */	lbz r9, 1(r4)
/* 802E0C34 002DC894  7C A7 30 AE */	lbzx r5, r7, r6
/* 802E0C38 002DC898  2C 09 00 43 */	cmpwi r9, 0x43
/* 802E0C3C 002DC89C  41 82 02 0C */	beq lbl_802E0E48
/* 802E0C40 002DC8A0  40 80 00 1C */	bge lbl_802E0C5C
/* 802E0C44 002DC8A4  2C 09 00 2F */	cmpwi r9, 0x2f
/* 802E0C48 002DC8A8  41 82 00 2C */	beq lbl_802E0C74
/* 802E0C4C 002DC8AC  40 80 03 78 */	bge lbl_802E0FC4
/* 802E0C50 002DC8B0  2C 09 00 0F */	cmpwi r9, 0xf
/* 802E0C54 002DC8B4  41 82 01 60 */	beq lbl_802E0DB4
/* 802E0C58 002DC8B8  48 00 03 6C */	b lbl_802E0FC4
lbl_802E0C5C:
/* 802E0C5C 002DC8BC  2C 09 00 EF */	cmpwi r9, 0xef
/* 802E0C60 002DC8C0  41 82 02 88 */	beq lbl_802E0EE8
/* 802E0C64 002DC8C4  40 80 03 60 */	bge lbl_802E0FC4
/* 802E0C68 002DC8C8  2C 09 00 63 */	cmpwi r9, 0x63
/* 802E0C6C 002DC8CC  41 82 00 A8 */	beq lbl_802E0D14
/* 802E0C70 002DC8D0  48 00 03 54 */	b lbl_802E0FC4
lbl_802E0C74:
/* 802E0C74 002DC8D4  88 C3 00 6D */	lbz r6, 0x6d(r3)
/* 802E0C78 002DC8D8  2C 06 00 00 */	cmpwi r6, 0
/* 802E0C7C 002DC8DC  41 82 00 10 */	beq lbl_802E0C8C
/* 802E0C80 002DC8E0  88 64 00 02 */	lbz r3, 2(r4)
/* 802E0C84 002DC8E4  2C 03 00 00 */	cmpwi r3, 0
/* 802E0C88 002DC8E8  40 82 00 5C */	bne lbl_802E0CE4
lbl_802E0C8C:
/* 802E0C8C 002DC8EC  2C 06 00 00 */	cmpwi r6, 0
/* 802E0C90 002DC8F0  40 82 00 10 */	bne lbl_802E0CA0
/* 802E0C94 002DC8F4  88 64 00 02 */	lbz r3, 2(r4)
/* 802E0C98 002DC8F8  2C 03 00 00 */	cmpwi r3, 0
/* 802E0C9C 002DC8FC  41 82 00 48 */	beq lbl_802E0CE4
lbl_802E0CA0:
/* 802E0CA0 002DC900  88 64 00 04 */	lbz r3, 4(r4)
/* 802E0CA4 002DC904  2C 03 00 00 */	cmpwi r3, 0
/* 802E0CA8 002DC908  41 82 00 3C */	beq lbl_802E0CE4
/* 802E0CAC 002DC90C  55 03 04 3F */	clrlwi. r3, r8, 0x10
/* 802E0CB0 002DC910  40 82 00 34 */	bne lbl_802E0CE4
/* 802E0CB4 002DC914  88 64 00 00 */	lbz r3, 0(r4)
/* 802E0CB8 002DC918  2C 03 00 00 */	cmpwi r3, 0
/* 802E0CBC 002DC91C  41 82 00 14 */	beq lbl_802E0CD0
/* 802E0CC0 002DC920  28 03 00 02 */	cmplwi r3, 2
/* 802E0CC4 002DC924  41 80 00 20 */	blt lbl_802E0CE4
/* 802E0CC8 002DC928  28 03 00 3D */	cmplwi r3, 0x3d
/* 802E0CCC 002DC92C  41 81 00 18 */	bgt lbl_802E0CE4
lbl_802E0CD0:
/* 802E0CD0 002DC930  7C 04 03 78 */	mr r4, r0
/* 802E0CD4 002DC934  38 60 00 03 */	li r3, 3
/* 802E0CD8 002DC938  48 00 09 69 */	bl rfc_check_fcs
/* 802E0CDC 002DC93C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E0CE0 002DC940  40 82 00 2C */	bne lbl_802E0D0C
lbl_802E0CE4:
/* 802E0CE4 002DC944  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E0CE8 002DC948  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E0CEC 002DC94C  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E0CF0 002DC950  28 00 00 01 */	cmplwi r0, 1
/* 802E0CF4 002DC954  41 80 00 10 */	blt lbl_802E0D04
/* 802E0CF8 002DC958  38 9F 00 24 */	addi r4, r31, 0x24
/* 802E0CFC 002DC95C  3C 60 00 09 */	lis r3, 9
/* 802E0D00 002DC960  4B FD C2 11 */	bl LogMsg_0
lbl_802E0D04:
/* 802E0D04 002DC964  38 60 00 32 */	li r3, 0x32
/* 802E0D08 002DC968  48 00 02 C0 */	b lbl_802E0FC8
lbl_802E0D0C:
/* 802E0D0C 002DC96C  38 60 00 00 */	li r3, 0
/* 802E0D10 002DC970  48 00 02 B8 */	b lbl_802E0FC8
lbl_802E0D14:
/* 802E0D14 002DC974  88 C3 00 6D */	lbz r6, 0x6d(r3)
/* 802E0D18 002DC978  2C 06 00 00 */	cmpwi r6, 0
/* 802E0D1C 002DC97C  41 82 00 10 */	beq lbl_802E0D2C
/* 802E0D20 002DC980  88 64 00 02 */	lbz r3, 2(r4)
/* 802E0D24 002DC984  2C 03 00 00 */	cmpwi r3, 0
/* 802E0D28 002DC988  41 82 00 5C */	beq lbl_802E0D84
lbl_802E0D2C:
/* 802E0D2C 002DC98C  2C 06 00 00 */	cmpwi r6, 0
/* 802E0D30 002DC990  40 82 00 10 */	bne lbl_802E0D40
/* 802E0D34 002DC994  88 64 00 02 */	lbz r3, 2(r4)
/* 802E0D38 002DC998  2C 03 00 00 */	cmpwi r3, 0
/* 802E0D3C 002DC99C  40 82 00 48 */	bne lbl_802E0D84
lbl_802E0D40:
/* 802E0D40 002DC9A0  88 64 00 04 */	lbz r3, 4(r4)
/* 802E0D44 002DC9A4  2C 03 00 00 */	cmpwi r3, 0
/* 802E0D48 002DC9A8  41 82 00 3C */	beq lbl_802E0D84
/* 802E0D4C 002DC9AC  55 03 04 3F */	clrlwi. r3, r8, 0x10
/* 802E0D50 002DC9B0  40 82 00 34 */	bne lbl_802E0D84
/* 802E0D54 002DC9B4  88 64 00 00 */	lbz r3, 0(r4)
/* 802E0D58 002DC9B8  2C 03 00 00 */	cmpwi r3, 0
/* 802E0D5C 002DC9BC  41 82 00 14 */	beq lbl_802E0D70
/* 802E0D60 002DC9C0  28 03 00 02 */	cmplwi r3, 2
/* 802E0D64 002DC9C4  41 80 00 20 */	blt lbl_802E0D84
/* 802E0D68 002DC9C8  28 03 00 3D */	cmplwi r3, 0x3d
/* 802E0D6C 002DC9CC  41 81 00 18 */	bgt lbl_802E0D84
lbl_802E0D70:
/* 802E0D70 002DC9D0  7C 04 03 78 */	mr r4, r0
/* 802E0D74 002DC9D4  38 60 00 03 */	li r3, 3
/* 802E0D78 002DC9D8  48 00 08 C9 */	bl rfc_check_fcs
/* 802E0D7C 002DC9DC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E0D80 002DC9E0  40 82 00 2C */	bne lbl_802E0DAC
lbl_802E0D84:
/* 802E0D84 002DC9E4  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E0D88 002DC9E8  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E0D8C 002DC9EC  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E0D90 002DC9F0  28 00 00 01 */	cmplwi r0, 1
/* 802E0D94 002DC9F4  41 80 00 10 */	blt lbl_802E0DA4
/* 802E0D98 002DC9F8  3C 60 00 09 */	lis r3, 9
/* 802E0D9C 002DC9FC  38 8D 8A 68 */	addi r4, r13, lbl_8063DD28-_SDA_BASE_
/* 802E0DA0 002DCA00  4B FD C1 71 */	bl LogMsg_0
lbl_802E0DA4:
/* 802E0DA4 002DCA04  38 60 00 32 */	li r3, 0x32
/* 802E0DA8 002DCA08  48 00 02 20 */	b lbl_802E0FC8
lbl_802E0DAC:
/* 802E0DAC 002DCA0C  38 60 00 01 */	li r3, 1
/* 802E0DB0 002DCA10  48 00 02 18 */	b lbl_802E0FC8
lbl_802E0DB4:
/* 802E0DB4 002DCA14  88 C3 00 6D */	lbz r6, 0x6d(r3)
/* 802E0DB8 002DCA18  2C 06 00 00 */	cmpwi r6, 0
/* 802E0DBC 002DCA1C  41 82 00 10 */	beq lbl_802E0DCC
/* 802E0DC0 002DCA20  88 64 00 02 */	lbz r3, 2(r4)
/* 802E0DC4 002DCA24  2C 03 00 00 */	cmpwi r3, 0
/* 802E0DC8 002DCA28  41 82 00 50 */	beq lbl_802E0E18
lbl_802E0DCC:
/* 802E0DCC 002DCA2C  2C 06 00 00 */	cmpwi r6, 0
/* 802E0DD0 002DCA30  40 82 00 10 */	bne lbl_802E0DE0
/* 802E0DD4 002DCA34  88 64 00 02 */	lbz r3, 2(r4)
/* 802E0DD8 002DCA38  2C 03 00 00 */	cmpwi r3, 0
/* 802E0DDC 002DCA3C  40 82 00 3C */	bne lbl_802E0E18
lbl_802E0DE0:
/* 802E0DE0 002DCA40  55 03 04 3F */	clrlwi. r3, r8, 0x10
/* 802E0DE4 002DCA44  40 82 00 34 */	bne lbl_802E0E18
/* 802E0DE8 002DCA48  88 64 00 00 */	lbz r3, 0(r4)
/* 802E0DEC 002DCA4C  2C 03 00 00 */	cmpwi r3, 0
/* 802E0DF0 002DCA50  41 82 00 14 */	beq lbl_802E0E04
/* 802E0DF4 002DCA54  28 03 00 02 */	cmplwi r3, 2
/* 802E0DF8 002DCA58  41 80 00 20 */	blt lbl_802E0E18
/* 802E0DFC 002DCA5C  28 03 00 3D */	cmplwi r3, 0x3d
/* 802E0E00 002DCA60  41 81 00 18 */	bgt lbl_802E0E18
lbl_802E0E04:
/* 802E0E04 002DCA64  7C 04 03 78 */	mr r4, r0
/* 802E0E08 002DCA68  38 60 00 03 */	li r3, 3
/* 802E0E0C 002DCA6C  48 00 08 35 */	bl rfc_check_fcs
/* 802E0E10 002DCA70  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E0E14 002DCA74  40 82 00 2C */	bne lbl_802E0E40
lbl_802E0E18:
/* 802E0E18 002DCA78  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E0E1C 002DCA7C  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E0E20 002DCA80  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E0E24 002DCA84  28 00 00 01 */	cmplwi r0, 1
/* 802E0E28 002DCA88  41 80 00 10 */	blt lbl_802E0E38
/* 802E0E2C 002DCA8C  3C 60 00 09 */	lis r3, 9
/* 802E0E30 002DCA90  38 8D 8A 70 */	addi r4, r13, lbl_8063DD30-_SDA_BASE_
/* 802E0E34 002DCA94  4B FD C0 DD */	bl LogMsg_0
lbl_802E0E38:
/* 802E0E38 002DCA98  38 60 00 32 */	li r3, 0x32
/* 802E0E3C 002DCA9C  48 00 01 8C */	b lbl_802E0FC8
lbl_802E0E40:
/* 802E0E40 002DCAA0  38 60 00 02 */	li r3, 2
/* 802E0E44 002DCAA4  48 00 01 84 */	b lbl_802E0FC8
lbl_802E0E48:
/* 802E0E48 002DCAA8  88 C3 00 6D */	lbz r6, 0x6d(r3)
/* 802E0E4C 002DCAAC  2C 06 00 00 */	cmpwi r6, 0
/* 802E0E50 002DCAB0  41 82 00 10 */	beq lbl_802E0E60
/* 802E0E54 002DCAB4  88 64 00 02 */	lbz r3, 2(r4)
/* 802E0E58 002DCAB8  2C 03 00 00 */	cmpwi r3, 0
/* 802E0E5C 002DCABC  40 82 00 5C */	bne lbl_802E0EB8
lbl_802E0E60:
/* 802E0E60 002DCAC0  2C 06 00 00 */	cmpwi r6, 0
/* 802E0E64 002DCAC4  40 82 00 10 */	bne lbl_802E0E74
/* 802E0E68 002DCAC8  88 64 00 02 */	lbz r3, 2(r4)
/* 802E0E6C 002DCACC  2C 03 00 00 */	cmpwi r3, 0
/* 802E0E70 002DCAD0  41 82 00 48 */	beq lbl_802E0EB8
lbl_802E0E74:
/* 802E0E74 002DCAD4  88 64 00 04 */	lbz r3, 4(r4)
/* 802E0E78 002DCAD8  2C 03 00 00 */	cmpwi r3, 0
/* 802E0E7C 002DCADC  41 82 00 3C */	beq lbl_802E0EB8
/* 802E0E80 002DCAE0  55 03 04 3F */	clrlwi. r3, r8, 0x10
/* 802E0E84 002DCAE4  40 82 00 34 */	bne lbl_802E0EB8
/* 802E0E88 002DCAE8  88 64 00 00 */	lbz r3, 0(r4)
/* 802E0E8C 002DCAEC  2C 03 00 00 */	cmpwi r3, 0
/* 802E0E90 002DCAF0  41 82 00 14 */	beq lbl_802E0EA4
/* 802E0E94 002DCAF4  28 03 00 02 */	cmplwi r3, 2
/* 802E0E98 002DCAF8  41 80 00 20 */	blt lbl_802E0EB8
/* 802E0E9C 002DCAFC  28 03 00 3D */	cmplwi r3, 0x3d
/* 802E0EA0 002DCB00  41 81 00 18 */	bgt lbl_802E0EB8
lbl_802E0EA4:
/* 802E0EA4 002DCB04  7C 04 03 78 */	mr r4, r0
/* 802E0EA8 002DCB08  38 60 00 03 */	li r3, 3
/* 802E0EAC 002DCB0C  48 00 07 95 */	bl rfc_check_fcs
/* 802E0EB0 002DCB10  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E0EB4 002DCB14  40 82 00 2C */	bne lbl_802E0EE0
lbl_802E0EB8:
/* 802E0EB8 002DCB18  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E0EBC 002DCB1C  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E0EC0 002DCB20  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E0EC4 002DCB24  28 00 00 01 */	cmplwi r0, 1
/* 802E0EC8 002DCB28  41 80 00 10 */	blt lbl_802E0ED8
/* 802E0ECC 002DCB2C  38 9F 00 30 */	addi r4, r31, 0x30
/* 802E0ED0 002DCB30  3C 60 00 09 */	lis r3, 9
/* 802E0ED4 002DCB34  4B FD C0 3D */	bl LogMsg_0
lbl_802E0ED8:
/* 802E0ED8 002DCB38  38 60 00 32 */	li r3, 0x32
/* 802E0EDC 002DCB3C  48 00 00 EC */	b lbl_802E0FC8
lbl_802E0EE0:
/* 802E0EE0 002DCB40  38 60 00 03 */	li r3, 3
/* 802E0EE4 002DCB44  48 00 00 E4 */	b lbl_802E0FC8
lbl_802E0EE8:
/* 802E0EE8 002DCB48  88 64 00 00 */	lbz r3, 0(r4)
/* 802E0EEC 002DCB4C  2C 03 00 00 */	cmpwi r3, 0
/* 802E0EF0 002DCB50  41 82 00 3C */	beq lbl_802E0F2C
/* 802E0EF4 002DCB54  28 03 00 02 */	cmplwi r3, 2
/* 802E0EF8 002DCB58  41 80 00 0C */	blt lbl_802E0F04
/* 802E0EFC 002DCB5C  28 03 00 3D */	cmplwi r3, 0x3d
/* 802E0F00 002DCB60  40 81 00 2C */	ble lbl_802E0F2C
lbl_802E0F04:
/* 802E0F04 002DCB64  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E0F08 002DCB68  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E0F0C 002DCB6C  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E0F10 002DCB70  28 00 00 01 */	cmplwi r0, 1
/* 802E0F14 002DCB74  41 80 00 10 */	blt lbl_802E0F24
/* 802E0F18 002DCB78  38 9F 00 3C */	addi r4, r31, 0x3c
/* 802E0F1C 002DCB7C  3C 60 00 09 */	lis r3, 9
/* 802E0F20 002DCB80  4B FD BF F1 */	bl LogMsg_0
lbl_802E0F24:
/* 802E0F24 002DCB84  38 60 00 32 */	li r3, 0x32
/* 802E0F28 002DCB88  48 00 00 A0 */	b lbl_802E0FC8
lbl_802E0F2C:
/* 802E0F2C 002DCB8C  7C 04 03 78 */	mr r4, r0
/* 802E0F30 002DCB90  38 60 00 02 */	li r3, 2
/* 802E0F34 002DCB94  48 00 07 0D */	bl rfc_check_fcs
/* 802E0F38 002DCB98  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E0F3C 002DCB9C  40 82 00 2C */	bne lbl_802E0F68
/* 802E0F40 002DCBA0  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E0F44 002DCBA4  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E0F48 002DCBA8  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E0F4C 002DCBAC  28 00 00 01 */	cmplwi r0, 1
/* 802E0F50 002DCBB0  41 80 00 10 */	blt lbl_802E0F60
/* 802E0F54 002DCBB4  38 9F 00 54 */	addi r4, r31, 0x54
/* 802E0F58 002DCBB8  3C 60 00 09 */	lis r3, 9
/* 802E0F5C 002DCBBC  4B FD BF B5 */	bl LogMsg_0
lbl_802E0F60:
/* 802E0F60 002DCBC0  38 60 00 32 */	li r3, 0x32
/* 802E0F64 002DCBC4  48 00 00 64 */	b lbl_802E0FC8
lbl_802E0F68:
/* 802E0F68 002DCBC8  88 7D 00 6D */	lbz r3, 0x6d(r29)
/* 802E0F6C 002DCBCC  2C 03 00 00 */	cmpwi r3, 0
/* 802E0F70 002DCBD0  41 82 00 10 */	beq lbl_802E0F80
/* 802E0F74 002DCBD4  88 1E 00 02 */	lbz r0, 2(r30)
/* 802E0F78 002DCBD8  2C 00 00 00 */	cmpwi r0, 0
/* 802E0F7C 002DCBDC  40 82 00 18 */	bne lbl_802E0F94
lbl_802E0F80:
/* 802E0F80 002DCBE0  2C 03 00 00 */	cmpwi r3, 0
/* 802E0F84 002DCBE4  40 82 00 38 */	bne lbl_802E0FBC
/* 802E0F88 002DCBE8  88 1E 00 02 */	lbz r0, 2(r30)
/* 802E0F8C 002DCBEC  2C 00 00 00 */	cmpwi r0, 0
/* 802E0F90 002DCBF0  40 82 00 2C */	bne lbl_802E0FBC
lbl_802E0F94:
/* 802E0F94 002DCBF4  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E0F98 002DCBF8  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E0F9C 002DCBFC  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E0FA0 002DCC00  28 00 00 01 */	cmplwi r0, 1
/* 802E0FA4 002DCC04  41 80 00 10 */	blt lbl_802E0FB4
/* 802E0FA8 002DCC08  38 9F 00 64 */	addi r4, r31, 0x64
/* 802E0FAC 002DCC0C  3C 60 00 09 */	lis r3, 9
/* 802E0FB0 002DCC10  4B FD BF 61 */	bl LogMsg_0
lbl_802E0FB4:
/* 802E0FB4 002DCC14  38 60 00 04 */	li r3, 4
/* 802E0FB8 002DCC18  48 00 00 10 */	b lbl_802E0FC8
lbl_802E0FBC:
/* 802E0FBC 002DCC1C  38 60 00 04 */	li r3, 4
/* 802E0FC0 002DCC20  48 00 00 08 */	b lbl_802E0FC8
lbl_802E0FC4:
/* 802E0FC4 002DCC24  38 60 00 32 */	li r3, 0x32
lbl_802E0FC8:
/* 802E0FC8 002DCC28  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E0FCC 002DCC2C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802E0FD0 002DCC30  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802E0FD4 002DCC34  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802E0FD8 002DCC38  7C 08 03 A6 */	mtlr r0
/* 802E0FDC 002DCC3C  38 21 00 20 */	addi r1, r1, 0x20
/* 802E0FE0 002DCC40  4E 80 00 20 */	blr

.global rfc_process_mx_message
rfc_process_mx_message:
/* 802E0FE4 002DCC44  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E0FE8 002DCC48  7C 08 02 A6 */	mflr r0
/* 802E0FEC 002DCC4C  3C E0 80 44 */	lis r7, lbl_80444DF8@ha
/* 802E0FF0 002DCC50  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E0FF4 002DCC54  38 E7 4D F8 */	addi r7, r7, lbl_80444DF8@l
/* 802E0FF8 002DCC58  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802E0FFC 002DCC5C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802E1000 002DCC60  3F C0 80 57 */	lis r30, lbl_8056C428@ha
/* 802E1004 002DCC64  3B DE C4 28 */	addi r30, r30, lbl_8056C428@l
/* 802E1008 002DCC68  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802E100C 002DCC6C  7C 9D 23 78 */	mr r29, r4
/* 802E1010 002DCC70  93 81 00 10 */	stw r28, 0x10(r1)
/* 802E1014 002DCC74  7C 7C 1B 78 */	mr r28, r3
/* 802E1018 002DCC78  A0 04 00 04 */	lhz r0, 4(r4)
/* 802E101C 002DCC7C  A0 C4 00 02 */	lhz r6, 2(r4)
/* 802E1020 002DCC80  7C A4 02 14 */	add r5, r4, r0
/* 802E1024 002DCC84  88 05 00 08 */	lbz r0, 8(r5)
/* 802E1028 002DCC88  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 802E102C 002DCC8C  98 1E 00 03 */	stb r0, 3(r30)
/* 802E1030 002DCC90  88 05 00 08 */	lbz r0, 8(r5)
/* 802E1034 002DCC94  54 1F FF FE */	rlwinm r31, r0, 0x1f, 0x1f, 0x1f
/* 802E1038 002DCC98  9B FE 00 02 */	stb r31, 2(r30)
/* 802E103C 002DCC9C  88 05 00 08 */	lbz r0, 8(r5)
/* 802E1040 002DCCA0  54 00 06 3A */	rlwinm r0, r0, 0, 0x18, 0x1d
/* 802E1044 002DCCA4  98 1E 00 01 */	stb r0, 1(r30)
/* 802E1048 002DCCA8  41 82 00 0C */	beq lbl_802E1054
/* 802E104C 002DCCAC  2C 06 00 00 */	cmpwi r6, 0
/* 802E1050 002DCCB0  40 82 00 34 */	bne lbl_802E1084
lbl_802E1054:
/* 802E1054 002DCCB4  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E1058 002DCCB8  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E105C 002DCCBC  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E1060 002DCCC0  28 00 00 01 */	cmplwi r0, 1
/* 802E1064 002DCCC4  41 80 00 14 */	blt lbl_802E1078
/* 802E1068 002DCCC8  88 BE 00 03 */	lbz r5, 3(r30)
/* 802E106C 002DCCCC  38 87 00 78 */	addi r4, r7, 0x78
/* 802E1070 002DCCD0  3C 60 00 09 */	lis r3, 9
/* 802E1074 002DCCD4  4B FD BE CD */	bl LogMsg_2
lbl_802E1078:
/* 802E1078 002DCCD8  7F A3 EB 78 */	mr r3, r29
/* 802E107C 002DCCDC  4B FD 8C B9 */	bl GKI_freebuf
/* 802E1080 002DCCE0  48 00 05 68 */	b lbl_802E15E8
lbl_802E1084:
/* 802E1084 002DCCE4  88 65 00 09 */	lbz r3, 9(r5)
/* 802E1088 002DCCE8  3C C6 00 01 */	addis r6, r6, 1
/* 802E108C 002DCCEC  38 A5 00 0A */	addi r5, r5, 0xa
/* 802E1090 002DCCF0  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 802E1094 002DCCF4  7C 68 0E 70 */	srawi r8, r3, 1
/* 802E1098 002DCCF8  38 C6 FF FE */	addi r6, r6, -2
/* 802E109C 002DCCFC  40 82 00 1C */	bne lbl_802E10B8
/* 802E10A0 002DCD00  88 05 00 00 */	lbz r0, 0(r5)
/* 802E10A4 002DCD04  38 C6 FF FF */	addi r6, r6, -1
/* 802E10A8 002DCD08  38 A5 00 01 */	addi r5, r5, 1
/* 802E10AC 002DCD0C  54 00 38 30 */	slwi r0, r0, 7
/* 802E10B0 002DCD10  7C 08 02 14 */	add r0, r8, r0
/* 802E10B4 002DCD14  54 08 06 3E */	clrlwi r8, r0, 0x18
lbl_802E10B8:
/* 802E10B8 002DCD18  55 00 06 3E */	clrlwi r0, r8, 0x18
/* 802E10BC 002DCD1C  54 C3 04 3E */	clrlwi r3, r6, 0x10
/* 802E10C0 002DCD20  7C 00 18 00 */	cmpw r0, r3
/* 802E10C4 002DCD24  41 82 00 30 */	beq lbl_802E10F4
/* 802E10C8 002DCD28  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E10CC 002DCD2C  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E10D0 002DCD30  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E10D4 002DCD34  28 00 00 01 */	cmplwi r0, 1
/* 802E10D8 002DCD38  41 80 00 10 */	blt lbl_802E10E8
/* 802E10DC 002DCD3C  38 87 00 98 */	addi r4, r7, 0x98
/* 802E10E0 002DCD40  3C 60 00 09 */	lis r3, 9
/* 802E10E4 002DCD44  4B FD BE 2D */	bl LogMsg_0
lbl_802E10E8:
/* 802E10E8 002DCD48  7F A3 EB 78 */	mr r3, r29
/* 802E10EC 002DCD4C  4B FD 8C 49 */	bl GKI_freebuf
/* 802E10F0 002DCD50  48 00 04 F8 */	b lbl_802E15E8
lbl_802E10F4:
/* 802E10F4 002DCD54  88 1E 00 01 */	lbz r0, 1(r30)
/* 802E10F8 002DCD58  2C 00 00 80 */	cmpwi r0, 0x80
/* 802E10FC 002DCD5C  41 82 00 5C */	beq lbl_802E1158
/* 802E1100 002DCD60  40 80 00 34 */	bge lbl_802E1134
/* 802E1104 002DCD64  2C 00 00 50 */	cmpwi r0, 0x50
/* 802E1108 002DCD68  41 82 03 DC */	beq lbl_802E14E4
/* 802E110C 002DCD6C  40 80 00 1C */	bge lbl_802E1128
/* 802E1110 002DCD70  2C 00 00 20 */	cmpwi r0, 0x20
/* 802E1114 002DCD74  41 82 01 18 */	beq lbl_802E122C
/* 802E1118 002DCD78  40 80 04 60 */	bge lbl_802E1578
/* 802E111C 002DCD7C  2C 00 00 10 */	cmpwi r0, 0x10
/* 802E1120 002DCD80  41 82 02 5C */	beq lbl_802E137C
/* 802E1124 002DCD84  48 00 04 54 */	b lbl_802E1578
lbl_802E1128:
/* 802E1128 002DCD88  2C 00 00 60 */	cmpwi r0, 0x60
/* 802E112C 002DCD8C  41 82 01 74 */	beq lbl_802E12A0
/* 802E1130 002DCD90  48 00 04 48 */	b lbl_802E1578
lbl_802E1134:
/* 802E1134 002DCD94  2C 00 00 A0 */	cmpwi r0, 0xa0
/* 802E1138 002DCD98  41 82 01 48 */	beq lbl_802E1280
/* 802E113C 002DCD9C  40 80 00 10 */	bge lbl_802E114C
/* 802E1140 002DCDA0  2C 00 00 90 */	cmpwi r0, 0x90
/* 802E1144 002DCDA4  41 82 02 88 */	beq lbl_802E13CC
/* 802E1148 002DCDA8  48 00 04 30 */	b lbl_802E1578
lbl_802E114C:
/* 802E114C 002DCDAC  2C 00 00 E0 */	cmpwi r0, 0xe0
/* 802E1150 002DCDB0  41 82 01 70 */	beq lbl_802E12C0
/* 802E1154 002DCDB4  48 00 04 24 */	b lbl_802E1578
lbl_802E1158:
/* 802E1158 002DCDB8  28 03 00 08 */	cmplwi r3, 8
/* 802E115C 002DCDBC  40 82 04 1C */	bne lbl_802E1578
/* 802E1160 002DCDC0  88 05 00 00 */	lbz r0, 0(r5)
/* 802E1164 002DCDC4  54 04 06 BF */	clrlwi. r4, r0, 0x1a
/* 802E1168 002DCDC8  98 9E 00 00 */	stb r4, 0(r30)
/* 802E116C 002DCDCC  88 05 00 01 */	lbz r0, 1(r5)
/* 802E1170 002DCDD0  54 00 07 3E */	clrlwi r0, r0, 0x1c
/* 802E1174 002DCDD4  98 1E 00 09 */	stb r0, 9(r30)
/* 802E1178 002DCDD8  88 05 00 01 */	lbz r0, 1(r5)
/* 802E117C 002DCDDC  54 00 06 36 */	rlwinm r0, r0, 0, 0x18, 0x1b
/* 802E1180 002DCDE0  98 1E 00 0A */	stb r0, 0xa(r30)
/* 802E1184 002DCDE4  88 05 00 02 */	lbz r0, 2(r5)
/* 802E1188 002DCDE8  54 00 06 BE */	clrlwi r0, r0, 0x1a
/* 802E118C 002DCDEC  98 1E 00 0B */	stb r0, 0xb(r30)
/* 802E1190 002DCDF0  88 05 00 03 */	lbz r0, 3(r5)
/* 802E1194 002DCDF4  98 1E 00 0C */	stb r0, 0xc(r30)
/* 802E1198 002DCDF8  88 05 00 05 */	lbz r0, 5(r5)
/* 802E119C 002DCDFC  88 65 00 04 */	lbz r3, 4(r5)
/* 802E11A0 002DCE00  54 00 40 2E */	slwi r0, r0, 8
/* 802E11A4 002DCE04  7C 03 02 14 */	add r0, r3, r0
/* 802E11A8 002DCE08  B0 1E 00 0E */	sth r0, 0xe(r30)
/* 802E11AC 002DCE0C  88 05 00 06 */	lbz r0, 6(r5)
/* 802E11B0 002DCE10  98 1E 00 10 */	stb r0, 0x10(r30)
/* 802E11B4 002DCE14  88 05 00 07 */	lbz r0, 7(r5)
/* 802E11B8 002DCE18  54 00 07 7E */	clrlwi r0, r0, 0x1d
/* 802E11BC 002DCE1C  98 1E 00 11 */	stb r0, 0x11(r30)
/* 802E11C0 002DCE20  41 82 00 2C */	beq lbl_802E11EC
/* 802E11C4 002DCE24  41 82 00 14 */	beq lbl_802E11D8
/* 802E11C8 002DCE28  28 04 00 02 */	cmplwi r4, 2
/* 802E11CC 002DCE2C  41 80 00 20 */	blt lbl_802E11EC
/* 802E11D0 002DCE30  28 04 00 3D */	cmplwi r4, 0x3d
/* 802E11D4 002DCE34  41 81 00 18 */	bgt lbl_802E11EC
lbl_802E11D8:
/* 802E11D8 002DCE38  A0 1E 00 0E */	lhz r0, 0xe(r30)
/* 802E11DC 002DCE3C  28 00 00 17 */	cmplwi r0, 0x17
/* 802E11E0 002DCE40  41 80 00 0C */	blt lbl_802E11EC
/* 802E11E4 002DCE44  28 00 7F FF */	cmplwi r0, 0x7fff
/* 802E11E8 002DCE48  40 81 00 28 */	ble lbl_802E1210
lbl_802E11EC:
/* 802E11EC 002DCE4C  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E11F0 002DCE50  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E11F4 002DCE54  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E11F8 002DCE58  28 00 00 01 */	cmplwi r0, 1
/* 802E11FC 002DCE5C  41 80 03 7C */	blt lbl_802E1578
/* 802E1200 002DCE60  38 87 00 A8 */	addi r4, r7, 0xa8
/* 802E1204 002DCE64  3C 60 00 09 */	lis r3, 9
/* 802E1208 002DCE68  4B FD BD 09 */	bl LogMsg_0
/* 802E120C 002DCE6C  48 00 03 6C */	b lbl_802E1578
lbl_802E1210:
/* 802E1210 002DCE70  7F A3 EB 78 */	mr r3, r29
/* 802E1214 002DCE74  4B FD 8B 21 */	bl GKI_freebuf
/* 802E1218 002DCE78  7F 83 E3 78 */	mr r3, r28
/* 802E121C 002DCE7C  7F E4 FB 78 */	mr r4, r31
/* 802E1220 002DCE80  7F C5 F3 78 */	mr r5, r30
/* 802E1224 002DCE84  4B FF E0 85 */	bl rfc_process_pn
/* 802E1228 002DCE88  48 00 03 C0 */	b lbl_802E15E8
lbl_802E122C:
/* 802E122C 002DCE8C  2C 03 00 00 */	cmpwi r3, 0
/* 802E1230 002DCE90  41 82 03 48 */	beq lbl_802E1578
/* 802E1234 002DCE94  90 BE 00 08 */	stw r5, 8(r30)
/* 802E1238 002DCE98  2C 1F 00 00 */	cmpwi r31, 0
/* 802E123C 002DCE9C  B0 DE 00 0C */	sth r6, 0xc(r30)
/* 802E1240 002DCEA0  A0 A4 00 04 */	lhz r5, 4(r4)
/* 802E1244 002DCEA4  A0 64 00 02 */	lhz r3, 2(r4)
/* 802E1248 002DCEA8  38 A5 00 02 */	addi r5, r5, 2
/* 802E124C 002DCEAC  38 03 FF FE */	addi r0, r3, -2
/* 802E1250 002DCEB0  B0 A4 00 04 */	sth r5, 4(r4)
/* 802E1254 002DCEB4  B0 04 00 02 */	sth r0, 2(r4)
/* 802E1258 002DCEB8  41 82 00 18 */	beq lbl_802E1270
/* 802E125C 002DCEBC  7F 83 E3 78 */	mr r3, r28
/* 802E1260 002DCEC0  7F A5 EB 78 */	mr r5, r29
/* 802E1264 002DCEC4  38 80 00 00 */	li r4, 0
/* 802E1268 002DCEC8  4B FF F6 A1 */	bl rfc_send_test
/* 802E126C 002DCECC  48 00 03 7C */	b lbl_802E15E8
lbl_802E1270:
/* 802E1270 002DCED0  7F 83 E3 78 */	mr r3, r28
/* 802E1274 002DCED4  7F A4 EB 78 */	mr r4, r29
/* 802E1278 002DCED8  4B FF E6 21 */	bl rfc_process_test_rsp
/* 802E127C 002DCEDC  48 00 03 6C */	b lbl_802E15E8
lbl_802E1280:
/* 802E1280 002DCEE0  2C 03 00 00 */	cmpwi r3, 0
/* 802E1284 002DCEE4  40 82 02 F4 */	bne lbl_802E1578
/* 802E1288 002DCEE8  7F A3 EB 78 */	mr r3, r29
/* 802E128C 002DCEEC  4B FD 8A A9 */	bl GKI_freebuf
/* 802E1290 002DCEF0  7F 83 E3 78 */	mr r3, r28
/* 802E1294 002DCEF4  7F E4 FB 78 */	mr r4, r31
/* 802E1298 002DCEF8  4B FF E6 09 */	bl rfc_process_fcon
/* 802E129C 002DCEFC  48 00 03 4C */	b lbl_802E15E8
lbl_802E12A0:
/* 802E12A0 002DCF00  2C 03 00 00 */	cmpwi r3, 0
/* 802E12A4 002DCF04  40 82 02 D4 */	bne lbl_802E1578
/* 802E12A8 002DCF08  7F A3 EB 78 */	mr r3, r29
/* 802E12AC 002DCF0C  4B FD 8A 89 */	bl GKI_freebuf
/* 802E12B0 002DCF10  7F 83 E3 78 */	mr r3, r28
/* 802E12B4 002DCF14  7F E4 FB 78 */	mr r4, r31
/* 802E12B8 002DCF18  4B FF E6 4D */	bl rfc_process_fcoff
/* 802E12BC 002DCF1C  48 00 03 2C */	b lbl_802E15E8
lbl_802E12C0:
/* 802E12C0 002DCF20  88 85 00 00 */	lbz r4, 0(r5)
/* 802E12C4 002DCF24  54 83 07 BC */	rlwinm r3, r4, 0, 0x1e, 0x1e
/* 802E12C8 002DCF28  54 80 07 FF */	clrlwi. r0, r4, 0x1f
/* 802E12CC 002DCF2C  7C 60 0E 70 */	srawi r0, r3, 1
/* 802E12D0 002DCF30  7C 83 16 70 */	srawi r3, r4, 2
/* 802E12D4 002DCF34  98 7E 00 00 */	stb r3, 0(r30)
/* 802E12D8 002DCF38  41 82 00 28 */	beq lbl_802E1300
/* 802E12DC 002DCF3C  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 802E12E0 002DCF40  41 82 00 20 */	beq lbl_802E1300
/* 802E12E4 002DCF44  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E12E8 002DCF48  41 82 00 18 */	beq lbl_802E1300
/* 802E12EC 002DCF4C  41 82 00 38 */	beq lbl_802E1324
/* 802E12F0 002DCF50  28 00 00 02 */	cmplwi r0, 2
/* 802E12F4 002DCF54  41 80 00 0C */	blt lbl_802E1300
/* 802E12F8 002DCF58  28 00 00 3D */	cmplwi r0, 0x3d
/* 802E12FC 002DCF5C  40 81 00 28 */	ble lbl_802E1324
lbl_802E1300:
/* 802E1300 002DCF60  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E1304 002DCF64  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E1308 002DCF68  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E130C 002DCF6C  28 00 00 01 */	cmplwi r0, 1
/* 802E1310 002DCF70  41 80 02 68 */	blt lbl_802E1578
/* 802E1314 002DCF74  38 87 00 B8 */	addi r4, r7, 0xb8
/* 802E1318 002DCF78  3C 60 00 09 */	lis r3, 9
/* 802E131C 002DCF7C  4B FD BB F5 */	bl LogMsg_0
/* 802E1320 002DCF80  48 00 02 58 */	b lbl_802E1578
lbl_802E1324:
/* 802E1324 002DCF84  55 00 06 3E */	clrlwi r0, r8, 0x18
/* 802E1328 002DCF88  88 65 00 01 */	lbz r3, 1(r5)
/* 802E132C 002DCF8C  28 00 00 03 */	cmplwi r0, 3
/* 802E1330 002DCF90  98 7E 00 09 */	stb r3, 9(r30)
/* 802E1334 002DCF94  40 82 00 20 */	bne lbl_802E1354
/* 802E1338 002DCF98  88 05 00 02 */	lbz r0, 2(r5)
/* 802E133C 002DCF9C  54 00 07 BC */	rlwinm r0, r0, 0, 0x1e, 0x1e
/* 802E1340 002DCFA0  98 1E 00 0A */	stb r0, 0xa(r30)
/* 802E1344 002DCFA4  88 05 00 02 */	lbz r0, 2(r5)
/* 802E1348 002DCFA8  54 00 E7 3E */	rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 802E134C 002DCFAC  98 1E 00 0B */	stb r0, 0xb(r30)
/* 802E1350 002DCFB0  48 00 00 10 */	b lbl_802E1360
lbl_802E1354:
/* 802E1354 002DCFB4  38 00 00 00 */	li r0, 0
/* 802E1358 002DCFB8  98 1E 00 0A */	stb r0, 0xa(r30)
/* 802E135C 002DCFBC  98 1E 00 0B */	stb r0, 0xb(r30)
lbl_802E1360:
/* 802E1360 002DCFC0  7F A3 EB 78 */	mr r3, r29
/* 802E1364 002DCFC4  4B FD 89 D1 */	bl GKI_freebuf
/* 802E1368 002DCFC8  7F 83 E3 78 */	mr r3, r28
/* 802E136C 002DCFCC  7F E4 FB 78 */	mr r4, r31
/* 802E1370 002DCFD0  7F C5 F3 78 */	mr r5, r30
/* 802E1374 002DCFD4  4B FF E3 29 */	bl rfc_process_msc
/* 802E1378 002DCFD8  48 00 02 70 */	b lbl_802E15E8
lbl_802E137C:
/* 802E137C 002DCFDC  28 03 00 01 */	cmplwi r3, 1
/* 802E1380 002DCFE0  40 82 01 F8 */	bne lbl_802E1578
/* 802E1384 002DCFE4  2C 1F 00 00 */	cmpwi r31, 0
/* 802E1388 002DCFE8  41 82 01 F0 */	beq lbl_802E1578
/* 802E138C 002DCFEC  88 05 00 00 */	lbz r0, 0(r5)
/* 802E1390 002DCFF0  7F A3 EB 78 */	mr r3, r29
/* 802E1394 002DCFF4  54 00 07 FE */	clrlwi r0, r0, 0x1f
/* 802E1398 002DCFF8  98 1E 00 08 */	stb r0, 8(r30)
/* 802E139C 002DCFFC  88 05 00 00 */	lbz r0, 0(r5)
/* 802E13A0 002DD000  54 00 07 BC */	rlwinm r0, r0, 0, 0x1e, 0x1e
/* 802E13A4 002DD004  7C 00 0E 70 */	srawi r0, r0, 1
/* 802E13A8 002DD008  98 1E 00 09 */	stb r0, 9(r30)
/* 802E13AC 002DD00C  88 05 00 00 */	lbz r0, 0(r5)
/* 802E13B0 002DD010  7C 00 16 70 */	srawi r0, r0, 2
/* 802E13B4 002DD014  98 1E 00 0A */	stb r0, 0xa(r30)
/* 802E13B8 002DD018  4B FD 89 7D */	bl GKI_freebuf
/* 802E13BC 002DD01C  7F 83 E3 78 */	mr r3, r28
/* 802E13C0 002DD020  7F C4 F3 78 */	mr r4, r30
/* 802E13C4 002DD024  4B FF E4 D1 */	bl rfc_process_nsc
/* 802E13C8 002DD028  48 00 02 20 */	b lbl_802E15E8
lbl_802E13CC:
/* 802E13CC 002DD02C  28 03 00 01 */	cmplwi r3, 1
/* 802E13D0 002DD030  41 82 00 0C */	beq lbl_802E13DC
/* 802E13D4 002DD034  28 03 00 08 */	cmplwi r3, 8
/* 802E13D8 002DD038  40 82 01 A0 */	bne lbl_802E1578
lbl_802E13DC:
/* 802E13DC 002DD03C  88 85 00 00 */	lbz r4, 0(r5)
/* 802E13E0 002DD040  54 83 07 BC */	rlwinm r3, r4, 0, 0x1e, 0x1e
/* 802E13E4 002DD044  54 80 07 FF */	clrlwi. r0, r4, 0x1f
/* 802E13E8 002DD048  7C 60 0E 70 */	srawi r0, r3, 1
/* 802E13EC 002DD04C  7C 83 16 70 */	srawi r3, r4, 2
/* 802E13F0 002DD050  98 7E 00 00 */	stb r3, 0(r30)
/* 802E13F4 002DD054  41 82 00 28 */	beq lbl_802E141C
/* 802E13F8 002DD058  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 802E13FC 002DD05C  41 82 00 20 */	beq lbl_802E141C
/* 802E1400 002DD060  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E1404 002DD064  41 82 00 18 */	beq lbl_802E141C
/* 802E1408 002DD068  41 82 00 38 */	beq lbl_802E1440
/* 802E140C 002DD06C  28 00 00 02 */	cmplwi r0, 2
/* 802E1410 002DD070  41 80 00 0C */	blt lbl_802E141C
/* 802E1414 002DD074  28 00 00 3D */	cmplwi r0, 0x3d
/* 802E1418 002DD078  40 81 00 28 */	ble lbl_802E1440
lbl_802E141C:
/* 802E141C 002DD07C  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E1420 002DD080  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E1424 002DD084  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E1428 002DD088  28 00 00 01 */	cmplwi r0, 1
/* 802E142C 002DD08C  41 80 01 4C */	blt lbl_802E1578
/* 802E1430 002DD090  38 87 00 C8 */	addi r4, r7, 0xc8
/* 802E1434 002DD094  3C 60 00 09 */	lis r3, 9
/* 802E1438 002DD098  4B FD BA D9 */	bl LogMsg_0
/* 802E143C 002DD09C  48 00 01 3C */	b lbl_802E1578
lbl_802E1440:
/* 802E1440 002DD0A0  54 C3 04 3E */	clrlwi r3, r6, 0x10
/* 802E1444 002DD0A4  38 03 FF FF */	addi r0, r3, -1
/* 802E1448 002DD0A8  7C 00 00 34 */	cntlzw r0, r0
/* 802E144C 002DD0AC  54 00 DE 3F */	rlwinm. r0, r0, 0x1b, 0x18, 0x1f
/* 802E1450 002DD0B0  98 1E 00 09 */	stb r0, 9(r30)
/* 802E1454 002DD0B4  40 82 00 70 */	bne lbl_802E14C4
/* 802E1458 002DD0B8  88 05 00 01 */	lbz r0, 1(r5)
/* 802E145C 002DD0BC  98 1E 00 0A */	stb r0, 0xa(r30)
/* 802E1460 002DD0C0  88 05 00 02 */	lbz r0, 2(r5)
/* 802E1464 002DD0C4  54 00 07 BE */	clrlwi r0, r0, 0x1e
/* 802E1468 002DD0C8  98 1E 00 0B */	stb r0, 0xb(r30)
/* 802E146C 002DD0CC  88 05 00 02 */	lbz r0, 2(r5)
/* 802E1470 002DD0D0  54 00 F7 FE */	rlwinm r0, r0, 0x1e, 0x1f, 0x1f
/* 802E1474 002DD0D4  98 1E 00 0C */	stb r0, 0xc(r30)
/* 802E1478 002DD0D8  88 05 00 02 */	lbz r0, 2(r5)
/* 802E147C 002DD0DC  54 00 EF FE */	rlwinm r0, r0, 0x1d, 0x1f, 0x1f
/* 802E1480 002DD0E0  98 1E 00 0D */	stb r0, 0xd(r30)
/* 802E1484 002DD0E4  88 05 00 02 */	lbz r0, 2(r5)
/* 802E1488 002DD0E8  54 00 E7 BE */	rlwinm r0, r0, 0x1c, 0x1e, 0x1f
/* 802E148C 002DD0EC  98 1E 00 0E */	stb r0, 0xe(r30)
/* 802E1490 002DD0F0  88 05 00 03 */	lbz r0, 3(r5)
/* 802E1494 002DD0F4  54 00 06 BE */	clrlwi r0, r0, 0x1a
/* 802E1498 002DD0F8  98 1E 00 0F */	stb r0, 0xf(r30)
/* 802E149C 002DD0FC  88 05 00 04 */	lbz r0, 4(r5)
/* 802E14A0 002DD100  98 1E 00 10 */	stb r0, 0x10(r30)
/* 802E14A4 002DD104  88 05 00 05 */	lbz r0, 5(r5)
/* 802E14A8 002DD108  98 1E 00 11 */	stb r0, 0x11(r30)
/* 802E14AC 002DD10C  88 05 00 07 */	lbz r0, 7(r5)
/* 802E14B0 002DD110  88 65 00 06 */	lbz r3, 6(r5)
/* 802E14B4 002DD114  54 00 40 2E */	slwi r0, r0, 8
/* 802E14B8 002DD118  7C 03 02 14 */	add r0, r3, r0
/* 802E14BC 002DD11C  70 00 3F 7F */	andi. r0, r0, 0x3f7f
/* 802E14C0 002DD120  B0 1E 00 12 */	sth r0, 0x12(r30)
lbl_802E14C4:
/* 802E14C4 002DD124  7F A3 EB 78 */	mr r3, r29
/* 802E14C8 002DD128  4B FD 88 6D */	bl GKI_freebuf
/* 802E14CC 002DD12C  88 BE 00 09 */	lbz r5, 9(r30)
/* 802E14D0 002DD130  7F 83 E3 78 */	mr r3, r28
/* 802E14D4 002DD134  7F E4 FB 78 */	mr r4, r31
/* 802E14D8 002DD138  7F C6 F3 78 */	mr r6, r30
/* 802E14DC 002DD13C  4B FF DE B5 */	bl rfc_process_rpn
/* 802E14E0 002DD140  48 00 01 08 */	b lbl_802E15E8
lbl_802E14E4:
/* 802E14E4 002DD144  28 03 00 02 */	cmplwi r3, 2
/* 802E14E8 002DD148  40 82 00 90 */	bne lbl_802E1578
/* 802E14EC 002DD14C  88 C5 00 00 */	lbz r6, 0(r5)
/* 802E14F0 002DD150  54 C3 07 BC */	rlwinm r3, r6, 0, 0x1e, 0x1e
/* 802E14F4 002DD154  54 C0 07 FF */	clrlwi. r0, r6, 0x1f
/* 802E14F8 002DD158  7C 64 0E 70 */	srawi r4, r3, 1
/* 802E14FC 002DD15C  7C C3 16 70 */	srawi r3, r6, 2
/* 802E1500 002DD160  98 7E 00 00 */	stb r3, 0(r30)
/* 802E1504 002DD164  88 05 00 01 */	lbz r0, 1(r5)
/* 802E1508 002DD168  54 00 06 3C */	rlwinm r0, r0, 0, 0x18, 0x1e
/* 802E150C 002DD16C  98 1E 00 09 */	stb r0, 9(r30)
/* 802E1510 002DD170  41 82 00 28 */	beq lbl_802E1538
/* 802E1514 002DD174  54 80 06 3F */	clrlwi. r0, r4, 0x18
/* 802E1518 002DD178  41 82 00 20 */	beq lbl_802E1538
/* 802E151C 002DD17C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E1520 002DD180  41 82 00 18 */	beq lbl_802E1538
/* 802E1524 002DD184  41 82 00 38 */	beq lbl_802E155C
/* 802E1528 002DD188  28 00 00 02 */	cmplwi r0, 2
/* 802E152C 002DD18C  41 80 00 0C */	blt lbl_802E1538
/* 802E1530 002DD190  28 00 00 3D */	cmplwi r0, 0x3d
/* 802E1534 002DD194  40 81 00 28 */	ble lbl_802E155C
lbl_802E1538:
/* 802E1538 002DD198  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E153C 002DD19C  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E1540 002DD1A0  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E1544 002DD1A4  28 00 00 01 */	cmplwi r0, 1
/* 802E1548 002DD1A8  41 80 00 30 */	blt lbl_802E1578
/* 802E154C 002DD1AC  38 87 00 C8 */	addi r4, r7, 0xc8
/* 802E1550 002DD1B0  3C 60 00 09 */	lis r3, 9
/* 802E1554 002DD1B4  4B FD B9 BD */	bl LogMsg_0
/* 802E1558 002DD1B8  48 00 00 20 */	b lbl_802E1578
lbl_802E155C:
/* 802E155C 002DD1BC  7F A3 EB 78 */	mr r3, r29
/* 802E1560 002DD1C0  4B FD 87 D5 */	bl GKI_freebuf
/* 802E1564 002DD1C4  7F 83 E3 78 */	mr r3, r28
/* 802E1568 002DD1C8  7F E4 FB 78 */	mr r4, r31
/* 802E156C 002DD1CC  7F C5 F3 78 */	mr r5, r30
/* 802E1570 002DD1D0  4B FF E2 99 */	bl rfc_process_rls
/* 802E1574 002DD1D4  48 00 00 74 */	b lbl_802E15E8
lbl_802E1578:
/* 802E1578 002DD1D8  7F A3 EB 78 */	mr r3, r29
/* 802E157C 002DD1DC  4B FD 87 B9 */	bl GKI_freebuf
/* 802E1580 002DD1E0  2C 1F 00 00 */	cmpwi r31, 0
/* 802E1584 002DD1E4  41 82 00 64 */	beq lbl_802E15E8
/* 802E1588 002DD1E8  38 60 00 02 */	li r3, 2
/* 802E158C 002DD1EC  4B FD 86 C1 */	bl GKI_getpoolbuf
/* 802E1590 002DD1F0  2C 03 00 00 */	cmpwi r3, 0
/* 802E1594 002DD1F4  41 82 00 54 */	beq lbl_802E15E8
/* 802E1598 002DD1F8  38 00 00 0C */	li r0, 0xc
/* 802E159C 002DD1FC  3C E0 80 57 */	lis r7, lbl_8056C428@ha
/* 802E15A0 002DD200  B0 03 00 04 */	sth r0, 4(r3)
/* 802E15A4 002DD204  38 00 00 11 */	li r0, 0x11
/* 802E15A8 002DD208  39 00 00 03 */	li r8, 3
/* 802E15AC 002DD20C  38 E7 C4 28 */	addi r7, r7, lbl_8056C428@l
/* 802E15B0 002DD210  98 03 00 14 */	stb r0, 0x14(r3)
/* 802E15B4 002DD214  7C 65 1B 78 */	mr r5, r3
/* 802E15B8 002DD218  38 80 00 00 */	li r4, 0
/* 802E15BC 002DD21C  99 03 00 15 */	stb r8, 0x15(r3)
/* 802E15C0 002DD220  88 07 00 02 */	lbz r0, 2(r7)
/* 802E15C4 002DD224  88 C7 00 03 */	lbz r6, 3(r7)
/* 802E15C8 002DD228  54 00 08 3C */	slwi r0, r0, 1
/* 802E15CC 002DD22C  88 E7 00 01 */	lbz r7, 1(r7)
/* 802E15D0 002DD230  7C C0 03 78 */	or r0, r6, r0
/* 802E15D4 002DD234  7C E0 03 78 */	or r0, r7, r0
/* 802E15D8 002DD238  98 03 00 16 */	stb r0, 0x16(r3)
/* 802E15DC 002DD23C  B1 03 00 02 */	sth r8, 2(r3)
/* 802E15E0 002DD240  7F 83 E3 78 */	mr r3, r28
/* 802E15E4 002DD244  4B FF EC B1 */	bl rfc_send_buf_uih
lbl_802E15E8:
/* 802E15E8 002DD248  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E15EC 002DD24C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802E15F0 002DD250  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802E15F4 002DD254  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802E15F8 002DD258  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802E15FC 002DD25C  7C 08 03 A6 */	mtlr r0
/* 802E1600 002DD260  38 21 00 20 */	addi r1, r1, 0x20
/* 802E1604 002DD264  4E 80 00 20 */	blr