.include "macros.inc"

.section .sdata
.balign 8

.global lbl_805A8900
lbl_805A8900:
	# ROM: 0x3F62A0
	.byte 0x01

.global lbl_805A8901
lbl_805A8901:
	# ROM: 0x3F62A1
	.byte 0x00

.global lbl_805A8902
lbl_805A8902:
	# ROM: 0x3F62A2
	.byte 0x01

.global lbl_805A8903
lbl_805A8903:
	# ROM: 0x3F62A3
	.byte 0x01

.global lbl_805A8904
lbl_805A8904:
	# ROM: 0x3F62A4
	.byte 0x00

.global lbl_805A8905
lbl_805A8905:
	# ROM: 0x3F62A5
	.byte 0x01, 0x00, 0x00

.section .text, "ax"

.global FourCCToTypeIdx__11CFactoryMgrFUi
FourCCToTypeIdx__11CFactoryMgrFUi:
/* 803385CC 0033552C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 803385D0 00335530  90 61 00 08 */	stw r3, 8(r1)
/* 803385D4 00335534  88 01 00 08 */	lbz r0, 8(r1)
/* 803385D8 00335538  7C 00 07 74 */	extsb r0, r0
/* 803385DC 0033553C  2C 00 FF FF */	cmpwi r0, -1
/* 803385E0 00335540  40 82 00 0C */	bne lbl_803385EC
/* 803385E4 00335544  38 00 FF FF */	li r0, -1
/* 803385E8 00335548  48 00 00 14 */	b lbl_803385FC
lbl_803385EC:
/* 803385EC 0033554C  3C 60 80 3F */	lis r3, __upper_map@ha
/* 803385F0 00335550  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 803385F4 00335554  38 63 2C 20 */	addi r3, r3, __upper_map@l
/* 803385F8 00335558  7C 03 00 AE */	lbzx r0, r3, r0
lbl_803385FC:
/* 803385FC 0033555C  88 81 00 09 */	lbz r4, 9(r1)
/* 80338600 00335560  98 01 00 08 */	stb r0, 8(r1)
/* 80338604 00335564  7C 84 07 74 */	extsb r4, r4
/* 80338608 00335568  2C 04 FF FF */	cmpwi r4, -1
/* 8033860C 0033556C  40 82 00 0C */	bne lbl_80338618
/* 80338610 00335570  38 00 FF FF */	li r0, -1
/* 80338614 00335574  48 00 00 14 */	b lbl_80338628
lbl_80338618:
/* 80338618 00335578  3C 60 80 3F */	lis r3, __upper_map@ha
/* 8033861C 0033557C  54 80 06 3E */	clrlwi r0, r4, 0x18
/* 80338620 00335580  38 63 2C 20 */	addi r3, r3, __upper_map@l
/* 80338624 00335584  7C 03 00 AE */	lbzx r0, r3, r0
lbl_80338628:
/* 80338628 00335588  88 81 00 0A */	lbz r4, 0xa(r1)
/* 8033862C 0033558C  98 01 00 09 */	stb r0, 9(r1)
/* 80338630 00335590  7C 84 07 74 */	extsb r4, r4
/* 80338634 00335594  2C 04 FF FF */	cmpwi r4, -1
/* 80338638 00335598  40 82 00 0C */	bne lbl_80338644
/* 8033863C 0033559C  38 00 FF FF */	li r0, -1
/* 80338640 003355A0  48 00 00 14 */	b lbl_80338654
lbl_80338644:
/* 80338644 003355A4  3C 60 80 3F */	lis r3, __upper_map@ha
/* 80338648 003355A8  54 80 06 3E */	clrlwi r0, r4, 0x18
/* 8033864C 003355AC  38 63 2C 20 */	addi r3, r3, __upper_map@l
/* 80338650 003355B0  7C 03 00 AE */	lbzx r0, r3, r0
lbl_80338654:
/* 80338654 003355B4  88 81 00 0B */	lbz r4, 0xb(r1)
/* 80338658 003355B8  98 01 00 0A */	stb r0, 0xa(r1)
/* 8033865C 003355BC  7C 84 07 74 */	extsb r4, r4
/* 80338660 003355C0  2C 04 FF FF */	cmpwi r4, -1
/* 80338664 003355C4  40 82 00 0C */	bne lbl_80338670
/* 80338668 003355C8  38 00 FF FF */	li r0, -1
/* 8033866C 003355CC  48 00 00 14 */	b lbl_80338680
lbl_80338670:
/* 80338670 003355D0  3C 60 80 3F */	lis r3, __upper_map@ha
/* 80338674 003355D4  54 80 06 3E */	clrlwi r0, r4, 0x18
/* 80338678 003355D8  38 63 2C 20 */	addi r3, r3, __upper_map@l
/* 8033867C 003355DC  7C 03 00 AE */	lbzx r0, r3, r0
lbl_80338680:
/* 80338680 003355E0  98 01 00 0B */	stb r0, 0xb(r1)
/* 80338684 003355E4  3C 60 80 3D */	lis r3, lbl_803D7988@ha
/* 80338688 003355E8  38 00 00 13 */	li r0, 0x13
/* 8033868C 003355EC  38 83 79 88 */	addi r4, r3, lbl_803D7988@l
/* 80338690 003355F0  80 A1 00 08 */	lwz r5, 8(r1)
/* 80338694 003355F4  38 60 00 00 */	li r3, 0
/* 80338698 003355F8  7C 09 03 A6 */	mtctr r0
lbl_8033869C:
/* 8033869C 003355FC  80 04 00 00 */	lwz r0, 0(r4)
/* 803386A0 00335600  7C 05 00 40 */	cmplw r5, r0
/* 803386A4 00335604  40 82 00 08 */	bne lbl_803386AC
/* 803386A8 00335608  48 00 00 28 */	b lbl_803386D0
lbl_803386AC:
/* 803386AC 0033560C  84 04 00 04 */	lwzu r0, 4(r4)
/* 803386B0 00335610  38 63 00 01 */	addi r3, r3, 1
/* 803386B4 00335614  7C 05 00 40 */	cmplw r5, r0
/* 803386B8 00335618  40 82 00 08 */	bne lbl_803386C0
/* 803386BC 0033561C  48 00 00 14 */	b lbl_803386D0
lbl_803386C0:
/* 803386C0 00335620  38 84 00 04 */	addi r4, r4, 4
/* 803386C4 00335624  38 63 00 01 */	addi r3, r3, 1
/* 803386C8 00335628  42 00 FF D4 */	bdnz lbl_8033869C
/* 803386CC 0033562C  38 60 FF FF */	li r3, -1
lbl_803386D0:
/* 803386D0 00335630  38 21 00 10 */	addi r1, r1, 0x10
/* 803386D4 00335634  4E 80 00 20 */	blr

.global TypeIdxToFourCC__11CFactoryMgrFUi
TypeIdxToFourCC__11CFactoryMgrFUi:
/* 803386D8 00335638  3C 80 80 3D */	lis r4, lbl_803D7988@ha
/* 803386DC 0033563C  54 60 10 3A */	slwi r0, r3, 2
/* 803386E0 00335640  38 64 79 88 */	addi r3, r4, lbl_803D7988@l
/* 803386E4 00335644  7C 63 00 2E */	lwzx r3, r3, r0
/* 803386E8 00335648  4E 80 00 20 */	blr

