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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global GetInstance__Q44nw4r3snd6detail14AxVoiceManagerFv
GetInstance__Q44nw4r3snd6detail14AxVoiceManagerFv:
/* 8036BFA4 00367C04 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036BFA8 00367C08 7C 08 02 A6 */ mflr r0
/* 8036BFAC 00367C0C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036BFB0 00367C10 88 0D B1 E0 */ lbz r0, lbl_806404A0-_SDA_BASE_(r13)
/* 8036BFB4 00367C14 7C 00 07 75 */ extsb. r0, r0
/* 8036BFB8 00367C18 40 82 00 78 */ bne lbl_8036C030
/* 8036BFBC 00367C1C 3C C0 80 62 */ lis r6, lbl_8062194C@ha
/* 8036BFC0 00367C20 38 00 00 00 */ li r0, 0
/* 8036BFC4 00367C24 38 66 19 4C */ addi r3, r6, lbl_8062194C@l
/* 8036BFC8 00367C28 3C 80 80 37 */ lis r4, __dt__Q44nw4r3snd6detail14AxVoiceManagerFv@ha
/* 8036BFCC 00367C2C 90 03 00 04 */ stw r0, 4(r3)
/* 8036BFD0 00367C30 39 23 00 04 */ addi r9, r3, 4
/* 8036BFD4 00367C34 39 03 00 10 */ addi r8, r3, 0x10
/* 8036BFD8 00367C38 38 E3 00 1C */ addi r7, r3, 0x1c
/* 8036BFDC 00367C3C 90 03 00 08 */ stw r0, 8(r3)
/* 8036BFE0 00367C40 3C A0 80 62 */ lis r5, lbl_80621940@ha
/* 8036BFE4 00367C44 38 84 C0 48 */ addi r4, r4, __dt__Q44nw4r3snd6detail14AxVoiceManagerFv@l
/* 8036BFE8 00367C48 90 03 00 10 */ stw r0, 0x10(r3)
/* 8036BFEC 00367C4C 38 A5 19 40 */ addi r5, r5, lbl_80621940@l
/* 8036BFF0 00367C50 90 03 00 14 */ stw r0, 0x14(r3)
/* 8036BFF4 00367C54 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8036BFF8 00367C58 90 03 00 20 */ stw r0, 0x20(r3)
/* 8036BFFC 00367C5C 90 06 19 4C */ stw r0, 0x194c(r6)
/* 8036C000 00367C60 91 23 00 04 */ stw r9, 4(r3)
/* 8036C004 00367C64 91 23 00 08 */ stw r9, 8(r3)
/* 8036C008 00367C68 90 03 00 0C */ stw r0, 0xc(r3)
/* 8036C00C 00367C6C 91 03 00 10 */ stw r8, 0x10(r3)
/* 8036C010 00367C70 91 03 00 14 */ stw r8, 0x14(r3)
/* 8036C014 00367C74 90 03 00 18 */ stw r0, 0x18(r3)
/* 8036C018 00367C78 90 E3 00 1C */ stw r7, 0x1c(r3)
/* 8036C01C 00367C7C 90 E3 00 20 */ stw r7, 0x20(r3)
/* 8036C020 00367C80 98 03 00 24 */ stb r0, 0x24(r3)
/* 8036C024 00367C84 4B E5 AC 25 */ bl __register_global_object_tmp
/* 8036C028 00367C88 38 00 00 01 */ li r0, 1
/* 8036C02C 00367C8C 98 0D B1 E0 */ stb r0, lbl_806404A0-_SDA_BASE_(r13)
lbl_8036C030:
/* 8036C030 00367C90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036C034 00367C94 3C 60 80 62 */ lis r3, lbl_8062194C@ha
/* 8036C038 00367C98 38 63 19 4C */ addi r3, r3, lbl_8062194C@l
/* 8036C03C 00367C9C 7C 08 03 A6 */ mtlr r0
/* 8036C040 00367CA0 38 21 00 10 */ addi r1, r1, 0x10
/* 8036C044 00367CA4 4E 80 00 20 */ blr
.global __dt__Q44nw4r3snd6detail14AxVoiceManagerFv
__dt__Q44nw4r3snd6detail14AxVoiceManagerFv:
/* 8036C048 00367CA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036C04C 00367CAC 7C 08 02 A6 */ mflr r0
/* 8036C050 00367CB0 2C 03 00 00 */ cmpwi r3, 0
/* 8036C054 00367CB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036C058 00367CB8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036C05C 00367CBC 7C 9F 23 78 */ mr r31, r4
/* 8036C060 00367CC0 93 C1 00 08 */ stw r30, 8(r1)
/* 8036C064 00367CC4 7C 7E 1B 78 */ mr r30, r3
/* 8036C068 00367CC8 41 82 00 48 */ beq lbl_8036C0B0
/* 8036C06C 00367CCC 34 63 00 18 */ addic. r3, r3, 0x18
/* 8036C070 00367CD0 41 82 00 0C */ beq lbl_8036C07C
/* 8036C074 00367CD4 38 80 00 00 */ li r4, 0
/* 8036C078 00367CD8 4B FF 6A C1 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_8036C07C:
/* 8036C07C 00367CDC 34 7E 00 0C */ addic. r3, r30, 0xc
/* 8036C080 00367CE0 41 82 00 0C */ beq lbl_8036C08C
/* 8036C084 00367CE4 38 80 00 00 */ li r4, 0
/* 8036C088 00367CE8 4B FF 6A B1 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_8036C08C:
/* 8036C08C 00367CEC 2C 1E 00 00 */ cmpwi r30, 0
/* 8036C090 00367CF0 41 82 00 10 */ beq lbl_8036C0A0
/* 8036C094 00367CF4 7F C3 F3 78 */ mr r3, r30
/* 8036C098 00367CF8 38 80 00 00 */ li r4, 0
/* 8036C09C 00367CFC 4B FF 6A 9D */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_8036C0A0:
/* 8036C0A0 00367D00 2C 1F 00 00 */ cmpwi r31, 0
/* 8036C0A4 00367D04 40 81 00 0C */ ble lbl_8036C0B0
/* 8036C0A8 00367D08 7F C3 F3 78 */ mr r3, r30
/* 8036C0AC 00367D0C 4B E6 EA 0D */ bl func_801DAAB8
lbl_8036C0B0:
/* 8036C0B0 00367D10 7F C3 F3 78 */ mr r3, r30
/* 8036C0B4 00367D14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8036C0B8 00367D18 83 C1 00 08 */ lwz r30, 8(r1)
/* 8036C0BC 00367D1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036C0C0 00367D20 7C 08 03 A6 */ mtlr r0
/* 8036C0C4 00367D24 38 21 00 10 */ addi r1, r1, 0x10
/* 8036C0C8 00367D28 4E 80 00 20 */ blr
.global GetRequiredMemSize__Q44nw4r3snd6detail14AxVoiceManagerFv
GetRequiredMemSize__Q44nw4r3snd6detail14AxVoiceManagerFv:
/* 8036C0CC 00367D2C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036C0D0 00367D30 7C 08 02 A6 */ mflr r0
/* 8036C0D4 00367D34 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036C0D8 00367D38 4B F2 62 45 */ bl func_8029231C
/* 8036C0DC 00367D3C 38 03 00 10 */ addi r0, r3, 0x10
/* 8036C0E0 00367D40 1C 60 00 48 */ mulli r3, r0, 0x48
/* 8036C0E4 00367D44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036C0E8 00367D48 7C 08 03 A6 */ mtlr r0
/* 8036C0EC 00367D4C 38 21 00 10 */ addi r1, r1, 0x10
/* 8036C0F0 00367D50 4E 80 00 20 */ blr
.global Setup__Q44nw4r3snd6detail14AxVoiceManagerFPvUl
Setup__Q44nw4r3snd6detail14AxVoiceManagerFPvUl:
/* 8036C0F4 00367D54 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036C0F8 00367D58 7C 08 02 A6 */ mflr r0
/* 8036C0FC 00367D5C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8036C100 00367D60 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8036C104 00367D64 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8036C108 00367D68 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8036C10C 00367D6C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8036C110 00367D70 7C 7C 1B 78 */ mr r28, r3
/* 8036C114 00367D74 88 03 00 24 */ lbz r0, 0x24(r3)
/* 8036C118 00367D78 2C 00 00 00 */ cmpwi r0, 0
/* 8036C11C 00367D7C 40 82 00 5C */ bne lbl_8036C178
/* 8036C120 00367D80 3C C0 38 E4 */ lis r6, 0x38E38E39@ha
/* 8036C124 00367D84 7C 9E 23 78 */ mr r30, r4
/* 8036C128 00367D88 38 06 8E 39 */ addi r0, r6, 0x38E38E39@l
/* 8036C12C 00367D8C 3B A0 00 00 */ li r29, 0
/* 8036C130 00367D90 7C 00 28 16 */ mulhwu r0, r0, r5
/* 8036C134 00367D94 54 00 E1 3F */ rlwinm. r0, r0, 0x1c, 4, 0x1f
/* 8036C138 00367D98 90 03 00 28 */ stw r0, 0x28(r3)
/* 8036C13C 00367D9C 41 82 00 34 */ beq lbl_8036C170
/* 8036C140 00367DA0 3B E3 00 10 */ addi r31, r3, 0x10
/* 8036C144 00367DA4 48 00 00 20 */ b lbl_8036C164
lbl_8036C148:
/* 8036C148 00367DA8 93 E1 00 08 */ stw r31, 8(r1)
/* 8036C14C 00367DAC 38 7C 00 0C */ addi r3, r28, 0xc
/* 8036C150 00367DB0 38 81 00 08 */ addi r4, r1, 8
/* 8036C154 00367DB4 38 BE 00 40 */ addi r5, r30, 0x40
/* 8036C158 00367DB8 4B FF 6A F1 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 8036C15C 00367DBC 3B DE 00 48 */ addi r30, r30, 0x48
/* 8036C160 00367DC0 3B BD 00 01 */ addi r29, r29, 1
lbl_8036C164:
/* 8036C164 00367DC4 80 1C 00 28 */ lwz r0, 0x28(r28)
/* 8036C168 00367DC8 7C 1D 00 40 */ cmplw r29, r0
/* 8036C16C 00367DCC 41 80 FF DC */ blt lbl_8036C148
lbl_8036C170:
/* 8036C170 00367DD0 38 00 00 01 */ li r0, 1
/* 8036C174 00367DD4 98 1C 00 24 */ stb r0, 0x24(r28)
lbl_8036C178:
/* 8036C178 00367DD8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8036C17C 00367DDC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8036C180 00367DE0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8036C184 00367DE4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8036C188 00367DE8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8036C18C 00367DEC 7C 08 03 A6 */ mtlr r0
/* 8036C190 00367DF0 38 21 00 20 */ addi r1, r1, 0x20
/* 8036C194 00367DF4 4E 80 00 20 */ blr
.global AcquireAxVoice__Q44nw4r3snd6detail14AxVoiceManagerFUlPFPQ44nw4r3snd6detail7AxVoiceQ54nw4r3snd6detail7AxVoice21AxVoiceCallbackStatusPv_vPv
AcquireAxVoice__Q44nw4r3snd6detail14AxVoiceManagerFUlPFPQ44nw4r3snd6detail7AxVoiceQ54nw4r3snd6detail7AxVoice21AxVoiceCallbackStatusPv_vPv:
/* 8036C198 00367DF8 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8036C19C 00367DFC 7C 08 02 A6 */ mflr r0
/* 8036C1A0 00367E00 90 01 00 64 */ stw r0, 0x64(r1)
/* 8036C1A4 00367E04 39 61 00 60 */ addi r11, r1, 0x60
/* 8036C1A8 00367E08 4B E5 AF 55 */ bl _savegpr_16
/* 8036C1AC 00367E0C 7C 75 1B 78 */ mr r21, r3
/* 8036C1B0 00367E10 7C 96 23 78 */ mr r22, r4
/* 8036C1B4 00367E14 7C B7 2B 78 */ mr r23, r5
/* 8036C1B8 00367E18 7C D8 33 78 */ mr r24, r6
/* 8036C1BC 00367E1C 4B F0 25 A1 */ bl OSDisableInterrupts
/* 8036C1C0 00367E20 7C 74 1B 78 */ mr r20, r3
/* 8036C1C4 00367E24 4B F0 25 99 */ bl OSDisableInterrupts
/* 8036C1C8 00367E28 80 15 00 18 */ lwz r0, 0x18(r21)
/* 8036C1CC 00367E2C 7C 73 1B 78 */ mr r19, r3
/* 8036C1D0 00367E30 2C 00 00 00 */ cmpwi r0, 0
/* 8036C1D4 00367E34 41 82 01 48 */ beq lbl_8036C31C
/* 8036C1D8 00367E38 3F 60 80 62 */ lis r27, lbl_8062194C@ha
/* 8036C1DC 00367E3C 3B 80 00 00 */ li r28, 0
/* 8036C1E0 00367E40 3B 5B 19 4C */ addi r26, r27, lbl_8062194C@l
/* 8036C1E4 00367E44 3F A0 80 37 */ lis r29, 0x8037
/* 8036C1E8 00367E48 3F C0 80 62 */ lis r30, 0x8062
/* 8036C1EC 00367E4C 3B E0 00 01 */ li r31, 1
/* 8036C1F0 00367E50 3A 1A 00 10 */ addi r16, r26, 0x10
/* 8036C1F4 00367E54 48 00 01 1C */ b lbl_8036C310
lbl_8036C1F8:
/* 8036C1F8 00367E58 80 75 00 1C */ lwz r3, 0x1c(r21)
/* 8036C1FC 00367E5C 81 83 FF F8 */ lwz r12, -8(r3)
/* 8036C200 00367E60 3B 23 FF C0 */ addi r25, r3, -64
/* 8036C204 00367E64 2C 0C 00 00 */ cmpwi r12, 0
/* 8036C208 00367E68 41 82 00 18 */ beq lbl_8036C220
/* 8036C20C 00367E6C 7F 23 CB 78 */ mr r3, r25
/* 8036C210 00367E70 80 B9 00 3C */ lwz r5, 0x3c(r25)
/* 8036C214 00367E74 38 80 00 01 */ li r4, 1
/* 8036C218 00367E78 7D 89 03 A6 */ mtctr r12
/* 8036C21C 00367E7C 4E 80 04 21 */ bctrl
lbl_8036C220:
/* 8036C220 00367E80 88 0D B1 E0 */ lbz r0, lbl_806404A0-_SDA_BASE_(r13)
/* 8036C224 00367E84 7C 00 07 75 */ extsb. r0, r0
/* 8036C228 00367E88 40 82 00 64 */ bne lbl_8036C28C
/* 8036C22C 00367E8C 93 9A 00 04 */ stw r28, 4(r26)
/* 8036C230 00367E90 38 DA 00 04 */ addi r6, r26, 4
/* 8036C234 00367E94 38 FA 00 10 */ addi r7, r26, 0x10
/* 8036C238 00367E98 39 1A 00 1C */ addi r8, r26, 0x1c
/* 8036C23C 00367E9C 93 9A 00 08 */ stw r28, 8(r26)
/* 8036C240 00367EA0 7F 43 D3 78 */ mr r3, r26
/* 8036C244 00367EA4 38 9D C0 48 */ addi r4, r29, -16312
/* 8036C248 00367EA8 38 BE 19 40 */ addi r5, r30, 0x1940
/* 8036C24C 00367EAC 93 9A 00 10 */ stw r28, 0x10(r26)
/* 8036C250 00367EB0 93 9A 00 14 */ stw r28, 0x14(r26)
/* 8036C254 00367EB4 93 9A 00 1C */ stw r28, 0x1c(r26)
/* 8036C258 00367EB8 93 9A 00 20 */ stw r28, 0x20(r26)
/* 8036C25C 00367EBC 93 9B 19 4C */ stw r28, 0x194c(r27)
/* 8036C260 00367EC0 90 DA 00 04 */ stw r6, 4(r26)
/* 8036C264 00367EC4 90 DA 00 08 */ stw r6, 8(r26)
/* 8036C268 00367EC8 93 9A 00 0C */ stw r28, 0xc(r26)
/* 8036C26C 00367ECC 90 FA 00 10 */ stw r7, 0x10(r26)
/* 8036C270 00367ED0 90 FA 00 14 */ stw r7, 0x14(r26)
/* 8036C274 00367ED4 93 9A 00 18 */ stw r28, 0x18(r26)
/* 8036C278 00367ED8 91 1A 00 1C */ stw r8, 0x1c(r26)
/* 8036C27C 00367EDC 91 1A 00 20 */ stw r8, 0x20(r26)
/* 8036C280 00367EE0 9B 9A 00 24 */ stb r28, 0x24(r26)
/* 8036C284 00367EE4 4B E5 A9 C5 */ bl __register_global_object_tmp
/* 8036C288 00367EE8 9B ED B1 E0 */ stb r31, lbl_806404A0-_SDA_BASE_(r13)
lbl_8036C28C:
/* 8036C28C 00367EEC 4B F0 24 D1 */ bl OSDisableInterrupts
/* 8036C290 00367EF0 80 19 00 00 */ lwz r0, 0(r25)
/* 8036C294 00367EF4 7C 72 1B 78 */ mr r18, r3
/* 8036C298 00367EF8 2C 00 00 00 */ cmpwi r0, 0
/* 8036C29C 00367EFC 41 82 00 0C */ beq lbl_8036C2A8
/* 8036C2A0 00367F00 7C 03 03 78 */ mr r3, r0
/* 8036C2A4 00367F04 4B F2 30 11 */ bl func_8028F2B4
lbl_8036C2A8:
/* 8036C2A8 00367F08 7F 23 CB 78 */ mr r3, r25
/* 8036C2AC 00367F0C 38 80 FF FF */ li r4, -1
/* 8036C2B0 00367F10 4B FF D3 C9 */ bl __dt__Q44nw4r3snd6detail7AxVoiceFv
/* 8036C2B4 00367F14 4B F0 24 A9 */ bl OSDisableInterrupts
/* 8036C2B8 00367F18 88 19 00 1D */ lbz r0, 0x1d(r25)
/* 8036C2BC 00367F1C 7C 71 1B 78 */ mr r17, r3
/* 8036C2C0 00367F20 2C 00 00 00 */ cmpwi r0, 0
/* 8036C2C4 00367F24 41 82 00 18 */ beq lbl_8036C2DC
/* 8036C2C8 00367F28 3B 39 00 40 */ addi r25, r25, 0x40
/* 8036C2CC 00367F2C 38 7A 00 18 */ addi r3, r26, 0x18
/* 8036C2D0 00367F30 7F 24 CB 78 */ mr r4, r25
/* 8036C2D4 00367F34 4B FF 69 A1 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
/* 8036C2D8 00367F38 48 00 00 14 */ b lbl_8036C2EC
lbl_8036C2DC:
/* 8036C2DC 00367F3C 3B 39 00 40 */ addi r25, r25, 0x40
/* 8036C2E0 00367F40 7F 43 D3 78 */ mr r3, r26
/* 8036C2E4 00367F44 7F 24 CB 78 */ mr r4, r25
/* 8036C2E8 00367F48 4B FF 69 8D */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
lbl_8036C2EC:
/* 8036C2EC 00367F4C 92 01 00 08 */ stw r16, 8(r1)
/* 8036C2F0 00367F50 7F 25 CB 78 */ mr r5, r25
/* 8036C2F4 00367F54 38 7A 00 0C */ addi r3, r26, 0xc
/* 8036C2F8 00367F58 38 81 00 08 */ addi r4, r1, 8
/* 8036C2FC 00367F5C 4B FF 69 4D */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 8036C300 00367F60 7E 23 8B 78 */ mr r3, r17
/* 8036C304 00367F64 4B F0 24 81 */ bl OSRestoreInterrupts
/* 8036C308 00367F68 7E 43 93 78 */ mr r3, r18
/* 8036C30C 00367F6C 4B F0 24 79 */ bl OSRestoreInterrupts
lbl_8036C310:
/* 8036C310 00367F70 80 15 00 18 */ lwz r0, 0x18(r21)
/* 8036C314 00367F74 2C 00 00 00 */ cmpwi r0, 0
/* 8036C318 00367F78 40 82 FE E0 */ bne lbl_8036C1F8
lbl_8036C31C:
/* 8036C31C 00367F7C 80 15 00 0C */ lwz r0, 0xc(r21)
/* 8036C320 00367F80 2C 00 00 00 */ cmpwi r0, 0
/* 8036C324 00367F84 40 82 00 14 */ bne lbl_8036C338
/* 8036C328 00367F88 7E 63 9B 78 */ mr r3, r19
/* 8036C32C 00367F8C 4B F0 24 59 */ bl OSRestoreInterrupts
/* 8036C330 00367F90 3A 20 00 00 */ li r17, 0
/* 8036C334 00367F94 48 00 00 54 */ b lbl_8036C388
lbl_8036C338:
/* 8036C338 00367F98 80 B5 00 10 */ lwz r5, 0x10(r21)
/* 8036C33C 00367F9C 38 75 00 0C */ addi r3, r21, 0xc
/* 8036C340 00367FA0 38 81 00 0C */ addi r4, r1, 0xc
/* 8036C344 00367FA4 90 A1 00 0C */ stw r5, 0xc(r1)
/* 8036C348 00367FA8 3A 05 FF C0 */ addi r16, r5, -64
/* 8036C34C 00367FAC 4B FF 68 71 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 8036C350 00367FB0 2C 10 00 00 */ cmpwi r16, 0
/* 8036C354 00367FB4 7E 11 83 78 */ mr r17, r16
/* 8036C358 00367FB8 41 82 00 10 */ beq lbl_8036C368
/* 8036C35C 00367FBC 7E 03 83 78 */ mr r3, r16
/* 8036C360 00367FC0 4B FF D2 D5 */ bl __ct__Q44nw4r3snd6detail7AxVoiceFv
/* 8036C364 00367FC4 7C 71 1B 78 */ mr r17, r3
lbl_8036C368:
/* 8036C368 00367FC8 38 15 00 04 */ addi r0, r21, 4
/* 8036C36C 00367FCC 7E A3 AB 78 */ mr r3, r21
/* 8036C370 00367FD0 90 01 00 10 */ stw r0, 0x10(r1)
/* 8036C374 00367FD4 38 81 00 10 */ addi r4, r1, 0x10
/* 8036C378 00367FD8 38 B0 00 40 */ addi r5, r16, 0x40
/* 8036C37C 00367FDC 4B FF 68 CD */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 8036C380 00367FE0 7E 63 9B 78 */ mr r3, r19
/* 8036C384 00367FE4 4B F0 24 01 */ bl OSRestoreInterrupts
lbl_8036C388:
/* 8036C388 00367FE8 2C 11 00 00 */ cmpwi r17, 0
/* 8036C38C 00367FEC 40 82 00 14 */ bne lbl_8036C3A0
/* 8036C390 00367FF0 7E 83 A3 78 */ mr r3, r20
/* 8036C394 00367FF4 4B F0 23 F1 */ bl OSRestoreInterrupts
/* 8036C398 00367FF8 38 60 00 00 */ li r3, 0
/* 8036C39C 00367FFC 48 00 00 50 */ b lbl_8036C3EC
lbl_8036C3A0:
/* 8036C3A0 00368000 3C 80 80 37 */ lis r4, VoiceCallback__Q44nw4r3snd6detail7AxVoiceFPv@ha
/* 8036C3A4 00368004 7E C3 B3 78 */ mr r3, r22
/* 8036C3A8 00368008 7E 25 8B 78 */ mr r5, r17
/* 8036C3AC 0036800C 38 84 9F B4 */ addi r4, r4, VoiceCallback__Q44nw4r3snd6detail7AxVoiceFPv@l
/* 8036C3B0 00368010 4B F2 2F 81 */ bl func_8028F330
/* 8036C3B4 00368014 2C 03 00 00 */ cmpwi r3, 0
/* 8036C3B8 00368018 7C 64 1B 78 */ mr r4, r3
/* 8036C3BC 0036801C 40 82 00 14 */ bne lbl_8036C3D0
/* 8036C3C0 00368020 7E 83 A3 78 */ mr r3, r20
/* 8036C3C4 00368024 4B F0 23 C1 */ bl OSRestoreInterrupts
/* 8036C3C8 00368028 38 60 00 00 */ li r3, 0
/* 8036C3CC 0036802C 48 00 00 20 */ b lbl_8036C3EC
lbl_8036C3D0:
/* 8036C3D0 00368030 7E 23 8B 78 */ mr r3, r17
/* 8036C3D4 00368034 4B FF F4 DD */ bl Set__Q44nw4r3snd6detail17AxVoiceParamBlockFP6_AXVPB
/* 8036C3D8 00368038 92 F1 00 38 */ stw r23, 0x38(r17)
/* 8036C3DC 0036803C 7E 83 A3 78 */ mr r3, r20
/* 8036C3E0 00368040 93 11 00 3C */ stw r24, 0x3c(r17)
/* 8036C3E4 00368044 4B F0 23 A1 */ bl OSRestoreInterrupts
/* 8036C3E8 00368048 7E 23 8B 78 */ mr r3, r17
lbl_8036C3EC:
/* 8036C3EC 0036804C 39 61 00 60 */ addi r11, r1, 0x60
/* 8036C3F0 00368050 4B E5 AD 59 */ bl func_801C7148
/* 8036C3F4 00368054 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8036C3F8 00368058 7C 08 03 A6 */ mtlr r0
/* 8036C3FC 0036805C 38 21 00 60 */ addi r1, r1, 0x60
/* 8036C400 00368060 4E 80 00 20 */ blr
.global FreeAxVoice__Q44nw4r3snd6detail14AxVoiceManagerFPQ44nw4r3snd6detail7AxVoice
FreeAxVoice__Q44nw4r3snd6detail14AxVoiceManagerFPQ44nw4r3snd6detail7AxVoice:
/* 8036C404 00368064 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036C408 00368068 7C 08 02 A6 */ mflr r0
/* 8036C40C 0036806C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8036C410 00368070 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8036C414 00368074 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8036C418 00368078 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8036C41C 0036807C 7C 9D 23 78 */ mr r29, r4
/* 8036C420 00368080 93 81 00 10 */ stw r28, 0x10(r1)
/* 8036C424 00368084 7C 7C 1B 78 */ mr r28, r3
/* 8036C428 00368088 4B F0 23 35 */ bl OSDisableInterrupts
/* 8036C42C 0036808C 80 1D 00 00 */ lwz r0, 0(r29)
/* 8036C430 00368090 7C 7F 1B 78 */ mr r31, r3
/* 8036C434 00368094 2C 00 00 00 */ cmpwi r0, 0
/* 8036C438 00368098 41 82 00 0C */ beq lbl_8036C444
/* 8036C43C 0036809C 7C 03 03 78 */ mr r3, r0
/* 8036C440 003680A0 4B F2 2E 75 */ bl func_8028F2B4
lbl_8036C444:
/* 8036C444 003680A4 7F A3 EB 78 */ mr r3, r29
/* 8036C448 003680A8 38 80 FF FF */ li r4, -1
/* 8036C44C 003680AC 4B FF D2 2D */ bl __dt__Q44nw4r3snd6detail7AxVoiceFv
/* 8036C450 003680B0 4B F0 23 0D */ bl OSDisableInterrupts
/* 8036C454 003680B4 88 1D 00 1D */ lbz r0, 0x1d(r29)
/* 8036C458 003680B8 7C 7E 1B 78 */ mr r30, r3
/* 8036C45C 003680BC 2C 00 00 00 */ cmpwi r0, 0
/* 8036C460 003680C0 41 82 00 18 */ beq lbl_8036C478
/* 8036C464 003680C4 3B BD 00 40 */ addi r29, r29, 0x40
/* 8036C468 003680C8 38 7C 00 18 */ addi r3, r28, 0x18
/* 8036C46C 003680CC 7F A4 EB 78 */ mr r4, r29
/* 8036C470 003680D0 4B FF 68 05 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
/* 8036C474 003680D4 48 00 00 14 */ b lbl_8036C488
lbl_8036C478:
/* 8036C478 003680D8 3B BD 00 40 */ addi r29, r29, 0x40
/* 8036C47C 003680DC 7F 83 E3 78 */ mr r3, r28
/* 8036C480 003680E0 7F A4 EB 78 */ mr r4, r29
/* 8036C484 003680E4 4B FF 67 F1 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
lbl_8036C488:
/* 8036C488 003680E8 38 1C 00 10 */ addi r0, r28, 0x10
/* 8036C48C 003680EC 7F A5 EB 78 */ mr r5, r29
/* 8036C490 003680F0 90 01 00 08 */ stw r0, 8(r1)
/* 8036C494 003680F4 38 7C 00 0C */ addi r3, r28, 0xc
/* 8036C498 003680F8 38 81 00 08 */ addi r4, r1, 8
/* 8036C49C 003680FC 4B FF 67 AD */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 8036C4A0 00368100 7F C3 F3 78 */ mr r3, r30
/* 8036C4A4 00368104 4B F0 22 E1 */ bl OSRestoreInterrupts
/* 8036C4A8 00368108 7F E3 FB 78 */ mr r3, r31
/* 8036C4AC 0036810C 4B F0 22 D9 */ bl OSRestoreInterrupts
/* 8036C4B0 00368110 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8036C4B4 00368114 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8036C4B8 00368118 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8036C4BC 0036811C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8036C4C0 00368120 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8036C4C4 00368124 7C 08 03 A6 */ mtlr r0
/* 8036C4C8 00368128 38 21 00 20 */ addi r1, r1, 0x20
/* 8036C4CC 0036812C 4E 80 00 20 */ blr
.global ReserveForFreeAxVoice__Q44nw4r3snd6detail14AxVoiceManagerFPQ44nw4r3snd6detail7AxVoice
ReserveForFreeAxVoice__Q44nw4r3snd6detail14AxVoiceManagerFPQ44nw4r3snd6detail7AxVoice:
/* 8036C4D0 00368130 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036C4D4 00368134 7C 08 02 A6 */ mflr r0
/* 8036C4D8 00368138 90 01 00 24 */ stw r0, 0x24(r1)
/* 8036C4DC 0036813C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8036C4E0 00368140 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8036C4E4 00368144 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8036C4E8 00368148 7C 9D 23 78 */ mr r29, r4
/* 8036C4EC 0036814C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8036C4F0 00368150 7C 7C 1B 78 */ mr r28, r3
/* 8036C4F4 00368154 4B F0 22 69 */ bl OSDisableInterrupts
/* 8036C4F8 00368158 38 00 00 01 */ li r0, 1
/* 8036C4FC 0036815C 7C 7F 1B 78 */ mr r31, r3
/* 8036C500 00368160 98 1D 00 1D */ stb r0, 0x1d(r29)
/* 8036C504 00368164 4B F0 22 59 */ bl OSDisableInterrupts
/* 8036C508 00368168 3B BD 00 40 */ addi r29, r29, 0x40
/* 8036C50C 0036816C 7C 7E 1B 78 */ mr r30, r3
/* 8036C510 00368170 7F 83 E3 78 */ mr r3, r28
/* 8036C514 00368174 7F A4 EB 78 */ mr r4, r29
/* 8036C518 00368178 4B FF 67 5D */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
/* 8036C51C 0036817C 38 1C 00 1C */ addi r0, r28, 0x1c
/* 8036C520 00368180 7F A5 EB 78 */ mr r5, r29
/* 8036C524 00368184 90 01 00 08 */ stw r0, 8(r1)
/* 8036C528 00368188 38 7C 00 18 */ addi r3, r28, 0x18
/* 8036C52C 0036818C 38 81 00 08 */ addi r4, r1, 8
/* 8036C530 00368190 4B FF 67 19 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 8036C534 00368194 7F C3 F3 78 */ mr r3, r30
/* 8036C538 00368198 4B F0 22 4D */ bl OSRestoreInterrupts
/* 8036C53C 0036819C 7F E3 FB 78 */ mr r3, r31
/* 8036C540 003681A0 4B F0 22 45 */ bl OSRestoreInterrupts
/* 8036C544 003681A4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8036C548 003681A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8036C54C 003681AC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8036C550 003681B0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8036C554 003681B4 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8036C558 003681B8 7C 08 03 A6 */ mtlr r0
/* 8036C55C 003681BC 38 21 00 20 */ addi r1, r1, 0x20
/* 8036C560 003681C0 4E 80 00 20 */ blr
.global FreeAllReservedAxVoice__Q44nw4r3snd6detail14AxVoiceManagerFv
FreeAllReservedAxVoice__Q44nw4r3snd6detail14AxVoiceManagerFv:
/* 8036C564 003681C4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8036C568 003681C8 7C 08 02 A6 */ mflr r0
/* 8036C56C 003681CC 90 01 00 44 */ stw r0, 0x44(r1)
/* 8036C570 003681D0 39 61 00 40 */ addi r11, r1, 0x40
/* 8036C574 003681D4 4B E5 AB 9D */ bl _savegpr_21
/* 8036C578 003681D8 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8036C57C 003681DC 7C 7F 1B 78 */ mr r31, r3
/* 8036C580 003681E0 2C 00 00 00 */ cmpwi r0, 0
/* 8036C584 003681E4 41 82 01 48 */ beq lbl_8036C6CC
/* 8036C588 003681E8 3E E0 80 62 */ lis r23, lbl_8062194C@ha
/* 8036C58C 003681EC 3B 00 00 00 */ li r24, 0
/* 8036C590 003681F0 3A D7 19 4C */ addi r22, r23, lbl_8062194C@l
/* 8036C594 003681F4 3F 20 80 37 */ lis r25, 0x8037
/* 8036C598 003681F8 3F 40 80 62 */ lis r26, 0x8062
/* 8036C59C 003681FC 3B 60 00 01 */ li r27, 1
/* 8036C5A0 00368200 3B 96 00 10 */ addi r28, r22, 0x10
/* 8036C5A4 00368204 48 00 01 1C */ b lbl_8036C6C0
lbl_8036C5A8:
/* 8036C5A8 00368208 80 7F 00 1C */ lwz r3, 0x1c(r31)
/* 8036C5AC 0036820C 81 83 FF F8 */ lwz r12, -8(r3)
/* 8036C5B0 00368210 3A A3 FF C0 */ addi r21, r3, -64
/* 8036C5B4 00368214 2C 0C 00 00 */ cmpwi r12, 0
/* 8036C5B8 00368218 41 82 00 18 */ beq lbl_8036C5D0
/* 8036C5BC 0036821C 7E A3 AB 78 */ mr r3, r21
/* 8036C5C0 00368220 80 B5 00 3C */ lwz r5, 0x3c(r21)
/* 8036C5C4 00368224 38 80 00 01 */ li r4, 1
/* 8036C5C8 00368228 7D 89 03 A6 */ mtctr r12
/* 8036C5CC 0036822C 4E 80 04 21 */ bctrl
lbl_8036C5D0:
/* 8036C5D0 00368230 88 0D B1 E0 */ lbz r0, lbl_806404A0-_SDA_BASE_(r13)
/* 8036C5D4 00368234 7C 00 07 75 */ extsb. r0, r0
/* 8036C5D8 00368238 40 82 00 64 */ bne lbl_8036C63C
/* 8036C5DC 0036823C 93 16 00 04 */ stw r24, 4(r22)
/* 8036C5E0 00368240 38 D6 00 04 */ addi r6, r22, 4
/* 8036C5E4 00368244 38 F6 00 10 */ addi r7, r22, 0x10
/* 8036C5E8 00368248 39 16 00 1C */ addi r8, r22, 0x1c
/* 8036C5EC 0036824C 93 16 00 08 */ stw r24, 8(r22)
/* 8036C5F0 00368250 7E C3 B3 78 */ mr r3, r22
/* 8036C5F4 00368254 38 99 C0 48 */ addi r4, r25, -16312
/* 8036C5F8 00368258 38 BA 19 40 */ addi r5, r26, 0x1940
/* 8036C5FC 0036825C 93 16 00 10 */ stw r24, 0x10(r22)
/* 8036C600 00368260 93 16 00 14 */ stw r24, 0x14(r22)
/* 8036C604 00368264 93 16 00 1C */ stw r24, 0x1c(r22)
/* 8036C608 00368268 93 16 00 20 */ stw r24, 0x20(r22)
/* 8036C60C 0036826C 93 17 19 4C */ stw r24, 0x194c(r23)
/* 8036C610 00368270 90 D6 00 04 */ stw r6, 4(r22)
/* 8036C614 00368274 90 D6 00 08 */ stw r6, 8(r22)
/* 8036C618 00368278 93 16 00 0C */ stw r24, 0xc(r22)
/* 8036C61C 0036827C 90 F6 00 10 */ stw r7, 0x10(r22)
/* 8036C620 00368280 90 F6 00 14 */ stw r7, 0x14(r22)
/* 8036C624 00368284 93 16 00 18 */ stw r24, 0x18(r22)
/* 8036C628 00368288 91 16 00 1C */ stw r8, 0x1c(r22)
/* 8036C62C 0036828C 91 16 00 20 */ stw r8, 0x20(r22)
/* 8036C630 00368290 9B 16 00 24 */ stb r24, 0x24(r22)
/* 8036C634 00368294 4B E5 A6 15 */ bl __register_global_object_tmp
/* 8036C638 00368298 9B 6D B1 E0 */ stb r27, lbl_806404A0-_SDA_BASE_(r13)
lbl_8036C63C:
/* 8036C63C 0036829C 4B F0 21 21 */ bl OSDisableInterrupts
/* 8036C640 003682A0 80 15 00 00 */ lwz r0, 0(r21)
/* 8036C644 003682A4 7C 7E 1B 78 */ mr r30, r3
/* 8036C648 003682A8 2C 00 00 00 */ cmpwi r0, 0
/* 8036C64C 003682AC 41 82 00 0C */ beq lbl_8036C658
/* 8036C650 003682B0 7C 03 03 78 */ mr r3, r0
/* 8036C654 003682B4 4B F2 2C 61 */ bl func_8028F2B4
lbl_8036C658:
/* 8036C658 003682B8 7E A3 AB 78 */ mr r3, r21
/* 8036C65C 003682BC 38 80 FF FF */ li r4, -1
/* 8036C660 003682C0 4B FF D0 19 */ bl __dt__Q44nw4r3snd6detail7AxVoiceFv
/* 8036C664 003682C4 4B F0 20 F9 */ bl OSDisableInterrupts
/* 8036C668 003682C8 88 15 00 1D */ lbz r0, 0x1d(r21)
/* 8036C66C 003682CC 7C 7D 1B 78 */ mr r29, r3
/* 8036C670 003682D0 2C 00 00 00 */ cmpwi r0, 0
/* 8036C674 003682D4 41 82 00 18 */ beq lbl_8036C68C
/* 8036C678 003682D8 3A B5 00 40 */ addi r21, r21, 0x40
/* 8036C67C 003682DC 38 76 00 18 */ addi r3, r22, 0x18
/* 8036C680 003682E0 7E A4 AB 78 */ mr r4, r21
/* 8036C684 003682E4 4B FF 65 F1 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
/* 8036C688 003682E8 48 00 00 14 */ b lbl_8036C69C
lbl_8036C68C:
/* 8036C68C 003682EC 3A B5 00 40 */ addi r21, r21, 0x40
/* 8036C690 003682F0 7E C3 B3 78 */ mr r3, r22
/* 8036C694 003682F4 7E A4 AB 78 */ mr r4, r21
/* 8036C698 003682F8 4B FF 65 DD */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
lbl_8036C69C:
/* 8036C69C 003682FC 93 81 00 08 */ stw r28, 8(r1)
/* 8036C6A0 00368300 7E A5 AB 78 */ mr r5, r21
/* 8036C6A4 00368304 38 76 00 0C */ addi r3, r22, 0xc
/* 8036C6A8 00368308 38 81 00 08 */ addi r4, r1, 8
/* 8036C6AC 0036830C 4B FF 65 9D */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 8036C6B0 00368310 7F A3 EB 78 */ mr r3, r29
/* 8036C6B4 00368314 4B F0 20 D1 */ bl OSRestoreInterrupts
/* 8036C6B8 00368318 7F C3 F3 78 */ mr r3, r30
/* 8036C6BC 0036831C 4B F0 20 C9 */ bl OSRestoreInterrupts
lbl_8036C6C0:
/* 8036C6C0 00368320 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 8036C6C4 00368324 2C 00 00 00 */ cmpwi r0, 0
/* 8036C6C8 00368328 40 82 FE E0 */ bne lbl_8036C5A8
lbl_8036C6CC:
/* 8036C6CC 0036832C 39 61 00 40 */ addi r11, r1, 0x40
/* 8036C6D0 00368330 4B E5 AA 8D */ bl func_801C715C
/* 8036C6D4 00368334 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8036C6D8 00368338 7C 08 03 A6 */ mtlr r0
/* 8036C6DC 0036833C 38 21 00 40 */ addi r1, r1, 0x40
/* 8036C6E0 00368340 4E 80 00 20 */ blr
|