summaryrefslogtreecommitdiff
path: root/asm/SDK/HBM/HBMController.s
blob: 9dd82b3daa705613ef02ed384910df7eeb003be4 (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
.include "macros.inc"

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

.global wpadConnectCallback__Q210homebutton10ControllerFll
wpadConnectCallback__Q210homebutton10ControllerFll:
/* 803A4D9C 003A09FC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A4DA0 003A0A00  7C 08 02 A6 */	mflr r0
/* 803A4DA4 003A0A04  2C 04 00 00 */	cmpwi r4, 0
/* 803A4DA8 003A0A08  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A4DAC 003A0A0C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803A4DB0 003A0A10  7C 9F 23 78 */	mr r31, r4
/* 803A4DB4 003A0A14  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803A4DB8 003A0A18  7C 7E 1B 78 */	mr r30, r3
/* 803A4DBC 003A0A1C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 803A4DC0 003A0A20  93 81 00 10 */	stw r28, 0x10(r1)
/* 803A4DC4 003A0A24  41 82 00 14 */	beq lbl_803A4DD8
/* 803A4DC8 003A0A28  40 80 00 9C */	bge lbl_803A4E64
/* 803A4DCC 003A0A2C  2C 04 FF FF */	cmpwi r4, -1
/* 803A4DD0 003A0A30  40 80 00 58 */	bge lbl_803A4E28
/* 803A4DD4 003A0A34  48 00 00 90 */	b lbl_803A4E64
lbl_803A4DD8:
/* 803A4DD8 003A0A38  3F 80 80 64 */	lis r28, lbl_8063D070@ha
/* 803A4DDC 003A0A3C  54 7D 10 3A */	slwi r29, r3, 2
/* 803A4DE0 003A0A40  3B 9C D0 70 */	addi r28, r28, lbl_8063D070@l
/* 803A4DE4 003A0A44  7C 9C E8 2E */	lwzx r4, r28, r29
/* 803A4DE8 003A0A48  88 04 00 40 */	lbz r0, 0x40(r4)
/* 803A4DEC 003A0A4C  2C 00 00 00 */	cmpwi r0, 0
/* 803A4DF0 003A0A50  40 82 00 24 */	bne lbl_803A4E14
/* 803A4DF4 003A0A54  3C 80 80 3A */	lis r4, wpadExtensionCallback__Q210homebutton10ControllerFll@ha
/* 803A4DF8 003A0A58  38 84 4E B0 */	addi r4, r4, wpadExtensionCallback__Q210homebutton10ControllerFll@l
/* 803A4DFC 003A0A5C  4B F0 40 D9 */	bl WPADSetExtensionCallback
/* 803A4E00 003A0A60  7C 9C E8 2E */	lwzx r4, r28, r29
/* 803A4E04 003A0A64  38 00 00 01 */	li r0, 1
/* 803A4E08 003A0A68  90 64 00 2C */	stw r3, 0x2c(r4)
/* 803A4E0C 003A0A6C  7C 7C E8 2E */	lwzx r3, r28, r29
/* 803A4E10 003A0A70  98 03 00 40 */	stb r0, 0x40(r3)
lbl_803A4E14:
/* 803A4E14 003A0A74  7F C3 F3 78 */	mr r3, r30
/* 803A4E18 003A0A78  38 80 00 00 */	li r4, 0
/* 803A4E1C 003A0A7C  38 A0 00 00 */	li r5, 0
/* 803A4E20 003A0A80  4B F0 4D F5 */	bl WPADControlSpeaker
/* 803A4E24 003A0A84  48 00 00 40 */	b lbl_803A4E64
lbl_803A4E28:
/* 803A4E28 003A0A88  3F A0 80 64 */	lis r29, lbl_8063D070@ha
/* 803A4E2C 003A0A8C  54 7C 10 3A */	slwi r28, r3, 2
/* 803A4E30 003A0A90  3B BD D0 70 */	addi r29, r29, lbl_8063D070@l
/* 803A4E34 003A0A94  7C 9D E0 2E */	lwzx r4, r29, r28
/* 803A4E38 003A0A98  80 84 00 2C */	lwz r4, 0x2c(r4)
/* 803A4E3C 003A0A9C  4B F0 40 99 */	bl WPADSetExtensionCallback
/* 803A4E40 003A0AA0  7C 7D E0 2E */	lwzx r3, r29, r28
/* 803A4E44 003A0AA4  38 00 00 00 */	li r0, 0
/* 803A4E48 003A0AA8  90 03 00 2C */	stw r0, 0x2c(r3)
/* 803A4E4C 003A0AAC  7C 7D E0 2E */	lwzx r3, r29, r28
/* 803A4E50 003A0AB0  98 03 00 40 */	stb r0, 0x40(r3)
/* 803A4E54 003A0AB4  7C 7D E0 2E */	lwzx r3, r29, r28
/* 803A4E58 003A0AB8  98 03 00 42 */	stb r0, 0x42(r3)
/* 803A4E5C 003A0ABC  7C 7D E0 2E */	lwzx r3, r29, r28
/* 803A4E60 003A0AC0  98 03 00 43 */	stb r0, 0x43(r3)
lbl_803A4E64:
/* 803A4E64 003A0AC4  3C 60 80 64 */	lis r3, lbl_8063D070@ha
/* 803A4E68 003A0AC8  57 C0 10 3A */	slwi r0, r30, 2
/* 803A4E6C 003A0ACC  38 63 D0 70 */	addi r3, r3, lbl_8063D070@l
/* 803A4E70 003A0AD0  7C 63 00 2E */	lwzx r3, r3, r0
/* 803A4E74 003A0AD4  81 83 00 28 */	lwz r12, 0x28(r3)
/* 803A4E78 003A0AD8  2C 0C 00 00 */	cmpwi r12, 0
/* 803A4E7C 003A0ADC  41 82 00 14 */	beq lbl_803A4E90
/* 803A4E80 003A0AE0  7F C3 F3 78 */	mr r3, r30
/* 803A4E84 003A0AE4  7F E4 FB 78 */	mr r4, r31
/* 803A4E88 003A0AE8  7D 89 03 A6 */	mtctr r12
/* 803A4E8C 003A0AEC  4E 80 04 21 */	bctrl 
lbl_803A4E90:
/* 803A4E90 003A0AF0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A4E94 003A0AF4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803A4E98 003A0AF8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803A4E9C 003A0AFC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 803A4EA0 003A0B00  83 81 00 10 */	lwz r28, 0x10(r1)
/* 803A4EA4 003A0B04  7C 08 03 A6 */	mtlr r0
/* 803A4EA8 003A0B08  38 21 00 20 */	addi r1, r1, 0x20
/* 803A4EAC 003A0B0C  4E 80 00 20 */	blr 

.global wpadExtensionCallback__Q210homebutton10ControllerFll
wpadExtensionCallback__Q210homebutton10ControllerFll:
/* 803A4EB0 003A0B10  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A4EB4 003A0B14  7C 08 02 A6 */	mflr r0
/* 803A4EB8 003A0B18  2C 04 00 FF */	cmpwi r4, 0xff
/* 803A4EBC 003A0B1C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A4EC0 003A0B20  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803A4EC4 003A0B24  7C 9F 23 78 */	mr r31, r4
/* 803A4EC8 003A0B28  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803A4ECC 003A0B2C  7C 7E 1B 78 */	mr r30, r3
/* 803A4ED0 003A0B30  93 A1 00 14 */	stw r29, 0x14(r1)
/* 803A4ED4 003A0B34  93 81 00 10 */	stw r28, 0x10(r1)
/* 803A4ED8 003A0B38  41 82 00 08 */	beq lbl_803A4EE0
/* 803A4EDC 003A0B3C  48 00 00 98 */	b lbl_803A4F74
lbl_803A4EE0:
/* 803A4EE0 003A0B40  3C 80 80 64 */	lis r4, lbl_8063D070@ha
/* 803A4EE4 003A0B44  54 60 10 3A */	slwi r0, r3, 2
/* 803A4EE8 003A0B48  38 84 D0 70 */	addi r4, r4, lbl_8063D070@l
/* 803A4EEC 003A0B4C  7F A4 00 2E */	lwzx r29, r4, r0
/* 803A4EF0 003A0B50  83 9D 00 00 */	lwz r28, 0(r29)
/* 803A4EF4 003A0B54  7F 83 E3 78 */	mr r3, r28
/* 803A4EF8 003A0B58  4B F0 4C D9 */	bl WPADIsSpeakerEnabled
/* 803A4EFC 003A0B5C  2C 03 00 00 */	cmpwi r3, 0
/* 803A4F00 003A0B60  41 82 00 74 */	beq lbl_803A4F74
/* 803A4F04 003A0B64  7F 83 E3 78 */	mr r3, r28
/* 803A4F08 003A0B68  38 80 00 02 */	li r4, 2
/* 803A4F0C 003A0B6C  38 A0 00 00 */	li r5, 0
/* 803A4F10 003A0B70  4B F0 4D 05 */	bl WPADControlSpeaker
/* 803A4F14 003A0B74  1C 1C 00 30 */	mulli r0, r28, 0x30
/* 803A4F18 003A0B78  3C 60 80 64 */	lis r3, lbl_8063CFB0@ha
/* 803A4F1C 003A0B7C  7F 84 E3 78 */	mr r4, r28
/* 803A4F20 003A0B80  38 63 CF B0 */	addi r3, r3, lbl_8063CFB0@l
/* 803A4F24 003A0B84  7F 83 02 14 */	add r28, r3, r0
/* 803A4F28 003A0B88  7F 83 E3 78 */	mr r3, r28
/* 803A4F2C 003A0B8C  4B EC 4F 75 */	bl OSSetAlarmUserData
/* 803A4F30 003A0B90  7F 83 E3 78 */	mr r3, r28
/* 803A4F34 003A0B94  4B EC 4B 45 */	bl OSCancelAlarm
/* 803A4F38 003A0B98  3C 80 80 00 */	lis r4, 0x800000F8@ha
/* 803A4F3C 003A0B9C  3C E0 80 3A */	lis r7, soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext@ha
/* 803A4F40 003A0BA0  80 04 00 F8 */	lwz r0, 0x800000F8@l(r4)
/* 803A4F44 003A0BA4  3C 60 10 62 */	lis r3, 0x10624DD3@ha
/* 803A4F48 003A0BA8  38 83 4D D3 */	addi r4, r3, 0x10624DD3@l
/* 803A4F4C 003A0BAC  38 E7 4F C0 */	addi r7, r7, soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext@l
/* 803A4F50 003A0BB0  54 00 F0 BE */	srwi r0, r0, 2
/* 803A4F54 003A0BB4  7F 83 E3 78 */	mr r3, r28
/* 803A4F58 003A0BB8  7C 04 00 16 */	mulhwu r0, r4, r0
/* 803A4F5C 003A0BBC  38 A0 00 00 */	li r5, 0
/* 803A4F60 003A0BC0  54 00 D1 BE */	srwi r0, r0, 6
/* 803A4F64 003A0BC4  1C C0 03 E8 */	mulli r6, r0, 0x3e8
/* 803A4F68 003A0BC8  4B EC 4A 1D */	bl OSSetAlarm
/* 803A4F6C 003A0BCC  38 00 00 01 */	li r0, 1
/* 803A4F70 003A0BD0  98 1D 00 41 */	stb r0, 0x41(r29)
lbl_803A4F74:
/* 803A4F74 003A0BD4  3C 60 80 64 */	lis r3, lbl_8063D070@ha
/* 803A4F78 003A0BD8  57 C0 10 3A */	slwi r0, r30, 2
/* 803A4F7C 003A0BDC  38 63 D0 70 */	addi r3, r3, lbl_8063D070@l
/* 803A4F80 003A0BE0  7C 63 00 2E */	lwzx r3, r3, r0
/* 803A4F84 003A0BE4  81 83 00 2C */	lwz r12, 0x2c(r3)
/* 803A4F88 003A0BE8  2C 0C 00 00 */	cmpwi r12, 0
/* 803A4F8C 003A0BEC  41 82 00 14 */	beq lbl_803A4FA0
/* 803A4F90 003A0BF0  7F C3 F3 78 */	mr r3, r30
/* 803A4F94 003A0BF4  7F E4 FB 78 */	mr r4, r31
/* 803A4F98 003A0BF8  7D 89 03 A6 */	mtctr r12
/* 803A4F9C 003A0BFC  4E 80 04 21 */	bctrl 
lbl_803A4FA0:
/* 803A4FA0 003A0C00  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A4FA4 003A0C04  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803A4FA8 003A0C08  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803A4FAC 003A0C0C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 803A4FB0 003A0C10  83 81 00 10 */	lwz r28, 0x10(r1)
/* 803A4FB4 003A0C14  7C 08 03 A6 */	mtlr r0
/* 803A4FB8 003A0C18  38 21 00 20 */	addi r1, r1, 0x20
/* 803A4FBC 003A0C1C  4E 80 00 20 */	blr 

.global soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext
soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext:
/* 803A4FC0 003A0C20  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A4FC4 003A0C24  7C 08 02 A6 */	mflr r0
/* 803A4FC8 003A0C28  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A4FCC 003A0C2C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A4FD0 003A0C30  93 C1 00 08 */	stw r30, 8(r1)
/* 803A4FD4 003A0C34  4B EC 4E D5 */	bl OSGetAlarmUserData
/* 803A4FD8 003A0C38  3C 80 80 64 */	lis r4, lbl_8063D070@ha
/* 803A4FDC 003A0C3C  54 60 10 3A */	slwi r0, r3, 2
/* 803A4FE0 003A0C40  38 84 D0 70 */	addi r4, r4, lbl_8063D070@l
/* 803A4FE4 003A0C44  7F E4 00 2E */	lwzx r31, r4, r0
/* 803A4FE8 003A0C48  83 DF 00 00 */	lwz r30, 0(r31)
/* 803A4FEC 003A0C4C  7F C3 F3 78 */	mr r3, r30
/* 803A4FF0 003A0C50  4B F0 4B E1 */	bl WPADIsSpeakerEnabled
/* 803A4FF4 003A0C54  2C 03 00 00 */	cmpwi r3, 0
/* 803A4FF8 003A0C58  41 82 00 14 */	beq lbl_803A500C
/* 803A4FFC 003A0C5C  7F C3 F3 78 */	mr r3, r30
/* 803A5000 003A0C60  38 80 00 03 */	li r4, 3
/* 803A5004 003A0C64  38 A0 00 00 */	li r5, 0
/* 803A5008 003A0C68  4B F0 4C 0D */	bl WPADControlSpeaker
lbl_803A500C:
/* 803A500C 003A0C6C  38 00 00 00 */	li r0, 0
/* 803A5010 003A0C70  98 1F 00 41 */	stb r0, 0x41(r31)
/* 803A5014 003A0C74  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A5018 003A0C78  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A501C 003A0C7C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A5020 003A0C80  7C 08 03 A6 */	mtlr r0
/* 803A5024 003A0C84  38 21 00 10 */	addi r1, r1, 0x10
/* 803A5028 003A0C88  4E 80 00 20 */	blr 

.global __ct__Q210homebutton10ControllerFiPQ210homebutton9RemoteSpk
__ct__Q210homebutton10ControllerFiPQ210homebutton9RemoteSpk:
/* 803A502C 003A0C8C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A5030 003A0C90  7C 08 02 A6 */	mflr r0
/* 803A5034 003A0C94  C0 02 A9 C0 */	lfs f0, lbl_80642FC0-_SDA2_BASE_(r2)
/* 803A5038 003A0C98  38 C0 00 00 */	li r6, 0
/* 803A503C 003A0C9C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A5040 003A0CA0  38 00 00 01 */	li r0, 1
/* 803A5044 003A0CA4  2C 04 00 04 */	cmpwi r4, 4
/* 803A5048 003A0CA8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803A504C 003A0CAC  3F E0 80 64 */	lis r31, lbl_8063CEF0@ha
/* 803A5050 003A0CB0  3B FF CE F0 */	addi r31, r31, lbl_8063CEF0@l
/* 803A5054 003A0CB4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803A5058 003A0CB8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 803A505C 003A0CBC  7C 9D 23 78 */	mr r29, r4
/* 803A5060 003A0CC0  93 81 00 10 */	stw r28, 0x10(r1)
/* 803A5064 003A0CC4  7C 7C 1B 78 */	mr r28, r3
/* 803A5068 003A0CC8  90 C3 00 20 */	stw r6, 0x20(r3)
/* 803A506C 003A0CCC  90 83 00 00 */	stw r4, 0(r3)
/* 803A5070 003A0CD0  98 C3 00 1C */	stb r6, 0x1c(r3)
/* 803A5074 003A0CD4  D0 03 00 04 */	stfs f0, 4(r3)
/* 803A5078 003A0CD8  90 A3 00 24 */	stw r5, 0x24(r3)
/* 803A507C 003A0CDC  90 C3 00 28 */	stw r6, 0x28(r3)
/* 803A5080 003A0CE0  90 C3 00 2C */	stw r6, 0x2c(r3)
/* 803A5084 003A0CE4  98 C3 00 40 */	stb r6, 0x40(r3)
/* 803A5088 003A0CE8  98 C3 00 41 */	stb r6, 0x41(r3)
/* 803A508C 003A0CEC  98 03 00 44 */	stb r0, 0x44(r3)
/* 803A5090 003A0CF0  40 80 00 34 */	bge lbl_803A50C4
/* 803A5094 003A0CF4  1F C4 00 30 */	mulli r30, r4, 0x30
/* 803A5098 003A0CF8  38 6D B2 F0 */	addi r3, r13, lbl_806405B0-_SDA_BASE_
/* 803A509C 003A0CFC  38 1F 00 00 */	addi r0, r31, 0
/* 803A50A0 003A0D00  7C C3 21 AE */	stbx r6, r3, r4
/* 803A50A4 003A0D04  7C 60 F2 14 */	add r3, r0, r30
/* 803A50A8 003A0D08  4B EC 46 7D */	bl OSCreateAlarm
/* 803A50AC 003A0D0C  38 1F 00 C0 */	addi r0, r31, 0xc0
/* 803A50B0 003A0D10  7C 60 F2 14 */	add r3, r0, r30
/* 803A50B4 003A0D14  4B EC 46 71 */	bl OSCreateAlarm
/* 803A50B8 003A0D18  57 A0 10 3A */	slwi r0, r29, 2
/* 803A50BC 003A0D1C  38 7F 01 80 */	addi r3, r31, 0x180
/* 803A50C0 003A0D20  7F 83 01 2E */	stwx r28, r3, r0
lbl_803A50C4:
/* 803A50C4 003A0D24  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803A50C8 003A0D28  7F 83 E3 78 */	mr r3, r28
/* 803A50CC 003A0D2C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803A50D0 003A0D30  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 803A50D4 003A0D34  83 81 00 10 */	lwz r28, 0x10(r1)
/* 803A50D8 003A0D38  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A50DC 003A0D3C  7C 08 03 A6 */	mtlr r0
/* 803A50E0 003A0D40  38 21 00 20 */	addi r1, r1, 0x20
/* 803A50E4 003A0D44  4E 80 00 20 */	blr 

.global __dt__Q210homebutton10ControllerFv
__dt__Q210homebutton10ControllerFv:
/* 803A50E8 003A0D48  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A50EC 003A0D4C  7C 08 02 A6 */	mflr r0
/* 803A50F0 003A0D50  2C 03 00 00 */	cmpwi r3, 0
/* 803A50F4 003A0D54  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A50F8 003A0D58  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A50FC 003A0D5C  7C 9F 23 78 */	mr r31, r4
/* 803A5100 003A0D60  93 C1 00 08 */	stw r30, 8(r1)
/* 803A5104 003A0D64  7C 7E 1B 78 */	mr r30, r3
/* 803A5108 003A0D68  41 82 00 50 */	beq lbl_803A5158
/* 803A510C 003A0D6C  80 03 00 00 */	lwz r0, 0(r3)
/* 803A5110 003A0D70  3C 60 80 64 */	lis r3, lbl_8063CEF0@ha
/* 803A5114 003A0D74  38 63 CE F0 */	addi r3, r3, lbl_8063CEF0@l
/* 803A5118 003A0D78  1C 00 00 30 */	mulli r0, r0, 0x30
/* 803A511C 003A0D7C  7C 63 02 14 */	add r3, r3, r0
/* 803A5120 003A0D80  4B EC 49 59 */	bl OSCancelAlarm
/* 803A5124 003A0D84  80 1E 00 00 */	lwz r0, 0(r30)
/* 803A5128 003A0D88  3C 60 80 64 */	lis r3, lbl_8063CFB0@ha
/* 803A512C 003A0D8C  38 63 CF B0 */	addi r3, r3, lbl_8063CFB0@l
/* 803A5130 003A0D90  1C 00 00 30 */	mulli r0, r0, 0x30
/* 803A5134 003A0D94  7C 63 02 14 */	add r3, r3, r0
/* 803A5138 003A0D98  4B EC 49 41 */	bl OSCancelAlarm
/* 803A513C 003A0D9C  34 7E 00 20 */	addic. r3, r30, 0x20
/* 803A5140 003A0DA0  41 82 00 08 */	beq lbl_803A5148
/* 803A5144 003A0DA4  4B FD 58 A9 */	bl DetachSound__Q34nw4r3snd11SoundHandleFv
lbl_803A5148:
/* 803A5148 003A0DA8  2C 1F 00 00 */	cmpwi r31, 0
/* 803A514C 003A0DAC  40 81 00 0C */	ble lbl_803A5158
/* 803A5150 003A0DB0  7F C3 F3 78 */	mr r3, r30
/* 803A5154 003A0DB4  4B E3 59 65 */	bl __dl__FPv
lbl_803A5158:
/* 803A5158 003A0DB8  7F C3 F3 78 */	mr r3, r30
/* 803A515C 003A0DBC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A5160 003A0DC0  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A5164 003A0DC4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A5168 003A0DC8  7C 08 03 A6 */	mtlr r0
/* 803A516C 003A0DCC  38 21 00 10 */	addi r1, r1, 0x10
/* 803A5170 003A0DD0  4E 80 00 20 */	blr 

.global initCallback__Q210homebutton10ControllerFv
initCallback__Q210homebutton10ControllerFv:
/* 803A5174 003A0DD4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A5178 003A0DD8  7C 08 02 A6 */	mflr r0
/* 803A517C 003A0DDC  3C 80 80 3A */	lis r4, wpadConnectCallback__Q210homebutton10ControllerFll@ha
/* 803A5180 003A0DE0  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A5184 003A0DE4  38 84 4D 9C */	addi r4, r4, wpadConnectCallback__Q210homebutton10ControllerFll@l
/* 803A5188 003A0DE8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803A518C 003A0DEC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 803A5190 003A0DF0  7C 7E 1B 78 */	mr r30, r3
/* 803A5194 003A0DF4  80 63 00 00 */	lwz r3, 0(r3)
/* 803A5198 003A0DF8  4B F0 3C D5 */	bl WPADSetConnectCallback
/* 803A519C 003A0DFC  3B E0 00 01 */	li r31, 1
/* 803A51A0 003A0E00  90 7E 00 28 */	stw r3, 0x28(r30)
/* 803A51A4 003A0E04  80 7E 00 00 */	lwz r3, 0(r30)
/* 803A51A8 003A0E08  38 81 00 08 */	addi r4, r1, 8
/* 803A51AC 003A0E0C  9B FE 00 44 */	stb r31, 0x44(r30)
/* 803A51B0 003A0E10  4B F0 3B C9 */	bl WPADProbe
/* 803A51B4 003A0E14  2C 03 00 00 */	cmpwi r3, 0
/* 803A51B8 003A0E18  41 82 00 14 */	beq lbl_803A51CC
/* 803A51BC 003A0E1C  40 80 00 34 */	bge lbl_803A51F0
/* 803A51C0 003A0E20  2C 03 FF FF */	cmpwi r3, -1
/* 803A51C4 003A0E24  40 80 00 24 */	bge lbl_803A51E8
/* 803A51C8 003A0E28  48 00 00 28 */	b lbl_803A51F0
lbl_803A51CC:
/* 803A51CC 003A0E2C  3C 80 80 3A */	lis r4, wpadExtensionCallback__Q210homebutton10ControllerFll@ha
/* 803A51D0 003A0E30  80 7E 00 00 */	lwz r3, 0(r30)
/* 803A51D4 003A0E34  38 84 4E B0 */	addi r4, r4, wpadExtensionCallback__Q210homebutton10ControllerFll@l
/* 803A51D8 003A0E38  4B F0 3C FD */	bl WPADSetExtensionCallback
/* 803A51DC 003A0E3C  90 7E 00 2C */	stw r3, 0x2c(r30)
/* 803A51E0 003A0E40  9B FE 00 40 */	stb r31, 0x40(r30)
/* 803A51E4 003A0E44  48 00 00 0C */	b lbl_803A51F0
lbl_803A51E8:
/* 803A51E8 003A0E48  38 00 00 00 */	li r0, 0
/* 803A51EC 003A0E4C  98 1E 00 40 */	stb r0, 0x40(r30)
lbl_803A51F0:
/* 803A51F0 003A0E50  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A51F4 003A0E54  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803A51F8 003A0E58  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803A51FC 003A0E5C  7C 08 03 A6 */	mtlr r0
/* 803A5200 003A0E60  38 21 00 20 */	addi r1, r1, 0x20
/* 803A5204 003A0E64  4E 80 00 20 */	blr 

.global clearCallback__Q210homebutton10ControllerFv
clearCallback__Q210homebutton10ControllerFv:
/* 803A5208 003A0E68  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A520C 003A0E6C  7C 08 02 A6 */	mflr r0
/* 803A5210 003A0E70  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A5214 003A0E74  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A5218 003A0E78  93 C1 00 08 */	stw r30, 8(r1)
/* 803A521C 003A0E7C  7C 7E 1B 78 */	mr r30, r3
/* 803A5220 003A0E80  80 63 00 00 */	lwz r3, 0(r3)
/* 803A5224 003A0E84  80 9E 00 28 */	lwz r4, 0x28(r30)
/* 803A5228 003A0E88  4B F0 3C 45 */	bl WPADSetConnectCallback
/* 803A522C 003A0E8C  3B E0 00 00 */	li r31, 0
/* 803A5230 003A0E90  80 7E 00 00 */	lwz r3, 0(r30)
/* 803A5234 003A0E94  93 FE 00 28 */	stw r31, 0x28(r30)
/* 803A5238 003A0E98  80 9E 00 2C */	lwz r4, 0x2c(r30)
/* 803A523C 003A0E9C  4B F0 3C 99 */	bl WPADSetExtensionCallback
/* 803A5240 003A0EA0  93 FE 00 2C */	stw r31, 0x2c(r30)
/* 803A5244 003A0EA4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A5248 003A0EA8  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A524C 003A0EAC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A5250 003A0EB0  7C 08 03 A6 */	mtlr r0
/* 803A5254 003A0EB4  38 21 00 10 */	addi r1, r1, 0x10
/* 803A5258 003A0EB8  4E 80 00 20 */	blr 

.global setKpad__Q210homebutton10ControllerFPC11HBMKPadDatab
setKpad__Q210homebutton10ControllerFPC11HBMKPadDatab:
/* 803A525C 003A0EBC  80 C4 00 00 */	lwz r6, 0(r4)
/* 803A5260 003A0EC0  2C 06 00 00 */	cmpwi r6, 0
/* 803A5264 003A0EC4  4D 82 00 20 */	beqlr 
/* 803A5268 003A0EC8  2C 05 00 00 */	cmpwi r5, 0
/* 803A526C 003A0ECC  41 82 00 44 */	beq lbl_803A52B0
/* 803A5270 003A0ED0  88 06 00 5C */	lbz r0, 0x5c(r6)
/* 803A5274 003A0ED4  28 00 00 02 */	cmplwi r0, 2
/* 803A5278 003A0ED8  40 82 00 24 */	bne lbl_803A529C
/* 803A527C 003A0EDC  80 04 00 0C */	lwz r0, 0xc(r4)
/* 803A5280 003A0EE0  28 00 00 02 */	cmplwi r0, 2
/* 803A5284 003A0EE4  40 82 00 18 */	bne lbl_803A529C
/* 803A5288 003A0EE8  C0 24 00 04 */	lfs f1, 4(r4)
/* 803A528C 003A0EEC  C0 04 00 08 */	lfs f0, 8(r4)
/* 803A5290 003A0EF0  D0 23 00 08 */	stfs f1, 8(r3)
/* 803A5294 003A0EF4  D0 03 00 0C */	stfs f0, 0xc(r3)
/* 803A5298 003A0EF8  48 00 00 18 */	b lbl_803A52B0
lbl_803A529C:
/* 803A529C 003A0EFC  C0 06 00 20 */	lfs f0, 0x20(r6)
/* 803A52A0 003A0F00  80 A4 00 00 */	lwz r5, 0(r4)
/* 803A52A4 003A0F04  D0 03 00 08 */	stfs f0, 8(r3)
/* 803A52A8 003A0F08  C0 05 00 24 */	lfs f0, 0x24(r5)
/* 803A52AC 003A0F0C  D0 03 00 0C */	stfs f0, 0xc(r3)
lbl_803A52B0:
/* 803A52B0 003A0F10  80 E4 00 00 */	lwz r7, 0(r4)
/* 803A52B4 003A0F14  80 07 00 04 */	lwz r0, 4(r7)
/* 803A52B8 003A0F18  90 03 00 10 */	stw r0, 0x10(r3)
/* 803A52BC 003A0F1C  80 C7 00 00 */	lwz r6, 0(r7)
/* 803A52C0 003A0F20  90 C3 00 14 */	stw r6, 0x14(r3)
/* 803A52C4 003A0F24  80 07 00 08 */	lwz r0, 8(r7)
/* 803A52C8 003A0F28  90 03 00 18 */	stw r0, 0x18(r3)
/* 803A52CC 003A0F2C  88 07 00 5C */	lbz r0, 0x5c(r7)
/* 803A52D0 003A0F30  28 00 00 02 */	cmplwi r0, 2
/* 803A52D4 003A0F34  4C 82 00 20 */	bnelr 
/* 803A52D8 003A0F38  80 04 00 0C */	lwz r0, 0xc(r4)
/* 803A52DC 003A0F3C  28 00 00 02 */	cmplwi r0, 2
/* 803A52E0 003A0F40  4C 82 00 20 */	bnelr 
/* 803A52E4 003A0F44  80 07 00 60 */	lwz r0, 0x60(r7)
/* 803A52E8 003A0F48  80 87 00 64 */	lwz r4, 0x64(r7)
/* 803A52EC 003A0F4C  54 05 06 F7 */	rlwinm. r5, r0, 0, 0x1b, 0x1b
/* 803A52F0 003A0F50  80 A7 00 68 */	lwz r5, 0x68(r7)
/* 803A52F4 003A0F54  41 82 00 0C */	beq lbl_803A5300
/* 803A52F8 003A0F58  60 C6 08 00 */	ori r6, r6, 0x800
/* 803A52FC 003A0F5C  90 C3 00 14 */	stw r6, 0x14(r3)
lbl_803A5300:
/* 803A5300 003A0F60  54 86 06 F7 */	rlwinm. r6, r4, 0, 0x1b, 0x1b
/* 803A5304 003A0F64  41 82 00 10 */	beq lbl_803A5314
/* 803A5308 003A0F68  80 C3 00 10 */	lwz r6, 0x10(r3)
/* 803A530C 003A0F6C  60 C6 08 00 */	ori r6, r6, 0x800
/* 803A5310 003A0F70  90 C3 00 10 */	stw r6, 0x10(r3)
lbl_803A5314:
/* 803A5314 003A0F74  54 A6 06 F7 */	rlwinm. r6, r5, 0, 0x1b, 0x1b
/* 803A5318 003A0F78  41 82 00 10 */	beq lbl_803A5328
/* 803A531C 003A0F7C  80 C3 00 18 */	lwz r6, 0x18(r3)
/* 803A5320 003A0F80  60 C6 08 00 */	ori r6, r6, 0x800
/* 803A5324 003A0F84  90 C3 00 18 */	stw r6, 0x18(r3)
lbl_803A5328:
/* 803A5328 003A0F88  54 06 05 6B */	rlwinm. r6, r0, 0, 0x15, 0x15
/* 803A532C 003A0F8C  41 82 00 10 */	beq lbl_803A533C
/* 803A5330 003A0F90  80 C3 00 14 */	lwz r6, 0x14(r3)
/* 803A5334 003A0F94  60 C6 00 10 */	ori r6, r6, 0x10
/* 803A5338 003A0F98  90 C3 00 14 */	stw r6, 0x14(r3)
lbl_803A533C:
/* 803A533C 003A0F9C  54 86 05 6B */	rlwinm. r6, r4, 0, 0x15, 0x15
/* 803A5340 003A0FA0  41 82 00 10 */	beq lbl_803A5350
/* 803A5344 003A0FA4  80 C3 00 10 */	lwz r6, 0x10(r3)
/* 803A5348 003A0FA8  60 C6 00 10 */	ori r6, r6, 0x10
/* 803A534C 003A0FAC  90 C3 00 10 */	stw r6, 0x10(r3)
lbl_803A5350:
/* 803A5350 003A0FB0  54 A6 05 6B */	rlwinm. r6, r5, 0, 0x15, 0x15
/* 803A5354 003A0FB4  41 82 00 10 */	beq lbl_803A5364
/* 803A5358 003A0FB8  80 C3 00 18 */	lwz r6, 0x18(r3)
/* 803A535C 003A0FBC  60 C6 00 10 */	ori r6, r6, 0x10
/* 803A5360 003A0FC0  90 C3 00 18 */	stw r6, 0x18(r3)
lbl_803A5364:
/* 803A5364 003A0FC4  54 06 04 E7 */	rlwinm. r6, r0, 0, 0x13, 0x13
/* 803A5368 003A0FC8  41 82 00 10 */	beq lbl_803A5378
/* 803A536C 003A0FCC  80 C3 00 14 */	lwz r6, 0x14(r3)
/* 803A5370 003A0FD0  60 C6 10 00 */	ori r6, r6, 0x1000
/* 803A5374 003A0FD4  90 C3 00 14 */	stw r6, 0x14(r3)
lbl_803A5378:
/* 803A5378 003A0FD8  54 86 04 E7 */	rlwinm. r6, r4, 0, 0x13, 0x13
/* 803A537C 003A0FDC  41 82 00 10 */	beq lbl_803A538C
/* 803A5380 003A0FE0  80 C3 00 10 */	lwz r6, 0x10(r3)
/* 803A5384 003A0FE4  60 C6 10 00 */	ori r6, r6, 0x1000
/* 803A5388 003A0FE8  90 C3 00 10 */	stw r6, 0x10(r3)
lbl_803A538C:
/* 803A538C 003A0FEC  54 A6 04 E7 */	rlwinm. r6, r5, 0, 0x13, 0x13
/* 803A5390 003A0FF0  41 82 00 10 */	beq lbl_803A53A0
/* 803A5394 003A0FF4  80 C3 00 18 */	lwz r6, 0x18(r3)
/* 803A5398 003A0FF8  60 C6 10 00 */	ori r6, r6, 0x1000
/* 803A539C 003A0FFC  90 C3 00 18 */	stw r6, 0x18(r3)
lbl_803A53A0:
/* 803A53A0 003A1000  54 00 05 29 */	rlwinm. r0, r0, 0, 0x14, 0x14
/* 803A53A4 003A1004  41 82 00 10 */	beq lbl_803A53B4
/* 803A53A8 003A1008  80 03 00 14 */	lwz r0, 0x14(r3)
/* 803A53AC 003A100C  60 00 80 00 */	ori r0, r0, 0x8000
/* 803A53B0 003A1010  90 03 00 14 */	stw r0, 0x14(r3)
lbl_803A53B4:
/* 803A53B4 003A1014  54 80 05 29 */	rlwinm. r0, r4, 0, 0x14, 0x14
/* 803A53B8 003A1018  41 82 00 10 */	beq lbl_803A53C8
/* 803A53BC 003A101C  80 03 00 10 */	lwz r0, 0x10(r3)
/* 803A53C0 003A1020  60 00 80 00 */	ori r0, r0, 0x8000
/* 803A53C4 003A1024  90 03 00 10 */	stw r0, 0x10(r3)
lbl_803A53C8:
/* 803A53C8 003A1028  54 A0 05 29 */	rlwinm. r0, r5, 0, 0x14, 0x14
/* 803A53CC 003A102C  4D 82 00 20 */	beqlr 
/* 803A53D0 003A1030  80 03 00 18 */	lwz r0, 0x18(r3)
/* 803A53D4 003A1034  60 00 80 00 */	ori r0, r0, 0x8000
/* 803A53D8 003A1038  90 03 00 18 */	stw r0, 0x18(r3)
/* 803A53DC 003A103C  4E 80 00 20 */	blr 

.global clrKpadButton__Q210homebutton10ControllerFv
clrKpadButton__Q210homebutton10ControllerFv:
/* 803A53E0 003A1040  38 00 00 00 */	li r0, 0
/* 803A53E4 003A1044  90 03 00 10 */	stw r0, 0x10(r3)
/* 803A53E8 003A1048  90 03 00 14 */	stw r0, 0x14(r3)
/* 803A53EC 003A104C  90 03 00 18 */	stw r0, 0x18(r3)
/* 803A53F0 003A1050  4E 80 00 20 */	blr 

.global setInValidPos__Q210homebutton10ControllerFv
setInValidPos__Q210homebutton10ControllerFv:
/* 803A53F4 003A1054  C0 02 A9 C4 */	lfs f0, lbl_80642FC4-_SDA2_BASE_(r2)
/* 803A53F8 003A1058  D0 03 00 08 */	stfs f0, 8(r3)
/* 803A53FC 003A105C  D0 03 00 0C */	stfs f0, 0xc(r3)
/* 803A5400 003A1060  4E 80 00 20 */	blr 

.global connect__Q210homebutton10ControllerFv
connect__Q210homebutton10ControllerFv:
/* 803A5404 003A1064  7C 64 1B 78 */	mr r4, r3
/* 803A5408 003A1068  80 63 00 24 */	lwz r3, 0x24(r3)
/* 803A540C 003A106C  80 84 00 00 */	lwz r4, 0(r4)
/* 803A5410 003A1070  48 00 0B 48 */	b Connect__Q210homebutton9RemoteSpkFl

.global disconnect__Q210homebutton10ControllerFv
disconnect__Q210homebutton10ControllerFv:
/* 803A5414 003A1074  4E 80 00 20 */	blr 

.global setSpeakerVol__Q210homebutton10ControllerFf
setSpeakerVol__Q210homebutton10ControllerFf:
/* 803A5418 003A1078  D0 23 00 04 */	stfs f1, 4(r3)
/* 803A541C 003A107C  4E 80 00 20 */	blr 

.global playSound__Q210homebutton10ControllerFPQ34nw4r3snd18SoundArchivePlayeri
playSound__Q210homebutton10ControllerFPQ34nw4r3snd18SoundArchivePlayeri:
/* 803A5420 003A1080  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A5424 003A1084  7C 08 02 A6 */	mflr r0
/* 803A5428 003A1088  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A542C 003A108C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 803A5430 003A1090  7C 7F 1B 78 */	mr r31, r3
/* 803A5434 003A1094  88 03 00 41 */	lbz r0, 0x41(r3)
/* 803A5438 003A1098  2C 00 00 00 */	cmpwi r0, 0
/* 803A543C 003A109C  40 82 00 64 */	bne lbl_803A54A0
/* 803A5440 003A10A0  C0 23 00 04 */	lfs f1, 4(r3)
/* 803A5444 003A10A4  C0 02 A9 C8 */	lfs f0, lbl_80642FC8-_SDA2_BASE_(r2)
/* 803A5448 003A10A8  80 63 00 24 */	lwz r3, 0x24(r3)
/* 803A544C 003A10AC  EC 00 00 72 */	fmuls f0, f0, f1
/* 803A5450 003A10B0  80 9F 00 00 */	lwz r4, 0(r31)
/* 803A5454 003A10B4  FC 00 00 1E */	fctiwz f0, f0
/* 803A5458 003A10B8  D8 01 00 08 */	stfd f0, 8(r1)
/* 803A545C 003A10BC  80 C1 00 0C */	lwz r6, 0xc(r1)
/* 803A5460 003A10C0  7C C6 07 74 */	extsb r6, r6
/* 803A5464 003A10C4  48 00 0B 75 */	bl Play__Q210homebutton9RemoteSpkFliSc
/* 803A5468 003A10C8  80 7F 00 00 */	lwz r3, 0(r31)
/* 803A546C 003A10CC  4B F0 47 65 */	bl WPADIsSpeakerEnabled
/* 803A5470 003A10D0  2C 03 00 00 */	cmpwi r3, 0
/* 803A5474 003A10D4  41 82 00 2C */	beq lbl_803A54A0
/* 803A5478 003A10D8  88 1F 00 42 */	lbz r0, 0x42(r31)
/* 803A547C 003A10DC  2C 00 00 00 */	cmpwi r0, 0
/* 803A5480 003A10E0  40 82 00 10 */	bne lbl_803A5490
/* 803A5484 003A10E4  4B EC D3 35 */	bl OSGetTime
/* 803A5488 003A10E8  90 9F 00 34 */	stw r4, 0x34(r31)
/* 803A548C 003A10EC  90 7F 00 30 */	stw r3, 0x30(r31)
lbl_803A5490:
/* 803A5490 003A10F0  38 60 00 01 */	li r3, 1
/* 803A5494 003A10F4  38 00 00 00 */	li r0, 0
/* 803A5498 003A10F8  98 7F 00 42 */	stb r3, 0x42(r31)
/* 803A549C 003A10FC  98 1F 00 43 */	stb r0, 0x43(r31)
lbl_803A54A0:
/* 803A54A0 003A1100  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A54A4 003A1104  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803A54A8 003A1108  7C 08 03 A6 */	mtlr r0
/* 803A54AC 003A110C  38 21 00 20 */	addi r1, r1, 0x20
/* 803A54B0 003A1110  4E 80 00 20 */	blr 

.global isPlayingSoundId__Q210homebutton10ControllerCFi
isPlayingSoundId__Q210homebutton10ControllerCFi:
/* 803A54B4 003A1114  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A54B8 003A1118  7C 08 02 A6 */	mflr r0
/* 803A54BC 003A111C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A54C0 003A1120  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A54C4 003A1124  7C 9F 23 78 */	mr r31, r4
/* 803A54C8 003A1128  93 C1 00 08 */	stw r30, 8(r1)
/* 803A54CC 003A112C  7C 7E 1B 78 */	mr r30, r3
/* 803A54D0 003A1130  80 63 00 24 */	lwz r3, 0x24(r3)
/* 803A54D4 003A1134  80 9E 00 00 */	lwz r4, 0(r30)
/* 803A54D8 003A1138  48 00 0B 99 */	bl isPlaying__Q210homebutton9RemoteSpkCFl
/* 803A54DC 003A113C  2C 03 00 00 */	cmpwi r3, 0
/* 803A54E0 003A1140  40 82 00 0C */	bne lbl_803A54EC
/* 803A54E4 003A1144  38 60 00 00 */	li r3, 0
/* 803A54E8 003A1148  48 00 00 14 */	b lbl_803A54FC
lbl_803A54EC:
/* 803A54EC 003A114C  80 7E 00 24 */	lwz r3, 0x24(r30)
/* 803A54F0 003A1150  7F E5 FB 78 */	mr r5, r31
/* 803A54F4 003A1154  80 9E 00 00 */	lwz r4, 0(r30)
/* 803A54F8 003A1158  48 00 0B 95 */	bl isPlayingId__Q210homebutton9RemoteSpkCFli
lbl_803A54FC:
/* 803A54FC 003A115C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A5500 003A1160  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A5504 003A1164  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A5508 003A1168  7C 08 03 A6 */	mtlr r0
/* 803A550C 003A116C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A5510 003A1170  4E 80 00 20 */	blr 

.global initSound__Q210homebutton10ControllerFv
initSound__Q210homebutton10ControllerFv:
/* 803A5514 003A1174  38 00 00 00 */	li r0, 0
/* 803A5518 003A1178  98 03 00 42 */	stb r0, 0x42(r3)
/* 803A551C 003A117C  98 03 00 43 */	stb r0, 0x43(r3)
/* 803A5520 003A1180  4E 80 00 20 */	blr 

.global updateSound__Q210homebutton10ControllerFv
updateSound__Q210homebutton10ControllerFv:
/* 803A5524 003A1184  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803A5528 003A1188  7C 08 02 A6 */	mflr r0
/* 803A552C 003A118C  90 01 00 24 */	stw r0, 0x24(r1)
/* 803A5530 003A1190  39 61 00 20 */	addi r11, r1, 0x20
/* 803A5534 003A1194  4B E2 1B F5 */	bl _savegpr_27
/* 803A5538 003A1198  83 63 00 00 */	lwz r27, 0(r3)
/* 803A553C 003A119C  7C 7F 1B 78 */	mr r31, r3
/* 803A5540 003A11A0  80 63 00 24 */	lwz r3, 0x24(r3)
/* 803A5544 003A11A4  7F 64 DB 78 */	mr r4, r27
/* 803A5548 003A11A8  48 00 0B 29 */	bl isPlaying__Q210homebutton9RemoteSpkCFl
/* 803A554C 003A11AC  2C 03 00 00 */	cmpwi r3, 0
/* 803A5550 003A11B0  40 82 00 78 */	bne lbl_803A55C8
/* 803A5554 003A11B4  88 1F 00 42 */	lbz r0, 0x42(r31)
/* 803A5558 003A11B8  2C 00 00 00 */	cmpwi r0, 0
/* 803A555C 003A11BC  41 82 01 E8 */	beq lbl_803A5744
/* 803A5560 003A11C0  88 1F 00 43 */	lbz r0, 0x43(r31)
/* 803A5564 003A11C4  2C 00 00 00 */	cmpwi r0, 0
/* 803A5568 003A11C8  40 82 00 1C */	bne lbl_803A5584
/* 803A556C 003A11CC  4B EC D2 4D */	bl OSGetTime
/* 803A5570 003A11D0  38 00 00 01 */	li r0, 1
/* 803A5574 003A11D4  90 9F 00 3C */	stw r4, 0x3c(r31)
/* 803A5578 003A11D8  90 7F 00 38 */	stw r3, 0x38(r31)
/* 803A557C 003A11DC  98 1F 00 43 */	stb r0, 0x43(r31)
/* 803A5580 003A11E0  48 00 01 C4 */	b lbl_803A5744
lbl_803A5584:
/* 803A5584 003A11E4  4B EC D2 35 */	bl OSGetTime
/* 803A5588 003A11E8  3C A0 80 00 */	lis r5, 0x800000F8@ha
/* 803A558C 003A11EC  3C 60 10 62 */	lis r3, 0x10624DD3@ha
/* 803A5590 003A11F0  80 05 00 F8 */	lwz r0, 0x800000F8@l(r5)
/* 803A5594 003A11F4  38 63 4D D3 */	addi r3, r3, 0x10624DD3@l
/* 803A5598 003A11F8  80 BF 00 3C */	lwz r5, 0x3c(r31)
/* 803A559C 003A11FC  54 00 F0 BE */	srwi r0, r0, 2
/* 803A55A0 003A1200  7C 03 00 16 */	mulhwu r0, r3, r0
/* 803A55A4 003A1204  7C 65 20 50 */	subf r3, r5, r4
/* 803A55A8 003A1208  54 00 D1 BE */	srwi r0, r0, 6
/* 803A55AC 003A120C  7C 03 03 96 */	divwu r0, r3, r0
/* 803A55B0 003A1210  28 00 03 E8 */	cmplwi r0, 0x3e8
/* 803A55B4 003A1214  41 80 01 90 */	blt lbl_803A5744
/* 803A55B8 003A1218  38 00 00 00 */	li r0, 0
/* 803A55BC 003A121C  98 1F 00 42 */	stb r0, 0x42(r31)
/* 803A55C0 003A1220  98 1F 00 43 */	stb r0, 0x43(r31)
/* 803A55C4 003A1224  48 00 01 80 */	b lbl_803A5744
lbl_803A55C8:
/* 803A55C8 003A1228  88 1F 00 42 */	lbz r0, 0x42(r31)
/* 803A55CC 003A122C  2C 00 00 00 */	cmpwi r0, 0
/* 803A55D0 003A1230  41 82 00 D0 */	beq lbl_803A56A0
/* 803A55D4 003A1234  3B 80 00 00 */	li r28, 0
/* 803A55D8 003A1238  9B 9F 00 43 */	stb r28, 0x43(r31)
/* 803A55DC 003A123C  4B EC D1 DD */	bl OSGetTime
/* 803A55E0 003A1240  3F A0 80 00 */	lis r29, 0x800000F8@ha
/* 803A55E4 003A1244  3F C0 10 62 */	lis r30, 0x10624DD3@ha
/* 803A55E8 003A1248  80 1D 00 F8 */	lwz r0, 0x800000F8@l(r29)
/* 803A55EC 003A124C  3C 60 00 07 */	lis r3, 0x00075300@ha
/* 803A55F0 003A1250  80 FF 00 34 */	lwz r7, 0x34(r31)
/* 803A55F4 003A1254  38 DE 4D D3 */	addi r6, r30, 0x10624DD3@l
/* 803A55F8 003A1258  54 05 F0 BE */	srwi r5, r0, 2
/* 803A55FC 003A125C  38 03 53 00 */	addi r0, r3, 0x00075300@l
/* 803A5600 003A1260  7C 66 28 16 */	mulhwu r3, r6, r5
/* 803A5604 003A1264  7C 87 20 50 */	subf r4, r7, r4
/* 803A5608 003A1268  54 63 D1 BE */	srwi r3, r3, 6
/* 803A560C 003A126C  7C 64 1B 96 */	divwu r3, r4, r3
/* 803A5610 003A1270  7C 03 00 40 */	cmplw r3, r0
/* 803A5614 003A1274  41 80 00 8C */	blt lbl_803A56A0
/* 803A5618 003A1278  83 7F 00 00 */	lwz r27, 0(r31)
/* 803A561C 003A127C  9B 9F 00 42 */	stb r28, 0x42(r31)
/* 803A5620 003A1280  7F 63 DB 78 */	mr r3, r27
/* 803A5624 003A1284  9B 9F 00 43 */	stb r28, 0x43(r31)
/* 803A5628 003A1288  4B F0 45 A9 */	bl WPADIsSpeakerEnabled
/* 803A562C 003A128C  2C 03 00 00 */	cmpwi r3, 0
/* 803A5630 003A1290  41 82 01 14 */	beq lbl_803A5744
/* 803A5634 003A1294  7F 63 DB 78 */	mr r3, r27
/* 803A5638 003A1298  38 80 00 02 */	li r4, 2
/* 803A563C 003A129C  38 A0 00 00 */	li r5, 0
/* 803A5640 003A12A0  4B F0 45 D5 */	bl WPADControlSpeaker
/* 803A5644 003A12A4  1C 1B 00 30 */	mulli r0, r27, 0x30
/* 803A5648 003A12A8  3C 60 80 64 */	lis r3, lbl_8063CFB0@ha
/* 803A564C 003A12AC  7F 64 DB 78 */	mr r4, r27
/* 803A5650 003A12B0  38 63 CF B0 */	addi r3, r3, lbl_8063CFB0@l
/* 803A5654 003A12B4  7F 63 02 14 */	add r27, r3, r0
/* 803A5658 003A12B8  7F 63 DB 78 */	mr r3, r27
/* 803A565C 003A12BC  4B EC 48 45 */	bl OSSetAlarmUserData
/* 803A5660 003A12C0  7F 63 DB 78 */	mr r3, r27
/* 803A5664 003A12C4  4B EC 44 15 */	bl OSCancelAlarm
/* 803A5668 003A12C8  80 1D 00 F8 */	lwz r0, 0xf8(r29)
/* 803A566C 003A12CC  3C E0 80 3A */	lis r7, soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext@ha
/* 803A5670 003A12D0  38 9E 4D D3 */	addi r4, r30, 0x4dd3
/* 803A5674 003A12D4  7F 63 DB 78 */	mr r3, r27
/* 803A5678 003A12D8  54 00 F0 BE */	srwi r0, r0, 2
/* 803A567C 003A12DC  38 E7 4F C0 */	addi r7, r7, soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext@l
/* 803A5680 003A12E0  7C 04 00 16 */	mulhwu r0, r4, r0
/* 803A5684 003A12E4  38 A0 00 00 */	li r5, 0
/* 803A5688 003A12E8  54 00 D1 BE */	srwi r0, r0, 6
/* 803A568C 003A12EC  1C C0 03 E8 */	mulli r6, r0, 0x3e8
/* 803A5690 003A12F0  4B EC 42 F5 */	bl OSSetAlarm
/* 803A5694 003A12F4  38 00 00 01 */	li r0, 1
/* 803A5698 003A12F8  98 1F 00 41 */	stb r0, 0x41(r31)
/* 803A569C 003A12FC  48 00 00 A8 */	b lbl_803A5744
lbl_803A56A0:
/* 803A56A0 003A1300  88 1F 00 41 */	lbz r0, 0x41(r31)
/* 803A56A4 003A1304  2C 00 00 00 */	cmpwi r0, 0
/* 803A56A8 003A1308  40 82 00 9C */	bne lbl_803A5744
/* 803A56AC 003A130C  7F 63 DB 78 */	mr r3, r27
/* 803A56B0 003A1310  4B F0 24 4D */	bl WPADGetRadioSensitivity
/* 803A56B4 003A1314  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 803A56B8 003A1318  28 00 00 55 */	cmplwi r0, 0x55
/* 803A56BC 003A131C  41 81 00 88 */	bgt lbl_803A5744
/* 803A56C0 003A1320  83 7F 00 00 */	lwz r27, 0(r31)
/* 803A56C4 003A1324  7F 63 DB 78 */	mr r3, r27
/* 803A56C8 003A1328  4B F0 45 09 */	bl WPADIsSpeakerEnabled
/* 803A56CC 003A132C  2C 03 00 00 */	cmpwi r3, 0
/* 803A56D0 003A1330  41 82 00 74 */	beq lbl_803A5744
/* 803A56D4 003A1334  7F 63 DB 78 */	mr r3, r27
/* 803A56D8 003A1338  38 80 00 02 */	li r4, 2
/* 803A56DC 003A133C  38 A0 00 00 */	li r5, 0
/* 803A56E0 003A1340  4B F0 45 35 */	bl WPADControlSpeaker
/* 803A56E4 003A1344  1C 1B 00 30 */	mulli r0, r27, 0x30
/* 803A56E8 003A1348  3C 60 80 64 */	lis r3, lbl_8063CFB0@ha
/* 803A56EC 003A134C  7F 64 DB 78 */	mr r4, r27
/* 803A56F0 003A1350  38 63 CF B0 */	addi r3, r3, lbl_8063CFB0@l
/* 803A56F4 003A1354  7F 63 02 14 */	add r27, r3, r0
/* 803A56F8 003A1358  7F 63 DB 78 */	mr r3, r27
/* 803A56FC 003A135C  4B EC 47 A5 */	bl OSSetAlarmUserData
/* 803A5700 003A1360  7F 63 DB 78 */	mr r3, r27
/* 803A5704 003A1364  4B EC 43 75 */	bl OSCancelAlarm
/* 803A5708 003A1368  3C 80 80 00 */	lis r4, 0x800000F8@ha
/* 803A570C 003A136C  3C E0 80 3A */	lis r7, soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext@ha
/* 803A5710 003A1370  80 04 00 F8 */	lwz r0, 0x800000F8@l(r4)
/* 803A5714 003A1374  3C 60 10 62 */	lis r3, 0x10624DD3@ha
/* 803A5718 003A1378  38 83 4D D3 */	addi r4, r3, 0x10624DD3@l
/* 803A571C 003A137C  38 E7 4F C0 */	addi r7, r7, soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext@l
/* 803A5720 003A1380  54 00 F0 BE */	srwi r0, r0, 2
/* 803A5724 003A1384  7F 63 DB 78 */	mr r3, r27
/* 803A5728 003A1388  7C 04 00 16 */	mulhwu r0, r4, r0
/* 803A572C 003A138C  38 A0 00 00 */	li r5, 0
/* 803A5730 003A1390  54 00 D1 BE */	srwi r0, r0, 6
/* 803A5734 003A1394  1C C0 03 E8 */	mulli r6, r0, 0x3e8
/* 803A5738 003A1398  4B EC 42 4D */	bl OSSetAlarm
/* 803A573C 003A139C  38 00 00 01 */	li r0, 1
/* 803A5740 003A13A0  98 1F 00 41 */	stb r0, 0x41(r31)
lbl_803A5744:
/* 803A5744 003A13A4  39 61 00 20 */	addi r11, r1, 0x20
/* 803A5748 003A13A8  4B E2 1A 2D */	bl _restgpr_27
/* 803A574C 003A13AC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803A5750 003A13B0  7C 08 03 A6 */	mtlr r0
/* 803A5754 003A13B4  38 21 00 20 */	addi r1, r1, 0x20
/* 803A5758 003A13B8  4E 80 00 20 */	blr 

.global isPlayReady__Q210homebutton10ControllerCFv
isPlayReady__Q210homebutton10ControllerCFv:
/* 803A575C 003A13BC  7C 64 1B 78 */	mr r4, r3
/* 803A5760 003A13C0  80 63 00 24 */	lwz r3, 0x24(r3)
/* 803A5764 003A13C4  80 84 00 00 */	lwz r4, 0(r4)
/* 803A5768 003A13C8  48 00 09 54 */	b isPlayReady__Q210homebutton9RemoteSpkCFl

.global getController__Q210homebutton10ControllerFv
getController__Q210homebutton10ControllerFv:
/* 803A576C 003A13CC  4E 80 00 20 */	blr 

.global startMotor__Q210homebutton10ControllerFv
startMotor__Q210homebutton10ControllerFv:
/* 803A5770 003A13D0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A5774 003A13D4  7C 08 02 A6 */	mflr r0
/* 803A5778 003A13D8  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A577C 003A13DC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A5780 003A13E0  7C 7F 1B 78 */	mr r31, r3
/* 803A5784 003A13E4  80 83 00 00 */	lwz r4, 0(r3)
/* 803A5788 003A13E8  2C 04 00 04 */	cmpwi r4, 4
/* 803A578C 003A13EC  40 80 00 34 */	bge lbl_803A57C0
/* 803A5790 003A13F0  80 63 00 24 */	lwz r3, 0x24(r3)
/* 803A5794 003A13F4  48 00 08 DD */	bl isPlaying__Q210homebutton9RemoteSpkCFl
/* 803A5798 003A13F8  2C 03 00 00 */	cmpwi r3, 0
/* 803A579C 003A13FC  40 82 00 24 */	bne lbl_803A57C0
/* 803A57A0 003A1400  88 1F 00 44 */	lbz r0, 0x44(r31)
/* 803A57A4 003A1404  2C 00 00 00 */	cmpwi r0, 0
/* 803A57A8 003A1408  41 82 00 18 */	beq lbl_803A57C0
/* 803A57AC 003A140C  38 00 00 01 */	li r0, 1
/* 803A57B0 003A1410  80 7F 00 00 */	lwz r3, 0(r31)
/* 803A57B4 003A1414  98 1F 00 1C */	stb r0, 0x1c(r31)
/* 803A57B8 003A1418  38 80 00 01 */	li r4, 1
/* 803A57BC 003A141C  4B F0 3A ED */	bl WPADControlMotor
lbl_803A57C0:
/* 803A57C0 003A1420  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A57C4 003A1424  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A57C8 003A1428  7C 08 03 A6 */	mtlr r0
/* 803A57CC 003A142C  38 21 00 10 */	addi r1, r1, 0x10
/* 803A57D0 003A1430  4E 80 00 20 */	blr 

.global stopMotor__Q210homebutton10ControllerFv
stopMotor__Q210homebutton10ControllerFv:
/* 803A57D4 003A1434  80 A3 00 00 */	lwz r5, 0(r3)
/* 803A57D8 003A1438  2C 05 00 04 */	cmpwi r5, 4
/* 803A57DC 003A143C  4C 80 00 20 */	bgelr 
/* 803A57E0 003A1440  88 03 00 1C */	lbz r0, 0x1c(r3)
/* 803A57E4 003A1444  2C 00 00 00 */	cmpwi r0, 0
/* 803A57E8 003A1448  4D 82 00 20 */	beqlr 
/* 803A57EC 003A144C  38 00 00 00 */	li r0, 0
/* 803A57F0 003A1450  38 80 00 00 */	li r4, 0
/* 803A57F4 003A1454  98 03 00 1C */	stb r0, 0x1c(r3)
/* 803A57F8 003A1458  7C A3 2B 78 */	mr r3, r5
/* 803A57FC 003A145C  4B F0 3A AC */	b WPADControlMotor
/* 803A5800 003A1460  4E 80 00 20 */	blr 

.global getInfoAsync__Q210homebutton10ControllerFP8WPADInfo
getInfoAsync__Q210homebutton10ControllerFP8WPADInfo:
/* 803A5804 003A1464  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803A5808 003A1468  7C 08 02 A6 */	mflr r0
/* 803A580C 003A146C  90 01 00 14 */	stw r0, 0x14(r1)
/* 803A5810 003A1470  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803A5814 003A1474  7C 9F 23 78 */	mr r31, r4
/* 803A5818 003A1478  93 C1 00 08 */	stw r30, 8(r1)
/* 803A581C 003A147C  7C 7E 1B 78 */	mr r30, r3
/* 803A5820 003A1480  80 03 00 00 */	lwz r0, 0(r3)
/* 803A5824 003A1484  2C 00 00 04 */	cmpwi r0, 4
/* 803A5828 003A1488  41 80 00 0C */	blt lbl_803A5834
/* 803A582C 003A148C  38 60 FF FE */	li r3, -2
/* 803A5830 003A1490  48 00 00 40 */	b lbl_803A5870
lbl_803A5834:
/* 803A5834 003A1494  80 63 00 24 */	lwz r3, 0x24(r3)
/* 803A5838 003A1498  7C 04 03 78 */	mr r4, r0
/* 803A583C 003A149C  48 00 08 35 */	bl isPlaying__Q210homebutton9RemoteSpkCFl
/* 803A5840 003A14A0  2C 03 00 00 */	cmpwi r3, 0
/* 803A5844 003A14A4  40 82 00 10 */	bne lbl_803A5854
/* 803A5848 003A14A8  88 1E 00 1C */	lbz r0, 0x1c(r30)
/* 803A584C 003A14AC  2C 00 00 00 */	cmpwi r0, 0
/* 803A5850 003A14B0  41 82 00 0C */	beq lbl_803A585C
lbl_803A5854:
/* 803A5854 003A14B4  38 60 FF FE */	li r3, -2
/* 803A5858 003A14B8  48 00 00 18 */	b lbl_803A5870
lbl_803A585C:
/* 803A585C 003A14BC  3C A0 80 3A */	lis r5, ControllerCallback__Q210homebutton10ControllerFll@ha
/* 803A5860 003A14C0  80 7E 00 00 */	lwz r3, 0(r30)
/* 803A5864 003A14C4  7F E4 FB 78 */	mr r4, r31
/* 803A5868 003A14C8  38 A5 58 88 */	addi r5, r5, ControllerCallback__Q210homebutton10ControllerFll@l
/* 803A586C 003A14CC  4B F0 38 1D */	bl WPADGetInfoAsync
lbl_803A5870:
/* 803A5870 003A14D0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803A5874 003A14D4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803A5878 003A14D8  83 C1 00 08 */	lwz r30, 8(r1)
/* 803A587C 003A14DC  7C 08 03 A6 */	mtlr r0
/* 803A5880 003A14E0  38 21 00 10 */	addi r1, r1, 0x10
/* 803A5884 003A14E4  4E 80 00 20 */	blr 

.global ControllerCallback__Q210homebutton10ControllerFll
ControllerCallback__Q210homebutton10ControllerFll:
/* 803A5888 003A14E8  2C 04 00 00 */	cmpwi r4, 0
/* 803A588C 003A14EC  4C 82 00 20 */	bnelr 
/* 803A5890 003A14F0  2C 03 00 04 */	cmpwi r3, 4
/* 803A5894 003A14F4  4C 80 00 20 */	bgelr 
/* 803A5898 003A14F8  38 00 00 01 */	li r0, 1
/* 803A589C 003A14FC  38 8D B2 F0 */	addi r4, r13, lbl_806405B0-_SDA_BASE_
/* 803A58A0 003A1500  7C 04 19 AE */	stbx r0, r4, r3
/* 803A58A4 003A1504  4E 80 00 20 */	blr 

.global getBatteryFlag__Q210homebutton10ControllerCFv
getBatteryFlag__Q210homebutton10ControllerCFv:
/* 803A58A8 003A1508  80 03 00 00 */	lwz r0, 0(r3)
/* 803A58AC 003A150C  2C 00 00 04 */	cmpwi r0, 4
/* 803A58B0 003A1510  41 80 00 0C */	blt lbl_803A58BC
/* 803A58B4 003A1514  38 60 00 00 */	li r3, 0
/* 803A58B8 003A1518  4E 80 00 20 */	blr 
lbl_803A58BC:
/* 803A58BC 003A151C  38 6D B2 F0 */	addi r3, r13, lbl_806405B0-_SDA_BASE_
/* 803A58C0 003A1520  7C 63 00 AE */	lbzx r3, r3, r0
/* 803A58C4 003A1524  4E 80 00 20 */	blr 

.global clrBatteryFlag__Q210homebutton10ControllerFv
clrBatteryFlag__Q210homebutton10ControllerFv:
/* 803A58C8 003A1528  80 83 00 00 */	lwz r4, 0(r3)
/* 803A58CC 003A152C  2C 04 00 04 */	cmpwi r4, 4
/* 803A58D0 003A1530  4C 80 00 20 */	bgelr 
/* 803A58D4 003A1534  38 00 00 00 */	li r0, 0
/* 803A58D8 003A1538  38 6D B2 F0 */	addi r3, r13, lbl_806405B0-_SDA_BASE_
/* 803A58DC 003A153C  7C 03 21 AE */	stbx r0, r3, r4
/* 803A58E0 003A1540  4E 80 00 20 */	blr