.include "macros.inc"

.section .data
.balign 8

.global lbl_803E51C8
lbl_803E51C8:
	# ROM: 0x3E21C8
	.4byte 0
	.4byte 0
	.4byte __dt__10CFlameWarpFv
	.4byte UpdateWarp__10CFlameWarpFv
	.4byte ModifyParticles__10CFlameWarpFiiPiP9CVector3fP9CVector3fP9CVector3fP6CColorPfPf
	.4byte Activate__10CFlameWarpFb
	.4byte IsActivated__10CFlameWarpFv
	.4byte Get4CharID__10CFlameWarpFv

.section .sdata
.balign 8

.global lbl_805A7C90
lbl_805A7C90:
	# ROM: 0x3F5630
	.4byte 0x00000013

.global lbl_805A7C94
lbl_805A7C94:
	# ROM: 0x3F5634
	.4byte 0x00000012

.section .text, "ax"

.global Get4CharID__10CFlameWarpFv
Get4CharID__10CFlameWarpFv:
/* 801B4F5C 001B1EBC  3C 60 46 57 */	lis r3, 0x46575250@ha
/* 801B4F60 001B1EC0  38 63 52 50 */	addi r3, r3, 0x46575250@l
/* 801B4F64 001B1EC4  4E 80 00 20 */	blr

.global IsActivated__10CFlameWarpFv
IsActivated__10CFlameWarpFv:
/* 801B4F68 001B1EC8  88 03 00 A0 */	lbz r0, 0xa0(r3)
/* 801B4F6C 001B1ECC  54 03 CF FE */	rlwinm r3, r0, 0x19, 0x1f, 0x1f
/* 801B4F70 001B1ED0  4E 80 00 20 */	blr

.global sub_801b4f74
sub_801b4f74:
/* 801B4F74 001B1ED4  38 A3 00 08 */	addi r5, r3, 8
/* 801B4F78 001B1ED8  7C A6 2B 78 */	mr r6, r5
/* 801B4F7C 001B1EDC  48 00 00 20 */	b lbl_801B4F9C
lbl_801B4F80:
/* 801B4F80 001B1EE0  C0 04 00 00 */	lfs f0, 0(r4)
/* 801B4F84 001B1EE4  D0 06 00 00 */	stfs f0, 0(r6)
/* 801B4F88 001B1EE8  C0 04 00 04 */	lfs f0, 4(r4)
/* 801B4F8C 001B1EEC  D0 06 00 04 */	stfs f0, 4(r6)
/* 801B4F90 001B1EF0  C0 04 00 08 */	lfs f0, 8(r4)
/* 801B4F94 001B1EF4  D0 06 00 08 */	stfs f0, 8(r6)
/* 801B4F98 001B1EF8  38 C6 00 0C */	addi r6, r6, 0xc
lbl_801B4F9C:
/* 801B4F9C 001B1EFC  80 03 00 04 */	lwz r0, 4(r3)
/* 801B4FA0 001B1F00  1C 00 00 0C */	mulli r0, r0, 0xc
/* 801B4FA4 001B1F04  7C 05 02 14 */	add r0, r5, r0
/* 801B4FA8 001B1F08  7C 06 00 40 */	cmplw r6, r0
/* 801B4FAC 001B1F0C  40 82 FF D4 */	bne lbl_801B4F80
/* 801B4FB0 001B1F10  88 03 00 A0 */	lbz r0, 0xa0(r3)
/* 801B4FB4 001B1F14  38 80 00 00 */	li r4, 0
/* 801B4FB8 001B1F18  50 80 2E B4 */	rlwimi r0, r4, 5, 0x1a, 0x1a
/* 801B4FBC 001B1F1C  98 03 00 A0 */	stb r0, 0xa0(r3)
/* 801B4FC0 001B1F20  4E 80 00 20 */	blr

