.include "macros.inc"

.section .text, "ax"

.global sub_80051d7c
sub_80051d7c:
/* 80051D7C 0004ECDC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80051D80 0004ECE0  7C 08 02 A6 */	mflr r0
/* 80051D84 0004ECE4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80051D88 0004ECE8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80051D8C 0004ECEC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80051D90 0004ECF0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80051D94 0004ECF4  7C 9D 23 78 */	mr r29, r4
/* 80051D98 0004ECF8  93 81 00 10 */	stw r28, 0x10(r1)
/* 80051D9C 0004ECFC  7C 7C 1B 78 */	mr r28, r3
/* 80051DA0 0004ED00  80 03 00 04 */	lwz r0, 4(r3)
/* 80051DA4 0004ED04  83 C4 00 04 */	lwz r30, 4(r4)
/* 80051DA8 0004ED08  7C 1D 00 40 */	cmplw r29, r0
/* 80051DAC 0004ED0C  40 82 00 08 */	bne lbl_80051DB4
/* 80051DB0 0004ED10  93 DC 00 04 */	stw r30, 4(r28)
lbl_80051DB4:
/* 80051DB4 0004ED14  80 1D 00 04 */	lwz r0, 4(r29)
/* 80051DB8 0004ED18  37 FD 00 08 */	addic. r31, r29, 8
/* 80051DBC 0004ED1C  80 7D 00 00 */	lwz r3, 0(r29)
/* 80051DC0 0004ED20  90 03 00 04 */	stw r0, 4(r3)
/* 80051DC4 0004ED24  80 1D 00 00 */	lwz r0, 0(r29)
/* 80051DC8 0004ED28  80 7D 00 04 */	lwz r3, 4(r29)
/* 80051DCC 0004ED2C  90 03 00 00 */	stw r0, 0(r3)
/* 80051DD0 0004ED30  41 82 00 54 */	beq lbl_80051E24
/* 80051DD4 0004ED34  34 1F 00 08 */	addic. r0, r31, 8
/* 80051DD8 0004ED38  41 82 00 4C */	beq lbl_80051E24
/* 80051DDC 0004ED3C  80 9F 00 08 */	lwz r4, 8(r31)
/* 80051DE0 0004ED40  80 64 00 04 */	lwz r3, 4(r4)
/* 80051DE4 0004ED44  34 03 FF FF */	addic. r0, r3, -1
/* 80051DE8 0004ED48  90 04 00 04 */	stw r0, 4(r4)
/* 80051DEC 0004ED4C  41 81 00 38 */	bgt lbl_80051E24
/* 80051DF0 0004ED50  80 7F 00 08 */	lwz r3, 8(r31)
/* 80051DF4 0004ED54  80 63 00 00 */	lwz r3, 0(r3)
/* 80051DF8 0004ED58  28 03 00 00 */	cmplwi r3, 0
/* 80051DFC 0004ED5C  41 82 00 18 */	beq lbl_80051E14
/* 80051E00 0004ED60  81 83 00 00 */	lwz r12, 0(r3)
/* 80051E04 0004ED64  38 80 00 01 */	li r4, 1
/* 80051E08 0004ED68  81 8C 00 08 */	lwz r12, 8(r12)
/* 80051E0C 0004ED6C  7D 89 03 A6 */	mtctr r12
/* 80051E10 0004ED70  4E 80 04 21 */	bctrl
lbl_80051E14:
/* 80051E14 0004ED74  80 7F 00 08 */	lwz r3, 8(r31)
/* 80051E18 0004ED78  28 03 00 00 */	cmplwi r3, 0
/* 80051E1C 0004ED7C  41 82 00 08 */	beq lbl_80051E24
/* 80051E20 0004ED80  48 2C 3B 11 */	bl Free__7CMemoryFPCv
lbl_80051E24:
/* 80051E24 0004ED84  28 1D 00 00 */	cmplwi r29, 0
/* 80051E28 0004ED88  41 82 00 0C */	beq lbl_80051E34
/* 80051E2C 0004ED8C  7F A3 EB 78 */	mr r3, r29
/* 80051E30 0004ED90  48 2C 3B 01 */	bl Free__7CMemoryFPCv
lbl_80051E34:
/* 80051E34 0004ED94  80 9C 00 14 */	lwz r4, 0x14(r28)
/* 80051E38 0004ED98  7F C3 F3 78 */	mr r3, r30
/* 80051E3C 0004ED9C  38 04 FF FF */	addi r0, r4, -1
/* 80051E40 0004EDA0  90 1C 00 14 */	stw r0, 0x14(r28)
/* 80051E44 0004EDA4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80051E48 0004EDA8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80051E4C 0004EDAC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80051E50 0004EDB0  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80051E54 0004EDB4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80051E58 0004EDB8  7C 08 03 A6 */	mtlr r0
/* 80051E5C 0004EDBC  38 21 00 20 */	addi r1, r1, 0x20
/* 80051E60 0004EDC0  4E 80 00 20 */	blr

.global GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv:
/* 80051E64 0004EDC4  80 04 00 00 */	lwz r0, 0(r4)
/* 80051E68 0004EDC8  90 03 00 00 */	stw r0, 0(r3)
/* 80051E6C 0004EDCC  80 83 00 00 */	lwz r4, 0(r3)
/* 80051E70 0004EDD0  80 64 00 04 */	lwz r3, 4(r4)
/* 80051E74 0004EDD4  38 03 00 01 */	addi r0, r3, 1
/* 80051E78 0004EDD8  90 04 00 04 */	stw r0, 4(r4)
/* 80051E7C 0004EDDC  4E 80 00 20 */	blr