.global MakeObjectFromMemory__11CFactoryMgrFRC10SObjectTagPvibRC15CVParamTransfer
MakeObjectFromMemory__11CFactoryMgrFRC10SObjectTagPvibRC15CVParamTransfer:
/* 803386EC 0033564C  94 21 FE F0 */	stwu r1, -0x110(r1)
/* 803386F0 00335650  7C 08 02 A6 */	mflr r0
/* 803386F4 00335654  90 01 01 14 */	stw r0, 0x114(r1)
/* 803386F8 00335658  BF 21 00 F4 */	stmw r25, 0xf4(r1)
/* 803386FC 0033565C  7C BE 2B 78 */	mr r30, r5
/* 80338700 00335660  7C DA 33 78 */	mr r26, r6
/* 80338704 00335664  7C 7D 1B 78 */	mr r29, r3
/* 80338708 00335668  7C FB 3B 78 */	mr r27, r7
/* 8033870C 0033566C  7D 3F 4B 78 */	mr r31, r9
/* 80338710 00335670  38 C0 00 00 */	li r6, 0
/* 80338714 00335674  81 44 00 24 */	lwz r10, 0x24(r4)
/* 80338718 00335678  80 A5 00 00 */	lwz r5, 0(r5)
/* 8033871C 0033567C  48 00 00 20 */	b lbl_8033873C
lbl_80338720:
/* 80338720 00335680  80 0A 00 10 */	lwz r0, 0x10(r10)
/* 80338724 00335684  7C 00 28 00 */	cmpw r0, r5
/* 80338728 00335688  41 80 00 10 */	blt lbl_80338738
/* 8033872C 0033568C  7D 46 53 78 */	mr r6, r10
/* 80338730 00335690  81 4A 00 00 */	lwz r10, 0(r10)
/* 80338734 00335694  48 00 00 08 */	b lbl_8033873C
lbl_80338738:
/* 80338738 00335698  81 4A 00 04 */	lwz r10, 4(r10)
lbl_8033873C:
/* 8033873C 0033569C  28 0A 00 00 */	cmplwi r10, 0
/* 80338740 003356A0  40 82 FF E0 */	bne lbl_80338720
/* 80338744 003356A4  28 06 00 00 */	cmplwi r6, 0
/* 80338748 003356A8  38 60 00 00 */	li r3, 0
/* 8033874C 003356AC  41 82 00 10 */	beq lbl_8033875C
/* 80338750 003356B0  80 06 00 10 */	lwz r0, 0x10(r6)
/* 80338754 003356B4  7C 05 00 00 */	cmpw r5, r0
/* 80338758 003356B8  40 80 00 08 */	bge lbl_80338760
lbl_8033875C:
/* 8033875C 003356BC  38 60 00 01 */	li r3, 1
lbl_80338760:
/* 80338760 003356C0  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 80338764 003356C4  41 82 00 08 */	beq lbl_8033876C
/* 80338768 003356C8  38 C0 00 00 */	li r6, 0
lbl_8033876C:
/* 8033876C 003356CC  38 00 00 00 */	li r0, 0
/* 80338770 003356D0  38 64 00 1C */	addi r3, r4, 0x1c
/* 80338774 003356D4  7C 06 00 40 */	cmplw r6, r0
/* 80338778 003356D8  90 C1 00 40 */	stw r6, 0x40(r1)
/* 8033877C 003356DC  90 61 00 44 */	stw r3, 0x44(r1)
/* 80338780 003356E0  90 01 00 38 */	stw r0, 0x38(r1)
/* 80338784 003356E4  90 61 00 3C */	stw r3, 0x3c(r1)
/* 80338788 003356E8  40 82 00 0C */	bne lbl_80338794
/* 8033878C 003356EC  7C 03 18 40 */	cmplw r3, r3
/* 80338790 003356F0  41 82 00 08 */	beq lbl_80338798
lbl_80338794:
/* 80338794 003356F4  38 00 00 01 */	li r0, 1
lbl_80338798:
/* 80338798 003356F8  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 8033879C 003356FC  41 82 02 08 */	beq lbl_803389A4
/* 803387A0 00335700  55 00 06 3F */	clrlwi. r0, r8, 0x18
/* 803387A4 00335704  83 86 00 14 */	lwz r28, 0x14(r6)
/* 803387A8 00335708  41 82 01 7C */	beq lbl_80338924
/* 803387AC 0033570C  3C 80 80 3D */	lis r4, lbl_803D7A20@ha
/* 803387B0 00335710  38 60 00 24 */	li r3, 0x24
/* 803387B4 00335714  38 84 7A 20 */	addi r4, r4, lbl_803D7A20@l
/* 803387B8 00335718  38 A0 00 00 */	li r5, 0
/* 803387BC 0033571C  4B FD D0 B1 */	bl __nw__FUlPCcPCc
/* 803387C0 00335720  7C 64 1B 79 */	or. r4, r3, r3
/* 803387C4 00335724  41 82 00 18 */	beq lbl_803387DC
/* 803387C8 00335728  7F 44 D3 78 */	mr r4, r26
/* 803387CC 0033572C  7F 65 DB 78 */	mr r5, r27
/* 803387D0 00335730  38 C0 00 00 */	li r6, 0
/* 803387D4 00335734  48 00 6A 39 */	bl __ct__15CMemoryInStreamFPCvUlQ215CMemoryInStream10EOwnerShip
/* 803387D8 00335738  7C 64 1B 78 */	mr r4, r3
lbl_803387DC:
/* 803387DC 0033573C  7C 04 00 D0 */	neg r0, r4
/* 803387E0 00335740  90 81 00 5C */	stw r4, 0x5c(r1)
/* 803387E4 00335744  7C 00 23 78 */	or r0, r0, r4
/* 803387E8 00335748  7C 83 23 78 */	mr r3, r4
/* 803387EC 0033574C  54 00 0F FE */	srwi r0, r0, 0x1f
/* 803387F0 00335750  98 01 00 58 */	stb r0, 0x58(r1)
/* 803387F4 00335754  48 00 64 91 */	bl ReadLong__12CInputStreamFv
/* 803387F8 00335758  3C 80 80 3D */	lis r4, lbl_803D7A20@ha
/* 803387FC 0033575C  7C 7A 1B 78 */	mr r26, r3
/* 80338800 00335760  38 A0 00 00 */	li r5, 0
/* 80338804 00335764  38 84 7A 20 */	addi r4, r4, lbl_803D7A20@l
/* 80338808 00335768  4B FD D0 11 */	bl __nwa__FUlPCcPCc
/* 8033880C 0033576C  7C 03 00 D0 */	neg r0, r3
/* 80338810 00335770  88 C1 00 58 */	lbz r6, 0x58(r1)
/* 80338814 00335774  7C 00 1B 78 */	or r0, r0, r3
/* 80338818 00335778  80 A1 00 5C */	lwz r5, 0x5c(r1)
/* 8033881C 0033577C  54 07 0F FE */	srwi r7, r0, 0x1f
/* 80338820 00335780  38 00 00 00 */	li r0, 0
/* 80338824 00335784  90 61 00 54 */	stw r3, 0x54(r1)
/* 80338828 00335788  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8033882C 0033578C  38 81 00 30 */	addi r4, r1, 0x30
/* 80338830 00335790  98 E1 00 50 */	stb r7, 0x50(r1)
/* 80338834 00335794  98 C1 00 30 */	stb r6, 0x30(r1)
/* 80338838 00335798  90 A1 00 34 */	stw r5, 0x34(r1)
/* 8033883C 0033579C  98 01 00 58 */	stb r0, 0x58(r1)
/* 80338840 003357A0  48 00 70 C1 */	bl "__ct__15CZipInputStreamFQ24rstl24auto_ptr<12CInputStream>"
/* 80338844 003357A4  88 01 00 30 */	lbz r0, 0x30(r1)
/* 80338848 003357A8  28 00 00 00 */	cmplwi r0, 0
/* 8033884C 003357AC  41 82 00 24 */	beq lbl_80338870
/* 80338850 003357B0  80 61 00 34 */	lwz r3, 0x34(r1)
/* 80338854 003357B4  28 03 00 00 */	cmplwi r3, 0
/* 80338858 003357B8  41 82 00 18 */	beq lbl_80338870
/* 8033885C 003357BC  81 83 00 00 */	lwz r12, 0(r3)
/* 80338860 003357C0  38 80 00 01 */	li r4, 1
/* 80338864 003357C4  81 8C 00 08 */	lwz r12, 8(r12)
/* 80338868 003357C8  7D 89 03 A6 */	mtctr r12
/* 8033886C 003357CC  4E 80 04 21 */	bctrl
lbl_80338870:
/* 80338870 003357D0  80 81 00 54 */	lwz r4, 0x54(r1)
/* 80338874 003357D4  7F 45 D3 78 */	mr r5, r26
/* 80338878 003357D8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8033887C 003357DC  48 00 66 D9 */	bl Get__12CInputStreamFPvUl
/* 80338880 003357E0  38 61 00 B8 */	addi r3, r1, 0xb8
/* 80338884 003357E4  38 80 FF FF */	li r4, -1
/* 80338888 003357E8  48 00 6F B9 */	bl __dt__15CZipInputStreamFv
/* 8033888C 003357EC  7F 8C E3 78 */	mr r12, r28
/* 80338890 003357F0  7F C4 F3 78 */	mr r4, r30
/* 80338894 003357F4  7F 46 D3 78 */	mr r6, r26
/* 80338898 003357F8  7F E7 FB 78 */	mr r7, r31
/* 8033889C 003357FC  38 61 00 28 */	addi r3, r1, 0x28
/* 803388A0 00335800  38 A1 00 50 */	addi r5, r1, 0x50
/* 803388A4 00335804  7D 89 03 A6 */	mtctr r12
/* 803388A8 00335808  4E 80 04 21 */	bctrl
/* 803388AC 0033580C  88 61 00 28 */	lbz r3, 0x28(r1)
/* 803388B0 00335810  38 00 00 00 */	li r0, 0
/* 803388B4 00335814  98 7D 00 00 */	stb r3, 0(r29)
/* 803388B8 00335818  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 803388BC 0033581C  90 7D 00 04 */	stw r3, 4(r29)
/* 803388C0 00335820  98 01 00 28 */	stb r0, 0x28(r1)
/* 803388C4 00335824  48 00 00 1C */	b lbl_803388E0
/* 803388C8 00335828  41 82 00 18 */	beq lbl_803388E0
/* 803388CC 0033582C  81 83 00 00 */	lwz r12, 0(r3)
/* 803388D0 00335830  38 80 00 01 */	li r4, 1
/* 803388D4 00335834  81 8C 00 08 */	lwz r12, 8(r12)
/* 803388D8 00335838  7D 89 03 A6 */	mtctr r12
/* 803388DC 0033583C  4E 80 04 21 */	bctrl
lbl_803388E0:
/* 803388E0 00335840  88 01 00 50 */	lbz r0, 0x50(r1)
/* 803388E4 00335844  28 00 00 00 */	cmplwi r0, 0
/* 803388E8 00335848  41 82 00 0C */	beq lbl_803388F4
/* 803388EC 0033584C  80 61 00 54 */	lwz r3, 0x54(r1)
/* 803388F0 00335850  4B FD D0 41 */	bl Free__7CMemoryFPCv
lbl_803388F4:
/* 803388F4 00335854  88 01 00 58 */	lbz r0, 0x58(r1)
/* 803388F8 00335858  28 00 00 00 */	cmplwi r0, 0
/* 803388FC 0033585C  41 82 02 70 */	beq lbl_80338B6C
/* 80338900 00335860  80 61 00 5C */	lwz r3, 0x5c(r1)
/* 80338904 00335864  28 03 00 00 */	cmplwi r3, 0
/* 80338908 00335868  41 82 02 64 */	beq lbl_80338B6C
/* 8033890C 0033586C  81 83 00 00 */	lwz r12, 0(r3)
/* 80338910 00335870  38 80 00 01 */	li r4, 1
/* 80338914 00335874  81 8C 00 08 */	lwz r12, 8(r12)
/* 80338918 00335878  7D 89 03 A6 */	mtctr r12
/* 8033891C 0033587C  4E 80 04 21 */	bctrl
/* 80338920 00335880  48 00 02 4C */	b lbl_80338B6C
lbl_80338924:
/* 80338924 00335884  7C 1A 00 D0 */	neg r0, r26
/* 80338928 00335888  7F 8C E3 78 */	mr r12, r28
/* 8033892C 0033588C  7C 00 D3 78 */	or r0, r0, r26
/* 80338930 00335890  7F C4 F3 78 */	mr r4, r30
/* 80338934 00335894  54 00 0F FE */	srwi r0, r0, 0x1f
/* 80338938 00335898  7F 66 DB 78 */	mr r6, r27
/* 8033893C 0033589C  7F E7 FB 78 */	mr r7, r31
/* 80338940 003358A0  98 01 00 48 */	stb r0, 0x48(r1)
/* 80338944 003358A4  38 61 00 20 */	addi r3, r1, 0x20
/* 80338948 003358A8  38 A1 00 48 */	addi r5, r1, 0x48
/* 8033894C 003358AC  93 41 00 4C */	stw r26, 0x4c(r1)
/* 80338950 003358B0  7D 89 03 A6 */	mtctr r12
/* 80338954 003358B4  4E 80 04 21 */	bctrl
/* 80338958 003358B8  88 61 00 20 */	lbz r3, 0x20(r1)
/* 8033895C 003358BC  38 00 00 00 */	li r0, 0
/* 80338960 003358C0  98 7D 00 00 */	stb r3, 0(r29)
/* 80338964 003358C4  80 61 00 24 */	lwz r3, 0x24(r1)
/* 80338968 003358C8  90 7D 00 04 */	stw r3, 4(r29)
/* 8033896C 003358CC  98 01 00 20 */	stb r0, 0x20(r1)
/* 80338970 003358D0  48 00 00 1C */	b lbl_8033898C
/* 80338974 003358D4  41 82 00 18 */	beq lbl_8033898C
/* 80338978 003358D8  81 83 00 00 */	lwz r12, 0(r3)
/* 8033897C 003358DC  38 80 00 01 */	li r4, 1
/* 80338980 003358E0  81 8C 00 08 */	lwz r12, 8(r12)
/* 80338984 003358E4  7D 89 03 A6 */	mtctr r12
/* 80338988 003358E8  4E 80 04 21 */	bctrl
lbl_8033898C:
/* 8033898C 003358EC  88 01 00 48 */	lbz r0, 0x48(r1)
/* 80338990 003358F0  28 00 00 00 */	cmplwi r0, 0
/* 80338994 003358F4  41 82 01 D8 */	beq lbl_80338B6C
/* 80338998 003358F8  80 61 00 4C */	lwz r3, 0x4c(r1)
/* 8033899C 003358FC  4B FD CF 95 */	bl Free__7CMemoryFPCv
/* 803389A0 00335900  48 00 01 CC */	b lbl_80338B6C
lbl_803389A4:
/* 803389A4 00335904  80 BE 00 00 */	lwz r5, 0(r30)
/* 803389A8 00335908  38 C0 00 00 */	li r6, 0
/* 803389AC 0033590C  80 64 00 10 */	lwz r3, 0x10(r4)
/* 803389B0 00335910  48 00 00 20 */	b lbl_803389D0
lbl_803389B4:
/* 803389B4 00335914  80 03 00 10 */	lwz r0, 0x10(r3)
/* 803389B8 00335918  7C 00 28 00 */	cmpw r0, r5
/* 803389BC 0033591C  41 80 00 10 */	blt lbl_803389CC
/* 803389C0 00335920  7C 66 1B 78 */	mr r6, r3
/* 803389C4 00335924  80 63 00 00 */	lwz r3, 0(r3)
/* 803389C8 00335928  48 00 00 08 */	b lbl_803389D0
lbl_803389CC:
/* 803389CC 0033592C  80 63 00 04 */	lwz r3, 4(r3)
lbl_803389D0:
/* 803389D0 00335930  28 03 00 00 */	cmplwi r3, 0
/* 803389D4 00335934  40 82 FF E0 */	bne lbl_803389B4
/* 803389D8 00335938  28 06 00 00 */	cmplwi r6, 0
/* 803389DC 0033593C  38 60 00 00 */	li r3, 0
/* 803389E0 00335940  41 82 00 10 */	beq lbl_803389F0
/* 803389E4 00335944  80 06 00 10 */	lwz r0, 0x10(r6)
/* 803389E8 00335948  7C 05 00 00 */	cmpw r5, r0
/* 803389EC 0033594C  40 80 00 08 */	bge lbl_803389F4
lbl_803389F0:
/* 803389F0 00335950  38 60 00 01 */	li r3, 1
lbl_803389F4:
/* 803389F4 00335954  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 803389F8 00335958  41 82 00 08 */	beq lbl_80338A00
/* 803389FC 0033595C  38 C0 00 00 */	li r6, 0
lbl_80338A00:
/* 80338A00 00335960  55 00 06 3F */	clrlwi. r0, r8, 0x18
/* 80338A04 00335964  83 26 00 14 */	lwz r25, 0x14(r6)
/* 80338A08 00335968  41 82 00 E8 */	beq lbl_80338AF0
/* 80338A0C 0033596C  3C 80 80 3D */	lis r4, lbl_803D7A20@ha
/* 80338A10 00335970  38 60 00 24 */	li r3, 0x24
/* 80338A14 00335974  38 84 7A 20 */	addi r4, r4, lbl_803D7A20@l
/* 80338A18 00335978  38 A0 00 00 */	li r5, 0
/* 80338A1C 0033597C  4B FD CE 51 */	bl __nw__FUlPCcPCc
/* 80338A20 00335980  7C 7C 1B 79 */	or. r28, r3, r3
/* 80338A24 00335984  41 82 00 18 */	beq lbl_80338A3C
/* 80338A28 00335988  7F 44 D3 78 */	mr r4, r26
/* 80338A2C 0033598C  7F 65 DB 78 */	mr r5, r27
/* 80338A30 00335990  38 C0 00 00 */	li r6, 0
/* 80338A34 00335994  48 00 67 D9 */	bl __ct__15CMemoryInStreamFPCvUlQ215CMemoryInStream10EOwnerShip
/* 80338A38 00335998  7C 7C 1B 78 */	mr r28, r3
lbl_80338A3C:
/* 80338A3C 0033599C  7F 83 E3 78 */	mr r3, r28
/* 80338A40 003359A0  48 00 62 45 */	bl ReadLong__12CInputStreamFv
/* 80338A44 003359A4  7C 1C 00 D0 */	neg r0, r28
/* 80338A48 003359A8  93 81 00 1C */	stw r28, 0x1c(r1)
/* 80338A4C 003359AC  7C 00 E3 78 */	or r0, r0, r28
/* 80338A50 003359B0  38 61 00 84 */	addi r3, r1, 0x84
/* 80338A54 003359B4  54 00 0F FE */	srwi r0, r0, 0x1f
/* 80338A58 003359B8  38 81 00 18 */	addi r4, r1, 0x18
/* 80338A5C 003359BC  98 01 00 18 */	stb r0, 0x18(r1)
/* 80338A60 003359C0  48 00 6E A1 */	bl "__ct__15CZipInputStreamFQ24rstl24auto_ptr<12CInputStream>"
/* 80338A64 003359C4  88 01 00 18 */	lbz r0, 0x18(r1)
/* 80338A68 003359C8  28 00 00 00 */	cmplwi r0, 0
/* 80338A6C 003359CC  41 82 00 24 */	beq lbl_80338A90
/* 80338A70 003359D0  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80338A74 003359D4  28 03 00 00 */	cmplwi r3, 0
/* 80338A78 003359D8  41 82 00 18 */	beq lbl_80338A90
/* 80338A7C 003359DC  81 83 00 00 */	lwz r12, 0(r3)
/* 80338A80 003359E0  38 80 00 01 */	li r4, 1
/* 80338A84 003359E4  81 8C 00 08 */	lwz r12, 8(r12)
/* 80338A88 003359E8  7D 89 03 A6 */	mtctr r12
/* 80338A8C 003359EC  4E 80 04 21 */	bctrl
lbl_80338A90:
/* 80338A90 003359F0  7F 2C CB 78 */	mr r12, r25
/* 80338A94 003359F4  7F C4 F3 78 */	mr r4, r30
/* 80338A98 003359F8  7F E6 FB 78 */	mr r6, r31
/* 80338A9C 003359FC  38 61 00 10 */	addi r3, r1, 0x10
/* 80338AA0 00335A00  38 A1 00 84 */	addi r5, r1, 0x84
/* 80338AA4 00335A04  7D 89 03 A6 */	mtctr r12
/* 80338AA8 00335A08  4E 80 04 21 */	bctrl
/* 80338AAC 00335A0C  88 61 00 10 */	lbz r3, 0x10(r1)
/* 80338AB0 00335A10  38 00 00 00 */	li r0, 0
/* 80338AB4 00335A14  98 7D 00 00 */	stb r3, 0(r29)
/* 80338AB8 00335A18  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80338ABC 00335A1C  90 7D 00 04 */	stw r3, 4(r29)
/* 80338AC0 00335A20  98 01 00 10 */	stb r0, 0x10(r1)
/* 80338AC4 00335A24  48 00 00 1C */	b lbl_80338AE0
/* 80338AC8 00335A28  41 82 00 18 */	beq lbl_80338AE0
/* 80338ACC 00335A2C  81 83 00 00 */	lwz r12, 0(r3)
/* 80338AD0 00335A30  38 80 00 01 */	li r4, 1
/* 80338AD4 00335A34  81 8C 00 08 */	lwz r12, 8(r12)
/* 80338AD8 00335A38  7D 89 03 A6 */	mtctr r12
/* 80338ADC 00335A3C  4E 80 04 21 */	bctrl
lbl_80338AE0:
/* 80338AE0 00335A40  38 61 00 84 */	addi r3, r1, 0x84
/* 80338AE4 00335A44  38 80 FF FF */	li r4, -1
/* 80338AE8 00335A48  48 00 6D 59 */	bl __dt__15CZipInputStreamFv
/* 80338AEC 00335A4C  48 00 00 80 */	b lbl_80338B6C
lbl_80338AF0:
/* 80338AF0 00335A50  7F 44 D3 78 */	mr r4, r26
/* 80338AF4 00335A54  7F 65 DB 78 */	mr r5, r27
/* 80338AF8 00335A58  38 61 00 60 */	addi r3, r1, 0x60
/* 80338AFC 00335A5C  38 C0 00 00 */	li r6, 0
/* 80338B00 00335A60  48 00 67 0D */	bl __ct__15CMemoryInStreamFPCvUlQ215CMemoryInStream10EOwnerShip
/* 80338B04 00335A64  7F 2C CB 78 */	mr r12, r25
/* 80338B08 00335A68  7F C4 F3 78 */	mr r4, r30
/* 80338B0C 00335A6C  7F E6 FB 78 */	mr r6, r31
/* 80338B10 00335A70  38 61 00 08 */	addi r3, r1, 8
/* 80338B14 00335A74  38 A1 00 60 */	addi r5, r1, 0x60
/* 80338B18 00335A78  7D 89 03 A6 */	mtctr r12
/* 80338B1C 00335A7C  4E 80 04 21 */	bctrl
/* 80338B20 00335A80  88 61 00 08 */	lbz r3, 8(r1)
/* 80338B24 00335A84  38 00 00 00 */	li r0, 0
/* 80338B28 00335A88  98 7D 00 00 */	stb r3, 0(r29)
/* 80338B2C 00335A8C  80 61 00 0C */	lwz r3, 0xc(r1)
/* 80338B30 00335A90  90 7D 00 04 */	stw r3, 4(r29)
/* 80338B34 00335A94  98 01 00 08 */	stb r0, 8(r1)
/* 80338B38 00335A98  48 00 00 1C */	b lbl_80338B54
/* 80338B3C 00335A9C  41 82 00 18 */	beq lbl_80338B54
/* 80338B40 00335AA0  81 83 00 00 */	lwz r12, 0(r3)
/* 80338B44 00335AA4  38 80 00 01 */	li r4, 1
/* 80338B48 00335AA8  81 8C 00 08 */	lwz r12, 8(r12)
/* 80338B4C 00335AAC  7D 89 03 A6 */	mtctr r12
/* 80338B50 00335AB0  4E 80 04 21 */	bctrl
lbl_80338B54:
/* 80338B54 00335AB4  3C 80 80 3F */	lis r4, __vt__15CMemoryInStream@ha
/* 80338B58 00335AB8  38 61 00 60 */	addi r3, r1, 0x60
/* 80338B5C 00335ABC  38 04 E3 98 */	addi r0, r4, __vt__15CMemoryInStream@l
/* 80338B60 00335AC0  38 80 00 00 */	li r4, 0
/* 80338B64 00335AC4  90 01 00 60 */	stw r0, 0x60(r1)
/* 80338B68 00335AC8  48 00 65 45 */	bl __dt__12CInputStreamFv
lbl_80338B6C:
/* 80338B6C 00335ACC  BB 21 00 F4 */	lmw r25, 0xf4(r1)
/* 80338B70 00335AD0  80 01 01 14 */	lwz r0, 0x114(r1)
/* 80338B74 00335AD4  7C 08 03 A6 */	mtlr r0
/* 80338B78 00335AD8  38 21 01 10 */	addi r1, r1, 0x110
/* 80338B7C 00335ADC  4E 80 00 20 */	blr

