summaryrefslogtreecommitdiff
path: root/asm/nw4r/snd/detail/snd_StrmFile.s
blob: 20d03ccec1881d4b909a3459b5d86eac85b61353 (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
.include "macros.inc"

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

.global __ct__Q44nw4r3snd6detail14StrmFileReaderFv
__ct__Q44nw4r3snd6detail14StrmFileReaderFv:
/* 8037CCE4 00378944  38 00 00 00 */	li r0, 0
/* 8037CCE8 00378948  90 03 00 00 */	stw r0, 0(r3)
/* 8037CCEC 0037894C  90 03 00 04 */	stw r0, 4(r3)
/* 8037CCF0 00378950  4E 80 00 20 */	blr

.global ReadStrmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ44nw4r3snd6detail8StrmInfo
ReadStrmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ44nw4r3snd6detail8StrmInfo:
/* 8037CCF4 00378954  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8037CCF8 00378958  7C 08 02 A6 */	mflr r0
/* 8037CCFC 0037895C  80 63 00 04 */	lwz r3, 4(r3)
/* 8037CD00 00378960  90 01 00 14 */	stw r0, 0x14(r1)
/* 8037CD04 00378964  38 A3 00 08 */	addi r5, r3, 8
/* 8037CD08 00378968  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8037CD0C 0037896C  7C 9F 23 78 */	mr r31, r4
/* 8037CD10 00378970  88 63 00 08 */	lbz r3, 8(r3)
/* 8037CD14 00378974  80 85 00 04 */	lwz r4, 4(r5)
/* 8037CD18 00378978  48 00 66 D1 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 8037CD1C 0037897C  88 03 00 00 */	lbz r0, 0(r3)
/* 8037CD20 00378980  98 1F 00 00 */	stb r0, 0(r31)
/* 8037CD24 00378984  88 03 00 01 */	lbz r0, 1(r3)
/* 8037CD28 00378988  98 1F 00 01 */	stb r0, 1(r31)
/* 8037CD2C 0037898C  88 03 00 02 */	lbz r0, 2(r3)
/* 8037CD30 00378990  98 1F 00 02 */	stb r0, 2(r31)
/* 8037CD34 00378994  88 83 00 03 */	lbz r4, 3(r3)
/* 8037CD38 00378998  A0 03 00 04 */	lhz r0, 4(r3)
/* 8037CD3C 0037899C  54 84 80 1E */	slwi r4, r4, 0x10
/* 8037CD40 003789A0  7C 04 02 14 */	add r0, r4, r0
/* 8037CD44 003789A4  90 1F 00 04 */	stw r0, 4(r31)
/* 8037CD48 003789A8  A0 03 00 06 */	lhz r0, 6(r3)
/* 8037CD4C 003789AC  B0 1F 00 08 */	sth r0, 8(r31)
/* 8037CD50 003789B0  80 03 00 08 */	lwz r0, 8(r3)
/* 8037CD54 003789B4  90 1F 00 0C */	stw r0, 0xc(r31)
/* 8037CD58 003789B8  80 03 00 0C */	lwz r0, 0xc(r3)
/* 8037CD5C 003789BC  90 1F 00 10 */	stw r0, 0x10(r31)
/* 8037CD60 003789C0  80 03 00 10 */	lwz r0, 0x10(r3)
/* 8037CD64 003789C4  90 1F 00 14 */	stw r0, 0x14(r31)
/* 8037CD68 003789C8  80 03 00 14 */	lwz r0, 0x14(r3)
/* 8037CD6C 003789CC  90 1F 00 18 */	stw r0, 0x18(r31)
/* 8037CD70 003789D0  80 03 00 18 */	lwz r0, 0x18(r3)
/* 8037CD74 003789D4  90 1F 00 1C */	stw r0, 0x1c(r31)
/* 8037CD78 003789D8  80 03 00 1C */	lwz r0, 0x1c(r3)
/* 8037CD7C 003789DC  90 1F 00 20 */	stw r0, 0x20(r31)
/* 8037CD80 003789E0  80 03 00 20 */	lwz r0, 0x20(r3)
/* 8037CD84 003789E4  90 1F 00 24 */	stw r0, 0x24(r31)
/* 8037CD88 003789E8  80 03 00 24 */	lwz r0, 0x24(r3)
/* 8037CD8C 003789EC  90 1F 00 28 */	stw r0, 0x28(r31)
/* 8037CD90 003789F0  80 03 00 28 */	lwz r0, 0x28(r3)
/* 8037CD94 003789F4  90 1F 00 2C */	stw r0, 0x2c(r31)
/* 8037CD98 003789F8  80 03 00 2C */	lwz r0, 0x2c(r3)
/* 8037CD9C 003789FC  90 1F 00 30 */	stw r0, 0x30(r31)
/* 8037CDA0 00378A00  80 03 00 30 */	lwz r0, 0x30(r3)
/* 8037CDA4 00378A04  38 60 00 01 */	li r3, 1
/* 8037CDA8 00378A08  90 1F 00 34 */	stw r0, 0x34(r31)
/* 8037CDAC 00378A0C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8037CDB0 00378A10  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8037CDB4 00378A14  7C 08 03 A6 */	mtlr r0
/* 8037CDB8 00378A18  38 21 00 10 */	addi r1, r1, 0x10
/* 8037CDBC 00378A1C  4E 80 00 20 */	blr

.global ReadAdpcmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ44nw4r3snd6detail9AdpcmInfoi
ReadAdpcmInfo__Q44nw4r3snd6detail14StrmFileReaderCFPQ44nw4r3snd6detail9AdpcmInfoi:
/* 8037CDC0 00378A20  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8037CDC4 00378A24  7C 08 02 A6 */	mflr r0
/* 8037CDC8 00378A28  80 C3 00 04 */	lwz r6, 4(r3)
/* 8037CDCC 00378A2C  90 01 00 24 */	stw r0, 0x24(r1)
/* 8037CDD0 00378A30  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8037CDD4 00378A34  7C 9F 23 78 */	mr r31, r4
/* 8037CDD8 00378A38  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8037CDDC 00378A3C  7C BE 2B 78 */	mr r30, r5
/* 8037CDE0 00378A40  38 A6 00 08 */	addi r5, r6, 8
/* 8037CDE4 00378A44  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8037CDE8 00378A48  7C 7D 1B 78 */	mr r29, r3
/* 8037CDEC 00378A4C  88 66 00 08 */	lbz r3, 8(r6)
/* 8037CDF0 00378A50  80 86 00 0C */	lwz r4, 0xc(r6)
/* 8037CDF4 00378A54  48 00 65 F5 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 8037CDF8 00378A58  88 03 00 00 */	lbz r0, 0(r3)
/* 8037CDFC 00378A5C  28 00 00 02 */	cmplwi r0, 2
/* 8037CE00 00378A60  41 82 00 0C */	beq lbl_8037CE0C
/* 8037CE04 00378A64  38 60 00 00 */	li r3, 0
/* 8037CE08 00378A68  48 00 01 24 */	b lbl_8037CF2C
lbl_8037CE0C:
/* 8037CE0C 00378A6C  80 9D 00 04 */	lwz r4, 4(r29)
/* 8037CE10 00378A70  88 64 00 18 */	lbz r3, 0x18(r4)
/* 8037CE14 00378A74  38 A4 00 08 */	addi r5, r4, 8
/* 8037CE18 00378A78  80 84 00 1C */	lwz r4, 0x1c(r4)
/* 8037CE1C 00378A7C  48 00 65 CD */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 8037CE20 00378A80  88 03 00 00 */	lbz r0, 0(r3)
/* 8037CE24 00378A84  7C 1E 00 00 */	cmpw r30, r0
/* 8037CE28 00378A88  41 80 00 0C */	blt lbl_8037CE34
/* 8037CE2C 00378A8C  38 60 00 00 */	li r3, 0
/* 8037CE30 00378A90  48 00 00 FC */	b lbl_8037CF2C
lbl_8037CE34:
/* 8037CE34 00378A94  57 C0 18 38 */	slwi r0, r30, 3
/* 8037CE38 00378A98  80 9D 00 04 */	lwz r4, 4(r29)
/* 8037CE3C 00378A9C  7C C3 02 14 */	add r6, r3, r0
/* 8037CE40 00378AA0  38 A4 00 08 */	addi r5, r4, 8
/* 8037CE44 00378AA4  88 66 00 04 */	lbz r3, 4(r6)
/* 8037CE48 00378AA8  80 86 00 08 */	lwz r4, 8(r6)
/* 8037CE4C 00378AAC  48 00 65 9D */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 8037CE50 00378AB0  7C 64 1B 78 */	mr r4, r3
/* 8037CE54 00378AB4  80 BD 00 04 */	lwz r5, 4(r29)
/* 8037CE58 00378AB8  88 63 00 00 */	lbz r3, 0(r3)
/* 8037CE5C 00378ABC  80 84 00 04 */	lwz r4, 4(r4)
/* 8037CE60 00378AC0  38 A5 00 08 */	addi r5, r5, 8
/* 8037CE64 00378AC4  48 00 65 85 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
/* 8037CE68 00378AC8  A0 83 00 00 */	lhz r4, 0(r3)
/* 8037CE6C 00378ACC  A0 03 00 02 */	lhz r0, 2(r3)
/* 8037CE70 00378AD0  B0 9F 00 00 */	sth r4, 0(r31)
/* 8037CE74 00378AD4  B0 1F 00 02 */	sth r0, 2(r31)
/* 8037CE78 00378AD8  A0 83 00 04 */	lhz r4, 4(r3)
/* 8037CE7C 00378ADC  A0 03 00 06 */	lhz r0, 6(r3)
/* 8037CE80 00378AE0  B0 9F 00 04 */	sth r4, 4(r31)
/* 8037CE84 00378AE4  B0 1F 00 06 */	sth r0, 6(r31)
/* 8037CE88 00378AE8  A0 83 00 08 */	lhz r4, 8(r3)
/* 8037CE8C 00378AEC  A0 03 00 0A */	lhz r0, 0xa(r3)
/* 8037CE90 00378AF0  B0 9F 00 08 */	sth r4, 8(r31)
/* 8037CE94 00378AF4  B0 1F 00 0A */	sth r0, 0xa(r31)
/* 8037CE98 00378AF8  A0 83 00 0C */	lhz r4, 0xc(r3)
/* 8037CE9C 00378AFC  A0 03 00 0E */	lhz r0, 0xe(r3)
/* 8037CEA0 00378B00  B0 9F 00 0C */	sth r4, 0xc(r31)
/* 8037CEA4 00378B04  B0 1F 00 0E */	sth r0, 0xe(r31)
/* 8037CEA8 00378B08  A0 83 00 10 */	lhz r4, 0x10(r3)
/* 8037CEAC 00378B0C  A0 03 00 12 */	lhz r0, 0x12(r3)
/* 8037CEB0 00378B10  B0 9F 00 10 */	sth r4, 0x10(r31)
/* 8037CEB4 00378B14  B0 1F 00 12 */	sth r0, 0x12(r31)
/* 8037CEB8 00378B18  A0 83 00 14 */	lhz r4, 0x14(r3)
/* 8037CEBC 00378B1C  A0 03 00 16 */	lhz r0, 0x16(r3)
/* 8037CEC0 00378B20  B0 9F 00 14 */	sth r4, 0x14(r31)
/* 8037CEC4 00378B24  B0 1F 00 16 */	sth r0, 0x16(r31)
/* 8037CEC8 00378B28  A0 83 00 18 */	lhz r4, 0x18(r3)
/* 8037CECC 00378B2C  A0 03 00 1A */	lhz r0, 0x1a(r3)
/* 8037CED0 00378B30  B0 9F 00 18 */	sth r4, 0x18(r31)
/* 8037CED4 00378B34  B0 1F 00 1A */	sth r0, 0x1a(r31)
/* 8037CED8 00378B38  A0 83 00 1C */	lhz r4, 0x1c(r3)
/* 8037CEDC 00378B3C  A0 03 00 1E */	lhz r0, 0x1e(r3)
/* 8037CEE0 00378B40  B0 9F 00 1C */	sth r4, 0x1c(r31)
/* 8037CEE4 00378B44  B0 1F 00 1E */	sth r0, 0x1e(r31)
/* 8037CEE8 00378B48  A0 83 00 20 */	lhz r4, 0x20(r3)
/* 8037CEEC 00378B4C  A0 03 00 22 */	lhz r0, 0x22(r3)
/* 8037CEF0 00378B50  B0 9F 00 20 */	sth r4, 0x20(r31)
/* 8037CEF4 00378B54  B0 1F 00 22 */	sth r0, 0x22(r31)
/* 8037CEF8 00378B58  A0 83 00 24 */	lhz r4, 0x24(r3)
/* 8037CEFC 00378B5C  A0 03 00 26 */	lhz r0, 0x26(r3)
/* 8037CF00 00378B60  B0 9F 00 24 */	sth r4, 0x24(r31)
/* 8037CF04 00378B64  B0 1F 00 26 */	sth r0, 0x26(r31)
/* 8037CF08 00378B68  A0 03 00 28 */	lhz r0, 0x28(r3)
/* 8037CF0C 00378B6C  B0 1F 00 28 */	sth r0, 0x28(r31)
/* 8037CF10 00378B70  A0 03 00 2A */	lhz r0, 0x2a(r3)
/* 8037CF14 00378B74  B0 1F 00 2A */	sth r0, 0x2a(r31)
/* 8037CF18 00378B78  A0 03 00 2C */	lhz r0, 0x2c(r3)
/* 8037CF1C 00378B7C  B0 1F 00 2C */	sth r0, 0x2c(r31)
/* 8037CF20 00378B80  A0 03 00 2E */	lhz r0, 0x2e(r3)
/* 8037CF24 00378B84  38 60 00 01 */	li r3, 1
/* 8037CF28 00378B88  B0 1F 00 2E */	sth r0, 0x2e(r31)
lbl_8037CF2C:
/* 8037CF2C 00378B8C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8037CF30 00378B90  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8037CF34 00378B94  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8037CF38 00378B98  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8037CF3C 00378B9C  7C 08 03 A6 */	mtlr r0
/* 8037CF40 00378BA0  38 21 00 20 */	addi r1, r1, 0x20
/* 8037CF44 00378BA4  4E 80 00 20 */	blr

.global LoadFileHeader__Q44nw4r3snd6detail14StrmFileLoaderFPvUl
LoadFileHeader__Q44nw4r3snd6detail14StrmFileLoaderFPvUl:
/* 8037CF48 00378BA8  94 21 FF 80 */	stwu r1, -0x80(r1)
/* 8037CF4C 00378BAC  7C 08 02 A6 */	mflr r0
/* 8037CF50 00378BB0  90 01 00 84 */	stw r0, 0x84(r1)
/* 8037CF54 00378BB4  93 E1 00 7C */	stw r31, 0x7c(r1)
/* 8037CF58 00378BB8  7C 9F 23 78 */	mr r31, r4
/* 8037CF5C 00378BBC  38 80 00 00 */	li r4, 0
/* 8037CF60 00378BC0  93 C1 00 78 */	stw r30, 0x78(r1)
/* 8037CF64 00378BC4  7C 7E 1B 78 */	mr r30, r3
/* 8037CF68 00378BC8  93 A1 00 74 */	stw r29, 0x74(r1)
/* 8037CF6C 00378BCC  93 81 00 70 */	stw r28, 0x70(r1)
/* 8037CF70 00378BD0  7C BC 2B 78 */	mr r28, r5
/* 8037CF74 00378BD4  38 A0 00 00 */	li r5, 0
/* 8037CF78 00378BD8  80 63 00 00 */	lwz r3, 0(r3)
/* 8037CF7C 00378BDC  81 83 00 00 */	lwz r12, 0(r3)
/* 8037CF80 00378BE0  81 8C 00 44 */	lwz r12, 0x44(r12)
/* 8037CF84 00378BE4  7D 89 03 A6 */	mtctr r12
/* 8037CF88 00378BE8  4E 80 04 21 */	bctrl
/* 8037CF8C 00378BEC  80 7E 00 00 */	lwz r3, 0(r30)
/* 8037CF90 00378BF0  38 01 00 27 */	addi r0, r1, 0x27
/* 8037CF94 00378BF4  54 1D 00 34 */	rlwinm r29, r0, 0, 0, 0x1a
/* 8037CF98 00378BF8  38 A0 00 40 */	li r5, 0x40
/* 8037CF9C 00378BFC  81 83 00 00 */	lwz r12, 0(r3)
/* 8037CFA0 00378C00  7F A4 EB 78 */	mr r4, r29
/* 8037CFA4 00378C04  81 8C 00 14 */	lwz r12, 0x14(r12)
/* 8037CFA8 00378C08  7D 89 03 A6 */	mtctr r12
/* 8037CFAC 00378C0C  4E 80 04 21 */	bctrl
/* 8037CFB0 00378C10  28 03 00 40 */	cmplwi r3, 0x40
/* 8037CFB4 00378C14  41 82 00 0C */	beq lbl_8037CFC0
/* 8037CFB8 00378C18  38 60 00 00 */	li r3, 0
/* 8037CFBC 00378C1C  48 00 01 30 */	b lbl_8037D0EC
lbl_8037CFC0:
/* 8037CFC0 00378C20  80 7D 00 00 */	lwz r3, 0(r29)
/* 8037CFC4 00378C24  3C 03 AD AD */	addis r0, r3, 0xadad
/* 8037CFC8 00378C28  28 00 54 4D */	cmplwi r0, 0x544d
/* 8037CFCC 00378C2C  41 82 00 0C */	beq lbl_8037CFD8
/* 8037CFD0 00378C30  38 00 00 00 */	li r0, 0
/* 8037CFD4 00378C34  48 00 00 30 */	b lbl_8037D004
lbl_8037CFD8:
/* 8037CFD8 00378C38  A0 9D 00 06 */	lhz r4, 6(r29)
/* 8037CFDC 00378C3C  28 04 01 00 */	cmplwi r4, 0x100
/* 8037CFE0 00378C40  40 80 00 0C */	bge lbl_8037CFEC
/* 8037CFE4 00378C44  38 00 00 00 */	li r0, 0
/* 8037CFE8 00378C48  48 00 00 1C */	b lbl_8037D004
lbl_8037CFEC:
/* 8037CFEC 00378C4C  20 04 01 00 */	subfic r0, r4, 0x100
/* 8037CFF0 00378C50  38 60 01 00 */	li r3, 0x100
/* 8037CFF4 00378C54  7C 63 23 38 */	orc r3, r3, r4
/* 8037CFF8 00378C58  54 00 F8 7E */	srwi r0, r0, 1
/* 8037CFFC 00378C5C  7C 00 18 50 */	subf r0, r0, r3
/* 8037D000 00378C60  54 00 0F FE */	srwi r0, r0, 0x1f
lbl_8037D004:
/* 8037D004 00378C64  2C 00 00 00 */	cmpwi r0, 0
/* 8037D008 00378C68  40 82 00 0C */	bne lbl_8037D014
/* 8037D00C 00378C6C  38 60 00 00 */	li r3, 0
/* 8037D010 00378C70  48 00 00 DC */	b lbl_8037D0EC
lbl_8037D014:
/* 8037D014 00378C74  80 1D 00 18 */	lwz r0, 0x18(r29)
/* 8037D018 00378C78  7C 00 E0 40 */	cmplw r0, r28
/* 8037D01C 00378C7C  40 81 00 0C */	ble lbl_8037D028
/* 8037D020 00378C80  38 60 00 00 */	li r3, 0
/* 8037D024 00378C84  48 00 00 C8 */	b lbl_8037D0EC
lbl_8037D028:
/* 8037D028 00378C88  80 7E 00 00 */	lwz r3, 0(r30)
/* 8037D02C 00378C8C  38 80 00 00 */	li r4, 0
/* 8037D030 00378C90  80 DD 00 10 */	lwz r6, 0x10(r29)
/* 8037D034 00378C94  38 A0 00 00 */	li r5, 0
/* 8037D038 00378C98  81 83 00 00 */	lwz r12, 0(r3)
/* 8037D03C 00378C9C  80 1D 00 14 */	lwz r0, 0x14(r29)
/* 8037D040 00378CA0  81 8C 00 44 */	lwz r12, 0x44(r12)
/* 8037D044 00378CA4  7F A6 02 14 */	add r29, r6, r0
/* 8037D048 00378CA8  7D 89 03 A6 */	mtctr r12
/* 8037D04C 00378CAC  4E 80 04 21 */	bctrl
/* 8037D050 00378CB0  80 7E 00 00 */	lwz r3, 0(r30)
/* 8037D054 00378CB4  7F E4 FB 78 */	mr r4, r31
/* 8037D058 00378CB8  7F A5 EB 78 */	mr r5, r29
/* 8037D05C 00378CBC  81 83 00 00 */	lwz r12, 0(r3)
/* 8037D060 00378CC0  81 8C 00 14 */	lwz r12, 0x14(r12)
/* 8037D064 00378CC4  7D 89 03 A6 */	mtctr r12
/* 8037D068 00378CC8  4E 80 04 21 */	bctrl
/* 8037D06C 00378CCC  7C 03 E8 40 */	cmplw r3, r29
/* 8037D070 00378CD0  41 82 00 0C */	beq lbl_8037D07C
/* 8037D074 00378CD4  38 60 00 00 */	li r3, 0
/* 8037D078 00378CD8  48 00 00 74 */	b lbl_8037D0EC
lbl_8037D07C:
/* 8037D07C 00378CDC  80 7F 00 00 */	lwz r3, 0(r31)
/* 8037D080 00378CE0  3C 03 AD AD */	addis r0, r3, 0xadad
/* 8037D084 00378CE4  28 00 54 4D */	cmplwi r0, 0x544d
/* 8037D088 00378CE8  41 82 00 0C */	beq lbl_8037D094
/* 8037D08C 00378CEC  38 00 00 00 */	li r0, 0
/* 8037D090 00378CF0  48 00 00 30 */	b lbl_8037D0C0
lbl_8037D094:
/* 8037D094 00378CF4  A0 9F 00 06 */	lhz r4, 6(r31)
/* 8037D098 00378CF8  28 04 01 00 */	cmplwi r4, 0x100
/* 8037D09C 00378CFC  40 80 00 0C */	bge lbl_8037D0A8
/* 8037D0A0 00378D00  38 00 00 00 */	li r0, 0
/* 8037D0A4 00378D04  48 00 00 1C */	b lbl_8037D0C0
lbl_8037D0A8:
/* 8037D0A8 00378D08  20 04 01 00 */	subfic r0, r4, 0x100
/* 8037D0AC 00378D0C  38 60 01 00 */	li r3, 0x100
/* 8037D0B0 00378D10  7C 63 23 38 */	orc r3, r3, r4
/* 8037D0B4 00378D14  54 00 F8 7E */	srwi r0, r0, 1
/* 8037D0B8 00378D18  7C 00 18 50 */	subf r0, r0, r3
/* 8037D0BC 00378D1C  54 00 0F FE */	srwi r0, r0, 0x1f
lbl_8037D0C0:
/* 8037D0C0 00378D20  2C 00 00 00 */	cmpwi r0, 0
/* 8037D0C4 00378D24  41 82 00 24 */	beq lbl_8037D0E8
/* 8037D0C8 00378D28  93 FE 00 04 */	stw r31, 4(r30)
/* 8037D0CC 00378D2C  80 1F 00 10 */	lwz r0, 0x10(r31)
/* 8037D0D0 00378D30  7C 60 FA 14 */	add r3, r0, r31
/* 8037D0D4 00378D34  90 7E 00 08 */	stw r3, 8(r30)
/* 8037D0D8 00378D38  38 A3 00 08 */	addi r5, r3, 8
/* 8037D0DC 00378D3C  88 63 00 08 */	lbz r3, 8(r3)
/* 8037D0E0 00378D40  80 85 00 04 */	lwz r4, 4(r5)
/* 8037D0E4 00378D44  48 00 63 05 */	bl GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
lbl_8037D0E8:
/* 8037D0E8 00378D48  38 60 00 01 */	li r3, 1
lbl_8037D0EC:
/* 8037D0EC 00378D4C  80 01 00 84 */	lwz r0, 0x84(r1)
/* 8037D0F0 00378D50  83 E1 00 7C */	lwz r31, 0x7c(r1)
/* 8037D0F4 00378D54  83 C1 00 78 */	lwz r30, 0x78(r1)
/* 8037D0F8 00378D58  83 A1 00 74 */	lwz r29, 0x74(r1)
/* 8037D0FC 00378D5C  83 81 00 70 */	lwz r28, 0x70(r1)
/* 8037D100 00378D60  7C 08 03 A6 */	mtlr r0
/* 8037D104 00378D64  38 21 00 80 */	addi r1, r1, 0x80
/* 8037D108 00378D68  4E 80 00 20 */	blr

.global ReadAdpcBlockData__Q44nw4r3snd6detail14StrmFileLoaderFPUsPUsii
ReadAdpcBlockData__Q44nw4r3snd6detail14StrmFileLoaderFPUsPUsii:
/* 8037D10C 00378D6C  54 2B 06 FE */	clrlwi r11, r1, 0x1b
/* 8037D110 00378D70  7C 2C 0B 78 */	mr r12, r1
/* 8037D114 00378D74  21 6B FF A0 */	subfic r11, r11, -96
/* 8037D118 00378D78  7C 21 59 6E */	stwux r1, r1, r11
/* 8037D11C 00378D7C  7C 08 02 A6 */	mflr r0
/* 8037D120 00378D80  90 0C 00 04 */	stw r0, 4(r12)
/* 8037D124 00378D84  93 EC FF FC */	stw r31, -4(r12)
/* 8037D128 00378D88  7C FF 3B 78 */	mr r31, r7
/* 8037D12C 00378D8C  93 CC FF F8 */	stw r30, -8(r12)
/* 8037D130 00378D90  7C BE 2B 78 */	mr r30, r5
/* 8037D134 00378D94  93 AC FF F4 */	stw r29, -0xc(r12)
/* 8037D138 00378D98  7C 9D 23 78 */	mr r29, r4
/* 8037D13C 00378D9C  93 8C FF F0 */	stw r28, -0x10(r12)
/* 8037D140 00378DA0  7C 7C 1B 78 */	mr r28, r3
/* 8037D144 00378DA4  81 03 00 04 */	lwz r8, 4(r3)
/* 8037D148 00378DA8  7C 08 00 D0 */	neg r0, r8
/* 8037D14C 00378DAC  7C 00 43 78 */	or r0, r0, r8
/* 8037D150 00378DB0  54 00 0F FF */	rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 8037D154 00378DB4  40 82 00 0C */	bne lbl_8037D160
/* 8037D158 00378DB8  38 60 00 00 */	li r3, 0
/* 8037D15C 00378DBC  48 00 01 30 */	b lbl_8037D28C
lbl_8037D160:
/* 8037D160 00378DC0  41 82 00 0C */	beq lbl_8037D16C
/* 8037D164 00378DC4  80 88 00 18 */	lwz r4, 0x18(r8)
/* 8037D168 00378DC8  48 00 00 08 */	b lbl_8037D170
lbl_8037D16C:
/* 8037D16C 00378DCC  38 80 00 00 */	li r4, 0
lbl_8037D170:
/* 8037D170 00378DD0  7C 06 39 D6 */	mullw r0, r6, r7
/* 8037D174 00378DD4  80 63 00 00 */	lwz r3, 0(r3)
/* 8037D178 00378DD8  38 A0 00 00 */	li r5, 0
/* 8037D17C 00378DDC  81 83 00 00 */	lwz r12, 0(r3)
/* 8037D180 00378DE0  81 8C 00 44 */	lwz r12, 0x44(r12)
/* 8037D184 00378DE4  54 00 10 3A */	slwi r0, r0, 2
/* 8037D188 00378DE8  7C 84 02 14 */	add r4, r4, r0
/* 8037D18C 00378DEC  38 84 00 08 */	addi r4, r4, 8
/* 8037D190 00378DF0  7D 89 03 A6 */	mtctr r12
/* 8037D194 00378DF4  4E 80 04 21 */	bctrl
/* 8037D198 00378DF8  80 7C 00 00 */	lwz r3, 0(r28)
/* 8037D19C 00378DFC  38 81 00 20 */	addi r4, r1, 0x20
/* 8037D1A0 00378E00  38 A0 00 20 */	li r5, 0x20
/* 8037D1A4 00378E04  81 83 00 00 */	lwz r12, 0(r3)
/* 8037D1A8 00378E08  81 8C 00 14 */	lwz r12, 0x14(r12)
/* 8037D1AC 00378E0C  7D 89 03 A6 */	mtctr r12
/* 8037D1B0 00378E10  4E 80 04 21 */	bctrl
/* 8037D1B4 00378E14  2C 1F 00 00 */	cmpwi r31, 0
/* 8037D1B8 00378E18  38 C1 00 20 */	addi r6, r1, 0x20
/* 8037D1BC 00378E1C  38 60 00 00 */	li r3, 0
/* 8037D1C0 00378E20  38 80 00 00 */	li r4, 0
/* 8037D1C4 00378E24  40 81 00 C4 */	ble lbl_8037D288
/* 8037D1C8 00378E28  57 E0 F0 BF */	rlwinm. r0, r31, 0x1e, 2, 0x1f
/* 8037D1CC 00378E2C  7C 09 03 A6 */	mtctr r0
/* 8037D1D0 00378E30  41 82 00 90 */	beq lbl_8037D260
lbl_8037D1D4:
/* 8037D1D4 00378E34  7C A6 1A 2E */	lhzx r5, r6, r3
/* 8037D1D8 00378E38  38 04 00 01 */	addi r0, r4, 1
/* 8037D1DC 00378E3C  54 00 08 3C */	slwi r0, r0, 1
/* 8037D1E0 00378E40  38 63 00 04 */	addi r3, r3, 4
/* 8037D1E4 00378E44  7C BD 23 2E */	sthx r5, r29, r4
/* 8037D1E8 00378E48  7C 06 02 2E */	lhzx r0, r6, r0
/* 8037D1EC 00378E4C  7C 1E 23 2E */	sthx r0, r30, r4
/* 8037D1F0 00378E50  38 04 00 03 */	addi r0, r4, 3
/* 8037D1F4 00378E54  38 84 00 02 */	addi r4, r4, 2
/* 8037D1F8 00378E58  7C A6 1A 2E */	lhzx r5, r6, r3
/* 8037D1FC 00378E5C  54 00 08 3C */	slwi r0, r0, 1
/* 8037D200 00378E60  38 63 00 04 */	addi r3, r3, 4
/* 8037D204 00378E64  7C BD 23 2E */	sthx r5, r29, r4
/* 8037D208 00378E68  7C 06 02 2E */	lhzx r0, r6, r0
/* 8037D20C 00378E6C  7C 1E 23 2E */	sthx r0, r30, r4
/* 8037D210 00378E70  38 04 00 03 */	addi r0, r4, 3
/* 8037D214 00378E74  38 84 00 02 */	addi r4, r4, 2
/* 8037D218 00378E78  7C A6 1A 2E */	lhzx r5, r6, r3
/* 8037D21C 00378E7C  54 00 08 3C */	slwi r0, r0, 1
/* 8037D220 00378E80  38 63 00 04 */	addi r3, r3, 4
/* 8037D224 00378E84  7C BD 23 2E */	sthx r5, r29, r4
/* 8037D228 00378E88  7C 06 02 2E */	lhzx r0, r6, r0
/* 8037D22C 00378E8C  7C 1E 23 2E */	sthx r0, r30, r4
/* 8037D230 00378E90  38 04 00 03 */	addi r0, r4, 3
/* 8037D234 00378E94  38 84 00 02 */	addi r4, r4, 2
/* 8037D238 00378E98  7C A6 1A 2E */	lhzx r5, r6, r3
/* 8037D23C 00378E9C  54 00 08 3C */	slwi r0, r0, 1
/* 8037D240 00378EA0  38 63 00 04 */	addi r3, r3, 4
/* 8037D244 00378EA4  7C BD 23 2E */	sthx r5, r29, r4
/* 8037D248 00378EA8  7C 06 02 2E */	lhzx r0, r6, r0
/* 8037D24C 00378EAC  7C 1E 23 2E */	sthx r0, r30, r4
/* 8037D250 00378EB0  38 84 00 02 */	addi r4, r4, 2
/* 8037D254 00378EB4  42 00 FF 80 */	bdnz lbl_8037D1D4
/* 8037D258 00378EB8  73 FF 00 03 */	andi. r31, r31, 3
/* 8037D25C 00378EBC  41 82 00 2C */	beq lbl_8037D288
lbl_8037D260:
/* 8037D260 00378EC0  7F E9 03 A6 */	mtctr r31
lbl_8037D264:
/* 8037D264 00378EC4  7C A6 1A 2E */	lhzx r5, r6, r3
/* 8037D268 00378EC8  38 04 00 01 */	addi r0, r4, 1
/* 8037D26C 00378ECC  54 00 08 3C */	slwi r0, r0, 1
/* 8037D270 00378ED0  38 63 00 04 */	addi r3, r3, 4
/* 8037D274 00378ED4  7C BD 23 2E */	sthx r5, r29, r4
/* 8037D278 00378ED8  7C 06 02 2E */	lhzx r0, r6, r0
/* 8037D27C 00378EDC  7C 1E 23 2E */	sthx r0, r30, r4
/* 8037D280 00378EE0  38 84 00 02 */	addi r4, r4, 2
/* 8037D284 00378EE4  42 00 FF E0 */	bdnz lbl_8037D264
lbl_8037D288:
/* 8037D288 00378EE8  38 60 00 01 */	li r3, 1
lbl_8037D28C:
/* 8037D28C 00378EEC  81 41 00 00 */	lwz r10, 0(r1)
/* 8037D290 00378EF0  80 0A 00 04 */	lwz r0, 4(r10)
/* 8037D294 00378EF4  83 EA FF FC */	lwz r31, -4(r10)
/* 8037D298 00378EF8  83 CA FF F8 */	lwz r30, -8(r10)
/* 8037D29C 00378EFC  83 AA FF F4 */	lwz r29, -0xc(r10)
/* 8037D2A0 00378F00  83 8A FF F0 */	lwz r28, -0x10(r10)
/* 8037D2A4 00378F04  7C 08 03 A6 */	mtlr r0
/* 8037D2A8 00378F08  7D 41 53 78 */	mr r1, r10
/* 8037D2AC 00378F0C  4E 80 00 20 */	blr