.global OnIOWinMessage__13CIOWinManagerFRC20CArchitectureMessage
OnIOWinMessage__13CIOWinManagerFRC20CArchitectureMessage:
/* 80051E80 0004EDE0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 80051E84 0004EDE4  7C 08 02 A6 */	mflr r0
/* 80051E88 0004EDE8  90 01 00 44 */	stw r0, 0x44(r1)
/* 80051E8C 0004EDEC  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 80051E90 0004EDF0  7C 7F 1B 78 */	mr r31, r3
/* 80051E94 0004EDF4  93 C1 00 38 */	stw r30, 0x38(r1)
/* 80051E98 0004EDF8  93 A1 00 34 */	stw r29, 0x34(r1)
/* 80051E9C 0004EDFC  93 81 00 30 */	stw r28, 0x30(r1)
/* 80051EA0 0004EE00  80 04 00 04 */	lwz r0, 4(r4)
/* 80051EA4 0004EE04  2C 00 00 02 */	cmpwi r0, 2
/* 80051EA8 0004EE08  41 82 01 18 */	beq lbl_80051FC0
/* 80051EAC 0004EE0C  40 80 00 14 */	bge lbl_80051EC0
/* 80051EB0 0004EE10  2C 00 00 00 */	cmpwi r0, 0
/* 80051EB4 0004EE14  41 82 00 18 */	beq lbl_80051ECC
/* 80051EB8 0004EE18  40 80 00 8C */	bge lbl_80051F44
/* 80051EBC 0004EE1C  48 00 01 98 */	b lbl_80052054
lbl_80051EC0:
/* 80051EC0 0004EE20  2C 00 00 04 */	cmpwi r0, 4
/* 80051EC4 0004EE24  40 80 01 90 */	bge lbl_80052054
/* 80051EC8 0004EE28  48 00 01 80 */	b lbl_80052048
lbl_80051ECC:
/* 80051ECC 0004EE2C  7C 83 23 78 */	mr r3, r4
/* 80051ED0 0004EE30  4B FF FE A1 */	bl GetParmDeleteIOWin__7MakeMsgFRC20CArchitectureMessage
/* 80051ED4 0004EE34  7C 65 1B 78 */	mr r5, r3
/* 80051ED8 0004EE38  7F E4 FB 78 */	mr r4, r31
/* 80051EDC 0004EE3C  38 61 00 18 */	addi r3, r1, 0x18
/* 80051EE0 0004EE40  38 A5 00 04 */	addi r5, r5, 4
/* 80051EE4 0004EE44  48 00 06 05 */	bl sub_800524e8
/* 80051EE8 0004EE48  80 A1 00 18 */	lwz r5, 0x18(r1)
/* 80051EEC 0004EE4C  38 61 00 18 */	addi r3, r1, 0x18
/* 80051EF0 0004EE50  90 A1 00 24 */	stw r5, 0x24(r1)
/* 80051EF4 0004EE54  80 85 00 04 */	lwz r4, 4(r5)
/* 80051EF8 0004EE58  38 04 00 01 */	addi r0, r4, 1
/* 80051EFC 0004EE5C  90 05 00 04 */	stw r0, 4(r5)
/* 80051F00 0004EE60  4B FB 67 9D */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80051F04 0004EE64  80 C1 00 24 */	lwz r6, 0x24(r1)
/* 80051F08 0004EE68  80 06 00 00 */	lwz r0, 0(r6)
/* 80051F0C 0004EE6C  28 00 00 00 */	cmplwi r0, 0
/* 80051F10 0004EE70  41 82 00 28 */	beq lbl_80051F38
/* 80051F14 0004EE74  90 C1 00 14 */	stw r6, 0x14(r1)
/* 80051F18 0004EE78  7F E3 FB 78 */	mr r3, r31
/* 80051F1C 0004EE7C  38 81 00 14 */	addi r4, r1, 0x14
/* 80051F20 0004EE80  80 A6 00 04 */	lwz r5, 4(r6)
/* 80051F24 0004EE84  38 05 00 01 */	addi r0, r5, 1
/* 80051F28 0004EE88  90 06 00 04 */	stw r0, 4(r6)
/* 80051F2C 0004EE8C  48 00 08 E9 */	bl "RemoveIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr<6CIOWin>"
/* 80051F30 0004EE90  38 61 00 14 */	addi r3, r1, 0x14
/* 80051F34 0004EE94  4B FB 67 69 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
lbl_80051F38:
/* 80051F38 0004EE98  38 61 00 24 */	addi r3, r1, 0x24
/* 80051F3C 0004EE9C  4B FB 67 61 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80051F40 0004EEA0  48 00 01 14 */	b lbl_80052054
lbl_80051F44:
/* 80051F44 0004EEA4  7C 83 23 78 */	mr r3, r4
/* 80051F48 0004EEA8  4B FF FD 59 */	bl GetParmCreateIOWin__7MakeMsgFRC20CArchitectureMessage
/* 80051F4C 0004EEAC  3C 80 80 3D */	lis r4, lbl_803CCF28@ha
/* 80051F50 0004EEB0  83 C3 00 04 */	lwz r30, 4(r3)
/* 80051F54 0004EEB4  38 84 CF 28 */	addi r4, r4, lbl_803CCF28@l
/* 80051F58 0004EEB8  83 A3 00 08 */	lwz r29, 8(r3)
/* 80051F5C 0004EEBC  83 83 00 0C */	lwz r28, 0xc(r3)
/* 80051F60 0004EEC0  38 84 00 33 */	addi r4, r4, 0x33
/* 80051F64 0004EEC4  38 60 00 08 */	li r3, 8
/* 80051F68 0004EEC8  38 A0 00 00 */	li r5, 0
/* 80051F6C 0004EECC  48 2C 39 01 */	bl __nw__FUlPCcPCc
/* 80051F70 0004EED0  7C 68 1B 79 */	or. r8, r3, r3
/* 80051F74 0004EED4  41 82 00 10 */	beq lbl_80051F84
/* 80051F78 0004EED8  93 88 00 00 */	stw r28, 0(r8)
/* 80051F7C 0004EEDC  38 00 00 01 */	li r0, 1
/* 80051F80 0004EEE0  90 08 00 04 */	stw r0, 4(r8)
lbl_80051F84:
/* 80051F84 0004EEE4  91 01 00 20 */	stw r8, 0x20(r1)
/* 80051F88 0004EEE8  7F E3 FB 78 */	mr r3, r31
/* 80051F8C 0004EEEC  7F C5 F3 78 */	mr r5, r30
/* 80051F90 0004EEF0  7F A6 EB 78 */	mr r6, r29
/* 80051F94 0004EEF4  91 01 00 10 */	stw r8, 0x10(r1)
/* 80051F98 0004EEF8  38 81 00 10 */	addi r4, r1, 0x10
/* 80051F9C 0004EEFC  80 E8 00 04 */	lwz r7, 4(r8)
/* 80051FA0 0004EF00  38 07 00 01 */	addi r0, r7, 1
/* 80051FA4 0004EF04  90 08 00 04 */	stw r0, 4(r8)
/* 80051FA8 0004EF08  48 00 09 A9 */	bl "AddIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr<6CIOWin>ii"
/* 80051FAC 0004EF0C  38 61 00 10 */	addi r3, r1, 0x10
/* 80051FB0 0004EF10  4B FB 66 ED */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80051FB4 0004EF14  38 61 00 20 */	addi r3, r1, 0x20
/* 80051FB8 0004EF18  4B FB 66 E5 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80051FBC 0004EF1C  48 00 00 98 */	b lbl_80052054
lbl_80051FC0:
/* 80051FC0 0004EF20  7C 83 23 78 */	mr r3, r4
/* 80051FC4 0004EF24  4B FF FC D1 */	bl GetParmChangeIOWinPriority__7MakeMsgFRC20CArchitectureMessage
/* 80051FC8 0004EF28  7C 65 1B 78 */	mr r5, r3
/* 80051FCC 0004EF2C  7F E4 FB 78 */	mr r4, r31
/* 80051FD0 0004EF30  83 83 00 04 */	lwz r28, 4(r3)
/* 80051FD4 0004EF34  38 61 00 0C */	addi r3, r1, 0xc
/* 80051FD8 0004EF38  83 A5 00 08 */	lwz r29, 8(r5)
/* 80051FDC 0004EF3C  38 A5 00 0C */	addi r5, r5, 0xc
/* 80051FE0 0004EF40  48 00 05 09 */	bl sub_800524e8
/* 80051FE4 0004EF44  80 A1 00 0C */	lwz r5, 0xc(r1)
/* 80051FE8 0004EF48  38 61 00 0C */	addi r3, r1, 0xc
/* 80051FEC 0004EF4C  90 A1 00 1C */	stw r5, 0x1c(r1)
/* 80051FF0 0004EF50  80 85 00 04 */	lwz r4, 4(r5)
/* 80051FF4 0004EF54  38 04 00 01 */	addi r0, r4, 1
/* 80051FF8 0004EF58  90 05 00 04 */	stw r0, 4(r5)
/* 80051FFC 0004EF5C  4B FB 66 A1 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80052000 0004EF60  81 01 00 1C */	lwz r8, 0x1c(r1)
/* 80052004 0004EF64  80 08 00 00 */	lwz r0, 0(r8)
/* 80052008 0004EF68  28 00 00 00 */	cmplwi r0, 0
/* 8005200C 0004EF6C  41 82 00 30 */	beq lbl_8005203C
/* 80052010 0004EF70  91 01 00 08 */	stw r8, 8(r1)
/* 80052014 0004EF74  7F E3 FB 78 */	mr r3, r31
/* 80052018 0004EF78  7F 85 E3 78 */	mr r5, r28
/* 8005201C 0004EF7C  7F A6 EB 78 */	mr r6, r29
/* 80052020 0004EF80  80 E8 00 04 */	lwz r7, 4(r8)
/* 80052024 0004EF84  38 81 00 08 */	addi r4, r1, 8
/* 80052028 0004EF88  38 07 00 01 */	addi r0, r7, 1
/* 8005202C 0004EF8C  90 08 00 04 */	stw r0, 4(r8)
/* 80052030 0004EF90  48 00 05 D9 */	bl sub_80052608
/* 80052034 0004EF94  38 61 00 08 */	addi r3, r1, 8
/* 80052038 0004EF98  4B FB 66 65 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
lbl_8005203C:
/* 8005203C 0004EF9C  38 61 00 1C */	addi r3, r1, 0x1c
/* 80052040 0004EFA0  4B FB 66 5D */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80052044 0004EFA4  48 00 00 10 */	b lbl_80052054
lbl_80052048:
/* 80052048 0004EFA8  48 00 07 4D */	bl RemoveAllIOWins__13CIOWinManagerFv
/* 8005204C 0004EFAC  38 60 00 01 */	li r3, 1
/* 80052050 0004EFB0  48 00 00 08 */	b lbl_80052058
lbl_80052054:
/* 80052054 0004EFB4  38 60 00 00 */	li r3, 0
lbl_80052058:
/* 80052058 0004EFB8  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8005205C 0004EFBC  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 80052060 0004EFC0  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 80052064 0004EFC4  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 80052068 0004EFC8  83 81 00 30 */	lwz r28, 0x30(r1)
/* 8005206C 0004EFCC  7C 08 03 A6 */	mtlr r0
/* 80052070 0004EFD0  38 21 00 40 */	addi r1, r1, 0x40
/* 80052074 0004EFD4  4E 80 00 20 */	blr

.global Draw__13CIOWinManagerCFv
Draw__13CIOWinManagerCFv:
/* 80052078 0004EFD8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8005207C 0004EFDC  7C 08 02 A6 */	mflr r0
/* 80052080 0004EFE0  90 01 00 34 */	stw r0, 0x34(r1)
/* 80052084 0004EFE4  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 80052088 0004EFE8  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8005208C 0004EFEC  93 A1 00 24 */	stw r29, 0x24(r1)
/* 80052090 0004EFF0  7C 7D 1B 78 */	mr r29, r3
/* 80052094 0004EFF4  83 C3 00 00 */	lwz r30, 0(r3)
/* 80052098 0004EFF8  48 00 00 6C */	b lbl_80052104
lbl_8005209C:
/* 8005209C 0004EFFC  7F C4 F3 78 */	mr r4, r30
/* 800520A0 0004F000  38 61 00 14 */	addi r3, r1, 0x14
/* 800520A4 0004F004  4B FF FD C1 */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 800520A8 0004F008  80 61 00 14 */	lwz r3, 0x14(r1)
/* 800520AC 0004F00C  80 63 00 00 */	lwz r3, 0(r3)
/* 800520B0 0004F010  81 83 00 00 */	lwz r12, 0(r3)
/* 800520B4 0004F014  81 8C 00 18 */	lwz r12, 0x18(r12)
/* 800520B8 0004F018  7D 89 03 A6 */	mtctr r12
/* 800520BC 0004F01C  4E 80 04 21 */	bctrl
/* 800520C0 0004F020  38 61 00 14 */	addi r3, r1, 0x14
/* 800520C4 0004F024  4B FB 65 D9 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 800520C8 0004F028  7F C4 F3 78 */	mr r4, r30
/* 800520CC 0004F02C  38 61 00 10 */	addi r3, r1, 0x10
/* 800520D0 0004F030  4B FF FD 95 */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 800520D4 0004F034  80 61 00 10 */	lwz r3, 0x10(r1)
/* 800520D8 0004F038  80 63 00 00 */	lwz r3, 0(r3)
/* 800520DC 0004F03C  81 83 00 00 */	lwz r12, 0(r3)
/* 800520E0 0004F040  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 800520E4 0004F044  7D 89 03 A6 */	mtctr r12
/* 800520E8 0004F048  4E 80 04 21 */	bctrl
/* 800520EC 0004F04C  7C 7F 1B 78 */	mr r31, r3
/* 800520F0 0004F050  38 61 00 10 */	addi r3, r1, 0x10
/* 800520F4 0004F054  4B FB 65 A9 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 800520F8 0004F058  57 E0 06 3F */	clrlwi. r0, r31, 0x18
/* 800520FC 0004F05C  41 82 00 10 */	beq lbl_8005210C
/* 80052100 0004F060  83 DE 00 08 */	lwz r30, 8(r30)
lbl_80052104:
/* 80052104 0004F064  28 1E 00 00 */	cmplwi r30, 0
/* 80052108 0004F068  40 82 FF 94 */	bne lbl_8005209C
lbl_8005210C:
/* 8005210C 0004F06C  83 DD 00 00 */	lwz r30, 0(r29)
/* 80052110 0004F070  48 00 00 6C */	b lbl_8005217C
lbl_80052114:
/* 80052114 0004F074  7F C4 F3 78 */	mr r4, r30
/* 80052118 0004F078  38 61 00 0C */	addi r3, r1, 0xc
/* 8005211C 0004F07C  4B FF FD 49 */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 80052120 0004F080  80 61 00 0C */	lwz r3, 0xc(r1)
/* 80052124 0004F084  80 63 00 00 */	lwz r3, 0(r3)
/* 80052128 0004F088  81 83 00 00 */	lwz r12, 0(r3)
/* 8005212C 0004F08C  81 8C 00 14 */	lwz r12, 0x14(r12)
/* 80052130 0004F090  7D 89 03 A6 */	mtctr r12
/* 80052134 0004F094  4E 80 04 21 */	bctrl
/* 80052138 0004F098  38 61 00 0C */	addi r3, r1, 0xc
/* 8005213C 0004F09C  4B FB 65 61 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80052140 0004F0A0  7F C4 F3 78 */	mr r4, r30
/* 80052144 0004F0A4  38 61 00 08 */	addi r3, r1, 8
/* 80052148 0004F0A8  4B FF FD 1D */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 8005214C 0004F0AC  80 61 00 08 */	lwz r3, 8(r1)
/* 80052150 0004F0B0  80 63 00 00 */	lwz r3, 0(r3)
/* 80052154 0004F0B4  81 83 00 00 */	lwz r12, 0(r3)
/* 80052158 0004F0B8  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 8005215C 0004F0BC  7D 89 03 A6 */	mtctr r12
/* 80052160 0004F0C0  4E 80 04 21 */	bctrl
/* 80052164 0004F0C4  7C 7F 1B 78 */	mr r31, r3
/* 80052168 0004F0C8  38 61 00 08 */	addi r3, r1, 8
/* 8005216C 0004F0CC  4B FB 65 31 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80052170 0004F0D0  57 E0 06 3F */	clrlwi. r0, r31, 0x18
/* 80052174 0004F0D4  41 82 00 10 */	beq lbl_80052184
/* 80052178 0004F0D8  83 DE 00 08 */	lwz r30, 8(r30)
lbl_8005217C:
/* 8005217C 0004F0DC  28 1E 00 00 */	cmplwi r30, 0
/* 80052180 0004F0E0  40 82 FF 94 */	bne lbl_80052114
lbl_80052184:
/* 80052184 0004F0E4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80052188 0004F0E8  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8005218C 0004F0EC  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80052190 0004F0F0  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 80052194 0004F0F4  7C 08 03 A6 */	mtlr r0
/* 80052198 0004F0F8  38 21 00 30 */	addi r1, r1, 0x30
/* 8005219C 0004F0FC  4E 80 00 20 */	blr