.global MakeObject__11CFactoryMgrFRC10SObjectTagR12CInputStreamRC15CVParamTransfer
MakeObject__11CFactoryMgrFRC10SObjectTagR12CInputStreamRC15CVParamTransfer:
/* 80338B80 00335AE0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80338B84 00335AE4  7C 08 02 A6 */	mflr r0
/* 80338B88 00335AE8  39 20 00 00 */	li r9, 0
/* 80338B8C 00335AEC  90 01 00 24 */	stw r0, 0x24(r1)
/* 80338B90 00335AF0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80338B94 00335AF4  7C 7F 1B 78 */	mr r31, r3
/* 80338B98 00335AF8  80 84 00 10 */	lwz r4, 0x10(r4)
/* 80338B9C 00335AFC  81 05 00 00 */	lwz r8, 0(r5)
/* 80338BA0 00335B00  48 00 00 20 */	b lbl_80338BC0
lbl_80338BA4:
/* 80338BA4 00335B04  80 04 00 10 */	lwz r0, 0x10(r4)
/* 80338BA8 00335B08  7C 00 40 00 */	cmpw r0, r8
/* 80338BAC 00335B0C  41 80 00 10 */	blt lbl_80338BBC
/* 80338BB0 00335B10  7C 89 23 78 */	mr r9, r4
/* 80338BB4 00335B14  80 84 00 00 */	lwz r4, 0(r4)
/* 80338BB8 00335B18  48 00 00 08 */	b lbl_80338BC0
lbl_80338BBC:
/* 80338BBC 00335B1C  80 84 00 04 */	lwz r4, 4(r4)
lbl_80338BC0:
/* 80338BC0 00335B20  28 04 00 00 */	cmplwi r4, 0
/* 80338BC4 00335B24  40 82 FF E0 */	bne lbl_80338BA4
/* 80338BC8 00335B28  28 09 00 00 */	cmplwi r9, 0
/* 80338BCC 00335B2C  7C A4 2B 78 */	mr r4, r5
/* 80338BD0 00335B30  7C C5 33 78 */	mr r5, r6
/* 80338BD4 00335B34  7C E6 3B 78 */	mr r6, r7
/* 80338BD8 00335B38  38 61 00 08 */	addi r3, r1, 8
/* 80338BDC 00335B3C  38 E0 00 00 */	li r7, 0
/* 80338BE0 00335B40  41 82 00 10 */	beq lbl_80338BF0
/* 80338BE4 00335B44  80 09 00 10 */	lwz r0, 0x10(r9)
/* 80338BE8 00335B48  7C 08 00 00 */	cmpw r8, r0
/* 80338BEC 00335B4C  40 80 00 08 */	bge lbl_80338BF4
lbl_80338BF0:
/* 80338BF0 00335B50  38 E0 00 01 */	li r7, 1
lbl_80338BF4:
/* 80338BF4 00335B54  54 E0 06 3F */	clrlwi. r0, r7, 0x18
/* 80338BF8 00335B58  41 82 00 08 */	beq lbl_80338C00
/* 80338BFC 00335B5C  39 20 00 00 */	li r9, 0
lbl_80338C00:
/* 80338C00 00335B60  81 89 00 14 */	lwz r12, 0x14(r9)
/* 80338C04 00335B64  7D 89 03 A6 */	mtctr r12
/* 80338C08 00335B68  4E 80 04 21 */	bctrl
/* 80338C0C 00335B6C  88 61 00 08 */	lbz r3, 8(r1)
/* 80338C10 00335B70  38 00 00 00 */	li r0, 0
/* 80338C14 00335B74  98 7F 00 00 */	stb r3, 0(r31)
/* 80338C18 00335B78  80 61 00 0C */	lwz r3, 0xc(r1)
/* 80338C1C 00335B7C  90 7F 00 04 */	stw r3, 4(r31)
/* 80338C20 00335B80  98 01 00 08 */	stb r0, 8(r1)
/* 80338C24 00335B84  48 00 00 1C */	b lbl_80338C40
/* 80338C28 00335B88  41 82 00 18 */	beq lbl_80338C40
/* 80338C2C 00335B8C  81 83 00 00 */	lwz r12, 0(r3)
/* 80338C30 00335B90  38 80 00 01 */	li r4, 1
/* 80338C34 00335B94  81 8C 00 08 */	lwz r12, 8(r12)
/* 80338C38 00335B98  7D 89 03 A6 */	mtctr r12
/* 80338C3C 00335B9C  4E 80 04 21 */	bctrl
lbl_80338C40:
/* 80338C40 00335BA0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80338C44 00335BA4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80338C48 00335BA8  7C 08 03 A6 */	mtlr r0
/* 80338C4C 00335BAC  38 21 00 20 */	addi r1, r1, 0x20
/* 80338C50 00335BB0  4E 80 00 20 */	blr

