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

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

.global GetInstance__Q44nw4r3snd6detail11TaskManagerFv
GetInstance__Q44nw4r3snd6detail11TaskManagerFv:
/* 8037F980 0037B5E0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8037F984 0037B5E4  7C 08 02 A6 */	mflr r0
/* 8037F988 0037B5E8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8037F98C 0037B5EC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8037F990 0037B5F0  88 0D B2 90 */	lbz r0, lbl_80640550-_SDA_BASE_(r13)
/* 8037F994 0037B5F4  7C 00 07 75 */	extsb. r0, r0
/* 8037F998 0037B5F8  40 82 00 68 */	bne lbl_8037FA00
/* 8037F99C 0037B5FC  3F E0 80 64 */	lis r31, lbl_8063CDA4@ha
/* 8037F9A0 0037B600  3C 80 80 38 */	lis r4, __ct__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv@ha
/* 8037F9A4 0037B604  3B FF CD A4 */	addi r31, r31, lbl_8063CDA4@l
/* 8037F9A8 0037B608  3C A0 80 38 */	lis r5, __dt__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv@ha
/* 8037F9AC 0037B60C  7F E3 FB 78 */	mr r3, r31
/* 8037F9B0 0037B610  38 84 FA D8 */	addi r4, r4, __ct__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv@l
/* 8037F9B4 0037B614  38 A5 FA 80 */	addi r5, r5, __dt__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv@l
/* 8037F9B8 0037B618  38 C0 00 0C */	li r6, 0xc
/* 8037F9BC 0037B61C  38 E0 00 03 */	li r7, 3
/* 8037F9C0 0037B620  4B E4 74 A9 */	bl __construct_array
/* 8037F9C4 0037B624  38 00 00 00 */	li r0, 0
/* 8037F9C8 0037B628  38 7F 00 2C */	addi r3, r31, 0x2c
/* 8037F9CC 0037B62C  90 1F 00 24 */	stw r0, 0x24(r31)
/* 8037F9D0 0037B630  98 1F 00 28 */	stb r0, 0x28(r31)
/* 8037F9D4 0037B634  4B EF 19 15 */	bl OSInitThreadQueue
/* 8037F9D8 0037B638  38 7F 00 34 */	addi r3, r31, 0x34
/* 8037F9DC 0037B63C  4B EF 19 0D */	bl OSInitThreadQueue
/* 8037F9E0 0037B640  3C 80 80 38 */	lis r4, __dt__Q44nw4r3snd6detail11TaskManagerFv@ha
/* 8037F9E4 0037B644  3C A0 80 64 */	lis r5, lbl_8063CD98@ha
/* 8037F9E8 0037B648  7F E3 FB 78 */	mr r3, r31
/* 8037F9EC 0037B64C  38 84 FA 1C */	addi r4, r4, __dt__Q44nw4r3snd6detail11TaskManagerFv@l
/* 8037F9F0 0037B650  38 A5 CD 98 */	addi r5, r5, lbl_8063CD98@l
/* 8037F9F4 0037B654  4B E4 72 55 */	bl __register_global_object_tmp
/* 8037F9F8 0037B658  38 00 00 01 */	li r0, 1
/* 8037F9FC 0037B65C  98 0D B2 90 */	stb r0, lbl_80640550-_SDA_BASE_(r13)
lbl_8037FA00:
/* 8037FA00 0037B660  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8037FA04 0037B664  3C 60 80 64 */	lis r3, lbl_8063CDA4@ha
/* 8037FA08 0037B668  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8037FA0C 0037B66C  38 63 CD A4 */	addi r3, r3, lbl_8063CDA4@l
/* 8037FA10 0037B670  7C 08 03 A6 */	mtlr r0
/* 8037FA14 0037B674  38 21 00 10 */	addi r1, r1, 0x10
/* 8037FA18 0037B678  4E 80 00 20 */	blr

