.include "macros.inc"

.section .data

.global lbl_803E0CE0
lbl_803E0CE0:
	# ROM: 0x3DDCE0
	.4byte 0
	.4byte 0
	.4byte __dt__11CFluidPlaneFv
	.4byte AddRipple__11CFluidPlaneFf9TUniqueIdRC9CVector3fR13CStateManager
	.4byte AddRipple__11CFluidPlaneFf9TUniqueIdRC9CVector3fRC9CVector3fRC12CScriptWaterR13CStateManagerRC9CVector3f
	.4byte AddRipple__11CFluidPlaneFRC7CRippleRC12CScriptWaterR13CStateManager
	.4byte nullsub_209
	.4byte "Render__11CFluidPlaneCFRC13CStateManagerRC6CAABoxRC12CTransform4fRC12CTransform4fbRC14CFrustumPlanesRCQ24rstl33optional_object<14CRippleManager>9TUniqueIdPCbiiRC9CVector3f"

.section .sdata

.global lbl_805A76C8
lbl_805A76C8:
	# ROM: 0x3F5068
	.float 1.0

.global lbl_805A76CC
lbl_805A76CC:
	# ROM: 0x3F506C
	.4byte 0

.global lbl_805A76D0
lbl_805A76D0:
	# ROM: 0x3F5070
	.float 1.0
	.4byte 0

.section .sdata2, "a"

.global lbl_805AB5E8
lbl_805AB5E8:
	# ROM: 0x3F7E88
	.4byte 0x3F4CCCCD

.global lbl_805AB5EC
lbl_805AB5EC:
	# ROM: 0x3F7E8C
	.float 0.5

.global lbl_805AB5F0
lbl_805AB5F0:
	# ROM: 0x3F7E90
	.4byte 0

.global lbl_805AB5F4
lbl_805AB5F4:
	# ROM: 0x3F7E94
	.float 1.0

.global lbl_805AB5F8
lbl_805AB5F8:
	# ROM: 0x3F7E98
	.4byte 0x3BCCCCCD

.global lbl_805AB5FC
lbl_805AB5FC:
	# ROM: 0x3F7E9C
	.4byte 0x43200000

.global lbl_805AB600
lbl_805AB600:
	# ROM: 0x3F7EA0
	.4byte 0x3F4CCCCD
	.4byte 0

.global lbl_805AB608
lbl_805AB608:
	# ROM: 0x3F7EA8
	.byte 0x01

.global lbl_805AB609
lbl_805AB609:
	# ROM: 0x3F7EA9
	.byte 0x01

.global lbl_805AB60A
lbl_805AB60A:
	# ROM: 0x3F7EAA
	.2byte 0x00000100

.global lbl_805AB60C
lbl_805AB60C:
	# ROM: 0x3F7EAC
	.4byte 0x00000001

.global lbl_805AB610
lbl_805AB610:
	# ROM: 0x3F7EB0
	.4byte 0x01000000

.section .text, "ax"

.global nullsub_209
nullsub_209:
/* 8012E90C 0012B86C  4E 80 00 20 */	blr

.global AddRipple__11CFluidPlaneFRC7CRippleRC12CScriptWaterR13CStateManager
AddRipple__11CFluidPlaneFRC7CRippleRC12CScriptWaterR13CStateManager:
/* 8012E910 0012B870  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8012E914 0012B874  7C 08 02 A6 */	mflr r0
/* 8012E918 0012B878  7C A3 2B 78 */	mr r3, r5
/* 8012E91C 0012B87C  90 01 00 14 */	stw r0, 0x14(r1)
/* 8012E920 0012B880  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8012E924 0012B884  7C DF 33 78 */	mr r31, r6
/* 8012E928 0012B888  93 C1 00 08 */	stw r30, 8(r1)
/* 8012E92C 0012B88C  7C 9E 23 78 */	mr r30, r4
/* 8012E930 0012B890  38 9E 00 08 */	addi r4, r30, 8
/* 8012E934 0012B894  4B FD 03 7D */	bl CanRippleAtPoint__12CScriptWaterCFRC9CVector3f
/* 8012E938 0012B898  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8012E93C 0012B89C  41 82 00 10 */	beq lbl_8012E94C
/* 8012E940 0012B8A0  80 7F 08 7C */	lwz r3, 0x87c(r31)
/* 8012E944 0012B8A4  7F C4 F3 78 */	mr r4, r30
/* 8012E948 0012B8A8  4B FE E6 05 */	bl AddRipple__14CRippleManagerFRC7CRipple
lbl_8012E94C:
/* 8012E94C 0012B8AC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8012E950 0012B8B0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8012E954 0012B8B4  83 C1 00 08 */	lwz r30, 8(r1)
/* 8012E958 0012B8B8  7C 08 03 A6 */	mtlr r0
/* 8012E95C 0012B8BC  38 21 00 10 */	addi r1, r1, 0x10
/* 8012E960 0012B8C0  4E 80 00 20 */	blr