.global CanMakeMemory__11CFactoryMgrFRC10SObjectTag
CanMakeMemory__11CFactoryMgrFRC10SObjectTag:
/* 80338C54 00335BB4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80338C58 00335BB8  38 C3 00 1C */	addi r6, r3, 0x1c
/* 80338C5C 00335BBC  38 A0 00 00 */	li r5, 0
/* 80338C60 00335BC0  80 84 00 00 */	lwz r4, 0(r4)
/* 80338C64 00335BC4  80 63 00 24 */	lwz r3, 0x24(r3)
/* 80338C68 00335BC8  48 00 00 20 */	b lbl_80338C88
lbl_80338C6C:
/* 80338C6C 00335BCC  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80338C70 00335BD0  7C 00 20 00 */	cmpw r0, r4
/* 80338C74 00335BD4  41 80 00 10 */	blt lbl_80338C84
/* 80338C78 00335BD8  7C 65 1B 78 */	mr r5, r3
/* 80338C7C 00335BDC  80 63 00 00 */	lwz r3, 0(r3)
/* 80338C80 00335BE0  48 00 00 08 */	b lbl_80338C88
lbl_80338C84:
/* 80338C84 00335BE4  80 63 00 04 */	lwz r3, 4(r3)
lbl_80338C88:
/* 80338C88 00335BE8  28 03 00 00 */	cmplwi r3, 0
/* 80338C8C 00335BEC  40 82 FF E0 */	bne lbl_80338C6C
/* 80338C90 00335BF0  28 05 00 00 */	cmplwi r5, 0
/* 80338C94 00335BF4  38 60 00 00 */	li r3, 0
/* 80338C98 00335BF8  41 82 00 10 */	beq lbl_80338CA8
/* 80338C9C 00335BFC  80 05 00 10 */	lwz r0, 0x10(r5)
/* 80338CA0 00335C00  7C 04 00 00 */	cmpw r4, r0
/* 80338CA4 00335C04  40 80 00 08 */	bge lbl_80338CAC
lbl_80338CA8:
/* 80338CA8 00335C08  38 60 00 01 */	li r3, 1
lbl_80338CAC:
/* 80338CAC 00335C0C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 80338CB0 00335C10  41 82 00 08 */	beq lbl_80338CB8
/* 80338CB4 00335C14  38 A0 00 00 */	li r5, 0
lbl_80338CB8:
/* 80338CB8 00335C18  28 05 00 00 */	cmplwi r5, 0
/* 80338CBC 00335C1C  90 A1 00 08 */	stw r5, 8(r1)
/* 80338CC0 00335C20  38 60 00 00 */	li r3, 0
/* 80338CC4 00335C24  90 C1 00 0C */	stw r6, 0xc(r1)
/* 80338CC8 00335C28  40 82 00 0C */	bne lbl_80338CD4
/* 80338CCC 00335C2C  7C 06 30 40 */	cmplw r6, r6
/* 80338CD0 00335C30  41 82 00 08 */	beq lbl_80338CD8
lbl_80338CD4:
/* 80338CD4 00335C34  38 60 00 01 */	li r3, 1
lbl_80338CD8:
/* 80338CD8 00335C38  38 21 00 10 */	addi r1, r1, 0x10
/* 80338CDC 00335C3C  4E 80 00 20 */	blr

