.include "macros.inc"

.section .data
.balign 8

.global lbl_803EBC50
lbl_803EBC50:
	# ROM: 0x3E8C50
	.4byte 0x190A1C1C
	.4byte 0xFF20181B
	.4byte 0x0DFF1915
	.4byte 0x0E0A1C0E

.global lbl_803EBC60
lbl_803EBC60:
	# ROM: 0x3E8C60
	.4byte 0x190A1C1C
	.4byte 0xFF20181B
	.4byte 0x0D000000
	.4byte 0

.section .sbss, "wa"
.balign 8

.global lbl_805A9160
lbl_805A9160:
	.skip 0x8

.section .text, "ax"

.global GetPassword__12CNESEmulatorFv
GetPassword__12CNESEmulatorFv:
/* 80293B00 00290A60  38 63 00 21 */	addi r3, r3, 0x21
/* 80293B04 00290A64  4E 80 00 20 */	blr

.global IsGameOver__12CNESEmulatorFv
IsGameOver__12CNESEmulatorFv:
/* 80293B08 00290A68  88 63 00 20 */	lbz r3, 0x20(r3)
/* 80293B0C 00290A6C  4E 80 00 20 */	blr

.global LoadPassword__12CNESEmulatorFPCc
LoadPassword__12CNESEmulatorFPCc:
/* 80293B10 00290A70  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80293B14 00290A74  7C 08 02 A6 */	mflr r0
/* 80293B18 00290A78  38 A0 00 12 */	li r5, 0x12
/* 80293B1C 00290A7C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80293B20 00290A80  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80293B24 00290A84  7C 7F 1B 78 */	mr r31, r3
/* 80293B28 00290A88  38 7F 00 39 */	addi r3, r31, 0x39
/* 80293B2C 00290A8C  4B D6 F9 65 */	bl memcpy
/* 80293B30 00290A90  38 00 00 01 */	li r0, 1
/* 80293B34 00290A94  98 1F 00 38 */	stb r0, 0x38(r31)
/* 80293B38 00290A98  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80293B3C 00290A9C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80293B40 00290AA0  7C 08 03 A6 */	mtlr r0
/* 80293B44 00290AA4  38 21 00 10 */	addi r1, r1, 0x10
/* 80293B48 00290AA8  4E 80 00 20 */	blr

.global GetPasswordEntryState__12CNESEmulatorFv
GetPasswordEntryState__12CNESEmulatorFv:
/* 80293B4C 00290AAC  80 63 00 34 */	lwz r3, 0x34(r3)
/* 80293B50 00290AB0  4E 80 00 20 */	blr

.global Draw__12CNESEmulatorFRC6CColorb
Draw__12CNESEmulatorFRC6CColorb:
/* 80293B54 00290AB4  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 80293B58 00290AB8  7C 08 02 A6 */	mflr r0
/* 80293B5C 00290ABC  90 01 00 44 */	stw r0, 0x44(r1)
/* 80293B60 00290AC0  BF 61 00 2C */	stmw r27, 0x2c(r1)
/* 80293B64 00290AC4  7C 7C 1B 78 */	mr r28, r3
/* 80293B68 00290AC8  7C 9F 23 78 */	mr r31, r4
/* 80293B6C 00290ACC  7C BB 2B 78 */	mr r27, r5
/* 80293B70 00290AD0  80 03 00 00 */	lwz r0, 0(r3)
/* 80293B74 00290AD4  28 00 00 00 */	cmplwi r0, 0
/* 80293B78 00290AD8  40 82 02 A0 */	bne lbl_80293E18
/* 80293B7C 00290ADC  38 60 00 02 */	li r3, 2
/* 80293B80 00290AE0  48 0E 4F D9 */	bl GXSetCullMode
/* 80293B84 00290AE4  C0 22 BF 40 */	lfs f1, lbl_805ADC60@sda21(r2)
/* 80293B88 00290AE8  C0 62 BF 44 */	lfs f3, lbl_805ADC64@sda21(r2)
/* 80293B8C 00290AEC  FC 40 08 90 */	fmr f2, f1
/* 80293B90 00290AF0  C0 82 BF 48 */	lfs f4, lbl_805ADC68@sda21(r2)
/* 80293B94 00290AF4  C0 A2 BF 4C */	lfs f5, lbl_805ADC6C@sda21(r2)
/* 80293B98 00290AF8  C0 C2 BF 50 */	lfs f6, lbl_805ADC70@sda21(r2)
/* 80293B9C 00290AFC  48 0E 8A AD */	bl GXSetViewport
/* 80293BA0 00290B00  80 8D A5 A0 */	lwz r4, lbl_805A9160@sda21(r13)
/* 80293BA4 00290B04  80 7C 00 08 */	lwz r3, 8(r28)
/* 80293BA8 00290B08  81 84 00 18 */	lwz r12, 0x18(r4)
/* 80293BAC 00290B0C  80 9C 00 0C */	lwz r4, 0xc(r28)
/* 80293BB0 00290B10  7D 89 03 A6 */	mtctr r12
/* 80293BB4 00290B14  4E 80 04 21 */	bctrl
/* 80293BB8 00290B18  80 8D A5 A0 */	lwz r4, lbl_805A9160@sda21(r13)
/* 80293BBC 00290B1C  80 7C 00 08 */	lwz r3, 8(r28)
/* 80293BC0 00290B20  81 84 00 1C */	lwz r12, 0x1c(r4)
/* 80293BC4 00290B24  7D 89 03 A6 */	mtctr r12
/* 80293BC8 00290B28  4E 80 04 21 */	bctrl
/* 80293BCC 00290B2C  38 60 00 00 */	li r3, 0
/* 80293BD0 00290B30  48 0E 8B 6D */	bl GXSetClipMode
/* 80293BD4 00290B34  38 60 00 00 */	li r3, 0
/* 80293BD8 00290B38  38 80 00 09 */	li r4, 9
/* 80293BDC 00290B3C  38 A0 00 01 */	li r5, 1
/* 80293BE0 00290B40  38 C0 00 04 */	li r6, 4
/* 80293BE4 00290B44  38 E0 00 00 */	li r7, 0
/* 80293BE8 00290B48  48 0E 3B A5 */	bl GXSetVtxAttrFmt
/* 80293BEC 00290B4C  38 60 00 00 */	li r3, 0
/* 80293BF0 00290B50  38 80 00 0A */	li r4, 0xa
/* 80293BF4 00290B54  38 A0 00 00 */	li r5, 0
/* 80293BF8 00290B58  38 C0 00 04 */	li r6, 4
/* 80293BFC 00290B5C  38 E0 00 00 */	li r7, 0
/* 80293C00 00290B60  48 0E 3B 8D */	bl GXSetVtxAttrFmt
/* 80293C04 00290B64  38 60 00 00 */	li r3, 0
/* 80293C08 00290B68  38 80 00 0B */	li r4, 0xb
/* 80293C0C 00290B6C  38 A0 00 01 */	li r5, 1
/* 80293C10 00290B70  38 C0 00 05 */	li r6, 5
/* 80293C14 00290B74  38 E0 00 00 */	li r7, 0
/* 80293C18 00290B78  48 0E 3B 75 */	bl GXSetVtxAttrFmt
/* 80293C1C 00290B7C  38 60 00 00 */	li r3, 0
/* 80293C20 00290B80  38 80 00 0D */	li r4, 0xd
/* 80293C24 00290B84  38 A0 00 01 */	li r5, 1
/* 80293C28 00290B88  38 C0 00 04 */	li r6, 4
/* 80293C2C 00290B8C  38 E0 00 00 */	li r7, 0
/* 80293C30 00290B90  48 0E 3B 5D */	bl GXSetVtxAttrFmt
/* 80293C34 00290B94  3B C0 00 01 */	li r30, 1
lbl_80293C38:
/* 80293C38 00290B98  38 9E 00 0D */	addi r4, r30, 0xd
/* 80293C3C 00290B9C  38 60 00 00 */	li r3, 0
/* 80293C40 00290BA0  38 A0 00 01 */	li r5, 1
/* 80293C44 00290BA4  38 C0 00 04 */	li r6, 4
/* 80293C48 00290BA8  38 E0 00 00 */	li r7, 0
/* 80293C4C 00290BAC  48 0E 3B 41 */	bl GXSetVtxAttrFmt
/* 80293C50 00290BB0  3B DE 00 01 */	addi r30, r30, 1
/* 80293C54 00290BB4  2C 1E 00 07 */	cmpwi r30, 7
/* 80293C58 00290BB8  40 81 FF E0 */	ble lbl_80293C38
/* 80293C5C 00290BBC  38 60 00 00 */	li r3, 0
/* 80293C60 00290BC0  38 80 00 03 */	li r4, 3
/* 80293C64 00290BC4  48 0E 77 B5 */	bl GXSetTevOp
/* 80293C68 00290BC8  38 60 00 00 */	li r3, 0
/* 80293C6C 00290BCC  38 80 00 00 */	li r4, 0
/* 80293C70 00290BD0  38 A0 00 00 */	li r5, 0
/* 80293C74 00290BD4  38 C0 00 00 */	li r6, 0
/* 80293C78 00290BD8  48 0E 6C 39 */	bl GXSetTexCoordScaleManually
/* 80293C7C 00290BDC  48 07 44 59 */	bl ResetGXStatesFull__3CGXFv
/* 80293C80 00290BE0  38 60 00 00 */	li r3, 0
/* 80293C84 00290BE4  48 07 51 CD */	bl SetNumChans__3CGXFUc
/* 80293C88 00290BE8  38 60 00 01 */	li r3, 1
/* 80293C8C 00290BEC  48 07 51 89 */	bl SetNumTexGens__3CGXFUc
/* 80293C90 00290BF0  38 60 00 01 */	li r3, 1
/* 80293C94 00290BF4  48 07 4F FD */	bl SetNumTevStages__3CGXFUc
/* 80293C98 00290BF8  38 60 00 00 */	li r3, 0
/* 80293C9C 00290BFC  48 07 49 F5 */	bl SetNumIndStages__3CGXFUc
/* 80293CA0 00290C00  38 60 00 00 */	li r3, 0
/* 80293CA4 00290C04  38 80 00 01 */	li r4, 1
/* 80293CA8 00290C08  38 A0 00 04 */	li r5, 4
/* 80293CAC 00290C0C  38 C0 00 3C */	li r6, 0x3c
/* 80293CB0 00290C10  38 E0 00 00 */	li r7, 0
/* 80293CB4 00290C14  39 00 00 7D */	li r8, 0x7d
/* 80293CB8 00290C18  48 07 4A 15 */	bl SetTexCoordGen__3CGXF13_GXTexCoordID13_GXTexGenType12_GXTexGenSrc9_GXTexMtxUc11_GXPTTexMtx
/* 80293CBC 00290C1C  38 60 00 00 */	li r3, 0
/* 80293CC0 00290C20  48 07 4A 85 */	bl SetTevDirect__3CGXF13_GXTevStageID
/* 80293CC4 00290C24  38 60 00 00 */	li r3, 0
/* 80293CC8 00290C28  38 80 00 00 */	li r4, 0
/* 80293CCC 00290C2C  38 A0 00 00 */	li r5, 0
/* 80293CD0 00290C30  38 C0 00 FF */	li r6, 0xff
/* 80293CD4 00290C34  48 07 4C 79 */	bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID
/* 80293CD8 00290C38  38 60 00 07 */	li r3, 7
/* 80293CDC 00290C3C  38 80 00 00 */	li r4, 0
/* 80293CE0 00290C40  38 A0 00 00 */	li r5, 0
/* 80293CE4 00290C44  38 C0 00 07 */	li r6, 7
/* 80293CE8 00290C48  38 E0 00 00 */	li r7, 0
/* 80293CEC 00290C4C  48 07 7D 3D */	bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc
/* 80293CF0 00290C50  80 6D A0 68 */	lwz r3, gpRender@sda21(r13)
/* 80293CF4 00290C54  3C 80 80 5A */	lis r4, sIdentity__12CTransform4f@ha
/* 80293CF8 00290C58  38 84 66 70 */	addi r4, r4, sIdentity__12CTransform4f@l
/* 80293CFC 00290C5C  81 83 00 00 */	lwz r12, 0(r3)
/* 80293D00 00290C60  81 8C 00 30 */	lwz r12, 0x30(r12)
/* 80293D04 00290C64  7D 89 03 A6 */	mtctr r12
/* 80293D08 00290C68  4E 80 04 21 */	bctrl
/* 80293D0C 00290C6C  3C 60 80 5A */	lis r3, sIdentity__12CTransform4f@ha
/* 80293D10 00290C70  38 63 66 70 */	addi r3, r3, sIdentity__12CTransform4f@l
/* 80293D14 00290C74  48 07 8A 39 */	bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
/* 80293D18 00290C78  80 6D A0 68 */	lwz r3, gpRender@sda21(r13)
/* 80293D1C 00290C7C  81 83 00 00 */	lwz r12, 0(r3)
/* 80293D20 00290C80  81 8C 00 7C */	lwz r12, 0x7c(r12)
/* 80293D24 00290C84  7D 89 03 A6 */	mtctr r12
/* 80293D28 00290C88  4E 80 04 21 */	bctrl
/* 80293D2C 00290C8C  57 65 06 3E */	clrlwi r5, r27, 0x18
/* 80293D30 00290C90  80 9C 00 04 */	lwz r4, 4(r28)
/* 80293D34 00290C94  7C 05 00 D0 */	neg r0, r5
/* 80293D38 00290C98  38 61 00 08 */	addi r3, r1, 8
/* 80293D3C 00290C9C  7C 00 2B 78 */	or r0, r0, r5
/* 80293D40 00290CA0  38 A0 01 00 */	li r5, 0x100
/* 80293D44 00290CA4  54 1E 0F FE */	srwi r30, r0, 0x1f
/* 80293D48 00290CA8  38 C0 00 E4 */	li r6, 0xe4
/* 80293D4C 00290CAC  38 E0 00 04 */	li r7, 4
/* 80293D50 00290CB0  39 00 00 00 */	li r8, 0
/* 80293D54 00290CB4  39 20 00 00 */	li r9, 0
/* 80293D58 00290CB8  39 40 00 00 */	li r10, 0
/* 80293D5C 00290CBC  48 0E 61 09 */	bl GXInitTexObj
/* 80293D60 00290CC0  C0 22 BF 40 */	lfs f1, lbl_805ADC60@sda21(r2)
/* 80293D64 00290CC4  7F C4 F3 78 */	mr r4, r30
/* 80293D68 00290CC8  7F C5 F3 78 */	mr r5, r30
/* 80293D6C 00290CCC  38 61 00 08 */	addi r3, r1, 8
/* 80293D70 00290CD0  FC 40 08 90 */	fmr f2, f1
/* 80293D74 00290CD4  38 C0 00 00 */	li r6, 0
/* 80293D78 00290CD8  FC 60 08 90 */	fmr f3, f1
/* 80293D7C 00290CDC  38 E0 00 00 */	li r7, 0
/* 80293D80 00290CE0  39 00 00 00 */	li r8, 0
/* 80293D84 00290CE4  48 0E 63 9D */	bl GXInitTexObjLOD
/* 80293D88 00290CE8  38 60 00 00 */	li r3, 0
/* 80293D8C 00290CEC  48 07 A3 BD */	bl InvalidateTexmap__8CTextureF11_GXTexMapID
/* 80293D90 00290CF0  48 0E 6A B1 */	bl GXInvalidateTexAll
/* 80293D94 00290CF4  38 61 00 08 */	addi r3, r1, 8
/* 80293D98 00290CF8  38 80 00 00 */	li r4, 0
/* 80293D9C 00290CFC  48 0E 66 F9 */	bl GXLoadTexObj
/* 80293DA0 00290D00  3C 60 80 3F */	lis r3, mViewport__9CGraphics@ha
/* 80293DA4 00290D04  3C 80 80 5A */	lis r4, kEnvModulate__9CGraphics@ha
/* 80293DA8 00290D08  38 A3 D9 10 */	addi r5, r3, mViewport__9CGraphics@l
/* 80293DAC 00290D0C  83 C5 00 00 */	lwz r30, 0(r5)
/* 80293DB0 00290D10  38 60 00 00 */	li r3, 0
/* 80293DB4 00290D14  83 A5 00 04 */	lwz r29, 4(r5)
/* 80293DB8 00290D18  38 84 5E BC */	addi r4, r4, kEnvModulate__9CGraphics@l
/* 80293DBC 00290D1C  83 85 00 08 */	lwz r28, 8(r5)
/* 80293DC0 00290D20  83 65 00 0C */	lwz r27, 0xc(r5)
/* 80293DC4 00290D24  48 07 64 F5 */	bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 80293DC8 00290D28  80 6D A0 68 */	lwz r3, gpRender@sda21(r13)
/* 80293DCC 00290D2C  38 80 00 00 */	li r4, 0
/* 80293DD0 00290D30  88 03 03 18 */	lbz r0, 0x318(r3)
/* 80293DD4 00290D34  54 03 E7 FE */	rlwinm r3, r0, 0x1c, 0x1f, 0x1f
/* 80293DD8 00290D38  7C 03 00 D0 */	neg r0, r3
/* 80293DDC 00290D3C  7C 00 1B 78 */	or r0, r0, r3
/* 80293DE0 00290D40  54 03 0F FE */	srwi r3, r0, 0x1f
/* 80293DE4 00290D44  48 0E 81 E1 */	bl GXSetPixelFmt
/* 80293DE8 00290D48  7F C3 F3 78 */	mr r3, r30
/* 80293DEC 00290D4C  7F 85 E3 78 */	mr r5, r28
/* 80293DF0 00290D50  7F E7 FB 78 */	mr r7, r31
/* 80293DF4 00290D54  7C 9D DA 14 */	add r4, r29, r27
/* 80293DF8 00290D58  7C DB 00 D0 */	neg r6, r27
/* 80293DFC 00290D5C  48 00 00 31 */	bl sub_80293e2c
/* 80293E00 00290D60  38 60 00 07 */	li r3, 7
/* 80293E04 00290D64  38 80 00 00 */	li r4, 0
/* 80293E08 00290D68  38 A0 00 00 */	li r5, 0
/* 80293E0C 00290D6C  38 C0 00 07 */	li r6, 7
/* 80293E10 00290D70  38 E0 00 00 */	li r7, 0
/* 80293E14 00290D74  48 07 4A 01 */	bl SetAlphaCompare__3CGXF10_GXCompareUc10_GXAlphaOp10_GXCompareUc
lbl_80293E18:
/* 80293E18 00290D78  BB 61 00 2C */	lmw r27, 0x2c(r1)
/* 80293E1C 00290D7C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 80293E20 00290D80  7C 08 03 A6 */	mtlr r0
/* 80293E24 00290D84  38 21 00 40 */	addi r1, r1, 0x40
/* 80293E28 00290D88  4E 80 00 20 */	blr