.global __dt__Q44nw4r3snd6detail11TaskManagerFv
__dt__Q44nw4r3snd6detail11TaskManagerFv:
/* 8037FA1C 0037B67C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8037FA20 0037B680  7C 08 02 A6 */	mflr r0
/* 8037FA24 0037B684  2C 03 00 00 */	cmpwi r3, 0
/* 8037FA28 0037B688  90 01 00 14 */	stw r0, 0x14(r1)
/* 8037FA2C 0037B68C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8037FA30 0037B690  7C 9F 23 78 */	mr r31, r4
/* 8037FA34 0037B694  93 C1 00 08 */	stw r30, 8(r1)
/* 8037FA38 0037B698  7C 7E 1B 78 */	mr r30, r3
/* 8037FA3C 0037B69C  41 82 00 28 */	beq lbl_8037FA64
/* 8037FA40 0037B6A0  3C 80 80 38 */	lis r4, __dt__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv@ha
/* 8037FA44 0037B6A4  38 A0 00 0C */	li r5, 0xc
/* 8037FA48 0037B6A8  38 84 FA 80 */	addi r4, r4, __dt__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv@l
/* 8037FA4C 0037B6AC  38 C0 00 03 */	li r6, 3
/* 8037FA50 0037B6B0  4B E4 75 11 */	bl __destroy_arr
/* 8037FA54 0037B6B4  2C 1F 00 00 */	cmpwi r31, 0
/* 8037FA58 0037B6B8  40 81 00 0C */	ble lbl_8037FA64
/* 8037FA5C 0037B6BC  7F C3 F3 78 */	mr r3, r30
/* 8037FA60 0037B6C0  4B E5 B0 59 */	bl __dl__FPv
lbl_8037FA64:
/* 8037FA64 0037B6C4  7F C3 F3 78 */	mr r3, r30
/* 8037FA68 0037B6C8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8037FA6C 0037B6CC  83 C1 00 08 */	lwz r30, 8(r1)
/* 8037FA70 0037B6D0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8037FA74 0037B6D4  7C 08 03 A6 */	mtlr r0
/* 8037FA78 0037B6D8  38 21 00 10 */	addi r1, r1, 0x10
/* 8037FA7C 0037B6DC  4E 80 00 20 */	blr

.global __dt__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv
__dt__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv:
/* 8037FA80 0037B6E0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8037FA84 0037B6E4  7C 08 02 A6 */	mflr r0
/* 8037FA88 0037B6E8  2C 03 00 00 */	cmpwi r3, 0
/* 8037FA8C 0037B6EC  90 01 00 14 */	stw r0, 0x14(r1)
/* 8037FA90 0037B6F0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8037FA94 0037B6F4  7C 9F 23 78 */	mr r31, r4
/* 8037FA98 0037B6F8  93 C1 00 08 */	stw r30, 8(r1)
/* 8037FA9C 0037B6FC  7C 7E 1B 78 */	mr r30, r3
/* 8037FAA0 0037B700  41 82 00 1C */	beq lbl_8037FABC
/* 8037FAA4 0037B704  38 80 00 00 */	li r4, 0
/* 8037FAA8 0037B708  4B FE 30 91 */	bl __dt__Q44nw4r2ut6detail12LinkListImplFv
/* 8037FAAC 0037B70C  2C 1F 00 00 */	cmpwi r31, 0
/* 8037FAB0 0037B710  40 81 00 0C */	ble lbl_8037FABC
/* 8037FAB4 0037B714  7F C3 F3 78 */	mr r3, r30
/* 8037FAB8 0037B718  4B E5 B0 01 */	bl __dl__FPv
lbl_8037FABC:
/* 8037FABC 0037B71C  7F C3 F3 78 */	mr r3, r30
/* 8037FAC0 0037B720  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8037FAC4 0037B724  83 C1 00 08 */	lwz r30, 8(r1)
/* 8037FAC8 0037B728  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8037FACC 0037B72C  7C 08 03 A6 */	mtlr r0
/* 8037FAD0 0037B730  38 21 00 10 */	addi r1, r1, 0x10
/* 8037FAD4 0037B734  4E 80 00 20 */	blr

.global __ct__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv
__ct__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv:
/* 8037FAD8 0037B738  38 00 00 00 */	li r0, 0
/* 8037FADC 0037B73C  38 83 00 04 */	addi r4, r3, 4
/* 8037FAE0 0037B740  90 03 00 04 */	stw r0, 4(r3)
/* 8037FAE4 0037B744  90 03 00 08 */	stw r0, 8(r3)
/* 8037FAE8 0037B748  90 03 00 00 */	stw r0, 0(r3)
/* 8037FAEC 0037B74C  90 83 00 04 */	stw r4, 4(r3)
/* 8037FAF0 0037B750  90 83 00 08 */	stw r4, 8(r3)
/* 8037FAF4 0037B754  4E 80 00 20 */	blr

