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
|