.global "AddFactory__11CFactoryMgrFUiPFRC10SObjectTagRCQ24rstl12auto_ptr<Uc>iRC15CVParamTransfer_C16CFactoryFnReturn"
"AddFactory__11CFactoryMgrFUiPFRC10SObjectTagRCQ24rstl12auto_ptr<Uc>iRC15CVParamTransfer_C16CFactoryFnReturn":
/* 80338CE0 00335C40  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80338CE4 00335C44  7C 08 02 A6 */	mflr r0
/* 80338CE8 00335C48  7C 67 1B 78 */	mr r7, r3
/* 80338CEC 00335C4C  38 C0 00 00 */	li r6, 0
/* 80338CF0 00335C50  90 01 00 34 */	stw r0, 0x34(r1)
/* 80338CF4 00335C54  80 63 00 24 */	lwz r3, 0x24(r3)
/* 80338CF8 00335C58  48 00 00 20 */	b lbl_80338D18
lbl_80338CFC:
/* 80338CFC 00335C5C  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80338D00 00335C60  7C 00 20 00 */	cmpw r0, r4
/* 80338D04 00335C64  41 80 00 10 */	blt lbl_80338D14
/* 80338D08 00335C68  7C 66 1B 78 */	mr r6, r3
/* 80338D0C 00335C6C  80 63 00 00 */	lwz r3, 0(r3)
/* 80338D10 00335C70  48 00 00 08 */	b lbl_80338D18
lbl_80338D14:
/* 80338D14 00335C74  80 63 00 04 */	lwz r3, 4(r3)
lbl_80338D18:
/* 80338D18 00335C78  28 03 00 00 */	cmplwi r3, 0
/* 80338D1C 00335C7C  40 82 FF E0 */	bne lbl_80338CFC
/* 80338D20 00335C80  28 06 00 00 */	cmplwi r6, 0
/* 80338D24 00335C84  38 60 00 00 */	li r3, 0
/* 80338D28 00335C88  41 82 00 10 */	beq lbl_80338D38
/* 80338D2C 00335C8C  80 06 00 10 */	lwz r0, 0x10(r6)
/* 80338D30 00335C90  7C 04 00 00 */	cmpw r4, r0
/* 80338D34 00335C94  40 80 00 08 */	bge lbl_80338D3C
lbl_80338D38:
/* 80338D38 00335C98  38 60 00 01 */	li r3, 1
lbl_80338D3C:
/* 80338D3C 00335C9C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 80338D40 00335CA0  41 82 00 08 */	beq lbl_80338D48
/* 80338D44 00335CA4  38 C0 00 00 */	li r6, 0
lbl_80338D48:
/* 80338D48 00335CA8  38 00 00 00 */	li r0, 0
/* 80338D4C 00335CAC  38 67 00 1C */	addi r3, r7, 0x1c
/* 80338D50 00335CB0  7C 06 00 40 */	cmplw r6, r0
/* 80338D54 00335CB4  90 01 00 10 */	stw r0, 0x10(r1)
/* 80338D58 00335CB8  90 61 00 14 */	stw r3, 0x14(r1)
/* 80338D5C 00335CBC  40 82 00 0C */	bne lbl_80338D68
/* 80338D60 00335CC0  7C 03 18 40 */	cmplw r3, r3
/* 80338D64 00335CC4  41 82 00 08 */	beq lbl_80338D6C
lbl_80338D68:
/* 80338D68 00335CC8  38 00 00 01 */	li r0, 1
lbl_80338D6C:
/* 80338D6C 00335CCC  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 80338D70 00335CD0  40 82 00 20 */	bne lbl_80338D90
/* 80338D74 00335CD4  90 81 00 08 */	stw r4, 8(r1)
/* 80338D78 00335CD8  38 61 00 18 */	addi r3, r1, 0x18
/* 80338D7C 00335CDC  38 87 00 14 */	addi r4, r7, 0x14
/* 80338D80 00335CE0  38 C1 00 08 */	addi r6, r1, 8
/* 80338D84 00335CE4  90 A1 00 0C */	stw r5, 0xc(r1)
/* 80338D88 00335CE8  80 A7 00 24 */	lwz r5, 0x24(r7)
/* 80338D8C 00335CEC  48 00 04 E5 */	bl sub_80339270
lbl_80338D90:
/* 80338D90 00335CF0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80338D94 00335CF4  7C 08 03 A6 */	mtlr r0
/* 80338D98 00335CF8  38 21 00 30 */	addi r1, r1, 0x30
/* 80338D9C 00335CFC  4E 80 00 20 */	blr

.global AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn
AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn:
/* 80338DA0 00335D00  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80338DA4 00335D04  7C 08 02 A6 */	mflr r0
/* 80338DA8 00335D08  7C 67 1B 78 */	mr r7, r3
/* 80338DAC 00335D0C  38 C0 00 00 */	li r6, 0
/* 80338DB0 00335D10  90 01 00 34 */	stw r0, 0x34(r1)
/* 80338DB4 00335D14  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80338DB8 00335D18  48 00 00 20 */	b lbl_80338DD8
lbl_80338DBC:
/* 80338DBC 00335D1C  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80338DC0 00335D20  7C 00 20 00 */	cmpw r0, r4
/* 80338DC4 00335D24  41 80 00 10 */	blt lbl_80338DD4
/* 80338DC8 00335D28  7C 66 1B 78 */	mr r6, r3
/* 80338DCC 00335D2C  80 63 00 00 */	lwz r3, 0(r3)
/* 80338DD0 00335D30  48 00 00 08 */	b lbl_80338DD8
lbl_80338DD4:
/* 80338DD4 00335D34  80 63 00 04 */	lwz r3, 4(r3)
lbl_80338DD8:
/* 80338DD8 00335D38  28 03 00 00 */	cmplwi r3, 0
/* 80338DDC 00335D3C  40 82 FF E0 */	bne lbl_80338DBC
/* 80338DE0 00335D40  28 06 00 00 */	cmplwi r6, 0
/* 80338DE4 00335D44  38 60 00 00 */	li r3, 0
/* 80338DE8 00335D48  41 82 00 10 */	beq lbl_80338DF8
/* 80338DEC 00335D4C  80 06 00 10 */	lwz r0, 0x10(r6)
/* 80338DF0 00335D50  7C 04 00 00 */	cmpw r4, r0
/* 80338DF4 00335D54  40 80 00 08 */	bge lbl_80338DFC
lbl_80338DF8:
/* 80338DF8 00335D58  38 60 00 01 */	li r3, 1
lbl_80338DFC:
/* 80338DFC 00335D5C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 80338E00 00335D60  41 82 00 08 */	beq lbl_80338E08
/* 80338E04 00335D64  38 C0 00 00 */	li r6, 0
lbl_80338E08:
/* 80338E08 00335D68  38 00 00 00 */	li r0, 0
/* 80338E0C 00335D6C  38 67 00 08 */	addi r3, r7, 8
/* 80338E10 00335D70  7C 06 00 40 */	cmplw r6, r0
/* 80338E14 00335D74  90 01 00 10 */	stw r0, 0x10(r1)
/* 80338E18 00335D78  90 61 00 14 */	stw r3, 0x14(r1)
/* 80338E1C 00335D7C  40 82 00 0C */	bne lbl_80338E28
/* 80338E20 00335D80  7C 03 18 40 */	cmplw r3, r3
/* 80338E24 00335D84  41 82 00 08 */	beq lbl_80338E2C
lbl_80338E28:
/* 80338E28 00335D88  38 00 00 01 */	li r0, 1
lbl_80338E2C:
/* 80338E2C 00335D8C  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 80338E30 00335D90  40 82 00 20 */	bne lbl_80338E50
/* 80338E34 00335D94  90 81 00 08 */	stw r4, 8(r1)
/* 80338E38 00335D98  7C E4 3B 78 */	mr r4, r7
/* 80338E3C 00335D9C  38 61 00 18 */	addi r3, r1, 0x18
/* 80338E40 00335DA0  38 C1 00 08 */	addi r6, r1, 8
/* 80338E44 00335DA4  90 A1 00 0C */	stw r5, 0xc(r1)
/* 80338E48 00335DA8  80 A7 00 10 */	lwz r5, 0x10(r7)
/* 80338E4C 00335DAC  48 00 01 85 */	bl sub_80338fd0
lbl_80338E50:
/* 80338E50 00335DB0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80338E54 00335DB4  7C 08 03 A6 */	mtlr r0
/* 80338E58 00335DB8  38 21 00 30 */	addi r1, r1, 0x30
/* 80338E5C 00335DBC  4E 80 00 20 */	blr

.global sub_80338e60
sub_80338e60:
/* 80338E60 00335DC0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80338E64 00335DC4  7C 08 02 A6 */	mflr r0
/* 80338E68 00335DC8  90 01 00 14 */	stw r0, 0x14(r1)
/* 80338E6C 00335DCC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80338E70 00335DD0  7C 9F 23 78 */	mr r31, r4
/* 80338E74 00335DD4  93 C1 00 08 */	stw r30, 8(r1)
/* 80338E78 00335DD8  7C 7E 1B 79 */	or. r30, r3, r3
/* 80338E7C 00335DDC  41 82 00 80 */	beq lbl_80338EFC
/* 80338E80 00335DE0  34 1E 00 14 */	addic. r0, r30, 0x14
/* 80338E84 00335DE4  41 82 00 34 */	beq lbl_80338EB8
/* 80338E88 00335DE8  34 1E 00 14 */	addic. r0, r30, 0x14
/* 80338E8C 00335DEC  41 82 00 2C */	beq lbl_80338EB8
/* 80338E90 00335DF0  80 9E 00 24 */	lwz r4, 0x24(r30)
/* 80338E94 00335DF4  28 04 00 00 */	cmplwi r4, 0
/* 80338E98 00335DF8  41 82 00 0C */	beq lbl_80338EA4
/* 80338E9C 00335DFC  38 7E 00 14 */	addi r3, r30, 0x14
/* 80338EA0 00335E00  48 00 03 69 */	bl sub_80339208
lbl_80338EA4:
/* 80338EA4 00335E04  38 00 00 00 */	li r0, 0
/* 80338EA8 00335E08  90 1E 00 24 */	stw r0, 0x24(r30)
/* 80338EAC 00335E0C  90 1E 00 1C */	stw r0, 0x1c(r30)
/* 80338EB0 00335E10  90 1E 00 20 */	stw r0, 0x20(r30)
/* 80338EB4 00335E14  90 1E 00 18 */	stw r0, 0x18(r30)
lbl_80338EB8:
/* 80338EB8 00335E18  28 1E 00 00 */	cmplwi r30, 0
/* 80338EBC 00335E1C  41 82 00 30 */	beq lbl_80338EEC
/* 80338EC0 00335E20  41 82 00 2C */	beq lbl_80338EEC
/* 80338EC4 00335E24  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 80338EC8 00335E28  28 04 00 00 */	cmplwi r4, 0
/* 80338ECC 00335E2C  41 82 00 0C */	beq lbl_80338ED8
/* 80338ED0 00335E30  7F C3 F3 78 */	mr r3, r30
/* 80338ED4 00335E34  48 00 00 95 */	bl sub_80338f68
lbl_80338ED8:
/* 80338ED8 00335E38  38 00 00 00 */	li r0, 0
/* 80338EDC 00335E3C  90 1E 00 10 */	stw r0, 0x10(r30)
/* 80338EE0 00335E40  90 1E 00 08 */	stw r0, 8(r30)
/* 80338EE4 00335E44  90 1E 00 0C */	stw r0, 0xc(r30)
/* 80338EE8 00335E48  90 1E 00 04 */	stw r0, 4(r30)
lbl_80338EEC:
/* 80338EEC 00335E4C  7F E0 07 35 */	extsh. r0, r31
/* 80338EF0 00335E50  40 81 00 0C */	ble lbl_80338EFC
/* 80338EF4 00335E54  7F C3 F3 78 */	mr r3, r30
/* 80338EF8 00335E58  4B FD CA 39 */	bl Free__7CMemoryFPCv
lbl_80338EFC:
/* 80338EFC 00335E5C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80338F00 00335E60  7F C3 F3 78 */	mr r3, r30
/* 80338F04 00335E64  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80338F08 00335E68  83 C1 00 08 */	lwz r30, 8(r1)
/* 80338F0C 00335E6C  7C 08 03 A6 */	mtlr r0
/* 80338F10 00335E70  38 21 00 10 */	addi r1, r1, 0x10
/* 80338F14 00335E74  4E 80 00 20 */	blr

.global __ct__11CFactoryMgrFv
__ct__11CFactoryMgrFv:
/* 80338F18 00335E78  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80338F1C 00335E7C  38 A0 00 00 */	li r5, 0
/* 80338F20 00335E80  88 81 00 0C */	lbz r4, 0xc(r1)
/* 80338F24 00335E84  88 01 00 14 */	lbz r0, 0x14(r1)
/* 80338F28 00335E88  98 83 00 00 */	stb r4, 0(r3)
/* 80338F2C 00335E8C  88 81 00 08 */	lbz r4, 8(r1)
/* 80338F30 00335E90  98 03 00 01 */	stb r0, 1(r3)
/* 80338F34 00335E94  88 01 00 10 */	lbz r0, 0x10(r1)
/* 80338F38 00335E98  90 A3 00 04 */	stw r5, 4(r3)
/* 80338F3C 00335E9C  90 A3 00 08 */	stw r5, 8(r3)
/* 80338F40 00335EA0  90 A3 00 0C */	stw r5, 0xc(r3)
/* 80338F44 00335EA4  90 A3 00 10 */	stw r5, 0x10(r3)
/* 80338F48 00335EA8  98 83 00 14 */	stb r4, 0x14(r3)
/* 80338F4C 00335EAC  98 03 00 15 */	stb r0, 0x15(r3)
/* 80338F50 00335EB0  90 A3 00 18 */	stw r5, 0x18(r3)
/* 80338F54 00335EB4  90 A3 00 1C */	stw r5, 0x1c(r3)
/* 80338F58 00335EB8  90 A3 00 20 */	stw r5, 0x20(r3)
/* 80338F5C 00335EBC  90 A3 00 24 */	stw r5, 0x24(r3)
/* 80338F60 00335EC0  38 21 00 20 */	addi r1, r1, 0x20
/* 80338F64 00335EC4  4E 80 00 20 */	blr

.global sub_80338f68
sub_80338f68:
/* 80338F68 00335EC8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80338F6C 00335ECC  7C 08 02 A6 */	mflr r0
/* 80338F70 00335ED0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80338F74 00335ED4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80338F78 00335ED8  7C 9F 23 78 */	mr r31, r4
/* 80338F7C 00335EDC  93 C1 00 08 */	stw r30, 8(r1)
/* 80338F80 00335EE0  7C 7E 1B 78 */	mr r30, r3
/* 80338F84 00335EE4  80 84 00 00 */	lwz r4, 0(r4)
/* 80338F88 00335EE8  28 04 00 00 */	cmplwi r4, 0
/* 80338F8C 00335EEC  41 82 00 08 */	beq lbl_80338F94
/* 80338F90 00335EF0  4B FF FF D9 */	bl sub_80338f68
lbl_80338F94:
/* 80338F94 00335EF4  80 9F 00 04 */	lwz r4, 4(r31)
/* 80338F98 00335EF8  28 04 00 00 */	cmplwi r4, 0
/* 80338F9C 00335EFC  41 82 00 0C */	beq lbl_80338FA8
/* 80338FA0 00335F00  7F C3 F3 78 */	mr r3, r30
/* 80338FA4 00335F04  4B FF FF C5 */	bl sub_80338f68
lbl_80338FA8:
/* 80338FA8 00335F08  28 1F 00 00 */	cmplwi r31, 0
/* 80338FAC 00335F0C  41 82 00 0C */	beq lbl_80338FB8
/* 80338FB0 00335F10  7F E3 FB 78 */	mr r3, r31
/* 80338FB4 00335F14  4B FD C9 7D */	bl Free__7CMemoryFPCv
lbl_80338FB8:
/* 80338FB8 00335F18  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80338FBC 00335F1C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80338FC0 00335F20  83 C1 00 08 */	lwz r30, 8(r1)
/* 80338FC4 00335F24  7C 08 03 A6 */	mtlr r0
/* 80338FC8 00335F28  38 21 00 10 */	addi r1, r1, 0x10
/* 80338FCC 00335F2C  4E 80 00 20 */	blr

.global sub_80338fd0
sub_80338fd0:
/* 80338FD0 00335F30  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80338FD4 00335F34  7C 08 02 A6 */	mflr r0
/* 80338FD8 00335F38  28 05 00 00 */	cmplwi r5, 0
/* 80338FDC 00335F3C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80338FE0 00335F40  BF 61 00 0C */	stmw r27, 0xc(r1)
/* 80338FE4 00335F44  7C 7C 1B 78 */	mr r28, r3
/* 80338FE8 00335F48  7C 9D 23 78 */	mr r29, r4
/* 80338FEC 00335F4C  7C DE 33 78 */	mr r30, r6
/* 80338FF0 00335F50  40 82 00 88 */	bne lbl_80339078
/* 80338FF4 00335F54  3C 80 80 3D */	lis r4, lbl_803D7A20@ha
/* 80338FF8 00335F58  38 60 00 18 */	li r3, 0x18
/* 80338FFC 00335F5C  38 84 7A 20 */	addi r4, r4, lbl_803D7A20@l
/* 80339000 00335F60  38 A0 00 00 */	li r5, 0
/* 80339004 00335F64  4B FD C8 15 */	bl __nwa__FUlPCcPCc
/* 80339008 00335F68  28 03 00 00 */	cmplwi r3, 0
/* 8033900C 00335F6C  41 82 00 30 */	beq lbl_8033903C
/* 80339010 00335F70  38 00 00 00 */	li r0, 0
/* 80339014 00335F74  34 83 00 10 */	addic. r4, r3, 0x10
/* 80339018 00335F78  90 03 00 00 */	stw r0, 0(r3)
/* 8033901C 00335F7C  90 03 00 04 */	stw r0, 4(r3)
/* 80339020 00335F80  90 03 00 08 */	stw r0, 8(r3)
/* 80339024 00335F84  90 03 00 0C */	stw r0, 0xc(r3)
/* 80339028 00335F88  41 82 00 14 */	beq lbl_8033903C
/* 8033902C 00335F8C  80 1E 00 00 */	lwz r0, 0(r30)
/* 80339030 00335F90  90 04 00 00 */	stw r0, 0(r4)
/* 80339034 00335F94  80 1E 00 04 */	lwz r0, 4(r30)
/* 80339038 00335F98  90 04 00 04 */	stw r0, 4(r4)
lbl_8033903C:
/* 8033903C 00335F9C  90 7D 00 10 */	stw r3, 0x10(r29)
/* 80339040 00335FA0  38 1D 00 08 */	addi r0, r29, 8
/* 80339044 00335FA4  80 7D 00 04 */	lwz r3, 4(r29)
/* 80339048 00335FA8  38 63 00 01 */	addi r3, r3, 1
/* 8033904C 00335FAC  90 7D 00 04 */	stw r3, 4(r29)
/* 80339050 00335FB0  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 80339054 00335FB4  90 7D 00 08 */	stw r3, 8(r29)
/* 80339058 00335FB8  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 8033905C 00335FBC  90 7D 00 0C */	stw r3, 0xc(r29)
/* 80339060 00335FC0  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 80339064 00335FC4  90 7C 00 00 */	stw r3, 0(r28)
/* 80339068 00335FC8  90 1C 00 04 */	stw r0, 4(r28)
/* 8033906C 00335FCC  88 0D 9D 43 */	lbz r0, lbl_805A8903@sda21(r13)
/* 80339070 00335FD0  98 1C 00 08 */	stb r0, 8(r28)
/* 80339074 00335FD4  48 00 01 80 */	b lbl_803391F4
lbl_80339078:
/* 80339078 00335FD8  7C BF 2B 78 */	mr r31, r5
/* 8033907C 00335FDC  3B 60 00 00 */	li r27, 0
/* 80339080 00335FE0  48 00 01 40 */	b lbl_803391C0
lbl_80339084:
/* 80339084 00335FE4  80 9E 00 00 */	lwz r4, 0(r30)
/* 80339088 00335FE8  80 BF 00 10 */	lwz r5, 0x10(r31)
/* 8033908C 00335FEC  7C A0 22 78 */	xor r0, r5, r4
/* 80339090 00335FF0  7C 03 0E 70 */	srawi r3, r0, 1
/* 80339094 00335FF4  7C 00 28 38 */	and r0, r0, r5
/* 80339098 00335FF8  7C 00 18 50 */	subf r0, r0, r3
/* 8033909C 00335FFC  54 00 0F FF */	rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 803390A0 00336000  40 82 00 24 */	bne lbl_803390C4
/* 803390A4 00336004  7C 05 20 00 */	cmpw r5, r4
/* 803390A8 00336008  41 80 00 1C */	blt lbl_803390C4
/* 803390AC 0033600C  93 FC 00 00 */	stw r31, 0(r28)
/* 803390B0 00336010  38 1D 00 08 */	addi r0, r29, 8
/* 803390B4 00336014  90 1C 00 04 */	stw r0, 4(r28)
/* 803390B8 00336018  88 0D 9D 44 */	lbz r0, lbl_805A8904@sda21(r13)
/* 803390BC 0033601C  98 1C 00 08 */	stb r0, 8(r28)
/* 803390C0 00336020  48 00 01 34 */	b lbl_803391F4
lbl_803390C4:
/* 803390C4 00336024  28 00 00 00 */	cmplwi r0, 0
/* 803390C8 00336028  41 82 00 80 */	beq lbl_80339148
/* 803390CC 0033602C  80 1F 00 00 */	lwz r0, 0(r31)
/* 803390D0 00336030  28 00 00 00 */	cmplwi r0, 0
/* 803390D4 00336034  40 82 00 6C */	bne lbl_80339140
/* 803390D8 00336038  3C 80 80 3D */	lis r4, lbl_803D7A20@ha
/* 803390DC 0033603C  38 60 00 18 */	li r3, 0x18
/* 803390E0 00336040  38 84 7A 20 */	addi r4, r4, lbl_803D7A20@l
/* 803390E4 00336044  38 A0 00 00 */	li r5, 0
/* 803390E8 00336048  4B FD C7 31 */	bl __nwa__FUlPCcPCc
/* 803390EC 0033604C  28 03 00 00 */	cmplwi r3, 0
/* 803390F0 00336050  41 82 00 34 */	beq lbl_80339124
/* 803390F4 00336054  38 80 00 00 */	li r4, 0
/* 803390F8 00336058  34 A3 00 10 */	addic. r5, r3, 0x10
/* 803390FC 0033605C  90 83 00 00 */	stw r4, 0(r3)
/* 80339100 00336060  38 00 00 01 */	li r0, 1
/* 80339104 00336064  90 83 00 04 */	stw r4, 4(r3)
/* 80339108 00336068  93 E3 00 08 */	stw r31, 8(r3)
/* 8033910C 0033606C  90 03 00 0C */	stw r0, 0xc(r3)
/* 80339110 00336070  41 82 00 14 */	beq lbl_80339124
/* 80339114 00336074  80 1E 00 00 */	lwz r0, 0(r30)
/* 80339118 00336078  90 05 00 00 */	stw r0, 0(r5)
/* 8033911C 0033607C  80 1E 00 04 */	lwz r0, 4(r30)
/* 80339120 00336080  90 05 00 04 */	stw r0, 4(r5)
lbl_80339124:
/* 80339124 00336084  90 7F 00 00 */	stw r3, 0(r31)
/* 80339128 00336088  7C 7B 1B 78 */	mr r27, r3
/* 8033912C 0033608C  80 1D 00 08 */	lwz r0, 8(r29)
/* 80339130 00336090  7C 1F 00 40 */	cmplw r31, r0
/* 80339134 00336094  40 82 00 8C */	bne lbl_803391C0
/* 80339138 00336098  90 7D 00 08 */	stw r3, 8(r29)
/* 8033913C 0033609C  48 00 00 84 */	b lbl_803391C0
lbl_80339140:
/* 80339140 003360A0  7C 1F 03 78 */	mr r31, r0
/* 80339144 003360A4  48 00 00 7C */	b lbl_803391C0
lbl_80339148:
/* 80339148 003360A8  80 1F 00 04 */	lwz r0, 4(r31)
/* 8033914C 003360AC  28 00 00 00 */	cmplwi r0, 0
/* 80339150 003360B0  40 82 00 6C */	bne lbl_803391BC
/* 80339154 003360B4  3C 80 80 3D */	lis r4, lbl_803D7A20@ha
/* 80339158 003360B8  38 60 00 18 */	li r3, 0x18
/* 8033915C 003360BC  38 84 7A 20 */	addi r4, r4, lbl_803D7A20@l
/* 80339160 003360C0  38 A0 00 00 */	li r5, 0
/* 80339164 003360C4  4B FD C6 B5 */	bl __nwa__FUlPCcPCc
/* 80339168 003360C8  28 03 00 00 */	cmplwi r3, 0
/* 8033916C 003360CC  41 82 00 34 */	beq lbl_803391A0
/* 80339170 003360D0  38 80 00 00 */	li r4, 0
/* 80339174 003360D4  34 A3 00 10 */	addic. r5, r3, 0x10
/* 80339178 003360D8  90 83 00 00 */	stw r4, 0(r3)
/* 8033917C 003360DC  38 00 00 01 */	li r0, 1
/* 80339180 003360E0  90 83 00 04 */	stw r4, 4(r3)
/* 80339184 003360E4  93 E3 00 08 */	stw r31, 8(r3)
/* 80339188 003360E8  90 03 00 0C */	stw r0, 0xc(r3)
/* 8033918C 003360EC  41 82 00 14 */	beq lbl_803391A0
/* 80339190 003360F0  80 1E 00 00 */	lwz r0, 0(r30)
/* 80339194 003360F4  90 05 00 00 */	stw r0, 0(r5)
/* 80339198 003360F8  80 1E 00 04 */	lwz r0, 4(r30)
/* 8033919C 003360FC  90 05 00 04 */	stw r0, 4(r5)
lbl_803391A0:
/* 803391A0 00336100  90 7F 00 04 */	stw r3, 4(r31)
/* 803391A4 00336104  7C 7B 1B 78 */	mr r27, r3
/* 803391A8 00336108  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 803391AC 0033610C  7C 1F 00 40 */	cmplw r31, r0
/* 803391B0 00336110  40 82 00 10 */	bne lbl_803391C0
/* 803391B4 00336114  90 7D 00 0C */	stw r3, 0xc(r29)
/* 803391B8 00336118  48 00 00 08 */	b lbl_803391C0
lbl_803391BC:
/* 803391BC 0033611C  7C 1F 03 78 */	mr r31, r0
lbl_803391C0:
/* 803391C0 00336120  28 1B 00 00 */	cmplwi r27, 0
/* 803391C4 00336124  41 82 FE C0 */	beq lbl_80339084
/* 803391C8 00336128  80 BD 00 04 */	lwz r5, 4(r29)
/* 803391CC 0033612C  7F 64 DB 78 */	mr r4, r27
/* 803391D0 00336130  38 7D 00 08 */	addi r3, r29, 8
/* 803391D4 00336134  38 05 00 01 */	addi r0, r5, 1
/* 803391D8 00336138  90 1D 00 04 */	stw r0, 4(r29)
/* 803391DC 0033613C  48 00 38 BD */	bl rbtree_rebalance__4rstlFPvPv
/* 803391E0 00336140  93 7C 00 00 */	stw r27, 0(r28)
/* 803391E4 00336144  38 1D 00 08 */	addi r0, r29, 8
/* 803391E8 00336148  90 1C 00 04 */	stw r0, 4(r28)
/* 803391EC 0033614C  88 0D 9D 45 */	lbz r0, lbl_805A8905@sda21(r13)
/* 803391F0 00336150  98 1C 00 08 */	stb r0, 8(r28)
lbl_803391F4:
/* 803391F4 00336154  BB 61 00 0C */	lmw r27, 0xc(r1)
/* 803391F8 00336158  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803391FC 0033615C  7C 08 03 A6 */	mtlr r0
/* 80339200 00336160  38 21 00 20 */	addi r1, r1, 0x20
/* 80339204 00336164  4E 80 00 20 */	blr

.global sub_80339208
sub_80339208:
/* 80339208 00336168  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8033920C 0033616C  7C 08 02 A6 */	mflr r0
/* 80339210 00336170  90 01 00 14 */	stw r0, 0x14(r1)
/* 80339214 00336174  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80339218 00336178  7C 9F 23 78 */	mr r31, r4
/* 8033921C 0033617C  93 C1 00 08 */	stw r30, 8(r1)
/* 80339220 00336180  7C 7E 1B 78 */	mr r30, r3
/* 80339224 00336184  80 84 00 00 */	lwz r4, 0(r4)
/* 80339228 00336188  28 04 00 00 */	cmplwi r4, 0
/* 8033922C 0033618C  41 82 00 08 */	beq lbl_80339234
/* 80339230 00336190  4B FF FF D9 */	bl sub_80339208
lbl_80339234:
/* 80339234 00336194  80 9F 00 04 */	lwz r4, 4(r31)
/* 80339238 00336198  28 04 00 00 */	cmplwi r4, 0
/* 8033923C 0033619C  41 82 00 0C */	beq lbl_80339248
/* 80339240 003361A0  7F C3 F3 78 */	mr r3, r30
/* 80339244 003361A4  4B FF FF C5 */	bl sub_80339208
lbl_80339248:
/* 80339248 003361A8  28 1F 00 00 */	cmplwi r31, 0
/* 8033924C 003361AC  41 82 00 0C */	beq lbl_80339258
/* 80339250 003361B0  7F E3 FB 78 */	mr r3, r31
/* 80339254 003361B4  4B FD C6 DD */	bl Free__7CMemoryFPCv
lbl_80339258:
/* 80339258 003361B8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8033925C 003361BC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80339260 003361C0  83 C1 00 08 */	lwz r30, 8(r1)
/* 80339264 003361C4  7C 08 03 A6 */	mtlr r0
/* 80339268 003361C8  38 21 00 10 */	addi r1, r1, 0x10
/* 8033926C 003361CC  4E 80 00 20 */	blr