.global AppendTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4TaskQ54nw4r3snd6detail11TaskManager12TaskPriority
AppendTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4TaskQ54nw4r3snd6detail11TaskManager12TaskPriority:
/* 8037FAF8 0037B758  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8037FAFC 0037B75C  7C 08 02 A6 */	mflr r0
/* 8037FB00 0037B760  90 01 00 24 */	stw r0, 0x24(r1)
/* 8037FB04 0037B764  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8037FB08 0037B768  7C BF 2B 78 */	mr r31, r5
/* 8037FB0C 0037B76C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8037FB10 0037B770  7C 9E 23 78 */	mr r30, r4
/* 8037FB14 0037B774  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8037FB18 0037B778  7C 7D 1B 78 */	mr r29, r3
/* 8037FB1C 0037B77C  4B EE EC 41 */	bl OSDisableInterrupts
/* 8037FB20 0037B780  1C 1F 00 0C */	mulli r0, r31, 0xc
/* 8037FB24 0037B784  38 80 00 01 */	li r4, 1
/* 8037FB28 0037B788  98 9E 00 0C */	stb r4, 0xc(r30)
/* 8037FB2C 0037B78C  7C 7F 1B 78 */	mr r31, r3
/* 8037FB30 0037B790  38 81 00 08 */	addi r4, r1, 8
/* 8037FB34 0037B794  7C 7D 02 14 */	add r3, r29, r0
/* 8037FB38 0037B798  38 03 00 04 */	addi r0, r3, 4
/* 8037FB3C 0037B79C  38 BE 00 04 */	addi r5, r30, 4
/* 8037FB40 0037B7A0  90 01 00 08 */	stw r0, 8(r1)
/* 8037FB44 0037B7A4  4B FE 31 05 */	bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 8037FB48 0037B7A8  38 7D 00 2C */	addi r3, r29, 0x2c
/* 8037FB4C 0037B7AC  4B EF 29 15 */	bl OSWakeupThread
/* 8037FB50 0037B7B0  7F E3 FB 78 */	mr r3, r31
/* 8037FB54 0037B7B4  4B EE EC 31 */	bl OSRestoreInterrupts
/* 8037FB58 0037B7B8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8037FB5C 0037B7BC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8037FB60 0037B7C0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8037FB64 0037B7C4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8037FB68 0037B7C8  7C 08 03 A6 */	mtlr r0
/* 8037FB6C 0037B7CC  38 21 00 20 */	addi r1, r1, 0x20
/* 8037FB70 0037B7D0  4E 80 00 20 */	blr

