pokerevo/asm/text_11_2.s

9319 lines
430 KiB
ArmAsm

.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 */