.global DistributeOneMessage__13CIOWinManagerFRC20CArchitectureMessageR18CArchitectureQueue
DistributeOneMessage__13CIOWinManagerFRC20CArchitectureMessageR18CArchitectureQueue:
/* 800521A0 0004F100  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 800521A4 0004F104  7C 08 02 A6 */	mflr r0
/* 800521A8 0004F108  90 01 00 54 */	stw r0, 0x54(r1)
/* 800521AC 0004F10C  BF 21 00 34 */	stmw r25, 0x34(r1)
/* 800521B0 0004F110  7C 79 1B 78 */	mr r25, r3
/* 800521B4 0004F114  3B A1 00 28 */	addi r29, r1, 0x28
/* 800521B8 0004F118  3B C1 00 1C */	addi r30, r1, 0x1c
/* 800521BC 0004F11C  7C 9A 23 78 */	mr r26, r4
/* 800521C0 0004F120  7C BB 2B 78 */	mr r27, r5
/* 800521C4 0004F124  83 83 00 04 */	lwz r28, 4(r3)
/* 800521C8 0004F128  48 00 01 A4 */	b lbl_8005236C
lbl_800521CC:
/* 800521CC 0004F12C  7F 84 E3 78 */	mr r4, r28
/* 800521D0 0004F130  38 61 00 0C */	addi r3, r1, 0xc
/* 800521D4 0004F134  4B FF FC 91 */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 800521D8 0004F138  80 A1 00 0C */	lwz r5, 0xc(r1)
/* 800521DC 0004F13C  38 61 00 0C */	addi r3, r1, 0xc
/* 800521E0 0004F140  90 A1 00 10 */	stw r5, 0x10(r1)
/* 800521E4 0004F144  80 85 00 04 */	lwz r4, 4(r5)
/* 800521E8 0004F148  38 04 00 01 */	addi r0, r4, 1
/* 800521EC 0004F14C  90 05 00 04 */	stw r0, 4(r5)
/* 800521F0 0004F150  4B FB 64 AD */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 800521F4 0004F154  80 61 00 10 */	lwz r3, 0x10(r1)
/* 800521F8 0004F158  7F 44 D3 78 */	mr r4, r26
/* 800521FC 0004F15C  38 B9 00 08 */	addi r5, r25, 8
/* 80052200 0004F160  80 63 00 00 */	lwz r3, 0(r3)
/* 80052204 0004F164  81 83 00 00 */	lwz r12, 0(r3)
/* 80052208 0004F168  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 8005220C 0004F16C  7D 89 03 A6 */	mtctr r12
/* 80052210 0004F170  4E 80 04 21 */	bctrl
/* 80052214 0004F174  7C 7F 1B 78 */	mr r31, r3
/* 80052218 0004F178  48 00 00 E0 */	b lbl_800522F8
lbl_8005221C:
/* 8005221C 0004F17C  38 61 00 14 */	addi r3, r1, 0x14
/* 80052220 0004F180  38 99 00 08 */	addi r4, r25, 8
/* 80052224 0004F184  48 00 01 69 */	bl sub_8005238c
/* 80052228 0004F188  80 61 00 14 */	lwz r3, 0x14(r1)
/* 8005222C 0004F18C  28 1E 00 00 */	cmplwi r30, 0
/* 80052230 0004F190  80 01 00 18 */	lwz r0, 0x18(r1)
/* 80052234 0004F194  80 9E 00 00 */	lwz r4, 0(r30)
/* 80052238 0004F198  90 61 00 20 */	stw r3, 0x20(r1)
/* 8005223C 0004F19C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80052240 0004F1A0  90 9D 00 00 */	stw r4, 0(r29)
/* 80052244 0004F1A4  80 64 00 04 */	lwz r3, 4(r4)
/* 80052248 0004F1A8  38 03 00 01 */	addi r0, r3, 1
/* 8005224C 0004F1AC  90 04 00 04 */	stw r0, 4(r4)
/* 80052250 0004F1B0  41 82 00 0C */	beq lbl_8005225C
/* 80052254 0004F1B4  7F C3 F3 78 */	mr r3, r30
/* 80052258 0004F1B8  4B FB 64 B5 */	bl sub_8000870c
lbl_8005225C:
/* 8005225C 0004F1BC  80 01 00 20 */	lwz r0, 0x20(r1)
/* 80052260 0004F1C0  2C 00 00 00 */	cmpwi r0, 0
/* 80052264 0004F1C4  40 82 00 78 */	bne lbl_800522DC
/* 80052268 0004F1C8  7F 23 CB 78 */	mr r3, r25
/* 8005226C 0004F1CC  38 81 00 20 */	addi r4, r1, 0x20
/* 80052270 0004F1D0  4B FF FC 11 */	bl OnIOWinMessage__13CIOWinManagerFRC20CArchitectureMessage
/* 80052274 0004F1D4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 80052278 0004F1D8  41 82 00 70 */	beq lbl_800522E8
/* 8005227C 0004F1DC  83 59 00 10 */	lwz r26, 0x10(r25)
/* 80052280 0004F1E0  80 99 00 0C */	lwz r4, 0xc(r25)
/* 80052284 0004F1E4  48 00 00 10 */	b lbl_80052294
lbl_80052288:
/* 80052288 0004F1E8  38 79 00 08 */	addi r3, r25, 8
/* 8005228C 0004F1EC  4B FF FA F1 */	bl sub_80051d7c
/* 80052290 0004F1F0  7C 64 1B 78 */	mr r4, r3
lbl_80052294:
/* 80052294 0004F1F4  7C 04 D0 40 */	cmplw r4, r26
/* 80052298 0004F1F8  40 82 FF F0 */	bne lbl_80052288
/* 8005229C 0004F1FC  83 3B 00 08 */	lwz r25, 8(r27)
/* 800522A0 0004F200  80 9B 00 04 */	lwz r4, 4(r27)
/* 800522A4 0004F204  48 00 00 10 */	b lbl_800522B4
lbl_800522A8:
/* 800522A8 0004F208  7F 63 DB 78 */	mr r3, r27
/* 800522AC 0004F20C  4B FF FA D1 */	bl sub_80051d7c
/* 800522B0 0004F210  7C 64 1B 78 */	mr r4, r3
lbl_800522B4:
/* 800522B4 0004F214  7C 04 C8 40 */	cmplw r4, r25
/* 800522B8 0004F218  40 82 FF F0 */	bne lbl_800522A8
/* 800522BC 0004F21C  28 1D 00 00 */	cmplwi r29, 0
/* 800522C0 0004F220  41 82 00 0C */	beq lbl_800522CC
/* 800522C4 0004F224  7F A3 EB 78 */	mr r3, r29
/* 800522C8 0004F228  4B FB 64 45 */	bl sub_8000870c
lbl_800522CC:
/* 800522CC 0004F22C  38 61 00 10 */	addi r3, r1, 0x10
/* 800522D0 0004F230  4B FB 63 CD */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 800522D4 0004F234  38 60 00 01 */	li r3, 1
/* 800522D8 0004F238  48 00 00 A0 */	b lbl_80052378
lbl_800522DC:
/* 800522DC 0004F23C  7F 63 DB 78 */	mr r3, r27
/* 800522E0 0004F240  38 81 00 20 */	addi r4, r1, 0x20
/* 800522E4 0004F244  4B FB 4A 1D */	bl InsertMsg__18CArchitectureQueueFRC20CArchitectureMessage
lbl_800522E8:
/* 800522E8 0004F248  28 1D 00 00 */	cmplwi r29, 0
/* 800522EC 0004F24C  41 82 00 0C */	beq lbl_800522F8
/* 800522F0 0004F250  7F A3 EB 78 */	mr r3, r29
/* 800522F4 0004F254  4B FB 64 19 */	bl sub_8000870c
lbl_800522F8:
/* 800522F8 0004F258  80 19 00 1C */	lwz r0, 0x1c(r25)
/* 800522FC 0004F25C  2C 00 00 00 */	cmpwi r0, 0
/* 80052300 0004F260  40 82 FF 1C */	bne lbl_8005221C
/* 80052304 0004F264  2C 1F 00 02 */	cmpwi r31, 2
/* 80052308 0004F268  41 82 00 0C */	beq lbl_80052314
/* 8005230C 0004F26C  2C 1F 00 03 */	cmpwi r31, 3
/* 80052310 0004F270  40 82 00 34 */	bne lbl_80052344
lbl_80052314:
/* 80052314 0004F274  83 9C 00 08 */	lwz r28, 8(r28)
/* 80052318 0004F278  7F 23 CB 78 */	mr r3, r25
/* 8005231C 0004F27C  80 C1 00 10 */	lwz r6, 0x10(r1)
/* 80052320 0004F280  38 81 00 08 */	addi r4, r1, 8
/* 80052324 0004F284  90 C1 00 08 */	stw r6, 8(r1)
/* 80052328 0004F288  80 A6 00 04 */	lwz r5, 4(r6)
/* 8005232C 0004F28C  38 05 00 01 */	addi r0, r5, 1
/* 80052330 0004F290  90 06 00 04 */	stw r0, 4(r6)
/* 80052334 0004F294  48 00 04 E1 */	bl "RemoveIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr<6CIOWin>"
/* 80052338 0004F298  38 61 00 08 */	addi r3, r1, 8
/* 8005233C 0004F29C  4B FB 63 61 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80052340 0004F2A0  48 00 00 08 */	b lbl_80052348
lbl_80052344:
/* 80052344 0004F2A4  83 9C 00 08 */	lwz r28, 8(r28)
lbl_80052348:
/* 80052348 0004F2A8  2C 1F 00 01 */	cmpwi r31, 1
/* 8005234C 0004F2AC  41 82 00 0C */	beq lbl_80052358
/* 80052350 0004F2B0  2C 1F 00 02 */	cmpwi r31, 2
/* 80052354 0004F2B4  40 82 00 10 */	bne lbl_80052364
lbl_80052358:
/* 80052358 0004F2B8  38 61 00 10 */	addi r3, r1, 0x10
/* 8005235C 0004F2BC  4B FB 63 41 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80052360 0004F2C0  48 00 00 14 */	b lbl_80052374
lbl_80052364:
/* 80052364 0004F2C4  38 61 00 10 */	addi r3, r1, 0x10
/* 80052368 0004F2C8  4B FB 63 35 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
lbl_8005236C:
/* 8005236C 0004F2CC  28 1C 00 00 */	cmplwi r28, 0
/* 80052370 0004F2D0  40 82 FE 5C */	bne lbl_800521CC
lbl_80052374:
/* 80052374 0004F2D4  38 60 00 00 */	li r3, 0
lbl_80052378:
/* 80052378 0004F2D8  BB 21 00 34 */	lmw r25, 0x34(r1)
/* 8005237C 0004F2DC  80 01 00 54 */	lwz r0, 0x54(r1)
/* 80052380 0004F2E0  7C 08 03 A6 */	mtlr r0
/* 80052384 0004F2E4  38 21 00 50 */	addi r1, r1, 0x50
/* 80052388 0004F2E8  4E 80 00 20 */	blr