.global PopTask__Q44nw4r3snd6detail11TaskManagerFv
PopTask__Q44nw4r3snd6detail11TaskManagerFv:
/* 8037FB74 0037B7D4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8037FB78 0037B7D8  7C 08 02 A6 */	mflr r0
/* 8037FB7C 0037B7DC  90 01 00 34 */	stw r0, 0x34(r1)
/* 8037FB80 0037B7E0  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8037FB84 0037B7E4  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8037FB88 0037B7E8  93 A1 00 24 */	stw r29, 0x24(r1)
/* 8037FB8C 0037B7EC  93 81 00 20 */	stw r28, 0x20(r1)
/* 8037FB90 0037B7F0  7C 7C 1B 78 */	mr r28, r3
/* 8037FB94 0037B7F4  4B EE EB C9 */	bl OSDisableInterrupts
/* 8037FB98 0037B7F8  7C 7F 1B 78 */	mr r31, r3
/* 8037FB9C 0037B7FC  4B EE EB C1 */	bl OSDisableInterrupts
/* 8037FBA0 0037B800  80 1C 00 18 */	lwz r0, 0x18(r28)
/* 8037FBA4 0037B804  7C 7E 1B 78 */	mr r30, r3
/* 8037FBA8 0037B808  2C 00 00 00 */	cmpwi r0, 0
/* 8037FBAC 0037B80C  40 82 00 10 */	bne lbl_8037FBBC
/* 8037FBB0 0037B810  4B EE EB D5 */	bl OSRestoreInterrupts
/* 8037FBB4 0037B814  3B C0 00 00 */	li r30, 0
/* 8037FBB8 0037B818  48 00 00 24 */	b lbl_8037FBDC
lbl_8037FBBC:
/* 8037FBBC 0037B81C  83 BC 00 1C */	lwz r29, 0x1c(r28)
/* 8037FBC0 0037B820  38 7C 00 18 */	addi r3, r28, 0x18
/* 8037FBC4 0037B824  38 81 00 10 */	addi r4, r1, 0x10
/* 8037FBC8 0037B828  93 A1 00 10 */	stw r29, 0x10(r1)
/* 8037FBCC 0037B82C  4B FE 2F F1 */	bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 8037FBD0 0037B830  7F C3 F3 78 */	mr r3, r30
/* 8037FBD4 0037B834  4B EE EB B1 */	bl OSRestoreInterrupts
/* 8037FBD8 0037B838  3B DD FF FC */	addi r30, r29, -4
lbl_8037FBDC:
/* 8037FBDC 0037B83C  2C 1E 00 00 */	cmpwi r30, 0
/* 8037FBE0 0037B840  41 82 00 14 */	beq lbl_8037FBF4
/* 8037FBE4 0037B844  7F E3 FB 78 */	mr r3, r31
/* 8037FBE8 0037B848  4B EE EB 9D */	bl OSRestoreInterrupts
/* 8037FBEC 0037B84C  7F C3 F3 78 */	mr r3, r30
/* 8037FBF0 0037B850  48 00 00 C0 */	b lbl_8037FCB0
lbl_8037FBF4:
/* 8037FBF4 0037B854  4B EE EB 69 */	bl OSDisableInterrupts
/* 8037FBF8 0037B858  80 1C 00 0C */	lwz r0, 0xc(r28)
/* 8037FBFC 0037B85C  7C 7E 1B 78 */	mr r30, r3
/* 8037FC00 0037B860  2C 00 00 00 */	cmpwi r0, 0
/* 8037FC04 0037B864  40 82 00 10 */	bne lbl_8037FC14
/* 8037FC08 0037B868  4B EE EB 7D */	bl OSRestoreInterrupts
/* 8037FC0C 0037B86C  3B C0 00 00 */	li r30, 0
/* 8037FC10 0037B870  48 00 00 24 */	b lbl_8037FC34
lbl_8037FC14:
/* 8037FC14 0037B874  83 BC 00 10 */	lwz r29, 0x10(r28)
/* 8037FC18 0037B878  38 7C 00 0C */	addi r3, r28, 0xc
/* 8037FC1C 0037B87C  38 81 00 0C */	addi r4, r1, 0xc
/* 8037FC20 0037B880  93 A1 00 0C */	stw r29, 0xc(r1)
/* 8037FC24 0037B884  4B FE 2F 99 */	bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 8037FC28 0037B888  7F C3 F3 78 */	mr r3, r30
/* 8037FC2C 0037B88C  4B EE EB 59 */	bl OSRestoreInterrupts
/* 8037FC30 0037B890  3B DD FF FC */	addi r30, r29, -4
lbl_8037FC34:
/* 8037FC34 0037B894  2C 1E 00 00 */	cmpwi r30, 0
/* 8037FC38 0037B898  41 82 00 14 */	beq lbl_8037FC4C
/* 8037FC3C 0037B89C  7F E3 FB 78 */	mr r3, r31
/* 8037FC40 0037B8A0  4B EE EB 45 */	bl OSRestoreInterrupts
/* 8037FC44 0037B8A4  7F C3 F3 78 */	mr r3, r30
/* 8037FC48 0037B8A8  48 00 00 68 */	b lbl_8037FCB0
lbl_8037FC4C:
/* 8037FC4C 0037B8AC  4B EE EB 11 */	bl OSDisableInterrupts
/* 8037FC50 0037B8B0  80 1C 00 00 */	lwz r0, 0(r28)
/* 8037FC54 0037B8B4  7C 7E 1B 78 */	mr r30, r3
/* 8037FC58 0037B8B8  2C 00 00 00 */	cmpwi r0, 0
/* 8037FC5C 0037B8BC  40 82 00 10 */	bne lbl_8037FC6C
/* 8037FC60 0037B8C0  4B EE EB 25 */	bl OSRestoreInterrupts
/* 8037FC64 0037B8C4  3B C0 00 00 */	li r30, 0
/* 8037FC68 0037B8C8  48 00 00 24 */	b lbl_8037FC8C
lbl_8037FC6C:
/* 8037FC6C 0037B8CC  83 BC 00 04 */	lwz r29, 4(r28)
/* 8037FC70 0037B8D0  7F 83 E3 78 */	mr r3, r28
/* 8037FC74 0037B8D4  38 81 00 08 */	addi r4, r1, 8
/* 8037FC78 0037B8D8  93 A1 00 08 */	stw r29, 8(r1)
/* 8037FC7C 0037B8DC  4B FE 2F 41 */	bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 8037FC80 0037B8E0  7F C3 F3 78 */	mr r3, r30
/* 8037FC84 0037B8E4  4B EE EB 01 */	bl OSRestoreInterrupts
/* 8037FC88 0037B8E8  3B DD FF FC */	addi r30, r29, -4
lbl_8037FC8C:
/* 8037FC8C 0037B8EC  2C 1E 00 00 */	cmpwi r30, 0
/* 8037FC90 0037B8F0  41 82 00 14 */	beq lbl_8037FCA4
/* 8037FC94 0037B8F4  7F E3 FB 78 */	mr r3, r31
/* 8037FC98 0037B8F8  4B EE EA ED */	bl OSRestoreInterrupts
/* 8037FC9C 0037B8FC  7F C3 F3 78 */	mr r3, r30
/* 8037FCA0 0037B900  48 00 00 10 */	b lbl_8037FCB0
lbl_8037FCA4:
/* 8037FCA4 0037B904  7F E3 FB 78 */	mr r3, r31
/* 8037FCA8 0037B908  4B EE EA DD */	bl OSRestoreInterrupts
/* 8037FCAC 0037B90C  38 60 00 00 */	li r3, 0
lbl_8037FCB0:
/* 8037FCB0 0037B910  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8037FCB4 0037B914  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8037FCB8 0037B918  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 8037FCBC 0037B91C  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 8037FCC0 0037B920  83 81 00 20 */	lwz r28, 0x20(r1)
/* 8037FCC4 0037B924  7C 08 03 A6 */	mtlr r0
/* 8037FCC8 0037B928  38 21 00 30 */	addi r1, r1, 0x30
/* 8037FCCC 0037B92C  4E 80 00 20 */	blr

