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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __ct__Q44nw4r3snd6detail9FrameHeapFv
__ct__Q44nw4r3snd6detail9FrameHeapFv:
/* 8037005C 0036BCBC 38 00 00 00 */ li r0, 0
/* 80370060 0036BCC0 38 83 00 08 */ addi r4, r3, 8
/* 80370064 0036BCC4 90 03 00 08 */ stw r0, 8(r3)
/* 80370068 0036BCC8 90 03 00 0C */ stw r0, 0xc(r3)
/* 8037006C 0036BCCC 90 03 00 00 */ stw r0, 0(r3)
/* 80370070 0036BCD0 90 03 00 04 */ stw r0, 4(r3)
/* 80370074 0036BCD4 90 83 00 08 */ stw r4, 8(r3)
/* 80370078 0036BCD8 90 83 00 0C */ stw r4, 0xc(r3)
/* 8037007C 0036BCDC 4E 80 00 20 */ blr
.global __dt__Q44nw4r3snd6detail9FrameHeapFv
__dt__Q44nw4r3snd6detail9FrameHeapFv:
/* 80370080 0036BCE0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80370084 0036BCE4 7C 08 02 A6 */ mflr r0
/* 80370088 0036BCE8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8037008C 0036BCEC 39 61 00 20 */ addi r11, r1, 0x20
/* 80370090 0036BCF0 4B E5 70 99 */ bl _savegpr_27
/* 80370094 0036BCF4 2C 03 00 00 */ cmpwi r3, 0
/* 80370098 0036BCF8 7C 7B 1B 78 */ mr r27, r3
/* 8037009C 0036BCFC 7C 9C 23 78 */ mr r28, r4
/* 803700A0 0036BD00 41 82 00 D8 */ beq lbl_80370178
/* 803700A4 0036BD04 80 03 00 00 */ lwz r0, 0(r3)
/* 803700A8 0036BD08 2C 00 00 00 */ cmpwi r0, 0
/* 803700AC 0036BD0C 41 82 00 AC */ beq lbl_80370158
/* 803700B0 0036BD10 41 82 00 A8 */ beq lbl_80370158
/* 803700B4 0036BD14 80 03 00 04 */ lwz r0, 4(r3)
/* 803700B8 0036BD18 2C 00 00 00 */ cmpwi r0, 0
/* 803700BC 0036BD1C 41 82 00 80 */ beq lbl_8037013C
/* 803700C0 0036BD20 3B E3 00 08 */ addi r31, r3, 8
/* 803700C4 0036BD24 48 00 00 6C */ b lbl_80370130
lbl_803700C8:
/* 803700C8 0036BD28 83 BF 00 04 */ lwz r29, 4(r31)
/* 803700CC 0036BD2C 2C 1D 00 00 */ cmpwi r29, 0
/* 803700D0 0036BD30 41 82 00 54 */ beq lbl_80370124
/* 803700D4 0036BD34 3B DD 00 0C */ addi r30, r29, 0xc
/* 803700D8 0036BD38 48 00 00 30 */ b lbl_80370108
lbl_803700DC:
/* 803700DC 0036BD3C 83 DE 00 04 */ lwz r30, 4(r30)
/* 803700E0 0036BD40 2C 1E 00 00 */ cmpwi r30, 0
/* 803700E4 0036BD44 41 82 00 24 */ beq lbl_80370108
/* 803700E8 0036BD48 81 9E 00 0C */ lwz r12, 0xc(r30)
/* 803700EC 0036BD4C 2C 0C 00 00 */ cmpwi r12, 0
/* 803700F0 0036BD50 41 82 00 18 */ beq lbl_80370108
/* 803700F4 0036BD54 38 7E 00 20 */ addi r3, r30, 0x20
/* 803700F8 0036BD58 80 9E 00 08 */ lwz r4, 8(r30)
/* 803700FC 0036BD5C 80 BE 00 10 */ lwz r5, 0x10(r30)
/* 80370100 0036BD60 7D 89 03 A6 */ mtctr r12
/* 80370104 0036BD64 4E 80 04 21 */ bctrl
lbl_80370108:
/* 80370108 0036BD68 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8037010C 0036BD6C 7C 1E 00 40 */ cmplw r30, r0
/* 80370110 0036BD70 40 82 FF CC */ bne lbl_803700DC
/* 80370114 0036BD74 34 7D 00 08 */ addic. r3, r29, 8
/* 80370118 0036BD78 41 82 00 0C */ beq lbl_80370124
/* 8037011C 0036BD7C 38 80 00 00 */ li r4, 0
/* 80370120 0036BD80 4B FF 2A 19 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_80370124:
/* 80370124 0036BD84 7F A4 EB 78 */ mr r4, r29
/* 80370128 0036BD88 38 7B 00 04 */ addi r3, r27, 4
/* 8037012C 0036BD8C 4B FF 2B 49 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
lbl_80370130:
/* 80370130 0036BD90 80 1B 00 04 */ lwz r0, 4(r27)
/* 80370134 0036BD94 2C 00 00 00 */ cmpwi r0, 0
/* 80370138 0036BD98 40 82 FF 90 */ bne lbl_803700C8
lbl_8037013C:
/* 8037013C 0036BD9C 80 7B 00 00 */ lwz r3, 0(r27)
/* 80370140 0036BDA0 38 80 00 03 */ li r4, 3
/* 80370144 0036BDA4 4B F2 74 9D */ bl MEMFreeToFrmHeap
/* 80370148 0036BDA8 80 7B 00 00 */ lwz r3, 0(r27)
/* 8037014C 0036BDAC 4B F2 73 45 */ bl MEMDestroyFrmHeap
/* 80370150 0036BDB0 38 00 00 00 */ li r0, 0
/* 80370154 0036BDB4 90 1B 00 00 */ stw r0, 0(r27)
lbl_80370158:
/* 80370158 0036BDB8 34 7B 00 04 */ addic. r3, r27, 4
/* 8037015C 0036BDBC 41 82 00 0C */ beq lbl_80370168
/* 80370160 0036BDC0 38 80 00 00 */ li r4, 0
/* 80370164 0036BDC4 4B FF 29 D5 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_80370168:
/* 80370168 0036BDC8 2C 1C 00 00 */ cmpwi r28, 0
/* 8037016C 0036BDCC 40 81 00 0C */ ble lbl_80370178
/* 80370170 0036BDD0 7F 63 DB 78 */ mr r3, r27
/* 80370174 0036BDD4 4B E6 A9 45 */ bl __dl__FPv
lbl_80370178:
/* 80370178 0036BDD8 39 61 00 20 */ addi r11, r1, 0x20
/* 8037017C 0036BDDC 7F 63 DB 78 */ mr r3, r27
/* 80370180 0036BDE0 4B E5 6F F5 */ bl _restgpr_27
/* 80370184 0036BDE4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80370188 0036BDE8 7C 08 03 A6 */ mtlr r0
/* 8037018C 0036BDEC 38 21 00 20 */ addi r1, r1, 0x20
/* 80370190 0036BDF0 4E 80 00 20 */ blr
.global Create__Q44nw4r3snd6detail9FrameHeapFPvUl
Create__Q44nw4r3snd6detail9FrameHeapFPvUl:
/* 80370194 0036BDF4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80370198 0036BDF8 7C 08 02 A6 */ mflr r0
/* 8037019C 0036BDFC 90 01 00 34 */ stw r0, 0x34(r1)
/* 803701A0 0036BE00 39 61 00 30 */ addi r11, r1, 0x30
/* 803701A4 0036BE04 4B E5 6F 81 */ bl _savegpr_26
/* 803701A8 0036BE08 80 03 00 00 */ lwz r0, 0(r3)
/* 803701AC 0036BE0C 7C 7A 1B 78 */ mr r26, r3
/* 803701B0 0036BE10 7C 9B 23 78 */ mr r27, r4
/* 803701B4 0036BE14 7C BC 2B 78 */ mr r28, r5
/* 803701B8 0036BE18 2C 00 00 00 */ cmpwi r0, 0
/* 803701BC 0036BE1C 41 82 00 AC */ beq lbl_80370268
/* 803701C0 0036BE20 41 82 00 A8 */ beq lbl_80370268
/* 803701C4 0036BE24 80 03 00 04 */ lwz r0, 4(r3)
/* 803701C8 0036BE28 2C 00 00 00 */ cmpwi r0, 0
/* 803701CC 0036BE2C 41 82 00 80 */ beq lbl_8037024C
/* 803701D0 0036BE30 3B E3 00 08 */ addi r31, r3, 8
/* 803701D4 0036BE34 48 00 00 6C */ b lbl_80370240
lbl_803701D8:
/* 803701D8 0036BE38 83 BF 00 04 */ lwz r29, 4(r31)
/* 803701DC 0036BE3C 2C 1D 00 00 */ cmpwi r29, 0
/* 803701E0 0036BE40 41 82 00 54 */ beq lbl_80370234
/* 803701E4 0036BE44 3B DD 00 0C */ addi r30, r29, 0xc
/* 803701E8 0036BE48 48 00 00 30 */ b lbl_80370218
lbl_803701EC:
/* 803701EC 0036BE4C 83 DE 00 04 */ lwz r30, 4(r30)
/* 803701F0 0036BE50 2C 1E 00 00 */ cmpwi r30, 0
/* 803701F4 0036BE54 41 82 00 24 */ beq lbl_80370218
/* 803701F8 0036BE58 81 9E 00 0C */ lwz r12, 0xc(r30)
/* 803701FC 0036BE5C 2C 0C 00 00 */ cmpwi r12, 0
/* 80370200 0036BE60 41 82 00 18 */ beq lbl_80370218
/* 80370204 0036BE64 38 7E 00 20 */ addi r3, r30, 0x20
/* 80370208 0036BE68 80 9E 00 08 */ lwz r4, 8(r30)
/* 8037020C 0036BE6C 80 BE 00 10 */ lwz r5, 0x10(r30)
/* 80370210 0036BE70 7D 89 03 A6 */ mtctr r12
/* 80370214 0036BE74 4E 80 04 21 */ bctrl
lbl_80370218:
/* 80370218 0036BE78 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8037021C 0036BE7C 7C 1E 00 40 */ cmplw r30, r0
/* 80370220 0036BE80 40 82 FF CC */ bne lbl_803701EC
/* 80370224 0036BE84 34 7D 00 08 */ addic. r3, r29, 8
/* 80370228 0036BE88 41 82 00 0C */ beq lbl_80370234
/* 8037022C 0036BE8C 38 80 00 00 */ li r4, 0
/* 80370230 0036BE90 4B FF 29 09 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_80370234:
/* 80370234 0036BE94 7F A4 EB 78 */ mr r4, r29
/* 80370238 0036BE98 38 7A 00 04 */ addi r3, r26, 4
/* 8037023C 0036BE9C 4B FF 2A 39 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
lbl_80370240:
/* 80370240 0036BEA0 80 1A 00 04 */ lwz r0, 4(r26)
/* 80370244 0036BEA4 2C 00 00 00 */ cmpwi r0, 0
/* 80370248 0036BEA8 40 82 FF 90 */ bne lbl_803701D8
lbl_8037024C:
/* 8037024C 0036BEAC 80 7A 00 00 */ lwz r3, 0(r26)
/* 80370250 0036BEB0 38 80 00 03 */ li r4, 3
/* 80370254 0036BEB4 4B F2 73 8D */ bl MEMFreeToFrmHeap
/* 80370258 0036BEB8 80 7A 00 00 */ lwz r3, 0(r26)
/* 8037025C 0036BEBC 4B F2 72 35 */ bl MEMDestroyFrmHeap
/* 80370260 0036BEC0 38 00 00 00 */ li r0, 0
/* 80370264 0036BEC4 90 1A 00 00 */ stw r0, 0(r26)
lbl_80370268:
/* 80370268 0036BEC8 38 1B 00 03 */ addi r0, r27, 3
/* 8037026C 0036BECC 7C 9B E2 14 */ add r4, r27, r28
/* 80370270 0036BED0 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d
/* 80370274 0036BED4 7C 03 20 40 */ cmplw r3, r4
/* 80370278 0036BED8 40 81 00 0C */ ble lbl_80370284
/* 8037027C 0036BEDC 38 60 00 00 */ li r3, 0
/* 80370280 0036BEE0 48 00 00 98 */ b lbl_80370318
lbl_80370284:
/* 80370284 0036BEE4 7C 83 20 50 */ subf r4, r3, r4
/* 80370288 0036BEE8 38 A0 00 00 */ li r5, 0
/* 8037028C 0036BEEC 4B F2 71 81 */ bl MEMCreateFrmHeapEx
/* 80370290 0036BEF0 2C 03 00 00 */ cmpwi r3, 0
/* 80370294 0036BEF4 90 7A 00 00 */ stw r3, 0(r26)
/* 80370298 0036BEF8 40 82 00 0C */ bne lbl_803702A4
/* 8037029C 0036BEFC 38 60 00 00 */ li r3, 0
/* 803702A0 0036BF00 48 00 00 78 */ b lbl_80370318
lbl_803702A4:
/* 803702A4 0036BF04 38 80 00 14 */ li r4, 0x14
/* 803702A8 0036BF08 38 A0 00 04 */ li r5, 4
/* 803702AC 0036BF0C 4B F2 72 15 */ bl MEMAllocFromFrmHeapEx
/* 803702B0 0036BF10 2C 03 00 00 */ cmpwi r3, 0
/* 803702B4 0036BF14 40 82 00 0C */ bne lbl_803702C0
/* 803702B8 0036BF18 38 00 00 00 */ li r0, 0
/* 803702BC 0036BF1C 48 00 00 48 */ b lbl_80370304
lbl_803702C0:
/* 803702C0 0036BF20 7C 65 1B 78 */ mr r5, r3
/* 803702C4 0036BF24 41 82 00 28 */ beq lbl_803702EC
/* 803702C8 0036BF28 38 00 00 00 */ li r0, 0
/* 803702CC 0036BF2C 38 83 00 0C */ addi r4, r3, 0xc
/* 803702D0 0036BF30 90 03 00 00 */ stw r0, 0(r3)
/* 803702D4 0036BF34 90 03 00 04 */ stw r0, 4(r3)
/* 803702D8 0036BF38 90 03 00 0C */ stw r0, 0xc(r3)
/* 803702DC 0036BF3C 90 03 00 10 */ stw r0, 0x10(r3)
/* 803702E0 0036BF40 90 03 00 08 */ stw r0, 8(r3)
/* 803702E4 0036BF44 90 83 00 0C */ stw r4, 0xc(r3)
/* 803702E8 0036BF48 90 83 00 10 */ stw r4, 0x10(r3)
lbl_803702EC:
/* 803702EC 0036BF4C 38 1A 00 08 */ addi r0, r26, 8
/* 803702F0 0036BF50 38 7A 00 04 */ addi r3, r26, 4
/* 803702F4 0036BF54 90 01 00 08 */ stw r0, 8(r1)
/* 803702F8 0036BF58 38 81 00 08 */ addi r4, r1, 8
/* 803702FC 0036BF5C 4B FF 29 4D */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 80370300 0036BF60 38 00 00 01 */ li r0, 1
lbl_80370304:
/* 80370304 0036BF64 2C 00 00 00 */ cmpwi r0, 0
/* 80370308 0036BF68 40 82 00 0C */ bne lbl_80370314
/* 8037030C 0036BF6C 38 60 00 00 */ li r3, 0
/* 80370310 0036BF70 48 00 00 08 */ b lbl_80370318
lbl_80370314:
/* 80370314 0036BF74 38 60 00 01 */ li r3, 1
lbl_80370318:
/* 80370318 0036BF78 39 61 00 30 */ addi r11, r1, 0x30
/* 8037031C 0036BF7C 4B E5 6E 55 */ bl _restgpr_26
/* 80370320 0036BF80 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80370324 0036BF84 7C 08 03 A6 */ mtlr r0
/* 80370328 0036BF88 38 21 00 30 */ addi r1, r1, 0x30
/* 8037032C 0036BF8C 4E 80 00 20 */ blr
.global Destroy__Q44nw4r3snd6detail9FrameHeapFv
Destroy__Q44nw4r3snd6detail9FrameHeapFv:
/* 80370330 0036BF90 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80370334 0036BF94 7C 08 02 A6 */ mflr r0
/* 80370338 0036BF98 90 01 00 24 */ stw r0, 0x24(r1)
/* 8037033C 0036BF9C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80370340 0036BFA0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80370344 0036BFA4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80370348 0036BFA8 93 81 00 10 */ stw r28, 0x10(r1)
/* 8037034C 0036BFAC 7C 7C 1B 78 */ mr r28, r3
/* 80370350 0036BFB0 80 03 00 00 */ lwz r0, 0(r3)
/* 80370354 0036BFB4 2C 00 00 00 */ cmpwi r0, 0
/* 80370358 0036BFB8 41 82 00 A8 */ beq lbl_80370400
/* 8037035C 0036BFBC 80 03 00 04 */ lwz r0, 4(r3)
/* 80370360 0036BFC0 2C 00 00 00 */ cmpwi r0, 0
/* 80370364 0036BFC4 41 82 00 80 */ beq lbl_803703E4
/* 80370368 0036BFC8 3B E3 00 08 */ addi r31, r3, 8
/* 8037036C 0036BFCC 48 00 00 6C */ b lbl_803703D8
lbl_80370370:
/* 80370370 0036BFD0 83 BF 00 04 */ lwz r29, 4(r31)
/* 80370374 0036BFD4 2C 1D 00 00 */ cmpwi r29, 0
/* 80370378 0036BFD8 41 82 00 54 */ beq lbl_803703CC
/* 8037037C 0036BFDC 3B DD 00 0C */ addi r30, r29, 0xc
/* 80370380 0036BFE0 48 00 00 30 */ b lbl_803703B0
lbl_80370384:
/* 80370384 0036BFE4 83 DE 00 04 */ lwz r30, 4(r30)
/* 80370388 0036BFE8 2C 1E 00 00 */ cmpwi r30, 0
/* 8037038C 0036BFEC 41 82 00 24 */ beq lbl_803703B0
/* 80370390 0036BFF0 81 9E 00 0C */ lwz r12, 0xc(r30)
/* 80370394 0036BFF4 2C 0C 00 00 */ cmpwi r12, 0
/* 80370398 0036BFF8 41 82 00 18 */ beq lbl_803703B0
/* 8037039C 0036BFFC 38 7E 00 20 */ addi r3, r30, 0x20
/* 803703A0 0036C000 80 9E 00 08 */ lwz r4, 8(r30)
/* 803703A4 0036C004 80 BE 00 10 */ lwz r5, 0x10(r30)
/* 803703A8 0036C008 7D 89 03 A6 */ mtctr r12
/* 803703AC 0036C00C 4E 80 04 21 */ bctrl
lbl_803703B0:
/* 803703B0 0036C010 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 803703B4 0036C014 7C 1E 00 40 */ cmplw r30, r0
/* 803703B8 0036C018 40 82 FF CC */ bne lbl_80370384
/* 803703BC 0036C01C 34 7D 00 08 */ addic. r3, r29, 8
/* 803703C0 0036C020 41 82 00 0C */ beq lbl_803703CC
/* 803703C4 0036C024 38 80 00 00 */ li r4, 0
/* 803703C8 0036C028 4B FF 27 71 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_803703CC:
/* 803703CC 0036C02C 7F A4 EB 78 */ mr r4, r29
/* 803703D0 0036C030 38 7C 00 04 */ addi r3, r28, 4
/* 803703D4 0036C034 4B FF 28 A1 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
lbl_803703D8:
/* 803703D8 0036C038 80 1C 00 04 */ lwz r0, 4(r28)
/* 803703DC 0036C03C 2C 00 00 00 */ cmpwi r0, 0
/* 803703E0 0036C040 40 82 FF 90 */ bne lbl_80370370
lbl_803703E4:
/* 803703E4 0036C044 80 7C 00 00 */ lwz r3, 0(r28)
/* 803703E8 0036C048 38 80 00 03 */ li r4, 3
/* 803703EC 0036C04C 4B F2 71 F5 */ bl MEMFreeToFrmHeap
/* 803703F0 0036C050 80 7C 00 00 */ lwz r3, 0(r28)
/* 803703F4 0036C054 4B F2 70 9D */ bl MEMDestroyFrmHeap
/* 803703F8 0036C058 38 00 00 00 */ li r0, 0
/* 803703FC 0036C05C 90 1C 00 00 */ stw r0, 0(r28)
lbl_80370400:
/* 80370400 0036C060 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80370404 0036C064 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80370408 0036C068 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8037040C 0036C06C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80370410 0036C070 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80370414 0036C074 7C 08 03 A6 */ mtlr r0
/* 80370418 0036C078 38 21 00 20 */ addi r1, r1, 0x20
/* 8037041C 0036C07C 4E 80 00 20 */ blr
.global Clear__Q44nw4r3snd6detail9FrameHeapFv
Clear__Q44nw4r3snd6detail9FrameHeapFv:
/* 80370420 0036C080 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80370424 0036C084 7C 08 02 A6 */ mflr r0
/* 80370428 0036C088 90 01 00 24 */ stw r0, 0x24(r1)
/* 8037042C 0036C08C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80370430 0036C090 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80370434 0036C094 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80370438 0036C098 93 81 00 10 */ stw r28, 0x10(r1)
/* 8037043C 0036C09C 7C 7C 1B 78 */ mr r28, r3
/* 80370440 0036C0A0 80 03 00 04 */ lwz r0, 4(r3)
/* 80370444 0036C0A4 2C 00 00 00 */ cmpwi r0, 0
/* 80370448 0036C0A8 41 82 00 80 */ beq lbl_803704C8
/* 8037044C 0036C0AC 3B E3 00 08 */ addi r31, r3, 8
/* 80370450 0036C0B0 48 00 00 6C */ b lbl_803704BC
lbl_80370454:
/* 80370454 0036C0B4 83 BF 00 04 */ lwz r29, 4(r31)
/* 80370458 0036C0B8 2C 1D 00 00 */ cmpwi r29, 0
/* 8037045C 0036C0BC 41 82 00 54 */ beq lbl_803704B0
/* 80370460 0036C0C0 3B DD 00 0C */ addi r30, r29, 0xc
/* 80370464 0036C0C4 48 00 00 30 */ b lbl_80370494
lbl_80370468:
/* 80370468 0036C0C8 83 DE 00 04 */ lwz r30, 4(r30)
/* 8037046C 0036C0CC 2C 1E 00 00 */ cmpwi r30, 0
/* 80370470 0036C0D0 41 82 00 24 */ beq lbl_80370494
/* 80370474 0036C0D4 81 9E 00 0C */ lwz r12, 0xc(r30)
/* 80370478 0036C0D8 2C 0C 00 00 */ cmpwi r12, 0
/* 8037047C 0036C0DC 41 82 00 18 */ beq lbl_80370494
/* 80370480 0036C0E0 38 7E 00 20 */ addi r3, r30, 0x20
/* 80370484 0036C0E4 80 9E 00 08 */ lwz r4, 8(r30)
/* 80370488 0036C0E8 80 BE 00 10 */ lwz r5, 0x10(r30)
/* 8037048C 0036C0EC 7D 89 03 A6 */ mtctr r12
/* 80370490 0036C0F0 4E 80 04 21 */ bctrl
lbl_80370494:
/* 80370494 0036C0F4 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 80370498 0036C0F8 7C 1E 00 40 */ cmplw r30, r0
/* 8037049C 0036C0FC 40 82 FF CC */ bne lbl_80370468
/* 803704A0 0036C100 34 7D 00 08 */ addic. r3, r29, 8
/* 803704A4 0036C104 41 82 00 0C */ beq lbl_803704B0
/* 803704A8 0036C108 38 80 00 00 */ li r4, 0
/* 803704AC 0036C10C 4B FF 26 8D */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
lbl_803704B0:
/* 803704B0 0036C110 7F A4 EB 78 */ mr r4, r29
/* 803704B4 0036C114 38 7C 00 04 */ addi r3, r28, 4
/* 803704B8 0036C118 4B FF 27 BD */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
lbl_803704BC:
/* 803704BC 0036C11C 80 1C 00 04 */ lwz r0, 4(r28)
/* 803704C0 0036C120 2C 00 00 00 */ cmpwi r0, 0
/* 803704C4 0036C124 40 82 FF 90 */ bne lbl_80370454
lbl_803704C8:
/* 803704C8 0036C128 80 7C 00 00 */ lwz r3, 0(r28)
/* 803704CC 0036C12C 38 80 00 03 */ li r4, 3
/* 803704D0 0036C130 4B F2 71 11 */ bl MEMFreeToFrmHeap
/* 803704D4 0036C134 80 7C 00 00 */ lwz r3, 0(r28)
/* 803704D8 0036C138 38 80 00 14 */ li r4, 0x14
/* 803704DC 0036C13C 38 A0 00 04 */ li r5, 4
/* 803704E0 0036C140 4B F2 6F E1 */ bl MEMAllocFromFrmHeapEx
/* 803704E4 0036C144 2C 03 00 00 */ cmpwi r3, 0
/* 803704E8 0036C148 41 82 00 44 */ beq lbl_8037052C
/* 803704EC 0036C14C 7C 65 1B 78 */ mr r5, r3
/* 803704F0 0036C150 41 82 00 28 */ beq lbl_80370518
/* 803704F4 0036C154 38 00 00 00 */ li r0, 0
/* 803704F8 0036C158 38 83 00 0C */ addi r4, r3, 0xc
/* 803704FC 0036C15C 90 03 00 00 */ stw r0, 0(r3)
/* 80370500 0036C160 90 03 00 04 */ stw r0, 4(r3)
/* 80370504 0036C164 90 03 00 0C */ stw r0, 0xc(r3)
/* 80370508 0036C168 90 03 00 10 */ stw r0, 0x10(r3)
/* 8037050C 0036C16C 90 03 00 08 */ stw r0, 8(r3)
/* 80370510 0036C170 90 83 00 0C */ stw r4, 0xc(r3)
/* 80370514 0036C174 90 83 00 10 */ stw r4, 0x10(r3)
lbl_80370518:
/* 80370518 0036C178 38 1C 00 08 */ addi r0, r28, 8
/* 8037051C 0036C17C 38 7C 00 04 */ addi r3, r28, 4
/* 80370520 0036C180 90 01 00 08 */ stw r0, 8(r1)
/* 80370524 0036C184 38 81 00 08 */ addi r4, r1, 8
/* 80370528 0036C188 4B FF 27 21 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
lbl_8037052C:
/* 8037052C 0036C18C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80370530 0036C190 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80370534 0036C194 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80370538 0036C198 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8037053C 0036C19C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80370540 0036C1A0 7C 08 03 A6 */ mtlr r0
/* 80370544 0036C1A4 38 21 00 20 */ addi r1, r1, 0x20
/* 80370548 0036C1A8 4E 80 00 20 */ blr
.global Alloc__Q44nw4r3snd6detail9FrameHeapFUlPFPvUlPv_vPv
Alloc__Q44nw4r3snd6detail9FrameHeapFUlPFPvUlPv_vPv:
/* 8037054C 0036C1AC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80370550 0036C1B0 7C 08 02 A6 */ mflr r0
/* 80370554 0036C1B4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80370558 0036C1B8 39 61 00 30 */ addi r11, r1, 0x30
/* 8037055C 0036C1BC 4B E5 6B CD */ bl _savegpr_27
/* 80370560 0036C1C0 38 04 00 1F */ addi r0, r4, 0x1f
/* 80370564 0036C1C4 7C 7B 1B 78 */ mr r27, r3
/* 80370568 0036C1C8 54 07 00 34 */ rlwinm r7, r0, 0, 0, 0x1a
/* 8037056C 0036C1CC 80 63 00 00 */ lwz r3, 0(r3)
/* 80370570 0036C1D0 7C 9C 23 78 */ mr r28, r4
/* 80370574 0036C1D4 7C BD 2B 78 */ mr r29, r5
/* 80370578 0036C1D8 7C DE 33 78 */ mr r30, r6
/* 8037057C 0036C1DC 38 87 00 20 */ addi r4, r7, 0x20
/* 80370580 0036C1E0 38 A0 00 20 */ li r5, 0x20
/* 80370584 0036C1E4 4B F2 6F 3D */ bl MEMAllocFromFrmHeapEx
/* 80370588 0036C1E8 2C 03 00 00 */ cmpwi r3, 0
/* 8037058C 0036C1EC 7C 7F 1B 78 */ mr r31, r3
/* 80370590 0036C1F0 40 82 00 0C */ bne lbl_8037059C
/* 80370594 0036C1F4 38 60 00 00 */ li r3, 0
/* 80370598 0036C1F8 48 00 00 40 */ b lbl_803705D8
lbl_8037059C:
/* 8037059C 0036C1FC 41 82 00 1C */ beq lbl_803705B8
/* 803705A0 0036C200 38 00 00 00 */ li r0, 0
/* 803705A4 0036C204 90 03 00 00 */ stw r0, 0(r3)
/* 803705A8 0036C208 90 03 00 04 */ stw r0, 4(r3)
/* 803705AC 0036C20C 93 83 00 08 */ stw r28, 8(r3)
/* 803705B0 0036C210 93 A3 00 0C */ stw r29, 0xc(r3)
/* 803705B4 0036C214 93 C3 00 10 */ stw r30, 0x10(r3)
lbl_803705B8:
/* 803705B8 0036C218 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 803705BC 0036C21C 7F E5 FB 78 */ mr r5, r31
/* 803705C0 0036C220 38 81 00 08 */ addi r4, r1, 8
/* 803705C4 0036C224 38 03 00 0C */ addi r0, r3, 0xc
/* 803705C8 0036C228 38 63 00 08 */ addi r3, r3, 8
/* 803705CC 0036C22C 90 01 00 08 */ stw r0, 8(r1)
/* 803705D0 0036C230 4B FF 26 79 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 803705D4 0036C234 38 7F 00 20 */ addi r3, r31, 0x20
lbl_803705D8:
/* 803705D8 0036C238 39 61 00 30 */ addi r11, r1, 0x30
/* 803705DC 0036C23C 4B E5 6B 99 */ bl _restgpr_27
/* 803705E0 0036C240 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803705E4 0036C244 7C 08 03 A6 */ mtlr r0
/* 803705E8 0036C248 38 21 00 30 */ addi r1, r1, 0x30
/* 803705EC 0036C24C 4E 80 00 20 */ blr
/* note: unknown for now */
.global func_803705F0
func_803705F0:
/* 803705F0 0036C250 80 63 00 00 */ lwz r3, 0(r3)
/* 803705F4 0036C254 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 803705F8 0036C258 7C 63 00 50 */ subf r3, r3, r0
/* 803705FC 0036C25C 4E 80 00 20 */ blr
.global GetFreeSize__Q44nw4r3snd6detail9FrameHeapCFv
GetFreeSize__Q44nw4r3snd6detail9FrameHeapCFv:
/* 80370600 0036C260 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80370604 0036C264 7C 08 02 A6 */ mflr r0
/* 80370608 0036C268 80 63 00 00 */ lwz r3, 0(r3)
/* 8037060C 0036C26C 38 80 00 20 */ li r4, 0x20
/* 80370610 0036C270 90 01 00 14 */ stw r0, 0x14(r1)
/* 80370614 0036C274 4B F2 70 6D */ bl MEMGetAllocatableSizeForFrmHeapEx
/* 80370618 0036C278 38 80 00 20 */ li r4, 0x20
/* 8037061C 0036C27C 38 03 FF E0 */ addi r0, r3, -32
/* 80370620 0036C280 7C 64 18 10 */ subfc r3, r4, r3
/* 80370624 0036C284 7C 63 19 10 */ subfe r3, r3, r3
/* 80370628 0036C288 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 8037062C 0036C28C 7C 03 18 78 */ andc r3, r0, r3
/* 80370630 0036C290 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80370634 0036C294 7C 08 03 A6 */ mtlr r0
/* 80370638 0036C298 38 21 00 10 */ addi r1, r1, 0x10
/* 8037063C 0036C29C 4E 80 00 20 */ blr
|