.global ModifyParticles__10CFlameWarpFiiPiP9CVector3fP9CVector3fP9CVector3fP6CColorPfPf
ModifyParticles__10CFlameWarpFiiPiP9CVector3fP9CVector3fP9CVector3fP6CColorPfPf:
/* 801B4FC4 001B1F24  94 21 FE 50 */	stwu r1, -0x1b0(r1)
/* 801B4FC8 001B1F28  7C 08 02 A6 */	mflr r0
/* 801B4FCC 001B1F2C  90 01 01 B4 */	stw r0, 0x1b4(r1)
/* 801B4FD0 001B1F30  DB E1 01 A0 */	stfd f31, 0x1a0(r1)
/* 801B4FD4 001B1F34  F3 E1 01 A8 */	psq_st f31, 424(r1), 0, qr0
/* 801B4FD8 001B1F38  DB C1 01 90 */	stfd f30, 0x190(r1)
/* 801B4FDC 001B1F3C  F3 C1 01 98 */	psq_st f30, 408(r1), 0, qr0
/* 801B4FE0 001B1F40  DB A1 01 80 */	stfd f29, 0x180(r1)
/* 801B4FE4 001B1F44  F3 A1 01 88 */	psq_st f29, 392(r1), 0, qr0
/* 801B4FE8 001B1F48  DB 81 01 70 */	stfd f28, 0x170(r1)
/* 801B4FEC 001B1F4C  F3 81 01 78 */	psq_st f28, 376(r1), 0, qr0
/* 801B4FF0 001B1F50  DB 61 01 60 */	stfd f27, 0x160(r1)
/* 801B4FF4 001B1F54  F3 61 01 68 */	psq_st f27, 360(r1), 0, qr0
/* 801B4FF8 001B1F58  DB 41 01 50 */	stfd f26, 0x150(r1)
/* 801B4FFC 001B1F5C  F3 41 01 58 */	psq_st f26, 344(r1), 0, qr0
/* 801B5000 001B1F60  BE 41 01 18 */	stmw r18, 0x118(r1)
/* 801B5004 001B1F64  7C 7E 1B 78 */	mr r30, r3
/* 801B5008 001B1F68  83 21 01 B8 */	lwz r25, 0x1b8(r1)
/* 801B500C 001B1F6C  80 03 00 9C */	lwz r0, 0x9c(r3)
/* 801B5010 001B1F70  7C 94 23 78 */	mr r20, r4
/* 801B5014 001B1F74  7C BF 2B 78 */	mr r31, r5
/* 801B5018 001B1F78  7C F5 3B 78 */	mr r21, r7
/* 801B501C 001B1F7C  28 00 00 00 */	cmplwi r0, 0
/* 801B5020 001B1F80  7D 16 43 78 */	mr r22, r8
/* 801B5024 001B1F84  7D 37 4B 78 */	mr r23, r9
/* 801B5028 001B1F88  7D 58 53 78 */	mr r24, r10
/* 801B502C 001B1F8C  41 82 05 EC */	beq lbl_801B5618
/* 801B5030 001B1F90  2C 14 00 09 */	cmpwi r20, 9
/* 801B5034 001B1F94  40 80 00 08 */	bge lbl_801B503C
/* 801B5038 001B1F98  48 00 05 E0 */	b lbl_801B5618
lbl_801B503C:
/* 801B503C 001B1F9C  38 00 00 00 */	li r0, 0
/* 801B5040 001B1FA0  38 61 00 88 */	addi r3, r1, 0x88
/* 801B5044 001B1FA4  90 01 00 8C */	stw r0, 0x8c(r1)
/* 801B5048 001B1FA8  90 01 00 90 */	stw r0, 0x90(r1)
/* 801B504C 001B1FAC  90 01 00 94 */	stw r0, 0x94(r1)
/* 801B5050 001B1FB0  48 00 09 7D */	bl sub_801b59cc
/* 801B5054 001B1FB4  C0 22 A9 4C */	lfs f1, lbl_805AC66C@sda21(r2)
/* 801B5058 001B1FB8  3B 60 00 00 */	li r27, 0
/* 801B505C 001B1FBC  C0 02 A9 50 */	lfs f0, lbl_805AC670@sda21(r2)
/* 801B5060 001B1FC0  3B A0 00 00 */	li r29, 0
/* 801B5064 001B1FC4  D0 3E 00 90 */	stfs f1, 0x90(r30)
/* 801B5068 001B1FC8  C3 A2 A9 48 */	lfs f29, lbl_805AC668@sda21(r2)
/* 801B506C 001B1FCC  D0 1E 00 94 */	stfs f0, 0x94(r30)
/* 801B5070 001B1FD0  C3 C2 A9 54 */	lfs f30, lbl_805AC674@sda21(r2)
/* 801B5074 001B1FD4  C3 E2 A9 58 */	lfs f31, lbl_805AC678@sda21(r2)
/* 801B5078 001B1FD8  48 00 03 DC */	b lbl_801B5454
lbl_801B507C:
/* 801B507C 001B1FDC  38 1D 00 03 */	addi r0, r29, 3
/* 801B5080 001B1FE0  7F 96 EA 14 */	add r28, r22, r29
/* 801B5084 001B1FE4  10 18 05 0C */	psq_lx f0, r24, r0, 1, qr2
/* 801B5088 001B1FE8  EC 1F 00 32 */	fmuls f0, f31, f0
/* 801B508C 001B1FEC  EF 9E 00 28 */	fsubs f28, f30, f0
/* 801B5090 001B1FF0  FC 1C E8 40 */	fcmpo cr0, f28, f29
/* 801B5094 001B1FF4  40 81 00 6C */	ble lbl_801B5100
/* 801B5098 001B1FF8  C0 3C 00 04 */	lfs f1, 4(r28)
/* 801B509C 001B1FFC  C0 1E 00 78 */	lfs f0, 0x78(r30)
/* 801B50A0 001B2000  C0 7C 00 00 */	lfs f3, 0(r28)
/* 801B50A4 001B2004  EC 21 00 28 */	fsubs f1, f1, f0
/* 801B50A8 001B2008  C0 1E 00 74 */	lfs f0, 0x74(r30)
/* 801B50AC 001B200C  C0 5C 00 08 */	lfs f2, 8(r28)
/* 801B50B0 001B2010  EC 63 00 28 */	fsubs f3, f3, f0
/* 801B50B4 001B2014  C0 1E 00 7C */	lfs f0, 0x7c(r30)
/* 801B50B8 001B2018  EC 21 00 72 */	fmuls f1, f1, f1
/* 801B50BC 001B201C  EC 42 00 28 */	fsubs f2, f2, f0
/* 801B50C0 001B2020  C0 1E 00 8C */	lfs f0, 0x8c(r30)
/* 801B50C4 001B2024  EC 23 08 FA */	fmadds f1, f3, f3, f1
/* 801B50C8 001B2028  EC 22 08 BA */	fmadds f1, f2, f2, f1
/* 801B50CC 001B202C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801B50D0 001B2030  40 81 00 30 */	ble lbl_801B5100
/* 801B50D4 001B2034  C0 1E 00 98 */	lfs f0, 0x98(r30)
/* 801B50D8 001B2038  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801B50DC 001B203C  40 80 00 24 */	bge lbl_801B5100
/* 801B50E0 001B2040  D0 3E 00 8C */	stfs f1, 0x8c(r30)
/* 801B50E4 001B2044  FF A0 E0 90 */	fmr f29, f28
/* 801B50E8 001B2048  C0 1C 00 00 */	lfs f0, 0(r28)
/* 801B50EC 001B204C  D0 1E 00 80 */	stfs f0, 0x80(r30)
/* 801B50F0 001B2050  C0 1C 00 04 */	lfs f0, 4(r28)
/* 801B50F4 001B2054  D0 1E 00 84 */	stfs f0, 0x84(r30)
/* 801B50F8 001B2058  C0 1C 00 08 */	lfs f0, 8(r28)
/* 801B50FC 001B205C  D0 1E 00 88 */	stfs f0, 0x88(r30)
lbl_801B5100:
/* 801B5100 001B2060  7C 39 EC 2E */	lfsx f1, r25, r29
/* 801B5104 001B2064  C0 1E 00 90 */	lfs f0, 0x90(r30)
/* 801B5108 001B2068  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801B510C 001B206C  40 80 00 08 */	bge lbl_801B5114
/* 801B5110 001B2070  D0 3E 00 90 */	stfs f1, 0x90(r30)
lbl_801B5114:
/* 801B5114 001B2074  7C 39 EC 2E */	lfsx f1, r25, r29
/* 801B5118 001B2078  C0 1E 00 94 */	lfs f0, 0x94(r30)
/* 801B511C 001B207C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801B5120 001B2080  40 81 00 08 */	ble lbl_801B5128
/* 801B5124 001B2084  D0 3E 00 94 */	stfs f1, 0x94(r30)
lbl_801B5128:
/* 801B5128 001B2088  80 01 00 8C */	lwz r0, 0x8c(r1)
/* 801B512C 001B208C  57 7A 06 3E */	clrlwi r26, r27, 0x18
/* 801B5130 001B2090  80 A1 00 90 */	lwz r5, 0x90(r1)
/* 801B5134 001B2094  7C 00 28 00 */	cmpw r0, r5
/* 801B5138 001B2098  41 80 00 1C */	blt lbl_801B5154
/* 801B513C 001B209C  2C 05 00 00 */	cmpwi r5, 0
/* 801B5140 001B20A0  38 61 00 88 */	addi r3, r1, 0x88
/* 801B5144 001B20A4  38 80 00 04 */	li r4, 4
/* 801B5148 001B20A8  41 82 00 08 */	beq lbl_801B5150
/* 801B514C 001B20AC  54 A4 08 3C */	slwi r4, r5, 1
lbl_801B5150:
/* 801B5150 001B20B0  48 00 08 7D */	bl sub_801b59cc
lbl_801B5154:
/* 801B5154 001B20B4  80 01 00 8C */	lwz r0, 0x8c(r1)
/* 801B5158 001B20B8  80 61 00 94 */	lwz r3, 0x94(r1)
/* 801B515C 001B20BC  54 00 18 38 */	slwi r0, r0, 3
/* 801B5160 001B20C0  7C 63 02 15 */	add. r3, r3, r0
/* 801B5164 001B20C4  41 82 00 0C */	beq lbl_801B5170
/* 801B5168 001B20C8  D3 83 00 00 */	stfs f28, 0(r3)
/* 801B516C 001B20CC  9B 43 00 04 */	stb r26, 4(r3)
lbl_801B5170:
/* 801B5170 001B20D0  80 61 00 8C */	lwz r3, 0x8c(r1)
/* 801B5174 001B20D4  38 03 00 01 */	addi r0, r3, 1
/* 801B5178 001B20D8  90 01 00 8C */	stw r0, 0x8c(r1)
/* 801B517C 001B20DC  88 1E 00 A0 */	lbz r0, 0xa0(r30)
/* 801B5180 001B20E0  54 00 D7 FF */	rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 801B5184 001B20E4  41 82 02 C8 */	beq lbl_801B544C
/* 801B5188 001B20E8  7E 55 EA 14 */	add r18, r21, r29
/* 801B518C 001B20EC  C0 7C 00 04 */	lfs f3, 4(r28)
/* 801B5190 001B20F0  C0 52 00 04 */	lfs f2, 4(r18)
/* 801B5194 001B20F4  7F 57 EA 14 */	add r26, r23, r29
/* 801B5198 001B20F8  C0 3C 00 00 */	lfs f1, 0(r28)
/* 801B519C 001B20FC  C0 12 00 00 */	lfs f0, 0(r18)
/* 801B51A0 001B2100  EC A3 10 28 */	fsubs f5, f3, f2
/* 801B51A4 001B2104  C0 9C 00 08 */	lfs f4, 8(r28)
/* 801B51A8 001B2108  C0 52 00 08 */	lfs f2, 8(r18)
/* 801B51AC 001B210C  EC 61 00 28 */	fsubs f3, f1, f0
/* 801B51B0 001B2110  EC 25 01 72 */	fmuls f1, f5, f5
/* 801B51B4 001B2114  C0 02 A9 5C */	lfs f0, lbl_805AC67C@sda21(r2)
/* 801B51B8 001B2118  EC 84 10 28 */	fsubs f4, f4, f2
/* 801B51BC 001B211C  D0 A1 00 80 */	stfs f5, 0x80(r1)
/* 801B51C0 001B2120  EC 43 00 F2 */	fmuls f2, f3, f3
/* 801B51C4 001B2124  D0 61 00 7C */	stfs f3, 0x7c(r1)
/* 801B51C8 001B2128  EC 64 01 32 */	fmuls f3, f4, f4
/* 801B51CC 001B212C  EC 22 08 2A */	fadds f1, f2, f1
/* 801B51D0 001B2130  D0 81 00 84 */	stfs f4, 0x84(r1)
/* 801B51D4 001B2134  EC 23 08 2A */	fadds f1, f3, f1
/* 801B51D8 001B2138  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801B51DC 001B213C  41 80 02 70 */	blt lbl_801B544C
/* 801B51E0 001B2140  38 61 00 4C */	addi r3, r1, 0x4c
/* 801B51E4 001B2144  38 81 00 7C */	addi r4, r1, 0x7c
/* 801B51E8 001B2148  48 15 F6 69 */	bl AsNormalized__9CVector3fCFv
/* 801B51EC 001B214C  C0 A1 00 4C */	lfs f5, 0x4c(r1)
/* 801B51F0 001B2150  38 61 00 40 */	addi r3, r1, 0x40
/* 801B51F4 001B2154  C0 61 00 50 */	lfs f3, 0x50(r1)
/* 801B51F8 001B2158  C0 02 A9 60 */	lfs f0, lbl_805AC680@sda21(r2)
/* 801B51FC 001B215C  C0 21 00 54 */	lfs f1, 0x54(r1)
/* 801B5200 001B2160  D0 A1 00 70 */	stfs f5, 0x70(r1)
/* 801B5204 001B2164  EC 80 00 F2 */	fmuls f4, f0, f3
/* 801B5208 001B2168  EC 40 00 72 */	fmuls f2, f0, f1
/* 801B520C 001B216C  D0 61 00 74 */	stfs f3, 0x74(r1)
/* 801B5210 001B2170  EC 00 01 72 */	fmuls f0, f0, f5
/* 801B5214 001B2174  D0 21 00 78 */	stfs f1, 0x78(r1)
/* 801B5218 001B2178  C0 B2 00 04 */	lfs f5, 4(r18)
/* 801B521C 001B217C  C0 72 00 08 */	lfs f3, 8(r18)
/* 801B5220 001B2180  C0 32 00 00 */	lfs f1, 0(r18)
/* 801B5224 001B2184  EC A5 20 28 */	fsubs f5, f5, f4
/* 801B5228 001B2188  EC 83 10 28 */	fsubs f4, f3, f2
/* 801B522C 001B218C  EC 61 00 28 */	fsubs f3, f1, f0
/* 801B5230 001B2190  D0 A1 00 68 */	stfs f5, 0x68(r1)
/* 801B5234 001B2194  D0 61 00 64 */	stfs f3, 0x64(r1)
/* 801B5238 001B2198  D0 81 00 6C */	stfs f4, 0x6c(r1)
/* 801B523C 001B219C  C0 5C 00 04 */	lfs f2, 4(r28)
/* 801B5240 001B21A0  C0 3C 00 08 */	lfs f1, 8(r28)
/* 801B5244 001B21A4  C0 1C 00 00 */	lfs f0, 0(r28)
/* 801B5248 001B21A8  EC 42 28 28 */	fsubs f2, f2, f5
/* 801B524C 001B21AC  EC 21 20 28 */	fsubs f1, f1, f4
/* 801B5250 001B21B0  EC 00 18 28 */	fsubs f0, f0, f3
/* 801B5254 001B21B4  D0 41 00 44 */	stfs f2, 0x44(r1)
/* 801B5258 001B21B8  D0 01 00 40 */	stfs f0, 0x40(r1)
/* 801B525C 001B21BC  D0 21 00 48 */	stfs f1, 0x48(r1)
/* 801B5260 001B21C0  48 15 F6 59 */	bl Magnitude__9CVector3fCFv
/* 801B5264 001B21C4  FF 40 08 90 */	fmr f26, f1
/* 801B5268 001B21C8  80 AD 90 D4 */	lwz r5, lbl_805A7C94@sda21(r13)
/* 801B526C 001B21CC  38 60 00 00 */	li r3, 0
/* 801B5270 001B21D0  38 80 00 01 */	li r4, 1
/* 801B5274 001B21D4  48 1D 4C 81 */	bl __shl2i
/* 801B5278 001B21D8  80 AD 90 D0 */	lwz r5, lbl_805A7C90@sda21(r13)
/* 801B527C 001B21DC  7C 92 23 78 */	mr r18, r4
/* 801B5280 001B21E0  7C 73 1B 78 */	mr r19, r3
/* 801B5284 001B21E4  38 60 00 00 */	li r3, 0
/* 801B5288 001B21E8  38 80 00 01 */	li r4, 1
/* 801B528C 001B21EC  48 1D 4C 69 */	bl __shl2i
/* 801B5290 001B21F0  38 00 00 03 */	li r0, 3
/* 801B5294 001B21F4  90 61 00 98 */	stw r3, 0x98(r1)
/* 801B5298 001B21F8  FC 20 D0 90 */	fmr f1, f26
/* 801B529C 001B21FC  38 61 00 B0 */	addi r3, r1, 0xb0
/* 801B52A0 001B2200  90 81 00 9C */	stw r4, 0x9c(r1)
/* 801B52A4 001B2204  38 A1 00 64 */	addi r5, r1, 0x64
/* 801B52A8 001B2208  38 C1 00 70 */	addi r6, r1, 0x70
/* 801B52AC 001B220C  38 E1 00 98 */	addi r7, r1, 0x98
/* 801B52B0 001B2210  92 41 00 A4 */	stw r18, 0xa4(r1)
/* 801B52B4 001B2214  92 61 00 A0 */	stw r19, 0xa0(r1)
/* 801B52B8 001B2218  90 01 00 A8 */	stw r0, 0xa8(r1)
/* 801B52BC 001B221C  80 9E 00 9C */	lwz r4, 0x9c(r30)
/* 801B52C0 001B2220  4B E9 7C D9 */	bl RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter
/* 801B52C4 001B2224  88 81 00 D0 */	lbz r4, 0xd0(r1)
/* 801B52C8 001B2228  C0 E1 00 B0 */	lfs f7, 0xb0(r1)
/* 801B52CC 001B222C  C0 C1 00 B4 */	lfs f6, 0xb4(r1)
/* 801B52D0 001B2230  28 04 00 00 */	cmplwi r4, 0
/* 801B52D4 001B2234  C0 A1 00 B8 */	lfs f5, 0xb8(r1)
/* 801B52D8 001B2238  C0 81 00 BC */	lfs f4, 0xbc(r1)
/* 801B52DC 001B223C  C0 61 00 C0 */	lfs f3, 0xc0(r1)
/* 801B52E0 001B2240  C0 41 00 C4 */	lfs f2, 0xc4(r1)
/* 801B52E4 001B2244  C0 21 00 C8 */	lfs f1, 0xc8(r1)
/* 801B52E8 001B2248  C0 01 00 CC */	lfs f0, 0xcc(r1)
/* 801B52EC 001B224C  80 01 00 D8 */	lwz r0, 0xd8(r1)
/* 801B52F0 001B2250  80 61 00 DC */	lwz r3, 0xdc(r1)
/* 801B52F4 001B2254  D0 E1 00 E0 */	stfs f7, 0xe0(r1)
/* 801B52F8 001B2258  D0 C1 00 E4 */	stfs f6, 0xe4(r1)
/* 801B52FC 001B225C  D0 A1 00 E8 */	stfs f5, 0xe8(r1)
/* 801B5300 001B2260  D0 81 00 EC */	stfs f4, 0xec(r1)
/* 801B5304 001B2264  D0 61 00 F0 */	stfs f3, 0xf0(r1)
/* 801B5308 001B2268  D0 41 00 F4 */	stfs f2, 0xf4(r1)
/* 801B530C 001B226C  D0 21 00 F8 */	stfs f1, 0xf8(r1)
/* 801B5310 001B2270  D0 01 00 FC */	stfs f0, 0xfc(r1)
/* 801B5314 001B2274  98 81 01 00 */	stb r4, 0x100(r1)
/* 801B5318 001B2278  90 61 01 0C */	stw r3, 0x10c(r1)
/* 801B531C 001B227C  90 01 01 08 */	stw r0, 0x108(r1)
/* 801B5320 001B2280  41 82 01 2C */	beq lbl_801B544C
/* 801B5324 001B2284  C0 9C 00 04 */	lfs f4, 4(r28)
/* 801B5328 001B2288  C0 BC 00 00 */	lfs f5, 0(r28)
/* 801B532C 001B228C  EC 82 01 32 */	fmuls f4, f2, f4
/* 801B5330 001B2290  C0 DC 00 08 */	lfs f6, 8(r28)
/* 801B5334 001B2294  C1 02 A9 48 */	lfs f8, lbl_805AC668@sda21(r2)
/* 801B5338 001B2298  EC 83 21 7A */	fmadds f4, f3, f5, f4
/* 801B533C 001B229C  EC 81 21 BA */	fmadds f4, f1, f6, f4
/* 801B5340 001B22A0  EC 84 00 28 */	fsubs f4, f4, f0
/* 801B5344 001B22A4  FC 04 40 40 */	fcmpo cr0, f4, f8
/* 801B5348 001B22A8  41 81 01 04 */	bgt lbl_801B544C
/* 801B534C 001B22AC  EC C4 00 F2 */	fmuls f6, f4, f3
/* 801B5350 001B22B0  C0 FC 00 00 */	lfs f7, 0(r28)
/* 801B5354 001B22B4  EC A4 00 B2 */	fmuls f5, f4, f2
/* 801B5358 001B22B8  EC 84 00 72 */	fmuls f4, f4, f1
/* 801B535C 001B22BC  EC C7 30 28 */	fsubs f6, f7, f6
/* 801B5360 001B22C0  D0 DC 00 00 */	stfs f6, 0(r28)
/* 801B5364 001B22C4  C0 DC 00 04 */	lfs f6, 4(r28)
/* 801B5368 001B22C8  EC A6 28 28 */	fsubs f5, f6, f5
/* 801B536C 001B22CC  D0 BC 00 04 */	stfs f5, 4(r28)
/* 801B5370 001B22D0  C0 BC 00 08 */	lfs f5, 8(r28)
/* 801B5374 001B22D4  EC 85 20 28 */	fsubs f4, f5, f4
/* 801B5378 001B22D8  D0 9C 00 08 */	stfs f4, 8(r28)
/* 801B537C 001B22DC  C3 7A 00 04 */	lfs f27, 4(r26)
/* 801B5380 001B22E0  C3 9A 00 00 */	lfs f28, 0(r26)
/* 801B5384 001B22E4  EC A2 06 F2 */	fmuls f5, f2, f27
/* 801B5388 001B22E8  C3 5A 00 08 */	lfs f26, 8(r26)
/* 801B538C 001B22EC  EC 83 2F 3A */	fmadds f4, f3, f28, f5
/* 801B5390 001B22F0  EC 81 26 BA */	fmadds f4, f1, f26, f4
/* 801B5394 001B22F4  FC 04 40 40 */	fcmpo cr0, f4, f8
/* 801B5398 001B22F8  40 80 00 B4 */	bge lbl_801B544C
/* 801B539C 001B22FC  C1 7C 00 04 */	lfs f11, 4(r28)
/* 801B53A0 001B2300  EC DC 28 FA */	fmadds f6, f28, f3, f5
/* 801B53A4 001B2304  C1 3C 00 00 */	lfs f9, 0(r28)
/* 801B53A8 001B2308  ED AB D8 28 */	fsubs f13, f11, f27
/* 801B53AC 001B230C  C1 5C 00 08 */	lfs f10, 8(r28)
/* 801B53B0 001B2310  ED 09 E0 28 */	fsubs f8, f9, f28
/* 801B53B4 001B2314  C0 A2 A9 54 */	lfs f5, lbl_805AC674@sda21(r2)
/* 801B53B8 001B2318  ED 8A D0 28 */	fsubs f12, f10, f26
/* 801B53BC 001B231C  C0 82 A9 64 */	lfs f4, lbl_805AC684@sda21(r2)
/* 801B53C0 001B2320  EC ED 00 B2 */	fmuls f7, f13, f2
/* 801B53C4 001B2324  D1 01 00 34 */	stfs f8, 0x34(r1)
/* 801B53C8 001B2328  EC 5A 30 7A */	fmadds f2, f26, f1, f6
/* 801B53CC 001B232C  D1 A1 00 38 */	stfs f13, 0x38(r1)
/* 801B53D0 001B2330  EC 68 38 FA */	fmadds f3, f8, f3, f7
/* 801B53D4 001B2334  D1 81 00 3C */	stfs f12, 0x3c(r1)
/* 801B53D8 001B2338  EC 2C 18 7A */	fmadds f1, f12, f1, f3
/* 801B53DC 001B233C  EC 01 00 28 */	fsubs f0, f1, f0
/* 801B53E0 001B2340  FC 00 00 50 */	fneg f0, f0
/* 801B53E4 001B2344  EC 00 10 24 */	fdivs f0, f0, f2
/* 801B53E8 001B2348  EC 20 28 28 */	fsubs f1, f0, f5
/* 801B53EC 001B234C  EC 01 07 32 */	fmuls f0, f1, f28
/* 801B53F0 001B2350  EC 41 06 F2 */	fmuls f2, f1, f27
/* 801B53F4 001B2354  EC 21 06 B2 */	fmuls f1, f1, f26
/* 801B53F8 001B2358  EC 09 00 2A */	fadds f0, f9, f0
/* 801B53FC 001B235C  EC 4B 10 2A */	fadds f2, f11, f2
/* 801B5400 001B2360  EC 2A 08 2A */	fadds f1, f10, f1
/* 801B5404 001B2364  D0 1C 00 00 */	stfs f0, 0(r28)
/* 801B5408 001B2368  D0 5C 00 04 */	stfs f2, 4(r28)
/* 801B540C 001B236C  D0 3C 00 08 */	stfs f1, 8(r28)
/* 801B5410 001B2370  C0 1A 00 00 */	lfs f0, 0(r26)
/* 801B5414 001B2374  C0 7A 00 04 */	lfs f3, 4(r26)
/* 801B5418 001B2378  EC 04 00 32 */	fmuls f0, f4, f0
/* 801B541C 001B237C  C0 3A 00 00 */	lfs f1, 0(r26)
/* 801B5420 001B2380  C0 5A 00 08 */	lfs f2, 8(r26)
/* 801B5424 001B2384  EC 64 00 F2 */	fmuls f3, f4, f3
/* 801B5428 001B2388  EC 01 00 28 */	fsubs f0, f1, f0
/* 801B542C 001B238C  EC 24 00 B2 */	fmuls f1, f4, f2
/* 801B5430 001B2390  D0 1A 00 00 */	stfs f0, 0(r26)
/* 801B5434 001B2394  C0 1A 00 04 */	lfs f0, 4(r26)
/* 801B5438 001B2398  EC 00 18 28 */	fsubs f0, f0, f3
/* 801B543C 001B239C  D0 1A 00 04 */	stfs f0, 4(r26)
/* 801B5440 001B23A0  C0 1A 00 08 */	lfs f0, 8(r26)
/* 801B5444 001B23A4  EC 00 08 28 */	fsubs f0, f0, f1
/* 801B5448 001B23A8  D0 1A 00 08 */	stfs f0, 8(r26)
lbl_801B544C:
/* 801B544C 001B23AC  7F BD FA 14 */	add r29, r29, r31
/* 801B5450 001B23B0  3B 7B 00 01 */	addi r27, r27, 1
lbl_801B5454:
/* 801B5454 001B23B4  7C 1B A0 00 */	cmpw r27, r20
/* 801B5458 001B23B8  41 80 FC 24 */	blt lbl_801B507C
/* 801B545C 001B23BC  80 01 00 8C */	lwz r0, 0x8c(r1)
/* 801B5460 001B23C0  38 61 00 24 */	addi r3, r1, 0x24
/* 801B5464 001B23C4  80 A1 00 94 */	lwz r5, 0x94(r1)
/* 801B5468 001B23C8  38 81 00 1C */	addi r4, r1, 0x1c
/* 801B546C 001B23CC  54 00 18 38 */	slwi r0, r0, 3
/* 801B5470 001B23D0  7C 05 02 14 */	add r0, r5, r0
/* 801B5474 001B23D4  90 A1 00 20 */	stw r5, 0x20(r1)
/* 801B5478 001B23D8  90 01 00 18 */	stw r0, 0x18(r1)
/* 801B547C 001B23DC  90 01 00 1C */	stw r0, 0x1c(r1)
/* 801B5480 001B23E0  90 A1 00 24 */	stw r5, 0x24(r1)
/* 801B5484 001B23E4  48 00 03 C1 */	bl sub_801b5844
/* 801B5488 001B23E8  3C 60 38 E4 */	lis r3, 0x38E38E39@ha
/* 801B548C 001B23EC  3B 7E 00 08 */	addi r27, r30, 8
/* 801B5490 001B23F0  38 03 8E 39 */	addi r0, r3, 0x38E38E39@l
/* 801B5494 001B23F4  3B 40 00 00 */	li r26, 0
/* 801B5498 001B23F8  7C 00 A0 96 */	mulhw r0, r0, r20
/* 801B549C 001B23FC  7F 7C DB 78 */	mr r28, r27
/* 801B54A0 001B2400  3B A0 00 00 */	li r29, 0
/* 801B54A4 001B2404  7C 00 0E 70 */	srawi r0, r0, 1
/* 801B54A8 001B2408  54 03 0F FE */	srwi r3, r0, 0x1f
/* 801B54AC 001B240C  7C 00 1A 14 */	add r0, r0, r3
/* 801B54B0 001B2410  54 12 18 38 */	slwi r18, r0, 3
lbl_801B54B4:
/* 801B54B4 001B2414  80 61 00 94 */	lwz r3, 0x94(r1)
/* 801B54B8 001B2418  38 1D 00 04 */	addi r0, r29, 4
/* 801B54BC 001B241C  2C 1A 00 00 */	cmpwi r26, 0
/* 801B54C0 001B2420  7C 03 00 AE */	lbzx r0, r3, r0
/* 801B54C4 001B2424  7C 00 F9 D6 */	mullw r0, r0, r31
/* 801B54C8 001B2428  7C 76 02 14 */	add r3, r22, r0
/* 801B54CC 001B242C  C0 03 00 00 */	lfs f0, 0(r3)
/* 801B54D0 001B2430  D0 1C 00 00 */	stfs f0, 0(r28)
/* 801B54D4 001B2434  C0 03 00 04 */	lfs f0, 4(r3)
/* 801B54D8 001B2438  D0 1C 00 04 */	stfs f0, 4(r28)
/* 801B54DC 001B243C  C0 03 00 08 */	lfs f0, 8(r3)
/* 801B54E0 001B2440  D0 1C 00 08 */	stfs f0, 8(r28)
/* 801B54E4 001B2444  40 81 00 A0 */	ble lbl_801B5584
/* 801B54E8 001B2448  38 1A FF FF */	addi r0, r26, -1
/* 801B54EC 001B244C  C0 BC 00 04 */	lfs f5, 4(r28)
/* 801B54F0 001B2450  1C 00 00 0C */	mulli r0, r0, 0xc
/* 801B54F4 001B2454  C0 7C 00 08 */	lfs f3, 8(r28)
/* 801B54F8 001B2458  C0 3C 00 00 */	lfs f1, 0(r28)
/* 801B54FC 001B245C  38 61 00 58 */	addi r3, r1, 0x58
/* 801B5500 001B2460  7C 9B 02 14 */	add r4, r27, r0
/* 801B5504 001B2464  C0 84 00 04 */	lfs f4, 4(r4)
/* 801B5508 001B2468  C0 44 00 08 */	lfs f2, 8(r4)
/* 801B550C 001B246C  C0 04 00 00 */	lfs f0, 0(r4)
/* 801B5510 001B2470  EC 85 20 28 */	fsubs f4, f5, f4
/* 801B5514 001B2474  EC 43 10 28 */	fsubs f2, f3, f2
/* 801B5518 001B2478  EC 01 00 28 */	fsubs f0, f1, f0
/* 801B551C 001B247C  D0 81 00 5C */	stfs f4, 0x5c(r1)
/* 801B5520 001B2480  D0 01 00 58 */	stfs f0, 0x58(r1)
/* 801B5524 001B2484  D0 41 00 60 */	stfs f2, 0x60(r1)
/* 801B5528 001B2488  48 15 F3 91 */	bl Magnitude__9CVector3fCFv
/* 801B552C 001B248C  C0 02 A9 5C */	lfs f0, lbl_805AC67C@sda21(r2)
/* 801B5530 001B2490  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801B5534 001B2494  40 80 00 50 */	bge lbl_801B5584
/* 801B5538 001B2498  38 61 00 28 */	addi r3, r1, 0x28
/* 801B553C 001B249C  38 81 00 58 */	addi r4, r1, 0x58
/* 801B5540 001B24A0  48 15 F3 11 */	bl AsNormalized__9CVector3fCFv
/* 801B5544 001B24A4  C0 82 A9 5C */	lfs f4, lbl_805AC67C@sda21(r2)
/* 801B5548 001B24A8  C0 01 00 28 */	lfs f0, 0x28(r1)
/* 801B554C 001B24AC  C0 61 00 2C */	lfs f3, 0x2c(r1)
/* 801B5550 001B24B0  EC 04 00 32 */	fmuls f0, f4, f0
/* 801B5554 001B24B4  C0 3C 00 00 */	lfs f1, 0(r28)
/* 801B5558 001B24B8  C0 41 00 30 */	lfs f2, 0x30(r1)
/* 801B555C 001B24BC  EC 64 00 F2 */	fmuls f3, f4, f3
/* 801B5560 001B24C0  EC 01 00 2A */	fadds f0, f1, f0
/* 801B5564 001B24C4  EC 24 00 B2 */	fmuls f1, f4, f2
/* 801B5568 001B24C8  D0 1C 00 00 */	stfs f0, 0(r28)
/* 801B556C 001B24CC  C0 1C 00 04 */	lfs f0, 4(r28)
/* 801B5570 001B24D0  EC 00 18 2A */	fadds f0, f0, f3
/* 801B5574 001B24D4  D0 1C 00 04 */	stfs f0, 4(r28)
/* 801B5578 001B24D8  C0 1C 00 08 */	lfs f0, 8(r28)
/* 801B557C 001B24DC  EC 00 08 2A */	fadds f0, f0, f1
/* 801B5580 001B24E0  D0 1C 00 08 */	stfs f0, 8(r28)
lbl_801B5584:
/* 801B5584 001B24E4  3B 5A 00 01 */	addi r26, r26, 1
/* 801B5588 001B24E8  7F BD 92 14 */	add r29, r29, r18
/* 801B558C 001B24EC  2C 1A 00 09 */	cmpwi r26, 9
/* 801B5590 001B24F0  3B 9C 00 0C */	addi r28, r28, 0xc
/* 801B5594 001B24F4  41 80 FF 20 */	blt lbl_801B54B4
/* 801B5598 001B24F8  C0 1E 00 74 */	lfs f0, 0x74(r30)
/* 801B559C 001B24FC  38 60 00 01 */	li r3, 1
/* 801B55A0 001B2500  D0 1B 00 00 */	stfs f0, 0(r27)
/* 801B55A4 001B2504  C0 1E 00 78 */	lfs f0, 0x78(r30)
/* 801B55A8 001B2508  D0 1B 00 04 */	stfs f0, 4(r27)
/* 801B55AC 001B250C  C0 1E 00 7C */	lfs f0, 0x7c(r30)
/* 801B55B0 001B2510  D0 1B 00 08 */	stfs f0, 8(r27)
/* 801B55B4 001B2514  C0 1B 00 60 */	lfs f0, 0x60(r27)
/* 801B55B8 001B2518  D0 1E 00 80 */	stfs f0, 0x80(r30)
/* 801B55BC 001B251C  C0 1B 00 64 */	lfs f0, 0x64(r27)
/* 801B55C0 001B2520  D0 1E 00 84 */	stfs f0, 0x84(r30)
/* 801B55C4 001B2524  C0 1B 00 68 */	lfs f0, 0x68(r27)
/* 801B55C8 001B2528  D0 1E 00 88 */	stfs f0, 0x88(r30)
/* 801B55CC 001B252C  88 1E 00 A0 */	lbz r0, 0xa0(r30)
/* 801B55D0 001B2530  50 60 2E B4 */	rlwimi r0, r3, 5, 0x1a, 0x1a
/* 801B55D4 001B2534  98 1E 00 A0 */	stb r0, 0xa0(r30)
/* 801B55D8 001B2538  80 01 00 8C */	lwz r0, 0x8c(r1)
/* 801B55DC 001B253C  80 61 00 94 */	lwz r3, 0x94(r1)
/* 801B55E0 001B2540  54 00 18 38 */	slwi r0, r0, 3
/* 801B55E4 001B2544  7C 03 02 14 */	add r0, r3, r0
/* 801B55E8 001B2548  90 61 00 0C */	stw r3, 0xc(r1)
/* 801B55EC 001B254C  7C 64 1B 78 */	mr r4, r3
/* 801B55F0 001B2550  90 01 00 14 */	stw r0, 0x14(r1)
/* 801B55F4 001B2554  90 01 00 10 */	stw r0, 0x10(r1)
/* 801B55F8 001B2558  90 61 00 08 */	stw r3, 8(r1)
/* 801B55FC 001B255C  48 00 00 08 */	b lbl_801B5604
lbl_801B5600:
/* 801B5600 001B2560  38 84 00 08 */	addi r4, r4, 8
lbl_801B5604:
/* 801B5604 001B2564  7C 04 00 40 */	cmplw r4, r0
/* 801B5608 001B2568  40 82 FF F8 */	bne lbl_801B5600
/* 801B560C 001B256C  28 03 00 00 */	cmplwi r3, 0
/* 801B5610 001B2570  41 82 00 08 */	beq lbl_801B5618
/* 801B5614 001B2574  48 16 03 1D */	bl Free__7CMemoryFPCv
lbl_801B5618:
/* 801B5618 001B2578  E3 E1 01 A8 */	psq_l f31, 424(r1), 0, qr0
/* 801B561C 001B257C  CB E1 01 A0 */	lfd f31, 0x1a0(r1)
/* 801B5620 001B2580  E3 C1 01 98 */	psq_l f30, 408(r1), 0, qr0
/* 801B5624 001B2584  CB C1 01 90 */	lfd f30, 0x190(r1)
/* 801B5628 001B2588  E3 A1 01 88 */	psq_l f29, 392(r1), 0, qr0
/* 801B562C 001B258C  CB A1 01 80 */	lfd f29, 0x180(r1)
/* 801B5630 001B2590  E3 81 01 78 */	psq_l f28, 376(r1), 0, qr0
/* 801B5634 001B2594  CB 81 01 70 */	lfd f28, 0x170(r1)
/* 801B5638 001B2598  E3 61 01 68 */	psq_l f27, 360(r1), 0, qr0
/* 801B563C 001B259C  CB 61 01 60 */	lfd f27, 0x160(r1)
/* 801B5640 001B25A0  E3 41 01 58 */	psq_l f26, 344(r1), 0, qr0
/* 801B5644 001B25A4  CB 41 01 50 */	lfd f26, 0x150(r1)
/* 801B5648 001B25A8  BA 41 01 18 */	lmw r18, 0x118(r1)
/* 801B564C 001B25AC  80 01 01 B4 */	lwz r0, 0x1b4(r1)
/* 801B5650 001B25B0  7C 08 03 A6 */	mtlr r0
/* 801B5654 001B25B4  38 21 01 B0 */	addi r1, r1, 0x1b0
/* 801B5658 001B25B8  4E 80 00 20 */	blr

