.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