.global sub_80293e2c
sub_80293e2c:
/* 80293E2C 00290D8C  94 21 FF 40 */	stwu r1, -0xc0(r1)
/* 80293E30 00290D90  7C 08 02 A6 */	mflr r0
/* 80293E34 00290D94  90 01 00 C4 */	stw r0, 0xc4(r1)
/* 80293E38 00290D98  DB E1 00 B0 */	stfd f31, 0xb0(r1)
/* 80293E3C 00290D9C  F3 E1 00 B8 */	psq_st f31, 184(r1), 0, qr0
/* 80293E40 00290DA0  DB C1 00 A0 */	stfd f30, 0xa0(r1)
/* 80293E44 00290DA4  F3 C1 00 A8 */	psq_st f30, 168(r1), 0, qr0
/* 80293E48 00290DA8  BF 21 00 84 */	stmw r25, 0x84(r1)
/* 80293E4C 00290DAC  3D 00 80 3F */	lis r8, mViewport__9CGraphics@ha
/* 80293E50 00290DB0  7C 79 1B 78 */	mr r25, r3
/* 80293E54 00290DB4  39 48 D9 10 */	addi r10, r8, mViewport__9CGraphics@l
/* 80293E58 00290DB8  7C 9A 23 78 */	mr r26, r4
/* 80293E5C 00290DBC  81 2A 00 00 */	lwz r9, 0(r10)
/* 80293E60 00290DC0  7C BB 2B 78 */	mr r27, r5
/* 80293E64 00290DC4  81 0A 00 04 */	lwz r8, 4(r10)
/* 80293E68 00290DC8  7C DC 33 78 */	mr r28, r6
/* 80293E6C 00290DCC  80 AA 00 08 */	lwz r5, 8(r10)
/* 80293E70 00290DD0  7C FD 3B 78 */	mr r29, r7
/* 80293E74 00290DD4  80 8A 00 0C */	lwz r4, 0xc(r10)
/* 80293E78 00290DD8  80 6A 00 10 */	lwz r3, 0x10(r10)
/* 80293E7C 00290DDC  80 0A 00 14 */	lwz r0, 0x14(r10)
/* 80293E80 00290DE0  91 21 00 24 */	stw r9, 0x24(r1)
/* 80293E84 00290DE4  91 01 00 28 */	stw r8, 0x28(r1)
/* 80293E88 00290DE8  90 A1 00 2C */	stw r5, 0x2c(r1)
/* 80293E8C 00290DEC  90 81 00 30 */	stw r4, 0x30(r1)
/* 80293E90 00290DF0  90 61 00 34 */	stw r3, 0x34(r1)
/* 80293E94 00290DF4  90 01 00 38 */	stw r0, 0x38(r1)
/* 80293E98 00290DF8  48 07 5F C5 */	bl GetProjectionState__9CGraphicsFv
/* 80293E9C 00290DFC  88 03 00 00 */	lbz r0, 0(r3)
/* 80293EA0 00290E00  3C C0 43 30 */	lis r6, 0x4330
/* 80293EA4 00290E04  80 A1 00 2C */	lwz r5, 0x2c(r1)
/* 80293EA8 00290E08  98 01 00 08 */	stb r0, 8(r1)
/* 80293EAC 00290E0C  81 01 00 30 */	lwz r8, 0x30(r1)
/* 80293EB0 00290E10  7C 85 00 D0 */	neg r4, r5
/* 80293EB4 00290E14  C0 03 00 04 */	lfs f0, 4(r3)
/* 80293EB8 00290E18  54 80 0F FE */	srwi r0, r4, 0x1f
/* 80293EBC 00290E1C  7C 80 22 14 */	add r4, r0, r4
/* 80293EC0 00290E20  54 A0 0F FE */	srwi r0, r5, 0x1f
/* 80293EC4 00290E24  D0 01 00 0C */	stfs f0, 0xc(r1)
/* 80293EC8 00290E28  7C 87 0E 70 */	srawi r7, r4, 1
/* 80293ECC 00290E2C  7C A0 2A 14 */	add r5, r0, r5
/* 80293ED0 00290E30  55 00 0F FE */	srwi r0, r8, 0x1f
/* 80293ED4 00290E34  C0 03 00 08 */	lfs f0, 8(r3)
/* 80293ED8 00290E38  7C 88 00 D0 */	neg r4, r8
/* 80293EDC 00290E3C  7C BF 0E 70 */	srawi r31, r5, 1
/* 80293EE0 00290E40  7C A0 42 14 */	add r5, r0, r8
/* 80293EE4 00290E44  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 80293EE8 00290E48  54 80 0F FE */	srwi r0, r4, 0x1f
/* 80293EEC 00290E4C  7C BE 0E 70 */	srawi r30, r5, 1
/* 80293EF0 00290E50  6C E7 80 00 */	xoris r7, r7, 0x8000
/* 80293EF4 00290E54  C0 03 00 0C */	lfs f0, 0xc(r3)
/* 80293EF8 00290E58  7C 00 22 14 */	add r0, r0, r4
/* 80293EFC 00290E5C  7C 00 0E 70 */	srawi r0, r0, 1
/* 80293F00 00290E60  6F E5 80 00 */	xoris r5, r31, 0x8000
/* 80293F04 00290E64  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 80293F08 00290E68  6F C4 80 00 */	xoris r4, r30, 0x8000
/* 80293F0C 00290E6C  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80293F10 00290E70  C8 82 BF 60 */	lfd f4, lbl_805ADC80@sda21(r2)
/* 80293F14 00290E74  C0 03 00 10 */	lfs f0, 0x10(r3)
/* 80293F18 00290E78  90 E1 00 44 */	stw r7, 0x44(r1)
/* 80293F1C 00290E7C  C0 A2 BF 40 */	lfs f5, lbl_805ADC60@sda21(r2)
/* 80293F20 00290E80  D0 01 00 18 */	stfs f0, 0x18(r1)
/* 80293F24 00290E84  C0 C2 BF 54 */	lfs f6, lbl_805ADC74@sda21(r2)
/* 80293F28 00290E88  C0 03 00 14 */	lfs f0, 0x14(r3)
/* 80293F2C 00290E8C  90 C1 00 40 */	stw r6, 0x40(r1)
/* 80293F30 00290E90  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 80293F34 00290E94  C8 01 00 40 */	lfd f0, 0x40(r1)
/* 80293F38 00290E98  C0 E3 00 18 */	lfs f7, 0x18(r3)
/* 80293F3C 00290E9C  90 A1 00 4C */	stw r5, 0x4c(r1)
/* 80293F40 00290EA0  EC 20 20 28 */	fsubs f1, f0, f4
/* 80293F44 00290EA4  90 C1 00 48 */	stw r6, 0x48(r1)
/* 80293F48 00290EA8  C8 01 00 48 */	lfd f0, 0x48(r1)
/* 80293F4C 00290EAC  90 81 00 54 */	stw r4, 0x54(r1)
/* 80293F50 00290EB0  EC 40 20 28 */	fsubs f2, f0, f4
/* 80293F54 00290EB4  90 C1 00 50 */	stw r6, 0x50(r1)
/* 80293F58 00290EB8  C8 01 00 50 */	lfd f0, 0x50(r1)
/* 80293F5C 00290EBC  90 01 00 5C */	stw r0, 0x5c(r1)
/* 80293F60 00290EC0  EC 60 20 28 */	fsubs f3, f0, f4
/* 80293F64 00290EC4  90 C1 00 58 */	stw r6, 0x58(r1)
/* 80293F68 00290EC8  C8 01 00 58 */	lfd f0, 0x58(r1)
/* 80293F6C 00290ECC  D0 E1 00 20 */	stfs f7, 0x20(r1)
/* 80293F70 00290ED0  EC 80 20 28 */	fsubs f4, f0, f4
/* 80293F74 00290ED4  48 07 85 E1 */	bl SetOrtho__9CGraphicsFffffff
/* 80293F78 00290ED8  3C 60 80 5A */	lis r3, sIdentity__12CTransform4f@ha
/* 80293F7C 00290EDC  38 63 66 70 */	addi r3, r3, sIdentity__12CTransform4f@l
/* 80293F80 00290EE0  48 07 86 61 */	bl SetModelMatrix__9CGraphicsFRC12CTransform4f
/* 80293F84 00290EE4  7C BF C8 50 */	subf r5, r31, r25
/* 80293F88 00290EE8  3C 80 43 30 */	lis r4, 0x4330
/* 80293F8C 00290EEC  6C A5 80 00 */	xoris r5, r5, 0x8000
/* 80293F90 00290EF0  7C 1E D0 50 */	subf r0, r30, r26
/* 80293F94 00290EF4  90 A1 00 64 */	stw r5, 0x64(r1)
/* 80293F98 00290EF8  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80293F9C 00290EFC  3C 60 80 3D */	lis r3, lbl_803D5B8C@ha
/* 80293FA0 00290F00  C8 22 BF 60 */	lfd f1, lbl_805ADC80@sda21(r2)
/* 80293FA4 00290F04  90 81 00 60 */	stw r4, 0x60(r1)
/* 80293FA8 00290F08  38 63 5B 8C */	addi r3, r3, lbl_803D5B8C@l
/* 80293FAC 00290F0C  C8 01 00 60 */	lfd f0, 0x60(r1)
/* 80293FB0 00290F10  90 01 00 6C */	stw r0, 0x6c(r1)
/* 80293FB4 00290F14  EF E0 08 28 */	fsubs f31, f0, f1
/* 80293FB8 00290F18  90 81 00 68 */	stw r4, 0x68(r1)
/* 80293FBC 00290F1C  C8 01 00 68 */	lfd f0, 0x68(r1)
/* 80293FC0 00290F20  EF C0 08 28 */	fsubs f30, f0, f1
/* 80293FC4 00290F24  48 07 3E 65 */	bl SetVtxDescv__3CGXFPC14_GXVtxDescList
/* 80293FC8 00290F28  48 07 89 B5 */	bl DisableAllLights__9CGraphicsFv
/* 80293FCC 00290F2C  38 60 00 00 */	li r3, 0
/* 80293FD0 00290F30  38 80 00 0F */	li r4, 0xf
/* 80293FD4 00290F34  38 A0 00 08 */	li r5, 8
/* 80293FD8 00290F38  38 C0 00 0E */	li r6, 0xe
/* 80293FDC 00290F3C  38 E0 00 0F */	li r7, 0xf
/* 80293FE0 00290F40  48 07 4C 0D */	bl SetTevColorIn__3CGXF13_GXTevStageID14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg
/* 80293FE4 00290F44  38 60 00 00 */	li r3, 0
/* 80293FE8 00290F48  38 80 00 07 */	li r4, 7
/* 80293FEC 00290F4C  38 A0 00 07 */	li r5, 7
/* 80293FF0 00290F50  38 C0 00 07 */	li r6, 7
/* 80293FF4 00290F54  38 E0 00 04 */	li r7, 4
/* 80293FF8 00290F58  48 07 4B 9D */	bl SetTevAlphaIn__3CGXF13_GXTevStageID14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg
/* 80293FFC 00290F5C  38 60 00 00 */	li r3, 0
/* 80294000 00290F60  38 80 00 00 */	li r4, 0
/* 80294004 00290F64  38 A0 00 00 */	li r5, 0
/* 80294008 00290F68  38 C0 00 FF */	li r6, 0xff
/* 8029400C 00290F6C  48 07 49 41 */	bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID
/* 80294010 00290F70  38 60 00 00 */	li r3, 0
/* 80294014 00290F74  38 80 00 00 */	li r4, 0
/* 80294018 00290F78  38 A0 00 04 */	li r5, 4
/* 8029401C 00290F7C  38 C0 00 3C */	li r6, 0x3c
/* 80294020 00290F80  38 E0 00 00 */	li r7, 0
/* 80294024 00290F84  39 00 00 7D */	li r8, 0x7d
/* 80294028 00290F88  48 07 46 A5 */	bl SetTexCoordGen__3CGXF13_GXTexCoordID13_GXTexGenType12_GXTexGenSrc9_GXTexMtxUc11_GXPTTexMtx
/* 8029402C 00290F8C  38 60 00 00 */	li r3, 0
/* 80294030 00290F90  48 07 4E 21 */	bl SetNumChans__3CGXFUc
/* 80294034 00290F94  38 60 00 01 */	li r3, 1
/* 80294038 00290F98  48 07 4D DD */	bl SetNumTexGens__3CGXFUc
/* 8029403C 00290F9C  38 60 00 01 */	li r3, 1
/* 80294040 00290FA0  48 07 4C 51 */	bl SetNumTevStages__3CGXFUc
/* 80294044 00290FA4  38 60 00 01 */	li r3, 1
/* 80294048 00290FA8  38 80 00 07 */	li r4, 7
/* 8029404C 00290FAC  38 A0 00 00 */	li r5, 0
/* 80294050 00290FB0  48 07 48 2D */	bl SetZMode__3CGXFb10_GXCompareb
/* 80294054 00290FB4  7F A4 EB 78 */	mr r4, r29
/* 80294058 00290FB8  38 60 00 00 */	li r3, 0
/* 8029405C 00290FBC  48 07 4B E9 */	bl SetTevKColor__3CGXF14_GXTevKColorIDRC8_GXColor
/* 80294060 00290FC0  38 60 00 00 */	li r3, 0
/* 80294064 00290FC4  38 80 00 0C */	li r4, 0xc
/* 80294068 00290FC8  48 07 49 79 */	bl SetTevKColorSel__3CGXF13_GXTevStageID15_GXTevKColorSel
/* 8029406C 00290FCC  38 60 00 00 */	li r3, 0
/* 80294070 00290FD0  48 0E 4A E9 */	bl GXSetCullMode
/* 80294074 00290FD4  38 60 00 98 */	li r3, 0x98
/* 80294078 00290FD8  38 80 00 00 */	li r4, 0
/* 8029407C 00290FDC  38 A0 00 04 */	li r5, 4
/* 80294080 00290FE0  48 07 45 05 */	bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs
/* 80294084 00290FE4  3C 60 43 30 */	lis r3, 0x4330
/* 80294088 00290FE8  6F 60 80 00 */	xoris r0, r27, 0x8000
/* 8029408C 00290FEC  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 80294090 00290FF0  90 01 00 74 */	stw r0, 0x74(r1)
/* 80294094 00290FF4  C0 62 BF 58 */	lfs f3, lbl_805ADC78@sda21(r2)
/* 80294098 00290FF8  6F 80 80 00 */	xoris r0, r28, 0x8000
/* 8029409C 00290FFC  D3 E4 80 00 */	stfs f31, 0xCC008000@l(r4)
/* 802940A0 00291000  C8 22 BF 60 */	lfd f1, lbl_805ADC80@sda21(r2)
/* 802940A4 00291004  90 61 00 70 */	stw r3, 0x70(r1)
/* 802940A8 00291008  C0 42 BF 40 */	lfs f2, lbl_805ADC60@sda21(r2)
/* 802940AC 0029100C  D0 64 80 00 */	stfs f3, 0xCC008000@l(r4)
/* 802940B0 00291010  C8 01 00 70 */	lfd f0, 0x70(r1)
/* 802940B4 00291014  D3 C4 80 00 */	stfs f30, 0xCC008000@l(r4)
/* 802940B8 00291018  EC 00 08 28 */	fsubs f0, f0, f1
/* 802940BC 0029101C  D0 44 80 00 */	stfs f2, 0xCC008000@l(r4)
/* 802940C0 00291020  EC 9F 00 2A */	fadds f4, f31, f0
/* 802940C4 00291024  D0 44 80 00 */	stfs f2, 0xCC008000@l(r4)
/* 802940C8 00291028  90 01 00 7C */	stw r0, 0x7c(r1)
/* 802940CC 0029102C  D0 84 80 00 */	stfs f4, 0xCC008000@l(r4)
/* 802940D0 00291030  D0 64 80 00 */	stfs f3, 0xCC008000@l(r4)
/* 802940D4 00291034  D3 C4 80 00 */	stfs f30, 0xCC008000@l(r4)
/* 802940D8 00291038  90 61 00 78 */	stw r3, 0x78(r1)
/* 802940DC 0029103C  D0 64 80 00 */	stfs f3, 0xCC008000@l(r4)
/* 802940E0 00291040  C8 01 00 78 */	lfd f0, 0x78(r1)
/* 802940E4 00291044  D0 44 80 00 */	stfs f2, 0xCC008000@l(r4)
/* 802940E8 00291048  EC 00 08 28 */	fsubs f0, f0, f1
/* 802940EC 0029104C  D3 E4 80 00 */	stfs f31, 0xCC008000@l(r4)
/* 802940F0 00291050  EC 1E 00 2A */	fadds f0, f30, f0
/* 802940F4 00291054  D0 64 80 00 */	stfs f3, 0xCC008000@l(r4)
/* 802940F8 00291058  D0 04 80 00 */	stfs f0, 0xCC008000@l(r4)
/* 802940FC 0029105C  D0 44 80 00 */	stfs f2, 0xCC008000@l(r4)
/* 80294100 00291060  D0 64 80 00 */	stfs f3, 0xCC008000@l(r4)
/* 80294104 00291064  D0 84 80 00 */	stfs f4, 0xCC008000@l(r4)
/* 80294108 00291068  D0 64 80 00 */	stfs f3, 0xCC008000@l(r4)
/* 8029410C 0029106C  D0 04 80 00 */	stfs f0, 0xCC008000@l(r4)
/* 80294110 00291070  D0 64 80 00 */	stfs f3, 0xCC008000@l(r4)
/* 80294114 00291074  D0 64 80 00 */	stfs f3, 0xCC008000@l(r4)
/* 80294118 00291078  48 07 44 69 */	bl End__3CGXFv
/* 8029411C 0029107C  38 60 00 01 */	li r3, 1
/* 80294120 00291080  48 0E 4A 39 */	bl GXSetCullMode
/* 80294124 00291084  38 61 00 08 */	addi r3, r1, 8
/* 80294128 00291088  48 07 5C D9 */	bl SetProjectionState__9CGraphicsFRCQ29CGraphics16CProjectionState
/* 8029412C 0029108C  E3 E1 00 B8 */	psq_l f31, 184(r1), 0, qr0
/* 80294130 00291090  CB E1 00 B0 */	lfd f31, 0xb0(r1)
/* 80294134 00291094  E3 C1 00 A8 */	psq_l f30, 168(r1), 0, qr0
/* 80294138 00291098  CB C1 00 A0 */	lfd f30, 0xa0(r1)
/* 8029413C 0029109C  BB 21 00 84 */	lmw r25, 0x84(r1)
/* 80294140 002910A0  80 01 00 C4 */	lwz r0, 0xc4(r1)
/* 80294144 002910A4  7C 08 03 A6 */	mtlr r0
/* 80294148 002910A8  38 21 00 C0 */	addi r1, r1, 0xc0
/* 8029414C 002910AC  4E 80 00 20 */	blr

