summaryrefslogtreecommitdiff
path: root/asm/nw4r/lyt/detail/lyt_common.s
blob: c8f598ce344f927d1ec7a5949fc1f1b28412b1d8 (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
.include "macros.inc"

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

.global TestFileHeader__Q34nw4r3lyt6detailFRCQ44nw4r3lyt3res16BinaryFileHeader
TestFileHeader__Q34nw4r3lyt6detailFRCQ44nw4r3lyt3res16BinaryFileHeader:
/* 8038E718 0038A378  A0 03 00 04 */	lhz r0, 4(r3)
/* 8038E71C 0038A37C  38 80 00 00 */	li r4, 0
/* 8038E720 0038A380  28 00 FE FF */	cmplwi r0, 0xfeff
/* 8038E724 0038A384  40 82 00 14 */	bne lbl_8038E738
/* 8038E728 0038A388  A0 03 00 06 */	lhz r0, 6(r3)
/* 8038E72C 0038A38C  28 00 00 08 */	cmplwi r0, 8
/* 8038E730 0038A390  40 82 00 08 */	bne lbl_8038E738
/* 8038E734 0038A394  38 80 00 01 */	li r4, 1
lbl_8038E738:
/* 8038E738 0038A398  7C 83 23 78 */	mr r3, r4
/* 8038E73C 0038A39C  4E 80 00 20 */	blr 

.global TestFileHeader__Q34nw4r3lyt6detailFRCQ44nw4r3lyt3res16BinaryFileHeaderUl
TestFileHeader__Q34nw4r3lyt6detailFRCQ44nw4r3lyt3res16BinaryFileHeaderUl:
/* 8038E740 0038A3A0  80 03 00 00 */	lwz r0, 0(r3)
/* 8038E744 0038A3A4  38 A0 00 00 */	li r5, 0
/* 8038E748 0038A3A8  7C 04 00 40 */	cmplw r4, r0
/* 8038E74C 0038A3AC  40 82 00 20 */	bne lbl_8038E76C
/* 8038E750 0038A3B0  A0 03 00 04 */	lhz r0, 4(r3)
/* 8038E754 0038A3B4  28 00 FE FF */	cmplwi r0, 0xfeff
/* 8038E758 0038A3B8  40 82 00 14 */	bne lbl_8038E76C
/* 8038E75C 0038A3BC  A0 03 00 06 */	lhz r0, 6(r3)
/* 8038E760 0038A3C0  28 00 00 08 */	cmplwi r0, 8
/* 8038E764 0038A3C4  40 82 00 08 */	bne lbl_8038E76C
/* 8038E768 0038A3C8  38 A0 00 01 */	li r5, 1
lbl_8038E76C:
/* 8038E76C 0038A3CC  7C A3 2B 78 */	mr r3, r5
/* 8038E770 0038A3D0  4E 80 00 20 */	blr 

.global __ct__Q44nw4r3lyt6detail11TexCoordAryFv
__ct__Q44nw4r3lyt6detail11TexCoordAryFv:
/* 8038E774 0038A3D4  38 00 00 00 */	li r0, 0
/* 8038E778 0038A3D8  98 03 00 00 */	stb r0, 0(r3)
/* 8038E77C 0038A3DC  98 03 00 01 */	stb r0, 1(r3)
/* 8038E780 0038A3E0  90 03 00 04 */	stw r0, 4(r3)
/* 8038E784 0038A3E4  4E 80 00 20 */	blr 

.global Free__Q44nw4r3lyt6detail11TexCoordAryFv
Free__Q44nw4r3lyt6detail11TexCoordAryFv:
/* 8038E788 0038A3E8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8038E78C 0038A3EC  7C 08 02 A6 */	mflr r0
/* 8038E790 0038A3F0  90 01 00 14 */	stw r0, 0x14(r1)
/* 8038E794 0038A3F4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8038E798 0038A3F8  7C 7F 1B 78 */	mr r31, r3
/* 8038E79C 0038A3FC  80 83 00 04 */	lwz r4, 4(r3)
/* 8038E7A0 0038A400  2C 04 00 00 */	cmpwi r4, 0
/* 8038E7A4 0038A404  41 82 00 1C */	beq lbl_8038E7C0
/* 8038E7A8 0038A408  80 6D B2 B0 */	lwz r3, lbl_80640570-_SDA_BASE_(r13)
/* 8038E7AC 0038A40C  4B F0 8F 89 */	bl MEMFreeToAllocator
/* 8038E7B0 0038A410  38 00 00 00 */	li r0, 0
/* 8038E7B4 0038A414  90 1F 00 04 */	stw r0, 4(r31)
/* 8038E7B8 0038A418  98 1F 00 00 */	stb r0, 0(r31)
/* 8038E7BC 0038A41C  98 1F 00 01 */	stb r0, 1(r31)
lbl_8038E7C0:
/* 8038E7C0 0038A420  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8038E7C4 0038A424  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8038E7C8 0038A428  7C 08 03 A6 */	mtlr r0
/* 8038E7CC 0038A42C  38 21 00 10 */	addi r1, r1, 0x10
/* 8038E7D0 0038A430  4E 80 00 20 */	blr 

.global Reserve__Q44nw4r3lyt6detail11TexCoordAryFUc
Reserve__Q44nw4r3lyt6detail11TexCoordAryFUc:
/* 8038E7D4 0038A434  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8038E7D8 0038A438  7C 08 02 A6 */	mflr r0
/* 8038E7DC 0038A43C  90 01 00 14 */	stw r0, 0x14(r1)
/* 8038E7E0 0038A440  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8038E7E4 0038A444  7C 9F 23 78 */	mr r31, r4
/* 8038E7E8 0038A448  93 C1 00 08 */	stw r30, 8(r1)
/* 8038E7EC 0038A44C  7C 7E 1B 78 */	mr r30, r3
/* 8038E7F0 0038A450  88 03 00 00 */	lbz r0, 0(r3)
/* 8038E7F4 0038A454  7C 00 20 40 */	cmplw r0, r4
/* 8038E7F8 0038A458  40 80 00 44 */	bge lbl_8038E83C
/* 8038E7FC 0038A45C  80 83 00 04 */	lwz r4, 4(r3)
/* 8038E800 0038A460  2C 04 00 00 */	cmpwi r4, 0
/* 8038E804 0038A464  41 82 00 1C */	beq lbl_8038E820
/* 8038E808 0038A468  80 6D B2 B0 */	lwz r3, lbl_80640570-_SDA_BASE_(r13)
/* 8038E80C 0038A46C  4B F0 8F 29 */	bl MEMFreeToAllocator
/* 8038E810 0038A470  38 00 00 00 */	li r0, 0
/* 8038E814 0038A474  90 1E 00 04 */	stw r0, 4(r30)
/* 8038E818 0038A478  98 1E 00 00 */	stb r0, 0(r30)
/* 8038E81C 0038A47C  98 1E 00 01 */	stb r0, 1(r30)
lbl_8038E820:
/* 8038E820 0038A480  80 6D B2 B0 */	lwz r3, lbl_80640570-_SDA_BASE_(r13)
/* 8038E824 0038A484  57 E4 2C F4 */	rlwinm r4, r31, 5, 0x13, 0x1a
/* 8038E828 0038A488  4B F0 8E FD */	bl MEMAllocFromAllocator
/* 8038E82C 0038A48C  2C 03 00 00 */	cmpwi r3, 0
/* 8038E830 0038A490  90 7E 00 04 */	stw r3, 4(r30)
/* 8038E834 0038A494  41 82 00 08 */	beq lbl_8038E83C
/* 8038E838 0038A498  9B FE 00 00 */	stb r31, 0(r30)
lbl_8038E83C:
/* 8038E83C 0038A49C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8038E840 0038A4A0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8038E844 0038A4A4  83 C1 00 08 */	lwz r30, 8(r1)
/* 8038E848 0038A4A8  7C 08 03 A6 */	mtlr r0
/* 8038E84C 0038A4AC  38 21 00 10 */	addi r1, r1, 0x10
/* 8038E850 0038A4B0  4E 80 00 20 */	blr 

.global SetSize__Q44nw4r3lyt6detail11TexCoordAryFUc
SetSize__Q44nw4r3lyt6detail11TexCoordAryFUc:
/* 8038E854 0038A4B4  80 03 00 04 */	lwz r0, 4(r3)
/* 8038E858 0038A4B8  2C 00 00 00 */	cmpwi r0, 0
/* 8038E85C 0038A4BC  4D 82 00 20 */	beqlr 
/* 8038E860 0038A4C0  88 03 00 00 */	lbz r0, 0(r3)
/* 8038E864 0038A4C4  7C 04 00 40 */	cmplw r4, r0
/* 8038E868 0038A4C8  4D 81 00 20 */	bgtlr 
/* 8038E86C 0038A4CC  88 0D B2 D8 */	lbz r0, lbl_80640598-_SDA_BASE_(r13)
/* 8038E870 0038A4D0  7C 00 07 75 */	extsb. r0, r0
/* 8038E874 0038A4D4  40 82 00 3C */	bne lbl_8038E8B0
/* 8038E878 0038A4D8  3C C0 80 64 */	lis r6, lbl_8063CE08@ha
/* 8038E87C 0038A4DC  C0 22 A9 00 */	lfs f1, lbl_80642F00-_SDA2_BASE_(r2)
/* 8038E880 0038A4E0  38 A6 CE 08 */	addi r5, r6, lbl_8063CE08@l
/* 8038E884 0038A4E4  C0 02 A9 04 */	lfs f0, lbl_80642F04-_SDA2_BASE_(r2)
/* 8038E888 0038A4E8  38 00 00 01 */	li r0, 1
/* 8038E88C 0038A4EC  D0 26 CE 08 */	stfs f1, -0x31f8(r6)
/* 8038E890 0038A4F0  D0 25 00 04 */	stfs f1, 4(r5)
/* 8038E894 0038A4F4  D0 05 00 08 */	stfs f0, 8(r5)
/* 8038E898 0038A4F8  D0 25 00 0C */	stfs f1, 0xc(r5)
/* 8038E89C 0038A4FC  D0 25 00 10 */	stfs f1, 0x10(r5)
/* 8038E8A0 0038A500  D0 05 00 14 */	stfs f0, 0x14(r5)
/* 8038E8A4 0038A504  D0 05 00 18 */	stfs f0, 0x18(r5)
/* 8038E8A8 0038A508  D0 05 00 1C */	stfs f0, 0x1c(r5)
/* 8038E8AC 0038A50C  98 0D B2 D8 */	stb r0, lbl_80640598-_SDA_BASE_(r13)
lbl_8038E8B0:
/* 8038E8B0 0038A510  88 E3 00 01 */	lbz r7, 1(r3)
/* 8038E8B4 0038A514  3C C0 80 64 */	lis r6, lbl_8063CE08@ha
/* 8038E8B8 0038A518  38 A6 CE 08 */	addi r5, r6, lbl_8063CE08@l
/* 8038E8BC 0038A51C  C0 E6 CE 08 */	lfs f7, -0x31f8(r6)
/* 8038E8C0 0038A520  7C 07 20 50 */	subf r0, r7, r4
/* 8038E8C4 0038A524  54 E6 28 34 */	slwi r6, r7, 5
/* 8038E8C8 0038A528  C0 C5 00 04 */	lfs f6, 4(r5)
/* 8038E8CC 0038A52C  C0 A5 00 08 */	lfs f5, 8(r5)
/* 8038E8D0 0038A530  C0 85 00 0C */	lfs f4, 0xc(r5)
/* 8038E8D4 0038A534  C0 65 00 10 */	lfs f3, 0x10(r5)
/* 8038E8D8 0038A538  C0 45 00 14 */	lfs f2, 0x14(r5)
/* 8038E8DC 0038A53C  C0 25 00 18 */	lfs f1, 0x18(r5)
/* 8038E8E0 0038A540  C0 05 00 1C */	lfs f0, 0x1c(r5)
/* 8038E8E4 0038A544  7C 09 03 A6 */	mtctr r0
/* 8038E8E8 0038A548  7C 07 20 00 */	cmpw r7, r4
/* 8038E8EC 0038A54C  40 80 00 4C */	bge lbl_8038E938
lbl_8038E8F0:
/* 8038E8F0 0038A550  80 03 00 04 */	lwz r0, 4(r3)
/* 8038E8F4 0038A554  7C E6 05 2E */	stfsx f7, r6, r0
/* 8038E8F8 0038A558  7C A0 32 14 */	add r5, r0, r6
/* 8038E8FC 0038A55C  D0 C5 00 04 */	stfs f6, 4(r5)
/* 8038E900 0038A560  80 03 00 04 */	lwz r0, 4(r3)
/* 8038E904 0038A564  7C A0 32 14 */	add r5, r0, r6
/* 8038E908 0038A568  D0 A5 00 08 */	stfs f5, 8(r5)
/* 8038E90C 0038A56C  D0 85 00 0C */	stfs f4, 0xc(r5)
/* 8038E910 0038A570  80 03 00 04 */	lwz r0, 4(r3)
/* 8038E914 0038A574  7C A0 32 14 */	add r5, r0, r6
/* 8038E918 0038A578  D0 65 00 10 */	stfs f3, 0x10(r5)
/* 8038E91C 0038A57C  D0 45 00 14 */	stfs f2, 0x14(r5)
/* 8038E920 0038A580  80 03 00 04 */	lwz r0, 4(r3)
/* 8038E924 0038A584  7C A0 32 14 */	add r5, r0, r6
/* 8038E928 0038A588  38 C6 00 20 */	addi r6, r6, 0x20
/* 8038E92C 0038A58C  D0 25 00 18 */	stfs f1, 0x18(r5)
/* 8038E930 0038A590  D0 05 00 1C */	stfs f0, 0x1c(r5)
/* 8038E934 0038A594  42 00 FF BC */	bdnz lbl_8038E8F0
lbl_8038E938:
/* 8038E938 0038A598  98 83 00 01 */	stb r4, 1(r3)
/* 8038E93C 0038A59C  4E 80 00 20 */	blr 

.global Copy__Q44nw4r3lyt6detail11TexCoordAryFPCvUc
Copy__Q44nw4r3lyt6detail11TexCoordAryFPCvUc:
/* 8038E940 0038A5A0  88 03 00 01 */	lbz r0, 1(r3)
/* 8038E944 0038A5A4  7C 00 28 40 */	cmplw r0, r5
/* 8038E948 0038A5A8  40 80 00 08 */	bge lbl_8038E950
/* 8038E94C 0038A5AC  7C A0 2B 78 */	mr r0, r5
lbl_8038E950:
/* 8038E950 0038A5B0  98 03 00 01 */	stb r0, 1(r3)
/* 8038E954 0038A5B4  38 C0 00 00 */	li r6, 0
/* 8038E958 0038A5B8  7C A9 03 A6 */	mtctr r5
/* 8038E95C 0038A5BC  2C 05 00 00 */	cmpwi r5, 0
/* 8038E960 0038A5C0  4C 81 00 20 */	blelr 
lbl_8038E964:
/* 8038E964 0038A5C4  80 03 00 04 */	lwz r0, 4(r3)
/* 8038E968 0038A5C8  C0 24 00 00 */	lfs f1, 0(r4)
/* 8038E96C 0038A5CC  C0 04 00 04 */	lfs f0, 4(r4)
/* 8038E970 0038A5D0  7C A0 32 14 */	add r5, r0, r6
/* 8038E974 0038A5D4  7C 26 05 2E */	stfsx f1, r6, r0
/* 8038E978 0038A5D8  C0 24 00 08 */	lfs f1, 8(r4)
/* 8038E97C 0038A5DC  D0 05 00 04 */	stfs f0, 4(r5)
/* 8038E980 0038A5E0  C0 04 00 0C */	lfs f0, 0xc(r4)
/* 8038E984 0038A5E4  80 03 00 04 */	lwz r0, 4(r3)
/* 8038E988 0038A5E8  C0 64 00 10 */	lfs f3, 0x10(r4)
/* 8038E98C 0038A5EC  7C A0 32 14 */	add r5, r0, r6
/* 8038E990 0038A5F0  C0 44 00 14 */	lfs f2, 0x14(r4)
/* 8038E994 0038A5F4  D0 25 00 08 */	stfs f1, 8(r5)
/* 8038E998 0038A5F8  C0 24 00 18 */	lfs f1, 0x18(r4)
/* 8038E99C 0038A5FC  D0 05 00 0C */	stfs f0, 0xc(r5)
/* 8038E9A0 0038A600  C0 04 00 1C */	lfs f0, 0x1c(r4)
/* 8038E9A4 0038A604  38 84 00 20 */	addi r4, r4, 0x20
/* 8038E9A8 0038A608  80 03 00 04 */	lwz r0, 4(r3)
/* 8038E9AC 0038A60C  7C A0 32 14 */	add r5, r0, r6
/* 8038E9B0 0038A610  D0 65 00 10 */	stfs f3, 0x10(r5)
/* 8038E9B4 0038A614  D0 45 00 14 */	stfs f2, 0x14(r5)
/* 8038E9B8 0038A618  80 03 00 04 */	lwz r0, 4(r3)
/* 8038E9BC 0038A61C  7C A0 32 14 */	add r5, r0, r6
/* 8038E9C0 0038A620  38 C6 00 20 */	addi r6, r6, 0x20
/* 8038E9C4 0038A624  D0 25 00 18 */	stfs f1, 0x18(r5)
/* 8038E9C8 0038A628  D0 05 00 1C */	stfs f0, 0x1c(r5)
/* 8038E9CC 0038A62C  42 00 FF 98 */	bdnz lbl_8038E964
/* 8038E9D0 0038A630  4E 80 00 20 */	blr 

.global IsModulateVertexColor__Q34nw4r3lyt6detailFPQ34nw4r2ut5ColorUc
IsModulateVertexColor__Q34nw4r3lyt6detailFPQ34nw4r2ut5ColorUc:
/* 8038E9D4 0038A634  28 04 00 FF */	cmplwi r4, 0xff
/* 8038E9D8 0038A638  41 82 00 0C */	beq lbl_8038E9E4
/* 8038E9DC 0038A63C  38 60 00 01 */	li r3, 1
/* 8038E9E0 0038A640  4E 80 00 20 */	blr 
lbl_8038E9E4:
/* 8038E9E4 0038A644  2C 03 00 00 */	cmpwi r3, 0
/* 8038E9E8 0038A648  41 82 00 4C */	beq lbl_8038EA34
/* 8038E9EC 0038A64C  80 83 00 00 */	lwz r4, 0(r3)
/* 8038E9F0 0038A650  3C 04 00 01 */	addis r0, r4, 1
/* 8038E9F4 0038A654  28 00 FF FF */	cmplwi r0, 0xffff
/* 8038E9F8 0038A658  40 82 00 34 */	bne lbl_8038EA2C
/* 8038E9FC 0038A65C  80 83 00 04 */	lwz r4, 4(r3)
/* 8038EA00 0038A660  3C 04 00 01 */	addis r0, r4, 1
/* 8038EA04 0038A664  28 00 FF FF */	cmplwi r0, 0xffff
/* 8038EA08 0038A668  40 82 00 24 */	bne lbl_8038EA2C
/* 8038EA0C 0038A66C  80 83 00 08 */	lwz r4, 8(r3)
/* 8038EA10 0038A670  3C 04 00 01 */	addis r0, r4, 1
/* 8038EA14 0038A674  28 00 FF FF */	cmplwi r0, 0xffff
/* 8038EA18 0038A678  40 82 00 14 */	bne lbl_8038EA2C
/* 8038EA1C 0038A67C  80 63 00 0C */	lwz r3, 0xc(r3)
/* 8038EA20 0038A680  3C 03 00 01 */	addis r0, r3, 1
/* 8038EA24 0038A684  28 00 FF FF */	cmplwi r0, 0xffff
/* 8038EA28 0038A688  41 82 00 0C */	beq lbl_8038EA34
lbl_8038EA2C:
/* 8038EA2C 0038A68C  38 60 00 01 */	li r3, 1
/* 8038EA30 0038A690  4E 80 00 20 */	blr 
lbl_8038EA34:
/* 8038EA34 0038A694  38 60 00 00 */	li r3, 0
/* 8038EA38 0038A698  4E 80 00 20 */	blr 

.global MultipleAlpha__Q34nw4r3lyt6detailFQ34nw4r2ut5ColorUc
MultipleAlpha__Q34nw4r3lyt6detailFQ34nw4r2ut5ColorUc:
/* 8038EA3C 0038A69C  89 04 00 00 */	lbz r8, 0(r4)
/* 8038EA40 0038A6A0  28 05 00 FF */	cmplwi r5, 0xff
/* 8038EA44 0038A6A4  88 E4 00 01 */	lbz r7, 1(r4)
/* 8038EA48 0038A6A8  88 C4 00 02 */	lbz r6, 2(r4)
/* 8038EA4C 0038A6AC  88 04 00 03 */	lbz r0, 3(r4)
/* 8038EA50 0038A6B0  99 03 00 00 */	stb r8, 0(r3)
/* 8038EA54 0038A6B4  98 E3 00 01 */	stb r7, 1(r3)
/* 8038EA58 0038A6B8  98 C3 00 02 */	stb r6, 2(r3)
/* 8038EA5C 0038A6BC  98 03 00 03 */	stb r0, 3(r3)
/* 8038EA60 0038A6C0  4D 82 00 20 */	beqlr 
/* 8038EA64 0038A6C4  88 04 00 03 */	lbz r0, 3(r4)
/* 8038EA68 0038A6C8  3C 80 80 81 */	lis r4, 0x80808081@ha
/* 8038EA6C 0038A6CC  38 84 80 81 */	addi r4, r4, 0x80808081@l
/* 8038EA70 0038A6D0  7C 00 29 D6 */	mullw r0, r0, r5
/* 8038EA74 0038A6D4  7C 84 00 96 */	mulhw r4, r4, r0
/* 8038EA78 0038A6D8  7C 04 02 14 */	add r0, r4, r0
/* 8038EA7C 0038A6DC  7C 00 3E 70 */	srawi r0, r0, 7
/* 8038EA80 0038A6E0  54 04 0F FE */	srwi r4, r0, 0x1f
/* 8038EA84 0038A6E4  7C 00 22 14 */	add r0, r0, r4
/* 8038EA88 0038A6E8  98 03 00 03 */	stb r0, 3(r3)
/* 8038EA8C 0038A6EC  4E 80 00 20 */	blr 

.global SetVertexFormat__Q34nw4r3lyt6detailFbUc
SetVertexFormat__Q34nw4r3lyt6detailFbUc:
/* 8038EA90 0038A6F0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8038EA94 0038A6F4  7C 08 02 A6 */	mflr r0
/* 8038EA98 0038A6F8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8038EA9C 0038A6FC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8038EAA0 0038A700  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8038EAA4 0038A704  7C 9E 23 78 */	mr r30, r4
/* 8038EAA8 0038A708  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8038EAAC 0038A70C  7C 7D 1B 78 */	mr r29, r3
/* 8038EAB0 0038A710  4B EF 11 D5 */	bl GXClearVtxDesc
/* 8038EAB4 0038A714  38 60 00 09 */	li r3, 9
/* 8038EAB8 0038A718  38 80 00 01 */	li r4, 1
/* 8038EABC 0038A71C  4B EF 09 39 */	bl GXSetVtxDesc
/* 8038EAC0 0038A720  2C 1D 00 00 */	cmpwi r29, 0
/* 8038EAC4 0038A724  41 82 00 10 */	beq lbl_8038EAD4
/* 8038EAC8 0038A728  38 60 00 0B */	li r3, 0xb
/* 8038EACC 0038A72C  38 80 00 01 */	li r4, 1
/* 8038EAD0 0038A730  4B EF 09 25 */	bl GXSetVtxDesc
lbl_8038EAD4:
/* 8038EAD4 0038A734  3B E0 00 00 */	li r31, 0
/* 8038EAD8 0038A738  48 00 00 14 */	b lbl_8038EAEC
lbl_8038EADC:
/* 8038EADC 0038A73C  38 7F 00 0D */	addi r3, r31, 0xd
/* 8038EAE0 0038A740  38 80 00 01 */	li r4, 1
/* 8038EAE4 0038A744  4B EF 09 11 */	bl GXSetVtxDesc
/* 8038EAE8 0038A748  3B FF 00 01 */	addi r31, r31, 1
lbl_8038EAEC:
/* 8038EAEC 0038A74C  7C 1F F0 00 */	cmpw r31, r30
/* 8038EAF0 0038A750  41 80 FF EC */	blt lbl_8038EADC
/* 8038EAF4 0038A754  38 60 00 00 */	li r3, 0
/* 8038EAF8 0038A758  38 80 00 09 */	li r4, 9
/* 8038EAFC 0038A75C  38 A0 00 00 */	li r5, 0
/* 8038EB00 0038A760  38 C0 00 04 */	li r6, 4
/* 8038EB04 0038A764  38 E0 00 00 */	li r7, 0
/* 8038EB08 0038A768  4B EF 11 B1 */	bl GXSetVtxAttrFmt
/* 8038EB0C 0038A76C  2C 1D 00 00 */	cmpwi r29, 0
/* 8038EB10 0038A770  41 82 00 1C */	beq lbl_8038EB2C
/* 8038EB14 0038A774  38 60 00 00 */	li r3, 0
/* 8038EB18 0038A778  38 80 00 0B */	li r4, 0xb
/* 8038EB1C 0038A77C  38 A0 00 01 */	li r5, 1
/* 8038EB20 0038A780  38 C0 00 05 */	li r6, 5
/* 8038EB24 0038A784  38 E0 00 00 */	li r7, 0
/* 8038EB28 0038A788  4B EF 11 91 */	bl GXSetVtxAttrFmt
lbl_8038EB2C:
/* 8038EB2C 0038A78C  3B E0 00 00 */	li r31, 0
/* 8038EB30 0038A790  48 00 00 20 */	b lbl_8038EB50
lbl_8038EB34:
/* 8038EB34 0038A794  38 9F 00 0D */	addi r4, r31, 0xd
/* 8038EB38 0038A798  38 60 00 00 */	li r3, 0
/* 8038EB3C 0038A79C  38 A0 00 01 */	li r5, 1
/* 8038EB40 0038A7A0  38 C0 00 04 */	li r6, 4
/* 8038EB44 0038A7A4  38 E0 00 00 */	li r7, 0
/* 8038EB48 0038A7A8  4B EF 11 71 */	bl GXSetVtxAttrFmt
/* 8038EB4C 0038A7AC  3B FF 00 01 */	addi r31, r31, 1
lbl_8038EB50:
/* 8038EB50 0038A7B0  7C 1F F0 00 */	cmpw r31, r30
/* 8038EB54 0038A7B4  41 80 FF E0 */	blt lbl_8038EB34
/* 8038EB58 0038A7B8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8038EB5C 0038A7BC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8038EB60 0038A7C0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8038EB64 0038A7C4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8038EB68 0038A7C8  7C 08 03 A6 */	mtlr r0
/* 8038EB6C 0038A7CC  38 21 00 20 */	addi r1, r1, 0x20
/* 8038EB70 0038A7D0  4E 80 00 20 */	blr 

.global DrawQuad__Q34nw4r3lyt6detailFRCQ34nw4r4math4VEC2RCQ34nw4r3lyt4SizeUcPA4_CQ34nw4r4math4VEC2PCQ34nw4r2ut5Color
DrawQuad__Q34nw4r3lyt6detailFRCQ34nw4r4math4VEC2RCQ34nw4r3lyt4SizeUcPA4_CQ34nw4r4math4VEC2PCQ34nw4r2ut5Color:
/* 8038EB74 0038A7D4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8038EB78 0038A7D8  7C 08 02 A6 */	mflr r0
/* 8038EB7C 0038A7DC  90 01 00 24 */	stw r0, 0x24(r1)
/* 8038EB80 0038A7E0  39 61 00 20 */	addi r11, r1, 0x20
/* 8038EB84 0038A7E4  4B E3 85 A5 */	bl _savegpr_27
/* 8038EB88 0038A7E8  7C 7B 1B 78 */	mr r27, r3
/* 8038EB8C 0038A7EC  7C 9C 23 78 */	mr r28, r4
/* 8038EB90 0038A7F0  7C BD 2B 78 */	mr r29, r5
/* 8038EB94 0038A7F4  7C DE 33 78 */	mr r30, r6
/* 8038EB98 0038A7F8  7C FF 3B 78 */	mr r31, r7
/* 8038EB9C 0038A7FC  38 60 00 80 */	li r3, 0x80
/* 8038EBA0 0038A800  38 80 00 00 */	li r4, 0
/* 8038EBA4 0038A804  38 A0 00 04 */	li r5, 4
/* 8038EBA8 0038A808  4B EF 25 A1 */	bl GXBegin
/* 8038EBAC 0038A80C  C0 1B 00 00 */	lfs f0, 0(r27)
/* 8038EBB0 0038A810  3C 60 CC 01 */	lis r3, 0xCC008000@ha
/* 8038EBB4 0038A814  C0 3B 00 04 */	lfs f1, 4(r27)
/* 8038EBB8 0038A818  2C 1F 00 00 */	cmpwi r31, 0
/* 8038EBBC 0038A81C  D0 03 80 00 */	stfs f0, 0xCC008000@l(r3)
/* 8038EBC0 0038A820  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EBC4 0038A824  41 82 00 0C */	beq lbl_8038EBD0
/* 8038EBC8 0038A828  80 1F 00 00 */	lwz r0, 0(r31)
/* 8038EBCC 0038A82C  90 03 80 00 */	stw r0, -0x8000(r3)
lbl_8038EBD0:
/* 8038EBD0 0038A830  2C 9D 00 00 */	cmpwi cr1, r29, 0
/* 8038EBD4 0038A834  38 C0 00 00 */	li r6, 0
/* 8038EBD8 0038A838  40 85 01 10 */	ble cr1, lbl_8038ECE8
/* 8038EBDC 0038A83C  2C 1D 00 08 */	cmpwi r29, 8
/* 8038EBE0 0038A840  38 9D FF F8 */	addi r4, r29, -8
/* 8038EBE4 0038A844  40 81 00 D0 */	ble lbl_8038ECB4
/* 8038EBE8 0038A848  38 A0 00 00 */	li r5, 0
/* 8038EBEC 0038A84C  41 84 00 18 */	blt cr1, lbl_8038EC04
/* 8038EBF0 0038A850  3C 60 80 00 */	lis r3, 0x7FFFFFFE@ha
/* 8038EBF4 0038A854  38 03 FF FE */	addi r0, r3, 0x7FFFFFFE@l
/* 8038EBF8 0038A858  7C 1D 00 00 */	cmpw r29, r0
/* 8038EBFC 0038A85C  41 81 00 08 */	bgt lbl_8038EC04
/* 8038EC00 0038A860  38 A0 00 01 */	li r5, 1
lbl_8038EC04:
/* 8038EC04 0038A864  2C 05 00 00 */	cmpwi r5, 0
/* 8038EC08 0038A868  41 82 00 AC */	beq lbl_8038ECB4
/* 8038EC0C 0038A86C  38 04 00 07 */	addi r0, r4, 7
/* 8038EC10 0038A870  7F C5 F3 78 */	mr r5, r30
/* 8038EC14 0038A874  54 00 E8 FE */	srwi r0, r0, 3
/* 8038EC18 0038A878  3C 60 CC 01 */	lis r3, 0xcc01
/* 8038EC1C 0038A87C  7C 09 03 A6 */	mtctr r0
/* 8038EC20 0038A880  2C 04 00 00 */	cmpwi r4, 0
/* 8038EC24 0038A884  40 81 00 90 */	ble lbl_8038ECB4
lbl_8038EC28:
/* 8038EC28 0038A888  C0 05 00 00 */	lfs f0, 0(r5)
/* 8038EC2C 0038A88C  38 C6 00 08 */	addi r6, r6, 8
/* 8038EC30 0038A890  C0 25 00 04 */	lfs f1, 4(r5)
/* 8038EC34 0038A894  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EC38 0038A898  C0 45 00 20 */	lfs f2, 0x20(r5)
/* 8038EC3C 0038A89C  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EC40 0038A8A0  C0 05 00 24 */	lfs f0, 0x24(r5)
/* 8038EC44 0038A8A4  D0 43 80 00 */	stfs f2, -0x8000(r3)
/* 8038EC48 0038A8A8  C0 25 00 40 */	lfs f1, 0x40(r5)
/* 8038EC4C 0038A8AC  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EC50 0038A8B0  C0 05 00 44 */	lfs f0, 0x44(r5)
/* 8038EC54 0038A8B4  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EC58 0038A8B8  C0 25 00 60 */	lfs f1, 0x60(r5)
/* 8038EC5C 0038A8BC  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EC60 0038A8C0  C0 05 00 64 */	lfs f0, 0x64(r5)
/* 8038EC64 0038A8C4  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EC68 0038A8C8  C0 25 00 80 */	lfs f1, 0x80(r5)
/* 8038EC6C 0038A8CC  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EC70 0038A8D0  C0 05 00 84 */	lfs f0, 0x84(r5)
/* 8038EC74 0038A8D4  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EC78 0038A8D8  C0 25 00 A0 */	lfs f1, 0xa0(r5)
/* 8038EC7C 0038A8DC  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EC80 0038A8E0  C0 05 00 A4 */	lfs f0, 0xa4(r5)
/* 8038EC84 0038A8E4  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EC88 0038A8E8  C0 25 00 C0 */	lfs f1, 0xc0(r5)
/* 8038EC8C 0038A8EC  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EC90 0038A8F0  C0 05 00 C4 */	lfs f0, 0xc4(r5)
/* 8038EC94 0038A8F4  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EC98 0038A8F8  C0 25 00 E0 */	lfs f1, 0xe0(r5)
/* 8038EC9C 0038A8FC  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038ECA0 0038A900  C0 05 00 E4 */	lfs f0, 0xe4(r5)
/* 8038ECA4 0038A904  38 A5 01 00 */	addi r5, r5, 0x100
/* 8038ECA8 0038A908  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038ECAC 0038A90C  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038ECB0 0038A910  42 00 FF 78 */	bdnz lbl_8038EC28
lbl_8038ECB4:
/* 8038ECB4 0038A914  54 C3 28 34 */	slwi r3, r6, 5
/* 8038ECB8 0038A918  7C 06 E8 50 */	subf r0, r6, r29
/* 8038ECBC 0038A91C  7C 9E 1A 14 */	add r4, r30, r3
/* 8038ECC0 0038A920  3C 60 CC 01 */	lis r3, 0xcc01
/* 8038ECC4 0038A924  7C 09 03 A6 */	mtctr r0
/* 8038ECC8 0038A928  7C 06 E8 00 */	cmpw r6, r29
/* 8038ECCC 0038A92C  40 80 00 1C */	bge lbl_8038ECE8
lbl_8038ECD0:
/* 8038ECD0 0038A930  C0 24 00 00 */	lfs f1, 0(r4)
/* 8038ECD4 0038A934  C0 04 00 04 */	lfs f0, 4(r4)
/* 8038ECD8 0038A938  38 84 00 20 */	addi r4, r4, 0x20
/* 8038ECDC 0038A93C  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038ECE0 0038A940  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038ECE4 0038A944  42 00 FF EC */	bdnz lbl_8038ECD0
lbl_8038ECE8:
/* 8038ECE8 0038A948  C0 3B 00 00 */	lfs f1, 0(r27)
/* 8038ECEC 0038A94C  3C 60 CC 01 */	lis r3, 0xCC008000@ha
/* 8038ECF0 0038A950  C0 1C 00 00 */	lfs f0, 0(r28)
/* 8038ECF4 0038A954  2C 1F 00 00 */	cmpwi r31, 0
/* 8038ECF8 0038A958  C0 5B 00 04 */	lfs f2, 4(r27)
/* 8038ECFC 0038A95C  EC 01 00 2A */	fadds f0, f1, f0
/* 8038ED00 0038A960  D0 03 80 00 */	stfs f0, 0xCC008000@l(r3)
/* 8038ED04 0038A964  D0 43 80 00 */	stfs f2, -0x8000(r3)
/* 8038ED08 0038A968  41 82 00 0C */	beq lbl_8038ED14
/* 8038ED0C 0038A96C  80 1F 00 04 */	lwz r0, 4(r31)
/* 8038ED10 0038A970  90 03 80 00 */	stw r0, -0x8000(r3)
lbl_8038ED14:
/* 8038ED14 0038A974  2C 9D 00 00 */	cmpwi cr1, r29, 0
/* 8038ED18 0038A978  38 C0 00 00 */	li r6, 0
/* 8038ED1C 0038A97C  40 85 01 10 */	ble cr1, lbl_8038EE2C
/* 8038ED20 0038A980  2C 1D 00 08 */	cmpwi r29, 8
/* 8038ED24 0038A984  38 9D FF F8 */	addi r4, r29, -8
/* 8038ED28 0038A988  40 81 00 D0 */	ble lbl_8038EDF8
/* 8038ED2C 0038A98C  38 A0 00 00 */	li r5, 0
/* 8038ED30 0038A990  41 84 00 18 */	blt cr1, lbl_8038ED48
/* 8038ED34 0038A994  3C 60 80 00 */	lis r3, 0x7FFFFFFE@ha
/* 8038ED38 0038A998  38 03 FF FE */	addi r0, r3, 0x7FFFFFFE@l
/* 8038ED3C 0038A99C  7C 1D 00 00 */	cmpw r29, r0
/* 8038ED40 0038A9A0  41 81 00 08 */	bgt lbl_8038ED48
/* 8038ED44 0038A9A4  38 A0 00 01 */	li r5, 1
lbl_8038ED48:
/* 8038ED48 0038A9A8  2C 05 00 00 */	cmpwi r5, 0
/* 8038ED4C 0038A9AC  41 82 00 AC */	beq lbl_8038EDF8
/* 8038ED50 0038A9B0  38 04 00 07 */	addi r0, r4, 7
/* 8038ED54 0038A9B4  7F C5 F3 78 */	mr r5, r30
/* 8038ED58 0038A9B8  54 00 E8 FE */	srwi r0, r0, 3
/* 8038ED5C 0038A9BC  3C 60 CC 01 */	lis r3, 0xcc01
/* 8038ED60 0038A9C0  7C 09 03 A6 */	mtctr r0
/* 8038ED64 0038A9C4  2C 04 00 00 */	cmpwi r4, 0
/* 8038ED68 0038A9C8  40 81 00 90 */	ble lbl_8038EDF8
lbl_8038ED6C:
/* 8038ED6C 0038A9CC  C0 05 00 08 */	lfs f0, 8(r5)
/* 8038ED70 0038A9D0  38 C6 00 08 */	addi r6, r6, 8
/* 8038ED74 0038A9D4  C0 25 00 0C */	lfs f1, 0xc(r5)
/* 8038ED78 0038A9D8  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038ED7C 0038A9DC  C0 45 00 28 */	lfs f2, 0x28(r5)
/* 8038ED80 0038A9E0  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038ED84 0038A9E4  C0 05 00 2C */	lfs f0, 0x2c(r5)
/* 8038ED88 0038A9E8  D0 43 80 00 */	stfs f2, -0x8000(r3)
/* 8038ED8C 0038A9EC  C0 25 00 48 */	lfs f1, 0x48(r5)
/* 8038ED90 0038A9F0  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038ED94 0038A9F4  C0 05 00 4C */	lfs f0, 0x4c(r5)
/* 8038ED98 0038A9F8  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038ED9C 0038A9FC  C0 25 00 68 */	lfs f1, 0x68(r5)
/* 8038EDA0 0038AA00  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EDA4 0038AA04  C0 05 00 6C */	lfs f0, 0x6c(r5)
/* 8038EDA8 0038AA08  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EDAC 0038AA0C  C0 25 00 88 */	lfs f1, 0x88(r5)
/* 8038EDB0 0038AA10  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EDB4 0038AA14  C0 05 00 8C */	lfs f0, 0x8c(r5)
/* 8038EDB8 0038AA18  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EDBC 0038AA1C  C0 25 00 A8 */	lfs f1, 0xa8(r5)
/* 8038EDC0 0038AA20  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EDC4 0038AA24  C0 05 00 AC */	lfs f0, 0xac(r5)
/* 8038EDC8 0038AA28  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EDCC 0038AA2C  C0 25 00 C8 */	lfs f1, 0xc8(r5)
/* 8038EDD0 0038AA30  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EDD4 0038AA34  C0 05 00 CC */	lfs f0, 0xcc(r5)
/* 8038EDD8 0038AA38  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EDDC 0038AA3C  C0 25 00 E8 */	lfs f1, 0xe8(r5)
/* 8038EDE0 0038AA40  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EDE4 0038AA44  C0 05 00 EC */	lfs f0, 0xec(r5)
/* 8038EDE8 0038AA48  38 A5 01 00 */	addi r5, r5, 0x100
/* 8038EDEC 0038AA4C  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EDF0 0038AA50  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EDF4 0038AA54  42 00 FF 78 */	bdnz lbl_8038ED6C
lbl_8038EDF8:
/* 8038EDF8 0038AA58  54 C3 28 34 */	slwi r3, r6, 5
/* 8038EDFC 0038AA5C  7C 06 E8 50 */	subf r0, r6, r29
/* 8038EE00 0038AA60  7C 9E 1A 14 */	add r4, r30, r3
/* 8038EE04 0038AA64  3C 60 CC 01 */	lis r3, 0xcc01
/* 8038EE08 0038AA68  7C 09 03 A6 */	mtctr r0
/* 8038EE0C 0038AA6C  7C 06 E8 00 */	cmpw r6, r29
/* 8038EE10 0038AA70  40 80 00 1C */	bge lbl_8038EE2C
lbl_8038EE14:
/* 8038EE14 0038AA74  C0 24 00 08 */	lfs f1, 8(r4)
/* 8038EE18 0038AA78  C0 04 00 0C */	lfs f0, 0xc(r4)
/* 8038EE1C 0038AA7C  38 84 00 20 */	addi r4, r4, 0x20
/* 8038EE20 0038AA80  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EE24 0038AA84  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EE28 0038AA88  42 00 FF EC */	bdnz lbl_8038EE14
lbl_8038EE2C:
/* 8038EE2C 0038AA8C  C0 3B 00 00 */	lfs f1, 0(r27)
/* 8038EE30 0038AA90  3C 60 CC 01 */	lis r3, 0xCC008000@ha
/* 8038EE34 0038AA94  C0 1C 00 00 */	lfs f0, 0(r28)
/* 8038EE38 0038AA98  2C 1F 00 00 */	cmpwi r31, 0
/* 8038EE3C 0038AA9C  C0 5B 00 04 */	lfs f2, 4(r27)
/* 8038EE40 0038AAA0  EC 21 00 2A */	fadds f1, f1, f0
/* 8038EE44 0038AAA4  C0 1C 00 04 */	lfs f0, 4(r28)
/* 8038EE48 0038AAA8  EC 02 00 2A */	fadds f0, f2, f0
/* 8038EE4C 0038AAAC  D0 23 80 00 */	stfs f1, 0xCC008000@l(r3)
/* 8038EE50 0038AAB0  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EE54 0038AAB4  41 82 00 0C */	beq lbl_8038EE60
/* 8038EE58 0038AAB8  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 8038EE5C 0038AABC  90 03 80 00 */	stw r0, -0x8000(r3)
lbl_8038EE60:
/* 8038EE60 0038AAC0  2C 9D 00 00 */	cmpwi cr1, r29, 0
/* 8038EE64 0038AAC4  38 C0 00 00 */	li r6, 0
/* 8038EE68 0038AAC8  40 85 01 10 */	ble cr1, lbl_8038EF78
/* 8038EE6C 0038AACC  2C 1D 00 08 */	cmpwi r29, 8
/* 8038EE70 0038AAD0  38 9D FF F8 */	addi r4, r29, -8
/* 8038EE74 0038AAD4  40 81 00 D0 */	ble lbl_8038EF44
/* 8038EE78 0038AAD8  38 A0 00 00 */	li r5, 0
/* 8038EE7C 0038AADC  41 84 00 18 */	blt cr1, lbl_8038EE94
/* 8038EE80 0038AAE0  3C 60 80 00 */	lis r3, 0x7FFFFFFE@ha
/* 8038EE84 0038AAE4  38 03 FF FE */	addi r0, r3, 0x7FFFFFFE@l
/* 8038EE88 0038AAE8  7C 1D 00 00 */	cmpw r29, r0
/* 8038EE8C 0038AAEC  41 81 00 08 */	bgt lbl_8038EE94
/* 8038EE90 0038AAF0  38 A0 00 01 */	li r5, 1
lbl_8038EE94:
/* 8038EE94 0038AAF4  2C 05 00 00 */	cmpwi r5, 0
/* 8038EE98 0038AAF8  41 82 00 AC */	beq lbl_8038EF44
/* 8038EE9C 0038AAFC  38 04 00 07 */	addi r0, r4, 7
/* 8038EEA0 0038AB00  7F C5 F3 78 */	mr r5, r30
/* 8038EEA4 0038AB04  54 00 E8 FE */	srwi r0, r0, 3
/* 8038EEA8 0038AB08  3C 60 CC 01 */	lis r3, 0xcc01
/* 8038EEAC 0038AB0C  7C 09 03 A6 */	mtctr r0
/* 8038EEB0 0038AB10  2C 04 00 00 */	cmpwi r4, 0
/* 8038EEB4 0038AB14  40 81 00 90 */	ble lbl_8038EF44
lbl_8038EEB8:
/* 8038EEB8 0038AB18  C0 05 00 18 */	lfs f0, 0x18(r5)
/* 8038EEBC 0038AB1C  38 C6 00 08 */	addi r6, r6, 8
/* 8038EEC0 0038AB20  C0 25 00 1C */	lfs f1, 0x1c(r5)
/* 8038EEC4 0038AB24  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EEC8 0038AB28  C0 45 00 38 */	lfs f2, 0x38(r5)
/* 8038EECC 0038AB2C  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EED0 0038AB30  C0 05 00 3C */	lfs f0, 0x3c(r5)
/* 8038EED4 0038AB34  D0 43 80 00 */	stfs f2, -0x8000(r3)
/* 8038EED8 0038AB38  C0 25 00 58 */	lfs f1, 0x58(r5)
/* 8038EEDC 0038AB3C  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EEE0 0038AB40  C0 05 00 5C */	lfs f0, 0x5c(r5)
/* 8038EEE4 0038AB44  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EEE8 0038AB48  C0 25 00 78 */	lfs f1, 0x78(r5)
/* 8038EEEC 0038AB4C  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EEF0 0038AB50  C0 05 00 7C */	lfs f0, 0x7c(r5)
/* 8038EEF4 0038AB54  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EEF8 0038AB58  C0 25 00 98 */	lfs f1, 0x98(r5)
/* 8038EEFC 0038AB5C  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EF00 0038AB60  C0 05 00 9C */	lfs f0, 0x9c(r5)
/* 8038EF04 0038AB64  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EF08 0038AB68  C0 25 00 B8 */	lfs f1, 0xb8(r5)
/* 8038EF0C 0038AB6C  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EF10 0038AB70  C0 05 00 BC */	lfs f0, 0xbc(r5)
/* 8038EF14 0038AB74  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EF18 0038AB78  C0 25 00 D8 */	lfs f1, 0xd8(r5)
/* 8038EF1C 0038AB7C  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EF20 0038AB80  C0 05 00 DC */	lfs f0, 0xdc(r5)
/* 8038EF24 0038AB84  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EF28 0038AB88  C0 25 00 F8 */	lfs f1, 0xf8(r5)
/* 8038EF2C 0038AB8C  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EF30 0038AB90  C0 05 00 FC */	lfs f0, 0xfc(r5)
/* 8038EF34 0038AB94  38 A5 01 00 */	addi r5, r5, 0x100
/* 8038EF38 0038AB98  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EF3C 0038AB9C  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EF40 0038ABA0  42 00 FF 78 */	bdnz lbl_8038EEB8
lbl_8038EF44:
/* 8038EF44 0038ABA4  54 C3 28 34 */	slwi r3, r6, 5
/* 8038EF48 0038ABA8  7C 06 E8 50 */	subf r0, r6, r29
/* 8038EF4C 0038ABAC  7C 9E 1A 14 */	add r4, r30, r3
/* 8038EF50 0038ABB0  3C 60 CC 01 */	lis r3, 0xcc01
/* 8038EF54 0038ABB4  7C 09 03 A6 */	mtctr r0
/* 8038EF58 0038ABB8  7C 06 E8 00 */	cmpw r6, r29
/* 8038EF5C 0038ABBC  40 80 00 1C */	bge lbl_8038EF78
lbl_8038EF60:
/* 8038EF60 0038ABC0  C0 24 00 18 */	lfs f1, 0x18(r4)
/* 8038EF64 0038ABC4  C0 04 00 1C */	lfs f0, 0x1c(r4)
/* 8038EF68 0038ABC8  38 84 00 20 */	addi r4, r4, 0x20
/* 8038EF6C 0038ABCC  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038EF70 0038ABD0  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EF74 0038ABD4  42 00 FF EC */	bdnz lbl_8038EF60
lbl_8038EF78:
/* 8038EF78 0038ABD8  C0 3B 00 04 */	lfs f1, 4(r27)
/* 8038EF7C 0038ABDC  3C 60 CC 01 */	lis r3, 0xCC008000@ha
/* 8038EF80 0038ABE0  C0 1C 00 04 */	lfs f0, 4(r28)
/* 8038EF84 0038ABE4  2C 1F 00 00 */	cmpwi r31, 0
/* 8038EF88 0038ABE8  C0 5B 00 00 */	lfs f2, 0(r27)
/* 8038EF8C 0038ABEC  EC 01 00 2A */	fadds f0, f1, f0
/* 8038EF90 0038ABF0  D0 43 80 00 */	stfs f2, 0xCC008000@l(r3)
/* 8038EF94 0038ABF4  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038EF98 0038ABF8  41 82 00 0C */	beq lbl_8038EFA4
/* 8038EF9C 0038ABFC  80 1F 00 08 */	lwz r0, 8(r31)
/* 8038EFA0 0038AC00  90 03 80 00 */	stw r0, -0x8000(r3)
lbl_8038EFA4:
/* 8038EFA4 0038AC04  2C 9D 00 00 */	cmpwi cr1, r29, 0
/* 8038EFA8 0038AC08  38 C0 00 00 */	li r6, 0
/* 8038EFAC 0038AC0C  40 85 01 10 */	ble cr1, lbl_8038F0BC
/* 8038EFB0 0038AC10  2C 1D 00 08 */	cmpwi r29, 8
/* 8038EFB4 0038AC14  38 9D FF F8 */	addi r4, r29, -8
/* 8038EFB8 0038AC18  40 81 00 D0 */	ble lbl_8038F088
/* 8038EFBC 0038AC1C  38 A0 00 00 */	li r5, 0
/* 8038EFC0 0038AC20  41 84 00 18 */	blt cr1, lbl_8038EFD8
/* 8038EFC4 0038AC24  3C 60 80 00 */	lis r3, 0x7FFFFFFE@ha
/* 8038EFC8 0038AC28  38 03 FF FE */	addi r0, r3, 0x7FFFFFFE@l
/* 8038EFCC 0038AC2C  7C 1D 00 00 */	cmpw r29, r0
/* 8038EFD0 0038AC30  41 81 00 08 */	bgt lbl_8038EFD8
/* 8038EFD4 0038AC34  38 A0 00 01 */	li r5, 1
lbl_8038EFD8:
/* 8038EFD8 0038AC38  2C 05 00 00 */	cmpwi r5, 0
/* 8038EFDC 0038AC3C  41 82 00 AC */	beq lbl_8038F088
/* 8038EFE0 0038AC40  38 04 00 07 */	addi r0, r4, 7
/* 8038EFE4 0038AC44  7F C5 F3 78 */	mr r5, r30
/* 8038EFE8 0038AC48  54 00 E8 FE */	srwi r0, r0, 3
/* 8038EFEC 0038AC4C  3C 60 CC 01 */	lis r3, 0xcc01
/* 8038EFF0 0038AC50  7C 09 03 A6 */	mtctr r0
/* 8038EFF4 0038AC54  2C 04 00 00 */	cmpwi r4, 0
/* 8038EFF8 0038AC58  40 81 00 90 */	ble lbl_8038F088
lbl_8038EFFC:
/* 8038EFFC 0038AC5C  C0 05 00 10 */	lfs f0, 0x10(r5)
/* 8038F000 0038AC60  38 C6 00 08 */	addi r6, r6, 8
/* 8038F004 0038AC64  C0 25 00 14 */	lfs f1, 0x14(r5)
/* 8038F008 0038AC68  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038F00C 0038AC6C  C0 45 00 30 */	lfs f2, 0x30(r5)
/* 8038F010 0038AC70  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038F014 0038AC74  C0 05 00 34 */	lfs f0, 0x34(r5)
/* 8038F018 0038AC78  D0 43 80 00 */	stfs f2, -0x8000(r3)
/* 8038F01C 0038AC7C  C0 25 00 50 */	lfs f1, 0x50(r5)
/* 8038F020 0038AC80  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038F024 0038AC84  C0 05 00 54 */	lfs f0, 0x54(r5)
/* 8038F028 0038AC88  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038F02C 0038AC8C  C0 25 00 70 */	lfs f1, 0x70(r5)
/* 8038F030 0038AC90  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038F034 0038AC94  C0 05 00 74 */	lfs f0, 0x74(r5)
/* 8038F038 0038AC98  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038F03C 0038AC9C  C0 25 00 90 */	lfs f1, 0x90(r5)
/* 8038F040 0038ACA0  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038F044 0038ACA4  C0 05 00 94 */	lfs f0, 0x94(r5)
/* 8038F048 0038ACA8  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038F04C 0038ACAC  C0 25 00 B0 */	lfs f1, 0xb0(r5)
/* 8038F050 0038ACB0  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038F054 0038ACB4  C0 05 00 B4 */	lfs f0, 0xb4(r5)
/* 8038F058 0038ACB8  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038F05C 0038ACBC  C0 25 00 D0 */	lfs f1, 0xd0(r5)
/* 8038F060 0038ACC0  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038F064 0038ACC4  C0 05 00 D4 */	lfs f0, 0xd4(r5)
/* 8038F068 0038ACC8  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038F06C 0038ACCC  C0 25 00 F0 */	lfs f1, 0xf0(r5)
/* 8038F070 0038ACD0  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038F074 0038ACD4  C0 05 00 F4 */	lfs f0, 0xf4(r5)
/* 8038F078 0038ACD8  38 A5 01 00 */	addi r5, r5, 0x100
/* 8038F07C 0038ACDC  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038F080 0038ACE0  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038F084 0038ACE4  42 00 FF 78 */	bdnz lbl_8038EFFC
lbl_8038F088:
/* 8038F088 0038ACE8  54 C3 28 34 */	slwi r3, r6, 5
/* 8038F08C 0038ACEC  7C 06 E8 50 */	subf r0, r6, r29
/* 8038F090 0038ACF0  7C 9E 1A 14 */	add r4, r30, r3
/* 8038F094 0038ACF4  3C 60 CC 01 */	lis r3, 0xcc01
/* 8038F098 0038ACF8  7C 09 03 A6 */	mtctr r0
/* 8038F09C 0038ACFC  7C 06 E8 00 */	cmpw r6, r29
/* 8038F0A0 0038AD00  40 80 00 1C */	bge lbl_8038F0BC
lbl_8038F0A4:
/* 8038F0A4 0038AD04  C0 24 00 10 */	lfs f1, 0x10(r4)
/* 8038F0A8 0038AD08  C0 04 00 14 */	lfs f0, 0x14(r4)
/* 8038F0AC 0038AD0C  38 84 00 20 */	addi r4, r4, 0x20
/* 8038F0B0 0038AD10  D0 23 80 00 */	stfs f1, -0x8000(r3)
/* 8038F0B4 0038AD14  D0 03 80 00 */	stfs f0, -0x8000(r3)
/* 8038F0B8 0038AD18  42 00 FF EC */	bdnz lbl_8038F0A4
lbl_8038F0BC:
/* 8038F0BC 0038AD1C  39 61 00 20 */	addi r11, r1, 0x20
/* 8038F0C0 0038AD20  4B E3 80 B5 */	bl _restgpr_27
/* 8038F0C4 0038AD24  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8038F0C8 0038AD28  7C 08 03 A6 */	mtlr r0
/* 8038F0CC 0038AD2C  38 21 00 20 */	addi r1, r1, 0x20
/* 8038F0D0 0038AD30  4E 80 00 20 */	blr 

.global DrawQuad__Q34nw4r3lyt6detailFRCQ34nw4r4math4VEC2RCQ34nw4r3lyt4SizeUcPA4_CQ34nw4r4math4VEC2PCQ34nw4r2ut5ColorUc
DrawQuad__Q34nw4r3lyt6detailFRCQ34nw4r4math4VEC2RCQ34nw4r3lyt4SizeUcPA4_CQ34nw4r4math4VEC2PCQ34nw4r2ut5ColorUc:
/* 8038F0D4 0038AD34  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 8038F0D8 0038AD38  7C 08 02 A6 */	mflr r0
/* 8038F0DC 0038AD3C  90 01 00 54 */	stw r0, 0x54(r1)
/* 8038F0E0 0038AD40  39 61 00 50 */	addi r11, r1, 0x50
/* 8038F0E4 0038AD44  4B E3 80 35 */	bl _savegpr_23
/* 8038F0E8 0038AD48  38 00 FF FF */	li r0, -1
/* 8038F0EC 0038AD4C  2C 07 00 00 */	cmpwi r7, 0
/* 8038F0F0 0038AD50  90 01 00 10 */	stw r0, 0x10(r1)
/* 8038F0F4 0038AD54  7C 7A 1B 78 */	mr r26, r3
/* 8038F0F8 0038AD58  7C 9B 23 78 */	mr r27, r4
/* 8038F0FC 0038AD5C  7C BC 2B 78 */	mr r28, r5
/* 8038F100 0038AD60  90 01 00 14 */	stw r0, 0x14(r1)
/* 8038F104 0038AD64  7C DD 33 78 */	mr r29, r6
/* 8038F108 0038AD68  7C FE 3B 78 */	mr r30, r7
/* 8038F10C 0038AD6C  7D 1F 43 78 */	mr r31, r8
/* 8038F110 0038AD70  90 01 00 18 */	stw r0, 0x18(r1)
/* 8038F114 0038AD74  90 01 00 1C */	stw r0, 0x1c(r1)
/* 8038F118 0038AD78  41 82 00 74 */	beq lbl_8038F18C
/* 8038F11C 0038AD7C  7F D8 F3 78 */	mr r24, r30
/* 8038F120 0038AD80  3A E1 00 10 */	addi r23, r1, 0x10
/* 8038F124 0038AD84  3B 20 00 00 */	li r25, 0
lbl_8038F128:
/* 8038F128 0038AD88  88 18 00 00 */	lbz r0, 0(r24)
/* 8038F12C 0038AD8C  7F E5 FB 78 */	mr r5, r31
/* 8038F130 0038AD90  38 61 00 0C */	addi r3, r1, 0xc
/* 8038F134 0038AD94  38 81 00 08 */	addi r4, r1, 8
/* 8038F138 0038AD98  98 01 00 08 */	stb r0, 8(r1)
/* 8038F13C 0038AD9C  88 18 00 01 */	lbz r0, 1(r24)
/* 8038F140 0038ADA0  98 01 00 09 */	stb r0, 9(r1)
/* 8038F144 0038ADA4  88 18 00 02 */	lbz r0, 2(r24)
/* 8038F148 0038ADA8  98 01 00 0A */	stb r0, 0xa(r1)
/* 8038F14C 0038ADAC  88 18 00 03 */	lbz r0, 3(r24)
/* 8038F150 0038ADB0  98 01 00 0B */	stb r0, 0xb(r1)
/* 8038F154 0038ADB4  4B FF F8 E9 */	bl MultipleAlpha__Q34nw4r3lyt6detailFQ34nw4r2ut5ColorUc
/* 8038F158 0038ADB8  88 61 00 0C */	lbz r3, 0xc(r1)
/* 8038F15C 0038ADBC  3B 39 00 01 */	addi r25, r25, 1
/* 8038F160 0038ADC0  88 01 00 0D */	lbz r0, 0xd(r1)
/* 8038F164 0038ADC4  2C 19 00 04 */	cmpwi r25, 4
/* 8038F168 0038ADC8  98 77 00 00 */	stb r3, 0(r23)
/* 8038F16C 0038ADCC  3B 18 00 04 */	addi r24, r24, 4
/* 8038F170 0038ADD0  88 61 00 0E */	lbz r3, 0xe(r1)
/* 8038F174 0038ADD4  98 17 00 01 */	stb r0, 1(r23)
/* 8038F178 0038ADD8  88 01 00 0F */	lbz r0, 0xf(r1)
/* 8038F17C 0038ADDC  98 77 00 02 */	stb r3, 2(r23)
/* 8038F180 0038ADE0  98 17 00 03 */	stb r0, 3(r23)
/* 8038F184 0038ADE4  3A F7 00 04 */	addi r23, r23, 4
/* 8038F188 0038ADE8  41 80 FF A0 */	blt lbl_8038F128
lbl_8038F18C:
/* 8038F18C 0038ADEC  7C 7E 00 D0 */	neg r3, r30
/* 8038F190 0038ADF0  38 01 00 10 */	addi r0, r1, 0x10
/* 8038F194 0038ADF4  7C 64 F3 78 */	or r4, r3, r30
/* 8038F198 0038ADF8  7F 85 E3 78 */	mr r5, r28
/* 8038F19C 0038ADFC  7C 87 FE 70 */	srawi r7, r4, 0x1f
/* 8038F1A0 0038AE00  7F 43 D3 78 */	mr r3, r26
/* 8038F1A4 0038AE04  7F 64 DB 78 */	mr r4, r27
/* 8038F1A8 0038AE08  7F A6 EB 78 */	mr r6, r29
/* 8038F1AC 0038AE0C  7C 07 38 38 */	and r7, r0, r7
/* 8038F1B0 0038AE10  4B FF F9 C5 */	bl DrawQuad__Q34nw4r3lyt6detailFRCQ34nw4r4math4VEC2RCQ34nw4r3lyt4SizeUcPA4_CQ34nw4r4math4VEC2PCQ34nw4r2ut5Color
/* 8038F1B4 0038AE14  39 61 00 50 */	addi r11, r1, 0x50
/* 8038F1B8 0038AE18  4B E3 7F AD */	bl _restgpr_23
/* 8038F1BC 0038AE1C  80 01 00 54 */	lwz r0, 0x54(r1)
/* 8038F1C0 0038AE20  7C 08 03 A6 */	mtlr r0
/* 8038F1C4 0038AE24  38 21 00 50 */	addi r1, r1, 0x50
/* 8038F1C8 0038AE28  4E 80 00 20 */	blr