.global sub_8005238c
sub_8005238c:
/* 8005238C 0004F2EC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80052390 0004F2F0  7C 08 02 A6 */	mflr r0
/* 80052394 0004F2F4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80052398 0004F2F8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8005239C 0004F2FC  3B E1 00 10 */	addi r31, r1, 0x10
/* 800523A0 0004F300  93 C1 00 18 */	stw r30, 0x18(r1)
/* 800523A4 0004F304  7C 7E 1B 78 */	mr r30, r3
/* 800523A8 0004F308  7C 83 23 78 */	mr r3, r4
/* 800523AC 0004F30C  80 A4 00 04 */	lwz r5, 4(r4)
/* 800523B0 0004F310  80 05 00 08 */	lwz r0, 8(r5)
/* 800523B4 0004F314  90 01 00 08 */	stw r0, 8(r1)
/* 800523B8 0004F318  80 05 00 0C */	lwz r0, 0xc(r5)
/* 800523BC 0004F31C  90 01 00 0C */	stw r0, 0xc(r1)
/* 800523C0 0004F320  80 C5 00 10 */	lwz r6, 0x10(r5)
/* 800523C4 0004F324  90 C1 00 10 */	stw r6, 0x10(r1)
/* 800523C8 0004F328  80 A6 00 04 */	lwz r5, 4(r6)
/* 800523CC 0004F32C  38 05 00 01 */	addi r0, r5, 1
/* 800523D0 0004F330  90 06 00 04 */	stw r0, 4(r6)
/* 800523D4 0004F334  80 84 00 04 */	lwz r4, 4(r4)
/* 800523D8 0004F338  4B FF F9 A5 */	bl sub_80051d7c
/* 800523DC 0004F33C  80 01 00 08 */	lwz r0, 8(r1)
/* 800523E0 0004F340  28 1F 00 00 */	cmplwi r31, 0
/* 800523E4 0004F344  90 1E 00 00 */	stw r0, 0(r30)
/* 800523E8 0004F348  80 01 00 0C */	lwz r0, 0xc(r1)
/* 800523EC 0004F34C  90 1E 00 04 */	stw r0, 4(r30)
/* 800523F0 0004F350  80 01 00 10 */	lwz r0, 0x10(r1)
/* 800523F4 0004F354  90 1E 00 08 */	stw r0, 8(r30)
/* 800523F8 0004F358  80 9E 00 08 */	lwz r4, 8(r30)
/* 800523FC 0004F35C  80 64 00 04 */	lwz r3, 4(r4)
/* 80052400 0004F360  38 03 00 01 */	addi r0, r3, 1
/* 80052404 0004F364  90 04 00 04 */	stw r0, 4(r4)
/* 80052408 0004F368  41 82 00 0C */	beq lbl_80052414
/* 8005240C 0004F36C  7F E3 FB 78 */	mr r3, r31
/* 80052410 0004F370  4B FB 62 FD */	bl sub_8000870c
lbl_80052414:
/* 80052414 0004F374  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80052418 0004F378  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8005241C 0004F37C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80052420 0004F380  7C 08 03 A6 */	mtlr r0
/* 80052424 0004F384  38 21 00 20 */	addi r1, r1, 0x20
/* 80052428 0004F388  4E 80 00 20 */	blr

.global PumpMessages__13CIOWinManagerFR18CArchitectureQueue
PumpMessages__13CIOWinManagerFR18CArchitectureQueue:
/* 8005242C 0004F38C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80052430 0004F390  7C 08 02 A6 */	mflr r0
/* 80052434 0004F394  90 01 00 34 */	stw r0, 0x34(r1)
/* 80052438 0004F398  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8005243C 0004F39C  3B E1 00 10 */	addi r31, r1, 0x10
/* 80052440 0004F3A0  93 C1 00 28 */	stw r30, 0x28(r1)
/* 80052444 0004F3A4  3B C1 00 1C */	addi r30, r1, 0x1c
/* 80052448 0004F3A8  93 A1 00 24 */	stw r29, 0x24(r1)
/* 8005244C 0004F3AC  7C 9D 23 78 */	mr r29, r4
/* 80052450 0004F3B0  93 81 00 20 */	stw r28, 0x20(r1)
/* 80052454 0004F3B4  7C 7C 1B 78 */	mr r28, r3
/* 80052458 0004F3B8  48 00 00 64 */	b lbl_800524BC
lbl_8005245C:
/* 8005245C 0004F3BC  7F A4 EB 78 */	mr r4, r29
/* 80052460 0004F3C0  38 61 00 08 */	addi r3, r1, 8
/* 80052464 0004F3C4  4B FF FF 29 */	bl sub_8005238c
/* 80052468 0004F3C8  80 61 00 08 */	lwz r3, 8(r1)
/* 8005246C 0004F3CC  28 1F 00 00 */	cmplwi r31, 0
/* 80052470 0004F3D0  80 01 00 0C */	lwz r0, 0xc(r1)
/* 80052474 0004F3D4  80 81 00 10 */	lwz r4, 0x10(r1)
/* 80052478 0004F3D8  90 61 00 14 */	stw r3, 0x14(r1)
/* 8005247C 0004F3DC  90 01 00 18 */	stw r0, 0x18(r1)
/* 80052480 0004F3E0  90 81 00 1C */	stw r4, 0x1c(r1)
/* 80052484 0004F3E4  80 64 00 04 */	lwz r3, 4(r4)
/* 80052488 0004F3E8  38 03 00 01 */	addi r0, r3, 1
/* 8005248C 0004F3EC  90 04 00 04 */	stw r0, 4(r4)
/* 80052490 0004F3F0  41 82 00 0C */	beq lbl_8005249C
/* 80052494 0004F3F4  7F E3 FB 78 */	mr r3, r31
/* 80052498 0004F3F8  4B FB 62 75 */	bl sub_8000870c
lbl_8005249C:
/* 8005249C 0004F3FC  7F 83 E3 78 */	mr r3, r28
/* 800524A0 0004F400  7F A5 EB 78 */	mr r5, r29
/* 800524A4 0004F404  38 81 00 14 */	addi r4, r1, 0x14
/* 800524A8 0004F408  4B FF FC F9 */	bl DistributeOneMessage__13CIOWinManagerFRC20CArchitectureMessageR18CArchitectureQueue
/* 800524AC 0004F40C  28 1E 00 00 */	cmplwi r30, 0
/* 800524B0 0004F410  41 82 00 0C */	beq lbl_800524BC
/* 800524B4 0004F414  7F C3 F3 78 */	mr r3, r30
/* 800524B8 0004F418  4B FB 62 55 */	bl sub_8000870c
lbl_800524BC:
/* 800524BC 0004F41C  80 1D 00 14 */	lwz r0, 0x14(r29)
/* 800524C0 0004F420  2C 00 00 00 */	cmpwi r0, 0
/* 800524C4 0004F424  40 82 FF 98 */	bne lbl_8005245C
/* 800524C8 0004F428  80 01 00 34 */	lwz r0, 0x34(r1)
/* 800524CC 0004F42C  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 800524D0 0004F430  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 800524D4 0004F434  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 800524D8 0004F438  83 81 00 20 */	lwz r28, 0x20(r1)
/* 800524DC 0004F43C  7C 08 03 A6 */	mtlr r0
/* 800524E0 0004F440  38 21 00 30 */	addi r1, r1, 0x30
/* 800524E4 0004F444  4E 80 00 20 */	blr

