prime/asm/MetroidPrime/CIOWinManager.s

1072 lines
53 KiB
ArmAsm

.include "macros.inc"
.section .rodata
.balign 8
.global lbl_803CCF28
lbl_803CCF28:
# ROM: 0x3C9F28
.asciz "Msg[%3d] %s"
.asciz "-------------------------"
.asciz "Draw[%3d] %s"
.asciz "??(??)"
.balign 4
.4byte 0
.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 "__dt__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
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 "__dt__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
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 "__dt__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
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 "__dt__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
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 "__dt__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
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 "__dt__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
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