.global UpdateWarp__10CFlameWarpFv
UpdateWarp__10CFlameWarpFv:
/* 801B565C 001B25BC  88 03 00 A0 */	lbz r0, 0xa0(r3)
/* 801B5660 001B25C0  54 03 CF FE */	rlwinm r3, r0, 0x19, 0x1f, 0x1f
/* 801B5664 001B25C4  4E 80 00 20 */	blr

.global __dt__10CFlameWarpFv
__dt__10CFlameWarpFv:
/* 801B5668 001B25C8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801B566C 001B25CC  7C 08 02 A6 */	mflr r0
/* 801B5670 001B25D0  90 01 00 14 */	stw r0, 0x14(r1)
/* 801B5674 001B25D4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801B5678 001B25D8  7C 9F 23 78 */	mr r31, r4
/* 801B567C 001B25DC  93 C1 00 08 */	stw r30, 8(r1)
/* 801B5680 001B25E0  7C 7E 1B 79 */	or. r30, r3, r3
/* 801B5684 001B25E4  41 82 00 88 */	beq lbl_801B570C
/* 801B5688 001B25E8  3C 60 80 3E */	lis r3, lbl_803E51C8@ha
/* 801B568C 001B25EC  34 1E 00 04 */	addic. r0, r30, 4
/* 801B5690 001B25F0  38 03 51 C8 */	addi r0, r3, lbl_803E51C8@l
/* 801B5694 001B25F4  90 1E 00 00 */	stw r0, 0(r30)
/* 801B5698 001B25F8  41 82 00 58 */	beq lbl_801B56F0
/* 801B569C 001B25FC  80 BE 00 04 */	lwz r5, 4(r30)
/* 801B56A0 001B2600  38 60 00 00 */	li r3, 0
/* 801B56A4 001B2604  2C 05 00 00 */	cmpwi r5, 0
/* 801B56A8 001B2608  40 81 00 40 */	ble lbl_801B56E8
/* 801B56AC 001B260C  2C 05 00 08 */	cmpwi r5, 8
/* 801B56B0 001B2610  38 85 FF F8 */	addi r4, r5, -8
/* 801B56B4 001B2614  40 81 00 20 */	ble lbl_801B56D4
/* 801B56B8 001B2618  38 04 00 07 */	addi r0, r4, 7
/* 801B56BC 001B261C  54 00 E8 FE */	srwi r0, r0, 3
/* 801B56C0 001B2620  7C 09 03 A6 */	mtctr r0
/* 801B56C4 001B2624  2C 04 00 00 */	cmpwi r4, 0
/* 801B56C8 001B2628  40 81 00 0C */	ble lbl_801B56D4
lbl_801B56CC:
/* 801B56CC 001B262C  38 63 00 08 */	addi r3, r3, 8
/* 801B56D0 001B2630  42 00 FF FC */	bdnz lbl_801B56CC
lbl_801B56D4:
/* 801B56D4 001B2634  7C 03 28 50 */	subf r0, r3, r5
/* 801B56D8 001B2638  7C 09 03 A6 */	mtctr r0
/* 801B56DC 001B263C  7C 03 28 00 */	cmpw r3, r5
/* 801B56E0 001B2640  40 80 00 08 */	bge lbl_801B56E8
lbl_801B56E4:
/* 801B56E4 001B2644  42 00 00 00 */	bdnz lbl_801B56E4
lbl_801B56E8:
/* 801B56E8 001B2648  38 00 00 00 */	li r0, 0
/* 801B56EC 001B264C  90 1E 00 04 */	stw r0, 4(r30)
lbl_801B56F0:
/* 801B56F0 001B2650  7F C3 F3 78 */	mr r3, r30
/* 801B56F4 001B2654  38 80 00 00 */	li r4, 0
/* 801B56F8 001B2658  48 18 18 CD */	bl __dt__5CWarpFv
/* 801B56FC 001B265C  7F E0 07 35 */	extsh. r0, r31
/* 801B5700 001B2660  40 81 00 0C */	ble lbl_801B570C
/* 801B5704 001B2664  7F C3 F3 78 */	mr r3, r30
/* 801B5708 001B2668  48 16 02 29 */	bl Free__7CMemoryFPCv
lbl_801B570C:
/* 801B570C 001B266C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801B5710 001B2670  7F C3 F3 78 */	mr r3, r30
/* 801B5714 001B2674  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801B5718 001B2678  83 C1 00 08 */	lwz r30, 8(r1)
/* 801B571C 001B267C  7C 08 03 A6 */	mtlr r0
/* 801B5720 001B2680  38 21 00 10 */	addi r1, r1, 0x10
/* 801B5724 001B2684  4E 80 00 20 */	blr

.global __ct__10CFlameWarpFfRC9CVector3fb
__ct__10CFlameWarpFfRC9CVector3fb:
/* 801B5728 001B2688  3C C0 80 3F */	lis r6, __vt__5CWarp@ha
/* 801B572C 001B268C  39 03 00 08 */	addi r8, r3, 8
/* 801B5730 001B2690  38 06 E2 F8 */	addi r0, r6, __vt__5CWarp@l
/* 801B5734 001B2694  3C C0 80 3E */	lis r6, lbl_803E51C8@ha
/* 801B5738 001B2698  90 03 00 00 */	stw r0, 0(r3)
/* 801B573C 001B269C  38 E6 51 C8 */	addi r7, r6, lbl_803E51C8@l
/* 801B5740 001B26A0  38 00 00 03 */	li r0, 3
/* 801B5744 001B26A4  90 E3 00 00 */	stw r7, 0(r3)
/* 801B5748 001B26A8  38 C0 00 09 */	li r6, 9
/* 801B574C 001B26AC  38 E0 00 00 */	li r7, 0
/* 801B5750 001B26B0  90 C3 00 04 */	stw r6, 4(r3)
/* 801B5754 001B26B4  7C 09 03 A6 */	mtctr r0
lbl_801B5758:
/* 801B5758 001B26B8  28 08 00 00 */	cmplwi r8, 0
/* 801B575C 001B26BC  41 82 00 1C */	beq lbl_801B5778
/* 801B5760 001B26C0  C0 04 00 00 */	lfs f0, 0(r4)
/* 801B5764 001B26C4  D0 08 00 00 */	stfs f0, 0(r8)
/* 801B5768 001B26C8  C0 04 00 04 */	lfs f0, 4(r4)
/* 801B576C 001B26CC  D0 08 00 04 */	stfs f0, 4(r8)
/* 801B5770 001B26D0  C0 04 00 08 */	lfs f0, 8(r4)
/* 801B5774 001B26D4  D0 08 00 08 */	stfs f0, 8(r8)
lbl_801B5778:
/* 801B5778 001B26D8  35 08 00 0C */	addic. r8, r8, 0xc
/* 801B577C 001B26DC  41 82 00 1C */	beq lbl_801B5798
/* 801B5780 001B26E0  C0 04 00 00 */	lfs f0, 0(r4)
/* 801B5784 001B26E4  D0 08 00 00 */	stfs f0, 0(r8)
/* 801B5788 001B26E8  C0 04 00 04 */	lfs f0, 4(r4)
/* 801B578C 001B26EC  D0 08 00 04 */	stfs f0, 4(r8)
/* 801B5790 001B26F0  C0 04 00 08 */	lfs f0, 8(r4)
/* 801B5794 001B26F4  D0 08 00 08 */	stfs f0, 8(r8)
lbl_801B5798:
/* 801B5798 001B26F8  35 08 00 0C */	addic. r8, r8, 0xc
/* 801B579C 001B26FC  41 82 00 1C */	beq lbl_801B57B8
/* 801B57A0 001B2700  C0 04 00 00 */	lfs f0, 0(r4)
/* 801B57A4 001B2704  D0 08 00 00 */	stfs f0, 0(r8)
/* 801B57A8 001B2708  C0 04 00 04 */	lfs f0, 4(r4)
/* 801B57AC 001B270C  D0 08 00 04 */	stfs f0, 4(r8)
/* 801B57B0 001B2710  C0 04 00 08 */	lfs f0, 8(r4)
/* 801B57B4 001B2714  D0 08 00 08 */	stfs f0, 8(r8)
lbl_801B57B8:
/* 801B57B8 001B2718  38 E7 00 02 */	addi r7, r7, 2
/* 801B57BC 001B271C  39 08 00 0C */	addi r8, r8, 0xc
/* 801B57C0 001B2720  42 00 FF 98 */	bdnz lbl_801B5758
/* 801B57C4 001B2724  C0 44 00 00 */	lfs f2, 0(r4)
/* 801B57C8 001B2728  EC 01 00 72 */	fmuls f0, f1, f1
/* 801B57CC 001B272C  C0 62 A9 48 */	lfs f3, lbl_805AC668@sda21(r2)
/* 801B57D0 001B2730  38 C0 00 00 */	li r6, 0
/* 801B57D4 001B2734  D0 43 00 74 */	stfs f2, 0x74(r3)
/* 801B57D8 001B2738  C0 42 A9 4C */	lfs f2, lbl_805AC66C@sda21(r2)
/* 801B57DC 001B273C  C0 84 00 04 */	lfs f4, 4(r4)
/* 801B57E0 001B2740  C0 22 A9 50 */	lfs f1, lbl_805AC670@sda21(r2)
/* 801B57E4 001B2744  D0 83 00 78 */	stfs f4, 0x78(r3)
/* 801B57E8 001B2748  C0 84 00 08 */	lfs f4, 8(r4)
/* 801B57EC 001B274C  D0 83 00 7C */	stfs f4, 0x7c(r3)
/* 801B57F0 001B2750  C0 84 00 00 */	lfs f4, 0(r4)
/* 801B57F4 001B2754  D0 83 00 80 */	stfs f4, 0x80(r3)
/* 801B57F8 001B2758  C0 84 00 04 */	lfs f4, 4(r4)
/* 801B57FC 001B275C  D0 83 00 84 */	stfs f4, 0x84(r3)
/* 801B5800 001B2760  C0 84 00 08 */	lfs f4, 8(r4)
/* 801B5804 001B2764  D0 83 00 88 */	stfs f4, 0x88(r3)
/* 801B5808 001B2768  D0 63 00 8C */	stfs f3, 0x8c(r3)
/* 801B580C 001B276C  D0 43 00 90 */	stfs f2, 0x90(r3)
/* 801B5810 001B2770  D0 23 00 94 */	stfs f1, 0x94(r3)
/* 801B5814 001B2774  D0 03 00 98 */	stfs f0, 0x98(r3)
/* 801B5818 001B2778  90 C3 00 9C */	stw r6, 0x9c(r3)
/* 801B581C 001B277C  88 03 00 A0 */	lbz r0, 0xa0(r3)
/* 801B5820 001B2780  50 C0 3E 30 */	rlwimi r0, r6, 7, 0x18, 0x18
/* 801B5824 001B2784  98 03 00 A0 */	stb r0, 0xa0(r3)
/* 801B5828 001B2788  88 03 00 A0 */	lbz r0, 0xa0(r3)
/* 801B582C 001B278C  50 A0 36 72 */	rlwimi r0, r5, 6, 0x19, 0x19
/* 801B5830 001B2790  98 03 00 A0 */	stb r0, 0xa0(r3)
/* 801B5834 001B2794  88 03 00 A0 */	lbz r0, 0xa0(r3)
/* 801B5838 001B2798  50 C0 2E B4 */	rlwimi r0, r6, 5, 0x1a, 0x1a
/* 801B583C 001B279C  98 03 00 A0 */	stb r0, 0xa0(r3)
/* 801B5840 001B27A0  4E 80 00 20 */	blr

.global sub_801b5844
sub_801b5844:
/* 801B5844 001B27A4  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 801B5848 001B27A8  7C 08 02 A6 */	mflr r0
/* 801B584C 001B27AC  90 01 00 44 */	stw r0, 0x44(r1)
/* 801B5850 001B27B0  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 801B5854 001B27B4  7C 9F 23 78 */	mr r31, r4
/* 801B5858 001B27B8  93 C1 00 38 */	stw r30, 0x38(r1)
/* 801B585C 001B27BC  7C 7E 1B 78 */	mr r30, r3
/* 801B5860 001B27C0  93 A1 00 34 */	stw r29, 0x34(r1)
/* 801B5864 001B27C4  80 63 00 00 */	lwz r3, 0(r3)
/* 801B5868 001B27C8  80 A4 00 00 */	lwz r5, 0(r4)
/* 801B586C 001B27CC  7C 03 28 50 */	subf r0, r3, r5
/* 801B5870 001B27D0  7C 00 1E 70 */	srawi r0, r0, 3
/* 801B5874 001B27D4  7C 80 01 94 */	addze r4, r0
/* 801B5878 001B27D8  2C 04 00 01 */	cmpwi r4, 1
/* 801B587C 001B27DC  40 81 01 34 */	ble lbl_801B59B0
/* 801B5880 001B27E0  2C 04 00 14 */	cmpwi r4, 0x14
/* 801B5884 001B27E4  41 81 00 24 */	bgt lbl_801B58A8
/* 801B5888 001B27E8  80 BF 00 00 */	lwz r5, 0(r31)
/* 801B588C 001B27EC  38 61 00 24 */	addi r3, r1, 0x24
/* 801B5890 001B27F0  80 1E 00 00 */	lwz r0, 0(r30)
/* 801B5894 001B27F4  38 81 00 20 */	addi r4, r1, 0x20
/* 801B5898 001B27F8  90 A1 00 20 */	stw r5, 0x20(r1)
/* 801B589C 001B27FC  90 01 00 24 */	stw r0, 0x24(r1)
/* 801B58A0 001B2800  48 00 02 99 */	bl sub_801b5b38
/* 801B58A4 001B2804  48 00 01 0C */	b lbl_801B59B0
lbl_801B58A8:
/* 801B58A8 001B2808  54 80 0F FE */	srwi r0, r4, 0x1f
/* 801B58AC 001B280C  38 A5 FF F8 */	addi r5, r5, -8
/* 801B58B0 001B2810  7C 00 22 14 */	add r0, r0, r4
/* 801B58B4 001B2814  90 A1 00 2C */	stw r5, 0x2c(r1)
/* 801B58B8 001B2818  7C 00 0E 70 */	srawi r0, r0, 1
/* 801B58BC 001B281C  54 00 18 38 */	slwi r0, r0, 3
/* 801B58C0 001B2820  7F A3 02 14 */	add r29, r3, r0
/* 801B58C4 001B2824  7F A4 EB 78 */	mr r4, r29
/* 801B58C8 001B2828  48 00 01 F9 */	bl sub_801b5ac0
/* 801B58CC 001B282C  80 9E 00 00 */	lwz r4, 0(r30)
/* 801B58D0 001B2830  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 801B58D4 001B2834  38 84 00 08 */	addi r4, r4, 8
/* 801B58D8 001B2838  C0 3D 00 00 */	lfs f1, 0(r29)
/* 801B58DC 001B283C  38 03 FF F8 */	addi r0, r3, -8
/* 801B58E0 001B2840  90 81 00 28 */	stw r4, 0x28(r1)
/* 801B58E4 001B2844  90 01 00 2C */	stw r0, 0x2c(r1)
/* 801B58E8 001B2848  48 00 00 10 */	b lbl_801B58F8
lbl_801B58EC:
/* 801B58EC 001B284C  80 61 00 28 */	lwz r3, 0x28(r1)
/* 801B58F0 001B2850  38 03 00 08 */	addi r0, r3, 8
/* 801B58F4 001B2854  90 01 00 28 */	stw r0, 0x28(r1)
lbl_801B58F8:
/* 801B58F8 001B2858  80 61 00 28 */	lwz r3, 0x28(r1)
/* 801B58FC 001B285C  C0 03 00 00 */	lfs f0, 0(r3)
/* 801B5900 001B2860  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801B5904 001B2864  41 80 FF E8 */	blt lbl_801B58EC
/* 801B5908 001B2868  48 00 00 10 */	b lbl_801B5918
lbl_801B590C:
/* 801B590C 001B286C  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 801B5910 001B2870  38 03 FF F8 */	addi r0, r3, -8
/* 801B5914 001B2874  90 01 00 2C */	stw r0, 0x2c(r1)
lbl_801B5918:
/* 801B5918 001B2878  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 801B591C 001B287C  C0 03 00 00 */	lfs f0, 0(r3)
/* 801B5920 001B2880  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801B5924 001B2884  41 80 FF E8 */	blt lbl_801B590C
/* 801B5928 001B2888  80 01 00 28 */	lwz r0, 0x28(r1)
/* 801B592C 001B288C  7C 00 18 40 */	cmplw r0, r3
/* 801B5930 001B2890  40 80 00 48 */	bge lbl_801B5978
/* 801B5934 001B2894  80 A1 00 28 */	lwz r5, 0x28(r1)
/* 801B5938 001B2898  80 C1 00 2C */	lwz r6, 0x2c(r1)
/* 801B593C 001B289C  C0 45 00 00 */	lfs f2, 0(r5)
/* 801B5940 001B28A0  38 65 00 08 */	addi r3, r5, 8
/* 801B5944 001B28A4  88 E5 00 04 */	lbz r7, 4(r5)
/* 801B5948 001B28A8  38 06 FF F8 */	addi r0, r6, -8
/* 801B594C 001B28AC  C0 06 00 00 */	lfs f0, 0(r6)
/* 801B5950 001B28B0  90 C1 00 18 */	stw r6, 0x18(r1)
/* 801B5954 001B28B4  D0 05 00 00 */	stfs f0, 0(r5)
/* 801B5958 001B28B8  88 86 00 04 */	lbz r4, 4(r6)
/* 801B595C 001B28BC  90 A1 00 1C */	stw r5, 0x1c(r1)
/* 801B5960 001B28C0  98 85 00 04 */	stb r4, 4(r5)
/* 801B5964 001B28C4  D0 46 00 00 */	stfs f2, 0(r6)
/* 801B5968 001B28C8  98 E6 00 04 */	stb r7, 4(r6)
/* 801B596C 001B28CC  90 61 00 28 */	stw r3, 0x28(r1)
/* 801B5970 001B28D0  90 01 00 2C */	stw r0, 0x2c(r1)
/* 801B5974 001B28D4  4B FF FF 84 */	b lbl_801B58F8
lbl_801B5978:
/* 801B5978 001B28D8  80 A1 00 28 */	lwz r5, 0x28(r1)
/* 801B597C 001B28DC  38 61 00 14 */	addi r3, r1, 0x14
/* 801B5980 001B28E0  80 1E 00 00 */	lwz r0, 0(r30)
/* 801B5984 001B28E4  38 81 00 10 */	addi r4, r1, 0x10
/* 801B5988 001B28E8  90 A1 00 10 */	stw r5, 0x10(r1)
/* 801B598C 001B28EC  90 01 00 14 */	stw r0, 0x14(r1)
/* 801B5990 001B28F0  4B FF FE B5 */	bl sub_801b5844
/* 801B5994 001B28F4  80 BF 00 00 */	lwz r5, 0(r31)
/* 801B5998 001B28F8  38 61 00 0C */	addi r3, r1, 0xc
/* 801B599C 001B28FC  80 01 00 28 */	lwz r0, 0x28(r1)
/* 801B59A0 001B2900  38 81 00 08 */	addi r4, r1, 8
/* 801B59A4 001B2904  90 A1 00 08 */	stw r5, 8(r1)
/* 801B59A8 001B2908  90 01 00 0C */	stw r0, 0xc(r1)
/* 801B59AC 001B290C  4B FF FE 99 */	bl sub_801b5844
lbl_801B59B0:
/* 801B59B0 001B2910  80 01 00 44 */	lwz r0, 0x44(r1)
/* 801B59B4 001B2914  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 801B59B8 001B2918  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 801B59BC 001B291C  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 801B59C0 001B2920  7C 08 03 A6 */	mtlr r0
/* 801B59C4 001B2924  38 21 00 40 */	addi r1, r1, 0x40
/* 801B59C8 001B2928  4E 80 00 20 */	blr

