tp/asm/J3DGraphLoader/J3DMaterialFactory/J3DMaterialFactory_v21.s

1408 lines
69 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 80332da4
.global J3DMaterialFactory_v21
J3DMaterialFactory_v21:
/* 80332DA4 0032FCE4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80332DA8 0032FCE8 7C 08 02 A6 */ mflr r0
/* 80332DAC 0032FCEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80332DB0 0032FCF0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80332DB4 0032FCF4 93 C1 00 08 */ stw r30, 8(r1)
/* 80332DB8 0032FCF8 7C 7E 1B 78 */ mr r30, r3
/* 80332DBC 0032FCFC 7C 9F 23 78 */ mr r31, r4
/* 80332DC0 0032FD00 A0 04 00 08 */ lhz r0, 8(r4)
/* 80332DC4 0032FD04 B0 03 00 00 */ sth r0, 0(r3)
/* 80332DC8 0032FD08 7F E3 FB 78 */ mr r3, r31
/* 80332DCC 0032FD0C 80 84 00 0C */ lwz r4, 0xc(r4)
/* 80332DD0 0032FD10 48 00 13 49 */ bl JSUConvertOffsetToPtr_X62_
/* 80332DD4 0032FD14 90 7E 00 04 */ stw r3, 4(r30)
/* 80332DD8 0032FD18 7F E3 FB 78 */ mr r3, r31
/* 80332DDC 0032FD1C 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 80332DE0 0032FD20 4B FC 14 E1 */ bl JSUConvertOffsetToPtr_X28_
/* 80332DE4 0032FD24 90 7E 00 08 */ stw r3, 8(r30)
/* 80332DE8 0032FD28 7F E3 FB 78 */ mr r3, r31
/* 80332DEC 0032FD2C 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 80332DF0 0032FD30 4B FC 14 A1 */ bl JSUConvertOffsetToPtr_X26_
/* 80332DF4 0032FD34 90 7E 00 30 */ stw r3, 0x30(r30)
/* 80332DF8 0032FD38 7F E3 FB 78 */ mr r3, r31
/* 80332DFC 0032FD3C 80 9F 00 1C */ lwz r4, 0x1c(r31)
/* 80332E00 0032FD40 4B FC 14 79 */ bl JSUConvertOffsetToPtr_X25_
/* 80332E04 0032FD44 90 7E 00 0C */ stw r3, 0xc(r30)
/* 80332E08 0032FD48 7F E3 FB 78 */ mr r3, r31
/* 80332E0C 0032FD4C 80 9F 00 20 */ lwz r4, 0x20(r31)
/* 80332E10 0032FD50 4B FC 14 51 */ bl JSUConvertOffsetToPtr_X24_
/* 80332E14 0032FD54 90 7E 00 10 */ stw r3, 0x10(r30)
/* 80332E18 0032FD58 7F E3 FB 78 */ mr r3, r31
/* 80332E1C 0032FD5C 80 9F 00 24 */ lwz r4, 0x24(r31)
/* 80332E20 0032FD60 4B FF FF 3D */ bl JSUConvertOffsetToPtr_X59_
/* 80332E24 0032FD64 90 7E 00 14 */ stw r3, 0x14(r30)
/* 80332E28 0032FD68 7F E3 FB 78 */ mr r3, r31
/* 80332E2C 0032FD6C 80 9F 00 28 */ lwz r4, 0x28(r31)
/* 80332E30 0032FD70 4B FC 14 31 */ bl JSUConvertOffsetToPtr_X24_
/* 80332E34 0032FD74 90 7E 00 18 */ stw r3, 0x18(r30)
/* 80332E38 0032FD78 7F E3 FB 78 */ mr r3, r31
/* 80332E3C 0032FD7C 80 9F 00 2C */ lwz r4, 0x2c(r31)
/* 80332E40 0032FD80 4B FF FE ED */ bl JSUConvertOffsetToPtr_X57_
/* 80332E44 0032FD84 90 7E 00 1C */ stw r3, 0x1c(r30)
/* 80332E48 0032FD88 7F E3 FB 78 */ mr r3, r31
/* 80332E4C 0032FD8C 80 9F 00 30 */ lwz r4, 0x30(r31)
/* 80332E50 0032FD90 4B FF FE C5 */ bl JSUConvertOffsetToPtr_X56_
/* 80332E54 0032FD94 90 7E 00 20 */ stw r3, 0x20(r30)
/* 80332E58 0032FD98 7F E3 FB 78 */ mr r3, r31
/* 80332E5C 0032FD9C 80 9F 00 34 */ lwz r4, 0x34(r31)
/* 80332E60 0032FDA0 4B FF FE 9D */ bl JSUConvertOffsetToPtr_X55_
/* 80332E64 0032FDA4 90 7E 00 24 */ stw r3, 0x24(r30)
/* 80332E68 0032FDA8 7F E3 FB 78 */ mr r3, r31
/* 80332E6C 0032FDAC 80 9F 00 38 */ lwz r4, 0x38(r31)
/* 80332E70 0032FDB0 4B FF FE 8D */ bl JSUConvertOffsetToPtr_X55_
/* 80332E74 0032FDB4 90 7E 00 28 */ stw r3, 0x28(r30)
/* 80332E78 0032FDB8 7F E3 FB 78 */ mr r3, r31
/* 80332E7C 0032FDBC 80 9F 00 3C */ lwz r4, 0x3c(r31)
/* 80332E80 0032FDC0 4B FC 14 41 */ bl JSUConvertOffsetToPtr_X28_
/* 80332E84 0032FDC4 90 7E 00 2C */ stw r3, 0x2c(r30)
/* 80332E88 0032FDC8 7F E3 FB 78 */ mr r3, r31
/* 80332E8C 0032FDCC 80 9F 00 40 */ lwz r4, 0x40(r31)
/* 80332E90 0032FDD0 4B FF FE 55 */ bl JSUConvertOffsetToPtr_X54_
/* 80332E94 0032FDD4 90 7E 00 34 */ stw r3, 0x34(r30)
/* 80332E98 0032FDD8 7F E3 FB 78 */ mr r3, r31
/* 80332E9C 0032FDDC 80 9F 00 44 */ lwz r4, 0x44(r31)
/* 80332EA0 0032FDE0 4B FC 13 49 */ bl JSUConvertOffsetToPtr_X19_
/* 80332EA4 0032FDE4 90 7E 00 38 */ stw r3, 0x38(r30)
/* 80332EA8 0032FDE8 7F E3 FB 78 */ mr r3, r31
/* 80332EAC 0032FDEC 80 9F 00 48 */ lwz r4, 0x48(r31)
/* 80332EB0 0032FDF0 4B FC 13 C9 */ bl JSUConvertOffsetToPtr_X25_
/* 80332EB4 0032FDF4 90 7E 00 3C */ stw r3, 0x3c(r30)
/* 80332EB8 0032FDF8 7F E3 FB 78 */ mr r3, r31
/* 80332EBC 0032FDFC 80 9F 00 4C */ lwz r4, 0x4c(r31)
/* 80332EC0 0032FE00 4B FC 13 A1 */ bl JSUConvertOffsetToPtr_X24_
/* 80332EC4 0032FE04 90 7E 00 40 */ stw r3, 0x40(r30)
/* 80332EC8 0032FE08 7F E3 FB 78 */ mr r3, r31
/* 80332ECC 0032FE0C 80 9F 00 50 */ lwz r4, 0x50(r31)
/* 80332ED0 0032FE10 4B FF FD FD */ bl JSUConvertOffsetToPtr_X53_
/* 80332ED4 0032FE14 90 7E 00 44 */ stw r3, 0x44(r30)
/* 80332ED8 0032FE18 7F E3 FB 78 */ mr r3, r31
/* 80332EDC 0032FE1C 80 9F 00 54 */ lwz r4, 0x54(r31)
/* 80332EE0 0032FE20 4B FF FD D5 */ bl JSUConvertOffsetToPtr_X52_
/* 80332EE4 0032FE24 90 7E 00 48 */ stw r3, 0x48(r30)
/* 80332EE8 0032FE28 7F E3 FB 78 */ mr r3, r31
/* 80332EEC 0032FE2C 80 9F 00 58 */ lwz r4, 0x58(r31)
/* 80332EF0 0032FE30 4B FF FD AD */ bl JSUConvertOffsetToPtr_X51_
/* 80332EF4 0032FE34 90 7E 00 4C */ stw r3, 0x4c(r30)
/* 80332EF8 0032FE38 7F E3 FB 78 */ mr r3, r31
/* 80332EFC 0032FE3C 80 9F 00 5C */ lwz r4, 0x5c(r31)
/* 80332F00 0032FE40 4B FF FD 85 */ bl JSUConvertOffsetToPtr_X50_
/* 80332F04 0032FE44 90 7E 00 50 */ stw r3, 0x50(r30)
/* 80332F08 0032FE48 7F E3 FB 78 */ mr r3, r31
/* 80332F0C 0032FE4C 80 9F 00 60 */ lwz r4, 0x60(r31)
/* 80332F10 0032FE50 4B FF FD 5D */ bl JSUConvertOffsetToPtr_X49_
/* 80332F14 0032FE54 90 7E 00 54 */ stw r3, 0x54(r30)
/* 80332F18 0032FE58 7F E3 FB 78 */ mr r3, r31
/* 80332F1C 0032FE5C 80 9F 00 64 */ lwz r4, 0x64(r31)
/* 80332F20 0032FE60 4B FF FD 35 */ bl JSUConvertOffsetToPtr_X48_
/* 80332F24 0032FE64 90 7E 00 58 */ stw r3, 0x58(r30)
/* 80332F28 0032FE68 7F E3 FB 78 */ mr r3, r31
/* 80332F2C 0032FE6C 80 9F 00 68 */ lwz r4, 0x68(r31)
/* 80332F30 0032FE70 4B FF FD 0D */ bl JSUConvertOffsetToPtr_X47_
/* 80332F34 0032FE74 90 7E 00 5C */ stw r3, 0x5c(r30)
/* 80332F38 0032FE78 7F E3 FB 78 */ mr r3, r31
/* 80332F3C 0032FE7C 80 9F 00 6C */ lwz r4, 0x6c(r31)
/* 80332F40 0032FE80 4B FC 13 21 */ bl JSUConvertOffsetToPtr_X24_
/* 80332F44 0032FE84 90 7E 00 60 */ stw r3, 0x60(r30)
/* 80332F48 0032FE88 7F E3 FB 78 */ mr r3, r31
/* 80332F4C 0032FE8C 80 9F 00 70 */ lwz r4, 0x70(r31)
/* 80332F50 0032FE90 4B FC 13 11 */ bl JSUConvertOffsetToPtr_X24_
/* 80332F54 0032FE94 90 7E 00 64 */ stw r3, 0x64(r30)
/* 80332F58 0032FE98 7F E3 FB 78 */ mr r3, r31
/* 80332F5C 0032FE9C 80 9F 00 74 */ lwz r4, 0x74(r31)
/* 80332F60 0032FEA0 4B FF FC C5 */ bl JSUConvertOffsetToPtr_X46_
/* 80332F64 0032FEA4 90 7E 00 68 */ stw r3, 0x68(r30)
/* 80332F68 0032FEA8 7F C3 F3 78 */ mr r3, r30
/* 80332F6C 0032FEAC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80332F70 0032FEB0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80332F74 0032FEB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80332F78 0032FEB8 7C 08 03 A6 */ mtlr r0
/* 80332F7C 0032FEBC 38 21 00 10 */ addi r1, r1, 0x10
/* 80332F80 0032FEC0 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_countUniqueMaterials
J3DMaterialFactory_v21_NS_countUniqueMaterials:
/* 80332F84 0032FEC4 38 80 00 00 */ li r4, 0
/* 80332F88 0032FEC8 A0 63 00 00 */ lhz r3, 0(r3)
/* 80332F8C 0032FECC 48 00 00 08 */ b lbl_80332F94
lbl_80332F90:
/* 80332F90 0032FED0 38 84 00 01 */ addi r4, r4, 1
lbl_80332F94:
/* 80332F94 0032FED4 54 80 04 3E */ clrlwi r0, r4, 0x10
/* 80332F98 0032FED8 7C 00 18 40 */ cmplw r0, r3
/* 80332F9C 0032FEDC 41 80 FF F4 */ blt lbl_80332F90
/* 80332FA0 0032FEE0 7C 83 23 78 */ mr r3, r4
/* 80332FA4 0032FEE4 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_countTexGens
J3DMaterialFactory_v21_NS_countTexGens:
/* 80332FA8 0032FEE8 80 C3 00 04 */ lwz r6, 4(r3)
/* 80332FAC 0032FEEC 80 A3 00 08 */ lwz r5, 8(r3)
/* 80332FB0 0032FEF0 54 80 08 3C */ slwi r0, r4, 1
/* 80332FB4 0032FEF4 7C 05 02 2E */ lhzx r0, r5, r0
/* 80332FB8 0032FEF8 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80332FBC 0032FEFC 7C 86 02 14 */ add r4, r6, r0
/* 80332FC0 0032FF00 88 04 00 03 */ lbz r0, 3(r4)
/* 80332FC4 0032FF04 28 00 00 FF */ cmplwi r0, 0xff
/* 80332FC8 0032FF08 41 82 00 10 */ beq lbl_80332FD8
/* 80332FCC 0032FF0C 80 63 00 18 */ lwz r3, 0x18(r3)
/* 80332FD0 0032FF10 7C 63 00 AE */ lbzx r3, r3, r0
/* 80332FD4 0032FF14 4E 80 00 20 */ blr
lbl_80332FD8:
/* 80332FD8 0032FF18 38 60 00 00 */ li r3, 0
/* 80332FDC 0032FF1C 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_countStages
J3DMaterialFactory_v21_NS_countStages:
/* 80332FE0 0032FF20 80 C3 00 04 */ lwz r6, 4(r3)
/* 80332FE4 0032FF24 80 A3 00 08 */ lwz r5, 8(r3)
/* 80332FE8 0032FF28 54 80 08 3C */ slwi r0, r4, 1
/* 80332FEC 0032FF2C 7C 05 02 2E */ lhzx r0, r5, r0
/* 80332FF0 0032FF30 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80332FF4 0032FF34 7C 86 02 14 */ add r4, r6, r0
/* 80332FF8 0032FF38 38 A0 00 00 */ li r5, 0
/* 80332FFC 0032FF3C 38 C0 00 00 */ li r6, 0
/* 80333000 0032FF40 88 04 00 04 */ lbz r0, 4(r4)
/* 80333004 0032FF44 28 00 00 FF */ cmplwi r0, 0xff
/* 80333008 0032FF48 41 82 00 0C */ beq lbl_80333014
/* 8033300C 0032FF4C 80 63 00 40 */ lwz r3, 0x40(r3)
/* 80333010 0032FF50 7C C3 00 AE */ lbzx r6, r3, r0
lbl_80333014:
/* 80333014 0032FF54 38 60 00 00 */ li r3, 0
/* 80333018 0032FF58 38 00 00 08 */ li r0, 8
/* 8033301C 0032FF5C 7C 09 03 A6 */ mtctr r0
lbl_80333020:
/* 80333020 0032FF60 38 03 00 70 */ addi r0, r3, 0x70
/* 80333024 0032FF64 7C 04 02 2E */ lhzx r0, r4, r0
/* 80333028 0032FF68 28 00 FF FF */ cmplwi r0, 0xffff
/* 8033302C 0032FF6C 41 82 00 08 */ beq lbl_80333034
/* 80333030 0032FF70 38 A5 00 01 */ addi r5, r5, 1
lbl_80333034:
/* 80333034 0032FF74 38 63 00 02 */ addi r3, r3, 2
/* 80333038 0032FF78 42 00 FF E8 */ bdnz lbl_80333020
/* 8033303C 0032FF7C 7C 06 28 40 */ cmplw r6, r5
/* 80333040 0032FF80 41 82 00 20 */ beq lbl_80333060
/* 80333044 0032FF84 28 05 00 00 */ cmplwi r5, 0
/* 80333048 0032FF88 41 82 00 18 */ beq lbl_80333060
/* 8033304C 0032FF8C 7C 06 28 40 */ cmplw r6, r5
/* 80333050 0032FF90 7C A3 2B 78 */ mr r3, r5
/* 80333054 0032FF94 4C 81 00 20 */ blelr
/* 80333058 0032FF98 7C C3 33 78 */ mr r3, r6
/* 8033305C 0032FF9C 4E 80 00 20 */ blr
lbl_80333060:
/* 80333060 0032FFA0 7C C3 33 78 */ mr r3, r6
/* 80333064 0032FFA4 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_create
J3DMaterialFactory_v21_NS_create:
/* 80333068 0032FFA8 94 21 FF 10 */ stwu r1, -0xf0(r1)
/* 8033306C 0032FFAC 7C 08 02 A6 */ mflr r0
/* 80333070 0032FFB0 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 80333074 0032FFB4 39 61 00 F0 */ addi r11, r1, 0xf0
/* 80333078 0032FFB8 48 02 F1 3D */ bl _savegpr_19
/* 8033307C 0032FFBC 7C 7E 1B 78 */ mr r30, r3
/* 80333080 0032FFC0 7C 9F 23 78 */ mr r31, r4
/* 80333084 0032FFC4 7C BD 2B 78 */ mr r29, r5
/* 80333088 0032FFC8 7C D4 33 78 */ mr r20, r6
/* 8033308C 0032FFCC 7F A4 EB 78 */ mr r4, r29
/* 80333090 0032FFD0 4B FF FF 51 */ bl J3DMaterialFactory_v21_NS_countStages
/* 80333094 0032FFD4 56 9C 86 FE */ rlwinm r28, r20, 0x10, 0x1b, 0x1f
/* 80333098 0032FFD8 7C 03 E0 40 */ cmplw r3, r28
/* 8033309C 0032FFDC 40 81 00 08 */ ble lbl_803330A4
/* 803330A0 0032FFE0 7C 7C 1B 78 */ mr r28, r3
lbl_803330A4:
/* 803330A4 0032FFE4 28 1C 00 08 */ cmplwi r28, 8
/* 803330A8 0032FFE8 3B 40 00 08 */ li r26, 8
/* 803330AC 0032FFEC 41 81 00 08 */ bgt lbl_803330B4
/* 803330B0 0032FFF0 7F 9A E3 78 */ mr r26, r28
lbl_803330B4:
/* 803330B4 0032FFF4 7F C3 F3 78 */ mr r3, r30
/* 803330B8 0032FFF8 7F A4 EB 78 */ mr r4, r29
/* 803330BC 0032FFFC 4B FF FE ED */ bl J3DMaterialFactory_v21_NS_countTexGens
/* 803330C0 00330000 7C 79 1B 78 */ mr r25, r3
/* 803330C4 00330004 38 00 00 04 */ li r0, 4
/* 803330C8 00330008 7C 19 00 10 */ subfc r0, r25, r0
/* 803330CC 0033000C 7C 60 01 10 */ subfe r3, r0, r0
/* 803330D0 00330010 56 80 01 0A */ rlwinm r0, r20, 0, 4, 5
/* 803330D4 00330014 7C 18 18 78 */ andc r24, r0, r3
/* 803330D8 00330018 56 9B 00 02 */ rlwinm r27, r20, 0, 0, 1
/* 803330DC 0033001C 56 97 00 86 */ rlwinm r23, r20, 0, 2, 3
/* 803330E0 00330020 56 96 47 FE */ rlwinm r22, r20, 8, 0x1f, 0x1f
/* 803330E4 00330024 28 1F 00 00 */ cmplwi r31, 0
/* 803330E8 00330028 40 82 00 40 */ bne lbl_80333128
/* 803330EC 0033002C 38 60 00 4C */ li r3, 0x4c
/* 803330F0 00330030 4B F9 BB 5D */ bl __nw__FUl
/* 803330F4 00330034 7C 73 1B 79 */ or. r19, r3, r3
/* 803330F8 00330038 41 82 00 2C */ beq lbl_80333124
/* 803330FC 0033003C 3C 80 80 3D */ lis r4, lbl_803CDCF0@ha
/* 80333100 00330040 38 04 DC F0 */ addi r0, r4, lbl_803CDCF0@l
/* 80333104 00330044 90 13 00 00 */ stw r0, 0(r19)
/* 80333108 00330048 3C 80 3C F4 */ lis r4, 0x3CF3CF00@ha
/* 8033310C 0033004C 38 04 CF 00 */ addi r0, r4, 0x3CF3CF00@l
/* 80333110 00330050 90 13 00 40 */ stw r0, 0x40(r19)
/* 80333114 00330054 3C 80 00 F4 */ lis r4, 0x00F3CF3C@ha
/* 80333118 00330058 38 04 CF 3C */ addi r0, r4, 0x00F3CF3C@l
/* 8033311C 0033005C 90 13 00 44 */ stw r0, 0x44(r19)
/* 80333120 00330060 4B FE 31 21 */ bl J3DMaterial_NS_initialize
lbl_80333124:
/* 80333124 00330064 7E 7F 9B 78 */ mr r31, r19
lbl_80333128:
/* 80333128 00330068 7F 63 DB 78 */ mr r3, r27
/* 8033312C 0033006C 4B FE 26 75 */ bl J3DMaterial_NS_createColorBlock
/* 80333130 00330070 90 7F 00 24 */ stw r3, 0x24(r31)
/* 80333134 00330074 7F 03 C3 78 */ mr r3, r24
/* 80333138 00330078 4B FE 28 69 */ bl J3DMaterial_NS_createTexGenBlock
/* 8033313C 0033007C 90 7F 00 28 */ stw r3, 0x28(r31)
/* 80333140 00330080 57 83 04 3E */ clrlwi r3, r28, 0x10
/* 80333144 00330084 4B FE 29 C1 */ bl J3DMaterial_NS_createTevBlock
/* 80333148 00330088 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 8033314C 0033008C 7E C3 B3 78 */ mr r3, r22
/* 80333150 00330090 4B FE 2D 29 */ bl J3DMaterial_NS_createIndBlock
/* 80333154 00330094 90 7F 00 30 */ stw r3, 0x30(r31)
/* 80333158 00330098 7E E3 BB 78 */ mr r3, r23
/* 8033315C 0033009C 80 BE 00 04 */ lwz r5, 4(r30)
/* 80333160 003300A0 80 9E 00 08 */ lwz r4, 8(r30)
/* 80333164 003300A4 57 BB 08 3C */ slwi r27, r29, 1
/* 80333168 003300A8 7C 04 DA 2E */ lhzx r0, r4, r27
/* 8033316C 003300AC 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333170 003300B0 7C 85 00 AE */ lbzx r4, r5, r0
/* 80333174 003300B4 4B FE 2D ED */ bl J3DMaterial_NS_createPEBlock
/* 80333178 003300B8 90 7F 00 34 */ stw r3, 0x34(r31)
/* 8033317C 003300BC B3 BF 00 14 */ sth r29, 0x14(r31)
/* 80333180 003300C0 80 9E 00 04 */ lwz r4, 4(r30)
/* 80333184 003300C4 80 7E 00 08 */ lwz r3, 8(r30)
/* 80333188 003300C8 7C 03 DA 2E */ lhzx r0, r3, r27
/* 8033318C 003300CC 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333190 003300D0 7C 04 00 AE */ lbzx r0, r4, r0
/* 80333194 003300D4 90 1F 00 10 */ stw r0, 0x10(r31)
/* 80333198 003300D8 7F C3 F3 78 */ mr r3, r30
/* 8033319C 003300DC 7F A4 EB 78 */ mr r4, r29
/* 803331A0 003300E0 48 00 06 95 */ bl J3DMaterialFactory_v21_NS_newColorChanNum
/* 803331A4 003300E4 7C 64 1B 78 */ mr r4, r3
/* 803331A8 003300E8 80 7F 00 24 */ lwz r3, 0x24(r31)
/* 803331AC 003300EC 81 83 00 00 */ lwz r12, 0(r3)
/* 803331B0 003300F0 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 803331B4 003300F4 7D 89 03 A6 */ mtctr r12
/* 803331B8 003300F8 4E 80 04 21 */ bctrl
/* 803331BC 003300FC 7F C3 F3 78 */ mr r3, r30
/* 803331C0 00330100 7F A4 EB 78 */ mr r4, r29
/* 803331C4 00330104 48 00 09 6D */ bl J3DMaterialFactory_v21_NS_newCullMode
/* 803331C8 00330108 7C 64 1B 78 */ mr r4, r3
/* 803331CC 0033010C 80 7F 00 24 */ lwz r3, 0x24(r31)
/* 803331D0 00330110 81 83 00 00 */ lwz r12, 0(r3)
/* 803331D4 00330114 81 8C 00 74 */ lwz r12, 0x74(r12)
/* 803331D8 00330118 7D 89 03 A6 */ mtctr r12
/* 803331DC 0033011C 4E 80 04 21 */ bctrl
/* 803331E0 00330120 7F C3 F3 78 */ mr r3, r30
/* 803331E4 00330124 7F A4 EB 78 */ mr r4, r29
/* 803331E8 00330128 48 00 08 29 */ bl J3DMaterialFactory_v21_NS_newTexGenNum
/* 803331EC 0033012C 7C 64 1B 78 */ mr r4, r3
/* 803331F0 00330130 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 803331F4 00330134 81 83 00 00 */ lwz r12, 0(r3)
/* 803331F8 00330138 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 803331FC 0033013C 7D 89 03 A6 */ mtctr r12
/* 80333200 00330140 4E 80 04 21 */ bctrl
/* 80333204 00330144 38 61 00 60 */ addi r3, r1, 0x60
/* 80333208 00330148 7F C4 F3 78 */ mr r4, r30
/* 8033320C 0033014C 7F A5 EB 78 */ mr r5, r29
/* 80333210 00330150 48 00 0E 65 */ bl J3DMaterialFactory_v21_NS_newNBTScale
/* 80333214 00330154 80 61 00 60 */ lwz r3, 0x60(r1)
/* 80333218 00330158 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8033321C 0033015C 90 61 00 70 */ stw r3, 0x70(r1)
/* 80333220 00330160 90 01 00 74 */ stw r0, 0x74(r1)
/* 80333224 00330164 80 61 00 68 */ lwz r3, 0x68(r1)
/* 80333228 00330168 80 01 00 6C */ lwz r0, 0x6c(r1)
/* 8033322C 0033016C 90 61 00 78 */ stw r3, 0x78(r1)
/* 80333230 00330170 90 01 00 7C */ stw r0, 0x7c(r1)
/* 80333234 00330174 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80333238 00330178 38 81 00 70 */ addi r4, r1, 0x70
/* 8033323C 0033017C 81 83 00 00 */ lwz r12, 0(r3)
/* 80333240 00330180 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 80333244 00330184 7D 89 03 A6 */ mtctr r12
/* 80333248 00330188 4E 80 04 21 */ bctrl
/* 8033324C 0033018C 38 61 00 80 */ addi r3, r1, 0x80
/* 80333250 00330190 7F C4 F3 78 */ mr r4, r30
/* 80333254 00330194 7F A5 EB 78 */ mr r5, r29
/* 80333258 00330198 48 00 0B AD */ bl J3DMaterialFactory_v21_NS_newFog
/* 8033325C 0033019C 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 80333260 003301A0 38 81 00 80 */ addi r4, r1, 0x80
/* 80333264 003301A4 81 83 00 00 */ lwz r12, 0(r3)
/* 80333268 003301A8 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 8033326C 003301AC 7D 89 03 A6 */ mtctr r12
/* 80333270 003301B0 4E 80 04 21 */ bctrl
/* 80333274 003301B4 38 61 00 34 */ addi r3, r1, 0x34
/* 80333278 003301B8 7F C4 F3 78 */ mr r4, r30
/* 8033327C 003301BC 7F A5 EB 78 */ mr r5, r29
/* 80333280 003301C0 48 00 0C 61 */ bl J3DMaterialFactory_v21_NS_newAlphaComp
/* 80333284 003301C4 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 80333288 003301C8 38 81 00 34 */ addi r4, r1, 0x34
/* 8033328C 003301CC 81 83 00 00 */ lwz r12, 0(r3)
/* 80333290 003301D0 81 8C 00 38 */ lwz r12, 0x38(r12)
/* 80333294 003301D4 7D 89 03 A6 */ mtctr r12
/* 80333298 003301D8 4E 80 04 21 */ bctrl
/* 8033329C 003301DC 38 61 00 30 */ addi r3, r1, 0x30
/* 803332A0 003301E0 7F C4 F3 78 */ mr r4, r30
/* 803332A4 003301E4 7F A5 EB 78 */ mr r5, r29
/* 803332A8 003301E8 48 00 0C B9 */ bl J3DMaterialFactory_v21_NS_newBlend
/* 803332AC 003301EC 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 803332B0 003301F0 38 81 00 30 */ addi r4, r1, 0x30
/* 803332B4 003301F4 81 83 00 00 */ lwz r12, 0(r3)
/* 803332B8 003301F8 81 8C 00 44 */ lwz r12, 0x44(r12)
/* 803332BC 003301FC 7D 89 03 A6 */ mtctr r12
/* 803332C0 00330200 4E 80 04 21 */ bctrl
/* 803332C4 00330204 38 61 00 14 */ addi r3, r1, 0x14
/* 803332C8 00330208 7F C4 F3 78 */ mr r4, r30
/* 803332CC 0033020C 7F A5 EB 78 */ mr r5, r29
/* 803332D0 00330210 48 00 0C D5 */ bl J3DMaterialFactory_v21_NS_newZMode
/* 803332D4 00330214 A0 01 00 14 */ lhz r0, 0x14(r1)
/* 803332D8 00330218 B0 01 00 18 */ sth r0, 0x18(r1)
/* 803332DC 0033021C 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 803332E0 00330220 38 81 00 18 */ addi r4, r1, 0x18
/* 803332E4 00330224 81 83 00 00 */ lwz r12, 0(r3)
/* 803332E8 00330228 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 803332EC 0033022C 7D 89 03 A6 */ mtctr r12
/* 803332F0 00330230 4E 80 04 21 */ bctrl
/* 803332F4 00330234 7F C3 F3 78 */ mr r3, r30
/* 803332F8 00330238 7F A4 EB 78 */ mr r4, r29
/* 803332FC 0033023C 48 00 0D 09 */ bl J3DMaterialFactory_v21_NS_newZCompLoc
/* 80333300 00330240 7C 64 1B 78 */ mr r4, r3
/* 80333304 00330244 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 80333308 00330248 81 83 00 00 */ lwz r12, 0(r3)
/* 8033330C 0033024C 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 80333310 00330250 7D 89 03 A6 */ mtctr r12
/* 80333314 00330254 4E 80 04 21 */ bctrl
/* 80333318 00330258 7F C3 F3 78 */ mr r3, r30
/* 8033331C 0033025C 7F A4 EB 78 */ mr r4, r29
/* 80333320 00330260 48 00 0D 1D */ bl J3DMaterialFactory_v21_NS_newDither
/* 80333324 00330264 7C 64 1B 78 */ mr r4, r3
/* 80333328 00330268 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 8033332C 0033026C 81 83 00 00 */ lwz r12, 0(r3)
/* 80333330 00330270 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 80333334 00330274 7D 89 03 A6 */ mtctr r12
/* 80333338 00330278 4E 80 04 21 */ bctrl
/* 8033333C 0033027C 7F C3 F3 78 */ mr r3, r30
/* 80333340 00330280 7F A4 EB 78 */ mr r4, r29
/* 80333344 00330284 48 00 09 8D */ bl J3DMaterialFactory_v21_NS_newTevStageNum
/* 80333348 00330288 7C 64 1B 78 */ mr r4, r3
/* 8033334C 0033028C 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80333350 00330290 81 83 00 00 */ lwz r12, 0(r3)
/* 80333354 00330294 81 8C 00 94 */ lwz r12, 0x94(r12)
/* 80333358 00330298 7D 89 03 A6 */ mtctr r12
/* 8033335C 0033029C 4E 80 04 21 */ bctrl
/* 80333360 003302A0 3A 60 00 00 */ li r19, 0
/* 80333364 003302A4 48 00 00 30 */ b lbl_80333394
lbl_80333368:
/* 80333368 003302A8 7F C3 F3 78 */ mr r3, r30
/* 8033336C 003302AC 7F A4 EB 78 */ mr r4, r29
/* 80333370 003302B0 48 00 08 01 */ bl J3DMaterialFactory_v21_NS_newTexNo
/* 80333374 003302B4 7C 65 1B 78 */ mr r5, r3
/* 80333378 003302B8 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 8033337C 003302BC 56 64 06 3E */ clrlwi r4, r19, 0x18
/* 80333380 003302C0 81 83 00 00 */ lwz r12, 0(r3)
/* 80333384 003302C4 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 80333388 003302C8 7D 89 03 A6 */ mtctr r12
/* 8033338C 003302CC 4E 80 04 21 */ bctrl
/* 80333390 003302D0 3A 73 00 01 */ addi r19, r19, 1
lbl_80333394:
/* 80333394 003302D4 56 65 06 3E */ clrlwi r5, r19, 0x18
/* 80333398 003302D8 7C 05 D0 40 */ cmplw r5, r26
/* 8033339C 003302DC 41 80 FF CC */ blt lbl_80333368
/* 803333A0 003302E0 3A 60 00 00 */ li r19, 0
/* 803333A4 003302E4 48 00 00 3C */ b lbl_803333E0
lbl_803333A8:
/* 803333A8 003302E8 38 61 00 28 */ addi r3, r1, 0x28
/* 803333AC 003302EC 7F C4 F3 78 */ mr r4, r30
/* 803333B0 003302F0 7F A5 EB 78 */ mr r5, r29
/* 803333B4 003302F4 48 00 08 05 */ bl J3DMaterialFactory_v21_NS_newTevOrder
/* 803333B8 003302F8 80 01 00 28 */ lwz r0, 0x28(r1)
/* 803333BC 003302FC 90 01 00 2C */ stw r0, 0x2c(r1)
/* 803333C0 00330300 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 803333C4 00330304 56 64 06 3E */ clrlwi r4, r19, 0x18
/* 803333C8 00330308 38 A1 00 2C */ addi r5, r1, 0x2c
/* 803333CC 0033030C 81 83 00 00 */ lwz r12, 0(r3)
/* 803333D0 00330310 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 803333D4 00330314 7D 89 03 A6 */ mtctr r12
/* 803333D8 00330318 4E 80 04 21 */ bctrl
/* 803333DC 0033031C 3A 73 00 01 */ addi r19, r19, 1
lbl_803333E0:
/* 803333E0 00330320 56 66 06 3E */ clrlwi r6, r19, 0x18
/* 803333E4 00330324 7C 06 E0 40 */ cmplw r6, r28
/* 803333E8 00330328 41 80 FF C0 */ blt lbl_803333A8
/* 803333EC 0033032C 3A A0 00 00 */ li r21, 0
/* 803333F0 00330330 83 1E 00 04 */ lwz r24, 4(r30)
/* 803333F4 00330334 83 5E 00 08 */ lwz r26, 8(r30)
/* 803333F8 00330338 48 00 00 DC */ b lbl_803334D4
lbl_803333FC:
/* 803333FC 0033033C 7C 1B D2 2E */ lhzx r0, r27, r26
/* 80333400 00330340 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333404 00330344 7E 98 02 14 */ add r20, r24, r0
/* 80333408 00330348 38 61 00 48 */ addi r3, r1, 0x48
/* 8033340C 0033034C 7F C4 F3 78 */ mr r4, r30
/* 80333410 00330350 7F A5 EB 78 */ mr r5, r29
/* 80333414 00330354 48 00 08 F5 */ bl J3DMaterialFactory_v21_NS_newTevStage
/* 80333418 00330358 80 61 00 48 */ lwz r3, 0x48(r1)
/* 8033341C 0033035C 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 80333420 00330360 90 61 00 50 */ stw r3, 0x50(r1)
/* 80333424 00330364 90 01 00 54 */ stw r0, 0x54(r1)
/* 80333428 00330368 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 8033342C 0033036C 56 B6 06 3E */ clrlwi r22, r21, 0x18
/* 80333430 00330370 7E C4 B3 78 */ mr r4, r22
/* 80333434 00330374 38 A1 00 50 */ addi r5, r1, 0x50
/* 80333438 00330378 81 83 00 00 */ lwz r12, 0(r3)
/* 8033343C 0033037C 81 8C 00 A0 */ lwz r12, 0xa0(r12)
/* 80333440 00330380 7D 89 03 A6 */ mtctr r12
/* 80333444 00330384 4E 80 04 21 */ bctrl
/* 80333448 00330388 56 C3 08 3C */ slwi r3, r22, 1
/* 8033344C 0033038C 3A E3 00 F0 */ addi r23, r3, 0xf0
/* 80333450 00330390 7C 14 BA 2E */ lhzx r0, r20, r23
/* 80333454 00330394 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333458 00330398 41 82 00 78 */ beq lbl_803334D0
/* 8033345C 0033039C 80 9E 00 48 */ lwz r4, 0x48(r30)
/* 80333460 003303A0 54 03 13 BA */ rlwinm r3, r0, 2, 0xe, 0x1d
/* 80333464 003303A4 38 03 00 01 */ addi r0, r3, 1
/* 80333468 003303A8 7E 64 00 AE */ lbzx r19, r4, r0
/* 8033346C 003303AC 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80333470 003303B0 7E C4 B3 78 */ mr r4, r22
/* 80333474 003303B4 81 83 00 00 */ lwz r12, 0(r3)
/* 80333478 003303B8 81 8C 00 A4 */ lwz r12, 0xa4(r12)
/* 8033347C 003303BC 7D 89 03 A6 */ mtctr r12
/* 80333480 003303C0 4E 80 04 21 */ bctrl
/* 80333484 003303C4 88 03 00 07 */ lbz r0, 7(r3)
/* 80333488 003303C8 54 04 07 B6 */ rlwinm r4, r0, 0, 0x1e, 0x1b
/* 8033348C 003303CC 56 60 15 BA */ rlwinm r0, r19, 2, 0x16, 0x1d
/* 80333490 003303D0 7C 80 03 78 */ or r0, r4, r0
/* 80333494 003303D4 98 03 00 07 */ stb r0, 7(r3)
/* 80333498 003303D8 80 7E 00 48 */ lwz r3, 0x48(r30)
/* 8033349C 003303DC 7C 14 BA 2E */ lhzx r0, r20, r23
/* 803334A0 003303E0 54 00 10 3A */ slwi r0, r0, 2
/* 803334A4 003303E4 7E 63 00 AE */ lbzx r19, r3, r0
/* 803334A8 003303E8 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 803334AC 003303EC 7E C4 B3 78 */ mr r4, r22
/* 803334B0 003303F0 81 83 00 00 */ lwz r12, 0(r3)
/* 803334B4 003303F4 81 8C 00 A4 */ lwz r12, 0xa4(r12)
/* 803334B8 003303F8 7D 89 03 A6 */ mtctr r12
/* 803334BC 003303FC 4E 80 04 21 */ bctrl
/* 803334C0 00330400 88 03 00 07 */ lbz r0, 7(r3)
/* 803334C4 00330404 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 803334C8 00330408 7C 00 9B 78 */ or r0, r0, r19
/* 803334CC 0033040C 98 03 00 07 */ stb r0, 7(r3)
lbl_803334D0:
/* 803334D0 00330410 3A B5 00 01 */ addi r21, r21, 1
lbl_803334D4:
/* 803334D4 00330414 56 A6 06 3E */ clrlwi r6, r21, 0x18
/* 803334D8 00330418 7C 06 E0 40 */ cmplw r6, r28
/* 803334DC 0033041C 41 80 FF 20 */ blt lbl_803333FC
/* 803334E0 00330420 3A 60 00 00 */ li r19, 0
/* 803334E4 00330424 48 00 00 38 */ b lbl_8033351C
lbl_803334E8:
/* 803334E8 00330428 38 61 00 24 */ addi r3, r1, 0x24
/* 803334EC 0033042C 7F C4 F3 78 */ mr r4, r30
/* 803334F0 00330430 7F A5 EB 78 */ mr r5, r29
/* 803334F4 00330434 56 66 06 3E */ clrlwi r6, r19, 0x18
/* 803334F8 00330438 48 00 07 7D */ bl J3DMaterialFactory_v21_NS_newTevKColor
/* 803334FC 0033043C 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80333500 00330440 56 64 06 3E */ clrlwi r4, r19, 0x18
/* 80333504 00330444 38 A1 00 24 */ addi r5, r1, 0x24
/* 80333508 00330448 81 83 00 00 */ lwz r12, 0(r3)
/* 8033350C 0033044C 81 8C 00 70 */ lwz r12, 0x70(r12)
/* 80333510 00330450 7D 89 03 A6 */ mtctr r12
/* 80333514 00330454 4E 80 04 21 */ bctrl
/* 80333518 00330458 3A 73 00 01 */ addi r19, r19, 1
lbl_8033351C:
/* 8033351C 0033045C 56 60 06 3E */ clrlwi r0, r19, 0x18
/* 80333520 00330460 28 00 00 04 */ cmplwi r0, 4
/* 80333524 00330464 41 80 FF C4 */ blt lbl_803334E8
/* 80333528 00330468 3A 60 00 00 */ li r19, 0
/* 8033352C 0033046C 48 00 00 38 */ b lbl_80333564
lbl_80333530:
/* 80333530 00330470 38 61 00 40 */ addi r3, r1, 0x40
/* 80333534 00330474 7F C4 F3 78 */ mr r4, r30
/* 80333538 00330478 7F A5 EB 78 */ mr r5, r29
/* 8033353C 0033047C 56 66 06 3E */ clrlwi r6, r19, 0x18
/* 80333540 00330480 48 00 06 C5 */ bl J3DMaterialFactory_v21_NS_newTevColor
/* 80333544 00330484 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80333548 00330488 56 64 06 3E */ clrlwi r4, r19, 0x18
/* 8033354C 0033048C 38 A1 00 40 */ addi r5, r1, 0x40
/* 80333550 00330490 81 83 00 00 */ lwz r12, 0(r3)
/* 80333554 00330494 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 80333558 00330498 7D 89 03 A6 */ mtctr r12
/* 8033355C 0033049C 4E 80 04 21 */ bctrl
/* 80333560 003304A0 3A 73 00 01 */ addi r19, r19, 1
lbl_80333564:
/* 80333564 003304A4 56 60 06 3E */ clrlwi r0, r19, 0x18
/* 80333568 003304A8 28 00 00 04 */ cmplwi r0, 4
/* 8033356C 003304AC 41 80 FF C4 */ blt lbl_80333530
/* 80333570 003304B0 3A 60 00 00 */ li r19, 0
/* 80333574 003304B4 48 00 00 40 */ b lbl_803335B4
lbl_80333578:
/* 80333578 003304B8 38 61 00 08 */ addi r3, r1, 8
/* 8033357C 003304BC 7F C4 F3 78 */ mr r4, r30
/* 80333580 003304C0 7F A5 EB 78 */ mr r5, r29
/* 80333584 003304C4 56 66 06 3E */ clrlwi r6, r19, 0x18
/* 80333588 003304C8 48 00 07 E1 */ bl J3DMaterialFactory_v21_NS_newTevSwapModeTable
/* 8033358C 003304CC 88 01 00 08 */ lbz r0, 8(r1)
/* 80333590 003304D0 98 01 00 0C */ stb r0, 0xc(r1)
/* 80333594 003304D4 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80333598 003304D8 56 64 06 3E */ clrlwi r4, r19, 0x18
/* 8033359C 003304DC 38 A1 00 0C */ addi r5, r1, 0xc
/* 803335A0 003304E0 81 83 00 00 */ lwz r12, 0(r3)
/* 803335A4 003304E4 81 8C 00 B4 */ lwz r12, 0xb4(r12)
/* 803335A8 003304E8 7D 89 03 A6 */ mtctr r12
/* 803335AC 003304EC 4E 80 04 21 */ bctrl
/* 803335B0 003304F0 3A 73 00 01 */ addi r19, r19, 1
lbl_803335B4:
/* 803335B4 003304F4 56 60 06 3E */ clrlwi r0, r19, 0x18
/* 803335B8 003304F8 28 00 00 04 */ cmplwi r0, 4
/* 803335BC 003304FC 41 80 FF BC */ blt lbl_80333578
/* 803335C0 00330500 3A 60 00 00 */ li r19, 0
/* 803335C4 00330504 48 00 00 38 */ b lbl_803335FC
lbl_803335C8:
/* 803335C8 00330508 38 61 00 20 */ addi r3, r1, 0x20
/* 803335CC 0033050C 7F C4 F3 78 */ mr r4, r30
/* 803335D0 00330510 7F A5 EB 78 */ mr r5, r29
/* 803335D4 00330514 56 66 06 3E */ clrlwi r6, r19, 0x18
/* 803335D8 00330518 48 00 02 01 */ bl J3DMaterialFactory_v21_NS_newMatColor
/* 803335DC 0033051C 80 7F 00 24 */ lwz r3, 0x24(r31)
/* 803335E0 00330520 56 64 06 3E */ clrlwi r4, r19, 0x18
/* 803335E4 00330524 38 A1 00 20 */ addi r5, r1, 0x20
/* 803335E8 00330528 81 83 00 00 */ lwz r12, 0(r3)
/* 803335EC 0033052C 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 803335F0 00330530 7D 89 03 A6 */ mtctr r12
/* 803335F4 00330534 4E 80 04 21 */ bctrl
/* 803335F8 00330538 3A 73 00 01 */ addi r19, r19, 1
lbl_803335FC:
/* 803335FC 0033053C 56 60 06 3E */ clrlwi r0, r19, 0x18
/* 80333600 00330540 28 00 00 02 */ cmplwi r0, 2
/* 80333604 00330544 41 80 FF C4 */ blt lbl_803335C8
/* 80333608 00330548 3A 60 00 00 */ li r19, 0
/* 8033360C 0033054C 48 00 00 40 */ b lbl_8033364C
lbl_80333610:
/* 80333610 00330550 38 61 00 10 */ addi r3, r1, 0x10
/* 80333614 00330554 7F C4 F3 78 */ mr r4, r30
/* 80333618 00330558 7F A5 EB 78 */ mr r5, r29
/* 8033361C 0033055C 56 66 06 3E */ clrlwi r6, r19, 0x18
/* 80333620 00330560 48 00 02 4D */ bl J3DMaterialFactory_v21_NS_newColorChan
/* 80333624 00330564 A0 01 00 10 */ lhz r0, 0x10(r1)
/* 80333628 00330568 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 8033362C 0033056C 80 7F 00 24 */ lwz r3, 0x24(r31)
/* 80333630 00330570 56 64 06 3E */ clrlwi r4, r19, 0x18
/* 80333634 00330574 38 A1 00 1C */ addi r5, r1, 0x1c
/* 80333638 00330578 81 83 00 00 */ lwz r12, 0(r3)
/* 8033363C 0033057C 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 80333640 00330580 7D 89 03 A6 */ mtctr r12
/* 80333644 00330584 4E 80 04 21 */ bctrl
/* 80333648 00330588 3A 73 00 01 */ addi r19, r19, 1
lbl_8033364C:
/* 8033364C 0033058C 56 60 06 3E */ clrlwi r0, r19, 0x18
/* 80333650 00330590 28 00 00 04 */ cmplwi r0, 4
/* 80333654 00330594 41 80 FF BC */ blt lbl_80333610
/* 80333658 00330598 3A 60 00 00 */ li r19, 0
/* 8033365C 0033059C 48 00 00 44 */ b lbl_803336A0
lbl_80333660:
/* 80333660 003305A0 38 61 00 38 */ addi r3, r1, 0x38
/* 80333664 003305A4 7F C4 F3 78 */ mr r4, r30
/* 80333668 003305A8 7F A5 EB 78 */ mr r5, r29
/* 8033366C 003305AC 48 00 03 DD */ bl J3DMaterialFactory_v21_NS_newTexCoord
/* 80333670 003305B0 80 01 00 38 */ lwz r0, 0x38(r1)
/* 80333674 003305B4 90 01 00 58 */ stw r0, 0x58(r1)
/* 80333678 003305B8 A0 01 00 3C */ lhz r0, 0x3c(r1)
/* 8033367C 003305BC B0 01 00 5C */ sth r0, 0x5c(r1)
/* 80333680 003305C0 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80333684 003305C4 56 64 06 3E */ clrlwi r4, r19, 0x18
/* 80333688 003305C8 38 A1 00 58 */ addi r5, r1, 0x58
/* 8033368C 003305CC 81 83 00 00 */ lwz r12, 0(r3)
/* 80333690 003305D0 81 8C 00 44 */ lwz r12, 0x44(r12)
/* 80333694 003305D4 7D 89 03 A6 */ mtctr r12
/* 80333698 003305D8 4E 80 04 21 */ bctrl
/* 8033369C 003305DC 3A 73 00 01 */ addi r19, r19, 1
lbl_803336A0:
/* 803336A0 003305E0 56 66 06 3E */ clrlwi r6, r19, 0x18
/* 803336A4 003305E4 7C 06 C8 40 */ cmplw r6, r25
/* 803336A8 003305E8 41 80 FF B8 */ blt lbl_80333660
/* 803336AC 003305EC 3A 60 00 00 */ li r19, 0
/* 803336B0 003305F0 48 00 00 34 */ b lbl_803336E4
lbl_803336B4:
/* 803336B4 003305F4 7F C3 F3 78 */ mr r3, r30
/* 803336B8 003305F8 7F A4 EB 78 */ mr r4, r29
/* 803336BC 003305FC 56 65 06 3E */ clrlwi r5, r19, 0x18
/* 803336C0 00330600 48 00 03 E9 */ bl J3DMaterialFactory_v21_NS_newTexMtx
/* 803336C4 00330604 7C 65 1B 78 */ mr r5, r3
/* 803336C8 00330608 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 803336CC 0033060C 56 64 06 3E */ clrlwi r4, r19, 0x18
/* 803336D0 00330610 81 83 00 00 */ lwz r12, 0(r3)
/* 803336D4 00330614 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 803336D8 00330618 7D 89 03 A6 */ mtctr r12
/* 803336DC 0033061C 4E 80 04 21 */ bctrl
/* 803336E0 00330620 3A 73 00 01 */ addi r19, r19, 1
lbl_803336E4:
/* 803336E4 00330624 56 60 06 3E */ clrlwi r0, r19, 0x18
/* 803336E8 00330628 28 00 00 08 */ cmplwi r0, 8
/* 803336EC 0033062C 41 80 FF C8 */ blt lbl_803336B4
/* 803336F0 00330630 80 9E 00 04 */ lwz r4, 4(r30)
/* 803336F4 00330634 80 7E 00 08 */ lwz r3, 8(r30)
/* 803336F8 00330638 7C 03 DA 2E */ lhzx r0, r3, r27
/* 803336FC 0033063C 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333700 00330640 7E 64 02 14 */ add r19, r4, r0
/* 80333704 00330644 3A 80 00 00 */ li r20, 0
/* 80333708 00330648 48 00 00 4C */ b lbl_80333754
lbl_8033370C:
/* 8033370C 0033064C 56 84 06 3E */ clrlwi r4, r20, 0x18
/* 80333710 00330650 38 04 00 88 */ addi r0, r4, 0x88
/* 80333714 00330654 7C B3 00 AE */ lbzx r5, r19, r0
/* 80333718 00330658 28 05 00 FF */ cmplwi r5, 0xff
/* 8033371C 0033065C 41 82 00 1C */ beq lbl_80333738
/* 80333720 00330660 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80333724 00330664 81 83 00 00 */ lwz r12, 0(r3)
/* 80333728 00330668 81 8C 00 7C */ lwz r12, 0x7c(r12)
/* 8033372C 0033066C 7D 89 03 A6 */ mtctr r12
/* 80333730 00330670 4E 80 04 21 */ bctrl
/* 80333734 00330674 48 00 00 1C */ b lbl_80333750
lbl_80333738:
/* 80333738 00330678 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 8033373C 0033067C 38 A0 00 0C */ li r5, 0xc
/* 80333740 00330680 81 83 00 00 */ lwz r12, 0(r3)
/* 80333744 00330684 81 8C 00 7C */ lwz r12, 0x7c(r12)
/* 80333748 00330688 7D 89 03 A6 */ mtctr r12
/* 8033374C 0033068C 4E 80 04 21 */ bctrl
lbl_80333750:
/* 80333750 00330690 3A 94 00 01 */ addi r20, r20, 1
lbl_80333754:
/* 80333754 00330694 56 80 06 3E */ clrlwi r0, r20, 0x18
/* 80333758 00330698 7C 00 E0 40 */ cmplw r0, r28
/* 8033375C 0033069C 41 80 FF B0 */ blt lbl_8033370C
/* 80333760 003306A0 3A 80 00 00 */ li r20, 0
/* 80333764 003306A4 48 00 00 4C */ b lbl_803337B0
lbl_80333768:
/* 80333768 003306A8 56 84 06 3E */ clrlwi r4, r20, 0x18
/* 8033376C 003306AC 38 04 00 98 */ addi r0, r4, 0x98
/* 80333770 003306B0 7C B3 00 AE */ lbzx r5, r19, r0
/* 80333774 003306B4 28 05 00 FF */ cmplwi r5, 0xff
/* 80333778 003306B8 41 82 00 1C */ beq lbl_80333794
/* 8033377C 003306BC 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80333780 003306C0 81 83 00 00 */ lwz r12, 0(r3)
/* 80333784 003306C4 81 8C 00 88 */ lwz r12, 0x88(r12)
/* 80333788 003306C8 7D 89 03 A6 */ mtctr r12
/* 8033378C 003306CC 4E 80 04 21 */ bctrl
/* 80333790 003306D0 48 00 00 1C */ b lbl_803337AC
lbl_80333794:
/* 80333794 003306D4 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80333798 003306D8 38 A0 00 1C */ li r5, 0x1c
/* 8033379C 003306DC 81 83 00 00 */ lwz r12, 0(r3)
/* 803337A0 003306E0 81 8C 00 88 */ lwz r12, 0x88(r12)
/* 803337A4 003306E4 7D 89 03 A6 */ mtctr r12
/* 803337A8 003306E8 4E 80 04 21 */ bctrl
lbl_803337AC:
/* 803337AC 003306EC 3A 94 00 01 */ addi r20, r20, 1
lbl_803337B0:
/* 803337B0 003306F0 56 80 06 3E */ clrlwi r0, r20, 0x18
/* 803337B4 003306F4 7C 00 E0 40 */ cmplw r0, r28
/* 803337B8 003306F8 41 80 FF B0 */ blt lbl_80333768
/* 803337BC 003306FC 7F E3 FB 78 */ mr r3, r31
/* 803337C0 00330700 39 61 00 F0 */ addi r11, r1, 0xf0
/* 803337C4 00330704 48 02 EA 3D */ bl _restgpr_19
/* 803337C8 00330708 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 803337CC 0033070C 7C 08 03 A6 */ mtlr r0
/* 803337D0 00330710 38 21 00 F0 */ addi r1, r1, 0xf0
/* 803337D4 00330714 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newMatColor
J3DMaterialFactory_v21_NS_newMatColor:
/* 803337D8 00330718 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803337DC 0033071C 81 22 CA B8 */ lwz r9, lbl_804564B8-_SDA2_BASE_(r2)
/* 803337E0 00330720 91 21 00 08 */ stw r9, 8(r1)
/* 803337E4 00330724 91 21 00 0C */ stw r9, 0xc(r1)
/* 803337E8 00330728 81 04 00 04 */ lwz r8, 4(r4)
/* 803337EC 0033072C 80 E4 00 08 */ lwz r7, 8(r4)
/* 803337F0 00330730 54 A0 08 3C */ slwi r0, r5, 1
/* 803337F4 00330734 7C 07 02 2E */ lhzx r0, r7, r0
/* 803337F8 00330738 1C 00 01 38 */ mulli r0, r0, 0x138
/* 803337FC 0033073C 7C A8 02 14 */ add r5, r8, r0
/* 80333800 00330740 54 C0 08 3C */ slwi r0, r6, 1
/* 80333804 00330744 7C A5 02 14 */ add r5, r5, r0
/* 80333808 00330748 A0 05 00 08 */ lhz r0, 8(r5)
/* 8033380C 0033074C 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333810 00330750 41 82 00 18 */ beq lbl_80333828
/* 80333814 00330754 80 84 00 0C */ lwz r4, 0xc(r4)
/* 80333818 00330758 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8033381C 0033075C 7C 04 00 2E */ lwzx r0, r4, r0
/* 80333820 00330760 90 03 00 00 */ stw r0, 0(r3)
/* 80333824 00330764 48 00 00 08 */ b lbl_8033382C
lbl_80333828:
/* 80333828 00330768 91 23 00 00 */ stw r9, 0(r3)
lbl_8033382C:
/* 8033382C 0033076C 38 21 00 10 */ addi r1, r1, 0x10
/* 80333830 00330770 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newColorChanNum
J3DMaterialFactory_v21_NS_newColorChanNum:
/* 80333834 00330774 80 C3 00 04 */ lwz r6, 4(r3)
/* 80333838 00330778 80 A3 00 08 */ lwz r5, 8(r3)
/* 8033383C 0033077C 54 80 08 3C */ slwi r0, r4, 1
/* 80333840 00330780 7C 05 02 2E */ lhzx r0, r5, r0
/* 80333844 00330784 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333848 00330788 7C 86 02 14 */ add r4, r6, r0
/* 8033384C 0033078C 88 04 00 02 */ lbz r0, 2(r4)
/* 80333850 00330790 28 00 00 FF */ cmplwi r0, 0xff
/* 80333854 00330794 41 82 00 10 */ beq lbl_80333864
/* 80333858 00330798 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8033385C 0033079C 7C 63 00 AE */ lbzx r3, r3, r0
/* 80333860 003307A0 4E 80 00 20 */ blr
lbl_80333864:
/* 80333864 003307A4 38 60 00 00 */ li r3, 0
/* 80333868 003307A8 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newColorChan
J3DMaterialFactory_v21_NS_newColorChan:
/* 8033386C 003307AC 81 04 00 04 */ lwz r8, 4(r4)
/* 80333870 003307B0 80 E4 00 08 */ lwz r7, 8(r4)
/* 80333874 003307B4 54 A0 08 3C */ slwi r0, r5, 1
/* 80333878 003307B8 7C 07 02 2E */ lhzx r0, r7, r0
/* 8033387C 003307BC 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333880 003307C0 7C A8 02 14 */ add r5, r8, r0
/* 80333884 003307C4 54 C0 08 3C */ slwi r0, r6, 1
/* 80333888 003307C8 7C A5 02 14 */ add r5, r5, r0
/* 8033388C 003307CC A0 05 00 0C */ lhz r0, 0xc(r5)
/* 80333890 003307D0 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333894 003307D4 41 82 00 C0 */ beq lbl_80333954
/* 80333898 003307D8 80 84 00 14 */ lwz r4, 0x14(r4)
/* 8033389C 003307DC 54 00 1B 78 */ rlwinm r0, r0, 3, 0xd, 0x1c
/* 803338A0 003307E0 7C 84 02 14 */ add r4, r4, r0
/* 803338A4 003307E4 88 A4 00 05 */ lbz r5, 5(r4)
/* 803338A8 003307E8 38 05 FF 01 */ addi r0, r5, -255
/* 803338AC 003307EC 30 00 FF FF */ addic r0, r0, -1
/* 803338B0 003307F0 7C 00 01 10 */ subfe r0, r0, r0
/* 803338B4 003307F4 7C A9 00 78 */ andc r9, r5, r0
/* 803338B8 003307F8 88 E4 00 04 */ lbz r7, 4(r4)
/* 803338BC 003307FC 88 C4 00 03 */ lbz r6, 3(r4)
/* 803338C0 00330800 88 A4 00 02 */ lbz r5, 2(r4)
/* 803338C4 00330804 88 04 00 00 */ lbz r0, 0(r4)
/* 803338C8 00330808 54 08 0B FC */ rlwinm r8, r0, 1, 0xf, 0x1e
/* 803338CC 0033080C 88 04 00 01 */ lbz r0, 1(r4)
/* 803338D0 00330810 7D 00 03 78 */ or r0, r8, r0
/* 803338D4 00330814 54 04 06 B0 */ rlwinm r4, r0, 0, 0x1a, 0x18
/* 803338D8 00330818 55 20 34 B2 */ rlwinm r0, r9, 6, 0x12, 0x19
/* 803338DC 0033081C 7C 80 03 78 */ or r0, r4, r0
/* 803338E0 00330820 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d
/* 803338E4 00330824 50 A0 17 38 */ rlwimi r0, r5, 2, 0x1c, 0x1c
/* 803338E8 00330828 50 A0 16 F6 */ rlwimi r0, r5, 2, 0x1b, 0x1b
/* 803338EC 0033082C 50 A0 16 B4 */ rlwimi r0, r5, 2, 0x1a, 0x1a
/* 803338F0 00330830 50 A0 3D 28 */ rlwimi r0, r5, 7, 0x14, 0x14
/* 803338F4 00330834 50 A0 3C E6 */ rlwimi r0, r5, 7, 0x13, 0x13
/* 803338F8 00330838 54 A4 3C A4 */ rlwinm r4, r5, 7, 0x12, 0x12
/* 803338FC 0033083C 50 04 04 FE */ rlwimi r4, r0, 0, 0x13, 0x1f
/* 80333900 00330840 54 A0 3C 62 */ rlwinm r0, r5, 7, 0x11, 0x11
/* 80333904 00330844 50 80 04 BE */ rlwimi r0, r4, 0, 0x12, 0x1f
/* 80333908 00330848 54 04 06 6C */ rlwinm r4, r0, 0, 0x19, 0x16
/* 8033390C 0033084C 30 07 FF FF */ addic r0, r7, -1
/* 80333910 00330850 7C 00 01 10 */ subfe r0, r0, r0
/* 80333914 00330854 7C C0 00 78 */ andc r0, r6, r0
/* 80333918 00330858 54 00 38 30 */ slwi r0, r0, 7
/* 8033391C 0033085C 7C 80 03 78 */ or r0, r4, r0
/* 80333920 00330860 54 05 05 EA */ rlwinm r5, r0, 0, 0x17, 0x15
/* 80333924 00330864 20 87 00 02 */ subfic r4, r7, 2
/* 80333928 00330868 30 04 FF FF */ addic r0, r4, -1
/* 8033392C 0033086C 7C 00 21 10 */ subfe r0, r0, r4
/* 80333930 00330870 54 00 4B EC */ rlwinm r0, r0, 9, 0xf, 0x16
/* 80333934 00330874 7C A0 03 78 */ or r0, r5, r0
/* 80333938 00330878 54 04 05 A8 */ rlwinm r4, r0, 0, 0x16, 0x14
/* 8033393C 0033087C 30 07 FF FF */ addic r0, r7, -1
/* 80333940 00330880 7C 00 39 10 */ subfe r0, r0, r7
/* 80333944 00330884 54 00 53 AA */ rlwinm r0, r0, 0xa, 0xe, 0x15
/* 80333948 00330888 7C 80 03 78 */ or r0, r4, r0
/* 8033394C 0033088C B0 03 00 00 */ sth r0, 0(r3)
/* 80333950 00330890 4E 80 00 20 */ blr
lbl_80333954:
/* 80333954 00330894 39 02 C9 F0 */ addi r8, r2, lbl_804563F0-_SDA2_BASE_
/* 80333958 00330898 88 A8 00 05 */ lbz r5, 5(r8)
/* 8033395C 0033089C 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 80333960 003308A0 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l
/* 80333964 003308A4 7C 00 28 50 */ subf r0, r0, r5
/* 80333968 003308A8 30 00 FF FF */ addic r0, r0, -1
/* 8033396C 003308AC 7C 00 01 10 */ subfe r0, r0, r0
/* 80333970 003308B0 7C A9 00 78 */ andc r9, r5, r0
/* 80333974 003308B4 88 E8 00 04 */ lbz r7, 4(r8)
/* 80333978 003308B8 88 C8 00 03 */ lbz r6, 3(r8)
/* 8033397C 003308BC 88 A8 00 02 */ lbz r5, 2(r8)
/* 80333980 003308C0 88 88 00 01 */ lbz r4, 1(r8)
/* 80333984 003308C4 88 02 C9 F0 */ lbz r0, lbl_804563F0-_SDA2_BASE_(r2)
/* 80333988 003308C8 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 8033398C 003308CC 7C 00 23 78 */ or r0, r0, r4
/* 80333990 003308D0 54 04 06 B0 */ rlwinm r4, r0, 0, 0x1a, 0x18
/* 80333994 003308D4 55 20 34 B2 */ rlwinm r0, r9, 6, 0x12, 0x19
/* 80333998 003308D8 7C 80 03 78 */ or r0, r4, r0
/* 8033399C 003308DC 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d
/* 803339A0 003308E0 50 A0 17 38 */ rlwimi r0, r5, 2, 0x1c, 0x1c
/* 803339A4 003308E4 50 A0 16 F6 */ rlwimi r0, r5, 2, 0x1b, 0x1b
/* 803339A8 003308E8 50 A0 16 B4 */ rlwimi r0, r5, 2, 0x1a, 0x1a
/* 803339AC 003308EC 50 A0 3D 28 */ rlwimi r0, r5, 7, 0x14, 0x14
/* 803339B0 003308F0 50 A0 3C E6 */ rlwimi r0, r5, 7, 0x13, 0x13
/* 803339B4 003308F4 54 A4 3C A4 */ rlwinm r4, r5, 7, 0x12, 0x12
/* 803339B8 003308F8 50 04 04 FE */ rlwimi r4, r0, 0, 0x13, 0x1f
/* 803339BC 003308FC 54 A0 3C 62 */ rlwinm r0, r5, 7, 0x11, 0x11
/* 803339C0 00330900 50 80 04 BE */ rlwimi r0, r4, 0, 0x12, 0x1f
/* 803339C4 00330904 54 04 06 6C */ rlwinm r4, r0, 0, 0x19, 0x16
/* 803339C8 00330908 30 07 FF FF */ addic r0, r7, -1
/* 803339CC 0033090C 7C 00 01 10 */ subfe r0, r0, r0
/* 803339D0 00330910 7C C0 00 78 */ andc r0, r6, r0
/* 803339D4 00330914 54 00 38 30 */ slwi r0, r0, 7
/* 803339D8 00330918 7C 80 03 78 */ or r0, r4, r0
/* 803339DC 0033091C 54 05 05 EA */ rlwinm r5, r0, 0, 0x17, 0x15
/* 803339E0 00330920 20 87 00 02 */ subfic r4, r7, 2
/* 803339E4 00330924 30 04 FF FF */ addic r0, r4, -1
/* 803339E8 00330928 7C 00 21 10 */ subfe r0, r0, r4
/* 803339EC 0033092C 54 00 4B EC */ rlwinm r0, r0, 9, 0xf, 0x16
/* 803339F0 00330930 7C A0 03 78 */ or r0, r5, r0
/* 803339F4 00330934 54 04 05 A8 */ rlwinm r4, r0, 0, 0x16, 0x14
/* 803339F8 00330938 30 07 FF FF */ addic r0, r7, -1
/* 803339FC 0033093C 7C 00 39 10 */ subfe r0, r0, r7
/* 80333A00 00330940 54 00 53 AA */ rlwinm r0, r0, 0xa, 0xe, 0x15
/* 80333A04 00330944 7C 80 03 78 */ or r0, r4, r0
/* 80333A08 00330948 B0 03 00 00 */ sth r0, 0(r3)
/* 80333A0C 0033094C 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newTexGenNum
J3DMaterialFactory_v21_NS_newTexGenNum:
/* 80333A10 00330950 80 C3 00 04 */ lwz r6, 4(r3)
/* 80333A14 00330954 80 A3 00 08 */ lwz r5, 8(r3)
/* 80333A18 00330958 54 80 08 3C */ slwi r0, r4, 1
/* 80333A1C 0033095C 7C 05 02 2E */ lhzx r0, r5, r0
/* 80333A20 00330960 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333A24 00330964 7C 86 02 14 */ add r4, r6, r0
/* 80333A28 00330968 88 04 00 03 */ lbz r0, 3(r4)
/* 80333A2C 0033096C 28 00 00 FF */ cmplwi r0, 0xff
/* 80333A30 00330970 41 82 00 10 */ beq lbl_80333A40
/* 80333A34 00330974 80 63 00 18 */ lwz r3, 0x18(r3)
/* 80333A38 00330978 7C 63 00 AE */ lbzx r3, r3, r0
/* 80333A3C 0033097C 4E 80 00 20 */ blr
lbl_80333A40:
/* 80333A40 00330980 38 60 00 00 */ li r3, 0
/* 80333A44 00330984 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newTexCoord
J3DMaterialFactory_v21_NS_newTexCoord:
/* 80333A48 00330988 81 04 00 04 */ lwz r8, 4(r4)
/* 80333A4C 0033098C 80 E4 00 08 */ lwz r7, 8(r4)
/* 80333A50 00330990 54 A0 08 3C */ slwi r0, r5, 1
/* 80333A54 00330994 7C 07 02 2E */ lhzx r0, r7, r0
/* 80333A58 00330998 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333A5C 0033099C 7C A8 02 14 */ add r5, r8, r0
/* 80333A60 003309A0 54 C0 08 3C */ slwi r0, r6, 1
/* 80333A64 003309A4 7C A5 02 14 */ add r5, r5, r0
/* 80333A68 003309A8 A0 05 00 14 */ lhz r0, 0x14(r5)
/* 80333A6C 003309AC 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333A70 003309B0 41 82 00 20 */ beq lbl_80333A90
/* 80333A74 003309B4 80 84 00 1C */ lwz r4, 0x1c(r4)
/* 80333A78 003309B8 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 80333A7C 003309BC 7C 04 00 2E */ lwzx r0, r4, r0
/* 80333A80 003309C0 90 03 00 00 */ stw r0, 0(r3)
/* 80333A84 003309C4 88 03 00 02 */ lbz r0, 2(r3)
/* 80333A88 003309C8 B0 03 00 04 */ sth r0, 4(r3)
/* 80333A8C 003309CC 4E 80 00 20 */ blr
lbl_80333A90:
/* 80333A90 003309D0 3C 80 80 3A */ lis r4, lbl_803A1EFC@ha
/* 80333A94 003309D4 80 04 1E FC */ lwz r0, lbl_803A1EFC@l(r4)
/* 80333A98 003309D8 90 03 00 00 */ stw r0, 0(r3)
/* 80333A9C 003309DC 88 03 00 02 */ lbz r0, 2(r3)
/* 80333AA0 003309E0 B0 03 00 04 */ sth r0, 4(r3)
/* 80333AA4 003309E4 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newTexMtx
J3DMaterialFactory_v21_NS_newTexMtx:
/* 80333AA8 003309E8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80333AAC 003309EC 7C 08 02 A6 */ mflr r0
/* 80333AB0 003309F0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80333AB4 003309F4 39 61 00 20 */ addi r11, r1, 0x20
/* 80333AB8 003309F8 48 02 E7 25 */ bl _savegpr_29
/* 80333ABC 003309FC 7C 7D 1B 78 */ mr r29, r3
/* 80333AC0 00330A00 38 60 00 00 */ li r3, 0
/* 80333AC4 00330A04 80 FD 00 04 */ lwz r7, 4(r29)
/* 80333AC8 00330A08 80 DD 00 08 */ lwz r6, 8(r29)
/* 80333ACC 00330A0C 54 80 08 3C */ slwi r0, r4, 1
/* 80333AD0 00330A10 7C 06 02 2E */ lhzx r0, r6, r0
/* 80333AD4 00330A14 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333AD8 00330A18 7C 87 02 14 */ add r4, r7, r0
/* 80333ADC 00330A1C 54 A0 08 3C */ slwi r0, r5, 1
/* 80333AE0 00330A20 7F C4 02 14 */ add r30, r4, r0
/* 80333AE4 00330A24 A0 1E 00 34 */ lhz r0, 0x34(r30)
/* 80333AE8 00330A28 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333AEC 00330A2C 41 82 00 2C */ beq lbl_80333B18
/* 80333AF0 00330A30 38 60 00 94 */ li r3, 0x94
/* 80333AF4 00330A34 4B F9 B1 59 */ bl __nw__FUl
/* 80333AF8 00330A38 7C 7F 1B 79 */ or. r31, r3, r3
/* 80333AFC 00330A3C 41 82 00 18 */ beq lbl_80333B14
/* 80333B00 00330A40 80 9D 00 24 */ lwz r4, 0x24(r29)
/* 80333B04 00330A44 A0 1E 00 34 */ lhz r0, 0x34(r30)
/* 80333B08 00330A48 1C 00 00 64 */ mulli r0, r0, 0x64
/* 80333B0C 00330A4C 7C 84 02 14 */ add r4, r4, r0
/* 80333B10 00330A50 4B FF 1C 09 */ bl J3DTexMtxInfo_NS___as
lbl_80333B14:
/* 80333B14 00330A54 7F E3 FB 78 */ mr r3, r31
lbl_80333B18:
/* 80333B18 00330A58 39 61 00 20 */ addi r11, r1, 0x20
/* 80333B1C 00330A5C 48 02 E7 0D */ bl _restgpr_29
/* 80333B20 00330A60 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80333B24 00330A64 7C 08 03 A6 */ mtlr r0
/* 80333B28 00330A68 38 21 00 20 */ addi r1, r1, 0x20
/* 80333B2C 00330A6C 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newCullMode
J3DMaterialFactory_v21_NS_newCullMode:
/* 80333B30 00330A70 80 C3 00 04 */ lwz r6, 4(r3)
/* 80333B34 00330A74 80 A3 00 08 */ lwz r5, 8(r3)
/* 80333B38 00330A78 54 80 08 3C */ slwi r0, r4, 1
/* 80333B3C 00330A7C 7C 05 02 2E */ lhzx r0, r5, r0
/* 80333B40 00330A80 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333B44 00330A84 7C 86 02 14 */ add r4, r6, r0
/* 80333B48 00330A88 88 04 00 01 */ lbz r0, 1(r4)
/* 80333B4C 00330A8C 28 00 00 FF */ cmplwi r0, 0xff
/* 80333B50 00330A90 41 82 00 18 */ beq lbl_80333B68
/* 80333B54 00330A94 80 63 00 30 */ lwz r3, 0x30(r3)
/* 80333B58 00330A98 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 80333B5C 00330A9C 7C 03 00 2E */ lwzx r0, r3, r0
/* 80333B60 00330AA0 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 80333B64 00330AA4 4E 80 00 20 */ blr
lbl_80333B68:
/* 80333B68 00330AA8 38 60 00 FF */ li r3, 0xff
/* 80333B6C 00330AAC 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newTexNo
J3DMaterialFactory_v21_NS_newTexNo:
/* 80333B70 00330AB0 80 E3 00 04 */ lwz r7, 4(r3)
/* 80333B74 00330AB4 80 C3 00 08 */ lwz r6, 8(r3)
/* 80333B78 00330AB8 54 80 08 3C */ slwi r0, r4, 1
/* 80333B7C 00330ABC 7C 06 02 2E */ lhzx r0, r6, r0
/* 80333B80 00330AC0 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333B84 00330AC4 7C 87 02 14 */ add r4, r7, r0
/* 80333B88 00330AC8 54 A0 08 3C */ slwi r0, r5, 1
/* 80333B8C 00330ACC 7C 84 02 14 */ add r4, r4, r0
/* 80333B90 00330AD0 A0 04 00 70 */ lhz r0, 0x70(r4)
/* 80333B94 00330AD4 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333B98 00330AD8 41 82 00 14 */ beq lbl_80333BAC
/* 80333B9C 00330ADC 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80333BA0 00330AE0 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 80333BA4 00330AE4 7C 63 02 2E */ lhzx r3, r3, r0
/* 80333BA8 00330AE8 4E 80 00 20 */ blr
lbl_80333BAC:
/* 80333BAC 00330AEC 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 80333BB0 00330AF0 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l
/* 80333BB4 00330AF4 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newTevOrder
J3DMaterialFactory_v21_NS_newTevOrder:
/* 80333BB8 00330AF8 81 04 00 04 */ lwz r8, 4(r4)
/* 80333BBC 00330AFC 80 E4 00 08 */ lwz r7, 8(r4)
/* 80333BC0 00330B00 54 A0 08 3C */ slwi r0, r5, 1
/* 80333BC4 00330B04 7C 07 02 2E */ lhzx r0, r7, r0
/* 80333BC8 00330B08 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333BCC 00330B0C 7C A8 02 14 */ add r5, r8, r0
/* 80333BD0 00330B10 54 C0 08 3C */ slwi r0, r6, 1
/* 80333BD4 00330B14 7C A5 02 14 */ add r5, r5, r0
/* 80333BD8 00330B18 A0 05 00 A8 */ lhz r0, 0xa8(r5)
/* 80333BDC 00330B1C 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333BE0 00330B20 41 82 00 18 */ beq lbl_80333BF8
/* 80333BE4 00330B24 80 84 00 34 */ lwz r4, 0x34(r4)
/* 80333BE8 00330B28 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 80333BEC 00330B2C 7C 04 00 2E */ lwzx r0, r4, r0
/* 80333BF0 00330B30 90 03 00 00 */ stw r0, 0(r3)
/* 80333BF4 00330B34 4E 80 00 20 */ blr
lbl_80333BF8:
/* 80333BF8 00330B38 80 02 C9 CC */ lwz r0, lbl_804563CC-_SDA2_BASE_(r2)
/* 80333BFC 00330B3C 90 03 00 00 */ stw r0, 0(r3)
/* 80333C00 00330B40 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newTevColor
J3DMaterialFactory_v21_NS_newTevColor:
/* 80333C04 00330B44 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80333C08 00330B48 81 42 D1 C0 */ lwz r10, lbl_80456BC0-_SDA2_BASE_(r2)
/* 80333C0C 00330B4C 81 22 D1 C4 */ lwz r9, lbl_80456BC4-_SDA2_BASE_(r2)
/* 80333C10 00330B50 91 41 00 08 */ stw r10, 8(r1)
/* 80333C14 00330B54 91 21 00 0C */ stw r9, 0xc(r1)
/* 80333C18 00330B58 81 04 00 04 */ lwz r8, 4(r4)
/* 80333C1C 00330B5C 80 E4 00 08 */ lwz r7, 8(r4)
/* 80333C20 00330B60 54 A0 08 3C */ slwi r0, r5, 1
/* 80333C24 00330B64 7C 07 02 2E */ lhzx r0, r7, r0
/* 80333C28 00330B68 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333C2C 00330B6C 7C A8 02 14 */ add r5, r8, r0
/* 80333C30 00330B70 54 C0 08 3C */ slwi r0, r6, 1
/* 80333C34 00330B74 7C A5 02 14 */ add r5, r5, r0
/* 80333C38 00330B78 A0 05 00 C8 */ lhz r0, 0xc8(r5)
/* 80333C3C 00330B7C 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333C40 00330B80 41 82 00 24 */ beq lbl_80333C64
/* 80333C44 00330B84 80 84 00 38 */ lwz r4, 0x38(r4)
/* 80333C48 00330B88 54 00 1B 78 */ rlwinm r0, r0, 3, 0xd, 0x1c
/* 80333C4C 00330B8C 7C A4 02 14 */ add r5, r4, r0
/* 80333C50 00330B90 80 85 00 00 */ lwz r4, 0(r5)
/* 80333C54 00330B94 80 05 00 04 */ lwz r0, 4(r5)
/* 80333C58 00330B98 90 83 00 00 */ stw r4, 0(r3)
/* 80333C5C 00330B9C 90 03 00 04 */ stw r0, 4(r3)
/* 80333C60 00330BA0 48 00 00 0C */ b lbl_80333C6C
lbl_80333C64:
/* 80333C64 00330BA4 91 43 00 00 */ stw r10, 0(r3)
/* 80333C68 00330BA8 91 23 00 04 */ stw r9, 4(r3)
lbl_80333C6C:
/* 80333C6C 00330BAC 38 21 00 10 */ addi r1, r1, 0x10
/* 80333C70 00330BB0 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newTevKColor
J3DMaterialFactory_v21_NS_newTevKColor:
/* 80333C74 00330BB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80333C78 00330BB8 81 22 CA BC */ lwz r9, lbl_804564BC-_SDA2_BASE_(r2)
/* 80333C7C 00330BBC 91 21 00 08 */ stw r9, 8(r1)
/* 80333C80 00330BC0 91 21 00 0C */ stw r9, 0xc(r1)
/* 80333C84 00330BC4 81 04 00 04 */ lwz r8, 4(r4)
/* 80333C88 00330BC8 80 E4 00 08 */ lwz r7, 8(r4)
/* 80333C8C 00330BCC 54 A0 08 3C */ slwi r0, r5, 1
/* 80333C90 00330BD0 7C 07 02 2E */ lhzx r0, r7, r0
/* 80333C94 00330BD4 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333C98 00330BD8 7C A8 02 14 */ add r5, r8, r0
/* 80333C9C 00330BDC 54 C0 08 3C */ slwi r0, r6, 1
/* 80333CA0 00330BE0 7C A5 02 14 */ add r5, r5, r0
/* 80333CA4 00330BE4 A0 05 00 80 */ lhz r0, 0x80(r5)
/* 80333CA8 00330BE8 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333CAC 00330BEC 41 82 00 18 */ beq lbl_80333CC4
/* 80333CB0 00330BF0 80 84 00 3C */ lwz r4, 0x3c(r4)
/* 80333CB4 00330BF4 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 80333CB8 00330BF8 7C 04 00 2E */ lwzx r0, r4, r0
/* 80333CBC 00330BFC 90 03 00 00 */ stw r0, 0(r3)
/* 80333CC0 00330C00 48 00 00 08 */ b lbl_80333CC8
lbl_80333CC4:
/* 80333CC4 00330C04 91 23 00 00 */ stw r9, 0(r3)
lbl_80333CC8:
/* 80333CC8 00330C08 38 21 00 10 */ addi r1, r1, 0x10
/* 80333CCC 00330C0C 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newTevStageNum
J3DMaterialFactory_v21_NS_newTevStageNum:
/* 80333CD0 00330C10 80 C3 00 04 */ lwz r6, 4(r3)
/* 80333CD4 00330C14 80 A3 00 08 */ lwz r5, 8(r3)
/* 80333CD8 00330C18 54 80 08 3C */ slwi r0, r4, 1
/* 80333CDC 00330C1C 7C 05 02 2E */ lhzx r0, r5, r0
/* 80333CE0 00330C20 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333CE4 00330C24 7C 86 02 14 */ add r4, r6, r0
/* 80333CE8 00330C28 88 04 00 04 */ lbz r0, 4(r4)
/* 80333CEC 00330C2C 28 00 00 FF */ cmplwi r0, 0xff
/* 80333CF0 00330C30 41 82 00 10 */ beq lbl_80333D00
/* 80333CF4 00330C34 80 63 00 40 */ lwz r3, 0x40(r3)
/* 80333CF8 00330C38 7C 63 00 AE */ lbzx r3, r3, r0
/* 80333CFC 00330C3C 4E 80 00 20 */ blr
lbl_80333D00:
/* 80333D00 00330C40 38 60 00 FF */ li r3, 0xff
/* 80333D04 00330C44 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newTevStage
J3DMaterialFactory_v21_NS_newTevStage:
/* 80333D08 00330C48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80333D0C 00330C4C 7C 08 02 A6 */ mflr r0
/* 80333D10 00330C50 90 01 00 14 */ stw r0, 0x14(r1)
/* 80333D14 00330C54 81 04 00 04 */ lwz r8, 4(r4)
/* 80333D18 00330C58 80 E4 00 08 */ lwz r7, 8(r4)
/* 80333D1C 00330C5C 54 A0 08 3C */ slwi r0, r5, 1
/* 80333D20 00330C60 7C 07 02 2E */ lhzx r0, r7, r0
/* 80333D24 00330C64 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333D28 00330C68 7C A8 02 14 */ add r5, r8, r0
/* 80333D2C 00330C6C 54 C0 08 3C */ slwi r0, r6, 1
/* 80333D30 00330C70 7C A5 02 14 */ add r5, r5, r0
/* 80333D34 00330C74 A0 05 00 D0 */ lhz r0, 0xd0(r5)
/* 80333D38 00330C78 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333D3C 00330C7C 41 82 00 18 */ beq lbl_80333D54
/* 80333D40 00330C80 80 84 00 44 */ lwz r4, 0x44(r4)
/* 80333D44 00330C84 1C 00 00 14 */ mulli r0, r0, 0x14
/* 80333D48 00330C88 7C 84 02 14 */ add r4, r4, r0
/* 80333D4C 00330C8C 4B D0 6D 81 */ bl J3DTevStage_X1_
/* 80333D50 00330C90 48 00 00 08 */ b lbl_80333D58
lbl_80333D54:
/* 80333D54 00330C94 4B CD A4 DD */ bl J3DTevStage
lbl_80333D58:
/* 80333D58 00330C98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80333D5C 00330C9C 7C 08 03 A6 */ mtlr r0
/* 80333D60 00330CA0 38 21 00 10 */ addi r1, r1, 0x10
/* 80333D64 00330CA4 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newTevSwapModeTable
J3DMaterialFactory_v21_NS_newTevSwapModeTable:
/* 80333D68 00330CA8 81 04 00 04 */ lwz r8, 4(r4)
/* 80333D6C 00330CAC 80 E4 00 08 */ lwz r7, 8(r4)
/* 80333D70 00330CB0 54 A0 08 3C */ slwi r0, r5, 1
/* 80333D74 00330CB4 7C 07 02 2E */ lhzx r0, r7, r0
/* 80333D78 00330CB8 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333D7C 00330CBC 7C A8 02 14 */ add r5, r8, r0
/* 80333D80 00330CC0 54 C0 08 3C */ slwi r0, r6, 1
/* 80333D84 00330CC4 7C A5 02 14 */ add r5, r5, r0
/* 80333D88 00330CC8 A0 05 01 10 */ lhz r0, 0x110(r5)
/* 80333D8C 00330CCC 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333D90 00330CD0 41 82 00 40 */ beq lbl_80333DD0
/* 80333D94 00330CD4 80 84 00 4C */ lwz r4, 0x4c(r4)
/* 80333D98 00330CD8 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 80333D9C 00330CDC 7C E4 02 14 */ add r7, r4, r0
/* 80333DA0 00330CE0 88 87 00 00 */ lbz r4, 0(r7)
/* 80333DA4 00330CE4 88 C7 00 03 */ lbz r6, 3(r7)
/* 80333DA8 00330CE8 88 07 00 02 */ lbz r0, 2(r7)
/* 80333DAC 00330CEC 54 05 15 BA */ rlwinm r5, r0, 2, 0x16, 0x1d
/* 80333DB0 00330CF0 54 84 30 32 */ slwi r4, r4, 6
/* 80333DB4 00330CF4 88 07 00 01 */ lbz r0, 1(r7)
/* 80333DB8 00330CF8 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b
/* 80333DBC 00330CFC 7C 00 2A 14 */ add r0, r0, r5
/* 80333DC0 00330D00 7C 00 32 14 */ add r0, r0, r6
/* 80333DC4 00330D04 7C 04 02 14 */ add r0, r4, r0
/* 80333DC8 00330D08 98 03 00 00 */ stb r0, 0(r3)
/* 80333DCC 00330D0C 4E 80 00 20 */ blr
lbl_80333DD0:
/* 80333DD0 00330D10 38 82 C9 E8 */ addi r4, r2, lbl_804563E8-_SDA2_BASE_
/* 80333DD4 00330D14 88 E4 00 01 */ lbz r7, 1(r4)
/* 80333DD8 00330D18 88 C4 00 03 */ lbz r6, 3(r4)
/* 80333DDC 00330D1C 88 04 00 02 */ lbz r0, 2(r4)
/* 80333DE0 00330D20 54 05 15 BA */ rlwinm r5, r0, 2, 0x16, 0x1d
/* 80333DE4 00330D24 88 02 C9 E8 */ lbz r0, lbl_804563E8-_SDA2_BASE_(r2)
/* 80333DE8 00330D28 54 04 34 B2 */ rlwinm r4, r0, 6, 0x12, 0x19
/* 80333DEC 00330D2C 54 E0 20 36 */ slwi r0, r7, 4
/* 80333DF0 00330D30 7C 00 2A 14 */ add r0, r0, r5
/* 80333DF4 00330D34 7C 00 32 14 */ add r0, r0, r6
/* 80333DF8 00330D38 7C 04 02 14 */ add r0, r4, r0
/* 80333DFC 00330D3C 98 03 00 00 */ stb r0, 0(r3)
/* 80333E00 00330D40 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newFog
J3DMaterialFactory_v21_NS_newFog:
/* 80333E04 00330D44 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80333E08 00330D48 7C 08 02 A6 */ mflr r0
/* 80333E0C 00330D4C 90 01 00 74 */ stw r0, 0x74(r1)
/* 80333E10 00330D50 39 61 00 70 */ addi r11, r1, 0x70
/* 80333E14 00330D54 48 02 E3 C9 */ bl _savegpr_29
/* 80333E18 00330D58 7C 7F 1B 78 */ mr r31, r3
/* 80333E1C 00330D5C 7C 9D 23 78 */ mr r29, r4
/* 80333E20 00330D60 7C BE 2B 78 */ mr r30, r5
/* 80333E24 00330D64 38 61 00 34 */ addi r3, r1, 0x34
/* 80333E28 00330D68 3C 80 80 3A */ lis r4, lbl_803A1FBC@ha
/* 80333E2C 00330D6C 38 84 1F BC */ addi r4, r4, lbl_803A1FBC@l
/* 80333E30 00330D70 4B FF 19 D1 */ bl J3DFogInfo_NS___as
/* 80333E34 00330D74 80 9D 00 04 */ lwz r4, 4(r29)
/* 80333E38 00330D78 80 7D 00 08 */ lwz r3, 8(r29)
/* 80333E3C 00330D7C 57 C0 08 3C */ slwi r0, r30, 1
/* 80333E40 00330D80 7C 03 02 2E */ lhzx r0, r3, r0
/* 80333E44 00330D84 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333E48 00330D88 7C 64 02 14 */ add r3, r4, r0
/* 80333E4C 00330D8C A0 03 01 30 */ lhz r0, 0x130(r3)
/* 80333E50 00330D90 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333E54 00330D94 41 82 00 48 */ beq lbl_80333E9C
/* 80333E58 00330D98 80 7D 00 50 */ lwz r3, 0x50(r29)
/* 80333E5C 00330D9C 1C 00 00 2C */ mulli r0, r0, 0x2c
/* 80333E60 00330DA0 38 A1 00 04 */ addi r5, r1, 4
/* 80333E64 00330DA4 7C 83 02 14 */ add r4, r3, r0
/* 80333E68 00330DA8 38 00 00 05 */ li r0, 5
/* 80333E6C 00330DAC 7C 09 03 A6 */ mtctr r0
/* 80333E70 00330DB0 38 84 FF FC */ addi r4, r4, -4
lbl_80333E74:
/* 80333E74 00330DB4 80 64 00 04 */ lwz r3, 4(r4)
/* 80333E78 00330DB8 84 04 00 08 */ lwzu r0, 8(r4)
/* 80333E7C 00330DBC 90 65 00 04 */ stw r3, 4(r5)
/* 80333E80 00330DC0 94 05 00 08 */ stwu r0, 8(r5)
/* 80333E84 00330DC4 42 00 FF F0 */ bdnz lbl_80333E74
/* 80333E88 00330DC8 80 04 00 04 */ lwz r0, 4(r4)
/* 80333E8C 00330DCC 90 05 00 04 */ stw r0, 4(r5)
/* 80333E90 00330DD0 38 61 00 34 */ addi r3, r1, 0x34
/* 80333E94 00330DD4 38 81 00 08 */ addi r4, r1, 8
/* 80333E98 00330DD8 4B FF 19 69 */ bl J3DFogInfo_NS___as
lbl_80333E9C:
/* 80333E9C 00330DDC 38 BF FF FC */ addi r5, r31, -4
/* 80333EA0 00330DE0 38 81 00 30 */ addi r4, r1, 0x30
/* 80333EA4 00330DE4 38 00 00 05 */ li r0, 5
/* 80333EA8 00330DE8 7C 09 03 A6 */ mtctr r0
lbl_80333EAC:
/* 80333EAC 00330DEC 80 64 00 04 */ lwz r3, 4(r4)
/* 80333EB0 00330DF0 84 04 00 08 */ lwzu r0, 8(r4)
/* 80333EB4 00330DF4 90 65 00 04 */ stw r3, 4(r5)
/* 80333EB8 00330DF8 94 05 00 08 */ stwu r0, 8(r5)
/* 80333EBC 00330DFC 42 00 FF F0 */ bdnz lbl_80333EAC
/* 80333EC0 00330E00 80 04 00 04 */ lwz r0, 4(r4)
/* 80333EC4 00330E04 90 05 00 04 */ stw r0, 4(r5)
/* 80333EC8 00330E08 39 61 00 70 */ addi r11, r1, 0x70
/* 80333ECC 00330E0C 48 02 E3 5D */ bl _restgpr_29
/* 80333ED0 00330E10 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80333ED4 00330E14 7C 08 03 A6 */ mtlr r0
/* 80333ED8 00330E18 38 21 00 70 */ addi r1, r1, 0x70
/* 80333EDC 00330E1C 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newAlphaComp
J3DMaterialFactory_v21_NS_newAlphaComp:
/* 80333EE0 00330E20 80 E4 00 04 */ lwz r7, 4(r4)
/* 80333EE4 00330E24 80 C4 00 08 */ lwz r6, 8(r4)
/* 80333EE8 00330E28 54 A0 08 3C */ slwi r0, r5, 1
/* 80333EEC 00330E2C 7C 06 02 2E */ lhzx r0, r6, r0
/* 80333EF0 00330E30 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333EF4 00330E34 7C A7 02 14 */ add r5, r7, r0
/* 80333EF8 00330E38 A0 05 01 32 */ lhz r0, 0x132(r5)
/* 80333EFC 00330E3C 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333F00 00330E40 41 82 00 44 */ beq lbl_80333F44
/* 80333F04 00330E44 80 84 00 54 */ lwz r4, 0x54(r4)
/* 80333F08 00330E48 54 00 1B 78 */ rlwinm r0, r0, 3, 0xd, 0x1c
/* 80333F0C 00330E4C 7C C4 02 14 */ add r6, r4, r0
/* 80333F10 00330E50 88 06 00 00 */ lbz r0, 0(r6)
/* 80333F14 00330E54 88 A6 00 03 */ lbz r5, 3(r6)
/* 80333F18 00330E58 54 04 28 34 */ slwi r4, r0, 5
/* 80333F1C 00330E5C 88 06 00 02 */ lbz r0, 2(r6)
/* 80333F20 00330E60 54 00 1D 78 */ rlwinm r0, r0, 3, 0x15, 0x1c
/* 80333F24 00330E64 7C 00 2A 14 */ add r0, r0, r5
/* 80333F28 00330E68 7C 04 02 14 */ add r0, r4, r0
/* 80333F2C 00330E6C B0 03 00 00 */ sth r0, 0(r3)
/* 80333F30 00330E70 88 06 00 01 */ lbz r0, 1(r6)
/* 80333F34 00330E74 98 03 00 02 */ stb r0, 2(r3)
/* 80333F38 00330E78 88 06 00 04 */ lbz r0, 4(r6)
/* 80333F3C 00330E7C 98 03 00 03 */ stb r0, 3(r3)
/* 80333F40 00330E80 4E 80 00 20 */ blr
lbl_80333F44:
/* 80333F44 00330E84 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 80333F48 00330E88 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l
/* 80333F4C 00330E8C B0 03 00 00 */ sth r0, 0(r3)
/* 80333F50 00330E90 38 00 00 00 */ li r0, 0
/* 80333F54 00330E94 98 03 00 02 */ stb r0, 2(r3)
/* 80333F58 00330E98 98 03 00 03 */ stb r0, 3(r3)
/* 80333F5C 00330E9C 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newBlend
J3DMaterialFactory_v21_NS_newBlend:
/* 80333F60 00330EA0 80 E4 00 04 */ lwz r7, 4(r4)
/* 80333F64 00330EA4 80 C4 00 08 */ lwz r6, 8(r4)
/* 80333F68 00330EA8 54 A0 08 3C */ slwi r0, r5, 1
/* 80333F6C 00330EAC 7C 06 02 2E */ lhzx r0, r6, r0
/* 80333F70 00330EB0 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333F74 00330EB4 7C A7 02 14 */ add r5, r7, r0
/* 80333F78 00330EB8 A0 05 01 34 */ lhz r0, 0x134(r5)
/* 80333F7C 00330EBC 28 00 FF FF */ cmplwi r0, 0xffff
/* 80333F80 00330EC0 41 82 00 18 */ beq lbl_80333F98
/* 80333F84 00330EC4 80 84 00 58 */ lwz r4, 0x58(r4)
/* 80333F88 00330EC8 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 80333F8C 00330ECC 7C 04 00 2E */ lwzx r0, r4, r0
/* 80333F90 00330ED0 90 03 00 00 */ stw r0, 0(r3)
/* 80333F94 00330ED4 4E 80 00 20 */ blr
lbl_80333F98:
/* 80333F98 00330ED8 80 02 C9 EC */ lwz r0, lbl_804563EC-_SDA2_BASE_(r2)
/* 80333F9C 00330EDC 90 03 00 00 */ stw r0, 0(r3)
/* 80333FA0 00330EE0 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newZMode
J3DMaterialFactory_v21_NS_newZMode:
/* 80333FA4 00330EE4 80 E4 00 04 */ lwz r7, 4(r4)
/* 80333FA8 00330EE8 80 C4 00 08 */ lwz r6, 8(r4)
/* 80333FAC 00330EEC 54 A0 08 3C */ slwi r0, r5, 1
/* 80333FB0 00330EF0 7C 06 02 2E */ lhzx r0, r6, r0
/* 80333FB4 00330EF4 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80333FB8 00330EF8 7C A7 02 14 */ add r5, r7, r0
/* 80333FBC 00330EFC 88 05 00 06 */ lbz r0, 6(r5)
/* 80333FC0 00330F00 28 00 00 FF */ cmplwi r0, 0xff
/* 80333FC4 00330F04 41 82 00 34 */ beq lbl_80333FF8
/* 80333FC8 00330F08 80 84 00 5C */ lwz r4, 0x5c(r4)
/* 80333FCC 00330F0C 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 80333FD0 00330F10 7C 84 02 14 */ add r4, r4, r0
/* 80333FD4 00330F14 88 C4 00 00 */ lbz r6, 0(r4)
/* 80333FD8 00330F18 88 A4 00 02 */ lbz r5, 2(r4)
/* 80333FDC 00330F1C 88 04 00 01 */ lbz r0, 1(r4)
/* 80333FE0 00330F20 54 04 0D FC */ rlwinm r4, r0, 1, 0x17, 0x1e
/* 80333FE4 00330F24 54 C0 20 36 */ slwi r0, r6, 4
/* 80333FE8 00330F28 7C 00 2A 14 */ add r0, r0, r5
/* 80333FEC 00330F2C 7C 04 02 14 */ add r0, r4, r0
/* 80333FF0 00330F30 B0 03 00 00 */ sth r0, 0(r3)
/* 80333FF4 00330F34 4E 80 00 20 */ blr
lbl_80333FF8:
/* 80333FF8 00330F38 A0 02 C9 FC */ lhz r0, lbl_804563FC-_SDA2_BASE_(r2)
/* 80333FFC 00330F3C B0 03 00 00 */ sth r0, 0(r3)
/* 80334000 00330F40 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newZCompLoc
J3DMaterialFactory_v21_NS_newZCompLoc:
/* 80334004 00330F44 80 C3 00 04 */ lwz r6, 4(r3)
/* 80334008 00330F48 80 A3 00 08 */ lwz r5, 8(r3)
/* 8033400C 00330F4C 54 80 08 3C */ slwi r0, r4, 1
/* 80334010 00330F50 7C 05 02 2E */ lhzx r0, r5, r0
/* 80334014 00330F54 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80334018 00330F58 7C 86 02 14 */ add r4, r6, r0
/* 8033401C 00330F5C 88 04 00 05 */ lbz r0, 5(r4)
/* 80334020 00330F60 28 00 00 FF */ cmplwi r0, 0xff
/* 80334024 00330F64 41 82 00 10 */ beq lbl_80334034
/* 80334028 00330F68 80 63 00 60 */ lwz r3, 0x60(r3)
/* 8033402C 00330F6C 7C 63 00 AE */ lbzx r3, r3, r0
/* 80334030 00330F70 4E 80 00 20 */ blr
lbl_80334034:
/* 80334034 00330F74 38 60 00 00 */ li r3, 0
/* 80334038 00330F78 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newDither
J3DMaterialFactory_v21_NS_newDither:
/* 8033403C 00330F7C 80 C3 00 04 */ lwz r6, 4(r3)
/* 80334040 00330F80 80 A3 00 08 */ lwz r5, 8(r3)
/* 80334044 00330F84 54 80 08 3C */ slwi r0, r4, 1
/* 80334048 00330F88 7C 05 02 2E */ lhzx r0, r5, r0
/* 8033404C 00330F8C 1C 00 01 38 */ mulli r0, r0, 0x138
/* 80334050 00330F90 7C 86 02 14 */ add r4, r6, r0
/* 80334054 00330F94 88 04 00 07 */ lbz r0, 7(r4)
/* 80334058 00330F98 28 00 00 FF */ cmplwi r0, 0xff
/* 8033405C 00330F9C 41 82 00 10 */ beq lbl_8033406C
/* 80334060 00330FA0 80 63 00 64 */ lwz r3, 0x64(r3)
/* 80334064 00330FA4 7C 63 00 AE */ lbzx r3, r3, r0
/* 80334068 00330FA8 4E 80 00 20 */ blr
lbl_8033406C:
/* 8033406C 00330FAC 38 60 00 01 */ li r3, 1
/* 80334070 00330FB0 4E 80 00 20 */ blr
.global J3DMaterialFactory_v21_NS_newNBTScale
J3DMaterialFactory_v21_NS_newNBTScale:
/* 80334074 00330FB4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80334078 00330FB8 3C C0 80 3A */ lis r6, lbl_803A1FE8@ha
/* 8033407C 00330FBC 8C 06 1F E8 */ lbzu r0, lbl_803A1FE8@l(r6)
/* 80334080 00330FC0 98 01 00 08 */ stb r0, 8(r1)
/* 80334084 00330FC4 C0 06 00 04 */ lfs f0, 4(r6)
/* 80334088 00330FC8 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8033408C 00330FCC C0 06 00 08 */ lfs f0, 8(r6)
/* 80334090 00330FD0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80334094 00330FD4 C0 06 00 0C */ lfs f0, 0xc(r6)
/* 80334098 00330FD8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8033409C 00330FDC 80 E4 00 04 */ lwz r7, 4(r4)
/* 803340A0 00330FE0 80 C4 00 08 */ lwz r6, 8(r4)
/* 803340A4 00330FE4 54 A0 08 3C */ slwi r0, r5, 1
/* 803340A8 00330FE8 7C 06 02 2E */ lhzx r0, r6, r0
/* 803340AC 00330FEC 1C 00 01 38 */ mulli r0, r0, 0x138
/* 803340B0 00330FF0 7C A7 02 14 */ add r5, r7, r0
/* 803340B4 00330FF4 A0 05 01 36 */ lhz r0, 0x136(r5)
/* 803340B8 00330FF8 28 00 FF FF */ cmplwi r0, 0xffff
/* 803340BC 00330FFC 41 82 00 34 */ beq lbl_803340F0
/* 803340C0 00331000 80 84 00 68 */ lwz r4, 0x68(r4)
/* 803340C4 00331004 54 00 23 36 */ rlwinm r0, r0, 4, 0xc, 0x1b
/* 803340C8 00331008 7C 84 02 14 */ add r4, r4, r0
/* 803340CC 0033100C 88 04 00 00 */ lbz r0, 0(r4)
/* 803340D0 00331010 98 03 00 00 */ stb r0, 0(r3)
/* 803340D4 00331014 C0 04 00 04 */ lfs f0, 4(r4)
/* 803340D8 00331018 D0 03 00 04 */ stfs f0, 4(r3)
/* 803340DC 0033101C C0 04 00 08 */ lfs f0, 8(r4)
/* 803340E0 00331020 D0 03 00 08 */ stfs f0, 8(r3)
/* 803340E4 00331024 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 803340E8 00331028 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 803340EC 0033102C 48 00 00 24 */ b lbl_80334110
lbl_803340F0:
/* 803340F0 00331030 80 81 00 08 */ lwz r4, 8(r1)
/* 803340F4 00331034 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803340F8 00331038 90 83 00 00 */ stw r4, 0(r3)
/* 803340FC 0033103C 90 03 00 04 */ stw r0, 4(r3)
/* 80334100 00331040 80 81 00 10 */ lwz r4, 0x10(r1)
/* 80334104 00331044 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80334108 00331048 90 83 00 08 */ stw r4, 8(r3)
/* 8033410C 0033104C 90 03 00 0C */ stw r0, 0xc(r3)
lbl_80334110:
/* 80334110 00331050 38 21 00 20 */ addi r1, r1, 0x20
/* 80334114 00331054 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X62_
JSUConvertOffsetToPtr_X62_:
/* 80334118 00331058 28 04 00 00 */ cmplwi r4, 0
/* 8033411C 0033105C 40 82 00 0C */ bne lbl_80334128
/* 80334120 00331060 38 60 00 00 */ li r3, 0
/* 80334124 00331064 4E 80 00 20 */ blr
lbl_80334128:
/* 80334128 00331068 7C 63 22 14 */ add r3, r3, r4
/* 8033412C 0033106C 4E 80 00 20 */ blr