summaryrefslogtreecommitdiff
path: root/asm/SDK/BTE/rfc_utils.s
blob: 86563f6398283c98ff02164729931b924893f59b (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
.include "macros.inc"

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

.global rfc_calc_fcs
rfc_calc_fcs:
/* 802E1608 002DD268  3C A0 80 40 */	lis r5, lbl_803FDE10@ha
/* 802E160C 002DD26C  38 C0 00 FF */	li r6, 0xff
/* 802E1610 002DD270  38 A5 DE 10 */	addi r5, r5, lbl_803FDE10@l
/* 802E1614 002DD274  48 00 00 14 */	b lbl_802E1628
lbl_802E1618:
/* 802E1618 002DD278  88 04 00 00 */	lbz r0, 0(r4)
/* 802E161C 002DD27C  38 84 00 01 */	addi r4, r4, 1
/* 802E1620 002DD280  7C C0 02 78 */	xor r0, r6, r0
/* 802E1624 002DD284  7C C5 00 AE */	lbzx r6, r5, r0
lbl_802E1628:
/* 802E1628 002DD288  54 60 04 3F */	clrlwi. r0, r3, 0x10
/* 802E162C 002DD28C  38 63 FF FF */	addi r3, r3, -1
/* 802E1630 002DD290  40 82 FF E8 */	bne lbl_802E1618
/* 802E1634 002DD294  20 06 00 FF */	subfic r0, r6, 0xff
/* 802E1638 002DD298  54 03 06 3E */	clrlwi r3, r0, 0x18
/* 802E163C 002DD29C  4E 80 00 20 */	blr

.global rfc_check_fcs
rfc_check_fcs:
/* 802E1640 002DD2A0  3C C0 80 40 */	lis r6, lbl_803FDE10@ha
/* 802E1644 002DD2A4  38 E0 00 FF */	li r7, 0xff
/* 802E1648 002DD2A8  38 C6 DE 10 */	addi r6, r6, lbl_803FDE10@l
/* 802E164C 002DD2AC  48 00 00 14 */	b lbl_802E1660
lbl_802E1650:
/* 802E1650 002DD2B0  88 04 00 00 */	lbz r0, 0(r4)
/* 802E1654 002DD2B4  38 84 00 01 */	addi r4, r4, 1
/* 802E1658 002DD2B8  7C E0 02 78 */	xor r0, r7, r0
/* 802E165C 002DD2BC  7C E6 00 AE */	lbzx r7, r6, r0
lbl_802E1660:
/* 802E1660 002DD2C0  54 60 04 3F */	clrlwi. r0, r3, 0x10
/* 802E1664 002DD2C4  38 63 FF FF */	addi r3, r3, -1
/* 802E1668 002DD2C8  40 82 FF E8 */	bne lbl_802E1650
/* 802E166C 002DD2CC  3C 60 80 40 */	lis r3, lbl_803FDE10@ha
/* 802E1670 002DD2D0  7C E0 2A 78 */	xor r0, r7, r5
/* 802E1674 002DD2D4  38 63 DE 10 */	addi r3, r3, lbl_803FDE10@l
/* 802E1678 002DD2D8  7C 63 00 AE */	lbzx r3, r3, r0
/* 802E167C 002DD2DC  38 03 FF 31 */	addi r0, r3, -207
/* 802E1680 002DD2E0  7C 00 00 34 */	cntlzw r0, r0
/* 802E1684 002DD2E4  54 03 DE 3E */	rlwinm r3, r0, 0x1b, 0x18, 0x1f
/* 802E1688 002DD2E8  4E 80 00 20 */	blr

.global rfc_alloc_multiplexer_channel
rfc_alloc_multiplexer_channel:
/* 802E168C 002DD2EC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E1690 002DD2F0  7C 08 02 A6 */	mflr r0
/* 802E1694 002DD2F4  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E1698 002DD2F8  39 61 00 20 */	addi r11, r1, 0x20
/* 802E169C 002DD2FC  4B EE 5A 8D */	bl _savegpr_27
/* 802E16A0 002DD300  3C A0 80 57 */	lis r5, lbl_8056C428@ha
/* 802E16A4 002DD304  7C 7B 1B 78 */	mr r27, r3
/* 802E16A8 002DD308  3B E5 C4 28 */	addi r31, r5, lbl_8056C428@l
/* 802E16AC 002DD30C  7C 9C 23 78 */	mr r28, r4
/* 802E16B0 002DD310  88 1F 04 08 */	lbz r0, 0x408(r31)
/* 802E16B4 002DD314  38 7F 03 FE */	addi r3, r31, 0x3fe
/* 802E16B8 002DD318  3B C0 00 00 */	li r30, 0
/* 802E16BC 002DD31C  2C 00 00 00 */	cmpwi r0, 0
/* 802E16C0 002DD320  41 82 00 5C */	beq lbl_802E171C
/* 802E16C4 002DD324  7F 64 DB 78 */	mr r4, r27
/* 802E16C8 002DD328  38 A0 00 06 */	li r5, 6
/* 802E16CC 002DD32C  4B EE 8C CD */	bl memcmp
/* 802E16D0 002DD330  2C 03 00 00 */	cmpwi r3, 0
/* 802E16D4 002DD334  40 82 00 48 */	bne lbl_802E171C
/* 802E16D8 002DD338  88 1F 04 14 */	lbz r0, 0x414(r31)
/* 802E16DC 002DD33C  28 00 00 04 */	cmplwi r0, 4
/* 802E16E0 002DD340  41 80 00 18 */	blt lbl_802E16F8
/* 802E16E4 002DD344  3C 60 00 09 */	lis r3, 0x00090003@ha
/* 802E16E8 002DD348  3C 80 80 44 */	lis r4, lbl_80444ED0@ha
/* 802E16EC 002DD34C  38 63 00 03 */	addi r3, r3, 0x00090003@l
/* 802E16F0 002DD350  38 84 4E D0 */	addi r4, r4, lbl_80444ED0@l
/* 802E16F4 002DD354  4B FD B8 1D */	bl LogMsg_0
lbl_802E16F8:
/* 802E16F8 002DD358  1C 1E 00 78 */	mulli r0, r30, 0x78
/* 802E16FC 002DD35C  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E1700 002DD360  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E1704 002DD364  7C 63 02 14 */	add r3, r3, r0
/* 802E1708 002DD368  3B E3 03 9C */	addi r31, r3, 0x39c
/* 802E170C 002DD36C  7F E3 FB 78 */	mr r3, r31
/* 802E1710 002DD370  4B FD BE 3D */	bl btu_stop_timer
/* 802E1714 002DD374  7F E3 FB 78 */	mr r3, r31
/* 802E1718 002DD378  48 00 00 B4 */	b lbl_802E17CC
lbl_802E171C:
/* 802E171C 002DD37C  3F E0 80 57 */	lis r31, lbl_8056C428@ha
/* 802E1720 002DD380  3B FF C4 28 */	addi r31, r31, lbl_8056C428@l
/* 802E1724 002DD384  88 7F 00 65 */	lbz r3, 0x65(r31)
/* 802E1728 002DD388  3B C3 00 01 */	addi r30, r3, 1
/* 802E172C 002DD38C  2C 1E 00 01 */	cmpwi r30, 1
/* 802E1730 002DD390  41 80 00 08 */	blt lbl_802E1738
/* 802E1734 002DD394  3B C0 00 00 */	li r30, 0
lbl_802E1738:
/* 802E1738 002DD398  1C 1E 00 78 */	mulli r0, r30, 0x78
/* 802E173C 002DD39C  7C 7F 02 14 */	add r3, r31, r0
/* 802E1740 002DD3A0  88 03 04 08 */	lbz r0, 0x408(r3)
/* 802E1744 002DD3A4  3B A3 03 9C */	addi r29, r3, 0x39c
/* 802E1748 002DD3A8  2C 00 00 00 */	cmpwi r0, 0
/* 802E174C 002DD3AC  40 82 00 7C */	bne lbl_802E17C8
/* 802E1750 002DD3B0  7F A3 EB 78 */	mr r3, r29
/* 802E1754 002DD3B4  38 80 00 00 */	li r4, 0
/* 802E1758 002DD3B8  38 A0 00 78 */	li r5, 0x78
/* 802E175C 002DD3BC  4B D2 29 A9 */	bl memset
/* 802E1760 002DD3C0  7F 64 DB 78 */	mr r4, r27
/* 802E1764 002DD3C4  38 7D 00 62 */	addi r3, r29, 0x62
/* 802E1768 002DD3C8  38 A0 00 06 */	li r5, 6
/* 802E176C 002DD3CC  4B D2 28 95 */	bl memcpy
/* 802E1770 002DD3D0  38 7D 00 18 */	addi r3, r29, 0x18
/* 802E1774 002DD3D4  4B FD 83 25 */	bl GKI_init_q
/* 802E1778 002DD3D8  9B 9D 00 6D */	stb r28, 0x6d(r29)
/* 802E177C 002DD3DC  88 1F 04 14 */	lbz r0, 0x414(r31)
/* 802E1780 002DD3E0  28 00 00 04 */	cmplwi r0, 4
/* 802E1784 002DD3E4  41 80 00 1C */	blt lbl_802E17A0
/* 802E1788 002DD3E8  3C 60 00 09 */	lis r3, 0x00090003@ha
/* 802E178C 002DD3EC  3C 80 80 44 */	lis r4, lbl_80444EE0@ha
/* 802E1790 002DD3F0  38 63 00 03 */	addi r3, r3, 0x00090003@l
/* 802E1794 002DD3F4  38 A0 00 3C */	li r5, 0x3c
/* 802E1798 002DD3F8  38 84 4E E0 */	addi r4, r4, lbl_80444EE0@l
/* 802E179C 002DD3FC  4B FD B7 8D */	bl LogMsg_1
lbl_802E17A0:
/* 802E17A0 002DD400  93 BD 00 10 */	stw r29, 0x10(r29)
/* 802E17A4 002DD404  7F A3 EB 78 */	mr r3, r29
/* 802E17A8 002DD408  38 80 00 0B */	li r4, 0xb
/* 802E17AC 002DD40C  38 A0 00 3C */	li r5, 0x3c
/* 802E17B0 002DD410  4B FD BD 2D */	bl btu_start_timer
/* 802E17B4 002DD414  3C 80 80 57 */	lis r4, lbl_8056C428@ha
/* 802E17B8 002DD418  7F A3 EB 78 */	mr r3, r29
/* 802E17BC 002DD41C  38 84 C4 28 */	addi r4, r4, lbl_8056C428@l
/* 802E17C0 002DD420  9B C4 00 65 */	stb r30, 0x65(r4)
/* 802E17C4 002DD424  48 00 00 08 */	b lbl_802E17CC
lbl_802E17C8:
/* 802E17C8 002DD428  38 60 00 00 */	li r3, 0
lbl_802E17CC:
/* 802E17CC 002DD42C  39 61 00 20 */	addi r11, r1, 0x20
/* 802E17D0 002DD430  4B EE 59 A5 */	bl _restgpr_27
/* 802E17D4 002DD434  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E17D8 002DD438  7C 08 03 A6 */	mtlr r0
/* 802E17DC 002DD43C  38 21 00 20 */	addi r1, r1, 0x20
/* 802E17E0 002DD440  4E 80 00 20 */	blr

.global rfc_release_multiplexer_channel
rfc_release_multiplexer_channel:
/* 802E17E4 002DD444  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E17E8 002DD448  7C 08 02 A6 */	mflr r0
/* 802E17EC 002DD44C  3C 80 80 57 */	lis r4, lbl_8056C428@ha
/* 802E17F0 002DD450  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E17F4 002DD454  38 84 C4 28 */	addi r4, r4, lbl_8056C428@l
/* 802E17F8 002DD458  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E17FC 002DD45C  7C 7F 1B 78 */	mr r31, r3
/* 802E1800 002DD460  88 04 04 14 */	lbz r0, 0x414(r4)
/* 802E1804 002DD464  28 00 00 04 */	cmplwi r0, 4
/* 802E1808 002DD468  41 80 00 18 */	blt lbl_802E1820
/* 802E180C 002DD46C  3C 60 00 09 */	lis r3, 0x00090003@ha
/* 802E1810 002DD470  3C 80 80 44 */	lis r4, lbl_80444ED0@ha
/* 802E1814 002DD474  38 63 00 03 */	addi r3, r3, 0x00090003@l
/* 802E1818 002DD478  38 84 4E D0 */	addi r4, r4, lbl_80444ED0@l
/* 802E181C 002DD47C  4B FD B6 F5 */	bl LogMsg_0
lbl_802E1820:
/* 802E1820 002DD480  7F E3 FB 78 */	mr r3, r31
/* 802E1824 002DD484  4B FD BD 29 */	bl btu_stop_timer
/* 802E1828 002DD488  48 00 00 08 */	b lbl_802E1830
lbl_802E182C:
/* 802E182C 002DD48C  4B FD 85 09 */	bl GKI_freebuf
lbl_802E1830:
/* 802E1830 002DD490  38 7F 00 18 */	addi r3, r31, 0x18
/* 802E1834 002DD494  4B FD 8B 9D */	bl GKI_dequeue
/* 802E1838 002DD498  2C 03 00 00 */	cmpwi r3, 0
/* 802E183C 002DD49C  40 82 FF F0 */	bne lbl_802E182C
/* 802E1840 002DD4A0  7F E3 FB 78 */	mr r3, r31
/* 802E1844 002DD4A4  38 80 00 00 */	li r4, 0
/* 802E1848 002DD4A8  38 A0 00 78 */	li r5, 0x78
/* 802E184C 002DD4AC  4B D2 28 B9 */	bl memset
/* 802E1850 002DD4B0  38 00 00 00 */	li r0, 0
/* 802E1854 002DD4B4  98 1F 00 6C */	stb r0, 0x6c(r31)
/* 802E1858 002DD4B8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E185C 002DD4BC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E1860 002DD4C0  7C 08 03 A6 */	mtlr r0
/* 802E1864 002DD4C4  38 21 00 10 */	addi r1, r1, 0x10
/* 802E1868 002DD4C8  4E 80 00 20 */	blr

.global rfc_timer_start
rfc_timer_start:
/* 802E186C 002DD4CC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E1870 002DD4D0  7C 08 02 A6 */	mflr r0
/* 802E1874 002DD4D4  3C A0 80 57 */	lis r5, lbl_8056C428@ha
/* 802E1878 002DD4D8  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E187C 002DD4DC  38 A5 C4 28 */	addi r5, r5, lbl_8056C428@l
/* 802E1880 002DD4E0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E1884 002DD4E4  7C 9F 23 78 */	mr r31, r4
/* 802E1888 002DD4E8  93 C1 00 08 */	stw r30, 8(r1)
/* 802E188C 002DD4EC  7C 7E 1B 78 */	mr r30, r3
/* 802E1890 002DD4F0  88 05 04 14 */	lbz r0, 0x414(r5)
/* 802E1894 002DD4F4  28 00 00 04 */	cmplwi r0, 4
/* 802E1898 002DD4F8  41 80 00 1C */	blt lbl_802E18B4
/* 802E189C 002DD4FC  3C 60 00 09 */	lis r3, 0x00090003@ha
/* 802E18A0 002DD500  3C 80 80 44 */	lis r4, lbl_80444EE0@ha
/* 802E18A4 002DD504  7F E5 FB 78 */	mr r5, r31
/* 802E18A8 002DD508  38 63 00 03 */	addi r3, r3, 0x00090003@l
/* 802E18AC 002DD50C  38 84 4E E0 */	addi r4, r4, lbl_80444EE0@l
/* 802E18B0 002DD510  4B FD B6 79 */	bl LogMsg_1
lbl_802E18B4:
/* 802E18B4 002DD514  93 DE 00 10 */	stw r30, 0x10(r30)
/* 802E18B8 002DD518  7F C3 F3 78 */	mr r3, r30
/* 802E18BC 002DD51C  7F E5 FB 78 */	mr r5, r31
/* 802E18C0 002DD520  38 80 00 0B */	li r4, 0xb
/* 802E18C4 002DD524  4B FD BC 19 */	bl btu_start_timer
/* 802E18C8 002DD528  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E18CC 002DD52C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E18D0 002DD530  83 C1 00 08 */	lwz r30, 8(r1)
/* 802E18D4 002DD534  7C 08 03 A6 */	mtlr r0
/* 802E18D8 002DD538  38 21 00 10 */	addi r1, r1, 0x10
/* 802E18DC 002DD53C  4E 80 00 20 */	blr

.global rfc_timer_stop
rfc_timer_stop:
/* 802E18E0 002DD540  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E18E4 002DD544  7C 08 02 A6 */	mflr r0
/* 802E18E8 002DD548  3C 80 80 57 */	lis r4, lbl_8056C428@ha
/* 802E18EC 002DD54C  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E18F0 002DD550  38 84 C4 28 */	addi r4, r4, lbl_8056C428@l
/* 802E18F4 002DD554  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E18F8 002DD558  7C 7F 1B 78 */	mr r31, r3
/* 802E18FC 002DD55C  88 04 04 14 */	lbz r0, 0x414(r4)
/* 802E1900 002DD560  28 00 00 04 */	cmplwi r0, 4
/* 802E1904 002DD564  41 80 00 18 */	blt lbl_802E191C
/* 802E1908 002DD568  3C 60 00 09 */	lis r3, 0x00090003@ha
/* 802E190C 002DD56C  3C 80 80 44 */	lis r4, lbl_80444ED0@ha
/* 802E1910 002DD570  38 63 00 03 */	addi r3, r3, 0x00090003@l
/* 802E1914 002DD574  38 84 4E D0 */	addi r4, r4, lbl_80444ED0@l
/* 802E1918 002DD578  4B FD B5 F9 */	bl LogMsg_0
lbl_802E191C:
/* 802E191C 002DD57C  7F E3 FB 78 */	mr r3, r31
/* 802E1920 002DD580  4B FD BC 2D */	bl btu_stop_timer
/* 802E1924 002DD584  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E1928 002DD588  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E192C 002DD58C  7C 08 03 A6 */	mtlr r0
/* 802E1930 002DD590  38 21 00 10 */	addi r1, r1, 0x10
/* 802E1934 002DD594  4E 80 00 20 */	blr

.global rfc_port_timer_start
rfc_port_timer_start:
/* 802E1938 002DD598  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E193C 002DD59C  7C 08 02 A6 */	mflr r0
/* 802E1940 002DD5A0  3C A0 80 57 */	lis r5, lbl_8056C428@ha
/* 802E1944 002DD5A4  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E1948 002DD5A8  38 A5 C4 28 */	addi r5, r5, lbl_8056C428@l
/* 802E194C 002DD5AC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802E1950 002DD5B0  3B E3 00 70 */	addi r31, r3, 0x70
/* 802E1954 002DD5B4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802E1958 002DD5B8  7C 9E 23 78 */	mr r30, r4
/* 802E195C 002DD5BC  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802E1960 002DD5C0  7C 7D 1B 78 */	mr r29, r3
/* 802E1964 002DD5C4  88 05 04 14 */	lbz r0, 0x414(r5)
/* 802E1968 002DD5C8  28 00 00 04 */	cmplwi r0, 4
/* 802E196C 002DD5CC  41 80 00 1C */	blt lbl_802E1988
/* 802E1970 002DD5D0  3C 60 00 09 */	lis r3, 0x00090003@ha
/* 802E1974 002DD5D4  3C 80 80 44 */	lis r4, lbl_80444F00@ha
/* 802E1978 002DD5D8  7F C5 F3 78 */	mr r5, r30
/* 802E197C 002DD5DC  38 63 00 03 */	addi r3, r3, 0x00090003@l
/* 802E1980 002DD5E0  38 84 4F 00 */	addi r4, r4, lbl_80444F00@l
/* 802E1984 002DD5E4  4B FD B5 A5 */	bl LogMsg_1
lbl_802E1988:
/* 802E1988 002DD5E8  93 BF 00 10 */	stw r29, 0x10(r31)
/* 802E198C 002DD5EC  7F E3 FB 78 */	mr r3, r31
/* 802E1990 002DD5F0  7F C5 F3 78 */	mr r5, r30
/* 802E1994 002DD5F4  38 80 00 0C */	li r4, 0xc
/* 802E1998 002DD5F8  4B FD BB 45 */	bl btu_start_timer
/* 802E199C 002DD5FC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E19A0 002DD600  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802E19A4 002DD604  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802E19A8 002DD608  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802E19AC 002DD60C  7C 08 03 A6 */	mtlr r0
/* 802E19B0 002DD610  38 21 00 20 */	addi r1, r1, 0x20
/* 802E19B4 002DD614  4E 80 00 20 */	blr

.global rfc_port_timer_stop
rfc_port_timer_stop:
/* 802E19B8 002DD618  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E19BC 002DD61C  7C 08 02 A6 */	mflr r0
/* 802E19C0 002DD620  3C 80 80 57 */	lis r4, lbl_8056C428@ha
/* 802E19C4 002DD624  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E19C8 002DD628  38 84 C4 28 */	addi r4, r4, lbl_8056C428@l
/* 802E19CC 002DD62C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E19D0 002DD630  7C 7F 1B 78 */	mr r31, r3
/* 802E19D4 002DD634  88 04 04 14 */	lbz r0, 0x414(r4)
/* 802E19D8 002DD638  28 00 00 04 */	cmplwi r0, 4
/* 802E19DC 002DD63C  41 80 00 18 */	blt lbl_802E19F4
/* 802E19E0 002DD640  3C 60 00 09 */	lis r3, 0x00090003@ha
/* 802E19E4 002DD644  3C 80 80 44 */	lis r4, lbl_80444F24@ha
/* 802E19E8 002DD648  38 63 00 03 */	addi r3, r3, 0x00090003@l
/* 802E19EC 002DD64C  38 84 4F 24 */	addi r4, r4, lbl_80444F24@l
/* 802E19F0 002DD650  4B FD B5 21 */	bl LogMsg_0
lbl_802E19F4:
/* 802E19F4 002DD654  38 7F 00 70 */	addi r3, r31, 0x70
/* 802E19F8 002DD658  4B FD BB 55 */	bl btu_stop_timer
/* 802E19FC 002DD65C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E1A00 002DD660  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E1A04 002DD664  7C 08 03 A6 */	mtlr r0
/* 802E1A08 002DD668  38 21 00 10 */	addi r1, r1, 0x10
/* 802E1A0C 002DD66C  4E 80 00 20 */	blr

.global rfc_check_mcb_active
rfc_check_mcb_active:
/* 802E1A10 002DD670  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E1A14 002DD674  7C 08 02 A6 */	mflr r0
/* 802E1A18 002DD678  38 A0 00 00 */	li r5, 0
/* 802E1A1C 002DD67C  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E1A20 002DD680  38 00 00 3D */	li r0, 0x3d
/* 802E1A24 002DD684  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E1A28 002DD688  7C 7F 1B 78 */	mr r31, r3
/* 802E1A2C 002DD68C  7C 09 03 A6 */	mtctr r0
lbl_802E1A30:
/* 802E1A30 002DD690  54 A0 04 3E */	clrlwi r0, r5, 0x10
/* 802E1A34 002DD694  7C 83 02 14 */	add r4, r3, r0
/* 802E1A38 002DD698  88 04 00 24 */	lbz r0, 0x24(r4)
/* 802E1A3C 002DD69C  2C 00 00 00 */	cmpwi r0, 0
/* 802E1A40 002DD6A0  41 82 00 10 */	beq lbl_802E1A50
/* 802E1A44 002DD6A4  38 00 00 00 */	li r0, 0
/* 802E1A48 002DD6A8  98 03 00 74 */	stb r0, 0x74(r3)
/* 802E1A4C 002DD6AC  48 00 00 74 */	b lbl_802E1AC0
lbl_802E1A50:
/* 802E1A50 002DD6B0  38 A5 00 01 */	addi r5, r5, 1
/* 802E1A54 002DD6B4  42 00 FF DC */	bdnz lbl_802E1A30
/* 802E1A58 002DD6B8  88 03 00 74 */	lbz r0, 0x74(r3)
/* 802E1A5C 002DD6BC  2C 00 00 00 */	cmpwi r0, 0
/* 802E1A60 002DD6C0  41 82 00 20 */	beq lbl_802E1A80
/* 802E1A64 002DD6C4  38 00 00 00 */	li r0, 0
/* 802E1A68 002DD6C8  38 80 00 08 */	li r4, 8
/* 802E1A6C 002DD6CC  98 03 00 74 */	stb r0, 0x74(r3)
/* 802E1A70 002DD6D0  7F E3 FB 78 */	mr r3, r31
/* 802E1A74 002DD6D4  38 A0 00 00 */	li r5, 0
/* 802E1A78 002DD6D8  4B FF C2 39 */	bl rfc_mx_sm_execute
/* 802E1A7C 002DD6DC  48 00 00 44 */	b lbl_802E1AC0
lbl_802E1A80:
/* 802E1A80 002DD6E0  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E1A84 002DD6E4  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E1A88 002DD6E8  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E1A8C 002DD6EC  28 00 00 04 */	cmplwi r0, 4
/* 802E1A90 002DD6F0  41 80 00 1C */	blt lbl_802E1AAC
/* 802E1A94 002DD6F4  3C 60 00 09 */	lis r3, 0x00090003@ha
/* 802E1A98 002DD6F8  3C 80 80 44 */	lis r4, lbl_80444EE0@ha
/* 802E1A9C 002DD6FC  38 63 00 03 */	addi r3, r3, 0x00090003@l
/* 802E1AA0 002DD700  38 A0 00 02 */	li r5, 2
/* 802E1AA4 002DD704  38 84 4E E0 */	addi r4, r4, lbl_80444EE0@l
/* 802E1AA8 002DD708  4B FD B4 81 */	bl LogMsg_1
lbl_802E1AAC:
/* 802E1AAC 002DD70C  93 FF 00 10 */	stw r31, 0x10(r31)
/* 802E1AB0 002DD710  7F E3 FB 78 */	mr r3, r31
/* 802E1AB4 002DD714  38 80 00 0B */	li r4, 0xb
/* 802E1AB8 002DD718  38 A0 00 02 */	li r5, 2
/* 802E1ABC 002DD71C  4B FD BA 21 */	bl btu_start_timer
lbl_802E1AC0:
/* 802E1AC0 002DD720  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E1AC4 002DD724  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E1AC8 002DD728  7C 08 03 A6 */	mtlr r0
/* 802E1ACC 002DD72C  38 21 00 10 */	addi r1, r1, 0x10
/* 802E1AD0 002DD730  4E 80 00 20 */	blr

.global rfcomm_process_timeout
rfcomm_process_timeout:
/* 802E1AD4 002DD734  A0 03 00 14 */	lhz r0, 0x14(r3)
/* 802E1AD8 002DD738  2C 00 00 0C */	cmpwi r0, 0xc
/* 802E1ADC 002DD73C  41 82 00 20 */	beq lbl_802E1AFC
/* 802E1AE0 002DD740  4C 80 00 20 */	bgelr
/* 802E1AE4 002DD744  2C 00 00 0B */	cmpwi r0, 0xb
/* 802E1AE8 002DD748  4D 80 00 20 */	bltlr
/* 802E1AEC 002DD74C  80 63 00 10 */	lwz r3, 0x10(r3)
/* 802E1AF0 002DD750  38 80 00 05 */	li r4, 5
/* 802E1AF4 002DD754  38 A0 00 00 */	li r5, 0
/* 802E1AF8 002DD758  4B FF C1 B8 */	b rfc_mx_sm_execute
lbl_802E1AFC:
/* 802E1AFC 002DD75C  80 63 00 10 */	lwz r3, 0x10(r3)
/* 802E1B00 002DD760  38 80 00 05 */	li r4, 5
/* 802E1B04 002DD764  38 A0 00 00 */	li r5, 0
/* 802E1B08 002DD768  4B FF CD EC */	b rfc_port_sm_execute
/* 802E1B0C 002DD76C  4E 80 00 20 */	blr

.global rfc_sec_check_complete
rfc_sec_check_complete:
/* 802E1B10 002DD770  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E1B14 002DD774  7C 08 02 A6 */	mflr r0
/* 802E1B18 002DD778  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E1B1C 002DD77C  98 A1 00 08 */	stb r5, 8(r1)
/* 802E1B20 002DD780  88 04 00 01 */	lbz r0, 1(r4)
/* 802E1B24 002DD784  2C 00 00 00 */	cmpwi r0, 0
/* 802E1B28 002DD788  41 82 00 2C */	beq lbl_802E1B54
/* 802E1B2C 002DD78C  88 04 00 68 */	lbz r0, 0x68(r4)
/* 802E1B30 002DD790  28 00 00 02 */	cmplwi r0, 2
/* 802E1B34 002DD794  41 82 00 10 */	beq lbl_802E1B44
/* 802E1B38 002DD798  28 00 00 03 */	cmplwi r0, 3
/* 802E1B3C 002DD79C  41 82 00 08 */	beq lbl_802E1B44
/* 802E1B40 002DD7A0  48 00 00 14 */	b lbl_802E1B54
lbl_802E1B44:
/* 802E1B44 002DD7A4  7C 83 23 78 */	mr r3, r4
/* 802E1B48 002DD7A8  38 A1 00 08 */	addi r5, r1, 8
/* 802E1B4C 002DD7AC  38 80 00 0F */	li r4, 0xf
/* 802E1B50 002DD7B0  4B FF CD A5 */	bl rfc_port_sm_execute
lbl_802E1B54:
/* 802E1B54 002DD7B4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E1B58 002DD7B8  7C 08 03 A6 */	mtlr r0
/* 802E1B5C 002DD7BC  38 21 00 10 */	addi r1, r1, 0x10
/* 802E1B60 002DD7C0  4E 80 00 20 */	blr

.global rfc_port_closed
rfc_port_closed:
/* 802E1B64 002DD7C4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E1B68 002DD7C8  7C 08 02 A6 */	mflr r0
/* 802E1B6C 002DD7CC  3C 80 80 57 */	lis r4, lbl_8056C428@ha
/* 802E1B70 002DD7D0  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E1B74 002DD7D4  38 84 C4 28 */	addi r4, r4, lbl_8056C428@l
/* 802E1B78 002DD7D8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802E1B7C 002DD7DC  3F E0 80 44 */	lis r31, lbl_80444ED0@ha
/* 802E1B80 002DD7E0  3B FF 4E D0 */	addi r31, r31, lbl_80444ED0@l
/* 802E1B84 002DD7E4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802E1B88 002DD7E8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802E1B8C 002DD7EC  7C 7D 1B 78 */	mr r29, r3
/* 802E1B90 002DD7F0  88 04 04 14 */	lbz r0, 0x414(r4)
/* 802E1B94 002DD7F4  83 C3 00 6C */	lwz r30, 0x6c(r3)
/* 802E1B98 002DD7F8  28 00 00 05 */	cmplwi r0, 5
/* 802E1B9C 002DD7FC  41 80 00 14 */	blt lbl_802E1BB0
/* 802E1BA0 002DD800  3C 60 00 09 */	lis r3, 0x00090004@ha
/* 802E1BA4 002DD804  38 9F 00 68 */	addi r4, r31, 0x68
/* 802E1BA8 002DD808  38 63 00 04 */	addi r3, r3, 0x00090004@l
/* 802E1BAC 002DD80C  4B FD B3 65 */	bl LogMsg_0
lbl_802E1BB0:
/* 802E1BB0 002DD810  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E1BB4 002DD814  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E1BB8 002DD818  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E1BBC 002DD81C  28 00 00 04 */	cmplwi r0, 4
/* 802E1BC0 002DD820  41 80 00 14 */	blt lbl_802E1BD4
/* 802E1BC4 002DD824  3C 60 00 09 */	lis r3, 0x00090003@ha
/* 802E1BC8 002DD828  38 9F 00 54 */	addi r4, r31, 0x54
/* 802E1BCC 002DD82C  38 63 00 03 */	addi r3, r3, 0x00090003@l
/* 802E1BD0 002DD830  4B FD B3 41 */	bl LogMsg_0
lbl_802E1BD4:
/* 802E1BD4 002DD834  38 7D 00 70 */	addi r3, r29, 0x70
/* 802E1BD8 002DD838  4B FD B9 75 */	bl btu_stop_timer
/* 802E1BDC 002DD83C  38 80 00 00 */	li r4, 0
/* 802E1BE0 002DD840  2C 1E 00 00 */	cmpwi r30, 0
/* 802E1BE4 002DD844  98 9D 00 68 */	stb r4, 0x68(r29)
/* 802E1BE8 002DD848  41 82 00 AC */	beq lbl_802E1C94
/* 802E1BEC 002DD84C  88 7D 00 0D */	lbz r3, 0xd(r29)
/* 802E1BF0 002DD850  38 00 00 3D */	li r0, 0x3d
/* 802E1BF4 002DD854  38 A0 00 00 */	li r5, 0
/* 802E1BF8 002DD858  7C 7E 1A 14 */	add r3, r30, r3
/* 802E1BFC 002DD85C  98 83 00 24 */	stb r4, 0x24(r3)
/* 802E1C00 002DD860  98 9D 00 0D */	stb r4, 0xd(r29)
/* 802E1C04 002DD864  7C 09 03 A6 */	mtctr r0
lbl_802E1C08:
/* 802E1C08 002DD868  54 A0 04 3E */	clrlwi r0, r5, 0x10
/* 802E1C0C 002DD86C  7C 7E 02 14 */	add r3, r30, r0
/* 802E1C10 002DD870  88 03 00 24 */	lbz r0, 0x24(r3)
/* 802E1C14 002DD874  2C 00 00 00 */	cmpwi r0, 0
/* 802E1C18 002DD878  41 82 00 10 */	beq lbl_802E1C28
/* 802E1C1C 002DD87C  38 00 00 00 */	li r0, 0
/* 802E1C20 002DD880  98 1E 00 74 */	stb r0, 0x74(r30)
/* 802E1C24 002DD884  48 00 00 70 */	b lbl_802E1C94
lbl_802E1C28:
/* 802E1C28 002DD888  38 A5 00 01 */	addi r5, r5, 1
/* 802E1C2C 002DD88C  42 00 FF DC */	bdnz lbl_802E1C08
/* 802E1C30 002DD890  88 1E 00 74 */	lbz r0, 0x74(r30)
/* 802E1C34 002DD894  2C 00 00 00 */	cmpwi r0, 0
/* 802E1C38 002DD898  41 82 00 20 */	beq lbl_802E1C58
/* 802E1C3C 002DD89C  38 00 00 00 */	li r0, 0
/* 802E1C40 002DD8A0  7F C3 F3 78 */	mr r3, r30
/* 802E1C44 002DD8A4  98 1E 00 74 */	stb r0, 0x74(r30)
/* 802E1C48 002DD8A8  38 80 00 08 */	li r4, 8
/* 802E1C4C 002DD8AC  38 A0 00 00 */	li r5, 0
/* 802E1C50 002DD8B0  4B FF C0 61 */	bl rfc_mx_sm_execute
/* 802E1C54 002DD8B4  48 00 00 40 */	b lbl_802E1C94
lbl_802E1C58:
/* 802E1C58 002DD8B8  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802E1C5C 002DD8BC  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802E1C60 002DD8C0  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802E1C64 002DD8C4  28 00 00 04 */	cmplwi r0, 4
/* 802E1C68 002DD8C8  41 80 00 18 */	blt lbl_802E1C80
/* 802E1C6C 002DD8CC  3C 60 00 09 */	lis r3, 0x00090003@ha
/* 802E1C70 002DD8D0  38 9F 00 10 */	addi r4, r31, 0x10
/* 802E1C74 002DD8D4  38 63 00 03 */	addi r3, r3, 0x00090003@l
/* 802E1C78 002DD8D8  38 A0 00 02 */	li r5, 2
/* 802E1C7C 002DD8DC  4B FD B2 AD */	bl LogMsg_1
lbl_802E1C80:
/* 802E1C80 002DD8E0  93 DE 00 10 */	stw r30, 0x10(r30)
/* 802E1C84 002DD8E4  7F C3 F3 78 */	mr r3, r30
/* 802E1C88 002DD8E8  38 80 00 0B */	li r4, 0xb
/* 802E1C8C 002DD8EC  38 A0 00 02 */	li r5, 2
/* 802E1C90 002DD8F0  4B FD B8 4D */	bl btu_start_timer
lbl_802E1C94:
/* 802E1C94 002DD8F4  7F A3 EB 78 */	mr r3, r29
/* 802E1C98 002DD8F8  38 80 00 13 */	li r4, 0x13
/* 802E1C9C 002DD8FC  4B FF AF 75 */	bl port_rfc_closed
/* 802E1CA0 002DD900  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E1CA4 002DD904  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802E1CA8 002DD908  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802E1CAC 002DD90C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802E1CB0 002DD910  7C 08 03 A6 */	mtlr r0
/* 802E1CB4 002DD914  38 21 00 20 */	addi r1, r1, 0x20
/* 802E1CB8 002DD918  4E 80 00 20 */	blr

.global rfc_inc_credit
rfc_inc_credit:
/* 802E1CBC 002DD91C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E1CC0 002DD920  7C 08 02 A6 */	mflr r0
/* 802E1CC4 002DD924  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E1CC8 002DD928  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E1CCC 002DD92C  7C 7F 1B 78 */	mr r31, r3
/* 802E1CD0 002DD930  80 A3 00 6C */	lwz r5, 0x6c(r3)
/* 802E1CD4 002DD934  88 05 00 72 */	lbz r0, 0x72(r5)
/* 802E1CD8 002DD938  28 00 00 02 */	cmplwi r0, 2
/* 802E1CDC 002DD93C  40 82 00 58 */	bne lbl_802E1D34
/* 802E1CE0 002DD940  A0 03 00 98 */	lhz r0, 0x98(r3)
/* 802E1CE4 002DD944  3C A0 80 57 */	lis r5, lbl_8056C428@ha
/* 802E1CE8 002DD948  38 A5 C4 28 */	addi r5, r5, lbl_8056C428@l
/* 802E1CEC 002DD94C  7C C0 22 14 */	add r6, r0, r4
/* 802E1CF0 002DD950  B0 C3 00 98 */	sth r6, 0x98(r3)
/* 802E1CF4 002DD954  88 05 04 14 */	lbz r0, 0x414(r5)
/* 802E1CF8 002DD958  28 00 00 04 */	cmplwi r0, 4
/* 802E1CFC 002DD95C  41 80 00 1C */	blt lbl_802E1D18
/* 802E1D00 002DD960  3C 60 00 09 */	lis r3, 0x00090003@ha
/* 802E1D04 002DD964  3C 80 80 44 */	lis r4, lbl_80444F48@ha
/* 802E1D08 002DD968  38 63 00 03 */	addi r3, r3, 0x00090003@l
/* 802E1D0C 002DD96C  54 C5 04 3E */	clrlwi r5, r6, 0x10
/* 802E1D10 002DD970  38 84 4F 48 */	addi r4, r4, lbl_80444F48@l
/* 802E1D14 002DD974  4B FD B2 15 */	bl LogMsg_1
lbl_802E1D18:
/* 802E1D18 002DD978  88 1F 00 24 */	lbz r0, 0x24(r31)
/* 802E1D1C 002DD97C  28 00 00 01 */	cmplwi r0, 1
/* 802E1D20 002DD980  40 82 00 14 */	bne lbl_802E1D34
/* 802E1D24 002DD984  80 7F 00 6C */	lwz r3, 0x6c(r31)
/* 802E1D28 002DD988  38 A0 00 01 */	li r5, 1
/* 802E1D2C 002DD98C  88 9F 00 0D */	lbz r4, 0xd(r31)
/* 802E1D30 002DD990  4B FF AC B9 */	bl PORT_FlowInd
lbl_802E1D34:
/* 802E1D34 002DD994  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E1D38 002DD998  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E1D3C 002DD99C  7C 08 03 A6 */	mtlr r0
/* 802E1D40 002DD9A0  38 21 00 10 */	addi r1, r1, 0x10
/* 802E1D44 002DD9A4  4E 80 00 20 */	blr

.global rfc_dec_credit
rfc_dec_credit:
/* 802E1D48 002DD9A8  80 83 00 6C */	lwz r4, 0x6c(r3)
/* 802E1D4C 002DD9AC  88 04 00 72 */	lbz r0, 0x72(r4)
/* 802E1D50 002DD9B0  28 00 00 02 */	cmplwi r0, 2
/* 802E1D54 002DD9B4  4C 82 00 20 */	bnelr
/* 802E1D58 002DD9B8  A0 83 00 98 */	lhz r4, 0x98(r3)
/* 802E1D5C 002DD9BC  2C 04 00 00 */	cmpwi r4, 0
/* 802E1D60 002DD9C0  41 82 00 0C */	beq lbl_802E1D6C
/* 802E1D64 002DD9C4  38 04 FF FF */	addi r0, r4, -1
/* 802E1D68 002DD9C8  B0 03 00 98 */	sth r0, 0x98(r3)
lbl_802E1D6C:
/* 802E1D6C 002DD9CC  A0 03 00 98 */	lhz r0, 0x98(r3)
/* 802E1D70 002DD9D0  2C 00 00 00 */	cmpwi r0, 0
/* 802E1D74 002DD9D4  4C 82 00 20 */	bnelr
/* 802E1D78 002DD9D8  38 00 00 01 */	li r0, 1
/* 802E1D7C 002DD9DC  98 03 00 24 */	stb r0, 0x24(r3)
/* 802E1D80 002DD9E0  4E 80 00 20 */	blr

.global rfc_check_send_cmd
rfc_check_send_cmd:
/* 802E1D84 002DD9E4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E1D88 002DD9E8  7C 08 02 A6 */	mflr r0
/* 802E1D8C 002DD9EC  2C 04 00 00 */	cmpwi r4, 0
/* 802E1D90 002DD9F0  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E1D94 002DD9F4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E1D98 002DD9F8  7C 7F 1B 78 */	mr r31, r3
/* 802E1D9C 002DD9FC  41 82 00 2C */	beq lbl_802E1DC8
/* 802E1DA0 002DDA00  38 63 00 18 */	addi r3, r3, 0x18
/* 802E1DA4 002DDA04  4B FD 83 B1 */	bl GKI_enqueue
/* 802E1DA8 002DDA08  48 00 00 20 */	b lbl_802E1DC8
lbl_802E1DAC:
/* 802E1DAC 002DDA0C  38 7F 00 18 */	addi r3, r31, 0x18
/* 802E1DB0 002DDA10  4B FD 86 21 */	bl GKI_dequeue
/* 802E1DB4 002DDA14  2C 03 00 00 */	cmpwi r3, 0
/* 802E1DB8 002DDA18  7C 64 1B 78 */	mr r4, r3
/* 802E1DBC 002DDA1C  41 82 00 18 */	beq lbl_802E1DD4
/* 802E1DC0 002DDA20  A0 7F 00 68 */	lhz r3, 0x68(r31)
/* 802E1DC4 002DDA24  4B FF 43 2D */	bl L2CA_DataWrite
lbl_802E1DC8:
/* 802E1DC8 002DDA28  88 1F 00 73 */	lbz r0, 0x73(r31)
/* 802E1DCC 002DDA2C  2C 00 00 00 */	cmpwi r0, 0
/* 802E1DD0 002DDA30  41 82 FF DC */	beq lbl_802E1DAC
lbl_802E1DD4:
/* 802E1DD4 002DDA34  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E1DD8 002DDA38  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E1DDC 002DDA3C  7C 08 03 A6 */	mtlr r0
/* 802E1DE0 002DDA40  38 21 00 10 */	addi r1, r1, 0x10
/* 802E1DE4 002DDA44  4E 80 00 20 */	blr