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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global GetInstance__Q44nw4r3snd6detail12VoiceManagerFv
GetInstance__Q44nw4r3snd6detail12VoiceManagerFv:
/* 80382900 0037E560 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80382904 0037E564 7C 08 02 A6 */ mflr r0
/* 80382908 0037E568 90 01 00 14 */ stw r0, 0x14(r1)
/* 8038290C 0037E56C 88 0D B2 98 */ lbz r0, lbl_80640558-_SDA_BASE_(r13)
/* 80382910 0037E570 7C 00 07 75 */ extsb. r0, r0
/* 80382914 0037E574 40 82 00 60 */ bne lbl_80382974
/* 80382918 0037E578 3C C0 80 64 */ lis r6, lbl_8063CDEC@ha
/* 8038291C 0037E57C 38 00 00 00 */ li r0, 0
/* 80382920 0037E580 38 66 CD EC */ addi r3, r6, lbl_8063CDEC@l
/* 80382924 0037E584 3C 80 80 38 */ lis r4, __dt__Q44nw4r3snd6detail12VoiceManagerFv@ha
/* 80382928 0037E588 90 03 00 08 */ stw r0, 8(r3)
/* 8038292C 0037E58C 39 03 00 08 */ addi r8, r3, 8
/* 80382930 0037E590 38 E3 00 14 */ addi r7, r3, 0x14
/* 80382934 0037E594 3C A0 80 64 */ lis r5, lbl_8063CDE0@ha
/* 80382938 0037E598 90 03 00 0C */ stw r0, 0xc(r3)
/* 8038293C 0037E59C 38 84 29 8C */ addi r4, r4, __dt__Q44nw4r3snd6detail12VoiceManagerFv@l
/* 80382940 0037E5A0 38 A5 CD E0 */ addi r5, r5, lbl_8063CDE0@l
/* 80382944 0037E5A4 90 03 00 14 */ stw r0, 0x14(r3)
/* 80382948 0037E5A8 90 03 00 18 */ stw r0, 0x18(r3)
/* 8038294C 0037E5AC 98 06 CD EC */ stb r0, -0x3214(r6)
/* 80382950 0037E5B0 90 03 00 04 */ stw r0, 4(r3)
/* 80382954 0037E5B4 91 03 00 08 */ stw r8, 8(r3)
/* 80382958 0037E5B8 91 03 00 0C */ stw r8, 0xc(r3)
/* 8038295C 0037E5BC 90 03 00 10 */ stw r0, 0x10(r3)
/* 80382960 0037E5C0 90 E3 00 14 */ stw r7, 0x14(r3)
/* 80382964 0037E5C4 90 E3 00 18 */ stw r7, 0x18(r3)
/* 80382968 0037E5C8 4B E4 42 E1 */ bl __register_global_object_tmp
/* 8038296C 0037E5CC 38 00 00 01 */ li r0, 1
/* 80382970 0037E5D0 98 0D B2 98 */ stb r0, lbl_80640558-_SDA_BASE_(r13)
lbl_80382974:
/* 80382974 0037E5D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80382978 0037E5D8 3C 60 80 64 */ lis r3, lbl_8063CDEC@ha
/* 8038297C 0037E5DC 38 63 CD EC */ addi r3, r3, lbl_8063CDEC@l
/* 80382980 0037E5E0 7C 08 03 A6 */ mtlr r0
/* 80382984 0037E5E4 38 21 00 10 */ addi r1, r1, 0x10
/* 80382988 0037E5E8 4E 80 00 20 */ blr
.global __dt__Q44nw4r3snd6detail12VoiceManagerFv
__dt__Q44nw4r3snd6detail12VoiceManagerFv:
/* 8038298C 0037E5EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80382990 0037E5F0 7C 08 02 A6 */ mflr r0
/* 80382994 0037E5F4 2C 03 00 00 */ cmpwi r3, 0
/* 80382998 0037E5F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8038299C 0037E5FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803829A0 0037E600 7C 9F 23 78 */ mr r31, r4
/* 803829A4 0037E604 93 C1 00 08 */ stw r30, 8(r1)
/* 803829A8 0037E608 7C 7E 1B 78 */ mr r30, r3
/* 803829AC 0037E60C 41 82 00 34 */ beq lbl_803829E0
/* 803829B0 0037E610 34 63 00 10 */ addic. r3, r3, 0x10
/* 803829B4 0037E614 41 82 00 0C */ beq lbl_803829C0
/* 803829B8 0037E618 38 80 00 00 */ li r4, 0
/* 803829BC 0037E61C 4B FE 01 7D */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_803829C0:
/* 803829C0 0037E620 34 7E 00 04 */ addic. r3, r30, 4
/* 803829C4 0037E624 41 82 00 0C */ beq lbl_803829D0
/* 803829C8 0037E628 38 80 00 00 */ li r4, 0
/* 803829CC 0037E62C 4B FE 01 6D */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_803829D0:
/* 803829D0 0037E630 2C 1F 00 00 */ cmpwi r31, 0
/* 803829D4 0037E634 40 81 00 0C */ ble lbl_803829E0
/* 803829D8 0037E638 7F C3 F3 78 */ mr r3, r30
/* 803829DC 0037E63C 4B E5 80 DD */ bl __dl__FPv
lbl_803829E0:
/* 803829E0 0037E640 7F C3 F3 78 */ mr r3, r30
/* 803829E4 0037E644 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803829E8 0037E648 83 C1 00 08 */ lwz r30, 8(r1)
/* 803829EC 0037E64C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803829F0 0037E650 7C 08 03 A6 */ mtlr r0
/* 803829F4 0037E654 38 21 00 10 */ addi r1, r1, 0x10
/* 803829F8 0037E658 4E 80 00 20 */ blr
.global GetRequiredMemSize__Q44nw4r3snd6detail12VoiceManagerFv
GetRequiredMemSize__Q44nw4r3snd6detail12VoiceManagerFv:
/* 803829FC 0037E65C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80382A00 0037E660 7C 08 02 A6 */ mflr r0
/* 80382A04 0037E664 90 01 00 14 */ stw r0, 0x14(r1)
/* 80382A08 0037E668 4B F0 F9 15 */ bl AXGetMaxVoices
/* 80382A0C 0037E66C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80382A10 0037E670 1C 63 01 2C */ mulli r3, r3, 0x12c
/* 80382A14 0037E674 7C 08 03 A6 */ mtlr r0
/* 80382A18 0037E678 38 21 00 10 */ addi r1, r1, 0x10
/* 80382A1C 0037E67C 4E 80 00 20 */ blr
.global Setup__Q44nw4r3snd6detail12VoiceManagerFPvUl
Setup__Q44nw4r3snd6detail12VoiceManagerFPvUl:
/* 80382A20 0037E680 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80382A24 0037E684 7C 08 02 A6 */ mflr r0
/* 80382A28 0037E688 90 01 00 34 */ stw r0, 0x34(r1)
/* 80382A2C 0037E68C 39 61 00 30 */ addi r11, r1, 0x30
/* 80382A30 0037E690 4B E4 46 F9 */ bl _savegpr_27
/* 80382A34 0037E694 88 03 00 00 */ lbz r0, 0(r3)
/* 80382A38 0037E698 7C 7B 1B 78 */ mr r27, r3
/* 80382A3C 0037E69C 2C 00 00 00 */ cmpwi r0, 0
/* 80382A40 0037E6A0 40 82 00 6C */ bne lbl_80382AAC
/* 80382A44 0037E6A4 3C C0 1B 4F */ lis r6, 0x1B4E81B5@ha
/* 80382A48 0037E6A8 7C 9D 23 78 */ mr r29, r4
/* 80382A4C 0037E6AC 38 06 81 B5 */ addi r0, r6, 0x1B4E81B5@l
/* 80382A50 0037E6B0 3B 80 00 00 */ li r28, 0
/* 80382A54 0037E6B4 7C 00 28 16 */ mulhwu r0, r0, r5
/* 80382A58 0037E6B8 54 1E D9 7F */ rlwinm. r30, r0, 0x1b, 5, 0x1f
/* 80382A5C 0037E6BC 41 82 00 48 */ beq lbl_80382AA4
/* 80382A60 0037E6C0 3B E3 00 14 */ addi r31, r3, 0x14
/* 80382A64 0037E6C4 48 00 00 38 */ b lbl_80382A9C
lbl_80382A68:
/* 80382A68 0037E6C8 2C 1D 00 00 */ cmpwi r29, 0
/* 80382A6C 0037E6CC 7F A5 EB 78 */ mr r5, r29
/* 80382A70 0037E6D0 41 82 00 10 */ beq lbl_80382A80
/* 80382A74 0037E6D4 7F A3 EB 78 */ mr r3, r29
/* 80382A78 0037E6D8 4B FF D7 55 */ bl __ct__Q44nw4r3snd6detail5VoiceFv
/* 80382A7C 0037E6DC 7C 65 1B 78 */ mr r5, r3
lbl_80382A80:
/* 80382A80 0037E6E0 93 E1 00 08 */ stw r31, 8(r1)
/* 80382A84 0037E6E4 38 7B 00 10 */ addi r3, r27, 0x10
/* 80382A88 0037E6E8 38 81 00 08 */ addi r4, r1, 8
/* 80382A8C 0037E6EC 38 A5 01 24 */ addi r5, r5, 0x124
/* 80382A90 0037E6F0 4B FE 01 B9 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 80382A94 0037E6F4 3B BD 01 2C */ addi r29, r29, 0x12c
/* 80382A98 0037E6F8 3B 9C 00 01 */ addi r28, r28, 1
lbl_80382A9C:
/* 80382A9C 0037E6FC 7C 1C F0 40 */ cmplw r28, r30
/* 80382AA0 0037E700 41 80 FF C8 */ blt lbl_80382A68
lbl_80382AA4:
/* 80382AA4 0037E704 38 00 00 01 */ li r0, 1
/* 80382AA8 0037E708 98 1B 00 00 */ stb r0, 0(r27)
lbl_80382AAC:
/* 80382AAC 0037E70C 39 61 00 30 */ addi r11, r1, 0x30
/* 80382AB0 0037E710 4B E4 46 C5 */ bl _restgpr_27
/* 80382AB4 0037E714 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80382AB8 0037E718 7C 08 03 A6 */ mtlr r0
/* 80382ABC 0037E71C 38 21 00 30 */ addi r1, r1, 0x30
/* 80382AC0 0037E720 4E 80 00 20 */ blr
.global AllocVoice__Q44nw4r3snd6detail12VoiceManagerFiiiPFPQ44nw4r3snd6detail5VoiceQ54nw4r3snd6detail5Voice19VoiceCallbackStatusPv_vPv
AllocVoice__Q44nw4r3snd6detail12VoiceManagerFiiiPFPQ44nw4r3snd6detail5VoiceQ54nw4r3snd6detail5Voice19VoiceCallbackStatusPv_vPv:
/* 80382AC4 0037E724 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80382AC8 0037E728 7C 08 02 A6 */ mflr r0
/* 80382ACC 0037E72C 90 01 00 44 */ stw r0, 0x44(r1)
/* 80382AD0 0037E730 39 61 00 40 */ addi r11, r1, 0x40
/* 80382AD4 0037E734 4B E4 46 45 */ bl _savegpr_23
/* 80382AD8 0037E738 7C 7F 1B 78 */ mr r31, r3
/* 80382ADC 0037E73C 7C 97 23 78 */ mr r23, r4
/* 80382AE0 0037E740 7C B8 2B 78 */ mr r24, r5
/* 80382AE4 0037E744 7C D9 33 78 */ mr r25, r6
/* 80382AE8 0037E748 7C FA 3B 78 */ mr r26, r7
/* 80382AEC 0037E74C 7D 1B 43 78 */ mr r27, r8
/* 80382AF0 0037E750 4B EE BC 6D */ bl OSDisableInterrupts
/* 80382AF4 0037E754 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 80382AF8 0037E758 7C 7E 1B 78 */ mr r30, r3
/* 80382AFC 0037E75C 2C 00 00 00 */ cmpwi r0, 0
/* 80382B00 0037E760 40 82 00 7C */ bne lbl_80382B7C
/* 80382B04 0037E764 3B A0 00 00 */ li r29, 0
/* 80382B08 0037E768 40 82 00 5C */ bne lbl_80382B64
/* 80382B0C 0037E76C 80 7F 00 08 */ lwz r3, 8(r31)
/* 80382B10 0037E770 80 03 FF 90 */ lwz r0, -0x70(r3)
/* 80382B14 0037E774 3B 83 FE DC */ addi r28, r3, -292
/* 80382B18 0037E778 7C 00 C8 00 */ cmpw r0, r25
/* 80382B1C 0037E77C 40 81 00 0C */ ble lbl_80382B28
/* 80382B20 0037E780 3B A0 00 00 */ li r29, 0
/* 80382B24 0037E784 48 00 00 40 */ b lbl_80382B64
lbl_80382B28:
/* 80382B28 0037E788 80 9C 00 9C */ lwz r4, 0x9c(r28)
/* 80382B2C 0037E78C 7F 83 E3 78 */ mr r3, r28
/* 80382B30 0037E790 80 1C 00 A0 */ lwz r0, 0xa0(r28)
/* 80382B34 0037E794 7F A4 01 D6 */ mullw r29, r4, r0
/* 80382B38 0037E798 4B FF E4 39 */ bl Stop__Q44nw4r3snd6detail5VoiceFv
/* 80382B3C 0037E79C 7F 83 E3 78 */ mr r3, r28
/* 80382B40 0037E7A0 4B FF E0 95 */ bl Free__Q44nw4r3snd6detail5VoiceFv
/* 80382B44 0037E7A4 81 9C 00 A4 */ lwz r12, 0xa4(r28)
/* 80382B48 0037E7A8 2C 0C 00 00 */ cmpwi r12, 0
/* 80382B4C 0037E7AC 41 82 00 18 */ beq lbl_80382B64
/* 80382B50 0037E7B0 7F 83 E3 78 */ mr r3, r28
/* 80382B54 0037E7B4 80 BC 00 A8 */ lwz r5, 0xa8(r28)
/* 80382B58 0037E7B8 38 80 00 02 */ li r4, 2
/* 80382B5C 0037E7BC 7D 89 03 A6 */ mtctr r12
/* 80382B60 0037E7C0 4E 80 04 21 */ bctrl
lbl_80382B64:
/* 80382B64 0037E7C4 2C 1D 00 00 */ cmpwi r29, 0
/* 80382B68 0037E7C8 40 82 00 14 */ bne lbl_80382B7C
/* 80382B6C 0037E7CC 7F C3 F3 78 */ mr r3, r30
/* 80382B70 0037E7D0 4B EE BC 15 */ bl OSRestoreInterrupts
/* 80382B74 0037E7D4 38 60 00 00 */ li r3, 0
/* 80382B78 0037E7D8 48 00 00 F0 */ b lbl_80382C68
lbl_80382B7C:
/* 80382B7C 0037E7DC 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 80382B80 0037E7E0 7E E4 BB 78 */ mr r4, r23
/* 80382B84 0037E7E4 7F 05 C3 78 */ mr r5, r24
/* 80382B88 0037E7E8 7F 26 CB 78 */ mr r6, r25
/* 80382B8C 0037E7EC 3B 83 FE DC */ addi r28, r3, -292
/* 80382B90 0037E7F0 7F 47 D3 78 */ mr r7, r26
/* 80382B94 0037E7F4 7F 83 E3 78 */ mr r3, r28
/* 80382B98 0037E7F8 7F 68 DB 78 */ mr r8, r27
/* 80382B9C 0037E7FC 4B FF DD FD */ bl Acquire__Q44nw4r3snd6detail5VoiceFiiiPFPQ44nw4r3snd6detail5VoiceQ54nw4r3snd6detail5Voice19VoiceCallbackStatusPv_vPv
/* 80382BA0 0037E800 2C 03 00 00 */ cmpwi r3, 0
/* 80382BA4 0037E804 40 82 00 14 */ bne lbl_80382BB8
/* 80382BA8 0037E808 7F C3 F3 78 */ mr r3, r30
/* 80382BAC 0037E80C 4B EE BB D9 */ bl OSRestoreInterrupts
/* 80382BB0 0037E810 38 60 00 00 */ li r3, 0
/* 80382BB4 0037E814 48 00 00 B4 */ b lbl_80382C68
lbl_80382BB8:
/* 80382BB8 0037E818 57 20 06 3E */ clrlwi r0, r25, 0x18
/* 80382BBC 0037E81C 90 1C 00 B4 */ stw r0, 0xb4(r28)
/* 80382BC0 0037E820 4B EE BB 9D */ bl OSDisableInterrupts
/* 80382BC4 0037E824 3B 7C 01 24 */ addi r27, r28, 0x124
/* 80382BC8 0037E828 7C 7D 1B 78 */ mr r29, r3
/* 80382BCC 0037E82C 7F 64 DB 78 */ mr r4, r27
/* 80382BD0 0037E830 38 7F 00 10 */ addi r3, r31, 0x10
/* 80382BD4 0037E834 4B FE 00 A1 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
/* 80382BD8 0037E838 80 BF 00 08 */ lwz r5, 8(r31)
/* 80382BDC 0037E83C 38 7F 00 08 */ addi r3, r31, 8
/* 80382BE0 0037E840 48 00 00 1C */ b lbl_80382BFC
lbl_80382BE4:
/* 80382BE4 0037E844 80 C3 00 04 */ lwz r6, 4(r3)
/* 80382BE8 0037E848 80 1C 00 B4 */ lwz r0, 0xb4(r28)
/* 80382BEC 0037E84C 80 86 FF 90 */ lwz r4, -0x70(r6)
/* 80382BF0 0037E850 7C 04 00 00 */ cmpw r4, r0
/* 80382BF4 0037E854 40 81 00 10 */ ble lbl_80382C04
/* 80382BF8 0037E858 7C C3 33 78 */ mr r3, r6
lbl_80382BFC:
/* 80382BFC 0037E85C 7C 03 28 40 */ cmplw r3, r5
/* 80382C00 0037E860 40 82 FF E4 */ bne lbl_80382BE4
lbl_80382C04:
/* 80382C04 0037E864 90 61 00 08 */ stw r3, 8(r1)
/* 80382C08 0037E868 7F 65 DB 78 */ mr r5, r27
/* 80382C0C 0037E86C 38 7F 00 04 */ addi r3, r31, 4
/* 80382C10 0037E870 38 81 00 08 */ addi r4, r1, 8
/* 80382C14 0037E874 4B FE 00 35 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 80382C18 0037E878 7F A3 EB 78 */ mr r3, r29
/* 80382C1C 0037E87C 4B EE BB 69 */ bl OSRestoreInterrupts
/* 80382C20 0037E880 3B BF 00 08 */ addi r29, r31, 8
/* 80382C24 0037E884 48 00 00 24 */ b lbl_80382C48
lbl_80382C28:
/* 80382C28 0037E888 80 1B FF 90 */ lwz r0, -0x70(r27)
/* 80382C2C 0037E88C 38 7B FE DC */ addi r3, r27, -292
/* 80382C30 0037E890 2C 00 00 01 */ cmpwi r0, 1
/* 80382C34 0037E894 40 81 00 1C */ ble lbl_80382C50
/* 80382C38 0037E898 2C 00 00 FF */ cmpwi r0, 0xff
/* 80382C3C 0037E89C 41 82 00 08 */ beq lbl_80382C44
/* 80382C40 0037E8A0 4B FF E8 C1 */ bl UpdateVoicesPriority__Q44nw4r3snd6detail5VoiceFv
lbl_80382C44:
/* 80382C44 0037E8A4 83 7B 00 00 */ lwz r27, 0(r27)
lbl_80382C48:
/* 80382C48 0037E8A8 7C 1B E8 40 */ cmplw r27, r29
/* 80382C4C 0037E8AC 40 82 FF DC */ bne lbl_80382C28
lbl_80382C50:
/* 80382C50 0037E8B0 4B FE C6 09 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80382C54 0037E8B4 7F 84 E3 78 */ mr r4, r28
/* 80382C58 0037E8B8 4B FE C6 FD */ bl __dt__Q34nw4r2ut47LinkList$0Q44nw4r3snd6detail15DisposeCallback$40$1Fv
/* 80382C5C 0037E8BC 7F C3 F3 78 */ mr r3, r30
/* 80382C60 0037E8C0 4B EE BB 25 */ bl OSRestoreInterrupts
/* 80382C64 0037E8C4 7F 83 E3 78 */ mr r3, r28
lbl_80382C68:
/* 80382C68 0037E8C8 39 61 00 40 */ addi r11, r1, 0x40
/* 80382C6C 0037E8CC 4B E4 44 F9 */ bl _restgpr_23
/* 80382C70 0037E8D0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80382C74 0037E8D4 7C 08 03 A6 */ mtlr r0
/* 80382C78 0037E8D8 38 21 00 40 */ addi r1, r1, 0x40
/* 80382C7C 0037E8DC 4E 80 00 20 */ blr
.global FreeVoice__Q44nw4r3snd6detail12VoiceManagerFPQ44nw4r3snd6detail5Voice
FreeVoice__Q44nw4r3snd6detail12VoiceManagerFPQ44nw4r3snd6detail5Voice:
/* 80382C80 0037E8E0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80382C84 0037E8E4 7C 08 02 A6 */ mflr r0
/* 80382C88 0037E8E8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80382C8C 0037E8EC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80382C90 0037E8F0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80382C94 0037E8F4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80382C98 0037E8F8 7C 9D 23 78 */ mr r29, r4
/* 80382C9C 0037E8FC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80382CA0 0037E900 7C 7C 1B 78 */ mr r28, r3
/* 80382CA4 0037E904 4B EE BA B9 */ bl OSDisableInterrupts
/* 80382CA8 0037E908 7C 7F 1B 78 */ mr r31, r3
/* 80382CAC 0037E90C 4B FE C5 AD */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80382CB0 0037E910 7F A4 EB 78 */ mr r4, r29
/* 80382CB4 0037E914 4B FE C6 F9 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 80382CB8 0037E918 4B EE BA A5 */ bl OSDisableInterrupts
/* 80382CBC 0037E91C 3B BD 01 24 */ addi r29, r29, 0x124
/* 80382CC0 0037E920 7C 7E 1B 78 */ mr r30, r3
/* 80382CC4 0037E924 7F A4 EB 78 */ mr r4, r29
/* 80382CC8 0037E928 38 7C 00 04 */ addi r3, r28, 4
/* 80382CCC 0037E92C 4B FD FF A9 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
/* 80382CD0 0037E930 38 1C 00 14 */ addi r0, r28, 0x14
/* 80382CD4 0037E934 7F A5 EB 78 */ mr r5, r29
/* 80382CD8 0037E938 90 01 00 08 */ stw r0, 8(r1)
/* 80382CDC 0037E93C 38 7C 00 10 */ addi r3, r28, 0x10
/* 80382CE0 0037E940 38 81 00 08 */ addi r4, r1, 8
/* 80382CE4 0037E944 4B FD FF 65 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 80382CE8 0037E948 7F C3 F3 78 */ mr r3, r30
/* 80382CEC 0037E94C 4B EE BA 99 */ bl OSRestoreInterrupts
/* 80382CF0 0037E950 7F E3 FB 78 */ mr r3, r31
/* 80382CF4 0037E954 4B EE BA 91 */ bl OSRestoreInterrupts
/* 80382CF8 0037E958 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80382CFC 0037E95C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80382D00 0037E960 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80382D04 0037E964 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80382D08 0037E968 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80382D0C 0037E96C 7C 08 03 A6 */ mtlr r0
/* 80382D10 0037E970 38 21 00 20 */ addi r1, r1, 0x20
/* 80382D14 0037E974 4E 80 00 20 */ blr
.global UpdateAllVoices__Q44nw4r3snd6detail12VoiceManagerFv
UpdateAllVoices__Q44nw4r3snd6detail12VoiceManagerFv:
/* 80382D18 0037E978 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80382D1C 0037E97C 7C 08 02 A6 */ mflr r0
/* 80382D20 0037E980 90 01 00 24 */ stw r0, 0x24(r1)
/* 80382D24 0037E984 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80382D28 0037E988 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80382D2C 0037E98C 3B C3 00 08 */ addi r30, r3, 8
/* 80382D30 0037E990 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80382D34 0037E994 7C 7D 1B 78 */ mr r29, r3
/* 80382D38 0037E998 83 E3 00 08 */ lwz r31, 8(r3)
/* 80382D3C 0037E99C 48 00 00 14 */ b lbl_80382D50
lbl_80382D40:
/* 80382D40 0037E9A0 7F E3 FB 78 */ mr r3, r31
/* 80382D44 0037E9A4 83 FF 00 00 */ lwz r31, 0(r31)
/* 80382D48 0037E9A8 38 63 FE DC */ addi r3, r3, -292
/* 80382D4C 0037E9AC 4B FF D6 25 */ bl StopFinished__Q44nw4r3snd6detail5VoiceFv
lbl_80382D50:
/* 80382D50 0037E9B0 7C 1F F0 40 */ cmplw r31, r30
/* 80382D54 0037E9B4 40 82 FF EC */ bne lbl_80382D40
/* 80382D58 0037E9B8 83 DD 00 08 */ lwz r30, 8(r29)
/* 80382D5C 0037E9BC 3B FD 00 08 */ addi r31, r29, 8
/* 80382D60 0037E9C0 48 00 00 14 */ b lbl_80382D74
lbl_80382D64:
/* 80382D64 0037E9C4 7F C3 F3 78 */ mr r3, r30
/* 80382D68 0037E9C8 83 DE 00 00 */ lwz r30, 0(r30)
/* 80382D6C 0037E9CC 38 63 FE DC */ addi r3, r3, -292
/* 80382D70 0037E9D0 4B FF D6 9D */ bl Calc__Q44nw4r3snd6detail5VoiceFv
lbl_80382D74:
/* 80382D74 0037E9D4 7C 1E F8 40 */ cmplw r30, r31
/* 80382D78 0037E9D8 40 82 FF EC */ bne lbl_80382D64
/* 80382D7C 0037E9DC 4B EE B9 E1 */ bl OSDisableInterrupts
/* 80382D80 0037E9E0 87 FD 00 08 */ lwzu r31, 8(r29)
/* 80382D84 0037E9E4 7C 7E 1B 78 */ mr r30, r3
/* 80382D88 0037E9E8 48 00 00 14 */ b lbl_80382D9C
lbl_80382D8C:
/* 80382D8C 0037E9EC 7F E3 FB 78 */ mr r3, r31
/* 80382D90 0037E9F0 83 FF 00 00 */ lwz r31, 0(r31)
/* 80382D94 0037E9F4 38 63 FE DC */ addi r3, r3, -292
/* 80382D98 0037E9F8 4B FF D8 C5 */ bl Update__Q44nw4r3snd6detail5VoiceFv
lbl_80382D9C:
/* 80382D9C 0037E9FC 7C 1F E8 40 */ cmplw r31, r29
/* 80382DA0 0037EA00 40 82 FF EC */ bne lbl_80382D8C
/* 80382DA4 0037EA04 7F C3 F3 78 */ mr r3, r30
/* 80382DA8 0037EA08 4B EE B9 DD */ bl OSRestoreInterrupts
/* 80382DAC 0037EA0C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80382DB0 0037EA10 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80382DB4 0037EA14 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80382DB8 0037EA18 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80382DBC 0037EA1C 7C 08 03 A6 */ mtlr r0
/* 80382DC0 0037EA20 38 21 00 20 */ addi r1, r1, 0x20
/* 80382DC4 0037EA24 4E 80 00 20 */ blr
.global NotifyVoiceUpdate__Q44nw4r3snd6detail12VoiceManagerFv
NotifyVoiceUpdate__Q44nw4r3snd6detail12VoiceManagerFv:
/* 80382DC8 0037EA28 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80382DCC 0037EA2C 7C 08 02 A6 */ mflr r0
/* 80382DD0 0037EA30 90 01 00 24 */ stw r0, 0x24(r1)
/* 80382DD4 0037EA34 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80382DD8 0037EA38 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80382DDC 0037EA3C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80382DE0 0037EA40 7C 7D 1B 78 */ mr r29, r3
/* 80382DE4 0037EA44 4B EE B9 79 */ bl OSDisableInterrupts
/* 80382DE8 0037EA48 87 DD 00 08 */ lwzu r30, 8(r29)
/* 80382DEC 0037EA4C 7C 7F 1B 78 */ mr r31, r3
/* 80382DF0 0037EA50 48 00 00 14 */ b lbl_80382E04
lbl_80382DF4:
/* 80382DF4 0037EA54 7F C3 F3 78 */ mr r3, r30
/* 80382DF8 0037EA58 83 DE 00 00 */ lwz r30, 0(r30)
/* 80382DFC 0037EA5C 38 63 FE DC */ addi r3, r3, -292
/* 80382E00 0037EA60 4B FF EC 6D */ bl ResetDelta__Q44nw4r3snd6detail5VoiceFv
lbl_80382E04:
/* 80382E04 0037EA64 7C 1E E8 40 */ cmplw r30, r29
/* 80382E08 0037EA68 40 82 FF EC */ bne lbl_80382DF4
/* 80382E0C 0037EA6C 7F E3 FB 78 */ mr r3, r31
/* 80382E10 0037EA70 4B EE B9 75 */ bl OSRestoreInterrupts
/* 80382E14 0037EA74 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80382E18 0037EA78 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80382E1C 0037EA7C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80382E20 0037EA80 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80382E24 0037EA84 7C 08 03 A6 */ mtlr r0
/* 80382E28 0037EA88 38 21 00 20 */ addi r1, r1, 0x20
/* 80382E2C 0037EA8C 4E 80 00 20 */ blr
.global ChangeVoicePriority__Q44nw4r3snd6detail12VoiceManagerFPQ44nw4r3snd6detail5Voice
ChangeVoicePriority__Q44nw4r3snd6detail12VoiceManagerFPQ44nw4r3snd6detail5Voice:
/* 80382E30 0037EA90 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80382E34 0037EA94 7C 08 02 A6 */ mflr r0
/* 80382E38 0037EA98 90 01 00 34 */ stw r0, 0x34(r1)
/* 80382E3C 0037EA9C 39 61 00 30 */ addi r11, r1, 0x30
/* 80382E40 0037EAA0 4B E4 42 E9 */ bl _savegpr_27
/* 80382E44 0037EAA4 7C 7B 1B 78 */ mr r27, r3
/* 80382E48 0037EAA8 7C 9C 23 78 */ mr r28, r4
/* 80382E4C 0037EAAC 4B EE B9 11 */ bl OSDisableInterrupts
/* 80382E50 0037EAB0 7C 7F 1B 78 */ mr r31, r3
/* 80382E54 0037EAB4 4B EE B9 09 */ bl OSDisableInterrupts
/* 80382E58 0037EAB8 3B BC 01 24 */ addi r29, r28, 0x124
/* 80382E5C 0037EABC 7C 7E 1B 78 */ mr r30, r3
/* 80382E60 0037EAC0 7F A4 EB 78 */ mr r4, r29
/* 80382E64 0037EAC4 38 7B 00 04 */ addi r3, r27, 4
/* 80382E68 0037EAC8 4B FD FE 0D */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
/* 80382E6C 0037EACC 38 1B 00 14 */ addi r0, r27, 0x14
/* 80382E70 0037EAD0 7F A5 EB 78 */ mr r5, r29
/* 80382E74 0037EAD4 90 01 00 0C */ stw r0, 0xc(r1)
/* 80382E78 0037EAD8 38 7B 00 10 */ addi r3, r27, 0x10
/* 80382E7C 0037EADC 38 81 00 0C */ addi r4, r1, 0xc
/* 80382E80 0037EAE0 4B FD FD C9 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 80382E84 0037EAE4 7F C3 F3 78 */ mr r3, r30
/* 80382E88 0037EAE8 4B EE B8 FD */ bl OSRestoreInterrupts
/* 80382E8C 0037EAEC 4B EE B8 D1 */ bl OSDisableInterrupts
/* 80382E90 0037EAF0 7C 7E 1B 78 */ mr r30, r3
/* 80382E94 0037EAF4 7F A4 EB 78 */ mr r4, r29
/* 80382E98 0037EAF8 38 7B 00 10 */ addi r3, r27, 0x10
/* 80382E9C 0037EAFC 4B FD FD D9 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
/* 80382EA0 0037EB00 80 BB 00 08 */ lwz r5, 8(r27)
/* 80382EA4 0037EB04 38 7B 00 08 */ addi r3, r27, 8
/* 80382EA8 0037EB08 48 00 00 1C */ b lbl_80382EC4
lbl_80382EAC:
/* 80382EAC 0037EB0C 80 C3 00 04 */ lwz r6, 4(r3)
/* 80382EB0 0037EB10 80 1C 00 B4 */ lwz r0, 0xb4(r28)
/* 80382EB4 0037EB14 80 86 FF 90 */ lwz r4, -0x70(r6)
/* 80382EB8 0037EB18 7C 04 00 00 */ cmpw r4, r0
/* 80382EBC 0037EB1C 40 81 00 10 */ ble lbl_80382ECC
/* 80382EC0 0037EB20 7C C3 33 78 */ mr r3, r6
lbl_80382EC4:
/* 80382EC4 0037EB24 7C 03 28 40 */ cmplw r3, r5
/* 80382EC8 0037EB28 40 82 FF E4 */ bne lbl_80382EAC
lbl_80382ECC:
/* 80382ECC 0037EB2C 90 61 00 08 */ stw r3, 8(r1)
/* 80382ED0 0037EB30 7F A5 EB 78 */ mr r5, r29
/* 80382ED4 0037EB34 38 7B 00 04 */ addi r3, r27, 4
/* 80382ED8 0037EB38 38 81 00 08 */ addi r4, r1, 8
/* 80382EDC 0037EB3C 4B FD FD 6D */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 80382EE0 0037EB40 7F C3 F3 78 */ mr r3, r30
/* 80382EE4 0037EB44 4B EE B8 A1 */ bl OSRestoreInterrupts
/* 80382EE8 0037EB48 3B DB 00 08 */ addi r30, r27, 8
/* 80382EEC 0037EB4C 48 00 00 24 */ b lbl_80382F10
lbl_80382EF0:
/* 80382EF0 0037EB50 80 1D FF 90 */ lwz r0, -0x70(r29)
/* 80382EF4 0037EB54 38 7D FE DC */ addi r3, r29, -292
/* 80382EF8 0037EB58 2C 00 00 01 */ cmpwi r0, 1
/* 80382EFC 0037EB5C 40 81 00 1C */ ble lbl_80382F18
/* 80382F00 0037EB60 2C 00 00 FF */ cmpwi r0, 0xff
/* 80382F04 0037EB64 41 82 00 08 */ beq lbl_80382F0C
/* 80382F08 0037EB68 4B FF E5 F9 */ bl UpdateVoicesPriority__Q44nw4r3snd6detail5VoiceFv
lbl_80382F0C:
/* 80382F0C 0037EB6C 83 BD 00 00 */ lwz r29, 0(r29)
lbl_80382F10:
/* 80382F10 0037EB70 7C 1D F0 40 */ cmplw r29, r30
/* 80382F14 0037EB74 40 82 FF DC */ bne lbl_80382EF0
lbl_80382F18:
/* 80382F18 0037EB78 7F E3 FB 78 */ mr r3, r31
/* 80382F1C 0037EB7C 4B EE B8 69 */ bl OSRestoreInterrupts
/* 80382F20 0037EB80 39 61 00 30 */ addi r11, r1, 0x30
/* 80382F24 0037EB84 4B E4 42 51 */ bl _restgpr_27
/* 80382F28 0037EB88 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80382F2C 0037EB8C 7C 08 03 A6 */ mtlr r0
/* 80382F30 0037EB90 38 21 00 30 */ addi r1, r1, 0x30
/* 80382F34 0037EB94 4E 80 00 20 */ blr
.global UpdateAllVoicesSync__Q44nw4r3snd6detail12VoiceManagerFUl
UpdateAllVoicesSync__Q44nw4r3snd6detail12VoiceManagerFUl:
/* 80382F38 0037EB98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80382F3C 0037EB9C 7C 08 02 A6 */ mflr r0
/* 80382F40 0037EBA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80382F44 0037EBA4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80382F48 0037EBA8 7C 9F 23 78 */ mr r31, r4
/* 80382F4C 0037EBAC 93 C1 00 08 */ stw r30, 8(r1)
/* 80382F50 0037EBB0 7C 7E 1B 78 */ mr r30, r3
/* 80382F54 0037EBB4 4B EE B8 09 */ bl OSDisableInterrupts
/* 80382F58 0037EBB8 80 9E 00 08 */ lwz r4, 8(r30)
/* 80382F5C 0037EBBC 38 1E 00 08 */ addi r0, r30, 8
/* 80382F60 0037EBC0 48 00 00 24 */ b lbl_80382F84
lbl_80382F64:
/* 80382F64 0037EBC4 7C 86 23 78 */ mr r6, r4
/* 80382F68 0037EBC8 80 84 00 00 */ lwz r4, 0(r4)
/* 80382F6C 0037EBCC 88 A6 FF 88 */ lbz r5, -0x78(r6)
/* 80382F70 0037EBD0 2C 05 00 00 */ cmpwi r5, 0
/* 80382F74 0037EBD4 41 82 00 10 */ beq lbl_80382F84
/* 80382F78 0037EBD8 88 A6 FF 8D */ lbz r5, -0x73(r6)
/* 80382F7C 0037EBDC 7C A5 FB 78 */ or r5, r5, r31
/* 80382F80 0037EBE0 98 A6 FF 8D */ stb r5, -0x73(r6)
lbl_80382F84:
/* 80382F84 0037EBE4 7C 04 00 40 */ cmplw r4, r0
/* 80382F88 0037EBE8 40 82 FF DC */ bne lbl_80382F64
/* 80382F8C 0037EBEC 4B EE B7 F9 */ bl OSRestoreInterrupts
/* 80382F90 0037EBF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80382F94 0037EBF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80382F98 0037EBF8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80382F9C 0037EBFC 7C 08 03 A6 */ mtlr r0
/* 80382FA0 0037EC00 38 21 00 10 */ addi r1, r1, 0x10
/* 80382FA4 0037EC04 4E 80 00 20 */ blr
|