summaryrefslogtreecommitdiff
path: root/asm/code_8020CA38.s
blob: 892f39ef338071f8647ce15304c510409a0a1aa5 (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
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
.include "macros.inc"

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

.global func_8020CA38
func_8020CA38:
/* 8020CA38 00208698  C0 45 00 00 */	lfs f2, 0(r5)
/* 8020CA3C 0020869C  C0 22 99 F8 */	lfs f1, lbl_80641FF8-_SDA2_BASE_(r2)
/* 8020CA40 002086A0  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 8020CA44 002086A4  40 80 00 28 */	bge lbl_8020CA6C
/* 8020CA48 002086A8  C0 62 99 FC */	lfs f3, lbl_80641FFC-_SDA2_BASE_(r2)
/* 8020CA4C 002086AC  FC 02 18 40 */	fcmpo cr0, f2, f3
/* 8020CA50 002086B0  40 81 00 1C */	ble lbl_8020CA6C
/* 8020CA54 002086B4  C0 02 9A 00 */	lfs f0, lbl_80642000-_SDA2_BASE_(r2)
/* 8020CA58 002086B8  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 8020CA5C 002086BC  40 80 00 08 */	bge lbl_8020CA64
/* 8020CA60 002086C0  48 00 00 10 */	b lbl_8020CA70
lbl_8020CA64:
/* 8020CA64 002086C4  FC 60 08 90 */	fmr f3, f1
/* 8020CA68 002086C8  48 00 00 08 */	b lbl_8020CA70
lbl_8020CA6C:
/* 8020CA6C 002086CC  C0 65 00 00 */	lfs f3, 0(r5)
lbl_8020CA70:
/* 8020CA70 002086D0  D0 63 00 04 */	stfs f3, 4(r3)
/* 8020CA74 002086D4  2C 04 00 00 */	cmpwi r4, 0
/* 8020CA78 002086D8  D0 63 00 00 */	stfs f3, 0(r3)
/* 8020CA7C 002086DC  C0 05 00 04 */	lfs f0, 4(r5)
/* 8020CA80 002086E0  D0 03 00 24 */	stfs f0, 0x24(r3)
/* 8020CA84 002086E4  C0 05 00 08 */	lfs f0, 8(r5)
/* 8020CA88 002086E8  D0 03 00 08 */	stfs f0, 8(r3)
/* 8020CA8C 002086EC  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 8020CA90 002086F0  D0 03 00 0C */	stfs f0, 0xc(r3)
/* 8020CA94 002086F4  C0 05 00 10 */	lfs f0, 0x10(r5)
/* 8020CA98 002086F8  D0 03 00 10 */	stfs f0, 0x10(r3)
/* 8020CA9C 002086FC  C0 05 00 14 */	lfs f0, 0x14(r5)
/* 8020CAA0 00208700  D0 03 00 14 */	stfs f0, 0x14(r3)
/* 8020CAA4 00208704  C0 05 00 18 */	lfs f0, 0x18(r5)
/* 8020CAA8 00208708  D0 03 00 18 */	stfs f0, 0x18(r3)
/* 8020CAAC 0020870C  C0 05 00 1C */	lfs f0, 0x1c(r5)
/* 8020CAB0 00208710  D0 03 00 1C */	stfs f0, 0x1c(r3)
/* 8020CAB4 00208714  4D 82 00 20 */	beqlr
/* 8020CAB8 00208718  80 84 00 FC */	lwz r4, 0xfc(r4)
/* 8020CABC 0020871C  80 04 00 00 */	lwz r0, 0(r4)
/* 8020CAC0 00208720  54 00 06 73 */	rlwinm. r0, r0, 0, 0x19, 0x19
/* 8020CAC4 00208724  4D 82 00 20 */	beqlr
/* 8020CAC8 00208728  80 83 00 20 */	lwz r4, 0x20(r3)
/* 8020CACC 0020872C  C0 05 00 20 */	lfs f0, 0x20(r5)
/* 8020CAD0 00208730  D0 04 00 00 */	stfs f0, 0(r4)
/* 8020CAD4 00208734  C0 05 00 24 */	lfs f0, 0x24(r5)
/* 8020CAD8 00208738  D0 04 00 04 */	stfs f0, 4(r4)
/* 8020CADC 0020873C  C0 05 00 28 */	lfs f0, 0x28(r5)
/* 8020CAE0 00208740  D0 04 00 08 */	stfs f0, 8(r4)
/* 8020CAE4 00208744  80 83 00 20 */	lwz r4, 0x20(r3)
/* 8020CAE8 00208748  C0 05 00 2C */	lfs f0, 0x2c(r5)
/* 8020CAEC 0020874C  D0 04 00 0C */	stfs f0, 0xc(r4)
/* 8020CAF0 00208750  C0 05 00 30 */	lfs f0, 0x30(r5)
/* 8020CAF4 00208754  D0 04 00 10 */	stfs f0, 0x10(r4)
/* 8020CAF8 00208758  C0 05 00 34 */	lfs f0, 0x34(r5)
/* 8020CAFC 0020875C  D0 04 00 14 */	stfs f0, 0x14(r4)
/* 8020CB00 00208760  C0 05 00 38 */	lfs f0, 0x38(r5)
/* 8020CB04 00208764  D0 04 00 18 */	stfs f0, 0x18(r4)
/* 8020CB08 00208768  80 63 00 20 */	lwz r3, 0x20(r3)
/* 8020CB0C 0020876C  C0 05 00 3C */	lfs f0, 0x3c(r5)
/* 8020CB10 00208770  D0 03 00 1C */	stfs f0, 0x1c(r3)
/* 8020CB14 00208774  C0 05 00 40 */	lfs f0, 0x40(r5)
/* 8020CB18 00208778  D0 03 00 20 */	stfs f0, 0x20(r3)
/* 8020CB1C 0020877C  C0 05 00 44 */	lfs f0, 0x44(r5)
/* 8020CB20 00208780  D0 03 00 24 */	stfs f0, 0x24(r3)
/* 8020CB24 00208784  4E 80 00 20 */	blr

.global func_8020CB28
func_8020CB28:
/* 8020CB28 00208788  94 21 FE 20 */	stwu r1, -0x1e0(r1)
/* 8020CB2C 0020878C  7C 08 02 A6 */	mflr r0
/* 8020CB30 00208790  90 01 01 E4 */	stw r0, 0x1e4(r1)
/* 8020CB34 00208794  DB E1 01 D0 */	stfd f31, 0x1d0(r1)
/* 8020CB38 00208798  F3 E1 01 D8 */	psq_st f31, 472(r1), 0, qr0
/* 8020CB3C 0020879C  DB C1 01 C0 */	stfd f30, 0x1c0(r1)
/* 8020CB40 002087A0  F3 C1 01 C8 */	psq_st f30, 456(r1), 0, qr0
/* 8020CB44 002087A4  FF E0 08 90 */	fmr f31, f1
/* 8020CB48 002087A8  C0 02 9A 00 */	lfs f0, lbl_80642000-_SDA2_BASE_(r2)
/* 8020CB4C 002087AC  93 E1 01 BC */	stw r31, 0x1bc(r1)
/* 8020CB50 002087B0  93 C1 01 B8 */	stw r30, 0x1b8(r1)
/* 8020CB54 002087B4  7C 9E 23 78 */	mr r30, r4
/* 8020CB58 002087B8  93 A1 01 B4 */	stw r29, 0x1b4(r1)
/* 8020CB5C 002087BC  7C 7D 1B 78 */	mr r29, r3
/* 8020CB60 002087C0  93 81 01 B0 */	stw r28, 0x1b0(r1)
/* 8020CB64 002087C4  C0 43 00 04 */	lfs f2, 4(r3)
/* 8020CB68 002087C8  EC 22 08 28 */	fsubs f1, f2, f1
/* 8020CB6C 002087CC  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020CB70 002087D0  D0 23 00 04 */	stfs f1, 4(r3)
/* 8020CB74 002087D4  4C 40 13 82 */	cror 2, 0, 2
/* 8020CB78 002087D8  40 82 00 0C */	bne lbl_8020CB84
/* 8020CB7C 002087DC  38 60 00 00 */	li r3, 0
/* 8020CB80 002087E0  48 00 05 80 */	b lbl_8020D100
lbl_8020CB84:
/* 8020CB84 002087E4  2C 04 00 00 */	cmpwi r4, 0
/* 8020CB88 002087E8  40 82 00 0C */	bne lbl_8020CB94
/* 8020CB8C 002087EC  38 60 00 01 */	li r3, 1
/* 8020CB90 002087F0  48 00 05 70 */	b lbl_8020D100
lbl_8020CB94:
/* 8020CB94 002087F4  A0 04 00 4C */	lhz r0, 0x4c(r4)
/* 8020CB98 002087F8  54 00 06 31 */	rlwinm. r0, r0, 0, 0x18, 0x18
/* 8020CB9C 002087FC  41 82 00 0C */	beq lbl_8020CBA8
/* 8020CBA0 00208800  38 60 FF FE */	li r3, -2
/* 8020CBA4 00208804  48 00 05 5C */	b lbl_8020D100
lbl_8020CBA8:
/* 8020CBA8 00208808  C0 23 00 24 */	lfs f1, 0x24(r3)
/* 8020CBAC 0020880C  83 E4 00 FC */	lwz r31, 0xfc(r4)
/* 8020CBB0 00208810  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020CBB4 00208814  40 81 00 08 */	ble lbl_8020CBBC
/* 8020CBB8 00208818  48 00 00 08 */	b lbl_8020CBC0
lbl_8020CBBC:
/* 8020CBBC 0020881C  FC 20 08 50 */	fneg f1, f1
lbl_8020CBC0:
/* 8020CBC0 00208820  C0 42 99 F8 */	lfs f2, lbl_80641FF8-_SDA2_BASE_(r2)
/* 8020CBC4 00208824  FC 01 10 40 */	fcmpo cr0, f1, f2
/* 8020CBC8 00208828  40 81 02 28 */	ble lbl_8020CDF0
/* 8020CBCC 0020882C  C0 04 00 A0 */	lfs f0, 0xa0(r4)
/* 8020CBD0 00208830  D0 01 00 D4 */	stfs f0, 0xd4(r1)
/* 8020CBD4 00208834  C0 04 00 A4 */	lfs f0, 0xa4(r4)
/* 8020CBD8 00208838  D0 01 00 D8 */	stfs f0, 0xd8(r1)
/* 8020CBDC 0020883C  C0 04 00 A8 */	lfs f0, 0xa8(r4)
/* 8020CBE0 00208840  D0 01 00 DC */	stfs f0, 0xdc(r1)
/* 8020CBE4 00208844  80 9F 00 00 */	lwz r4, 0(r31)
/* 8020CBE8 00208848  54 80 05 EF */	rlwinm. r0, r4, 0, 0x17, 0x17
/* 8020CBEC 0020884C  40 82 00 24 */	bne lbl_8020CC10
/* 8020CBF0 00208850  80 63 00 20 */	lwz r3, 0x20(r3)
/* 8020CBF4 00208854  38 81 00 18 */	addi r4, r1, 0x18
/* 8020CBF8 00208858  38 63 00 0C */	addi r3, r3, 0xc
/* 8020CBFC 0020885C  48 07 04 85 */	bl PSQUATInverse
/* 8020CC00 00208860  38 61 00 D4 */	addi r3, r1, 0xd4
/* 8020CC04 00208864  38 81 00 18 */	addi r4, r1, 0x18
/* 8020CC08 00208868  48 01 6E 05 */	bl func_80223A0C
/* 8020CC0C 0020886C  48 00 00 F0 */	b lbl_8020CCFC
lbl_8020CC10:
/* 8020CC10 00208870  54 80 03 9D */	rlwinm. r0, r4, 0, 0xe, 0xe
/* 8020CC14 00208874  41 82 00 E8 */	beq lbl_8020CCFC
/* 8020CC18 00208878  80 63 00 20 */	lwz r3, 0x20(r3)
/* 8020CC1C 0020887C  C0 23 00 1C */	lfs f1, 0x1c(r3)
/* 8020CC20 00208880  FC 01 10 40 */	fcmpo cr0, f1, f2
/* 8020CC24 00208884  40 80 00 28 */	bge lbl_8020CC4C
/* 8020CC28 00208888  C0 C2 99 FC */	lfs f6, lbl_80641FFC-_SDA2_BASE_(r2)
/* 8020CC2C 0020888C  FC 01 30 40 */	fcmpo cr0, f1, f6
/* 8020CC30 00208890  40 81 00 1C */	ble lbl_8020CC4C
/* 8020CC34 00208894  C0 02 9A 00 */	lfs f0, lbl_80642000-_SDA2_BASE_(r2)
/* 8020CC38 00208898  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020CC3C 0020889C  40 80 00 08 */	bge lbl_8020CC44
/* 8020CC40 002088A0  48 00 00 10 */	b lbl_8020CC50
lbl_8020CC44:
/* 8020CC44 002088A4  FC C0 10 90 */	fmr f6, f2
/* 8020CC48 002088A8  48 00 00 08 */	b lbl_8020CC50
lbl_8020CC4C:
/* 8020CC4C 002088AC  C0 C3 00 1C */	lfs f6, 0x1c(r3)
lbl_8020CC50:
/* 8020CC50 002088B0  C0 43 00 20 */	lfs f2, 0x20(r3)
/* 8020CC54 002088B4  C0 22 99 F8 */	lfs f1, lbl_80641FF8-_SDA2_BASE_(r2)
/* 8020CC58 002088B8  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 8020CC5C 002088BC  40 80 00 28 */	bge lbl_8020CC84
/* 8020CC60 002088C0  C0 E2 99 FC */	lfs f7, lbl_80641FFC-_SDA2_BASE_(r2)
/* 8020CC64 002088C4  FC 02 38 40 */	fcmpo cr0, f2, f7
/* 8020CC68 002088C8  40 81 00 1C */	ble lbl_8020CC84
/* 8020CC6C 002088CC  C0 02 9A 00 */	lfs f0, lbl_80642000-_SDA2_BASE_(r2)
/* 8020CC70 002088D0  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 8020CC74 002088D4  40 80 00 08 */	bge lbl_8020CC7C
/* 8020CC78 002088D8  48 00 00 10 */	b lbl_8020CC88
lbl_8020CC7C:
/* 8020CC7C 002088DC  FC E0 08 90 */	fmr f7, f1
/* 8020CC80 002088E0  48 00 00 08 */	b lbl_8020CC88
lbl_8020CC84:
/* 8020CC84 002088E4  C0 E3 00 20 */	lfs f7, 0x20(r3)
lbl_8020CC88:
/* 8020CC88 002088E8  C0 43 00 24 */	lfs f2, 0x24(r3)
/* 8020CC8C 002088EC  C0 22 99 F8 */	lfs f1, lbl_80641FF8-_SDA2_BASE_(r2)
/* 8020CC90 002088F0  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 8020CC94 002088F4  40 80 00 28 */	bge lbl_8020CCBC
/* 8020CC98 002088F8  C1 02 99 FC */	lfs f8, lbl_80641FFC-_SDA2_BASE_(r2)
/* 8020CC9C 002088FC  FC 02 40 40 */	fcmpo cr0, f2, f8
/* 8020CCA0 00208900  40 81 00 1C */	ble lbl_8020CCBC
/* 8020CCA4 00208904  C0 02 9A 00 */	lfs f0, lbl_80642000-_SDA2_BASE_(r2)
/* 8020CCA8 00208908  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 8020CCAC 0020890C  40 80 00 08 */	bge lbl_8020CCB4
/* 8020CCB0 00208910  48 00 00 10 */	b lbl_8020CCC0
lbl_8020CCB4:
/* 8020CCB4 00208914  FD 00 08 90 */	fmr f8, f1
/* 8020CCB8 00208918  48 00 00 08 */	b lbl_8020CCC0
lbl_8020CCBC:
/* 8020CCBC 0020891C  C1 03 00 24 */	lfs f8, 0x24(r3)
lbl_8020CCC0:
/* 8020CCC0 00208920  FC 80 30 18 */	frsp f4, f6
/* 8020CCC4 00208924  C0 A1 00 D4 */	lfs f5, 0xd4(r1)
/* 8020CCC8 00208928  FC 40 38 18 */	frsp f2, f7
/* 8020CCCC 0020892C  C0 61 00 D8 */	lfs f3, 0xd8(r1)
/* 8020CCD0 00208930  FC 00 40 18 */	frsp f0, f8
/* 8020CCD4 00208934  C0 21 00 DC */	lfs f1, 0xdc(r1)
/* 8020CCD8 00208938  EC 85 20 24 */	fdivs f4, f5, f4
/* 8020CCDC 0020893C  D0 C1 00 0C */	stfs f6, 0xc(r1)
/* 8020CCE0 00208940  D0 E1 00 10 */	stfs f7, 0x10(r1)
/* 8020CCE4 00208944  D1 01 00 14 */	stfs f8, 0x14(r1)
/* 8020CCE8 00208948  EC 43 10 24 */	fdivs f2, f3, f2
/* 8020CCEC 0020894C  D0 81 00 D4 */	stfs f4, 0xd4(r1)
/* 8020CCF0 00208950  EC 01 00 24 */	fdivs f0, f1, f0
/* 8020CCF4 00208954  D0 41 00 D8 */	stfs f2, 0xd8(r1)
/* 8020CCF8 00208958  D0 01 00 DC */	stfs f0, 0xdc(r1)
lbl_8020CCFC:
/* 8020CCFC 0020895C  80 1F 00 00 */	lwz r0, 0(r31)
/* 8020CD00 00208960  54 00 03 DF */	rlwinm. r0, r0, 0, 0xf, 0xf
/* 8020CD04 00208964  41 82 00 64 */	beq lbl_8020CD68
/* 8020CD08 00208968  38 61 00 D4 */	addi r3, r1, 0xd4
/* 8020CD0C 0020896C  38 9D 00 08 */	addi r4, r29, 8
/* 8020CD10 00208970  38 A1 00 8C */	addi r5, r1, 0x8c
/* 8020CD14 00208974  48 06 FF D5 */	bl PSVECSubtract
/* 8020CD18 00208978  C0 41 00 8C */	lfs f2, 0x8c(r1)
/* 8020CD1C 0020897C  38 61 00 C8 */	addi r3, r1, 0xc8
/* 8020CD20 00208980  C0 21 00 90 */	lfs f1, 0x90(r1)
/* 8020CD24 00208984  C0 01 00 94 */	lfs f0, 0x94(r1)
/* 8020CD28 00208988  D0 41 00 C8 */	stfs f2, 0xc8(r1)
/* 8020CD2C 0020898C  D0 21 00 CC */	stfs f1, 0xcc(r1)
/* 8020CD30 00208990  D0 01 00 D0 */	stfs f0, 0xd0(r1)
/* 8020CD34 00208994  48 07 00 51 */	bl PSVECMag
/* 8020CD38 00208998  C0 02 99 F8 */	lfs f0, lbl_80641FF8-_SDA2_BASE_(r2)
/* 8020CD3C 0020899C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020CD40 002089A0  40 81 00 54 */	ble lbl_8020CD94
/* 8020CD44 002089A4  C0 5F 00 AC */	lfs f2, 0xac(r31)
/* 8020CD48 002089A8  38 61 00 C8 */	addi r3, r1, 0xc8
/* 8020CD4C 002089AC  C0 1D 00 24 */	lfs f0, 0x24(r29)
/* 8020CD50 002089B0  7C 64 1B 78 */	mr r4, r3
/* 8020CD54 002089B4  EC 02 00 32 */	fmuls f0, f2, f0
/* 8020CD58 002089B8  EC 1F 00 32 */	fmuls f0, f31, f0
/* 8020CD5C 002089BC  EC 20 08 24 */	fdivs f1, f0, f1
/* 8020CD60 002089C0  48 06 FF AD */	bl PSVECScale
/* 8020CD64 002089C4  48 00 00 30 */	b lbl_8020CD94
lbl_8020CD68:
/* 8020CD68 002089C8  C0 1D 00 24 */	lfs f0, 0x24(r29)
/* 8020CD6C 002089CC  38 61 00 D4 */	addi r3, r1, 0xd4
/* 8020CD70 002089D0  38 81 00 80 */	addi r4, r1, 0x80
/* 8020CD74 002089D4  EC 20 07 F2 */	fmuls f1, f0, f31
/* 8020CD78 002089D8  48 06 FF 95 */	bl PSVECScale
/* 8020CD7C 002089DC  C0 41 00 80 */	lfs f2, 0x80(r1)
/* 8020CD80 002089E0  C0 21 00 84 */	lfs f1, 0x84(r1)
/* 8020CD84 002089E4  C0 01 00 88 */	lfs f0, 0x88(r1)
/* 8020CD88 002089E8  D0 41 00 C8 */	stfs f2, 0xc8(r1)
/* 8020CD8C 002089EC  D0 21 00 CC */	stfs f1, 0xcc(r1)
/* 8020CD90 002089F0  D0 01 00 D0 */	stfs f0, 0xd0(r1)
lbl_8020CD94:
/* 8020CD94 002089F4  38 7D 00 14 */	addi r3, r29, 0x14
/* 8020CD98 002089F8  38 81 00 C8 */	addi r4, r1, 0xc8
/* 8020CD9C 002089FC  7C 65 1B 78 */	mr r5, r3
/* 8020CDA0 00208A00  48 06 FF 25 */	bl PSVECAdd
/* 8020CDA4 00208A04  C0 7F 00 A4 */	lfs f3, 0xa4(r31)
/* 8020CDA8 00208A08  C0 02 9A 00 */	lfs f0, lbl_80642000-_SDA2_BASE_(r2)
/* 8020CDAC 00208A0C  FC 03 00 00 */	fcmpu cr0, f3, f0
/* 8020CDB0 00208A10  41 82 00 40 */	beq lbl_8020CDF0
/* 8020CDB4 00208A14  80 8D A4 C8 */	lwz r4, lbl_8063F788-_SDA_BASE_(r13)
/* 8020CDB8 00208A18  3C 00 43 30 */	lis r0, 0x4330
/* 8020CDBC 00208A1C  90 01 01 A0 */	stw r0, 0x1a0(r1)
/* 8020CDC0 00208A20  38 7D 00 14 */	addi r3, r29, 0x14
/* 8020CDC4 00208A24  88 04 00 59 */	lbz r0, 0x59(r4)
/* 8020CDC8 00208A28  7C 64 1B 78 */	mr r4, r3
/* 8020CDCC 00208A2C  C8 42 9A 08 */	lfd f2, lbl_80642008-_SDA2_BASE_(r2)
/* 8020CDD0 00208A30  90 01 01 A4 */	stw r0, 0x1a4(r1)
/* 8020CDD4 00208A34  C0 02 9A 04 */	lfs f0, lbl_80642004-_SDA2_BASE_(r2)
/* 8020CDD8 00208A38  C8 21 01 A0 */	lfd f1, 0x1a0(r1)
/* 8020CDDC 00208A3C  EC 21 10 28 */	fsubs f1, f1, f2
/* 8020CDE0 00208A40  EC 3F 00 72 */	fmuls f1, f31, f1
/* 8020CDE4 00208A44  EC 23 00 72 */	fmuls f1, f3, f1
/* 8020CDE8 00208A48  EC 20 08 28 */	fsubs f1, f0, f1
/* 8020CDEC 00208A4C  48 06 FF 21 */	bl PSVECScale
lbl_8020CDF0:
/* 8020CDF0 00208A50  C0 1D 00 08 */	lfs f0, 8(r29)
/* 8020CDF4 00208A54  FC 20 F8 90 */	fmr f1, f31
/* 8020CDF8 00208A58  38 7D 00 14 */	addi r3, r29, 0x14
/* 8020CDFC 00208A5C  38 81 00 74 */	addi r4, r1, 0x74
/* 8020CE00 00208A60  D0 01 00 BC */	stfs f0, 0xbc(r1)
/* 8020CE04 00208A64  C0 1D 00 0C */	lfs f0, 0xc(r29)
/* 8020CE08 00208A68  D0 01 00 C0 */	stfs f0, 0xc0(r1)
/* 8020CE0C 00208A6C  C0 1D 00 10 */	lfs f0, 0x10(r29)
/* 8020CE10 00208A70  D0 01 00 C4 */	stfs f0, 0xc4(r1)
/* 8020CE14 00208A74  48 06 FE F9 */	bl PSVECScale
/* 8020CE18 00208A78  38 7D 00 08 */	addi r3, r29, 8
/* 8020CE1C 00208A7C  38 81 00 74 */	addi r4, r1, 0x74
/* 8020CE20 00208A80  7C 65 1B 78 */	mr r5, r3
/* 8020CE24 00208A84  48 06 FE A1 */	bl PSVECAdd
/* 8020CE28 00208A88  80 1F 00 00 */	lwz r0, 0(r31)
/* 8020CE2C 00208A8C  54 00 05 AD */	rlwinm. r0, r0, 0, 0x16, 0x16
/* 8020CE30 00208A90  41 82 02 CC */	beq lbl_8020D0FC
/* 8020CE34 00208A94  83 9D 00 20 */	lwz r28, 0x20(r29)
/* 8020CE38 00208A98  38 61 00 E0 */	addi r3, r1, 0xe0
/* 8020CE3C 00208A9C  38 9C 00 0C */	addi r4, r28, 0xc
/* 8020CE40 00208AA0  48 06 F7 81 */	bl PSMTXQuat
/* 8020CE44 00208AA4  C0 3C 00 1C */	lfs f1, 0x1c(r28)
/* 8020CE48 00208AA8  38 61 01 70 */	addi r3, r1, 0x170
/* 8020CE4C 00208AAC  C0 5C 00 20 */	lfs f2, 0x20(r28)
/* 8020CE50 00208AB0  C0 7C 00 24 */	lfs f3, 0x24(r28)
/* 8020CE54 00208AB4  48 06 F6 ED */	bl PSMTXScale
/* 8020CE58 00208AB8  38 81 01 70 */	addi r4, r1, 0x170
/* 8020CE5C 00208ABC  38 61 00 E0 */	addi r3, r1, 0xe0
/* 8020CE60 00208AC0  7C 85 23 78 */	mr r5, r4
/* 8020CE64 00208AC4  48 06 F1 29 */	bl PSMTXConcat
/* 8020CE68 00208AC8  38 61 01 70 */	addi r3, r1, 0x170
/* 8020CE6C 00208ACC  C0 3C 00 00 */	lfs f1, 0(r28)
/* 8020CE70 00208AD0  C0 5C 00 04 */	lfs f2, 4(r28)
/* 8020CE74 00208AD4  7C 64 1B 78 */	mr r4, r3
/* 8020CE78 00208AD8  C0 7C 00 08 */	lfs f3, 8(r28)
/* 8020CE7C 00208ADC  48 06 F6 79 */	bl PSMTXTransApply
/* 8020CE80 00208AE0  38 61 01 70 */	addi r3, r1, 0x170
/* 8020CE84 00208AE4  38 9D 00 08 */	addi r4, r29, 8
/* 8020CE88 00208AE8  38 A1 00 68 */	addi r5, r1, 0x68
/* 8020CE8C 00208AEC  48 06 FB 71 */	bl PSMTXMultVec
/* 8020CE90 00208AF0  C0 41 00 68 */	lfs f2, 0x68(r1)
/* 8020CE94 00208AF4  38 81 00 BC */	addi r4, r1, 0xbc
/* 8020CE98 00208AF8  C0 21 00 6C */	lfs f1, 0x6c(r1)
/* 8020CE9C 00208AFC  7C 85 23 78 */	mr r5, r4
/* 8020CEA0 00208B00  C0 01 00 70 */	lfs f0, 0x70(r1)
/* 8020CEA4 00208B04  38 61 01 70 */	addi r3, r1, 0x170
/* 8020CEA8 00208B08  D0 41 00 B0 */	stfs f2, 0xb0(r1)
/* 8020CEAC 00208B0C  D0 21 00 B4 */	stfs f1, 0xb4(r1)
/* 8020CEB0 00208B10  D0 01 00 B8 */	stfs f0, 0xb8(r1)
/* 8020CEB4 00208B14  48 06 FB 49 */	bl PSMTXMultVec
/* 8020CEB8 00208B18  80 CD A1 F0 */	lwz r6, lbl_8063F4B0-_SDA_BASE_(r13)
/* 8020CEBC 00208B1C  38 61 00 BC */	addi r3, r1, 0xbc
/* 8020CEC0 00208B20  38 81 00 B0 */	addi r4, r1, 0xb0
/* 8020CEC4 00208B24  38 A1 00 98 */	addi r5, r1, 0x98
/* 8020CEC8 00208B28  81 06 00 00 */	lwz r8, 0(r6)
/* 8020CECC 00208B2C  38 C1 00 A4 */	addi r6, r1, 0xa4
/* 8020CED0 00208B30  38 E1 00 08 */	addi r7, r1, 8
/* 8020CED4 00208B34  39 20 00 01 */	li r9, 1
/* 8020CED8 00208B38  4B FE E3 B9 */	bl func_801FB290
/* 8020CEDC 00208B3C  2C 03 00 00 */	cmpwi r3, 0
/* 8020CEE0 00208B40  41 82 02 1C */	beq lbl_8020D0FC
/* 8020CEE4 00208B44  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 8020CEE8 00208B48  38 81 00 58 */	addi r4, r1, 0x58
/* 8020CEEC 00208B4C  38 63 00 0C */	addi r3, r3, 0xc
/* 8020CEF0 00208B50  48 07 01 91 */	bl PSQUATInverse
/* 8020CEF4 00208B54  38 61 01 40 */	addi r3, r1, 0x140
/* 8020CEF8 00208B58  38 81 00 58 */	addi r4, r1, 0x58
/* 8020CEFC 00208B5C  48 06 F6 C5 */	bl PSMTXQuat
/* 8020CF00 00208B60  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 8020CF04 00208B64  C0 62 99 FC */	lfs f3, lbl_80641FFC-_SDA2_BASE_(r2)
/* 8020CF08 00208B68  C0 43 00 1C */	lfs f2, 0x1c(r3)
/* 8020CF0C 00208B6C  FC 02 18 40 */	fcmpo cr0, f2, f3
/* 8020CF10 00208B70  40 81 00 28 */	ble lbl_8020CF38
/* 8020CF14 00208B74  C0 22 99 F8 */	lfs f1, lbl_80641FF8-_SDA2_BASE_(r2)
/* 8020CF18 00208B78  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 8020CF1C 00208B7C  40 80 00 1C */	bge lbl_8020CF38
/* 8020CF20 00208B80  C0 02 9A 00 */	lfs f0, lbl_80642000-_SDA2_BASE_(r2)
/* 8020CF24 00208B84  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 8020CF28 00208B88  40 80 00 08 */	bge lbl_8020CF30
/* 8020CF2C 00208B8C  48 00 00 10 */	b lbl_8020CF3C
lbl_8020CF30:
/* 8020CF30 00208B90  FC 60 08 90 */	fmr f3, f1
/* 8020CF34 00208B94  48 00 00 08 */	b lbl_8020CF3C
lbl_8020CF38:
/* 8020CF38 00208B98  C0 63 00 1C */	lfs f3, 0x1c(r3)
lbl_8020CF3C:
/* 8020CF3C 00208B9C  C0 43 00 20 */	lfs f2, 0x20(r3)
/* 8020CF40 00208BA0  C0 82 99 FC */	lfs f4, lbl_80641FFC-_SDA2_BASE_(r2)
/* 8020CF44 00208BA4  FC 02 20 40 */	fcmpo cr0, f2, f4
/* 8020CF48 00208BA8  40 81 00 28 */	ble lbl_8020CF70
/* 8020CF4C 00208BAC  C0 22 99 F8 */	lfs f1, lbl_80641FF8-_SDA2_BASE_(r2)
/* 8020CF50 00208BB0  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 8020CF54 00208BB4  40 80 00 1C */	bge lbl_8020CF70
/* 8020CF58 00208BB8  C0 02 9A 00 */	lfs f0, lbl_80642000-_SDA2_BASE_(r2)
/* 8020CF5C 00208BBC  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 8020CF60 00208BC0  40 80 00 08 */	bge lbl_8020CF68
/* 8020CF64 00208BC4  48 00 00 10 */	b lbl_8020CF74
lbl_8020CF68:
/* 8020CF68 00208BC8  FC 80 08 90 */	fmr f4, f1
/* 8020CF6C 00208BCC  48 00 00 08 */	b lbl_8020CF74
lbl_8020CF70:
/* 8020CF70 00208BD0  C0 83 00 20 */	lfs f4, 0x20(r3)
lbl_8020CF74:
/* 8020CF74 00208BD4  C0 43 00 24 */	lfs f2, 0x24(r3)
/* 8020CF78 00208BD8  C0 A2 99 FC */	lfs f5, lbl_80641FFC-_SDA2_BASE_(r2)
/* 8020CF7C 00208BDC  FC 02 28 40 */	fcmpo cr0, f2, f5
/* 8020CF80 00208BE0  40 81 00 28 */	ble lbl_8020CFA8
/* 8020CF84 00208BE4  C0 22 99 F8 */	lfs f1, lbl_80641FF8-_SDA2_BASE_(r2)
/* 8020CF88 00208BE8  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 8020CF8C 00208BEC  40 80 00 1C */	bge lbl_8020CFA8
/* 8020CF90 00208BF0  C0 02 9A 00 */	lfs f0, lbl_80642000-_SDA2_BASE_(r2)
/* 8020CF94 00208BF4  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 8020CF98 00208BF8  40 80 00 08 */	bge lbl_8020CFA0
/* 8020CF9C 00208BFC  48 00 00 10 */	b lbl_8020CFAC
lbl_8020CFA0:
/* 8020CFA0 00208C00  FC A0 08 90 */	fmr f5, f1
/* 8020CFA4 00208C04  48 00 00 08 */	b lbl_8020CFAC
lbl_8020CFA8:
/* 8020CFA8 00208C08  C0 A3 00 24 */	lfs f5, 0x24(r3)
lbl_8020CFAC:
/* 8020CFAC 00208C0C  C0 02 9A 04 */	lfs f0, lbl_80642004-_SDA2_BASE_(r2)
/* 8020CFB0 00208C10  38 61 01 40 */	addi r3, r1, 0x140
/* 8020CFB4 00208C14  7C 64 1B 78 */	mr r4, r3
/* 8020CFB8 00208C18  EC 20 18 24 */	fdivs f1, f0, f3
/* 8020CFBC 00208C1C  EC 40 20 24 */	fdivs f2, f0, f4
/* 8020CFC0 00208C20  EC 60 28 24 */	fdivs f3, f0, f5
/* 8020CFC4 00208C24  48 06 F5 A5 */	bl PSMTXScaleApply
/* 8020CFC8 00208C28  80 9D 00 20 */	lwz r4, 0x20(r29)
/* 8020CFCC 00208C2C  38 61 00 A4 */	addi r3, r1, 0xa4
/* 8020CFD0 00208C30  38 A1 00 48 */	addi r5, r1, 0x48
/* 8020CFD4 00208C34  48 06 FD 15 */	bl PSVECSubtract
/* 8020CFD8 00208C38  C0 01 00 48 */	lfs f0, 0x48(r1)
/* 8020CFDC 00208C3C  38 9D 00 08 */	addi r4, r29, 8
/* 8020CFE0 00208C40  7C 85 23 78 */	mr r5, r4
/* 8020CFE4 00208C44  38 61 01 40 */	addi r3, r1, 0x140
/* 8020CFE8 00208C48  D0 1D 00 08 */	stfs f0, 8(r29)
/* 8020CFEC 00208C4C  C0 01 00 4C */	lfs f0, 0x4c(r1)
/* 8020CFF0 00208C50  D0 1D 00 0C */	stfs f0, 0xc(r29)
/* 8020CFF4 00208C54  C0 01 00 50 */	lfs f0, 0x50(r1)
/* 8020CFF8 00208C58  D0 1D 00 10 */	stfs f0, 0x10(r29)
/* 8020CFFC 00208C5C  48 06 FA 55 */	bl PSMTXMultVecSR
/* 8020D000 00208C60  38 9D 00 14 */	addi r4, r29, 0x14
/* 8020D004 00208C64  38 61 01 70 */	addi r3, r1, 0x170
/* 8020D008 00208C68  7C 85 23 78 */	mr r5, r4
/* 8020D00C 00208C6C  48 06 FA 45 */	bl PSMTXMultVecSR
/* 8020D010 00208C70  38 7D 00 14 */	addi r3, r29, 0x14
/* 8020D014 00208C74  48 06 FD 71 */	bl PSVECMag
/* 8020D018 00208C78  C0 02 99 F8 */	lfs f0, lbl_80641FF8-_SDA2_BASE_(r2)
/* 8020D01C 00208C7C  FF C0 08 90 */	fmr f30, f1
/* 8020D020 00208C80  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8020D024 00208C84  40 81 00 24 */	ble lbl_8020D048
/* 8020D028 00208C88  38 7D 00 14 */	addi r3, r29, 0x14
/* 8020D02C 00208C8C  38 81 00 98 */	addi r4, r1, 0x98
/* 8020D030 00208C90  7C 65 1B 78 */	mr r5, r3
/* 8020D034 00208C94  48 06 FE C9 */	bl C_VECReflect
/* 8020D038 00208C98  FC 20 F0 90 */	fmr f1, f30
/* 8020D03C 00208C9C  38 7D 00 14 */	addi r3, r29, 0x14
/* 8020D040 00208CA0  7C 64 1B 78 */	mr r4, r3
/* 8020D044 00208CA4  48 06 FC C9 */	bl PSVECScale
lbl_8020D048:
/* 8020D048 00208CA8  38 7D 00 14 */	addi r3, r29, 0x14
/* 8020D04C 00208CAC  C0 3F 00 A8 */	lfs f1, 0xa8(r31)
/* 8020D050 00208CB0  7C 64 1B 78 */	mr r4, r3
/* 8020D054 00208CB4  48 06 FC B9 */	bl PSVECScale
/* 8020D058 00208CB8  38 9D 00 14 */	addi r4, r29, 0x14
/* 8020D05C 00208CBC  38 61 01 40 */	addi r3, r1, 0x140
/* 8020D060 00208CC0  7C 85 23 78 */	mr r5, r4
/* 8020D064 00208CC4  48 06 F9 ED */	bl PSMTXMultVecSR
/* 8020D068 00208CC8  80 1F 00 00 */	lwz r0, 0(r31)
/* 8020D06C 00208CCC  54 00 05 29 */	rlwinm. r0, r0, 0, 0x14, 0x14
/* 8020D070 00208CD0  41 82 00 60 */	beq lbl_8020D0D0
/* 8020D074 00208CD4  80 1E 01 04 */	lwz r0, 0x104(r30)
/* 8020D078 00208CD8  2C 00 00 00 */	cmpwi r0, 0
/* 8020D07C 00208CDC  41 82 00 54 */	beq lbl_8020D0D0
/* 8020D080 00208CE0  80 7D 00 20 */	lwz r3, 0x20(r29)
/* 8020D084 00208CE4  38 81 00 38 */	addi r4, r1, 0x38
/* 8020D088 00208CE8  38 63 00 0C */	addi r3, r3, 0xc
/* 8020D08C 00208CEC  48 06 FF F5 */	bl PSQUATInverse
/* 8020D090 00208CF0  38 61 01 10 */	addi r3, r1, 0x110
/* 8020D094 00208CF4  38 81 00 38 */	addi r4, r1, 0x38
/* 8020D098 00208CF8  48 06 F5 29 */	bl PSMTXQuat
/* 8020D09C 00208CFC  38 81 00 98 */	addi r4, r1, 0x98
/* 8020D0A0 00208D00  38 61 01 10 */	addi r3, r1, 0x110
/* 8020D0A4 00208D04  7C 85 23 78 */	mr r5, r4
/* 8020D0A8 00208D08  48 06 F9 A9 */	bl PSMTXMultVecSR
/* 8020D0AC 00208D0C  80 7E 01 04 */	lwz r3, 0x104(r30)
/* 8020D0B0 00208D10  38 9D 00 08 */	addi r4, r29, 8
/* 8020D0B4 00208D14  38 A1 00 98 */	addi r5, r1, 0x98
/* 8020D0B8 00208D18  38 DD 00 14 */	addi r6, r29, 0x14
/* 8020D0BC 00208D1C  4B FF DF 6D */	bl func_8020B028
/* 8020D0C0 00208D20  2C 03 00 00 */	cmpwi r3, 0
/* 8020D0C4 00208D24  41 82 00 0C */	beq lbl_8020D0D0
/* 8020D0C8 00208D28  38 60 FF FF */	li r3, -1
/* 8020D0CC 00208D2C  48 00 00 34 */	b lbl_8020D100
lbl_8020D0D0:
/* 8020D0D0 00208D30  C0 22 9A 04 */	lfs f1, lbl_80642004-_SDA2_BASE_(r2)
/* 8020D0D4 00208D34  38 7D 00 14 */	addi r3, r29, 0x14
/* 8020D0D8 00208D38  C0 01 00 08 */	lfs f0, 8(r1)
/* 8020D0DC 00208D3C  38 81 00 28 */	addi r4, r1, 0x28
/* 8020D0E0 00208D40  EC 01 00 28 */	fsubs f0, f1, f0
/* 8020D0E4 00208D44  EC 3F 00 32 */	fmuls f1, f31, f0
/* 8020D0E8 00208D48  48 06 FC 25 */	bl PSVECScale
/* 8020D0EC 00208D4C  38 7D 00 08 */	addi r3, r29, 8
/* 8020D0F0 00208D50  38 81 00 28 */	addi r4, r1, 0x28
/* 8020D0F4 00208D54  7C 65 1B 78 */	mr r5, r3
/* 8020D0F8 00208D58  48 06 FB CD */	bl PSVECAdd
lbl_8020D0FC:
/* 8020D0FC 00208D5C  38 60 00 01 */	li r3, 1
lbl_8020D100:
/* 8020D100 00208D60  E3 E1 01 D8 */	psq_l f31, 472(r1), 0, qr0
/* 8020D104 00208D64  CB E1 01 D0 */	lfd f31, 0x1d0(r1)
/* 8020D108 00208D68  E3 C1 01 C8 */	psq_l f30, 456(r1), 0, qr0
/* 8020D10C 00208D6C  CB C1 01 C0 */	lfd f30, 0x1c0(r1)
/* 8020D110 00208D70  83 E1 01 BC */	lwz r31, 0x1bc(r1)
/* 8020D114 00208D74  83 C1 01 B8 */	lwz r30, 0x1b8(r1)
/* 8020D118 00208D78  83 A1 01 B4 */	lwz r29, 0x1b4(r1)
/* 8020D11C 00208D7C  80 01 01 E4 */	lwz r0, 0x1e4(r1)
/* 8020D120 00208D80  83 81 01 B0 */	lwz r28, 0x1b0(r1)
/* 8020D124 00208D84  7C 08 03 A6 */	mtlr r0
/* 8020D128 00208D88  38 21 01 E0 */	addi r1, r1, 0x1e0
/* 8020D12C 00208D8C  4E 80 00 20 */	blr

.global func_8020D130
func_8020D130:
/* 8020D130 00208D90  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 8020D134 00208D94  7C 08 02 A6 */	mflr r0
/* 8020D138 00208D98  90 01 00 54 */	stw r0, 0x54(r1)
/* 8020D13C 00208D9C  93 E1 00 4C */	stw r31, 0x4c(r1)
/* 8020D140 00208DA0  7C BF 2B 78 */	mr r31, r5
/* 8020D144 00208DA4  93 C1 00 48 */	stw r30, 0x48(r1)
/* 8020D148 00208DA8  7C 9E 23 78 */	mr r30, r4
/* 8020D14C 00208DAC  93 A1 00 44 */	stw r29, 0x44(r1)
/* 8020D150 00208DB0  7C 7D 1B 78 */	mr r29, r3
/* 8020D154 00208DB4  C0 25 00 08 */	lfs f1, 8(r5)
/* 8020D158 00208DB8  C0 04 00 24 */	lfs f0, 0x24(r4)
/* 8020D15C 00208DBC  C0 65 00 04 */	lfs f3, 4(r5)
/* 8020D160 00208DC0  EC 81 00 32 */	fmuls f4, f1, f0
/* 8020D164 00208DC4  C0 44 00 20 */	lfs f2, 0x20(r4)
/* 8020D168 00208DC8  C0 04 00 1C */	lfs f0, 0x1c(r4)
/* 8020D16C 00208DCC  38 84 00 0C */	addi r4, r4, 0xc
/* 8020D170 00208DD0  C0 25 00 00 */	lfs f1, 0(r5)
/* 8020D174 00208DD4  EC 43 00 B2 */	fmuls f2, f3, f2
/* 8020D178 00208DD8  EC 01 00 32 */	fmuls f0, f1, f0
/* 8020D17C 00208DDC  D0 81 00 30 */	stfs f4, 0x30(r1)
/* 8020D180 00208DE0  D0 41 00 2C */	stfs f2, 0x2c(r1)
/* 8020D184 00208DE4  D0 01 00 28 */	stfs f0, 0x28(r1)
/* 8020D188 00208DE8  D0 03 00 00 */	stfs f0, 0(r3)
/* 8020D18C 00208DEC  D0 43 00 04 */	stfs f2, 4(r3)
/* 8020D190 00208DF0  D0 83 00 08 */	stfs f4, 8(r3)
/* 8020D194 00208DF4  48 01 68 79 */	bl func_80223A0C
/* 8020D198 00208DF8  7F A3 EB 78 */	mr r3, r29
/* 8020D19C 00208DFC  7F C4 F3 78 */	mr r4, r30
/* 8020D1A0 00208E00  7F A5 EB 78 */	mr r5, r29
/* 8020D1A4 00208E04  48 06 FB 21 */	bl PSVECAdd
/* 8020D1A8 00208E08  38 7E 00 0C */	addi r3, r30, 0xc
/* 8020D1AC 00208E0C  38 9F 00 0C */	addi r4, r31, 0xc
/* 8020D1B0 00208E10  38 A1 00 18 */	addi r5, r1, 0x18
/* 8020D1B4 00208E14  48 06 FE 71 */	bl PSQUATMultiply
/* 8020D1B8 00208E18  C0 01 00 18 */	lfs f0, 0x18(r1)
/* 8020D1BC 00208E1C  D0 1D 00 0C */	stfs f0, 0xc(r29)
/* 8020D1C0 00208E20  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 8020D1C4 00208E24  D0 1D 00 10 */	stfs f0, 0x10(r29)
/* 8020D1C8 00208E28  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 8020D1CC 00208E2C  D0 1D 00 14 */	stfs f0, 0x14(r29)
/* 8020D1D0 00208E30  C0 01 00 24 */	lfs f0, 0x24(r1)
/* 8020D1D4 00208E34  D0 1D 00 18 */	stfs f0, 0x18(r29)
/* 8020D1D8 00208E38  C0 3F 00 24 */	lfs f1, 0x24(r31)
/* 8020D1DC 00208E3C  C0 1E 00 24 */	lfs f0, 0x24(r30)
/* 8020D1E0 00208E40  C0 7F 00 20 */	lfs f3, 0x20(r31)
/* 8020D1E4 00208E44  EC 81 00 32 */	fmuls f4, f1, f0
/* 8020D1E8 00208E48  C0 5E 00 20 */	lfs f2, 0x20(r30)
/* 8020D1EC 00208E4C  C0 3F 00 1C */	lfs f1, 0x1c(r31)
/* 8020D1F0 00208E50  C0 1E 00 1C */	lfs f0, 0x1c(r30)
/* 8020D1F4 00208E54  EC 43 00 B2 */	fmuls f2, f3, f2
/* 8020D1F8 00208E58  D0 81 00 10 */	stfs f4, 0x10(r1)
/* 8020D1FC 00208E5C  EC 01 00 32 */	fmuls f0, f1, f0
/* 8020D200 00208E60  D0 5D 00 20 */	stfs f2, 0x20(r29)
/* 8020D204 00208E64  D0 1D 00 1C */	stfs f0, 0x1c(r29)
/* 8020D208 00208E68  D0 9D 00 24 */	stfs f4, 0x24(r29)
/* 8020D20C 00208E6C  83 E1 00 4C */	lwz r31, 0x4c(r1)
/* 8020D210 00208E70  83 C1 00 48 */	lwz r30, 0x48(r1)
/* 8020D214 00208E74  83 A1 00 44 */	lwz r29, 0x44(r1)
/* 8020D218 00208E78  80 01 00 54 */	lwz r0, 0x54(r1)
/* 8020D21C 00208E7C  D0 41 00 0C */	stfs f2, 0xc(r1)
/* 8020D220 00208E80  D0 01 00 08 */	stfs f0, 8(r1)
/* 8020D224 00208E84  7C 08 03 A6 */	mtlr r0
/* 8020D228 00208E88  38 21 00 50 */	addi r1, r1, 0x50
/* 8020D22C 00208E8C  4E 80 00 20 */	blr

.global func_8020D230
func_8020D230:
/* 8020D230 00208E90  38 A0 00 01 */	li r5, 1
/* 8020D234 00208E94  38 6D A2 20 */	addi r3, r13, lbl_8063F4E0-_SDA_BASE_
/* 8020D238 00208E98  38 80 00 04 */	li r4, 4
/* 8020D23C 00208E9C  38 00 00 00 */	li r0, 0
/* 8020D240 00208EA0  98 AD A2 20 */	stb r5, lbl_8063F4E0-_SDA_BASE_(r13)
/* 8020D244 00208EA4  B0 83 00 02 */	sth r4, 2(r3)
/* 8020D248 00208EA8  98 03 00 04 */	stb r0, 4(r3)
/* 8020D24C 00208EAC  4E 80 00 20 */	blr