.global Update__12CNESEmulatorFv
Update__12CNESEmulatorFv:
/* 80294150 002910B0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80294154 002910B4  7C 08 02 A6 */	mflr r0
/* 80294158 002910B8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8029415C 002910BC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80294160 002910C0  7C 7F 1B 78 */	mr r31, r3
/* 80294164 002910C4  80 63 00 00 */	lwz r3, 0(r3)
/* 80294168 002910C8  28 03 00 00 */	cmplwi r3, 0
/* 8029416C 002910CC  41 82 00 FC */	beq lbl_80294268
/* 80294170 002910D0  81 83 00 00 */	lwz r12, 0(r3)
/* 80294174 002910D4  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 80294178 002910D8  7D 89 03 A6 */	mtctr r12
/* 8029417C 002910DC  4E 80 04 21 */	bctrl
/* 80294180 002910E0  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 80294184 002910E4  41 82 01 58 */	beq lbl_802942DC
/* 80294188 002910E8  3C 60 80 3D */	lis r3, lbl_803D5BA4@ha
/* 8029418C 002910EC  3C 80 80 3D */	lis r4, kUnknownType__10CCallStack@ha
/* 80294190 002910F0  38 A3 5B A4 */	addi r5, r3, lbl_803D5BA4@l
/* 80294194 002910F4  38 C4 6A A8 */	addi r6, r4, kUnknownType__10CCallStack@l
/* 80294198 002910F8  38 61 00 08 */	addi r3, r1, 8
/* 8029419C 002910FC  38 80 FF FF */	li r4, -1
/* 802941A0 00291100  48 04 22 35 */	bl __ct__10CCallStackFUiPCcPCc
/* 802941A4 00291104  80 BF 00 10 */	lwz r5, 0x10(r31)
/* 802941A8 00291108  7C 67 1B 78 */	mr r7, r3
/* 802941AC 0029110C  38 80 00 02 */	li r4, 2
/* 802941B0 00291110  38 C0 00 00 */	li r6, 0
/* 802941B4 00291114  80 65 00 20 */	lwz r3, 0x20(r5)
/* 802941B8 00291118  38 A0 00 01 */	li r5, 1
/* 802941BC 0029111C  48 08 17 D9 */	bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 802941C0 00291120  90 7F 00 14 */	stw r3, 0x14(r31)
/* 802941C4 00291124  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 802941C8 00291128  80 9F 00 14 */	lwz r4, 0x14(r31)
/* 802941CC 0029112C  48 0E DF C5 */	bl OSLink
/* 802941D0 00291130  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 802941D4 00291134  81 83 00 34 */	lwz r12, 0x34(r3)
/* 802941D8 00291138  7D 89 03 A6 */	mtctr r12
/* 802941DC 0029113C  4E 80 04 21 */	bctrl
/* 802941E0 00291140  80 6D A5 A0 */	lwz r3, lbl_805A9160@sda21(r13)
/* 802941E4 00291144  81 83 00 00 */	lwz r12, 0(r3)
/* 802941E8 00291148  7D 89 03 A6 */	mtctr r12
/* 802941EC 0029114C  4E 80 04 21 */	bctrl
/* 802941F0 00291150  80 8D A5 A0 */	lwz r4, lbl_805A9160@sda21(r13)
/* 802941F4 00291154  38 A0 00 00 */	li r5, 0
/* 802941F8 00291158  80 7F 00 08 */	lwz r3, 8(r31)
/* 802941FC 0029115C  81 84 00 0C */	lwz r12, 0xc(r4)
/* 80294200 00291160  80 9F 00 0C */	lwz r4, 0xc(r31)
/* 80294204 00291164  80 DF 00 18 */	lwz r6, 0x18(r31)
/* 80294208 00291168  80 FF 00 1C */	lwz r7, 0x1c(r31)
/* 8029420C 0029116C  7D 89 03 A6 */	mtctr r12
/* 80294210 00291170  4E 80 04 21 */	bctrl
/* 80294214 00291174  80 7F 00 08 */	lwz r3, 8(r31)
/* 80294218 00291178  38 00 00 00 */	li r0, 0
/* 8029421C 0029117C  90 03 00 20 */	stw r0, 0x20(r3)
/* 80294220 00291180  80 7F 00 08 */	lwz r3, 8(r31)
/* 80294224 00291184  90 03 00 28 */	stw r0, 0x28(r3)
/* 80294228 00291188  80 7F 00 08 */	lwz r3, 8(r31)
/* 8029422C 0029118C  90 03 00 24 */	stw r0, 0x24(r3)
/* 80294230 00291190  80 7F 00 08 */	lwz r3, 8(r31)
/* 80294234 00291194  90 03 00 2C */	stw r0, 0x2c(r3)
/* 80294238 00291198  80 7F 00 00 */	lwz r3, 0(r31)
/* 8029423C 0029119C  28 03 00 00 */	cmplwi r3, 0
/* 80294240 002911A0  41 82 00 18 */	beq lbl_80294258
/* 80294244 002911A4  81 83 00 00 */	lwz r12, 0(r3)
/* 80294248 002911A8  38 80 00 01 */	li r4, 1
/* 8029424C 002911AC  81 8C 00 08 */	lwz r12, 8(r12)
/* 80294250 002911B0  7D 89 03 A6 */	mtctr r12
/* 80294254 002911B4  4E 80 04 21 */	bctrl
lbl_80294258:
/* 80294258 002911B8  38 00 00 00 */	li r0, 0
/* 8029425C 002911BC  90 1F 00 00 */	stw r0, 0(r31)
/* 80294260 002911C0  48 00 00 08 */	b lbl_80294268
/* 80294264 002911C4  48 00 00 78 */	b lbl_802942DC
lbl_80294268:
/* 80294268 002911C8  80 7F 00 0C */	lwz r3, 0xc(r31)
/* 8029426C 002911CC  38 9F 00 21 */	addi r4, r31, 0x21
/* 80294270 002911D0  38 63 08 00 */	addi r3, r3, 0x800
/* 80294274 002911D4  48 00 07 15 */	bl CheckForGameOver__12CNESEmulatorFPCcPc
/* 80294278 002911D8  98 7F 00 20 */	stb r3, 0x20(r31)
/* 8029427C 002911DC  80 7F 00 0C */	lwz r3, 0xc(r31)
/* 80294280 002911E0  38 63 08 00 */	addi r3, r3, 0x800
/* 80294284 002911E4  48 00 0A 45 */	bl CheckForPasswordEntryScreen__12CNESEmulatorFPCc
/* 80294288 002911E8  90 7F 00 34 */	stw r3, 0x34(r31)
/* 8029428C 002911EC  80 1F 00 34 */	lwz r0, 0x34(r31)
/* 80294290 002911F0  2C 00 00 01 */	cmpwi r0, 1
/* 80294294 002911F4  40 82 00 2C */	bne lbl_802942C0
/* 80294298 002911F8  88 1F 00 38 */	lbz r0, 0x38(r31)
/* 8029429C 002911FC  28 00 00 00 */	cmplwi r0, 0
/* 802942A0 00291200  41 82 00 20 */	beq lbl_802942C0
/* 802942A4 00291204  80 7F 00 0C */	lwz r3, 0xc(r31)
/* 802942A8 00291208  38 BF 00 39 */	addi r5, r31, 0x39
/* 802942AC 0029120C  80 9F 00 1C */	lwz r4, 0x1c(r31)
/* 802942B0 00291210  38 63 08 00 */	addi r3, r3, 0x800
/* 802942B4 00291214  48 00 08 39 */	bl SetPasswordIntoEntryScreen__12CNESEmulatorFPCcPcPCc
/* 802942B8 00291218  38 00 00 00 */	li r0, 0
/* 802942BC 0029121C  98 1F 00 38 */	stb r0, 0x38(r31)
lbl_802942C0:
/* 802942C0 00291220  80 8D A5 A0 */	lwz r4, lbl_805A9160@sda21(r13)
/* 802942C4 00291224  38 A0 00 00 */	li r5, 0
/* 802942C8 00291228  80 7F 00 08 */	lwz r3, 8(r31)
/* 802942CC 0029122C  81 84 00 10 */	lwz r12, 0x10(r4)
/* 802942D0 00291230  80 9F 00 0C */	lwz r4, 0xc(r31)
/* 802942D4 00291234  7D 89 03 A6 */	mtctr r12
/* 802942D8 00291238  4E 80 04 21 */	bctrl
lbl_802942DC:
/* 802942DC 0029123C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802942E0 00291240  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802942E4 00291244  7C 08 03 A6 */	mtlr r0
/* 802942E8 00291248  38 21 00 20 */	addi r1, r1, 0x20
/* 802942EC 0029124C  4E 80 00 20 */	blr