.global sub_801b59cc
sub_801b59cc:
/* 801B59CC 001B292C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801B59D0 001B2930  7C 08 02 A6 */	mflr r0
/* 801B59D4 001B2934  90 01 00 34 */	stw r0, 0x34(r1)
/* 801B59D8 001B2938  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 801B59DC 001B293C  7C 9F 23 78 */	mr r31, r4
/* 801B59E0 001B2940  93 C1 00 28 */	stw r30, 0x28(r1)
/* 801B59E4 001B2944  7C 7E 1B 78 */	mr r30, r3
/* 801B59E8 001B2948  93 A1 00 24 */	stw r29, 0x24(r1)
/* 801B59EC 001B294C  80 03 00 08 */	lwz r0, 8(r3)
/* 801B59F0 001B2950  7C 1F 00 00 */	cmpw r31, r0
/* 801B59F4 001B2954  40 81 00 B0 */	ble lbl_801B5AA4
/* 801B59F8 001B2958  57 E3 18 39 */	rlwinm. r3, r31, 3, 0, 0x1c
/* 801B59FC 001B295C  40 82 00 0C */	bne lbl_801B5A08
/* 801B5A00 001B2960  3B A0 00 00 */	li r29, 0
/* 801B5A04 001B2964  48 00 00 18 */	b lbl_801B5A1C
lbl_801B5A08:
/* 801B5A08 001B2968  3C 80 80 3D */	lis r4, lbl_803D1638@ha
/* 801B5A0C 001B296C  38 A0 00 00 */	li r5, 0
/* 801B5A10 001B2970  38 84 16 38 */	addi r4, r4, lbl_803D1638@l
/* 801B5A14 001B2974  48 15 FE 05 */	bl __nwa__FUlPCcPCc
/* 801B5A18 001B2978  7C 7D 1B 78 */	mr r29, r3
lbl_801B5A1C:
/* 801B5A1C 001B297C  80 1E 00 04 */	lwz r0, 4(r30)
/* 801B5A20 001B2980  7F A4 EB 78 */	mr r4, r29
/* 801B5A24 001B2984  80 BE 00 0C */	lwz r5, 0xc(r30)
/* 801B5A28 001B2988  54 00 18 38 */	slwi r0, r0, 3
/* 801B5A2C 001B298C  7C 65 02 14 */	add r3, r5, r0
/* 801B5A30 001B2990  90 A1 00 10 */	stw r5, 0x10(r1)
/* 801B5A34 001B2994  90 61 00 08 */	stw r3, 8(r1)
/* 801B5A38 001B2998  90 61 00 0C */	stw r3, 0xc(r1)
/* 801B5A3C 001B299C  90 A1 00 14 */	stw r5, 0x14(r1)
/* 801B5A40 001B29A0  48 00 00 24 */	b lbl_801B5A64
lbl_801B5A44:
/* 801B5A44 001B29A4  28 04 00 00 */	cmplwi r4, 0
/* 801B5A48 001B29A8  41 82 00 14 */	beq lbl_801B5A5C
/* 801B5A4C 001B29AC  C0 05 00 00 */	lfs f0, 0(r5)
/* 801B5A50 001B29B0  D0 04 00 00 */	stfs f0, 0(r4)
/* 801B5A54 001B29B4  88 05 00 04 */	lbz r0, 4(r5)
/* 801B5A58 001B29B8  98 04 00 04 */	stb r0, 4(r4)
lbl_801B5A5C:
/* 801B5A5C 001B29BC  38 84 00 08 */	addi r4, r4, 8
/* 801B5A60 001B29C0  38 A5 00 08 */	addi r5, r5, 8
lbl_801B5A64:
/* 801B5A64 001B29C4  7C 05 18 40 */	cmplw r5, r3
/* 801B5A68 001B29C8  40 82 FF DC */	bne lbl_801B5A44
/* 801B5A6C 001B29CC  80 1E 00 04 */	lwz r0, 4(r30)
/* 801B5A70 001B29D0  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 801B5A74 001B29D4  54 00 18 38 */	slwi r0, r0, 3
/* 801B5A78 001B29D8  7C 64 1B 78 */	mr r4, r3
/* 801B5A7C 001B29DC  7C 03 02 14 */	add r0, r3, r0
/* 801B5A80 001B29E0  48 00 00 08 */	b lbl_801B5A88
lbl_801B5A84:
/* 801B5A84 001B29E4  38 84 00 08 */	addi r4, r4, 8
lbl_801B5A88:
/* 801B5A88 001B29E8  7C 04 00 40 */	cmplw r4, r0
/* 801B5A8C 001B29EC  40 82 FF F8 */	bne lbl_801B5A84
/* 801B5A90 001B29F0  28 03 00 00 */	cmplwi r3, 0
/* 801B5A94 001B29F4  41 82 00 08 */	beq lbl_801B5A9C
/* 801B5A98 001B29F8  48 15 FE 99 */	bl Free__7CMemoryFPCv
lbl_801B5A9C:
/* 801B5A9C 001B29FC  93 BE 00 0C */	stw r29, 0xc(r30)
/* 801B5AA0 001B2A00  93 FE 00 08 */	stw r31, 8(r30)
lbl_801B5AA4:
/* 801B5AA4 001B2A04  80 01 00 34 */	lwz r0, 0x34(r1)
/* 801B5AA8 001B2A08  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 801B5AAC 001B2A0C  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 801B5AB0 001B2A10  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 801B5AB4 001B2A14  7C 08 03 A6 */	mtlr r0
/* 801B5AB8 001B2A18  38 21 00 30 */	addi r1, r1, 0x30
/* 801B5ABC 001B2A1C  4E 80 00 20 */	blr

