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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __ct__Q34nw4r3snd12SoundArchiveFv
__ct__Q34nw4r3snd12SoundArchiveFv:
/* 80376F8C 00372BEC 3C A0 80 45 */ lis r5, lbl_8044CE48@ha
/* 80376F90 00372BF0 38 80 00 00 */ li r4, 0
/* 80376F94 00372BF4 38 A5 CE 48 */ addi r5, r5, lbl_8044CE48@l
/* 80376F98 00372BF8 38 00 00 2F */ li r0, 0x2f
/* 80376F9C 00372BFC 90 A3 00 00 */ stw r5, 0(r3)
/* 80376FA0 00372C00 90 83 00 04 */ stw r4, 4(r3)
/* 80376FA4 00372C04 98 03 00 08 */ stb r0, 8(r3)
/* 80376FA8 00372C08 98 83 00 09 */ stb r4, 9(r3)
/* 80376FAC 00372C0C 4E 80 00 20 */ blr
.global __dt__Q34nw4r3snd12SoundArchiveFv
__dt__Q34nw4r3snd12SoundArchiveFv:
/* 80376FB0 00372C10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80376FB4 00372C14 7C 08 02 A6 */ mflr r0
/* 80376FB8 00372C18 2C 03 00 00 */ cmpwi r3, 0
/* 80376FBC 00372C1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80376FC0 00372C20 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80376FC4 00372C24 7C 7F 1B 78 */ mr r31, r3
/* 80376FC8 00372C28 41 82 00 10 */ beq lbl_80376FD8
/* 80376FCC 00372C2C 2C 04 00 00 */ cmpwi r4, 0
/* 80376FD0 00372C30 40 81 00 08 */ ble lbl_80376FD8
/* 80376FD4 00372C34 4B E6 3A E5 */ bl __dl__FPv
lbl_80376FD8:
/* 80376FD8 00372C38 7F E3 FB 78 */ mr r3, r31
/* 80376FDC 00372C3C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80376FE0 00372C40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80376FE4 00372C44 7C 08 03 A6 */ mtlr r0
/* 80376FE8 00372C48 38 21 00 10 */ addi r1, r1, 0x10
/* 80376FEC 00372C4C 4E 80 00 20 */ blr
.global IsAvailable__Q34nw4r3snd12SoundArchiveCFv
IsAvailable__Q34nw4r3snd12SoundArchiveCFv:
/* 80376FF0 00372C50 80 63 00 04 */ lwz r3, 4(r3)
/* 80376FF4 00372C54 7C 03 00 D0 */ neg r0, r3
/* 80376FF8 00372C58 7C 00 1B 78 */ or r0, r0, r3
/* 80376FFC 00372C5C 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80377000 00372C60 4E 80 00 20 */ blr
.global Setup__Q34nw4r3snd12SoundArchiveFPQ44nw4r3snd6detail22SoundArchiveFileReader
Setup__Q34nw4r3snd12SoundArchiveFPQ44nw4r3snd6detail22SoundArchiveFileReader:
/* 80377004 00372C64 90 83 00 04 */ stw r4, 4(r3)
/* 80377008 00372C68 4E 80 00 20 */ blr
.global Shutdown__Q34nw4r3snd12SoundArchiveFv
Shutdown__Q34nw4r3snd12SoundArchiveFv:
/* 8037700C 00372C6C 38 80 00 00 */ li r4, 0
/* 80377010 00372C70 38 00 00 2F */ li r0, 0x2f
/* 80377014 00372C74 90 83 00 04 */ stw r4, 4(r3)
/* 80377018 00372C78 98 03 00 08 */ stb r0, 8(r3)
/* 8037701C 00372C7C 98 83 00 09 */ stb r4, 9(r3)
/* 80377020 00372C80 4E 80 00 20 */ blr
.global func_80377024
func_80377024:
/* 80377024 00372C84 80 63 00 04 */ lwz r3, 4(r3)
/* 80377028 00372C88 48 00 0E 08 */ b GetSoundCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv
.global func_8037702C
func_8037702C:
/* 8037702C 00372C8C 80 63 00 04 */ lwz r3, 4(r3)
/* 80377030 00372C90 48 00 0E 40 */ b GetPlayerCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv
.global func_80377034
func_80377034:
/* 80377034 00372C94 80 63 00 04 */ lwz r3, 4(r3)
/* 80377038 00372C98 48 00 0E 78 */ b GetGroupCount__Q44nw4r3snd6detail22SoundArchiveFileReaderCFv
.global ConvertLabelStringToSoundId__Q34nw4r3snd12SoundArchiveCFPCc
ConvertLabelStringToSoundId__Q34nw4r3snd12SoundArchiveCFPCc:
/* 8037703C 00372C9C 80 63 00 04 */ lwz r3, 4(r3)
/* 80377040 00372CA0 7C 85 23 78 */ mr r5, r4
/* 80377044 00372CA4 80 83 00 34 */ lwz r4, 0x34(r3)
/* 80377048 00372CA8 48 00 10 CC */ b ConvertLabelStringToId__Q44nw4r3snd6detail22SoundArchiveFileReaderCFPCQ54nw4r3snd6detail16SoundArchiveFile10StringTreePCc
.global func_8037704C
func_8037704C:
/* 8037704C 00372CAC 80 63 00 04 */ lwz r3, 4(r3)
/* 80377050 00372CB0 48 00 06 0C */ b GetSoundType__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUl
.global func_80377054
func_80377054:
/* 80377054 00372CB4 80 63 00 04 */ lwz r3, 4(r3)
/* 80377058 00372CB8 48 00 06 F4 */ b ReadSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9SoundInfo
.global func_8037705C
func_8037705C:
/* 8037705C 00372CBC 80 63 00 04 */ lwz r3, 4(r3)
/* 80377060 00372CC0 48 00 08 0C */ b ReadSeqSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive12SeqSoundInfo
.global func_80377064
func_80377064:
/* 80377064 00372CC4 80 63 00 04 */ lwz r3, 4(r3)
/* 80377068 00372CC8 48 00 08 B0 */ b ReadStrmSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive13StrmSoundInfo
.global func_8037706C
func_8037706C:
/* 8037706C 00372CCC 80 63 00 04 */ lwz r3, 4(r3)
/* 80377070 00372CD0 48 00 08 F4 */ b ReadWaveSoundInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive13WaveSoundInfo
.global func_80377074
func_80377074:
/* 80377074 00372CD4 80 63 00 04 */ lwz r3, 4(r3)
/* 80377078 00372CD8 48 00 0A 34 */ b ReadPlayerInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive10PlayerInfo
.global func_8037707C
func_8037707C:
/* 8037707C 00372CDC 80 63 00 04 */ lwz r3, 4(r3)
/* 80377080 00372CE0 48 00 0D 2C */ b ReadSoundArchivePlayerInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFPQ44nw4r3snd12SoundArchive22SoundArchivePlayerInfo
.global func_80377084
func_80377084:
/* 80377084 00372CE4 80 63 00 04 */ lwz r3, 4(r3)
/* 80377088 00372CE8 48 00 09 78 */ b ReadBankInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8BankInfo
.global func_8037708C
func_8037708C:
/* 8037708C 00372CEC 80 63 00 04 */ lwz r3, 4(r3)
/* 80377090 00372CF0 48 00 0A D4 */ b ReadGroupInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9GroupInfo
.global func_80377094
func_80377094:
/* 80377094 00372CF4 80 63 00 04 */ lwz r3, 4(r3)
/* 80377098 00372CF8 48 00 0B DC */ b ReadGroupItemInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive13GroupItemInfo
.global func_8037709C
func_8037709C:
/* 8037709C 00372CFC 80 63 00 04 */ lwz r3, 4(r3)
/* 803770A0 00372D00 48 00 0E 54 */ b ReadFileInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8FileInfo
.global func_803770A4
func_803770A4:
/* 803770A4 00372D04 80 63 00 04 */ lwz r3, 4(r3)
/* 803770A8 00372D08 48 00 0F 4C */ b ReadFilePos__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive7FilePos
.global detail_OpenFileStream__Q34nw4r3snd12SoundArchiveCFUlPvi
detail_OpenFileStream__Q34nw4r3snd12SoundArchiveCFUlPvi:
/* 803770AC 00372D0C 94 21 FD 90 */ stwu r1, -0x270(r1)
/* 803770B0 00372D10 7C 08 02 A6 */ mflr r0
/* 803770B4 00372D14 90 01 02 74 */ stw r0, 0x274(r1)
/* 803770B8 00372D18 39 61 02 70 */ addi r11, r1, 0x270
/* 803770BC 00372D1C 4B E5 00 65 */ bl _savegpr_25
/* 803770C0 00372D20 7C 7D 1B 78 */ mr r29, r3
/* 803770C4 00372D24 80 63 00 04 */ lwz r3, 4(r3)
/* 803770C8 00372D28 7C BE 2B 78 */ mr r30, r5
/* 803770CC 00372D2C 7C 99 23 78 */ mr r25, r4
/* 803770D0 00372D30 7C DF 33 78 */ mr r31, r6
/* 803770D4 00372D34 38 A1 00 10 */ addi r5, r1, 0x10
/* 803770D8 00372D38 48 00 0E 1D */ bl ReadFileInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive8FileInfo
/* 803770DC 00372D3C 2C 03 00 00 */ cmpwi r3, 0
/* 803770E0 00372D40 40 82 00 0C */ bne lbl_803770EC
/* 803770E4 00372D44 38 60 00 00 */ li r3, 0
/* 803770E8 00372D48 48 00 01 D0 */ b lbl_803772B8
lbl_803770EC:
/* 803770EC 00372D4C 83 61 00 18 */ lwz r27, 0x18(r1)
/* 803770F0 00372D50 2C 1B 00 00 */ cmpwi r27, 0
/* 803770F4 00372D54 41 82 00 90 */ beq lbl_80377184
/* 803770F8 00372D58 88 1B 00 00 */ lbz r0, 0(r27)
/* 803770FC 00372D5C 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80377100 00372D60 40 82 00 08 */ bne lbl_80377108
/* 80377104 00372D64 48 00 00 54 */ b lbl_80377158
lbl_80377108:
/* 80377108 00372D68 7F 63 DB 78 */ mr r3, r27
/* 8037710C 00372D6C 4B E4 FA 59 */ bl strlen
/* 80377110 00372D70 7C 7C 1B 78 */ mr r28, r3
/* 80377114 00372D74 38 7D 00 08 */ addi r3, r29, 8
/* 80377118 00372D78 4B E4 FA 4D */ bl strlen
/* 8037711C 00372D7C 7C 1C 1A 14 */ add r0, r28, r3
/* 80377120 00372D80 7C 65 1B 78 */ mr r5, r3
/* 80377124 00372D84 28 00 01 00 */ cmplwi r0, 0x100
/* 80377128 00372D88 41 80 00 0C */ blt lbl_80377134
/* 8037712C 00372D8C 38 60 00 00 */ li r3, 0
/* 80377130 00372D90 48 00 01 88 */ b lbl_803772B8
lbl_80377134:
/* 80377134 00372D94 38 61 01 50 */ addi r3, r1, 0x150
/* 80377138 00372D98 38 9D 00 08 */ addi r4, r29, 8
/* 8037713C 00372D9C 38 A5 00 01 */ addi r5, r5, 1
/* 80377140 00372DA0 4B E5 72 51 */ bl strncpy
/* 80377144 00372DA4 7F 64 DB 78 */ mr r4, r27
/* 80377148 00372DA8 38 61 01 50 */ addi r3, r1, 0x150
/* 8037714C 00372DAC 38 BC 00 01 */ addi r5, r28, 1
/* 80377150 00372DB0 4B E5 72 B1 */ bl strncat
/* 80377154 00372DB4 3B 61 01 50 */ addi r27, r1, 0x150
lbl_80377158:
/* 80377158 00372DB8 81 9D 00 00 */ lwz r12, 0(r29)
/* 8037715C 00372DBC 7F A3 EB 78 */ mr r3, r29
/* 80377160 00372DC0 7F C4 F3 78 */ mr r4, r30
/* 80377164 00372DC4 7F E5 FB 78 */ mr r5, r31
/* 80377168 00372DC8 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8037716C 00372DCC 7F 66 DB 78 */ mr r6, r27
/* 80377170 00372DD0 38 E0 00 00 */ li r7, 0
/* 80377174 00372DD4 39 00 00 00 */ li r8, 0
/* 80377178 00372DD8 7D 89 03 A6 */ mtctr r12
/* 8037717C 00372DDC 4E 80 04 21 */ bctrl
/* 80377180 00372DE0 48 00 01 38 */ b lbl_803772B8
lbl_80377184:
/* 80377184 00372DE4 80 7D 00 04 */ lwz r3, 4(r29)
/* 80377188 00372DE8 7F 24 CB 78 */ mr r4, r25
/* 8037718C 00372DEC 38 C1 00 08 */ addi r6, r1, 8
/* 80377190 00372DF0 38 A0 00 00 */ li r5, 0
/* 80377194 00372DF4 48 00 0E 61 */ bl ReadFilePos__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive7FilePos
/* 80377198 00372DF8 2C 03 00 00 */ cmpwi r3, 0
/* 8037719C 00372DFC 40 82 00 0C */ bne lbl_803771A8
/* 803771A0 00372E00 38 60 00 00 */ li r3, 0
/* 803771A4 00372E04 48 00 01 14 */ b lbl_803772B8
lbl_803771A8:
/* 803771A8 00372E08 80 7D 00 04 */ lwz r3, 4(r29)
/* 803771AC 00372E0C 38 A1 00 38 */ addi r5, r1, 0x38
/* 803771B0 00372E10 80 81 00 08 */ lwz r4, 8(r1)
/* 803771B4 00372E14 48 00 09 B1 */ bl ReadGroupInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9GroupInfo
/* 803771B8 00372E18 2C 03 00 00 */ cmpwi r3, 0
/* 803771BC 00372E1C 40 82 00 0C */ bne lbl_803771C8
/* 803771C0 00372E20 38 60 00 00 */ li r3, 0
/* 803771C4 00372E24 48 00 00 F4 */ b lbl_803772B8
lbl_803771C8:
/* 803771C8 00372E28 80 7D 00 04 */ lwz r3, 4(r29)
/* 803771CC 00372E2C 38 C1 00 20 */ addi r6, r1, 0x20
/* 803771D0 00372E30 80 81 00 08 */ lwz r4, 8(r1)
/* 803771D4 00372E34 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 803771D8 00372E38 48 00 0A 9D */ bl ReadGroupItemInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlUlPQ44nw4r3snd12SoundArchive13GroupItemInfo
/* 803771DC 00372E3C 2C 03 00 00 */ cmpwi r3, 0
/* 803771E0 00372E40 40 82 00 0C */ bne lbl_803771EC
/* 803771E4 00372E44 38 60 00 00 */ li r3, 0
/* 803771E8 00372E48 48 00 00 D0 */ b lbl_803772B8
lbl_803771EC:
/* 803771EC 00372E4C 83 61 00 3C */ lwz r27, 0x3c(r1)
/* 803771F0 00372E50 80 61 00 40 */ lwz r3, 0x40(r1)
/* 803771F4 00372E54 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803771F8 00372E58 2C 1B 00 00 */ cmpwi r27, 0
/* 803771FC 00372E5C 83 21 00 28 */ lwz r25, 0x28(r1)
/* 80377200 00372E60 7F 43 02 14 */ add r26, r3, r0
/* 80377204 00372E64 41 82 00 90 */ beq lbl_80377294
/* 80377208 00372E68 88 1B 00 00 */ lbz r0, 0(r27)
/* 8037720C 00372E6C 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80377210 00372E70 40 82 00 08 */ bne lbl_80377218
/* 80377214 00372E74 48 00 00 54 */ b lbl_80377268
lbl_80377218:
/* 80377218 00372E78 7F 63 DB 78 */ mr r3, r27
/* 8037721C 00372E7C 4B E4 F9 49 */ bl strlen
/* 80377220 00372E80 7C 7C 1B 78 */ mr r28, r3
/* 80377224 00372E84 38 7D 00 08 */ addi r3, r29, 8
/* 80377228 00372E88 4B E4 F9 3D */ bl strlen
/* 8037722C 00372E8C 7C 1C 1A 14 */ add r0, r28, r3
/* 80377230 00372E90 7C 65 1B 78 */ mr r5, r3
/* 80377234 00372E94 28 00 01 00 */ cmplwi r0, 0x100
/* 80377238 00372E98 41 80 00 0C */ blt lbl_80377244
/* 8037723C 00372E9C 38 60 00 00 */ li r3, 0
/* 80377240 00372EA0 48 00 00 78 */ b lbl_803772B8
lbl_80377244:
/* 80377244 00372EA4 38 61 00 50 */ addi r3, r1, 0x50
/* 80377248 00372EA8 38 9D 00 08 */ addi r4, r29, 8
/* 8037724C 00372EAC 38 A5 00 01 */ addi r5, r5, 1
/* 80377250 00372EB0 4B E5 71 41 */ bl strncpy
/* 80377254 00372EB4 7F 64 DB 78 */ mr r4, r27
/* 80377258 00372EB8 38 61 00 50 */ addi r3, r1, 0x50
/* 8037725C 00372EBC 38 BC 00 01 */ addi r5, r28, 1
/* 80377260 00372EC0 4B E5 71 A1 */ bl strncat
/* 80377264 00372EC4 3B 61 00 50 */ addi r27, r1, 0x50
lbl_80377268:
/* 80377268 00372EC8 81 9D 00 00 */ lwz r12, 0(r29)
/* 8037726C 00372ECC 7F A3 EB 78 */ mr r3, r29
/* 80377270 00372ED0 7F C4 F3 78 */ mr r4, r30
/* 80377274 00372ED4 7F E5 FB 78 */ mr r5, r31
/* 80377278 00372ED8 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8037727C 00372EDC 7F 66 DB 78 */ mr r6, r27
/* 80377280 00372EE0 7F 47 D3 78 */ mr r7, r26
/* 80377284 00372EE4 7F 28 CB 78 */ mr r8, r25
/* 80377288 00372EE8 7D 89 03 A6 */ mtctr r12
/* 8037728C 00372EEC 4E 80 04 21 */ bctrl
/* 80377290 00372EF0 48 00 00 28 */ b lbl_803772B8
lbl_80377294:
/* 80377294 00372EF4 81 9D 00 00 */ lwz r12, 0(r29)
/* 80377298 00372EF8 7F A3 EB 78 */ mr r3, r29
/* 8037729C 00372EFC 7F C4 F3 78 */ mr r4, r30
/* 803772A0 00372F00 7F E5 FB 78 */ mr r5, r31
/* 803772A4 00372F04 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 803772A8 00372F08 7F 46 D3 78 */ mr r6, r26
/* 803772AC 00372F0C 7F 27 CB 78 */ mr r7, r25
/* 803772B0 00372F10 7D 89 03 A6 */ mtctr r12
/* 803772B4 00372F14 4E 80 04 21 */ bctrl
lbl_803772B8:
/* 803772B8 00372F18 39 61 02 70 */ addi r11, r1, 0x270
/* 803772BC 00372F1C 4B E4 FE B1 */ bl _restgpr_25
/* 803772C0 00372F20 80 01 02 74 */ lwz r0, 0x274(r1)
/* 803772C4 00372F24 7C 08 03 A6 */ mtlr r0
/* 803772C8 00372F28 38 21 02 70 */ addi r1, r1, 0x270
/* 803772CC 00372F2C 4E 80 00 20 */ blr
.global detail_OpenGroupStream__Q34nw4r3snd12SoundArchiveCFUlPvi
detail_OpenGroupStream__Q34nw4r3snd12SoundArchiveCFUlPvi:
/* 803772D0 00372F30 94 21 FE C0 */ stwu r1, -0x140(r1)
/* 803772D4 00372F34 7C 08 02 A6 */ mflr r0
/* 803772D8 00372F38 90 01 01 44 */ stw r0, 0x144(r1)
/* 803772DC 00372F3C 39 61 01 40 */ addi r11, r1, 0x140
/* 803772E0 00372F40 4B E4 FE 41 */ bl _savegpr_25
/* 803772E4 00372F44 7C 79 1B 78 */ mr r25, r3
/* 803772E8 00372F48 80 63 00 04 */ lwz r3, 4(r3)
/* 803772EC 00372F4C 7C BA 2B 78 */ mr r26, r5
/* 803772F0 00372F50 7C DB 33 78 */ mr r27, r6
/* 803772F4 00372F54 38 A1 00 08 */ addi r5, r1, 8
/* 803772F8 00372F58 48 00 08 6D */ bl ReadGroupInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9GroupInfo
/* 803772FC 00372F5C 2C 03 00 00 */ cmpwi r3, 0
/* 80377300 00372F60 40 82 00 0C */ bne lbl_8037730C
/* 80377304 00372F64 38 60 00 00 */ li r3, 0
/* 80377308 00372F68 48 00 00 C8 */ b lbl_803773D0
lbl_8037730C:
/* 8037730C 00372F6C 83 81 00 0C */ lwz r28, 0xc(r1)
/* 80377310 00372F70 2C 1C 00 00 */ cmpwi r28, 0
/* 80377314 00372F74 41 82 00 98 */ beq lbl_803773AC
/* 80377318 00372F78 88 1C 00 00 */ lbz r0, 0(r28)
/* 8037731C 00372F7C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80377320 00372F80 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80377324 00372F84 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80377328 00372F88 40 82 00 08 */ bne lbl_80377330
/* 8037732C 00372F8C 48 00 00 54 */ b lbl_80377380
lbl_80377330:
/* 80377330 00372F90 7F 83 E3 78 */ mr r3, r28
/* 80377334 00372F94 4B E4 F8 31 */ bl strlen
/* 80377338 00372F98 7C 7F 1B 78 */ mr r31, r3
/* 8037733C 00372F9C 38 79 00 08 */ addi r3, r25, 8
/* 80377340 00372FA0 4B E4 F8 25 */ bl strlen
/* 80377344 00372FA4 7C 1F 1A 14 */ add r0, r31, r3
/* 80377348 00372FA8 7C 65 1B 78 */ mr r5, r3
/* 8037734C 00372FAC 28 00 01 00 */ cmplwi r0, 0x100
/* 80377350 00372FB0 41 80 00 0C */ blt lbl_8037735C
/* 80377354 00372FB4 38 60 00 00 */ li r3, 0
/* 80377358 00372FB8 48 00 00 78 */ b lbl_803773D0
lbl_8037735C:
/* 8037735C 00372FBC 38 61 00 20 */ addi r3, r1, 0x20
/* 80377360 00372FC0 38 99 00 08 */ addi r4, r25, 8
/* 80377364 00372FC4 38 A5 00 01 */ addi r5, r5, 1
/* 80377368 00372FC8 4B E5 70 29 */ bl strncpy
/* 8037736C 00372FCC 7F 84 E3 78 */ mr r4, r28
/* 80377370 00372FD0 38 61 00 20 */ addi r3, r1, 0x20
/* 80377374 00372FD4 38 BF 00 01 */ addi r5, r31, 1
/* 80377378 00372FD8 4B E5 70 89 */ bl strncat
/* 8037737C 00372FDC 3B 81 00 20 */ addi r28, r1, 0x20
lbl_80377380:
/* 80377380 00372FE0 81 99 00 00 */ lwz r12, 0(r25)
/* 80377384 00372FE4 7F 23 CB 78 */ mr r3, r25
/* 80377388 00372FE8 7F 44 D3 78 */ mr r4, r26
/* 8037738C 00372FEC 7F 65 DB 78 */ mr r5, r27
/* 80377390 00372FF0 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80377394 00372FF4 7F 86 E3 78 */ mr r6, r28
/* 80377398 00372FF8 7F C7 F3 78 */ mr r7, r30
/* 8037739C 00372FFC 7F A8 EB 78 */ mr r8, r29
/* 803773A0 00373000 7D 89 03 A6 */ mtctr r12
/* 803773A4 00373004 4E 80 04 21 */ bctrl
/* 803773A8 00373008 48 00 00 28 */ b lbl_803773D0
lbl_803773AC:
/* 803773AC 0037300C 81 99 00 00 */ lwz r12, 0(r25)
/* 803773B0 00373010 7F 23 CB 78 */ mr r3, r25
/* 803773B4 00373014 7F 44 D3 78 */ mr r4, r26
/* 803773B8 00373018 7F 65 DB 78 */ mr r5, r27
/* 803773BC 0037301C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 803773C0 00373020 80 C1 00 10 */ lwz r6, 0x10(r1)
/* 803773C4 00373024 80 E1 00 14 */ lwz r7, 0x14(r1)
/* 803773C8 00373028 7D 89 03 A6 */ mtctr r12
/* 803773CC 0037302C 4E 80 04 21 */ bctrl
lbl_803773D0:
/* 803773D0 00373030 39 61 01 40 */ addi r11, r1, 0x140
/* 803773D4 00373034 4B E4 FD 99 */ bl _restgpr_25
/* 803773D8 00373038 80 01 01 44 */ lwz r0, 0x144(r1)
/* 803773DC 0037303C 7C 08 03 A6 */ mtlr r0
/* 803773E0 00373040 38 21 01 40 */ addi r1, r1, 0x140
/* 803773E4 00373044 4E 80 00 20 */ blr
.global detail_OpenGroupWaveDataStream__Q34nw4r3snd12SoundArchiveCFUlPvi
detail_OpenGroupWaveDataStream__Q34nw4r3snd12SoundArchiveCFUlPvi:
/* 803773E8 00373048 94 21 FE C0 */ stwu r1, -0x140(r1)
/* 803773EC 0037304C 7C 08 02 A6 */ mflr r0
/* 803773F0 00373050 90 01 01 44 */ stw r0, 0x144(r1)
/* 803773F4 00373054 39 61 01 40 */ addi r11, r1, 0x140
/* 803773F8 00373058 4B E4 FD 29 */ bl _savegpr_25
/* 803773FC 0037305C 7C 79 1B 78 */ mr r25, r3
/* 80377400 00373060 80 63 00 04 */ lwz r3, 4(r3)
/* 80377404 00373064 7C BA 2B 78 */ mr r26, r5
/* 80377408 00373068 7C DB 33 78 */ mr r27, r6
/* 8037740C 0037306C 38 A1 00 08 */ addi r5, r1, 8
/* 80377410 00373070 48 00 07 55 */ bl ReadGroupInfo__Q44nw4r3snd6detail22SoundArchiveFileReaderCFUlPQ44nw4r3snd12SoundArchive9GroupInfo
/* 80377414 00373074 2C 03 00 00 */ cmpwi r3, 0
/* 80377418 00373078 40 82 00 0C */ bne lbl_80377424
/* 8037741C 0037307C 38 60 00 00 */ li r3, 0
/* 80377420 00373080 48 00 00 C8 */ b lbl_803774E8
lbl_80377424:
/* 80377424 00373084 83 81 00 0C */ lwz r28, 0xc(r1)
/* 80377428 00373088 2C 1C 00 00 */ cmpwi r28, 0
/* 8037742C 0037308C 41 82 00 98 */ beq lbl_803774C4
/* 80377430 00373090 88 1C 00 00 */ lbz r0, 0(r28)
/* 80377434 00373094 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 80377438 00373098 2C 00 00 2F */ cmpwi r0, 0x2f
/* 8037743C 0037309C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80377440 003730A0 40 82 00 08 */ bne lbl_80377448
/* 80377444 003730A4 48 00 00 54 */ b lbl_80377498
lbl_80377448:
/* 80377448 003730A8 7F 83 E3 78 */ mr r3, r28
/* 8037744C 003730AC 4B E4 F7 19 */ bl strlen
/* 80377450 003730B0 7C 7F 1B 78 */ mr r31, r3
/* 80377454 003730B4 38 79 00 08 */ addi r3, r25, 8
/* 80377458 003730B8 4B E4 F7 0D */ bl strlen
/* 8037745C 003730BC 7C 1F 1A 14 */ add r0, r31, r3
/* 80377460 003730C0 7C 65 1B 78 */ mr r5, r3
/* 80377464 003730C4 28 00 01 00 */ cmplwi r0, 0x100
/* 80377468 003730C8 41 80 00 0C */ blt lbl_80377474
/* 8037746C 003730CC 38 60 00 00 */ li r3, 0
/* 80377470 003730D0 48 00 00 78 */ b lbl_803774E8
lbl_80377474:
/* 80377474 003730D4 38 61 00 20 */ addi r3, r1, 0x20
/* 80377478 003730D8 38 99 00 08 */ addi r4, r25, 8
/* 8037747C 003730DC 38 A5 00 01 */ addi r5, r5, 1
/* 80377480 003730E0 4B E5 6F 11 */ bl strncpy
/* 80377484 003730E4 7F 84 E3 78 */ mr r4, r28
/* 80377488 003730E8 38 61 00 20 */ addi r3, r1, 0x20
/* 8037748C 003730EC 38 BF 00 01 */ addi r5, r31, 1
/* 80377490 003730F0 4B E5 6F 71 */ bl strncat
/* 80377494 003730F4 3B 81 00 20 */ addi r28, r1, 0x20
lbl_80377498:
/* 80377498 003730F8 81 99 00 00 */ lwz r12, 0(r25)
/* 8037749C 003730FC 7F 23 CB 78 */ mr r3, r25
/* 803774A0 00373100 7F 44 D3 78 */ mr r4, r26
/* 803774A4 00373104 7F 65 DB 78 */ mr r5, r27
/* 803774A8 00373108 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 803774AC 0037310C 7F 86 E3 78 */ mr r6, r28
/* 803774B0 00373110 7F C7 F3 78 */ mr r7, r30
/* 803774B4 00373114 7F A8 EB 78 */ mr r8, r29
/* 803774B8 00373118 7D 89 03 A6 */ mtctr r12
/* 803774BC 0037311C 4E 80 04 21 */ bctrl
/* 803774C0 00373120 48 00 00 28 */ b lbl_803774E8
lbl_803774C4:
/* 803774C4 00373124 81 99 00 00 */ lwz r12, 0(r25)
/* 803774C8 00373128 7F 23 CB 78 */ mr r3, r25
/* 803774CC 0037312C 7F 44 D3 78 */ mr r4, r26
/* 803774D0 00373130 7F 65 DB 78 */ mr r5, r27
/* 803774D4 00373134 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 803774D8 00373138 80 C1 00 18 */ lwz r6, 0x18(r1)
/* 803774DC 0037313C 80 E1 00 1C */ lwz r7, 0x1c(r1)
/* 803774E0 00373140 7D 89 03 A6 */ mtctr r12
/* 803774E4 00373144 4E 80 04 21 */ bctrl
lbl_803774E8:
/* 803774E8 00373148 39 61 01 40 */ addi r11, r1, 0x140
/* 803774EC 0037314C 4B E4 FC 81 */ bl _restgpr_25
/* 803774F0 00373150 80 01 01 44 */ lwz r0, 0x144(r1)
/* 803774F4 00373154 7C 08 03 A6 */ mtlr r0
/* 803774F8 00373158 38 21 01 40 */ addi r1, r1, 0x140
/* 803774FC 0037315C 4E 80 00 20 */ blr
.global SetExternalFileRoot__Q34nw4r3snd12SoundArchiveFPCc
SetExternalFileRoot__Q34nw4r3snd12SoundArchiveFPCc:
/* 80377500 00373160 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80377504 00373164 7C 08 02 A6 */ mflr r0
/* 80377508 00373168 90 01 00 14 */ stw r0, 0x14(r1)
/* 8037750C 0037316C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80377510 00373170 7C 9F 23 78 */ mr r31, r4
/* 80377514 00373174 93 C1 00 08 */ stw r30, 8(r1)
/* 80377518 00373178 7C 7E 1B 78 */ mr r30, r3
/* 8037751C 0037317C 7F E3 FB 78 */ mr r3, r31
/* 80377520 00373180 4B E4 F6 45 */ bl strlen
/* 80377524 00373184 7C 9F 1A 14 */ add r4, r31, r3
/* 80377528 00373188 88 04 FF FF */ lbz r0, -1(r4)
/* 8037752C 0037318C 7C 64 1B 78 */ mr r4, r3
/* 80377530 00373190 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80377534 00373194 41 82 00 14 */ beq lbl_80377548
/* 80377538 00373198 7C 9E 1A 14 */ add r4, r30, r3
/* 8037753C 0037319C 38 00 00 2F */ li r0, 0x2f
/* 80377540 003731A0 98 04 00 08 */ stb r0, 8(r4)
/* 80377544 003731A4 38 83 00 01 */ addi r4, r3, 1
lbl_80377548:
/* 80377548 003731A8 7C 9E 22 14 */ add r4, r30, r4
/* 8037754C 003731AC 38 00 00 00 */ li r0, 0
/* 80377550 003731B0 98 04 00 08 */ stb r0, 8(r4)
/* 80377554 003731B4 7C 65 1B 78 */ mr r5, r3
/* 80377558 003731B8 7F E4 FB 78 */ mr r4, r31
/* 8037755C 003731BC 38 7E 00 08 */ addi r3, r30, 8
/* 80377560 003731C0 4B E5 6E 31 */ bl strncpy
/* 80377564 003731C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80377568 003731C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8037756C 003731CC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80377570 003731D0 7C 08 03 A6 */ mtlr r0
/* 80377574 003731D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80377578 003731D8 4E 80 00 20 */ blr
|