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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __ct__Q44nw4r3snd6detail18SoundArchiveLoaderFRCQ34nw4r3snd12SoundArchive
__ct__Q44nw4r3snd6detail18SoundArchiveLoaderFRCQ34nw4r3snd12SoundArchive:
/* 80378350 00373FB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80378354 00373FB4 7C 08 02 A6 */ mflr r0
/* 80378358 00373FB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8037835C 00373FBC 38 00 00 00 */ li r0, 0
/* 80378360 00373FC0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80378364 00373FC4 7C 7F 1B 78 */ mr r31, r3
/* 80378368 00373FC8 90 83 00 18 */ stw r4, 0x18(r3)
/* 8037836C 00373FCC 90 03 02 1C */ stw r0, 0x21c(r3)
/* 80378370 00373FD0 4B EF 75 A1 */ bl OSInitMutex
/* 80378374 00373FD4 7F E3 FB 78 */ mr r3, r31
/* 80378378 00373FD8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8037837C 00373FDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80378380 00373FE0 7C 08 03 A6 */ mtlr r0
/* 80378384 00373FE4 38 21 00 10 */ addi r1, r1, 0x10
/* 80378388 00373FE8 4E 80 00 20 */ blr
.global __dt__Q44nw4r3snd6detail18SoundArchiveLoaderFv
__dt__Q44nw4r3snd6detail18SoundArchiveLoaderFv:
/* 8037838C 00373FEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80378390 00373FF0 7C 08 02 A6 */ mflr r0
/* 80378394 00373FF4 2C 03 00 00 */ cmpwi r3, 0
/* 80378398 00373FF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8037839C 00373FFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803783A0 00374000 7C 7F 1B 78 */ mr r31, r3
/* 803783A4 00374004 41 82 00 10 */ beq lbl_803783B4
/* 803783A8 00374008 2C 04 00 00 */ cmpwi r4, 0
/* 803783AC 0037400C 40 81 00 08 */ ble lbl_803783B4
/* 803783B0 00374010 4B E6 27 09 */ bl __dl__FPv
lbl_803783B4:
/* 803783B4 00374014 7F E3 FB 78 */ mr r3, r31
/* 803783B8 00374018 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803783BC 0037401C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803783C0 00374020 7C 08 03 A6 */ mtlr r0
/* 803783C4 00374024 38 21 00 10 */ addi r1, r1, 0x10
/* 803783C8 00374028 4E 80 00 20 */ blr
.global LoadGroup__Q44nw4r3snd6detail18SoundArchiveLoaderFUlPQ34nw4r3snd22SoundMemoryAllocatablePPvUl
LoadGroup__Q44nw4r3snd6detail18SoundArchiveLoaderFUlPQ34nw4r3snd22SoundMemoryAllocatablePPvUl:
/* 803783CC 0037402C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 803783D0 00374030 7C 08 02 A6 */ mflr r0
/* 803783D4 00374034 90 01 00 54 */ stw r0, 0x54(r1)
/* 803783D8 00374038 39 61 00 50 */ addi r11, r1, 0x50
/* 803783DC 0037403C 4B E4 ED 3D */ bl _savegpr_23
/* 803783E0 00374040 7C 7F 1B 78 */ mr r31, r3
/* 803783E4 00374044 7C 9A 23 78 */ mr r26, r4
/* 803783E8 00374048 7C B9 2B 78 */ mr r25, r5
/* 803783EC 0037404C 7C D7 33 78 */ mr r23, r6
/* 803783F0 00374050 7C F8 3B 78 */ mr r24, r7
/* 803783F4 00374054 4B EF 75 55 */ bl OSLockMutex
/* 803783F8 00374058 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 803783FC 0037405C 7F 44 D3 78 */ mr r4, r26
/* 80378400 00374060 38 BF 00 1C */ addi r5, r31, 0x1c
/* 80378404 00374064 38 C0 02 00 */ li r6, 0x200
/* 80378408 00374068 4B FF EE C9 */ bl detail_OpenGroupStream__Q34nw4r3snd12SoundArchiveCFUlPvi
/* 8037840C 0037406C 2C 03 00 00 */ cmpwi r3, 0
/* 80378410 00374070 7C 7D 1B 78 */ mr r29, r3
/* 80378414 00374074 40 82 00 28 */ bne lbl_8037843C
/* 80378418 00374078 41 82 00 14 */ beq lbl_8037842C
/* 8037841C 0037407C 81 83 00 00 */ lwz r12, 0(r3)
/* 80378420 00374080 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80378424 00374084 7D 89 03 A6 */ mtctr r12
/* 80378428 00374088 4E 80 04 21 */ bctrl
lbl_8037842C:
/* 8037842C 0037408C 7F E3 FB 78 */ mr r3, r31
/* 80378430 00374090 4B EF 75 F5 */ bl OSUnlockMutex
/* 80378434 00374094 38 60 00 00 */ li r3, 0
/* 80378438 00374098 48 00 05 50 */ b lbl_80378988
lbl_8037843C:
/* 8037843C 0037409C 81 83 00 00 */ lwz r12, 0(r3)
/* 80378440 003740A0 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 80378444 003740A4 7D 89 03 A6 */ mtctr r12
/* 80378448 003740A8 4E 80 04 21 */ bctrl
/* 8037844C 003740AC 2C 03 00 00 */ cmpwi r3, 0
/* 80378450 003740B0 41 82 00 20 */ beq lbl_80378470
/* 80378454 003740B4 81 9D 00 00 */ lwz r12, 0(r29)
/* 80378458 003740B8 7F A3 EB 78 */ mr r3, r29
/* 8037845C 003740BC 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80378460 003740C0 7D 89 03 A6 */ mtctr r12
/* 80378464 003740C4 4E 80 04 21 */ bctrl
/* 80378468 003740C8 2C 03 00 00 */ cmpwi r3, 0
/* 8037846C 003740CC 40 82 00 30 */ bne lbl_8037849C
lbl_80378470:
/* 80378470 003740D0 2C 1D 00 00 */ cmpwi r29, 0
/* 80378474 003740D4 41 82 00 18 */ beq lbl_8037848C
/* 80378478 003740D8 81 9D 00 00 */ lwz r12, 0(r29)
/* 8037847C 003740DC 7F A3 EB 78 */ mr r3, r29
/* 80378480 003740E0 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80378484 003740E4 7D 89 03 A6 */ mtctr r12
/* 80378488 003740E8 4E 80 04 21 */ bctrl
lbl_8037848C:
/* 8037848C 003740EC 7F E3 FB 78 */ mr r3, r31
/* 80378490 003740F0 4B EF 75 95 */ bl OSUnlockMutex
/* 80378494 003740F4 38 60 00 00 */ li r3, 0
/* 80378498 003740F8 48 00 04 F0 */ b lbl_80378988
lbl_8037849C:
/* 8037849C 003740FC 81 9D 00 00 */ lwz r12, 0(r29)
/* 803784A0 00374100 7F A3 EB 78 */ mr r3, r29
/* 803784A4 00374104 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 803784A8 00374108 7D 89 03 A6 */ mtctr r12
/* 803784AC 0037410C 4E 80 04 21 */ bctrl
/* 803784B0 00374110 81 99 00 00 */ lwz r12, 0(r25)
/* 803784B4 00374114 7C 64 1B 78 */ mr r4, r3
/* 803784B8 00374118 7F 23 CB 78 */ mr r3, r25
/* 803784BC 0037411C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 803784C0 00374120 7D 89 03 A6 */ mtctr r12
/* 803784C4 00374124 4E 80 04 21 */ bctrl
/* 803784C8 00374128 2C 03 00 00 */ cmpwi r3, 0
/* 803784CC 0037412C 7C 7B 1B 78 */ mr r27, r3
/* 803784D0 00374130 40 82 00 30 */ bne lbl_80378500
/* 803784D4 00374134 2C 1D 00 00 */ cmpwi r29, 0
/* 803784D8 00374138 41 82 00 18 */ beq lbl_803784F0
/* 803784DC 0037413C 81 9D 00 00 */ lwz r12, 0(r29)
/* 803784E0 00374140 7F A3 EB 78 */ mr r3, r29
/* 803784E4 00374144 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 803784E8 00374148 7D 89 03 A6 */ mtctr r12
/* 803784EC 0037414C 4E 80 04 21 */ bctrl
lbl_803784F0:
/* 803784F0 00374150 7F E3 FB 78 */ mr r3, r31
/* 803784F4 00374154 4B EF 75 31 */ bl OSUnlockMutex
/* 803784F8 00374158 38 60 00 00 */ li r3, 0
/* 803784FC 0037415C 48 00 04 8C */ b lbl_80378988
lbl_80378500:
/* 80378500 00374160 2C 18 00 00 */ cmpwi r24, 0
/* 80378504 00374164 93 BF 02 1C */ stw r29, 0x21c(r31)
/* 80378508 00374168 40 82 00 70 */ bne lbl_80378578
/* 8037850C 0037416C 81 9D 00 00 */ lwz r12, 0(r29)
/* 80378510 00374170 7F A3 EB 78 */ mr r3, r29
/* 80378514 00374174 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 80378518 00374178 7D 89 03 A6 */ mtctr r12
/* 8037851C 0037417C 4E 80 04 21 */ bctrl
/* 80378520 00374180 81 9D 00 00 */ lwz r12, 0(r29)
/* 80378524 00374184 7C 65 1B 78 */ mr r5, r3
/* 80378528 00374188 7F A3 EB 78 */ mr r3, r29
/* 8037852C 0037418C 7F 64 DB 78 */ mr r4, r27
/* 80378530 00374190 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80378534 00374194 7D 89 03 A6 */ mtctr r12
/* 80378538 00374198 4E 80 04 21 */ bctrl
/* 8037853C 0037419C 2C 03 00 00 */ cmpwi r3, 0
/* 80378540 003741A0 40 80 00 DC */ bge lbl_8037861C
/* 80378544 003741A4 38 00 00 00 */ li r0, 0
/* 80378548 003741A8 2C 1D 00 00 */ cmpwi r29, 0
/* 8037854C 003741AC 90 1F 02 1C */ stw r0, 0x21c(r31)
/* 80378550 003741B0 41 82 00 18 */ beq lbl_80378568
/* 80378554 003741B4 81 9D 00 00 */ lwz r12, 0(r29)
/* 80378558 003741B8 7F A3 EB 78 */ mr r3, r29
/* 8037855C 003741BC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80378560 003741C0 7D 89 03 A6 */ mtctr r12
/* 80378564 003741C4 4E 80 04 21 */ bctrl
lbl_80378568:
/* 80378568 003741C8 7F E3 FB 78 */ mr r3, r31
/* 8037856C 003741CC 4B EF 74 B9 */ bl OSUnlockMutex
/* 80378570 003741D0 38 60 00 00 */ li r3, 0
/* 80378574 003741D4 48 00 04 14 */ b lbl_80378988
lbl_80378578:
/* 80378578 003741D8 81 9D 00 00 */ lwz r12, 0(r29)
/* 8037857C 003741DC 7F A3 EB 78 */ mr r3, r29
/* 80378580 003741E0 7F 7C DB 78 */ mr r28, r27
/* 80378584 003741E4 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 80378588 003741E8 7D 89 03 A6 */ mtctr r12
/* 8037858C 003741EC 4E 80 04 21 */ bctrl
/* 80378590 003741F0 7C 7E 1B 78 */ mr r30, r3
/* 80378594 003741F4 48 00 00 80 */ b lbl_80378614
lbl_80378598:
/* 80378598 003741F8 7C 18 F0 40 */ cmplw r24, r30
/* 8037859C 003741FC 7F A3 EB 78 */ mr r3, r29
/* 803785A0 00374200 7F 84 E3 78 */ mr r4, r28
/* 803785A4 00374204 7F 05 C3 78 */ mr r5, r24
/* 803785A8 00374208 40 81 00 08 */ ble lbl_803785B0
/* 803785AC 0037420C 7F C5 F3 78 */ mr r5, r30
lbl_803785B0:
/* 803785B0 00374210 81 83 00 00 */ lwz r12, 0(r3)
/* 803785B4 00374214 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 803785B8 00374218 7D 89 03 A6 */ mtctr r12
/* 803785BC 0037421C 4E 80 04 21 */ bctrl
/* 803785C0 00374220 2C 03 00 00 */ cmpwi r3, 0
/* 803785C4 00374224 40 80 00 38 */ bge lbl_803785FC
/* 803785C8 00374228 38 00 00 00 */ li r0, 0
/* 803785CC 0037422C 2C 1D 00 00 */ cmpwi r29, 0
/* 803785D0 00374230 90 1F 02 1C */ stw r0, 0x21c(r31)
/* 803785D4 00374234 41 82 00 18 */ beq lbl_803785EC
/* 803785D8 00374238 81 9D 00 00 */ lwz r12, 0(r29)
/* 803785DC 0037423C 7F A3 EB 78 */ mr r3, r29
/* 803785E0 00374240 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 803785E4 00374244 7D 89 03 A6 */ mtctr r12
/* 803785E8 00374248 4E 80 04 21 */ bctrl
lbl_803785EC:
/* 803785EC 0037424C 7F E3 FB 78 */ mr r3, r31
/* 803785F0 00374250 4B EF 74 35 */ bl OSUnlockMutex
/* 803785F4 00374254 38 60 00 00 */ li r3, 0
/* 803785F8 00374258 48 00 03 90 */ b lbl_80378988
lbl_803785FC:
/* 803785FC 0037425C 7C 1E 18 40 */ cmplw r30, r3
/* 80378600 00374260 40 81 00 10 */ ble lbl_80378610
/* 80378604 00374264 7F C3 F0 50 */ subf r30, r3, r30
/* 80378608 00374268 7F 9C 1A 14 */ add r28, r28, r3
/* 8037860C 0037426C 48 00 00 08 */ b lbl_80378614
lbl_80378610:
/* 80378610 00374270 3B C0 00 00 */ li r30, 0
lbl_80378614:
/* 80378614 00374274 2C 1E 00 00 */ cmpwi r30, 0
/* 80378618 00374278 40 82 FF 80 */ bne lbl_80378598
lbl_8037861C:
/* 8037861C 0037427C 3B C0 00 00 */ li r30, 0
/* 80378620 00374280 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 80378624 00374284 93 DF 02 1C */ stw r30, 0x21c(r31)
/* 80378628 00374288 7F 44 D3 78 */ mr r4, r26
/* 8037862C 0037428C 38 A1 00 08 */ addi r5, r1, 8
/* 80378630 00374290 4B FF EA 5D */ bl func_8037708C
/* 80378634 00374294 2C 03 00 00 */ cmpwi r3, 0
/* 80378638 00374298 40 82 00 30 */ bne lbl_80378668
/* 8037863C 0037429C 2C 1D 00 00 */ cmpwi r29, 0
/* 80378640 003742A0 41 82 00 18 */ beq lbl_80378658
/* 80378644 003742A4 81 9D 00 00 */ lwz r12, 0(r29)
/* 80378648 003742A8 7F A3 EB 78 */ mr r3, r29
/* 8037864C 003742AC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80378650 003742B0 7D 89 03 A6 */ mtctr r12
/* 80378654 003742B4 4E 80 04 21 */ bctrl
lbl_80378658:
/* 80378658 003742B8 7F E3 FB 78 */ mr r3, r31
/* 8037865C 003742BC 4B EF 73 C9 */ bl OSUnlockMutex
/* 80378660 003742C0 38 60 00 00 */ li r3, 0
/* 80378664 003742C4 48 00 03 24 */ b lbl_80378988
lbl_80378668:
/* 80378668 003742C8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8037866C 003742CC 2C 00 00 00 */ cmpwi r0, 0
/* 80378670 003742D0 41 82 02 E4 */ beq lbl_80378954
/* 80378674 003742D4 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 80378678 003742D8 7F 44 D3 78 */ mr r4, r26
/* 8037867C 003742DC 38 BF 00 1C */ addi r5, r31, 0x1c
/* 80378680 003742E0 38 C0 02 00 */ li r6, 0x200
/* 80378684 003742E4 4B FF ED 65 */ bl detail_OpenGroupWaveDataStream__Q34nw4r3snd12SoundArchiveCFUlPvi
/* 80378688 003742E8 2C 03 00 00 */ cmpwi r3, 0
/* 8037868C 003742EC 7C 7C 1B 78 */ mr r28, r3
/* 80378690 003742F0 40 82 00 44 */ bne lbl_803786D4
/* 80378694 003742F4 41 82 00 14 */ beq lbl_803786A8
/* 80378698 003742F8 81 83 00 00 */ lwz r12, 0(r3)
/* 8037869C 003742FC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 803786A0 00374300 7D 89 03 A6 */ mtctr r12
/* 803786A4 00374304 4E 80 04 21 */ bctrl
lbl_803786A8:
/* 803786A8 00374308 2C 1D 00 00 */ cmpwi r29, 0
/* 803786AC 0037430C 41 82 00 18 */ beq lbl_803786C4
/* 803786B0 00374310 81 9D 00 00 */ lwz r12, 0(r29)
/* 803786B4 00374314 7F A3 EB 78 */ mr r3, r29
/* 803786B8 00374318 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 803786BC 0037431C 7D 89 03 A6 */ mtctr r12
/* 803786C0 00374320 4E 80 04 21 */ bctrl
lbl_803786C4:
/* 803786C4 00374324 7F E3 FB 78 */ mr r3, r31
/* 803786C8 00374328 4B EF 73 5D */ bl OSUnlockMutex
/* 803786CC 0037432C 38 60 00 00 */ li r3, 0
/* 803786D0 00374330 48 00 02 B8 */ b lbl_80378988
lbl_803786D4:
/* 803786D4 00374334 81 83 00 00 */ lwz r12, 0(r3)
/* 803786D8 00374338 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 803786DC 0037433C 7D 89 03 A6 */ mtctr r12
/* 803786E0 00374340 4E 80 04 21 */ bctrl
/* 803786E4 00374344 2C 03 00 00 */ cmpwi r3, 0
/* 803786E8 00374348 41 82 00 20 */ beq lbl_80378708
/* 803786EC 0037434C 81 9C 00 00 */ lwz r12, 0(r28)
/* 803786F0 00374350 7F 83 E3 78 */ mr r3, r28
/* 803786F4 00374354 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 803786F8 00374358 7D 89 03 A6 */ mtctr r12
/* 803786FC 0037435C 4E 80 04 21 */ bctrl
/* 80378700 00374360 2C 03 00 00 */ cmpwi r3, 0
/* 80378704 00374364 40 82 00 4C */ bne lbl_80378750
lbl_80378708:
/* 80378708 00374368 2C 1C 00 00 */ cmpwi r28, 0
/* 8037870C 0037436C 41 82 00 18 */ beq lbl_80378724
/* 80378710 00374370 81 9C 00 00 */ lwz r12, 0(r28)
/* 80378714 00374374 7F 83 E3 78 */ mr r3, r28
/* 80378718 00374378 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8037871C 0037437C 7D 89 03 A6 */ mtctr r12
/* 80378720 00374380 4E 80 04 21 */ bctrl
lbl_80378724:
/* 80378724 00374384 2C 1D 00 00 */ cmpwi r29, 0
/* 80378728 00374388 41 82 00 18 */ beq lbl_80378740
/* 8037872C 0037438C 81 9D 00 00 */ lwz r12, 0(r29)
/* 80378730 00374390 7F A3 EB 78 */ mr r3, r29
/* 80378734 00374394 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80378738 00374398 7D 89 03 A6 */ mtctr r12
/* 8037873C 0037439C 4E 80 04 21 */ bctrl
lbl_80378740:
/* 80378740 003743A0 7F E3 FB 78 */ mr r3, r31
/* 80378744 003743A4 4B EF 72 E1 */ bl OSUnlockMutex
/* 80378748 003743A8 38 60 00 00 */ li r3, 0
/* 8037874C 003743AC 48 00 02 3C */ b lbl_80378988
lbl_80378750:
/* 80378750 003743B0 81 9C 00 00 */ lwz r12, 0(r28)
/* 80378754 003743B4 7F 83 E3 78 */ mr r3, r28
/* 80378758 003743B8 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 8037875C 003743BC 7D 89 03 A6 */ mtctr r12
/* 80378760 003743C0 4E 80 04 21 */ bctrl
/* 80378764 003743C4 81 99 00 00 */ lwz r12, 0(r25)
/* 80378768 003743C8 7C 64 1B 78 */ mr r4, r3
/* 8037876C 003743CC 7F 23 CB 78 */ mr r3, r25
/* 80378770 003743D0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80378774 003743D4 7D 89 03 A6 */ mtctr r12
/* 80378778 003743D8 4E 80 04 21 */ bctrl
/* 8037877C 003743DC 2C 03 00 00 */ cmpwi r3, 0
/* 80378780 003743E0 7C 7A 1B 78 */ mr r26, r3
/* 80378784 003743E4 40 82 00 4C */ bne lbl_803787D0
/* 80378788 003743E8 2C 1C 00 00 */ cmpwi r28, 0
/* 8037878C 003743EC 41 82 00 18 */ beq lbl_803787A4
/* 80378790 003743F0 81 9C 00 00 */ lwz r12, 0(r28)
/* 80378794 003743F4 7F 83 E3 78 */ mr r3, r28
/* 80378798 003743F8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8037879C 003743FC 7D 89 03 A6 */ mtctr r12
/* 803787A0 00374400 4E 80 04 21 */ bctrl
lbl_803787A4:
/* 803787A4 00374404 2C 1D 00 00 */ cmpwi r29, 0
/* 803787A8 00374408 41 82 00 18 */ beq lbl_803787C0
/* 803787AC 0037440C 81 9D 00 00 */ lwz r12, 0(r29)
/* 803787B0 00374410 7F A3 EB 78 */ mr r3, r29
/* 803787B4 00374414 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 803787B8 00374418 7D 89 03 A6 */ mtctr r12
/* 803787BC 0037441C 4E 80 04 21 */ bctrl
lbl_803787C0:
/* 803787C0 00374420 7F E3 FB 78 */ mr r3, r31
/* 803787C4 00374424 4B EF 72 61 */ bl OSUnlockMutex
/* 803787C8 00374428 38 60 00 00 */ li r3, 0
/* 803787CC 0037442C 48 00 01 BC */ b lbl_80378988
lbl_803787D0:
/* 803787D0 00374430 2C 18 00 00 */ cmpwi r24, 0
/* 803787D4 00374434 93 9F 02 1C */ stw r28, 0x21c(r31)
/* 803787D8 00374438 40 82 00 88 */ bne lbl_80378860
/* 803787DC 0037443C 81 9C 00 00 */ lwz r12, 0(r28)
/* 803787E0 00374440 7F 83 E3 78 */ mr r3, r28
/* 803787E4 00374444 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 803787E8 00374448 7D 89 03 A6 */ mtctr r12
/* 803787EC 0037444C 4E 80 04 21 */ bctrl
/* 803787F0 00374450 81 9C 00 00 */ lwz r12, 0(r28)
/* 803787F4 00374454 7C 65 1B 78 */ mr r5, r3
/* 803787F8 00374458 7F 83 E3 78 */ mr r3, r28
/* 803787FC 0037445C 7F 44 D3 78 */ mr r4, r26
/* 80378800 00374460 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80378804 00374464 7D 89 03 A6 */ mtctr r12
/* 80378808 00374468 4E 80 04 21 */ bctrl
/* 8037880C 0037446C 2C 03 00 00 */ cmpwi r3, 0
/* 80378810 00374470 40 80 01 10 */ bge lbl_80378920
/* 80378814 00374474 2C 1C 00 00 */ cmpwi r28, 0
/* 80378818 00374478 93 DF 02 1C */ stw r30, 0x21c(r31)
/* 8037881C 0037447C 41 82 00 18 */ beq lbl_80378834
/* 80378820 00374480 81 9C 00 00 */ lwz r12, 0(r28)
/* 80378824 00374484 7F 83 E3 78 */ mr r3, r28
/* 80378828 00374488 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8037882C 0037448C 7D 89 03 A6 */ mtctr r12
/* 80378830 00374490 4E 80 04 21 */ bctrl
lbl_80378834:
/* 80378834 00374494 2C 1D 00 00 */ cmpwi r29, 0
/* 80378838 00374498 41 82 00 18 */ beq lbl_80378850
/* 8037883C 0037449C 81 9D 00 00 */ lwz r12, 0(r29)
/* 80378840 003744A0 7F A3 EB 78 */ mr r3, r29
/* 80378844 003744A4 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80378848 003744A8 7D 89 03 A6 */ mtctr r12
/* 8037884C 003744AC 4E 80 04 21 */ bctrl
lbl_80378850:
/* 80378850 003744B0 7F E3 FB 78 */ mr r3, r31
/* 80378854 003744B4 4B EF 71 D1 */ bl OSUnlockMutex
/* 80378858 003744B8 38 60 00 00 */ li r3, 0
/* 8037885C 003744BC 48 00 01 2C */ b lbl_80378988
lbl_80378860:
/* 80378860 003744C0 81 9C 00 00 */ lwz r12, 0(r28)
/* 80378864 003744C4 7F 83 E3 78 */ mr r3, r28
/* 80378868 003744C8 7F 5E D3 78 */ mr r30, r26
/* 8037886C 003744CC 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 80378870 003744D0 7D 89 03 A6 */ mtctr r12
/* 80378874 003744D4 4E 80 04 21 */ bctrl
/* 80378878 003744D8 7C 79 1B 78 */ mr r25, r3
/* 8037887C 003744DC 48 00 00 9C */ b lbl_80378918
lbl_80378880:
/* 80378880 003744E0 7C 18 C8 40 */ cmplw r24, r25
/* 80378884 003744E4 7F 83 E3 78 */ mr r3, r28
/* 80378888 003744E8 7F C4 F3 78 */ mr r4, r30
/* 8037888C 003744EC 7F 05 C3 78 */ mr r5, r24
/* 80378890 003744F0 40 81 00 08 */ ble lbl_80378898
/* 80378894 003744F4 7F 25 CB 78 */ mr r5, r25
lbl_80378898:
/* 80378898 003744F8 81 83 00 00 */ lwz r12, 0(r3)
/* 8037889C 003744FC 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 803788A0 00374500 7D 89 03 A6 */ mtctr r12
/* 803788A4 00374504 4E 80 04 21 */ bctrl
/* 803788A8 00374508 2C 03 00 00 */ cmpwi r3, 0
/* 803788AC 0037450C 40 80 00 54 */ bge lbl_80378900
/* 803788B0 00374510 38 00 00 00 */ li r0, 0
/* 803788B4 00374514 2C 1C 00 00 */ cmpwi r28, 0
/* 803788B8 00374518 90 1F 02 1C */ stw r0, 0x21c(r31)
/* 803788BC 0037451C 41 82 00 18 */ beq lbl_803788D4
/* 803788C0 00374520 81 9C 00 00 */ lwz r12, 0(r28)
/* 803788C4 00374524 7F 83 E3 78 */ mr r3, r28
/* 803788C8 00374528 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 803788CC 0037452C 7D 89 03 A6 */ mtctr r12
/* 803788D0 00374530 4E 80 04 21 */ bctrl
lbl_803788D4:
/* 803788D4 00374534 2C 1D 00 00 */ cmpwi r29, 0
/* 803788D8 00374538 41 82 00 18 */ beq lbl_803788F0
/* 803788DC 0037453C 81 9D 00 00 */ lwz r12, 0(r29)
/* 803788E0 00374540 7F A3 EB 78 */ mr r3, r29
/* 803788E4 00374544 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 803788E8 00374548 7D 89 03 A6 */ mtctr r12
/* 803788EC 0037454C 4E 80 04 21 */ bctrl
lbl_803788F0:
/* 803788F0 00374550 7F E3 FB 78 */ mr r3, r31
/* 803788F4 00374554 4B EF 71 31 */ bl OSUnlockMutex
/* 803788F8 00374558 38 60 00 00 */ li r3, 0
/* 803788FC 0037455C 48 00 00 8C */ b lbl_80378988
lbl_80378900:
/* 80378900 00374560 7C 19 18 40 */ cmplw r25, r3
/* 80378904 00374564 40 81 00 10 */ ble lbl_80378914
/* 80378908 00374568 7F 23 C8 50 */ subf r25, r3, r25
/* 8037890C 0037456C 7F DE 1A 14 */ add r30, r30, r3
/* 80378910 00374570 48 00 00 08 */ b lbl_80378918
lbl_80378914:
/* 80378914 00374574 3B 20 00 00 */ li r25, 0
lbl_80378918:
/* 80378918 00374578 2C 19 00 00 */ cmpwi r25, 0
/* 8037891C 0037457C 40 82 FF 64 */ bne lbl_80378880
lbl_80378920:
/* 80378920 00374580 38 00 00 00 */ li r0, 0
/* 80378924 00374584 2C 17 00 00 */ cmpwi r23, 0
/* 80378928 00374588 90 1F 02 1C */ stw r0, 0x21c(r31)
/* 8037892C 0037458C 41 82 00 08 */ beq lbl_80378934
/* 80378930 00374590 93 57 00 00 */ stw r26, 0(r23)
lbl_80378934:
/* 80378934 00374594 2C 1C 00 00 */ cmpwi r28, 0
/* 80378938 00374598 41 82 00 28 */ beq lbl_80378960
/* 8037893C 0037459C 81 9C 00 00 */ lwz r12, 0(r28)
/* 80378940 003745A0 7F 83 E3 78 */ mr r3, r28
/* 80378944 003745A4 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80378948 003745A8 7D 89 03 A6 */ mtctr r12
/* 8037894C 003745AC 4E 80 04 21 */ bctrl
/* 80378950 003745B0 48 00 00 10 */ b lbl_80378960
lbl_80378954:
/* 80378954 003745B4 2C 17 00 00 */ cmpwi r23, 0
/* 80378958 003745B8 41 82 00 08 */ beq lbl_80378960
/* 8037895C 003745BC 93 D7 00 00 */ stw r30, 0(r23)
lbl_80378960:
/* 80378960 003745C0 2C 1D 00 00 */ cmpwi r29, 0
/* 80378964 003745C4 41 82 00 18 */ beq lbl_8037897C
/* 80378968 003745C8 81 9D 00 00 */ lwz r12, 0(r29)
/* 8037896C 003745CC 7F A3 EB 78 */ mr r3, r29
/* 80378970 003745D0 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80378974 003745D4 7D 89 03 A6 */ mtctr r12
/* 80378978 003745D8 4E 80 04 21 */ bctrl
lbl_8037897C:
/* 8037897C 003745DC 7F E3 FB 78 */ mr r3, r31
/* 80378980 003745E0 4B EF 70 A5 */ bl OSUnlockMutex
/* 80378984 003745E4 7F 63 DB 78 */ mr r3, r27
lbl_80378988:
/* 80378988 003745E8 39 61 00 50 */ addi r11, r1, 0x50
/* 8037898C 003745EC 4B E4 E7 D9 */ bl _restgpr_23
/* 80378990 003745F0 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80378994 003745F4 7C 08 03 A6 */ mtlr r0
/* 80378998 003745F8 38 21 00 50 */ addi r1, r1, 0x50
/* 8037899C 003745FC 4E 80 00 20 */ blr
|