diff options
author | red031000 <rubenru09@aol.com> | 2020-09-18 16:18:51 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-09-18 16:18:51 +0100 |
commit | acf90f87c4660c63dd8b9b0dcf127e6155d1201d (patch) | |
tree | 1f5c093ef2fb37dce461bad54f0c328823b4c6fd | |
parent | dce9d7dd3363fb3c788e9eef5d71a35e0356a02b (diff) |
split global_destructor_chain and __init_cpp_exceptions
-rw-r--r-- | asm/ctors.s | 2 | ||||
-rw-r--r-- | asm/dtors.s | 2 | ||||
-rw-r--r-- | asm/libstdc++/__init_cpp_exceptions.s | 45 | ||||
-rw-r--r-- | asm/libstdc++/global_destructor_chain.s | 35 | ||||
-rw-r--r-- | asm/text_1.s | 36 | ||||
-rw-r--r-- | asm/text_10_2.s | 82 | ||||
-rw-r--r-- | asm/text_11.s | 4 | ||||
-rw-r--r-- | asm/text_3.s | 8 | ||||
-rw-r--r-- | asm/text_4.s | 30 | ||||
-rw-r--r-- | asm/text_5_2.s | 3583 | ||||
-rw-r--r-- | asm/text_5_3.s | 3511 | ||||
-rw-r--r-- | asm/text_6_2.s | 12 | ||||
-rw-r--r-- | asm/text_7.s | 26 | ||||
-rw-r--r-- | obj_files.mk | 99 |
14 files changed, 3743 insertions, 3732 deletions
diff --git a/asm/ctors.s b/asm/ctors.s index 22c0254..0687dca 100644 --- a/asm/ctors.s +++ b/asm/ctors.s @@ -4,6 +4,6 @@ .global lbl_803E1E60 lbl_803E1E60: - .4byte func_801C77C0, func_8000746C, func_80007920, func_800097B8 + .4byte __init_cpp_exceptions_tmp, func_8000746C, func_80007920, func_800097B8 .4byte func_8000A7A4, func_8000AAA4, func_8000AD5C, func_80024900 .incbin "baserom.dol", 0x3DDF80, 0x420 diff --git a/asm/dtors.s b/asm/dtors.s index d000a1a..6417673 100644 --- a/asm/dtors.s +++ b/asm/dtors.s @@ -4,6 +4,6 @@ .global lbl_803E22A0 lbl_803E22A0: - .4byte func_801C6C60, func_801C77FC + .4byte __destroy_global_chain_tmp, __fini_cpp_exceptions_tmp .balign 0x20, 0 diff --git a/asm/libstdc++/__init_cpp_exceptions.s b/asm/libstdc++/__init_cpp_exceptions.s new file mode 100644 index 0000000..aa1fa2a --- /dev/null +++ b/asm/libstdc++/__init_cpp_exceptions.s @@ -0,0 +1,45 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global __init_cpp_exceptions_tmp +__init_cpp_exceptions_tmp: #__init_cpp_exceptions +#causes "runtime sources 'global_destructor_chain.c' and '__init_cpp_exceptions.cpp' both need to be updated to latest +#version. Please contact Metrowerks support." error +#needs to be split correctly before renaming +/* 801C77C0 001C3420 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801C77C4 001C3424 7C 08 02 A6 */ mflr r0 +/* 801C77C8 001C3428 90 01 00 14 */ stw r0, 0x14(r1) +/* 801C77CC 001C342C 80 0D 83 D8 */ lwz r0, lbl_8063D698-_SDA_BASE_(r13) +/* 801C77D0 001C3430 2C 00 FF FE */ cmpwi r0, -2 +/* 801C77D4 001C3434 40 82 00 18 */ bne lbl_801C77EC +/* 801C77D8 001C3438 3C 60 80 00 */ lis r3, lbl_80006948@ha +/* 801C77DC 001C343C 7C 44 13 78 */ mr r4, r2 +/* 801C77E0 001C3440 38 63 69 48 */ addi r3, r3, lbl_80006948@l +/* 801C77E4 001C3444 48 00 00 4D */ bl __register_fragment +/* 801C77E8 001C3448 90 6D 83 D8 */ stw r3, lbl_8063D698-_SDA_BASE_(r13) +lbl_801C77EC: +/* 801C77EC 001C344C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801C77F0 001C3450 7C 08 03 A6 */ mtlr r0 +/* 801C77F4 001C3454 38 21 00 10 */ addi r1, r1, 0x10 +/* 801C77F8 001C3458 4E 80 00 20 */ blr + +.global __fini_cpp_exceptions_tmp +__fini_cpp_exceptions_tmp: #__fini_cpp_exceptions +#causes "runtime sources 'global_destructor_chain.c' and '__init_cpp_exceptions.cpp' both need to be updated to latest +#version. Please contact Metrowerks support." error +#needs to be split correctly before renaming +/* 801C77FC 001C345C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801C7800 001C3460 7C 08 02 A6 */ mflr r0 +/* 801C7804 001C3464 90 01 00 14 */ stw r0, 0x14(r1) +/* 801C7808 001C3468 80 6D 83 D8 */ lwz r3, lbl_8063D698-_SDA_BASE_(r13) +/* 801C780C 001C346C 2C 03 FF FE */ cmpwi r3, -2 +/* 801C7810 001C3470 41 82 00 10 */ beq lbl_801C7820 +/* 801C7814 001C3474 48 00 00 51 */ bl func_801C7864 +/* 801C7818 001C3478 38 00 FF FE */ li r0, -2 +/* 801C781C 001C347C 90 0D 83 D8 */ stw r0, lbl_8063D698-_SDA_BASE_(r13) +lbl_801C7820: +/* 801C7820 001C3480 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801C7824 001C3484 7C 08 03 A6 */ mtlr r0 +/* 801C7828 001C3488 38 21 00 10 */ addi r1, r1, 0x10 +/* 801C782C 001C348C 4E 80 00 20 */ blr diff --git a/asm/libstdc++/global_destructor_chain.s b/asm/libstdc++/global_destructor_chain.s new file mode 100644 index 0000000..1b2cfba --- /dev/null +++ b/asm/libstdc++/global_destructor_chain.s @@ -0,0 +1,35 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global __register_global_object_tmp +__register_global_object_tmp: +/* 801C6C48 001C28A8 80 0D 9F C0 */ lwz r0, lbl_8063F280-_SDA_BASE_(r13) +/* 801C6C4C 001C28AC 90 05 00 00 */ stw r0, 0(r5) +/* 801C6C50 001C28B0 90 85 00 04 */ stw r4, 4(r5) +/* 801C6C54 001C28B4 90 65 00 08 */ stw r3, 8(r5) +/* 801C6C58 001C28B8 90 AD 9F C0 */ stw r5, lbl_8063F280-_SDA_BASE_(r13) +/* 801C6C5C 001C28BC 4E 80 00 20 */ blr + +.global __destroy_global_chain_tmp +__destroy_global_chain_tmp: +/* 801C6C60 001C28C0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801C6C64 001C28C4 7C 08 02 A6 */ mflr r0 +/* 801C6C68 001C28C8 90 01 00 14 */ stw r0, 0x14(r1) +/* 801C6C6C 001C28CC 48 00 00 20 */ b lbl_801C6C8C +lbl_801C6C70: +/* 801C6C70 001C28D0 80 03 00 00 */ lwz r0, 0(r3) +/* 801C6C74 001C28D4 38 80 FF FF */ li r4, -1 +/* 801C6C78 001C28D8 90 0D 9F C0 */ stw r0, lbl_8063F280-_SDA_BASE_(r13) +/* 801C6C7C 001C28DC 81 83 00 04 */ lwz r12, 4(r3) +/* 801C6C80 001C28E0 80 63 00 08 */ lwz r3, 8(r3) +/* 801C6C84 001C28E4 7D 89 03 A6 */ mtctr r12 +/* 801C6C88 001C28E8 4E 80 04 21 */ bctrl +lbl_801C6C8C: +/* 801C6C8C 001C28EC 80 6D 9F C0 */ lwz r3, lbl_8063F280-_SDA_BASE_(r13) +/* 801C6C90 001C28F0 2C 03 00 00 */ cmpwi r3, 0 +/* 801C6C94 001C28F4 40 82 FF DC */ bne lbl_801C6C70 +/* 801C6C98 001C28F8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801C6C9C 001C28FC 7C 08 03 A6 */ mtlr r0 +/* 801C6CA0 001C2900 38 21 00 10 */ addi r1, r1, 0x10 +/* 801C6CA4 001C2904 4E 80 00 20 */ blr diff --git a/asm/text_1.s b/asm/text_1.s index 835d7ba..551eec1 100644 --- a/asm/text_1.s +++ b/asm/text_1.s @@ -4978,7 +4978,7 @@ func_8000AD5C: /* 8000AD9C 000069FC 38 7F 4F 0C */ addi r3, r31, 0x4f0c /* 8000ADA0 00006A00 38 84 5E E0 */ addi r4, r4, func_80225EE0@l /* 8000ADA4 00006A04 38 A5 4F 00 */ addi r5, r5, lbl_80474F00@l -/* 8000ADA8 00006A08 48 1B BE A1 */ bl func_801C6C48 +/* 8000ADA8 00006A08 48 1B BE A1 */ bl __register_global_object_tmp /* 8000ADAC 00006A0C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8000ADB0 00006A10 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8000ADB4 00006A14 7C 08 03 A6 */ mtlr r0 @@ -90746,7 +90746,7 @@ func_80055428: /* 800554BC 0005111C 38 BF 00 B8 */ addi r5, r31, 0xb8 /* 800554C0 00051120 38 84 20 70 */ addi r4, r4, lbl_80052070@l /* 800554C4 00051124 38 6D 98 90 */ addi r3, r13, lbl_8063EB50-_SDA_BASE_ -/* 800554C8 00051128 48 17 17 81 */ bl func_801C6C48 +/* 800554C8 00051128 48 17 17 81 */ bl __register_global_object_tmp /* 800554CC 0005112C 38 7F 00 D0 */ addi r3, r31, 0xd0 /* 800554D0 00051130 38 80 07 D0 */ li r4, 0x7d0 /* 800554D4 00051134 38 AD 98 90 */ addi r5, r13, lbl_8063EB50-_SDA_BASE_ @@ -90755,7 +90755,7 @@ func_80055428: /* 800554E0 00051140 38 7F 00 D0 */ addi r3, r31, 0xd0 /* 800554E4 00051144 38 84 5E E0 */ addi r4, r4, func_80225EE0@l /* 800554E8 00051148 38 BF 00 C4 */ addi r5, r31, 0xc4 -/* 800554EC 0005114C 48 17 17 5D */ bl func_801C6C48 +/* 800554EC 0005114C 48 17 17 5D */ bl __register_global_object_tmp /* 800554F0 00051150 80 01 00 14 */ lwz r0, 0x14(r1) /* 800554F4 00051154 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800554F8 00051158 7C 08 03 A6 */ mtlr r0 @@ -91007,7 +91007,7 @@ lbl_800557D8: /* 80055828 00051488 38 BE 00 00 */ addi r5, r30, 0 /* 8005582C 0005148C 38 84 55 1C */ addi r4, r4, lbl_8005551C@l /* 80055830 00051490 38 6D 98 A0 */ addi r3, r13, lbl_8063EB60-_SDA_BASE_ -/* 80055834 00051494 48 17 14 15 */ bl func_801C6C48 +/* 80055834 00051494 48 17 14 15 */ bl __register_global_object_tmp /* 80055838 00051498 38 7E 00 18 */ addi r3, r30, 0x18 /* 8005583C 0005149C 38 80 07 D1 */ li r4, 0x7d1 /* 80055840 000514A0 38 AD 98 A0 */ addi r5, r13, lbl_8063EB60-_SDA_BASE_ @@ -91016,7 +91016,7 @@ lbl_800557D8: /* 8005584C 000514AC 38 7E 00 18 */ addi r3, r30, 0x18 /* 80055850 000514B0 38 9F 5E E0 */ addi r4, r31, func_80225EE0@l /* 80055854 000514B4 38 BE 00 0C */ addi r5, r30, 0xc -/* 80055858 000514B8 48 17 13 F1 */ bl func_801C6C48 +/* 80055858 000514B8 48 17 13 F1 */ bl __register_global_object_tmp /* 8005585C 000514BC 38 7E 00 40 */ addi r3, r30, 0x40 /* 80055860 000514C0 38 80 07 D2 */ li r4, 0x7d2 /* 80055864 000514C4 38 AD 98 A0 */ addi r5, r13, lbl_8063EB60-_SDA_BASE_ @@ -91024,7 +91024,7 @@ lbl_800557D8: /* 8005586C 000514CC 38 7E 00 40 */ addi r3, r30, 0x40 /* 80055870 000514D0 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 80055874 000514D4 38 BE 00 34 */ addi r5, r30, 0x34 -/* 80055878 000514D8 48 17 13 D1 */ bl func_801C6C48 +/* 80055878 000514D8 48 17 13 D1 */ bl __register_global_object_tmp /* 8005587C 000514DC 38 7E 00 68 */ addi r3, r30, 0x68 /* 80055880 000514E0 38 80 08 34 */ li r4, 0x834 /* 80055884 000514E4 38 AD 98 A0 */ addi r5, r13, lbl_8063EB60-_SDA_BASE_ @@ -91032,7 +91032,7 @@ lbl_800557D8: /* 8005588C 000514EC 38 7E 00 68 */ addi r3, r30, 0x68 /* 80055890 000514F0 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 80055894 000514F4 38 BE 00 5C */ addi r5, r30, 0x5c -/* 80055898 000514F8 48 17 13 B1 */ bl func_801C6C48 +/* 80055898 000514F8 48 17 13 B1 */ bl __register_global_object_tmp /* 8005589C 000514FC 38 7E 00 90 */ addi r3, r30, 0x90 /* 800558A0 00051500 38 80 08 98 */ li r4, 0x898 /* 800558A4 00051504 38 AD 98 A0 */ addi r5, r13, lbl_8063EB60-_SDA_BASE_ @@ -91040,7 +91040,7 @@ lbl_800557D8: /* 800558AC 0005150C 38 7E 00 90 */ addi r3, r30, 0x90 /* 800558B0 00051510 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 800558B4 00051514 38 BE 00 84 */ addi r5, r30, 0x84 -/* 800558B8 00051518 48 17 13 91 */ bl func_801C6C48 +/* 800558B8 00051518 48 17 13 91 */ bl __register_global_object_tmp /* 800558BC 0005151C 38 7E 00 B8 */ addi r3, r30, 0xb8 /* 800558C0 00051520 38 80 08 99 */ li r4, 0x899 /* 800558C4 00051524 38 AD 98 A0 */ addi r5, r13, lbl_8063EB60-_SDA_BASE_ @@ -91048,7 +91048,7 @@ lbl_800557D8: /* 800558CC 0005152C 38 7E 00 B8 */ addi r3, r30, 0xb8 /* 800558D0 00051530 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 800558D4 00051534 38 BE 00 AC */ addi r5, r30, 0xac -/* 800558D8 00051538 48 17 13 71 */ bl func_801C6C48 +/* 800558D8 00051538 48 17 13 71 */ bl __register_global_object_tmp /* 800558DC 0005153C 38 7E 00 E0 */ addi r3, r30, 0xe0 /* 800558E0 00051540 38 80 08 FC */ li r4, 0x8fc /* 800558E4 00051544 38 AD 98 A0 */ addi r5, r13, lbl_8063EB60-_SDA_BASE_ @@ -91056,7 +91056,7 @@ lbl_800557D8: /* 800558EC 0005154C 38 7E 00 E0 */ addi r3, r30, 0xe0 /* 800558F0 00051550 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 800558F4 00051554 38 BE 00 D4 */ addi r5, r30, 0xd4 -/* 800558F8 00051558 48 17 13 51 */ bl func_801C6C48 +/* 800558F8 00051558 48 17 13 51 */ bl __register_global_object_tmp /* 800558FC 0005155C 38 7E 01 08 */ addi r3, r30, 0x108 /* 80055900 00051560 38 80 09 60 */ li r4, 0x960 /* 80055904 00051564 38 AD 98 A0 */ addi r5, r13, lbl_8063EB60-_SDA_BASE_ @@ -91064,7 +91064,7 @@ lbl_800557D8: /* 8005590C 0005156C 38 7E 01 08 */ addi r3, r30, 0x108 /* 80055910 00051570 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 80055914 00051574 38 BE 00 FC */ addi r5, r30, 0xfc -/* 80055918 00051578 48 17 13 31 */ bl func_801C6C48 +/* 80055918 00051578 48 17 13 31 */ bl __register_global_object_tmp /* 8005591C 0005157C 38 7E 01 30 */ addi r3, r30, 0x130 /* 80055920 00051580 38 80 0A F0 */ li r4, 0xaf0 /* 80055924 00051584 38 AD 98 A0 */ addi r5, r13, lbl_8063EB60-_SDA_BASE_ @@ -91072,7 +91072,7 @@ lbl_800557D8: /* 8005592C 0005158C 38 7E 01 30 */ addi r3, r30, 0x130 /* 80055930 00051590 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 80055934 00051594 38 BE 01 24 */ addi r5, r30, 0x124 -/* 80055938 00051598 48 17 13 11 */ bl func_801C6C48 +/* 80055938 00051598 48 17 13 11 */ bl __register_global_object_tmp /* 8005593C 0005159C 38 7E 01 58 */ addi r3, r30, 0x158 /* 80055940 000515A0 38 80 0A F1 */ li r4, 0xaf1 /* 80055944 000515A4 38 AD 98 A0 */ addi r5, r13, lbl_8063EB60-_SDA_BASE_ @@ -91080,7 +91080,7 @@ lbl_800557D8: /* 8005594C 000515AC 38 7E 01 58 */ addi r3, r30, 0x158 /* 80055950 000515B0 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 80055954 000515B4 38 BE 01 4C */ addi r5, r30, 0x14c -/* 80055958 000515B8 48 17 12 F1 */ bl func_801C6C48 +/* 80055958 000515B8 48 17 12 F1 */ bl __register_global_object_tmp /* 8005595C 000515BC 38 7E 01 80 */ addi r3, r30, 0x180 /* 80055960 000515C0 38 80 0A F2 */ li r4, 0xaf2 /* 80055964 000515C4 38 AD 98 A0 */ addi r5, r13, lbl_8063EB60-_SDA_BASE_ @@ -91088,7 +91088,7 @@ lbl_800557D8: /* 8005596C 000515CC 38 7E 01 80 */ addi r3, r30, 0x180 /* 80055970 000515D0 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 80055974 000515D4 38 BE 01 74 */ addi r5, r30, 0x174 -/* 80055978 000515D8 48 17 12 D1 */ bl func_801C6C48 +/* 80055978 000515D8 48 17 12 D1 */ bl __register_global_object_tmp /* 8005597C 000515DC 38 7E 01 A8 */ addi r3, r30, 0x1a8 /* 80055980 000515E0 38 80 0B 54 */ li r4, 0xb54 /* 80055984 000515E4 38 AD 98 A0 */ addi r5, r13, lbl_8063EB60-_SDA_BASE_ @@ -91096,7 +91096,7 @@ lbl_800557D8: /* 8005598C 000515EC 38 7E 01 A8 */ addi r3, r30, 0x1a8 /* 80055990 000515F0 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 80055994 000515F4 38 BE 01 9C */ addi r5, r30, 0x19c -/* 80055998 000515F8 48 17 12 B1 */ bl func_801C6C48 +/* 80055998 000515F8 48 17 12 B1 */ bl __register_global_object_tmp /* 8005599C 000515FC 38 7E 01 D0 */ addi r3, r30, 0x1d0 /* 800559A0 00051600 38 80 08 35 */ li r4, 0x835 /* 800559A4 00051604 38 AD 98 A0 */ addi r5, r13, lbl_8063EB60-_SDA_BASE_ @@ -91104,7 +91104,7 @@ lbl_800557D8: /* 800559AC 0005160C 38 7E 01 D0 */ addi r3, r30, 0x1d0 /* 800559B0 00051610 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 800559B4 00051614 38 BE 01 C4 */ addi r5, r30, 0x1c4 -/* 800559B8 00051618 48 17 12 91 */ bl func_801C6C48 +/* 800559B8 00051618 48 17 12 91 */ bl __register_global_object_tmp /* 800559BC 0005161C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800559C0 00051620 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800559C4 00051624 83 C1 00 08 */ lwz r30, 8(r1) @@ -96604,7 +96604,7 @@ lbl_8005A510: /* 8005A564 000561C4 38 7F 66 D8 */ addi r3, r31, 0x66d8 /* 8005A568 000561C8 38 84 14 68 */ addi r4, r4, func_80051468@l /* 8005A56C 000561CC 38 A5 66 C8 */ addi r5, r5, lbl_804766C8@l -/* 8005A570 000561D0 48 16 C6 D9 */ bl func_801C6C48 +/* 8005A570 000561D0 48 16 C6 D9 */ bl __register_global_object_tmp /* 8005A574 000561D4 80 01 00 14 */ lwz r0, 0x14(r1) /* 8005A578 000561D8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8005A57C 000561DC 7C 08 03 A6 */ mtlr r0 @@ -99537,7 +99537,7 @@ lbl_8005CE5C: /* 8005CE9C 00058AFC B0 E6 00 02 */ sth r7, 2(r6) /* 8005CEA0 00058B00 38 A5 81 68 */ addi r5, r5, lbl_80478168@l /* 8005CEA4 00058B04 98 06 00 04 */ stb r0, 4(r6) -/* 8005CEA8 00058B08 48 16 9D A0 */ b func_801C6C48 +/* 8005CEA8 00058B08 48 16 9D A0 */ b __register_global_object_tmp lbl_8005CEAC: /* 8005CEAC 00058B0C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8005CEB0 00058B10 7C 08 02 A6 */ mflr r0 diff --git a/asm/text_10_2.s b/asm/text_10_2.s index c335b34..0c3775f 100644 --- a/asm/text_10_2.s +++ b/asm/text_10_2.s @@ -46166,7 +46166,7 @@ lbl_80364BBC: /* 80364BD4 00360834 38 84 26 98 */ addi r4, r4, func_80362698@l
/* 80364BD8 00360838 38 A5 17 08 */ addi r5, r5, lbl_80621708@l
/* 80364BDC 0036083C 38 6D B1 C4 */ addi r3, r13, lbl_80640484-_SDA_BASE_
-/* 80364BE0 00360840 4B E6 20 69 */ bl func_801C6C48
+/* 80364BE0 00360840 4B E6 20 69 */ bl __register_global_object_tmp
/* 80364BE4 00360844 38 00 00 01 */ li r0, 1
/* 80364BE8 00360848 98 0D B1 C0 */ stb r0, lbl_80640480-_SDA_BASE_(r13)
lbl_80364BEC:
@@ -46307,7 +46307,7 @@ lbl_80364DE8: /* 80364E00 00360A60 38 84 26 98 */ addi r4, r4, func_80362698@l
/* 80364E04 00360A64 38 A5 17 08 */ addi r5, r5, lbl_80621708@l
/* 80364E08 00360A68 38 6D B1 C4 */ addi r3, r13, lbl_80640484-_SDA_BASE_
-/* 80364E0C 00360A6C 4B E6 1E 3D */ bl func_801C6C48
+/* 80364E0C 00360A6C 4B E6 1E 3D */ bl __register_global_object_tmp
/* 80364E10 00360A70 38 00 00 01 */ li r0, 1
/* 80364E14 00360A74 98 0D B1 C0 */ stb r0, lbl_80640480-_SDA_BASE_(r13)
lbl_80364E18:
@@ -46425,7 +46425,7 @@ lbl_80364FB8: /* 80364FD0 00360C30 38 84 26 98 */ addi r4, r4, func_80362698@l
/* 80364FD4 00360C34 38 A5 17 08 */ addi r5, r5, lbl_80621708@l
/* 80364FD8 00360C38 38 6D B1 C4 */ addi r3, r13, lbl_80640484-_SDA_BASE_
-/* 80364FDC 00360C3C 4B E6 1C 6D */ bl func_801C6C48
+/* 80364FDC 00360C3C 4B E6 1C 6D */ bl __register_global_object_tmp
/* 80364FE0 00360C40 38 00 00 01 */ li r0, 1
/* 80364FE4 00360C44 98 0D B1 C0 */ stb r0, lbl_80640480-_SDA_BASE_(r13)
lbl_80364FE8:
@@ -46544,7 +46544,7 @@ lbl_80365188: /* 803651A4 00360E04 38 84 26 98 */ addi r4, r4, func_80362698@l
/* 803651A8 00360E08 38 6D B1 C4 */ addi r3, r13, lbl_80640484-_SDA_BASE_
/* 803651AC 00360E0C 38 A5 17 08 */ addi r5, r5, lbl_80621708@l
-/* 803651B0 00360E10 4B E6 1A 99 */ bl func_801C6C48
+/* 803651B0 00360E10 4B E6 1A 99 */ bl __register_global_object_tmp
/* 803651B4 00360E14 38 00 00 01 */ li r0, 1
/* 803651B8 00360E18 98 0D B1 C0 */ stb r0, lbl_80640480-_SDA_BASE_(r13)
lbl_803651BC:
@@ -46662,7 +46662,7 @@ lbl_8036535C: /* 80365374 00360FD4 38 84 26 98 */ addi r4, r4, func_80362698@l
/* 80365378 00360FD8 38 A5 17 08 */ addi r5, r5, lbl_80621708@l
/* 8036537C 00360FDC 38 6D B1 C4 */ addi r3, r13, lbl_80640484-_SDA_BASE_
-/* 80365380 00360FE0 4B E6 18 C9 */ bl func_801C6C48
+/* 80365380 00360FE0 4B E6 18 C9 */ bl __register_global_object_tmp
/* 80365384 00360FE4 38 00 00 01 */ li r0, 1
/* 80365388 00360FE8 98 0D B1 C0 */ stb r0, lbl_80640480-_SDA_BASE_(r13)
lbl_8036538C:
@@ -47267,7 +47267,7 @@ func_80365C1C: /* 80365C54 003618B4 38 84 26 98 */ addi r4, r4, func_80362698@l
/* 80365C58 003618B8 38 6D B1 C4 */ addi r3, r13, lbl_80640484-_SDA_BASE_
/* 80365C5C 003618BC 38 A5 17 08 */ addi r5, r5, lbl_80621708@l
-/* 80365C60 003618C0 4B E6 0F E9 */ bl func_801C6C48
+/* 80365C60 003618C0 4B E6 0F E9 */ bl __register_global_object_tmp
/* 80365C64 003618C4 38 00 00 01 */ li r0, 1
/* 80365C68 003618C8 98 0D B1 C0 */ stb r0, lbl_80640480-_SDA_BASE_(r13)
lbl_80365C6C:
@@ -49627,7 +49627,7 @@ lbl_80367EFC: /* 80367F50 00363BB0 38 84 2E 38 */ addi r4, r4, lbl_80362E38@l
/* 80367F54 00363BB4 38 6D B1 C8 */ addi r3, r13, lbl_80640488-_SDA_BASE_
/* 80367F58 00363BB8 38 A5 17 28 */ addi r5, r5, lbl_80621728@l
-/* 80367F5C 00363BBC 4B E5 EC ED */ bl func_801C6C48
+/* 80367F5C 00363BBC 4B E5 EC ED */ bl __register_global_object_tmp
/* 80367F60 00363BC0 38 00 00 01 */ li r0, 1
/* 80367F64 00363BC4 98 0D B1 D0 */ stb r0, lbl_80640490-_SDA_BASE_(r13)
lbl_80367F68:
@@ -49641,7 +49641,7 @@ lbl_80367F68: /* 80367F84 00363BE4 38 84 31 A0 */ addi r4, r4, lbl_803631A0@l
/* 80367F88 00363BE8 38 6D B1 CC */ addi r3, r13, lbl_8064048C-_SDA_BASE_
/* 80367F8C 00363BEC 38 A5 17 34 */ addi r5, r5, lbl_80621734@l
-/* 80367F90 00363BF0 4B E5 EC B9 */ bl func_801C6C48
+/* 80367F90 00363BF0 4B E5 EC B9 */ bl __register_global_object_tmp
/* 80367F94 00363BF4 38 00 00 01 */ li r0, 1
/* 80367F98 00363BF8 98 0D B1 D1 */ stb r0, lbl_80640491-_SDA_BASE_(r13)
lbl_80367F9C:
@@ -50015,7 +50015,7 @@ func_803684C4: /* 803684F4 00364154 38 7F 18 4C */ addi r3, r31, 0x184c
/* 803684F8 00364158 38 84 85 28 */ addi r4, r4, lbl_80368528@l
/* 803684FC 0036415C 38 A5 18 40 */ addi r5, r5, lbl_80621840@l
-/* 80368500 00364160 4B E5 E7 49 */ bl func_801C6C48
+/* 80368500 00364160 4B E5 E7 49 */ bl __register_global_object_tmp
/* 80368504 00364164 38 00 00 01 */ li r0, 1
/* 80368508 00364168 98 0D B1 D8 */ stb r0, lbl_80640498-_SDA_BASE_(r13)
lbl_8036850C:
@@ -50573,7 +50573,7 @@ lbl_80368C60: /* 80368C94 003648F4 38 79 18 4C */ addi r3, r25, 0x184c
/* 80368C98 003648F8 38 84 85 28 */ addi r4, r4, lbl_80368528@l
/* 80368C9C 003648FC 38 A5 18 40 */ addi r5, r5, lbl_80621840@l
-/* 80368CA0 00364900 4B E5 DF A9 */ bl func_801C6C48
+/* 80368CA0 00364900 4B E5 DF A9 */ bl __register_global_object_tmp
/* 80368CA4 00364904 38 00 00 01 */ li r0, 1
/* 80368CA8 00364908 98 0D B1 D8 */ stb r0, lbl_80640498-_SDA_BASE_(r13)
lbl_80368CAC:
@@ -50600,7 +50600,7 @@ lbl_80368CE0: /* 80368CF4 00364954 38 79 18 4C */ addi r3, r25, 0x184c
/* 80368CF8 00364958 38 9B 85 28 */ addi r4, r27, -31448
/* 80368CFC 0036495C 38 BC 18 40 */ addi r5, r28, 0x1840
-/* 80368D00 00364960 4B E5 DF 49 */ bl func_801C6C48
+/* 80368D00 00364960 4B E5 DF 49 */ bl __register_global_object_tmp
/* 80368D04 00364964 9B AD B1 D8 */ stb r29, lbl_80640498-_SDA_BASE_(r13)
lbl_80368D08:
/* 80368D08 00364968 7C 1F F0 40 */ cmplw r31, r30
@@ -50615,7 +50615,7 @@ lbl_80368D08: /* 80368D2C 0036498C 7F 43 D3 78 */ mr r3, r26
/* 80368D30 00364990 38 84 85 28 */ addi r4, r4, lbl_80368528@l
/* 80368D34 00364994 38 A5 18 40 */ addi r5, r5, lbl_80621840@l
-/* 80368D38 00364998 4B E5 DF 11 */ bl func_801C6C48
+/* 80368D38 00364998 4B E5 DF 11 */ bl __register_global_object_tmp
/* 80368D3C 0036499C 38 00 00 01 */ li r0, 1
/* 80368D40 003649A0 98 0D B1 D8 */ stb r0, lbl_80640498-_SDA_BASE_(r13)
lbl_80368D44:
@@ -50634,7 +50634,7 @@ lbl_80368D44: /* 80368D74 003649D4 7F E3 FB 78 */ mr r3, r31
/* 80368D78 003649D8 38 84 85 28 */ addi r4, r4, lbl_80368528@l
/* 80368D7C 003649DC 38 A5 18 40 */ addi r5, r5, lbl_80621840@l
-/* 80368D80 003649E0 4B E5 DE C9 */ bl func_801C6C48
+/* 80368D80 003649E0 4B E5 DE C9 */ bl __register_global_object_tmp
/* 80368D84 003649E4 38 00 00 01 */ li r0, 1
/* 80368D88 003649E8 98 0D B1 D8 */ stb r0, lbl_80640498-_SDA_BASE_(r13)
lbl_80368D8C:
@@ -50944,7 +50944,7 @@ lbl_8036916C: /* 803691A8 00364E08 38 79 18 4C */ addi r3, r25, 0x184c
/* 803691AC 00364E0C 38 84 85 28 */ addi r4, r4, lbl_80368528@l
/* 803691B0 00364E10 38 A5 18 40 */ addi r5, r5, lbl_80621840@l
-/* 803691B4 00364E14 4B E5 DA 95 */ bl func_801C6C48
+/* 803691B4 00364E14 4B E5 DA 95 */ bl __register_global_object_tmp
/* 803691B8 00364E18 38 00 00 01 */ li r0, 1
/* 803691BC 00364E1C 98 0D B1 D8 */ stb r0, lbl_80640498-_SDA_BASE_(r13)
lbl_803691C0:
@@ -50982,7 +50982,7 @@ lbl_80369214: /* 80369234 00364E94 38 79 18 4C */ addi r3, r25, 0x184c
/* 80369238 00364E98 38 84 85 28 */ addi r4, r4, lbl_80368528@l
/* 8036923C 00364E9C 38 A5 18 40 */ addi r5, r5, lbl_80621840@l
-/* 80369240 00364EA0 4B E5 DA 09 */ bl func_801C6C48
+/* 80369240 00364EA0 4B E5 DA 09 */ bl __register_global_object_tmp
/* 80369244 00364EA4 38 00 00 01 */ li r0, 1
/* 80369248 00364EA8 98 0D B1 D8 */ stb r0, lbl_80640498-_SDA_BASE_(r13)
lbl_8036924C:
@@ -51002,7 +51002,7 @@ lbl_8036924C: /* 80369280 00364EE0 7F 43 D3 78 */ mr r3, r26
/* 80369284 00364EE4 38 84 85 28 */ addi r4, r4, lbl_80368528@l
/* 80369288 00364EE8 38 A5 18 40 */ addi r5, r5, lbl_80621840@l
-/* 8036928C 00364EEC 4B E5 D9 BD */ bl func_801C6C48
+/* 8036928C 00364EEC 4B E5 D9 BD */ bl __register_global_object_tmp
/* 80369290 00364EF0 38 00 00 01 */ li r0, 1
/* 80369294 00364EF4 98 0D B1 D8 */ stb r0, lbl_80640498-_SDA_BASE_(r13)
lbl_80369298:
@@ -51034,7 +51034,7 @@ lbl_803692D4: /* 803692F0 00364F50 7F 43 D3 78 */ mr r3, r26
/* 803692F4 00364F54 38 84 85 28 */ addi r4, r4, lbl_80368528@l
/* 803692F8 00364F58 38 A5 18 40 */ addi r5, r5, lbl_80621840@l
-/* 803692FC 00364F5C 4B E5 D9 4D */ bl func_801C6C48
+/* 803692FC 00364F5C 4B E5 D9 4D */ bl __register_global_object_tmp
/* 80369300 00364F60 38 00 00 01 */ li r0, 1
/* 80369304 00364F64 98 0D B1 D8 */ stb r0, lbl_80640498-_SDA_BASE_(r13)
lbl_80369308:
@@ -51070,7 +51070,7 @@ lbl_80369354: /* 80369370 00364FD0 7F 43 D3 78 */ mr r3, r26
/* 80369374 00364FD4 38 84 85 28 */ addi r4, r4, lbl_80368528@l
/* 80369378 00364FD8 38 A5 18 40 */ addi r5, r5, lbl_80621840@l
-/* 8036937C 00364FDC 4B E5 D8 CD */ bl func_801C6C48
+/* 8036937C 00364FDC 4B E5 D8 CD */ bl __register_global_object_tmp
/* 80369380 00364FE0 38 00 00 01 */ li r0, 1
/* 80369384 00364FE4 98 0D B1 D8 */ stb r0, lbl_80640498-_SDA_BASE_(r13)
lbl_80369388:
@@ -51090,7 +51090,7 @@ lbl_803693A4: /* 803693B8 00365018 38 79 18 4C */ addi r3, r25, 0x184c
/* 803693BC 0036501C 38 9A 85 28 */ addi r4, r26, -31448
/* 803693C0 00365020 38 BB 18 40 */ addi r5, r27, 0x1840
-/* 803693C4 00365024 4B E5 D8 85 */ bl func_801C6C48
+/* 803693C4 00365024 4B E5 D8 85 */ bl __register_global_object_tmp
/* 803693C8 00365028 9B 8D B1 D8 */ stb r28, lbl_80640498-_SDA_BASE_(r13)
lbl_803693CC:
/* 803693CC 0036502C 81 9E FF FC */ lwz r12, -4(r30)
@@ -51114,7 +51114,7 @@ lbl_803693FC: /* 80369410 00365070 38 79 18 4C */ addi r3, r25, 0x184c
/* 80369414 00365074 38 9A 85 28 */ addi r4, r26, -31448
/* 80369418 00365078 38 BB 18 40 */ addi r5, r27, 0x1840
-/* 8036941C 0036507C 4B E5 D8 2D */ bl func_801C6C48
+/* 8036941C 0036507C 4B E5 D8 2D */ bl __register_global_object_tmp
/* 80369420 00365080 9B 8D B1 D8 */ stb r28, lbl_80640498-_SDA_BASE_(r13)
lbl_80369424:
/* 80369424 00365084 7C 1E E8 40 */ cmplw r30, r29
@@ -51198,7 +51198,7 @@ lbl_8036950C: /* 8036953C 0036519C 38 7F 18 4C */ addi r3, r31, 0x184c
/* 80369540 003651A0 38 84 85 28 */ addi r4, r4, lbl_80368528@l
/* 80369544 003651A4 38 A5 18 40 */ addi r5, r5, lbl_80621840@l
-/* 80369548 003651A8 4B E5 D7 01 */ bl func_801C6C48
+/* 80369548 003651A8 4B E5 D7 01 */ bl __register_global_object_tmp
/* 8036954C 003651AC 38 00 00 01 */ li r0, 1
/* 80369550 003651B0 98 0D B1 D8 */ stb r0, lbl_80640498-_SDA_BASE_(r13)
lbl_80369554:
@@ -54388,7 +54388,7 @@ func_8036BFA4: /* 8036C018 00367C78 90 E3 00 1C */ stw r7, 0x1c(r3)
/* 8036C01C 00367C7C 90 E3 00 20 */ stw r7, 0x20(r3)
/* 8036C020 00367C80 98 03 00 24 */ stb r0, 0x24(r3)
-/* 8036C024 00367C84 4B E5 AC 25 */ bl func_801C6C48
+/* 8036C024 00367C84 4B E5 AC 25 */ bl __register_global_object_tmp
/* 8036C028 00367C88 38 00 00 01 */ li r0, 1
/* 8036C02C 00367C8C 98 0D B1 E0 */ stb r0, lbl_806404A0-_SDA_BASE_(r13)
lbl_8036C030:
@@ -54561,7 +54561,7 @@ lbl_8036C220: /* 8036C278 00367ED8 91 1A 00 1C */ stw r8, 0x1c(r26)
/* 8036C27C 00367EDC 91 1A 00 20 */ stw r8, 0x20(r26)
/* 8036C280 00367EE0 9B 9A 00 24 */ stb r28, 0x24(r26)
-/* 8036C284 00367EE4 4B E5 A9 C5 */ bl func_801C6C48
+/* 8036C284 00367EE4 4B E5 A9 C5 */ bl __register_global_object_tmp
/* 8036C288 00367EE8 9B ED B1 E0 */ stb r31, lbl_806404A0-_SDA_BASE_(r13)
lbl_8036C28C:
/* 8036C28C 00367EEC 4B F0 24 D1 */ bl OSDisableInterrupts
@@ -54823,7 +54823,7 @@ lbl_8036C5D0: /* 8036C628 00368288 91 16 00 1C */ stw r8, 0x1c(r22)
/* 8036C62C 0036828C 91 16 00 20 */ stw r8, 0x20(r22)
/* 8036C630 00368290 9B 16 00 24 */ stb r24, 0x24(r22)
-/* 8036C634 00368294 4B E5 A6 15 */ bl func_801C6C48
+/* 8036C634 00368294 4B E5 A6 15 */ bl __register_global_object_tmp
/* 8036C638 00368298 9B 6D B1 E0 */ stb r27, lbl_806404A0-_SDA_BASE_(r13)
lbl_8036C63C:
/* 8036C63C 0036829C 4B F0 21 21 */ bl OSDisableInterrupts
@@ -56814,7 +56814,7 @@ func_8036E198: /* 8036E1F4 00369E54 7F E3 FB 78 */ mr r3, r31
/* 8036E1F8 00369E58 38 84 E2 28 */ addi r4, r4, lbl_8036E228@l
/* 8036E1FC 00369E5C 38 A5 19 78 */ addi r5, r5, lbl_80621978@l
-/* 8036E200 00369E60 4B E5 8A 49 */ bl func_801C6C48
+/* 8036E200 00369E60 4B E5 8A 49 */ bl __register_global_object_tmp
/* 8036E204 00369E64 38 00 00 01 */ li r0, 1
/* 8036E208 00369E68 98 0D B1 F8 */ stb r0, lbl_806404B8-_SDA_BASE_(r13)
lbl_8036E20C:
@@ -57154,7 +57154,7 @@ lbl_8036E630: /* 8036E6D4 0036A334 7F E3 FB 78 */ mr r3, r31
/* 8036E6D8 0036A338 38 84 E2 28 */ addi r4, r4, lbl_8036E228@l
/* 8036E6DC 0036A33C 38 A5 19 78 */ addi r5, r5, lbl_80621978@l
-/* 8036E6E0 0036A340 4B E5 85 69 */ bl func_801C6C48
+/* 8036E6E0 0036A340 4B E5 85 69 */ bl __register_global_object_tmp
/* 8036E6E4 0036A344 38 00 00 01 */ li r0, 1
/* 8036E6E8 0036A348 98 0D B1 F8 */ stb r0, lbl_806404B8-_SDA_BASE_(r13)
lbl_8036E6EC:
@@ -57224,7 +57224,7 @@ lbl_8036E74C: /* 8036E7DC 0036A43C 7F E3 FB 78 */ mr r3, r31
/* 8036E7E0 0036A440 38 84 E2 28 */ addi r4, r4, lbl_8036E228@l
/* 8036E7E4 0036A444 38 A5 19 78 */ addi r5, r5, lbl_80621978@l
-/* 8036E7E8 0036A448 4B E5 84 61 */ bl func_801C6C48
+/* 8036E7E8 0036A448 4B E5 84 61 */ bl __register_global_object_tmp
/* 8036E7EC 0036A44C 38 00 00 01 */ li r0, 1
/* 8036E7F0 0036A450 98 0D B1 F8 */ stb r0, lbl_806404B8-_SDA_BASE_(r13)
lbl_8036E7F4:
@@ -57637,7 +57637,7 @@ func_8036ED48: /* 8036EDE8 0036AA48 7F E3 FB 78 */ mr r3, r31
/* 8036EDEC 0036AA4C 38 84 E2 28 */ addi r4, r4, lbl_8036E228@l
/* 8036EDF0 0036AA50 38 A5 19 78 */ addi r5, r5, lbl_80621978@l
-/* 8036EDF4 0036AA54 4B E5 7E 55 */ bl func_801C6C48
+/* 8036EDF4 0036AA54 4B E5 7E 55 */ bl __register_global_object_tmp
/* 8036EDF8 0036AA58 38 00 00 01 */ li r0, 1
/* 8036EDFC 0036AA5C 98 0D B1 F8 */ stb r0, lbl_806404B8-_SDA_BASE_(r13)
lbl_8036EE00:
@@ -57762,7 +57762,7 @@ lbl_8036EF38: /* 8036EF94 0036ABF4 7F E3 FB 78 */ mr r3, r31
/* 8036EF98 0036ABF8 38 84 E2 28 */ addi r4, r4, lbl_8036E228@l
/* 8036EF9C 0036ABFC 38 A5 19 78 */ addi r5, r5, lbl_80621978@l
-/* 8036EFA0 0036AC00 4B E5 7C A9 */ bl func_801C6C48
+/* 8036EFA0 0036AC00 4B E5 7C A9 */ bl __register_global_object_tmp
/* 8036EFA4 0036AC04 38 00 00 01 */ li r0, 1
/* 8036EFA8 0036AC08 98 0D B1 F8 */ stb r0, lbl_806404B8-_SDA_BASE_(r13)
lbl_8036EFAC:
@@ -57824,7 +57824,7 @@ func_8036F004: /* 8036F078 0036ACD8 7F 83 E3 78 */ mr r3, r28
/* 8036F07C 0036ACDC 38 84 E2 28 */ addi r4, r4, lbl_8036E228@l
/* 8036F080 0036ACE0 38 A5 19 78 */ addi r5, r5, lbl_80621978@l
-/* 8036F084 0036ACE4 4B E5 7B C5 */ bl func_801C6C48
+/* 8036F084 0036ACE4 4B E5 7B C5 */ bl __register_global_object_tmp
/* 8036F088 0036ACE8 38 00 00 01 */ li r0, 1
/* 8036F08C 0036ACEC 98 0D B1 F8 */ stb r0, lbl_806404B8-_SDA_BASE_(r13)
lbl_8036F090:
@@ -57908,7 +57908,7 @@ lbl_8036F13C: /* 8036F1B8 0036AE18 7F A3 EB 78 */ mr r3, r29
/* 8036F1BC 0036AE1C 38 84 E2 28 */ addi r4, r4, lbl_8036E228@l
/* 8036F1C0 0036AE20 38 A5 19 78 */ addi r5, r5, lbl_80621978@l
-/* 8036F1C4 0036AE24 4B E5 7A 85 */ bl func_801C6C48
+/* 8036F1C4 0036AE24 4B E5 7A 85 */ bl __register_global_object_tmp
/* 8036F1C8 0036AE28 9B 8D B1 F8 */ stb r28, lbl_806404B8-_SDA_BASE_(r13)
lbl_8036F1CC:
/* 8036F1CC 0036AE2C 3F 60 80 62 */ lis r27, lbl_80621988@ha
@@ -57981,7 +57981,7 @@ func_8036F258: /* 8036F2B4 0036AF14 7F C3 F3 78 */ mr r3, r30
/* 8036F2B8 0036AF18 38 84 F2 F4 */ addi r4, r4, lbl_8036F2F4@l
/* 8036F2BC 0036AF1C 38 A5 19 C0 */ addi r5, r5, lbl_806219C0@l
-/* 8036F2C0 0036AF20 4B E5 79 89 */ bl func_801C6C48
+/* 8036F2C0 0036AF20 4B E5 79 89 */ bl __register_global_object_tmp
/* 8036F2C4 0036AF24 38 00 00 01 */ li r0, 1
/* 8036F2C8 0036AF28 98 0D B2 00 */ stb r0, lbl_806404C0-_SDA_BASE_(r13)
lbl_8036F2CC:
@@ -58102,7 +58102,7 @@ func_8036F3F8: /* 8036F464 0036B0C4 7E A3 AB 78 */ mr r3, r21
/* 8036F468 0036B0C8 38 84 F2 F4 */ addi r4, r4, lbl_8036F2F4@l
/* 8036F46C 0036B0CC 38 A5 19 C0 */ addi r5, r5, lbl_806219C0@l
-/* 8036F470 0036B0D0 4B E5 77 D9 */ bl func_801C6C48
+/* 8036F470 0036B0D0 4B E5 77 D9 */ bl __register_global_object_tmp
/* 8036F474 0036B0D4 38 00 00 01 */ li r0, 1
/* 8036F478 0036B0D8 98 0D B2 00 */ stb r0, lbl_806404C0-_SDA_BASE_(r13)
lbl_8036F47C:
@@ -58143,7 +58143,7 @@ lbl_8036F4C8: /* 8036F4FC 0036B15C 7E A3 AB 78 */ mr r3, r21
/* 8036F500 0036B160 38 97 F2 F4 */ addi r4, r23, -3340
/* 8036F504 0036B164 38 B8 19 C0 */ addi r5, r24, 0x19c0
-/* 8036F508 0036B168 4B E5 77 41 */ bl func_801C6C48
+/* 8036F508 0036B168 4B E5 77 41 */ bl __register_global_object_tmp
/* 8036F50C 0036B16C 9B 2D B2 00 */ stb r25, lbl_806404C0-_SDA_BASE_(r13)
lbl_8036F510:
/* 8036F510 0036B170 7F 63 DB 78 */ mr r3, r27
@@ -58191,7 +58191,7 @@ func_8036F540: /* 8036F5AC 0036B20C 7E A3 AB 78 */ mr r3, r21
/* 8036F5B0 0036B210 38 84 F2 F4 */ addi r4, r4, lbl_8036F2F4@l
/* 8036F5B4 0036B214 38 A5 19 C0 */ addi r5, r5, lbl_806219C0@l
-/* 8036F5B8 0036B218 4B E5 76 91 */ bl func_801C6C48
+/* 8036F5B8 0036B218 4B E5 76 91 */ bl __register_global_object_tmp
/* 8036F5BC 0036B21C 38 00 00 01 */ li r0, 1
/* 8036F5C0 0036B220 98 0D B2 00 */ stb r0, lbl_806404C0-_SDA_BASE_(r13)
lbl_8036F5C4:
@@ -58232,7 +58232,7 @@ lbl_8036F610: /* 8036F644 0036B2A4 7E A3 AB 78 */ mr r3, r21
/* 8036F648 0036B2A8 38 97 F2 F4 */ addi r4, r23, -3340
/* 8036F64C 0036B2AC 38 B8 19 C0 */ addi r5, r24, 0x19c0
-/* 8036F650 0036B2B0 4B E5 75 F9 */ bl func_801C6C48
+/* 8036F650 0036B2B0 4B E5 75 F9 */ bl __register_global_object_tmp
/* 8036F654 0036B2B4 9B 2D B2 00 */ stb r25, lbl_806404C0-_SDA_BASE_(r13)
lbl_8036F658:
/* 8036F658 0036B2B8 7F 63 DB 78 */ mr r3, r27
@@ -73192,7 +73192,7 @@ lbl_8037C3F0: /* 8037C42C 0037808C 38 7F 1D 10 */ addi r3, r31, 0x1d10
/* 8037C430 00378090 38 84 00 1C */ addi r4, r4, lbl_8038001C@l
/* 8037C434 00378094 38 A5 1D 00 */ addi r5, r5, lbl_80621D00@l
-/* 8037C438 00378098 4B E4 A8 11 */ bl func_801C6C48
+/* 8037C438 00378098 4B E4 A8 11 */ bl __register_global_object_tmp
/* 8037C43C 0037809C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8037C440 003780A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8037C444 003780A4 7C 08 03 A6 */ mtlr r0
@@ -73240,7 +73240,7 @@ func_8037C450: /* 8037C4E0 00378140 7F E3 FB 78 */ mr r3, r31
/* 8037C4E4 00378144 38 84 C5 14 */ addi r4, r4, lbl_8037C514@l
/* 8037C4E8 00378148 38 A5 89 B0 */ addi r5, r5, lbl_806389B0@l
-/* 8037C4EC 0037814C 4B E4 A7 5D */ bl func_801C6C48
+/* 8037C4EC 0037814C 4B E4 A7 5D */ bl __register_global_object_tmp
/* 8037C4F0 00378150 38 00 00 01 */ li r0, 1
/* 8037C4F4 00378154 98 0D B2 78 */ stb r0, lbl_80640538-_SDA_BASE_(r13)
lbl_8037C4F8:
@@ -73339,7 +73339,7 @@ lbl_8037C5BC: /* 8037C648 003782A8 7F C3 F3 78 */ mr r3, r30
/* 8037C64C 003782AC 38 84 C5 14 */ addi r4, r4, lbl_8037C514@l
/* 8037C650 003782B0 38 A5 89 B0 */ addi r5, r5, lbl_806389B0@l
-/* 8037C654 003782B4 4B E4 A5 F5 */ bl func_801C6C48
+/* 8037C654 003782B4 4B E4 A5 F5 */ bl __register_global_object_tmp
/* 8037C658 003782B8 9B ED B2 78 */ stb r31, lbl_80640538-_SDA_BASE_(r13)
lbl_8037C65C:
/* 8037C65C 003782BC 3C 80 80 38 */ lis r4, lbl_8037C7C8@ha
@@ -73409,7 +73409,7 @@ lbl_8037C6BC: /* 8037C750 003783B0 7F C3 F3 78 */ mr r3, r30
/* 8037C754 003783B4 38 84 C5 14 */ addi r4, r4, lbl_8037C514@l
/* 8037C758 003783B8 38 A5 89 B0 */ addi r5, r5, lbl_806389B0@l
-/* 8037C75C 003783BC 4B E4 A4 ED */ bl func_801C6C48
+/* 8037C75C 003783BC 4B E4 A4 ED */ bl __register_global_object_tmp
/* 8037C760 003783C0 38 00 00 01 */ li r0, 1
/* 8037C764 003783C4 98 0D B2 78 */ stb r0, lbl_80640538-_SDA_BASE_(r13)
lbl_8037C768:
@@ -76984,7 +76984,7 @@ func_8037F980: /* 8037F9E8 0037B648 7F E3 FB 78 */ mr r3, r31
/* 8037F9EC 0037B64C 38 84 FA 1C */ addi r4, r4, lbl_8037FA1C@l
/* 8037F9F0 0037B650 38 A5 CD 98 */ addi r5, r5, lbl_8063CD98@l
-/* 8037F9F4 0037B654 4B E4 72 55 */ bl func_801C6C48
+/* 8037F9F4 0037B654 4B E4 72 55 */ bl __register_global_object_tmp
/* 8037F9F8 0037B658 38 00 00 01 */ li r0, 1
/* 8037F9FC 0037B65C 98 0D B2 90 */ stb r0, lbl_80640550-_SDA_BASE_(r13)
lbl_8037FA00:
diff --git a/asm/text_11.s b/asm/text_11.s index 02e9405..c3d70dc 100644 --- a/asm/text_11.s +++ b/asm/text_11.s @@ -1788,7 +1788,7 @@ func_80382900: /* 8038295C 0037E5BC 90 03 00 10 */ stw r0, 0x10(r3) /* 80382960 0037E5C0 90 E3 00 14 */ stw r7, 0x14(r3) /* 80382964 0037E5C4 90 E3 00 18 */ stw r7, 0x18(r3) -/* 80382968 0037E5C8 4B E4 42 E1 */ bl func_801C6C48 +/* 80382968 0037E5C8 4B E4 42 E1 */ bl __register_global_object_tmp /* 8038296C 0037E5CC 38 00 00 01 */ li r0, 1 /* 80382970 0037E5D0 98 0D B2 98 */ stb r0, lbl_80640558-_SDA_BASE_(r13) lbl_80382974: @@ -15916,7 +15916,7 @@ lbl_8038F228: /* 8038F400 0038B060 7F E3 FB 78 */ mr r3, r31 /* 8038F404 0038B064 38 84 F4 24 */ addi r4, r4, lbl_8038F424@l /* 8038F408 0038B068 38 A5 CE 28 */ addi r5, r5, lbl_8063CE28@l -/* 8038F40C 0038B06C 4B E3 78 3D */ bl func_801C6C48 +/* 8038F40C 0038B06C 4B E3 78 3D */ bl __register_global_object_tmp /* 8038F410 0038B070 80 01 00 14 */ lwz r0, 0x14(r1) /* 8038F414 0038B074 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8038F418 0038B078 7C 08 03 A6 */ mtlr r0 diff --git a/asm/text_3.s b/asm/text_3.s index 5d9286a..5d87436 100644 --- a/asm/text_3.s +++ b/asm/text_3.s @@ -10343,7 +10343,7 @@ func_800C51EC: /* 800C524C 000C0EAC 38 7B CE 70 */ addi r3, r27, -12688 /* 800C5250 000C0EB0 38 84 E1 9C */ addi r4, r4, func_801DE19C@l /* 800C5254 000C0EB4 38 A5 CE 64 */ addi r5, r5, lbl_8047CE64@l -/* 800C5258 000C0EB8 48 10 19 F1 */ bl func_801C6C48 +/* 800C5258 000C0EB8 48 10 19 F1 */ bl __register_global_object_tmp /* 800C525C 000C0EBC 38 00 00 01 */ li r0, 1 /* 800C5260 000C0EC0 98 0D 9C 26 */ stb r0, lbl_8063EEE6-_SDA_BASE_(r13) lbl_800C5264: @@ -47156,7 +47156,7 @@ lbl_800E69E8: /* 800E6A3C 000E269C 38 7E 01 18 */ addi r3, r30, 0x118 /* 800E6A40 000E26A0 38 84 E1 9C */ addi r4, r4, func_801DE19C@l /* 800E6A44 000E26A4 38 BE 01 0C */ addi r5, r30, 0x10c -/* 800E6A48 000E26A8 48 0E 02 01 */ bl func_801C6C48 +/* 800E6A48 000E26A8 48 0E 02 01 */ bl __register_global_object_tmp /* 800E6A4C 000E26AC 38 00 00 01 */ li r0, 1 /* 800E6A50 000E26B0 98 0D 9C 4E */ stb r0, lbl_8063EF0E-_SDA_BASE_(r13) lbl_800E6A54: @@ -50224,7 +50224,7 @@ lbl_800E9650: /* 800E96A0 000E5300 38 7F D6 04 */ addi r3, r31, -10748 /* 800E96A4 000E5304 38 84 96 C8 */ addi r4, r4, lbl_800E96C8@l /* 800E96A8 000E5308 38 A5 D5 F8 */ addi r5, r5, lbl_8047D5F8@l -/* 800E96AC 000E530C 48 0D D5 9D */ bl func_801C6C48 +/* 800E96AC 000E530C 48 0D D5 9D */ bl __register_global_object_tmp /* 800E96B0 000E5310 80 01 00 14 */ lwz r0, 0x14(r1) /* 800E96B4 000E5314 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800E96B8 000E5318 7C 08 03 A6 */ mtlr r0 @@ -66656,7 +66656,7 @@ lbl_800F8A74: /* 800F8AB4 000F4714 B0 E6 00 02 */ sth r7, 2(r6) /* 800F8AB8 000F4718 38 A5 DA D4 */ addi r5, r5, lbl_8047DAD4@l /* 800F8ABC 000F471C 98 06 00 04 */ stb r0, 4(r6) -/* 800F8AC0 000F4720 48 0C E1 88 */ b func_801C6C48 +/* 800F8AC0 000F4720 48 0C E1 88 */ b __register_global_object_tmp lbl_800F8AC4: /* 800F8AC4 000F4724 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800F8AC8 000F4728 7C 08 02 A6 */ mflr r0 diff --git a/asm/text_4.s b/asm/text_4.s index 5bd5561..53306fa 100644 --- a/asm/text_4.s +++ b/asm/text_4.s @@ -69969,7 +69969,7 @@ lbl_801580F8: /* 80158170 00153DD0 38 7F 00 10 */ addi r3, r31, 0x10 /* 80158174 00153DD4 38 84 78 8C */ addi r4, r4, lbl_8015788C@l /* 80158178 00153DD8 38 BF 00 00 */ addi r5, r31, 0 -/* 8015817C 00153DDC 48 06 EA CD */ bl func_801C6C48 +/* 8015817C 00153DDC 48 06 EA CD */ bl __register_global_object_tmp /* 80158180 00153DE0 38 7F 00 3C */ addi r3, r31, 0x3c /* 80158184 00153DE4 38 BF 00 10 */ addi r5, r31, 0x10 /* 80158188 00153DE8 38 80 0C 1C */ li r4, 0xc1c @@ -69978,7 +69978,7 @@ lbl_801580F8: /* 80158194 00153DF4 38 7F 00 3C */ addi r3, r31, 0x3c /* 80158198 00153DF8 38 84 5E E0 */ addi r4, r4, func_80225EE0@l /* 8015819C 00153DFC 38 BF 00 30 */ addi r5, r31, 0x30 -/* 801581A0 00153E00 48 06 EA A9 */ bl func_801C6C48 +/* 801581A0 00153E00 48 06 EA A9 */ bl __register_global_object_tmp /* 801581A4 00153E04 80 01 00 14 */ lwz r0, 0x14(r1) /* 801581A8 00153E08 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801581AC 00153E0C 7C 08 03 A6 */ mtlr r0 @@ -76386,7 +76386,7 @@ func_8015D350: /* 8015D380 00158FE0 B0 E6 00 02 */ sth r7, 2(r6) /* 8015D384 00158FE4 38 A5 77 30 */ addi r5, r5, lbl_80487730@l /* 8015D388 00158FE8 98 06 00 04 */ stb r0, 4(r6) -/* 8015D38C 00158FEC 48 06 98 BC */ b func_801C6C48 +/* 8015D38C 00158FEC 48 06 98 BC */ b __register_global_object_tmp lbl_8015D390: /* 8015D390 00158FF0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8015D394 00158FF4 7C 08 02 A6 */ mflr r0 @@ -91356,7 +91356,7 @@ lbl_8016A06C: /* 8016A0D0 00165D30 38 BE 00 00 */ addi r5, r30, 0 /* 8016A0D4 00165D34 38 84 98 44 */ addi r4, r4, lbl_80169844@l /* 8016A0D8 00165D38 38 6D 9E 9C */ addi r3, r13, lbl_8063F15C-_SDA_BASE_ -/* 8016A0DC 00165D3C 48 05 CB 6D */ bl func_801C6C48 +/* 8016A0DC 00165D3C 48 05 CB 6D */ bl __register_global_object_tmp /* 8016A0E0 00165D40 38 7E 00 18 */ addi r3, r30, 0x18 /* 8016A0E4 00165D44 38 80 03 E8 */ li r4, 0x3e8 /* 8016A0E8 00165D48 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_ @@ -91365,7 +91365,7 @@ lbl_8016A06C: /* 8016A0F4 00165D54 38 7E 00 18 */ addi r3, r30, 0x18 /* 8016A0F8 00165D58 38 9F 5E E0 */ addi r4, r31, func_80225EE0@l /* 8016A0FC 00165D5C 38 BE 00 0C */ addi r5, r30, 0xc -/* 8016A100 00165D60 48 05 CB 49 */ bl func_801C6C48 +/* 8016A100 00165D60 48 05 CB 49 */ bl __register_global_object_tmp /* 8016A104 00165D64 38 7E 00 40 */ addi r3, r30, 0x40 /* 8016A108 00165D68 38 80 03 E9 */ li r4, 0x3e9 /* 8016A10C 00165D6C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_ @@ -91373,7 +91373,7 @@ lbl_8016A06C: /* 8016A114 00165D74 38 7E 00 40 */ addi r3, r30, 0x40 /* 8016A118 00165D78 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 8016A11C 00165D7C 38 BE 00 34 */ addi r5, r30, 0x34 -/* 8016A120 00165D80 48 05 CB 29 */ bl func_801C6C48 +/* 8016A120 00165D80 48 05 CB 29 */ bl __register_global_object_tmp /* 8016A124 00165D84 38 7E 00 68 */ addi r3, r30, 0x68 /* 8016A128 00165D88 38 80 03 EA */ li r4, 0x3ea /* 8016A12C 00165D8C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_ @@ -91381,7 +91381,7 @@ lbl_8016A06C: /* 8016A134 00165D94 38 7E 00 68 */ addi r3, r30, 0x68 /* 8016A138 00165D98 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 8016A13C 00165D9C 38 BE 00 5C */ addi r5, r30, 0x5c -/* 8016A140 00165DA0 48 05 CB 09 */ bl func_801C6C48 +/* 8016A140 00165DA0 48 05 CB 09 */ bl __register_global_object_tmp /* 8016A144 00165DA4 38 7E 00 90 */ addi r3, r30, 0x90 /* 8016A148 00165DA8 38 80 03 EB */ li r4, 0x3eb /* 8016A14C 00165DAC 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_ @@ -91389,7 +91389,7 @@ lbl_8016A06C: /* 8016A154 00165DB4 38 7E 00 90 */ addi r3, r30, 0x90 /* 8016A158 00165DB8 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 8016A15C 00165DBC 38 BE 00 84 */ addi r5, r30, 0x84 -/* 8016A160 00165DC0 48 05 CA E9 */ bl func_801C6C48 +/* 8016A160 00165DC0 48 05 CA E9 */ bl __register_global_object_tmp /* 8016A164 00165DC4 38 7E 00 B8 */ addi r3, r30, 0xb8 /* 8016A168 00165DC8 38 80 03 EC */ li r4, 0x3ec /* 8016A16C 00165DCC 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_ @@ -91397,7 +91397,7 @@ lbl_8016A06C: /* 8016A174 00165DD4 38 7E 00 B8 */ addi r3, r30, 0xb8 /* 8016A178 00165DD8 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 8016A17C 00165DDC 38 BE 00 AC */ addi r5, r30, 0xac -/* 8016A180 00165DE0 48 05 CA C9 */ bl func_801C6C48 +/* 8016A180 00165DE0 48 05 CA C9 */ bl __register_global_object_tmp /* 8016A184 00165DE4 38 7E 00 E0 */ addi r3, r30, 0xe0 /* 8016A188 00165DE8 38 80 03 ED */ li r4, 0x3ed /* 8016A18C 00165DEC 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_ @@ -91405,7 +91405,7 @@ lbl_8016A06C: /* 8016A194 00165DF4 38 7E 00 E0 */ addi r3, r30, 0xe0 /* 8016A198 00165DF8 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 8016A19C 00165DFC 38 BE 00 D4 */ addi r5, r30, 0xd4 -/* 8016A1A0 00165E00 48 05 CA A9 */ bl func_801C6C48 +/* 8016A1A0 00165E00 48 05 CA A9 */ bl __register_global_object_tmp /* 8016A1A4 00165E04 38 7E 01 08 */ addi r3, r30, 0x108 /* 8016A1A8 00165E08 38 80 03 EE */ li r4, 0x3ee /* 8016A1AC 00165E0C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_ @@ -91413,7 +91413,7 @@ lbl_8016A06C: /* 8016A1B4 00165E14 38 7E 01 08 */ addi r3, r30, 0x108 /* 8016A1B8 00165E18 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 8016A1BC 00165E1C 38 BE 00 FC */ addi r5, r30, 0xfc -/* 8016A1C0 00165E20 48 05 CA 89 */ bl func_801C6C48 +/* 8016A1C0 00165E20 48 05 CA 89 */ bl __register_global_object_tmp /* 8016A1C4 00165E24 38 7E 01 30 */ addi r3, r30, 0x130 /* 8016A1C8 00165E28 38 80 03 EF */ li r4, 0x3ef /* 8016A1CC 00165E2C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_ @@ -91421,7 +91421,7 @@ lbl_8016A06C: /* 8016A1D4 00165E34 38 7E 01 30 */ addi r3, r30, 0x130 /* 8016A1D8 00165E38 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 8016A1DC 00165E3C 38 BE 01 24 */ addi r5, r30, 0x124 -/* 8016A1E0 00165E40 48 05 CA 69 */ bl func_801C6C48 +/* 8016A1E0 00165E40 48 05 CA 69 */ bl __register_global_object_tmp /* 8016A1E4 00165E44 38 7E 01 58 */ addi r3, r30, 0x158 /* 8016A1E8 00165E48 38 80 03 F0 */ li r4, 0x3f0 /* 8016A1EC 00165E4C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_ @@ -91429,7 +91429,7 @@ lbl_8016A06C: /* 8016A1F4 00165E54 38 7E 01 58 */ addi r3, r30, 0x158 /* 8016A1F8 00165E58 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 8016A1FC 00165E5C 38 BE 01 4C */ addi r5, r30, 0x14c -/* 8016A200 00165E60 48 05 CA 49 */ bl func_801C6C48 +/* 8016A200 00165E60 48 05 CA 49 */ bl __register_global_object_tmp /* 8016A204 00165E64 38 7E 01 80 */ addi r3, r30, 0x180 /* 8016A208 00165E68 38 80 03 F1 */ li r4, 0x3f1 /* 8016A20C 00165E6C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_ @@ -91437,7 +91437,7 @@ lbl_8016A06C: /* 8016A214 00165E74 38 7E 01 80 */ addi r3, r30, 0x180 /* 8016A218 00165E78 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 8016A21C 00165E7C 38 BE 01 74 */ addi r5, r30, 0x174 -/* 8016A220 00165E80 48 05 CA 29 */ bl func_801C6C48 +/* 8016A220 00165E80 48 05 CA 29 */ bl __register_global_object_tmp /* 8016A224 00165E84 38 7E 01 A8 */ addi r3, r30, 0x1a8 /* 8016A228 00165E88 38 80 03 F2 */ li r4, 0x3f2 /* 8016A22C 00165E8C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_ @@ -91445,7 +91445,7 @@ lbl_8016A06C: /* 8016A234 00165E94 38 7E 01 A8 */ addi r3, r30, 0x1a8 /* 8016A238 00165E98 38 9F 5E E0 */ addi r4, r31, 0x5ee0 /* 8016A23C 00165E9C 38 BE 01 9C */ addi r5, r30, 0x19c -/* 8016A240 00165EA0 48 05 CA 09 */ bl func_801C6C48 +/* 8016A240 00165EA0 48 05 CA 09 */ bl __register_global_object_tmp /* 8016A244 00165EA4 80 01 00 14 */ lwz r0, 0x14(r1) /* 8016A248 00165EA8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8016A24C 00165EAC 83 C1 00 08 */ lwz r30, 8(r1) diff --git a/asm/text_5_2.s b/asm/text_5_2.s index bcd9cc9..5d2fdd0 100644 --- a/asm/text_5_2.s +++ b/asm/text_5_2.s @@ -2,39 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60 -.global func_801C6C48 -func_801C6C48: #__register_global_object -#note: this func requires __destroy_global_chain to be defined to be defined as __register_global_object -/* 801C6C48 001C28A8 80 0D 9F C0 */ lwz r0, lbl_8063F280-_SDA_BASE_(r13) -/* 801C6C4C 001C28AC 90 05 00 00 */ stw r0, 0(r5) -/* 801C6C50 001C28B0 90 85 00 04 */ stw r4, 4(r5) -/* 801C6C54 001C28B4 90 65 00 08 */ stw r3, 8(r5) -/* 801C6C58 001C28B8 90 AD 9F C0 */ stw r5, lbl_8063F280-_SDA_BASE_(r13) -/* 801C6C5C 001C28BC 4E 80 00 20 */ blr - -.global func_801C6C60 -func_801C6C60: #__destroy_global_chain?? -/* 801C6C60 001C28C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801C6C64 001C28C4 7C 08 02 A6 */ mflr r0 -/* 801C6C68 001C28C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801C6C6C 001C28CC 48 00 00 20 */ b lbl_801C6C8C -lbl_801C6C70: -/* 801C6C70 001C28D0 80 03 00 00 */ lwz r0, 0(r3) -/* 801C6C74 001C28D4 38 80 FF FF */ li r4, -1 -/* 801C6C78 001C28D8 90 0D 9F C0 */ stw r0, lbl_8063F280-_SDA_BASE_(r13) -/* 801C6C7C 001C28DC 81 83 00 04 */ lwz r12, 4(r3) -/* 801C6C80 001C28E0 80 63 00 08 */ lwz r3, 8(r3) -/* 801C6C84 001C28E4 7D 89 03 A6 */ mtctr r12 -/* 801C6C88 001C28E8 4E 80 04 21 */ bctrl -lbl_801C6C8C: -/* 801C6C8C 001C28EC 80 6D 9F C0 */ lwz r3, lbl_8063F280-_SDA_BASE_(r13) -/* 801C6C90 001C28F0 2C 03 00 00 */ cmpwi r3, 0 -/* 801C6C94 001C28F4 40 82 FF DC */ bne lbl_801C6C70 -/* 801C6C98 001C28F8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801C6C9C 001C28FC 7C 08 03 A6 */ mtlr r0 -/* 801C6CA0 001C2900 38 21 00 10 */ addi r1, r1, 0x10 -/* 801C6CA4 001C2904 4E 80 00 20 */ blr - .global func_801C6CA8 func_801C6CA8: /* 801C6CA8 001C2908 94 21 FF C0 */ stwu r1, -0x40(r1) @@ -977,3553 +944,3 @@ lbl_801C7798: lbl_801C77B8: /* 801C77B8 001C3418 38 21 00 10 */ addi r1, r1, 0x10 /* 801C77BC 001C341C 4E 80 00 20 */ blr - -.global func_801C77C0 -func_801C77C0: #__init_cpp_exceptions -#causes "runtime sources 'global_destructor_chain.c' and '__init_cpp_exceptions.cpp' both need to be updated to latest -#version. Please contact Metrowerks support." error -#needs to be split correctly before renaming -/* 801C77C0 001C3420 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801C77C4 001C3424 7C 08 02 A6 */ mflr r0 -/* 801C77C8 001C3428 90 01 00 14 */ stw r0, 0x14(r1) -/* 801C77CC 001C342C 80 0D 83 D8 */ lwz r0, lbl_8063D698-_SDA_BASE_(r13) -/* 801C77D0 001C3430 2C 00 FF FE */ cmpwi r0, -2 -/* 801C77D4 001C3434 40 82 00 18 */ bne lbl_801C77EC -/* 801C77D8 001C3438 3C 60 80 00 */ lis r3, lbl_80006948@ha -/* 801C77DC 001C343C 7C 44 13 78 */ mr r4, r2 -/* 801C77E0 001C3440 38 63 69 48 */ addi r3, r3, lbl_80006948@l -/* 801C77E4 001C3444 48 00 00 4D */ bl __register_fragment -/* 801C77E8 001C3448 90 6D 83 D8 */ stw r3, lbl_8063D698-_SDA_BASE_(r13) -lbl_801C77EC: -/* 801C77EC 001C344C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801C77F0 001C3450 7C 08 03 A6 */ mtlr r0 -/* 801C77F4 001C3454 38 21 00 10 */ addi r1, r1, 0x10 -/* 801C77F8 001C3458 4E 80 00 20 */ blr - -.global func_801C77FC -func_801C77FC: #__fini_cpp_exceptions -#causes "runtime sources 'global_destructor_chain.c' and '__init_cpp_exceptions.cpp' both need to be updated to latest -#version. Please contact Metrowerks support." error -#needs to be split correctly before renaming -/* 801C77FC 001C345C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801C7800 001C3460 7C 08 02 A6 */ mflr r0 -/* 801C7804 001C3464 90 01 00 14 */ stw r0, 0x14(r1) -/* 801C7808 001C3468 80 6D 83 D8 */ lwz r3, lbl_8063D698-_SDA_BASE_(r13) -/* 801C780C 001C346C 2C 03 FF FE */ cmpwi r3, -2 -/* 801C7810 001C3470 41 82 00 10 */ beq lbl_801C7820 -/* 801C7814 001C3474 48 00 00 51 */ bl func_801C7864 -/* 801C7818 001C3478 38 00 FF FE */ li r0, -2 -/* 801C781C 001C347C 90 0D 83 D8 */ stw r0, lbl_8063D698-_SDA_BASE_(r13) -lbl_801C7820: -/* 801C7820 001C3480 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801C7824 001C3484 7C 08 03 A6 */ mtlr r0 -/* 801C7828 001C3488 38 21 00 10 */ addi r1, r1, 0x10 -/* 801C782C 001C348C 4E 80 00 20 */ blr - -.global __register_fragment -__register_fragment: -/* 801C7830 001C3490 3C A0 80 49 */ lis r5, lbl_8048EAE0@ha -/* 801C7834 001C3494 38 A5 EA E0 */ addi r5, r5, lbl_8048EAE0@l -/* 801C7838 001C3498 80 05 00 08 */ lwz r0, 8(r5) -/* 801C783C 001C349C 2C 00 00 00 */ cmpwi r0, 0 -/* 801C7840 001C34A0 40 82 00 1C */ bne lbl_801C785C -/* 801C7844 001C34A4 90 65 00 00 */ stw r3, 0(r5) -/* 801C7848 001C34A8 38 00 00 01 */ li r0, 1 -/* 801C784C 001C34AC 38 60 00 00 */ li r3, 0 -/* 801C7850 001C34B0 90 85 00 04 */ stw r4, 4(r5) -/* 801C7854 001C34B4 90 05 00 08 */ stw r0, 8(r5) -/* 801C7858 001C34B8 4E 80 00 20 */ blr -lbl_801C785C: -/* 801C785C 001C34BC 38 60 FF FF */ li r3, -1 -/* 801C7860 001C34C0 4E 80 00 20 */ blr - -.global func_801C7864 -func_801C7864: -/* 801C7864 001C34C4 2C 03 00 00 */ cmpwi r3, 0 -/* 801C7868 001C34C8 4D 80 00 20 */ bltlr -/* 801C786C 001C34CC 2C 03 00 01 */ cmpwi r3, 1 -/* 801C7870 001C34D0 4C 80 00 20 */ bgelr -/* 801C7874 001C34D4 1C 83 00 0C */ mulli r4, r3, 0xc -/* 801C7878 001C34D8 3C 60 80 49 */ lis r3, lbl_8048EAE0@ha -/* 801C787C 001C34DC 38 00 00 00 */ li r0, 0 -/* 801C7880 001C34E0 38 63 EA E0 */ addi r3, r3, lbl_8048EAE0@l -/* 801C7884 001C34E4 7C 03 21 6E */ stwux r0, r3, r4 -/* 801C7888 001C34E8 90 03 00 04 */ stw r0, 4(r3) -/* 801C788C 001C34EC 90 03 00 08 */ stw r0, 8(r3) -/* 801C7890 001C34F0 4E 80 00 20 */ blr - -.global func_801C7894 -func_801C7894: -/* 801C7894 001C34F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801C7898 001C34F8 7C 08 02 A6 */ mflr r0 -/* 801C789C 001C34FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 801C78A0 001C3500 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801C78A4 001C3504 3B E0 00 00 */ li r31, 0 -/* 801C78A8 001C3508 93 C1 00 18 */ stw r30, 0x18(r1) -/* 801C78AC 001C350C 3B C0 00 03 */ li r30, 3 -/* 801C78B0 001C3510 93 A1 00 14 */ stw r29, 0x14(r1) -/* 801C78B4 001C3514 3F A0 80 42 */ lis r29, lbl_804228F0@ha -/* 801C78B8 001C3518 3B BD 28 F0 */ addi r29, r29, lbl_804228F0@l -/* 801C78BC 001C351C 48 00 00 58 */ b lbl_801C7914 -lbl_801C78C0: -/* 801C78C0 001C3520 80 1D 00 04 */ lwz r0, 4(r29) -/* 801C78C4 001C3524 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f -/* 801C78C8 001C3528 41 82 00 0C */ beq lbl_801C78D4 -/* 801C78CC 001C352C 7F A3 EB 78 */ mr r3, r29 -/* 801C78D0 001C3530 48 00 23 01 */ bl func_801C9BD0 -lbl_801C78D4: -/* 801C78D4 001C3534 7F A3 EB 78 */ mr r3, r29 -/* 801C78D8 001C3538 83 BD 00 4C */ lwz r29, 0x4c(r29) -/* 801C78DC 001C353C 88 03 00 0C */ lbz r0, 0xc(r3) -/* 801C78E0 001C3540 2C 00 00 00 */ cmpwi r0, 0 -/* 801C78E4 001C3544 41 82 00 0C */ beq lbl_801C78F0 -/* 801C78E8 001C3548 4B E4 2E DD */ bl func_8000A7C4 -/* 801C78EC 001C354C 48 00 00 28 */ b lbl_801C7914 -lbl_801C78F0: -/* 801C78F0 001C3550 80 03 00 04 */ lwz r0, 4(r3) -/* 801C78F4 001C3554 53 C0 B1 D2 */ rlwimi r0, r30, 0x16, 7, 9 -/* 801C78F8 001C3558 2C 1D 00 00 */ cmpwi r29, 0 -/* 801C78FC 001C355C 90 03 00 04 */ stw r0, 4(r3) -/* 801C7900 001C3560 41 82 00 14 */ beq lbl_801C7914 -/* 801C7904 001C3564 88 1D 00 0C */ lbz r0, 0xc(r29) -/* 801C7908 001C3568 2C 00 00 00 */ cmpwi r0, 0 -/* 801C790C 001C356C 41 82 00 08 */ beq lbl_801C7914 -/* 801C7910 001C3570 93 E3 00 4C */ stw r31, 0x4c(r3) -lbl_801C7914: -/* 801C7914 001C3574 2C 1D 00 00 */ cmpwi r29, 0 -/* 801C7918 001C3578 40 82 FF A8 */ bne lbl_801C78C0 -/* 801C791C 001C357C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801C7920 001C3580 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801C7924 001C3584 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 801C7928 001C3588 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 801C792C 001C358C 7C 08 03 A6 */ mtlr r0 -/* 801C7930 001C3590 38 21 00 20 */ addi r1, r1, 0x20 -/* 801C7934 001C3594 4E 80 00 20 */ blr - -.global func_801C7938 -func_801C7938: -/* 801C7938 001C3598 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801C793C 001C359C 7C 08 02 A6 */ mflr r0 -/* 801C7940 001C35A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801C7944 001C35A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801C7948 001C35A8 3B E0 00 00 */ li r31, 0 -/* 801C794C 001C35AC 93 C1 00 08 */ stw r30, 8(r1) -/* 801C7950 001C35B0 3F C0 80 42 */ lis r30, lbl_804228F0@ha -/* 801C7954 001C35B4 3B DE 28 F0 */ addi r30, r30, lbl_804228F0@l -/* 801C7958 001C35B8 48 00 00 40 */ b lbl_801C7998 -lbl_801C795C: -/* 801C795C 001C35BC 80 7E 00 04 */ lwz r3, 4(r30) -/* 801C7960 001C35C0 54 60 57 7F */ rlwinm. r0, r3, 0xa, 0x1d, 0x1f -/* 801C7964 001C35C4 41 82 00 30 */ beq lbl_801C7994 -/* 801C7968 001C35C8 54 60 3F FF */ rlwinm. r0, r3, 7, 0x1f, 0x1f -/* 801C796C 001C35CC 41 82 00 28 */ beq lbl_801C7994 -/* 801C7970 001C35D0 80 1E 00 08 */ lwz r0, 8(r30) -/* 801C7974 001C35D4 54 00 1F 7E */ srwi r0, r0, 0x1d -/* 801C7978 001C35D8 28 00 00 01 */ cmplwi r0, 1 -/* 801C797C 001C35DC 40 82 00 18 */ bne lbl_801C7994 -/* 801C7980 001C35E0 7F C3 F3 78 */ mr r3, r30 -/* 801C7984 001C35E4 48 00 23 09 */ bl func_801C9C8C -/* 801C7988 001C35E8 2C 03 00 00 */ cmpwi r3, 0 -/* 801C798C 001C35EC 41 82 00 08 */ beq lbl_801C7994 -/* 801C7990 001C35F0 3B E0 FF FF */ li r31, -1 -lbl_801C7994: -/* 801C7994 001C35F4 83 DE 00 4C */ lwz r30, 0x4c(r30) -lbl_801C7998: -/* 801C7998 001C35F8 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C799C 001C35FC 40 82 FF C0 */ bne lbl_801C795C -/* 801C79A0 001C3600 7F E3 FB 78 */ mr r3, r31 -/* 801C79A4 001C3604 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801C79A8 001C3608 83 C1 00 08 */ lwz r30, 8(r1) -/* 801C79AC 001C360C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801C79B0 001C3610 7C 08 03 A6 */ mtlr r0 -/* 801C79B4 001C3614 38 21 00 10 */ addi r1, r1, 0x10 -/* 801C79B8 001C3618 4E 80 00 20 */ blr - -.global func_801C79BC -func_801C79BC: -/* 801C79BC 001C361C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801C79C0 001C3620 7C 08 02 A6 */ mflr r0 -/* 801C79C4 001C3624 90 01 00 14 */ stw r0, 0x14(r1) -/* 801C79C8 001C3628 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801C79CC 001C362C 3B E0 00 00 */ li r31, 0 -/* 801C79D0 001C3630 93 C1 00 08 */ stw r30, 8(r1) -/* 801C79D4 001C3634 3F C0 80 42 */ lis r30, lbl_804228F0@ha -/* 801C79D8 001C3638 3B DE 28 F0 */ addi r30, r30, lbl_804228F0@l -/* 801C79DC 001C363C 48 00 00 28 */ b lbl_801C7A04 -lbl_801C79E0: -/* 801C79E0 001C3640 80 1E 00 04 */ lwz r0, 4(r30) -/* 801C79E4 001C3644 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f -/* 801C79E8 001C3648 41 82 00 18 */ beq lbl_801C7A00 -/* 801C79EC 001C364C 7F C3 F3 78 */ mr r3, r30 -/* 801C79F0 001C3650 48 00 22 9D */ bl func_801C9C8C -/* 801C79F4 001C3654 2C 03 00 00 */ cmpwi r3, 0 -/* 801C79F8 001C3658 41 82 00 08 */ beq lbl_801C7A00 -/* 801C79FC 001C365C 3B E0 FF FF */ li r31, -1 -lbl_801C7A00: -/* 801C7A00 001C3660 83 DE 00 4C */ lwz r30, 0x4c(r30) -lbl_801C7A04: -/* 801C7A04 001C3664 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C7A08 001C3668 40 82 FF D8 */ bne lbl_801C79E0 -/* 801C7A0C 001C366C 7F E3 FB 78 */ mr r3, r31 -/* 801C7A10 001C3670 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801C7A14 001C3674 83 C1 00 08 */ lwz r30, 8(r1) -/* 801C7A18 001C3678 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801C7A1C 001C367C 7C 08 03 A6 */ mtlr r0 -/* 801C7A20 001C3680 38 21 00 10 */ addi r1, r1, 0x10 -/* 801C7A24 001C3684 4E 80 00 20 */ blr - -.global func_801C7A28 -func_801C7A28: -/* 801C7A28 001C3688 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801C7A2C 001C368C 7C 08 02 A6 */ mflr r0 -/* 801C7A30 001C3690 90 01 00 24 */ stw r0, 0x24(r1) -/* 801C7A34 001C3694 38 00 00 00 */ li r0, 0 -/* 801C7A38 001C3698 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801C7A3C 001C369C 7C BF 2B 78 */ mr r31, r5 -/* 801C7A40 001C36A0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 801C7A44 001C36A4 7C DE 33 78 */ mr r30, r6 -/* 801C7A48 001C36A8 93 A1 00 14 */ stw r29, 0x14(r1) -/* 801C7A4C 001C36AC 7C 7D 1B 78 */ mr r29, r3 -/* 801C7A50 001C36B0 98 03 00 00 */ stb r0, 0(r3) -/* 801C7A54 001C36B4 98 03 00 04 */ stb r0, 4(r3) -/* 801C7A58 001C36B8 48 00 00 48 */ b lbl_801C7AA0 -lbl_801C7A5C: -/* 801C7A5C 001C36BC 7F E3 FB 78 */ mr r3, r31 -/* 801C7A60 001C36C0 7F C4 F3 78 */ mr r4, r30 -/* 801C7A64 001C36C4 38 C0 00 0A */ li r6, 0xa -/* 801C7A68 001C36C8 38 A0 00 00 */ li r5, 0 -/* 801C7A6C 001C36CC 4B FF F9 45 */ bl __mod2u -/* 801C7A70 001C36D0 89 1D 00 04 */ lbz r8, 4(r29) -/* 801C7A74 001C36D4 7F E3 FB 78 */ mr r3, r31 -/* 801C7A78 001C36D8 38 C0 00 0A */ li r6, 0xa -/* 801C7A7C 001C36DC 38 A0 00 00 */ li r5, 0 -/* 801C7A80 001C36E0 7C FD 42 14 */ add r7, r29, r8 -/* 801C7A84 001C36E4 38 08 00 01 */ addi r0, r8, 1 -/* 801C7A88 001C36E8 98 87 00 05 */ stb r4, 5(r7) -/* 801C7A8C 001C36EC 7F C4 F3 78 */ mr r4, r30 -/* 801C7A90 001C36F0 98 1D 00 04 */ stb r0, 4(r29) -/* 801C7A94 001C36F4 4B FF F6 F9 */ bl __div2u -/* 801C7A98 001C36F8 7C 9E 23 78 */ mr r30, r4 -/* 801C7A9C 001C36FC 7C 7F 1B 78 */ mr r31, r3 -lbl_801C7AA0: -/* 801C7AA0 001C3700 7F C0 FB 79 */ or. r0, r30, r31 -/* 801C7AA4 001C3704 40 82 FF B8 */ bne lbl_801C7A5C -/* 801C7AA8 001C3708 88 1D 00 04 */ lbz r0, 4(r29) -/* 801C7AAC 001C370C 38 9D 00 05 */ addi r4, r29, 5 -/* 801C7AB0 001C3710 7C 7D 02 14 */ add r3, r29, r0 -/* 801C7AB4 001C3714 38 63 00 05 */ addi r3, r3, 5 -/* 801C7AB8 001C3718 48 00 00 18 */ b lbl_801C7AD0 -lbl_801C7ABC: -/* 801C7ABC 001C371C 88 A4 00 00 */ lbz r5, 0(r4) -/* 801C7AC0 001C3720 88 03 00 00 */ lbz r0, 0(r3) -/* 801C7AC4 001C3724 98 04 00 00 */ stb r0, 0(r4) -/* 801C7AC8 001C3728 38 84 00 01 */ addi r4, r4, 1 -/* 801C7ACC 001C372C 98 A3 00 00 */ stb r5, 0(r3) -lbl_801C7AD0: -/* 801C7AD0 001C3730 38 63 FF FF */ addi r3, r3, -1 -/* 801C7AD4 001C3734 7C 04 18 40 */ cmplw r4, r3 -/* 801C7AD8 001C3738 41 80 FF E4 */ blt lbl_801C7ABC -/* 801C7ADC 001C373C 88 7D 00 04 */ lbz r3, 4(r29) -/* 801C7AE0 001C3740 38 03 FF FF */ addi r0, r3, -1 -/* 801C7AE4 001C3744 B0 1D 00 02 */ sth r0, 2(r29) -/* 801C7AE8 001C3748 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801C7AEC 001C374C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 801C7AF0 001C3750 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 801C7AF4 001C3754 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801C7AF8 001C3758 7C 08 03 A6 */ mtlr r0 -/* 801C7AFC 001C375C 38 21 00 20 */ addi r1, r1, 0x20 -/* 801C7B00 001C3760 4E 80 00 20 */ blr - -.global func_801C7B04 -func_801C7B04: -/* 801C7B04 001C3764 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 801C7B08 001C3768 3C C0 CC CD */ lis r6, 0xCCCCCCCD@ha -/* 801C7B0C 001C376C 89 04 00 04 */ lbz r8, 4(r4) -/* 801C7B10 001C3770 39 60 00 00 */ li r11, 0 -/* 801C7B14 001C3774 93 E1 00 5C */ stw r31, 0x5c(r1) -/* 801C7B18 001C3778 38 01 00 08 */ addi r0, r1, 8 -/* 801C7B1C 001C377C 88 E5 00 04 */ lbz r7, 4(r5) -/* 801C7B20 001C3780 39 26 CC CD */ addi r9, r6, 0xCCCCCCCD@l -/* 801C7B24 001C3784 93 C1 00 58 */ stw r30, 0x58(r1) -/* 801C7B28 001C3788 7D 88 3A 14 */ add r12, r8, r7 -/* 801C7B2C 001C378C 93 A1 00 54 */ stw r29, 0x54(r1) -/* 801C7B30 001C3790 39 8C FF FF */ addi r12, r12, -1 -/* 801C7B34 001C3794 7C C0 62 14 */ add r6, r0, r12 -/* 801C7B38 001C3798 38 C6 00 01 */ addi r6, r6, 1 -/* 801C7B3C 001C379C 99 63 00 00 */ stb r11, 0(r3) -/* 801C7B40 001C37A0 7C C0 33 78 */ mr r0, r6 -/* 801C7B44 001C37A4 48 00 01 30 */ b lbl_801C7C74 -lbl_801C7B48: -/* 801C7B48 001C37A8 88 E5 00 04 */ lbz r7, 4(r5) -/* 801C7B4C 001C37AC 3B E7 FF FF */ addi r31, r7, -1 -/* 801C7B50 001C37B0 7C FF 60 50 */ subf r7, r31, r12 -/* 801C7B54 001C37B4 37 C7 FF FF */ addic. r30, r7, -1 -/* 801C7B58 001C37B8 40 80 00 0C */ bge lbl_801C7B64 -/* 801C7B5C 001C37BC 3B C0 00 00 */ li r30, 0 -/* 801C7B60 001C37C0 3B EC FF FF */ addi r31, r12, -1 -lbl_801C7B64: -/* 801C7B64 001C37C4 88 E4 00 04 */ lbz r7, 4(r4) -/* 801C7B68 001C37C8 7D 05 FA 14 */ add r8, r5, r31 -/* 801C7B6C 001C37CC 3B FF 00 01 */ addi r31, r31, 1 -/* 801C7B70 001C37D0 7D 44 F2 14 */ add r10, r4, r30 -/* 801C7B74 001C37D4 7C FE 38 50 */ subf r7, r30, r7 -/* 801C7B78 001C37D8 3B A8 00 05 */ addi r29, r8, 5 -/* 801C7B7C 001C37DC 7C 1F 38 00 */ cmpw r31, r7 -/* 801C7B80 001C37E0 3B CA 00 05 */ addi r30, r10, 5 -/* 801C7B84 001C37E4 40 81 00 08 */ ble lbl_801C7B8C -/* 801C7B88 001C37E8 7C FF 3B 78 */ mr r31, r7 -lbl_801C7B8C: -/* 801C7B8C 001C37EC 2C 1F 00 00 */ cmpwi r31, 0 -/* 801C7B90 001C37F0 40 81 00 C4 */ ble lbl_801C7C54 -/* 801C7B94 001C37F4 57 E7 E8 FF */ rlwinm. r7, r31, 0x1d, 3, 0x1f -/* 801C7B98 001C37F8 7C E9 03 A6 */ mtctr r7 -/* 801C7B9C 001C37FC 41 82 00 98 */ beq lbl_801C7C34 -lbl_801C7BA0: -/* 801C7BA0 001C3800 89 5E 00 00 */ lbz r10, 0(r30) -/* 801C7BA4 001C3804 89 1D 00 00 */ lbz r8, 0(r29) -/* 801C7BA8 001C3808 7C EA 41 D6 */ mullw r7, r10, r8 -/* 801C7BAC 001C380C 89 5E 00 01 */ lbz r10, 1(r30) -/* 801C7BB0 001C3810 89 1D FF FF */ lbz r8, -1(r29) -/* 801C7BB4 001C3814 7D 6B 3A 14 */ add r11, r11, r7 -/* 801C7BB8 001C3818 7C EA 41 D6 */ mullw r7, r10, r8 -/* 801C7BBC 001C381C 89 5E 00 02 */ lbz r10, 2(r30) -/* 801C7BC0 001C3820 89 1D FF FE */ lbz r8, -2(r29) -/* 801C7BC4 001C3824 7D 6B 3A 14 */ add r11, r11, r7 -/* 801C7BC8 001C3828 7C EA 41 D6 */ mullw r7, r10, r8 -/* 801C7BCC 001C382C 89 5E 00 03 */ lbz r10, 3(r30) -/* 801C7BD0 001C3830 89 1D FF FD */ lbz r8, -3(r29) -/* 801C7BD4 001C3834 7D 6B 3A 14 */ add r11, r11, r7 -/* 801C7BD8 001C3838 7C EA 41 D6 */ mullw r7, r10, r8 -/* 801C7BDC 001C383C 89 5E 00 04 */ lbz r10, 4(r30) -/* 801C7BE0 001C3840 89 1D FF FC */ lbz r8, -4(r29) -/* 801C7BE4 001C3844 7D 6B 3A 14 */ add r11, r11, r7 -/* 801C7BE8 001C3848 7C EA 41 D6 */ mullw r7, r10, r8 -/* 801C7BEC 001C384C 89 5E 00 05 */ lbz r10, 5(r30) -/* 801C7BF0 001C3850 89 1D FF FB */ lbz r8, -5(r29) -/* 801C7BF4 001C3854 7D 6B 3A 14 */ add r11, r11, r7 -/* 801C7BF8 001C3858 7C EA 41 D6 */ mullw r7, r10, r8 -/* 801C7BFC 001C385C 89 5E 00 06 */ lbz r10, 6(r30) -/* 801C7C00 001C3860 89 1D FF FA */ lbz r8, -6(r29) -/* 801C7C04 001C3864 7D 6B 3A 14 */ add r11, r11, r7 -/* 801C7C08 001C3868 7C EA 41 D6 */ mullw r7, r10, r8 -/* 801C7C0C 001C386C 89 5E 00 07 */ lbz r10, 7(r30) -/* 801C7C10 001C3870 89 1D FF F9 */ lbz r8, -7(r29) -/* 801C7C14 001C3874 3B DE 00 08 */ addi r30, r30, 8 -/* 801C7C18 001C3878 3B BD FF F8 */ addi r29, r29, -8 -/* 801C7C1C 001C387C 7D 6B 3A 14 */ add r11, r11, r7 -/* 801C7C20 001C3880 7C EA 41 D6 */ mullw r7, r10, r8 -/* 801C7C24 001C3884 7D 6B 3A 14 */ add r11, r11, r7 -/* 801C7C28 001C3888 42 00 FF 78 */ bdnz lbl_801C7BA0 -/* 801C7C2C 001C388C 73 FF 00 07 */ andi. r31, r31, 7 -/* 801C7C30 001C3890 41 82 00 24 */ beq lbl_801C7C54 -lbl_801C7C34: -/* 801C7C34 001C3894 7F E9 03 A6 */ mtctr r31 -lbl_801C7C38: -/* 801C7C38 001C3898 89 5E 00 00 */ lbz r10, 0(r30) -/* 801C7C3C 001C389C 3B DE 00 01 */ addi r30, r30, 1 -/* 801C7C40 001C38A0 89 1D 00 00 */ lbz r8, 0(r29) -/* 801C7C44 001C38A4 3B BD FF FF */ addi r29, r29, -1 -/* 801C7C48 001C38A8 7C EA 41 D6 */ mullw r7, r10, r8 -/* 801C7C4C 001C38AC 7D 6B 3A 14 */ add r11, r11, r7 -/* 801C7C50 001C38B0 42 00 FF E8 */ bdnz lbl_801C7C38 -lbl_801C7C54: -/* 801C7C54 001C38B4 7D 09 58 16 */ mulhwu r8, r9, r11 -/* 801C7C58 001C38B8 39 8C FF FF */ addi r12, r12, -1 -/* 801C7C5C 001C38BC 7D 07 43 78 */ mr r7, r8 -/* 801C7C60 001C38C0 55 08 E8 FE */ srwi r8, r8, 3 -/* 801C7C64 001C38C4 1D 08 00 0A */ mulli r8, r8, 0xa -/* 801C7C68 001C38C8 7D 08 58 50 */ subf r8, r8, r11 -/* 801C7C6C 001C38CC 54 EB E8 FE */ srwi r11, r7, 3 -/* 801C7C70 001C38D0 9D 06 FF FF */ stbu r8, -1(r6) -lbl_801C7C74: -/* 801C7C74 001C38D4 2C 0C 00 00 */ cmpwi r12, 0 -/* 801C7C78 001C38D8 41 81 FE D0 */ bgt lbl_801C7B48 -/* 801C7C7C 001C38DC A8 E4 00 02 */ lha r7, 2(r4) -/* 801C7C80 001C38E0 2C 0B 00 00 */ cmpwi r11, 0 -/* 801C7C84 001C38E4 A8 85 00 02 */ lha r4, 2(r5) -/* 801C7C88 001C38E8 7C 87 22 14 */ add r4, r7, r4 -/* 801C7C8C 001C38EC B0 83 00 02 */ sth r4, 2(r3) -/* 801C7C90 001C38F0 41 82 00 14 */ beq lbl_801C7CA4 -/* 801C7C94 001C38F4 9D 66 FF FF */ stbu r11, -1(r6) -/* 801C7C98 001C38F8 A8 83 00 02 */ lha r4, 2(r3) -/* 801C7C9C 001C38FC 38 84 00 01 */ addi r4, r4, 1 -/* 801C7CA0 001C3900 B0 83 00 02 */ sth r4, 2(r3) -lbl_801C7CA4: -/* 801C7CA4 001C3904 38 E0 00 00 */ li r7, 0 -/* 801C7CA8 001C3908 48 00 00 18 */ b lbl_801C7CC0 -lbl_801C7CAC: -/* 801C7CAC 001C390C 88 A6 00 00 */ lbz r5, 0(r6) -/* 801C7CB0 001C3910 7C 83 3A 14 */ add r4, r3, r7 -/* 801C7CB4 001C3914 38 E7 00 01 */ addi r7, r7, 1 -/* 801C7CB8 001C3918 38 C6 00 01 */ addi r6, r6, 1 -/* 801C7CBC 001C391C 98 A4 00 05 */ stb r5, 5(r4) -lbl_801C7CC0: -/* 801C7CC0 001C3920 2C 07 00 24 */ cmpwi r7, 0x24 -/* 801C7CC4 001C3924 40 80 00 0C */ bge lbl_801C7CD0 -/* 801C7CC8 001C3928 7C 06 00 40 */ cmplw r6, r0 -/* 801C7CCC 001C392C 41 80 FF E0 */ blt lbl_801C7CAC -lbl_801C7CD0: -/* 801C7CD0 001C3930 7C 06 00 40 */ cmplw r6, r0 -/* 801C7CD4 001C3934 98 E3 00 04 */ stb r7, 4(r3) -/* 801C7CD8 001C3938 40 80 00 A0 */ bge lbl_801C7D78 -/* 801C7CDC 001C393C 88 86 00 00 */ lbz r4, 0(r6) -/* 801C7CE0 001C3940 28 04 00 05 */ cmplwi r4, 5 -/* 801C7CE4 001C3944 41 80 00 94 */ blt lbl_801C7D78 -/* 801C7CE8 001C3948 40 82 00 38 */ bne lbl_801C7D20 -/* 801C7CEC 001C394C 38 A6 00 01 */ addi r5, r6, 1 -/* 801C7CF0 001C3950 7C 85 00 50 */ subf r4, r5, r0 -/* 801C7CF4 001C3954 7C 89 03 A6 */ mtctr r4 -/* 801C7CF8 001C3958 7C 05 00 40 */ cmplw r5, r0 -/* 801C7CFC 001C395C 40 80 00 18 */ bge lbl_801C7D14 -lbl_801C7D00: -/* 801C7D00 001C3960 88 05 00 00 */ lbz r0, 0(r5) -/* 801C7D04 001C3964 2C 00 00 00 */ cmpwi r0, 0 -/* 801C7D08 001C3968 40 82 00 18 */ bne lbl_801C7D20 -/* 801C7D0C 001C396C 38 A5 00 01 */ addi r5, r5, 1 -/* 801C7D10 001C3970 42 00 FF F0 */ bdnz lbl_801C7D00 -lbl_801C7D14: -/* 801C7D14 001C3974 88 06 FF FF */ lbz r0, -1(r6) -/* 801C7D18 001C3978 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801C7D1C 001C397C 41 82 00 5C */ beq lbl_801C7D78 -lbl_801C7D20: -/* 801C7D20 001C3980 88 83 00 04 */ lbz r4, 4(r3) -/* 801C7D24 001C3984 38 C3 00 05 */ addi r6, r3, 5 -/* 801C7D28 001C3988 38 00 00 00 */ li r0, 0 -/* 801C7D2C 001C398C 7C A6 22 14 */ add r5, r6, r4 -/* 801C7D30 001C3990 38 A5 FF FF */ addi r5, r5, -1 -lbl_801C7D34: -/* 801C7D34 001C3994 88 85 00 00 */ lbz r4, 0(r5) -/* 801C7D38 001C3998 28 04 00 09 */ cmplwi r4, 9 -/* 801C7D3C 001C399C 40 80 00 10 */ bge lbl_801C7D4C -/* 801C7D40 001C39A0 38 04 00 01 */ addi r0, r4, 1 -/* 801C7D44 001C39A4 98 05 00 00 */ stb r0, 0(r5) -/* 801C7D48 001C39A8 48 00 00 30 */ b lbl_801C7D78 -lbl_801C7D4C: -/* 801C7D4C 001C39AC 7C 05 30 40 */ cmplw r5, r6 -/* 801C7D50 001C39B0 40 82 00 1C */ bne lbl_801C7D6C -/* 801C7D54 001C39B4 38 00 00 01 */ li r0, 1 -/* 801C7D58 001C39B8 98 05 00 00 */ stb r0, 0(r5) -/* 801C7D5C 001C39BC A8 83 00 02 */ lha r4, 2(r3) -/* 801C7D60 001C39C0 38 04 00 01 */ addi r0, r4, 1 -/* 801C7D64 001C39C4 B0 03 00 02 */ sth r0, 2(r3) -/* 801C7D68 001C39C8 48 00 00 10 */ b lbl_801C7D78 -lbl_801C7D6C: -/* 801C7D6C 001C39CC 98 05 00 00 */ stb r0, 0(r5) -/* 801C7D70 001C39D0 38 A5 FF FF */ addi r5, r5, -1 -/* 801C7D74 001C39D4 4B FF FF C0 */ b lbl_801C7D34 -lbl_801C7D78: -/* 801C7D78 001C39D8 83 E1 00 5C */ lwz r31, 0x5c(r1) -/* 801C7D7C 001C39DC 83 C1 00 58 */ lwz r30, 0x58(r1) -/* 801C7D80 001C39E0 83 A1 00 54 */ lwz r29, 0x54(r1) -/* 801C7D84 001C39E4 38 21 00 60 */ addi r1, r1, 0x60 -/* 801C7D88 001C39E8 4E 80 00 20 */ blr - -.global func_801C7D8C -func_801C7D8C: -/* 801C7D8C 001C39EC 38 00 00 00 */ li r0, 0 -/* 801C7D90 001C39F0 B0 A3 00 02 */ sth r5, 2(r3) -/* 801C7D94 001C39F4 38 E0 00 00 */ li r7, 0 -/* 801C7D98 001C39F8 98 03 00 00 */ stb r0, 0(r3) -/* 801C7D9C 001C39FC 48 00 00 1C */ b lbl_801C7DB8 -lbl_801C7DA0: -/* 801C7DA0 001C3A00 88 C4 00 00 */ lbz r6, 0(r4) -/* 801C7DA4 001C3A04 7C A3 3A 14 */ add r5, r3, r7 -/* 801C7DA8 001C3A08 38 84 00 01 */ addi r4, r4, 1 -/* 801C7DAC 001C3A0C 38 E7 00 01 */ addi r7, r7, 1 -/* 801C7DB0 001C3A10 38 06 FF D0 */ addi r0, r6, -48 -/* 801C7DB4 001C3A14 98 05 00 05 */ stb r0, 5(r5) -lbl_801C7DB8: -/* 801C7DB8 001C3A18 2C 07 00 24 */ cmpwi r7, 0x24 -/* 801C7DBC 001C3A1C 40 80 00 10 */ bge lbl_801C7DCC -/* 801C7DC0 001C3A20 88 04 00 00 */ lbz r0, 0(r4) -/* 801C7DC4 001C3A24 7C 00 07 75 */ extsb. r0, r0 -/* 801C7DC8 001C3A28 40 82 FF D8 */ bne lbl_801C7DA0 -lbl_801C7DCC: -/* 801C7DCC 001C3A2C 88 04 00 00 */ lbz r0, 0(r4) -/* 801C7DD0 001C3A30 98 E3 00 04 */ stb r7, 4(r3) -/* 801C7DD4 001C3A34 7C 00 07 75 */ extsb. r0, r0 -/* 801C7DD8 001C3A38 4D 82 00 20 */ beqlr -/* 801C7DDC 001C3A3C 2C 00 00 05 */ cmpwi r0, 5 -/* 801C7DE0 001C3A40 4D 80 00 20 */ bltlr -/* 801C7DE4 001C3A44 41 81 00 38 */ bgt lbl_801C7E1C -/* 801C7DE8 001C3A48 38 A4 00 01 */ addi r5, r4, 1 -/* 801C7DEC 001C3A4C 48 00 00 14 */ b lbl_801C7E00 -lbl_801C7DF0: -/* 801C7DF0 001C3A50 7C 80 07 74 */ extsb r0, r4 -/* 801C7DF4 001C3A54 2C 00 00 30 */ cmpwi r0, 0x30 -/* 801C7DF8 001C3A58 40 82 00 24 */ bne lbl_801C7E1C -/* 801C7DFC 001C3A5C 38 A5 00 01 */ addi r5, r5, 1 -lbl_801C7E00: -/* 801C7E00 001C3A60 88 85 00 00 */ lbz r4, 0(r5) -/* 801C7E04 001C3A64 7C 80 07 75 */ extsb. r0, r4 -/* 801C7E08 001C3A68 40 82 FF E8 */ bne lbl_801C7DF0 -/* 801C7E0C 001C3A6C 7C 87 1A 14 */ add r4, r7, r3 -/* 801C7E10 001C3A70 88 04 00 04 */ lbz r0, 4(r4) -/* 801C7E14 001C3A74 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801C7E18 001C3A78 4D 82 00 20 */ beqlr -lbl_801C7E1C: -/* 801C7E1C 001C3A7C 88 83 00 04 */ lbz r4, 4(r3) -/* 801C7E20 001C3A80 38 C3 00 05 */ addi r6, r3, 5 -/* 801C7E24 001C3A84 38 00 00 00 */ li r0, 0 -/* 801C7E28 001C3A88 7C A6 22 14 */ add r5, r6, r4 -/* 801C7E2C 001C3A8C 38 A5 FF FF */ addi r5, r5, -1 -lbl_801C7E30: -/* 801C7E30 001C3A90 88 85 00 00 */ lbz r4, 0(r5) -/* 801C7E34 001C3A94 28 04 00 09 */ cmplwi r4, 9 -/* 801C7E38 001C3A98 40 80 00 10 */ bge lbl_801C7E48 -/* 801C7E3C 001C3A9C 38 04 00 01 */ addi r0, r4, 1 -/* 801C7E40 001C3AA0 98 05 00 00 */ stb r0, 0(r5) -/* 801C7E44 001C3AA4 4E 80 00 20 */ blr -lbl_801C7E48: -/* 801C7E48 001C3AA8 7C 05 30 40 */ cmplw r5, r6 -/* 801C7E4C 001C3AAC 40 82 00 1C */ bne lbl_801C7E68 -/* 801C7E50 001C3AB0 38 00 00 01 */ li r0, 1 -/* 801C7E54 001C3AB4 98 05 00 00 */ stb r0, 0(r5) -/* 801C7E58 001C3AB8 A8 83 00 02 */ lha r4, 2(r3) -/* 801C7E5C 001C3ABC 38 04 00 01 */ addi r0, r4, 1 -/* 801C7E60 001C3AC0 B0 03 00 02 */ sth r0, 2(r3) -/* 801C7E64 001C3AC4 4E 80 00 20 */ blr -lbl_801C7E68: -/* 801C7E68 001C3AC8 98 05 00 00 */ stb r0, 0(r5) -/* 801C7E6C 001C3ACC 38 A5 FF FF */ addi r5, r5, -1 -/* 801C7E70 001C3AD0 4B FF FF C0 */ b lbl_801C7E30 -/* 801C7E74 001C3AD4 4E 80 00 20 */ blr - -.global func_801C7E78 -func_801C7E78: -/* 801C7E78 001C3AD8 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 801C7E7C 001C3ADC 7C 08 02 A6 */ mflr r0 -/* 801C7E80 001C3AE0 90 01 00 74 */ stw r0, 0x74(r1) -/* 801C7E84 001C3AE4 38 04 00 40 */ addi r0, r4, 0x40 -/* 801C7E88 001C3AE8 28 00 00 48 */ cmplwi r0, 0x48 -/* 801C7E8C 001C3AEC 93 E1 00 6C */ stw r31, 0x6c(r1) -/* 801C7E90 001C3AF0 7C 7F 1B 78 */ mr r31, r3 -/* 801C7E94 001C3AF4 93 C1 00 68 */ stw r30, 0x68(r1) -/* 801C7E98 001C3AF8 7C 9E 23 78 */ mr r30, r4 -/* 801C7E9C 001C3AFC 41 81 02 10 */ bgt lbl_801C80AC -/* 801C7EA0 001C3B00 3C A0 80 42 */ lis r5, lbl_80422A30@ha -/* 801C7EA4 001C3B04 54 00 10 3A */ slwi r0, r0, 2 -/* 801C7EA8 001C3B08 38 A5 2A 30 */ addi r5, r5, lbl_80422A30@l -/* 801C7EAC 001C3B0C 7C A5 00 2E */ lwzx r5, r5, r0 -/* 801C7EB0 001C3B10 7C A9 03 A6 */ mtctr r5 -/* 801C7EB4 001C3B14 4E 80 04 20 */ bctr -/* 801C7EB8 001C3B18 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7EBC 001C3B1C 38 A0 FF EC */ li r5, -20 -/* 801C7EC0 001C3B20 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7EC4 001C3B24 4B FF FE C9 */ bl func_801C7D8C -/* 801C7EC8 001C3B28 48 00 03 04 */ b lbl_801C81CC -/* 801C7ECC 001C3B2C 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7ED0 001C3B30 38 A0 FF F0 */ li r5, -16 -/* 801C7ED4 001C3B34 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7ED8 001C3B38 38 84 00 2E */ addi r4, r4, 0x2e -/* 801C7EDC 001C3B3C 4B FF FE B1 */ bl func_801C7D8C -/* 801C7EE0 001C3B40 48 00 02 EC */ b lbl_801C81CC -/* 801C7EE4 001C3B44 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7EE8 001C3B48 38 A0 FF F6 */ li r5, -10 -/* 801C7EEC 001C3B4C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7EF0 001C3B50 38 84 00 55 */ addi r4, r4, 0x55 -/* 801C7EF4 001C3B54 4B FF FE 99 */ bl func_801C7D8C -/* 801C7EF8 001C3B58 48 00 02 D4 */ b lbl_801C81CC -/* 801C7EFC 001C3B5C 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7F00 001C3B60 38 A0 FF FB */ li r5, -5 -/* 801C7F04 001C3B64 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7F08 001C3B68 38 84 00 6D */ addi r4, r4, 0x6d -/* 801C7F0C 001C3B6C 4B FF FE 81 */ bl func_801C7D8C -/* 801C7F10 001C3B70 48 00 02 BC */ b lbl_801C81CC -/* 801C7F14 001C3B74 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7F18 001C3B78 38 A0 FF FD */ li r5, -3 -/* 801C7F1C 001C3B7C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7F20 001C3B80 38 84 00 7A */ addi r4, r4, 0x7a -/* 801C7F24 001C3B84 4B FF FE 69 */ bl func_801C7D8C -/* 801C7F28 001C3B88 48 00 02 A4 */ b lbl_801C81CC -/* 801C7F2C 001C3B8C 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7F30 001C3B90 38 A0 FF FD */ li r5, -3 -/* 801C7F34 001C3B94 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7F38 001C3B98 38 84 00 81 */ addi r4, r4, 0x81 -/* 801C7F3C 001C3B9C 4B FF FE 51 */ bl func_801C7D8C -/* 801C7F40 001C3BA0 48 00 02 8C */ b lbl_801C81CC -/* 801C7F44 001C3BA4 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7F48 001C3BA8 38 A0 FF FE */ li r5, -2 -/* 801C7F4C 001C3BAC 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7F50 001C3BB0 38 84 00 87 */ addi r4, r4, 0x87 -/* 801C7F54 001C3BB4 4B FF FE 39 */ bl func_801C7D8C -/* 801C7F58 001C3BB8 48 00 02 74 */ b lbl_801C81CC -/* 801C7F5C 001C3BBC 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7F60 001C3BC0 38 A0 FF FE */ li r5, -2 -/* 801C7F64 001C3BC4 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7F68 001C3BC8 38 84 00 8D */ addi r4, r4, 0x8d -/* 801C7F6C 001C3BCC 4B FF FE 21 */ bl func_801C7D8C -/* 801C7F70 001C3BD0 48 00 02 5C */ b lbl_801C81CC -/* 801C7F74 001C3BD4 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7F78 001C3BD8 38 A0 FF FE */ li r5, -2 -/* 801C7F7C 001C3BDC 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7F80 001C3BE0 38 84 00 92 */ addi r4, r4, 0x92 -/* 801C7F84 001C3BE4 4B FF FE 09 */ bl func_801C7D8C -/* 801C7F88 001C3BE8 48 00 02 44 */ b lbl_801C81CC -/* 801C7F8C 001C3BEC 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7F90 001C3BF0 38 A0 FF FF */ li r5, -1 -/* 801C7F94 001C3BF4 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7F98 001C3BF8 38 84 00 96 */ addi r4, r4, 0x96 -/* 801C7F9C 001C3BFC 4B FF FD F1 */ bl func_801C7D8C -/* 801C7FA0 001C3C00 48 00 02 2C */ b lbl_801C81CC -/* 801C7FA4 001C3C04 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7FA8 001C3C08 38 A0 FF FF */ li r5, -1 -/* 801C7FAC 001C3C0C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7FB0 001C3C10 38 84 00 9A */ addi r4, r4, 0x9a -/* 801C7FB4 001C3C14 4B FF FD D9 */ bl func_801C7D8C -/* 801C7FB8 001C3C18 48 00 02 14 */ b lbl_801C81CC -/* 801C7FBC 001C3C1C 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7FC0 001C3C20 38 A0 FF FF */ li r5, -1 -/* 801C7FC4 001C3C24 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7FC8 001C3C28 38 84 00 9D */ addi r4, r4, 0x9d -/* 801C7FCC 001C3C2C 4B FF FD C1 */ bl func_801C7D8C -/* 801C7FD0 001C3C30 48 00 01 FC */ b lbl_801C81CC -/* 801C7FD4 001C3C34 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7FD8 001C3C38 38 A0 00 00 */ li r5, 0 -/* 801C7FDC 001C3C3C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7FE0 001C3C40 38 84 00 9F */ addi r4, r4, 0x9f -/* 801C7FE4 001C3C44 4B FF FD A9 */ bl func_801C7D8C -/* 801C7FE8 001C3C48 48 00 01 E4 */ b lbl_801C81CC -/* 801C7FEC 001C3C4C 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C7FF0 001C3C50 38 A0 00 00 */ li r5, 0 -/* 801C7FF4 001C3C54 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C7FF8 001C3C58 38 84 00 A1 */ addi r4, r4, 0xa1 -/* 801C7FFC 001C3C5C 4B FF FD 91 */ bl func_801C7D8C -/* 801C8000 001C3C60 48 00 01 CC */ b lbl_801C81CC -/* 801C8004 001C3C64 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C8008 001C3C68 38 A0 00 00 */ li r5, 0 -/* 801C800C 001C3C6C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C8010 001C3C70 38 84 00 A3 */ addi r4, r4, 0xa3 -/* 801C8014 001C3C74 4B FF FD 79 */ bl func_801C7D8C -/* 801C8018 001C3C78 48 00 01 B4 */ b lbl_801C81CC -/* 801C801C 001C3C7C 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C8020 001C3C80 38 A0 00 00 */ li r5, 0 -/* 801C8024 001C3C84 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C8028 001C3C88 38 84 00 A5 */ addi r4, r4, 0xa5 -/* 801C802C 001C3C8C 4B FF FD 61 */ bl func_801C7D8C -/* 801C8030 001C3C90 48 00 01 9C */ b lbl_801C81CC -/* 801C8034 001C3C94 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C8038 001C3C98 38 A0 00 01 */ li r5, 1 -/* 801C803C 001C3C9C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C8040 001C3CA0 38 84 00 A7 */ addi r4, r4, 0xa7 -/* 801C8044 001C3CA4 4B FF FD 49 */ bl func_801C7D8C -/* 801C8048 001C3CA8 48 00 01 84 */ b lbl_801C81CC -/* 801C804C 001C3CAC 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C8050 001C3CB0 38 A0 00 01 */ li r5, 1 -/* 801C8054 001C3CB4 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C8058 001C3CB8 38 84 00 AA */ addi r4, r4, 0xaa -/* 801C805C 001C3CBC 4B FF FD 31 */ bl func_801C7D8C -/* 801C8060 001C3CC0 48 00 01 6C */ b lbl_801C81CC -/* 801C8064 001C3CC4 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C8068 001C3CC8 38 A0 00 01 */ li r5, 1 -/* 801C806C 001C3CCC 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C8070 001C3CD0 38 84 00 AD */ addi r4, r4, 0xad -/* 801C8074 001C3CD4 4B FF FD 19 */ bl func_801C7D8C -/* 801C8078 001C3CD8 48 00 01 54 */ b lbl_801C81CC -/* 801C807C 001C3CDC 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C8080 001C3CE0 38 A0 00 02 */ li r5, 2 -/* 801C8084 001C3CE4 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C8088 001C3CE8 38 84 00 B0 */ addi r4, r4, 0xb0 -/* 801C808C 001C3CEC 4B FF FD 01 */ bl func_801C7D8C -/* 801C8090 001C3CF0 48 00 01 3C */ b lbl_801C81CC -/* 801C8094 001C3CF4 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C8098 001C3CF8 38 A0 00 02 */ li r5, 2 -/* 801C809C 001C3CFC 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C80A0 001C3D00 38 84 00 B4 */ addi r4, r4, 0xb4 -/* 801C80A4 001C3D04 4B FF FC E9 */ bl func_801C7D8C -/* 801C80A8 001C3D08 48 00 01 24 */ b lbl_801C81CC -lbl_801C80AC: -/* 801C80AC 001C3D0C 54 80 0F FE */ srwi r0, r4, 0x1f -/* 801C80B0 001C3D10 38 61 00 34 */ addi r3, r1, 0x34 -/* 801C80B4 001C3D14 7C 00 22 14 */ add r0, r0, r4 -/* 801C80B8 001C3D18 7C 04 0E 70 */ srawi r4, r0, 1 -/* 801C80BC 001C3D1C 4B FF FD BD */ bl func_801C7E78 -/* 801C80C0 001C3D20 38 81 00 34 */ addi r4, r1, 0x34 -/* 801C80C4 001C3D24 7F E3 FB 78 */ mr r3, r31 -/* 801C80C8 001C3D28 7C 85 23 78 */ mr r5, r4 -/* 801C80CC 001C3D2C 4B FF FA 39 */ bl func_801C7B04 -/* 801C80D0 001C3D30 57 C0 07 FF */ clrlwi. r0, r30, 0x1f -/* 801C80D4 001C3D34 41 82 00 F8 */ beq lbl_801C81CC -/* 801C80D8 001C3D38 A0 7F 00 00 */ lhz r3, 0(r31) -/* 801C80DC 001C3D3C 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C80E0 001C3D40 A0 1F 00 02 */ lhz r0, 2(r31) -/* 801C80E4 001C3D44 B0 61 00 08 */ sth r3, 8(r1) -/* 801C80E8 001C3D48 B0 01 00 0A */ sth r0, 0xa(r1) -/* 801C80EC 001C3D4C A0 7F 00 04 */ lhz r3, 4(r31) -/* 801C80F0 001C3D50 A0 1F 00 06 */ lhz r0, 6(r31) -/* 801C80F4 001C3D54 B0 61 00 0C */ sth r3, 0xc(r1) -/* 801C80F8 001C3D58 B0 01 00 0E */ sth r0, 0xe(r1) -/* 801C80FC 001C3D5C A0 7F 00 08 */ lhz r3, 8(r31) -/* 801C8100 001C3D60 A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 801C8104 001C3D64 B0 61 00 10 */ sth r3, 0x10(r1) -/* 801C8108 001C3D68 B0 01 00 12 */ sth r0, 0x12(r1) -/* 801C810C 001C3D6C A0 7F 00 0C */ lhz r3, 0xc(r31) -/* 801C8110 001C3D70 A0 1F 00 0E */ lhz r0, 0xe(r31) -/* 801C8114 001C3D74 B0 61 00 14 */ sth r3, 0x14(r1) -/* 801C8118 001C3D78 B0 01 00 16 */ sth r0, 0x16(r1) -/* 801C811C 001C3D7C A0 7F 00 10 */ lhz r3, 0x10(r31) -/* 801C8120 001C3D80 A0 1F 00 12 */ lhz r0, 0x12(r31) -/* 801C8124 001C3D84 B0 61 00 18 */ sth r3, 0x18(r1) -/* 801C8128 001C3D88 B0 01 00 1A */ sth r0, 0x1a(r1) -/* 801C812C 001C3D8C A0 7F 00 14 */ lhz r3, 0x14(r31) -/* 801C8130 001C3D90 A0 1F 00 16 */ lhz r0, 0x16(r31) -/* 801C8134 001C3D94 B0 61 00 1C */ sth r3, 0x1c(r1) -/* 801C8138 001C3D98 B0 01 00 1E */ sth r0, 0x1e(r1) -/* 801C813C 001C3D9C A0 7F 00 18 */ lhz r3, 0x18(r31) -/* 801C8140 001C3DA0 A0 1F 00 1A */ lhz r0, 0x1a(r31) -/* 801C8144 001C3DA4 B0 61 00 20 */ sth r3, 0x20(r1) -/* 801C8148 001C3DA8 B0 01 00 22 */ sth r0, 0x22(r1) -/* 801C814C 001C3DAC A0 7F 00 1C */ lhz r3, 0x1c(r31) -/* 801C8150 001C3DB0 A0 1F 00 1E */ lhz r0, 0x1e(r31) -/* 801C8154 001C3DB4 B0 61 00 24 */ sth r3, 0x24(r1) -/* 801C8158 001C3DB8 B0 01 00 26 */ sth r0, 0x26(r1) -/* 801C815C 001C3DBC A0 7F 00 20 */ lhz r3, 0x20(r31) -/* 801C8160 001C3DC0 A0 1F 00 22 */ lhz r0, 0x22(r31) -/* 801C8164 001C3DC4 B0 61 00 28 */ sth r3, 0x28(r1) -/* 801C8168 001C3DC8 B0 01 00 2A */ sth r0, 0x2a(r1) -/* 801C816C 001C3DCC A0 7F 00 24 */ lhz r3, 0x24(r31) -/* 801C8170 001C3DD0 A0 1F 00 26 */ lhz r0, 0x26(r31) -/* 801C8174 001C3DD4 B0 61 00 2C */ sth r3, 0x2c(r1) -/* 801C8178 001C3DD8 B0 01 00 2E */ sth r0, 0x2e(r1) -/* 801C817C 001C3DDC A0 1F 00 28 */ lhz r0, 0x28(r31) -/* 801C8180 001C3DE0 B0 01 00 30 */ sth r0, 0x30(r1) -/* 801C8184 001C3DE4 40 81 00 20 */ ble lbl_801C81A4 -/* 801C8188 001C3DE8 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C818C 001C3DEC 38 61 00 34 */ addi r3, r1, 0x34 -/* 801C8190 001C3DF0 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C8194 001C3DF4 38 A0 00 00 */ li r5, 0 -/* 801C8198 001C3DF8 38 84 00 A1 */ addi r4, r4, 0xa1 -/* 801C819C 001C3DFC 4B FF FB F1 */ bl func_801C7D8C -/* 801C81A0 001C3E00 48 00 00 1C */ b lbl_801C81BC -lbl_801C81A4: -/* 801C81A4 001C3E04 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C81A8 001C3E08 38 61 00 34 */ addi r3, r1, 0x34 -/* 801C81AC 001C3E0C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C81B0 001C3E10 38 A0 FF FF */ li r5, -1 -/* 801C81B4 001C3E14 38 84 00 9D */ addi r4, r4, 0x9d -/* 801C81B8 001C3E18 4B FF FB D5 */ bl func_801C7D8C -lbl_801C81BC: -/* 801C81BC 001C3E1C 7F E3 FB 78 */ mr r3, r31 -/* 801C81C0 001C3E20 38 81 00 08 */ addi r4, r1, 8 -/* 801C81C4 001C3E24 38 A1 00 34 */ addi r5, r1, 0x34 -/* 801C81C8 001C3E28 4B FF F9 3D */ bl func_801C7B04 -lbl_801C81CC: -/* 801C81CC 001C3E2C 80 01 00 74 */ lwz r0, 0x74(r1) -/* 801C81D0 001C3E30 83 E1 00 6C */ lwz r31, 0x6c(r1) -/* 801C81D4 001C3E34 83 C1 00 68 */ lwz r30, 0x68(r1) -/* 801C81D8 001C3E38 7C 08 03 A6 */ mtlr r0 -/* 801C81DC 001C3E3C 38 21 00 70 */ addi r1, r1, 0x70 -/* 801C81E0 001C3E40 4E 80 00 20 */ blr - -.global func_801C81E4 -func_801C81E4: -/* 801C81E4 001C3E44 88 A3 00 05 */ lbz r5, 5(r3) -/* 801C81E8 001C3E48 2C 05 00 00 */ cmpwi r5, 0 -/* 801C81EC 001C3E4C 40 82 00 14 */ bne lbl_801C8200 -/* 801C81F0 001C3E50 88 04 00 05 */ lbz r0, 5(r4) -/* 801C81F4 001C3E54 7C 00 00 34 */ cntlzw r0, r0 -/* 801C81F8 001C3E58 54 03 D9 7E */ srwi r3, r0, 5 -/* 801C81FC 001C3E5C 4E 80 00 20 */ blr -lbl_801C8200: -/* 801C8200 001C3E60 88 04 00 05 */ lbz r0, 5(r4) -/* 801C8204 001C3E64 2C 00 00 00 */ cmpwi r0, 0 -/* 801C8208 001C3E68 40 82 00 10 */ bne lbl_801C8218 -/* 801C820C 001C3E6C 7C A0 00 34 */ cntlzw r0, r5 -/* 801C8210 001C3E70 54 03 D9 7E */ srwi r3, r0, 5 -/* 801C8214 001C3E74 4E 80 00 20 */ blr -lbl_801C8218: -/* 801C8218 001C3E78 A8 A3 00 02 */ lha r5, 2(r3) -/* 801C821C 001C3E7C A8 04 00 02 */ lha r0, 2(r4) -/* 801C8220 001C3E80 7C 05 00 00 */ cmpw r5, r0 -/* 801C8224 001C3E84 40 82 00 9C */ bne lbl_801C82C0 -/* 801C8228 001C3E88 88 E3 00 04 */ lbz r7, 4(r3) -/* 801C822C 001C3E8C 88 04 00 04 */ lbz r0, 4(r4) -/* 801C8230 001C3E90 7C E9 3B 78 */ mr r9, r7 -/* 801C8234 001C3E94 7C 07 00 00 */ cmpw r7, r0 -/* 801C8238 001C3E98 40 81 00 08 */ ble lbl_801C8240 -/* 801C823C 001C3E9C 7C 09 03 78 */ mr r9, r0 -lbl_801C8240: -/* 801C8240 001C3EA0 39 00 00 00 */ li r8, 0 -/* 801C8244 001C3EA4 7D 29 03 A6 */ mtctr r9 -/* 801C8248 001C3EA8 2C 09 00 00 */ cmpwi r9, 0 -/* 801C824C 001C3EAC 40 81 00 2C */ ble lbl_801C8278 -lbl_801C8250: -/* 801C8250 001C3EB0 7C C3 42 14 */ add r6, r3, r8 -/* 801C8254 001C3EB4 7C A4 42 14 */ add r5, r4, r8 -/* 801C8258 001C3EB8 88 C6 00 05 */ lbz r6, 5(r6) -/* 801C825C 001C3EBC 88 05 00 05 */ lbz r0, 5(r5) -/* 801C8260 001C3EC0 7C 06 00 40 */ cmplw r6, r0 -/* 801C8264 001C3EC4 41 82 00 0C */ beq lbl_801C8270 -/* 801C8268 001C3EC8 38 60 00 00 */ li r3, 0 -/* 801C826C 001C3ECC 4E 80 00 20 */ blr -lbl_801C8270: -/* 801C8270 001C3ED0 39 08 00 01 */ addi r8, r8, 1 -/* 801C8274 001C3ED4 42 00 FF DC */ bdnz lbl_801C8250 -lbl_801C8278: -/* 801C8278 001C3ED8 7C 09 38 00 */ cmpw r9, r7 -/* 801C827C 001C3EDC 40 82 00 08 */ bne lbl_801C8284 -/* 801C8280 001C3EE0 7C 83 23 78 */ mr r3, r4 -lbl_801C8284: -/* 801C8284 001C3EE4 88 83 00 04 */ lbz r4, 4(r3) -/* 801C8288 001C3EE8 7C 08 20 50 */ subf r0, r8, r4 -/* 801C828C 001C3EEC 7C 09 03 A6 */ mtctr r0 -/* 801C8290 001C3EF0 7C 08 20 00 */ cmpw r8, r4 -/* 801C8294 001C3EF4 40 80 00 24 */ bge lbl_801C82B8 -lbl_801C8298: -/* 801C8298 001C3EF8 7C 83 42 14 */ add r4, r3, r8 -/* 801C829C 001C3EFC 88 04 00 05 */ lbz r0, 5(r4) -/* 801C82A0 001C3F00 2C 00 00 00 */ cmpwi r0, 0 -/* 801C82A4 001C3F04 41 82 00 0C */ beq lbl_801C82B0 -/* 801C82A8 001C3F08 38 60 00 00 */ li r3, 0 -/* 801C82AC 001C3F0C 4E 80 00 20 */ blr -lbl_801C82B0: -/* 801C82B0 001C3F10 39 08 00 01 */ addi r8, r8, 1 -/* 801C82B4 001C3F14 42 00 FF E4 */ bdnz lbl_801C8298 -lbl_801C82B8: -/* 801C82B8 001C3F18 38 60 00 01 */ li r3, 1 -/* 801C82BC 001C3F1C 4E 80 00 20 */ blr -lbl_801C82C0: -/* 801C82C0 001C3F20 38 60 00 00 */ li r3, 0 -/* 801C82C4 001C3F24 4E 80 00 20 */ blr - -.global func_801C82C8 -func_801C82C8: -/* 801C82C8 001C3F28 88 03 00 05 */ lbz r0, 5(r3) -/* 801C82CC 001C3F2C 2C 00 00 00 */ cmpwi r0, 0 -/* 801C82D0 001C3F30 40 82 00 18 */ bne lbl_801C82E8 -/* 801C82D4 001C3F34 88 64 00 05 */ lbz r3, 5(r4) -/* 801C82D8 001C3F38 7C 03 00 D0 */ neg r0, r3 -/* 801C82DC 001C3F3C 7C 00 1B 78 */ or r0, r0, r3 -/* 801C82E0 001C3F40 54 03 0F FE */ srwi r3, r0, 0x1f -/* 801C82E4 001C3F44 4E 80 00 20 */ blr -lbl_801C82E8: -/* 801C82E8 001C3F48 88 04 00 05 */ lbz r0, 5(r4) -/* 801C82EC 001C3F4C 2C 00 00 00 */ cmpwi r0, 0 -/* 801C82F0 001C3F50 40 82 00 0C */ bne lbl_801C82FC -/* 801C82F4 001C3F54 38 60 00 00 */ li r3, 0 -/* 801C82F8 001C3F58 4E 80 00 20 */ blr -lbl_801C82FC: -/* 801C82FC 001C3F5C A8 A4 00 02 */ lha r5, 2(r4) -/* 801C8300 001C3F60 A8 03 00 02 */ lha r0, 2(r3) -/* 801C8304 001C3F64 7C 00 28 00 */ cmpw r0, r5 -/* 801C8308 001C3F68 40 82 00 A8 */ bne lbl_801C83B0 -/* 801C830C 001C3F6C 88 E3 00 04 */ lbz r7, 4(r3) -/* 801C8310 001C3F70 88 04 00 04 */ lbz r0, 4(r4) -/* 801C8314 001C3F74 7C E9 3B 78 */ mr r9, r7 -/* 801C8318 001C3F78 7C 07 00 00 */ cmpw r7, r0 -/* 801C831C 001C3F7C 40 81 00 08 */ ble lbl_801C8324 -/* 801C8320 001C3F80 7C 09 03 78 */ mr r9, r0 -lbl_801C8324: -/* 801C8324 001C3F84 39 00 00 00 */ li r8, 0 -/* 801C8328 001C3F88 7D 29 03 A6 */ mtctr r9 -/* 801C832C 001C3F8C 2C 09 00 00 */ cmpwi r9, 0 -/* 801C8330 001C3F90 40 81 00 3C */ ble lbl_801C836C -lbl_801C8334: -/* 801C8334 001C3F94 7C C4 42 14 */ add r6, r4, r8 -/* 801C8338 001C3F98 7C A3 42 14 */ add r5, r3, r8 -/* 801C833C 001C3F9C 88 C6 00 05 */ lbz r6, 5(r6) -/* 801C8340 001C3FA0 88 05 00 05 */ lbz r0, 5(r5) -/* 801C8344 001C3FA4 7C 00 30 40 */ cmplw r0, r6 -/* 801C8348 001C3FA8 40 80 00 0C */ bge lbl_801C8354 -/* 801C834C 001C3FAC 38 60 00 01 */ li r3, 1 -/* 801C8350 001C3FB0 4E 80 00 20 */ blr -lbl_801C8354: -/* 801C8354 001C3FB4 7C 06 00 40 */ cmplw r6, r0 -/* 801C8358 001C3FB8 40 80 00 0C */ bge lbl_801C8364 -/* 801C835C 001C3FBC 38 60 00 00 */ li r3, 0 -/* 801C8360 001C3FC0 4E 80 00 20 */ blr -lbl_801C8364: -/* 801C8364 001C3FC4 39 08 00 01 */ addi r8, r8, 1 -/* 801C8368 001C3FC8 42 00 FF CC */ bdnz lbl_801C8334 -lbl_801C836C: -/* 801C836C 001C3FCC 7C 09 38 00 */ cmpw r9, r7 -/* 801C8370 001C3FD0 40 82 00 38 */ bne lbl_801C83A8 -/* 801C8374 001C3FD4 88 64 00 04 */ lbz r3, 4(r4) -/* 801C8378 001C3FD8 7C 08 18 50 */ subf r0, r8, r3 -/* 801C837C 001C3FDC 7C 09 03 A6 */ mtctr r0 -/* 801C8380 001C3FE0 7C 08 18 00 */ cmpw r8, r3 -/* 801C8384 001C3FE4 40 80 00 24 */ bge lbl_801C83A8 -lbl_801C8388: -/* 801C8388 001C3FE8 7C 64 42 14 */ add r3, r4, r8 -/* 801C838C 001C3FEC 88 03 00 05 */ lbz r0, 5(r3) -/* 801C8390 001C3FF0 2C 00 00 00 */ cmpwi r0, 0 -/* 801C8394 001C3FF4 41 82 00 0C */ beq lbl_801C83A0 -/* 801C8398 001C3FF8 38 60 00 01 */ li r3, 1 -/* 801C839C 001C3FFC 4E 80 00 20 */ blr -lbl_801C83A0: -/* 801C83A0 001C4000 39 08 00 01 */ addi r8, r8, 1 -/* 801C83A4 001C4004 42 00 FF E4 */ bdnz lbl_801C8388 -lbl_801C83A8: -/* 801C83A8 001C4008 38 60 00 00 */ li r3, 0 -/* 801C83AC 001C400C 4E 80 00 20 */ blr -lbl_801C83B0: -/* 801C83B0 001C4010 7C A0 02 78 */ xor r0, r5, r0 -/* 801C83B4 001C4014 7C 03 0E 70 */ srawi r3, r0, 1 -/* 801C83B8 001C4018 7C 00 28 38 */ and r0, r0, r5 -/* 801C83BC 001C401C 7C 00 18 50 */ subf r0, r0, r3 -/* 801C83C0 001C4020 54 03 0F FE */ srwi r3, r0, 0x1f -/* 801C83C4 001C4024 4E 80 00 20 */ blr - -.global func_801C83C8 -func_801C83C8: -/* 801C83C8 001C4028 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 801C83CC 001C402C A1 84 00 1A */ lhz r12, 0x1a(r4) -/* 801C83D0 001C4030 BE 61 00 0C */ stmw r19, 0xc(r1) -/* 801C83D4 001C4034 A2 64 00 00 */ lhz r19, 0(r4) -/* 801C83D8 001C4038 A2 84 00 02 */ lhz r20, 2(r4) -/* 801C83DC 001C403C A2 A4 00 04 */ lhz r21, 4(r4) -/* 801C83E0 001C4040 A2 C4 00 06 */ lhz r22, 6(r4) -/* 801C83E4 001C4044 A2 E4 00 08 */ lhz r23, 8(r4) -/* 801C83E8 001C4048 A3 04 00 0A */ lhz r24, 0xa(r4) -/* 801C83EC 001C404C A3 24 00 0C */ lhz r25, 0xc(r4) -/* 801C83F0 001C4050 A3 44 00 0E */ lhz r26, 0xe(r4) -/* 801C83F4 001C4054 A3 64 00 10 */ lhz r27, 0x10(r4) -/* 801C83F8 001C4058 A3 84 00 12 */ lhz r28, 0x12(r4) -/* 801C83FC 001C405C A3 A4 00 14 */ lhz r29, 0x14(r4) -/* 801C8400 001C4060 A3 C4 00 16 */ lhz r30, 0x16(r4) -/* 801C8404 001C4064 A3 E4 00 18 */ lhz r31, 0x18(r4) -/* 801C8408 001C4068 A1 64 00 1C */ lhz r11, 0x1c(r4) -/* 801C840C 001C406C A1 44 00 1E */ lhz r10, 0x1e(r4) -/* 801C8410 001C4070 A1 24 00 20 */ lhz r9, 0x20(r4) -/* 801C8414 001C4074 A1 04 00 22 */ lhz r8, 0x22(r4) -/* 801C8418 001C4078 A0 E4 00 24 */ lhz r7, 0x24(r4) -/* 801C841C 001C407C A0 C4 00 26 */ lhz r6, 0x26(r4) -/* 801C8420 001C4080 A0 04 00 28 */ lhz r0, 0x28(r4) -/* 801C8424 001C4084 B2 63 00 00 */ sth r19, 0(r3) -/* 801C8428 001C4088 B2 83 00 02 */ sth r20, 2(r3) -/* 801C842C 001C408C B2 A3 00 04 */ sth r21, 4(r3) -/* 801C8430 001C4090 B2 C3 00 06 */ sth r22, 6(r3) -/* 801C8434 001C4094 B2 E3 00 08 */ sth r23, 8(r3) -/* 801C8438 001C4098 B3 03 00 0A */ sth r24, 0xa(r3) -/* 801C843C 001C409C B3 23 00 0C */ sth r25, 0xc(r3) -/* 801C8440 001C40A0 B3 43 00 0E */ sth r26, 0xe(r3) -/* 801C8444 001C40A4 B3 63 00 10 */ sth r27, 0x10(r3) -/* 801C8448 001C40A8 B3 83 00 12 */ sth r28, 0x12(r3) -/* 801C844C 001C40AC B3 A3 00 14 */ sth r29, 0x14(r3) -/* 801C8450 001C40B0 B3 C3 00 16 */ sth r30, 0x16(r3) -/* 801C8454 001C40B4 B3 E3 00 18 */ sth r31, 0x18(r3) -/* 801C8458 001C40B8 B1 83 00 1A */ sth r12, 0x1a(r3) -/* 801C845C 001C40BC B1 63 00 1C */ sth r11, 0x1c(r3) -/* 801C8460 001C40C0 B1 43 00 1E */ sth r10, 0x1e(r3) -/* 801C8464 001C40C4 B1 23 00 20 */ sth r9, 0x20(r3) -/* 801C8468 001C40C8 B1 03 00 22 */ sth r8, 0x22(r3) -/* 801C846C 001C40CC B0 E3 00 24 */ sth r7, 0x24(r3) -/* 801C8470 001C40D0 B0 C3 00 26 */ sth r6, 0x26(r3) -/* 801C8474 001C40D4 B0 03 00 28 */ sth r0, 0x28(r3) -/* 801C8478 001C40D8 88 05 00 05 */ lbz r0, 5(r5) -/* 801C847C 001C40DC 2C 00 00 00 */ cmpwi r0, 0 -/* 801C8480 001C40E0 41 82 04 58 */ beq lbl_801C88D8 -/* 801C8484 001C40E4 89 03 00 04 */ lbz r8, 4(r3) -/* 801C8488 001C40E8 88 05 00 04 */ lbz r0, 4(r5) -/* 801C848C 001C40EC 7C 08 00 00 */ cmpw r8, r0 -/* 801C8490 001C40F0 40 80 00 08 */ bge lbl_801C8498 -/* 801C8494 001C40F4 7C 08 03 78 */ mr r8, r0 -lbl_801C8498: -/* 801C8498 001C40F8 A8 85 00 02 */ lha r4, 2(r5) -/* 801C849C 001C40FC A8 03 00 02 */ lha r0, 2(r3) -/* 801C84A0 001C4100 7C 04 00 50 */ subf r0, r4, r0 -/* 801C84A4 001C4104 7D 08 02 14 */ add r8, r8, r0 -/* 801C84A8 001C4108 2C 08 00 24 */ cmpwi r8, 0x24 -/* 801C84AC 001C410C 40 81 00 08 */ ble lbl_801C84B4 -/* 801C84B0 001C4110 39 00 00 24 */ li r8, 0x24 -lbl_801C84B4: -/* 801C84B4 001C4114 38 E0 00 00 */ li r7, 0 -/* 801C84B8 001C4118 48 00 00 18 */ b lbl_801C84D0 -lbl_801C84BC: -/* 801C84BC 001C411C 88 C3 00 04 */ lbz r6, 4(r3) -/* 801C84C0 001C4120 7C 83 32 14 */ add r4, r3, r6 -/* 801C84C4 001C4124 38 C6 00 01 */ addi r6, r6, 1 -/* 801C84C8 001C4128 98 E4 00 05 */ stb r7, 5(r4) -/* 801C84CC 001C412C 98 C3 00 04 */ stb r6, 4(r3) -lbl_801C84D0: -/* 801C84D0 001C4130 88 83 00 04 */ lbz r4, 4(r3) -/* 801C84D4 001C4134 7C 04 40 00 */ cmpw r4, r8 -/* 801C84D8 001C4138 41 80 FF E4 */ blt lbl_801C84BC -/* 801C84DC 001C413C 88 E5 00 04 */ lbz r7, 4(r5) -/* 801C84E0 001C4140 38 83 00 05 */ addi r4, r3, 5 -/* 801C84E4 001C4144 7C C4 42 14 */ add r6, r4, r8 -/* 801C84E8 001C4148 7C E7 02 14 */ add r7, r7, r0 -/* 801C84EC 001C414C 7C 07 40 00 */ cmpw r7, r8 -/* 801C84F0 001C4150 40 80 00 08 */ bge lbl_801C84F8 -/* 801C84F4 001C4154 7C C4 3A 14 */ add r6, r4, r7 -lbl_801C84F8: -/* 801C84F8 001C4158 7C E4 30 50 */ subf r7, r4, r6 -/* 801C84FC 001C415C 39 25 00 05 */ addi r9, r5, 5 -/* 801C8500 001C4160 7C E0 38 50 */ subf r7, r0, r7 -/* 801C8504 001C4164 7D 49 3A 14 */ add r10, r9, r7 -/* 801C8508 001C4168 7D 4B 53 78 */ mr r11, r10 -/* 801C850C 001C416C 48 00 01 24 */ b lbl_801C8630 -lbl_801C8510: -/* 801C8510 001C4170 8D 06 FF FF */ lbzu r8, -1(r6) -/* 801C8514 001C4174 8C EA FF FF */ lbzu r7, -1(r10) -/* 801C8518 001C4178 7C 08 38 40 */ cmplw r8, r7 -/* 801C851C 001C417C 40 80 01 04 */ bge lbl_801C8620 -/* 801C8520 001C4180 39 86 FF FF */ addi r12, r6, -1 -/* 801C8524 001C4184 48 00 00 08 */ b lbl_801C852C -lbl_801C8528: -/* 801C8528 001C4188 39 8C FF FF */ addi r12, r12, -1 -lbl_801C852C: -/* 801C852C 001C418C 88 EC 00 00 */ lbz r7, 0(r12) -/* 801C8530 001C4190 2C 07 00 00 */ cmpwi r7, 0 -/* 801C8534 001C4194 41 82 FF F4 */ beq lbl_801C8528 -/* 801C8538 001C4198 7C 0C 30 40 */ cmplw r12, r6 -/* 801C853C 001C419C 7D 0C 30 50 */ subf r8, r12, r6 -/* 801C8540 001C41A0 41 82 00 E0 */ beq lbl_801C8620 -/* 801C8544 001C41A4 55 07 E8 FF */ rlwinm. r7, r8, 0x1d, 3, 0x1f -/* 801C8548 001C41A8 7C E9 03 A6 */ mtctr r7 -/* 801C854C 001C41AC 41 82 00 B4 */ beq lbl_801C8600 -lbl_801C8550: -/* 801C8550 001C41B0 88 EC 00 00 */ lbz r7, 0(r12) -/* 801C8554 001C41B4 38 E7 FF FF */ addi r7, r7, -1 -/* 801C8558 001C41B8 98 EC 00 00 */ stb r7, 0(r12) -/* 801C855C 001C41BC 88 EC 00 01 */ lbz r7, 1(r12) -/* 801C8560 001C41C0 38 E7 00 0A */ addi r7, r7, 0xa -/* 801C8564 001C41C4 54 E7 06 3E */ clrlwi r7, r7, 0x18 -/* 801C8568 001C41C8 38 E7 FF FF */ addi r7, r7, -1 -/* 801C856C 001C41CC 98 EC 00 01 */ stb r7, 1(r12) -/* 801C8570 001C41D0 88 EC 00 02 */ lbz r7, 2(r12) -/* 801C8574 001C41D4 38 E7 00 0A */ addi r7, r7, 0xa -/* 801C8578 001C41D8 54 E7 06 3E */ clrlwi r7, r7, 0x18 -/* 801C857C 001C41DC 38 E7 FF FF */ addi r7, r7, -1 -/* 801C8580 001C41E0 98 EC 00 02 */ stb r7, 2(r12) -/* 801C8584 001C41E4 88 EC 00 03 */ lbz r7, 3(r12) -/* 801C8588 001C41E8 38 E7 00 0A */ addi r7, r7, 0xa -/* 801C858C 001C41EC 54 E7 06 3E */ clrlwi r7, r7, 0x18 -/* 801C8590 001C41F0 38 E7 FF FF */ addi r7, r7, -1 -/* 801C8594 001C41F4 98 EC 00 03 */ stb r7, 3(r12) -/* 801C8598 001C41F8 88 EC 00 04 */ lbz r7, 4(r12) -/* 801C859C 001C41FC 38 E7 00 0A */ addi r7, r7, 0xa -/* 801C85A0 001C4200 54 E7 06 3E */ clrlwi r7, r7, 0x18 -/* 801C85A4 001C4204 38 E7 FF FF */ addi r7, r7, -1 -/* 801C85A8 001C4208 98 EC 00 04 */ stb r7, 4(r12) -/* 801C85AC 001C420C 88 EC 00 05 */ lbz r7, 5(r12) -/* 801C85B0 001C4210 38 E7 00 0A */ addi r7, r7, 0xa -/* 801C85B4 001C4214 54 E7 06 3E */ clrlwi r7, r7, 0x18 -/* 801C85B8 001C4218 38 E7 FF FF */ addi r7, r7, -1 -/* 801C85BC 001C421C 98 EC 00 05 */ stb r7, 5(r12) -/* 801C85C0 001C4220 88 EC 00 06 */ lbz r7, 6(r12) -/* 801C85C4 001C4224 38 E7 00 0A */ addi r7, r7, 0xa -/* 801C85C8 001C4228 54 E7 06 3E */ clrlwi r7, r7, 0x18 -/* 801C85CC 001C422C 38 E7 FF FF */ addi r7, r7, -1 -/* 801C85D0 001C4230 98 EC 00 06 */ stb r7, 6(r12) -/* 801C85D4 001C4234 88 EC 00 07 */ lbz r7, 7(r12) -/* 801C85D8 001C4238 38 E7 00 0A */ addi r7, r7, 0xa -/* 801C85DC 001C423C 54 E7 06 3E */ clrlwi r7, r7, 0x18 -/* 801C85E0 001C4240 38 E7 FF FF */ addi r7, r7, -1 -/* 801C85E4 001C4244 98 EC 00 07 */ stb r7, 7(r12) -/* 801C85E8 001C4248 88 EC 00 08 */ lbz r7, 8(r12) -/* 801C85EC 001C424C 38 E7 00 0A */ addi r7, r7, 0xa -/* 801C85F0 001C4250 9C EC 00 08 */ stbu r7, 8(r12) -/* 801C85F4 001C4254 42 00 FF 5C */ bdnz lbl_801C8550 -/* 801C85F8 001C4258 71 08 00 07 */ andi. r8, r8, 7 -/* 801C85FC 001C425C 41 82 00 24 */ beq lbl_801C8620 -lbl_801C8600: -/* 801C8600 001C4260 7D 09 03 A6 */ mtctr r8 -lbl_801C8604: -/* 801C8604 001C4264 88 EC 00 00 */ lbz r7, 0(r12) -/* 801C8608 001C4268 38 E7 FF FF */ addi r7, r7, -1 -/* 801C860C 001C426C 98 EC 00 00 */ stb r7, 0(r12) -/* 801C8610 001C4270 88 EC 00 01 */ lbz r7, 1(r12) -/* 801C8614 001C4274 38 E7 00 0A */ addi r7, r7, 0xa -/* 801C8618 001C4278 9C EC 00 01 */ stbu r7, 1(r12) -/* 801C861C 001C427C 42 00 FF E8 */ bdnz lbl_801C8604 -lbl_801C8620: -/* 801C8620 001C4280 89 0A 00 00 */ lbz r8, 0(r10) -/* 801C8624 001C4284 88 E6 00 00 */ lbz r7, 0(r6) -/* 801C8628 001C4288 7C E8 38 50 */ subf r7, r8, r7 -/* 801C862C 001C428C 98 E6 00 00 */ stb r7, 0(r6) -lbl_801C8630: -/* 801C8630 001C4290 7C 06 20 40 */ cmplw r6, r4 -/* 801C8634 001C4294 40 81 00 0C */ ble lbl_801C8640 -/* 801C8638 001C4298 7C 0A 48 40 */ cmplw r10, r9 -/* 801C863C 001C429C 41 81 FE D4 */ bgt lbl_801C8510 -lbl_801C8640: -/* 801C8640 001C42A0 89 05 00 04 */ lbz r8, 4(r5) -/* 801C8644 001C42A4 7D 29 58 50 */ subf r9, r9, r11 -/* 801C8648 001C42A8 7C 09 40 00 */ cmpw r9, r8 -/* 801C864C 001C42AC 40 80 01 88 */ bge lbl_801C87D4 -/* 801C8650 001C42B0 88 EB 00 00 */ lbz r7, 0(r11) -/* 801C8654 001C42B4 39 40 00 00 */ li r10, 0 -/* 801C8658 001C42B8 28 07 00 05 */ cmplwi r7, 5 -/* 801C865C 001C42BC 40 80 00 0C */ bge lbl_801C8668 -/* 801C8660 001C42C0 39 40 00 01 */ li r10, 1 -/* 801C8664 001C42C4 48 00 00 50 */ b lbl_801C86B4 -lbl_801C8668: -/* 801C8668 001C42C8 40 82 00 4C */ bne lbl_801C86B4 -/* 801C866C 001C42CC 7C A5 42 14 */ add r5, r5, r8 -/* 801C8670 001C42D0 38 CB 00 01 */ addi r6, r11, 1 -/* 801C8674 001C42D4 38 E5 00 05 */ addi r7, r5, 5 -/* 801C8678 001C42D8 7C A6 38 50 */ subf r5, r6, r7 -/* 801C867C 001C42DC 7C A9 03 A6 */ mtctr r5 -/* 801C8680 001C42E0 7C 06 38 40 */ cmplw r6, r7 -/* 801C8684 001C42E4 40 80 00 18 */ bge lbl_801C869C -lbl_801C8688: -/* 801C8688 001C42E8 88 A6 00 00 */ lbz r5, 0(r6) -/* 801C868C 001C42EC 2C 05 00 00 */ cmpwi r5, 0 -/* 801C8690 001C42F0 40 82 01 44 */ bne lbl_801C87D4 -/* 801C8694 001C42F4 38 C6 00 01 */ addi r6, r6, 1 -/* 801C8698 001C42F8 42 00 FF F0 */ bdnz lbl_801C8688 -lbl_801C869C: -/* 801C869C 001C42FC 7C A4 4A 14 */ add r5, r4, r9 -/* 801C86A0 001C4300 7C C0 2A 14 */ add r6, r0, r5 -/* 801C86A4 001C4304 8C 06 FF FF */ lbzu r0, -1(r6) -/* 801C86A8 001C4308 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801C86AC 001C430C 41 82 00 08 */ beq lbl_801C86B4 -/* 801C86B0 001C4310 39 40 00 01 */ li r10, 1 -lbl_801C86B4: -/* 801C86B4 001C4314 2C 0A 00 00 */ cmpwi r10, 0 -/* 801C86B8 001C4318 41 82 01 1C */ beq lbl_801C87D4 -/* 801C86BC 001C431C 88 06 00 00 */ lbz r0, 0(r6) -/* 801C86C0 001C4320 28 00 00 01 */ cmplwi r0, 1 -/* 801C86C4 001C4324 40 80 01 04 */ bge lbl_801C87C8 -/* 801C86C8 001C4328 39 06 FF FF */ addi r8, r6, -1 -/* 801C86CC 001C432C 48 00 00 08 */ b lbl_801C86D4 -lbl_801C86D0: -/* 801C86D0 001C4330 39 08 FF FF */ addi r8, r8, -1 -lbl_801C86D4: -/* 801C86D4 001C4334 88 08 00 00 */ lbz r0, 0(r8) -/* 801C86D8 001C4338 2C 00 00 00 */ cmpwi r0, 0 -/* 801C86DC 001C433C 41 82 FF F4 */ beq lbl_801C86D0 -/* 801C86E0 001C4340 7C 08 30 40 */ cmplw r8, r6 -/* 801C86E4 001C4344 7C A8 30 50 */ subf r5, r8, r6 -/* 801C86E8 001C4348 41 82 00 E0 */ beq lbl_801C87C8 -/* 801C86EC 001C434C 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f -/* 801C86F0 001C4350 7C 09 03 A6 */ mtctr r0 -/* 801C86F4 001C4354 41 82 00 B4 */ beq lbl_801C87A8 -lbl_801C86F8: -/* 801C86F8 001C4358 88 E8 00 00 */ lbz r7, 0(r8) -/* 801C86FC 001C435C 38 07 FF FF */ addi r0, r7, -1 -/* 801C8700 001C4360 98 08 00 00 */ stb r0, 0(r8) -/* 801C8704 001C4364 88 E8 00 01 */ lbz r7, 1(r8) -/* 801C8708 001C4368 38 07 00 0A */ addi r0, r7, 0xa -/* 801C870C 001C436C 54 07 06 3E */ clrlwi r7, r0, 0x18 -/* 801C8710 001C4370 38 07 FF FF */ addi r0, r7, -1 -/* 801C8714 001C4374 98 08 00 01 */ stb r0, 1(r8) -/* 801C8718 001C4378 88 E8 00 02 */ lbz r7, 2(r8) -/* 801C871C 001C437C 38 07 00 0A */ addi r0, r7, 0xa -/* 801C8720 001C4380 54 07 06 3E */ clrlwi r7, r0, 0x18 -/* 801C8724 001C4384 38 07 FF FF */ addi r0, r7, -1 -/* 801C8728 001C4388 98 08 00 02 */ stb r0, 2(r8) -/* 801C872C 001C438C 88 E8 00 03 */ lbz r7, 3(r8) -/* 801C8730 001C4390 38 07 00 0A */ addi r0, r7, 0xa -/* 801C8734 001C4394 54 07 06 3E */ clrlwi r7, r0, 0x18 -/* 801C8738 001C4398 38 07 FF FF */ addi r0, r7, -1 -/* 801C873C 001C439C 98 08 00 03 */ stb r0, 3(r8) -/* 801C8740 001C43A0 88 E8 00 04 */ lbz r7, 4(r8) -/* 801C8744 001C43A4 38 07 00 0A */ addi r0, r7, 0xa -/* 801C8748 001C43A8 54 07 06 3E */ clrlwi r7, r0, 0x18 -/* 801C874C 001C43AC 38 07 FF FF */ addi r0, r7, -1 -/* 801C8750 001C43B0 98 08 00 04 */ stb r0, 4(r8) -/* 801C8754 001C43B4 88 E8 00 05 */ lbz r7, 5(r8) -/* 801C8758 001C43B8 38 07 00 0A */ addi r0, r7, 0xa -/* 801C875C 001C43BC 54 07 06 3E */ clrlwi r7, r0, 0x18 -/* 801C8760 001C43C0 38 07 FF FF */ addi r0, r7, -1 -/* 801C8764 001C43C4 98 08 00 05 */ stb r0, 5(r8) -/* 801C8768 001C43C8 88 E8 00 06 */ lbz r7, 6(r8) -/* 801C876C 001C43CC 38 07 00 0A */ addi r0, r7, 0xa -/* 801C8770 001C43D0 54 07 06 3E */ clrlwi r7, r0, 0x18 -/* 801C8774 001C43D4 38 07 FF FF */ addi r0, r7, -1 -/* 801C8778 001C43D8 98 08 00 06 */ stb r0, 6(r8) -/* 801C877C 001C43DC 88 E8 00 07 */ lbz r7, 7(r8) -/* 801C8780 001C43E0 38 07 00 0A */ addi r0, r7, 0xa -/* 801C8784 001C43E4 54 07 06 3E */ clrlwi r7, r0, 0x18 -/* 801C8788 001C43E8 38 07 FF FF */ addi r0, r7, -1 -/* 801C878C 001C43EC 98 08 00 07 */ stb r0, 7(r8) -/* 801C8790 001C43F0 88 E8 00 08 */ lbz r7, 8(r8) -/* 801C8794 001C43F4 38 07 00 0A */ addi r0, r7, 0xa -/* 801C8798 001C43F8 9C 08 00 08 */ stbu r0, 8(r8) -/* 801C879C 001C43FC 42 00 FF 5C */ bdnz lbl_801C86F8 -/* 801C87A0 001C4400 70 A5 00 07 */ andi. r5, r5, 7 -/* 801C87A4 001C4404 41 82 00 24 */ beq lbl_801C87C8 -lbl_801C87A8: -/* 801C87A8 001C4408 7C A9 03 A6 */ mtctr r5 -lbl_801C87AC: -/* 801C87AC 001C440C 88 E8 00 00 */ lbz r7, 0(r8) -/* 801C87B0 001C4410 38 07 FF FF */ addi r0, r7, -1 -/* 801C87B4 001C4414 98 08 00 00 */ stb r0, 0(r8) -/* 801C87B8 001C4418 88 E8 00 01 */ lbz r7, 1(r8) -/* 801C87BC 001C441C 38 07 00 0A */ addi r0, r7, 0xa -/* 801C87C0 001C4420 9C 08 00 01 */ stbu r0, 1(r8) -/* 801C87C4 001C4424 42 00 FF E8 */ bdnz lbl_801C87AC -lbl_801C87C8: -/* 801C87C8 001C4428 88 A6 00 00 */ lbz r5, 0(r6) -/* 801C87CC 001C442C 38 05 FF FF */ addi r0, r5, -1 -/* 801C87D0 001C4430 98 06 00 00 */ stb r0, 0(r6) -lbl_801C87D4: -/* 801C87D4 001C4434 7C 87 23 78 */ mr r7, r4 -/* 801C87D8 001C4438 48 00 00 08 */ b lbl_801C87E0 -lbl_801C87DC: -/* 801C87DC 001C443C 38 E7 00 01 */ addi r7, r7, 1 -lbl_801C87E0: -/* 801C87E0 001C4440 88 07 00 00 */ lbz r0, 0(r7) -/* 801C87E4 001C4444 2C 00 00 00 */ cmpwi r0, 0 -/* 801C87E8 001C4448 41 82 FF F4 */ beq lbl_801C87DC -/* 801C87EC 001C444C 7C 07 20 40 */ cmplw r7, r4 -/* 801C87F0 001C4450 40 81 00 B0 */ ble lbl_801C88A0 -/* 801C87F4 001C4454 88 03 00 04 */ lbz r0, 4(r3) -/* 801C87F8 001C4458 7C C4 38 50 */ subf r6, r4, r7 -/* 801C87FC 001C445C A8 A3 00 02 */ lha r5, 2(r3) -/* 801C8800 001C4460 54 C8 06 3E */ clrlwi r8, r6, 0x18 -/* 801C8804 001C4464 7C C4 02 14 */ add r6, r4, r0 -/* 801C8808 001C4468 7C 08 28 50 */ subf r0, r8, r5 -/* 801C880C 001C446C 7C 07 30 40 */ cmplw r7, r6 -/* 801C8810 001C4470 B0 03 00 02 */ sth r0, 2(r3) -/* 801C8814 001C4474 7C A7 30 50 */ subf r5, r7, r6 -/* 801C8818 001C4478 40 80 00 7C */ bge lbl_801C8894 -/* 801C881C 001C447C 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f -/* 801C8820 001C4480 7C 09 03 A6 */ mtctr r0 -/* 801C8824 001C4484 41 82 00 58 */ beq lbl_801C887C -lbl_801C8828: -/* 801C8828 001C4488 88 07 00 00 */ lbz r0, 0(r7) -/* 801C882C 001C448C 98 04 00 00 */ stb r0, 0(r4) -/* 801C8830 001C4490 88 07 00 01 */ lbz r0, 1(r7) -/* 801C8834 001C4494 98 04 00 01 */ stb r0, 1(r4) -/* 801C8838 001C4498 88 07 00 02 */ lbz r0, 2(r7) -/* 801C883C 001C449C 98 04 00 02 */ stb r0, 2(r4) -/* 801C8840 001C44A0 88 07 00 03 */ lbz r0, 3(r7) -/* 801C8844 001C44A4 98 04 00 03 */ stb r0, 3(r4) -/* 801C8848 001C44A8 88 07 00 04 */ lbz r0, 4(r7) -/* 801C884C 001C44AC 98 04 00 04 */ stb r0, 4(r4) -/* 801C8850 001C44B0 88 07 00 05 */ lbz r0, 5(r7) -/* 801C8854 001C44B4 98 04 00 05 */ stb r0, 5(r4) -/* 801C8858 001C44B8 88 07 00 06 */ lbz r0, 6(r7) -/* 801C885C 001C44BC 98 04 00 06 */ stb r0, 6(r4) -/* 801C8860 001C44C0 88 07 00 07 */ lbz r0, 7(r7) -/* 801C8864 001C44C4 38 E7 00 08 */ addi r7, r7, 8 -/* 801C8868 001C44C8 98 04 00 07 */ stb r0, 7(r4) -/* 801C886C 001C44CC 38 84 00 08 */ addi r4, r4, 8 -/* 801C8870 001C44D0 42 00 FF B8 */ bdnz lbl_801C8828 -/* 801C8874 001C44D4 70 A5 00 07 */ andi. r5, r5, 7 -/* 801C8878 001C44D8 41 82 00 1C */ beq lbl_801C8894 -lbl_801C887C: -/* 801C887C 001C44DC 7C A9 03 A6 */ mtctr r5 -lbl_801C8880: -/* 801C8880 001C44E0 88 07 00 00 */ lbz r0, 0(r7) -/* 801C8884 001C44E4 38 E7 00 01 */ addi r7, r7, 1 -/* 801C8888 001C44E8 98 04 00 00 */ stb r0, 0(r4) -/* 801C888C 001C44EC 38 84 00 01 */ addi r4, r4, 1 -/* 801C8890 001C44F0 42 00 FF F0 */ bdnz lbl_801C8880 -lbl_801C8894: -/* 801C8894 001C44F4 88 03 00 04 */ lbz r0, 4(r3) -/* 801C8898 001C44F8 7C 08 00 50 */ subf r0, r8, r0 -/* 801C889C 001C44FC 98 03 00 04 */ stb r0, 4(r3) -lbl_801C88A0: -/* 801C88A0 001C4500 88 03 00 04 */ lbz r0, 4(r3) -/* 801C88A4 001C4504 38 83 00 05 */ addi r4, r3, 5 -/* 801C88A8 001C4508 7C A4 02 14 */ add r5, r4, r0 -/* 801C88AC 001C450C 7C 04 28 50 */ subf r0, r4, r5 -/* 801C88B0 001C4510 7C 09 03 A6 */ mtctr r0 -/* 801C88B4 001C4514 7C 05 20 40 */ cmplw r5, r4 -/* 801C88B8 001C4518 40 81 00 14 */ ble lbl_801C88CC -lbl_801C88BC: -/* 801C88BC 001C451C 8C 05 FF FF */ lbzu r0, -1(r5) -/* 801C88C0 001C4520 2C 00 00 00 */ cmpwi r0, 0 -/* 801C88C4 001C4524 40 82 00 08 */ bne lbl_801C88CC -/* 801C88C8 001C4528 42 00 FF F4 */ bdnz lbl_801C88BC -lbl_801C88CC: -/* 801C88CC 001C452C 7C 84 28 50 */ subf r4, r4, r5 -/* 801C88D0 001C4530 38 04 00 01 */ addi r0, r4, 1 -/* 801C88D4 001C4534 98 03 00 04 */ stb r0, 4(r3) -lbl_801C88D8: -/* 801C88D8 001C4538 BA 61 00 0C */ lmw r19, 0xc(r1) -/* 801C88DC 001C453C 38 21 00 40 */ addi r1, r1, 0x40 -/* 801C88E0 001C4540 4E 80 00 20 */ blr - -.global func_801C88E4 -func_801C88E4: -/* 801C88E4 001C4544 94 21 FF 70 */ stwu r1, -0x90(r1) -/* 801C88E8 001C4548 7C 08 02 A6 */ mflr r0 -/* 801C88EC 001C454C 90 01 00 94 */ stw r0, 0x94(r1) -/* 801C88F0 001C4550 DB E1 00 88 */ stfd f31, 0x88(r1) -/* 801C88F4 001C4554 FF E0 08 90 */ fmr f31, f1 -/* 801C88F8 001C4558 93 E1 00 84 */ stw r31, 0x84(r1) -/* 801C88FC 001C455C 93 C1 00 80 */ stw r30, 0x80(r1) -/* 801C8900 001C4560 7C 7E 1B 78 */ mr r30, r3 -/* 801C8904 001C4564 93 A1 00 7C */ stw r29, 0x7c(r1) -/* 801C8908 001C4568 48 00 1E 11 */ bl func_801CA718 -/* 801C890C 001C456C C8 02 90 F8 */ lfd f0, lbl_806416F8-_SDA2_BASE_(r2) -/* 801C8910 001C4570 7C 03 00 D0 */ neg r0, r3 -/* 801C8914 001C4574 7C 00 1B 78 */ or r0, r0, r3 -/* 801C8918 001C4578 FC 00 F8 00 */ fcmpu cr0, f0, f31 -/* 801C891C 001C457C 54 00 0F FE */ srwi r0, r0, 0x1f -/* 801C8920 001C4580 7C 1F 07 74 */ extsb r31, r0 -/* 801C8924 001C4584 40 82 00 20 */ bne lbl_801C8944 -/* 801C8928 001C4588 38 60 00 00 */ li r3, 0 -/* 801C892C 001C458C 38 00 00 01 */ li r0, 1 -/* 801C8930 001C4590 9B FE 00 00 */ stb r31, 0(r30) -/* 801C8934 001C4594 B0 7E 00 02 */ sth r3, 2(r30) -/* 801C8938 001C4598 98 1E 00 04 */ stb r0, 4(r30) -/* 801C893C 001C459C 98 7E 00 05 */ stb r3, 5(r30) -/* 801C8940 001C45A0 48 00 00 E8 */ b lbl_801C8A28 -lbl_801C8944: -/* 801C8944 001C45A4 FC 20 F8 90 */ fmr f1, f31 -/* 801C8948 001C45A8 48 00 1D E9 */ bl func_801CA730 -/* 801C894C 001C45AC 2C 03 00 02 */ cmpwi r3, 2 -/* 801C8950 001C45B0 41 81 00 38 */ bgt lbl_801C8988 -/* 801C8954 001C45B4 38 60 00 00 */ li r3, 0 -/* 801C8958 001C45B8 38 00 00 01 */ li r0, 1 -/* 801C895C 001C45BC FC 20 F8 90 */ fmr f1, f31 -/* 801C8960 001C45C0 9B FE 00 00 */ stb r31, 0(r30) -/* 801C8964 001C45C4 B0 7E 00 02 */ sth r3, 2(r30) -/* 801C8968 001C45C8 98 1E 00 04 */ stb r0, 4(r30) -/* 801C896C 001C45CC 48 00 1D C5 */ bl func_801CA730 -/* 801C8970 001C45D0 2C 03 00 01 */ cmpwi r3, 1 -/* 801C8974 001C45D4 38 00 00 49 */ li r0, 0x49 -/* 801C8978 001C45D8 40 82 00 08 */ bne lbl_801C8980 -/* 801C897C 001C45DC 38 00 00 4E */ li r0, 0x4e -lbl_801C8980: -/* 801C8980 001C45E0 98 1E 00 05 */ stb r0, 5(r30) -/* 801C8984 001C45E4 48 00 00 A4 */ b lbl_801C8A28 -lbl_801C8988: -/* 801C8988 001C45E8 2C 1F 00 00 */ cmpwi r31, 0 -/* 801C898C 001C45EC 41 82 00 08 */ beq lbl_801C8994 -/* 801C8990 001C45F0 FF E0 F8 50 */ fneg f31, f31 -lbl_801C8994: -/* 801C8994 001C45F4 FC 20 F8 90 */ fmr f1, f31 -/* 801C8998 001C45F8 38 61 00 08 */ addi r3, r1, 8 -/* 801C899C 001C45FC 48 00 B8 F5 */ bl func_801D4290 -/* 801C89A0 001C4600 D8 21 00 10 */ stfd f1, 0x10(r1) -/* 801C89A4 001C4604 FF E0 08 90 */ fmr f31, f1 -/* 801C89A8 001C4608 80 81 00 14 */ lwz r4, 0x14(r1) -/* 801C89AC 001C460C 80 61 00 10 */ lwz r3, 0x10(r1) -/* 801C89B0 001C4610 38 04 FF FF */ addi r0, r4, -1 -/* 801C89B4 001C4614 2C 04 00 00 */ cmpwi r4, 0 -/* 801C89B8 001C4618 7C 00 20 78 */ andc r0, r0, r4 -/* 801C89BC 001C461C 64 63 00 10 */ oris r3, r3, 0x10 -/* 801C89C0 001C4620 7C 00 00 34 */ cntlzw r0, r0 -/* 801C89C4 001C4624 20 80 00 20 */ subfic r4, r0, 0x20 -/* 801C89C8 001C4628 40 82 00 18 */ bne lbl_801C89E0 -/* 801C89CC 001C462C 38 03 FF FF */ addi r0, r3, -1 -/* 801C89D0 001C4630 7C 00 18 78 */ andc r0, r0, r3 -/* 801C89D4 001C4634 7C 00 00 34 */ cntlzw r0, r0 -/* 801C89D8 001C4638 20 60 00 20 */ subfic r3, r0, 0x20 -/* 801C89DC 001C463C 38 83 00 20 */ addi r4, r3, 0x20 -lbl_801C89E0: -/* 801C89E0 001C4640 80 01 00 08 */ lwz r0, 8(r1) -/* 801C89E4 001C4644 23 A4 00 35 */ subfic r29, r4, 0x35 -/* 801C89E8 001C4648 38 61 00 18 */ addi r3, r1, 0x18 -/* 801C89EC 001C464C 7C 9D 00 50 */ subf r4, r29, r0 -/* 801C89F0 001C4650 4B FF F4 89 */ bl func_801C7E78 -/* 801C89F4 001C4654 FC 20 F8 90 */ fmr f1, f31 -/* 801C89F8 001C4658 7F A3 EB 78 */ mr r3, r29 -/* 801C89FC 001C465C 48 00 B9 1D */ bl func_801D4318 -/* 801C8A00 001C4660 4B FF ED 19 */ bl __cvt_dbl_ull -/* 801C8A04 001C4664 7C 65 1B 78 */ mr r5, r3 -/* 801C8A08 001C4668 7C 86 23 78 */ mr r6, r4 -/* 801C8A0C 001C466C 38 61 00 44 */ addi r3, r1, 0x44 -/* 801C8A10 001C4670 4B FF F0 19 */ bl func_801C7A28 -/* 801C8A14 001C4674 7F C3 F3 78 */ mr r3, r30 -/* 801C8A18 001C4678 38 81 00 44 */ addi r4, r1, 0x44 -/* 801C8A1C 001C467C 38 A1 00 18 */ addi r5, r1, 0x18 -/* 801C8A20 001C4680 4B FF F0 E5 */ bl func_801C7B04 -/* 801C8A24 001C4684 9B FE 00 00 */ stb r31, 0(r30) -lbl_801C8A28: -/* 801C8A28 001C4688 80 01 00 94 */ lwz r0, 0x94(r1) -/* 801C8A2C 001C468C CB E1 00 88 */ lfd f31, 0x88(r1) -/* 801C8A30 001C4690 83 E1 00 84 */ lwz r31, 0x84(r1) -/* 801C8A34 001C4694 83 C1 00 80 */ lwz r30, 0x80(r1) -/* 801C8A38 001C4698 83 A1 00 7C */ lwz r29, 0x7c(r1) -/* 801C8A3C 001C469C 7C 08 03 A6 */ mtlr r0 -/* 801C8A40 001C46A0 38 21 00 90 */ addi r1, r1, 0x90 -/* 801C8A44 001C46A4 4E 80 00 20 */ blr - -.global func_801C8A48 -func_801C8A48: -/* 801C8A48 001C46A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801C8A4C 001C46AC 7C 08 02 A6 */ mflr r0 -/* 801C8A50 001C46B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801C8A54 001C46B4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801C8A58 001C46B8 AB E3 00 02 */ lha r31, 2(r3) -/* 801C8A5C 001C46BC 93 C1 00 08 */ stw r30, 8(r1) -/* 801C8A60 001C46C0 7C 9E 23 78 */ mr r30, r4 -/* 801C8A64 001C46C4 7F C3 F3 78 */ mr r3, r30 -/* 801C8A68 001C46C8 4B FF FE 7D */ bl func_801C88E4 -/* 801C8A6C 001C46CC 88 1E 00 05 */ lbz r0, 5(r30) -/* 801C8A70 001C46D0 28 00 00 09 */ cmplwi r0, 9 -/* 801C8A74 001C46D4 41 81 01 5C */ bgt lbl_801C8BD0 -/* 801C8A78 001C46D8 2C 1F 00 24 */ cmpwi r31, 0x24 -/* 801C8A7C 001C46DC 40 81 00 08 */ ble lbl_801C8A84 -/* 801C8A80 001C46E0 3B E0 00 24 */ li r31, 0x24 -lbl_801C8A84: -/* 801C8A84 001C46E4 2C 1F 00 00 */ cmpwi r31, 0 -/* 801C8A88 001C46E8 40 81 00 E8 */ ble lbl_801C8B70 -/* 801C8A8C 001C46EC 88 1E 00 04 */ lbz r0, 4(r30) -/* 801C8A90 001C46F0 7C 1F 00 00 */ cmpw r31, r0 -/* 801C8A94 001C46F4 40 80 00 DC */ bge lbl_801C8B70 -/* 801C8A98 001C46F8 38 9E 00 05 */ addi r4, r30, 5 -/* 801C8A9C 001C46FC 7C 04 F8 AE */ lbzx r0, r4, r31 -/* 801C8AA0 001C4700 7C 64 FA 14 */ add r3, r4, r31 -/* 801C8AA4 001C4704 28 00 00 05 */ cmplwi r0, 5 -/* 801C8AA8 001C4708 40 81 00 0C */ ble lbl_801C8AB4 -/* 801C8AAC 001C470C 38 80 00 01 */ li r4, 1 -/* 801C8AB0 001C4710 48 00 00 60 */ b lbl_801C8B10 -lbl_801C8AB4: -/* 801C8AB4 001C4714 40 80 00 0C */ bge lbl_801C8AC0 -/* 801C8AB8 001C4718 38 80 FF FF */ li r4, -1 -/* 801C8ABC 001C471C 48 00 00 54 */ b lbl_801C8B10 -lbl_801C8AC0: -/* 801C8AC0 001C4720 88 1E 00 04 */ lbz r0, 4(r30) -/* 801C8AC4 001C4724 38 63 00 01 */ addi r3, r3, 1 -/* 801C8AC8 001C4728 7C 84 02 14 */ add r4, r4, r0 -/* 801C8ACC 001C472C 7C 03 20 50 */ subf r0, r3, r4 -/* 801C8AD0 001C4730 7C 09 03 A6 */ mtctr r0 -/* 801C8AD4 001C4734 7C 03 20 40 */ cmplw r3, r4 -/* 801C8AD8 001C4738 40 80 00 20 */ bge lbl_801C8AF8 -lbl_801C8ADC: -/* 801C8ADC 001C473C 88 03 00 00 */ lbz r0, 0(r3) -/* 801C8AE0 001C4740 2C 00 00 00 */ cmpwi r0, 0 -/* 801C8AE4 001C4744 41 82 00 0C */ beq lbl_801C8AF0 -/* 801C8AE8 001C4748 38 80 00 01 */ li r4, 1 -/* 801C8AEC 001C474C 48 00 00 24 */ b lbl_801C8B10 -lbl_801C8AF0: -/* 801C8AF0 001C4750 38 63 00 01 */ addi r3, r3, 1 -/* 801C8AF4 001C4754 42 00 FF E8 */ bdnz lbl_801C8ADC -lbl_801C8AF8: -/* 801C8AF8 001C4758 7C 7F F2 14 */ add r3, r31, r30 -/* 801C8AFC 001C475C 38 80 FF FF */ li r4, -1 -/* 801C8B00 001C4760 88 03 00 04 */ lbz r0, 4(r3) -/* 801C8B04 001C4764 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801C8B08 001C4768 41 82 00 08 */ beq lbl_801C8B10 -/* 801C8B0C 001C476C 38 80 00 01 */ li r4, 1 -lbl_801C8B10: -/* 801C8B10 001C4770 2C 04 00 00 */ cmpwi r4, 0 -/* 801C8B14 001C4774 9B FE 00 04 */ stb r31, 4(r30) -/* 801C8B18 001C4778 41 80 00 58 */ blt lbl_801C8B70 -/* 801C8B1C 001C477C 38 9E 00 05 */ addi r4, r30, 5 -/* 801C8B20 001C4780 38 00 00 00 */ li r0, 0 -/* 801C8B24 001C4784 7C A4 FA 14 */ add r5, r4, r31 -/* 801C8B28 001C4788 38 A5 FF FF */ addi r5, r5, -1 -lbl_801C8B2C: -/* 801C8B2C 001C478C 88 65 00 00 */ lbz r3, 0(r5) -/* 801C8B30 001C4790 28 03 00 09 */ cmplwi r3, 9 -/* 801C8B34 001C4794 40 80 00 10 */ bge lbl_801C8B44 -/* 801C8B38 001C4798 38 03 00 01 */ addi r0, r3, 1 -/* 801C8B3C 001C479C 98 05 00 00 */ stb r0, 0(r5) -/* 801C8B40 001C47A0 48 00 00 30 */ b lbl_801C8B70 -lbl_801C8B44: -/* 801C8B44 001C47A4 7C 05 20 40 */ cmplw r5, r4 -/* 801C8B48 001C47A8 40 82 00 1C */ bne lbl_801C8B64 -/* 801C8B4C 001C47AC 38 00 00 01 */ li r0, 1 -/* 801C8B50 001C47B0 98 05 00 00 */ stb r0, 0(r5) -/* 801C8B54 001C47B4 A8 7E 00 02 */ lha r3, 2(r30) -/* 801C8B58 001C47B8 38 03 00 01 */ addi r0, r3, 1 -/* 801C8B5C 001C47BC B0 1E 00 02 */ sth r0, 2(r30) -/* 801C8B60 001C47C0 48 00 00 10 */ b lbl_801C8B70 -lbl_801C8B64: -/* 801C8B64 001C47C4 98 05 00 00 */ stb r0, 0(r5) -/* 801C8B68 001C47C8 38 A5 FF FF */ addi r5, r5, -1 -/* 801C8B6C 001C47CC 4B FF FF C0 */ b lbl_801C8B2C -lbl_801C8B70: -/* 801C8B70 001C47D0 38 A0 00 00 */ li r5, 0 -/* 801C8B74 001C47D4 48 00 00 18 */ b lbl_801C8B8C -lbl_801C8B78: -/* 801C8B78 001C47D8 88 9E 00 04 */ lbz r4, 4(r30) -/* 801C8B7C 001C47DC 7C 7E 22 14 */ add r3, r30, r4 -/* 801C8B80 001C47E0 38 04 00 01 */ addi r0, r4, 1 -/* 801C8B84 001C47E4 98 A3 00 05 */ stb r5, 5(r3) -/* 801C8B88 001C47E8 98 1E 00 04 */ stb r0, 4(r30) -lbl_801C8B8C: -/* 801C8B8C 001C47EC 88 7E 00 04 */ lbz r3, 4(r30) -/* 801C8B90 001C47F0 7C 03 F8 00 */ cmpw r3, r31 -/* 801C8B94 001C47F4 41 80 FF E4 */ blt lbl_801C8B78 -/* 801C8B98 001C47F8 A8 1E 00 02 */ lha r0, 2(r30) -/* 801C8B9C 001C47FC 38 63 FF FF */ addi r3, r3, -1 -/* 801C8BA0 001C4800 38 A0 00 00 */ li r5, 0 -/* 801C8BA4 001C4804 7C 03 00 50 */ subf r0, r3, r0 -/* 801C8BA8 001C4808 B0 1E 00 02 */ sth r0, 2(r30) -/* 801C8BAC 001C480C 48 00 00 18 */ b lbl_801C8BC4 -lbl_801C8BB0: -/* 801C8BB0 001C4810 7C 9E 2A 14 */ add r4, r30, r5 -/* 801C8BB4 001C4814 38 A5 00 01 */ addi r5, r5, 1 -/* 801C8BB8 001C4818 88 64 00 05 */ lbz r3, 5(r4) -/* 801C8BBC 001C481C 38 03 00 30 */ addi r0, r3, 0x30 -/* 801C8BC0 001C4820 98 04 00 05 */ stb r0, 5(r4) -lbl_801C8BC4: -/* 801C8BC4 001C4824 88 1E 00 04 */ lbz r0, 4(r30) -/* 801C8BC8 001C4828 7C 05 00 00 */ cmpw r5, r0 -/* 801C8BCC 001C482C 41 80 FF E4 */ blt lbl_801C8BB0 -lbl_801C8BD0: -/* 801C8BD0 001C4830 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801C8BD4 001C4834 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801C8BD8 001C4838 83 C1 00 08 */ lwz r30, 8(r1) -/* 801C8BDC 001C483C 7C 08 03 A6 */ mtlr r0 -/* 801C8BE0 001C4840 38 21 00 10 */ addi r1, r1, 0x10 -/* 801C8BE4 001C4844 4E 80 00 20 */ blr - -.global func_801C8BE8 -func_801C8BE8: -/* 801C8BE8 001C4848 94 21 FE 80 */ stwu r1, -0x180(r1) -/* 801C8BEC 001C484C 7C 08 02 A6 */ mflr r0 -/* 801C8BF0 001C4850 90 01 01 84 */ stw r0, 0x184(r1) -/* 801C8BF4 001C4854 DB E1 01 70 */ stfd f31, 0x170(r1) -/* 801C8BF8 001C4858 F3 E1 01 78 */ psq_st f31, 376(r1), 0, qr0 -/* 801C8BFC 001C485C 39 61 01 70 */ addi r11, r1, 0x170 -/* 801C8C00 001C4860 4B FF E5 09 */ bl func_801C7108 -/* 801C8C04 001C4864 88 03 00 04 */ lbz r0, 4(r3) -/* 801C8C08 001C4868 3C 80 43 30 */ lis r4, 0x4330 -/* 801C8C0C 001C486C 90 81 01 28 */ stw r4, 0x128(r1) -/* 801C8C10 001C4870 7C 7B 1B 78 */ mr r27, r3 -/* 801C8C14 001C4874 2C 00 00 00 */ cmpwi r0, 0 -/* 801C8C18 001C4878 90 81 01 30 */ stw r4, 0x130(r1) -/* 801C8C1C 001C487C 40 82 00 28 */ bne lbl_801C8C44 -/* 801C8C20 001C4880 88 03 00 00 */ lbz r0, 0(r3) -/* 801C8C24 001C4884 7C 00 07 75 */ extsb. r0, r0 -/* 801C8C28 001C4888 40 82 00 0C */ bne lbl_801C8C34 -/* 801C8C2C 001C488C C8 42 91 00 */ lfd f2, lbl_80641700-_SDA2_BASE_(r2) -/* 801C8C30 001C4890 48 00 00 08 */ b lbl_801C8C38 -lbl_801C8C34: -/* 801C8C34 001C4894 C8 42 91 08 */ lfd f2, lbl_80641708-_SDA2_BASE_(r2) -lbl_801C8C38: -/* 801C8C38 001C4898 C8 22 90 F8 */ lfd f1, lbl_806416F8-_SDA2_BASE_(r2) -/* 801C8C3C 001C489C 48 00 B4 11 */ bl func_801D404C -/* 801C8C40 001C48A0 48 00 07 38 */ b lbl_801C9378 -lbl_801C8C44: -/* 801C8C44 001C48A4 88 03 00 05 */ lbz r0, 5(r3) -/* 801C8C48 001C48A8 2C 00 00 49 */ cmpwi r0, 0x49 -/* 801C8C4C 001C48AC 41 82 00 44 */ beq lbl_801C8C90 -/* 801C8C50 001C48B0 40 80 00 10 */ bge lbl_801C8C60 -/* 801C8C54 001C48B4 2C 00 00 30 */ cmpwi r0, 0x30 -/* 801C8C58 001C48B8 41 82 00 14 */ beq lbl_801C8C6C -/* 801C8C5C 001C48BC 48 00 00 A0 */ b lbl_801C8CFC -lbl_801C8C60: -/* 801C8C60 001C48C0 2C 00 00 4E */ cmpwi r0, 0x4e -/* 801C8C64 001C48C4 41 82 00 54 */ beq lbl_801C8CB8 -/* 801C8C68 001C48C8 48 00 00 94 */ b lbl_801C8CFC -lbl_801C8C6C: -/* 801C8C6C 001C48CC 88 03 00 00 */ lbz r0, 0(r3) -/* 801C8C70 001C48D0 7C 00 07 75 */ extsb. r0, r0 -/* 801C8C74 001C48D4 40 82 00 0C */ bne lbl_801C8C80 -/* 801C8C78 001C48D8 C8 42 91 00 */ lfd f2, lbl_80641700-_SDA2_BASE_(r2) -/* 801C8C7C 001C48DC 48 00 00 08 */ b lbl_801C8C84 -lbl_801C8C80: -/* 801C8C80 001C48E0 C8 42 91 08 */ lfd f2, lbl_80641708-_SDA2_BASE_(r2) -lbl_801C8C84: -/* 801C8C84 001C48E4 C8 22 90 F8 */ lfd f1, lbl_806416F8-_SDA2_BASE_(r2) -/* 801C8C88 001C48E8 48 00 B3 C5 */ bl func_801D404C -/* 801C8C8C 001C48EC 48 00 06 EC */ b lbl_801C9378 -lbl_801C8C90: -/* 801C8C90 001C48F0 88 03 00 00 */ lbz r0, 0(r3) -/* 801C8C94 001C48F4 7C 00 07 75 */ extsb. r0, r0 -/* 801C8C98 001C48F8 40 82 00 0C */ bne lbl_801C8CA4 -/* 801C8C9C 001C48FC C8 42 91 00 */ lfd f2, lbl_80641700-_SDA2_BASE_(r2) -/* 801C8CA0 001C4900 48 00 00 08 */ b lbl_801C8CA8 -lbl_801C8CA4: -/* 801C8CA4 001C4904 C8 42 91 08 */ lfd f2, lbl_80641708-_SDA2_BASE_(r2) -lbl_801C8CA8: -/* 801C8CA8 001C4908 3C 60 80 64 */ lis r3, lbl_8063D6BC@ha -/* 801C8CAC 001C490C C0 23 D6 BC */ lfs f1, lbl_8063D6BC@l(r3) -/* 801C8CB0 001C4910 48 00 B3 9D */ bl func_801D404C -/* 801C8CB4 001C4914 48 00 06 C4 */ b lbl_801C9378 -lbl_801C8CB8: -/* 801C8CB8 001C4918 88 03 00 00 */ lbz r0, 0(r3) -/* 801C8CBC 001C491C 38 80 00 00 */ li r4, 0 -/* 801C8CC0 001C4920 3C 60 7F F0 */ lis r3, 0x7ff0 -/* 801C8CC4 001C4924 90 81 00 1C */ stw r4, 0x1c(r1) -/* 801C8CC8 001C4928 7C 00 07 75 */ extsb. r0, r0 -/* 801C8CCC 001C492C 90 61 00 18 */ stw r3, 0x18(r1) -/* 801C8CD0 001C4930 41 82 00 18 */ beq lbl_801C8CE8 -/* 801C8CD4 001C4934 3C 00 80 00 */ lis r0, 0x8000 -/* 801C8CD8 001C4938 38 60 00 00 */ li r3, 0 -/* 801C8CDC 001C493C 64 00 7F F0 */ oris r0, r0, 0x7ff0 -/* 801C8CE0 001C4940 90 61 00 1C */ stw r3, 0x1c(r1) -/* 801C8CE4 001C4944 90 01 00 18 */ stw r0, 0x18(r1) -lbl_801C8CE8: -/* 801C8CE8 001C4948 80 01 00 18 */ lwz r0, 0x18(r1) -/* 801C8CEC 001C494C 64 00 00 08 */ oris r0, r0, 8 -/* 801C8CF0 001C4950 90 01 00 18 */ stw r0, 0x18(r1) -/* 801C8CF4 001C4954 C8 21 00 18 */ lfd f1, 0x18(r1) -/* 801C8CF8 001C4958 48 00 06 80 */ b lbl_801C9378 -lbl_801C8CFC: -/* 801C8CFC 001C495C A0 03 00 04 */ lhz r0, 4(r3) -/* 801C8D00 001C4960 38 81 01 01 */ addi r4, r1, 0x101 -/* 801C8D04 001C4964 A2 63 00 00 */ lhz r19, 0(r3) -/* 801C8D08 001C4968 B0 01 01 00 */ sth r0, 0x100(r1) -/* 801C8D0C 001C496C A2 83 00 02 */ lhz r20, 2(r3) -/* 801C8D10 001C4970 88 01 01 00 */ lbz r0, 0x100(r1) -/* 801C8D14 001C4974 A3 E3 00 06 */ lhz r31, 6(r3) -/* 801C8D18 001C4978 7F 84 02 14 */ add r28, r4, r0 -/* 801C8D1C 001C497C A3 C3 00 08 */ lhz r30, 8(r3) -/* 801C8D20 001C4980 A3 A3 00 0A */ lhz r29, 0xa(r3) -/* 801C8D24 001C4984 7C 84 E0 40 */ cmplw cr1, r4, r28 -/* 801C8D28 001C4988 A3 43 00 0C */ lhz r26, 0xc(r3) -/* 801C8D2C 001C498C A3 23 00 0E */ lhz r25, 0xe(r3) -/* 801C8D30 001C4990 A3 03 00 10 */ lhz r24, 0x10(r3) -/* 801C8D34 001C4994 A2 E3 00 12 */ lhz r23, 0x12(r3) -/* 801C8D38 001C4998 A2 C3 00 14 */ lhz r22, 0x14(r3) -/* 801C8D3C 001C499C A2 A3 00 16 */ lhz r21, 0x16(r3) -/* 801C8D40 001C49A0 A1 83 00 18 */ lhz r12, 0x18(r3) -/* 801C8D44 001C49A4 A1 63 00 1A */ lhz r11, 0x1a(r3) -/* 801C8D48 001C49A8 A1 43 00 1C */ lhz r10, 0x1c(r3) -/* 801C8D4C 001C49AC A1 23 00 1E */ lhz r9, 0x1e(r3) -/* 801C8D50 001C49B0 A1 03 00 20 */ lhz r8, 0x20(r3) -/* 801C8D54 001C49B4 A0 E3 00 22 */ lhz r7, 0x22(r3) -/* 801C8D58 001C49B8 A0 C3 00 24 */ lhz r6, 0x24(r3) -/* 801C8D5C 001C49BC A0 A3 00 26 */ lhz r5, 0x26(r3) -/* 801C8D60 001C49C0 A0 03 00 28 */ lhz r0, 0x28(r3) -/* 801C8D64 001C49C4 B2 61 00 FC */ sth r19, 0xfc(r1) -/* 801C8D68 001C49C8 B2 81 00 FE */ sth r20, 0xfe(r1) -/* 801C8D6C 001C49CC B3 E1 01 02 */ sth r31, 0x102(r1) -/* 801C8D70 001C49D0 B3 C1 01 04 */ sth r30, 0x104(r1) -/* 801C8D74 001C49D4 B3 A1 01 06 */ sth r29, 0x106(r1) -/* 801C8D78 001C49D8 B3 41 01 08 */ sth r26, 0x108(r1) -/* 801C8D7C 001C49DC B3 21 01 0A */ sth r25, 0x10a(r1) -/* 801C8D80 001C49E0 B3 01 01 0C */ sth r24, 0x10c(r1) -/* 801C8D84 001C49E4 B2 E1 01 0E */ sth r23, 0x10e(r1) -/* 801C8D88 001C49E8 B2 C1 01 10 */ sth r22, 0x110(r1) -/* 801C8D8C 001C49EC B2 A1 01 12 */ sth r21, 0x112(r1) -/* 801C8D90 001C49F0 B1 81 01 14 */ sth r12, 0x114(r1) -/* 801C8D94 001C49F4 B1 61 01 16 */ sth r11, 0x116(r1) -/* 801C8D98 001C49F8 B1 41 01 18 */ sth r10, 0x118(r1) -/* 801C8D9C 001C49FC B1 21 01 1A */ sth r9, 0x11a(r1) -/* 801C8DA0 001C4A00 B1 01 01 1C */ sth r8, 0x11c(r1) -/* 801C8DA4 001C4A04 B0 E1 01 1E */ sth r7, 0x11e(r1) -/* 801C8DA8 001C4A08 B0 C1 01 20 */ sth r6, 0x120(r1) -/* 801C8DAC 001C4A0C B0 A1 01 22 */ sth r5, 0x122(r1) -/* 801C8DB0 001C4A10 B0 01 01 24 */ sth r0, 0x124(r1) -/* 801C8DB4 001C4A14 40 84 00 BC */ bge cr1, lbl_801C8E70 -/* 801C8DB8 001C4A18 7C 04 E0 50 */ subf r0, r4, r28 -/* 801C8DBC 001C4A1C 38 7C FF F8 */ addi r3, r28, -8 -/* 801C8DC0 001C4A20 2C 00 00 08 */ cmpwi r0, 8 -/* 801C8DC4 001C4A24 40 81 00 88 */ ble lbl_801C8E4C -/* 801C8DC8 001C4A28 41 85 00 84 */ bgt cr1, lbl_801C8E4C -/* 801C8DCC 001C4A2C 38 03 00 07 */ addi r0, r3, 7 -/* 801C8DD0 001C4A30 7C 04 00 50 */ subf r0, r4, r0 -/* 801C8DD4 001C4A34 54 00 E8 FE */ srwi r0, r0, 3 -/* 801C8DD8 001C4A38 7C 09 03 A6 */ mtctr r0 -/* 801C8DDC 001C4A3C 7C 04 18 40 */ cmplw r4, r3 -/* 801C8DE0 001C4A40 40 80 00 6C */ bge lbl_801C8E4C -lbl_801C8DE4: -/* 801C8DE4 001C4A44 88 64 00 00 */ lbz r3, 0(r4) -/* 801C8DE8 001C4A48 38 03 FF D0 */ addi r0, r3, -48 -/* 801C8DEC 001C4A4C 98 04 00 00 */ stb r0, 0(r4) -/* 801C8DF0 001C4A50 88 64 00 01 */ lbz r3, 1(r4) -/* 801C8DF4 001C4A54 38 03 FF D0 */ addi r0, r3, -48 -/* 801C8DF8 001C4A58 98 04 00 01 */ stb r0, 1(r4) -/* 801C8DFC 001C4A5C 88 64 00 02 */ lbz r3, 2(r4) -/* 801C8E00 001C4A60 38 03 FF D0 */ addi r0, r3, -48 -/* 801C8E04 001C4A64 98 04 00 02 */ stb r0, 2(r4) -/* 801C8E08 001C4A68 88 64 00 03 */ lbz r3, 3(r4) -/* 801C8E0C 001C4A6C 38 03 FF D0 */ addi r0, r3, -48 -/* 801C8E10 001C4A70 98 04 00 03 */ stb r0, 3(r4) -/* 801C8E14 001C4A74 88 64 00 04 */ lbz r3, 4(r4) -/* 801C8E18 001C4A78 38 03 FF D0 */ addi r0, r3, -48 -/* 801C8E1C 001C4A7C 98 04 00 04 */ stb r0, 4(r4) -/* 801C8E20 001C4A80 88 64 00 05 */ lbz r3, 5(r4) -/* 801C8E24 001C4A84 38 03 FF D0 */ addi r0, r3, -48 -/* 801C8E28 001C4A88 98 04 00 05 */ stb r0, 5(r4) -/* 801C8E2C 001C4A8C 88 64 00 06 */ lbz r3, 6(r4) -/* 801C8E30 001C4A90 38 03 FF D0 */ addi r0, r3, -48 -/* 801C8E34 001C4A94 98 04 00 06 */ stb r0, 6(r4) -/* 801C8E38 001C4A98 88 64 00 07 */ lbz r3, 7(r4) -/* 801C8E3C 001C4A9C 38 03 FF D0 */ addi r0, r3, -48 -/* 801C8E40 001C4AA0 98 04 00 07 */ stb r0, 7(r4) -/* 801C8E44 001C4AA4 38 84 00 08 */ addi r4, r4, 8 -/* 801C8E48 001C4AA8 42 00 FF 9C */ bdnz lbl_801C8DE4 -lbl_801C8E4C: -/* 801C8E4C 001C4AAC 7C 04 E0 50 */ subf r0, r4, r28 -/* 801C8E50 001C4AB0 7C 09 03 A6 */ mtctr r0 -/* 801C8E54 001C4AB4 7C 04 E0 40 */ cmplw r4, r28 -/* 801C8E58 001C4AB8 40 80 00 18 */ bge lbl_801C8E70 -lbl_801C8E5C: -/* 801C8E5C 001C4ABC 88 64 00 00 */ lbz r3, 0(r4) -/* 801C8E60 001C4AC0 38 03 FF D0 */ addi r0, r3, -48 -/* 801C8E64 001C4AC4 98 04 00 00 */ stb r0, 0(r4) -/* 801C8E68 001C4AC8 38 84 00 01 */ addi r4, r4, 1 -/* 801C8E6C 001C4ACC 42 00 FF F0 */ bdnz lbl_801C8E5C -lbl_801C8E70: -/* 801C8E70 001C4AD0 A8 A1 00 FE */ lha r5, 0xfe(r1) -/* 801C8E74 001C4AD4 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha -/* 801C8E78 001C4AD8 88 01 01 00 */ lbz r0, 0x100(r1) -/* 801C8E7C 001C4ADC 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l -/* 801C8E80 001C4AE0 38 61 00 D0 */ addi r3, r1, 0xd0 -/* 801C8E84 001C4AE4 7C A0 2A 14 */ add r5, r0, r5 -/* 801C8E88 001C4AE8 38 84 00 B8 */ addi r4, r4, 0xb8 -/* 801C8E8C 001C4AEC 38 05 FF FF */ addi r0, r5, -1 -/* 801C8E90 001C4AF0 B0 01 00 FE */ sth r0, 0xfe(r1) -/* 801C8E94 001C4AF4 38 A0 01 34 */ li r5, 0x134 -/* 801C8E98 001C4AF8 7C 1D 07 34 */ extsh r29, r0 -/* 801C8E9C 001C4AFC 4B FF EE F1 */ bl func_801C7D8C -/* 801C8EA0 001C4B00 38 61 00 D0 */ addi r3, r1, 0xd0 -/* 801C8EA4 001C4B04 38 81 00 FC */ addi r4, r1, 0xfc -/* 801C8EA8 001C4B08 4B FF F4 21 */ bl func_801C82C8 -/* 801C8EAC 001C4B0C 2C 03 00 00 */ cmpwi r3, 0 -/* 801C8EB0 001C4B10 41 82 00 2C */ beq lbl_801C8EDC -/* 801C8EB4 001C4B14 88 1B 00 00 */ lbz r0, 0(r27) -/* 801C8EB8 001C4B18 7C 00 07 75 */ extsb. r0, r0 -/* 801C8EBC 001C4B1C 40 82 00 0C */ bne lbl_801C8EC8 -/* 801C8EC0 001C4B20 C8 42 91 00 */ lfd f2, lbl_80641700-_SDA2_BASE_(r2) -/* 801C8EC4 001C4B24 48 00 00 08 */ b lbl_801C8ECC -lbl_801C8EC8: -/* 801C8EC8 001C4B28 C8 42 91 08 */ lfd f2, lbl_80641708-_SDA2_BASE_(r2) -lbl_801C8ECC: -/* 801C8ECC 001C4B2C 3C 60 80 64 */ lis r3, lbl_8063D6BC@ha -/* 801C8ED0 001C4B30 C0 23 D6 BC */ lfs f1, lbl_8063D6BC@l(r3) -/* 801C8ED4 001C4B34 48 00 B1 79 */ bl func_801D404C -/* 801C8ED8 001C4B38 48 00 04 A0 */ b lbl_801C9378 -lbl_801C8EDC: -/* 801C8EDC 001C4B3C 88 01 01 01 */ lbz r0, 0x101(r1) -/* 801C8EE0 001C4B40 3C E0 80 42 */ lis r7, lbl_80422B58@ha -/* 801C8EE4 001C4B44 C8 42 91 20 */ lfd f2, lbl_80641720-_SDA2_BASE_(r2) -/* 801C8EE8 001C4B48 38 81 01 02 */ addi r4, r1, 0x102 -/* 801C8EEC 001C4B4C 90 01 01 2C */ stw r0, 0x12c(r1) -/* 801C8EF0 001C4B50 38 E7 2B 58 */ addi r7, r7, lbl_80422B58@l -/* 801C8EF4 001C4B54 3C 60 80 00 */ lis r3, 0x8000 -/* 801C8EF8 001C4B58 C8 01 01 28 */ lfd f0, 0x128(r1) -/* 801C8EFC 001C4B5C FF E0 10 28 */ fsub f31, f0, f2 -/* 801C8F00 001C4B60 48 00 01 40 */ b lbl_801C9040 -lbl_801C8F04: -/* 801C8F04 001C4B64 7C A4 E0 50 */ subf r5, r4, r28 -/* 801C8F08 001C4B68 39 40 00 00 */ li r10, 0 -/* 801C8F0C 001C4B6C 54 A0 E8 04 */ slwi r0, r5, 0x1d -/* 801C8F10 001C4B70 54 A5 0F FE */ srwi r5, r5, 0x1f -/* 801C8F14 001C4B74 7C 05 00 50 */ subf r0, r5, r0 -/* 801C8F18 001C4B78 54 00 18 3E */ rotlwi r0, r0, 3 -/* 801C8F1C 001C4B7C 7C C0 2A 15 */ add. r6, r0, r5 -/* 801C8F20 001C4B80 40 82 00 08 */ bne lbl_801C8F28 -/* 801C8F24 001C4B84 38 C0 00 08 */ li r6, 8 -lbl_801C8F28: -/* 801C8F28 001C4B88 2C 86 00 00 */ cmpwi cr1, r6, 0 -/* 801C8F2C 001C4B8C 38 A0 00 00 */ li r5, 0 -/* 801C8F30 001C4B90 40 85 00 D8 */ ble cr1, lbl_801C9008 -/* 801C8F34 001C4B94 2C 06 00 08 */ cmpwi r6, 8 -/* 801C8F38 001C4B98 39 06 FF F8 */ addi r8, r6, -8 -/* 801C8F3C 001C4B9C 40 81 00 A4 */ ble lbl_801C8FE0 -/* 801C8F40 001C4BA0 39 20 00 00 */ li r9, 0 -/* 801C8F44 001C4BA4 41 84 00 14 */ blt cr1, lbl_801C8F58 -/* 801C8F48 001C4BA8 38 03 FF FE */ addi r0, r3, -2 -/* 801C8F4C 001C4BAC 7C 06 00 00 */ cmpw r6, r0 -/* 801C8F50 001C4BB0 41 81 00 08 */ bgt lbl_801C8F58 -/* 801C8F54 001C4BB4 39 20 00 01 */ li r9, 1 -lbl_801C8F58: -/* 801C8F58 001C4BB8 2C 09 00 00 */ cmpwi r9, 0 -/* 801C8F5C 001C4BBC 41 82 00 84 */ beq lbl_801C8FE0 -/* 801C8F60 001C4BC0 38 08 00 07 */ addi r0, r8, 7 -/* 801C8F64 001C4BC4 54 00 E8 FE */ srwi r0, r0, 3 -/* 801C8F68 001C4BC8 7C 09 03 A6 */ mtctr r0 -/* 801C8F6C 001C4BCC 2C 08 00 00 */ cmpwi r8, 0 -/* 801C8F70 001C4BD0 40 81 00 70 */ ble lbl_801C8FE0 -lbl_801C8F74: -/* 801C8F74 001C4BD4 1C 0A 00 0A */ mulli r0, r10, 0xa -/* 801C8F78 001C4BD8 89 24 00 00 */ lbz r9, 0(r4) -/* 801C8F7C 001C4BDC 89 04 00 01 */ lbz r8, 1(r4) -/* 801C8F80 001C4BE0 38 A5 00 08 */ addi r5, r5, 8 -/* 801C8F84 001C4BE4 8A A4 00 02 */ lbz r21, 2(r4) -/* 801C8F88 001C4BE8 7C 09 02 14 */ add r0, r9, r0 -/* 801C8F8C 001C4BEC 1C 00 00 0A */ mulli r0, r0, 0xa -/* 801C8F90 001C4BF0 89 84 00 03 */ lbz r12, 3(r4) -/* 801C8F94 001C4BF4 89 64 00 04 */ lbz r11, 4(r4) -/* 801C8F98 001C4BF8 89 44 00 05 */ lbz r10, 5(r4) -/* 801C8F9C 001C4BFC 7C 08 02 14 */ add r0, r8, r0 -/* 801C8FA0 001C4C00 89 24 00 06 */ lbz r9, 6(r4) -/* 801C8FA4 001C4C04 1C 00 00 0A */ mulli r0, r0, 0xa -/* 801C8FA8 001C4C08 89 04 00 07 */ lbz r8, 7(r4) -/* 801C8FAC 001C4C0C 38 84 00 08 */ addi r4, r4, 8 -/* 801C8FB0 001C4C10 7C 15 02 14 */ add r0, r21, r0 -/* 801C8FB4 001C4C14 1C 00 00 0A */ mulli r0, r0, 0xa -/* 801C8FB8 001C4C18 7C 0C 02 14 */ add r0, r12, r0 -/* 801C8FBC 001C4C1C 1C 00 00 0A */ mulli r0, r0, 0xa -/* 801C8FC0 001C4C20 7C 0B 02 14 */ add r0, r11, r0 -/* 801C8FC4 001C4C24 1C 00 00 0A */ mulli r0, r0, 0xa -/* 801C8FC8 001C4C28 7C 0A 02 14 */ add r0, r10, r0 -/* 801C8FCC 001C4C2C 1C 00 00 0A */ mulli r0, r0, 0xa -/* 801C8FD0 001C4C30 7C 09 02 14 */ add r0, r9, r0 -/* 801C8FD4 001C4C34 1C 00 00 0A */ mulli r0, r0, 0xa -/* 801C8FD8 001C4C38 7D 48 02 14 */ add r10, r8, r0 -/* 801C8FDC 001C4C3C 42 00 FF 98 */ bdnz lbl_801C8F74 -lbl_801C8FE0: -/* 801C8FE0 001C4C40 7C 05 30 50 */ subf r0, r5, r6 -/* 801C8FE4 001C4C44 7C 09 03 A6 */ mtctr r0 -/* 801C8FE8 001C4C48 7C 05 30 00 */ cmpw r5, r6 -/* 801C8FEC 001C4C4C 40 80 00 1C */ bge lbl_801C9008 -lbl_801C8FF0: -/* 801C8FF0 001C4C50 1C 0A 00 0A */ mulli r0, r10, 0xa -/* 801C8FF4 001C4C54 89 04 00 00 */ lbz r8, 0(r4) -/* 801C8FF8 001C4C58 38 A5 00 01 */ addi r5, r5, 1 -/* 801C8FFC 001C4C5C 38 84 00 01 */ addi r4, r4, 1 -/* 801C9000 001C4C60 7D 48 02 14 */ add r10, r8, r0 -/* 801C9004 001C4C64 42 00 FF EC */ bdnz lbl_801C8FF0 -lbl_801C9008: -/* 801C9008 001C4C68 54 C0 18 38 */ slwi r0, r6, 3 -/* 801C900C 001C4C6C 91 41 01 34 */ stw r10, 0x134(r1) -/* 801C9010 001C4C70 7C A7 02 14 */ add r5, r7, r0 -/* 801C9014 001C4C74 2C 0A 00 00 */ cmpwi r10, 0 -/* 801C9018 001C4C78 C8 25 FF F8 */ lfd f1, -8(r5) -/* 801C901C 001C4C7C C8 01 01 30 */ lfd f0, 0x130(r1) -/* 801C9020 001C4C80 FC 3F 00 72 */ fmul f1, f31, f1 -/* 801C9024 001C4C84 FC 00 10 28 */ fsub f0, f0, f2 -/* 801C9028 001C4C88 FC 01 00 2A */ fadd f0, f1, f0 -/* 801C902C 001C4C8C 41 82 00 0C */ beq lbl_801C9038 -/* 801C9030 001C4C90 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 801C9034 001C4C94 41 82 00 14 */ beq lbl_801C9048 -lbl_801C9038: -/* 801C9038 001C4C98 FF E0 00 90 */ fmr f31, f0 -/* 801C903C 001C4C9C 7F A6 E8 50 */ subf r29, r6, r29 -lbl_801C9040: -/* 801C9040 001C4CA0 7C 04 E0 40 */ cmplw r4, r28 -/* 801C9044 001C4CA4 41 80 FE C0 */ blt lbl_801C8F04 -lbl_801C9048: -/* 801C9048 001C4CA8 2C 1D 00 00 */ cmpwi r29, 0 -/* 801C904C 001C4CAC 40 80 00 2C */ bge lbl_801C9078 -/* 801C9050 001C4CB0 7C 1D 00 D0 */ neg r0, r29 -/* 801C9054 001C4CB4 C8 42 91 28 */ lfd f2, lbl_80641728-_SDA2_BASE_(r2) -/* 801C9058 001C4CB8 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 801C905C 001C4CBC C8 22 91 10 */ lfd f1, lbl_80641710-_SDA2_BASE_(r2) -/* 801C9060 001C4CC0 90 01 01 2C */ stw r0, 0x12c(r1) -/* 801C9064 001C4CC4 C8 01 01 28 */ lfd f0, 0x128(r1) -/* 801C9068 001C4CC8 FC 40 10 28 */ fsub f2, f0, f2 -/* 801C906C 001C4CCC 48 00 B5 79 */ bl func_801D45E4 -/* 801C9070 001C4CD0 FF FF 08 24 */ fdiv f31, f31, f1 -/* 801C9074 001C4CD4 48 00 00 24 */ b lbl_801C9098 -lbl_801C9078: -/* 801C9078 001C4CD8 6F A0 80 00 */ xoris r0, r29, 0x8000 -/* 801C907C 001C4CDC C8 42 91 28 */ lfd f2, lbl_80641728-_SDA2_BASE_(r2) -/* 801C9080 001C4CE0 90 01 01 34 */ stw r0, 0x134(r1) -/* 801C9084 001C4CE4 C8 22 91 10 */ lfd f1, lbl_80641710-_SDA2_BASE_(r2) -/* 801C9088 001C4CE8 C8 01 01 30 */ lfd f0, 0x130(r1) -/* 801C908C 001C4CEC FC 40 10 28 */ fsub f2, f0, f2 -/* 801C9090 001C4CF0 48 00 B5 55 */ bl func_801D45E4 -/* 801C9094 001C4CF4 FF FF 00 72 */ fmul f31, f31, f1 -lbl_801C9098: -/* 801C9098 001C4CF8 FC 20 F8 90 */ fmr f1, f31 -/* 801C909C 001C4CFC 7F A3 EB 78 */ mr r3, r29 -/* 801C90A0 001C4D00 48 00 B2 79 */ bl func_801D4318 -/* 801C90A4 001C4D04 FF E0 08 90 */ fmr f31, f1 -/* 801C90A8 001C4D08 D8 21 00 10 */ stfd f1, 0x10(r1) -/* 801C90AC 001C4D0C 48 00 16 85 */ bl func_801CA730 -/* 801C90B0 001C4D10 2C 03 00 02 */ cmpwi r3, 2 -/* 801C90B4 001C4D14 40 82 00 0C */ bne lbl_801C90C0 -/* 801C90B8 001C4D18 CB E2 91 18 */ lfd f31, lbl_80641718-_SDA2_BASE_(r2) -/* 801C90BC 001C4D1C DB E1 00 10 */ stfd f31, 0x10(r1) -lbl_801C90C0: -/* 801C90C0 001C4D20 FC 20 F8 90 */ fmr f1, f31 -/* 801C90C4 001C4D24 38 61 00 A4 */ addi r3, r1, 0xa4 -/* 801C90C8 001C4D28 3B 60 00 00 */ li r27, 0 -/* 801C90CC 001C4D2C 4B FF F8 19 */ bl func_801C88E4 -/* 801C90D0 001C4D30 38 61 00 A4 */ addi r3, r1, 0xa4 -/* 801C90D4 001C4D34 38 81 00 FC */ addi r4, r1, 0xfc -/* 801C90D8 001C4D38 4B FF F1 0D */ bl func_801C81E4 -/* 801C90DC 001C4D3C 2C 03 00 00 */ cmpwi r3, 0 -/* 801C90E0 001C4D40 40 82 02 80 */ bne lbl_801C9360 -/* 801C90E4 001C4D44 38 61 00 A4 */ addi r3, r1, 0xa4 -/* 801C90E8 001C4D48 38 81 00 FC */ addi r4, r1, 0xfc -/* 801C90EC 001C4D4C 4B FF F1 DD */ bl func_801C82C8 -/* 801C90F0 001C4D50 2C 03 00 00 */ cmpwi r3, 0 -/* 801C90F4 001C4D54 41 82 00 08 */ beq lbl_801C90FC -/* 801C90F8 001C4D58 3B 60 00 01 */ li r27, 1 -lbl_801C90FC: -/* 801C90FC 001C4D5C 7F 60 00 34 */ cntlzw r0, r27 -/* 801C9100 001C4D60 DB E1 00 08 */ stfd f31, 8(r1) -/* 801C9104 001C4D64 54 1C D9 7E */ srwi r28, r0, 5 -/* 801C9108 001C4D68 3B A0 00 01 */ li r29, 1 -/* 801C910C 001C4D6C 3B C0 00 00 */ li r30, 0 -/* 801C9110 001C4D70 3B E0 FF FF */ li r31, -1 -lbl_801C9114: -/* 801C9114 001C4D74 2C 1C 00 00 */ cmpwi r28, 0 -/* 801C9118 001C4D78 40 82 00 30 */ bne lbl_801C9148 -/* 801C911C 001C4D7C 80 61 00 0C */ lwz r3, 0xc(r1) -/* 801C9120 001C4D80 80 01 00 08 */ lwz r0, 8(r1) -/* 801C9124 001C4D84 7C 63 E8 14 */ addc r3, r3, r29 -/* 801C9128 001C4D88 7C 00 F1 14 */ adde r0, r0, r30 -/* 801C912C 001C4D8C 90 61 00 0C */ stw r3, 0xc(r1) -/* 801C9130 001C4D90 90 01 00 08 */ stw r0, 8(r1) -/* 801C9134 001C4D94 C8 21 00 08 */ lfd f1, 8(r1) -/* 801C9138 001C4D98 48 00 15 F9 */ bl func_801CA730 -/* 801C913C 001C4D9C 2C 03 00 02 */ cmpwi r3, 2 -/* 801C9140 001C4DA0 41 82 02 20 */ beq lbl_801C9360 -/* 801C9144 001C4DA4 48 00 00 1C */ b lbl_801C9160 -lbl_801C9148: -/* 801C9148 001C4DA8 80 61 00 0C */ lwz r3, 0xc(r1) -/* 801C914C 001C4DAC 80 01 00 08 */ lwz r0, 8(r1) -/* 801C9150 001C4DB0 7C 63 F8 14 */ addc r3, r3, r31 -/* 801C9154 001C4DB4 7C 00 F9 14 */ adde r0, r0, r31 -/* 801C9158 001C4DB8 90 61 00 0C */ stw r3, 0xc(r1) -/* 801C915C 001C4DBC 90 01 00 08 */ stw r0, 8(r1) -lbl_801C9160: -/* 801C9160 001C4DC0 C8 21 00 08 */ lfd f1, 8(r1) -/* 801C9164 001C4DC4 38 61 00 78 */ addi r3, r1, 0x78 -/* 801C9168 001C4DC8 4B FF F7 7D */ bl func_801C88E4 -/* 801C916C 001C4DCC 2C 1B 00 00 */ cmpwi r27, 0 -/* 801C9170 001C4DD0 41 82 00 18 */ beq lbl_801C9188 -/* 801C9174 001C4DD4 38 61 00 78 */ addi r3, r1, 0x78 -/* 801C9178 001C4DD8 38 81 00 FC */ addi r4, r1, 0xfc -/* 801C917C 001C4DDC 4B FF F1 4D */ bl func_801C82C8 -/* 801C9180 001C4DE0 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9184 001C4DE4 41 82 01 74 */ beq lbl_801C92F8 -lbl_801C9188: -/* 801C9188 001C4DE8 2C 1B 00 00 */ cmpwi r27, 0 -/* 801C918C 001C4DEC 40 82 01 08 */ bne lbl_801C9294 -/* 801C9190 001C4DF0 38 61 00 FC */ addi r3, r1, 0xfc -/* 801C9194 001C4DF4 38 81 00 78 */ addi r4, r1, 0x78 -/* 801C9198 001C4DF8 4B FF F1 31 */ bl func_801C82C8 -/* 801C919C 001C4DFC 2C 03 00 00 */ cmpwi r3, 0 -/* 801C91A0 001C4E00 40 82 00 F4 */ bne lbl_801C9294 -/* 801C91A4 001C4E04 FC 00 F8 90 */ fmr f0, f31 -/* 801C91A8 001C4E08 CB E1 00 08 */ lfd f31, 8(r1) -/* 801C91AC 001C4E0C 82 A1 00 A4 */ lwz r21, 0xa4(r1) -/* 801C91B0 001C4E10 81 81 00 78 */ lwz r12, 0x78(r1) -/* 801C91B4 001C4E14 82 C1 00 A8 */ lwz r22, 0xa8(r1) -/* 801C91B8 001C4E18 81 61 00 7C */ lwz r11, 0x7c(r1) -/* 801C91BC 001C4E1C 82 E1 00 AC */ lwz r23, 0xac(r1) -/* 801C91C0 001C4E20 81 41 00 80 */ lwz r10, 0x80(r1) -/* 801C91C4 001C4E24 83 01 00 B0 */ lwz r24, 0xb0(r1) -/* 801C91C8 001C4E28 81 21 00 84 */ lwz r9, 0x84(r1) -/* 801C91CC 001C4E2C 83 21 00 B4 */ lwz r25, 0xb4(r1) -/* 801C91D0 001C4E30 81 01 00 88 */ lwz r8, 0x88(r1) -/* 801C91D4 001C4E34 83 41 00 B8 */ lwz r26, 0xb8(r1) -/* 801C91D8 001C4E38 80 E1 00 8C */ lwz r7, 0x8c(r1) -/* 801C91DC 001C4E3C 83 E1 00 BC */ lwz r31, 0xbc(r1) -/* 801C91E0 001C4E40 80 C1 00 90 */ lwz r6, 0x90(r1) -/* 801C91E4 001C4E44 83 C1 00 C0 */ lwz r30, 0xc0(r1) -/* 801C91E8 001C4E48 80 A1 00 94 */ lwz r5, 0x94(r1) -/* 801C91EC 001C4E4C 83 A1 00 C4 */ lwz r29, 0xc4(r1) -/* 801C91F0 001C4E50 80 81 00 98 */ lwz r4, 0x98(r1) -/* 801C91F4 001C4E54 83 81 00 C8 */ lwz r28, 0xc8(r1) -/* 801C91F8 001C4E58 80 61 00 9C */ lwz r3, 0x9c(r1) -/* 801C91FC 001C4E5C A3 61 00 CC */ lhz r27, 0xcc(r1) -/* 801C9200 001C4E60 A0 01 00 A0 */ lhz r0, 0xa0(r1) -/* 801C9204 001C4E64 92 A1 00 4C */ stw r21, 0x4c(r1) -/* 801C9208 001C4E68 92 C1 00 50 */ stw r22, 0x50(r1) -/* 801C920C 001C4E6C 92 E1 00 54 */ stw r23, 0x54(r1) -/* 801C9210 001C4E70 93 01 00 58 */ stw r24, 0x58(r1) -/* 801C9214 001C4E74 93 21 00 5C */ stw r25, 0x5c(r1) -/* 801C9218 001C4E78 93 41 00 60 */ stw r26, 0x60(r1) -/* 801C921C 001C4E7C 93 E1 00 64 */ stw r31, 0x64(r1) -/* 801C9220 001C4E80 93 C1 00 68 */ stw r30, 0x68(r1) -/* 801C9224 001C4E84 93 A1 00 6C */ stw r29, 0x6c(r1) -/* 801C9228 001C4E88 93 81 00 70 */ stw r28, 0x70(r1) -/* 801C922C 001C4E8C B3 61 00 74 */ sth r27, 0x74(r1) -/* 801C9230 001C4E90 91 81 00 A4 */ stw r12, 0xa4(r1) -/* 801C9234 001C4E94 91 61 00 A8 */ stw r11, 0xa8(r1) -/* 801C9238 001C4E98 91 41 00 AC */ stw r10, 0xac(r1) -/* 801C923C 001C4E9C 91 21 00 B0 */ stw r9, 0xb0(r1) -/* 801C9240 001C4EA0 91 01 00 B4 */ stw r8, 0xb4(r1) -/* 801C9244 001C4EA4 90 E1 00 B8 */ stw r7, 0xb8(r1) -/* 801C9248 001C4EA8 90 C1 00 BC */ stw r6, 0xbc(r1) -/* 801C924C 001C4EAC 90 A1 00 C0 */ stw r5, 0xc0(r1) -/* 801C9250 001C4EB0 90 81 00 C4 */ stw r4, 0xc4(r1) -/* 801C9254 001C4EB4 90 61 00 C8 */ stw r3, 0xc8(r1) -/* 801C9258 001C4EB8 B0 01 00 CC */ sth r0, 0xcc(r1) -/* 801C925C 001C4EBC 92 A1 00 78 */ stw r21, 0x78(r1) -/* 801C9260 001C4EC0 92 C1 00 7C */ stw r22, 0x7c(r1) -/* 801C9264 001C4EC4 92 E1 00 80 */ stw r23, 0x80(r1) -/* 801C9268 001C4EC8 93 01 00 84 */ stw r24, 0x84(r1) -/* 801C926C 001C4ECC 93 21 00 88 */ stw r25, 0x88(r1) -/* 801C9270 001C4ED0 93 41 00 8C */ stw r26, 0x8c(r1) -/* 801C9274 001C4ED4 93 E1 00 90 */ stw r31, 0x90(r1) -/* 801C9278 001C4ED8 93 C1 00 94 */ stw r30, 0x94(r1) -/* 801C927C 001C4EDC 93 A1 00 98 */ stw r29, 0x98(r1) -/* 801C9280 001C4EE0 93 81 00 9C */ stw r28, 0x9c(r1) -/* 801C9284 001C4EE4 B3 61 00 A0 */ sth r27, 0xa0(r1) -/* 801C9288 001C4EE8 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 801C928C 001C4EEC D8 01 00 08 */ stfd f0, 8(r1) -/* 801C9290 001C4EF0 48 00 00 68 */ b lbl_801C92F8 -lbl_801C9294: -/* 801C9294 001C4EF4 81 81 00 78 */ lwz r12, 0x78(r1) -/* 801C9298 001C4EF8 81 61 00 7C */ lwz r11, 0x7c(r1) -/* 801C929C 001C4EFC 81 41 00 80 */ lwz r10, 0x80(r1) -/* 801C92A0 001C4F00 81 21 00 84 */ lwz r9, 0x84(r1) -/* 801C92A4 001C4F04 81 01 00 88 */ lwz r8, 0x88(r1) -/* 801C92A8 001C4F08 80 E1 00 8C */ lwz r7, 0x8c(r1) -/* 801C92AC 001C4F0C 80 C1 00 90 */ lwz r6, 0x90(r1) -/* 801C92B0 001C4F10 80 A1 00 94 */ lwz r5, 0x94(r1) -/* 801C92B4 001C4F14 80 81 00 98 */ lwz r4, 0x98(r1) -/* 801C92B8 001C4F18 80 61 00 9C */ lwz r3, 0x9c(r1) -/* 801C92BC 001C4F1C A0 01 00 A0 */ lhz r0, 0xa0(r1) -/* 801C92C0 001C4F20 CB E1 00 08 */ lfd f31, 8(r1) -/* 801C92C4 001C4F24 91 81 00 A4 */ stw r12, 0xa4(r1) -/* 801C92C8 001C4F28 91 61 00 A8 */ stw r11, 0xa8(r1) -/* 801C92CC 001C4F2C 91 41 00 AC */ stw r10, 0xac(r1) -/* 801C92D0 001C4F30 91 21 00 B0 */ stw r9, 0xb0(r1) -/* 801C92D4 001C4F34 91 01 00 B4 */ stw r8, 0xb4(r1) -/* 801C92D8 001C4F38 90 E1 00 B8 */ stw r7, 0xb8(r1) -/* 801C92DC 001C4F3C 90 C1 00 BC */ stw r6, 0xbc(r1) -/* 801C92E0 001C4F40 90 A1 00 C0 */ stw r5, 0xc0(r1) -/* 801C92E4 001C4F44 90 81 00 C4 */ stw r4, 0xc4(r1) -/* 801C92E8 001C4F48 90 61 00 C8 */ stw r3, 0xc8(r1) -/* 801C92EC 001C4F4C B0 01 00 CC */ sth r0, 0xcc(r1) -/* 801C92F0 001C4F50 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 801C92F4 001C4F54 4B FF FE 20 */ b lbl_801C9114 -lbl_801C92F8: -/* 801C92F8 001C4F58 38 61 00 4C */ addi r3, r1, 0x4c -/* 801C92FC 001C4F5C 38 81 00 FC */ addi r4, r1, 0xfc -/* 801C9300 001C4F60 38 A1 00 A4 */ addi r5, r1, 0xa4 -/* 801C9304 001C4F64 4B FF F0 C5 */ bl func_801C83C8 -/* 801C9308 001C4F68 38 61 00 20 */ addi r3, r1, 0x20 -/* 801C930C 001C4F6C 38 81 00 78 */ addi r4, r1, 0x78 -/* 801C9310 001C4F70 38 A1 00 FC */ addi r5, r1, 0xfc -/* 801C9314 001C4F74 4B FF F0 B5 */ bl func_801C83C8 -/* 801C9318 001C4F78 38 61 00 4C */ addi r3, r1, 0x4c -/* 801C931C 001C4F7C 38 81 00 20 */ addi r4, r1, 0x20 -/* 801C9320 001C4F80 4B FF EE C5 */ bl func_801C81E4 -/* 801C9324 001C4F84 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9328 001C4F88 41 82 00 1C */ beq lbl_801C9344 -/* 801C932C 001C4F8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801C9330 001C4F90 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801C9334 001C4F94 41 82 00 2C */ beq lbl_801C9360 -/* 801C9338 001C4F98 CB E1 00 08 */ lfd f31, 8(r1) -/* 801C933C 001C4F9C DB E1 00 10 */ stfd f31, 0x10(r1) -/* 801C9340 001C4FA0 48 00 00 20 */ b lbl_801C9360 -lbl_801C9344: -/* 801C9344 001C4FA4 38 61 00 4C */ addi r3, r1, 0x4c -/* 801C9348 001C4FA8 38 81 00 20 */ addi r4, r1, 0x20 -/* 801C934C 001C4FAC 4B FF EF 7D */ bl func_801C82C8 -/* 801C9350 001C4FB0 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9354 001C4FB4 40 82 00 0C */ bne lbl_801C9360 -/* 801C9358 001C4FB8 CB E1 00 08 */ lfd f31, 8(r1) -/* 801C935C 001C4FBC DB E1 00 10 */ stfd f31, 0x10(r1) -lbl_801C9360: -/* 801C9360 001C4FC0 88 01 00 FC */ lbz r0, 0xfc(r1) -/* 801C9364 001C4FC4 7C 00 07 75 */ extsb. r0, r0 -/* 801C9368 001C4FC8 41 82 00 0C */ beq lbl_801C9374 -/* 801C936C 001C4FCC FF E0 F8 50 */ fneg f31, f31 -/* 801C9370 001C4FD0 DB E1 00 10 */ stfd f31, 0x10(r1) -lbl_801C9374: -/* 801C9374 001C4FD4 FC 20 F8 90 */ fmr f1, f31 -lbl_801C9378: -/* 801C9378 001C4FD8 E3 E1 01 78 */ psq_l f31, 376(r1), 0, qr0 -/* 801C937C 001C4FDC 39 61 01 70 */ addi r11, r1, 0x170 -/* 801C9380 001C4FE0 CB E1 01 70 */ lfd f31, 0x170(r1) -/* 801C9384 001C4FE4 4B FF DD D1 */ bl func_801C7154 -/* 801C9388 001C4FE8 80 01 01 84 */ lwz r0, 0x184(r1) -/* 801C938C 001C4FEC 7C 08 03 A6 */ mtlr r0 -/* 801C9390 001C4FF0 38 21 01 80 */ addi r1, r1, 0x180 -/* 801C9394 001C4FF4 4E 80 00 20 */ blr - -.global abs -abs: -/* 801C9398 001C4FF8 7C 64 FE 70 */ srawi r4, r3, 0x1f -/* 801C939C 001C4FFC 7C 80 1A 78 */ xor r0, r4, r3 -/* 801C93A0 001C5000 7C 64 00 50 */ subf r3, r4, r0 -/* 801C93A4 001C5004 4E 80 00 20 */ blr - -.global func_801C93A8 -func_801C93A8: -/* 801C93A8 001C5008 80 83 00 18 */ lwz r4, 0x18(r3) -/* 801C93AC 001C500C 80 03 00 2C */ lwz r0, 0x2c(r3) -/* 801C93B0 001C5010 80 C3 00 1C */ lwz r6, 0x1c(r3) -/* 801C93B4 001C5014 80 A3 00 20 */ lwz r5, 0x20(r3) -/* 801C93B8 001C5018 7C 80 00 38 */ and r0, r4, r0 -/* 801C93BC 001C501C 90 C3 00 24 */ stw r6, 0x24(r3) -/* 801C93C0 001C5020 7C 00 28 50 */ subf r0, r0, r5 -/* 801C93C4 001C5024 90 03 00 28 */ stw r0, 0x28(r3) -/* 801C93C8 001C5028 90 83 00 34 */ stw r4, 0x34(r3) -/* 801C93CC 001C502C 4E 80 00 20 */ blr - -.global func_801C93D0 -func_801C93D0: -/* 801C93D0 001C5030 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801C93D4 001C5034 7C 08 02 A6 */ mflr r0 -/* 801C93D8 001C5038 2C 05 00 01 */ cmpwi r5, 1 -/* 801C93DC 001C503C 90 01 00 14 */ stw r0, 0x14(r1) -/* 801C93E0 001C5040 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801C93E4 001C5044 7C 7F 1B 78 */ mr r31, r3 -/* 801C93E8 001C5048 93 C1 00 08 */ stw r30, 8(r1) -/* 801C93EC 001C504C 7C 9E 23 78 */ mr r30, r4 -/* 801C93F0 001C5050 80 C3 00 18 */ lwz r6, 0x18(r3) -/* 801C93F4 001C5054 80 03 00 2C */ lwz r0, 0x2c(r3) -/* 801C93F8 001C5058 80 A3 00 1C */ lwz r5, 0x1c(r3) -/* 801C93FC 001C505C 80 83 00 20 */ lwz r4, 0x20(r3) -/* 801C9400 001C5060 7C C0 00 38 */ and r0, r6, r0 -/* 801C9404 001C5064 90 A3 00 24 */ stw r5, 0x24(r3) -/* 801C9408 001C5068 7C 00 20 50 */ subf r0, r0, r4 -/* 801C940C 001C506C 90 03 00 28 */ stw r0, 0x28(r3) -/* 801C9410 001C5070 90 C3 00 34 */ stw r6, 0x34(r3) -/* 801C9414 001C5074 40 82 00 08 */ bne lbl_801C941C -/* 801C9418 001C5078 90 83 00 28 */ stw r4, 0x28(r3) -lbl_801C941C: -/* 801C941C 001C507C 81 9F 00 3C */ lwz r12, 0x3c(r31) -/* 801C9420 001C5080 38 BF 00 28 */ addi r5, r31, 0x28 -/* 801C9424 001C5084 80 63 00 00 */ lwz r3, 0(r3) -/* 801C9428 001C5088 80 9F 00 1C */ lwz r4, 0x1c(r31) -/* 801C942C 001C508C 80 DF 00 48 */ lwz r6, 0x48(r31) -/* 801C9430 001C5090 7D 89 03 A6 */ mtctr r12 -/* 801C9434 001C5094 4E 80 04 21 */ bctrl -/* 801C9438 001C5098 2C 03 00 02 */ cmpwi r3, 2 -/* 801C943C 001C509C 40 82 00 0C */ bne lbl_801C9448 -/* 801C9440 001C50A0 38 00 00 00 */ li r0, 0 -/* 801C9444 001C50A4 90 1F 00 28 */ stw r0, 0x28(r31) -lbl_801C9448: -/* 801C9448 001C50A8 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C944C 001C50AC 41 82 00 0C */ beq lbl_801C9458 -/* 801C9450 001C50B0 80 1F 00 28 */ lwz r0, 0x28(r31) -/* 801C9454 001C50B4 90 1E 00 00 */ stw r0, 0(r30) -lbl_801C9458: -/* 801C9458 001C50B8 2C 03 00 00 */ cmpwi r3, 0 -/* 801C945C 001C50BC 41 82 00 08 */ beq lbl_801C9464 -/* 801C9460 001C50C0 48 00 00 54 */ b lbl_801C94B4 -lbl_801C9464: -/* 801C9464 001C50C4 80 1F 00 04 */ lwz r0, 4(r31) -/* 801C9468 001C50C8 80 9F 00 18 */ lwz r4, 0x18(r31) -/* 801C946C 001C50CC 80 7F 00 28 */ lwz r3, 0x28(r31) -/* 801C9470 001C50D0 54 00 6F FF */ rlwinm. r0, r0, 0xd, 0x1f, 0x1f -/* 801C9474 001C50D4 7C 04 1A 14 */ add r0, r4, r3 -/* 801C9478 001C50D8 90 1F 00 18 */ stw r0, 0x18(r31) -/* 801C947C 001C50DC 40 82 00 34 */ bne lbl_801C94B0 -/* 801C9480 001C50E0 80 9F 00 1C */ lwz r4, 0x1c(r31) -/* 801C9484 001C50E4 7C 69 03 A6 */ mtctr r3 -/* 801C9488 001C50E8 2C 03 00 00 */ cmpwi r3, 0 -/* 801C948C 001C50EC 41 82 00 24 */ beq lbl_801C94B0 -lbl_801C9490: -/* 801C9490 001C50F0 88 04 00 00 */ lbz r0, 0(r4) -/* 801C9494 001C50F4 38 84 00 01 */ addi r4, r4, 1 -/* 801C9498 001C50F8 28 00 00 0A */ cmplwi r0, 0xa -/* 801C949C 001C50FC 40 82 00 10 */ bne lbl_801C94AC -/* 801C94A0 001C5100 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 801C94A4 001C5104 38 03 00 01 */ addi r0, r3, 1 -/* 801C94A8 001C5108 90 1F 00 18 */ stw r0, 0x18(r31) -lbl_801C94AC: -/* 801C94AC 001C510C 42 00 FF E4 */ bdnz lbl_801C9490 -lbl_801C94B0: -/* 801C94B0 001C5110 38 60 00 00 */ li r3, 0 -lbl_801C94B4: -/* 801C94B4 001C5114 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801C94B8 001C5118 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801C94BC 001C511C 83 C1 00 08 */ lwz r30, 8(r1) -/* 801C94C0 001C5120 7C 08 03 A6 */ mtlr r0 -/* 801C94C4 001C5124 38 21 00 10 */ addi r1, r1, 0x10 -/* 801C94C8 001C5128 4E 80 00 20 */ blr - -.global func_801C94CC -func_801C94CC: -/* 801C94CC 001C512C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801C94D0 001C5130 7C 08 02 A6 */ mflr r0 -/* 801C94D4 001C5134 90 01 00 14 */ stw r0, 0x14(r1) -/* 801C94D8 001C5138 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801C94DC 001C513C 7C 9F 23 78 */ mr r31, r4 -/* 801C94E0 001C5140 93 C1 00 08 */ stw r30, 8(r1) -/* 801C94E4 001C5144 7C 7E 1B 78 */ mr r30, r3 -/* 801C94E8 001C5148 80 A3 00 1C */ lwz r5, 0x1c(r3) -/* 801C94EC 001C514C 80 03 00 24 */ lwz r0, 0x24(r3) -/* 801C94F0 001C5150 7C 05 00 51 */ subf. r0, r5, r0 -/* 801C94F4 001C5154 41 82 00 50 */ beq lbl_801C9544 -/* 801C94F8 001C5158 81 9E 00 40 */ lwz r12, 0x40(r30) -/* 801C94FC 001C515C 7C A4 2B 78 */ mr r4, r5 -/* 801C9500 001C5160 90 03 00 28 */ stw r0, 0x28(r3) -/* 801C9504 001C5164 38 BE 00 28 */ addi r5, r30, 0x28 -/* 801C9508 001C5168 80 63 00 00 */ lwz r3, 0(r3) -/* 801C950C 001C516C 80 DE 00 48 */ lwz r6, 0x48(r30) -/* 801C9510 001C5170 7D 89 03 A6 */ mtctr r12 -/* 801C9514 001C5174 4E 80 04 21 */ bctrl -/* 801C9518 001C5178 2C 1F 00 00 */ cmpwi r31, 0 -/* 801C951C 001C517C 41 82 00 0C */ beq lbl_801C9528 -/* 801C9520 001C5180 80 1E 00 28 */ lwz r0, 0x28(r30) -/* 801C9524 001C5184 90 1F 00 00 */ stw r0, 0(r31) -lbl_801C9528: -/* 801C9528 001C5188 2C 03 00 00 */ cmpwi r3, 0 -/* 801C952C 001C518C 41 82 00 08 */ beq lbl_801C9534 -/* 801C9530 001C5190 48 00 00 3C */ b lbl_801C956C -lbl_801C9534: -/* 801C9534 001C5194 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 801C9538 001C5198 80 1E 00 28 */ lwz r0, 0x28(r30) -/* 801C953C 001C519C 7C 03 02 14 */ add r0, r3, r0 -/* 801C9540 001C51A0 90 1E 00 18 */ stw r0, 0x18(r30) -lbl_801C9544: -/* 801C9544 001C51A4 80 9E 00 18 */ lwz r4, 0x18(r30) -/* 801C9548 001C51A8 38 60 00 00 */ li r3, 0 -/* 801C954C 001C51AC 80 1E 00 2C */ lwz r0, 0x2c(r30) -/* 801C9550 001C51B0 80 DE 00 1C */ lwz r6, 0x1c(r30) -/* 801C9554 001C51B4 80 BE 00 20 */ lwz r5, 0x20(r30) -/* 801C9558 001C51B8 7C 80 00 38 */ and r0, r4, r0 -/* 801C955C 001C51BC 90 DE 00 24 */ stw r6, 0x24(r30) -/* 801C9560 001C51C0 7C 00 28 50 */ subf r0, r0, r5 -/* 801C9564 001C51C4 90 1E 00 28 */ stw r0, 0x28(r30) -/* 801C9568 001C51C8 90 9E 00 34 */ stw r4, 0x34(r30) -lbl_801C956C: -/* 801C956C 001C51CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801C9570 001C51D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801C9574 001C51D4 83 C1 00 08 */ lwz r30, 8(r1) -/* 801C9578 001C51D8 7C 08 03 A6 */ mtlr r0 -/* 801C957C 001C51DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801C9580 001C51E0 4E 80 00 20 */ blr - -.global func_801C9584 -func_801C9584: -/* 801C9584 001C51E4 48 00 00 04 */ b lbl_801C9588 -lbl_801C9588: -/* 801C9588 001C51E8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801C958C 001C51EC 7C 08 02 A6 */ mflr r0 -/* 801C9590 001C51F0 90 01 00 34 */ stw r0, 0x34(r1) -/* 801C9594 001C51F4 BF 21 00 14 */ stmw r25, 0x14(r1) -/* 801C9598 001C51F8 7C 9B 23 78 */ mr r27, r4 -/* 801C959C 001C51FC 7C DC 33 78 */ mr r28, r6 -/* 801C95A0 001C5200 7C 7A 1B 78 */ mr r26, r3 -/* 801C95A4 001C5204 7C B9 2B 78 */ mr r25, r5 -/* 801C95A8 001C5208 38 80 00 00 */ li r4, 0 -/* 801C95AC 001C520C 7F 83 E3 78 */ mr r3, r28 -/* 801C95B0 001C5210 48 00 72 B5 */ bl func_801D0864 -/* 801C95B4 001C5214 2C 03 00 00 */ cmpwi r3, 0 -/* 801C95B8 001C5218 40 82 00 10 */ bne lbl_801C95C8 -/* 801C95BC 001C521C 7F 83 E3 78 */ mr r3, r28 -/* 801C95C0 001C5220 38 80 FF FF */ li r4, -1 -/* 801C95C4 001C5224 48 00 72 A1 */ bl func_801D0864 -lbl_801C95C8: -/* 801C95C8 001C5228 7F DB C9 D7 */ mullw. r30, r27, r25 -/* 801C95CC 001C522C 41 82 00 1C */ beq lbl_801C95E8 -/* 801C95D0 001C5230 88 1C 00 0A */ lbz r0, 0xa(r28) -/* 801C95D4 001C5234 2C 00 00 00 */ cmpwi r0, 0 -/* 801C95D8 001C5238 40 82 00 10 */ bne lbl_801C95E8 -/* 801C95DC 001C523C 80 7C 00 04 */ lwz r3, 4(r28) -/* 801C95E0 001C5240 54 60 57 7F */ rlwinm. r0, r3, 0xa, 0x1d, 0x1f -/* 801C95E4 001C5244 40 82 00 0C */ bne lbl_801C95F0 -lbl_801C95E8: -/* 801C95E8 001C5248 38 60 00 00 */ li r3, 0 -/* 801C95EC 001C524C 48 00 02 C8 */ b lbl_801C98B4 -lbl_801C95F0: -/* 801C95F0 001C5250 54 60 6F FF */ rlwinm. r0, r3, 0xd, 0x1f, 0x1f -/* 801C95F4 001C5254 3B E0 00 01 */ li r31, 1 -/* 801C95F8 001C5258 41 82 00 14 */ beq lbl_801C960C -/* 801C95FC 001C525C 54 60 3F BE */ rlwinm r0, r3, 7, 0x1e, 0x1f -/* 801C9600 001C5260 28 00 00 02 */ cmplwi r0, 2 -/* 801C9604 001C5264 41 82 00 08 */ beq lbl_801C960C -/* 801C9608 001C5268 3B E0 00 00 */ li r31, 0 -lbl_801C960C: -/* 801C960C 001C526C 80 7C 00 08 */ lwz r3, 8(r28) -/* 801C9610 001C5270 54 60 1F 7F */ rlwinm. r0, r3, 3, 0x1d, 0x1f -/* 801C9614 001C5274 40 82 00 24 */ bne lbl_801C9638 -/* 801C9618 001C5278 80 1C 00 04 */ lwz r0, 4(r28) -/* 801C961C 001C527C 54 00 2F FF */ rlwinm. r0, r0, 5, 0x1f, 0x1f -/* 801C9620 001C5280 41 82 00 18 */ beq lbl_801C9638 -/* 801C9624 001C5284 38 00 00 02 */ li r0, 2 -/* 801C9628 001C5288 50 03 E8 04 */ rlwimi r3, r0, 0x1d, 0, 2 -/* 801C962C 001C528C 38 00 00 00 */ li r0, 0 -/* 801C9630 001C5290 90 7C 00 08 */ stw r3, 8(r28) -/* 801C9634 001C5294 90 1C 00 28 */ stw r0, 0x28(r28) -lbl_801C9638: -/* 801C9638 001C5298 80 1C 00 08 */ lwz r0, 8(r28) -/* 801C963C 001C529C 54 00 1F 7E */ srwi r0, r0, 0x1d -/* 801C9640 001C52A0 28 00 00 02 */ cmplwi r0, 2 -/* 801C9644 001C52A4 40 80 00 1C */ bge lbl_801C9660 -/* 801C9648 001C52A8 38 60 00 01 */ li r3, 1 -/* 801C964C 001C52AC 38 00 00 00 */ li r0, 0 -/* 801C9650 001C52B0 98 7C 00 0A */ stb r3, 0xa(r28) -/* 801C9654 001C52B4 38 60 00 00 */ li r3, 0 -/* 801C9658 001C52B8 90 1C 00 28 */ stw r0, 0x28(r28) -/* 801C965C 001C52BC 48 00 02 58 */ b lbl_801C98B4 -lbl_801C9660: -/* 801C9660 001C52C0 80 1C 00 04 */ lwz r0, 4(r28) -/* 801C9664 001C52C4 54 00 3F FF */ rlwinm. r0, r0, 7, 0x1f, 0x1f -/* 801C9668 001C52C8 41 82 00 28 */ beq lbl_801C9690 -/* 801C966C 001C52CC 4B FF E2 CD */ bl func_801C7938 -/* 801C9670 001C52D0 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9674 001C52D4 41 82 00 1C */ beq lbl_801C9690 -/* 801C9678 001C52D8 38 60 00 01 */ li r3, 1 -/* 801C967C 001C52DC 38 00 00 00 */ li r0, 0 -/* 801C9680 001C52E0 98 7C 00 0A */ stb r3, 0xa(r28) -/* 801C9684 001C52E4 38 60 00 00 */ li r3, 0 -/* 801C9688 001C52E8 90 1C 00 28 */ stw r0, 0x28(r28) -/* 801C968C 001C52EC 48 00 02 28 */ b lbl_801C98B4 -lbl_801C9690: -/* 801C9690 001C52F0 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C9694 001C52F4 3B A0 00 00 */ li r29, 0 -/* 801C9698 001C52F8 41 82 00 AC */ beq lbl_801C9744 -/* 801C969C 001C52FC 80 1C 00 08 */ lwz r0, 8(r28) -/* 801C96A0 001C5300 54 00 1F 7E */ srwi r0, r0, 0x1d -/* 801C96A4 001C5304 28 00 00 03 */ cmplwi r0, 3 -/* 801C96A8 001C5308 41 80 00 9C */ blt lbl_801C9744 -lbl_801C96AC: -/* 801C96AC 001C530C 7F 83 E3 78 */ mr r3, r28 -/* 801C96B0 001C5310 38 80 00 00 */ li r4, 0 -/* 801C96B4 001C5314 48 00 71 B1 */ bl func_801D0864 -/* 801C96B8 001C5318 2C 03 00 01 */ cmpwi r3, 1 -/* 801C96BC 001C531C 40 82 00 28 */ bne lbl_801C96E4 -/* 801C96C0 001C5320 80 1C 00 08 */ lwz r0, 8(r28) -/* 801C96C4 001C5324 3B BD 00 02 */ addi r29, r29, 2 -/* 801C96C8 001C5328 3B DE FF FE */ addi r30, r30, -2 -/* 801C96CC 001C532C 54 00 27 3C */ rlwinm r0, r0, 4, 0x1c, 0x1e -/* 801C96D0 001C5330 7C 7C 02 14 */ add r3, r28, r0 -/* 801C96D4 001C5334 A0 03 00 0C */ lhz r0, 0xc(r3) -/* 801C96D8 001C5338 B0 1A 00 00 */ sth r0, 0(r26) -/* 801C96DC 001C533C 3B 5A 00 02 */ addi r26, r26, 2 -/* 801C96E0 001C5340 48 00 00 24 */ b lbl_801C9704 -lbl_801C96E4: -/* 801C96E4 001C5344 80 1C 00 08 */ lwz r0, 8(r28) -/* 801C96E8 001C5348 3B BD 00 01 */ addi r29, r29, 1 -/* 801C96EC 001C534C 3B DE FF FF */ addi r30, r30, -1 -/* 801C96F0 001C5350 54 00 1F 7E */ srwi r0, r0, 0x1d -/* 801C96F4 001C5354 7C 7C 02 14 */ add r3, r28, r0 -/* 801C96F8 001C5358 88 03 00 0C */ lbz r0, 0xc(r3) -/* 801C96FC 001C535C 98 1A 00 00 */ stb r0, 0(r26) -/* 801C9700 001C5360 3B 5A 00 01 */ addi r26, r26, 1 -lbl_801C9704: -/* 801C9704 001C5364 80 9C 00 08 */ lwz r4, 8(r28) -/* 801C9708 001C5368 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C970C 001C536C 54 83 1F 7E */ srwi r3, r4, 0x1d -/* 801C9710 001C5370 38 03 FF FF */ addi r0, r3, -1 -/* 801C9714 001C5374 50 04 E8 04 */ rlwimi r4, r0, 0x1d, 0, 2 -/* 801C9718 001C5378 90 9C 00 08 */ stw r4, 8(r28) -/* 801C971C 001C537C 41 82 00 10 */ beq lbl_801C972C -/* 801C9720 001C5380 54 80 1F 7E */ srwi r0, r4, 0x1d -/* 801C9724 001C5384 28 00 00 03 */ cmplwi r0, 3 -/* 801C9728 001C5388 40 80 FF 84 */ bge lbl_801C96AC -lbl_801C972C: -/* 801C972C 001C538C 80 1C 00 08 */ lwz r0, 8(r28) -/* 801C9730 001C5390 54 00 1F 7E */ srwi r0, r0, 0x1d -/* 801C9734 001C5394 28 00 00 02 */ cmplwi r0, 2 -/* 801C9738 001C5398 40 82 00 0C */ bne lbl_801C9744 -/* 801C973C 001C539C 80 1C 00 30 */ lwz r0, 0x30(r28) -/* 801C9740 001C53A0 90 1C 00 28 */ stw r0, 0x28(r28) -lbl_801C9744: -/* 801C9744 001C53A4 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C9748 001C53A8 41 82 00 D8 */ beq lbl_801C9820 -/* 801C974C 001C53AC 80 1C 00 28 */ lwz r0, 0x28(r28) -/* 801C9750 001C53B0 2C 00 00 00 */ cmpwi r0, 0 -/* 801C9754 001C53B4 40 82 00 0C */ bne lbl_801C9760 -/* 801C9758 001C53B8 2C 1F 00 00 */ cmpwi r31, 0 -/* 801C975C 001C53BC 41 82 00 C4 */ beq lbl_801C9820 -lbl_801C9760: -/* 801C9760 001C53C0 80 1C 00 28 */ lwz r0, 0x28(r28) -/* 801C9764 001C53C4 2C 00 00 00 */ cmpwi r0, 0 -/* 801C9768 001C53C8 40 82 00 5C */ bne lbl_801C97C4 -/* 801C976C 001C53CC 7F 83 E3 78 */ mr r3, r28 -/* 801C9770 001C53D0 38 80 00 00 */ li r4, 0 -/* 801C9774 001C53D4 38 A0 00 00 */ li r5, 0 -/* 801C9778 001C53D8 4B FF FC 59 */ bl func_801C93D0 -/* 801C977C 001C53DC 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9780 001C53E0 41 82 00 44 */ beq lbl_801C97C4 -/* 801C9784 001C53E4 2C 03 00 01 */ cmpwi r3, 1 -/* 801C9788 001C53E8 40 82 00 18 */ bne lbl_801C97A0 -/* 801C978C 001C53EC 38 60 00 01 */ li r3, 1 -/* 801C9790 001C53F0 38 00 00 00 */ li r0, 0 -/* 801C9794 001C53F4 98 7C 00 0A */ stb r3, 0xa(r28) -/* 801C9798 001C53F8 90 1C 00 28 */ stw r0, 0x28(r28) -/* 801C979C 001C53FC 48 00 00 20 */ b lbl_801C97BC -lbl_801C97A0: -/* 801C97A0 001C5400 80 7C 00 08 */ lwz r3, 8(r28) -/* 801C97A4 001C5404 38 80 00 00 */ li r4, 0 -/* 801C97A8 001C5408 38 00 00 01 */ li r0, 1 -/* 801C97AC 001C540C 90 9C 00 28 */ stw r4, 0x28(r28) -/* 801C97B0 001C5410 54 63 00 FE */ clrlwi r3, r3, 3 -/* 801C97B4 001C5414 90 7C 00 08 */ stw r3, 8(r28) -/* 801C97B8 001C5418 98 1C 00 09 */ stb r0, 9(r28) -lbl_801C97BC: -/* 801C97BC 001C541C 3B C0 00 00 */ li r30, 0 -/* 801C97C0 001C5420 48 00 00 60 */ b lbl_801C9820 -lbl_801C97C4: -/* 801C97C4 001C5424 80 BC 00 28 */ lwz r5, 0x28(r28) -/* 801C97C8 001C5428 7C 05 F0 40 */ cmplw r5, r30 -/* 801C97CC 001C542C 90 A1 00 08 */ stw r5, 8(r1) -/* 801C97D0 001C5430 40 81 00 0C */ ble lbl_801C97DC -/* 801C97D4 001C5434 7F C5 F3 78 */ mr r5, r30 -/* 801C97D8 001C5438 93 C1 00 08 */ stw r30, 8(r1) -lbl_801C97DC: -/* 801C97DC 001C543C 80 9C 00 24 */ lwz r4, 0x24(r28) -/* 801C97E0 001C5440 7F 43 D3 78 */ mr r3, r26 -/* 801C97E4 001C5444 4B E3 A8 1D */ bl memcpy -/* 801C97E8 001C5448 80 81 00 08 */ lwz r4, 8(r1) -/* 801C97EC 001C544C 80 7C 00 24 */ lwz r3, 0x24(r28) -/* 801C97F0 001C5450 80 1C 00 28 */ lwz r0, 0x28(r28) -/* 801C97F4 001C5454 7F C4 F0 51 */ subf. r30, r4, r30 -/* 801C97F8 001C5458 7C 63 22 14 */ add r3, r3, r4 -/* 801C97FC 001C545C 7F 5A 22 14 */ add r26, r26, r4 -/* 801C9800 001C5460 90 7C 00 24 */ stw r3, 0x24(r28) -/* 801C9804 001C5464 7F BD 22 14 */ add r29, r29, r4 -/* 801C9808 001C5468 80 61 00 08 */ lwz r3, 8(r1) -/* 801C980C 001C546C 7C 03 00 50 */ subf r0, r3, r0 -/* 801C9810 001C5470 90 1C 00 28 */ stw r0, 0x28(r28) -/* 801C9814 001C5474 41 82 00 0C */ beq lbl_801C9820 -/* 801C9818 001C5478 2C 1F 00 00 */ cmpwi r31, 0 -/* 801C981C 001C547C 40 82 FF 44 */ bne lbl_801C9760 -lbl_801C9820: -/* 801C9820 001C5480 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C9824 001C5484 41 82 00 8C */ beq lbl_801C98B0 -/* 801C9828 001C5488 2C 1F 00 00 */ cmpwi r31, 0 -/* 801C982C 001C548C 40 82 00 84 */ bne lbl_801C98B0 -/* 801C9830 001C5490 83 FC 00 1C */ lwz r31, 0x1c(r28) -/* 801C9834 001C5494 7F 83 E3 78 */ mr r3, r28 -/* 801C9838 001C5498 83 3C 00 20 */ lwz r25, 0x20(r28) -/* 801C983C 001C549C 38 81 00 08 */ addi r4, r1, 8 -/* 801C9840 001C54A0 93 5C 00 1C */ stw r26, 0x1c(r28) -/* 801C9844 001C54A4 38 A0 00 01 */ li r5, 1 -/* 801C9848 001C54A8 93 DC 00 20 */ stw r30, 0x20(r28) -/* 801C984C 001C54AC 4B FF FB 85 */ bl func_801C93D0 -/* 801C9850 001C54B0 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9854 001C54B4 41 82 00 3C */ beq lbl_801C9890 -/* 801C9858 001C54B8 2C 03 00 01 */ cmpwi r3, 1 -/* 801C985C 001C54BC 40 82 00 18 */ bne lbl_801C9874 -/* 801C9860 001C54C0 38 60 00 01 */ li r3, 1 -/* 801C9864 001C54C4 38 00 00 00 */ li r0, 0 -/* 801C9868 001C54C8 98 7C 00 0A */ stb r3, 0xa(r28) -/* 801C986C 001C54CC 90 1C 00 28 */ stw r0, 0x28(r28) -/* 801C9870 001C54D0 48 00 00 20 */ b lbl_801C9890 -lbl_801C9874: -/* 801C9874 001C54D4 80 7C 00 08 */ lwz r3, 8(r28) -/* 801C9878 001C54D8 38 80 00 00 */ li r4, 0 -/* 801C987C 001C54DC 38 00 00 01 */ li r0, 1 -/* 801C9880 001C54E0 90 9C 00 28 */ stw r4, 0x28(r28) -/* 801C9884 001C54E4 54 63 00 FE */ clrlwi r3, r3, 3 -/* 801C9888 001C54E8 90 7C 00 08 */ stw r3, 8(r28) -/* 801C988C 001C54EC 98 1C 00 09 */ stb r0, 9(r28) -lbl_801C9890: -/* 801C9890 001C54F0 80 01 00 08 */ lwz r0, 8(r1) -/* 801C9894 001C54F4 7F 83 E3 78 */ mr r3, r28 -/* 801C9898 001C54F8 93 FC 00 1C */ stw r31, 0x1c(r28) -/* 801C989C 001C54FC 7F BD 02 14 */ add r29, r29, r0 -/* 801C98A0 001C5500 93 3C 00 20 */ stw r25, 0x20(r28) -/* 801C98A4 001C5504 4B FF FB 05 */ bl func_801C93A8 -/* 801C98A8 001C5508 38 00 00 00 */ li r0, 0 -/* 801C98AC 001C550C 90 1C 00 28 */ stw r0, 0x28(r28) -lbl_801C98B0: -/* 801C98B0 001C5510 7C 7D DB 96 */ divwu r3, r29, r27 -lbl_801C98B4: -/* 801C98B4 001C5514 BB 21 00 14 */ lmw r25, 0x14(r1) -/* 801C98B8 001C5518 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801C98BC 001C551C 7C 08 03 A6 */ mtlr r0 -/* 801C98C0 001C5520 38 21 00 30 */ addi r1, r1, 0x30 -/* 801C98C4 001C5524 4E 80 00 20 */ blr - -.global func_801C98C8 -func_801C98C8: -/* 801C98C8 001C5528 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801C98CC 001C552C 7C 08 02 A6 */ mflr r0 -/* 801C98D0 001C5530 90 01 00 34 */ stw r0, 0x34(r1) -/* 801C98D4 001C5534 BF 21 00 14 */ stmw r25, 0x14(r1) -/* 801C98D8 001C5538 7C 9B 23 78 */ mr r27, r4 -/* 801C98DC 001C553C 7C DC 33 78 */ mr r28, r6 -/* 801C98E0 001C5540 7C 7A 1B 78 */ mr r26, r3 -/* 801C98E4 001C5544 7C B9 2B 78 */ mr r25, r5 -/* 801C98E8 001C5548 38 80 00 00 */ li r4, 0 -/* 801C98EC 001C554C 7F 83 E3 78 */ mr r3, r28 -/* 801C98F0 001C5550 48 00 6F 75 */ bl func_801D0864 -/* 801C98F4 001C5554 2C 03 00 00 */ cmpwi r3, 0 -/* 801C98F8 001C5558 40 82 00 10 */ bne lbl_801C9908 -/* 801C98FC 001C555C 7F 83 E3 78 */ mr r3, r28 -/* 801C9900 001C5560 38 80 FF FF */ li r4, -1 -/* 801C9904 001C5564 48 00 6F 61 */ bl func_801D0864 -lbl_801C9908: -/* 801C9908 001C5568 7F DB C9 D7 */ mullw. r30, r27, r25 -/* 801C990C 001C556C 41 82 00 1C */ beq lbl_801C9928 -/* 801C9910 001C5570 88 1C 00 0A */ lbz r0, 0xa(r28) -/* 801C9914 001C5574 2C 00 00 00 */ cmpwi r0, 0 -/* 801C9918 001C5578 40 82 00 10 */ bne lbl_801C9928 -/* 801C991C 001C557C 80 1C 00 04 */ lwz r0, 4(r28) -/* 801C9920 001C5580 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f -/* 801C9924 001C5584 40 82 00 0C */ bne lbl_801C9930 -lbl_801C9928: -/* 801C9928 001C5588 38 60 00 00 */ li r3, 0 -/* 801C992C 001C558C 48 00 02 90 */ b lbl_801C9BBC -lbl_801C9930: -/* 801C9930 001C5590 28 00 00 02 */ cmplwi r0, 2 -/* 801C9934 001C5594 40 82 00 08 */ bne lbl_801C993C -/* 801C9938 001C5598 48 00 0E 79 */ bl func_801CA7B0 -lbl_801C993C: -/* 801C993C 001C559C 80 7C 00 04 */ lwz r3, 4(r28) -/* 801C9940 001C55A0 3B E0 00 01 */ li r31, 1 -/* 801C9944 001C55A4 38 80 00 00 */ li r4, 0 -/* 801C9948 001C55A8 54 60 6F FF */ rlwinm. r0, r3, 0xd, 0x1f, 0x1f -/* 801C994C 001C55AC 41 82 00 10 */ beq lbl_801C995C -/* 801C9950 001C55B0 54 60 3F BE */ rlwinm r0, r3, 7, 0x1e, 0x1f -/* 801C9954 001C55B4 28 00 00 02 */ cmplwi r0, 2 -/* 801C9958 001C55B8 40 82 00 08 */ bne lbl_801C9960 -lbl_801C995C: -/* 801C995C 001C55BC 38 80 00 01 */ li r4, 1 -lbl_801C9960: -/* 801C9960 001C55C0 2C 04 00 00 */ cmpwi r4, 0 -/* 801C9964 001C55C4 40 82 00 18 */ bne lbl_801C997C -/* 801C9968 001C55C8 80 1C 00 04 */ lwz r0, 4(r28) -/* 801C996C 001C55CC 54 00 3F BE */ rlwinm r0, r0, 7, 0x1e, 0x1f -/* 801C9970 001C55D0 28 00 00 01 */ cmplwi r0, 1 -/* 801C9974 001C55D4 41 82 00 08 */ beq lbl_801C997C -/* 801C9978 001C55D8 3B E0 00 00 */ li r31, 0 -lbl_801C997C: -/* 801C997C 001C55DC 80 1C 00 08 */ lwz r0, 8(r28) -/* 801C9980 001C55E0 54 00 1F 7F */ rlwinm. r0, r0, 3, 0x1d, 0x1f -/* 801C9984 001C55E4 40 82 00 54 */ bne lbl_801C99D8 -/* 801C9988 001C55E8 80 7C 00 04 */ lwz r3, 4(r28) -/* 801C998C 001C55EC 54 60 2F BD */ rlwinm. r0, r3, 5, 0x1e, 0x1e -/* 801C9990 001C55F0 54 60 2F 7E */ rlwinm r0, r3, 5, 0x1d, 0x1f -/* 801C9994 001C55F4 41 82 00 44 */ beq lbl_801C99D8 -/* 801C9998 001C55F8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 801C999C 001C55FC 41 82 00 24 */ beq lbl_801C99C0 -/* 801C99A0 001C5600 7F 83 E3 78 */ mr r3, r28 -/* 801C99A4 001C5604 38 80 00 00 */ li r4, 0 -/* 801C99A8 001C5608 38 A0 00 02 */ li r5, 2 -/* 801C99AC 001C560C 48 00 05 81 */ bl func_801C9F2C -/* 801C99B0 001C5610 2C 03 00 00 */ cmpwi r3, 0 -/* 801C99B4 001C5614 41 82 00 0C */ beq lbl_801C99C0 -/* 801C99B8 001C5618 38 60 00 00 */ li r3, 0 -/* 801C99BC 001C561C 48 00 02 00 */ b lbl_801C9BBC -lbl_801C99C0: -/* 801C99C0 001C5620 80 1C 00 08 */ lwz r0, 8(r28) -/* 801C99C4 001C5624 38 60 00 01 */ li r3, 1 -/* 801C99C8 001C5628 50 60 E8 04 */ rlwimi r0, r3, 0x1d, 0, 2 -/* 801C99CC 001C562C 90 1C 00 08 */ stw r0, 8(r28) -/* 801C99D0 001C5630 7F 83 E3 78 */ mr r3, r28 -/* 801C99D4 001C5634 4B FF F9 D5 */ bl func_801C93A8 -lbl_801C99D8: -/* 801C99D8 001C5638 80 1C 00 08 */ lwz r0, 8(r28) -/* 801C99DC 001C563C 54 00 1F 7E */ srwi r0, r0, 0x1d -/* 801C99E0 001C5640 28 00 00 01 */ cmplwi r0, 1 -/* 801C99E4 001C5644 41 82 00 1C */ beq lbl_801C9A00 -/* 801C99E8 001C5648 38 60 00 01 */ li r3, 1 -/* 801C99EC 001C564C 38 00 00 00 */ li r0, 0 -/* 801C99F0 001C5650 98 7C 00 0A */ stb r3, 0xa(r28) -/* 801C99F4 001C5654 38 60 00 00 */ li r3, 0 -/* 801C99F8 001C5658 90 1C 00 28 */ stw r0, 0x28(r28) -/* 801C99FC 001C565C 48 00 01 C0 */ b lbl_801C9BBC -lbl_801C9A00: -/* 801C9A00 001C5660 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C9A04 001C5664 3B A0 00 00 */ li r29, 0 -/* 801C9A08 001C5668 41 82 01 28 */ beq lbl_801C9B30 -/* 801C9A0C 001C566C 80 7C 00 1C */ lwz r3, 0x1c(r28) -/* 801C9A10 001C5670 80 9C 00 24 */ lwz r4, 0x24(r28) -/* 801C9A14 001C5674 7C 04 18 40 */ cmplw r4, r3 -/* 801C9A18 001C5678 40 82 00 0C */ bne lbl_801C9A24 -/* 801C9A1C 001C567C 2C 1F 00 00 */ cmpwi r31, 0 -/* 801C9A20 001C5680 41 82 01 10 */ beq lbl_801C9B30 -lbl_801C9A24: -/* 801C9A24 001C5684 80 1C 00 20 */ lwz r0, 0x20(r28) -/* 801C9A28 001C5688 7C 63 20 50 */ subf r3, r3, r4 -/* 801C9A2C 001C568C 7C 03 00 50 */ subf r0, r3, r0 -/* 801C9A30 001C5690 90 1C 00 28 */ stw r0, 0x28(r28) -lbl_801C9A34: -/* 801C9A34 001C5694 80 BC 00 28 */ lwz r5, 0x28(r28) -/* 801C9A38 001C5698 3B 20 00 00 */ li r25, 0 -/* 801C9A3C 001C569C 7C 05 F0 40 */ cmplw r5, r30 -/* 801C9A40 001C56A0 90 A1 00 08 */ stw r5, 8(r1) -/* 801C9A44 001C56A4 40 81 00 0C */ ble lbl_801C9A50 -/* 801C9A48 001C56A8 7F C5 F3 78 */ mr r5, r30 -/* 801C9A4C 001C56AC 93 C1 00 08 */ stw r30, 8(r1) -lbl_801C9A50: -/* 801C9A50 001C56B0 80 1C 00 04 */ lwz r0, 4(r28) -/* 801C9A54 001C56B4 54 00 3F BE */ rlwinm r0, r0, 7, 0x1e, 0x1f -/* 801C9A58 001C56B8 28 00 00 01 */ cmplwi r0, 1 -/* 801C9A5C 001C56BC 40 82 00 30 */ bne lbl_801C9A8C -/* 801C9A60 001C56C0 2C 05 00 00 */ cmpwi r5, 0 -/* 801C9A64 001C56C4 41 82 00 28 */ beq lbl_801C9A8C -/* 801C9A68 001C56C8 7F 43 D3 78 */ mr r3, r26 -/* 801C9A6C 001C56CC 38 80 00 0A */ li r4, 0xa -/* 801C9A70 001C56D0 48 00 08 FD */ bl func_801CA36C -/* 801C9A74 001C56D4 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9A78 001C56D8 7C 79 1B 78 */ mr r25, r3 -/* 801C9A7C 001C56DC 41 82 00 10 */ beq lbl_801C9A8C -/* 801C9A80 001C56E0 38 03 00 01 */ addi r0, r3, 1 -/* 801C9A84 001C56E4 7C BA 00 50 */ subf r5, r26, r0 -/* 801C9A88 001C56E8 90 A1 00 08 */ stw r5, 8(r1) -lbl_801C9A8C: -/* 801C9A8C 001C56EC 80 A1 00 08 */ lwz r5, 8(r1) -/* 801C9A90 001C56F0 2C 05 00 00 */ cmpwi r5, 0 -/* 801C9A94 001C56F4 41 82 00 38 */ beq lbl_801C9ACC -/* 801C9A98 001C56F8 80 7C 00 24 */ lwz r3, 0x24(r28) -/* 801C9A9C 001C56FC 7F 44 D3 78 */ mr r4, r26 -/* 801C9AA0 001C5700 4B E3 A5 61 */ bl memcpy -/* 801C9AA4 001C5704 80 81 00 08 */ lwz r4, 8(r1) -/* 801C9AA8 001C5708 80 7C 00 24 */ lwz r3, 0x24(r28) -/* 801C9AAC 001C570C 80 1C 00 28 */ lwz r0, 0x28(r28) -/* 801C9AB0 001C5710 7F 5A 22 14 */ add r26, r26, r4 -/* 801C9AB4 001C5714 7C 63 22 14 */ add r3, r3, r4 -/* 801C9AB8 001C5718 7F C4 F0 50 */ subf r30, r4, r30 -/* 801C9ABC 001C571C 90 7C 00 24 */ stw r3, 0x24(r28) -/* 801C9AC0 001C5720 80 61 00 08 */ lwz r3, 8(r1) -/* 801C9AC4 001C5724 7C 03 00 50 */ subf r0, r3, r0 -/* 801C9AC8 001C5728 90 1C 00 28 */ stw r0, 0x28(r28) -lbl_801C9ACC: -/* 801C9ACC 001C572C 80 1C 00 28 */ lwz r0, 0x28(r28) -/* 801C9AD0 001C5730 2C 00 00 00 */ cmpwi r0, 0 -/* 801C9AD4 001C5734 41 82 00 18 */ beq lbl_801C9AEC -/* 801C9AD8 001C5738 2C 19 00 00 */ cmpwi r25, 0 -/* 801C9ADC 001C573C 40 82 00 10 */ bne lbl_801C9AEC -/* 801C9AE0 001C5740 80 1C 00 04 */ lwz r0, 4(r28) -/* 801C9AE4 001C5744 54 00 3F BF */ rlwinm. r0, r0, 7, 0x1e, 0x1f -/* 801C9AE8 001C5748 40 82 00 30 */ bne lbl_801C9B18 -lbl_801C9AEC: -/* 801C9AEC 001C574C 7F 83 E3 78 */ mr r3, r28 -/* 801C9AF0 001C5750 38 80 00 00 */ li r4, 0 -/* 801C9AF4 001C5754 4B FF F9 D9 */ bl func_801C94CC -/* 801C9AF8 001C5758 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9AFC 001C575C 41 82 00 1C */ beq lbl_801C9B18 -/* 801C9B00 001C5760 38 60 00 01 */ li r3, 1 -/* 801C9B04 001C5764 38 00 00 00 */ li r0, 0 -/* 801C9B08 001C5768 98 7C 00 0A */ stb r3, 0xa(r28) -/* 801C9B0C 001C576C 3B C0 00 00 */ li r30, 0 -/* 801C9B10 001C5770 90 1C 00 28 */ stw r0, 0x28(r28) -/* 801C9B14 001C5774 48 00 00 1C */ b lbl_801C9B30 -lbl_801C9B18: -/* 801C9B18 001C5778 80 01 00 08 */ lwz r0, 8(r1) -/* 801C9B1C 001C577C 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C9B20 001C5780 7F BD 02 14 */ add r29, r29, r0 -/* 801C9B24 001C5784 41 82 00 0C */ beq lbl_801C9B30 -/* 801C9B28 001C5788 2C 1F 00 00 */ cmpwi r31, 0 -/* 801C9B2C 001C578C 40 82 FF 08 */ bne lbl_801C9A34 -lbl_801C9B30: -/* 801C9B30 001C5790 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C9B34 001C5794 41 82 00 6C */ beq lbl_801C9BA0 -/* 801C9B38 001C5798 2C 1F 00 00 */ cmpwi r31, 0 -/* 801C9B3C 001C579C 40 82 00 64 */ bne lbl_801C9BA0 -/* 801C9B40 001C57A0 83 3C 00 1C */ lwz r25, 0x1c(r28) -/* 801C9B44 001C57A4 7C 1A F2 14 */ add r0, r26, r30 -/* 801C9B48 001C57A8 83 FC 00 20 */ lwz r31, 0x20(r28) -/* 801C9B4C 001C57AC 7F 83 E3 78 */ mr r3, r28 -/* 801C9B50 001C57B0 93 5C 00 1C */ stw r26, 0x1c(r28) -/* 801C9B54 001C57B4 38 81 00 08 */ addi r4, r1, 8 -/* 801C9B58 001C57B8 93 DC 00 20 */ stw r30, 0x20(r28) -/* 801C9B5C 001C57BC 90 1C 00 24 */ stw r0, 0x24(r28) -/* 801C9B60 001C57C0 4B FF F9 6D */ bl func_801C94CC -/* 801C9B64 001C57C4 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9B68 001C57C8 41 82 00 18 */ beq lbl_801C9B80 -/* 801C9B6C 001C57CC 38 60 00 01 */ li r3, 1 -/* 801C9B70 001C57D0 38 00 00 00 */ li r0, 0 -/* 801C9B74 001C57D4 98 7C 00 0A */ stb r3, 0xa(r28) -/* 801C9B78 001C57D8 90 1C 00 28 */ stw r0, 0x28(r28) -/* 801C9B7C 001C57DC 48 00 00 0C */ b lbl_801C9B88 -lbl_801C9B80: -/* 801C9B80 001C57E0 80 01 00 08 */ lwz r0, 8(r1) -/* 801C9B84 001C57E4 7F BD 02 14 */ add r29, r29, r0 -lbl_801C9B88: -/* 801C9B88 001C57E8 93 3C 00 1C */ stw r25, 0x1c(r28) -/* 801C9B8C 001C57EC 7F 83 E3 78 */ mr r3, r28 -/* 801C9B90 001C57F0 93 FC 00 20 */ stw r31, 0x20(r28) -/* 801C9B94 001C57F4 4B FF F8 15 */ bl func_801C93A8 -/* 801C9B98 001C57F8 38 00 00 00 */ li r0, 0 -/* 801C9B9C 001C57FC 90 1C 00 28 */ stw r0, 0x28(r28) -lbl_801C9BA0: -/* 801C9BA0 001C5800 80 1C 00 04 */ lwz r0, 4(r28) -/* 801C9BA4 001C5804 54 00 3F BE */ rlwinm r0, r0, 7, 0x1e, 0x1f -/* 801C9BA8 001C5808 28 00 00 02 */ cmplwi r0, 2 -/* 801C9BAC 001C580C 41 82 00 0C */ beq lbl_801C9BB8 -/* 801C9BB0 001C5810 38 00 00 00 */ li r0, 0 -/* 801C9BB4 001C5814 90 1C 00 28 */ stw r0, 0x28(r28) -lbl_801C9BB8: -/* 801C9BB8 001C5818 7C 7D DB 96 */ divwu r3, r29, r27 -lbl_801C9BBC: -/* 801C9BBC 001C581C BB 21 00 14 */ lmw r25, 0x14(r1) -/* 801C9BC0 001C5820 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801C9BC4 001C5824 7C 08 03 A6 */ mtlr r0 -/* 801C9BC8 001C5828 38 21 00 30 */ addi r1, r1, 0x30 -/* 801C9BCC 001C582C 4E 80 00 20 */ blr - -.global func_801C9BD0 -func_801C9BD0: -/* 801C9BD0 001C5830 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801C9BD4 001C5834 7C 08 02 A6 */ mflr r0 -/* 801C9BD8 001C5838 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9BDC 001C583C 90 01 00 24 */ stw r0, 0x24(r1) -/* 801C9BE0 001C5840 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801C9BE4 001C5844 93 C1 00 18 */ stw r30, 0x18(r1) -/* 801C9BE8 001C5848 93 A1 00 14 */ stw r29, 0x14(r1) -/* 801C9BEC 001C584C 7C 7D 1B 78 */ mr r29, r3 -/* 801C9BF0 001C5850 40 82 00 0C */ bne lbl_801C9BFC -/* 801C9BF4 001C5854 38 60 FF FF */ li r3, -1 -/* 801C9BF8 001C5858 48 00 00 78 */ b lbl_801C9C70 -lbl_801C9BFC: -/* 801C9BFC 001C585C 80 03 00 04 */ lwz r0, 4(r3) -/* 801C9C00 001C5860 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f -/* 801C9C04 001C5864 40 82 00 0C */ bne lbl_801C9C10 -/* 801C9C08 001C5868 38 60 00 00 */ li r3, 0 -/* 801C9C0C 001C586C 48 00 00 64 */ b lbl_801C9C70 -lbl_801C9C10: -/* 801C9C10 001C5870 48 00 00 7D */ bl func_801C9C8C -/* 801C9C14 001C5874 81 9D 00 44 */ lwz r12, 0x44(r29) -/* 801C9C18 001C5878 7C 7E 1B 78 */ mr r30, r3 -/* 801C9C1C 001C587C 80 7D 00 00 */ lwz r3, 0(r29) -/* 801C9C20 001C5880 7D 89 03 A6 */ mtctr r12 -/* 801C9C24 001C5884 4E 80 04 21 */ bctrl -/* 801C9C28 001C5888 80 1D 00 08 */ lwz r0, 8(r29) -/* 801C9C2C 001C588C 38 A0 00 00 */ li r5, 0 -/* 801C9C30 001C5890 80 9D 00 04 */ lwz r4, 4(r29) -/* 801C9C34 001C5894 7C 7F 1B 78 */ mr r31, r3 -/* 801C9C38 001C5898 54 00 27 FF */ rlwinm. r0, r0, 4, 0x1f, 0x1f -/* 801C9C3C 001C589C 90 BD 00 00 */ stw r5, 0(r29) -/* 801C9C40 001C58A0 54 84 02 8C */ rlwinm r4, r4, 0, 0xa, 6 -/* 801C9C44 001C58A4 90 9D 00 04 */ stw r4, 4(r29) -/* 801C9C48 001C58A8 41 82 00 0C */ beq lbl_801C9C54 -/* 801C9C4C 001C58AC 80 7D 00 1C */ lwz r3, 0x1c(r29) -/* 801C9C50 001C58B0 4B E4 0B 75 */ bl func_8000A7C4 -lbl_801C9C54: -/* 801C9C54 001C58B4 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C9C58 001C58B8 38 00 00 00 */ li r0, 0 -/* 801C9C5C 001C58BC 40 82 00 0C */ bne lbl_801C9C68 -/* 801C9C60 001C58C0 2C 1F 00 00 */ cmpwi r31, 0 -/* 801C9C64 001C58C4 41 82 00 08 */ beq lbl_801C9C6C -lbl_801C9C68: -/* 801C9C68 001C58C8 38 00 00 01 */ li r0, 1 -lbl_801C9C6C: -/* 801C9C6C 001C58CC 7C 60 00 D0 */ neg r3, r0 -lbl_801C9C70: -/* 801C9C70 001C58D0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801C9C74 001C58D4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801C9C78 001C58D8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 801C9C7C 001C58DC 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 801C9C80 001C58E0 7C 08 03 A6 */ mtlr r0 -/* 801C9C84 001C58E4 38 21 00 20 */ addi r1, r1, 0x20 -/* 801C9C88 001C58E8 4E 80 00 20 */ blr - -.global func_801C9C8C -func_801C9C8C: -/* 801C9C8C 001C58EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801C9C90 001C58F0 7C 08 02 A6 */ mflr r0 -/* 801C9C94 001C58F4 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9C98 001C58F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801C9C9C 001C58FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801C9CA0 001C5900 7C 7F 1B 78 */ mr r31, r3 -/* 801C9CA4 001C5904 93 C1 00 08 */ stw r30, 8(r1) -/* 801C9CA8 001C5908 40 82 00 0C */ bne lbl_801C9CB4 -/* 801C9CAC 001C590C 4B FF DD 11 */ bl func_801C79BC -/* 801C9CB0 001C5910 48 00 00 F8 */ b lbl_801C9DA8 -lbl_801C9CB4: -/* 801C9CB4 001C5914 88 03 00 0A */ lbz r0, 0xa(r3) -/* 801C9CB8 001C5918 2C 00 00 00 */ cmpwi r0, 0 -/* 801C9CBC 001C591C 40 82 00 10 */ bne lbl_801C9CCC -/* 801C9CC0 001C5920 80 83 00 04 */ lwz r4, 4(r3) -/* 801C9CC4 001C5924 54 80 57 7F */ rlwinm. r0, r4, 0xa, 0x1d, 0x1f -/* 801C9CC8 001C5928 40 82 00 0C */ bne lbl_801C9CD4 -lbl_801C9CCC: -/* 801C9CCC 001C592C 38 60 FF FF */ li r3, -1 -/* 801C9CD0 001C5930 48 00 00 D8 */ b lbl_801C9DA8 -lbl_801C9CD4: -/* 801C9CD4 001C5934 54 80 2F 7E */ rlwinm r0, r4, 5, 0x1d, 0x1f -/* 801C9CD8 001C5938 28 00 00 01 */ cmplwi r0, 1 -/* 801C9CDC 001C593C 40 82 00 0C */ bne lbl_801C9CE8 -/* 801C9CE0 001C5940 38 60 00 00 */ li r3, 0 -/* 801C9CE4 001C5944 48 00 00 C4 */ b lbl_801C9DA8 -lbl_801C9CE8: -/* 801C9CE8 001C5948 80 83 00 08 */ lwz r4, 8(r3) -/* 801C9CEC 001C594C 54 80 1F 7E */ srwi r0, r4, 0x1d -/* 801C9CF0 001C5950 28 00 00 03 */ cmplwi r0, 3 -/* 801C9CF4 001C5954 41 80 00 10 */ blt lbl_801C9D04 -/* 801C9CF8 001C5958 38 00 00 02 */ li r0, 2 -/* 801C9CFC 001C595C 50 04 E8 04 */ rlwimi r4, r0, 0x1d, 0, 2 -/* 801C9D00 001C5960 90 83 00 08 */ stw r4, 8(r3) -lbl_801C9D04: -/* 801C9D04 001C5964 80 03 00 08 */ lwz r0, 8(r3) -/* 801C9D08 001C5968 54 00 1F 7E */ srwi r0, r0, 0x1d -/* 801C9D0C 001C596C 28 00 00 02 */ cmplwi r0, 2 -/* 801C9D10 001C5970 40 82 00 0C */ bne lbl_801C9D1C -/* 801C9D14 001C5974 38 00 00 00 */ li r0, 0 -/* 801C9D18 001C5978 90 03 00 28 */ stw r0, 0x28(r3) -lbl_801C9D1C: -/* 801C9D1C 001C597C 80 83 00 08 */ lwz r4, 8(r3) -/* 801C9D20 001C5980 54 80 1F 7E */ srwi r0, r4, 0x1d -/* 801C9D24 001C5984 28 00 00 01 */ cmplwi r0, 1 -/* 801C9D28 001C5988 41 82 00 14 */ beq lbl_801C9D3C -/* 801C9D2C 001C598C 54 80 00 FE */ clrlwi r0, r4, 3 -/* 801C9D30 001C5990 90 03 00 08 */ stw r0, 8(r3) -/* 801C9D34 001C5994 38 60 00 00 */ li r3, 0 -/* 801C9D38 001C5998 48 00 00 70 */ b lbl_801C9DA8 -lbl_801C9D3C: -/* 801C9D3C 001C599C 80 03 00 04 */ lwz r0, 4(r3) -/* 801C9D40 001C59A0 54 00 57 7E */ rlwinm r0, r0, 0xa, 0x1d, 0x1f -/* 801C9D44 001C59A4 28 00 00 01 */ cmplwi r0, 1 -/* 801C9D48 001C59A8 41 82 00 0C */ beq lbl_801C9D54 -/* 801C9D4C 001C59AC 3B C0 00 00 */ li r30, 0 -/* 801C9D50 001C59B0 48 00 00 10 */ b lbl_801C9D60 -lbl_801C9D54: -/* 801C9D54 001C59B4 7F E3 FB 78 */ mr r3, r31 -/* 801C9D58 001C59B8 48 00 01 D1 */ bl func_801C9F28 -/* 801C9D5C 001C59BC 7C 7E 1B 78 */ mr r30, r3 -lbl_801C9D60: -/* 801C9D60 001C59C0 7F E3 FB 78 */ mr r3, r31 -/* 801C9D64 001C59C4 38 80 00 00 */ li r4, 0 -/* 801C9D68 001C59C8 4B FF F7 65 */ bl func_801C94CC -/* 801C9D6C 001C59CC 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9D70 001C59D0 41 82 00 1C */ beq lbl_801C9D8C -/* 801C9D74 001C59D4 38 60 00 01 */ li r3, 1 -/* 801C9D78 001C59D8 38 00 00 00 */ li r0, 0 -/* 801C9D7C 001C59DC 98 7F 00 0A */ stb r3, 0xa(r31) -/* 801C9D80 001C59E0 38 60 FF FF */ li r3, -1 -/* 801C9D84 001C59E4 90 1F 00 28 */ stw r0, 0x28(r31) -/* 801C9D88 001C59E8 48 00 00 20 */ b lbl_801C9DA8 -lbl_801C9D8C: -/* 801C9D8C 001C59EC 80 1F 00 08 */ lwz r0, 8(r31) -/* 801C9D90 001C59F0 38 80 00 00 */ li r4, 0 -/* 801C9D94 001C59F4 93 DF 00 18 */ stw r30, 0x18(r31) -/* 801C9D98 001C59F8 38 60 00 00 */ li r3, 0 -/* 801C9D9C 001C59FC 54 00 00 FE */ clrlwi r0, r0, 3 -/* 801C9DA0 001C5A00 90 1F 00 08 */ stw r0, 8(r31) -/* 801C9DA4 001C5A04 90 9F 00 28 */ stw r4, 0x28(r31) -lbl_801C9DA8: -/* 801C9DA8 001C5A08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801C9DAC 001C5A0C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801C9DB0 001C5A10 83 C1 00 08 */ lwz r30, 8(r1) -/* 801C9DB4 001C5A14 7C 08 03 A6 */ mtlr r0 -/* 801C9DB8 001C5A18 38 21 00 10 */ addi r1, r1, 0x10 -/* 801C9DBC 001C5A1C 4E 80 00 20 */ blr - -.global func_801C9DC0 -func_801C9DC0: -/* 801C9DC0 001C5A20 3C C0 80 42 */ lis r6, lbl_80422D48@ha -/* 801C9DC4 001C5A24 38 C6 2D 48 */ addi r6, r6, lbl_80422D48@l -/* 801C9DC8 001C5A28 80 C6 00 38 */ lwz r6, 0x38(r6) -/* 801C9DCC 001C5A2C 7C A9 03 A6 */ mtctr r5 -/* 801C9DD0 001C5A30 2C 05 00 00 */ cmpwi r5, 0 -/* 801C9DD4 001C5A34 40 81 00 A4 */ ble lbl_801C9E78 -lbl_801C9DD8: -/* 801C9DD8 001C5A38 88 A3 00 00 */ lbz r5, 0(r3) -/* 801C9DDC 001C5A3C 38 00 00 00 */ li r0, 0 -/* 801C9DE0 001C5A40 38 63 00 01 */ addi r3, r3, 1 -/* 801C9DE4 001C5A44 7C A7 07 75 */ extsb. r7, r5 -/* 801C9DE8 001C5A48 41 80 00 0C */ blt lbl_801C9DF4 -/* 801C9DEC 001C5A4C 2C 07 01 00 */ cmpwi r7, 0x100 -/* 801C9DF0 001C5A50 41 80 00 08 */ blt lbl_801C9DF8 -lbl_801C9DF4: -/* 801C9DF4 001C5A54 38 00 00 01 */ li r0, 1 -lbl_801C9DF8: -/* 801C9DF8 001C5A58 2C 00 00 00 */ cmpwi r0, 0 -/* 801C9DFC 001C5A5C 41 82 00 08 */ beq lbl_801C9E04 -/* 801C9E00 001C5A60 48 00 00 0C */ b lbl_801C9E0C -lbl_801C9E04: -/* 801C9E04 001C5A64 80 A6 00 10 */ lwz r5, 0x10(r6) -/* 801C9E08 001C5A68 7C E5 38 AE */ lbzx r7, r5, r7 -lbl_801C9E0C: -/* 801C9E0C 001C5A6C 88 A4 00 00 */ lbz r5, 0(r4) -/* 801C9E10 001C5A70 7C E8 07 74 */ extsb r8, r7 -/* 801C9E14 001C5A74 38 00 00 00 */ li r0, 0 -/* 801C9E18 001C5A78 38 84 00 01 */ addi r4, r4, 1 -/* 801C9E1C 001C5A7C 7C A7 07 75 */ extsb. r7, r5 -/* 801C9E20 001C5A80 41 80 00 0C */ blt lbl_801C9E2C -/* 801C9E24 001C5A84 2C 07 01 00 */ cmpwi r7, 0x100 -/* 801C9E28 001C5A88 41 80 00 08 */ blt lbl_801C9E30 -lbl_801C9E2C: -/* 801C9E2C 001C5A8C 38 00 00 01 */ li r0, 1 -lbl_801C9E30: -/* 801C9E30 001C5A90 2C 00 00 00 */ cmpwi r0, 0 -/* 801C9E34 001C5A94 41 82 00 08 */ beq lbl_801C9E3C -/* 801C9E38 001C5A98 48 00 00 0C */ b lbl_801C9E44 -lbl_801C9E3C: -/* 801C9E3C 001C5A9C 80 A6 00 10 */ lwz r5, 0x10(r6) -/* 801C9E40 001C5AA0 7C E5 38 AE */ lbzx r7, r5, r7 -lbl_801C9E44: -/* 801C9E44 001C5AA4 7C E0 07 74 */ extsb r0, r7 -/* 801C9E48 001C5AA8 7C 08 00 00 */ cmpw r8, r0 -/* 801C9E4C 001C5AAC 40 80 00 0C */ bge lbl_801C9E58 -/* 801C9E50 001C5AB0 38 60 FF FF */ li r3, -1 -/* 801C9E54 001C5AB4 4E 80 00 20 */ blr -lbl_801C9E58: -/* 801C9E58 001C5AB8 40 81 00 0C */ ble lbl_801C9E64 -/* 801C9E5C 001C5ABC 38 60 00 01 */ li r3, 1 -/* 801C9E60 001C5AC0 4E 80 00 20 */ blr -lbl_801C9E64: -/* 801C9E64 001C5AC4 2C 08 00 00 */ cmpwi r8, 0 -/* 801C9E68 001C5AC8 40 82 00 0C */ bne lbl_801C9E74 -/* 801C9E6C 001C5ACC 38 60 00 00 */ li r3, 0 -/* 801C9E70 001C5AD0 4E 80 00 20 */ blr -lbl_801C9E74: -/* 801C9E74 001C5AD4 42 00 FF 64 */ bdnz lbl_801C9DD8 -lbl_801C9E78: -/* 801C9E78 001C5AD8 38 60 00 00 */ li r3, 0 -/* 801C9E7C 001C5ADC 4E 80 00 20 */ blr - -.global func_801C9E80 -func_801C9E80: -/* 801C9E80 001C5AE0 80 03 00 04 */ lwz r0, 4(r3) -/* 801C9E84 001C5AE4 38 C0 00 00 */ li r6, 0 -/* 801C9E88 001C5AE8 54 04 57 7E */ rlwinm r4, r0, 0xa, 0x1d, 0x1f -/* 801C9E8C 001C5AEC 38 04 00 FF */ addi r0, r4, 0xff -/* 801C9E90 001C5AF0 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 801C9E94 001C5AF4 28 00 00 01 */ cmplwi r0, 1 -/* 801C9E98 001C5AF8 41 81 00 10 */ bgt lbl_801C9EA8 -/* 801C9E9C 001C5AFC 88 03 00 0A */ lbz r0, 0xa(r3) -/* 801C9EA0 001C5B00 2C 00 00 00 */ cmpwi r0, 0 -/* 801C9EA4 001C5B04 41 82 00 14 */ beq lbl_801C9EB8 -lbl_801C9EA8: -/* 801C9EA8 001C5B08 38 00 00 28 */ li r0, 0x28 -/* 801C9EAC 001C5B0C 38 60 FF FF */ li r3, -1 -/* 801C9EB0 001C5B10 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) -/* 801C9EB4 001C5B14 4E 80 00 20 */ blr -lbl_801C9EB8: -/* 801C9EB8 001C5B18 80 03 00 08 */ lwz r0, 8(r3) -/* 801C9EBC 001C5B1C 54 05 1F 7F */ rlwinm. r5, r0, 3, 0x1d, 0x1f -/* 801C9EC0 001C5B20 40 82 00 0C */ bne lbl_801C9ECC -/* 801C9EC4 001C5B24 80 63 00 18 */ lwz r3, 0x18(r3) -/* 801C9EC8 001C5B28 4E 80 00 20 */ blr -lbl_801C9ECC: -/* 801C9ECC 001C5B2C 81 03 00 1C */ lwz r8, 0x1c(r3) -/* 801C9ED0 001C5B30 28 05 00 03 */ cmplwi r5, 3 -/* 801C9ED4 001C5B34 80 83 00 24 */ lwz r4, 0x24(r3) -/* 801C9ED8 001C5B38 80 03 00 34 */ lwz r0, 0x34(r3) -/* 801C9EDC 001C5B3C 7C 88 20 50 */ subf r4, r8, r4 -/* 801C9EE0 001C5B40 7C E0 22 14 */ add r7, r0, r4 -/* 801C9EE4 001C5B44 41 80 00 0C */ blt lbl_801C9EF0 -/* 801C9EE8 001C5B48 38 C5 FF FE */ addi r6, r5, -2 -/* 801C9EEC 001C5B4C 7C E6 38 50 */ subf r7, r6, r7 -lbl_801C9EF0: -/* 801C9EF0 001C5B50 80 03 00 04 */ lwz r0, 4(r3) -/* 801C9EF4 001C5B54 54 00 6F FF */ rlwinm. r0, r0, 0xd, 0x1f, 0x1f -/* 801C9EF8 001C5B58 40 82 00 28 */ bne lbl_801C9F20 -/* 801C9EFC 001C5B5C 7C 06 20 51 */ subf. r0, r6, r4 -/* 801C9F00 001C5B60 7C 09 03 A6 */ mtctr r0 -/* 801C9F04 001C5B64 41 82 00 1C */ beq lbl_801C9F20 -lbl_801C9F08: -/* 801C9F08 001C5B68 88 08 00 00 */ lbz r0, 0(r8) -/* 801C9F0C 001C5B6C 39 08 00 01 */ addi r8, r8, 1 -/* 801C9F10 001C5B70 28 00 00 0A */ cmplwi r0, 0xa -/* 801C9F14 001C5B74 40 82 00 08 */ bne lbl_801C9F1C -/* 801C9F18 001C5B78 38 E7 00 01 */ addi r7, r7, 1 -lbl_801C9F1C: -/* 801C9F1C 001C5B7C 42 00 FF EC */ bdnz lbl_801C9F08 -lbl_801C9F20: -/* 801C9F20 001C5B80 7C E3 3B 78 */ mr r3, r7 -/* 801C9F24 001C5B84 4E 80 00 20 */ blr - -.global func_801C9F28 -func_801C9F28: -/* 801C9F28 001C5B88 4B FF FF 58 */ b func_801C9E80 - -.global func_801C9F2C -func_801C9F2C: -/* 801C9F2C 001C5B8C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801C9F30 001C5B90 7C 08 02 A6 */ mflr r0 -/* 801C9F34 001C5B94 90 01 00 24 */ stw r0, 0x24(r1) -/* 801C9F38 001C5B98 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801C9F3C 001C5B9C 7C BF 2B 78 */ mr r31, r5 -/* 801C9F40 001C5BA0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 801C9F44 001C5BA4 7C 7E 1B 78 */ mr r30, r3 -/* 801C9F48 001C5BA8 90 81 00 08 */ stw r4, 8(r1) -/* 801C9F4C 001C5BAC 80 03 00 04 */ lwz r0, 4(r3) -/* 801C9F50 001C5BB0 54 00 57 7E */ rlwinm r0, r0, 0xa, 0x1d, 0x1f -/* 801C9F54 001C5BB4 28 00 00 01 */ cmplwi r0, 1 -/* 801C9F58 001C5BB8 40 82 00 10 */ bne lbl_801C9F68 -/* 801C9F5C 001C5BBC 88 03 00 0A */ lbz r0, 0xa(r3) -/* 801C9F60 001C5BC0 2C 00 00 00 */ cmpwi r0, 0 -/* 801C9F64 001C5BC4 41 82 00 14 */ beq lbl_801C9F78 -lbl_801C9F68: -/* 801C9F68 001C5BC8 38 00 00 28 */ li r0, 0x28 -/* 801C9F6C 001C5BCC 38 60 FF FF */ li r3, -1 -/* 801C9F70 001C5BD0 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) -/* 801C9F74 001C5BD4 48 00 01 64 */ b lbl_801CA0D8 -lbl_801C9F78: -/* 801C9F78 001C5BD8 80 03 00 08 */ lwz r0, 8(r3) -/* 801C9F7C 001C5BDC 54 00 1F 7E */ srwi r0, r0, 0x1d -/* 801C9F80 001C5BE0 28 00 00 01 */ cmplwi r0, 1 -/* 801C9F84 001C5BE4 40 82 00 34 */ bne lbl_801C9FB8 -/* 801C9F88 001C5BE8 38 80 00 00 */ li r4, 0 -/* 801C9F8C 001C5BEC 4B FF F5 41 */ bl func_801C94CC -/* 801C9F90 001C5BF0 2C 03 00 00 */ cmpwi r3, 0 -/* 801C9F94 001C5BF4 41 82 00 24 */ beq lbl_801C9FB8 -/* 801C9F98 001C5BF8 38 00 00 01 */ li r0, 1 -/* 801C9F9C 001C5BFC 38 80 00 00 */ li r4, 0 -/* 801C9FA0 001C5C00 98 1E 00 0A */ stb r0, 0xa(r30) -/* 801C9FA4 001C5C04 38 00 00 28 */ li r0, 0x28 -/* 801C9FA8 001C5C08 38 60 FF FF */ li r3, -1 -/* 801C9FAC 001C5C0C 90 9E 00 28 */ stw r4, 0x28(r30) -/* 801C9FB0 001C5C10 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) -/* 801C9FB4 001C5C14 48 00 01 24 */ b lbl_801CA0D8 -lbl_801C9FB8: -/* 801C9FB8 001C5C18 2C 1F 00 01 */ cmpwi r31, 1 -/* 801C9FBC 001C5C1C 40 82 00 1C */ bne lbl_801C9FD8 -/* 801C9FC0 001C5C20 7F C3 F3 78 */ mr r3, r30 -/* 801C9FC4 001C5C24 3B E0 00 00 */ li r31, 0 -/* 801C9FC8 001C5C28 4B FF FE B9 */ bl func_801C9E80 -/* 801C9FCC 001C5C2C 80 01 00 08 */ lwz r0, 8(r1) -/* 801C9FD0 001C5C30 7C 00 1A 14 */ add r0, r0, r3 -/* 801C9FD4 001C5C34 90 01 00 08 */ stw r0, 8(r1) -lbl_801C9FD8: -/* 801C9FD8 001C5C38 2C 1F 00 02 */ cmpwi r31, 2 -/* 801C9FDC 001C5C3C 41 82 00 80 */ beq lbl_801CA05C -/* 801C9FE0 001C5C40 80 1E 00 04 */ lwz r0, 4(r30) -/* 801C9FE4 001C5C44 54 00 2F 7E */ rlwinm r0, r0, 5, 0x1d, 0x1f -/* 801C9FE8 001C5C48 28 00 00 03 */ cmplwi r0, 3 -/* 801C9FEC 001C5C4C 41 82 00 70 */ beq lbl_801CA05C -/* 801C9FF0 001C5C50 80 DE 00 08 */ lwz r6, 8(r30) -/* 801C9FF4 001C5C54 54 C3 1F 7E */ srwi r3, r6, 0x1d -/* 801C9FF8 001C5C58 38 03 FF FE */ addi r0, r3, -2 -/* 801C9FFC 001C5C5C 28 00 00 01 */ cmplwi r0, 1 -/* 801CA000 001C5C60 41 81 00 5C */ bgt lbl_801CA05C -/* 801CA004 001C5C64 80 61 00 08 */ lwz r3, 8(r1) -/* 801CA008 001C5C68 80 BE 00 18 */ lwz r5, 0x18(r30) -/* 801CA00C 001C5C6C 7C 03 28 40 */ cmplw r3, r5 -/* 801CA010 001C5C70 40 80 00 10 */ bge lbl_801CA020 -/* 801CA014 001C5C74 80 1E 00 34 */ lwz r0, 0x34(r30) -/* 801CA018 001C5C78 7C 03 00 40 */ cmplw r3, r0 -/* 801CA01C 001C5C7C 40 80 00 14 */ bge lbl_801CA030 -lbl_801CA020: -/* 801CA020 001C5C80 80 1E 00 08 */ lwz r0, 8(r30) -/* 801CA024 001C5C84 54 00 00 FE */ clrlwi r0, r0, 3 -/* 801CA028 001C5C88 90 1E 00 08 */ stw r0, 8(r30) -/* 801CA02C 001C5C8C 48 00 00 3C */ b lbl_801CA068 -lbl_801CA030: -/* 801CA030 001C5C90 80 9E 00 1C */ lwz r4, 0x1c(r30) -/* 801CA034 001C5C94 7C 60 18 50 */ subf r3, r0, r3 -/* 801CA038 001C5C98 38 00 00 02 */ li r0, 2 -/* 801CA03C 001C5C9C 7C 64 1A 14 */ add r3, r4, r3 -/* 801CA040 001C5CA0 90 7E 00 24 */ stw r3, 0x24(r30) -/* 801CA044 001C5CA4 50 06 E8 04 */ rlwimi r6, r0, 0x1d, 0, 2 -/* 801CA048 001C5CA8 80 01 00 08 */ lwz r0, 8(r1) -/* 801CA04C 001C5CAC 7C 00 28 50 */ subf r0, r0, r5 -/* 801CA050 001C5CB0 90 DE 00 08 */ stw r6, 8(r30) -/* 801CA054 001C5CB4 90 1E 00 28 */ stw r0, 0x28(r30) -/* 801CA058 001C5CB8 48 00 00 10 */ b lbl_801CA068 -lbl_801CA05C: -/* 801CA05C 001C5CBC 80 1E 00 08 */ lwz r0, 8(r30) -/* 801CA060 001C5CC0 54 00 00 FE */ clrlwi r0, r0, 3 -/* 801CA064 001C5CC4 90 1E 00 08 */ stw r0, 8(r30) -lbl_801CA068: -/* 801CA068 001C5CC8 80 1E 00 08 */ lwz r0, 8(r30) -/* 801CA06C 001C5CCC 54 00 1F 7F */ rlwinm. r0, r0, 3, 0x1d, 0x1f -/* 801CA070 001C5CD0 40 82 00 64 */ bne lbl_801CA0D4 -/* 801CA074 001C5CD4 81 9E 00 38 */ lwz r12, 0x38(r30) -/* 801CA078 001C5CD8 2C 0C 00 00 */ cmpwi r12, 0 -/* 801CA07C 001C5CDC 41 82 00 44 */ beq lbl_801CA0C0 -/* 801CA080 001C5CE0 7F E5 FB 78 */ mr r5, r31 -/* 801CA084 001C5CE4 38 81 00 08 */ addi r4, r1, 8 -/* 801CA088 001C5CE8 80 7E 00 00 */ lwz r3, 0(r30) -/* 801CA08C 001C5CEC 80 DE 00 48 */ lwz r6, 0x48(r30) -/* 801CA090 001C5CF0 7D 89 03 A6 */ mtctr r12 -/* 801CA094 001C5CF4 4E 80 04 21 */ bctrl -/* 801CA098 001C5CF8 2C 03 00 00 */ cmpwi r3, 0 -/* 801CA09C 001C5CFC 41 82 00 24 */ beq lbl_801CA0C0 -/* 801CA0A0 001C5D00 38 00 00 01 */ li r0, 1 -/* 801CA0A4 001C5D04 38 80 00 00 */ li r4, 0 -/* 801CA0A8 001C5D08 98 1E 00 0A */ stb r0, 0xa(r30) -/* 801CA0AC 001C5D0C 38 00 00 28 */ li r0, 0x28 -/* 801CA0B0 001C5D10 38 60 FF FF */ li r3, -1 -/* 801CA0B4 001C5D14 90 9E 00 28 */ stw r4, 0x28(r30) -/* 801CA0B8 001C5D18 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) -/* 801CA0BC 001C5D1C 48 00 00 1C */ b lbl_801CA0D8 -lbl_801CA0C0: -/* 801CA0C0 001C5D20 38 60 00 00 */ li r3, 0 -/* 801CA0C4 001C5D24 98 7E 00 09 */ stb r3, 9(r30) -/* 801CA0C8 001C5D28 80 01 00 08 */ lwz r0, 8(r1) -/* 801CA0CC 001C5D2C 90 1E 00 18 */ stw r0, 0x18(r30) -/* 801CA0D0 001C5D30 90 7E 00 28 */ stw r3, 0x28(r30) -lbl_801CA0D4: -/* 801CA0D4 001C5D34 38 60 00 00 */ li r3, 0 -lbl_801CA0D8: -/* 801CA0D8 001C5D38 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801CA0DC 001C5D3C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801CA0E0 001C5D40 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 801CA0E4 001C5D44 7C 08 03 A6 */ mtlr r0 -/* 801CA0E8 001C5D48 38 21 00 20 */ addi r1, r1, 0x20 -/* 801CA0EC 001C5D4C 4E 80 00 20 */ blr - -.global func_801CA0F0 -func_801CA0F0: -/* 801CA0F0 001C5D50 4B FF FE 3C */ b func_801C9F2C - -.global func_801CA0F4 -func_801CA0F4: -/* 801CA0F4 001C5D54 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801CA0F8 001C5D58 7C 08 02 A6 */ mflr r0 -/* 801CA0FC 001C5D5C 38 80 00 00 */ li r4, 0 -/* 801CA100 001C5D60 38 A0 00 00 */ li r5, 0 -/* 801CA104 001C5D64 90 01 00 14 */ stw r0, 0x14(r1) -/* 801CA108 001C5D68 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801CA10C 001C5D6C 3B E0 00 00 */ li r31, 0 -/* 801CA110 001C5D70 93 C1 00 08 */ stw r30, 8(r1) -/* 801CA114 001C5D74 7C 7E 1B 78 */ mr r30, r3 -/* 801CA118 001C5D78 9B E3 00 0A */ stb r31, 0xa(r3) -/* 801CA11C 001C5D7C 4B FF FE 11 */ bl func_801C9F2C -/* 801CA120 001C5D80 9B FE 00 0A */ stb r31, 0xa(r30) -/* 801CA124 001C5D84 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801CA128 001C5D88 83 C1 00 08 */ lwz r30, 8(r1) -/* 801CA12C 001C5D8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801CA130 001C5D90 7C 08 03 A6 */ mtlr r0 -/* 801CA134 001C5D94 38 21 00 10 */ addi r1, r1, 0x10 -/* 801CA138 001C5D98 4E 80 00 20 */ blr - -.global func_801CA13C -func_801CA13C: -/* 801CA13C 001C5D9C 3C C0 80 42 */ lis r6, lbl_80422D48@ha -/* 801CA140 001C5DA0 38 C6 2D 48 */ addi r6, r6, lbl_80422D48@l -/* 801CA144 001C5DA4 80 C6 00 38 */ lwz r6, 0x38(r6) -/* 801CA148 001C5DA8 81 86 00 20 */ lwz r12, 0x20(r6) -/* 801CA14C 001C5DAC 7D 89 03 A6 */ mtctr r12 -/* 801CA150 001C5DB0 4E 80 04 20 */ bctr -/* 801CA154 001C5DB4 2C 04 00 00 */ cmpwi r4, 0 -/* 801CA158 001C5DB8 40 82 00 0C */ bne lbl_801CA164 -/* 801CA15C 001C5DBC 38 60 00 00 */ li r3, 0 -/* 801CA160 001C5DC0 4E 80 00 20 */ blr -lbl_801CA164: -/* 801CA164 001C5DC4 2C 05 00 00 */ cmpwi r5, 0 -/* 801CA168 001C5DC8 40 82 00 0C */ bne lbl_801CA174 -/* 801CA16C 001C5DCC 38 60 FF FF */ li r3, -1 -/* 801CA170 001C5DD0 4E 80 00 20 */ blr -lbl_801CA174: -/* 801CA174 001C5DD4 2C 03 00 00 */ cmpwi r3, 0 -/* 801CA178 001C5DD8 41 82 00 0C */ beq lbl_801CA184 -/* 801CA17C 001C5DDC 88 04 00 00 */ lbz r0, 0(r4) -/* 801CA180 001C5DE0 B0 03 00 00 */ sth r0, 0(r3) -lbl_801CA184: -/* 801CA184 001C5DE4 88 04 00 00 */ lbz r0, 0(r4) -/* 801CA188 001C5DE8 7C 00 07 75 */ extsb. r0, r0 -/* 801CA18C 001C5DEC 40 82 00 0C */ bne lbl_801CA198 -/* 801CA190 001C5DF0 38 60 00 00 */ li r3, 0 -/* 801CA194 001C5DF4 4E 80 00 20 */ blr -lbl_801CA198: -/* 801CA198 001C5DF8 38 60 00 01 */ li r3, 1 -/* 801CA19C 001C5DFC 4E 80 00 20 */ blr -/* 801CA1A0 001C5E00 2C 03 00 00 */ cmpwi r3, 0 -/* 801CA1A4 001C5E04 40 82 00 0C */ bne lbl_801CA1B0 -/* 801CA1A8 001C5E08 38 60 00 00 */ li r3, 0 -/* 801CA1AC 001C5E0C 4E 80 00 20 */ blr -lbl_801CA1B0: -/* 801CA1B0 001C5E10 98 83 00 00 */ stb r4, 0(r3) -/* 801CA1B4 001C5E14 38 60 00 01 */ li r3, 1 -/* 801CA1B8 001C5E18 4E 80 00 20 */ blr - -.global func_801CA1BC -func_801CA1BC: -/* 801CA1BC 001C5E1C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801CA1C0 001C5E20 7C 08 02 A6 */ mflr r0 -/* 801CA1C4 001C5E24 2C 03 00 00 */ cmpwi r3, 0 -/* 801CA1C8 001C5E28 90 01 00 34 */ stw r0, 0x34(r1) -/* 801CA1CC 001C5E2C BF 41 00 18 */ stmw r26, 0x18(r1) -/* 801CA1D0 001C5E30 7C 7A 1B 78 */ mr r26, r3 -/* 801CA1D4 001C5E34 7C BB 2B 78 */ mr r27, r5 -/* 801CA1D8 001C5E38 3B A0 00 00 */ li r29, 0 -/* 801CA1DC 001C5E3C 41 82 00 0C */ beq lbl_801CA1E8 -/* 801CA1E0 001C5E40 2C 04 00 00 */ cmpwi r4, 0 -/* 801CA1E4 001C5E44 40 82 00 0C */ bne lbl_801CA1F0 -lbl_801CA1E8: -/* 801CA1E8 001C5E48 38 60 00 00 */ li r3, 0 -/* 801CA1EC 001C5E4C 48 00 00 74 */ b lbl_801CA260 -lbl_801CA1F0: -/* 801CA1F0 001C5E50 3F E0 80 42 */ lis r31, lbl_80422D48@ha -/* 801CA1F4 001C5E54 7C 9C 23 78 */ mr r28, r4 -/* 801CA1F8 001C5E58 3B FF 2D 48 */ addi r31, r31, lbl_80422D48@l -/* 801CA1FC 001C5E5C 48 00 00 58 */ b lbl_801CA254 -lbl_801CA200: -/* 801CA200 001C5E60 A0 9C 00 00 */ lhz r4, 0(r28) -/* 801CA204 001C5E64 2C 04 00 00 */ cmpwi r4, 0 -/* 801CA208 001C5E68 40 82 00 10 */ bne lbl_801CA218 -/* 801CA20C 001C5E6C 38 00 00 00 */ li r0, 0 -/* 801CA210 001C5E70 7C 1A E9 AE */ stbx r0, r26, r29 -/* 801CA214 001C5E74 48 00 00 48 */ b lbl_801CA25C -lbl_801CA218: -/* 801CA218 001C5E78 80 BF 00 38 */ lwz r5, 0x38(r31) -/* 801CA21C 001C5E7C 38 61 00 08 */ addi r3, r1, 8 -/* 801CA220 001C5E80 81 85 00 24 */ lwz r12, 0x24(r5) -/* 801CA224 001C5E84 7D 89 03 A6 */ mtctr r12 -/* 801CA228 001C5E88 3B 9C 00 02 */ addi r28, r28, 2 -/* 801CA22C 001C5E8C 4E 80 04 21 */ bctrl -/* 801CA230 001C5E90 7C 1D 1A 14 */ add r0, r29, r3 -/* 801CA234 001C5E94 7C 7E 1B 78 */ mr r30, r3 -/* 801CA238 001C5E98 7C 00 D8 40 */ cmplw r0, r27 -/* 801CA23C 001C5E9C 41 81 00 20 */ bgt lbl_801CA25C -/* 801CA240 001C5EA0 7F C5 F3 78 */ mr r5, r30 -/* 801CA244 001C5EA4 7C 7A EA 14 */ add r3, r26, r29 -/* 801CA248 001C5EA8 38 81 00 08 */ addi r4, r1, 8 -/* 801CA24C 001C5EAC 48 00 41 45 */ bl func_801CE390 -/* 801CA250 001C5EB0 7F BD F2 14 */ add r29, r29, r30 -lbl_801CA254: -/* 801CA254 001C5EB4 7C 1D D8 40 */ cmplw r29, r27 -/* 801CA258 001C5EB8 40 81 FF A8 */ ble lbl_801CA200 -lbl_801CA25C: -/* 801CA25C 001C5EBC 7F A3 EB 78 */ mr r3, r29 -lbl_801CA260: -/* 801CA260 001C5EC0 BB 41 00 18 */ lmw r26, 0x18(r1) -/* 801CA264 001C5EC4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801CA268 001C5EC8 7C 08 03 A6 */ mtlr r0 -/* 801CA26C 001C5ECC 38 21 00 30 */ addi r1, r1, 0x30 -/* 801CA270 001C5ED0 4E 80 00 20 */ blr - -.global memmove -memmove: -/* 801CA274 001C5ED4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801CA278 001C5ED8 7C 08 02 A6 */ mflr r0 -/* 801CA27C 001C5EDC 7C 66 22 78 */ xor r6, r3, r4 -/* 801CA280 001C5EE0 28 05 00 20 */ cmplwi r5, 0x20 -/* 801CA284 001C5EE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801CA288 001C5EE8 7C C0 00 34 */ cntlzw r0, r6 -/* 801CA28C 001C5EEC 7C 60 00 30 */ slw r0, r3, r0 -/* 801CA290 001C5EF0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801CA294 001C5EF4 7C 7F 1B 78 */ mr r31, r3 -/* 801CA298 001C5EF8 54 07 0F FE */ srwi r7, r0, 0x1f -/* 801CA29C 001C5EFC 41 80 00 40 */ blt lbl_801CA2DC -/* 801CA2A0 001C5F00 54 C0 07 BF */ clrlwi. r0, r6, 0x1e -/* 801CA2A4 001C5F04 41 82 00 1C */ beq lbl_801CA2C0 -/* 801CA2A8 001C5F08 2C 07 00 00 */ cmpwi r7, 0 -/* 801CA2AC 001C5F0C 40 82 00 0C */ bne lbl_801CA2B8 -/* 801CA2B0 001C5F10 48 00 02 99 */ bl __copy_longs_unaligned -/* 801CA2B4 001C5F14 48 00 00 20 */ b lbl_801CA2D4 -lbl_801CA2B8: -/* 801CA2B8 001C5F18 48 00 03 51 */ bl __copy_longs_rev_unaligned -/* 801CA2BC 001C5F1C 48 00 00 18 */ b lbl_801CA2D4 -lbl_801CA2C0: -/* 801CA2C0 001C5F20 2C 07 00 00 */ cmpwi r7, 0 -/* 801CA2C4 001C5F24 40 82 00 0C */ bne lbl_801CA2D0 -/* 801CA2C8 001C5F28 48 00 01 1D */ bl __copy_longs_aligned -/* 801CA2CC 001C5F2C 48 00 00 08 */ b lbl_801CA2D4 -lbl_801CA2D0: -/* 801CA2D0 001C5F30 48 00 01 D1 */ bl __copy_longs_rev_aligned -lbl_801CA2D4: -/* 801CA2D4 001C5F34 7F E3 FB 78 */ mr r3, r31 -/* 801CA2D8 001C5F38 48 00 00 54 */ b lbl_801CA32C -lbl_801CA2DC: -/* 801CA2DC 001C5F3C 2C 07 00 00 */ cmpwi r7, 0 -/* 801CA2E0 001C5F40 40 82 00 28 */ bne lbl_801CA308 -/* 801CA2E4 001C5F44 38 84 FF FF */ addi r4, r4, -1 -/* 801CA2E8 001C5F48 38 63 FF FF */ addi r3, r3, -1 -/* 801CA2EC 001C5F4C 38 A5 00 01 */ addi r5, r5, 1 -/* 801CA2F0 001C5F50 48 00 00 0C */ b lbl_801CA2FC -lbl_801CA2F4: -/* 801CA2F4 001C5F54 8C 04 00 01 */ lbzu r0, 1(r4) -/* 801CA2F8 001C5F58 9C 03 00 01 */ stbu r0, 1(r3) -lbl_801CA2FC: -/* 801CA2FC 001C5F5C 34 A5 FF FF */ addic. r5, r5, -1 -/* 801CA300 001C5F60 40 82 FF F4 */ bne lbl_801CA2F4 -/* 801CA304 001C5F64 48 00 00 24 */ b lbl_801CA328 -lbl_801CA308: -/* 801CA308 001C5F68 7C 84 2A 14 */ add r4, r4, r5 -/* 801CA30C 001C5F6C 7C 63 2A 14 */ add r3, r3, r5 -/* 801CA310 001C5F70 38 A5 00 01 */ addi r5, r5, 1 -/* 801CA314 001C5F74 48 00 00 0C */ b lbl_801CA320 -lbl_801CA318: -/* 801CA318 001C5F78 8C 04 FF FF */ lbzu r0, -1(r4) -/* 801CA31C 001C5F7C 9C 03 FF FF */ stbu r0, -1(r3) -lbl_801CA320: -/* 801CA320 001C5F80 34 A5 FF FF */ addic. r5, r5, -1 -/* 801CA324 001C5F84 40 82 FF F4 */ bne lbl_801CA318 -lbl_801CA328: -/* 801CA328 001C5F88 7F E3 FB 78 */ mr r3, r31 -lbl_801CA32C: -/* 801CA32C 001C5F8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801CA330 001C5F90 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801CA334 001C5F94 7C 08 03 A6 */ mtlr r0 -/* 801CA338 001C5F98 38 21 00 10 */ addi r1, r1, 0x10 -/* 801CA33C 001C5F9C 4E 80 00 20 */ blr - -.global memchr -memchr: -/* 801CA340 001C5FA0 54 84 06 3E */ clrlwi r4, r4, 0x18 -/* 801CA344 001C5FA4 38 63 FF FF */ addi r3, r3, -1 -/* 801CA348 001C5FA8 38 A5 00 01 */ addi r5, r5, 1 -/* 801CA34C 001C5FAC 48 00 00 10 */ b lbl_801CA35C -lbl_801CA350: -/* 801CA350 001C5FB0 8C 03 00 01 */ lbzu r0, 1(r3) -/* 801CA354 001C5FB4 7C 00 20 40 */ cmplw r0, r4 -/* 801CA358 001C5FB8 4D 82 00 20 */ beqlr -lbl_801CA35C: -/* 801CA35C 001C5FBC 34 A5 FF FF */ addic. r5, r5, -1 -/* 801CA360 001C5FC0 40 82 FF F0 */ bne lbl_801CA350 -/* 801CA364 001C5FC4 38 60 00 00 */ li r3, 0 -/* 801CA368 001C5FC8 4E 80 00 20 */ blr - -.global func_801CA36C -func_801CA36C: -/* 801CA36C 001C5FCC 7C 63 2A 14 */ add r3, r3, r5 -/* 801CA370 001C5FD0 54 84 06 3E */ clrlwi r4, r4, 0x18 -/* 801CA374 001C5FD4 38 A5 00 01 */ addi r5, r5, 1 -/* 801CA378 001C5FD8 48 00 00 10 */ b lbl_801CA388 -lbl_801CA37C: -/* 801CA37C 001C5FDC 8C 03 FF FF */ lbzu r0, -1(r3) -/* 801CA380 001C5FE0 7C 00 20 40 */ cmplw r0, r4 -/* 801CA384 001C5FE4 4D 82 00 20 */ beqlr -lbl_801CA388: -/* 801CA388 001C5FE8 34 A5 FF FF */ addic. r5, r5, -1 -/* 801CA38C 001C5FEC 40 82 FF F0 */ bne lbl_801CA37C -/* 801CA390 001C5FF0 38 60 00 00 */ li r3, 0 -/* 801CA394 001C5FF4 4E 80 00 20 */ blr - -.global func_801CA398 -func_801CA398: -/* 801CA398 001C5FF8 38 E4 FF FF */ addi r7, r4, -1 -/* 801CA39C 001C5FFC 38 C3 FF FF */ addi r6, r3, -1 -/* 801CA3A0 001C6000 38 85 00 01 */ addi r4, r5, 1 -/* 801CA3A4 001C6004 48 00 00 30 */ b lbl_801CA3D4 -lbl_801CA3A8: -/* 801CA3A8 001C6008 8C 66 00 01 */ lbzu r3, 1(r6) -/* 801CA3AC 001C600C 8C 07 00 01 */ lbzu r0, 1(r7) -/* 801CA3B0 001C6010 7C 03 00 40 */ cmplw r3, r0 -/* 801CA3B4 001C6014 41 82 00 20 */ beq lbl_801CA3D4 -/* 801CA3B8 001C6018 88 86 00 00 */ lbz r4, 0(r6) -/* 801CA3BC 001C601C 38 60 00 01 */ li r3, 1 -/* 801CA3C0 001C6020 88 07 00 00 */ lbz r0, 0(r7) -/* 801CA3C4 001C6024 7C 04 00 40 */ cmplw r4, r0 -/* 801CA3C8 001C6028 4C 80 00 20 */ bgelr -/* 801CA3CC 001C602C 38 60 FF FF */ li r3, -1 -/* 801CA3D0 001C6030 4E 80 00 20 */ blr -lbl_801CA3D4: -/* 801CA3D4 001C6034 34 84 FF FF */ addic. r4, r4, -1 -/* 801CA3D8 001C6038 40 82 FF D0 */ bne lbl_801CA3A8 -/* 801CA3DC 001C603C 38 60 00 00 */ li r3, 0 -/* 801CA3E0 001C6040 4E 80 00 20 */ blr - -.global __copy_longs_aligned -__copy_longs_aligned: -/* 801CA3E4 001C6044 7C 03 00 D0 */ neg r0, r3 -/* 801CA3E8 001C6048 38 84 FF FF */ addi r4, r4, -1 -/* 801CA3EC 001C604C 54 06 07 BF */ clrlwi. r6, r0, 0x1e -/* 801CA3F0 001C6050 38 63 FF FF */ addi r3, r3, -1 -/* 801CA3F4 001C6054 41 82 00 18 */ beq lbl_801CA40C -/* 801CA3F8 001C6058 7C A6 28 50 */ subf r5, r6, r5 -lbl_801CA3FC: -/* 801CA3FC 001C605C 8C 04 00 01 */ lbzu r0, 1(r4) -/* 801CA400 001C6060 34 C6 FF FF */ addic. r6, r6, -1 -/* 801CA404 001C6064 9C 03 00 01 */ stbu r0, 1(r3) -/* 801CA408 001C6068 40 82 FF F4 */ bne lbl_801CA3FC -lbl_801CA40C: -/* 801CA40C 001C606C 54 A6 D9 7F */ rlwinm. r6, r5, 0x1b, 5, 0x1f -/* 801CA410 001C6070 38 E4 FF FD */ addi r7, r4, -3 -/* 801CA414 001C6074 38 83 FF FD */ addi r4, r3, -3 -/* 801CA418 001C6078 41 82 00 4C */ beq lbl_801CA464 -lbl_801CA41C: -/* 801CA41C 001C607C 80 67 00 04 */ lwz r3, 4(r7) -/* 801CA420 001C6080 34 C6 FF FF */ addic. r6, r6, -1 -/* 801CA424 001C6084 80 07 00 08 */ lwz r0, 8(r7) -/* 801CA428 001C6088 90 64 00 04 */ stw r3, 4(r4) -/* 801CA42C 001C608C 80 67 00 0C */ lwz r3, 0xc(r7) -/* 801CA430 001C6090 90 04 00 08 */ stw r0, 8(r4) -/* 801CA434 001C6094 80 07 00 10 */ lwz r0, 0x10(r7) -/* 801CA438 001C6098 90 64 00 0C */ stw r3, 0xc(r4) -/* 801CA43C 001C609C 80 67 00 14 */ lwz r3, 0x14(r7) -/* 801CA440 001C60A0 90 04 00 10 */ stw r0, 0x10(r4) -/* 801CA444 001C60A4 80 07 00 18 */ lwz r0, 0x18(r7) -/* 801CA448 001C60A8 90 64 00 14 */ stw r3, 0x14(r4) -/* 801CA44C 001C60AC 80 67 00 1C */ lwz r3, 0x1c(r7) -/* 801CA450 001C60B0 90 04 00 18 */ stw r0, 0x18(r4) -/* 801CA454 001C60B4 84 07 00 20 */ lwzu r0, 0x20(r7) -/* 801CA458 001C60B8 90 64 00 1C */ stw r3, 0x1c(r4) -/* 801CA45C 001C60BC 94 04 00 20 */ stwu r0, 0x20(r4) -/* 801CA460 001C60C0 40 82 FF BC */ bne lbl_801CA41C -lbl_801CA464: -/* 801CA464 001C60C4 54 A3 F7 7F */ rlwinm. r3, r5, 0x1e, 0x1d, 0x1f -/* 801CA468 001C60C8 41 82 00 14 */ beq lbl_801CA47C -lbl_801CA46C: -/* 801CA46C 001C60CC 84 07 00 04 */ lwzu r0, 4(r7) -/* 801CA470 001C60D0 34 63 FF FF */ addic. r3, r3, -1 -/* 801CA474 001C60D4 94 04 00 04 */ stwu r0, 4(r4) -/* 801CA478 001C60D8 40 82 FF F4 */ bne lbl_801CA46C -lbl_801CA47C: -/* 801CA47C 001C60DC 54 A5 07 BF */ clrlwi. r5, r5, 0x1e -/* 801CA480 001C60E0 38 C7 00 03 */ addi r6, r7, 3 -/* 801CA484 001C60E4 38 64 00 03 */ addi r3, r4, 3 -/* 801CA488 001C60E8 4D 82 00 20 */ beqlr -lbl_801CA48C: -/* 801CA48C 001C60EC 8C 06 00 01 */ lbzu r0, 1(r6) -/* 801CA490 001C60F0 34 A5 FF FF */ addic. r5, r5, -1 -/* 801CA494 001C60F4 9C 03 00 01 */ stbu r0, 1(r3) -/* 801CA498 001C60F8 40 82 FF F4 */ bne lbl_801CA48C -/* 801CA49C 001C60FC 4E 80 00 20 */ blr - -.global __copy_longs_rev_aligned -__copy_longs_rev_aligned: -/* 801CA4A0 001C6100 7C E3 2A 14 */ add r7, r3, r5 -/* 801CA4A4 001C6104 7C C4 2A 14 */ add r6, r4, r5 -/* 801CA4A8 001C6108 54 E3 07 BF */ clrlwi. r3, r7, 0x1e -/* 801CA4AC 001C610C 41 82 00 18 */ beq lbl_801CA4C4 -/* 801CA4B0 001C6110 7C A3 28 50 */ subf r5, r3, r5 -lbl_801CA4B4: -/* 801CA4B4 001C6114 8C 06 FF FF */ lbzu r0, -1(r6) -/* 801CA4B8 001C6118 34 63 FF FF */ addic. r3, r3, -1 -/* 801CA4BC 001C611C 9C 07 FF FF */ stbu r0, -1(r7) -/* 801CA4C0 001C6120 40 82 FF F4 */ bne lbl_801CA4B4 -lbl_801CA4C4: -/* 801CA4C4 001C6124 54 A4 D9 7F */ rlwinm. r4, r5, 0x1b, 5, 0x1f -/* 801CA4C8 001C6128 41 82 00 4C */ beq lbl_801CA514 -lbl_801CA4CC: -/* 801CA4CC 001C612C 80 66 FF FC */ lwz r3, -4(r6) -/* 801CA4D0 001C6130 34 84 FF FF */ addic. r4, r4, -1 -/* 801CA4D4 001C6134 80 06 FF F8 */ lwz r0, -8(r6) -/* 801CA4D8 001C6138 90 67 FF FC */ stw r3, -4(r7) -/* 801CA4DC 001C613C 80 66 FF F4 */ lwz r3, -0xc(r6) -/* 801CA4E0 001C6140 90 07 FF F8 */ stw r0, -8(r7) -/* 801CA4E4 001C6144 80 06 FF F0 */ lwz r0, -0x10(r6) -/* 801CA4E8 001C6148 90 67 FF F4 */ stw r3, -0xc(r7) -/* 801CA4EC 001C614C 80 66 FF EC */ lwz r3, -0x14(r6) -/* 801CA4F0 001C6150 90 07 FF F0 */ stw r0, -0x10(r7) -/* 801CA4F4 001C6154 80 06 FF E8 */ lwz r0, -0x18(r6) -/* 801CA4F8 001C6158 90 67 FF EC */ stw r3, -0x14(r7) -/* 801CA4FC 001C615C 80 66 FF E4 */ lwz r3, -0x1c(r6) -/* 801CA500 001C6160 90 07 FF E8 */ stw r0, -0x18(r7) -/* 801CA504 001C6164 84 06 FF E0 */ lwzu r0, -0x20(r6) -/* 801CA508 001C6168 90 67 FF E4 */ stw r3, -0x1c(r7) -/* 801CA50C 001C616C 94 07 FF E0 */ stwu r0, -0x20(r7) -/* 801CA510 001C6170 40 82 FF BC */ bne lbl_801CA4CC -lbl_801CA514: -/* 801CA514 001C6174 54 A3 F7 7F */ rlwinm. r3, r5, 0x1e, 0x1d, 0x1f -/* 801CA518 001C6178 41 82 00 14 */ beq lbl_801CA52C -lbl_801CA51C: -/* 801CA51C 001C617C 84 06 FF FC */ lwzu r0, -4(r6) -/* 801CA520 001C6180 34 63 FF FF */ addic. r3, r3, -1 -/* 801CA524 001C6184 94 07 FF FC */ stwu r0, -4(r7) -/* 801CA528 001C6188 40 82 FF F4 */ bne lbl_801CA51C -lbl_801CA52C: -/* 801CA52C 001C618C 54 A5 07 BF */ clrlwi. r5, r5, 0x1e -/* 801CA530 001C6190 4D 82 00 20 */ beqlr -lbl_801CA534: -/* 801CA534 001C6194 8C 06 FF FF */ lbzu r0, -1(r6) -/* 801CA538 001C6198 34 A5 FF FF */ addic. r5, r5, -1 -/* 801CA53C 001C619C 9C 07 FF FF */ stbu r0, -1(r7) -/* 801CA540 001C61A0 40 82 FF F4 */ bne lbl_801CA534 -/* 801CA544 001C61A4 4E 80 00 20 */ blr - -.global __copy_longs_unaligned -__copy_longs_unaligned: -/* 801CA548 001C61A8 7C 03 00 D0 */ neg r0, r3 -/* 801CA54C 001C61AC 39 04 FF FF */ addi r8, r4, -1 -/* 801CA550 001C61B0 54 06 07 BF */ clrlwi. r6, r0, 0x1e -/* 801CA554 001C61B4 38 63 FF FF */ addi r3, r3, -1 -/* 801CA558 001C61B8 41 82 00 18 */ beq lbl_801CA570 -/* 801CA55C 001C61BC 7C A6 28 50 */ subf r5, r6, r5 -lbl_801CA560: -/* 801CA560 001C61C0 8C 08 00 01 */ lbzu r0, 1(r8) -/* 801CA564 001C61C4 34 C6 FF FF */ addic. r6, r6, -1 -/* 801CA568 001C61C8 9C 03 00 01 */ stbu r0, 1(r3) -/* 801CA56C 001C61CC 40 82 FF F4 */ bne lbl_801CA560 -lbl_801CA570: -/* 801CA570 001C61D0 38 08 00 01 */ addi r0, r8, 1 -/* 801CA574 001C61D4 38 C3 FF FD */ addi r6, r3, -3 -/* 801CA578 001C61D8 54 09 07 BE */ clrlwi r9, r0, 0x1e -/* 801CA57C 001C61DC 54 A7 E8 FE */ srwi r7, r5, 3 -/* 801CA580 001C61E0 7D 09 40 50 */ subf r8, r9, r8 -/* 801CA584 001C61E4 54 0A 1E F8 */ rlwinm r10, r0, 3, 0x1b, 0x1c -/* 801CA588 001C61E8 84 88 00 01 */ lwzu r4, 1(r8) -/* 801CA58C 001C61EC 21 6A 00 20 */ subfic r11, r10, 0x20 -lbl_801CA590: -/* 801CA590 001C61F0 80 68 00 04 */ lwz r3, 4(r8) -/* 801CA594 001C61F4 7C 84 50 30 */ slw r4, r4, r10 -/* 801CA598 001C61F8 34 E7 FF FF */ addic. r7, r7, -1 -/* 801CA59C 001C61FC 7C 60 5C 30 */ srw r0, r3, r11 -/* 801CA5A0 001C6200 7C 63 50 30 */ slw r3, r3, r10 -/* 801CA5A4 001C6204 7C 80 03 78 */ or r0, r4, r0 -/* 801CA5A8 001C6208 90 06 00 04 */ stw r0, 4(r6) -/* 801CA5AC 001C620C 84 88 00 08 */ lwzu r4, 8(r8) -/* 801CA5B0 001C6210 7C 80 5C 30 */ srw r0, r4, r11 -/* 801CA5B4 001C6214 7C 60 03 78 */ or r0, r3, r0 -/* 801CA5B8 001C6218 94 06 00 08 */ stwu r0, 8(r6) -/* 801CA5BC 001C621C 40 82 FF D4 */ bne lbl_801CA590 -/* 801CA5C0 001C6220 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d -/* 801CA5C4 001C6224 41 82 00 18 */ beq lbl_801CA5DC -/* 801CA5C8 001C6228 84 08 00 04 */ lwzu r0, 4(r8) -/* 801CA5CC 001C622C 7C 83 50 30 */ slw r3, r4, r10 -/* 801CA5D0 001C6230 7C 00 5C 30 */ srw r0, r0, r11 -/* 801CA5D4 001C6234 7C 60 03 78 */ or r0, r3, r0 -/* 801CA5D8 001C6238 94 06 00 04 */ stwu r0, 4(r6) -lbl_801CA5DC: -/* 801CA5DC 001C623C 54 A5 07 BF */ clrlwi. r5, r5, 0x1e -/* 801CA5E0 001C6240 38 88 00 03 */ addi r4, r8, 3 -/* 801CA5E4 001C6244 38 66 00 03 */ addi r3, r6, 3 -/* 801CA5E8 001C6248 4D 82 00 20 */ beqlr -/* 801CA5EC 001C624C 20 09 00 04 */ subfic r0, r9, 4 -/* 801CA5F0 001C6250 7C 80 20 50 */ subf r4, r0, r4 -lbl_801CA5F4: -/* 801CA5F4 001C6254 8C 04 00 01 */ lbzu r0, 1(r4) -/* 801CA5F8 001C6258 34 A5 FF FF */ addic. r5, r5, -1 -/* 801CA5FC 001C625C 9C 03 00 01 */ stbu r0, 1(r3) -/* 801CA600 001C6260 40 82 FF F4 */ bne lbl_801CA5F4 -/* 801CA604 001C6264 4E 80 00 20 */ blr - -.global __copy_longs_rev_unaligned -__copy_longs_rev_unaligned: -/* 801CA608 001C6268 7D 63 2A 14 */ add r11, r3, r5 -/* 801CA60C 001C626C 7D 44 2A 14 */ add r10, r4, r5 -/* 801CA610 001C6270 55 63 07 BF */ clrlwi. r3, r11, 0x1e -/* 801CA614 001C6274 41 82 00 18 */ beq lbl_801CA62C -/* 801CA618 001C6278 7C A3 28 50 */ subf r5, r3, r5 -lbl_801CA61C: -/* 801CA61C 001C627C 8C 0A FF FF */ lbzu r0, -1(r10) -/* 801CA620 001C6280 34 63 FF FF */ addic. r3, r3, -1 -/* 801CA624 001C6284 9C 0B FF FF */ stbu r0, -1(r11) -/* 801CA628 001C6288 40 82 FF F4 */ bne lbl_801CA61C -lbl_801CA62C: -/* 801CA62C 001C628C 55 48 1E F8 */ rlwinm r8, r10, 3, 0x1b, 0x1c -/* 801CA630 001C6290 55 47 07 BE */ clrlwi r7, r10, 0x1e -/* 801CA634 001C6294 21 28 00 20 */ subfic r9, r8, 0x20 -/* 801CA638 001C6298 54 A6 E8 FE */ srwi r6, r5, 3 -/* 801CA63C 001C629C 20 07 00 04 */ subfic r0, r7, 4 -/* 801CA640 001C62A0 7D 4A 02 14 */ add r10, r10, r0 -/* 801CA644 001C62A4 84 8A FF FC */ lwzu r4, -4(r10) -lbl_801CA648: -/* 801CA648 001C62A8 80 0A FF FC */ lwz r0, -4(r10) -/* 801CA64C 001C62AC 7C 83 4C 30 */ srw r3, r4, r9 -/* 801CA650 001C62B0 34 C6 FF FF */ addic. r6, r6, -1 -/* 801CA654 001C62B4 7C 04 40 30 */ slw r4, r0, r8 -/* 801CA658 001C62B8 7C 00 4C 30 */ srw r0, r0, r9 -/* 801CA65C 001C62BC 7C 83 1B 78 */ or r3, r4, r3 -/* 801CA660 001C62C0 90 6B FF FC */ stw r3, -4(r11) -/* 801CA664 001C62C4 84 8A FF F8 */ lwzu r4, -8(r10) -/* 801CA668 001C62C8 7C 83 40 30 */ slw r3, r4, r8 -/* 801CA66C 001C62CC 7C 60 03 78 */ or r0, r3, r0 -/* 801CA670 001C62D0 94 0B FF F8 */ stwu r0, -8(r11) -/* 801CA674 001C62D4 40 82 FF D4 */ bne lbl_801CA648 -/* 801CA678 001C62D8 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d -/* 801CA67C 001C62DC 41 82 00 18 */ beq lbl_801CA694 -/* 801CA680 001C62E0 84 6A FF FC */ lwzu r3, -4(r10) -/* 801CA684 001C62E4 7C 80 4C 30 */ srw r0, r4, r9 -/* 801CA688 001C62E8 7C 63 40 30 */ slw r3, r3, r8 -/* 801CA68C 001C62EC 7C 60 03 78 */ or r0, r3, r0 -/* 801CA690 001C62F0 94 0B FF FC */ stwu r0, -4(r11) -lbl_801CA694: -/* 801CA694 001C62F4 54 A5 07 BF */ clrlwi. r5, r5, 0x1e -/* 801CA698 001C62F8 4D 82 00 20 */ beqlr -/* 801CA69C 001C62FC 7D 4A 3A 14 */ add r10, r10, r7 -lbl_801CA6A0: -/* 801CA6A0 001C6300 8C 0A FF FF */ lbzu r0, -1(r10) -/* 801CA6A4 001C6304 34 A5 FF FF */ addic. r5, r5, -1 -/* 801CA6A8 001C6308 9C 0B FF FF */ stbu r0, -1(r11) -/* 801CA6AC 001C630C 40 82 FF F4 */ bne lbl_801CA6A0 -/* 801CA6B0 001C6310 4E 80 00 20 */ blr - -.global func_801CA6B4 -func_801CA6B4: -/* 801CA6B4 001C6314 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801CA6B8 001C6318 3C 00 7F 80 */ lis r0, 0x7f80 -/* 801CA6BC 001C631C D0 21 00 08 */ stfs f1, 8(r1) -/* 801CA6C0 001C6320 80 81 00 08 */ lwz r4, 8(r1) -/* 801CA6C4 001C6324 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 801CA6C8 001C6328 7C 03 00 00 */ cmpw r3, r0 -/* 801CA6CC 001C632C 41 82 00 14 */ beq lbl_801CA6E0 -/* 801CA6D0 001C6330 40 80 00 3C */ bge lbl_801CA70C -/* 801CA6D4 001C6334 2C 03 00 00 */ cmpwi r3, 0 -/* 801CA6D8 001C6338 41 82 00 20 */ beq lbl_801CA6F8 -/* 801CA6DC 001C633C 48 00 00 30 */ b lbl_801CA70C -lbl_801CA6E0: -/* 801CA6E0 001C6340 54 83 02 7E */ clrlwi r3, r4, 9 -/* 801CA6E4 001C6344 7C 03 00 D0 */ neg r0, r3 -/* 801CA6E8 001C6348 7C 00 1B 78 */ or r0, r0, r3 -/* 801CA6EC 001C634C 7C 03 FE 70 */ srawi r3, r0, 0x1f -/* 801CA6F0 001C6350 38 63 00 02 */ addi r3, r3, 2 -/* 801CA6F4 001C6354 48 00 00 1C */ b lbl_801CA710 -lbl_801CA6F8: -/* 801CA6F8 001C6358 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 801CA6FC 001C635C 38 60 00 03 */ li r3, 3 -/* 801CA700 001C6360 41 82 00 10 */ beq lbl_801CA710 -/* 801CA704 001C6364 38 60 00 05 */ li r3, 5 -/* 801CA708 001C6368 48 00 00 08 */ b lbl_801CA710 -lbl_801CA70C: -/* 801CA70C 001C636C 38 60 00 04 */ li r3, 4 -lbl_801CA710: -/* 801CA710 001C6370 38 21 00 10 */ addi r1, r1, 0x10 -/* 801CA714 001C6374 4E 80 00 20 */ blr - -.global func_801CA718 -func_801CA718: -/* 801CA718 001C6378 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801CA71C 001C637C D8 21 00 08 */ stfd f1, 8(r1) -/* 801CA720 001C6380 80 01 00 08 */ lwz r0, 8(r1) -/* 801CA724 001C6384 54 03 00 00 */ rlwinm r3, r0, 0, 0, 0 -/* 801CA728 001C6388 38 21 00 10 */ addi r1, r1, 0x10 -/* 801CA72C 001C638C 4E 80 00 20 */ blr - -.global func_801CA730 -func_801CA730: -/* 801CA730 001C6390 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801CA734 001C6394 3C 00 7F F0 */ lis r0, 0x7ff0 -/* 801CA738 001C6398 D8 21 00 08 */ stfd f1, 8(r1) -/* 801CA73C 001C639C 80 81 00 08 */ lwz r4, 8(r1) -/* 801CA740 001C63A0 54 83 00 56 */ rlwinm r3, r4, 0, 1, 0xb -/* 801CA744 001C63A4 7C 03 00 00 */ cmpw r3, r0 -/* 801CA748 001C63A8 41 82 00 14 */ beq lbl_801CA75C -/* 801CA74C 001C63AC 40 80 00 58 */ bge lbl_801CA7A4 -/* 801CA750 001C63B0 2C 03 00 00 */ cmpwi r3, 0 -/* 801CA754 001C63B4 41 82 00 2C */ beq lbl_801CA780 -/* 801CA758 001C63B8 48 00 00 4C */ b lbl_801CA7A4 -lbl_801CA75C: -/* 801CA75C 001C63BC 54 80 03 3F */ clrlwi. r0, r4, 0xc -/* 801CA760 001C63C0 40 82 00 10 */ bne lbl_801CA770 -/* 801CA764 001C63C4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 801CA768 001C63C8 2C 00 00 00 */ cmpwi r0, 0 -/* 801CA76C 001C63CC 41 82 00 0C */ beq lbl_801CA778 -lbl_801CA770: -/* 801CA770 001C63D0 38 60 00 01 */ li r3, 1 -/* 801CA774 001C63D4 48 00 00 34 */ b lbl_801CA7A8 -lbl_801CA778: -/* 801CA778 001C63D8 38 60 00 02 */ li r3, 2 -/* 801CA77C 001C63DC 48 00 00 2C */ b lbl_801CA7A8 -lbl_801CA780: -/* 801CA780 001C63E0 54 80 03 3F */ clrlwi. r0, r4, 0xc -/* 801CA784 001C63E4 40 82 00 10 */ bne lbl_801CA794 -/* 801CA788 001C63E8 80 01 00 0C */ lwz r0, 0xc(r1) -/* 801CA78C 001C63EC 2C 00 00 00 */ cmpwi r0, 0 -/* 801CA790 001C63F0 41 82 00 0C */ beq lbl_801CA79C -lbl_801CA794: -/* 801CA794 001C63F4 38 60 00 05 */ li r3, 5 -/* 801CA798 001C63F8 48 00 00 10 */ b lbl_801CA7A8 -lbl_801CA79C: -/* 801CA79C 001C63FC 38 60 00 03 */ li r3, 3 -/* 801CA7A0 001C6400 48 00 00 08 */ b lbl_801CA7A8 -lbl_801CA7A4: -/* 801CA7A4 001C6404 38 60 00 04 */ li r3, 4 -lbl_801CA7A8: -/* 801CA7A8 001C6408 38 21 00 10 */ addi r1, r1, 0x10 -/* 801CA7AC 001C640C 4E 80 00 20 */ blr diff --git a/asm/text_5_3.s b/asm/text_5_3.s new file mode 100644 index 0000000..8903384 --- /dev/null +++ b/asm/text_5_3.s @@ -0,0 +1,3511 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global __register_fragment +__register_fragment: +/* 801C7830 001C3490 3C A0 80 49 */ lis r5, lbl_8048EAE0@ha +/* 801C7834 001C3494 38 A5 EA E0 */ addi r5, r5, lbl_8048EAE0@l +/* 801C7838 001C3498 80 05 00 08 */ lwz r0, 8(r5) +/* 801C783C 001C349C 2C 00 00 00 */ cmpwi r0, 0 +/* 801C7840 001C34A0 40 82 00 1C */ bne lbl_801C785C +/* 801C7844 001C34A4 90 65 00 00 */ stw r3, 0(r5) +/* 801C7848 001C34A8 38 00 00 01 */ li r0, 1 +/* 801C784C 001C34AC 38 60 00 00 */ li r3, 0 +/* 801C7850 001C34B0 90 85 00 04 */ stw r4, 4(r5) +/* 801C7854 001C34B4 90 05 00 08 */ stw r0, 8(r5) +/* 801C7858 001C34B8 4E 80 00 20 */ blr +lbl_801C785C: +/* 801C785C 001C34BC 38 60 FF FF */ li r3, -1 +/* 801C7860 001C34C0 4E 80 00 20 */ blr + +.global func_801C7864 +func_801C7864: +/* 801C7864 001C34C4 2C 03 00 00 */ cmpwi r3, 0 +/* 801C7868 001C34C8 4D 80 00 20 */ bltlr +/* 801C786C 001C34CC 2C 03 00 01 */ cmpwi r3, 1 +/* 801C7870 001C34D0 4C 80 00 20 */ bgelr +/* 801C7874 001C34D4 1C 83 00 0C */ mulli r4, r3, 0xc +/* 801C7878 001C34D8 3C 60 80 49 */ lis r3, lbl_8048EAE0@ha +/* 801C787C 001C34DC 38 00 00 00 */ li r0, 0 +/* 801C7880 001C34E0 38 63 EA E0 */ addi r3, r3, lbl_8048EAE0@l +/* 801C7884 001C34E4 7C 03 21 6E */ stwux r0, r3, r4 +/* 801C7888 001C34E8 90 03 00 04 */ stw r0, 4(r3) +/* 801C788C 001C34EC 90 03 00 08 */ stw r0, 8(r3) +/* 801C7890 001C34F0 4E 80 00 20 */ blr + +.global func_801C7894 +func_801C7894: +/* 801C7894 001C34F4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 801C7898 001C34F8 7C 08 02 A6 */ mflr r0 +/* 801C789C 001C34FC 90 01 00 24 */ stw r0, 0x24(r1) +/* 801C78A0 001C3500 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 801C78A4 001C3504 3B E0 00 00 */ li r31, 0 +/* 801C78A8 001C3508 93 C1 00 18 */ stw r30, 0x18(r1) +/* 801C78AC 001C350C 3B C0 00 03 */ li r30, 3 +/* 801C78B0 001C3510 93 A1 00 14 */ stw r29, 0x14(r1) +/* 801C78B4 001C3514 3F A0 80 42 */ lis r29, lbl_804228F0@ha +/* 801C78B8 001C3518 3B BD 28 F0 */ addi r29, r29, lbl_804228F0@l +/* 801C78BC 001C351C 48 00 00 58 */ b lbl_801C7914 +lbl_801C78C0: +/* 801C78C0 001C3520 80 1D 00 04 */ lwz r0, 4(r29) +/* 801C78C4 001C3524 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f +/* 801C78C8 001C3528 41 82 00 0C */ beq lbl_801C78D4 +/* 801C78CC 001C352C 7F A3 EB 78 */ mr r3, r29 +/* 801C78D0 001C3530 48 00 23 01 */ bl func_801C9BD0 +lbl_801C78D4: +/* 801C78D4 001C3534 7F A3 EB 78 */ mr r3, r29 +/* 801C78D8 001C3538 83 BD 00 4C */ lwz r29, 0x4c(r29) +/* 801C78DC 001C353C 88 03 00 0C */ lbz r0, 0xc(r3) +/* 801C78E0 001C3540 2C 00 00 00 */ cmpwi r0, 0 +/* 801C78E4 001C3544 41 82 00 0C */ beq lbl_801C78F0 +/* 801C78E8 001C3548 4B E4 2E DD */ bl func_8000A7C4 +/* 801C78EC 001C354C 48 00 00 28 */ b lbl_801C7914 +lbl_801C78F0: +/* 801C78F0 001C3550 80 03 00 04 */ lwz r0, 4(r3) +/* 801C78F4 001C3554 53 C0 B1 D2 */ rlwimi r0, r30, 0x16, 7, 9 +/* 801C78F8 001C3558 2C 1D 00 00 */ cmpwi r29, 0 +/* 801C78FC 001C355C 90 03 00 04 */ stw r0, 4(r3) +/* 801C7900 001C3560 41 82 00 14 */ beq lbl_801C7914 +/* 801C7904 001C3564 88 1D 00 0C */ lbz r0, 0xc(r29) +/* 801C7908 001C3568 2C 00 00 00 */ cmpwi r0, 0 +/* 801C790C 001C356C 41 82 00 08 */ beq lbl_801C7914 +/* 801C7910 001C3570 93 E3 00 4C */ stw r31, 0x4c(r3) +lbl_801C7914: +/* 801C7914 001C3574 2C 1D 00 00 */ cmpwi r29, 0 +/* 801C7918 001C3578 40 82 FF A8 */ bne lbl_801C78C0 +/* 801C791C 001C357C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 801C7920 001C3580 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 801C7924 001C3584 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 801C7928 001C3588 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 801C792C 001C358C 7C 08 03 A6 */ mtlr r0 +/* 801C7930 001C3590 38 21 00 20 */ addi r1, r1, 0x20 +/* 801C7934 001C3594 4E 80 00 20 */ blr + +.global func_801C7938 +func_801C7938: +/* 801C7938 001C3598 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801C793C 001C359C 7C 08 02 A6 */ mflr r0 +/* 801C7940 001C35A0 90 01 00 14 */ stw r0, 0x14(r1) +/* 801C7944 001C35A4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 801C7948 001C35A8 3B E0 00 00 */ li r31, 0 +/* 801C794C 001C35AC 93 C1 00 08 */ stw r30, 8(r1) +/* 801C7950 001C35B0 3F C0 80 42 */ lis r30, lbl_804228F0@ha +/* 801C7954 001C35B4 3B DE 28 F0 */ addi r30, r30, lbl_804228F0@l +/* 801C7958 001C35B8 48 00 00 40 */ b lbl_801C7998 +lbl_801C795C: +/* 801C795C 001C35BC 80 7E 00 04 */ lwz r3, 4(r30) +/* 801C7960 001C35C0 54 60 57 7F */ rlwinm. r0, r3, 0xa, 0x1d, 0x1f +/* 801C7964 001C35C4 41 82 00 30 */ beq lbl_801C7994 +/* 801C7968 001C35C8 54 60 3F FF */ rlwinm. r0, r3, 7, 0x1f, 0x1f +/* 801C796C 001C35CC 41 82 00 28 */ beq lbl_801C7994 +/* 801C7970 001C35D0 80 1E 00 08 */ lwz r0, 8(r30) +/* 801C7974 001C35D4 54 00 1F 7E */ srwi r0, r0, 0x1d +/* 801C7978 001C35D8 28 00 00 01 */ cmplwi r0, 1 +/* 801C797C 001C35DC 40 82 00 18 */ bne lbl_801C7994 +/* 801C7980 001C35E0 7F C3 F3 78 */ mr r3, r30 +/* 801C7984 001C35E4 48 00 23 09 */ bl func_801C9C8C +/* 801C7988 001C35E8 2C 03 00 00 */ cmpwi r3, 0 +/* 801C798C 001C35EC 41 82 00 08 */ beq lbl_801C7994 +/* 801C7990 001C35F0 3B E0 FF FF */ li r31, -1 +lbl_801C7994: +/* 801C7994 001C35F4 83 DE 00 4C */ lwz r30, 0x4c(r30) +lbl_801C7998: +/* 801C7998 001C35F8 2C 1E 00 00 */ cmpwi r30, 0 +/* 801C799C 001C35FC 40 82 FF C0 */ bne lbl_801C795C +/* 801C79A0 001C3600 7F E3 FB 78 */ mr r3, r31 +/* 801C79A4 001C3604 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 801C79A8 001C3608 83 C1 00 08 */ lwz r30, 8(r1) +/* 801C79AC 001C360C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801C79B0 001C3610 7C 08 03 A6 */ mtlr r0 +/* 801C79B4 001C3614 38 21 00 10 */ addi r1, r1, 0x10 +/* 801C79B8 001C3618 4E 80 00 20 */ blr + +.global func_801C79BC +func_801C79BC: +/* 801C79BC 001C361C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801C79C0 001C3620 7C 08 02 A6 */ mflr r0 +/* 801C79C4 001C3624 90 01 00 14 */ stw r0, 0x14(r1) +/* 801C79C8 001C3628 93 E1 00 0C */ stw r31, 0xc(r1) +/* 801C79CC 001C362C 3B E0 00 00 */ li r31, 0 +/* 801C79D0 001C3630 93 C1 00 08 */ stw r30, 8(r1) +/* 801C79D4 001C3634 3F C0 80 42 */ lis r30, lbl_804228F0@ha +/* 801C79D8 001C3638 3B DE 28 F0 */ addi r30, r30, lbl_804228F0@l +/* 801C79DC 001C363C 48 00 00 28 */ b lbl_801C7A04 +lbl_801C79E0: +/* 801C79E0 001C3640 80 1E 00 04 */ lwz r0, 4(r30) +/* 801C79E4 001C3644 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f +/* 801C79E8 001C3648 41 82 00 18 */ beq lbl_801C7A00 +/* 801C79EC 001C364C 7F C3 F3 78 */ mr r3, r30 +/* 801C79F0 001C3650 48 00 22 9D */ bl func_801C9C8C +/* 801C79F4 001C3654 2C 03 00 00 */ cmpwi r3, 0 +/* 801C79F8 001C3658 41 82 00 08 */ beq lbl_801C7A00 +/* 801C79FC 001C365C 3B E0 FF FF */ li r31, -1 +lbl_801C7A00: +/* 801C7A00 001C3660 83 DE 00 4C */ lwz r30, 0x4c(r30) +lbl_801C7A04: +/* 801C7A04 001C3664 2C 1E 00 00 */ cmpwi r30, 0 +/* 801C7A08 001C3668 40 82 FF D8 */ bne lbl_801C79E0 +/* 801C7A0C 001C366C 7F E3 FB 78 */ mr r3, r31 +/* 801C7A10 001C3670 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 801C7A14 001C3674 83 C1 00 08 */ lwz r30, 8(r1) +/* 801C7A18 001C3678 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801C7A1C 001C367C 7C 08 03 A6 */ mtlr r0 +/* 801C7A20 001C3680 38 21 00 10 */ addi r1, r1, 0x10 +/* 801C7A24 001C3684 4E 80 00 20 */ blr + +.global func_801C7A28 +func_801C7A28: +/* 801C7A28 001C3688 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 801C7A2C 001C368C 7C 08 02 A6 */ mflr r0 +/* 801C7A30 001C3690 90 01 00 24 */ stw r0, 0x24(r1) +/* 801C7A34 001C3694 38 00 00 00 */ li r0, 0 +/* 801C7A38 001C3698 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 801C7A3C 001C369C 7C BF 2B 78 */ mr r31, r5 +/* 801C7A40 001C36A0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 801C7A44 001C36A4 7C DE 33 78 */ mr r30, r6 +/* 801C7A48 001C36A8 93 A1 00 14 */ stw r29, 0x14(r1) +/* 801C7A4C 001C36AC 7C 7D 1B 78 */ mr r29, r3 +/* 801C7A50 001C36B0 98 03 00 00 */ stb r0, 0(r3) +/* 801C7A54 001C36B4 98 03 00 04 */ stb r0, 4(r3) +/* 801C7A58 001C36B8 48 00 00 48 */ b lbl_801C7AA0 +lbl_801C7A5C: +/* 801C7A5C 001C36BC 7F E3 FB 78 */ mr r3, r31 +/* 801C7A60 001C36C0 7F C4 F3 78 */ mr r4, r30 +/* 801C7A64 001C36C4 38 C0 00 0A */ li r6, 0xa +/* 801C7A68 001C36C8 38 A0 00 00 */ li r5, 0 +/* 801C7A6C 001C36CC 4B FF F9 45 */ bl __mod2u +/* 801C7A70 001C36D0 89 1D 00 04 */ lbz r8, 4(r29) +/* 801C7A74 001C36D4 7F E3 FB 78 */ mr r3, r31 +/* 801C7A78 001C36D8 38 C0 00 0A */ li r6, 0xa +/* 801C7A7C 001C36DC 38 A0 00 00 */ li r5, 0 +/* 801C7A80 001C36E0 7C FD 42 14 */ add r7, r29, r8 +/* 801C7A84 001C36E4 38 08 00 01 */ addi r0, r8, 1 +/* 801C7A88 001C36E8 98 87 00 05 */ stb r4, 5(r7) +/* 801C7A8C 001C36EC 7F C4 F3 78 */ mr r4, r30 +/* 801C7A90 001C36F0 98 1D 00 04 */ stb r0, 4(r29) +/* 801C7A94 001C36F4 4B FF F6 F9 */ bl __div2u +/* 801C7A98 001C36F8 7C 9E 23 78 */ mr r30, r4 +/* 801C7A9C 001C36FC 7C 7F 1B 78 */ mr r31, r3 +lbl_801C7AA0: +/* 801C7AA0 001C3700 7F C0 FB 79 */ or. r0, r30, r31 +/* 801C7AA4 001C3704 40 82 FF B8 */ bne lbl_801C7A5C +/* 801C7AA8 001C3708 88 1D 00 04 */ lbz r0, 4(r29) +/* 801C7AAC 001C370C 38 9D 00 05 */ addi r4, r29, 5 +/* 801C7AB0 001C3710 7C 7D 02 14 */ add r3, r29, r0 +/* 801C7AB4 001C3714 38 63 00 05 */ addi r3, r3, 5 +/* 801C7AB8 001C3718 48 00 00 18 */ b lbl_801C7AD0 +lbl_801C7ABC: +/* 801C7ABC 001C371C 88 A4 00 00 */ lbz r5, 0(r4) +/* 801C7AC0 001C3720 88 03 00 00 */ lbz r0, 0(r3) +/* 801C7AC4 001C3724 98 04 00 00 */ stb r0, 0(r4) +/* 801C7AC8 001C3728 38 84 00 01 */ addi r4, r4, 1 +/* 801C7ACC 001C372C 98 A3 00 00 */ stb r5, 0(r3) +lbl_801C7AD0: +/* 801C7AD0 001C3730 38 63 FF FF */ addi r3, r3, -1 +/* 801C7AD4 001C3734 7C 04 18 40 */ cmplw r4, r3 +/* 801C7AD8 001C3738 41 80 FF E4 */ blt lbl_801C7ABC +/* 801C7ADC 001C373C 88 7D 00 04 */ lbz r3, 4(r29) +/* 801C7AE0 001C3740 38 03 FF FF */ addi r0, r3, -1 +/* 801C7AE4 001C3744 B0 1D 00 02 */ sth r0, 2(r29) +/* 801C7AE8 001C3748 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 801C7AEC 001C374C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 801C7AF0 001C3750 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 801C7AF4 001C3754 80 01 00 24 */ lwz r0, 0x24(r1) +/* 801C7AF8 001C3758 7C 08 03 A6 */ mtlr r0 +/* 801C7AFC 001C375C 38 21 00 20 */ addi r1, r1, 0x20 +/* 801C7B00 001C3760 4E 80 00 20 */ blr + +.global func_801C7B04 +func_801C7B04: +/* 801C7B04 001C3764 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 801C7B08 001C3768 3C C0 CC CD */ lis r6, 0xCCCCCCCD@ha +/* 801C7B0C 001C376C 89 04 00 04 */ lbz r8, 4(r4) +/* 801C7B10 001C3770 39 60 00 00 */ li r11, 0 +/* 801C7B14 001C3774 93 E1 00 5C */ stw r31, 0x5c(r1) +/* 801C7B18 001C3778 38 01 00 08 */ addi r0, r1, 8 +/* 801C7B1C 001C377C 88 E5 00 04 */ lbz r7, 4(r5) +/* 801C7B20 001C3780 39 26 CC CD */ addi r9, r6, 0xCCCCCCCD@l +/* 801C7B24 001C3784 93 C1 00 58 */ stw r30, 0x58(r1) +/* 801C7B28 001C3788 7D 88 3A 14 */ add r12, r8, r7 +/* 801C7B2C 001C378C 93 A1 00 54 */ stw r29, 0x54(r1) +/* 801C7B30 001C3790 39 8C FF FF */ addi r12, r12, -1 +/* 801C7B34 001C3794 7C C0 62 14 */ add r6, r0, r12 +/* 801C7B38 001C3798 38 C6 00 01 */ addi r6, r6, 1 +/* 801C7B3C 001C379C 99 63 00 00 */ stb r11, 0(r3) +/* 801C7B40 001C37A0 7C C0 33 78 */ mr r0, r6 +/* 801C7B44 001C37A4 48 00 01 30 */ b lbl_801C7C74 +lbl_801C7B48: +/* 801C7B48 001C37A8 88 E5 00 04 */ lbz r7, 4(r5) +/* 801C7B4C 001C37AC 3B E7 FF FF */ addi r31, r7, -1 +/* 801C7B50 001C37B0 7C FF 60 50 */ subf r7, r31, r12 +/* 801C7B54 001C37B4 37 C7 FF FF */ addic. r30, r7, -1 +/* 801C7B58 001C37B8 40 80 00 0C */ bge lbl_801C7B64 +/* 801C7B5C 001C37BC 3B C0 00 00 */ li r30, 0 +/* 801C7B60 001C37C0 3B EC FF FF */ addi r31, r12, -1 +lbl_801C7B64: +/* 801C7B64 001C37C4 88 E4 00 04 */ lbz r7, 4(r4) +/* 801C7B68 001C37C8 7D 05 FA 14 */ add r8, r5, r31 +/* 801C7B6C 001C37CC 3B FF 00 01 */ addi r31, r31, 1 +/* 801C7B70 001C37D0 7D 44 F2 14 */ add r10, r4, r30 +/* 801C7B74 001C37D4 7C FE 38 50 */ subf r7, r30, r7 +/* 801C7B78 001C37D8 3B A8 00 05 */ addi r29, r8, 5 +/* 801C7B7C 001C37DC 7C 1F 38 00 */ cmpw r31, r7 +/* 801C7B80 001C37E0 3B CA 00 05 */ addi r30, r10, 5 +/* 801C7B84 001C37E4 40 81 00 08 */ ble lbl_801C7B8C +/* 801C7B88 001C37E8 7C FF 3B 78 */ mr r31, r7 +lbl_801C7B8C: +/* 801C7B8C 001C37EC 2C 1F 00 00 */ cmpwi r31, 0 +/* 801C7B90 001C37F0 40 81 00 C4 */ ble lbl_801C7C54 +/* 801C7B94 001C37F4 57 E7 E8 FF */ rlwinm. r7, r31, 0x1d, 3, 0x1f +/* 801C7B98 001C37F8 7C E9 03 A6 */ mtctr r7 +/* 801C7B9C 001C37FC 41 82 00 98 */ beq lbl_801C7C34 +lbl_801C7BA0: +/* 801C7BA0 001C3800 89 5E 00 00 */ lbz r10, 0(r30) +/* 801C7BA4 001C3804 89 1D 00 00 */ lbz r8, 0(r29) +/* 801C7BA8 001C3808 7C EA 41 D6 */ mullw r7, r10, r8 +/* 801C7BAC 001C380C 89 5E 00 01 */ lbz r10, 1(r30) +/* 801C7BB0 001C3810 89 1D FF FF */ lbz r8, -1(r29) +/* 801C7BB4 001C3814 7D 6B 3A 14 */ add r11, r11, r7 +/* 801C7BB8 001C3818 7C EA 41 D6 */ mullw r7, r10, r8 +/* 801C7BBC 001C381C 89 5E 00 02 */ lbz r10, 2(r30) +/* 801C7BC0 001C3820 89 1D FF FE */ lbz r8, -2(r29) +/* 801C7BC4 001C3824 7D 6B 3A 14 */ add r11, r11, r7 +/* 801C7BC8 001C3828 7C EA 41 D6 */ mullw r7, r10, r8 +/* 801C7BCC 001C382C 89 5E 00 03 */ lbz r10, 3(r30) +/* 801C7BD0 001C3830 89 1D FF FD */ lbz r8, -3(r29) +/* 801C7BD4 001C3834 7D 6B 3A 14 */ add r11, r11, r7 +/* 801C7BD8 001C3838 7C EA 41 D6 */ mullw r7, r10, r8 +/* 801C7BDC 001C383C 89 5E 00 04 */ lbz r10, 4(r30) +/* 801C7BE0 001C3840 89 1D FF FC */ lbz r8, -4(r29) +/* 801C7BE4 001C3844 7D 6B 3A 14 */ add r11, r11, r7 +/* 801C7BE8 001C3848 7C EA 41 D6 */ mullw r7, r10, r8 +/* 801C7BEC 001C384C 89 5E 00 05 */ lbz r10, 5(r30) +/* 801C7BF0 001C3850 89 1D FF FB */ lbz r8, -5(r29) +/* 801C7BF4 001C3854 7D 6B 3A 14 */ add r11, r11, r7 +/* 801C7BF8 001C3858 7C EA 41 D6 */ mullw r7, r10, r8 +/* 801C7BFC 001C385C 89 5E 00 06 */ lbz r10, 6(r30) +/* 801C7C00 001C3860 89 1D FF FA */ lbz r8, -6(r29) +/* 801C7C04 001C3864 7D 6B 3A 14 */ add r11, r11, r7 +/* 801C7C08 001C3868 7C EA 41 D6 */ mullw r7, r10, r8 +/* 801C7C0C 001C386C 89 5E 00 07 */ lbz r10, 7(r30) +/* 801C7C10 001C3870 89 1D FF F9 */ lbz r8, -7(r29) +/* 801C7C14 001C3874 3B DE 00 08 */ addi r30, r30, 8 +/* 801C7C18 001C3878 3B BD FF F8 */ addi r29, r29, -8 +/* 801C7C1C 001C387C 7D 6B 3A 14 */ add r11, r11, r7 +/* 801C7C20 001C3880 7C EA 41 D6 */ mullw r7, r10, r8 +/* 801C7C24 001C3884 7D 6B 3A 14 */ add r11, r11, r7 +/* 801C7C28 001C3888 42 00 FF 78 */ bdnz lbl_801C7BA0 +/* 801C7C2C 001C388C 73 FF 00 07 */ andi. r31, r31, 7 +/* 801C7C30 001C3890 41 82 00 24 */ beq lbl_801C7C54 +lbl_801C7C34: +/* 801C7C34 001C3894 7F E9 03 A6 */ mtctr r31 +lbl_801C7C38: +/* 801C7C38 001C3898 89 5E 00 00 */ lbz r10, 0(r30) +/* 801C7C3C 001C389C 3B DE 00 01 */ addi r30, r30, 1 +/* 801C7C40 001C38A0 89 1D 00 00 */ lbz r8, 0(r29) +/* 801C7C44 001C38A4 3B BD FF FF */ addi r29, r29, -1 +/* 801C7C48 001C38A8 7C EA 41 D6 */ mullw r7, r10, r8 +/* 801C7C4C 001C38AC 7D 6B 3A 14 */ add r11, r11, r7 +/* 801C7C50 001C38B0 42 00 FF E8 */ bdnz lbl_801C7C38 +lbl_801C7C54: +/* 801C7C54 001C38B4 7D 09 58 16 */ mulhwu r8, r9, r11 +/* 801C7C58 001C38B8 39 8C FF FF */ addi r12, r12, -1 +/* 801C7C5C 001C38BC 7D 07 43 78 */ mr r7, r8 +/* 801C7C60 001C38C0 55 08 E8 FE */ srwi r8, r8, 3 +/* 801C7C64 001C38C4 1D 08 00 0A */ mulli r8, r8, 0xa +/* 801C7C68 001C38C8 7D 08 58 50 */ subf r8, r8, r11 +/* 801C7C6C 001C38CC 54 EB E8 FE */ srwi r11, r7, 3 +/* 801C7C70 001C38D0 9D 06 FF FF */ stbu r8, -1(r6) +lbl_801C7C74: +/* 801C7C74 001C38D4 2C 0C 00 00 */ cmpwi r12, 0 +/* 801C7C78 001C38D8 41 81 FE D0 */ bgt lbl_801C7B48 +/* 801C7C7C 001C38DC A8 E4 00 02 */ lha r7, 2(r4) +/* 801C7C80 001C38E0 2C 0B 00 00 */ cmpwi r11, 0 +/* 801C7C84 001C38E4 A8 85 00 02 */ lha r4, 2(r5) +/* 801C7C88 001C38E8 7C 87 22 14 */ add r4, r7, r4 +/* 801C7C8C 001C38EC B0 83 00 02 */ sth r4, 2(r3) +/* 801C7C90 001C38F0 41 82 00 14 */ beq lbl_801C7CA4 +/* 801C7C94 001C38F4 9D 66 FF FF */ stbu r11, -1(r6) +/* 801C7C98 001C38F8 A8 83 00 02 */ lha r4, 2(r3) +/* 801C7C9C 001C38FC 38 84 00 01 */ addi r4, r4, 1 +/* 801C7CA0 001C3900 B0 83 00 02 */ sth r4, 2(r3) +lbl_801C7CA4: +/* 801C7CA4 001C3904 38 E0 00 00 */ li r7, 0 +/* 801C7CA8 001C3908 48 00 00 18 */ b lbl_801C7CC0 +lbl_801C7CAC: +/* 801C7CAC 001C390C 88 A6 00 00 */ lbz r5, 0(r6) +/* 801C7CB0 001C3910 7C 83 3A 14 */ add r4, r3, r7 +/* 801C7CB4 001C3914 38 E7 00 01 */ addi r7, r7, 1 +/* 801C7CB8 001C3918 38 C6 00 01 */ addi r6, r6, 1 +/* 801C7CBC 001C391C 98 A4 00 05 */ stb r5, 5(r4) +lbl_801C7CC0: +/* 801C7CC0 001C3920 2C 07 00 24 */ cmpwi r7, 0x24 +/* 801C7CC4 001C3924 40 80 00 0C */ bge lbl_801C7CD0 +/* 801C7CC8 001C3928 7C 06 00 40 */ cmplw r6, r0 +/* 801C7CCC 001C392C 41 80 FF E0 */ blt lbl_801C7CAC +lbl_801C7CD0: +/* 801C7CD0 001C3930 7C 06 00 40 */ cmplw r6, r0 +/* 801C7CD4 001C3934 98 E3 00 04 */ stb r7, 4(r3) +/* 801C7CD8 001C3938 40 80 00 A0 */ bge lbl_801C7D78 +/* 801C7CDC 001C393C 88 86 00 00 */ lbz r4, 0(r6) +/* 801C7CE0 001C3940 28 04 00 05 */ cmplwi r4, 5 +/* 801C7CE4 001C3944 41 80 00 94 */ blt lbl_801C7D78 +/* 801C7CE8 001C3948 40 82 00 38 */ bne lbl_801C7D20 +/* 801C7CEC 001C394C 38 A6 00 01 */ addi r5, r6, 1 +/* 801C7CF0 001C3950 7C 85 00 50 */ subf r4, r5, r0 +/* 801C7CF4 001C3954 7C 89 03 A6 */ mtctr r4 +/* 801C7CF8 001C3958 7C 05 00 40 */ cmplw r5, r0 +/* 801C7CFC 001C395C 40 80 00 18 */ bge lbl_801C7D14 +lbl_801C7D00: +/* 801C7D00 001C3960 88 05 00 00 */ lbz r0, 0(r5) +/* 801C7D04 001C3964 2C 00 00 00 */ cmpwi r0, 0 +/* 801C7D08 001C3968 40 82 00 18 */ bne lbl_801C7D20 +/* 801C7D0C 001C396C 38 A5 00 01 */ addi r5, r5, 1 +/* 801C7D10 001C3970 42 00 FF F0 */ bdnz lbl_801C7D00 +lbl_801C7D14: +/* 801C7D14 001C3974 88 06 FF FF */ lbz r0, -1(r6) +/* 801C7D18 001C3978 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801C7D1C 001C397C 41 82 00 5C */ beq lbl_801C7D78 +lbl_801C7D20: +/* 801C7D20 001C3980 88 83 00 04 */ lbz r4, 4(r3) +/* 801C7D24 001C3984 38 C3 00 05 */ addi r6, r3, 5 +/* 801C7D28 001C3988 38 00 00 00 */ li r0, 0 +/* 801C7D2C 001C398C 7C A6 22 14 */ add r5, r6, r4 +/* 801C7D30 001C3990 38 A5 FF FF */ addi r5, r5, -1 +lbl_801C7D34: +/* 801C7D34 001C3994 88 85 00 00 */ lbz r4, 0(r5) +/* 801C7D38 001C3998 28 04 00 09 */ cmplwi r4, 9 +/* 801C7D3C 001C399C 40 80 00 10 */ bge lbl_801C7D4C +/* 801C7D40 001C39A0 38 04 00 01 */ addi r0, r4, 1 +/* 801C7D44 001C39A4 98 05 00 00 */ stb r0, 0(r5) +/* 801C7D48 001C39A8 48 00 00 30 */ b lbl_801C7D78 +lbl_801C7D4C: +/* 801C7D4C 001C39AC 7C 05 30 40 */ cmplw r5, r6 +/* 801C7D50 001C39B0 40 82 00 1C */ bne lbl_801C7D6C +/* 801C7D54 001C39B4 38 00 00 01 */ li r0, 1 +/* 801C7D58 001C39B8 98 05 00 00 */ stb r0, 0(r5) +/* 801C7D5C 001C39BC A8 83 00 02 */ lha r4, 2(r3) +/* 801C7D60 001C39C0 38 04 00 01 */ addi r0, r4, 1 +/* 801C7D64 001C39C4 B0 03 00 02 */ sth r0, 2(r3) +/* 801C7D68 001C39C8 48 00 00 10 */ b lbl_801C7D78 +lbl_801C7D6C: +/* 801C7D6C 001C39CC 98 05 00 00 */ stb r0, 0(r5) +/* 801C7D70 001C39D0 38 A5 FF FF */ addi r5, r5, -1 +/* 801C7D74 001C39D4 4B FF FF C0 */ b lbl_801C7D34 +lbl_801C7D78: +/* 801C7D78 001C39D8 83 E1 00 5C */ lwz r31, 0x5c(r1) +/* 801C7D7C 001C39DC 83 C1 00 58 */ lwz r30, 0x58(r1) +/* 801C7D80 001C39E0 83 A1 00 54 */ lwz r29, 0x54(r1) +/* 801C7D84 001C39E4 38 21 00 60 */ addi r1, r1, 0x60 +/* 801C7D88 001C39E8 4E 80 00 20 */ blr + +.global func_801C7D8C +func_801C7D8C: +/* 801C7D8C 001C39EC 38 00 00 00 */ li r0, 0 +/* 801C7D90 001C39F0 B0 A3 00 02 */ sth r5, 2(r3) +/* 801C7D94 001C39F4 38 E0 00 00 */ li r7, 0 +/* 801C7D98 001C39F8 98 03 00 00 */ stb r0, 0(r3) +/* 801C7D9C 001C39FC 48 00 00 1C */ b lbl_801C7DB8 +lbl_801C7DA0: +/* 801C7DA0 001C3A00 88 C4 00 00 */ lbz r6, 0(r4) +/* 801C7DA4 001C3A04 7C A3 3A 14 */ add r5, r3, r7 +/* 801C7DA8 001C3A08 38 84 00 01 */ addi r4, r4, 1 +/* 801C7DAC 001C3A0C 38 E7 00 01 */ addi r7, r7, 1 +/* 801C7DB0 001C3A10 38 06 FF D0 */ addi r0, r6, -48 +/* 801C7DB4 001C3A14 98 05 00 05 */ stb r0, 5(r5) +lbl_801C7DB8: +/* 801C7DB8 001C3A18 2C 07 00 24 */ cmpwi r7, 0x24 +/* 801C7DBC 001C3A1C 40 80 00 10 */ bge lbl_801C7DCC +/* 801C7DC0 001C3A20 88 04 00 00 */ lbz r0, 0(r4) +/* 801C7DC4 001C3A24 7C 00 07 75 */ extsb. r0, r0 +/* 801C7DC8 001C3A28 40 82 FF D8 */ bne lbl_801C7DA0 +lbl_801C7DCC: +/* 801C7DCC 001C3A2C 88 04 00 00 */ lbz r0, 0(r4) +/* 801C7DD0 001C3A30 98 E3 00 04 */ stb r7, 4(r3) +/* 801C7DD4 001C3A34 7C 00 07 75 */ extsb. r0, r0 +/* 801C7DD8 001C3A38 4D 82 00 20 */ beqlr +/* 801C7DDC 001C3A3C 2C 00 00 05 */ cmpwi r0, 5 +/* 801C7DE0 001C3A40 4D 80 00 20 */ bltlr +/* 801C7DE4 001C3A44 41 81 00 38 */ bgt lbl_801C7E1C +/* 801C7DE8 001C3A48 38 A4 00 01 */ addi r5, r4, 1 +/* 801C7DEC 001C3A4C 48 00 00 14 */ b lbl_801C7E00 +lbl_801C7DF0: +/* 801C7DF0 001C3A50 7C 80 07 74 */ extsb r0, r4 +/* 801C7DF4 001C3A54 2C 00 00 30 */ cmpwi r0, 0x30 +/* 801C7DF8 001C3A58 40 82 00 24 */ bne lbl_801C7E1C +/* 801C7DFC 001C3A5C 38 A5 00 01 */ addi r5, r5, 1 +lbl_801C7E00: +/* 801C7E00 001C3A60 88 85 00 00 */ lbz r4, 0(r5) +/* 801C7E04 001C3A64 7C 80 07 75 */ extsb. r0, r4 +/* 801C7E08 001C3A68 40 82 FF E8 */ bne lbl_801C7DF0 +/* 801C7E0C 001C3A6C 7C 87 1A 14 */ add r4, r7, r3 +/* 801C7E10 001C3A70 88 04 00 04 */ lbz r0, 4(r4) +/* 801C7E14 001C3A74 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801C7E18 001C3A78 4D 82 00 20 */ beqlr +lbl_801C7E1C: +/* 801C7E1C 001C3A7C 88 83 00 04 */ lbz r4, 4(r3) +/* 801C7E20 001C3A80 38 C3 00 05 */ addi r6, r3, 5 +/* 801C7E24 001C3A84 38 00 00 00 */ li r0, 0 +/* 801C7E28 001C3A88 7C A6 22 14 */ add r5, r6, r4 +/* 801C7E2C 001C3A8C 38 A5 FF FF */ addi r5, r5, -1 +lbl_801C7E30: +/* 801C7E30 001C3A90 88 85 00 00 */ lbz r4, 0(r5) +/* 801C7E34 001C3A94 28 04 00 09 */ cmplwi r4, 9 +/* 801C7E38 001C3A98 40 80 00 10 */ bge lbl_801C7E48 +/* 801C7E3C 001C3A9C 38 04 00 01 */ addi r0, r4, 1 +/* 801C7E40 001C3AA0 98 05 00 00 */ stb r0, 0(r5) +/* 801C7E44 001C3AA4 4E 80 00 20 */ blr +lbl_801C7E48: +/* 801C7E48 001C3AA8 7C 05 30 40 */ cmplw r5, r6 +/* 801C7E4C 001C3AAC 40 82 00 1C */ bne lbl_801C7E68 +/* 801C7E50 001C3AB0 38 00 00 01 */ li r0, 1 +/* 801C7E54 001C3AB4 98 05 00 00 */ stb r0, 0(r5) +/* 801C7E58 001C3AB8 A8 83 00 02 */ lha r4, 2(r3) +/* 801C7E5C 001C3ABC 38 04 00 01 */ addi r0, r4, 1 +/* 801C7E60 001C3AC0 B0 03 00 02 */ sth r0, 2(r3) +/* 801C7E64 001C3AC4 4E 80 00 20 */ blr +lbl_801C7E68: +/* 801C7E68 001C3AC8 98 05 00 00 */ stb r0, 0(r5) +/* 801C7E6C 001C3ACC 38 A5 FF FF */ addi r5, r5, -1 +/* 801C7E70 001C3AD0 4B FF FF C0 */ b lbl_801C7E30 +/* 801C7E74 001C3AD4 4E 80 00 20 */ blr + +.global func_801C7E78 +func_801C7E78: +/* 801C7E78 001C3AD8 94 21 FF 90 */ stwu r1, -0x70(r1) +/* 801C7E7C 001C3ADC 7C 08 02 A6 */ mflr r0 +/* 801C7E80 001C3AE0 90 01 00 74 */ stw r0, 0x74(r1) +/* 801C7E84 001C3AE4 38 04 00 40 */ addi r0, r4, 0x40 +/* 801C7E88 001C3AE8 28 00 00 48 */ cmplwi r0, 0x48 +/* 801C7E8C 001C3AEC 93 E1 00 6C */ stw r31, 0x6c(r1) +/* 801C7E90 001C3AF0 7C 7F 1B 78 */ mr r31, r3 +/* 801C7E94 001C3AF4 93 C1 00 68 */ stw r30, 0x68(r1) +/* 801C7E98 001C3AF8 7C 9E 23 78 */ mr r30, r4 +/* 801C7E9C 001C3AFC 41 81 02 10 */ bgt lbl_801C80AC +/* 801C7EA0 001C3B00 3C A0 80 42 */ lis r5, lbl_80422A30@ha +/* 801C7EA4 001C3B04 54 00 10 3A */ slwi r0, r0, 2 +/* 801C7EA8 001C3B08 38 A5 2A 30 */ addi r5, r5, lbl_80422A30@l +/* 801C7EAC 001C3B0C 7C A5 00 2E */ lwzx r5, r5, r0 +/* 801C7EB0 001C3B10 7C A9 03 A6 */ mtctr r5 +/* 801C7EB4 001C3B14 4E 80 04 20 */ bctr +/* 801C7EB8 001C3B18 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7EBC 001C3B1C 38 A0 FF EC */ li r5, -20 +/* 801C7EC0 001C3B20 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7EC4 001C3B24 4B FF FE C9 */ bl func_801C7D8C +/* 801C7EC8 001C3B28 48 00 03 04 */ b lbl_801C81CC +/* 801C7ECC 001C3B2C 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7ED0 001C3B30 38 A0 FF F0 */ li r5, -16 +/* 801C7ED4 001C3B34 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7ED8 001C3B38 38 84 00 2E */ addi r4, r4, 0x2e +/* 801C7EDC 001C3B3C 4B FF FE B1 */ bl func_801C7D8C +/* 801C7EE0 001C3B40 48 00 02 EC */ b lbl_801C81CC +/* 801C7EE4 001C3B44 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7EE8 001C3B48 38 A0 FF F6 */ li r5, -10 +/* 801C7EEC 001C3B4C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7EF0 001C3B50 38 84 00 55 */ addi r4, r4, 0x55 +/* 801C7EF4 001C3B54 4B FF FE 99 */ bl func_801C7D8C +/* 801C7EF8 001C3B58 48 00 02 D4 */ b lbl_801C81CC +/* 801C7EFC 001C3B5C 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7F00 001C3B60 38 A0 FF FB */ li r5, -5 +/* 801C7F04 001C3B64 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7F08 001C3B68 38 84 00 6D */ addi r4, r4, 0x6d +/* 801C7F0C 001C3B6C 4B FF FE 81 */ bl func_801C7D8C +/* 801C7F10 001C3B70 48 00 02 BC */ b lbl_801C81CC +/* 801C7F14 001C3B74 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7F18 001C3B78 38 A0 FF FD */ li r5, -3 +/* 801C7F1C 001C3B7C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7F20 001C3B80 38 84 00 7A */ addi r4, r4, 0x7a +/* 801C7F24 001C3B84 4B FF FE 69 */ bl func_801C7D8C +/* 801C7F28 001C3B88 48 00 02 A4 */ b lbl_801C81CC +/* 801C7F2C 001C3B8C 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7F30 001C3B90 38 A0 FF FD */ li r5, -3 +/* 801C7F34 001C3B94 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7F38 001C3B98 38 84 00 81 */ addi r4, r4, 0x81 +/* 801C7F3C 001C3B9C 4B FF FE 51 */ bl func_801C7D8C +/* 801C7F40 001C3BA0 48 00 02 8C */ b lbl_801C81CC +/* 801C7F44 001C3BA4 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7F48 001C3BA8 38 A0 FF FE */ li r5, -2 +/* 801C7F4C 001C3BAC 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7F50 001C3BB0 38 84 00 87 */ addi r4, r4, 0x87 +/* 801C7F54 001C3BB4 4B FF FE 39 */ bl func_801C7D8C +/* 801C7F58 001C3BB8 48 00 02 74 */ b lbl_801C81CC +/* 801C7F5C 001C3BBC 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7F60 001C3BC0 38 A0 FF FE */ li r5, -2 +/* 801C7F64 001C3BC4 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7F68 001C3BC8 38 84 00 8D */ addi r4, r4, 0x8d +/* 801C7F6C 001C3BCC 4B FF FE 21 */ bl func_801C7D8C +/* 801C7F70 001C3BD0 48 00 02 5C */ b lbl_801C81CC +/* 801C7F74 001C3BD4 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7F78 001C3BD8 38 A0 FF FE */ li r5, -2 +/* 801C7F7C 001C3BDC 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7F80 001C3BE0 38 84 00 92 */ addi r4, r4, 0x92 +/* 801C7F84 001C3BE4 4B FF FE 09 */ bl func_801C7D8C +/* 801C7F88 001C3BE8 48 00 02 44 */ b lbl_801C81CC +/* 801C7F8C 001C3BEC 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7F90 001C3BF0 38 A0 FF FF */ li r5, -1 +/* 801C7F94 001C3BF4 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7F98 001C3BF8 38 84 00 96 */ addi r4, r4, 0x96 +/* 801C7F9C 001C3BFC 4B FF FD F1 */ bl func_801C7D8C +/* 801C7FA0 001C3C00 48 00 02 2C */ b lbl_801C81CC +/* 801C7FA4 001C3C04 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7FA8 001C3C08 38 A0 FF FF */ li r5, -1 +/* 801C7FAC 001C3C0C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7FB0 001C3C10 38 84 00 9A */ addi r4, r4, 0x9a +/* 801C7FB4 001C3C14 4B FF FD D9 */ bl func_801C7D8C +/* 801C7FB8 001C3C18 48 00 02 14 */ b lbl_801C81CC +/* 801C7FBC 001C3C1C 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7FC0 001C3C20 38 A0 FF FF */ li r5, -1 +/* 801C7FC4 001C3C24 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7FC8 001C3C28 38 84 00 9D */ addi r4, r4, 0x9d +/* 801C7FCC 001C3C2C 4B FF FD C1 */ bl func_801C7D8C +/* 801C7FD0 001C3C30 48 00 01 FC */ b lbl_801C81CC +/* 801C7FD4 001C3C34 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7FD8 001C3C38 38 A0 00 00 */ li r5, 0 +/* 801C7FDC 001C3C3C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7FE0 001C3C40 38 84 00 9F */ addi r4, r4, 0x9f +/* 801C7FE4 001C3C44 4B FF FD A9 */ bl func_801C7D8C +/* 801C7FE8 001C3C48 48 00 01 E4 */ b lbl_801C81CC +/* 801C7FEC 001C3C4C 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C7FF0 001C3C50 38 A0 00 00 */ li r5, 0 +/* 801C7FF4 001C3C54 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C7FF8 001C3C58 38 84 00 A1 */ addi r4, r4, 0xa1 +/* 801C7FFC 001C3C5C 4B FF FD 91 */ bl func_801C7D8C +/* 801C8000 001C3C60 48 00 01 CC */ b lbl_801C81CC +/* 801C8004 001C3C64 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C8008 001C3C68 38 A0 00 00 */ li r5, 0 +/* 801C800C 001C3C6C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C8010 001C3C70 38 84 00 A3 */ addi r4, r4, 0xa3 +/* 801C8014 001C3C74 4B FF FD 79 */ bl func_801C7D8C +/* 801C8018 001C3C78 48 00 01 B4 */ b lbl_801C81CC +/* 801C801C 001C3C7C 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C8020 001C3C80 38 A0 00 00 */ li r5, 0 +/* 801C8024 001C3C84 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C8028 001C3C88 38 84 00 A5 */ addi r4, r4, 0xa5 +/* 801C802C 001C3C8C 4B FF FD 61 */ bl func_801C7D8C +/* 801C8030 001C3C90 48 00 01 9C */ b lbl_801C81CC +/* 801C8034 001C3C94 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C8038 001C3C98 38 A0 00 01 */ li r5, 1 +/* 801C803C 001C3C9C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C8040 001C3CA0 38 84 00 A7 */ addi r4, r4, 0xa7 +/* 801C8044 001C3CA4 4B FF FD 49 */ bl func_801C7D8C +/* 801C8048 001C3CA8 48 00 01 84 */ b lbl_801C81CC +/* 801C804C 001C3CAC 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C8050 001C3CB0 38 A0 00 01 */ li r5, 1 +/* 801C8054 001C3CB4 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C8058 001C3CB8 38 84 00 AA */ addi r4, r4, 0xaa +/* 801C805C 001C3CBC 4B FF FD 31 */ bl func_801C7D8C +/* 801C8060 001C3CC0 48 00 01 6C */ b lbl_801C81CC +/* 801C8064 001C3CC4 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C8068 001C3CC8 38 A0 00 01 */ li r5, 1 +/* 801C806C 001C3CCC 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C8070 001C3CD0 38 84 00 AD */ addi r4, r4, 0xad +/* 801C8074 001C3CD4 4B FF FD 19 */ bl func_801C7D8C +/* 801C8078 001C3CD8 48 00 01 54 */ b lbl_801C81CC +/* 801C807C 001C3CDC 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C8080 001C3CE0 38 A0 00 02 */ li r5, 2 +/* 801C8084 001C3CE4 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C8088 001C3CE8 38 84 00 B0 */ addi r4, r4, 0xb0 +/* 801C808C 001C3CEC 4B FF FD 01 */ bl func_801C7D8C +/* 801C8090 001C3CF0 48 00 01 3C */ b lbl_801C81CC +/* 801C8094 001C3CF4 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C8098 001C3CF8 38 A0 00 02 */ li r5, 2 +/* 801C809C 001C3CFC 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C80A0 001C3D00 38 84 00 B4 */ addi r4, r4, 0xb4 +/* 801C80A4 001C3D04 4B FF FC E9 */ bl func_801C7D8C +/* 801C80A8 001C3D08 48 00 01 24 */ b lbl_801C81CC +lbl_801C80AC: +/* 801C80AC 001C3D0C 54 80 0F FE */ srwi r0, r4, 0x1f +/* 801C80B0 001C3D10 38 61 00 34 */ addi r3, r1, 0x34 +/* 801C80B4 001C3D14 7C 00 22 14 */ add r0, r0, r4 +/* 801C80B8 001C3D18 7C 04 0E 70 */ srawi r4, r0, 1 +/* 801C80BC 001C3D1C 4B FF FD BD */ bl func_801C7E78 +/* 801C80C0 001C3D20 38 81 00 34 */ addi r4, r1, 0x34 +/* 801C80C4 001C3D24 7F E3 FB 78 */ mr r3, r31 +/* 801C80C8 001C3D28 7C 85 23 78 */ mr r5, r4 +/* 801C80CC 001C3D2C 4B FF FA 39 */ bl func_801C7B04 +/* 801C80D0 001C3D30 57 C0 07 FF */ clrlwi. r0, r30, 0x1f +/* 801C80D4 001C3D34 41 82 00 F8 */ beq lbl_801C81CC +/* 801C80D8 001C3D38 A0 7F 00 00 */ lhz r3, 0(r31) +/* 801C80DC 001C3D3C 2C 1E 00 00 */ cmpwi r30, 0 +/* 801C80E0 001C3D40 A0 1F 00 02 */ lhz r0, 2(r31) +/* 801C80E4 001C3D44 B0 61 00 08 */ sth r3, 8(r1) +/* 801C80E8 001C3D48 B0 01 00 0A */ sth r0, 0xa(r1) +/* 801C80EC 001C3D4C A0 7F 00 04 */ lhz r3, 4(r31) +/* 801C80F0 001C3D50 A0 1F 00 06 */ lhz r0, 6(r31) +/* 801C80F4 001C3D54 B0 61 00 0C */ sth r3, 0xc(r1) +/* 801C80F8 001C3D58 B0 01 00 0E */ sth r0, 0xe(r1) +/* 801C80FC 001C3D5C A0 7F 00 08 */ lhz r3, 8(r31) +/* 801C8100 001C3D60 A0 1F 00 0A */ lhz r0, 0xa(r31) +/* 801C8104 001C3D64 B0 61 00 10 */ sth r3, 0x10(r1) +/* 801C8108 001C3D68 B0 01 00 12 */ sth r0, 0x12(r1) +/* 801C810C 001C3D6C A0 7F 00 0C */ lhz r3, 0xc(r31) +/* 801C8110 001C3D70 A0 1F 00 0E */ lhz r0, 0xe(r31) +/* 801C8114 001C3D74 B0 61 00 14 */ sth r3, 0x14(r1) +/* 801C8118 001C3D78 B0 01 00 16 */ sth r0, 0x16(r1) +/* 801C811C 001C3D7C A0 7F 00 10 */ lhz r3, 0x10(r31) +/* 801C8120 001C3D80 A0 1F 00 12 */ lhz r0, 0x12(r31) +/* 801C8124 001C3D84 B0 61 00 18 */ sth r3, 0x18(r1) +/* 801C8128 001C3D88 B0 01 00 1A */ sth r0, 0x1a(r1) +/* 801C812C 001C3D8C A0 7F 00 14 */ lhz r3, 0x14(r31) +/* 801C8130 001C3D90 A0 1F 00 16 */ lhz r0, 0x16(r31) +/* 801C8134 001C3D94 B0 61 00 1C */ sth r3, 0x1c(r1) +/* 801C8138 001C3D98 B0 01 00 1E */ sth r0, 0x1e(r1) +/* 801C813C 001C3D9C A0 7F 00 18 */ lhz r3, 0x18(r31) +/* 801C8140 001C3DA0 A0 1F 00 1A */ lhz r0, 0x1a(r31) +/* 801C8144 001C3DA4 B0 61 00 20 */ sth r3, 0x20(r1) +/* 801C8148 001C3DA8 B0 01 00 22 */ sth r0, 0x22(r1) +/* 801C814C 001C3DAC A0 7F 00 1C */ lhz r3, 0x1c(r31) +/* 801C8150 001C3DB0 A0 1F 00 1E */ lhz r0, 0x1e(r31) +/* 801C8154 001C3DB4 B0 61 00 24 */ sth r3, 0x24(r1) +/* 801C8158 001C3DB8 B0 01 00 26 */ sth r0, 0x26(r1) +/* 801C815C 001C3DBC A0 7F 00 20 */ lhz r3, 0x20(r31) +/* 801C8160 001C3DC0 A0 1F 00 22 */ lhz r0, 0x22(r31) +/* 801C8164 001C3DC4 B0 61 00 28 */ sth r3, 0x28(r1) +/* 801C8168 001C3DC8 B0 01 00 2A */ sth r0, 0x2a(r1) +/* 801C816C 001C3DCC A0 7F 00 24 */ lhz r3, 0x24(r31) +/* 801C8170 001C3DD0 A0 1F 00 26 */ lhz r0, 0x26(r31) +/* 801C8174 001C3DD4 B0 61 00 2C */ sth r3, 0x2c(r1) +/* 801C8178 001C3DD8 B0 01 00 2E */ sth r0, 0x2e(r1) +/* 801C817C 001C3DDC A0 1F 00 28 */ lhz r0, 0x28(r31) +/* 801C8180 001C3DE0 B0 01 00 30 */ sth r0, 0x30(r1) +/* 801C8184 001C3DE4 40 81 00 20 */ ble lbl_801C81A4 +/* 801C8188 001C3DE8 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C818C 001C3DEC 38 61 00 34 */ addi r3, r1, 0x34 +/* 801C8190 001C3DF0 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C8194 001C3DF4 38 A0 00 00 */ li r5, 0 +/* 801C8198 001C3DF8 38 84 00 A1 */ addi r4, r4, 0xa1 +/* 801C819C 001C3DFC 4B FF FB F1 */ bl func_801C7D8C +/* 801C81A0 001C3E00 48 00 00 1C */ b lbl_801C81BC +lbl_801C81A4: +/* 801C81A4 001C3E04 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C81A8 001C3E08 38 61 00 34 */ addi r3, r1, 0x34 +/* 801C81AC 001C3E0C 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C81B0 001C3E10 38 A0 FF FF */ li r5, -1 +/* 801C81B4 001C3E14 38 84 00 9D */ addi r4, r4, 0x9d +/* 801C81B8 001C3E18 4B FF FB D5 */ bl func_801C7D8C +lbl_801C81BC: +/* 801C81BC 001C3E1C 7F E3 FB 78 */ mr r3, r31 +/* 801C81C0 001C3E20 38 81 00 08 */ addi r4, r1, 8 +/* 801C81C4 001C3E24 38 A1 00 34 */ addi r5, r1, 0x34 +/* 801C81C8 001C3E28 4B FF F9 3D */ bl func_801C7B04 +lbl_801C81CC: +/* 801C81CC 001C3E2C 80 01 00 74 */ lwz r0, 0x74(r1) +/* 801C81D0 001C3E30 83 E1 00 6C */ lwz r31, 0x6c(r1) +/* 801C81D4 001C3E34 83 C1 00 68 */ lwz r30, 0x68(r1) +/* 801C81D8 001C3E38 7C 08 03 A6 */ mtlr r0 +/* 801C81DC 001C3E3C 38 21 00 70 */ addi r1, r1, 0x70 +/* 801C81E0 001C3E40 4E 80 00 20 */ blr + +.global func_801C81E4 +func_801C81E4: +/* 801C81E4 001C3E44 88 A3 00 05 */ lbz r5, 5(r3) +/* 801C81E8 001C3E48 2C 05 00 00 */ cmpwi r5, 0 +/* 801C81EC 001C3E4C 40 82 00 14 */ bne lbl_801C8200 +/* 801C81F0 001C3E50 88 04 00 05 */ lbz r0, 5(r4) +/* 801C81F4 001C3E54 7C 00 00 34 */ cntlzw r0, r0 +/* 801C81F8 001C3E58 54 03 D9 7E */ srwi r3, r0, 5 +/* 801C81FC 001C3E5C 4E 80 00 20 */ blr +lbl_801C8200: +/* 801C8200 001C3E60 88 04 00 05 */ lbz r0, 5(r4) +/* 801C8204 001C3E64 2C 00 00 00 */ cmpwi r0, 0 +/* 801C8208 001C3E68 40 82 00 10 */ bne lbl_801C8218 +/* 801C820C 001C3E6C 7C A0 00 34 */ cntlzw r0, r5 +/* 801C8210 001C3E70 54 03 D9 7E */ srwi r3, r0, 5 +/* 801C8214 001C3E74 4E 80 00 20 */ blr +lbl_801C8218: +/* 801C8218 001C3E78 A8 A3 00 02 */ lha r5, 2(r3) +/* 801C821C 001C3E7C A8 04 00 02 */ lha r0, 2(r4) +/* 801C8220 001C3E80 7C 05 00 00 */ cmpw r5, r0 +/* 801C8224 001C3E84 40 82 00 9C */ bne lbl_801C82C0 +/* 801C8228 001C3E88 88 E3 00 04 */ lbz r7, 4(r3) +/* 801C822C 001C3E8C 88 04 00 04 */ lbz r0, 4(r4) +/* 801C8230 001C3E90 7C E9 3B 78 */ mr r9, r7 +/* 801C8234 001C3E94 7C 07 00 00 */ cmpw r7, r0 +/* 801C8238 001C3E98 40 81 00 08 */ ble lbl_801C8240 +/* 801C823C 001C3E9C 7C 09 03 78 */ mr r9, r0 +lbl_801C8240: +/* 801C8240 001C3EA0 39 00 00 00 */ li r8, 0 +/* 801C8244 001C3EA4 7D 29 03 A6 */ mtctr r9 +/* 801C8248 001C3EA8 2C 09 00 00 */ cmpwi r9, 0 +/* 801C824C 001C3EAC 40 81 00 2C */ ble lbl_801C8278 +lbl_801C8250: +/* 801C8250 001C3EB0 7C C3 42 14 */ add r6, r3, r8 +/* 801C8254 001C3EB4 7C A4 42 14 */ add r5, r4, r8 +/* 801C8258 001C3EB8 88 C6 00 05 */ lbz r6, 5(r6) +/* 801C825C 001C3EBC 88 05 00 05 */ lbz r0, 5(r5) +/* 801C8260 001C3EC0 7C 06 00 40 */ cmplw r6, r0 +/* 801C8264 001C3EC4 41 82 00 0C */ beq lbl_801C8270 +/* 801C8268 001C3EC8 38 60 00 00 */ li r3, 0 +/* 801C826C 001C3ECC 4E 80 00 20 */ blr +lbl_801C8270: +/* 801C8270 001C3ED0 39 08 00 01 */ addi r8, r8, 1 +/* 801C8274 001C3ED4 42 00 FF DC */ bdnz lbl_801C8250 +lbl_801C8278: +/* 801C8278 001C3ED8 7C 09 38 00 */ cmpw r9, r7 +/* 801C827C 001C3EDC 40 82 00 08 */ bne lbl_801C8284 +/* 801C8280 001C3EE0 7C 83 23 78 */ mr r3, r4 +lbl_801C8284: +/* 801C8284 001C3EE4 88 83 00 04 */ lbz r4, 4(r3) +/* 801C8288 001C3EE8 7C 08 20 50 */ subf r0, r8, r4 +/* 801C828C 001C3EEC 7C 09 03 A6 */ mtctr r0 +/* 801C8290 001C3EF0 7C 08 20 00 */ cmpw r8, r4 +/* 801C8294 001C3EF4 40 80 00 24 */ bge lbl_801C82B8 +lbl_801C8298: +/* 801C8298 001C3EF8 7C 83 42 14 */ add r4, r3, r8 +/* 801C829C 001C3EFC 88 04 00 05 */ lbz r0, 5(r4) +/* 801C82A0 001C3F00 2C 00 00 00 */ cmpwi r0, 0 +/* 801C82A4 001C3F04 41 82 00 0C */ beq lbl_801C82B0 +/* 801C82A8 001C3F08 38 60 00 00 */ li r3, 0 +/* 801C82AC 001C3F0C 4E 80 00 20 */ blr +lbl_801C82B0: +/* 801C82B0 001C3F10 39 08 00 01 */ addi r8, r8, 1 +/* 801C82B4 001C3F14 42 00 FF E4 */ bdnz lbl_801C8298 +lbl_801C82B8: +/* 801C82B8 001C3F18 38 60 00 01 */ li r3, 1 +/* 801C82BC 001C3F1C 4E 80 00 20 */ blr +lbl_801C82C0: +/* 801C82C0 001C3F20 38 60 00 00 */ li r3, 0 +/* 801C82C4 001C3F24 4E 80 00 20 */ blr + +.global func_801C82C8 +func_801C82C8: +/* 801C82C8 001C3F28 88 03 00 05 */ lbz r0, 5(r3) +/* 801C82CC 001C3F2C 2C 00 00 00 */ cmpwi r0, 0 +/* 801C82D0 001C3F30 40 82 00 18 */ bne lbl_801C82E8 +/* 801C82D4 001C3F34 88 64 00 05 */ lbz r3, 5(r4) +/* 801C82D8 001C3F38 7C 03 00 D0 */ neg r0, r3 +/* 801C82DC 001C3F3C 7C 00 1B 78 */ or r0, r0, r3 +/* 801C82E0 001C3F40 54 03 0F FE */ srwi r3, r0, 0x1f +/* 801C82E4 001C3F44 4E 80 00 20 */ blr +lbl_801C82E8: +/* 801C82E8 001C3F48 88 04 00 05 */ lbz r0, 5(r4) +/* 801C82EC 001C3F4C 2C 00 00 00 */ cmpwi r0, 0 +/* 801C82F0 001C3F50 40 82 00 0C */ bne lbl_801C82FC +/* 801C82F4 001C3F54 38 60 00 00 */ li r3, 0 +/* 801C82F8 001C3F58 4E 80 00 20 */ blr +lbl_801C82FC: +/* 801C82FC 001C3F5C A8 A4 00 02 */ lha r5, 2(r4) +/* 801C8300 001C3F60 A8 03 00 02 */ lha r0, 2(r3) +/* 801C8304 001C3F64 7C 00 28 00 */ cmpw r0, r5 +/* 801C8308 001C3F68 40 82 00 A8 */ bne lbl_801C83B0 +/* 801C830C 001C3F6C 88 E3 00 04 */ lbz r7, 4(r3) +/* 801C8310 001C3F70 88 04 00 04 */ lbz r0, 4(r4) +/* 801C8314 001C3F74 7C E9 3B 78 */ mr r9, r7 +/* 801C8318 001C3F78 7C 07 00 00 */ cmpw r7, r0 +/* 801C831C 001C3F7C 40 81 00 08 */ ble lbl_801C8324 +/* 801C8320 001C3F80 7C 09 03 78 */ mr r9, r0 +lbl_801C8324: +/* 801C8324 001C3F84 39 00 00 00 */ li r8, 0 +/* 801C8328 001C3F88 7D 29 03 A6 */ mtctr r9 +/* 801C832C 001C3F8C 2C 09 00 00 */ cmpwi r9, 0 +/* 801C8330 001C3F90 40 81 00 3C */ ble lbl_801C836C +lbl_801C8334: +/* 801C8334 001C3F94 7C C4 42 14 */ add r6, r4, r8 +/* 801C8338 001C3F98 7C A3 42 14 */ add r5, r3, r8 +/* 801C833C 001C3F9C 88 C6 00 05 */ lbz r6, 5(r6) +/* 801C8340 001C3FA0 88 05 00 05 */ lbz r0, 5(r5) +/* 801C8344 001C3FA4 7C 00 30 40 */ cmplw r0, r6 +/* 801C8348 001C3FA8 40 80 00 0C */ bge lbl_801C8354 +/* 801C834C 001C3FAC 38 60 00 01 */ li r3, 1 +/* 801C8350 001C3FB0 4E 80 00 20 */ blr +lbl_801C8354: +/* 801C8354 001C3FB4 7C 06 00 40 */ cmplw r6, r0 +/* 801C8358 001C3FB8 40 80 00 0C */ bge lbl_801C8364 +/* 801C835C 001C3FBC 38 60 00 00 */ li r3, 0 +/* 801C8360 001C3FC0 4E 80 00 20 */ blr +lbl_801C8364: +/* 801C8364 001C3FC4 39 08 00 01 */ addi r8, r8, 1 +/* 801C8368 001C3FC8 42 00 FF CC */ bdnz lbl_801C8334 +lbl_801C836C: +/* 801C836C 001C3FCC 7C 09 38 00 */ cmpw r9, r7 +/* 801C8370 001C3FD0 40 82 00 38 */ bne lbl_801C83A8 +/* 801C8374 001C3FD4 88 64 00 04 */ lbz r3, 4(r4) +/* 801C8378 001C3FD8 7C 08 18 50 */ subf r0, r8, r3 +/* 801C837C 001C3FDC 7C 09 03 A6 */ mtctr r0 +/* 801C8380 001C3FE0 7C 08 18 00 */ cmpw r8, r3 +/* 801C8384 001C3FE4 40 80 00 24 */ bge lbl_801C83A8 +lbl_801C8388: +/* 801C8388 001C3FE8 7C 64 42 14 */ add r3, r4, r8 +/* 801C838C 001C3FEC 88 03 00 05 */ lbz r0, 5(r3) +/* 801C8390 001C3FF0 2C 00 00 00 */ cmpwi r0, 0 +/* 801C8394 001C3FF4 41 82 00 0C */ beq lbl_801C83A0 +/* 801C8398 001C3FF8 38 60 00 01 */ li r3, 1 +/* 801C839C 001C3FFC 4E 80 00 20 */ blr +lbl_801C83A0: +/* 801C83A0 001C4000 39 08 00 01 */ addi r8, r8, 1 +/* 801C83A4 001C4004 42 00 FF E4 */ bdnz lbl_801C8388 +lbl_801C83A8: +/* 801C83A8 001C4008 38 60 00 00 */ li r3, 0 +/* 801C83AC 001C400C 4E 80 00 20 */ blr +lbl_801C83B0: +/* 801C83B0 001C4010 7C A0 02 78 */ xor r0, r5, r0 +/* 801C83B4 001C4014 7C 03 0E 70 */ srawi r3, r0, 1 +/* 801C83B8 001C4018 7C 00 28 38 */ and r0, r0, r5 +/* 801C83BC 001C401C 7C 00 18 50 */ subf r0, r0, r3 +/* 801C83C0 001C4020 54 03 0F FE */ srwi r3, r0, 0x1f +/* 801C83C4 001C4024 4E 80 00 20 */ blr + +.global func_801C83C8 +func_801C83C8: +/* 801C83C8 001C4028 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 801C83CC 001C402C A1 84 00 1A */ lhz r12, 0x1a(r4) +/* 801C83D0 001C4030 BE 61 00 0C */ stmw r19, 0xc(r1) +/* 801C83D4 001C4034 A2 64 00 00 */ lhz r19, 0(r4) +/* 801C83D8 001C4038 A2 84 00 02 */ lhz r20, 2(r4) +/* 801C83DC 001C403C A2 A4 00 04 */ lhz r21, 4(r4) +/* 801C83E0 001C4040 A2 C4 00 06 */ lhz r22, 6(r4) +/* 801C83E4 001C4044 A2 E4 00 08 */ lhz r23, 8(r4) +/* 801C83E8 001C4048 A3 04 00 0A */ lhz r24, 0xa(r4) +/* 801C83EC 001C404C A3 24 00 0C */ lhz r25, 0xc(r4) +/* 801C83F0 001C4050 A3 44 00 0E */ lhz r26, 0xe(r4) +/* 801C83F4 001C4054 A3 64 00 10 */ lhz r27, 0x10(r4) +/* 801C83F8 001C4058 A3 84 00 12 */ lhz r28, 0x12(r4) +/* 801C83FC 001C405C A3 A4 00 14 */ lhz r29, 0x14(r4) +/* 801C8400 001C4060 A3 C4 00 16 */ lhz r30, 0x16(r4) +/* 801C8404 001C4064 A3 E4 00 18 */ lhz r31, 0x18(r4) +/* 801C8408 001C4068 A1 64 00 1C */ lhz r11, 0x1c(r4) +/* 801C840C 001C406C A1 44 00 1E */ lhz r10, 0x1e(r4) +/* 801C8410 001C4070 A1 24 00 20 */ lhz r9, 0x20(r4) +/* 801C8414 001C4074 A1 04 00 22 */ lhz r8, 0x22(r4) +/* 801C8418 001C4078 A0 E4 00 24 */ lhz r7, 0x24(r4) +/* 801C841C 001C407C A0 C4 00 26 */ lhz r6, 0x26(r4) +/* 801C8420 001C4080 A0 04 00 28 */ lhz r0, 0x28(r4) +/* 801C8424 001C4084 B2 63 00 00 */ sth r19, 0(r3) +/* 801C8428 001C4088 B2 83 00 02 */ sth r20, 2(r3) +/* 801C842C 001C408C B2 A3 00 04 */ sth r21, 4(r3) +/* 801C8430 001C4090 B2 C3 00 06 */ sth r22, 6(r3) +/* 801C8434 001C4094 B2 E3 00 08 */ sth r23, 8(r3) +/* 801C8438 001C4098 B3 03 00 0A */ sth r24, 0xa(r3) +/* 801C843C 001C409C B3 23 00 0C */ sth r25, 0xc(r3) +/* 801C8440 001C40A0 B3 43 00 0E */ sth r26, 0xe(r3) +/* 801C8444 001C40A4 B3 63 00 10 */ sth r27, 0x10(r3) +/* 801C8448 001C40A8 B3 83 00 12 */ sth r28, 0x12(r3) +/* 801C844C 001C40AC B3 A3 00 14 */ sth r29, 0x14(r3) +/* 801C8450 001C40B0 B3 C3 00 16 */ sth r30, 0x16(r3) +/* 801C8454 001C40B4 B3 E3 00 18 */ sth r31, 0x18(r3) +/* 801C8458 001C40B8 B1 83 00 1A */ sth r12, 0x1a(r3) +/* 801C845C 001C40BC B1 63 00 1C */ sth r11, 0x1c(r3) +/* 801C8460 001C40C0 B1 43 00 1E */ sth r10, 0x1e(r3) +/* 801C8464 001C40C4 B1 23 00 20 */ sth r9, 0x20(r3) +/* 801C8468 001C40C8 B1 03 00 22 */ sth r8, 0x22(r3) +/* 801C846C 001C40CC B0 E3 00 24 */ sth r7, 0x24(r3) +/* 801C8470 001C40D0 B0 C3 00 26 */ sth r6, 0x26(r3) +/* 801C8474 001C40D4 B0 03 00 28 */ sth r0, 0x28(r3) +/* 801C8478 001C40D8 88 05 00 05 */ lbz r0, 5(r5) +/* 801C847C 001C40DC 2C 00 00 00 */ cmpwi r0, 0 +/* 801C8480 001C40E0 41 82 04 58 */ beq lbl_801C88D8 +/* 801C8484 001C40E4 89 03 00 04 */ lbz r8, 4(r3) +/* 801C8488 001C40E8 88 05 00 04 */ lbz r0, 4(r5) +/* 801C848C 001C40EC 7C 08 00 00 */ cmpw r8, r0 +/* 801C8490 001C40F0 40 80 00 08 */ bge lbl_801C8498 +/* 801C8494 001C40F4 7C 08 03 78 */ mr r8, r0 +lbl_801C8498: +/* 801C8498 001C40F8 A8 85 00 02 */ lha r4, 2(r5) +/* 801C849C 001C40FC A8 03 00 02 */ lha r0, 2(r3) +/* 801C84A0 001C4100 7C 04 00 50 */ subf r0, r4, r0 +/* 801C84A4 001C4104 7D 08 02 14 */ add r8, r8, r0 +/* 801C84A8 001C4108 2C 08 00 24 */ cmpwi r8, 0x24 +/* 801C84AC 001C410C 40 81 00 08 */ ble lbl_801C84B4 +/* 801C84B0 001C4110 39 00 00 24 */ li r8, 0x24 +lbl_801C84B4: +/* 801C84B4 001C4114 38 E0 00 00 */ li r7, 0 +/* 801C84B8 001C4118 48 00 00 18 */ b lbl_801C84D0 +lbl_801C84BC: +/* 801C84BC 001C411C 88 C3 00 04 */ lbz r6, 4(r3) +/* 801C84C0 001C4120 7C 83 32 14 */ add r4, r3, r6 +/* 801C84C4 001C4124 38 C6 00 01 */ addi r6, r6, 1 +/* 801C84C8 001C4128 98 E4 00 05 */ stb r7, 5(r4) +/* 801C84CC 001C412C 98 C3 00 04 */ stb r6, 4(r3) +lbl_801C84D0: +/* 801C84D0 001C4130 88 83 00 04 */ lbz r4, 4(r3) +/* 801C84D4 001C4134 7C 04 40 00 */ cmpw r4, r8 +/* 801C84D8 001C4138 41 80 FF E4 */ blt lbl_801C84BC +/* 801C84DC 001C413C 88 E5 00 04 */ lbz r7, 4(r5) +/* 801C84E0 001C4140 38 83 00 05 */ addi r4, r3, 5 +/* 801C84E4 001C4144 7C C4 42 14 */ add r6, r4, r8 +/* 801C84E8 001C4148 7C E7 02 14 */ add r7, r7, r0 +/* 801C84EC 001C414C 7C 07 40 00 */ cmpw r7, r8 +/* 801C84F0 001C4150 40 80 00 08 */ bge lbl_801C84F8 +/* 801C84F4 001C4154 7C C4 3A 14 */ add r6, r4, r7 +lbl_801C84F8: +/* 801C84F8 001C4158 7C E4 30 50 */ subf r7, r4, r6 +/* 801C84FC 001C415C 39 25 00 05 */ addi r9, r5, 5 +/* 801C8500 001C4160 7C E0 38 50 */ subf r7, r0, r7 +/* 801C8504 001C4164 7D 49 3A 14 */ add r10, r9, r7 +/* 801C8508 001C4168 7D 4B 53 78 */ mr r11, r10 +/* 801C850C 001C416C 48 00 01 24 */ b lbl_801C8630 +lbl_801C8510: +/* 801C8510 001C4170 8D 06 FF FF */ lbzu r8, -1(r6) +/* 801C8514 001C4174 8C EA FF FF */ lbzu r7, -1(r10) +/* 801C8518 001C4178 7C 08 38 40 */ cmplw r8, r7 +/* 801C851C 001C417C 40 80 01 04 */ bge lbl_801C8620 +/* 801C8520 001C4180 39 86 FF FF */ addi r12, r6, -1 +/* 801C8524 001C4184 48 00 00 08 */ b lbl_801C852C +lbl_801C8528: +/* 801C8528 001C4188 39 8C FF FF */ addi r12, r12, -1 +lbl_801C852C: +/* 801C852C 001C418C 88 EC 00 00 */ lbz r7, 0(r12) +/* 801C8530 001C4190 2C 07 00 00 */ cmpwi r7, 0 +/* 801C8534 001C4194 41 82 FF F4 */ beq lbl_801C8528 +/* 801C8538 001C4198 7C 0C 30 40 */ cmplw r12, r6 +/* 801C853C 001C419C 7D 0C 30 50 */ subf r8, r12, r6 +/* 801C8540 001C41A0 41 82 00 E0 */ beq lbl_801C8620 +/* 801C8544 001C41A4 55 07 E8 FF */ rlwinm. r7, r8, 0x1d, 3, 0x1f +/* 801C8548 001C41A8 7C E9 03 A6 */ mtctr r7 +/* 801C854C 001C41AC 41 82 00 B4 */ beq lbl_801C8600 +lbl_801C8550: +/* 801C8550 001C41B0 88 EC 00 00 */ lbz r7, 0(r12) +/* 801C8554 001C41B4 38 E7 FF FF */ addi r7, r7, -1 +/* 801C8558 001C41B8 98 EC 00 00 */ stb r7, 0(r12) +/* 801C855C 001C41BC 88 EC 00 01 */ lbz r7, 1(r12) +/* 801C8560 001C41C0 38 E7 00 0A */ addi r7, r7, 0xa +/* 801C8564 001C41C4 54 E7 06 3E */ clrlwi r7, r7, 0x18 +/* 801C8568 001C41C8 38 E7 FF FF */ addi r7, r7, -1 +/* 801C856C 001C41CC 98 EC 00 01 */ stb r7, 1(r12) +/* 801C8570 001C41D0 88 EC 00 02 */ lbz r7, 2(r12) +/* 801C8574 001C41D4 38 E7 00 0A */ addi r7, r7, 0xa +/* 801C8578 001C41D8 54 E7 06 3E */ clrlwi r7, r7, 0x18 +/* 801C857C 001C41DC 38 E7 FF FF */ addi r7, r7, -1 +/* 801C8580 001C41E0 98 EC 00 02 */ stb r7, 2(r12) +/* 801C8584 001C41E4 88 EC 00 03 */ lbz r7, 3(r12) +/* 801C8588 001C41E8 38 E7 00 0A */ addi r7, r7, 0xa +/* 801C858C 001C41EC 54 E7 06 3E */ clrlwi r7, r7, 0x18 +/* 801C8590 001C41F0 38 E7 FF FF */ addi r7, r7, -1 +/* 801C8594 001C41F4 98 EC 00 03 */ stb r7, 3(r12) +/* 801C8598 001C41F8 88 EC 00 04 */ lbz r7, 4(r12) +/* 801C859C 001C41FC 38 E7 00 0A */ addi r7, r7, 0xa +/* 801C85A0 001C4200 54 E7 06 3E */ clrlwi r7, r7, 0x18 +/* 801C85A4 001C4204 38 E7 FF FF */ addi r7, r7, -1 +/* 801C85A8 001C4208 98 EC 00 04 */ stb r7, 4(r12) +/* 801C85AC 001C420C 88 EC 00 05 */ lbz r7, 5(r12) +/* 801C85B0 001C4210 38 E7 00 0A */ addi r7, r7, 0xa +/* 801C85B4 001C4214 54 E7 06 3E */ clrlwi r7, r7, 0x18 +/* 801C85B8 001C4218 38 E7 FF FF */ addi r7, r7, -1 +/* 801C85BC 001C421C 98 EC 00 05 */ stb r7, 5(r12) +/* 801C85C0 001C4220 88 EC 00 06 */ lbz r7, 6(r12) +/* 801C85C4 001C4224 38 E7 00 0A */ addi r7, r7, 0xa +/* 801C85C8 001C4228 54 E7 06 3E */ clrlwi r7, r7, 0x18 +/* 801C85CC 001C422C 38 E7 FF FF */ addi r7, r7, -1 +/* 801C85D0 001C4230 98 EC 00 06 */ stb r7, 6(r12) +/* 801C85D4 001C4234 88 EC 00 07 */ lbz r7, 7(r12) +/* 801C85D8 001C4238 38 E7 00 0A */ addi r7, r7, 0xa +/* 801C85DC 001C423C 54 E7 06 3E */ clrlwi r7, r7, 0x18 +/* 801C85E0 001C4240 38 E7 FF FF */ addi r7, r7, -1 +/* 801C85E4 001C4244 98 EC 00 07 */ stb r7, 7(r12) +/* 801C85E8 001C4248 88 EC 00 08 */ lbz r7, 8(r12) +/* 801C85EC 001C424C 38 E7 00 0A */ addi r7, r7, 0xa +/* 801C85F0 001C4250 9C EC 00 08 */ stbu r7, 8(r12) +/* 801C85F4 001C4254 42 00 FF 5C */ bdnz lbl_801C8550 +/* 801C85F8 001C4258 71 08 00 07 */ andi. r8, r8, 7 +/* 801C85FC 001C425C 41 82 00 24 */ beq lbl_801C8620 +lbl_801C8600: +/* 801C8600 001C4260 7D 09 03 A6 */ mtctr r8 +lbl_801C8604: +/* 801C8604 001C4264 88 EC 00 00 */ lbz r7, 0(r12) +/* 801C8608 001C4268 38 E7 FF FF */ addi r7, r7, -1 +/* 801C860C 001C426C 98 EC 00 00 */ stb r7, 0(r12) +/* 801C8610 001C4270 88 EC 00 01 */ lbz r7, 1(r12) +/* 801C8614 001C4274 38 E7 00 0A */ addi r7, r7, 0xa +/* 801C8618 001C4278 9C EC 00 01 */ stbu r7, 1(r12) +/* 801C861C 001C427C 42 00 FF E8 */ bdnz lbl_801C8604 +lbl_801C8620: +/* 801C8620 001C4280 89 0A 00 00 */ lbz r8, 0(r10) +/* 801C8624 001C4284 88 E6 00 00 */ lbz r7, 0(r6) +/* 801C8628 001C4288 7C E8 38 50 */ subf r7, r8, r7 +/* 801C862C 001C428C 98 E6 00 00 */ stb r7, 0(r6) +lbl_801C8630: +/* 801C8630 001C4290 7C 06 20 40 */ cmplw r6, r4 +/* 801C8634 001C4294 40 81 00 0C */ ble lbl_801C8640 +/* 801C8638 001C4298 7C 0A 48 40 */ cmplw r10, r9 +/* 801C863C 001C429C 41 81 FE D4 */ bgt lbl_801C8510 +lbl_801C8640: +/* 801C8640 001C42A0 89 05 00 04 */ lbz r8, 4(r5) +/* 801C8644 001C42A4 7D 29 58 50 */ subf r9, r9, r11 +/* 801C8648 001C42A8 7C 09 40 00 */ cmpw r9, r8 +/* 801C864C 001C42AC 40 80 01 88 */ bge lbl_801C87D4 +/* 801C8650 001C42B0 88 EB 00 00 */ lbz r7, 0(r11) +/* 801C8654 001C42B4 39 40 00 00 */ li r10, 0 +/* 801C8658 001C42B8 28 07 00 05 */ cmplwi r7, 5 +/* 801C865C 001C42BC 40 80 00 0C */ bge lbl_801C8668 +/* 801C8660 001C42C0 39 40 00 01 */ li r10, 1 +/* 801C8664 001C42C4 48 00 00 50 */ b lbl_801C86B4 +lbl_801C8668: +/* 801C8668 001C42C8 40 82 00 4C */ bne lbl_801C86B4 +/* 801C866C 001C42CC 7C A5 42 14 */ add r5, r5, r8 +/* 801C8670 001C42D0 38 CB 00 01 */ addi r6, r11, 1 +/* 801C8674 001C42D4 38 E5 00 05 */ addi r7, r5, 5 +/* 801C8678 001C42D8 7C A6 38 50 */ subf r5, r6, r7 +/* 801C867C 001C42DC 7C A9 03 A6 */ mtctr r5 +/* 801C8680 001C42E0 7C 06 38 40 */ cmplw r6, r7 +/* 801C8684 001C42E4 40 80 00 18 */ bge lbl_801C869C +lbl_801C8688: +/* 801C8688 001C42E8 88 A6 00 00 */ lbz r5, 0(r6) +/* 801C868C 001C42EC 2C 05 00 00 */ cmpwi r5, 0 +/* 801C8690 001C42F0 40 82 01 44 */ bne lbl_801C87D4 +/* 801C8694 001C42F4 38 C6 00 01 */ addi r6, r6, 1 +/* 801C8698 001C42F8 42 00 FF F0 */ bdnz lbl_801C8688 +lbl_801C869C: +/* 801C869C 001C42FC 7C A4 4A 14 */ add r5, r4, r9 +/* 801C86A0 001C4300 7C C0 2A 14 */ add r6, r0, r5 +/* 801C86A4 001C4304 8C 06 FF FF */ lbzu r0, -1(r6) +/* 801C86A8 001C4308 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801C86AC 001C430C 41 82 00 08 */ beq lbl_801C86B4 +/* 801C86B0 001C4310 39 40 00 01 */ li r10, 1 +lbl_801C86B4: +/* 801C86B4 001C4314 2C 0A 00 00 */ cmpwi r10, 0 +/* 801C86B8 001C4318 41 82 01 1C */ beq lbl_801C87D4 +/* 801C86BC 001C431C 88 06 00 00 */ lbz r0, 0(r6) +/* 801C86C0 001C4320 28 00 00 01 */ cmplwi r0, 1 +/* 801C86C4 001C4324 40 80 01 04 */ bge lbl_801C87C8 +/* 801C86C8 001C4328 39 06 FF FF */ addi r8, r6, -1 +/* 801C86CC 001C432C 48 00 00 08 */ b lbl_801C86D4 +lbl_801C86D0: +/* 801C86D0 001C4330 39 08 FF FF */ addi r8, r8, -1 +lbl_801C86D4: +/* 801C86D4 001C4334 88 08 00 00 */ lbz r0, 0(r8) +/* 801C86D8 001C4338 2C 00 00 00 */ cmpwi r0, 0 +/* 801C86DC 001C433C 41 82 FF F4 */ beq lbl_801C86D0 +/* 801C86E0 001C4340 7C 08 30 40 */ cmplw r8, r6 +/* 801C86E4 001C4344 7C A8 30 50 */ subf r5, r8, r6 +/* 801C86E8 001C4348 41 82 00 E0 */ beq lbl_801C87C8 +/* 801C86EC 001C434C 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f +/* 801C86F0 001C4350 7C 09 03 A6 */ mtctr r0 +/* 801C86F4 001C4354 41 82 00 B4 */ beq lbl_801C87A8 +lbl_801C86F8: +/* 801C86F8 001C4358 88 E8 00 00 */ lbz r7, 0(r8) +/* 801C86FC 001C435C 38 07 FF FF */ addi r0, r7, -1 +/* 801C8700 001C4360 98 08 00 00 */ stb r0, 0(r8) +/* 801C8704 001C4364 88 E8 00 01 */ lbz r7, 1(r8) +/* 801C8708 001C4368 38 07 00 0A */ addi r0, r7, 0xa +/* 801C870C 001C436C 54 07 06 3E */ clrlwi r7, r0, 0x18 +/* 801C8710 001C4370 38 07 FF FF */ addi r0, r7, -1 +/* 801C8714 001C4374 98 08 00 01 */ stb r0, 1(r8) +/* 801C8718 001C4378 88 E8 00 02 */ lbz r7, 2(r8) +/* 801C871C 001C437C 38 07 00 0A */ addi r0, r7, 0xa +/* 801C8720 001C4380 54 07 06 3E */ clrlwi r7, r0, 0x18 +/* 801C8724 001C4384 38 07 FF FF */ addi r0, r7, -1 +/* 801C8728 001C4388 98 08 00 02 */ stb r0, 2(r8) +/* 801C872C 001C438C 88 E8 00 03 */ lbz r7, 3(r8) +/* 801C8730 001C4390 38 07 00 0A */ addi r0, r7, 0xa +/* 801C8734 001C4394 54 07 06 3E */ clrlwi r7, r0, 0x18 +/* 801C8738 001C4398 38 07 FF FF */ addi r0, r7, -1 +/* 801C873C 001C439C 98 08 00 03 */ stb r0, 3(r8) +/* 801C8740 001C43A0 88 E8 00 04 */ lbz r7, 4(r8) +/* 801C8744 001C43A4 38 07 00 0A */ addi r0, r7, 0xa +/* 801C8748 001C43A8 54 07 06 3E */ clrlwi r7, r0, 0x18 +/* 801C874C 001C43AC 38 07 FF FF */ addi r0, r7, -1 +/* 801C8750 001C43B0 98 08 00 04 */ stb r0, 4(r8) +/* 801C8754 001C43B4 88 E8 00 05 */ lbz r7, 5(r8) +/* 801C8758 001C43B8 38 07 00 0A */ addi r0, r7, 0xa +/* 801C875C 001C43BC 54 07 06 3E */ clrlwi r7, r0, 0x18 +/* 801C8760 001C43C0 38 07 FF FF */ addi r0, r7, -1 +/* 801C8764 001C43C4 98 08 00 05 */ stb r0, 5(r8) +/* 801C8768 001C43C8 88 E8 00 06 */ lbz r7, 6(r8) +/* 801C876C 001C43CC 38 07 00 0A */ addi r0, r7, 0xa +/* 801C8770 001C43D0 54 07 06 3E */ clrlwi r7, r0, 0x18 +/* 801C8774 001C43D4 38 07 FF FF */ addi r0, r7, -1 +/* 801C8778 001C43D8 98 08 00 06 */ stb r0, 6(r8) +/* 801C877C 001C43DC 88 E8 00 07 */ lbz r7, 7(r8) +/* 801C8780 001C43E0 38 07 00 0A */ addi r0, r7, 0xa +/* 801C8784 001C43E4 54 07 06 3E */ clrlwi r7, r0, 0x18 +/* 801C8788 001C43E8 38 07 FF FF */ addi r0, r7, -1 +/* 801C878C 001C43EC 98 08 00 07 */ stb r0, 7(r8) +/* 801C8790 001C43F0 88 E8 00 08 */ lbz r7, 8(r8) +/* 801C8794 001C43F4 38 07 00 0A */ addi r0, r7, 0xa +/* 801C8798 001C43F8 9C 08 00 08 */ stbu r0, 8(r8) +/* 801C879C 001C43FC 42 00 FF 5C */ bdnz lbl_801C86F8 +/* 801C87A0 001C4400 70 A5 00 07 */ andi. r5, r5, 7 +/* 801C87A4 001C4404 41 82 00 24 */ beq lbl_801C87C8 +lbl_801C87A8: +/* 801C87A8 001C4408 7C A9 03 A6 */ mtctr r5 +lbl_801C87AC: +/* 801C87AC 001C440C 88 E8 00 00 */ lbz r7, 0(r8) +/* 801C87B0 001C4410 38 07 FF FF */ addi r0, r7, -1 +/* 801C87B4 001C4414 98 08 00 00 */ stb r0, 0(r8) +/* 801C87B8 001C4418 88 E8 00 01 */ lbz r7, 1(r8) +/* 801C87BC 001C441C 38 07 00 0A */ addi r0, r7, 0xa +/* 801C87C0 001C4420 9C 08 00 01 */ stbu r0, 1(r8) +/* 801C87C4 001C4424 42 00 FF E8 */ bdnz lbl_801C87AC +lbl_801C87C8: +/* 801C87C8 001C4428 88 A6 00 00 */ lbz r5, 0(r6) +/* 801C87CC 001C442C 38 05 FF FF */ addi r0, r5, -1 +/* 801C87D0 001C4430 98 06 00 00 */ stb r0, 0(r6) +lbl_801C87D4: +/* 801C87D4 001C4434 7C 87 23 78 */ mr r7, r4 +/* 801C87D8 001C4438 48 00 00 08 */ b lbl_801C87E0 +lbl_801C87DC: +/* 801C87DC 001C443C 38 E7 00 01 */ addi r7, r7, 1 +lbl_801C87E0: +/* 801C87E0 001C4440 88 07 00 00 */ lbz r0, 0(r7) +/* 801C87E4 001C4444 2C 00 00 00 */ cmpwi r0, 0 +/* 801C87E8 001C4448 41 82 FF F4 */ beq lbl_801C87DC +/* 801C87EC 001C444C 7C 07 20 40 */ cmplw r7, r4 +/* 801C87F0 001C4450 40 81 00 B0 */ ble lbl_801C88A0 +/* 801C87F4 001C4454 88 03 00 04 */ lbz r0, 4(r3) +/* 801C87F8 001C4458 7C C4 38 50 */ subf r6, r4, r7 +/* 801C87FC 001C445C A8 A3 00 02 */ lha r5, 2(r3) +/* 801C8800 001C4460 54 C8 06 3E */ clrlwi r8, r6, 0x18 +/* 801C8804 001C4464 7C C4 02 14 */ add r6, r4, r0 +/* 801C8808 001C4468 7C 08 28 50 */ subf r0, r8, r5 +/* 801C880C 001C446C 7C 07 30 40 */ cmplw r7, r6 +/* 801C8810 001C4470 B0 03 00 02 */ sth r0, 2(r3) +/* 801C8814 001C4474 7C A7 30 50 */ subf r5, r7, r6 +/* 801C8818 001C4478 40 80 00 7C */ bge lbl_801C8894 +/* 801C881C 001C447C 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f +/* 801C8820 001C4480 7C 09 03 A6 */ mtctr r0 +/* 801C8824 001C4484 41 82 00 58 */ beq lbl_801C887C +lbl_801C8828: +/* 801C8828 001C4488 88 07 00 00 */ lbz r0, 0(r7) +/* 801C882C 001C448C 98 04 00 00 */ stb r0, 0(r4) +/* 801C8830 001C4490 88 07 00 01 */ lbz r0, 1(r7) +/* 801C8834 001C4494 98 04 00 01 */ stb r0, 1(r4) +/* 801C8838 001C4498 88 07 00 02 */ lbz r0, 2(r7) +/* 801C883C 001C449C 98 04 00 02 */ stb r0, 2(r4) +/* 801C8840 001C44A0 88 07 00 03 */ lbz r0, 3(r7) +/* 801C8844 001C44A4 98 04 00 03 */ stb r0, 3(r4) +/* 801C8848 001C44A8 88 07 00 04 */ lbz r0, 4(r7) +/* 801C884C 001C44AC 98 04 00 04 */ stb r0, 4(r4) +/* 801C8850 001C44B0 88 07 00 05 */ lbz r0, 5(r7) +/* 801C8854 001C44B4 98 04 00 05 */ stb r0, 5(r4) +/* 801C8858 001C44B8 88 07 00 06 */ lbz r0, 6(r7) +/* 801C885C 001C44BC 98 04 00 06 */ stb r0, 6(r4) +/* 801C8860 001C44C0 88 07 00 07 */ lbz r0, 7(r7) +/* 801C8864 001C44C4 38 E7 00 08 */ addi r7, r7, 8 +/* 801C8868 001C44C8 98 04 00 07 */ stb r0, 7(r4) +/* 801C886C 001C44CC 38 84 00 08 */ addi r4, r4, 8 +/* 801C8870 001C44D0 42 00 FF B8 */ bdnz lbl_801C8828 +/* 801C8874 001C44D4 70 A5 00 07 */ andi. r5, r5, 7 +/* 801C8878 001C44D8 41 82 00 1C */ beq lbl_801C8894 +lbl_801C887C: +/* 801C887C 001C44DC 7C A9 03 A6 */ mtctr r5 +lbl_801C8880: +/* 801C8880 001C44E0 88 07 00 00 */ lbz r0, 0(r7) +/* 801C8884 001C44E4 38 E7 00 01 */ addi r7, r7, 1 +/* 801C8888 001C44E8 98 04 00 00 */ stb r0, 0(r4) +/* 801C888C 001C44EC 38 84 00 01 */ addi r4, r4, 1 +/* 801C8890 001C44F0 42 00 FF F0 */ bdnz lbl_801C8880 +lbl_801C8894: +/* 801C8894 001C44F4 88 03 00 04 */ lbz r0, 4(r3) +/* 801C8898 001C44F8 7C 08 00 50 */ subf r0, r8, r0 +/* 801C889C 001C44FC 98 03 00 04 */ stb r0, 4(r3) +lbl_801C88A0: +/* 801C88A0 001C4500 88 03 00 04 */ lbz r0, 4(r3) +/* 801C88A4 001C4504 38 83 00 05 */ addi r4, r3, 5 +/* 801C88A8 001C4508 7C A4 02 14 */ add r5, r4, r0 +/* 801C88AC 001C450C 7C 04 28 50 */ subf r0, r4, r5 +/* 801C88B0 001C4510 7C 09 03 A6 */ mtctr r0 +/* 801C88B4 001C4514 7C 05 20 40 */ cmplw r5, r4 +/* 801C88B8 001C4518 40 81 00 14 */ ble lbl_801C88CC +lbl_801C88BC: +/* 801C88BC 001C451C 8C 05 FF FF */ lbzu r0, -1(r5) +/* 801C88C0 001C4520 2C 00 00 00 */ cmpwi r0, 0 +/* 801C88C4 001C4524 40 82 00 08 */ bne lbl_801C88CC +/* 801C88C8 001C4528 42 00 FF F4 */ bdnz lbl_801C88BC +lbl_801C88CC: +/* 801C88CC 001C452C 7C 84 28 50 */ subf r4, r4, r5 +/* 801C88D0 001C4530 38 04 00 01 */ addi r0, r4, 1 +/* 801C88D4 001C4534 98 03 00 04 */ stb r0, 4(r3) +lbl_801C88D8: +/* 801C88D8 001C4538 BA 61 00 0C */ lmw r19, 0xc(r1) +/* 801C88DC 001C453C 38 21 00 40 */ addi r1, r1, 0x40 +/* 801C88E0 001C4540 4E 80 00 20 */ blr + +.global func_801C88E4 +func_801C88E4: +/* 801C88E4 001C4544 94 21 FF 70 */ stwu r1, -0x90(r1) +/* 801C88E8 001C4548 7C 08 02 A6 */ mflr r0 +/* 801C88EC 001C454C 90 01 00 94 */ stw r0, 0x94(r1) +/* 801C88F0 001C4550 DB E1 00 88 */ stfd f31, 0x88(r1) +/* 801C88F4 001C4554 FF E0 08 90 */ fmr f31, f1 +/* 801C88F8 001C4558 93 E1 00 84 */ stw r31, 0x84(r1) +/* 801C88FC 001C455C 93 C1 00 80 */ stw r30, 0x80(r1) +/* 801C8900 001C4560 7C 7E 1B 78 */ mr r30, r3 +/* 801C8904 001C4564 93 A1 00 7C */ stw r29, 0x7c(r1) +/* 801C8908 001C4568 48 00 1E 11 */ bl func_801CA718 +/* 801C890C 001C456C C8 02 90 F8 */ lfd f0, lbl_806416F8-_SDA2_BASE_(r2) +/* 801C8910 001C4570 7C 03 00 D0 */ neg r0, r3 +/* 801C8914 001C4574 7C 00 1B 78 */ or r0, r0, r3 +/* 801C8918 001C4578 FC 00 F8 00 */ fcmpu cr0, f0, f31 +/* 801C891C 001C457C 54 00 0F FE */ srwi r0, r0, 0x1f +/* 801C8920 001C4580 7C 1F 07 74 */ extsb r31, r0 +/* 801C8924 001C4584 40 82 00 20 */ bne lbl_801C8944 +/* 801C8928 001C4588 38 60 00 00 */ li r3, 0 +/* 801C892C 001C458C 38 00 00 01 */ li r0, 1 +/* 801C8930 001C4590 9B FE 00 00 */ stb r31, 0(r30) +/* 801C8934 001C4594 B0 7E 00 02 */ sth r3, 2(r30) +/* 801C8938 001C4598 98 1E 00 04 */ stb r0, 4(r30) +/* 801C893C 001C459C 98 7E 00 05 */ stb r3, 5(r30) +/* 801C8940 001C45A0 48 00 00 E8 */ b lbl_801C8A28 +lbl_801C8944: +/* 801C8944 001C45A4 FC 20 F8 90 */ fmr f1, f31 +/* 801C8948 001C45A8 48 00 1D E9 */ bl func_801CA730 +/* 801C894C 001C45AC 2C 03 00 02 */ cmpwi r3, 2 +/* 801C8950 001C45B0 41 81 00 38 */ bgt lbl_801C8988 +/* 801C8954 001C45B4 38 60 00 00 */ li r3, 0 +/* 801C8958 001C45B8 38 00 00 01 */ li r0, 1 +/* 801C895C 001C45BC FC 20 F8 90 */ fmr f1, f31 +/* 801C8960 001C45C0 9B FE 00 00 */ stb r31, 0(r30) +/* 801C8964 001C45C4 B0 7E 00 02 */ sth r3, 2(r30) +/* 801C8968 001C45C8 98 1E 00 04 */ stb r0, 4(r30) +/* 801C896C 001C45CC 48 00 1D C5 */ bl func_801CA730 +/* 801C8970 001C45D0 2C 03 00 01 */ cmpwi r3, 1 +/* 801C8974 001C45D4 38 00 00 49 */ li r0, 0x49 +/* 801C8978 001C45D8 40 82 00 08 */ bne lbl_801C8980 +/* 801C897C 001C45DC 38 00 00 4E */ li r0, 0x4e +lbl_801C8980: +/* 801C8980 001C45E0 98 1E 00 05 */ stb r0, 5(r30) +/* 801C8984 001C45E4 48 00 00 A4 */ b lbl_801C8A28 +lbl_801C8988: +/* 801C8988 001C45E8 2C 1F 00 00 */ cmpwi r31, 0 +/* 801C898C 001C45EC 41 82 00 08 */ beq lbl_801C8994 +/* 801C8990 001C45F0 FF E0 F8 50 */ fneg f31, f31 +lbl_801C8994: +/* 801C8994 001C45F4 FC 20 F8 90 */ fmr f1, f31 +/* 801C8998 001C45F8 38 61 00 08 */ addi r3, r1, 8 +/* 801C899C 001C45FC 48 00 B8 F5 */ bl func_801D4290 +/* 801C89A0 001C4600 D8 21 00 10 */ stfd f1, 0x10(r1) +/* 801C89A4 001C4604 FF E0 08 90 */ fmr f31, f1 +/* 801C89A8 001C4608 80 81 00 14 */ lwz r4, 0x14(r1) +/* 801C89AC 001C460C 80 61 00 10 */ lwz r3, 0x10(r1) +/* 801C89B0 001C4610 38 04 FF FF */ addi r0, r4, -1 +/* 801C89B4 001C4614 2C 04 00 00 */ cmpwi r4, 0 +/* 801C89B8 001C4618 7C 00 20 78 */ andc r0, r0, r4 +/* 801C89BC 001C461C 64 63 00 10 */ oris r3, r3, 0x10 +/* 801C89C0 001C4620 7C 00 00 34 */ cntlzw r0, r0 +/* 801C89C4 001C4624 20 80 00 20 */ subfic r4, r0, 0x20 +/* 801C89C8 001C4628 40 82 00 18 */ bne lbl_801C89E0 +/* 801C89CC 001C462C 38 03 FF FF */ addi r0, r3, -1 +/* 801C89D0 001C4630 7C 00 18 78 */ andc r0, r0, r3 +/* 801C89D4 001C4634 7C 00 00 34 */ cntlzw r0, r0 +/* 801C89D8 001C4638 20 60 00 20 */ subfic r3, r0, 0x20 +/* 801C89DC 001C463C 38 83 00 20 */ addi r4, r3, 0x20 +lbl_801C89E0: +/* 801C89E0 001C4640 80 01 00 08 */ lwz r0, 8(r1) +/* 801C89E4 001C4644 23 A4 00 35 */ subfic r29, r4, 0x35 +/* 801C89E8 001C4648 38 61 00 18 */ addi r3, r1, 0x18 +/* 801C89EC 001C464C 7C 9D 00 50 */ subf r4, r29, r0 +/* 801C89F0 001C4650 4B FF F4 89 */ bl func_801C7E78 +/* 801C89F4 001C4654 FC 20 F8 90 */ fmr f1, f31 +/* 801C89F8 001C4658 7F A3 EB 78 */ mr r3, r29 +/* 801C89FC 001C465C 48 00 B9 1D */ bl func_801D4318 +/* 801C8A00 001C4660 4B FF ED 19 */ bl __cvt_dbl_ull +/* 801C8A04 001C4664 7C 65 1B 78 */ mr r5, r3 +/* 801C8A08 001C4668 7C 86 23 78 */ mr r6, r4 +/* 801C8A0C 001C466C 38 61 00 44 */ addi r3, r1, 0x44 +/* 801C8A10 001C4670 4B FF F0 19 */ bl func_801C7A28 +/* 801C8A14 001C4674 7F C3 F3 78 */ mr r3, r30 +/* 801C8A18 001C4678 38 81 00 44 */ addi r4, r1, 0x44 +/* 801C8A1C 001C467C 38 A1 00 18 */ addi r5, r1, 0x18 +/* 801C8A20 001C4680 4B FF F0 E5 */ bl func_801C7B04 +/* 801C8A24 001C4684 9B FE 00 00 */ stb r31, 0(r30) +lbl_801C8A28: +/* 801C8A28 001C4688 80 01 00 94 */ lwz r0, 0x94(r1) +/* 801C8A2C 001C468C CB E1 00 88 */ lfd f31, 0x88(r1) +/* 801C8A30 001C4690 83 E1 00 84 */ lwz r31, 0x84(r1) +/* 801C8A34 001C4694 83 C1 00 80 */ lwz r30, 0x80(r1) +/* 801C8A38 001C4698 83 A1 00 7C */ lwz r29, 0x7c(r1) +/* 801C8A3C 001C469C 7C 08 03 A6 */ mtlr r0 +/* 801C8A40 001C46A0 38 21 00 90 */ addi r1, r1, 0x90 +/* 801C8A44 001C46A4 4E 80 00 20 */ blr + +.global func_801C8A48 +func_801C8A48: +/* 801C8A48 001C46A8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801C8A4C 001C46AC 7C 08 02 A6 */ mflr r0 +/* 801C8A50 001C46B0 90 01 00 14 */ stw r0, 0x14(r1) +/* 801C8A54 001C46B4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 801C8A58 001C46B8 AB E3 00 02 */ lha r31, 2(r3) +/* 801C8A5C 001C46BC 93 C1 00 08 */ stw r30, 8(r1) +/* 801C8A60 001C46C0 7C 9E 23 78 */ mr r30, r4 +/* 801C8A64 001C46C4 7F C3 F3 78 */ mr r3, r30 +/* 801C8A68 001C46C8 4B FF FE 7D */ bl func_801C88E4 +/* 801C8A6C 001C46CC 88 1E 00 05 */ lbz r0, 5(r30) +/* 801C8A70 001C46D0 28 00 00 09 */ cmplwi r0, 9 +/* 801C8A74 001C46D4 41 81 01 5C */ bgt lbl_801C8BD0 +/* 801C8A78 001C46D8 2C 1F 00 24 */ cmpwi r31, 0x24 +/* 801C8A7C 001C46DC 40 81 00 08 */ ble lbl_801C8A84 +/* 801C8A80 001C46E0 3B E0 00 24 */ li r31, 0x24 +lbl_801C8A84: +/* 801C8A84 001C46E4 2C 1F 00 00 */ cmpwi r31, 0 +/* 801C8A88 001C46E8 40 81 00 E8 */ ble lbl_801C8B70 +/* 801C8A8C 001C46EC 88 1E 00 04 */ lbz r0, 4(r30) +/* 801C8A90 001C46F0 7C 1F 00 00 */ cmpw r31, r0 +/* 801C8A94 001C46F4 40 80 00 DC */ bge lbl_801C8B70 +/* 801C8A98 001C46F8 38 9E 00 05 */ addi r4, r30, 5 +/* 801C8A9C 001C46FC 7C 04 F8 AE */ lbzx r0, r4, r31 +/* 801C8AA0 001C4700 7C 64 FA 14 */ add r3, r4, r31 +/* 801C8AA4 001C4704 28 00 00 05 */ cmplwi r0, 5 +/* 801C8AA8 001C4708 40 81 00 0C */ ble lbl_801C8AB4 +/* 801C8AAC 001C470C 38 80 00 01 */ li r4, 1 +/* 801C8AB0 001C4710 48 00 00 60 */ b lbl_801C8B10 +lbl_801C8AB4: +/* 801C8AB4 001C4714 40 80 00 0C */ bge lbl_801C8AC0 +/* 801C8AB8 001C4718 38 80 FF FF */ li r4, -1 +/* 801C8ABC 001C471C 48 00 00 54 */ b lbl_801C8B10 +lbl_801C8AC0: +/* 801C8AC0 001C4720 88 1E 00 04 */ lbz r0, 4(r30) +/* 801C8AC4 001C4724 38 63 00 01 */ addi r3, r3, 1 +/* 801C8AC8 001C4728 7C 84 02 14 */ add r4, r4, r0 +/* 801C8ACC 001C472C 7C 03 20 50 */ subf r0, r3, r4 +/* 801C8AD0 001C4730 7C 09 03 A6 */ mtctr r0 +/* 801C8AD4 001C4734 7C 03 20 40 */ cmplw r3, r4 +/* 801C8AD8 001C4738 40 80 00 20 */ bge lbl_801C8AF8 +lbl_801C8ADC: +/* 801C8ADC 001C473C 88 03 00 00 */ lbz r0, 0(r3) +/* 801C8AE0 001C4740 2C 00 00 00 */ cmpwi r0, 0 +/* 801C8AE4 001C4744 41 82 00 0C */ beq lbl_801C8AF0 +/* 801C8AE8 001C4748 38 80 00 01 */ li r4, 1 +/* 801C8AEC 001C474C 48 00 00 24 */ b lbl_801C8B10 +lbl_801C8AF0: +/* 801C8AF0 001C4750 38 63 00 01 */ addi r3, r3, 1 +/* 801C8AF4 001C4754 42 00 FF E8 */ bdnz lbl_801C8ADC +lbl_801C8AF8: +/* 801C8AF8 001C4758 7C 7F F2 14 */ add r3, r31, r30 +/* 801C8AFC 001C475C 38 80 FF FF */ li r4, -1 +/* 801C8B00 001C4760 88 03 00 04 */ lbz r0, 4(r3) +/* 801C8B04 001C4764 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801C8B08 001C4768 41 82 00 08 */ beq lbl_801C8B10 +/* 801C8B0C 001C476C 38 80 00 01 */ li r4, 1 +lbl_801C8B10: +/* 801C8B10 001C4770 2C 04 00 00 */ cmpwi r4, 0 +/* 801C8B14 001C4774 9B FE 00 04 */ stb r31, 4(r30) +/* 801C8B18 001C4778 41 80 00 58 */ blt lbl_801C8B70 +/* 801C8B1C 001C477C 38 9E 00 05 */ addi r4, r30, 5 +/* 801C8B20 001C4780 38 00 00 00 */ li r0, 0 +/* 801C8B24 001C4784 7C A4 FA 14 */ add r5, r4, r31 +/* 801C8B28 001C4788 38 A5 FF FF */ addi r5, r5, -1 +lbl_801C8B2C: +/* 801C8B2C 001C478C 88 65 00 00 */ lbz r3, 0(r5) +/* 801C8B30 001C4790 28 03 00 09 */ cmplwi r3, 9 +/* 801C8B34 001C4794 40 80 00 10 */ bge lbl_801C8B44 +/* 801C8B38 001C4798 38 03 00 01 */ addi r0, r3, 1 +/* 801C8B3C 001C479C 98 05 00 00 */ stb r0, 0(r5) +/* 801C8B40 001C47A0 48 00 00 30 */ b lbl_801C8B70 +lbl_801C8B44: +/* 801C8B44 001C47A4 7C 05 20 40 */ cmplw r5, r4 +/* 801C8B48 001C47A8 40 82 00 1C */ bne lbl_801C8B64 +/* 801C8B4C 001C47AC 38 00 00 01 */ li r0, 1 +/* 801C8B50 001C47B0 98 05 00 00 */ stb r0, 0(r5) +/* 801C8B54 001C47B4 A8 7E 00 02 */ lha r3, 2(r30) +/* 801C8B58 001C47B8 38 03 00 01 */ addi r0, r3, 1 +/* 801C8B5C 001C47BC B0 1E 00 02 */ sth r0, 2(r30) +/* 801C8B60 001C47C0 48 00 00 10 */ b lbl_801C8B70 +lbl_801C8B64: +/* 801C8B64 001C47C4 98 05 00 00 */ stb r0, 0(r5) +/* 801C8B68 001C47C8 38 A5 FF FF */ addi r5, r5, -1 +/* 801C8B6C 001C47CC 4B FF FF C0 */ b lbl_801C8B2C +lbl_801C8B70: +/* 801C8B70 001C47D0 38 A0 00 00 */ li r5, 0 +/* 801C8B74 001C47D4 48 00 00 18 */ b lbl_801C8B8C +lbl_801C8B78: +/* 801C8B78 001C47D8 88 9E 00 04 */ lbz r4, 4(r30) +/* 801C8B7C 001C47DC 7C 7E 22 14 */ add r3, r30, r4 +/* 801C8B80 001C47E0 38 04 00 01 */ addi r0, r4, 1 +/* 801C8B84 001C47E4 98 A3 00 05 */ stb r5, 5(r3) +/* 801C8B88 001C47E8 98 1E 00 04 */ stb r0, 4(r30) +lbl_801C8B8C: +/* 801C8B8C 001C47EC 88 7E 00 04 */ lbz r3, 4(r30) +/* 801C8B90 001C47F0 7C 03 F8 00 */ cmpw r3, r31 +/* 801C8B94 001C47F4 41 80 FF E4 */ blt lbl_801C8B78 +/* 801C8B98 001C47F8 A8 1E 00 02 */ lha r0, 2(r30) +/* 801C8B9C 001C47FC 38 63 FF FF */ addi r3, r3, -1 +/* 801C8BA0 001C4800 38 A0 00 00 */ li r5, 0 +/* 801C8BA4 001C4804 7C 03 00 50 */ subf r0, r3, r0 +/* 801C8BA8 001C4808 B0 1E 00 02 */ sth r0, 2(r30) +/* 801C8BAC 001C480C 48 00 00 18 */ b lbl_801C8BC4 +lbl_801C8BB0: +/* 801C8BB0 001C4810 7C 9E 2A 14 */ add r4, r30, r5 +/* 801C8BB4 001C4814 38 A5 00 01 */ addi r5, r5, 1 +/* 801C8BB8 001C4818 88 64 00 05 */ lbz r3, 5(r4) +/* 801C8BBC 001C481C 38 03 00 30 */ addi r0, r3, 0x30 +/* 801C8BC0 001C4820 98 04 00 05 */ stb r0, 5(r4) +lbl_801C8BC4: +/* 801C8BC4 001C4824 88 1E 00 04 */ lbz r0, 4(r30) +/* 801C8BC8 001C4828 7C 05 00 00 */ cmpw r5, r0 +/* 801C8BCC 001C482C 41 80 FF E4 */ blt lbl_801C8BB0 +lbl_801C8BD0: +/* 801C8BD0 001C4830 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801C8BD4 001C4834 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 801C8BD8 001C4838 83 C1 00 08 */ lwz r30, 8(r1) +/* 801C8BDC 001C483C 7C 08 03 A6 */ mtlr r0 +/* 801C8BE0 001C4840 38 21 00 10 */ addi r1, r1, 0x10 +/* 801C8BE4 001C4844 4E 80 00 20 */ blr + +.global func_801C8BE8 +func_801C8BE8: +/* 801C8BE8 001C4848 94 21 FE 80 */ stwu r1, -0x180(r1) +/* 801C8BEC 001C484C 7C 08 02 A6 */ mflr r0 +/* 801C8BF0 001C4850 90 01 01 84 */ stw r0, 0x184(r1) +/* 801C8BF4 001C4854 DB E1 01 70 */ stfd f31, 0x170(r1) +/* 801C8BF8 001C4858 F3 E1 01 78 */ psq_st f31, 376(r1), 0, qr0 +/* 801C8BFC 001C485C 39 61 01 70 */ addi r11, r1, 0x170 +/* 801C8C00 001C4860 4B FF E5 09 */ bl func_801C7108 +/* 801C8C04 001C4864 88 03 00 04 */ lbz r0, 4(r3) +/* 801C8C08 001C4868 3C 80 43 30 */ lis r4, 0x4330 +/* 801C8C0C 001C486C 90 81 01 28 */ stw r4, 0x128(r1) +/* 801C8C10 001C4870 7C 7B 1B 78 */ mr r27, r3 +/* 801C8C14 001C4874 2C 00 00 00 */ cmpwi r0, 0 +/* 801C8C18 001C4878 90 81 01 30 */ stw r4, 0x130(r1) +/* 801C8C1C 001C487C 40 82 00 28 */ bne lbl_801C8C44 +/* 801C8C20 001C4880 88 03 00 00 */ lbz r0, 0(r3) +/* 801C8C24 001C4884 7C 00 07 75 */ extsb. r0, r0 +/* 801C8C28 001C4888 40 82 00 0C */ bne lbl_801C8C34 +/* 801C8C2C 001C488C C8 42 91 00 */ lfd f2, lbl_80641700-_SDA2_BASE_(r2) +/* 801C8C30 001C4890 48 00 00 08 */ b lbl_801C8C38 +lbl_801C8C34: +/* 801C8C34 001C4894 C8 42 91 08 */ lfd f2, lbl_80641708-_SDA2_BASE_(r2) +lbl_801C8C38: +/* 801C8C38 001C4898 C8 22 90 F8 */ lfd f1, lbl_806416F8-_SDA2_BASE_(r2) +/* 801C8C3C 001C489C 48 00 B4 11 */ bl func_801D404C +/* 801C8C40 001C48A0 48 00 07 38 */ b lbl_801C9378 +lbl_801C8C44: +/* 801C8C44 001C48A4 88 03 00 05 */ lbz r0, 5(r3) +/* 801C8C48 001C48A8 2C 00 00 49 */ cmpwi r0, 0x49 +/* 801C8C4C 001C48AC 41 82 00 44 */ beq lbl_801C8C90 +/* 801C8C50 001C48B0 40 80 00 10 */ bge lbl_801C8C60 +/* 801C8C54 001C48B4 2C 00 00 30 */ cmpwi r0, 0x30 +/* 801C8C58 001C48B8 41 82 00 14 */ beq lbl_801C8C6C +/* 801C8C5C 001C48BC 48 00 00 A0 */ b lbl_801C8CFC +lbl_801C8C60: +/* 801C8C60 001C48C0 2C 00 00 4E */ cmpwi r0, 0x4e +/* 801C8C64 001C48C4 41 82 00 54 */ beq lbl_801C8CB8 +/* 801C8C68 001C48C8 48 00 00 94 */ b lbl_801C8CFC +lbl_801C8C6C: +/* 801C8C6C 001C48CC 88 03 00 00 */ lbz r0, 0(r3) +/* 801C8C70 001C48D0 7C 00 07 75 */ extsb. r0, r0 +/* 801C8C74 001C48D4 40 82 00 0C */ bne lbl_801C8C80 +/* 801C8C78 001C48D8 C8 42 91 00 */ lfd f2, lbl_80641700-_SDA2_BASE_(r2) +/* 801C8C7C 001C48DC 48 00 00 08 */ b lbl_801C8C84 +lbl_801C8C80: +/* 801C8C80 001C48E0 C8 42 91 08 */ lfd f2, lbl_80641708-_SDA2_BASE_(r2) +lbl_801C8C84: +/* 801C8C84 001C48E4 C8 22 90 F8 */ lfd f1, lbl_806416F8-_SDA2_BASE_(r2) +/* 801C8C88 001C48E8 48 00 B3 C5 */ bl func_801D404C +/* 801C8C8C 001C48EC 48 00 06 EC */ b lbl_801C9378 +lbl_801C8C90: +/* 801C8C90 001C48F0 88 03 00 00 */ lbz r0, 0(r3) +/* 801C8C94 001C48F4 7C 00 07 75 */ extsb. r0, r0 +/* 801C8C98 001C48F8 40 82 00 0C */ bne lbl_801C8CA4 +/* 801C8C9C 001C48FC C8 42 91 00 */ lfd f2, lbl_80641700-_SDA2_BASE_(r2) +/* 801C8CA0 001C4900 48 00 00 08 */ b lbl_801C8CA8 +lbl_801C8CA4: +/* 801C8CA4 001C4904 C8 42 91 08 */ lfd f2, lbl_80641708-_SDA2_BASE_(r2) +lbl_801C8CA8: +/* 801C8CA8 001C4908 3C 60 80 64 */ lis r3, lbl_8063D6BC@ha +/* 801C8CAC 001C490C C0 23 D6 BC */ lfs f1, lbl_8063D6BC@l(r3) +/* 801C8CB0 001C4910 48 00 B3 9D */ bl func_801D404C +/* 801C8CB4 001C4914 48 00 06 C4 */ b lbl_801C9378 +lbl_801C8CB8: +/* 801C8CB8 001C4918 88 03 00 00 */ lbz r0, 0(r3) +/* 801C8CBC 001C491C 38 80 00 00 */ li r4, 0 +/* 801C8CC0 001C4920 3C 60 7F F0 */ lis r3, 0x7ff0 +/* 801C8CC4 001C4924 90 81 00 1C */ stw r4, 0x1c(r1) +/* 801C8CC8 001C4928 7C 00 07 75 */ extsb. r0, r0 +/* 801C8CCC 001C492C 90 61 00 18 */ stw r3, 0x18(r1) +/* 801C8CD0 001C4930 41 82 00 18 */ beq lbl_801C8CE8 +/* 801C8CD4 001C4934 3C 00 80 00 */ lis r0, 0x8000 +/* 801C8CD8 001C4938 38 60 00 00 */ li r3, 0 +/* 801C8CDC 001C493C 64 00 7F F0 */ oris r0, r0, 0x7ff0 +/* 801C8CE0 001C4940 90 61 00 1C */ stw r3, 0x1c(r1) +/* 801C8CE4 001C4944 90 01 00 18 */ stw r0, 0x18(r1) +lbl_801C8CE8: +/* 801C8CE8 001C4948 80 01 00 18 */ lwz r0, 0x18(r1) +/* 801C8CEC 001C494C 64 00 00 08 */ oris r0, r0, 8 +/* 801C8CF0 001C4950 90 01 00 18 */ stw r0, 0x18(r1) +/* 801C8CF4 001C4954 C8 21 00 18 */ lfd f1, 0x18(r1) +/* 801C8CF8 001C4958 48 00 06 80 */ b lbl_801C9378 +lbl_801C8CFC: +/* 801C8CFC 001C495C A0 03 00 04 */ lhz r0, 4(r3) +/* 801C8D00 001C4960 38 81 01 01 */ addi r4, r1, 0x101 +/* 801C8D04 001C4964 A2 63 00 00 */ lhz r19, 0(r3) +/* 801C8D08 001C4968 B0 01 01 00 */ sth r0, 0x100(r1) +/* 801C8D0C 001C496C A2 83 00 02 */ lhz r20, 2(r3) +/* 801C8D10 001C4970 88 01 01 00 */ lbz r0, 0x100(r1) +/* 801C8D14 001C4974 A3 E3 00 06 */ lhz r31, 6(r3) +/* 801C8D18 001C4978 7F 84 02 14 */ add r28, r4, r0 +/* 801C8D1C 001C497C A3 C3 00 08 */ lhz r30, 8(r3) +/* 801C8D20 001C4980 A3 A3 00 0A */ lhz r29, 0xa(r3) +/* 801C8D24 001C4984 7C 84 E0 40 */ cmplw cr1, r4, r28 +/* 801C8D28 001C4988 A3 43 00 0C */ lhz r26, 0xc(r3) +/* 801C8D2C 001C498C A3 23 00 0E */ lhz r25, 0xe(r3) +/* 801C8D30 001C4990 A3 03 00 10 */ lhz r24, 0x10(r3) +/* 801C8D34 001C4994 A2 E3 00 12 */ lhz r23, 0x12(r3) +/* 801C8D38 001C4998 A2 C3 00 14 */ lhz r22, 0x14(r3) +/* 801C8D3C 001C499C A2 A3 00 16 */ lhz r21, 0x16(r3) +/* 801C8D40 001C49A0 A1 83 00 18 */ lhz r12, 0x18(r3) +/* 801C8D44 001C49A4 A1 63 00 1A */ lhz r11, 0x1a(r3) +/* 801C8D48 001C49A8 A1 43 00 1C */ lhz r10, 0x1c(r3) +/* 801C8D4C 001C49AC A1 23 00 1E */ lhz r9, 0x1e(r3) +/* 801C8D50 001C49B0 A1 03 00 20 */ lhz r8, 0x20(r3) +/* 801C8D54 001C49B4 A0 E3 00 22 */ lhz r7, 0x22(r3) +/* 801C8D58 001C49B8 A0 C3 00 24 */ lhz r6, 0x24(r3) +/* 801C8D5C 001C49BC A0 A3 00 26 */ lhz r5, 0x26(r3) +/* 801C8D60 001C49C0 A0 03 00 28 */ lhz r0, 0x28(r3) +/* 801C8D64 001C49C4 B2 61 00 FC */ sth r19, 0xfc(r1) +/* 801C8D68 001C49C8 B2 81 00 FE */ sth r20, 0xfe(r1) +/* 801C8D6C 001C49CC B3 E1 01 02 */ sth r31, 0x102(r1) +/* 801C8D70 001C49D0 B3 C1 01 04 */ sth r30, 0x104(r1) +/* 801C8D74 001C49D4 B3 A1 01 06 */ sth r29, 0x106(r1) +/* 801C8D78 001C49D8 B3 41 01 08 */ sth r26, 0x108(r1) +/* 801C8D7C 001C49DC B3 21 01 0A */ sth r25, 0x10a(r1) +/* 801C8D80 001C49E0 B3 01 01 0C */ sth r24, 0x10c(r1) +/* 801C8D84 001C49E4 B2 E1 01 0E */ sth r23, 0x10e(r1) +/* 801C8D88 001C49E8 B2 C1 01 10 */ sth r22, 0x110(r1) +/* 801C8D8C 001C49EC B2 A1 01 12 */ sth r21, 0x112(r1) +/* 801C8D90 001C49F0 B1 81 01 14 */ sth r12, 0x114(r1) +/* 801C8D94 001C49F4 B1 61 01 16 */ sth r11, 0x116(r1) +/* 801C8D98 001C49F8 B1 41 01 18 */ sth r10, 0x118(r1) +/* 801C8D9C 001C49FC B1 21 01 1A */ sth r9, 0x11a(r1) +/* 801C8DA0 001C4A00 B1 01 01 1C */ sth r8, 0x11c(r1) +/* 801C8DA4 001C4A04 B0 E1 01 1E */ sth r7, 0x11e(r1) +/* 801C8DA8 001C4A08 B0 C1 01 20 */ sth r6, 0x120(r1) +/* 801C8DAC 001C4A0C B0 A1 01 22 */ sth r5, 0x122(r1) +/* 801C8DB0 001C4A10 B0 01 01 24 */ sth r0, 0x124(r1) +/* 801C8DB4 001C4A14 40 84 00 BC */ bge cr1, lbl_801C8E70 +/* 801C8DB8 001C4A18 7C 04 E0 50 */ subf r0, r4, r28 +/* 801C8DBC 001C4A1C 38 7C FF F8 */ addi r3, r28, -8 +/* 801C8DC0 001C4A20 2C 00 00 08 */ cmpwi r0, 8 +/* 801C8DC4 001C4A24 40 81 00 88 */ ble lbl_801C8E4C +/* 801C8DC8 001C4A28 41 85 00 84 */ bgt cr1, lbl_801C8E4C +/* 801C8DCC 001C4A2C 38 03 00 07 */ addi r0, r3, 7 +/* 801C8DD0 001C4A30 7C 04 00 50 */ subf r0, r4, r0 +/* 801C8DD4 001C4A34 54 00 E8 FE */ srwi r0, r0, 3 +/* 801C8DD8 001C4A38 7C 09 03 A6 */ mtctr r0 +/* 801C8DDC 001C4A3C 7C 04 18 40 */ cmplw r4, r3 +/* 801C8DE0 001C4A40 40 80 00 6C */ bge lbl_801C8E4C +lbl_801C8DE4: +/* 801C8DE4 001C4A44 88 64 00 00 */ lbz r3, 0(r4) +/* 801C8DE8 001C4A48 38 03 FF D0 */ addi r0, r3, -48 +/* 801C8DEC 001C4A4C 98 04 00 00 */ stb r0, 0(r4) +/* 801C8DF0 001C4A50 88 64 00 01 */ lbz r3, 1(r4) +/* 801C8DF4 001C4A54 38 03 FF D0 */ addi r0, r3, -48 +/* 801C8DF8 001C4A58 98 04 00 01 */ stb r0, 1(r4) +/* 801C8DFC 001C4A5C 88 64 00 02 */ lbz r3, 2(r4) +/* 801C8E00 001C4A60 38 03 FF D0 */ addi r0, r3, -48 +/* 801C8E04 001C4A64 98 04 00 02 */ stb r0, 2(r4) +/* 801C8E08 001C4A68 88 64 00 03 */ lbz r3, 3(r4) +/* 801C8E0C 001C4A6C 38 03 FF D0 */ addi r0, r3, -48 +/* 801C8E10 001C4A70 98 04 00 03 */ stb r0, 3(r4) +/* 801C8E14 001C4A74 88 64 00 04 */ lbz r3, 4(r4) +/* 801C8E18 001C4A78 38 03 FF D0 */ addi r0, r3, -48 +/* 801C8E1C 001C4A7C 98 04 00 04 */ stb r0, 4(r4) +/* 801C8E20 001C4A80 88 64 00 05 */ lbz r3, 5(r4) +/* 801C8E24 001C4A84 38 03 FF D0 */ addi r0, r3, -48 +/* 801C8E28 001C4A88 98 04 00 05 */ stb r0, 5(r4) +/* 801C8E2C 001C4A8C 88 64 00 06 */ lbz r3, 6(r4) +/* 801C8E30 001C4A90 38 03 FF D0 */ addi r0, r3, -48 +/* 801C8E34 001C4A94 98 04 00 06 */ stb r0, 6(r4) +/* 801C8E38 001C4A98 88 64 00 07 */ lbz r3, 7(r4) +/* 801C8E3C 001C4A9C 38 03 FF D0 */ addi r0, r3, -48 +/* 801C8E40 001C4AA0 98 04 00 07 */ stb r0, 7(r4) +/* 801C8E44 001C4AA4 38 84 00 08 */ addi r4, r4, 8 +/* 801C8E48 001C4AA8 42 00 FF 9C */ bdnz lbl_801C8DE4 +lbl_801C8E4C: +/* 801C8E4C 001C4AAC 7C 04 E0 50 */ subf r0, r4, r28 +/* 801C8E50 001C4AB0 7C 09 03 A6 */ mtctr r0 +/* 801C8E54 001C4AB4 7C 04 E0 40 */ cmplw r4, r28 +/* 801C8E58 001C4AB8 40 80 00 18 */ bge lbl_801C8E70 +lbl_801C8E5C: +/* 801C8E5C 001C4ABC 88 64 00 00 */ lbz r3, 0(r4) +/* 801C8E60 001C4AC0 38 03 FF D0 */ addi r0, r3, -48 +/* 801C8E64 001C4AC4 98 04 00 00 */ stb r0, 0(r4) +/* 801C8E68 001C4AC8 38 84 00 01 */ addi r4, r4, 1 +/* 801C8E6C 001C4ACC 42 00 FF F0 */ bdnz lbl_801C8E5C +lbl_801C8E70: +/* 801C8E70 001C4AD0 A8 A1 00 FE */ lha r5, 0xfe(r1) +/* 801C8E74 001C4AD4 3C 80 80 40 */ lis r4, lbl_803FC6D8@ha +/* 801C8E78 001C4AD8 88 01 01 00 */ lbz r0, 0x100(r1) +/* 801C8E7C 001C4ADC 38 84 C6 D8 */ addi r4, r4, lbl_803FC6D8@l +/* 801C8E80 001C4AE0 38 61 00 D0 */ addi r3, r1, 0xd0 +/* 801C8E84 001C4AE4 7C A0 2A 14 */ add r5, r0, r5 +/* 801C8E88 001C4AE8 38 84 00 B8 */ addi r4, r4, 0xb8 +/* 801C8E8C 001C4AEC 38 05 FF FF */ addi r0, r5, -1 +/* 801C8E90 001C4AF0 B0 01 00 FE */ sth r0, 0xfe(r1) +/* 801C8E94 001C4AF4 38 A0 01 34 */ li r5, 0x134 +/* 801C8E98 001C4AF8 7C 1D 07 34 */ extsh r29, r0 +/* 801C8E9C 001C4AFC 4B FF EE F1 */ bl func_801C7D8C +/* 801C8EA0 001C4B00 38 61 00 D0 */ addi r3, r1, 0xd0 +/* 801C8EA4 001C4B04 38 81 00 FC */ addi r4, r1, 0xfc +/* 801C8EA8 001C4B08 4B FF F4 21 */ bl func_801C82C8 +/* 801C8EAC 001C4B0C 2C 03 00 00 */ cmpwi r3, 0 +/* 801C8EB0 001C4B10 41 82 00 2C */ beq lbl_801C8EDC +/* 801C8EB4 001C4B14 88 1B 00 00 */ lbz r0, 0(r27) +/* 801C8EB8 001C4B18 7C 00 07 75 */ extsb. r0, r0 +/* 801C8EBC 001C4B1C 40 82 00 0C */ bne lbl_801C8EC8 +/* 801C8EC0 001C4B20 C8 42 91 00 */ lfd f2, lbl_80641700-_SDA2_BASE_(r2) +/* 801C8EC4 001C4B24 48 00 00 08 */ b lbl_801C8ECC +lbl_801C8EC8: +/* 801C8EC8 001C4B28 C8 42 91 08 */ lfd f2, lbl_80641708-_SDA2_BASE_(r2) +lbl_801C8ECC: +/* 801C8ECC 001C4B2C 3C 60 80 64 */ lis r3, lbl_8063D6BC@ha +/* 801C8ED0 001C4B30 C0 23 D6 BC */ lfs f1, lbl_8063D6BC@l(r3) +/* 801C8ED4 001C4B34 48 00 B1 79 */ bl func_801D404C +/* 801C8ED8 001C4B38 48 00 04 A0 */ b lbl_801C9378 +lbl_801C8EDC: +/* 801C8EDC 001C4B3C 88 01 01 01 */ lbz r0, 0x101(r1) +/* 801C8EE0 001C4B40 3C E0 80 42 */ lis r7, lbl_80422B58@ha +/* 801C8EE4 001C4B44 C8 42 91 20 */ lfd f2, lbl_80641720-_SDA2_BASE_(r2) +/* 801C8EE8 001C4B48 38 81 01 02 */ addi r4, r1, 0x102 +/* 801C8EEC 001C4B4C 90 01 01 2C */ stw r0, 0x12c(r1) +/* 801C8EF0 001C4B50 38 E7 2B 58 */ addi r7, r7, lbl_80422B58@l +/* 801C8EF4 001C4B54 3C 60 80 00 */ lis r3, 0x8000 +/* 801C8EF8 001C4B58 C8 01 01 28 */ lfd f0, 0x128(r1) +/* 801C8EFC 001C4B5C FF E0 10 28 */ fsub f31, f0, f2 +/* 801C8F00 001C4B60 48 00 01 40 */ b lbl_801C9040 +lbl_801C8F04: +/* 801C8F04 001C4B64 7C A4 E0 50 */ subf r5, r4, r28 +/* 801C8F08 001C4B68 39 40 00 00 */ li r10, 0 +/* 801C8F0C 001C4B6C 54 A0 E8 04 */ slwi r0, r5, 0x1d +/* 801C8F10 001C4B70 54 A5 0F FE */ srwi r5, r5, 0x1f +/* 801C8F14 001C4B74 7C 05 00 50 */ subf r0, r5, r0 +/* 801C8F18 001C4B78 54 00 18 3E */ rotlwi r0, r0, 3 +/* 801C8F1C 001C4B7C 7C C0 2A 15 */ add. r6, r0, r5 +/* 801C8F20 001C4B80 40 82 00 08 */ bne lbl_801C8F28 +/* 801C8F24 001C4B84 38 C0 00 08 */ li r6, 8 +lbl_801C8F28: +/* 801C8F28 001C4B88 2C 86 00 00 */ cmpwi cr1, r6, 0 +/* 801C8F2C 001C4B8C 38 A0 00 00 */ li r5, 0 +/* 801C8F30 001C4B90 40 85 00 D8 */ ble cr1, lbl_801C9008 +/* 801C8F34 001C4B94 2C 06 00 08 */ cmpwi r6, 8 +/* 801C8F38 001C4B98 39 06 FF F8 */ addi r8, r6, -8 +/* 801C8F3C 001C4B9C 40 81 00 A4 */ ble lbl_801C8FE0 +/* 801C8F40 001C4BA0 39 20 00 00 */ li r9, 0 +/* 801C8F44 001C4BA4 41 84 00 14 */ blt cr1, lbl_801C8F58 +/* 801C8F48 001C4BA8 38 03 FF FE */ addi r0, r3, -2 +/* 801C8F4C 001C4BAC 7C 06 00 00 */ cmpw r6, r0 +/* 801C8F50 001C4BB0 41 81 00 08 */ bgt lbl_801C8F58 +/* 801C8F54 001C4BB4 39 20 00 01 */ li r9, 1 +lbl_801C8F58: +/* 801C8F58 001C4BB8 2C 09 00 00 */ cmpwi r9, 0 +/* 801C8F5C 001C4BBC 41 82 00 84 */ beq lbl_801C8FE0 +/* 801C8F60 001C4BC0 38 08 00 07 */ addi r0, r8, 7 +/* 801C8F64 001C4BC4 54 00 E8 FE */ srwi r0, r0, 3 +/* 801C8F68 001C4BC8 7C 09 03 A6 */ mtctr r0 +/* 801C8F6C 001C4BCC 2C 08 00 00 */ cmpwi r8, 0 +/* 801C8F70 001C4BD0 40 81 00 70 */ ble lbl_801C8FE0 +lbl_801C8F74: +/* 801C8F74 001C4BD4 1C 0A 00 0A */ mulli r0, r10, 0xa +/* 801C8F78 001C4BD8 89 24 00 00 */ lbz r9, 0(r4) +/* 801C8F7C 001C4BDC 89 04 00 01 */ lbz r8, 1(r4) +/* 801C8F80 001C4BE0 38 A5 00 08 */ addi r5, r5, 8 +/* 801C8F84 001C4BE4 8A A4 00 02 */ lbz r21, 2(r4) +/* 801C8F88 001C4BE8 7C 09 02 14 */ add r0, r9, r0 +/* 801C8F8C 001C4BEC 1C 00 00 0A */ mulli r0, r0, 0xa +/* 801C8F90 001C4BF0 89 84 00 03 */ lbz r12, 3(r4) +/* 801C8F94 001C4BF4 89 64 00 04 */ lbz r11, 4(r4) +/* 801C8F98 001C4BF8 89 44 00 05 */ lbz r10, 5(r4) +/* 801C8F9C 001C4BFC 7C 08 02 14 */ add r0, r8, r0 +/* 801C8FA0 001C4C00 89 24 00 06 */ lbz r9, 6(r4) +/* 801C8FA4 001C4C04 1C 00 00 0A */ mulli r0, r0, 0xa +/* 801C8FA8 001C4C08 89 04 00 07 */ lbz r8, 7(r4) +/* 801C8FAC 001C4C0C 38 84 00 08 */ addi r4, r4, 8 +/* 801C8FB0 001C4C10 7C 15 02 14 */ add r0, r21, r0 +/* 801C8FB4 001C4C14 1C 00 00 0A */ mulli r0, r0, 0xa +/* 801C8FB8 001C4C18 7C 0C 02 14 */ add r0, r12, r0 +/* 801C8FBC 001C4C1C 1C 00 00 0A */ mulli r0, r0, 0xa +/* 801C8FC0 001C4C20 7C 0B 02 14 */ add r0, r11, r0 +/* 801C8FC4 001C4C24 1C 00 00 0A */ mulli r0, r0, 0xa +/* 801C8FC8 001C4C28 7C 0A 02 14 */ add r0, r10, r0 +/* 801C8FCC 001C4C2C 1C 00 00 0A */ mulli r0, r0, 0xa +/* 801C8FD0 001C4C30 7C 09 02 14 */ add r0, r9, r0 +/* 801C8FD4 001C4C34 1C 00 00 0A */ mulli r0, r0, 0xa +/* 801C8FD8 001C4C38 7D 48 02 14 */ add r10, r8, r0 +/* 801C8FDC 001C4C3C 42 00 FF 98 */ bdnz lbl_801C8F74 +lbl_801C8FE0: +/* 801C8FE0 001C4C40 7C 05 30 50 */ subf r0, r5, r6 +/* 801C8FE4 001C4C44 7C 09 03 A6 */ mtctr r0 +/* 801C8FE8 001C4C48 7C 05 30 00 */ cmpw r5, r6 +/* 801C8FEC 001C4C4C 40 80 00 1C */ bge lbl_801C9008 +lbl_801C8FF0: +/* 801C8FF0 001C4C50 1C 0A 00 0A */ mulli r0, r10, 0xa +/* 801C8FF4 001C4C54 89 04 00 00 */ lbz r8, 0(r4) +/* 801C8FF8 001C4C58 38 A5 00 01 */ addi r5, r5, 1 +/* 801C8FFC 001C4C5C 38 84 00 01 */ addi r4, r4, 1 +/* 801C9000 001C4C60 7D 48 02 14 */ add r10, r8, r0 +/* 801C9004 001C4C64 42 00 FF EC */ bdnz lbl_801C8FF0 +lbl_801C9008: +/* 801C9008 001C4C68 54 C0 18 38 */ slwi r0, r6, 3 +/* 801C900C 001C4C6C 91 41 01 34 */ stw r10, 0x134(r1) +/* 801C9010 001C4C70 7C A7 02 14 */ add r5, r7, r0 +/* 801C9014 001C4C74 2C 0A 00 00 */ cmpwi r10, 0 +/* 801C9018 001C4C78 C8 25 FF F8 */ lfd f1, -8(r5) +/* 801C901C 001C4C7C C8 01 01 30 */ lfd f0, 0x130(r1) +/* 801C9020 001C4C80 FC 3F 00 72 */ fmul f1, f31, f1 +/* 801C9024 001C4C84 FC 00 10 28 */ fsub f0, f0, f2 +/* 801C9028 001C4C88 FC 01 00 2A */ fadd f0, f1, f0 +/* 801C902C 001C4C8C 41 82 00 0C */ beq lbl_801C9038 +/* 801C9030 001C4C90 FC 01 00 00 */ fcmpu cr0, f1, f0 +/* 801C9034 001C4C94 41 82 00 14 */ beq lbl_801C9048 +lbl_801C9038: +/* 801C9038 001C4C98 FF E0 00 90 */ fmr f31, f0 +/* 801C903C 001C4C9C 7F A6 E8 50 */ subf r29, r6, r29 +lbl_801C9040: +/* 801C9040 001C4CA0 7C 04 E0 40 */ cmplw r4, r28 +/* 801C9044 001C4CA4 41 80 FE C0 */ blt lbl_801C8F04 +lbl_801C9048: +/* 801C9048 001C4CA8 2C 1D 00 00 */ cmpwi r29, 0 +/* 801C904C 001C4CAC 40 80 00 2C */ bge lbl_801C9078 +/* 801C9050 001C4CB0 7C 1D 00 D0 */ neg r0, r29 +/* 801C9054 001C4CB4 C8 42 91 28 */ lfd f2, lbl_80641728-_SDA2_BASE_(r2) +/* 801C9058 001C4CB8 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 801C905C 001C4CBC C8 22 91 10 */ lfd f1, lbl_80641710-_SDA2_BASE_(r2) +/* 801C9060 001C4CC0 90 01 01 2C */ stw r0, 0x12c(r1) +/* 801C9064 001C4CC4 C8 01 01 28 */ lfd f0, 0x128(r1) +/* 801C9068 001C4CC8 FC 40 10 28 */ fsub f2, f0, f2 +/* 801C906C 001C4CCC 48 00 B5 79 */ bl func_801D45E4 +/* 801C9070 001C4CD0 FF FF 08 24 */ fdiv f31, f31, f1 +/* 801C9074 001C4CD4 48 00 00 24 */ b lbl_801C9098 +lbl_801C9078: +/* 801C9078 001C4CD8 6F A0 80 00 */ xoris r0, r29, 0x8000 +/* 801C907C 001C4CDC C8 42 91 28 */ lfd f2, lbl_80641728-_SDA2_BASE_(r2) +/* 801C9080 001C4CE0 90 01 01 34 */ stw r0, 0x134(r1) +/* 801C9084 001C4CE4 C8 22 91 10 */ lfd f1, lbl_80641710-_SDA2_BASE_(r2) +/* 801C9088 001C4CE8 C8 01 01 30 */ lfd f0, 0x130(r1) +/* 801C908C 001C4CEC FC 40 10 28 */ fsub f2, f0, f2 +/* 801C9090 001C4CF0 48 00 B5 55 */ bl func_801D45E4 +/* 801C9094 001C4CF4 FF FF 00 72 */ fmul f31, f31, f1 +lbl_801C9098: +/* 801C9098 001C4CF8 FC 20 F8 90 */ fmr f1, f31 +/* 801C909C 001C4CFC 7F A3 EB 78 */ mr r3, r29 +/* 801C90A0 001C4D00 48 00 B2 79 */ bl func_801D4318 +/* 801C90A4 001C4D04 FF E0 08 90 */ fmr f31, f1 +/* 801C90A8 001C4D08 D8 21 00 10 */ stfd f1, 0x10(r1) +/* 801C90AC 001C4D0C 48 00 16 85 */ bl func_801CA730 +/* 801C90B0 001C4D10 2C 03 00 02 */ cmpwi r3, 2 +/* 801C90B4 001C4D14 40 82 00 0C */ bne lbl_801C90C0 +/* 801C90B8 001C4D18 CB E2 91 18 */ lfd f31, lbl_80641718-_SDA2_BASE_(r2) +/* 801C90BC 001C4D1C DB E1 00 10 */ stfd f31, 0x10(r1) +lbl_801C90C0: +/* 801C90C0 001C4D20 FC 20 F8 90 */ fmr f1, f31 +/* 801C90C4 001C4D24 38 61 00 A4 */ addi r3, r1, 0xa4 +/* 801C90C8 001C4D28 3B 60 00 00 */ li r27, 0 +/* 801C90CC 001C4D2C 4B FF F8 19 */ bl func_801C88E4 +/* 801C90D0 001C4D30 38 61 00 A4 */ addi r3, r1, 0xa4 +/* 801C90D4 001C4D34 38 81 00 FC */ addi r4, r1, 0xfc +/* 801C90D8 001C4D38 4B FF F1 0D */ bl func_801C81E4 +/* 801C90DC 001C4D3C 2C 03 00 00 */ cmpwi r3, 0 +/* 801C90E0 001C4D40 40 82 02 80 */ bne lbl_801C9360 +/* 801C90E4 001C4D44 38 61 00 A4 */ addi r3, r1, 0xa4 +/* 801C90E8 001C4D48 38 81 00 FC */ addi r4, r1, 0xfc +/* 801C90EC 001C4D4C 4B FF F1 DD */ bl func_801C82C8 +/* 801C90F0 001C4D50 2C 03 00 00 */ cmpwi r3, 0 +/* 801C90F4 001C4D54 41 82 00 08 */ beq lbl_801C90FC +/* 801C90F8 001C4D58 3B 60 00 01 */ li r27, 1 +lbl_801C90FC: +/* 801C90FC 001C4D5C 7F 60 00 34 */ cntlzw r0, r27 +/* 801C9100 001C4D60 DB E1 00 08 */ stfd f31, 8(r1) +/* 801C9104 001C4D64 54 1C D9 7E */ srwi r28, r0, 5 +/* 801C9108 001C4D68 3B A0 00 01 */ li r29, 1 +/* 801C910C 001C4D6C 3B C0 00 00 */ li r30, 0 +/* 801C9110 001C4D70 3B E0 FF FF */ li r31, -1 +lbl_801C9114: +/* 801C9114 001C4D74 2C 1C 00 00 */ cmpwi r28, 0 +/* 801C9118 001C4D78 40 82 00 30 */ bne lbl_801C9148 +/* 801C911C 001C4D7C 80 61 00 0C */ lwz r3, 0xc(r1) +/* 801C9120 001C4D80 80 01 00 08 */ lwz r0, 8(r1) +/* 801C9124 001C4D84 7C 63 E8 14 */ addc r3, r3, r29 +/* 801C9128 001C4D88 7C 00 F1 14 */ adde r0, r0, r30 +/* 801C912C 001C4D8C 90 61 00 0C */ stw r3, 0xc(r1) +/* 801C9130 001C4D90 90 01 00 08 */ stw r0, 8(r1) +/* 801C9134 001C4D94 C8 21 00 08 */ lfd f1, 8(r1) +/* 801C9138 001C4D98 48 00 15 F9 */ bl func_801CA730 +/* 801C913C 001C4D9C 2C 03 00 02 */ cmpwi r3, 2 +/* 801C9140 001C4DA0 41 82 02 20 */ beq lbl_801C9360 +/* 801C9144 001C4DA4 48 00 00 1C */ b lbl_801C9160 +lbl_801C9148: +/* 801C9148 001C4DA8 80 61 00 0C */ lwz r3, 0xc(r1) +/* 801C914C 001C4DAC 80 01 00 08 */ lwz r0, 8(r1) +/* 801C9150 001C4DB0 7C 63 F8 14 */ addc r3, r3, r31 +/* 801C9154 001C4DB4 7C 00 F9 14 */ adde r0, r0, r31 +/* 801C9158 001C4DB8 90 61 00 0C */ stw r3, 0xc(r1) +/* 801C915C 001C4DBC 90 01 00 08 */ stw r0, 8(r1) +lbl_801C9160: +/* 801C9160 001C4DC0 C8 21 00 08 */ lfd f1, 8(r1) +/* 801C9164 001C4DC4 38 61 00 78 */ addi r3, r1, 0x78 +/* 801C9168 001C4DC8 4B FF F7 7D */ bl func_801C88E4 +/* 801C916C 001C4DCC 2C 1B 00 00 */ cmpwi r27, 0 +/* 801C9170 001C4DD0 41 82 00 18 */ beq lbl_801C9188 +/* 801C9174 001C4DD4 38 61 00 78 */ addi r3, r1, 0x78 +/* 801C9178 001C4DD8 38 81 00 FC */ addi r4, r1, 0xfc +/* 801C917C 001C4DDC 4B FF F1 4D */ bl func_801C82C8 +/* 801C9180 001C4DE0 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9184 001C4DE4 41 82 01 74 */ beq lbl_801C92F8 +lbl_801C9188: +/* 801C9188 001C4DE8 2C 1B 00 00 */ cmpwi r27, 0 +/* 801C918C 001C4DEC 40 82 01 08 */ bne lbl_801C9294 +/* 801C9190 001C4DF0 38 61 00 FC */ addi r3, r1, 0xfc +/* 801C9194 001C4DF4 38 81 00 78 */ addi r4, r1, 0x78 +/* 801C9198 001C4DF8 4B FF F1 31 */ bl func_801C82C8 +/* 801C919C 001C4DFC 2C 03 00 00 */ cmpwi r3, 0 +/* 801C91A0 001C4E00 40 82 00 F4 */ bne lbl_801C9294 +/* 801C91A4 001C4E04 FC 00 F8 90 */ fmr f0, f31 +/* 801C91A8 001C4E08 CB E1 00 08 */ lfd f31, 8(r1) +/* 801C91AC 001C4E0C 82 A1 00 A4 */ lwz r21, 0xa4(r1) +/* 801C91B0 001C4E10 81 81 00 78 */ lwz r12, 0x78(r1) +/* 801C91B4 001C4E14 82 C1 00 A8 */ lwz r22, 0xa8(r1) +/* 801C91B8 001C4E18 81 61 00 7C */ lwz r11, 0x7c(r1) +/* 801C91BC 001C4E1C 82 E1 00 AC */ lwz r23, 0xac(r1) +/* 801C91C0 001C4E20 81 41 00 80 */ lwz r10, 0x80(r1) +/* 801C91C4 001C4E24 83 01 00 B0 */ lwz r24, 0xb0(r1) +/* 801C91C8 001C4E28 81 21 00 84 */ lwz r9, 0x84(r1) +/* 801C91CC 001C4E2C 83 21 00 B4 */ lwz r25, 0xb4(r1) +/* 801C91D0 001C4E30 81 01 00 88 */ lwz r8, 0x88(r1) +/* 801C91D4 001C4E34 83 41 00 B8 */ lwz r26, 0xb8(r1) +/* 801C91D8 001C4E38 80 E1 00 8C */ lwz r7, 0x8c(r1) +/* 801C91DC 001C4E3C 83 E1 00 BC */ lwz r31, 0xbc(r1) +/* 801C91E0 001C4E40 80 C1 00 90 */ lwz r6, 0x90(r1) +/* 801C91E4 001C4E44 83 C1 00 C0 */ lwz r30, 0xc0(r1) +/* 801C91E8 001C4E48 80 A1 00 94 */ lwz r5, 0x94(r1) +/* 801C91EC 001C4E4C 83 A1 00 C4 */ lwz r29, 0xc4(r1) +/* 801C91F0 001C4E50 80 81 00 98 */ lwz r4, 0x98(r1) +/* 801C91F4 001C4E54 83 81 00 C8 */ lwz r28, 0xc8(r1) +/* 801C91F8 001C4E58 80 61 00 9C */ lwz r3, 0x9c(r1) +/* 801C91FC 001C4E5C A3 61 00 CC */ lhz r27, 0xcc(r1) +/* 801C9200 001C4E60 A0 01 00 A0 */ lhz r0, 0xa0(r1) +/* 801C9204 001C4E64 92 A1 00 4C */ stw r21, 0x4c(r1) +/* 801C9208 001C4E68 92 C1 00 50 */ stw r22, 0x50(r1) +/* 801C920C 001C4E6C 92 E1 00 54 */ stw r23, 0x54(r1) +/* 801C9210 001C4E70 93 01 00 58 */ stw r24, 0x58(r1) +/* 801C9214 001C4E74 93 21 00 5C */ stw r25, 0x5c(r1) +/* 801C9218 001C4E78 93 41 00 60 */ stw r26, 0x60(r1) +/* 801C921C 001C4E7C 93 E1 00 64 */ stw r31, 0x64(r1) +/* 801C9220 001C4E80 93 C1 00 68 */ stw r30, 0x68(r1) +/* 801C9224 001C4E84 93 A1 00 6C */ stw r29, 0x6c(r1) +/* 801C9228 001C4E88 93 81 00 70 */ stw r28, 0x70(r1) +/* 801C922C 001C4E8C B3 61 00 74 */ sth r27, 0x74(r1) +/* 801C9230 001C4E90 91 81 00 A4 */ stw r12, 0xa4(r1) +/* 801C9234 001C4E94 91 61 00 A8 */ stw r11, 0xa8(r1) +/* 801C9238 001C4E98 91 41 00 AC */ stw r10, 0xac(r1) +/* 801C923C 001C4E9C 91 21 00 B0 */ stw r9, 0xb0(r1) +/* 801C9240 001C4EA0 91 01 00 B4 */ stw r8, 0xb4(r1) +/* 801C9244 001C4EA4 90 E1 00 B8 */ stw r7, 0xb8(r1) +/* 801C9248 001C4EA8 90 C1 00 BC */ stw r6, 0xbc(r1) +/* 801C924C 001C4EAC 90 A1 00 C0 */ stw r5, 0xc0(r1) +/* 801C9250 001C4EB0 90 81 00 C4 */ stw r4, 0xc4(r1) +/* 801C9254 001C4EB4 90 61 00 C8 */ stw r3, 0xc8(r1) +/* 801C9258 001C4EB8 B0 01 00 CC */ sth r0, 0xcc(r1) +/* 801C925C 001C4EBC 92 A1 00 78 */ stw r21, 0x78(r1) +/* 801C9260 001C4EC0 92 C1 00 7C */ stw r22, 0x7c(r1) +/* 801C9264 001C4EC4 92 E1 00 80 */ stw r23, 0x80(r1) +/* 801C9268 001C4EC8 93 01 00 84 */ stw r24, 0x84(r1) +/* 801C926C 001C4ECC 93 21 00 88 */ stw r25, 0x88(r1) +/* 801C9270 001C4ED0 93 41 00 8C */ stw r26, 0x8c(r1) +/* 801C9274 001C4ED4 93 E1 00 90 */ stw r31, 0x90(r1) +/* 801C9278 001C4ED8 93 C1 00 94 */ stw r30, 0x94(r1) +/* 801C927C 001C4EDC 93 A1 00 98 */ stw r29, 0x98(r1) +/* 801C9280 001C4EE0 93 81 00 9C */ stw r28, 0x9c(r1) +/* 801C9284 001C4EE4 B3 61 00 A0 */ sth r27, 0xa0(r1) +/* 801C9288 001C4EE8 DB E1 00 10 */ stfd f31, 0x10(r1) +/* 801C928C 001C4EEC D8 01 00 08 */ stfd f0, 8(r1) +/* 801C9290 001C4EF0 48 00 00 68 */ b lbl_801C92F8 +lbl_801C9294: +/* 801C9294 001C4EF4 81 81 00 78 */ lwz r12, 0x78(r1) +/* 801C9298 001C4EF8 81 61 00 7C */ lwz r11, 0x7c(r1) +/* 801C929C 001C4EFC 81 41 00 80 */ lwz r10, 0x80(r1) +/* 801C92A0 001C4F00 81 21 00 84 */ lwz r9, 0x84(r1) +/* 801C92A4 001C4F04 81 01 00 88 */ lwz r8, 0x88(r1) +/* 801C92A8 001C4F08 80 E1 00 8C */ lwz r7, 0x8c(r1) +/* 801C92AC 001C4F0C 80 C1 00 90 */ lwz r6, 0x90(r1) +/* 801C92B0 001C4F10 80 A1 00 94 */ lwz r5, 0x94(r1) +/* 801C92B4 001C4F14 80 81 00 98 */ lwz r4, 0x98(r1) +/* 801C92B8 001C4F18 80 61 00 9C */ lwz r3, 0x9c(r1) +/* 801C92BC 001C4F1C A0 01 00 A0 */ lhz r0, 0xa0(r1) +/* 801C92C0 001C4F20 CB E1 00 08 */ lfd f31, 8(r1) +/* 801C92C4 001C4F24 91 81 00 A4 */ stw r12, 0xa4(r1) +/* 801C92C8 001C4F28 91 61 00 A8 */ stw r11, 0xa8(r1) +/* 801C92CC 001C4F2C 91 41 00 AC */ stw r10, 0xac(r1) +/* 801C92D0 001C4F30 91 21 00 B0 */ stw r9, 0xb0(r1) +/* 801C92D4 001C4F34 91 01 00 B4 */ stw r8, 0xb4(r1) +/* 801C92D8 001C4F38 90 E1 00 B8 */ stw r7, 0xb8(r1) +/* 801C92DC 001C4F3C 90 C1 00 BC */ stw r6, 0xbc(r1) +/* 801C92E0 001C4F40 90 A1 00 C0 */ stw r5, 0xc0(r1) +/* 801C92E4 001C4F44 90 81 00 C4 */ stw r4, 0xc4(r1) +/* 801C92E8 001C4F48 90 61 00 C8 */ stw r3, 0xc8(r1) +/* 801C92EC 001C4F4C B0 01 00 CC */ sth r0, 0xcc(r1) +/* 801C92F0 001C4F50 DB E1 00 10 */ stfd f31, 0x10(r1) +/* 801C92F4 001C4F54 4B FF FE 20 */ b lbl_801C9114 +lbl_801C92F8: +/* 801C92F8 001C4F58 38 61 00 4C */ addi r3, r1, 0x4c +/* 801C92FC 001C4F5C 38 81 00 FC */ addi r4, r1, 0xfc +/* 801C9300 001C4F60 38 A1 00 A4 */ addi r5, r1, 0xa4 +/* 801C9304 001C4F64 4B FF F0 C5 */ bl func_801C83C8 +/* 801C9308 001C4F68 38 61 00 20 */ addi r3, r1, 0x20 +/* 801C930C 001C4F6C 38 81 00 78 */ addi r4, r1, 0x78 +/* 801C9310 001C4F70 38 A1 00 FC */ addi r5, r1, 0xfc +/* 801C9314 001C4F74 4B FF F0 B5 */ bl func_801C83C8 +/* 801C9318 001C4F78 38 61 00 4C */ addi r3, r1, 0x4c +/* 801C931C 001C4F7C 38 81 00 20 */ addi r4, r1, 0x20 +/* 801C9320 001C4F80 4B FF EE C5 */ bl func_801C81E4 +/* 801C9324 001C4F84 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9328 001C4F88 41 82 00 1C */ beq lbl_801C9344 +/* 801C932C 001C4F8C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801C9330 001C4F90 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 801C9334 001C4F94 41 82 00 2C */ beq lbl_801C9360 +/* 801C9338 001C4F98 CB E1 00 08 */ lfd f31, 8(r1) +/* 801C933C 001C4F9C DB E1 00 10 */ stfd f31, 0x10(r1) +/* 801C9340 001C4FA0 48 00 00 20 */ b lbl_801C9360 +lbl_801C9344: +/* 801C9344 001C4FA4 38 61 00 4C */ addi r3, r1, 0x4c +/* 801C9348 001C4FA8 38 81 00 20 */ addi r4, r1, 0x20 +/* 801C934C 001C4FAC 4B FF EF 7D */ bl func_801C82C8 +/* 801C9350 001C4FB0 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9354 001C4FB4 40 82 00 0C */ bne lbl_801C9360 +/* 801C9358 001C4FB8 CB E1 00 08 */ lfd f31, 8(r1) +/* 801C935C 001C4FBC DB E1 00 10 */ stfd f31, 0x10(r1) +lbl_801C9360: +/* 801C9360 001C4FC0 88 01 00 FC */ lbz r0, 0xfc(r1) +/* 801C9364 001C4FC4 7C 00 07 75 */ extsb. r0, r0 +/* 801C9368 001C4FC8 41 82 00 0C */ beq lbl_801C9374 +/* 801C936C 001C4FCC FF E0 F8 50 */ fneg f31, f31 +/* 801C9370 001C4FD0 DB E1 00 10 */ stfd f31, 0x10(r1) +lbl_801C9374: +/* 801C9374 001C4FD4 FC 20 F8 90 */ fmr f1, f31 +lbl_801C9378: +/* 801C9378 001C4FD8 E3 E1 01 78 */ psq_l f31, 376(r1), 0, qr0 +/* 801C937C 001C4FDC 39 61 01 70 */ addi r11, r1, 0x170 +/* 801C9380 001C4FE0 CB E1 01 70 */ lfd f31, 0x170(r1) +/* 801C9384 001C4FE4 4B FF DD D1 */ bl func_801C7154 +/* 801C9388 001C4FE8 80 01 01 84 */ lwz r0, 0x184(r1) +/* 801C938C 001C4FEC 7C 08 03 A6 */ mtlr r0 +/* 801C9390 001C4FF0 38 21 01 80 */ addi r1, r1, 0x180 +/* 801C9394 001C4FF4 4E 80 00 20 */ blr + +.global abs +abs: +/* 801C9398 001C4FF8 7C 64 FE 70 */ srawi r4, r3, 0x1f +/* 801C939C 001C4FFC 7C 80 1A 78 */ xor r0, r4, r3 +/* 801C93A0 001C5000 7C 64 00 50 */ subf r3, r4, r0 +/* 801C93A4 001C5004 4E 80 00 20 */ blr + +.global func_801C93A8 +func_801C93A8: +/* 801C93A8 001C5008 80 83 00 18 */ lwz r4, 0x18(r3) +/* 801C93AC 001C500C 80 03 00 2C */ lwz r0, 0x2c(r3) +/* 801C93B0 001C5010 80 C3 00 1C */ lwz r6, 0x1c(r3) +/* 801C93B4 001C5014 80 A3 00 20 */ lwz r5, 0x20(r3) +/* 801C93B8 001C5018 7C 80 00 38 */ and r0, r4, r0 +/* 801C93BC 001C501C 90 C3 00 24 */ stw r6, 0x24(r3) +/* 801C93C0 001C5020 7C 00 28 50 */ subf r0, r0, r5 +/* 801C93C4 001C5024 90 03 00 28 */ stw r0, 0x28(r3) +/* 801C93C8 001C5028 90 83 00 34 */ stw r4, 0x34(r3) +/* 801C93CC 001C502C 4E 80 00 20 */ blr + +.global func_801C93D0 +func_801C93D0: +/* 801C93D0 001C5030 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801C93D4 001C5034 7C 08 02 A6 */ mflr r0 +/* 801C93D8 001C5038 2C 05 00 01 */ cmpwi r5, 1 +/* 801C93DC 001C503C 90 01 00 14 */ stw r0, 0x14(r1) +/* 801C93E0 001C5040 93 E1 00 0C */ stw r31, 0xc(r1) +/* 801C93E4 001C5044 7C 7F 1B 78 */ mr r31, r3 +/* 801C93E8 001C5048 93 C1 00 08 */ stw r30, 8(r1) +/* 801C93EC 001C504C 7C 9E 23 78 */ mr r30, r4 +/* 801C93F0 001C5050 80 C3 00 18 */ lwz r6, 0x18(r3) +/* 801C93F4 001C5054 80 03 00 2C */ lwz r0, 0x2c(r3) +/* 801C93F8 001C5058 80 A3 00 1C */ lwz r5, 0x1c(r3) +/* 801C93FC 001C505C 80 83 00 20 */ lwz r4, 0x20(r3) +/* 801C9400 001C5060 7C C0 00 38 */ and r0, r6, r0 +/* 801C9404 001C5064 90 A3 00 24 */ stw r5, 0x24(r3) +/* 801C9408 001C5068 7C 00 20 50 */ subf r0, r0, r4 +/* 801C940C 001C506C 90 03 00 28 */ stw r0, 0x28(r3) +/* 801C9410 001C5070 90 C3 00 34 */ stw r6, 0x34(r3) +/* 801C9414 001C5074 40 82 00 08 */ bne lbl_801C941C +/* 801C9418 001C5078 90 83 00 28 */ stw r4, 0x28(r3) +lbl_801C941C: +/* 801C941C 001C507C 81 9F 00 3C */ lwz r12, 0x3c(r31) +/* 801C9420 001C5080 38 BF 00 28 */ addi r5, r31, 0x28 +/* 801C9424 001C5084 80 63 00 00 */ lwz r3, 0(r3) +/* 801C9428 001C5088 80 9F 00 1C */ lwz r4, 0x1c(r31) +/* 801C942C 001C508C 80 DF 00 48 */ lwz r6, 0x48(r31) +/* 801C9430 001C5090 7D 89 03 A6 */ mtctr r12 +/* 801C9434 001C5094 4E 80 04 21 */ bctrl +/* 801C9438 001C5098 2C 03 00 02 */ cmpwi r3, 2 +/* 801C943C 001C509C 40 82 00 0C */ bne lbl_801C9448 +/* 801C9440 001C50A0 38 00 00 00 */ li r0, 0 +/* 801C9444 001C50A4 90 1F 00 28 */ stw r0, 0x28(r31) +lbl_801C9448: +/* 801C9448 001C50A8 2C 1E 00 00 */ cmpwi r30, 0 +/* 801C944C 001C50AC 41 82 00 0C */ beq lbl_801C9458 +/* 801C9450 001C50B0 80 1F 00 28 */ lwz r0, 0x28(r31) +/* 801C9454 001C50B4 90 1E 00 00 */ stw r0, 0(r30) +lbl_801C9458: +/* 801C9458 001C50B8 2C 03 00 00 */ cmpwi r3, 0 +/* 801C945C 001C50BC 41 82 00 08 */ beq lbl_801C9464 +/* 801C9460 001C50C0 48 00 00 54 */ b lbl_801C94B4 +lbl_801C9464: +/* 801C9464 001C50C4 80 1F 00 04 */ lwz r0, 4(r31) +/* 801C9468 001C50C8 80 9F 00 18 */ lwz r4, 0x18(r31) +/* 801C946C 001C50CC 80 7F 00 28 */ lwz r3, 0x28(r31) +/* 801C9470 001C50D0 54 00 6F FF */ rlwinm. r0, r0, 0xd, 0x1f, 0x1f +/* 801C9474 001C50D4 7C 04 1A 14 */ add r0, r4, r3 +/* 801C9478 001C50D8 90 1F 00 18 */ stw r0, 0x18(r31) +/* 801C947C 001C50DC 40 82 00 34 */ bne lbl_801C94B0 +/* 801C9480 001C50E0 80 9F 00 1C */ lwz r4, 0x1c(r31) +/* 801C9484 001C50E4 7C 69 03 A6 */ mtctr r3 +/* 801C9488 001C50E8 2C 03 00 00 */ cmpwi r3, 0 +/* 801C948C 001C50EC 41 82 00 24 */ beq lbl_801C94B0 +lbl_801C9490: +/* 801C9490 001C50F0 88 04 00 00 */ lbz r0, 0(r4) +/* 801C9494 001C50F4 38 84 00 01 */ addi r4, r4, 1 +/* 801C9498 001C50F8 28 00 00 0A */ cmplwi r0, 0xa +/* 801C949C 001C50FC 40 82 00 10 */ bne lbl_801C94AC +/* 801C94A0 001C5100 80 7F 00 18 */ lwz r3, 0x18(r31) +/* 801C94A4 001C5104 38 03 00 01 */ addi r0, r3, 1 +/* 801C94A8 001C5108 90 1F 00 18 */ stw r0, 0x18(r31) +lbl_801C94AC: +/* 801C94AC 001C510C 42 00 FF E4 */ bdnz lbl_801C9490 +lbl_801C94B0: +/* 801C94B0 001C5110 38 60 00 00 */ li r3, 0 +lbl_801C94B4: +/* 801C94B4 001C5114 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801C94B8 001C5118 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 801C94BC 001C511C 83 C1 00 08 */ lwz r30, 8(r1) +/* 801C94C0 001C5120 7C 08 03 A6 */ mtlr r0 +/* 801C94C4 001C5124 38 21 00 10 */ addi r1, r1, 0x10 +/* 801C94C8 001C5128 4E 80 00 20 */ blr + +.global func_801C94CC +func_801C94CC: +/* 801C94CC 001C512C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801C94D0 001C5130 7C 08 02 A6 */ mflr r0 +/* 801C94D4 001C5134 90 01 00 14 */ stw r0, 0x14(r1) +/* 801C94D8 001C5138 93 E1 00 0C */ stw r31, 0xc(r1) +/* 801C94DC 001C513C 7C 9F 23 78 */ mr r31, r4 +/* 801C94E0 001C5140 93 C1 00 08 */ stw r30, 8(r1) +/* 801C94E4 001C5144 7C 7E 1B 78 */ mr r30, r3 +/* 801C94E8 001C5148 80 A3 00 1C */ lwz r5, 0x1c(r3) +/* 801C94EC 001C514C 80 03 00 24 */ lwz r0, 0x24(r3) +/* 801C94F0 001C5150 7C 05 00 51 */ subf. r0, r5, r0 +/* 801C94F4 001C5154 41 82 00 50 */ beq lbl_801C9544 +/* 801C94F8 001C5158 81 9E 00 40 */ lwz r12, 0x40(r30) +/* 801C94FC 001C515C 7C A4 2B 78 */ mr r4, r5 +/* 801C9500 001C5160 90 03 00 28 */ stw r0, 0x28(r3) +/* 801C9504 001C5164 38 BE 00 28 */ addi r5, r30, 0x28 +/* 801C9508 001C5168 80 63 00 00 */ lwz r3, 0(r3) +/* 801C950C 001C516C 80 DE 00 48 */ lwz r6, 0x48(r30) +/* 801C9510 001C5170 7D 89 03 A6 */ mtctr r12 +/* 801C9514 001C5174 4E 80 04 21 */ bctrl +/* 801C9518 001C5178 2C 1F 00 00 */ cmpwi r31, 0 +/* 801C951C 001C517C 41 82 00 0C */ beq lbl_801C9528 +/* 801C9520 001C5180 80 1E 00 28 */ lwz r0, 0x28(r30) +/* 801C9524 001C5184 90 1F 00 00 */ stw r0, 0(r31) +lbl_801C9528: +/* 801C9528 001C5188 2C 03 00 00 */ cmpwi r3, 0 +/* 801C952C 001C518C 41 82 00 08 */ beq lbl_801C9534 +/* 801C9530 001C5190 48 00 00 3C */ b lbl_801C956C +lbl_801C9534: +/* 801C9534 001C5194 80 7E 00 18 */ lwz r3, 0x18(r30) +/* 801C9538 001C5198 80 1E 00 28 */ lwz r0, 0x28(r30) +/* 801C953C 001C519C 7C 03 02 14 */ add r0, r3, r0 +/* 801C9540 001C51A0 90 1E 00 18 */ stw r0, 0x18(r30) +lbl_801C9544: +/* 801C9544 001C51A4 80 9E 00 18 */ lwz r4, 0x18(r30) +/* 801C9548 001C51A8 38 60 00 00 */ li r3, 0 +/* 801C954C 001C51AC 80 1E 00 2C */ lwz r0, 0x2c(r30) +/* 801C9550 001C51B0 80 DE 00 1C */ lwz r6, 0x1c(r30) +/* 801C9554 001C51B4 80 BE 00 20 */ lwz r5, 0x20(r30) +/* 801C9558 001C51B8 7C 80 00 38 */ and r0, r4, r0 +/* 801C955C 001C51BC 90 DE 00 24 */ stw r6, 0x24(r30) +/* 801C9560 001C51C0 7C 00 28 50 */ subf r0, r0, r5 +/* 801C9564 001C51C4 90 1E 00 28 */ stw r0, 0x28(r30) +/* 801C9568 001C51C8 90 9E 00 34 */ stw r4, 0x34(r30) +lbl_801C956C: +/* 801C956C 001C51CC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801C9570 001C51D0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 801C9574 001C51D4 83 C1 00 08 */ lwz r30, 8(r1) +/* 801C9578 001C51D8 7C 08 03 A6 */ mtlr r0 +/* 801C957C 001C51DC 38 21 00 10 */ addi r1, r1, 0x10 +/* 801C9580 001C51E0 4E 80 00 20 */ blr + +.global func_801C9584 +func_801C9584: +/* 801C9584 001C51E4 48 00 00 04 */ b lbl_801C9588 +lbl_801C9588: +/* 801C9588 001C51E8 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 801C958C 001C51EC 7C 08 02 A6 */ mflr r0 +/* 801C9590 001C51F0 90 01 00 34 */ stw r0, 0x34(r1) +/* 801C9594 001C51F4 BF 21 00 14 */ stmw r25, 0x14(r1) +/* 801C9598 001C51F8 7C 9B 23 78 */ mr r27, r4 +/* 801C959C 001C51FC 7C DC 33 78 */ mr r28, r6 +/* 801C95A0 001C5200 7C 7A 1B 78 */ mr r26, r3 +/* 801C95A4 001C5204 7C B9 2B 78 */ mr r25, r5 +/* 801C95A8 001C5208 38 80 00 00 */ li r4, 0 +/* 801C95AC 001C520C 7F 83 E3 78 */ mr r3, r28 +/* 801C95B0 001C5210 48 00 72 B5 */ bl func_801D0864 +/* 801C95B4 001C5214 2C 03 00 00 */ cmpwi r3, 0 +/* 801C95B8 001C5218 40 82 00 10 */ bne lbl_801C95C8 +/* 801C95BC 001C521C 7F 83 E3 78 */ mr r3, r28 +/* 801C95C0 001C5220 38 80 FF FF */ li r4, -1 +/* 801C95C4 001C5224 48 00 72 A1 */ bl func_801D0864 +lbl_801C95C8: +/* 801C95C8 001C5228 7F DB C9 D7 */ mullw. r30, r27, r25 +/* 801C95CC 001C522C 41 82 00 1C */ beq lbl_801C95E8 +/* 801C95D0 001C5230 88 1C 00 0A */ lbz r0, 0xa(r28) +/* 801C95D4 001C5234 2C 00 00 00 */ cmpwi r0, 0 +/* 801C95D8 001C5238 40 82 00 10 */ bne lbl_801C95E8 +/* 801C95DC 001C523C 80 7C 00 04 */ lwz r3, 4(r28) +/* 801C95E0 001C5240 54 60 57 7F */ rlwinm. r0, r3, 0xa, 0x1d, 0x1f +/* 801C95E4 001C5244 40 82 00 0C */ bne lbl_801C95F0 +lbl_801C95E8: +/* 801C95E8 001C5248 38 60 00 00 */ li r3, 0 +/* 801C95EC 001C524C 48 00 02 C8 */ b lbl_801C98B4 +lbl_801C95F0: +/* 801C95F0 001C5250 54 60 6F FF */ rlwinm. r0, r3, 0xd, 0x1f, 0x1f +/* 801C95F4 001C5254 3B E0 00 01 */ li r31, 1 +/* 801C95F8 001C5258 41 82 00 14 */ beq lbl_801C960C +/* 801C95FC 001C525C 54 60 3F BE */ rlwinm r0, r3, 7, 0x1e, 0x1f +/* 801C9600 001C5260 28 00 00 02 */ cmplwi r0, 2 +/* 801C9604 001C5264 41 82 00 08 */ beq lbl_801C960C +/* 801C9608 001C5268 3B E0 00 00 */ li r31, 0 +lbl_801C960C: +/* 801C960C 001C526C 80 7C 00 08 */ lwz r3, 8(r28) +/* 801C9610 001C5270 54 60 1F 7F */ rlwinm. r0, r3, 3, 0x1d, 0x1f +/* 801C9614 001C5274 40 82 00 24 */ bne lbl_801C9638 +/* 801C9618 001C5278 80 1C 00 04 */ lwz r0, 4(r28) +/* 801C961C 001C527C 54 00 2F FF */ rlwinm. r0, r0, 5, 0x1f, 0x1f +/* 801C9620 001C5280 41 82 00 18 */ beq lbl_801C9638 +/* 801C9624 001C5284 38 00 00 02 */ li r0, 2 +/* 801C9628 001C5288 50 03 E8 04 */ rlwimi r3, r0, 0x1d, 0, 2 +/* 801C962C 001C528C 38 00 00 00 */ li r0, 0 +/* 801C9630 001C5290 90 7C 00 08 */ stw r3, 8(r28) +/* 801C9634 001C5294 90 1C 00 28 */ stw r0, 0x28(r28) +lbl_801C9638: +/* 801C9638 001C5298 80 1C 00 08 */ lwz r0, 8(r28) +/* 801C963C 001C529C 54 00 1F 7E */ srwi r0, r0, 0x1d +/* 801C9640 001C52A0 28 00 00 02 */ cmplwi r0, 2 +/* 801C9644 001C52A4 40 80 00 1C */ bge lbl_801C9660 +/* 801C9648 001C52A8 38 60 00 01 */ li r3, 1 +/* 801C964C 001C52AC 38 00 00 00 */ li r0, 0 +/* 801C9650 001C52B0 98 7C 00 0A */ stb r3, 0xa(r28) +/* 801C9654 001C52B4 38 60 00 00 */ li r3, 0 +/* 801C9658 001C52B8 90 1C 00 28 */ stw r0, 0x28(r28) +/* 801C965C 001C52BC 48 00 02 58 */ b lbl_801C98B4 +lbl_801C9660: +/* 801C9660 001C52C0 80 1C 00 04 */ lwz r0, 4(r28) +/* 801C9664 001C52C4 54 00 3F FF */ rlwinm. r0, r0, 7, 0x1f, 0x1f +/* 801C9668 001C52C8 41 82 00 28 */ beq lbl_801C9690 +/* 801C966C 001C52CC 4B FF E2 CD */ bl func_801C7938 +/* 801C9670 001C52D0 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9674 001C52D4 41 82 00 1C */ beq lbl_801C9690 +/* 801C9678 001C52D8 38 60 00 01 */ li r3, 1 +/* 801C967C 001C52DC 38 00 00 00 */ li r0, 0 +/* 801C9680 001C52E0 98 7C 00 0A */ stb r3, 0xa(r28) +/* 801C9684 001C52E4 38 60 00 00 */ li r3, 0 +/* 801C9688 001C52E8 90 1C 00 28 */ stw r0, 0x28(r28) +/* 801C968C 001C52EC 48 00 02 28 */ b lbl_801C98B4 +lbl_801C9690: +/* 801C9690 001C52F0 2C 1E 00 00 */ cmpwi r30, 0 +/* 801C9694 001C52F4 3B A0 00 00 */ li r29, 0 +/* 801C9698 001C52F8 41 82 00 AC */ beq lbl_801C9744 +/* 801C969C 001C52FC 80 1C 00 08 */ lwz r0, 8(r28) +/* 801C96A0 001C5300 54 00 1F 7E */ srwi r0, r0, 0x1d +/* 801C96A4 001C5304 28 00 00 03 */ cmplwi r0, 3 +/* 801C96A8 001C5308 41 80 00 9C */ blt lbl_801C9744 +lbl_801C96AC: +/* 801C96AC 001C530C 7F 83 E3 78 */ mr r3, r28 +/* 801C96B0 001C5310 38 80 00 00 */ li r4, 0 +/* 801C96B4 001C5314 48 00 71 B1 */ bl func_801D0864 +/* 801C96B8 001C5318 2C 03 00 01 */ cmpwi r3, 1 +/* 801C96BC 001C531C 40 82 00 28 */ bne lbl_801C96E4 +/* 801C96C0 001C5320 80 1C 00 08 */ lwz r0, 8(r28) +/* 801C96C4 001C5324 3B BD 00 02 */ addi r29, r29, 2 +/* 801C96C8 001C5328 3B DE FF FE */ addi r30, r30, -2 +/* 801C96CC 001C532C 54 00 27 3C */ rlwinm r0, r0, 4, 0x1c, 0x1e +/* 801C96D0 001C5330 7C 7C 02 14 */ add r3, r28, r0 +/* 801C96D4 001C5334 A0 03 00 0C */ lhz r0, 0xc(r3) +/* 801C96D8 001C5338 B0 1A 00 00 */ sth r0, 0(r26) +/* 801C96DC 001C533C 3B 5A 00 02 */ addi r26, r26, 2 +/* 801C96E0 001C5340 48 00 00 24 */ b lbl_801C9704 +lbl_801C96E4: +/* 801C96E4 001C5344 80 1C 00 08 */ lwz r0, 8(r28) +/* 801C96E8 001C5348 3B BD 00 01 */ addi r29, r29, 1 +/* 801C96EC 001C534C 3B DE FF FF */ addi r30, r30, -1 +/* 801C96F0 001C5350 54 00 1F 7E */ srwi r0, r0, 0x1d +/* 801C96F4 001C5354 7C 7C 02 14 */ add r3, r28, r0 +/* 801C96F8 001C5358 88 03 00 0C */ lbz r0, 0xc(r3) +/* 801C96FC 001C535C 98 1A 00 00 */ stb r0, 0(r26) +/* 801C9700 001C5360 3B 5A 00 01 */ addi r26, r26, 1 +lbl_801C9704: +/* 801C9704 001C5364 80 9C 00 08 */ lwz r4, 8(r28) +/* 801C9708 001C5368 2C 1E 00 00 */ cmpwi r30, 0 +/* 801C970C 001C536C 54 83 1F 7E */ srwi r3, r4, 0x1d +/* 801C9710 001C5370 38 03 FF FF */ addi r0, r3, -1 +/* 801C9714 001C5374 50 04 E8 04 */ rlwimi r4, r0, 0x1d, 0, 2 +/* 801C9718 001C5378 90 9C 00 08 */ stw r4, 8(r28) +/* 801C971C 001C537C 41 82 00 10 */ beq lbl_801C972C +/* 801C9720 001C5380 54 80 1F 7E */ srwi r0, r4, 0x1d +/* 801C9724 001C5384 28 00 00 03 */ cmplwi r0, 3 +/* 801C9728 001C5388 40 80 FF 84 */ bge lbl_801C96AC +lbl_801C972C: +/* 801C972C 001C538C 80 1C 00 08 */ lwz r0, 8(r28) +/* 801C9730 001C5390 54 00 1F 7E */ srwi r0, r0, 0x1d +/* 801C9734 001C5394 28 00 00 02 */ cmplwi r0, 2 +/* 801C9738 001C5398 40 82 00 0C */ bne lbl_801C9744 +/* 801C973C 001C539C 80 1C 00 30 */ lwz r0, 0x30(r28) +/* 801C9740 001C53A0 90 1C 00 28 */ stw r0, 0x28(r28) +lbl_801C9744: +/* 801C9744 001C53A4 2C 1E 00 00 */ cmpwi r30, 0 +/* 801C9748 001C53A8 41 82 00 D8 */ beq lbl_801C9820 +/* 801C974C 001C53AC 80 1C 00 28 */ lwz r0, 0x28(r28) +/* 801C9750 001C53B0 2C 00 00 00 */ cmpwi r0, 0 +/* 801C9754 001C53B4 40 82 00 0C */ bne lbl_801C9760 +/* 801C9758 001C53B8 2C 1F 00 00 */ cmpwi r31, 0 +/* 801C975C 001C53BC 41 82 00 C4 */ beq lbl_801C9820 +lbl_801C9760: +/* 801C9760 001C53C0 80 1C 00 28 */ lwz r0, 0x28(r28) +/* 801C9764 001C53C4 2C 00 00 00 */ cmpwi r0, 0 +/* 801C9768 001C53C8 40 82 00 5C */ bne lbl_801C97C4 +/* 801C976C 001C53CC 7F 83 E3 78 */ mr r3, r28 +/* 801C9770 001C53D0 38 80 00 00 */ li r4, 0 +/* 801C9774 001C53D4 38 A0 00 00 */ li r5, 0 +/* 801C9778 001C53D8 4B FF FC 59 */ bl func_801C93D0 +/* 801C977C 001C53DC 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9780 001C53E0 41 82 00 44 */ beq lbl_801C97C4 +/* 801C9784 001C53E4 2C 03 00 01 */ cmpwi r3, 1 +/* 801C9788 001C53E8 40 82 00 18 */ bne lbl_801C97A0 +/* 801C978C 001C53EC 38 60 00 01 */ li r3, 1 +/* 801C9790 001C53F0 38 00 00 00 */ li r0, 0 +/* 801C9794 001C53F4 98 7C 00 0A */ stb r3, 0xa(r28) +/* 801C9798 001C53F8 90 1C 00 28 */ stw r0, 0x28(r28) +/* 801C979C 001C53FC 48 00 00 20 */ b lbl_801C97BC +lbl_801C97A0: +/* 801C97A0 001C5400 80 7C 00 08 */ lwz r3, 8(r28) +/* 801C97A4 001C5404 38 80 00 00 */ li r4, 0 +/* 801C97A8 001C5408 38 00 00 01 */ li r0, 1 +/* 801C97AC 001C540C 90 9C 00 28 */ stw r4, 0x28(r28) +/* 801C97B0 001C5410 54 63 00 FE */ clrlwi r3, r3, 3 +/* 801C97B4 001C5414 90 7C 00 08 */ stw r3, 8(r28) +/* 801C97B8 001C5418 98 1C 00 09 */ stb r0, 9(r28) +lbl_801C97BC: +/* 801C97BC 001C541C 3B C0 00 00 */ li r30, 0 +/* 801C97C0 001C5420 48 00 00 60 */ b lbl_801C9820 +lbl_801C97C4: +/* 801C97C4 001C5424 80 BC 00 28 */ lwz r5, 0x28(r28) +/* 801C97C8 001C5428 7C 05 F0 40 */ cmplw r5, r30 +/* 801C97CC 001C542C 90 A1 00 08 */ stw r5, 8(r1) +/* 801C97D0 001C5430 40 81 00 0C */ ble lbl_801C97DC +/* 801C97D4 001C5434 7F C5 F3 78 */ mr r5, r30 +/* 801C97D8 001C5438 93 C1 00 08 */ stw r30, 8(r1) +lbl_801C97DC: +/* 801C97DC 001C543C 80 9C 00 24 */ lwz r4, 0x24(r28) +/* 801C97E0 001C5440 7F 43 D3 78 */ mr r3, r26 +/* 801C97E4 001C5444 4B E3 A8 1D */ bl memcpy +/* 801C97E8 001C5448 80 81 00 08 */ lwz r4, 8(r1) +/* 801C97EC 001C544C 80 7C 00 24 */ lwz r3, 0x24(r28) +/* 801C97F0 001C5450 80 1C 00 28 */ lwz r0, 0x28(r28) +/* 801C97F4 001C5454 7F C4 F0 51 */ subf. r30, r4, r30 +/* 801C97F8 001C5458 7C 63 22 14 */ add r3, r3, r4 +/* 801C97FC 001C545C 7F 5A 22 14 */ add r26, r26, r4 +/* 801C9800 001C5460 90 7C 00 24 */ stw r3, 0x24(r28) +/* 801C9804 001C5464 7F BD 22 14 */ add r29, r29, r4 +/* 801C9808 001C5468 80 61 00 08 */ lwz r3, 8(r1) +/* 801C980C 001C546C 7C 03 00 50 */ subf r0, r3, r0 +/* 801C9810 001C5470 90 1C 00 28 */ stw r0, 0x28(r28) +/* 801C9814 001C5474 41 82 00 0C */ beq lbl_801C9820 +/* 801C9818 001C5478 2C 1F 00 00 */ cmpwi r31, 0 +/* 801C981C 001C547C 40 82 FF 44 */ bne lbl_801C9760 +lbl_801C9820: +/* 801C9820 001C5480 2C 1E 00 00 */ cmpwi r30, 0 +/* 801C9824 001C5484 41 82 00 8C */ beq lbl_801C98B0 +/* 801C9828 001C5488 2C 1F 00 00 */ cmpwi r31, 0 +/* 801C982C 001C548C 40 82 00 84 */ bne lbl_801C98B0 +/* 801C9830 001C5490 83 FC 00 1C */ lwz r31, 0x1c(r28) +/* 801C9834 001C5494 7F 83 E3 78 */ mr r3, r28 +/* 801C9838 001C5498 83 3C 00 20 */ lwz r25, 0x20(r28) +/* 801C983C 001C549C 38 81 00 08 */ addi r4, r1, 8 +/* 801C9840 001C54A0 93 5C 00 1C */ stw r26, 0x1c(r28) +/* 801C9844 001C54A4 38 A0 00 01 */ li r5, 1 +/* 801C9848 001C54A8 93 DC 00 20 */ stw r30, 0x20(r28) +/* 801C984C 001C54AC 4B FF FB 85 */ bl func_801C93D0 +/* 801C9850 001C54B0 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9854 001C54B4 41 82 00 3C */ beq lbl_801C9890 +/* 801C9858 001C54B8 2C 03 00 01 */ cmpwi r3, 1 +/* 801C985C 001C54BC 40 82 00 18 */ bne lbl_801C9874 +/* 801C9860 001C54C0 38 60 00 01 */ li r3, 1 +/* 801C9864 001C54C4 38 00 00 00 */ li r0, 0 +/* 801C9868 001C54C8 98 7C 00 0A */ stb r3, 0xa(r28) +/* 801C986C 001C54CC 90 1C 00 28 */ stw r0, 0x28(r28) +/* 801C9870 001C54D0 48 00 00 20 */ b lbl_801C9890 +lbl_801C9874: +/* 801C9874 001C54D4 80 7C 00 08 */ lwz r3, 8(r28) +/* 801C9878 001C54D8 38 80 00 00 */ li r4, 0 +/* 801C987C 001C54DC 38 00 00 01 */ li r0, 1 +/* 801C9880 001C54E0 90 9C 00 28 */ stw r4, 0x28(r28) +/* 801C9884 001C54E4 54 63 00 FE */ clrlwi r3, r3, 3 +/* 801C9888 001C54E8 90 7C 00 08 */ stw r3, 8(r28) +/* 801C988C 001C54EC 98 1C 00 09 */ stb r0, 9(r28) +lbl_801C9890: +/* 801C9890 001C54F0 80 01 00 08 */ lwz r0, 8(r1) +/* 801C9894 001C54F4 7F 83 E3 78 */ mr r3, r28 +/* 801C9898 001C54F8 93 FC 00 1C */ stw r31, 0x1c(r28) +/* 801C989C 001C54FC 7F BD 02 14 */ add r29, r29, r0 +/* 801C98A0 001C5500 93 3C 00 20 */ stw r25, 0x20(r28) +/* 801C98A4 001C5504 4B FF FB 05 */ bl func_801C93A8 +/* 801C98A8 001C5508 38 00 00 00 */ li r0, 0 +/* 801C98AC 001C550C 90 1C 00 28 */ stw r0, 0x28(r28) +lbl_801C98B0: +/* 801C98B0 001C5510 7C 7D DB 96 */ divwu r3, r29, r27 +lbl_801C98B4: +/* 801C98B4 001C5514 BB 21 00 14 */ lmw r25, 0x14(r1) +/* 801C98B8 001C5518 80 01 00 34 */ lwz r0, 0x34(r1) +/* 801C98BC 001C551C 7C 08 03 A6 */ mtlr r0 +/* 801C98C0 001C5520 38 21 00 30 */ addi r1, r1, 0x30 +/* 801C98C4 001C5524 4E 80 00 20 */ blr + +.global func_801C98C8 +func_801C98C8: +/* 801C98C8 001C5528 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 801C98CC 001C552C 7C 08 02 A6 */ mflr r0 +/* 801C98D0 001C5530 90 01 00 34 */ stw r0, 0x34(r1) +/* 801C98D4 001C5534 BF 21 00 14 */ stmw r25, 0x14(r1) +/* 801C98D8 001C5538 7C 9B 23 78 */ mr r27, r4 +/* 801C98DC 001C553C 7C DC 33 78 */ mr r28, r6 +/* 801C98E0 001C5540 7C 7A 1B 78 */ mr r26, r3 +/* 801C98E4 001C5544 7C B9 2B 78 */ mr r25, r5 +/* 801C98E8 001C5548 38 80 00 00 */ li r4, 0 +/* 801C98EC 001C554C 7F 83 E3 78 */ mr r3, r28 +/* 801C98F0 001C5550 48 00 6F 75 */ bl func_801D0864 +/* 801C98F4 001C5554 2C 03 00 00 */ cmpwi r3, 0 +/* 801C98F8 001C5558 40 82 00 10 */ bne lbl_801C9908 +/* 801C98FC 001C555C 7F 83 E3 78 */ mr r3, r28 +/* 801C9900 001C5560 38 80 FF FF */ li r4, -1 +/* 801C9904 001C5564 48 00 6F 61 */ bl func_801D0864 +lbl_801C9908: +/* 801C9908 001C5568 7F DB C9 D7 */ mullw. r30, r27, r25 +/* 801C990C 001C556C 41 82 00 1C */ beq lbl_801C9928 +/* 801C9910 001C5570 88 1C 00 0A */ lbz r0, 0xa(r28) +/* 801C9914 001C5574 2C 00 00 00 */ cmpwi r0, 0 +/* 801C9918 001C5578 40 82 00 10 */ bne lbl_801C9928 +/* 801C991C 001C557C 80 1C 00 04 */ lwz r0, 4(r28) +/* 801C9920 001C5580 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f +/* 801C9924 001C5584 40 82 00 0C */ bne lbl_801C9930 +lbl_801C9928: +/* 801C9928 001C5588 38 60 00 00 */ li r3, 0 +/* 801C992C 001C558C 48 00 02 90 */ b lbl_801C9BBC +lbl_801C9930: +/* 801C9930 001C5590 28 00 00 02 */ cmplwi r0, 2 +/* 801C9934 001C5594 40 82 00 08 */ bne lbl_801C993C +/* 801C9938 001C5598 48 00 0E 79 */ bl func_801CA7B0 +lbl_801C993C: +/* 801C993C 001C559C 80 7C 00 04 */ lwz r3, 4(r28) +/* 801C9940 001C55A0 3B E0 00 01 */ li r31, 1 +/* 801C9944 001C55A4 38 80 00 00 */ li r4, 0 +/* 801C9948 001C55A8 54 60 6F FF */ rlwinm. r0, r3, 0xd, 0x1f, 0x1f +/* 801C994C 001C55AC 41 82 00 10 */ beq lbl_801C995C +/* 801C9950 001C55B0 54 60 3F BE */ rlwinm r0, r3, 7, 0x1e, 0x1f +/* 801C9954 001C55B4 28 00 00 02 */ cmplwi r0, 2 +/* 801C9958 001C55B8 40 82 00 08 */ bne lbl_801C9960 +lbl_801C995C: +/* 801C995C 001C55BC 38 80 00 01 */ li r4, 1 +lbl_801C9960: +/* 801C9960 001C55C0 2C 04 00 00 */ cmpwi r4, 0 +/* 801C9964 001C55C4 40 82 00 18 */ bne lbl_801C997C +/* 801C9968 001C55C8 80 1C 00 04 */ lwz r0, 4(r28) +/* 801C996C 001C55CC 54 00 3F BE */ rlwinm r0, r0, 7, 0x1e, 0x1f +/* 801C9970 001C55D0 28 00 00 01 */ cmplwi r0, 1 +/* 801C9974 001C55D4 41 82 00 08 */ beq lbl_801C997C +/* 801C9978 001C55D8 3B E0 00 00 */ li r31, 0 +lbl_801C997C: +/* 801C997C 001C55DC 80 1C 00 08 */ lwz r0, 8(r28) +/* 801C9980 001C55E0 54 00 1F 7F */ rlwinm. r0, r0, 3, 0x1d, 0x1f +/* 801C9984 001C55E4 40 82 00 54 */ bne lbl_801C99D8 +/* 801C9988 001C55E8 80 7C 00 04 */ lwz r3, 4(r28) +/* 801C998C 001C55EC 54 60 2F BD */ rlwinm. r0, r3, 5, 0x1e, 0x1e +/* 801C9990 001C55F0 54 60 2F 7E */ rlwinm r0, r3, 5, 0x1d, 0x1f +/* 801C9994 001C55F4 41 82 00 44 */ beq lbl_801C99D8 +/* 801C9998 001C55F8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 801C999C 001C55FC 41 82 00 24 */ beq lbl_801C99C0 +/* 801C99A0 001C5600 7F 83 E3 78 */ mr r3, r28 +/* 801C99A4 001C5604 38 80 00 00 */ li r4, 0 +/* 801C99A8 001C5608 38 A0 00 02 */ li r5, 2 +/* 801C99AC 001C560C 48 00 05 81 */ bl func_801C9F2C +/* 801C99B0 001C5610 2C 03 00 00 */ cmpwi r3, 0 +/* 801C99B4 001C5614 41 82 00 0C */ beq lbl_801C99C0 +/* 801C99B8 001C5618 38 60 00 00 */ li r3, 0 +/* 801C99BC 001C561C 48 00 02 00 */ b lbl_801C9BBC +lbl_801C99C0: +/* 801C99C0 001C5620 80 1C 00 08 */ lwz r0, 8(r28) +/* 801C99C4 001C5624 38 60 00 01 */ li r3, 1 +/* 801C99C8 001C5628 50 60 E8 04 */ rlwimi r0, r3, 0x1d, 0, 2 +/* 801C99CC 001C562C 90 1C 00 08 */ stw r0, 8(r28) +/* 801C99D0 001C5630 7F 83 E3 78 */ mr r3, r28 +/* 801C99D4 001C5634 4B FF F9 D5 */ bl func_801C93A8 +lbl_801C99D8: +/* 801C99D8 001C5638 80 1C 00 08 */ lwz r0, 8(r28) +/* 801C99DC 001C563C 54 00 1F 7E */ srwi r0, r0, 0x1d +/* 801C99E0 001C5640 28 00 00 01 */ cmplwi r0, 1 +/* 801C99E4 001C5644 41 82 00 1C */ beq lbl_801C9A00 +/* 801C99E8 001C5648 38 60 00 01 */ li r3, 1 +/* 801C99EC 001C564C 38 00 00 00 */ li r0, 0 +/* 801C99F0 001C5650 98 7C 00 0A */ stb r3, 0xa(r28) +/* 801C99F4 001C5654 38 60 00 00 */ li r3, 0 +/* 801C99F8 001C5658 90 1C 00 28 */ stw r0, 0x28(r28) +/* 801C99FC 001C565C 48 00 01 C0 */ b lbl_801C9BBC +lbl_801C9A00: +/* 801C9A00 001C5660 2C 1E 00 00 */ cmpwi r30, 0 +/* 801C9A04 001C5664 3B A0 00 00 */ li r29, 0 +/* 801C9A08 001C5668 41 82 01 28 */ beq lbl_801C9B30 +/* 801C9A0C 001C566C 80 7C 00 1C */ lwz r3, 0x1c(r28) +/* 801C9A10 001C5670 80 9C 00 24 */ lwz r4, 0x24(r28) +/* 801C9A14 001C5674 7C 04 18 40 */ cmplw r4, r3 +/* 801C9A18 001C5678 40 82 00 0C */ bne lbl_801C9A24 +/* 801C9A1C 001C567C 2C 1F 00 00 */ cmpwi r31, 0 +/* 801C9A20 001C5680 41 82 01 10 */ beq lbl_801C9B30 +lbl_801C9A24: +/* 801C9A24 001C5684 80 1C 00 20 */ lwz r0, 0x20(r28) +/* 801C9A28 001C5688 7C 63 20 50 */ subf r3, r3, r4 +/* 801C9A2C 001C568C 7C 03 00 50 */ subf r0, r3, r0 +/* 801C9A30 001C5690 90 1C 00 28 */ stw r0, 0x28(r28) +lbl_801C9A34: +/* 801C9A34 001C5694 80 BC 00 28 */ lwz r5, 0x28(r28) +/* 801C9A38 001C5698 3B 20 00 00 */ li r25, 0 +/* 801C9A3C 001C569C 7C 05 F0 40 */ cmplw r5, r30 +/* 801C9A40 001C56A0 90 A1 00 08 */ stw r5, 8(r1) +/* 801C9A44 001C56A4 40 81 00 0C */ ble lbl_801C9A50 +/* 801C9A48 001C56A8 7F C5 F3 78 */ mr r5, r30 +/* 801C9A4C 001C56AC 93 C1 00 08 */ stw r30, 8(r1) +lbl_801C9A50: +/* 801C9A50 001C56B0 80 1C 00 04 */ lwz r0, 4(r28) +/* 801C9A54 001C56B4 54 00 3F BE */ rlwinm r0, r0, 7, 0x1e, 0x1f +/* 801C9A58 001C56B8 28 00 00 01 */ cmplwi r0, 1 +/* 801C9A5C 001C56BC 40 82 00 30 */ bne lbl_801C9A8C +/* 801C9A60 001C56C0 2C 05 00 00 */ cmpwi r5, 0 +/* 801C9A64 001C56C4 41 82 00 28 */ beq lbl_801C9A8C +/* 801C9A68 001C56C8 7F 43 D3 78 */ mr r3, r26 +/* 801C9A6C 001C56CC 38 80 00 0A */ li r4, 0xa +/* 801C9A70 001C56D0 48 00 08 FD */ bl func_801CA36C +/* 801C9A74 001C56D4 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9A78 001C56D8 7C 79 1B 78 */ mr r25, r3 +/* 801C9A7C 001C56DC 41 82 00 10 */ beq lbl_801C9A8C +/* 801C9A80 001C56E0 38 03 00 01 */ addi r0, r3, 1 +/* 801C9A84 001C56E4 7C BA 00 50 */ subf r5, r26, r0 +/* 801C9A88 001C56E8 90 A1 00 08 */ stw r5, 8(r1) +lbl_801C9A8C: +/* 801C9A8C 001C56EC 80 A1 00 08 */ lwz r5, 8(r1) +/* 801C9A90 001C56F0 2C 05 00 00 */ cmpwi r5, 0 +/* 801C9A94 001C56F4 41 82 00 38 */ beq lbl_801C9ACC +/* 801C9A98 001C56F8 80 7C 00 24 */ lwz r3, 0x24(r28) +/* 801C9A9C 001C56FC 7F 44 D3 78 */ mr r4, r26 +/* 801C9AA0 001C5700 4B E3 A5 61 */ bl memcpy +/* 801C9AA4 001C5704 80 81 00 08 */ lwz r4, 8(r1) +/* 801C9AA8 001C5708 80 7C 00 24 */ lwz r3, 0x24(r28) +/* 801C9AAC 001C570C 80 1C 00 28 */ lwz r0, 0x28(r28) +/* 801C9AB0 001C5710 7F 5A 22 14 */ add r26, r26, r4 +/* 801C9AB4 001C5714 7C 63 22 14 */ add r3, r3, r4 +/* 801C9AB8 001C5718 7F C4 F0 50 */ subf r30, r4, r30 +/* 801C9ABC 001C571C 90 7C 00 24 */ stw r3, 0x24(r28) +/* 801C9AC0 001C5720 80 61 00 08 */ lwz r3, 8(r1) +/* 801C9AC4 001C5724 7C 03 00 50 */ subf r0, r3, r0 +/* 801C9AC8 001C5728 90 1C 00 28 */ stw r0, 0x28(r28) +lbl_801C9ACC: +/* 801C9ACC 001C572C 80 1C 00 28 */ lwz r0, 0x28(r28) +/* 801C9AD0 001C5730 2C 00 00 00 */ cmpwi r0, 0 +/* 801C9AD4 001C5734 41 82 00 18 */ beq lbl_801C9AEC +/* 801C9AD8 001C5738 2C 19 00 00 */ cmpwi r25, 0 +/* 801C9ADC 001C573C 40 82 00 10 */ bne lbl_801C9AEC +/* 801C9AE0 001C5740 80 1C 00 04 */ lwz r0, 4(r28) +/* 801C9AE4 001C5744 54 00 3F BF */ rlwinm. r0, r0, 7, 0x1e, 0x1f +/* 801C9AE8 001C5748 40 82 00 30 */ bne lbl_801C9B18 +lbl_801C9AEC: +/* 801C9AEC 001C574C 7F 83 E3 78 */ mr r3, r28 +/* 801C9AF0 001C5750 38 80 00 00 */ li r4, 0 +/* 801C9AF4 001C5754 4B FF F9 D9 */ bl func_801C94CC +/* 801C9AF8 001C5758 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9AFC 001C575C 41 82 00 1C */ beq lbl_801C9B18 +/* 801C9B00 001C5760 38 60 00 01 */ li r3, 1 +/* 801C9B04 001C5764 38 00 00 00 */ li r0, 0 +/* 801C9B08 001C5768 98 7C 00 0A */ stb r3, 0xa(r28) +/* 801C9B0C 001C576C 3B C0 00 00 */ li r30, 0 +/* 801C9B10 001C5770 90 1C 00 28 */ stw r0, 0x28(r28) +/* 801C9B14 001C5774 48 00 00 1C */ b lbl_801C9B30 +lbl_801C9B18: +/* 801C9B18 001C5778 80 01 00 08 */ lwz r0, 8(r1) +/* 801C9B1C 001C577C 2C 1E 00 00 */ cmpwi r30, 0 +/* 801C9B20 001C5780 7F BD 02 14 */ add r29, r29, r0 +/* 801C9B24 001C5784 41 82 00 0C */ beq lbl_801C9B30 +/* 801C9B28 001C5788 2C 1F 00 00 */ cmpwi r31, 0 +/* 801C9B2C 001C578C 40 82 FF 08 */ bne lbl_801C9A34 +lbl_801C9B30: +/* 801C9B30 001C5790 2C 1E 00 00 */ cmpwi r30, 0 +/* 801C9B34 001C5794 41 82 00 6C */ beq lbl_801C9BA0 +/* 801C9B38 001C5798 2C 1F 00 00 */ cmpwi r31, 0 +/* 801C9B3C 001C579C 40 82 00 64 */ bne lbl_801C9BA0 +/* 801C9B40 001C57A0 83 3C 00 1C */ lwz r25, 0x1c(r28) +/* 801C9B44 001C57A4 7C 1A F2 14 */ add r0, r26, r30 +/* 801C9B48 001C57A8 83 FC 00 20 */ lwz r31, 0x20(r28) +/* 801C9B4C 001C57AC 7F 83 E3 78 */ mr r3, r28 +/* 801C9B50 001C57B0 93 5C 00 1C */ stw r26, 0x1c(r28) +/* 801C9B54 001C57B4 38 81 00 08 */ addi r4, r1, 8 +/* 801C9B58 001C57B8 93 DC 00 20 */ stw r30, 0x20(r28) +/* 801C9B5C 001C57BC 90 1C 00 24 */ stw r0, 0x24(r28) +/* 801C9B60 001C57C0 4B FF F9 6D */ bl func_801C94CC +/* 801C9B64 001C57C4 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9B68 001C57C8 41 82 00 18 */ beq lbl_801C9B80 +/* 801C9B6C 001C57CC 38 60 00 01 */ li r3, 1 +/* 801C9B70 001C57D0 38 00 00 00 */ li r0, 0 +/* 801C9B74 001C57D4 98 7C 00 0A */ stb r3, 0xa(r28) +/* 801C9B78 001C57D8 90 1C 00 28 */ stw r0, 0x28(r28) +/* 801C9B7C 001C57DC 48 00 00 0C */ b lbl_801C9B88 +lbl_801C9B80: +/* 801C9B80 001C57E0 80 01 00 08 */ lwz r0, 8(r1) +/* 801C9B84 001C57E4 7F BD 02 14 */ add r29, r29, r0 +lbl_801C9B88: +/* 801C9B88 001C57E8 93 3C 00 1C */ stw r25, 0x1c(r28) +/* 801C9B8C 001C57EC 7F 83 E3 78 */ mr r3, r28 +/* 801C9B90 001C57F0 93 FC 00 20 */ stw r31, 0x20(r28) +/* 801C9B94 001C57F4 4B FF F8 15 */ bl func_801C93A8 +/* 801C9B98 001C57F8 38 00 00 00 */ li r0, 0 +/* 801C9B9C 001C57FC 90 1C 00 28 */ stw r0, 0x28(r28) +lbl_801C9BA0: +/* 801C9BA0 001C5800 80 1C 00 04 */ lwz r0, 4(r28) +/* 801C9BA4 001C5804 54 00 3F BE */ rlwinm r0, r0, 7, 0x1e, 0x1f +/* 801C9BA8 001C5808 28 00 00 02 */ cmplwi r0, 2 +/* 801C9BAC 001C580C 41 82 00 0C */ beq lbl_801C9BB8 +/* 801C9BB0 001C5810 38 00 00 00 */ li r0, 0 +/* 801C9BB4 001C5814 90 1C 00 28 */ stw r0, 0x28(r28) +lbl_801C9BB8: +/* 801C9BB8 001C5818 7C 7D DB 96 */ divwu r3, r29, r27 +lbl_801C9BBC: +/* 801C9BBC 001C581C BB 21 00 14 */ lmw r25, 0x14(r1) +/* 801C9BC0 001C5820 80 01 00 34 */ lwz r0, 0x34(r1) +/* 801C9BC4 001C5824 7C 08 03 A6 */ mtlr r0 +/* 801C9BC8 001C5828 38 21 00 30 */ addi r1, r1, 0x30 +/* 801C9BCC 001C582C 4E 80 00 20 */ blr + +.global func_801C9BD0 +func_801C9BD0: +/* 801C9BD0 001C5830 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 801C9BD4 001C5834 7C 08 02 A6 */ mflr r0 +/* 801C9BD8 001C5838 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9BDC 001C583C 90 01 00 24 */ stw r0, 0x24(r1) +/* 801C9BE0 001C5840 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 801C9BE4 001C5844 93 C1 00 18 */ stw r30, 0x18(r1) +/* 801C9BE8 001C5848 93 A1 00 14 */ stw r29, 0x14(r1) +/* 801C9BEC 001C584C 7C 7D 1B 78 */ mr r29, r3 +/* 801C9BF0 001C5850 40 82 00 0C */ bne lbl_801C9BFC +/* 801C9BF4 001C5854 38 60 FF FF */ li r3, -1 +/* 801C9BF8 001C5858 48 00 00 78 */ b lbl_801C9C70 +lbl_801C9BFC: +/* 801C9BFC 001C585C 80 03 00 04 */ lwz r0, 4(r3) +/* 801C9C00 001C5860 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f +/* 801C9C04 001C5864 40 82 00 0C */ bne lbl_801C9C10 +/* 801C9C08 001C5868 38 60 00 00 */ li r3, 0 +/* 801C9C0C 001C586C 48 00 00 64 */ b lbl_801C9C70 +lbl_801C9C10: +/* 801C9C10 001C5870 48 00 00 7D */ bl func_801C9C8C +/* 801C9C14 001C5874 81 9D 00 44 */ lwz r12, 0x44(r29) +/* 801C9C18 001C5878 7C 7E 1B 78 */ mr r30, r3 +/* 801C9C1C 001C587C 80 7D 00 00 */ lwz r3, 0(r29) +/* 801C9C20 001C5880 7D 89 03 A6 */ mtctr r12 +/* 801C9C24 001C5884 4E 80 04 21 */ bctrl +/* 801C9C28 001C5888 80 1D 00 08 */ lwz r0, 8(r29) +/* 801C9C2C 001C588C 38 A0 00 00 */ li r5, 0 +/* 801C9C30 001C5890 80 9D 00 04 */ lwz r4, 4(r29) +/* 801C9C34 001C5894 7C 7F 1B 78 */ mr r31, r3 +/* 801C9C38 001C5898 54 00 27 FF */ rlwinm. r0, r0, 4, 0x1f, 0x1f +/* 801C9C3C 001C589C 90 BD 00 00 */ stw r5, 0(r29) +/* 801C9C40 001C58A0 54 84 02 8C */ rlwinm r4, r4, 0, 0xa, 6 +/* 801C9C44 001C58A4 90 9D 00 04 */ stw r4, 4(r29) +/* 801C9C48 001C58A8 41 82 00 0C */ beq lbl_801C9C54 +/* 801C9C4C 001C58AC 80 7D 00 1C */ lwz r3, 0x1c(r29) +/* 801C9C50 001C58B0 4B E4 0B 75 */ bl func_8000A7C4 +lbl_801C9C54: +/* 801C9C54 001C58B4 2C 1E 00 00 */ cmpwi r30, 0 +/* 801C9C58 001C58B8 38 00 00 00 */ li r0, 0 +/* 801C9C5C 001C58BC 40 82 00 0C */ bne lbl_801C9C68 +/* 801C9C60 001C58C0 2C 1F 00 00 */ cmpwi r31, 0 +/* 801C9C64 001C58C4 41 82 00 08 */ beq lbl_801C9C6C +lbl_801C9C68: +/* 801C9C68 001C58C8 38 00 00 01 */ li r0, 1 +lbl_801C9C6C: +/* 801C9C6C 001C58CC 7C 60 00 D0 */ neg r3, r0 +lbl_801C9C70: +/* 801C9C70 001C58D0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 801C9C74 001C58D4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 801C9C78 001C58D8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 801C9C7C 001C58DC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 801C9C80 001C58E0 7C 08 03 A6 */ mtlr r0 +/* 801C9C84 001C58E4 38 21 00 20 */ addi r1, r1, 0x20 +/* 801C9C88 001C58E8 4E 80 00 20 */ blr + +.global func_801C9C8C +func_801C9C8C: +/* 801C9C8C 001C58EC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801C9C90 001C58F0 7C 08 02 A6 */ mflr r0 +/* 801C9C94 001C58F4 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9C98 001C58F8 90 01 00 14 */ stw r0, 0x14(r1) +/* 801C9C9C 001C58FC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 801C9CA0 001C5900 7C 7F 1B 78 */ mr r31, r3 +/* 801C9CA4 001C5904 93 C1 00 08 */ stw r30, 8(r1) +/* 801C9CA8 001C5908 40 82 00 0C */ bne lbl_801C9CB4 +/* 801C9CAC 001C590C 4B FF DD 11 */ bl func_801C79BC +/* 801C9CB0 001C5910 48 00 00 F8 */ b lbl_801C9DA8 +lbl_801C9CB4: +/* 801C9CB4 001C5914 88 03 00 0A */ lbz r0, 0xa(r3) +/* 801C9CB8 001C5918 2C 00 00 00 */ cmpwi r0, 0 +/* 801C9CBC 001C591C 40 82 00 10 */ bne lbl_801C9CCC +/* 801C9CC0 001C5920 80 83 00 04 */ lwz r4, 4(r3) +/* 801C9CC4 001C5924 54 80 57 7F */ rlwinm. r0, r4, 0xa, 0x1d, 0x1f +/* 801C9CC8 001C5928 40 82 00 0C */ bne lbl_801C9CD4 +lbl_801C9CCC: +/* 801C9CCC 001C592C 38 60 FF FF */ li r3, -1 +/* 801C9CD0 001C5930 48 00 00 D8 */ b lbl_801C9DA8 +lbl_801C9CD4: +/* 801C9CD4 001C5934 54 80 2F 7E */ rlwinm r0, r4, 5, 0x1d, 0x1f +/* 801C9CD8 001C5938 28 00 00 01 */ cmplwi r0, 1 +/* 801C9CDC 001C593C 40 82 00 0C */ bne lbl_801C9CE8 +/* 801C9CE0 001C5940 38 60 00 00 */ li r3, 0 +/* 801C9CE4 001C5944 48 00 00 C4 */ b lbl_801C9DA8 +lbl_801C9CE8: +/* 801C9CE8 001C5948 80 83 00 08 */ lwz r4, 8(r3) +/* 801C9CEC 001C594C 54 80 1F 7E */ srwi r0, r4, 0x1d +/* 801C9CF0 001C5950 28 00 00 03 */ cmplwi r0, 3 +/* 801C9CF4 001C5954 41 80 00 10 */ blt lbl_801C9D04 +/* 801C9CF8 001C5958 38 00 00 02 */ li r0, 2 +/* 801C9CFC 001C595C 50 04 E8 04 */ rlwimi r4, r0, 0x1d, 0, 2 +/* 801C9D00 001C5960 90 83 00 08 */ stw r4, 8(r3) +lbl_801C9D04: +/* 801C9D04 001C5964 80 03 00 08 */ lwz r0, 8(r3) +/* 801C9D08 001C5968 54 00 1F 7E */ srwi r0, r0, 0x1d +/* 801C9D0C 001C596C 28 00 00 02 */ cmplwi r0, 2 +/* 801C9D10 001C5970 40 82 00 0C */ bne lbl_801C9D1C +/* 801C9D14 001C5974 38 00 00 00 */ li r0, 0 +/* 801C9D18 001C5978 90 03 00 28 */ stw r0, 0x28(r3) +lbl_801C9D1C: +/* 801C9D1C 001C597C 80 83 00 08 */ lwz r4, 8(r3) +/* 801C9D20 001C5980 54 80 1F 7E */ srwi r0, r4, 0x1d +/* 801C9D24 001C5984 28 00 00 01 */ cmplwi r0, 1 +/* 801C9D28 001C5988 41 82 00 14 */ beq lbl_801C9D3C +/* 801C9D2C 001C598C 54 80 00 FE */ clrlwi r0, r4, 3 +/* 801C9D30 001C5990 90 03 00 08 */ stw r0, 8(r3) +/* 801C9D34 001C5994 38 60 00 00 */ li r3, 0 +/* 801C9D38 001C5998 48 00 00 70 */ b lbl_801C9DA8 +lbl_801C9D3C: +/* 801C9D3C 001C599C 80 03 00 04 */ lwz r0, 4(r3) +/* 801C9D40 001C59A0 54 00 57 7E */ rlwinm r0, r0, 0xa, 0x1d, 0x1f +/* 801C9D44 001C59A4 28 00 00 01 */ cmplwi r0, 1 +/* 801C9D48 001C59A8 41 82 00 0C */ beq lbl_801C9D54 +/* 801C9D4C 001C59AC 3B C0 00 00 */ li r30, 0 +/* 801C9D50 001C59B0 48 00 00 10 */ b lbl_801C9D60 +lbl_801C9D54: +/* 801C9D54 001C59B4 7F E3 FB 78 */ mr r3, r31 +/* 801C9D58 001C59B8 48 00 01 D1 */ bl func_801C9F28 +/* 801C9D5C 001C59BC 7C 7E 1B 78 */ mr r30, r3 +lbl_801C9D60: +/* 801C9D60 001C59C0 7F E3 FB 78 */ mr r3, r31 +/* 801C9D64 001C59C4 38 80 00 00 */ li r4, 0 +/* 801C9D68 001C59C8 4B FF F7 65 */ bl func_801C94CC +/* 801C9D6C 001C59CC 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9D70 001C59D0 41 82 00 1C */ beq lbl_801C9D8C +/* 801C9D74 001C59D4 38 60 00 01 */ li r3, 1 +/* 801C9D78 001C59D8 38 00 00 00 */ li r0, 0 +/* 801C9D7C 001C59DC 98 7F 00 0A */ stb r3, 0xa(r31) +/* 801C9D80 001C59E0 38 60 FF FF */ li r3, -1 +/* 801C9D84 001C59E4 90 1F 00 28 */ stw r0, 0x28(r31) +/* 801C9D88 001C59E8 48 00 00 20 */ b lbl_801C9DA8 +lbl_801C9D8C: +/* 801C9D8C 001C59EC 80 1F 00 08 */ lwz r0, 8(r31) +/* 801C9D90 001C59F0 38 80 00 00 */ li r4, 0 +/* 801C9D94 001C59F4 93 DF 00 18 */ stw r30, 0x18(r31) +/* 801C9D98 001C59F8 38 60 00 00 */ li r3, 0 +/* 801C9D9C 001C59FC 54 00 00 FE */ clrlwi r0, r0, 3 +/* 801C9DA0 001C5A00 90 1F 00 08 */ stw r0, 8(r31) +/* 801C9DA4 001C5A04 90 9F 00 28 */ stw r4, 0x28(r31) +lbl_801C9DA8: +/* 801C9DA8 001C5A08 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801C9DAC 001C5A0C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 801C9DB0 001C5A10 83 C1 00 08 */ lwz r30, 8(r1) +/* 801C9DB4 001C5A14 7C 08 03 A6 */ mtlr r0 +/* 801C9DB8 001C5A18 38 21 00 10 */ addi r1, r1, 0x10 +/* 801C9DBC 001C5A1C 4E 80 00 20 */ blr + +.global func_801C9DC0 +func_801C9DC0: +/* 801C9DC0 001C5A20 3C C0 80 42 */ lis r6, lbl_80422D48@ha +/* 801C9DC4 001C5A24 38 C6 2D 48 */ addi r6, r6, lbl_80422D48@l +/* 801C9DC8 001C5A28 80 C6 00 38 */ lwz r6, 0x38(r6) +/* 801C9DCC 001C5A2C 7C A9 03 A6 */ mtctr r5 +/* 801C9DD0 001C5A30 2C 05 00 00 */ cmpwi r5, 0 +/* 801C9DD4 001C5A34 40 81 00 A4 */ ble lbl_801C9E78 +lbl_801C9DD8: +/* 801C9DD8 001C5A38 88 A3 00 00 */ lbz r5, 0(r3) +/* 801C9DDC 001C5A3C 38 00 00 00 */ li r0, 0 +/* 801C9DE0 001C5A40 38 63 00 01 */ addi r3, r3, 1 +/* 801C9DE4 001C5A44 7C A7 07 75 */ extsb. r7, r5 +/* 801C9DE8 001C5A48 41 80 00 0C */ blt lbl_801C9DF4 +/* 801C9DEC 001C5A4C 2C 07 01 00 */ cmpwi r7, 0x100 +/* 801C9DF0 001C5A50 41 80 00 08 */ blt lbl_801C9DF8 +lbl_801C9DF4: +/* 801C9DF4 001C5A54 38 00 00 01 */ li r0, 1 +lbl_801C9DF8: +/* 801C9DF8 001C5A58 2C 00 00 00 */ cmpwi r0, 0 +/* 801C9DFC 001C5A5C 41 82 00 08 */ beq lbl_801C9E04 +/* 801C9E00 001C5A60 48 00 00 0C */ b lbl_801C9E0C +lbl_801C9E04: +/* 801C9E04 001C5A64 80 A6 00 10 */ lwz r5, 0x10(r6) +/* 801C9E08 001C5A68 7C E5 38 AE */ lbzx r7, r5, r7 +lbl_801C9E0C: +/* 801C9E0C 001C5A6C 88 A4 00 00 */ lbz r5, 0(r4) +/* 801C9E10 001C5A70 7C E8 07 74 */ extsb r8, r7 +/* 801C9E14 001C5A74 38 00 00 00 */ li r0, 0 +/* 801C9E18 001C5A78 38 84 00 01 */ addi r4, r4, 1 +/* 801C9E1C 001C5A7C 7C A7 07 75 */ extsb. r7, r5 +/* 801C9E20 001C5A80 41 80 00 0C */ blt lbl_801C9E2C +/* 801C9E24 001C5A84 2C 07 01 00 */ cmpwi r7, 0x100 +/* 801C9E28 001C5A88 41 80 00 08 */ blt lbl_801C9E30 +lbl_801C9E2C: +/* 801C9E2C 001C5A8C 38 00 00 01 */ li r0, 1 +lbl_801C9E30: +/* 801C9E30 001C5A90 2C 00 00 00 */ cmpwi r0, 0 +/* 801C9E34 001C5A94 41 82 00 08 */ beq lbl_801C9E3C +/* 801C9E38 001C5A98 48 00 00 0C */ b lbl_801C9E44 +lbl_801C9E3C: +/* 801C9E3C 001C5A9C 80 A6 00 10 */ lwz r5, 0x10(r6) +/* 801C9E40 001C5AA0 7C E5 38 AE */ lbzx r7, r5, r7 +lbl_801C9E44: +/* 801C9E44 001C5AA4 7C E0 07 74 */ extsb r0, r7 +/* 801C9E48 001C5AA8 7C 08 00 00 */ cmpw r8, r0 +/* 801C9E4C 001C5AAC 40 80 00 0C */ bge lbl_801C9E58 +/* 801C9E50 001C5AB0 38 60 FF FF */ li r3, -1 +/* 801C9E54 001C5AB4 4E 80 00 20 */ blr +lbl_801C9E58: +/* 801C9E58 001C5AB8 40 81 00 0C */ ble lbl_801C9E64 +/* 801C9E5C 001C5ABC 38 60 00 01 */ li r3, 1 +/* 801C9E60 001C5AC0 4E 80 00 20 */ blr +lbl_801C9E64: +/* 801C9E64 001C5AC4 2C 08 00 00 */ cmpwi r8, 0 +/* 801C9E68 001C5AC8 40 82 00 0C */ bne lbl_801C9E74 +/* 801C9E6C 001C5ACC 38 60 00 00 */ li r3, 0 +/* 801C9E70 001C5AD0 4E 80 00 20 */ blr +lbl_801C9E74: +/* 801C9E74 001C5AD4 42 00 FF 64 */ bdnz lbl_801C9DD8 +lbl_801C9E78: +/* 801C9E78 001C5AD8 38 60 00 00 */ li r3, 0 +/* 801C9E7C 001C5ADC 4E 80 00 20 */ blr + +.global func_801C9E80 +func_801C9E80: +/* 801C9E80 001C5AE0 80 03 00 04 */ lwz r0, 4(r3) +/* 801C9E84 001C5AE4 38 C0 00 00 */ li r6, 0 +/* 801C9E88 001C5AE8 54 04 57 7E */ rlwinm r4, r0, 0xa, 0x1d, 0x1f +/* 801C9E8C 001C5AEC 38 04 00 FF */ addi r0, r4, 0xff +/* 801C9E90 001C5AF0 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 801C9E94 001C5AF4 28 00 00 01 */ cmplwi r0, 1 +/* 801C9E98 001C5AF8 41 81 00 10 */ bgt lbl_801C9EA8 +/* 801C9E9C 001C5AFC 88 03 00 0A */ lbz r0, 0xa(r3) +/* 801C9EA0 001C5B00 2C 00 00 00 */ cmpwi r0, 0 +/* 801C9EA4 001C5B04 41 82 00 14 */ beq lbl_801C9EB8 +lbl_801C9EA8: +/* 801C9EA8 001C5B08 38 00 00 28 */ li r0, 0x28 +/* 801C9EAC 001C5B0C 38 60 FF FF */ li r3, -1 +/* 801C9EB0 001C5B10 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) +/* 801C9EB4 001C5B14 4E 80 00 20 */ blr +lbl_801C9EB8: +/* 801C9EB8 001C5B18 80 03 00 08 */ lwz r0, 8(r3) +/* 801C9EBC 001C5B1C 54 05 1F 7F */ rlwinm. r5, r0, 3, 0x1d, 0x1f +/* 801C9EC0 001C5B20 40 82 00 0C */ bne lbl_801C9ECC +/* 801C9EC4 001C5B24 80 63 00 18 */ lwz r3, 0x18(r3) +/* 801C9EC8 001C5B28 4E 80 00 20 */ blr +lbl_801C9ECC: +/* 801C9ECC 001C5B2C 81 03 00 1C */ lwz r8, 0x1c(r3) +/* 801C9ED0 001C5B30 28 05 00 03 */ cmplwi r5, 3 +/* 801C9ED4 001C5B34 80 83 00 24 */ lwz r4, 0x24(r3) +/* 801C9ED8 001C5B38 80 03 00 34 */ lwz r0, 0x34(r3) +/* 801C9EDC 001C5B3C 7C 88 20 50 */ subf r4, r8, r4 +/* 801C9EE0 001C5B40 7C E0 22 14 */ add r7, r0, r4 +/* 801C9EE4 001C5B44 41 80 00 0C */ blt lbl_801C9EF0 +/* 801C9EE8 001C5B48 38 C5 FF FE */ addi r6, r5, -2 +/* 801C9EEC 001C5B4C 7C E6 38 50 */ subf r7, r6, r7 +lbl_801C9EF0: +/* 801C9EF0 001C5B50 80 03 00 04 */ lwz r0, 4(r3) +/* 801C9EF4 001C5B54 54 00 6F FF */ rlwinm. r0, r0, 0xd, 0x1f, 0x1f +/* 801C9EF8 001C5B58 40 82 00 28 */ bne lbl_801C9F20 +/* 801C9EFC 001C5B5C 7C 06 20 51 */ subf. r0, r6, r4 +/* 801C9F00 001C5B60 7C 09 03 A6 */ mtctr r0 +/* 801C9F04 001C5B64 41 82 00 1C */ beq lbl_801C9F20 +lbl_801C9F08: +/* 801C9F08 001C5B68 88 08 00 00 */ lbz r0, 0(r8) +/* 801C9F0C 001C5B6C 39 08 00 01 */ addi r8, r8, 1 +/* 801C9F10 001C5B70 28 00 00 0A */ cmplwi r0, 0xa +/* 801C9F14 001C5B74 40 82 00 08 */ bne lbl_801C9F1C +/* 801C9F18 001C5B78 38 E7 00 01 */ addi r7, r7, 1 +lbl_801C9F1C: +/* 801C9F1C 001C5B7C 42 00 FF EC */ bdnz lbl_801C9F08 +lbl_801C9F20: +/* 801C9F20 001C5B80 7C E3 3B 78 */ mr r3, r7 +/* 801C9F24 001C5B84 4E 80 00 20 */ blr + +.global func_801C9F28 +func_801C9F28: +/* 801C9F28 001C5B88 4B FF FF 58 */ b func_801C9E80 + +.global func_801C9F2C +func_801C9F2C: +/* 801C9F2C 001C5B8C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 801C9F30 001C5B90 7C 08 02 A6 */ mflr r0 +/* 801C9F34 001C5B94 90 01 00 24 */ stw r0, 0x24(r1) +/* 801C9F38 001C5B98 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 801C9F3C 001C5B9C 7C BF 2B 78 */ mr r31, r5 +/* 801C9F40 001C5BA0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 801C9F44 001C5BA4 7C 7E 1B 78 */ mr r30, r3 +/* 801C9F48 001C5BA8 90 81 00 08 */ stw r4, 8(r1) +/* 801C9F4C 001C5BAC 80 03 00 04 */ lwz r0, 4(r3) +/* 801C9F50 001C5BB0 54 00 57 7E */ rlwinm r0, r0, 0xa, 0x1d, 0x1f +/* 801C9F54 001C5BB4 28 00 00 01 */ cmplwi r0, 1 +/* 801C9F58 001C5BB8 40 82 00 10 */ bne lbl_801C9F68 +/* 801C9F5C 001C5BBC 88 03 00 0A */ lbz r0, 0xa(r3) +/* 801C9F60 001C5BC0 2C 00 00 00 */ cmpwi r0, 0 +/* 801C9F64 001C5BC4 41 82 00 14 */ beq lbl_801C9F78 +lbl_801C9F68: +/* 801C9F68 001C5BC8 38 00 00 28 */ li r0, 0x28 +/* 801C9F6C 001C5BCC 38 60 FF FF */ li r3, -1 +/* 801C9F70 001C5BD0 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) +/* 801C9F74 001C5BD4 48 00 01 64 */ b lbl_801CA0D8 +lbl_801C9F78: +/* 801C9F78 001C5BD8 80 03 00 08 */ lwz r0, 8(r3) +/* 801C9F7C 001C5BDC 54 00 1F 7E */ srwi r0, r0, 0x1d +/* 801C9F80 001C5BE0 28 00 00 01 */ cmplwi r0, 1 +/* 801C9F84 001C5BE4 40 82 00 34 */ bne lbl_801C9FB8 +/* 801C9F88 001C5BE8 38 80 00 00 */ li r4, 0 +/* 801C9F8C 001C5BEC 4B FF F5 41 */ bl func_801C94CC +/* 801C9F90 001C5BF0 2C 03 00 00 */ cmpwi r3, 0 +/* 801C9F94 001C5BF4 41 82 00 24 */ beq lbl_801C9FB8 +/* 801C9F98 001C5BF8 38 00 00 01 */ li r0, 1 +/* 801C9F9C 001C5BFC 38 80 00 00 */ li r4, 0 +/* 801C9FA0 001C5C00 98 1E 00 0A */ stb r0, 0xa(r30) +/* 801C9FA4 001C5C04 38 00 00 28 */ li r0, 0x28 +/* 801C9FA8 001C5C08 38 60 FF FF */ li r3, -1 +/* 801C9FAC 001C5C0C 90 9E 00 28 */ stw r4, 0x28(r30) +/* 801C9FB0 001C5C10 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) +/* 801C9FB4 001C5C14 48 00 01 24 */ b lbl_801CA0D8 +lbl_801C9FB8: +/* 801C9FB8 001C5C18 2C 1F 00 01 */ cmpwi r31, 1 +/* 801C9FBC 001C5C1C 40 82 00 1C */ bne lbl_801C9FD8 +/* 801C9FC0 001C5C20 7F C3 F3 78 */ mr r3, r30 +/* 801C9FC4 001C5C24 3B E0 00 00 */ li r31, 0 +/* 801C9FC8 001C5C28 4B FF FE B9 */ bl func_801C9E80 +/* 801C9FCC 001C5C2C 80 01 00 08 */ lwz r0, 8(r1) +/* 801C9FD0 001C5C30 7C 00 1A 14 */ add r0, r0, r3 +/* 801C9FD4 001C5C34 90 01 00 08 */ stw r0, 8(r1) +lbl_801C9FD8: +/* 801C9FD8 001C5C38 2C 1F 00 02 */ cmpwi r31, 2 +/* 801C9FDC 001C5C3C 41 82 00 80 */ beq lbl_801CA05C +/* 801C9FE0 001C5C40 80 1E 00 04 */ lwz r0, 4(r30) +/* 801C9FE4 001C5C44 54 00 2F 7E */ rlwinm r0, r0, 5, 0x1d, 0x1f +/* 801C9FE8 001C5C48 28 00 00 03 */ cmplwi r0, 3 +/* 801C9FEC 001C5C4C 41 82 00 70 */ beq lbl_801CA05C +/* 801C9FF0 001C5C50 80 DE 00 08 */ lwz r6, 8(r30) +/* 801C9FF4 001C5C54 54 C3 1F 7E */ srwi r3, r6, 0x1d +/* 801C9FF8 001C5C58 38 03 FF FE */ addi r0, r3, -2 +/* 801C9FFC 001C5C5C 28 00 00 01 */ cmplwi r0, 1 +/* 801CA000 001C5C60 41 81 00 5C */ bgt lbl_801CA05C +/* 801CA004 001C5C64 80 61 00 08 */ lwz r3, 8(r1) +/* 801CA008 001C5C68 80 BE 00 18 */ lwz r5, 0x18(r30) +/* 801CA00C 001C5C6C 7C 03 28 40 */ cmplw r3, r5 +/* 801CA010 001C5C70 40 80 00 10 */ bge lbl_801CA020 +/* 801CA014 001C5C74 80 1E 00 34 */ lwz r0, 0x34(r30) +/* 801CA018 001C5C78 7C 03 00 40 */ cmplw r3, r0 +/* 801CA01C 001C5C7C 40 80 00 14 */ bge lbl_801CA030 +lbl_801CA020: +/* 801CA020 001C5C80 80 1E 00 08 */ lwz r0, 8(r30) +/* 801CA024 001C5C84 54 00 00 FE */ clrlwi r0, r0, 3 +/* 801CA028 001C5C88 90 1E 00 08 */ stw r0, 8(r30) +/* 801CA02C 001C5C8C 48 00 00 3C */ b lbl_801CA068 +lbl_801CA030: +/* 801CA030 001C5C90 80 9E 00 1C */ lwz r4, 0x1c(r30) +/* 801CA034 001C5C94 7C 60 18 50 */ subf r3, r0, r3 +/* 801CA038 001C5C98 38 00 00 02 */ li r0, 2 +/* 801CA03C 001C5C9C 7C 64 1A 14 */ add r3, r4, r3 +/* 801CA040 001C5CA0 90 7E 00 24 */ stw r3, 0x24(r30) +/* 801CA044 001C5CA4 50 06 E8 04 */ rlwimi r6, r0, 0x1d, 0, 2 +/* 801CA048 001C5CA8 80 01 00 08 */ lwz r0, 8(r1) +/* 801CA04C 001C5CAC 7C 00 28 50 */ subf r0, r0, r5 +/* 801CA050 001C5CB0 90 DE 00 08 */ stw r6, 8(r30) +/* 801CA054 001C5CB4 90 1E 00 28 */ stw r0, 0x28(r30) +/* 801CA058 001C5CB8 48 00 00 10 */ b lbl_801CA068 +lbl_801CA05C: +/* 801CA05C 001C5CBC 80 1E 00 08 */ lwz r0, 8(r30) +/* 801CA060 001C5CC0 54 00 00 FE */ clrlwi r0, r0, 3 +/* 801CA064 001C5CC4 90 1E 00 08 */ stw r0, 8(r30) +lbl_801CA068: +/* 801CA068 001C5CC8 80 1E 00 08 */ lwz r0, 8(r30) +/* 801CA06C 001C5CCC 54 00 1F 7F */ rlwinm. r0, r0, 3, 0x1d, 0x1f +/* 801CA070 001C5CD0 40 82 00 64 */ bne lbl_801CA0D4 +/* 801CA074 001C5CD4 81 9E 00 38 */ lwz r12, 0x38(r30) +/* 801CA078 001C5CD8 2C 0C 00 00 */ cmpwi r12, 0 +/* 801CA07C 001C5CDC 41 82 00 44 */ beq lbl_801CA0C0 +/* 801CA080 001C5CE0 7F E5 FB 78 */ mr r5, r31 +/* 801CA084 001C5CE4 38 81 00 08 */ addi r4, r1, 8 +/* 801CA088 001C5CE8 80 7E 00 00 */ lwz r3, 0(r30) +/* 801CA08C 001C5CEC 80 DE 00 48 */ lwz r6, 0x48(r30) +/* 801CA090 001C5CF0 7D 89 03 A6 */ mtctr r12 +/* 801CA094 001C5CF4 4E 80 04 21 */ bctrl +/* 801CA098 001C5CF8 2C 03 00 00 */ cmpwi r3, 0 +/* 801CA09C 001C5CFC 41 82 00 24 */ beq lbl_801CA0C0 +/* 801CA0A0 001C5D00 38 00 00 01 */ li r0, 1 +/* 801CA0A4 001C5D04 38 80 00 00 */ li r4, 0 +/* 801CA0A8 001C5D08 98 1E 00 0A */ stb r0, 0xa(r30) +/* 801CA0AC 001C5D0C 38 00 00 28 */ li r0, 0x28 +/* 801CA0B0 001C5D10 38 60 FF FF */ li r3, -1 +/* 801CA0B4 001C5D14 90 9E 00 28 */ stw r4, 0x28(r30) +/* 801CA0B8 001C5D18 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) +/* 801CA0BC 001C5D1C 48 00 00 1C */ b lbl_801CA0D8 +lbl_801CA0C0: +/* 801CA0C0 001C5D20 38 60 00 00 */ li r3, 0 +/* 801CA0C4 001C5D24 98 7E 00 09 */ stb r3, 9(r30) +/* 801CA0C8 001C5D28 80 01 00 08 */ lwz r0, 8(r1) +/* 801CA0CC 001C5D2C 90 1E 00 18 */ stw r0, 0x18(r30) +/* 801CA0D0 001C5D30 90 7E 00 28 */ stw r3, 0x28(r30) +lbl_801CA0D4: +/* 801CA0D4 001C5D34 38 60 00 00 */ li r3, 0 +lbl_801CA0D8: +/* 801CA0D8 001C5D38 80 01 00 24 */ lwz r0, 0x24(r1) +/* 801CA0DC 001C5D3C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 801CA0E0 001C5D40 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 801CA0E4 001C5D44 7C 08 03 A6 */ mtlr r0 +/* 801CA0E8 001C5D48 38 21 00 20 */ addi r1, r1, 0x20 +/* 801CA0EC 001C5D4C 4E 80 00 20 */ blr + +.global func_801CA0F0 +func_801CA0F0: +/* 801CA0F0 001C5D50 4B FF FE 3C */ b func_801C9F2C + +.global func_801CA0F4 +func_801CA0F4: +/* 801CA0F4 001C5D54 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801CA0F8 001C5D58 7C 08 02 A6 */ mflr r0 +/* 801CA0FC 001C5D5C 38 80 00 00 */ li r4, 0 +/* 801CA100 001C5D60 38 A0 00 00 */ li r5, 0 +/* 801CA104 001C5D64 90 01 00 14 */ stw r0, 0x14(r1) +/* 801CA108 001C5D68 93 E1 00 0C */ stw r31, 0xc(r1) +/* 801CA10C 001C5D6C 3B E0 00 00 */ li r31, 0 +/* 801CA110 001C5D70 93 C1 00 08 */ stw r30, 8(r1) +/* 801CA114 001C5D74 7C 7E 1B 78 */ mr r30, r3 +/* 801CA118 001C5D78 9B E3 00 0A */ stb r31, 0xa(r3) +/* 801CA11C 001C5D7C 4B FF FE 11 */ bl func_801C9F2C +/* 801CA120 001C5D80 9B FE 00 0A */ stb r31, 0xa(r30) +/* 801CA124 001C5D84 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 801CA128 001C5D88 83 C1 00 08 */ lwz r30, 8(r1) +/* 801CA12C 001C5D8C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801CA130 001C5D90 7C 08 03 A6 */ mtlr r0 +/* 801CA134 001C5D94 38 21 00 10 */ addi r1, r1, 0x10 +/* 801CA138 001C5D98 4E 80 00 20 */ blr + +.global func_801CA13C +func_801CA13C: +/* 801CA13C 001C5D9C 3C C0 80 42 */ lis r6, lbl_80422D48@ha +/* 801CA140 001C5DA0 38 C6 2D 48 */ addi r6, r6, lbl_80422D48@l +/* 801CA144 001C5DA4 80 C6 00 38 */ lwz r6, 0x38(r6) +/* 801CA148 001C5DA8 81 86 00 20 */ lwz r12, 0x20(r6) +/* 801CA14C 001C5DAC 7D 89 03 A6 */ mtctr r12 +/* 801CA150 001C5DB0 4E 80 04 20 */ bctr +/* 801CA154 001C5DB4 2C 04 00 00 */ cmpwi r4, 0 +/* 801CA158 001C5DB8 40 82 00 0C */ bne lbl_801CA164 +/* 801CA15C 001C5DBC 38 60 00 00 */ li r3, 0 +/* 801CA160 001C5DC0 4E 80 00 20 */ blr +lbl_801CA164: +/* 801CA164 001C5DC4 2C 05 00 00 */ cmpwi r5, 0 +/* 801CA168 001C5DC8 40 82 00 0C */ bne lbl_801CA174 +/* 801CA16C 001C5DCC 38 60 FF FF */ li r3, -1 +/* 801CA170 001C5DD0 4E 80 00 20 */ blr +lbl_801CA174: +/* 801CA174 001C5DD4 2C 03 00 00 */ cmpwi r3, 0 +/* 801CA178 001C5DD8 41 82 00 0C */ beq lbl_801CA184 +/* 801CA17C 001C5DDC 88 04 00 00 */ lbz r0, 0(r4) +/* 801CA180 001C5DE0 B0 03 00 00 */ sth r0, 0(r3) +lbl_801CA184: +/* 801CA184 001C5DE4 88 04 00 00 */ lbz r0, 0(r4) +/* 801CA188 001C5DE8 7C 00 07 75 */ extsb. r0, r0 +/* 801CA18C 001C5DEC 40 82 00 0C */ bne lbl_801CA198 +/* 801CA190 001C5DF0 38 60 00 00 */ li r3, 0 +/* 801CA194 001C5DF4 4E 80 00 20 */ blr +lbl_801CA198: +/* 801CA198 001C5DF8 38 60 00 01 */ li r3, 1 +/* 801CA19C 001C5DFC 4E 80 00 20 */ blr +/* 801CA1A0 001C5E00 2C 03 00 00 */ cmpwi r3, 0 +/* 801CA1A4 001C5E04 40 82 00 0C */ bne lbl_801CA1B0 +/* 801CA1A8 001C5E08 38 60 00 00 */ li r3, 0 +/* 801CA1AC 001C5E0C 4E 80 00 20 */ blr +lbl_801CA1B0: +/* 801CA1B0 001C5E10 98 83 00 00 */ stb r4, 0(r3) +/* 801CA1B4 001C5E14 38 60 00 01 */ li r3, 1 +/* 801CA1B8 001C5E18 4E 80 00 20 */ blr + +.global func_801CA1BC +func_801CA1BC: +/* 801CA1BC 001C5E1C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 801CA1C0 001C5E20 7C 08 02 A6 */ mflr r0 +/* 801CA1C4 001C5E24 2C 03 00 00 */ cmpwi r3, 0 +/* 801CA1C8 001C5E28 90 01 00 34 */ stw r0, 0x34(r1) +/* 801CA1CC 001C5E2C BF 41 00 18 */ stmw r26, 0x18(r1) +/* 801CA1D0 001C5E30 7C 7A 1B 78 */ mr r26, r3 +/* 801CA1D4 001C5E34 7C BB 2B 78 */ mr r27, r5 +/* 801CA1D8 001C5E38 3B A0 00 00 */ li r29, 0 +/* 801CA1DC 001C5E3C 41 82 00 0C */ beq lbl_801CA1E8 +/* 801CA1E0 001C5E40 2C 04 00 00 */ cmpwi r4, 0 +/* 801CA1E4 001C5E44 40 82 00 0C */ bne lbl_801CA1F0 +lbl_801CA1E8: +/* 801CA1E8 001C5E48 38 60 00 00 */ li r3, 0 +/* 801CA1EC 001C5E4C 48 00 00 74 */ b lbl_801CA260 +lbl_801CA1F0: +/* 801CA1F0 001C5E50 3F E0 80 42 */ lis r31, lbl_80422D48@ha +/* 801CA1F4 001C5E54 7C 9C 23 78 */ mr r28, r4 +/* 801CA1F8 001C5E58 3B FF 2D 48 */ addi r31, r31, lbl_80422D48@l +/* 801CA1FC 001C5E5C 48 00 00 58 */ b lbl_801CA254 +lbl_801CA200: +/* 801CA200 001C5E60 A0 9C 00 00 */ lhz r4, 0(r28) +/* 801CA204 001C5E64 2C 04 00 00 */ cmpwi r4, 0 +/* 801CA208 001C5E68 40 82 00 10 */ bne lbl_801CA218 +/* 801CA20C 001C5E6C 38 00 00 00 */ li r0, 0 +/* 801CA210 001C5E70 7C 1A E9 AE */ stbx r0, r26, r29 +/* 801CA214 001C5E74 48 00 00 48 */ b lbl_801CA25C +lbl_801CA218: +/* 801CA218 001C5E78 80 BF 00 38 */ lwz r5, 0x38(r31) +/* 801CA21C 001C5E7C 38 61 00 08 */ addi r3, r1, 8 +/* 801CA220 001C5E80 81 85 00 24 */ lwz r12, 0x24(r5) +/* 801CA224 001C5E84 7D 89 03 A6 */ mtctr r12 +/* 801CA228 001C5E88 3B 9C 00 02 */ addi r28, r28, 2 +/* 801CA22C 001C5E8C 4E 80 04 21 */ bctrl +/* 801CA230 001C5E90 7C 1D 1A 14 */ add r0, r29, r3 +/* 801CA234 001C5E94 7C 7E 1B 78 */ mr r30, r3 +/* 801CA238 001C5E98 7C 00 D8 40 */ cmplw r0, r27 +/* 801CA23C 001C5E9C 41 81 00 20 */ bgt lbl_801CA25C +/* 801CA240 001C5EA0 7F C5 F3 78 */ mr r5, r30 +/* 801CA244 001C5EA4 7C 7A EA 14 */ add r3, r26, r29 +/* 801CA248 001C5EA8 38 81 00 08 */ addi r4, r1, 8 +/* 801CA24C 001C5EAC 48 00 41 45 */ bl func_801CE390 +/* 801CA250 001C5EB0 7F BD F2 14 */ add r29, r29, r30 +lbl_801CA254: +/* 801CA254 001C5EB4 7C 1D D8 40 */ cmplw r29, r27 +/* 801CA258 001C5EB8 40 81 FF A8 */ ble lbl_801CA200 +lbl_801CA25C: +/* 801CA25C 001C5EBC 7F A3 EB 78 */ mr r3, r29 +lbl_801CA260: +/* 801CA260 001C5EC0 BB 41 00 18 */ lmw r26, 0x18(r1) +/* 801CA264 001C5EC4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 801CA268 001C5EC8 7C 08 03 A6 */ mtlr r0 +/* 801CA26C 001C5ECC 38 21 00 30 */ addi r1, r1, 0x30 +/* 801CA270 001C5ED0 4E 80 00 20 */ blr + +.global memmove +memmove: +/* 801CA274 001C5ED4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801CA278 001C5ED8 7C 08 02 A6 */ mflr r0 +/* 801CA27C 001C5EDC 7C 66 22 78 */ xor r6, r3, r4 +/* 801CA280 001C5EE0 28 05 00 20 */ cmplwi r5, 0x20 +/* 801CA284 001C5EE4 90 01 00 14 */ stw r0, 0x14(r1) +/* 801CA288 001C5EE8 7C C0 00 34 */ cntlzw r0, r6 +/* 801CA28C 001C5EEC 7C 60 00 30 */ slw r0, r3, r0 +/* 801CA290 001C5EF0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 801CA294 001C5EF4 7C 7F 1B 78 */ mr r31, r3 +/* 801CA298 001C5EF8 54 07 0F FE */ srwi r7, r0, 0x1f +/* 801CA29C 001C5EFC 41 80 00 40 */ blt lbl_801CA2DC +/* 801CA2A0 001C5F00 54 C0 07 BF */ clrlwi. r0, r6, 0x1e +/* 801CA2A4 001C5F04 41 82 00 1C */ beq lbl_801CA2C0 +/* 801CA2A8 001C5F08 2C 07 00 00 */ cmpwi r7, 0 +/* 801CA2AC 001C5F0C 40 82 00 0C */ bne lbl_801CA2B8 +/* 801CA2B0 001C5F10 48 00 02 99 */ bl __copy_longs_unaligned +/* 801CA2B4 001C5F14 48 00 00 20 */ b lbl_801CA2D4 +lbl_801CA2B8: +/* 801CA2B8 001C5F18 48 00 03 51 */ bl __copy_longs_rev_unaligned +/* 801CA2BC 001C5F1C 48 00 00 18 */ b lbl_801CA2D4 +lbl_801CA2C0: +/* 801CA2C0 001C5F20 2C 07 00 00 */ cmpwi r7, 0 +/* 801CA2C4 001C5F24 40 82 00 0C */ bne lbl_801CA2D0 +/* 801CA2C8 001C5F28 48 00 01 1D */ bl __copy_longs_aligned +/* 801CA2CC 001C5F2C 48 00 00 08 */ b lbl_801CA2D4 +lbl_801CA2D0: +/* 801CA2D0 001C5F30 48 00 01 D1 */ bl __copy_longs_rev_aligned +lbl_801CA2D4: +/* 801CA2D4 001C5F34 7F E3 FB 78 */ mr r3, r31 +/* 801CA2D8 001C5F38 48 00 00 54 */ b lbl_801CA32C +lbl_801CA2DC: +/* 801CA2DC 001C5F3C 2C 07 00 00 */ cmpwi r7, 0 +/* 801CA2E0 001C5F40 40 82 00 28 */ bne lbl_801CA308 +/* 801CA2E4 001C5F44 38 84 FF FF */ addi r4, r4, -1 +/* 801CA2E8 001C5F48 38 63 FF FF */ addi r3, r3, -1 +/* 801CA2EC 001C5F4C 38 A5 00 01 */ addi r5, r5, 1 +/* 801CA2F0 001C5F50 48 00 00 0C */ b lbl_801CA2FC +lbl_801CA2F4: +/* 801CA2F4 001C5F54 8C 04 00 01 */ lbzu r0, 1(r4) +/* 801CA2F8 001C5F58 9C 03 00 01 */ stbu r0, 1(r3) +lbl_801CA2FC: +/* 801CA2FC 001C5F5C 34 A5 FF FF */ addic. r5, r5, -1 +/* 801CA300 001C5F60 40 82 FF F4 */ bne lbl_801CA2F4 +/* 801CA304 001C5F64 48 00 00 24 */ b lbl_801CA328 +lbl_801CA308: +/* 801CA308 001C5F68 7C 84 2A 14 */ add r4, r4, r5 +/* 801CA30C 001C5F6C 7C 63 2A 14 */ add r3, r3, r5 +/* 801CA310 001C5F70 38 A5 00 01 */ addi r5, r5, 1 +/* 801CA314 001C5F74 48 00 00 0C */ b lbl_801CA320 +lbl_801CA318: +/* 801CA318 001C5F78 8C 04 FF FF */ lbzu r0, -1(r4) +/* 801CA31C 001C5F7C 9C 03 FF FF */ stbu r0, -1(r3) +lbl_801CA320: +/* 801CA320 001C5F80 34 A5 FF FF */ addic. r5, r5, -1 +/* 801CA324 001C5F84 40 82 FF F4 */ bne lbl_801CA318 +lbl_801CA328: +/* 801CA328 001C5F88 7F E3 FB 78 */ mr r3, r31 +lbl_801CA32C: +/* 801CA32C 001C5F8C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 801CA330 001C5F90 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 801CA334 001C5F94 7C 08 03 A6 */ mtlr r0 +/* 801CA338 001C5F98 38 21 00 10 */ addi r1, r1, 0x10 +/* 801CA33C 001C5F9C 4E 80 00 20 */ blr + +.global memchr +memchr: +/* 801CA340 001C5FA0 54 84 06 3E */ clrlwi r4, r4, 0x18 +/* 801CA344 001C5FA4 38 63 FF FF */ addi r3, r3, -1 +/* 801CA348 001C5FA8 38 A5 00 01 */ addi r5, r5, 1 +/* 801CA34C 001C5FAC 48 00 00 10 */ b lbl_801CA35C +lbl_801CA350: +/* 801CA350 001C5FB0 8C 03 00 01 */ lbzu r0, 1(r3) +/* 801CA354 001C5FB4 7C 00 20 40 */ cmplw r0, r4 +/* 801CA358 001C5FB8 4D 82 00 20 */ beqlr +lbl_801CA35C: +/* 801CA35C 001C5FBC 34 A5 FF FF */ addic. r5, r5, -1 +/* 801CA360 001C5FC0 40 82 FF F0 */ bne lbl_801CA350 +/* 801CA364 001C5FC4 38 60 00 00 */ li r3, 0 +/* 801CA368 001C5FC8 4E 80 00 20 */ blr + +.global func_801CA36C +func_801CA36C: +/* 801CA36C 001C5FCC 7C 63 2A 14 */ add r3, r3, r5 +/* 801CA370 001C5FD0 54 84 06 3E */ clrlwi r4, r4, 0x18 +/* 801CA374 001C5FD4 38 A5 00 01 */ addi r5, r5, 1 +/* 801CA378 001C5FD8 48 00 00 10 */ b lbl_801CA388 +lbl_801CA37C: +/* 801CA37C 001C5FDC 8C 03 FF FF */ lbzu r0, -1(r3) +/* 801CA380 001C5FE0 7C 00 20 40 */ cmplw r0, r4 +/* 801CA384 001C5FE4 4D 82 00 20 */ beqlr +lbl_801CA388: +/* 801CA388 001C5FE8 34 A5 FF FF */ addic. r5, r5, -1 +/* 801CA38C 001C5FEC 40 82 FF F0 */ bne lbl_801CA37C +/* 801CA390 001C5FF0 38 60 00 00 */ li r3, 0 +/* 801CA394 001C5FF4 4E 80 00 20 */ blr + +.global func_801CA398 +func_801CA398: +/* 801CA398 001C5FF8 38 E4 FF FF */ addi r7, r4, -1 +/* 801CA39C 001C5FFC 38 C3 FF FF */ addi r6, r3, -1 +/* 801CA3A0 001C6000 38 85 00 01 */ addi r4, r5, 1 +/* 801CA3A4 001C6004 48 00 00 30 */ b lbl_801CA3D4 +lbl_801CA3A8: +/* 801CA3A8 001C6008 8C 66 00 01 */ lbzu r3, 1(r6) +/* 801CA3AC 001C600C 8C 07 00 01 */ lbzu r0, 1(r7) +/* 801CA3B0 001C6010 7C 03 00 40 */ cmplw r3, r0 +/* 801CA3B4 001C6014 41 82 00 20 */ beq lbl_801CA3D4 +/* 801CA3B8 001C6018 88 86 00 00 */ lbz r4, 0(r6) +/* 801CA3BC 001C601C 38 60 00 01 */ li r3, 1 +/* 801CA3C0 001C6020 88 07 00 00 */ lbz r0, 0(r7) +/* 801CA3C4 001C6024 7C 04 00 40 */ cmplw r4, r0 +/* 801CA3C8 001C6028 4C 80 00 20 */ bgelr +/* 801CA3CC 001C602C 38 60 FF FF */ li r3, -1 +/* 801CA3D0 001C6030 4E 80 00 20 */ blr +lbl_801CA3D4: +/* 801CA3D4 001C6034 34 84 FF FF */ addic. r4, r4, -1 +/* 801CA3D8 001C6038 40 82 FF D0 */ bne lbl_801CA3A8 +/* 801CA3DC 001C603C 38 60 00 00 */ li r3, 0 +/* 801CA3E0 001C6040 4E 80 00 20 */ blr + +.global __copy_longs_aligned +__copy_longs_aligned: +/* 801CA3E4 001C6044 7C 03 00 D0 */ neg r0, r3 +/* 801CA3E8 001C6048 38 84 FF FF */ addi r4, r4, -1 +/* 801CA3EC 001C604C 54 06 07 BF */ clrlwi. r6, r0, 0x1e +/* 801CA3F0 001C6050 38 63 FF FF */ addi r3, r3, -1 +/* 801CA3F4 001C6054 41 82 00 18 */ beq lbl_801CA40C +/* 801CA3F8 001C6058 7C A6 28 50 */ subf r5, r6, r5 +lbl_801CA3FC: +/* 801CA3FC 001C605C 8C 04 00 01 */ lbzu r0, 1(r4) +/* 801CA400 001C6060 34 C6 FF FF */ addic. r6, r6, -1 +/* 801CA404 001C6064 9C 03 00 01 */ stbu r0, 1(r3) +/* 801CA408 001C6068 40 82 FF F4 */ bne lbl_801CA3FC +lbl_801CA40C: +/* 801CA40C 001C606C 54 A6 D9 7F */ rlwinm. r6, r5, 0x1b, 5, 0x1f +/* 801CA410 001C6070 38 E4 FF FD */ addi r7, r4, -3 +/* 801CA414 001C6074 38 83 FF FD */ addi r4, r3, -3 +/* 801CA418 001C6078 41 82 00 4C */ beq lbl_801CA464 +lbl_801CA41C: +/* 801CA41C 001C607C 80 67 00 04 */ lwz r3, 4(r7) +/* 801CA420 001C6080 34 C6 FF FF */ addic. r6, r6, -1 +/* 801CA424 001C6084 80 07 00 08 */ lwz r0, 8(r7) +/* 801CA428 001C6088 90 64 00 04 */ stw r3, 4(r4) +/* 801CA42C 001C608C 80 67 00 0C */ lwz r3, 0xc(r7) +/* 801CA430 001C6090 90 04 00 08 */ stw r0, 8(r4) +/* 801CA434 001C6094 80 07 00 10 */ lwz r0, 0x10(r7) +/* 801CA438 001C6098 90 64 00 0C */ stw r3, 0xc(r4) +/* 801CA43C 001C609C 80 67 00 14 */ lwz r3, 0x14(r7) +/* 801CA440 001C60A0 90 04 00 10 */ stw r0, 0x10(r4) +/* 801CA444 001C60A4 80 07 00 18 */ lwz r0, 0x18(r7) +/* 801CA448 001C60A8 90 64 00 14 */ stw r3, 0x14(r4) +/* 801CA44C 001C60AC 80 67 00 1C */ lwz r3, 0x1c(r7) +/* 801CA450 001C60B0 90 04 00 18 */ stw r0, 0x18(r4) +/* 801CA454 001C60B4 84 07 00 20 */ lwzu r0, 0x20(r7) +/* 801CA458 001C60B8 90 64 00 1C */ stw r3, 0x1c(r4) +/* 801CA45C 001C60BC 94 04 00 20 */ stwu r0, 0x20(r4) +/* 801CA460 001C60C0 40 82 FF BC */ bne lbl_801CA41C +lbl_801CA464: +/* 801CA464 001C60C4 54 A3 F7 7F */ rlwinm. r3, r5, 0x1e, 0x1d, 0x1f +/* 801CA468 001C60C8 41 82 00 14 */ beq lbl_801CA47C +lbl_801CA46C: +/* 801CA46C 001C60CC 84 07 00 04 */ lwzu r0, 4(r7) +/* 801CA470 001C60D0 34 63 FF FF */ addic. r3, r3, -1 +/* 801CA474 001C60D4 94 04 00 04 */ stwu r0, 4(r4) +/* 801CA478 001C60D8 40 82 FF F4 */ bne lbl_801CA46C +lbl_801CA47C: +/* 801CA47C 001C60DC 54 A5 07 BF */ clrlwi. r5, r5, 0x1e +/* 801CA480 001C60E0 38 C7 00 03 */ addi r6, r7, 3 +/* 801CA484 001C60E4 38 64 00 03 */ addi r3, r4, 3 +/* 801CA488 001C60E8 4D 82 00 20 */ beqlr +lbl_801CA48C: +/* 801CA48C 001C60EC 8C 06 00 01 */ lbzu r0, 1(r6) +/* 801CA490 001C60F0 34 A5 FF FF */ addic. r5, r5, -1 +/* 801CA494 001C60F4 9C 03 00 01 */ stbu r0, 1(r3) +/* 801CA498 001C60F8 40 82 FF F4 */ bne lbl_801CA48C +/* 801CA49C 001C60FC 4E 80 00 20 */ blr + +.global __copy_longs_rev_aligned +__copy_longs_rev_aligned: +/* 801CA4A0 001C6100 7C E3 2A 14 */ add r7, r3, r5 +/* 801CA4A4 001C6104 7C C4 2A 14 */ add r6, r4, r5 +/* 801CA4A8 001C6108 54 E3 07 BF */ clrlwi. r3, r7, 0x1e +/* 801CA4AC 001C610C 41 82 00 18 */ beq lbl_801CA4C4 +/* 801CA4B0 001C6110 7C A3 28 50 */ subf r5, r3, r5 +lbl_801CA4B4: +/* 801CA4B4 001C6114 8C 06 FF FF */ lbzu r0, -1(r6) +/* 801CA4B8 001C6118 34 63 FF FF */ addic. r3, r3, -1 +/* 801CA4BC 001C611C 9C 07 FF FF */ stbu r0, -1(r7) +/* 801CA4C0 001C6120 40 82 FF F4 */ bne lbl_801CA4B4 +lbl_801CA4C4: +/* 801CA4C4 001C6124 54 A4 D9 7F */ rlwinm. r4, r5, 0x1b, 5, 0x1f +/* 801CA4C8 001C6128 41 82 00 4C */ beq lbl_801CA514 +lbl_801CA4CC: +/* 801CA4CC 001C612C 80 66 FF FC */ lwz r3, -4(r6) +/* 801CA4D0 001C6130 34 84 FF FF */ addic. r4, r4, -1 +/* 801CA4D4 001C6134 80 06 FF F8 */ lwz r0, -8(r6) +/* 801CA4D8 001C6138 90 67 FF FC */ stw r3, -4(r7) +/* 801CA4DC 001C613C 80 66 FF F4 */ lwz r3, -0xc(r6) +/* 801CA4E0 001C6140 90 07 FF F8 */ stw r0, -8(r7) +/* 801CA4E4 001C6144 80 06 FF F0 */ lwz r0, -0x10(r6) +/* 801CA4E8 001C6148 90 67 FF F4 */ stw r3, -0xc(r7) +/* 801CA4EC 001C614C 80 66 FF EC */ lwz r3, -0x14(r6) +/* 801CA4F0 001C6150 90 07 FF F0 */ stw r0, -0x10(r7) +/* 801CA4F4 001C6154 80 06 FF E8 */ lwz r0, -0x18(r6) +/* 801CA4F8 001C6158 90 67 FF EC */ stw r3, -0x14(r7) +/* 801CA4FC 001C615C 80 66 FF E4 */ lwz r3, -0x1c(r6) +/* 801CA500 001C6160 90 07 FF E8 */ stw r0, -0x18(r7) +/* 801CA504 001C6164 84 06 FF E0 */ lwzu r0, -0x20(r6) +/* 801CA508 001C6168 90 67 FF E4 */ stw r3, -0x1c(r7) +/* 801CA50C 001C616C 94 07 FF E0 */ stwu r0, -0x20(r7) +/* 801CA510 001C6170 40 82 FF BC */ bne lbl_801CA4CC +lbl_801CA514: +/* 801CA514 001C6174 54 A3 F7 7F */ rlwinm. r3, r5, 0x1e, 0x1d, 0x1f +/* 801CA518 001C6178 41 82 00 14 */ beq lbl_801CA52C +lbl_801CA51C: +/* 801CA51C 001C617C 84 06 FF FC */ lwzu r0, -4(r6) +/* 801CA520 001C6180 34 63 FF FF */ addic. r3, r3, -1 +/* 801CA524 001C6184 94 07 FF FC */ stwu r0, -4(r7) +/* 801CA528 001C6188 40 82 FF F4 */ bne lbl_801CA51C +lbl_801CA52C: +/* 801CA52C 001C618C 54 A5 07 BF */ clrlwi. r5, r5, 0x1e +/* 801CA530 001C6190 4D 82 00 20 */ beqlr +lbl_801CA534: +/* 801CA534 001C6194 8C 06 FF FF */ lbzu r0, -1(r6) +/* 801CA538 001C6198 34 A5 FF FF */ addic. r5, r5, -1 +/* 801CA53C 001C619C 9C 07 FF FF */ stbu r0, -1(r7) +/* 801CA540 001C61A0 40 82 FF F4 */ bne lbl_801CA534 +/* 801CA544 001C61A4 4E 80 00 20 */ blr + +.global __copy_longs_unaligned +__copy_longs_unaligned: +/* 801CA548 001C61A8 7C 03 00 D0 */ neg r0, r3 +/* 801CA54C 001C61AC 39 04 FF FF */ addi r8, r4, -1 +/* 801CA550 001C61B0 54 06 07 BF */ clrlwi. r6, r0, 0x1e +/* 801CA554 001C61B4 38 63 FF FF */ addi r3, r3, -1 +/* 801CA558 001C61B8 41 82 00 18 */ beq lbl_801CA570 +/* 801CA55C 001C61BC 7C A6 28 50 */ subf r5, r6, r5 +lbl_801CA560: +/* 801CA560 001C61C0 8C 08 00 01 */ lbzu r0, 1(r8) +/* 801CA564 001C61C4 34 C6 FF FF */ addic. r6, r6, -1 +/* 801CA568 001C61C8 9C 03 00 01 */ stbu r0, 1(r3) +/* 801CA56C 001C61CC 40 82 FF F4 */ bne lbl_801CA560 +lbl_801CA570: +/* 801CA570 001C61D0 38 08 00 01 */ addi r0, r8, 1 +/* 801CA574 001C61D4 38 C3 FF FD */ addi r6, r3, -3 +/* 801CA578 001C61D8 54 09 07 BE */ clrlwi r9, r0, 0x1e +/* 801CA57C 001C61DC 54 A7 E8 FE */ srwi r7, r5, 3 +/* 801CA580 001C61E0 7D 09 40 50 */ subf r8, r9, r8 +/* 801CA584 001C61E4 54 0A 1E F8 */ rlwinm r10, r0, 3, 0x1b, 0x1c +/* 801CA588 001C61E8 84 88 00 01 */ lwzu r4, 1(r8) +/* 801CA58C 001C61EC 21 6A 00 20 */ subfic r11, r10, 0x20 +lbl_801CA590: +/* 801CA590 001C61F0 80 68 00 04 */ lwz r3, 4(r8) +/* 801CA594 001C61F4 7C 84 50 30 */ slw r4, r4, r10 +/* 801CA598 001C61F8 34 E7 FF FF */ addic. r7, r7, -1 +/* 801CA59C 001C61FC 7C 60 5C 30 */ srw r0, r3, r11 +/* 801CA5A0 001C6200 7C 63 50 30 */ slw r3, r3, r10 +/* 801CA5A4 001C6204 7C 80 03 78 */ or r0, r4, r0 +/* 801CA5A8 001C6208 90 06 00 04 */ stw r0, 4(r6) +/* 801CA5AC 001C620C 84 88 00 08 */ lwzu r4, 8(r8) +/* 801CA5B0 001C6210 7C 80 5C 30 */ srw r0, r4, r11 +/* 801CA5B4 001C6214 7C 60 03 78 */ or r0, r3, r0 +/* 801CA5B8 001C6218 94 06 00 08 */ stwu r0, 8(r6) +/* 801CA5BC 001C621C 40 82 FF D4 */ bne lbl_801CA590 +/* 801CA5C0 001C6220 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d +/* 801CA5C4 001C6224 41 82 00 18 */ beq lbl_801CA5DC +/* 801CA5C8 001C6228 84 08 00 04 */ lwzu r0, 4(r8) +/* 801CA5CC 001C622C 7C 83 50 30 */ slw r3, r4, r10 +/* 801CA5D0 001C6230 7C 00 5C 30 */ srw r0, r0, r11 +/* 801CA5D4 001C6234 7C 60 03 78 */ or r0, r3, r0 +/* 801CA5D8 001C6238 94 06 00 04 */ stwu r0, 4(r6) +lbl_801CA5DC: +/* 801CA5DC 001C623C 54 A5 07 BF */ clrlwi. r5, r5, 0x1e +/* 801CA5E0 001C6240 38 88 00 03 */ addi r4, r8, 3 +/* 801CA5E4 001C6244 38 66 00 03 */ addi r3, r6, 3 +/* 801CA5E8 001C6248 4D 82 00 20 */ beqlr +/* 801CA5EC 001C624C 20 09 00 04 */ subfic r0, r9, 4 +/* 801CA5F0 001C6250 7C 80 20 50 */ subf r4, r0, r4 +lbl_801CA5F4: +/* 801CA5F4 001C6254 8C 04 00 01 */ lbzu r0, 1(r4) +/* 801CA5F8 001C6258 34 A5 FF FF */ addic. r5, r5, -1 +/* 801CA5FC 001C625C 9C 03 00 01 */ stbu r0, 1(r3) +/* 801CA600 001C6260 40 82 FF F4 */ bne lbl_801CA5F4 +/* 801CA604 001C6264 4E 80 00 20 */ blr + +.global __copy_longs_rev_unaligned +__copy_longs_rev_unaligned: +/* 801CA608 001C6268 7D 63 2A 14 */ add r11, r3, r5 +/* 801CA60C 001C626C 7D 44 2A 14 */ add r10, r4, r5 +/* 801CA610 001C6270 55 63 07 BF */ clrlwi. r3, r11, 0x1e +/* 801CA614 001C6274 41 82 00 18 */ beq lbl_801CA62C +/* 801CA618 001C6278 7C A3 28 50 */ subf r5, r3, r5 +lbl_801CA61C: +/* 801CA61C 001C627C 8C 0A FF FF */ lbzu r0, -1(r10) +/* 801CA620 001C6280 34 63 FF FF */ addic. r3, r3, -1 +/* 801CA624 001C6284 9C 0B FF FF */ stbu r0, -1(r11) +/* 801CA628 001C6288 40 82 FF F4 */ bne lbl_801CA61C +lbl_801CA62C: +/* 801CA62C 001C628C 55 48 1E F8 */ rlwinm r8, r10, 3, 0x1b, 0x1c +/* 801CA630 001C6290 55 47 07 BE */ clrlwi r7, r10, 0x1e +/* 801CA634 001C6294 21 28 00 20 */ subfic r9, r8, 0x20 +/* 801CA638 001C6298 54 A6 E8 FE */ srwi r6, r5, 3 +/* 801CA63C 001C629C 20 07 00 04 */ subfic r0, r7, 4 +/* 801CA640 001C62A0 7D 4A 02 14 */ add r10, r10, r0 +/* 801CA644 001C62A4 84 8A FF FC */ lwzu r4, -4(r10) +lbl_801CA648: +/* 801CA648 001C62A8 80 0A FF FC */ lwz r0, -4(r10) +/* 801CA64C 001C62AC 7C 83 4C 30 */ srw r3, r4, r9 +/* 801CA650 001C62B0 34 C6 FF FF */ addic. r6, r6, -1 +/* 801CA654 001C62B4 7C 04 40 30 */ slw r4, r0, r8 +/* 801CA658 001C62B8 7C 00 4C 30 */ srw r0, r0, r9 +/* 801CA65C 001C62BC 7C 83 1B 78 */ or r3, r4, r3 +/* 801CA660 001C62C0 90 6B FF FC */ stw r3, -4(r11) +/* 801CA664 001C62C4 84 8A FF F8 */ lwzu r4, -8(r10) +/* 801CA668 001C62C8 7C 83 40 30 */ slw r3, r4, r8 +/* 801CA66C 001C62CC 7C 60 03 78 */ or r0, r3, r0 +/* 801CA670 001C62D0 94 0B FF F8 */ stwu r0, -8(r11) +/* 801CA674 001C62D4 40 82 FF D4 */ bne lbl_801CA648 +/* 801CA678 001C62D8 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d +/* 801CA67C 001C62DC 41 82 00 18 */ beq lbl_801CA694 +/* 801CA680 001C62E0 84 6A FF FC */ lwzu r3, -4(r10) +/* 801CA684 001C62E4 7C 80 4C 30 */ srw r0, r4, r9 +/* 801CA688 001C62E8 7C 63 40 30 */ slw r3, r3, r8 +/* 801CA68C 001C62EC 7C 60 03 78 */ or r0, r3, r0 +/* 801CA690 001C62F0 94 0B FF FC */ stwu r0, -4(r11) +lbl_801CA694: +/* 801CA694 001C62F4 54 A5 07 BF */ clrlwi. r5, r5, 0x1e +/* 801CA698 001C62F8 4D 82 00 20 */ beqlr +/* 801CA69C 001C62FC 7D 4A 3A 14 */ add r10, r10, r7 +lbl_801CA6A0: +/* 801CA6A0 001C6300 8C 0A FF FF */ lbzu r0, -1(r10) +/* 801CA6A4 001C6304 34 A5 FF FF */ addic. r5, r5, -1 +/* 801CA6A8 001C6308 9C 0B FF FF */ stbu r0, -1(r11) +/* 801CA6AC 001C630C 40 82 FF F4 */ bne lbl_801CA6A0 +/* 801CA6B0 001C6310 4E 80 00 20 */ blr + +.global func_801CA6B4 +func_801CA6B4: +/* 801CA6B4 001C6314 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801CA6B8 001C6318 3C 00 7F 80 */ lis r0, 0x7f80 +/* 801CA6BC 001C631C D0 21 00 08 */ stfs f1, 8(r1) +/* 801CA6C0 001C6320 80 81 00 08 */ lwz r4, 8(r1) +/* 801CA6C4 001C6324 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 +/* 801CA6C8 001C6328 7C 03 00 00 */ cmpw r3, r0 +/* 801CA6CC 001C632C 41 82 00 14 */ beq lbl_801CA6E0 +/* 801CA6D0 001C6330 40 80 00 3C */ bge lbl_801CA70C +/* 801CA6D4 001C6334 2C 03 00 00 */ cmpwi r3, 0 +/* 801CA6D8 001C6338 41 82 00 20 */ beq lbl_801CA6F8 +/* 801CA6DC 001C633C 48 00 00 30 */ b lbl_801CA70C +lbl_801CA6E0: +/* 801CA6E0 001C6340 54 83 02 7E */ clrlwi r3, r4, 9 +/* 801CA6E4 001C6344 7C 03 00 D0 */ neg r0, r3 +/* 801CA6E8 001C6348 7C 00 1B 78 */ or r0, r0, r3 +/* 801CA6EC 001C634C 7C 03 FE 70 */ srawi r3, r0, 0x1f +/* 801CA6F0 001C6350 38 63 00 02 */ addi r3, r3, 2 +/* 801CA6F4 001C6354 48 00 00 1C */ b lbl_801CA710 +lbl_801CA6F8: +/* 801CA6F8 001C6358 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 801CA6FC 001C635C 38 60 00 03 */ li r3, 3 +/* 801CA700 001C6360 41 82 00 10 */ beq lbl_801CA710 +/* 801CA704 001C6364 38 60 00 05 */ li r3, 5 +/* 801CA708 001C6368 48 00 00 08 */ b lbl_801CA710 +lbl_801CA70C: +/* 801CA70C 001C636C 38 60 00 04 */ li r3, 4 +lbl_801CA710: +/* 801CA710 001C6370 38 21 00 10 */ addi r1, r1, 0x10 +/* 801CA714 001C6374 4E 80 00 20 */ blr + +.global func_801CA718 +func_801CA718: +/* 801CA718 001C6378 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801CA71C 001C637C D8 21 00 08 */ stfd f1, 8(r1) +/* 801CA720 001C6380 80 01 00 08 */ lwz r0, 8(r1) +/* 801CA724 001C6384 54 03 00 00 */ rlwinm r3, r0, 0, 0, 0 +/* 801CA728 001C6388 38 21 00 10 */ addi r1, r1, 0x10 +/* 801CA72C 001C638C 4E 80 00 20 */ blr + +.global func_801CA730 +func_801CA730: +/* 801CA730 001C6390 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 801CA734 001C6394 3C 00 7F F0 */ lis r0, 0x7ff0 +/* 801CA738 001C6398 D8 21 00 08 */ stfd f1, 8(r1) +/* 801CA73C 001C639C 80 81 00 08 */ lwz r4, 8(r1) +/* 801CA740 001C63A0 54 83 00 56 */ rlwinm r3, r4, 0, 1, 0xb +/* 801CA744 001C63A4 7C 03 00 00 */ cmpw r3, r0 +/* 801CA748 001C63A8 41 82 00 14 */ beq lbl_801CA75C +/* 801CA74C 001C63AC 40 80 00 58 */ bge lbl_801CA7A4 +/* 801CA750 001C63B0 2C 03 00 00 */ cmpwi r3, 0 +/* 801CA754 001C63B4 41 82 00 2C */ beq lbl_801CA780 +/* 801CA758 001C63B8 48 00 00 4C */ b lbl_801CA7A4 +lbl_801CA75C: +/* 801CA75C 001C63BC 54 80 03 3F */ clrlwi. r0, r4, 0xc +/* 801CA760 001C63C0 40 82 00 10 */ bne lbl_801CA770 +/* 801CA764 001C63C4 80 01 00 0C */ lwz r0, 0xc(r1) +/* 801CA768 001C63C8 2C 00 00 00 */ cmpwi r0, 0 +/* 801CA76C 001C63CC 41 82 00 0C */ beq lbl_801CA778 +lbl_801CA770: +/* 801CA770 001C63D0 38 60 00 01 */ li r3, 1 +/* 801CA774 001C63D4 48 00 00 34 */ b lbl_801CA7A8 +lbl_801CA778: +/* 801CA778 001C63D8 38 60 00 02 */ li r3, 2 +/* 801CA77C 001C63DC 48 00 00 2C */ b lbl_801CA7A8 +lbl_801CA780: +/* 801CA780 001C63E0 54 80 03 3F */ clrlwi. r0, r4, 0xc +/* 801CA784 001C63E4 40 82 00 10 */ bne lbl_801CA794 +/* 801CA788 001C63E8 80 01 00 0C */ lwz r0, 0xc(r1) +/* 801CA78C 001C63EC 2C 00 00 00 */ cmpwi r0, 0 +/* 801CA790 001C63F0 41 82 00 0C */ beq lbl_801CA79C +lbl_801CA794: +/* 801CA794 001C63F4 38 60 00 05 */ li r3, 5 +/* 801CA798 001C63F8 48 00 00 10 */ b lbl_801CA7A8 +lbl_801CA79C: +/* 801CA79C 001C63FC 38 60 00 03 */ li r3, 3 +/* 801CA7A0 001C6400 48 00 00 08 */ b lbl_801CA7A8 +lbl_801CA7A4: +/* 801CA7A4 001C6404 38 60 00 04 */ li r3, 4 +lbl_801CA7A8: +/* 801CA7A8 001C6408 38 21 00 10 */ addi r1, r1, 0x10 +/* 801CA7AC 001C640C 4E 80 00 20 */ blr diff --git a/asm/text_6_2.s b/asm/text_6_2.s index 6bf2c02..1051ff0 100644 --- a/asm/text_6_2.s +++ b/asm/text_6_2.s @@ -30199,7 +30199,7 @@ lbl_801F1A20: /* 801F1AC4 001ED724 38 7F 00 B8 */ addi r3, r31, 0xb8 /* 801F1AC8 001ED728 38 84 6E 44 */ addi r4, r4, lbl_801E6E44@l /* 801F1ACC 001ED72C 38 BF 00 A8 */ addi r5, r31, 0xa8 -/* 801F1AD0 001ED730 4B FD 51 79 */ bl func_801C6C48 +/* 801F1AD0 001ED730 4B FD 51 79 */ bl __register_global_object_tmp /* 801F1AD4 001ED734 80 01 00 14 */ lwz r0, 0x14(r1) /* 801F1AD8 001ED738 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801F1ADC 001ED73C 7C 08 03 A6 */ mtlr r0 @@ -54579,7 +54579,7 @@ func_802070E4: /* 80207118 00202D78 38 63 22 88 */ addi r3, r3, lbl_80492288@l /* 8020711C 00202D7C 38 84 72 DC */ addi r4, r4, lbl_802072DC@l /* 80207120 00202D80 38 A5 22 78 */ addi r5, r5, lbl_80492278@l -/* 80207124 00202D84 4B FB FB 25 */ bl func_801C6C48 +/* 80207124 00202D84 4B FB FB 25 */ bl __register_global_object_tmp /* 80207128 00202D88 38 00 00 01 */ li r0, 1 /* 8020712C 00202D8C 98 0D A2 04 */ stb r0, lbl_8063F4C4-_SDA_BASE_(r13) lbl_80207130: @@ -63285,7 +63285,7 @@ lbl_8020EA3C: /* 8020EABC 0020A71C 7F E3 FB 78 */ mr r3, r31 /* 8020EAC0 0020A720 38 9E 42 B4 */ addi r4, r30, func_801E42B4@l /* 8020EAC4 0020A724 38 BC 00 00 */ addi r5, r28, 0 -/* 8020EAC8 0020A728 4B FB 81 81 */ bl func_801C6C48 +/* 8020EAC8 0020A728 4B FB 81 81 */ bl __register_global_object_tmp /* 8020EACC 0020A72C 3B FC 03 EC */ addi r31, r28, 0x3ec /* 8020EAD0 0020A730 9B BC 03 EC */ stb r29, 0x3ec(r28) /* 8020EAD4 0020A734 7F E3 FB 78 */ mr r3, r31 @@ -63297,7 +63297,7 @@ lbl_8020EA3C: /* 8020EAEC 0020A74C 7F E3 FB 78 */ mr r3, r31 /* 8020EAF0 0020A750 38 9E 42 B4 */ addi r4, r30, 0x42b4 /* 8020EAF4 0020A754 38 BC 03 E0 */ addi r5, r28, 0x3e0 -/* 8020EAF8 0020A758 4B FB 81 51 */ bl func_801C6C48 +/* 8020EAF8 0020A758 4B FB 81 51 */ bl __register_global_object_tmp /* 8020EAFC 0020A75C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8020EB00 0020A760 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8020EB04 0020A764 83 C1 00 18 */ lwz r30, 0x18(r1) @@ -64288,7 +64288,7 @@ lbl_8020F8B8: /* 8020F938 0020B598 7F E3 FB 78 */ mr r3, r31 /* 8020F93C 0020B59C 38 9E 42 B4 */ addi r4, r30, func_801E42B4@l /* 8020F940 0020B5A0 38 BC 00 00 */ addi r5, r28, 0 -/* 8020F944 0020B5A4 4B FB 73 05 */ bl func_801C6C48 +/* 8020F944 0020B5A4 4B FB 73 05 */ bl __register_global_object_tmp /* 8020F948 0020B5A8 3B FC 03 EC */ addi r31, r28, 0x3ec /* 8020F94C 0020B5AC 9B BC 03 EC */ stb r29, 0x3ec(r28) /* 8020F950 0020B5B0 7F E3 FB 78 */ mr r3, r31 @@ -64300,7 +64300,7 @@ lbl_8020F8B8: /* 8020F968 0020B5C8 7F E3 FB 78 */ mr r3, r31 /* 8020F96C 0020B5CC 38 9E 42 B4 */ addi r4, r30, 0x42b4 /* 8020F970 0020B5D0 38 BC 03 E0 */ addi r5, r28, 0x3e0 -/* 8020F974 0020B5D4 4B FB 72 D5 */ bl func_801C6C48 +/* 8020F974 0020B5D4 4B FB 72 D5 */ bl __register_global_object_tmp /* 8020F978 0020B5D8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8020F97C 0020B5DC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8020F980 0020B5E0 83 C1 00 18 */ lwz r30, 0x18(r1) diff --git a/asm/text_7.s b/asm/text_7.s index f293a9b..5da67f1 100644 --- a/asm/text_7.s +++ b/asm/text_7.s @@ -16571,7 +16571,7 @@ lbl_80230BAC: /* 80230C3C 0022C89C 38 7A 00 6C */ addi r3, r26, 0x6c /* 80230C40 0022C8A0 38 9E 42 B4 */ addi r4, r30, func_801E42B4@l /* 80230C44 0022C8A4 38 BA 00 00 */ addi r5, r26, 0 -/* 80230C48 0022C8A8 4B F9 60 01 */ bl func_801C6C48 +/* 80230C48 0022C8A8 4B F9 60 01 */ bl __register_global_object_tmp /* 80230C4C 0022C8AC 93 A1 00 08 */ stw r29, 8(r1) /* 80230C50 0022C8B0 3B FA 00 6C */ addi r31, r26, 0x6c /* 80230C54 0022C8B4 38 80 00 01 */ li r4, 1 @@ -16587,7 +16587,7 @@ lbl_80230BAC: /* 80230C7C 0022C8DC 38 7F 03 D4 */ addi r3, r31, 0x3d4 /* 80230C80 0022C8E0 38 9E 42 B4 */ addi r4, r30, 0x42b4 /* 80230C84 0022C8E4 38 BA 00 0C */ addi r5, r26, 0xc -/* 80230C88 0022C8E8 4B F9 5F C1 */ bl func_801C6C48 +/* 80230C88 0022C8E8 4B F9 5F C1 */ bl __register_global_object_tmp /* 80230C8C 0022C8EC 93 A1 00 08 */ stw r29, 8(r1) /* 80230C90 0022C8F0 38 7F 07 A8 */ addi r3, r31, 0x7a8 /* 80230C94 0022C8F4 38 80 00 00 */ li r4, 0 @@ -16602,7 +16602,7 @@ lbl_80230BAC: /* 80230CB8 0022C918 38 7F 07 A8 */ addi r3, r31, 0x7a8 /* 80230CBC 0022C91C 38 9E 42 B4 */ addi r4, r30, 0x42b4 /* 80230CC0 0022C920 38 BA 00 18 */ addi r5, r26, 0x18 -/* 80230CC4 0022C924 4B F9 5F 85 */ bl func_801C6C48 +/* 80230CC4 0022C924 4B F9 5F 85 */ bl __register_global_object_tmp /* 80230CC8 0022C928 93 A1 00 08 */ stw r29, 8(r1) /* 80230CCC 0022C92C 38 7F 0B 7C */ addi r3, r31, 0xb7c /* 80230CD0 0022C930 38 80 00 00 */ li r4, 0 @@ -16617,7 +16617,7 @@ lbl_80230BAC: /* 80230CF4 0022C954 38 7F 0B 7C */ addi r3, r31, 0xb7c /* 80230CF8 0022C958 38 9E 42 B4 */ addi r4, r30, 0x42b4 /* 80230CFC 0022C95C 38 BA 00 24 */ addi r5, r26, 0x24 -/* 80230D00 0022C960 4B F9 5F 49 */ bl func_801C6C48 +/* 80230D00 0022C960 4B F9 5F 49 */ bl __register_global_object_tmp /* 80230D04 0022C964 93 61 00 08 */ stw r27, 8(r1) /* 80230D08 0022C968 38 7F 0F 50 */ addi r3, r31, 0xf50 /* 80230D0C 0022C96C 38 80 00 01 */ li r4, 1 @@ -16632,7 +16632,7 @@ lbl_80230BAC: /* 80230D30 0022C990 38 7F 0F 50 */ addi r3, r31, 0xf50 /* 80230D34 0022C994 38 9E 42 B4 */ addi r4, r30, 0x42b4 /* 80230D38 0022C998 38 BA 00 30 */ addi r5, r26, 0x30 -/* 80230D3C 0022C99C 4B F9 5F 0D */ bl func_801C6C48 +/* 80230D3C 0022C99C 4B F9 5F 0D */ bl __register_global_object_tmp /* 80230D40 0022C9A0 93 61 00 08 */ stw r27, 8(r1) /* 80230D44 0022C9A4 38 7F 13 24 */ addi r3, r31, 0x1324 /* 80230D48 0022C9A8 38 80 00 00 */ li r4, 0 @@ -16647,7 +16647,7 @@ lbl_80230BAC: /* 80230D6C 0022C9CC 38 7F 13 24 */ addi r3, r31, 0x1324 /* 80230D70 0022C9D0 38 9E 42 B4 */ addi r4, r30, 0x42b4 /* 80230D74 0022C9D4 38 BA 00 3C */ addi r5, r26, 0x3c -/* 80230D78 0022C9D8 4B F9 5E D1 */ bl func_801C6C48 +/* 80230D78 0022C9D8 4B F9 5E D1 */ bl __register_global_object_tmp /* 80230D7C 0022C9DC 93 61 00 08 */ stw r27, 8(r1) /* 80230D80 0022C9E0 38 7F 16 F8 */ addi r3, r31, 0x16f8 /* 80230D84 0022C9E4 38 80 00 01 */ li r4, 1 @@ -16662,7 +16662,7 @@ lbl_80230BAC: /* 80230DA8 0022CA08 38 7F 16 F8 */ addi r3, r31, 0x16f8 /* 80230DAC 0022CA0C 38 9E 42 B4 */ addi r4, r30, 0x42b4 /* 80230DB0 0022CA10 38 BA 00 48 */ addi r5, r26, 0x48 -/* 80230DB4 0022CA14 4B F9 5E 95 */ bl func_801C6C48 +/* 80230DB4 0022CA14 4B F9 5E 95 */ bl __register_global_object_tmp /* 80230DB8 0022CA18 93 61 00 08 */ stw r27, 8(r1) /* 80230DBC 0022CA1C 38 7F 1A CC */ addi r3, r31, 0x1acc /* 80230DC0 0022CA20 38 80 00 00 */ li r4, 0 @@ -16677,7 +16677,7 @@ lbl_80230BAC: /* 80230DE4 0022CA44 38 7F 1A CC */ addi r3, r31, 0x1acc /* 80230DE8 0022CA48 38 9E 42 B4 */ addi r4, r30, 0x42b4 /* 80230DEC 0022CA4C 38 BA 00 54 */ addi r5, r26, 0x54 -/* 80230DF0 0022CA50 4B F9 5E 59 */ bl func_801C6C48 +/* 80230DF0 0022CA50 4B F9 5E 59 */ bl __register_global_object_tmp /* 80230DF4 0022CA54 93 A1 00 08 */ stw r29, 8(r1) /* 80230DF8 0022CA58 38 7F 1E A0 */ addi r3, r31, 0x1ea0 /* 80230DFC 0022CA5C 38 80 00 01 */ li r4, 1 @@ -16692,7 +16692,7 @@ lbl_80230BAC: /* 80230E20 0022CA80 38 7F 1E A0 */ addi r3, r31, 0x1ea0 /* 80230E24 0022CA84 38 9E 42 B4 */ addi r4, r30, 0x42b4 /* 80230E28 0022CA88 38 BA 00 60 */ addi r5, r26, 0x60 -/* 80230E2C 0022CA8C 4B F9 5E 1D */ bl func_801C6C48 +/* 80230E2C 0022CA8C 4B F9 5E 1D */ bl __register_global_object_tmp /* 80230E30 0022CA90 39 61 00 30 */ addi r11, r1, 0x30 /* 80230E34 0022CA94 4B F9 63 3D */ bl func_801C7170 /* 80230E38 0022CA98 80 01 00 34 */ lwz r0, 0x34(r1) @@ -22901,7 +22901,7 @@ lbl_80236684: /* 802366E0 00232340 38 7F 67 54 */ addi r3, r31, 0x6754 /* 802366E4 00232344 38 84 60 E0 */ addi r4, r4, lbl_802360E0@l /* 802366E8 00232348 38 A5 67 48 */ addi r5, r5, lbl_80496748@l -/* 802366EC 0023234C 4B F9 05 5D */ bl func_801C6C48 +/* 802366EC 0023234C 4B F9 05 5D */ bl __register_global_object_tmp /* 802366F0 00232350 80 01 00 14 */ lwz r0, 0x14(r1) /* 802366F4 00232354 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802366F8 00232358 7C 08 03 A6 */ mtlr r0 @@ -30342,7 +30342,7 @@ func_8023CF30: /* 8023CFE4 00238C44 7F E3 FB 78 */ mr r3, r31 /* 8023CFE8 00238C48 38 84 42 B4 */ addi r4, r4, func_801E42B4@l /* 8023CFEC 00238C4C 38 A5 67 C0 */ addi r5, r5, lbl_804967C0@l -/* 8023CFF0 00238C50 4B F8 9C 59 */ bl func_801C6C48 +/* 8023CFF0 00238C50 4B F8 9C 59 */ bl __register_global_object_tmp /* 8023CFF4 00238C54 80 01 00 14 */ lwz r0, 0x14(r1) /* 8023CFF8 00238C58 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8023CFFC 00238C5C 7C 08 03 A6 */ mtlr r0 @@ -53286,7 +53286,7 @@ func_80250ED4: /* 80250F08 0024CB68 B0 E6 00 02 */ sth r7, 2(r6) /* 80250F0C 0024CB6C 38 A5 7F E0 */ addi r5, r5, lbl_80497FE0@l /* 80250F10 0024CB70 98 06 00 04 */ stb r0, 4(r6) -/* 80250F14 0024CB74 4B F7 5D 34 */ b func_801C6C48 +/* 80250F14 0024CB74 4B F7 5D 34 */ b __register_global_object_tmp lbl_80250F18: /* 80250F18 0024CB78 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80250F1C 0024CB7C 7C 08 02 A6 */ mflr r0 @@ -56728,7 +56728,7 @@ func_80253F9C: /* 80253FDC 0024FC3C B0 E6 00 02 */ sth r7, 2(r6) /* 80253FE0 0024FC40 38 A5 DA A0 */ addi r5, r5, lbl_804FDAA0@l /* 80253FE4 0024FC44 98 06 00 04 */ stb r0, 4(r6) -/* 80253FE8 0024FC48 4B F7 2C 60 */ b func_801C6C48 +/* 80253FE8 0024FC48 4B F7 2C 60 */ b __register_global_object_tmp lbl_80253FEC: /* 80253FEC 0024FC4C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80253FF0 0024FC50 7C 08 02 A6 */ mflr r0 diff --git a/obj_files.mk b/obj_files.mk index cf378a5..f3799fb 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -1,73 +1,76 @@ -EXTAB_O_FILES := \ +EXTAB_O_FILES := \ $(BUILD_DIR)/asm/extab.o -EXTABINDEX_O_FILES := \ +EXTABINDEX_O_FILES := \ $(BUILD_DIR)/asm/extabindex.o #init is included here so that linking is in the right order #todo fix with makefile implementation -TEXT_O_FILES := \ - $(BUILD_DIR)/asm/text_1.o \ - $(BUILD_DIR)/asm/text_2.o \ - $(BUILD_DIR)/asm/text_3.o \ - $(BUILD_DIR)/asm/text_4.o \ - $(BUILD_DIR)/asm/text_5.o \ - $(BUILD_DIR)/asm/libstdc++/__mem.o \ - $(BUILD_DIR)/asm/libstdc++/__va_arg.o \ - $(BUILD_DIR)/asm/text_5_2.o \ - $(BUILD_DIR)/asm/text_6.o \ - $(BUILD_DIR)/asm/MetroTRK/mem_TRK.o \ - $(BUILD_DIR)/asm/init.o \ - $(BUILD_DIR)/asm/text_6_2.o \ - $(BUILD_DIR)/asm/text_7.o \ - $(BUILD_DIR)/asm/SDK/OS/OS.o \ - $(BUILD_DIR)/asm/SDK/OS/OSAlarm.o \ - $(BUILD_DIR)/src/SDK/OS/OSAlloc.o \ - $(BUILD_DIR)/asm/SDK/OS/OSArena.o \ - $(BUILD_DIR)/asm/SDK/OS/OSAudioSystem.o \ - $(BUILD_DIR)/asm/SDK/OS/OSCache.o \ - $(BUILD_DIR)/asm/SDK/OS/OSContext.o \ - $(BUILD_DIR)/asm/SDK/OS/OSError.o \ - $(BUILD_DIR)/asm/SDK/OS/OSExec.o \ - $(BUILD_DIR)/asm/text_7_2.o \ - $(BUILD_DIR)/asm/text_8.o \ - $(BUILD_DIR)/asm/text_9.o \ - $(BUILD_DIR)/asm/text_10.o \ - $(BUILD_DIR)/src/darray.o \ - $(BUILD_DIR)/src/hashtable.o \ - $(BUILD_DIR)/asm/md5c.o \ - $(BUILD_DIR)/asm/nonport.o \ - $(BUILD_DIR)/asm/gsAvailable.o \ - $(BUILD_DIR)/asm/gsCrypt.o \ - $(BUILD_DIR)/asm/gsLargeInt.o \ - $(BUILD_DIR)/asm/gsRC4.o \ - $(BUILD_DIR)/asm/gsSHA1.o \ - $(BUILD_DIR)/asm/text_10_2.o \ +TEXT_O_FILES := \ + $(BUILD_DIR)/asm/text_1.o \ + $(BUILD_DIR)/asm/text_2.o \ + $(BUILD_DIR)/asm/text_3.o \ + $(BUILD_DIR)/asm/text_4.o \ + $(BUILD_DIR)/asm/text_5.o \ + $(BUILD_DIR)/asm/libstdc++/__mem.o \ + $(BUILD_DIR)/asm/libstdc++/__va_arg.o \ + $(BUILD_DIR)/asm/libstdc++/global_destructor_chain.o \ + $(BUILD_DIR)/asm/text_5_2.o \ + $(BUILD_DIR)/asm/libstdc++/__init_cpp_exceptions.o \ + $(BUILD_DIR)/asm/text_5_3.o \ + $(BUILD_DIR)/asm/text_6.o \ + $(BUILD_DIR)/asm/MetroTRK/mem_TRK.o \ + $(BUILD_DIR)/asm/init.o \ + $(BUILD_DIR)/asm/text_6_2.o \ + $(BUILD_DIR)/asm/text_7.o \ + $(BUILD_DIR)/asm/SDK/OS/OS.o \ + $(BUILD_DIR)/asm/SDK/OS/OSAlarm.o \ + $(BUILD_DIR)/src/SDK/OS/OSAlloc.o \ + $(BUILD_DIR)/asm/SDK/OS/OSArena.o \ + $(BUILD_DIR)/asm/SDK/OS/OSAudioSystem.o \ + $(BUILD_DIR)/asm/SDK/OS/OSCache.o \ + $(BUILD_DIR)/asm/SDK/OS/OSContext.o \ + $(BUILD_DIR)/asm/SDK/OS/OSError.o \ + $(BUILD_DIR)/asm/SDK/OS/OSExec.o \ + $(BUILD_DIR)/asm/text_7_2.o \ + $(BUILD_DIR)/asm/text_8.o \ + $(BUILD_DIR)/asm/text_9.o \ + $(BUILD_DIR)/asm/text_10.o \ + $(BUILD_DIR)/src/darray.o \ + $(BUILD_DIR)/src/hashtable.o \ + $(BUILD_DIR)/asm/md5c.o \ + $(BUILD_DIR)/asm/nonport.o \ + $(BUILD_DIR)/asm/gsAvailable.o \ + $(BUILD_DIR)/asm/gsCrypt.o \ + $(BUILD_DIR)/asm/gsLargeInt.o \ + $(BUILD_DIR)/asm/gsRC4.o \ + $(BUILD_DIR)/asm/gsSHA1.o \ + $(BUILD_DIR)/asm/text_10_2.o \ $(BUILD_DIR)/asm/text_11.o -CTORS_O_FILES := \ +CTORS_O_FILES := \ $(BUILD_DIR)/asm/ctors.o -DTORS_O_FILES := \ +DTORS_O_FILES := \ $(BUILD_DIR)/asm/dtors.o -RODATA_O_FILES := \ +RODATA_O_FILES := \ $(BUILD_DIR)/asm/rodata.o -DATA_O_FILES := \ +DATA_O_FILES := \ $(BUILD_DIR)/asm/data.o -BSS_O_FILES := \ +BSS_O_FILES := \ $(BUILD_DIR)/asm/bss.o -SDATA_O_FILES := \ +SDATA_O_FILES := \ $(BUILD_DIR)/asm/sdata.o -SBSS_O_FILES := \ +SBSS_O_FILES := \ $(BUILD_DIR)/asm/sbss.o -SDATA2_O_FILES := \ +SDATA2_O_FILES := \ $(BUILD_DIR)/asm/sdata2.o -SBSS2_O_FILES := \ +SBSS2_O_FILES := \ $(BUILD_DIR)/asm/sbss2.o |