prime/asm/Kyoto/Graphics/CCubeModel.s

1615 lines
78 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .sbss, "wa"
.balign 8
.global lbl_805A9340
lbl_805A9340:
.skip 0x1
.global lbl_805A9341
lbl_805A9341:
.skip 0x1
.global lbl_805A9342
lbl_805A9342:
.skip 0x2
.global lbl_805A9344
lbl_805A9344:
.skip 0x4
.global lbl_805A9348
lbl_805A9348:
.skip 0x4
.global lbl_805A934C
lbl_805A934C:
.skip 0x4
.global lbl_805A9350
lbl_805A9350:
.skip 0x8
.section .text, "ax"
.global sub_80306630
sub_80306630:
/* 80306630 00303590 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80306634 00303594 7C 08 02 A6 */ mflr r0
/* 80306638 00303598 3C E0 80 5A */ lis r7, sGXState__3CGX@ha
/* 8030663C 0030359C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80306640 003035A0 38 E7 53 EC */ addi r7, r7, sGXState__3CGX@l
/* 80306644 003035A4 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 80306648 003035A8 7C 7C 1B 78 */ mr r28, r3
/* 8030664C 003035AC 7C 9D 23 78 */ mr r29, r4
/* 80306650 003035B0 7C BE 2B 78 */ mr r30, r5
/* 80306654 003035B4 7C DF 33 78 */ mr r31, r6
/* 80306658 003035B8 88 07 00 51 */ lbz r0, 0x51(r7)
/* 8030665C 003035BC 28 00 00 00 */ cmplwi r0, 0
/* 80306660 003035C0 41 82 00 14 */ beq lbl_80306674
/* 80306664 003035C4 38 00 00 00 */ li r0, 0
/* 80306668 003035C8 38 60 00 00 */ li r3, 0
/* 8030666C 003035CC 98 07 00 51 */ stb r0, 0x51(r7)
/* 80306670 003035D0 48 07 4C 49 */ bl GXSetNumIndStages
lbl_80306674:
/* 80306674 003035D4 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80306678 003035D8 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
/* 8030667C 003035DC 88 04 00 50 */ lbz r0, 0x50(r4)
/* 80306680 003035E0 28 00 00 01 */ cmplwi r0, 1
/* 80306684 003035E4 41 82 00 14 */ beq lbl_80306698
/* 80306688 003035E8 38 00 00 01 */ li r0, 1
/* 8030668C 003035EC 38 60 00 01 */ li r3, 1
/* 80306690 003035F0 98 04 00 50 */ stb r0, 0x50(r4)
/* 80306694 003035F4 48 07 55 39 */ bl GXSetNumTevStages
lbl_80306698:
/* 80306698 003035F8 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 8030669C 003035FC 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
/* 803066A0 00303600 88 04 00 4F */ lbz r0, 0x4f(r4)
/* 803066A4 00303604 28 00 00 01 */ cmplwi r0, 1
/* 803066A8 00303608 41 82 00 14 */ beq lbl_803066BC
/* 803066AC 0030360C 38 00 00 01 */ li r0, 1
/* 803066B0 00303610 38 60 00 01 */ li r3, 1
/* 803066B4 00303614 98 04 00 4F */ stb r0, 0x4f(r4)
/* 803066B8 00303618 48 07 1B AD */ bl GXSetNumTexGens
lbl_803066BC:
/* 803066BC 0030361C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803066C0 00303620 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
/* 803066C4 00303624 88 04 00 52 */ lbz r0, 0x52(r4)
/* 803066C8 00303628 28 00 00 0F */ cmplwi r0, 0xf
/* 803066CC 0030362C 41 82 00 1C */ beq lbl_803066E8
/* 803066D0 00303630 38 00 00 0F */ li r0, 0xf
/* 803066D4 00303634 38 60 00 01 */ li r3, 1
/* 803066D8 00303638 98 04 00 52 */ stb r0, 0x52(r4)
/* 803066DC 0030363C 38 80 00 03 */ li r4, 3
/* 803066E0 00303640 38 A0 00 01 */ li r5, 1
/* 803066E4 00303644 48 07 58 75 */ bl GXSetZMode
lbl_803066E8:
/* 803066E8 00303648 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803066EC 0030364C 3B 63 53 EC */ addi r27, r3, sGXState__3CGX@l
/* 803066F0 00303650 80 7B 00 7C */ lwz r3, 0x7c(r27)
/* 803066F4 00303654 3C 03 FF 01 */ addis r0, r3, 0xff01
/* 803066F8 00303658 28 00 FF FF */ cmplwi r0, 0xffff
/* 803066FC 0030365C 41 82 00 24 */ beq lbl_80306720
/* 80306700 00303660 3C 80 01 00 */ lis r4, 0x00FFFFFF@ha
/* 80306704 00303664 38 60 00 00 */ li r3, 0
/* 80306708 00303668 38 04 FF FF */ addi r0, r4, 0x00FFFFFF@l
/* 8030670C 0030366C 38 80 00 FF */ li r4, 0xff
/* 80306710 00303670 90 1B 00 7C */ stw r0, 0x7c(r27)
/* 80306714 00303674 38 A0 00 FF */ li r5, 0xff
/* 80306718 00303678 38 C0 00 FF */ li r6, 0xff
/* 8030671C 0030367C 48 07 52 D9 */ bl GXSetTevOrder
lbl_80306720:
/* 80306720 00303680 80 7B 00 68 */ lwz r3, 0x68(r27)
/* 80306724 00303684 3C 03 FF F9 */ addis r0, r3, 0xfff9
/* 80306728 00303688 28 00 BD EF */ cmplwi r0, 0xbdef
/* 8030672C 0030368C 41 82 00 28 */ beq lbl_80306754
/* 80306730 00303690 3C 80 00 08 */ lis r4, 0x0007BDEF@ha
/* 80306734 00303694 38 60 00 00 */ li r3, 0
/* 80306738 00303698 38 04 BD EF */ addi r0, r4, 0x0007BDEF@l
/* 8030673C 0030369C 38 80 00 0F */ li r4, 0xf
/* 80306740 003036A0 90 1B 00 68 */ stw r0, 0x68(r27)
/* 80306744 003036A4 38 A0 00 0F */ li r5, 0xf
/* 80306748 003036A8 38 C0 00 0F */ li r6, 0xf
/* 8030674C 003036AC 38 E0 00 0F */ li r7, 0xf
/* 80306750 003036B0 48 07 4D 55 */ bl GXSetTevColorIn
lbl_80306754:
/* 80306754 003036B4 80 7B 00 6C */ lwz r3, 0x6c(r27)
/* 80306758 003036B8 3C 03 FF FD */ addis r0, r3, 0xfffd
/* 8030675C 003036BC 28 00 9C E7 */ cmplwi r0, 0x9ce7
/* 80306760 003036C0 41 82 00 28 */ beq lbl_80306788
/* 80306764 003036C4 3C 80 00 04 */ lis r4, 0x00039CE7@ha
/* 80306768 003036C8 38 60 00 00 */ li r3, 0
/* 8030676C 003036CC 38 04 9C E7 */ addi r0, r4, 0x00039CE7@l
/* 80306770 003036D0 38 80 00 07 */ li r4, 7
/* 80306774 003036D4 90 1B 00 6C */ stw r0, 0x6c(r27)
/* 80306778 003036D8 38 A0 00 07 */ li r5, 7
/* 8030677C 003036DC 38 C0 00 07 */ li r6, 7
/* 80306780 003036E0 38 E0 00 07 */ li r7, 7
/* 80306784 003036E4 48 07 4D 65 */ bl GXSetTevAlphaIn
lbl_80306788:
/* 80306788 003036E8 38 60 00 00 */ li r3, 0
/* 8030678C 003036EC 48 00 14 C5 */ bl SetStandardTevColorAlphaOp__3CGXF13_GXTevStageID
/* 80306790 003036F0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80306794 003036F4 3B 63 53 EC */ addi r27, r3, sGXState__3CGX@l
/* 80306798 003036F8 A0 1B 00 56 */ lhz r0, 0x56(r27)
/* 8030679C 003036FC 28 00 00 21 */ cmplwi r0, 0x21
/* 803067A0 00303700 41 82 00 28 */ beq lbl_803067C8
/* 803067A4 00303704 38 60 00 21 */ li r3, 0x21
/* 803067A8 00303708 4B DA DB D1 */ bl update_fog__3CGXFUi
/* 803067AC 0030370C 38 00 00 21 */ li r0, 0x21
/* 803067B0 00303710 38 60 00 01 */ li r3, 1
/* 803067B4 00303714 B0 1B 00 56 */ sth r0, 0x56(r27)
/* 803067B8 00303718 38 80 00 00 */ li r4, 0
/* 803067BC 0030371C 38 A0 00 01 */ li r5, 1
/* 803067C0 00303720 38 C0 00 00 */ li r6, 0
/* 803067C4 00303724 48 07 56 E9 */ bl GXSetBlendMode
lbl_803067C8:
/* 803067C8 00303728 7F 83 E3 78 */ mr r3, r28
/* 803067CC 0030372C 7F A4 EB 78 */ mr r4, r29
/* 803067D0 00303730 7F C5 F3 78 */ mr r5, r30
/* 803067D4 00303734 7F E6 FB 78 */ mr r6, r31
/* 803067D8 00303738 48 00 02 19 */ bl DrawFlat__10CCubeModelCFPCfPCf17ESurfaceSelection
/* 803067DC 0030373C BB 61 00 0C */ lmw r27, 0xc(r1)
/* 803067E0 00303740 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803067E4 00303744 7C 08 03 A6 */ mtlr r0
/* 803067E8 00303748 38 21 00 20 */ addi r1, r1, 0x20
/* 803067EC 0030374C 4E 80 00 20 */ blr
.global "RemapMaterialData__10CCubeModelFPCvPQ24rstl60vector<23TCachedToken<8CTexture>,Q24rstl17rmemory_allocator>"
"RemapMaterialData__10CCubeModelFPCvPQ24rstl60vector<23TCachedToken<8CTexture>,Q24rstl17rmemory_allocator>":
/* 803067F0 00303750 90 83 00 04 */ stw r4, 4(r3)
/* 803067F4 00303754 38 80 00 00 */ li r4, 0
/* 803067F8 00303758 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 803067FC 0030375C 88 03 00 40 */ lbz r0, 0x40(r3)
/* 80306800 00303760 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 80306804 00303764 98 03 00 40 */ stb r0, 0x40(r3)
/* 80306808 00303768 4E 80 00 20 */ blr
.global UnlockTextures__10CCubeModelCFv
UnlockTextures__10CCubeModelCFv:
/* 8030680C 0030376C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80306810 00303770 7C 08 02 A6 */ mflr r0
/* 80306814 00303774 90 01 00 24 */ stw r0, 0x24(r1)
/* 80306818 00303778 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8030681C 0030377C 3B E0 00 00 */ li r31, 0
/* 80306820 00303780 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80306824 00303784 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80306828 00303788 7C 7D 1B 78 */ mr r29, r3
/* 8030682C 0030378C 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 80306830 00303790 83 C3 00 0C */ lwz r30, 0xc(r3)
/* 80306834 00303794 48 00 00 14 */ b lbl_80306848
lbl_80306838:
/* 80306838 00303798 93 FE 00 08 */ stw r31, 8(r30)
/* 8030683C 0030379C 7F C3 F3 78 */ mr r3, r30
/* 80306840 003037A0 48 03 A5 01 */ bl Unlock__6CTokenFv
/* 80306844 003037A4 3B DE 00 0C */ addi r30, r30, 0xc
lbl_80306848:
/* 80306848 003037A8 80 7D 00 1C */ lwz r3, 0x1c(r29)
/* 8030684C 003037AC 80 03 00 04 */ lwz r0, 4(r3)
/* 80306850 003037B0 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80306854 003037B4 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80306858 003037B8 7C 03 02 14 */ add r0, r3, r0
/* 8030685C 003037BC 7C 1E 00 40 */ cmplw r30, r0
/* 80306860 003037C0 40 82 FF D8 */ bne lbl_80306838
/* 80306864 003037C4 88 1D 00 40 */ lbz r0, 0x40(r29)
/* 80306868 003037C8 38 60 00 00 */ li r3, 0
/* 8030686C 003037CC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80306870 003037D0 98 1D 00 40 */ stb r0, 0x40(r29)
/* 80306874 003037D4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80306878 003037D8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8030687C 003037DC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80306880 003037E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80306884 003037E4 7C 08 03 A6 */ mtlr r0
/* 80306888 003037E8 38 21 00 20 */ addi r1, r1, 0x20
/* 8030688C 003037EC 4E 80 00 20 */ blr
.global SetModelWireframe__10CCubeModelFb
SetModelWireframe__10CCubeModelFb:
/* 80306890 003037F0 98 6D A7 81 */ stb r3, lbl_805A9341@sda21(r13)
/* 80306894 003037F4 4E 80 00 20 */ blr
.global SetDrawingOccluders__10CCubeModelFb
SetDrawingOccluders__10CCubeModelFb:
/* 80306898 003037F8 98 6D A7 80 */ stb r3, lbl_805A9340@sda21(r13)
/* 8030689C 003037FC 4E 80 00 20 */ blr
.global DrawAlpha__10CCubeModelCFRC11CModelFlags
DrawAlpha__10CCubeModelCFRC11CModelFlags:
/* 803068A0 00303800 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803068A4 00303804 7C 08 02 A6 */ mflr r0
/* 803068A8 00303808 90 01 00 14 */ stw r0, 0x14(r1)
/* 803068AC 0030380C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803068B0 00303810 7C 9F 23 78 */ mr r31, r4
/* 803068B4 00303814 93 C1 00 08 */ stw r30, 8(r1)
/* 803068B8 00303818 7C 7E 1B 78 */ mr r30, r3
/* 803068BC 0030381C 48 03 F0 85 */ bl KillCachedViewDepState__13CCubeMaterialFv
/* 803068C0 00303820 7F C3 F3 78 */ mr r3, r30
/* 803068C4 00303824 48 00 0D 5D */ bl SetArraysCurrent__10CCubeModelCFv
/* 803068C8 00303828 7F C3 F3 78 */ mr r3, r30
/* 803068CC 0030382C 7F E4 FB 78 */ mr r4, r31
/* 803068D0 00303830 48 00 02 61 */ bl DrawAlphaSurfaces__10CCubeModelCFRC11CModelFlags
/* 803068D4 00303834 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803068D8 00303838 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803068DC 0030383C 83 C1 00 08 */ lwz r30, 8(r1)
/* 803068E0 00303840 7C 08 03 A6 */ mtlr r0
/* 803068E4 00303844 38 21 00 10 */ addi r1, r1, 0x10
/* 803068E8 00303848 4E 80 00 20 */ blr
.global DrawNormal__10CCubeModelCFRC11CModelFlags
DrawNormal__10CCubeModelCFRC11CModelFlags:
/* 803068EC 0030384C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803068F0 00303850 7C 08 02 A6 */ mflr r0
/* 803068F4 00303854 90 01 00 14 */ stw r0, 0x14(r1)
/* 803068F8 00303858 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803068FC 0030385C 7C 9F 23 78 */ mr r31, r4
/* 80306900 00303860 93 C1 00 08 */ stw r30, 8(r1)
/* 80306904 00303864 7C 7E 1B 78 */ mr r30, r3
/* 80306908 00303868 48 03 F0 39 */ bl KillCachedViewDepState__13CCubeMaterialFv
/* 8030690C 0030386C 7F C3 F3 78 */ mr r3, r30
/* 80306910 00303870 48 00 0D 11 */ bl SetArraysCurrent__10CCubeModelCFv
/* 80306914 00303874 7F C3 F3 78 */ mr r3, r30
/* 80306918 00303878 7F E4 FB 78 */ mr r4, r31
/* 8030691C 0030387C 48 00 02 C9 */ bl DrawNormalSurfaces__10CCubeModelCFRC11CModelFlags
/* 80306920 00303880 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80306924 00303884 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80306928 00303888 83 C1 00 08 */ lwz r30, 8(r1)
/* 8030692C 0030388C 7C 08 03 A6 */ mtlr r0
/* 80306930 00303890 38 21 00 10 */ addi r1, r1, 0x10
/* 80306934 00303894 4E 80 00 20 */ blr
.global Draw__10CCubeModelCFPCfPCfRC11CModelFlags
Draw__10CCubeModelCFPCfPCfRC11CModelFlags:
/* 80306938 00303898 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8030693C 0030389C 7C 08 02 A6 */ mflr r0
/* 80306940 003038A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80306944 003038A4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80306948 003038A8 7C DF 33 78 */ mr r31, r6
/* 8030694C 003038AC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80306950 003038B0 7C BE 2B 78 */ mr r30, r5
/* 80306954 003038B4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80306958 003038B8 7C 9D 23 78 */ mr r29, r4
/* 8030695C 003038BC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80306960 003038C0 7C 7C 1B 78 */ mr r28, r3
/* 80306964 003038C4 48 03 EF DD */ bl KillCachedViewDepState__13CCubeMaterialFv
/* 80306968 003038C8 7F 83 E3 78 */ mr r3, r28
/* 8030696C 003038CC 7F A4 EB 78 */ mr r4, r29
/* 80306970 003038D0 7F C5 F3 78 */ mr r5, r30
/* 80306974 003038D4 48 00 0C 71 */ bl SetSkinningArraysCurrent__10CCubeModelCFPCfPCf
/* 80306978 003038D8 7F 83 E3 78 */ mr r3, r28
/* 8030697C 003038DC 7F E4 FB 78 */ mr r4, r31
/* 80306980 003038E0 48 00 03 19 */ bl DrawSurfaces__10CCubeModelCFRC11CModelFlags
/* 80306984 003038E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80306988 003038E8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8030698C 003038EC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80306990 003038F0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80306994 003038F4 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80306998 003038F8 7C 08 03 A6 */ mtlr r0
/* 8030699C 003038FC 38 21 00 20 */ addi r1, r1, 0x20
/* 803069A0 00303900 4E 80 00 20 */ blr
.global Draw__10CCubeModelCFRC11CModelFlags
Draw__10CCubeModelCFRC11CModelFlags:
/* 803069A4 00303904 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803069A8 00303908 7C 08 02 A6 */ mflr r0
/* 803069AC 0030390C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803069B0 00303910 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803069B4 00303914 7C 9F 23 78 */ mr r31, r4
/* 803069B8 00303918 93 C1 00 08 */ stw r30, 8(r1)
/* 803069BC 0030391C 7C 7E 1B 78 */ mr r30, r3
/* 803069C0 00303920 48 03 EF 81 */ bl KillCachedViewDepState__13CCubeMaterialFv
/* 803069C4 00303924 7F C3 F3 78 */ mr r3, r30
/* 803069C8 00303928 48 00 0C 59 */ bl SetArraysCurrent__10CCubeModelCFv
/* 803069CC 0030392C 7F C3 F3 78 */ mr r3, r30
/* 803069D0 00303930 7F E4 FB 78 */ mr r4, r31
/* 803069D4 00303934 48 00 02 C5 */ bl DrawSurfaces__10CCubeModelCFRC11CModelFlags
/* 803069D8 00303938 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803069DC 0030393C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803069E0 00303940 83 C1 00 08 */ lwz r30, 8(r1)
/* 803069E4 00303944 7C 08 03 A6 */ mtlr r0
/* 803069E8 00303948 38 21 00 10 */ addi r1, r1, 0x10
/* 803069EC 0030394C 4E 80 00 20 */ blr
.global DrawFlat__10CCubeModelCFPCfPCf17ESurfaceSelection
DrawFlat__10CCubeModelCFPCfPCf17ESurfaceSelection:
/* 803069F0 00303950 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803069F4 00303954 7C 08 02 A6 */ mflr r0
/* 803069F8 00303958 28 04 00 00 */ cmplwi r4, 0
/* 803069FC 0030395C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80306A00 00303960 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 80306A04 00303964 7C 7F 1B 78 */ mr r31, r3
/* 80306A08 00303968 7C DA 33 78 */ mr r26, r6
/* 80306A0C 0030396C 41 82 00 0C */ beq lbl_80306A18
/* 80306A10 00303970 48 00 0B D5 */ bl SetSkinningArraysCurrent__10CCubeModelCFPCfPCf
/* 80306A14 00303974 48 00 00 08 */ b lbl_80306A1C
lbl_80306A18:
/* 80306A18 00303978 48 00 0C 09 */ bl SetArraysCurrent__10CCubeModelCFv
lbl_80306A1C:
/* 80306A1C 0030397C 2C 1A 00 01 */ cmpwi r26, 1
/* 80306A20 00303980 41 82 00 7C */ beq lbl_80306A9C
/* 80306A24 00303984 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80306A28 00303988 83 7F 00 38 */ lwz r27, 0x38(r31)
/* 80306A2C 0030398C 3B C3 53 EC */ addi r30, r3, sGXState__3CGX@l
/* 80306A30 00303990 48 00 00 64 */ b lbl_80306A94
lbl_80306A34:
/* 80306A34 00303994 80 BB 00 0C */ lwz r5, 0xc(r27)
/* 80306A38 00303998 7F E4 FB 78 */ mr r4, r31
/* 80306A3C 0030399C 38 61 00 0C */ addi r3, r1, 0xc
/* 80306A40 003039A0 48 00 0A CD */ bl GetMaterialByIndex__10CCubeModelCFi
/* 80306A44 003039A4 80 81 00 0C */ lwz r4, 0xc(r1)
/* 80306A48 003039A8 80 04 00 04 */ lwz r0, 4(r4)
/* 80306A4C 003039AC 54 03 10 3A */ slwi r3, r0, 2
/* 80306A50 003039B0 38 03 00 08 */ addi r0, r3, 8
/* 80306A54 003039B4 7C 64 00 2E */ lwzx r3, r4, r0
/* 80306A58 003039B8 48 00 14 A5 */ bl SetVtxDescv_Compressed__3CGXFUi
/* 80306A5C 003039BC 80 7B 00 1C */ lwz r3, 0x1c(r27)
/* 80306A60 003039C0 88 1E 00 4C */ lbz r0, 0x4c(r30)
/* 80306A64 003039C4 38 63 00 4B */ addi r3, r3, 0x4b
/* 80306A68 003039C8 80 9B 00 10 */ lwz r4, 0x10(r27)
/* 80306A6C 003039CC 54 63 00 34 */ rlwinm r3, r3, 0, 0, 0x1a
/* 80306A70 003039D0 28 00 00 00 */ cmplwi r0, 0
/* 80306A74 003039D4 54 9D 00 7E */ clrlwi r29, r4, 1
/* 80306A78 003039D8 7F 9B 1A 14 */ add r28, r27, r3
/* 80306A7C 003039DC 41 82 00 08 */ beq lbl_80306A84
/* 80306A80 003039E0 48 00 15 65 */ bl FlushState__3CGXFv
lbl_80306A84:
/* 80306A84 003039E4 7F 83 E3 78 */ mr r3, r28
/* 80306A88 003039E8 7F A4 EB 78 */ mr r4, r29
/* 80306A8C 003039EC 48 07 57 49 */ bl GXCallDisplayList
/* 80306A90 003039F0 83 7B 00 18 */ lwz r27, 0x18(r27)
lbl_80306A94:
/* 80306A94 003039F4 28 1B 00 00 */ cmplwi r27, 0
/* 80306A98 003039F8 40 82 FF 9C */ bne lbl_80306A34
lbl_80306A9C:
/* 80306A9C 003039FC 2C 1A 00 00 */ cmpwi r26, 0
/* 80306AA0 00303A00 41 82 00 7C */ beq lbl_80306B1C
/* 80306AA4 00303A04 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80306AA8 00303A08 83 7F 00 3C */ lwz r27, 0x3c(r31)
/* 80306AAC 00303A0C 3B C3 53 EC */ addi r30, r3, sGXState__3CGX@l
/* 80306AB0 00303A10 48 00 00 64 */ b lbl_80306B14
lbl_80306AB4:
/* 80306AB4 00303A14 80 BB 00 0C */ lwz r5, 0xc(r27)
/* 80306AB8 00303A18 7F E4 FB 78 */ mr r4, r31
/* 80306ABC 00303A1C 38 61 00 08 */ addi r3, r1, 8
/* 80306AC0 00303A20 48 00 0A 4D */ bl GetMaterialByIndex__10CCubeModelCFi
/* 80306AC4 00303A24 80 81 00 08 */ lwz r4, 8(r1)
/* 80306AC8 00303A28 80 04 00 04 */ lwz r0, 4(r4)
/* 80306ACC 00303A2C 54 03 10 3A */ slwi r3, r0, 2
/* 80306AD0 00303A30 38 03 00 08 */ addi r0, r3, 8
/* 80306AD4 00303A34 7C 64 00 2E */ lwzx r3, r4, r0
/* 80306AD8 00303A38 48 00 14 25 */ bl SetVtxDescv_Compressed__3CGXFUi
/* 80306ADC 00303A3C 80 7B 00 1C */ lwz r3, 0x1c(r27)
/* 80306AE0 00303A40 88 1E 00 4C */ lbz r0, 0x4c(r30)
/* 80306AE4 00303A44 38 63 00 4B */ addi r3, r3, 0x4b
/* 80306AE8 00303A48 80 9B 00 10 */ lwz r4, 0x10(r27)
/* 80306AEC 00303A4C 54 63 00 34 */ rlwinm r3, r3, 0, 0, 0x1a
/* 80306AF0 00303A50 28 00 00 00 */ cmplwi r0, 0
/* 80306AF4 00303A54 54 9D 00 7E */ clrlwi r29, r4, 1
/* 80306AF8 00303A58 7F 9B 1A 14 */ add r28, r27, r3
/* 80306AFC 00303A5C 41 82 00 08 */ beq lbl_80306B04
/* 80306B00 00303A60 48 00 14 E5 */ bl FlushState__3CGXFv
lbl_80306B04:
/* 80306B04 00303A64 7F 83 E3 78 */ mr r3, r28
/* 80306B08 00303A68 7F A4 EB 78 */ mr r4, r29
/* 80306B0C 00303A6C 48 07 56 C9 */ bl GXCallDisplayList
/* 80306B10 00303A70 83 7B 00 18 */ lwz r27, 0x18(r27)
lbl_80306B14:
/* 80306B14 00303A74 28 1B 00 00 */ cmplwi r27, 0
/* 80306B18 00303A78 40 82 FF 9C */ bne lbl_80306AB4
lbl_80306B1C:
/* 80306B1C 00303A7C BB 41 00 18 */ lmw r26, 0x18(r1)
/* 80306B20 00303A80 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80306B24 00303A84 7C 08 03 A6 */ mtlr r0
/* 80306B28 00303A88 38 21 00 30 */ addi r1, r1, 0x30
/* 80306B2C 00303A8C 4E 80 00 20 */ blr
.global DrawAlphaSurfaces__10CCubeModelCFRC11CModelFlags
DrawAlphaSurfaces__10CCubeModelCFRC11CModelFlags:
/* 80306B30 00303A90 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80306B34 00303A94 7C 08 02 A6 */ mflr r0
/* 80306B38 00303A98 90 01 00 24 */ stw r0, 0x24(r1)
/* 80306B3C 00303A9C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80306B40 00303AA0 7C 9F 23 78 */ mr r31, r4
/* 80306B44 00303AA4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80306B48 00303AA8 7C 7E 1B 78 */ mr r30, r3
/* 80306B4C 00303AAC 88 0D A7 81 */ lbz r0, lbl_805A9341@sda21(r13)
/* 80306B50 00303AB0 28 00 00 00 */ cmplwi r0, 0
/* 80306B54 00303AB4 41 82 00 38 */ beq lbl_80306B8C
/* 80306B58 00303AB8 80 1E 00 3C */ lwz r0, 0x3c(r30)
/* 80306B5C 00303ABC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80306B60 00303AC0 48 00 00 1C */ b lbl_80306B7C
lbl_80306B64:
/* 80306B64 00303AC4 7F C3 F3 78 */ mr r3, r30
/* 80306B68 00303AC8 38 81 00 0C */ addi r4, r1, 0xc
/* 80306B6C 00303ACC 48 00 03 6D */ bl DrawSurfaceWireframe__10CCubeModelCFRC12CCubeSurface
/* 80306B70 00303AD0 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80306B74 00303AD4 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80306B78 00303AD8 90 01 00 0C */ stw r0, 0xc(r1)
lbl_80306B7C:
/* 80306B7C 00303ADC 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80306B80 00303AE0 28 00 00 00 */ cmplwi r0, 0
/* 80306B84 00303AE4 40 82 FF E0 */ bne lbl_80306B64
/* 80306B88 00303AE8 48 00 00 44 */ b lbl_80306BCC
lbl_80306B8C:
/* 80306B8C 00303AEC 48 00 02 31 */ bl TryLockTextures__10CCubeModelCFv
/* 80306B90 00303AF0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80306B94 00303AF4 41 82 00 38 */ beq lbl_80306BCC
/* 80306B98 00303AF8 80 1E 00 3C */ lwz r0, 0x3c(r30)
/* 80306B9C 00303AFC 90 01 00 08 */ stw r0, 8(r1)
/* 80306BA0 00303B00 48 00 00 20 */ b lbl_80306BC0
lbl_80306BA4:
/* 80306BA4 00303B04 7F C3 F3 78 */ mr r3, r30
/* 80306BA8 00303B08 7F E5 FB 78 */ mr r5, r31
/* 80306BAC 00303B0C 38 81 00 08 */ addi r4, r1, 8
/* 80306BB0 00303B10 48 00 08 95 */ bl DrawSurface__10CCubeModelCFRC12CCubeSurfaceRC11CModelFlags
/* 80306BB4 00303B14 80 61 00 08 */ lwz r3, 8(r1)
/* 80306BB8 00303B18 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80306BBC 00303B1C 90 01 00 08 */ stw r0, 8(r1)
lbl_80306BC0:
/* 80306BC0 00303B20 80 01 00 08 */ lwz r0, 8(r1)
/* 80306BC4 00303B24 28 00 00 00 */ cmplwi r0, 0
/* 80306BC8 00303B28 40 82 FF DC */ bne lbl_80306BA4
lbl_80306BCC:
/* 80306BCC 00303B2C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80306BD0 00303B30 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80306BD4 00303B34 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80306BD8 00303B38 7C 08 03 A6 */ mtlr r0
/* 80306BDC 00303B3C 38 21 00 20 */ addi r1, r1, 0x20
/* 80306BE0 00303B40 4E 80 00 20 */ blr
.global DrawNormalSurfaces__10CCubeModelCFRC11CModelFlags
DrawNormalSurfaces__10CCubeModelCFRC11CModelFlags:
/* 80306BE4 00303B44 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80306BE8 00303B48 7C 08 02 A6 */ mflr r0
/* 80306BEC 00303B4C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80306BF0 00303B50 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80306BF4 00303B54 7C 9F 23 78 */ mr r31, r4
/* 80306BF8 00303B58 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80306BFC 00303B5C 7C 7E 1B 78 */ mr r30, r3
/* 80306C00 00303B60 88 0D A7 81 */ lbz r0, lbl_805A9341@sda21(r13)
/* 80306C04 00303B64 28 00 00 00 */ cmplwi r0, 0
/* 80306C08 00303B68 41 82 00 38 */ beq lbl_80306C40
/* 80306C0C 00303B6C 80 1E 00 38 */ lwz r0, 0x38(r30)
/* 80306C10 00303B70 90 01 00 0C */ stw r0, 0xc(r1)
/* 80306C14 00303B74 48 00 00 1C */ b lbl_80306C30
lbl_80306C18:
/* 80306C18 00303B78 7F C3 F3 78 */ mr r3, r30
/* 80306C1C 00303B7C 38 81 00 0C */ addi r4, r1, 0xc
/* 80306C20 00303B80 48 00 02 B9 */ bl DrawSurfaceWireframe__10CCubeModelCFRC12CCubeSurface
/* 80306C24 00303B84 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80306C28 00303B88 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80306C2C 00303B8C 90 01 00 0C */ stw r0, 0xc(r1)
lbl_80306C30:
/* 80306C30 00303B90 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80306C34 00303B94 28 00 00 00 */ cmplwi r0, 0
/* 80306C38 00303B98 40 82 FF E0 */ bne lbl_80306C18
/* 80306C3C 00303B9C 48 00 00 44 */ b lbl_80306C80
lbl_80306C40:
/* 80306C40 00303BA0 48 00 01 7D */ bl TryLockTextures__10CCubeModelCFv
/* 80306C44 00303BA4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80306C48 00303BA8 41 82 00 38 */ beq lbl_80306C80
/* 80306C4C 00303BAC 80 1E 00 38 */ lwz r0, 0x38(r30)
/* 80306C50 00303BB0 90 01 00 08 */ stw r0, 8(r1)
/* 80306C54 00303BB4 48 00 00 20 */ b lbl_80306C74
lbl_80306C58:
/* 80306C58 00303BB8 7F C3 F3 78 */ mr r3, r30
/* 80306C5C 00303BBC 7F E5 FB 78 */ mr r5, r31
/* 80306C60 00303BC0 38 81 00 08 */ addi r4, r1, 8
/* 80306C64 00303BC4 48 00 07 E1 */ bl DrawSurface__10CCubeModelCFRC12CCubeSurfaceRC11CModelFlags
/* 80306C68 00303BC8 80 61 00 08 */ lwz r3, 8(r1)
/* 80306C6C 00303BCC 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80306C70 00303BD0 90 01 00 08 */ stw r0, 8(r1)
lbl_80306C74:
/* 80306C74 00303BD4 80 01 00 08 */ lwz r0, 8(r1)
/* 80306C78 00303BD8 28 00 00 00 */ cmplwi r0, 0
/* 80306C7C 00303BDC 40 82 FF DC */ bne lbl_80306C58
lbl_80306C80:
/* 80306C80 00303BE0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80306C84 00303BE4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80306C88 00303BE8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80306C8C 00303BEC 7C 08 03 A6 */ mtlr r0
/* 80306C90 00303BF0 38 21 00 20 */ addi r1, r1, 0x20
/* 80306C94 00303BF4 4E 80 00 20 */ blr
.global DrawSurfaces__10CCubeModelCFRC11CModelFlags
DrawSurfaces__10CCubeModelCFRC11CModelFlags:
/* 80306C98 00303BF8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80306C9C 00303BFC 7C 08 02 A6 */ mflr r0
/* 80306CA0 00303C00 90 01 00 24 */ stw r0, 0x24(r1)
/* 80306CA4 00303C04 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80306CA8 00303C08 7C 7F 1B 78 */ mr r31, r3
/* 80306CAC 00303C0C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80306CB0 00303C10 7C 9E 23 78 */ mr r30, r4
/* 80306CB4 00303C14 88 0D A7 81 */ lbz r0, lbl_805A9341@sda21(r13)
/* 80306CB8 00303C18 28 00 00 00 */ cmplwi r0, 0
/* 80306CBC 00303C1C 41 82 00 68 */ beq lbl_80306D24
/* 80306CC0 00303C20 80 1F 00 38 */ lwz r0, 0x38(r31)
/* 80306CC4 00303C24 90 01 00 14 */ stw r0, 0x14(r1)
/* 80306CC8 00303C28 48 00 00 1C */ b lbl_80306CE4
lbl_80306CCC:
/* 80306CCC 00303C2C 7F E3 FB 78 */ mr r3, r31
/* 80306CD0 00303C30 38 81 00 14 */ addi r4, r1, 0x14
/* 80306CD4 00303C34 48 00 02 05 */ bl DrawSurfaceWireframe__10CCubeModelCFRC12CCubeSurface
/* 80306CD8 00303C38 80 61 00 14 */ lwz r3, 0x14(r1)
/* 80306CDC 00303C3C 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80306CE0 00303C40 90 01 00 14 */ stw r0, 0x14(r1)
lbl_80306CE4:
/* 80306CE4 00303C44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80306CE8 00303C48 28 00 00 00 */ cmplwi r0, 0
/* 80306CEC 00303C4C 40 82 FF E0 */ bne lbl_80306CCC
/* 80306CF0 00303C50 80 1F 00 3C */ lwz r0, 0x3c(r31)
/* 80306CF4 00303C54 90 01 00 10 */ stw r0, 0x10(r1)
/* 80306CF8 00303C58 48 00 00 1C */ b lbl_80306D14
lbl_80306CFC:
/* 80306CFC 00303C5C 7F E3 FB 78 */ mr r3, r31
/* 80306D00 00303C60 38 81 00 10 */ addi r4, r1, 0x10
/* 80306D04 00303C64 48 00 01 D5 */ bl DrawSurfaceWireframe__10CCubeModelCFRC12CCubeSurface
/* 80306D08 00303C68 80 61 00 10 */ lwz r3, 0x10(r1)
/* 80306D0C 00303C6C 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80306D10 00303C70 90 01 00 10 */ stw r0, 0x10(r1)
lbl_80306D14:
/* 80306D14 00303C74 80 01 00 10 */ lwz r0, 0x10(r1)
/* 80306D18 00303C78 28 00 00 00 */ cmplwi r0, 0
/* 80306D1C 00303C7C 40 82 FF E0 */ bne lbl_80306CFC
/* 80306D20 00303C80 48 00 00 84 */ b lbl_80306DA4
lbl_80306D24:
/* 80306D24 00303C84 A0 1E 00 02 */ lhz r0, 2(r30)
/* 80306D28 00303C88 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80306D2C 00303C8C 40 82 00 10 */ bne lbl_80306D3C
/* 80306D30 00303C90 48 00 00 8D */ bl TryLockTextures__10CCubeModelCFv
/* 80306D34 00303C94 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80306D38 00303C98 41 82 00 6C */ beq lbl_80306DA4
lbl_80306D3C:
/* 80306D3C 00303C9C 80 1F 00 38 */ lwz r0, 0x38(r31)
/* 80306D40 00303CA0 90 01 00 0C */ stw r0, 0xc(r1)
/* 80306D44 00303CA4 48 00 00 20 */ b lbl_80306D64
lbl_80306D48:
/* 80306D48 00303CA8 7F E3 FB 78 */ mr r3, r31
/* 80306D4C 00303CAC 7F C5 F3 78 */ mr r5, r30
/* 80306D50 00303CB0 38 81 00 0C */ addi r4, r1, 0xc
/* 80306D54 00303CB4 48 00 06 F1 */ bl DrawSurface__10CCubeModelCFRC12CCubeSurfaceRC11CModelFlags
/* 80306D58 00303CB8 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80306D5C 00303CBC 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80306D60 00303CC0 90 01 00 0C */ stw r0, 0xc(r1)
lbl_80306D64:
/* 80306D64 00303CC4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80306D68 00303CC8 28 00 00 00 */ cmplwi r0, 0
/* 80306D6C 00303CCC 40 82 FF DC */ bne lbl_80306D48
/* 80306D70 00303CD0 80 1F 00 3C */ lwz r0, 0x3c(r31)
/* 80306D74 00303CD4 90 01 00 08 */ stw r0, 8(r1)
/* 80306D78 00303CD8 48 00 00 20 */ b lbl_80306D98
lbl_80306D7C:
/* 80306D7C 00303CDC 7F E3 FB 78 */ mr r3, r31
/* 80306D80 00303CE0 7F C5 F3 78 */ mr r5, r30
/* 80306D84 00303CE4 38 81 00 08 */ addi r4, r1, 8
/* 80306D88 00303CE8 48 00 06 BD */ bl DrawSurface__10CCubeModelCFRC12CCubeSurfaceRC11CModelFlags
/* 80306D8C 00303CEC 80 61 00 08 */ lwz r3, 8(r1)
/* 80306D90 00303CF0 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80306D94 00303CF4 90 01 00 08 */ stw r0, 8(r1)
lbl_80306D98:
/* 80306D98 00303CF8 80 01 00 08 */ lwz r0, 8(r1)
/* 80306D9C 00303CFC 28 00 00 00 */ cmplwi r0, 0
/* 80306DA0 00303D00 40 82 FF DC */ bne lbl_80306D7C
lbl_80306DA4:
/* 80306DA4 00303D04 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80306DA8 00303D08 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80306DAC 00303D0C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80306DB0 00303D10 7C 08 03 A6 */ mtlr r0
/* 80306DB4 00303D14 38 21 00 20 */ addi r1, r1, 0x20
/* 80306DB8 00303D18 4E 80 00 20 */ blr
.global TryLockTextures__10CCubeModelCFv
TryLockTextures__10CCubeModelCFv:
/* 80306DBC 00303D1C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80306DC0 00303D20 7C 08 02 A6 */ mflr r0
/* 80306DC4 00303D24 90 01 00 24 */ stw r0, 0x24(r1)
/* 80306DC8 00303D28 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 80306DCC 00303D2C 7C 7C 1B 78 */ mr r28, r3
/* 80306DD0 00303D30 88 03 00 40 */ lbz r0, 0x40(r3)
/* 80306DD4 00303D34 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80306DD8 00303D38 40 82 00 D8 */ bne lbl_80306EB0
/* 80306DDC 00303D3C 3B C0 00 00 */ li r30, 0
/* 80306DE0 00303D40 3B A0 00 00 */ li r29, 0
/* 80306DE4 00303D44 3B E0 00 00 */ li r31, 0
/* 80306DE8 00303D48 48 00 00 A0 */ b lbl_80306E88
lbl_80306DEC:
/* 80306DEC 00303D4C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80306DF0 00303D50 7C 60 FA 14 */ add r3, r0, r31
/* 80306DF4 00303D54 48 03 9F 91 */ bl Lock__6CTokenFv
/* 80306DF8 00303D58 80 7C 00 1C */ lwz r3, 0x1c(r28)
/* 80306DFC 00303D5C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80306E00 00303D60 7F 60 FA 14 */ add r27, r0, r31
/* 80306E04 00303D64 80 1B 00 08 */ lwz r0, 8(r27)
/* 80306E08 00303D68 28 00 00 00 */ cmplwi r0, 0
/* 80306E0C 00303D6C 41 82 00 0C */ beq lbl_80306E18
/* 80306E10 00303D70 38 60 00 01 */ li r3, 1
/* 80306E14 00303D74 48 00 00 3C */ b lbl_80306E50
lbl_80306E18:
/* 80306E18 00303D78 88 1B 00 04 */ lbz r0, 4(r27)
/* 80306E1C 00303D7C 28 00 00 00 */ cmplwi r0, 0
/* 80306E20 00303D80 41 82 00 2C */ beq lbl_80306E4C
/* 80306E24 00303D84 80 7B 00 00 */ lwz r3, 0(r27)
/* 80306E28 00303D88 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80306E2C 00303D8C 28 00 00 00 */ cmplwi r0, 0
/* 80306E30 00303D90 41 82 00 1C */ beq lbl_80306E4C
/* 80306E34 00303D94 7F 63 DB 78 */ mr r3, r27
/* 80306E38 00303D98 48 03 9F D5 */ bl GetObj__6CTokenFv
/* 80306E3C 00303D9C 80 03 00 04 */ lwz r0, 4(r3)
/* 80306E40 00303DA0 38 60 00 01 */ li r3, 1
/* 80306E44 00303DA4 90 1B 00 08 */ stw r0, 8(r27)
/* 80306E48 00303DA8 48 00 00 08 */ b lbl_80306E50
lbl_80306E4C:
/* 80306E4C 00303DAC 38 60 00 00 */ li r3, 0
lbl_80306E50:
/* 80306E50 00303DB0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80306E54 00303DB4 40 82 00 0C */ bne lbl_80306E60
/* 80306E58 00303DB8 3B C0 00 01 */ li r30, 1
/* 80306E5C 00303DBC 48 00 00 24 */ b lbl_80306E80
lbl_80306E60:
/* 80306E60 00303DC0 80 7C 00 1C */ lwz r3, 0x1c(r28)
/* 80306E64 00303DC4 38 1F 00 08 */ addi r0, r31, 8
/* 80306E68 00303DC8 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80306E6C 00303DCC 7C 63 00 2E */ lwzx r3, r3, r0
/* 80306E70 00303DD0 48 00 7D B9 */ bl LoadToMRAM__8CTextureCFv
/* 80306E74 00303DD4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80306E78 00303DD8 40 82 00 08 */ bne lbl_80306E80
/* 80306E7C 00303DDC 3B C0 00 01 */ li r30, 1
lbl_80306E80:
/* 80306E80 00303DE0 3B FF 00 0C */ addi r31, r31, 0xc
/* 80306E84 00303DE4 3B BD 00 01 */ addi r29, r29, 1
lbl_80306E88:
/* 80306E88 00303DE8 80 7C 00 1C */ lwz r3, 0x1c(r28)
/* 80306E8C 00303DEC 80 03 00 04 */ lwz r0, 4(r3)
/* 80306E90 00303DF0 7C 1D 00 00 */ cmpw r29, r0
/* 80306E94 00303DF4 41 80 FF 58 */ blt lbl_80306DEC
/* 80306E98 00303DF8 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80306E9C 00303DFC 40 82 00 14 */ bne lbl_80306EB0
/* 80306EA0 00303E00 88 1C 00 40 */ lbz r0, 0x40(r28)
/* 80306EA4 00303E04 38 60 00 01 */ li r3, 1
/* 80306EA8 00303E08 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80306EAC 00303E0C 98 1C 00 40 */ stb r0, 0x40(r28)
lbl_80306EB0:
/* 80306EB0 00303E10 88 1C 00 40 */ lbz r0, 0x40(r28)
/* 80306EB4 00303E14 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 80306EB8 00303E18 54 03 CF FE */ rlwinm r3, r0, 0x19, 0x1f, 0x1f
/* 80306EBC 00303E1C 7C 03 00 D0 */ neg r0, r3
/* 80306EC0 00303E20 7C 00 1B 78 */ or r0, r0, r3
/* 80306EC4 00303E24 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80306EC8 00303E28 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80306ECC 00303E2C 7C 08 03 A6 */ mtlr r0
/* 80306ED0 00303E30 38 21 00 20 */ addi r1, r1, 0x20
/* 80306ED4 00303E34 4E 80 00 20 */ blr
.global DrawSurfaceWireframe__10CCubeModelCFRC12CCubeSurface
DrawSurfaceWireframe__10CCubeModelCFRC12CCubeSurface:
/* 80306ED8 00303E38 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80306EDC 00303E3C 7C 08 02 A6 */ mflr r0
/* 80306EE0 00303E40 90 01 00 84 */ stw r0, 0x84(r1)
/* 80306EE4 00303E44 BE 61 00 4C */ stmw r19, 0x4c(r1)
/* 80306EE8 00303E48 7C 94 23 78 */ mr r20, r4
/* 80306EEC 00303E4C 80 A4 00 00 */ lwz r5, 0(r4)
/* 80306EF0 00303E50 7C 64 1B 78 */ mr r4, r3
/* 80306EF4 00303E54 38 61 00 44 */ addi r3, r1, 0x44
/* 80306EF8 00303E58 80 A5 00 0C */ lwz r5, 0xc(r5)
/* 80306EFC 00303E5C 48 00 06 11 */ bl GetMaterialByIndex__10CCubeModelCFi
/* 80306F00 00303E60 88 0D A7 88 */ lbz r0, lbl_805A9348@sda21(r13)
/* 80306F04 00303E64 80 81 00 44 */ lwz r4, 0x44(r1)
/* 80306F08 00303E68 7C 00 07 75 */ extsb. r0, r0
/* 80306F0C 00303E6C 40 82 00 14 */ bne lbl_80306F20
/* 80306F10 00303E70 38 60 00 00 */ li r3, 0
/* 80306F14 00303E74 38 00 00 01 */ li r0, 1
/* 80306F18 00303E78 90 6D A7 84 */ stw r3, lbl_805A9344@sda21(r13)
/* 80306F1C 00303E7C 98 0D A7 88 */ stb r0, lbl_805A9348@sda21(r13)
lbl_80306F20:
/* 80306F20 00303E80 88 0D A7 90 */ lbz r0, lbl_805A9350@sda21(r13)
/* 80306F24 00303E84 7C 00 07 75 */ extsb. r0, r0
/* 80306F28 00303E88 40 82 00 14 */ bne lbl_80306F3C
/* 80306F2C 00303E8C 38 60 00 00 */ li r3, 0
/* 80306F30 00303E90 38 00 00 01 */ li r0, 1
/* 80306F34 00303E94 90 6D A7 8C */ stw r3, lbl_805A934C@sda21(r13)
/* 80306F38 00303E98 98 0D A7 90 */ stb r0, lbl_805A9350@sda21(r13)
lbl_80306F3C:
/* 80306F3C 00303E9C 80 64 00 04 */ lwz r3, 4(r4)
/* 80306F40 00303EA0 80 0D A7 84 */ lwz r0, lbl_805A9344@sda21(r13)
/* 80306F44 00303EA4 54 63 10 3A */ slwi r3, r3, 2
/* 80306F48 00303EA8 7C 64 1A 14 */ add r3, r4, r3
/* 80306F4C 00303EAC 80 83 00 08 */ lwz r4, 8(r3)
/* 80306F50 00303EB0 7C 04 00 40 */ cmplw r4, r0
/* 80306F54 00303EB4 41 82 00 94 */ beq lbl_80306FE8
/* 80306F58 00303EB8 38 A0 00 00 */ li r5, 0
/* 80306F5C 00303EBC 38 00 00 04 */ li r0, 4
/* 80306F60 00303EC0 90 AD A7 8C */ stw r5, lbl_805A934C@sda21(r13)
/* 80306F64 00303EC4 38 C0 00 00 */ li r6, 0
/* 80306F68 00303EC8 7C 09 03 A6 */ mtctr r0
lbl_80306F6C:
/* 80306F6C 00303ECC 7C 80 2C 30 */ srw r0, r4, r5
/* 80306F70 00303ED0 54 00 07 BF */ clrlwi. r0, r0, 0x1e
/* 80306F74 00303ED4 41 82 00 10 */ beq lbl_80306F84
/* 80306F78 00303ED8 80 6D A7 8C */ lwz r3, lbl_805A934C@sda21(r13)
/* 80306F7C 00303EDC 38 03 00 01 */ addi r0, r3, 1
/* 80306F80 00303EE0 90 0D A7 8C */ stw r0, lbl_805A934C@sda21(r13)
lbl_80306F84:
/* 80306F84 00303EE4 38 A5 00 02 */ addi r5, r5, 2
/* 80306F88 00303EE8 7C 80 2C 30 */ srw r0, r4, r5
/* 80306F8C 00303EEC 54 00 07 BF */ clrlwi. r0, r0, 0x1e
/* 80306F90 00303EF0 41 82 00 10 */ beq lbl_80306FA0
/* 80306F94 00303EF4 80 6D A7 8C */ lwz r3, lbl_805A934C@sda21(r13)
/* 80306F98 00303EF8 38 03 00 01 */ addi r0, r3, 1
/* 80306F9C 00303EFC 90 0D A7 8C */ stw r0, lbl_805A934C@sda21(r13)
lbl_80306FA0:
/* 80306FA0 00303F00 38 A5 00 02 */ addi r5, r5, 2
/* 80306FA4 00303F04 7C 80 2C 30 */ srw r0, r4, r5
/* 80306FA8 00303F08 54 00 07 BF */ clrlwi. r0, r0, 0x1e
/* 80306FAC 00303F0C 41 82 00 10 */ beq lbl_80306FBC
/* 80306FB0 00303F10 80 6D A7 8C */ lwz r3, lbl_805A934C@sda21(r13)
/* 80306FB4 00303F14 38 03 00 01 */ addi r0, r3, 1
/* 80306FB8 00303F18 90 0D A7 8C */ stw r0, lbl_805A934C@sda21(r13)
lbl_80306FBC:
/* 80306FBC 00303F1C 38 A5 00 02 */ addi r5, r5, 2
/* 80306FC0 00303F20 7C 80 2C 30 */ srw r0, r4, r5
/* 80306FC4 00303F24 54 00 07 BF */ clrlwi. r0, r0, 0x1e
/* 80306FC8 00303F28 41 82 00 10 */ beq lbl_80306FD8
/* 80306FCC 00303F2C 80 6D A7 8C */ lwz r3, lbl_805A934C@sda21(r13)
/* 80306FD0 00303F30 38 03 00 01 */ addi r0, r3, 1
/* 80306FD4 00303F34 90 0D A7 8C */ stw r0, lbl_805A934C@sda21(r13)
lbl_80306FD8:
/* 80306FD8 00303F38 38 A5 00 02 */ addi r5, r5, 2
/* 80306FDC 00303F3C 38 C6 00 03 */ addi r6, r6, 3
/* 80306FE0 00303F40 42 00 FF 8C */ bdnz lbl_80306F6C
/* 80306FE4 00303F44 90 8D A7 84 */ stw r4, lbl_805A9344@sda21(r13)
lbl_80306FE8:
/* 80306FE8 00303F48 80 0D A7 8C */ lwz r0, lbl_805A934C@sda21(r13)
/* 80306FEC 00303F4C 3C 60 80 3D */ lis r3, lbl_803D7388@ha
/* 80306FF0 00303F50 38 63 73 88 */ addi r3, r3, lbl_803D7388@l
/* 80306FF4 00303F54 54 19 08 3C */ slwi r25, r0, 1
/* 80306FF8 00303F58 48 00 0E 31 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList
/* 80306FFC 00303F5C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80307000 00303F60 3A A3 53 EC */ addi r21, r3, sGXState__3CGX@l
/* 80307004 00303F64 80 15 00 78 */ lwz r0, 0x78(r21)
/* 80307008 00303F68 28 00 00 00 */ cmplwi r0, 0
/* 8030700C 00303F6C 41 82 00 14 */ beq lbl_80307020
/* 80307010 00303F70 38 00 00 00 */ li r0, 0
/* 80307014 00303F74 38 60 00 00 */ li r3, 0
/* 80307018 00303F78 90 15 00 78 */ stw r0, 0x78(r21)
/* 8030701C 00303F7C 48 07 42 C5 */ bl GXSetTevDirect
lbl_80307020:
/* 80307020 00303F80 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80307024 00303F84 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
/* 80307028 00303F88 88 04 00 51 */ lbz r0, 0x51(r4)
/* 8030702C 00303F8C 28 00 00 00 */ cmplwi r0, 0
/* 80307030 00303F90 41 82 00 14 */ beq lbl_80307044
/* 80307034 00303F94 38 00 00 00 */ li r0, 0
/* 80307038 00303F98 38 60 00 00 */ li r3, 0
/* 8030703C 00303F9C 98 04 00 51 */ stb r0, 0x51(r4)
/* 80307040 00303FA0 48 07 42 79 */ bl GXSetNumIndStages
lbl_80307044:
/* 80307044 00303FA4 80 75 00 68 */ lwz r3, 0x68(r21)
/* 80307048 00303FA8 3C 03 FF FA */ addis r0, r3, 0xfffa
/* 8030704C 00303FAC 28 00 3D EF */ cmplwi r0, 0x3def
/* 80307050 00303FB0 41 82 00 28 */ beq lbl_80307078
/* 80307054 00303FB4 3C 80 00 06 */ lis r4, 0x00063DEF@ha
/* 80307058 00303FB8 38 60 00 00 */ li r3, 0
/* 8030705C 00303FBC 38 04 3D EF */ addi r0, r4, 0x00063DEF@l
/* 80307060 00303FC0 38 80 00 0F */ li r4, 0xf
/* 80307064 00303FC4 90 15 00 68 */ stw r0, 0x68(r21)
/* 80307068 00303FC8 38 A0 00 0F */ li r5, 0xf
/* 8030706C 00303FCC 38 C0 00 0F */ li r6, 0xf
/* 80307070 00303FD0 38 E0 00 0C */ li r7, 0xc
/* 80307074 00303FD4 48 07 44 31 */ bl GXSetTevColorIn
lbl_80307078:
/* 80307078 00303FD8 80 15 00 70 */ lwz r0, 0x70(r21)
/* 8030707C 00303FDC 28 00 01 00 */ cmplwi r0, 0x100
/* 80307080 00303FE0 41 82 00 28 */ beq lbl_803070A8
/* 80307084 00303FE4 38 00 01 00 */ li r0, 0x100
/* 80307088 00303FE8 38 60 00 00 */ li r3, 0
/* 8030708C 00303FEC 90 15 00 70 */ stw r0, 0x70(r21)
/* 80307090 00303FF0 38 80 00 00 */ li r4, 0
/* 80307094 00303FF4 38 A0 00 00 */ li r5, 0
/* 80307098 00303FF8 38 C0 00 00 */ li r6, 0
/* 8030709C 00303FFC 38 E0 00 01 */ li r7, 1
/* 803070A0 00304000 39 00 00 00 */ li r8, 0
/* 803070A4 00304004 48 07 44 89 */ bl GXSetTevColorOp
lbl_803070A8:
/* 803070A8 00304008 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803070AC 0030400C 38 C0 00 00 */ li r6, 0
/* 803070B0 00304010 3B A3 53 EC */ addi r29, r3, sGXState__3CGX@l
/* 803070B4 00304014 88 BD 00 4D */ lbz r5, 0x4d(r29)
/* 803070B8 00304018 88 1D 00 4F */ lbz r0, 0x4f(r29)
/* 803070BC 0030401C 7C 85 00 D0 */ neg r4, r5
/* 803070C0 00304020 88 7D 00 4C */ lbz r3, 0x4c(r29)
/* 803070C4 00304024 7C 84 2B 78 */ or r4, r4, r5
/* 803070C8 00304028 28 00 00 01 */ cmplwi r0, 1
/* 803070CC 0030402C 50 83 0F FE */ rlwimi r3, r4, 1, 0x1f, 0x1f
/* 803070D0 00304030 98 DD 00 4E */ stb r6, 0x4e(r29)
/* 803070D4 00304034 98 7D 00 4C */ stb r3, 0x4c(r29)
/* 803070D8 00304038 41 82 00 14 */ beq lbl_803070EC
/* 803070DC 0030403C 38 00 00 01 */ li r0, 1
/* 803070E0 00304040 38 60 00 01 */ li r3, 1
/* 803070E4 00304044 98 1D 00 4F */ stb r0, 0x4f(r29)
/* 803070E8 00304048 48 07 11 7D */ bl GXSetNumTexGens
lbl_803070EC:
/* 803070EC 0030404C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803070F0 00304050 3A A3 53 EC */ addi r21, r3, sGXState__3CGX@l
/* 803070F4 00304054 A0 15 00 56 */ lhz r0, 0x56(r21)
/* 803070F8 00304058 28 00 00 05 */ cmplwi r0, 5
/* 803070FC 0030405C 41 82 00 28 */ beq lbl_80307124
/* 80307100 00304060 38 60 00 05 */ li r3, 5
/* 80307104 00304064 4B DA D2 75 */ bl update_fog__3CGXFUi
/* 80307108 00304068 38 00 00 05 */ li r0, 5
/* 8030710C 0030406C 38 60 00 01 */ li r3, 1
/* 80307110 00304070 B0 15 00 56 */ sth r0, 0x56(r21)
/* 80307114 00304074 38 80 00 01 */ li r4, 1
/* 80307118 00304078 38 A0 00 00 */ li r5, 0
/* 8030711C 0030407C 38 C0 00 00 */ li r6, 0
/* 80307120 00304080 48 07 4D 8D */ bl GXSetBlendMode
lbl_80307124:
/* 80307124 00304084 80 B4 00 00 */ lwz r5, 0(r20)
/* 80307128 00304088 1F 59 00 03 */ mulli r26, r25, 3
/* 8030712C 0030408C 57 3B 08 3C */ slwi r27, r25, 1
/* 80307130 00304090 80 65 00 1C */ lwz r3, 0x1c(r5)
/* 80307134 00304094 3A C0 00 00 */ li r22, 0
/* 80307138 00304098 80 85 00 10 */ lwz r4, 0x10(r5)
/* 8030713C 0030409C 3F C0 CC 01 */ lis r30, 0xcc01
/* 80307140 003040A0 38 03 00 4B */ addi r0, r3, 0x4b
/* 80307144 003040A4 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 80307148 003040A8 54 98 00 7E */ clrlwi r24, r4, 1
/* 8030714C 003040AC 7E E5 02 14 */ add r23, r5, r0
/* 80307150 003040B0 48 00 02 D8 */ b lbl_80307428
lbl_80307154:
/* 80307154 003040B4 88 17 00 00 */ lbz r0, 0(r23)
/* 80307158 003040B8 54 1F 06 39 */ rlwinm. r31, r0, 0, 0x18, 0x1c
/* 8030715C 003040BC 41 82 02 D4 */ beq lbl_80307430
/* 80307160 003040C0 88 77 00 01 */ lbz r3, 1(r23)
/* 80307164 003040C4 3A D6 00 03 */ addi r22, r22, 3
/* 80307168 003040C8 88 17 00 02 */ lbz r0, 2(r23)
/* 8030716C 003040CC 3A F7 00 03 */ addi r23, r23, 3
/* 80307170 003040D0 98 61 00 40 */ stb r3, 0x40(r1)
/* 80307174 003040D4 98 01 00 41 */ stb r0, 0x41(r1)
/* 80307178 003040D8 A3 81 00 40 */ lhz r28, 0x40(r1)
/* 8030717C 003040DC 28 1C 00 03 */ cmplwi r28, 3
/* 80307180 003040E0 41 80 02 B0 */ blt lbl_80307430
/* 80307184 003040E4 88 1D 00 4C */ lbz r0, 0x4c(r29)
/* 80307188 003040E8 28 00 00 00 */ cmplwi r0, 0
/* 8030718C 003040EC 41 82 00 08 */ beq lbl_80307194
/* 80307190 003040F0 48 00 0E 55 */ bl FlushState__3CGXFv
lbl_80307194:
/* 80307194 003040F4 38 60 00 B0 */ li r3, 0xb0
/* 80307198 003040F8 38 80 00 00 */ li r4, 0
/* 8030719C 003040FC 38 A0 00 04 */ li r5, 4
/* 803071A0 00304100 48 07 17 55 */ bl GXBegin
/* 803071A4 00304104 88 97 00 00 */ lbz r4, 0(r23)
/* 803071A8 00304108 7C 1C C9 D6 */ mullw r0, r28, r25
/* 803071AC 0030410C 88 77 00 01 */ lbz r3, 1(r23)
/* 803071B0 00304110 7C B9 BA 14 */ add r5, r25, r23
/* 803071B4 00304114 98 81 00 3C */ stb r4, 0x3c(r1)
/* 803071B8 00304118 7C 9B BA 14 */ add r4, r27, r23
/* 803071BC 0030411C 28 1F 00 90 */ cmplwi r31, 0x90
/* 803071C0 00304120 98 61 00 3D */ stb r3, 0x3d(r1)
/* 803071C4 00304124 7E D6 02 14 */ add r22, r22, r0
/* 803071C8 00304128 A0 01 00 3C */ lhz r0, 0x3c(r1)
/* 803071CC 0030412C B0 1E 80 00 */ sth r0, 0xCC008000@l(r30)
/* 803071D0 00304130 88 65 00 00 */ lbz r3, 0(r5)
/* 803071D4 00304134 88 05 00 01 */ lbz r0, 1(r5)
/* 803071D8 00304138 98 61 00 38 */ stb r3, 0x38(r1)
/* 803071DC 0030413C 98 01 00 39 */ stb r0, 0x39(r1)
/* 803071E0 00304140 A0 01 00 38 */ lhz r0, 0x38(r1)
/* 803071E4 00304144 B0 1E 80 00 */ sth r0, 0xCC008000@l(r30)
/* 803071E8 00304148 88 64 00 00 */ lbz r3, 0(r4)
/* 803071EC 0030414C 88 04 00 01 */ lbz r0, 1(r4)
/* 803071F0 00304150 98 61 00 34 */ stb r3, 0x34(r1)
/* 803071F4 00304154 98 01 00 35 */ stb r0, 0x35(r1)
/* 803071F8 00304158 A0 01 00 34 */ lhz r0, 0x34(r1)
/* 803071FC 0030415C B0 1E 80 00 */ sth r0, 0xCC008000@l(r30)
/* 80307200 00304160 88 77 00 00 */ lbz r3, 0(r23)
/* 80307204 00304164 88 17 00 01 */ lbz r0, 1(r23)
/* 80307208 00304168 7E F7 D2 14 */ add r23, r23, r26
/* 8030720C 0030416C 98 61 00 30 */ stb r3, 0x30(r1)
/* 80307210 00304170 98 01 00 31 */ stb r0, 0x31(r1)
/* 80307214 00304174 A0 01 00 30 */ lhz r0, 0x30(r1)
/* 80307218 00304178 B0 1E 80 00 */ sth r0, 0xCC008000@l(r30)
/* 8030721C 0030417C 40 82 00 B4 */ bne lbl_803072D0
/* 80307220 00304180 3B 9C FF FD */ addi r28, r28, -3
/* 80307224 00304184 3A A0 00 00 */ li r21, 0
/* 80307228 00304188 57 9C 04 3E */ clrlwi r28, r28, 0x10
/* 8030722C 0030418C 3F E0 CC 01 */ lis r31, 0xcc01
/* 80307230 00304190 48 00 00 94 */ b lbl_803072C4
lbl_80307234:
/* 80307234 00304194 88 1D 00 4C */ lbz r0, 0x4c(r29)
/* 80307238 00304198 28 00 00 00 */ cmplwi r0, 0
/* 8030723C 0030419C 41 82 00 08 */ beq lbl_80307244
/* 80307240 003041A0 48 00 0D A5 */ bl FlushState__3CGXFv
lbl_80307244:
/* 80307244 003041A4 38 60 00 B0 */ li r3, 0xb0
/* 80307248 003041A8 38 80 00 00 */ li r4, 0
/* 8030724C 003041AC 38 A0 00 04 */ li r5, 4
/* 80307250 003041B0 48 07 16 A5 */ bl GXBegin
/* 80307254 003041B4 88 77 00 00 */ lbz r3, 0(r23)
/* 80307258 003041B8 7C 99 BA 14 */ add r4, r25, r23
/* 8030725C 003041BC 88 17 00 01 */ lbz r0, 1(r23)
/* 80307260 003041C0 7C BB BA 14 */ add r5, r27, r23
/* 80307264 003041C4 98 61 00 2C */ stb r3, 0x2c(r1)
/* 80307268 003041C8 3A B5 00 03 */ addi r21, r21, 3
/* 8030726C 003041CC 98 01 00 2D */ stb r0, 0x2d(r1)
/* 80307270 003041D0 A0 01 00 2C */ lhz r0, 0x2c(r1)
/* 80307274 003041D4 B0 1F 80 00 */ sth r0, 0xCC008000@l(r31)
/* 80307278 003041D8 88 64 00 00 */ lbz r3, 0(r4)
/* 8030727C 003041DC 88 04 00 01 */ lbz r0, 1(r4)
/* 80307280 003041E0 98 61 00 28 */ stb r3, 0x28(r1)
/* 80307284 003041E4 98 01 00 29 */ stb r0, 0x29(r1)
/* 80307288 003041E8 A0 01 00 28 */ lhz r0, 0x28(r1)
/* 8030728C 003041EC B0 1F 80 00 */ sth r0, 0xCC008000@l(r31)
/* 80307290 003041F0 88 65 00 00 */ lbz r3, 0(r5)
/* 80307294 003041F4 88 05 00 01 */ lbz r0, 1(r5)
/* 80307298 003041F8 98 61 00 24 */ stb r3, 0x24(r1)
/* 8030729C 003041FC 98 01 00 25 */ stb r0, 0x25(r1)
/* 803072A0 00304200 A0 01 00 24 */ lhz r0, 0x24(r1)
/* 803072A4 00304204 B0 1F 80 00 */ sth r0, 0xCC008000@l(r31)
/* 803072A8 00304208 88 77 00 00 */ lbz r3, 0(r23)
/* 803072AC 0030420C 88 17 00 01 */ lbz r0, 1(r23)
/* 803072B0 00304210 7E F7 D2 14 */ add r23, r23, r26
/* 803072B4 00304214 98 61 00 20 */ stb r3, 0x20(r1)
/* 803072B8 00304218 98 01 00 21 */ stb r0, 0x21(r1)
/* 803072BC 0030421C A0 01 00 20 */ lhz r0, 0x20(r1)
/* 803072C0 00304220 B0 1F 80 00 */ sth r0, 0xCC008000@l(r31)
lbl_803072C4:
/* 803072C4 00304224 7C 15 E0 00 */ cmpw r21, r28
/* 803072C8 00304228 41 80 FF 6C */ blt lbl_80307234
/* 803072CC 0030422C 48 00 01 5C */ b lbl_80307428
lbl_803072D0:
/* 803072D0 00304230 28 1F 00 98 */ cmplwi r31, 0x98
/* 803072D4 00304234 40 82 00 B8 */ bne lbl_8030738C
/* 803072D8 00304238 3B 9C FF FD */ addi r28, r28, -3
/* 803072DC 0030423C 3A A0 00 01 */ li r21, 1
/* 803072E0 00304240 57 9C 04 3E */ clrlwi r28, r28, 0x10
/* 803072E4 00304244 3A 80 00 00 */ li r20, 0
/* 803072E8 00304248 3F E0 CC 01 */ lis r31, 0xcc01
/* 803072EC 0030424C 48 00 00 94 */ b lbl_80307380
lbl_803072F0:
/* 803072F0 00304250 88 1D 00 4C */ lbz r0, 0x4c(r29)
/* 803072F4 00304254 28 00 00 00 */ cmplwi r0, 0
/* 803072F8 00304258 41 82 00 08 */ beq lbl_80307300
/* 803072FC 0030425C 48 00 0C E9 */ bl FlushState__3CGXFv
lbl_80307300:
/* 80307300 00304260 38 60 00 B0 */ li r3, 0xb0
/* 80307304 00304264 38 80 00 00 */ li r4, 0
/* 80307308 00304268 38 A0 00 03 */ li r5, 3
/* 8030730C 0030426C 48 07 15 E9 */ bl GXBegin
/* 80307310 00304270 38 15 00 01 */ addi r0, r21, 1
/* 80307314 00304274 6A A3 00 01 */ xori r3, r21, 1
/* 80307318 00304278 7C 19 01 D6 */ mullw r0, r25, r0
/* 8030731C 0030427C 6A B5 00 01 */ xori r21, r21, 1
/* 80307320 00304280 38 83 00 01 */ addi r4, r3, 1
/* 80307324 00304284 3A 94 00 01 */ addi r20, r20, 1
/* 80307328 00304288 7C A0 B8 50 */ subf r5, r0, r23
/* 8030732C 0030428C 88 65 00 00 */ lbz r3, 0(r5)
/* 80307330 00304290 7C 99 21 D6 */ mullw r4, r25, r4
/* 80307334 00304294 88 05 00 01 */ lbz r0, 1(r5)
/* 80307338 00304298 98 61 00 1C */ stb r3, 0x1c(r1)
/* 8030733C 0030429C 98 01 00 1D */ stb r0, 0x1d(r1)
/* 80307340 003042A0 7C 84 B8 50 */ subf r4, r4, r23
/* 80307344 003042A4 A0 01 00 1C */ lhz r0, 0x1c(r1)
/* 80307348 003042A8 B0 1F 80 00 */ sth r0, 0xCC008000@l(r31)
/* 8030734C 003042AC 88 77 00 00 */ lbz r3, 0(r23)
/* 80307350 003042B0 88 17 00 01 */ lbz r0, 1(r23)
/* 80307354 003042B4 7E F7 CA 14 */ add r23, r23, r25
/* 80307358 003042B8 98 61 00 18 */ stb r3, 0x18(r1)
/* 8030735C 003042BC 98 01 00 19 */ stb r0, 0x19(r1)
/* 80307360 003042C0 A0 01 00 18 */ lhz r0, 0x18(r1)
/* 80307364 003042C4 B0 1F 80 00 */ sth r0, 0xCC008000@l(r31)
/* 80307368 003042C8 88 64 00 00 */ lbz r3, 0(r4)
/* 8030736C 003042CC 88 04 00 01 */ lbz r0, 1(r4)
/* 80307370 003042D0 98 61 00 14 */ stb r3, 0x14(r1)
/* 80307374 003042D4 98 01 00 15 */ stb r0, 0x15(r1)
/* 80307378 003042D8 A0 01 00 14 */ lhz r0, 0x14(r1)
/* 8030737C 003042DC B0 1F 80 00 */ sth r0, 0xCC008000@l(r31)
lbl_80307380:
/* 80307380 003042E0 7C 14 E0 00 */ cmpw r20, r28
/* 80307384 003042E4 41 80 FF 6C */ blt lbl_803072F0
/* 80307388 003042E8 48 00 00 A0 */ b lbl_80307428
lbl_8030738C:
/* 8030738C 003042EC 28 1F 00 A0 */ cmplwi r31, 0xa0
/* 80307390 003042F0 40 82 00 A0 */ bne lbl_80307430
/* 80307394 003042F4 3B 9C FF FD */ addi r28, r28, -3
/* 80307398 003042F8 7E 9A B8 50 */ subf r20, r26, r23
/* 8030739C 003042FC 57 9C 04 3E */ clrlwi r28, r28, 0x10
/* 803073A0 00304300 3A A0 00 00 */ li r21, 0
/* 803073A4 00304304 3F E0 CC 01 */ lis r31, 0xcc01
/* 803073A8 00304308 48 00 00 78 */ b lbl_80307420
lbl_803073AC:
/* 803073AC 0030430C 88 1D 00 4C */ lbz r0, 0x4c(r29)
/* 803073B0 00304310 7E 79 B8 50 */ subf r19, r25, r23
/* 803073B4 00304314 28 00 00 00 */ cmplwi r0, 0
/* 803073B8 00304318 41 82 00 08 */ beq lbl_803073C0
/* 803073BC 0030431C 48 00 0C 29 */ bl FlushState__3CGXFv
lbl_803073C0:
/* 803073C0 00304320 38 60 00 B0 */ li r3, 0xb0
/* 803073C4 00304324 38 80 00 00 */ li r4, 0
/* 803073C8 00304328 38 A0 00 03 */ li r5, 3
/* 803073CC 0030432C 48 07 15 29 */ bl GXBegin
/* 803073D0 00304330 88 73 00 00 */ lbz r3, 0(r19)
/* 803073D4 00304334 3A B5 00 01 */ addi r21, r21, 1
/* 803073D8 00304338 88 13 00 01 */ lbz r0, 1(r19)
/* 803073DC 0030433C 98 61 00 10 */ stb r3, 0x10(r1)
/* 803073E0 00304340 98 01 00 11 */ stb r0, 0x11(r1)
/* 803073E4 00304344 A0 01 00 10 */ lhz r0, 0x10(r1)
/* 803073E8 00304348 B0 1F 80 00 */ sth r0, 0xCC008000@l(r31)
/* 803073EC 0030434C 88 77 00 00 */ lbz r3, 0(r23)
/* 803073F0 00304350 88 17 00 01 */ lbz r0, 1(r23)
/* 803073F4 00304354 7E F7 CA 14 */ add r23, r23, r25
/* 803073F8 00304358 98 61 00 0C */ stb r3, 0xc(r1)
/* 803073FC 0030435C 98 01 00 0D */ stb r0, 0xd(r1)
/* 80307400 00304360 A0 01 00 0C */ lhz r0, 0xc(r1)
/* 80307404 00304364 B0 1F 80 00 */ sth r0, 0xCC008000@l(r31)
/* 80307408 00304368 88 74 00 00 */ lbz r3, 0(r20)
/* 8030740C 0030436C 88 14 00 01 */ lbz r0, 1(r20)
/* 80307410 00304370 98 61 00 08 */ stb r3, 8(r1)
/* 80307414 00304374 98 01 00 09 */ stb r0, 9(r1)
/* 80307418 00304378 A0 01 00 08 */ lhz r0, 8(r1)
/* 8030741C 0030437C B0 1F 80 00 */ sth r0, 0xCC008000@l(r31)
lbl_80307420:
/* 80307420 00304380 7C 15 E0 00 */ cmpw r21, r28
/* 80307424 00304384 41 80 FF 88 */ blt lbl_803073AC
lbl_80307428:
/* 80307428 00304388 7C 16 C0 00 */ cmpw r22, r24
/* 8030742C 0030438C 41 80 FD 28 */ blt lbl_80307154
lbl_80307430:
/* 80307430 00304390 BA 61 00 4C */ lmw r19, 0x4c(r1)
/* 80307434 00304394 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80307438 00304398 7C 08 03 A6 */ mtlr r0
/* 8030743C 0030439C 38 21 00 80 */ addi r1, r1, 0x80
/* 80307440 003043A0 4E 80 00 20 */ blr
.global DrawSurface__10CCubeModelCFRC12CCubeSurfaceRC11CModelFlags
DrawSurface__10CCubeModelCFRC12CCubeSurfaceRC11CModelFlags:
/* 80307444 003043A4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80307448 003043A8 7C 08 02 A6 */ mflr r0
/* 8030744C 003043AC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80307450 003043B0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80307454 003043B4 7C 9F 23 78 */ mr r31, r4
/* 80307458 003043B8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8030745C 003043BC 7C BE 2B 78 */ mr r30, r5
/* 80307460 003043C0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80307464 003043C4 7C 7D 1B 78 */ mr r29, r3
/* 80307468 003043C8 38 61 00 08 */ addi r3, r1, 8
/* 8030746C 003043CC 80 C4 00 00 */ lwz r6, 0(r4)
/* 80307470 003043D0 7F A4 EB 78 */ mr r4, r29
/* 80307474 003043D4 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 80307478 003043D8 48 00 00 95 */ bl GetMaterialByIndex__10CCubeModelCFi
/* 8030747C 003043DC 80 61 00 08 */ lwz r3, 8(r1)
/* 80307480 003043E0 90 61 00 0C */ stw r3, 0xc(r1)
/* 80307484 003043E4 80 03 00 00 */ lwz r0, 0(r3)
/* 80307488 003043E8 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
/* 8030748C 003043EC 41 82 00 10 */ beq lbl_8030749C
/* 80307490 003043F0 88 0D A7 80 */ lbz r0, lbl_805A9340@sda21(r13)
/* 80307494 003043F4 28 00 00 00 */ cmplwi r0, 0
/* 80307498 003043F8 41 82 00 58 */ beq lbl_803074F0
lbl_8030749C:
/* 8030749C 003043FC 7F C4 F3 78 */ mr r4, r30
/* 803074A0 00304400 7F E5 FB 78 */ mr r5, r31
/* 803074A4 00304404 7F A6 EB 78 */ mr r6, r29
/* 803074A8 00304408 38 61 00 0C */ addi r3, r1, 0xc
/* 803074AC 0030440C 48 03 E9 B1 */ bl SetCurrent__13CCubeMaterialCFRC11CModelFlagsRC12CCubeSurfaceRC10CCubeModel
/* 803074B0 00304410 80 BF 00 00 */ lwz r5, 0(r31)
/* 803074B4 00304414 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803074B8 00304418 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 803074BC 0030441C 80 85 00 1C */ lwz r4, 0x1c(r5)
/* 803074C0 00304420 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 803074C4 00304424 38 64 00 4B */ addi r3, r4, 0x4b
/* 803074C8 00304428 80 85 00 10 */ lwz r4, 0x10(r5)
/* 803074CC 0030442C 54 63 00 34 */ rlwinm r3, r3, 0, 0, 0x1a
/* 803074D0 00304430 28 00 00 00 */ cmplwi r0, 0
/* 803074D4 00304434 54 9F 00 7E */ clrlwi r31, r4, 1
/* 803074D8 00304438 7F C5 1A 14 */ add r30, r5, r3
/* 803074DC 0030443C 41 82 00 08 */ beq lbl_803074E4
/* 803074E0 00304440 48 00 0B 05 */ bl FlushState__3CGXFv
lbl_803074E4:
/* 803074E4 00304444 7F C3 F3 78 */ mr r3, r30
/* 803074E8 00304448 7F E4 FB 78 */ mr r4, r31
/* 803074EC 0030444C 48 07 4C E9 */ bl GXCallDisplayList
lbl_803074F0:
/* 803074F0 00304450 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803074F4 00304454 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803074F8 00304458 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803074FC 0030445C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80307500 00304460 7C 08 03 A6 */ mtlr r0
/* 80307504 00304464 38 21 00 20 */ addi r1, r1, 0x20
/* 80307508 00304468 4E 80 00 20 */ blr
.global GetMaterialByIndex__10CCubeModelCFi
GetMaterialByIndex__10CCubeModelCFi:
/* 8030750C 0030446C 80 C4 00 1C */ lwz r6, 0x1c(r4)
/* 80307510 00304470 2C 05 00 00 */ cmpwi r5, 0
/* 80307514 00304474 80 E4 00 04 */ lwz r7, 4(r4)
/* 80307518 00304478 39 00 00 00 */ li r8, 0
/* 8030751C 0030447C 80 86 00 04 */ lwz r4, 4(r6)
/* 80307520 00304480 38 04 00 01 */ addi r0, r4, 1
/* 80307524 00304484 54 00 10 3A */ slwi r0, r0, 2
/* 80307528 00304488 7C E7 02 14 */ add r7, r7, r0
/* 8030752C 0030448C 80 C7 00 00 */ lwz r6, 0(r7)
/* 80307530 00304490 38 E7 00 04 */ addi r7, r7, 4
/* 80307534 00304494 41 82 00 10 */ beq lbl_80307544
/* 80307538 00304498 54 A0 10 3A */ slwi r0, r5, 2
/* 8030753C 0030449C 7C 87 02 14 */ add r4, r7, r0
/* 80307540 003044A0 81 04 FF FC */ lwz r8, -4(r4)
lbl_80307544:
/* 80307544 003044A4 54 C0 10 3A */ slwi r0, r6, 2
/* 80307548 003044A8 7C E7 02 14 */ add r7, r7, r0
/* 8030754C 003044AC 7C E7 42 14 */ add r7, r7, r8
/* 80307550 003044B0 90 E3 00 00 */ stw r7, 0(r3)
/* 80307554 003044B4 4E 80 00 20 */ blr
.global SetUsingPackedLightmaps__10CCubeModelCFb
SetUsingPackedLightmaps__10CCubeModelCFb:
/* 80307558 003044B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030755C 003044BC 7C 08 02 A6 */ mflr r0
/* 80307560 003044C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80307564 003044C4 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 80307568 003044C8 98 8D A7 82 */ stb r4, lbl_805A9342@sda21(r13)
/* 8030756C 003044CC 41 82 00 38 */ beq lbl_803075A4
/* 80307570 003044D0 80 83 00 18 */ lwz r4, 0x18(r3)
/* 80307574 003044D4 28 04 00 00 */ cmplwi r4, 0
/* 80307578 003044D8 41 82 00 5C */ beq lbl_803075D4
/* 8030757C 003044DC 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80307580 003044E0 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 80307584 003044E4 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80307588 003044E8 7C 00 20 40 */ cmplw r0, r4
/* 8030758C 003044EC 41 82 00 48 */ beq lbl_803075D4
/* 80307590 003044F0 90 83 00 10 */ stw r4, 0x10(r3)
/* 80307594 003044F4 38 60 00 0D */ li r3, 0xd
/* 80307598 003044F8 38 A0 00 04 */ li r5, 4
/* 8030759C 003044FC 48 07 09 5D */ bl GXSetArray
/* 803075A0 00304500 48 00 00 34 */ b lbl_803075D4
lbl_803075A4:
/* 803075A4 00304504 80 83 00 14 */ lwz r4, 0x14(r3)
/* 803075A8 00304508 28 04 00 00 */ cmplwi r4, 0
/* 803075AC 0030450C 41 82 00 28 */ beq lbl_803075D4
/* 803075B0 00304510 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803075B4 00304514 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 803075B8 00304518 80 03 00 10 */ lwz r0, 0x10(r3)
/* 803075BC 0030451C 7C 00 20 40 */ cmplw r0, r4
/* 803075C0 00304520 41 82 00 14 */ beq lbl_803075D4
/* 803075C4 00304524 90 83 00 10 */ stw r4, 0x10(r3)
/* 803075C8 00304528 38 60 00 0D */ li r3, 0xd
/* 803075CC 0030452C 38 A0 00 08 */ li r5, 8
/* 803075D0 00304530 48 07 09 29 */ bl GXSetArray
lbl_803075D4:
/* 803075D4 00304534 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803075D8 00304538 7C 08 03 A6 */ mtlr r0
/* 803075DC 0030453C 38 21 00 10 */ addi r1, r1, 0x10
/* 803075E0 00304540 4E 80 00 20 */ blr
.global SetSkinningArraysCurrent__10CCubeModelCFPCfPCf
SetSkinningArraysCurrent__10CCubeModelCFPCfPCf:
/* 803075E4 00304544 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803075E8 00304548 7C 08 02 A6 */ mflr r0
/* 803075EC 0030454C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803075F0 00304550 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803075F4 00304554 7C 7F 1B 78 */ mr r31, r3
/* 803075F8 00304558 38 6D A7 B8 */ addi r3, r13, sRenderState__9CGraphics@sda21
/* 803075FC 0030455C 80 DF 00 10 */ lwz r6, 0x10(r31)
/* 80307600 00304560 48 00 1D 69 */ bl SetVtxState__Q29CGraphics12CRenderStateFPCfPCfPCUi
/* 80307604 00304564 7F E3 FB 78 */ mr r3, r31
/* 80307608 00304568 48 00 00 B9 */ bl SetStaticArraysCurrent__10CCubeModelCFv
/* 8030760C 0030456C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80307610 00304570 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80307614 00304574 7C 08 03 A6 */ mtlr r0
/* 80307618 00304578 38 21 00 10 */ addi r1, r1, 0x10
/* 8030761C 0030457C 4E 80 00 20 */ blr
.global SetArraysCurrent__10CCubeModelCFv
SetArraysCurrent__10CCubeModelCFv:
/* 80307620 00304580 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80307624 00304584 7C 08 02 A6 */ mflr r0
/* 80307628 00304588 90 01 00 14 */ stw r0, 0x14(r1)
/* 8030762C 0030458C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80307630 00304590 7C 7F 1B 78 */ mr r31, r3
/* 80307634 00304594 80 83 00 08 */ lwz r4, 8(r3)
/* 80307638 00304598 28 04 00 00 */ cmplwi r4, 0
/* 8030763C 0030459C 41 82 00 24 */ beq lbl_80307660
/* 80307640 003045A0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80307644 003045A4 84 03 53 EC */ lwzu r0, sGXState__3CGX@l(r3)
/* 80307648 003045A8 7C 00 20 40 */ cmplw r0, r4
/* 8030764C 003045AC 41 82 00 14 */ beq lbl_80307660
/* 80307650 003045B0 90 83 00 00 */ stw r4, 0(r3)
/* 80307654 003045B4 38 60 00 09 */ li r3, 9
/* 80307658 003045B8 38 A0 00 0C */ li r5, 0xc
/* 8030765C 003045BC 48 07 08 9D */ bl GXSetArray
lbl_80307660:
/* 80307660 003045C0 88 1F 00 41 */ lbz r0, 0x41(r31)
/* 80307664 003045C4 38 A0 00 0C */ li r5, 0xc
/* 80307668 003045C8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8030766C 003045CC 41 82 00 08 */ beq lbl_80307674
/* 80307670 003045D0 38 A0 00 06 */ li r5, 6
lbl_80307674:
/* 80307674 003045D4 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 80307678 003045D8 28 04 00 00 */ cmplwi r4, 0
/* 8030767C 003045DC 41 82 00 28 */ beq lbl_803076A4
/* 80307680 003045E0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80307684 003045E4 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 80307688 003045E8 80 03 00 04 */ lwz r0, 4(r3)
/* 8030768C 003045EC 7C 00 20 40 */ cmplw r0, r4
/* 80307690 003045F0 41 82 00 14 */ beq lbl_803076A4
/* 80307694 003045F4 90 83 00 04 */ stw r4, 4(r3)
/* 80307698 003045F8 54 A5 06 3E */ clrlwi r5, r5, 0x18
/* 8030769C 003045FC 38 60 00 0A */ li r3, 0xa
/* 803076A0 00304600 48 07 08 59 */ bl GXSetArray
lbl_803076A4:
/* 803076A4 00304604 7F E3 FB 78 */ mr r3, r31
/* 803076A8 00304608 48 00 00 19 */ bl SetStaticArraysCurrent__10CCubeModelCFv
/* 803076AC 0030460C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803076B0 00304610 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803076B4 00304614 7C 08 03 A6 */ mtlr r0
/* 803076B8 00304618 38 21 00 10 */ addi r1, r1, 0x10
/* 803076BC 0030461C 4E 80 00 20 */ blr
.global SetStaticArraysCurrent__10CCubeModelCFv
SetStaticArraysCurrent__10CCubeModelCFv:
/* 803076C0 00304620 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803076C4 00304624 7C 08 02 A6 */ mflr r0
/* 803076C8 00304628 90 01 00 24 */ stw r0, 0x24(r1)
/* 803076CC 0030462C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803076D0 00304630 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803076D4 00304634 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803076D8 00304638 7C 7D 1B 78 */ mr r29, r3
/* 803076DC 0030463C 80 83 00 10 */ lwz r4, 0x10(r3)
/* 803076E0 00304640 28 04 00 00 */ cmplwi r4, 0
/* 803076E4 00304644 41 82 00 28 */ beq lbl_8030770C
/* 803076E8 00304648 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803076EC 0030464C 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 803076F0 00304650 80 03 00 08 */ lwz r0, 8(r3)
/* 803076F4 00304654 7C 00 20 40 */ cmplw r0, r4
/* 803076F8 00304658 41 82 00 14 */ beq lbl_8030770C
/* 803076FC 0030465C 90 83 00 08 */ stw r4, 8(r3)
/* 80307700 00304660 38 60 00 0B */ li r3, 0xb
/* 80307704 00304664 38 A0 00 04 */ li r5, 4
/* 80307708 00304668 48 07 07 F1 */ bl GXSetArray
lbl_8030770C:
/* 8030770C 0030466C 80 9D 00 18 */ lwz r4, 0x18(r29)
/* 80307710 00304670 83 DD 00 14 */ lwz r30, 0x14(r29)
/* 80307714 00304674 28 04 00 00 */ cmplwi r4, 0
/* 80307718 00304678 40 82 00 0C */ bne lbl_80307724
/* 8030771C 0030467C 38 00 00 00 */ li r0, 0
/* 80307720 00304680 98 0D A7 82 */ stb r0, lbl_805A9342@sda21(r13)
lbl_80307724:
/* 80307724 00304684 88 0D A7 82 */ lbz r0, lbl_805A9342@sda21(r13)
/* 80307728 00304688 28 00 00 00 */ cmplwi r0, 0
/* 8030772C 0030468C 41 82 00 34 */ beq lbl_80307760
/* 80307730 00304690 28 04 00 00 */ cmplwi r4, 0
/* 80307734 00304694 41 82 00 5C */ beq lbl_80307790
/* 80307738 00304698 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 8030773C 0030469C 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 80307740 003046A0 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80307744 003046A4 7C 00 20 40 */ cmplw r0, r4
/* 80307748 003046A8 41 82 00 48 */ beq lbl_80307790
/* 8030774C 003046AC 90 83 00 10 */ stw r4, 0x10(r3)
/* 80307750 003046B0 38 60 00 0D */ li r3, 0xd
/* 80307754 003046B4 38 A0 00 04 */ li r5, 4
/* 80307758 003046B8 48 07 07 A1 */ bl GXSetArray
/* 8030775C 003046BC 48 00 00 34 */ b lbl_80307790
lbl_80307760:
/* 80307760 003046C0 28 1E 00 00 */ cmplwi r30, 0
/* 80307764 003046C4 41 82 00 2C */ beq lbl_80307790
/* 80307768 003046C8 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 8030776C 003046CC 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 80307770 003046D0 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80307774 003046D4 7C 00 F0 40 */ cmplw r0, r30
/* 80307778 003046D8 41 82 00 18 */ beq lbl_80307790
/* 8030777C 003046DC 93 C3 00 10 */ stw r30, 0x10(r3)
/* 80307780 003046E0 7F C4 F3 78 */ mr r4, r30
/* 80307784 003046E4 38 60 00 0D */ li r3, 0xd
/* 80307788 003046E8 38 A0 00 08 */ li r5, 8
/* 8030778C 003046EC 48 07 07 6D */ bl GXSetArray
lbl_80307790:
/* 80307790 003046F0 28 1E 00 00 */ cmplwi r30, 0
/* 80307794 003046F4 41 82 00 4C */ beq lbl_803077E0
/* 80307798 003046F8 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 8030779C 003046FC 3B A0 00 01 */ li r29, 1
/* 803077A0 00304700 3B E3 53 EC */ addi r31, r3, sGXState__3CGX@l
lbl_803077A4:
/* 803077A4 00304704 28 1E 00 00 */ cmplwi r30, 0
/* 803077A8 00304708 38 7D 00 0D */ addi r3, r29, 0xd
/* 803077AC 0030470C 38 03 FF F7 */ addi r0, r3, -9
/* 803077B0 00304710 41 82 00 24 */ beq lbl_803077D4
/* 803077B4 00304714 54 04 10 3A */ slwi r4, r0, 2
/* 803077B8 00304718 7C 1F 20 2E */ lwzx r0, r31, r4
/* 803077BC 0030471C 7C 00 F0 40 */ cmplw r0, r30
/* 803077C0 00304720 41 82 00 14 */ beq lbl_803077D4
/* 803077C4 00304724 7F DF 21 2E */ stwx r30, r31, r4
/* 803077C8 00304728 7F C4 F3 78 */ mr r4, r30
/* 803077CC 0030472C 38 A0 00 08 */ li r5, 8
/* 803077D0 00304730 48 07 07 29 */ bl GXSetArray
lbl_803077D4:
/* 803077D4 00304734 3B BD 00 01 */ addi r29, r29, 1
/* 803077D8 00304738 2C 1D 00 07 */ cmpwi r29, 7
/* 803077DC 0030473C 40 81 FF C8 */ ble lbl_803077A4
lbl_803077E0:
/* 803077E0 00304740 48 03 E1 61 */ bl KillCachedViewDepState__13CCubeMaterialFv
/* 803077E4 00304744 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803077E8 00304748 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803077EC 0030474C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803077F0 00304750 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803077F4 00304754 7C 08 03 A6 */ mtlr r0
/* 803077F8 00304758 38 21 00 20 */ addi r1, r1, 0x20
/* 803077FC 0030475C 4E 80 00 20 */ blr
.global "MakeTexturesFromMats__10CCubeModelFPCvRQ24rstl60vector<23TCachedToken<8CTexture>,Q24rstl17rmemory_allocator>R12IObjectStoreb"
"MakeTexturesFromMats__10CCubeModelFPCvRQ24rstl60vector<23TCachedToken<8CTexture>,Q24rstl17rmemory_allocator>R12IObjectStoreb":
/* 80307800 00304760 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80307804 00304764 7C 08 02 A6 */ mflr r0
/* 80307808 00304768 7C 67 1B 78 */ mr r7, r3
/* 8030780C 0030476C 90 01 00 54 */ stw r0, 0x54(r1)
/* 80307810 00304770 BF 01 00 30 */ stmw r24, 0x30(r1)
/* 80307814 00304774 7C 9A 23 78 */ mr r26, r4
/* 80307818 00304778 7C BB 2B 78 */ mr r27, r5
/* 8030781C 0030477C 7C D8 33 78 */ mr r24, r6
/* 80307820 00304780 3B C7 00 04 */ addi r30, r7, 4
/* 80307824 00304784 83 A3 00 00 */ lwz r29, 0(r3)
/* 80307828 00304788 7F 43 D3 78 */ mr r3, r26
/* 8030782C 0030478C 7F A4 EB 78 */ mr r4, r29
/* 80307830 00304790 48 00 02 89 */ bl "reserve__Q24rstl60vector<23TCachedToken<8CTexture>,Q24rstl17rmemory_allocator>Fi"
/* 80307834 00304794 3C 60 54 58 */ lis r3, 0x54585452@ha
/* 80307838 00304798 57 19 06 3E */ clrlwi r25, r24, 0x18
/* 8030783C 0030479C 3B E3 54 52 */ addi r31, r3, 0x54585452@l
/* 80307840 003047A0 3B 80 00 00 */ li r28, 0
/* 80307844 003047A4 48 00 00 F4 */ b lbl_80307938
lbl_80307848:
/* 80307848 003047A8 80 1E 00 00 */ lwz r0, 0(r30)
/* 8030784C 003047AC 7F 64 DB 78 */ mr r4, r27
/* 80307850 003047B0 93 E1 00 10 */ stw r31, 0x10(r1)
/* 80307854 003047B4 38 61 00 08 */ addi r3, r1, 8
/* 80307858 003047B8 38 A1 00 10 */ addi r5, r1, 0x10
/* 8030785C 003047BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80307860 003047C0 81 9B 00 00 */ lwz r12, 0(r27)
/* 80307864 003047C4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80307868 003047C8 7D 89 03 A6 */ mtctr r12
/* 8030786C 003047CC 4E 80 04 21 */ bctrl
/* 80307870 003047D0 38 61 00 18 */ addi r3, r1, 0x18
/* 80307874 003047D4 38 81 00 08 */ addi r4, r1, 8
/* 80307878 003047D8 48 03 96 31 */ bl __ct__6CTokenFRC6CToken
/* 8030787C 003047DC 38 00 00 00 */ li r0, 0
/* 80307880 003047E0 90 01 00 20 */ stw r0, 0x20(r1)
/* 80307884 003047E4 80 1A 00 04 */ lwz r0, 4(r26)
/* 80307888 003047E8 80 BA 00 08 */ lwz r5, 8(r26)
/* 8030788C 003047EC 7C 00 28 00 */ cmpw r0, r5
/* 80307890 003047F0 41 80 00 1C */ blt lbl_803078AC
/* 80307894 003047F4 2C 05 00 00 */ cmpwi r5, 0
/* 80307898 003047F8 7F 43 D3 78 */ mr r3, r26
/* 8030789C 003047FC 38 80 00 04 */ li r4, 4
/* 803078A0 00304800 41 82 00 08 */ beq lbl_803078A8
/* 803078A4 00304804 54 A4 08 3C */ slwi r4, r5, 1
lbl_803078A8:
/* 803078A8 00304808 48 00 02 11 */ bl "reserve__Q24rstl60vector<23TCachedToken<8CTexture>,Q24rstl17rmemory_allocator>Fi"
lbl_803078AC:
/* 803078AC 0030480C 80 1A 00 04 */ lwz r0, 4(r26)
/* 803078B0 00304810 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 803078B4 00304814 1C 00 00 0C */ mulli r0, r0, 0xc
/* 803078B8 00304818 7F 03 02 15 */ add. r24, r3, r0
/* 803078BC 0030481C 41 82 00 18 */ beq lbl_803078D4
/* 803078C0 00304820 7F 03 C3 78 */ mr r3, r24
/* 803078C4 00304824 38 81 00 18 */ addi r4, r1, 0x18
/* 803078C8 00304828 48 03 95 E1 */ bl __ct__6CTokenFRC6CToken
/* 803078CC 0030482C 80 01 00 20 */ lwz r0, 0x20(r1)
/* 803078D0 00304830 90 18 00 08 */ stw r0, 8(r24)
lbl_803078D4:
/* 803078D4 00304834 80 BA 00 04 */ lwz r5, 4(r26)
/* 803078D8 00304838 38 61 00 18 */ addi r3, r1, 0x18
/* 803078DC 0030483C 38 80 00 00 */ li r4, 0
/* 803078E0 00304840 38 05 00 01 */ addi r0, r5, 1
/* 803078E4 00304844 90 1A 00 04 */ stw r0, 4(r26)
/* 803078E8 00304848 48 03 95 59 */ bl __dt__6CTokenFv
/* 803078EC 0030484C 38 61 00 08 */ addi r3, r1, 8
/* 803078F0 00304850 38 80 FF FF */ li r4, -1
/* 803078F4 00304854 48 03 95 4D */ bl __dt__6CTokenFv
/* 803078F8 00304858 28 19 00 00 */ cmplwi r25, 0
/* 803078FC 0030485C 40 82 00 34 */ bne lbl_80307930
/* 80307900 00304860 80 7A 00 04 */ lwz r3, 4(r26)
/* 80307904 00304864 80 9A 00 0C */ lwz r4, 0xc(r26)
/* 80307908 00304868 38 03 FF FF */ addi r0, r3, -1
/* 8030790C 0030486C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80307910 00304870 7F 04 02 14 */ add r24, r4, r0
/* 80307914 00304874 80 18 00 08 */ lwz r0, 8(r24)
/* 80307918 00304878 28 00 00 00 */ cmplwi r0, 0
/* 8030791C 0030487C 40 82 00 14 */ bne lbl_80307930
/* 80307920 00304880 7F 03 C3 78 */ mr r3, r24
/* 80307924 00304884 48 03 94 E9 */ bl GetObj__6CTokenFv
/* 80307928 00304888 80 03 00 04 */ lwz r0, 4(r3)
/* 8030792C 0030488C 90 18 00 08 */ stw r0, 8(r24)
lbl_80307930:
/* 80307930 00304890 3B DE 00 04 */ addi r30, r30, 4
/* 80307934 00304894 3B 9C 00 01 */ addi r28, r28, 1
lbl_80307938:
/* 80307938 00304898 7C 1C E8 40 */ cmplw r28, r29
/* 8030793C 0030489C 41 80 FF 0C */ blt lbl_80307848
/* 80307940 003048A0 BB 01 00 30 */ lmw r24, 0x30(r1)
/* 80307944 003048A4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80307948 003048A8 7C 08 03 A6 */ mtlr r0
/* 8030794C 003048AC 38 21 00 50 */ addi r1, r1, 0x50
/* 80307950 003048B0 4E 80 00 20 */ blr
.global "__ct__10CCubeModelFPQ24rstl37vector<Pv,Q24rstl17rmemory_allocator>PQ24rstl60vector<23TCachedToken<8CTexture>,Q24rstl17rmemory_allocator>PCvPCvPCvPCvPCvPCvRC6CAABoxUcb"
"__ct__10CCubeModelFPQ24rstl37vector<Pv,Q24rstl17rmemory_allocator>PQ24rstl60vector<23TCachedToken<8CTexture>,Q24rstl17rmemory_allocator>PCvPCvPCvPCvPCvPCvRC6CAABoxUcb":
/* 80307954 003048B4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80307958 003048B8 7C 08 02 A6 */ mflr r0
/* 8030795C 003048BC 90 01 00 34 */ stw r0, 0x34(r1)
/* 80307960 003048C0 88 01 00 47 */ lbz r0, 0x47(r1)
/* 80307964 003048C4 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 80307968 003048C8 7C 7E 1B 78 */ mr r30, r3
/* 8030796C 003048CC 81 81 00 38 */ lwz r12, 0x38(r1)
/* 80307970 003048D0 7C 00 00 34 */ cntlzw r0, r0
/* 80307974 003048D4 81 61 00 3C */ lwz r11, 0x3c(r1)
/* 80307978 003048D8 90 83 00 00 */ stw r4, 0(r3)
/* 8030797C 003048DC 38 80 00 00 */ li r4, 0
/* 80307980 003048E0 90 C3 00 04 */ stw r6, 4(r3)
/* 80307984 003048E4 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
/* 80307988 003048E8 80 C1 00 48 */ lwz r6, 0x48(r1)
/* 8030798C 003048EC 90 FE 00 08 */ stw r7, 8(r30)
/* 80307990 003048F0 88 E1 00 43 */ lbz r7, 0x43(r1)
/* 80307994 003048F4 91 1E 00 0C */ stw r8, 0xc(r30)
/* 80307998 003048F8 91 3E 00 10 */ stw r9, 0x10(r30)
/* 8030799C 003048FC 91 5E 00 14 */ stw r10, 0x14(r30)
/* 803079A0 00304900 91 9E 00 18 */ stw r12, 0x18(r30)
/* 803079A4 00304904 90 BE 00 1C */ stw r5, 0x1c(r30)
/* 803079A8 00304908 C0 0B 00 00 */ lfs f0, 0(r11)
/* 803079AC 0030490C D0 1E 00 20 */ stfs f0, 0x20(r30)
/* 803079B0 00304910 C0 0B 00 04 */ lfs f0, 4(r11)
/* 803079B4 00304914 D0 1E 00 24 */ stfs f0, 0x24(r30)
/* 803079B8 00304918 C0 0B 00 08 */ lfs f0, 8(r11)
/* 803079BC 0030491C D0 1E 00 28 */ stfs f0, 0x28(r30)
/* 803079C0 00304920 C0 0B 00 0C */ lfs f0, 0xc(r11)
/* 803079C4 00304924 D0 1E 00 2C */ stfs f0, 0x2c(r30)
/* 803079C8 00304928 C0 0B 00 10 */ lfs f0, 0x10(r11)
/* 803079CC 0030492C D0 1E 00 30 */ stfs f0, 0x30(r30)
/* 803079D0 00304930 C0 0B 00 14 */ lfs f0, 0x14(r11)
/* 803079D4 00304934 D0 1E 00 34 */ stfs f0, 0x34(r30)
/* 803079D8 00304938 90 9E 00 38 */ stw r4, 0x38(r30)
/* 803079DC 0030493C 90 9E 00 3C */ stw r4, 0x3c(r30)
/* 803079E0 00304940 88 1E 00 40 */ lbz r0, 0x40(r30)
/* 803079E4 00304944 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 803079E8 00304948 98 1E 00 40 */ stb r0, 0x40(r30)
/* 803079EC 0030494C 88 1E 00 40 */ lbz r0, 0x40(r30)
/* 803079F0 00304950 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 803079F4 00304954 98 1E 00 40 */ stb r0, 0x40(r30)
/* 803079F8 00304958 98 FE 00 41 */ stb r7, 0x41(r30)
/* 803079FC 0030495C 90 DE 00 44 */ stw r6, 0x44(r30)
/* 80307A00 00304960 83 FE 00 00 */ lwz r31, 0(r30)
/* 80307A04 00304964 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 80307A08 00304968 48 00 00 10 */ b lbl_80307A18
lbl_80307A0C:
/* 80307A0C 0030496C 80 64 00 00 */ lwz r3, 0(r4)
/* 80307A10 00304970 38 84 00 04 */ addi r4, r4, 4
/* 80307A14 00304974 93 C3 00 14 */ stw r30, 0x14(r3)
lbl_80307A18:
/* 80307A18 00304978 80 BF 00 04 */ lwz r5, 4(r31)
/* 80307A1C 0030497C 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 80307A20 00304980 54 A0 10 3A */ slwi r0, r5, 2
/* 80307A24 00304984 7C 03 02 14 */ add r0, r3, r0
/* 80307A28 00304988 7C 04 00 40 */ cmplw r4, r0
/* 80307A2C 0030498C 40 82 FF E0 */ bne lbl_80307A0C
/* 80307A30 00304990 7C BB 2B 78 */ mr r27, r5
/* 80307A34 00304994 48 00 00 64 */ b lbl_80307A98
lbl_80307A38:
/* 80307A38 00304998 38 1B FF FF */ addi r0, r27, -1
/* 80307A3C 0030499C 83 9F 00 0C */ lwz r28, 0xc(r31)
/* 80307A40 003049A0 54 1D 10 3A */ slwi r29, r0, 2
/* 80307A44 003049A4 7F C4 F3 78 */ mr r4, r30
/* 80307A48 003049A8 7C BC E8 2E */ lwzx r5, r28, r29
/* 80307A4C 003049AC 38 61 00 08 */ addi r3, r1, 8
/* 80307A50 003049B0 80 A5 00 0C */ lwz r5, 0xc(r5)
/* 80307A54 003049B4 4B FF FA B9 */ bl GetMaterialByIndex__10CCubeModelCFi
/* 80307A58 003049B8 80 61 00 08 */ lwz r3, 8(r1)
/* 80307A5C 003049BC 80 03 00 00 */ lwz r0, 0(r3)
/* 80307A60 003049C0 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80307A64 003049C4 41 82 00 1C */ beq lbl_80307A80
/* 80307A68 003049C8 80 1E 00 3C */ lwz r0, 0x3c(r30)
/* 80307A6C 003049CC 7C 7C E8 2E */ lwzx r3, r28, r29
/* 80307A70 003049D0 90 03 00 18 */ stw r0, 0x18(r3)
/* 80307A74 003049D4 7C 1C E8 2E */ lwzx r0, r28, r29
/* 80307A78 003049D8 90 1E 00 3C */ stw r0, 0x3c(r30)
/* 80307A7C 003049DC 48 00 00 18 */ b lbl_80307A94
lbl_80307A80:
/* 80307A80 003049E0 80 1E 00 38 */ lwz r0, 0x38(r30)
/* 80307A84 003049E4 7C 7C E8 2E */ lwzx r3, r28, r29
/* 80307A88 003049E8 90 03 00 18 */ stw r0, 0x18(r3)
/* 80307A8C 003049EC 7C 1C E8 2E */ lwzx r0, r28, r29
/* 80307A90 003049F0 90 1E 00 38 */ stw r0, 0x38(r30)
lbl_80307A94:
/* 80307A94 003049F4 3B 7B FF FF */ addi r27, r27, -1
lbl_80307A98:
/* 80307A98 003049F8 2C 1B 00 00 */ cmpwi r27, 0
/* 80307A9C 003049FC 41 81 FF 9C */ bgt lbl_80307A38
/* 80307AA0 00304A00 7F C3 F3 78 */ mr r3, r30
/* 80307AA4 00304A04 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 80307AA8 00304A08 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80307AAC 00304A0C 7C 08 03 A6 */ mtlr r0
/* 80307AB0 00304A10 38 21 00 30 */ addi r1, r1, 0x30
/* 80307AB4 00304A14 4E 80 00 20 */ blr
.global "reserve__Q24rstl60vector<23TCachedToken<8CTexture>,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl60vector<23TCachedToken<8CTexture>,Q24rstl17rmemory_allocator>Fi":
/* 80307AB8 00304A18 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80307ABC 00304A1C 7C 08 02 A6 */ mflr r0
/* 80307AC0 00304A20 90 01 00 34 */ stw r0, 0x34(r1)
/* 80307AC4 00304A24 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 80307AC8 00304A28 7C 9F 23 78 */ mr r31, r4
/* 80307ACC 00304A2C 7C 7E 1B 78 */ mr r30, r3
/* 80307AD0 00304A30 80 03 00 08 */ lwz r0, 8(r3)
/* 80307AD4 00304A34 7C 1F 00 00 */ cmpw r31, r0
/* 80307AD8 00304A38 40 81 00 D0 */ ble lbl_80307BA8
/* 80307ADC 00304A3C 1C 7F 00 0C */ mulli r3, r31, 0xc
/* 80307AE0 00304A40 2C 03 00 00 */ cmpwi r3, 0
/* 80307AE4 00304A44 40 82 00 0C */ bne lbl_80307AF0
/* 80307AE8 00304A48 3B 80 00 00 */ li r28, 0
/* 80307AEC 00304A4C 48 00 00 18 */ b lbl_80307B04
lbl_80307AF0:
/* 80307AF0 00304A50 3C 80 80 3D */ lis r4, lbl_803D7398@ha
/* 80307AF4 00304A54 38 A0 00 00 */ li r5, 0
/* 80307AF8 00304A58 38 84 73 98 */ addi r4, r4, lbl_803D7398@l
/* 80307AFC 00304A5C 48 00 DD 1D */ bl __nwa__FUlPCcPCc
/* 80307B00 00304A60 7C 7C 1B 78 */ mr r28, r3
lbl_80307B04:
/* 80307B04 00304A64 80 1E 00 04 */ lwz r0, 4(r30)
/* 80307B08 00304A68 7F 9B E3 78 */ mr r27, r28
/* 80307B0C 00304A6C 83 5E 00 0C */ lwz r26, 0xc(r30)
/* 80307B10 00304A70 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80307B14 00304A74 93 41 00 10 */ stw r26, 0x10(r1)
/* 80307B18 00304A78 7F BA 02 14 */ add r29, r26, r0
/* 80307B1C 00304A7C 93 41 00 14 */ stw r26, 0x14(r1)
/* 80307B20 00304A80 93 A1 00 08 */ stw r29, 8(r1)
/* 80307B24 00304A84 93 A1 00 0C */ stw r29, 0xc(r1)
/* 80307B28 00304A88 48 00 00 28 */ b lbl_80307B50
lbl_80307B2C:
/* 80307B2C 00304A8C 28 1B 00 00 */ cmplwi r27, 0
/* 80307B30 00304A90 41 82 00 18 */ beq lbl_80307B48
/* 80307B34 00304A94 7F 63 DB 78 */ mr r3, r27
/* 80307B38 00304A98 7F 44 D3 78 */ mr r4, r26
/* 80307B3C 00304A9C 48 03 93 6D */ bl __ct__6CTokenFRC6CToken
/* 80307B40 00304AA0 80 1A 00 08 */ lwz r0, 8(r26)
/* 80307B44 00304AA4 90 1B 00 08 */ stw r0, 8(r27)
lbl_80307B48:
/* 80307B48 00304AA8 3B 7B 00 0C */ addi r27, r27, 0xc
/* 80307B4C 00304AAC 3B 5A 00 0C */ addi r26, r26, 0xc
lbl_80307B50:
/* 80307B50 00304AB0 7C 1A E8 40 */ cmplw r26, r29
/* 80307B54 00304AB4 40 82 FF D8 */ bne lbl_80307B2C
/* 80307B58 00304AB8 80 1E 00 04 */ lwz r0, 4(r30)
/* 80307B5C 00304ABC 83 5E 00 0C */ lwz r26, 0xc(r30)
/* 80307B60 00304AC0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80307B64 00304AC4 7F 7A 02 14 */ add r27, r26, r0
/* 80307B68 00304AC8 48 00 00 20 */ b lbl_80307B88
lbl_80307B6C:
/* 80307B6C 00304ACC 28 1A 00 00 */ cmplwi r26, 0
/* 80307B70 00304AD0 41 82 00 14 */ beq lbl_80307B84
/* 80307B74 00304AD4 41 82 00 10 */ beq lbl_80307B84
/* 80307B78 00304AD8 7F 43 D3 78 */ mr r3, r26
/* 80307B7C 00304ADC 38 80 00 00 */ li r4, 0
/* 80307B80 00304AE0 48 03 92 C1 */ bl __dt__6CTokenFv
lbl_80307B84:
/* 80307B84 00304AE4 3B 5A 00 0C */ addi r26, r26, 0xc
lbl_80307B88:
/* 80307B88 00304AE8 7C 1A D8 40 */ cmplw r26, r27
/* 80307B8C 00304AEC 40 82 FF E0 */ bne lbl_80307B6C
/* 80307B90 00304AF0 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80307B94 00304AF4 28 03 00 00 */ cmplwi r3, 0
/* 80307B98 00304AF8 41 82 00 08 */ beq lbl_80307BA0
/* 80307B9C 00304AFC 48 00 DD 95 */ bl Free__7CMemoryFPCv
lbl_80307BA0:
/* 80307BA0 00304B00 93 9E 00 0C */ stw r28, 0xc(r30)
/* 80307BA4 00304B04 93 FE 00 08 */ stw r31, 8(r30)
lbl_80307BA8:
/* 80307BA8 00304B08 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 80307BAC 00304B0C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80307BB0 00304B10 7C 08 03 A6 */ mtlr r0
/* 80307BB4 00304B14 38 21 00 30 */ addi r1, r1, 0x30
/* 80307BB8 00304B18 4E 80 00 20 */ blr
.section .rodata
.balign 8
.global lbl_803D7388
lbl_803D7388:
# ROM: 0x3D4388
.4byte 0x00000009
.4byte 0x00000003
.4byte 0x000000FF
.4byte 0
.global lbl_803D7398
lbl_803D7398:
# ROM: 0x3D4398
.asciz "??(??)"
.balign 4