.global ProcessUserInput__12CNESEmulatorFRC11CFinalInputi
ProcessUserInput__12CNESEmulatorFRC11CFinalInputi:
/* 802942F0 00291250  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802942F4 00291254  7C 08 02 A6 */	mflr r0
/* 802942F8 00291258  90 01 00 24 */	stw r0, 0x24(r1)
/* 802942FC 0029125C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80294300 00291260  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80294304 00291264  7C BE 2B 78 */	mr r30, r5
/* 80294308 00291268  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8029430C 0029126C  7C 9D 23 78 */	mr r29, r4
/* 80294310 00291270  93 81 00 10 */	stw r28, 0x10(r1)
/* 80294314 00291274  7C 7C 1B 78 */	mr r28, r3
/* 80294318 00291278  80 03 00 00 */	lwz r0, 0(r3)
/* 8029431C 0029127C  28 00 00 00 */	cmplwi r0, 0
/* 80294320 00291280  40 82 01 E4 */	bne lbl_80294504
/* 80294324 00291284  88 1D 00 2C */	lbz r0, 0x2c(r29)
/* 80294328 00291288  3B E0 00 00 */	li r31, 0
/* 8029432C 0029128C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 80294330 00291290  40 82 00 24 */	bne lbl_80294354
/* 80294334 00291294  C0 5D 00 0C */	lfs f2, 0xc(r29)
/* 80294338 00291298  C0 22 BF 40 */	lfs f1, lbl_805ADC60@sda21(r2)
/* 8029433C 0029129C  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 80294340 002912A0  40 81 00 08 */	ble lbl_80294348
/* 80294344 002912A4  FC 20 10 90 */	fmr f1, f2
lbl_80294348:
/* 80294348 002912A8  C0 02 BF 88 */	lfs f0, lbl_805ADCA8@sda21(r2)
/* 8029434C 002912AC  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80294350 002912B0  40 81 00 0C */	ble lbl_8029435C
lbl_80294354:
/* 80294354 002912B4  83 E2 BF 68 */	lwz r31, lbl_805ADC88@sda21(r2)
/* 80294358 002912B8  48 00 00 30 */	b lbl_80294388
lbl_8029435C:
/* 8029435C 002912BC  88 1D 00 2D */	lbz r0, 0x2d(r29)
/* 80294360 002912C0  54 00 D7 FF */	rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 80294364 002912C4  40 82 00 20 */	bne lbl_80294384
/* 80294368 002912C8  C0 22 BF 40 */	lfs f1, lbl_805ADC60@sda21(r2)
/* 8029436C 002912CC  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 80294370 002912D0  40 80 00 08 */	bge lbl_80294378
/* 80294374 002912D4  FC 20 10 50 */	fneg f1, f2
lbl_80294378:
/* 80294378 002912D8  C0 02 BF 88 */	lfs f0, lbl_805ADCA8@sda21(r2)
/* 8029437C 002912DC  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80294380 002912E0  40 81 00 08 */	ble lbl_80294388
lbl_80294384:
/* 80294384 002912E4  83 E2 BF 6C */	lwz r31, lbl_805ADC8C@sda21(r2)
lbl_80294388:
/* 80294388 002912E8  88 1D 00 2D */	lbz r0, 0x2d(r29)
/* 8029438C 002912EC  54 00 DF FF */	rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 80294390 002912F0  40 82 00 24 */	bne lbl_802943B4
/* 80294394 002912F4  C0 5D 00 08 */	lfs f2, 8(r29)
/* 80294398 002912F8  C0 22 BF 40 */	lfs f1, lbl_805ADC60@sda21(r2)
/* 8029439C 002912FC  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 802943A0 00291300  40 80 00 08 */	bge lbl_802943A8
/* 802943A4 00291304  FC 20 10 50 */	fneg f1, f2
lbl_802943A8:
/* 802943A8 00291308  C0 02 BF 88 */	lfs f0, lbl_805ADCA8@sda21(r2)
/* 802943AC 0029130C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 802943B0 00291310  40 81 00 10 */	ble lbl_802943C0
lbl_802943B4:
/* 802943B4 00291314  80 02 BF 70 */	lwz r0, lbl_805ADC90@sda21(r2)
/* 802943B8 00291318  7F FF 03 78 */	or r31, r31, r0
/* 802943BC 0029131C  48 00 00 38 */	b lbl_802943F4
lbl_802943C0:
/* 802943C0 00291320  88 1D 00 2D */	lbz r0, 0x2d(r29)
/* 802943C4 00291324  54 00 CF FF */	rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802943C8 00291328  40 82 00 24 */	bne lbl_802943EC
/* 802943CC 0029132C  C0 02 BF 40 */	lfs f0, lbl_805ADC60@sda21(r2)
/* 802943D0 00291330  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 802943D4 00291334  40 81 00 08 */	ble lbl_802943DC
/* 802943D8 00291338  48 00 00 08 */	b lbl_802943E0
lbl_802943DC:
/* 802943DC 0029133C  FC 40 00 90 */	fmr f2, f0
lbl_802943E0:
/* 802943E0 00291340  C0 02 BF 88 */	lfs f0, lbl_805ADCA8@sda21(r2)
/* 802943E4 00291344  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 802943E8 00291348  40 81 00 0C */	ble lbl_802943F4
lbl_802943EC:
/* 802943EC 0029134C  80 02 BF 74 */	lwz r0, lbl_805ADC94@sda21(r2)
/* 802943F0 00291350  7F FF 03 78 */	or r31, r31, r0
lbl_802943F4:
/* 802943F4 00291354  7F 83 E3 78 */	mr r3, r28
/* 802943F8 00291358  4B FF F7 55 */	bl GetPasswordEntryState__12CNESEmulatorFv
/* 802943FC 0029135C  2C 03 00 00 */	cmpwi r3, 0
/* 80294400 00291360  40 82 00 10 */	bne lbl_80294410
/* 80294404 00291364  80 1D 00 04 */	lwz r0, 4(r29)
/* 80294408 00291368  2C 00 00 00 */	cmpwi r0, 0
/* 8029440C 0029136C  41 82 00 30 */	beq lbl_8029443C
lbl_80294410:
/* 80294410 00291370  88 1D 00 2C */	lbz r0, 0x2c(r29)
/* 80294414 00291374  54 00 CF FF */	rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80294418 00291378  41 82 00 0C */	beq lbl_80294424
/* 8029441C 0029137C  80 02 BF 78 */	lwz r0, lbl_805ADC98@sda21(r2)
/* 80294420 00291380  7F FF 03 78 */	or r31, r31, r0
lbl_80294424:
/* 80294424 00291384  88 1D 00 2C */	lbz r0, 0x2c(r29)
/* 80294428 00291388  54 00 D7 FF */	rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8029442C 0029138C  41 82 00 48 */	beq lbl_80294474
/* 80294430 00291390  80 02 BF 7C */	lwz r0, lbl_805ADC9C@sda21(r2)
/* 80294434 00291394  7F FF 03 78 */	or r31, r31, r0
/* 80294438 00291398  48 00 00 3C */	b lbl_80294474
lbl_8029443C:
/* 8029443C 0029139C  88 7D 00 2C */	lbz r3, 0x2c(r29)
/* 80294440 002913A0  54 60 D7 FF */	rlwinm. r0, r3, 0x1a, 0x1f, 0x1f
/* 80294444 002913A4  40 82 00 0C */	bne lbl_80294450
/* 80294448 002913A8  54 60 DF FF */	rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 8029444C 002913AC  41 82 00 0C */	beq lbl_80294458
lbl_80294450:
/* 80294450 002913B0  80 02 BF 78 */	lwz r0, lbl_805ADC98@sda21(r2)
/* 80294454 002913B4  7F FF 03 78 */	or r31, r31, r0
lbl_80294458:
/* 80294458 002913B8  88 7D 00 2C */	lbz r3, 0x2c(r29)
/* 8029445C 002913BC  54 60 CF FF */	rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 80294460 002913C0  40 82 00 0C */	bne lbl_8029446C
/* 80294464 002913C4  54 60 E7 FF */	rlwinm. r0, r3, 0x1c, 0x1f, 0x1f
/* 80294468 002913C8  41 82 00 0C */	beq lbl_80294474
lbl_8029446C:
/* 8029446C 002913CC  80 02 BF 7C */	lwz r0, lbl_805ADC9C@sda21(r2)
/* 80294470 002913D0  7F FF 03 78 */	or r31, r31, r0
lbl_80294474:
/* 80294474 002913D4  88 1D 00 2C */	lbz r0, 0x2c(r29)
/* 80294478 002913D8  54 00 EF FF */	rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 8029447C 002913DC  41 82 00 0C */	beq lbl_80294488
/* 80294480 002913E0  80 02 BF 80 */	lwz r0, lbl_805ADCA0@sda21(r2)
/* 80294484 002913E4  7F FF 03 78 */	or r31, r31, r0
lbl_80294488:
/* 80294488 002913E8  88 1D 00 2D */	lbz r0, 0x2d(r29)
/* 8029448C 002913EC  54 00 E7 FF */	rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 80294490 002913F0  41 82 00 0C */	beq lbl_8029449C
/* 80294494 002913F4  80 02 BF 84 */	lwz r0, lbl_805ADCA4@sda21(r2)
/* 80294498 002913F8  7F FF 03 78 */	or r31, r31, r0
lbl_8029449C:
/* 8029449C 002913FC  2C 1E 00 04 */	cmpwi r30, 4
/* 802944A0 00291400  40 82 00 0C */	bne lbl_802944AC
/* 802944A4 00291404  80 1D 00 04 */	lwz r0, 4(r29)
/* 802944A8 00291408  48 00 00 08 */	b lbl_802944B0
lbl_802944AC:
/* 802944AC 0029140C  7F C0 F3 78 */	mr r0, r30
lbl_802944B0:
/* 802944B0 00291410  2C 00 00 02 */	cmpwi r0, 2
/* 802944B4 00291414  41 82 00 3C */	beq lbl_802944F0
/* 802944B8 00291418  40 80 00 14 */	bge lbl_802944CC
/* 802944BC 0029141C  2C 00 00 00 */	cmpwi r0, 0
/* 802944C0 00291420  41 82 00 18 */	beq lbl_802944D8
/* 802944C4 00291424  40 80 00 20 */	bge lbl_802944E4
/* 802944C8 00291428  48 00 00 3C */	b lbl_80294504
lbl_802944CC:
/* 802944CC 0029142C  2C 00 00 04 */	cmpwi r0, 4
/* 802944D0 00291430  40 80 00 34 */	bge lbl_80294504
/* 802944D4 00291434  48 00 00 28 */	b lbl_802944FC
lbl_802944D8:
/* 802944D8 00291438  80 7C 00 08 */	lwz r3, 8(r28)
/* 802944DC 0029143C  93 E3 00 20 */	stw r31, 0x20(r3)
/* 802944E0 00291440  48 00 00 24 */	b lbl_80294504
lbl_802944E4:
/* 802944E4 00291444  80 7C 00 08 */	lwz r3, 8(r28)
/* 802944E8 00291448  93 E3 00 28 */	stw r31, 0x28(r3)
/* 802944EC 0029144C  48 00 00 18 */	b lbl_80294504
lbl_802944F0:
/* 802944F0 00291450  80 7C 00 08 */	lwz r3, 8(r28)
/* 802944F4 00291454  93 E3 00 24 */	stw r31, 0x24(r3)
/* 802944F8 00291458  48 00 00 0C */	b lbl_80294504
lbl_802944FC:
/* 802944FC 0029145C  80 7C 00 08 */	lwz r3, 8(r28)
/* 80294500 00291460  93 E3 00 2C */	stw r31, 0x2c(r3)
lbl_80294504:
/* 80294504 00291464  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80294508 00291468  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8029450C 0029146C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80294510 00291470  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80294514 00291474  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80294518 00291478  7C 08 03 A6 */	mtlr r0
/* 8029451C 0029147C  38 21 00 20 */	addi r1, r1, 0x20
/* 80294520 00291480  4E 80 00 20 */	blr