.global sub_800524e8
sub_800524e8:
/* 800524E8 0004F448  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 800524EC 0004F44C  7C 08 02 A6 */	mflr r0
/* 800524F0 0004F450  90 01 00 34 */	stw r0, 0x34(r1)
/* 800524F4 0004F454  BF 61 00 1C */	stmw r27, 0x1c(r1)
/* 800524F8 0004F458  7C 9C 23 78 */	mr r28, r4
/* 800524FC 0004F45C  7C 7B 1B 78 */	mr r27, r3
/* 80052500 0004F460  7C BD 2B 78 */	mr r29, r5
/* 80052504 0004F464  83 C4 00 04 */	lwz r30, 4(r4)
/* 80052508 0004F468  48 00 00 4C */	b lbl_80052554
lbl_8005250C:
/* 8005250C 0004F46C  7F C4 F3 78 */	mr r4, r30
/* 80052510 0004F470  38 61 00 0C */	addi r3, r1, 0xc
/* 80052514 0004F474  4B FF F9 51 */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 80052518 0004F478  80 61 00 0C */	lwz r3, 0xc(r1)
/* 8005251C 0004F47C  80 63 00 00 */	lwz r3, 0(r3)
/* 80052520 0004F480  48 00 06 7D */	bl GetName__6CIOWinCFv
/* 80052524 0004F484  7F A4 EB 78 */	mr r4, r29
/* 80052528 0004F488  48 00 00 B9 */	bl "find__Q24rstl418red_black_tree<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,Q24rstl83pair<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,s>,0,Q24rstl103select1st<Q24rstl83pair<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,s>>,Q24rstl81less<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>CFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocat"
/* 8005252C 0004F48C  7C 7F 1B 78 */	mr r31, r3
/* 80052530 0004F490  38 61 00 0C */	addi r3, r1, 0xc
/* 80052534 0004F494  4B FB 61 69 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80052538 0004F498  57 E0 06 3F */	clrlwi. r0, r31, 0x18
/* 8005253C 0004F49C  41 82 00 14 */	beq lbl_80052550
/* 80052540 0004F4A0  7F 63 DB 78 */	mr r3, r27
/* 80052544 0004F4A4  7F C4 F3 78 */	mr r4, r30
/* 80052548 0004F4A8  4B FF F9 1D */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 8005254C 0004F4AC  48 00 00 80 */	b lbl_800525CC
lbl_80052550:
/* 80052550 0004F4B0  83 DE 00 08 */	lwz r30, 8(r30)
lbl_80052554:
/* 80052554 0004F4B4  28 1E 00 00 */	cmplwi r30, 0
/* 80052558 0004F4B8  40 82 FF B4 */	bne lbl_8005250C
/* 8005255C 0004F4BC  83 DC 00 00 */	lwz r30, 0(r28)
/* 80052560 0004F4C0  48 00 00 4C */	b lbl_800525AC
lbl_80052564:
/* 80052564 0004F4C4  7F C4 F3 78 */	mr r4, r30
/* 80052568 0004F4C8  38 61 00 08 */	addi r3, r1, 8
/* 8005256C 0004F4CC  4B FF F8 F9 */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 80052570 0004F4D0  80 61 00 08 */	lwz r3, 8(r1)
/* 80052574 0004F4D4  80 63 00 00 */	lwz r3, 0(r3)
/* 80052578 0004F4D8  48 00 06 25 */	bl GetName__6CIOWinCFv
/* 8005257C 0004F4DC  7F A4 EB 78 */	mr r4, r29
/* 80052580 0004F4E0  48 00 00 61 */	bl "find__Q24rstl418red_black_tree<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,Q24rstl83pair<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,s>,0,Q24rstl103select1st<Q24rstl83pair<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,s>>,Q24rstl81less<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>CFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocat"
/* 80052584 0004F4E4  7C 7F 1B 78 */	mr r31, r3
/* 80052588 0004F4E8  38 61 00 08 */	addi r3, r1, 8
/* 8005258C 0004F4EC  4B FB 61 11 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80052590 0004F4F0  57 E0 06 3F */	clrlwi. r0, r31, 0x18
/* 80052594 0004F4F4  41 82 00 14 */	beq lbl_800525A8
/* 80052598 0004F4F8  7F 63 DB 78 */	mr r3, r27
/* 8005259C 0004F4FC  7F C4 F3 78 */	mr r4, r30
/* 800525A0 0004F500  4B FF F8 C5 */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 800525A4 0004F504  48 00 00 28 */	b lbl_800525CC
lbl_800525A8:
/* 800525A8 0004F508  83 DE 00 08 */	lwz r30, 8(r30)
lbl_800525AC:
/* 800525AC 0004F50C  28 1E 00 00 */	cmplwi r30, 0
/* 800525B0 0004F510  40 82 FF B4 */	bne lbl_80052564
/* 800525B4 0004F514  38 0D A9 28 */	addi r0, r13, sNull__Q24rstl8CRefData@sda21
/* 800525B8 0004F518  90 1B 00 00 */	stw r0, 0(r27)
/* 800525BC 0004F51C  80 9B 00 00 */	lwz r4, 0(r27)
/* 800525C0 0004F520  80 64 00 04 */	lwz r3, 4(r4)
/* 800525C4 0004F524  38 03 00 01 */	addi r0, r3, 1
/* 800525C8 0004F528  90 04 00 04 */	stw r0, 4(r4)
lbl_800525CC:
/* 800525CC 0004F52C  BB 61 00 1C */	lmw r27, 0x1c(r1)
/* 800525D0 0004F530  80 01 00 34 */	lwz r0, 0x34(r1)
/* 800525D4 0004F534  7C 08 03 A6 */	mtlr r0
/* 800525D8 0004F538  38 21 00 30 */	addi r1, r1, 0x30
/* 800525DC 0004F53C  4E 80 00 20 */	blr

.global "find__Q24rstl418red_black_tree<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,Q24rstl83pair<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,s>,0,Q24rstl103select1st<Q24rstl83pair<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,s>>,Q24rstl81less<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>CFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocat"
"find__Q24rstl418red_black_tree<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,Q24rstl83pair<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,s>,0,Q24rstl103select1st<Q24rstl83pair<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,s>>,Q24rstl81less<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>CFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocat":
/* 800525E0 0004F540  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 800525E4 0004F544  7C 08 02 A6 */	mflr r0
/* 800525E8 0004F548  90 01 00 14 */	stw r0, 0x14(r1)
/* 800525EC 0004F54C  4B FD 81 89 */	bl sub_8002a774
/* 800525F0 0004F550  7C 60 00 34 */	cntlzw r0, r3
/* 800525F4 0004F554  54 03 D9 7E */	srwi r3, r0, 5
/* 800525F8 0004F558  80 01 00 14 */	lwz r0, 0x14(r1)
/* 800525FC 0004F55C  7C 08 03 A6 */	mtlr r0
/* 80052600 0004F560  38 21 00 10 */	addi r1, r1, 0x10
/* 80052604 0004F564  4E 80 00 20 */	blr

