.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_80049084 func_80049084: /* 80049084 00044CE4 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049088 00044CE8 3C 80 80 41 */ lis r4, lbl_8040A6E8@ha /* 8004908C 00044CEC 38 00 00 00 */ li r0, 0 /* 80049090 00044CF0 38 84 A6 E8 */ addi r4, r4, lbl_8040A6E8@l /* 80049094 00044CF4 D0 03 00 0C */ stfs f0, 0xc(r3) /* 80049098 00044CF8 90 83 00 28 */ stw r4, 0x28(r3) /* 8004909C 00044CFC 90 03 00 08 */ stw r0, 8(r3) /* 800490A0 00044D00 90 03 00 00 */ stw r0, 0(r3) /* 800490A4 00044D04 90 03 00 04 */ stw r0, 4(r3) /* 800490A8 00044D08 90 03 00 1C */ stw r0, 0x1c(r3) /* 800490AC 00044D0C 90 03 00 24 */ stw r0, 0x24(r3) /* 800490B0 00044D10 4E 80 00 20 */ blr .global func_800490B4 func_800490B4: /* 800490B4 00044D14 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800490B8 00044D18 7C 08 02 A6 */ mflr r0 /* 800490BC 00044D1C 2C 03 00 00 */ cmpwi r3, 0 /* 800490C0 00044D20 90 01 00 14 */ stw r0, 0x14(r1) /* 800490C4 00044D24 93 E1 00 0C */ stw r31, 0xc(r1) /* 800490C8 00044D28 7C 9F 23 78 */ mr r31, r4 /* 800490CC 00044D2C 93 C1 00 08 */ stw r30, 8(r1) /* 800490D0 00044D30 7C 7E 1B 78 */ mr r30, r3 /* 800490D4 00044D34 41 82 00 2C */ beq lbl_80049100 /* 800490D8 00044D38 3D 80 80 41 */ lis r12, lbl_8040A6E8@ha /* 800490DC 00044D3C 39 8C A6 E8 */ addi r12, r12, lbl_8040A6E8@l /* 800490E0 00044D40 91 83 00 28 */ stw r12, 0x28(r3) /* 800490E4 00044D44 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 800490E8 00044D48 7D 89 03 A6 */ mtctr r12 /* 800490EC 00044D4C 4E 80 04 21 */ bctrl /* 800490F0 00044D50 2C 1F 00 00 */ cmpwi r31, 0 /* 800490F4 00044D54 40 81 00 0C */ ble lbl_80049100 /* 800490F8 00044D58 7F C3 F3 78 */ mr r3, r30 /* 800490FC 00044D5C 48 19 19 BD */ bl __dl__FPv lbl_80049100: /* 80049100 00044D60 7F C3 F3 78 */ mr r3, r30 /* 80049104 00044D64 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80049108 00044D68 83 C1 00 08 */ lwz r30, 8(r1) /* 8004910C 00044D6C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80049110 00044D70 7C 08 03 A6 */ mtlr r0 /* 80049114 00044D74 38 21 00 10 */ addi r1, r1, 0x10 /* 80049118 00044D78 4E 80 00 20 */ blr .global func_8004911C func_8004911C: /* 8004911C 00044D7C 38 00 00 00 */ li r0, 0 /* 80049120 00044D80 90 03 00 1C */ stw r0, 0x1c(r3) /* 80049124 00044D84 4E 80 00 20 */ blr .global func_80049128 func_80049128: /* 80049128 00044D88 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004912C 00044D8C 7C 08 02 A6 */ mflr r0 /* 80049130 00044D90 90 01 00 14 */ stw r0, 0x14(r1) /* 80049134 00044D94 38 00 00 00 */ li r0, 0 /* 80049138 00044D98 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004913C 00044D9C 7C BF 2B 78 */ mr r31, r5 /* 80049140 00044DA0 93 C1 00 08 */ stw r30, 8(r1) /* 80049144 00044DA4 7C 7E 1B 78 */ mr r30, r3 /* 80049148 00044DA8 90 83 00 14 */ stw r4, 0x14(r3) /* 8004914C 00044DAC 90 03 00 1C */ stw r0, 0x1c(r3) /* 80049150 00044DB0 88 A4 00 0D */ lbz r5, 0xd(r4) /* 80049154 00044DB4 90 A3 00 24 */ stw r5, 0x24(r3) /* 80049158 00044DB8 80 04 00 00 */ lwz r0, 0(r4) /* 8004915C 00044DBC 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80049160 00044DC0 41 82 00 3C */ beq lbl_8004919C /* 80049164 00044DC4 54 A0 07 FF */ clrlwi. r0, r5, 0x1f /* 80049168 00044DC8 41 82 00 0C */ beq lbl_80049174 /* 8004916C 00044DCC 60 A0 00 40 */ ori r0, r5, 0x40 /* 80049170 00044DD0 90 03 00 24 */ stw r0, 0x24(r3) lbl_80049174: /* 80049174 00044DD4 80 A3 00 24 */ lwz r5, 0x24(r3) /* 80049178 00044DD8 54 A0 07 BD */ rlwinm. r0, r5, 0, 0x1e, 0x1e /* 8004917C 00044DDC 41 82 00 0C */ beq lbl_80049188 /* 80049180 00044DE0 60 A0 00 80 */ ori r0, r5, 0x80 /* 80049184 00044DE4 90 03 00 24 */ stw r0, 0x24(r3) lbl_80049188: /* 80049188 00044DE8 80 A3 00 24 */ lwz r5, 0x24(r3) /* 8004918C 00044DEC 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d /* 80049190 00044DF0 41 82 00 0C */ beq lbl_8004919C /* 80049194 00044DF4 60 A0 01 00 */ ori r0, r5, 0x100 /* 80049198 00044DF8 90 03 00 24 */ stw r0, 0x24(r3) lbl_8004919C: /* 8004919C 00044DFC 80 A3 00 24 */ lwz r5, 0x24(r3) /* 800491A0 00044E00 54 A0 07 FF */ clrlwi. r0, r5, 0x1f /* 800491A4 00044E04 40 82 00 0C */ bne lbl_800491B0 /* 800491A8 00044E08 60 A0 00 09 */ ori r0, r5, 9 /* 800491AC 00044E0C 90 03 00 24 */ stw r0, 0x24(r3) lbl_800491B0: /* 800491B0 00044E10 80 A3 00 24 */ lwz r5, 0x24(r3) /* 800491B4 00044E14 54 A0 07 BD */ rlwinm. r0, r5, 0, 0x1e, 0x1e /* 800491B8 00044E18 40 82 00 0C */ bne lbl_800491C4 /* 800491BC 00044E1C 60 A0 00 12 */ ori r0, r5, 0x12 /* 800491C0 00044E20 90 03 00 24 */ stw r0, 0x24(r3) lbl_800491C4: /* 800491C4 00044E24 81 9E 00 28 */ lwz r12, 0x28(r30) /* 800491C8 00044E28 7F C3 F3 78 */ mr r3, r30 /* 800491CC 00044E2C 7F E5 FB 78 */ mr r5, r31 /* 800491D0 00044E30 81 8C 00 14 */ lwz r12, 0x14(r12) /* 800491D4 00044E34 7D 89 03 A6 */ mtctr r12 /* 800491D8 00044E38 4E 80 04 21 */ bctrl /* 800491DC 00044E3C 93 FE 00 18 */ stw r31, 0x18(r30) /* 800491E0 00044E40 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800491E4 00044E44 83 C1 00 08 */ lwz r30, 8(r1) /* 800491E8 00044E48 80 01 00 14 */ lwz r0, 0x14(r1) /* 800491EC 00044E4C 7C 08 03 A6 */ mtlr r0 /* 800491F0 00044E50 38 21 00 10 */ addi r1, r1, 0x10 /* 800491F4 00044E54 4E 80 00 20 */ blr /* 800491F8 00044E58 4E 80 00 20 */ blr /* 800491FC 00044E5C 80 63 00 14 */ lwz r3, 0x14(r3) /* 80049200 00044E60 2C 03 00 00 */ cmpwi r3, 0 /* 80049204 00044E64 40 82 00 0C */ bne lbl_80049210 /* 80049208 00044E68 C0 22 83 D0 */ lfs f1, lbl_806409D0-_SDA2_BASE_(r2) /* 8004920C 00044E6C 4E 80 00 20 */ blr lbl_80049210: /* 80049210 00044E70 C0 23 00 04 */ lfs f1, 4(r3) /* 80049214 00044E74 4E 80 00 20 */ blr .global func_80049218 func_80049218: /* 80049218 00044E78 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004921C 00044E7C 7C 08 02 A6 */ mflr r0 /* 80049220 00044E80 90 01 00 14 */ stw r0, 0x14(r1) /* 80049224 00044E84 93 E1 00 0C */ stw r31, 0xc(r1) /* 80049228 00044E88 7C 7F 1B 78 */ mr r31, r3 /* 8004922C 00044E8C 80 83 00 08 */ lwz r4, 8(r3) /* 80049230 00044E90 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 80049234 00044E94 40 82 00 34 */ bne lbl_80049268 /* 80049238 00044E98 60 80 00 01 */ ori r0, r4, 1 /* 8004923C 00044E9C 90 03 00 08 */ stw r0, 8(r3) /* 80049240 00044EA0 81 83 00 28 */ lwz r12, 0x28(r3) /* 80049244 00044EA4 81 8C 00 08 */ lwz r12, 8(r12) /* 80049248 00044EA8 7D 89 03 A6 */ mtctr r12 /* 8004924C 00044EAC 4E 80 04 21 */ bctrl /* 80049250 00044EB0 81 9F 00 28 */ lwz r12, 0x28(r31) /* 80049254 00044EB4 7F E3 FB 78 */ mr r3, r31 /* 80049258 00044EB8 81 8C 00 24 */ lwz r12, 0x24(r12) /* 8004925C 00044EBC 7D 89 03 A6 */ mtctr r12 /* 80049260 00044EC0 4E 80 04 21 */ bctrl /* 80049264 00044EC4 D0 3F 00 10 */ stfs f1, 0x10(r31) lbl_80049268: /* 80049268 00044EC8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004926C 00044ECC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80049270 00044ED0 7C 08 03 A6 */ mtlr r0 /* 80049274 00044ED4 38 21 00 10 */ addi r1, r1, 0x10 /* 80049278 00044ED8 4E 80 00 20 */ blr /* 8004927C 00044EDC 4E 80 00 20 */ blr .global func_80049280 func_80049280: /* 80049280 00044EE0 80 83 00 08 */ lwz r4, 8(r3) /* 80049284 00044EE4 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 80049288 00044EE8 4D 82 00 20 */ beqlr /* 8004928C 00044EEC 54 80 00 3C */ rlwinm r0, r4, 0, 0, 0x1e /* 80049290 00044EF0 60 00 00 02 */ ori r0, r0, 2 /* 80049294 00044EF4 90 03 00 08 */ stw r0, 8(r3) /* 80049298 00044EF8 81 83 00 28 */ lwz r12, 0x28(r3) /* 8004929C 00044EFC 81 8C 00 0C */ lwz r12, 0xc(r12) /* 800492A0 00044F00 7D 89 03 A6 */ mtctr r12 /* 800492A4 00044F04 4E 80 04 20 */ bctr /* 800492A8 00044F08 4E 80 00 20 */ blr /* 800492AC 00044F0C 4E 80 00 20 */ blr .global func_800492B0 func_800492B0: /* 800492B0 00044F10 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800492B4 00044F14 7C 08 02 A6 */ mflr r0 /* 800492B8 00044F18 90 01 00 14 */ stw r0, 0x14(r1) /* 800492BC 00044F1C 93 E1 00 0C */ stw r31, 0xc(r1) /* 800492C0 00044F20 7C 7F 1B 78 */ mr r31, r3 /* 800492C4 00044F24 80 83 00 08 */ lwz r4, 8(r3) /* 800492C8 00044F28 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 800492CC 00044F2C 41 82 00 54 */ beq lbl_80049320 /* 800492D0 00044F30 C0 42 83 D0 */ lfs f2, lbl_806409D0-_SDA2_BASE_(r2) /* 800492D4 00044F34 C0 03 00 10 */ lfs f0, 0x10(r3) /* 800492D8 00044F38 FC 02 00 00 */ fcmpu cr0, f2, f0 /* 800492DC 00044F3C 40 82 00 10 */ bne lbl_800492EC /* 800492E0 00044F40 54 80 00 3C */ rlwinm r0, r4, 0, 0, 0x1e /* 800492E4 00044F44 90 03 00 08 */ stw r0, 8(r3) /* 800492E8 00044F48 48 00 00 38 */ b lbl_80049320 lbl_800492EC: /* 800492EC 00044F4C EC 00 08 28 */ fsubs f0, f0, f1 /* 800492F0 00044F50 D0 03 00 10 */ stfs f0, 0x10(r3) /* 800492F4 00044F54 81 83 00 28 */ lwz r12, 0x28(r3) /* 800492F8 00044F58 81 8C 00 10 */ lwz r12, 0x10(r12) /* 800492FC 00044F5C 7D 89 03 A6 */ mtctr r12 /* 80049300 00044F60 4E 80 04 21 */ bctrl /* 80049304 00044F64 C0 3F 00 10 */ lfs f1, 0x10(r31) /* 80049308 00044F68 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 8004930C 00044F6C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80049310 00044F70 4C 40 13 82 */ cror 2, 0, 2 /* 80049314 00044F74 40 82 00 0C */ bne lbl_80049320 /* 80049318 00044F78 7F E3 FB 78 */ mr r3, r31 /* 8004931C 00044F7C 4B FF FF 65 */ bl func_80049280 lbl_80049320: /* 80049320 00044F80 80 01 00 14 */ lwz r0, 0x14(r1) /* 80049324 00044F84 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80049328 00044F88 7C 08 03 A6 */ mtlr r0 /* 8004932C 00044F8C 38 21 00 10 */ addi r1, r1, 0x10 /* 80049330 00044F90 4E 80 00 20 */ blr /* 80049334 00044F94 4E 80 00 20 */ blr .global func_80049338 func_80049338: /* 80049338 00044F98 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8004933C 00044F9C 7C 08 02 A6 */ mflr r0 /* 80049340 00044FA0 90 01 00 34 */ stw r0, 0x34(r1) /* 80049344 00044FA4 39 61 00 30 */ addi r11, r1, 0x30 /* 80049348 00044FA8 48 17 DD D5 */ bl _savegpr_24 /* 8004934C 00044FAC 7C 7C 1B 78 */ mr r28, r3 /* 80049350 00044FB0 7C 83 23 78 */ mr r3, r4 /* 80049354 00044FB4 A3 5C 00 DE */ lhz r26, 0xde(r28) /* 80049358 00044FB8 7C BD 2B 78 */ mr r29, r5 /* 8004935C 00044FBC 48 17 D8 09 */ bl strlen /* 80049360 00044FC0 2C 1C 00 00 */ cmpwi r28, 0 /* 80049364 00044FC4 7C 7F 1B 78 */ mr r31, r3 /* 80049368 00044FC8 40 82 00 0C */ bne lbl_80049374 /* 8004936C 00044FCC 38 60 00 00 */ li r3, 0 /* 80049370 00044FD0 48 00 01 00 */ b lbl_80049470 lbl_80049374: /* 80049374 00044FD4 3B C0 00 00 */ li r30, 0 /* 80049378 00044FD8 3F 60 80 41 */ lis r27, 0x8041 /* 8004937C 00044FDC 48 00 00 E4 */ b lbl_80049460 lbl_80049380: /* 80049380 00044FE0 80 9C 00 08 */ lwz r4, 8(r28) /* 80049384 00044FE4 2C 04 00 00 */ cmpwi r4, 0 /* 80049388 00044FE8 40 82 00 0C */ bne lbl_80049394 /* 8004938C 00044FEC 3B 20 00 00 */ li r25, 0 /* 80049390 00044FF0 48 00 00 24 */ b lbl_800493B4 lbl_80049394: /* 80049394 00044FF4 A0 1C 00 DE */ lhz r0, 0xde(r28) /* 80049398 00044FF8 57 C3 04 3E */ clrlwi r3, r30, 0x10 /* 8004939C 00044FFC 7C 03 00 40 */ cmplw r3, r0 /* 800493A0 00045000 41 80 00 0C */ blt lbl_800493AC /* 800493A4 00045004 3B 20 00 00 */ li r25, 0 /* 800493A8 00045008 48 00 00 0C */ b lbl_800493B4 lbl_800493AC: /* 800493AC 0004500C 57 C0 13 BA */ rlwinm r0, r30, 2, 0xe, 0x1d /* 800493B0 00045010 7F 24 00 2E */ lwzx r25, r4, r0 lbl_800493B4: /* 800493B4 00045014 2C 19 00 00 */ cmpwi r25, 0 /* 800493B8 00045018 41 82 00 A4 */ beq lbl_8004945C /* 800493BC 0004501C 80 79 00 1C */ lwz r3, 0x1c(r25) /* 800493C0 00045020 2C 03 00 00 */ cmpwi r3, 0 /* 800493C4 00045024 41 82 00 0C */ beq lbl_800493D0 /* 800493C8 00045028 83 03 00 04 */ lwz r24, 4(r3) /* 800493CC 0004502C 48 00 00 08 */ b lbl_800493D4 lbl_800493D0: /* 800493D0 00045030 3B 00 00 00 */ li r24, 0 lbl_800493D4: /* 800493D4 00045034 7F 03 C3 78 */ mr r3, r24 /* 800493D8 00045038 7F E5 FB 78 */ mr r5, r31 /* 800493DC 0004503C 38 9B A4 D0 */ addi r4, r27, -23344 /* 800493E0 00045040 48 18 51 89 */ bl strncmp /* 800493E4 00045044 2C 03 00 00 */ cmpwi r3, 0 /* 800493E8 00045048 40 82 00 74 */ bne lbl_8004945C /* 800493EC 0004504C 2C 1D 00 00 */ cmpwi r29, 0 /* 800493F0 00045050 40 80 00 0C */ bge lbl_800493FC /* 800493F4 00045054 7F 23 CB 78 */ mr r3, r25 /* 800493F8 00045058 48 00 00 78 */ b lbl_80049470 lbl_800493FC: /* 800493FC 0004505C 7C 98 FA 14 */ add r4, r24, r31 /* 80049400 00045060 38 A0 00 00 */ li r5, 0 /* 80049404 00045064 48 00 00 34 */ b lbl_80049438 lbl_80049408: /* 80049408 00045068 7C 63 07 74 */ extsb r3, r3 /* 8004940C 0004506C 2C 03 00 30 */ cmpwi r3, 0x30 /* 80049410 00045070 41 80 00 1C */ blt lbl_8004942C /* 80049414 00045074 2C 03 00 39 */ cmpwi r3, 0x39 /* 80049418 00045078 41 81 00 14 */ bgt lbl_8004942C /* 8004941C 0004507C 1C 05 00 0A */ mulli r0, r5, 0xa /* 80049420 00045080 7C 63 02 14 */ add r3, r3, r0 /* 80049424 00045084 38 A3 FF D0 */ addi r5, r3, -48 /* 80049428 00045088 48 00 00 0C */ b lbl_80049434 lbl_8004942C: /* 8004942C 0004508C 38 A0 FF FF */ li r5, -1 /* 80049430 00045090 48 00 00 14 */ b lbl_80049444 lbl_80049434: /* 80049434 00045094 38 84 00 01 */ addi r4, r4, 1 lbl_80049438: /* 80049438 00045098 88 64 00 00 */ lbz r3, 0(r4) /* 8004943C 0004509C 7C 60 07 75 */ extsb. r0, r3 /* 80049440 000450A0 40 82 FF C8 */ bne lbl_80049408 lbl_80049444: /* 80049444 000450A4 2C 05 00 00 */ cmpwi r5, 0 /* 80049448 000450A8 41 80 00 14 */ blt lbl_8004945C /* 8004944C 000450AC 7C 05 E8 00 */ cmpw r5, r29 /* 80049450 000450B0 40 82 00 0C */ bne lbl_8004945C /* 80049454 000450B4 7F 23 CB 78 */ mr r3, r25 /* 80049458 000450B8 48 00 00 18 */ b lbl_80049470 lbl_8004945C: /* 8004945C 000450BC 3B DE 00 01 */ addi r30, r30, 1 lbl_80049460: /* 80049460 000450C0 57 C0 04 3E */ clrlwi r0, r30, 0x10 /* 80049464 000450C4 7C 00 D0 40 */ cmplw r0, r26 /* 80049468 000450C8 41 80 FF 18 */ blt lbl_80049380 /* 8004946C 000450CC 38 60 00 00 */ li r3, 0 lbl_80049470: /* 80049470 000450D0 39 61 00 30 */ addi r11, r1, 0x30 /* 80049474 000450D4 48 17 DC F5 */ bl _restgpr_24 /* 80049478 000450D8 80 01 00 34 */ lwz r0, 0x34(r1) /* 8004947C 000450DC 7C 08 03 A6 */ mtlr r0 /* 80049480 000450E0 38 21 00 30 */ addi r1, r1, 0x30 /* 80049484 000450E4 4E 80 00 20 */ blr .global func_80049488 func_80049488: /* 80049488 000450E8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004948C 000450EC 7C 08 02 A6 */ mflr r0 /* 80049490 000450F0 90 01 00 14 */ stw r0, 0x14(r1) /* 80049494 000450F4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80049498 000450F8 7C 7F 1B 78 */ mr r31, r3 /* 8004949C 000450FC 4B FF FB E9 */ bl func_80049084 /* 800494A0 00045100 3C 80 80 41 */ lis r4, lbl_8040A698@ha /* 800494A4 00045104 38 00 00 00 */ li r0, 0 /* 800494A8 00045108 38 84 A6 98 */ addi r4, r4, lbl_8040A698@l /* 800494AC 0004510C 98 1F 00 38 */ stb r0, 0x38(r31) /* 800494B0 00045110 7F E3 FB 78 */ mr r3, r31 /* 800494B4 00045114 90 9F 00 28 */ stw r4, 0x28(r31) /* 800494B8 00045118 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800494BC 0004511C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800494C0 00045120 7C 08 03 A6 */ mtlr r0 /* 800494C4 00045124 38 21 00 10 */ addi r1, r1, 0x10 /* 800494C8 00045128 4E 80 00 20 */ blr /* 800494CC 0004512C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800494D0 00045130 7C 08 02 A6 */ mflr r0 /* 800494D4 00045134 2C 03 00 00 */ cmpwi r3, 0 /* 800494D8 00045138 90 01 00 14 */ stw r0, 0x14(r1) /* 800494DC 0004513C 93 E1 00 0C */ stw r31, 0xc(r1) /* 800494E0 00045140 7C 9F 23 78 */ mr r31, r4 /* 800494E4 00045144 93 C1 00 08 */ stw r30, 8(r1) /* 800494E8 00045148 7C 7E 1B 78 */ mr r30, r3 /* 800494EC 0004514C 41 82 00 38 */ beq lbl_80049524 /* 800494F0 00045150 3D 80 80 41 */ lis r12, lbl_8040A698@ha /* 800494F4 00045154 39 8C A6 98 */ addi r12, r12, lbl_8040A698@l /* 800494F8 00045158 91 83 00 28 */ stw r12, 0x28(r3) /* 800494FC 0004515C 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 80049500 00045160 7D 89 03 A6 */ mtctr r12 /* 80049504 00045164 4E 80 04 21 */ bctrl /* 80049508 00045168 7F C3 F3 78 */ mr r3, r30 /* 8004950C 0004516C 38 80 00 00 */ li r4, 0 /* 80049510 00045170 4B FF FB A5 */ bl func_800490B4 /* 80049514 00045174 2C 1F 00 00 */ cmpwi r31, 0 /* 80049518 00045178 40 81 00 0C */ ble lbl_80049524 /* 8004951C 0004517C 7F C3 F3 78 */ mr r3, r30 /* 80049520 00045180 48 19 15 99 */ bl __dl__FPv lbl_80049524: /* 80049524 00045184 7F C3 F3 78 */ mr r3, r30 /* 80049528 00045188 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004952C 0004518C 83 C1 00 08 */ lwz r30, 8(r1) /* 80049530 00045190 80 01 00 14 */ lwz r0, 0x14(r1) /* 80049534 00045194 7C 08 03 A6 */ mtlr r0 /* 80049538 00045198 38 21 00 10 */ addi r1, r1, 0x10 /* 8004953C 0004519C 4E 80 00 20 */ blr /* 80049540 000451A0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80049544 000451A4 7C 08 02 A6 */ mflr r0 /* 80049548 000451A8 90 01 00 14 */ stw r0, 0x14(r1) /* 8004954C 000451AC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80049550 000451B0 7C 7F 1B 78 */ mr r31, r3 /* 80049554 000451B4 80 03 00 2C */ lwz r0, 0x2c(r3) /* 80049558 000451B8 2C 00 00 00 */ cmpwi r0, 0 /* 8004955C 000451BC 41 82 00 1C */ beq lbl_80049578 /* 80049560 000451C0 7C 03 03 78 */ mr r3, r0 /* 80049564 000451C4 38 80 00 01 */ li r4, 1 /* 80049568 000451C8 48 1B 0D 2D */ bl func_801FA294 /* 8004956C 000451CC 38 00 00 00 */ li r0, 0 /* 80049570 000451D0 90 1F 00 2C */ stw r0, 0x2c(r31) /* 80049574 000451D4 90 1F 00 30 */ stw r0, 0x30(r31) lbl_80049578: /* 80049578 000451D8 7F E3 FB 78 */ mr r3, r31 /* 8004957C 000451DC 4B FF FB A1 */ bl func_8004911C /* 80049580 000451E0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80049584 000451E4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80049588 000451E8 7C 08 03 A6 */ mtlr r0 /* 8004958C 000451EC 38 21 00 10 */ addi r1, r1, 0x10 /* 80049590 000451F0 4E 80 00 20 */ blr /* 80049594 000451F4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80049598 000451F8 7C 08 02 A6 */ mflr r0 /* 8004959C 000451FC 90 01 00 24 */ stw r0, 0x24(r1) /* 800495A0 00045200 39 61 00 20 */ addi r11, r1, 0x20 /* 800495A4 00045204 48 17 DB 81 */ bl _savegpr_26 /* 800495A8 00045208 7C 7F 1B 78 */ mr r31, r3 /* 800495AC 0004520C 7C 9A 23 78 */ mr r26, r4 /* 800495B0 00045210 48 19 15 79 */ bl func_801DAB28 /* 800495B4 00045214 2C 03 00 00 */ cmpwi r3, 0 /* 800495B8 00045218 41 82 00 14 */ beq lbl_800495CC /* 800495BC 0004521C 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 800495C0 00045220 38 80 00 14 */ li r4, 0x14 /* 800495C4 00045224 48 19 16 D1 */ bl func_801DAC94 /* 800495C8 00045228 48 00 00 08 */ b lbl_800495D0 lbl_800495CC: /* 800495CC 0004522C 38 60 00 00 */ li r3, 0 lbl_800495D0: /* 800495D0 00045230 2C 03 00 00 */ cmpwi r3, 0 /* 800495D4 00045234 41 82 00 0C */ beq lbl_800495E0 /* 800495D8 00045238 80 9A 00 48 */ lwz r4, 0x48(r26) /* 800495DC 0004523C 48 1B 0A B9 */ bl func_801FA094 lbl_800495E0: /* 800495E0 00045240 38 00 00 00 */ li r0, 0 /* 800495E4 00045244 2C 03 00 00 */ cmpwi r3, 0 /* 800495E8 00045248 90 7F 00 2C */ stw r3, 0x2c(r31) /* 800495EC 0004524C 90 1F 00 30 */ stw r0, 0x30(r31) /* 800495F0 00045250 90 1F 00 34 */ stw r0, 0x34(r31) /* 800495F4 00045254 41 82 00 E4 */ beq lbl_800496D8 /* 800495F8 00045258 80 83 00 04 */ lwz r4, 4(r3) /* 800495FC 0004525C 2C 04 00 00 */ cmpwi r4, 0 /* 80049600 00045260 40 82 00 0C */ bne lbl_8004960C /* 80049604 00045264 38 00 00 00 */ li r0, 0 /* 80049608 00045268 48 00 00 20 */ b lbl_80049628 lbl_8004960C: /* 8004960C 0004526C 80 63 00 00 */ lwz r3, 0(r3) /* 80049610 00045270 A0 03 00 18 */ lhz r0, 0x18(r3) /* 80049614 00045274 2C 00 00 00 */ cmpwi r0, 0 /* 80049618 00045278 40 82 00 0C */ bne lbl_80049624 /* 8004961C 0004527C 38 00 00 00 */ li r0, 0 /* 80049620 00045280 48 00 00 08 */ b lbl_80049628 lbl_80049624: /* 80049624 00045284 80 04 00 00 */ lwz r0, 0(r4) lbl_80049628: /* 80049628 00045288 90 1F 00 30 */ stw r0, 0x30(r31) /* 8004962C 0004528C 38 8D 80 E8 */ addi r4, r13, lbl_8063D3A8-_SDA_BASE_ /* 80049630 00045290 80 7A 00 2C */ lwz r3, 0x2c(r26) /* 80049634 00045294 48 18 4E 19 */ bl strcmp /* 80049638 00045298 2C 03 00 00 */ cmpwi r3, 0 /* 8004963C 0004529C 40 82 00 0C */ bne lbl_80049648 /* 80049640 000452A0 38 00 00 01 */ li r0, 1 /* 80049644 000452A4 98 1F 00 38 */ stb r0, 0x38(r31) lbl_80049648: /* 80049648 000452A8 83 7F 00 30 */ lwz r27, 0x30(r31) /* 8004964C 000452AC 3B 40 00 00 */ li r26, 0 /* 80049650 000452B0 3F C0 80 41 */ lis r30, 0x8041 /* 80049654 000452B4 A3 BB 00 DE */ lhz r29, 0xde(r27) /* 80049658 000452B8 48 00 00 74 */ b lbl_800496CC lbl_8004965C: /* 8004965C 000452BC 80 9B 00 08 */ lwz r4, 8(r27) /* 80049660 000452C0 2C 04 00 00 */ cmpwi r4, 0 /* 80049664 000452C4 40 82 00 0C */ bne lbl_80049670 /* 80049668 000452C8 3B 80 00 00 */ li r28, 0 /* 8004966C 000452CC 48 00 00 24 */ b lbl_80049690 lbl_80049670: /* 80049670 000452D0 A0 1B 00 DE */ lhz r0, 0xde(r27) /* 80049674 000452D4 57 43 04 3E */ clrlwi r3, r26, 0x10 /* 80049678 000452D8 7C 03 00 40 */ cmplw r3, r0 /* 8004967C 000452DC 41 80 00 0C */ blt lbl_80049688 /* 80049680 000452E0 3B 80 00 00 */ li r28, 0 /* 80049684 000452E4 48 00 00 0C */ b lbl_80049690 lbl_80049688: /* 80049688 000452E8 57 40 13 BA */ rlwinm r0, r26, 2, 0xe, 0x1d /* 8004968C 000452EC 7F 84 00 2E */ lwzx r28, r4, r0 lbl_80049690: /* 80049690 000452F0 2C 1C 00 00 */ cmpwi r28, 0 /* 80049694 000452F4 41 82 00 34 */ beq lbl_800496C8 /* 80049698 000452F8 80 7C 00 1C */ lwz r3, 0x1c(r28) /* 8004969C 000452FC 2C 03 00 00 */ cmpwi r3, 0 /* 800496A0 00045300 41 82 00 0C */ beq lbl_800496AC /* 800496A4 00045304 80 63 00 04 */ lwz r3, 4(r3) /* 800496A8 00045308 48 00 00 08 */ b lbl_800496B0 lbl_800496AC: /* 800496AC 0004530C 38 60 00 00 */ li r3, 0 lbl_800496B0: /* 800496B0 00045310 38 9E A4 DC */ addi r4, r30, -23332 /* 800496B4 00045314 48 18 4D 99 */ bl strcmp /* 800496B8 00045318 2C 03 00 00 */ cmpwi r3, 0 /* 800496BC 0004531C 40 82 00 0C */ bne lbl_800496C8 /* 800496C0 00045320 93 9F 00 34 */ stw r28, 0x34(r31) /* 800496C4 00045324 48 00 00 14 */ b lbl_800496D8 lbl_800496C8: /* 800496C8 00045328 3B 5A 00 01 */ addi r26, r26, 1 lbl_800496CC: /* 800496CC 0004532C 57 40 04 3E */ clrlwi r0, r26, 0x10 /* 800496D0 00045330 7C 00 E8 40 */ cmplw r0, r29 /* 800496D4 00045334 41 80 FF 88 */ blt lbl_8004965C lbl_800496D8: /* 800496D8 00045338 39 61 00 20 */ addi r11, r1, 0x20 /* 800496DC 0004533C 48 17 DA 95 */ bl _restgpr_26 /* 800496E0 00045340 80 01 00 24 */ lwz r0, 0x24(r1) /* 800496E4 00045344 7C 08 03 A6 */ mtlr r0 /* 800496E8 00045348 38 21 00 20 */ addi r1, r1, 0x20 /* 800496EC 0004534C 4E 80 00 20 */ blr /* 800496F0 00045350 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800496F4 00045354 7C 08 02 A6 */ mflr r0 /* 800496F8 00045358 90 01 00 34 */ stw r0, 0x34(r1) /* 800496FC 0004535C 39 61 00 30 */ addi r11, r1, 0x30 /* 80049700 00045360 48 17 DA 21 */ bl _savegpr_25 /* 80049704 00045364 80 83 00 14 */ lwz r4, 0x14(r3) /* 80049708 00045368 7C 7E 1B 78 */ mr r30, r3 /* 8004970C 0004536C 80 04 00 00 */ lwz r0, 0(r4) /* 80049710 00045370 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 80049714 00045374 41 82 01 38 */ beq lbl_8004984C /* 80049718 00045378 80 A4 00 1C */ lwz r5, 0x1c(r4) /* 8004971C 0004537C 2C 05 00 00 */ cmpwi r5, 0 /* 80049720 00045380 41 82 00 10 */ beq lbl_80049730 /* 80049724 00045384 A0 05 00 0A */ lhz r0, 0xa(r5) /* 80049728 00045388 28 00 00 01 */ cmplwi r0, 1 /* 8004972C 0004538C 40 82 01 20 */ bne lbl_8004984C lbl_80049730: /* 80049730 00045390 80 63 00 18 */ lwz r3, 0x18(r3) /* 80049734 00045394 A0 84 00 08 */ lhz r4, 8(r4) /* 80049738 00045398 4B FF E3 11 */ bl func_80047A48 /* 8004973C 0004539C 2C 03 00 00 */ cmpwi r3, 0 /* 80049740 000453A0 41 82 01 0C */ beq lbl_8004984C /* 80049744 000453A4 80 63 00 30 */ lwz r3, 0x30(r3) /* 80049748 000453A8 3B E0 00 00 */ li r31, 0 /* 8004974C 000453AC 3F A0 80 41 */ lis r29, 0x8041 /* 80049750 000453B0 A3 83 00 DE */ lhz r28, 0xde(r3) /* 80049754 000453B4 48 00 00 EC */ b lbl_80049840 lbl_80049758: /* 80049758 000453B8 80 7E 00 30 */ lwz r3, 0x30(r30) /* 8004975C 000453BC 80 83 00 08 */ lwz r4, 8(r3) /* 80049760 000453C0 2C 04 00 00 */ cmpwi r4, 0 /* 80049764 000453C4 40 82 00 0C */ bne lbl_80049770 /* 80049768 000453C8 3B 60 00 00 */ li r27, 0 /* 8004976C 000453CC 48 00 00 24 */ b lbl_80049790 lbl_80049770: /* 80049770 000453D0 A0 03 00 DE */ lhz r0, 0xde(r3) /* 80049774 000453D4 57 E3 04 3E */ clrlwi r3, r31, 0x10 /* 80049778 000453D8 7C 03 00 40 */ cmplw r3, r0 /* 8004977C 000453DC 41 80 00 0C */ blt lbl_80049788 /* 80049780 000453E0 3B 60 00 00 */ li r27, 0 /* 80049784 000453E4 48 00 00 0C */ b lbl_80049790 lbl_80049788: /* 80049788 000453E8 57 E0 13 BA */ rlwinm r0, r31, 2, 0xe, 0x1d /* 8004978C 000453EC 7F 64 00 2E */ lwzx r27, r4, r0 lbl_80049790: /* 80049790 000453F0 2C 1B 00 00 */ cmpwi r27, 0 /* 80049794 000453F4 41 82 00 A8 */ beq lbl_8004983C /* 80049798 000453F8 80 7B 00 1C */ lwz r3, 0x1c(r27) /* 8004979C 000453FC 2C 03 00 00 */ cmpwi r3, 0 /* 800497A0 00045400 41 82 00 0C */ beq lbl_800497AC /* 800497A4 00045404 83 43 00 04 */ lwz r26, 4(r3) /* 800497A8 00045408 48 00 00 08 */ b lbl_800497B0 lbl_800497AC: /* 800497AC 0004540C 3B 40 00 00 */ li r26, 0 lbl_800497B0: /* 800497B0 00045410 38 7D A4 D0 */ addi r3, r29, -23344 /* 800497B4 00045414 48 17 D3 B1 */ bl strlen /* 800497B8 00045418 7C 79 1B 78 */ mr r25, r3 /* 800497BC 0004541C 7F 43 D3 78 */ mr r3, r26 /* 800497C0 00045420 7F 25 CB 78 */ mr r5, r25 /* 800497C4 00045424 38 9D A4 D0 */ addi r4, r29, -23344 /* 800497C8 00045428 48 18 4D A1 */ bl strncmp /* 800497CC 0004542C 2C 03 00 00 */ cmpwi r3, 0 /* 800497D0 00045430 40 82 00 6C */ bne lbl_8004983C /* 800497D4 00045434 7C 9A CA 14 */ add r4, r26, r25 /* 800497D8 00045438 38 A0 00 00 */ li r5, 0 /* 800497DC 0004543C 48 00 00 34 */ b lbl_80049810 lbl_800497E0: /* 800497E0 00045440 7C 63 07 74 */ extsb r3, r3 /* 800497E4 00045444 2C 03 00 30 */ cmpwi r3, 0x30 /* 800497E8 00045448 41 80 00 1C */ blt lbl_80049804 /* 800497EC 0004544C 2C 03 00 39 */ cmpwi r3, 0x39 /* 800497F0 00045450 41 81 00 14 */ bgt lbl_80049804 /* 800497F4 00045454 1C 05 00 0A */ mulli r0, r5, 0xa /* 800497F8 00045458 7C 63 02 14 */ add r3, r3, r0 /* 800497FC 0004545C 38 A3 FF D0 */ addi r5, r3, -48 /* 80049800 00045460 48 00 00 0C */ b lbl_8004980C lbl_80049804: /* 80049804 00045464 38 A0 FF FF */ li r5, -1 /* 80049808 00045468 48 00 00 14 */ b lbl_8004981C lbl_8004980C: /* 8004980C 0004546C 38 84 00 01 */ addi r4, r4, 1 lbl_80049810: /* 80049810 00045470 88 64 00 00 */ lbz r3, 0(r4) /* 80049814 00045474 7C 60 07 75 */ extsb. r0, r3 /* 80049818 00045478 40 82 FF C8 */ bne lbl_800497E0 lbl_8004981C: /* 8004981C 0004547C 2C 05 00 00 */ cmpwi r5, 0 /* 80049820 00045480 41 80 00 1C */ blt lbl_8004983C /* 80049824 00045484 80 7E 00 14 */ lwz r3, 0x14(r30) /* 80049828 00045488 88 03 00 0C */ lbz r0, 0xc(r3) /* 8004982C 0004548C 7C 05 00 00 */ cmpw r5, r0 /* 80049830 00045490 40 82 00 0C */ bne lbl_8004983C /* 80049834 00045494 93 7E 00 1C */ stw r27, 0x1c(r30) /* 80049838 00045498 48 00 00 14 */ b lbl_8004984C lbl_8004983C: /* 8004983C 0004549C 3B FF 00 01 */ addi r31, r31, 1 lbl_80049840: /* 80049840 000454A0 57 E0 04 3E */ clrlwi r0, r31, 0x10 /* 80049844 000454A4 7C 00 E0 40 */ cmplw r0, r28 /* 80049848 000454A8 41 80 FF 10 */ blt lbl_80049758 lbl_8004984C: /* 8004984C 000454AC 39 61 00 30 */ addi r11, r1, 0x30 /* 80049850 000454B0 48 17 D9 1D */ bl _restgpr_25 /* 80049854 000454B4 80 01 00 34 */ lwz r0, 0x34(r1) /* 80049858 000454B8 7C 08 03 A6 */ mtlr r0 /* 8004985C 000454BC 38 21 00 30 */ addi r1, r1, 0x30 /* 80049860 000454C0 4E 80 00 20 */ blr /* 80049864 000454C4 80 83 00 14 */ lwz r4, 0x14(r3) /* 80049868 000454C8 2C 04 00 00 */ cmpwi r4, 0 /* 8004986C 000454CC 40 82 00 0C */ bne lbl_80049878 /* 80049870 000454D0 C0 22 83 D0 */ lfs f1, lbl_806409D0-_SDA2_BASE_(r2) /* 80049874 000454D4 4E 80 00 20 */ blr lbl_80049878: /* 80049878 000454D8 C0 24 00 04 */ lfs f1, 4(r4) /* 8004987C 000454DC C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049880 000454E0 FC 00 08 00 */ fcmpu cr0, f0, f1 /* 80049884 000454E4 40 82 00 80 */ bne lbl_80049904 /* 80049888 000454E8 80 63 00 2C */ lwz r3, 0x2c(r3) /* 8004988C 000454EC 2C 03 00 00 */ cmpwi r3, 0 /* 80049890 000454F0 41 82 00 74 */ beq lbl_80049904 /* 80049894 000454F4 80 A3 00 04 */ lwz r5, 4(r3) /* 80049898 000454F8 2C 05 00 00 */ cmpwi r5, 0 /* 8004989C 000454FC 40 82 00 0C */ bne lbl_800498A8 /* 800498A0 00045500 38 60 00 00 */ li r3, 0 /* 800498A4 00045504 48 00 00 20 */ b lbl_800498C4 lbl_800498A8: /* 800498A8 00045508 80 63 00 00 */ lwz r3, 0(r3) /* 800498AC 0004550C A0 03 00 18 */ lhz r0, 0x18(r3) /* 800498B0 00045510 2C 00 00 00 */ cmpwi r0, 0 /* 800498B4 00045514 40 82 00 0C */ bne lbl_800498C0 /* 800498B8 00045518 38 60 00 00 */ li r3, 0 /* 800498BC 0004551C 48 00 00 08 */ b lbl_800498C4 lbl_800498C0: /* 800498C0 00045520 80 65 00 00 */ lwz r3, 0(r5) lbl_800498C4: /* 800498C4 00045524 2C 03 00 00 */ cmpwi r3, 0 /* 800498C8 00045528 41 82 00 3C */ beq lbl_80049904 /* 800498CC 0004552C 80 63 00 04 */ lwz r3, 4(r3) /* 800498D0 00045530 2C 03 00 00 */ cmpwi r3, 0 /* 800498D4 00045534 40 82 00 0C */ bne lbl_800498E0 /* 800498D8 00045538 38 60 00 00 */ li r3, 0 /* 800498DC 0004553C 48 00 00 1C */ b lbl_800498F8 lbl_800498E0: /* 800498E0 00045540 A0 03 00 08 */ lhz r0, 8(r3) /* 800498E4 00045544 2C 00 00 00 */ cmpwi r0, 0 /* 800498E8 00045548 40 82 00 0C */ bne lbl_800498F4 /* 800498EC 0004554C 38 60 00 00 */ li r3, 0 /* 800498F0 00045550 48 00 00 08 */ b lbl_800498F8 lbl_800498F4: /* 800498F4 00045554 80 63 00 0C */ lwz r3, 0xc(r3) lbl_800498F8: /* 800498F8 00045558 2C 03 00 00 */ cmpwi r3, 0 /* 800498FC 0004555C 41 82 00 08 */ beq lbl_80049904 /* 80049900 00045560 C0 23 00 0C */ lfs f1, 0xc(r3) lbl_80049904: /* 80049904 00045564 80 04 00 38 */ lwz r0, 0x38(r4) /* 80049908 00045568 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 8004990C 0004556C 4D 82 00 20 */ beqlr /* 80049910 00045570 C0 22 83 D4 */ lfs f1, lbl_806409D4-_SDA2_BASE_(r2) /* 80049914 00045574 4E 80 00 20 */ blr .global func_80049918 func_80049918: /* 80049918 00045578 94 21 FF A0 */ stwu r1, -0x60(r1) /* 8004991C 0004557C 7C 08 02 A6 */ mflr r0 /* 80049920 00045580 90 01 00 64 */ stw r0, 0x64(r1) /* 80049924 00045584 93 E1 00 5C */ stw r31, 0x5c(r1) /* 80049928 00045588 93 C1 00 58 */ stw r30, 0x58(r1) /* 8004992C 0004558C 93 A1 00 54 */ stw r29, 0x54(r1) /* 80049930 00045590 93 81 00 50 */ stw r28, 0x50(r1) /* 80049934 00045594 7C 7C 1B 78 */ mr r28, r3 /* 80049938 00045598 80 03 00 30 */ lwz r0, 0x30(r3) /* 8004993C 0004559C 80 83 00 18 */ lwz r4, 0x18(r3) /* 80049940 000455A0 2C 00 00 00 */ cmpwi r0, 0 /* 80049944 000455A4 83 C3 00 14 */ lwz r30, 0x14(r3) /* 80049948 000455A8 83 E4 00 34 */ lwz r31, 0x34(r4) /* 8004994C 000455AC 41 82 07 8C */ beq lbl_8004A0D8 /* 80049950 000455B0 80 9E 00 00 */ lwz r4, 0(r30) /* 80049954 000455B4 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 80049958 000455B8 40 82 06 C4 */ bne lbl_8004A01C /* 8004995C 000455BC 2C 1F 00 00 */ cmpwi r31, 0 /* 80049960 000455C0 41 82 00 0C */ beq lbl_8004996C /* 80049964 000455C4 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e /* 80049968 000455C8 41 82 00 0C */ beq lbl_80049974 lbl_8004996C: /* 8004996C 000455CC 83 A3 00 1C */ lwz r29, 0x1c(r3) /* 80049970 000455D0 48 00 00 14 */ b lbl_80049984 lbl_80049974: /* 80049974 000455D4 88 9E 00 0C */ lbz r4, 0xc(r30) /* 80049978 000455D8 7F E3 FB 78 */ mr r3, r31 /* 8004997C 000455DC 4B FE FF 71 */ bl func_800398EC /* 80049980 000455E0 7C 7D 1B 78 */ mr r29, r3 lbl_80049984: /* 80049984 000455E4 2C 1D 00 00 */ cmpwi r29, 0 /* 80049988 000455E8 41 82 06 94 */ beq lbl_8004A01C /* 8004998C 000455EC 80 7C 00 14 */ lwz r3, 0x14(r28) /* 80049990 000455F0 88 03 00 0D */ lbz r0, 0xd(r3) /* 80049994 000455F4 28 00 00 07 */ cmplwi r0, 7 /* 80049998 000455F8 41 81 06 84 */ bgt lbl_8004A01C /* 8004999C 000455FC 3C 60 80 41 */ lis r3, lbl_8040A4E8@ha /* 800499A0 00045600 54 00 10 3A */ slwi r0, r0, 2 /* 800499A4 00045604 38 63 A4 E8 */ addi r3, r3, lbl_8040A4E8@l /* 800499A8 00045608 7C 63 00 2E */ lwzx r3, r3, r0 /* 800499AC 0004560C 7C 69 03 A6 */ mtctr r3 /* 800499B0 00045610 4E 80 04 20 */ bctr /* 800499B4 00045614 80 7C 00 30 */ lwz r3, 0x30(r28) /* 800499B8 00045618 C0 5D 00 DC */ lfs f2, 0xdc(r29) /* 800499BC 0004561C 80 63 00 08 */ lwz r3, 8(r3) /* 800499C0 00045620 C0 3D 00 EC */ lfs f1, 0xec(r29) /* 800499C4 00045624 C0 1D 00 FC */ lfs f0, 0xfc(r29) /* 800499C8 00045628 2C 03 00 00 */ cmpwi r3, 0 /* 800499CC 0004562C D0 41 00 38 */ stfs f2, 0x38(r1) /* 800499D0 00045630 D0 21 00 3C */ stfs f1, 0x3c(r1) /* 800499D4 00045634 D0 01 00 40 */ stfs f0, 0x40(r1) /* 800499D8 00045638 41 82 06 44 */ beq lbl_8004A01C /* 800499DC 0004563C 80 63 00 00 */ lwz r3, 0(r3) /* 800499E0 00045640 2C 03 00 00 */ cmpwi r3, 0 /* 800499E4 00045644 41 82 06 38 */ beq lbl_8004A01C /* 800499E8 00045648 D0 43 00 20 */ stfs f2, 0x20(r3) /* 800499EC 0004564C 38 80 00 01 */ li r4, 1 /* 800499F0 00045650 D0 23 00 24 */ stfs f1, 0x24(r3) /* 800499F4 00045654 D0 03 00 28 */ stfs f0, 0x28(r3) /* 800499F8 00045658 48 1A 8C C1 */ bl func_801F26B8 /* 800499FC 0004565C 48 00 06 20 */ b lbl_8004A01C /* 80049A00 00045660 A0 1D 00 10 */ lhz r0, 0x10(r29) /* 80049A04 00045664 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80049A08 00045668 41 82 00 1C */ beq lbl_80049A24 /* 80049A0C 0004566C 38 7D 00 2C */ addi r3, r29, 0x2c /* 80049A10 00045670 38 9D 00 3C */ addi r4, r29, 0x3c /* 80049A14 00045674 48 1D 9C AD */ bl func_802236C0 /* 80049A18 00045678 A0 1D 00 10 */ lhz r0, 0x10(r29) /* 80049A1C 0004567C 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80049A20 00045680 B0 1D 00 10 */ sth r0, 0x10(r29) lbl_80049A24: /* 80049A24 00045684 80 7C 00 30 */ lwz r3, 0x30(r28) /* 80049A28 00045688 80 63 00 08 */ lwz r3, 8(r3) /* 80049A2C 0004568C 2C 03 00 00 */ cmpwi r3, 0 /* 80049A30 00045690 41 82 05 EC */ beq lbl_8004A01C /* 80049A34 00045694 80 63 00 00 */ lwz r3, 0(r3) /* 80049A38 00045698 2C 03 00 00 */ cmpwi r3, 0 /* 80049A3C 0004569C 41 82 05 E0 */ beq lbl_8004A01C /* 80049A40 000456A0 C0 1D 00 2C */ lfs f0, 0x2c(r29) /* 80049A44 000456A4 38 80 00 01 */ li r4, 1 /* 80049A48 000456A8 D0 03 00 2C */ stfs f0, 0x2c(r3) /* 80049A4C 000456AC C0 1D 00 30 */ lfs f0, 0x30(r29) /* 80049A50 000456B0 D0 03 00 30 */ stfs f0, 0x30(r3) /* 80049A54 000456B4 C0 1D 00 34 */ lfs f0, 0x34(r29) /* 80049A58 000456B8 D0 03 00 34 */ stfs f0, 0x34(r3) /* 80049A5C 000456BC C0 1D 00 38 */ lfs f0, 0x38(r29) /* 80049A60 000456C0 D0 03 00 38 */ stfs f0, 0x38(r3) /* 80049A64 000456C4 A0 03 00 10 */ lhz r0, 0x10(r3) /* 80049A68 000456C8 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80049A6C 000456CC B0 03 00 10 */ sth r0, 0x10(r3) /* 80049A70 000456D0 48 1A 8C 49 */ bl func_801F26B8 /* 80049A74 000456D4 48 00 05 A8 */ b lbl_8004A01C /* 80049A78 000456D8 80 7C 00 30 */ lwz r3, 0x30(r28) /* 80049A7C 000456DC 80 63 00 08 */ lwz r3, 8(r3) /* 80049A80 000456E0 2C 03 00 00 */ cmpwi r3, 0 /* 80049A84 000456E4 41 82 05 98 */ beq lbl_8004A01C /* 80049A88 000456E8 80 63 00 00 */ lwz r3, 0(r3) /* 80049A8C 000456EC 2C 03 00 00 */ cmpwi r3, 0 /* 80049A90 000456F0 41 82 05 8C */ beq lbl_8004A01C /* 80049A94 000456F4 C0 1D 00 48 */ lfs f0, 0x48(r29) /* 80049A98 000456F8 C0 42 83 D8 */ lfs f2, lbl_806409D8-_SDA2_BASE_(r2) /* 80049A9C 000456FC D0 03 00 48 */ stfs f0, 0x48(r3) /* 80049AA0 00045700 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80049AA4 00045704 C0 1D 00 4C */ lfs f0, 0x4c(r29) /* 80049AA8 00045708 D0 03 00 4C */ stfs f0, 0x4c(r3) /* 80049AAC 0004570C C0 1D 00 50 */ lfs f0, 0x50(r29) /* 80049AB0 00045710 D0 03 00 50 */ stfs f0, 0x50(r3) /* 80049AB4 00045714 40 80 00 2C */ bge lbl_80049AE0 /* 80049AB8 00045718 C0 23 00 48 */ lfs f1, 0x48(r3) /* 80049ABC 0004571C C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 80049AC0 00045720 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 80049AC4 00045724 40 81 00 1C */ ble lbl_80049AE0 /* 80049AC8 00045728 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049ACC 0004572C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80049AD0 00045730 40 80 00 08 */ bge lbl_80049AD8 /* 80049AD4 00045734 48 00 00 08 */ b lbl_80049ADC lbl_80049AD8: /* 80049AD8 00045738 FC 60 10 90 */ fmr f3, f2 lbl_80049ADC: /* 80049ADC 0004573C D0 63 00 48 */ stfs f3, 0x48(r3) lbl_80049AE0: /* 80049AE0 00045740 C0 43 00 4C */ lfs f2, 0x4c(r3) /* 80049AE4 00045744 C0 22 83 D8 */ lfs f1, lbl_806409D8-_SDA2_BASE_(r2) /* 80049AE8 00045748 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80049AEC 0004574C 40 80 00 28 */ bge lbl_80049B14 /* 80049AF0 00045750 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 80049AF4 00045754 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 80049AF8 00045758 40 81 00 1C */ ble lbl_80049B14 /* 80049AFC 0004575C C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049B00 00045760 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80049B04 00045764 40 80 00 08 */ bge lbl_80049B0C /* 80049B08 00045768 48 00 00 08 */ b lbl_80049B10 lbl_80049B0C: /* 80049B0C 0004576C FC 60 08 90 */ fmr f3, f1 lbl_80049B10: /* 80049B10 00045770 D0 63 00 4C */ stfs f3, 0x4c(r3) lbl_80049B14: /* 80049B14 00045774 C0 43 00 50 */ lfs f2, 0x50(r3) /* 80049B18 00045778 C0 22 83 D8 */ lfs f1, lbl_806409D8-_SDA2_BASE_(r2) /* 80049B1C 0004577C FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80049B20 00045780 40 80 00 28 */ bge lbl_80049B48 /* 80049B24 00045784 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 80049B28 00045788 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 80049B2C 0004578C 40 81 00 1C */ ble lbl_80049B48 /* 80049B30 00045790 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049B34 00045794 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80049B38 00045798 40 80 00 08 */ bge lbl_80049B40 /* 80049B3C 0004579C 48 00 00 08 */ b lbl_80049B44 lbl_80049B40: /* 80049B40 000457A0 FC 60 08 90 */ fmr f3, f1 lbl_80049B44: /* 80049B44 000457A4 D0 63 00 50 */ stfs f3, 0x50(r3) lbl_80049B48: /* 80049B48 000457A8 38 80 00 01 */ li r4, 1 /* 80049B4C 000457AC 48 1A 8B 6D */ bl func_801F26B8 /* 80049B50 000457B0 48 00 04 CC */ b lbl_8004A01C /* 80049B54 000457B4 80 7C 00 30 */ lwz r3, 0x30(r28) /* 80049B58 000457B8 C0 5D 00 DC */ lfs f2, 0xdc(r29) /* 80049B5C 000457BC 80 63 00 08 */ lwz r3, 8(r3) /* 80049B60 000457C0 C0 3D 00 EC */ lfs f1, 0xec(r29) /* 80049B64 000457C4 C0 1D 00 FC */ lfs f0, 0xfc(r29) /* 80049B68 000457C8 2C 03 00 00 */ cmpwi r3, 0 /* 80049B6C 000457CC D0 41 00 2C */ stfs f2, 0x2c(r1) /* 80049B70 000457D0 D0 21 00 30 */ stfs f1, 0x30(r1) /* 80049B74 000457D4 D0 01 00 34 */ stfs f0, 0x34(r1) /* 80049B78 000457D8 41 82 00 24 */ beq lbl_80049B9C /* 80049B7C 000457DC 80 63 00 00 */ lwz r3, 0(r3) /* 80049B80 000457E0 2C 03 00 00 */ cmpwi r3, 0 /* 80049B84 000457E4 41 82 00 18 */ beq lbl_80049B9C /* 80049B88 000457E8 D0 43 00 20 */ stfs f2, 0x20(r3) /* 80049B8C 000457EC 38 80 00 01 */ li r4, 1 /* 80049B90 000457F0 D0 23 00 24 */ stfs f1, 0x24(r3) /* 80049B94 000457F4 D0 03 00 28 */ stfs f0, 0x28(r3) /* 80049B98 000457F8 48 1A 8B 21 */ bl func_801F26B8 lbl_80049B9C: /* 80049B9C 000457FC A0 1D 00 10 */ lhz r0, 0x10(r29) /* 80049BA0 00045800 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80049BA4 00045804 41 82 00 1C */ beq lbl_80049BC0 /* 80049BA8 00045808 38 7D 00 2C */ addi r3, r29, 0x2c /* 80049BAC 0004580C 38 9D 00 3C */ addi r4, r29, 0x3c /* 80049BB0 00045810 48 1D 9B 11 */ bl func_802236C0 /* 80049BB4 00045814 A0 1D 00 10 */ lhz r0, 0x10(r29) /* 80049BB8 00045818 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80049BBC 0004581C B0 1D 00 10 */ sth r0, 0x10(r29) lbl_80049BC0: /* 80049BC0 00045820 80 7C 00 30 */ lwz r3, 0x30(r28) /* 80049BC4 00045824 80 63 00 08 */ lwz r3, 8(r3) /* 80049BC8 00045828 2C 03 00 00 */ cmpwi r3, 0 /* 80049BCC 0004582C 41 82 04 50 */ beq lbl_8004A01C /* 80049BD0 00045830 80 63 00 00 */ lwz r3, 0(r3) /* 80049BD4 00045834 2C 03 00 00 */ cmpwi r3, 0 /* 80049BD8 00045838 41 82 04 44 */ beq lbl_8004A01C /* 80049BDC 0004583C C0 1D 00 2C */ lfs f0, 0x2c(r29) /* 80049BE0 00045840 38 80 00 01 */ li r4, 1 /* 80049BE4 00045844 D0 03 00 2C */ stfs f0, 0x2c(r3) /* 80049BE8 00045848 C0 1D 00 30 */ lfs f0, 0x30(r29) /* 80049BEC 0004584C D0 03 00 30 */ stfs f0, 0x30(r3) /* 80049BF0 00045850 C0 1D 00 34 */ lfs f0, 0x34(r29) /* 80049BF4 00045854 D0 03 00 34 */ stfs f0, 0x34(r3) /* 80049BF8 00045858 C0 1D 00 38 */ lfs f0, 0x38(r29) /* 80049BFC 0004585C D0 03 00 38 */ stfs f0, 0x38(r3) /* 80049C00 00045860 A0 03 00 10 */ lhz r0, 0x10(r3) /* 80049C04 00045864 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80049C08 00045868 B0 03 00 10 */ sth r0, 0x10(r3) /* 80049C0C 0004586C 48 1A 8A AD */ bl func_801F26B8 /* 80049C10 00045870 48 00 04 0C */ b lbl_8004A01C /* 80049C14 00045874 A0 1D 00 10 */ lhz r0, 0x10(r29) /* 80049C18 00045878 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80049C1C 0004587C 41 82 00 1C */ beq lbl_80049C38 /* 80049C20 00045880 38 7D 00 2C */ addi r3, r29, 0x2c /* 80049C24 00045884 38 9D 00 3C */ addi r4, r29, 0x3c /* 80049C28 00045888 48 1D 9A 99 */ bl func_802236C0 /* 80049C2C 0004588C A0 1D 00 10 */ lhz r0, 0x10(r29) /* 80049C30 00045890 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80049C34 00045894 B0 1D 00 10 */ sth r0, 0x10(r29) lbl_80049C38: /* 80049C38 00045898 80 7C 00 30 */ lwz r3, 0x30(r28) /* 80049C3C 0004589C 80 63 00 08 */ lwz r3, 8(r3) /* 80049C40 000458A0 2C 03 00 00 */ cmpwi r3, 0 /* 80049C44 000458A4 41 82 00 44 */ beq lbl_80049C88 /* 80049C48 000458A8 80 63 00 00 */ lwz r3, 0(r3) /* 80049C4C 000458AC 2C 03 00 00 */ cmpwi r3, 0 /* 80049C50 000458B0 41 82 00 38 */ beq lbl_80049C88 /* 80049C54 000458B4 C0 1D 00 2C */ lfs f0, 0x2c(r29) /* 80049C58 000458B8 38 80 00 01 */ li r4, 1 /* 80049C5C 000458BC D0 03 00 2C */ stfs f0, 0x2c(r3) /* 80049C60 000458C0 C0 1D 00 30 */ lfs f0, 0x30(r29) /* 80049C64 000458C4 D0 03 00 30 */ stfs f0, 0x30(r3) /* 80049C68 000458C8 C0 1D 00 34 */ lfs f0, 0x34(r29) /* 80049C6C 000458CC D0 03 00 34 */ stfs f0, 0x34(r3) /* 80049C70 000458D0 C0 1D 00 38 */ lfs f0, 0x38(r29) /* 80049C74 000458D4 D0 03 00 38 */ stfs f0, 0x38(r3) /* 80049C78 000458D8 A0 03 00 10 */ lhz r0, 0x10(r3) /* 80049C7C 000458DC 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80049C80 000458E0 B0 03 00 10 */ sth r0, 0x10(r3) /* 80049C84 000458E4 48 1A 8A 35 */ bl func_801F26B8 lbl_80049C88: /* 80049C88 000458E8 80 7C 00 30 */ lwz r3, 0x30(r28) /* 80049C8C 000458EC 80 63 00 08 */ lwz r3, 8(r3) /* 80049C90 000458F0 2C 03 00 00 */ cmpwi r3, 0 /* 80049C94 000458F4 41 82 03 88 */ beq lbl_8004A01C /* 80049C98 000458F8 80 63 00 00 */ lwz r3, 0(r3) /* 80049C9C 000458FC 2C 03 00 00 */ cmpwi r3, 0 /* 80049CA0 00045900 41 82 03 7C */ beq lbl_8004A01C /* 80049CA4 00045904 C0 1D 00 48 */ lfs f0, 0x48(r29) /* 80049CA8 00045908 C0 42 83 D8 */ lfs f2, lbl_806409D8-_SDA2_BASE_(r2) /* 80049CAC 0004590C D0 03 00 48 */ stfs f0, 0x48(r3) /* 80049CB0 00045910 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80049CB4 00045914 C0 1D 00 4C */ lfs f0, 0x4c(r29) /* 80049CB8 00045918 D0 03 00 4C */ stfs f0, 0x4c(r3) /* 80049CBC 0004591C C0 1D 00 50 */ lfs f0, 0x50(r29) /* 80049CC0 00045920 D0 03 00 50 */ stfs f0, 0x50(r3) /* 80049CC4 00045924 40 80 00 2C */ bge lbl_80049CF0 /* 80049CC8 00045928 C0 23 00 48 */ lfs f1, 0x48(r3) /* 80049CCC 0004592C C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 80049CD0 00045930 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 80049CD4 00045934 40 81 00 1C */ ble lbl_80049CF0 /* 80049CD8 00045938 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049CDC 0004593C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80049CE0 00045940 40 80 00 08 */ bge lbl_80049CE8 /* 80049CE4 00045944 48 00 00 08 */ b lbl_80049CEC lbl_80049CE8: /* 80049CE8 00045948 FC 60 10 90 */ fmr f3, f2 lbl_80049CEC: /* 80049CEC 0004594C D0 63 00 48 */ stfs f3, 0x48(r3) lbl_80049CF0: /* 80049CF0 00045950 C0 43 00 4C */ lfs f2, 0x4c(r3) /* 80049CF4 00045954 C0 22 83 D8 */ lfs f1, lbl_806409D8-_SDA2_BASE_(r2) /* 80049CF8 00045958 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80049CFC 0004595C 40 80 00 28 */ bge lbl_80049D24 /* 80049D00 00045960 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 80049D04 00045964 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 80049D08 00045968 40 81 00 1C */ ble lbl_80049D24 /* 80049D0C 0004596C C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049D10 00045970 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80049D14 00045974 40 80 00 08 */ bge lbl_80049D1C /* 80049D18 00045978 48 00 00 08 */ b lbl_80049D20 lbl_80049D1C: /* 80049D1C 0004597C FC 60 08 90 */ fmr f3, f1 lbl_80049D20: /* 80049D20 00045980 D0 63 00 4C */ stfs f3, 0x4c(r3) lbl_80049D24: /* 80049D24 00045984 C0 43 00 50 */ lfs f2, 0x50(r3) /* 80049D28 00045988 C0 22 83 D8 */ lfs f1, lbl_806409D8-_SDA2_BASE_(r2) /* 80049D2C 0004598C FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80049D30 00045990 40 80 00 28 */ bge lbl_80049D58 /* 80049D34 00045994 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 80049D38 00045998 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 80049D3C 0004599C 40 81 00 1C */ ble lbl_80049D58 /* 80049D40 000459A0 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049D44 000459A4 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80049D48 000459A8 40 80 00 08 */ bge lbl_80049D50 /* 80049D4C 000459AC 48 00 00 08 */ b lbl_80049D54 lbl_80049D50: /* 80049D50 000459B0 FC 60 08 90 */ fmr f3, f1 lbl_80049D54: /* 80049D54 000459B4 D0 63 00 50 */ stfs f3, 0x50(r3) lbl_80049D58: /* 80049D58 000459B8 38 80 00 01 */ li r4, 1 /* 80049D5C 000459BC 48 1A 89 5D */ bl func_801F26B8 /* 80049D60 000459C0 48 00 02 BC */ b lbl_8004A01C /* 80049D64 000459C4 80 7C 00 30 */ lwz r3, 0x30(r28) /* 80049D68 000459C8 C0 5D 00 DC */ lfs f2, 0xdc(r29) /* 80049D6C 000459CC 80 63 00 08 */ lwz r3, 8(r3) /* 80049D70 000459D0 C0 3D 00 EC */ lfs f1, 0xec(r29) /* 80049D74 000459D4 C0 1D 00 FC */ lfs f0, 0xfc(r29) /* 80049D78 000459D8 2C 03 00 00 */ cmpwi r3, 0 /* 80049D7C 000459DC D0 41 00 20 */ stfs f2, 0x20(r1) /* 80049D80 000459E0 D0 21 00 24 */ stfs f1, 0x24(r1) /* 80049D84 000459E4 D0 01 00 28 */ stfs f0, 0x28(r1) /* 80049D88 000459E8 41 82 00 24 */ beq lbl_80049DAC /* 80049D8C 000459EC 80 63 00 00 */ lwz r3, 0(r3) /* 80049D90 000459F0 2C 03 00 00 */ cmpwi r3, 0 /* 80049D94 000459F4 41 82 00 18 */ beq lbl_80049DAC /* 80049D98 000459F8 D0 43 00 20 */ stfs f2, 0x20(r3) /* 80049D9C 000459FC 38 80 00 01 */ li r4, 1 /* 80049DA0 00045A00 D0 23 00 24 */ stfs f1, 0x24(r3) /* 80049DA4 00045A04 D0 03 00 28 */ stfs f0, 0x28(r3) /* 80049DA8 00045A08 48 1A 89 11 */ bl func_801F26B8 lbl_80049DAC: /* 80049DAC 00045A0C 80 7C 00 30 */ lwz r3, 0x30(r28) /* 80049DB0 00045A10 80 63 00 08 */ lwz r3, 8(r3) /* 80049DB4 00045A14 2C 03 00 00 */ cmpwi r3, 0 /* 80049DB8 00045A18 41 82 02 64 */ beq lbl_8004A01C /* 80049DBC 00045A1C 80 63 00 00 */ lwz r3, 0(r3) /* 80049DC0 00045A20 2C 03 00 00 */ cmpwi r3, 0 /* 80049DC4 00045A24 41 82 02 58 */ beq lbl_8004A01C /* 80049DC8 00045A28 C0 1D 00 48 */ lfs f0, 0x48(r29) /* 80049DCC 00045A2C C0 42 83 D8 */ lfs f2, lbl_806409D8-_SDA2_BASE_(r2) /* 80049DD0 00045A30 D0 03 00 48 */ stfs f0, 0x48(r3) /* 80049DD4 00045A34 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80049DD8 00045A38 C0 1D 00 4C */ lfs f0, 0x4c(r29) /* 80049DDC 00045A3C D0 03 00 4C */ stfs f0, 0x4c(r3) /* 80049DE0 00045A40 C0 1D 00 50 */ lfs f0, 0x50(r29) /* 80049DE4 00045A44 D0 03 00 50 */ stfs f0, 0x50(r3) /* 80049DE8 00045A48 40 80 00 2C */ bge lbl_80049E14 /* 80049DEC 00045A4C C0 23 00 48 */ lfs f1, 0x48(r3) /* 80049DF0 00045A50 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 80049DF4 00045A54 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 80049DF8 00045A58 40 81 00 1C */ ble lbl_80049E14 /* 80049DFC 00045A5C C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049E00 00045A60 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80049E04 00045A64 40 80 00 08 */ bge lbl_80049E0C /* 80049E08 00045A68 48 00 00 08 */ b lbl_80049E10 lbl_80049E0C: /* 80049E0C 00045A6C FC 60 10 90 */ fmr f3, f2 lbl_80049E10: /* 80049E10 00045A70 D0 63 00 48 */ stfs f3, 0x48(r3) lbl_80049E14: /* 80049E14 00045A74 C0 43 00 4C */ lfs f2, 0x4c(r3) /* 80049E18 00045A78 C0 22 83 D8 */ lfs f1, lbl_806409D8-_SDA2_BASE_(r2) /* 80049E1C 00045A7C FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80049E20 00045A80 40 80 00 28 */ bge lbl_80049E48 /* 80049E24 00045A84 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 80049E28 00045A88 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 80049E2C 00045A8C 40 81 00 1C */ ble lbl_80049E48 /* 80049E30 00045A90 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049E34 00045A94 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80049E38 00045A98 40 80 00 08 */ bge lbl_80049E40 /* 80049E3C 00045A9C 48 00 00 08 */ b lbl_80049E44 lbl_80049E40: /* 80049E40 00045AA0 FC 60 08 90 */ fmr f3, f1 lbl_80049E44: /* 80049E44 00045AA4 D0 63 00 4C */ stfs f3, 0x4c(r3) lbl_80049E48: /* 80049E48 00045AA8 C0 43 00 50 */ lfs f2, 0x50(r3) /* 80049E4C 00045AAC C0 22 83 D8 */ lfs f1, lbl_806409D8-_SDA2_BASE_(r2) /* 80049E50 00045AB0 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80049E54 00045AB4 40 80 00 28 */ bge lbl_80049E7C /* 80049E58 00045AB8 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 80049E5C 00045ABC FC 02 18 40 */ fcmpo cr0, f2, f3 /* 80049E60 00045AC0 40 81 00 1C */ ble lbl_80049E7C /* 80049E64 00045AC4 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049E68 00045AC8 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80049E6C 00045ACC 40 80 00 08 */ bge lbl_80049E74 /* 80049E70 00045AD0 48 00 00 08 */ b lbl_80049E78 lbl_80049E74: /* 80049E74 00045AD4 FC 60 08 90 */ fmr f3, f1 lbl_80049E78: /* 80049E78 00045AD8 D0 63 00 50 */ stfs f3, 0x50(r3) lbl_80049E7C: /* 80049E7C 00045ADC 38 80 00 01 */ li r4, 1 /* 80049E80 00045AE0 48 1A 88 39 */ bl func_801F26B8 /* 80049E84 00045AE4 48 00 01 98 */ b lbl_8004A01C /* 80049E88 00045AE8 80 7C 00 30 */ lwz r3, 0x30(r28) /* 80049E8C 00045AEC C0 5D 00 DC */ lfs f2, 0xdc(r29) /* 80049E90 00045AF0 80 63 00 08 */ lwz r3, 8(r3) /* 80049E94 00045AF4 C0 3D 00 EC */ lfs f1, 0xec(r29) /* 80049E98 00045AF8 C0 1D 00 FC */ lfs f0, 0xfc(r29) /* 80049E9C 00045AFC 2C 03 00 00 */ cmpwi r3, 0 /* 80049EA0 00045B00 D0 41 00 14 */ stfs f2, 0x14(r1) /* 80049EA4 00045B04 D0 21 00 18 */ stfs f1, 0x18(r1) /* 80049EA8 00045B08 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80049EAC 00045B0C 41 82 00 24 */ beq lbl_80049ED0 /* 80049EB0 00045B10 80 63 00 00 */ lwz r3, 0(r3) /* 80049EB4 00045B14 2C 03 00 00 */ cmpwi r3, 0 /* 80049EB8 00045B18 41 82 00 18 */ beq lbl_80049ED0 /* 80049EBC 00045B1C D0 43 00 20 */ stfs f2, 0x20(r3) /* 80049EC0 00045B20 38 80 00 01 */ li r4, 1 /* 80049EC4 00045B24 D0 23 00 24 */ stfs f1, 0x24(r3) /* 80049EC8 00045B28 D0 03 00 28 */ stfs f0, 0x28(r3) /* 80049ECC 00045B2C 48 1A 87 ED */ bl func_801F26B8 lbl_80049ED0: /* 80049ED0 00045B30 A0 1D 00 10 */ lhz r0, 0x10(r29) /* 80049ED4 00045B34 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80049ED8 00045B38 41 82 00 1C */ beq lbl_80049EF4 /* 80049EDC 00045B3C 38 7D 00 2C */ addi r3, r29, 0x2c /* 80049EE0 00045B40 38 9D 00 3C */ addi r4, r29, 0x3c /* 80049EE4 00045B44 48 1D 97 DD */ bl func_802236C0 /* 80049EE8 00045B48 A0 1D 00 10 */ lhz r0, 0x10(r29) /* 80049EEC 00045B4C 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80049EF0 00045B50 B0 1D 00 10 */ sth r0, 0x10(r29) lbl_80049EF4: /* 80049EF4 00045B54 80 7C 00 30 */ lwz r3, 0x30(r28) /* 80049EF8 00045B58 80 63 00 08 */ lwz r3, 8(r3) /* 80049EFC 00045B5C 2C 03 00 00 */ cmpwi r3, 0 /* 80049F00 00045B60 41 82 00 44 */ beq lbl_80049F44 /* 80049F04 00045B64 80 63 00 00 */ lwz r3, 0(r3) /* 80049F08 00045B68 2C 03 00 00 */ cmpwi r3, 0 /* 80049F0C 00045B6C 41 82 00 38 */ beq lbl_80049F44 /* 80049F10 00045B70 C0 1D 00 2C */ lfs f0, 0x2c(r29) /* 80049F14 00045B74 38 80 00 01 */ li r4, 1 /* 80049F18 00045B78 D0 03 00 2C */ stfs f0, 0x2c(r3) /* 80049F1C 00045B7C C0 1D 00 30 */ lfs f0, 0x30(r29) /* 80049F20 00045B80 D0 03 00 30 */ stfs f0, 0x30(r3) /* 80049F24 00045B84 C0 1D 00 34 */ lfs f0, 0x34(r29) /* 80049F28 00045B88 D0 03 00 34 */ stfs f0, 0x34(r3) /* 80049F2C 00045B8C C0 1D 00 38 */ lfs f0, 0x38(r29) /* 80049F30 00045B90 D0 03 00 38 */ stfs f0, 0x38(r3) /* 80049F34 00045B94 A0 03 00 10 */ lhz r0, 0x10(r3) /* 80049F38 00045B98 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80049F3C 00045B9C B0 03 00 10 */ sth r0, 0x10(r3) /* 80049F40 00045BA0 48 1A 87 79 */ bl func_801F26B8 lbl_80049F44: /* 80049F44 00045BA4 80 7C 00 30 */ lwz r3, 0x30(r28) /* 80049F48 00045BA8 80 63 00 08 */ lwz r3, 8(r3) /* 80049F4C 00045BAC 2C 03 00 00 */ cmpwi r3, 0 /* 80049F50 00045BB0 41 82 00 CC */ beq lbl_8004A01C /* 80049F54 00045BB4 80 63 00 00 */ lwz r3, 0(r3) /* 80049F58 00045BB8 2C 03 00 00 */ cmpwi r3, 0 /* 80049F5C 00045BBC 41 82 00 C0 */ beq lbl_8004A01C /* 80049F60 00045BC0 C0 1D 00 48 */ lfs f0, 0x48(r29) /* 80049F64 00045BC4 C0 42 83 D8 */ lfs f2, lbl_806409D8-_SDA2_BASE_(r2) /* 80049F68 00045BC8 D0 03 00 48 */ stfs f0, 0x48(r3) /* 80049F6C 00045BCC FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80049F70 00045BD0 C0 1D 00 4C */ lfs f0, 0x4c(r29) /* 80049F74 00045BD4 D0 03 00 4C */ stfs f0, 0x4c(r3) /* 80049F78 00045BD8 C0 1D 00 50 */ lfs f0, 0x50(r29) /* 80049F7C 00045BDC D0 03 00 50 */ stfs f0, 0x50(r3) /* 80049F80 00045BE0 40 80 00 2C */ bge lbl_80049FAC /* 80049F84 00045BE4 C0 23 00 48 */ lfs f1, 0x48(r3) /* 80049F88 00045BE8 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 80049F8C 00045BEC FC 01 18 40 */ fcmpo cr0, f1, f3 /* 80049F90 00045BF0 40 81 00 1C */ ble lbl_80049FAC /* 80049F94 00045BF4 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049F98 00045BF8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80049F9C 00045BFC 40 80 00 08 */ bge lbl_80049FA4 /* 80049FA0 00045C00 48 00 00 08 */ b lbl_80049FA8 lbl_80049FA4: /* 80049FA4 00045C04 FC 60 10 90 */ fmr f3, f2 lbl_80049FA8: /* 80049FA8 00045C08 D0 63 00 48 */ stfs f3, 0x48(r3) lbl_80049FAC: /* 80049FAC 00045C0C C0 43 00 4C */ lfs f2, 0x4c(r3) /* 80049FB0 00045C10 C0 22 83 D8 */ lfs f1, lbl_806409D8-_SDA2_BASE_(r2) /* 80049FB4 00045C14 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80049FB8 00045C18 40 80 00 28 */ bge lbl_80049FE0 /* 80049FBC 00045C1C C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 80049FC0 00045C20 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 80049FC4 00045C24 40 81 00 1C */ ble lbl_80049FE0 /* 80049FC8 00045C28 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 80049FCC 00045C2C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80049FD0 00045C30 40 80 00 08 */ bge lbl_80049FD8 /* 80049FD4 00045C34 48 00 00 08 */ b lbl_80049FDC lbl_80049FD8: /* 80049FD8 00045C38 FC 60 08 90 */ fmr f3, f1 lbl_80049FDC: /* 80049FDC 00045C3C D0 63 00 4C */ stfs f3, 0x4c(r3) lbl_80049FE0: /* 80049FE0 00045C40 C0 43 00 50 */ lfs f2, 0x50(r3) /* 80049FE4 00045C44 C0 22 83 D8 */ lfs f1, lbl_806409D8-_SDA2_BASE_(r2) /* 80049FE8 00045C48 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80049FEC 00045C4C 40 80 00 28 */ bge lbl_8004A014 /* 80049FF0 00045C50 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 80049FF4 00045C54 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 80049FF8 00045C58 40 81 00 1C */ ble lbl_8004A014 /* 80049FFC 00045C5C C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A000 00045C60 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8004A004 00045C64 40 80 00 08 */ bge lbl_8004A00C /* 8004A008 00045C68 48 00 00 08 */ b lbl_8004A010 lbl_8004A00C: /* 8004A00C 00045C6C FC 60 08 90 */ fmr f3, f1 lbl_8004A010: /* 8004A010 00045C70 D0 63 00 50 */ stfs f3, 0x50(r3) lbl_8004A014: /* 8004A014 00045C74 38 80 00 01 */ li r4, 1 /* 8004A018 00045C78 48 1A 86 A1 */ bl func_801F26B8 lbl_8004A01C: /* 8004A01C 00045C7C 2C 1F 00 00 */ cmpwi r31, 0 /* 8004A020 00045C80 41 82 00 74 */ beq lbl_8004A094 /* 8004A024 00045C84 80 1E 00 38 */ lwz r0, 0x38(r30) /* 8004A028 00045C88 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 8004A02C 00045C8C 41 82 00 68 */ beq lbl_8004A094 /* 8004A030 00045C90 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8004A034 00045C94 2C 03 00 00 */ cmpwi r3, 0 /* 8004A038 00045C98 41 82 00 0C */ beq lbl_8004A044 /* 8004A03C 00045C9C 38 83 01 20 */ addi r4, r3, 0x120 /* 8004A040 00045CA0 48 00 00 08 */ b lbl_8004A048 lbl_8004A044: /* 8004A044 00045CA4 38 80 00 00 */ li r4, 0 lbl_8004A048: /* 8004A048 00045CA8 2C 04 00 00 */ cmpwi r4, 0 /* 8004A04C 00045CAC 41 82 00 48 */ beq lbl_8004A094 /* 8004A050 00045CB0 38 61 00 08 */ addi r3, r1, 8 /* 8004A054 00045CB4 48 1D 68 C9 */ bl func_8022091C /* 8004A058 00045CB8 80 7C 00 30 */ lwz r3, 0x30(r28) /* 8004A05C 00045CBC 80 63 00 08 */ lwz r3, 8(r3) /* 8004A060 00045CC0 2C 03 00 00 */ cmpwi r3, 0 /* 8004A064 00045CC4 41 82 00 30 */ beq lbl_8004A094 /* 8004A068 00045CC8 80 63 00 00 */ lwz r3, 0(r3) /* 8004A06C 00045CCC 2C 03 00 00 */ cmpwi r3, 0 /* 8004A070 00045CD0 41 82 00 24 */ beq lbl_8004A094 /* 8004A074 00045CD4 C0 01 00 08 */ lfs f0, 8(r1) /* 8004A078 00045CD8 38 80 00 01 */ li r4, 1 /* 8004A07C 00045CDC D0 03 00 20 */ stfs f0, 0x20(r3) /* 8004A080 00045CE0 C0 01 00 0C */ lfs f0, 0xc(r1) /* 8004A084 00045CE4 D0 03 00 24 */ stfs f0, 0x24(r3) /* 8004A088 00045CE8 C0 01 00 10 */ lfs f0, 0x10(r1) /* 8004A08C 00045CEC D0 03 00 28 */ stfs f0, 0x28(r3) /* 8004A090 00045CF0 48 1A 86 29 */ bl func_801F26B8 lbl_8004A094: /* 8004A094 00045CF4 80 1E 00 38 */ lwz r0, 0x38(r30) /* 8004A098 00045CF8 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8004A09C 00045CFC 41 82 00 3C */ beq lbl_8004A0D8 /* 8004A0A0 00045D00 80 7C 00 34 */ lwz r3, 0x34(r28) /* 8004A0A4 00045D04 2C 03 00 00 */ cmpwi r3, 0 /* 8004A0A8 00045D08 41 82 00 30 */ beq lbl_8004A0D8 /* 8004A0AC 00045D0C C0 03 00 DC */ lfs f0, 0xdc(r3) /* 8004A0B0 00045D10 2C 1F 00 00 */ cmpwi r31, 0 /* 8004A0B4 00045D14 D0 01 00 44 */ stfs f0, 0x44(r1) /* 8004A0B8 00045D18 C0 03 00 EC */ lfs f0, 0xec(r3) /* 8004A0BC 00045D1C D0 01 00 48 */ stfs f0, 0x48(r1) /* 8004A0C0 00045D20 C0 03 00 FC */ lfs f0, 0xfc(r3) /* 8004A0C4 00045D24 D0 01 00 4C */ stfs f0, 0x4c(r1) /* 8004A0C8 00045D28 41 82 00 10 */ beq lbl_8004A0D8 /* 8004A0CC 00045D2C 7F E3 FB 78 */ mr r3, r31 /* 8004A0D0 00045D30 38 81 00 44 */ addi r4, r1, 0x44 /* 8004A0D4 00045D34 4B FE E7 49 */ bl func_8003881C lbl_8004A0D8: /* 8004A0D8 00045D38 80 01 00 64 */ lwz r0, 0x64(r1) /* 8004A0DC 00045D3C 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 8004A0E0 00045D40 83 C1 00 58 */ lwz r30, 0x58(r1) /* 8004A0E4 00045D44 83 A1 00 54 */ lwz r29, 0x54(r1) /* 8004A0E8 00045D48 83 81 00 50 */ lwz r28, 0x50(r1) /* 8004A0EC 00045D4C 7C 08 03 A6 */ mtlr r0 /* 8004A0F0 00045D50 38 21 00 60 */ addi r1, r1, 0x60 /* 8004A0F4 00045D54 4E 80 00 20 */ blr /* 8004A0F8 00045D58 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8004A0FC 00045D5C 7C 08 02 A6 */ mflr r0 /* 8004A100 00045D60 90 01 00 34 */ stw r0, 0x34(r1) /* 8004A104 00045D64 39 61 00 30 */ addi r11, r1, 0x30 /* 8004A108 00045D68 48 17 D0 21 */ bl _savegpr_27 /* 8004A10C 00045D6C 7C 7F 1B 78 */ mr r31, r3 /* 8004A110 00045D70 4B FE 8F 79 */ bl func_80033088 /* 8004A114 00045D74 80 9F 00 2C */ lwz r4, 0x2c(r31) /* 8004A118 00045D78 7C 7B 1B 78 */ mr r27, r3 /* 8004A11C 00045D7C 80 7F 00 18 */ lwz r3, 0x18(r31) /* 8004A120 00045D80 2C 04 00 00 */ cmpwi r4, 0 /* 8004A124 00045D84 83 DF 00 14 */ lwz r30, 0x14(r31) /* 8004A128 00045D88 83 83 00 34 */ lwz r28, 0x34(r3) /* 8004A12C 00045D8C 41 82 01 DC */ beq lbl_8004A308 /* 8004A130 00045D90 80 A4 00 04 */ lwz r5, 4(r4) /* 8004A134 00045D94 2C 05 00 00 */ cmpwi r5, 0 /* 8004A138 00045D98 40 82 00 0C */ bne lbl_8004A144 /* 8004A13C 00045D9C 3B A0 00 00 */ li r29, 0 /* 8004A140 00045DA0 48 00 00 20 */ b lbl_8004A160 lbl_8004A144: /* 8004A144 00045DA4 80 64 00 00 */ lwz r3, 0(r4) /* 8004A148 00045DA8 A0 03 00 18 */ lhz r0, 0x18(r3) /* 8004A14C 00045DAC 2C 00 00 00 */ cmpwi r0, 0 /* 8004A150 00045DB0 40 82 00 0C */ bne lbl_8004A15C /* 8004A154 00045DB4 3B A0 00 00 */ li r29, 0 /* 8004A158 00045DB8 48 00 00 08 */ b lbl_8004A160 lbl_8004A15C: /* 8004A15C 00045DBC 83 A5 00 00 */ lwz r29, 0(r5) lbl_8004A160: /* 8004A160 00045DC0 2C 1D 00 00 */ cmpwi r29, 0 /* 8004A164 00045DC4 41 82 01 A4 */ beq lbl_8004A308 /* 8004A168 00045DC8 7F E3 FB 78 */ mr r3, r31 /* 8004A16C 00045DCC 38 80 00 01 */ li r4, 1 /* 8004A170 00045DD0 4B FF F7 A9 */ bl func_80049918 /* 8004A174 00045DD4 2C 1C 00 00 */ cmpwi r28, 0 /* 8004A178 00045DD8 41 82 00 14 */ beq lbl_8004A18C /* 8004A17C 00045DDC 80 7F 00 14 */ lwz r3, 0x14(r31) /* 8004A180 00045DE0 80 03 00 00 */ lwz r0, 0(r3) /* 8004A184 00045DE4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 8004A188 00045DE8 41 82 00 0C */ beq lbl_8004A194 lbl_8004A18C: /* 8004A18C 00045DEC C0 22 83 E0 */ lfs f1, lbl_806409E0-_SDA2_BASE_(r2) /* 8004A190 00045DF0 48 00 00 0C */ b lbl_8004A19C lbl_8004A194: /* 8004A194 00045DF4 7F 83 E3 78 */ mr r3, r28 /* 8004A198 00045DF8 4B FE F6 25 */ bl func_800397BC lbl_8004A19C: /* 8004A19C 00045DFC 80 7D 00 08 */ lwz r3, 8(r29) /* 8004A1A0 00045E00 D0 21 00 08 */ stfs f1, 8(r1) /* 8004A1A4 00045E04 2C 03 00 00 */ cmpwi r3, 0 /* 8004A1A8 00045E08 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8004A1AC 00045E0C D0 21 00 10 */ stfs f1, 0x10(r1) /* 8004A1B0 00045E10 41 82 00 C4 */ beq lbl_8004A274 /* 8004A1B4 00045E14 80 63 00 00 */ lwz r3, 0(r3) /* 8004A1B8 00045E18 2C 03 00 00 */ cmpwi r3, 0 /* 8004A1BC 00045E1C 41 82 00 B8 */ beq lbl_8004A274 /* 8004A1C0 00045E20 FC 00 08 18 */ frsp f0, f1 /* 8004A1C4 00045E24 C0 42 83 D8 */ lfs f2, lbl_806409D8-_SDA2_BASE_(r2) /* 8004A1C8 00045E28 D0 03 00 48 */ stfs f0, 0x48(r3) /* 8004A1CC 00045E2C FC 00 10 40 */ fcmpo cr0, f0, f2 /* 8004A1D0 00045E30 D0 03 00 4C */ stfs f0, 0x4c(r3) /* 8004A1D4 00045E34 D0 03 00 50 */ stfs f0, 0x50(r3) /* 8004A1D8 00045E38 40 80 00 2C */ bge lbl_8004A204 /* 8004A1DC 00045E3C C0 23 00 48 */ lfs f1, 0x48(r3) /* 8004A1E0 00045E40 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 8004A1E4 00045E44 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 8004A1E8 00045E48 40 81 00 1C */ ble lbl_8004A204 /* 8004A1EC 00045E4C C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A1F0 00045E50 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8004A1F4 00045E54 40 80 00 08 */ bge lbl_8004A1FC /* 8004A1F8 00045E58 48 00 00 08 */ b lbl_8004A200 lbl_8004A1FC: /* 8004A1FC 00045E5C FC 60 10 90 */ fmr f3, f2 lbl_8004A200: /* 8004A200 00045E60 D0 63 00 48 */ stfs f3, 0x48(r3) lbl_8004A204: /* 8004A204 00045E64 C0 43 00 4C */ lfs f2, 0x4c(r3) /* 8004A208 00045E68 C0 22 83 D8 */ lfs f1, lbl_806409D8-_SDA2_BASE_(r2) /* 8004A20C 00045E6C FC 02 08 40 */ fcmpo cr0, f2, f1 /* 8004A210 00045E70 40 80 00 28 */ bge lbl_8004A238 /* 8004A214 00045E74 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 8004A218 00045E78 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 8004A21C 00045E7C 40 81 00 1C */ ble lbl_8004A238 /* 8004A220 00045E80 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A224 00045E84 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8004A228 00045E88 40 80 00 08 */ bge lbl_8004A230 /* 8004A22C 00045E8C 48 00 00 08 */ b lbl_8004A234 lbl_8004A230: /* 8004A230 00045E90 FC 60 08 90 */ fmr f3, f1 lbl_8004A234: /* 8004A234 00045E94 D0 63 00 4C */ stfs f3, 0x4c(r3) lbl_8004A238: /* 8004A238 00045E98 C0 43 00 50 */ lfs f2, 0x50(r3) /* 8004A23C 00045E9C C0 22 83 D8 */ lfs f1, lbl_806409D8-_SDA2_BASE_(r2) /* 8004A240 00045EA0 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 8004A244 00045EA4 40 80 00 28 */ bge lbl_8004A26C /* 8004A248 00045EA8 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 8004A24C 00045EAC FC 02 18 40 */ fcmpo cr0, f2, f3 /* 8004A250 00045EB0 40 81 00 1C */ ble lbl_8004A26C /* 8004A254 00045EB4 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A258 00045EB8 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8004A25C 00045EBC 40 80 00 08 */ bge lbl_8004A264 /* 8004A260 00045EC0 48 00 00 08 */ b lbl_8004A268 lbl_8004A264: /* 8004A264 00045EC4 FC 60 08 90 */ fmr f3, f1 lbl_8004A268: /* 8004A268 00045EC8 D0 63 00 50 */ stfs f3, 0x50(r3) lbl_8004A26C: /* 8004A26C 00045ECC 38 80 00 01 */ li r4, 1 /* 8004A270 00045ED0 48 1A 84 49 */ bl func_801F26B8 lbl_8004A274: /* 8004A274 00045ED4 88 9E 00 3D */ lbz r4, 0x3d(r30) /* 8004A278 00045ED8 7F A3 EB 78 */ mr r3, r29 /* 8004A27C 00045EDC 48 1A BD F5 */ bl func_801F6070 /* 8004A280 00045EE0 88 9E 00 3C */ lbz r4, 0x3c(r30) /* 8004A284 00045EE4 7F A3 EB 78 */ mr r3, r29 /* 8004A288 00045EE8 88 BE 00 3D */ lbz r5, 0x3d(r30) /* 8004A28C 00045EEC 38 C0 00 00 */ li r6, 0 /* 8004A290 00045EF0 C0 22 83 D0 */ lfs f1, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A294 00045EF4 38 E0 00 00 */ li r7, 0 /* 8004A298 00045EF8 C0 42 83 E0 */ lfs f2, lbl_806409E0-_SDA2_BASE_(r2) /* 8004A29C 00045EFC 39 00 00 00 */ li r8, 0 /* 8004A2A0 00045F00 48 1A AB 55 */ bl func_801F4DF4 /* 8004A2A4 00045F04 88 1F 00 38 */ lbz r0, 0x38(r31) /* 8004A2A8 00045F08 2C 00 00 00 */ cmpwi r0, 0 /* 8004A2AC 00045F0C 41 82 00 40 */ beq lbl_8004A2EC /* 8004A2B0 00045F10 2C 1B 00 00 */ cmpwi r27, 0 /* 8004A2B4 00045F14 41 82 00 38 */ beq lbl_8004A2EC /* 8004A2B8 00045F18 80 9F 00 18 */ lwz r4, 0x18(r31) /* 8004A2BC 00045F1C 7F 63 DB 78 */ mr r3, r27 /* 8004A2C0 00045F20 80 04 00 20 */ lwz r0, 0x20(r4) /* 8004A2C4 00045F24 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 8004A2C8 00045F28 4B FE 98 B5 */ bl func_80033B7C /* 8004A2CC 00045F2C 2C 03 00 00 */ cmpwi r3, 0 /* 8004A2D0 00045F30 7C 7C 1B 78 */ mr r28, r3 /* 8004A2D4 00045F34 41 82 00 18 */ beq lbl_8004A2EC /* 8004A2D8 00045F38 7F A4 EB 78 */ mr r4, r29 /* 8004A2DC 00045F3C 4B FE B7 6D */ bl func_80035A48 /* 8004A2E0 00045F40 7F 83 E3 78 */ mr r3, r28 /* 8004A2E4 00045F44 38 80 00 00 */ li r4, 0 /* 8004A2E8 00045F48 4B FE B7 69 */ bl func_80035A50 lbl_8004A2EC: /* 8004A2EC 00045F4C 80 7F 00 14 */ lwz r3, 0x14(r31) /* 8004A2F0 00045F50 80 03 00 38 */ lwz r0, 0x38(r3) /* 8004A2F4 00045F54 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 8004A2F8 00045F58 41 82 00 10 */ beq lbl_8004A308 /* 8004A2FC 00045F5C 80 1F 00 08 */ lwz r0, 8(r31) /* 8004A300 00045F60 60 00 00 02 */ ori r0, r0, 2 /* 8004A304 00045F64 90 1F 00 08 */ stw r0, 8(r31) lbl_8004A308: /* 8004A308 00045F68 39 61 00 30 */ addi r11, r1, 0x30 /* 8004A30C 00045F6C 48 17 CE 69 */ bl _restgpr_27 /* 8004A310 00045F70 80 01 00 34 */ lwz r0, 0x34(r1) /* 8004A314 00045F74 7C 08 03 A6 */ mtlr r0 /* 8004A318 00045F78 38 21 00 30 */ addi r1, r1, 0x30 /* 8004A31C 00045F7C 4E 80 00 20 */ blr /* 8004A320 00045F80 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004A324 00045F84 7C 08 02 A6 */ mflr r0 /* 8004A328 00045F88 90 01 00 14 */ stw r0, 0x14(r1) /* 8004A32C 00045F8C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004A330 00045F90 93 C1 00 08 */ stw r30, 8(r1) /* 8004A334 00045F94 7C 7E 1B 78 */ mr r30, r3 /* 8004A338 00045F98 4B FE 8D 51 */ bl func_80033088 /* 8004A33C 00045F9C 80 1E 00 30 */ lwz r0, 0x30(r30) /* 8004A340 00045FA0 7C 7F 1B 78 */ mr r31, r3 /* 8004A344 00045FA4 2C 00 00 00 */ cmpwi r0, 0 /* 8004A348 00045FA8 41 82 00 1C */ beq lbl_8004A364 /* 8004A34C 00045FAC 7C 03 03 78 */ mr r3, r0 /* 8004A350 00045FB0 48 1A B4 C5 */ bl func_801F5814 /* 8004A354 00045FB4 80 7E 00 30 */ lwz r3, 0x30(r30) /* 8004A358 00045FB8 A0 03 00 DC */ lhz r0, 0xdc(r3) /* 8004A35C 00045FBC 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e /* 8004A360 00045FC0 B0 03 00 DC */ sth r0, 0xdc(r3) lbl_8004A364: /* 8004A364 00045FC4 88 1E 00 38 */ lbz r0, 0x38(r30) /* 8004A368 00045FC8 2C 00 00 00 */ cmpwi r0, 0 /* 8004A36C 00045FCC 41 82 00 2C */ beq lbl_8004A398 /* 8004A370 00045FD0 2C 1F 00 00 */ cmpwi r31, 0 /* 8004A374 00045FD4 41 82 00 24 */ beq lbl_8004A398 /* 8004A378 00045FD8 80 9E 00 18 */ lwz r4, 0x18(r30) /* 8004A37C 00045FDC 7F E3 FB 78 */ mr r3, r31 /* 8004A380 00045FE0 80 04 00 20 */ lwz r0, 0x20(r4) /* 8004A384 00045FE4 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 8004A388 00045FE8 4B FE 97 F5 */ bl func_80033B7C /* 8004A38C 00045FEC 2C 03 00 00 */ cmpwi r3, 0 /* 8004A390 00045FF0 41 82 00 08 */ beq lbl_8004A398 /* 8004A394 00045FF4 4B FE B7 25 */ bl func_80035AB8 lbl_8004A398: /* 8004A398 00045FF8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004A39C 00045FFC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004A3A0 00046000 83 C1 00 08 */ lwz r30, 8(r1) /* 8004A3A4 00046004 7C 08 03 A6 */ mtlr r0 /* 8004A3A8 00046008 38 21 00 10 */ addi r1, r1, 0x10 /* 8004A3AC 0004600C 4E 80 00 20 */ blr /* 8004A3B0 00046010 80 83 00 14 */ lwz r4, 0x14(r3) /* 8004A3B4 00046014 80 04 00 00 */ lwz r0, 0(r4) /* 8004A3B8 00046018 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 8004A3BC 0004601C 4C 82 00 20 */ bnelr /* 8004A3C0 00046020 38 80 00 00 */ li r4, 0 /* 8004A3C4 00046024 4B FF F5 54 */ b func_80049918 /* 8004A3C8 00046028 4E 80 00 20 */ blr .global func_8004A3CC func_8004A3CC: /* 8004A3CC 0004602C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004A3D0 00046030 7C 08 02 A6 */ mflr r0 /* 8004A3D4 00046034 90 01 00 14 */ stw r0, 0x14(r1) /* 8004A3D8 00046038 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004A3DC 0004603C 7C 7F 1B 78 */ mr r31, r3 /* 8004A3E0 00046040 4B FF EC A5 */ bl func_80049084 /* 8004A3E4 00046044 3C 80 80 41 */ lis r4, lbl_8040A648@ha /* 8004A3E8 00046048 7F E3 FB 78 */ mr r3, r31 /* 8004A3EC 0004604C 38 84 A6 48 */ addi r4, r4, lbl_8040A648@l /* 8004A3F0 00046050 90 9F 00 28 */ stw r4, 0x28(r31) /* 8004A3F4 00046054 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004A3F8 00046058 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004A3FC 0004605C 7C 08 03 A6 */ mtlr r0 /* 8004A400 00046060 38 21 00 10 */ addi r1, r1, 0x10 /* 8004A404 00046064 4E 80 00 20 */ blr /* 8004A408 00046068 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004A40C 0004606C 7C 08 02 A6 */ mflr r0 /* 8004A410 00046070 2C 03 00 00 */ cmpwi r3, 0 /* 8004A414 00046074 90 01 00 14 */ stw r0, 0x14(r1) /* 8004A418 00046078 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004A41C 0004607C 7C 9F 23 78 */ mr r31, r4 /* 8004A420 00046080 93 C1 00 08 */ stw r30, 8(r1) /* 8004A424 00046084 7C 7E 1B 78 */ mr r30, r3 /* 8004A428 00046088 41 82 00 38 */ beq lbl_8004A460 /* 8004A42C 0004608C 3D 80 80 41 */ lis r12, lbl_8040A648@ha /* 8004A430 00046090 39 8C A6 48 */ addi r12, r12, lbl_8040A648@l /* 8004A434 00046094 91 83 00 28 */ stw r12, 0x28(r3) /* 8004A438 00046098 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 8004A43C 0004609C 7D 89 03 A6 */ mtctr r12 /* 8004A440 000460A0 4E 80 04 21 */ bctrl /* 8004A444 000460A4 7F C3 F3 78 */ mr r3, r30 /* 8004A448 000460A8 38 80 00 00 */ li r4, 0 /* 8004A44C 000460AC 4B FF EC 69 */ bl func_800490B4 /* 8004A450 000460B0 2C 1F 00 00 */ cmpwi r31, 0 /* 8004A454 000460B4 40 81 00 0C */ ble lbl_8004A460 /* 8004A458 000460B8 7F C3 F3 78 */ mr r3, r30 /* 8004A45C 000460BC 48 19 06 5D */ bl __dl__FPv lbl_8004A460: /* 8004A460 000460C0 7F C3 F3 78 */ mr r3, r30 /* 8004A464 000460C4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004A468 000460C8 83 C1 00 08 */ lwz r30, 8(r1) /* 8004A46C 000460CC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004A470 000460D0 7C 08 03 A6 */ mtlr r0 /* 8004A474 000460D4 38 21 00 10 */ addi r1, r1, 0x10 /* 8004A478 000460D8 4E 80 00 20 */ blr /* 8004A47C 000460DC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004A480 000460E0 7C 08 02 A6 */ mflr r0 /* 8004A484 000460E4 90 01 00 14 */ stw r0, 0x14(r1) /* 8004A488 000460E8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004A48C 000460EC 7C 7F 1B 78 */ mr r31, r3 /* 8004A490 000460F0 80 03 00 2C */ lwz r0, 0x2c(r3) /* 8004A494 000460F4 2C 00 00 00 */ cmpwi r0, 0 /* 8004A498 000460F8 41 82 00 28 */ beq lbl_8004A4C0 /* 8004A49C 000460FC 41 82 00 1C */ beq lbl_8004A4B8 /* 8004A4A0 00046100 7C 03 03 78 */ mr r3, r0 /* 8004A4A4 00046104 38 80 00 01 */ li r4, 1 /* 8004A4A8 00046108 81 83 01 00 */ lwz r12, 0x100(r3) /* 8004A4AC 0004610C 81 8C 00 08 */ lwz r12, 8(r12) /* 8004A4B0 00046110 7D 89 03 A6 */ mtctr r12 /* 8004A4B4 00046114 4E 80 04 21 */ bctrl lbl_8004A4B8: /* 8004A4B8 00046118 38 00 00 00 */ li r0, 0 /* 8004A4BC 0004611C 90 1F 00 2C */ stw r0, 0x2c(r31) lbl_8004A4C0: /* 8004A4C0 00046120 7F E3 FB 78 */ mr r3, r31 /* 8004A4C4 00046124 4B FF EC 59 */ bl func_8004911C /* 8004A4C8 00046128 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004A4CC 0004612C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004A4D0 00046130 7C 08 03 A6 */ mtlr r0 /* 8004A4D4 00046134 38 21 00 10 */ addi r1, r1, 0x10 /* 8004A4D8 00046138 4E 80 00 20 */ blr /* 8004A4DC 0004613C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004A4E0 00046140 7C 08 02 A6 */ mflr r0 /* 8004A4E4 00046144 90 01 00 14 */ stw r0, 0x14(r1) /* 8004A4E8 00046148 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004A4EC 0004614C 7C 9F 23 78 */ mr r31, r4 /* 8004A4F0 00046150 93 C1 00 08 */ stw r30, 8(r1) /* 8004A4F4 00046154 7C 7E 1B 78 */ mr r30, r3 /* 8004A4F8 00046158 48 19 06 31 */ bl func_801DAB28 /* 8004A4FC 0004615C 2C 03 00 00 */ cmpwi r3, 0 /* 8004A500 00046160 41 82 00 14 */ beq lbl_8004A514 /* 8004A504 00046164 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 8004A508 00046168 38 80 01 40 */ li r4, 0x140 /* 8004A50C 0004616C 48 19 07 89 */ bl func_801DAC94 /* 8004A510 00046170 48 00 00 08 */ b lbl_8004A518 lbl_8004A514: /* 8004A514 00046174 38 60 00 00 */ li r3, 0 lbl_8004A518: /* 8004A518 00046178 2C 03 00 00 */ cmpwi r3, 0 /* 8004A51C 0004617C 41 82 00 0C */ beq lbl_8004A528 /* 8004A520 00046180 80 9F 00 44 */ lwz r4, 0x44(r31) /* 8004A524 00046184 48 1A F3 C9 */ bl func_801F98EC lbl_8004A528: /* 8004A528 00046188 90 7E 00 2C */ stw r3, 0x2c(r30) /* 8004A52C 0004618C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004A530 00046190 83 C1 00 08 */ lwz r30, 8(r1) /* 8004A534 00046194 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004A538 00046198 7C 08 03 A6 */ mtlr r0 /* 8004A53C 0004619C 38 21 00 10 */ addi r1, r1, 0x10 /* 8004A540 000461A0 4E 80 00 20 */ blr /* 8004A544 000461A4 80 83 00 14 */ lwz r4, 0x14(r3) /* 8004A548 000461A8 2C 04 00 00 */ cmpwi r4, 0 /* 8004A54C 000461AC 40 82 00 0C */ bne lbl_8004A558 /* 8004A550 000461B0 C0 22 83 D0 */ lfs f1, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A554 000461B4 4E 80 00 20 */ blr lbl_8004A558: /* 8004A558 000461B8 C0 24 00 04 */ lfs f1, 4(r4) /* 8004A55C 000461BC C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A560 000461C0 FC 00 08 00 */ fcmpu cr0, f0, f1 /* 8004A564 000461C4 4C 82 00 20 */ bnelr /* 8004A568 000461C8 80 63 00 2C */ lwz r3, 0x2c(r3) /* 8004A56C 000461CC 80 63 01 38 */ lwz r3, 0x138(r3) /* 8004A570 000461D0 48 1B D2 D0 */ b func_80207840 /* 8004A574 000461D4 4E 80 00 20 */ blr /* 8004A578 000461D8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8004A57C 000461DC 7C 08 02 A6 */ mflr r0 /* 8004A580 000461E0 90 01 00 24 */ stw r0, 0x24(r1) /* 8004A584 000461E4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8004A588 000461E8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8004A58C 000461EC 7C 7E 1B 78 */ mr r30, r3 /* 8004A590 000461F0 80 83 00 2C */ lwz r4, 0x2c(r3) /* 8004A594 000461F4 80 63 00 18 */ lwz r3, 0x18(r3) /* 8004A598 000461F8 2C 04 00 00 */ cmpwi r4, 0 /* 8004A59C 000461FC 83 E3 00 34 */ lwz r31, 0x34(r3) /* 8004A5A0 00046200 41 82 01 6C */ beq lbl_8004A70C /* 8004A5A4 00046204 2C 1F 00 00 */ cmpwi r31, 0 /* 8004A5A8 00046208 40 82 00 08 */ bne lbl_8004A5B0 /* 8004A5AC 0004620C 48 00 01 60 */ b lbl_8004A70C lbl_8004A5B0: /* 8004A5B0 00046210 80 64 00 C0 */ lwz r3, 0xc0(r4) /* 8004A5B4 00046214 2C 03 00 00 */ cmpwi r3, 0 /* 8004A5B8 00046218 41 82 00 08 */ beq lbl_8004A5C0 /* 8004A5BC 0004621C 48 1A 7C 6D */ bl func_801F2228 lbl_8004A5C0: /* 8004A5C0 00046220 80 7E 00 14 */ lwz r3, 0x14(r30) /* 8004A5C4 00046224 80 83 00 00 */ lwz r4, 0(r3) /* 8004A5C8 00046228 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 8004A5CC 0004622C 40 82 00 40 */ bne lbl_8004A60C /* 8004A5D0 00046230 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e /* 8004A5D4 00046234 41 82 00 0C */ beq lbl_8004A5E0 /* 8004A5D8 00046238 80 7E 00 1C */ lwz r3, 0x1c(r30) /* 8004A5DC 0004623C 48 00 00 10 */ b lbl_8004A5EC lbl_8004A5E0: /* 8004A5E0 00046240 88 83 00 0C */ lbz r4, 0xc(r3) /* 8004A5E4 00046244 7F E3 FB 78 */ mr r3, r31 /* 8004A5E8 00046248 4B FE F3 05 */ bl func_800398EC lbl_8004A5EC: /* 8004A5EC 0004624C 2C 03 00 00 */ cmpwi r3, 0 /* 8004A5F0 00046250 41 82 00 1C */ beq lbl_8004A60C /* 8004A5F4 00046254 80 1E 00 24 */ lwz r0, 0x24(r30) /* 8004A5F8 00046258 38 C0 00 00 */ li r6, 0 /* 8004A5FC 0004625C 80 BE 00 2C */ lwz r5, 0x2c(r30) /* 8004A600 00046260 38 E0 00 03 */ li r7, 3 /* 8004A604 00046264 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 8004A608 00046268 48 1A 7B 85 */ bl func_801F218C lbl_8004A60C: /* 8004A60C 0004626C 80 7E 00 14 */ lwz r3, 0x14(r30) /* 8004A610 00046270 80 03 00 00 */ lwz r0, 0(r3) /* 8004A614 00046274 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 8004A618 00046278 41 82 00 0C */ beq lbl_8004A624 /* 8004A61C 0004627C C0 22 83 E0 */ lfs f1, lbl_806409E0-_SDA2_BASE_(r2) /* 8004A620 00046280 48 00 00 0C */ b lbl_8004A62C lbl_8004A624: /* 8004A624 00046284 7F E3 FB 78 */ mr r3, r31 /* 8004A628 00046288 4B FE F1 95 */ bl func_800397BC lbl_8004A62C: /* 8004A62C 0004628C FC 00 08 18 */ frsp f0, f1 /* 8004A630 00046290 80 7E 00 2C */ lwz r3, 0x2c(r30) /* 8004A634 00046294 C0 42 83 D8 */ lfs f2, lbl_806409D8-_SDA2_BASE_(r2) /* 8004A638 00046298 D0 21 00 08 */ stfs f1, 8(r1) /* 8004A63C 0004629C FC 00 10 40 */ fcmpo cr0, f0, f2 /* 8004A640 000462A0 D0 03 00 48 */ stfs f0, 0x48(r3) /* 8004A644 000462A4 D0 03 00 4C */ stfs f0, 0x4c(r3) /* 8004A648 000462A8 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8004A64C 000462AC D0 21 00 10 */ stfs f1, 0x10(r1) /* 8004A650 000462B0 D0 03 00 50 */ stfs f0, 0x50(r3) /* 8004A654 000462B4 40 80 00 2C */ bge lbl_8004A680 /* 8004A658 000462B8 C0 23 00 48 */ lfs f1, 0x48(r3) /* 8004A65C 000462BC C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 8004A660 000462C0 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 8004A664 000462C4 40 81 00 1C */ ble lbl_8004A680 /* 8004A668 000462C8 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A66C 000462CC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8004A670 000462D0 40 80 00 08 */ bge lbl_8004A678 /* 8004A674 000462D4 48 00 00 08 */ b lbl_8004A67C lbl_8004A678: /* 8004A678 000462D8 FC 60 10 90 */ fmr f3, f2 lbl_8004A67C: /* 8004A67C 000462DC D0 63 00 48 */ stfs f3, 0x48(r3) lbl_8004A680: /* 8004A680 000462E0 C0 43 00 4C */ lfs f2, 0x4c(r3) /* 8004A684 000462E4 C0 22 83 D8 */ lfs f1, lbl_806409D8-_SDA2_BASE_(r2) /* 8004A688 000462E8 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 8004A68C 000462EC 40 80 00 28 */ bge lbl_8004A6B4 /* 8004A690 000462F0 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 8004A694 000462F4 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 8004A698 000462F8 40 81 00 1C */ ble lbl_8004A6B4 /* 8004A69C 000462FC C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A6A0 00046300 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8004A6A4 00046304 40 80 00 08 */ bge lbl_8004A6AC /* 8004A6A8 00046308 48 00 00 08 */ b lbl_8004A6B0 lbl_8004A6AC: /* 8004A6AC 0004630C FC 60 08 90 */ fmr f3, f1 lbl_8004A6B0: /* 8004A6B0 00046310 D0 63 00 4C */ stfs f3, 0x4c(r3) lbl_8004A6B4: /* 8004A6B4 00046314 C0 43 00 50 */ lfs f2, 0x50(r3) /* 8004A6B8 00046318 C0 22 83 D8 */ lfs f1, lbl_806409D8-_SDA2_BASE_(r2) /* 8004A6BC 0004631C FC 02 08 40 */ fcmpo cr0, f2, f1 /* 8004A6C0 00046320 40 80 00 28 */ bge lbl_8004A6E8 /* 8004A6C4 00046324 C0 62 83 DC */ lfs f3, lbl_806409DC-_SDA2_BASE_(r2) /* 8004A6C8 00046328 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 8004A6CC 0004632C 40 81 00 1C */ ble lbl_8004A6E8 /* 8004A6D0 00046330 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A6D4 00046334 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8004A6D8 00046338 40 80 00 08 */ bge lbl_8004A6E0 /* 8004A6DC 0004633C 48 00 00 08 */ b lbl_8004A6E4 lbl_8004A6E0: /* 8004A6E0 00046340 FC 60 08 90 */ fmr f3, f1 lbl_8004A6E4: /* 8004A6E4 00046344 D0 63 00 50 */ stfs f3, 0x50(r3) lbl_8004A6E8: /* 8004A6E8 00046348 38 80 00 01 */ li r4, 1 /* 8004A6EC 0004634C 48 1A 7F CD */ bl func_801F26B8 /* 8004A6F0 00046350 80 7E 00 2C */ lwz r3, 0x2c(r30) /* 8004A6F4 00046354 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A6F8 00046358 80 03 01 04 */ lwz r0, 0x104(r3) /* 8004A6FC 0004635C 60 00 00 01 */ ori r0, r0, 1 /* 8004A700 00046360 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 8004A704 00046364 90 03 01 04 */ stw r0, 0x104(r3) /* 8004A708 00046368 D0 03 01 08 */ stfs f0, 0x108(r3) lbl_8004A70C: /* 8004A70C 0004636C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8004A710 00046370 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8004A714 00046374 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8004A718 00046378 7C 08 03 A6 */ mtlr r0 /* 8004A71C 0004637C 38 21 00 20 */ addi r1, r1, 0x20 /* 8004A720 00046380 4E 80 00 20 */ blr /* 8004A724 00046384 80 83 00 2C */ lwz r4, 0x2c(r3) /* 8004A728 00046388 2C 04 00 00 */ cmpwi r4, 0 /* 8004A72C 0004638C 4D 82 00 20 */ beqlr /* 8004A730 00046390 80 04 01 04 */ lwz r0, 0x104(r4) /* 8004A734 00046394 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A738 00046398 60 00 00 04 */ ori r0, r0, 4 /* 8004A73C 0004639C 90 04 01 04 */ stw r0, 0x104(r4) /* 8004A740 000463A0 D0 04 01 10 */ stfs f0, 0x110(r4) /* 8004A744 000463A4 80 83 00 2C */ lwz r4, 0x2c(r3) /* 8004A748 000463A8 80 64 00 C0 */ lwz r3, 0xc0(r4) /* 8004A74C 000463AC 2C 03 00 00 */ cmpwi r3, 0 /* 8004A750 000463B0 4D 82 00 20 */ beqlr /* 8004A754 000463B4 48 1A 7A D4 */ b func_801F2228 /* 8004A758 000463B8 4E 80 00 20 */ blr /* 8004A75C 000463BC 4E 80 00 20 */ blr .global func_8004A760 func_8004A760: /* 8004A760 000463C0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004A764 000463C4 7C 08 02 A6 */ mflr r0 /* 8004A768 000463C8 90 01 00 14 */ stw r0, 0x14(r1) /* 8004A76C 000463CC 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004A770 000463D0 7C 7F 1B 78 */ mr r31, r3 /* 8004A774 000463D4 4B FF E9 11 */ bl func_80049084 /* 8004A778 000463D8 3C 80 80 41 */ lis r4, lbl_8040A5A8@ha /* 8004A77C 000463DC 7F E3 FB 78 */ mr r3, r31 /* 8004A780 000463E0 38 84 A5 A8 */ addi r4, r4, lbl_8040A5A8@l /* 8004A784 000463E4 90 9F 00 28 */ stw r4, 0x28(r31) /* 8004A788 000463E8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004A78C 000463EC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004A790 000463F0 7C 08 03 A6 */ mtlr r0 /* 8004A794 000463F4 38 21 00 10 */ addi r1, r1, 0x10 /* 8004A798 000463F8 4E 80 00 20 */ blr /* 8004A79C 000463FC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004A7A0 00046400 7C 08 02 A6 */ mflr r0 /* 8004A7A4 00046404 2C 03 00 00 */ cmpwi r3, 0 /* 8004A7A8 00046408 90 01 00 14 */ stw r0, 0x14(r1) /* 8004A7AC 0004640C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004A7B0 00046410 7C 9F 23 78 */ mr r31, r4 /* 8004A7B4 00046414 93 C1 00 08 */ stw r30, 8(r1) /* 8004A7B8 00046418 7C 7E 1B 78 */ mr r30, r3 /* 8004A7BC 0004641C 41 82 00 38 */ beq lbl_8004A7F4 /* 8004A7C0 00046420 3D 80 80 41 */ lis r12, lbl_8040A5A8@ha /* 8004A7C4 00046424 39 8C A5 A8 */ addi r12, r12, lbl_8040A5A8@l /* 8004A7C8 00046428 91 83 00 28 */ stw r12, 0x28(r3) /* 8004A7CC 0004642C 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 8004A7D0 00046430 7D 89 03 A6 */ mtctr r12 /* 8004A7D4 00046434 4E 80 04 21 */ bctrl /* 8004A7D8 00046438 7F C3 F3 78 */ mr r3, r30 /* 8004A7DC 0004643C 38 80 00 00 */ li r4, 0 /* 8004A7E0 00046440 4B FF E8 D5 */ bl func_800490B4 /* 8004A7E4 00046444 2C 1F 00 00 */ cmpwi r31, 0 /* 8004A7E8 00046448 40 81 00 0C */ ble lbl_8004A7F4 /* 8004A7EC 0004644C 7F C3 F3 78 */ mr r3, r30 /* 8004A7F0 00046450 48 19 02 C9 */ bl __dl__FPv lbl_8004A7F4: /* 8004A7F4 00046454 7F C3 F3 78 */ mr r3, r30 /* 8004A7F8 00046458 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004A7FC 0004645C 83 C1 00 08 */ lwz r30, 8(r1) /* 8004A800 00046460 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004A804 00046464 7C 08 03 A6 */ mtlr r0 /* 8004A808 00046468 38 21 00 10 */ addi r1, r1, 0x10 /* 8004A80C 0004646C 4E 80 00 20 */ blr /* 8004A810 00046470 4B FF E9 0C */ b func_8004911C /* 8004A814 00046474 C0 22 83 D0 */ lfs f1, lbl_806409D0-_SDA2_BASE_(r2) /* 8004A818 00046478 4E 80 00 20 */ blr /* 8004A81C 0004647C 4E 80 00 20 */ blr /* 8004A820 00046480 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8004A824 00046484 7C 08 02 A6 */ mflr r0 /* 8004A828 00046488 90 01 00 24 */ stw r0, 0x24(r1) /* 8004A82C 0004648C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8004A830 00046490 93 C1 00 18 */ stw r30, 0x18(r1) /* 8004A834 00046494 93 A1 00 14 */ stw r29, 0x14(r1) /* 8004A838 00046498 93 81 00 10 */ stw r28, 0x10(r1) /* 8004A83C 0004649C 7C 7C 1B 78 */ mr r28, r3 /* 8004A840 000464A0 83 C3 00 14 */ lwz r30, 0x14(r3) /* 8004A844 000464A4 80 A3 00 18 */ lwz r5, 0x18(r3) /* 8004A848 000464A8 80 FE 00 3C */ lwz r7, 0x3c(r30) /* 8004A84C 000464AC 83 AD 96 F0 */ lwz r29, lbl_8063E9B0-_SDA_BASE_(r13) /* 8004A850 000464B0 28 07 00 0B */ cmplwi r7, 0xb /* 8004A854 000464B4 80 65 00 34 */ lwz r3, 0x34(r5) /* 8004A858 000464B8 41 81 01 08 */ bgt lbl_8004A960 /* 8004A85C 000464BC 3C 80 80 41 */ lis r4, lbl_8040A51C@ha /* 8004A860 000464C0 54 E0 10 3A */ slwi r0, r7, 2 /* 8004A864 000464C4 38 84 A5 1C */ addi r4, r4, lbl_8040A51C@l /* 8004A868 000464C8 7C 84 00 2E */ lwzx r4, r4, r0 /* 8004A86C 000464CC 7C 89 03 A6 */ mtctr r4 /* 8004A870 000464D0 4E 80 04 20 */ bctr /* 8004A874 000464D4 2C 03 00 00 */ cmpwi r3, 0 /* 8004A878 000464D8 41 82 00 E8 */ beq lbl_8004A960 /* 8004A87C 000464DC 4B FF 2C 51 */ bl func_8003D4CC /* 8004A880 000464E0 48 00 00 E0 */ b lbl_8004A960 /* 8004A884 000464E4 2C 03 00 00 */ cmpwi r3, 0 /* 8004A888 000464E8 41 82 00 D8 */ beq lbl_8004A960 /* 8004A88C 000464EC 4B FF 2F 99 */ bl func_8003D824 /* 8004A890 000464F0 48 00 00 D0 */ b lbl_8004A960 /* 8004A894 000464F4 2C 03 00 00 */ cmpwi r3, 0 /* 8004A898 000464F8 41 82 00 C8 */ beq lbl_8004A960 /* 8004A89C 000464FC 38 80 00 00 */ li r4, 0 /* 8004A8A0 00046500 4B FE D4 8D */ bl func_80037D2C /* 8004A8A4 00046504 48 00 00 BC */ b lbl_8004A960 /* 8004A8A8 00046508 2C 03 00 00 */ cmpwi r3, 0 /* 8004A8AC 0004650C 41 82 00 B4 */ beq lbl_8004A960 /* 8004A8B0 00046510 38 80 00 01 */ li r4, 1 /* 8004A8B4 00046514 4B FE D4 79 */ bl func_80037D2C /* 8004A8B8 00046518 48 00 00 A8 */ b lbl_8004A960 /* 8004A8BC 0004651C 2C 03 00 00 */ cmpwi r3, 0 /* 8004A8C0 00046520 41 82 00 A0 */ beq lbl_8004A960 /* 8004A8C4 00046524 80 03 00 00 */ lwz r0, 0(r3) /* 8004A8C8 00046528 60 00 10 00 */ ori r0, r0, 0x1000 /* 8004A8CC 0004652C 90 03 00 00 */ stw r0, 0(r3) /* 8004A8D0 00046530 48 00 00 90 */ b lbl_8004A960 /* 8004A8D4 00046534 2C 03 00 00 */ cmpwi r3, 0 /* 8004A8D8 00046538 41 82 00 88 */ beq lbl_8004A960 /* 8004A8DC 0004653C 80 03 00 00 */ lwz r0, 0(r3) /* 8004A8E0 00046540 54 00 05 24 */ rlwinm r0, r0, 0, 0x14, 0x12 /* 8004A8E4 00046544 90 03 00 00 */ stw r0, 0(r3) /* 8004A8E8 00046548 48 00 00 78 */ b lbl_8004A960 /* 8004A8EC 0004654C 2C 03 00 00 */ cmpwi r3, 0 /* 8004A8F0 00046550 41 82 00 70 */ beq lbl_8004A960 /* 8004A8F4 00046554 4B FF 2B C1 */ bl func_8003D4B4 /* 8004A8F8 00046558 48 00 00 68 */ b lbl_8004A960 /* 8004A8FC 0004655C 2C 03 00 00 */ cmpwi r3, 0 /* 8004A900 00046560 41 82 00 60 */ beq lbl_8004A960 /* 8004A904 00046564 4B FF 2F 09 */ bl func_8003D80C /* 8004A908 00046568 48 00 00 58 */ b lbl_8004A960 /* 8004A90C 0004656C 7C A3 2B 78 */ mr r3, r5 /* 8004A910 00046570 4B FF D9 9D */ bl func_800482AC /* 8004A914 00046574 48 00 00 4C */ b lbl_8004A960 /* 8004A918 00046578 2C 1D 00 00 */ cmpwi r29, 0 /* 8004A91C 0004657C 41 82 00 44 */ beq lbl_8004A960 /* 8004A920 00046580 3F E0 80 41 */ lis r31, lbl_8040A508@ha /* 8004A924 00046584 81 1E 00 40 */ lwz r8, 0x40(r30) /* 8004A928 00046588 81 3E 00 44 */ lwz r9, 0x44(r30) /* 8004A92C 0004658C 7F A3 EB 78 */ mr r3, r29 /* 8004A930 00046590 38 BF A5 08 */ addi r5, r31, lbl_8040A508@l /* 8004A934 00046594 38 80 00 00 */ li r4, 0 /* 8004A938 00046598 38 C0 00 00 */ li r6, 0 /* 8004A93C 0004659C 4B FD A9 B1 */ bl func_800252EC /* 8004A940 000465A0 80 FE 00 3C */ lwz r7, 0x3c(r30) /* 8004A944 000465A4 7F A3 EB 78 */ mr r3, r29 /* 8004A948 000465A8 81 1E 00 40 */ lwz r8, 0x40(r30) /* 8004A94C 000465AC 38 BF A5 08 */ addi r5, r31, -23288 /* 8004A950 000465B0 81 3E 00 44 */ lwz r9, 0x44(r30) /* 8004A954 000465B4 38 80 00 02 */ li r4, 2 /* 8004A958 000465B8 38 C0 00 00 */ li r6, 0 /* 8004A95C 000465BC 4B FD A9 91 */ bl func_800252EC lbl_8004A960: /* 8004A960 000465C0 80 1C 00 08 */ lwz r0, 8(r28) /* 8004A964 000465C4 60 00 00 02 */ ori r0, r0, 2 /* 8004A968 000465C8 90 1C 00 08 */ stw r0, 8(r28) /* 8004A96C 000465CC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8004A970 000465D0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8004A974 000465D4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8004A978 000465D8 83 81 00 10 */ lwz r28, 0x10(r1) /* 8004A97C 000465DC 80 01 00 24 */ lwz r0, 0x24(r1) /* 8004A980 000465E0 7C 08 03 A6 */ mtlr r0 /* 8004A984 000465E4 38 21 00 20 */ addi r1, r1, 0x20 /* 8004A988 000465E8 4E 80 00 20 */ blr /* 8004A98C 000465EC 4E 80 00 20 */ blr /* 8004A990 000465F0 4E 80 00 20 */ blr .global func_8004A994 func_8004A994: /* 8004A994 000465F4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004A998 000465F8 7C 08 02 A6 */ mflr r0 /* 8004A99C 000465FC 90 01 00 14 */ stw r0, 0x14(r1) /* 8004A9A0 00046600 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004A9A4 00046604 7C 7F 1B 78 */ mr r31, r3 /* 8004A9A8 00046608 4B FF E6 DD */ bl func_80049084 /* 8004A9AC 0004660C 3C 80 80 41 */ lis r4, lbl_8040A5F8@ha /* 8004A9B0 00046610 7F E3 FB 78 */ mr r3, r31 /* 8004A9B4 00046614 38 84 A5 F8 */ addi r4, r4, lbl_8040A5F8@l /* 8004A9B8 00046618 90 9F 00 28 */ stw r4, 0x28(r31) /* 8004A9BC 0004661C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004A9C0 00046620 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004A9C4 00046624 7C 08 03 A6 */ mtlr r0 /* 8004A9C8 00046628 38 21 00 10 */ addi r1, r1, 0x10 /* 8004A9CC 0004662C 4E 80 00 20 */ blr /* 8004A9D0 00046630 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004A9D4 00046634 7C 08 02 A6 */ mflr r0 /* 8004A9D8 00046638 2C 03 00 00 */ cmpwi r3, 0 /* 8004A9DC 0004663C 90 01 00 14 */ stw r0, 0x14(r1) /* 8004A9E0 00046640 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004A9E4 00046644 7C 9F 23 78 */ mr r31, r4 /* 8004A9E8 00046648 93 C1 00 08 */ stw r30, 8(r1) /* 8004A9EC 0004664C 7C 7E 1B 78 */ mr r30, r3 /* 8004A9F0 00046650 41 82 00 38 */ beq lbl_8004AA28 /* 8004A9F4 00046654 3D 80 80 41 */ lis r12, lbl_8040A5F8@ha /* 8004A9F8 00046658 39 8C A5 F8 */ addi r12, r12, lbl_8040A5F8@l /* 8004A9FC 0004665C 91 83 00 28 */ stw r12, 0x28(r3) /* 8004AA00 00046660 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 8004AA04 00046664 7D 89 03 A6 */ mtctr r12 /* 8004AA08 00046668 4E 80 04 21 */ bctrl /* 8004AA0C 0004666C 7F C3 F3 78 */ mr r3, r30 /* 8004AA10 00046670 38 80 00 00 */ li r4, 0 /* 8004AA14 00046674 4B FF E6 A1 */ bl func_800490B4 /* 8004AA18 00046678 2C 1F 00 00 */ cmpwi r31, 0 /* 8004AA1C 0004667C 40 81 00 0C */ ble lbl_8004AA28 /* 8004AA20 00046680 7F C3 F3 78 */ mr r3, r30 /* 8004AA24 00046684 48 19 00 95 */ bl __dl__FPv lbl_8004AA28: /* 8004AA28 00046688 7F C3 F3 78 */ mr r3, r30 /* 8004AA2C 0004668C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004AA30 00046690 83 C1 00 08 */ lwz r30, 8(r1) /* 8004AA34 00046694 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004AA38 00046698 7C 08 03 A6 */ mtlr r0 /* 8004AA3C 0004669C 38 21 00 10 */ addi r1, r1, 0x10 /* 8004AA40 000466A0 4E 80 00 20 */ blr /* 8004AA44 000466A4 80 63 00 14 */ lwz r3, 0x14(r3) /* 8004AA48 000466A8 80 63 00 48 */ lwz r3, 0x48(r3) /* 8004AA4C 000466AC 2C 03 00 00 */ cmpwi r3, 0 /* 8004AA50 000466B0 4D 82 00 20 */ beqlr /* 8004AA54 000466B4 38 80 00 00 */ li r4, 0 /* 8004AA58 000466B8 48 19 A1 74 */ b func_801E4BCC /* 8004AA5C 000466BC 4E 80 00 20 */ blr /* 8004AA60 000466C0 4E 80 00 20 */ blr /* 8004AA64 000466C4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8004AA68 000466C8 7C 08 02 A6 */ mflr r0 /* 8004AA6C 000466CC 90 01 00 34 */ stw r0, 0x34(r1) /* 8004AA70 000466D0 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8004AA74 000466D4 93 C1 00 28 */ stw r30, 0x28(r1) /* 8004AA78 000466D8 3B C0 00 00 */ li r30, 0 /* 8004AA7C 000466DC 83 E3 00 14 */ lwz r31, 0x14(r3) /* 8004AA80 000466E0 80 1F 00 48 */ lwz r0, 0x48(r31) /* 8004AA84 000466E4 2C 00 00 00 */ cmpwi r0, 0 /* 8004AA88 000466E8 41 82 00 9C */ beq lbl_8004AB24 /* 8004AA8C 000466EC 80 1F 00 00 */ lwz r0, 0(r31) /* 8004AA90 000466F0 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8004AA94 000466F4 41 82 00 38 */ beq lbl_8004AACC /* 8004AA98 000466F8 4B FF AA F9 */ bl func_80045590 /* 8004AA9C 000466FC 38 80 01 00 */ li r4, 0x100 /* 8004AAA0 00046700 38 A0 00 00 */ li r5, 0 /* 8004AAA4 00046704 4B FF B0 5D */ bl func_80045B00 /* 8004AAA8 00046708 2C 03 00 00 */ cmpwi r3, 0 /* 8004AAAC 0004670C 41 82 00 34 */ beq lbl_8004AAE0 /* 8004AAB0 00046710 3C 80 80 41 */ lis r4, lbl_8040A54C@ha /* 8004AAB4 00046714 80 63 0C 04 */ lwz r3, 0xc04(r3) /* 8004AAB8 00046718 80 BF 00 3C */ lwz r5, 0x3c(r31) /* 8004AABC 0004671C 38 84 A5 4C */ addi r4, r4, lbl_8040A54C@l /* 8004AAC0 00046720 4B FF E8 79 */ bl func_80049338 /* 8004AAC4 00046724 7C 7E 1B 78 */ mr r30, r3 /* 8004AAC8 00046728 48 00 00 18 */ b lbl_8004AAE0 lbl_8004AACC: /* 8004AACC 0004672C 80 63 00 18 */ lwz r3, 0x18(r3) /* 8004AAD0 00046730 88 9F 00 0C */ lbz r4, 0xc(r31) /* 8004AAD4 00046734 80 63 00 34 */ lwz r3, 0x34(r3) /* 8004AAD8 00046738 4B FE EE 15 */ bl func_800398EC /* 8004AADC 0004673C 7C 7E 1B 78 */ mr r30, r3 lbl_8004AAE0: /* 8004AAE0 00046740 2C 1E 00 00 */ cmpwi r30, 0 /* 8004AAE4 00046744 41 82 00 40 */ beq lbl_8004AB24 /* 8004AAE8 00046748 C0 5E 00 DC */ lfs f2, 0xdc(r30) /* 8004AAEC 0004674C 38 81 00 14 */ addi r4, r1, 0x14 /* 8004AAF0 00046750 C0 3E 00 EC */ lfs f1, 0xec(r30) /* 8004AAF4 00046754 C0 1E 00 FC */ lfs f0, 0xfc(r30) /* 8004AAF8 00046758 D0 41 00 08 */ stfs f2, 8(r1) /* 8004AAFC 0004675C D0 41 00 14 */ stfs f2, 0x14(r1) /* 8004AB00 00046760 D0 21 00 18 */ stfs f1, 0x18(r1) /* 8004AB04 00046764 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8004AB08 00046768 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8004AB0C 0004676C 80 7F 00 48 */ lwz r3, 0x48(r31) /* 8004AB10 00046770 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8004AB14 00046774 48 19 A0 79 */ bl func_801E4B8C /* 8004AB18 00046778 80 7F 00 48 */ lwz r3, 0x48(r31) /* 8004AB1C 0004677C 38 80 00 01 */ li r4, 1 /* 8004AB20 00046780 48 19 A0 AD */ bl func_801E4BCC lbl_8004AB24: /* 8004AB24 00046784 80 01 00 34 */ lwz r0, 0x34(r1) /* 8004AB28 00046788 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8004AB2C 0004678C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8004AB30 00046790 7C 08 03 A6 */ mtlr r0 /* 8004AB34 00046794 38 21 00 30 */ addi r1, r1, 0x30 /* 8004AB38 00046798 4E 80 00 20 */ blr /* 8004AB3C 0004679C 80 83 00 14 */ lwz r4, 0x14(r3) /* 8004AB40 000467A0 C0 22 83 D0 */ lfs f1, lbl_806409D0-_SDA2_BASE_(r2) /* 8004AB44 000467A4 C0 04 00 04 */ lfs f0, 4(r4) /* 8004AB48 000467A8 FC 01 00 00 */ fcmpu cr0, f1, f0 /* 8004AB4C 000467AC 40 82 00 1C */ bne lbl_8004AB68 /* 8004AB50 000467B0 80 63 00 18 */ lwz r3, 0x18(r3) /* 8004AB54 000467B4 80 63 00 24 */ lwz r3, 0x24(r3) /* 8004AB58 000467B8 2C 03 00 00 */ cmpwi r3, 0 /* 8004AB5C 000467BC 4D 82 00 20 */ beqlr /* 8004AB60 000467C0 4B FF E4 F8 */ b cGame_GetGameTime /* 8004AB64 000467C4 4E 80 00 20 */ blr lbl_8004AB68: /* 8004AB68 000467C8 FC 20 00 90 */ fmr f1, f0 /* 8004AB6C 000467CC 4E 80 00 20 */ blr /* 8004AB70 000467D0 80 63 00 14 */ lwz r3, 0x14(r3) /* 8004AB74 000467D4 80 63 00 48 */ lwz r3, 0x48(r3) /* 8004AB78 000467D8 2C 03 00 00 */ cmpwi r3, 0 /* 8004AB7C 000467DC 4D 82 00 20 */ beqlr /* 8004AB80 000467E0 38 80 00 00 */ li r4, 0 /* 8004AB84 000467E4 48 19 A0 48 */ b func_801E4BCC /* 8004AB88 000467E8 4E 80 00 20 */ blr /* 8004AB8C 000467EC 4E 80 00 20 */ blr .global func_8004AB90 func_8004AB90: /* 8004AB90 000467F0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004AB94 000467F4 7C 08 02 A6 */ mflr r0 /* 8004AB98 000467F8 90 01 00 14 */ stw r0, 0x14(r1) /* 8004AB9C 000467FC 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004ABA0 00046800 7C 7F 1B 78 */ mr r31, r3 /* 8004ABA4 00046804 4B FF E4 E1 */ bl func_80049084 /* 8004ABA8 00046808 3C 80 80 41 */ lis r4, lbl_8040A558@ha /* 8004ABAC 0004680C 7F E3 FB 78 */ mr r3, r31 /* 8004ABB0 00046810 38 84 A5 58 */ addi r4, r4, lbl_8040A558@l /* 8004ABB4 00046814 90 9F 00 28 */ stw r4, 0x28(r31) /* 8004ABB8 00046818 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004ABBC 0004681C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004ABC0 00046820 7C 08 03 A6 */ mtlr r0 /* 8004ABC4 00046824 38 21 00 10 */ addi r1, r1, 0x10 /* 8004ABC8 00046828 4E 80 00 20 */ blr /* 8004ABCC 0004682C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004ABD0 00046830 7C 08 02 A6 */ mflr r0 /* 8004ABD4 00046834 2C 03 00 00 */ cmpwi r3, 0 /* 8004ABD8 00046838 90 01 00 14 */ stw r0, 0x14(r1) /* 8004ABDC 0004683C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004ABE0 00046840 7C 9F 23 78 */ mr r31, r4 /* 8004ABE4 00046844 93 C1 00 08 */ stw r30, 8(r1) /* 8004ABE8 00046848 7C 7E 1B 78 */ mr r30, r3 /* 8004ABEC 0004684C 41 82 00 38 */ beq lbl_8004AC24 /* 8004ABF0 00046850 3D 80 80 41 */ lis r12, lbl_8040A558@ha /* 8004ABF4 00046854 39 8C A5 58 */ addi r12, r12, lbl_8040A558@l /* 8004ABF8 00046858 91 83 00 28 */ stw r12, 0x28(r3) /* 8004ABFC 0004685C 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 8004AC00 00046860 7D 89 03 A6 */ mtctr r12 /* 8004AC04 00046864 4E 80 04 21 */ bctrl /* 8004AC08 00046868 7F C3 F3 78 */ mr r3, r30 /* 8004AC0C 0004686C 38 80 00 00 */ li r4, 0 /* 8004AC10 00046870 4B FF E4 A5 */ bl func_800490B4 /* 8004AC14 00046874 2C 1F 00 00 */ cmpwi r31, 0 /* 8004AC18 00046878 40 81 00 0C */ ble lbl_8004AC24 /* 8004AC1C 0004687C 7F C3 F3 78 */ mr r3, r30 /* 8004AC20 00046880 48 18 FE 99 */ bl __dl__FPv lbl_8004AC24: /* 8004AC24 00046884 7F C3 F3 78 */ mr r3, r30 /* 8004AC28 00046888 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004AC2C 0004688C 83 C1 00 08 */ lwz r30, 8(r1) /* 8004AC30 00046890 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004AC34 00046894 7C 08 03 A6 */ mtlr r0 /* 8004AC38 00046898 38 21 00 10 */ addi r1, r1, 0x10 /* 8004AC3C 0004689C 4E 80 00 20 */ blr /* 8004AC40 000468A0 4B FF E4 DC */ b func_8004911C /* 8004AC44 000468A4 C0 22 83 D0 */ lfs f1, lbl_806409D0-_SDA2_BASE_(r2) /* 8004AC48 000468A8 4E 80 00 20 */ blr /* 8004AC4C 000468AC 4E 80 00 20 */ blr /* 8004AC50 000468B0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8004AC54 000468B4 7C 08 02 A6 */ mflr r0 /* 8004AC58 000468B8 C8 42 83 E8 */ lfd f2, lbl_806409E8-_SDA2_BASE_(r2) /* 8004AC5C 000468BC 90 01 00 24 */ stw r0, 0x24(r1) /* 8004AC60 000468C0 3C 00 43 30 */ lis r0, 0x4330 /* 8004AC64 000468C4 C0 02 83 D0 */ lfs f0, lbl_806409D0-_SDA2_BASE_(r2) /* 8004AC68 000468C8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8004AC6C 000468CC 7C 7F 1B 78 */ mr r31, r3 /* 8004AC70 000468D0 80 83 00 14 */ lwz r4, 0x14(r3) /* 8004AC74 000468D4 90 01 00 08 */ stw r0, 8(r1) /* 8004AC78 000468D8 A8 04 00 44 */ lha r0, 0x44(r4) /* 8004AC7C 000468DC 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8004AC80 000468E0 90 01 00 0C */ stw r0, 0xc(r1) /* 8004AC84 000468E4 C8 21 00 08 */ lfd f1, 8(r1) /* 8004AC88 000468E8 EC 21 10 28 */ fsubs f1, f1, f2 /* 8004AC8C 000468EC FC 00 08 00 */ fcmpu cr0, f0, f1 /* 8004AC90 000468F0 40 82 00 08 */ bne lbl_8004AC98 /* 8004AC94 000468F4 C0 22 83 E0 */ lfs f1, lbl_806409E0-_SDA2_BASE_(r2) lbl_8004AC98: /* 8004AC98 000468F8 80 64 00 3C */ lwz r3, 0x3c(r4) /* 8004AC9C 000468FC 2C 03 00 00 */ cmpwi r3, 0 /* 8004ACA0 00046900 41 82 00 0C */ beq lbl_8004ACAC /* 8004ACA4 00046904 38 80 00 00 */ li r4, 0 /* 8004ACA8 00046908 4B FC 04 C9 */ bl func_8000B170 lbl_8004ACAC: /* 8004ACAC 0004690C 80 1F 00 08 */ lwz r0, 8(r31) /* 8004ACB0 00046910 60 00 00 02 */ ori r0, r0, 2 /* 8004ACB4 00046914 90 1F 00 08 */ stw r0, 8(r31) /* 8004ACB8 00046918 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8004ACBC 0004691C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8004ACC0 00046920 7C 08 03 A6 */ mtlr r0 /* 8004ACC4 00046924 38 21 00 20 */ addi r1, r1, 0x20 /* 8004ACC8 00046928 4E 80 00 20 */ blr /* 8004ACCC 0004692C 4E 80 00 20 */ blr /* 8004ACD0 00046930 4E 80 00 20 */ blr .global func_8004ACD4 func_8004ACD4: /* 8004ACD4 00046934 38 A0 00 01 */ li r5, 1 /* 8004ACD8 00046938 38 6D 98 18 */ addi r3, r13, lbl_8063EAD8-_SDA_BASE_ /* 8004ACDC 0004693C 38 80 00 04 */ li r4, 4 /* 8004ACE0 00046940 38 00 00 00 */ li r0, 0 /* 8004ACE4 00046944 98 AD 98 18 */ stb r5, lbl_8063EAD8-_SDA_BASE_(r13) /* 8004ACE8 00046948 B0 83 00 02 */ sth r4, 2(r3) /* 8004ACEC 0004694C 98 03 00 04 */ stb r0, 4(r3) /* 8004ACF0 00046950 4E 80 00 20 */ blr