.global __dt__12CNESEmulatorFv
__dt__12CNESEmulatorFv:
/* 80294524 00291484  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80294528 00291488  7C 08 02 A6 */	mflr r0
/* 8029452C 0029148C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80294530 00291490  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80294534 00291494  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80294538 00291498  7C 9E 23 78 */	mr r30, r4
/* 8029453C 0029149C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80294540 002914A0  7C 7D 1B 79 */	or. r29, r3, r3
/* 80294544 002914A4  41 82 01 04 */	beq lbl_80294648
/* 80294548 002914A8  80 1D 00 00 */	lwz r0, 0(r29)
/* 8029454C 002914AC  28 00 00 00 */	cmplwi r0, 0
/* 80294550 002914B0  40 82 00 58 */	bne lbl_802945A8
/* 80294554 002914B4  80 6D A5 A0 */	lwz r3, lbl_805A9160@sda21(r13)
/* 80294558 002914B8  81 83 00 08 */	lwz r12, 8(r3)
/* 8029455C 002914BC  7D 89 03 A6 */	mtctr r12
/* 80294560 002914C0  4E 80 04 21 */	bctrl
/* 80294564 002914C4  7C 60 1B 78 */	mr r0, r3
/* 80294568 002914C8  38 80 00 00 */	li r4, 0
/* 8029456C 002914CC  38 A0 00 40 */	li r5, 0x40
/* 80294570 002914D0  38 C0 00 40 */	li r6, 0x40
/* 80294574 002914D4  7C 1F 03 78 */	mr r31, r0
/* 80294578 002914D8  38 E0 00 00 */	li r7, 0
/* 8029457C 002914DC  48 10 A1 A9 */	bl sndStreamMixParameter
/* 80294580 002914E0  7F E3 FB 78 */	mr r3, r31
/* 80294584 002914E4  48 10 BF 9D */	bl sndStreamDeactivate
/* 80294588 002914E8  7F E3 FB 78 */	mr r3, r31
/* 8029458C 002914EC  48 10 B2 69 */	bl sndStreamFree
/* 80294590 002914F0  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 80294594 002914F4  81 83 00 38 */	lwz r12, 0x38(r3)
/* 80294598 002914F8  7D 89 03 A6 */	mtctr r12
/* 8029459C 002914FC  4E 80 04 21 */	bctrl
/* 802945A0 00291500  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 802945A4 00291504  48 0E E0 81 */	bl OSUnlink
lbl_802945A8:
/* 802945A8 00291508  80 7D 00 08 */	lwz r3, 8(r29)
/* 802945AC 0029150C  80 63 00 00 */	lwz r3, 0(r3)
/* 802945B0 00291510  48 08 13 81 */	bl Free__7CMemoryFPCv
/* 802945B4 00291514  80 7D 00 08 */	lwz r3, 8(r29)
/* 802945B8 00291518  80 63 00 0C */	lwz r3, 0xc(r3)
/* 802945BC 0029151C  48 08 13 75 */	bl Free__7CMemoryFPCv
/* 802945C0 00291520  80 7D 00 08 */	lwz r3, 8(r29)
/* 802945C4 00291524  48 08 13 6D */	bl Free__7CMemoryFPCv
/* 802945C8 00291528  80 7D 00 0C */	lwz r3, 0xc(r29)
/* 802945CC 0029152C  48 08 13 65 */	bl Free__7CMemoryFPCv
/* 802945D0 00291530  80 7D 00 18 */	lwz r3, 0x18(r29)
/* 802945D4 00291534  48 08 13 5D */	bl Free__7CMemoryFPCv
/* 802945D8 00291538  80 7D 00 1C */	lwz r3, 0x1c(r29)
/* 802945DC 0029153C  48 08 13 55 */	bl Free__7CMemoryFPCv
/* 802945E0 00291540  80 6D A5 A0 */	lwz r3, lbl_805A9160@sda21(r13)
/* 802945E4 00291544  48 08 13 4D */	bl Free__7CMemoryFPCv
/* 802945E8 00291548  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 802945EC 0029154C  48 08 13 45 */	bl Free__7CMemoryFPCv
/* 802945F0 00291550  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 802945F4 00291554  28 03 00 00 */	cmplwi r3, 0
/* 802945F8 00291558  41 82 00 08 */	beq lbl_80294600
/* 802945FC 0029155C  48 08 13 35 */	bl Free__7CMemoryFPCv
lbl_80294600:
/* 80294600 00291560  34 1D 00 04 */	addic. r0, r29, 4
/* 80294604 00291564  41 82 00 0C */	beq lbl_80294610
/* 80294608 00291568  80 7D 00 04 */	lwz r3, 4(r29)
/* 8029460C 0029156C  48 08 13 25 */	bl Free__7CMemoryFPCv
lbl_80294610:
/* 80294610 00291570  28 1D 00 00 */	cmplwi r29, 0
/* 80294614 00291574  41 82 00 24 */	beq lbl_80294638
/* 80294618 00291578  80 7D 00 00 */	lwz r3, 0(r29)
/* 8029461C 0029157C  28 03 00 00 */	cmplwi r3, 0
/* 80294620 00291580  41 82 00 18 */	beq lbl_80294638
/* 80294624 00291584  81 83 00 00 */	lwz r12, 0(r3)
/* 80294628 00291588  38 80 00 01 */	li r4, 1
/* 8029462C 0029158C  81 8C 00 08 */	lwz r12, 8(r12)
/* 80294630 00291590  7D 89 03 A6 */	mtctr r12
/* 80294634 00291594  4E 80 04 21 */	bctrl
lbl_80294638:
/* 80294638 00291598  7F C0 07 35 */	extsh. r0, r30
/* 8029463C 0029159C  40 81 00 0C */	ble lbl_80294648
/* 80294640 002915A0  7F A3 EB 78 */	mr r3, r29
/* 80294644 002915A4  48 08 12 ED */	bl Free__7CMemoryFPCv
lbl_80294648:
/* 80294648 002915A8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8029464C 002915AC  7F A3 EB 78 */	mr r3, r29
/* 80294650 002915B0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80294654 002915B4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80294658 002915B8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8029465C 002915BC  7C 08 03 A6 */	mtlr r0
/* 80294660 002915C0  38 21 00 20 */	addi r1, r1, 0x20
/* 80294664 002915C4  4E 80 00 20 */	blr