.global AddRipple__11CFluidPlaneFf9TUniqueIdRC9CVector3fRC9CVector3fRC12CScriptWaterR13CStateManagerRC9CVector3f
AddRipple__11CFluidPlaneFf9TUniqueIdRC9CVector3fRC9CVector3fRC12CScriptWaterR13CStateManagerRC9CVector3f:
/* 8012E964 0012B8C4  94 21 FF 80 */	stwu r1, -0x80(r1)
/* 8012E968 0012B8C8  7C 08 02 A6 */	mflr r0
/* 8012E96C 0012B8CC  90 01 00 84 */	stw r0, 0x84(r1)
/* 8012E970 0012B8D0  DB E1 00 70 */	stfd f31, 0x70(r1)
/* 8012E974 0012B8D4  F3 E1 00 78 */	psq_st f31, 120(r1), 0, qr0
/* 8012E978 0012B8D8  BF 41 00 58 */	stmw r26, 0x58(r1)
/* 8012E97C 0012B8DC  FF E0 08 90 */	fmr f31, f1
/* 8012E980 0012B8E0  7C 7A 1B 78 */	mr r26, r3
/* 8012E984 0012B8E4  7C BC 2B 78 */	mr r28, r5
/* 8012E988 0012B8E8  7C 9B 23 78 */	mr r27, r4
/* 8012E98C 0012B8EC  7C DD 33 78 */	mr r29, r6
/* 8012E990 0012B8F0  7D 1E 43 78 */	mr r30, r8
/* 8012E994 0012B8F4  7D 3F 4B 78 */	mr r31, r9
/* 8012E998 0012B8F8  7C E3 3B 78 */	mr r3, r7
/* 8012E99C 0012B8FC  7F 84 E3 78 */	mr r4, r28
/* 8012E9A0 0012B900  4B FD 03 11 */	bl CanRippleAtPoint__12CScriptWaterCFRC9CVector3f
/* 8012E9A4 0012B904  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8012E9A8 0012B908  41 82 00 64 */	beq lbl_8012EA0C
/* 8012E9AC 0012B90C  C0 5F 00 04 */	lfs f2, 4(r31)
/* 8012E9B0 0012B910  FC 20 F8 90 */	fmr f1, f31
/* 8012E9B4 0012B914  C0 1D 00 04 */	lfs f0, 4(r29)
/* 8012E9B8 0012B918  7F 43 D3 78 */	mr r3, r26
/* 8012E9BC 0012B91C  C0 7F 00 00 */	lfs f3, 0(r31)
/* 8012E9C0 0012B920  EC 02 00 32 */	fmuls f0, f2, f0
/* 8012E9C4 0012B924  C0 5D 00 00 */	lfs f2, 0(r29)
/* 8012E9C8 0012B928  C0 BF 00 08 */	lfs f5, 8(r31)
/* 8012E9CC 0012B92C  C0 9D 00 08 */	lfs f4, 8(r29)
/* 8012E9D0 0012B930  EC 03 00 BA */	fmadds f0, f3, f2, f0
/* 8012E9D4 0012B934  EC 45 01 3A */	fmadds f2, f5, f4, f0
/* 8012E9D8 0012B938  48 00 00 F1 */	bl ProjectRippleVelocity__11CFluidPlaneCFff
/* 8012E9DC 0012B93C  7F 43 D3 78 */	mr r3, r26
/* 8012E9E0 0012B940  48 00 01 39 */	bl CalculateRippleIntensity__11CFluidPlaneCFf
/* 8012E9E4 0012B944  A0 1B 00 00 */	lhz r0, 0(r27)
/* 8012E9E8 0012B948  7F 85 E3 78 */	mr r5, r28
/* 8012E9EC 0012B94C  38 61 00 0C */	addi r3, r1, 0xc
/* 8012E9F0 0012B950  38 81 00 08 */	addi r4, r1, 8
/* 8012E9F4 0012B954  B0 01 00 08 */	sth r0, 8(r1)
/* 8012E9F8 0012B958  83 FE 08 7C */	lwz r31, 0x87c(r30)
/* 8012E9FC 0012B95C  4B FE DF 21 */	bl __ct__7CRippleF9TUniqueIdRC9CVector3ff
/* 8012EA00 0012B960  7C 64 1B 78 */	mr r4, r3
/* 8012EA04 0012B964  7F E3 FB 78 */	mr r3, r31
/* 8012EA08 0012B968  4B FE E5 45 */	bl AddRipple__14CRippleManagerFRC7CRipple
lbl_8012EA0C:
/* 8012EA0C 0012B96C  E3 E1 00 78 */	psq_l f31, 120(r1), 0, qr0
/* 8012EA10 0012B970  CB E1 00 70 */	lfd f31, 0x70(r1)
/* 8012EA14 0012B974  BB 41 00 58 */	lmw r26, 0x58(r1)
/* 8012EA18 0012B978  80 01 00 84 */	lwz r0, 0x84(r1)
/* 8012EA1C 0012B97C  7C 08 03 A6 */	mtlr r0
/* 8012EA20 0012B980  38 21 00 80 */	addi r1, r1, 0x80
/* 8012EA24 0012B984  4E 80 00 20 */	blr

.global AddRipple__11CFluidPlaneFf9TUniqueIdRC9CVector3fR13CStateManager
AddRipple__11CFluidPlaneFf9TUniqueIdRC9CVector3fR13CStateManager:
/* 8012EA28 0012B988  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 8012EA2C 0012B98C  7C 08 02 A6 */	mflr r0
/* 8012EA30 0012B990  90 01 00 74 */	stw r0, 0x74(r1)
/* 8012EA34 0012B994  DB E1 00 68 */	stfd f31, 0x68(r1)
/* 8012EA38 0012B998  FF E0 08 90 */	fmr f31, f1
/* 8012EA3C 0012B99C  93 E1 00 64 */	stw r31, 0x64(r1)
/* 8012EA40 0012B9A0  7C FF 3B 78 */	mr r31, r7
/* 8012EA44 0012B9A4  93 C1 00 60 */	stw r30, 0x60(r1)
/* 8012EA48 0012B9A8  7C BE 2B 78 */	mr r30, r5
/* 8012EA4C 0012B9AC  93 A1 00 5C */	stw r29, 0x5c(r1)
/* 8012EA50 0012B9B0  7C 9D 23 78 */	mr r29, r4
/* 8012EA54 0012B9B4  7F C4 F3 78 */	mr r4, r30
/* 8012EA58 0012B9B8  93 81 00 58 */	stw r28, 0x58(r1)
/* 8012EA5C 0012B9BC  7C 7C 1B 78 */	mr r28, r3
/* 8012EA60 0012B9C0  7C C3 33 78 */	mr r3, r6
/* 8012EA64 0012B9C4  4B FD 02 4D */	bl CanRippleAtPoint__12CScriptWaterCFRC9CVector3f
/* 8012EA68 0012B9C8  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8012EA6C 0012B9CC  41 82 00 38 */	beq lbl_8012EAA4
/* 8012EA70 0012B9D0  FC 20 F8 90 */	fmr f1, f31
/* 8012EA74 0012B9D4  7F 83 E3 78 */	mr r3, r28
/* 8012EA78 0012B9D8  48 00 00 A1 */	bl CalculateRippleIntensity__11CFluidPlaneCFf
/* 8012EA7C 0012B9DC  A0 1D 00 00 */	lhz r0, 0(r29)
/* 8012EA80 0012B9E0  7F C5 F3 78 */	mr r5, r30
/* 8012EA84 0012B9E4  38 61 00 0C */	addi r3, r1, 0xc
/* 8012EA88 0012B9E8  38 81 00 08 */	addi r4, r1, 8
/* 8012EA8C 0012B9EC  B0 01 00 08 */	sth r0, 8(r1)
/* 8012EA90 0012B9F0  83 FF 08 7C */	lwz r31, 0x87c(r31)
/* 8012EA94 0012B9F4  4B FE DE 89 */	bl __ct__7CRippleF9TUniqueIdRC9CVector3ff
/* 8012EA98 0012B9F8  7C 64 1B 78 */	mr r4, r3
/* 8012EA9C 0012B9FC  7F E3 FB 78 */	mr r3, r31
/* 8012EAA0 0012BA00  4B FE E4 AD */	bl AddRipple__14CRippleManagerFRC7CRipple
lbl_8012EAA4:
/* 8012EAA4 0012BA04  80 01 00 74 */	lwz r0, 0x74(r1)
/* 8012EAA8 0012BA08  CB E1 00 68 */	lfd f31, 0x68(r1)
/* 8012EAAC 0012BA0C  83 E1 00 64 */	lwz r31, 0x64(r1)
/* 8012EAB0 0012BA10  83 C1 00 60 */	lwz r30, 0x60(r1)
/* 8012EAB4 0012BA14  83 A1 00 5C */	lwz r29, 0x5c(r1)
/* 8012EAB8 0012BA18  83 81 00 58 */	lwz r28, 0x58(r1)
/* 8012EABC 0012BA1C  7C 08 03 A6 */	mtlr r0
/* 8012EAC0 0012BA20  38 21 00 70 */	addi r1, r1, 0x70
/* 8012EAC4 0012BA24  4E 80 00 20 */	blr