.global sub_80052608
sub_80052608:
/* 80052608 0004F568  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8005260C 0004F56C  7C 08 02 A6 */	mflr r0
/* 80052610 0004F570  90 01 00 34 */	stw r0, 0x34(r1)
/* 80052614 0004F574  BF 21 00 14 */	stmw r25, 0x14(r1)
/* 80052618 0004F578  7C 7E 1B 78 */	mr r30, r3
/* 8005261C 0004F57C  7C 99 23 78 */	mr r25, r4
/* 80052620 0004F580  7C BA 2B 78 */	mr r26, r5
/* 80052624 0004F584  7C DF 33 78 */	mr r31, r6
/* 80052628 0004F588  3B 80 00 00 */	li r28, 0
/* 8005262C 0004F58C  83 63 00 04 */	lwz r27, 4(r3)
/* 80052630 0004F590  48 00 00 9C */	b lbl_800526CC
lbl_80052634:
/* 80052634 0004F594  7F 64 DB 78 */	mr r4, r27
/* 80052638 0004F598  38 61 00 0C */	addi r3, r1, 0xc
/* 8005263C 0004F59C  4B FF F8 29 */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 80052640 0004F5A0  7F 24 CB 78 */	mr r4, r25
/* 80052644 0004F5A4  38 61 00 0C */	addi r3, r1, 0xc
/* 80052648 0004F5A8  48 00 05 25 */	bl "__eq<6CIOWin>__4rstlFRCQ24rstl15rc_ptr<6CIOWin>RCQ24rstl15rc_ptr<6CIOWin>"
/* 8005264C 0004F5AC  7C 7D 1B 78 */	mr r29, r3
/* 80052650 0004F5B0  38 61 00 0C */	addi r3, r1, 0xc
/* 80052654 0004F5B4  4B FB 60 49 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80052658 0004F5B8  57 A0 06 3F */	clrlwi. r0, r29, 0x18
/* 8005265C 0004F5BC  41 82 00 68 */	beq lbl_800526C4
/* 80052660 0004F5C0  28 1C 00 00 */	cmplwi r28, 0
/* 80052664 0004F5C4  40 82 00 10 */	bne lbl_80052674
/* 80052668 0004F5C8  80 1B 00 08 */	lwz r0, 8(r27)
/* 8005266C 0004F5CC  90 1E 00 04 */	stw r0, 4(r30)
/* 80052670 0004F5D0  48 00 00 0C */	b lbl_8005267C
lbl_80052674:
/* 80052674 0004F5D4  80 1B 00 08 */	lwz r0, 8(r27)
/* 80052678 0004F5D8  90 1C 00 08 */	stw r0, 8(r28)
lbl_8005267C:
/* 8005267C 0004F5DC  93 5B 00 04 */	stw r26, 4(r27)
/* 80052680 0004F5E0  38 60 00 00 */	li r3, 0
/* 80052684 0004F5E4  80 9E 00 04 */	lwz r4, 4(r30)
/* 80052688 0004F5E8  48 00 00 0C */	b lbl_80052694
lbl_8005268C:
/* 8005268C 0004F5EC  7C 83 23 78 */	mr r3, r4
/* 80052690 0004F5F0  80 84 00 08 */	lwz r4, 8(r4)
lbl_80052694:
/* 80052694 0004F5F4  28 04 00 00 */	cmplwi r4, 0
/* 80052698 0004F5F8  41 82 00 10 */	beq lbl_800526A8
/* 8005269C 0004F5FC  80 04 00 04 */	lwz r0, 4(r4)
/* 800526A0 0004F600  7C 00 D0 00 */	cmpw r0, r26
/* 800526A4 0004F604  41 81 FF E8 */	bgt lbl_8005268C
lbl_800526A8:
/* 800526A8 0004F608  28 03 00 00 */	cmplwi r3, 0
/* 800526AC 0004F60C  90 9B 00 08 */	stw r4, 8(r27)
/* 800526B0 0004F610  40 82 00 0C */	bne lbl_800526BC
/* 800526B4 0004F614  93 7E 00 04 */	stw r27, 4(r30)
/* 800526B8 0004F618  48 00 00 1C */	b lbl_800526D4
lbl_800526BC:
/* 800526BC 0004F61C  93 63 00 08 */	stw r27, 8(r3)
/* 800526C0 0004F620  48 00 00 14 */	b lbl_800526D4
lbl_800526C4:
/* 800526C4 0004F624  7F 7C DB 78 */	mr r28, r27
/* 800526C8 0004F628  83 7B 00 08 */	lwz r27, 8(r27)
lbl_800526CC:
/* 800526CC 0004F62C  28 1B 00 00 */	cmplwi r27, 0
/* 800526D0 0004F630  40 82 FF 64 */	bne lbl_80052634
lbl_800526D4:
/* 800526D4 0004F634  83 7E 00 00 */	lwz r27, 0(r30)
/* 800526D8 0004F638  3B 80 00 00 */	li r28, 0
/* 800526DC 0004F63C  48 00 00 9C */	b lbl_80052778
lbl_800526E0:
/* 800526E0 0004F640  7F 64 DB 78 */	mr r4, r27
/* 800526E4 0004F644  38 61 00 08 */	addi r3, r1, 8
/* 800526E8 0004F648  4B FF F7 7D */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 800526EC 0004F64C  7F 24 CB 78 */	mr r4, r25
/* 800526F0 0004F650  38 61 00 08 */	addi r3, r1, 8
/* 800526F4 0004F654  48 00 04 79 */	bl "__eq<6CIOWin>__4rstlFRCQ24rstl15rc_ptr<6CIOWin>RCQ24rstl15rc_ptr<6CIOWin>"
/* 800526F8 0004F658  7C 7D 1B 78 */	mr r29, r3
/* 800526FC 0004F65C  38 61 00 08 */	addi r3, r1, 8
/* 80052700 0004F660  4B FB 5F 9D */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 80052704 0004F664  57 A0 06 3F */	clrlwi. r0, r29, 0x18
/* 80052708 0004F668  41 82 00 68 */	beq lbl_80052770
/* 8005270C 0004F66C  28 1C 00 00 */	cmplwi r28, 0
/* 80052710 0004F670  40 82 00 10 */	bne lbl_80052720
/* 80052714 0004F674  80 1B 00 08 */	lwz r0, 8(r27)
/* 80052718 0004F678  90 1E 00 00 */	stw r0, 0(r30)
/* 8005271C 0004F67C  48 00 00 0C */	b lbl_80052728
lbl_80052720:
/* 80052720 0004F680  80 1B 00 08 */	lwz r0, 8(r27)
/* 80052724 0004F684  90 1C 00 08 */	stw r0, 8(r28)
lbl_80052728:
/* 80052728 0004F688  93 FB 00 04 */	stw r31, 4(r27)
/* 8005272C 0004F68C  38 60 00 00 */	li r3, 0
/* 80052730 0004F690  80 9E 00 00 */	lwz r4, 0(r30)
/* 80052734 0004F694  48 00 00 0C */	b lbl_80052740
lbl_80052738:
/* 80052738 0004F698  7C 83 23 78 */	mr r3, r4
/* 8005273C 0004F69C  80 84 00 08 */	lwz r4, 8(r4)
lbl_80052740:
/* 80052740 0004F6A0  28 04 00 00 */	cmplwi r4, 0
/* 80052744 0004F6A4  41 82 00 10 */	beq lbl_80052754
/* 80052748 0004F6A8  80 04 00 04 */	lwz r0, 4(r4)
/* 8005274C 0004F6AC  7C 00 F8 00 */	cmpw r0, r31
/* 80052750 0004F6B0  41 81 FF E8 */	bgt lbl_80052738
lbl_80052754:
/* 80052754 0004F6B4  28 03 00 00 */	cmplwi r3, 0
/* 80052758 0004F6B8  90 9B 00 08 */	stw r4, 8(r27)
/* 8005275C 0004F6BC  40 82 00 0C */	bne lbl_80052768
/* 80052760 0004F6C0  93 7E 00 00 */	stw r27, 0(r30)
/* 80052764 0004F6C4  48 00 00 1C */	b lbl_80052780
lbl_80052768:
/* 80052768 0004F6C8  93 63 00 08 */	stw r27, 8(r3)
/* 8005276C 0004F6CC  48 00 00 14 */	b lbl_80052780
lbl_80052770:
/* 80052770 0004F6D0  7F 7C DB 78 */	mr r28, r27
/* 80052774 0004F6D4  83 7B 00 08 */	lwz r27, 8(r27)
lbl_80052778:
/* 80052778 0004F6D8  28 1B 00 00 */	cmplwi r27, 0
/* 8005277C 0004F6DC  40 82 FF 64 */	bne lbl_800526E0
lbl_80052780:
/* 80052780 0004F6E0  BB 21 00 14 */	lmw r25, 0x14(r1)
/* 80052784 0004F6E4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80052788 0004F6E8  7C 08 03 A6 */	mtlr r0
/* 8005278C 0004F6EC  38 21 00 30 */	addi r1, r1, 0x30
/* 80052790 0004F6F0  4E 80 00 20 */	blr

.global RemoveAllIOWins__13CIOWinManagerFv
RemoveAllIOWins__13CIOWinManagerFv:
/* 80052794 0004F6F4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80052798 0004F6F8  7C 08 02 A6 */	mflr r0
/* 8005279C 0004F6FC  90 01 00 24 */	stw r0, 0x24(r1)
/* 800527A0 0004F700  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 800527A4 0004F704  7C 7F 1B 78 */	mr r31, r3
/* 800527A8 0004F708  48 00 00 20 */	b lbl_800527C8
lbl_800527AC:
/* 800527AC 0004F70C  38 61 00 0C */	addi r3, r1, 0xc
/* 800527B0 0004F710  4B FF F6 B5 */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 800527B4 0004F714  7F E3 FB 78 */	mr r3, r31
/* 800527B8 0004F718  38 81 00 0C */	addi r4, r1, 0xc
/* 800527BC 0004F71C  48 00 00 59 */	bl "RemoveIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr<6CIOWin>"
/* 800527C0 0004F720  38 61 00 0C */	addi r3, r1, 0xc
/* 800527C4 0004F724  4B FB 5E D9 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
lbl_800527C8:
/* 800527C8 0004F728  80 9F 00 00 */	lwz r4, 0(r31)
/* 800527CC 0004F72C  28 04 00 00 */	cmplwi r4, 0
/* 800527D0 0004F730  40 82 FF DC */	bne lbl_800527AC
/* 800527D4 0004F734  48 00 00 20 */	b lbl_800527F4
lbl_800527D8:
/* 800527D8 0004F738  38 61 00 08 */	addi r3, r1, 8
/* 800527DC 0004F73C  4B FF F6 89 */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 800527E0 0004F740  7F E3 FB 78 */	mr r3, r31
/* 800527E4 0004F744  38 81 00 08 */	addi r4, r1, 8
/* 800527E8 0004F748  48 00 00 2D */	bl "RemoveIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr<6CIOWin>"
/* 800527EC 0004F74C  38 61 00 08 */	addi r3, r1, 8
/* 800527F0 0004F750  4B FB 5E AD */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
lbl_800527F4:
/* 800527F4 0004F754  80 9F 00 04 */	lwz r4, 4(r31)
/* 800527F8 0004F758  28 04 00 00 */	cmplwi r4, 0
/* 800527FC 0004F75C  40 82 FF DC */	bne lbl_800527D8
/* 80052800 0004F760  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80052804 0004F764  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80052808 0004F768  7C 08 03 A6 */	mtlr r0
/* 8005280C 0004F76C  38 21 00 20 */	addi r1, r1, 0x20
/* 80052810 0004F770  4E 80 00 20 */	blr