.global sub_80339270
sub_80339270:
/* 80339270 003361D0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80339274 003361D4  7C 08 02 A6 */	mflr r0
/* 80339278 003361D8  28 05 00 00 */	cmplwi r5, 0
/* 8033927C 003361DC  90 01 00 24 */	stw r0, 0x24(r1)
/* 80339280 003361E0  BF 61 00 0C */	stmw r27, 0xc(r1)
/* 80339284 003361E4  7C 7C 1B 78 */	mr r28, r3
/* 80339288 003361E8  7C 9D 23 78 */	mr r29, r4
/* 8033928C 003361EC  7C DE 33 78 */	mr r30, r6
/* 80339290 003361F0  40 82 00 88 */	bne lbl_80339318
/* 80339294 003361F4  3C 80 80 3D */	lis r4, lbl_803D7A20@ha
/* 80339298 003361F8  38 60 00 18 */	li r3, 0x18
/* 8033929C 003361FC  38 84 7A 20 */	addi r4, r4, lbl_803D7A20@l
/* 803392A0 00336200  38 A0 00 00 */	li r5, 0
/* 803392A4 00336204  4B FD C5 75 */	bl __nwa__FUlPCcPCc
/* 803392A8 00336208  28 03 00 00 */	cmplwi r3, 0
/* 803392AC 0033620C  41 82 00 30 */	beq lbl_803392DC
/* 803392B0 00336210  38 00 00 00 */	li r0, 0
/* 803392B4 00336214  34 83 00 10 */	addic. r4, r3, 0x10
/* 803392B8 00336218  90 03 00 00 */	stw r0, 0(r3)
/* 803392BC 0033621C  90 03 00 04 */	stw r0, 4(r3)
/* 803392C0 00336220  90 03 00 08 */	stw r0, 8(r3)
/* 803392C4 00336224  90 03 00 0C */	stw r0, 0xc(r3)
/* 803392C8 00336228  41 82 00 14 */	beq lbl_803392DC
/* 803392CC 0033622C  80 1E 00 00 */	lwz r0, 0(r30)
/* 803392D0 00336230  90 04 00 00 */	stw r0, 0(r4)
/* 803392D4 00336234  80 1E 00 04 */	lwz r0, 4(r30)
/* 803392D8 00336238  90 04 00 04 */	stw r0, 4(r4)
lbl_803392DC:
/* 803392DC 0033623C  90 7D 00 10 */	stw r3, 0x10(r29)
/* 803392E0 00336240  38 1D 00 08 */	addi r0, r29, 8
/* 803392E4 00336244  80 7D 00 04 */	lwz r3, 4(r29)
/* 803392E8 00336248  38 63 00 01 */	addi r3, r3, 1
/* 803392EC 0033624C  90 7D 00 04 */	stw r3, 4(r29)
/* 803392F0 00336250  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 803392F4 00336254  90 7D 00 08 */	stw r3, 8(r29)
/* 803392F8 00336258  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 803392FC 0033625C  90 7D 00 0C */	stw r3, 0xc(r29)
/* 80339300 00336260  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 80339304 00336264  90 7C 00 00 */	stw r3, 0(r28)
/* 80339308 00336268  90 1C 00 04 */	stw r0, 4(r28)
/* 8033930C 0033626C  88 0D 9D 40 */	lbz r0, lbl_805A8900@sda21(r13)
/* 80339310 00336270  98 1C 00 08 */	stb r0, 8(r28)
/* 80339314 00336274  48 00 01 80 */	b lbl_80339494
lbl_80339318:
/* 80339318 00336278  7C BF 2B 78 */	mr r31, r5
/* 8033931C 0033627C  3B 60 00 00 */	li r27, 0
/* 80339320 00336280  48 00 01 40 */	b lbl_80339460
lbl_80339324:
/* 80339324 00336284  80 9E 00 00 */	lwz r4, 0(r30)
/* 80339328 00336288  80 BF 00 10 */	lwz r5, 0x10(r31)
/* 8033932C 0033628C  7C A0 22 78 */	xor r0, r5, r4
/* 80339330 00336290  7C 03 0E 70 */	srawi r3, r0, 1
/* 80339334 00336294  7C 00 28 38 */	and r0, r0, r5
/* 80339338 00336298  7C 00 18 50 */	subf r0, r0, r3
/* 8033933C 0033629C  54 00 0F FF */	rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 80339340 003362A0  40 82 00 24 */	bne lbl_80339364
/* 80339344 003362A4  7C 05 20 00 */	cmpw r5, r4
/* 80339348 003362A8  41 80 00 1C */	blt lbl_80339364
/* 8033934C 003362AC  93 FC 00 00 */	stw r31, 0(r28)
/* 80339350 003362B0  38 1D 00 08 */	addi r0, r29, 8
/* 80339354 003362B4  90 1C 00 04 */	stw r0, 4(r28)
/* 80339358 003362B8  88 0D 9D 41 */	lbz r0, lbl_805A8901@sda21(r13)
/* 8033935C 003362BC  98 1C 00 08 */	stb r0, 8(r28)
/* 80339360 003362C0  48 00 01 34 */	b lbl_80339494
lbl_80339364:
/* 80339364 003362C4  28 00 00 00 */	cmplwi r0, 0
/* 80339368 003362C8  41 82 00 80 */	beq lbl_803393E8
/* 8033936C 003362CC  80 1F 00 00 */	lwz r0, 0(r31)
/* 80339370 003362D0  28 00 00 00 */	cmplwi r0, 0
/* 80339374 003362D4  40 82 00 6C */	bne lbl_803393E0
/* 80339378 003362D8  3C 80 80 3D */	lis r4, lbl_803D7A20@ha
/* 8033937C 003362DC  38 60 00 18 */	li r3, 0x18
/* 80339380 003362E0  38 84 7A 20 */	addi r4, r4, lbl_803D7A20@l
/* 80339384 003362E4  38 A0 00 00 */	li r5, 0
/* 80339388 003362E8  4B FD C4 91 */	bl __nwa__FUlPCcPCc
/* 8033938C 003362EC  28 03 00 00 */	cmplwi r3, 0
/* 80339390 003362F0  41 82 00 34 */	beq lbl_803393C4
/* 80339394 003362F4  38 80 00 00 */	li r4, 0
/* 80339398 003362F8  34 A3 00 10 */	addic. r5, r3, 0x10
/* 8033939C 003362FC  90 83 00 00 */	stw r4, 0(r3)
/* 803393A0 00336300  38 00 00 01 */	li r0, 1
/* 803393A4 00336304  90 83 00 04 */	stw r4, 4(r3)
/* 803393A8 00336308  93 E3 00 08 */	stw r31, 8(r3)
/* 803393AC 0033630C  90 03 00 0C */	stw r0, 0xc(r3)
/* 803393B0 00336310  41 82 00 14 */	beq lbl_803393C4
/* 803393B4 00336314  80 1E 00 00 */	lwz r0, 0(r30)
/* 803393B8 00336318  90 05 00 00 */	stw r0, 0(r5)
/* 803393BC 0033631C  80 1E 00 04 */	lwz r0, 4(r30)
/* 803393C0 00336320  90 05 00 04 */	stw r0, 4(r5)
lbl_803393C4:
/* 803393C4 00336324  90 7F 00 00 */	stw r3, 0(r31)
/* 803393C8 00336328  7C 7B 1B 78 */	mr r27, r3
/* 803393CC 0033632C  80 1D 00 08 */	lwz r0, 8(r29)
/* 803393D0 00336330  7C 1F 00 40 */	cmplw r31, r0
/* 803393D4 00336334  40 82 00 8C */	bne lbl_80339460
/* 803393D8 00336338  90 7D 00 08 */	stw r3, 8(r29)
/* 803393DC 0033633C  48 00 00 84 */	b lbl_80339460
lbl_803393E0:
/* 803393E0 00336340  7C 1F 03 78 */	mr r31, r0
/* 803393E4 00336344  48 00 00 7C */	b lbl_80339460
lbl_803393E8:
/* 803393E8 00336348  80 1F 00 04 */	lwz r0, 4(r31)
/* 803393EC 0033634C  28 00 00 00 */	cmplwi r0, 0
/* 803393F0 00336350  40 82 00 6C */	bne lbl_8033945C
/* 803393F4 00336354  3C 80 80 3D */	lis r4, lbl_803D7A20@ha
/* 803393F8 00336358  38 60 00 18 */	li r3, 0x18
/* 803393FC 0033635C  38 84 7A 20 */	addi r4, r4, lbl_803D7A20@l
/* 80339400 00336360  38 A0 00 00 */	li r5, 0
/* 80339404 00336364  4B FD C4 15 */	bl __nwa__FUlPCcPCc
/* 80339408 00336368  28 03 00 00 */	cmplwi r3, 0
/* 8033940C 0033636C  41 82 00 34 */	beq lbl_80339440
/* 80339410 00336370  38 80 00 00 */	li r4, 0
/* 80339414 00336374  34 A3 00 10 */	addic. r5, r3, 0x10
/* 80339418 00336378  90 83 00 00 */	stw r4, 0(r3)
/* 8033941C 0033637C  38 00 00 01 */	li r0, 1
/* 80339420 00336380  90 83 00 04 */	stw r4, 4(r3)
/* 80339424 00336384  93 E3 00 08 */	stw r31, 8(r3)
/* 80339428 00336388  90 03 00 0C */	stw r0, 0xc(r3)
/* 8033942C 0033638C  41 82 00 14 */	beq lbl_80339440
/* 80339430 00336390  80 1E 00 00 */	lwz r0, 0(r30)
/* 80339434 00336394  90 05 00 00 */	stw r0, 0(r5)
/* 80339438 00336398  80 1E 00 04 */	lwz r0, 4(r30)
/* 8033943C 0033639C  90 05 00 04 */	stw r0, 4(r5)
lbl_80339440:
/* 80339440 003363A0  90 7F 00 04 */	stw r3, 4(r31)
/* 80339444 003363A4  7C 7B 1B 78 */	mr r27, r3
/* 80339448 003363A8  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 8033944C 003363AC  7C 1F 00 40 */	cmplw r31, r0
/* 80339450 003363B0  40 82 00 10 */	bne lbl_80339460
/* 80339454 003363B4  90 7D 00 0C */	stw r3, 0xc(r29)
/* 80339458 003363B8  48 00 00 08 */	b lbl_80339460
lbl_8033945C:
/* 8033945C 003363BC  7C 1F 03 78 */	mr r31, r0
lbl_80339460:
/* 80339460 003363C0  28 1B 00 00 */	cmplwi r27, 0
/* 80339464 003363C4  41 82 FE C0 */	beq lbl_80339324
/* 80339468 003363C8  80 BD 00 04 */	lwz r5, 4(r29)
/* 8033946C 003363CC  7F 64 DB 78 */	mr r4, r27
/* 80339470 003363D0  38 7D 00 08 */	addi r3, r29, 8
/* 80339474 003363D4  38 05 00 01 */	addi r0, r5, 1
/* 80339478 003363D8  90 1D 00 04 */	stw r0, 4(r29)
/* 8033947C 003363DC  48 00 36 1D */	bl rbtree_rebalance__4rstlFPvPv
/* 80339480 003363E0  93 7C 00 00 */	stw r27, 0(r28)
/* 80339484 003363E4  38 1D 00 08 */	addi r0, r29, 8
/* 80339488 003363E8  90 1C 00 04 */	stw r0, 4(r28)
/* 8033948C 003363EC  88 0D 9D 42 */	lbz r0, lbl_805A8902@sda21(r13)
/* 80339490 003363F0  98 1C 00 08 */	stb r0, 8(r28)
lbl_80339494:
/* 80339494 003363F4  BB 61 00 0C */	lmw r27, 0xc(r1)
/* 80339498 003363F8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8033949C 003363FC  7C 08 03 A6 */	mtlr r0
/* 803394A0 00336400  38 21 00 20 */	addi r1, r1, 0x20
/* 803394A4 00336404  4E 80 00 20 */	blr

.section .rodata
.balign 8
.global lbl_803D7988
lbl_803D7988:
	# ROM: 0x3D4988
	.4byte 0x434C534E
	.4byte 0x434D444C
	.4byte 0x43534B52
	.4byte 0x414E494D
	.4byte 0x43494E46
	.4byte 0x54585452
	.4byte 0x504C5454
	.4byte 0x464F4E54
	.4byte 0x414E4353
	.4byte 0x45564E54
	.4byte 0x4D414446
	.4byte 0x4D4C564C
	.4byte 0x4D524541
	.4byte 0x4D415057
	.4byte 0x4D415041
	.4byte 0x53415657
	.4byte 0x53415641
	.4byte 0x50415254
	.4byte 0x57505343
	.4byte 0x53574843
	.4byte 0x44505343
	.4byte 0x454C5343
	.4byte 0x43525343
	.4byte 0x4146534D
	.4byte 0x44434C4E
	.4byte 0x41475343
	.4byte 0x4154424C
	.4byte 0x43534E47
	.4byte 0x53545247
	.4byte 0x5343414E
	.4byte 0x50415448
	.4byte 0x44475250
	.4byte 0x484D4150
	.4byte 0x4354574B
	.4byte 0x46524D45
	.4byte 0x48494E54
	.4byte 0x4D415055
	.4byte 0x44554D42

.global lbl_803D7A20
lbl_803D7A20:
	# ROM: 0x3D4A20
	.asciz "??(??)"
	.balign 4