.global sub_801b5ac0
sub_801b5ac0:
/* 801B5AC0 001B2A20  C0 24 00 00 */	lfs f1, 0(r4)
/* 801B5AC4 001B2A24  C0 03 00 00 */	lfs f0, 0(r3)
/* 801B5AC8 001B2A28  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801B5ACC 001B2A2C  40 80 00 1C */	bge lbl_801B5AE8
/* 801B5AD0 001B2A30  88 C3 00 04 */	lbz r6, 4(r3)
/* 801B5AD4 001B2A34  D0 23 00 00 */	stfs f1, 0(r3)
/* 801B5AD8 001B2A38  88 04 00 04 */	lbz r0, 4(r4)
/* 801B5ADC 001B2A3C  98 03 00 04 */	stb r0, 4(r3)
/* 801B5AE0 001B2A40  D0 04 00 00 */	stfs f0, 0(r4)
/* 801B5AE4 001B2A44  98 C4 00 04 */	stb r6, 4(r4)
lbl_801B5AE8:
/* 801B5AE8 001B2A48  C0 05 00 00 */	lfs f0, 0(r5)
/* 801B5AEC 001B2A4C  C0 24 00 00 */	lfs f1, 0(r4)
/* 801B5AF0 001B2A50  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801B5AF4 001B2A54  4C 80 00 20 */	bgelr
/* 801B5AF8 001B2A58  88 C5 00 04 */	lbz r6, 4(r5)
/* 801B5AFC 001B2A5C  D0 25 00 00 */	stfs f1, 0(r5)
/* 801B5B00 001B2A60  88 04 00 04 */	lbz r0, 4(r4)
/* 801B5B04 001B2A64  98 05 00 04 */	stb r0, 4(r5)
/* 801B5B08 001B2A68  C0 23 00 00 */	lfs f1, 0(r3)
/* 801B5B0C 001B2A6C  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801B5B10 001B2A70  40 80 00 1C */	bge lbl_801B5B2C
/* 801B5B14 001B2A74  D0 24 00 00 */	stfs f1, 0(r4)
/* 801B5B18 001B2A78  88 03 00 04 */	lbz r0, 4(r3)
/* 801B5B1C 001B2A7C  98 04 00 04 */	stb r0, 4(r4)
/* 801B5B20 001B2A80  D0 03 00 00 */	stfs f0, 0(r3)
/* 801B5B24 001B2A84  98 C3 00 04 */	stb r6, 4(r3)
/* 801B5B28 001B2A88  4E 80 00 20 */	blr
lbl_801B5B2C:
/* 801B5B2C 001B2A8C  D0 04 00 00 */	stfs f0, 0(r4)
/* 801B5B30 001B2A90  98 C4 00 04 */	stb r6, 4(r4)
/* 801B5B34 001B2A94  4E 80 00 20 */	blr