.global "RemoveIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr<6CIOWin>"
"RemoveIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr<6CIOWin>":
/* 80052814 0004F774  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80052818 0004F778  7C 08 02 A6 */	mflr r0
/* 8005281C 0004F77C  90 01 00 34 */	stw r0, 0x34(r1)
/* 80052820 0004F780  BF 61 00 1C */	stmw r27, 0x1c(r1)
/* 80052824 0004F784  7C 7B 1B 78 */	mr r27, r3
/* 80052828 0004F788  7C 9C 23 78 */	mr r28, r4
/* 8005282C 0004F78C  3B A0 00 00 */	li r29, 0
/* 80052830 0004F790  83 C3 00 04 */	lwz r30, 4(r3)
/* 80052834 0004F794  48 00 00 78 */	b lbl_800528AC
lbl_80052838:
/* 80052838 0004F798  7F C4 F3 78 */	mr r4, r30
/* 8005283C 0004F79C  38 61 00 0C */	addi r3, r1, 0xc
/* 80052840 0004F7A0  4B FF F6 25 */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 80052844 0004F7A4  7F 84 E3 78 */	mr r4, r28
/* 80052848 0004F7A8  38 61 00 0C */	addi r3, r1, 0xc
/* 8005284C 0004F7AC  48 00 03 21 */	bl "__eq<6CIOWin>__4rstlFRCQ24rstl15rc_ptr<6CIOWin>RCQ24rstl15rc_ptr<6CIOWin>"
/* 80052850 0004F7B0  7C 7F 1B 78 */	mr r31, r3
/* 80052854 0004F7B4  38 61 00 0C */	addi r3, r1, 0xc
/* 80052858 0004F7B8  4B FB 5E 45 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 8005285C 0004F7BC  57 E0 06 3F */	clrlwi. r0, r31, 0x18
/* 80052860 0004F7C0  41 82 00 44 */	beq lbl_800528A4
/* 80052864 0004F7C4  28 1D 00 00 */	cmplwi r29, 0
/* 80052868 0004F7C8  40 82 00 10 */	bne lbl_80052878
/* 8005286C 0004F7CC  80 1E 00 08 */	lwz r0, 8(r30)
/* 80052870 0004F7D0  90 1B 00 04 */	stw r0, 4(r27)
/* 80052874 0004F7D4  48 00 00 0C */	b lbl_80052880
lbl_80052878:
/* 80052878 0004F7D8  80 1E 00 08 */	lwz r0, 8(r30)
/* 8005287C 0004F7DC  90 1D 00 08 */	stw r0, 8(r29)
lbl_80052880:
/* 80052880 0004F7E0  28 1E 00 00 */	cmplwi r30, 0
/* 80052884 0004F7E4  41 82 00 30 */	beq lbl_800528B4
/* 80052888 0004F7E8  41 82 00 10 */	beq lbl_80052898
/* 8005288C 0004F7EC  41 82 00 0C */	beq lbl_80052898
/* 80052890 0004F7F0  7F C3 F3 78 */	mr r3, r30
/* 80052894 0004F7F4  4B FB 5E 09 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
lbl_80052898:
/* 80052898 0004F7F8  7F C3 F3 78 */	mr r3, r30
/* 8005289C 0004F7FC  48 2C 30 95 */	bl Free__7CMemoryFPCv
/* 800528A0 0004F800  48 00 00 14 */	b lbl_800528B4
lbl_800528A4:
/* 800528A4 0004F804  7F DD F3 78 */	mr r29, r30
/* 800528A8 0004F808  83 DE 00 08 */	lwz r30, 8(r30)
lbl_800528AC:
/* 800528AC 0004F80C  28 1E 00 00 */	cmplwi r30, 0
/* 800528B0 0004F810  40 82 FF 88 */	bne lbl_80052838
lbl_800528B4:
/* 800528B4 0004F814  83 BB 00 00 */	lwz r29, 0(r27)
/* 800528B8 0004F818  3B C0 00 00 */	li r30, 0
/* 800528BC 0004F81C  48 00 00 78 */	b lbl_80052934
lbl_800528C0:
/* 800528C0 0004F820  7F A4 EB 78 */	mr r4, r29
/* 800528C4 0004F824  38 61 00 08 */	addi r3, r1, 8
/* 800528C8 0004F828  4B FF F5 9D */	bl GetIOWin__Q213CIOWinManager11IOWinPQNodeCFv
/* 800528CC 0004F82C  7F 84 E3 78 */	mr r4, r28
/* 800528D0 0004F830  38 61 00 08 */	addi r3, r1, 8
/* 800528D4 0004F834  48 00 02 99 */	bl "__eq<6CIOWin>__4rstlFRCQ24rstl15rc_ptr<6CIOWin>RCQ24rstl15rc_ptr<6CIOWin>"
/* 800528D8 0004F838  7C 7F 1B 78 */	mr r31, r3
/* 800528DC 0004F83C  38 61 00 08 */	addi r3, r1, 8
/* 800528E0 0004F840  4B FB 5D BD */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
/* 800528E4 0004F844  57 E0 06 3F */	clrlwi. r0, r31, 0x18
/* 800528E8 0004F848  41 82 00 44 */	beq lbl_8005292C
/* 800528EC 0004F84C  28 1E 00 00 */	cmplwi r30, 0
/* 800528F0 0004F850  40 82 00 10 */	bne lbl_80052900
/* 800528F4 0004F854  80 1D 00 08 */	lwz r0, 8(r29)
/* 800528F8 0004F858  90 1B 00 00 */	stw r0, 0(r27)
/* 800528FC 0004F85C  48 00 00 0C */	b lbl_80052908
lbl_80052900:
/* 80052900 0004F860  80 1D 00 08 */	lwz r0, 8(r29)
/* 80052904 0004F864  90 1E 00 08 */	stw r0, 8(r30)
lbl_80052908:
/* 80052908 0004F868  28 1D 00 00 */	cmplwi r29, 0
/* 8005290C 0004F86C  41 82 00 30 */	beq lbl_8005293C
/* 80052910 0004F870  41 82 00 10 */	beq lbl_80052920
/* 80052914 0004F874  41 82 00 0C */	beq lbl_80052920
/* 80052918 0004F878  7F A3 EB 78 */	mr r3, r29
/* 8005291C 0004F87C  4B FB 5D 81 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
lbl_80052920:
/* 80052920 0004F880  7F A3 EB 78 */	mr r3, r29
/* 80052924 0004F884  48 2C 30 0D */	bl Free__7CMemoryFPCv
/* 80052928 0004F888  48 00 00 14 */	b lbl_8005293C
lbl_8005292C:
/* 8005292C 0004F88C  7F BE EB 78 */	mr r30, r29
/* 80052930 0004F890  83 BD 00 08 */	lwz r29, 8(r29)
lbl_80052934:
/* 80052934 0004F894  28 1D 00 00 */	cmplwi r29, 0
/* 80052938 0004F898  40 82 FF 88 */	bne lbl_800528C0
lbl_8005293C:
/* 8005293C 0004F89C  BB 61 00 1C */	lmw r27, 0x1c(r1)
/* 80052940 0004F8A0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80052944 0004F8A4  7C 08 03 A6 */	mtlr r0
/* 80052948 0004F8A8  38 21 00 30 */	addi r1, r1, 0x30
/* 8005294C 0004F8AC  4E 80 00 20 */	blr