.global GetNextTask__Q44nw4r3snd6detail11TaskManagerFv
GetNextTask__Q44nw4r3snd6detail11TaskManagerFv:
/* 8037FCD0 0037B930  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8037FCD4 0037B934  7C 08 02 A6 */	mflr r0
/* 8037FCD8 0037B938  90 01 00 24 */	stw r0, 0x24(r1)
/* 8037FCDC 0037B93C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8037FCE0 0037B940  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8037FCE4 0037B944  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8037FCE8 0037B948  7C 7D 1B 78 */	mr r29, r3
/* 8037FCEC 0037B94C  4B EE EA 71 */	bl OSDisableInterrupts
/* 8037FCF0 0037B950  7C 7F 1B 78 */	mr r31, r3
/* 8037FCF4 0037B954  4B EE EA 69 */	bl OSDisableInterrupts
/* 8037FCF8 0037B958  80 1D 00 18 */	lwz r0, 0x18(r29)
/* 8037FCFC 0037B95C  2C 00 00 00 */	cmpwi r0, 0
/* 8037FD00 0037B960  40 82 00 10 */	bne lbl_8037FD10
/* 8037FD04 0037B964  4B EE EA 81 */	bl OSRestoreInterrupts
/* 8037FD08 0037B968  3B C0 00 00 */	li r30, 0
/* 8037FD0C 0037B96C  48 00 00 10 */	b lbl_8037FD1C
lbl_8037FD10:
/* 8037FD10 0037B970  83 DD 00 1C */	lwz r30, 0x1c(r29)
/* 8037FD14 0037B974  4B EE EA 71 */	bl OSRestoreInterrupts
/* 8037FD18 0037B978  3B DE FF FC */	addi r30, r30, -4
lbl_8037FD1C:
/* 8037FD1C 0037B97C  2C 1E 00 00 */	cmpwi r30, 0
/* 8037FD20 0037B980  41 82 00 14 */	beq lbl_8037FD34
/* 8037FD24 0037B984  7F E3 FB 78 */	mr r3, r31
/* 8037FD28 0037B988  4B EE EA 5D */	bl OSRestoreInterrupts
/* 8037FD2C 0037B98C  7F C3 F3 78 */	mr r3, r30
/* 8037FD30 0037B990  48 00 00 90 */	b lbl_8037FDC0
lbl_8037FD34:
/* 8037FD34 0037B994  4B EE EA 29 */	bl OSDisableInterrupts
/* 8037FD38 0037B998  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 8037FD3C 0037B99C  2C 00 00 00 */	cmpwi r0, 0
/* 8037FD40 0037B9A0  40 82 00 10 */	bne lbl_8037FD50
/* 8037FD44 0037B9A4  4B EE EA 41 */	bl OSRestoreInterrupts
/* 8037FD48 0037B9A8  3B C0 00 00 */	li r30, 0
/* 8037FD4C 0037B9AC  48 00 00 10 */	b lbl_8037FD5C
lbl_8037FD50:
/* 8037FD50 0037B9B0  83 DD 00 10 */	lwz r30, 0x10(r29)
/* 8037FD54 0037B9B4  4B EE EA 31 */	bl OSRestoreInterrupts
/* 8037FD58 0037B9B8  3B DE FF FC */	addi r30, r30, -4
lbl_8037FD5C:
/* 8037FD5C 0037B9BC  2C 1E 00 00 */	cmpwi r30, 0
/* 8037FD60 0037B9C0  41 82 00 14 */	beq lbl_8037FD74
/* 8037FD64 0037B9C4  7F E3 FB 78 */	mr r3, r31
/* 8037FD68 0037B9C8  4B EE EA 1D */	bl OSRestoreInterrupts
/* 8037FD6C 0037B9CC  7F C3 F3 78 */	mr r3, r30
/* 8037FD70 0037B9D0  48 00 00 50 */	b lbl_8037FDC0
lbl_8037FD74:
/* 8037FD74 0037B9D4  4B EE E9 E9 */	bl OSDisableInterrupts
/* 8037FD78 0037B9D8  80 1D 00 00 */	lwz r0, 0(r29)
/* 8037FD7C 0037B9DC  2C 00 00 00 */	cmpwi r0, 0
/* 8037FD80 0037B9E0  40 82 00 10 */	bne lbl_8037FD90
/* 8037FD84 0037B9E4  4B EE EA 01 */	bl OSRestoreInterrupts
/* 8037FD88 0037B9E8  3B C0 00 00 */	li r30, 0
/* 8037FD8C 0037B9EC  48 00 00 10 */	b lbl_8037FD9C
lbl_8037FD90:
/* 8037FD90 0037B9F0  83 DD 00 04 */	lwz r30, 4(r29)
/* 8037FD94 0037B9F4  4B EE E9 F1 */	bl OSRestoreInterrupts
/* 8037FD98 0037B9F8  3B DE FF FC */	addi r30, r30, -4
lbl_8037FD9C:
/* 8037FD9C 0037B9FC  2C 1E 00 00 */	cmpwi r30, 0
/* 8037FDA0 0037BA00  41 82 00 14 */	beq lbl_8037FDB4
/* 8037FDA4 0037BA04  7F E3 FB 78 */	mr r3, r31
/* 8037FDA8 0037BA08  4B EE E9 DD */	bl OSRestoreInterrupts
/* 8037FDAC 0037BA0C  7F C3 F3 78 */	mr r3, r30
/* 8037FDB0 0037BA10  48 00 00 10 */	b lbl_8037FDC0
lbl_8037FDB4:
/* 8037FDB4 0037BA14  7F E3 FB 78 */	mr r3, r31
/* 8037FDB8 0037BA18  4B EE E9 CD */	bl OSRestoreInterrupts
/* 8037FDBC 0037BA1C  38 60 00 00 */	li r3, 0
lbl_8037FDC0:
/* 8037FDC0 0037BA20  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8037FDC4 0037BA24  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8037FDC8 0037BA28  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8037FDCC 0037BA2C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8037FDD0 0037BA30  7C 08 03 A6 */	mtlr r0
/* 8037FDD4 0037BA34  38 21 00 20 */	addi r1, r1, 0x20
/* 8037FDD8 0037BA38  4E 80 00 20 */	blr

