summaryrefslogtreecommitdiff
path: root/asm/nw4r/lyt/lyt_animation.s
blob: e2e43c5e6d9350afe4dc70224535eb286225a594 (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
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
.include "macros.inc"

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

.global GetStepCurveValue__27$2unnamed$2lyt_animation_cpp$2FfPCQ44nw4r3lyt3res7StepKeyUl
GetStepCurveValue__27$2unnamed$2lyt_animation_cpp$2FfPCQ44nw4r3lyt3res7StepKeyUl:
/* 8038D73C 0038939C  28 04 00 01 */	cmplwi r4, 1
/* 8038D740 003893A0  41 82 00 14 */	beq lbl_8038D754
/* 8038D744 003893A4  C0 03 00 00 */	lfs f0, 0(r3)
/* 8038D748 003893A8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8038D74C 003893AC  4C 40 13 82 */	cror 2, 0, 2
/* 8038D750 003893B0  40 82 00 0C */	bne lbl_8038D75C
lbl_8038D754:
/* 8038D754 003893B4  A0 63 00 04 */	lhz r3, 4(r3)
/* 8038D758 003893B8  4E 80 00 20 */	blr 
lbl_8038D75C:
/* 8038D75C 003893BC  54 80 18 38 */	slwi r0, r4, 3
/* 8038D760 003893C0  7C A3 02 14 */	add r5, r3, r0
/* 8038D764 003893C4  C0 05 FF F8 */	lfs f0, -8(r5)
/* 8038D768 003893C8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8038D76C 003893CC  4C 41 13 82 */	cror 2, 1, 2
/* 8038D770 003893D0  40 82 00 0C */	bne lbl_8038D77C
/* 8038D774 003893D4  A0 65 FF FC */	lhz r3, -4(r5)
/* 8038D778 003893D8  4E 80 00 20 */	blr 
lbl_8038D77C:
/* 8038D77C 003893DC  38 C4 FF FF */	addi r6, r4, -1
/* 8038D780 003893E0  38 A0 00 00 */	li r5, 0
/* 8038D784 003893E4  48 00 00 3C */	b lbl_8038D7C0
lbl_8038D788:
/* 8038D788 003893E8  7C 85 32 14 */	add r4, r5, r6
/* 8038D78C 003893EC  54 80 0F FE */	srwi r0, r4, 0x1f
/* 8038D790 003893F0  7C 80 22 14 */	add r4, r0, r4
/* 8038D794 003893F4  54 80 10 38 */	rlwinm r0, r4, 2, 0, 0x1c
/* 8038D798 003893F8  7C 03 04 2E */	lfsx f0, r3, r0
/* 8038D79C 003893FC  7C 84 0E 70 */	srawi r4, r4, 1
/* 8038D7A0 00389400  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8038D7A4 00389404  7C 00 00 26 */	mfcr r0
/* 8038D7A8 00389408  54 00 0F FF */	rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 8038D7AC 0038940C  41 82 00 08 */	beq lbl_8038D7B4
/* 8038D7B0 00389410  7C 86 23 78 */	mr r6, r4
lbl_8038D7B4:
/* 8038D7B4 00389414  2C 00 00 00 */	cmpwi r0, 0
/* 8038D7B8 00389418  40 82 00 08 */	bne lbl_8038D7C0
/* 8038D7BC 0038941C  7C 85 23 78 */	mr r5, r4
lbl_8038D7C0:
/* 8038D7C0 00389420  38 06 FF FF */	addi r0, r6, -1
/* 8038D7C4 00389424  7C 05 00 00 */	cmpw r5, r0
/* 8038D7C8 00389428  41 82 00 0C */	beq lbl_8038D7D4
/* 8038D7CC 0038942C  7C 05 30 00 */	cmpw r5, r6
/* 8038D7D0 00389430  40 82 FF B8 */	bne lbl_8038D788
lbl_8038D7D4:
/* 8038D7D4 00389434  54 C4 18 38 */	slwi r4, r6, 3
/* 8038D7D8 00389438  C0 02 A8 E0 */	lfs f0, lbl_80642EE0-_SDA2_BASE_(r2)
/* 8038D7DC 0038943C  7C 43 24 2E */	lfsx f2, r3, r4
/* 8038D7E0 00389440  38 00 00 00 */	li r0, 0
/* 8038D7E4 00389444  EC 21 10 28 */	fsubs f1, f1, f2
/* 8038D7E8 00389448  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 8038D7EC 0038944C  40 80 00 14 */	bge lbl_8038D800
/* 8038D7F0 00389450  C0 02 A8 E4 */	lfs f0, lbl_80642EE4-_SDA2_BASE_(r2)
/* 8038D7F4 00389454  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8038D7F8 00389458  40 80 00 08 */	bge lbl_8038D800
/* 8038D7FC 0038945C  38 00 00 01 */	li r0, 1
lbl_8038D800:
/* 8038D800 00389460  2C 00 00 00 */	cmpwi r0, 0
/* 8038D804 00389464  41 82 00 10 */	beq lbl_8038D814
/* 8038D808 00389468  7C 63 22 14 */	add r3, r3, r4
/* 8038D80C 0038946C  A0 63 00 04 */	lhz r3, 4(r3)
/* 8038D810 00389470  4E 80 00 20 */	blr 
lbl_8038D814:
/* 8038D814 00389474  54 A0 18 38 */	slwi r0, r5, 3
/* 8038D818 00389478  7C 63 02 14 */	add r3, r3, r0
/* 8038D81C 0038947C  A0 63 00 04 */	lhz r3, 4(r3)
/* 8038D820 00389480  4E 80 00 20 */	blr 

.global GetHermiteCurveValue__27$2unnamed$2lyt_animation_cpp$2FfPCQ44nw4r3lyt3res10HermiteKeyUl
GetHermiteCurveValue__27$2unnamed$2lyt_animation_cpp$2FfPCQ44nw4r3lyt3res10HermiteKeyUl:
/* 8038D824 00389484  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8038D828 00389488  DB E1 00 10 */	stfd f31, 0x10(r1)
/* 8038D82C 0038948C  F3 E1 00 18 */	psq_st f31, 24(r1), 0, qr0
/* 8038D830 00389490  28 04 00 01 */	cmplwi r4, 1
/* 8038D834 00389494  41 82 00 14 */	beq lbl_8038D848
/* 8038D838 00389498  C0 03 00 00 */	lfs f0, 0(r3)
/* 8038D83C 0038949C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8038D840 003894A0  4C 40 13 82 */	cror 2, 0, 2
/* 8038D844 003894A4  40 82 00 0C */	bne lbl_8038D850
lbl_8038D848:
/* 8038D848 003894A8  C0 23 00 04 */	lfs f1, 4(r3)
/* 8038D84C 003894AC  48 00 01 84 */	b lbl_8038D9D0
lbl_8038D850:
/* 8038D850 003894B0  1C 04 00 0C */	mulli r0, r4, 0xc
/* 8038D854 003894B4  7C A3 02 14 */	add r5, r3, r0
/* 8038D858 003894B8  C0 05 FF F4 */	lfs f0, -0xc(r5)
/* 8038D85C 003894BC  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8038D860 003894C0  4C 41 13 82 */	cror 2, 1, 2
/* 8038D864 003894C4  40 82 00 0C */	bne lbl_8038D870
/* 8038D868 003894C8  C0 25 FF F8 */	lfs f1, -8(r5)
/* 8038D86C 003894CC  48 00 01 64 */	b lbl_8038D9D0
lbl_8038D870:
/* 8038D870 003894D0  38 E4 FF FF */	addi r7, r4, -1
/* 8038D874 003894D4  38 C0 00 00 */	li r6, 0
/* 8038D878 003894D8  48 00 00 40 */	b lbl_8038D8B8
lbl_8038D87C:
/* 8038D87C 003894DC  7C A6 3A 14 */	add r5, r6, r7
/* 8038D880 003894E0  54 A0 0F FE */	srwi r0, r5, 0x1f
/* 8038D884 003894E4  7C 00 2A 14 */	add r0, r0, r5
/* 8038D888 003894E8  7C 05 0E 70 */	srawi r5, r0, 1
/* 8038D88C 003894EC  1C 05 00 0C */	mulli r0, r5, 0xc
/* 8038D890 003894F0  7C 03 04 2E */	lfsx f0, r3, r0
/* 8038D894 003894F4  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8038D898 003894F8  4C 40 13 82 */	cror 2, 0, 2
/* 8038D89C 003894FC  7C 00 00 26 */	mfcr r0
/* 8038D8A0 00389500  54 00 1F FF */	rlwinm. r0, r0, 3, 0x1f, 0x1f
/* 8038D8A4 00389504  41 82 00 08 */	beq lbl_8038D8AC
/* 8038D8A8 00389508  7C A7 2B 78 */	mr r7, r5
lbl_8038D8AC:
/* 8038D8AC 0038950C  2C 00 00 00 */	cmpwi r0, 0
/* 8038D8B0 00389510  40 82 00 08 */	bne lbl_8038D8B8
/* 8038D8B4 00389514  7C A6 2B 78 */	mr r6, r5
lbl_8038D8B8:
/* 8038D8B8 00389518  38 07 FF FF */	addi r0, r7, -1
/* 8038D8BC 0038951C  7C 06 00 00 */	cmpw r6, r0
/* 8038D8C0 00389520  41 82 00 0C */	beq lbl_8038D8CC
/* 8038D8C4 00389524  7C 06 38 00 */	cmpw r6, r7
/* 8038D8C8 00389528  40 82 FF B4 */	bne lbl_8038D87C
lbl_8038D8CC:
/* 8038D8CC 0038952C  1C A7 00 0C */	mulli r5, r7, 0xc
/* 8038D8D0 00389530  C0 02 A8 E0 */	lfs f0, lbl_80642EE0-_SDA2_BASE_(r2)
/* 8038D8D4 00389534  38 00 00 00 */	li r0, 0
/* 8038D8D8 00389538  7C 43 2C 2E */	lfsx f2, r3, r5
/* 8038D8DC 0038953C  7D 03 2A 14 */	add r8, r3, r5
/* 8038D8E0 00389540  1C A6 00 0C */	mulli r5, r6, 0xc
/* 8038D8E4 00389544  EC 41 10 28 */	fsubs f2, f1, f2
/* 8038D8E8 00389548  7C A3 2A 14 */	add r5, r3, r5
/* 8038D8EC 0038954C  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 8038D8F0 00389550  40 80 00 14 */	bge lbl_8038D904
/* 8038D8F4 00389554  C0 02 A8 E4 */	lfs f0, lbl_80642EE4-_SDA2_BASE_(r2)
/* 8038D8F8 00389558  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 8038D8FC 0038955C  40 80 00 08 */	bge lbl_8038D904
/* 8038D900 00389560  38 00 00 01 */	li r0, 1
lbl_8038D904:
/* 8038D904 00389564  2C 00 00 00 */	cmpwi r0, 0
/* 8038D908 00389568  41 82 00 3C */	beq lbl_8038D944
/* 8038D90C 0038956C  38 04 FF FF */	addi r0, r4, -1
/* 8038D910 00389570  7C 07 00 40 */	cmplw r7, r0
/* 8038D914 00389574  40 80 00 28 */	bge lbl_8038D93C
/* 8038D918 00389578  38 07 00 01 */	addi r0, r7, 1
/* 8038D91C 0038957C  C0 28 00 00 */	lfs f1, 0(r8)
/* 8038D920 00389580  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8038D924 00389584  7C 03 04 2E */	lfsx f0, r3, r0
/* 8038D928 00389588  FC 01 00 00 */	fcmpu cr0, f1, f0
/* 8038D92C 0038958C  40 82 00 10 */	bne lbl_8038D93C
/* 8038D930 00389590  7C 63 02 14 */	add r3, r3, r0
/* 8038D934 00389594  C0 23 00 04 */	lfs f1, 4(r3)
/* 8038D938 00389598  48 00 00 98 */	b lbl_8038D9D0
lbl_8038D93C:
/* 8038D93C 0038959C  C0 28 00 04 */	lfs f1, 4(r8)
/* 8038D940 003895A0  48 00 00 90 */	b lbl_8038D9D0
lbl_8038D944:
/* 8038D944 003895A4  C0 45 00 00 */	lfs f2, 0(r5)
/* 8038D948 003895A8  C0 08 00 00 */	lfs f0, 0(r8)
/* 8038D94C 003895AC  EC E1 10 28 */	fsubs f7, f1, f2
/* 8038D950 003895B0  C0 C2 A8 E8 */	lfs f6, lbl_80642EE8-_SDA2_BASE_(r2)
/* 8038D954 003895B4  EC 00 10 28 */	fsubs f0, f0, f2
/* 8038D958 003895B8  C0 82 A8 EC */	lfs f4, lbl_80642EEC-_SDA2_BASE_(r2)
/* 8038D95C 003895BC  C0 22 A8 F0 */	lfs f1, lbl_80642EF0-_SDA2_BASE_(r2)
/* 8038D960 003895C0  EC 47 01 F2 */	fmuls f2, f7, f7
/* 8038D964 003895C4  EC A6 00 24 */	fdivs f5, f6, f0
/* 8038D968 003895C8  C0 02 A8 F4 */	lfs f0, lbl_80642EF4-_SDA2_BASE_(r2)
/* 8038D96C 003895CC  C1 05 00 04 */	lfs f8, 4(r5)
/* 8038D970 003895D0  C1 28 00 04 */	lfs f9, 4(r8)
/* 8038D974 003895D4  C1 45 00 08 */	lfs f10, 8(r5)
/* 8038D978 003895D8  C1 68 00 08 */	lfs f11, 8(r8)
/* 8038D97C 003895DC  ED 85 00 B2 */	fmuls f12, f5, f2
/* 8038D980 003895E0  EC 4C 01 72 */	fmuls f2, f12, f5
/* 8038D984 003895E4  EC 64 03 32 */	fmuls f3, f4, f12
/* 8038D988 003895E8  ED A7 00 B2 */	fmuls f13, f7, f2
/* 8038D98C 003895EC  EC 41 00 B2 */	fmuls f2, f1, f2
/* 8038D990 003895F0  EF ED 01 72 */	fmuls f31, f13, f5
/* 8038D994 003895F4  EC 6D 18 28 */	fsubs f3, f13, f3
/* 8038D998 003895F8  EC AD 60 28 */	fsubs f5, f13, f12
/* 8038D99C 003895FC  EC 24 07 F2 */	fmuls f1, f4, f31
/* 8038D9A0 00389600  EC 00 07 F2 */	fmuls f0, f0, f31
/* 8038D9A4 00389604  EC 67 18 2A */	fadds f3, f7, f3
/* 8038D9A8 00389608  EC 21 10 28 */	fsubs f1, f1, f2
/* 8038D9AC 0038960C  EC 00 10 2A */	fadds f0, f0, f2
/* 8038D9B0 00389610  EC 4A 00 F2 */	fmuls f2, f10, f3
/* 8038D9B4 00389614  EC 26 08 2A */	fadds f1, f6, f1
/* 8038D9B8 00389618  EC 09 00 32 */	fmuls f0, f9, f0
/* 8038D9BC 0038961C  EC 6B 01 72 */	fmuls f3, f11, f5
/* 8038D9C0 00389620  EC 28 00 72 */	fmuls f1, f8, f1
/* 8038D9C4 00389624  EC 01 00 2A */	fadds f0, f1, f0
/* 8038D9C8 00389628  EC 02 00 2A */	fadds f0, f2, f0
/* 8038D9CC 0038962C  EC 23 00 2A */	fadds f1, f3, f0
lbl_8038D9D0:
/* 8038D9D0 00389630  E3 E1 00 18 */	psq_l f31, 24(r1), 0, qr0
/* 8038D9D4 00389634  CB E1 00 10 */	lfd f31, 0x10(r1)
/* 8038D9D8 00389638  38 21 00 20 */	addi r1, r1, 0x20
/* 8038D9DC 0038963C  4E 80 00 20 */	blr 

.global GetFrameSize__Q34nw4r3lyt13AnimTransformCFv
GetFrameSize__Q34nw4r3lyt13AnimTransformCFv:
/* 8038D9E0 00389640  80 63 00 0C */	lwz r3, 0xc(r3)
/* 8038D9E4 00389644  A0 63 00 08 */	lhz r3, 8(r3)
/* 8038D9E8 00389648  4E 80 00 20 */	blr 

.global __ct__Q34nw4r3lyt18AnimTransformBasicFv
__ct__Q34nw4r3lyt18AnimTransformBasicFv:
/* 8038D9EC 0038964C  C0 02 A8 F8 */	lfs f0, lbl_80642EF8-_SDA2_BASE_(r2)
/* 8038D9F0 00389650  3C 80 80 45 */	lis r4, lbl_8044E560@ha
/* 8038D9F4 00389654  38 00 00 00 */	li r0, 0
/* 8038D9F8 00389658  38 84 E5 60 */	addi r4, r4, lbl_8044E560@l
/* 8038D9FC 0038965C  90 03 00 04 */	stw r0, 4(r3)
/* 8038DA00 00389660  90 03 00 08 */	stw r0, 8(r3)
/* 8038DA04 00389664  90 03 00 0C */	stw r0, 0xc(r3)
/* 8038DA08 00389668  D0 03 00 10 */	stfs f0, 0x10(r3)
/* 8038DA0C 0038966C  90 83 00 00 */	stw r4, 0(r3)
/* 8038DA10 00389670  90 03 00 14 */	stw r0, 0x14(r3)
/* 8038DA14 00389674  90 03 00 18 */	stw r0, 0x18(r3)
/* 8038DA18 00389678  B0 03 00 1C */	sth r0, 0x1c(r3)
/* 8038DA1C 0038967C  4E 80 00 20 */	blr 

.global __dt__Q34nw4r3lyt18AnimTransformBasicFv
__dt__Q34nw4r3lyt18AnimTransformBasicFv:
/* 8038DA20 00389680  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8038DA24 00389684  7C 08 02 A6 */	mflr r0
/* 8038DA28 00389688  2C 03 00 00 */	cmpwi r3, 0
/* 8038DA2C 0038968C  90 01 00 14 */	stw r0, 0x14(r1)
/* 8038DA30 00389690  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8038DA34 00389694  7C 9F 23 78 */	mr r31, r4
/* 8038DA38 00389698  93 C1 00 08 */	stw r30, 8(r1)
/* 8038DA3C 0038969C  7C 7E 1B 78 */	mr r30, r3
/* 8038DA40 003896A0  41 82 00 48 */	beq lbl_8038DA88
/* 8038DA44 003896A4  80 83 00 18 */	lwz r4, 0x18(r3)
/* 8038DA48 003896A8  3C A0 80 45 */	lis r5, lbl_8044E560@ha
/* 8038DA4C 003896AC  38 A5 E5 60 */	addi r5, r5, lbl_8044E560@l
/* 8038DA50 003896B0  2C 04 00 00 */	cmpwi r4, 0
/* 8038DA54 003896B4  90 A3 00 00 */	stw r5, 0(r3)
/* 8038DA58 003896B8  41 82 00 0C */	beq lbl_8038DA64
/* 8038DA5C 003896BC  80 6D B2 B0 */	lwz r3, lbl_80640570-_SDA_BASE_(r13)
/* 8038DA60 003896C0  4B F0 9C D5 */	bl MEMFreeToAllocator
lbl_8038DA64:
/* 8038DA64 003896C4  80 9E 00 14 */	lwz r4, 0x14(r30)
/* 8038DA68 003896C8  2C 04 00 00 */	cmpwi r4, 0
/* 8038DA6C 003896CC  41 82 00 0C */	beq lbl_8038DA78
/* 8038DA70 003896D0  80 6D B2 B0 */	lwz r3, lbl_80640570-_SDA_BASE_(r13)
/* 8038DA74 003896D4  4B F0 9C C1 */	bl MEMFreeToAllocator
lbl_8038DA78:
/* 8038DA78 003896D8  2C 1F 00 00 */	cmpwi r31, 0
/* 8038DA7C 003896DC  40 81 00 0C */	ble lbl_8038DA88
/* 8038DA80 003896E0  7F C3 F3 78 */	mr r3, r30
/* 8038DA84 003896E4  4B E4 D0 35 */	bl __dl__FPv
lbl_8038DA88:
/* 8038DA88 003896E8  7F C3 F3 78 */	mr r3, r30
/* 8038DA8C 003896EC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8038DA90 003896F0  83 C1 00 08 */	lwz r30, 8(r1)
/* 8038DA94 003896F4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8038DA98 003896F8  7C 08 03 A6 */	mtlr r0
/* 8038DA9C 003896FC  38 21 00 10 */	addi r1, r1, 0x10
/* 8038DAA0 00389700  4E 80 00 20 */	blr 

.global SetResource__Q34nw4r3lyt18AnimTransformBasicFPCQ44nw4r3lyt3res14AnimationBlockPQ34nw4r3lyt16ResourceAccessor
SetResource__Q34nw4r3lyt18AnimTransformBasicFPCQ44nw4r3lyt3res14AnimationBlockPQ34nw4r3lyt16ResourceAccessor:
/* 8038DAA4 00389704  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8038DAA8 00389708  7C 08 02 A6 */	mflr r0
/* 8038DAAC 0038970C  90 01 00 34 */	stw r0, 0x34(r1)
/* 8038DAB0 00389710  39 61 00 30 */	addi r11, r1, 0x30
/* 8038DAB4 00389714  4B E3 96 69 */	bl _savegpr_24
/* 8038DAB8 00389718  A0 C4 00 0C */	lhz r6, 0xc(r4)
/* 8038DABC 0038971C  38 00 00 00 */	li r0, 0
/* 8038DAC0 00389720  90 83 00 0C */	stw r4, 0xc(r3)
/* 8038DAC4 00389724  7C 7E 1B 78 */	mr r30, r3
/* 8038DAC8 00389728  2C 06 00 00 */	cmpwi r6, 0
/* 8038DACC 0038972C  7C 9F 23 78 */	mr r31, r4
/* 8038DAD0 00389730  90 03 00 14 */	stw r0, 0x14(r3)
/* 8038DAD4 00389734  7C B8 2B 78 */	mr r24, r5
/* 8038DAD8 00389738  41 82 00 80 */	beq lbl_8038DB58
/* 8038DADC 0038973C  80 6D B2 B0 */	lwz r3, lbl_80640570-_SDA_BASE_(r13)
/* 8038DAE0 00389740  54 C4 13 BA */	rlwinm r4, r6, 2, 0xe, 0x1d
/* 8038DAE4 00389744  4B F0 9C 41 */	bl MEMAllocFromAllocator
/* 8038DAE8 00389748  2C 03 00 00 */	cmpwi r3, 0
/* 8038DAEC 0038974C  90 7E 00 14 */	stw r3, 0x14(r30)
/* 8038DAF0 00389750  41 82 00 68 */	beq lbl_8038DB58
/* 8038DAF4 00389754  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 8038DAF8 00389758  3B 20 00 00 */	li r25, 0
/* 8038DAFC 0038975C  3B 40 00 00 */	li r26, 0
/* 8038DB00 00389760  3F A0 74 69 */	lis r29, 0x7469
/* 8038DB04 00389764  3B 83 00 14 */	addi r28, r3, 0x14
/* 8038DB08 00389768  7F 9B E3 78 */	mr r27, r28
/* 8038DB0C 0038976C  48 00 00 3C */	b lbl_8038DB48
lbl_8038DB10:
/* 8038DB10 00389770  81 98 00 00 */	lwz r12, 0(r24)
/* 8038DB14 00389774  7F 03 C3 78 */	mr r3, r24
/* 8038DB18 00389778  80 1B 00 00 */	lwz r0, 0(r27)
/* 8038DB1C 0038977C  38 9D 6D 67 */	addi r4, r29, 0x6d67
/* 8038DB20 00389780  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 8038DB24 00389784  38 C0 00 00 */	li r6, 0
/* 8038DB28 00389788  7C BC 02 14 */	add r5, r28, r0
/* 8038DB2C 0038978C  7D 89 03 A6 */	mtctr r12
/* 8038DB30 00389790  4E 80 04 21 */	bctrl 
/* 8038DB34 00389794  80 9E 00 14 */	lwz r4, 0x14(r30)
/* 8038DB38 00389798  3B 7B 00 04 */	addi r27, r27, 4
/* 8038DB3C 0038979C  3B 39 00 01 */	addi r25, r25, 1
/* 8038DB40 003897A0  7C 64 D1 2E */	stwx r3, r4, r26
/* 8038DB44 003897A4  3B 5A 00 04 */	addi r26, r26, 4
lbl_8038DB48:
/* 8038DB48 003897A8  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 8038DB4C 003897AC  A0 03 00 0C */	lhz r0, 0xc(r3)
/* 8038DB50 003897B0  7C 19 00 00 */	cmpw r25, r0
/* 8038DB54 003897B4  41 80 FF BC */	blt lbl_8038DB10
lbl_8038DB58:
/* 8038DB58 003897B8  A0 1F 00 0E */	lhz r0, 0xe(r31)
/* 8038DB5C 003897BC  80 6D B2 B0 */	lwz r3, lbl_80640570-_SDA_BASE_(r13)
/* 8038DB60 003897C0  54 04 20 36 */	slwi r4, r0, 4
/* 8038DB64 003897C4  4B F0 9B C1 */	bl MEMAllocFromAllocator
/* 8038DB68 003897C8  2C 03 00 00 */	cmpwi r3, 0
/* 8038DB6C 003897CC  90 7E 00 18 */	stw r3, 0x18(r30)
/* 8038DB70 003897D0  41 82 00 5C */	beq lbl_8038DBCC
/* 8038DB74 003897D4  A0 1F 00 0E */	lhz r0, 0xe(r31)
/* 8038DB78 003897D8  38 80 00 00 */	li r4, 0
/* 8038DB7C 003897DC  B0 1E 00 1C */	sth r0, 0x1c(r30)
/* 8038DB80 003897E0  54 05 20 36 */	slwi r5, r0, 4
/* 8038DB84 003897E4  4B C7 65 81 */	bl memset
/* 8038DB88 003897E8  38 A0 00 00 */	li r5, 0
/* 8038DB8C 003897EC  38 80 00 00 */	li r4, 0
/* 8038DB90 003897F0  48 00 00 2C */	b lbl_8038DBBC
lbl_8038DB94:
/* 8038DB94 003897F4  80 7E 00 18 */	lwz r3, 0x18(r30)
/* 8038DB98 003897F8  54 A0 23 36 */	rlwinm r0, r5, 4, 0xc, 0x1b
/* 8038DB9C 003897FC  7C 63 02 15 */	add. r3, r3, r0
/* 8038DBA0 00389800  41 82 00 18 */	beq lbl_8038DBB8
/* 8038DBA4 00389804  90 83 00 00 */	stw r4, 0(r3)
/* 8038DBA8 00389808  90 83 00 04 */	stw r4, 4(r3)
/* 8038DBAC 0038980C  98 83 00 0E */	stb r4, 0xe(r3)
/* 8038DBB0 00389810  90 83 00 08 */	stw r4, 8(r3)
/* 8038DBB4 00389814  B0 83 00 0C */	sth r4, 0xc(r3)
lbl_8038DBB8:
/* 8038DBB8 00389818  38 A5 00 01 */	addi r5, r5, 1
lbl_8038DBBC:
/* 8038DBBC 0038981C  A0 1F 00 0E */	lhz r0, 0xe(r31)
/* 8038DBC0 00389820  54 A3 04 3E */	clrlwi r3, r5, 0x10
/* 8038DBC4 00389824  7C 03 00 40 */	cmplw r3, r0
/* 8038DBC8 00389828  41 80 FF CC */	blt lbl_8038DB94
lbl_8038DBCC:
/* 8038DBCC 0038982C  39 61 00 30 */	addi r11, r1, 0x30
/* 8038DBD0 00389830  4B E3 95 99 */	bl _restgpr_24
/* 8038DBD4 00389834  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8038DBD8 00389838  7C 08 03 A6 */	mtlr r0
/* 8038DBDC 0038983C  38 21 00 30 */	addi r1, r1, 0x30
/* 8038DBE0 00389840  4E 80 00 20 */	blr 

.global Bind__Q34nw4r3lyt18AnimTransformBasicFPQ34nw4r3lyt4Paneb
Bind__Q34nw4r3lyt18AnimTransformBasicFPQ34nw4r3lyt4Paneb:
/* 8038DBE4 00389844  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8038DBE8 00389848  7C 08 02 A6 */	mflr r0
/* 8038DBEC 0038984C  90 01 00 24 */	stw r0, 0x24(r1)
/* 8038DBF0 00389850  39 61 00 20 */	addi r11, r1, 0x20
/* 8038DBF4 00389854  4B E3 95 35 */	bl _savegpr_27
/* 8038DBF8 00389858  80 C3 00 0C */	lwz r6, 0xc(r3)
/* 8038DBFC 0038985C  7C 7B 1B 78 */	mr r27, r3
/* 8038DC00 00389860  7C 9C 23 78 */	mr r28, r4
/* 8038DC04 00389864  7C BD 2B 78 */	mr r29, r5
/* 8038DC08 00389868  80 06 00 10 */	lwz r0, 0x10(r6)
/* 8038DC0C 0038986C  3B C0 00 00 */	li r30, 0
/* 8038DC10 00389870  7F E6 02 14 */	add r31, r6, r0
/* 8038DC14 00389874  48 00 00 A4 */	b lbl_8038DCB8
lbl_8038DC18:
/* 8038DC18 00389878  57 C0 13 BA */	rlwinm r0, r30, 2, 0xe, 0x1d
/* 8038DC1C 0038987C  7C 1F 00 2E */	lwzx r0, r31, r0
/* 8038DC20 00389880  7C 84 02 14 */	add r4, r4, r0
/* 8038DC24 00389884  88 04 00 15 */	lbz r0, 0x15(r4)
/* 8038DC28 00389888  2C 00 00 00 */	cmpwi r0, 0
/* 8038DC2C 0038988C  40 82 00 48 */	bne lbl_8038DC74
/* 8038DC30 00389890  81 9C 00 00 */	lwz r12, 0(r28)
/* 8038DC34 00389894  7F 83 E3 78 */	mr r3, r28
/* 8038DC38 00389898  7F A5 EB 78 */	mr r5, r29
/* 8038DC3C 0038989C  81 8C 00 3C */	lwz r12, 0x3c(r12)
/* 8038DC40 003898A0  7D 89 03 A6 */	mtctr r12
/* 8038DC44 003898A4  4E 80 04 21 */	bctrl 
/* 8038DC48 003898A8  2C 03 00 00 */	cmpwi r3, 0
/* 8038DC4C 003898AC  41 82 00 68 */	beq lbl_8038DCB4
/* 8038DC50 003898B0  80 1B 00 18 */	lwz r0, 0x18(r27)
/* 8038DC54 003898B4  57 C5 23 36 */	rlwinm r5, r30, 4, 0xc, 0x1b
/* 8038DC58 003898B8  7C 80 2A 14 */	add r4, r0, r5
/* 8038DC5C 003898BC  93 64 00 08 */	stw r27, 8(r4)
/* 8038DC60 003898C0  B3 C4 00 0C */	sth r30, 0xc(r4)
/* 8038DC64 003898C4  80 1B 00 18 */	lwz r0, 0x18(r27)
/* 8038DC68 003898C8  7C 80 2A 14 */	add r4, r0, r5
/* 8038DC6C 003898CC  4B FF 7E 49 */	bl AddAnimationLink__Q34nw4r3lyt4PaneFPQ34nw4r3lyt13AnimationLink
/* 8038DC70 003898D0  48 00 00 44 */	b lbl_8038DCB4
lbl_8038DC74:
/* 8038DC74 003898D4  81 9C 00 00 */	lwz r12, 0(r28)
/* 8038DC78 003898D8  7F 83 E3 78 */	mr r3, r28
/* 8038DC7C 003898DC  7F A5 EB 78 */	mr r5, r29
/* 8038DC80 003898E0  81 8C 00 40 */	lwz r12, 0x40(r12)
/* 8038DC84 003898E4  7D 89 03 A6 */	mtctr r12
/* 8038DC88 003898E8  4E 80 04 21 */	bctrl 
/* 8038DC8C 003898EC  2C 03 00 00 */	cmpwi r3, 0
/* 8038DC90 003898F0  41 82 00 24 */	beq lbl_8038DCB4
/* 8038DC94 003898F4  80 1B 00 18 */	lwz r0, 0x18(r27)
/* 8038DC98 003898F8  57 C5 23 36 */	rlwinm r5, r30, 4, 0xc, 0x1b
/* 8038DC9C 003898FC  7C 80 2A 14 */	add r4, r0, r5
/* 8038DCA0 00389900  93 64 00 08 */	stw r27, 8(r4)
/* 8038DCA4 00389904  B3 C4 00 0C */	sth r30, 0xc(r4)
/* 8038DCA8 00389908  80 1B 00 18 */	lwz r0, 0x18(r27)
/* 8038DCAC 0038990C  7C 80 2A 14 */	add r4, r0, r5
/* 8038DCB0 00389910  4B FF F5 E1 */	bl AddAnimationLink__Q34nw4r3lyt8MaterialFPQ34nw4r3lyt13AnimationLink
lbl_8038DCB4:
/* 8038DCB4 00389914  3B DE 00 01 */	addi r30, r30, 1
lbl_8038DCB8:
/* 8038DCB8 00389918  80 9B 00 0C */	lwz r4, 0xc(r27)
/* 8038DCBC 0038991C  57 C3 04 3E */	clrlwi r3, r30, 0x10
/* 8038DCC0 00389920  A0 04 00 0E */	lhz r0, 0xe(r4)
/* 8038DCC4 00389924  7C 03 00 40 */	cmplw r3, r0
/* 8038DCC8 00389928  41 80 FF 50 */	blt lbl_8038DC18
/* 8038DCCC 0038992C  39 61 00 20 */	addi r11, r1, 0x20
/* 8038DCD0 00389930  4B E3 94 A5 */	bl _restgpr_27
/* 8038DCD4 00389934  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8038DCD8 00389938  7C 08 03 A6 */	mtlr r0
/* 8038DCDC 0038993C  38 21 00 20 */	addi r1, r1, 0x20
/* 8038DCE0 00389940  4E 80 00 20 */	blr 

.global Bind__Q34nw4r3lyt18AnimTransformBasicFPQ34nw4r3lyt8Material
Bind__Q34nw4r3lyt18AnimTransformBasicFPQ34nw4r3lyt8Material:
/* 8038DCE4 00389944  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8038DCE8 00389948  7C 08 02 A6 */	mflr r0
/* 8038DCEC 0038994C  90 01 00 24 */	stw r0, 0x24(r1)
/* 8038DCF0 00389950  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8038DCF4 00389954  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8038DCF8 00389958  3B C0 00 00 */	li r30, 0
/* 8038DCFC 0038995C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8038DD00 00389960  7C 9D 23 78 */	mr r29, r4
/* 8038DD04 00389964  93 81 00 10 */	stw r28, 0x10(r1)
/* 8038DD08 00389968  7C 7C 1B 78 */	mr r28, r3
/* 8038DD0C 0038996C  80 A3 00 0C */	lwz r5, 0xc(r3)
/* 8038DD10 00389970  80 05 00 10 */	lwz r0, 0x10(r5)
/* 8038DD14 00389974  7F E5 02 14 */	add r31, r5, r0
/* 8038DD18 00389978  48 00 00 58 */	b lbl_8038DD70
lbl_8038DD1C:
/* 8038DD1C 0038997C  57 C0 13 BA */	rlwinm r0, r30, 2, 0xe, 0x1d
/* 8038DD20 00389980  7C 1F 00 2E */	lwzx r0, r31, r0
/* 8038DD24 00389984  7C 84 02 14 */	add r4, r4, r0
/* 8038DD28 00389988  88 04 00 15 */	lbz r0, 0x15(r4)
/* 8038DD2C 0038998C  28 00 00 01 */	cmplwi r0, 1
/* 8038DD30 00389990  40 82 00 3C */	bne lbl_8038DD6C
/* 8038DD34 00389994  38 7D 00 44 */	addi r3, r29, 0x44
/* 8038DD38 00389998  38 A0 00 14 */	li r5, 0x14
/* 8038DD3C 0038999C  4B E4 08 2D */	bl strncmp
/* 8038DD40 003899A0  2C 03 00 00 */	cmpwi r3, 0
/* 8038DD44 003899A4  40 82 00 28 */	bne lbl_8038DD6C
/* 8038DD48 003899A8  80 1C 00 18 */	lwz r0, 0x18(r28)
/* 8038DD4C 003899AC  57 C5 23 36 */	rlwinm r5, r30, 4, 0xc, 0x1b
/* 8038DD50 003899B0  7F A3 EB 78 */	mr r3, r29
/* 8038DD54 003899B4  7C 80 2A 14 */	add r4, r0, r5
/* 8038DD58 003899B8  93 84 00 08 */	stw r28, 8(r4)
/* 8038DD5C 003899BC  B3 C4 00 0C */	sth r30, 0xc(r4)
/* 8038DD60 003899C0  80 1C 00 18 */	lwz r0, 0x18(r28)
/* 8038DD64 003899C4  7C 80 2A 14 */	add r4, r0, r5
/* 8038DD68 003899C8  4B FF F5 29 */	bl AddAnimationLink__Q34nw4r3lyt8MaterialFPQ34nw4r3lyt13AnimationLink
lbl_8038DD6C:
/* 8038DD6C 003899CC  3B DE 00 01 */	addi r30, r30, 1
lbl_8038DD70:
/* 8038DD70 003899D0  80 9C 00 0C */	lwz r4, 0xc(r28)
/* 8038DD74 003899D4  57 C3 04 3E */	clrlwi r3, r30, 0x10
/* 8038DD78 003899D8  A0 04 00 0E */	lhz r0, 0xe(r4)
/* 8038DD7C 003899DC  7C 03 00 40 */	cmplw r3, r0
/* 8038DD80 003899E0  41 80 FF 9C */	blt lbl_8038DD1C
/* 8038DD84 003899E4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8038DD88 003899E8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8038DD8C 003899EC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8038DD90 003899F0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8038DD94 003899F4  83 81 00 10 */	lwz r28, 0x10(r1)
/* 8038DD98 003899F8  7C 08 03 A6 */	mtlr r0
/* 8038DD9C 003899FC  38 21 00 20 */	addi r1, r1, 0x20
/* 8038DDA0 00389A00  4E 80 00 20 */	blr 

.global Animate__Q34nw4r3lyt18AnimTransformBasicFUlPQ34nw4r3lyt4Pane
Animate__Q34nw4r3lyt18AnimTransformBasicFUlPQ34nw4r3lyt4Pane:
/* 8038DDA4 00389A04  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 8038DDA8 00389A08  7C 08 02 A6 */	mflr r0
/* 8038DDAC 00389A0C  90 01 00 64 */	stw r0, 0x64(r1)
/* 8038DDB0 00389A10  DB E1 00 50 */	stfd f31, 0x50(r1)
/* 8038DDB4 00389A14  F3 E1 00 58 */	psq_st f31, 88(r1), 0, qr0
/* 8038DDB8 00389A18  DB C1 00 40 */	stfd f30, 0x40(r1)
/* 8038DDBC 00389A1C  F3 C1 00 48 */	psq_st f30, 72(r1), 0, qr0
/* 8038DDC0 00389A20  39 61 00 40 */	addi r11, r1, 0x40
/* 8038DDC4 00389A24  4B E3 93 4D */	bl _savegpr_21
/* 8038DDC8 00389A28  80 C3 00 0C */	lwz r6, 0xc(r3)
/* 8038DDCC 00389A2C  3F E0 52 4C */	lis r31, 0x524C5643@ha
/* 8038DDD0 00389A30  54 84 10 3A */	slwi r4, r4, 2
/* 8038DDD4 00389A34  C3 E2 A8 FC */	lfs f31, lbl_80642EFC-_SDA2_BASE_(r2)
/* 8038DDD8 00389A38  80 06 00 10 */	lwz r0, 0x10(r6)
/* 8038DDDC 00389A3C  7C 76 1B 78 */	mr r22, r3
/* 8038DDE0 00389A40  7C B7 2B 78 */	mr r23, r5
/* 8038DDE4 00389A44  3B DF 56 43 */	addi r30, r31, 0x524C5643@l
/* 8038DDE8 00389A48  7C 06 02 14 */	add r0, r6, r0
/* 8038DDEC 00389A4C  3B 00 00 00 */	li r24, 0
/* 8038DDF0 00389A50  7C 04 00 2E */	lwzx r0, r4, r0
/* 8038DDF4 00389A54  7F 86 02 14 */	add r28, r6, r0
/* 8038DDF8 00389A58  3B 5C 00 18 */	addi r26, r28, 0x18
/* 8038DDFC 00389A5C  48 00 01 60 */	b lbl_8038DF5C
lbl_8038DE00:
/* 8038DE00 00389A60  80 1A 00 00 */	lwz r0, 0(r26)
/* 8038DE04 00389A64  7C 7C 00 2E */	lwzx r3, r28, r0
/* 8038DE08 00389A68  7F 7C 02 14 */	add r27, r28, r0
/* 8038DE0C 00389A6C  3B 3B 00 08 */	addi r25, r27, 8
/* 8038DE10 00389A70  7C 03 F0 00 */	cmpw r3, r30
/* 8038DE14 00389A74  41 82 00 D4 */	beq lbl_8038DEE8
/* 8038DE18 00389A78  40 80 00 14 */	bge lbl_8038DE2C
/* 8038DE1C 00389A7C  38 1F 50 41 */	addi r0, r31, 0x5041
/* 8038DE20 00389A80  7C 03 00 00 */	cmpw r3, r0
/* 8038DE24 00389A84  41 82 00 18 */	beq lbl_8038DE3C
/* 8038DE28 00389A88  48 00 01 2C */	b lbl_8038DF54
lbl_8038DE2C:
/* 8038DE2C 00389A8C  38 1F 56 49 */	addi r0, r31, 0x5649
/* 8038DE30 00389A90  7C 03 00 00 */	cmpw r3, r0
/* 8038DE34 00389A94  41 82 00 58 */	beq lbl_8038DE8C
/* 8038DE38 00389A98  48 00 01 1C */	b lbl_8038DF54
lbl_8038DE3C:
/* 8038DE3C 00389A9C  C3 D6 00 10 */	lfs f30, 0x10(r22)
/* 8038DE40 00389AA0  3B A0 00 00 */	li r29, 0
/* 8038DE44 00389AA4  48 00 00 38 */	b lbl_8038DE7C
lbl_8038DE48:
/* 8038DE48 00389AA8  80 19 00 00 */	lwz r0, 0(r25)
/* 8038DE4C 00389AAC  FC 20 F0 90 */	fmr f1, f30
/* 8038DE50 00389AB0  7E BB 02 14 */	add r21, r27, r0
/* 8038DE54 00389AB4  80 15 00 08 */	lwz r0, 8(r21)
/* 8038DE58 00389AB8  A0 95 00 04 */	lhz r4, 4(r21)
/* 8038DE5C 00389ABC  7C 75 02 14 */	add r3, r21, r0
/* 8038DE60 00389AC0  4B FF F9 C5 */	bl GetHermiteCurveValue__27$2unnamed$2lyt_animation_cpp$2FfPCQ44nw4r3lyt3res10HermiteKeyUl
/* 8038DE64 00389AC4  88 15 00 01 */	lbz r0, 1(r21)
/* 8038DE68 00389AC8  3B 39 00 04 */	addi r25, r25, 4
/* 8038DE6C 00389ACC  3B BD 00 01 */	addi r29, r29, 1
/* 8038DE70 00389AD0  54 00 10 3A */	slwi r0, r0, 2
/* 8038DE74 00389AD4  7C 77 02 14 */	add r3, r23, r0
/* 8038DE78 00389AD8  D0 23 00 2C */	stfs f1, 0x2c(r3)
lbl_8038DE7C:
/* 8038DE7C 00389ADC  88 1B 00 04 */	lbz r0, 4(r27)
/* 8038DE80 00389AE0  7C 1D 00 00 */	cmpw r29, r0
/* 8038DE84 00389AE4  41 80 FF C4 */	blt lbl_8038DE48
/* 8038DE88 00389AE8  48 00 00 CC */	b lbl_8038DF54
lbl_8038DE8C:
/* 8038DE8C 00389AEC  C3 D6 00 10 */	lfs f30, 0x10(r22)
/* 8038DE90 00389AF0  3B A0 00 00 */	li r29, 0
/* 8038DE94 00389AF4  48 00 00 44 */	b lbl_8038DED8
lbl_8038DE98:
/* 8038DE98 00389AF8  80 19 00 00 */	lwz r0, 0(r25)
/* 8038DE9C 00389AFC  FC 20 F0 90 */	fmr f1, f30
/* 8038DEA0 00389B00  7C 7B 02 14 */	add r3, r27, r0
/* 8038DEA4 00389B04  80 03 00 08 */	lwz r0, 8(r3)
/* 8038DEA8 00389B08  A0 83 00 04 */	lhz r4, 4(r3)
/* 8038DEAC 00389B0C  7C 63 02 14 */	add r3, r3, r0
/* 8038DEB0 00389B10  4B FF F8 8D */	bl GetStepCurveValue__27$2unnamed$2lyt_animation_cpp$2FfPCQ44nw4r3lyt3res7StepKeyUl
/* 8038DEB4 00389B14  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 8038DEB8 00389B18  88 17 00 B7 */	lbz r0, 0xb7(r23)
/* 8038DEBC 00389B1C  7C 64 00 D0 */	neg r3, r4
/* 8038DEC0 00389B20  3B 39 00 04 */	addi r25, r25, 4
/* 8038DEC4 00389B24  7C 63 23 78 */	or r3, r3, r4
/* 8038DEC8 00389B28  54 00 06 3C */	rlwinm r0, r0, 0, 0x18, 0x1e
/* 8038DECC 00389B2C  50 60 0F FE */	rlwimi r0, r3, 1, 0x1f, 0x1f
/* 8038DED0 00389B30  3B BD 00 01 */	addi r29, r29, 1
/* 8038DED4 00389B34  98 17 00 B7 */	stb r0, 0xb7(r23)
lbl_8038DED8:
/* 8038DED8 00389B38  88 1B 00 04 */	lbz r0, 4(r27)
/* 8038DEDC 00389B3C  7C 1D 00 00 */	cmpw r29, r0
/* 8038DEE0 00389B40  41 80 FF B8 */	blt lbl_8038DE98
/* 8038DEE4 00389B44  48 00 00 70 */	b lbl_8038DF54
lbl_8038DEE8:
/* 8038DEE8 00389B48  88 1B 00 04 */	lbz r0, 4(r27)
/* 8038DEEC 00389B4C  3B A0 00 00 */	li r29, 0
/* 8038DEF0 00389B50  C3 D6 00 10 */	lfs f30, 0x10(r22)
/* 8038DEF4 00389B54  2C 00 00 00 */	cmpwi r0, 0
/* 8038DEF8 00389B58  40 81 00 5C */	ble lbl_8038DF54
/* 8038DEFC 00389B5C  48 00 00 4C */	b lbl_8038DF48
lbl_8038DF00:
/* 8038DF00 00389B60  80 19 00 00 */	lwz r0, 0(r25)
/* 8038DF04 00389B64  FC 20 F0 90 */	fmr f1, f30
/* 8038DF08 00389B68  7E BB 02 14 */	add r21, r27, r0
/* 8038DF0C 00389B6C  80 15 00 08 */	lwz r0, 8(r21)
/* 8038DF10 00389B70  A0 95 00 04 */	lhz r4, 4(r21)
/* 8038DF14 00389B74  7C 75 02 14 */	add r3, r21, r0
/* 8038DF18 00389B78  4B FF F9 0D */	bl GetHermiteCurveValue__27$2unnamed$2lyt_animation_cpp$2FfPCQ44nw4r3lyt3res10HermiteKeyUl
/* 8038DF1C 00389B7C  EC 01 F8 2A */	fadds f0, f1, f31
/* 8038DF20 00389B80  F0 01 A0 08 */	psq_st f0, 8(r1), 1, qr2
/* 8038DF24 00389B84  7E E3 BB 78 */	mr r3, r23
/* 8038DF28 00389B88  81 97 00 00 */	lwz r12, 0(r23)
/* 8038DF2C 00389B8C  88 A1 00 08 */	lbz r5, 8(r1)
/* 8038DF30 00389B90  81 8C 00 30 */	lwz r12, 0x30(r12)
/* 8038DF34 00389B94  88 95 00 01 */	lbz r4, 1(r21)
/* 8038DF38 00389B98  7D 89 03 A6 */	mtctr r12
/* 8038DF3C 00389B9C  4E 80 04 21 */	bctrl 
/* 8038DF40 00389BA0  3B 39 00 04 */	addi r25, r25, 4
/* 8038DF44 00389BA4  3B BD 00 01 */	addi r29, r29, 1
lbl_8038DF48:
/* 8038DF48 00389BA8  88 1B 00 04 */	lbz r0, 4(r27)
/* 8038DF4C 00389BAC  7C 1D 00 00 */	cmpw r29, r0
/* 8038DF50 00389BB0  41 80 FF B0 */	blt lbl_8038DF00
lbl_8038DF54:
/* 8038DF54 00389BB4  3B 5A 00 04 */	addi r26, r26, 4
/* 8038DF58 00389BB8  3B 18 00 01 */	addi r24, r24, 1
lbl_8038DF5C:
/* 8038DF5C 00389BBC  88 1C 00 14 */	lbz r0, 0x14(r28)
/* 8038DF60 00389BC0  7C 18 00 00 */	cmpw r24, r0
/* 8038DF64 00389BC4  41 80 FE 9C */	blt lbl_8038DE00
/* 8038DF68 00389BC8  E3 E1 00 58 */	psq_l f31, 88(r1), 0, qr0
/* 8038DF6C 00389BCC  CB E1 00 50 */	lfd f31, 0x50(r1)
/* 8038DF70 00389BD0  E3 C1 00 48 */	psq_l f30, 72(r1), 0, qr0
/* 8038DF74 00389BD4  39 61 00 40 */	addi r11, r1, 0x40
/* 8038DF78 00389BD8  CB C1 00 40 */	lfd f30, 0x40(r1)
/* 8038DF7C 00389BDC  4B E3 91 E1 */	bl _restgpr_21
/* 8038DF80 00389BE0  80 01 00 64 */	lwz r0, 0x64(r1)
/* 8038DF84 00389BE4  7C 08 03 A6 */	mtlr r0
/* 8038DF88 00389BE8  38 21 00 60 */	addi r1, r1, 0x60
/* 8038DF8C 00389BEC  4E 80 00 20 */	blr 

.global Animate__Q34nw4r3lyt18AnimTransformBasicFUlPQ34nw4r3lyt8Material
Animate__Q34nw4r3lyt18AnimTransformBasicFUlPQ34nw4r3lyt8Material:
/* 8038DF90 00389BF0  94 21 FF 70 */	stwu r1, -0x90(r1)
/* 8038DF94 00389BF4  7C 08 02 A6 */	mflr r0
/* 8038DF98 00389BF8  90 01 00 94 */	stw r0, 0x94(r1)
/* 8038DF9C 00389BFC  DB E1 00 80 */	stfd f31, 0x80(r1)
/* 8038DFA0 00389C00  F3 E1 00 88 */	psq_st f31, 136(r1), 0, qr0
/* 8038DFA4 00389C04  DB C1 00 70 */	stfd f30, 0x70(r1)
/* 8038DFA8 00389C08  F3 C1 00 78 */	psq_st f30, 120(r1), 0, qr0
/* 8038DFAC 00389C0C  DB A1 00 60 */	stfd f29, 0x60(r1)
/* 8038DFB0 00389C10  F3 A1 00 68 */	psq_st f29, 104(r1), 0, qr0
/* 8038DFB4 00389C14  39 61 00 60 */	addi r11, r1, 0x60
/* 8038DFB8 00389C18  4B E3 91 55 */	bl _savegpr_20
/* 8038DFBC 00389C1C  80 C3 00 0C */	lwz r6, 0xc(r3)
/* 8038DFC0 00389C20  3F E0 52 4C */	lis r31, 0x524C5450@ha
/* 8038DFC4 00389C24  54 84 10 3A */	slwi r4, r4, 2
/* 8038DFC8 00389C28  C3 C2 A8 FC */	lfs f30, lbl_80642EFC-_SDA2_BASE_(r2)
/* 8038DFCC 00389C2C  80 06 00 10 */	lwz r0, 0x10(r6)
/* 8038DFD0 00389C30  7C 74 1B 78 */	mr r20, r3
/* 8038DFD4 00389C34  7C B5 2B 78 */	mr r21, r5
/* 8038DFD8 00389C38  3B DF 54 50 */	addi r30, r31, 0x524C5450@l
/* 8038DFDC 00389C3C  7C 06 02 14 */	add r0, r6, r0
/* 8038DFE0 00389C40  3A C0 00 00 */	li r22, 0
/* 8038DFE4 00389C44  7C 04 00 2E */	lwzx r0, r4, r0
/* 8038DFE8 00389C48  7F 86 02 14 */	add r28, r6, r0
/* 8038DFEC 00389C4C  3B 3C 00 18 */	addi r25, r28, 0x18
/* 8038DFF0 00389C50  48 00 02 80 */	b lbl_8038E270
lbl_8038DFF4:
/* 8038DFF4 00389C54  80 19 00 00 */	lwz r0, 0(r25)
/* 8038DFF8 00389C58  7C 7C 00 2E */	lwzx r3, r28, r0
/* 8038DFFC 00389C5C  7F 7C 02 14 */	add r27, r28, r0
/* 8038E000 00389C60  3B 1B 00 08 */	addi r24, r27, 8
/* 8038E004 00389C64  7C 03 F0 00 */	cmpw r3, r30
/* 8038E008 00389C68  41 82 01 3C */	beq lbl_8038E144
/* 8038E00C 00389C6C  40 80 00 24 */	bge lbl_8038E030
/* 8038E010 00389C70  38 1F 4D 43 */	addi r0, r31, 0x4d43
/* 8038E014 00389C74  7C 03 00 00 */	cmpw r3, r0
/* 8038E018 00389C78  41 82 00 28 */	beq lbl_8038E040
/* 8038E01C 00389C7C  40 80 02 4C */	bge lbl_8038E268
/* 8038E020 00389C80  38 1F 49 4D */	addi r0, r31, 0x494d
/* 8038E024 00389C84  7C 03 00 00 */	cmpw r3, r0
/* 8038E028 00389C88  41 82 01 CC */	beq lbl_8038E1F4
/* 8038E02C 00389C8C  48 00 02 3C */	b lbl_8038E268
lbl_8038E030:
/* 8038E030 00389C90  38 1F 54 53 */	addi r0, r31, 0x5453
/* 8038E034 00389C94  7C 03 00 00 */	cmpw r3, r0
/* 8038E038 00389C98  41 82 00 94 */	beq lbl_8038E0CC
/* 8038E03C 00389C9C  48 00 02 2C */	b lbl_8038E268
lbl_8038E040:
/* 8038E040 00389CA0  88 1B 00 04 */	lbz r0, 4(r27)
/* 8038E044 00389CA4  3A E0 00 00 */	li r23, 0
/* 8038E048 00389CA8  C3 F4 00 10 */	lfs f31, 0x10(r20)
/* 8038E04C 00389CAC  2C 00 00 00 */	cmpwi r0, 0
/* 8038E050 00389CB0  40 81 02 18 */	ble lbl_8038E268
/* 8038E054 00389CB4  48 00 00 68 */	b lbl_8038E0BC
lbl_8038E058:
/* 8038E058 00389CB8  80 18 00 00 */	lwz r0, 0(r24)
/* 8038E05C 00389CBC  FC 20 F8 90 */	fmr f1, f31
/* 8038E060 00389CC0  7F 5B 02 14 */	add r26, r27, r0
/* 8038E064 00389CC4  80 1A 00 08 */	lwz r0, 8(r26)
/* 8038E068 00389CC8  A0 9A 00 04 */	lhz r4, 4(r26)
/* 8038E06C 00389CCC  7C 7A 02 14 */	add r3, r26, r0
/* 8038E070 00389CD0  4B FF F7 B5 */	bl GetHermiteCurveValue__27$2unnamed$2lyt_animation_cpp$2FfPCQ44nw4r3lyt3res10HermiteKeyUl
/* 8038E074 00389CD4  EC 01 F0 2A */	fadds f0, f1, f30
/* 8038E078 00389CD8  F0 01 D0 08 */	psq_st f0, 8(r1), 1, qr5
/* 8038E07C 00389CDC  38 C0 FC 00 */	li r6, -1024
/* 8038E080 00389CE0  A8 01 00 08 */	lha r0, 8(r1)
/* 8038E084 00389CE4  2C 00 FC 00 */	cmpwi r0, -1024
/* 8038E088 00389CE8  41 80 00 08 */	blt lbl_8038E090
/* 8038E08C 00389CEC  7C 06 03 78 */	mr r6, r0
lbl_8038E090:
/* 8038E090 00389CF0  7C C0 07 34 */	extsh r0, r6
/* 8038E094 00389CF4  88 9A 00 01 */	lbz r4, 1(r26)
/* 8038E098 00389CF8  2C 00 03 FF */	cmpwi r0, 0x3ff
/* 8038E09C 00389CFC  7E A3 AB 78 */	mr r3, r21
/* 8038E0A0 00389D00  38 A0 03 FF */	li r5, 0x3ff
/* 8038E0A4 00389D04  41 81 00 08 */	bgt lbl_8038E0AC
/* 8038E0A8 00389D08  7C C5 33 78 */	mr r5, r6
lbl_8038E0AC:
/* 8038E0AC 00389D0C  7C A5 07 34 */	extsh r5, r5
/* 8038E0B0 00389D10  4B FF E0 39 */	bl SetColorElement__Q34nw4r3lyt8MaterialFUls
/* 8038E0B4 00389D14  3B 18 00 04 */	addi r24, r24, 4
/* 8038E0B8 00389D18  3A F7 00 01 */	addi r23, r23, 1
lbl_8038E0BC:
/* 8038E0BC 00389D1C  88 1B 00 04 */	lbz r0, 4(r27)
/* 8038E0C0 00389D20  7C 17 00 00 */	cmpw r23, r0
/* 8038E0C4 00389D24  41 80 FF 94 */	blt lbl_8038E058
/* 8038E0C8 00389D28  48 00 01 A0 */	b lbl_8038E268
lbl_8038E0CC:
/* 8038E0CC 00389D2C  C3 B4 00 10 */	lfs f29, 0x10(r20)
/* 8038E0D0 00389D30  3B A0 00 00 */	li r29, 0
/* 8038E0D4 00389D34  48 00 00 60 */	b lbl_8038E134
lbl_8038E0D8:
/* 8038E0D8 00389D38  80 78 00 00 */	lwz r3, 0(r24)
/* 8038E0DC 00389D3C  80 15 00 38 */	lwz r0, 0x38(r21)
/* 8038E0E0 00389D40  7F 5B 1A 14 */	add r26, r27, r3
/* 8038E0E4 00389D44  7C 7B 18 AE */	lbzx r3, r27, r3
/* 8038E0E8 00389D48  54 00 47 3E */	rlwinm r0, r0, 8, 0x1c, 0x1f
/* 8038E0EC 00389D4C  7C 03 00 40 */	cmplw r3, r0
/* 8038E0F0 00389D50  40 80 00 3C */	bge lbl_8038E12C
/* 8038E0F4 00389D54  80 1A 00 08 */	lwz r0, 8(r26)
/* 8038E0F8 00389D58  FC 20 E8 90 */	fmr f1, f29
/* 8038E0FC 00389D5C  A0 9A 00 04 */	lhz r4, 4(r26)
/* 8038E100 00389D60  7C 7A 02 14 */	add r3, r26, r0
/* 8038E104 00389D64  4B FF F7 21 */	bl GetHermiteCurveValue__27$2unnamed$2lyt_animation_cpp$2FfPCQ44nw4r3lyt3res10HermiteKeyUl
/* 8038E108 00389D68  FF E0 08 90 */	fmr f31, f1
/* 8038E10C 00389D6C  8A FA 00 01 */	lbz r23, 1(r26)
/* 8038E110 00389D70  8B 5A 00 00 */	lbz r26, 0(r26)
/* 8038E114 00389D74  7E A3 AB 78 */	mr r3, r21
/* 8038E118 00389D78  4B FF DE 21 */	bl GetTexSRTAry__Q34nw4r3lyt8MaterialFv
/* 8038E11C 00389D7C  1C 9A 00 14 */	mulli r4, r26, 0x14
/* 8038E120 00389D80  56 E0 10 3A */	slwi r0, r23, 2
/* 8038E124 00389D84  7C 63 22 14 */	add r3, r3, r4
/* 8038E128 00389D88  7F E3 05 2E */	stfsx f31, r3, r0
lbl_8038E12C:
/* 8038E12C 00389D8C  3B 18 00 04 */	addi r24, r24, 4
/* 8038E130 00389D90  3B BD 00 01 */	addi r29, r29, 1
lbl_8038E134:
/* 8038E134 00389D94  88 1B 00 04 */	lbz r0, 4(r27)
/* 8038E138 00389D98  7C 1D 00 00 */	cmpw r29, r0
/* 8038E13C 00389D9C  41 80 FF 9C */	blt lbl_8038E0D8
/* 8038E140 00389DA0  48 00 01 28 */	b lbl_8038E268
lbl_8038E144:
/* 8038E144 00389DA4  82 F4 00 14 */	lwz r23, 0x14(r20)
/* 8038E148 00389DA8  2C 17 00 00 */	cmpwi r23, 0
/* 8038E14C 00389DAC  41 82 01 1C */	beq lbl_8038E268
/* 8038E150 00389DB0  C3 B4 00 10 */	lfs f29, 0x10(r20)
/* 8038E154 00389DB4  3B A0 00 00 */	li r29, 0
/* 8038E158 00389DB8  48 00 00 8C */	b lbl_8038E1E4
lbl_8038E15C:
/* 8038E15C 00389DBC  80 78 00 00 */	lwz r3, 0(r24)
/* 8038E160 00389DC0  80 15 00 3C */	lwz r0, 0x3c(r21)
/* 8038E164 00389DC4  7F 5B 1A 14 */	add r26, r27, r3
/* 8038E168 00389DC8  7C 7B 18 AE */	lbzx r3, r27, r3
/* 8038E16C 00389DCC  54 00 27 3E */	srwi r0, r0, 0x1c
/* 8038E170 00389DD0  7C 03 00 40 */	cmplw r3, r0
/* 8038E174 00389DD4  40 80 00 68 */	bge lbl_8038E1DC
/* 8038E178 00389DD8  88 1A 00 01 */	lbz r0, 1(r26)
/* 8038E17C 00389DDC  2C 00 00 00 */	cmpwi r0, 0
/* 8038E180 00389DE0  40 82 00 5C */	bne lbl_8038E1DC
/* 8038E184 00389DE4  80 1A 00 08 */	lwz r0, 8(r26)
/* 8038E188 00389DE8  FC 20 E8 90 */	fmr f1, f29
/* 8038E18C 00389DEC  A0 9A 00 04 */	lhz r4, 4(r26)
/* 8038E190 00389DF0  7C 7A 02 14 */	add r3, r26, r0
/* 8038E194 00389DF4  4B FF F5 A9 */	bl GetStepCurveValue__27$2unnamed$2lyt_animation_cpp$2FfPCQ44nw4r3lyt3res7StepKeyUl
/* 8038E198 00389DF8  7C 60 1B 78 */	mr r0, r3
/* 8038E19C 00389DFC  38 61 00 0C */	addi r3, r1, 0xc
/* 8038E1A0 00389E00  54 00 13 BA */	rlwinm r0, r0, 2, 0xe, 0x1d
/* 8038E1A4 00389E04  38 A0 00 00 */	li r5, 0
/* 8038E1A8 00389E08  7C 97 00 2E */	lwzx r4, r23, r0
/* 8038E1AC 00389E0C  4B FF F2 E5 */	bl Set__Q34nw4r3lyt6TexMapFP10TPLPaletteUl
/* 8038E1B0 00389E10  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8038E1B4 00389E14  7E A3 AB 78 */	mr r3, r21
/* 8038E1B8 00389E18  54 00 04 1C */	rlwinm r0, r0, 0, 0x10, 0xe
/* 8038E1BC 00389E1C  54 00 04 E0 */	rlwinm r0, r0, 0, 0x13, 0x10
/* 8038E1C0 00389E20  90 01 00 24 */	stw r0, 0x24(r1)
/* 8038E1C4 00389E24  8B 5A 00 00 */	lbz r26, 0(r26)
/* 8038E1C8 00389E28  4B FF DD 69 */	bl GetTexMapAry__Q34nw4r3lyt8MaterialFv
/* 8038E1CC 00389E2C  1C 1A 00 1C */	mulli r0, r26, 0x1c
/* 8038E1D0 00389E30  38 81 00 0C */	addi r4, r1, 0xc
/* 8038E1D4 00389E34  7C 63 02 14 */	add r3, r3, r0
/* 8038E1D8 00389E38  4B FF F3 49 */	bl SetNoWrap__Q34nw4r3lyt6TexMapFRCQ34nw4r3lyt6TexMap
lbl_8038E1DC:
/* 8038E1DC 00389E3C  3B 18 00 04 */	addi r24, r24, 4
/* 8038E1E0 00389E40  3B BD 00 01 */	addi r29, r29, 1
lbl_8038E1E4:
/* 8038E1E4 00389E44  88 1B 00 04 */	lbz r0, 4(r27)
/* 8038E1E8 00389E48  7C 1D 00 00 */	cmpw r29, r0
/* 8038E1EC 00389E4C  41 80 FF 70 */	blt lbl_8038E15C
/* 8038E1F0 00389E50  48 00 00 78 */	b lbl_8038E268
lbl_8038E1F4:
/* 8038E1F4 00389E54  C3 B4 00 10 */	lfs f29, 0x10(r20)
/* 8038E1F8 00389E58  3B A0 00 00 */	li r29, 0
/* 8038E1FC 00389E5C  48 00 00 60 */	b lbl_8038E25C
lbl_8038E200:
/* 8038E200 00389E60  80 78 00 00 */	lwz r3, 0(r24)
/* 8038E204 00389E64  80 15 00 38 */	lwz r0, 0x38(r21)
/* 8038E208 00389E68  7F 5B 1A 14 */	add r26, r27, r3
/* 8038E20C 00389E6C  7C 7B 18 AE */	lbzx r3, r27, r3
/* 8038E210 00389E70  54 00 77 BE */	rlwinm r0, r0, 0xe, 0x1e, 0x1f
/* 8038E214 00389E74  7C 03 00 40 */	cmplw r3, r0
/* 8038E218 00389E78  40 80 00 3C */	bge lbl_8038E254
/* 8038E21C 00389E7C  80 1A 00 08 */	lwz r0, 8(r26)
/* 8038E220 00389E80  FC 20 E8 90 */	fmr f1, f29
/* 8038E224 00389E84  A0 9A 00 04 */	lhz r4, 4(r26)
/* 8038E228 00389E88  7C 7A 02 14 */	add r3, r26, r0
/* 8038E22C 00389E8C  4B FF F5 F9 */	bl GetHermiteCurveValue__27$2unnamed$2lyt_animation_cpp$2FfPCQ44nw4r3lyt3res10HermiteKeyUl
/* 8038E230 00389E90  FF E0 08 90 */	fmr f31, f1
/* 8038E234 00389E94  8A FA 00 01 */	lbz r23, 1(r26)
/* 8038E238 00389E98  8B 5A 00 00 */	lbz r26, 0(r26)
/* 8038E23C 00389E9C  7E A3 AB 78 */	mr r3, r21
/* 8038E240 00389EA0  4B FF DD 35 */	bl GetIndTexSRTAry__Q34nw4r3lyt8MaterialFv
/* 8038E244 00389EA4  1C 9A 00 14 */	mulli r4, r26, 0x14
/* 8038E248 00389EA8  56 E0 10 3A */	slwi r0, r23, 2
/* 8038E24C 00389EAC  7C 63 22 14 */	add r3, r3, r4
/* 8038E250 00389EB0  7F E3 05 2E */	stfsx f31, r3, r0
lbl_8038E254:
/* 8038E254 00389EB4  3B 18 00 04 */	addi r24, r24, 4
/* 8038E258 00389EB8  3B BD 00 01 */	addi r29, r29, 1
lbl_8038E25C:
/* 8038E25C 00389EBC  88 1B 00 04 */	lbz r0, 4(r27)
/* 8038E260 00389EC0  7C 1D 00 00 */	cmpw r29, r0
/* 8038E264 00389EC4  41 80 FF 9C */	blt lbl_8038E200
lbl_8038E268:
/* 8038E268 00389EC8  3B 39 00 04 */	addi r25, r25, 4
/* 8038E26C 00389ECC  3A D6 00 01 */	addi r22, r22, 1
lbl_8038E270:
/* 8038E270 00389ED0  88 1C 00 14 */	lbz r0, 0x14(r28)
/* 8038E274 00389ED4  7C 16 00 00 */	cmpw r22, r0
/* 8038E278 00389ED8  41 80 FD 7C */	blt lbl_8038DFF4
/* 8038E27C 00389EDC  E3 E1 00 88 */	psq_l f31, 136(r1), 0, qr0
/* 8038E280 00389EE0  CB E1 00 80 */	lfd f31, 0x80(r1)
/* 8038E284 00389EE4  E3 C1 00 78 */	psq_l f30, 120(r1), 0, qr0
/* 8038E288 00389EE8  CB C1 00 70 */	lfd f30, 0x70(r1)
/* 8038E28C 00389EEC  E3 A1 00 68 */	psq_l f29, 104(r1), 0, qr0
/* 8038E290 00389EF0  39 61 00 60 */	addi r11, r1, 0x60
/* 8038E294 00389EF4  CB A1 00 60 */	lfd f29, 0x60(r1)
/* 8038E298 00389EF8  4B E3 8E C1 */	bl _restgpr_20
/* 8038E29C 00389EFC  80 01 00 94 */	lwz r0, 0x94(r1)
/* 8038E2A0 00389F00  7C 08 03 A6 */	mtlr r0
/* 8038E2A4 00389F04  38 21 00 90 */	addi r1, r1, 0x90
/* 8038E2A8 00389F08  4E 80 00 20 */	blr 

.global FindAnimationLink__Q34nw4r3lyt6detailFPQ34nw4r2ut38LinkList$0Q34nw4r3lyt13AnimationLink$40$1PQ34nw4r3lyt13AnimTransform
FindAnimationLink__Q34nw4r3lyt6detailFPQ34nw4r2ut38LinkList$0Q34nw4r3lyt13AnimationLink$40$1PQ34nw4r3lyt13AnimTransform:
/* 8038E2AC 00389F0C  80 A3 00 04 */	lwz r5, 4(r3)
/* 8038E2B0 00389F10  38 03 00 04 */	addi r0, r3, 4
/* 8038E2B4 00389F14  48 00 00 1C */	b lbl_8038E2D0
lbl_8038E2B8:
/* 8038E2B8 00389F18  80 65 00 08 */	lwz r3, 8(r5)
/* 8038E2BC 00389F1C  7C 04 18 40 */	cmplw r4, r3
/* 8038E2C0 00389F20  40 82 00 0C */	bne lbl_8038E2CC
/* 8038E2C4 00389F24  7C A3 2B 78 */	mr r3, r5
/* 8038E2C8 00389F28  4E 80 00 20 */	blr 
lbl_8038E2CC:
/* 8038E2CC 00389F2C  80 A5 00 00 */	lwz r5, 0(r5)
lbl_8038E2D0:
/* 8038E2D0 00389F30  7C 05 00 40 */	cmplw r5, r0
/* 8038E2D4 00389F34  40 82 FF E4 */	bne lbl_8038E2B8
/* 8038E2D8 00389F38  38 60 00 00 */	li r3, 0
/* 8038E2DC 00389F3C  4E 80 00 20 */	blr