.global __ct__12CNESEmulatorFv
__ct__12CNESEmulatorFv:
/* 80294668 002915C8  94 21 FF 70 */	stwu r1, -0x90(r1)
/* 8029466C 002915CC  7C 08 02 A6 */	mflr r0
/* 80294670 002915D0  3C 80 80 3D */	lis r4, lbl_803D5BA4@ha
/* 80294674 002915D4  90 01 00 94 */	stw r0, 0x94(r1)
/* 80294678 002915D8  38 A4 5B A4 */	addi r5, r4, lbl_803D5BA4@l
/* 8029467C 002915DC  38 00 00 00 */	li r0, 0
/* 80294680 002915E0  38 80 FF FF */	li r4, -1
/* 80294684 002915E4  93 E1 00 8C */	stw r31, 0x8c(r1)
/* 80294688 002915E8  7C 7F 1B 78 */	mr r31, r3
/* 8029468C 002915EC  3C 60 80 3D */	lis r3, kUnknownType__10CCallStack@ha
/* 80294690 002915F0  93 C1 00 88 */	stw r30, 0x88(r1)
/* 80294694 002915F4  38 C3 6A A8 */	addi r6, r3, kUnknownType__10CCallStack@l
/* 80294698 002915F8  38 61 00 48 */	addi r3, r1, 0x48
/* 8029469C 002915FC  90 1F 00 00 */	stw r0, 0(r31)
/* 802946A0 00291600  48 04 1D 35 */	bl __ct__10CCallStackFUiPCcPCc
/* 802946A4 00291604  3C A0 00 02 */	lis r5, 0x0001C800@ha
/* 802946A8 00291608  7C 67 1B 78 */	mr r7, r3
/* 802946AC 0029160C  38 65 C8 00 */	addi r3, r5, 0x0001C800@l
/* 802946B0 00291610  38 80 00 02 */	li r4, 2
/* 802946B4 00291614  38 A0 00 01 */	li r5, 1
/* 802946B8 00291618  38 C0 00 00 */	li r6, 0
/* 802946BC 0029161C  48 08 12 D9 */	bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 802946C0 00291620  90 7F 00 04 */	stw r3, 4(r31)
/* 802946C4 00291624  38 00 00 00 */	li r0, 0
/* 802946C8 00291628  3C 80 80 3D */	lis r4, lbl_803D5BA4@ha
/* 802946CC 0029162C  3C 60 80 3D */	lis r3, kUnknownType__10CCallStack@ha
/* 802946D0 00291630  90 1F 00 08 */	stw r0, 8(r31)
/* 802946D4 00291634  38 A4 5B A4 */	addi r5, r4, lbl_803D5BA4@l
/* 802946D8 00291638  38 C3 6A A8 */	addi r6, r3, kUnknownType__10CCallStack@l
/* 802946DC 0029163C  38 61 00 40 */	addi r3, r1, 0x40
/* 802946E0 00291640  90 1F 00 0C */	stw r0, 0xc(r31)
/* 802946E4 00291644  38 80 FF FF */	li r4, -1
/* 802946E8 00291648  90 1F 00 10 */	stw r0, 0x10(r31)
/* 802946EC 0029164C  90 1F 00 14 */	stw r0, 0x14(r31)
/* 802946F0 00291650  90 1F 00 18 */	stw r0, 0x18(r31)
/* 802946F4 00291654  90 1F 00 1C */	stw r0, 0x1c(r31)
/* 802946F8 00291658  98 1F 00 20 */	stb r0, 0x20(r31)
/* 802946FC 0029165C  90 1F 00 34 */	stw r0, 0x34(r31)
/* 80294700 00291660  98 1F 00 38 */	stb r0, 0x38(r31)
/* 80294704 00291664  48 04 1C D1 */	bl __ct__10CCallStackFUiPCcPCc
/* 80294708 00291668  7C 67 1B 78 */	mr r7, r3
/* 8029470C 0029166C  38 60 00 20 */	li r3, 0x20
/* 80294710 00291670  38 80 00 02 */	li r4, 2
/* 80294714 00291674  38 A0 00 01 */	li r5, 1
/* 80294718 00291678  38 C0 00 00 */	li r6, 0
/* 8029471C 0029167C  48 08 12 79 */	bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 80294720 00291680  3C A0 80 3D */	lis r5, lbl_803D5BA4@ha
/* 80294724 00291684  3C 80 80 3D */	lis r4, kUnknownType__10CCallStack@ha
/* 80294728 00291688  90 6D A5 A0 */	stw r3, lbl_805A9160@sda21(r13)
/* 8029472C 0029168C  38 C4 6A A8 */	addi r6, r4, kUnknownType__10CCallStack@l
/* 80294730 00291690  38 A5 5B A4 */	addi r5, r5, lbl_803D5BA4@l
/* 80294734 00291694  38 61 00 38 */	addi r3, r1, 0x38
/* 80294738 00291698  38 80 FF FF */	li r4, -1
/* 8029473C 0029169C  48 04 1C 99 */	bl __ct__10CCallStackFUiPCcPCc
/* 80294740 002916A0  3C A0 00 01 */	lis r5, 0x00008E70@ha
/* 80294744 002916A4  7C 67 1B 78 */	mr r7, r3
/* 80294748 002916A8  38 65 8E 70 */	addi r3, r5, 0x00008E70@l
/* 8029474C 002916AC  38 80 00 02 */	li r4, 2
/* 80294750 002916B0  38 A0 00 01 */	li r5, 1
/* 80294754 002916B4  38 C0 00 00 */	li r6, 0
/* 80294758 002916B8  48 08 12 3D */	bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 8029475C 002916BC  90 7F 00 08 */	stw r3, 8(r31)
/* 80294760 002916C0  3C 80 80 3D */	lis r4, lbl_803D5BA4@ha
/* 80294764 002916C4  3C 60 80 3D */	lis r3, kUnknownType__10CCallStack@ha
/* 80294768 002916C8  3C 00 00 02 */	lis r0, 2
/* 8029476C 002916CC  80 FF 00 08 */	lwz r7, 8(r31)
/* 80294770 002916D0  38 A4 5B A4 */	addi r5, r4, lbl_803D5BA4@l
/* 80294774 002916D4  38 C3 6A A8 */	addi r6, r3, kUnknownType__10CCallStack@l
/* 80294778 002916D8  38 61 00 30 */	addi r3, r1, 0x30
/* 8029477C 002916DC  90 07 00 48 */	stw r0, 0x48(r7)
/* 80294780 002916E0  38 80 FF FF */	li r4, -1
/* 80294784 002916E4  48 04 1C 51 */	bl __ct__10CCallStackFUiPCcPCc
/* 80294788 002916E8  80 BF 00 08 */	lwz r5, 8(r31)
/* 8029478C 002916EC  7C 67 1B 78 */	mr r7, r3
/* 80294790 002916F0  38 80 00 02 */	li r4, 2
/* 80294794 002916F4  38 C0 00 00 */	li r6, 0
/* 80294798 002916F8  80 65 00 48 */	lwz r3, 0x48(r5)
/* 8029479C 002916FC  38 A0 00 01 */	li r5, 1
/* 802947A0 00291700  48 08 11 F5 */	bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 802947A4 00291704  80 DF 00 08 */	lwz r6, 8(r31)
/* 802947A8 00291708  3C E0 00 01 */	lis r7, 0x00008000@ha
/* 802947AC 0029170C  3C A0 80 3D */	lis r5, lbl_803D5BA4@ha
/* 802947B0 00291710  3C 80 80 3D */	lis r4, kUnknownType__10CCallStack@ha
/* 802947B4 00291714  90 66 00 00 */	stw r3, 0(r6)
/* 802947B8 00291718  38 C4 6A A8 */	addi r6, r4, kUnknownType__10CCallStack@l
/* 802947BC 0029171C  38 07 80 00 */	addi r0, r7, 0x00008000@l
/* 802947C0 00291720  38 A5 5B A4 */	addi r5, r5, lbl_803D5BA4@l
/* 802947C4 00291724  80 9F 00 08 */	lwz r4, 8(r31)
/* 802947C8 00291728  38 61 00 28 */	addi r3, r1, 0x28
/* 802947CC 0029172C  90 04 00 08 */	stw r0, 8(r4)
/* 802947D0 00291730  38 80 FF FF */	li r4, -1
/* 802947D4 00291734  48 04 1C 01 */	bl __ct__10CCallStackFUiPCcPCc
/* 802947D8 00291738  80 BF 00 08 */	lwz r5, 8(r31)
/* 802947DC 0029173C  7C 67 1B 78 */	mr r7, r3
/* 802947E0 00291740  38 80 00 02 */	li r4, 2
/* 802947E4 00291744  38 C0 00 00 */	li r6, 0
/* 802947E8 00291748  80 65 00 08 */	lwz r3, 8(r5)
/* 802947EC 0029174C  38 A0 00 01 */	li r5, 1
/* 802947F0 00291750  48 08 11 A5 */	bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 802947F4 00291754  80 FF 00 08 */	lwz r7, 8(r31)
/* 802947F8 00291758  3C A0 80 3D */	lis r5, lbl_803D5BA4@ha
/* 802947FC 0029175C  3C C0 80 3D */	lis r6, kUnknownType__10CCallStack@ha
/* 80294800 00291760  38 80 FF FF */	li r4, -1
/* 80294804 00291764  90 67 00 0C */	stw r3, 0xc(r7)
/* 80294808 00291768  38 A5 5B A4 */	addi r5, r5, lbl_803D5BA4@l
/* 8029480C 0029176C  38 C6 6A A8 */	addi r6, r6, kUnknownType__10CCallStack@l
/* 80294810 00291770  38 61 00 20 */	addi r3, r1, 0x20
/* 80294814 00291774  80 1F 00 04 */	lwz r0, 4(r31)
/* 80294818 00291778  80 FF 00 08 */	lwz r7, 8(r31)
/* 8029481C 0029177C  90 07 00 10 */	stw r0, 0x10(r7)
/* 80294820 00291780  48 04 1B B5 */	bl __ct__10CCallStackFUiPCcPCc
/* 80294824 00291784  7C 67 1B 78 */	mr r7, r3
/* 80294828 00291788  38 60 15 0C */	li r3, 0x150c
/* 8029482C 0029178C  38 80 00 02 */	li r4, 2
/* 80294830 00291790  38 A0 00 01 */	li r5, 1
/* 80294834 00291794  38 C0 00 00 */	li r6, 0
/* 80294838 00291798  48 08 11 5D */	bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 8029483C 0029179C  3C A0 80 3D */	lis r5, lbl_803D5BA4@ha
/* 80294840 002917A0  3C 80 80 3D */	lis r4, kUnknownType__10CCallStack@ha
/* 80294844 002917A4  90 7F 00 0C */	stw r3, 0xc(r31)
/* 80294848 002917A8  38 C4 6A A8 */	addi r6, r4, kUnknownType__10CCallStack@l
/* 8029484C 002917AC  38 A5 5B A4 */	addi r5, r5, lbl_803D5BA4@l
/* 80294850 002917B0  38 61 00 18 */	addi r3, r1, 0x18
/* 80294854 002917B4  38 80 FF FF */	li r4, -1
/* 80294858 002917B8  48 04 1B 7D */	bl __ct__10CCallStackFUiPCcPCc
/* 8029485C 002917BC  7C 67 1B 78 */	mr r7, r3
/* 80294860 002917C0  38 60 20 00 */	li r3, 0x2000
/* 80294864 002917C4  38 80 00 02 */	li r4, 2
/* 80294868 002917C8  38 A0 00 01 */	li r5, 1
/* 8029486C 002917CC  38 C0 00 00 */	li r6, 0
/* 80294870 002917D0  48 08 11 25 */	bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 80294874 002917D4  3C A0 80 3D */	lis r5, lbl_803D5BA4@ha
/* 80294878 002917D8  3C 80 80 3D */	lis r4, kUnknownType__10CCallStack@ha
/* 8029487C 002917DC  90 7F 00 18 */	stw r3, 0x18(r31)
/* 80294880 002917E0  38 C4 6A A8 */	addi r6, r4, kUnknownType__10CCallStack@l
/* 80294884 002917E4  38 A5 5B A4 */	addi r5, r5, lbl_803D5BA4@l
/* 80294888 002917E8  38 61 00 10 */	addi r3, r1, 0x10
/* 8029488C 002917EC  38 80 FF FF */	li r4, -1
/* 80294890 002917F0  48 04 1B 45 */	bl __ct__10CCallStackFUiPCcPCc
/* 80294894 002917F4  3C A0 00 01 */	lis r5, 0x00008000@ha
/* 80294898 002917F8  7C 67 1B 78 */	mr r7, r3
/* 8029489C 002917FC  38 65 80 00 */	addi r3, r5, 0x00008000@l
/* 802948A0 00291800  38 80 00 02 */	li r4, 2
/* 802948A4 00291804  38 A0 00 01 */	li r5, 1
/* 802948A8 00291808  38 C0 00 00 */	li r6, 0
/* 802948AC 0029180C  48 08 10 E9 */	bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 802948B0 00291810  90 7F 00 1C */	stw r3, 0x1c(r31)
/* 802948B4 00291814  3C 60 80 3D */	lis r3, lbl_803D5B80@ha
/* 802948B8 00291818  38 E3 5B 80 */	addi r7, r3, lbl_803D5B80@l
/* 802948BC 0029181C  38 61 00 5C */	addi r3, r1, 0x5c
/* 802948C0 00291820  80 C7 00 00 */	lwz r6, 0(r7)
/* 802948C4 00291824  38 81 00 50 */	addi r4, r1, 0x50
/* 802948C8 00291828  80 A7 00 04 */	lwz r5, 4(r7)
/* 802948CC 0029182C  80 07 00 08 */	lwz r0, 8(r7)
/* 802948D0 00291830  90 C1 00 50 */	stw r6, 0x50(r1)
/* 802948D4 00291834  90 A1 00 54 */	stw r5, 0x54(r1)
/* 802948D8 00291838  90 01 00 58 */	stw r0, 0x58(r1)
/* 802948DC 0029183C  48 0B B3 F5 */	bl __ct__8CDvdFileFPCc
/* 802948E0 00291840  80 C1 00 70 */	lwz r6, 0x70(r1)
/* 802948E4 00291844  3C A0 80 3D */	lis r5, lbl_803D5BA4@ha
/* 802948E8 00291848  3C 80 80 3D */	lis r4, kUnknownType__10CCallStack@ha
/* 802948EC 0029184C  38 61 00 08 */	addi r3, r1, 8
/* 802948F0 00291850  38 06 00 1F */	addi r0, r6, 0x1f
/* 802948F4 00291854  38 A5 5B A4 */	addi r5, r5, lbl_803D5BA4@l
/* 802948F8 00291858  38 C4 6A A8 */	addi r6, r4, kUnknownType__10CCallStack@l
/* 802948FC 0029185C  38 80 FF FF */	li r4, -1
/* 80294900 00291860  54 1E 00 34 */	rlwinm r30, r0, 0, 0, 0x1a
/* 80294904 00291864  48 04 1A D1 */	bl __ct__10CCallStackFUiPCcPCc
/* 80294908 00291868  7C 67 1B 78 */	mr r7, r3
/* 8029490C 0029186C  7F C3 F3 78 */	mr r3, r30
/* 80294910 00291870  38 80 00 02 */	li r4, 2
/* 80294914 00291874  38 A0 00 01 */	li r5, 1
/* 80294918 00291878  38 C0 00 00 */	li r6, 0
/* 8029491C 0029187C  48 08 10 79 */	bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack
/* 80294920 00291880  90 7F 00 10 */	stw r3, 0x10(r31)
/* 80294924 00291884  7F C5 F3 78 */	mr r5, r30
/* 80294928 00291888  38 61 00 5C */	addi r3, r1, 0x5c
/* 8029492C 0029188C  80 9F 00 10 */	lwz r4, 0x10(r31)
/* 80294930 00291890  48 0B B2 B9 */	bl SyncRead__8CDvdFileFPvUi
/* 80294934 00291894  80 1F 00 00 */	lwz r0, 0(r31)
/* 80294938 00291898  7C 7E 1B 78 */	mr r30, r3
/* 8029493C 0029189C  28 00 00 00 */	cmplwi r0, 0
/* 80294940 002918A0  41 82 00 1C */	beq lbl_8029495C
/* 80294944 002918A4  7C 03 03 78 */	mr r3, r0
/* 80294948 002918A8  38 80 00 01 */	li r4, 1
/* 8029494C 002918AC  81 83 00 00 */	lwz r12, 0(r3)
/* 80294950 002918B0  81 8C 00 08 */	lwz r12, 8(r12)
/* 80294954 002918B4  7D 89 03 A6 */	mtctr r12
/* 80294958 002918B8  4E 80 04 21 */	bctrl
lbl_8029495C:
/* 8029495C 002918BC  93 DF 00 00 */	stw r30, 0(r31)
/* 80294960 002918C0  38 61 00 5C */	addi r3, r1, 0x5c
/* 80294964 002918C4  38 80 FF FF */	li r4, -1
/* 80294968 002918C8  48 0B B2 A9 */	bl __dt__8CDvdFileFv
/* 8029496C 002918CC  80 01 00 94 */	lwz r0, 0x94(r1)
/* 80294970 002918D0  7F E3 FB 78 */	mr r3, r31
/* 80294974 002918D4  83 E1 00 8C */	lwz r31, 0x8c(r1)
/* 80294978 002918D8  83 C1 00 88 */	lwz r30, 0x88(r1)
/* 8029497C 002918DC  7C 08 03 A6 */	mtlr r0
/* 80294980 002918E0  38 21 00 90 */	addi r1, r1, 0x90
/* 80294984 002918E4  4E 80 00 20 */	blr