.global ProjectRippleVelocity__11CFluidPlaneCFff
ProjectRippleVelocity__11CFluidPlaneCFff:
/* 8012EAC8 0012BA28  C0 02 98 CC */	lfs f0, lbl_805AB5EC@sda21(r2)
/* 8012EACC 0012BA2C  C0 62 98 D0 */	lfs f3, lbl_805AB5F0@sda21(r2)
/* 8012EAD0 0012BA30  EC 00 00 72 */	fmuls f0, f0, f1
/* 8012EAD4 0012BA34  EC 00 00 B2 */	fmuls f0, f0, f2
/* 8012EAD8 0012BA38  EC 22 00 32 */	fmuls f1, f2, f0
/* 8012EADC 0012BA3C  FC 03 08 00 */	fcmpu cr0, f3, f1
/* 8012EAE0 0012BA40  40 82 00 08 */	bne lbl_8012EAE8
/* 8012EAE4 0012BA44  48 00 00 10 */	b lbl_8012EAF4
lbl_8012EAE8:
/* 8012EAE8 0012BA48  FC 00 08 34 */	frsqrte f0, f1
/* 8012EAEC 0012BA4C  FC 61 00 32 */	fmul f3, f1, f0
/* 8012EAF0 0012BA50  FC 60 18 18 */	frsp f3, f3
lbl_8012EAF4:
/* 8012EAF4 0012BA54  C0 02 98 DC */	lfs f0, lbl_805AB5FC@sda21(r2)
/* 8012EAF8 0012BA58  FC 03 00 40 */	fcmpo cr0, f3, f0
/* 8012EAFC 0012BA5C  4C 41 13 82 */	cror 2, 1, 2
/* 8012EB00 0012BA60  40 82 00 0C */	bne lbl_8012EB0C
/* 8012EB04 0012BA64  C0 22 98 D4 */	lfs f1, lbl_805AB5F4@sda21(r2)
/* 8012EB08 0012BA68  4E 80 00 20 */	blr
lbl_8012EB0C:
/* 8012EB0C 0012BA6C  C0 02 98 D8 */	lfs f0, lbl_805AB5F8@sda21(r2)
/* 8012EB10 0012BA70  EC 20 00 F2 */	fmuls f1, f0, f3
/* 8012EB14 0012BA74  4E 80 00 20 */	blr

.global CalculateRippleIntensity__11CFluidPlaneCFf
CalculateRippleIntensity__11CFluidPlaneCFf:
/* 8012EB18 0012BA78  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8012EB1C 0012BA7C  80 03 00 44 */	lwz r0, 0x44(r3)
/* 8012EB20 0012BA80  2C 00 00 02 */	cmpwi r0, 2
/* 8012EB24 0012BA84  41 82 00 3C */	beq lbl_8012EB60
/* 8012EB28 0012BA88  40 80 00 14 */	bge lbl_8012EB3C
/* 8012EB2C 0012BA8C  2C 00 00 00 */	cmpwi r0, 0
/* 8012EB30 0012BA90  41 82 00 18 */	beq lbl_8012EB48
/* 8012EB34 0012BA94  40 80 00 20 */	bge lbl_8012EB54
/* 8012EB38 0012BA98  48 00 00 3C */	b lbl_8012EB74
lbl_8012EB3C:
/* 8012EB3C 0012BA9C  2C 00 00 05 */	cmpwi r0, 5
/* 8012EB40 0012BAA0  40 80 00 34 */	bge lbl_8012EB74
/* 8012EB44 0012BAA4  48 00 00 28 */	b lbl_8012EB6C
lbl_8012EB48:
/* 8012EB48 0012BAA8  80 8D A1 20 */	lwz r4, gpTweakGame@sda21(r13)
/* 8012EB4C 0012BAAC  C0 04 00 40 */	lfs f0, 0x40(r4)
/* 8012EB50 0012BAB0  48 00 00 28 */	b lbl_8012EB78
lbl_8012EB54:
/* 8012EB54 0012BAB4  80 8D A1 20 */	lwz r4, gpTweakGame@sda21(r13)
/* 8012EB58 0012BAB8  C0 04 00 44 */	lfs f0, 0x44(r4)
/* 8012EB5C 0012BABC  48 00 00 1C */	b lbl_8012EB78
lbl_8012EB60:
/* 8012EB60 0012BAC0  80 8D A1 20 */	lwz r4, gpTweakGame@sda21(r13)
/* 8012EB64 0012BAC4  C0 04 00 48 */	lfs f0, 0x48(r4)
/* 8012EB68 0012BAC8  48 00 00 10 */	b lbl_8012EB78
lbl_8012EB6C:
/* 8012EB6C 0012BACC  C0 02 98 E0 */	lfs f0, lbl_805AB600@sda21(r2)
/* 8012EB70 0012BAD0  48 00 00 08 */	b lbl_8012EB78
lbl_8012EB74:
/* 8012EB74 0012BAD4  C0 02 98 D4 */	lfs f0, lbl_805AB5F4@sda21(r2)
lbl_8012EB78:
/* 8012EB78 0012BAD8  C0 42 98 D4 */	lfs f2, lbl_805AB5F4@sda21(r2)
/* 8012EB7C 0012BADC  EC 81 00 32 */	fmuls f4, f1, f0
/* 8012EB80 0012BAE0  C0 03 00 48 */	lfs f0, 0x48(r3)
/* 8012EB84 0012BAE4  C0 AD 8B 08 */	lfs f5, lbl_805A76C8@sda21(r13)
/* 8012EB88 0012BAE8  EC 22 00 28 */	fsubs f1, f2, f0
/* 8012EB8C 0012BAEC  C0 62 98 CC */	lfs f3, lbl_805AB5EC@sda21(r2)
/* 8012EB90 0012BAF0  C0 0D 8B 0C */	lfs f0, lbl_805A76CC@sda21(r13)
/* 8012EB94 0012BAF4  EC 25 10 7A */	fmadds f1, f5, f1, f2
/* 8012EB98 0012BAF8  EC 23 09 7C */	fnmsubs f1, f3, f5, f1
/* 8012EB9C 0012BAFC  EC 24 00 72 */	fmuls f1, f4, f1
/* 8012EBA0 0012BB00  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8012EBA4 0012BB04  D0 21 00 08 */	stfs f1, 8(r1)
/* 8012EBA8 0012BB08  40 80 00 0C */	bge lbl_8012EBB4
/* 8012EBAC 0012BB0C  38 6D 8B 0C */	addi r3, r13, lbl_805A76CC@sda21
/* 8012EBB0 0012BB10  48 00 00 08 */	b lbl_8012EBB8
lbl_8012EBB4:
/* 8012EBB4 0012BB14  38 61 00 08 */	addi r3, r1, 8
lbl_8012EBB8:
/* 8012EBB8 0012BB18  C0 2D 8B 10 */	lfs f1, lbl_805A76D0@sda21(r13)
/* 8012EBBC 0012BB1C  C0 03 00 00 */	lfs f0, 0(r3)
/* 8012EBC0 0012BB20  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8012EBC4 0012BB24  40 80 00 08 */	bge lbl_8012EBCC
/* 8012EBC8 0012BB28  38 6D 8B 10 */	addi r3, r13, lbl_805A76D0@sda21
lbl_8012EBCC:
/* 8012EBCC 0012BB2C  C0 23 00 00 */	lfs f1, 0(r3)
/* 8012EBD0 0012BB30  D0 21 00 08 */	stfs f1, 8(r1)
/* 8012EBD4 0012BB34  38 21 00 10 */	addi r1, r1, 0x10
/* 8012EBD8 0012BB38  4E 80 00 20 */	blr