.global ExecuteTask__Q44nw4r3snd6detail11TaskManagerFv
ExecuteTask__Q44nw4r3snd6detail11TaskManagerFv:
/* 8037FDDC 0037BA3C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8037FDE0 0037BA40  7C 08 02 A6 */	mflr r0
/* 8037FDE4 0037BA44  90 01 00 24 */	stw r0, 0x24(r1)
/* 8037FDE8 0037BA48  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8037FDEC 0037BA4C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8037FDF0 0037BA50  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8037FDF4 0037BA54  7C 7D 1B 78 */	mr r29, r3
/* 8037FDF8 0037BA58  4B FF FD 7D */	bl PopTask__Q44nw4r3snd6detail11TaskManagerFv
/* 8037FDFC 0037BA5C  2C 03 00 00 */	cmpwi r3, 0
/* 8037FE00 0037BA60  7C 7E 1B 78 */	mr r30, r3
/* 8037FE04 0037BA64  40 82 00 0C */	bne lbl_8037FE10
/* 8037FE08 0037BA68  38 60 00 00 */	li r3, 0
/* 8037FE0C 0037BA6C  48 00 00 30 */	b lbl_8037FE3C
lbl_8037FE10:
/* 8037FE10 0037BA70  90 7D 00 24 */	stw r3, 0x24(r29)
/* 8037FE14 0037BA74  3B E0 00 00 */	li r31, 0
/* 8037FE18 0037BA78  9B E3 00 0C */	stb r31, 0xc(r3)
/* 8037FE1C 0037BA7C  81 83 00 00 */	lwz r12, 0(r3)
/* 8037FE20 0037BA80  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 8037FE24 0037BA84  7D 89 03 A6 */	mtctr r12
/* 8037FE28 0037BA88  4E 80 04 21 */	bctrl
/* 8037FE2C 0037BA8C  93 FD 00 24 */	stw r31, 0x24(r29)
/* 8037FE30 0037BA90  38 7D 00 34 */	addi r3, r29, 0x34
/* 8037FE34 0037BA94  4B EF 26 2D */	bl OSWakeupThread
/* 8037FE38 0037BA98  7F C3 F3 78 */	mr r3, r30
lbl_8037FE3C:
/* 8037FE3C 0037BA9C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8037FE40 0037BAA0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8037FE44 0037BAA4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8037FE48 0037BAA8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8037FE4C 0037BAAC  7C 08 03 A6 */	mtlr r0
/* 8037FE50 0037BAB0  38 21 00 20 */	addi r1, r1, 0x20
/* 8037FE54 0037BAB4  4E 80 00 20 */	blr

