summaryrefslogtreecommitdiff
path: root/asm/nw4r/snd/snd_RemoteSpeaker.s
blob: 77eb641508b833df72ff95e41c26ad2a14046146 (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
.include "macros.inc"

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

.global __ct__Q34nw4r3snd13RemoteSpeakerFv
__ct__Q34nw4r3snd13RemoteSpeakerFv:
/* 80372F94 0036EBF4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80372F98 0036EBF8  7C 08 02 A6 */	mflr r0
/* 80372F9C 0036EBFC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80372FA0 0036EC00  38 00 00 00 */	li r0, 0
/* 80372FA4 0036EC04  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80372FA8 0036EC08  7C 7F 1B 78 */	mr r31, r3
/* 80372FAC 0036EC0C  98 03 00 00 */	stb r0, 0(r3)
/* 80372FB0 0036EC10  98 03 00 01 */	stb r0, 1(r3)
/* 80372FB4 0036EC14  98 03 00 02 */	stb r0, 2(r3)
/* 80372FB8 0036EC18  98 03 00 03 */	stb r0, 3(r3)
/* 80372FBC 0036EC1C  98 03 00 04 */	stb r0, 4(r3)
/* 80372FC0 0036EC20  98 03 00 05 */	stb r0, 5(r3)
/* 80372FC4 0036EC24  98 03 00 06 */	stb r0, 6(r3)
/* 80372FC8 0036EC28  90 03 00 0C */	stw r0, 0xc(r3)
/* 80372FCC 0036EC2C  90 03 00 10 */	stw r0, 0x10(r3)
/* 80372FD0 0036EC30  90 03 00 14 */	stw r0, 0x14(r3)
/* 80372FD4 0036EC34  90 03 00 3C */	stw r0, 0x3c(r3)
/* 80372FD8 0036EC38  38 63 00 40 */	addi r3, r3, 0x40
/* 80372FDC 0036EC3C  4B EF 67 49 */	bl OSCreateAlarm
/* 80372FE0 0036EC40  7F E4 FB 78 */	mr r4, r31
/* 80372FE4 0036EC44  38 7F 00 40 */	addi r3, r31, 0x40
/* 80372FE8 0036EC48  4B EF 6E B9 */	bl OSSetAlarmUserData
/* 80372FEC 0036EC4C  38 7F 00 70 */	addi r3, r31, 0x70
/* 80372FF0 0036EC50  4B EF 67 35 */	bl OSCreateAlarm
/* 80372FF4 0036EC54  7F E4 FB 78 */	mr r4, r31
/* 80372FF8 0036EC58  38 7F 00 70 */	addi r3, r31, 0x70
/* 80372FFC 0036EC5C  4B EF 6E A5 */	bl OSSetAlarmUserData
/* 80373000 0036EC60  7F E3 FB 78 */	mr r3, r31
/* 80373004 0036EC64  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80373008 0036EC68  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8037300C 0036EC6C  7C 08 03 A6 */	mtlr r0
/* 80373010 0036EC70  38 21 00 10 */	addi r1, r1, 0x10
/* 80373014 0036EC74  4E 80 00 20 */	blr

.global Update__Q34nw4r3snd13RemoteSpeakerFv
Update__Q34nw4r3snd13RemoteSpeakerFv:
/* 80373018 0036EC78  88 03 00 05 */	lbz r0, 5(r3)
/* 8037301C 0036EC7C  2C 00 00 00 */	cmpwi r0, 0
/* 80373020 0036EC80  4C 82 00 20 */	bnelr
/* 80373024 0036EC84  80 83 00 10 */	lwz r4, 0x10(r3)
/* 80373028 0036EC88  2C 04 00 00 */	cmpwi r4, 0
/* 8037302C 0036EC8C  41 82 00 08 */	beq lbl_80373034
/* 80373030 0036EC90  48 00 00 08 */	b lbl_80373038
lbl_80373034:
/* 80373034 0036EC94  80 83 00 14 */	lwz r4, 0x14(r3)
lbl_80373038:
/* 80373038 0036EC98  38 00 00 00 */	li r0, 0
/* 8037303C 0036EC9C  90 03 00 10 */	stw r0, 0x10(r3)
/* 80373040 0036ECA0  90 03 00 14 */	stw r0, 0x14(r3)
/* 80373044 0036ECA4  48 00 00 08 */	b ExecCommand__Q34nw4r3snd13RemoteSpeakerFQ44nw4r3snd13RemoteSpeaker14SpeakerCommand
/* 80373048 0036ECA8  4E 80 00 20 */	blr

.global ExecCommand__Q34nw4r3snd13RemoteSpeakerFQ44nw4r3snd13RemoteSpeaker14SpeakerCommand
ExecCommand__Q34nw4r3snd13RemoteSpeakerFQ44nw4r3snd13RemoteSpeaker14SpeakerCommand:
/* 8037304C 0036ECAC  2C 04 00 02 */	cmpwi r4, 2
/* 80373050 0036ECB0  41 82 00 48 */	beq lbl_80373098
/* 80373054 0036ECB4  40 80 00 14 */	bge lbl_80373068
/* 80373058 0036ECB8  2C 04 00 00 */	cmpwi r4, 0
/* 8037305C 0036ECBC  4D 82 00 20 */	beqlr
/* 80373060 0036ECC0  40 80 00 14 */	bge lbl_80373074
/* 80373064 0036ECC4  4E 80 00 20 */	blr
lbl_80373068:
/* 80373068 0036ECC8  2C 04 00 04 */	cmpwi r4, 4
/* 8037306C 0036ECCC  4C 80 00 20 */	bgelr
/* 80373070 0036ECD0  48 00 00 50 */	b lbl_803730C0
lbl_80373074:
/* 80373074 0036ECD4  38 00 00 01 */	li r0, 1
/* 80373078 0036ECD8  3C A0 80 37 */	lis r5, SpeakerOnCallback__Q34nw4r3snd13RemoteSpeakerFll@ha
/* 8037307C 0036ECDC  98 03 00 04 */	stb r0, 4(r3)
/* 80373080 0036ECE0  38 A5 34 00 */	addi r5, r5, SpeakerOnCallback__Q34nw4r3snd13RemoteSpeakerFll@l
/* 80373084 0036ECE4  38 80 00 01 */	li r4, 1
/* 80373088 0036ECE8  98 03 00 05 */	stb r0, 5(r3)
/* 8037308C 0036ECEC  90 03 00 0C */	stw r0, 0xc(r3)
/* 80373090 0036ECF0  80 63 00 38 */	lwz r3, 0x38(r3)
/* 80373094 0036ECF4  4B F3 6B 80 */	b WPADControlSpeaker
lbl_80373098:
/* 80373098 0036ECF8  38 C0 00 01 */	li r6, 1
/* 8037309C 0036ECFC  38 00 00 03 */	li r0, 3
/* 803730A0 0036ED00  3C A0 80 37 */	lis r5, SpeakerPlayCallback__Q34nw4r3snd13RemoteSpeakerFll@ha
/* 803730A4 0036ED04  98 C3 00 04 */	stb r6, 4(r3)
/* 803730A8 0036ED08  38 A5 35 0C */	addi r5, r5, SpeakerPlayCallback__Q34nw4r3snd13RemoteSpeakerFll@l
/* 803730AC 0036ED0C  38 80 00 04 */	li r4, 4
/* 803730B0 0036ED10  98 C3 00 05 */	stb r6, 5(r3)
/* 803730B4 0036ED14  90 03 00 0C */	stw r0, 0xc(r3)
/* 803730B8 0036ED18  80 63 00 38 */	lwz r3, 0x38(r3)
/* 803730BC 0036ED1C  4B F3 6B 58 */	b WPADControlSpeaker
lbl_803730C0:
/* 803730C0 0036ED20  38 C0 00 01 */	li r6, 1
/* 803730C4 0036ED24  38 00 00 05 */	li r0, 5
/* 803730C8 0036ED28  3C A0 80 37 */	lis r5, SpeakerOffCallback__Q34nw4r3snd13RemoteSpeakerFll@ha
/* 803730CC 0036ED2C  98 C3 00 04 */	stb r6, 4(r3)
/* 803730D0 0036ED30  38 A5 35 F4 */	addi r5, r5, SpeakerOffCallback__Q34nw4r3snd13RemoteSpeakerFll@l
/* 803730D4 0036ED34  38 80 00 00 */	li r4, 0
/* 803730D8 0036ED38  98 C3 00 05 */	stb r6, 5(r3)
/* 803730DC 0036ED3C  90 03 00 0C */	stw r0, 0xc(r3)
/* 803730E0 0036ED40  80 63 00 38 */	lwz r3, 0x38(r3)
/* 803730E4 0036ED44  4B F3 6B 30 */	b WPADControlSpeaker
/* 803730E8 0036ED48  4E 80 00 20 */	blr

.global UpdateStreamData__Q34nw4r3snd13RemoteSpeakerFPCs
UpdateStreamData__Q34nw4r3snd13RemoteSpeakerFPCs:
/* 803730EC 0036ED4C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 803730F0 0036ED50  7C 08 02 A6 */	mflr r0
/* 803730F4 0036ED54  90 01 00 44 */	stw r0, 0x44(r1)
/* 803730F8 0036ED58  39 61 00 40 */	addi r11, r1, 0x40
/* 803730FC 0036ED5C  4B E5 40 25 */	bl _savegpr_25
/* 80373100 0036ED60  80 03 00 0C */	lwz r0, 0xc(r3)
/* 80373104 0036ED64  7C 7D 1B 78 */	mr r29, r3
/* 80373108 0036ED68  7C 99 23 78 */	mr r25, r4
/* 8037310C 0036ED6C  2C 00 00 04 */	cmpwi r0, 4
/* 80373110 0036ED70  40 82 02 D8 */	bne lbl_803733E8
/* 80373114 0036ED74  88 03 00 02 */	lbz r0, 2(r3)
/* 80373118 0036ED78  3B C0 00 01 */	li r30, 1
/* 8037311C 0036ED7C  2C 00 00 00 */	cmpwi r0, 0
/* 80373120 0036ED80  41 82 00 F0 */	beq lbl_80373210
/* 80373124 0036ED84  38 00 00 02 */	li r0, 2
/* 80373128 0036ED88  7F 26 CB 78 */	mr r6, r25
/* 8037312C 0036ED8C  38 A0 00 01 */	li r5, 1
/* 80373130 0036ED90  38 80 00 00 */	li r4, 0
/* 80373134 0036ED94  7C 09 03 A6 */	mtctr r0
lbl_80373138:
/* 80373138 0036ED98  80 06 00 00 */	lwz r0, 0(r6)
/* 8037313C 0036ED9C  2C 00 00 00 */	cmpwi r0, 0
/* 80373140 0036EDA0  41 82 00 0C */	beq lbl_8037314C
/* 80373144 0036EDA4  38 A0 00 00 */	li r5, 0
/* 80373148 0036EDA8  48 00 00 CC */	b lbl_80373214
lbl_8037314C:
/* 8037314C 0036EDAC  80 06 00 04 */	lwz r0, 4(r6)
/* 80373150 0036EDB0  2C 00 00 00 */	cmpwi r0, 0
/* 80373154 0036EDB4  41 82 00 0C */	beq lbl_80373160
/* 80373158 0036EDB8  38 A0 00 00 */	li r5, 0
/* 8037315C 0036EDBC  48 00 00 B8 */	b lbl_80373214
lbl_80373160:
/* 80373160 0036EDC0  80 06 00 08 */	lwz r0, 8(r6)
/* 80373164 0036EDC4  2C 00 00 00 */	cmpwi r0, 0
/* 80373168 0036EDC8  41 82 00 0C */	beq lbl_80373174
/* 8037316C 0036EDCC  38 A0 00 00 */	li r5, 0
/* 80373170 0036EDD0  48 00 00 A4 */	b lbl_80373214
lbl_80373174:
/* 80373174 0036EDD4  80 06 00 0C */	lwz r0, 0xc(r6)
/* 80373178 0036EDD8  2C 00 00 00 */	cmpwi r0, 0
/* 8037317C 0036EDDC  41 82 00 0C */	beq lbl_80373188
/* 80373180 0036EDE0  38 A0 00 00 */	li r5, 0
/* 80373184 0036EDE4  48 00 00 90 */	b lbl_80373214
lbl_80373188:
/* 80373188 0036EDE8  80 06 00 10 */	lwz r0, 0x10(r6)
/* 8037318C 0036EDEC  2C 00 00 00 */	cmpwi r0, 0
/* 80373190 0036EDF0  41 82 00 0C */	beq lbl_8037319C
/* 80373194 0036EDF4  38 A0 00 00 */	li r5, 0
/* 80373198 0036EDF8  48 00 00 7C */	b lbl_80373214
lbl_8037319C:
/* 8037319C 0036EDFC  80 06 00 14 */	lwz r0, 0x14(r6)
/* 803731A0 0036EE00  2C 00 00 00 */	cmpwi r0, 0
/* 803731A4 0036EE04  41 82 00 0C */	beq lbl_803731B0
/* 803731A8 0036EE08  38 A0 00 00 */	li r5, 0
/* 803731AC 0036EE0C  48 00 00 68 */	b lbl_80373214
lbl_803731B0:
/* 803731B0 0036EE10  80 06 00 18 */	lwz r0, 0x18(r6)
/* 803731B4 0036EE14  2C 00 00 00 */	cmpwi r0, 0
/* 803731B8 0036EE18  41 82 00 0C */	beq lbl_803731C4
/* 803731BC 0036EE1C  38 A0 00 00 */	li r5, 0
/* 803731C0 0036EE20  48 00 00 54 */	b lbl_80373214
lbl_803731C4:
/* 803731C4 0036EE24  80 06 00 1C */	lwz r0, 0x1c(r6)
/* 803731C8 0036EE28  2C 00 00 00 */	cmpwi r0, 0
/* 803731CC 0036EE2C  41 82 00 0C */	beq lbl_803731D8
/* 803731D0 0036EE30  38 A0 00 00 */	li r5, 0
/* 803731D4 0036EE34  48 00 00 40 */	b lbl_80373214
lbl_803731D8:
/* 803731D8 0036EE38  80 06 00 20 */	lwz r0, 0x20(r6)
/* 803731DC 0036EE3C  2C 00 00 00 */	cmpwi r0, 0
/* 803731E0 0036EE40  41 82 00 0C */	beq lbl_803731EC
/* 803731E4 0036EE44  38 A0 00 00 */	li r5, 0
/* 803731E8 0036EE48  48 00 00 2C */	b lbl_80373214
lbl_803731EC:
/* 803731EC 0036EE4C  80 06 00 24 */	lwz r0, 0x24(r6)
/* 803731F0 0036EE50  2C 00 00 00 */	cmpwi r0, 0
/* 803731F4 0036EE54  41 82 00 0C */	beq lbl_80373200
/* 803731F8 0036EE58  38 A0 00 00 */	li r5, 0
/* 803731FC 0036EE5C  48 00 00 18 */	b lbl_80373214
lbl_80373200:
/* 80373200 0036EE60  38 C6 00 28 */	addi r6, r6, 0x28
/* 80373204 0036EE64  38 84 00 09 */	addi r4, r4, 9
/* 80373208 0036EE68  42 00 FF 30 */	bdnz lbl_80373138
/* 8037320C 0036EE6C  48 00 00 08 */	b lbl_80373214
lbl_80373210:
/* 80373210 0036EE70  38 A0 00 01 */	li r5, 1
lbl_80373214:
/* 80373214 0036EE74  2C 05 00 00 */	cmpwi r5, 0
/* 80373218 0036EE78  40 82 00 10 */	bne lbl_80373228
/* 8037321C 0036EE7C  88 03 00 06 */	lbz r0, 6(r3)
/* 80373220 0036EE80  2C 00 00 00 */	cmpwi r0, 0
/* 80373224 0036EE84  41 82 00 08 */	beq lbl_8037322C
lbl_80373228:
/* 80373228 0036EE88  3B C0 00 00 */	li r30, 0
lbl_8037322C:
/* 8037322C 0036EE8C  88 03 00 01 */	lbz r0, 1(r3)
/* 80373230 0036EE90  3B 40 00 00 */	li r26, 0
/* 80373234 0036EE94  2C 00 00 00 */	cmpwi r0, 0
/* 80373238 0036EE98  40 82 00 10 */	bne lbl_80373248
/* 8037323C 0036EE9C  2C 1E 00 00 */	cmpwi r30, 0
/* 80373240 0036EEA0  41 82 00 08 */	beq lbl_80373248
/* 80373244 0036EEA4  3B 40 00 01 */	li r26, 1
lbl_80373248:
/* 80373248 0036EEA8  2C 00 00 00 */	cmpwi r0, 0
/* 8037324C 0036EEAC  3B E0 00 00 */	li r31, 0
/* 80373250 0036EEB0  41 82 00 10 */	beq lbl_80373260
/* 80373254 0036EEB4  2C 1E 00 00 */	cmpwi r30, 0
/* 80373258 0036EEB8  40 82 00 08 */	bne lbl_80373260
/* 8037325C 0036EEBC  3B E0 00 01 */	li r31, 1
lbl_80373260:
/* 80373260 0036EEC0  2C 1E 00 00 */	cmpwi r30, 0
/* 80373264 0036EEC4  41 82 00 BC */	beq lbl_80373320
/* 80373268 0036EEC8  4B EF B4 F5 */	bl OSDisableInterrupts
/* 8037326C 0036EECC  7C 7C 1B 78 */	mr r28, r3
/* 80373270 0036EED0  80 7D 00 38 */	lwz r3, 0x38(r29)
/* 80373274 0036EED4  4B F3 81 79 */	bl WPADCanSendStreamData
/* 80373278 0036EED8  2C 03 00 00 */	cmpwi r3, 0
/* 8037327C 0036EEDC  40 82 00 10 */	bne lbl_8037328C
/* 80373280 0036EEE0  7F 83 E3 78 */	mr r3, r28
/* 80373284 0036EEE4  4B EF B5 01 */	bl OSRestoreInterrupts
/* 80373288 0036EEE8  48 00 01 60 */	b lbl_803733E8
lbl_8037328C:
/* 8037328C 0036EEEC  88 1D 00 03 */	lbz r0, 3(r29)
/* 80373290 0036EEF0  3B 60 00 00 */	li r27, 0
/* 80373294 0036EEF4  7F 25 CB 78 */	mr r5, r25
/* 80373298 0036EEF8  38 7D 00 18 */	addi r3, r29, 0x18
/* 8037329C 0036EEFC  7C 00 00 34 */	cntlzw r0, r0
/* 803732A0 0036EF00  9B 7D 00 03 */	stb r27, 3(r29)
/* 803732A4 0036EF04  54 04 D9 7E */	srwi r4, r0, 5
/* 803732A8 0036EF08  38 E1 00 08 */	addi r7, r1, 8
/* 803732AC 0036EF0C  38 C0 00 28 */	li r6, 0x28
/* 803732B0 0036EF10  4B F7 97 71 */	bl WENCGetEncodeData
/* 803732B4 0036EF14  80 7D 00 38 */	lwz r3, 0x38(r29)
/* 803732B8 0036EF18  38 81 00 08 */	addi r4, r1, 8
/* 803732BC 0036EF1C  38 A0 00 14 */	li r5, 0x14
/* 803732C0 0036EF20  4B F3 81 B1 */	bl WPADSendStreamData
/* 803732C4 0036EF24  2C 03 00 00 */	cmpwi r3, 0
/* 803732C8 0036EF28  41 82 00 50 */	beq lbl_80373318
/* 803732CC 0036EF2C  3B C0 00 01 */	li r30, 1
/* 803732D0 0036EF30  93 7D 00 0C */	stw r27, 0xc(r29)
/* 803732D4 0036EF34  38 7D 00 40 */	addi r3, r29, 0x40
/* 803732D8 0036EF38  93 DD 00 14 */	stw r30, 0x14(r29)
/* 803732DC 0036EF3C  9B 7D 00 01 */	stb r27, 1(r29)
/* 803732E0 0036EF40  9B 7D 00 02 */	stb r27, 2(r29)
/* 803732E4 0036EF44  4B EF 67 95 */	bl OSCancelAlarm
/* 803732E8 0036EF48  9B 7D 00 07 */	stb r27, 7(r29)
/* 803732EC 0036EF4C  38 7D 00 70 */	addi r3, r29, 0x70
/* 803732F0 0036EF50  4B EF 67 89 */	bl OSCancelAlarm
/* 803732F4 0036EF54  9B 7D 00 08 */	stb r27, 8(r29)
/* 803732F8 0036EF58  7F 83 E3 78 */	mr r3, r28
/* 803732FC 0036EF5C  9B 7D 00 06 */	stb r27, 6(r29)
/* 80373300 0036EF60  9B 7D 00 07 */	stb r27, 7(r29)
/* 80373304 0036EF64  9B 7D 00 01 */	stb r27, 1(r29)
/* 80373308 0036EF68  9B DD 00 02 */	stb r30, 2(r29)
/* 8037330C 0036EF6C  9B 7D 00 08 */	stb r27, 8(r29)
/* 80373310 0036EF70  4B EF B4 75 */	bl OSRestoreInterrupts
/* 80373314 0036EF74  48 00 00 D4 */	b lbl_803733E8
lbl_80373318:
/* 80373318 0036EF78  7F 83 E3 78 */	mr r3, r28
/* 8037331C 0036EF7C  4B EF B4 69 */	bl OSRestoreInterrupts
lbl_80373320:
/* 80373320 0036EF80  2C 1A 00 00 */	cmpwi r26, 0
/* 80373324 0036EF84  41 82 00 78 */	beq lbl_8037339C
/* 80373328 0036EF88  4B EF B4 35 */	bl OSDisableInterrupts
/* 8037332C 0036EF8C  88 1D 00 07 */	lbz r0, 7(r29)
/* 80373330 0036EF90  7C 7C 1B 78 */	mr r28, r3
/* 80373334 0036EF94  2C 00 00 00 */	cmpwi r0, 0
/* 80373338 0036EF98  40 82 00 4C */	bne lbl_80373384
/* 8037333C 0036EF9C  3C 60 80 00 */	lis r3, 0x800000F8@ha
/* 80373340 0036EFA0  3C E0 80 37 */	lis r7, ContinueAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext@ha
/* 80373344 0036EFA4  80 03 00 F8 */	lwz r0, 0x800000F8@l(r3)
/* 80373348 0036EFA8  38 80 01 E0 */	li r4, 0x1e0
/* 8037334C 0036EFAC  38 A0 00 00 */	li r5, 0
/* 80373350 0036EFB0  38 7D 00 40 */	addi r3, r29, 0x40
/* 80373354 0036EFB4  54 06 F0 BE */	srwi r6, r0, 2
/* 80373358 0036EFB8  38 E7 36 DC */	addi r7, r7, ContinueAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext@l
/* 8037335C 0036EFBC  7C 06 20 16 */	mulhwu r0, r6, r4
/* 80373360 0036EFC0  7C 85 21 D6 */	mullw r4, r5, r4
/* 80373364 0036EFC4  1C C6 01 E0 */	mulli r6, r6, 0x1e0
/* 80373368 0036EFC8  7C A0 22 14 */	add r5, r0, r4
/* 8037336C 0036EFCC  4B EF 66 19 */	bl OSSetAlarm
/* 80373370 0036EFD0  4B EF F4 49 */	bl OSGetTime
/* 80373374 0036EFD4  38 00 00 01 */	li r0, 1
/* 80373378 0036EFD8  90 9D 00 A4 */	stw r4, 0xa4(r29)
/* 8037337C 0036EFDC  90 7D 00 A0 */	stw r3, 0xa0(r29)
/* 80373380 0036EFE0  98 1D 00 07 */	stb r0, 7(r29)
lbl_80373384:
/* 80373384 0036EFE4  38 7D 00 70 */	addi r3, r29, 0x70
/* 80373388 0036EFE8  4B EF 66 F1 */	bl OSCancelAlarm
/* 8037338C 0036EFEC  38 00 00 00 */	li r0, 0
/* 80373390 0036EFF0  7F 83 E3 78 */	mr r3, r28
/* 80373394 0036EFF4  98 1D 00 08 */	stb r0, 8(r29)
/* 80373398 0036EFF8  4B EF B3 ED */	bl OSRestoreInterrupts
lbl_8037339C:
/* 8037339C 0036EFFC  2C 1F 00 00 */	cmpwi r31, 0
/* 803733A0 0036F000  41 82 00 44 */	beq lbl_803733E4
/* 803733A4 0036F004  4B EF B3 B9 */	bl OSDisableInterrupts
/* 803733A8 0036F008  38 00 00 01 */	li r0, 1
/* 803733AC 0036F00C  7C 7C 1B 78 */	mr r28, r3
/* 803733B0 0036F010  98 1D 00 08 */	stb r0, 8(r29)
/* 803733B4 0036F014  38 7D 00 70 */	addi r3, r29, 0x70
/* 803733B8 0036F018  4B EF 66 C1 */	bl OSCancelAlarm
/* 803733BC 0036F01C  3C 60 80 00 */	lis r3, 0x800000F8@ha
/* 803733C0 0036F020  3C E0 80 37 */	lis r7, IntervalAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext@ha
/* 803733C4 0036F024  80 03 00 F8 */	lwz r0, 0x800000F8@l(r3)
/* 803733C8 0036F028  38 7D 00 70 */	addi r3, r29, 0x70
/* 803733CC 0036F02C  38 E7 37 34 */	addi r7, r7, IntervalAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext@l
/* 803733D0 0036F030  38 A0 00 00 */	li r5, 0
/* 803733D4 0036F034  54 06 F0 BE */	srwi r6, r0, 2
/* 803733D8 0036F038  4B EF 65 AD */	bl OSSetAlarm
/* 803733DC 0036F03C  7F 83 E3 78 */	mr r3, r28
/* 803733E0 0036F040  4B EF B3 A5 */	bl OSRestoreInterrupts
lbl_803733E4:
/* 803733E4 0036F044  9B DD 00 01 */	stb r30, 1(r29)
lbl_803733E8:
/* 803733E8 0036F048  39 61 00 40 */	addi r11, r1, 0x40
/* 803733EC 0036F04C  4B E5 3D 81 */	bl _restgpr_25
/* 803733F0 0036F050  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803733F4 0036F054  7C 08 03 A6 */	mtlr r0
/* 803733F8 0036F058  38 21 00 40 */	addi r1, r1, 0x40
/* 803733FC 0036F05C  4E 80 00 20 */	blr

.global SpeakerOnCallback__Q34nw4r3snd13RemoteSpeakerFll
SpeakerOnCallback__Q34nw4r3snd13RemoteSpeakerFll:
/* 80373400 0036F060  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80373404 0036F064  7C 08 02 A6 */	mflr r0
/* 80373408 0036F068  90 01 00 24 */	stw r0, 0x24(r1)
/* 8037340C 0036F06C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80373410 0036F070  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80373414 0036F074  7C 9E 23 78 */	mr r30, r4
/* 80373418 0036F078  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8037341C 0036F07C  7C 7D 1B 78 */	mr r29, r3
/* 80373420 0036F080  48 00 03 89 */	bl GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv
/* 80373424 0036F084  7F A4 EB 78 */	mr r4, r29
/* 80373428 0036F088  48 00 04 19 */	bl GetRemoteSpeaker__Q44nw4r3snd6detail20RemoteSpeakerManagerFi
/* 8037342C 0036F08C  2C 1E FF FF */	cmpwi r30, -1
/* 80373430 0036F090  7C 7F 1B 78 */	mr r31, r3
/* 80373434 0036F094  41 82 00 60 */	beq lbl_80373494
/* 80373438 0036F098  40 80 00 14 */	bge lbl_8037344C
/* 8037343C 0036F09C  2C 1E FF FD */	cmpwi r30, -3
/* 80373440 0036F0A0  41 82 00 48 */	beq lbl_80373488
/* 80373444 0036F0A4  40 80 00 38 */	bge lbl_8037347C
/* 80373448 0036F0A8  48 00 00 58 */	b lbl_803734A0
lbl_8037344C:
/* 8037344C 0036F0AC  2C 1E 00 01 */	cmpwi r30, 1
/* 80373450 0036F0B0  40 80 00 50 */	bge lbl_803734A0
/* 80373454 0036F0B4  38 00 00 01 */	li r0, 1
/* 80373458 0036F0B8  38 80 00 00 */	li r4, 0
/* 8037345C 0036F0BC  98 03 00 03 */	stb r0, 3(r3)
/* 80373460 0036F0C0  38 A0 00 20 */	li r5, 0x20
/* 80373464 0036F0C4  38 63 00 18 */	addi r3, r3, 0x18
/* 80373468 0036F0C8  4B C9 0C 9D */	bl memset
/* 8037346C 0036F0CC  38 00 00 02 */	li r0, 2
/* 80373470 0036F0D0  90 1F 00 0C */	stw r0, 0xc(r31)
/* 80373474 0036F0D4  90 1F 00 14 */	stw r0, 0x14(r31)
/* 80373478 0036F0D8  48 00 00 30 */	b lbl_803734A8
lbl_8037347C:
/* 8037347C 0036F0DC  38 00 00 01 */	li r0, 1
/* 80373480 0036F0E0  90 03 00 14 */	stw r0, 0x14(r3)
/* 80373484 0036F0E4  48 00 00 24 */	b lbl_803734A8
lbl_80373488:
/* 80373488 0036F0E8  38 00 00 00 */	li r0, 0
/* 8037348C 0036F0EC  90 03 00 0C */	stw r0, 0xc(r3)
/* 80373490 0036F0F0  48 00 00 18 */	b lbl_803734A8
lbl_80373494:
/* 80373494 0036F0F4  38 00 00 00 */	li r0, 0
/* 80373498 0036F0F8  90 03 00 0C */	stw r0, 0xc(r3)
/* 8037349C 0036F0FC  48 00 00 0C */	b lbl_803734A8
lbl_803734A0:
/* 803734A0 0036F100  38 00 00 00 */	li r0, 0
/* 803734A4 0036F104  90 03 00 0C */	stw r0, 0xc(r3)
lbl_803734A8:
/* 803734A8 0036F108  2C 1E 00 00 */	cmpwi r30, 0
/* 803734AC 0036F10C  41 82 00 3C */	beq lbl_803734E8
/* 803734B0 0036F110  2C 1E FF FE */	cmpwi r30, -2
/* 803734B4 0036F114  41 82 00 34 */	beq lbl_803734E8
/* 803734B8 0036F118  88 1F 00 04 */	lbz r0, 4(r31)
/* 803734BC 0036F11C  2C 00 00 00 */	cmpwi r0, 0
/* 803734C0 0036F120  41 82 00 28 */	beq lbl_803734E8
/* 803734C4 0036F124  81 9F 00 3C */	lwz r12, 0x3c(r31)
/* 803734C8 0036F128  2C 0C 00 00 */	cmpwi r12, 0
/* 803734CC 0036F12C  41 82 00 1C */	beq lbl_803734E8
/* 803734D0 0036F130  7F A3 EB 78 */	mr r3, r29
/* 803734D4 0036F134  7F C4 F3 78 */	mr r4, r30
/* 803734D8 0036F138  7D 89 03 A6 */	mtctr r12
/* 803734DC 0036F13C  4E 80 04 21 */	bctrl
/* 803734E0 0036F140  38 00 00 00 */	li r0, 0
/* 803734E4 0036F144  90 1F 00 3C */	stw r0, 0x3c(r31)
lbl_803734E8:
/* 803734E8 0036F148  38 00 00 00 */	li r0, 0
/* 803734EC 0036F14C  98 1F 00 05 */	stb r0, 5(r31)
/* 803734F0 0036F150  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803734F4 0036F154  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803734F8 0036F158  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 803734FC 0036F15C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80373500 0036F160  7C 08 03 A6 */	mtlr r0
/* 80373504 0036F164  38 21 00 20 */	addi r1, r1, 0x20
/* 80373508 0036F168  4E 80 00 20 */	blr

.global SpeakerPlayCallback__Q34nw4r3snd13RemoteSpeakerFll
SpeakerPlayCallback__Q34nw4r3snd13RemoteSpeakerFll:
/* 8037350C 0036F16C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80373510 0036F170  7C 08 02 A6 */	mflr r0
/* 80373514 0036F174  90 01 00 24 */	stw r0, 0x24(r1)
/* 80373518 0036F178  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8037351C 0036F17C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80373520 0036F180  7C 9E 23 78 */	mr r30, r4
/* 80373524 0036F184  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80373528 0036F188  7C 7D 1B 78 */	mr r29, r3
/* 8037352C 0036F18C  48 00 02 7D */	bl GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv
/* 80373530 0036F190  7F A4 EB 78 */	mr r4, r29
/* 80373534 0036F194  48 00 03 0D */	bl GetRemoteSpeaker__Q44nw4r3snd6detail20RemoteSpeakerManagerFi
/* 80373538 0036F198  2C 1E FF FF */	cmpwi r30, -1
/* 8037353C 0036F19C  7C 7F 1B 78 */	mr r31, r3
/* 80373540 0036F1A0  41 82 00 44 */	beq lbl_80373584
/* 80373544 0036F1A4  40 80 00 14 */	bge lbl_80373558
/* 80373548 0036F1A8  2C 1E FF FD */	cmpwi r30, -3
/* 8037354C 0036F1AC  41 82 00 2C */	beq lbl_80373578
/* 80373550 0036F1B0  40 80 00 1C */	bge lbl_8037356C
/* 80373554 0036F1B4  48 00 00 3C */	b lbl_80373590
lbl_80373558:
/* 80373558 0036F1B8  2C 1E 00 01 */	cmpwi r30, 1
/* 8037355C 0036F1BC  40 80 00 34 */	bge lbl_80373590
/* 80373560 0036F1C0  38 00 00 04 */	li r0, 4
/* 80373564 0036F1C4  90 03 00 0C */	stw r0, 0xc(r3)
/* 80373568 0036F1C8  48 00 00 30 */	b lbl_80373598
lbl_8037356C:
/* 8037356C 0036F1CC  38 00 00 02 */	li r0, 2
/* 80373570 0036F1D0  90 03 00 14 */	stw r0, 0x14(r3)
/* 80373574 0036F1D4  48 00 00 24 */	b lbl_80373598
lbl_80373578:
/* 80373578 0036F1D8  38 00 00 00 */	li r0, 0
/* 8037357C 0036F1DC  90 03 00 0C */	stw r0, 0xc(r3)
/* 80373580 0036F1E0  48 00 00 18 */	b lbl_80373598
lbl_80373584:
/* 80373584 0036F1E4  38 00 00 00 */	li r0, 0
/* 80373588 0036F1E8  90 03 00 0C */	stw r0, 0xc(r3)
/* 8037358C 0036F1EC  48 00 00 0C */	b lbl_80373598
lbl_80373590:
/* 80373590 0036F1F0  38 00 00 00 */	li r0, 0
/* 80373594 0036F1F4  90 03 00 0C */	stw r0, 0xc(r3)
lbl_80373598:
/* 80373598 0036F1F8  2C 1E FF FE */	cmpwi r30, -2
/* 8037359C 0036F1FC  41 82 00 34 */	beq lbl_803735D0
/* 803735A0 0036F200  88 03 00 04 */	lbz r0, 4(r3)
/* 803735A4 0036F204  2C 00 00 00 */	cmpwi r0, 0
/* 803735A8 0036F208  41 82 00 28 */	beq lbl_803735D0
/* 803735AC 0036F20C  81 83 00 3C */	lwz r12, 0x3c(r3)
/* 803735B0 0036F210  2C 0C 00 00 */	cmpwi r12, 0
/* 803735B4 0036F214  41 82 00 1C */	beq lbl_803735D0
/* 803735B8 0036F218  7F A3 EB 78 */	mr r3, r29
/* 803735BC 0036F21C  7F C4 F3 78 */	mr r4, r30
/* 803735C0 0036F220  7D 89 03 A6 */	mtctr r12
/* 803735C4 0036F224  4E 80 04 21 */	bctrl
/* 803735C8 0036F228  38 00 00 00 */	li r0, 0
/* 803735CC 0036F22C  90 1F 00 3C */	stw r0, 0x3c(r31)
lbl_803735D0:
/* 803735D0 0036F230  38 00 00 00 */	li r0, 0
/* 803735D4 0036F234  98 1F 00 05 */	stb r0, 5(r31)
/* 803735D8 0036F238  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803735DC 0036F23C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803735E0 0036F240  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 803735E4 0036F244  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803735E8 0036F248  7C 08 03 A6 */	mtlr r0
/* 803735EC 0036F24C  38 21 00 20 */	addi r1, r1, 0x20
/* 803735F0 0036F250  4E 80 00 20 */	blr

.global SpeakerOffCallback__Q34nw4r3snd13RemoteSpeakerFll
SpeakerOffCallback__Q34nw4r3snd13RemoteSpeakerFll:
/* 803735F4 0036F254  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803735F8 0036F258  7C 08 02 A6 */	mflr r0
/* 803735FC 0036F25C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80373600 0036F260  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80373604 0036F264  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80373608 0036F268  7C 9E 23 78 */	mr r30, r4
/* 8037360C 0036F26C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80373610 0036F270  7C 7D 1B 78 */	mr r29, r3
/* 80373614 0036F274  48 00 01 95 */	bl GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv
/* 80373618 0036F278  7F A4 EB 78 */	mr r4, r29
/* 8037361C 0036F27C  48 00 02 25 */	bl GetRemoteSpeaker__Q44nw4r3snd6detail20RemoteSpeakerManagerFi
/* 80373620 0036F280  2C 1E FF FF */	cmpwi r30, -1
/* 80373624 0036F284  7C 7F 1B 78 */	mr r31, r3
/* 80373628 0036F288  41 82 00 44 */	beq lbl_8037366C
/* 8037362C 0036F28C  40 80 00 14 */	bge lbl_80373640
/* 80373630 0036F290  2C 1E FF FD */	cmpwi r30, -3
/* 80373634 0036F294  41 82 00 2C */	beq lbl_80373660
/* 80373638 0036F298  40 80 00 1C */	bge lbl_80373654
/* 8037363C 0036F29C  48 00 00 3C */	b lbl_80373678
lbl_80373640:
/* 80373640 0036F2A0  2C 1E 00 01 */	cmpwi r30, 1
/* 80373644 0036F2A4  40 80 00 34 */	bge lbl_80373678
/* 80373648 0036F2A8  38 00 00 06 */	li r0, 6
/* 8037364C 0036F2AC  90 03 00 0C */	stw r0, 0xc(r3)
/* 80373650 0036F2B0  48 00 00 30 */	b lbl_80373680
lbl_80373654:
/* 80373654 0036F2B4  38 00 00 03 */	li r0, 3
/* 80373658 0036F2B8  90 03 00 14 */	stw r0, 0x14(r3)
/* 8037365C 0036F2BC  48 00 00 24 */	b lbl_80373680
lbl_80373660:
/* 80373660 0036F2C0  38 00 00 00 */	li r0, 0
/* 80373664 0036F2C4  90 03 00 0C */	stw r0, 0xc(r3)
/* 80373668 0036F2C8  48 00 00 18 */	b lbl_80373680
lbl_8037366C:
/* 8037366C 0036F2CC  38 00 00 00 */	li r0, 0
/* 80373670 0036F2D0  90 03 00 0C */	stw r0, 0xc(r3)
/* 80373674 0036F2D4  48 00 00 0C */	b lbl_80373680
lbl_80373678:
/* 80373678 0036F2D8  38 00 00 00 */	li r0, 0
/* 8037367C 0036F2DC  90 03 00 0C */	stw r0, 0xc(r3)
lbl_80373680:
/* 80373680 0036F2E0  2C 1E FF FE */	cmpwi r30, -2
/* 80373684 0036F2E4  41 82 00 34 */	beq lbl_803736B8
/* 80373688 0036F2E8  88 03 00 04 */	lbz r0, 4(r3)
/* 8037368C 0036F2EC  2C 00 00 00 */	cmpwi r0, 0
/* 80373690 0036F2F0  41 82 00 28 */	beq lbl_803736B8
/* 80373694 0036F2F4  81 83 00 3C */	lwz r12, 0x3c(r3)
/* 80373698 0036F2F8  2C 0C 00 00 */	cmpwi r12, 0
/* 8037369C 0036F2FC  41 82 00 1C */	beq lbl_803736B8
/* 803736A0 0036F300  7F A3 EB 78 */	mr r3, r29
/* 803736A4 0036F304  7F C4 F3 78 */	mr r4, r30
/* 803736A8 0036F308  7D 89 03 A6 */	mtctr r12
/* 803736AC 0036F30C  4E 80 04 21 */	bctrl
/* 803736B0 0036F310  38 00 00 00 */	li r0, 0
/* 803736B4 0036F314  90 1F 00 3C */	stw r0, 0x3c(r31)
lbl_803736B8:
/* 803736B8 0036F318  38 00 00 00 */	li r0, 0
/* 803736BC 0036F31C  98 1F 00 05 */	stb r0, 5(r31)
/* 803736C0 0036F320  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803736C4 0036F324  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803736C8 0036F328  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 803736CC 0036F32C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803736D0 0036F330  7C 08 03 A6 */	mtlr r0
/* 803736D4 0036F334  38 21 00 20 */	addi r1, r1, 0x20
/* 803736D8 0036F338  4E 80 00 20 */	blr

.global ContinueAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext
ContinueAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext:
/* 803736DC 0036F33C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803736E0 0036F340  7C 08 02 A6 */	mflr r0
/* 803736E4 0036F344  90 01 00 14 */	stw r0, 0x14(r1)
/* 803736E8 0036F348  93 E1 00 0C */	stw r31, 0xc(r1)
/* 803736EC 0036F34C  93 C1 00 08 */	stw r30, 8(r1)
/* 803736F0 0036F350  7C 7E 1B 78 */	mr r30, r3
/* 803736F4 0036F354  4B EF B0 69 */	bl OSDisableInterrupts
/* 803736F8 0036F358  7C 7F 1B 78 */	mr r31, r3
/* 803736FC 0036F35C  7F C3 F3 78 */	mr r3, r30
/* 80373700 0036F360  4B EF 67 A9 */	bl OSGetAlarmUserData
/* 80373704 0036F364  38 80 00 01 */	li r4, 1
/* 80373708 0036F368  38 00 00 00 */	li r0, 0
/* 8037370C 0036F36C  98 83 00 06 */	stb r4, 6(r3)
/* 80373710 0036F370  98 03 00 07 */	stb r0, 7(r3)
/* 80373714 0036F374  7F E3 FB 78 */	mr r3, r31
/* 80373718 0036F378  4B EF B0 6D */	bl OSRestoreInterrupts
/* 8037371C 0036F37C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80373720 0036F380  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80373724 0036F384  83 C1 00 08 */	lwz r30, 8(r1)
/* 80373728 0036F388  7C 08 03 A6 */	mtlr r0
/* 8037372C 0036F38C  38 21 00 10 */	addi r1, r1, 0x10
/* 80373730 0036F390  4E 80 00 20 */	blr

.global IntervalAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext
IntervalAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext:
/* 80373734 0036F394  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80373738 0036F398  7C 08 02 A6 */	mflr r0
/* 8037373C 0036F39C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80373740 0036F3A0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80373744 0036F3A4  93 C1 00 08 */	stw r30, 8(r1)
/* 80373748 0036F3A8  7C 7E 1B 78 */	mr r30, r3
/* 8037374C 0036F3AC  4B EF B0 11 */	bl OSDisableInterrupts
/* 80373750 0036F3B0  7C 7F 1B 78 */	mr r31, r3
/* 80373754 0036F3B4  7F C3 F3 78 */	mr r3, r30
/* 80373758 0036F3B8  4B EF 67 51 */	bl OSGetAlarmUserData
/* 8037375C 0036F3BC  88 03 00 08 */	lbz r0, 8(r3)
/* 80373760 0036F3C0  7C 7E 1B 78 */	mr r30, r3
/* 80373764 0036F3C4  2C 00 00 00 */	cmpwi r0, 0
/* 80373768 0036F3C8  41 82 00 18 */	beq lbl_80373780
/* 8037376C 0036F3CC  38 63 00 40 */	addi r3, r3, 0x40
/* 80373770 0036F3D0  4B EF 63 09 */	bl OSCancelAlarm
/* 80373774 0036F3D4  38 00 00 00 */	li r0, 0
/* 80373778 0036F3D8  98 1E 00 06 */	stb r0, 6(r30)
/* 8037377C 0036F3DC  98 1E 00 07 */	stb r0, 7(r30)
lbl_80373780:
/* 80373780 0036F3E0  38 00 00 00 */	li r0, 0
/* 80373784 0036F3E4  7F E3 FB 78 */	mr r3, r31
/* 80373788 0036F3E8  98 1E 00 08 */	stb r0, 8(r30)
/* 8037378C 0036F3EC  4B EF AF F9 */	bl OSRestoreInterrupts
/* 80373790 0036F3F0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80373794 0036F3F4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80373798 0036F3F8  83 C1 00 08 */	lwz r30, 8(r1)
/* 8037379C 0036F3FC  7C 08 03 A6 */	mtlr r0
/* 803737A0 0036F400  38 21 00 10 */	addi r1, r1, 0x10
/* 803737A4 0036F404  4E 80 00 20 */	blr