.global CheckForGameOver__12CNESEmulatorFPCcPc
CheckForGameOver__12CNESEmulatorFPCcPc:
/* 80294988 002918E8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8029498C 002918EC  7C 08 02 A6 */	mflr r0
/* 80294990 002918F0  3C A0 80 3F */	lis r5, lbl_803EBC60@ha
/* 80294994 002918F4  90 01 00 34 */	stw r0, 0x34(r1)
/* 80294998 002918F8  38 05 BC 60 */	addi r0, r5, lbl_803EBC60@l
/* 8029499C 002918FC  38 A0 00 09 */	li r5, 9
/* 802949A0 00291900  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 802949A4 00291904  7C 9F 23 78 */	mr r31, r4
/* 802949A8 00291908  7C 04 03 78 */	mr r4, r0
/* 802949AC 0029190C  93 C1 00 28 */	stw r30, 0x28(r1)
/* 802949B0 00291910  7C 7E 1B 78 */	mr r30, r3
/* 802949B4 00291914  38 7E 01 4B */	addi r3, r30, 0x14b
/* 802949B8 00291918  48 0F 8E C5 */	bl memcmp
/* 802949BC 0029191C  2C 03 00 00 */	cmpwi r3, 0
/* 802949C0 00291920  41 82 00 0C */	beq lbl_802949CC
/* 802949C4 00291924  38 60 00 00 */	li r3, 0
/* 802949C8 00291928  48 00 01 0C */	b lbl_80294AD4
lbl_802949CC:
/* 802949CC 0029192C  38 00 00 18 */	li r0, 0x18
/* 802949D0 00291930  39 00 00 00 */	li r8, 0
/* 802949D4 00291934  39 20 00 00 */	li r9, 0
/* 802949D8 00291938  38 C0 00 00 */	li r6, 0
/* 802949DC 0029193C  7C 09 03 A6 */	mtctr r0
lbl_802949E0:
/* 802949E0 00291940  38 09 01 A9 */	addi r0, r9, 0x1a9
/* 802949E4 00291944  39 29 00 01 */	addi r9, r9, 1
/* 802949E8 00291948  28 09 00 06 */	cmplwi r9, 6
/* 802949EC 0029194C  7C FE 00 AE */	lbzx r7, r30, r0
/* 802949F0 00291950  41 82 00 0C */	beq lbl_802949FC
/* 802949F4 00291954  28 09 00 46 */	cmplwi r9, 0x46
/* 802949F8 00291958  40 82 00 0C */	bne lbl_80294A04
lbl_802949FC:
/* 802949FC 0029195C  39 29 00 01 */	addi r9, r9, 1
/* 80294A00 00291960  48 00 00 10 */	b lbl_80294A10
lbl_80294A04:
/* 80294A04 00291964  28 09 00 0D */	cmplwi r9, 0xd
/* 80294A08 00291968  40 82 00 08 */	bne lbl_80294A10
/* 80294A0C 0029196C  39 20 00 40 */	li r9, 0x40
lbl_80294A10:
/* 80294A10 00291970  28 07 00 3F */	cmplwi r7, 0x3f
/* 80294A14 00291974  40 81 00 0C */	ble lbl_80294A20
/* 80294A18 00291978  38 60 00 00 */	li r3, 0
/* 80294A1C 0029197C  48 00 00 B8 */	b lbl_80294AD4
lbl_80294A20:
/* 80294A20 00291980  54 C0 07 BE */	clrlwi r0, r6, 0x1e
/* 80294A24 00291984  2C 00 00 02 */	cmpwi r0, 2
/* 80294A28 00291988  41 82 00 54 */	beq lbl_80294A7C
/* 80294A2C 0029198C  40 80 00 14 */	bge lbl_80294A40
/* 80294A30 00291990  2C 00 00 00 */	cmpwi r0, 0
/* 80294A34 00291994  41 82 00 18 */	beq lbl_80294A4C
/* 80294A38 00291998  40 80 00 20 */	bge lbl_80294A58
/* 80294A3C 0029199C  48 00 00 7C */	b lbl_80294AB8
lbl_80294A40:
/* 80294A40 002919A0  2C 00 00 04 */	cmpwi r0, 4
/* 80294A44 002919A4  40 80 00 74 */	bge lbl_80294AB8
/* 80294A48 002919A8  48 00 00 58 */	b lbl_80294AA0
lbl_80294A4C:
/* 80294A4C 002919AC  38 61 00 08 */	addi r3, r1, 8
/* 80294A50 002919B0  7C E3 41 AE */	stbx r7, r3, r8
/* 80294A54 002919B4  48 00 00 64 */	b lbl_80294AB8
lbl_80294A58:
/* 80294A58 002919B8  38 A1 00 08 */	addi r5, r1, 8
/* 80294A5C 002919BC  54 E3 30 32 */	slwi r3, r7, 6
/* 80294A60 002919C0  7C 85 40 AE */	lbzx r4, r5, r8
/* 80294A64 002919C4  54 E0 F6 3E */	rlwinm r0, r7, 0x1e, 0x18, 0x1f
/* 80294A68 002919C8  7C 83 1B 78 */	or r3, r4, r3
/* 80294A6C 002919CC  7C 65 41 AE */	stbx r3, r5, r8
/* 80294A70 002919D0  39 08 00 01 */	addi r8, r8, 1
/* 80294A74 002919D4  7C 05 41 AE */	stbx r0, r5, r8
/* 80294A78 002919D8  48 00 00 40 */	b lbl_80294AB8
lbl_80294A7C:
/* 80294A7C 002919DC  38 A1 00 08 */	addi r5, r1, 8
/* 80294A80 002919E0  54 E3 20 36 */	slwi r3, r7, 4
/* 80294A84 002919E4  7C 85 40 AE */	lbzx r4, r5, r8
/* 80294A88 002919E8  54 E0 E6 3E */	rlwinm r0, r7, 0x1c, 0x18, 0x1f
/* 80294A8C 002919EC  7C 83 1B 78 */	or r3, r4, r3
/* 80294A90 002919F0  7C 65 41 AE */	stbx r3, r5, r8
/* 80294A94 002919F4  39 08 00 01 */	addi r8, r8, 1
/* 80294A98 002919F8  7C 05 41 AE */	stbx r0, r5, r8
/* 80294A9C 002919FC  48 00 00 1C */	b lbl_80294AB8
lbl_80294AA0:
/* 80294AA0 00291A00  38 81 00 08 */	addi r4, r1, 8
/* 80294AA4 00291A04  54 E0 10 3A */	slwi r0, r7, 2
/* 80294AA8 00291A08  7C 64 40 AE */	lbzx r3, r4, r8
/* 80294AAC 00291A0C  7C 60 03 78 */	or r0, r3, r0
/* 80294AB0 00291A10  7C 04 41 AE */	stbx r0, r4, r8
/* 80294AB4 00291A14  39 08 00 01 */	addi r8, r8, 1
lbl_80294AB8:
/* 80294AB8 00291A18  38 C6 00 01 */	addi r6, r6, 1
/* 80294ABC 00291A1C  42 00 FF 24 */	bdnz lbl_802949E0
/* 80294AC0 00291A20  7F E3 FB 78 */	mr r3, r31
/* 80294AC4 00291A24  38 81 00 08 */	addi r4, r1, 8
/* 80294AC8 00291A28  38 A0 00 12 */	li r5, 0x12
/* 80294ACC 00291A2C  4B D6 E9 C5 */	bl memcpy
/* 80294AD0 00291A30  38 60 00 01 */	li r3, 1
lbl_80294AD4:
/* 80294AD4 00291A34  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80294AD8 00291A38  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80294ADC 00291A3C  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80294AE0 00291A40  7C 08 03 A6 */	mtlr r0
/* 80294AE4 00291A44  38 21 00 30 */	addi r1, r1, 0x30
/* 80294AE8 00291A48  4E 80 00 20 */	blr