.global __dt__11CFluidPlaneFv
__dt__11CFluidPlaneFv:
/* 8012EBDC 0012BB3C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8012EBE0 0012BB40  7C 08 02 A6 */	mflr r0
/* 8012EBE4 0012BB44  90 01 00 14 */	stw r0, 0x14(r1)
/* 8012EBE8 0012BB48  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8012EBEC 0012BB4C  7C 9F 23 78 */	mr r31, r4
/* 8012EBF0 0012BB50  93 C1 00 08 */	stw r30, 8(r1)
/* 8012EBF4 0012BB54  7C 7E 1B 79 */	or. r30, r3, r3
/* 8012EBF8 0012BB58  41 82 01 20 */	beq lbl_8012ED18
/* 8012EBFC 0012BB5C  3C 60 80 3E */	lis r3, lbl_803E0CE0@ha
/* 8012EC00 0012BB60  34 1E 00 4C */	addic. r0, r30, 0x4c
/* 8012EC04 0012BB64  38 03 0C E0 */	addi r0, r3, lbl_803E0CE0@l
/* 8012EC08 0012BB68  90 1E 00 00 */	stw r0, 0(r30)
/* 8012EC0C 0012BB6C  41 82 00 60 */	beq lbl_8012EC6C
/* 8012EC10 0012BB70  34 1E 00 4C */	addic. r0, r30, 0x4c
/* 8012EC14 0012BB74  41 82 00 58 */	beq lbl_8012EC6C
/* 8012EC18 0012BB78  80 BE 00 4C */	lwz r5, 0x4c(r30)
/* 8012EC1C 0012BB7C  38 60 00 00 */	li r3, 0
/* 8012EC20 0012BB80  2C 05 00 00 */	cmpwi r5, 0
/* 8012EC24 0012BB84  40 81 00 40 */	ble lbl_8012EC64
/* 8012EC28 0012BB88  2C 05 00 08 */	cmpwi r5, 8
/* 8012EC2C 0012BB8C  38 85 FF F8 */	addi r4, r5, -8
/* 8012EC30 0012BB90  40 81 00 20 */	ble lbl_8012EC50
/* 8012EC34 0012BB94  38 04 00 07 */	addi r0, r4, 7
/* 8012EC38 0012BB98  54 00 E8 FE */	srwi r0, r0, 3
/* 8012EC3C 0012BB9C  7C 09 03 A6 */	mtctr r0
/* 8012EC40 0012BBA0  2C 04 00 00 */	cmpwi r4, 0
/* 8012EC44 0012BBA4  40 81 00 0C */	ble lbl_8012EC50
lbl_8012EC48:
/* 8012EC48 0012BBA8  38 63 00 08 */	addi r3, r3, 8
/* 8012EC4C 0012BBAC  42 00 FF FC */	bdnz lbl_8012EC48
lbl_8012EC50:
/* 8012EC50 0012BBB0  7C 03 28 50 */	subf r0, r3, r5
/* 8012EC54 0012BBB4  7C 09 03 A6 */	mtctr r0
/* 8012EC58 0012BBB8  7C 03 28 00 */	cmpw r3, r5
/* 8012EC5C 0012BBBC  40 80 00 08 */	bge lbl_8012EC64
lbl_8012EC60:
/* 8012EC60 0012BBC0  42 00 00 00 */	bdnz lbl_8012EC60
lbl_8012EC64:
/* 8012EC64 0012BBC4  38 00 00 00 */	li r0, 0
/* 8012EC68 0012BBC8  90 1E 00 4C */	stw r0, 0x4c(r30)
lbl_8012EC6C:
/* 8012EC6C 0012BBCC  34 1E 00 30 */	addic. r0, r30, 0x30
/* 8012EC70 0012BBD0  41 82 00 30 */	beq lbl_8012ECA0
/* 8012EC74 0012BBD4  88 1E 00 3C */	lbz r0, 0x3c(r30)
/* 8012EC78 0012BBD8  28 00 00 00 */	cmplwi r0, 0
/* 8012EC7C 0012BBDC  41 82 00 1C */	beq lbl_8012EC98
/* 8012EC80 0012BBE0  34 7E 00 30 */	addic. r3, r30, 0x30
/* 8012EC84 0012BBE4  41 82 00 14 */	beq lbl_8012EC98
/* 8012EC88 0012BBE8  28 03 00 00 */	cmplwi r3, 0
/* 8012EC8C 0012BBEC  41 82 00 0C */	beq lbl_8012EC98
/* 8012EC90 0012BBF0  38 80 00 00 */	li r4, 0
/* 8012EC94 0012BBF4  48 21 21 AD */	bl __dt__6CTokenFv
lbl_8012EC98:
/* 8012EC98 0012BBF8  38 00 00 00 */	li r0, 0
/* 8012EC9C 0012BBFC  98 1E 00 3C */	stb r0, 0x3c(r30)
lbl_8012ECA0:
/* 8012ECA0 0012BC00  34 1E 00 20 */	addic. r0, r30, 0x20
/* 8012ECA4 0012BC04  41 82 00 30 */	beq lbl_8012ECD4
/* 8012ECA8 0012BC08  88 1E 00 2C */	lbz r0, 0x2c(r30)
/* 8012ECAC 0012BC0C  28 00 00 00 */	cmplwi r0, 0
/* 8012ECB0 0012BC10  41 82 00 1C */	beq lbl_8012ECCC
/* 8012ECB4 0012BC14  34 7E 00 20 */	addic. r3, r30, 0x20
/* 8012ECB8 0012BC18  41 82 00 14 */	beq lbl_8012ECCC
/* 8012ECBC 0012BC1C  28 03 00 00 */	cmplwi r3, 0
/* 8012ECC0 0012BC20  41 82 00 0C */	beq lbl_8012ECCC
/* 8012ECC4 0012BC24  38 80 00 00 */	li r4, 0
/* 8012ECC8 0012BC28  48 21 21 79 */	bl __dt__6CTokenFv
lbl_8012ECCC:
/* 8012ECCC 0012BC2C  38 00 00 00 */	li r0, 0
/* 8012ECD0 0012BC30  98 1E 00 2C */	stb r0, 0x2c(r30)
lbl_8012ECD4:
/* 8012ECD4 0012BC34  34 1E 00 10 */	addic. r0, r30, 0x10
/* 8012ECD8 0012BC38  41 82 00 30 */	beq lbl_8012ED08
/* 8012ECDC 0012BC3C  88 1E 00 1C */	lbz r0, 0x1c(r30)
/* 8012ECE0 0012BC40  28 00 00 00 */	cmplwi r0, 0
/* 8012ECE4 0012BC44  41 82 00 1C */	beq lbl_8012ED00
/* 8012ECE8 0012BC48  34 7E 00 10 */	addic. r3, r30, 0x10
/* 8012ECEC 0012BC4C  41 82 00 14 */	beq lbl_8012ED00
/* 8012ECF0 0012BC50  28 03 00 00 */	cmplwi r3, 0
/* 8012ECF4 0012BC54  41 82 00 0C */	beq lbl_8012ED00
/* 8012ECF8 0012BC58  38 80 00 00 */	li r4, 0
/* 8012ECFC 0012BC5C  48 21 21 45 */	bl __dt__6CTokenFv
lbl_8012ED00:
/* 8012ED00 0012BC60  38 00 00 00 */	li r0, 0
/* 8012ED04 0012BC64  98 1E 00 1C */	stb r0, 0x1c(r30)
lbl_8012ED08:
/* 8012ED08 0012BC68  7F E0 07 35 */	extsh. r0, r31
/* 8012ED0C 0012BC6C  40 81 00 0C */	ble lbl_8012ED18
/* 8012ED10 0012BC70  7F C3 F3 78 */	mr r3, r30
/* 8012ED14 0012BC74  48 1E 6C 1D */	bl Free__7CMemoryFPCv
lbl_8012ED18:
/* 8012ED18 0012BC78  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8012ED1C 0012BC7C  7F C3 F3 78 */	mr r3, r30
/* 8012ED20 0012BC80  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8012ED24 0012BC84  83 C1 00 08 */	lwz r30, 8(r1)
/* 8012ED28 0012BC88  7C 08 03 A6 */	mtlr r0
/* 8012ED2C 0012BC8C  38 21 00 10 */	addi r1, r1, 0x10
/* 8012ED30 0012BC90  4E 80 00 20 */	blr

.global __ct__11CFluidPlaneFUiUiUifQ211CFluidPlane10EFluidTypefRC14CFluidUVMotion
__ct__11CFluidPlaneFUiUiUifQ211CFluidPlane10EFluidTypefRC14CFluidUVMotion:
/* 8012ED34 0012BC94  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 8012ED38 0012BC98  7C 08 02 A6 */	mflr r0
/* 8012ED3C 0012BC9C  3D 20 80 3E */	lis r9, lbl_803E0CE0@ha
/* 8012ED40 0012BCA0  90 01 00 74 */	stw r0, 0x74(r1)
/* 8012ED44 0012BCA4  38 00 00 00 */	li r0, 0
/* 8012ED48 0012BCA8  93 E1 00 6C */	stw r31, 0x6c(r1)
/* 8012ED4C 0012BCAC  7C 7F 1B 78 */	mr r31, r3
/* 8012ED50 0012BCB0  38 69 0C E0 */	addi r3, r9, lbl_803E0CE0@l
/* 8012ED54 0012BCB4  39 28 00 04 */	addi r9, r8, 4
/* 8012ED58 0012BCB8  93 C1 00 68 */	stw r30, 0x68(r1)
/* 8012ED5C 0012BCBC  90 7F 00 00 */	stw r3, 0(r31)
/* 8012ED60 0012BCC0  38 7F 00 50 */	addi r3, r31, 0x50
/* 8012ED64 0012BCC4  90 9F 00 04 */	stw r4, 4(r31)
/* 8012ED68 0012BCC8  90 BF 00 08 */	stw r5, 8(r31)
/* 8012ED6C 0012BCCC  90 DF 00 0C */	stw r6, 0xc(r31)
/* 8012ED70 0012BCD0  98 1F 00 1C */	stb r0, 0x1c(r31)
/* 8012ED74 0012BCD4  98 1F 00 2C */	stb r0, 0x2c(r31)
/* 8012ED78 0012BCD8  98 1F 00 3C */	stb r0, 0x3c(r31)
/* 8012ED7C 0012BCDC  D0 3F 00 40 */	stfs f1, 0x40(r31)
/* 8012ED80 0012BCE0  90 FF 00 44 */	stw r7, 0x44(r31)
/* 8012ED84 0012BCE4  D0 5F 00 48 */	stfs f2, 0x48(r31)
/* 8012ED88 0012BCE8  80 08 00 00 */	lwz r0, 0(r8)
/* 8012ED8C 0012BCEC  90 1F 00 4C */	stw r0, 0x4c(r31)
/* 8012ED90 0012BCF0  80 1F 00 4C */	lwz r0, 0x4c(r31)
/* 8012ED94 0012BCF4  7C 09 03 A6 */	mtctr r0
/* 8012ED98 0012BCF8  2C 00 00 00 */	cmpwi r0, 0
/* 8012ED9C 0012BCFC  40 81 00 48 */	ble lbl_8012EDE4
lbl_8012EDA0:
/* 8012EDA0 0012BD00  28 03 00 00 */	cmplwi r3, 0
/* 8012EDA4 0012BD04  41 82 00 34 */	beq lbl_8012EDD8
/* 8012EDA8 0012BD08  80 09 00 00 */	lwz r0, 0(r9)
/* 8012EDAC 0012BD0C  90 03 00 00 */	stw r0, 0(r3)
/* 8012EDB0 0012BD10  C0 09 00 04 */	lfs f0, 4(r9)
/* 8012EDB4 0012BD14  D0 03 00 04 */	stfs f0, 4(r3)
/* 8012EDB8 0012BD18  C0 09 00 08 */	lfs f0, 8(r9)
/* 8012EDBC 0012BD1C  D0 03 00 08 */	stfs f0, 8(r3)
/* 8012EDC0 0012BD20  C0 09 00 0C */	lfs f0, 0xc(r9)
/* 8012EDC4 0012BD24  D0 03 00 0C */	stfs f0, 0xc(r3)
/* 8012EDC8 0012BD28  C0 09 00 10 */	lfs f0, 0x10(r9)
/* 8012EDCC 0012BD2C  D0 03 00 10 */	stfs f0, 0x10(r3)
/* 8012EDD0 0012BD30  C0 09 00 14 */	lfs f0, 0x14(r9)
/* 8012EDD4 0012BD34  D0 03 00 14 */	stfs f0, 0x14(r3)
lbl_8012EDD8:
/* 8012EDD8 0012BD38  38 63 00 18 */	addi r3, r3, 0x18
/* 8012EDDC 0012BD3C  39 29 00 18 */	addi r9, r9, 0x18
/* 8012EDE0 0012BD40  42 00 FF C0 */	bdnz lbl_8012EDA0
lbl_8012EDE4:
/* 8012EDE4 0012BD44  C0 08 00 4C */	lfs f0, 0x4c(r8)
/* 8012EDE8 0012BD48  D0 1F 00 98 */	stfs f0, 0x98(r31)
/* 8012EDEC 0012BD4C  C0 08 00 50 */	lfs f0, 0x50(r8)
/* 8012EDF0 0012BD50  D0 1F 00 9C */	stfs f0, 0x9c(r31)
/* 8012EDF4 0012BD54  80 6D A0 60 */	lwz r3, gpResourceFactory@sda21(r13)
/* 8012EDF8 0012BD58  80 9F 00 04 */	lwz r4, 4(r31)
/* 8012EDFC 0012BD5C  38 63 00 04 */	addi r3, r3, 4
/* 8012EE00 0012BD60  48 20 CE CD */	bl GetResourceTypeById__10CResLoaderCFUi
/* 8012EE04 0012BD64  3C 03 AB A8 */	addis r0, r3, 0xaba8
/* 8012EE08 0012BD68  28 00 54 52 */	cmplwi r0, 0x5452
/* 8012EE0C 0012BD6C  40 82 00 C0 */	bne lbl_8012EECC
/* 8012EE10 0012BD70  80 DF 00 04 */	lwz r6, 4(r31)
/* 8012EE14 0012BD74  3C 60 54 58 */	lis r3, 0x54585452@ha
/* 8012EE18 0012BD78  38 03 54 52 */	addi r0, r3, 0x54585452@l
/* 8012EE1C 0012BD7C  80 8D A0 64 */	lwz r4, gpSimplePool@sda21(r13)
/* 8012EE20 0012BD80  90 01 00 30 */	stw r0, 0x30(r1)
/* 8012EE24 0012BD84  38 61 00 28 */	addi r3, r1, 0x28
/* 8012EE28 0012BD88  38 A1 00 30 */	addi r5, r1, 0x30
/* 8012EE2C 0012BD8C  90 C1 00 34 */	stw r6, 0x34(r1)
/* 8012EE30 0012BD90  81 84 00 00 */	lwz r12, 0(r4)
/* 8012EE34 0012BD94  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 8012EE38 0012BD98  7D 89 03 A6 */	mtctr r12
/* 8012EE3C 0012BD9C  4E 80 04 21 */	bctrl
/* 8012EE40 0012BDA0  3B C1 00 50 */	addi r30, r1, 0x50
/* 8012EE44 0012BDA4  38 81 00 28 */	addi r4, r1, 0x28
/* 8012EE48 0012BDA8  7F C3 F3 78 */	mr r3, r30
/* 8012EE4C 0012BDAC  48 21 20 5D */	bl __ct__6CTokenFRC6CToken
/* 8012EE50 0012BDB0  7F C3 F3 78 */	mr r3, r30
/* 8012EE54 0012BDB4  48 21 1F B9 */	bl GetObj__6CTokenFv
/* 8012EE58 0012BDB8  80 03 00 04 */	lwz r0, 4(r3)
/* 8012EE5C 0012BDBC  90 01 00 58 */	stw r0, 0x58(r1)
/* 8012EE60 0012BDC0  88 1F 00 1C */	lbz r0, 0x1c(r31)
/* 8012EE64 0012BDC4  28 00 00 00 */	cmplwi r0, 0
/* 8012EE68 0012BDC8  40 82 00 34 */	bne lbl_8012EE9C
/* 8012EE6C 0012BDCC  37 DF 00 10 */	addic. r30, r31, 0x10
/* 8012EE70 0012BDD0  41 82 00 20 */	beq lbl_8012EE90
/* 8012EE74 0012BDD4  7F C3 F3 78 */	mr r3, r30
/* 8012EE78 0012BDD8  38 81 00 50 */	addi r4, r1, 0x50
/* 8012EE7C 0012BDDC  48 21 20 2D */	bl __ct__6CTokenFRC6CToken
/* 8012EE80 0012BDE0  80 01 00 58 */	lwz r0, 0x58(r1)
/* 8012EE84 0012BDE4  7F C3 F3 78 */	mr r3, r30
/* 8012EE88 0012BDE8  90 1E 00 08 */	stw r0, 8(r30)
/* 8012EE8C 0012BDEC  48 21 1E F9 */	bl Lock__6CTokenFv
lbl_8012EE90:
/* 8012EE90 0012BDF0  38 00 00 01 */	li r0, 1
/* 8012EE94 0012BDF4  98 1F 00 1C */	stb r0, 0x1c(r31)
/* 8012EE98 0012BDF8  48 00 00 1C */	b lbl_8012EEB4
lbl_8012EE9C:
/* 8012EE9C 0012BDFC  3B DF 00 10 */	addi r30, r31, 0x10
/* 8012EEA0 0012BE00  38 81 00 50 */	addi r4, r1, 0x50
/* 8012EEA4 0012BE04  7F C3 F3 78 */	mr r3, r30
/* 8012EEA8 0012BE08  48 21 1E 1D */	bl __as__6CTokenFRC6CToken
/* 8012EEAC 0012BE0C  80 01 00 58 */	lwz r0, 0x58(r1)
/* 8012EEB0 0012BE10  90 1E 00 08 */	stw r0, 8(r30)
lbl_8012EEB4:
/* 8012EEB4 0012BE14  38 61 00 50 */	addi r3, r1, 0x50
/* 8012EEB8 0012BE18  38 80 00 00 */	li r4, 0
/* 8012EEBC 0012BE1C  48 21 1F 85 */	bl __dt__6CTokenFv
/* 8012EEC0 0012BE20  38 61 00 28 */	addi r3, r1, 0x28
/* 8012EEC4 0012BE24  38 80 FF FF */	li r4, -1
/* 8012EEC8 0012BE28  48 21 1F 79 */	bl __dt__6CTokenFv
lbl_8012EECC:
/* 8012EECC 0012BE2C  80 6D A0 60 */	lwz r3, gpResourceFactory@sda21(r13)
/* 8012EED0 0012BE30  80 9F 00 08 */	lwz r4, 8(r31)
/* 8012EED4 0012BE34  38 63 00 04 */	addi r3, r3, 4
/* 8012EED8 0012BE38  48 20 CD F5 */	bl GetResourceTypeById__10CResLoaderCFUi
/* 8012EEDC 0012BE3C  3C 03 AB A8 */	addis r0, r3, 0xaba8
/* 8012EEE0 0012BE40  28 00 54 52 */	cmplwi r0, 0x5452
/* 8012EEE4 0012BE44  40 82 00 C0 */	bne lbl_8012EFA4
/* 8012EEE8 0012BE48  80 DF 00 08 */	lwz r6, 8(r31)
/* 8012EEEC 0012BE4C  3C 60 54 58 */	lis r3, 0x54585452@ha
/* 8012EEF0 0012BE50  38 03 54 52 */	addi r0, r3, 0x54585452@l
/* 8012EEF4 0012BE54  80 8D A0 64 */	lwz r4, gpSimplePool@sda21(r13)
/* 8012EEF8 0012BE58  90 01 00 20 */	stw r0, 0x20(r1)
/* 8012EEFC 0012BE5C  38 61 00 18 */	addi r3, r1, 0x18
/* 8012EF00 0012BE60  38 A1 00 20 */	addi r5, r1, 0x20
/* 8012EF04 0012BE64  90 C1 00 24 */	stw r6, 0x24(r1)
/* 8012EF08 0012BE68  81 84 00 00 */	lwz r12, 0(r4)
/* 8012EF0C 0012BE6C  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 8012EF10 0012BE70  7D 89 03 A6 */	mtctr r12
/* 8012EF14 0012BE74  4E 80 04 21 */	bctrl
/* 8012EF18 0012BE78  3B C1 00 44 */	addi r30, r1, 0x44
/* 8012EF1C 0012BE7C  38 81 00 18 */	addi r4, r1, 0x18
/* 8012EF20 0012BE80  7F C3 F3 78 */	mr r3, r30
/* 8012EF24 0012BE84  48 21 1F 85 */	bl __ct__6CTokenFRC6CToken
/* 8012EF28 0012BE88  7F C3 F3 78 */	mr r3, r30
/* 8012EF2C 0012BE8C  48 21 1E E1 */	bl GetObj__6CTokenFv
/* 8012EF30 0012BE90  80 03 00 04 */	lwz r0, 4(r3)
/* 8012EF34 0012BE94  90 01 00 4C */	stw r0, 0x4c(r1)
/* 8012EF38 0012BE98  88 1F 00 2C */	lbz r0, 0x2c(r31)
/* 8012EF3C 0012BE9C  28 00 00 00 */	cmplwi r0, 0
/* 8012EF40 0012BEA0  40 82 00 34 */	bne lbl_8012EF74
/* 8012EF44 0012BEA4  37 DF 00 20 */	addic. r30, r31, 0x20
/* 8012EF48 0012BEA8  41 82 00 20 */	beq lbl_8012EF68
/* 8012EF4C 0012BEAC  7F C3 F3 78 */	mr r3, r30
/* 8012EF50 0012BEB0  38 81 00 44 */	addi r4, r1, 0x44
/* 8012EF54 0012BEB4  48 21 1F 55 */	bl __ct__6CTokenFRC6CToken
/* 8012EF58 0012BEB8  80 01 00 4C */	lwz r0, 0x4c(r1)
/* 8012EF5C 0012BEBC  7F C3 F3 78 */	mr r3, r30
/* 8012EF60 0012BEC0  90 1E 00 08 */	stw r0, 8(r30)
/* 8012EF64 0012BEC4  48 21 1E 21 */	bl Lock__6CTokenFv
lbl_8012EF68:
/* 8012EF68 0012BEC8  38 00 00 01 */	li r0, 1
/* 8012EF6C 0012BECC  98 1F 00 2C */	stb r0, 0x2c(r31)
/* 8012EF70 0012BED0  48 00 00 1C */	b lbl_8012EF8C
lbl_8012EF74:
/* 8012EF74 0012BED4  3B DF 00 20 */	addi r30, r31, 0x20
/* 8012EF78 0012BED8  38 81 00 44 */	addi r4, r1, 0x44
/* 8012EF7C 0012BEDC  7F C3 F3 78 */	mr r3, r30
/* 8012EF80 0012BEE0  48 21 1D 45 */	bl __as__6CTokenFRC6CToken
/* 8012EF84 0012BEE4  80 01 00 4C */	lwz r0, 0x4c(r1)
/* 8012EF88 0012BEE8  90 1E 00 08 */	stw r0, 8(r30)
lbl_8012EF8C:
/* 8012EF8C 0012BEEC  38 61 00 44 */	addi r3, r1, 0x44
/* 8012EF90 0012BEF0  38 80 00 00 */	li r4, 0
/* 8012EF94 0012BEF4  48 21 1E AD */	bl __dt__6CTokenFv
/* 8012EF98 0012BEF8  38 61 00 18 */	addi r3, r1, 0x18
/* 8012EF9C 0012BEFC  38 80 FF FF */	li r4, -1
/* 8012EFA0 0012BF00  48 21 1E A1 */	bl __dt__6CTokenFv
lbl_8012EFA4:
/* 8012EFA4 0012BF04  80 6D A0 60 */	lwz r3, gpResourceFactory@sda21(r13)
/* 8012EFA8 0012BF08  80 9F 00 0C */	lwz r4, 0xc(r31)
/* 8012EFAC 0012BF0C  38 63 00 04 */	addi r3, r3, 4
/* 8012EFB0 0012BF10  48 20 CD 1D */	bl GetResourceTypeById__10CResLoaderCFUi
/* 8012EFB4 0012BF14  3C 03 AB A8 */	addis r0, r3, 0xaba8
/* 8012EFB8 0012BF18  28 00 54 52 */	cmplwi r0, 0x5452
/* 8012EFBC 0012BF1C  40 82 00 C0 */	bne lbl_8012F07C
/* 8012EFC0 0012BF20  80 DF 00 0C */	lwz r6, 0xc(r31)
/* 8012EFC4 0012BF24  3C 60 54 58 */	lis r3, 0x54585452@ha
/* 8012EFC8 0012BF28  38 03 54 52 */	addi r0, r3, 0x54585452@l
/* 8012EFCC 0012BF2C  80 8D A0 64 */	lwz r4, gpSimplePool@sda21(r13)
/* 8012EFD0 0012BF30  90 01 00 10 */	stw r0, 0x10(r1)
/* 8012EFD4 0012BF34  38 61 00 08 */	addi r3, r1, 8
/* 8012EFD8 0012BF38  38 A1 00 10 */	addi r5, r1, 0x10
/* 8012EFDC 0012BF3C  90 C1 00 14 */	stw r6, 0x14(r1)
/* 8012EFE0 0012BF40  81 84 00 00 */	lwz r12, 0(r4)
/* 8012EFE4 0012BF44  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 8012EFE8 0012BF48  7D 89 03 A6 */	mtctr r12
/* 8012EFEC 0012BF4C  4E 80 04 21 */	bctrl
/* 8012EFF0 0012BF50  3B C1 00 38 */	addi r30, r1, 0x38
/* 8012EFF4 0012BF54  38 81 00 08 */	addi r4, r1, 8
/* 8012EFF8 0012BF58  7F C3 F3 78 */	mr r3, r30
/* 8012EFFC 0012BF5C  48 21 1E AD */	bl __ct__6CTokenFRC6CToken
/* 8012F000 0012BF60  7F C3 F3 78 */	mr r3, r30
/* 8012F004 0012BF64  48 21 1E 09 */	bl GetObj__6CTokenFv
/* 8012F008 0012BF68  80 03 00 04 */	lwz r0, 4(r3)
/* 8012F00C 0012BF6C  90 01 00 40 */	stw r0, 0x40(r1)
/* 8012F010 0012BF70  88 1F 00 3C */	lbz r0, 0x3c(r31)
/* 8012F014 0012BF74  28 00 00 00 */	cmplwi r0, 0
/* 8012F018 0012BF78  40 82 00 34 */	bne lbl_8012F04C
/* 8012F01C 0012BF7C  37 DF 00 30 */	addic. r30, r31, 0x30
/* 8012F020 0012BF80  41 82 00 20 */	beq lbl_8012F040
/* 8012F024 0012BF84  7F C3 F3 78 */	mr r3, r30
/* 8012F028 0012BF88  38 81 00 38 */	addi r4, r1, 0x38
/* 8012F02C 0012BF8C  48 21 1E 7D */	bl __ct__6CTokenFRC6CToken
/* 8012F030 0012BF90  80 01 00 40 */	lwz r0, 0x40(r1)
/* 8012F034 0012BF94  7F C3 F3 78 */	mr r3, r30
/* 8012F038 0012BF98  90 1E 00 08 */	stw r0, 8(r30)
/* 8012F03C 0012BF9C  48 21 1D 49 */	bl Lock__6CTokenFv
lbl_8012F040:
/* 8012F040 0012BFA0  38 00 00 01 */	li r0, 1
/* 8012F044 0012BFA4  98 1F 00 3C */	stb r0, 0x3c(r31)
/* 8012F048 0012BFA8  48 00 00 1C */	b lbl_8012F064
lbl_8012F04C:
/* 8012F04C 0012BFAC  3B DF 00 30 */	addi r30, r31, 0x30
/* 8012F050 0012BFB0  38 81 00 38 */	addi r4, r1, 0x38
/* 8012F054 0012BFB4  7F C3 F3 78 */	mr r3, r30
/* 8012F058 0012BFB8  48 21 1C 6D */	bl __as__6CTokenFRC6CToken
/* 8012F05C 0012BFBC  80 01 00 40 */	lwz r0, 0x40(r1)
/* 8012F060 0012BFC0  90 1E 00 08 */	stw r0, 8(r30)
lbl_8012F064:
/* 8012F064 0012BFC4  38 61 00 38 */	addi r3, r1, 0x38
/* 8012F068 0012BFC8  38 80 00 00 */	li r4, 0
/* 8012F06C 0012BFCC  48 21 1D D5 */	bl __dt__6CTokenFv
/* 8012F070 0012BFD0  38 61 00 08 */	addi r3, r1, 8
/* 8012F074 0012BFD4  38 80 FF FF */	li r4, -1
/* 8012F078 0012BFD8  48 21 1D C9 */	bl __dt__6CTokenFv
lbl_8012F07C:
/* 8012F07C 0012BFDC  80 01 00 74 */	lwz r0, 0x74(r1)
/* 8012F080 0012BFE0  7F E3 FB 78 */	mr r3, r31
/* 8012F084 0012BFE4  83 E1 00 6C */	lwz r31, 0x6c(r1)
/* 8012F088 0012BFE8  83 C1 00 68 */	lwz r30, 0x68(r1)
/* 8012F08C 0012BFEC  7C 08 03 A6 */	mtlr r0
/* 8012F090 0012BFF0  38 21 00 70 */	addi r1, r1, 0x70
/* 8012F094 0012BFF4  4E 80 00 20 */	blr

.global sub_8012f098
sub_8012f098:
/* 8012F098 0012BFF8  38 60 00 00 */	li r3, 0
/* 8012F09C 0012BFFC  4E 80 00 20 */	blr