summaryrefslogtreecommitdiff
path: root/asm/code_801DD8C0.s
blob: a381f03bf87afbde375600f1fbf38097739201b9 (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
491
492
493
494
495
496
497
498
499
500
501
502
.include "macros.inc"

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

.global func_801DD8C0
func_801DD8C0:
/* 801DD8C0 001D9520  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801DD8C4 001D9524  7C 08 02 A6 */	mflr r0
/* 801DD8C8 001D9528  2C 04 00 00 */	cmpwi r4, 0
/* 801DD8CC 001D952C  90 01 00 14 */	stw r0, 0x14(r1)
/* 801DD8D0 001D9530  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801DD8D4 001D9534  3B E0 00 00 */	li r31, 0
/* 801DD8D8 001D9538  93 C1 00 08 */	stw r30, 8(r1)
/* 801DD8DC 001D953C  7C 7E 1B 78 */	mr r30, r3
/* 801DD8E0 001D9540  90 83 00 00 */	stw r4, 0(r3)
/* 801DD8E4 001D9544  93 E3 00 04 */	stw r31, 4(r3)
/* 801DD8E8 001D9548  41 82 00 54 */	beq lbl_801DD93C
/* 801DD8EC 001D954C  4B FF D2 3D */	bl func_801DAB28
/* 801DD8F0 001D9550  2C 03 00 00 */	cmpwi r3, 0
/* 801DD8F4 001D9554  41 82 00 14 */	beq lbl_801DD908
/* 801DD8F8 001D9558  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 801DD8FC 001D955C  38 80 00 10 */	li r4, 0x10
/* 801DD900 001D9560  4B FF D3 95 */	bl func_801DAC94
/* 801DD904 001D9564  48 00 00 08 */	b lbl_801DD90C
lbl_801DD908:
/* 801DD908 001D9568  7F E3 FB 78 */	mr r3, r31
lbl_801DD90C:
/* 801DD90C 001D956C  2C 03 00 00 */	cmpwi r3, 0
/* 801DD910 001D9570  41 82 00 28 */	beq lbl_801DD938
/* 801DD914 001D9574  38 80 00 00 */	li r4, 0
/* 801DD918 001D9578  38 00 00 0C */	li r0, 0xc
/* 801DD91C 001D957C  90 83 00 00 */	stw r4, 0(r3)
/* 801DD920 001D9580  C0 22 95 F0 */	lfs f1, lbl_80641BF0-_SDA2_BASE_(r2)
/* 801DD924 001D9584  B0 83 00 04 */	sth r4, 4(r3)
/* 801DD928 001D9588  C0 02 95 F4 */	lfs f0, lbl_80641BF4-_SDA2_BASE_(r2)
/* 801DD92C 001D958C  B0 03 00 06 */	sth r0, 6(r3)
/* 801DD930 001D9590  D0 23 00 08 */	stfs f1, 8(r3)
/* 801DD934 001D9594  D0 03 00 0C */	stfs f0, 0xc(r3)
lbl_801DD938:
/* 801DD938 001D9598  90 7E 00 04 */	stw r3, 4(r30)
lbl_801DD93C:
/* 801DD93C 001D959C  7F C3 F3 78 */	mr r3, r30
/* 801DD940 001D95A0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801DD944 001D95A4  83 C1 00 08 */	lwz r30, 8(r1)
/* 801DD948 001D95A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801DD94C 001D95AC  7C 08 03 A6 */	mtlr r0
/* 801DD950 001D95B0  38 21 00 10 */	addi r1, r1, 0x10
/* 801DD954 001D95B4  4E 80 00 20 */	blr

.global func_801DD958
func_801DD958:
/* 801DD958 001D95B8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801DD95C 001D95BC  7C 08 02 A6 */	mflr r0
/* 801DD960 001D95C0  2C 03 00 00 */	cmpwi r3, 0
/* 801DD964 001D95C4  90 01 00 14 */	stw r0, 0x14(r1)
/* 801DD968 001D95C8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801DD96C 001D95CC  7C 9F 23 78 */	mr r31, r4
/* 801DD970 001D95D0  93 C1 00 08 */	stw r30, 8(r1)
/* 801DD974 001D95D4  7C 7E 1B 78 */	mr r30, r3
/* 801DD978 001D95D8  41 82 00 34 */	beq lbl_801DD9AC
/* 801DD97C 001D95DC  80 83 00 04 */	lwz r4, 4(r3)
/* 801DD980 001D95E0  2C 04 00 00 */	cmpwi r4, 0
/* 801DD984 001D95E4  41 82 00 14 */	beq lbl_801DD998
/* 801DD988 001D95E8  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 801DD98C 001D95EC  4B FF D3 BD */	bl func_801DAD48
/* 801DD990 001D95F0  38 00 00 00 */	li r0, 0
/* 801DD994 001D95F4  90 1E 00 04 */	stw r0, 4(r30)
lbl_801DD998:
/* 801DD998 001D95F8  2C 1F 00 00 */	cmpwi r31, 0
/* 801DD99C 001D95FC  40 81 00 10 */	ble lbl_801DD9AC
/* 801DD9A0 001D9600  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 801DD9A4 001D9604  7F C4 F3 78 */	mr r4, r30
/* 801DD9A8 001D9608  4B FF D3 A1 */	bl func_801DAD48
lbl_801DD9AC:
/* 801DD9AC 001D960C  7F C3 F3 78 */	mr r3, r30
/* 801DD9B0 001D9610  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801DD9B4 001D9614  83 C1 00 08 */	lwz r30, 8(r1)
/* 801DD9B8 001D9618  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801DD9BC 001D961C  7C 08 03 A6 */	mtlr r0
/* 801DD9C0 001D9620  38 21 00 10 */	addi r1, r1, 0x10
/* 801DD9C4 001D9624  4E 80 00 20 */	blr

.global func_801DD9C8
func_801DD9C8:
/* 801DD9C8 001D9628  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801DD9CC 001D962C  7C 08 02 A6 */	mflr r0
/* 801DD9D0 001D9630  90 01 00 14 */	stw r0, 0x14(r1)
/* 801DD9D4 001D9634  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801DD9D8 001D9638  7C 7F 1B 78 */	mr r31, r3
/* 801DD9DC 001D963C  80 83 00 04 */	lwz r4, 4(r3)
/* 801DD9E0 001D9640  2C 04 00 00 */	cmpwi r4, 0
/* 801DD9E4 001D9644  41 82 00 9C */	beq lbl_801DDA80
/* 801DD9E8 001D9648  80 04 00 00 */	lwz r0, 0(r4)
/* 801DD9EC 001D964C  38 60 00 00 */	li r3, 0
/* 801DD9F0 001D9650  2C 00 00 00 */	cmpwi r0, 0
/* 801DD9F4 001D9654  41 82 00 14 */	beq lbl_801DDA08
/* 801DD9F8 001D9658  A0 04 00 06 */	lhz r0, 6(r4)
/* 801DD9FC 001D965C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 801DDA00 001D9660  41 82 00 08 */	beq lbl_801DDA08
/* 801DDA04 001D9664  38 60 00 01 */	li r3, 1
lbl_801DDA08:
/* 801DDA08 001D9668  2C 03 00 00 */	cmpwi r3, 0
/* 801DDA0C 001D966C  41 82 00 74 */	beq lbl_801DDA80
/* 801DDA10 001D9670  7C 83 23 78 */	mr r3, r4
/* 801DDA14 001D9674  4B FF FB B5 */	bl func_801DD5C8
/* 801DDA18 001D9678  80 7F 00 04 */	lwz r3, 4(r31)
/* 801DDA1C 001D967C  7F E4 FB 78 */	mr r4, r31
/* 801DDA20 001D9680  38 A0 00 00 */	li r5, 0
/* 801DDA24 001D9684  4B FF FD D9 */	bl func_801DD7FC
/* 801DDA28 001D9688  80 DF 00 04 */	lwz r6, 4(r31)
/* 801DDA2C 001D968C  38 80 00 01 */	li r4, 1
/* 801DDA30 001D9690  A0 A6 00 06 */	lhz r5, 6(r6)
/* 801DDA34 001D9694  54 A0 07 39 */	rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 801DDA38 001D9698  40 82 00 2C */	bne lbl_801DDA64
/* 801DDA3C 001D969C  80 06 00 00 */	lwz r0, 0(r6)
/* 801DDA40 001D96A0  38 60 00 00 */	li r3, 0
/* 801DDA44 001D96A4  2C 00 00 00 */	cmpwi r0, 0
/* 801DDA48 001D96A8  41 82 00 10 */	beq lbl_801DDA58
/* 801DDA4C 001D96AC  54 A0 07 FF */	clrlwi. r0, r5, 0x1f
/* 801DDA50 001D96B0  41 82 00 08 */	beq lbl_801DDA58
/* 801DDA54 001D96B4  38 60 00 01 */	li r3, 1
lbl_801DDA58:
/* 801DDA58 001D96B8  2C 03 00 00 */	cmpwi r3, 0
/* 801DDA5C 001D96BC  41 82 00 08 */	beq lbl_801DDA64
/* 801DDA60 001D96C0  38 80 00 00 */	li r4, 0
lbl_801DDA64:
/* 801DDA64 001D96C4  2C 04 00 00 */	cmpwi r4, 0
/* 801DDA68 001D96C8  41 82 00 18 */	beq lbl_801DDA80
/* 801DDA6C 001D96CC  A0 66 00 06 */	lhz r3, 6(r6)
/* 801DDA70 001D96D0  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 801DDA74 001D96D4  40 82 00 0C */	bne lbl_801DDA80
/* 801DDA78 001D96D8  54 60 04 3C */	rlwinm r0, r3, 0, 0x10, 0x1e
/* 801DDA7C 001D96DC  B0 06 00 06 */	sth r0, 6(r6)
lbl_801DDA80:
/* 801DDA80 001D96E0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801DDA84 001D96E4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801DDA88 001D96E8  7C 08 03 A6 */	mtlr r0
/* 801DDA8C 001D96EC  38 21 00 10 */	addi r1, r1, 0x10
/* 801DDA90 001D96F0  4E 80 00 20 */	blr

.global func_801DDA94
func_801DDA94:
/* 801DDA94 001D96F4  80 63 00 00 */	lwz r3, 0(r3)
/* 801DDA98 001D96F8  48 00 00 14 */	b lbl_801DDAAC
lbl_801DDA9C:
/* 801DDA9C 001D96FC  A0 03 00 00 */	lhz r0, 0(r3)
/* 801DDAA0 001D9700  7C 00 20 40 */	cmplw r0, r4
/* 801DDAA4 001D9704  4D 82 00 20 */	beqlr
/* 801DDAA8 001D9708  80 63 00 0C */	lwz r3, 0xc(r3)
lbl_801DDAAC:
/* 801DDAAC 001D970C  2C 03 00 00 */	cmpwi r3, 0
/* 801DDAB0 001D9710  40 82 FF EC */	bne lbl_801DDA9C
/* 801DDAB4 001D9714  38 60 00 00 */	li r3, 0
/* 801DDAB8 001D9718  4E 80 00 20 */	blr

.global func_801DDABC
func_801DDABC:
/* 801DDABC 001D971C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801DDAC0 001D9720  7C 08 02 A6 */	mflr r0
/* 801DDAC4 001D9724  90 01 00 24 */	stw r0, 0x24(r1)
/* 801DDAC8 001D9728  DB E1 00 18 */	stfd f31, 0x18(r1)
/* 801DDACC 001D972C  FF E0 10 90 */	fmr f31, f2
/* 801DDAD0 001D9730  DB C1 00 10 */	stfd f30, 0x10(r1)
/* 801DDAD4 001D9734  FF C0 08 90 */	fmr f30, f1
/* 801DDAD8 001D9738  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801DDADC 001D973C  7C BF 2B 78 */	mr r31, r5
/* 801DDAE0 001D9740  93 C1 00 08 */	stw r30, 8(r1)
/* 801DDAE4 001D9744  7C 7E 1B 78 */	mr r30, r3
/* 801DDAE8 001D9748  80 C3 00 04 */	lwz r6, 4(r3)
/* 801DDAEC 001D974C  2C 06 00 00 */	cmpwi r6, 0
/* 801DDAF0 001D9750  41 82 00 54 */	beq lbl_801DDB44
/* 801DDAF4 001D9754  A0 66 00 06 */	lhz r3, 6(r6)
/* 801DDAF8 001D9758  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 801DDAFC 001D975C  40 82 00 0C */	bne lbl_801DDB08
/* 801DDB00 001D9760  54 60 04 3C */	rlwinm r0, r3, 0, 0x10, 0x1e
/* 801DDB04 001D9764  B0 06 00 06 */	sth r0, 6(r6)
lbl_801DDB08:
/* 801DDB08 001D9768  7F C3 F3 78 */	mr r3, r30
/* 801DDB0C 001D976C  4B FF FF 89 */	bl func_801DDA94
/* 801DDB10 001D9770  2C 03 00 00 */	cmpwi r3, 0
/* 801DDB14 001D9774  41 82 00 30 */	beq lbl_801DDB44
/* 801DDB18 001D9778  80 9E 00 04 */	lwz r4, 4(r30)
/* 801DDB1C 001D977C  A0 04 00 06 */	lhz r0, 6(r4)
/* 801DDB20 001D9780  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 801DDB24 001D9784  40 82 00 20 */	bne lbl_801DDB44
/* 801DDB28 001D9788  90 64 00 00 */	stw r3, 0(r4)
/* 801DDB2C 001D978C  57 E3 06 3E */	clrlwi r3, r31, 0x18
/* 801DDB30 001D9790  38 00 00 03 */	li r0, 3
/* 801DDB34 001D9794  D3 C4 00 0C */	stfs f30, 0xc(r4)
/* 801DDB38 001D9798  D3 E4 00 08 */	stfs f31, 8(r4)
/* 801DDB3C 001D979C  B0 64 00 04 */	sth r3, 4(r4)
/* 801DDB40 001D97A0  B0 04 00 06 */	sth r0, 6(r4)
lbl_801DDB44:
/* 801DDB44 001D97A4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801DDB48 001D97A8  CB E1 00 18 */	lfd f31, 0x18(r1)
/* 801DDB4C 001D97AC  CB C1 00 10 */	lfd f30, 0x10(r1)
/* 801DDB50 001D97B0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801DDB54 001D97B4  83 C1 00 08 */	lwz r30, 8(r1)
/* 801DDB58 001D97B8  7C 08 03 A6 */	mtlr r0
/* 801DDB5C 001D97BC  38 21 00 20 */	addi r1, r1, 0x20
/* 801DDB60 001D97C0  4E 80 00 20 */	blr

.global func_801DDB64
func_801DDB64:
/* 801DDB64 001D97C4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801DDB68 001D97C8  7C 08 02 A6 */	mflr r0
/* 801DDB6C 001D97CC  90 01 00 14 */	stw r0, 0x14(r1)
/* 801DDB70 001D97D0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801DDB74 001D97D4  93 C1 00 08 */	stw r30, 8(r1)
/* 801DDB78 001D97D8  7C 7E 1B 78 */	mr r30, r3
/* 801DDB7C 001D97DC  4B FF FD 45 */	bl func_801DD8C0
/* 801DDB80 001D97E0  80 1E 00 04 */	lwz r0, 4(r30)
/* 801DDB84 001D97E4  3B E0 00 00 */	li r31, 0
/* 801DDB88 001D97E8  C0 02 95 F4 */	lfs f0, lbl_80641BF4-_SDA2_BASE_(r2)
/* 801DDB8C 001D97EC  2C 00 00 00 */	cmpwi r0, 0
/* 801DDB90 001D97F0  93 FE 00 08 */	stw r31, 8(r30)
/* 801DDB94 001D97F4  D0 1E 00 0C */	stfs f0, 0xc(r30)
/* 801DDB98 001D97F8  41 82 00 54 */	beq lbl_801DDBEC
/* 801DDB9C 001D97FC  4B FF CF 8D */	bl func_801DAB28
/* 801DDBA0 001D9800  2C 03 00 00 */	cmpwi r3, 0
/* 801DDBA4 001D9804  41 82 00 14 */	beq lbl_801DDBB8
/* 801DDBA8 001D9808  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 801DDBAC 001D980C  38 80 00 10 */	li r4, 0x10
/* 801DDBB0 001D9810  4B FF D0 E5 */	bl func_801DAC94
/* 801DDBB4 001D9814  48 00 00 08 */	b lbl_801DDBBC
lbl_801DDBB8:
/* 801DDBB8 001D9818  7F E3 FB 78 */	mr r3, r31
lbl_801DDBBC:
/* 801DDBBC 001D981C  2C 03 00 00 */	cmpwi r3, 0
/* 801DDBC0 001D9820  41 82 00 28 */	beq lbl_801DDBE8
/* 801DDBC4 001D9824  38 80 00 00 */	li r4, 0
/* 801DDBC8 001D9828  38 00 00 0C */	li r0, 0xc
/* 801DDBCC 001D982C  90 83 00 00 */	stw r4, 0(r3)
/* 801DDBD0 001D9830  C0 22 95 F0 */	lfs f1, lbl_80641BF0-_SDA2_BASE_(r2)
/* 801DDBD4 001D9834  B0 83 00 04 */	sth r4, 4(r3)
/* 801DDBD8 001D9838  C0 02 95 F4 */	lfs f0, lbl_80641BF4-_SDA2_BASE_(r2)
/* 801DDBDC 001D983C  B0 03 00 06 */	sth r0, 6(r3)
/* 801DDBE0 001D9840  D0 23 00 08 */	stfs f1, 8(r3)
/* 801DDBE4 001D9844  D0 03 00 0C */	stfs f0, 0xc(r3)
lbl_801DDBE8:
/* 801DDBE8 001D9848  90 7E 00 08 */	stw r3, 8(r30)
lbl_801DDBEC:
/* 801DDBEC 001D984C  7F C3 F3 78 */	mr r3, r30
/* 801DDBF0 001D9850  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801DDBF4 001D9854  83 C1 00 08 */	lwz r30, 8(r1)
/* 801DDBF8 001D9858  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801DDBFC 001D985C  7C 08 03 A6 */	mtlr r0
/* 801DDC00 001D9860  38 21 00 10 */	addi r1, r1, 0x10
/* 801DDC04 001D9864  4E 80 00 20 */	blr

.global func_801DDC08
func_801DDC08:
/* 801DDC08 001D9868  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801DDC0C 001D986C  7C 08 02 A6 */	mflr r0
/* 801DDC10 001D9870  2C 03 00 00 */	cmpwi r3, 0
/* 801DDC14 001D9874  90 01 00 14 */	stw r0, 0x14(r1)
/* 801DDC18 001D9878  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801DDC1C 001D987C  7C 9F 23 78 */	mr r31, r4
/* 801DDC20 001D9880  93 C1 00 08 */	stw r30, 8(r1)
/* 801DDC24 001D9884  7C 7E 1B 78 */	mr r30, r3
/* 801DDC28 001D9888  41 82 00 40 */	beq lbl_801DDC68
/* 801DDC2C 001D988C  80 83 00 08 */	lwz r4, 8(r3)
/* 801DDC30 001D9890  2C 04 00 00 */	cmpwi r4, 0
/* 801DDC34 001D9894  41 82 00 14 */	beq lbl_801DDC48
/* 801DDC38 001D9898  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 801DDC3C 001D989C  4B FF D1 0D */	bl func_801DAD48
/* 801DDC40 001D98A0  38 00 00 00 */	li r0, 0
/* 801DDC44 001D98A4  90 1E 00 08 */	stw r0, 8(r30)
lbl_801DDC48:
/* 801DDC48 001D98A8  7F C3 F3 78 */	mr r3, r30
/* 801DDC4C 001D98AC  38 80 00 00 */	li r4, 0
/* 801DDC50 001D98B0  4B FF FD 09 */	bl func_801DD958
/* 801DDC54 001D98B4  2C 1F 00 00 */	cmpwi r31, 0
/* 801DDC58 001D98B8  40 81 00 10 */	ble lbl_801DDC68
/* 801DDC5C 001D98BC  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 801DDC60 001D98C0  7F C4 F3 78 */	mr r4, r30
/* 801DDC64 001D98C4  4B FF D0 E5 */	bl func_801DAD48
lbl_801DDC68:
/* 801DDC68 001D98C8  7F C3 F3 78 */	mr r3, r30
/* 801DDC6C 001D98CC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801DDC70 001D98D0  83 C1 00 08 */	lwz r30, 8(r1)
/* 801DDC74 001D98D4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801DDC78 001D98D8  7C 08 03 A6 */	mtlr r0
/* 801DDC7C 001D98DC  38 21 00 10 */	addi r1, r1, 0x10
/* 801DDC80 001D98E0  4E 80 00 20 */	blr

.global func_801DDC84
func_801DDC84:
/* 801DDC84 001D98E4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801DDC88 001D98E8  7C 08 02 A6 */	mflr r0
/* 801DDC8C 001D98EC  90 01 00 24 */	stw r0, 0x24(r1)
/* 801DDC90 001D98F0  DB E1 00 18 */	stfd f31, 0x18(r1)
/* 801DDC94 001D98F4  FF E0 08 90 */	fmr f31, f1
/* 801DDC98 001D98F8  93 E1 00 14 */	stw r31, 0x14(r1)
/* 801DDC9C 001D98FC  7C 7F 1B 78 */	mr r31, r3
/* 801DDCA0 001D9900  93 C1 00 10 */	stw r30, 0x10(r1)
/* 801DDCA4 001D9904  93 A1 00 0C */	stw r29, 0xc(r1)
/* 801DDCA8 001D9908  80 83 00 04 */	lwz r4, 4(r3)
/* 801DDCAC 001D990C  2C 04 00 00 */	cmpwi r4, 0
/* 801DDCB0 001D9910  41 82 01 7C */	beq lbl_801DDE2C
/* 801DDCB4 001D9914  80 04 00 00 */	lwz r0, 0(r4)
/* 801DDCB8 001D9918  3B A0 00 00 */	li r29, 0
/* 801DDCBC 001D991C  2C 00 00 00 */	cmpwi r0, 0
/* 801DDCC0 001D9920  41 82 00 14 */	beq lbl_801DDCD4
/* 801DDCC4 001D9924  A0 04 00 06 */	lhz r0, 6(r4)
/* 801DDCC8 001D9928  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 801DDCCC 001D992C  41 82 00 08 */	beq lbl_801DDCD4
/* 801DDCD0 001D9930  3B A0 00 01 */	li r29, 1
lbl_801DDCD4:
/* 801DDCD4 001D9934  80 A3 00 08 */	lwz r5, 8(r3)
/* 801DDCD8 001D9938  3B C0 00 00 */	li r30, 0
/* 801DDCDC 001D993C  2C 05 00 00 */	cmpwi r5, 0
/* 801DDCE0 001D9940  41 82 00 30 */	beq lbl_801DDD10
/* 801DDCE4 001D9944  80 05 00 00 */	lwz r0, 0(r5)
/* 801DDCE8 001D9948  38 60 00 00 */	li r3, 0
/* 801DDCEC 001D994C  2C 00 00 00 */	cmpwi r0, 0
/* 801DDCF0 001D9950  41 82 00 14 */	beq lbl_801DDD04
/* 801DDCF4 001D9954  A0 05 00 06 */	lhz r0, 6(r5)
/* 801DDCF8 001D9958  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 801DDCFC 001D995C  41 82 00 08 */	beq lbl_801DDD04
/* 801DDD00 001D9960  38 60 00 01 */	li r3, 1
lbl_801DDD04:
/* 801DDD04 001D9964  2C 03 00 00 */	cmpwi r3, 0
/* 801DDD08 001D9968  41 82 00 08 */	beq lbl_801DDD10
/* 801DDD0C 001D996C  3B C0 00 01 */	li r30, 1
lbl_801DDD10:
/* 801DDD10 001D9970  2C 1D 00 00 */	cmpwi r29, 0
/* 801DDD14 001D9974  41 82 00 10 */	beq lbl_801DDD24
/* 801DDD18 001D9978  FC 20 F8 90 */	fmr f1, f31
/* 801DDD1C 001D997C  7C 83 23 78 */	mr r3, r4
/* 801DDD20 001D9980  4B FF F8 A9 */	bl func_801DD5C8
lbl_801DDD24:
/* 801DDD24 001D9984  2C 1E 00 00 */	cmpwi r30, 0
/* 801DDD28 001D9988  41 82 00 24 */	beq lbl_801DDD4C
/* 801DDD2C 001D998C  FC 20 F8 90 */	fmr f1, f31
/* 801DDD30 001D9990  80 7F 00 08 */	lwz r3, 8(r31)
/* 801DDD34 001D9994  4B FF F8 95 */	bl func_801DD5C8
/* 801DDD38 001D9998  80 7F 00 04 */	lwz r3, 4(r31)
/* 801DDD3C 001D999C  3B A0 00 01 */	li r29, 1
/* 801DDD40 001D99A0  A0 03 00 06 */	lhz r0, 6(r3)
/* 801DDD44 001D99A4  60 00 00 02 */	ori r0, r0, 2
/* 801DDD48 001D99A8  B0 03 00 06 */	sth r0, 6(r3)
lbl_801DDD4C:
/* 801DDD4C 001D99AC  2C 1D 00 00 */	cmpwi r29, 0
/* 801DDD50 001D99B0  41 82 00 6C */	beq lbl_801DDDBC
/* 801DDD54 001D99B4  80 7F 00 04 */	lwz r3, 4(r31)
/* 801DDD58 001D99B8  7F E4 FB 78 */	mr r4, r31
/* 801DDD5C 001D99BC  38 A0 00 00 */	li r5, 0
/* 801DDD60 001D99C0  4B FF FA 9D */	bl func_801DD7FC
/* 801DDD64 001D99C4  80 DF 00 04 */	lwz r6, 4(r31)
/* 801DDD68 001D99C8  38 80 00 01 */	li r4, 1
/* 801DDD6C 001D99CC  A0 A6 00 06 */	lhz r5, 6(r6)
/* 801DDD70 001D99D0  54 A0 07 39 */	rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 801DDD74 001D99D4  40 82 00 2C */	bne lbl_801DDDA0
/* 801DDD78 001D99D8  80 06 00 00 */	lwz r0, 0(r6)
/* 801DDD7C 001D99DC  38 60 00 00 */	li r3, 0
/* 801DDD80 001D99E0  2C 00 00 00 */	cmpwi r0, 0
/* 801DDD84 001D99E4  41 82 00 10 */	beq lbl_801DDD94
/* 801DDD88 001D99E8  54 A0 07 FF */	clrlwi. r0, r5, 0x1f
/* 801DDD8C 001D99EC  41 82 00 08 */	beq lbl_801DDD94
/* 801DDD90 001D99F0  38 60 00 01 */	li r3, 1
lbl_801DDD94:
/* 801DDD94 001D99F4  2C 03 00 00 */	cmpwi r3, 0
/* 801DDD98 001D99F8  41 82 00 08 */	beq lbl_801DDDA0
/* 801DDD9C 001D99FC  38 80 00 00 */	li r4, 0
lbl_801DDDA0:
/* 801DDDA0 001D9A00  2C 04 00 00 */	cmpwi r4, 0
/* 801DDDA4 001D9A04  41 82 00 18 */	beq lbl_801DDDBC
/* 801DDDA8 001D9A08  A0 66 00 06 */	lhz r3, 6(r6)
/* 801DDDAC 001D9A0C  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 801DDDB0 001D9A10  40 82 00 0C */	bne lbl_801DDDBC
/* 801DDDB4 001D9A14  54 60 04 3C */	rlwinm r0, r3, 0, 0x10, 0x1e
/* 801DDDB8 001D9A18  B0 06 00 06 */	sth r0, 6(r6)
lbl_801DDDBC:
/* 801DDDBC 001D9A1C  2C 1E 00 00 */	cmpwi r30, 0
/* 801DDDC0 001D9A20  41 82 00 6C */	beq lbl_801DDE2C
/* 801DDDC4 001D9A24  80 7F 00 08 */	lwz r3, 8(r31)
/* 801DDDC8 001D9A28  7F E4 FB 78 */	mr r4, r31
/* 801DDDCC 001D9A2C  38 A0 00 01 */	li r5, 1
/* 801DDDD0 001D9A30  4B FF FA 2D */	bl func_801DD7FC
/* 801DDDD4 001D9A34  80 DF 00 08 */	lwz r6, 8(r31)
/* 801DDDD8 001D9A38  38 80 00 01 */	li r4, 1
/* 801DDDDC 001D9A3C  A0 A6 00 06 */	lhz r5, 6(r6)
/* 801DDDE0 001D9A40  54 A0 07 39 */	rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 801DDDE4 001D9A44  40 82 00 2C */	bne lbl_801DDE10
/* 801DDDE8 001D9A48  80 06 00 00 */	lwz r0, 0(r6)
/* 801DDDEC 001D9A4C  38 60 00 00 */	li r3, 0
/* 801DDDF0 001D9A50  2C 00 00 00 */	cmpwi r0, 0
/* 801DDDF4 001D9A54  41 82 00 10 */	beq lbl_801DDE04
/* 801DDDF8 001D9A58  54 A0 07 FF */	clrlwi. r0, r5, 0x1f
/* 801DDDFC 001D9A5C  41 82 00 08 */	beq lbl_801DDE04
/* 801DDE00 001D9A60  38 60 00 01 */	li r3, 1
lbl_801DDE04:
/* 801DDE04 001D9A64  2C 03 00 00 */	cmpwi r3, 0
/* 801DDE08 001D9A68  41 82 00 08 */	beq lbl_801DDE10
/* 801DDE0C 001D9A6C  38 80 00 00 */	li r4, 0
lbl_801DDE10:
/* 801DDE10 001D9A70  2C 04 00 00 */	cmpwi r4, 0
/* 801DDE14 001D9A74  41 82 00 18 */	beq lbl_801DDE2C
/* 801DDE18 001D9A78  A0 66 00 06 */	lhz r3, 6(r6)
/* 801DDE1C 001D9A7C  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 801DDE20 001D9A80  40 82 00 0C */	bne lbl_801DDE2C
/* 801DDE24 001D9A84  54 60 04 3C */	rlwinm r0, r3, 0, 0x10, 0x1e
/* 801DDE28 001D9A88  B0 06 00 06 */	sth r0, 6(r6)
lbl_801DDE2C:
/* 801DDE2C 001D9A8C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801DDE30 001D9A90  CB E1 00 18 */	lfd f31, 0x18(r1)
/* 801DDE34 001D9A94  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 801DDE38 001D9A98  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 801DDE3C 001D9A9C  83 A1 00 0C */	lwz r29, 0xc(r1)
/* 801DDE40 001D9AA0  7C 08 03 A6 */	mtlr r0
/* 801DDE44 001D9AA4  38 21 00 20 */	addi r1, r1, 0x20
/* 801DDE48 001D9AA8  4E 80 00 20 */	blr

.global func_801DDE4C
func_801DDE4C:
/* 801DDE4C 001D9AAC  80 E3 00 08 */	lwz r7, 8(r3)
/* 801DDE50 001D9AB0  2C 07 00 00 */	cmpwi r7, 0
/* 801DDE54 001D9AB4  41 82 00 48 */	beq lbl_801DDE9C
/* 801DDE58 001D9AB8  C0 02 95 F4 */	lfs f0, lbl_80641BF4-_SDA2_BASE_(r2)
/* 801DDE5C 001D9ABC  38 C0 00 00 */	li r6, 0
/* 801DDE60 001D9AC0  D0 03 00 0C */	stfs f0, 0xc(r3)
/* 801DDE64 001D9AC4  80 07 00 00 */	lwz r0, 0(r7)
/* 801DDE68 001D9AC8  2C 00 00 00 */	cmpwi r0, 0
/* 801DDE6C 001D9ACC  41 82 00 14 */	beq lbl_801DDE80
/* 801DDE70 001D9AD0  A0 07 00 06 */	lhz r0, 6(r7)
/* 801DDE74 001D9AD4  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 801DDE78 001D9AD8  41 82 00 08 */	beq lbl_801DDE80
/* 801DDE7C 001D9ADC  38 C0 00 01 */	li r6, 1
lbl_801DDE80:
/* 801DDE80 001D9AE0  2C 06 00 00 */	cmpwi r6, 0
/* 801DDE84 001D9AE4  41 82 00 18 */	beq lbl_801DDE9C
/* 801DDE88 001D9AE8  A0 C7 00 06 */	lhz r6, 6(r7)
/* 801DDE8C 001D9AEC  54 C0 06 F7 */	rlwinm. r0, r6, 0, 0x1b, 0x1b
/* 801DDE90 001D9AF0  40 82 00 0C */	bne lbl_801DDE9C
/* 801DDE94 001D9AF4  54 C0 04 3C */	rlwinm r0, r6, 0, 0x10, 0x1e
/* 801DDE98 001D9AF8  B0 07 00 06 */	sth r0, 6(r7)
lbl_801DDE9C:
/* 801DDE9C 001D9AFC  4B FF FC 20 */	b func_801DDABC

.global func_801DDEA0
func_801DDEA0:
/* 801DDEA0 001D9B00  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801DDEA4 001D9B04  7C 08 02 A6 */	mflr r0
/* 801DDEA8 001D9B08  90 01 00 34 */	stw r0, 0x34(r1)
/* 801DDEAC 001D9B0C  DB E1 00 28 */	stfd f31, 0x28(r1)
/* 801DDEB0 001D9B10  FF E0 18 90 */	fmr f31, f3
/* 801DDEB4 001D9B14  DB C1 00 20 */	stfd f30, 0x20(r1)
/* 801DDEB8 001D9B18  FF C0 10 90 */	fmr f30, f2
/* 801DDEBC 001D9B1C  DB A1 00 18 */	stfd f29, 0x18(r1)
/* 801DDEC0 001D9B20  FF A0 08 90 */	fmr f29, f1
/* 801DDEC4 001D9B24  93 E1 00 14 */	stw r31, 0x14(r1)
/* 801DDEC8 001D9B28  7C BF 2B 78 */	mr r31, r5
/* 801DDECC 001D9B2C  93 C1 00 10 */	stw r30, 0x10(r1)
/* 801DDED0 001D9B30  7C 7E 1B 78 */	mr r30, r3
/* 801DDED4 001D9B34  80 C3 00 08 */	lwz r6, 8(r3)
/* 801DDED8 001D9B38  2C 06 00 00 */	cmpwi r6, 0
/* 801DDEDC 001D9B3C  41 82 00 58 */	beq lbl_801DDF34
/* 801DDEE0 001D9B40  A0 66 00 06 */	lhz r3, 6(r6)
/* 801DDEE4 001D9B44  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 801DDEE8 001D9B48  40 82 00 0C */	bne lbl_801DDEF4
/* 801DDEEC 001D9B4C  54 60 04 3C */	rlwinm r0, r3, 0, 0x10, 0x1e
/* 801DDEF0 001D9B50  B0 06 00 06 */	sth r0, 6(r6)
lbl_801DDEF4:
/* 801DDEF4 001D9B54  7F C3 F3 78 */	mr r3, r30
/* 801DDEF8 001D9B58  4B FF FB 9D */	bl func_801DDA94
/* 801DDEFC 001D9B5C  2C 03 00 00 */	cmpwi r3, 0
/* 801DDF00 001D9B60  41 82 00 30 */	beq lbl_801DDF30
/* 801DDF04 001D9B64  80 9E 00 08 */	lwz r4, 8(r30)
/* 801DDF08 001D9B68  A0 04 00 06 */	lhz r0, 6(r4)
/* 801DDF0C 001D9B6C  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 801DDF10 001D9B70  40 82 00 20 */	bne lbl_801DDF30
/* 801DDF14 001D9B74  90 64 00 00 */	stw r3, 0(r4)
/* 801DDF18 001D9B78  57 E3 06 3E */	clrlwi r3, r31, 0x18
/* 801DDF1C 001D9B7C  38 00 00 03 */	li r0, 3
/* 801DDF20 001D9B80  D3 A4 00 0C */	stfs f29, 0xc(r4)
/* 801DDF24 001D9B84  D3 C4 00 08 */	stfs f30, 8(r4)
/* 801DDF28 001D9B88  B0 64 00 04 */	sth r3, 4(r4)
/* 801DDF2C 001D9B8C  B0 04 00 06 */	sth r0, 6(r4)
lbl_801DDF30:
/* 801DDF30 001D9B90  D3 FE 00 0C */	stfs f31, 0xc(r30)
lbl_801DDF34:
/* 801DDF34 001D9B94  80 01 00 34 */	lwz r0, 0x34(r1)
/* 801DDF38 001D9B98  CB E1 00 28 */	lfd f31, 0x28(r1)
/* 801DDF3C 001D9B9C  CB C1 00 20 */	lfd f30, 0x20(r1)
/* 801DDF40 001D9BA0  CB A1 00 18 */	lfd f29, 0x18(r1)
/* 801DDF44 001D9BA4  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 801DDF48 001D9BA8  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 801DDF4C 001D9BAC  7C 08 03 A6 */	mtlr r0
/* 801DDF50 001D9BB0  38 21 00 30 */	addi r1, r1, 0x30
/* 801DDF54 001D9BB4  4E 80 00 20 */	blr

.global func_801DDF58
func_801DDF58:
/* 801DDF58 001D9BB8  38 A0 00 01 */	li r5, 1
/* 801DDF5C 001D9BBC  38 6D A0 90 */	addi r3, r13, lbl_8063F350-_SDA_BASE_
/* 801DDF60 001D9BC0  38 80 00 04 */	li r4, 4
/* 801DDF64 001D9BC4  38 00 00 00 */	li r0, 0
/* 801DDF68 001D9BC8  98 AD A0 90 */	stb r5, lbl_8063F350-_SDA_BASE_(r13)
/* 801DDF6C 001D9BCC  B0 83 00 02 */	sth r4, 2(r3)
/* 801DDF70 001D9BD0  98 03 00 04 */	stb r0, 4(r3)
/* 801DDF74 001D9BD4  4E 80 00 20 */	blr