.global "AddIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr<6CIOWin>ii"
"AddIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr<6CIOWin>ii":
/* 80052950 0004F8B0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80052954 0004F8B4  7C 08 02 A6 */	mflr r0
/* 80052958 0004F8B8  90 01 00 34 */	stw r0, 0x34(r1)
/* 8005295C 0004F8BC  BF 01 00 10 */	stmw r24, 0x10(r1)
/* 80052960 0004F8C0  7C 7D 1B 78 */	mr r29, r3
/* 80052964 0004F8C4  7C 9E 23 78 */	mr r30, r4
/* 80052968 0004F8C8  7C B9 2B 78 */	mr r25, r5
/* 8005296C 0004F8CC  7C DF 33 78 */	mr r31, r6
/* 80052970 0004F8D0  3B 60 00 00 */	li r27, 0
/* 80052974 0004F8D4  83 43 00 04 */	lwz r26, 4(r3)
/* 80052978 0004F8D8  48 00 00 0C */	b lbl_80052984
lbl_8005297C:
/* 8005297C 0004F8DC  7F 5B D3 78 */	mr r27, r26
/* 80052980 0004F8E0  83 5A 00 08 */	lwz r26, 8(r26)
lbl_80052984:
/* 80052984 0004F8E4  28 1A 00 00 */	cmplwi r26, 0
/* 80052988 0004F8E8  41 82 00 10 */	beq lbl_80052998
/* 8005298C 0004F8EC  80 1A 00 04 */	lwz r0, 4(r26)
/* 80052990 0004F8F0  7C 00 C8 00 */	cmpw r0, r25
/* 80052994 0004F8F4  41 81 FF E8 */	bgt lbl_8005297C
lbl_80052998:
/* 80052998 0004F8F8  3C 60 80 3D */	lis r3, lbl_803CCF28@ha
/* 8005299C 0004F8FC  3B 00 00 00 */	li r24, 0
/* 800529A0 0004F900  38 83 CF 28 */	addi r4, r3, lbl_803CCF28@l
/* 800529A4 0004F904  38 60 00 0C */	li r3, 0xc
/* 800529A8 0004F908  38 84 00 33 */	addi r4, r4, 0x33
/* 800529AC 0004F90C  38 A0 00 00 */	li r5, 0
/* 800529B0 0004F910  48 2C 2E BD */	bl __nw__FUlPCcPCc
/* 800529B4 0004F914  7C 7C 1B 79 */	or. r28, r3, r3
/* 800529B8 0004F918  41 82 00 30 */	beq lbl_800529E8
/* 800529BC 0004F91C  81 1E 00 00 */	lwz r8, 0(r30)
/* 800529C0 0004F920  7F 25 CB 78 */	mr r5, r25
/* 800529C4 0004F924  7F 46 D3 78 */	mr r6, r26
/* 800529C8 0004F928  38 81 00 0C */	addi r4, r1, 0xc
/* 800529CC 0004F92C  91 01 00 0C */	stw r8, 0xc(r1)
/* 800529D0 0004F930  3B 00 00 01 */	li r24, 1
/* 800529D4 0004F934  80 E8 00 04 */	lwz r7, 4(r8)
/* 800529D8 0004F938  38 07 00 01 */	addi r0, r7, 1
/* 800529DC 0004F93C  90 08 00 04 */	stw r0, 4(r8)
/* 800529E0 0004F940  48 00 00 DD */	bl "__ct__Q213CIOWinManager11IOWinPQNodeFQ24rstl17ncrc_ptr<6CIOWin>iPQ213CIOWinManager11IOWinPQNode"
/* 800529E4 0004F944  7C 7C 1B 78 */	mr r28, r3
lbl_800529E8:
/* 800529E8 0004F948  7F 00 07 75 */	extsb. r0, r24
/* 800529EC 0004F94C  41 82 00 0C */	beq lbl_800529F8
/* 800529F0 0004F950  38 61 00 0C */	addi r3, r1, 0xc
/* 800529F4 0004F954  4B FB 5C A9 */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
lbl_800529F8:
/* 800529F8 0004F958  28 1B 00 00 */	cmplwi r27, 0
/* 800529FC 0004F95C  40 82 00 0C */	bne lbl_80052A08
/* 80052A00 0004F960  93 9D 00 04 */	stw r28, 4(r29)
/* 80052A04 0004F964  48 00 00 08 */	b lbl_80052A0C
lbl_80052A08:
/* 80052A08 0004F968  93 9B 00 08 */	stw r28, 8(r27)
lbl_80052A0C:
/* 80052A0C 0004F96C  83 7D 00 00 */	lwz r27, 0(r29)
/* 80052A10 0004F970  3B 40 00 00 */	li r26, 0
/* 80052A14 0004F974  48 00 00 0C */	b lbl_80052A20
lbl_80052A18:
/* 80052A18 0004F978  7F 7A DB 78 */	mr r26, r27
/* 80052A1C 0004F97C  83 7B 00 08 */	lwz r27, 8(r27)
lbl_80052A20:
/* 80052A20 0004F980  28 1B 00 00 */	cmplwi r27, 0
/* 80052A24 0004F984  41 82 00 10 */	beq lbl_80052A34
/* 80052A28 0004F988  80 1B 00 04 */	lwz r0, 4(r27)
/* 80052A2C 0004F98C  7C 00 F8 00 */	cmpw r0, r31
/* 80052A30 0004F990  41 81 FF E8 */	bgt lbl_80052A18
lbl_80052A34:
/* 80052A34 0004F994  3C 60 80 3D */	lis r3, lbl_803CCF28@ha
/* 80052A38 0004F998  3B 00 00 00 */	li r24, 0
/* 80052A3C 0004F99C  38 83 CF 28 */	addi r4, r3, lbl_803CCF28@l
/* 80052A40 0004F9A0  38 60 00 0C */	li r3, 0xc
/* 80052A44 0004F9A4  38 84 00 33 */	addi r4, r4, 0x33
/* 80052A48 0004F9A8  38 A0 00 00 */	li r5, 0
/* 80052A4C 0004F9AC  48 2C 2E 21 */	bl __nw__FUlPCcPCc
/* 80052A50 0004F9B0  7C 7C 1B 79 */	or. r28, r3, r3
/* 80052A54 0004F9B4  41 82 00 30 */	beq lbl_80052A84
/* 80052A58 0004F9B8  81 1E 00 00 */	lwz r8, 0(r30)
/* 80052A5C 0004F9BC  7F E5 FB 78 */	mr r5, r31
/* 80052A60 0004F9C0  7F 66 DB 78 */	mr r6, r27
/* 80052A64 0004F9C4  38 81 00 08 */	addi r4, r1, 8
/* 80052A68 0004F9C8  91 01 00 08 */	stw r8, 8(r1)
/* 80052A6C 0004F9CC  3B 00 00 01 */	li r24, 1
/* 80052A70 0004F9D0  80 E8 00 04 */	lwz r7, 4(r8)
/* 80052A74 0004F9D4  38 07 00 01 */	addi r0, r7, 1
/* 80052A78 0004F9D8  90 08 00 04 */	stw r0, 4(r8)
/* 80052A7C 0004F9DC  48 00 00 41 */	bl "__ct__Q213CIOWinManager11IOWinPQNodeFQ24rstl17ncrc_ptr<6CIOWin>iPQ213CIOWinManager11IOWinPQNode"
/* 80052A80 0004F9E0  7C 7C 1B 78 */	mr r28, r3
lbl_80052A84:
/* 80052A84 0004F9E4  7F 00 07 75 */	extsb. r0, r24
/* 80052A88 0004F9E8  41 82 00 0C */	beq lbl_80052A94
/* 80052A8C 0004F9EC  38 61 00 08 */	addi r3, r1, 8
/* 80052A90 0004F9F0  4B FB 5C 0D */	bl "__dt__Q24rstl15rc_ptr<6CIOWin>Fv"
lbl_80052A94:
/* 80052A94 0004F9F4  28 1A 00 00 */	cmplwi r26, 0
/* 80052A98 0004F9F8  40 82 00 0C */	bne lbl_80052AA4
/* 80052A9C 0004F9FC  93 9D 00 00 */	stw r28, 0(r29)
/* 80052AA0 0004FA00  48 00 00 08 */	b lbl_80052AA8
lbl_80052AA4:
/* 80052AA4 0004FA04  93 9A 00 08 */	stw r28, 8(r26)
lbl_80052AA8:
/* 80052AA8 0004FA08  BB 01 00 10 */	lmw r24, 0x10(r1)
/* 80052AAC 0004FA0C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80052AB0 0004FA10  7C 08 03 A6 */	mtlr r0
/* 80052AB4 0004FA14  38 21 00 30 */	addi r1, r1, 0x30
/* 80052AB8 0004FA18  4E 80 00 20 */	blr

.global "__ct__Q213CIOWinManager11IOWinPQNodeFQ24rstl17ncrc_ptr<6CIOWin>iPQ213CIOWinManager11IOWinPQNode"
"__ct__Q213CIOWinManager11IOWinPQNodeFQ24rstl17ncrc_ptr<6CIOWin>iPQ213CIOWinManager11IOWinPQNode":
/* 80052ABC 0004FA1C  80 04 00 00 */	lwz r0, 0(r4)
/* 80052AC0 0004FA20  90 03 00 00 */	stw r0, 0(r3)
/* 80052AC4 0004FA24  80 E3 00 00 */	lwz r7, 0(r3)
/* 80052AC8 0004FA28  80 87 00 04 */	lwz r4, 4(r7)
/* 80052ACC 0004FA2C  38 04 00 01 */	addi r0, r4, 1
/* 80052AD0 0004FA30  90 07 00 04 */	stw r0, 4(r7)
/* 80052AD4 0004FA34  90 A3 00 04 */	stw r5, 4(r3)
/* 80052AD8 0004FA38  90 C3 00 08 */	stw r6, 8(r3)
/* 80052ADC 0004FA3C  4E 80 00 20 */	blr

.global __dt__13CIOWinManagerFv
__dt__13CIOWinManagerFv:
/* 80052AE0 0004FA40  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80052AE4 0004FA44  7C 08 02 A6 */	mflr r0
/* 80052AE8 0004FA48  90 01 00 14 */	stw r0, 0x14(r1)
/* 80052AEC 0004FA4C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80052AF0 0004FA50  7C 9F 23 78 */	mr r31, r4
/* 80052AF4 0004FA54  93 C1 00 08 */	stw r30, 8(r1)
/* 80052AF8 0004FA58  7C 7E 1B 79 */	or. r30, r3, r3
/* 80052AFC 0004FA5C  41 82 00 2C */	beq lbl_80052B28
/* 80052B00 0004FA60  4B FF FC 95 */	bl RemoveAllIOWins__13CIOWinManagerFv
/* 80052B04 0004FA64  34 1E 00 08 */	addic. r0, r30, 8
/* 80052B08 0004FA68  41 82 00 10 */	beq lbl_80052B18
/* 80052B0C 0004FA6C  38 7E 00 08 */	addi r3, r30, 8
/* 80052B10 0004FA70  38 80 FF FF */	li r4, -1
/* 80052B14 0004FA74  4B FB 65 95 */	bl __dt__18CArchitectureQueueFv
lbl_80052B18:
/* 80052B18 0004FA78  7F E0 07 35 */	extsh. r0, r31
/* 80052B1C 0004FA7C  40 81 00 0C */	ble lbl_80052B28
/* 80052B20 0004FA80  7F C3 F3 78 */	mr r3, r30
/* 80052B24 0004FA84  48 2C 2E 0D */	bl Free__7CMemoryFPCv
lbl_80052B28:
/* 80052B28 0004FA88  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80052B2C 0004FA8C  7F C3 F3 78 */	mr r3, r30
/* 80052B30 0004FA90  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80052B34 0004FA94  83 C1 00 08 */	lwz r30, 8(r1)
/* 80052B38 0004FA98  7C 08 03 A6 */	mtlr r0
/* 80052B3C 0004FA9C  38 21 00 10 */	addi r1, r1, 0x10
/* 80052B40 0004FAA0  4E 80 00 20 */	blr

.global __ct__13CIOWinManagerFv
__ct__13CIOWinManagerFv:
/* 80052B44 0004FAA4  38 80 00 00 */	li r4, 0
/* 80052B48 0004FAA8  38 03 00 14 */	addi r0, r3, 0x14
/* 80052B4C 0004FAAC  90 83 00 00 */	stw r4, 0(r3)
/* 80052B50 0004FAB0  90 83 00 04 */	stw r4, 4(r3)
/* 80052B54 0004FAB4  90 03 00 0C */	stw r0, 0xc(r3)
/* 80052B58 0004FAB8  90 03 00 10 */	stw r0, 0x10(r3)
/* 80052B5C 0004FABC  90 03 00 14 */	stw r0, 0x14(r3)
/* 80052B60 0004FAC0  90 03 00 18 */	stw r0, 0x18(r3)
/* 80052B64 0004FAC4  90 83 00 1C */	stw r4, 0x1c(r3)
/* 80052B68 0004FAC8  4E 80 00 20 */	blr

.global "__eq<6CIOWin>__4rstlFRCQ24rstl15rc_ptr<6CIOWin>RCQ24rstl15rc_ptr<6CIOWin>"
"__eq<6CIOWin>__4rstlFRCQ24rstl15rc_ptr<6CIOWin>RCQ24rstl15rc_ptr<6CIOWin>":
/* 80052B6C 0004FACC  80 A3 00 00 */	lwz r5, 0(r3)
/* 80052B70 0004FAD0  80 64 00 00 */	lwz r3, 0(r4)
/* 80052B74 0004FAD4  80 85 00 00 */	lwz r4, 0(r5)
/* 80052B78 0004FAD8  80 03 00 00 */	lwz r0, 0(r3)
/* 80052B7C 0004FADC  7C 04 00 50 */	subf r0, r4, r0
/* 80052B80 0004FAE0  7C 00 00 34 */	cntlzw r0, r0
/* 80052B84 0004FAE4  54 03 D9 7E */	srwi r3, r0, 5
/* 80052B88 0004FAE8  4E 80 00 20 */	blr