.global sub_801b5b38
sub_801b5b38:
/* 801B5B38 001B2A98  80 A3 00 00 */	lwz r5, 0(r3)
/* 801B5B3C 001B2A9C  38 A5 00 08 */	addi r5, r5, 8
/* 801B5B40 001B2AA0  48 00 00 54 */	b lbl_801B5B94
lbl_801B5B44:
/* 801B5B44 001B2AA4  C0 25 00 00 */	lfs f1, 0(r5)
/* 801B5B48 001B2AA8  7C A8 2B 78 */	mr r8, r5
/* 801B5B4C 001B2AAC  88 C5 00 04 */	lbz r6, 4(r5)
/* 801B5B50 001B2AB0  38 E5 FF F8 */	addi r7, r5, -8
/* 801B5B54 001B2AB4  48 00 00 1C */	b lbl_801B5B70
lbl_801B5B58:
/* 801B5B58 001B2AB8  C0 07 00 00 */	lfs f0, 0(r7)
/* 801B5B5C 001B2ABC  D0 08 00 00 */	stfs f0, 0(r8)
/* 801B5B60 001B2AC0  88 07 00 04 */	lbz r0, 4(r7)
/* 801B5B64 001B2AC4  38 E7 FF F8 */	addi r7, r7, -8
/* 801B5B68 001B2AC8  98 08 00 04 */	stb r0, 4(r8)
/* 801B5B6C 001B2ACC  39 08 FF F8 */	addi r8, r8, -8
lbl_801B5B70:
/* 801B5B70 001B2AD0  80 03 00 00 */	lwz r0, 0(r3)
/* 801B5B74 001B2AD4  7C 00 40 40 */	cmplw r0, r8
/* 801B5B78 001B2AD8  40 80 00 10 */	bge lbl_801B5B88
/* 801B5B7C 001B2ADC  C0 07 00 00 */	lfs f0, 0(r7)
/* 801B5B80 001B2AE0  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801B5B84 001B2AE4  41 80 FF D4 */	blt lbl_801B5B58
lbl_801B5B88:
/* 801B5B88 001B2AE8  D0 28 00 00 */	stfs f1, 0(r8)
/* 801B5B8C 001B2AEC  38 A5 00 08 */	addi r5, r5, 8
/* 801B5B90 001B2AF0  98 C8 00 04 */	stb r6, 4(r8)
lbl_801B5B94:
/* 801B5B94 001B2AF4  80 04 00 00 */	lwz r0, 0(r4)
/* 801B5B98 001B2AF8  7C 05 00 40 */	cmplw r5, r0
/* 801B5B9C 001B2AFC  41 80 FF A8 */	blt lbl_801B5B44
/* 801B5BA0 001B2B00  4E 80 00 20 */	blr

.section .sdata2, "a"
.balign 8
.global lbl_805AC668
lbl_805AC668:
	# ROM: 0x3F8F08
	.4byte 0

.global lbl_805AC66C
lbl_805AC66C:
	# ROM: 0x3F8F0C
	.4byte 0x7F7FFFFF

.global lbl_805AC670
lbl_805AC670:
	# ROM: 0x3F8F10
	.4byte 0x00800000

.global lbl_805AC674
lbl_805AC674:
	# ROM: 0x3F8F14
	.float 1.0

.global lbl_805AC678
lbl_805AC678:
	# ROM: 0x3F8F18
	.4byte 0x3B808081

.global lbl_805AC67C
lbl_805AC67C:
	# ROM: 0x3F8F1C
	.4byte 0x3A9C4000

.global lbl_805AC680
lbl_805AC680:
	# ROM: 0x3F8F20
	.float 5.0

.global lbl_805AC684
lbl_805AC684:
	# ROM: 0x3F8F24
	.float 0.001


.section .rodata
.balign 8
.global lbl_803D1638
lbl_803D1638:
	# ROM: 0x3CE638
	.asciz "??(??)"
	.balign 4