.global CancelTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4Task
CancelTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4Task:
/* 8037FE58 0037BAB8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8037FE5C 0037BABC  7C 08 02 A6 */	mflr r0
/* 8037FE60 0037BAC0  90 01 00 34 */	stw r0, 0x34(r1)
/* 8037FE64 0037BAC4  39 61 00 30 */	addi r11, r1, 0x30
/* 8037FE68 0037BAC8  4B E4 72 B9 */	bl _savegpr_25
/* 8037FE6C 0037BACC  7C 79 1B 78 */	mr r25, r3
/* 8037FE70 0037BAD0  7C 9A 23 78 */	mr r26, r4
/* 8037FE74 0037BAD4  4B EE E8 E9 */	bl OSDisableInterrupts
/* 8037FE78 0037BAD8  80 19 00 24 */	lwz r0, 0x24(r25)
/* 8037FE7C 0037BADC  7C 7E 1B 78 */	mr r30, r3
/* 8037FE80 0037BAE0  7C 1A 00 40 */	cmplw r26, r0
/* 8037FE84 0037BAE4  40 82 00 34 */	bne lbl_8037FEB8
/* 8037FE88 0037BAE8  81 9A 00 00 */	lwz r12, 0(r26)
/* 8037FE8C 0037BAEC  7F 43 D3 78 */	mr r3, r26
/* 8037FE90 0037BAF0  81 8C 00 14 */	lwz r12, 0x14(r12)
/* 8037FE94 0037BAF4  7D 89 03 A6 */	mtctr r12
/* 8037FE98 0037BAF8  4E 80 04 21 */	bctrl
/* 8037FE9C 0037BAFC  48 00 00 0C */	b lbl_8037FEA8
lbl_8037FEA0:
/* 8037FEA0 0037BB00  38 79 00 34 */	addi r3, r25, 0x34
/* 8037FEA4 0037BB04  4B EF 24 D1 */	bl OSSleepThread
lbl_8037FEA8:
/* 8037FEA8 0037BB08  80 19 00 24 */	lwz r0, 0x24(r25)
/* 8037FEAC 0037BB0C  7C 1A 00 40 */	cmplw r26, r0
/* 8037FEB0 0037BB10  41 82 FF F0 */	beq lbl_8037FEA0
/* 8037FEB4 0037BB14  48 00 00 74 */	b lbl_8037FF28
lbl_8037FEB8:
/* 8037FEB8 0037BB18  3B 60 00 00 */	li r27, 0
/* 8037FEBC 0037BB1C  3B E0 00 00 */	li r31, 0
/* 8037FEC0 0037BB20  3B A0 00 00 */	li r29, 0
lbl_8037FEC4:
/* 8037FEC4 0037BB24  7C 79 FA 14 */	add r3, r25, r31
/* 8037FEC8 0037BB28  80 83 00 04 */	lwz r4, 4(r3)
/* 8037FECC 0037BB2C  38 03 00 04 */	addi r0, r3, 4
/* 8037FED0 0037BB30  48 00 00 40 */	b lbl_8037FF10
lbl_8037FED4:
/* 8037FED4 0037BB34  7C 9C 23 78 */	mr r28, r4
/* 8037FED8 0037BB38  80 84 00 00 */	lwz r4, 0(r4)
/* 8037FEDC 0037BB3C  38 BC FF FC */	addi r5, r28, -4
/* 8037FEE0 0037BB40  7C 05 D0 40 */	cmplw r5, r26
/* 8037FEE4 0037BB44  40 82 00 2C */	bne lbl_8037FF10
/* 8037FEE8 0037BB48  93 81 00 08 */	stw r28, 8(r1)
/* 8037FEEC 0037BB4C  38 81 00 08 */	addi r4, r1, 8
/* 8037FEF0 0037BB50  4B FE 2C CD */	bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 8037FEF4 0037BB54  9B BC 00 08 */	stb r29, 8(r28)
/* 8037FEF8 0037BB58  38 7C FF FC */	addi r3, r28, -4
/* 8037FEFC 0037BB5C  81 9C FF FC */	lwz r12, -4(r28)
/* 8037FF00 0037BB60  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 8037FF04 0037BB64  7D 89 03 A6 */	mtctr r12
/* 8037FF08 0037BB68  4E 80 04 21 */	bctrl
/* 8037FF0C 0037BB6C  48 00 00 0C */	b lbl_8037FF18
lbl_8037FF10:
/* 8037FF10 0037BB70  7C 04 00 40 */	cmplw r4, r0
/* 8037FF14 0037BB74  40 82 FF C0 */	bne lbl_8037FED4
lbl_8037FF18:
/* 8037FF18 0037BB78  3B 7B 00 01 */	addi r27, r27, 1
/* 8037FF1C 0037BB7C  3B FF 00 0C */	addi r31, r31, 0xc
/* 8037FF20 0037BB80  2C 1B 00 03 */	cmpwi r27, 3
/* 8037FF24 0037BB84  41 80 FF A0 */	blt lbl_8037FEC4
lbl_8037FF28:
/* 8037FF28 0037BB88  7F C3 F3 78 */	mr r3, r30
/* 8037FF2C 0037BB8C  4B EE E8 59 */	bl OSRestoreInterrupts
/* 8037FF30 0037BB90  39 61 00 30 */	addi r11, r1, 0x30
/* 8037FF34 0037BB94  4B E4 72 39 */	bl _restgpr_25
/* 8037FF38 0037BB98  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8037FF3C 0037BB9C  7C 08 03 A6 */	mtlr r0
/* 8037FF40 0037BBA0  38 21 00 30 */	addi r1, r1, 0x30
/* 8037FF44 0037BBA4  4E 80 00 20 */	blr

