summaryrefslogtreecommitdiff
path: root/asm/Dolphin/os/OSCache.s
blob: dc8cd69c9c238092c1f6cbbe6fe5eccbea90b85e (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
.include "macros.inc"

.section .text

.global func_8036d8cc
.type func_8036d8cc, @function
func_8036d8cc:
/* 8036D8CC 7C0004AC */ sync        0
/* 8036D8D0 7C70FAA6 */ mfspr       r3, 0x3f0
/* 8036D8D4 60634000 */ ori         r3, r3, 0x4000
/* 8036D8D8 7C70FBA6 */ mtspr       0x3f0, r3
/* 8036D8DC 4E800020 */ blr         
.size func_8036d8cc, . - func_8036d8cc


.global func_8036d8e0
.type func_8036d8e0, @function
func_8036d8e0:
/* 8036D8E0 28040000 */ cmplwi      r4, 0
/* 8036D8E4 4C810020 */ blelr-      
/* 8036D8E8 546506FF */ clrlwi.     r5, r3, 0x1b
/* 8036D8EC 41820008 */ beq-        lbl_8036d8f4
/* 8036D8F0 38840020 */ addi        r4, r4, 0x20
lbl_8036d8f4:
/* 8036D8F4 3884001F */ addi        r4, r4, 0x1f
/* 8036D8F8 5484D97E */ srwi        r4, r4, 5
/* 8036D8FC 7C8903A6 */ mtctr       r4
lbl_8036d900:
/* 8036D900 7C001BAC */ dcbi        0, r3
/* 8036D904 38630020 */ addi        r3, r3, 0x20
/* 8036D908 4200FFF8 */ bdnz        lbl_8036d900
/* 8036D90C 4E800020 */ blr         
.size func_8036d8e0, . - func_8036d8e0


.global func_8036d910
.type func_8036d910, @function
func_8036d910:
/* 8036D910 28040000 */ cmplwi      r4, 0
/* 8036D914 4C810020 */ blelr-      
/* 8036D918 546506FF */ clrlwi.     r5, r3, 0x1b
/* 8036D91C 41820008 */ beq-        lbl_8036d924
/* 8036D920 38840020 */ addi        r4, r4, 0x20
lbl_8036d924:
/* 8036D924 3884001F */ addi        r4, r4, 0x1f
/* 8036D928 5484D97E */ srwi        r4, r4, 5
/* 8036D92C 7C8903A6 */ mtctr       r4
lbl_8036d930:
/* 8036D930 7C0018AC */ dcbf        0, r3
/* 8036D934 38630020 */ addi        r3, r3, 0x20
/* 8036D938 4200FFF8 */ bdnz        lbl_8036d930
/* 8036D93C 44000002 */ sc          
/* 8036D940 4E800020 */ blr         
.size func_8036d910, . - func_8036d910


.global func_8036d944
.type func_8036d944, @function
func_8036d944:
/* 8036D944 28040000 */ cmplwi      r4, 0
/* 8036D948 4C810020 */ blelr-      
/* 8036D94C 546506FF */ clrlwi.     r5, r3, 0x1b
/* 8036D950 41820008 */ beq-        lbl_8036d958
/* 8036D954 38840020 */ addi        r4, r4, 0x20
lbl_8036d958:
/* 8036D958 3884001F */ addi        r4, r4, 0x1f
/* 8036D95C 5484D97E */ srwi        r4, r4, 5
/* 8036D960 7C8903A6 */ mtctr       r4
lbl_8036d964:
/* 8036D964 7C00186C */ dcbst       0, r3
/* 8036D968 38630020 */ addi        r3, r3, 0x20
/* 8036D96C 4200FFF8 */ bdnz        lbl_8036d964
/* 8036D970 44000002 */ sc          
/* 8036D974 4E800020 */ blr         
.size func_8036d944, . - func_8036d944


.global func_8036d978
.type func_8036d978, @function
func_8036d978:
/* 8036D978 28040000 */ cmplwi      r4, 0
/* 8036D97C 4C810020 */ blelr-      
/* 8036D980 546506FF */ clrlwi.     r5, r3, 0x1b
/* 8036D984 41820008 */ beq-        lbl_8036d98c
/* 8036D988 38840020 */ addi        r4, r4, 0x20
lbl_8036d98c:
/* 8036D98C 3884001F */ addi        r4, r4, 0x1f
/* 8036D990 5484D97E */ srwi        r4, r4, 5
/* 8036D994 7C8903A6 */ mtctr       r4
lbl_8036d998:
/* 8036D998 7C0018AC */ dcbf        0, r3
/* 8036D99C 38630020 */ addi        r3, r3, 0x20
/* 8036D9A0 4200FFF8 */ bdnz        lbl_8036d998
/* 8036D9A4 4E800020 */ blr         
.size func_8036d978, . - func_8036d978


.global func_8036d9a8
.type func_8036d9a8, @function
func_8036d9a8:
/* 8036D9A8 28040000 */ cmplwi      r4, 0
/* 8036D9AC 4C810020 */ blelr-      
/* 8036D9B0 546506FF */ clrlwi.     r5, r3, 0x1b
/* 8036D9B4 41820008 */ beq-        lbl_8036d9bc
/* 8036D9B8 38840020 */ addi        r4, r4, 0x20
lbl_8036d9bc:
/* 8036D9BC 3884001F */ addi        r4, r4, 0x1f
/* 8036D9C0 5484D97E */ srwi        r4, r4, 5
/* 8036D9C4 7C8903A6 */ mtctr       r4
lbl_8036d9c8:
/* 8036D9C8 7C00186C */ dcbst       0, r3
/* 8036D9CC 38630020 */ addi        r3, r3, 0x20
/* 8036D9D0 4200FFF8 */ bdnz        lbl_8036d9c8
/* 8036D9D4 4E800020 */ blr         
.size func_8036d9a8, . - func_8036d9a8


.global func_8036d9d8
.type func_8036d9d8, @function
func_8036d9d8:
/* 8036D9D8 28040000 */ cmplwi      r4, 0
/* 8036D9DC 4C810020 */ blelr-      
/* 8036D9E0 546506FF */ clrlwi.     r5, r3, 0x1b
/* 8036D9E4 41820008 */ beq-        lbl_8036d9ec
/* 8036D9E8 38840020 */ addi        r4, r4, 0x20
lbl_8036d9ec:
/* 8036D9EC 3884001F */ addi        r4, r4, 0x1f
/* 8036D9F0 5484D97E */ srwi        r4, r4, 5
/* 8036D9F4 7C8903A6 */ mtctr       r4
lbl_8036d9f8:
/* 8036D9F8 7C001FAC */ icbi        0, r3
/* 8036D9FC 38630020 */ addi        r3, r3, 0x20
/* 8036DA00 4200FFF8 */ bdnz        lbl_8036d9f8
/* 8036DA04 7C0004AC */ sync        0
/* 8036DA08 4C00012C */ isync       
/* 8036DA0C 4E800020 */ blr         
.size func_8036d9d8, . - func_8036d9d8


.global func_8036da10
.type func_8036da10, @function
func_8036da10:
/* 8036DA10 7C70FAA6 */ mfspr       r3, 0x3f0
/* 8036DA14 60630800 */ ori         r3, r3, 0x800
/* 8036DA18 7C70FBA6 */ mtspr       0x3f0, r3
/* 8036DA1C 4E800020 */ blr         
.size func_8036da10, . - func_8036da10


.global func_8036da20
.type func_8036da20, @function
func_8036da20:
/* 8036DA20 4C00012C */ isync       
/* 8036DA24 7C70FAA6 */ mfspr       r3, 0x3f0
/* 8036DA28 60638000 */ ori         r3, r3, 0x8000
/* 8036DA2C 7C70FBA6 */ mtspr       0x3f0, r3
/* 8036DA30 4E800020 */ blr         
.size func_8036da20, . - func_8036da20


.global func_8036da34
.type func_8036da34, @function
func_8036da34:
/* 8036DA34 7CA000A6 */ mfmsr       r5
/* 8036DA38 60A51000 */ ori         r5, r5, 0x1000
/* 8036DA3C 7CA00124 */ mtmsr       r5
/* 8036DA40 3C608000 */ lis         r3, 0x8000
/* 8036DA44 38800400 */ li          r4, 0x400
/* 8036DA48 7C8903A6 */ mtctr       r4
lbl_8036da4c:
/* 8036DA4C 7C001A2C */ dcbt        0, r3
/* 8036DA50 7C00186C */ dcbst       0, r3
/* 8036DA54 38630020 */ addi        r3, r3, 0x20
/* 8036DA58 4200FFF4 */ bdnz        lbl_8036da4c
/* 8036DA5C 7C98E2A6 */ mfspr       r4, 0x398
/* 8036DA60 6484100F */ oris        r4, r4, 0x100f
/* 8036DA64 7C98E3A6 */ mtspr       0x398, r4
/* 8036DA68 60000000 */ nop         
/* 8036DA6C 60000000 */ nop         
/* 8036DA70 60000000 */ nop         
/* 8036DA74 60000000 */ nop         
/* 8036DA78 60000000 */ nop         
/* 8036DA7C 60000000 */ nop         
/* 8036DA80 60000000 */ nop         
/* 8036DA84 60000000 */ nop         
/* 8036DA88 60000000 */ nop         
/* 8036DA8C 60000000 */ nop         
/* 8036DA90 60000000 */ nop         
/* 8036DA94 60000000 */ nop         
/* 8036DA98 3C60E000 */ lis         r3, 0xe000
/* 8036DA9C 60630002 */ ori         r3, r3, 2
/* 8036DAA0 7C7F83A6 */ mtdbatl     3, r3
/* 8036DAA4 606301FE */ ori         r3, r3, 0x1fe
/* 8036DAA8 7C7E83A6 */ mtdbatu     3, r3
/* 8036DAAC 4C00012C */ isync       
/* 8036DAB0 3C60E000 */ lis         r3, 0xe000
/* 8036DAB4 38C00200 */ li          r6, 0x200
/* 8036DAB8 7CC903A6 */ mtctr       r6
/* 8036DABC 38C00000 */ li          r6, 0x0
lbl_8036dac0:
/* 8036DAC0 10061FEC */ .4byte      0x10061fec
/* 8036DAC4 38630020 */ addi        r3, r3, 0x20
/* 8036DAC8 4200FFF8 */ bdnz        lbl_8036dac0
/* 8036DACC 60000000 */ nop         
/* 8036DAD0 60000000 */ nop         
/* 8036DAD4 60000000 */ nop         
/* 8036DAD8 60000000 */ nop         
/* 8036DADC 60000000 */ nop         
/* 8036DAE0 60000000 */ nop         
/* 8036DAE4 60000000 */ nop         
/* 8036DAE8 60000000 */ nop         
/* 8036DAEC 60000000 */ nop         
/* 8036DAF0 60000000 */ nop         
/* 8036DAF4 60000000 */ nop         
/* 8036DAF8 60000000 */ nop         
/* 8036DAFC 4E800020 */ blr         
.size func_8036da34, . - func_8036da34


.global func_8036db00
.type func_8036db00, @function
func_8036db00:
/* 8036DB00 7C0802A6 */ mflr        r0
/* 8036DB04 90010004 */ stw         r0, 4(r1)
/* 8036DB08 9421FFF0 */ stwu        r1, -0x10(r1)
/* 8036DB0C 93E1000C */ stw         r31, 0xc(r1)
/* 8036DB10 48000FC5 */ bl          func_8036ead4
/* 8036DB14 7C7F1B78 */ mr          r31, r3
/* 8036DB18 4BFFFF1D */ bl          func_8036da34
/* 8036DB1C 7FE3FB78 */ mr          r3, r31
/* 8036DB20 48000FDD */ bl          func_8036eafc
/* 8036DB24 80010014 */ lwz         r0, 0x14(r1)
/* 8036DB28 83E1000C */ lwz         r31, 0xc(r1)
/* 8036DB2C 38210010 */ addi        r1, r1, 0x10
/* 8036DB30 7C0803A6 */ mtlr        r0
/* 8036DB34 4E800020 */ blr         
.size func_8036db00, . - func_8036db00


.global func_8036db38
.type func_8036db38, @function
func_8036db38:
/* 8036DB38 3C60E000 */ lis         r3, 0xe000
/* 8036DB3C 38800200 */ li          r4, 0x200
/* 8036DB40 7C8903A6 */ mtctr       r4
lbl_8036db44:
/* 8036DB44 7C001BAC */ dcbi        0, r3
/* 8036DB48 38630020 */ addi        r3, r3, 0x20
/* 8036DB4C 4200FFF8 */ bdnz        lbl_8036db44
/* 8036DB50 7C98E2A6 */ mfspr       r4, 0x398
/* 8036DB54 54840104 */ rlwinm      r4, r4, 0, 4, 2
/* 8036DB58 7C98E3A6 */ mtspr       0x398, r4
/* 8036DB5C 4E800020 */ blr         
.size func_8036db38, . - func_8036db38


.global func_8036db60
.type func_8036db60, @function
func_8036db60:
/* 8036DB60 7C0802A6 */ mflr        r0
/* 8036DB64 90010004 */ stw         r0, 4(r1)
/* 8036DB68 9421FFF0 */ stwu        r1, -0x10(r1)
/* 8036DB6C 93E1000C */ stw         r31, 0xc(r1)
/* 8036DB70 7C0004AC */ sync        0
/* 8036DB74 4BFFE625 */ bl          func_8036c198
/* 8036DB78 5463007E */ clrlwi      r3, r3, 1
/* 8036DB7C 4BFFE625 */ bl          func_8036c1a0
/* 8036DB80 7C0004AC */ sync        0
/* 8036DB84 4BFFE615 */ bl          func_8036c198
/* 8036DB88 64630020 */ oris        r3, r3, 0x20
/* 8036DB8C 4BFFE615 */ bl          func_8036c1a0
/* 8036DB90 48000004 */ b           lbl_8036db94
lbl_8036db94:
/* 8036DB94 48000004 */ b           lbl_8036db98
lbl_8036db98:
/* 8036DB98 4BFFE601 */ bl          func_8036c198
/* 8036DB9C 546007FE */ clrlwi      r0, r3, 0x1f
/* 8036DBA0 28000000 */ cmplwi      r0, 0
/* 8036DBA4 4082FFF4 */ bne+        lbl_8036db98
/* 8036DBA8 4BFFE5F1 */ bl          func_8036c198
/* 8036DBAC 546302D2 */ rlwinm      r3, r3, 0, 0xb, 9
/* 8036DBB0 4BFFE5F1 */ bl          func_8036c1a0
/* 8036DBB4 48000004 */ b           lbl_8036dbb8
lbl_8036dbb8:
/* 8036DBB8 3C60804F */ lis         r3, lbl_804eedf0@ha
/* 8036DBBC 3BE3EDF0 */ addi        r31, r3, lbl_804eedf0@l
/* 8036DBC0 48000004 */ b           lbl_8036dbc4
lbl_8036dbc4:
/* 8036DBC4 48000010 */ b           lbl_8036dbd4
lbl_8036dbc8:
/* 8036DBC8 7FE3FB78 */ mr          r3, r31
/* 8036DBCC 4CC63182 */ crclr       6
/* 8036DBD0 4BFFE6E1 */ bl          func_8036c2b0
lbl_8036dbd4:
/* 8036DBD4 4BFFE5C5 */ bl          func_8036c198
/* 8036DBD8 546007FE */ clrlwi      r0, r3, 0x1f
/* 8036DBDC 28000000 */ cmplwi      r0, 0
/* 8036DBE0 4082FFE8 */ bne+        lbl_8036dbc8
/* 8036DBE4 80010014 */ lwz         r0, 0x14(r1)
/* 8036DBE8 83E1000C */ lwz         r31, 0xc(r1)
/* 8036DBEC 38210010 */ addi        r1, r1, 0x10
/* 8036DBF0 7C0803A6 */ mtlr        r0
/* 8036DBF4 4E800020 */ blr         
.size func_8036db60, . - func_8036db60


.global func_8036dbf8
.type func_8036dbf8, @function
func_8036dbf8:
/* 8036DBF8 7C0802A6 */ mflr        r0
/* 8036DBFC 90010004 */ stw         r0, 4(r1)
/* 8036DC00 9421FF80 */ stwu        r1, -0x80(r1)
/* 8036DC04 93E1007C */ stw         r31, 0x7c(r1)
/* 8036DC08 93C10078 */ stw         r30, 0x78(r1)
/* 8036DC0C 93A10074 */ stw         r29, 0x74(r1)
/* 8036DC10 40860024 */ bne-        cr1, lbl_8036dc34
/* 8036DC14 D8210028 */ stfd        f1, 0x28(r1)
/* 8036DC18 D8410030 */ stfd        f2, 0x30(r1)
/* 8036DC1C D8610038 */ stfd        f3, 0x38(r1)
/* 8036DC20 D8810040 */ stfd        f4, 0x40(r1)
/* 8036DC24 D8A10048 */ stfd        f5, 0x48(r1)
/* 8036DC28 D8C10050 */ stfd        f6, 0x50(r1)
/* 8036DC2C D8E10058 */ stfd        f7, 0x58(r1)
/* 8036DC30 D9010060 */ stfd        f8, 0x60(r1)
lbl_8036dc34:
/* 8036DC34 90610008 */ stw         r3, 8(r1)
/* 8036DC38 9081000C */ stw         r4, 0xc(r1)
/* 8036DC3C 90A10010 */ stw         r5, 0x10(r1)
/* 8036DC40 90C10014 */ stw         r6, 0x14(r1)
/* 8036DC44 90E10018 */ stw         r7, 0x18(r1)
/* 8036DC48 9101001C */ stw         r8, 0x1c(r1)
/* 8036DC4C 91210020 */ stw         r9, 0x20(r1)
/* 8036DC50 91410024 */ stw         r10, 0x24(r1)
/* 8036DC54 7C9D2378 */ mr          r29, r4
/* 8036DC58 3C60804F */ lis         r3, lbl_804eedf0@ha
/* 8036DC5C 3BE3EDF0 */ addi        r31, r3, lbl_804eedf0@l
/* 8036DC60 4BFFE56D */ bl          func_8036c1cc
/* 8036DC64 7C7E1B78 */ mr          r30, r3
/* 8036DC68 4CC63182 */ crclr       6
/* 8036DC6C 387F002C */ addi        r3, r31, 0x2c
/* 8036DC70 48000A45 */ bl          func_8036e6b4
/* 8036DC74 80BD019C */ lwz         r5, 0x19c(r29)
/* 8036DC78 7FC4F378 */ mr          r4, r30
/* 8036DC7C 387F0044 */ addi        r3, r31, 0x44
/* 8036DC80 4CC63182 */ crclr       6
/* 8036DC84 48000A31 */ bl          func_8036e6b4
/* 8036DC88 57C00216 */ rlwinm      r0, r30, 0, 8, 0xb
/* 8036DC8C 28000000 */ cmplwi      r0, 0
/* 8036DC90 41820014 */ beq-        lbl_8036dca4
/* 8036DC94 801D019C */ lwz         r0, 0x19c(r29)
/* 8036DC98 54000294 */ rlwinm      r0, r0, 0, 0xa, 0xa
/* 8036DC9C 28000000 */ cmplwi      r0, 0
/* 8036DCA0 4082001C */ bne-        lbl_8036dcbc
lbl_8036dca4:
/* 8036DCA4 387F0060 */ addi        r3, r31, 0x60
/* 8036DCA8 4CC63182 */ crclr       6
/* 8036DCAC 48000A09 */ bl          func_8036e6b4
/* 8036DCB0 7FA3EB78 */ mr          r3, r29
/* 8036DCB4 4800068D */ bl          func_8036e340
/* 8036DCB8 4BFFE501 */ bl          func_8036c1b8
lbl_8036dcbc:
/* 8036DCBC 387F0090 */ addi        r3, r31, 0x90
/* 8036DCC0 4CC63182 */ crclr       6
/* 8036DCC4 480009F1 */ bl          func_8036e6b4
/* 8036DCC8 387F00CC */ addi        r3, r31, 0xcc
/* 8036DCCC 4CC63182 */ crclr       6
/* 8036DCD0 480009E5 */ bl          func_8036e6b4
/* 8036DCD4 57C00210 */ rlwinm      r0, r30, 0, 8, 8
/* 8036DCD8 28000000 */ cmplwi      r0, 0
/* 8036DCDC 41820010 */ beq-        lbl_8036dcec
/* 8036DCE0 387F0104 */ addi        r3, r31, 0x104
/* 8036DCE4 4CC63182 */ crclr       6
/* 8036DCE8 480009CD */ bl          func_8036e6b4
lbl_8036dcec:
/* 8036DCEC 57C00252 */ rlwinm      r0, r30, 0, 9, 9
/* 8036DCF0 28000000 */ cmplwi      r0, 0
/* 8036DCF4 41820010 */ beq-        lbl_8036dd04
/* 8036DCF8 387F0144 */ addi        r3, r31, 0x144
/* 8036DCFC 4CC63182 */ crclr       6
/* 8036DD00 480009B5 */ bl          func_8036e6b4
lbl_8036dd04:
/* 8036DD04 57C00294 */ rlwinm      r0, r30, 0, 0xa, 0xa
/* 8036DD08 28000000 */ cmplwi      r0, 0
/* 8036DD0C 41820010 */ beq-        lbl_8036dd1c
/* 8036DD10 387F0170 */ addi        r3, r31, 0x170
/* 8036DD14 4CC63182 */ crclr       6
/* 8036DD18 4800099D */ bl          func_8036e6b4
lbl_8036dd1c:
/* 8036DD1C 57C002D6 */ rlwinm      r0, r30, 0, 0xb, 0xb
/* 8036DD20 28000000 */ cmplwi      r0, 0
/* 8036DD24 41820010 */ beq-        lbl_8036dd34
/* 8036DD28 387F0190 */ addi        r3, r31, 0x190
/* 8036DD2C 4CC63182 */ crclr       6
/* 8036DD30 48000985 */ bl          func_8036e6b4
lbl_8036dd34:
/* 8036DD34 7FC3F378 */ mr          r3, r30
/* 8036DD38 4BFFE49D */ bl          func_8036c1d4
/* 8036DD3C 80010084 */ lwz         r0, 0x84(r1)
/* 8036DD40 83E1007C */ lwz         r31, 0x7c(r1)
/* 8036DD44 83C10078 */ lwz         r30, 0x78(r1)
/* 8036DD48 83A10074 */ lwz         r29, 0x74(r1)
/* 8036DD4C 38210080 */ addi        r1, r1, 0x80
/* 8036DD50 7C0803A6 */ mtlr        r0
/* 8036DD54 4E800020 */ blr         
.size func_8036dbf8, . - func_8036dbf8


.global func_8036dd58
.type func_8036dd58, @function
func_8036dd58:
/* 8036DD58 7C0802A6 */ mflr        r0
/* 8036DD5C 90010004 */ stw         r0, 4(r1)
/* 8036DD60 9421FFF0 */ stwu        r1, -0x10(r1)
/* 8036DD64 93E1000C */ stw         r31, 0xc(r1)
/* 8036DD68 93C10008 */ stw         r30, 8(r1)
/* 8036DD6C 3C60804F */ lis         r3, lbl_804eedf0@ha
/* 8036DD70 3BE3EDF0 */ addi        r31, r3, lbl_804eedf0@l
/* 8036DD74 4BFFE415 */ bl          func_8036c188
/* 8036DD78 54600420 */ rlwinm      r0, r3, 0, 0x10, 0x10
/* 8036DD7C 28000000 */ cmplwi      r0, 0
/* 8036DD80 40820014 */ bne-        lbl_8036dd94
/* 8036DD84 4BFFFC9D */ bl          func_8036da20
/* 8036DD88 387F01AC */ addi        r3, r31, 0x1ac
/* 8036DD8C 4CC63182 */ crclr       6
/* 8036DD90 4BFFE521 */ bl          func_8036c2b0
lbl_8036dd94:
/* 8036DD94 4BFFE3F5 */ bl          func_8036c188
/* 8036DD98 54600462 */ rlwinm      r0, r3, 0, 0x11, 0x11
/* 8036DD9C 28000000 */ cmplwi      r0, 0
/* 8036DDA0 40820014 */ bne-        lbl_8036ddb4
/* 8036DDA4 4BFFFB29 */ bl          func_8036d8cc
/* 8036DDA8 387F01C8 */ addi        r3, r31, 0x1c8
/* 8036DDAC 4CC63182 */ crclr       6
/* 8036DDB0 4BFFE501 */ bl          func_8036c2b0
lbl_8036ddb4:
/* 8036DDB4 4BFFE3E5 */ bl          func_8036c198
/* 8036DDB8 54600000 */ rlwinm      r0, r3, 0, 0, 0
/* 8036DDBC 28000000 */ cmplwi      r0, 0
/* 8036DDC0 40820058 */ bne-        lbl_8036de18
/* 8036DDC4 4BFFE3B5 */ bl          func_8036c178
/* 8036DDC8 7C7E1B78 */ mr          r30, r3
/* 8036DDCC 7C0004AC */ sync        0
/* 8036DDD0 38600030 */ li          r3, 0x30
/* 8036DDD4 4BFFE3AD */ bl          func_8036c180
/* 8036DDD8 7C0004AC */ sync        0
/* 8036DDDC 7C0004AC */ sync        0
/* 8036DDE0 4BFFE3B9 */ bl          func_8036c198
/* 8036DDE4 5463007E */ clrlwi      r3, r3, 1
/* 8036DDE8 4BFFE3B9 */ bl          func_8036c1a0
/* 8036DDEC 7C0004AC */ sync        0
/* 8036DDF0 4BFFFD71 */ bl          func_8036db60
/* 8036DDF4 7FC3F378 */ mr          r3, r30
/* 8036DDF8 4BFFE389 */ bl          func_8036c180
/* 8036DDFC 4BFFE39D */ bl          func_8036c198
/* 8036DE00 64608000 */ oris        r0, r3, 0x8000
/* 8036DE04 540302D2 */ rlwinm      r3, r0, 0, 0xb, 9
/* 8036DE08 4BFFE399 */ bl          func_8036c1a0
/* 8036DE0C 387F01E4 */ addi        r3, r31, 0x1e4
/* 8036DE10 4CC63182 */ crclr       6
/* 8036DE14 4BFFE49D */ bl          func_8036c2b0
lbl_8036de18:
/* 8036DE18 3C608037 */ lis         r3, func_8036dbf8@ha
/* 8036DE1C 3883DBF8 */ addi        r4, r3, func_8036dbf8@l
/* 8036DE20 38600001 */ li          r3, 0x1
/* 8036DE24 48000A3D */ bl          func_8036e860
/* 8036DE28 387F01FC */ addi        r3, r31, 0x1fc
/* 8036DE2C 4CC63182 */ crclr       6
/* 8036DE30 4BFFE481 */ bl          func_8036c2b0
/* 8036DE34 80010014 */ lwz         r0, 0x14(r1)
/* 8036DE38 83E1000C */ lwz         r31, 0xc(r1)
/* 8036DE3C 83C10008 */ lwz         r30, 8(r1)
/* 8036DE40 38210010 */ addi        r1, r1, 0x10
/* 8036DE44 7C0803A6 */ mtlr        r0
/* 8036DE48 4E800020 */ blr         
.size func_8036dd58, . - func_8036dd58