.global SetPasswordIntoEntryScreen__12CNESEmulatorFPCcPcPCc
SetPasswordIntoEntryScreen__12CNESEmulatorFPCcPcPCc:
/* 80294AEC 00291A4C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80294AF0 00291A50  7C 08 02 A6 */	mflr r0
/* 80294AF4 00291A54  90 01 00 24 */	stw r0, 0x24(r1)
/* 80294AF8 00291A58  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80294AFC 00291A5C  7C 9F 23 78 */	mr r31, r4
/* 80294B00 00291A60  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80294B04 00291A64  7C 7E 1B 78 */	mr r30, r3
/* 80294B08 00291A68  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80294B0C 00291A6C  93 81 00 10 */	stw r28, 0x10(r1)
/* 80294B10 00291A70  7C BC 2B 78 */	mr r28, r5
/* 80294B14 00291A74  48 00 01 B5 */	bl CheckForPasswordEntryScreen__12CNESEmulatorFPCc
/* 80294B18 00291A78  2C 03 00 01 */	cmpwi r3, 1
/* 80294B1C 00291A7C  41 82 00 0C */	beq lbl_80294B28
/* 80294B20 00291A80  38 60 00 00 */	li r3, 0
/* 80294B24 00291A84  48 00 01 84 */	b lbl_80294CA8
lbl_80294B28:
/* 80294B28 00291A88  38 00 00 02 */	li r0, 2
/* 80294B2C 00291A8C  7F 83 E3 78 */	mr r3, r28
/* 80294B30 00291A90  38 80 00 00 */	li r4, 0
/* 80294B34 00291A94  7C 09 03 A6 */	mtctr r0
lbl_80294B38:
/* 80294B38 00291A98  88 03 00 00 */	lbz r0, 0(r3)
/* 80294B3C 00291A9C  28 00 00 00 */	cmplwi r0, 0
/* 80294B40 00291AA0  40 82 00 90 */	bne lbl_80294BD0
/* 80294B44 00291AA4  88 03 00 01 */	lbz r0, 1(r3)
/* 80294B48 00291AA8  38 84 00 01 */	addi r4, r4, 1
/* 80294B4C 00291AAC  28 00 00 00 */	cmplwi r0, 0
/* 80294B50 00291AB0  40 82 00 80 */	bne lbl_80294BD0
/* 80294B54 00291AB4  88 03 00 02 */	lbz r0, 2(r3)
/* 80294B58 00291AB8  38 84 00 01 */	addi r4, r4, 1
/* 80294B5C 00291ABC  28 00 00 00 */	cmplwi r0, 0
/* 80294B60 00291AC0  40 82 00 70 */	bne lbl_80294BD0
/* 80294B64 00291AC4  88 03 00 03 */	lbz r0, 3(r3)
/* 80294B68 00291AC8  38 84 00 01 */	addi r4, r4, 1
/* 80294B6C 00291ACC  28 00 00 00 */	cmplwi r0, 0
/* 80294B70 00291AD0  40 82 00 60 */	bne lbl_80294BD0
/* 80294B74 00291AD4  88 03 00 04 */	lbz r0, 4(r3)
/* 80294B78 00291AD8  38 84 00 01 */	addi r4, r4, 1
/* 80294B7C 00291ADC  28 00 00 00 */	cmplwi r0, 0
/* 80294B80 00291AE0  40 82 00 50 */	bne lbl_80294BD0
/* 80294B84 00291AE4  88 03 00 05 */	lbz r0, 5(r3)
/* 80294B88 00291AE8  38 84 00 01 */	addi r4, r4, 1
/* 80294B8C 00291AEC  28 00 00 00 */	cmplwi r0, 0
/* 80294B90 00291AF0  40 82 00 40 */	bne lbl_80294BD0
/* 80294B94 00291AF4  88 03 00 06 */	lbz r0, 6(r3)
/* 80294B98 00291AF8  38 84 00 01 */	addi r4, r4, 1
/* 80294B9C 00291AFC  28 00 00 00 */	cmplwi r0, 0
/* 80294BA0 00291B00  40 82 00 30 */	bne lbl_80294BD0
/* 80294BA4 00291B04  88 03 00 07 */	lbz r0, 7(r3)
/* 80294BA8 00291B08  38 84 00 01 */	addi r4, r4, 1
/* 80294BAC 00291B0C  28 00 00 00 */	cmplwi r0, 0
/* 80294BB0 00291B10  40 82 00 20 */	bne lbl_80294BD0
/* 80294BB4 00291B14  88 03 00 08 */	lbz r0, 8(r3)
/* 80294BB8 00291B18  38 84 00 01 */	addi r4, r4, 1
/* 80294BBC 00291B1C  28 00 00 00 */	cmplwi r0, 0
/* 80294BC0 00291B20  40 82 00 10 */	bne lbl_80294BD0
/* 80294BC4 00291B24  38 84 00 01 */	addi r4, r4, 1
/* 80294BC8 00291B28  38 63 00 09 */	addi r3, r3, 9
/* 80294BCC 00291B2C  42 00 FF 6C */	bdnz lbl_80294B38
lbl_80294BD0:
/* 80294BD0 00291B30  28 04 00 12 */	cmplwi r4, 0x12
/* 80294BD4 00291B34  40 82 00 0C */	bne lbl_80294BE0
/* 80294BD8 00291B38  38 60 00 00 */	li r3, 0
/* 80294BDC 00291B3C  48 00 00 CC */	b lbl_80294CA8
lbl_80294BE0:
/* 80294BE0 00291B40  38 00 00 18 */	li r0, 0x18
/* 80294BE4 00291B44  7F 83 E3 78 */	mr r3, r28
/* 80294BE8 00291B48  38 E0 00 00 */	li r7, 0
/* 80294BEC 00291B4C  38 C0 00 00 */	li r6, 0
/* 80294BF0 00291B50  7C 09 03 A6 */	mtctr r0
lbl_80294BF4:
/* 80294BF4 00291B54  54 C0 07 BE */	clrlwi r0, r6, 0x1e
/* 80294BF8 00291B58  2C 00 00 02 */	cmpwi r0, 2
/* 80294BFC 00291B5C  41 82 00 48 */	beq lbl_80294C44
/* 80294C00 00291B60  40 80 00 14 */	bge lbl_80294C14
/* 80294C04 00291B64  2C 00 00 00 */	cmpwi r0, 0
/* 80294C08 00291B68  41 82 00 18 */	beq lbl_80294C20
/* 80294C0C 00291B6C  40 80 00 20 */	bge lbl_80294C2C
/* 80294C10 00291B70  48 00 00 50 */	b lbl_80294C60
lbl_80294C14:
/* 80294C14 00291B74  2C 00 00 04 */	cmpwi r0, 4
/* 80294C18 00291B78  40 80 00 48 */	bge lbl_80294C60
/* 80294C1C 00291B7C  48 00 00 40 */	b lbl_80294C5C
lbl_80294C20:
/* 80294C20 00291B80  8B A3 00 00 */	lbz r29, 0(r3)
/* 80294C24 00291B84  38 63 00 01 */	addi r3, r3, 1
/* 80294C28 00291B88  48 00 00 38 */	b lbl_80294C60
lbl_80294C2C:
/* 80294C2C 00291B8C  88 03 00 00 */	lbz r0, 0(r3)
/* 80294C30 00291B90  57 A4 D1 BE */	srwi r4, r29, 6
/* 80294C34 00291B94  38 63 00 01 */	addi r3, r3, 1
/* 80294C38 00291B98  54 00 10 3A */	slwi r0, r0, 2
/* 80294C3C 00291B9C  7C 9D 03 78 */	or r29, r4, r0
/* 80294C40 00291BA0  48 00 00 20 */	b lbl_80294C60
lbl_80294C44:
/* 80294C44 00291BA4  88 03 00 00 */	lbz r0, 0(r3)
/* 80294C48 00291BA8  57 A4 D1 BE */	srwi r4, r29, 6
/* 80294C4C 00291BAC  38 63 00 01 */	addi r3, r3, 1
/* 80294C50 00291BB0  54 00 20 36 */	slwi r0, r0, 4
/* 80294C54 00291BB4  7C 9D 03 78 */	or r29, r4, r0
/* 80294C58 00291BB8  48 00 00 08 */	b lbl_80294C60
lbl_80294C5C:
/* 80294C5C 00291BBC  57 BD D1 BE */	srwi r29, r29, 6
lbl_80294C60:
/* 80294C60 00291BC0  57 A5 06 BE */	clrlwi r5, r29, 0x1a
/* 80294C64 00291BC4  38 86 09 9A */	addi r4, r6, 0x99a
/* 80294C68 00291BC8  38 07 01 09 */	addi r0, r7, 0x109
/* 80294C6C 00291BCC  7C BF 21 AE */	stbx r5, r31, r4
/* 80294C70 00291BD0  38 E7 00 01 */	addi r7, r7, 1
/* 80294C74 00291BD4  28 07 00 06 */	cmplwi r7, 6
/* 80294C78 00291BD8  7C BE 01 AE */	stbx r5, r30, r0
/* 80294C7C 00291BDC  41 82 00 0C */	beq lbl_80294C88
/* 80294C80 00291BE0  28 07 00 46 */	cmplwi r7, 0x46
/* 80294C84 00291BE4  40 82 00 0C */	bne lbl_80294C90
lbl_80294C88:
/* 80294C88 00291BE8  38 E7 00 01 */	addi r7, r7, 1
/* 80294C8C 00291BEC  48 00 00 10 */	b lbl_80294C9C
lbl_80294C90:
/* 80294C90 00291BF0  28 07 00 0D */	cmplwi r7, 0xd
/* 80294C94 00291BF4  40 82 00 08 */	bne lbl_80294C9C
/* 80294C98 00291BF8  38 E0 00 40 */	li r7, 0x40
lbl_80294C9C:
/* 80294C9C 00291BFC  38 C6 00 01 */	addi r6, r6, 1
/* 80294CA0 00291C00  42 00 FF 54 */	bdnz lbl_80294BF4
/* 80294CA4 00291C04  38 60 00 01 */	li r3, 1
lbl_80294CA8:
/* 80294CA8 00291C08  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80294CAC 00291C0C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80294CB0 00291C10  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80294CB4 00291C14  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80294CB8 00291C18  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80294CBC 00291C1C  7C 08 03 A6 */	mtlr r0
/* 80294CC0 00291C20  38 21 00 20 */	addi r1, r1, 0x20
/* 80294CC4 00291C24  4E 80 00 20 */	blr

.global CheckForPasswordEntryScreen__12CNESEmulatorFPCc
CheckForPasswordEntryScreen__12CNESEmulatorFPCc:
/* 80294CC8 00291C28  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80294CCC 00291C2C  7C 08 02 A6 */	mflr r0
/* 80294CD0 00291C30  3C 80 80 3F */	lis r4, lbl_803EBC50@ha
/* 80294CD4 00291C34  38 A0 00 10 */	li r5, 0x10
/* 80294CD8 00291C38  90 01 00 14 */	stw r0, 0x14(r1)
/* 80294CDC 00291C3C  38 84 BC 50 */	addi r4, r4, lbl_803EBC50@l
/* 80294CE0 00291C40  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80294CE4 00291C44  7C 7F 1B 78 */	mr r31, r3
/* 80294CE8 00291C48  38 7F 00 88 */	addi r3, r31, 0x88
/* 80294CEC 00291C4C  48 0F 8B 91 */	bl memcmp
/* 80294CF0 00291C50  2C 03 00 00 */	cmpwi r3, 0
/* 80294CF4 00291C54  41 82 00 0C */	beq lbl_80294D00
/* 80294CF8 00291C58  38 60 00 00 */	li r3, 0
/* 80294CFC 00291C5C  48 00 00 40 */	b lbl_80294D3C
lbl_80294D00:
/* 80294D00 00291C60  38 00 00 0D */	li r0, 0xd
/* 80294D04 00291C64  38 80 00 00 */	li r4, 0
/* 80294D08 00291C68  7C 09 03 A6 */	mtctr r0
lbl_80294D0C:
/* 80294D0C 00291C6C  7C 7F 22 14 */	add r3, r31, r4
/* 80294D10 00291C70  88 03 01 09 */	lbz r0, 0x109(r3)
/* 80294D14 00291C74  28 00 00 40 */	cmplwi r0, 0x40
/* 80294D18 00291C78  41 80 00 10 */	blt lbl_80294D28
/* 80294D1C 00291C7C  88 03 01 49 */	lbz r0, 0x149(r3)
/* 80294D20 00291C80  28 00 00 40 */	cmplwi r0, 0x40
/* 80294D24 00291C84  40 80 00 0C */	bge lbl_80294D30
lbl_80294D28:
/* 80294D28 00291C88  38 60 00 02 */	li r3, 2
/* 80294D2C 00291C8C  48 00 00 10 */	b lbl_80294D3C
lbl_80294D30:
/* 80294D30 00291C90  38 84 00 01 */	addi r4, r4, 1
/* 80294D34 00291C94  42 00 FF D8 */	bdnz lbl_80294D0C
/* 80294D38 00291C98  38 60 00 01 */	li r3, 1
lbl_80294D3C:
/* 80294D3C 00291C9C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80294D40 00291CA0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80294D44 00291CA4  7C 08 03 A6 */	mtlr r0
/* 80294D48 00291CA8  38 21 00 10 */	addi r1, r1, 0x10
/* 80294D4C 00291CAC  4E 80 00 20 */	blr

.section .sdata2, "a"
.balign 8
.global lbl_805ADC60
lbl_805ADC60:
	# ROM: 0x3FA500
	.4byte 0

.global lbl_805ADC64
lbl_805ADC64:
	# ROM: 0x3FA504
	.4byte 0x44200000

.global lbl_805ADC68
lbl_805ADC68:
	# ROM: 0x3FA508
	.4byte 0x43F00000

.global lbl_805ADC6C
lbl_805ADC6C:
	# ROM: 0x3FA50C
	.float 0.1

.global lbl_805ADC70
lbl_805ADC70:
	# ROM: 0x3FA510
	.4byte 0x42C80000

.global lbl_805ADC74
lbl_805ADC74:
	# ROM: 0x3FA514
	.4byte 0x41200000

.global lbl_805ADC78
lbl_805ADC78:
	# ROM: 0x3FA518
	.float 1.0
	.4byte 0

.global lbl_805ADC80
lbl_805ADC80:
	# ROM: 0x3FA520
	.double 4.503601774854144E15

.global lbl_805ADC88
lbl_805ADC88:
	# ROM: 0x3FA528
	.4byte 0x08000000

.global lbl_805ADC8C
lbl_805ADC8C:
	# ROM: 0x3FA52C
	.4byte 0x04000000

.global lbl_805ADC90
lbl_805ADC90:
	# ROM: 0x3FA530
	.4byte 0x02000000

.global lbl_805ADC94
lbl_805ADC94:
	# ROM: 0x3FA534
	.4byte 0x01000000

.global lbl_805ADC98
lbl_805ADC98:
	# ROM: 0x3FA538
	.4byte 0x80000000

.global lbl_805ADC9C
lbl_805ADC9C:
	# ROM: 0x3FA53C
	.float 2.0

.global lbl_805ADCA0
lbl_805ADCA0:
	# ROM: 0x3FA540
	.4byte 0x20000000

.global lbl_805ADCA4
lbl_805ADCA4:
	# ROM: 0x3FA544
	.4byte 0x10000000

.global lbl_805ADCA8
lbl_805ADCA8:
	# ROM: 0x3FA548
	.float 0.4
	.4byte 0


.section .rodata
.balign 8
.global lbl_803D5B80
lbl_803D5B80:
	# ROM: 0x3D2B80
	.asciz "NESemuP.rel"

.global lbl_803D5B8C
lbl_803D5B8C:
	# ROM: 0x3D2B8C
	.4byte 0x00000009
	.4byte 0x00000001
	.4byte 0x0000000D
	.4byte 0x00000001
	.4byte 0x000000FF
	.4byte 0

.global lbl_803D5BA4
lbl_803D5BA4:
	# ROM: 0x3D2BA4
	.asciz "??(??)"
	.balign 4
	.4byte 0