.global WaitTask__Q44nw4r3snd6detail11TaskManagerFv
WaitTask__Q44nw4r3snd6detail11TaskManagerFv:
/* 8037FF48 0037BBA8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8037FF4C 0037BBAC  7C 08 02 A6 */	mflr r0
/* 8037FF50 0037BBB0  90 01 00 14 */	stw r0, 0x14(r1)
/* 8037FF54 0037BBB4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8037FF58 0037BBB8  93 C1 00 08 */	stw r30, 8(r1)
/* 8037FF5C 0037BBBC  7C 7E 1B 78 */	mr r30, r3
/* 8037FF60 0037BBC0  4B EE E7 FD */	bl OSDisableInterrupts
/* 8037FF64 0037BBC4  38 00 00 00 */	li r0, 0
/* 8037FF68 0037BBC8  7C 7F 1B 78 */	mr r31, r3
/* 8037FF6C 0037BBCC  98 1E 00 28 */	stb r0, 0x28(r30)
/* 8037FF70 0037BBD0  48 00 00 0C */	b lbl_8037FF7C
lbl_8037FF74:
/* 8037FF74 0037BBD4  38 7E 00 2C */	addi r3, r30, 0x2c
/* 8037FF78 0037BBD8  4B EF 23 FD */	bl OSSleepThread
lbl_8037FF7C:
/* 8037FF7C 0037BBDC  7F C3 F3 78 */	mr r3, r30
/* 8037FF80 0037BBE0  4B FF FD 51 */	bl GetNextTask__Q44nw4r3snd6detail11TaskManagerFv
/* 8037FF84 0037BBE4  2C 03 00 00 */	cmpwi r3, 0
/* 8037FF88 0037BBE8  40 82 00 10 */	bne lbl_8037FF98
/* 8037FF8C 0037BBEC  88 1E 00 28 */	lbz r0, 0x28(r30)
/* 8037FF90 0037BBF0  2C 00 00 00 */	cmpwi r0, 0
/* 8037FF94 0037BBF4  41 82 FF E0 */	beq lbl_8037FF74
lbl_8037FF98:
/* 8037FF98 0037BBF8  7F E3 FB 78 */	mr r3, r31
/* 8037FF9C 0037BBFC  4B EE E7 E9 */	bl OSRestoreInterrupts
/* 8037FFA0 0037BC00  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8037FFA4 0037BC04  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8037FFA8 0037BC08  83 C1 00 08 */	lwz r30, 8(r1)
/* 8037FFAC 0037BC0C  7C 08 03 A6 */	mtlr r0
/* 8037FFB0 0037BC10  38 21 00 10 */	addi r1, r1, 0x10
/* 8037FFB4 0037BC14  4E 80 00 20 */	blr

.global CancelWaitTask__Q44nw4r3snd6detail11TaskManagerFv
CancelWaitTask__Q44nw4r3snd6detail11TaskManagerFv:
/* 8037FFB8 0037BC18  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8037FFBC 0037BC1C  7C 08 02 A6 */	mflr r0
/* 8037FFC0 0037BC20  90 01 00 14 */	stw r0, 0x14(r1)
/* 8037FFC4 0037BC24  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8037FFC8 0037BC28  93 C1 00 08 */	stw r30, 8(r1)
/* 8037FFCC 0037BC2C  7C 7E 1B 78 */	mr r30, r3
/* 8037FFD0 0037BC30  4B EE E7 8D */	bl OSDisableInterrupts
/* 8037FFD4 0037BC34  38 00 00 01 */	li r0, 1
/* 8037FFD8 0037BC38  7C 7F 1B 78 */	mr r31, r3
/* 8037FFDC 0037BC3C  98 1E 00 28 */	stb r0, 0x28(r30)
/* 8037FFE0 0037BC40  38 7E 00 2C */	addi r3, r30, 0x2c
/* 8037FFE4 0037BC44  4B EF 24 7D */	bl OSWakeupThread
/* 8037FFE8 0037BC48  7F E3 FB 78 */	mr r3, r31
/* 8037FFEC 0037BC4C  4B EE E7 99 */	bl OSRestoreInterrupts
/* 8037FFF0 0037BC50  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8037FFF4 0037BC54  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8037FFF8 0037BC58  83 C1 00 08 */	lwz r30, 8(r1)
/* 8037FFFC 0037BC5C  7C 08 03 A6 */	mtlr r0
/* 80380000 0037BC60  38 21 00 10 */	addi r1, r1, 0x10
/* 80380004 0037BC64  4E 80 00 20 */	blr