.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_803D9EB4 func_803D9EB4: /* 803D9EB4 003D5B14 2C 03 00 20 */ cmpwi r3, 0x20 /* 803D9EB8 003D5B18 41 82 01 48 */ beq lbl_803DA000 /* 803D9EBC 003D5B1C 40 80 00 40 */ bge lbl_803D9EFC /* 803D9EC0 003D5B20 2C 03 00 04 */ cmpwi r3, 4 /* 803D9EC4 003D5B24 41 82 00 CC */ beq lbl_803D9F90 /* 803D9EC8 003D5B28 40 80 00 1C */ bge lbl_803D9EE4 /* 803D9ECC 003D5B2C 2C 03 00 00 */ cmpwi r3, 0 /* 803D9ED0 003D5B30 41 82 00 68 */ beq lbl_803D9F38 /* 803D9ED4 003D5B34 41 80 01 3C */ blt lbl_803DA010 /* 803D9ED8 003D5B38 2C 03 00 03 */ cmpwi r3, 3 /* 803D9EDC 003D5B3C 40 80 01 34 */ bge lbl_803DA010 /* 803D9EE0 003D5B40 48 00 00 84 */ b lbl_803D9F64 lbl_803D9EE4: /* 803D9EE4 003D5B44 2C 03 00 10 */ cmpwi r3, 0x10 /* 803D9EE8 003D5B48 41 82 00 7C */ beq lbl_803D9F64 /* 803D9EEC 003D5B4C 40 80 01 24 */ bge lbl_803DA010 /* 803D9EF0 003D5B50 2C 03 00 08 */ cmpwi r3, 8 /* 803D9EF4 003D5B54 41 82 00 A4 */ beq lbl_803D9F98 /* 803D9EF8 003D5B58 48 00 01 18 */ b lbl_803DA010 lbl_803D9EFC: /* 803D9EFC 003D5B5C 2C 03 01 00 */ cmpwi r3, 0x100 /* 803D9F00 003D5B60 41 82 00 C4 */ beq lbl_803D9FC4 /* 803D9F04 003D5B64 40 80 00 1C */ bge lbl_803D9F20 /* 803D9F08 003D5B68 2C 03 00 80 */ cmpwi r3, 0x80 /* 803D9F0C 003D5B6C 41 82 00 84 */ beq lbl_803D9F90 /* 803D9F10 003D5B70 40 80 01 00 */ bge lbl_803DA010 /* 803D9F14 003D5B74 2C 03 00 40 */ cmpwi r3, 0x40 /* 803D9F18 003D5B78 41 82 00 D8 */ beq lbl_803D9FF0 /* 803D9F1C 003D5B7C 48 00 00 F4 */ b lbl_803DA010 lbl_803D9F20: /* 803D9F20 003D5B80 2C 03 04 00 */ cmpwi r3, 0x400 /* 803D9F24 003D5B84 41 82 00 E4 */ beq lbl_803DA008 /* 803D9F28 003D5B88 40 80 00 E8 */ bge lbl_803DA010 /* 803D9F2C 003D5B8C 2C 03 02 00 */ cmpwi r3, 0x200 /* 803D9F30 003D5B90 41 82 00 C8 */ beq lbl_803D9FF8 /* 803D9F34 003D5B94 48 00 00 DC */ b lbl_803DA010 lbl_803D9F38: /* 803D9F38 003D5B98 2C 04 00 04 */ cmpwi r4, 4 /* 803D9F3C 003D5B9C 38 00 00 00 */ li r0, 0 /* 803D9F40 003D5BA0 41 82 00 0C */ beq lbl_803D9F4C /* 803D9F44 003D5BA4 2C 04 00 05 */ cmpwi r4, 5 /* 803D9F48 003D5BA8 40 82 00 08 */ bne lbl_803D9F50 lbl_803D9F4C: /* 803D9F4C 003D5BAC 38 00 00 01 */ li r0, 1 lbl_803D9F50: /* 803D9F50 003D5BB0 2C 00 00 00 */ cmpwi r0, 0 /* 803D9F54 003D5BB4 38 60 00 08 */ li r3, 8 /* 803D9F58 003D5BB8 4D 82 00 20 */ beqlr /* 803D9F5C 003D5BBC 38 60 00 09 */ li r3, 9 /* 803D9F60 003D5BC0 4E 80 00 20 */ blr lbl_803D9F64: /* 803D9F64 003D5BC4 2C 04 00 04 */ cmpwi r4, 4 /* 803D9F68 003D5BC8 38 00 00 00 */ li r0, 0 /* 803D9F6C 003D5BCC 41 82 00 0C */ beq lbl_803D9F78 /* 803D9F70 003D5BD0 2C 04 00 05 */ cmpwi r4, 5 /* 803D9F74 003D5BD4 40 82 00 08 */ bne lbl_803D9F7C lbl_803D9F78: /* 803D9F78 003D5BD8 38 00 00 01 */ li r0, 1 lbl_803D9F7C: /* 803D9F7C 003D5BDC 2C 00 00 00 */ cmpwi r0, 0 /* 803D9F80 003D5BE0 38 60 00 04 */ li r3, 4 /* 803D9F84 003D5BE4 4D 82 00 20 */ beqlr /* 803D9F88 003D5BE8 38 60 00 06 */ li r3, 6 /* 803D9F8C 003D5BEC 4E 80 00 20 */ blr lbl_803D9F90: /* 803D9F90 003D5BF0 38 60 00 01 */ li r3, 1 /* 803D9F94 003D5BF4 4E 80 00 20 */ blr lbl_803D9F98: /* 803D9F98 003D5BF8 2C 04 00 04 */ cmpwi r4, 4 /* 803D9F9C 003D5BFC 38 00 00 00 */ li r0, 0 /* 803D9FA0 003D5C00 41 82 00 0C */ beq lbl_803D9FAC /* 803D9FA4 003D5C04 2C 04 00 05 */ cmpwi r4, 5 /* 803D9FA8 003D5C08 40 82 00 08 */ bne lbl_803D9FB0 lbl_803D9FAC: /* 803D9FAC 003D5C0C 38 00 00 01 */ li r0, 1 lbl_803D9FB0: /* 803D9FB0 003D5C10 2C 00 00 00 */ cmpwi r0, 0 /* 803D9FB4 003D5C14 38 60 00 02 */ li r3, 2 /* 803D9FB8 003D5C18 4D 82 00 20 */ beqlr /* 803D9FBC 003D5C1C 38 60 00 07 */ li r3, 7 /* 803D9FC0 003D5C20 4E 80 00 20 */ blr lbl_803D9FC4: /* 803D9FC4 003D5C24 2C 04 00 04 */ cmpwi r4, 4 /* 803D9FC8 003D5C28 38 00 00 00 */ li r0, 0 /* 803D9FCC 003D5C2C 41 82 00 0C */ beq lbl_803D9FD8 /* 803D9FD0 003D5C30 2C 04 00 05 */ cmpwi r4, 5 /* 803D9FD4 003D5C34 40 82 00 08 */ bne lbl_803D9FDC lbl_803D9FD8: /* 803D9FD8 003D5C38 38 00 00 01 */ li r0, 1 lbl_803D9FDC: /* 803D9FDC 003D5C3C 2C 00 00 00 */ cmpwi r0, 0 /* 803D9FE0 003D5C40 38 60 00 06 */ li r3, 6 /* 803D9FE4 003D5C44 4D 82 00 20 */ beqlr /* 803D9FE8 003D5C48 38 60 00 04 */ li r3, 4 /* 803D9FEC 003D5C4C 4E 80 00 20 */ blr lbl_803D9FF0: /* 803D9FF0 003D5C50 38 60 00 03 */ li r3, 3 /* 803D9FF4 003D5C54 4E 80 00 20 */ blr lbl_803D9FF8: /* 803D9FF8 003D5C58 38 60 00 0A */ li r3, 0xa /* 803D9FFC 003D5C5C 4E 80 00 20 */ blr lbl_803DA000: /* 803DA000 003D5C60 38 60 00 05 */ li r3, 5 /* 803DA004 003D5C64 4E 80 00 20 */ blr lbl_803DA008: /* 803DA008 003D5C68 38 60 00 0B */ li r3, 0xb /* 803DA00C 003D5C6C 4E 80 00 20 */ blr lbl_803DA010: /* 803DA010 003D5C70 38 60 00 00 */ li r3, 0 /* 803DA014 003D5C74 4E 80 00 20 */ blr .global func_803DA018 func_803DA018: /* 803DA018 003D5C78 38 60 00 00 */ li r3, 0 /* 803DA01C 003D5C7C 4E 80 00 20 */ blr .global func_803DA020 func_803DA020: /* 803DA020 003D5C80 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DA024 003D5C84 7C 08 02 A6 */ mflr r0 /* 803DA028 003D5C88 38 80 00 20 */ li r4, 0x20 /* 803DA02C 003D5C8C 90 01 00 14 */ stw r0, 0x14(r1) /* 803DA030 003D5C90 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DA034 003D5C94 4B D9 3F 3D */ bl func_8016DF70 /* 803DA038 003D5C98 7C 7F 1B 78 */ mr r31, r3 /* 803DA03C 003D5C9C 38 80 00 00 */ li r4, 0 /* 803DA040 003D5CA0 38 A0 00 20 */ li r5, 0x20 /* 803DA044 003D5CA4 4B C2 A0 C1 */ bl memset /* 803DA048 003D5CA8 7F E3 FB 78 */ mr r3, r31 /* 803DA04C 003D5CAC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DA050 003D5CB0 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DA054 003D5CB4 7C 08 03 A6 */ mtlr r0 /* 803DA058 003D5CB8 38 21 00 10 */ addi r1, r1, 0x10 /* 803DA05C 003D5CBC 4E 80 00 20 */ blr .global func_803DA060 func_803DA060: /* 803DA060 003D5CC0 7C 60 1B 78 */ mr r0, r3 /* 803DA064 003D5CC4 7C 83 23 78 */ mr r3, r4 /* 803DA068 003D5CC8 7C 04 03 78 */ mr r4, r0 /* 803DA06C 003D5CCC 38 A0 00 20 */ li r5, 0x20 /* 803DA070 003D5CD0 4B C2 9F 90 */ b memcpy .global func_803DA074 func_803DA074: /* 803DA074 003D5CD4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DA078 003D5CD8 7C 08 02 A6 */ mflr r0 /* 803DA07C 003D5CDC 90 01 00 14 */ stw r0, 0x14(r1) /* 803DA080 003D5CE0 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DA084 003D5CE4 7C 9F 23 78 */ mr r31, r4 /* 803DA088 003D5CE8 93 C1 00 08 */ stw r30, 8(r1) /* 803DA08C 003D5CEC 7C 7E 1B 78 */ mr r30, r3 /* 803DA090 003D5CF0 7F E3 FB 78 */ mr r3, r31 /* 803DA094 003D5CF4 48 00 4B BD */ bl func_803DEC50 /* 803DA098 003D5CF8 7F C3 F3 78 */ mr r3, r30 /* 803DA09C 003D5CFC 7F E4 FB 78 */ mr r4, r31 /* 803DA0A0 003D5D00 48 00 4B 85 */ bl func_803DEC24 /* 803DA0A4 003D5D04 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DA0A8 003D5D08 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DA0AC 003D5D0C 83 C1 00 08 */ lwz r30, 8(r1) /* 803DA0B0 003D5D10 7C 08 03 A6 */ mtlr r0 /* 803DA0B4 003D5D14 38 21 00 10 */ addi r1, r1, 0x10 /* 803DA0B8 003D5D18 4E 80 00 20 */ blr .global func_803DA0BC func_803DA0BC: /* 803DA0BC 003D5D1C 4E 80 00 20 */ blr .global func_803DA0C0 func_803DA0C0: /* 803DA0C0 003D5D20 80 63 00 10 */ lwz r3, 0x10(r3) /* 803DA0C4 003D5D24 4E 80 00 20 */ blr .global func_803DA0C8 func_803DA0C8: /* 803DA0C8 003D5D28 88 63 00 18 */ lbz r3, 0x18(r3) /* 803DA0CC 003D5D2C 4E 80 00 20 */ blr .global func_803DA0D0 func_803DA0D0: /* 803DA0D0 003D5D30 88 83 00 1A */ lbz r4, 0x1a(r3) /* 803DA0D4 003D5D34 38 60 00 00 */ li r3, 0 /* 803DA0D8 003D5D38 48 00 00 14 */ b lbl_803DA0EC lbl_803DA0DC: /* 803DA0DC 003D5D3C 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 803DA0E0 003D5D40 41 82 00 08 */ beq lbl_803DA0E8 /* 803DA0E4 003D5D44 38 63 00 01 */ addi r3, r3, 1 lbl_803DA0E8: /* 803DA0E8 003D5D48 54 84 F8 7E */ srwi r4, r4, 1 lbl_803DA0EC: /* 803DA0EC 003D5D4C 2C 04 00 00 */ cmpwi r4, 0 /* 803DA0F0 003D5D50 40 82 FF EC */ bne lbl_803DA0DC /* 803DA0F4 003D5D54 4E 80 00 20 */ blr .global func_803DA0F8 func_803DA0F8: /* 803DA0F8 003D5D58 80 63 00 14 */ lwz r3, 0x14(r3) /* 803DA0FC 003D5D5C 4E 80 00 20 */ blr .global func_803DA100 func_803DA100: /* 803DA100 003D5D60 3C A0 00 0F */ lis r5, 0x000F423F@ha /* 803DA104 003D5D64 38 05 42 3F */ addi r0, r5, 0x000F423F@l /* 803DA108 003D5D68 7C 04 00 40 */ cmplw r4, r0 /* 803DA10C 003D5D6C 40 81 00 0C */ ble lbl_803DA118 /* 803DA110 003D5D70 90 03 00 14 */ stw r0, 0x14(r3) /* 803DA114 003D5D74 48 00 00 10 */ b lbl_803DA124 lbl_803DA118: /* 803DA118 003D5D78 80 03 00 14 */ lwz r0, 0x14(r3) /* 803DA11C 003D5D7C 7C 00 22 14 */ add r0, r0, r4 /* 803DA120 003D5D80 90 03 00 14 */ stw r0, 0x14(r3) lbl_803DA124: /* 803DA124 003D5D84 3C 80 00 0F */ lis r4, 0x000F423F@ha /* 803DA128 003D5D88 80 A3 00 14 */ lwz r5, 0x14(r3) /* 803DA12C 003D5D8C 38 04 42 3F */ addi r0, r4, 0x000F423F@l /* 803DA130 003D5D90 7C 05 00 40 */ cmplw r5, r0 /* 803DA134 003D5D94 40 81 00 08 */ ble lbl_803DA13C /* 803DA138 003D5D98 90 03 00 14 */ stw r0, 0x14(r3) lbl_803DA13C: /* 803DA13C 003D5D9C 80 63 00 14 */ lwz r3, 0x14(r3) /* 803DA140 003D5DA0 4E 80 00 20 */ blr .global func_803DA144 func_803DA144: /* 803DA144 003D5DA4 80 03 00 14 */ lwz r0, 0x14(r3) /* 803DA148 003D5DA8 7C 00 20 40 */ cmplw r0, r4 /* 803DA14C 003D5DAC 40 80 00 10 */ bge lbl_803DA15C /* 803DA150 003D5DB0 38 00 00 00 */ li r0, 0 /* 803DA154 003D5DB4 90 03 00 14 */ stw r0, 0x14(r3) /* 803DA158 003D5DB8 48 00 00 0C */ b lbl_803DA164 lbl_803DA15C: /* 803DA15C 003D5DBC 7C 04 00 50 */ subf r0, r4, r0 /* 803DA160 003D5DC0 90 03 00 14 */ stw r0, 0x14(r3) lbl_803DA164: /* 803DA164 003D5DC4 80 63 00 14 */ lwz r3, 0x14(r3) /* 803DA168 003D5DC8 4E 80 00 20 */ blr .global func_803DA16C func_803DA16C: /* 803DA16C 003D5DCC 88 63 00 1C */ lbz r3, 0x1c(r3) /* 803DA170 003D5DD0 4E 80 00 20 */ blr .global func_803DA174 func_803DA174: /* 803DA174 003D5DD4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803DA178 003D5DD8 7C 08 02 A6 */ mflr r0 /* 803DA17C 003D5DDC 90 01 00 34 */ stw r0, 0x34(r1) /* 803DA180 003D5DE0 39 61 00 30 */ addi r11, r1, 0x30 /* 803DA184 003D5DE4 4B DE CF 9D */ bl _savegpr_25 /* 803DA188 003D5DE8 7C 9E 23 78 */ mr r30, r4 /* 803DA18C 003D5DEC 7C 79 1B 78 */ mr r25, r3 /* 803DA190 003D5DF0 7C BA 2B 78 */ mr r26, r5 /* 803DA194 003D5DF4 7C DB 33 78 */ mr r27, r6 /* 803DA198 003D5DF8 7C FC 3B 78 */ mr r28, r7 /* 803DA19C 003D5DFC 38 80 01 7C */ li r4, 0x17c /* 803DA1A0 003D5E00 4B D9 3D D1 */ bl func_8016DF70 /* 803DA1A4 003D5E04 7C 7D 1B 78 */ mr r29, r3 /* 803DA1A8 003D5E08 38 80 00 00 */ li r4, 0 /* 803DA1AC 003D5E0C 38 A0 01 7C */ li r5, 0x17c /* 803DA1B0 003D5E10 4B C2 9F 55 */ bl memset /* 803DA1B4 003D5E14 93 DD 00 00 */ stw r30, 0(r29) /* 803DA1B8 003D5E18 3B E0 00 00 */ li r31, 0 /* 803DA1BC 003D5E1C 3B C0 00 00 */ li r30, 0 /* 803DA1C0 003D5E20 93 FD 01 6C */ stw r31, 0x16c(r29) /* 803DA1C4 003D5E24 93 FD 00 14 */ stw r31, 0x14(r29) /* 803DA1C8 003D5E28 93 FD 01 30 */ stw r31, 0x130(r29) /* 803DA1CC 003D5E2C 93 9D 01 34 */ stw r28, 0x134(r29) /* 803DA1D0 003D5E30 93 7D 01 74 */ stw r27, 0x174(r29) /* 803DA1D4 003D5E34 93 FD 01 40 */ stw r31, 0x140(r29) /* 803DA1D8 003D5E38 93 5D 01 54 */ stw r26, 0x154(r29) lbl_803DA1DC: /* 803DA1DC 003D5E3C 7F 23 CB 78 */ mr r3, r25 /* 803DA1E0 003D5E40 48 00 46 01 */ bl func_803DE7E0 /* 803DA1E4 003D5E44 3B DE 00 01 */ addi r30, r30, 1 /* 803DA1E8 003D5E48 7C 9D FA 14 */ add r4, r29, r31 /* 803DA1EC 003D5E4C 2C 1E 00 04 */ cmpwi r30, 4 /* 803DA1F0 003D5E50 90 64 00 04 */ stw r3, 4(r4) /* 803DA1F4 003D5E54 3B FF 00 04 */ addi r31, r31, 4 /* 803DA1F8 003D5E58 41 80 FF E4 */ blt lbl_803DA1DC /* 803DA1FC 003D5E5C 3B C0 00 00 */ li r30, 0 /* 803DA200 003D5E60 3B E0 00 00 */ li r31, 0 lbl_803DA204: /* 803DA204 003D5E64 7F 23 CB 78 */ mr r3, r25 /* 803DA208 003D5E68 4B FF FE 19 */ bl func_803DA020 /* 803DA20C 003D5E6C 3B DE 00 01 */ addi r30, r30, 1 /* 803DA210 003D5E70 7C 9D FA 14 */ add r4, r29, r31 /* 803DA214 003D5E74 2C 1E 00 04 */ cmpwi r30, 4 /* 803DA218 003D5E78 90 64 00 D8 */ stw r3, 0xd8(r4) /* 803DA21C 003D5E7C 3B FF 00 04 */ addi r31, r31, 4 /* 803DA220 003D5E80 41 80 FF E4 */ blt lbl_803DA204 /* 803DA224 003D5E84 7F 23 CB 78 */ mr r3, r25 /* 803DA228 003D5E88 4B FF F5 51 */ bl func_803D9778 /* 803DA22C 003D5E8C 90 7D 00 E8 */ stw r3, 0xe8(r29) /* 803DA230 003D5E90 38 00 00 00 */ li r0, 0 /* 803DA234 003D5E94 39 61 00 30 */ addi r11, r1, 0x30 /* 803DA238 003D5E98 7F A3 EB 78 */ mr r3, r29 /* 803DA23C 003D5E9C 90 1D 00 F0 */ stw r0, 0xf0(r29) /* 803DA240 003D5EA0 90 1D 00 EC */ stw r0, 0xec(r29) /* 803DA244 003D5EA4 4B DE CF 29 */ bl _restgpr_25 /* 803DA248 003D5EA8 80 01 00 34 */ lwz r0, 0x34(r1) /* 803DA24C 003D5EAC 7C 08 03 A6 */ mtlr r0 /* 803DA250 003D5EB0 38 21 00 30 */ addi r1, r1, 0x30 /* 803DA254 003D5EB4 4E 80 00 20 */ blr .global func_803DA258 func_803DA258: /* 803DA258 003D5EB8 38 80 00 00 */ li r4, 0 /* 803DA25C 003D5EBC 38 A0 00 A4 */ li r5, 0xa4 /* 803DA260 003D5EC0 4B C2 9E A4 */ b memset .global func_803DA264 func_803DA264: /* 803DA264 003D5EC4 38 60 00 A4 */ li r3, 0xa4 /* 803DA268 003D5EC8 4E 80 00 20 */ blr .global func_803DA26C func_803DA26C: /* 803DA26C 003D5ECC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DA270 003D5ED0 7C 08 02 A6 */ mflr r0 /* 803DA274 003D5ED4 38 80 00 A4 */ li r4, 0xa4 /* 803DA278 003D5ED8 90 01 00 14 */ stw r0, 0x14(r1) /* 803DA27C 003D5EDC 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DA280 003D5EE0 4B D9 3C F1 */ bl func_8016DF70 /* 803DA284 003D5EE4 7C 7F 1B 78 */ mr r31, r3 /* 803DA288 003D5EE8 38 80 00 00 */ li r4, 0 /* 803DA28C 003D5EEC 38 A0 00 A4 */ li r5, 0xa4 /* 803DA290 003D5EF0 4B C2 9E 75 */ bl memset /* 803DA294 003D5EF4 7F E3 FB 78 */ mr r3, r31 /* 803DA298 003D5EF8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DA29C 003D5EFC 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DA2A0 003D5F00 7C 08 03 A6 */ mtlr r0 /* 803DA2A4 003D5F04 38 21 00 10 */ addi r1, r1, 0x10 /* 803DA2A8 003D5F08 4E 80 00 20 */ blr .global func_803DA2AC func_803DA2AC: /* 803DA2AC 003D5F0C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DA2B0 003D5F10 7C 08 02 A6 */ mflr r0 /* 803DA2B4 003D5F14 90 01 00 14 */ stw r0, 0x14(r1) /* 803DA2B8 003D5F18 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DA2BC 003D5F1C 3B E0 00 00 */ li r31, 0 /* 803DA2C0 003D5F20 93 C1 00 08 */ stw r30, 8(r1) /* 803DA2C4 003D5F24 7C 7E 1B 78 */ mr r30, r3 /* 803DA2C8 003D5F28 A0 A3 00 04 */ lhz r5, 4(r3) /* 803DA2CC 003D5F2C 54 A0 8F FE */ rlwinm r0, r5, 0x11, 0x1f, 0x1f /* 803DA2D0 003D5F30 28 00 00 01 */ cmplwi r0, 1 /* 803DA2D4 003D5F34 40 82 00 28 */ bne lbl_803DA2FC /* 803DA2D8 003D5F38 2C 04 00 01 */ cmpwi r4, 1 /* 803DA2DC 003D5F3C 40 82 00 20 */ bne lbl_803DA2FC /* 803DA2E0 003D5F40 54 A0 04 9E */ rlwinm r0, r5, 0, 0x12, 0xf /* 803DA2E4 003D5F44 3B E0 00 01 */ li r31, 1 /* 803DA2E8 003D5F48 B0 03 00 04 */ sth r0, 4(r3) /* 803DA2EC 003D5F4C 38 80 00 80 */ li r4, 0x80 /* 803DA2F0 003D5F50 38 63 00 08 */ addi r3, r3, 8 /* 803DA2F4 003D5F54 48 00 2E 95 */ bl GetChecksumRental /* 803DA2F8 003D5F58 B0 7E 00 06 */ sth r3, 6(r30) lbl_803DA2FC: /* 803DA2FC 003D5F5C 7F E3 FB 78 */ mr r3, r31 /* 803DA300 003D5F60 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DA304 003D5F64 83 C1 00 08 */ lwz r30, 8(r1) /* 803DA308 003D5F68 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DA30C 003D5F6C 7C 08 03 A6 */ mtlr r0 /* 803DA310 003D5F70 38 21 00 10 */ addi r1, r1, 0x10 /* 803DA314 003D5F74 4E 80 00 20 */ blr .global func_803DA318 func_803DA318: /* 803DA318 003D5F78 A0 83 00 04 */ lhz r4, 4(r3) /* 803DA31C 003D5F7C 38 A0 00 00 */ li r5, 0 /* 803DA320 003D5F80 54 80 97 FF */ rlwinm. r0, r4, 0x12, 0x1f, 0x1f /* 803DA324 003D5F84 40 82 00 10 */ bne lbl_803DA334 /* 803DA328 003D5F88 60 80 40 00 */ ori r0, r4, 0x4000 /* 803DA32C 003D5F8C 38 A0 00 01 */ li r5, 1 /* 803DA330 003D5F90 B0 03 00 04 */ sth r0, 4(r3) lbl_803DA334: /* 803DA334 003D5F94 7C A3 2B 78 */ mr r3, r5 /* 803DA338 003D5F98 4E 80 00 20 */ blr .global func_803DA33C func_803DA33C: /* 803DA33C 003D5F9C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DA340 003D5FA0 7C 08 02 A6 */ mflr r0 /* 803DA344 003D5FA4 90 01 00 14 */ stw r0, 0x14(r1) /* 803DA348 003D5FA8 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DA34C 003D5FAC 3B E0 00 00 */ li r31, 0 /* 803DA350 003D5FB0 93 C1 00 08 */ stw r30, 8(r1) /* 803DA354 003D5FB4 7C 7E 1B 78 */ mr r30, r3 /* 803DA358 003D5FB8 A0 A3 00 04 */ lhz r5, 4(r3) /* 803DA35C 003D5FBC 54 A0 97 FE */ rlwinm r0, r5, 0x12, 0x1f, 0x1f /* 803DA360 003D5FC0 28 00 00 01 */ cmplwi r0, 1 /* 803DA364 003D5FC4 40 82 00 28 */ bne lbl_803DA38C /* 803DA368 003D5FC8 2C 04 00 01 */ cmpwi r4, 1 /* 803DA36C 003D5FCC 40 82 00 20 */ bne lbl_803DA38C /* 803DA370 003D5FD0 54 A0 04 A0 */ rlwinm r0, r5, 0, 0x12, 0x10 /* 803DA374 003D5FD4 3B E0 00 01 */ li r31, 1 /* 803DA378 003D5FD8 B0 03 00 04 */ sth r0, 4(r3) /* 803DA37C 003D5FDC 38 80 00 80 */ li r4, 0x80 /* 803DA380 003D5FE0 38 63 00 08 */ addi r3, r3, 8 /* 803DA384 003D5FE4 48 00 2E 05 */ bl GetChecksumRental /* 803DA388 003D5FE8 B0 7E 00 06 */ sth r3, 6(r30) lbl_803DA38C: /* 803DA38C 003D5FEC 7F E3 FB 78 */ mr r3, r31 /* 803DA390 003D5FF0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DA394 003D5FF4 83 C1 00 08 */ lwz r30, 8(r1) /* 803DA398 003D5FF8 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DA39C 003D5FFC 7C 08 03 A6 */ mtlr r0 /* 803DA3A0 003D6000 38 21 00 10 */ addi r1, r1, 0x10 /* 803DA3A4 003D6004 4E 80 00 20 */ blr .global func_803DA3A8 func_803DA3A8: /* 803DA3A8 003D6008 94 21 FF C0 */ stwu r1, -0x40(r1) /* 803DA3AC 003D600C 7C 08 02 A6 */ mflr r0 /* 803DA3B0 003D6010 90 01 00 44 */ stw r0, 0x44(r1) /* 803DA3B4 003D6014 39 61 00 40 */ addi r11, r1, 0x40 /* 803DA3B8 003D6018 4B DE CD 69 */ bl _savegpr_25 /* 803DA3BC 003D601C 90 A1 00 08 */ stw r5, 8(r1) /* 803DA3C0 003D6020 7C 9A 23 78 */ mr r26, r4 /* 803DA3C4 003D6024 7C 79 1B 78 */ mr r25, r3 /* 803DA3C8 003D6028 7C DB 33 78 */ mr r27, r6 /* 803DA3CC 003D602C 7C FC 3B 78 */ mr r28, r7 /* 803DA3D0 003D6030 7D 1D 43 78 */ mr r29, r8 /* 803DA3D4 003D6034 7D 3E 4B 78 */ mr r30, r9 /* 803DA3D8 003D6038 7D 5F 53 78 */ mr r31, r10 /* 803DA3DC 003D603C 38 80 00 00 */ li r4, 0 /* 803DA3E0 003D6040 38 A0 00 A4 */ li r5, 0xa4 /* 803DA3E4 003D6044 4B C2 9D 21 */ bl memset /* 803DA3E8 003D6048 80 A1 00 08 */ lwz r5, 8(r1) /* 803DA3EC 003D604C 7F 23 CB 78 */ mr r3, r25 /* 803DA3F0 003D6050 7F 44 D3 78 */ mr r4, r26 /* 803DA3F4 003D6054 7F 66 DB 78 */ mr r6, r27 /* 803DA3F8 003D6058 7F 87 E3 78 */ mr r7, r28 /* 803DA3FC 003D605C 7F A8 EB 78 */ mr r8, r29 /* 803DA400 003D6060 7F C9 F3 78 */ mr r9, r30 /* 803DA404 003D6064 7F EA FB 78 */ mr r10, r31 /* 803DA408 003D6068 48 00 00 6D */ bl func_803DA474 /* 803DA40C 003D606C 7F 23 CB 78 */ mr r3, r25 /* 803DA410 003D6070 38 A1 00 08 */ addi r5, r1, 8 /* 803DA414 003D6074 38 80 00 A0 */ li r4, 0xa0 /* 803DA418 003D6078 48 00 11 0D */ bl func_803DB524 /* 803DA41C 003D607C 38 00 00 00 */ li r0, 0 /* 803DA420 003D6080 7F 23 CB 78 */ mr r3, r25 /* 803DA424 003D6084 90 01 00 10 */ stw r0, 0x10(r1) /* 803DA428 003D6088 38 A1 00 10 */ addi r5, r1, 0x10 /* 803DA42C 003D608C 38 80 00 A1 */ li r4, 0xa1 /* 803DA430 003D6090 48 00 10 F5 */ bl func_803DB524 /* 803DA434 003D6094 38 61 00 0C */ addi r3, r1, 0xc /* 803DA438 003D6098 38 80 00 00 */ li r4, 0 /* 803DA43C 003D609C 38 A0 00 04 */ li r5, 4 /* 803DA440 003D60A0 4B C2 9C C5 */ bl memset /* 803DA444 003D60A4 7F 23 CB 78 */ mr r3, r25 /* 803DA448 003D60A8 38 A1 00 0C */ addi r5, r1, 0xc /* 803DA44C 003D60AC 38 80 00 AA */ li r4, 0xaa /* 803DA450 003D60B0 48 00 10 D5 */ bl func_803DB524 /* 803DA454 003D60B4 7F 23 CB 78 */ mr r3, r25 /* 803DA458 003D60B8 48 00 04 21 */ bl func_803DA878 /* 803DA45C 003D60BC 39 61 00 40 */ addi r11, r1, 0x40 /* 803DA460 003D60C0 4B DE CD 0D */ bl _restgpr_25 /* 803DA464 003D60C4 80 01 00 44 */ lwz r0, 0x44(r1) /* 803DA468 003D60C8 7C 08 03 A6 */ mtlr r0 /* 803DA46C 003D60CC 38 21 00 40 */ addi r1, r1, 0x40 /* 803DA470 003D60D0 4E 80 00 20 */ blr .global func_803DA474 func_803DA474: /* 803DA474 003D60D4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 803DA478 003D60D8 7C 08 02 A6 */ mflr r0 /* 803DA47C 003D60DC 90 01 00 44 */ stw r0, 0x44(r1) /* 803DA480 003D60E0 39 61 00 40 */ addi r11, r1, 0x40 /* 803DA484 003D60E4 4B DE CC A5 */ bl _savegpr_27 /* 803DA488 003D60E8 90 81 00 08 */ stw r4, 8(r1) /* 803DA48C 003D60EC 7C 7E 1B 78 */ mr r30, r3 /* 803DA490 003D60F0 7C FC 3B 78 */ mr r28, r7 /* 803DA494 003D60F4 7D 3B 4B 78 */ mr r27, r9 /* 803DA498 003D60F8 90 A1 00 0C */ stw r5, 0xc(r1) /* 803DA49C 003D60FC 38 80 00 00 */ li r4, 0 /* 803DA4A0 003D6100 38 A0 00 88 */ li r5, 0x88 /* 803DA4A4 003D6104 90 C1 00 10 */ stw r6, 0x10(r1) /* 803DA4A8 003D6108 91 01 00 14 */ stw r8, 0x14(r1) /* 803DA4AC 003D610C 91 41 00 18 */ stw r10, 0x18(r1) /* 803DA4B0 003D6110 4B C2 9C 55 */ bl memset /* 803DA4B4 003D6114 7F C3 F3 78 */ mr r3, r30 /* 803DA4B8 003D6118 4B FF FE 61 */ bl func_803DA318 /* 803DA4BC 003D611C 2C 1C 00 00 */ cmpwi r28, 0 /* 803DA4C0 003D6120 7C 7F 1B 78 */ mr r31, r3 /* 803DA4C4 003D6124 40 82 00 1C */ bne lbl_803DA4E0 /* 803DA4C8 003D6128 4B FF F2 F1 */ bl func_803D97B8 /* 803DA4CC 003D612C 54 7D 80 1E */ slwi r29, r3, 0x10 /* 803DA4D0 003D6130 4B FF F2 E9 */ bl func_803D97B8 /* 803DA4D4 003D6134 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DA4D8 003D6138 7C 00 EB 78 */ or r0, r0, r29 /* 803DA4DC 003D613C 90 01 00 14 */ stw r0, 0x14(r1) lbl_803DA4E0: /* 803DA4E0 003D6140 7F C3 F3 78 */ mr r3, r30 /* 803DA4E4 003D6144 38 A1 00 14 */ addi r5, r1, 0x14 /* 803DA4E8 003D6148 38 80 00 00 */ li r4, 0 /* 803DA4EC 003D614C 48 00 11 8D */ bl func_803DB678 /* 803DA4F0 003D6150 2C 1B 00 02 */ cmpwi r27, 2 /* 803DA4F4 003D6154 40 82 00 48 */ bne lbl_803DA53C lbl_803DA4F8: /* 803DA4F8 003D6158 4B FF F2 C1 */ bl func_803D97B8 /* 803DA4FC 003D615C 54 7D 80 1E */ slwi r29, r3, 0x10 /* 803DA500 003D6160 4B FF F2 B9 */ bl func_803D97B8 /* 803DA504 003D6164 80 81 00 14 */ lwz r4, 0x14(r1) /* 803DA508 003D6168 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DA50C 003D616C 7C 06 EB 78 */ or r6, r0, r29 /* 803DA510 003D6170 54 85 04 3E */ clrlwi r5, r4, 0x10 /* 803DA514 003D6174 54 84 84 3E */ srwi r4, r4, 0x10 /* 803DA518 003D6178 54 C3 84 3E */ srwi r3, r6, 0x10 /* 803DA51C 003D617C 54 C0 04 3E */ clrlwi r0, r6, 0x10 /* 803DA520 003D6180 7C A4 22 78 */ xor r4, r5, r4 /* 803DA524 003D6184 90 C1 00 18 */ stw r6, 0x18(r1) /* 803DA528 003D6188 7C 60 02 78 */ xor r0, r3, r0 /* 803DA52C 003D618C 7C 80 02 78 */ xor r0, r4, r0 /* 803DA530 003D6190 28 00 00 08 */ cmplwi r0, 8 /* 803DA534 003D6194 41 80 FF C4 */ blt lbl_803DA4F8 /* 803DA538 003D6198 48 00 00 14 */ b lbl_803DA54C lbl_803DA53C: /* 803DA53C 003D619C 2C 1B 00 01 */ cmpwi r27, 1 /* 803DA540 003D61A0 41 82 00 0C */ beq lbl_803DA54C /* 803DA544 003D61A4 38 00 00 00 */ li r0, 0 /* 803DA548 003D61A8 90 01 00 18 */ stw r0, 0x18(r1) lbl_803DA54C: /* 803DA54C 003D61AC 7F C3 F3 78 */ mr r3, r30 /* 803DA550 003D61B0 38 A1 00 18 */ addi r5, r1, 0x18 /* 803DA554 003D61B4 38 80 00 07 */ li r4, 7 /* 803DA558 003D61B8 48 00 11 21 */ bl func_803DB678 /* 803DA55C 003D61BC 88 02 AA 09 */ lbz r0, lbl_80643009-_SDA2_BASE_(r2) /* 803DA560 003D61C0 7F C3 F3 78 */ mr r3, r30 /* 803DA564 003D61C4 38 A1 00 1C */ addi r5, r1, 0x1c /* 803DA568 003D61C8 38 80 00 0C */ li r4, 0xc /* 803DA56C 003D61CC 90 01 00 1C */ stw r0, 0x1c(r1) /* 803DA570 003D61D0 48 00 11 09 */ bl func_803DB678 /* 803DA574 003D61D4 7F C3 F3 78 */ mr r3, r30 /* 803DA578 003D61D8 38 A1 00 08 */ addi r5, r1, 8 /* 803DA57C 003D61DC 38 80 00 05 */ li r4, 5 /* 803DA580 003D61E0 48 00 10 F9 */ bl func_803DB678 /* 803DA584 003D61E4 7F C3 F3 78 */ mr r3, r30 /* 803DA588 003D61E8 38 80 00 B2 */ li r4, 0xb2 /* 803DA58C 003D61EC 38 A0 00 00 */ li r5, 0 /* 803DA590 003D61F0 48 00 10 E9 */ bl func_803DB678 /* 803DA594 003D61F4 80 61 00 08 */ lwz r3, 8(r1) /* 803DA598 003D61F8 80 81 00 0C */ lwz r4, 0xc(r1) /* 803DA59C 003D61FC 48 00 15 81 */ bl func_803DBB1C /* 803DA5A0 003D6200 90 61 00 24 */ stw r3, 0x24(r1) /* 803DA5A4 003D6204 7F C3 F3 78 */ mr r3, r30 /* 803DA5A8 003D6208 38 A1 00 24 */ addi r5, r1, 0x24 /* 803DA5AC 003D620C 38 80 00 08 */ li r4, 8 /* 803DA5B0 003D6210 48 00 10 C9 */ bl func_803DB678 /* 803DA5B4 003D6214 83 A1 00 08 */ lwz r29, 8(r1) /* 803DA5B8 003D6218 38 60 00 00 */ li r3, 0 /* 803DA5BC 003D621C 38 80 00 2C */ li r4, 0x2c /* 803DA5C0 003D6220 4B D9 39 B1 */ bl func_8016DF70 /* 803DA5C4 003D6224 7C 7C 1B 78 */ mr r28, r3 /* 803DA5C8 003D6228 7F A3 EB 78 */ mr r3, r29 /* 803DA5CC 003D622C 7F 84 E3 78 */ mr r4, r28 /* 803DA5D0 003D6230 48 00 29 2D */ bl func_803DCEFC /* 803DA5D4 003D6234 7F 83 E3 78 */ mr r3, r28 /* 803DA5D8 003D6238 38 80 00 14 */ li r4, 0x14 /* 803DA5DC 003D623C 48 00 11 A5 */ bl func_803DB780 /* 803DA5E0 003D6240 7C 7D 1B 78 */ mr r29, r3 /* 803DA5E4 003D6244 7F 83 E3 78 */ mr r3, r28 /* 803DA5E8 003D6248 4B D9 3A B9 */ bl func_8016E0A0 /* 803DA5EC 003D624C 93 A1 00 24 */ stw r29, 0x24(r1) /* 803DA5F0 003D6250 7F C3 F3 78 */ mr r3, r30 /* 803DA5F4 003D6254 38 A1 00 24 */ addi r5, r1, 0x24 /* 803DA5F8 003D6258 38 80 00 09 */ li r4, 9 /* 803DA5FC 003D625C 48 00 10 7D */ bl func_803DB678 /* 803DA600 003D6260 7F C3 F3 78 */ mr r3, r30 /* 803DA604 003D6264 38 A1 00 0C */ addi r5, r1, 0xc /* 803DA608 003D6268 38 80 00 9B */ li r4, 0x9b /* 803DA60C 003D626C 48 00 10 6D */ bl func_803DB678 /* 803DA610 003D6270 88 02 AA 08 */ lbz r0, lbl_80643008-_SDA2_BASE_(r2) /* 803DA614 003D6274 7F C3 F3 78 */ mr r3, r30 /* 803DA618 003D6278 38 A1 00 1C */ addi r5, r1, 0x1c /* 803DA61C 003D627C 38 80 00 79 */ li r4, 0x79 /* 803DA620 003D6280 90 01 00 1C */ stw r0, 0x1c(r1) /* 803DA624 003D6284 48 00 10 55 */ bl func_803DB678 /* 803DA628 003D6288 38 00 00 04 */ li r0, 4 /* 803DA62C 003D628C 7F C3 F3 78 */ mr r3, r30 /* 803DA630 003D6290 90 01 00 24 */ stw r0, 0x24(r1) /* 803DA634 003D6294 38 A1 00 24 */ addi r5, r1, 0x24 /* 803DA638 003D6298 38 80 00 9A */ li r4, 0x9a /* 803DA63C 003D629C 48 00 10 3D */ bl func_803DB678 /* 803DA640 003D62A0 80 01 00 10 */ lwz r0, 0x10(r1) /* 803DA644 003D62A4 2C 00 00 20 */ cmpwi r0, 0x20 /* 803DA648 003D62A8 40 80 00 68 */ bge lbl_803DA6B0 /* 803DA64C 003D62AC 7F C3 F3 78 */ mr r3, r30 /* 803DA650 003D62B0 38 A1 00 10 */ addi r5, r1, 0x10 /* 803DA654 003D62B4 38 80 00 46 */ li r4, 0x46 /* 803DA658 003D62B8 48 00 10 21 */ bl func_803DB678 /* 803DA65C 003D62BC 7F C3 F3 78 */ mr r3, r30 /* 803DA660 003D62C0 38 A1 00 10 */ addi r5, r1, 0x10 /* 803DA664 003D62C4 38 80 00 47 */ li r4, 0x47 /* 803DA668 003D62C8 48 00 10 11 */ bl func_803DB678 /* 803DA66C 003D62CC 7F C3 F3 78 */ mr r3, r30 /* 803DA670 003D62D0 38 A1 00 10 */ addi r5, r1, 0x10 /* 803DA674 003D62D4 38 80 00 48 */ li r4, 0x48 /* 803DA678 003D62D8 48 00 10 01 */ bl func_803DB678 /* 803DA67C 003D62DC 7F C3 F3 78 */ mr r3, r30 /* 803DA680 003D62E0 38 A1 00 10 */ addi r5, r1, 0x10 /* 803DA684 003D62E4 38 80 00 49 */ li r4, 0x49 /* 803DA688 003D62E8 48 00 0F F1 */ bl func_803DB678 /* 803DA68C 003D62EC 7F C3 F3 78 */ mr r3, r30 /* 803DA690 003D62F0 38 A1 00 10 */ addi r5, r1, 0x10 /* 803DA694 003D62F4 38 80 00 4A */ li r4, 0x4a /* 803DA698 003D62F8 48 00 0F E1 */ bl func_803DB678 /* 803DA69C 003D62FC 7F C3 F3 78 */ mr r3, r30 /* 803DA6A0 003D6300 38 A1 00 10 */ addi r5, r1, 0x10 /* 803DA6A4 003D6304 38 80 00 4B */ li r4, 0x4b /* 803DA6A8 003D6308 48 00 0F D1 */ bl func_803DB678 /* 803DA6AC 003D630C 48 00 00 BC */ b lbl_803DA768 lbl_803DA6B0: /* 803DA6B0 003D6310 4B FF F1 09 */ bl func_803D97B8 /* 803DA6B4 003D6314 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 803DA6B8 003D6318 54 60 06 FE */ clrlwi r0, r3, 0x1b /* 803DA6BC 003D631C 90 81 00 24 */ stw r4, 0x24(r1) /* 803DA6C0 003D6320 7F C3 F3 78 */ mr r3, r30 /* 803DA6C4 003D6324 38 A1 00 20 */ addi r5, r1, 0x20 /* 803DA6C8 003D6328 38 80 00 46 */ li r4, 0x46 /* 803DA6CC 003D632C 90 01 00 20 */ stw r0, 0x20(r1) /* 803DA6D0 003D6330 48 00 0F A9 */ bl func_803DB678 /* 803DA6D4 003D6334 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DA6D8 003D6338 7F C3 F3 78 */ mr r3, r30 /* 803DA6DC 003D633C 38 A1 00 20 */ addi r5, r1, 0x20 /* 803DA6E0 003D6340 38 80 00 47 */ li r4, 0x47 /* 803DA6E4 003D6344 54 00 DE FE */ rlwinm r0, r0, 0x1b, 0x1b, 0x1f /* 803DA6E8 003D6348 90 01 00 20 */ stw r0, 0x20(r1) /* 803DA6EC 003D634C 48 00 0F 8D */ bl func_803DB678 /* 803DA6F0 003D6350 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DA6F4 003D6354 7F C3 F3 78 */ mr r3, r30 /* 803DA6F8 003D6358 38 A1 00 20 */ addi r5, r1, 0x20 /* 803DA6FC 003D635C 38 80 00 48 */ li r4, 0x48 /* 803DA700 003D6360 54 00 B6 FE */ rlwinm r0, r0, 0x16, 0x1b, 0x1f /* 803DA704 003D6364 90 01 00 20 */ stw r0, 0x20(r1) /* 803DA708 003D6368 48 00 0F 71 */ bl func_803DB678 /* 803DA70C 003D636C 4B FF F0 AD */ bl func_803D97B8 /* 803DA710 003D6370 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 803DA714 003D6374 54 60 06 FE */ clrlwi r0, r3, 0x1b /* 803DA718 003D6378 90 81 00 24 */ stw r4, 0x24(r1) /* 803DA71C 003D637C 7F C3 F3 78 */ mr r3, r30 /* 803DA720 003D6380 38 A1 00 20 */ addi r5, r1, 0x20 /* 803DA724 003D6384 38 80 00 49 */ li r4, 0x49 /* 803DA728 003D6388 90 01 00 20 */ stw r0, 0x20(r1) /* 803DA72C 003D638C 48 00 0F 4D */ bl func_803DB678 /* 803DA730 003D6390 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DA734 003D6394 7F C3 F3 78 */ mr r3, r30 /* 803DA738 003D6398 38 A1 00 20 */ addi r5, r1, 0x20 /* 803DA73C 003D639C 38 80 00 4A */ li r4, 0x4a /* 803DA740 003D63A0 54 00 DE FE */ rlwinm r0, r0, 0x1b, 0x1b, 0x1f /* 803DA744 003D63A4 90 01 00 20 */ stw r0, 0x20(r1) /* 803DA748 003D63A8 48 00 0F 31 */ bl func_803DB678 /* 803DA74C 003D63AC 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DA750 003D63B0 7F C3 F3 78 */ mr r3, r30 /* 803DA754 003D63B4 38 A1 00 20 */ addi r5, r1, 0x20 /* 803DA758 003D63B8 38 80 00 4B */ li r4, 0x4b /* 803DA75C 003D63BC 54 00 B6 FE */ rlwinm r0, r0, 0x16, 0x1b, 0x1f /* 803DA760 003D63C0 90 01 00 20 */ stw r0, 0x20(r1) /* 803DA764 003D63C4 48 00 0F 15 */ bl func_803DB678 lbl_803DA768: /* 803DA768 003D63C8 83 81 00 08 */ lwz r28, 8(r1) /* 803DA76C 003D63CC 38 60 00 00 */ li r3, 0 /* 803DA770 003D63D0 38 80 00 2C */ li r4, 0x2c /* 803DA774 003D63D4 4B D9 37 FD */ bl func_8016DF70 /* 803DA778 003D63D8 7C 7B 1B 78 */ mr r27, r3 /* 803DA77C 003D63DC 7F 83 E3 78 */ mr r3, r28 /* 803DA780 003D63E0 7F 64 DB 78 */ mr r4, r27 /* 803DA784 003D63E4 48 00 27 79 */ bl func_803DCEFC /* 803DA788 003D63E8 7F 63 DB 78 */ mr r3, r27 /* 803DA78C 003D63EC 38 80 00 18 */ li r4, 0x18 /* 803DA790 003D63F0 48 00 0F F1 */ bl func_803DB780 /* 803DA794 003D63F4 7C 7D 1B 78 */ mr r29, r3 /* 803DA798 003D63F8 7F 63 DB 78 */ mr r3, r27 /* 803DA79C 003D63FC 4B D9 39 05 */ bl func_8016E0A0 /* 803DA7A0 003D6400 93 A1 00 24 */ stw r29, 0x24(r1) /* 803DA7A4 003D6404 38 60 00 00 */ li r3, 0 /* 803DA7A8 003D6408 83 61 00 08 */ lwz r27, 8(r1) /* 803DA7AC 003D640C 38 80 00 2C */ li r4, 0x2c /* 803DA7B0 003D6410 4B D9 37 C1 */ bl func_8016DF70 /* 803DA7B4 003D6414 7C 7C 1B 78 */ mr r28, r3 /* 803DA7B8 003D6418 7F 63 DB 78 */ mr r3, r27 /* 803DA7BC 003D641C 7F 84 E3 78 */ mr r4, r28 /* 803DA7C0 003D6420 48 00 27 3D */ bl func_803DCEFC /* 803DA7C4 003D6424 7F 83 E3 78 */ mr r3, r28 /* 803DA7C8 003D6428 38 80 00 19 */ li r4, 0x19 /* 803DA7CC 003D642C 48 00 0F B5 */ bl func_803DB780 /* 803DA7D0 003D6430 7C 7D 1B 78 */ mr r29, r3 /* 803DA7D4 003D6434 7F 83 E3 78 */ mr r3, r28 /* 803DA7D8 003D6438 4B D9 38 C9 */ bl func_8016E0A0 /* 803DA7DC 003D643C 2C 1D 00 00 */ cmpwi r29, 0 /* 803DA7E0 003D6440 93 A1 00 20 */ stw r29, 0x20(r1) /* 803DA7E4 003D6444 41 82 00 38 */ beq lbl_803DA81C /* 803DA7E8 003D6448 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DA7EC 003D644C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 803DA7F0 003D6450 41 82 00 18 */ beq lbl_803DA808 /* 803DA7F4 003D6454 7F C3 F3 78 */ mr r3, r30 /* 803DA7F8 003D6458 38 A1 00 20 */ addi r5, r1, 0x20 /* 803DA7FC 003D645C 38 80 00 0A */ li r4, 0xa /* 803DA800 003D6460 48 00 0E 79 */ bl func_803DB678 /* 803DA804 003D6464 48 00 00 28 */ b lbl_803DA82C lbl_803DA808: /* 803DA808 003D6468 7F C3 F3 78 */ mr r3, r30 /* 803DA80C 003D646C 38 A1 00 24 */ addi r5, r1, 0x24 /* 803DA810 003D6470 38 80 00 0A */ li r4, 0xa /* 803DA814 003D6474 48 00 0E 65 */ bl func_803DB678 /* 803DA818 003D6478 48 00 00 14 */ b lbl_803DA82C lbl_803DA81C: /* 803DA81C 003D647C 7F C3 F3 78 */ mr r3, r30 /* 803DA820 003D6480 38 A1 00 24 */ addi r5, r1, 0x24 /* 803DA824 003D6484 38 80 00 0A */ li r4, 0xa /* 803DA828 003D6488 48 00 0E 51 */ bl func_803DB678 lbl_803DA82C: /* 803DA82C 003D648C 7F C3 F3 78 */ mr r3, r30 /* 803DA830 003D6490 48 00 17 35 */ bl func_803DBF64 /* 803DA834 003D6494 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 803DA838 003D6498 7F C3 F3 78 */ mr r3, r30 /* 803DA83C 003D649C 90 01 00 24 */ stw r0, 0x24(r1) /* 803DA840 003D64A0 38 A1 00 24 */ addi r5, r1, 0x24 /* 803DA844 003D64A4 38 80 00 6F */ li r4, 0x6f /* 803DA848 003D64A8 48 00 0E 31 */ bl func_803DB678 /* 803DA84C 003D64AC 7F C3 F3 78 */ mr r3, r30 /* 803DA850 003D64B0 48 00 1A 65 */ bl func_803DC2B4 /* 803DA854 003D64B4 7F C3 F3 78 */ mr r3, r30 /* 803DA858 003D64B8 7F E4 FB 78 */ mr r4, r31 /* 803DA85C 003D64BC 4B FF FA E1 */ bl func_803DA33C /* 803DA860 003D64C0 39 61 00 40 */ addi r11, r1, 0x40 /* 803DA864 003D64C4 4B DE C9 11 */ bl _restgpr_27 /* 803DA868 003D64C8 80 01 00 44 */ lwz r0, 0x44(r1) /* 803DA86C 003D64CC 7C 08 03 A6 */ mtlr r0 /* 803DA870 003D64D0 38 21 00 40 */ addi r1, r1, 0x40 /* 803DA874 003D64D4 4E 80 00 20 */ blr .global func_803DA878 func_803DA878: /* 803DA878 003D64D8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DA87C 003D64DC 7C 08 02 A6 */ mflr r0 /* 803DA880 003D64E0 90 01 00 24 */ stw r0, 0x24(r1) /* 803DA884 003D64E4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803DA888 003D64E8 93 C1 00 18 */ stw r30, 0x18(r1) /* 803DA88C 003D64EC 7C 7E 1B 78 */ mr r30, r3 /* 803DA890 003D64F0 48 00 30 DD */ bl func_803DD96C /* 803DA894 003D64F4 7C 7F 1B 78 */ mr r31, r3 /* 803DA898 003D64F8 7F C3 F3 78 */ mr r3, r30 /* 803DA89C 003D64FC 48 00 12 F5 */ bl func_803DBB90 /* 803DA8A0 003D6500 90 61 00 08 */ stw r3, 8(r1) /* 803DA8A4 003D6504 7F C3 F3 78 */ mr r3, r30 /* 803DA8A8 003D6508 38 A1 00 08 */ addi r5, r1, 8 /* 803DA8AC 003D650C 38 80 00 A0 */ li r4, 0xa0 /* 803DA8B0 003D6510 48 00 0C 75 */ bl func_803DB524 /* 803DA8B4 003D6514 7F C3 F3 78 */ mr r3, r30 /* 803DA8B8 003D6518 48 00 00 29 */ bl func_803DA8E0 /* 803DA8BC 003D651C 7F C3 F3 78 */ mr r3, r30 /* 803DA8C0 003D6520 7F E4 FB 78 */ mr r4, r31 /* 803DA8C4 003D6524 4B FF F9 E9 */ bl func_803DA2AC /* 803DA8C8 003D6528 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DA8CC 003D652C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803DA8D0 003D6530 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803DA8D4 003D6534 7C 08 03 A6 */ mtlr r0 /* 803DA8D8 003D6538 38 21 00 20 */ addi r1, r1, 0x20 /* 803DA8DC 003D653C 4E 80 00 20 */ blr .global func_803DA8E0 func_803DA8E0: /* 803DA8E0 003D6540 94 21 FF 90 */ stwu r1, -0x70(r1) /* 803DA8E4 003D6544 7C 08 02 A6 */ mflr r0 /* 803DA8E8 003D6548 90 01 00 74 */ stw r0, 0x74(r1) /* 803DA8EC 003D654C 39 61 00 70 */ addi r11, r1, 0x70 /* 803DA8F0 003D6550 4B DE C8 05 */ bl __save_gpr /* 803DA8F4 003D6554 7C 6F 1B 78 */ mr r15, r3 /* 803DA8F8 003D6558 48 00 30 75 */ bl func_803DD96C /* 803DA8FC 003D655C 7C 70 1B 78 */ mr r16, r3 /* 803DA900 003D6560 7D E3 7B 78 */ mr r3, r15 /* 803DA904 003D6564 38 80 00 A0 */ li r4, 0xa0 /* 803DA908 003D6568 38 A0 00 00 */ li r5, 0 /* 803DA90C 003D656C 48 00 30 D1 */ bl func_803DD9DC /* 803DA910 003D6570 7C 74 1B 78 */ mr r20, r3 /* 803DA914 003D6574 7D E3 7B 78 */ mr r3, r15 /* 803DA918 003D6578 38 80 00 A3 */ li r4, 0xa3 /* 803DA91C 003D657C 38 A0 00 00 */ li r5, 0 /* 803DA920 003D6580 48 00 30 BD */ bl func_803DD9DC /* 803DA924 003D6584 7C 75 1B 78 */ mr r21, r3 /* 803DA928 003D6588 7D E3 7B 78 */ mr r3, r15 /* 803DA92C 003D658C 38 80 00 A2 */ li r4, 0xa2 /* 803DA930 003D6590 38 A0 00 00 */ li r5, 0 /* 803DA934 003D6594 48 00 30 A9 */ bl func_803DD9DC /* 803DA938 003D6598 90 61 00 20 */ stw r3, 0x20(r1) /* 803DA93C 003D659C 7D E3 7B 78 */ mr r3, r15 /* 803DA940 003D65A0 38 80 00 46 */ li r4, 0x46 /* 803DA944 003D65A4 38 A0 00 00 */ li r5, 0 /* 803DA948 003D65A8 48 00 30 95 */ bl func_803DD9DC /* 803DA94C 003D65AC 7C 76 1B 78 */ mr r22, r3 /* 803DA950 003D65B0 7D E3 7B 78 */ mr r3, r15 /* 803DA954 003D65B4 38 80 00 0D */ li r4, 0xd /* 803DA958 003D65B8 38 A0 00 00 */ li r5, 0 /* 803DA95C 003D65BC 48 00 30 81 */ bl func_803DD9DC /* 803DA960 003D65C0 7C 77 1B 78 */ mr r23, r3 /* 803DA964 003D65C4 7D E3 7B 78 */ mr r3, r15 /* 803DA968 003D65C8 38 80 00 47 */ li r4, 0x47 /* 803DA96C 003D65CC 38 A0 00 00 */ li r5, 0 /* 803DA970 003D65D0 48 00 30 6D */ bl func_803DD9DC /* 803DA974 003D65D4 7C 78 1B 78 */ mr r24, r3 /* 803DA978 003D65D8 7D E3 7B 78 */ mr r3, r15 /* 803DA97C 003D65DC 38 80 00 0E */ li r4, 0xe /* 803DA980 003D65E0 38 A0 00 00 */ li r5, 0 /* 803DA984 003D65E4 48 00 30 59 */ bl func_803DD9DC /* 803DA988 003D65E8 7C 79 1B 78 */ mr r25, r3 /* 803DA98C 003D65EC 7D E3 7B 78 */ mr r3, r15 /* 803DA990 003D65F0 38 80 00 48 */ li r4, 0x48 /* 803DA994 003D65F4 38 A0 00 00 */ li r5, 0 /* 803DA998 003D65F8 48 00 30 45 */ bl func_803DD9DC /* 803DA99C 003D65FC 7C 7A 1B 78 */ mr r26, r3 /* 803DA9A0 003D6600 7D E3 7B 78 */ mr r3, r15 /* 803DA9A4 003D6604 38 80 00 0F */ li r4, 0xf /* 803DA9A8 003D6608 38 A0 00 00 */ li r5, 0 /* 803DA9AC 003D660C 48 00 30 31 */ bl func_803DD9DC /* 803DA9B0 003D6610 7C 7B 1B 78 */ mr r27, r3 /* 803DA9B4 003D6614 7D E3 7B 78 */ mr r3, r15 /* 803DA9B8 003D6618 38 80 00 49 */ li r4, 0x49 /* 803DA9BC 003D661C 38 A0 00 00 */ li r5, 0 /* 803DA9C0 003D6620 48 00 30 1D */ bl func_803DD9DC /* 803DA9C4 003D6624 7C 7C 1B 78 */ mr r28, r3 /* 803DA9C8 003D6628 7D E3 7B 78 */ mr r3, r15 /* 803DA9CC 003D662C 38 80 00 10 */ li r4, 0x10 /* 803DA9D0 003D6630 38 A0 00 00 */ li r5, 0 /* 803DA9D4 003D6634 48 00 30 09 */ bl func_803DD9DC /* 803DA9D8 003D6638 7C 7D 1B 78 */ mr r29, r3 /* 803DA9DC 003D663C 7D E3 7B 78 */ mr r3, r15 /* 803DA9E0 003D6640 38 80 00 4A */ li r4, 0x4a /* 803DA9E4 003D6644 38 A0 00 00 */ li r5, 0 /* 803DA9E8 003D6648 48 00 2F F5 */ bl func_803DD9DC /* 803DA9EC 003D664C 7C 7E 1B 78 */ mr r30, r3 /* 803DA9F0 003D6650 7D E3 7B 78 */ mr r3, r15 /* 803DA9F4 003D6654 38 80 00 11 */ li r4, 0x11 /* 803DA9F8 003D6658 38 A0 00 00 */ li r5, 0 /* 803DA9FC 003D665C 48 00 2F E1 */ bl func_803DD9DC /* 803DAA00 003D6660 7C 7F 1B 78 */ mr r31, r3 /* 803DAA04 003D6664 7D E3 7B 78 */ mr r3, r15 /* 803DAA08 003D6668 38 80 00 4B */ li r4, 0x4b /* 803DAA0C 003D666C 38 A0 00 00 */ li r5, 0 /* 803DAA10 003D6670 48 00 2F CD */ bl func_803DD9DC /* 803DAA14 003D6674 7C 6E 1B 78 */ mr r14, r3 /* 803DAA18 003D6678 7D E3 7B 78 */ mr r3, r15 /* 803DAA1C 003D667C 38 80 00 12 */ li r4, 0x12 /* 803DAA20 003D6680 38 A0 00 00 */ li r5, 0 /* 803DAA24 003D6684 48 00 2F B9 */ bl func_803DD9DC /* 803DAA28 003D6688 90 61 00 24 */ stw r3, 0x24(r1) /* 803DAA2C 003D668C 7D E3 7B 78 */ mr r3, r15 /* 803DAA30 003D6690 38 80 00 70 */ li r4, 0x70 /* 803DAA34 003D6694 38 A0 00 00 */ li r5, 0 /* 803DAA38 003D6698 48 00 2F A5 */ bl func_803DD9DC /* 803DAA3C 003D669C 7C 72 1B 78 */ mr r18, r3 /* 803DAA40 003D66A0 7D E3 7B 78 */ mr r3, r15 /* 803DAA44 003D66A4 38 80 00 05 */ li r4, 5 /* 803DAA48 003D66A8 38 A0 00 00 */ li r5, 0 /* 803DAA4C 003D66AC 48 00 2F 91 */ bl func_803DD9DC /* 803DAA50 003D66B0 7C 73 1B 78 */ mr r19, r3 /* 803DAA54 003D66B4 38 60 00 00 */ li r3, 0 /* 803DAA58 003D66B8 38 80 00 2C */ li r4, 0x2c /* 803DAA5C 003D66BC 4B D9 35 15 */ bl func_8016DF70 /* 803DAA60 003D66C0 7C 71 1B 78 */ mr r17, r3 /* 803DAA64 003D66C4 7E 63 9B 78 */ mr r3, r19 /* 803DAA68 003D66C8 7E 44 93 78 */ mr r4, r18 /* 803DAA6C 003D66CC 48 00 2E 71 */ bl func_803DD8DC /* 803DAA70 003D66D0 7E 24 8B 78 */ mr r4, r17 /* 803DAA74 003D66D4 48 00 24 89 */ bl func_803DCEFC /* 803DAA78 003D66D8 2C 13 01 24 */ cmpwi r19, 0x124 /* 803DAA7C 003D66DC 40 82 00 0C */ bne lbl_803DAA88 /* 803DAA80 003D66E0 38 00 00 01 */ li r0, 1 /* 803DAA84 003D66E4 48 00 00 30 */ b lbl_803DAAB4 lbl_803DAA88: /* 803DAA88 003D66E8 7E E0 16 70 */ srawi r0, r23, 2 /* 803DAA8C 003D66EC 88 71 00 00 */ lbz r3, 0(r17) /* 803DAA90 003D66F0 7C A0 01 94 */ addze r5, r0 /* 803DAA94 003D66F4 54 64 08 3C */ slwi r4, r3, 1 /* 803DAA98 003D66F8 38 00 00 64 */ li r0, 0x64 /* 803DAA9C 003D66FC 7C 65 B2 14 */ add r3, r5, r22 /* 803DAAA0 003D6700 7C 64 1A 14 */ add r3, r4, r3 /* 803DAAA4 003D6704 7C 74 19 D6 */ mullw r3, r20, r3 /* 803DAAA8 003D6708 7C 03 03 D6 */ divw r0, r3, r0 /* 803DAAAC 003D670C 7C 74 02 14 */ add r3, r20, r0 /* 803DAAB0 003D6710 38 03 00 0A */ addi r0, r3, 0xa lbl_803DAAB4: /* 803DAAB4 003D6714 90 01 00 1C */ stw r0, 0x1c(r1) /* 803DAAB8 003D6718 7D E3 7B 78 */ mr r3, r15 /* 803DAABC 003D671C 38 A1 00 1C */ addi r5, r1, 0x1c /* 803DAAC0 003D6720 38 80 00 A3 */ li r4, 0xa3 /* 803DAAC4 003D6724 48 00 0A 61 */ bl func_803DB524 /* 803DAAC8 003D6728 7F 23 16 70 */ srawi r3, r25, 2 /* 803DAACC 003D672C 88 11 00 01 */ lbz r0, 1(r17) /* 803DAAD0 003D6730 7C A3 01 94 */ addze r5, r3 /* 803DAAD4 003D6734 3A E0 00 64 */ li r23, 0x64 /* 803DAAD8 003D6738 54 04 08 3C */ slwi r4, r0, 1 /* 803DAADC 003D673C 7D E3 7B 78 */ mr r3, r15 /* 803DAAE0 003D6740 7C 05 C2 14 */ add r0, r5, r24 /* 803DAAE4 003D6744 7C 04 02 14 */ add r0, r4, r0 /* 803DAAE8 003D6748 7C 14 01 D6 */ mullw r0, r20, r0 /* 803DAAEC 003D674C 7C 80 BB D6 */ divw r4, r0, r23 /* 803DAAF0 003D6750 38 04 00 05 */ addi r0, r4, 5 /* 803DAAF4 003D6754 90 01 00 18 */ stw r0, 0x18(r1) /* 803DAAF8 003D6758 4B FF F8 21 */ bl func_803DA318 /* 803DAAFC 003D675C 7C 72 1B 78 */ mr r18, r3 /* 803DAB00 003D6760 7D E3 7B 78 */ mr r3, r15 /* 803DAB04 003D6764 38 80 00 00 */ li r4, 0 /* 803DAB08 003D6768 38 A0 00 00 */ li r5, 0 /* 803DAB0C 003D676C 48 00 03 F1 */ bl func_803DAEFC /* 803DAB10 003D6770 7C 76 1B 78 */ mr r22, r3 /* 803DAB14 003D6774 7D E3 7B 78 */ mr r3, r15 /* 803DAB18 003D6778 7E 44 93 78 */ mr r4, r18 /* 803DAB1C 003D677C 4B FF F8 21 */ bl func_803DA33C /* 803DAB20 003D6780 3A 40 00 19 */ li r18, 0x19 /* 803DAB24 003D6784 80 01 00 18 */ lwz r0, 0x18(r1) /* 803DAB28 003D6788 7C 76 93 96 */ divwu r3, r22, r18 /* 803DAB2C 003D678C 38 A0 00 01 */ li r5, 1 /* 803DAB30 003D6790 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 803DAB34 003D6794 7C 03 91 D6 */ mullw r0, r3, r18 /* 803DAB38 003D6798 7C 00 B0 50 */ subf r0, r0, r22 /* 803DAB3C 003D679C 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 803DAB40 003D67A0 48 00 12 19 */ bl func_803DBD58 /* 803DAB44 003D67A4 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DAB48 003D67A8 7D E3 7B 78 */ mr r3, r15 /* 803DAB4C 003D67AC 90 01 00 18 */ stw r0, 0x18(r1) /* 803DAB50 003D67B0 38 A1 00 18 */ addi r5, r1, 0x18 /* 803DAB54 003D67B4 38 80 00 A4 */ li r4, 0xa4 /* 803DAB58 003D67B8 48 00 09 CD */ bl func_803DB524 /* 803DAB5C 003D67BC 7F 63 16 70 */ srawi r3, r27, 2 /* 803DAB60 003D67C0 88 11 00 02 */ lbz r0, 2(r17) /* 803DAB64 003D67C4 7C A3 01 94 */ addze r5, r3 /* 803DAB68 003D67C8 54 04 08 3C */ slwi r4, r0, 1 /* 803DAB6C 003D67CC 7D E3 7B 78 */ mr r3, r15 /* 803DAB70 003D67D0 7C 05 D2 14 */ add r0, r5, r26 /* 803DAB74 003D67D4 7C 04 02 14 */ add r0, r4, r0 /* 803DAB78 003D67D8 7C 14 01 D6 */ mullw r0, r20, r0 /* 803DAB7C 003D67DC 7C 80 BB D6 */ divw r4, r0, r23 /* 803DAB80 003D67E0 38 04 00 05 */ addi r0, r4, 5 /* 803DAB84 003D67E4 90 01 00 14 */ stw r0, 0x14(r1) /* 803DAB88 003D67E8 4B FF F7 91 */ bl func_803DA318 /* 803DAB8C 003D67EC 7C 78 1B 78 */ mr r24, r3 /* 803DAB90 003D67F0 7D E3 7B 78 */ mr r3, r15 /* 803DAB94 003D67F4 38 80 00 00 */ li r4, 0 /* 803DAB98 003D67F8 38 A0 00 00 */ li r5, 0 /* 803DAB9C 003D67FC 48 00 03 61 */ bl func_803DAEFC /* 803DABA0 003D6800 7C 76 1B 78 */ mr r22, r3 /* 803DABA4 003D6804 7D E3 7B 78 */ mr r3, r15 /* 803DABA8 003D6808 7F 04 C3 78 */ mr r4, r24 /* 803DABAC 003D680C 4B FF F7 91 */ bl func_803DA33C /* 803DABB0 003D6810 7C 76 93 96 */ divwu r3, r22, r18 /* 803DABB4 003D6814 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DABB8 003D6818 38 A0 00 02 */ li r5, 2 /* 803DABBC 003D681C 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 803DABC0 003D6820 7C 03 91 D6 */ mullw r0, r3, r18 /* 803DABC4 003D6824 7C 00 B0 50 */ subf r0, r0, r22 /* 803DABC8 003D6828 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 803DABCC 003D682C 48 00 11 8D */ bl func_803DBD58 /* 803DABD0 003D6830 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DABD4 003D6834 7D E3 7B 78 */ mr r3, r15 /* 803DABD8 003D6838 90 01 00 14 */ stw r0, 0x14(r1) /* 803DABDC 003D683C 38 A1 00 14 */ addi r5, r1, 0x14 /* 803DABE0 003D6840 38 80 00 A5 */ li r4, 0xa5 /* 803DABE4 003D6844 48 00 09 41 */ bl func_803DB524 /* 803DABE8 003D6848 7F A3 16 70 */ srawi r3, r29, 2 /* 803DABEC 003D684C 88 11 00 03 */ lbz r0, 3(r17) /* 803DABF0 003D6850 7C A3 01 94 */ addze r5, r3 /* 803DABF4 003D6854 54 04 08 3C */ slwi r4, r0, 1 /* 803DABF8 003D6858 7D E3 7B 78 */ mr r3, r15 /* 803DABFC 003D685C 7C 05 E2 14 */ add r0, r5, r28 /* 803DAC00 003D6860 7C 04 02 14 */ add r0, r4, r0 /* 803DAC04 003D6864 7C 14 01 D6 */ mullw r0, r20, r0 /* 803DAC08 003D6868 7C 80 BB D6 */ divw r4, r0, r23 /* 803DAC0C 003D686C 38 04 00 05 */ addi r0, r4, 5 /* 803DAC10 003D6870 90 01 00 10 */ stw r0, 0x10(r1) /* 803DAC14 003D6874 4B FF F7 05 */ bl func_803DA318 /* 803DAC18 003D6878 7C 78 1B 78 */ mr r24, r3 /* 803DAC1C 003D687C 7D E3 7B 78 */ mr r3, r15 /* 803DAC20 003D6880 38 80 00 00 */ li r4, 0 /* 803DAC24 003D6884 38 A0 00 00 */ li r5, 0 /* 803DAC28 003D6888 48 00 02 D5 */ bl func_803DAEFC /* 803DAC2C 003D688C 7C 76 1B 78 */ mr r22, r3 /* 803DAC30 003D6890 7D E3 7B 78 */ mr r3, r15 /* 803DAC34 003D6894 7F 04 C3 78 */ mr r4, r24 /* 803DAC38 003D6898 4B FF F7 05 */ bl func_803DA33C /* 803DAC3C 003D689C 7C 76 93 96 */ divwu r3, r22, r18 /* 803DAC40 003D68A0 80 01 00 10 */ lwz r0, 0x10(r1) /* 803DAC44 003D68A4 38 A0 00 03 */ li r5, 3 /* 803DAC48 003D68A8 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 803DAC4C 003D68AC 7C 03 91 D6 */ mullw r0, r3, r18 /* 803DAC50 003D68B0 7C 00 B0 50 */ subf r0, r0, r22 /* 803DAC54 003D68B4 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 803DAC58 003D68B8 48 00 11 01 */ bl func_803DBD58 /* 803DAC5C 003D68BC 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DAC60 003D68C0 7D E3 7B 78 */ mr r3, r15 /* 803DAC64 003D68C4 90 01 00 10 */ stw r0, 0x10(r1) /* 803DAC68 003D68C8 38 A1 00 10 */ addi r5, r1, 0x10 /* 803DAC6C 003D68CC 38 80 00 A6 */ li r4, 0xa6 /* 803DAC70 003D68D0 48 00 08 B5 */ bl func_803DB524 /* 803DAC74 003D68D4 7F E3 16 70 */ srawi r3, r31, 2 /* 803DAC78 003D68D8 88 11 00 04 */ lbz r0, 4(r17) /* 803DAC7C 003D68DC 7C A3 01 94 */ addze r5, r3 /* 803DAC80 003D68E0 54 04 08 3C */ slwi r4, r0, 1 /* 803DAC84 003D68E4 7D E3 7B 78 */ mr r3, r15 /* 803DAC88 003D68E8 7C 05 F2 14 */ add r0, r5, r30 /* 803DAC8C 003D68EC 7C 04 02 14 */ add r0, r4, r0 /* 803DAC90 003D68F0 7C 14 01 D6 */ mullw r0, r20, r0 /* 803DAC94 003D68F4 7C 80 BB D6 */ divw r4, r0, r23 /* 803DAC98 003D68F8 38 04 00 05 */ addi r0, r4, 5 /* 803DAC9C 003D68FC 90 01 00 0C */ stw r0, 0xc(r1) /* 803DACA0 003D6900 4B FF F6 79 */ bl func_803DA318 /* 803DACA4 003D6904 7C 78 1B 78 */ mr r24, r3 /* 803DACA8 003D6908 7D E3 7B 78 */ mr r3, r15 /* 803DACAC 003D690C 38 80 00 00 */ li r4, 0 /* 803DACB0 003D6910 38 A0 00 00 */ li r5, 0 /* 803DACB4 003D6914 48 00 02 49 */ bl func_803DAEFC /* 803DACB8 003D6918 7C 76 1B 78 */ mr r22, r3 /* 803DACBC 003D691C 7D E3 7B 78 */ mr r3, r15 /* 803DACC0 003D6920 7F 04 C3 78 */ mr r4, r24 /* 803DACC4 003D6924 4B FF F6 79 */ bl func_803DA33C /* 803DACC8 003D6928 7C 76 93 96 */ divwu r3, r22, r18 /* 803DACCC 003D692C 80 01 00 0C */ lwz r0, 0xc(r1) /* 803DACD0 003D6930 38 A0 00 04 */ li r5, 4 /* 803DACD4 003D6934 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 803DACD8 003D6938 7C 03 91 D6 */ mullw r0, r3, r18 /* 803DACDC 003D693C 7C 00 B0 50 */ subf r0, r0, r22 /* 803DACE0 003D6940 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 803DACE4 003D6944 48 00 10 75 */ bl func_803DBD58 /* 803DACE8 003D6948 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DACEC 003D694C 7D E3 7B 78 */ mr r3, r15 /* 803DACF0 003D6950 90 01 00 0C */ stw r0, 0xc(r1) /* 803DACF4 003D6954 38 A1 00 0C */ addi r5, r1, 0xc /* 803DACF8 003D6958 38 80 00 A7 */ li r4, 0xa7 /* 803DACFC 003D695C 48 00 08 29 */ bl func_803DB524 /* 803DAD00 003D6960 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DAD04 003D6964 7C 03 16 70 */ srawi r3, r0, 2 /* 803DAD08 003D6968 88 11 00 05 */ lbz r0, 5(r17) /* 803DAD0C 003D696C 7C A3 01 94 */ addze r5, r3 /* 803DAD10 003D6970 54 04 08 3C */ slwi r4, r0, 1 /* 803DAD14 003D6974 7D E3 7B 78 */ mr r3, r15 /* 803DAD18 003D6978 7C 05 72 14 */ add r0, r5, r14 /* 803DAD1C 003D697C 7C 04 02 14 */ add r0, r4, r0 /* 803DAD20 003D6980 7C 14 01 D6 */ mullw r0, r20, r0 /* 803DAD24 003D6984 7C 80 BB D6 */ divw r4, r0, r23 /* 803DAD28 003D6988 38 04 00 05 */ addi r0, r4, 5 /* 803DAD2C 003D698C 90 01 00 08 */ stw r0, 8(r1) /* 803DAD30 003D6990 4B FF F5 E9 */ bl func_803DA318 /* 803DAD34 003D6994 7C 74 1B 78 */ mr r20, r3 /* 803DAD38 003D6998 7D E3 7B 78 */ mr r3, r15 /* 803DAD3C 003D699C 38 80 00 00 */ li r4, 0 /* 803DAD40 003D69A0 38 A0 00 00 */ li r5, 0 /* 803DAD44 003D69A4 48 00 01 B9 */ bl func_803DAEFC /* 803DAD48 003D69A8 7C 6E 1B 78 */ mr r14, r3 /* 803DAD4C 003D69AC 7D E3 7B 78 */ mr r3, r15 /* 803DAD50 003D69B0 7E 84 A3 78 */ mr r4, r20 /* 803DAD54 003D69B4 4B FF F5 E9 */ bl func_803DA33C /* 803DAD58 003D69B8 7C 6E 93 96 */ divwu r3, r14, r18 /* 803DAD5C 003D69BC 80 01 00 08 */ lwz r0, 8(r1) /* 803DAD60 003D69C0 38 A0 00 05 */ li r5, 5 /* 803DAD64 003D69C4 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 803DAD68 003D69C8 7C 03 91 D6 */ mullw r0, r3, r18 /* 803DAD6C 003D69CC 7C 00 70 50 */ subf r0, r0, r14 /* 803DAD70 003D69D0 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 803DAD74 003D69D4 48 00 0F E5 */ bl func_803DBD58 /* 803DAD78 003D69D8 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DAD7C 003D69DC 7D E3 7B 78 */ mr r3, r15 /* 803DAD80 003D69E0 90 01 00 08 */ stw r0, 8(r1) /* 803DAD84 003D69E4 38 A1 00 08 */ addi r5, r1, 8 /* 803DAD88 003D69E8 38 80 00 A8 */ li r4, 0xa8 /* 803DAD8C 003D69EC 48 00 07 99 */ bl func_803DB524 /* 803DAD90 003D69F0 7E 23 8B 78 */ mr r3, r17 /* 803DAD94 003D69F4 4B D9 33 0D */ bl func_8016E0A0 /* 803DAD98 003D69F8 80 01 00 20 */ lwz r0, 0x20(r1) /* 803DAD9C 003D69FC 2C 00 00 00 */ cmpwi r0, 0 /* 803DADA0 003D6A00 40 82 00 0C */ bne lbl_803DADAC /* 803DADA4 003D6A04 2C 15 00 00 */ cmpwi r21, 0 /* 803DADA8 003D6A08 40 82 00 3C */ bne lbl_803DADE4 lbl_803DADAC: /* 803DADAC 003D6A0C 2C 13 01 24 */ cmpwi r19, 0x124 /* 803DADB0 003D6A10 40 82 00 10 */ bne lbl_803DADC0 /* 803DADB4 003D6A14 38 00 00 01 */ li r0, 1 /* 803DADB8 003D6A18 90 01 00 20 */ stw r0, 0x20(r1) /* 803DADBC 003D6A1C 48 00 00 28 */ b lbl_803DADE4 lbl_803DADC0: /* 803DADC0 003D6A20 2C 00 00 00 */ cmpwi r0, 0 /* 803DADC4 003D6A24 40 82 00 0C */ bne lbl_803DADD0 /* 803DADC8 003D6A28 80 01 00 1C */ lwz r0, 0x1c(r1) /* 803DADCC 003D6A2C 48 00 00 14 */ b lbl_803DADE0 lbl_803DADD0: /* 803DADD0 003D6A30 80 01 00 1C */ lwz r0, 0x1c(r1) /* 803DADD4 003D6A34 80 61 00 20 */ lwz r3, 0x20(r1) /* 803DADD8 003D6A38 7C 15 00 50 */ subf r0, r21, r0 /* 803DADDC 003D6A3C 7C 03 02 14 */ add r0, r3, r0 lbl_803DADE0: /* 803DADE0 003D6A40 90 01 00 20 */ stw r0, 0x20(r1) lbl_803DADE4: /* 803DADE4 003D6A44 80 01 00 20 */ lwz r0, 0x20(r1) /* 803DADE8 003D6A48 2C 00 00 00 */ cmpwi r0, 0 /* 803DADEC 003D6A4C 41 82 00 14 */ beq lbl_803DAE00 /* 803DADF0 003D6A50 7D E3 7B 78 */ mr r3, r15 /* 803DADF4 003D6A54 38 A1 00 20 */ addi r5, r1, 0x20 /* 803DADF8 003D6A58 38 80 00 A2 */ li r4, 0xa2 /* 803DADFC 003D6A5C 48 00 07 29 */ bl func_803DB524 lbl_803DAE00: /* 803DAE00 003D6A60 7D E3 7B 78 */ mr r3, r15 /* 803DAE04 003D6A64 7E 04 83 78 */ mr r4, r16 /* 803DAE08 003D6A68 4B FF F4 A5 */ bl func_803DA2AC /* 803DAE0C 003D6A6C 39 61 00 70 */ addi r11, r1, 0x70 /* 803DAE10 003D6A70 4B DE C3 31 */ bl __restore_gpr /* 803DAE14 003D6A74 80 01 00 74 */ lwz r0, 0x74(r1) /* 803DAE18 003D6A78 7C 08 03 A6 */ mtlr r0 /* 803DAE1C 003D6A7C 38 21 00 70 */ addi r1, r1, 0x70 /* 803DAE20 003D6A80 4E 80 00 20 */ blr .global func_803DAE24 func_803DAE24: /* 803DAE24 003D6A84 80 A4 00 00 */ lwz r5, 0(r4) /* 803DAE28 003D6A88 38 00 00 40 */ li r0, 0x40 /* 803DAE2C 003D6A8C 38 C3 00 07 */ addi r6, r3, 7 /* 803DAE30 003D6A90 90 A3 00 00 */ stw r5, 0(r3) /* 803DAE34 003D6A94 38 A4 00 07 */ addi r5, r4, 7 /* 803DAE38 003D6A98 A0 E4 00 04 */ lhz r7, 4(r4) /* 803DAE3C 003D6A9C B0 E3 00 04 */ sth r7, 4(r3) /* 803DAE40 003D6AA0 A0 84 00 06 */ lhz r4, 6(r4) /* 803DAE44 003D6AA4 B0 83 00 06 */ sth r4, 6(r3) /* 803DAE48 003D6AA8 7C 09 03 A6 */ mtctr r0 lbl_803DAE4C: /* 803DAE4C 003D6AAC 88 85 00 01 */ lbz r4, 1(r5) /* 803DAE50 003D6AB0 8C 05 00 02 */ lbzu r0, 2(r5) /* 803DAE54 003D6AB4 98 86 00 01 */ stb r4, 1(r6) /* 803DAE58 003D6AB8 9C 06 00 02 */ stbu r0, 2(r6) /* 803DAE5C 003D6ABC 42 00 FF F0 */ bdnz lbl_803DAE4C /* 803DAE60 003D6AC0 4E 80 00 20 */ blr .global func_803DAE64 func_803DAE64: /* 803DAE64 003D6AC4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DAE68 003D6AC8 7C 08 02 A6 */ mflr r0 /* 803DAE6C 003D6ACC 90 01 00 24 */ stw r0, 0x24(r1) /* 803DAE70 003D6AD0 39 61 00 20 */ addi r11, r1, 0x20 /* 803DAE74 003D6AD4 4B DE C2 B9 */ bl _savegpr_28 /* 803DAE78 003D6AD8 28 03 00 03 */ cmplwi r3, 3 /* 803DAE7C 003D6ADC 7C 7F 1B 78 */ mr r31, r3 /* 803DAE80 003D6AE0 7C 9C 23 78 */ mr r28, r4 /* 803DAE84 003D6AE4 7C BD 2B 78 */ mr r29, r5 /* 803DAE88 003D6AE8 7C DE 33 78 */ mr r30, r6 /* 803DAE8C 003D6AEC 40 81 00 0C */ ble lbl_803DAE98 /* 803DAE90 003D6AF0 38 60 00 00 */ li r3, 0 /* 803DAE94 003D6AF4 48 00 00 50 */ b lbl_803DAEE4 lbl_803DAE98: /* 803DAE98 003D6AF8 28 04 00 06 */ cmplwi r4, 6 /* 803DAE9C 003D6AFC 41 80 00 0C */ blt lbl_803DAEA8 /* 803DAEA0 003D6B00 38 60 00 00 */ li r3, 0 /* 803DAEA4 003D6B04 48 00 00 40 */ b lbl_803DAEE4 lbl_803DAEA8: /* 803DAEA8 003D6B08 4B FD 19 81 */ bl func_803AC828 /* 803DAEAC 003D6B0C 7F E4 FB 78 */ mr r4, r31 /* 803DAEB0 003D6B10 4B FD 19 B9 */ bl func_803AC868 /* 803DAEB4 003D6B14 7C 7F 1B 78 */ mr r31, r3 /* 803DAEB8 003D6B18 48 00 3A 8D */ bl func_803DE944 /* 803DAEBC 003D6B1C 7C 1C 18 00 */ cmpw r28, r3 /* 803DAEC0 003D6B20 41 80 00 0C */ blt lbl_803DAECC /* 803DAEC4 003D6B24 38 60 00 00 */ li r3, 0 /* 803DAEC8 003D6B28 48 00 00 1C */ b lbl_803DAEE4 lbl_803DAECC: /* 803DAECC 003D6B2C 7F E3 FB 78 */ mr r3, r31 /* 803DAED0 003D6B30 7F 84 E3 78 */ mr r4, r28 /* 803DAED4 003D6B34 48 00 3A 79 */ bl func_803DE94C /* 803DAED8 003D6B38 7F A4 EB 78 */ mr r4, r29 /* 803DAEDC 003D6B3C 7F C5 F3 78 */ mr r5, r30 /* 803DAEE0 003D6B40 48 00 2A FD */ bl func_803DD9DC lbl_803DAEE4: /* 803DAEE4 003D6B44 39 61 00 20 */ addi r11, r1, 0x20 /* 803DAEE8 003D6B48 4B DE C2 91 */ bl _restgpr_28 /* 803DAEEC 003D6B4C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DAEF0 003D6B50 7C 08 03 A6 */ mtlr r0 /* 803DAEF4 003D6B54 38 21 00 20 */ addi r1, r1, 0x20 /* 803DAEF8 003D6B58 4E 80 00 20 */ blr .global func_803DAEFC func_803DAEFC: /* 803DAEFC 003D6B5C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DAF00 003D6B60 7C 08 02 A6 */ mflr r0 /* 803DAF04 003D6B64 90 01 00 24 */ stw r0, 0x24(r1) /* 803DAF08 003D6B68 39 61 00 20 */ addi r11, r1, 0x20 /* 803DAF0C 003D6B6C 4B DE C2 25 */ bl _savegpr_29 /* 803DAF10 003D6B70 A0 03 00 04 */ lhz r0, 4(r3) /* 803DAF14 003D6B74 7C 7D 1B 78 */ mr r29, r3 /* 803DAF18 003D6B78 7C 9E 23 78 */ mr r30, r4 /* 803DAF1C 003D6B7C 7C BF 2B 78 */ mr r31, r5 /* 803DAF20 003D6B80 54 00 97 FF */ rlwinm. r0, r0, 0x12, 0x1f, 0x1f /* 803DAF24 003D6B84 40 82 00 48 */ bne lbl_803DAF6C /* 803DAF28 003D6B88 38 80 00 80 */ li r4, 0x80 /* 803DAF2C 003D6B8C 38 63 00 08 */ addi r3, r3, 8 /* 803DAF30 003D6B90 48 00 22 59 */ bl GetChecksumRental /* 803DAF34 003D6B94 A0 9D 00 06 */ lhz r4, 6(r29) /* 803DAF38 003D6B98 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DAF3C 003D6B9C 7C 00 20 40 */ cmplw r0, r4 /* 803DAF40 003D6BA0 41 82 00 2C */ beq lbl_803DAF6C /* 803DAF44 003D6BA4 7C 00 20 50 */ subf r0, r0, r4 /* 803DAF48 003D6BA8 3C 80 80 47 */ lis r4, lbl_804744C9@ha /* 803DAF4C 003D6BAC 7C 00 00 34 */ cntlzw r0, r0 /* 803DAF50 003D6BB0 54 03 D9 7E */ srwi r3, r0, 5 /* 803DAF54 003D6BB4 38 84 44 C9 */ addi r4, r4, lbl_804744C9@l /* 803DAF58 003D6BB8 4C C6 31 82 */ crclr 6 /* 803DAF5C 003D6BBC 4B FF E9 41 */ bl func_803D989C /* 803DAF60 003D6BC0 A0 1D 00 04 */ lhz r0, 4(r29) /* 803DAF64 003D6BC4 60 00 20 00 */ ori r0, r0, 0x2000 /* 803DAF68 003D6BC8 B0 1D 00 04 */ sth r0, 4(r29) lbl_803DAF6C: /* 803DAF6C 003D6BCC 7F A3 EB 78 */ mr r3, r29 /* 803DAF70 003D6BD0 7F C4 F3 78 */ mr r4, r30 /* 803DAF74 003D6BD4 7F E5 FB 78 */ mr r5, r31 /* 803DAF78 003D6BD8 48 00 00 1D */ bl func_803DAF94 /* 803DAF7C 003D6BDC 39 61 00 20 */ addi r11, r1, 0x20 /* 803DAF80 003D6BE0 4B DE C1 FD */ bl _restgpr_29 /* 803DAF84 003D6BE4 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DAF88 003D6BE8 7C 08 03 A6 */ mtlr r0 /* 803DAF8C 003D6BEC 38 21 00 20 */ addi r1, r1, 0x20 /* 803DAF90 003D6BF0 4E 80 00 20 */ blr .global func_803DAF94 func_803DAF94: /* 803DAF94 003D6BF4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803DAF98 003D6BF8 7C 08 02 A6 */ mflr r0 /* 803DAF9C 003D6BFC 90 01 00 34 */ stw r0, 0x34(r1) /* 803DAFA0 003D6C00 39 61 00 30 */ addi r11, r1, 0x30 /* 803DAFA4 003D6C04 4B DE C1 7D */ bl _savegpr_25 /* 803DAFA8 003D6C08 7C 9A 23 78 */ mr r26, r4 /* 803DAFAC 003D6C0C 80 83 00 00 */ lwz r4, 0(r3) /* 803DAFB0 003D6C10 7C BE 2B 78 */ mr r30, r5 /* 803DAFB4 003D6C14 7C 79 1B 78 */ mr r25, r3 /* 803DAFB8 003D6C18 3B E0 00 00 */ li r31, 0 /* 803DAFBC 003D6C1C 38 A0 00 00 */ li r5, 0 /* 803DAFC0 003D6C20 48 00 21 F9 */ bl func_803DD1B8 /* 803DAFC4 003D6C24 80 99 00 00 */ lwz r4, 0(r25) /* 803DAFC8 003D6C28 7C 7C 1B 78 */ mr r28, r3 /* 803DAFCC 003D6C2C 7F 23 CB 78 */ mr r3, r25 /* 803DAFD0 003D6C30 38 A0 00 01 */ li r5, 1 /* 803DAFD4 003D6C34 48 00 21 E5 */ bl func_803DD1B8 /* 803DAFD8 003D6C38 80 99 00 00 */ lwz r4, 0(r25) /* 803DAFDC 003D6C3C 7C 7D 1B 78 */ mr r29, r3 /* 803DAFE0 003D6C40 7F 23 CB 78 */ mr r3, r25 /* 803DAFE4 003D6C44 38 A0 00 02 */ li r5, 2 /* 803DAFE8 003D6C48 48 00 21 D1 */ bl func_803DD1B8 /* 803DAFEC 003D6C4C 80 99 00 00 */ lwz r4, 0(r25) /* 803DAFF0 003D6C50 7C 7B 1B 78 */ mr r27, r3 /* 803DAFF4 003D6C54 7F 23 CB 78 */ mr r3, r25 /* 803DAFF8 003D6C58 38 A0 00 03 */ li r5, 3 /* 803DAFFC 003D6C5C 48 00 21 BD */ bl func_803DD1B8 /* 803DB000 003D6C60 28 1A 00 B2 */ cmplwi r26, 0xb2 /* 803DB004 003D6C64 7C 64 1B 78 */ mr r4, r3 /* 803DB008 003D6C68 41 81 00 1C */ bgt lbl_803DB024 /* 803DB00C 003D6C6C 3C A0 80 47 */ lis r5, lbl_8047450C@ha /* 803DB010 003D6C70 57 40 10 3A */ slwi r0, r26, 2 /* 803DB014 003D6C74 38 A5 45 0C */ addi r5, r5, lbl_8047450C@l /* 803DB018 003D6C78 7C A5 00 2E */ lwzx r5, r5, r0 /* 803DB01C 003D6C7C 7C A9 03 A6 */ mtctr r5 /* 803DB020 003D6C80 4E 80 04 20 */ bctr lbl_803DB024: /* 803DB024 003D6C84 3B E0 00 00 */ li r31, 0 /* 803DB028 003D6C88 48 00 04 E0 */ b lbl_803DB508 /* 803DB02C 003D6C8C 83 F9 00 00 */ lwz r31, 0(r25) /* 803DB030 003D6C90 48 00 04 D8 */ b lbl_803DB508 /* 803DB034 003D6C94 A0 19 00 04 */ lhz r0, 4(r25) /* 803DB038 003D6C98 54 1F 8F FE */ rlwinm r31, r0, 0x11, 0x1f, 0x1f /* 803DB03C 003D6C9C 48 00 04 CC */ b lbl_803DB508 /* 803DB040 003D6CA0 A0 19 00 04 */ lhz r0, 4(r25) /* 803DB044 003D6CA4 54 1F 97 FE */ rlwinm r31, r0, 0x12, 0x1f, 0x1f /* 803DB048 003D6CA8 48 00 04 C0 */ b lbl_803DB508 /* 803DB04C 003D6CAC A0 19 00 04 */ lhz r0, 4(r25) /* 803DB050 003D6CB0 54 1F 9F FE */ rlwinm r31, r0, 0x13, 0x1f, 0x1f /* 803DB054 003D6CB4 48 00 04 B4 */ b lbl_803DB508 /* 803DB058 003D6CB8 A3 F9 00 06 */ lhz r31, 6(r25) /* 803DB05C 003D6CBC 48 00 04 AC */ b lbl_803DB508 /* 803DB060 003D6CC0 A0 7C 00 00 */ lhz r3, 0(r28) /* 803DB064 003D6CC4 30 03 FF FF */ addic r0, r3, -1 /* 803DB068 003D6CC8 7F E0 19 10 */ subfe r31, r0, r3 /* 803DB06C 003D6CCC 48 00 04 9C */ b lbl_803DB508 /* 803DB070 003D6CD0 A0 19 00 04 */ lhz r0, 4(r25) /* 803DB074 003D6CD4 54 1F 9F FF */ rlwinm. r31, r0, 0x13, 0x1f, 0x1f /* 803DB078 003D6CD8 41 82 00 08 */ beq lbl_803DB080 /* 803DB07C 003D6CDC 48 00 04 8C */ b lbl_803DB508 lbl_803DB080: /* 803DB080 003D6CE0 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803DB084 003D6CE4 54 1F FF FE */ rlwinm r31, r0, 0x1f, 0x1f, 0x1f /* 803DB088 003D6CE8 48 00 04 80 */ b lbl_803DB508 /* 803DB08C 003D6CEC A3 FC 00 00 */ lhz r31, 0(r28) /* 803DB090 003D6CF0 2C 1F 00 00 */ cmpwi r31, 0 /* 803DB094 003D6CF4 41 82 04 74 */ beq lbl_803DB508 /* 803DB098 003D6CF8 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803DB09C 003D6CFC 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 803DB0A0 003D6D00 40 82 00 10 */ bne lbl_803DB0B0 /* 803DB0A4 003D6D04 A0 19 00 04 */ lhz r0, 4(r25) /* 803DB0A8 003D6D08 54 00 9F FF */ rlwinm. r0, r0, 0x13, 0x1f, 0x1f /* 803DB0AC 003D6D0C 41 82 04 5C */ beq lbl_803DB508 lbl_803DB0B0: /* 803DB0B0 003D6D10 3B E0 01 EE */ li r31, 0x1ee /* 803DB0B4 003D6D14 48 00 04 54 */ b lbl_803DB508 /* 803DB0B8 003D6D18 A0 7C 00 00 */ lhz r3, 0(r28) /* 803DB0BC 003D6D1C 80 9C 00 08 */ lwz r4, 8(r28) /* 803DB0C0 003D6D20 48 00 0B 49 */ bl func_803DBC08 /* 803DB0C4 003D6D24 7C 7F 1B 78 */ mr r31, r3 /* 803DB0C8 003D6D28 48 00 04 40 */ b lbl_803DB508 /* 803DB0CC 003D6D2C A0 19 00 04 */ lhz r0, 4(r25) /* 803DB0D0 003D6D30 54 00 9F FF */ rlwinm. r0, r0, 0x13, 0x1f, 0x1f /* 803DB0D4 003D6D34 41 82 00 0C */ beq lbl_803DB0E0 /* 803DB0D8 003D6D38 3B E0 01 EE */ li r31, 0x1ee /* 803DB0DC 003D6D3C 48 00 04 2C */ b lbl_803DB508 lbl_803DB0E0: /* 803DB0E0 003D6D40 A3 FC 00 00 */ lhz r31, 0(r28) /* 803DB0E4 003D6D44 48 00 04 24 */ b lbl_803DB508 /* 803DB0E8 003D6D48 A3 FC 00 02 */ lhz r31, 2(r28) /* 803DB0EC 003D6D4C 48 00 04 1C */ b lbl_803DB508 /* 803DB0F0 003D6D50 83 FC 00 04 */ lwz r31, 4(r28) /* 803DB0F4 003D6D54 48 00 04 14 */ b lbl_803DB508 /* 803DB0F8 003D6D58 83 FC 00 08 */ lwz r31, 8(r28) /* 803DB0FC 003D6D5C 48 00 04 0C */ b lbl_803DB508 /* 803DB100 003D6D60 8B FC 00 0C */ lbz r31, 0xc(r28) /* 803DB104 003D6D64 48 00 04 04 */ b lbl_803DB508 /* 803DB108 003D6D68 8B FC 00 0D */ lbz r31, 0xd(r28) /* 803DB10C 003D6D6C 48 00 03 FC */ b lbl_803DB508 /* 803DB110 003D6D70 8B FC 00 0E */ lbz r31, 0xe(r28) /* 803DB114 003D6D74 48 00 03 F4 */ b lbl_803DB508 /* 803DB118 003D6D78 8B FC 00 0F */ lbz r31, 0xf(r28) /* 803DB11C 003D6D7C 48 00 03 EC */ b lbl_803DB508 /* 803DB120 003D6D80 8B FC 00 10 */ lbz r31, 0x10(r28) /* 803DB124 003D6D84 48 00 03 E4 */ b lbl_803DB508 /* 803DB128 003D6D88 8B FC 00 11 */ lbz r31, 0x11(r28) /* 803DB12C 003D6D8C 48 00 03 DC */ b lbl_803DB508 /* 803DB130 003D6D90 8B FC 00 12 */ lbz r31, 0x12(r28) /* 803DB134 003D6D94 48 00 03 D4 */ b lbl_803DB508 /* 803DB138 003D6D98 8B FC 00 13 */ lbz r31, 0x13(r28) /* 803DB13C 003D6D9C 48 00 03 CC */ b lbl_803DB508 /* 803DB140 003D6DA0 8B FC 00 14 */ lbz r31, 0x14(r28) /* 803DB144 003D6DA4 48 00 03 C4 */ b lbl_803DB508 /* 803DB148 003D6DA8 8B FC 00 15 */ lbz r31, 0x15(r28) /* 803DB14C 003D6DAC 48 00 03 BC */ b lbl_803DB508 /* 803DB150 003D6DB0 8B FC 00 16 */ lbz r31, 0x16(r28) /* 803DB154 003D6DB4 48 00 03 B4 */ b lbl_803DB508 /* 803DB158 003D6DB8 8B FC 00 17 */ lbz r31, 0x17(r28) /* 803DB15C 003D6DBC 48 00 03 AC */ b lbl_803DB508 /* 803DB160 003D6DC0 8B FC 00 18 */ lbz r31, 0x18(r28) /* 803DB164 003D6DC4 48 00 03 A4 */ b lbl_803DB508 /* 803DB168 003D6DC8 8B FC 00 19 */ lbz r31, 0x19(r28) /* 803DB16C 003D6DCC 48 00 03 9C */ b lbl_803DB508 /* 803DB170 003D6DD0 8B FC 00 1A */ lbz r31, 0x1a(r28) /* 803DB174 003D6DD4 48 00 03 94 */ b lbl_803DB508 /* 803DB178 003D6DD8 8B FC 00 1B */ lbz r31, 0x1b(r28) /* 803DB17C 003D6DDC 48 00 03 8C */ b lbl_803DB508 /* 803DB180 003D6DE0 38 BA FF E7 */ addi r5, r26, -25 /* 803DB184 003D6DE4 38 80 00 01 */ li r4, 1 /* 803DB188 003D6DE8 38 60 00 00 */ li r3, 0 /* 803DB18C 003D6DEC 4B DE C4 15 */ bl __shl2i /* 803DB190 003D6DF0 80 1C 00 1C */ lwz r0, 0x1c(r28) /* 803DB194 003D6DF4 7C 03 20 38 */ and r3, r0, r4 /* 803DB198 003D6DF8 30 03 FF FF */ addic r0, r3, -1 /* 803DB19C 003D6DFC 7F E0 19 10 */ subfe r31, r0, r3 /* 803DB1A0 003D6E00 48 00 03 68 */ b lbl_803DB508 /* 803DB1A4 003D6E04 38 1A FF CA */ addi r0, r26, -54 /* 803DB1A8 003D6E08 54 00 08 3C */ slwi r0, r0, 1 /* 803DB1AC 003D6E0C 7F FD 02 2E */ lhzx r31, r29, r0 /* 803DB1B0 003D6E10 48 00 03 58 */ b lbl_803DB508 /* 803DB1B4 003D6E14 7C 7A EA 14 */ add r3, r26, r29 /* 803DB1B8 003D6E18 8B E3 FF CE */ lbz r31, -0x32(r3) /* 803DB1BC 003D6E1C 48 00 03 4C */ b lbl_803DB508 /* 803DB1C0 003D6E20 7C 7A EA 14 */ add r3, r26, r29 /* 803DB1C4 003D6E24 8B E3 FF CE */ lbz r31, -0x32(r3) /* 803DB1C8 003D6E28 48 00 03 40 */ b lbl_803DB508 /* 803DB1CC 003D6E2C 38 1A FF BE */ addi r0, r26, -66 /* 803DB1D0 003D6E30 7C 7A EA 14 */ add r3, r26, r29 /* 803DB1D4 003D6E34 54 00 08 3C */ slwi r0, r0, 1 /* 803DB1D8 003D6E38 88 83 FF CA */ lbz r4, -0x36(r3) /* 803DB1DC 003D6E3C 7C 7D 02 2E */ lhzx r3, r29, r0 /* 803DB1E0 003D6E40 48 00 38 81 */ bl func_803DEA60 /* 803DB1E4 003D6E44 54 7F 06 3E */ clrlwi r31, r3, 0x18 /* 803DB1E8 003D6E48 48 00 03 20 */ b lbl_803DB508 /* 803DB1EC 003D6E4C 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803DB1F0 003D6E50 54 1F 2E FE */ srwi r31, r0, 0x1b /* 803DB1F4 003D6E54 48 00 03 14 */ b lbl_803DB508 /* 803DB1F8 003D6E58 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803DB1FC 003D6E5C 54 1F 56 FE */ rlwinm r31, r0, 0xa, 0x1b, 0x1f /* 803DB200 003D6E60 48 00 03 08 */ b lbl_803DB508 /* 803DB204 003D6E64 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803DB208 003D6E68 54 1F 7E FE */ rlwinm r31, r0, 0xf, 0x1b, 0x1f /* 803DB20C 003D6E6C 48 00 02 FC */ b lbl_803DB508 /* 803DB210 003D6E70 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803DB214 003D6E74 54 1F A6 FE */ rlwinm r31, r0, 0x14, 0x1b, 0x1f /* 803DB218 003D6E78 48 00 02 F0 */ b lbl_803DB508 /* 803DB21C 003D6E7C 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803DB220 003D6E80 54 1F CE FE */ rlwinm r31, r0, 0x19, 0x1b, 0x1f /* 803DB224 003D6E84 48 00 02 E4 */ b lbl_803DB508 /* 803DB228 003D6E88 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803DB22C 003D6E8C 54 1F F6 FE */ rlwinm r31, r0, 0x1e, 0x1b, 0x1f /* 803DB230 003D6E90 48 00 02 D8 */ b lbl_803DB508 /* 803DB234 003D6E94 A0 19 00 04 */ lhz r0, 4(r25) /* 803DB238 003D6E98 54 1F 9F FF */ rlwinm. r31, r0, 0x13, 0x1f, 0x1f /* 803DB23C 003D6E9C 41 82 00 08 */ beq lbl_803DB244 /* 803DB240 003D6EA0 48 00 02 C8 */ b lbl_803DB508 lbl_803DB244: /* 803DB244 003D6EA4 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803DB248 003D6EA8 54 1F FF FE */ rlwinm r31, r0, 0x1f, 0x1f, 0x1f /* 803DB24C 003D6EAC 48 00 02 BC */ b lbl_803DB508 /* 803DB250 003D6EB0 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803DB254 003D6EB4 54 1F 07 FE */ clrlwi r31, r0, 0x1f /* 803DB258 003D6EB8 48 00 02 B0 */ b lbl_803DB508 /* 803DB25C 003D6EBC 38 BA FF B2 */ addi r5, r26, -78 /* 803DB260 003D6EC0 38 80 00 01 */ li r4, 1 /* 803DB264 003D6EC4 38 60 00 00 */ li r3, 0 /* 803DB268 003D6EC8 4B DE C3 39 */ bl __shl2i /* 803DB26C 003D6ECC 80 1D 00 14 */ lwz r0, 0x14(r29) /* 803DB270 003D6ED0 7C 03 20 38 */ and r3, r0, r4 /* 803DB274 003D6ED4 30 03 FF FF */ addic r0, r3, -1 /* 803DB278 003D6ED8 7F E0 19 10 */ subfe r31, r0, r3 /* 803DB27C 003D6EDC 48 00 02 8C */ b lbl_803DB508 /* 803DB280 003D6EE0 88 1D 00 18 */ lbz r0, 0x18(r29) /* 803DB284 003D6EE4 54 1F CF FE */ rlwinm r31, r0, 0x19, 0x1f, 0x1f /* 803DB288 003D6EE8 48 00 02 80 */ b lbl_803DB508 /* 803DB28C 003D6EEC 88 1D 00 18 */ lbz r0, 0x18(r29) /* 803DB290 003D6EF0 54 1F DF BE */ rlwinm r31, r0, 0x1b, 0x1e, 0x1f /* 803DB294 003D6EF4 48 00 02 74 */ b lbl_803DB508 /* 803DB298 003D6EF8 88 1D 00 18 */ lbz r0, 0x18(r29) /* 803DB29C 003D6EFC 54 1F 06 FE */ clrlwi r31, r0, 0x1b /* 803DB2A0 003D6F00 48 00 02 68 */ b lbl_803DB508 /* 803DB2A4 003D6F04 8B FD 00 19 */ lbz r31, 0x19(r29) /* 803DB2A8 003D6F08 48 00 02 60 */ b lbl_803DB508 /* 803DB2AC 003D6F0C A3 FD 00 1A */ lhz r31, 0x1a(r29) /* 803DB2B0 003D6F10 48 00 02 58 */ b lbl_803DB508 /* 803DB2B4 003D6F14 A0 19 00 04 */ lhz r0, 4(r25) /* 803DB2B8 003D6F18 54 00 9F FF */ rlwinm. r0, r0, 0x13, 0x1f, 0x1f /* 803DB2BC 003D6F1C 41 82 00 18 */ beq lbl_803DB2D4 /* 803DB2C0 003D6F20 7F C5 F3 78 */ mr r5, r30 /* 803DB2C4 003D6F24 38 60 01 EF */ li r3, 0x1ef /* 803DB2C8 003D6F28 38 80 00 00 */ li r4, 0 /* 803DB2CC 003D6F2C 48 00 4F 01 */ bl func_803E01CC /* 803DB2D0 003D6F30 48 00 02 38 */ b lbl_803DB508 lbl_803DB2D4: /* 803DB2D4 003D6F34 38 00 00 0A */ li r0, 0xa /* 803DB2D8 003D6F38 3B E0 00 00 */ li r31, 0 /* 803DB2DC 003D6F3C 38 60 00 00 */ li r3, 0 /* 803DB2E0 003D6F40 7C 09 03 A6 */ mtctr r0 lbl_803DB2E4: /* 803DB2E4 003D6F44 7C 1B 1A 2E */ lhzx r0, r27, r3 /* 803DB2E8 003D6F48 3B FF 00 01 */ addi r31, r31, 1 /* 803DB2EC 003D6F4C 7C 1E 1B 2E */ sthx r0, r30, r3 /* 803DB2F0 003D6F50 38 63 00 02 */ addi r3, r3, 2 /* 803DB2F4 003D6F54 42 00 FF F0 */ bdnz lbl_803DB2E4 /* 803DB2F8 003D6F58 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 803DB2FC 003D6F5C 57 E0 08 3C */ slwi r0, r31, 1 /* 803DB300 003D6F60 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l /* 803DB304 003D6F64 7C 7E 03 2E */ sthx r3, r30, r0 /* 803DB308 003D6F68 48 00 02 00 */ b lbl_803DB508 /* 803DB30C 003D6F6C 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803DB310 003D6F70 54 1F 07 FE */ clrlwi r31, r0, 0x1f /* 803DB314 003D6F74 A0 19 00 04 */ lhz r0, 4(r25) /* 803DB318 003D6F78 54 00 9F FF */ rlwinm. r0, r0, 0x13, 0x1f, 0x1f /* 803DB31C 003D6F7C 41 82 00 2C */ beq lbl_803DB348 /* 803DB320 003D6F80 38 60 01 EF */ li r3, 0x1ef /* 803DB324 003D6F84 38 80 00 00 */ li r4, 0 /* 803DB328 003D6F88 48 00 42 29 */ bl func_803DF550 /* 803DB32C 003D6F8C 7C 7B 1B 78 */ mr r27, r3 /* 803DB330 003D6F90 7F C3 F3 78 */ mr r3, r30 /* 803DB334 003D6F94 7F 64 DB 78 */ mr r4, r27 /* 803DB338 003D6F98 48 00 3D 29 */ bl func_803DF060 /* 803DB33C 003D6F9C 7F 63 DB 78 */ mr r3, r27 /* 803DB340 003D6FA0 48 00 3C F9 */ bl func_803DF038 /* 803DB344 003D6FA4 48 00 01 C4 */ b lbl_803DB508 lbl_803DB348: /* 803DB348 003D6FA8 7F C3 F3 78 */ mr r3, r30 /* 803DB34C 003D6FAC 7F 64 DB 78 */ mr r4, r27 /* 803DB350 003D6FB0 48 00 3F 2D */ bl func_803DF27C /* 803DB354 003D6FB4 48 00 01 B4 */ b lbl_803DB508 /* 803DB358 003D6FB8 8B FB 00 16 */ lbz r31, 0x16(r27) /* 803DB35C 003D6FBC 48 00 01 AC */ b lbl_803DB508 /* 803DB360 003D6FC0 8B FB 00 17 */ lbz r31, 0x17(r27) /* 803DB364 003D6FC4 48 00 01 A4 */ b lbl_803DB508 /* 803DB368 003D6FC8 38 BA FF 86 */ addi r5, r26, -122 /* 803DB36C 003D6FCC 38 80 00 01 */ li r4, 1 /* 803DB370 003D6FD0 38 60 00 00 */ li r3, 0 /* 803DB374 003D6FD4 4B DE C2 2D */ bl __shl2i /* 803DB378 003D6FD8 80 1B 00 18 */ lwz r0, 0x18(r27) /* 803DB37C 003D6FDC 80 BB 00 1C */ lwz r5, 0x1c(r27) /* 803DB380 003D6FE0 7C 00 18 38 */ and r0, r0, r3 /* 803DB384 003D6FE4 7C A3 20 38 */ and r3, r5, r4 /* 803DB388 003D6FE8 7C 60 03 78 */ or r0, r3, r0 /* 803DB38C 003D6FEC 30 60 FF FF */ addic r3, r0, -1 /* 803DB390 003D6FF0 7F E3 01 10 */ subfe r31, r3, r0 /* 803DB394 003D6FF4 48 00 01 74 */ b lbl_803DB508 /* 803DB398 003D6FF8 38 00 00 07 */ li r0, 7 /* 803DB39C 003D6FFC 3B E0 00 00 */ li r31, 0 /* 803DB3A0 003D7000 38 80 00 00 */ li r4, 0 /* 803DB3A4 003D7004 7C 09 03 A6 */ mtctr r0 lbl_803DB3A8: /* 803DB3A8 003D7008 7C 03 22 2E */ lhzx r0, r3, r4 /* 803DB3AC 003D700C 3B FF 00 01 */ addi r31, r31, 1 /* 803DB3B0 003D7010 7C 1E 23 2E */ sthx r0, r30, r4 /* 803DB3B4 003D7014 38 84 00 02 */ addi r4, r4, 2 /* 803DB3B8 003D7018 42 00 FF F0 */ bdnz lbl_803DB3A8 /* 803DB3BC 003D701C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 803DB3C0 003D7020 57 E0 08 3C */ slwi r0, r31, 1 /* 803DB3C4 003D7024 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l /* 803DB3C8 003D7028 7C 7E 03 2E */ sthx r3, r30, r0 /* 803DB3CC 003D702C 48 00 01 3C */ b lbl_803DB508 /* 803DB3D0 003D7030 7F C3 F3 78 */ mr r3, r30 /* 803DB3D4 003D7034 48 00 3E A9 */ bl func_803DF27C /* 803DB3D8 003D7038 48 00 01 30 */ b lbl_803DB508 /* 803DB3DC 003D703C 8B E3 00 10 */ lbz r31, 0x10(r3) /* 803DB3E0 003D7040 48 00 01 28 */ b lbl_803DB508 /* 803DB3E4 003D7044 8B E3 00 11 */ lbz r31, 0x11(r3) /* 803DB3E8 003D7048 48 00 01 20 */ b lbl_803DB508 /* 803DB3EC 003D704C 8B E3 00 12 */ lbz r31, 0x12(r3) /* 803DB3F0 003D7050 48 00 01 18 */ b lbl_803DB508 /* 803DB3F4 003D7054 8B E3 00 13 */ lbz r31, 0x13(r3) /* 803DB3F8 003D7058 48 00 01 10 */ b lbl_803DB508 /* 803DB3FC 003D705C 8B E3 00 14 */ lbz r31, 0x14(r3) /* 803DB400 003D7060 48 00 01 08 */ b lbl_803DB508 /* 803DB404 003D7064 8B E3 00 15 */ lbz r31, 0x15(r3) /* 803DB408 003D7068 48 00 01 00 */ b lbl_803DB508 /* 803DB40C 003D706C A3 E3 00 16 */ lhz r31, 0x16(r3) /* 803DB410 003D7070 48 00 00 F8 */ b lbl_803DB508 /* 803DB414 003D7074 A3 E3 00 18 */ lhz r31, 0x18(r3) /* 803DB418 003D7078 48 00 00 F0 */ b lbl_803DB508 /* 803DB41C 003D707C 8B E3 00 1A */ lbz r31, 0x1a(r3) /* 803DB420 003D7080 48 00 00 E8 */ b lbl_803DB508 /* 803DB424 003D7084 8B E3 00 1B */ lbz r31, 0x1b(r3) /* 803DB428 003D7088 48 00 00 E0 */ b lbl_803DB508 /* 803DB42C 003D708C 88 03 00 1C */ lbz r0, 0x1c(r3) /* 803DB430 003D7090 54 1F FE 7E */ rlwinm r31, r0, 0x1f, 0x19, 0x1f /* 803DB434 003D7094 48 00 00 D4 */ b lbl_803DB508 /* 803DB438 003D7098 88 03 00 1C */ lbz r0, 0x1c(r3) /* 803DB43C 003D709C 54 1F 07 FE */ clrlwi r31, r0, 0x1f /* 803DB440 003D70A0 48 00 00 C8 */ b lbl_803DB508 /* 803DB444 003D70A4 8B E3 00 1D */ lbz r31, 0x1d(r3) /* 803DB448 003D70A8 48 00 00 C0 */ b lbl_803DB508 /* 803DB44C 003D70AC A3 E3 00 1E */ lhz r31, 0x1e(r3) /* 803DB450 003D70B0 48 00 00 B8 */ b lbl_803DB508 /* 803DB454 003D70B4 80 9D 00 10 */ lwz r4, 0x10(r29) /* 803DB458 003D70B8 54 83 1B 20 */ rlwinm r3, r4, 3, 0xc, 0x10 /* 803DB45C 003D70BC 54 80 2E FE */ srwi r0, r4, 0x1b /* 803DB460 003D70C0 50 80 7D B4 */ rlwimi r0, r4, 0xf, 0x16, 0x1a /* 803DB464 003D70C4 50 83 69 D6 */ rlwimi r3, r4, 0xd, 7, 0xb /* 803DB468 003D70C8 50 80 CC 6A */ rlwimi r0, r4, 0x19, 0x11, 0x15 /* 803DB46C 003D70CC 7C 7F 03 78 */ or r31, r3, r0 /* 803DB470 003D70D0 50 9F B8 8C */ rlwimi r31, r4, 0x17, 2, 6 /* 803DB474 003D70D4 48 00 00 94 */ b lbl_803DB508 /* 803DB478 003D70D8 A0 1C 00 00 */ lhz r0, 0(r28) /* 803DB47C 003D70DC 28 00 00 1D */ cmplwi r0, 0x1d /* 803DB480 003D70E0 41 82 00 0C */ beq lbl_803DB48C /* 803DB484 003D70E4 28 00 00 20 */ cmplwi r0, 0x20 /* 803DB488 003D70E8 40 82 00 18 */ bne lbl_803DB4A0 lbl_803DB48C: /* 803DB48C 003D70EC 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803DB490 003D70F0 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 803DB494 003D70F4 40 82 00 0C */ bne lbl_803DB4A0 /* 803DB498 003D70F8 3B E0 00 00 */ li r31, 0 /* 803DB49C 003D70FC 48 00 00 6C */ b lbl_803DB508 lbl_803DB4A0: /* 803DB4A0 003D7100 3B E0 00 01 */ li r31, 1 /* 803DB4A4 003D7104 48 00 00 64 */ b lbl_803DB508 /* 803DB4A8 003D7108 A0 7C 00 00 */ lhz r3, 0(r28) /* 803DB4AC 003D710C 28 03 01 ED */ cmplwi r3, 0x1ed /* 803DB4B0 003D7110 40 82 00 30 */ bne lbl_803DB4E0 /* 803DB4B4 003D7114 88 1C 00 0D */ lbz r0, 0xd(r28) /* 803DB4B8 003D7118 28 00 00 79 */ cmplwi r0, 0x79 /* 803DB4BC 003D711C 40 82 00 24 */ bne lbl_803DB4E0 /* 803DB4C0 003D7120 A0 7C 00 02 */ lhz r3, 2(r28) /* 803DB4C4 003D7124 38 80 00 01 */ li r4, 1 /* 803DB4C8 003D7128 38 A0 00 00 */ li r5, 0 /* 803DB4CC 003D712C 4B FF DD 3D */ bl func_803D9208 /* 803DB4D0 003D7130 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 803DB4D4 003D7134 48 00 17 A1 */ bl func_803DCC74 /* 803DB4D8 003D7138 54 7F 06 3E */ clrlwi r31, r3, 0x18 /* 803DB4DC 003D713C 48 00 00 2C */ b lbl_803DB508 lbl_803DB4E0: /* 803DB4E0 003D7140 88 1D 00 18 */ lbz r0, 0x18(r29) /* 803DB4E4 003D7144 38 BA FF 56 */ addi r5, r26, -170 /* 803DB4E8 003D7148 54 04 06 FE */ clrlwi r4, r0, 0x1b /* 803DB4EC 003D714C 48 00 03 E1 */ bl func_803DB8CC /* 803DB4F0 003D7150 7C 7F 1B 78 */ mr r31, r3 /* 803DB4F4 003D7154 48 00 00 14 */ b lbl_803DB508 /* 803DB4F8 003D7158 A0 7C 00 00 */ lhz r3, 0(r28) /* 803DB4FC 003D715C 7F C5 F3 78 */ mr r5, r30 /* 803DB500 003D7160 38 80 00 00 */ li r4, 0 /* 803DB504 003D7164 48 00 4C C9 */ bl func_803E01CC lbl_803DB508: /* 803DB508 003D7168 39 61 00 30 */ addi r11, r1, 0x30 /* 803DB50C 003D716C 7F E3 FB 78 */ mr r3, r31 /* 803DB510 003D7170 4B DE BC 5D */ bl _restgpr_25 /* 803DB514 003D7174 80 01 00 34 */ lwz r0, 0x34(r1) /* 803DB518 003D7178 7C 08 03 A6 */ mtlr r0 /* 803DB51C 003D717C 38 21 00 30 */ addi r1, r1, 0x30 /* 803DB520 003D7180 4E 80 00 20 */ blr .global func_803DB524 func_803DB524: /* 803DB524 003D7184 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DB528 003D7188 7C 08 02 A6 */ mflr r0 /* 803DB52C 003D718C 90 01 00 24 */ stw r0, 0x24(r1) /* 803DB530 003D7190 39 61 00 20 */ addi r11, r1, 0x20 /* 803DB534 003D7194 4B DE BB FD */ bl _savegpr_29 /* 803DB538 003D7198 A0 03 00 04 */ lhz r0, 4(r3) /* 803DB53C 003D719C 7C 7F 1B 78 */ mr r31, r3 /* 803DB540 003D71A0 7C 9D 23 78 */ mr r29, r4 /* 803DB544 003D71A4 7C BE 2B 78 */ mr r30, r5 /* 803DB548 003D71A8 54 00 8F FF */ rlwinm. r0, r0, 0x11, 0x1f, 0x1f /* 803DB54C 003D71AC 40 82 00 4C */ bne lbl_803DB598 /* 803DB550 003D71B0 38 80 00 80 */ li r4, 0x80 /* 803DB554 003D71B4 38 63 00 08 */ addi r3, r3, 8 /* 803DB558 003D71B8 48 00 1C 31 */ bl GetChecksumRental /* 803DB55C 003D71BC A0 9F 00 06 */ lhz r4, 6(r31) /* 803DB560 003D71C0 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DB564 003D71C4 7C 00 20 40 */ cmplw r0, r4 /* 803DB568 003D71C8 41 82 00 30 */ beq lbl_803DB598 /* 803DB56C 003D71CC 7C 00 20 50 */ subf r0, r0, r4 /* 803DB570 003D71D0 3C 80 80 47 */ lis r4, lbl_804744C9@ha /* 803DB574 003D71D4 7C 00 00 34 */ cntlzw r0, r0 /* 803DB578 003D71D8 54 03 D9 7E */ srwi r3, r0, 5 /* 803DB57C 003D71DC 38 84 44 C9 */ addi r4, r4, lbl_804744C9@l /* 803DB580 003D71E0 4C C6 31 82 */ crclr 6 /* 803DB584 003D71E4 4B FF E3 19 */ bl func_803D989C /* 803DB588 003D71E8 A0 1F 00 04 */ lhz r0, 4(r31) /* 803DB58C 003D71EC 60 00 20 00 */ ori r0, r0, 0x2000 /* 803DB590 003D71F0 B0 1F 00 04 */ sth r0, 4(r31) /* 803DB594 003D71F4 48 00 00 CC */ b lbl_803DB660 lbl_803DB598: /* 803DB598 003D71F8 38 1D FF 61 */ addi r0, r29, -159 /* 803DB59C 003D71FC 28 00 00 0B */ cmplwi r0, 0xb /* 803DB5A0 003D7200 41 81 00 94 */ bgt lbl_803DB634 /* 803DB5A4 003D7204 3C 60 80 47 */ lis r3, lbl_804747D8@ha /* 803DB5A8 003D7208 54 00 10 3A */ slwi r0, r0, 2 /* 803DB5AC 003D720C 38 63 47 D8 */ addi r3, r3, lbl_804747D8@l /* 803DB5B0 003D7210 7C 63 00 2E */ lwzx r3, r3, r0 /* 803DB5B4 003D7214 7C 69 03 A6 */ mtctr r3 /* 803DB5B8 003D7218 4E 80 04 20 */ bctr /* 803DB5BC 003D721C 80 1E 00 00 */ lwz r0, 0(r30) /* 803DB5C0 003D7220 90 1F 00 88 */ stw r0, 0x88(r31) /* 803DB5C4 003D7224 48 00 00 80 */ b lbl_803DB644 /* 803DB5C8 003D7228 88 1E 00 03 */ lbz r0, 3(r30) /* 803DB5CC 003D722C 98 1F 00 8C */ stb r0, 0x8c(r31) /* 803DB5D0 003D7230 48 00 00 74 */ b lbl_803DB644 /* 803DB5D4 003D7234 88 1E 00 03 */ lbz r0, 3(r30) /* 803DB5D8 003D7238 98 1F 00 8D */ stb r0, 0x8d(r31) /* 803DB5DC 003D723C 48 00 00 68 */ b lbl_803DB644 /* 803DB5E0 003D7240 A0 1E 00 02 */ lhz r0, 2(r30) /* 803DB5E4 003D7244 B0 1F 00 8E */ sth r0, 0x8e(r31) /* 803DB5E8 003D7248 48 00 00 5C */ b lbl_803DB644 /* 803DB5EC 003D724C A0 1E 00 02 */ lhz r0, 2(r30) /* 803DB5F0 003D7250 B0 1F 00 90 */ sth r0, 0x90(r31) /* 803DB5F4 003D7254 48 00 00 50 */ b lbl_803DB644 /* 803DB5F8 003D7258 A0 1E 00 02 */ lhz r0, 2(r30) /* 803DB5FC 003D725C B0 1F 00 92 */ sth r0, 0x92(r31) /* 803DB600 003D7260 48 00 00 44 */ b lbl_803DB644 /* 803DB604 003D7264 A0 1E 00 02 */ lhz r0, 2(r30) /* 803DB608 003D7268 B0 1F 00 94 */ sth r0, 0x94(r31) /* 803DB60C 003D726C 48 00 00 38 */ b lbl_803DB644 /* 803DB610 003D7270 A0 1E 00 02 */ lhz r0, 2(r30) /* 803DB614 003D7274 B0 1F 00 96 */ sth r0, 0x96(r31) /* 803DB618 003D7278 48 00 00 2C */ b lbl_803DB644 /* 803DB61C 003D727C A0 1E 00 02 */ lhz r0, 2(r30) /* 803DB620 003D7280 B0 1F 00 98 */ sth r0, 0x98(r31) /* 803DB624 003D7284 48 00 00 20 */ b lbl_803DB644 /* 803DB628 003D7288 A0 1E 00 02 */ lhz r0, 2(r30) /* 803DB62C 003D728C B0 1F 00 9A */ sth r0, 0x9a(r31) /* 803DB630 003D7290 48 00 00 14 */ b lbl_803DB644 lbl_803DB634: /* 803DB634 003D7294 7F E3 FB 78 */ mr r3, r31 /* 803DB638 003D7298 7F A4 EB 78 */ mr r4, r29 /* 803DB63C 003D729C 7F C5 F3 78 */ mr r5, r30 /* 803DB640 003D72A0 48 00 24 B9 */ bl func_803DDAF8 lbl_803DB644: /* 803DB644 003D72A4 A0 1F 00 04 */ lhz r0, 4(r31) /* 803DB648 003D72A8 54 00 8F FF */ rlwinm. r0, r0, 0x11, 0x1f, 0x1f /* 803DB64C 003D72AC 40 82 00 14 */ bne lbl_803DB660 /* 803DB650 003D72B0 38 7F 00 08 */ addi r3, r31, 8 /* 803DB654 003D72B4 38 80 00 80 */ li r4, 0x80 /* 803DB658 003D72B8 48 00 1B 31 */ bl GetChecksumRental /* 803DB65C 003D72BC B0 7F 00 06 */ sth r3, 6(r31) lbl_803DB660: /* 803DB660 003D72C0 39 61 00 20 */ addi r11, r1, 0x20 /* 803DB664 003D72C4 4B DE BB 19 */ bl _restgpr_29 /* 803DB668 003D72C8 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DB66C 003D72CC 7C 08 03 A6 */ mtlr r0 /* 803DB670 003D72D0 38 21 00 20 */ addi r1, r1, 0x20 /* 803DB674 003D72D4 4E 80 00 20 */ blr .global func_803DB678 func_803DB678: /* 803DB678 003D72D8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DB67C 003D72DC 7C 08 02 A6 */ mflr r0 /* 803DB680 003D72E0 90 01 00 24 */ stw r0, 0x24(r1) /* 803DB684 003D72E4 39 61 00 20 */ addi r11, r1, 0x20 /* 803DB688 003D72E8 4B DE BA A9 */ bl _savegpr_29 /* 803DB68C 003D72EC A0 03 00 04 */ lhz r0, 4(r3) /* 803DB690 003D72F0 7C 7D 1B 78 */ mr r29, r3 /* 803DB694 003D72F4 7C 9E 23 78 */ mr r30, r4 /* 803DB698 003D72F8 7C BF 2B 78 */ mr r31, r5 /* 803DB69C 003D72FC 54 00 97 FF */ rlwinm. r0, r0, 0x12, 0x1f, 0x1f /* 803DB6A0 003D7300 40 82 00 4C */ bne lbl_803DB6EC /* 803DB6A4 003D7304 38 80 00 80 */ li r4, 0x80 /* 803DB6A8 003D7308 38 63 00 08 */ addi r3, r3, 8 /* 803DB6AC 003D730C 48 00 1A DD */ bl GetChecksumRental /* 803DB6B0 003D7310 A0 9D 00 06 */ lhz r4, 6(r29) /* 803DB6B4 003D7314 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DB6B8 003D7318 7C 00 20 40 */ cmplw r0, r4 /* 803DB6BC 003D731C 41 82 00 30 */ beq lbl_803DB6EC /* 803DB6C0 003D7320 7C 00 20 50 */ subf r0, r0, r4 /* 803DB6C4 003D7324 3C 80 80 47 */ lis r4, lbl_804744C9@ha /* 803DB6C8 003D7328 7C 00 00 34 */ cntlzw r0, r0 /* 803DB6CC 003D732C 54 03 D9 7E */ srwi r3, r0, 5 /* 803DB6D0 003D7330 38 84 44 C9 */ addi r4, r4, lbl_804744C9@l /* 803DB6D4 003D7334 4C C6 31 82 */ crclr 6 /* 803DB6D8 003D7338 4B FF E1 C5 */ bl func_803D989C /* 803DB6DC 003D733C A0 1D 00 04 */ lhz r0, 4(r29) /* 803DB6E0 003D7340 60 00 20 00 */ ori r0, r0, 0x2000 /* 803DB6E4 003D7344 B0 1D 00 04 */ sth r0, 4(r29) /* 803DB6E8 003D7348 48 00 00 30 */ b lbl_803DB718 lbl_803DB6EC: /* 803DB6EC 003D734C 7F A3 EB 78 */ mr r3, r29 /* 803DB6F0 003D7350 7F C4 F3 78 */ mr r4, r30 /* 803DB6F4 003D7354 7F E5 FB 78 */ mr r5, r31 /* 803DB6F8 003D7358 48 00 24 01 */ bl func_803DDAF8 /* 803DB6FC 003D735C A0 1D 00 04 */ lhz r0, 4(r29) /* 803DB700 003D7360 54 00 97 FF */ rlwinm. r0, r0, 0x12, 0x1f, 0x1f /* 803DB704 003D7364 40 82 00 14 */ bne lbl_803DB718 /* 803DB708 003D7368 38 7D 00 08 */ addi r3, r29, 8 /* 803DB70C 003D736C 38 80 00 80 */ li r4, 0x80 /* 803DB710 003D7370 48 00 1A 79 */ bl GetChecksumRental /* 803DB714 003D7374 B0 7D 00 06 */ sth r3, 6(r29) lbl_803DB718: /* 803DB718 003D7378 39 61 00 20 */ addi r11, r1, 0x20 /* 803DB71C 003D737C 4B DE BA 61 */ bl _restgpr_29 /* 803DB720 003D7380 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DB724 003D7384 7C 08 03 A6 */ mtlr r0 /* 803DB728 003D7388 38 21 00 20 */ addi r1, r1, 0x20 /* 803DB72C 003D738C 4E 80 00 20 */ blr .global func_803DB730 func_803DB730: /* 803DB730 003D7390 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DB734 003D7394 7C 08 02 A6 */ mflr r0 /* 803DB738 003D7398 90 01 00 14 */ stw r0, 0x14(r1) /* 803DB73C 003D739C 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DB740 003D73A0 93 C1 00 08 */ stw r30, 8(r1) /* 803DB744 003D73A4 7C 7E 1B 78 */ mr r30, r3 /* 803DB748 003D73A8 7C 83 23 78 */ mr r3, r4 /* 803DB74C 003D73AC 38 80 00 2C */ li r4, 0x2c /* 803DB750 003D73B0 4B D9 28 21 */ bl func_8016DF70 /* 803DB754 003D73B4 7C 7F 1B 78 */ mr r31, r3 /* 803DB758 003D73B8 7F C3 F3 78 */ mr r3, r30 /* 803DB75C 003D73BC 7F E4 FB 78 */ mr r4, r31 /* 803DB760 003D73C0 48 00 17 9D */ bl func_803DCEFC /* 803DB764 003D73C4 7F E3 FB 78 */ mr r3, r31 /* 803DB768 003D73C8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DB76C 003D73CC 83 C1 00 08 */ lwz r30, 8(r1) /* 803DB770 003D73D0 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DB774 003D73D4 7C 08 03 A6 */ mtlr r0 /* 803DB778 003D73D8 38 21 00 10 */ addi r1, r1, 0x10 /* 803DB77C 003D73DC 4E 80 00 20 */ blr .global func_803DB780 func_803DB780: /* 803DB780 003D73E0 28 04 00 20 */ cmplwi r4, 0x20 /* 803DB784 003D73E4 4D 81 00 20 */ bgtlr /* 803DB788 003D73E8 3C A0 80 47 */ lis r5, lbl_80474B18@ha /* 803DB78C 003D73EC 54 80 10 3A */ slwi r0, r4, 2 /* 803DB790 003D73F0 38 A5 4B 18 */ addi r5, r5, lbl_80474B18@l /* 803DB794 003D73F4 7C A5 00 2E */ lwzx r5, r5, r0 /* 803DB798 003D73F8 7C A9 03 A6 */ mtctr r5 /* 803DB79C 003D73FC 4E 80 04 20 */ bctr /* 803DB7A0 003D7400 88 63 00 00 */ lbz r3, 0(r3) /* 803DB7A4 003D7404 4E 80 00 20 */ blr /* 803DB7A8 003D7408 88 63 00 01 */ lbz r3, 1(r3) /* 803DB7AC 003D740C 4E 80 00 20 */ blr /* 803DB7B0 003D7410 88 63 00 02 */ lbz r3, 2(r3) /* 803DB7B4 003D7414 4E 80 00 20 */ blr /* 803DB7B8 003D7418 88 63 00 03 */ lbz r3, 3(r3) /* 803DB7BC 003D741C 4E 80 00 20 */ blr /* 803DB7C0 003D7420 88 63 00 04 */ lbz r3, 4(r3) /* 803DB7C4 003D7424 4E 80 00 20 */ blr /* 803DB7C8 003D7428 88 63 00 05 */ lbz r3, 5(r3) /* 803DB7CC 003D742C 4E 80 00 20 */ blr /* 803DB7D0 003D7430 88 63 00 06 */ lbz r3, 6(r3) /* 803DB7D4 003D7434 4E 80 00 20 */ blr /* 803DB7D8 003D7438 88 63 00 07 */ lbz r3, 7(r3) /* 803DB7DC 003D743C 4E 80 00 20 */ blr /* 803DB7E0 003D7440 88 63 00 08 */ lbz r3, 8(r3) /* 803DB7E4 003D7444 4E 80 00 20 */ blr /* 803DB7E8 003D7448 88 63 00 09 */ lbz r3, 9(r3) /* 803DB7EC 003D744C 4E 80 00 20 */ blr /* 803DB7F0 003D7450 A0 03 00 0A */ lhz r0, 0xa(r3) /* 803DB7F4 003D7454 54 03 97 BE */ rlwinm r3, r0, 0x12, 0x1e, 0x1f /* 803DB7F8 003D7458 4E 80 00 20 */ blr /* 803DB7FC 003D745C A0 03 00 0A */ lhz r0, 0xa(r3) /* 803DB800 003D7460 54 03 A7 BE */ rlwinm r3, r0, 0x14, 0x1e, 0x1f /* 803DB804 003D7464 4E 80 00 20 */ blr /* 803DB808 003D7468 A0 03 00 0A */ lhz r0, 0xa(r3) /* 803DB80C 003D746C 54 03 B7 BE */ rlwinm r3, r0, 0x16, 0x1e, 0x1f /* 803DB810 003D7470 4E 80 00 20 */ blr /* 803DB814 003D7474 A0 03 00 0A */ lhz r0, 0xa(r3) /* 803DB818 003D7478 54 03 C7 BE */ rlwinm r3, r0, 0x18, 0x1e, 0x1f /* 803DB81C 003D747C 4E 80 00 20 */ blr /* 803DB820 003D7480 A0 03 00 0A */ lhz r0, 0xa(r3) /* 803DB824 003D7484 54 03 D7 BE */ rlwinm r3, r0, 0x1a, 0x1e, 0x1f /* 803DB828 003D7488 4E 80 00 20 */ blr /* 803DB82C 003D748C A0 03 00 0A */ lhz r0, 0xa(r3) /* 803DB830 003D7490 54 03 E7 BE */ rlwinm r3, r0, 0x1c, 0x1e, 0x1f /* 803DB834 003D7494 4E 80 00 20 */ blr /* 803DB838 003D7498 A0 63 00 0C */ lhz r3, 0xc(r3) /* 803DB83C 003D749C 4E 80 00 20 */ blr /* 803DB840 003D74A0 A0 63 00 0E */ lhz r3, 0xe(r3) /* 803DB844 003D74A4 4E 80 00 20 */ blr /* 803DB848 003D74A8 88 63 00 10 */ lbz r3, 0x10(r3) /* 803DB84C 003D74AC 4E 80 00 20 */ blr /* 803DB850 003D74B0 88 63 00 11 */ lbz r3, 0x11(r3) /* 803DB854 003D74B4 4E 80 00 20 */ blr /* 803DB858 003D74B8 88 63 00 12 */ lbz r3, 0x12(r3) /* 803DB85C 003D74BC 4E 80 00 20 */ blr /* 803DB860 003D74C0 88 63 00 13 */ lbz r3, 0x13(r3) /* 803DB864 003D74C4 4E 80 00 20 */ blr /* 803DB868 003D74C8 88 63 00 14 */ lbz r3, 0x14(r3) /* 803DB86C 003D74CC 4E 80 00 20 */ blr /* 803DB870 003D74D0 88 63 00 15 */ lbz r3, 0x15(r3) /* 803DB874 003D74D4 4E 80 00 20 */ blr /* 803DB878 003D74D8 88 63 00 16 */ lbz r3, 0x16(r3) /* 803DB87C 003D74DC 4E 80 00 20 */ blr /* 803DB880 003D74E0 88 63 00 17 */ lbz r3, 0x17(r3) /* 803DB884 003D74E4 4E 80 00 20 */ blr /* 803DB888 003D74E8 88 63 00 18 */ lbz r3, 0x18(r3) /* 803DB88C 003D74EC 4E 80 00 20 */ blr /* 803DB890 003D74F0 88 03 00 19 */ lbz r0, 0x19(r3) /* 803DB894 003D74F4 54 03 FE 7E */ rlwinm r3, r0, 0x1f, 0x19, 0x1f /* 803DB898 003D74F8 4E 80 00 20 */ blr /* 803DB89C 003D74FC 88 03 00 19 */ lbz r0, 0x19(r3) /* 803DB8A0 003D7500 54 03 07 FE */ clrlwi r3, r0, 0x1f /* 803DB8A4 003D7504 4E 80 00 20 */ blr /* 803DB8A8 003D7508 80 63 00 1C */ lwz r3, 0x1c(r3) /* 803DB8AC 003D750C 4E 80 00 20 */ blr /* 803DB8B0 003D7510 80 63 00 20 */ lwz r3, 0x20(r3) /* 803DB8B4 003D7514 4E 80 00 20 */ blr /* 803DB8B8 003D7518 80 63 00 24 */ lwz r3, 0x24(r3) /* 803DB8BC 003D751C 4E 80 00 20 */ blr /* 803DB8C0 003D7520 80 63 00 28 */ lwz r3, 0x28(r3) /* 803DB8C4 003D7524 4E 80 00 20 */ blr .global func_803DB8C8 func_803DB8C8: /* 803DB8C8 003D7528 4B D9 27 D8 */ b func_8016E0A0 .global func_803DB8CC func_803DB8CC: /* 803DB8CC 003D752C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DB8D0 003D7530 7C 08 02 A6 */ mflr r0 /* 803DB8D4 003D7534 90 01 00 24 */ stw r0, 0x24(r1) /* 803DB8D8 003D7538 39 61 00 20 */ addi r11, r1, 0x20 /* 803DB8DC 003D753C 4B DE B8 55 */ bl _savegpr_29 /* 803DB8E0 003D7540 7C BE 2B 78 */ mr r30, r5 /* 803DB8E4 003D7544 48 00 1F F9 */ bl func_803DD8DC /* 803DB8E8 003D7548 7C 7D 1B 78 */ mr r29, r3 /* 803DB8EC 003D754C 38 60 00 00 */ li r3, 0 /* 803DB8F0 003D7550 38 80 00 2C */ li r4, 0x2c /* 803DB8F4 003D7554 4B D9 26 7D */ bl func_8016DF70 /* 803DB8F8 003D7558 7C 7F 1B 78 */ mr r31, r3 /* 803DB8FC 003D755C 7F A3 EB 78 */ mr r3, r29 /* 803DB900 003D7560 7F E4 FB 78 */ mr r4, r31 /* 803DB904 003D7564 48 00 15 F9 */ bl func_803DCEFC /* 803DB908 003D7568 7F E3 FB 78 */ mr r3, r31 /* 803DB90C 003D756C 7F C4 F3 78 */ mr r4, r30 /* 803DB910 003D7570 4B FF FE 71 */ bl func_803DB780 /* 803DB914 003D7574 7C 7E 1B 78 */ mr r30, r3 /* 803DB918 003D7578 7F E3 FB 78 */ mr r3, r31 /* 803DB91C 003D757C 4B D9 27 85 */ bl func_8016E0A0 /* 803DB920 003D7580 39 61 00 20 */ addi r11, r1, 0x20 /* 803DB924 003D7584 7F C3 F3 78 */ mr r3, r30 /* 803DB928 003D7588 4B DE B8 55 */ bl _restgpr_29 /* 803DB92C 003D758C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DB930 003D7590 7C 08 03 A6 */ mtlr r0 /* 803DB934 003D7594 38 21 00 20 */ addi r1, r1, 0x20 /* 803DB938 003D7598 4E 80 00 20 */ blr .global func_803DB93C func_803DB93C: /* 803DB93C 003D759C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DB940 003D75A0 7C 08 02 A6 */ mflr r0 /* 803DB944 003D75A4 90 01 00 24 */ stw r0, 0x24(r1) /* 803DB948 003D75A8 39 61 00 20 */ addi r11, r1, 0x20 /* 803DB94C 003D75AC 4B DE B7 E5 */ bl _savegpr_29 /* 803DB950 003D75B0 7C 7D 1B 78 */ mr r29, r3 /* 803DB954 003D75B4 7C 9E 23 78 */ mr r30, r4 /* 803DB958 003D75B8 38 60 00 00 */ li r3, 0 /* 803DB95C 003D75BC 38 80 00 2C */ li r4, 0x2c /* 803DB960 003D75C0 4B D9 26 11 */ bl func_8016DF70 /* 803DB964 003D75C4 7C 7F 1B 78 */ mr r31, r3 /* 803DB968 003D75C8 7F A3 EB 78 */ mr r3, r29 /* 803DB96C 003D75CC 7F E4 FB 78 */ mr r4, r31 /* 803DB970 003D75D0 48 00 15 8D */ bl func_803DCEFC /* 803DB974 003D75D4 7F E3 FB 78 */ mr r3, r31 /* 803DB978 003D75D8 7F C4 F3 78 */ mr r4, r30 /* 803DB97C 003D75DC 4B FF FE 05 */ bl func_803DB780 /* 803DB980 003D75E0 7C 7E 1B 78 */ mr r30, r3 /* 803DB984 003D75E4 7F E3 FB 78 */ mr r3, r31 /* 803DB988 003D75E8 4B D9 27 19 */ bl func_8016E0A0 /* 803DB98C 003D75EC 39 61 00 20 */ addi r11, r1, 0x20 /* 803DB990 003D75F0 7F C3 F3 78 */ mr r3, r30 /* 803DB994 003D75F4 4B DE B7 E9 */ bl _restgpr_29 /* 803DB998 003D75F8 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DB99C 003D75FC 7C 08 03 A6 */ mtlr r0 /* 803DB9A0 003D7600 38 21 00 20 */ addi r1, r1, 0x20 /* 803DB9A4 003D7604 4E 80 00 20 */ blr .global func_803DB9A8 func_803DB9A8: /* 803DB9A8 003D7608 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803DB9AC 003D760C 7C 08 02 A6 */ mflr r0 /* 803DB9B0 003D7610 90 01 00 34 */ stw r0, 0x34(r1) /* 803DB9B4 003D7614 39 61 00 30 */ addi r11, r1, 0x30 /* 803DB9B8 003D7618 4B DE B7 69 */ bl _savegpr_25 /* 803DB9BC 003D761C 7C 79 1B 78 */ mr r25, r3 /* 803DB9C0 003D7620 48 00 1F AD */ bl func_803DD96C /* 803DB9C4 003D7624 7C 7A 1B 78 */ mr r26, r3 /* 803DB9C8 003D7628 7F 23 CB 78 */ mr r3, r25 /* 803DB9CC 003D762C 38 80 00 05 */ li r4, 5 /* 803DB9D0 003D7630 38 A0 00 00 */ li r5, 0 /* 803DB9D4 003D7634 48 00 20 09 */ bl func_803DD9DC /* 803DB9D8 003D7638 54 7C 04 3E */ clrlwi r28, r3, 0x10 /* 803DB9DC 003D763C 7F 23 CB 78 */ mr r3, r25 /* 803DB9E0 003D7640 38 80 00 A0 */ li r4, 0xa0 /* 803DB9E4 003D7644 38 A0 00 00 */ li r5, 0 /* 803DB9E8 003D7648 48 00 1F F5 */ bl func_803DD9DC /* 803DB9EC 003D764C 54 7B 06 3E */ clrlwi r27, r3, 0x18 /* 803DB9F0 003D7650 38 60 00 00 */ li r3, 0 /* 803DB9F4 003D7654 38 80 00 2C */ li r4, 0x2c /* 803DB9F8 003D7658 4B D9 25 79 */ bl func_8016DF70 /* 803DB9FC 003D765C 7C 7E 1B 78 */ mr r30, r3 /* 803DBA00 003D7660 7F 83 E3 78 */ mr r3, r28 /* 803DBA04 003D7664 7F C4 F3 78 */ mr r4, r30 /* 803DBA08 003D7668 48 00 14 F5 */ bl func_803DCEFC /* 803DBA0C 003D766C 7F C3 F3 78 */ mr r3, r30 /* 803DBA10 003D7670 38 80 00 15 */ li r4, 0x15 /* 803DBA14 003D7674 4B FF FD 6D */ bl func_803DB780 /* 803DBA18 003D7678 7C 7D 1B 78 */ mr r29, r3 /* 803DBA1C 003D767C 7F C3 F3 78 */ mr r3, r30 /* 803DBA20 003D7680 4B D9 26 81 */ bl func_8016E0A0 /* 803DBA24 003D7684 7F A3 EB 78 */ mr r3, r29 /* 803DBA28 003D7688 7F 64 DB 78 */ mr r4, r27 /* 803DBA2C 003D768C 48 00 2D 01 */ bl func_803DE72C /* 803DBA30 003D7690 7C 7D 1B 78 */ mr r29, r3 /* 803DBA34 003D7694 38 60 00 00 */ li r3, 0 /* 803DBA38 003D7698 38 80 00 2C */ li r4, 0x2c /* 803DBA3C 003D769C 4B D9 25 35 */ bl func_8016DF70 /* 803DBA40 003D76A0 7C 7F 1B 78 */ mr r31, r3 /* 803DBA44 003D76A4 7F 83 E3 78 */ mr r3, r28 /* 803DBA48 003D76A8 7F E4 FB 78 */ mr r4, r31 /* 803DBA4C 003D76AC 48 00 14 B1 */ bl func_803DCEFC /* 803DBA50 003D76B0 7F E3 FB 78 */ mr r3, r31 /* 803DBA54 003D76B4 38 80 00 15 */ li r4, 0x15 /* 803DBA58 003D76B8 4B FF FD 29 */ bl func_803DB780 /* 803DBA5C 003D76BC 7C 7E 1B 78 */ mr r30, r3 /* 803DBA60 003D76C0 7F E3 FB 78 */ mr r3, r31 /* 803DBA64 003D76C4 4B D9 26 3D */ bl func_8016E0A0 /* 803DBA68 003D76C8 7F C3 F3 78 */ mr r3, r30 /* 803DBA6C 003D76CC 38 9B 00 01 */ addi r4, r27, 1 /* 803DBA70 003D76D0 48 00 2C BD */ bl func_803DE72C /* 803DBA74 003D76D4 7C 7E 1B 78 */ mr r30, r3 /* 803DBA78 003D76D8 7F 23 CB 78 */ mr r3, r25 /* 803DBA7C 003D76DC 38 80 00 08 */ li r4, 8 /* 803DBA80 003D76E0 38 A0 00 00 */ li r5, 0 /* 803DBA84 003D76E4 48 00 1F 59 */ bl func_803DD9DC /* 803DBA88 003D76E8 7C 7F 1B 78 */ mr r31, r3 /* 803DBA8C 003D76EC 7F 23 CB 78 */ mr r3, r25 /* 803DBA90 003D76F0 7F 44 D3 78 */ mr r4, r26 /* 803DBA94 003D76F4 4B FF E8 19 */ bl func_803DA2AC /* 803DBA98 003D76F8 7C 7D F8 50 */ subf r3, r29, r31 /* 803DBA9C 003D76FC 7C 1D F0 50 */ subf r0, r29, r30 /* 803DBAA0 003D7700 1C 63 00 64 */ mulli r3, r3, 0x64 /* 803DBAA4 003D7704 39 61 00 30 */ addi r11, r1, 0x30 /* 803DBAA8 003D7708 7C 03 03 96 */ divwu r0, r3, r0 /* 803DBAAC 003D770C 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 803DBAB0 003D7710 4B DE B6 BD */ bl _restgpr_25 /* 803DBAB4 003D7714 80 01 00 34 */ lwz r0, 0x34(r1) /* 803DBAB8 003D7718 7C 08 03 A6 */ mtlr r0 /* 803DBABC 003D771C 38 21 00 30 */ addi r1, r1, 0x30 /* 803DBAC0 003D7720 4E 80 00 20 */ blr .global func_803DBAC4 func_803DBAC4: /* 803DBAC4 003D7724 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DBAC8 003D7728 7C 08 02 A6 */ mflr r0 /* 803DBACC 003D772C 38 80 00 A0 */ li r4, 0xa0 /* 803DBAD0 003D7730 38 A0 00 00 */ li r5, 0 /* 803DBAD4 003D7734 90 01 00 14 */ stw r0, 0x14(r1) /* 803DBAD8 003D7738 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DBADC 003D773C 93 C1 00 08 */ stw r30, 8(r1) /* 803DBAE0 003D7740 7C 7E 1B 78 */ mr r30, r3 /* 803DBAE4 003D7744 48 00 1E F9 */ bl func_803DD9DC /* 803DBAE8 003D7748 7C 7F 1B 78 */ mr r31, r3 /* 803DBAEC 003D774C 7F C3 F3 78 */ mr r3, r30 /* 803DBAF0 003D7750 38 80 00 05 */ li r4, 5 /* 803DBAF4 003D7754 38 A0 00 00 */ li r5, 0 /* 803DBAF8 003D7758 48 00 1E E5 */ bl func_803DD9DC /* 803DBAFC 003D775C 7F E4 FB 78 */ mr r4, r31 /* 803DBB00 003D7760 48 00 00 1D */ bl func_803DBB1C /* 803DBB04 003D7764 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DBB08 003D7768 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DBB0C 003D776C 83 C1 00 08 */ lwz r30, 8(r1) /* 803DBB10 003D7770 7C 08 03 A6 */ mtlr r0 /* 803DBB14 003D7774 38 21 00 10 */ addi r1, r1, 0x10 /* 803DBB18 003D7778 4E 80 00 20 */ blr .global func_803DBB1C func_803DBB1C: /* 803DBB1C 003D777C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DBB20 003D7780 7C 08 02 A6 */ mflr r0 /* 803DBB24 003D7784 90 01 00 24 */ stw r0, 0x24(r1) /* 803DBB28 003D7788 39 61 00 20 */ addi r11, r1, 0x20 /* 803DBB2C 003D778C 4B DE B6 05 */ bl _savegpr_29 /* 803DBB30 003D7790 7C 7E 1B 78 */ mr r30, r3 /* 803DBB34 003D7794 7C 9D 23 78 */ mr r29, r4 /* 803DBB38 003D7798 38 60 00 00 */ li r3, 0 /* 803DBB3C 003D779C 38 80 00 2C */ li r4, 0x2c /* 803DBB40 003D77A0 4B D9 24 31 */ bl func_8016DF70 /* 803DBB44 003D77A4 7C 7F 1B 78 */ mr r31, r3 /* 803DBB48 003D77A8 7F C3 F3 78 */ mr r3, r30 /* 803DBB4C 003D77AC 7F E4 FB 78 */ mr r4, r31 /* 803DBB50 003D77B0 48 00 13 AD */ bl func_803DCEFC /* 803DBB54 003D77B4 7F E3 FB 78 */ mr r3, r31 /* 803DBB58 003D77B8 38 80 00 15 */ li r4, 0x15 /* 803DBB5C 003D77BC 4B FF FC 25 */ bl func_803DB780 /* 803DBB60 003D77C0 7C 7E 1B 78 */ mr r30, r3 /* 803DBB64 003D77C4 7F E3 FB 78 */ mr r3, r31 /* 803DBB68 003D77C8 4B D9 25 39 */ bl func_8016E0A0 /* 803DBB6C 003D77CC 7F C3 F3 78 */ mr r3, r30 /* 803DBB70 003D77D0 7F A4 EB 78 */ mr r4, r29 /* 803DBB74 003D77D4 48 00 2B B9 */ bl func_803DE72C /* 803DBB78 003D77D8 39 61 00 20 */ addi r11, r1, 0x20 /* 803DBB7C 003D77DC 4B DE B6 01 */ bl _restgpr_29 /* 803DBB80 003D77E0 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DBB84 003D77E4 7C 08 03 A6 */ mtlr r0 /* 803DBB88 003D77E8 38 21 00 20 */ addi r1, r1, 0x20 /* 803DBB8C 003D77EC 4E 80 00 20 */ blr .global func_803DBB90 func_803DBB90: /* 803DBB90 003D77F0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DBB94 003D77F4 7C 08 02 A6 */ mflr r0 /* 803DBB98 003D77F8 90 01 00 24 */ stw r0, 0x24(r1) /* 803DBB9C 003D77FC 39 61 00 20 */ addi r11, r1, 0x20 /* 803DBBA0 003D7800 4B DE B5 8D */ bl _savegpr_28 /* 803DBBA4 003D7804 7C 7C 1B 78 */ mr r28, r3 /* 803DBBA8 003D7808 4B FF E7 71 */ bl func_803DA318 /* 803DBBAC 003D780C 7C 7D 1B 78 */ mr r29, r3 /* 803DBBB0 003D7810 7F 83 E3 78 */ mr r3, r28 /* 803DBBB4 003D7814 38 80 00 05 */ li r4, 5 /* 803DBBB8 003D7818 38 A0 00 00 */ li r5, 0 /* 803DBBBC 003D781C 4B FF F3 41 */ bl func_803DAEFC /* 803DBBC0 003D7820 7C 7F 1B 78 */ mr r31, r3 /* 803DBBC4 003D7824 7F 83 E3 78 */ mr r3, r28 /* 803DBBC8 003D7828 38 80 00 08 */ li r4, 8 /* 803DBBCC 003D782C 38 A0 00 00 */ li r5, 0 /* 803DBBD0 003D7830 4B FF F3 2D */ bl func_803DAEFC /* 803DBBD4 003D7834 7C 7E 1B 78 */ mr r30, r3 /* 803DBBD8 003D7838 7F 83 E3 78 */ mr r3, r28 /* 803DBBDC 003D783C 7F A4 EB 78 */ mr r4, r29 /* 803DBBE0 003D7840 4B FF E7 5D */ bl func_803DA33C /* 803DBBE4 003D7844 7F C4 F3 78 */ mr r4, r30 /* 803DBBE8 003D7848 57 E3 04 3E */ clrlwi r3, r31, 0x10 /* 803DBBEC 003D784C 48 00 00 1D */ bl func_803DBC08 /* 803DBBF0 003D7850 39 61 00 20 */ addi r11, r1, 0x20 /* 803DBBF4 003D7854 4B DE B5 85 */ bl _restgpr_28 /* 803DBBF8 003D7858 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DBBFC 003D785C 7C 08 03 A6 */ mtlr r0 /* 803DBC00 003D7860 38 21 00 20 */ addi r1, r1, 0x20 /* 803DBC04 003D7864 4E 80 00 20 */ blr .global func_803DBC08 func_803DBC08: /* 803DBC08 003D7868 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DBC0C 003D786C 7C 08 02 A6 */ mflr r0 /* 803DBC10 003D7870 90 01 00 24 */ stw r0, 0x24(r1) /* 803DBC14 003D7874 39 61 00 20 */ addi r11, r1, 0x20 /* 803DBC18 003D7878 4B DE B5 19 */ bl _savegpr_29 /* 803DBC1C 003D787C 7C 7D 1B 78 */ mr r29, r3 /* 803DBC20 003D7880 7C 9E 23 78 */ mr r30, r4 /* 803DBC24 003D7884 38 60 00 00 */ li r3, 0 /* 803DBC28 003D7888 38 80 00 2C */ li r4, 0x2c /* 803DBC2C 003D788C 4B D9 23 45 */ bl func_8016DF70 /* 803DBC30 003D7890 7C 7F 1B 78 */ mr r31, r3 /* 803DBC34 003D7894 7F A3 EB 78 */ mr r3, r29 /* 803DBC38 003D7898 7F E4 FB 78 */ mr r4, r31 /* 803DBC3C 003D789C 48 00 12 C1 */ bl func_803DCEFC /* 803DBC40 003D78A0 7F E3 FB 78 */ mr r3, r31 /* 803DBC44 003D78A4 7F A4 EB 78 */ mr r4, r29 /* 803DBC48 003D78A8 7F C5 F3 78 */ mr r5, r30 /* 803DBC4C 003D78AC 48 00 00 2D */ bl func_803DBC78 /* 803DBC50 003D78B0 7C 7E 1B 78 */ mr r30, r3 /* 803DBC54 003D78B4 7F E3 FB 78 */ mr r3, r31 /* 803DBC58 003D78B8 4B D9 24 49 */ bl func_8016E0A0 /* 803DBC5C 003D78BC 39 61 00 20 */ addi r11, r1, 0x20 /* 803DBC60 003D78C0 7F C3 F3 78 */ mr r3, r30 /* 803DBC64 003D78C4 4B DE B5 19 */ bl _restgpr_29 /* 803DBC68 003D78C8 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DBC6C 003D78CC 7C 08 03 A6 */ mtlr r0 /* 803DBC70 003D78D0 38 21 00 20 */ addi r1, r1, 0x20 /* 803DBC74 003D78D4 4E 80 00 20 */ blr .global func_803DBC78 func_803DBC78: /* 803DBC78 003D78D8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DBC7C 003D78DC 7C 08 02 A6 */ mflr r0 /* 803DBC80 003D78E0 38 80 00 15 */ li r4, 0x15 /* 803DBC84 003D78E4 90 01 00 14 */ stw r0, 0x14(r1) /* 803DBC88 003D78E8 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DBC8C 003D78EC 93 C1 00 08 */ stw r30, 8(r1) /* 803DBC90 003D78F0 7C BE 2B 78 */ mr r30, r5 /* 803DBC94 003D78F4 4B FF FA ED */ bl func_803DB780 /* 803DBC98 003D78F8 3F E0 80 64 */ lis r31, lbl_8063D098@ha /* 803DBC9C 003D78FC 38 9F D0 98 */ addi r4, r31, lbl_8063D098@l /* 803DBCA0 003D7900 48 00 2A 01 */ bl func_803DE6A0 /* 803DBCA4 003D7904 38 00 00 64 */ li r0, 0x64 /* 803DBCA8 003D7908 38 9F D0 98 */ addi r4, r31, -12136 /* 803DBCAC 003D790C 38 A0 00 01 */ li r5, 1 /* 803DBCB0 003D7910 38 60 00 04 */ li r3, 4 /* 803DBCB4 003D7914 7C 09 03 A6 */ mtctr r0 lbl_803DBCB8: /* 803DBCB8 003D7918 7C 04 18 2E */ lwzx r0, r4, r3 /* 803DBCBC 003D791C 7C 00 F0 40 */ cmplw r0, r30 /* 803DBCC0 003D7920 41 81 00 10 */ bgt lbl_803DBCD0 /* 803DBCC4 003D7924 38 A5 00 01 */ addi r5, r5, 1 /* 803DBCC8 003D7928 38 63 00 04 */ addi r3, r3, 4 /* 803DBCCC 003D792C 42 00 FF EC */ bdnz lbl_803DBCB8 lbl_803DBCD0: /* 803DBCD0 003D7930 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DBCD4 003D7934 38 65 FF FF */ addi r3, r5, -1 /* 803DBCD8 003D7938 83 C1 00 08 */ lwz r30, 8(r1) /* 803DBCDC 003D793C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DBCE0 003D7940 7C 08 03 A6 */ mtlr r0 /* 803DBCE4 003D7944 38 21 00 10 */ addi r1, r1, 0x10 /* 803DBCE8 003D7948 4E 80 00 20 */ blr .global func_803DBCEC func_803DBCEC: /* 803DBCEC 003D794C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DBCF0 003D7950 7C 08 02 A6 */ mflr r0 /* 803DBCF4 003D7954 90 01 00 24 */ stw r0, 0x24(r1) /* 803DBCF8 003D7958 39 61 00 20 */ addi r11, r1, 0x20 /* 803DBCFC 003D795C 4B DE B4 35 */ bl _savegpr_29 /* 803DBD00 003D7960 7C 7D 1B 78 */ mr r29, r3 /* 803DBD04 003D7964 4B FF E6 15 */ bl func_803DA318 /* 803DBD08 003D7968 7C 7E 1B 78 */ mr r30, r3 /* 803DBD0C 003D796C 7F A3 EB 78 */ mr r3, r29 /* 803DBD10 003D7970 38 80 00 00 */ li r4, 0 /* 803DBD14 003D7974 38 A0 00 00 */ li r5, 0 /* 803DBD18 003D7978 4B FF F1 E5 */ bl func_803DAEFC /* 803DBD1C 003D797C 7C 7F 1B 78 */ mr r31, r3 /* 803DBD20 003D7980 7F A3 EB 78 */ mr r3, r29 /* 803DBD24 003D7984 7F C4 F3 78 */ mr r4, r30 /* 803DBD28 003D7988 4B FF E6 15 */ bl func_803DA33C /* 803DBD2C 003D798C 38 60 00 19 */ li r3, 0x19 /* 803DBD30 003D7990 39 61 00 20 */ addi r11, r1, 0x20 /* 803DBD34 003D7994 7C 1F 1B 96 */ divwu r0, r31, r3 /* 803DBD38 003D7998 7C 00 19 D6 */ mullw r0, r0, r3 /* 803DBD3C 003D799C 7C 00 F8 50 */ subf r0, r0, r31 /* 803DBD40 003D79A0 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 803DBD44 003D79A4 4B DE B4 39 */ bl _restgpr_29 /* 803DBD48 003D79A8 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DBD4C 003D79AC 7C 08 03 A6 */ mtlr r0 /* 803DBD50 003D79B0 38 21 00 20 */ addi r1, r1, 0x20 /* 803DBD54 003D79B4 4E 80 00 20 */ blr .global func_803DBD58 func_803DBD58: /* 803DBD58 003D79B8 28 05 00 01 */ cmplwi r5, 1 /* 803DBD5C 003D79BC 41 80 00 0C */ blt lbl_803DBD68 /* 803DBD60 003D79C0 28 05 00 05 */ cmplwi r5, 5 /* 803DBD64 003D79C4 40 81 00 0C */ ble lbl_803DBD70 lbl_803DBD68: /* 803DBD68 003D79C8 7C 83 23 78 */ mr r3, r4 /* 803DBD6C 003D79CC 4E 80 00 20 */ blr lbl_803DBD70: /* 803DBD70 003D79D0 1C 03 00 05 */ mulli r0, r3, 5 /* 803DBD74 003D79D4 3C 60 80 40 */ lis r3, lbl_80405C5D@ha /* 803DBD78 003D79D8 38 63 5C 5D */ addi r3, r3, lbl_80405C5D@l /* 803DBD7C 003D79DC 7C 03 02 14 */ add r0, r3, r0 /* 803DBD80 003D79E0 7C 60 2A 14 */ add r3, r0, r5 /* 803DBD84 003D79E4 88 03 FF FF */ lbz r0, -1(r3) /* 803DBD88 003D79E8 7C 00 07 75 */ extsb. r0, r0 /* 803DBD8C 003D79EC 41 82 00 48 */ beq lbl_803DBDD4 /* 803DBD90 003D79F0 40 80 00 10 */ bge lbl_803DBDA0 /* 803DBD94 003D79F4 2C 00 FF FF */ cmpwi r0, -1 /* 803DBD98 003D79F8 40 80 00 28 */ bge lbl_803DBDC0 /* 803DBD9C 003D79FC 48 00 00 38 */ b lbl_803DBDD4 lbl_803DBDA0: /* 803DBDA0 003D7A00 2C 00 00 02 */ cmpwi r0, 2 /* 803DBDA4 003D7A04 40 80 00 30 */ bge lbl_803DBDD4 /* 803DBDA8 003D7A08 1C 64 00 6E */ mulli r3, r4, 0x6e /* 803DBDAC 003D7A0C 38 00 00 64 */ li r0, 0x64 /* 803DBDB0 003D7A10 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 803DBDB4 003D7A14 7C 04 03 D6 */ divw r0, r4, r0 /* 803DBDB8 003D7A18 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 803DBDBC 003D7A1C 48 00 00 18 */ b lbl_803DBDD4 lbl_803DBDC0: /* 803DBDC0 003D7A20 1C 64 00 5A */ mulli r3, r4, 0x5a /* 803DBDC4 003D7A24 38 00 00 64 */ li r0, 0x64 /* 803DBDC8 003D7A28 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 803DBDCC 003D7A2C 7C 04 03 D6 */ divw r0, r4, r0 /* 803DBDD0 003D7A30 54 04 04 3E */ clrlwi r4, r0, 0x10 lbl_803DBDD4: /* 803DBDD4 003D7A34 7C 83 23 78 */ mr r3, r4 /* 803DBDD8 003D7A38 4E 80 00 20 */ blr .global func_803DBDDC func_803DBDDC: /* 803DBDDC 003D7A3C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803DBDE0 003D7A40 7C 08 02 A6 */ mflr r0 /* 803DBDE4 003D7A44 90 01 00 34 */ stw r0, 0x34(r1) /* 803DBDE8 003D7A48 39 61 00 30 */ addi r11, r1, 0x30 /* 803DBDEC 003D7A4C 4B DE B3 39 */ bl _savegpr_26 /* 803DBDF0 003D7A50 28 04 00 05 */ cmplwi r4, 5 /* 803DBDF4 003D7A54 7C 7F 1B 78 */ mr r31, r3 /* 803DBDF8 003D7A58 7C 9A 23 78 */ mr r26, r4 /* 803DBDFC 003D7A5C 7C BB 2B 78 */ mr r27, r5 /* 803DBE00 003D7A60 40 82 00 10 */ bne lbl_803DBE10 /* 803DBE04 003D7A64 4B FF D9 B5 */ bl func_803D97B8 /* 803DBE08 003D7A68 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 803DBE0C 003D7A6C 40 82 01 3C */ bne lbl_803DBF48 lbl_803DBE10: /* 803DBE10 003D7A70 7F E3 FB 78 */ mr r3, r31 /* 803DBE14 003D7A74 38 80 00 AD */ li r4, 0xad /* 803DBE18 003D7A78 38 A0 00 00 */ li r5, 0 /* 803DBE1C 003D7A7C 48 00 1B C1 */ bl func_803DD9DC /* 803DBE20 003D7A80 54 60 04 3F */ clrlwi. r0, r3, 0x10 /* 803DBE24 003D7A84 41 82 01 24 */ beq lbl_803DBF48 /* 803DBE28 003D7A88 28 00 01 EE */ cmplwi r0, 0x1ee /* 803DBE2C 003D7A8C 40 82 00 08 */ bne lbl_803DBE34 /* 803DBE30 003D7A90 48 00 01 18 */ b lbl_803DBF48 lbl_803DBE34: /* 803DBE34 003D7A94 7F E3 FB 78 */ mr r3, r31 /* 803DBE38 003D7A98 38 80 00 06 */ li r4, 6 /* 803DBE3C 003D7A9C 38 A0 00 00 */ li r5, 0 /* 803DBE40 003D7AA0 48 00 1B 9D */ bl func_803DD9DC /* 803DBE44 003D7AA4 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 803DBE48 003D7AA8 38 80 00 01 */ li r4, 1 /* 803DBE4C 003D7AAC 38 A0 00 00 */ li r5, 0 /* 803DBE50 003D7AB0 4B FF D3 B9 */ bl func_803D9208 /* 803DBE54 003D7AB4 54 7C 06 3E */ clrlwi r28, r3, 0x18 /* 803DBE58 003D7AB8 7F E3 FB 78 */ mr r3, r31 /* 803DBE5C 003D7ABC 3B A0 00 00 */ li r29, 0 /* 803DBE60 003D7AC0 38 80 00 09 */ li r4, 9 /* 803DBE64 003D7AC4 38 A0 00 00 */ li r5, 0 /* 803DBE68 003D7AC8 48 00 1B 75 */ bl func_803DD9DC /* 803DBE6C 003D7ACC 7C 7E 07 34 */ extsh r30, r3 /* 803DBE70 003D7AD0 2C 1E 00 64 */ cmpwi r30, 0x64 /* 803DBE74 003D7AD4 41 80 00 08 */ blt lbl_803DBE7C /* 803DBE78 003D7AD8 3B A0 00 01 */ li r29, 1 lbl_803DBE7C: /* 803DBE7C 003D7ADC 2C 1E 00 C8 */ cmpwi r30, 0xc8 /* 803DBE80 003D7AE0 41 80 00 0C */ blt lbl_803DBE8C /* 803DBE84 003D7AE4 38 1D 00 01 */ addi r0, r29, 1 /* 803DBE88 003D7AE8 54 1D 06 3E */ clrlwi r29, r0, 0x18 lbl_803DBE8C: /* 803DBE8C 003D7AEC 1C 1A 00 03 */ mulli r0, r26, 3 /* 803DBE90 003D7AF0 3C 60 80 40 */ lis r3, lbl_80405CDA@ha /* 803DBE94 003D7AF4 38 63 5C DA */ addi r3, r3, lbl_80405CDA@l /* 803DBE98 003D7AF8 7C 03 02 14 */ add r0, r3, r0 /* 803DBE9C 003D7AFC 7C 1D 00 AE */ lbzx r0, r29, r0 /* 803DBEA0 003D7B00 7C 1D 07 75 */ extsb. r29, r0 /* 803DBEA4 003D7B04 40 81 00 24 */ ble lbl_803DBEC8 /* 803DBEA8 003D7B08 7F E3 FB 78 */ mr r3, r31 /* 803DBEAC 003D7B0C 38 80 00 9A */ li r4, 0x9a /* 803DBEB0 003D7B10 38 A0 00 00 */ li r5, 0 /* 803DBEB4 003D7B14 48 00 1B 29 */ bl func_803DD9DC /* 803DBEB8 003D7B18 28 03 00 0B */ cmplwi r3, 0xb /* 803DBEBC 003D7B1C 40 82 00 0C */ bne lbl_803DBEC8 /* 803DBEC0 003D7B20 38 1D 00 01 */ addi r0, r29, 1 /* 803DBEC4 003D7B24 7C 1D 07 74 */ extsb r29, r0 lbl_803DBEC8: /* 803DBEC8 003D7B28 2C 1D 00 00 */ cmpwi r29, 0 /* 803DBECC 003D7B2C 40 81 00 24 */ ble lbl_803DBEF0 /* 803DBED0 003D7B30 7F E3 FB 78 */ mr r3, r31 /* 803DBED4 003D7B34 38 80 00 97 */ li r4, 0x97 /* 803DBED8 003D7B38 38 A0 00 00 */ li r5, 0 /* 803DBEDC 003D7B3C 48 00 1B 01 */ bl func_803DD9DC /* 803DBEE0 003D7B40 7C 1B 18 40 */ cmplw r27, r3 /* 803DBEE4 003D7B44 40 82 00 0C */ bne lbl_803DBEF0 /* 803DBEE8 003D7B48 38 1D 00 01 */ addi r0, r29, 1 /* 803DBEEC 003D7B4C 7C 1D 07 74 */ extsb r29, r0 lbl_803DBEF0: /* 803DBEF0 003D7B50 2C 1D 00 00 */ cmpwi r29, 0 /* 803DBEF4 003D7B54 40 81 00 1C */ ble lbl_803DBF10 /* 803DBEF8 003D7B58 28 1C 00 34 */ cmplwi r28, 0x34 /* 803DBEFC 003D7B5C 40 82 00 14 */ bne lbl_803DBF10 /* 803DBF00 003D7B60 1C 7D 00 96 */ mulli r3, r29, 0x96 /* 803DBF04 003D7B64 38 00 00 64 */ li r0, 0x64 /* 803DBF08 003D7B68 7C 03 03 D6 */ divw r0, r3, r0 /* 803DBF0C 003D7B6C 7C 1D 07 74 */ extsb r29, r0 lbl_803DBF10: /* 803DBF10 003D7B70 7F DE EA 14 */ add r30, r30, r29 /* 803DBF14 003D7B74 7F C0 07 35 */ extsh. r0, r30 /* 803DBF18 003D7B78 40 80 00 08 */ bge lbl_803DBF20 /* 803DBF1C 003D7B7C 3B C0 00 00 */ li r30, 0 lbl_803DBF20: /* 803DBF20 003D7B80 7F C0 07 34 */ extsh r0, r30 /* 803DBF24 003D7B84 2C 00 00 FF */ cmpwi r0, 0xff /* 803DBF28 003D7B88 40 81 00 08 */ ble lbl_803DBF30 /* 803DBF2C 003D7B8C 3B C0 00 FF */ li r30, 0xff lbl_803DBF30: /* 803DBF30 003D7B90 7F C0 07 34 */ extsh r0, r30 /* 803DBF34 003D7B94 7F E3 FB 78 */ mr r3, r31 /* 803DBF38 003D7B98 90 01 00 08 */ stw r0, 8(r1) /* 803DBF3C 003D7B9C 38 A1 00 08 */ addi r5, r1, 8 /* 803DBF40 003D7BA0 38 80 00 09 */ li r4, 9 /* 803DBF44 003D7BA4 4B FF F5 E1 */ bl func_803DB524 lbl_803DBF48: /* 803DBF48 003D7BA8 39 61 00 30 */ addi r11, r1, 0x30 /* 803DBF4C 003D7BAC 4B DE B2 25 */ bl _restgpr_26 /* 803DBF50 003D7BB0 80 01 00 34 */ lwz r0, 0x34(r1) /* 803DBF54 003D7BB4 7C 08 03 A6 */ mtlr r0 /* 803DBF58 003D7BB8 38 21 00 30 */ addi r1, r1, 0x30 /* 803DBF5C 003D7BBC 4E 80 00 20 */ blr .global func_803DBF60 func_803DBF60: /* 803DBF60 003D7BC0 48 00 00 04 */ b func_803DBF64 .global func_803DBF64 func_803DBF64: /* 803DBF64 003D7BC4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DBF68 003D7BC8 7C 08 02 A6 */ mflr r0 /* 803DBF6C 003D7BCC 90 01 00 24 */ stw r0, 0x24(r1) /* 803DBF70 003D7BD0 39 61 00 20 */ addi r11, r1, 0x20 /* 803DBF74 003D7BD4 4B DE B1 B9 */ bl _savegpr_28 /* 803DBF78 003D7BD8 7C 7C 1B 78 */ mr r28, r3 /* 803DBF7C 003D7BDC 4B FF E3 9D */ bl func_803DA318 /* 803DBF80 003D7BE0 7C 7D 1B 78 */ mr r29, r3 /* 803DBF84 003D7BE4 7F 83 E3 78 */ mr r3, r28 /* 803DBF88 003D7BE8 38 80 00 05 */ li r4, 5 /* 803DBF8C 003D7BEC 38 A0 00 00 */ li r5, 0 /* 803DBF90 003D7BF0 4B FF EF 6D */ bl func_803DAEFC /* 803DBF94 003D7BF4 54 7F 04 3E */ clrlwi r31, r3, 0x10 /* 803DBF98 003D7BF8 7F 83 E3 78 */ mr r3, r28 /* 803DBF9C 003D7BFC 38 80 00 00 */ li r4, 0 /* 803DBFA0 003D7C00 38 A0 00 00 */ li r5, 0 /* 803DBFA4 003D7C04 4B FF EF 59 */ bl func_803DAEFC /* 803DBFA8 003D7C08 7C 7E 1B 78 */ mr r30, r3 /* 803DBFAC 003D7C0C 7F 83 E3 78 */ mr r3, r28 /* 803DBFB0 003D7C10 7F A4 EB 78 */ mr r4, r29 /* 803DBFB4 003D7C14 4B FF E3 89 */ bl func_803DA33C /* 803DBFB8 003D7C18 7F E3 FB 78 */ mr r3, r31 /* 803DBFBC 003D7C1C 7F C4 F3 78 */ mr r4, r30 /* 803DBFC0 003D7C20 48 00 00 1D */ bl func_803DBFDC /* 803DBFC4 003D7C24 39 61 00 20 */ addi r11, r1, 0x20 /* 803DBFC8 003D7C28 4B DE B1 B1 */ bl _restgpr_28 /* 803DBFCC 003D7C2C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DBFD0 003D7C30 7C 08 03 A6 */ mtlr r0 /* 803DBFD4 003D7C34 38 21 00 20 */ addi r1, r1, 0x20 /* 803DBFD8 003D7C38 4E 80 00 20 */ blr .global func_803DBFDC func_803DBFDC: /* 803DBFDC 003D7C3C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DBFE0 003D7C40 7C 08 02 A6 */ mflr r0 /* 803DBFE4 003D7C44 90 01 00 24 */ stw r0, 0x24(r1) /* 803DBFE8 003D7C48 39 61 00 20 */ addi r11, r1, 0x20 /* 803DBFEC 003D7C4C 4B DE B1 45 */ bl _savegpr_29 /* 803DBFF0 003D7C50 7C 7D 1B 78 */ mr r29, r3 /* 803DBFF4 003D7C54 7C 9E 23 78 */ mr r30, r4 /* 803DBFF8 003D7C58 38 60 00 00 */ li r3, 0 /* 803DBFFC 003D7C5C 38 80 00 2C */ li r4, 0x2c /* 803DC000 003D7C60 4B D9 1F 71 */ bl func_8016DF70 /* 803DC004 003D7C64 7C 7F 1B 78 */ mr r31, r3 /* 803DC008 003D7C68 7F A3 EB 78 */ mr r3, r29 /* 803DC00C 003D7C6C 7F E4 FB 78 */ mr r4, r31 /* 803DC010 003D7C70 48 00 0E ED */ bl func_803DCEFC /* 803DC014 003D7C74 7F E3 FB 78 */ mr r3, r31 /* 803DC018 003D7C78 7F A4 EB 78 */ mr r4, r29 /* 803DC01C 003D7C7C 7F C5 F3 78 */ mr r5, r30 /* 803DC020 003D7C80 48 00 00 2D */ bl func_803DC04C /* 803DC024 003D7C84 7C 7E 1B 78 */ mr r30, r3 /* 803DC028 003D7C88 7F E3 FB 78 */ mr r3, r31 /* 803DC02C 003D7C8C 4B D9 20 75 */ bl func_8016E0A0 /* 803DC030 003D7C90 39 61 00 20 */ addi r11, r1, 0x20 /* 803DC034 003D7C94 7F C3 F3 78 */ mr r3, r30 /* 803DC038 003D7C98 4B DE B1 45 */ bl _restgpr_29 /* 803DC03C 003D7C9C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DC040 003D7CA0 7C 08 03 A6 */ mtlr r0 /* 803DC044 003D7CA4 38 21 00 20 */ addi r1, r1, 0x20 /* 803DC048 003D7CA8 4E 80 00 20 */ blr .global func_803DC04C func_803DC04C: /* 803DC04C 003D7CAC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DC050 003D7CB0 7C 08 02 A6 */ mflr r0 /* 803DC054 003D7CB4 38 80 00 12 */ li r4, 0x12 /* 803DC058 003D7CB8 90 01 00 14 */ stw r0, 0x14(r1) /* 803DC05C 003D7CBC 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DC060 003D7CC0 7C BF 2B 78 */ mr r31, r5 /* 803DC064 003D7CC4 4B FF F7 1D */ bl func_803DB780 /* 803DC068 003D7CC8 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 803DC06C 003D7CCC 2C 03 00 FE */ cmpwi r3, 0xfe /* 803DC070 003D7CD0 41 82 00 28 */ beq lbl_803DC098 /* 803DC074 003D7CD4 40 80 00 10 */ bge lbl_803DC084 /* 803DC078 003D7CD8 2C 03 00 00 */ cmpwi r3, 0 /* 803DC07C 003D7CDC 41 82 00 14 */ beq lbl_803DC090 /* 803DC080 003D7CE0 48 00 00 28 */ b lbl_803DC0A8 lbl_803DC084: /* 803DC084 003D7CE4 2C 03 01 00 */ cmpwi r3, 0x100 /* 803DC088 003D7CE8 40 80 00 20 */ bge lbl_803DC0A8 /* 803DC08C 003D7CEC 48 00 00 14 */ b lbl_803DC0A0 lbl_803DC090: /* 803DC090 003D7CF0 38 60 00 00 */ li r3, 0 /* 803DC094 003D7CF4 48 00 00 28 */ b lbl_803DC0BC lbl_803DC098: /* 803DC098 003D7CF8 38 60 00 01 */ li r3, 1 /* 803DC09C 003D7CFC 48 00 00 20 */ b lbl_803DC0BC lbl_803DC0A0: /* 803DC0A0 003D7D00 38 60 00 02 */ li r3, 2 /* 803DC0A4 003D7D04 48 00 00 18 */ b lbl_803DC0BC lbl_803DC0A8: /* 803DC0A8 003D7D08 57 E0 06 3E */ clrlwi r0, r31, 0x18 /* 803DC0AC 003D7D0C 7C 03 00 10 */ subfc r0, r3, r0 /* 803DC0B0 003D7D10 7C 00 01 10 */ subfe r0, r0, r0 /* 803DC0B4 003D7D14 7C 00 00 D0 */ neg r0, r0 /* 803DC0B8 003D7D18 54 03 06 3E */ clrlwi r3, r0, 0x18 lbl_803DC0BC: /* 803DC0BC 003D7D1C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DC0C0 003D7D20 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DC0C4 003D7D24 7C 08 03 A6 */ mtlr r0 /* 803DC0C8 003D7D28 38 21 00 10 */ addi r1, r1, 0x10 /* 803DC0CC 003D7D2C 4E 80 00 20 */ blr .global func_803DC0D0 func_803DC0D0: /* 803DC0D0 003D7D30 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DC0D4 003D7D34 7C 08 02 A6 */ mflr r0 /* 803DC0D8 003D7D38 38 80 00 07 */ li r4, 7 /* 803DC0DC 003D7D3C 38 A0 00 00 */ li r5, 0 /* 803DC0E0 003D7D40 90 01 00 14 */ stw r0, 0x14(r1) /* 803DC0E4 003D7D44 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DC0E8 003D7D48 93 C1 00 08 */ stw r30, 8(r1) /* 803DC0EC 003D7D4C 7C 7E 1B 78 */ mr r30, r3 /* 803DC0F0 003D7D50 4B FF EE 0D */ bl func_803DAEFC /* 803DC0F4 003D7D54 7C 7F 1B 78 */ mr r31, r3 /* 803DC0F8 003D7D58 7F C3 F3 78 */ mr r3, r30 /* 803DC0FC 003D7D5C 38 80 00 00 */ li r4, 0 /* 803DC100 003D7D60 38 A0 00 00 */ li r5, 0 /* 803DC104 003D7D64 4B FF ED F9 */ bl func_803DAEFC /* 803DC108 003D7D68 7C 64 1B 78 */ mr r4, r3 /* 803DC10C 003D7D6C 7F E3 FB 78 */ mr r3, r31 /* 803DC110 003D7D70 48 00 00 1D */ bl func_803DC12C /* 803DC114 003D7D74 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DC118 003D7D78 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DC11C 003D7D7C 83 C1 00 08 */ lwz r30, 8(r1) /* 803DC120 003D7D80 7C 08 03 A6 */ mtlr r0 /* 803DC124 003D7D84 38 21 00 10 */ addi r1, r1, 0x10 /* 803DC128 003D7D88 4E 80 00 20 */ blr .global func_803DC12C func_803DC12C: /* 803DC12C 003D7D8C 54 85 04 3E */ clrlwi r5, r4, 0x10 /* 803DC130 003D7D90 54 80 84 3E */ srwi r0, r4, 0x10 /* 803DC134 003D7D94 54 64 84 3E */ srwi r4, r3, 0x10 /* 803DC138 003D7D98 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 803DC13C 003D7D9C 7C A5 02 78 */ xor r5, r5, r0 /* 803DC140 003D7DA0 38 00 00 08 */ li r0, 8 /* 803DC144 003D7DA4 7C 83 1A 78 */ xor r3, r4, r3 /* 803DC148 003D7DA8 7C A3 1A 78 */ xor r3, r5, r3 /* 803DC14C 003D7DAC 7C 00 18 10 */ subfc r0, r0, r3 /* 803DC150 003D7DB0 7C 00 01 10 */ subfe r0, r0, r0 /* 803DC154 003D7DB4 7C 00 00 D0 */ neg r0, r0 /* 803DC158 003D7DB8 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 803DC15C 003D7DBC 4E 80 00 20 */ blr .global func_803DC160 func_803DC160: /* 803DC160 003D7DC0 38 60 00 00 */ li r3, 0 /* 803DC164 003D7DC4 4E 80 00 20 */ blr .global func_803DC168 func_803DC168: /* 803DC168 003D7DC8 38 60 00 A4 */ li r3, 0xa4 /* 803DC16C 003D7DCC 4E 80 00 20 */ blr .global func_803DC170 func_803DC170: /* 803DC170 003D7DD0 54 65 D7 3A */ rlwinm r5, r3, 0x1a, 0x1c, 0x1d /* 803DC174 003D7DD4 54 60 A6 B6 */ rlwinm r0, r3, 0x14, 0x1a, 0x1b /* 803DC178 003D7DD8 50 65 07 BE */ rlwimi r5, r3, 0, 0x1e, 0x1f /* 803DC17C 003D7DDC 38 80 00 1C */ li r4, 0x1c /* 803DC180 003D7DE0 50 60 76 32 */ rlwimi r0, r3, 0xe, 0x18, 0x19 /* 803DC184 003D7DE4 7C A3 03 78 */ or r3, r5, r0 /* 803DC188 003D7DE8 7C 03 23 96 */ divwu r0, r3, r4 /* 803DC18C 003D7DEC 7C 00 21 D6 */ mullw r0, r0, r4 /* 803DC190 003D7DF0 7C 00 18 50 */ subf r0, r0, r3 /* 803DC194 003D7DF4 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 803DC198 003D7DF8 4E 80 00 20 */ blr .global func_803DC19C func_803DC19C: /* 803DC19C 003D7DFC 4E 80 00 20 */ blr .global func_803DC1A0 func_803DC1A0: /* 803DC1A0 003D7E00 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DC1A4 003D7E04 7C 08 02 A6 */ mflr r0 /* 803DC1A8 003D7E08 90 01 00 24 */ stw r0, 0x24(r1) /* 803DC1AC 003D7E0C 39 61 00 20 */ addi r11, r1, 0x20 /* 803DC1B0 003D7E10 4B DE AF 7D */ bl _savegpr_28 /* 803DC1B4 003D7E14 7C 7C 1B 78 */ mr r28, r3 /* 803DC1B8 003D7E18 38 80 00 05 */ li r4, 5 /* 803DC1BC 003D7E1C 38 A0 00 00 */ li r5, 0 /* 803DC1C0 003D7E20 48 00 18 1D */ bl func_803DD9DC /* 803DC1C4 003D7E24 54 7E 04 3E */ clrlwi r30, r3, 0x10 /* 803DC1C8 003D7E28 7F 83 E3 78 */ mr r3, r28 /* 803DC1CC 003D7E2C 38 80 00 A0 */ li r4, 0xa0 /* 803DC1D0 003D7E30 38 A0 00 00 */ li r5, 0 /* 803DC1D4 003D7E34 48 00 18 09 */ bl func_803DD9DC /* 803DC1D8 003D7E38 38 03 00 01 */ addi r0, r3, 1 /* 803DC1DC 003D7E3C 7F 83 E3 78 */ mr r3, r28 /* 803DC1E0 003D7E40 54 1D 06 3E */ clrlwi r29, r0, 0x18 /* 803DC1E4 003D7E44 38 80 00 08 */ li r4, 8 /* 803DC1E8 003D7E48 38 A0 00 00 */ li r5, 0 /* 803DC1EC 003D7E4C 48 00 17 F1 */ bl func_803DD9DC /* 803DC1F0 003D7E50 90 61 00 0C */ stw r3, 0xc(r1) /* 803DC1F4 003D7E54 38 60 00 00 */ li r3, 0 /* 803DC1F8 003D7E58 38 80 00 2C */ li r4, 0x2c /* 803DC1FC 003D7E5C 4B D9 1D 75 */ bl func_8016DF70 /* 803DC200 003D7E60 7C 7F 1B 78 */ mr r31, r3 /* 803DC204 003D7E64 7F C3 F3 78 */ mr r3, r30 /* 803DC208 003D7E68 7F E4 FB 78 */ mr r4, r31 /* 803DC20C 003D7E6C 48 00 0C F1 */ bl func_803DCEFC /* 803DC210 003D7E70 7F E3 FB 78 */ mr r3, r31 /* 803DC214 003D7E74 38 80 00 15 */ li r4, 0x15 /* 803DC218 003D7E78 4B FF F5 69 */ bl func_803DB780 /* 803DC21C 003D7E7C 7C 7E 1B 78 */ mr r30, r3 /* 803DC220 003D7E80 7F E3 FB 78 */ mr r3, r31 /* 803DC224 003D7E84 4B D9 1E 7D */ bl func_8016E0A0 /* 803DC228 003D7E88 7F C3 F3 78 */ mr r3, r30 /* 803DC22C 003D7E8C 38 80 00 64 */ li r4, 0x64 /* 803DC230 003D7E90 48 00 24 FD */ bl func_803DE72C /* 803DC234 003D7E94 80 01 00 0C */ lwz r0, 0xc(r1) /* 803DC238 003D7E98 7C 00 18 40 */ cmplw r0, r3 /* 803DC23C 003D7E9C 40 81 00 18 */ ble lbl_803DC254 /* 803DC240 003D7EA0 90 61 00 0C */ stw r3, 0xc(r1) /* 803DC244 003D7EA4 7F 83 E3 78 */ mr r3, r28 /* 803DC248 003D7EA8 38 A1 00 0C */ addi r5, r1, 0xc /* 803DC24C 003D7EAC 38 80 00 08 */ li r4, 8 /* 803DC250 003D7EB0 4B FF F2 D5 */ bl func_803DB524 lbl_803DC254: /* 803DC254 003D7EB4 28 1D 00 64 */ cmplwi r29, 0x64 /* 803DC258 003D7EB8 40 81 00 0C */ ble lbl_803DC264 /* 803DC25C 003D7EBC 38 60 00 00 */ li r3, 0 /* 803DC260 003D7EC0 48 00 00 3C */ b lbl_803DC29C lbl_803DC264: /* 803DC264 003D7EC4 7F C3 F3 78 */ mr r3, r30 /* 803DC268 003D7EC8 7F A4 EB 78 */ mr r4, r29 /* 803DC26C 003D7ECC 48 00 24 C1 */ bl func_803DE72C /* 803DC270 003D7ED0 80 01 00 0C */ lwz r0, 0xc(r1) /* 803DC274 003D7ED4 7C 00 18 40 */ cmplw r0, r3 /* 803DC278 003D7ED8 41 80 00 20 */ blt lbl_803DC298 /* 803DC27C 003D7EDC 93 A1 00 08 */ stw r29, 8(r1) /* 803DC280 003D7EE0 7F 83 E3 78 */ mr r3, r28 /* 803DC284 003D7EE4 38 A1 00 08 */ addi r5, r1, 8 /* 803DC288 003D7EE8 38 80 00 A0 */ li r4, 0xa0 /* 803DC28C 003D7EEC 4B FF F2 99 */ bl func_803DB524 /* 803DC290 003D7EF0 38 60 00 01 */ li r3, 1 /* 803DC294 003D7EF4 48 00 00 08 */ b lbl_803DC29C lbl_803DC298: /* 803DC298 003D7EF8 38 60 00 00 */ li r3, 0 lbl_803DC29C: /* 803DC29C 003D7EFC 39 61 00 20 */ addi r11, r1, 0x20 /* 803DC2A0 003D7F00 4B DE AE D9 */ bl _restgpr_28 /* 803DC2A4 003D7F04 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DC2A8 003D7F08 7C 08 03 A6 */ mtlr r0 /* 803DC2AC 003D7F0C 38 21 00 20 */ addi r1, r1, 0x20 /* 803DC2B0 003D7F10 4E 80 00 20 */ blr .global func_803DC2B4 func_803DC2B4: /* 803DC2B4 003D7F14 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DC2B8 003D7F18 7C 08 02 A6 */ mflr r0 /* 803DC2BC 003D7F1C 90 01 00 24 */ stw r0, 0x24(r1) /* 803DC2C0 003D7F20 39 61 00 20 */ addi r11, r1, 0x20 /* 803DC2C4 003D7F24 4B DE AE 61 */ bl _savegpr_26 /* 803DC2C8 003D7F28 7C 7A 1B 78 */ mr r26, r3 /* 803DC2CC 003D7F2C 38 60 00 00 */ li r3, 0 /* 803DC2D0 003D7F30 38 80 00 2C */ li r4, 0x2c /* 803DC2D4 003D7F34 4B D9 1C 9D */ bl func_8016DF70 /* 803DC2D8 003D7F38 7C 7B 1B 78 */ mr r27, r3 /* 803DC2DC 003D7F3C 7F 43 D3 78 */ mr r3, r26 /* 803DC2E0 003D7F40 4B FF E0 39 */ bl func_803DA318 /* 803DC2E4 003D7F44 7C 7D 1B 78 */ mr r29, r3 /* 803DC2E8 003D7F48 7F 43 D3 78 */ mr r3, r26 /* 803DC2EC 003D7F4C 38 80 00 05 */ li r4, 5 /* 803DC2F0 003D7F50 38 A0 00 00 */ li r5, 0 /* 803DC2F4 003D7F54 4B FF EC 09 */ bl func_803DAEFC /* 803DC2F8 003D7F58 54 7E 04 3E */ clrlwi r30, r3, 0x10 /* 803DC2FC 003D7F5C 7F 43 D3 78 */ mr r3, r26 /* 803DC300 003D7F60 38 80 00 70 */ li r4, 0x70 /* 803DC304 003D7F64 38 A0 00 00 */ li r5, 0 /* 803DC308 003D7F68 4B FF EB F5 */ bl func_803DAEFC /* 803DC30C 003D7F6C 7C 7C 1B 78 */ mr r28, r3 /* 803DC310 003D7F70 7F 43 D3 78 */ mr r3, r26 /* 803DC314 003D7F74 4B FF F8 7D */ bl func_803DBB90 /* 803DC318 003D7F78 54 7F 06 3E */ clrlwi r31, r3, 0x18 /* 803DC31C 003D7F7C 7F C3 F3 78 */ mr r3, r30 /* 803DC320 003D7F80 7F 84 E3 78 */ mr r4, r28 /* 803DC324 003D7F84 48 00 15 B9 */ bl func_803DD8DC /* 803DC328 003D7F88 7F 64 DB 78 */ mr r4, r27 /* 803DC32C 003D7F8C 48 00 09 F5 */ bl func_803DCD20 /* 803DC330 003D7F90 57 FE 4B EC */ rlwinm r30, r31, 9, 0xf, 0x16 /* 803DC334 003D7F94 3B E0 00 00 */ li r31, 0 /* 803DC338 003D7F98 48 00 00 3C */ b lbl_803DC374 lbl_803DC33C: /* 803DC33C 003D7F9C 54 60 04 2C */ rlwinm r0, r3, 0, 0x10, 0x16 /* 803DC340 003D7FA0 7C 00 F0 00 */ cmpw r0, r30 /* 803DC344 003D7FA4 41 81 00 3C */ bgt lbl_803DC380 /* 803DC348 003D7FA8 54 7C 05 FE */ clrlwi r28, r3, 0x17 /* 803DC34C 003D7FAC 7F 43 D3 78 */ mr r3, r26 /* 803DC350 003D7FB0 7F 84 E3 78 */ mr r4, r28 /* 803DC354 003D7FB4 48 00 00 59 */ bl func_803DC3AC /* 803DC358 003D7FB8 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DC35C 003D7FBC 28 00 FF FF */ cmplwi r0, 0xffff /* 803DC360 003D7FC0 40 82 00 10 */ bne lbl_803DC370 /* 803DC364 003D7FC4 7F 43 D3 78 */ mr r3, r26 /* 803DC368 003D7FC8 7F 84 E3 78 */ mr r4, r28 /* 803DC36C 003D7FCC 48 00 00 E9 */ bl func_803DC454 lbl_803DC370: /* 803DC370 003D7FD0 3B FF 00 02 */ addi r31, r31, 2 lbl_803DC374: /* 803DC374 003D7FD4 7C 7B FA 2E */ lhzx r3, r27, r31 /* 803DC378 003D7FD8 28 03 FF FF */ cmplwi r3, 0xffff /* 803DC37C 003D7FDC 40 82 FF C0 */ bne lbl_803DC33C lbl_803DC380: /* 803DC380 003D7FE0 7F 63 DB 78 */ mr r3, r27 /* 803DC384 003D7FE4 4B D9 1D 1D */ bl func_8016E0A0 /* 803DC388 003D7FE8 7F 43 D3 78 */ mr r3, r26 /* 803DC38C 003D7FEC 7F A4 EB 78 */ mr r4, r29 /* 803DC390 003D7FF0 4B FF DF AD */ bl func_803DA33C /* 803DC394 003D7FF4 39 61 00 20 */ addi r11, r1, 0x20 /* 803DC398 003D7FF8 4B DE AD D9 */ bl _restgpr_26 /* 803DC39C 003D7FFC 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DC3A0 003D8000 7C 08 03 A6 */ mtlr r0 /* 803DC3A4 003D8004 38 21 00 20 */ addi r1, r1, 0x20 /* 803DC3A8 003D8008 4E 80 00 20 */ blr .global func_803DC3AC func_803DC3AC: /* 803DC3AC 003D800C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DC3B0 003D8010 7C 08 02 A6 */ mflr r0 /* 803DC3B4 003D8014 90 01 00 24 */ stw r0, 0x24(r1) /* 803DC3B8 003D8018 39 61 00 20 */ addi r11, r1, 0x20 /* 803DC3BC 003D801C 4B DE AD 6D */ bl _savegpr_27 /* 803DC3C0 003D8020 3C A0 00 01 */ lis r5, 0x0000FFFF@ha /* 803DC3C4 003D8024 7C 7B 1B 78 */ mr r27, r3 /* 803DC3C8 003D8028 7C 9C 23 78 */ mr r28, r4 /* 803DC3CC 003D802C 3B C5 FF FF */ addi r30, r5, 0x0000FFFF@l /* 803DC3D0 003D8030 4B FF DF 49 */ bl func_803DA318 /* 803DC3D4 003D8034 7C 7D 1B 78 */ mr r29, r3 /* 803DC3D8 003D8038 3B E0 00 00 */ li r31, 0 lbl_803DC3DC: /* 803DC3DC 003D803C 7F 63 DB 78 */ mr r3, r27 /* 803DC3E0 003D8040 38 9F 00 36 */ addi r4, r31, 0x36 /* 803DC3E4 003D8044 38 A0 00 00 */ li r5, 0 /* 803DC3E8 003D8048 4B FF EB 15 */ bl func_803DAEFC /* 803DC3EC 003D804C 54 60 04 3F */ clrlwi. r0, r3, 0x10 /* 803DC3F0 003D8050 40 82 00 1C */ bne lbl_803DC40C /* 803DC3F4 003D8054 7F 63 DB 78 */ mr r3, r27 /* 803DC3F8 003D8058 7F 84 E3 78 */ mr r4, r28 /* 803DC3FC 003D805C 57 E5 06 3E */ clrlwi r5, r31, 0x18 /* 803DC400 003D8060 48 00 01 99 */ bl func_803DC598 /* 803DC404 003D8064 7F 9E E3 78 */ mr r30, r28 /* 803DC408 003D8068 48 00 00 24 */ b lbl_803DC42C lbl_803DC40C: /* 803DC40C 003D806C 7C 00 E0 40 */ cmplw r0, r28 /* 803DC410 003D8070 40 82 00 10 */ bne lbl_803DC420 /* 803DC414 003D8074 3C 60 00 01 */ lis r3, 0x0000FFFE@ha /* 803DC418 003D8078 3B C3 FF FE */ addi r30, r3, 0x0000FFFE@l /* 803DC41C 003D807C 48 00 00 10 */ b lbl_803DC42C lbl_803DC420: /* 803DC420 003D8080 3B FF 00 01 */ addi r31, r31, 1 /* 803DC424 003D8084 2C 1F 00 04 */ cmpwi r31, 4 /* 803DC428 003D8088 41 80 FF B4 */ blt lbl_803DC3DC lbl_803DC42C: /* 803DC42C 003D808C 7F 63 DB 78 */ mr r3, r27 /* 803DC430 003D8090 7F A4 EB 78 */ mr r4, r29 /* 803DC434 003D8094 4B FF DF 09 */ bl func_803DA33C /* 803DC438 003D8098 39 61 00 20 */ addi r11, r1, 0x20 /* 803DC43C 003D809C 7F C3 F3 78 */ mr r3, r30 /* 803DC440 003D80A0 4B DE AD 35 */ bl _restgpr_27 /* 803DC444 003D80A4 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DC448 003D80A8 7C 08 03 A6 */ mtlr r0 /* 803DC44C 003D80AC 38 21 00 20 */ addi r1, r1, 0x20 /* 803DC450 003D80B0 4E 80 00 20 */ blr .global func_803DC454 func_803DC454: /* 803DC454 003D80B4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 803DC458 003D80B8 7C 08 02 A6 */ mflr r0 /* 803DC45C 003D80BC 90 01 00 44 */ stw r0, 0x44(r1) /* 803DC460 003D80C0 39 61 00 40 */ addi r11, r1, 0x40 /* 803DC464 003D80C4 4B DE AC B9 */ bl _savegpr_24 /* 803DC468 003D80C8 7C 78 1B 78 */ mr r24, r3 /* 803DC46C 003D80CC 7C 99 23 78 */ mr r25, r4 /* 803DC470 003D80D0 4B FF DE A9 */ bl func_803DA318 /* 803DC474 003D80D4 7C 7A 1B 78 */ mr r26, r3 /* 803DC478 003D80D8 3B 81 00 14 */ addi r28, r1, 0x14 /* 803DC47C 003D80DC 3B E1 00 10 */ addi r31, r1, 0x10 /* 803DC480 003D80E0 3B C1 00 0C */ addi r30, r1, 0xc /* 803DC484 003D80E4 3B 60 00 00 */ li r27, 0 /* 803DC488 003D80E8 3B A0 00 00 */ li r29, 0 lbl_803DC48C: /* 803DC48C 003D80EC 7F 03 C3 78 */ mr r3, r24 /* 803DC490 003D80F0 38 9B 00 37 */ addi r4, r27, 0x37 /* 803DC494 003D80F4 38 A0 00 00 */ li r5, 0 /* 803DC498 003D80F8 4B FF EA 65 */ bl func_803DAEFC /* 803DC49C 003D80FC 7C 7C EB 2E */ sthx r3, r28, r29 /* 803DC4A0 003D8100 7F 03 C3 78 */ mr r3, r24 /* 803DC4A4 003D8104 38 9B 00 3B */ addi r4, r27, 0x3b /* 803DC4A8 003D8108 38 A0 00 00 */ li r5, 0 /* 803DC4AC 003D810C 4B FF EA 51 */ bl func_803DAEFC /* 803DC4B0 003D8110 98 7F 00 00 */ stb r3, 0(r31) /* 803DC4B4 003D8114 7F 03 C3 78 */ mr r3, r24 /* 803DC4B8 003D8118 38 9B 00 3F */ addi r4, r27, 0x3f /* 803DC4BC 003D811C 38 A0 00 00 */ li r5, 0 /* 803DC4C0 003D8120 4B FF EA 3D */ bl func_803DAEFC /* 803DC4C4 003D8124 3B 7B 00 01 */ addi r27, r27, 1 /* 803DC4C8 003D8128 98 7E 00 00 */ stb r3, 0(r30) /* 803DC4CC 003D812C 2C 1B 00 03 */ cmpwi r27, 3 /* 803DC4D0 003D8130 3B BD 00 02 */ addi r29, r29, 2 /* 803DC4D4 003D8134 3B DE 00 01 */ addi r30, r30, 1 /* 803DC4D8 003D8138 3B FF 00 01 */ addi r31, r31, 1 /* 803DC4DC 003D813C 41 80 FF B0 */ blt lbl_803DC48C /* 803DC4E0 003D8140 B3 21 00 1A */ sth r25, 0x1a(r1) /* 803DC4E4 003D8144 7F 23 CB 78 */ mr r3, r25 /* 803DC4E8 003D8148 38 80 00 05 */ li r4, 5 /* 803DC4EC 003D814C 48 00 25 39 */ bl func_803DEA24 /* 803DC4F0 003D8150 38 00 00 00 */ li r0, 0 /* 803DC4F4 003D8154 98 61 00 13 */ stb r3, 0x13(r1) /* 803DC4F8 003D8158 3B 81 00 14 */ addi r28, r1, 0x14 /* 803DC4FC 003D815C 3B A1 00 10 */ addi r29, r1, 0x10 /* 803DC500 003D8160 98 01 00 0F */ stb r0, 0xf(r1) /* 803DC504 003D8164 3B C1 00 0C */ addi r30, r1, 0xc /* 803DC508 003D8168 3B 60 00 00 */ li r27, 0 /* 803DC50C 003D816C 3B E0 00 00 */ li r31, 0 lbl_803DC510: /* 803DC510 003D8170 7C 1C FA 2E */ lhzx r0, r28, r31 /* 803DC514 003D8174 7F 03 C3 78 */ mr r3, r24 /* 803DC518 003D8178 38 9B 00 36 */ addi r4, r27, 0x36 /* 803DC51C 003D817C 38 A1 00 08 */ addi r5, r1, 8 /* 803DC520 003D8180 90 01 00 08 */ stw r0, 8(r1) /* 803DC524 003D8184 4B FF F1 55 */ bl func_803DB678 /* 803DC528 003D8188 88 1D 00 00 */ lbz r0, 0(r29) /* 803DC52C 003D818C 7F 03 C3 78 */ mr r3, r24 /* 803DC530 003D8190 38 9B 00 3A */ addi r4, r27, 0x3a /* 803DC534 003D8194 38 A1 00 08 */ addi r5, r1, 8 /* 803DC538 003D8198 90 01 00 08 */ stw r0, 8(r1) /* 803DC53C 003D819C 4B FF F1 3D */ bl func_803DB678 /* 803DC540 003D81A0 88 1E 00 00 */ lbz r0, 0(r30) /* 803DC544 003D81A4 7F 03 C3 78 */ mr r3, r24 /* 803DC548 003D81A8 38 9B 00 3E */ addi r4, r27, 0x3e /* 803DC54C 003D81AC 38 A1 00 08 */ addi r5, r1, 8 /* 803DC550 003D81B0 90 01 00 08 */ stw r0, 8(r1) /* 803DC554 003D81B4 4B FF F1 25 */ bl func_803DB678 /* 803DC558 003D81B8 3B 7B 00 01 */ addi r27, r27, 1 /* 803DC55C 003D81BC 3B DE 00 01 */ addi r30, r30, 1 /* 803DC560 003D81C0 2C 1B 00 04 */ cmpwi r27, 4 /* 803DC564 003D81C4 3B BD 00 01 */ addi r29, r29, 1 /* 803DC568 003D81C8 3B FF 00 02 */ addi r31, r31, 2 /* 803DC56C 003D81CC 41 80 FF A4 */ blt lbl_803DC510 /* 803DC570 003D81D0 7F 03 C3 78 */ mr r3, r24 /* 803DC574 003D81D4 7F 44 D3 78 */ mr r4, r26 /* 803DC578 003D81D8 4B FF DD C5 */ bl func_803DA33C /* 803DC57C 003D81DC 39 61 00 40 */ addi r11, r1, 0x40 /* 803DC580 003D81E0 4B DE AB E9 */ bl _restgpr_24 /* 803DC584 003D81E4 80 01 00 44 */ lwz r0, 0x44(r1) /* 803DC588 003D81E8 7C 08 03 A6 */ mtlr r0 /* 803DC58C 003D81EC 38 21 00 40 */ addi r1, r1, 0x40 /* 803DC590 003D81F0 4E 80 00 20 */ blr .global func_803DC594 func_803DC594: /* 803DC594 003D81F4 48 00 00 04 */ b func_803DC598 .global func_803DC598 func_803DC598: /* 803DC598 003D81F8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DC59C 003D81FC 7C 08 02 A6 */ mflr r0 /* 803DC5A0 003D8200 90 01 00 24 */ stw r0, 0x24(r1) /* 803DC5A4 003D8204 39 61 00 20 */ addi r11, r1, 0x20 /* 803DC5A8 003D8208 4B DE AB 89 */ bl _savegpr_29 /* 803DC5AC 003D820C 90 81 00 08 */ stw r4, 8(r1) /* 803DC5B0 003D8210 7C 9E 23 78 */ mr r30, r4 /* 803DC5B4 003D8214 7C 7D 1B 78 */ mr r29, r3 /* 803DC5B8 003D8218 7C BF 2B 78 */ mr r31, r5 /* 803DC5BC 003D821C 38 85 00 36 */ addi r4, r5, 0x36 /* 803DC5C0 003D8220 38 A1 00 08 */ addi r5, r1, 8 /* 803DC5C4 003D8224 4B FF F0 B5 */ bl func_803DB678 /* 803DC5C8 003D8228 7F A3 EB 78 */ mr r3, r29 /* 803DC5CC 003D822C 38 9F 00 3E */ addi r4, r31, 0x3e /* 803DC5D0 003D8230 38 A0 00 00 */ li r5, 0 /* 803DC5D4 003D8234 4B FF E9 29 */ bl func_803DAEFC /* 803DC5D8 003D8238 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 803DC5DC 003D823C 7F C3 F3 78 */ mr r3, r30 /* 803DC5E0 003D8240 48 00 24 81 */ bl func_803DEA60 /* 803DC5E4 003D8244 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 803DC5E8 003D8248 7F A3 EB 78 */ mr r3, r29 /* 803DC5EC 003D824C 90 01 00 08 */ stw r0, 8(r1) /* 803DC5F0 003D8250 38 9F 00 3A */ addi r4, r31, 0x3a /* 803DC5F4 003D8254 38 A1 00 08 */ addi r5, r1, 8 /* 803DC5F8 003D8258 4B FF F0 81 */ bl func_803DB678 /* 803DC5FC 003D825C 39 61 00 20 */ addi r11, r1, 0x20 /* 803DC600 003D8260 4B DE AB 7D */ bl _restgpr_29 /* 803DC604 003D8264 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DC608 003D8268 7C 08 03 A6 */ mtlr r0 /* 803DC60C 003D826C 38 21 00 20 */ addi r1, r1, 0x20 /* 803DC610 003D8270 4E 80 00 20 */ blr .global func_803DC614 func_803DC614: /* 803DC614 003D8274 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803DC618 003D8278 7C 08 02 A6 */ mflr r0 /* 803DC61C 003D827C 90 01 00 34 */ stw r0, 0x34(r1) /* 803DC620 003D8280 39 61 00 30 */ addi r11, r1, 0x30 /* 803DC624 003D8284 4B DE AA F9 */ bl _savegpr_24 /* 803DC628 003D8288 7C 78 1B 78 */ mr r24, r3 /* 803DC62C 003D828C 7C 9D 23 78 */ mr r29, r4 /* 803DC630 003D8290 7C BE 2B 78 */ mr r30, r5 /* 803DC634 003D8294 3B 80 00 00 */ li r28, 0 /* 803DC638 003D8298 38 60 00 00 */ li r3, 0 /* 803DC63C 003D829C 38 80 00 2C */ li r4, 0x2c /* 803DC640 003D82A0 4B D9 19 31 */ bl func_8016DF70 /* 803DC644 003D82A4 7C 7F 1B 78 */ mr r31, r3 /* 803DC648 003D82A8 7F 03 C3 78 */ mr r3, r24 /* 803DC64C 003D82AC 38 80 00 05 */ li r4, 5 /* 803DC650 003D82B0 38 A0 00 00 */ li r5, 0 /* 803DC654 003D82B4 48 00 13 89 */ bl func_803DD9DC /* 803DC658 003D82B8 54 7B 04 3E */ clrlwi r27, r3, 0x10 /* 803DC65C 003D82BC 7F 03 C3 78 */ mr r3, r24 /* 803DC660 003D82C0 38 80 00 70 */ li r4, 0x70 /* 803DC664 003D82C4 38 A0 00 00 */ li r5, 0 /* 803DC668 003D82C8 48 00 13 75 */ bl func_803DD9DC /* 803DC66C 003D82CC 7C 7A 1B 78 */ mr r26, r3 /* 803DC670 003D82D0 7F 03 C3 78 */ mr r3, r24 /* 803DC674 003D82D4 38 80 00 A0 */ li r4, 0xa0 /* 803DC678 003D82D8 38 A0 00 00 */ li r5, 0 /* 803DC67C 003D82DC 48 00 13 61 */ bl func_803DD9DC /* 803DC680 003D82E0 54 79 06 3E */ clrlwi r25, r3, 0x18 /* 803DC684 003D82E4 7F 63 DB 78 */ mr r3, r27 /* 803DC688 003D82E8 7F 44 D3 78 */ mr r4, r26 /* 803DC68C 003D82EC 48 00 12 51 */ bl func_803DD8DC /* 803DC690 003D82F0 7F E4 FB 78 */ mr r4, r31 /* 803DC694 003D82F4 48 00 06 8D */ bl func_803DCD20 /* 803DC698 003D82F8 80 1D 00 00 */ lwz r0, 0(r29) /* 803DC69C 003D82FC 54 00 08 3C */ slwi r0, r0, 1 /* 803DC6A0 003D8300 7C 1F 02 2E */ lhzx r0, r31, r0 /* 803DC6A4 003D8304 28 00 FF FF */ cmplwi r0, 0xffff /* 803DC6A8 003D8308 40 82 00 14 */ bne lbl_803DC6BC /* 803DC6AC 003D830C 7F E3 FB 78 */ mr r3, r31 /* 803DC6B0 003D8310 4B D9 19 F1 */ bl func_8016E0A0 /* 803DC6B4 003D8314 38 60 00 00 */ li r3, 0 /* 803DC6B8 003D8318 48 00 00 78 */ b lbl_803DC730 lbl_803DC6BC: /* 803DC6BC 003D831C 57 24 4B EC */ rlwinm r4, r25, 9, 0xf, 0x16 /* 803DC6C0 003D8320 48 00 00 30 */ b lbl_803DC6F0 lbl_803DC6C4: /* 803DC6C4 003D8324 80 7D 00 00 */ lwz r3, 0(r29) /* 803DC6C8 003D8328 38 03 00 01 */ addi r0, r3, 1 /* 803DC6CC 003D832C 90 1D 00 00 */ stw r0, 0(r29) /* 803DC6D0 003D8330 54 00 08 3C */ slwi r0, r0, 1 /* 803DC6D4 003D8334 7C 1F 02 2E */ lhzx r0, r31, r0 /* 803DC6D8 003D8338 28 00 FF FF */ cmplwi r0, 0xffff /* 803DC6DC 003D833C 40 82 00 14 */ bne lbl_803DC6F0 /* 803DC6E0 003D8340 7F E3 FB 78 */ mr r3, r31 /* 803DC6E4 003D8344 4B D9 19 BD */ bl func_8016E0A0 /* 803DC6E8 003D8348 38 60 00 00 */ li r3, 0 /* 803DC6EC 003D834C 48 00 00 44 */ b lbl_803DC730 lbl_803DC6F0: /* 803DC6F0 003D8350 54 03 04 2C */ rlwinm r3, r0, 0, 0x10, 0x16 /* 803DC6F4 003D8354 7C 04 18 00 */ cmpw r4, r3 /* 803DC6F8 003D8358 40 82 FF CC */ bne lbl_803DC6C4 /* 803DC6FC 003D835C 40 82 00 28 */ bne lbl_803DC724 /* 803DC700 003D8360 54 00 05 FE */ clrlwi r0, r0, 0x17 /* 803DC704 003D8364 7F 03 C3 78 */ mr r3, r24 /* 803DC708 003D8368 B0 1E 00 00 */ sth r0, 0(r30) /* 803DC70C 003D836C 80 9D 00 00 */ lwz r4, 0(r29) /* 803DC710 003D8370 38 04 00 01 */ addi r0, r4, 1 /* 803DC714 003D8374 90 1D 00 00 */ stw r0, 0(r29) /* 803DC718 003D8378 A0 9E 00 00 */ lhz r4, 0(r30) /* 803DC71C 003D837C 4B FF FC 91 */ bl func_803DC3AC /* 803DC720 003D8380 7C 7C 1B 78 */ mr r28, r3 lbl_803DC724: /* 803DC724 003D8384 7F E3 FB 78 */ mr r3, r31 /* 803DC728 003D8388 4B D9 19 79 */ bl func_8016E0A0 /* 803DC72C 003D838C 7F 83 E3 78 */ mr r3, r28 lbl_803DC730: /* 803DC730 003D8390 39 61 00 30 */ addi r11, r1, 0x30 /* 803DC734 003D8394 4B DE AA 35 */ bl _restgpr_24 /* 803DC738 003D8398 80 01 00 34 */ lwz r0, 0x34(r1) /* 803DC73C 003D839C 7C 08 03 A6 */ mtlr r0 /* 803DC740 003D83A0 38 21 00 30 */ addi r1, r1, 0x30 /* 803DC744 003D83A4 4E 80 00 20 */ blr .global func_803DC748 func_803DC748: /* 803DC748 003D83A8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DC74C 003D83AC 7C 08 02 A6 */ mflr r0 /* 803DC750 003D83B0 7C 65 1B 78 */ mr r5, r3 /* 803DC754 003D83B4 90 01 00 24 */ stw r0, 0x24(r1) /* 803DC758 003D83B8 38 00 00 00 */ li r0, 0 /* 803DC75C 003D83BC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803DC760 003D83C0 7C 9F 23 78 */ mr r31, r4 /* 803DC764 003D83C4 7F E3 FB 78 */ mr r3, r31 /* 803DC768 003D83C8 7C A4 2B 78 */ mr r4, r5 /* 803DC76C 003D83CC 90 01 00 0C */ stw r0, 0xc(r1) /* 803DC770 003D83D0 4B FF E6 B5 */ bl func_803DAE24 /* 803DC774 003D83D4 A0 7F 00 04 */ lhz r3, 4(r31) /* 803DC778 003D83D8 54 60 97 FF */ rlwinm. r0, r3, 0x12, 0x1f, 0x1f /* 803DC77C 003D83DC 41 82 00 0C */ beq lbl_803DC788 /* 803DC780 003D83E0 60 60 80 00 */ ori r0, r3, 0x8000 /* 803DC784 003D83E4 B0 1F 00 04 */ sth r0, 4(r31) lbl_803DC788: /* 803DC788 003D83E8 7F E3 FB 78 */ mr r3, r31 /* 803DC78C 003D83EC 38 A1 00 0C */ addi r5, r1, 0xc /* 803DC790 003D83F0 38 80 00 9F */ li r4, 0x9f /* 803DC794 003D83F4 4B FF ED 91 */ bl func_803DB524 /* 803DC798 003D83F8 7F E3 FB 78 */ mr r3, r31 /* 803DC79C 003D83FC 38 A1 00 0C */ addi r5, r1, 0xc /* 803DC7A0 003D8400 38 80 00 A2 */ li r4, 0xa2 /* 803DC7A4 003D8404 4B FF ED 81 */ bl func_803DB524 /* 803DC7A8 003D8408 7F E3 FB 78 */ mr r3, r31 /* 803DC7AC 003D840C 38 A1 00 0C */ addi r5, r1, 0xc /* 803DC7B0 003D8410 38 80 00 A3 */ li r4, 0xa3 /* 803DC7B4 003D8414 4B FF ED 71 */ bl func_803DB524 /* 803DC7B8 003D8418 7F E3 FB 78 */ mr r3, r31 /* 803DC7BC 003D841C 38 A1 00 0C */ addi r5, r1, 0xc /* 803DC7C0 003D8420 38 80 00 A1 */ li r4, 0xa1 /* 803DC7C4 003D8424 4B FF ED 61 */ bl func_803DB524 /* 803DC7C8 003D8428 38 61 00 08 */ addi r3, r1, 8 /* 803DC7CC 003D842C 38 80 00 00 */ li r4, 0 /* 803DC7D0 003D8430 38 A0 00 04 */ li r5, 4 /* 803DC7D4 003D8434 4B C2 79 31 */ bl memset /* 803DC7D8 003D8438 7F E3 FB 78 */ mr r3, r31 /* 803DC7DC 003D843C 38 A1 00 08 */ addi r5, r1, 8 /* 803DC7E0 003D8440 38 80 00 AA */ li r4, 0xaa /* 803DC7E4 003D8444 4B FF ED 41 */ bl func_803DB524 /* 803DC7E8 003D8448 7F E3 FB 78 */ mr r3, r31 /* 803DC7EC 003D844C 4B FF E0 8D */ bl func_803DA878 /* 803DC7F0 003D8450 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DC7F4 003D8454 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803DC7F8 003D8458 7C 08 03 A6 */ mtlr r0 /* 803DC7FC 003D845C 38 21 00 20 */ addi r1, r1, 0x20 /* 803DC800 003D8460 4E 80 00 20 */ blr .global func_803DC804 func_803DC804: /* 803DC804 003D8464 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DC808 003D8468 7C 08 02 A6 */ mflr r0 /* 803DC80C 003D846C 90 01 00 24 */ stw r0, 0x24(r1) /* 803DC810 003D8470 39 61 00 20 */ addi r11, r1, 0x20 /* 803DC814 003D8474 4B DE A9 15 */ bl _savegpr_27 /* 803DC818 003D8478 7C 7B 1B 78 */ mr r27, r3 /* 803DC81C 003D847C 48 00 21 29 */ bl func_803DE944 /* 803DC820 003D8480 7C 7F 1B 78 */ mr r31, r3 /* 803DC824 003D8484 3B C0 00 01 */ li r30, 1 /* 803DC828 003D8488 3B A0 00 00 */ li r29, 0 /* 803DC82C 003D848C 48 00 00 68 */ b lbl_803DC894 lbl_803DC830: /* 803DC830 003D8490 7F 63 DB 78 */ mr r3, r27 /* 803DC834 003D8494 7F A4 EB 78 */ mr r4, r29 /* 803DC838 003D8498 48 00 21 15 */ bl func_803DE94C /* 803DC83C 003D849C 7C 7C 1B 78 */ mr r28, r3 /* 803DC840 003D84A0 38 80 00 05 */ li r4, 5 /* 803DC844 003D84A4 38 A0 00 00 */ li r5, 0 /* 803DC848 003D84A8 48 00 11 95 */ bl func_803DD9DC /* 803DC84C 003D84AC 2C 03 00 00 */ cmpwi r3, 0 /* 803DC850 003D84B0 41 82 00 40 */ beq lbl_803DC890 /* 803DC854 003D84B4 7F 83 E3 78 */ mr r3, r28 /* 803DC858 003D84B8 38 80 00 4C */ li r4, 0x4c /* 803DC85C 003D84BC 38 A0 00 00 */ li r5, 0 /* 803DC860 003D84C0 48 00 11 7D */ bl func_803DD9DC /* 803DC864 003D84C4 2C 03 00 00 */ cmpwi r3, 0 /* 803DC868 003D84C8 40 82 00 28 */ bne lbl_803DC890 /* 803DC86C 003D84CC 7F 83 E3 78 */ mr r3, r28 /* 803DC870 003D84D0 38 80 00 A0 */ li r4, 0xa0 /* 803DC874 003D84D4 38 A0 00 00 */ li r5, 0 /* 803DC878 003D84D8 48 00 11 65 */ bl func_803DD9DC /* 803DC87C 003D84DC 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 803DC880 003D84E0 57 C0 06 3E */ clrlwi r0, r30, 0x18 /* 803DC884 003D84E4 7C 03 00 40 */ cmplw r3, r0 /* 803DC888 003D84E8 40 81 00 08 */ ble lbl_803DC890 /* 803DC88C 003D84EC 7C 7E 1B 78 */ mr r30, r3 lbl_803DC890: /* 803DC890 003D84F0 3B BD 00 01 */ addi r29, r29, 1 lbl_803DC894: /* 803DC894 003D84F4 7C 1D F8 00 */ cmpw r29, r31 /* 803DC898 003D84F8 41 80 FF 98 */ blt lbl_803DC830 /* 803DC89C 003D84FC 39 61 00 20 */ addi r11, r1, 0x20 /* 803DC8A0 003D8500 7F C3 F3 78 */ mr r3, r30 /* 803DC8A4 003D8504 4B DE A8 D1 */ bl _restgpr_27 /* 803DC8A8 003D8508 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DC8AC 003D850C 7C 08 03 A6 */ mtlr r0 /* 803DC8B0 003D8510 38 21 00 20 */ addi r1, r1, 0x20 /* 803DC8B4 003D8514 4E 80 00 20 */ blr .global func_803DC8B8 func_803DC8B8: /* 803DC8B8 003D8518 38 00 00 11 */ li r0, 0x11 /* 803DC8BC 003D851C 38 E4 FF FC */ addi r7, r4, -4 /* 803DC8C0 003D8520 38 C3 FF FC */ addi r6, r3, -4 /* 803DC8C4 003D8524 7C 09 03 A6 */ mtctr r0 lbl_803DC8C8: /* 803DC8C8 003D8528 80 A6 00 04 */ lwz r5, 4(r6) /* 803DC8CC 003D852C 84 06 00 08 */ lwzu r0, 8(r6) /* 803DC8D0 003D8530 90 A7 00 04 */ stw r5, 4(r7) /* 803DC8D4 003D8534 94 07 00 08 */ stwu r0, 8(r7) /* 803DC8D8 003D8538 42 00 FF F0 */ bdnz lbl_803DC8C8 /* 803DC8DC 003D853C 38 00 00 03 */ li r0, 3 /* 803DC8E0 003D8540 38 A4 00 84 */ addi r5, r4, 0x84 /* 803DC8E4 003D8544 38 83 00 84 */ addi r4, r3, 0x84 /* 803DC8E8 003D8548 7C 09 03 A6 */ mtctr r0 lbl_803DC8EC: /* 803DC8EC 003D854C 80 64 00 04 */ lwz r3, 4(r4) /* 803DC8F0 003D8550 84 04 00 08 */ lwzu r0, 8(r4) /* 803DC8F4 003D8554 90 65 00 04 */ stw r3, 4(r5) /* 803DC8F8 003D8558 94 05 00 08 */ stwu r0, 8(r5) /* 803DC8FC 003D855C 42 00 FF F0 */ bdnz lbl_803DC8EC /* 803DC900 003D8560 80 04 00 04 */ lwz r0, 4(r4) /* 803DC904 003D8564 90 05 00 04 */ stw r0, 4(r5) /* 803DC908 003D8568 4E 80 00 20 */ blr .global func_803DC90C func_803DC90C: /* 803DC90C 003D856C 7C 60 1B 78 */ mr r0, r3 /* 803DC910 003D8570 7C 83 23 78 */ mr r3, r4 /* 803DC914 003D8574 7C 04 03 78 */ mr r4, r0 /* 803DC918 003D8578 4B FF E5 0C */ b func_803DAE24 .global func_803DC91C func_803DC91C: /* 803DC91C 003D857C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DC920 003D8580 7C 08 02 A6 */ mflr r0 /* 803DC924 003D8584 38 A0 00 00 */ li r5, 0 /* 803DC928 003D8588 90 01 00 14 */ stw r0, 0x14(r1) /* 803DC92C 003D858C 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DC930 003D8590 7C 9F 23 78 */ mr r31, r4 /* 803DC934 003D8594 38 80 00 00 */ li r4, 0 /* 803DC938 003D8598 4B FF E5 C5 */ bl func_803DAEFC /* 803DC93C 003D859C 7F E4 FB 78 */ mr r4, r31 /* 803DC940 003D85A0 48 00 00 19 */ bl func_803DC958 /* 803DC944 003D85A4 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DC948 003D85A8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DC94C 003D85AC 7C 08 03 A6 */ mtlr r0 /* 803DC950 003D85B0 38 21 00 10 */ addi r1, r1, 0x10 /* 803DC954 003D85B4 4E 80 00 20 */ blr .global func_803DC958 func_803DC958: /* 803DC958 003D85B8 38 C0 00 19 */ li r6, 0x19 /* 803DC95C 003D85BC 3C A0 80 40 */ lis r5, lbl_80405BE0@ha /* 803DC960 003D85C0 7C 03 33 96 */ divwu r0, r3, r6 /* 803DC964 003D85C4 38 A5 5B E0 */ addi r5, r5, lbl_80405BE0@l /* 803DC968 003D85C8 7C 00 31 D6 */ mullw r0, r0, r6 /* 803DC96C 003D85CC 7C 00 18 50 */ subf r0, r0, r3 /* 803DC970 003D85D0 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 803DC974 003D85D4 1C 00 00 05 */ mulli r0, r0, 5 /* 803DC978 003D85D8 7C 04 02 14 */ add r0, r4, r0 /* 803DC97C 003D85DC 7C 05 00 AE */ lbzx r0, r5, r0 /* 803DC980 003D85E0 7C 03 07 74 */ extsb r3, r0 /* 803DC984 003D85E4 4E 80 00 20 */ blr .global func_803DC988 func_803DC988: /* 803DC988 003D85E8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DC98C 003D85EC 7C 08 02 A6 */ mflr r0 /* 803DC990 003D85F0 90 01 00 24 */ stw r0, 0x24(r1) /* 803DC994 003D85F4 39 61 00 20 */ addi r11, r1, 0x20 /* 803DC998 003D85F8 4B DE A7 95 */ bl _savegpr_28 /* 803DC99C 003D85FC 7C 7C 1B 78 */ mr r28, r3 /* 803DC9A0 003D8600 48 00 1F A5 */ bl func_803DE944 /* 803DC9A4 003D8604 7C 7F 1B 78 */ mr r31, r3 /* 803DC9A8 003D8608 4B FF CE 11 */ bl func_803D97B8 /* 803DC9AC 003D860C 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DC9B0 003D8610 28 00 40 00 */ cmplwi r0, 0x4000 /* 803DC9B4 003D8614 41 82 00 14 */ beq lbl_803DC9C8 /* 803DC9B8 003D8618 28 00 80 00 */ cmplwi r0, 0x8000 /* 803DC9BC 003D861C 41 82 00 0C */ beq lbl_803DC9C8 /* 803DC9C0 003D8620 28 00 C0 00 */ cmplwi r0, 0xc000 /* 803DC9C4 003D8624 40 82 00 B8 */ bne lbl_803DCA7C lbl_803DC9C8: /* 803DC9C8 003D8628 4B FF CD F1 */ bl func_803D97B8 /* 803DC9CC 003D862C 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 803DC9D0 003D8630 7F 83 E3 78 */ mr r3, r28 /* 803DC9D4 003D8634 7C 04 FB D6 */ divw r0, r4, r31 /* 803DC9D8 003D8638 7C 00 F9 D6 */ mullw r0, r0, r31 /* 803DC9DC 003D863C 7F A0 20 50 */ subf r29, r0, r4 /* 803DC9E0 003D8640 7F A4 EB 78 */ mr r4, r29 /* 803DC9E4 003D8644 48 00 1F 69 */ bl func_803DE94C /* 803DC9E8 003D8648 7C 7E 1B 78 */ mr r30, r3 /* 803DC9EC 003D864C 38 80 00 05 */ li r4, 5 /* 803DC9F0 003D8650 38 A0 00 00 */ li r5, 0 /* 803DC9F4 003D8654 48 00 0F E9 */ bl func_803DD9DC /* 803DC9F8 003D8658 2C 03 00 00 */ cmpwi r3, 0 /* 803DC9FC 003D865C 41 82 FF CC */ beq lbl_803DC9C8 /* 803DCA00 003D8660 7F C3 F3 78 */ mr r3, r30 /* 803DCA04 003D8664 38 80 00 4C */ li r4, 0x4c /* 803DCA08 003D8668 38 A0 00 00 */ li r5, 0 /* 803DCA0C 003D866C 48 00 0F D1 */ bl func_803DD9DC /* 803DCA10 003D8670 2C 03 00 00 */ cmpwi r3, 0 /* 803DCA14 003D8674 40 82 FF B4 */ bne lbl_803DC9C8 /* 803DCA18 003D8678 7F A3 EB 78 */ mr r3, r29 /* 803DCA1C 003D867C 48 00 0F 05 */ bl func_803DD920 /* 803DCA20 003D8680 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 803DCA24 003D8684 7F 83 E3 78 */ mr r3, r28 /* 803DCA28 003D8688 48 00 00 6D */ bl func_803DCA94 /* 803DCA2C 003D868C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 803DCA30 003D8690 40 82 00 4C */ bne lbl_803DCA7C lbl_803DCA34: /* 803DCA34 003D8694 4B FF CD 85 */ bl func_803D97B8 /* 803DCA38 003D8698 54 60 07 7F */ clrlwi. r0, r3, 0x1d /* 803DCA3C 003D869C 54 66 06 3E */ clrlwi r6, r3, 0x18 /* 803DCA40 003D86A0 41 82 FF F4 */ beq lbl_803DCA34 /* 803DCA44 003D86A4 54 C0 06 37 */ rlwinm. r0, r6, 0, 0x18, 0x1b /* 803DCA48 003D86A8 41 82 00 08 */ beq lbl_803DCA50 /* 803DCA4C 003D86AC 54 C6 07 7E */ clrlwi r6, r6, 0x1d lbl_803DCA50: /* 803DCA50 003D86B0 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b /* 803DCA54 003D86B4 7F C3 F3 78 */ mr r3, r30 /* 803DCA58 003D86B8 7C C0 03 78 */ or r0, r6, r0 /* 803DCA5C 003D86BC 38 A1 00 08 */ addi r5, r1, 8 /* 803DCA60 003D86C0 54 06 06 3E */ clrlwi r6, r0, 0x18 /* 803DCA64 003D86C4 38 80 00 99 */ li r4, 0x99 /* 803DCA68 003D86C8 70 C6 00 F3 */ andi. r6, r6, 0xf3 /* 803DCA6C 003D86CC 38 06 00 01 */ addi r0, r6, 1 /* 803DCA70 003D86D0 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 803DCA74 003D86D4 90 01 00 08 */ stw r0, 8(r1) /* 803DCA78 003D86D8 4B FF EA AD */ bl func_803DB524 lbl_803DCA7C: /* 803DCA7C 003D86DC 39 61 00 20 */ addi r11, r1, 0x20 /* 803DCA80 003D86E0 4B DE A6 F9 */ bl _restgpr_28 /* 803DCA84 003D86E4 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DCA88 003D86E8 7C 08 03 A6 */ mtlr r0 /* 803DCA8C 003D86EC 38 21 00 20 */ addi r1, r1, 0x20 /* 803DCA90 003D86F0 4E 80 00 20 */ blr .global func_803DCA94 func_803DCA94: /* 803DCA94 003D86F4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DCA98 003D86F8 7C 08 02 A6 */ mflr r0 /* 803DCA9C 003D86FC 90 01 00 24 */ stw r0, 0x24(r1) /* 803DCAA0 003D8700 39 61 00 20 */ addi r11, r1, 0x20 /* 803DCAA4 003D8704 4B DE A6 85 */ bl _savegpr_27 /* 803DCAA8 003D8708 2C 04 00 00 */ cmpwi r4, 0 /* 803DCAAC 003D870C 7C 7B 1B 78 */ mr r27, r3 /* 803DCAB0 003D8710 7C 9C 23 78 */ mr r28, r4 /* 803DCAB4 003D8714 3B E0 00 00 */ li r31, 0 /* 803DCAB8 003D8718 3B C0 00 01 */ li r30, 1 /* 803DCABC 003D871C 3B A0 00 00 */ li r29, 0 /* 803DCAC0 003D8720 41 82 00 48 */ beq lbl_803DCB08 lbl_803DCAC4: /* 803DCAC4 003D8724 57 80 07 FF */ clrlwi. r0, r28, 0x1f /* 803DCAC8 003D8728 41 82 00 2C */ beq lbl_803DCAF4 /* 803DCACC 003D872C 7F 63 DB 78 */ mr r3, r27 /* 803DCAD0 003D8730 7F E4 FB 78 */ mr r4, r31 /* 803DCAD4 003D8734 48 00 1E 79 */ bl func_803DE94C /* 803DCAD8 003D8738 38 80 00 99 */ li r4, 0x99 /* 803DCADC 003D873C 38 A0 00 00 */ li r5, 0 /* 803DCAE0 003D8740 48 00 0E FD */ bl func_803DD9DC /* 803DCAE4 003D8744 2C 03 00 00 */ cmpwi r3, 0 /* 803DCAE8 003D8748 41 82 00 0C */ beq lbl_803DCAF4 /* 803DCAEC 003D874C 7F A0 F3 78 */ or r0, r29, r30 /* 803DCAF0 003D8750 54 1D 06 3E */ clrlwi r29, r0, 0x18 lbl_803DCAF4: /* 803DCAF4 003D8754 57 9C FE 7F */ rlwinm. r28, r28, 0x1f, 0x19, 0x1f /* 803DCAF8 003D8758 57 DE 08 3C */ slwi r30, r30, 1 /* 803DCAFC 003D875C 3B FF 00 01 */ addi r31, r31, 1 /* 803DCB00 003D8760 40 82 FF C4 */ bne lbl_803DCAC4 /* 803DCB04 003D8764 48 00 00 24 */ b lbl_803DCB28 lbl_803DCB08: /* 803DCB08 003D8768 38 80 00 00 */ li r4, 0 /* 803DCB0C 003D876C 48 00 1E 41 */ bl func_803DE94C /* 803DCB10 003D8770 38 80 00 99 */ li r4, 0x99 /* 803DCB14 003D8774 38 A0 00 00 */ li r5, 0 /* 803DCB18 003D8778 48 00 0E C5 */ bl func_803DD9DC /* 803DCB1C 003D877C 2C 03 00 00 */ cmpwi r3, 0 /* 803DCB20 003D8780 41 82 00 08 */ beq lbl_803DCB28 /* 803DCB24 003D8784 3B A0 00 01 */ li r29, 1 lbl_803DCB28: /* 803DCB28 003D8788 39 61 00 20 */ addi r11, r1, 0x20 /* 803DCB2C 003D878C 7F A3 EB 78 */ mr r3, r29 /* 803DCB30 003D8790 4B DE A6 45 */ bl _restgpr_27 /* 803DCB34 003D8794 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DCB38 003D8798 7C 08 03 A6 */ mtlr r0 /* 803DCB3C 003D879C 38 21 00 20 */ addi r1, r1, 0x20 /* 803DCB40 003D87A0 4E 80 00 20 */ blr .global func_803DCB44 func_803DCB44: /* 803DCB44 003D87A4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803DCB48 003D87A8 7C 08 02 A6 */ mflr r0 /* 803DCB4C 003D87AC 90 01 00 34 */ stw r0, 0x34(r1) /* 803DCB50 003D87B0 39 61 00 30 */ addi r11, r1, 0x30 /* 803DCB54 003D87B4 4B DE A5 D5 */ bl _savegpr_27 /* 803DCB58 003D87B8 7C 7B 1B 78 */ mr r27, r3 /* 803DCB5C 003D87BC 48 00 1D E9 */ bl func_803DE944 /* 803DCB60 003D87C0 7C 7F 1B 78 */ mr r31, r3 /* 803DCB64 003D87C4 4B FF CC 55 */ bl func_803D97B8 /* 803DCB68 003D87C8 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 803DCB6C 003D87CC 38 60 00 03 */ li r3, 3 /* 803DCB70 003D87D0 7C 04 1B D6 */ divw r0, r4, r3 /* 803DCB74 003D87D4 7C 00 19 D6 */ mullw r0, r0, r3 /* 803DCB78 003D87D8 7C 00 20 51 */ subf. r0, r0, r4 /* 803DCB7C 003D87DC 40 82 00 E0 */ bne lbl_803DCC5C /* 803DCB80 003D87E0 3B A0 00 00 */ li r29, 0 /* 803DCB84 003D87E4 48 00 00 D0 */ b lbl_803DCC54 lbl_803DCB88: /* 803DCB88 003D87E8 7F 63 DB 78 */ mr r3, r27 /* 803DCB8C 003D87EC 7F A4 EB 78 */ mr r4, r29 /* 803DCB90 003D87F0 48 00 1D BD */ bl func_803DE94C /* 803DCB94 003D87F4 7C 7C 1B 78 */ mr r28, r3 /* 803DCB98 003D87F8 38 80 00 05 */ li r4, 5 /* 803DCB9C 003D87FC 38 A0 00 00 */ li r5, 0 /* 803DCBA0 003D8800 48 00 0E 3D */ bl func_803DD9DC /* 803DCBA4 003D8804 2C 03 00 00 */ cmpwi r3, 0 /* 803DCBA8 003D8808 41 82 00 A8 */ beq lbl_803DCC50 /* 803DCBAC 003D880C 7F 83 E3 78 */ mr r3, r28 /* 803DCBB0 003D8810 38 80 00 99 */ li r4, 0x99 /* 803DCBB4 003D8814 38 A0 00 00 */ li r5, 0 /* 803DCBB8 003D8818 48 00 0E 25 */ bl func_803DD9DC /* 803DCBBC 003D881C 54 60 07 3F */ clrlwi. r0, r3, 0x1c /* 803DCBC0 003D8820 54 7C 06 3E */ clrlwi r28, r3, 0x18 /* 803DCBC4 003D8824 41 82 00 8C */ beq lbl_803DCC50 /* 803DCBC8 003D8828 2C 1D 00 00 */ cmpwi r29, 0 /* 803DCBCC 003D882C 41 82 00 3C */ beq lbl_803DCC08 /* 803DCBD0 003D8830 7F 63 DB 78 */ mr r3, r27 /* 803DCBD4 003D8834 38 9D FF FF */ addi r4, r29, -1 /* 803DCBD8 003D8838 48 00 1D 75 */ bl func_803DE94C /* 803DCBDC 003D883C 7C 7E 1B 78 */ mr r30, r3 /* 803DCBE0 003D8840 38 80 00 99 */ li r4, 0x99 /* 803DCBE4 003D8844 38 A0 00 00 */ li r5, 0 /* 803DCBE8 003D8848 48 00 0D F5 */ bl func_803DD9DC /* 803DCBEC 003D884C 54 60 06 37 */ rlwinm. r0, r3, 0, 0x18, 0x1b /* 803DCBF0 003D8850 40 82 00 18 */ bne lbl_803DCC08 /* 803DCBF4 003D8854 93 81 00 0C */ stw r28, 0xc(r1) /* 803DCBF8 003D8858 7F C3 F3 78 */ mr r3, r30 /* 803DCBFC 003D885C 38 A1 00 0C */ addi r5, r1, 0xc /* 803DCC00 003D8860 38 80 00 99 */ li r4, 0x99 /* 803DCC04 003D8864 4B FF E9 21 */ bl func_803DB524 lbl_803DCC08: /* 803DCC08 003D8868 38 1F FF FF */ addi r0, r31, -1 /* 803DCC0C 003D886C 7C 1D 00 00 */ cmpw r29, r0 /* 803DCC10 003D8870 40 80 00 40 */ bge lbl_803DCC50 /* 803DCC14 003D8874 7F 63 DB 78 */ mr r3, r27 /* 803DCC18 003D8878 38 9D 00 01 */ addi r4, r29, 1 /* 803DCC1C 003D887C 48 00 1D 31 */ bl func_803DE94C /* 803DCC20 003D8880 7C 7E 1B 78 */ mr r30, r3 /* 803DCC24 003D8884 38 80 00 99 */ li r4, 0x99 /* 803DCC28 003D8888 38 A0 00 00 */ li r5, 0 /* 803DCC2C 003D888C 48 00 0D B1 */ bl func_803DD9DC /* 803DCC30 003D8890 54 60 06 37 */ rlwinm. r0, r3, 0, 0x18, 0x1b /* 803DCC34 003D8894 40 82 00 1C */ bne lbl_803DCC50 /* 803DCC38 003D8898 93 81 00 08 */ stw r28, 8(r1) /* 803DCC3C 003D889C 7F C3 F3 78 */ mr r3, r30 /* 803DCC40 003D88A0 38 A1 00 08 */ addi r5, r1, 8 /* 803DCC44 003D88A4 38 80 00 99 */ li r4, 0x99 /* 803DCC48 003D88A8 4B FF E8 DD */ bl func_803DB524 /* 803DCC4C 003D88AC 3B BD 00 01 */ addi r29, r29, 1 lbl_803DCC50: /* 803DCC50 003D88B0 3B BD 00 01 */ addi r29, r29, 1 lbl_803DCC54: /* 803DCC54 003D88B4 7C 1D F8 00 */ cmpw r29, r31 /* 803DCC58 003D88B8 41 80 FF 30 */ blt lbl_803DCB88 lbl_803DCC5C: /* 803DCC5C 003D88BC 39 61 00 30 */ addi r11, r1, 0x30 /* 803DCC60 003D88C0 4B DE A5 15 */ bl _restgpr_27 /* 803DCC64 003D88C4 80 01 00 34 */ lwz r0, 0x34(r1) /* 803DCC68 003D88C8 7C 08 03 A6 */ mtlr r0 /* 803DCC6C 003D88CC 38 21 00 30 */ addi r1, r1, 0x30 /* 803DCC70 003D88D0 4E 80 00 20 */ blr .global func_803DCC74 func_803DCC74: /* 803DCC74 003D88D4 38 03 FF 83 */ addi r0, r3, -125 /* 803DCC78 003D88D8 28 00 00 0F */ cmplwi r0, 0xf /* 803DCC7C 003D88DC 41 81 00 9C */ bgt lbl_803DCD18 /* 803DCC80 003D88E0 3C 60 80 47 */ lis r3, lbl_80474BF8@ha /* 803DCC84 003D88E4 54 00 10 3A */ slwi r0, r0, 2 /* 803DCC88 003D88E8 38 63 4B F8 */ addi r3, r3, lbl_80474BF8@l /* 803DCC8C 003D88EC 7C 63 00 2E */ lwzx r3, r3, r0 /* 803DCC90 003D88F0 7C 69 03 A6 */ mtctr r3 /* 803DCC94 003D88F4 4E 80 04 20 */ bctr /* 803DCC98 003D88F8 38 60 00 0A */ li r3, 0xa /* 803DCC9C 003D88FC 4E 80 00 20 */ blr /* 803DCCA0 003D8900 38 60 00 0B */ li r3, 0xb /* 803DCCA4 003D8904 4E 80 00 20 */ blr /* 803DCCA8 003D8908 38 60 00 0D */ li r3, 0xd /* 803DCCAC 003D890C 4E 80 00 20 */ blr /* 803DCCB0 003D8910 38 60 00 0C */ li r3, 0xc /* 803DCCB4 003D8914 4E 80 00 20 */ blr /* 803DCCB8 003D8918 38 60 00 0F */ li r3, 0xf /* 803DCCBC 003D891C 4E 80 00 20 */ blr /* 803DCCC0 003D8920 38 60 00 01 */ li r3, 1 /* 803DCCC4 003D8924 4E 80 00 20 */ blr /* 803DCCC8 003D8928 38 60 00 03 */ li r3, 3 /* 803DCCCC 003D892C 4E 80 00 20 */ blr /* 803DCCD0 003D8930 38 60 00 04 */ li r3, 4 /* 803DCCD4 003D8934 4E 80 00 20 */ blr /* 803DCCD8 003D8938 38 60 00 02 */ li r3, 2 /* 803DCCDC 003D893C 4E 80 00 20 */ blr /* 803DCCE0 003D8940 38 60 00 0E */ li r3, 0xe /* 803DCCE4 003D8944 4E 80 00 20 */ blr /* 803DCCE8 003D8948 38 60 00 06 */ li r3, 6 /* 803DCCEC 003D894C 4E 80 00 20 */ blr /* 803DCCF0 003D8950 38 60 00 05 */ li r3, 5 /* 803DCCF4 003D8954 4E 80 00 20 */ blr /* 803DCCF8 003D8958 38 60 00 07 */ li r3, 7 /* 803DCCFC 003D895C 4E 80 00 20 */ blr /* 803DCD00 003D8960 38 60 00 10 */ li r3, 0x10 /* 803DCD04 003D8964 4E 80 00 20 */ blr /* 803DCD08 003D8968 38 60 00 11 */ li r3, 0x11 /* 803DCD0C 003D896C 4E 80 00 20 */ blr /* 803DCD10 003D8970 38 60 00 08 */ li r3, 8 /* 803DCD14 003D8974 4E 80 00 20 */ blr lbl_803DCD18: /* 803DCD18 003D8978 38 60 00 00 */ li r3, 0 /* 803DCD1C 003D897C 4E 80 00 20 */ blr .global func_803DCD20 func_803DCD20: /* 803DCD20 003D8980 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DCD24 003D8984 7C 08 02 A6 */ mflr r0 /* 803DCD28 003D8988 90 01 00 24 */ stw r0, 0x24(r1) /* 803DCD2C 003D898C 39 61 00 20 */ addi r11, r1, 0x20 /* 803DCD30 003D8990 4B DE A3 F5 */ bl _savegpr_26 /* 803DCD34 003D8994 3F A0 80 64 */ lis r29, lbl_8063CE34@ha /* 803DCD38 003D8998 3C A0 00 01 */ lis r5, 0x0000FFFF@ha /* 803DCD3C 003D899C 7C 7A 1B 78 */ mr r26, r3 /* 803DCD40 003D89A0 7C 9B 23 78 */ mr r27, r4 /* 803DCD44 003D89A4 3B BD CE 34 */ addi r29, r29, lbl_8063CE34@l /* 803DCD48 003D89A8 3B E5 FF FF */ addi r31, r5, 0x0000FFFF@l /* 803DCD4C 003D89AC 3B 80 00 00 */ li r28, 0 lbl_803DCD50: /* 803DCD50 003D89B0 7F 44 D3 78 */ mr r4, r26 /* 803DCD54 003D89B4 38 7D 00 48 */ addi r3, r29, 0x48 /* 803DCD58 003D89B8 57 85 06 3E */ clrlwi r5, r28, 0x18 /* 803DCD5C 003D89BC 4B FB 5A C5 */ bl func_80392820 /* 803DCD60 003D89C0 7C 7E 1B 78 */ mr r30, r3 /* 803DCD64 003D89C4 7F 44 D3 78 */ mr r4, r26 /* 803DCD68 003D89C8 38 7D 00 48 */ addi r3, r29, 0x48 /* 803DCD6C 003D89CC 57 85 06 3E */ clrlwi r5, r28, 0x18 /* 803DCD70 003D89D0 4B FB 5B 09 */ bl func_80392878 /* 803DCD74 003D89D4 54 60 04 3F */ clrlwi. r0, r3, 0x10 /* 803DCD78 003D89D8 41 82 00 18 */ beq lbl_803DCD90 /* 803DCD7C 003D89DC 57 C4 4B EC */ rlwinm r4, r30, 9, 0xf, 0x16 /* 803DCD80 003D89E0 57 80 0D FC */ rlwinm r0, r28, 1, 0x17, 0x1e /* 803DCD84 003D89E4 7C 63 23 78 */ or r3, r3, r4 /* 803DCD88 003D89E8 7C 7B 03 2E */ sthx r3, r27, r0 /* 803DCD8C 003D89EC 48 00 00 0C */ b lbl_803DCD98 lbl_803DCD90: /* 803DCD90 003D89F0 57 80 0D FC */ rlwinm r0, r28, 1, 0x17, 0x1e /* 803DCD94 003D89F4 7F FB 03 2E */ sthx r31, r27, r0 lbl_803DCD98: /* 803DCD98 003D89F8 3B 9C 00 01 */ addi r28, r28, 1 /* 803DCD9C 003D89FC 28 1C 00 14 */ cmplwi r28, 0x14 /* 803DCDA0 003D8A00 41 80 FF B0 */ blt lbl_803DCD50 /* 803DCDA4 003D8A04 39 61 00 20 */ addi r11, r1, 0x20 /* 803DCDA8 003D8A08 4B DE A3 C9 */ bl _restgpr_26 /* 803DCDAC 003D8A0C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DCDB0 003D8A10 7C 08 03 A6 */ mtlr r0 /* 803DCDB4 003D8A14 38 21 00 20 */ addi r1, r1, 0x20 /* 803DCDB8 003D8A18 4E 80 00 20 */ blr .global func_803DCDBC func_803DCDBC: /* 803DCDBC 003D8A1C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DCDC0 003D8A20 7C 08 02 A6 */ mflr r0 /* 803DCDC4 003D8A24 90 01 00 14 */ stw r0, 0x14(r1) /* 803DCDC8 003D8A28 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DCDCC 003D8A2C 7C BF 2B 78 */ mr r31, r5 /* 803DCDD0 003D8A30 48 00 0B 0D */ bl func_803DD8DC /* 803DCDD4 003D8A34 7F E4 FB 78 */ mr r4, r31 /* 803DCDD8 003D8A38 4B FF FF 49 */ bl func_803DCD20 /* 803DCDDC 003D8A3C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DCDE0 003D8A40 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DCDE4 003D8A44 7C 08 03 A6 */ mtlr r0 /* 803DCDE8 003D8A48 38 21 00 10 */ addi r1, r1, 0x10 /* 803DCDEC 003D8A4C 4E 80 00 20 */ blr .global func_803DCDF0 func_803DCDF0: /* 803DCDF0 003D8A50 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DCDF4 003D8A54 7C 08 02 A6 */ mflr r0 /* 803DCDF8 003D8A58 90 01 00 24 */ stw r0, 0x24(r1) /* 803DCDFC 003D8A5C 39 61 00 20 */ addi r11, r1, 0x20 /* 803DCE00 003D8A60 4B DE A3 31 */ bl _savegpr_29 /* 803DCE04 003D8A64 7C 9E 23 78 */ mr r30, r4 /* 803DCE08 003D8A68 7C 7D 1B 78 */ mr r29, r3 /* 803DCE0C 003D8A6C 38 80 00 AD */ li r4, 0xad /* 803DCE10 003D8A70 38 A0 00 00 */ li r5, 0 /* 803DCE14 003D8A74 4B FF E0 E9 */ bl func_803DAEFC /* 803DCE18 003D8A78 54 7F 04 3E */ clrlwi r31, r3, 0x10 /* 803DCE1C 003D8A7C 7F A3 EB 78 */ mr r3, r29 /* 803DCE20 003D8A80 38 80 00 70 */ li r4, 0x70 /* 803DCE24 003D8A84 38 A0 00 00 */ li r5, 0 /* 803DCE28 003D8A88 4B FF E0 D5 */ bl func_803DAEFC /* 803DCE2C 003D8A8C 7C 64 1B 78 */ mr r4, r3 /* 803DCE30 003D8A90 7F E3 FB 78 */ mr r3, r31 /* 803DCE34 003D8A94 7F C5 F3 78 */ mr r5, r30 /* 803DCE38 003D8A98 48 00 00 1D */ bl func_803DCE54 /* 803DCE3C 003D8A9C 39 61 00 20 */ addi r11, r1, 0x20 /* 803DCE40 003D8AA0 4B DE A3 3D */ bl _restgpr_29 /* 803DCE44 003D8AA4 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DCE48 003D8AA8 7C 08 03 A6 */ mtlr r0 /* 803DCE4C 003D8AAC 38 21 00 20 */ addi r1, r1, 0x20 /* 803DCE50 003D8AB0 4E 80 00 20 */ blr .global func_803DCE54 func_803DCE54: /* 803DCE54 003D8AB4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DCE58 003D8AB8 7C 08 02 A6 */ mflr r0 /* 803DCE5C 003D8ABC 28 03 01 EE */ cmplwi r3, 0x1ee /* 803DCE60 003D8AC0 90 01 00 14 */ stw r0, 0x14(r1) /* 803DCE64 003D8AC4 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DCE68 003D8AC8 40 82 00 0C */ bne lbl_803DCE74 /* 803DCE6C 003D8ACC 38 60 00 00 */ li r3, 0 /* 803DCE70 003D8AD0 48 00 00 78 */ b lbl_803DCEE8 lbl_803DCE74: /* 803DCE74 003D8AD4 28 05 00 20 */ cmplwi r5, 0x20 /* 803DCE78 003D8AD8 40 80 00 14 */ bge lbl_803DCE8C /* 803DCE7C 003D8ADC 38 00 00 01 */ li r0, 1 /* 803DCE80 003D8AE0 38 C0 00 1D */ li r6, 0x1d /* 803DCE84 003D8AE4 7C 1F 28 30 */ slw r31, r0, r5 /* 803DCE88 003D8AE8 48 00 00 4C */ b lbl_803DCED4 lbl_803DCE8C: /* 803DCE8C 003D8AEC 28 05 00 40 */ cmplwi r5, 0x40 /* 803DCE90 003D8AF0 40 80 00 18 */ bge lbl_803DCEA8 /* 803DCE94 003D8AF4 38 05 FF E0 */ addi r0, r5, -32 /* 803DCE98 003D8AF8 38 A0 00 01 */ li r5, 1 /* 803DCE9C 003D8AFC 7C BF 00 30 */ slw r31, r5, r0 /* 803DCEA0 003D8B00 38 C0 00 1E */ li r6, 0x1e /* 803DCEA4 003D8B04 48 00 00 30 */ b lbl_803DCED4 lbl_803DCEA8: /* 803DCEA8 003D8B08 28 05 00 60 */ cmplwi r5, 0x60 /* 803DCEAC 003D8B0C 40 80 00 18 */ bge lbl_803DCEC4 /* 803DCEB0 003D8B10 38 05 FF C0 */ addi r0, r5, -64 /* 803DCEB4 003D8B14 38 A0 00 01 */ li r5, 1 /* 803DCEB8 003D8B18 7C BF 00 30 */ slw r31, r5, r0 /* 803DCEBC 003D8B1C 38 C0 00 1F */ li r6, 0x1f /* 803DCEC0 003D8B20 48 00 00 14 */ b lbl_803DCED4 lbl_803DCEC4: /* 803DCEC4 003D8B24 38 05 FF A0 */ addi r0, r5, -96 /* 803DCEC8 003D8B28 38 A0 00 01 */ li r5, 1 /* 803DCECC 003D8B2C 7C BF 00 30 */ slw r31, r5, r0 /* 803DCED0 003D8B30 38 C0 00 20 */ li r6, 0x20 lbl_803DCED4: /* 803DCED4 003D8B34 7C C5 33 78 */ mr r5, r6 /* 803DCED8 003D8B38 4B FF E9 F5 */ bl func_803DB8CC /* 803DCEDC 003D8B3C 7F E3 18 38 */ and r3, r31, r3 /* 803DCEE0 003D8B40 30 03 FF FF */ addic r0, r3, -1 /* 803DCEE4 003D8B44 7C 60 19 10 */ subfe r3, r0, r3 lbl_803DCEE8: /* 803DCEE8 003D8B48 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DCEEC 003D8B4C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DCEF0 003D8B50 7C 08 03 A6 */ mtlr r0 /* 803DCEF4 003D8B54 38 21 00 10 */ addi r1, r1, 0x10 /* 803DCEF8 003D8B58 4E 80 00 20 */ blr .global func_803DCEFC func_803DCEFC: /* 803DCEFC 003D8B5C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DCF00 003D8B60 7C 08 02 A6 */ mflr r0 /* 803DCF04 003D8B64 90 01 00 24 */ stw r0, 0x24(r1) /* 803DCF08 003D8B68 39 61 00 20 */ addi r11, r1, 0x20 /* 803DCF0C 003D8B6C 4B DE A2 25 */ bl _savegpr_29 /* 803DCF10 003D8B70 3F E0 80 64 */ lis r31, lbl_8063CE34@ha /* 803DCF14 003D8B74 7C 7D 1B 78 */ mr r29, r3 /* 803DCF18 003D8B78 3B FF CE 34 */ addi r31, r31, lbl_8063CE34@l /* 803DCF1C 003D8B7C 7C 9E 23 78 */ mr r30, r4 /* 803DCF20 003D8B80 7F A4 EB 78 */ mr r4, r29 /* 803DCF24 003D8B84 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCF28 003D8B88 4B FB 49 65 */ bl func_8039188C /* 803DCF2C 003D8B8C 98 7E 00 00 */ stb r3, 0(r30) /* 803DCF30 003D8B90 7F A4 EB 78 */ mr r4, r29 /* 803DCF34 003D8B94 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCF38 003D8B98 4B FB 49 89 */ bl func_803918C0 /* 803DCF3C 003D8B9C 98 7E 00 01 */ stb r3, 1(r30) /* 803DCF40 003D8BA0 7F A4 EB 78 */ mr r4, r29 /* 803DCF44 003D8BA4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCF48 003D8BA8 4B FB 49 AD */ bl func_803918F4 /* 803DCF4C 003D8BAC 98 7E 00 02 */ stb r3, 2(r30) /* 803DCF50 003D8BB0 7F A4 EB 78 */ mr r4, r29 /* 803DCF54 003D8BB4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCF58 003D8BB8 4B FB 49 D1 */ bl func_80391928 /* 803DCF5C 003D8BBC 98 7E 00 03 */ stb r3, 3(r30) /* 803DCF60 003D8BC0 7F A4 EB 78 */ mr r4, r29 /* 803DCF64 003D8BC4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCF68 003D8BC8 4B FB 49 F5 */ bl func_8039195C /* 803DCF6C 003D8BCC 98 7E 00 04 */ stb r3, 4(r30) /* 803DCF70 003D8BD0 7F A4 EB 78 */ mr r4, r29 /* 803DCF74 003D8BD4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCF78 003D8BD8 4B FB 4A 19 */ bl func_80391990 /* 803DCF7C 003D8BDC 98 7E 00 05 */ stb r3, 5(r30) /* 803DCF80 003D8BE0 7F A4 EB 78 */ mr r4, r29 /* 803DCF84 003D8BE4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCF88 003D8BE8 4B FB 4A 3D */ bl func_803919C4 /* 803DCF8C 003D8BEC 98 7E 00 06 */ stb r3, 6(r30) /* 803DCF90 003D8BF0 7F A4 EB 78 */ mr r4, r29 /* 803DCF94 003D8BF4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCF98 003D8BF8 4B FB 4A 61 */ bl func_803919F8 /* 803DCF9C 003D8BFC 98 7E 00 07 */ stb r3, 7(r30) /* 803DCFA0 003D8C00 7F A4 EB 78 */ mr r4, r29 /* 803DCFA4 003D8C04 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCFA8 003D8C08 4B FB 4A 85 */ bl func_80391A2C /* 803DCFAC 003D8C0C 98 7E 00 08 */ stb r3, 8(r30) /* 803DCFB0 003D8C10 7F A4 EB 78 */ mr r4, r29 /* 803DCFB4 003D8C14 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCFB8 003D8C18 4B FB 4A A9 */ bl func_80391A60 /* 803DCFBC 003D8C1C 98 7E 00 09 */ stb r3, 9(r30) /* 803DCFC0 003D8C20 7F A4 EB 78 */ mr r4, r29 /* 803DCFC4 003D8C24 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCFC8 003D8C28 4B FB 4A CD */ bl func_80391A94 /* 803DCFCC 003D8C2C A0 1E 00 0A */ lhz r0, 0xa(r30) /* 803DCFD0 003D8C30 50 60 74 22 */ rlwimi r0, r3, 0xe, 0x10, 0x11 /* 803DCFD4 003D8C34 7F A4 EB 78 */ mr r4, r29 /* 803DCFD8 003D8C38 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCFDC 003D8C3C B0 1E 00 0A */ sth r0, 0xa(r30) /* 803DCFE0 003D8C40 4B FB 4A ED */ bl func_80391ACC /* 803DCFE4 003D8C44 A0 1E 00 0A */ lhz r0, 0xa(r30) /* 803DCFE8 003D8C48 50 60 64 A6 */ rlwimi r0, r3, 0xc, 0x12, 0x13 /* 803DCFEC 003D8C4C 7F A4 EB 78 */ mr r4, r29 /* 803DCFF0 003D8C50 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DCFF4 003D8C54 B0 1E 00 0A */ sth r0, 0xa(r30) /* 803DCFF8 003D8C58 4B FB 4B 0D */ bl func_80391B04 /* 803DCFFC 003D8C5C A0 1E 00 0A */ lhz r0, 0xa(r30) /* 803DD000 003D8C60 50 60 55 2A */ rlwimi r0, r3, 0xa, 0x14, 0x15 /* 803DD004 003D8C64 7F A4 EB 78 */ mr r4, r29 /* 803DD008 003D8C68 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD00C 003D8C6C B0 1E 00 0A */ sth r0, 0xa(r30) /* 803DD010 003D8C70 4B FB 4B 2D */ bl func_80391B3C /* 803DD014 003D8C74 A0 1E 00 0A */ lhz r0, 0xa(r30) /* 803DD018 003D8C78 50 60 45 AE */ rlwimi r0, r3, 8, 0x16, 0x17 /* 803DD01C 003D8C7C 7F A4 EB 78 */ mr r4, r29 /* 803DD020 003D8C80 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD024 003D8C84 B0 1E 00 0A */ sth r0, 0xa(r30) /* 803DD028 003D8C88 4B FB 4B 4D */ bl func_80391B74 /* 803DD02C 003D8C8C A0 1E 00 0A */ lhz r0, 0xa(r30) /* 803DD030 003D8C90 50 60 36 32 */ rlwimi r0, r3, 6, 0x18, 0x19 /* 803DD034 003D8C94 7F A4 EB 78 */ mr r4, r29 /* 803DD038 003D8C98 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD03C 003D8C9C B0 1E 00 0A */ sth r0, 0xa(r30) /* 803DD040 003D8CA0 4B FB 4B 6D */ bl func_80391BAC /* 803DD044 003D8CA4 A0 1E 00 0A */ lhz r0, 0xa(r30) /* 803DD048 003D8CA8 50 60 26 B6 */ rlwimi r0, r3, 4, 0x1a, 0x1b /* 803DD04C 003D8CAC 7F A4 EB 78 */ mr r4, r29 /* 803DD050 003D8CB0 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD054 003D8CB4 B0 1E 00 0A */ sth r0, 0xa(r30) /* 803DD058 003D8CB8 4B FB 4B 8D */ bl func_80391BE4 /* 803DD05C 003D8CBC B0 7E 00 0C */ sth r3, 0xc(r30) /* 803DD060 003D8CC0 7F A4 EB 78 */ mr r4, r29 /* 803DD064 003D8CC4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD068 003D8CC8 4B FB 4B B1 */ bl func_80391C18 /* 803DD06C 003D8CCC B0 7E 00 0E */ sth r3, 0xe(r30) /* 803DD070 003D8CD0 7F A4 EB 78 */ mr r4, r29 /* 803DD074 003D8CD4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD078 003D8CD8 4B FB 4B D5 */ bl func_80391C4C /* 803DD07C 003D8CDC 98 7E 00 10 */ stb r3, 0x10(r30) /* 803DD080 003D8CE0 7F A4 EB 78 */ mr r4, r29 /* 803DD084 003D8CE4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD088 003D8CE8 4B FB 4B F9 */ bl func_80391C80 /* 803DD08C 003D8CEC 98 7E 00 11 */ stb r3, 0x11(r30) /* 803DD090 003D8CF0 7F A4 EB 78 */ mr r4, r29 /* 803DD094 003D8CF4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD098 003D8CF8 4B FB 4C 1D */ bl func_80391CB4 /* 803DD09C 003D8CFC 98 7E 00 12 */ stb r3, 0x12(r30) /* 803DD0A0 003D8D00 7F A4 EB 78 */ mr r4, r29 /* 803DD0A4 003D8D04 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD0A8 003D8D08 4B FB 4C 41 */ bl func_80391CE8 /* 803DD0AC 003D8D0C 98 7E 00 13 */ stb r3, 0x13(r30) /* 803DD0B0 003D8D10 7F A4 EB 78 */ mr r4, r29 /* 803DD0B4 003D8D14 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD0B8 003D8D18 4B FB 4C 65 */ bl func_80391D1C /* 803DD0BC 003D8D1C 98 7E 00 14 */ stb r3, 0x14(r30) /* 803DD0C0 003D8D20 7F A4 EB 78 */ mr r4, r29 /* 803DD0C4 003D8D24 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD0C8 003D8D28 4B FB 4C 89 */ bl func_80391D50 /* 803DD0CC 003D8D2C 98 7E 00 15 */ stb r3, 0x15(r30) /* 803DD0D0 003D8D30 7F A4 EB 78 */ mr r4, r29 /* 803DD0D4 003D8D34 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD0D8 003D8D38 4B FB 4C AD */ bl func_80391D84 /* 803DD0DC 003D8D3C 98 7E 00 16 */ stb r3, 0x16(r30) /* 803DD0E0 003D8D40 7F A4 EB 78 */ mr r4, r29 /* 803DD0E4 003D8D44 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD0E8 003D8D48 4B FB 4C D1 */ bl func_80391DB8 /* 803DD0EC 003D8D4C 98 7E 00 17 */ stb r3, 0x17(r30) /* 803DD0F0 003D8D50 7F A4 EB 78 */ mr r4, r29 /* 803DD0F4 003D8D54 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD0F8 003D8D58 4B FB 4D 29 */ bl func_80391E20 /* 803DD0FC 003D8D5C 98 7E 00 18 */ stb r3, 0x18(r30) /* 803DD100 003D8D60 7F A4 EB 78 */ mr r4, r29 /* 803DD104 003D8D64 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD108 003D8D68 4B FB 4D 4D */ bl func_80391E54 /* 803DD10C 003D8D6C 88 1E 00 19 */ lbz r0, 0x19(r30) /* 803DD110 003D8D70 50 60 0E 3C */ rlwimi r0, r3, 1, 0x18, 0x1e /* 803DD114 003D8D74 7F A4 EB 78 */ mr r4, r29 /* 803DD118 003D8D78 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD11C 003D8D7C 98 1E 00 19 */ stb r0, 0x19(r30) /* 803DD120 003D8D80 4B FB 4D 6D */ bl func_80391E8C /* 803DD124 003D8D84 88 1E 00 19 */ lbz r0, 0x19(r30) /* 803DD128 003D8D88 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 803DD12C 003D8D8C 7F A4 EB 78 */ mr r4, r29 /* 803DD130 003D8D90 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD134 003D8D94 98 1E 00 19 */ stb r0, 0x19(r30) /* 803DD138 003D8D98 4B FB 4D 8D */ bl func_80391EC4 /* 803DD13C 003D8D9C 90 7E 00 1C */ stw r3, 0x1c(r30) /* 803DD140 003D8DA0 7F A4 EB 78 */ mr r4, r29 /* 803DD144 003D8DA4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD148 003D8DA8 4B FB 4D B1 */ bl func_80391EF8 /* 803DD14C 003D8DAC 90 7E 00 20 */ stw r3, 0x20(r30) /* 803DD150 003D8DB0 7F A4 EB 78 */ mr r4, r29 /* 803DD154 003D8DB4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD158 003D8DB8 4B FB 4D D5 */ bl func_80391F2C /* 803DD15C 003D8DBC 90 7E 00 24 */ stw r3, 0x24(r30) /* 803DD160 003D8DC0 7F A4 EB 78 */ mr r4, r29 /* 803DD164 003D8DC4 38 7F 00 10 */ addi r3, r31, 0x10 /* 803DD168 003D8DC8 4B FB 4D F9 */ bl func_80391F60 /* 803DD16C 003D8DCC 90 7E 00 28 */ stw r3, 0x28(r30) /* 803DD170 003D8DD0 39 61 00 20 */ addi r11, r1, 0x20 /* 803DD174 003D8DD4 4B DE A0 09 */ bl _restgpr_29 /* 803DD178 003D8DD8 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DD17C 003D8DDC 7C 08 03 A6 */ mtlr r0 /* 803DD180 003D8DE0 38 21 00 20 */ addi r1, r1, 0x20 /* 803DD184 003D8DE4 4E 80 00 20 */ blr .global GetChecksumRental GetChecksumRental: /* 803DD188 003D8DE8 54 80 F8 7E */ srwi r0, r4, 1 /* 803DD18C 003D8DEC 38 A0 00 00 */ li r5, 0 /* 803DD190 003D8DF0 38 80 00 00 */ li r4, 0 /* 803DD194 003D8DF4 7C 09 03 A6 */ mtctr r0 /* 803DD198 003D8DF8 28 00 00 00 */ cmplwi r0, 0 /* 803DD19C 003D8DFC 40 81 00 14 */ ble lbl_803DD1B0 lbl_803DD1A0: /* 803DD1A0 003D8E00 7C 03 22 2E */ lhzx r0, r3, r4 /* 803DD1A4 003D8E04 38 84 00 02 */ addi r4, r4, 2 /* 803DD1A8 003D8E08 7C A5 02 14 */ add r5, r5, r0 /* 803DD1AC 003D8E0C 42 00 FF F4 */ bdnz lbl_803DD1A0 lbl_803DD1B0: /* 803DD1B0 003D8E10 7C A3 2B 78 */ mr r3, r5 /* 803DD1B4 003D8E14 4E 80 00 20 */ blr .global func_803DD1B8 func_803DD1B8: /* 803DD1B8 003D8E18 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DD1BC 003D8E1C 7C 08 02 A6 */ mflr r0 /* 803DD1C0 003D8E20 90 01 00 24 */ stw r0, 0x24(r1) /* 803DD1C4 003D8E24 39 61 00 20 */ addi r11, r1, 0x20 /* 803DD1C8 003D8E28 4B DE 9F 69 */ bl _savegpr_29 /* 803DD1CC 003D8E2C 3C C0 80 47 */ lis r6, lbl_80474C38@ha /* 803DD1D0 003D8E30 7C 7D 1B 78 */ mr r29, r3 /* 803DD1D4 003D8E34 54 9E 9E FE */ rlwinm r30, r4, 0x13, 0x1b, 0x1f /* 803DD1D8 003D8E38 7C BF 2B 78 */ mr r31, r5 /* 803DD1DC 003D8E3C 38 86 4C 38 */ addi r4, r6, lbl_80474C38@l /* 803DD1E0 003D8E40 38 60 00 01 */ li r3, 1 /* 803DD1E4 003D8E44 4C C6 31 82 */ crclr 6 /* 803DD1E8 003D8E48 4B FF C6 B5 */ bl func_803D989C /* 803DD1EC 003D8E4C 28 1E 00 1F */ cmplwi r30, 0x1f /* 803DD1F0 003D8E50 41 81 06 D4 */ bgt lbl_803DD8C4 /* 803DD1F4 003D8E54 3C 80 80 47 */ lis r4, lbl_80474C54@ha /* 803DD1F8 003D8E58 57 C0 10 3A */ slwi r0, r30, 2 /* 803DD1FC 003D8E5C 38 84 4C 54 */ addi r4, r4, lbl_80474C54@l /* 803DD200 003D8E60 7C 84 00 2E */ lwzx r4, r4, r0 /* 803DD204 003D8E64 7C 89 03 A6 */ mtctr r4 /* 803DD208 003D8E68 4E 80 04 20 */ bctr /* 803DD20C 003D8E6C 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD210 003D8E70 38 7D 00 08 */ addi r3, r29, 8 /* 803DD214 003D8E74 41 82 00 30 */ beq lbl_803DD244 /* 803DD218 003D8E78 40 80 00 14 */ bge lbl_803DD22C /* 803DD21C 003D8E7C 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD220 003D8E80 41 82 06 A4 */ beq lbl_803DD8C4 /* 803DD224 003D8E84 40 80 00 18 */ bge lbl_803DD23C /* 803DD228 003D8E88 48 00 06 9C */ b lbl_803DD8C4 lbl_803DD22C: /* 803DD22C 003D8E8C 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD230 003D8E90 40 80 06 94 */ bge lbl_803DD8C4 /* 803DD234 003D8E94 48 00 00 18 */ b lbl_803DD24C /* 803DD238 003D8E98 48 00 06 8C */ b lbl_803DD8C4 lbl_803DD23C: /* 803DD23C 003D8E9C 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD240 003D8EA0 48 00 06 84 */ b lbl_803DD8C4 lbl_803DD244: /* 803DD244 003D8EA4 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD248 003D8EA8 48 00 06 7C */ b lbl_803DD8C4 lbl_803DD24C: /* 803DD24C 003D8EAC 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD250 003D8EB0 48 00 06 74 */ b lbl_803DD8C4 /* 803DD254 003D8EB4 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD258 003D8EB8 38 7D 00 08 */ addi r3, r29, 8 /* 803DD25C 003D8EBC 41 82 00 30 */ beq lbl_803DD28C /* 803DD260 003D8EC0 40 80 00 14 */ bge lbl_803DD274 /* 803DD264 003D8EC4 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD268 003D8EC8 41 82 06 5C */ beq lbl_803DD8C4 /* 803DD26C 003D8ECC 40 80 00 18 */ bge lbl_803DD284 /* 803DD270 003D8ED0 48 00 06 54 */ b lbl_803DD8C4 lbl_803DD274: /* 803DD274 003D8ED4 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD278 003D8ED8 40 80 06 4C */ bge lbl_803DD8C4 /* 803DD27C 003D8EDC 48 00 00 18 */ b lbl_803DD294 /* 803DD280 003D8EE0 48 00 06 44 */ b lbl_803DD8C4 lbl_803DD284: /* 803DD284 003D8EE4 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD288 003D8EE8 48 00 06 3C */ b lbl_803DD8C4 lbl_803DD28C: /* 803DD28C 003D8EEC 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD290 003D8EF0 48 00 06 34 */ b lbl_803DD8C4 lbl_803DD294: /* 803DD294 003D8EF4 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD298 003D8EF8 48 00 06 2C */ b lbl_803DD8C4 /* 803DD29C 003D8EFC 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD2A0 003D8F00 38 7D 00 08 */ addi r3, r29, 8 /* 803DD2A4 003D8F04 41 82 00 30 */ beq lbl_803DD2D4 /* 803DD2A8 003D8F08 40 80 00 14 */ bge lbl_803DD2BC /* 803DD2AC 003D8F0C 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD2B0 003D8F10 41 82 06 14 */ beq lbl_803DD8C4 /* 803DD2B4 003D8F14 40 80 00 18 */ bge lbl_803DD2CC /* 803DD2B8 003D8F18 48 00 06 0C */ b lbl_803DD8C4 lbl_803DD2BC: /* 803DD2BC 003D8F1C 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD2C0 003D8F20 40 80 06 04 */ bge lbl_803DD8C4 /* 803DD2C4 003D8F24 48 00 00 18 */ b lbl_803DD2DC /* 803DD2C8 003D8F28 48 00 05 FC */ b lbl_803DD8C4 lbl_803DD2CC: /* 803DD2CC 003D8F2C 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD2D0 003D8F30 48 00 05 F4 */ b lbl_803DD8C4 lbl_803DD2D4: /* 803DD2D4 003D8F34 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD2D8 003D8F38 48 00 05 EC */ b lbl_803DD8C4 lbl_803DD2DC: /* 803DD2DC 003D8F3C 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD2E0 003D8F40 48 00 05 E4 */ b lbl_803DD8C4 /* 803DD2E4 003D8F44 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD2E8 003D8F48 38 7D 00 08 */ addi r3, r29, 8 /* 803DD2EC 003D8F4C 41 82 00 30 */ beq lbl_803DD31C /* 803DD2F0 003D8F50 40 80 00 14 */ bge lbl_803DD304 /* 803DD2F4 003D8F54 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD2F8 003D8F58 41 82 05 CC */ beq lbl_803DD8C4 /* 803DD2FC 003D8F5C 40 80 00 18 */ bge lbl_803DD314 /* 803DD300 003D8F60 48 00 05 C4 */ b lbl_803DD8C4 lbl_803DD304: /* 803DD304 003D8F64 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD308 003D8F68 40 80 05 BC */ bge lbl_803DD8C4 /* 803DD30C 003D8F6C 48 00 00 18 */ b lbl_803DD324 /* 803DD310 003D8F70 48 00 05 B4 */ b lbl_803DD8C4 lbl_803DD314: /* 803DD314 003D8F74 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD318 003D8F78 48 00 05 AC */ b lbl_803DD8C4 lbl_803DD31C: /* 803DD31C 003D8F7C 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD320 003D8F80 48 00 05 A4 */ b lbl_803DD8C4 lbl_803DD324: /* 803DD324 003D8F84 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD328 003D8F88 48 00 05 9C */ b lbl_803DD8C4 /* 803DD32C 003D8F8C 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD330 003D8F90 38 7D 00 08 */ addi r3, r29, 8 /* 803DD334 003D8F94 41 82 00 30 */ beq lbl_803DD364 /* 803DD338 003D8F98 40 80 00 14 */ bge lbl_803DD34C /* 803DD33C 003D8F9C 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD340 003D8FA0 41 82 05 84 */ beq lbl_803DD8C4 /* 803DD344 003D8FA4 40 80 00 18 */ bge lbl_803DD35C /* 803DD348 003D8FA8 48 00 05 7C */ b lbl_803DD8C4 lbl_803DD34C: /* 803DD34C 003D8FAC 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD350 003D8FB0 40 80 05 74 */ bge lbl_803DD8C4 /* 803DD354 003D8FB4 48 00 00 18 */ b lbl_803DD36C /* 803DD358 003D8FB8 48 00 05 6C */ b lbl_803DD8C4 lbl_803DD35C: /* 803DD35C 003D8FBC 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD360 003D8FC0 48 00 05 64 */ b lbl_803DD8C4 lbl_803DD364: /* 803DD364 003D8FC4 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD368 003D8FC8 48 00 05 5C */ b lbl_803DD8C4 lbl_803DD36C: /* 803DD36C 003D8FCC 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD370 003D8FD0 48 00 05 54 */ b lbl_803DD8C4 /* 803DD374 003D8FD4 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD378 003D8FD8 38 7D 00 08 */ addi r3, r29, 8 /* 803DD37C 003D8FDC 41 82 00 30 */ beq lbl_803DD3AC /* 803DD380 003D8FE0 40 80 00 14 */ bge lbl_803DD394 /* 803DD384 003D8FE4 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD388 003D8FE8 41 82 05 3C */ beq lbl_803DD8C4 /* 803DD38C 003D8FEC 40 80 00 18 */ bge lbl_803DD3A4 /* 803DD390 003D8FF0 48 00 05 34 */ b lbl_803DD8C4 lbl_803DD394: /* 803DD394 003D8FF4 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD398 003D8FF8 40 80 05 2C */ bge lbl_803DD8C4 /* 803DD39C 003D8FFC 48 00 00 18 */ b lbl_803DD3B4 /* 803DD3A0 003D9000 48 00 05 24 */ b lbl_803DD8C4 lbl_803DD3A4: /* 803DD3A4 003D9004 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD3A8 003D9008 48 00 05 1C */ b lbl_803DD8C4 lbl_803DD3AC: /* 803DD3AC 003D900C 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD3B0 003D9010 48 00 05 14 */ b lbl_803DD8C4 lbl_803DD3B4: /* 803DD3B4 003D9014 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD3B8 003D9018 48 00 05 0C */ b lbl_803DD8C4 /* 803DD3BC 003D901C 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD3C0 003D9020 38 7D 00 08 */ addi r3, r29, 8 /* 803DD3C4 003D9024 41 82 00 30 */ beq lbl_803DD3F4 /* 803DD3C8 003D9028 40 80 00 14 */ bge lbl_803DD3DC /* 803DD3CC 003D902C 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD3D0 003D9030 41 82 00 18 */ beq lbl_803DD3E8 /* 803DD3D4 003D9034 40 80 04 F0 */ bge lbl_803DD8C4 /* 803DD3D8 003D9038 48 00 04 EC */ b lbl_803DD8C4 lbl_803DD3DC: /* 803DD3DC 003D903C 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD3E0 003D9040 40 80 04 E4 */ bge lbl_803DD8C4 /* 803DD3E4 003D9044 48 00 00 18 */ b lbl_803DD3FC lbl_803DD3E8: /* 803DD3E8 003D9048 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD3EC 003D904C 48 00 04 D8 */ b lbl_803DD8C4 /* 803DD3F0 003D9050 48 00 04 D4 */ b lbl_803DD8C4 lbl_803DD3F4: /* 803DD3F4 003D9054 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD3F8 003D9058 48 00 04 CC */ b lbl_803DD8C4 lbl_803DD3FC: /* 803DD3FC 003D905C 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD400 003D9060 48 00 04 C4 */ b lbl_803DD8C4 /* 803DD404 003D9064 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD408 003D9068 38 7D 00 08 */ addi r3, r29, 8 /* 803DD40C 003D906C 41 82 00 30 */ beq lbl_803DD43C /* 803DD410 003D9070 40 80 00 14 */ bge lbl_803DD424 /* 803DD414 003D9074 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD418 003D9078 41 82 00 18 */ beq lbl_803DD430 /* 803DD41C 003D907C 40 80 04 A8 */ bge lbl_803DD8C4 /* 803DD420 003D9080 48 00 04 A4 */ b lbl_803DD8C4 lbl_803DD424: /* 803DD424 003D9084 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD428 003D9088 40 80 04 9C */ bge lbl_803DD8C4 /* 803DD42C 003D908C 48 00 00 18 */ b lbl_803DD444 lbl_803DD430: /* 803DD430 003D9090 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD434 003D9094 48 00 04 90 */ b lbl_803DD8C4 /* 803DD438 003D9098 48 00 04 8C */ b lbl_803DD8C4 lbl_803DD43C: /* 803DD43C 003D909C 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD440 003D90A0 48 00 04 84 */ b lbl_803DD8C4 lbl_803DD444: /* 803DD444 003D90A4 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD448 003D90A8 48 00 04 7C */ b lbl_803DD8C4 /* 803DD44C 003D90AC 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD450 003D90B0 38 7D 00 08 */ addi r3, r29, 8 /* 803DD454 003D90B4 41 82 00 30 */ beq lbl_803DD484 /* 803DD458 003D90B8 40 80 00 14 */ bge lbl_803DD46C /* 803DD45C 003D90BC 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD460 003D90C0 41 82 00 18 */ beq lbl_803DD478 /* 803DD464 003D90C4 40 80 04 60 */ bge lbl_803DD8C4 /* 803DD468 003D90C8 48 00 04 5C */ b lbl_803DD8C4 lbl_803DD46C: /* 803DD46C 003D90CC 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD470 003D90D0 40 80 04 54 */ bge lbl_803DD8C4 /* 803DD474 003D90D4 48 00 00 18 */ b lbl_803DD48C lbl_803DD478: /* 803DD478 003D90D8 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD47C 003D90DC 48 00 04 48 */ b lbl_803DD8C4 /* 803DD480 003D90E0 48 00 04 44 */ b lbl_803DD8C4 lbl_803DD484: /* 803DD484 003D90E4 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD488 003D90E8 48 00 04 3C */ b lbl_803DD8C4 lbl_803DD48C: /* 803DD48C 003D90EC 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD490 003D90F0 48 00 04 34 */ b lbl_803DD8C4 /* 803DD494 003D90F4 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD498 003D90F8 38 7D 00 08 */ addi r3, r29, 8 /* 803DD49C 003D90FC 41 82 00 30 */ beq lbl_803DD4CC /* 803DD4A0 003D9100 40 80 00 14 */ bge lbl_803DD4B4 /* 803DD4A4 003D9104 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD4A8 003D9108 41 82 00 18 */ beq lbl_803DD4C0 /* 803DD4AC 003D910C 40 80 04 18 */ bge lbl_803DD8C4 /* 803DD4B0 003D9110 48 00 04 14 */ b lbl_803DD8C4 lbl_803DD4B4: /* 803DD4B4 003D9114 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD4B8 003D9118 40 80 04 0C */ bge lbl_803DD8C4 /* 803DD4BC 003D911C 48 00 00 18 */ b lbl_803DD4D4 lbl_803DD4C0: /* 803DD4C0 003D9120 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD4C4 003D9124 48 00 04 00 */ b lbl_803DD8C4 /* 803DD4C8 003D9128 48 00 03 FC */ b lbl_803DD8C4 lbl_803DD4CC: /* 803DD4CC 003D912C 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD4D0 003D9130 48 00 03 F4 */ b lbl_803DD8C4 lbl_803DD4D4: /* 803DD4D4 003D9134 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD4D8 003D9138 48 00 03 EC */ b lbl_803DD8C4 /* 803DD4DC 003D913C 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD4E0 003D9140 38 7D 00 08 */ addi r3, r29, 8 /* 803DD4E4 003D9144 41 82 00 30 */ beq lbl_803DD514 /* 803DD4E8 003D9148 40 80 00 14 */ bge lbl_803DD4FC /* 803DD4EC 003D914C 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD4F0 003D9150 41 82 00 18 */ beq lbl_803DD508 /* 803DD4F4 003D9154 40 80 03 D0 */ bge lbl_803DD8C4 /* 803DD4F8 003D9158 48 00 03 CC */ b lbl_803DD8C4 lbl_803DD4FC: /* 803DD4FC 003D915C 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD500 003D9160 40 80 03 C4 */ bge lbl_803DD8C4 /* 803DD504 003D9164 48 00 00 18 */ b lbl_803DD51C lbl_803DD508: /* 803DD508 003D9168 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD50C 003D916C 48 00 03 B8 */ b lbl_803DD8C4 /* 803DD510 003D9170 48 00 03 B4 */ b lbl_803DD8C4 lbl_803DD514: /* 803DD514 003D9174 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD518 003D9178 48 00 03 AC */ b lbl_803DD8C4 lbl_803DD51C: /* 803DD51C 003D917C 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD520 003D9180 48 00 03 A4 */ b lbl_803DD8C4 /* 803DD524 003D9184 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD528 003D9188 38 7D 00 08 */ addi r3, r29, 8 /* 803DD52C 003D918C 41 82 00 30 */ beq lbl_803DD55C /* 803DD530 003D9190 40 80 00 14 */ bge lbl_803DD544 /* 803DD534 003D9194 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD538 003D9198 41 82 00 18 */ beq lbl_803DD550 /* 803DD53C 003D919C 40 80 03 88 */ bge lbl_803DD8C4 /* 803DD540 003D91A0 48 00 03 84 */ b lbl_803DD8C4 lbl_803DD544: /* 803DD544 003D91A4 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD548 003D91A8 40 80 03 7C */ bge lbl_803DD8C4 /* 803DD54C 003D91AC 48 00 00 18 */ b lbl_803DD564 lbl_803DD550: /* 803DD550 003D91B0 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD554 003D91B4 48 00 03 70 */ b lbl_803DD8C4 /* 803DD558 003D91B8 48 00 03 6C */ b lbl_803DD8C4 lbl_803DD55C: /* 803DD55C 003D91BC 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD560 003D91C0 48 00 03 64 */ b lbl_803DD8C4 lbl_803DD564: /* 803DD564 003D91C4 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD568 003D91C8 48 00 03 5C */ b lbl_803DD8C4 /* 803DD56C 003D91CC 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD570 003D91D0 38 7D 00 08 */ addi r3, r29, 8 /* 803DD574 003D91D4 41 82 03 50 */ beq lbl_803DD8C4 /* 803DD578 003D91D8 40 80 00 14 */ bge lbl_803DD58C /* 803DD57C 003D91DC 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD580 003D91E0 41 82 00 18 */ beq lbl_803DD598 /* 803DD584 003D91E4 40 80 00 1C */ bge lbl_803DD5A0 /* 803DD588 003D91E8 48 00 03 3C */ b lbl_803DD8C4 lbl_803DD58C: /* 803DD58C 003D91EC 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD590 003D91F0 40 80 03 34 */ bge lbl_803DD8C4 /* 803DD594 003D91F4 48 00 00 18 */ b lbl_803DD5AC lbl_803DD598: /* 803DD598 003D91F8 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD59C 003D91FC 48 00 03 28 */ b lbl_803DD8C4 lbl_803DD5A0: /* 803DD5A0 003D9200 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD5A4 003D9204 48 00 03 20 */ b lbl_803DD8C4 /* 803DD5A8 003D9208 48 00 03 1C */ b lbl_803DD8C4 lbl_803DD5AC: /* 803DD5AC 003D920C 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD5B0 003D9210 48 00 03 14 */ b lbl_803DD8C4 /* 803DD5B4 003D9214 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD5B8 003D9218 38 7D 00 08 */ addi r3, r29, 8 /* 803DD5BC 003D921C 41 82 03 08 */ beq lbl_803DD8C4 /* 803DD5C0 003D9220 40 80 00 14 */ bge lbl_803DD5D4 /* 803DD5C4 003D9224 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD5C8 003D9228 41 82 00 18 */ beq lbl_803DD5E0 /* 803DD5CC 003D922C 40 80 00 1C */ bge lbl_803DD5E8 /* 803DD5D0 003D9230 48 00 02 F4 */ b lbl_803DD8C4 lbl_803DD5D4: /* 803DD5D4 003D9234 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD5D8 003D9238 40 80 02 EC */ bge lbl_803DD8C4 /* 803DD5DC 003D923C 48 00 00 18 */ b lbl_803DD5F4 lbl_803DD5E0: /* 803DD5E0 003D9240 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD5E4 003D9244 48 00 02 E0 */ b lbl_803DD8C4 lbl_803DD5E8: /* 803DD5E8 003D9248 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD5EC 003D924C 48 00 02 D8 */ b lbl_803DD8C4 /* 803DD5F0 003D9250 48 00 02 D4 */ b lbl_803DD8C4 lbl_803DD5F4: /* 803DD5F4 003D9254 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD5F8 003D9258 48 00 02 CC */ b lbl_803DD8C4 /* 803DD5FC 003D925C 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD600 003D9260 38 7D 00 08 */ addi r3, r29, 8 /* 803DD604 003D9264 41 82 02 C0 */ beq lbl_803DD8C4 /* 803DD608 003D9268 40 80 00 14 */ bge lbl_803DD61C /* 803DD60C 003D926C 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD610 003D9270 41 82 00 18 */ beq lbl_803DD628 /* 803DD614 003D9274 40 80 00 1C */ bge lbl_803DD630 /* 803DD618 003D9278 48 00 02 AC */ b lbl_803DD8C4 lbl_803DD61C: /* 803DD61C 003D927C 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD620 003D9280 40 80 02 A4 */ bge lbl_803DD8C4 /* 803DD624 003D9284 48 00 00 18 */ b lbl_803DD63C lbl_803DD628: /* 803DD628 003D9288 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD62C 003D928C 48 00 02 98 */ b lbl_803DD8C4 lbl_803DD630: /* 803DD630 003D9290 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD634 003D9294 48 00 02 90 */ b lbl_803DD8C4 /* 803DD638 003D9298 48 00 02 8C */ b lbl_803DD8C4 lbl_803DD63C: /* 803DD63C 003D929C 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD640 003D92A0 48 00 02 84 */ b lbl_803DD8C4 /* 803DD644 003D92A4 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD648 003D92A8 38 7D 00 08 */ addi r3, r29, 8 /* 803DD64C 003D92AC 41 82 02 78 */ beq lbl_803DD8C4 /* 803DD650 003D92B0 40 80 00 14 */ bge lbl_803DD664 /* 803DD654 003D92B4 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD658 003D92B8 41 82 00 18 */ beq lbl_803DD670 /* 803DD65C 003D92BC 40 80 00 1C */ bge lbl_803DD678 /* 803DD660 003D92C0 48 00 02 64 */ b lbl_803DD8C4 lbl_803DD664: /* 803DD664 003D92C4 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD668 003D92C8 40 80 02 5C */ bge lbl_803DD8C4 /* 803DD66C 003D92CC 48 00 00 18 */ b lbl_803DD684 lbl_803DD670: /* 803DD670 003D92D0 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD674 003D92D4 48 00 02 50 */ b lbl_803DD8C4 lbl_803DD678: /* 803DD678 003D92D8 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD67C 003D92DC 48 00 02 48 */ b lbl_803DD8C4 /* 803DD680 003D92E0 48 00 02 44 */ b lbl_803DD8C4 lbl_803DD684: /* 803DD684 003D92E4 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD688 003D92E8 48 00 02 3C */ b lbl_803DD8C4 /* 803DD68C 003D92EC 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD690 003D92F0 38 7D 00 08 */ addi r3, r29, 8 /* 803DD694 003D92F4 41 82 02 30 */ beq lbl_803DD8C4 /* 803DD698 003D92F8 40 80 00 14 */ bge lbl_803DD6AC /* 803DD69C 003D92FC 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD6A0 003D9300 41 82 00 18 */ beq lbl_803DD6B8 /* 803DD6A4 003D9304 40 80 00 1C */ bge lbl_803DD6C0 /* 803DD6A8 003D9308 48 00 02 1C */ b lbl_803DD8C4 lbl_803DD6AC: /* 803DD6AC 003D930C 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD6B0 003D9310 40 80 02 14 */ bge lbl_803DD8C4 /* 803DD6B4 003D9314 48 00 00 18 */ b lbl_803DD6CC lbl_803DD6B8: /* 803DD6B8 003D9318 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD6BC 003D931C 48 00 02 08 */ b lbl_803DD8C4 lbl_803DD6C0: /* 803DD6C0 003D9320 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD6C4 003D9324 48 00 02 00 */ b lbl_803DD8C4 /* 803DD6C8 003D9328 48 00 01 FC */ b lbl_803DD8C4 lbl_803DD6CC: /* 803DD6CC 003D932C 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD6D0 003D9330 48 00 01 F4 */ b lbl_803DD8C4 /* 803DD6D4 003D9334 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD6D8 003D9338 38 7D 00 08 */ addi r3, r29, 8 /* 803DD6DC 003D933C 41 82 01 E8 */ beq lbl_803DD8C4 /* 803DD6E0 003D9340 40 80 00 14 */ bge lbl_803DD6F4 /* 803DD6E4 003D9344 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD6E8 003D9348 41 82 00 18 */ beq lbl_803DD700 /* 803DD6EC 003D934C 40 80 00 1C */ bge lbl_803DD708 /* 803DD6F0 003D9350 48 00 01 D4 */ b lbl_803DD8C4 lbl_803DD6F4: /* 803DD6F4 003D9354 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD6F8 003D9358 40 80 01 CC */ bge lbl_803DD8C4 /* 803DD6FC 003D935C 48 00 00 18 */ b lbl_803DD714 lbl_803DD700: /* 803DD700 003D9360 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD704 003D9364 48 00 01 C0 */ b lbl_803DD8C4 lbl_803DD708: /* 803DD708 003D9368 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD70C 003D936C 48 00 01 B8 */ b lbl_803DD8C4 /* 803DD710 003D9370 48 00 01 B4 */ b lbl_803DD8C4 lbl_803DD714: /* 803DD714 003D9374 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD718 003D9378 48 00 01 AC */ b lbl_803DD8C4 /* 803DD71C 003D937C 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD720 003D9380 38 7D 00 08 */ addi r3, r29, 8 /* 803DD724 003D9384 41 82 00 34 */ beq lbl_803DD758 /* 803DD728 003D9388 40 80 00 14 */ bge lbl_803DD73C /* 803DD72C 003D938C 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD730 003D9390 41 82 00 18 */ beq lbl_803DD748 /* 803DD734 003D9394 40 80 00 1C */ bge lbl_803DD750 /* 803DD738 003D9398 48 00 01 8C */ b lbl_803DD8C4 lbl_803DD73C: /* 803DD73C 003D939C 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD740 003D93A0 40 80 01 84 */ bge lbl_803DD8C4 /* 803DD744 003D93A4 48 00 01 80 */ b lbl_803DD8C4 lbl_803DD748: /* 803DD748 003D93A8 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD74C 003D93AC 48 00 01 78 */ b lbl_803DD8C4 lbl_803DD750: /* 803DD750 003D93B0 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD754 003D93B4 48 00 01 70 */ b lbl_803DD8C4 lbl_803DD758: /* 803DD758 003D93B8 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD75C 003D93BC 48 00 01 68 */ b lbl_803DD8C4 /* 803DD760 003D93C0 48 00 01 64 */ b lbl_803DD8C4 /* 803DD764 003D93C4 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD768 003D93C8 38 7D 00 08 */ addi r3, r29, 8 /* 803DD76C 003D93CC 41 82 00 34 */ beq lbl_803DD7A0 /* 803DD770 003D93D0 40 80 00 14 */ bge lbl_803DD784 /* 803DD774 003D93D4 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD778 003D93D8 41 82 00 18 */ beq lbl_803DD790 /* 803DD77C 003D93DC 40 80 00 1C */ bge lbl_803DD798 /* 803DD780 003D93E0 48 00 01 44 */ b lbl_803DD8C4 lbl_803DD784: /* 803DD784 003D93E4 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD788 003D93E8 40 80 01 3C */ bge lbl_803DD8C4 /* 803DD78C 003D93EC 48 00 01 38 */ b lbl_803DD8C4 lbl_803DD790: /* 803DD790 003D93F0 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD794 003D93F4 48 00 01 30 */ b lbl_803DD8C4 lbl_803DD798: /* 803DD798 003D93F8 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD79C 003D93FC 48 00 01 28 */ b lbl_803DD8C4 lbl_803DD7A0: /* 803DD7A0 003D9400 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD7A4 003D9404 48 00 01 20 */ b lbl_803DD8C4 /* 803DD7A8 003D9408 48 00 01 1C */ b lbl_803DD8C4 /* 803DD7AC 003D940C 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD7B0 003D9410 38 7D 00 08 */ addi r3, r29, 8 /* 803DD7B4 003D9414 41 82 00 34 */ beq lbl_803DD7E8 /* 803DD7B8 003D9418 40 80 00 14 */ bge lbl_803DD7CC /* 803DD7BC 003D941C 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD7C0 003D9420 41 82 00 18 */ beq lbl_803DD7D8 /* 803DD7C4 003D9424 40 80 00 1C */ bge lbl_803DD7E0 /* 803DD7C8 003D9428 48 00 00 FC */ b lbl_803DD8C4 lbl_803DD7CC: /* 803DD7CC 003D942C 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD7D0 003D9430 40 80 00 F4 */ bge lbl_803DD8C4 /* 803DD7D4 003D9434 48 00 00 F0 */ b lbl_803DD8C4 lbl_803DD7D8: /* 803DD7D8 003D9438 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD7DC 003D943C 48 00 00 E8 */ b lbl_803DD8C4 lbl_803DD7E0: /* 803DD7E0 003D9440 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD7E4 003D9444 48 00 00 E0 */ b lbl_803DD8C4 lbl_803DD7E8: /* 803DD7E8 003D9448 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD7EC 003D944C 48 00 00 D8 */ b lbl_803DD8C4 /* 803DD7F0 003D9450 48 00 00 D4 */ b lbl_803DD8C4 /* 803DD7F4 003D9454 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD7F8 003D9458 38 7D 00 08 */ addi r3, r29, 8 /* 803DD7FC 003D945C 41 82 00 34 */ beq lbl_803DD830 /* 803DD800 003D9460 40 80 00 14 */ bge lbl_803DD814 /* 803DD804 003D9464 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD808 003D9468 41 82 00 18 */ beq lbl_803DD820 /* 803DD80C 003D946C 40 80 00 1C */ bge lbl_803DD828 /* 803DD810 003D9470 48 00 00 B4 */ b lbl_803DD8C4 lbl_803DD814: /* 803DD814 003D9474 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD818 003D9478 40 80 00 AC */ bge lbl_803DD8C4 /* 803DD81C 003D947C 48 00 00 A8 */ b lbl_803DD8C4 lbl_803DD820: /* 803DD820 003D9480 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD824 003D9484 48 00 00 A0 */ b lbl_803DD8C4 lbl_803DD828: /* 803DD828 003D9488 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD82C 003D948C 48 00 00 98 */ b lbl_803DD8C4 lbl_803DD830: /* 803DD830 003D9490 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD834 003D9494 48 00 00 90 */ b lbl_803DD8C4 /* 803DD838 003D9498 48 00 00 8C */ b lbl_803DD8C4 /* 803DD83C 003D949C 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD840 003D94A0 38 7D 00 08 */ addi r3, r29, 8 /* 803DD844 003D94A4 41 82 00 34 */ beq lbl_803DD878 /* 803DD848 003D94A8 40 80 00 14 */ bge lbl_803DD85C /* 803DD84C 003D94AC 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD850 003D94B0 41 82 00 18 */ beq lbl_803DD868 /* 803DD854 003D94B4 40 80 00 1C */ bge lbl_803DD870 /* 803DD858 003D94B8 48 00 00 6C */ b lbl_803DD8C4 lbl_803DD85C: /* 803DD85C 003D94BC 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD860 003D94C0 40 80 00 64 */ bge lbl_803DD8C4 /* 803DD864 003D94C4 48 00 00 60 */ b lbl_803DD8C4 lbl_803DD868: /* 803DD868 003D94C8 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD86C 003D94CC 48 00 00 58 */ b lbl_803DD8C4 lbl_803DD870: /* 803DD870 003D94D0 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD874 003D94D4 48 00 00 50 */ b lbl_803DD8C4 lbl_803DD878: /* 803DD878 003D94D8 38 63 00 20 */ addi r3, r3, 0x20 /* 803DD87C 003D94DC 48 00 00 48 */ b lbl_803DD8C4 /* 803DD880 003D94E0 48 00 00 44 */ b lbl_803DD8C4 /* 803DD884 003D94E4 2C 1F 00 02 */ cmpwi r31, 2 /* 803DD888 003D94E8 38 7D 00 08 */ addi r3, r29, 8 /* 803DD88C 003D94EC 41 82 00 34 */ beq lbl_803DD8C0 /* 803DD890 003D94F0 40 80 00 14 */ bge lbl_803DD8A4 /* 803DD894 003D94F4 2C 1F 00 00 */ cmpwi r31, 0 /* 803DD898 003D94F8 41 82 00 18 */ beq lbl_803DD8B0 /* 803DD89C 003D94FC 40 80 00 1C */ bge lbl_803DD8B8 /* 803DD8A0 003D9500 48 00 00 24 */ b lbl_803DD8C4 lbl_803DD8A4: /* 803DD8A4 003D9504 2C 1F 00 04 */ cmpwi r31, 4 /* 803DD8A8 003D9508 40 80 00 1C */ bge lbl_803DD8C4 /* 803DD8AC 003D950C 48 00 00 18 */ b lbl_803DD8C4 lbl_803DD8B0: /* 803DD8B0 003D9510 38 63 00 60 */ addi r3, r3, 0x60 /* 803DD8B4 003D9514 48 00 00 10 */ b lbl_803DD8C4 lbl_803DD8B8: /* 803DD8B8 003D9518 38 63 00 40 */ addi r3, r3, 0x40 /* 803DD8BC 003D951C 48 00 00 08 */ b lbl_803DD8C4 lbl_803DD8C0: /* 803DD8C0 003D9520 38 63 00 20 */ addi r3, r3, 0x20 lbl_803DD8C4: /* 803DD8C4 003D9524 39 61 00 20 */ addi r11, r1, 0x20 /* 803DD8C8 003D9528 4B DE 98 B5 */ bl _restgpr_29 /* 803DD8CC 003D952C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DD8D0 003D9530 7C 08 03 A6 */ mtlr r0 /* 803DD8D4 003D9534 38 21 00 20 */ addi r1, r1, 0x20 /* 803DD8D8 003D9538 4E 80 00 20 */ blr .global func_803DD8DC func_803DD8DC: /* 803DD8DC 003D953C 2C 03 01 9D */ cmpwi r3, 0x19d /* 803DD8E0 003D9540 41 82 00 28 */ beq lbl_803DD908 /* 803DD8E4 003D9544 4C 80 00 20 */ bgelr /* 803DD8E8 003D9548 2C 03 01 82 */ cmpwi r3, 0x182 /* 803DD8EC 003D954C 4C 82 00 20 */ bnelr /* 803DD8F0 003D9550 2C 04 00 00 */ cmpwi r4, 0 /* 803DD8F4 003D9554 4D 82 00 20 */ beqlr /* 803DD8F8 003D9558 2C 04 00 03 */ cmpwi r4, 3 /* 803DD8FC 003D955C 4D 81 00 20 */ bgtlr /* 803DD900 003D9560 38 64 01 EF */ addi r3, r4, 0x1ef /* 803DD904 003D9564 4E 80 00 20 */ blr lbl_803DD908: /* 803DD908 003D9568 2C 04 00 00 */ cmpwi r4, 0 /* 803DD90C 003D956C 4D 82 00 20 */ beqlr /* 803DD910 003D9570 2C 04 00 02 */ cmpwi r4, 2 /* 803DD914 003D9574 4D 81 00 20 */ bgtlr /* 803DD918 003D9578 38 64 01 F2 */ addi r3, r4, 0x1f2 /* 803DD91C 003D957C 4E 80 00 20 */ blr .global func_803DD920 func_803DD920: /* 803DD920 003D9580 38 00 00 01 */ li r0, 1 /* 803DD924 003D9584 7C 69 03 A6 */ mtctr r3 /* 803DD928 003D9588 2C 03 00 00 */ cmpwi r3, 0 /* 803DD92C 003D958C 40 81 00 0C */ ble lbl_803DD938 lbl_803DD930: /* 803DD930 003D9590 54 00 08 3C */ slwi r0, r0, 1 /* 803DD934 003D9594 42 00 FF FC */ bdnz lbl_803DD930 lbl_803DD938: /* 803DD938 003D9598 7C 03 03 78 */ mr r3, r0 /* 803DD93C 003D959C 4E 80 00 20 */ blr .global func_803DD940 func_803DD940: /* 803DD940 003D95A0 38 00 00 20 */ li r0, 0x20 /* 803DD944 003D95A4 38 A0 00 01 */ li r5, 1 /* 803DD948 003D95A8 38 80 00 00 */ li r4, 0 /* 803DD94C 003D95AC 7C 09 03 A6 */ mtctr r0 lbl_803DD950: /* 803DD950 003D95B0 7C 60 28 39 */ and. r0, r3, r5 /* 803DD954 003D95B4 40 82 00 10 */ bne lbl_803DD964 /* 803DD958 003D95B8 54 A5 08 3C */ slwi r5, r5, 1 /* 803DD95C 003D95BC 38 84 00 01 */ addi r4, r4, 1 /* 803DD960 003D95C0 42 00 FF F0 */ bdnz lbl_803DD950 lbl_803DD964: /* 803DD964 003D95C4 7C 83 23 78 */ mr r3, r4 /* 803DD968 003D95C8 4E 80 00 20 */ blr .global func_803DD96C func_803DD96C: /* 803DD96C 003D95CC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DD970 003D95D0 7C 08 02 A6 */ mflr r0 /* 803DD974 003D95D4 90 01 00 14 */ stw r0, 0x14(r1) /* 803DD978 003D95D8 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DD97C 003D95DC 3B E0 00 00 */ li r31, 0 /* 803DD980 003D95E0 93 C1 00 08 */ stw r30, 8(r1) /* 803DD984 003D95E4 7C 7E 1B 78 */ mr r30, r3 /* 803DD988 003D95E8 A0 83 00 04 */ lhz r4, 4(r3) /* 803DD98C 003D95EC 54 80 8F FF */ rlwinm. r0, r4, 0x11, 0x1f, 0x1f /* 803DD990 003D95F0 40 82 00 30 */ bne lbl_803DD9C0 /* 803DD994 003D95F4 54 80 97 FE */ rlwinm r0, r4, 0x12, 0x1f, 0x1f /* 803DD998 003D95F8 3C 80 80 47 */ lis r4, lbl_804744A8@ha /* 803DD99C 003D95FC 7C 00 00 34 */ cntlzw r0, r0 /* 803DD9A0 003D9600 3B E0 00 01 */ li r31, 1 /* 803DD9A4 003D9604 54 03 D9 7E */ srwi r3, r0, 5 /* 803DD9A8 003D9608 38 84 44 A8 */ addi r4, r4, lbl_804744A8@l /* 803DD9AC 003D960C 4C C6 31 82 */ crclr 6 /* 803DD9B0 003D9610 4B FF BE ED */ bl func_803D989C /* 803DD9B4 003D9614 A0 1E 00 04 */ lhz r0, 4(r30) /* 803DD9B8 003D9618 60 00 C0 00 */ ori r0, r0, 0xc000 /* 803DD9BC 003D961C B0 1E 00 04 */ sth r0, 4(r30) lbl_803DD9C0: /* 803DD9C0 003D9620 7F E3 FB 78 */ mr r3, r31 /* 803DD9C4 003D9624 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DD9C8 003D9628 83 C1 00 08 */ lwz r30, 8(r1) /* 803DD9CC 003D962C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DD9D0 003D9630 7C 08 03 A6 */ mtlr r0 /* 803DD9D4 003D9634 38 21 00 10 */ addi r1, r1, 0x10 /* 803DD9D8 003D9638 4E 80 00 20 */ blr .global func_803DD9DC func_803DD9DC: /* 803DD9DC 003D963C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DD9E0 003D9640 7C 08 02 A6 */ mflr r0 /* 803DD9E4 003D9644 90 01 00 24 */ stw r0, 0x24(r1) /* 803DD9E8 003D9648 39 61 00 20 */ addi r11, r1, 0x20 /* 803DD9EC 003D964C 4B DE 97 45 */ bl _savegpr_29 /* 803DD9F0 003D9650 A0 03 00 04 */ lhz r0, 4(r3) /* 803DD9F4 003D9654 7C 7D 1B 78 */ mr r29, r3 /* 803DD9F8 003D9658 7C 9E 23 78 */ mr r30, r4 /* 803DD9FC 003D965C 7C BF 2B 78 */ mr r31, r5 /* 803DDA00 003D9660 54 00 8F FF */ rlwinm. r0, r0, 0x11, 0x1f, 0x1f /* 803DDA04 003D9664 40 82 00 48 */ bne lbl_803DDA4C /* 803DDA08 003D9668 38 80 00 80 */ li r4, 0x80 /* 803DDA0C 003D966C 38 63 00 08 */ addi r3, r3, 8 /* 803DDA10 003D9670 4B FF F7 79 */ bl GetChecksumRental /* 803DDA14 003D9674 A0 9D 00 06 */ lhz r4, 6(r29) /* 803DDA18 003D9678 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DDA1C 003D967C 7C 00 20 40 */ cmplw r0, r4 /* 803DDA20 003D9680 41 82 00 2C */ beq lbl_803DDA4C /* 803DDA24 003D9684 7C 00 20 50 */ subf r0, r0, r4 /* 803DDA28 003D9688 3C 80 80 47 */ lis r4, lbl_804744C9@ha /* 803DDA2C 003D968C 7C 00 00 34 */ cntlzw r0, r0 /* 803DDA30 003D9690 54 03 D9 7E */ srwi r3, r0, 5 /* 803DDA34 003D9694 38 84 44 C9 */ addi r4, r4, lbl_804744C9@l /* 803DDA38 003D9698 4C C6 31 82 */ crclr 6 /* 803DDA3C 003D969C 4B FF BE 61 */ bl func_803D989C /* 803DDA40 003D96A0 A0 1D 00 04 */ lhz r0, 4(r29) /* 803DDA44 003D96A4 60 00 20 00 */ ori r0, r0, 0x2000 /* 803DDA48 003D96A8 B0 1D 00 04 */ sth r0, 4(r29) lbl_803DDA4C: /* 803DDA4C 003D96AC 38 1E FF 61 */ addi r0, r30, -159 /* 803DDA50 003D96B0 28 00 00 0B */ cmplwi r0, 0xb /* 803DDA54 003D96B4 41 81 00 7C */ bgt lbl_803DDAD0 /* 803DDA58 003D96B8 3C 60 80 47 */ lis r3, lbl_804744DC@ha /* 803DDA5C 003D96BC 54 00 10 3A */ slwi r0, r0, 2 /* 803DDA60 003D96C0 38 63 44 DC */ addi r3, r3, lbl_804744DC@l /* 803DDA64 003D96C4 7C 63 00 2E */ lwzx r3, r3, r0 /* 803DDA68 003D96C8 7C 69 03 A6 */ mtctr r3 /* 803DDA6C 003D96CC 4E 80 04 20 */ bctr /* 803DDA70 003D96D0 80 7D 00 88 */ lwz r3, 0x88(r29) /* 803DDA74 003D96D4 48 00 00 6C */ b lbl_803DDAE0 /* 803DDA78 003D96D8 88 7D 00 8C */ lbz r3, 0x8c(r29) /* 803DDA7C 003D96DC 48 00 00 64 */ b lbl_803DDAE0 /* 803DDA80 003D96E0 88 7D 00 8D */ lbz r3, 0x8d(r29) /* 803DDA84 003D96E4 48 00 00 5C */ b lbl_803DDAE0 /* 803DDA88 003D96E8 A0 7D 00 8E */ lhz r3, 0x8e(r29) /* 803DDA8C 003D96EC 48 00 00 54 */ b lbl_803DDAE0 /* 803DDA90 003D96F0 A0 7D 00 90 */ lhz r3, 0x90(r29) /* 803DDA94 003D96F4 48 00 00 4C */ b lbl_803DDAE0 /* 803DDA98 003D96F8 A0 7D 00 92 */ lhz r3, 0x92(r29) /* 803DDA9C 003D96FC 48 00 00 44 */ b lbl_803DDAE0 /* 803DDAA0 003D9700 A0 7D 00 94 */ lhz r3, 0x94(r29) /* 803DDAA4 003D9704 48 00 00 3C */ b lbl_803DDAE0 /* 803DDAA8 003D9708 A0 7D 00 96 */ lhz r3, 0x96(r29) /* 803DDAAC 003D970C 48 00 00 34 */ b lbl_803DDAE0 /* 803DDAB0 003D9710 A0 7D 00 98 */ lhz r3, 0x98(r29) /* 803DDAB4 003D9714 48 00 00 2C */ b lbl_803DDAE0 /* 803DDAB8 003D9718 A0 7D 00 9A */ lhz r3, 0x9a(r29) /* 803DDABC 003D971C 48 00 00 24 */ b lbl_803DDAE0 /* 803DDAC0 003D9720 38 60 00 01 */ li r3, 1 /* 803DDAC4 003D9724 48 00 00 1C */ b lbl_803DDAE0 /* 803DDAC8 003D9728 38 60 00 01 */ li r3, 1 /* 803DDACC 003D972C 48 00 00 14 */ b lbl_803DDAE0 lbl_803DDAD0: /* 803DDAD0 003D9730 7F A3 EB 78 */ mr r3, r29 /* 803DDAD4 003D9734 7F C4 F3 78 */ mr r4, r30 /* 803DDAD8 003D9738 7F E5 FB 78 */ mr r5, r31 /* 803DDADC 003D973C 4B FF D4 B9 */ bl func_803DAF94 lbl_803DDAE0: /* 803DDAE0 003D9740 39 61 00 20 */ addi r11, r1, 0x20 /* 803DDAE4 003D9744 4B DE 96 99 */ bl _restgpr_29 /* 803DDAE8 003D9748 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DDAEC 003D974C 7C 08 03 A6 */ mtlr r0 /* 803DDAF0 003D9750 38 21 00 20 */ addi r1, r1, 0x20 /* 803DDAF4 003D9754 4E 80 00 20 */ blr .global func_803DDAF8 func_803DDAF8: /* 803DDAF8 003D9758 94 21 FF 90 */ stwu r1, -0x70(r1) /* 803DDAFC 003D975C 7C 08 02 A6 */ mflr r0 /* 803DDB00 003D9760 90 01 00 74 */ stw r0, 0x74(r1) /* 803DDB04 003D9764 39 61 00 70 */ addi r11, r1, 0x70 /* 803DDB08 003D9768 4B DE 96 19 */ bl _savegpr_25 /* 803DDB0C 003D976C 7C 9A 23 78 */ mr r26, r4 /* 803DDB10 003D9770 80 83 00 00 */ lwz r4, 0(r3) /* 803DDB14 003D9774 7C 79 1B 78 */ mr r25, r3 /* 803DDB18 003D9778 7C BB 2B 78 */ mr r27, r5 /* 803DDB1C 003D977C 3B 85 00 02 */ addi r28, r5, 2 /* 803DDB20 003D9780 38 A0 00 00 */ li r5, 0 /* 803DDB24 003D9784 4B FF F6 95 */ bl func_803DD1B8 /* 803DDB28 003D9788 80 99 00 00 */ lwz r4, 0(r25) /* 803DDB2C 003D978C 7C 7E 1B 78 */ mr r30, r3 /* 803DDB30 003D9790 7F 23 CB 78 */ mr r3, r25 /* 803DDB34 003D9794 38 A0 00 01 */ li r5, 1 /* 803DDB38 003D9798 4B FF F6 81 */ bl func_803DD1B8 /* 803DDB3C 003D979C 80 99 00 00 */ lwz r4, 0(r25) /* 803DDB40 003D97A0 7C 7F 1B 78 */ mr r31, r3 /* 803DDB44 003D97A4 7F 23 CB 78 */ mr r3, r25 /* 803DDB48 003D97A8 38 A0 00 02 */ li r5, 2 /* 803DDB4C 003D97AC 4B FF F6 6D */ bl func_803DD1B8 /* 803DDB50 003D97B0 80 99 00 00 */ lwz r4, 0(r25) /* 803DDB54 003D97B4 7C 7D 1B 78 */ mr r29, r3 /* 803DDB58 003D97B8 7F 23 CB 78 */ mr r3, r25 /* 803DDB5C 003D97BC 38 A0 00 03 */ li r5, 3 /* 803DDB60 003D97C0 4B FF F6 59 */ bl func_803DD1B8 /* 803DDB64 003D97C4 28 1A 00 B2 */ cmplwi r26, 0xb2 /* 803DDB68 003D97C8 7C 64 1B 78 */ mr r4, r3 /* 803DDB6C 003D97CC 41 81 05 78 */ bgt lbl_803DE0E4 /* 803DDB70 003D97D0 3C A0 80 47 */ lis r5, lbl_80474824@ha /* 803DDB74 003D97D4 57 40 10 3A */ slwi r0, r26, 2 /* 803DDB78 003D97D8 38 A5 48 24 */ addi r5, r5, lbl_80474824@l /* 803DDB7C 003D97DC 7C A5 00 2E */ lwzx r5, r5, r0 /* 803DDB80 003D97E0 7C A9 03 A6 */ mtctr r5 /* 803DDB84 003D97E4 4E 80 04 20 */ bctr /* 803DDB88 003D97E8 80 1B 00 00 */ lwz r0, 0(r27) /* 803DDB8C 003D97EC 90 19 00 00 */ stw r0, 0(r25) /* 803DDB90 003D97F0 48 00 05 54 */ b lbl_803DE0E4 /* 803DDB94 003D97F4 3C 80 80 47 */ lis r4, lbl_80474808@ha /* 803DDB98 003D97F8 38 60 00 00 */ li r3, 0 /* 803DDB9C 003D97FC 38 84 48 08 */ addi r4, r4, lbl_80474808@l /* 803DDBA0 003D9800 4C C6 31 82 */ crclr 6 /* 803DDBA4 003D9804 4B FF BC F9 */ bl func_803D989C /* 803DDBA8 003D9808 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDBAC 003D980C A0 19 00 04 */ lhz r0, 4(r25) /* 803DDBB0 003D9810 50 60 7C 20 */ rlwimi r0, r3, 0xf, 0x10, 0x10 /* 803DDBB4 003D9814 B0 19 00 04 */ sth r0, 4(r25) /* 803DDBB8 003D9818 48 00 05 2C */ b lbl_803DE0E4 /* 803DDBBC 003D981C 3C 80 80 47 */ lis r4, lbl_80474808@ha /* 803DDBC0 003D9820 38 60 00 00 */ li r3, 0 /* 803DDBC4 003D9824 38 84 48 08 */ addi r4, r4, lbl_80474808@l /* 803DDBC8 003D9828 4C C6 31 82 */ crclr 6 /* 803DDBCC 003D982C 4B FF BC D1 */ bl func_803D989C /* 803DDBD0 003D9830 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDBD4 003D9834 A0 19 00 04 */ lhz r0, 4(r25) /* 803DDBD8 003D9838 50 60 74 62 */ rlwimi r0, r3, 0xe, 0x11, 0x11 /* 803DDBDC 003D983C B0 19 00 04 */ sth r0, 4(r25) /* 803DDBE0 003D9840 48 00 05 04 */ b lbl_803DE0E4 /* 803DDBE4 003D9844 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDBE8 003D9848 A0 19 00 04 */ lhz r0, 4(r25) /* 803DDBEC 003D984C 50 60 6C A4 */ rlwimi r0, r3, 0xd, 0x12, 0x12 /* 803DDBF0 003D9850 B0 19 00 04 */ sth r0, 4(r25) /* 803DDBF4 003D9854 48 00 04 F0 */ b lbl_803DE0E4 /* 803DDBF8 003D9858 A0 1C 00 00 */ lhz r0, 0(r28) /* 803DDBFC 003D985C B0 19 00 06 */ sth r0, 6(r25) /* 803DDC00 003D9860 48 00 04 E4 */ b lbl_803DE0E4 /* 803DDC04 003D9864 A0 1C 00 00 */ lhz r0, 0(r28) /* 803DDC08 003D9868 B0 1E 00 00 */ sth r0, 0(r30) /* 803DDC0C 003D986C 48 00 04 D8 */ b lbl_803DE0E4 /* 803DDC10 003D9870 A0 1C 00 00 */ lhz r0, 0(r28) /* 803DDC14 003D9874 B0 1E 00 02 */ sth r0, 2(r30) /* 803DDC18 003D9878 48 00 04 CC */ b lbl_803DE0E4 /* 803DDC1C 003D987C 80 1B 00 00 */ lwz r0, 0(r27) /* 803DDC20 003D9880 90 1E 00 04 */ stw r0, 4(r30) /* 803DDC24 003D9884 48 00 04 C0 */ b lbl_803DE0E4 /* 803DDC28 003D9888 80 1B 00 00 */ lwz r0, 0(r27) /* 803DDC2C 003D988C 90 1E 00 08 */ stw r0, 8(r30) /* 803DDC30 003D9890 48 00 04 B4 */ b lbl_803DE0E4 /* 803DDC34 003D9894 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDC38 003D9898 98 1E 00 0C */ stb r0, 0xc(r30) /* 803DDC3C 003D989C 48 00 04 A8 */ b lbl_803DE0E4 /* 803DDC40 003D98A0 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDC44 003D98A4 98 1E 00 0D */ stb r0, 0xd(r30) /* 803DDC48 003D98A8 48 00 04 9C */ b lbl_803DE0E4 /* 803DDC4C 003D98AC 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDC50 003D98B0 98 1E 00 0E */ stb r0, 0xe(r30) /* 803DDC54 003D98B4 48 00 04 90 */ b lbl_803DE0E4 /* 803DDC58 003D98B8 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDC5C 003D98BC 98 1E 00 0F */ stb r0, 0xf(r30) /* 803DDC60 003D98C0 48 00 04 84 */ b lbl_803DE0E4 /* 803DDC64 003D98C4 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDC68 003D98C8 98 1E 00 10 */ stb r0, 0x10(r30) /* 803DDC6C 003D98CC 48 00 04 78 */ b lbl_803DE0E4 /* 803DDC70 003D98D0 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDC74 003D98D4 98 1E 00 11 */ stb r0, 0x11(r30) /* 803DDC78 003D98D8 48 00 04 6C */ b lbl_803DE0E4 /* 803DDC7C 003D98DC 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDC80 003D98E0 98 1E 00 12 */ stb r0, 0x12(r30) /* 803DDC84 003D98E4 48 00 04 60 */ b lbl_803DE0E4 /* 803DDC88 003D98E8 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDC8C 003D98EC 98 1E 00 13 */ stb r0, 0x13(r30) /* 803DDC90 003D98F0 48 00 04 54 */ b lbl_803DE0E4 /* 803DDC94 003D98F4 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDC98 003D98F8 98 1E 00 14 */ stb r0, 0x14(r30) /* 803DDC9C 003D98FC 48 00 04 48 */ b lbl_803DE0E4 /* 803DDCA0 003D9900 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDCA4 003D9904 98 1E 00 15 */ stb r0, 0x15(r30) /* 803DDCA8 003D9908 48 00 04 3C */ b lbl_803DE0E4 /* 803DDCAC 003D990C 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDCB0 003D9910 98 1E 00 16 */ stb r0, 0x16(r30) /* 803DDCB4 003D9914 48 00 04 30 */ b lbl_803DE0E4 /* 803DDCB8 003D9918 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDCBC 003D991C 98 1E 00 17 */ stb r0, 0x17(r30) /* 803DDCC0 003D9920 48 00 04 24 */ b lbl_803DE0E4 /* 803DDCC4 003D9924 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDCC8 003D9928 98 1E 00 18 */ stb r0, 0x18(r30) /* 803DDCCC 003D992C 48 00 04 18 */ b lbl_803DE0E4 /* 803DDCD0 003D9930 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDCD4 003D9934 98 1E 00 19 */ stb r0, 0x19(r30) /* 803DDCD8 003D9938 48 00 04 0C */ b lbl_803DE0E4 /* 803DDCDC 003D993C 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDCE0 003D9940 98 1E 00 1A */ stb r0, 0x1a(r30) /* 803DDCE4 003D9944 48 00 04 00 */ b lbl_803DE0E4 /* 803DDCE8 003D9948 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDCEC 003D994C 98 1E 00 1B */ stb r0, 0x1b(r30) /* 803DDCF0 003D9950 48 00 03 F4 */ b lbl_803DE0E4 /* 803DDCF4 003D9954 8B BB 00 03 */ lbz r29, 3(r27) /* 803DDCF8 003D9958 38 BA FF E7 */ addi r5, r26, -25 /* 803DDCFC 003D995C 38 60 00 00 */ li r3, 0 /* 803DDD00 003D9960 7F A4 EB 78 */ mr r4, r29 /* 803DDD04 003D9964 4B DE 98 9D */ bl __shl2i /* 803DDD08 003D9968 2C 1D 00 00 */ cmpwi r29, 0 /* 803DDD0C 003D996C 41 82 00 14 */ beq lbl_803DDD20 /* 803DDD10 003D9970 80 1E 00 1C */ lwz r0, 0x1c(r30) /* 803DDD14 003D9974 7C 00 23 78 */ or r0, r0, r4 /* 803DDD18 003D9978 90 1E 00 1C */ stw r0, 0x1c(r30) /* 803DDD1C 003D997C 48 00 03 C8 */ b lbl_803DE0E4 lbl_803DDD20: /* 803DDD20 003D9980 38 00 FF FF */ li r0, -1 /* 803DDD24 003D9984 80 7E 00 1C */ lwz r3, 0x1c(r30) /* 803DDD28 003D9988 7C 80 02 78 */ xor r0, r4, r0 /* 803DDD2C 003D998C 7C 60 00 38 */ and r0, r3, r0 /* 803DDD30 003D9990 90 1E 00 1C */ stw r0, 0x1c(r30) /* 803DDD34 003D9994 48 00 03 B0 */ b lbl_803DE0E4 /* 803DDD38 003D9998 38 1A FF CA */ addi r0, r26, -54 /* 803DDD3C 003D999C A0 7C 00 00 */ lhz r3, 0(r28) /* 803DDD40 003D99A0 54 00 08 3C */ slwi r0, r0, 1 /* 803DDD44 003D99A4 7C 7F 03 2E */ sthx r3, r31, r0 /* 803DDD48 003D99A8 48 00 03 9C */ b lbl_803DE0E4 /* 803DDD4C 003D99AC 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDD50 003D99B0 7C 7A FA 14 */ add r3, r26, r31 /* 803DDD54 003D99B4 98 03 FF CE */ stb r0, -0x32(r3) /* 803DDD58 003D99B8 48 00 03 8C */ b lbl_803DE0E4 /* 803DDD5C 003D99BC 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDD60 003D99C0 7C 7A FA 14 */ add r3, r26, r31 /* 803DDD64 003D99C4 98 03 FF CE */ stb r0, -0x32(r3) /* 803DDD68 003D99C8 48 00 03 7C */ b lbl_803DE0E4 /* 803DDD6C 003D99CC 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDD70 003D99D0 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803DDD74 003D99D4 50 60 D8 08 */ rlwimi r0, r3, 0x1b, 0, 4 /* 803DDD78 003D99D8 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DDD7C 003D99DC 48 00 03 68 */ b lbl_803DE0E4 /* 803DDD80 003D99E0 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDD84 003D99E4 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803DDD88 003D99E8 50 60 B1 52 */ rlwimi r0, r3, 0x16, 5, 9 /* 803DDD8C 003D99EC 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DDD90 003D99F0 48 00 03 54 */ b lbl_803DE0E4 /* 803DDD94 003D99F4 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDD98 003D99F8 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803DDD9C 003D99FC 50 60 8A 9C */ rlwimi r0, r3, 0x11, 0xa, 0xe /* 803DDDA0 003D9A00 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DDDA4 003D9A04 48 00 03 40 */ b lbl_803DE0E4 /* 803DDDA8 003D9A08 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDDAC 003D9A0C 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803DDDB0 003D9A10 50 60 63 E6 */ rlwimi r0, r3, 0xc, 0xf, 0x13 /* 803DDDB4 003D9A14 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DDDB8 003D9A18 48 00 03 2C */ b lbl_803DE0E4 /* 803DDDBC 003D9A1C 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDDC0 003D9A20 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803DDDC4 003D9A24 50 60 3D 30 */ rlwimi r0, r3, 7, 0x14, 0x18 /* 803DDDC8 003D9A28 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DDDCC 003D9A2C 48 00 03 18 */ b lbl_803DE0E4 /* 803DDDD0 003D9A30 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDDD4 003D9A34 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803DDDD8 003D9A38 50 60 16 7A */ rlwimi r0, r3, 2, 0x19, 0x1d /* 803DDDDC 003D9A3C 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DDDE0 003D9A40 48 00 03 04 */ b lbl_803DE0E4 /* 803DDDE4 003D9A44 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDDE8 003D9A48 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803DDDEC 003D9A4C 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 803DDDF0 003D9A50 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DDDF4 003D9A54 48 00 02 F0 */ b lbl_803DE0E4 /* 803DDDF8 003D9A58 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDDFC 003D9A5C 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803DDE00 003D9A60 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 803DDE04 003D9A64 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DDE08 003D9A68 48 00 02 DC */ b lbl_803DE0E4 /* 803DDE0C 003D9A6C 8B BB 00 03 */ lbz r29, 3(r27) /* 803DDE10 003D9A70 38 BA FF B2 */ addi r5, r26, -78 /* 803DDE14 003D9A74 38 60 00 00 */ li r3, 0 /* 803DDE18 003D9A78 7F A4 EB 78 */ mr r4, r29 /* 803DDE1C 003D9A7C 4B DE 97 85 */ bl __shl2i /* 803DDE20 003D9A80 2C 1D 00 00 */ cmpwi r29, 0 /* 803DDE24 003D9A84 41 82 00 14 */ beq lbl_803DDE38 /* 803DDE28 003D9A88 80 1F 00 14 */ lwz r0, 0x14(r31) /* 803DDE2C 003D9A8C 7C 00 23 78 */ or r0, r0, r4 /* 803DDE30 003D9A90 90 1F 00 14 */ stw r0, 0x14(r31) /* 803DDE34 003D9A94 48 00 02 B0 */ b lbl_803DE0E4 lbl_803DDE38: /* 803DDE38 003D9A98 38 00 FF FF */ li r0, -1 /* 803DDE3C 003D9A9C 80 7F 00 14 */ lwz r3, 0x14(r31) /* 803DDE40 003D9AA0 7C 80 02 78 */ xor r0, r4, r0 /* 803DDE44 003D9AA4 7C 60 00 38 */ and r0, r3, r0 /* 803DDE48 003D9AA8 90 1F 00 14 */ stw r0, 0x14(r31) /* 803DDE4C 003D9AAC 48 00 02 98 */ b lbl_803DE0E4 /* 803DDE50 003D9AB0 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDE54 003D9AB4 88 1F 00 18 */ lbz r0, 0x18(r31) /* 803DDE58 003D9AB8 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 803DDE5C 003D9ABC 98 1F 00 18 */ stb r0, 0x18(r31) /* 803DDE60 003D9AC0 48 00 02 84 */ b lbl_803DE0E4 /* 803DDE64 003D9AC4 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDE68 003D9AC8 88 1F 00 18 */ lbz r0, 0x18(r31) /* 803DDE6C 003D9ACC 50 60 2E 74 */ rlwimi r0, r3, 5, 0x19, 0x1a /* 803DDE70 003D9AD0 98 1F 00 18 */ stb r0, 0x18(r31) /* 803DDE74 003D9AD4 48 00 02 70 */ b lbl_803DE0E4 /* 803DDE78 003D9AD8 88 7B 00 03 */ lbz r3, 3(r27) /* 803DDE7C 003D9ADC 88 1F 00 18 */ lbz r0, 0x18(r31) /* 803DDE80 003D9AE0 50 60 06 FE */ rlwimi r0, r3, 0, 0x1b, 0x1f /* 803DDE84 003D9AE4 98 1F 00 18 */ stb r0, 0x18(r31) /* 803DDE88 003D9AE8 48 00 02 5C */ b lbl_803DE0E4 /* 803DDE8C 003D9AEC 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDE90 003D9AF0 98 1F 00 19 */ stb r0, 0x19(r31) /* 803DDE94 003D9AF4 48 00 02 50 */ b lbl_803DE0E4 /* 803DDE98 003D9AF8 A0 1C 00 00 */ lhz r0, 0(r28) /* 803DDE9C 003D9AFC B0 1F 00 1A */ sth r0, 0x1a(r31) /* 803DDEA0 003D9B00 48 00 02 44 */ b lbl_803DE0E4 /* 803DDEA4 003D9B04 A0 7E 00 00 */ lhz r3, 0(r30) /* 803DDEA8 003D9B08 38 A1 00 34 */ addi r5, r1, 0x34 /* 803DDEAC 003D9B0C 38 80 00 00 */ li r4, 0 /* 803DDEB0 003D9B10 48 00 23 1D */ bl func_803E01CC /* 803DDEB4 003D9B14 7F 84 E3 78 */ mr r4, r28 /* 803DDEB8 003D9B18 38 61 00 34 */ addi r3, r1, 0x34 /* 803DDEBC 003D9B1C 48 00 0D BD */ bl func_803DEC78 /* 803DDEC0 003D9B20 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803DDEC4 003D9B24 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 803DDEC8 003D9B28 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DDECC 003D9B2C 38 00 00 0B */ li r0, 0xb /* 803DDED0 003D9B30 38 60 00 00 */ li r3, 0 /* 803DDED4 003D9B34 7C 09 03 A6 */ mtctr r0 lbl_803DDED8: /* 803DDED8 003D9B38 7C 1B 1A 2E */ lhzx r0, r27, r3 /* 803DDEDC 003D9B3C 7C 1D 1B 2E */ sthx r0, r29, r3 /* 803DDEE0 003D9B40 38 63 00 02 */ addi r3, r3, 2 /* 803DDEE4 003D9B44 42 00 FF F4 */ bdnz lbl_803DDED8 /* 803DDEE8 003D9B48 48 00 01 FC */ b lbl_803DE0E4 /* 803DDEEC 003D9B4C A0 7E 00 00 */ lhz r3, 0(r30) /* 803DDEF0 003D9B50 38 A1 00 1E */ addi r5, r1, 0x1e /* 803DDEF4 003D9B54 38 80 00 00 */ li r4, 0 /* 803DDEF8 003D9B58 48 00 22 D5 */ bl func_803E01CC /* 803DDEFC 003D9B5C 7F 63 DB 78 */ mr r3, r27 /* 803DDF00 003D9B60 38 81 00 08 */ addi r4, r1, 8 /* 803DDF04 003D9B64 38 A0 00 0B */ li r5, 0xb /* 803DDF08 003D9B68 48 00 14 D1 */ bl func_803DF3D8 /* 803DDF0C 003D9B6C 38 61 00 1E */ addi r3, r1, 0x1e /* 803DDF10 003D9B70 38 81 00 08 */ addi r4, r1, 8 /* 803DDF14 003D9B74 48 00 0D 65 */ bl func_803DEC78 /* 803DDF18 003D9B78 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803DDF1C 003D9B7C 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 803DDF20 003D9B80 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DDF24 003D9B84 7F 63 DB 78 */ mr r3, r27 /* 803DDF28 003D9B88 7F A4 EB 78 */ mr r4, r29 /* 803DDF2C 003D9B8C 38 A0 00 0B */ li r5, 0xb /* 803DDF30 003D9B90 48 00 14 A9 */ bl func_803DF3D8 /* 803DDF34 003D9B94 48 00 01 B0 */ b lbl_803DE0E4 /* 803DDF38 003D9B98 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDF3C 003D9B9C 98 1D 00 16 */ stb r0, 0x16(r29) /* 803DDF40 003D9BA0 48 00 01 A4 */ b lbl_803DE0E4 /* 803DDF44 003D9BA4 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDF48 003D9BA8 98 1D 00 17 */ stb r0, 0x17(r29) /* 803DDF4C 003D9BAC 48 00 01 98 */ b lbl_803DE0E4 /* 803DDF50 003D9BB0 8B DB 00 03 */ lbz r30, 3(r27) /* 803DDF54 003D9BB4 38 BA FF 86 */ addi r5, r26, -122 /* 803DDF58 003D9BB8 38 60 00 00 */ li r3, 0 /* 803DDF5C 003D9BBC 7F C4 F3 78 */ mr r4, r30 /* 803DDF60 003D9BC0 4B DE 96 41 */ bl __shl2i /* 803DDF64 003D9BC4 2C 1E 00 00 */ cmpwi r30, 0 /* 803DDF68 003D9BC8 41 82 00 20 */ beq lbl_803DDF88 /* 803DDF6C 003D9BCC 80 1D 00 1C */ lwz r0, 0x1c(r29) /* 803DDF70 003D9BD0 80 BD 00 18 */ lwz r5, 0x18(r29) /* 803DDF74 003D9BD4 7C 00 23 78 */ or r0, r0, r4 /* 803DDF78 003D9BD8 90 1D 00 1C */ stw r0, 0x1c(r29) /* 803DDF7C 003D9BDC 7C A0 1B 78 */ or r0, r5, r3 /* 803DDF80 003D9BE0 90 1D 00 18 */ stw r0, 0x18(r29) /* 803DDF84 003D9BE4 48 00 01 60 */ b lbl_803DE0E4 lbl_803DDF88: /* 803DDF88 003D9BE8 38 A0 FF FF */ li r5, -1 /* 803DDF8C 003D9BEC 80 DD 00 1C */ lwz r6, 0x1c(r29) /* 803DDF90 003D9BF0 7C 80 2A 78 */ xor r0, r4, r5 /* 803DDF94 003D9BF4 80 9D 00 18 */ lwz r4, 0x18(r29) /* 803DDF98 003D9BF8 7C C0 00 38 */ and r0, r6, r0 /* 803DDF9C 003D9BFC 7C 63 2A 78 */ xor r3, r3, r5 /* 803DDFA0 003D9C00 90 1D 00 1C */ stw r0, 0x1c(r29) /* 803DDFA4 003D9C04 7C 80 18 38 */ and r0, r4, r3 /* 803DDFA8 003D9C08 90 1D 00 18 */ stw r0, 0x18(r29) /* 803DDFAC 003D9C0C 48 00 01 38 */ b lbl_803DE0E4 /* 803DDFB0 003D9C10 38 00 00 08 */ li r0, 8 /* 803DDFB4 003D9C14 38 80 00 00 */ li r4, 0 /* 803DDFB8 003D9C18 7C 09 03 A6 */ mtctr r0 lbl_803DDFBC: /* 803DDFBC 003D9C1C 7C 1B 22 2E */ lhzx r0, r27, r4 /* 803DDFC0 003D9C20 7C 03 23 2E */ sthx r0, r3, r4 /* 803DDFC4 003D9C24 38 84 00 02 */ addi r4, r4, 2 /* 803DDFC8 003D9C28 42 00 FF F4 */ bdnz lbl_803DDFBC /* 803DDFCC 003D9C2C 48 00 01 18 */ b lbl_803DE0E4 /* 803DDFD0 003D9C30 7F 63 DB 78 */ mr r3, r27 /* 803DDFD4 003D9C34 38 A0 00 08 */ li r5, 8 /* 803DDFD8 003D9C38 48 00 14 01 */ bl func_803DF3D8 /* 803DDFDC 003D9C3C 48 00 01 08 */ b lbl_803DE0E4 /* 803DDFE0 003D9C40 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDFE4 003D9C44 98 03 00 10 */ stb r0, 0x10(r3) /* 803DDFE8 003D9C48 48 00 00 FC */ b lbl_803DE0E4 /* 803DDFEC 003D9C4C 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDFF0 003D9C50 98 03 00 11 */ stb r0, 0x11(r3) /* 803DDFF4 003D9C54 48 00 00 F0 */ b lbl_803DE0E4 /* 803DDFF8 003D9C58 88 1B 00 03 */ lbz r0, 3(r27) /* 803DDFFC 003D9C5C 98 03 00 12 */ stb r0, 0x12(r3) /* 803DE000 003D9C60 48 00 00 E4 */ b lbl_803DE0E4 /* 803DE004 003D9C64 88 1B 00 03 */ lbz r0, 3(r27) /* 803DE008 003D9C68 98 03 00 13 */ stb r0, 0x13(r3) /* 803DE00C 003D9C6C 48 00 00 D8 */ b lbl_803DE0E4 /* 803DE010 003D9C70 88 1B 00 03 */ lbz r0, 3(r27) /* 803DE014 003D9C74 98 03 00 14 */ stb r0, 0x14(r3) /* 803DE018 003D9C78 48 00 00 CC */ b lbl_803DE0E4 /* 803DE01C 003D9C7C 88 1B 00 03 */ lbz r0, 3(r27) /* 803DE020 003D9C80 98 03 00 15 */ stb r0, 0x15(r3) /* 803DE024 003D9C84 48 00 00 C0 */ b lbl_803DE0E4 /* 803DE028 003D9C88 A0 1C 00 00 */ lhz r0, 0(r28) /* 803DE02C 003D9C8C B0 03 00 16 */ sth r0, 0x16(r3) /* 803DE030 003D9C90 48 00 00 B4 */ b lbl_803DE0E4 /* 803DE034 003D9C94 A0 1C 00 00 */ lhz r0, 0(r28) /* 803DE038 003D9C98 B0 03 00 18 */ sth r0, 0x18(r3) /* 803DE03C 003D9C9C 48 00 00 A8 */ b lbl_803DE0E4 /* 803DE040 003D9CA0 88 1B 00 03 */ lbz r0, 3(r27) /* 803DE044 003D9CA4 98 03 00 1A */ stb r0, 0x1a(r3) /* 803DE048 003D9CA8 48 00 00 9C */ b lbl_803DE0E4 /* 803DE04C 003D9CAC 88 1B 00 03 */ lbz r0, 3(r27) /* 803DE050 003D9CB0 98 03 00 1B */ stb r0, 0x1b(r3) /* 803DE054 003D9CB4 48 00 00 90 */ b lbl_803DE0E4 /* 803DE058 003D9CB8 88 9B 00 03 */ lbz r4, 3(r27) /* 803DE05C 003D9CBC 88 03 00 1C */ lbz r0, 0x1c(r3) /* 803DE060 003D9CC0 50 80 0E 3C */ rlwimi r0, r4, 1, 0x18, 0x1e /* 803DE064 003D9CC4 98 03 00 1C */ stb r0, 0x1c(r3) /* 803DE068 003D9CC8 48 00 00 7C */ b lbl_803DE0E4 /* 803DE06C 003D9CCC 88 9B 00 03 */ lbz r4, 3(r27) /* 803DE070 003D9CD0 88 03 00 1C */ lbz r0, 0x1c(r3) /* 803DE074 003D9CD4 50 80 07 FE */ rlwimi r0, r4, 0, 0x1f, 0x1f /* 803DE078 003D9CD8 98 03 00 1C */ stb r0, 0x1c(r3) /* 803DE07C 003D9CDC 48 00 00 68 */ b lbl_803DE0E4 /* 803DE080 003D9CE0 88 1B 00 03 */ lbz r0, 3(r27) /* 803DE084 003D9CE4 98 03 00 1D */ stb r0, 0x1d(r3) /* 803DE088 003D9CE8 48 00 00 5C */ b lbl_803DE0E4 /* 803DE08C 003D9CEC A0 1C 00 00 */ lhz r0, 0(r28) /* 803DE090 003D9CF0 B0 03 00 1E */ sth r0, 0x1e(r3) /* 803DE094 003D9CF4 48 00 00 50 */ b lbl_803DE0E4 /* 803DE098 003D9CF8 80 7B 00 00 */ lwz r3, 0(r27) /* 803DE09C 003D9CFC 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803DE0A0 003D9D00 50 60 D8 08 */ rlwimi r0, r3, 0x1b, 0, 4 /* 803DE0A4 003D9D04 50 60 89 52 */ rlwimi r0, r3, 0x11, 5, 9 /* 803DE0A8 003D9D08 50 60 3A 9C */ rlwimi r0, r3, 7, 0xa, 0xe /* 803DE0AC 003D9D0C 50 60 EB E6 */ rlwimi r0, r3, 0x1d, 0xf, 0x13 /* 803DE0B0 003D9D10 50 60 9D 30 */ rlwimi r0, r3, 0x13, 0x14, 0x18 /* 803DE0B4 003D9D14 50 60 4E 7A */ rlwimi r0, r3, 9, 0x19, 0x1d /* 803DE0B8 003D9D18 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DE0BC 003D9D1C 48 00 00 28 */ b lbl_803DE0E4 /* 803DE0C0 003D9D20 A0 7E 00 00 */ lhz r3, 0(r30) /* 803DE0C4 003D9D24 38 80 00 00 */ li r4, 0 /* 803DE0C8 003D9D28 48 00 14 89 */ bl func_803DF550 /* 803DE0CC 003D9D2C 7C 7C 1B 78 */ mr r28, r3 /* 803DE0D0 003D9D30 7F A4 EB 78 */ mr r4, r29 /* 803DE0D4 003D9D34 38 A0 00 0B */ li r5, 0xb /* 803DE0D8 003D9D38 48 00 13 01 */ bl func_803DF3D8 /* 803DE0DC 003D9D3C 7F 83 E3 78 */ mr r3, r28 /* 803DE0E0 003D9D40 48 00 0F 59 */ bl func_803DF038 lbl_803DE0E4: /* 803DE0E4 003D9D44 39 61 00 70 */ addi r11, r1, 0x70 /* 803DE0E8 003D9D48 4B DE 90 85 */ bl _restgpr_25 /* 803DE0EC 003D9D4C 80 01 00 74 */ lwz r0, 0x74(r1) /* 803DE0F0 003D9D50 7C 08 03 A6 */ mtlr r0 /* 803DE0F4 003D9D54 38 21 00 70 */ addi r1, r1, 0x70 /* 803DE0F8 003D9D58 4E 80 00 20 */ blr .global func_803DE0FC func_803DE0FC: /* 803DE0FC 003D9D5C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DE100 003D9D60 7C 08 02 A6 */ mflr r0 /* 803DE104 003D9D64 90 01 00 24 */ stw r0, 0x24(r1) /* 803DE108 003D9D68 39 61 00 20 */ addi r11, r1, 0x20 /* 803DE10C 003D9D6C 4B DE 90 25 */ bl _savegpr_29 /* 803DE110 003D9D70 A0 03 00 04 */ lhz r0, 4(r3) /* 803DE114 003D9D74 7C 7D 1B 78 */ mr r29, r3 /* 803DE118 003D9D78 7C 9E 23 78 */ mr r30, r4 /* 803DE11C 003D9D7C 7C BF 2B 78 */ mr r31, r5 /* 803DE120 003D9D80 54 00 8F FF */ rlwinm. r0, r0, 0x11, 0x1f, 0x1f /* 803DE124 003D9D84 40 82 00 40 */ bne lbl_803DE164 /* 803DE128 003D9D88 38 80 00 80 */ li r4, 0x80 /* 803DE12C 003D9D8C 38 63 00 08 */ addi r3, r3, 8 /* 803DE130 003D9D90 4B FF F0 59 */ bl GetChecksumRental /* 803DE134 003D9D94 A0 9D 00 06 */ lhz r4, 6(r29) /* 803DE138 003D9D98 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803DE13C 003D9D9C 7C 00 20 40 */ cmplw r0, r4 /* 803DE140 003D9DA0 41 82 00 24 */ beq lbl_803DE164 /* 803DE144 003D9DA4 7C 00 20 50 */ subf r0, r0, r4 /* 803DE148 003D9DA8 3C 80 80 47 */ lis r4, lbl_804744C9@ha /* 803DE14C 003D9DAC 7C 00 00 34 */ cntlzw r0, r0 /* 803DE150 003D9DB0 54 03 D9 7E */ srwi r3, r0, 5 /* 803DE154 003D9DB4 38 84 44 C9 */ addi r4, r4, lbl_804744C9@l /* 803DE158 003D9DB8 4C C6 31 82 */ crclr 6 /* 803DE15C 003D9DBC 4B FF B7 41 */ bl func_803D989C /* 803DE160 003D9DC0 48 00 00 90 */ b lbl_803DE1F0 lbl_803DE164: /* 803DE164 003D9DC4 2C 1E 00 A2 */ cmpwi r30, 0xa2 /* 803DE168 003D9DC8 41 82 00 20 */ beq lbl_803DE188 /* 803DE16C 003D9DCC 40 80 00 10 */ bge lbl_803DE17C /* 803DE170 003D9DD0 2C 1E 00 9F */ cmpwi r30, 0x9f /* 803DE174 003D9DD4 40 80 00 38 */ bge lbl_803DE1AC /* 803DE178 003D9DD8 48 00 00 4C */ b lbl_803DE1C4 lbl_803DE17C: /* 803DE17C 003D9DDC 2C 1E 00 AA */ cmpwi r30, 0xaa /* 803DE180 003D9DE0 40 80 00 44 */ bge lbl_803DE1C4 /* 803DE184 003D9DE4 48 00 00 28 */ b lbl_803DE1AC lbl_803DE188: /* 803DE188 003D9DE8 A0 1D 00 8E */ lhz r0, 0x8e(r29) /* 803DE18C 003D9DEC A0 7D 00 90 */ lhz r3, 0x90(r29) /* 803DE190 003D9DF0 7C 00 FA 14 */ add r0, r0, r31 /* 803DE194 003D9DF4 7C 00 18 00 */ cmpw r0, r3 /* 803DE198 003D9DF8 40 81 00 0C */ ble lbl_803DE1A4 /* 803DE19C 003D9DFC B0 7D 00 8E */ sth r3, 0x8e(r29) /* 803DE1A0 003D9E00 48 00 00 34 */ b lbl_803DE1D4 lbl_803DE1A4: /* 803DE1A4 003D9E04 B0 1D 00 8E */ sth r0, 0x8e(r29) /* 803DE1A8 003D9E08 48 00 00 2C */ b lbl_803DE1D4 lbl_803DE1AC: /* 803DE1AC 003D9E0C 3C 80 80 47 */ lis r4, lbl_80474AF0@ha /* 803DE1B0 003D9E10 38 60 00 00 */ li r3, 0 /* 803DE1B4 003D9E14 38 84 4A F0 */ addi r4, r4, lbl_80474AF0@l /* 803DE1B8 003D9E18 4C C6 31 82 */ crclr 6 /* 803DE1BC 003D9E1C 4B FF B6 E1 */ bl func_803D989C /* 803DE1C0 003D9E20 48 00 00 14 */ b lbl_803DE1D4 lbl_803DE1C4: /* 803DE1C4 003D9E24 7F A3 EB 78 */ mr r3, r29 /* 803DE1C8 003D9E28 7F C4 F3 78 */ mr r4, r30 /* 803DE1CC 003D9E2C 7F E5 FB 78 */ mr r5, r31 /* 803DE1D0 003D9E30 48 00 00 39 */ bl func_803DE208 lbl_803DE1D4: /* 803DE1D4 003D9E34 A0 1D 00 04 */ lhz r0, 4(r29) /* 803DE1D8 003D9E38 54 00 8F FF */ rlwinm. r0, r0, 0x11, 0x1f, 0x1f /* 803DE1DC 003D9E3C 40 82 00 14 */ bne lbl_803DE1F0 /* 803DE1E0 003D9E40 38 7D 00 08 */ addi r3, r29, 8 /* 803DE1E4 003D9E44 38 80 00 80 */ li r4, 0x80 /* 803DE1E8 003D9E48 4B FF EF A1 */ bl GetChecksumRental /* 803DE1EC 003D9E4C B0 7D 00 06 */ sth r3, 6(r29) lbl_803DE1F0: /* 803DE1F0 003D9E50 39 61 00 20 */ addi r11, r1, 0x20 /* 803DE1F4 003D9E54 4B DE 8F 89 */ bl _restgpr_29 /* 803DE1F8 003D9E58 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DE1FC 003D9E5C 7C 08 03 A6 */ mtlr r0 /* 803DE200 003D9E60 38 21 00 20 */ addi r1, r1, 0x20 /* 803DE204 003D9E64 4E 80 00 20 */ blr .global func_803DE208 func_803DE208: /* 803DE208 003D9E68 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DE20C 003D9E6C 7C 08 02 A6 */ mflr r0 /* 803DE210 003D9E70 90 01 00 24 */ stw r0, 0x24(r1) /* 803DE214 003D9E74 39 61 00 20 */ addi r11, r1, 0x20 /* 803DE218 003D9E78 4B DE 8F 11 */ bl _savegpr_27 /* 803DE21C 003D9E7C 7C 9C 23 78 */ mr r28, r4 /* 803DE220 003D9E80 80 83 00 00 */ lwz r4, 0(r3) /* 803DE224 003D9E84 7C BD 2B 78 */ mr r29, r5 /* 803DE228 003D9E88 7C 7B 1B 78 */ mr r27, r3 /* 803DE22C 003D9E8C 38 A0 00 00 */ li r5, 0 /* 803DE230 003D9E90 4B FF EF 89 */ bl func_803DD1B8 /* 803DE234 003D9E94 80 9B 00 00 */ lwz r4, 0(r27) /* 803DE238 003D9E98 7C 7E 1B 78 */ mr r30, r3 /* 803DE23C 003D9E9C 7F 63 DB 78 */ mr r3, r27 /* 803DE240 003D9EA0 38 A0 00 01 */ li r5, 1 /* 803DE244 003D9EA4 4B FF EF 75 */ bl func_803DD1B8 /* 803DE248 003D9EA8 80 9B 00 00 */ lwz r4, 0(r27) /* 803DE24C 003D9EAC 7C 7F 1B 78 */ mr r31, r3 /* 803DE250 003D9EB0 7F 63 DB 78 */ mr r3, r27 /* 803DE254 003D9EB4 38 A0 00 02 */ li r5, 2 /* 803DE258 003D9EB8 4B FF EF 61 */ bl func_803DD1B8 /* 803DE25C 003D9EBC 80 9B 00 00 */ lwz r4, 0(r27) /* 803DE260 003D9EC0 7F 63 DB 78 */ mr r3, r27 /* 803DE264 003D9EC4 38 A0 00 03 */ li r5, 3 /* 803DE268 003D9EC8 4B FF EF 51 */ bl func_803DD1B8 /* 803DE26C 003D9ECC 2C 1C 00 18 */ cmpwi r28, 0x18 /* 803DE270 003D9ED0 41 82 02 64 */ beq lbl_803DE4D4 /* 803DE274 003D9ED4 40 80 00 78 */ bge lbl_803DE2EC /* 803DE278 003D9ED8 2C 1C 00 0F */ cmpwi r28, 0xf /* 803DE27C 003D9EDC 41 82 01 64 */ beq lbl_803DE3E0 /* 803DE280 003D9EE0 40 80 00 38 */ bge lbl_803DE2B8 /* 803DE284 003D9EE4 2C 1C 00 08 */ cmpwi r28, 8 /* 803DE288 003D9EE8 41 82 00 DC */ beq lbl_803DE364 /* 803DE28C 003D9EEC 40 80 00 14 */ bge lbl_803DE2A0 /* 803DE290 003D9EF0 2C 1C 00 03 */ cmpwi r28, 3 /* 803DE294 003D9EF4 41 82 03 E0 */ beq lbl_803DE674 /* 803DE298 003D9EF8 40 80 03 DC */ bge lbl_803DE674 /* 803DE29C 003D9EFC 48 00 03 D8 */ b lbl_803DE674 lbl_803DE2A0: /* 803DE2A0 003D9F00 2C 1C 00 0D */ cmpwi r28, 0xd /* 803DE2A4 003D9F04 41 82 01 1C */ beq lbl_803DE3C0 /* 803DE2A8 003D9F08 40 80 01 28 */ bge lbl_803DE3D0 /* 803DE2AC 003D9F0C 2C 1C 00 0A */ cmpwi r28, 0xa /* 803DE2B0 003D9F10 40 80 03 C4 */ bge lbl_803DE674 /* 803DE2B4 003D9F14 48 00 00 E8 */ b lbl_803DE39C lbl_803DE2B8: /* 803DE2B8 003D9F18 2C 1C 00 14 */ cmpwi r28, 0x14 /* 803DE2BC 003D9F1C 41 82 01 88 */ beq lbl_803DE444 /* 803DE2C0 003D9F20 40 80 00 1C */ bge lbl_803DE2DC /* 803DE2C4 003D9F24 2C 1C 00 12 */ cmpwi r28, 0x12 /* 803DE2C8 003D9F28 41 82 01 48 */ beq lbl_803DE410 /* 803DE2CC 003D9F2C 40 80 01 54 */ bge lbl_803DE420 /* 803DE2D0 003D9F30 2C 1C 00 11 */ cmpwi r28, 0x11 /* 803DE2D4 003D9F34 40 80 01 2C */ bge lbl_803DE400 /* 803DE2D8 003D9F38 48 00 01 18 */ b lbl_803DE3F0 lbl_803DE2DC: /* 803DE2DC 003D9F3C 2C 1C 00 16 */ cmpwi r28, 0x16 /* 803DE2E0 003D9F40 41 82 01 AC */ beq lbl_803DE48C /* 803DE2E4 003D9F44 40 80 01 CC */ bge lbl_803DE4B0 /* 803DE2E8 003D9F48 48 00 01 80 */ b lbl_803DE468 lbl_803DE2EC: /* 803DE2EC 003D9F4C 2C 1C 00 4B */ cmpwi r28, 0x4b /* 803DE2F0 003D9F50 41 82 03 58 */ beq lbl_803DE648 /* 803DE2F4 003D9F54 40 80 00 48 */ bge lbl_803DE33C /* 803DE2F8 003D9F58 2C 1C 00 46 */ cmpwi r28, 0x46 /* 803DE2FC 003D9F5C 41 82 02 6C */ beq lbl_803DE568 /* 803DE300 003D9F60 40 80 00 24 */ bge lbl_803DE324 /* 803DE304 003D9F64 2C 1C 00 3E */ cmpwi r28, 0x3e /* 803DE308 003D9F68 40 80 00 10 */ bge lbl_803DE318 /* 803DE30C 003D9F6C 2C 1C 00 3A */ cmpwi r28, 0x3a /* 803DE310 003D9F70 40 80 01 E8 */ bge lbl_803DE4F8 /* 803DE314 003D9F74 48 00 03 60 */ b lbl_803DE674 lbl_803DE318: /* 803DE318 003D9F78 2C 1C 00 42 */ cmpwi r28, 0x42 /* 803DE31C 003D9F7C 40 80 03 6C */ bge lbl_803DE688 /* 803DE320 003D9F80 48 00 02 20 */ b lbl_803DE540 lbl_803DE324: /* 803DE324 003D9F84 2C 1C 00 49 */ cmpwi r28, 0x49 /* 803DE328 003D9F88 41 82 02 C4 */ beq lbl_803DE5EC /* 803DE32C 003D9F8C 40 80 02 F0 */ bge lbl_803DE61C /* 803DE330 003D9F90 2C 1C 00 48 */ cmpwi r28, 0x48 /* 803DE334 003D9F94 40 80 02 8C */ bge lbl_803DE5C0 /* 803DE338 003D9F98 48 00 02 5C */ b lbl_803DE594 lbl_803DE33C: /* 803DE33C 003D9F9C 2C 1C 00 75 */ cmpwi r28, 0x75 /* 803DE340 003D9FA0 41 82 03 34 */ beq lbl_803DE674 /* 803DE344 003D9FA4 40 80 00 10 */ bge lbl_803DE354 /* 803DE348 003D9FA8 2C 1C 00 73 */ cmpwi r28, 0x73 /* 803DE34C 003D9FAC 41 82 03 28 */ beq lbl_803DE674 /* 803DE350 003D9FB0 48 00 03 24 */ b lbl_803DE674 lbl_803DE354: /* 803DE354 003D9FB4 2C 1C 00 AE */ cmpwi r28, 0xae /* 803DE358 003D9FB8 40 80 03 1C */ bge lbl_803DE674 /* 803DE35C 003D9FBC 48 00 03 18 */ b lbl_803DE674 /* 803DE360 003D9FC0 48 00 03 14 */ b lbl_803DE674 lbl_803DE364: /* 803DE364 003D9FC4 A0 7E 00 00 */ lhz r3, 0(r30) /* 803DE368 003D9FC8 38 80 00 64 */ li r4, 0x64 /* 803DE36C 003D9FCC 4B FF D7 B1 */ bl func_803DBB1C /* 803DE370 003D9FD0 80 1E 00 08 */ lwz r0, 8(r30) /* 803DE374 003D9FD4 7C 00 EA 14 */ add r0, r0, r29 /* 803DE378 003D9FD8 7C 00 18 40 */ cmplw r0, r3 /* 803DE37C 003D9FDC 40 81 00 18 */ ble lbl_803DE394 /* 803DE380 003D9FE0 A0 7E 00 00 */ lhz r3, 0(r30) /* 803DE384 003D9FE4 38 80 00 64 */ li r4, 0x64 /* 803DE388 003D9FE8 4B FF D7 95 */ bl func_803DBB1C /* 803DE38C 003D9FEC 90 7E 00 08 */ stw r3, 8(r30) /* 803DE390 003D9FF0 48 00 02 F8 */ b lbl_803DE688 lbl_803DE394: /* 803DE394 003D9FF4 90 1E 00 08 */ stw r0, 8(r30) /* 803DE398 003D9FF8 48 00 02 F0 */ b lbl_803DE688 lbl_803DE39C: /* 803DE39C 003D9FFC 88 1E 00 0C */ lbz r0, 0xc(r30) /* 803DE3A0 003DA000 7C 00 EA 14 */ add r0, r0, r29 /* 803DE3A4 003DA004 2C 00 00 FF */ cmpwi r0, 0xff /* 803DE3A8 003DA008 40 81 00 10 */ ble lbl_803DE3B8 /* 803DE3AC 003DA00C 38 00 00 FF */ li r0, 0xff /* 803DE3B0 003DA010 98 1E 00 0C */ stb r0, 0xc(r30) /* 803DE3B4 003DA014 48 00 02 D4 */ b lbl_803DE688 lbl_803DE3B8: /* 803DE3B8 003DA018 98 1E 00 0C */ stb r0, 0xc(r30) /* 803DE3BC 003DA01C 48 00 02 CC */ b lbl_803DE688 lbl_803DE3C0: /* 803DE3C0 003DA020 88 1E 00 10 */ lbz r0, 0x10(r30) /* 803DE3C4 003DA024 7C 00 EA 14 */ add r0, r0, r29 /* 803DE3C8 003DA028 98 1E 00 10 */ stb r0, 0x10(r30) /* 803DE3CC 003DA02C 48 00 02 BC */ b lbl_803DE688 lbl_803DE3D0: /* 803DE3D0 003DA030 88 1E 00 11 */ lbz r0, 0x11(r30) /* 803DE3D4 003DA034 7C 00 EA 14 */ add r0, r0, r29 /* 803DE3D8 003DA038 98 1E 00 11 */ stb r0, 0x11(r30) /* 803DE3DC 003DA03C 48 00 02 AC */ b lbl_803DE688 lbl_803DE3E0: /* 803DE3E0 003DA040 88 1E 00 12 */ lbz r0, 0x12(r30) /* 803DE3E4 003DA044 7C 00 EA 14 */ add r0, r0, r29 /* 803DE3E8 003DA048 98 1E 00 12 */ stb r0, 0x12(r30) /* 803DE3EC 003DA04C 48 00 02 9C */ b lbl_803DE688 lbl_803DE3F0: /* 803DE3F0 003DA050 88 1E 00 13 */ lbz r0, 0x13(r30) /* 803DE3F4 003DA054 7C 00 EA 14 */ add r0, r0, r29 /* 803DE3F8 003DA058 98 1E 00 13 */ stb r0, 0x13(r30) /* 803DE3FC 003DA05C 48 00 02 8C */ b lbl_803DE688 lbl_803DE400: /* 803DE400 003DA060 88 1E 00 14 */ lbz r0, 0x14(r30) /* 803DE404 003DA064 7C 00 EA 14 */ add r0, r0, r29 /* 803DE408 003DA068 98 1E 00 14 */ stb r0, 0x14(r30) /* 803DE40C 003DA06C 48 00 02 7C */ b lbl_803DE688 lbl_803DE410: /* 803DE410 003DA070 88 1E 00 15 */ lbz r0, 0x15(r30) /* 803DE414 003DA074 7C 00 EA 14 */ add r0, r0, r29 /* 803DE418 003DA078 98 1E 00 15 */ stb r0, 0x15(r30) /* 803DE41C 003DA07C 48 00 02 6C */ b lbl_803DE688 lbl_803DE420: /* 803DE420 003DA080 88 1E 00 16 */ lbz r0, 0x16(r30) /* 803DE424 003DA084 7C 00 EA 14 */ add r0, r0, r29 /* 803DE428 003DA088 2C 00 00 FF */ cmpwi r0, 0xff /* 803DE42C 003DA08C 40 81 00 10 */ ble lbl_803DE43C /* 803DE430 003DA090 38 00 00 FF */ li r0, 0xff /* 803DE434 003DA094 98 1E 00 16 */ stb r0, 0x16(r30) /* 803DE438 003DA098 48 00 02 50 */ b lbl_803DE688 lbl_803DE43C: /* 803DE43C 003DA09C 98 1E 00 16 */ stb r0, 0x16(r30) /* 803DE440 003DA0A0 48 00 02 48 */ b lbl_803DE688 lbl_803DE444: /* 803DE444 003DA0A4 88 1E 00 17 */ lbz r0, 0x17(r30) /* 803DE448 003DA0A8 7C 00 EA 14 */ add r0, r0, r29 /* 803DE44C 003DA0AC 2C 00 00 FF */ cmpwi r0, 0xff /* 803DE450 003DA0B0 40 81 00 10 */ ble lbl_803DE460 /* 803DE454 003DA0B4 38 00 00 FF */ li r0, 0xff /* 803DE458 003DA0B8 98 1E 00 17 */ stb r0, 0x17(r30) /* 803DE45C 003DA0BC 48 00 02 2C */ b lbl_803DE688 lbl_803DE460: /* 803DE460 003DA0C0 98 1E 00 17 */ stb r0, 0x17(r30) /* 803DE464 003DA0C4 48 00 02 24 */ b lbl_803DE688 lbl_803DE468: /* 803DE468 003DA0C8 88 1E 00 18 */ lbz r0, 0x18(r30) /* 803DE46C 003DA0CC 7C 00 EA 14 */ add r0, r0, r29 /* 803DE470 003DA0D0 2C 00 00 FF */ cmpwi r0, 0xff /* 803DE474 003DA0D4 40 81 00 10 */ ble lbl_803DE484 /* 803DE478 003DA0D8 38 00 00 FF */ li r0, 0xff /* 803DE47C 003DA0DC 98 1E 00 18 */ stb r0, 0x18(r30) /* 803DE480 003DA0E0 48 00 02 08 */ b lbl_803DE688 lbl_803DE484: /* 803DE484 003DA0E4 98 1E 00 18 */ stb r0, 0x18(r30) /* 803DE488 003DA0E8 48 00 02 00 */ b lbl_803DE688 lbl_803DE48C: /* 803DE48C 003DA0EC 88 1E 00 19 */ lbz r0, 0x19(r30) /* 803DE490 003DA0F0 7C 00 EA 14 */ add r0, r0, r29 /* 803DE494 003DA0F4 2C 00 00 FF */ cmpwi r0, 0xff /* 803DE498 003DA0F8 40 81 00 10 */ ble lbl_803DE4A8 /* 803DE49C 003DA0FC 38 00 00 FF */ li r0, 0xff /* 803DE4A0 003DA100 98 1E 00 19 */ stb r0, 0x19(r30) /* 803DE4A4 003DA104 48 00 01 E4 */ b lbl_803DE688 lbl_803DE4A8: /* 803DE4A8 003DA108 98 1E 00 19 */ stb r0, 0x19(r30) /* 803DE4AC 003DA10C 48 00 01 DC */ b lbl_803DE688 lbl_803DE4B0: /* 803DE4B0 003DA110 88 1E 00 1A */ lbz r0, 0x1a(r30) /* 803DE4B4 003DA114 7C 00 EA 14 */ add r0, r0, r29 /* 803DE4B8 003DA118 2C 00 00 FF */ cmpwi r0, 0xff /* 803DE4BC 003DA11C 40 81 00 10 */ ble lbl_803DE4CC /* 803DE4C0 003DA120 38 00 00 FF */ li r0, 0xff /* 803DE4C4 003DA124 98 1E 00 1A */ stb r0, 0x1a(r30) /* 803DE4C8 003DA128 48 00 01 C0 */ b lbl_803DE688 lbl_803DE4CC: /* 803DE4CC 003DA12C 98 1E 00 1A */ stb r0, 0x1a(r30) /* 803DE4D0 003DA130 48 00 01 B8 */ b lbl_803DE688 lbl_803DE4D4: /* 803DE4D4 003DA134 88 1E 00 1B */ lbz r0, 0x1b(r30) /* 803DE4D8 003DA138 7C 00 EA 14 */ add r0, r0, r29 /* 803DE4DC 003DA13C 2C 00 00 FF */ cmpwi r0, 0xff /* 803DE4E0 003DA140 40 81 00 10 */ ble lbl_803DE4F0 /* 803DE4E4 003DA144 38 00 00 FF */ li r0, 0xff /* 803DE4E8 003DA148 98 1E 00 1B */ stb r0, 0x1b(r30) /* 803DE4EC 003DA14C 48 00 01 9C */ b lbl_803DE688 lbl_803DE4F0: /* 803DE4F0 003DA150 98 1E 00 1B */ stb r0, 0x1b(r30) /* 803DE4F4 003DA154 48 00 01 94 */ b lbl_803DE688 lbl_803DE4F8: /* 803DE4F8 003DA158 38 1C FF C6 */ addi r0, r28, -58 /* 803DE4FC 003DA15C 7F 9C FA 14 */ add r28, r28, r31 /* 803DE500 003DA160 54 1E 08 3C */ slwi r30, r0, 1 /* 803DE504 003DA164 88 9C FF D2 */ lbz r4, -0x2e(r28) /* 803DE508 003DA168 7C 7F F2 2E */ lhzx r3, r31, r30 /* 803DE50C 003DA16C 48 00 05 55 */ bl func_803DEA60 /* 803DE510 003DA170 88 1C FF CE */ lbz r0, -0x32(r28) /* 803DE514 003DA174 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 803DE518 003DA178 7C 1D 02 14 */ add r0, r29, r0 /* 803DE51C 003DA17C 7C 00 18 00 */ cmpw r0, r3 /* 803DE520 003DA180 40 81 00 18 */ ble lbl_803DE538 /* 803DE524 003DA184 7C 7F F2 2E */ lhzx r3, r31, r30 /* 803DE528 003DA188 88 9C FF D2 */ lbz r4, -0x2e(r28) /* 803DE52C 003DA18C 48 00 05 35 */ bl func_803DEA60 /* 803DE530 003DA190 98 7C FF CE */ stb r3, -0x32(r28) /* 803DE534 003DA194 48 00 01 54 */ b lbl_803DE688 lbl_803DE538: /* 803DE538 003DA198 98 1C FF CE */ stb r0, -0x32(r28) /* 803DE53C 003DA19C 48 00 01 4C */ b lbl_803DE688 lbl_803DE540: /* 803DE540 003DA1A0 7C 7C FA 14 */ add r3, r28, r31 /* 803DE544 003DA1A4 88 03 FF CE */ lbz r0, -0x32(r3) /* 803DE548 003DA1A8 7C 1D 02 14 */ add r0, r29, r0 /* 803DE54C 003DA1AC 2C 00 00 03 */ cmpwi r0, 3 /* 803DE550 003DA1B0 40 81 00 10 */ ble lbl_803DE560 /* 803DE554 003DA1B4 38 00 00 03 */ li r0, 3 /* 803DE558 003DA1B8 98 03 FF CE */ stb r0, -0x32(r3) /* 803DE55C 003DA1BC 48 00 01 2C */ b lbl_803DE688 lbl_803DE560: /* 803DE560 003DA1C0 98 03 FF CE */ stb r0, -0x32(r3) /* 803DE564 003DA1C4 48 00 01 24 */ b lbl_803DE688 lbl_803DE568: /* 803DE568 003DA1C8 80 7F 00 10 */ lwz r3, 0x10(r31) /* 803DE56C 003DA1CC 54 60 2E FE */ srwi r0, r3, 0x1b /* 803DE570 003DA1D0 7C 00 EA 14 */ add r0, r0, r29 /* 803DE574 003DA1D4 28 00 00 1F */ cmplwi r0, 0x1f /* 803DE578 003DA1D8 40 81 00 10 */ ble lbl_803DE588 /* 803DE57C 003DA1DC 64 60 F8 00 */ oris r0, r3, 0xf800 /* 803DE580 003DA1E0 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DE584 003DA1E4 48 00 01 04 */ b lbl_803DE688 lbl_803DE588: /* 803DE588 003DA1E8 50 03 D8 08 */ rlwimi r3, r0, 0x1b, 0, 4 /* 803DE58C 003DA1EC 90 7F 00 10 */ stw r3, 0x10(r31) /* 803DE590 003DA1F0 48 00 00 F8 */ b lbl_803DE688 lbl_803DE594: /* 803DE594 003DA1F4 80 7F 00 10 */ lwz r3, 0x10(r31) /* 803DE598 003DA1F8 54 60 56 FE */ rlwinm r0, r3, 0xa, 0x1b, 0x1f /* 803DE59C 003DA1FC 7C 00 EA 14 */ add r0, r0, r29 /* 803DE5A0 003DA200 28 00 00 1F */ cmplwi r0, 0x1f /* 803DE5A4 003DA204 40 81 00 10 */ ble lbl_803DE5B4 /* 803DE5A8 003DA208 64 60 07 C0 */ oris r0, r3, 0x7c0 /* 803DE5AC 003DA20C 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DE5B0 003DA210 48 00 00 D8 */ b lbl_803DE688 lbl_803DE5B4: /* 803DE5B4 003DA214 50 03 B1 52 */ rlwimi r3, r0, 0x16, 5, 9 /* 803DE5B8 003DA218 90 7F 00 10 */ stw r3, 0x10(r31) /* 803DE5BC 003DA21C 48 00 00 CC */ b lbl_803DE688 lbl_803DE5C0: /* 803DE5C0 003DA220 80 7F 00 10 */ lwz r3, 0x10(r31) /* 803DE5C4 003DA224 54 60 7E FE */ rlwinm r0, r3, 0xf, 0x1b, 0x1f /* 803DE5C8 003DA228 7C 00 EA 14 */ add r0, r0, r29 /* 803DE5CC 003DA22C 28 00 00 1F */ cmplwi r0, 0x1f /* 803DE5D0 003DA230 40 81 00 10 */ ble lbl_803DE5E0 /* 803DE5D4 003DA234 64 60 00 3E */ oris r0, r3, 0x3e /* 803DE5D8 003DA238 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DE5DC 003DA23C 48 00 00 AC */ b lbl_803DE688 lbl_803DE5E0: /* 803DE5E0 003DA240 50 03 8A 9C */ rlwimi r3, r0, 0x11, 0xa, 0xe /* 803DE5E4 003DA244 90 7F 00 10 */ stw r3, 0x10(r31) /* 803DE5E8 003DA248 48 00 00 A0 */ b lbl_803DE688 lbl_803DE5EC: /* 803DE5EC 003DA24C 80 7F 00 10 */ lwz r3, 0x10(r31) /* 803DE5F0 003DA250 54 60 A6 FE */ rlwinm r0, r3, 0x14, 0x1b, 0x1f /* 803DE5F4 003DA254 7C 00 EA 14 */ add r0, r0, r29 /* 803DE5F8 003DA258 28 00 00 1F */ cmplwi r0, 0x1f /* 803DE5FC 003DA25C 40 81 00 14 */ ble lbl_803DE610 /* 803DE600 003DA260 38 00 00 1F */ li r0, 0x1f /* 803DE604 003DA264 50 03 63 E6 */ rlwimi r3, r0, 0xc, 0xf, 0x13 /* 803DE608 003DA268 90 7F 00 10 */ stw r3, 0x10(r31) /* 803DE60C 003DA26C 48 00 00 7C */ b lbl_803DE688 lbl_803DE610: /* 803DE610 003DA270 50 03 63 E6 */ rlwimi r3, r0, 0xc, 0xf, 0x13 /* 803DE614 003DA274 90 7F 00 10 */ stw r3, 0x10(r31) /* 803DE618 003DA278 48 00 00 70 */ b lbl_803DE688 lbl_803DE61C: /* 803DE61C 003DA27C 80 7F 00 10 */ lwz r3, 0x10(r31) /* 803DE620 003DA280 54 60 CE FE */ rlwinm r0, r3, 0x19, 0x1b, 0x1f /* 803DE624 003DA284 7C 00 EA 14 */ add r0, r0, r29 /* 803DE628 003DA288 28 00 00 1F */ cmplwi r0, 0x1f /* 803DE62C 003DA28C 40 81 00 10 */ ble lbl_803DE63C /* 803DE630 003DA290 60 60 0F 80 */ ori r0, r3, 0xf80 /* 803DE634 003DA294 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DE638 003DA298 48 00 00 50 */ b lbl_803DE688 lbl_803DE63C: /* 803DE63C 003DA29C 50 03 3D 30 */ rlwimi r3, r0, 7, 0x14, 0x18 /* 803DE640 003DA2A0 90 7F 00 10 */ stw r3, 0x10(r31) /* 803DE644 003DA2A4 48 00 00 44 */ b lbl_803DE688 lbl_803DE648: /* 803DE648 003DA2A8 80 7F 00 10 */ lwz r3, 0x10(r31) /* 803DE64C 003DA2AC 54 60 F6 FE */ rlwinm r0, r3, 0x1e, 0x1b, 0x1f /* 803DE650 003DA2B0 7C 00 EA 14 */ add r0, r0, r29 /* 803DE654 003DA2B4 28 00 00 1F */ cmplwi r0, 0x1f /* 803DE658 003DA2B8 40 81 00 10 */ ble lbl_803DE668 /* 803DE65C 003DA2BC 60 60 00 7C */ ori r0, r3, 0x7c /* 803DE660 003DA2C0 90 1F 00 10 */ stw r0, 0x10(r31) /* 803DE664 003DA2C4 48 00 00 24 */ b lbl_803DE688 lbl_803DE668: /* 803DE668 003DA2C8 50 03 16 7A */ rlwimi r3, r0, 2, 0x19, 0x1d /* 803DE66C 003DA2CC 90 7F 00 10 */ stw r3, 0x10(r31) /* 803DE670 003DA2D0 48 00 00 18 */ b lbl_803DE688 lbl_803DE674: /* 803DE674 003DA2D4 3C 80 80 47 */ lis r4, lbl_80474B0B@ha /* 803DE678 003DA2D8 38 60 00 00 */ li r3, 0 /* 803DE67C 003DA2DC 38 84 4B 0B */ addi r4, r4, lbl_80474B0B@l /* 803DE680 003DA2E0 4C C6 31 82 */ crclr 6 /* 803DE684 003DA2E4 4B FF B2 19 */ bl func_803D989C lbl_803DE688: /* 803DE688 003DA2E8 39 61 00 20 */ addi r11, r1, 0x20 /* 803DE68C 003DA2EC 4B DE 8A E9 */ bl _restgpr_27 /* 803DE690 003DA2F0 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DE694 003DA2F4 7C 08 03 A6 */ mtlr r0 /* 803DE698 003DA2F8 38 21 00 20 */ addi r1, r1, 0x20 /* 803DE69C 003DA2FC 4E 80 00 20 */ blr .global func_803DE6A0 func_803DE6A0: /* 803DE6A0 003DA300 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DE6A4 003DA304 7C 08 02 A6 */ mflr r0 /* 803DE6A8 003DA308 90 01 00 24 */ stw r0, 0x24(r1) /* 803DE6AC 003DA30C 39 61 00 20 */ addi r11, r1, 0x20 /* 803DE6B0 003DA310 4B DE 8A 79 */ bl _savegpr_27 /* 803DE6B4 003DA314 68 60 00 08 */ xori r0, r3, 8 /* 803DE6B8 003DA318 3C A0 80 47 */ lis r5, lbl_80474B9C@ha /* 803DE6BC 003DA31C 7C 06 0E 70 */ srawi r6, r0, 1 /* 803DE6C0 003DA320 7C 9C 23 78 */ mr r28, r4 /* 803DE6C4 003DA324 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c /* 803DE6C8 003DA328 7C 7B 1B 78 */ mr r27, r3 /* 803DE6CC 003DA32C 7C 00 30 50 */ subf r0, r0, r6 /* 803DE6D0 003DA330 38 85 4B 9C */ addi r4, r5, lbl_80474B9C@l /* 803DE6D4 003DA334 54 03 0F FE */ srwi r3, r0, 0x1f /* 803DE6D8 003DA338 4C C6 31 82 */ crclr 6 /* 803DE6DC 003DA33C 4B FF B1 C1 */ bl func_803D989C /* 803DE6E0 003DA340 3F C0 80 64 */ lis r30, lbl_8063CE34@ha /* 803DE6E4 003DA344 3B A0 00 00 */ li r29, 0 /* 803DE6E8 003DA348 3B DE CE 34 */ addi r30, r30, lbl_8063CE34@l /* 803DE6EC 003DA34C 3B E0 00 00 */ li r31, 0 lbl_803DE6F0: /* 803DE6F0 003DA350 7F 64 DB 78 */ mr r4, r27 /* 803DE6F4 003DA354 7F A5 EB 78 */ mr r5, r29 /* 803DE6F8 003DA358 38 7E 00 1C */ addi r3, r30, 0x1c /* 803DE6FC 003DA35C 4B FB 3E 65 */ bl func_80392560 /* 803DE700 003DA360 3B BD 00 01 */ addi r29, r29, 1 /* 803DE704 003DA364 7C 7C F9 2E */ stwx r3, r28, r31 /* 803DE708 003DA368 2C 1D 00 65 */ cmpwi r29, 0x65 /* 803DE70C 003DA36C 3B FF 00 04 */ addi r31, r31, 4 /* 803DE710 003DA370 41 80 FF E0 */ blt lbl_803DE6F0 /* 803DE714 003DA374 39 61 00 20 */ addi r11, r1, 0x20 /* 803DE718 003DA378 4B DE 8A 5D */ bl _restgpr_27 /* 803DE71C 003DA37C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DE720 003DA380 7C 08 03 A6 */ mtlr r0 /* 803DE724 003DA384 38 21 00 20 */ addi r1, r1, 0x20 /* 803DE728 003DA388 4E 80 00 20 */ blr .global func_803DE72C func_803DE72C: /* 803DE72C 003DA38C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DE730 003DA390 7C 08 02 A6 */ mflr r0 /* 803DE734 003DA394 90 01 00 24 */ stw r0, 0x24(r1) /* 803DE738 003DA398 39 61 00 20 */ addi r11, r1, 0x20 /* 803DE73C 003DA39C 4B DE 89 F5 */ bl _savegpr_29 /* 803DE740 003DA3A0 68 60 00 08 */ xori r0, r3, 8 /* 803DE744 003DA3A4 3C A0 80 47 */ lis r5, lbl_80474BBC@ha /* 803DE748 003DA3A8 7C 06 0E 70 */ srawi r6, r0, 1 /* 803DE74C 003DA3AC 7C 9E 23 78 */ mr r30, r4 /* 803DE750 003DA3B0 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c /* 803DE754 003DA3B4 7C 7D 1B 78 */ mr r29, r3 /* 803DE758 003DA3B8 7C 00 30 50 */ subf r0, r0, r6 /* 803DE75C 003DA3BC 38 85 4B BC */ addi r4, r5, lbl_80474BBC@l /* 803DE760 003DA3C0 54 03 0F FE */ srwi r3, r0, 0x1f /* 803DE764 003DA3C4 4C C6 31 82 */ crclr 6 /* 803DE768 003DA3C8 4B FF B1 35 */ bl func_803D989C /* 803DE76C 003DA3CC 38 00 00 65 */ li r0, 0x65 /* 803DE770 003DA3D0 3C 80 80 47 */ lis r4, lbl_80474BDC@ha /* 803DE774 003DA3D4 7C 05 FE 70 */ srawi r5, r0, 0x1f /* 803DE778 003DA3D8 57 C3 0F FE */ srwi r3, r30, 0x1f /* 803DE77C 003DA3DC 7C 1E 00 10 */ subfc r0, r30, r0 /* 803DE780 003DA3E0 38 84 4B DC */ addi r4, r4, lbl_80474BDC@l /* 803DE784 003DA3E4 7C 65 19 14 */ adde r3, r5, r3 /* 803DE788 003DA3E8 4C C6 31 82 */ crclr 6 /* 803DE78C 003DA3EC 4B FF B1 11 */ bl func_803D989C /* 803DE790 003DA3F0 38 60 00 00 */ li r3, 0 /* 803DE794 003DA3F4 38 80 01 94 */ li r4, 0x194 /* 803DE798 003DA3F8 4B D8 F7 D9 */ bl func_8016DF70 /* 803DE79C 003DA3FC 7C 7F 1B 78 */ mr r31, r3 /* 803DE7A0 003DA400 7F A3 EB 78 */ mr r3, r29 /* 803DE7A4 003DA404 7F E4 FB 78 */ mr r4, r31 /* 803DE7A8 003DA408 4B FF FE F9 */ bl func_803DE6A0 /* 803DE7AC 003DA40C 57 C0 10 3A */ slwi r0, r30, 2 /* 803DE7B0 003DA410 7F E3 FB 78 */ mr r3, r31 /* 803DE7B4 003DA414 7F FF 00 2E */ lwzx r31, r31, r0 /* 803DE7B8 003DA418 4B D8 F8 E9 */ bl func_8016E0A0 /* 803DE7BC 003DA41C 39 61 00 20 */ addi r11, r1, 0x20 /* 803DE7C0 003DA420 7F E3 FB 78 */ mr r3, r31 /* 803DE7C4 003DA424 4B DE 89 B9 */ bl _restgpr_29 /* 803DE7C8 003DA428 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DE7CC 003DA42C 7C 08 03 A6 */ mtlr r0 /* 803DE7D0 003DA430 38 21 00 20 */ addi r1, r1, 0x20 /* 803DE7D4 003DA434 4E 80 00 20 */ blr .global func_803DE7D8 func_803DE7D8: /* 803DE7D8 003DA438 38 60 03 E0 */ li r3, 0x3e0 /* 803DE7DC 003DA43C 4E 80 00 20 */ blr .global func_803DE7E0 func_803DE7E0: /* 803DE7E0 003DA440 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DE7E4 003DA444 7C 08 02 A6 */ mflr r0 /* 803DE7E8 003DA448 38 80 03 E0 */ li r4, 0x3e0 /* 803DE7EC 003DA44C 90 01 00 14 */ stw r0, 0x14(r1) /* 803DE7F0 003DA450 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DE7F4 003DA454 4B D8 F7 7D */ bl func_8016DF70 /* 803DE7F8 003DA458 7C 7F 1B 78 */ mr r31, r3 /* 803DE7FC 003DA45C 38 80 00 06 */ li r4, 6 /* 803DE800 003DA460 48 00 00 25 */ bl func_803DE824 /* 803DE804 003DA464 7F E3 FB 78 */ mr r3, r31 /* 803DE808 003DA468 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DE80C 003DA46C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DE810 003DA470 7C 08 03 A6 */ mtlr r0 /* 803DE814 003DA474 38 21 00 10 */ addi r1, r1, 0x10 /* 803DE818 003DA478 4E 80 00 20 */ blr .global func_803DE81C func_803DE81C: /* 803DE81C 003DA47C 38 80 00 06 */ li r4, 6 /* 803DE820 003DA480 48 00 00 04 */ b func_803DE824 .global func_803DE824 func_803DE824: /* 803DE824 003DA484 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DE828 003DA488 7C 08 02 A6 */ mflr r0 /* 803DE82C 003DA48C 90 01 00 24 */ stw r0, 0x24(r1) /* 803DE830 003DA490 39 61 00 20 */ addi r11, r1, 0x20 /* 803DE834 003DA494 4B DE 88 FD */ bl _savegpr_29 /* 803DE838 003DA498 7C 9E 23 78 */ mr r30, r4 /* 803DE83C 003DA49C 7C 7D 1B 78 */ mr r29, r3 /* 803DE840 003DA4A0 38 80 00 00 */ li r4, 0 /* 803DE844 003DA4A4 38 A0 03 E0 */ li r5, 0x3e0 /* 803DE848 003DA4A8 4B C2 58 BD */ bl memset /* 803DE84C 003DA4AC 3B E0 00 00 */ li r31, 0 /* 803DE850 003DA4B0 93 DD 00 00 */ stw r30, 0(r29) /* 803DE854 003DA4B4 3B C0 00 00 */ li r30, 0 /* 803DE858 003DA4B8 93 FD 00 04 */ stw r31, 4(r29) lbl_803DE85C: /* 803DE85C 003DA4BC 7C 7D FA 14 */ add r3, r29, r31 /* 803DE860 003DA4C0 38 63 00 08 */ addi r3, r3, 8 /* 803DE864 003DA4C4 4B FF B9 F5 */ bl func_803DA258 /* 803DE868 003DA4C8 3B DE 00 01 */ addi r30, r30, 1 /* 803DE86C 003DA4CC 3B FF 00 A4 */ addi r31, r31, 0xa4 /* 803DE870 003DA4D0 2C 1E 00 06 */ cmpwi r30, 6 /* 803DE874 003DA4D4 41 80 FF E8 */ blt lbl_803DE85C /* 803DE878 003DA4D8 39 61 00 20 */ addi r11, r1, 0x20 /* 803DE87C 003DA4DC 4B DE 89 01 */ bl _restgpr_29 /* 803DE880 003DA4E0 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DE884 003DA4E4 7C 08 03 A6 */ mtlr r0 /* 803DE888 003DA4E8 38 21 00 20 */ addi r1, r1, 0x20 /* 803DE88C 003DA4EC 4E 80 00 20 */ blr .global func_803DE890 func_803DE890: /* 803DE890 003DA4F0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DE894 003DA4F4 7C 08 02 A6 */ mflr r0 /* 803DE898 003DA4F8 90 01 00 14 */ stw r0, 0x14(r1) /* 803DE89C 003DA4FC 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DE8A0 003DA500 7C 7F 1B 78 */ mr r31, r3 /* 803DE8A4 003DA504 80 A3 00 04 */ lwz r5, 4(r3) /* 803DE8A8 003DA508 80 03 00 00 */ lwz r0, 0(r3) /* 803DE8AC 003DA50C 7C 05 00 00 */ cmpw r5, r0 /* 803DE8B0 003DA510 41 80 00 0C */ blt lbl_803DE8BC /* 803DE8B4 003DA514 38 60 00 00 */ li r3, 0 /* 803DE8B8 003DA518 48 00 00 24 */ b lbl_803DE8DC lbl_803DE8BC: /* 803DE8BC 003DA51C 1C 05 00 A4 */ mulli r0, r5, 0xa4 /* 803DE8C0 003DA520 7C 63 02 14 */ add r3, r3, r0 /* 803DE8C4 003DA524 38 63 00 08 */ addi r3, r3, 8 /* 803DE8C8 003DA528 48 00 00 29 */ bl func_803DE8F0 /* 803DE8CC 003DA52C 80 9F 00 04 */ lwz r4, 4(r31) /* 803DE8D0 003DA530 38 60 00 01 */ li r3, 1 /* 803DE8D4 003DA534 38 04 00 01 */ addi r0, r4, 1 /* 803DE8D8 003DA538 90 1F 00 04 */ stw r0, 4(r31) lbl_803DE8DC: /* 803DE8DC 003DA53C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DE8E0 003DA540 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DE8E4 003DA544 7C 08 03 A6 */ mtlr r0 /* 803DE8E8 003DA548 38 21 00 10 */ addi r1, r1, 0x10 /* 803DE8EC 003DA54C 4E 80 00 20 */ blr .global func_803DE8F0 func_803DE8F0: /* 803DE8F0 003DA550 38 00 00 11 */ li r0, 0x11 /* 803DE8F4 003DA554 38 E3 FF FC */ addi r7, r3, -4 /* 803DE8F8 003DA558 38 C4 FF FC */ addi r6, r4, -4 /* 803DE8FC 003DA55C 7C 09 03 A6 */ mtctr r0 lbl_803DE900: /* 803DE900 003DA560 80 A6 00 04 */ lwz r5, 4(r6) /* 803DE904 003DA564 84 06 00 08 */ lwzu r0, 8(r6) /* 803DE908 003DA568 90 A7 00 04 */ stw r5, 4(r7) /* 803DE90C 003DA56C 94 07 00 08 */ stwu r0, 8(r7) /* 803DE910 003DA570 42 00 FF F0 */ bdnz lbl_803DE900 /* 803DE914 003DA574 38 00 00 03 */ li r0, 3 /* 803DE918 003DA578 38 C3 00 84 */ addi r6, r3, 0x84 /* 803DE91C 003DA57C 38 A4 00 84 */ addi r5, r4, 0x84 /* 803DE920 003DA580 7C 09 03 A6 */ mtctr r0 lbl_803DE924: /* 803DE924 003DA584 80 85 00 04 */ lwz r4, 4(r5) /* 803DE928 003DA588 84 05 00 08 */ lwzu r0, 8(r5) /* 803DE92C 003DA58C 90 86 00 04 */ stw r4, 4(r6) /* 803DE930 003DA590 94 06 00 08 */ stwu r0, 8(r6) /* 803DE934 003DA594 42 00 FF F0 */ bdnz lbl_803DE924 /* 803DE938 003DA598 80 05 00 04 */ lwz r0, 4(r5) /* 803DE93C 003DA59C 90 06 00 04 */ stw r0, 4(r6) /* 803DE940 003DA5A0 4E 80 00 20 */ blr .global func_803DE944 func_803DE944: /* 803DE944 003DA5A4 80 63 00 04 */ lwz r3, 4(r3) /* 803DE948 003DA5A8 4E 80 00 20 */ blr .global func_803DE94C func_803DE94C: /* 803DE94C 003DA5AC 1C 04 00 A4 */ mulli r0, r4, 0xa4 /* 803DE950 003DA5B0 7C 63 02 14 */ add r3, r3, r0 /* 803DE954 003DA5B4 38 63 00 08 */ addi r3, r3, 8 /* 803DE958 003DA5B8 4E 80 00 20 */ blr .global func_803DE95C func_803DE95C: /* 803DE95C 003DA5BC 80 E3 00 00 */ lwz r7, 0(r3) /* 803DE960 003DA5C0 38 A3 00 04 */ addi r5, r3, 4 /* 803DE964 003DA5C4 38 00 00 7B */ li r0, 0x7b /* 803DE968 003DA5C8 38 C4 00 04 */ addi r6, r4, 4 /* 803DE96C 003DA5CC 90 E4 00 00 */ stw r7, 0(r4) /* 803DE970 003DA5D0 80 63 00 04 */ lwz r3, 4(r3) /* 803DE974 003DA5D4 90 64 00 04 */ stw r3, 4(r4) /* 803DE978 003DA5D8 7C 09 03 A6 */ mtctr r0 lbl_803DE97C: /* 803DE97C 003DA5DC 80 65 00 04 */ lwz r3, 4(r5) /* 803DE980 003DA5E0 84 05 00 08 */ lwzu r0, 8(r5) /* 803DE984 003DA5E4 90 66 00 04 */ stw r3, 4(r6) /* 803DE988 003DA5E8 94 06 00 08 */ stwu r0, 8(r6) /* 803DE98C 003DA5EC 42 00 FF F0 */ bdnz lbl_803DE97C /* 803DE990 003DA5F0 4E 80 00 20 */ blr .global func_803DE994 func_803DE994: /* 803DE994 003DA5F4 38 60 00 00 */ li r3, 0 /* 803DE998 003DA5F8 4E 80 00 20 */ blr .global func_803DE99C func_803DE99C: /* 803DE99C 003DA5FC 7C 65 1B 78 */ mr r5, r3 /* 803DE9A0 003DA600 7C 83 23 78 */ mr r3, r4 /* 803DE9A4 003DA604 38 80 00 3A */ li r4, 0x3a /* 803DE9A8 003DA608 4B FF AF 64 */ b lbl_803D990C .global func_803DE9AC func_803DE9AC: /* 803DE9AC 003DA60C 7C 65 1B 78 */ mr r5, r3 /* 803DE9B0 003DA610 7C 83 23 78 */ mr r3, r4 /* 803DE9B4 003DA614 38 80 00 3B */ li r4, 0x3b /* 803DE9B8 003DA618 4B FF AF 54 */ b lbl_803D990C .global func_803DE9BC func_803DE9BC: /* 803DE9BC 003DA61C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DE9C0 003DA620 7C 08 02 A6 */ mflr r0 /* 803DE9C4 003DA624 90 01 00 24 */ stw r0, 0x24(r1) /* 803DE9C8 003DA628 39 61 00 20 */ addi r11, r1, 0x20 /* 803DE9CC 003DA62C 4B DE 87 65 */ bl _savegpr_29 /* 803DE9D0 003DA630 7C 7D 1B 78 */ mr r29, r3 /* 803DE9D4 003DA634 38 80 00 0A */ li r4, 0xa /* 803DE9D8 003DA638 38 A0 00 00 */ li r5, 0 /* 803DE9DC 003DA63C 38 C0 00 00 */ li r6, 0 /* 803DE9E0 003DA640 38 E0 1D 40 */ li r7, 0x1d40 /* 803DE9E4 003DA644 4B FF AF 81 */ bl func_803D9964 /* 803DE9E8 003DA648 3B C0 00 00 */ li r30, 0 /* 803DE9EC 003DA64C 3B E0 00 00 */ li r31, 0 lbl_803DE9F0: /* 803DE9F0 003DA650 7F C3 F3 78 */ mr r3, r30 /* 803DE9F4 003DA654 7C 9D FA 14 */ add r4, r29, r31 /* 803DE9F8 003DA658 48 00 01 51 */ bl func_803DEB48 /* 803DE9FC 003DA65C 3B DE 00 01 */ addi r30, r30, 1 /* 803DEA00 003DA660 3B FF 00 10 */ addi r31, r31, 0x10 /* 803DEA04 003DA664 2C 1E 01 D4 */ cmpwi r30, 0x1d4 /* 803DEA08 003DA668 41 80 FF E8 */ blt lbl_803DE9F0 /* 803DEA0C 003DA66C 39 61 00 20 */ addi r11, r1, 0x20 /* 803DEA10 003DA670 4B DE 87 6D */ bl _restgpr_29 /* 803DEA14 003DA674 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DEA18 003DA678 7C 08 03 A6 */ mtlr r0 /* 803DEA1C 003DA67C 38 21 00 20 */ addi r1, r1, 0x20 /* 803DEA20 003DA680 4E 80 00 20 */ blr .global func_803DEA24 func_803DEA24: /* 803DEA24 003DA684 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DEA28 003DA688 7C 08 02 A6 */ mflr r0 /* 803DEA2C 003DA68C 90 01 00 24 */ stw r0, 0x24(r1) /* 803DEA30 003DA690 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803DEA34 003DA694 7C 9F 23 78 */ mr r31, r4 /* 803DEA38 003DA698 38 81 00 08 */ addi r4, r1, 8 /* 803DEA3C 003DA69C 48 00 01 0D */ bl func_803DEB48 /* 803DEA40 003DA6A0 7F E4 FB 78 */ mr r4, r31 /* 803DEA44 003DA6A4 38 61 00 08 */ addi r3, r1, 8 /* 803DEA48 003DA6A8 48 00 00 7D */ bl func_803DEAC4 /* 803DEA4C 003DA6AC 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DEA50 003DA6B0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803DEA54 003DA6B4 7C 08 03 A6 */ mtlr r0 /* 803DEA58 003DA6B8 38 21 00 20 */ addi r1, r1, 0x20 /* 803DEA5C 003DA6BC 4E 80 00 20 */ blr .global func_803DEA60 func_803DEA60: /* 803DEA60 003DA6C0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DEA64 003DA6C4 7C 08 02 A6 */ mflr r0 /* 803DEA68 003DA6C8 28 04 00 03 */ cmplwi r4, 3 /* 803DEA6C 003DA6CC 90 01 00 24 */ stw r0, 0x24(r1) /* 803DEA70 003DA6D0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803DEA74 003DA6D4 7C 9F 23 78 */ mr r31, r4 /* 803DEA78 003DA6D8 40 81 00 08 */ ble lbl_803DEA80 /* 803DEA7C 003DA6DC 3B E0 00 03 */ li r31, 3 lbl_803DEA80: /* 803DEA80 003DA6E0 38 81 00 08 */ addi r4, r1, 8 /* 803DEA84 003DA6E4 48 00 00 C5 */ bl func_803DEB48 /* 803DEA88 003DA6E8 38 61 00 08 */ addi r3, r1, 8 /* 803DEA8C 003DA6EC 38 80 00 05 */ li r4, 5 /* 803DEA90 003DA6F0 48 00 00 35 */ bl func_803DEAC4 /* 803DEA94 003DA6F4 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 803DEA98 003DA6F8 38 00 00 64 */ li r0, 0x64 /* 803DEA9C 003DA6FC 7C 7F 21 D6 */ mullw r3, r31, r4 /* 803DEAA0 003DA700 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803DEAA4 003DA704 1C 63 00 14 */ mulli r3, r3, 0x14 /* 803DEAA8 003DA708 7C 03 03 D6 */ divw r0, r3, r0 /* 803DEAAC 003DA70C 7C 04 02 14 */ add r0, r4, r0 /* 803DEAB0 003DA710 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 803DEAB4 003DA714 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DEAB8 003DA718 7C 08 03 A6 */ mtlr r0 /* 803DEABC 003DA71C 38 21 00 20 */ addi r1, r1, 0x20 /* 803DEAC0 003DA720 4E 80 00 20 */ blr .global func_803DEAC4 func_803DEAC4: /* 803DEAC4 003DA724 28 04 00 0B */ cmplwi r4, 0xb /* 803DEAC8 003DA728 4D 81 00 20 */ bgtlr /* 803DEACC 003DA72C 3C A0 80 47 */ lis r5, lbl_80474CD8@ha /* 803DEAD0 003DA730 54 80 10 3A */ slwi r0, r4, 2 /* 803DEAD4 003DA734 38 A5 4C D8 */ addi r5, r5, lbl_80474CD8@l /* 803DEAD8 003DA738 7C A5 00 2E */ lwzx r5, r5, r0 /* 803DEADC 003DA73C 7C A9 03 A6 */ mtctr r5 /* 803DEAE0 003DA740 4E 80 04 20 */ bctr /* 803DEAE4 003DA744 A0 63 00 00 */ lhz r3, 0(r3) /* 803DEAE8 003DA748 4E 80 00 20 */ blr /* 803DEAEC 003DA74C 88 63 00 02 */ lbz r3, 2(r3) /* 803DEAF0 003DA750 4E 80 00 20 */ blr /* 803DEAF4 003DA754 88 63 00 03 */ lbz r3, 3(r3) /* 803DEAF8 003DA758 4E 80 00 20 */ blr /* 803DEAFC 003DA75C 88 63 00 04 */ lbz r3, 4(r3) /* 803DEB00 003DA760 4E 80 00 20 */ blr /* 803DEB04 003DA764 88 63 00 05 */ lbz r3, 5(r3) /* 803DEB08 003DA768 4E 80 00 20 */ blr /* 803DEB0C 003DA76C 88 63 00 06 */ lbz r3, 6(r3) /* 803DEB10 003DA770 4E 80 00 20 */ blr /* 803DEB14 003DA774 88 63 00 07 */ lbz r3, 7(r3) /* 803DEB18 003DA778 4E 80 00 20 */ blr /* 803DEB1C 003DA77C A0 63 00 08 */ lhz r3, 8(r3) /* 803DEB20 003DA780 4E 80 00 20 */ blr /* 803DEB24 003DA784 88 63 00 0A */ lbz r3, 0xa(r3) /* 803DEB28 003DA788 7C 63 07 74 */ extsb r3, r3 /* 803DEB2C 003DA78C 4E 80 00 20 */ blr /* 803DEB30 003DA790 88 63 00 0B */ lbz r3, 0xb(r3) /* 803DEB34 003DA794 4E 80 00 20 */ blr /* 803DEB38 003DA798 88 63 00 0C */ lbz r3, 0xc(r3) /* 803DEB3C 003DA79C 4E 80 00 20 */ blr /* 803DEB40 003DA7A0 88 63 00 0D */ lbz r3, 0xd(r3) /* 803DEB44 003DA7A4 4E 80 00 20 */ blr .global func_803DEB48 func_803DEB48: /* 803DEB48 003DA7A8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DEB4C 003DA7AC 7C 08 02 A6 */ mflr r0 /* 803DEB50 003DA7B0 90 01 00 24 */ stw r0, 0x24(r1) /* 803DEB54 003DA7B4 39 61 00 20 */ addi r11, r1, 0x20 /* 803DEB58 003DA7B8 4B DE 85 D9 */ bl _savegpr_29 /* 803DEB5C 003DA7BC 3F E0 80 64 */ lis r31, lbl_8063CE34@ha /* 803DEB60 003DA7C0 7C 7D 1B 78 */ mr r29, r3 /* 803DEB64 003DA7C4 3B FF CE 34 */ addi r31, r31, lbl_8063CE34@l /* 803DEB68 003DA7C8 7C 9E 23 78 */ mr r30, r4 /* 803DEB6C 003DA7CC 7F A4 EB 78 */ mr r4, r29 /* 803DEB70 003DA7D0 38 7F 00 18 */ addi r3, r31, 0x18 /* 803DEB74 003DA7D4 4B FB 3F C5 */ bl func_80392B38 /* 803DEB78 003DA7D8 B0 7E 00 00 */ sth r3, 0(r30) /* 803DEB7C 003DA7DC 7F A4 EB 78 */ mr r4, r29 /* 803DEB80 003DA7E0 38 7F 00 18 */ addi r3, r31, 0x18 /* 803DEB84 003DA7E4 4B FB 3F E9 */ bl func_80392B6C /* 803DEB88 003DA7E8 98 7E 00 02 */ stb r3, 2(r30) /* 803DEB8C 003DA7EC 7F A4 EB 78 */ mr r4, r29 /* 803DEB90 003DA7F0 38 7F 00 18 */ addi r3, r31, 0x18 /* 803DEB94 003DA7F4 4B FB 40 0D */ bl func_80392BA0 /* 803DEB98 003DA7F8 98 7E 00 03 */ stb r3, 3(r30) /* 803DEB9C 003DA7FC 7F A4 EB 78 */ mr r4, r29 /* 803DEBA0 003DA800 38 7F 00 18 */ addi r3, r31, 0x18 /* 803DEBA4 003DA804 4B FB 40 31 */ bl func_80392BD4 /* 803DEBA8 003DA808 98 7E 00 04 */ stb r3, 4(r30) /* 803DEBAC 003DA80C 7F A4 EB 78 */ mr r4, r29 /* 803DEBB0 003DA810 38 7F 00 18 */ addi r3, r31, 0x18 /* 803DEBB4 003DA814 4B FB 40 55 */ bl func_80392C08 /* 803DEBB8 003DA818 98 7E 00 05 */ stb r3, 5(r30) /* 803DEBBC 003DA81C 7F A4 EB 78 */ mr r4, r29 /* 803DEBC0 003DA820 38 7F 00 18 */ addi r3, r31, 0x18 /* 803DEBC4 003DA824 4B FB 40 79 */ bl func_80392C3C /* 803DEBC8 003DA828 98 7E 00 06 */ stb r3, 6(r30) /* 803DEBCC 003DA82C 7F A4 EB 78 */ mr r4, r29 /* 803DEBD0 003DA830 38 7F 00 18 */ addi r3, r31, 0x18 /* 803DEBD4 003DA834 4B FB 40 9D */ bl func_80392C70 /* 803DEBD8 003DA838 98 7E 00 07 */ stb r3, 7(r30) /* 803DEBDC 003DA83C 7F A4 EB 78 */ mr r4, r29 /* 803DEBE0 003DA840 38 7F 00 18 */ addi r3, r31, 0x18 /* 803DEBE4 003DA844 4B FB 40 C1 */ bl func_80392CA4 /* 803DEBE8 003DA848 B0 7E 00 08 */ sth r3, 8(r30) /* 803DEBEC 003DA84C 7F A4 EB 78 */ mr r4, r29 /* 803DEBF0 003DA850 38 7F 00 18 */ addi r3, r31, 0x18 /* 803DEBF4 003DA854 4B FB 40 E5 */ bl func_80392CD8 /* 803DEBF8 003DA858 98 7E 00 0A */ stb r3, 0xa(r30) /* 803DEBFC 003DA85C 7F A4 EB 78 */ mr r4, r29 /* 803DEC00 003DA860 38 7F 00 18 */ addi r3, r31, 0x18 /* 803DEC04 003DA864 4B FB 41 09 */ bl func_80392D0C /* 803DEC08 003DA868 98 7E 00 0B */ stb r3, 0xb(r30) /* 803DEC0C 003DA86C 39 61 00 20 */ addi r11, r1, 0x20 /* 803DEC10 003DA870 4B DE 85 6D */ bl _restgpr_29 /* 803DEC14 003DA874 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DEC18 003DA878 7C 08 03 A6 */ mtlr r0 /* 803DEC1C 003DA87C 38 21 00 20 */ addi r1, r1, 0x20 /* 803DEC20 003DA880 4E 80 00 20 */ blr .global func_803DEC24 func_803DEC24: /* 803DEC24 003DA884 48 00 00 10 */ b lbl_803DEC34 lbl_803DEC28: /* 803DEC28 003DA888 B0 03 00 00 */ sth r0, 0(r3) /* 803DEC2C 003DA88C 38 63 00 02 */ addi r3, r3, 2 /* 803DEC30 003DA890 38 84 00 02 */ addi r4, r4, 2 lbl_803DEC34: /* 803DEC34 003DA894 A0 04 00 00 */ lhz r0, 0(r4) /* 803DEC38 003DA898 28 00 FF FF */ cmplwi r0, 0xffff /* 803DEC3C 003DA89C 40 82 FF EC */ bne lbl_803DEC28 /* 803DEC40 003DA8A0 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 803DEC44 003DA8A4 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l /* 803DEC48 003DA8A8 B0 03 00 00 */ sth r0, 0(r3) /* 803DEC4C 003DA8AC 4E 80 00 20 */ blr .global func_803DEC50 func_803DEC50: /* 803DEC50 003DA8B0 38 A0 00 00 */ li r5, 0 /* 803DEC54 003DA8B4 38 80 00 00 */ li r4, 0 /* 803DEC58 003DA8B8 48 00 00 0C */ b lbl_803DEC64 lbl_803DEC5C: /* 803DEC5C 003DA8BC 38 A5 00 01 */ addi r5, r5, 1 /* 803DEC60 003DA8C0 38 84 00 02 */ addi r4, r4, 2 lbl_803DEC64: /* 803DEC64 003DA8C4 7C 03 22 2E */ lhzx r0, r3, r4 /* 803DEC68 003DA8C8 28 00 FF FF */ cmplwi r0, 0xffff /* 803DEC6C 003DA8CC 40 82 FF F0 */ bne lbl_803DEC5C /* 803DEC70 003DA8D0 7C A3 2B 78 */ mr r3, r5 /* 803DEC74 003DA8D4 4E 80 00 20 */ blr .global func_803DEC78 func_803DEC78: /* 803DEC78 003DA8D8 48 00 00 1C */ b lbl_803DEC94 lbl_803DEC7C: /* 803DEC7C 003DA8DC 28 05 FF FF */ cmplwi r5, 0xffff /* 803DEC80 003DA8E0 40 82 00 0C */ bne lbl_803DEC8C /* 803DEC84 003DA8E4 38 60 00 00 */ li r3, 0 /* 803DEC88 003DA8E8 4E 80 00 20 */ blr lbl_803DEC8C: /* 803DEC8C 003DA8EC 38 63 00 02 */ addi r3, r3, 2 /* 803DEC90 003DA8F0 38 84 00 02 */ addi r4, r4, 2 lbl_803DEC94: /* 803DEC94 003DA8F4 A0 A3 00 00 */ lhz r5, 0(r3) /* 803DEC98 003DA8F8 A0 04 00 00 */ lhz r0, 0(r4) /* 803DEC9C 003DA8FC 7C 05 00 40 */ cmplw r5, r0 /* 803DECA0 003DA900 41 82 FF DC */ beq lbl_803DEC7C /* 803DECA4 003DA904 38 60 00 01 */ li r3, 1 /* 803DECA8 003DA908 4E 80 00 20 */ blr .global func_803DECAC func_803DECAC: /* 803DECAC 003DA90C 48 00 00 38 */ b lbl_803DECE4 lbl_803DECB0: /* 803DECB0 003DA910 2C 05 00 00 */ cmpwi r5, 0 /* 803DECB4 003DA914 40 82 00 0C */ bne lbl_803DECC0 /* 803DECB8 003DA918 38 60 00 00 */ li r3, 0 /* 803DECBC 003DA91C 4E 80 00 20 */ blr lbl_803DECC0: /* 803DECC0 003DA920 28 00 FF FF */ cmplwi r0, 0xffff /* 803DECC4 003DA924 40 82 00 14 */ bne lbl_803DECD8 /* 803DECC8 003DA928 28 06 FF FF */ cmplwi r6, 0xffff /* 803DECCC 003DA92C 40 82 00 0C */ bne lbl_803DECD8 /* 803DECD0 003DA930 38 60 00 00 */ li r3, 0 /* 803DECD4 003DA934 4E 80 00 20 */ blr lbl_803DECD8: /* 803DECD8 003DA938 38 A5 FF FF */ addi r5, r5, -1 /* 803DECDC 003DA93C 38 63 00 02 */ addi r3, r3, 2 /* 803DECE0 003DA940 38 84 00 02 */ addi r4, r4, 2 lbl_803DECE4: /* 803DECE4 003DA944 A0 C4 00 00 */ lhz r6, 0(r4) /* 803DECE8 003DA948 A0 03 00 00 */ lhz r0, 0(r3) /* 803DECEC 003DA94C 7C 00 30 40 */ cmplw r0, r6 /* 803DECF0 003DA950 41 82 FF C0 */ beq lbl_803DECB0 /* 803DECF4 003DA954 38 60 00 01 */ li r3, 1 /* 803DECF8 003DA958 4E 80 00 20 */ blr .global func_803DECFC func_803DECFC: /* 803DECFC 003DA95C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DED00 003DA960 7C 08 02 A6 */ mflr r0 /* 803DED04 003DA964 90 01 00 14 */ stw r0, 0x14(r1) /* 803DED08 003DA968 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DED0C 003DA96C 7C 9F 23 78 */ mr r31, r4 /* 803DED10 003DA970 38 80 00 28 */ li r4, 0x28 /* 803DED14 003DA974 93 C1 00 08 */ stw r30, 8(r1) /* 803DED18 003DA978 7C 7E 1B 78 */ mr r30, r3 /* 803DED1C 003DA97C 7C A3 2B 78 */ mr r3, r5 /* 803DED20 003DA980 4B D8 F2 51 */ bl func_8016DF70 /* 803DED24 003DA984 80 BE 00 00 */ lwz r5, 0(r30) /* 803DED28 003DA988 38 00 00 00 */ li r0, 0 /* 803DED2C 003DA98C 80 9E 00 04 */ lwz r4, 4(r30) /* 803DED30 003DA990 90 A3 00 00 */ stw r5, 0(r3) /* 803DED34 003DA994 80 BE 00 08 */ lwz r5, 8(r30) /* 803DED38 003DA998 90 83 00 04 */ stw r4, 4(r3) /* 803DED3C 003DA99C 80 9E 00 0C */ lwz r4, 0xc(r30) /* 803DED40 003DA9A0 90 A3 00 08 */ stw r5, 8(r3) /* 803DED44 003DA9A4 90 83 00 0C */ stw r4, 0xc(r3) /* 803DED48 003DA9A8 90 03 00 10 */ stw r0, 0x10(r3) /* 803DED4C 003DA9AC 90 03 00 14 */ stw r0, 0x14(r3) /* 803DED50 003DA9B0 93 E3 00 18 */ stw r31, 0x18(r3) /* 803DED54 003DA9B4 90 03 00 1C */ stw r0, 0x1c(r3) /* 803DED58 003DA9B8 90 03 00 20 */ stw r0, 0x20(r3) /* 803DED5C 003DA9BC 90 03 00 24 */ stw r0, 0x24(r3) /* 803DED60 003DA9C0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DED64 003DA9C4 83 C1 00 08 */ lwz r30, 8(r1) /* 803DED68 003DA9C8 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DED6C 003DA9CC 7C 08 03 A6 */ mtlr r0 /* 803DED70 003DA9D0 38 21 00 10 */ addi r1, r1, 0x10 /* 803DED74 003DA9D4 4E 80 00 20 */ blr .global func_803DED78 func_803DED78: /* 803DED78 003DA9D8 4B D8 F3 28 */ b func_8016E0A0 .global func_803DED7C func_803DED7C: /* 803DED7C 003DA9DC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DED80 003DA9E0 7C 08 02 A6 */ mflr r0 /* 803DED84 003DA9E4 90 01 00 14 */ stw r0, 0x14(r1) /* 803DED88 003DA9E8 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DED8C 003DA9EC 7C 7F 1B 78 */ mr r31, r3 /* 803DED90 003DA9F0 7C A3 2B 78 */ mr r3, r5 /* 803DED94 003DA9F4 4B D8 F1 DD */ bl func_8016DF70 /* 803DED98 003DA9F8 90 7F 00 1C */ stw r3, 0x1c(r31) /* 803DED9C 003DA9FC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DEDA0 003DAA00 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DEDA4 003DAA04 7C 08 03 A6 */ mtlr r0 /* 803DEDA8 003DAA08 38 21 00 10 */ addi r1, r1, 0x10 /* 803DEDAC 003DAA0C 4E 80 00 20 */ blr .global func_803DEDB0 func_803DEDB0: /* 803DEDB0 003DAA10 80 63 00 1C */ lwz r3, 0x1c(r3) /* 803DEDB4 003DAA14 4E 80 00 20 */ blr .global func_803DEDB8 func_803DEDB8: /* 803DEDB8 003DAA18 80 63 00 18 */ lwz r3, 0x18(r3) /* 803DEDBC 003DAA1C 4E 80 00 20 */ blr .global func_803DEDC0 func_803DEDC0: /* 803DEDC0 003DAA20 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DEDC4 003DAA24 7C 08 02 A6 */ mflr r0 /* 803DEDC8 003DAA28 90 01 00 14 */ stw r0, 0x14(r1) /* 803DEDCC 003DAA2C 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DEDD0 003DAA30 7C 7F 1B 78 */ mr r31, r3 /* 803DEDD4 003DAA34 80 03 00 10 */ lwz r0, 0x10(r3) /* 803DEDD8 003DAA38 2C 00 00 02 */ cmpwi r0, 2 /* 803DEDDC 003DAA3C 41 82 00 5C */ beq lbl_803DEE38 /* 803DEDE0 003DAA40 40 80 00 14 */ bge lbl_803DEDF4 /* 803DEDE4 003DAA44 2C 00 00 00 */ cmpwi r0, 0 /* 803DEDE8 003DAA48 41 82 00 18 */ beq lbl_803DEE00 /* 803DEDEC 003DAA4C 40 80 00 1C */ bge lbl_803DEE08 /* 803DEDF0 003DAA50 48 00 00 94 */ b lbl_803DEE84 lbl_803DEDF4: /* 803DEDF4 003DAA54 2C 00 00 04 */ cmpwi r0, 4 /* 803DEDF8 003DAA58 40 80 00 8C */ bge lbl_803DEE84 /* 803DEDFC 003DAA5C 48 00 00 68 */ b lbl_803DEE64 lbl_803DEE00: /* 803DEE00 003DAA60 38 00 00 01 */ li r0, 1 /* 803DEE04 003DAA64 90 03 00 10 */ stw r0, 0x10(r3) lbl_803DEE08: /* 803DEE08 003DAA68 81 9F 00 00 */ lwz r12, 0(r31) /* 803DEE0C 003DAA6C 7F E3 FB 78 */ mr r3, r31 /* 803DEE10 003DAA70 38 9F 00 14 */ addi r4, r31, 0x14 /* 803DEE14 003DAA74 7D 89 03 A6 */ mtctr r12 /* 803DEE18 003DAA78 4E 80 04 21 */ bctrl /* 803DEE1C 003DAA7C 2C 03 00 01 */ cmpwi r3, 1 /* 803DEE20 003DAA80 40 82 00 64 */ bne lbl_803DEE84 /* 803DEE24 003DAA84 38 60 00 02 */ li r3, 2 /* 803DEE28 003DAA88 38 00 00 00 */ li r0, 0 /* 803DEE2C 003DAA8C 90 7F 00 10 */ stw r3, 0x10(r31) /* 803DEE30 003DAA90 90 1F 00 14 */ stw r0, 0x14(r31) /* 803DEE34 003DAA94 48 00 00 50 */ b lbl_803DEE84 lbl_803DEE38: /* 803DEE38 003DAA98 81 83 00 04 */ lwz r12, 4(r3) /* 803DEE3C 003DAA9C 38 83 00 14 */ addi r4, r3, 0x14 /* 803DEE40 003DAAA0 7D 89 03 A6 */ mtctr r12 /* 803DEE44 003DAAA4 4E 80 04 21 */ bctrl /* 803DEE48 003DAAA8 2C 03 00 01 */ cmpwi r3, 1 /* 803DEE4C 003DAAAC 40 82 00 38 */ bne lbl_803DEE84 /* 803DEE50 003DAAB0 38 60 00 03 */ li r3, 3 /* 803DEE54 003DAAB4 38 00 00 00 */ li r0, 0 /* 803DEE58 003DAAB8 90 7F 00 10 */ stw r3, 0x10(r31) /* 803DEE5C 003DAABC 90 1F 00 14 */ stw r0, 0x14(r31) /* 803DEE60 003DAAC0 48 00 00 24 */ b lbl_803DEE84 lbl_803DEE64: /* 803DEE64 003DAAC4 81 83 00 08 */ lwz r12, 8(r3) /* 803DEE68 003DAAC8 38 83 00 14 */ addi r4, r3, 0x14 /* 803DEE6C 003DAACC 7D 89 03 A6 */ mtctr r12 /* 803DEE70 003DAAD0 4E 80 04 21 */ bctrl /* 803DEE74 003DAAD4 2C 03 00 01 */ cmpwi r3, 1 /* 803DEE78 003DAAD8 40 82 00 0C */ bne lbl_803DEE84 /* 803DEE7C 003DAADC 38 60 00 01 */ li r3, 1 /* 803DEE80 003DAAE0 48 00 00 08 */ b lbl_803DEE88 lbl_803DEE84: /* 803DEE84 003DAAE4 38 60 00 00 */ li r3, 0 lbl_803DEE88: /* 803DEE88 003DAAE8 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DEE8C 003DAAEC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DEE90 003DAAF0 7C 08 03 A6 */ mtlr r0 /* 803DEE94 003DAAF4 38 21 00 10 */ addi r1, r1, 0x10 /* 803DEE98 003DAAF8 4E 80 00 20 */ blr .global func_803DEE9C func_803DEE9C: /* 803DEE9C 003DAAFC 80 63 00 14 */ lwz r3, 0x14(r3) /* 803DEEA0 003DAB00 4E 80 00 20 */ blr .global func_803DEEA4 func_803DEEA4: /* 803DEEA4 003DAB04 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DEEA8 003DAB08 7C 08 02 A6 */ mflr r0 /* 803DEEAC 003DAB0C 90 01 00 24 */ stw r0, 0x24(r1) /* 803DEEB0 003DAB10 39 61 00 20 */ addi r11, r1, 0x20 /* 803DEEB4 003DAB14 4B DE 82 7D */ bl _savegpr_29 /* 803DEEB8 003DAB18 3F C0 80 64 */ lis r30, lbl_8063D230@ha /* 803DEEBC 003DAB1C 3B A0 00 00 */ li r29, 0 /* 803DEEC0 003DAB20 3B DE D2 30 */ addi r30, r30, lbl_8063D230@l /* 803DEEC4 003DAB24 3B E0 00 00 */ li r31, 0 lbl_803DEEC8: /* 803DEEC8 003DAB28 7C 7E FA 14 */ add r3, r30, r31 /* 803DEECC 003DAB2C 38 80 00 00 */ li r4, 0 /* 803DEED0 003DAB30 38 A0 00 08 */ li r5, 8 /* 803DEED4 003DAB34 4B C2 52 31 */ bl memset /* 803DEED8 003DAB38 3B BD 00 01 */ addi r29, r29, 1 /* 803DEEDC 003DAB3C 3B FF 00 08 */ addi r31, r31, 8 /* 803DEEE0 003DAB40 2C 1D 00 10 */ cmpwi r29, 0x10 /* 803DEEE4 003DAB44 41 80 FF E4 */ blt lbl_803DEEC8 /* 803DEEE8 003DAB48 39 61 00 20 */ addi r11, r1, 0x20 /* 803DEEEC 003DAB4C 4B DE 82 91 */ bl _restgpr_29 /* 803DEEF0 003DAB50 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DEEF4 003DAB54 7C 08 03 A6 */ mtlr r0 /* 803DEEF8 003DAB58 38 21 00 20 */ addi r1, r1, 0x20 /* 803DEEFC 003DAB5C 4E 80 00 20 */ blr .global func_803DEF00 func_803DEF00: /* 803DEF00 003DAB60 3C A0 80 64 */ lis r5, lbl_8063D230@ha /* 803DEF04 003DAB64 38 00 00 10 */ li r0, 0x10 /* 803DEF08 003DAB68 38 A5 D2 30 */ addi r5, r5, lbl_8063D230@l /* 803DEF0C 003DAB6C 7C 09 03 A6 */ mtctr r0 lbl_803DEF10: /* 803DEF10 003DAB70 80 05 00 00 */ lwz r0, 0(r5) /* 803DEF14 003DAB74 2C 00 00 00 */ cmpwi r0, 0 /* 803DEF18 003DAB78 40 82 00 14 */ bne lbl_803DEF2C /* 803DEF1C 003DAB7C 90 65 00 00 */ stw r3, 0(r5) /* 803DEF20 003DAB80 7C A3 2B 78 */ mr r3, r5 /* 803DEF24 003DAB84 90 85 00 04 */ stw r4, 4(r5) /* 803DEF28 003DAB88 4E 80 00 20 */ blr lbl_803DEF2C: /* 803DEF2C 003DAB8C 38 A5 00 08 */ addi r5, r5, 8 /* 803DEF30 003DAB90 42 00 FF E0 */ bdnz lbl_803DEF10 /* 803DEF34 003DAB94 38 60 00 00 */ li r3, 0 /* 803DEF38 003DAB98 4E 80 00 20 */ blr .global func_803DEF3C func_803DEF3C: /* 803DEF3C 003DAB9C 3C 80 80 64 */ lis r4, lbl_8063D230@ha /* 803DEF40 003DABA0 38 00 00 10 */ li r0, 0x10 /* 803DEF44 003DABA4 38 84 D2 30 */ addi r4, r4, lbl_8063D230@l /* 803DEF48 003DABA8 7C 09 03 A6 */ mtctr r0 lbl_803DEF4C: /* 803DEF4C 003DABAC 7C 04 18 40 */ cmplw r4, r3 /* 803DEF50 003DABB0 40 82 00 14 */ bne lbl_803DEF64 /* 803DEF54 003DABB4 38 00 00 00 */ li r0, 0 /* 803DEF58 003DABB8 90 04 00 00 */ stw r0, 0(r4) /* 803DEF5C 003DABBC 90 04 00 04 */ stw r0, 4(r4) /* 803DEF60 003DABC0 4E 80 00 20 */ blr lbl_803DEF64: /* 803DEF64 003DABC4 38 84 00 08 */ addi r4, r4, 8 /* 803DEF68 003DABC8 42 00 FF E4 */ bdnz lbl_803DEF4C /* 803DEF6C 003DABCC 4E 80 00 20 */ blr .global func_803DEF70 func_803DEF70: /* 803DEF70 003DABD0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DEF74 003DABD4 7C 08 02 A6 */ mflr r0 /* 803DEF78 003DABD8 90 01 00 14 */ stw r0, 0x14(r1) /* 803DEF7C 003DABDC 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DEF80 003DABE0 3F E0 80 64 */ lis r31, lbl_8063D230@ha /* 803DEF84 003DABE4 3B FF D2 30 */ addi r31, r31, lbl_8063D230@l /* 803DEF88 003DABE8 93 C1 00 08 */ stw r30, 8(r1) /* 803DEF8C 003DABEC 3B C0 00 00 */ li r30, 0 lbl_803DEF90: /* 803DEF90 003DABF0 81 9F 00 00 */ lwz r12, 0(r31) /* 803DEF94 003DABF4 2C 0C 00 00 */ cmpwi r12, 0 /* 803DEF98 003DABF8 41 82 00 14 */ beq lbl_803DEFAC /* 803DEF9C 003DABFC 7F E3 FB 78 */ mr r3, r31 /* 803DEFA0 003DAC00 80 9F 00 04 */ lwz r4, 4(r31) /* 803DEFA4 003DAC04 7D 89 03 A6 */ mtctr r12 /* 803DEFA8 003DAC08 4E 80 04 21 */ bctrl lbl_803DEFAC: /* 803DEFAC 003DAC0C 3B DE 00 01 */ addi r30, r30, 1 /* 803DEFB0 003DAC10 3B FF 00 08 */ addi r31, r31, 8 /* 803DEFB4 003DAC14 2C 1E 00 10 */ cmpwi r30, 0x10 /* 803DEFB8 003DAC18 41 80 FF D8 */ blt lbl_803DEF90 /* 803DEFBC 003DAC1C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DEFC0 003DAC20 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DEFC4 003DAC24 83 C1 00 08 */ lwz r30, 8(r1) /* 803DEFC8 003DAC28 7C 08 03 A6 */ mtlr r0 /* 803DEFCC 003DAC2C 38 21 00 10 */ addi r1, r1, 0x10 /* 803DEFD0 003DAC30 4E 80 00 20 */ blr .global func_803DEFD4 func_803DEFD4: /* 803DEFD4 003DAC34 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DEFD8 003DAC38 7C 08 02 A6 */ mflr r0 /* 803DEFDC 003DAC3C 90 01 00 14 */ stw r0, 0x14(r1) /* 803DEFE0 003DAC40 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DEFE4 003DAC44 7C 7F 1B 78 */ mr r31, r3 /* 803DEFE8 003DAC48 7C 83 23 78 */ mr r3, r4 /* 803DEFEC 003DAC4C 57 E4 08 3C */ slwi r4, r31, 1 /* 803DEFF0 003DAC50 38 84 00 0A */ addi r4, r4, 0xa /* 803DEFF4 003DAC54 4B D8 EF 7D */ bl func_8016DF70 /* 803DEFF8 003DAC58 2C 03 00 00 */ cmpwi r3, 0 /* 803DEFFC 003DAC5C 41 82 00 28 */ beq lbl_803DF024 /* 803DF000 003DAC60 3C A0 B6 F9 */ lis r5, 0xB6F8D2EC@ha /* 803DF004 003DAC64 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 803DF008 003DAC68 38 05 D2 EC */ addi r0, r5, 0xB6F8D2EC@l /* 803DF00C 003DAC6C 90 03 00 04 */ stw r0, 4(r3) /* 803DF010 003DAC70 38 A0 00 00 */ li r5, 0 /* 803DF014 003DAC74 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l /* 803DF018 003DAC78 B3 E3 00 00 */ sth r31, 0(r3) /* 803DF01C 003DAC7C B0 A3 00 02 */ sth r5, 2(r3) /* 803DF020 003DAC80 B0 03 00 08 */ sth r0, 8(r3) lbl_803DF024: /* 803DF024 003DAC84 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DF028 003DAC88 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DF02C 003DAC8C 7C 08 03 A6 */ mtlr r0 /* 803DF030 003DAC90 38 21 00 10 */ addi r1, r1, 0x10 /* 803DF034 003DAC94 4E 80 00 20 */ blr .global func_803DF038 func_803DF038: /* 803DF038 003DAC98 3C 80 B6 F9 */ lis r4, 0xB6F8D2ED@ha /* 803DF03C 003DAC9C 38 04 D2 ED */ addi r0, r4, 0xB6F8D2ED@l /* 803DF040 003DACA0 90 03 00 04 */ stw r0, 4(r3) /* 803DF044 003DACA4 4B D8 F0 5C */ b func_8016E0A0 .global func_803DF048 func_803DF048: /* 803DF048 003DACA8 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 803DF04C 003DACAC 38 A0 00 00 */ li r5, 0 /* 803DF050 003DACB0 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l /* 803DF054 003DACB4 B0 A3 00 02 */ sth r5, 2(r3) /* 803DF058 003DACB8 B0 03 00 08 */ sth r0, 8(r3) /* 803DF05C 003DACBC 4E 80 00 20 */ blr .global func_803DF060 func_803DF060: /* 803DF060 003DACC0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DF064 003DACC4 7C 08 02 A6 */ mflr r0 /* 803DF068 003DACC8 A0 C4 00 02 */ lhz r6, 2(r4) /* 803DF06C 003DACCC 90 01 00 14 */ stw r0, 0x14(r1) /* 803DF070 003DACD0 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DF074 003DACD4 7C 9F 23 78 */ mr r31, r4 /* 803DF078 003DACD8 93 C1 00 08 */ stw r30, 8(r1) /* 803DF07C 003DACDC 7C 7E 1B 78 */ mr r30, r3 /* 803DF080 003DACE0 A0 A3 00 00 */ lhz r5, 0(r3) /* 803DF084 003DACE4 7C 05 30 40 */ cmplw r5, r6 /* 803DF088 003DACE8 40 81 00 24 */ ble lbl_803DF0AC /* 803DF08C 003DACEC 38 06 00 01 */ addi r0, r6, 1 /* 803DF090 003DACF0 38 84 00 08 */ addi r4, r4, 8 /* 803DF094 003DACF4 54 05 08 3C */ slwi r5, r0, 1 /* 803DF098 003DACF8 38 63 00 08 */ addi r3, r3, 8 /* 803DF09C 003DACFC 4B C2 4F 65 */ bl memcpy /* 803DF0A0 003DAD00 A0 1F 00 02 */ lhz r0, 2(r31) /* 803DF0A4 003DAD04 B0 1E 00 02 */ sth r0, 2(r30) /* 803DF0A8 003DAD08 48 00 00 18 */ b lbl_803DF0C0 lbl_803DF0AC: /* 803DF0AC 003DAD0C 3C 80 80 47 */ lis r4, lbl_80474D08@ha /* 803DF0B0 003DAD10 38 60 00 00 */ li r3, 0 /* 803DF0B4 003DAD14 38 84 4D 08 */ addi r4, r4, lbl_80474D08@l /* 803DF0B8 003DAD18 4C C6 31 82 */ crclr 6 /* 803DF0BC 003DAD1C 4B FF A7 E1 */ bl func_803D989C lbl_803DF0C0: /* 803DF0C0 003DAD20 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DF0C4 003DAD24 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DF0C8 003DAD28 83 C1 00 08 */ lwz r30, 8(r1) /* 803DF0CC 003DAD2C 7C 08 03 A6 */ mtlr r0 /* 803DF0D0 003DAD30 38 21 00 10 */ addi r1, r1, 0x10 /* 803DF0D4 003DAD34 4E 80 00 20 */ blr .global func_803DF0D8 func_803DF0D8: /* 803DF0D8 003DAD38 54 8B 0F FE */ srwi r11, r4, 0x1f /* 803DF0DC 003DAD3C A1 03 00 00 */ lhz r8, 0(r3) /* 803DF0E0 003DAD40 7C 05 5A 14 */ add r0, r5, r11 /* 803DF0E4 003DAD44 3D 80 80 40 */ lis r12, lbl_80405CF8@ha /* 803DF0E8 003DAD48 7C 08 00 40 */ cmplw r8, r0 /* 803DF0EC 003DAD4C 7C A0 2B 78 */ mr r0, r5 /* 803DF0F0 003DAD50 39 8C 5C F8 */ addi r12, r12, lbl_80405CF8@l /* 803DF0F4 003DAD54 40 81 01 60 */ ble lbl_803DF254 /* 803DF0F8 003DAD58 2C 07 00 03 */ cmpwi r7, 3 /* 803DF0FC 003DAD5C 39 0C 00 3C */ addi r8, r12, 0x3c /* 803DF100 003DAD60 40 82 00 08 */ bne lbl_803DF108 /* 803DF104 003DAD64 39 0C 00 28 */ addi r8, r12, 0x28 lbl_803DF108: /* 803DF108 003DAD68 3D 20 00 01 */ lis r9, 0x0000FFFF@ha /* 803DF10C 003DAD6C 39 40 00 00 */ li r10, 0 /* 803DF110 003DAD70 38 09 FF FF */ addi r0, r9, 0x0000FFFF@l /* 803DF114 003DAD74 2C 0B 00 00 */ cmpwi r11, 0 /* 803DF118 003DAD78 B1 43 00 02 */ sth r10, 2(r3) /* 803DF11C 003DAD7C B0 03 00 08 */ sth r0, 8(r3) /* 803DF120 003DAD80 41 82 00 30 */ beq lbl_803DF150 /* 803DF124 003DAD84 2C 07 00 03 */ cmpwi r7, 3 /* 803DF128 003DAD88 39 60 01 BE */ li r11, 0x1be /* 803DF12C 003DAD8C 1C 84 FF FF */ mulli r4, r4, -1 /* 803DF130 003DAD90 40 82 00 08 */ bne lbl_803DF138 /* 803DF134 003DAD94 39 60 00 F1 */ li r11, 0xf1 lbl_803DF138: /* 803DF138 003DAD98 A1 23 00 02 */ lhz r9, 2(r3) /* 803DF13C 003DAD9C 55 20 08 3C */ slwi r0, r9, 1 /* 803DF140 003DADA0 39 49 00 01 */ addi r10, r9, 1 /* 803DF144 003DADA4 7D 23 02 14 */ add r9, r3, r0 /* 803DF148 003DADA8 B1 69 00 08 */ sth r11, 8(r9) /* 803DF14C 003DADAC B1 43 00 02 */ sth r10, 2(r3) lbl_803DF150: /* 803DF150 003DADB0 39 2C 00 00 */ addi r9, r12, 0 /* 803DF154 003DADB4 54 A0 10 3A */ slwi r0, r5, 2 /* 803DF158 003DADB8 7C A9 02 14 */ add r5, r9, r0 /* 803DF15C 003DADBC 81 65 FF FC */ lwz r11, -4(r5) /* 803DF160 003DADC0 38 00 00 0A */ li r0, 0xa /* 803DF164 003DADC4 48 00 00 CC */ b lbl_803DF230 lbl_803DF168: /* 803DF168 003DADC8 7C A4 5B 96 */ divwu r5, r4, r11 /* 803DF16C 003DADCC 2C 06 00 02 */ cmpwi r6, 2 /* 803DF170 003DADD0 54 A9 04 3E */ clrlwi r9, r5, 0x10 /* 803DF174 003DADD4 7C AB 49 D6 */ mullw r5, r11, r9 /* 803DF178 003DADD8 7C 85 20 50 */ subf r4, r5, r4 /* 803DF17C 003DADDC 40 82 00 38 */ bne lbl_803DF1B4 /* 803DF180 003DADE0 28 09 00 0A */ cmplwi r9, 0xa /* 803DF184 003DADE4 40 80 00 10 */ bge lbl_803DF194 /* 803DF188 003DADE8 55 25 08 3C */ slwi r5, r9, 1 /* 803DF18C 003DADEC 7D 48 2A 2E */ lhzx r10, r8, r5 /* 803DF190 003DADF0 48 00 00 08 */ b lbl_803DF198 lbl_803DF194: /* 803DF194 003DADF4 39 40 00 E2 */ li r10, 0xe2 lbl_803DF198: /* 803DF198 003DADF8 A1 23 00 02 */ lhz r9, 2(r3) /* 803DF19C 003DADFC 55 25 08 3C */ slwi r5, r9, 1 /* 803DF1A0 003DAE00 39 29 00 01 */ addi r9, r9, 1 /* 803DF1A4 003DAE04 7C A3 2A 14 */ add r5, r3, r5 /* 803DF1A8 003DAE08 B1 45 00 08 */ sth r10, 8(r5) /* 803DF1AC 003DAE0C B1 23 00 02 */ sth r9, 2(r3) /* 803DF1B0 003DAE10 48 00 00 7C */ b lbl_803DF22C lbl_803DF1B4: /* 803DF1B4 003DAE14 2C 09 00 00 */ cmpwi r9, 0 /* 803DF1B8 003DAE18 40 82 00 0C */ bne lbl_803DF1C4 /* 803DF1BC 003DAE1C 28 0B 00 01 */ cmplwi r11, 1 /* 803DF1C0 003DAE20 40 82 00 3C */ bne lbl_803DF1FC lbl_803DF1C4: /* 803DF1C4 003DAE24 28 09 00 0A */ cmplwi r9, 0xa /* 803DF1C8 003DAE28 38 C0 00 02 */ li r6, 2 /* 803DF1CC 003DAE2C 40 80 00 10 */ bge lbl_803DF1DC /* 803DF1D0 003DAE30 55 25 08 3C */ slwi r5, r9, 1 /* 803DF1D4 003DAE34 7D 48 2A 2E */ lhzx r10, r8, r5 /* 803DF1D8 003DAE38 48 00 00 08 */ b lbl_803DF1E0 lbl_803DF1DC: /* 803DF1DC 003DAE3C 39 40 00 E2 */ li r10, 0xe2 lbl_803DF1E0: /* 803DF1E0 003DAE40 A1 23 00 02 */ lhz r9, 2(r3) /* 803DF1E4 003DAE44 55 25 08 3C */ slwi r5, r9, 1 /* 803DF1E8 003DAE48 39 29 00 01 */ addi r9, r9, 1 /* 803DF1EC 003DAE4C 7C A3 2A 14 */ add r5, r3, r5 /* 803DF1F0 003DAE50 B1 45 00 08 */ sth r10, 8(r5) /* 803DF1F4 003DAE54 B1 23 00 02 */ sth r9, 2(r3) /* 803DF1F8 003DAE58 48 00 00 34 */ b lbl_803DF22C lbl_803DF1FC: /* 803DF1FC 003DAE5C 2C 06 00 00 */ cmpwi r6, 0 /* 803DF200 003DAE60 40 82 00 2C */ bne lbl_803DF22C /* 803DF204 003DAE64 2C 07 00 03 */ cmpwi r7, 3 /* 803DF208 003DAE68 39 40 01 DE */ li r10, 0x1de /* 803DF20C 003DAE6C 40 82 00 08 */ bne lbl_803DF214 /* 803DF210 003DAE70 39 40 00 01 */ li r10, 1 lbl_803DF214: /* 803DF214 003DAE74 A1 23 00 02 */ lhz r9, 2(r3) /* 803DF218 003DAE78 55 25 08 3C */ slwi r5, r9, 1 /* 803DF21C 003DAE7C 39 29 00 01 */ addi r9, r9, 1 /* 803DF220 003DAE80 7C A3 2A 14 */ add r5, r3, r5 /* 803DF224 003DAE84 B1 45 00 08 */ sth r10, 8(r5) /* 803DF228 003DAE88 B1 23 00 02 */ sth r9, 2(r3) lbl_803DF22C: /* 803DF22C 003DAE8C 7D 6B 03 96 */ divwu r11, r11, r0 lbl_803DF230: /* 803DF230 003DAE90 2C 0B 00 00 */ cmpwi r11, 0 /* 803DF234 003DAE94 40 82 FF 34 */ bne lbl_803DF168 /* 803DF238 003DAE98 A0 03 00 02 */ lhz r0, 2(r3) /* 803DF23C 003DAE9C 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 803DF240 003DAEA0 38 84 FF FF */ addi r4, r4, 0x0000FFFF@l /* 803DF244 003DAEA4 54 00 08 3C */ slwi r0, r0, 1 /* 803DF248 003DAEA8 7C 63 02 14 */ add r3, r3, r0 /* 803DF24C 003DAEAC B0 83 00 08 */ sth r4, 8(r3) /* 803DF250 003DAEB0 4E 80 00 20 */ blr lbl_803DF254: /* 803DF254 003DAEB4 3C 80 80 47 */ lis r4, lbl_80474D31@ha /* 803DF258 003DAEB8 7D 05 43 78 */ mr r5, r8 /* 803DF25C 003DAEBC 7C 06 03 78 */ mr r6, r0 /* 803DF260 003DAEC0 38 60 00 00 */ li r3, 0 /* 803DF264 003DAEC4 38 84 4D 31 */ addi r4, r4, lbl_80474D31@l /* 803DF268 003DAEC8 4C C6 31 82 */ crclr 6 /* 803DF26C 003DAECC 4B FF A6 30 */ b func_803D989C /* 803DF270 003DAED0 4E 80 00 20 */ blr .global func_803DF274 func_803DF274: /* 803DF274 003DAED4 A0 63 00 02 */ lhz r3, 2(r3) /* 803DF278 003DAED8 4E 80 00 20 */ blr .global func_803DF27C func_803DF27C: /* 803DF27C 003DAEDC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DF280 003DAEE0 7C 08 02 A6 */ mflr r0 /* 803DF284 003DAEE4 90 01 00 14 */ stw r0, 0x14(r1) /* 803DF288 003DAEE8 38 00 00 00 */ li r0, 0 /* 803DF28C 003DAEEC 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DF290 003DAEF0 7C 7F 1B 78 */ mr r31, r3 /* 803DF294 003DAEF4 B0 03 00 02 */ sth r0, 2(r3) /* 803DF298 003DAEF8 48 00 00 4C */ b lbl_803DF2E4 lbl_803DF29C: /* 803DF29C 003DAEFC A0 A3 00 00 */ lhz r5, 0(r3) /* 803DF2A0 003DAF00 A0 E3 00 02 */ lhz r7, 2(r3) /* 803DF2A4 003DAF04 38 05 FF FF */ addi r0, r5, -1 /* 803DF2A8 003DAF08 7C 07 00 00 */ cmpw r7, r0 /* 803DF2AC 003DAF0C 41 80 00 1C */ blt lbl_803DF2C8 /* 803DF2B0 003DAF10 3C 80 80 47 */ lis r4, lbl_80474D56@ha /* 803DF2B4 003DAF14 38 60 00 00 */ li r3, 0 /* 803DF2B8 003DAF18 38 84 4D 56 */ addi r4, r4, lbl_80474D56@l /* 803DF2BC 003DAF1C 4C C6 31 82 */ crclr 6 /* 803DF2C0 003DAF20 4B FF A5 DD */ bl func_803D989C /* 803DF2C4 003DAF24 48 00 00 2C */ b lbl_803DF2F0 lbl_803DF2C8: /* 803DF2C8 003DAF28 54 E0 08 3C */ slwi r0, r7, 1 /* 803DF2CC 003DAF2C A0 C4 00 00 */ lhz r6, 0(r4) /* 803DF2D0 003DAF30 7C A3 02 14 */ add r5, r3, r0 /* 803DF2D4 003DAF34 38 84 00 02 */ addi r4, r4, 2 /* 803DF2D8 003DAF38 B0 C5 00 08 */ sth r6, 8(r5) /* 803DF2DC 003DAF3C 38 07 00 01 */ addi r0, r7, 1 /* 803DF2E0 003DAF40 B0 03 00 02 */ sth r0, 2(r3) lbl_803DF2E4: /* 803DF2E4 003DAF44 A0 04 00 00 */ lhz r0, 0(r4) /* 803DF2E8 003DAF48 28 00 FF FF */ cmplwi r0, 0xffff /* 803DF2EC 003DAF4C 40 82 FF B0 */ bne lbl_803DF29C lbl_803DF2F0: /* 803DF2F0 003DAF50 A0 1F 00 02 */ lhz r0, 2(r31) /* 803DF2F4 003DAF54 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 803DF2F8 003DAF58 38 83 FF FF */ addi r4, r3, 0x0000FFFF@l /* 803DF2FC 003DAF5C 54 00 08 3C */ slwi r0, r0, 1 /* 803DF300 003DAF60 7C 7F 02 14 */ add r3, r31, r0 /* 803DF304 003DAF64 B0 83 00 08 */ sth r4, 8(r3) /* 803DF308 003DAF68 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DF30C 003DAF6C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DF310 003DAF70 7C 08 03 A6 */ mtlr r0 /* 803DF314 003DAF74 38 21 00 10 */ addi r1, r1, 0x10 /* 803DF318 003DAF78 4E 80 00 20 */ blr .global func_803DF31C func_803DF31C: /* 803DF31C 003DAF7C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DF320 003DAF80 7C 08 02 A6 */ mflr r0 /* 803DF324 003DAF84 90 01 00 24 */ stw r0, 0x24(r1) /* 803DF328 003DAF88 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF32C 003DAF8C 4B DE 7E 05 */ bl _savegpr_29 /* 803DF330 003DAF90 A0 03 00 00 */ lhz r0, 0(r3) /* 803DF334 003DAF94 7C 7D 1B 78 */ mr r29, r3 /* 803DF338 003DAF98 7C BE 2B 78 */ mr r30, r5 /* 803DF33C 003DAF9C 7C 05 00 40 */ cmplw r5, r0 /* 803DF340 003DAFA0 41 81 00 64 */ bgt lbl_803DF3A4 /* 803DF344 003DAFA4 54 BF 08 3C */ slwi r31, r5, 1 /* 803DF348 003DAFA8 38 63 00 08 */ addi r3, r3, 8 /* 803DF34C 003DAFAC 7F E5 FB 78 */ mr r5, r31 /* 803DF350 003DAFB0 4B C2 4C B1 */ bl memcpy /* 803DF354 003DAFB4 38 A0 00 00 */ li r5, 0 /* 803DF358 003DAFB8 38 60 00 00 */ li r3, 0 /* 803DF35C 003DAFBC 7F C9 03 A6 */ mtctr r30 /* 803DF360 003DAFC0 28 1E 00 00 */ cmplwi r30, 0 /* 803DF364 003DAFC4 40 81 00 20 */ ble lbl_803DF384 lbl_803DF368: /* 803DF368 003DAFC8 7C 9D 1A 14 */ add r4, r29, r3 /* 803DF36C 003DAFCC A0 04 00 08 */ lhz r0, 8(r4) /* 803DF370 003DAFD0 28 00 FF FF */ cmplwi r0, 0xffff /* 803DF374 003DAFD4 41 82 00 10 */ beq lbl_803DF384 /* 803DF378 003DAFD8 38 A5 00 01 */ addi r5, r5, 1 /* 803DF37C 003DAFDC 38 63 00 02 */ addi r3, r3, 2 /* 803DF380 003DAFE0 42 00 FF E8 */ bdnz lbl_803DF368 lbl_803DF384: /* 803DF384 003DAFE4 7C 05 F0 40 */ cmplw r5, r30 /* 803DF388 003DAFE8 B0 BD 00 02 */ sth r5, 2(r29) /* 803DF38C 003DAFEC 40 82 00 34 */ bne lbl_803DF3C0 /* 803DF390 003DAFF0 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 803DF394 003DAFF4 7C 7D FA 14 */ add r3, r29, r31 /* 803DF398 003DAFF8 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l /* 803DF39C 003DAFFC B0 03 00 06 */ sth r0, 6(r3) /* 803DF3A0 003DB000 48 00 00 20 */ b lbl_803DF3C0 lbl_803DF3A4: /* 803DF3A4 003DB004 3C 80 80 47 */ lis r4, lbl_80474D71@ha /* 803DF3A8 003DB008 7C 05 03 78 */ mr r5, r0 /* 803DF3AC 003DB00C 7F C6 F3 78 */ mr r6, r30 /* 803DF3B0 003DB010 38 60 00 00 */ li r3, 0 /* 803DF3B4 003DB014 38 84 4D 71 */ addi r4, r4, lbl_80474D71@l /* 803DF3B8 003DB018 4C C6 31 82 */ crclr 6 /* 803DF3BC 003DB01C 4B FF A4 E1 */ bl func_803D989C lbl_803DF3C0: /* 803DF3C0 003DB020 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF3C4 003DB024 4B DE 7D B9 */ bl _restgpr_29 /* 803DF3C8 003DB028 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DF3CC 003DB02C 7C 08 03 A6 */ mtlr r0 /* 803DF3D0 003DB030 38 21 00 20 */ addi r1, r1, 0x20 /* 803DF3D4 003DB034 4E 80 00 20 */ blr .global func_803DF3D8 func_803DF3D8: /* 803DF3D8 003DB038 A0 E3 00 02 */ lhz r7, 2(r3) /* 803DF3DC 003DB03C 7C 68 1B 78 */ mr r8, r3 /* 803DF3E0 003DB040 7C A6 2B 78 */ mr r6, r5 /* 803DF3E4 003DB044 38 07 00 01 */ addi r0, r7, 1 /* 803DF3E8 003DB048 7C 00 28 40 */ cmplw r0, r5 /* 803DF3EC 003DB04C 41 81 00 14 */ bgt lbl_803DF400 /* 803DF3F0 003DB050 7C 83 23 78 */ mr r3, r4 /* 803DF3F4 003DB054 38 88 00 08 */ addi r4, r8, 8 /* 803DF3F8 003DB058 54 05 08 3C */ slwi r5, r0, 1 /* 803DF3FC 003DB05C 4B C2 4C 04 */ b memcpy lbl_803DF400: /* 803DF400 003DB060 3C 80 80 47 */ lis r4, lbl_80474D98@ha /* 803DF404 003DB064 7C E5 3B 78 */ mr r5, r7 /* 803DF408 003DB068 38 60 00 00 */ li r3, 0 /* 803DF40C 003DB06C 38 84 4D 98 */ addi r4, r4, lbl_80474D98@l /* 803DF410 003DB070 4C C6 31 82 */ crclr 6 /* 803DF414 003DB074 4B FF A4 88 */ b func_803D989C .global func_803DF418 func_803DF418: /* 803DF418 003DB078 38 63 00 08 */ addi r3, r3, 8 /* 803DF41C 003DB07C 4E 80 00 20 */ blr .global func_803DF420 func_803DF420: /* 803DF420 003DB080 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DF424 003DB084 7C 08 02 A6 */ mflr r0 /* 803DF428 003DB088 A0 C4 00 02 */ lhz r6, 2(r4) /* 803DF42C 003DB08C 90 01 00 14 */ stw r0, 0x14(r1) /* 803DF430 003DB090 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DF434 003DB094 7C 9F 23 78 */ mr r31, r4 /* 803DF438 003DB098 93 C1 00 08 */ stw r30, 8(r1) /* 803DF43C 003DB09C 7C 7E 1B 78 */ mr r30, r3 /* 803DF440 003DB0A0 A0 E3 00 02 */ lhz r7, 2(r3) /* 803DF444 003DB0A4 A0 A3 00 00 */ lhz r5, 0(r3) /* 803DF448 003DB0A8 7D 07 32 14 */ add r8, r7, r6 /* 803DF44C 003DB0AC 38 08 00 01 */ addi r0, r8, 1 /* 803DF450 003DB0B0 7C 00 28 00 */ cmpw r0, r5 /* 803DF454 003DB0B4 41 81 00 34 */ bgt lbl_803DF488 /* 803DF458 003DB0B8 54 E5 0B FC */ rlwinm r5, r7, 1, 0xf, 0x1e /* 803DF45C 003DB0BC 38 06 00 01 */ addi r0, r6, 1 /* 803DF460 003DB0C0 7C 63 2A 14 */ add r3, r3, r5 /* 803DF464 003DB0C4 38 84 00 08 */ addi r4, r4, 8 /* 803DF468 003DB0C8 38 63 00 08 */ addi r3, r3, 8 /* 803DF46C 003DB0CC 54 05 08 3C */ slwi r5, r0, 1 /* 803DF470 003DB0D0 4B C2 4B 91 */ bl memcpy /* 803DF474 003DB0D4 A0 7E 00 02 */ lhz r3, 2(r30) /* 803DF478 003DB0D8 A0 1F 00 02 */ lhz r0, 2(r31) /* 803DF47C 003DB0DC 7C 03 02 14 */ add r0, r3, r0 /* 803DF480 003DB0E0 B0 1E 00 02 */ sth r0, 2(r30) /* 803DF484 003DB0E4 48 00 00 18 */ b lbl_803DF49C lbl_803DF488: /* 803DF488 003DB0E8 3C 80 80 47 */ lis r4, lbl_80474DBF@ha /* 803DF48C 003DB0EC 38 60 00 00 */ li r3, 0 /* 803DF490 003DB0F0 38 84 4D BF */ addi r4, r4, lbl_80474DBF@l /* 803DF494 003DB0F4 4C C6 31 82 */ crclr 6 /* 803DF498 003DB0F8 4B FF A4 05 */ bl func_803D989C lbl_803DF49C: /* 803DF49C 003DB0FC 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DF4A0 003DB100 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DF4A4 003DB104 83 C1 00 08 */ lwz r30, 8(r1) /* 803DF4A8 003DB108 7C 08 03 A6 */ mtlr r0 /* 803DF4AC 003DB10C 38 21 00 10 */ addi r1, r1, 0x10 /* 803DF4B0 003DB110 4E 80 00 20 */ blr .global func_803DF4B4 func_803DF4B4: /* 803DF4B4 003DB114 A0 C3 00 02 */ lhz r6, 2(r3) /* 803DF4B8 003DB118 A0 A3 00 00 */ lhz r5, 0(r3) /* 803DF4BC 003DB11C 38 E6 00 01 */ addi r7, r6, 1 /* 803DF4C0 003DB120 7C 07 28 00 */ cmpw r7, r5 /* 803DF4C4 003DB124 40 80 00 2C */ bge lbl_803DF4F0 /* 803DF4C8 003DB128 54 C5 08 3C */ slwi r5, r6, 1 /* 803DF4CC 003DB12C 54 E0 0B FC */ rlwinm r0, r7, 1, 0xf, 0x1e /* 803DF4D0 003DB130 7C C3 2A 14 */ add r6, r3, r5 /* 803DF4D4 003DB134 B0 86 00 08 */ sth r4, 8(r6) /* 803DF4D8 003DB138 3C A0 00 01 */ lis r5, 0x0000FFFF@ha /* 803DF4DC 003DB13C 38 A5 FF FF */ addi r5, r5, 0x0000FFFF@l /* 803DF4E0 003DB140 7C 83 02 14 */ add r4, r3, r0 /* 803DF4E4 003DB144 B0 E3 00 02 */ sth r7, 2(r3) /* 803DF4E8 003DB148 B0 A4 00 08 */ sth r5, 8(r4) /* 803DF4EC 003DB14C 4E 80 00 20 */ blr lbl_803DF4F0: /* 803DF4F0 003DB150 3C 80 80 47 */ lis r4, lbl_80474D56@ha /* 803DF4F4 003DB154 38 60 00 00 */ li r3, 0 /* 803DF4F8 003DB158 38 84 4D 56 */ addi r4, r4, lbl_80474D56@l /* 803DF4FC 003DB15C 4C C6 31 82 */ crclr 6 /* 803DF500 003DB160 4B FF A3 9C */ b func_803D989C /* 803DF504 003DB164 4E 80 00 20 */ blr .global func_803DF508 func_803DF508: /* 803DF508 003DB168 A0 03 00 00 */ lhz r0, 0(r3) /* 803DF50C 003DB16C 28 00 FF FE */ cmplwi r0, 0xfffe /* 803DF510 003DB170 4C 82 00 20 */ bnelr /* 803DF514 003DB174 A0 03 00 04 */ lhz r0, 4(r3) /* 803DF518 003DB178 38 63 00 06 */ addi r3, r3, 6 /* 803DF51C 003DB17C 54 00 08 3C */ slwi r0, r0, 1 /* 803DF520 003DB180 7C 63 02 14 */ add r3, r3, r0 /* 803DF524 003DB184 4E 80 00 20 */ blr .global func_803DF528 func_803DF528: /* 803DF528 003DB188 A0 03 00 02 */ lhz r0, 2(r3) /* 803DF52C 003DB18C 54 03 04 2E */ rlwinm r3, r0, 0, 0x10, 0x17 /* 803DF530 003DB190 38 03 FF 00 */ addi r0, r3, -256 /* 803DF534 003DB194 7C 00 00 34 */ cntlzw r0, r0 /* 803DF538 003DB198 54 03 D9 7E */ srwi r3, r0, 5 /* 803DF53C 003DB19C 4E 80 00 20 */ blr .global func_803DF540 func_803DF540: /* 803DF540 003DB1A0 54 80 08 3C */ slwi r0, r4, 1 /* 803DF544 003DB1A4 7C 63 02 14 */ add r3, r3, r0 /* 803DF548 003DB1A8 A0 63 00 06 */ lhz r3, 6(r3) /* 803DF54C 003DB1AC 4E 80 00 20 */ blr .global func_803DF550 func_803DF550: /* 803DF550 003DB1B0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DF554 003DB1B4 7C 08 02 A6 */ mflr r0 /* 803DF558 003DB1B8 7C 86 23 78 */ mr r6, r4 /* 803DF55C 003DB1BC 38 80 00 1B */ li r4, 0x1b /* 803DF560 003DB1C0 90 01 00 14 */ stw r0, 0x14(r1) /* 803DF564 003DB1C4 38 A0 00 02 */ li r5, 2 /* 803DF568 003DB1C8 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DF56C 003DB1CC 93 C1 00 08 */ stw r30, 8(r1) /* 803DF570 003DB1D0 7C 7E 1B 78 */ mr r30, r3 /* 803DF574 003DB1D4 38 60 00 01 */ li r3, 1 /* 803DF578 003DB1D8 48 00 0A D1 */ bl func_803E0048 /* 803DF57C 003DB1DC 2C 03 00 00 */ cmpwi r3, 0 /* 803DF580 003DB1E0 7C 7F 1B 78 */ mr r31, r3 /* 803DF584 003DB1E4 41 82 00 20 */ beq lbl_803DF5A4 /* 803DF588 003DB1E8 7F C4 F3 78 */ mr r4, r30 /* 803DF58C 003DB1EC 48 00 0C 01 */ bl func_803E018C /* 803DF590 003DB1F0 7C 7E 1B 78 */ mr r30, r3 /* 803DF594 003DB1F4 7F E3 FB 78 */ mr r3, r31 /* 803DF598 003DB1F8 48 00 0B 39 */ bl func_803E00D0 /* 803DF59C 003DB1FC 7F C3 F3 78 */ mr r3, r30 /* 803DF5A0 003DB200 48 00 00 08 */ b lbl_803DF5A8 lbl_803DF5A4: /* 803DF5A4 003DB204 38 60 00 00 */ li r3, 0 lbl_803DF5A8: /* 803DF5A8 003DB208 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DF5AC 003DB20C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DF5B0 003DB210 83 C1 00 08 */ lwz r30, 8(r1) /* 803DF5B4 003DB214 7C 08 03 A6 */ mtlr r0 /* 803DF5B8 003DB218 38 21 00 10 */ addi r1, r1, 0x10 /* 803DF5BC 003DB21C 4E 80 00 20 */ blr .global func_803DF5C0 func_803DF5C0: /* 803DF5C0 003DB220 7C 65 1B 78 */ mr r5, r3 /* 803DF5C4 003DB224 38 60 00 08 */ li r3, 8 /* 803DF5C8 003DB228 38 80 00 20 */ li r4, 0x20 /* 803DF5CC 003DB22C 48 00 00 04 */ b lbl_803DF5D0 lbl_803DF5D0: /* 803DF5D0 003DB230 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DF5D4 003DB234 7C 08 02 A6 */ mflr r0 /* 803DF5D8 003DB238 90 01 00 24 */ stw r0, 0x24(r1) /* 803DF5DC 003DB23C 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF5E0 003DB240 4B DE 7B 45 */ bl _savegpr_26 /* 803DF5E4 003DB244 7C BC 2B 78 */ mr r28, r5 /* 803DF5E8 003DB248 7C 7A 1B 78 */ mr r26, r3 /* 803DF5EC 003DB24C 7C 9B 23 78 */ mr r27, r4 /* 803DF5F0 003DB250 38 80 00 10 */ li r4, 0x10 /* 803DF5F4 003DB254 7F 83 E3 78 */ mr r3, r28 /* 803DF5F8 003DB258 4B D8 EA 11 */ bl func_8016E008 /* 803DF5FC 003DB25C 2C 03 00 00 */ cmpwi r3, 0 /* 803DF600 003DB260 7C 7D 1B 78 */ mr r29, r3 /* 803DF604 003DB264 41 82 00 94 */ beq lbl_803DF698 /* 803DF608 003DB268 93 43 00 00 */ stw r26, 0(r3) /* 803DF60C 003DB26C 7F 84 E3 78 */ mr r4, r28 /* 803DF610 003DB270 93 83 00 04 */ stw r28, 4(r3) /* 803DF614 003DB274 7F 63 DB 78 */ mr r3, r27 /* 803DF618 003DB278 4B FF F9 BD */ bl func_803DEFD4 /* 803DF61C 003DB27C 2C 03 00 00 */ cmpwi r3, 0 /* 803DF620 003DB280 90 7D 00 0C */ stw r3, 0xc(r29) /* 803DF624 003DB284 41 82 00 74 */ beq lbl_803DF698 /* 803DF628 003DB288 7F 83 E3 78 */ mr r3, r28 /* 803DF62C 003DB28C 57 44 18 38 */ slwi r4, r26, 3 /* 803DF630 003DB290 4B D8 E9 D9 */ bl func_8016E008 /* 803DF634 003DB294 2C 03 00 00 */ cmpwi r3, 0 /* 803DF638 003DB298 90 7D 00 08 */ stw r3, 8(r29) /* 803DF63C 003DB29C 41 82 00 5C */ beq lbl_803DF698 /* 803DF640 003DB2A0 3B C0 00 00 */ li r30, 0 /* 803DF644 003DB2A4 3B E0 00 00 */ li r31, 0 /* 803DF648 003DB2A8 48 00 00 38 */ b lbl_803DF680 lbl_803DF64C: /* 803DF64C 003DB2AC 7F 63 DB 78 */ mr r3, r27 /* 803DF650 003DB2B0 7F 84 E3 78 */ mr r4, r28 /* 803DF654 003DB2B4 4B FF F9 81 */ bl func_803DEFD4 /* 803DF658 003DB2B8 80 1D 00 08 */ lwz r0, 8(r29) /* 803DF65C 003DB2BC 7C 80 FA 14 */ add r4, r0, r31 /* 803DF660 003DB2C0 90 64 00 04 */ stw r3, 4(r4) /* 803DF664 003DB2C4 80 1D 00 08 */ lwz r0, 8(r29) /* 803DF668 003DB2C8 7C 60 FA 14 */ add r3, r0, r31 /* 803DF66C 003DB2CC 80 03 00 04 */ lwz r0, 4(r3) /* 803DF670 003DB2D0 2C 00 00 00 */ cmpwi r0, 0 /* 803DF674 003DB2D4 41 82 00 14 */ beq lbl_803DF688 /* 803DF678 003DB2D8 3B DE 00 01 */ addi r30, r30, 1 /* 803DF67C 003DB2DC 3B FF 00 08 */ addi r31, r31, 8 lbl_803DF680: /* 803DF680 003DB2E0 7C 1E D0 40 */ cmplw r30, r26 /* 803DF684 003DB2E4 41 80 FF C8 */ blt lbl_803DF64C lbl_803DF688: /* 803DF688 003DB2E8 7C 1E D0 40 */ cmplw r30, r26 /* 803DF68C 003DB2EC 40 82 00 0C */ bne lbl_803DF698 /* 803DF690 003DB2F0 7F A3 EB 78 */ mr r3, r29 /* 803DF694 003DB2F4 48 00 00 08 */ b lbl_803DF69C lbl_803DF698: /* 803DF698 003DB2F8 38 60 00 00 */ li r3, 0 lbl_803DF69C: /* 803DF69C 003DB2FC 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF6A0 003DB300 4B DE 7A D1 */ bl _restgpr_26 /* 803DF6A4 003DB304 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DF6A8 003DB308 7C 08 03 A6 */ mtlr r0 /* 803DF6AC 003DB30C 38 21 00 20 */ addi r1, r1, 0x20 /* 803DF6B0 003DB310 4E 80 00 20 */ blr .global func_803DF6B4 func_803DF6B4: /* 803DF6B4 003DB314 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DF6B8 003DB318 7C 08 02 A6 */ mflr r0 /* 803DF6BC 003DB31C 90 01 00 24 */ stw r0, 0x24(r1) /* 803DF6C0 003DB320 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF6C4 003DB324 4B DE 7A 6D */ bl _savegpr_29 /* 803DF6C8 003DB328 80 03 00 08 */ lwz r0, 8(r3) /* 803DF6CC 003DB32C 7C 7D 1B 78 */ mr r29, r3 /* 803DF6D0 003DB330 2C 00 00 00 */ cmpwi r0, 0 /* 803DF6D4 003DB334 41 82 00 44 */ beq lbl_803DF718 /* 803DF6D8 003DB338 3B C0 00 00 */ li r30, 0 /* 803DF6DC 003DB33C 3B E0 00 00 */ li r31, 0 /* 803DF6E0 003DB340 48 00 00 24 */ b lbl_803DF704 lbl_803DF6E4: /* 803DF6E4 003DB344 80 1D 00 08 */ lwz r0, 8(r29) /* 803DF6E8 003DB348 7C 60 FA 14 */ add r3, r0, r31 /* 803DF6EC 003DB34C 80 63 00 04 */ lwz r3, 4(r3) /* 803DF6F0 003DB350 2C 03 00 00 */ cmpwi r3, 0 /* 803DF6F4 003DB354 41 82 00 1C */ beq lbl_803DF710 /* 803DF6F8 003DB358 4B FF F9 41 */ bl func_803DF038 /* 803DF6FC 003DB35C 3B DE 00 01 */ addi r30, r30, 1 /* 803DF700 003DB360 3B FF 00 08 */ addi r31, r31, 8 lbl_803DF704: /* 803DF704 003DB364 80 1D 00 00 */ lwz r0, 0(r29) /* 803DF708 003DB368 7C 1E 00 40 */ cmplw r30, r0 /* 803DF70C 003DB36C 41 80 FF D8 */ blt lbl_803DF6E4 lbl_803DF710: /* 803DF710 003DB370 80 7D 00 08 */ lwz r3, 8(r29) /* 803DF714 003DB374 4B D8 E9 8D */ bl func_8016E0A0 lbl_803DF718: /* 803DF718 003DB378 80 7D 00 0C */ lwz r3, 0xc(r29) /* 803DF71C 003DB37C 2C 03 00 00 */ cmpwi r3, 0 /* 803DF720 003DB380 41 82 00 08 */ beq lbl_803DF728 /* 803DF724 003DB384 4B FF F9 15 */ bl func_803DF038 lbl_803DF728: /* 803DF728 003DB388 38 00 00 00 */ li r0, 0 /* 803DF72C 003DB38C 7F A3 EB 78 */ mr r3, r29 /* 803DF730 003DB390 90 1D 00 00 */ stw r0, 0(r29) /* 803DF734 003DB394 4B D8 E9 6D */ bl func_8016E0A0 /* 803DF738 003DB398 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF73C 003DB39C 4B DE 7A 41 */ bl _restgpr_29 /* 803DF740 003DB3A0 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DF744 003DB3A4 7C 08 03 A6 */ mtlr r0 /* 803DF748 003DB3A8 38 21 00 20 */ addi r1, r1, 0x20 /* 803DF74C 003DB3AC 4E 80 00 20 */ blr .global func_803DF750 func_803DF750: /* 803DF750 003DB3B0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DF754 003DB3B4 7C 08 02 A6 */ mflr r0 /* 803DF758 003DB3B8 90 01 00 24 */ stw r0, 0x24(r1) /* 803DF75C 003DB3BC 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF760 003DB3C0 4B DE 79 CD */ bl _savegpr_28 /* 803DF764 003DB3C4 80 E3 00 00 */ lwz r7, 0(r3) /* 803DF768 003DB3C8 7C DF 33 78 */ mr r31, r6 /* 803DF76C 003DB3CC 7C 9D 23 78 */ mr r29, r4 /* 803DF770 003DB3D0 7C BE 2B 78 */ mr r30, r5 /* 803DF774 003DB3D4 7C 07 20 10 */ subfc r0, r7, r4 /* 803DF778 003DB3D8 3C 80 80 47 */ lis r4, lbl_80474DF8@ha /* 803DF77C 003DB3DC 7C 00 01 10 */ subfe r0, r0, r0 /* 803DF780 003DB3E0 7C 7C 1B 78 */ mr r28, r3 /* 803DF784 003DB3E4 7F A5 EB 78 */ mr r5, r29 /* 803DF788 003DB3E8 7C E6 3B 78 */ mr r6, r7 /* 803DF78C 003DB3EC 7C 60 00 D0 */ neg r3, r0 /* 803DF790 003DB3F0 38 84 4D F8 */ addi r4, r4, lbl_80474DF8@l /* 803DF794 003DB3F4 4C C6 31 82 */ crclr 6 /* 803DF798 003DB3F8 4B FF A1 05 */ bl func_803D989C /* 803DF79C 003DB3FC 80 1C 00 00 */ lwz r0, 0(r28) /* 803DF7A0 003DB400 7C 1D 00 40 */ cmplw r29, r0 /* 803DF7A4 003DB404 40 80 00 4C */ bge lbl_803DF7F0 /* 803DF7A8 003DB408 2C 1F 00 00 */ cmpwi r31, 0 /* 803DF7AC 003DB40C 41 82 00 2C */ beq lbl_803DF7D8 /* 803DF7B0 003DB410 80 9C 00 08 */ lwz r4, 8(r28) /* 803DF7B4 003DB414 57 A3 18 38 */ slwi r3, r29, 3 /* 803DF7B8 003DB418 88 1F 00 00 */ lbz r0, 0(r31) /* 803DF7BC 003DB41C 7C 03 21 EE */ stbux r0, r3, r4 /* 803DF7C0 003DB420 88 1F 00 01 */ lbz r0, 1(r31) /* 803DF7C4 003DB424 98 03 00 01 */ stb r0, 1(r3) /* 803DF7C8 003DB428 88 1F 00 02 */ lbz r0, 2(r31) /* 803DF7CC 003DB42C 98 03 00 02 */ stb r0, 2(r3) /* 803DF7D0 003DB430 88 1F 00 03 */ lbz r0, 3(r31) /* 803DF7D4 003DB434 98 03 00 03 */ stb r0, 3(r3) lbl_803DF7D8: /* 803DF7D8 003DB438 80 7C 00 08 */ lwz r3, 8(r28) /* 803DF7DC 003DB43C 57 A0 18 38 */ slwi r0, r29, 3 /* 803DF7E0 003DB440 7F C4 F3 78 */ mr r4, r30 /* 803DF7E4 003DB444 7C 63 02 14 */ add r3, r3, r0 /* 803DF7E8 003DB448 80 63 00 04 */ lwz r3, 4(r3) /* 803DF7EC 003DB44C 4B FF F8 75 */ bl func_803DF060 lbl_803DF7F0: /* 803DF7F0 003DB450 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF7F4 003DB454 4B DE 79 85 */ bl _restgpr_28 /* 803DF7F8 003DB458 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DF7FC 003DB45C 7C 08 03 A6 */ mtlr r0 /* 803DF800 003DB460 38 21 00 20 */ addi r1, r1, 0x20 /* 803DF804 003DB464 4E 80 00 20 */ blr .global func_803DF808 func_803DF808: /* 803DF808 003DB468 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DF80C 003DB46C 7C 08 02 A6 */ mflr r0 /* 803DF810 003DB470 90 01 00 24 */ stw r0, 0x24(r1) /* 803DF814 003DB474 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF818 003DB478 4B DE 79 15 */ bl _savegpr_28 /* 803DF81C 003DB47C 80 C3 00 04 */ lwz r6, 4(r3) /* 803DF820 003DB480 7C 7C 1B 78 */ mr r28, r3 /* 803DF824 003DB484 7C 9D 23 78 */ mr r29, r4 /* 803DF828 003DB488 7C BE 2B 78 */ mr r30, r5 /* 803DF82C 003DB48C 38 60 00 01 */ li r3, 1 /* 803DF830 003DB490 38 80 00 1B */ li r4, 0x1b /* 803DF834 003DB494 38 A0 00 02 */ li r5, 2 /* 803DF838 003DB498 48 00 08 11 */ bl func_803E0048 /* 803DF83C 003DB49C 7C 7F 1B 78 */ mr r31, r3 /* 803DF840 003DB4A0 7F C3 F3 78 */ mr r3, r30 /* 803DF844 003DB4A4 38 80 00 05 */ li r4, 5 /* 803DF848 003DB4A8 38 A0 00 00 */ li r5, 0 /* 803DF84C 003DB4AC 4B FF B6 B1 */ bl func_803DAEFC /* 803DF850 003DB4B0 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DF854 003DB4B4 7C 64 1B 78 */ mr r4, r3 /* 803DF858 003DB4B8 7F E3 FB 78 */ mr r3, r31 /* 803DF85C 003DB4BC 48 00 09 05 */ bl func_803E0160 /* 803DF860 003DB4C0 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DF864 003DB4C4 7F 83 E3 78 */ mr r3, r28 /* 803DF868 003DB4C8 7F A4 EB 78 */ mr r4, r29 /* 803DF86C 003DB4CC 38 C0 00 00 */ li r6, 0 /* 803DF870 003DB4D0 4B FF FE E1 */ bl func_803DF750 /* 803DF874 003DB4D4 7F E3 FB 78 */ mr r3, r31 /* 803DF878 003DB4D8 48 00 08 59 */ bl func_803E00D0 /* 803DF87C 003DB4DC 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF880 003DB4E0 4B DE 78 F9 */ bl _restgpr_28 /* 803DF884 003DB4E4 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DF888 003DB4E8 7C 08 03 A6 */ mtlr r0 /* 803DF88C 003DB4EC 38 21 00 20 */ addi r1, r1, 0x20 /* 803DF890 003DB4F0 4E 80 00 20 */ blr .global func_803DF894 func_803DF894: /* 803DF894 003DB4F4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DF898 003DB4F8 7C 08 02 A6 */ mflr r0 /* 803DF89C 003DB4FC 90 01 00 14 */ stw r0, 0x14(r1) /* 803DF8A0 003DB500 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DF8A4 003DB504 7C 9F 23 78 */ mr r31, r4 /* 803DF8A8 003DB508 38 80 00 76 */ li r4, 0x76 /* 803DF8AC 003DB50C 93 C1 00 08 */ stw r30, 8(r1) /* 803DF8B0 003DB510 7C 7E 1B 78 */ mr r30, r3 /* 803DF8B4 003DB514 7C A3 2B 78 */ mr r3, r5 /* 803DF8B8 003DB518 80 BE 00 0C */ lwz r5, 0xc(r30) /* 803DF8BC 003DB51C 4B FF B6 41 */ bl func_803DAEFC /* 803DF8C0 003DB520 80 BE 00 0C */ lwz r5, 0xc(r30) /* 803DF8C4 003DB524 7F C3 F3 78 */ mr r3, r30 /* 803DF8C8 003DB528 7F E4 FB 78 */ mr r4, r31 /* 803DF8CC 003DB52C 38 C0 00 00 */ li r6, 0 /* 803DF8D0 003DB530 4B FF FE 81 */ bl func_803DF750 /* 803DF8D4 003DB534 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DF8D8 003DB538 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DF8DC 003DB53C 83 C1 00 08 */ lwz r30, 8(r1) /* 803DF8E0 003DB540 7C 08 03 A6 */ mtlr r0 /* 803DF8E4 003DB544 38 21 00 10 */ addi r1, r1, 0x10 /* 803DF8E8 003DB548 4E 80 00 20 */ blr .global func_803DF8EC func_803DF8EC: /* 803DF8EC 003DB54C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DF8F0 003DB550 7C 08 02 A6 */ mflr r0 /* 803DF8F4 003DB554 90 01 00 14 */ stw r0, 0x14(r1) /* 803DF8F8 003DB558 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DF8FC 003DB55C 7C 9F 23 78 */ mr r31, r4 /* 803DF900 003DB560 7C A4 2B 78 */ mr r4, r5 /* 803DF904 003DB564 7C C5 33 78 */ mr r5, r6 /* 803DF908 003DB568 93 C1 00 08 */ stw r30, 8(r1) /* 803DF90C 003DB56C 7C 7E 1B 78 */ mr r30, r3 /* 803DF910 003DB570 7C E6 3B 78 */ mr r6, r7 /* 803DF914 003DB574 7D 07 43 78 */ mr r7, r8 /* 803DF918 003DB578 80 63 00 0C */ lwz r3, 0xc(r3) /* 803DF91C 003DB57C 4B FF F7 BD */ bl func_803DF0D8 /* 803DF920 003DB580 80 BE 00 0C */ lwz r5, 0xc(r30) /* 803DF924 003DB584 7F C3 F3 78 */ mr r3, r30 /* 803DF928 003DB588 7F E4 FB 78 */ mr r4, r31 /* 803DF92C 003DB58C 38 C0 00 00 */ li r6, 0 /* 803DF930 003DB590 4B FF FE 21 */ bl func_803DF750 /* 803DF934 003DB594 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DF938 003DB598 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DF93C 003DB59C 83 C1 00 08 */ lwz r30, 8(r1) /* 803DF940 003DB5A0 7C 08 03 A6 */ mtlr r0 /* 803DF944 003DB5A4 38 21 00 10 */ addi r1, r1, 0x10 /* 803DF948 003DB5A8 4E 80 00 20 */ blr .global func_803DF94C func_803DF94C: /* 803DF94C 003DB5AC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DF950 003DB5B0 7C 08 02 A6 */ mflr r0 /* 803DF954 003DB5B4 90 01 00 24 */ stw r0, 0x24(r1) /* 803DF958 003DB5B8 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF95C 003DB5BC 4B DE 77 D1 */ bl _savegpr_28 /* 803DF960 003DB5C0 80 C3 00 04 */ lwz r6, 4(r3) /* 803DF964 003DB5C4 7C 7C 1B 78 */ mr r28, r3 /* 803DF968 003DB5C8 7C 9D 23 78 */ mr r29, r4 /* 803DF96C 003DB5CC 7C BE 2B 78 */ mr r30, r5 /* 803DF970 003DB5D0 38 60 00 01 */ li r3, 1 /* 803DF974 003DB5D4 38 80 00 1B */ li r4, 0x1b /* 803DF978 003DB5D8 38 A0 00 03 */ li r5, 3 /* 803DF97C 003DB5DC 48 00 06 CD */ bl func_803E0048 /* 803DF980 003DB5E0 2C 03 00 00 */ cmpwi r3, 0 /* 803DF984 003DB5E4 7C 7F 1B 78 */ mr r31, r3 /* 803DF988 003DB5E8 41 82 00 2C */ beq lbl_803DF9B4 /* 803DF98C 003DB5EC 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DF990 003DB5F0 7F C4 F3 78 */ mr r4, r30 /* 803DF994 003DB5F4 48 00 07 CD */ bl func_803E0160 /* 803DF998 003DB5F8 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DF99C 003DB5FC 7F 83 E3 78 */ mr r3, r28 /* 803DF9A0 003DB600 7F A4 EB 78 */ mr r4, r29 /* 803DF9A4 003DB604 38 C0 00 00 */ li r6, 0 /* 803DF9A8 003DB608 4B FF FD A9 */ bl func_803DF750 /* 803DF9AC 003DB60C 7F E3 FB 78 */ mr r3, r31 /* 803DF9B0 003DB610 48 00 07 21 */ bl func_803E00D0 lbl_803DF9B4: /* 803DF9B4 003DB614 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF9B8 003DB618 4B DE 77 C1 */ bl _restgpr_28 /* 803DF9BC 003DB61C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DF9C0 003DB620 7C 08 03 A6 */ mtlr r0 /* 803DF9C4 003DB624 38 21 00 20 */ addi r1, r1, 0x20 /* 803DF9C8 003DB628 4E 80 00 20 */ blr .global func_803DF9CC func_803DF9CC: /* 803DF9CC 003DB62C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DF9D0 003DB630 7C 08 02 A6 */ mflr r0 /* 803DF9D4 003DB634 90 01 00 24 */ stw r0, 0x24(r1) /* 803DF9D8 003DB638 39 61 00 20 */ addi r11, r1, 0x20 /* 803DF9DC 003DB63C 4B DE 77 51 */ bl _savegpr_28 /* 803DF9E0 003DB640 80 C3 00 04 */ lwz r6, 4(r3) /* 803DF9E4 003DB644 7C 7C 1B 78 */ mr r28, r3 /* 803DF9E8 003DB648 7C 9D 23 78 */ mr r29, r4 /* 803DF9EC 003DB64C 7C BE 2B 78 */ mr r30, r5 /* 803DF9F0 003DB650 38 60 00 01 */ li r3, 1 /* 803DF9F4 003DB654 38 80 00 1B */ li r4, 0x1b /* 803DF9F8 003DB658 38 A0 00 04 */ li r5, 4 /* 803DF9FC 003DB65C 48 00 06 4D */ bl func_803E0048 /* 803DFA00 003DB660 2C 03 00 00 */ cmpwi r3, 0 /* 803DFA04 003DB664 7C 7F 1B 78 */ mr r31, r3 /* 803DFA08 003DB668 41 82 00 2C */ beq lbl_803DFA34 /* 803DFA0C 003DB66C 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DFA10 003DB670 7F C4 F3 78 */ mr r4, r30 /* 803DFA14 003DB674 48 00 07 4D */ bl func_803E0160 /* 803DFA18 003DB678 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DFA1C 003DB67C 7F 83 E3 78 */ mr r3, r28 /* 803DFA20 003DB680 7F A4 EB 78 */ mr r4, r29 /* 803DFA24 003DB684 38 C0 00 00 */ li r6, 0 /* 803DFA28 003DB688 4B FF FD 29 */ bl func_803DF750 /* 803DFA2C 003DB68C 7F E3 FB 78 */ mr r3, r31 /* 803DFA30 003DB690 48 00 06 A1 */ bl func_803E00D0 lbl_803DFA34: /* 803DFA34 003DB694 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFA38 003DB698 4B DE 77 41 */ bl _restgpr_28 /* 803DFA3C 003DB69C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DFA40 003DB6A0 7C 08 03 A6 */ mtlr r0 /* 803DFA44 003DB6A4 38 21 00 20 */ addi r1, r1, 0x20 /* 803DFA48 003DB6A8 4E 80 00 20 */ blr .global func_803DFA4C func_803DFA4C: /* 803DFA4C 003DB6AC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DFA50 003DB6B0 7C 08 02 A6 */ mflr r0 /* 803DFA54 003DB6B4 90 01 00 24 */ stw r0, 0x24(r1) /* 803DFA58 003DB6B8 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFA5C 003DB6BC 4B DE 76 D1 */ bl _savegpr_28 /* 803DFA60 003DB6C0 80 C3 00 04 */ lwz r6, 4(r3) /* 803DFA64 003DB6C4 7C 7C 1B 78 */ mr r28, r3 /* 803DFA68 003DB6C8 7C 9D 23 78 */ mr r29, r4 /* 803DFA6C 003DB6CC 7C BE 2B 78 */ mr r30, r5 /* 803DFA70 003DB6D0 38 60 00 01 */ li r3, 1 /* 803DFA74 003DB6D4 38 80 00 1B */ li r4, 0x1b /* 803DFA78 003DB6D8 38 A0 00 05 */ li r5, 5 /* 803DFA7C 003DB6DC 48 00 05 CD */ bl func_803E0048 /* 803DFA80 003DB6E0 2C 03 00 00 */ cmpwi r3, 0 /* 803DFA84 003DB6E4 7C 7F 1B 78 */ mr r31, r3 /* 803DFA88 003DB6E8 41 82 00 2C */ beq lbl_803DFAB4 /* 803DFA8C 003DB6EC 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DFA90 003DB6F0 7F C4 F3 78 */ mr r4, r30 /* 803DFA94 003DB6F4 48 00 06 CD */ bl func_803E0160 /* 803DFA98 003DB6F8 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DFA9C 003DB6FC 7F 83 E3 78 */ mr r3, r28 /* 803DFAA0 003DB700 7F A4 EB 78 */ mr r4, r29 /* 803DFAA4 003DB704 38 C0 00 00 */ li r6, 0 /* 803DFAA8 003DB708 4B FF FC A9 */ bl func_803DF750 /* 803DFAAC 003DB70C 7F E3 FB 78 */ mr r3, r31 /* 803DFAB0 003DB710 48 00 06 21 */ bl func_803E00D0 lbl_803DFAB4: /* 803DFAB4 003DB714 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFAB8 003DB718 4B DE 76 C1 */ bl _restgpr_28 /* 803DFABC 003DB71C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DFAC0 003DB720 7C 08 03 A6 */ mtlr r0 /* 803DFAC4 003DB724 38 21 00 20 */ addi r1, r1, 0x20 /* 803DFAC8 003DB728 4E 80 00 20 */ blr .global func_803DFACC func_803DFACC: /* 803DFACC 003DB72C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DFAD0 003DB730 7C 08 02 A6 */ mflr r0 /* 803DFAD4 003DB734 90 01 00 24 */ stw r0, 0x24(r1) /* 803DFAD8 003DB738 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFADC 003DB73C 4B DE 76 51 */ bl _savegpr_28 /* 803DFAE0 003DB740 80 C3 00 04 */ lwz r6, 4(r3) /* 803DFAE4 003DB744 7C 7C 1B 78 */ mr r28, r3 /* 803DFAE8 003DB748 7C 9D 23 78 */ mr r29, r4 /* 803DFAEC 003DB74C 7C BE 2B 78 */ mr r30, r5 /* 803DFAF0 003DB750 38 60 00 01 */ li r3, 1 /* 803DFAF4 003DB754 38 80 00 1B */ li r4, 0x1b /* 803DFAF8 003DB758 38 A0 00 0A */ li r5, 0xa /* 803DFAFC 003DB75C 48 00 05 4D */ bl func_803E0048 /* 803DFB00 003DB760 2C 03 00 00 */ cmpwi r3, 0 /* 803DFB04 003DB764 7C 7F 1B 78 */ mr r31, r3 /* 803DFB08 003DB768 41 82 00 2C */ beq lbl_803DFB34 /* 803DFB0C 003DB76C 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DFB10 003DB770 7F C4 F3 78 */ mr r4, r30 /* 803DFB14 003DB774 48 00 06 4D */ bl func_803E0160 /* 803DFB18 003DB778 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DFB1C 003DB77C 7F 83 E3 78 */ mr r3, r28 /* 803DFB20 003DB780 7F A4 EB 78 */ mr r4, r29 /* 803DFB24 003DB784 38 C0 00 00 */ li r6, 0 /* 803DFB28 003DB788 4B FF FC 29 */ bl func_803DF750 /* 803DFB2C 003DB78C 7F E3 FB 78 */ mr r3, r31 /* 803DFB30 003DB790 48 00 05 A1 */ bl func_803E00D0 lbl_803DFB34: /* 803DFB34 003DB794 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFB38 003DB798 4B DE 76 41 */ bl _restgpr_28 /* 803DFB3C 003DB79C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DFB40 003DB7A0 7C 08 03 A6 */ mtlr r0 /* 803DFB44 003DB7A4 38 21 00 20 */ addi r1, r1, 0x20 /* 803DFB48 003DB7A8 4E 80 00 20 */ blr .global func_803DFB4C func_803DFB4C: /* 803DFB4C 003DB7AC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DFB50 003DB7B0 7C 08 02 A6 */ mflr r0 /* 803DFB54 003DB7B4 90 01 00 24 */ stw r0, 0x24(r1) /* 803DFB58 003DB7B8 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFB5C 003DB7BC 4B DE 75 D1 */ bl _savegpr_28 /* 803DFB60 003DB7C0 80 C3 00 04 */ lwz r6, 4(r3) /* 803DFB64 003DB7C4 7C 7C 1B 78 */ mr r28, r3 /* 803DFB68 003DB7C8 7C 9D 23 78 */ mr r29, r4 /* 803DFB6C 003DB7CC 7C BE 2B 78 */ mr r30, r5 /* 803DFB70 003DB7D0 38 60 00 01 */ li r3, 1 /* 803DFB74 003DB7D4 38 80 00 1B */ li r4, 0x1b /* 803DFB78 003DB7D8 38 A0 00 08 */ li r5, 8 /* 803DFB7C 003DB7DC 48 00 04 CD */ bl func_803E0048 /* 803DFB80 003DB7E0 2C 03 00 00 */ cmpwi r3, 0 /* 803DFB84 003DB7E4 7C 7F 1B 78 */ mr r31, r3 /* 803DFB88 003DB7E8 41 82 00 2C */ beq lbl_803DFBB4 /* 803DFB8C 003DB7EC 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DFB90 003DB7F0 7F C4 F3 78 */ mr r4, r30 /* 803DFB94 003DB7F4 48 00 05 CD */ bl func_803E0160 /* 803DFB98 003DB7F8 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DFB9C 003DB7FC 7F 83 E3 78 */ mr r3, r28 /* 803DFBA0 003DB800 7F A4 EB 78 */ mr r4, r29 /* 803DFBA4 003DB804 38 C0 00 00 */ li r6, 0 /* 803DFBA8 003DB808 4B FF FB A9 */ bl func_803DF750 /* 803DFBAC 003DB80C 7F E3 FB 78 */ mr r3, r31 /* 803DFBB0 003DB810 48 00 05 21 */ bl func_803E00D0 lbl_803DFBB4: /* 803DFBB4 003DB814 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFBB8 003DB818 4B DE 75 C1 */ bl _restgpr_28 /* 803DFBBC 003DB81C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DFBC0 003DB820 7C 08 03 A6 */ mtlr r0 /* 803DFBC4 003DB824 38 21 00 20 */ addi r1, r1, 0x20 /* 803DFBC8 003DB828 4E 80 00 20 */ blr .global func_803DFBCC func_803DFBCC: /* 803DFBCC 003DB82C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DFBD0 003DB830 7C 08 02 A6 */ mflr r0 /* 803DFBD4 003DB834 90 01 00 24 */ stw r0, 0x24(r1) /* 803DFBD8 003DB838 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFBDC 003DB83C 4B DE 75 51 */ bl _savegpr_28 /* 803DFBE0 003DB840 80 C3 00 04 */ lwz r6, 4(r3) /* 803DFBE4 003DB844 7C 7C 1B 78 */ mr r28, r3 /* 803DFBE8 003DB848 7C 9D 23 78 */ mr r29, r4 /* 803DFBEC 003DB84C 7C BE 2B 78 */ mr r30, r5 /* 803DFBF0 003DB850 38 60 00 01 */ li r3, 1 /* 803DFBF4 003DB854 38 80 00 1B */ li r4, 0x1b /* 803DFBF8 003DB858 38 A0 00 07 */ li r5, 7 /* 803DFBFC 003DB85C 48 00 04 4D */ bl func_803E0048 /* 803DFC00 003DB860 2C 03 00 00 */ cmpwi r3, 0 /* 803DFC04 003DB864 7C 7F 1B 78 */ mr r31, r3 /* 803DFC08 003DB868 41 82 00 2C */ beq lbl_803DFC34 /* 803DFC0C 003DB86C 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DFC10 003DB870 7F C4 F3 78 */ mr r4, r30 /* 803DFC14 003DB874 48 00 05 4D */ bl func_803E0160 /* 803DFC18 003DB878 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DFC1C 003DB87C 7F 83 E3 78 */ mr r3, r28 /* 803DFC20 003DB880 7F A4 EB 78 */ mr r4, r29 /* 803DFC24 003DB884 38 C0 00 00 */ li r6, 0 /* 803DFC28 003DB888 4B FF FB 29 */ bl func_803DF750 /* 803DFC2C 003DB88C 7F E3 FB 78 */ mr r3, r31 /* 803DFC30 003DB890 48 00 04 A1 */ bl func_803E00D0 lbl_803DFC34: /* 803DFC34 003DB894 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFC38 003DB898 4B DE 75 41 */ bl _restgpr_28 /* 803DFC3C 003DB89C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DFC40 003DB8A0 7C 08 03 A6 */ mtlr r0 /* 803DFC44 003DB8A4 38 21 00 20 */ addi r1, r1, 0x20 /* 803DFC48 003DB8A8 4E 80 00 20 */ blr .global func_803DFC4C func_803DFC4C: /* 803DFC4C 003DB8AC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DFC50 003DB8B0 7C 08 02 A6 */ mflr r0 /* 803DFC54 003DB8B4 90 01 00 24 */ stw r0, 0x24(r1) /* 803DFC58 003DB8B8 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFC5C 003DB8BC 4B DE 74 D1 */ bl _savegpr_28 /* 803DFC60 003DB8C0 80 C3 00 04 */ lwz r6, 4(r3) /* 803DFC64 003DB8C4 7C 7C 1B 78 */ mr r28, r3 /* 803DFC68 003DB8C8 7C 9D 23 78 */ mr r29, r4 /* 803DFC6C 003DB8CC 7C BE 2B 78 */ mr r30, r5 /* 803DFC70 003DB8D0 38 60 00 01 */ li r3, 1 /* 803DFC74 003DB8D4 38 80 00 1B */ li r4, 0x1b /* 803DFC78 003DB8D8 38 A0 00 09 */ li r5, 9 /* 803DFC7C 003DB8DC 48 00 03 CD */ bl func_803E0048 /* 803DFC80 003DB8E0 2C 03 00 00 */ cmpwi r3, 0 /* 803DFC84 003DB8E4 7C 7F 1B 78 */ mr r31, r3 /* 803DFC88 003DB8E8 41 82 00 2C */ beq lbl_803DFCB4 /* 803DFC8C 003DB8EC 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DFC90 003DB8F0 7F C4 F3 78 */ mr r4, r30 /* 803DFC94 003DB8F4 48 00 04 CD */ bl func_803E0160 /* 803DFC98 003DB8F8 80 BC 00 0C */ lwz r5, 0xc(r28) /* 803DFC9C 003DB8FC 7F 83 E3 78 */ mr r3, r28 /* 803DFCA0 003DB900 7F A4 EB 78 */ mr r4, r29 /* 803DFCA4 003DB904 38 C0 00 00 */ li r6, 0 /* 803DFCA8 003DB908 4B FF FA A9 */ bl func_803DF750 /* 803DFCAC 003DB90C 7F E3 FB 78 */ mr r3, r31 /* 803DFCB0 003DB910 48 00 04 21 */ bl func_803E00D0 lbl_803DFCB4: /* 803DFCB4 003DB914 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFCB8 003DB918 4B DE 74 C1 */ bl _restgpr_28 /* 803DFCBC 003DB91C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DFCC0 003DB920 7C 08 03 A6 */ mtlr r0 /* 803DFCC4 003DB924 38 21 00 20 */ addi r1, r1, 0x20 /* 803DFCC8 003DB928 4E 80 00 20 */ blr .global func_803DFCCC func_803DFCCC: /* 803DFCCC 003DB92C 4E 80 00 20 */ blr .global func_803DFCD0 func_803DFCD0: /* 803DFCD0 003DB930 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DFCD4 003DB934 7C 08 02 A6 */ mflr r0 /* 803DFCD8 003DB938 90 01 00 14 */ stw r0, 0x14(r1) /* 803DFCDC 003DB93C 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DFCE0 003DB940 7C 9F 23 78 */ mr r31, r4 /* 803DFCE4 003DB944 38 85 00 14 */ addi r4, r5, 0x14 /* 803DFCE8 003DB948 93 C1 00 08 */ stw r30, 8(r1) /* 803DFCEC 003DB94C 7C 7E 1B 78 */ mr r30, r3 /* 803DFCF0 003DB950 80 63 00 0C */ lwz r3, 0xc(r3) /* 803DFCF4 003DB954 4B FF F5 89 */ bl func_803DF27C /* 803DFCF8 003DB958 80 BE 00 0C */ lwz r5, 0xc(r30) /* 803DFCFC 003DB95C 7F C3 F3 78 */ mr r3, r30 /* 803DFD00 003DB960 7F E4 FB 78 */ mr r4, r31 /* 803DFD04 003DB964 38 C0 00 00 */ li r6, 0 /* 803DFD08 003DB968 4B FF FA 49 */ bl func_803DF750 /* 803DFD0C 003DB96C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DFD10 003DB970 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DFD14 003DB974 83 C1 00 08 */ lwz r30, 8(r1) /* 803DFD18 003DB978 7C 08 03 A6 */ mtlr r0 /* 803DFD1C 003DB97C 38 21 00 10 */ addi r1, r1, 0x10 /* 803DFD20 003DB980 4E 80 00 20 */ blr .global func_803DFD24 func_803DFD24: /* 803DFD24 003DB984 4E 80 00 20 */ blr .global func_803DFD28 func_803DFD28: /* 803DFD28 003DB988 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DFD2C 003DB98C 7C 08 02 A6 */ mflr r0 /* 803DFD30 003DB990 90 01 00 24 */ stw r0, 0x24(r1) /* 803DFD34 003DB994 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFD38 003DB998 4B DE 73 F5 */ bl _savegpr_28 /* 803DFD3C 003DB99C 7C 7C 1B 78 */ mr r28, r3 /* 803DFD40 003DB9A0 7C 9D 23 78 */ mr r29, r4 /* 803DFD44 003DB9A4 7C A3 2B 78 */ mr r3, r5 /* 803DFD48 003DB9A8 4B FF F6 D1 */ bl func_803DF418 /* 803DFD4C 003DB9AC 7C 7F 1B 78 */ mr r31, r3 /* 803DFD50 003DB9B0 7F A3 EB 78 */ mr r3, r29 /* 803DFD54 003DB9B4 4B FF F2 F5 */ bl func_803DF048 /* 803DFD58 003DB9B8 48 00 00 90 */ b lbl_803DFDE8 lbl_803DFD5C: /* 803DFD5C 003DB9BC 28 00 FF FE */ cmplwi r0, 0xfffe /* 803DFD60 003DB9C0 40 82 00 78 */ bne lbl_803DFDD8 /* 803DFD64 003DB9C4 7F E3 FB 78 */ mr r3, r31 /* 803DFD68 003DB9C8 4B FF F7 C1 */ bl func_803DF528 /* 803DFD6C 003DB9CC 2C 03 00 00 */ cmpwi r3, 0 /* 803DFD70 003DB9D0 41 82 00 38 */ beq lbl_803DFDA8 /* 803DFD74 003DB9D4 7F E3 FB 78 */ mr r3, r31 /* 803DFD78 003DB9D8 38 80 00 00 */ li r4, 0 /* 803DFD7C 003DB9DC 4B FF F7 C5 */ bl func_803DF540 /* 803DFD80 003DB9E0 80 9C 00 08 */ lwz r4, 8(r28) /* 803DFD84 003DB9E4 54 60 18 38 */ slwi r0, r3, 3 /* 803DFD88 003DB9E8 7F A3 EB 78 */ mr r3, r29 /* 803DFD8C 003DB9EC 7C 84 02 14 */ add r4, r4, r0 /* 803DFD90 003DB9F0 80 84 00 04 */ lwz r4, 4(r4) /* 803DFD94 003DB9F4 4B FF F6 8D */ bl func_803DF420 /* 803DFD98 003DB9F8 7F E3 FB 78 */ mr r3, r31 /* 803DFD9C 003DB9FC 4B FF F7 6D */ bl func_803DF508 /* 803DFDA0 003DBA00 7C 7F 1B 78 */ mr r31, r3 /* 803DFDA4 003DBA04 48 00 00 44 */ b lbl_803DFDE8 lbl_803DFDA8: /* 803DFDA8 003DBA08 7F FE FB 78 */ mr r30, r31 /* 803DFDAC 003DBA0C 7F E3 FB 78 */ mr r3, r31 /* 803DFDB0 003DBA10 4B FF F7 59 */ bl func_803DF508 /* 803DFDB4 003DBA14 7C 7F 1B 78 */ mr r31, r3 /* 803DFDB8 003DBA18 48 00 00 14 */ b lbl_803DFDCC lbl_803DFDBC: /* 803DFDBC 003DBA1C A0 9E 00 00 */ lhz r4, 0(r30) /* 803DFDC0 003DBA20 7F A3 EB 78 */ mr r3, r29 /* 803DFDC4 003DBA24 3B DE 00 02 */ addi r30, r30, 2 /* 803DFDC8 003DBA28 4B FF F6 ED */ bl func_803DF4B4 lbl_803DFDCC: /* 803DFDCC 003DBA2C 7C 1E F8 40 */ cmplw r30, r31 /* 803DFDD0 003DBA30 41 80 FF EC */ blt lbl_803DFDBC /* 803DFDD4 003DBA34 48 00 00 14 */ b lbl_803DFDE8 lbl_803DFDD8: /* 803DFDD8 003DBA38 A0 9F 00 00 */ lhz r4, 0(r31) /* 803DFDDC 003DBA3C 7F A3 EB 78 */ mr r3, r29 /* 803DFDE0 003DBA40 3B FF 00 02 */ addi r31, r31, 2 /* 803DFDE4 003DBA44 4B FF F6 D1 */ bl func_803DF4B4 lbl_803DFDE8: /* 803DFDE8 003DBA48 A0 1F 00 00 */ lhz r0, 0(r31) /* 803DFDEC 003DBA4C 28 00 FF FF */ cmplwi r0, 0xffff /* 803DFDF0 003DBA50 40 82 FF 6C */ bne lbl_803DFD5C /* 803DFDF4 003DBA54 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFDF8 003DBA58 4B DE 73 81 */ bl _restgpr_28 /* 803DFDFC 003DBA5C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DFE00 003DBA60 7C 08 03 A6 */ mtlr r0 /* 803DFE04 003DBA64 38 21 00 20 */ addi r1, r1, 0x20 /* 803DFE08 003DBA68 4E 80 00 20 */ blr .global cAnimInventory_GetEndPhase cAnimInventory_GetEndPhase: /* 803DFE0C 003DBA6C 80 63 00 08 */ lwz r3, 8(r3) /* 803DFE10 003DBA70 54 80 18 38 */ slwi r0, r4, 3 /* 803DFE14 003DBA74 7C 63 02 14 */ add r3, r3, r0 /* 803DFE18 003DBA78 80 63 00 04 */ lwz r3, 4(r3) /* 803DFE1C 003DBA7C 4E 80 00 20 */ blr .global func_803DFE20 func_803DFE20: /* 803DFE20 003DBA80 4E 80 00 20 */ blr .global func_803DFE24 func_803DFE24: /* 803DFE24 003DBA84 4E 80 00 20 */ blr .global func_803DFE28 func_803DFE28: /* 803DFE28 003DBA88 28 03 00 0A */ cmplwi r3, 0xa /* 803DFE2C 003DBA8C 41 81 00 78 */ bgt lbl_803DFEA4 /* 803DFE30 003DBA90 3C A0 80 47 */ lis r5, lbl_80474E10@ha /* 803DFE34 003DBA94 54 60 10 3A */ slwi r0, r3, 2 /* 803DFE38 003DBA98 38 A5 4E 10 */ addi r5, r5, lbl_80474E10@l /* 803DFE3C 003DBA9C 7C A5 00 2E */ lwzx r5, r5, r0 /* 803DFE40 003DBAA0 7C A9 03 A6 */ mtctr r5 /* 803DFE44 003DBAA4 4E 80 04 20 */ bctr /* 803DFE48 003DBAA8 38 64 00 0A */ addi r3, r4, 0xa /* 803DFE4C 003DBAAC 4E 80 00 20 */ blr /* 803DFE50 003DBAB0 38 64 01 FA */ addi r3, r4, 0x1fa /* 803DFE54 003DBAB4 4E 80 00 20 */ blr /* 803DFE58 003DBAB8 38 64 0B AE */ addi r3, r4, 0xbae /* 803DFE5C 003DBABC 4E 80 00 20 */ blr /* 803DFE60 003DBAC0 38 64 07 C7 */ addi r3, r4, 0x7c7 /* 803DFE64 003DBAC4 4E 80 00 20 */ blr /* 803DFE68 003DBAC8 28 04 04 EB */ cmplwi r4, 0x4eb /* 803DFE6C 003DBACC 7C 83 23 78 */ mr r3, r4 /* 803DFE70 003DBAD0 4D 81 00 20 */ bgtlr /* 803DFE74 003DBAD4 38 64 24 DA */ addi r3, r4, 0x24da /* 803DFE78 003DBAD8 4E 80 00 20 */ blr /* 803DFE7C 003DBADC 38 64 1F 5E */ addi r3, r4, 0x1f5e /* 803DFE80 003DBAE0 4E 80 00 20 */ blr /* 803DFE84 003DBAE4 38 64 04 18 */ addi r3, r4, 0x418 /* 803DFE88 003DBAE8 4E 80 00 20 */ blr /* 803DFE8C 003DBAEC 38 64 30 08 */ addi r3, r4, 0x3008 /* 803DFE90 003DBAF0 4E 80 00 20 */ blr /* 803DFE94 003DBAF4 38 64 50 51 */ addi r3, r4, 0x5051 /* 803DFE98 003DBAF8 4E 80 00 20 */ blr /* 803DFE9C 003DBAFC 38 64 0C A6 */ addi r3, r4, 0xca6 /* 803DFEA0 003DBB00 4E 80 00 20 */ blr lbl_803DFEA4: /* 803DFEA4 003DBB04 38 60 00 00 */ li r3, 0 /* 803DFEA8 003DBB08 4E 80 00 20 */ blr .global func_803DFEAC func_803DFEAC: /* 803DFEAC 003DBB0C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803DFEB0 003DBB10 7C 08 02 A6 */ mflr r0 /* 803DFEB4 003DBB14 90 01 00 14 */ stw r0, 0x14(r1) /* 803DFEB8 003DBB18 93 E1 00 0C */ stw r31, 0xc(r1) /* 803DFEBC 003DBB1C 7C DF 33 78 */ mr r31, r6 /* 803DFEC0 003DBB20 93 C1 00 08 */ stw r30, 8(r1) /* 803DFEC4 003DBB24 7C BE 2B 78 */ mr r30, r5 /* 803DFEC8 003DBB28 4B FF FF 61 */ bl func_803DFE28 /* 803DFECC 003DBB2C 2C 03 00 00 */ cmpwi r3, 0 /* 803DFED0 003DBB30 40 82 00 0C */ bne lbl_803DFEDC /* 803DFED4 003DBB34 38 60 00 00 */ li r3, 0 /* 803DFED8 003DBB38 48 00 00 30 */ b lbl_803DFF08 lbl_803DFEDC: /* 803DFEDC 003DBB3C 4B E7 04 19 */ bl func_802502F4 /* 803DFEE0 003DBB40 2C 03 00 00 */ cmpwi r3, 0 /* 803DFEE4 003DBB44 90 7E 00 00 */ stw r3, 0(r30) /* 803DFEE8 003DBB48 40 82 00 0C */ bne lbl_803DFEF4 /* 803DFEEC 003DBB4C 38 60 00 00 */ li r3, 0 /* 803DFEF0 003DBB50 48 00 00 18 */ b lbl_803DFF08 lbl_803DFEF4: /* 803DFEF4 003DBB54 38 80 00 FF */ li r4, 0xff /* 803DFEF8 003DBB58 48 00 03 35 */ bl func_803E022C /* 803DFEFC 003DBB5C 38 03 00 01 */ addi r0, r3, 1 /* 803DFF00 003DBB60 38 60 00 01 */ li r3, 1 /* 803DFF04 003DBB64 90 1F 00 00 */ stw r0, 0(r31) lbl_803DFF08: /* 803DFF08 003DBB68 80 01 00 14 */ lwz r0, 0x14(r1) /* 803DFF0C 003DBB6C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803DFF10 003DBB70 83 C1 00 08 */ lwz r30, 8(r1) /* 803DFF14 003DBB74 7C 08 03 A6 */ mtlr r0 /* 803DFF18 003DBB78 38 21 00 10 */ addi r1, r1, 0x10 /* 803DFF1C 003DBB7C 4E 80 00 20 */ blr lbl_803DFF20: /* 803DFF20 003DBB80 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DFF24 003DBB84 7C 08 02 A6 */ mflr r0 /* 803DFF28 003DBB88 90 01 00 24 */ stw r0, 0x24(r1) /* 803DFF2C 003DBB8C 38 C1 00 08 */ addi r6, r1, 8 /* 803DFF30 003DBB90 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803DFF34 003DBB94 93 C1 00 18 */ stw r30, 0x18(r1) /* 803DFF38 003DBB98 7C BE 2B 78 */ mr r30, r5 /* 803DFF3C 003DBB9C 38 A1 00 0C */ addi r5, r1, 0xc /* 803DFF40 003DBBA0 4B FF FF 6D */ bl func_803DFEAC /* 803DFF44 003DBBA4 2C 03 00 00 */ cmpwi r3, 0 /* 803DFF48 003DBBA8 41 82 00 48 */ beq lbl_803DFF90 /* 803DFF4C 003DBBAC 80 81 00 08 */ lwz r4, 8(r1) /* 803DFF50 003DBBB0 38 60 00 00 */ li r3, 0 /* 803DFF54 003DBBB4 54 80 08 3C */ slwi r0, r4, 1 /* 803DFF58 003DBBB8 54 84 10 3A */ slwi r4, r4, 2 /* 803DFF5C 003DBBBC 90 01 00 08 */ stw r0, 8(r1) /* 803DFF60 003DBBC0 4B D8 E0 A9 */ bl func_8016E008 /* 803DFF64 003DBBC4 80 81 00 0C */ lwz r4, 0xc(r1) /* 803DFF68 003DBBC8 7C 7F 1B 78 */ mr r31, r3 /* 803DFF6C 003DBBCC 80 A1 00 08 */ lwz r5, 8(r1) /* 803DFF70 003DBBD0 4B D9 6F 45 */ bl func_80176EB4 /* 803DFF74 003DBBD4 90 61 00 08 */ stw r3, 8(r1) /* 803DFF78 003DBBD8 7C 65 1B 78 */ mr r5, r3 /* 803DFF7C 003DBBDC 7F C3 F3 78 */ mr r3, r30 /* 803DFF80 003DBBE0 7F E4 FB 78 */ mr r4, r31 /* 803DFF84 003DBBE4 4B FF F3 99 */ bl func_803DF31C /* 803DFF88 003DBBE8 7F E3 FB 78 */ mr r3, r31 /* 803DFF8C 003DBBEC 4B D8 E1 15 */ bl func_8016E0A0 lbl_803DFF90: /* 803DFF90 003DBBF0 80 01 00 24 */ lwz r0, 0x24(r1) /* 803DFF94 003DBBF4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803DFF98 003DBBF8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803DFF9C 003DBBFC 7C 08 03 A6 */ mtlr r0 /* 803DFFA0 003DBC00 38 21 00 20 */ addi r1, r1, 0x20 /* 803DFFA4 003DBC04 4E 80 00 20 */ blr lbl_803DFFA8: /* 803DFFA8 003DBC08 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803DFFAC 003DBC0C 7C 08 02 A6 */ mflr r0 /* 803DFFB0 003DBC10 90 01 00 24 */ stw r0, 0x24(r1) /* 803DFFB4 003DBC14 39 61 00 20 */ addi r11, r1, 0x20 /* 803DFFB8 003DBC18 4B DE 71 79 */ bl _savegpr_29 /* 803DFFBC 003DBC1C 7C BD 2B 78 */ mr r29, r5 /* 803DFFC0 003DBC20 38 A1 00 0C */ addi r5, r1, 0xc /* 803DFFC4 003DBC24 38 C1 00 08 */ addi r6, r1, 8 /* 803DFFC8 003DBC28 3B E0 00 00 */ li r31, 0 /* 803DFFCC 003DBC2C 4B FF FE E1 */ bl func_803DFEAC /* 803DFFD0 003DBC30 2C 03 00 00 */ cmpwi r3, 0 /* 803DFFD4 003DBC34 41 82 00 58 */ beq lbl_803E002C /* 803DFFD8 003DBC38 80 81 00 08 */ lwz r4, 8(r1) /* 803DFFDC 003DBC3C 7F A3 EB 78 */ mr r3, r29 /* 803DFFE0 003DBC40 54 80 08 3C */ slwi r0, r4, 1 /* 803DFFE4 003DBC44 54 84 10 3A */ slwi r4, r4, 2 /* 803DFFE8 003DBC48 90 01 00 08 */ stw r0, 8(r1) /* 803DFFEC 003DBC4C 4B D8 E0 1D */ bl func_8016E008 /* 803DFFF0 003DBC50 80 81 00 0C */ lwz r4, 0xc(r1) /* 803DFFF4 003DBC54 7C 7E 1B 78 */ mr r30, r3 /* 803DFFF8 003DBC58 80 A1 00 08 */ lwz r5, 8(r1) /* 803DFFFC 003DBC5C 4B D9 6E B9 */ bl func_80176EB4 /* 803E0000 003DBC60 90 61 00 08 */ stw r3, 8(r1) /* 803E0004 003DBC64 7F A4 EB 78 */ mr r4, r29 /* 803E0008 003DBC68 4B FF EF CD */ bl func_803DEFD4 /* 803E000C 003DBC6C 2C 03 00 00 */ cmpwi r3, 0 /* 803E0010 003DBC70 7C 7F 1B 78 */ mr r31, r3 /* 803E0014 003DBC74 41 82 00 10 */ beq lbl_803E0024 /* 803E0018 003DBC78 80 A1 00 08 */ lwz r5, 8(r1) /* 803E001C 003DBC7C 7F C4 F3 78 */ mr r4, r30 /* 803E0020 003DBC80 4B FF F2 FD */ bl func_803DF31C lbl_803E0024: /* 803E0024 003DBC84 7F C3 F3 78 */ mr r3, r30 /* 803E0028 003DBC88 4B D8 E0 79 */ bl func_8016E0A0 lbl_803E002C: /* 803E002C 003DBC8C 39 61 00 20 */ addi r11, r1, 0x20 /* 803E0030 003DBC90 7F E3 FB 78 */ mr r3, r31 /* 803E0034 003DBC94 4B DE 71 49 */ bl _restgpr_29 /* 803E0038 003DBC98 80 01 00 24 */ lwz r0, 0x24(r1) /* 803E003C 003DBC9C 7C 08 03 A6 */ mtlr r0 /* 803E0040 003DBCA0 38 21 00 20 */ addi r1, r1, 0x20 /* 803E0044 003DBCA4 4E 80 00 20 */ blr .global func_803E0048 func_803E0048: /* 803E0048 003DBCA8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803E004C 003DBCAC 7C 08 02 A6 */ mflr r0 /* 803E0050 003DBCB0 90 01 00 24 */ stw r0, 0x24(r1) /* 803E0054 003DBCB4 39 61 00 20 */ addi r11, r1, 0x20 /* 803E0058 003DBCB8 4B DE 70 D5 */ bl _savegpr_28 /* 803E005C 003DBCBC 7C DF 33 78 */ mr r31, r6 /* 803E0060 003DBCC0 7C 7C 1B 78 */ mr r28, r3 /* 803E0064 003DBCC4 7C 9D 23 78 */ mr r29, r4 /* 803E0068 003DBCC8 7C BE 2B 78 */ mr r30, r5 /* 803E006C 003DBCCC 7F E3 FB 78 */ mr r3, r31 /* 803E0070 003DBCD0 38 80 00 0C */ li r4, 0xc /* 803E0074 003DBCD4 4B D8 DF 95 */ bl func_8016E008 /* 803E0078 003DBCD8 2C 03 00 00 */ cmpwi r3, 0 /* 803E007C 003DBCDC 41 82 00 3C */ beq lbl_803E00B8 /* 803E0080 003DBCE0 2C 1C 00 00 */ cmpwi r28, 0 /* 803E0084 003DBCE4 40 82 00 1C */ bne lbl_803E00A0 /* 803E0088 003DBCE8 2C 1E 00 00 */ cmpwi r30, 0 /* 803E008C 003DBCEC 93 C3 00 08 */ stw r30, 8(r3) /* 803E0090 003DBCF0 40 82 00 18 */ bne lbl_803E00A8 /* 803E0094 003DBCF4 4B D8 E0 0D */ bl func_8016E0A0 /* 803E0098 003DBCF8 38 60 00 00 */ li r3, 0 /* 803E009C 003DBCFC 48 00 00 1C */ b lbl_803E00B8 lbl_803E00A0: /* 803E00A0 003DBD00 38 00 00 00 */ li r0, 0 /* 803E00A4 003DBD04 90 03 00 08 */ stw r0, 8(r3) lbl_803E00A8: /* 803E00A8 003DBD08 B3 83 00 00 */ sth r28, 0(r3) /* 803E00AC 003DBD0C B3 A3 00 04 */ sth r29, 4(r3) /* 803E00B0 003DBD10 B3 C3 00 06 */ sth r30, 6(r3) /* 803E00B4 003DBD14 B3 E3 00 02 */ sth r31, 2(r3) lbl_803E00B8: /* 803E00B8 003DBD18 39 61 00 20 */ addi r11, r1, 0x20 /* 803E00BC 003DBD1C 4B DE 70 BD */ bl _restgpr_28 /* 803E00C0 003DBD20 80 01 00 24 */ lwz r0, 0x24(r1) /* 803E00C4 003DBD24 7C 08 03 A6 */ mtlr r0 /* 803E00C8 003DBD28 38 21 00 20 */ addi r1, r1, 0x20 /* 803E00CC 003DBD2C 4E 80 00 20 */ blr .global func_803E00D0 func_803E00D0: /* 803E00D0 003DBD30 2C 03 00 00 */ cmpwi r3, 0 /* 803E00D4 003DBD34 4D 82 00 20 */ beqlr /* 803E00D8 003DBD38 4B D8 DF C8 */ b func_8016E0A0 /* 803E00DC 003DBD3C 4E 80 00 20 */ blr .global func_803E00E0 func_803E00E0: /* 803E00E0 003DBD40 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803E00E4 003DBD44 7C 08 02 A6 */ mflr r0 /* 803E00E8 003DBD48 90 01 00 14 */ stw r0, 0x14(r1) /* 803E00EC 003DBD4C A0 03 00 00 */ lhz r0, 0(r3) /* 803E00F0 003DBD50 93 E1 00 0C */ stw r31, 0xc(r1) /* 803E00F4 003DBD54 7C BF 2B 78 */ mr r31, r5 /* 803E00F8 003DBD58 2C 00 00 01 */ cmpwi r0, 1 /* 803E00FC 003DBD5C 41 82 00 34 */ beq lbl_803E0130 /* 803E0100 003DBD60 40 80 00 4C */ bge lbl_803E014C /* 803E0104 003DBD64 2C 00 00 00 */ cmpwi r0, 0 /* 803E0108 003DBD68 40 80 00 08 */ bge lbl_803E0110 /* 803E010C 003DBD6C 48 00 00 40 */ b lbl_803E014C lbl_803E0110: /* 803E0110 003DBD70 80 63 00 08 */ lwz r3, 8(r3) /* 803E0114 003DBD74 4B FF FD 15 */ bl func_803DFE28 /* 803E0118 003DBD78 4B E7 01 DD */ bl func_802502F4 /* 803E011C 003DBD7C 7C 64 1B 78 */ mr r4, r3 /* 803E0120 003DBD80 7F E3 FB 78 */ mr r3, r31 /* 803E0124 003DBD84 38 A0 00 FF */ li r5, 0xff /* 803E0128 003DBD88 4B D9 6D 8D */ bl func_80176EB4 /* 803E012C 003DBD8C 48 00 00 20 */ b lbl_803E014C lbl_803E0130: /* 803E0130 003DBD90 A0 63 00 06 */ lhz r3, 6(r3) /* 803E0134 003DBD94 4B FF FC F5 */ bl func_803DFE28 /* 803E0138 003DBD98 4B E7 01 BD */ bl func_802502F4 /* 803E013C 003DBD9C 7C 64 1B 78 */ mr r4, r3 /* 803E0140 003DBDA0 7F E3 FB 78 */ mr r3, r31 /* 803E0144 003DBDA4 38 A0 00 FF */ li r5, 0xff /* 803E0148 003DBDA8 4B D9 6D 6D */ bl func_80176EB4 lbl_803E014C: /* 803E014C 003DBDAC 80 01 00 14 */ lwz r0, 0x14(r1) /* 803E0150 003DBDB0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803E0154 003DBDB4 7C 08 03 A6 */ mtlr r0 /* 803E0158 003DBDB8 38 21 00 10 */ addi r1, r1, 0x10 /* 803E015C 003DBDBC 4E 80 00 20 */ blr .global func_803E0160 func_803E0160: /* 803E0160 003DBDC0 A0 03 00 00 */ lhz r0, 0(r3) /* 803E0164 003DBDC4 2C 00 00 01 */ cmpwi r0, 1 /* 803E0168 003DBDC8 41 82 00 18 */ beq lbl_803E0180 /* 803E016C 003DBDCC 4C 80 00 20 */ bgelr /* 803E0170 003DBDD0 2C 00 00 00 */ cmpwi r0, 0 /* 803E0174 003DBDD4 4D 80 00 20 */ bltlr /* 803E0178 003DBDD8 80 63 00 08 */ lwz r3, 8(r3) /* 803E017C 003DBDDC 4B FF FD A4 */ b lbl_803DFF20 lbl_803E0180: /* 803E0180 003DBDE0 A0 63 00 06 */ lhz r3, 6(r3) /* 803E0184 003DBDE4 4B FF FD 9C */ b lbl_803DFF20 /* 803E0188 003DBDE8 4E 80 00 20 */ blr .global func_803E018C func_803E018C: /* 803E018C 003DBDEC A0 03 00 00 */ lhz r0, 0(r3) /* 803E0190 003DBDF0 7C 65 1B 78 */ mr r5, r3 /* 803E0194 003DBDF4 2C 00 00 01 */ cmpwi r0, 1 /* 803E0198 003DBDF8 41 82 00 20 */ beq lbl_803E01B8 /* 803E019C 003DBDFC 40 80 00 28 */ bge lbl_803E01C4 /* 803E01A0 003DBE00 2C 00 00 00 */ cmpwi r0, 0 /* 803E01A4 003DBE04 40 80 00 08 */ bge lbl_803E01AC /* 803E01A8 003DBE08 48 00 00 1C */ b lbl_803E01C4 lbl_803E01AC: /* 803E01AC 003DBE0C 80 63 00 08 */ lwz r3, 8(r3) /* 803E01B0 003DBE10 A0 A5 00 02 */ lhz r5, 2(r5) /* 803E01B4 003DBE14 4B FF FD F4 */ b lbl_803DFFA8 lbl_803E01B8: /* 803E01B8 003DBE18 A0 63 00 06 */ lhz r3, 6(r3) /* 803E01BC 003DBE1C A0 A5 00 02 */ lhz r5, 2(r5) /* 803E01C0 003DBE20 4B FF FD E8 */ b lbl_803DFFA8 lbl_803E01C4: /* 803E01C4 003DBE24 38 60 00 00 */ li r3, 0 /* 803E01C8 003DBE28 4E 80 00 20 */ blr .global func_803E01CC func_803E01CC: /* 803E01CC 003DBE2C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803E01D0 003DBE30 7C 08 02 A6 */ mflr r0 /* 803E01D4 003DBE34 90 01 00 24 */ stw r0, 0x24(r1) /* 803E01D8 003DBE38 39 61 00 20 */ addi r11, r1, 0x20 /* 803E01DC 003DBE3C 4B DE 6F 55 */ bl _savegpr_29 /* 803E01E0 003DBE40 7C 7D 1B 78 */ mr r29, r3 /* 803E01E4 003DBE44 7C 86 23 78 */ mr r6, r4 /* 803E01E8 003DBE48 7C BE 2B 78 */ mr r30, r5 /* 803E01EC 003DBE4C 38 60 00 01 */ li r3, 1 /* 803E01F0 003DBE50 38 80 00 1B */ li r4, 0x1b /* 803E01F4 003DBE54 38 A0 00 02 */ li r5, 2 /* 803E01F8 003DBE58 4B FF FE 51 */ bl func_803E0048 /* 803E01FC 003DBE5C 7C 7F 1B 78 */ mr r31, r3 /* 803E0200 003DBE60 7F A4 EB 78 */ mr r4, r29 /* 803E0204 003DBE64 7F C5 F3 78 */ mr r5, r30 /* 803E0208 003DBE68 4B FF FE D9 */ bl func_803E00E0 /* 803E020C 003DBE6C 7F E3 FB 78 */ mr r3, r31 /* 803E0210 003DBE70 4B FF FE C1 */ bl func_803E00D0 /* 803E0214 003DBE74 39 61 00 20 */ addi r11, r1, 0x20 /* 803E0218 003DBE78 4B DE 6F 65 */ bl _restgpr_29 /* 803E021C 003DBE7C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803E0220 003DBE80 7C 08 03 A6 */ mtlr r0 /* 803E0224 003DBE84 38 21 00 20 */ addi r1, r1, 0x20 /* 803E0228 003DBE88 4E 80 00 20 */ blr .global func_803E022C func_803E022C: /* 803E022C 003DBE8C 2C 03 00 00 */ cmpwi r3, 0 /* 803E0230 003DBE90 40 82 00 0C */ bne lbl_803E023C /* 803E0234 003DBE94 38 60 00 00 */ li r3, 0 /* 803E0238 003DBE98 4E 80 00 20 */ blr lbl_803E023C: /* 803E023C 003DBE9C A0 A3 00 00 */ lhz r5, 0(r3) /* 803E0240 003DBEA0 38 C0 00 00 */ li r6, 0 /* 803E0244 003DBEA4 7C 89 03 A6 */ mtctr r4 /* 803E0248 003DBEA8 28 04 00 00 */ cmplwi r4, 0 /* 803E024C 003DBEAC 40 81 00 60 */ ble lbl_803E02AC lbl_803E0250: /* 803E0250 003DBEB0 2C 06 00 00 */ cmpwi r6, 0 /* 803E0254 003DBEB4 41 82 00 34 */ beq lbl_803E0288 /* 803E0258 003DBEB8 28 05 FF FF */ cmplwi r5, 0xffff /* 803E025C 003DBEBC 41 82 00 10 */ beq lbl_803E026C /* 803E0260 003DBEC0 A0 03 00 00 */ lhz r0, 0(r3) /* 803E0264 003DBEC4 2C 00 00 00 */ cmpwi r0, 0 /* 803E0268 003DBEC8 41 82 00 18 */ beq lbl_803E0280 lbl_803E026C: /* 803E026C 003DBECC 28 05 FF FF */ cmplwi r5, 0xffff /* 803E0270 003DBED0 40 82 00 2C */ bne lbl_803E029C /* 803E0274 003DBED4 A0 03 00 00 */ lhz r0, 0(r3) /* 803E0278 003DBED8 28 00 FF FF */ cmplwi r0, 0xffff /* 803E027C 003DBEDC 40 82 00 20 */ bne lbl_803E029C lbl_803E0280: /* 803E0280 003DBEE0 7C C3 33 78 */ mr r3, r6 /* 803E0284 003DBEE4 4E 80 00 20 */ blr lbl_803E0288: /* 803E0288 003DBEE8 A0 03 00 00 */ lhz r0, 0(r3) /* 803E028C 003DBEEC 2C 00 00 00 */ cmpwi r0, 0 /* 803E0290 003DBEF0 40 82 00 0C */ bne lbl_803E029C /* 803E0294 003DBEF4 38 60 00 00 */ li r3, 0 /* 803E0298 003DBEF8 4E 80 00 20 */ blr lbl_803E029C: /* 803E029C 003DBEFC A0 A3 00 00 */ lhz r5, 0(r3) /* 803E02A0 003DBF00 38 C6 00 01 */ addi r6, r6, 1 /* 803E02A4 003DBF04 38 63 00 02 */ addi r3, r3, 2 /* 803E02A8 003DBF08 42 00 FF A8 */ bdnz lbl_803E0250 lbl_803E02AC: /* 803E02AC 003DBF0C 7C 83 23 78 */ mr r3, r4 /* 803E02B0 003DBF10 4E 80 00 20 */ blr .global func_803E02B4 func_803E02B4: /* 803E02B4 003DBF14 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803E02B8 003DBF18 7C 08 02 A6 */ mflr r0 /* 803E02BC 003DBF1C 90 01 00 24 */ stw r0, 0x24(r1) /* 803E02C0 003DBF20 39 61 00 20 */ addi r11, r1, 0x20 /* 803E02C4 003DBF24 4B DE 6E 61 */ bl _savegpr_26 /* 803E02C8 003DBF28 3C C0 41 C6 */ lis r6, 0x41C64E6D@ha /* 803E02CC 003DBF2C 7C 7A 1B 78 */ mr r26, r3 /* 803E02D0 003DBF30 7C BB 2B 78 */ mr r27, r5 /* 803E02D4 003DBF34 54 9D F8 7E */ srwi r29, r4, 1 /* 803E02D8 003DBF38 3B C6 4E 6D */ addi r30, r6, 0x41C64E6D@l /* 803E02DC 003DBF3C 3B 80 00 00 */ li r28, 0 /* 803E02E0 003DBF40 3B E0 00 00 */ li r31, 0 /* 803E02E4 003DBF44 48 00 00 30 */ b lbl_803E0314 lbl_803E02E8: /* 803E02E8 003DBF48 7C 7A FA 2E */ lhzx r3, r26, r31 /* 803E02EC 003DBF4C 48 00 17 11 */ bl func_803E19FC /* 803E02F0 003DBF50 7C 9B F1 D6 */ mullw r4, r27, r30 /* 803E02F4 003DBF54 3B 64 60 73 */ addi r27, r4, 0x6073 /* 803E02F8 003DBF58 57 60 84 3E */ srwi r0, r27, 0x10 /* 803E02FC 003DBF5C 7C 60 02 78 */ xor r0, r3, r0 /* 803E0300 003DBF60 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 803E0304 003DBF64 48 00 16 F9 */ bl func_803E19FC /* 803E0308 003DBF68 7C 7A FB 2E */ sthx r3, r26, r31 /* 803E030C 003DBF6C 3B 9C 00 01 */ addi r28, r28, 1 /* 803E0310 003DBF70 3B FF 00 02 */ addi r31, r31, 2 lbl_803E0314: /* 803E0314 003DBF74 7C 1C E8 40 */ cmplw r28, r29 /* 803E0318 003DBF78 41 80 FF D0 */ blt lbl_803E02E8 /* 803E031C 003DBF7C 39 61 00 20 */ addi r11, r1, 0x20 /* 803E0320 003DBF80 4B DE 6E 51 */ bl _restgpr_26 /* 803E0324 003DBF84 80 01 00 24 */ lwz r0, 0x24(r1) /* 803E0328 003DBF88 7C 08 03 A6 */ mtlr r0 /* 803E032C 003DBF8C 38 21 00 20 */ addi r1, r1, 0x20 /* 803E0330 003DBF90 4E 80 00 20 */ blr .global func_803E0334 func_803E0334: /* 803E0334 003DBF94 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803E0338 003DBF98 7C 08 02 A6 */ mflr r0 /* 803E033C 003DBF9C 90 01 00 24 */ stw r0, 0x24(r1) /* 803E0340 003DBFA0 39 61 00 20 */ addi r11, r1, 0x20 /* 803E0344 003DBFA4 4B DE 6D E5 */ bl _savegpr_27 /* 803E0348 003DBFA8 7C 7B 1B 78 */ mr r27, r3 /* 803E034C 003DBFAC 54 9E F8 7E */ srwi r30, r4, 1 /* 803E0350 003DBFB0 3B 80 00 00 */ li r28, 0 /* 803E0354 003DBFB4 3B A0 00 00 */ li r29, 0 /* 803E0358 003DBFB8 3B E0 00 00 */ li r31, 0 /* 803E035C 003DBFBC 48 00 00 18 */ b lbl_803E0374 lbl_803E0360: /* 803E0360 003DBFC0 7C 7B FA 2E */ lhzx r3, r27, r31 /* 803E0364 003DBFC4 48 00 16 99 */ bl func_803E19FC /* 803E0368 003DBFC8 7F 9C 1A 14 */ add r28, r28, r3 /* 803E036C 003DBFCC 3B BD 00 01 */ addi r29, r29, 1 /* 803E0370 003DBFD0 3B FF 00 02 */ addi r31, r31, 2 lbl_803E0374: /* 803E0374 003DBFD4 7C 1D F0 40 */ cmplw r29, r30 /* 803E0378 003DBFD8 41 80 FF E8 */ blt lbl_803E0360 /* 803E037C 003DBFDC 39 61 00 20 */ addi r11, r1, 0x20 /* 803E0380 003DBFE0 7F 83 E3 78 */ mr r3, r28 /* 803E0384 003DBFE4 4B DE 6D F1 */ bl _restgpr_27 /* 803E0388 003DBFE8 80 01 00 24 */ lwz r0, 0x24(r1) /* 803E038C 003DBFEC 7C 08 03 A6 */ mtlr r0 /* 803E0390 003DBFF0 38 21 00 20 */ addi r1, r1, 0x20 /* 803E0394 003DBFF4 4E 80 00 20 */ blr .global func_803E0398 func_803E0398: /* 803E0398 003DBFF8 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 803E039C 003DBFFC 7C 08 02 A6 */ mflr r0 /* 803E03A0 003DC000 90 01 00 A4 */ stw r0, 0xa4(r1) /* 803E03A4 003DC004 39 61 00 A0 */ addi r11, r1, 0xa0 /* 803E03A8 003DC008 4B DE 6D 89 */ bl _savegpr_29 /* 803E03AC 003DC00C 7C 7D 1B 78 */ mr r29, r3 /* 803E03B0 003DC010 A0 63 00 04 */ lhz r3, 4(r3) /* 803E03B4 003DC014 7C 9F 23 78 */ mr r31, r4 /* 803E03B8 003DC018 3B C0 00 00 */ li r30, 0 /* 803E03BC 003DC01C 48 00 16 41 */ bl func_803E19FC /* 803E03C0 003DC020 54 60 07 FE */ clrlwi r0, r3, 0x1f /* 803E03C4 003DC024 B0 61 00 0C */ sth r3, 0xc(r1) /* 803E03C8 003DC028 28 00 00 01 */ cmplwi r0, 1 /* 803E03CC 003DC02C 40 82 00 64 */ bne lbl_803E0430 /* 803E03D0 003DC030 2C 1F 00 01 */ cmpwi r31, 1 /* 803E03D4 003DC034 40 82 00 5C */ bne lbl_803E0430 /* 803E03D8 003DC038 54 63 04 3A */ rlwinm r3, r3, 0, 0x10, 0x1d /* 803E03DC 003DC03C 3B C0 00 01 */ li r30, 1 /* 803E03E0 003DC040 B0 61 00 0C */ sth r3, 0xc(r1) /* 803E03E4 003DC044 48 00 16 19 */ bl func_803E19FC /* 803E03E8 003DC048 B0 7D 00 04 */ sth r3, 4(r29) /* 803E03EC 003DC04C 80 7D 00 00 */ lwz r3, 0(r29) /* 803E03F0 003DC050 48 00 16 21 */ bl func_803E1A10 /* 803E03F4 003DC054 7C 65 1B 78 */ mr r5, r3 /* 803E03F8 003DC058 38 7D 00 88 */ addi r3, r29, 0x88 /* 803E03FC 003DC05C 38 80 00 64 */ li r4, 0x64 /* 803E0400 003DC060 4B FF FE B5 */ bl func_803E02B4 /* 803E0404 003DC064 38 7D 00 08 */ addi r3, r29, 8 /* 803E0408 003DC068 38 80 00 80 */ li r4, 0x80 /* 803E040C 003DC06C 4B FF FF 29 */ bl func_803E0334 /* 803E0410 003DC070 7C 7F 1B 78 */ mr r31, r3 /* 803E0414 003DC074 38 7D 00 08 */ addi r3, r29, 8 /* 803E0418 003DC078 57 E5 04 3E */ clrlwi r5, r31, 0x10 /* 803E041C 003DC07C 38 80 00 80 */ li r4, 0x80 /* 803E0420 003DC080 4B FF FE 95 */ bl func_803E02B4 /* 803E0424 003DC084 57 E3 04 3E */ clrlwi r3, r31, 0x10 /* 803E0428 003DC088 48 00 15 D5 */ bl func_803E19FC /* 803E042C 003DC08C B0 7D 00 06 */ sth r3, 6(r29) lbl_803E0430: /* 803E0430 003DC090 39 61 00 A0 */ addi r11, r1, 0xa0 /* 803E0434 003DC094 7F C3 F3 78 */ mr r3, r30 /* 803E0438 003DC098 4B DE 6D 45 */ bl _restgpr_29 /* 803E043C 003DC09C 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 803E0440 003DC0A0 7C 08 03 A6 */ mtlr r0 /* 803E0444 003DC0A4 38 21 00 A0 */ addi r1, r1, 0xa0 /* 803E0448 003DC0A8 4E 80 00 20 */ blr .global func_803E044C func_803E044C: /* 803E044C 003DC0AC 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 803E0450 003DC0B0 7C 08 02 A6 */ mflr r0 /* 803E0454 003DC0B4 90 01 00 A4 */ stw r0, 0xa4(r1) /* 803E0458 003DC0B8 93 E1 00 9C */ stw r31, 0x9c(r1) /* 803E045C 003DC0BC 3B E0 00 00 */ li r31, 0 /* 803E0460 003DC0C0 93 C1 00 98 */ stw r30, 0x98(r1) /* 803E0464 003DC0C4 7C 7E 1B 78 */ mr r30, r3 /* 803E0468 003DC0C8 A0 63 00 04 */ lhz r3, 4(r3) /* 803E046C 003DC0CC 48 00 15 91 */ bl func_803E19FC /* 803E0470 003DC0D0 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 803E0474 003DC0D4 B0 61 00 0C */ sth r3, 0xc(r1) /* 803E0478 003DC0D8 40 82 00 6C */ bne lbl_803E04E4 /* 803E047C 003DC0DC 54 60 FF FE */ rlwinm r0, r3, 0x1f, 0x1f, 0x1f /* 803E0480 003DC0E0 3C 80 80 47 */ lis r4, lbl_80474E40@ha /* 803E0484 003DC0E4 7C 00 00 34 */ cntlzw r0, r0 /* 803E0488 003DC0E8 3B E0 00 01 */ li r31, 1 /* 803E048C 003DC0EC 54 03 D9 7E */ srwi r3, r0, 5 /* 803E0490 003DC0F0 38 84 4E 40 */ addi r4, r4, lbl_80474E40@l /* 803E0494 003DC0F4 4C C6 31 82 */ crclr 6 /* 803E0498 003DC0F8 4B FF 94 05 */ bl func_803D989C /* 803E049C 003DC0FC A0 01 00 0C */ lhz r0, 0xc(r1) /* 803E04A0 003DC100 60 03 00 03 */ ori r3, r0, 3 /* 803E04A4 003DC104 B0 61 00 0C */ sth r3, 0xc(r1) /* 803E04A8 003DC108 48 00 15 55 */ bl func_803E19FC /* 803E04AC 003DC10C B0 7E 00 04 */ sth r3, 4(r30) /* 803E04B0 003DC110 80 7E 00 00 */ lwz r3, 0(r30) /* 803E04B4 003DC114 48 00 15 5D */ bl func_803E1A10 /* 803E04B8 003DC118 7C 65 1B 78 */ mr r5, r3 /* 803E04BC 003DC11C 38 7E 00 88 */ addi r3, r30, 0x88 /* 803E04C0 003DC120 38 80 00 64 */ li r4, 0x64 /* 803E04C4 003DC124 4B FF FD F1 */ bl func_803E02B4 /* 803E04C8 003DC128 A0 7E 00 06 */ lhz r3, 6(r30) /* 803E04CC 003DC12C 48 00 15 31 */ bl func_803E19FC /* 803E04D0 003DC130 7C 60 1B 78 */ mr r0, r3 /* 803E04D4 003DC134 38 7E 00 08 */ addi r3, r30, 8 /* 803E04D8 003DC138 54 05 04 3E */ clrlwi r5, r0, 0x10 /* 803E04DC 003DC13C 38 80 00 80 */ li r4, 0x80 /* 803E04E0 003DC140 4B FF FD D5 */ bl func_803E02B4 lbl_803E04E4: /* 803E04E4 003DC144 7F E3 FB 78 */ mr r3, r31 /* 803E04E8 003DC148 83 E1 00 9C */ lwz r31, 0x9c(r1) /* 803E04EC 003DC14C 83 C1 00 98 */ lwz r30, 0x98(r1) /* 803E04F0 003DC150 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 803E04F4 003DC154 7C 08 03 A6 */ mtlr r0 /* 803E04F8 003DC158 38 21 00 A0 */ addi r1, r1, 0xa0 /* 803E04FC 003DC15C 4E 80 00 20 */ blr .global func_803E0500 func_803E0500: /* 803E0500 003DC160 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 803E0504 003DC164 7C 08 02 A6 */ mflr r0 /* 803E0508 003DC168 90 01 00 A4 */ stw r0, 0xa4(r1) /* 803E050C 003DC16C 93 E1 00 9C */ stw r31, 0x9c(r1) /* 803E0510 003DC170 3B E0 00 00 */ li r31, 0 /* 803E0514 003DC174 93 C1 00 98 */ stw r30, 0x98(r1) /* 803E0518 003DC178 7C 7E 1B 78 */ mr r30, r3 /* 803E051C 003DC17C A0 63 00 04 */ lhz r3, 4(r3) /* 803E0520 003DC180 48 00 14 DD */ bl func_803E19FC /* 803E0524 003DC184 54 60 FF FF */ rlwinm. r0, r3, 0x1f, 0x1f, 0x1f /* 803E0528 003DC188 B0 61 00 0C */ sth r3, 0xc(r1) /* 803E052C 003DC18C 40 82 00 40 */ bne lbl_803E056C /* 803E0530 003DC190 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 803E0534 003DC194 3B E0 00 01 */ li r31, 1 /* 803E0538 003DC198 60 63 00 02 */ ori r3, r3, 2 /* 803E053C 003DC19C B0 61 00 0C */ sth r3, 0xc(r1) /* 803E0540 003DC1A0 48 00 14 BD */ bl func_803E19FC /* 803E0544 003DC1A4 B0 7E 00 04 */ sth r3, 4(r30) /* 803E0548 003DC1A8 80 7E 00 00 */ lwz r3, 0(r30) /* 803E054C 003DC1AC 48 00 14 C5 */ bl func_803E1A10 /* 803E0550 003DC1B0 A0 7E 00 06 */ lhz r3, 6(r30) /* 803E0554 003DC1B4 48 00 14 A9 */ bl func_803E19FC /* 803E0558 003DC1B8 7C 60 1B 78 */ mr r0, r3 /* 803E055C 003DC1BC 38 7E 00 08 */ addi r3, r30, 8 /* 803E0560 003DC1C0 54 05 04 3E */ clrlwi r5, r0, 0x10 /* 803E0564 003DC1C4 38 80 00 80 */ li r4, 0x80 /* 803E0568 003DC1C8 4B FF FD 4D */ bl func_803E02B4 lbl_803E056C: /* 803E056C 003DC1CC 7F E3 FB 78 */ mr r3, r31 /* 803E0570 003DC1D0 83 E1 00 9C */ lwz r31, 0x9c(r1) /* 803E0574 003DC1D4 83 C1 00 98 */ lwz r30, 0x98(r1) /* 803E0578 003DC1D8 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 803E057C 003DC1DC 7C 08 03 A6 */ mtlr r0 /* 803E0580 003DC1E0 38 21 00 A0 */ addi r1, r1, 0xa0 /* 803E0584 003DC1E4 4E 80 00 20 */ blr .global func_803E0588 func_803E0588: /* 803E0588 003DC1E8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803E058C 003DC1EC 7C 08 02 A6 */ mflr r0 /* 803E0590 003DC1F0 90 01 00 24 */ stw r0, 0x24(r1) /* 803E0594 003DC1F4 39 61 00 20 */ addi r11, r1, 0x20 /* 803E0598 003DC1F8 4B DE 6B 99 */ bl _savegpr_29 /* 803E059C 003DC1FC 3C C0 80 47 */ lis r6, lbl_80474E61@ha /* 803E05A0 003DC200 7C 7D 1B 78 */ mr r29, r3 /* 803E05A4 003DC204 54 9E 9E FE */ rlwinm r30, r4, 0x13, 0x1b, 0x1f /* 803E05A8 003DC208 7C BF 2B 78 */ mr r31, r5 /* 803E05AC 003DC20C 38 86 4E 61 */ addi r4, r6, lbl_80474E61@l /* 803E05B0 003DC210 38 60 00 01 */ li r3, 1 /* 803E05B4 003DC214 4C C6 31 82 */ crclr 6 /* 803E05B8 003DC218 4B FF 92 E5 */ bl func_803D989C /* 803E05BC 003DC21C 28 1E 00 1F */ cmplwi r30, 0x1f /* 803E05C0 003DC220 41 81 06 D4 */ bgt lbl_803E0C94 /* 803E05C4 003DC224 3C 80 80 47 */ lis r4, lbl_80474E80@ha /* 803E05C8 003DC228 57 C0 10 3A */ slwi r0, r30, 2 /* 803E05CC 003DC22C 38 84 4E 80 */ addi r4, r4, lbl_80474E80@l /* 803E05D0 003DC230 7C 84 00 2E */ lwzx r4, r4, r0 /* 803E05D4 003DC234 7C 89 03 A6 */ mtctr r4 /* 803E05D8 003DC238 4E 80 04 20 */ bctr /* 803E05DC 003DC23C 2C 1F 00 02 */ cmpwi r31, 2 /* 803E05E0 003DC240 38 7D 00 08 */ addi r3, r29, 8 /* 803E05E4 003DC244 41 82 00 30 */ beq lbl_803E0614 /* 803E05E8 003DC248 40 80 00 14 */ bge lbl_803E05FC /* 803E05EC 003DC24C 2C 1F 00 00 */ cmpwi r31, 0 /* 803E05F0 003DC250 41 82 06 A4 */ beq lbl_803E0C94 /* 803E05F4 003DC254 40 80 00 18 */ bge lbl_803E060C /* 803E05F8 003DC258 48 00 06 9C */ b lbl_803E0C94 lbl_803E05FC: /* 803E05FC 003DC25C 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0600 003DC260 40 80 06 94 */ bge lbl_803E0C94 /* 803E0604 003DC264 48 00 00 18 */ b lbl_803E061C /* 803E0608 003DC268 48 00 06 8C */ b lbl_803E0C94 lbl_803E060C: /* 803E060C 003DC26C 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0610 003DC270 48 00 06 84 */ b lbl_803E0C94 lbl_803E0614: /* 803E0614 003DC274 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0618 003DC278 48 00 06 7C */ b lbl_803E0C94 lbl_803E061C: /* 803E061C 003DC27C 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0620 003DC280 48 00 06 74 */ b lbl_803E0C94 /* 803E0624 003DC284 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0628 003DC288 38 7D 00 08 */ addi r3, r29, 8 /* 803E062C 003DC28C 41 82 00 30 */ beq lbl_803E065C /* 803E0630 003DC290 40 80 00 14 */ bge lbl_803E0644 /* 803E0634 003DC294 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0638 003DC298 41 82 06 5C */ beq lbl_803E0C94 /* 803E063C 003DC29C 40 80 00 18 */ bge lbl_803E0654 /* 803E0640 003DC2A0 48 00 06 54 */ b lbl_803E0C94 lbl_803E0644: /* 803E0644 003DC2A4 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0648 003DC2A8 40 80 06 4C */ bge lbl_803E0C94 /* 803E064C 003DC2AC 48 00 00 18 */ b lbl_803E0664 /* 803E0650 003DC2B0 48 00 06 44 */ b lbl_803E0C94 lbl_803E0654: /* 803E0654 003DC2B4 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0658 003DC2B8 48 00 06 3C */ b lbl_803E0C94 lbl_803E065C: /* 803E065C 003DC2BC 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0660 003DC2C0 48 00 06 34 */ b lbl_803E0C94 lbl_803E0664: /* 803E0664 003DC2C4 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0668 003DC2C8 48 00 06 2C */ b lbl_803E0C94 /* 803E066C 003DC2CC 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0670 003DC2D0 38 7D 00 08 */ addi r3, r29, 8 /* 803E0674 003DC2D4 41 82 00 30 */ beq lbl_803E06A4 /* 803E0678 003DC2D8 40 80 00 14 */ bge lbl_803E068C /* 803E067C 003DC2DC 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0680 003DC2E0 41 82 06 14 */ beq lbl_803E0C94 /* 803E0684 003DC2E4 40 80 00 18 */ bge lbl_803E069C /* 803E0688 003DC2E8 48 00 06 0C */ b lbl_803E0C94 lbl_803E068C: /* 803E068C 003DC2EC 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0690 003DC2F0 40 80 06 04 */ bge lbl_803E0C94 /* 803E0694 003DC2F4 48 00 00 18 */ b lbl_803E06AC /* 803E0698 003DC2F8 48 00 05 FC */ b lbl_803E0C94 lbl_803E069C: /* 803E069C 003DC2FC 38 63 00 40 */ addi r3, r3, 0x40 /* 803E06A0 003DC300 48 00 05 F4 */ b lbl_803E0C94 lbl_803E06A4: /* 803E06A4 003DC304 38 63 00 20 */ addi r3, r3, 0x20 /* 803E06A8 003DC308 48 00 05 EC */ b lbl_803E0C94 lbl_803E06AC: /* 803E06AC 003DC30C 38 63 00 60 */ addi r3, r3, 0x60 /* 803E06B0 003DC310 48 00 05 E4 */ b lbl_803E0C94 /* 803E06B4 003DC314 2C 1F 00 02 */ cmpwi r31, 2 /* 803E06B8 003DC318 38 7D 00 08 */ addi r3, r29, 8 /* 803E06BC 003DC31C 41 82 00 30 */ beq lbl_803E06EC /* 803E06C0 003DC320 40 80 00 14 */ bge lbl_803E06D4 /* 803E06C4 003DC324 2C 1F 00 00 */ cmpwi r31, 0 /* 803E06C8 003DC328 41 82 05 CC */ beq lbl_803E0C94 /* 803E06CC 003DC32C 40 80 00 18 */ bge lbl_803E06E4 /* 803E06D0 003DC330 48 00 05 C4 */ b lbl_803E0C94 lbl_803E06D4: /* 803E06D4 003DC334 2C 1F 00 04 */ cmpwi r31, 4 /* 803E06D8 003DC338 40 80 05 BC */ bge lbl_803E0C94 /* 803E06DC 003DC33C 48 00 00 18 */ b lbl_803E06F4 /* 803E06E0 003DC340 48 00 05 B4 */ b lbl_803E0C94 lbl_803E06E4: /* 803E06E4 003DC344 38 63 00 60 */ addi r3, r3, 0x60 /* 803E06E8 003DC348 48 00 05 AC */ b lbl_803E0C94 lbl_803E06EC: /* 803E06EC 003DC34C 38 63 00 20 */ addi r3, r3, 0x20 /* 803E06F0 003DC350 48 00 05 A4 */ b lbl_803E0C94 lbl_803E06F4: /* 803E06F4 003DC354 38 63 00 40 */ addi r3, r3, 0x40 /* 803E06F8 003DC358 48 00 05 9C */ b lbl_803E0C94 /* 803E06FC 003DC35C 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0700 003DC360 38 7D 00 08 */ addi r3, r29, 8 /* 803E0704 003DC364 41 82 00 30 */ beq lbl_803E0734 /* 803E0708 003DC368 40 80 00 14 */ bge lbl_803E071C /* 803E070C 003DC36C 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0710 003DC370 41 82 05 84 */ beq lbl_803E0C94 /* 803E0714 003DC374 40 80 00 18 */ bge lbl_803E072C /* 803E0718 003DC378 48 00 05 7C */ b lbl_803E0C94 lbl_803E071C: /* 803E071C 003DC37C 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0720 003DC380 40 80 05 74 */ bge lbl_803E0C94 /* 803E0724 003DC384 48 00 00 18 */ b lbl_803E073C /* 803E0728 003DC388 48 00 05 6C */ b lbl_803E0C94 lbl_803E072C: /* 803E072C 003DC38C 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0730 003DC390 48 00 05 64 */ b lbl_803E0C94 lbl_803E0734: /* 803E0734 003DC394 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0738 003DC398 48 00 05 5C */ b lbl_803E0C94 lbl_803E073C: /* 803E073C 003DC39C 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0740 003DC3A0 48 00 05 54 */ b lbl_803E0C94 /* 803E0744 003DC3A4 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0748 003DC3A8 38 7D 00 08 */ addi r3, r29, 8 /* 803E074C 003DC3AC 41 82 00 30 */ beq lbl_803E077C /* 803E0750 003DC3B0 40 80 00 14 */ bge lbl_803E0764 /* 803E0754 003DC3B4 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0758 003DC3B8 41 82 05 3C */ beq lbl_803E0C94 /* 803E075C 003DC3BC 40 80 00 18 */ bge lbl_803E0774 /* 803E0760 003DC3C0 48 00 05 34 */ b lbl_803E0C94 lbl_803E0764: /* 803E0764 003DC3C4 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0768 003DC3C8 40 80 05 2C */ bge lbl_803E0C94 /* 803E076C 003DC3CC 48 00 00 18 */ b lbl_803E0784 /* 803E0770 003DC3D0 48 00 05 24 */ b lbl_803E0C94 lbl_803E0774: /* 803E0774 003DC3D4 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0778 003DC3D8 48 00 05 1C */ b lbl_803E0C94 lbl_803E077C: /* 803E077C 003DC3DC 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0780 003DC3E0 48 00 05 14 */ b lbl_803E0C94 lbl_803E0784: /* 803E0784 003DC3E4 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0788 003DC3E8 48 00 05 0C */ b lbl_803E0C94 /* 803E078C 003DC3EC 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0790 003DC3F0 38 7D 00 08 */ addi r3, r29, 8 /* 803E0794 003DC3F4 41 82 00 30 */ beq lbl_803E07C4 /* 803E0798 003DC3F8 40 80 00 14 */ bge lbl_803E07AC /* 803E079C 003DC3FC 2C 1F 00 00 */ cmpwi r31, 0 /* 803E07A0 003DC400 41 82 00 18 */ beq lbl_803E07B8 /* 803E07A4 003DC404 40 80 04 F0 */ bge lbl_803E0C94 /* 803E07A8 003DC408 48 00 04 EC */ b lbl_803E0C94 lbl_803E07AC: /* 803E07AC 003DC40C 2C 1F 00 04 */ cmpwi r31, 4 /* 803E07B0 003DC410 40 80 04 E4 */ bge lbl_803E0C94 /* 803E07B4 003DC414 48 00 00 18 */ b lbl_803E07CC lbl_803E07B8: /* 803E07B8 003DC418 38 63 00 20 */ addi r3, r3, 0x20 /* 803E07BC 003DC41C 48 00 04 D8 */ b lbl_803E0C94 /* 803E07C0 003DC420 48 00 04 D4 */ b lbl_803E0C94 lbl_803E07C4: /* 803E07C4 003DC424 38 63 00 40 */ addi r3, r3, 0x40 /* 803E07C8 003DC428 48 00 04 CC */ b lbl_803E0C94 lbl_803E07CC: /* 803E07CC 003DC42C 38 63 00 60 */ addi r3, r3, 0x60 /* 803E07D0 003DC430 48 00 04 C4 */ b lbl_803E0C94 /* 803E07D4 003DC434 2C 1F 00 02 */ cmpwi r31, 2 /* 803E07D8 003DC438 38 7D 00 08 */ addi r3, r29, 8 /* 803E07DC 003DC43C 41 82 00 30 */ beq lbl_803E080C /* 803E07E0 003DC440 40 80 00 14 */ bge lbl_803E07F4 /* 803E07E4 003DC444 2C 1F 00 00 */ cmpwi r31, 0 /* 803E07E8 003DC448 41 82 00 18 */ beq lbl_803E0800 /* 803E07EC 003DC44C 40 80 04 A8 */ bge lbl_803E0C94 /* 803E07F0 003DC450 48 00 04 A4 */ b lbl_803E0C94 lbl_803E07F4: /* 803E07F4 003DC454 2C 1F 00 04 */ cmpwi r31, 4 /* 803E07F8 003DC458 40 80 04 9C */ bge lbl_803E0C94 /* 803E07FC 003DC45C 48 00 00 18 */ b lbl_803E0814 lbl_803E0800: /* 803E0800 003DC460 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0804 003DC464 48 00 04 90 */ b lbl_803E0C94 /* 803E0808 003DC468 48 00 04 8C */ b lbl_803E0C94 lbl_803E080C: /* 803E080C 003DC46C 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0810 003DC470 48 00 04 84 */ b lbl_803E0C94 lbl_803E0814: /* 803E0814 003DC474 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0818 003DC478 48 00 04 7C */ b lbl_803E0C94 /* 803E081C 003DC47C 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0820 003DC480 38 7D 00 08 */ addi r3, r29, 8 /* 803E0824 003DC484 41 82 00 30 */ beq lbl_803E0854 /* 803E0828 003DC488 40 80 00 14 */ bge lbl_803E083C /* 803E082C 003DC48C 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0830 003DC490 41 82 00 18 */ beq lbl_803E0848 /* 803E0834 003DC494 40 80 04 60 */ bge lbl_803E0C94 /* 803E0838 003DC498 48 00 04 5C */ b lbl_803E0C94 lbl_803E083C: /* 803E083C 003DC49C 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0840 003DC4A0 40 80 04 54 */ bge lbl_803E0C94 /* 803E0844 003DC4A4 48 00 00 18 */ b lbl_803E085C lbl_803E0848: /* 803E0848 003DC4A8 38 63 00 40 */ addi r3, r3, 0x40 /* 803E084C 003DC4AC 48 00 04 48 */ b lbl_803E0C94 /* 803E0850 003DC4B0 48 00 04 44 */ b lbl_803E0C94 lbl_803E0854: /* 803E0854 003DC4B4 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0858 003DC4B8 48 00 04 3C */ b lbl_803E0C94 lbl_803E085C: /* 803E085C 003DC4BC 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0860 003DC4C0 48 00 04 34 */ b lbl_803E0C94 /* 803E0864 003DC4C4 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0868 003DC4C8 38 7D 00 08 */ addi r3, r29, 8 /* 803E086C 003DC4CC 41 82 00 30 */ beq lbl_803E089C /* 803E0870 003DC4D0 40 80 00 14 */ bge lbl_803E0884 /* 803E0874 003DC4D4 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0878 003DC4D8 41 82 00 18 */ beq lbl_803E0890 /* 803E087C 003DC4DC 40 80 04 18 */ bge lbl_803E0C94 /* 803E0880 003DC4E0 48 00 04 14 */ b lbl_803E0C94 lbl_803E0884: /* 803E0884 003DC4E4 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0888 003DC4E8 40 80 04 0C */ bge lbl_803E0C94 /* 803E088C 003DC4EC 48 00 00 18 */ b lbl_803E08A4 lbl_803E0890: /* 803E0890 003DC4F0 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0894 003DC4F4 48 00 04 00 */ b lbl_803E0C94 /* 803E0898 003DC4F8 48 00 03 FC */ b lbl_803E0C94 lbl_803E089C: /* 803E089C 003DC4FC 38 63 00 20 */ addi r3, r3, 0x20 /* 803E08A0 003DC500 48 00 03 F4 */ b lbl_803E0C94 lbl_803E08A4: /* 803E08A4 003DC504 38 63 00 40 */ addi r3, r3, 0x40 /* 803E08A8 003DC508 48 00 03 EC */ b lbl_803E0C94 /* 803E08AC 003DC50C 2C 1F 00 02 */ cmpwi r31, 2 /* 803E08B0 003DC510 38 7D 00 08 */ addi r3, r29, 8 /* 803E08B4 003DC514 41 82 00 30 */ beq lbl_803E08E4 /* 803E08B8 003DC518 40 80 00 14 */ bge lbl_803E08CC /* 803E08BC 003DC51C 2C 1F 00 00 */ cmpwi r31, 0 /* 803E08C0 003DC520 41 82 00 18 */ beq lbl_803E08D8 /* 803E08C4 003DC524 40 80 03 D0 */ bge lbl_803E0C94 /* 803E08C8 003DC528 48 00 03 CC */ b lbl_803E0C94 lbl_803E08CC: /* 803E08CC 003DC52C 2C 1F 00 04 */ cmpwi r31, 4 /* 803E08D0 003DC530 40 80 03 C4 */ bge lbl_803E0C94 /* 803E08D4 003DC534 48 00 00 18 */ b lbl_803E08EC lbl_803E08D8: /* 803E08D8 003DC538 38 63 00 40 */ addi r3, r3, 0x40 /* 803E08DC 003DC53C 48 00 03 B8 */ b lbl_803E0C94 /* 803E08E0 003DC540 48 00 03 B4 */ b lbl_803E0C94 lbl_803E08E4: /* 803E08E4 003DC544 38 63 00 60 */ addi r3, r3, 0x60 /* 803E08E8 003DC548 48 00 03 AC */ b lbl_803E0C94 lbl_803E08EC: /* 803E08EC 003DC54C 38 63 00 20 */ addi r3, r3, 0x20 /* 803E08F0 003DC550 48 00 03 A4 */ b lbl_803E0C94 /* 803E08F4 003DC554 2C 1F 00 02 */ cmpwi r31, 2 /* 803E08F8 003DC558 38 7D 00 08 */ addi r3, r29, 8 /* 803E08FC 003DC55C 41 82 00 30 */ beq lbl_803E092C /* 803E0900 003DC560 40 80 00 14 */ bge lbl_803E0914 /* 803E0904 003DC564 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0908 003DC568 41 82 00 18 */ beq lbl_803E0920 /* 803E090C 003DC56C 40 80 03 88 */ bge lbl_803E0C94 /* 803E0910 003DC570 48 00 03 84 */ b lbl_803E0C94 lbl_803E0914: /* 803E0914 003DC574 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0918 003DC578 40 80 03 7C */ bge lbl_803E0C94 /* 803E091C 003DC57C 48 00 00 18 */ b lbl_803E0934 lbl_803E0920: /* 803E0920 003DC580 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0924 003DC584 48 00 03 70 */ b lbl_803E0C94 /* 803E0928 003DC588 48 00 03 6C */ b lbl_803E0C94 lbl_803E092C: /* 803E092C 003DC58C 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0930 003DC590 48 00 03 64 */ b lbl_803E0C94 lbl_803E0934: /* 803E0934 003DC594 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0938 003DC598 48 00 03 5C */ b lbl_803E0C94 /* 803E093C 003DC59C 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0940 003DC5A0 38 7D 00 08 */ addi r3, r29, 8 /* 803E0944 003DC5A4 41 82 03 50 */ beq lbl_803E0C94 /* 803E0948 003DC5A8 40 80 00 14 */ bge lbl_803E095C /* 803E094C 003DC5AC 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0950 003DC5B0 41 82 00 18 */ beq lbl_803E0968 /* 803E0954 003DC5B4 40 80 00 1C */ bge lbl_803E0970 /* 803E0958 003DC5B8 48 00 03 3C */ b lbl_803E0C94 lbl_803E095C: /* 803E095C 003DC5BC 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0960 003DC5C0 40 80 03 34 */ bge lbl_803E0C94 /* 803E0964 003DC5C4 48 00 00 18 */ b lbl_803E097C lbl_803E0968: /* 803E0968 003DC5C8 38 63 00 20 */ addi r3, r3, 0x20 /* 803E096C 003DC5CC 48 00 03 28 */ b lbl_803E0C94 lbl_803E0970: /* 803E0970 003DC5D0 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0974 003DC5D4 48 00 03 20 */ b lbl_803E0C94 /* 803E0978 003DC5D8 48 00 03 1C */ b lbl_803E0C94 lbl_803E097C: /* 803E097C 003DC5DC 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0980 003DC5E0 48 00 03 14 */ b lbl_803E0C94 /* 803E0984 003DC5E4 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0988 003DC5E8 38 7D 00 08 */ addi r3, r29, 8 /* 803E098C 003DC5EC 41 82 03 08 */ beq lbl_803E0C94 /* 803E0990 003DC5F0 40 80 00 14 */ bge lbl_803E09A4 /* 803E0994 003DC5F4 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0998 003DC5F8 41 82 00 18 */ beq lbl_803E09B0 /* 803E099C 003DC5FC 40 80 00 1C */ bge lbl_803E09B8 /* 803E09A0 003DC600 48 00 02 F4 */ b lbl_803E0C94 lbl_803E09A4: /* 803E09A4 003DC604 2C 1F 00 04 */ cmpwi r31, 4 /* 803E09A8 003DC608 40 80 02 EC */ bge lbl_803E0C94 /* 803E09AC 003DC60C 48 00 00 18 */ b lbl_803E09C4 lbl_803E09B0: /* 803E09B0 003DC610 38 63 00 20 */ addi r3, r3, 0x20 /* 803E09B4 003DC614 48 00 02 E0 */ b lbl_803E0C94 lbl_803E09B8: /* 803E09B8 003DC618 38 63 00 60 */ addi r3, r3, 0x60 /* 803E09BC 003DC61C 48 00 02 D8 */ b lbl_803E0C94 /* 803E09C0 003DC620 48 00 02 D4 */ b lbl_803E0C94 lbl_803E09C4: /* 803E09C4 003DC624 38 63 00 40 */ addi r3, r3, 0x40 /* 803E09C8 003DC628 48 00 02 CC */ b lbl_803E0C94 /* 803E09CC 003DC62C 2C 1F 00 02 */ cmpwi r31, 2 /* 803E09D0 003DC630 38 7D 00 08 */ addi r3, r29, 8 /* 803E09D4 003DC634 41 82 02 C0 */ beq lbl_803E0C94 /* 803E09D8 003DC638 40 80 00 14 */ bge lbl_803E09EC /* 803E09DC 003DC63C 2C 1F 00 00 */ cmpwi r31, 0 /* 803E09E0 003DC640 41 82 00 18 */ beq lbl_803E09F8 /* 803E09E4 003DC644 40 80 00 1C */ bge lbl_803E0A00 /* 803E09E8 003DC648 48 00 02 AC */ b lbl_803E0C94 lbl_803E09EC: /* 803E09EC 003DC64C 2C 1F 00 04 */ cmpwi r31, 4 /* 803E09F0 003DC650 40 80 02 A4 */ bge lbl_803E0C94 /* 803E09F4 003DC654 48 00 00 18 */ b lbl_803E0A0C lbl_803E09F8: /* 803E09F8 003DC658 38 63 00 40 */ addi r3, r3, 0x40 /* 803E09FC 003DC65C 48 00 02 98 */ b lbl_803E0C94 lbl_803E0A00: /* 803E0A00 003DC660 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0A04 003DC664 48 00 02 90 */ b lbl_803E0C94 /* 803E0A08 003DC668 48 00 02 8C */ b lbl_803E0C94 lbl_803E0A0C: /* 803E0A0C 003DC66C 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0A10 003DC670 48 00 02 84 */ b lbl_803E0C94 /* 803E0A14 003DC674 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0A18 003DC678 38 7D 00 08 */ addi r3, r29, 8 /* 803E0A1C 003DC67C 41 82 02 78 */ beq lbl_803E0C94 /* 803E0A20 003DC680 40 80 00 14 */ bge lbl_803E0A34 /* 803E0A24 003DC684 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0A28 003DC688 41 82 00 18 */ beq lbl_803E0A40 /* 803E0A2C 003DC68C 40 80 00 1C */ bge lbl_803E0A48 /* 803E0A30 003DC690 48 00 02 64 */ b lbl_803E0C94 lbl_803E0A34: /* 803E0A34 003DC694 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0A38 003DC698 40 80 02 5C */ bge lbl_803E0C94 /* 803E0A3C 003DC69C 48 00 00 18 */ b lbl_803E0A54 lbl_803E0A40: /* 803E0A40 003DC6A0 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0A44 003DC6A4 48 00 02 50 */ b lbl_803E0C94 lbl_803E0A48: /* 803E0A48 003DC6A8 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0A4C 003DC6AC 48 00 02 48 */ b lbl_803E0C94 /* 803E0A50 003DC6B0 48 00 02 44 */ b lbl_803E0C94 lbl_803E0A54: /* 803E0A54 003DC6B4 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0A58 003DC6B8 48 00 02 3C */ b lbl_803E0C94 /* 803E0A5C 003DC6BC 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0A60 003DC6C0 38 7D 00 08 */ addi r3, r29, 8 /* 803E0A64 003DC6C4 41 82 02 30 */ beq lbl_803E0C94 /* 803E0A68 003DC6C8 40 80 00 14 */ bge lbl_803E0A7C /* 803E0A6C 003DC6CC 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0A70 003DC6D0 41 82 00 18 */ beq lbl_803E0A88 /* 803E0A74 003DC6D4 40 80 00 1C */ bge lbl_803E0A90 /* 803E0A78 003DC6D8 48 00 02 1C */ b lbl_803E0C94 lbl_803E0A7C: /* 803E0A7C 003DC6DC 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0A80 003DC6E0 40 80 02 14 */ bge lbl_803E0C94 /* 803E0A84 003DC6E4 48 00 00 18 */ b lbl_803E0A9C lbl_803E0A88: /* 803E0A88 003DC6E8 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0A8C 003DC6EC 48 00 02 08 */ b lbl_803E0C94 lbl_803E0A90: /* 803E0A90 003DC6F0 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0A94 003DC6F4 48 00 02 00 */ b lbl_803E0C94 /* 803E0A98 003DC6F8 48 00 01 FC */ b lbl_803E0C94 lbl_803E0A9C: /* 803E0A9C 003DC6FC 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0AA0 003DC700 48 00 01 F4 */ b lbl_803E0C94 /* 803E0AA4 003DC704 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0AA8 003DC708 38 7D 00 08 */ addi r3, r29, 8 /* 803E0AAC 003DC70C 41 82 01 E8 */ beq lbl_803E0C94 /* 803E0AB0 003DC710 40 80 00 14 */ bge lbl_803E0AC4 /* 803E0AB4 003DC714 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0AB8 003DC718 41 82 00 18 */ beq lbl_803E0AD0 /* 803E0ABC 003DC71C 40 80 00 1C */ bge lbl_803E0AD8 /* 803E0AC0 003DC720 48 00 01 D4 */ b lbl_803E0C94 lbl_803E0AC4: /* 803E0AC4 003DC724 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0AC8 003DC728 40 80 01 CC */ bge lbl_803E0C94 /* 803E0ACC 003DC72C 48 00 00 18 */ b lbl_803E0AE4 lbl_803E0AD0: /* 803E0AD0 003DC730 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0AD4 003DC734 48 00 01 C0 */ b lbl_803E0C94 lbl_803E0AD8: /* 803E0AD8 003DC738 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0ADC 003DC73C 48 00 01 B8 */ b lbl_803E0C94 /* 803E0AE0 003DC740 48 00 01 B4 */ b lbl_803E0C94 lbl_803E0AE4: /* 803E0AE4 003DC744 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0AE8 003DC748 48 00 01 AC */ b lbl_803E0C94 /* 803E0AEC 003DC74C 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0AF0 003DC750 38 7D 00 08 */ addi r3, r29, 8 /* 803E0AF4 003DC754 41 82 00 34 */ beq lbl_803E0B28 /* 803E0AF8 003DC758 40 80 00 14 */ bge lbl_803E0B0C /* 803E0AFC 003DC75C 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0B00 003DC760 41 82 00 18 */ beq lbl_803E0B18 /* 803E0B04 003DC764 40 80 00 1C */ bge lbl_803E0B20 /* 803E0B08 003DC768 48 00 01 8C */ b lbl_803E0C94 lbl_803E0B0C: /* 803E0B0C 003DC76C 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0B10 003DC770 40 80 01 84 */ bge lbl_803E0C94 /* 803E0B14 003DC774 48 00 01 80 */ b lbl_803E0C94 lbl_803E0B18: /* 803E0B18 003DC778 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0B1C 003DC77C 48 00 01 78 */ b lbl_803E0C94 lbl_803E0B20: /* 803E0B20 003DC780 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0B24 003DC784 48 00 01 70 */ b lbl_803E0C94 lbl_803E0B28: /* 803E0B28 003DC788 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0B2C 003DC78C 48 00 01 68 */ b lbl_803E0C94 /* 803E0B30 003DC790 48 00 01 64 */ b lbl_803E0C94 /* 803E0B34 003DC794 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0B38 003DC798 38 7D 00 08 */ addi r3, r29, 8 /* 803E0B3C 003DC79C 41 82 00 34 */ beq lbl_803E0B70 /* 803E0B40 003DC7A0 40 80 00 14 */ bge lbl_803E0B54 /* 803E0B44 003DC7A4 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0B48 003DC7A8 41 82 00 18 */ beq lbl_803E0B60 /* 803E0B4C 003DC7AC 40 80 00 1C */ bge lbl_803E0B68 /* 803E0B50 003DC7B0 48 00 01 44 */ b lbl_803E0C94 lbl_803E0B54: /* 803E0B54 003DC7B4 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0B58 003DC7B8 40 80 01 3C */ bge lbl_803E0C94 /* 803E0B5C 003DC7BC 48 00 01 38 */ b lbl_803E0C94 lbl_803E0B60: /* 803E0B60 003DC7C0 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0B64 003DC7C4 48 00 01 30 */ b lbl_803E0C94 lbl_803E0B68: /* 803E0B68 003DC7C8 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0B6C 003DC7CC 48 00 01 28 */ b lbl_803E0C94 lbl_803E0B70: /* 803E0B70 003DC7D0 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0B74 003DC7D4 48 00 01 20 */ b lbl_803E0C94 /* 803E0B78 003DC7D8 48 00 01 1C */ b lbl_803E0C94 /* 803E0B7C 003DC7DC 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0B80 003DC7E0 38 7D 00 08 */ addi r3, r29, 8 /* 803E0B84 003DC7E4 41 82 00 34 */ beq lbl_803E0BB8 /* 803E0B88 003DC7E8 40 80 00 14 */ bge lbl_803E0B9C /* 803E0B8C 003DC7EC 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0B90 003DC7F0 41 82 00 18 */ beq lbl_803E0BA8 /* 803E0B94 003DC7F4 40 80 00 1C */ bge lbl_803E0BB0 /* 803E0B98 003DC7F8 48 00 00 FC */ b lbl_803E0C94 lbl_803E0B9C: /* 803E0B9C 003DC7FC 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0BA0 003DC800 40 80 00 F4 */ bge lbl_803E0C94 /* 803E0BA4 003DC804 48 00 00 F0 */ b lbl_803E0C94 lbl_803E0BA8: /* 803E0BA8 003DC808 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0BAC 003DC80C 48 00 00 E8 */ b lbl_803E0C94 lbl_803E0BB0: /* 803E0BB0 003DC810 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0BB4 003DC814 48 00 00 E0 */ b lbl_803E0C94 lbl_803E0BB8: /* 803E0BB8 003DC818 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0BBC 003DC81C 48 00 00 D8 */ b lbl_803E0C94 /* 803E0BC0 003DC820 48 00 00 D4 */ b lbl_803E0C94 /* 803E0BC4 003DC824 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0BC8 003DC828 38 7D 00 08 */ addi r3, r29, 8 /* 803E0BCC 003DC82C 41 82 00 34 */ beq lbl_803E0C00 /* 803E0BD0 003DC830 40 80 00 14 */ bge lbl_803E0BE4 /* 803E0BD4 003DC834 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0BD8 003DC838 41 82 00 18 */ beq lbl_803E0BF0 /* 803E0BDC 003DC83C 40 80 00 1C */ bge lbl_803E0BF8 /* 803E0BE0 003DC840 48 00 00 B4 */ b lbl_803E0C94 lbl_803E0BE4: /* 803E0BE4 003DC844 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0BE8 003DC848 40 80 00 AC */ bge lbl_803E0C94 /* 803E0BEC 003DC84C 48 00 00 A8 */ b lbl_803E0C94 lbl_803E0BF0: /* 803E0BF0 003DC850 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0BF4 003DC854 48 00 00 A0 */ b lbl_803E0C94 lbl_803E0BF8: /* 803E0BF8 003DC858 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0BFC 003DC85C 48 00 00 98 */ b lbl_803E0C94 lbl_803E0C00: /* 803E0C00 003DC860 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0C04 003DC864 48 00 00 90 */ b lbl_803E0C94 /* 803E0C08 003DC868 48 00 00 8C */ b lbl_803E0C94 /* 803E0C0C 003DC86C 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0C10 003DC870 38 7D 00 08 */ addi r3, r29, 8 /* 803E0C14 003DC874 41 82 00 34 */ beq lbl_803E0C48 /* 803E0C18 003DC878 40 80 00 14 */ bge lbl_803E0C2C /* 803E0C1C 003DC87C 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0C20 003DC880 41 82 00 18 */ beq lbl_803E0C38 /* 803E0C24 003DC884 40 80 00 1C */ bge lbl_803E0C40 /* 803E0C28 003DC888 48 00 00 6C */ b lbl_803E0C94 lbl_803E0C2C: /* 803E0C2C 003DC88C 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0C30 003DC890 40 80 00 64 */ bge lbl_803E0C94 /* 803E0C34 003DC894 48 00 00 60 */ b lbl_803E0C94 lbl_803E0C38: /* 803E0C38 003DC898 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0C3C 003DC89C 48 00 00 58 */ b lbl_803E0C94 lbl_803E0C40: /* 803E0C40 003DC8A0 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0C44 003DC8A4 48 00 00 50 */ b lbl_803E0C94 lbl_803E0C48: /* 803E0C48 003DC8A8 38 63 00 20 */ addi r3, r3, 0x20 /* 803E0C4C 003DC8AC 48 00 00 48 */ b lbl_803E0C94 /* 803E0C50 003DC8B0 48 00 00 44 */ b lbl_803E0C94 /* 803E0C54 003DC8B4 2C 1F 00 02 */ cmpwi r31, 2 /* 803E0C58 003DC8B8 38 7D 00 08 */ addi r3, r29, 8 /* 803E0C5C 003DC8BC 41 82 00 34 */ beq lbl_803E0C90 /* 803E0C60 003DC8C0 40 80 00 14 */ bge lbl_803E0C74 /* 803E0C64 003DC8C4 2C 1F 00 00 */ cmpwi r31, 0 /* 803E0C68 003DC8C8 41 82 00 18 */ beq lbl_803E0C80 /* 803E0C6C 003DC8CC 40 80 00 1C */ bge lbl_803E0C88 /* 803E0C70 003DC8D0 48 00 00 24 */ b lbl_803E0C94 lbl_803E0C74: /* 803E0C74 003DC8D4 2C 1F 00 04 */ cmpwi r31, 4 /* 803E0C78 003DC8D8 40 80 00 1C */ bge lbl_803E0C94 /* 803E0C7C 003DC8DC 48 00 00 18 */ b lbl_803E0C94 lbl_803E0C80: /* 803E0C80 003DC8E0 38 63 00 60 */ addi r3, r3, 0x60 /* 803E0C84 003DC8E4 48 00 00 10 */ b lbl_803E0C94 lbl_803E0C88: /* 803E0C88 003DC8E8 38 63 00 40 */ addi r3, r3, 0x40 /* 803E0C8C 003DC8EC 48 00 00 08 */ b lbl_803E0C94 lbl_803E0C90: /* 803E0C90 003DC8F0 38 63 00 20 */ addi r3, r3, 0x20 lbl_803E0C94: /* 803E0C94 003DC8F4 39 61 00 20 */ addi r11, r1, 0x20 /* 803E0C98 003DC8F8 4B DE 64 E5 */ bl _restgpr_29 /* 803E0C9C 003DC8FC 80 01 00 24 */ lwz r0, 0x24(r1) /* 803E0CA0 003DC900 7C 08 03 A6 */ mtlr r0 /* 803E0CA4 003DC904 38 21 00 20 */ addi r1, r1, 0x20 /* 803E0CA8 003DC908 4E 80 00 20 */ blr .global func_803E0CAC func_803E0CAC: /* 803E0CAC 003DC90C 94 21 FF 30 */ stwu r1, -0xd0(r1) /* 803E0CB0 003DC910 7C 08 02 A6 */ mflr r0 /* 803E0CB4 003DC914 90 01 00 D4 */ stw r0, 0xd4(r1) /* 803E0CB8 003DC918 39 61 00 D0 */ addi r11, r1, 0xd0 /* 803E0CBC 003DC91C 4B DE 64 61 */ bl _savegpr_24 /* 803E0CC0 003DC920 7C 7B 1B 78 */ mr r27, r3 /* 803E0CC4 003DC924 80 63 00 00 */ lwz r3, 0(r3) /* 803E0CC8 003DC928 7C 9F 23 78 */ mr r31, r4 /* 803E0CCC 003DC92C 48 00 0D 45 */ bl func_803E1A10 /* 803E0CD0 003DC930 90 7F 00 00 */ stw r3, 0(r31) /* 803E0CD4 003DC934 A0 7B 00 04 */ lhz r3, 4(r27) /* 803E0CD8 003DC938 48 00 0D 25 */ bl func_803E19FC /* 803E0CDC 003DC93C A0 1F 00 04 */ lhz r0, 4(r31) /* 803E0CE0 003DC940 50 60 5C A4 */ rlwimi r0, r3, 0xb, 0x12, 0x12 /* 803E0CE4 003DC944 50 60 6C 62 */ rlwimi r0, r3, 0xd, 0x11, 0x11 /* 803E0CE8 003DC948 B0 61 00 2C */ sth r3, 0x2c(r1) /* 803E0CEC 003DC94C 50 60 7C 20 */ rlwimi r0, r3, 0xf, 0x10, 0x10 /* 803E0CF0 003DC950 B0 1F 00 04 */ sth r0, 4(r31) /* 803E0CF4 003DC954 A0 7B 00 06 */ lhz r3, 6(r27) /* 803E0CF8 003DC958 48 00 0D 05 */ bl func_803E19FC /* 803E0CFC 003DC95C B0 7F 00 06 */ sth r3, 6(r31) /* 803E0D00 003DC960 80 7B 00 00 */ lwz r3, 0(r27) /* 803E0D04 003DC964 48 00 0D 0D */ bl func_803E1A10 /* 803E0D08 003DC968 7C 64 1B 78 */ mr r4, r3 /* 803E0D0C 003DC96C 7F 63 DB 78 */ mr r3, r27 /* 803E0D10 003DC970 38 A0 00 00 */ li r5, 0 /* 803E0D14 003DC974 4B FF F8 75 */ bl func_803E0588 /* 803E0D18 003DC978 7C 78 1B 78 */ mr r24, r3 /* 803E0D1C 003DC97C 80 7B 00 00 */ lwz r3, 0(r27) /* 803E0D20 003DC980 48 00 0C F1 */ bl func_803E1A10 /* 803E0D24 003DC984 7C 64 1B 78 */ mr r4, r3 /* 803E0D28 003DC988 7F 63 DB 78 */ mr r3, r27 /* 803E0D2C 003DC98C 38 A0 00 01 */ li r5, 1 /* 803E0D30 003DC990 4B FF F8 59 */ bl func_803E0588 /* 803E0D34 003DC994 7C 79 1B 78 */ mr r25, r3 /* 803E0D38 003DC998 80 7B 00 00 */ lwz r3, 0(r27) /* 803E0D3C 003DC99C 48 00 0C D5 */ bl func_803E1A10 /* 803E0D40 003DC9A0 7C 64 1B 78 */ mr r4, r3 /* 803E0D44 003DC9A4 7F 63 DB 78 */ mr r3, r27 /* 803E0D48 003DC9A8 38 A0 00 02 */ li r5, 2 /* 803E0D4C 003DC9AC 4B FF F8 3D */ bl func_803E0588 /* 803E0D50 003DC9B0 7C 7A 1B 78 */ mr r26, r3 /* 803E0D54 003DC9B4 80 7B 00 00 */ lwz r3, 0(r27) /* 803E0D58 003DC9B8 48 00 0C B9 */ bl func_803E1A10 /* 803E0D5C 003DC9BC 7C 64 1B 78 */ mr r4, r3 /* 803E0D60 003DC9C0 7F 63 DB 78 */ mr r3, r27 /* 803E0D64 003DC9C4 38 A0 00 03 */ li r5, 3 /* 803E0D68 003DC9C8 4B FF F8 21 */ bl func_803E0588 /* 803E0D6C 003DC9CC 80 9F 00 00 */ lwz r4, 0(r31) /* 803E0D70 003DC9D0 7C 7B 1B 78 */ mr r27, r3 /* 803E0D74 003DC9D4 7F E3 FB 78 */ mr r3, r31 /* 803E0D78 003DC9D8 38 A0 00 00 */ li r5, 0 /* 803E0D7C 003DC9DC 4B FF C4 3D */ bl func_803DD1B8 /* 803E0D80 003DC9E0 80 9F 00 00 */ lwz r4, 0(r31) /* 803E0D84 003DC9E4 7C 7C 1B 78 */ mr r28, r3 /* 803E0D88 003DC9E8 7F E3 FB 78 */ mr r3, r31 /* 803E0D8C 003DC9EC 38 A0 00 01 */ li r5, 1 /* 803E0D90 003DC9F0 4B FF C4 29 */ bl func_803DD1B8 /* 803E0D94 003DC9F4 80 9F 00 00 */ lwz r4, 0(r31) /* 803E0D98 003DC9F8 7C 7D 1B 78 */ mr r29, r3 /* 803E0D9C 003DC9FC 7F E3 FB 78 */ mr r3, r31 /* 803E0DA0 003DCA00 38 A0 00 02 */ li r5, 2 /* 803E0DA4 003DCA04 4B FF C4 15 */ bl func_803DD1B8 /* 803E0DA8 003DCA08 80 9F 00 00 */ lwz r4, 0(r31) /* 803E0DAC 003DCA0C 7C 7E 1B 78 */ mr r30, r3 /* 803E0DB0 003DCA10 7F E3 FB 78 */ mr r3, r31 /* 803E0DB4 003DCA14 38 A0 00 03 */ li r5, 3 /* 803E0DB8 003DCA18 4B FF C4 01 */ bl func_803DD1B8 /* 803E0DBC 003DCA1C 7C 7F 1B 78 */ mr r31, r3 /* 803E0DC0 003DCA20 A0 78 00 00 */ lhz r3, 0(r24) /* 803E0DC4 003DCA24 48 00 0C 39 */ bl func_803E19FC /* 803E0DC8 003DCA28 B0 7C 00 00 */ sth r3, 0(r28) /* 803E0DCC 003DCA2C A0 78 00 02 */ lhz r3, 2(r24) /* 803E0DD0 003DCA30 48 00 0C 2D */ bl func_803E19FC /* 803E0DD4 003DCA34 B0 7C 00 02 */ sth r3, 2(r28) /* 803E0DD8 003DCA38 80 78 00 04 */ lwz r3, 4(r24) /* 803E0DDC 003DCA3C 48 00 0C 35 */ bl func_803E1A10 /* 803E0DE0 003DCA40 90 7C 00 04 */ stw r3, 4(r28) /* 803E0DE4 003DCA44 80 78 00 08 */ lwz r3, 8(r24) /* 803E0DE8 003DCA48 48 00 0C 29 */ bl func_803E1A10 /* 803E0DEC 003DCA4C 90 7C 00 08 */ stw r3, 8(r28) /* 803E0DF0 003DCA50 88 18 00 0C */ lbz r0, 0xc(r24) /* 803E0DF4 003DCA54 98 1C 00 0C */ stb r0, 0xc(r28) /* 803E0DF8 003DCA58 88 18 00 0D */ lbz r0, 0xd(r24) /* 803E0DFC 003DCA5C 98 1C 00 0D */ stb r0, 0xd(r28) /* 803E0E00 003DCA60 88 18 00 0E */ lbz r0, 0xe(r24) /* 803E0E04 003DCA64 98 1C 00 0E */ stb r0, 0xe(r28) /* 803E0E08 003DCA68 88 18 00 0F */ lbz r0, 0xf(r24) /* 803E0E0C 003DCA6C 98 1C 00 0F */ stb r0, 0xf(r28) /* 803E0E10 003DCA70 88 18 00 10 */ lbz r0, 0x10(r24) /* 803E0E14 003DCA74 98 1C 00 10 */ stb r0, 0x10(r28) /* 803E0E18 003DCA78 88 18 00 11 */ lbz r0, 0x11(r24) /* 803E0E1C 003DCA7C 98 1C 00 11 */ stb r0, 0x11(r28) /* 803E0E20 003DCA80 88 18 00 12 */ lbz r0, 0x12(r24) /* 803E0E24 003DCA84 98 1C 00 12 */ stb r0, 0x12(r28) /* 803E0E28 003DCA88 88 18 00 13 */ lbz r0, 0x13(r24) /* 803E0E2C 003DCA8C 98 1C 00 13 */ stb r0, 0x13(r28) /* 803E0E30 003DCA90 88 18 00 14 */ lbz r0, 0x14(r24) /* 803E0E34 003DCA94 98 1C 00 14 */ stb r0, 0x14(r28) /* 803E0E38 003DCA98 88 18 00 15 */ lbz r0, 0x15(r24) /* 803E0E3C 003DCA9C 98 1C 00 15 */ stb r0, 0x15(r28) /* 803E0E40 003DCAA0 88 18 00 16 */ lbz r0, 0x16(r24) /* 803E0E44 003DCAA4 98 1C 00 16 */ stb r0, 0x16(r28) /* 803E0E48 003DCAA8 88 18 00 17 */ lbz r0, 0x17(r24) /* 803E0E4C 003DCAAC 98 1C 00 17 */ stb r0, 0x17(r28) /* 803E0E50 003DCAB0 88 18 00 18 */ lbz r0, 0x18(r24) /* 803E0E54 003DCAB4 98 1C 00 18 */ stb r0, 0x18(r28) /* 803E0E58 003DCAB8 88 18 00 19 */ lbz r0, 0x19(r24) /* 803E0E5C 003DCABC 98 1C 00 19 */ stb r0, 0x19(r28) /* 803E0E60 003DCAC0 88 18 00 1A */ lbz r0, 0x1a(r24) /* 803E0E64 003DCAC4 98 1C 00 1A */ stb r0, 0x1a(r28) /* 803E0E68 003DCAC8 88 18 00 1B */ lbz r0, 0x1b(r24) /* 803E0E6C 003DCACC 98 1C 00 1B */ stb r0, 0x1b(r28) /* 803E0E70 003DCAD0 80 78 00 1C */ lwz r3, 0x1c(r24) /* 803E0E74 003DCAD4 48 00 0B 9D */ bl func_803E1A10 /* 803E0E78 003DCAD8 90 7C 00 1C */ stw r3, 0x1c(r28) /* 803E0E7C 003DCADC 3B 80 00 00 */ li r28, 0 /* 803E0E80 003DCAE0 3B 00 00 00 */ li r24, 0 lbl_803E0E84: /* 803E0E84 003DCAE4 7C 79 C2 2E */ lhzx r3, r25, r24 /* 803E0E88 003DCAE8 48 00 0B 75 */ bl func_803E19FC /* 803E0E8C 003DCAEC 7C 7D C3 2E */ sthx r3, r29, r24 /* 803E0E90 003DCAF0 7C 79 E2 14 */ add r3, r25, r28 /* 803E0E94 003DCAF4 7C 9D E2 14 */ add r4, r29, r28 /* 803E0E98 003DCAF8 3B 9C 00 01 */ addi r28, r28, 1 /* 803E0E9C 003DCAFC 88 03 00 08 */ lbz r0, 8(r3) /* 803E0EA0 003DCB00 2C 1C 00 04 */ cmpwi r28, 4 /* 803E0EA4 003DCB04 3B 18 00 02 */ addi r24, r24, 2 /* 803E0EA8 003DCB08 98 04 00 08 */ stb r0, 8(r4) /* 803E0EAC 003DCB0C 88 03 00 0C */ lbz r0, 0xc(r3) /* 803E0EB0 003DCB10 98 04 00 0C */ stb r0, 0xc(r4) /* 803E0EB4 003DCB14 41 80 FF D0 */ blt lbl_803E0E84 /* 803E0EB8 003DCB18 80 79 00 10 */ lwz r3, 0x10(r25) /* 803E0EBC 003DCB1C 48 00 0B 55 */ bl func_803E1A10 /* 803E0EC0 003DCB20 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803E0EC4 003DCB24 50 60 0F FE */ rlwimi r0, r3, 1, 0x1f, 0x1f /* 803E0EC8 003DCB28 50 60 1F BC */ rlwimi r0, r3, 3, 0x1e, 0x1e /* 803E0ECC 003DCB2C 90 61 00 18 */ stw r3, 0x18(r1) /* 803E0ED0 003DCB30 50 60 4E 7A */ rlwimi r0, r3, 9, 0x19, 0x1d /* 803E0ED4 003DCB34 50 60 9D 30 */ rlwimi r0, r3, 0x13, 0x14, 0x18 /* 803E0ED8 003DCB38 50 60 EB E6 */ rlwimi r0, r3, 0x1d, 0xf, 0x13 /* 803E0EDC 003DCB3C 50 60 3A 9C */ rlwimi r0, r3, 7, 0xa, 0xe /* 803E0EE0 003DCB40 50 60 89 52 */ rlwimi r0, r3, 0x11, 5, 9 /* 803E0EE4 003DCB44 50 60 D8 08 */ rlwimi r0, r3, 0x1b, 0, 4 /* 803E0EE8 003DCB48 90 1D 00 10 */ stw r0, 0x10(r29) /* 803E0EEC 003DCB4C 80 79 00 14 */ lwz r3, 0x14(r25) /* 803E0EF0 003DCB50 48 00 0B 21 */ bl func_803E1A10 /* 803E0EF4 003DCB54 90 7D 00 14 */ stw r3, 0x14(r29) /* 803E0EF8 003DCB58 88 19 00 18 */ lbz r0, 0x18(r25) /* 803E0EFC 003DCB5C 88 7D 00 18 */ lbz r3, 0x18(r29) /* 803E0F00 003DCB60 50 03 EE FE */ rlwimi r3, r0, 0x1d, 0x1b, 0x1f /* 803E0F04 003DCB64 98 7D 00 18 */ stb r3, 0x18(r29) /* 803E0F08 003DCB68 88 19 00 18 */ lbz r0, 0x18(r25) /* 803E0F0C 003DCB6C 50 03 26 74 */ rlwimi r3, r0, 4, 0x19, 0x1a /* 803E0F10 003DCB70 98 7D 00 18 */ stb r3, 0x18(r29) /* 803E0F14 003DCB74 88 19 00 18 */ lbz r0, 0x18(r25) /* 803E0F18 003DCB78 50 03 3E 30 */ rlwimi r3, r0, 7, 0x18, 0x18 /* 803E0F1C 003DCB7C 98 7D 00 18 */ stb r3, 0x18(r29) /* 803E0F20 003DCB80 88 19 00 19 */ lbz r0, 0x19(r25) /* 803E0F24 003DCB84 98 1D 00 19 */ stb r0, 0x19(r29) /* 803E0F28 003DCB88 A0 79 00 1A */ lhz r3, 0x1a(r25) /* 803E0F2C 003DCB8C 48 00 0A D1 */ bl func_803E19FC /* 803E0F30 003DCB90 B0 7D 00 1A */ sth r3, 0x1a(r29) /* 803E0F34 003DCB94 80 19 00 1C */ lwz r0, 0x1c(r25) /* 803E0F38 003DCB98 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 803E0F3C 003DCB9C 48 00 0A C1 */ bl func_803E19FC /* 803E0F40 003DCBA0 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803E0F44 003DCBA4 3B 20 00 00 */ li r25, 0 /* 803E0F48 003DCBA8 90 1D 00 1C */ stw r0, 0x1c(r29) /* 803E0F4C 003DCBAC 3B 00 00 00 */ li r24, 0 lbl_803E0F50: /* 803E0F50 003DCBB0 7C 7A C2 2E */ lhzx r3, r26, r24 /* 803E0F54 003DCBB4 48 00 0A A9 */ bl func_803E19FC /* 803E0F58 003DCBB8 3B 39 00 01 */ addi r25, r25, 1 /* 803E0F5C 003DCBBC 7C 7E C3 2E */ sthx r3, r30, r24 /* 803E0F60 003DCBC0 2C 19 00 0B */ cmpwi r25, 0xb /* 803E0F64 003DCBC4 3B 18 00 02 */ addi r24, r24, 2 /* 803E0F68 003DCBC8 41 80 FF E8 */ blt lbl_803E0F50 /* 803E0F6C 003DCBCC 88 1A 00 16 */ lbz r0, 0x16(r26) /* 803E0F70 003DCBD0 98 1E 00 16 */ stb r0, 0x16(r30) /* 803E0F74 003DCBD4 88 1A 00 17 */ lbz r0, 0x17(r26) /* 803E0F78 003DCBD8 98 1E 00 17 */ stb r0, 0x17(r30) /* 803E0F7C 003DCBDC 80 7A 00 18 */ lwz r3, 0x18(r26) /* 803E0F80 003DCBE0 80 9A 00 1C */ lwz r4, 0x1c(r26) /* 803E0F84 003DCBE4 48 00 0A A5 */ bl func_803E1A28 /* 803E0F88 003DCBE8 90 9E 00 1C */ stw r4, 0x1c(r30) /* 803E0F8C 003DCBEC 3B 20 00 00 */ li r25, 0 /* 803E0F90 003DCBF0 3B 00 00 00 */ li r24, 0 /* 803E0F94 003DCBF4 90 7E 00 18 */ stw r3, 0x18(r30) lbl_803E0F98: /* 803E0F98 003DCBF8 7C 7B C2 2E */ lhzx r3, r27, r24 /* 803E0F9C 003DCBFC 48 00 0A 61 */ bl func_803E19FC /* 803E0FA0 003DCC00 3B 39 00 01 */ addi r25, r25, 1 /* 803E0FA4 003DCC04 7C 7F C3 2E */ sthx r3, r31, r24 /* 803E0FA8 003DCC08 2C 19 00 08 */ cmpwi r25, 8 /* 803E0FAC 003DCC0C 3B 18 00 02 */ addi r24, r24, 2 /* 803E0FB0 003DCC10 41 80 FF E8 */ blt lbl_803E0F98 /* 803E0FB4 003DCC14 88 1B 00 10 */ lbz r0, 0x10(r27) /* 803E0FB8 003DCC18 98 1F 00 10 */ stb r0, 0x10(r31) /* 803E0FBC 003DCC1C 88 1B 00 11 */ lbz r0, 0x11(r27) /* 803E0FC0 003DCC20 98 1F 00 11 */ stb r0, 0x11(r31) /* 803E0FC4 003DCC24 88 1B 00 12 */ lbz r0, 0x12(r27) /* 803E0FC8 003DCC28 98 1F 00 12 */ stb r0, 0x12(r31) /* 803E0FCC 003DCC2C 88 1B 00 13 */ lbz r0, 0x13(r27) /* 803E0FD0 003DCC30 98 1F 00 13 */ stb r0, 0x13(r31) /* 803E0FD4 003DCC34 88 1B 00 14 */ lbz r0, 0x14(r27) /* 803E0FD8 003DCC38 98 1F 00 14 */ stb r0, 0x14(r31) /* 803E0FDC 003DCC3C 88 1B 00 15 */ lbz r0, 0x15(r27) /* 803E0FE0 003DCC40 98 1F 00 15 */ stb r0, 0x15(r31) /* 803E0FE4 003DCC44 A0 7B 00 16 */ lhz r3, 0x16(r27) /* 803E0FE8 003DCC48 48 00 0A 15 */ bl func_803E19FC /* 803E0FEC 003DCC4C B0 7F 00 16 */ sth r3, 0x16(r31) /* 803E0FF0 003DCC50 A0 7B 00 18 */ lhz r3, 0x18(r27) /* 803E0FF4 003DCC54 48 00 0A 09 */ bl func_803E19FC /* 803E0FF8 003DCC58 B0 7F 00 18 */ sth r3, 0x18(r31) /* 803E0FFC 003DCC5C 88 1B 00 1A */ lbz r0, 0x1a(r27) /* 803E1000 003DCC60 98 1F 00 1A */ stb r0, 0x1a(r31) /* 803E1004 003DCC64 88 1B 00 1B */ lbz r0, 0x1b(r27) /* 803E1008 003DCC68 98 1F 00 1B */ stb r0, 0x1b(r31) /* 803E100C 003DCC6C 88 1B 00 1C */ lbz r0, 0x1c(r27) /* 803E1010 003DCC70 88 7F 00 1C */ lbz r3, 0x1c(r31) /* 803E1014 003DCC74 50 03 CF FE */ rlwimi r3, r0, 0x19, 0x1f, 0x1f /* 803E1018 003DCC78 98 7F 00 1C */ stb r3, 0x1c(r31) /* 803E101C 003DCC7C 88 1B 00 1C */ lbz r0, 0x1c(r27) /* 803E1020 003DCC80 50 03 0E 3C */ rlwimi r3, r0, 1, 0x18, 0x1e /* 803E1024 003DCC84 98 7F 00 1C */ stb r3, 0x1c(r31) /* 803E1028 003DCC88 88 1B 00 1D */ lbz r0, 0x1d(r27) /* 803E102C 003DCC8C 98 1F 00 1D */ stb r0, 0x1d(r31) /* 803E1030 003DCC90 A0 7B 00 1E */ lhz r3, 0x1e(r27) /* 803E1034 003DCC94 48 00 09 C9 */ bl func_803E19FC /* 803E1038 003DCC98 B0 7F 00 1E */ sth r3, 0x1e(r31) /* 803E103C 003DCC9C 39 61 00 D0 */ addi r11, r1, 0xd0 /* 803E1040 003DCCA0 4B DE 61 29 */ bl _restgpr_24 /* 803E1044 003DCCA4 80 01 00 D4 */ lwz r0, 0xd4(r1) /* 803E1048 003DCCA8 7C 08 03 A6 */ mtlr r0 /* 803E104C 003DCCAC 38 21 00 D0 */ addi r1, r1, 0xd0 /* 803E1050 003DCCB0 4E 80 00 20 */ blr .global func_803E1054 func_803E1054: /* 803E1054 003DCCB4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803E1058 003DCCB8 7C 08 02 A6 */ mflr r0 /* 803E105C 003DCCBC 90 01 00 14 */ stw r0, 0x14(r1) /* 803E1060 003DCCC0 93 E1 00 0C */ stw r31, 0xc(r1) /* 803E1064 003DCCC4 7C 9F 23 78 */ mr r31, r4 /* 803E1068 003DCCC8 93 C1 00 08 */ stw r30, 8(r1) /* 803E106C 003DCCCC 7C 7E 1B 78 */ mr r30, r3 /* 803E1070 003DCCD0 4B FF FC 3D */ bl func_803E0CAC /* 803E1074 003DCCD4 80 7E 00 88 */ lwz r3, 0x88(r30) /* 803E1078 003DCCD8 48 00 09 99 */ bl func_803E1A10 /* 803E107C 003DCCDC 90 7F 00 88 */ stw r3, 0x88(r31) /* 803E1080 003DCCE0 88 1E 00 8C */ lbz r0, 0x8c(r30) /* 803E1084 003DCCE4 98 1F 00 8C */ stb r0, 0x8c(r31) /* 803E1088 003DCCE8 88 1E 00 8D */ lbz r0, 0x8d(r30) /* 803E108C 003DCCEC 98 1F 00 8D */ stb r0, 0x8d(r31) /* 803E1090 003DCCF0 A0 7E 00 8E */ lhz r3, 0x8e(r30) /* 803E1094 003DCCF4 48 00 09 69 */ bl func_803E19FC /* 803E1098 003DCCF8 B0 7F 00 8E */ sth r3, 0x8e(r31) /* 803E109C 003DCCFC A0 7E 00 90 */ lhz r3, 0x90(r30) /* 803E10A0 003DCD00 48 00 09 5D */ bl func_803E19FC /* 803E10A4 003DCD04 B0 7F 00 90 */ sth r3, 0x90(r31) /* 803E10A8 003DCD08 A0 7E 00 92 */ lhz r3, 0x92(r30) /* 803E10AC 003DCD0C 48 00 09 51 */ bl func_803E19FC /* 803E10B0 003DCD10 B0 7F 00 92 */ sth r3, 0x92(r31) /* 803E10B4 003DCD14 A0 7E 00 94 */ lhz r3, 0x94(r30) /* 803E10B8 003DCD18 48 00 09 45 */ bl func_803E19FC /* 803E10BC 003DCD1C B0 7F 00 94 */ sth r3, 0x94(r31) /* 803E10C0 003DCD20 A0 7E 00 96 */ lhz r3, 0x96(r30) /* 803E10C4 003DCD24 48 00 09 39 */ bl func_803E19FC /* 803E10C8 003DCD28 B0 7F 00 96 */ sth r3, 0x96(r31) /* 803E10CC 003DCD2C A0 7E 00 98 */ lhz r3, 0x98(r30) /* 803E10D0 003DCD30 48 00 09 2D */ bl func_803E19FC /* 803E10D4 003DCD34 B0 7F 00 98 */ sth r3, 0x98(r31) /* 803E10D8 003DCD38 A0 7E 00 9A */ lhz r3, 0x9a(r30) /* 803E10DC 003DCD3C 48 00 09 21 */ bl func_803E19FC /* 803E10E0 003DCD40 B0 7F 00 9A */ sth r3, 0x9a(r31) /* 803E10E4 003DCD44 38 7F 00 9C */ addi r3, r31, 0x9c /* 803E10E8 003DCD48 38 80 00 00 */ li r4, 0 /* 803E10EC 003DCD4C 38 A0 00 04 */ li r5, 4 /* 803E10F0 003DCD50 4B C2 30 15 */ bl memset /* 803E10F4 003DCD54 38 7F 00 A0 */ addi r3, r31, 0xa0 /* 803E10F8 003DCD58 38 80 00 00 */ li r4, 0 /* 803E10FC 003DCD5C 38 A0 00 04 */ li r5, 4 /* 803E1100 003DCD60 4B C2 30 05 */ bl memset /* 803E1104 003DCD64 80 01 00 14 */ lwz r0, 0x14(r1) /* 803E1108 003DCD68 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803E110C 003DCD6C 83 C1 00 08 */ lwz r30, 8(r1) /* 803E1110 003DCD70 7C 08 03 A6 */ mtlr r0 /* 803E1114 003DCD74 38 21 00 10 */ addi r1, r1, 0x10 /* 803E1118 003DCD78 4E 80 00 20 */ blr .global func_803E111C func_803E111C: /* 803E111C 003DCD7C 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 803E1120 003DCD80 7C 08 02 A6 */ mflr r0 /* 803E1124 003DCD84 90 01 00 B4 */ stw r0, 0xb4(r1) /* 803E1128 003DCD88 39 61 00 B0 */ addi r11, r1, 0xb0 /* 803E112C 003DCD8C 4B DE 5F F1 */ bl _savegpr_24 /* 803E1130 003DCD90 7C 78 1B 78 */ mr r24, r3 /* 803E1134 003DCD94 80 63 00 00 */ lwz r3, 0(r3) /* 803E1138 003DCD98 7C 99 23 78 */ mr r25, r4 /* 803E113C 003DCD9C 48 00 08 D5 */ bl func_803E1A10 /* 803E1140 003DCDA0 90 79 00 00 */ stw r3, 0(r25) /* 803E1144 003DCDA4 80 78 00 04 */ lwz r3, 4(r24) /* 803E1148 003DCDA8 48 00 08 C9 */ bl func_803E1A10 /* 803E114C 003DCDAC 2C 03 00 06 */ cmpwi r3, 6 /* 803E1150 003DCDB0 90 79 00 04 */ stw r3, 4(r25) /* 803E1154 003DCDB4 41 81 00 34 */ bgt lbl_803E1188 /* 803E1158 003DCDB8 1F C3 00 EC */ mulli r30, r3, 0xec /* 803E115C 003DCDBC 7C 7C 1B 78 */ mr r28, r3 /* 803E1160 003DCDC0 48 00 00 20 */ b lbl_803E1180 lbl_803E1164: /* 803E1164 003DCDC4 7C 78 F2 14 */ add r3, r24, r30 /* 803E1168 003DCDC8 38 80 00 00 */ li r4, 0 /* 803E116C 003DCDCC 38 63 00 08 */ addi r3, r3, 8 /* 803E1170 003DCDD0 38 A0 00 EC */ li r5, 0xec /* 803E1174 003DCDD4 4B C2 2F 91 */ bl memset /* 803E1178 003DCDD8 3B 9C 00 01 */ addi r28, r28, 1 /* 803E117C 003DCDDC 3B DE 00 EC */ addi r30, r30, 0xec lbl_803E1180: /* 803E1180 003DCDE0 2C 1C 00 06 */ cmpwi r28, 6 /* 803E1184 003DCDE4 41 80 FF E0 */ blt lbl_803E1164 lbl_803E1188: /* 803E1188 003DCDE8 3B 60 00 00 */ li r27, 0 /* 803E118C 003DCDEC 3B E0 00 00 */ li r31, 0 /* 803E1190 003DCDF0 3B C0 00 00 */ li r30, 0 lbl_803E1194: /* 803E1194 003DCDF4 7C 78 FA 14 */ add r3, r24, r31 /* 803E1198 003DCDF8 3B 83 00 08 */ addi r28, r3, 8 /* 803E119C 003DCDFC 7F 83 E3 78 */ mr r3, r28 /* 803E11A0 003DCE00 4B FF F2 AD */ bl func_803E044C /* 803E11A4 003DCE04 7C 7A 1B 78 */ mr r26, r3 /* 803E11A8 003DCE08 7F 83 E3 78 */ mr r3, r28 /* 803E11AC 003DCE0C 48 00 06 9D */ bl func_803E1848 /* 803E11B0 003DCE10 7C 99 F2 14 */ add r4, r25, r30 /* 803E11B4 003DCE14 7C 7D 1B 78 */ mr r29, r3 /* 803E11B8 003DCE18 7F 83 E3 78 */ mr r3, r28 /* 803E11BC 003DCE1C 38 84 00 08 */ addi r4, r4, 8 /* 803E11C0 003DCE20 4B FF FE 95 */ bl func_803E1054 /* 803E11C4 003DCE24 2C 1D 00 00 */ cmpwi r29, 0 /* 803E11C8 003DCE28 40 82 00 44 */ bne lbl_803E120C /* 803E11CC 003DCE2C 7C 99 F2 14 */ add r4, r25, r30 /* 803E11D0 003DCE30 38 A0 00 02 */ li r5, 2 /* 803E11D4 003DCE34 A0 04 00 0C */ lhz r0, 0xc(r4) /* 803E11D8 003DCE38 38 64 00 08 */ addi r3, r4, 8 /* 803E11DC 003DCE3C 60 00 20 00 */ ori r0, r0, 0x2000 /* 803E11E0 003DCE40 B0 04 00 0C */ sth r0, 0xc(r4) /* 803E11E4 003DCE44 80 84 00 08 */ lwz r4, 8(r4) /* 803E11E8 003DCE48 4B FF BF D1 */ bl func_803DD1B8 /* 803E11EC 003DCE4C 7C 64 1B 78 */ mr r4, r3 /* 803E11F0 003DCE50 38 61 00 48 */ addi r3, r1, 0x48 /* 803E11F4 003DCE54 38 A0 00 0B */ li r5, 0xb /* 803E11F8 003DCE58 4B D9 5E 89 */ bl func_80177080 /* 803E11FC 003DCE5C 38 61 00 08 */ addi r3, r1, 8 /* 803E1200 003DCE60 38 81 00 48 */ addi r4, r1, 0x48 /* 803E1204 003DCE64 38 A0 00 40 */ li r5, 0x40 /* 803E1208 003DCE68 4B D9 5F 45 */ bl func_8017714C lbl_803E120C: /* 803E120C 003DCE6C 7F 83 E3 78 */ mr r3, r28 /* 803E1210 003DCE70 7F 44 D3 78 */ mr r4, r26 /* 803E1214 003DCE74 4B FF F1 85 */ bl func_803E0398 /* 803E1218 003DCE78 3B 7B 00 01 */ addi r27, r27, 1 /* 803E121C 003DCE7C 3B DE 00 A4 */ addi r30, r30, 0xa4 /* 803E1220 003DCE80 2C 1B 00 06 */ cmpwi r27, 6 /* 803E1224 003DCE84 3B FF 00 EC */ addi r31, r31, 0xec /* 803E1228 003DCE88 41 80 FF 6C */ blt lbl_803E1194 /* 803E122C 003DCE8C 39 61 00 B0 */ addi r11, r1, 0xb0 /* 803E1230 003DCE90 4B DE 5F 39 */ bl _restgpr_24 /* 803E1234 003DCE94 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 803E1238 003DCE98 7C 08 03 A6 */ mtlr r0 /* 803E123C 003DCE9C 38 21 00 B0 */ addi r1, r1, 0xb0 /* 803E1240 003DCEA0 4E 80 00 20 */ blr .global func_803E1244 func_803E1244: /* 803E1244 003DCEA4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 803E1248 003DCEA8 7C 08 02 A6 */ mflr r0 /* 803E124C 003DCEAC 90 01 00 44 */ stw r0, 0x44(r1) /* 803E1250 003DCEB0 39 61 00 40 */ addi r11, r1, 0x40 /* 803E1254 003DCEB4 4B DE 5E B9 */ bl _savegpr_20 /* 803E1258 003DCEB8 7C 74 1B 78 */ mr r20, r3 /* 803E125C 003DCEBC 80 63 00 00 */ lwz r3, 0(r3) /* 803E1260 003DCEC0 7C 95 23 78 */ mr r21, r4 /* 803E1264 003DCEC4 7C B6 2B 78 */ mr r22, r5 /* 803E1268 003DCEC8 48 00 07 A9 */ bl func_803E1A10 /* 803E126C 003DCECC 3A E0 00 00 */ li r23, 0 /* 803E1270 003DCED0 90 75 00 00 */ stw r3, 0(r21) /* 803E1274 003DCED4 7E E3 BB 78 */ mr r3, r23 /* 803E1278 003DCED8 B2 F5 00 04 */ sth r23, 4(r21) /* 803E127C 003DCEDC A0 14 00 04 */ lhz r0, 4(r20) /* 803E1280 003DCEE0 50 03 AF 7A */ rlwimi r3, r0, 0x15, 0x1d, 0x1d /* 803E1284 003DCEE4 B0 75 00 04 */ sth r3, 4(r21) /* 803E1288 003DCEE8 A0 14 00 04 */ lhz r0, 4(r20) /* 803E128C 003DCEEC 50 03 9F BC */ rlwimi r3, r0, 0x13, 0x1e, 0x1e /* 803E1290 003DCEF0 B0 75 00 04 */ sth r3, 4(r21) /* 803E1294 003DCEF4 A0 14 00 04 */ lhz r0, 4(r20) /* 803E1298 003DCEF8 50 03 8F FE */ rlwimi r3, r0, 0x11, 0x1f, 0x1f /* 803E129C 003DCEFC B0 75 00 04 */ sth r3, 4(r21) /* 803E12A0 003DCF00 48 00 07 5D */ bl func_803E19FC /* 803E12A4 003DCF04 B0 75 00 04 */ sth r3, 4(r21) /* 803E12A8 003DCF08 A0 74 00 06 */ lhz r3, 6(r20) /* 803E12AC 003DCF0C 48 00 07 51 */ bl func_803E19FC /* 803E12B0 003DCF10 B0 75 00 06 */ sth r3, 6(r21) /* 803E12B4 003DCF14 80 75 00 00 */ lwz r3, 0(r21) /* 803E12B8 003DCF18 48 00 07 59 */ bl func_803E1A10 /* 803E12BC 003DCF1C 7C 64 1B 78 */ mr r4, r3 /* 803E12C0 003DCF20 7E A3 AB 78 */ mr r3, r21 /* 803E12C4 003DCF24 38 A0 00 00 */ li r5, 0 /* 803E12C8 003DCF28 4B FF F2 C1 */ bl func_803E0588 /* 803E12CC 003DCF2C 7C 78 1B 78 */ mr r24, r3 /* 803E12D0 003DCF30 80 75 00 00 */ lwz r3, 0(r21) /* 803E12D4 003DCF34 48 00 07 3D */ bl func_803E1A10 /* 803E12D8 003DCF38 7C 64 1B 78 */ mr r4, r3 /* 803E12DC 003DCF3C 7E A3 AB 78 */ mr r3, r21 /* 803E12E0 003DCF40 38 A0 00 01 */ li r5, 1 /* 803E12E4 003DCF44 4B FF F2 A5 */ bl func_803E0588 /* 803E12E8 003DCF48 7C 79 1B 78 */ mr r25, r3 /* 803E12EC 003DCF4C 80 75 00 00 */ lwz r3, 0(r21) /* 803E12F0 003DCF50 48 00 07 21 */ bl func_803E1A10 /* 803E12F4 003DCF54 7C 64 1B 78 */ mr r4, r3 /* 803E12F8 003DCF58 7E A3 AB 78 */ mr r3, r21 /* 803E12FC 003DCF5C 38 A0 00 02 */ li r5, 2 /* 803E1300 003DCF60 4B FF F2 89 */ bl func_803E0588 /* 803E1304 003DCF64 7C 7A 1B 78 */ mr r26, r3 /* 803E1308 003DCF68 80 75 00 00 */ lwz r3, 0(r21) /* 803E130C 003DCF6C 48 00 07 05 */ bl func_803E1A10 /* 803E1310 003DCF70 7C 64 1B 78 */ mr r4, r3 /* 803E1314 003DCF74 7E A3 AB 78 */ mr r3, r21 /* 803E1318 003DCF78 38 A0 00 03 */ li r5, 3 /* 803E131C 003DCF7C 4B FF F2 6D */ bl func_803E0588 /* 803E1320 003DCF80 80 94 00 00 */ lwz r4, 0(r20) /* 803E1324 003DCF84 7C 7B 1B 78 */ mr r27, r3 /* 803E1328 003DCF88 7E 83 A3 78 */ mr r3, r20 /* 803E132C 003DCF8C 38 A0 00 00 */ li r5, 0 /* 803E1330 003DCF90 4B FF BE 89 */ bl func_803DD1B8 /* 803E1334 003DCF94 80 94 00 00 */ lwz r4, 0(r20) /* 803E1338 003DCF98 7C 7C 1B 78 */ mr r28, r3 /* 803E133C 003DCF9C 7E 83 A3 78 */ mr r3, r20 /* 803E1340 003DCFA0 38 A0 00 01 */ li r5, 1 /* 803E1344 003DCFA4 4B FF BE 75 */ bl func_803DD1B8 /* 803E1348 003DCFA8 80 94 00 00 */ lwz r4, 0(r20) /* 803E134C 003DCFAC 7C 7D 1B 78 */ mr r29, r3 /* 803E1350 003DCFB0 7E 83 A3 78 */ mr r3, r20 /* 803E1354 003DCFB4 38 A0 00 02 */ li r5, 2 /* 803E1358 003DCFB8 4B FF BE 61 */ bl func_803DD1B8 /* 803E135C 003DCFBC 80 94 00 00 */ lwz r4, 0(r20) /* 803E1360 003DCFC0 7C 7E 1B 78 */ mr r30, r3 /* 803E1364 003DCFC4 7E 83 A3 78 */ mr r3, r20 /* 803E1368 003DCFC8 38 A0 00 03 */ li r5, 3 /* 803E136C 003DCFCC 4B FF BE 4D */ bl func_803DD1B8 /* 803E1370 003DCFD0 7C 7F 1B 78 */ mr r31, r3 /* 803E1374 003DCFD4 A0 7C 00 00 */ lhz r3, 0(r28) /* 803E1378 003DCFD8 48 00 06 85 */ bl func_803E19FC /* 803E137C 003DCFDC B0 78 00 00 */ sth r3, 0(r24) /* 803E1380 003DCFE0 A0 7C 00 02 */ lhz r3, 2(r28) /* 803E1384 003DCFE4 48 00 06 79 */ bl func_803E19FC /* 803E1388 003DCFE8 B0 78 00 02 */ sth r3, 2(r24) /* 803E138C 003DCFEC 80 7C 00 04 */ lwz r3, 4(r28) /* 803E1390 003DCFF0 48 00 06 81 */ bl func_803E1A10 /* 803E1394 003DCFF4 90 78 00 04 */ stw r3, 4(r24) /* 803E1398 003DCFF8 80 7C 00 08 */ lwz r3, 8(r28) /* 803E139C 003DCFFC 48 00 06 75 */ bl func_803E1A10 /* 803E13A0 003DD000 90 78 00 08 */ stw r3, 8(r24) /* 803E13A4 003DD004 88 1C 00 0C */ lbz r0, 0xc(r28) /* 803E13A8 003DD008 98 18 00 0C */ stb r0, 0xc(r24) /* 803E13AC 003DD00C 88 1C 00 0D */ lbz r0, 0xd(r28) /* 803E13B0 003DD010 98 18 00 0D */ stb r0, 0xd(r24) /* 803E13B4 003DD014 88 1C 00 0E */ lbz r0, 0xe(r28) /* 803E13B8 003DD018 98 18 00 0E */ stb r0, 0xe(r24) /* 803E13BC 003DD01C 88 1C 00 0F */ lbz r0, 0xf(r28) /* 803E13C0 003DD020 98 18 00 0F */ stb r0, 0xf(r24) /* 803E13C4 003DD024 88 1C 00 10 */ lbz r0, 0x10(r28) /* 803E13C8 003DD028 98 18 00 10 */ stb r0, 0x10(r24) /* 803E13CC 003DD02C 88 1C 00 11 */ lbz r0, 0x11(r28) /* 803E13D0 003DD030 98 18 00 11 */ stb r0, 0x11(r24) /* 803E13D4 003DD034 88 1C 00 12 */ lbz r0, 0x12(r28) /* 803E13D8 003DD038 98 18 00 12 */ stb r0, 0x12(r24) /* 803E13DC 003DD03C 88 1C 00 13 */ lbz r0, 0x13(r28) /* 803E13E0 003DD040 98 18 00 13 */ stb r0, 0x13(r24) /* 803E13E4 003DD044 88 1C 00 14 */ lbz r0, 0x14(r28) /* 803E13E8 003DD048 98 18 00 14 */ stb r0, 0x14(r24) /* 803E13EC 003DD04C 88 1C 00 15 */ lbz r0, 0x15(r28) /* 803E13F0 003DD050 98 18 00 15 */ stb r0, 0x15(r24) /* 803E13F4 003DD054 88 1C 00 16 */ lbz r0, 0x16(r28) /* 803E13F8 003DD058 98 18 00 16 */ stb r0, 0x16(r24) /* 803E13FC 003DD05C 88 1C 00 17 */ lbz r0, 0x17(r28) /* 803E1400 003DD060 98 18 00 17 */ stb r0, 0x17(r24) /* 803E1404 003DD064 88 1C 00 18 */ lbz r0, 0x18(r28) /* 803E1408 003DD068 98 18 00 18 */ stb r0, 0x18(r24) /* 803E140C 003DD06C 88 1C 00 19 */ lbz r0, 0x19(r28) /* 803E1410 003DD070 98 18 00 19 */ stb r0, 0x19(r24) /* 803E1414 003DD074 88 1C 00 1A */ lbz r0, 0x1a(r28) /* 803E1418 003DD078 98 18 00 1A */ stb r0, 0x1a(r24) /* 803E141C 003DD07C 88 1C 00 1B */ lbz r0, 0x1b(r28) /* 803E1420 003DD080 98 18 00 1B */ stb r0, 0x1b(r24) /* 803E1424 003DD084 80 7C 00 1C */ lwz r3, 0x1c(r28) /* 803E1428 003DD088 48 00 05 E9 */ bl func_803E1A10 /* 803E142C 003DD08C 90 78 00 1C */ stw r3, 0x1c(r24) /* 803E1430 003DD090 3B 00 00 00 */ li r24, 0 lbl_803E1434: /* 803E1434 003DD094 7C 7D BA 2E */ lhzx r3, r29, r23 /* 803E1438 003DD098 48 00 05 C5 */ bl func_803E19FC /* 803E143C 003DD09C 7C 79 BB 2E */ sthx r3, r25, r23 /* 803E1440 003DD0A0 7C 7D C2 14 */ add r3, r29, r24 /* 803E1444 003DD0A4 7C 99 C2 14 */ add r4, r25, r24 /* 803E1448 003DD0A8 3B 18 00 01 */ addi r24, r24, 1 /* 803E144C 003DD0AC 88 03 00 08 */ lbz r0, 8(r3) /* 803E1450 003DD0B0 2C 18 00 04 */ cmpwi r24, 4 /* 803E1454 003DD0B4 3A F7 00 02 */ addi r23, r23, 2 /* 803E1458 003DD0B8 98 04 00 08 */ stb r0, 8(r4) /* 803E145C 003DD0BC 88 03 00 0C */ lbz r0, 0xc(r3) /* 803E1460 003DD0C0 98 04 00 0C */ stb r0, 0xc(r4) /* 803E1464 003DD0C4 41 80 FF D0 */ blt lbl_803E1434 /* 803E1468 003DD0C8 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803E146C 003DD0CC 80 79 00 10 */ lwz r3, 0x10(r25) /* 803E1470 003DD0D0 50 03 F8 00 */ rlwimi r3, r0, 0x1f, 0, 0 /* 803E1474 003DD0D4 90 79 00 10 */ stw r3, 0x10(r25) /* 803E1478 003DD0D8 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803E147C 003DD0DC 50 03 E8 42 */ rlwimi r3, r0, 0x1d, 1, 1 /* 803E1480 003DD0E0 90 79 00 10 */ stw r3, 0x10(r25) /* 803E1484 003DD0E4 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803E1488 003DD0E8 50 03 B8 8C */ rlwimi r3, r0, 0x17, 2, 6 /* 803E148C 003DD0EC 90 79 00 10 */ stw r3, 0x10(r25) /* 803E1490 003DD0F0 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803E1494 003DD0F4 50 03 69 D6 */ rlwimi r3, r0, 0xd, 7, 0xb /* 803E1498 003DD0F8 90 79 00 10 */ stw r3, 0x10(r25) /* 803E149C 003DD0FC 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803E14A0 003DD100 50 03 1B 20 */ rlwimi r3, r0, 3, 0xc, 0x10 /* 803E14A4 003DD104 90 79 00 10 */ stw r3, 0x10(r25) /* 803E14A8 003DD108 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803E14AC 003DD10C 50 03 CC 6A */ rlwimi r3, r0, 0x19, 0x11, 0x15 /* 803E14B0 003DD110 90 79 00 10 */ stw r3, 0x10(r25) /* 803E14B4 003DD114 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803E14B8 003DD118 50 03 7D B4 */ rlwimi r3, r0, 0xf, 0x16, 0x1a /* 803E14BC 003DD11C 90 79 00 10 */ stw r3, 0x10(r25) /* 803E14C0 003DD120 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803E14C4 003DD124 50 03 2E FE */ rlwimi r3, r0, 5, 0x1b, 0x1f /* 803E14C8 003DD128 90 79 00 10 */ stw r3, 0x10(r25) /* 803E14CC 003DD12C 48 00 05 45 */ bl func_803E1A10 /* 803E14D0 003DD130 90 79 00 10 */ stw r3, 0x10(r25) /* 803E14D4 003DD134 80 7D 00 14 */ lwz r3, 0x14(r29) /* 803E14D8 003DD138 48 00 05 39 */ bl func_803E1A10 /* 803E14DC 003DD13C 90 79 00 14 */ stw r3, 0x14(r25) /* 803E14E0 003DD140 88 1D 00 18 */ lbz r0, 0x18(r29) /* 803E14E4 003DD144 88 79 00 18 */ lbz r3, 0x18(r25) /* 803E14E8 003DD148 50 03 1E 38 */ rlwimi r3, r0, 3, 0x18, 0x1c /* 803E14EC 003DD14C 98 79 00 18 */ stb r3, 0x18(r25) /* 803E14F0 003DD150 88 1D 00 18 */ lbz r0, 0x18(r29) /* 803E14F4 003DD154 50 03 E7 7C */ rlwimi r3, r0, 0x1c, 0x1d, 0x1e /* 803E14F8 003DD158 98 79 00 18 */ stb r3, 0x18(r25) /* 803E14FC 003DD15C 88 1D 00 18 */ lbz r0, 0x18(r29) /* 803E1500 003DD160 50 03 CF FE */ rlwimi r3, r0, 0x19, 0x1f, 0x1f /* 803E1504 003DD164 98 79 00 18 */ stb r3, 0x18(r25) /* 803E1508 003DD168 88 1D 00 19 */ lbz r0, 0x19(r29) /* 803E150C 003DD16C 98 19 00 19 */ stb r0, 0x19(r25) /* 803E1510 003DD170 A0 7D 00 1A */ lhz r3, 0x1a(r29) /* 803E1514 003DD174 48 00 04 E9 */ bl func_803E19FC /* 803E1518 003DD178 B0 79 00 1A */ sth r3, 0x1a(r25) /* 803E151C 003DD17C 80 1D 00 1C */ lwz r0, 0x1c(r29) /* 803E1520 003DD180 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 803E1524 003DD184 48 00 04 D9 */ bl func_803E19FC /* 803E1528 003DD188 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 803E152C 003DD18C 3B 00 00 00 */ li r24, 0 /* 803E1530 003DD190 90 19 00 1C */ stw r0, 0x1c(r25) /* 803E1534 003DD194 3A E0 00 00 */ li r23, 0 lbl_803E1538: /* 803E1538 003DD198 7C 7E BA 2E */ lhzx r3, r30, r23 /* 803E153C 003DD19C 48 00 04 C1 */ bl func_803E19FC /* 803E1540 003DD1A0 3B 18 00 01 */ addi r24, r24, 1 /* 803E1544 003DD1A4 7C 7A BB 2E */ sthx r3, r26, r23 /* 803E1548 003DD1A8 2C 18 00 0B */ cmpwi r24, 0xb /* 803E154C 003DD1AC 3A F7 00 02 */ addi r23, r23, 2 /* 803E1550 003DD1B0 41 80 FF E8 */ blt lbl_803E1538 /* 803E1554 003DD1B4 88 1E 00 16 */ lbz r0, 0x16(r30) /* 803E1558 003DD1B8 98 1A 00 16 */ stb r0, 0x16(r26) /* 803E155C 003DD1BC 88 1E 00 17 */ lbz r0, 0x17(r30) /* 803E1560 003DD1C0 98 1A 00 17 */ stb r0, 0x17(r26) /* 803E1564 003DD1C4 80 7E 00 18 */ lwz r3, 0x18(r30) /* 803E1568 003DD1C8 80 9E 00 1C */ lwz r4, 0x1c(r30) /* 803E156C 003DD1CC 48 00 04 BD */ bl func_803E1A28 /* 803E1570 003DD1D0 90 9A 00 1C */ stw r4, 0x1c(r26) /* 803E1574 003DD1D4 3B 00 00 00 */ li r24, 0 /* 803E1578 003DD1D8 3A E0 00 00 */ li r23, 0 /* 803E157C 003DD1DC 90 7A 00 18 */ stw r3, 0x18(r26) lbl_803E1580: /* 803E1580 003DD1E0 7C 7F BA 2E */ lhzx r3, r31, r23 /* 803E1584 003DD1E4 48 00 04 79 */ bl func_803E19FC /* 803E1588 003DD1E8 3B 18 00 01 */ addi r24, r24, 1 /* 803E158C 003DD1EC 7C 7B BB 2E */ sthx r3, r27, r23 /* 803E1590 003DD1F0 2C 18 00 08 */ cmpwi r24, 8 /* 803E1594 003DD1F4 3A F7 00 02 */ addi r23, r23, 2 /* 803E1598 003DD1F8 41 80 FF E8 */ blt lbl_803E1580 /* 803E159C 003DD1FC 88 1F 00 10 */ lbz r0, 0x10(r31) /* 803E15A0 003DD200 98 1B 00 10 */ stb r0, 0x10(r27) /* 803E15A4 003DD204 88 1F 00 11 */ lbz r0, 0x11(r31) /* 803E15A8 003DD208 98 1B 00 11 */ stb r0, 0x11(r27) /* 803E15AC 003DD20C 88 1F 00 12 */ lbz r0, 0x12(r31) /* 803E15B0 003DD210 98 1B 00 12 */ stb r0, 0x12(r27) /* 803E15B4 003DD214 88 1F 00 13 */ lbz r0, 0x13(r31) /* 803E15B8 003DD218 98 1B 00 13 */ stb r0, 0x13(r27) /* 803E15BC 003DD21C 88 1F 00 14 */ lbz r0, 0x14(r31) /* 803E15C0 003DD220 98 1B 00 14 */ stb r0, 0x14(r27) /* 803E15C4 003DD224 88 1F 00 15 */ lbz r0, 0x15(r31) /* 803E15C8 003DD228 98 1B 00 15 */ stb r0, 0x15(r27) /* 803E15CC 003DD22C A0 7F 00 16 */ lhz r3, 0x16(r31) /* 803E15D0 003DD230 48 00 04 2D */ bl func_803E19FC /* 803E15D4 003DD234 B0 7B 00 16 */ sth r3, 0x16(r27) /* 803E15D8 003DD238 A0 7F 00 18 */ lhz r3, 0x18(r31) /* 803E15DC 003DD23C 48 00 04 21 */ bl func_803E19FC /* 803E15E0 003DD240 B0 7B 00 18 */ sth r3, 0x18(r27) /* 803E15E4 003DD244 88 1F 00 1A */ lbz r0, 0x1a(r31) /* 803E15E8 003DD248 98 1B 00 1A */ stb r0, 0x1a(r27) /* 803E15EC 003DD24C 88 1F 00 1B */ lbz r0, 0x1b(r31) /* 803E15F0 003DD250 98 1B 00 1B */ stb r0, 0x1b(r27) /* 803E15F4 003DD254 88 1F 00 1C */ lbz r0, 0x1c(r31) /* 803E15F8 003DD258 88 7B 00 1C */ lbz r3, 0x1c(r27) /* 803E15FC 003DD25C 50 03 3E 30 */ rlwimi r3, r0, 7, 0x18, 0x18 /* 803E1600 003DD260 98 7B 00 1C */ stb r3, 0x1c(r27) /* 803E1604 003DD264 88 1F 00 1C */ lbz r0, 0x1c(r31) /* 803E1608 003DD268 50 03 FE 7E */ rlwimi r3, r0, 0x1f, 0x19, 0x1f /* 803E160C 003DD26C 98 7B 00 1C */ stb r3, 0x1c(r27) /* 803E1610 003DD270 88 1F 00 1D */ lbz r0, 0x1d(r31) /* 803E1614 003DD274 98 1B 00 1D */ stb r0, 0x1d(r27) /* 803E1618 003DD278 A0 7F 00 1E */ lhz r3, 0x1e(r31) /* 803E161C 003DD27C 48 00 03 E1 */ bl func_803E19FC /* 803E1620 003DD280 B0 7B 00 1E */ sth r3, 0x1e(r27) /* 803E1624 003DD284 80 74 00 88 */ lwz r3, 0x88(r20) /* 803E1628 003DD288 48 00 03 E9 */ bl func_803E1A10 /* 803E162C 003DD28C 90 75 00 88 */ stw r3, 0x88(r21) /* 803E1630 003DD290 88 14 00 8C */ lbz r0, 0x8c(r20) /* 803E1634 003DD294 98 15 00 8C */ stb r0, 0x8c(r21) /* 803E1638 003DD298 88 14 00 8D */ lbz r0, 0x8d(r20) /* 803E163C 003DD29C 98 15 00 8D */ stb r0, 0x8d(r21) /* 803E1640 003DD2A0 A0 74 00 8E */ lhz r3, 0x8e(r20) /* 803E1644 003DD2A4 48 00 03 B9 */ bl func_803E19FC /* 803E1648 003DD2A8 B0 75 00 8E */ sth r3, 0x8e(r21) /* 803E164C 003DD2AC A0 74 00 90 */ lhz r3, 0x90(r20) /* 803E1650 003DD2B0 48 00 03 AD */ bl func_803E19FC /* 803E1654 003DD2B4 B0 75 00 90 */ sth r3, 0x90(r21) /* 803E1658 003DD2B8 A0 74 00 92 */ lhz r3, 0x92(r20) /* 803E165C 003DD2BC 48 00 03 A1 */ bl func_803E19FC /* 803E1660 003DD2C0 B0 75 00 92 */ sth r3, 0x92(r21) /* 803E1664 003DD2C4 A0 74 00 94 */ lhz r3, 0x94(r20) /* 803E1668 003DD2C8 48 00 03 95 */ bl func_803E19FC /* 803E166C 003DD2CC B0 75 00 94 */ sth r3, 0x94(r21) /* 803E1670 003DD2D0 A0 74 00 96 */ lhz r3, 0x96(r20) /* 803E1674 003DD2D4 48 00 03 89 */ bl func_803E19FC /* 803E1678 003DD2D8 B0 75 00 96 */ sth r3, 0x96(r21) /* 803E167C 003DD2DC A0 74 00 98 */ lhz r3, 0x98(r20) /* 803E1680 003DD2E0 48 00 03 7D */ bl func_803E19FC /* 803E1684 003DD2E4 B0 75 00 98 */ sth r3, 0x98(r21) /* 803E1688 003DD2E8 A0 74 00 9A */ lhz r3, 0x9a(r20) /* 803E168C 003DD2EC 48 00 03 71 */ bl func_803E19FC /* 803E1690 003DD2F0 B0 75 00 9A */ sth r3, 0x9a(r21) /* 803E1694 003DD2F4 38 75 00 9C */ addi r3, r21, 0x9c /* 803E1698 003DD2F8 38 80 00 00 */ li r4, 0 /* 803E169C 003DD2FC 38 A0 00 38 */ li r5, 0x38 /* 803E16A0 003DD300 4B C2 2A 65 */ bl memset /* 803E16A4 003DD304 38 75 00 D4 */ addi r3, r21, 0xd4 /* 803E16A8 003DD308 38 80 00 00 */ li r4, 0 /* 803E16AC 003DD30C 38 A0 00 18 */ li r5, 0x18 /* 803E16B0 003DD310 4B C2 2A 55 */ bl memset /* 803E16B4 003DD314 2C 16 00 00 */ cmpwi r22, 0 /* 803E16B8 003DD318 41 82 00 10 */ beq lbl_803E16C8 /* 803E16BC 003DD31C 7E A3 AB 78 */ mr r3, r21 /* 803E16C0 003DD320 38 80 00 01 */ li r4, 1 /* 803E16C4 003DD324 4B FF EC D5 */ bl func_803E0398 lbl_803E16C8: /* 803E16C8 003DD328 39 61 00 40 */ addi r11, r1, 0x40 /* 803E16CC 003DD32C 4B DE 5A 8D */ bl _restgpr_20 /* 803E16D0 003DD330 80 01 00 44 */ lwz r0, 0x44(r1) /* 803E16D4 003DD334 7C 08 03 A6 */ mtlr r0 /* 803E16D8 003DD338 38 21 00 40 */ addi r1, r1, 0x40 /* 803E16DC 003DD33C 4E 80 00 20 */ blr .global func_803E16E0 func_803E16E0: /* 803E16E0 003DD340 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803E16E4 003DD344 7C 08 02 A6 */ mflr r0 /* 803E16E8 003DD348 90 01 00 34 */ stw r0, 0x34(r1) /* 803E16EC 003DD34C 39 61 00 30 */ addi r11, r1, 0x30 /* 803E16F0 003DD350 4B DE 5A 2D */ bl _savegpr_24 /* 803E16F4 003DD354 7C 7E 1B 78 */ mr r30, r3 /* 803E16F8 003DD358 80 63 00 00 */ lwz r3, 0(r3) /* 803E16FC 003DD35C 7C 9F 23 78 */ mr r31, r4 /* 803E1700 003DD360 7C B8 2B 78 */ mr r24, r5 /* 803E1704 003DD364 48 00 03 0D */ bl func_803E1A10 /* 803E1708 003DD368 90 7F 00 00 */ stw r3, 0(r31) /* 803E170C 003DD36C 80 7E 00 04 */ lwz r3, 4(r30) /* 803E1710 003DD370 48 00 03 01 */ bl func_803E1A10 /* 803E1714 003DD374 90 7F 00 04 */ stw r3, 4(r31) /* 803E1718 003DD378 3B 20 00 00 */ li r25, 0 /* 803E171C 003DD37C 3B A0 00 00 */ li r29, 0 /* 803E1720 003DD380 3B 80 00 00 */ li r28, 0 lbl_803E1724: /* 803E1724 003DD384 7C 7E E2 14 */ add r3, r30, r28 /* 803E1728 003DD388 3B 63 00 08 */ addi r27, r3, 8 /* 803E172C 003DD38C 7F 63 DB 78 */ mr r3, r27 /* 803E1730 003DD390 4B FF C2 3D */ bl func_803DD96C /* 803E1734 003DD394 7C 9F EA 14 */ add r4, r31, r29 /* 803E1738 003DD398 7C 7A 1B 78 */ mr r26, r3 /* 803E173C 003DD39C 7F 63 DB 78 */ mr r3, r27 /* 803E1740 003DD3A0 7F 05 C3 78 */ mr r5, r24 /* 803E1744 003DD3A4 38 84 00 08 */ addi r4, r4, 8 /* 803E1748 003DD3A8 4B FF FA FD */ bl func_803E1244 /* 803E174C 003DD3AC 7F 63 DB 78 */ mr r3, r27 /* 803E1750 003DD3B0 7F 44 D3 78 */ mr r4, r26 /* 803E1754 003DD3B4 4B FF 8B 59 */ bl func_803DA2AC /* 803E1758 003DD3B8 3B 39 00 01 */ addi r25, r25, 1 /* 803E175C 003DD3BC 3B 9C 00 A4 */ addi r28, r28, 0xa4 /* 803E1760 003DD3C0 2C 19 00 06 */ cmpwi r25, 6 /* 803E1764 003DD3C4 3B BD 00 EC */ addi r29, r29, 0xec /* 803E1768 003DD3C8 41 80 FF BC */ blt lbl_803E1724 /* 803E176C 003DD3CC 3B 20 00 00 */ li r25, 0 /* 803E1770 003DD3D0 3B A0 00 00 */ li r29, 0 lbl_803E1774: /* 803E1774 003DD3D4 7C 7E EA 14 */ add r3, r30, r29 /* 803E1778 003DD3D8 80 83 00 08 */ lwz r4, 8(r3) /* 803E177C 003DD3DC 3B 43 00 08 */ addi r26, r3, 8 /* 803E1780 003DD3E0 2C 04 00 00 */ cmpwi r4, 0 /* 803E1784 003DD3E4 40 82 00 10 */ bne lbl_803E1794 /* 803E1788 003DD3E8 A0 03 00 0E */ lhz r0, 0xe(r3) /* 803E178C 003DD3EC 2C 00 00 00 */ cmpwi r0, 0 /* 803E1790 003DD3F0 41 82 00 0C */ beq lbl_803E179C lbl_803E1794: /* 803E1794 003DD3F4 38 00 00 00 */ li r0, 0 /* 803E1798 003DD3F8 48 00 00 74 */ b lbl_803E180C lbl_803E179C: /* 803E179C 003DD3FC 7F 43 D3 78 */ mr r3, r26 /* 803E17A0 003DD400 38 A0 00 00 */ li r5, 0 /* 803E17A4 003DD404 4B FF BA 15 */ bl func_803DD1B8 /* 803E17A8 003DD408 80 9A 00 00 */ lwz r4, 0(r26) /* 803E17AC 003DD40C 7C 7B 1B 78 */ mr r27, r3 /* 803E17B0 003DD410 7F 43 D3 78 */ mr r3, r26 /* 803E17B4 003DD414 38 A0 00 01 */ li r5, 1 /* 803E17B8 003DD418 4B FF BA 01 */ bl func_803DD1B8 /* 803E17BC 003DD41C 80 9A 00 00 */ lwz r4, 0(r26) /* 803E17C0 003DD420 7F 43 D3 78 */ mr r3, r26 /* 803E17C4 003DD424 38 A0 00 02 */ li r5, 2 /* 803E17C8 003DD428 4B FF B9 F1 */ bl func_803DD1B8 /* 803E17CC 003DD42C 80 9A 00 00 */ lwz r4, 0(r26) /* 803E17D0 003DD430 7C 7C 1B 78 */ mr r28, r3 /* 803E17D4 003DD434 7F 43 D3 78 */ mr r3, r26 /* 803E17D8 003DD438 38 A0 00 03 */ li r5, 3 /* 803E17DC 003DD43C 4B FF B9 DD */ bl func_803DD1B8 /* 803E17E0 003DD440 A0 1B 00 00 */ lhz r0, 0(r27) /* 803E17E4 003DD444 2C 00 00 00 */ cmpwi r0, 0 /* 803E17E8 003DD448 40 82 00 10 */ bne lbl_803E17F8 /* 803E17EC 003DD44C 80 1B 00 04 */ lwz r0, 4(r27) /* 803E17F0 003DD450 2C 00 00 00 */ cmpwi r0, 0 /* 803E17F4 003DD454 41 82 00 0C */ beq lbl_803E1800 lbl_803E17F8: /* 803E17F8 003DD458 38 00 00 00 */ li r0, 0 /* 803E17FC 003DD45C 48 00 00 10 */ b lbl_803E180C lbl_803E1800: /* 803E1800 003DD460 A0 1C 00 00 */ lhz r0, 0(r28) /* 803E1804 003DD464 7C 00 00 34 */ cntlzw r0, r0 /* 803E1808 003DD468 54 00 D9 7E */ srwi r0, r0, 5 lbl_803E180C: /* 803E180C 003DD46C 2C 00 00 00 */ cmpwi r0, 0 /* 803E1810 003DD470 40 82 00 14 */ bne lbl_803E1824 /* 803E1814 003DD474 3B 39 00 01 */ addi r25, r25, 1 /* 803E1818 003DD478 3B BD 00 A4 */ addi r29, r29, 0xa4 /* 803E181C 003DD47C 2C 19 00 06 */ cmpwi r25, 6 /* 803E1820 003DD480 41 80 FF 54 */ blt lbl_803E1774 lbl_803E1824: /* 803E1824 003DD484 7F 23 CB 78 */ mr r3, r25 /* 803E1828 003DD488 48 00 01 E9 */ bl func_803E1A10 /* 803E182C 003DD48C 90 7F 00 04 */ stw r3, 4(r31) /* 803E1830 003DD490 39 61 00 30 */ addi r11, r1, 0x30 /* 803E1834 003DD494 4B DE 59 35 */ bl _restgpr_24 /* 803E1838 003DD498 80 01 00 34 */ lwz r0, 0x34(r1) /* 803E183C 003DD49C 7C 08 03 A6 */ mtlr r0 /* 803E1840 003DD4A0 38 21 00 30 */ addi r1, r1, 0x30 /* 803E1844 003DD4A4 4E 80 00 20 */ blr .global func_803E1848 func_803E1848: /* 803E1848 003DD4A8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803E184C 003DD4AC 7C 08 02 A6 */ mflr r0 /* 803E1850 003DD4B0 38 80 00 80 */ li r4, 0x80 /* 803E1854 003DD4B4 90 01 00 14 */ stw r0, 0x14(r1) /* 803E1858 003DD4B8 93 E1 00 0C */ stw r31, 0xc(r1) /* 803E185C 003DD4BC 7C 7F 1B 78 */ mr r31, r3 /* 803E1860 003DD4C0 38 63 00 08 */ addi r3, r3, 8 /* 803E1864 003DD4C4 4B FF EA D1 */ bl func_803E0334 /* 803E1868 003DD4C8 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 803E186C 003DD4CC 48 00 01 91 */ bl func_803E19FC /* 803E1870 003DD4D0 A0 1F 00 06 */ lhz r0, 6(r31) /* 803E1874 003DD4D4 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 803E1878 003DD4D8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803E187C 003DD4DC 7C 00 18 50 */ subf r0, r0, r3 /* 803E1880 003DD4E0 7C 00 00 34 */ cntlzw r0, r0 /* 803E1884 003DD4E4 54 03 D9 7E */ srwi r3, r0, 5 /* 803E1888 003DD4E8 80 01 00 14 */ lwz r0, 0x14(r1) /* 803E188C 003DD4EC 7C 08 03 A6 */ mtlr r0 /* 803E1890 003DD4F0 38 21 00 10 */ addi r1, r1, 0x10 /* 803E1894 003DD4F4 4E 80 00 20 */ blr .global func_803E1898 func_803E1898: /* 803E1898 003DD4F8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803E189C 003DD4FC 7C 08 02 A6 */ mflr r0 /* 803E18A0 003DD500 90 01 00 34 */ stw r0, 0x34(r1) /* 803E18A4 003DD504 39 61 00 30 */ addi r11, r1, 0x30 /* 803E18A8 003DD508 4B DE 58 79 */ bl _savegpr_25 /* 803E18AC 003DD50C 7C 79 1B 78 */ mr r25, r3 /* 803E18B0 003DD510 80 63 00 00 */ lwz r3, 0(r3) /* 803E18B4 003DD514 48 00 01 5D */ bl func_803E1A10 /* 803E18B8 003DD518 7C 7E 1B 78 */ mr r30, r3 /* 803E18BC 003DD51C 80 79 00 04 */ lwz r3, 4(r25) /* 803E18C0 003DD520 48 00 01 51 */ bl func_803E1A10 /* 803E18C4 003DD524 28 1E 00 06 */ cmplwi r30, 6 /* 803E18C8 003DD528 7C 7D 1B 78 */ mr r29, r3 /* 803E18CC 003DD52C 3B 80 00 00 */ li r28, 0 /* 803E18D0 003DD530 40 81 00 08 */ ble lbl_803E18D8 /* 803E18D4 003DD534 3B C0 00 06 */ li r30, 6 lbl_803E18D8: /* 803E18D8 003DD538 28 03 00 06 */ cmplwi r3, 6 /* 803E18DC 003DD53C 40 81 00 08 */ ble lbl_803E18E4 /* 803E18E0 003DD540 3B A0 00 06 */ li r29, 6 lbl_803E18E4: /* 803E18E4 003DD544 7C 1D F0 40 */ cmplw r29, r30 /* 803E18E8 003DD548 40 81 00 08 */ ble lbl_803E18F0 /* 803E18EC 003DD54C 7F DD F3 78 */ mr r29, r30 lbl_803E18F0: /* 803E18F0 003DD550 3B 60 00 00 */ li r27, 0 /* 803E18F4 003DD554 3B E0 00 00 */ li r31, 0 /* 803E18F8 003DD558 48 00 00 40 */ b lbl_803E1938 lbl_803E18FC: /* 803E18FC 003DD55C 7C 79 FA 14 */ add r3, r25, r31 /* 803E1900 003DD560 3B C3 00 08 */ addi r30, r3, 8 /* 803E1904 003DD564 7F C3 F3 78 */ mr r3, r30 /* 803E1908 003DD568 4B FF EB 45 */ bl func_803E044C /* 803E190C 003DD56C 7C 7A 1B 78 */ mr r26, r3 /* 803E1910 003DD570 7F C3 F3 78 */ mr r3, r30 /* 803E1914 003DD574 4B FF FF 35 */ bl func_803E1848 /* 803E1918 003DD578 2C 03 00 00 */ cmpwi r3, 0 /* 803E191C 003DD57C 41 82 00 08 */ beq lbl_803E1924 /* 803E1920 003DD580 3B 9C 00 01 */ addi r28, r28, 1 lbl_803E1924: /* 803E1924 003DD584 7F C3 F3 78 */ mr r3, r30 /* 803E1928 003DD588 7F 44 D3 78 */ mr r4, r26 /* 803E192C 003DD58C 4B FF EA 6D */ bl func_803E0398 /* 803E1930 003DD590 3B 7B 00 01 */ addi r27, r27, 1 /* 803E1934 003DD594 3B FF 00 EC */ addi r31, r31, 0xec lbl_803E1938: /* 803E1938 003DD598 7C 1B E8 40 */ cmplw r27, r29 /* 803E193C 003DD59C 41 80 FF C0 */ blt lbl_803E18FC /* 803E1940 003DD5A0 39 61 00 30 */ addi r11, r1, 0x30 /* 803E1944 003DD5A4 7F 83 E3 78 */ mr r3, r28 /* 803E1948 003DD5A8 4B DE 58 25 */ bl _restgpr_25 /* 803E194C 003DD5AC 80 01 00 34 */ lwz r0, 0x34(r1) /* 803E1950 003DD5B0 7C 08 03 A6 */ mtlr r0 /* 803E1954 003DD5B4 38 21 00 30 */ addi r1, r1, 0x30 /* 803E1958 003DD5B8 4E 80 00 20 */ blr .global func_803E195C func_803E195C: /* 803E195C 003DD5BC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803E1960 003DD5C0 7C 08 02 A6 */ mflr r0 /* 803E1964 003DD5C4 90 01 00 24 */ stw r0, 0x24(r1) /* 803E1968 003DD5C8 39 61 00 20 */ addi r11, r1, 0x20 /* 803E196C 003DD5CC 4B DE 57 C1 */ bl _savegpr_28 /* 803E1970 003DD5D0 7C 7C 1B 78 */ mr r28, r3 /* 803E1974 003DD5D4 7C 9D 23 78 */ mr r29, r4 /* 803E1978 003DD5D8 4B FF 89 A1 */ bl func_803DA318 /* 803E197C 003DD5DC 80 9C 00 00 */ lwz r4, 0(r28) /* 803E1980 003DD5E0 7F 83 E3 78 */ mr r3, r28 /* 803E1984 003DD5E4 38 A0 00 00 */ li r5, 0 /* 803E1988 003DD5E8 4B FF B8 31 */ bl func_803DD1B8 /* 803E198C 003DD5EC 80 9C 00 00 */ lwz r4, 0(r28) /* 803E1990 003DD5F0 7C 7E 1B 78 */ mr r30, r3 /* 803E1994 003DD5F4 7F 83 E3 78 */ mr r3, r28 /* 803E1998 003DD5F8 38 A0 00 01 */ li r5, 1 /* 803E199C 003DD5FC 4B FF B8 1D */ bl func_803DD1B8 /* 803E19A0 003DD600 80 9C 00 00 */ lwz r4, 0(r28) /* 803E19A4 003DD604 7C 7F 1B 78 */ mr r31, r3 /* 803E19A8 003DD608 7F 83 E3 78 */ mr r3, r28 /* 803E19AC 003DD60C 38 A0 00 02 */ li r5, 2 /* 803E19B0 003DD610 4B FF B8 09 */ bl func_803DD1B8 /* 803E19B4 003DD614 2C 1D 00 00 */ cmpwi r29, 0 /* 803E19B8 003DD618 40 82 00 10 */ bne lbl_803E19C8 /* 803E19BC 003DD61C 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803E19C0 003DD620 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 803E19C4 003DD624 41 82 00 20 */ beq lbl_803E19E4 lbl_803E19C8: /* 803E19C8 003DD628 80 1F 00 10 */ lwz r0, 0x10(r31) /* 803E19CC 003DD62C 7C 65 1B 78 */ mr r5, r3 /* 803E19D0 003DD630 38 80 00 00 */ li r4, 0 /* 803E19D4 003DD634 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e /* 803E19D8 003DD638 90 1F 00 10 */ stw r0, 0x10(r31) /* 803E19DC 003DD63C A0 7E 00 00 */ lhz r3, 0(r30) /* 803E19E0 003DD640 4B FF E7 ED */ bl func_803E01CC lbl_803E19E4: /* 803E19E4 003DD644 39 61 00 20 */ addi r11, r1, 0x20 /* 803E19E8 003DD648 4B DE 57 91 */ bl _restgpr_28 /* 803E19EC 003DD64C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803E19F0 003DD650 7C 08 03 A6 */ mtlr r0 /* 803E19F4 003DD654 38 21 00 20 */ addi r1, r1, 0x20 /* 803E19F8 003DD658 4E 80 00 20 */ blr .global func_803E19FC func_803E19FC: /* 803E19FC 003DD65C 54 64 44 2E */ rlwinm r4, r3, 8, 0x10, 0x17 /* 803E1A00 003DD660 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f /* 803E1A04 003DD664 7C 04 02 14 */ add r0, r4, r0 /* 803E1A08 003DD668 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 803E1A0C 003DD66C 4E 80 00 20 */ blr .global func_803E1A10 func_803E1A10: /* 803E1A10 003DD670 54 64 C4 2E */ rlwinm r4, r3, 0x18, 0x10, 0x17 /* 803E1A14 003DD674 54 60 42 1E */ rlwinm r0, r3, 8, 8, 0xf /* 803E1A18 003DD678 50 64 46 3E */ rlwimi r4, r3, 8, 0x18, 0x1f /* 803E1A1C 003DD67C 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 /* 803E1A20 003DD680 7C 83 03 78 */ or r3, r4, r0 /* 803E1A24 003DD684 4E 80 00 20 */ blr .global func_803E1A28 func_803E1A28: /* 803E1A28 003DD688 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803E1A2C 003DD68C 7C 08 02 A6 */ mflr r0 /* 803E1A30 003DD690 90 01 00 24 */ stw r0, 0x24(r1) /* 803E1A34 003DD694 39 61 00 20 */ addi r11, r1, 0x20 /* 803E1A38 003DD698 4B DE 56 F9 */ bl _savegpr_29 /* 803E1A3C 003DD69C 3B E0 FF FF */ li r31, -1 /* 803E1A40 003DD6A0 7C 7D 1B 78 */ mr r29, r3 /* 803E1A44 003DD6A4 7C 83 F8 38 */ and r3, r4, r31 /* 803E1A48 003DD6A8 4B FF FF C9 */ bl func_803E1A10 /* 803E1A4C 003DD6AC 7C 7E 1B 78 */ mr r30, r3 /* 803E1A50 003DD6B0 7F A3 F8 38 */ and r3, r29, r31 /* 803E1A54 003DD6B4 4B FF FF BD */ bl func_803E1A10 /* 803E1A58 003DD6B8 39 61 00 20 */ addi r11, r1, 0x20 /* 803E1A5C 003DD6BC 7C 64 1B 78 */ mr r4, r3 /* 803E1A60 003DD6C0 7F C3 F3 78 */ mr r3, r30 /* 803E1A64 003DD6C4 4B DE 57 19 */ bl _restgpr_29 /* 803E1A68 003DD6C8 80 01 00 24 */ lwz r0, 0x24(r1) /* 803E1A6C 003DD6CC 7C 08 03 A6 */ mtlr r0 /* 803E1A70 003DD6D0 38 21 00 20 */ addi r1, r1, 0x20 /* 803E1A74 003DD6D4 4E 80 00 20 */ blr .global func_803E1A78 func_803E1A78: /* 803E1A78 003DD6D8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803E1A7C 003DD6DC 7C 08 02 A6 */ mflr r0 /* 803E1A80 003DD6E0 90 01 00 14 */ stw r0, 0x14(r1) /* 803E1A84 003DD6E4 93 E1 00 0C */ stw r31, 0xc(r1) /* 803E1A88 003DD6E8 7C 9F 23 78 */ mr r31, r4 /* 803E1A8C 003DD6EC 93 C1 00 08 */ stw r30, 8(r1) /* 803E1A90 003DD6F0 7C 7E 1B 78 */ mr r30, r3 /* 803E1A94 003DD6F4 A0 63 00 00 */ lhz r3, 0(r3) /* 803E1A98 003DD6F8 48 00 01 D5 */ bl func_803E1C6C /* 803E1A9C 003DD6FC B0 7F 00 00 */ sth r3, 0(r31) /* 803E1AA0 003DD700 A0 7E 00 02 */ lhz r3, 2(r30) /* 803E1AA4 003DD704 48 00 01 C9 */ bl func_803E1C6C /* 803E1AA8 003DD708 B0 7F 00 02 */ sth r3, 2(r31) /* 803E1AAC 003DD70C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803E1AB0 003DD710 83 C1 00 08 */ lwz r30, 8(r1) /* 803E1AB4 003DD714 80 01 00 14 */ lwz r0, 0x14(r1) /* 803E1AB8 003DD718 7C 08 03 A6 */ mtlr r0 /* 803E1ABC 003DD71C 38 21 00 10 */ addi r1, r1, 0x10 /* 803E1AC0 003DD720 4E 80 00 20 */ blr .global func_803E1AC4 func_803E1AC4: /* 803E1AC4 003DD724 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803E1AC8 003DD728 7C 08 02 A6 */ mflr r0 /* 803E1ACC 003DD72C 90 01 00 24 */ stw r0, 0x24(r1) /* 803E1AD0 003DD730 39 61 00 20 */ addi r11, r1, 0x20 /* 803E1AD4 003DD734 4B DE 56 59 */ bl _savegpr_28 /* 803E1AD8 003DD738 7C 7E 1B 78 */ mr r30, r3 /* 803E1ADC 003DD73C 7C 9F 23 78 */ mr r31, r4 /* 803E1AE0 003DD740 3B 80 00 00 */ li r28, 0 /* 803E1AE4 003DD744 3B A0 00 00 */ li r29, 0 lbl_803E1AE8: /* 803E1AE8 003DD748 7C 7E EA 14 */ add r3, r30, r29 /* 803E1AEC 003DD74C 7C 9F EA 14 */ add r4, r31, r29 /* 803E1AF0 003DD750 4B FF FF 89 */ bl func_803E1A78 /* 803E1AF4 003DD754 3B 9C 00 01 */ addi r28, r28, 1 /* 803E1AF8 003DD758 3B BD 00 04 */ addi r29, r29, 4 /* 803E1AFC 003DD75C 2C 1C 00 A5 */ cmpwi r28, 0xa5 /* 803E1B00 003DD760 41 80 FF E8 */ blt lbl_803E1AE8 /* 803E1B04 003DD764 3B 80 00 00 */ li r28, 0 /* 803E1B08 003DD768 3B A0 00 00 */ li r29, 0 lbl_803E1B0C: /* 803E1B0C 003DD76C 7C 7E EA 14 */ add r3, r30, r29 /* 803E1B10 003DD770 7C 9F EA 14 */ add r4, r31, r29 /* 803E1B14 003DD774 38 63 02 94 */ addi r3, r3, 0x294 /* 803E1B18 003DD778 38 84 02 94 */ addi r4, r4, 0x294 /* 803E1B1C 003DD77C 4B FF FF 5D */ bl func_803E1A78 /* 803E1B20 003DD780 3B 9C 00 01 */ addi r28, r28, 1 /* 803E1B24 003DD784 3B BD 00 04 */ addi r29, r29, 4 /* 803E1B28 003DD788 2C 1C 00 32 */ cmpwi r28, 0x32 /* 803E1B2C 003DD78C 41 80 FF E0 */ blt lbl_803E1B0C /* 803E1B30 003DD790 3B 80 00 00 */ li r28, 0 /* 803E1B34 003DD794 3B A0 00 00 */ li r29, 0 lbl_803E1B38: /* 803E1B38 003DD798 7C 7E EA 14 */ add r3, r30, r29 /* 803E1B3C 003DD79C 7C 9F EA 14 */ add r4, r31, r29 /* 803E1B40 003DD7A0 38 63 03 5C */ addi r3, r3, 0x35c /* 803E1B44 003DD7A4 38 84 03 5C */ addi r4, r4, 0x35c /* 803E1B48 003DD7A8 4B FF FF 31 */ bl func_803E1A78 /* 803E1B4C 003DD7AC 3B 9C 00 01 */ addi r28, r28, 1 /* 803E1B50 003DD7B0 3B BD 00 04 */ addi r29, r29, 4 /* 803E1B54 003DD7B4 2C 1C 00 64 */ cmpwi r28, 0x64 /* 803E1B58 003DD7B8 41 80 FF E0 */ blt lbl_803E1B38 /* 803E1B5C 003DD7BC 3B 80 00 00 */ li r28, 0 /* 803E1B60 003DD7C0 3B A0 00 00 */ li r29, 0 lbl_803E1B64: /* 803E1B64 003DD7C4 7C 7E EA 14 */ add r3, r30, r29 /* 803E1B68 003DD7C8 7C 9F EA 14 */ add r4, r31, r29 /* 803E1B6C 003DD7CC 38 63 04 EC */ addi r3, r3, 0x4ec /* 803E1B70 003DD7D0 38 84 04 EC */ addi r4, r4, 0x4ec /* 803E1B74 003DD7D4 4B FF FF 05 */ bl func_803E1A78 /* 803E1B78 003DD7D8 3B 9C 00 01 */ addi r28, r28, 1 /* 803E1B7C 003DD7DC 3B BD 00 04 */ addi r29, r29, 4 /* 803E1B80 003DD7E0 2C 1C 00 0C */ cmpwi r28, 0xc /* 803E1B84 003DD7E4 41 80 FF E0 */ blt lbl_803E1B64 /* 803E1B88 003DD7E8 3B 80 00 00 */ li r28, 0 /* 803E1B8C 003DD7EC 3B A0 00 00 */ li r29, 0 lbl_803E1B90: /* 803E1B90 003DD7F0 7C 7E EA 14 */ add r3, r30, r29 /* 803E1B94 003DD7F4 7C 9F EA 14 */ add r4, r31, r29 /* 803E1B98 003DD7F8 38 63 05 1C */ addi r3, r3, 0x51c /* 803E1B9C 003DD7FC 38 84 05 1C */ addi r4, r4, 0x51c /* 803E1BA0 003DD800 4B FF FE D9 */ bl func_803E1A78 /* 803E1BA4 003DD804 3B 9C 00 01 */ addi r28, r28, 1 /* 803E1BA8 003DD808 3B BD 00 04 */ addi r29, r29, 4 /* 803E1BAC 003DD80C 2C 1C 00 28 */ cmpwi r28, 0x28 /* 803E1BB0 003DD810 41 80 FF E0 */ blt lbl_803E1B90 /* 803E1BB4 003DD814 3B 80 00 00 */ li r28, 0 /* 803E1BB8 003DD818 3B A0 00 00 */ li r29, 0 lbl_803E1BBC: /* 803E1BBC 003DD81C 7C 7E EA 14 */ add r3, r30, r29 /* 803E1BC0 003DD820 7C 9F EA 14 */ add r4, r31, r29 /* 803E1BC4 003DD824 38 63 05 BC */ addi r3, r3, 0x5bc /* 803E1BC8 003DD828 38 84 05 BC */ addi r4, r4, 0x5bc /* 803E1BCC 003DD82C 4B FF FE AD */ bl func_803E1A78 /* 803E1BD0 003DD830 3B 9C 00 01 */ addi r28, r28, 1 /* 803E1BD4 003DD834 3B BD 00 04 */ addi r29, r29, 4 /* 803E1BD8 003DD838 2C 1C 00 40 */ cmpwi r28, 0x40 /* 803E1BDC 003DD83C 41 80 FF E0 */ blt lbl_803E1BBC /* 803E1BE0 003DD840 3B 80 00 00 */ li r28, 0 /* 803E1BE4 003DD844 3B A0 00 00 */ li r29, 0 lbl_803E1BE8: /* 803E1BE8 003DD848 7C 7E EA 14 */ add r3, r30, r29 /* 803E1BEC 003DD84C 7C 9F EA 14 */ add r4, r31, r29 /* 803E1BF0 003DD850 38 63 06 BC */ addi r3, r3, 0x6bc /* 803E1BF4 003DD854 38 84 06 BC */ addi r4, r4, 0x6bc /* 803E1BF8 003DD858 4B FF FE 81 */ bl func_803E1A78 /* 803E1BFC 003DD85C 3B 9C 00 01 */ addi r28, r28, 1 /* 803E1C00 003DD860 3B BD 00 04 */ addi r29, r29, 4 /* 803E1C04 003DD864 2C 1C 00 0F */ cmpwi r28, 0xf /* 803E1C08 003DD868 41 80 FF E0 */ blt lbl_803E1BE8 /* 803E1C0C 003DD86C 3B 80 00 00 */ li r28, 0 /* 803E1C10 003DD870 3B A0 00 00 */ li r29, 0 lbl_803E1C14: /* 803E1C14 003DD874 7C 7E EA 14 */ add r3, r30, r29 /* 803E1C18 003DD878 7C 9F EA 14 */ add r4, r31, r29 /* 803E1C1C 003DD87C 38 63 06 F8 */ addi r3, r3, 0x6f8 /* 803E1C20 003DD880 38 84 06 F8 */ addi r4, r4, 0x6f8 /* 803E1C24 003DD884 4B FF FE 55 */ bl func_803E1A78 /* 803E1C28 003DD888 3B 9C 00 01 */ addi r28, r28, 1 /* 803E1C2C 003DD88C 3B BD 00 04 */ addi r29, r29, 4 /* 803E1C30 003DD890 2C 1C 00 1E */ cmpwi r28, 0x1e /* 803E1C34 003DD894 41 80 FF E0 */ blt lbl_803E1C14 /* 803E1C38 003DD898 80 9E 07 70 */ lwz r4, 0x770(r30) /* 803E1C3C 003DD89C 39 61 00 20 */ addi r11, r1, 0x20 /* 803E1C40 003DD8A0 54 83 C4 2E */ rlwinm r3, r4, 0x18, 0x10, 0x17 /* 803E1C44 003DD8A4 54 80 42 1E */ rlwinm r0, r4, 8, 8, 0xf /* 803E1C48 003DD8A8 50 83 46 3E */ rlwimi r3, r4, 8, 0x18, 0x1f /* 803E1C4C 003DD8AC 50 80 C0 0E */ rlwimi r0, r4, 0x18, 0, 7 /* 803E1C50 003DD8B0 7C 60 03 78 */ or r0, r3, r0 /* 803E1C54 003DD8B4 90 1F 07 70 */ stw r0, 0x770(r31) /* 803E1C58 003DD8B8 4B DE 55 21 */ bl _restgpr_28 /* 803E1C5C 003DD8BC 80 01 00 24 */ lwz r0, 0x24(r1) /* 803E1C60 003DD8C0 7C 08 03 A6 */ mtlr r0 /* 803E1C64 003DD8C4 38 21 00 20 */ addi r1, r1, 0x20 /* 803E1C68 003DD8C8 4E 80 00 20 */ blr .global func_803E1C6C func_803E1C6C: /* 803E1C6C 003DD8CC 54 64 44 2E */ rlwinm r4, r3, 8, 0x10, 0x17 /* 803E1C70 003DD8D0 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f /* 803E1C74 003DD8D4 7C 04 02 14 */ add r0, r4, r0 /* 803E1C78 003DD8D8 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 803E1C7C 003DD8DC 4E 80 00 20 */ blr .global func_803E1C80 func_803E1C80: /* 803E1C80 003DD8E0 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 803E1C84 003DD8E4 7C 08 02 A6 */ mflr r0 /* 803E1C88 003DD8E8 90 01 00 C4 */ stw r0, 0xc4(r1) /* 803E1C8C 003DD8EC 39 61 00 C0 */ addi r11, r1, 0xc0 /* 803E1C90 003DD8F0 4B DE 54 79 */ bl _savegpr_19 /* 803E1C94 003DD8F4 7C 7D 1B 78 */ mr r29, r3 /* 803E1C98 003DD8F8 7C 9E 23 78 */ mr r30, r4 /* 803E1C9C 003DD8FC 3B E0 00 00 */ li r31, 0 /* 803E1CA0 003DD900 3B 60 00 00 */ li r27, 0 /* 803E1CA4 003DD904 3B 40 00 00 */ li r26, 0 /* 803E1CA8 003DD908 3B 80 00 14 */ li r28, 0x14 lbl_803E1CAC: /* 803E1CAC 003DD90C 7C 7D DA 14 */ add r3, r29, r27 /* 803E1CB0 003DD910 7E DE DA 14 */ add r22, r30, r27 /* 803E1CB4 003DD914 3A E3 00 04 */ addi r23, r3, 4 /* 803E1CB8 003DD918 3A A0 00 00 */ li r21, 0 /* 803E1CBC 003DD91C 3B 20 00 00 */ li r25, 0 lbl_803E1CC0: /* 803E1CC0 003DD920 7E 97 CA 14 */ add r20, r23, r25 /* 803E1CC4 003DD924 7E 76 CA 14 */ add r19, r22, r25 /* 803E1CC8 003DD928 7E 83 A3 78 */ mr r3, r20 /* 803E1CCC 003DD92C 4B FF E8 35 */ bl func_803E0500 /* 803E1CD0 003DD930 7E 83 A3 78 */ mr r3, r20 /* 803E1CD4 003DD934 4B FF FB 75 */ bl func_803E1848 /* 803E1CD8 003DD938 7C 78 1B 78 */ mr r24, r3 /* 803E1CDC 003DD93C 7E 83 A3 78 */ mr r3, r20 /* 803E1CE0 003DD940 7E 64 9B 78 */ mr r4, r19 /* 803E1CE4 003DD944 4B FF EF C9 */ bl func_803E0CAC /* 803E1CE8 003DD948 2C 18 00 00 */ cmpwi r24, 0 /* 803E1CEC 003DD94C 40 82 00 40 */ bne lbl_803E1D2C /* 803E1CF0 003DD950 A0 13 00 04 */ lhz r0, 4(r19) /* 803E1CF4 003DD954 7E 63 9B 78 */ mr r3, r19 /* 803E1CF8 003DD958 38 A0 00 02 */ li r5, 2 /* 803E1CFC 003DD95C 60 00 20 00 */ ori r0, r0, 0x2000 /* 803E1D00 003DD960 B0 13 00 04 */ sth r0, 4(r19) /* 803E1D04 003DD964 80 93 00 00 */ lwz r4, 0(r19) /* 803E1D08 003DD968 4B FF B4 B1 */ bl func_803DD1B8 /* 803E1D0C 003DD96C 7C 64 1B 78 */ mr r4, r3 /* 803E1D10 003DD970 38 61 00 48 */ addi r3, r1, 0x48 /* 803E1D14 003DD974 38 A0 00 0B */ li r5, 0xb /* 803E1D18 003DD978 4B D9 53 69 */ bl func_80177080 /* 803E1D1C 003DD97C 38 61 00 08 */ addi r3, r1, 8 /* 803E1D20 003DD980 38 81 00 48 */ addi r4, r1, 0x48 /* 803E1D24 003DD984 38 A0 00 40 */ li r5, 0x40 /* 803E1D28 003DD988 4B D9 54 25 */ bl func_8017714C lbl_803E1D2C: /* 803E1D2C 003DD98C 3A B5 00 01 */ addi r21, r21, 1 /* 803E1D30 003DD990 3B 39 00 88 */ addi r25, r25, 0x88 /* 803E1D34 003DD994 2C 15 00 1E */ cmpwi r21, 0x1e /* 803E1D38 003DD998 41 80 FF 88 */ blt lbl_803E1CC0 /* 803E1D3C 003DD99C 7C FD D2 14 */ add r7, r29, r26 /* 803E1D40 003DD9A0 7D 1E D2 14 */ add r8, r30, r26 /* 803E1D44 003DD9A4 38 60 00 00 */ li r3, 0 /* 803E1D48 003DD9A8 7F 89 03 A6 */ mtctr r28 lbl_803E1D4C: /* 803E1D4C 003DD9AC 3C 83 00 01 */ addis r4, r3, 1 /* 803E1D50 003DD9B0 38 63 00 02 */ addi r3, r3, 2 /* 803E1D54 003DD9B4 38 04 1E E4 */ addi r0, r4, 0x1ee4 /* 803E1D58 003DD9B8 7C C7 02 2E */ lhzx r6, r7, r0 /* 803E1D5C 003DD9BC 38 04 1E E0 */ addi r0, r4, 0x1ee0 /* 803E1D60 003DD9C0 54 C5 44 2E */ rlwinm r5, r6, 8, 0x10, 0x17 /* 803E1D64 003DD9C4 54 C4 C6 3E */ rlwinm r4, r6, 0x18, 0x18, 0x1f /* 803E1D68 003DD9C8 7C 85 22 14 */ add r4, r5, r4 /* 803E1D6C 003DD9CC 7C 88 03 2E */ sthx r4, r8, r0 /* 803E1D70 003DD9D0 42 00 FF DC */ bdnz lbl_803E1D4C /* 803E1D74 003DD9D4 3B FF 00 01 */ addi r31, r31, 1 /* 803E1D78 003DD9D8 3B 5A 00 28 */ addi r26, r26, 0x28 /* 803E1D7C 003DD9DC 2C 1F 00 12 */ cmpwi r31, 0x12 /* 803E1D80 003DD9E0 3B 7B 0F F0 */ addi r27, r27, 0xff0 /* 803E1D84 003DD9E4 41 80 FF 28 */ blt lbl_803E1CAC /* 803E1D88 003DD9E8 39 61 00 C0 */ addi r11, r1, 0xc0 /* 803E1D8C 003DD9EC 4B DE 53 C9 */ bl _restgpr_19 /* 803E1D90 003DD9F0 80 01 00 C4 */ lwz r0, 0xc4(r1) /* 803E1D94 003DD9F4 7C 08 03 A6 */ mtlr r0 /* 803E1D98 003DD9F8 38 21 00 C0 */ addi r1, r1, 0xc0 /* 803E1D9C 003DD9FC 4E 80 00 20 */ blr .global func_803E1DA0 func_803E1DA0: /* 803E1DA0 003DDA00 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803E1DA4 003DDA04 7C 08 02 A6 */ mflr r0 /* 803E1DA8 003DDA08 38 A0 00 00 */ li r5, 0 /* 803E1DAC 003DDA0C 90 01 00 14 */ stw r0, 0x14(r1) /* 803E1DB0 003DDA10 38 00 00 08 */ li r0, 8 /* 803E1DB4 003DDA14 93 E1 00 0C */ stw r31, 0xc(r1) /* 803E1DB8 003DDA18 7C 9F 23 78 */ mr r31, r4 /* 803E1DBC 003DDA1C 93 C1 00 08 */ stw r30, 8(r1) /* 803E1DC0 003DDA20 7C 7E 1B 78 */ mr r30, r3 /* 803E1DC4 003DDA24 7C 09 03 A6 */ mtctr r0 lbl_803E1DC8: /* 803E1DC8 003DDA28 7C 03 2A 2E */ lhzx r0, r3, r5 /* 803E1DCC 003DDA2C 54 06 44 2E */ rlwinm r6, r0, 8, 0x10, 0x17 /* 803E1DD0 003DDA30 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f /* 803E1DD4 003DDA34 7C 06 02 14 */ add r0, r6, r0 /* 803E1DD8 003DDA38 7C 04 2B 2E */ sthx r0, r4, r5 /* 803E1DDC 003DDA3C 38 A5 00 02 */ addi r5, r5, 2 /* 803E1DE0 003DDA40 42 00 FF E8 */ bdnz lbl_803E1DC8 /* 803E1DE4 003DDA44 80 63 00 10 */ lwz r3, 0x10(r3) /* 803E1DE8 003DDA48 48 00 00 55 */ bl func_803E1E3C /* 803E1DEC 003DDA4C 90 7F 00 10 */ stw r3, 0x10(r31) /* 803E1DF0 003DDA50 80 7E 00 14 */ lwz r3, 0x14(r30) /* 803E1DF4 003DDA54 48 00 00 49 */ bl func_803E1E3C /* 803E1DF8 003DDA58 90 7F 00 14 */ stw r3, 0x14(r31) /* 803E1DFC 003DDA5C 88 1E 00 18 */ lbz r0, 0x18(r30) /* 803E1E00 003DDA60 98 1F 00 18 */ stb r0, 0x18(r31) /* 803E1E04 003DDA64 88 1E 00 19 */ lbz r0, 0x19(r30) /* 803E1E08 003DDA68 98 1F 00 19 */ stb r0, 0x19(r31) /* 803E1E0C 003DDA6C 88 1E 00 1A */ lbz r0, 0x1a(r30) /* 803E1E10 003DDA70 98 1F 00 1A */ stb r0, 0x1a(r31) /* 803E1E14 003DDA74 88 1E 00 1B */ lbz r0, 0x1b(r30) /* 803E1E18 003DDA78 98 1F 00 1B */ stb r0, 0x1b(r31) /* 803E1E1C 003DDA7C 88 1E 00 1C */ lbz r0, 0x1c(r30) /* 803E1E20 003DDA80 98 1F 00 1C */ stb r0, 0x1c(r31) /* 803E1E24 003DDA84 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803E1E28 003DDA88 83 C1 00 08 */ lwz r30, 8(r1) /* 803E1E2C 003DDA8C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803E1E30 003DDA90 7C 08 03 A6 */ mtlr r0 /* 803E1E34 003DDA94 38 21 00 10 */ addi r1, r1, 0x10 /* 803E1E38 003DDA98 4E 80 00 20 */ blr .global func_803E1E3C func_803E1E3C: /* 803E1E3C 003DDA9C 54 64 C4 2E */ rlwinm r4, r3, 0x18, 0x10, 0x17 /* 803E1E40 003DDAA0 54 60 42 1E */ rlwinm r0, r3, 8, 8, 0xf /* 803E1E44 003DDAA4 50 64 46 3E */ rlwimi r4, r3, 8, 0x18, 0x1f /* 803E1E48 003DDAA8 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 /* 803E1E4C 003DDAAC 7C 83 03 78 */ or r3, r4, r0 /* 803E1E50 003DDAB0 4E 80 00 20 */ blr /* 803E1E54 003DDAB4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ /* 803E1E58 003DDAB8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ /* 803E1E5C 003DDABC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */