summaryrefslogtreecommitdiff
path: root/asm/libstdc++/strtold.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/libstdc++/strtold.s')
-rw-r--r--asm/libstdc++/strtold.s1535
1 files changed, 1535 insertions, 0 deletions
diff --git a/asm/libstdc++/strtold.s b/asm/libstdc++/strtold.s
new file mode 100644
index 0000000..c7bcf1a
--- /dev/null
+++ b/asm/libstdc++/strtold.s
@@ -0,0 +1,1535 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __strtold
+__strtold:
+/* 801CE80C 001CA46C 94 21 FF 20 */ stwu r1, -0xe0(r1)
+/* 801CE810 001CA470 7C 08 02 A6 */ mflr r0
+/* 801CE814 001CA474 90 01 00 E4 */ stw r0, 0xe4(r1)
+/* 801CE818 001CA478 39 61 00 E0 */ addi r11, r1, 0xe0
+/* 801CE81C 001CA47C 4B FF 88 D9 */ bl __save_gpr
+/* 801CE820 001CA480 3B E0 00 00 */ li r31, 0
+/* 801CE824 001CA484 3D 00 80 42 */ lis r8, lbl_80422B98@ha
+/* 801CE828 001CA488 38 00 00 00 */ li r0, 0
+/* 801CE82C 001CA48C 93 E1 00 58 */ stw r31, 0x58(r1)
+/* 801CE830 001CA490 81 08 2B 98 */ lwz r8, lbl_80422B98@l(r8)
+/* 801CE834 001CA494 7C 92 23 78 */ mr r18, r4
+/* 801CE838 001CA498 90 01 00 90 */ stw r0, 0x90(r1)
+/* 801CE83C 001CA49C 38 00 00 00 */ li r0, 0
+/* 801CE840 001CA4A0 7C B3 2B 78 */ mr r19, r5
+/* 801CE844 001CA4A4 7E 4C 93 78 */ mr r12, r18
+/* 801CE848 001CA4A8 90 01 00 8C */ stw r0, 0x8c(r1)
+/* 801CE84C 001CA4AC 38 00 00 00 */ li r0, 0
+/* 801CE850 001CA4B0 7C F4 3B 78 */ mr r20, r7
+/* 801CE854 001CA4B4 3A 20 00 01 */ li r17, 1
+/* 801CE858 001CA4B8 90 01 00 88 */ stw r0, 0x88(r1)
+/* 801CE85C 001CA4BC 38 00 00 00 */ li r0, 0
+/* 801CE860 001CA4C0 39 C0 00 00 */ li r14, 0
+/* 801CE864 001CA4C4 3B A0 00 00 */ li r29, 0
+/* 801CE868 001CA4C8 90 61 00 08 */ stw r3, 8(r1)
+/* 801CE86C 001CA4CC 7E 63 9B 78 */ mr r3, r19
+/* 801CE870 001CA4D0 3B 80 00 00 */ li r28, 0
+/* 801CE874 001CA4D4 3B 20 00 00 */ li r25, 0
+/* 801CE878 001CA4D8 93 E1 00 5C */ stw r31, 0x5c(r1)
+/* 801CE87C 001CA4DC 3A E0 00 00 */ li r23, 0
+/* 801CE880 001CA4E0 3B C0 00 01 */ li r30, 1
+/* 801CE884 001CA4E4 38 80 00 00 */ li r4, 0
+/* 801CE888 001CA4E8 93 E1 00 60 */ stw r31, 0x60(r1)
+/* 801CE88C 001CA4EC 38 A0 00 00 */ li r5, 0
+/* 801CE890 001CA4F0 93 E1 00 64 */ stw r31, 0x64(r1)
+/* 801CE894 001CA4F4 93 E1 00 68 */ stw r31, 0x68(r1)
+/* 801CE898 001CA4F8 93 E1 00 6C */ stw r31, 0x6c(r1)
+/* 801CE89C 001CA4FC 93 E1 00 70 */ stw r31, 0x70(r1)
+/* 801CE8A0 001CA500 93 E1 00 74 */ stw r31, 0x74(r1)
+/* 801CE8A4 001CA504 93 E1 00 78 */ stw r31, 0x78(r1)
+/* 801CE8A8 001CA508 93 E1 00 7C */ stw r31, 0x7c(r1)
+/* 801CE8AC 001CA50C B3 E1 00 80 */ sth r31, 0x80(r1)
+/* 801CE8B0 001CA510 8B 68 00 00 */ lbz r27, 0(r8)
+/* 801CE8B4 001CA514 90 C1 00 0C */ stw r6, 0xc(r1)
+/* 801CE8B8 001CA518 90 01 00 84 */ stw r0, 0x84(r1)
+/* 801CE8BC 001CA51C 93 E7 00 00 */ stw r31, 0(r7)
+/* 801CE8C0 001CA520 7D 89 03 A6 */ mtctr r12
+/* 801CE8C4 001CA524 4E 80 04 21 */ bctrl
+/* 801CE8C8 001CA528 3E 00 80 42 */ lis r16, lbl_80422D48@ha
+/* 801CE8CC 001CA52C 3D E0 80 40 */ lis r15, lbl_803FCD18@ha
+/* 801CE8D0 001CA530 7C 64 1B 78 */ mr r4, r3
+/* 801CE8D4 001CA534 3A 10 2D 48 */ addi r16, r16, lbl_80422D48@l
+/* 801CE8D8 001CA538 39 EF CD 18 */ addi r15, r15, lbl_803FCD18@l
+/* 801CE8DC 001CA53C 48 00 0F D0 */ b lbl_801CF8AC
+lbl_801CE8E0:
+/* 801CE8E0 001CA540 2C 11 00 80 */ cmpwi r17, 0x80
+/* 801CE8E4 001CA544 41 82 08 A0 */ beq lbl_801CF184
+/* 801CE8E8 001CA548 40 80 00 5C */ bge lbl_801CE944
+/* 801CE8EC 001CA54C 2C 11 00 08 */ cmpwi r17, 8
+/* 801CE8F0 001CA550 41 82 06 64 */ beq lbl_801CEF54
+/* 801CE8F4 001CA554 40 80 00 2C */ bge lbl_801CE920
+/* 801CE8F8 001CA558 2C 11 00 03 */ cmpwi r17, 3
+/* 801CE8FC 001CA55C 41 82 0F B0 */ beq lbl_801CF8AC
+/* 801CE900 001CA560 40 80 00 14 */ bge lbl_801CE914
+/* 801CE904 001CA564 2C 11 00 01 */ cmpwi r17, 1
+/* 801CE908 001CA568 41 82 00 8C */ beq lbl_801CE994
+/* 801CE90C 001CA56C 40 80 05 18 */ bge lbl_801CEE24
+/* 801CE910 001CA570 48 00 0F 9C */ b lbl_801CF8AC
+lbl_801CE914:
+/* 801CE914 001CA574 2C 11 00 05 */ cmpwi r17, 5
+/* 801CE918 001CA578 40 80 0F 94 */ bge lbl_801CF8AC
+/* 801CE91C 001CA57C 48 00 06 04 */ b lbl_801CEF20
+lbl_801CE920:
+/* 801CE920 001CA580 2C 11 00 20 */ cmpwi r17, 0x20
+/* 801CE924 001CA584 41 82 07 4C */ beq lbl_801CF070
+/* 801CE928 001CA588 40 80 00 10 */ bge lbl_801CE938
+/* 801CE92C 001CA58C 2C 11 00 10 */ cmpwi r17, 0x10
+/* 801CE930 001CA590 41 82 06 EC */ beq lbl_801CF01C
+/* 801CE934 001CA594 48 00 0F 78 */ b lbl_801CF8AC
+lbl_801CE938:
+/* 801CE938 001CA598 2C 11 00 40 */ cmpwi r17, 0x40
+/* 801CE93C 001CA59C 41 82 07 DC */ beq lbl_801CF118
+/* 801CE940 001CA5A0 48 00 0F 6C */ b lbl_801CF8AC
+lbl_801CE944:
+/* 801CE944 001CA5A4 2C 11 20 00 */ cmpwi r17, 0x2000
+/* 801CE948 001CA5A8 41 82 02 D0 */ beq lbl_801CEC18
+/* 801CE94C 001CA5AC 40 80 00 28 */ bge lbl_801CE974
+/* 801CE950 001CA5B0 2C 11 02 00 */ cmpwi r17, 0x200
+/* 801CE954 001CA5B4 41 82 09 18 */ beq lbl_801CF26C
+/* 801CE958 001CA5B8 40 80 00 10 */ bge lbl_801CE968
+/* 801CE95C 001CA5BC 2C 11 01 00 */ cmpwi r17, 0x100
+/* 801CE960 001CA5C0 41 82 08 88 */ beq lbl_801CF1E8
+/* 801CE964 001CA5C4 48 00 0F 48 */ b lbl_801CF8AC
+lbl_801CE968:
+/* 801CE968 001CA5C8 2C 11 04 00 */ cmpwi r17, 0x400
+/* 801CE96C 001CA5CC 41 82 09 34 */ beq lbl_801CF2A0
+/* 801CE970 001CA5D0 48 00 0F 3C */ b lbl_801CF8AC
+lbl_801CE974:
+/* 801CE974 001CA5D4 3C 60 00 01 */ lis r3, 0x00008000@ha
+/* 801CE978 001CA5D8 38 03 80 00 */ addi r0, r3, 0x00008000@l
+/* 801CE97C 001CA5DC 7C 11 00 00 */ cmpw r17, r0
+/* 801CE980 001CA5E0 41 82 09 AC */ beq lbl_801CF32C
+/* 801CE984 001CA5E4 40 80 0F 28 */ bge lbl_801CF8AC
+/* 801CE988 001CA5E8 2C 11 40 00 */ cmpwi r17, 0x4000
+/* 801CE98C 001CA5EC 41 82 01 6C */ beq lbl_801CEAF8
+/* 801CE990 001CA5F0 48 00 0F 1C */ b lbl_801CF8AC
+lbl_801CE994:
+/* 801CE994 001CA5F4 2C 04 00 00 */ cmpwi r4, 0
+/* 801CE998 001CA5F8 38 00 00 00 */ li r0, 0
+/* 801CE99C 001CA5FC 41 80 00 0C */ blt lbl_801CE9A8
+/* 801CE9A0 001CA600 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CE9A4 001CA604 41 80 00 08 */ blt lbl_801CE9AC
+lbl_801CE9A8:
+/* 801CE9A8 001CA608 38 00 00 01 */ li r0, 1
+lbl_801CE9AC:
+/* 801CE9AC 001CA60C 2C 00 00 00 */ cmpwi r0, 0
+/* 801CE9B0 001CA610 41 82 00 0C */ beq lbl_801CE9BC
+/* 801CE9B4 001CA614 38 00 00 00 */ li r0, 0
+/* 801CE9B8 001CA618 48 00 00 18 */ b lbl_801CE9D0
+lbl_801CE9BC:
+/* 801CE9BC 001CA61C 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CE9C0 001CA620 54 80 08 3C */ slwi r0, r4, 1
+/* 801CE9C4 001CA624 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CE9C8 001CA628 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CE9CC 001CA62C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
+lbl_801CE9D0:
+/* 801CE9D0 001CA630 2C 00 00 00 */ cmpwi r0, 0
+/* 801CE9D4 001CA634 41 82 00 28 */ beq lbl_801CE9FC
+/* 801CE9D8 001CA638 7E 4C 93 78 */ mr r12, r18
+/* 801CE9DC 001CA63C 7E 63 9B 78 */ mr r3, r19
+/* 801CE9E0 001CA640 38 80 00 00 */ li r4, 0
+/* 801CE9E4 001CA644 38 A0 00 00 */ li r5, 0
+/* 801CE9E8 001CA648 7D 89 03 A6 */ mtctr r12
+/* 801CE9EC 001CA64C 4E 80 04 21 */ bctrl
+/* 801CE9F0 001CA650 7C 64 1B 78 */ mr r4, r3
+/* 801CE9F4 001CA654 39 CE 00 01 */ addi r14, r14, 1
+/* 801CE9F8 001CA658 48 00 0E B4 */ b lbl_801CF8AC
+lbl_801CE9FC:
+/* 801CE9FC 001CA65C 2C 04 00 00 */ cmpwi r4, 0
+/* 801CEA00 001CA660 38 00 00 00 */ li r0, 0
+/* 801CEA04 001CA664 41 80 00 0C */ blt lbl_801CEA10
+/* 801CEA08 001CA668 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CEA0C 001CA66C 41 80 00 08 */ blt lbl_801CEA14
+lbl_801CEA10:
+/* 801CEA10 001CA670 38 00 00 01 */ li r0, 1
+lbl_801CEA14:
+/* 801CEA14 001CA674 2C 00 00 00 */ cmpwi r0, 0
+/* 801CEA18 001CA678 41 82 00 0C */ beq lbl_801CEA24
+/* 801CEA1C 001CA67C 7C 80 23 78 */ mr r0, r4
+/* 801CEA20 001CA680 48 00 00 10 */ b lbl_801CEA30
+lbl_801CEA24:
+/* 801CEA24 001CA684 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CEA28 001CA688 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 801CEA2C 001CA68C 7C 03 20 AE */ lbzx r0, r3, r4
+lbl_801CEA30:
+/* 801CEA30 001CA690 2C 00 00 49 */ cmpwi r0, 0x49
+/* 801CEA34 001CA694 41 82 00 6C */ beq lbl_801CEAA0
+/* 801CEA38 001CA698 40 80 00 28 */ bge lbl_801CEA60
+/* 801CEA3C 001CA69C 2C 00 00 2C */ cmpwi r0, 0x2c
+/* 801CEA40 001CA6A0 41 82 00 B0 */ beq lbl_801CEAF0
+/* 801CEA44 001CA6A4 40 80 00 10 */ bge lbl_801CEA54
+/* 801CEA48 001CA6A8 2C 00 00 2B */ cmpwi r0, 0x2b
+/* 801CEA4C 001CA6AC 40 80 00 28 */ bge lbl_801CEA74
+/* 801CEA50 001CA6B0 48 00 00 A0 */ b lbl_801CEAF0
+lbl_801CEA54:
+/* 801CEA54 001CA6B4 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 801CEA58 001CA6B8 40 80 00 98 */ bge lbl_801CEAF0
+/* 801CEA5C 001CA6BC 48 00 00 10 */ b lbl_801CEA6C
+lbl_801CEA60:
+/* 801CEA60 001CA6C0 2C 00 00 4E */ cmpwi r0, 0x4e
+/* 801CEA64 001CA6C4 41 82 00 64 */ beq lbl_801CEAC8
+/* 801CEA68 001CA6C8 48 00 00 88 */ b lbl_801CEAF0
+lbl_801CEA6C:
+/* 801CEA6C 001CA6CC 38 00 00 01 */ li r0, 1
+/* 801CEA70 001CA6D0 90 01 00 90 */ stw r0, 0x90(r1)
+lbl_801CEA74:
+/* 801CEA74 001CA6D4 7E 4C 93 78 */ mr r12, r18
+/* 801CEA78 001CA6D8 7E 63 9B 78 */ mr r3, r19
+/* 801CEA7C 001CA6DC 38 80 00 00 */ li r4, 0
+/* 801CEA80 001CA6E0 38 A0 00 00 */ li r5, 0
+/* 801CEA84 001CA6E4 7D 89 03 A6 */ mtctr r12
+/* 801CEA88 001CA6E8 3B DE 00 01 */ addi r30, r30, 1
+/* 801CEA8C 001CA6EC 4E 80 04 21 */ bctrl
+/* 801CEA90 001CA6F0 38 00 00 01 */ li r0, 1
+/* 801CEA94 001CA6F4 7C 64 1B 78 */ mr r4, r3
+/* 801CEA98 001CA6F8 90 01 00 88 */ stw r0, 0x88(r1)
+/* 801CEA9C 001CA6FC 48 00 0E 10 */ b lbl_801CF8AC
+lbl_801CEAA0:
+/* 801CEAA0 001CA700 7E 4C 93 78 */ mr r12, r18
+/* 801CEAA4 001CA704 7E 63 9B 78 */ mr r3, r19
+/* 801CEAA8 001CA708 38 80 00 00 */ li r4, 0
+/* 801CEAAC 001CA70C 38 A0 00 00 */ li r5, 0
+/* 801CEAB0 001CA710 7D 89 03 A6 */ mtctr r12
+/* 801CEAB4 001CA714 3B DE 00 01 */ addi r30, r30, 1
+/* 801CEAB8 001CA718 4E 80 04 21 */ bctrl
+/* 801CEABC 001CA71C 7C 64 1B 78 */ mr r4, r3
+/* 801CEAC0 001CA720 3A 20 40 00 */ li r17, 0x4000
+/* 801CEAC4 001CA724 48 00 0D E8 */ b lbl_801CF8AC
+lbl_801CEAC8:
+/* 801CEAC8 001CA728 7E 4C 93 78 */ mr r12, r18
+/* 801CEACC 001CA72C 7E 63 9B 78 */ mr r3, r19
+/* 801CEAD0 001CA730 38 80 00 00 */ li r4, 0
+/* 801CEAD4 001CA734 38 A0 00 00 */ li r5, 0
+/* 801CEAD8 001CA738 7D 89 03 A6 */ mtctr r12
+/* 801CEADC 001CA73C 3B DE 00 01 */ addi r30, r30, 1
+/* 801CEAE0 001CA740 4E 80 04 21 */ bctrl
+/* 801CEAE4 001CA744 7C 64 1B 78 */ mr r4, r3
+/* 801CEAE8 001CA748 3A 20 20 00 */ li r17, 0x2000
+/* 801CEAEC 001CA74C 48 00 0D C0 */ b lbl_801CF8AC
+lbl_801CEAF0:
+/* 801CEAF0 001CA750 3A 20 00 02 */ li r17, 2
+/* 801CEAF4 001CA754 48 00 0D B8 */ b lbl_801CF8AC
+lbl_801CEAF8:
+/* 801CEAF8 001CA758 89 6F 00 00 */ lbz r11, 0(r15)
+/* 801CEAFC 001CA75C 3A 21 00 29 */ addi r17, r1, 0x29
+/* 801CEB00 001CA760 89 4F 00 01 */ lbz r10, 1(r15)
+/* 801CEB04 001CA764 3A A0 00 01 */ li r21, 1
+/* 801CEB08 001CA768 89 2F 00 02 */ lbz r9, 2(r15)
+/* 801CEB0C 001CA76C 89 0F 00 03 */ lbz r8, 3(r15)
+/* 801CEB10 001CA770 88 EF 00 04 */ lbz r7, 4(r15)
+/* 801CEB14 001CA774 88 CF 00 05 */ lbz r6, 5(r15)
+/* 801CEB18 001CA778 88 AF 00 06 */ lbz r5, 6(r15)
+/* 801CEB1C 001CA77C 88 6F 00 07 */ lbz r3, 7(r15)
+/* 801CEB20 001CA780 88 0F 00 08 */ lbz r0, 8(r15)
+/* 801CEB24 001CA784 99 61 00 28 */ stb r11, 0x28(r1)
+/* 801CEB28 001CA788 99 41 00 29 */ stb r10, 0x29(r1)
+/* 801CEB2C 001CA78C 99 21 00 2A */ stb r9, 0x2a(r1)
+/* 801CEB30 001CA790 99 01 00 2B */ stb r8, 0x2b(r1)
+/* 801CEB34 001CA794 98 E1 00 2C */ stb r7, 0x2c(r1)
+/* 801CEB38 001CA798 98 C1 00 2D */ stb r6, 0x2d(r1)
+/* 801CEB3C 001CA79C 98 A1 00 2E */ stb r5, 0x2e(r1)
+/* 801CEB40 001CA7A0 98 61 00 2F */ stb r3, 0x2f(r1)
+/* 801CEB44 001CA7A4 98 01 00 30 */ stb r0, 0x30(r1)
+/* 801CEB48 001CA7A8 48 00 00 2C */ b lbl_801CEB74
+lbl_801CEB4C:
+/* 801CEB4C 001CA7AC 7E 4C 93 78 */ mr r12, r18
+/* 801CEB50 001CA7B0 7E 63 9B 78 */ mr r3, r19
+/* 801CEB54 001CA7B4 38 80 00 00 */ li r4, 0
+/* 801CEB58 001CA7B8 38 A0 00 00 */ li r5, 0
+/* 801CEB5C 001CA7BC 7D 89 03 A6 */ mtctr r12
+/* 801CEB60 001CA7C0 3A 31 00 01 */ addi r17, r17, 1
+/* 801CEB64 001CA7C4 3A B5 00 01 */ addi r21, r21, 1
+/* 801CEB68 001CA7C8 3B DE 00 01 */ addi r30, r30, 1
+/* 801CEB6C 001CA7CC 4E 80 04 21 */ bctrl
+/* 801CEB70 001CA7D0 7C 64 1B 78 */ mr r4, r3
+lbl_801CEB74:
+/* 801CEB74 001CA7D4 2C 15 00 08 */ cmpwi r21, 8
+/* 801CEB78 001CA7D8 40 80 00 48 */ bge lbl_801CEBC0
+/* 801CEB7C 001CA7DC 88 71 00 00 */ lbz r3, 0(r17)
+/* 801CEB80 001CA7E0 2C 04 00 00 */ cmpwi r4, 0
+/* 801CEB84 001CA7E4 38 00 00 00 */ li r0, 0
+/* 801CEB88 001CA7E8 7C 65 07 74 */ extsb r5, r3
+/* 801CEB8C 001CA7EC 41 80 00 0C */ blt lbl_801CEB98
+/* 801CEB90 001CA7F0 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CEB94 001CA7F4 41 80 00 08 */ blt lbl_801CEB9C
+lbl_801CEB98:
+/* 801CEB98 001CA7F8 38 00 00 01 */ li r0, 1
+lbl_801CEB9C:
+/* 801CEB9C 001CA7FC 2C 00 00 00 */ cmpwi r0, 0
+/* 801CEBA0 001CA800 41 82 00 0C */ beq lbl_801CEBAC
+/* 801CEBA4 001CA804 7C 80 23 78 */ mr r0, r4
+/* 801CEBA8 001CA808 48 00 00 10 */ b lbl_801CEBB8
+lbl_801CEBAC:
+/* 801CEBAC 001CA80C 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CEBB0 001CA810 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 801CEBB4 001CA814 7C 03 20 AE */ lbzx r0, r3, r4
+lbl_801CEBB8:
+/* 801CEBB8 001CA818 7C 05 00 00 */ cmpw r5, r0
+/* 801CEBBC 001CA81C 41 82 FF 90 */ beq lbl_801CEB4C
+lbl_801CEBC0:
+/* 801CEBC0 001CA820 2C 15 00 03 */ cmpwi r21, 3
+/* 801CEBC4 001CA824 41 82 00 0C */ beq lbl_801CEBD0
+/* 801CEBC8 001CA828 2C 15 00 08 */ cmpwi r21, 8
+/* 801CEBCC 001CA82C 40 82 00 44 */ bne lbl_801CEC10
+lbl_801CEBD0:
+/* 801CEBD0 001CA830 80 01 00 90 */ lwz r0, 0x90(r1)
+/* 801CEBD4 001CA834 2C 00 00 00 */ cmpwi r0, 0
+/* 801CEBD8 001CA838 41 82 00 18 */ beq lbl_801CEBF0
+/* 801CEBDC 001CA83C 3C 60 80 64 */ lis r3, lbl_8063D6BC@ha
+/* 801CEBE0 001CA840 C0 03 D6 BC */ lfs f0, lbl_8063D6BC@l(r3)
+/* 801CEBE4 001CA844 FC 20 00 50 */ fneg f1, f0
+/* 801CEBE8 001CA848 FC 20 08 18 */ frsp f1, f1
+/* 801CEBEC 001CA84C 48 00 00 0C */ b lbl_801CEBF8
+lbl_801CEBF0:
+/* 801CEBF0 001CA850 3C 60 80 64 */ lis r3, lbl_8063D6BC@ha
+/* 801CEBF4 001CA854 C0 23 D6 BC */ lfs f1, lbl_8063D6BC@l(r3)
+lbl_801CEBF8:
+/* 801CEBF8 001CA858 80 01 00 88 */ lwz r0, 0x88(r1)
+/* 801CEBFC 001CA85C 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 801CEC00 001CA860 7C 00 72 14 */ add r0, r0, r14
+/* 801CEC04 001CA864 7C 15 02 14 */ add r0, r21, r0
+/* 801CEC08 001CA868 90 03 00 00 */ stw r0, 0(r3)
+/* 801CEC0C 001CA86C 48 00 0F DC */ b lbl_801CFBE8
+lbl_801CEC10:
+/* 801CEC10 001CA870 3A 20 10 00 */ li r17, 0x1000
+/* 801CEC14 001CA874 48 00 0C 98 */ b lbl_801CF8AC
+lbl_801CEC18:
+/* 801CEC18 001CA878 88 E2 91 58 */ lbz r7, lbl_80641758-_SDA2_BASE_(r2)
+/* 801CEC1C 001CA87C 3A A0 00 00 */ li r21, 0
+/* 801CEC20 001CA880 88 C2 91 59 */ lbz r6, lbl_80641759-_SDA2_BASE_(r2)
+/* 801CEC24 001CA884 3A 21 00 19 */ addi r17, r1, 0x19
+/* 801CEC28 001CA888 88 A2 91 5A */ lbz r5, lbl_8064175A-_SDA2_BASE_(r2)
+/* 801CEC2C 001CA88C 3A C0 00 01 */ li r22, 1
+/* 801CEC30 001CA890 88 62 91 5B */ lbz r3, lbl_8064175B-_SDA2_BASE_(r2)
+/* 801CEC34 001CA894 88 02 91 5C */ lbz r0, lbl_8064175C-_SDA2_BASE_(r2)
+/* 801CEC38 001CA898 98 E1 00 18 */ stb r7, 0x18(r1)
+/* 801CEC3C 001CA89C 98 C1 00 19 */ stb r6, 0x19(r1)
+/* 801CEC40 001CA8A0 98 A1 00 1A */ stb r5, 0x1a(r1)
+/* 801CEC44 001CA8A4 98 61 00 1B */ stb r3, 0x1b(r1)
+/* 801CEC48 001CA8A8 98 01 00 1C */ stb r0, 0x1c(r1)
+/* 801CEC4C 001CA8AC 92 A1 00 38 */ stw r21, 0x38(r1)
+/* 801CEC50 001CA8B0 92 A1 00 3C */ stw r21, 0x3c(r1)
+/* 801CEC54 001CA8B4 92 A1 00 40 */ stw r21, 0x40(r1)
+/* 801CEC58 001CA8B8 92 A1 00 44 */ stw r21, 0x44(r1)
+/* 801CEC5C 001CA8BC 92 A1 00 48 */ stw r21, 0x48(r1)
+/* 801CEC60 001CA8C0 92 A1 00 4C */ stw r21, 0x4c(r1)
+/* 801CEC64 001CA8C4 92 A1 00 50 */ stw r21, 0x50(r1)
+/* 801CEC68 001CA8C8 92 A1 00 54 */ stw r21, 0x54(r1)
+/* 801CEC6C 001CA8CC 48 00 00 2C */ b lbl_801CEC98
+lbl_801CEC70:
+/* 801CEC70 001CA8D0 7E 4C 93 78 */ mr r12, r18
+/* 801CEC74 001CA8D4 7E 63 9B 78 */ mr r3, r19
+/* 801CEC78 001CA8D8 38 80 00 00 */ li r4, 0
+/* 801CEC7C 001CA8DC 38 A0 00 00 */ li r5, 0
+/* 801CEC80 001CA8E0 7D 89 03 A6 */ mtctr r12
+/* 801CEC84 001CA8E4 3A 31 00 01 */ addi r17, r17, 1
+/* 801CEC88 001CA8E8 3A D6 00 01 */ addi r22, r22, 1
+/* 801CEC8C 001CA8EC 3B DE 00 01 */ addi r30, r30, 1
+/* 801CEC90 001CA8F0 4E 80 04 21 */ bctrl
+/* 801CEC94 001CA8F4 7C 64 1B 78 */ mr r4, r3
+lbl_801CEC98:
+/* 801CEC98 001CA8F8 2C 16 00 04 */ cmpwi r22, 4
+/* 801CEC9C 001CA8FC 40 80 00 48 */ bge lbl_801CECE4
+/* 801CECA0 001CA900 88 71 00 00 */ lbz r3, 0(r17)
+/* 801CECA4 001CA904 2C 04 00 00 */ cmpwi r4, 0
+/* 801CECA8 001CA908 38 00 00 00 */ li r0, 0
+/* 801CECAC 001CA90C 7C 65 07 74 */ extsb r5, r3
+/* 801CECB0 001CA910 41 80 00 0C */ blt lbl_801CECBC
+/* 801CECB4 001CA914 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CECB8 001CA918 41 80 00 08 */ blt lbl_801CECC0
+lbl_801CECBC:
+/* 801CECBC 001CA91C 38 00 00 01 */ li r0, 1
+lbl_801CECC0:
+/* 801CECC0 001CA920 2C 00 00 00 */ cmpwi r0, 0
+/* 801CECC4 001CA924 41 82 00 0C */ beq lbl_801CECD0
+/* 801CECC8 001CA928 7C 80 23 78 */ mr r0, r4
+/* 801CECCC 001CA92C 48 00 00 10 */ b lbl_801CECDC
+lbl_801CECD0:
+/* 801CECD0 001CA930 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CECD4 001CA934 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 801CECD8 001CA938 7C 03 20 AE */ lbzx r0, r3, r4
+lbl_801CECDC:
+/* 801CECDC 001CA93C 7C 05 00 00 */ cmpw r5, r0
+/* 801CECE0 001CA940 41 82 FF 90 */ beq lbl_801CEC70
+lbl_801CECE4:
+/* 801CECE4 001CA944 38 16 FF FD */ addi r0, r22, -3
+/* 801CECE8 001CA948 28 00 00 01 */ cmplwi r0, 1
+/* 801CECEC 001CA94C 41 81 01 30 */ bgt lbl_801CEE1C
+/* 801CECF0 001CA950 2C 16 00 04 */ cmpwi r22, 4
+/* 801CECF4 001CA954 40 82 00 E4 */ bne lbl_801CEDD8
+/* 801CECF8 001CA958 3A 21 00 38 */ addi r17, r1, 0x38
+/* 801CECFC 001CA95C 48 00 00 30 */ b lbl_801CED2C
+lbl_801CED00:
+/* 801CED00 001CA960 7E 4C 93 78 */ mr r12, r18
+/* 801CED04 001CA964 98 91 00 00 */ stb r4, 0(r17)
+/* 801CED08 001CA968 7E 63 9B 78 */ mr r3, r19
+/* 801CED0C 001CA96C 38 80 00 00 */ li r4, 0
+/* 801CED10 001CA970 38 A0 00 00 */ li r5, 0
+/* 801CED14 001CA974 7D 89 03 A6 */ mtctr r12
+/* 801CED18 001CA978 3A B5 00 01 */ addi r21, r21, 1
+/* 801CED1C 001CA97C 3A 31 00 01 */ addi r17, r17, 1
+/* 801CED20 001CA980 3B DE 00 01 */ addi r30, r30, 1
+/* 801CED24 001CA984 4E 80 04 21 */ bctrl
+/* 801CED28 001CA988 7C 64 1B 78 */ mr r4, r3
+lbl_801CED2C:
+/* 801CED2C 001CA98C 2C 15 00 20 */ cmpwi r21, 0x20
+/* 801CED30 001CA990 40 80 00 94 */ bge lbl_801CEDC4
+/* 801CED34 001CA994 2C 04 00 00 */ cmpwi r4, 0
+/* 801CED38 001CA998 38 00 00 00 */ li r0, 0
+/* 801CED3C 001CA99C 41 80 00 0C */ blt lbl_801CED48
+/* 801CED40 001CA9A0 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CED44 001CA9A4 41 80 00 08 */ blt lbl_801CED4C
+lbl_801CED48:
+/* 801CED48 001CA9A8 38 00 00 01 */ li r0, 1
+lbl_801CED4C:
+/* 801CED4C 001CA9AC 2C 00 00 00 */ cmpwi r0, 0
+/* 801CED50 001CA9B0 41 82 00 0C */ beq lbl_801CED5C
+/* 801CED54 001CA9B4 38 00 00 00 */ li r0, 0
+/* 801CED58 001CA9B8 48 00 00 18 */ b lbl_801CED70
+lbl_801CED5C:
+/* 801CED5C 001CA9BC 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CED60 001CA9C0 54 80 08 3C */ slwi r0, r4, 1
+/* 801CED64 001CA9C4 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CED68 001CA9C8 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CED6C 001CA9CC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
+lbl_801CED70:
+/* 801CED70 001CA9D0 2C 00 00 00 */ cmpwi r0, 0
+/* 801CED74 001CA9D4 40 82 FF 8C */ bne lbl_801CED00
+/* 801CED78 001CA9D8 2C 04 00 00 */ cmpwi r4, 0
+/* 801CED7C 001CA9DC 38 00 00 00 */ li r0, 0
+/* 801CED80 001CA9E0 41 80 00 0C */ blt lbl_801CED8C
+/* 801CED84 001CA9E4 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CED88 001CA9E8 41 80 00 08 */ blt lbl_801CED90
+lbl_801CED8C:
+/* 801CED8C 001CA9EC 38 00 00 01 */ li r0, 1
+lbl_801CED90:
+/* 801CED90 001CA9F0 2C 00 00 00 */ cmpwi r0, 0
+/* 801CED94 001CA9F4 41 82 00 0C */ beq lbl_801CEDA0
+/* 801CED98 001CA9F8 38 00 00 00 */ li r0, 0
+/* 801CED9C 001CA9FC 48 00 00 18 */ b lbl_801CEDB4
+lbl_801CEDA0:
+/* 801CEDA0 001CAA00 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CEDA4 001CAA04 54 80 08 3C */ slwi r0, r4, 1
+/* 801CEDA8 001CAA08 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CEDAC 001CAA0C 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CEDB0 001CAA10 54 00 07 FE */ clrlwi r0, r0, 0x1f
+lbl_801CEDB4:
+/* 801CEDB4 001CAA14 2C 00 00 00 */ cmpwi r0, 0
+/* 801CEDB8 001CAA18 40 82 FF 48 */ bne lbl_801CED00
+/* 801CEDBC 001CAA1C 7C 04 D8 00 */ cmpw r4, r27
+/* 801CEDC0 001CAA20 41 82 FF 40 */ beq lbl_801CED00
+lbl_801CEDC4:
+/* 801CEDC4 001CAA24 2C 04 00 29 */ cmpwi r4, 0x29
+/* 801CEDC8 001CAA28 41 82 00 0C */ beq lbl_801CEDD4
+/* 801CEDCC 001CAA2C 3A 20 10 00 */ li r17, 0x1000
+/* 801CEDD0 001CAA30 48 00 0A DC */ b lbl_801CF8AC
+lbl_801CEDD4:
+/* 801CEDD4 001CAA34 3A B5 00 01 */ addi r21, r21, 1
+lbl_801CEDD8:
+/* 801CEDD8 001CAA38 80 01 00 90 */ lwz r0, 0x90(r1)
+/* 801CEDDC 001CAA3C 38 61 00 38 */ addi r3, r1, 0x38
+/* 801CEDE0 001CAA40 2C 00 00 00 */ cmpwi r0, 0
+/* 801CEDE4 001CAA44 38 00 00 00 */ li r0, 0
+/* 801CEDE8 001CAA48 7C 03 A9 AE */ stbx r0, r3, r21
+/* 801CEDEC 001CAA4C 41 82 00 10 */ beq lbl_801CEDFC
+/* 801CEDF0 001CAA50 48 00 5A 41 */ bl nan
+/* 801CEDF4 001CAA54 FC 20 08 50 */ fneg f1, f1
+/* 801CEDF8 001CAA58 48 00 00 08 */ b lbl_801CEE00
+lbl_801CEDFC:
+/* 801CEDFC 001CAA5C 48 00 5A 35 */ bl nan
+lbl_801CEE00:
+/* 801CEE00 001CAA60 80 01 00 88 */ lwz r0, 0x88(r1)
+/* 801CEE04 001CAA64 7C 60 B2 14 */ add r3, r0, r22
+/* 801CEE08 001CAA68 7C 15 72 14 */ add r0, r21, r14
+/* 801CEE0C 001CAA6C 7C 03 02 14 */ add r0, r3, r0
+/* 801CEE10 001CAA70 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 801CEE14 001CAA74 90 03 00 00 */ stw r0, 0(r3)
+/* 801CEE18 001CAA78 48 00 0D D0 */ b lbl_801CFBE8
+lbl_801CEE1C:
+/* 801CEE1C 001CAA7C 3A 20 10 00 */ li r17, 0x1000
+/* 801CEE20 001CAA80 48 00 0A 8C */ b lbl_801CF8AC
+lbl_801CEE24:
+/* 801CEE24 001CAA84 7C 04 D8 00 */ cmpw r4, r27
+/* 801CEE28 001CAA88 40 82 00 2C */ bne lbl_801CEE54
+/* 801CEE2C 001CAA8C 7E 4C 93 78 */ mr r12, r18
+/* 801CEE30 001CAA90 7E 63 9B 78 */ mr r3, r19
+/* 801CEE34 001CAA94 3A 20 00 10 */ li r17, 0x10
+/* 801CEE38 001CAA98 38 80 00 00 */ li r4, 0
+/* 801CEE3C 001CAA9C 38 A0 00 00 */ li r5, 0
+/* 801CEE40 001CAAA0 7D 89 03 A6 */ mtctr r12
+/* 801CEE44 001CAAA4 3B DE 00 01 */ addi r30, r30, 1
+/* 801CEE48 001CAAA8 4E 80 04 21 */ bctrl
+/* 801CEE4C 001CAAAC 7C 64 1B 78 */ mr r4, r3
+/* 801CEE50 001CAAB0 48 00 0A 5C */ b lbl_801CF8AC
+lbl_801CEE54:
+/* 801CEE54 001CAAB4 2C 04 00 00 */ cmpwi r4, 0
+/* 801CEE58 001CAAB8 38 00 00 00 */ li r0, 0
+/* 801CEE5C 001CAABC 41 80 00 0C */ blt lbl_801CEE68
+/* 801CEE60 001CAAC0 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CEE64 001CAAC4 41 80 00 08 */ blt lbl_801CEE6C
+lbl_801CEE68:
+/* 801CEE68 001CAAC8 38 00 00 01 */ li r0, 1
+lbl_801CEE6C:
+/* 801CEE6C 001CAACC 2C 00 00 00 */ cmpwi r0, 0
+/* 801CEE70 001CAAD0 41 82 00 0C */ beq lbl_801CEE7C
+/* 801CEE74 001CAAD4 38 00 00 00 */ li r0, 0
+/* 801CEE78 001CAAD8 48 00 00 18 */ b lbl_801CEE90
+lbl_801CEE7C:
+/* 801CEE7C 001CAADC 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CEE80 001CAAE0 54 80 08 3C */ slwi r0, r4, 1
+/* 801CEE84 001CAAE4 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CEE88 001CAAE8 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CEE8C 001CAAEC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
+lbl_801CEE90:
+/* 801CEE90 001CAAF0 2C 00 00 00 */ cmpwi r0, 0
+/* 801CEE94 001CAAF4 40 82 00 0C */ bne lbl_801CEEA0
+/* 801CEE98 001CAAF8 3A 20 10 00 */ li r17, 0x1000
+/* 801CEE9C 001CAAFC 48 00 0A 10 */ b lbl_801CF8AC
+lbl_801CEEA0:
+/* 801CEEA0 001CAB00 2C 04 00 30 */ cmpwi r4, 0x30
+/* 801CEEA4 001CAB04 40 82 00 74 */ bne lbl_801CEF18
+/* 801CEEA8 001CAB08 7E 4C 93 78 */ mr r12, r18
+/* 801CEEAC 001CAB0C 7E 63 9B 78 */ mr r3, r19
+/* 801CEEB0 001CAB10 38 80 00 00 */ li r4, 0
+/* 801CEEB4 001CAB14 38 A0 00 00 */ li r5, 0
+/* 801CEEB8 001CAB18 7D 89 03 A6 */ mtctr r12
+/* 801CEEBC 001CAB1C 3B DE 00 01 */ addi r30, r30, 1
+/* 801CEEC0 001CAB20 4E 80 04 21 */ bctrl
+/* 801CEEC4 001CAB24 2C 03 00 00 */ cmpwi r3, 0
+/* 801CEEC8 001CAB28 7C 64 1B 78 */ mr r4, r3
+/* 801CEECC 001CAB2C 38 00 00 00 */ li r0, 0
+/* 801CEED0 001CAB30 41 80 00 0C */ blt lbl_801CEEDC
+/* 801CEED4 001CAB34 2C 03 01 00 */ cmpwi r3, 0x100
+/* 801CEED8 001CAB38 41 80 00 08 */ blt lbl_801CEEE0
+lbl_801CEEDC:
+/* 801CEEDC 001CAB3C 38 00 00 01 */ li r0, 1
+lbl_801CEEE0:
+/* 801CEEE0 001CAB40 2C 00 00 00 */ cmpwi r0, 0
+/* 801CEEE4 001CAB44 41 82 00 08 */ beq lbl_801CEEEC
+/* 801CEEE8 001CAB48 48 00 00 10 */ b lbl_801CEEF8
+lbl_801CEEEC:
+/* 801CEEEC 001CAB4C 80 B0 00 38 */ lwz r5, 0x38(r16)
+/* 801CEEF0 001CAB50 80 A5 00 0C */ lwz r5, 0xc(r5)
+/* 801CEEF4 001CAB54 7C 65 18 AE */ lbzx r3, r5, r3
+lbl_801CEEF8:
+/* 801CEEF8 001CAB58 2C 03 00 58 */ cmpwi r3, 0x58
+/* 801CEEFC 001CAB5C 40 82 00 14 */ bne lbl_801CEF10
+/* 801CEF00 001CAB60 3C 60 00 01 */ lis r3, 0x00008000@ha
+/* 801CEF04 001CAB64 3B E0 00 01 */ li r31, 1
+/* 801CEF08 001CAB68 3A 23 80 00 */ addi r17, r3, 0x00008000@l
+/* 801CEF0C 001CAB6C 48 00 09 A0 */ b lbl_801CF8AC
+lbl_801CEF10:
+/* 801CEF10 001CAB70 3A 20 00 04 */ li r17, 4
+/* 801CEF14 001CAB74 48 00 09 98 */ b lbl_801CF8AC
+lbl_801CEF18:
+/* 801CEF18 001CAB78 3A 20 00 08 */ li r17, 8
+/* 801CEF1C 001CAB7C 48 00 09 90 */ b lbl_801CF8AC
+lbl_801CEF20:
+/* 801CEF20 001CAB80 2C 04 00 30 */ cmpwi r4, 0x30
+/* 801CEF24 001CAB84 40 82 00 28 */ bne lbl_801CEF4C
+/* 801CEF28 001CAB88 7E 4C 93 78 */ mr r12, r18
+/* 801CEF2C 001CAB8C 7E 63 9B 78 */ mr r3, r19
+/* 801CEF30 001CAB90 38 80 00 00 */ li r4, 0
+/* 801CEF34 001CAB94 38 A0 00 00 */ li r5, 0
+/* 801CEF38 001CAB98 7D 89 03 A6 */ mtctr r12
+/* 801CEF3C 001CAB9C 3B DE 00 01 */ addi r30, r30, 1
+/* 801CEF40 001CABA0 4E 80 04 21 */ bctrl
+/* 801CEF44 001CABA4 7C 64 1B 78 */ mr r4, r3
+/* 801CEF48 001CABA8 48 00 09 64 */ b lbl_801CF8AC
+lbl_801CEF4C:
+/* 801CEF4C 001CABAC 3A 20 00 08 */ li r17, 8
+/* 801CEF50 001CABB0 48 00 09 5C */ b lbl_801CF8AC
+lbl_801CEF54:
+/* 801CEF54 001CABB4 2C 04 00 00 */ cmpwi r4, 0
+/* 801CEF58 001CABB8 38 00 00 00 */ li r0, 0
+/* 801CEF5C 001CABBC 41 80 00 0C */ blt lbl_801CEF68
+/* 801CEF60 001CABC0 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CEF64 001CABC4 41 80 00 08 */ blt lbl_801CEF6C
+lbl_801CEF68:
+/* 801CEF68 001CABC8 38 00 00 01 */ li r0, 1
+lbl_801CEF6C:
+/* 801CEF6C 001CABCC 2C 00 00 00 */ cmpwi r0, 0
+/* 801CEF70 001CABD0 41 82 00 0C */ beq lbl_801CEF7C
+/* 801CEF74 001CABD4 38 00 00 00 */ li r0, 0
+/* 801CEF78 001CABD8 48 00 00 18 */ b lbl_801CEF90
+lbl_801CEF7C:
+/* 801CEF7C 001CABDC 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CEF80 001CABE0 54 80 08 3C */ slwi r0, r4, 1
+/* 801CEF84 001CABE4 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CEF88 001CABE8 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CEF8C 001CABEC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
+lbl_801CEF90:
+/* 801CEF90 001CABF0 2C 00 00 00 */ cmpwi r0, 0
+/* 801CEF94 001CABF4 40 82 00 3C */ bne lbl_801CEFD0
+/* 801CEF98 001CABF8 7C 04 D8 00 */ cmpw r4, r27
+/* 801CEF9C 001CABFC 40 82 00 2C */ bne lbl_801CEFC8
+/* 801CEFA0 001CAC00 7E 4C 93 78 */ mr r12, r18
+/* 801CEFA4 001CAC04 7E 63 9B 78 */ mr r3, r19
+/* 801CEFA8 001CAC08 3A 20 00 20 */ li r17, 0x20
+/* 801CEFAC 001CAC0C 38 80 00 00 */ li r4, 0
+/* 801CEFB0 001CAC10 38 A0 00 00 */ li r5, 0
+/* 801CEFB4 001CAC14 7D 89 03 A6 */ mtctr r12
+/* 801CEFB8 001CAC18 3B DE 00 01 */ addi r30, r30, 1
+/* 801CEFBC 001CAC1C 4E 80 04 21 */ bctrl
+/* 801CEFC0 001CAC20 7C 64 1B 78 */ mr r4, r3
+/* 801CEFC4 001CAC24 48 00 08 E8 */ b lbl_801CF8AC
+lbl_801CEFC8:
+/* 801CEFC8 001CAC28 3A 20 00 40 */ li r17, 0x40
+/* 801CEFCC 001CAC2C 48 00 08 E0 */ b lbl_801CF8AC
+lbl_801CEFD0:
+/* 801CEFD0 001CAC30 88 A1 00 5C */ lbz r5, 0x5c(r1)
+/* 801CEFD4 001CAC34 28 05 00 14 */ cmplwi r5, 0x14
+/* 801CEFD8 001CAC38 40 80 00 1C */ bge lbl_801CEFF4
+/* 801CEFDC 001CAC3C 38 01 00 58 */ addi r0, r1, 0x58
+/* 801CEFE0 001CAC40 7C 60 2A 14 */ add r3, r0, r5
+/* 801CEFE4 001CAC44 98 83 00 05 */ stb r4, 5(r3)
+/* 801CEFE8 001CAC48 38 05 00 01 */ addi r0, r5, 1
+/* 801CEFEC 001CAC4C 98 01 00 5C */ stb r0, 0x5c(r1)
+/* 801CEFF0 001CAC50 48 00 00 08 */ b lbl_801CEFF8
+lbl_801CEFF4:
+/* 801CEFF4 001CAC54 3B 9C 00 01 */ addi r28, r28, 1
+lbl_801CEFF8:
+/* 801CEFF8 001CAC58 7E 4C 93 78 */ mr r12, r18
+/* 801CEFFC 001CAC5C 7E 63 9B 78 */ mr r3, r19
+/* 801CF000 001CAC60 38 80 00 00 */ li r4, 0
+/* 801CF004 001CAC64 38 A0 00 00 */ li r5, 0
+/* 801CF008 001CAC68 7D 89 03 A6 */ mtctr r12
+/* 801CF00C 001CAC6C 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF010 001CAC70 4E 80 04 21 */ bctrl
+/* 801CF014 001CAC74 7C 64 1B 78 */ mr r4, r3
+/* 801CF018 001CAC78 48 00 08 94 */ b lbl_801CF8AC
+lbl_801CF01C:
+/* 801CF01C 001CAC7C 2C 04 00 00 */ cmpwi r4, 0
+/* 801CF020 001CAC80 38 00 00 00 */ li r0, 0
+/* 801CF024 001CAC84 41 80 00 0C */ blt lbl_801CF030
+/* 801CF028 001CAC88 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CF02C 001CAC8C 41 80 00 08 */ blt lbl_801CF034
+lbl_801CF030:
+/* 801CF030 001CAC90 38 00 00 01 */ li r0, 1
+lbl_801CF034:
+/* 801CF034 001CAC94 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF038 001CAC98 41 82 00 0C */ beq lbl_801CF044
+/* 801CF03C 001CAC9C 38 00 00 00 */ li r0, 0
+/* 801CF040 001CACA0 48 00 00 18 */ b lbl_801CF058
+lbl_801CF044:
+/* 801CF044 001CACA4 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CF048 001CACA8 54 80 08 3C */ slwi r0, r4, 1
+/* 801CF04C 001CACAC 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CF050 001CACB0 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CF054 001CACB4 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
+lbl_801CF058:
+/* 801CF058 001CACB8 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF05C 001CACBC 40 82 00 0C */ bne lbl_801CF068
+/* 801CF060 001CACC0 3A 20 10 00 */ li r17, 0x1000
+/* 801CF064 001CACC4 48 00 08 48 */ b lbl_801CF8AC
+lbl_801CF068:
+/* 801CF068 001CACC8 3A 20 00 20 */ li r17, 0x20
+/* 801CF06C 001CACCC 48 00 08 40 */ b lbl_801CF8AC
+lbl_801CF070:
+/* 801CF070 001CACD0 2C 04 00 00 */ cmpwi r4, 0
+/* 801CF074 001CACD4 38 00 00 00 */ li r0, 0
+/* 801CF078 001CACD8 41 80 00 0C */ blt lbl_801CF084
+/* 801CF07C 001CACDC 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CF080 001CACE0 41 80 00 08 */ blt lbl_801CF088
+lbl_801CF084:
+/* 801CF084 001CACE4 38 00 00 01 */ li r0, 1
+lbl_801CF088:
+/* 801CF088 001CACE8 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF08C 001CACEC 41 82 00 0C */ beq lbl_801CF098
+/* 801CF090 001CACF0 38 00 00 00 */ li r0, 0
+/* 801CF094 001CACF4 48 00 00 18 */ b lbl_801CF0AC
+lbl_801CF098:
+/* 801CF098 001CACF8 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CF09C 001CACFC 54 80 08 3C */ slwi r0, r4, 1
+/* 801CF0A0 001CAD00 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CF0A4 001CAD04 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CF0A8 001CAD08 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
+lbl_801CF0AC:
+/* 801CF0AC 001CAD0C 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF0B0 001CAD10 40 82 00 0C */ bne lbl_801CF0BC
+/* 801CF0B4 001CAD14 3A 20 00 40 */ li r17, 0x40
+/* 801CF0B8 001CAD18 48 00 07 F4 */ b lbl_801CF8AC
+lbl_801CF0BC:
+/* 801CF0BC 001CAD1C 88 01 00 5C */ lbz r0, 0x5c(r1)
+/* 801CF0C0 001CAD20 28 00 00 14 */ cmplwi r0, 0x14
+/* 801CF0C4 001CAD24 40 80 00 30 */ bge lbl_801CF0F4
+/* 801CF0C8 001CAD28 2C 04 00 30 */ cmpwi r4, 0x30
+/* 801CF0CC 001CAD2C 40 82 00 0C */ bne lbl_801CF0D8
+/* 801CF0D0 001CAD30 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF0D4 001CAD34 41 82 00 1C */ beq lbl_801CF0F0
+lbl_801CF0D8:
+/* 801CF0D8 001CAD38 88 A1 00 5C */ lbz r5, 0x5c(r1)
+/* 801CF0DC 001CAD3C 38 01 00 58 */ addi r0, r1, 0x58
+/* 801CF0E0 001CAD40 7C 60 2A 14 */ add r3, r0, r5
+/* 801CF0E4 001CAD44 38 05 00 01 */ addi r0, r5, 1
+/* 801CF0E8 001CAD48 98 83 00 05 */ stb r4, 5(r3)
+/* 801CF0EC 001CAD4C 98 01 00 5C */ stb r0, 0x5c(r1)
+lbl_801CF0F0:
+/* 801CF0F0 001CAD50 3B 9C FF FF */ addi r28, r28, -1
+lbl_801CF0F4:
+/* 801CF0F4 001CAD54 7E 4C 93 78 */ mr r12, r18
+/* 801CF0F8 001CAD58 7E 63 9B 78 */ mr r3, r19
+/* 801CF0FC 001CAD5C 38 80 00 00 */ li r4, 0
+/* 801CF100 001CAD60 38 A0 00 00 */ li r5, 0
+/* 801CF104 001CAD64 7D 89 03 A6 */ mtctr r12
+/* 801CF108 001CAD68 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF10C 001CAD6C 4E 80 04 21 */ bctrl
+/* 801CF110 001CAD70 7C 64 1B 78 */ mr r4, r3
+/* 801CF114 001CAD74 48 00 07 98 */ b lbl_801CF8AC
+lbl_801CF118:
+/* 801CF118 001CAD78 2C 04 00 00 */ cmpwi r4, 0
+/* 801CF11C 001CAD7C 38 00 00 00 */ li r0, 0
+/* 801CF120 001CAD80 41 80 00 0C */ blt lbl_801CF12C
+/* 801CF124 001CAD84 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CF128 001CAD88 41 80 00 08 */ blt lbl_801CF130
+lbl_801CF12C:
+/* 801CF12C 001CAD8C 38 00 00 01 */ li r0, 1
+lbl_801CF130:
+/* 801CF130 001CAD90 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF134 001CAD94 41 82 00 0C */ beq lbl_801CF140
+/* 801CF138 001CAD98 7C 80 23 78 */ mr r0, r4
+/* 801CF13C 001CAD9C 48 00 00 10 */ b lbl_801CF14C
+lbl_801CF140:
+/* 801CF140 001CADA0 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CF144 001CADA4 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 801CF148 001CADA8 7C 03 20 AE */ lbzx r0, r3, r4
+lbl_801CF14C:
+/* 801CF14C 001CADAC 2C 00 00 45 */ cmpwi r0, 0x45
+/* 801CF150 001CADB0 40 82 00 2C */ bne lbl_801CF17C
+/* 801CF154 001CADB4 7E 4C 93 78 */ mr r12, r18
+/* 801CF158 001CADB8 7E 63 9B 78 */ mr r3, r19
+/* 801CF15C 001CADBC 3A 20 00 80 */ li r17, 0x80
+/* 801CF160 001CADC0 38 80 00 00 */ li r4, 0
+/* 801CF164 001CADC4 38 A0 00 00 */ li r5, 0
+/* 801CF168 001CADC8 7D 89 03 A6 */ mtctr r12
+/* 801CF16C 001CADCC 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF170 001CADD0 4E 80 04 21 */ bctrl
+/* 801CF174 001CADD4 7C 64 1B 78 */ mr r4, r3
+/* 801CF178 001CADD8 48 00 07 34 */ b lbl_801CF8AC
+lbl_801CF17C:
+/* 801CF17C 001CADDC 3A 20 08 00 */ li r17, 0x800
+/* 801CF180 001CADE0 48 00 07 2C */ b lbl_801CF8AC
+lbl_801CF184:
+/* 801CF184 001CADE4 2C 04 00 2B */ cmpwi r4, 0x2b
+/* 801CF188 001CADE8 40 82 00 28 */ bne lbl_801CF1B0
+/* 801CF18C 001CADEC 7E 4C 93 78 */ mr r12, r18
+/* 801CF190 001CADF0 7E 63 9B 78 */ mr r3, r19
+/* 801CF194 001CADF4 38 80 00 00 */ li r4, 0
+/* 801CF198 001CADF8 38 A0 00 00 */ li r5, 0
+/* 801CF19C 001CADFC 7D 89 03 A6 */ mtctr r12
+/* 801CF1A0 001CAE00 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF1A4 001CAE04 4E 80 04 21 */ bctrl
+/* 801CF1A8 001CAE08 7C 64 1B 78 */ mr r4, r3
+/* 801CF1AC 001CAE0C 48 00 00 34 */ b lbl_801CF1E0
+lbl_801CF1B0:
+/* 801CF1B0 001CAE10 2C 04 00 2D */ cmpwi r4, 0x2d
+/* 801CF1B4 001CAE14 40 82 00 2C */ bne lbl_801CF1E0
+/* 801CF1B8 001CAE18 7E 4C 93 78 */ mr r12, r18
+/* 801CF1BC 001CAE1C 7E 63 9B 78 */ mr r3, r19
+/* 801CF1C0 001CAE20 38 80 00 00 */ li r4, 0
+/* 801CF1C4 001CAE24 38 A0 00 00 */ li r5, 0
+/* 801CF1C8 001CAE28 7D 89 03 A6 */ mtctr r12
+/* 801CF1CC 001CAE2C 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF1D0 001CAE30 4E 80 04 21 */ bctrl
+/* 801CF1D4 001CAE34 38 00 00 01 */ li r0, 1
+/* 801CF1D8 001CAE38 7C 64 1B 78 */ mr r4, r3
+/* 801CF1DC 001CAE3C 90 01 00 8C */ stw r0, 0x8c(r1)
+lbl_801CF1E0:
+/* 801CF1E0 001CAE40 3A 20 01 00 */ li r17, 0x100
+/* 801CF1E4 001CAE44 48 00 06 C8 */ b lbl_801CF8AC
+lbl_801CF1E8:
+/* 801CF1E8 001CAE48 2C 04 00 00 */ cmpwi r4, 0
+/* 801CF1EC 001CAE4C 38 00 00 00 */ li r0, 0
+/* 801CF1F0 001CAE50 41 80 00 0C */ blt lbl_801CF1FC
+/* 801CF1F4 001CAE54 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CF1F8 001CAE58 41 80 00 08 */ blt lbl_801CF200
+lbl_801CF1FC:
+/* 801CF1FC 001CAE5C 38 00 00 01 */ li r0, 1
+lbl_801CF200:
+/* 801CF200 001CAE60 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF204 001CAE64 41 82 00 0C */ beq lbl_801CF210
+/* 801CF208 001CAE68 38 00 00 00 */ li r0, 0
+/* 801CF20C 001CAE6C 48 00 00 18 */ b lbl_801CF224
+lbl_801CF210:
+/* 801CF210 001CAE70 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CF214 001CAE74 54 80 08 3C */ slwi r0, r4, 1
+/* 801CF218 001CAE78 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CF21C 001CAE7C 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CF220 001CAE80 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
+lbl_801CF224:
+/* 801CF224 001CAE84 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF228 001CAE88 40 82 00 0C */ bne lbl_801CF234
+/* 801CF22C 001CAE8C 3A 20 10 00 */ li r17, 0x1000
+/* 801CF230 001CAE90 48 00 06 7C */ b lbl_801CF8AC
+lbl_801CF234:
+/* 801CF234 001CAE94 2C 04 00 30 */ cmpwi r4, 0x30
+/* 801CF238 001CAE98 40 82 00 2C */ bne lbl_801CF264
+/* 801CF23C 001CAE9C 7E 4C 93 78 */ mr r12, r18
+/* 801CF240 001CAEA0 7E 63 9B 78 */ mr r3, r19
+/* 801CF244 001CAEA4 3A 20 02 00 */ li r17, 0x200
+/* 801CF248 001CAEA8 38 80 00 00 */ li r4, 0
+/* 801CF24C 001CAEAC 38 A0 00 00 */ li r5, 0
+/* 801CF250 001CAEB0 7D 89 03 A6 */ mtctr r12
+/* 801CF254 001CAEB4 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF258 001CAEB8 4E 80 04 21 */ bctrl
+/* 801CF25C 001CAEBC 7C 64 1B 78 */ mr r4, r3
+/* 801CF260 001CAEC0 48 00 06 4C */ b lbl_801CF8AC
+lbl_801CF264:
+/* 801CF264 001CAEC4 3A 20 04 00 */ li r17, 0x400
+/* 801CF268 001CAEC8 48 00 06 44 */ b lbl_801CF8AC
+lbl_801CF26C:
+/* 801CF26C 001CAECC 2C 04 00 30 */ cmpwi r4, 0x30
+/* 801CF270 001CAED0 40 82 00 28 */ bne lbl_801CF298
+/* 801CF274 001CAED4 7E 4C 93 78 */ mr r12, r18
+/* 801CF278 001CAED8 7E 63 9B 78 */ mr r3, r19
+/* 801CF27C 001CAEDC 38 80 00 00 */ li r4, 0
+/* 801CF280 001CAEE0 38 A0 00 00 */ li r5, 0
+/* 801CF284 001CAEE4 7D 89 03 A6 */ mtctr r12
+/* 801CF288 001CAEE8 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF28C 001CAEEC 4E 80 04 21 */ bctrl
+/* 801CF290 001CAEF0 7C 64 1B 78 */ mr r4, r3
+/* 801CF294 001CAEF4 48 00 06 18 */ b lbl_801CF8AC
+lbl_801CF298:
+/* 801CF298 001CAEF8 3A 20 04 00 */ li r17, 0x400
+/* 801CF29C 001CAEFC 48 00 06 10 */ b lbl_801CF8AC
+lbl_801CF2A0:
+/* 801CF2A0 001CAF00 2C 04 00 00 */ cmpwi r4, 0
+/* 801CF2A4 001CAF04 38 00 00 00 */ li r0, 0
+/* 801CF2A8 001CAF08 41 80 00 0C */ blt lbl_801CF2B4
+/* 801CF2AC 001CAF0C 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CF2B0 001CAF10 41 80 00 08 */ blt lbl_801CF2B8
+lbl_801CF2B4:
+/* 801CF2B4 001CAF14 38 00 00 01 */ li r0, 1
+lbl_801CF2B8:
+/* 801CF2B8 001CAF18 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF2BC 001CAF1C 41 82 00 0C */ beq lbl_801CF2C8
+/* 801CF2C0 001CAF20 38 00 00 00 */ li r0, 0
+/* 801CF2C4 001CAF24 48 00 00 18 */ b lbl_801CF2DC
+lbl_801CF2C8:
+/* 801CF2C8 001CAF28 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CF2CC 001CAF2C 54 80 08 3C */ slwi r0, r4, 1
+/* 801CF2D0 001CAF30 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CF2D4 001CAF34 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CF2D8 001CAF38 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
+lbl_801CF2DC:
+/* 801CF2DC 001CAF3C 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF2E0 001CAF40 40 82 00 0C */ bne lbl_801CF2EC
+/* 801CF2E4 001CAF44 3A 20 08 00 */ li r17, 0x800
+/* 801CF2E8 001CAF48 48 00 05 C4 */ b lbl_801CF8AC
+lbl_801CF2EC:
+/* 801CF2EC 001CAF4C 1C 1D 00 0A */ mulli r0, r29, 0xa
+/* 801CF2F0 001CAF50 7C 64 02 14 */ add r3, r4, r0
+/* 801CF2F4 001CAF54 3B A3 FF D0 */ addi r29, r3, -48
+/* 801CF2F8 001CAF58 2C 1D 7F FF */ cmpwi r29, 0x7fff
+/* 801CF2FC 001CAF5C 40 81 00 0C */ ble lbl_801CF308
+/* 801CF300 001CAF60 38 00 00 01 */ li r0, 1
+/* 801CF304 001CAF64 90 14 00 00 */ stw r0, 0(r20)
+lbl_801CF308:
+/* 801CF308 001CAF68 7E 4C 93 78 */ mr r12, r18
+/* 801CF30C 001CAF6C 7E 63 9B 78 */ mr r3, r19
+/* 801CF310 001CAF70 38 80 00 00 */ li r4, 0
+/* 801CF314 001CAF74 38 A0 00 00 */ li r5, 0
+/* 801CF318 001CAF78 7D 89 03 A6 */ mtctr r12
+/* 801CF31C 001CAF7C 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF320 001CAF80 4E 80 04 21 */ bctrl
+/* 801CF324 001CAF84 7C 64 1B 78 */ mr r4, r3
+/* 801CF328 001CAF88 48 00 05 84 */ b lbl_801CF8AC
+lbl_801CF32C:
+/* 801CF32C 001CAF8C 2C 1F 00 10 */ cmpwi r31, 0x10
+/* 801CF330 001CAF90 41 82 03 74 */ beq lbl_801CF6A4
+/* 801CF334 001CAF94 40 80 00 34 */ bge lbl_801CF368
+/* 801CF338 001CAF98 2C 1F 00 04 */ cmpwi r31, 4
+/* 801CF33C 001CAF9C 41 82 00 D4 */ beq lbl_801CF410
+/* 801CF340 001CAFA0 40 80 00 1C */ bge lbl_801CF35C
+/* 801CF344 001CAFA4 2C 1F 00 02 */ cmpwi r31, 2
+/* 801CF348 001CAFA8 41 82 00 94 */ beq lbl_801CF3DC
+/* 801CF34C 001CAFAC 40 80 05 60 */ bge lbl_801CF8AC
+/* 801CF350 001CAFB0 2C 1F 00 01 */ cmpwi r31, 1
+/* 801CF354 001CAFB4 40 80 00 44 */ bge lbl_801CF398
+/* 801CF358 001CAFB8 48 00 05 54 */ b lbl_801CF8AC
+lbl_801CF35C:
+/* 801CF35C 001CAFBC 2C 1F 00 08 */ cmpwi r31, 8
+/* 801CF360 001CAFC0 41 82 02 14 */ beq lbl_801CF574
+/* 801CF364 001CAFC4 48 00 05 48 */ b lbl_801CF8AC
+lbl_801CF368:
+/* 801CF368 001CAFC8 2C 1F 00 80 */ cmpwi r31, 0x80
+/* 801CF36C 001CAFCC 41 82 04 84 */ beq lbl_801CF7F0
+/* 801CF370 001CAFD0 40 80 00 1C */ bge lbl_801CF38C
+/* 801CF374 001CAFD4 2C 1F 00 40 */ cmpwi r31, 0x40
+/* 801CF378 001CAFD8 41 82 03 F4 */ beq lbl_801CF76C
+/* 801CF37C 001CAFDC 40 80 05 30 */ bge lbl_801CF8AC
+/* 801CF380 001CAFE0 2C 1F 00 20 */ cmpwi r31, 0x20
+/* 801CF384 001CAFE4 41 82 03 8C */ beq lbl_801CF710
+/* 801CF388 001CAFE8 48 00 05 24 */ b lbl_801CF8AC
+lbl_801CF38C:
+/* 801CF38C 001CAFEC 2C 1F 01 00 */ cmpwi r31, 0x100
+/* 801CF390 001CAFF0 41 82 04 94 */ beq lbl_801CF824
+/* 801CF394 001CAFF4 48 00 05 18 */ b lbl_801CF8AC
+lbl_801CF398:
+/* 801CF398 001CAFF8 38 61 00 20 */ addi r3, r1, 0x20
+/* 801CF39C 001CAFFC 38 80 00 00 */ li r4, 0
+/* 801CF3A0 001CB000 38 A0 00 08 */ li r5, 8
+/* 801CF3A4 001CB004 4B E3 4D 61 */ bl memset
+/* 801CF3A8 001CB008 7E 4C 93 78 */ mr r12, r18
+/* 801CF3AC 001CB00C 7E 63 9B 78 */ mr r3, r19
+/* 801CF3B0 001CB010 3B 41 00 20 */ addi r26, r1, 0x20
+/* 801CF3B4 001CB014 3A E0 00 00 */ li r23, 0
+/* 801CF3B8 001CB018 3B 00 00 00 */ li r24, 0
+/* 801CF3BC 001CB01C 3B E0 00 02 */ li r31, 2
+/* 801CF3C0 001CB020 38 80 00 00 */ li r4, 0
+/* 801CF3C4 001CB024 38 A0 00 00 */ li r5, 0
+/* 801CF3C8 001CB028 7D 89 03 A6 */ mtctr r12
+/* 801CF3CC 001CB02C 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF3D0 001CB030 4E 80 04 21 */ bctrl
+/* 801CF3D4 001CB034 7C 64 1B 78 */ mr r4, r3
+/* 801CF3D8 001CB038 48 00 04 D4 */ b lbl_801CF8AC
+lbl_801CF3DC:
+/* 801CF3DC 001CB03C 2C 04 00 30 */ cmpwi r4, 0x30
+/* 801CF3E0 001CB040 40 82 00 28 */ bne lbl_801CF408
+/* 801CF3E4 001CB044 7E 4C 93 78 */ mr r12, r18
+/* 801CF3E8 001CB048 7E 63 9B 78 */ mr r3, r19
+/* 801CF3EC 001CB04C 38 80 00 00 */ li r4, 0
+/* 801CF3F0 001CB050 38 A0 00 00 */ li r5, 0
+/* 801CF3F4 001CB054 7D 89 03 A6 */ mtctr r12
+/* 801CF3F8 001CB058 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF3FC 001CB05C 4E 80 04 21 */ bctrl
+/* 801CF400 001CB060 7C 64 1B 78 */ mr r4, r3
+/* 801CF404 001CB064 48 00 04 A8 */ b lbl_801CF8AC
+lbl_801CF408:
+/* 801CF408 001CB068 3B E0 00 04 */ li r31, 4
+/* 801CF40C 001CB06C 48 00 04 A0 */ b lbl_801CF8AC
+lbl_801CF410:
+/* 801CF410 001CB070 2C 04 00 00 */ cmpwi r4, 0
+/* 801CF414 001CB074 38 00 00 00 */ li r0, 0
+/* 801CF418 001CB078 41 80 00 0C */ blt lbl_801CF424
+/* 801CF41C 001CB07C 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CF420 001CB080 41 80 00 08 */ blt lbl_801CF428
+lbl_801CF424:
+/* 801CF424 001CB084 38 00 00 01 */ li r0, 1
+lbl_801CF428:
+/* 801CF428 001CB088 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF42C 001CB08C 41 82 00 0C */ beq lbl_801CF438
+/* 801CF430 001CB090 38 00 00 00 */ li r0, 0
+/* 801CF434 001CB094 48 00 00 18 */ b lbl_801CF44C
+lbl_801CF438:
+/* 801CF438 001CB098 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CF43C 001CB09C 54 80 08 3C */ slwi r0, r4, 1
+/* 801CF440 001CB0A0 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CF444 001CB0A4 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CF448 001CB0A8 54 00 05 6A */ rlwinm r0, r0, 0, 0x15, 0x15
+lbl_801CF44C:
+/* 801CF44C 001CB0AC 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF450 001CB0B0 40 82 00 3C */ bne lbl_801CF48C
+/* 801CF454 001CB0B4 7C 04 D8 00 */ cmpw r4, r27
+/* 801CF458 001CB0B8 40 82 00 2C */ bne lbl_801CF484
+/* 801CF45C 001CB0BC 7E 4C 93 78 */ mr r12, r18
+/* 801CF460 001CB0C0 7E 63 9B 78 */ mr r3, r19
+/* 801CF464 001CB0C4 3B E0 00 08 */ li r31, 8
+/* 801CF468 001CB0C8 38 80 00 00 */ li r4, 0
+/* 801CF46C 001CB0CC 38 A0 00 00 */ li r5, 0
+/* 801CF470 001CB0D0 7D 89 03 A6 */ mtctr r12
+/* 801CF474 001CB0D4 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF478 001CB0D8 4E 80 04 21 */ bctrl
+/* 801CF47C 001CB0DC 7C 64 1B 78 */ mr r4, r3
+/* 801CF480 001CB0E0 48 00 04 2C */ b lbl_801CF8AC
+lbl_801CF484:
+/* 801CF484 001CB0E4 3B E0 00 10 */ li r31, 0x10
+/* 801CF488 001CB0E8 48 00 04 24 */ b lbl_801CF8AC
+lbl_801CF48C:
+/* 801CF48C 001CB0EC 38 00 00 0E */ li r0, 0xe
+/* 801CF490 001CB0F0 7C 17 00 40 */ cmplw r23, r0
+/* 801CF494 001CB0F4 40 80 00 BC */ bge lbl_801CF550
+/* 801CF498 001CB0F8 57 00 0F FE */ srwi r0, r24, 0x1f
+/* 801CF49C 001CB0FC 2C 04 00 00 */ cmpwi r4, 0
+/* 801CF4A0 001CB100 7C 00 C2 14 */ add r0, r0, r24
+/* 801CF4A4 001CB104 38 60 00 00 */ li r3, 0
+/* 801CF4A8 001CB108 7C 00 0E 70 */ srawi r0, r0, 1
+/* 801CF4AC 001CB10C 3A F7 00 01 */ addi r23, r23, 1
+/* 801CF4B0 001CB110 7C 1A 00 AE */ lbzx r0, r26, r0
+/* 801CF4B4 001CB114 41 80 00 0C */ blt lbl_801CF4C0
+/* 801CF4B8 001CB118 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CF4BC 001CB11C 41 80 00 08 */ blt lbl_801CF4C4
+lbl_801CF4C0:
+/* 801CF4C0 001CB120 38 60 00 01 */ li r3, 1
+lbl_801CF4C4:
+/* 801CF4C4 001CB124 2C 03 00 00 */ cmpwi r3, 0
+/* 801CF4C8 001CB128 41 82 00 08 */ beq lbl_801CF4D0
+/* 801CF4CC 001CB12C 48 00 00 10 */ b lbl_801CF4DC
+lbl_801CF4D0:
+/* 801CF4D0 001CB130 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CF4D4 001CB134 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 801CF4D8 001CB138 7C 83 20 AE */ lbzx r4, r3, r4
+lbl_801CF4DC:
+/* 801CF4DC 001CB13C 2C 04 00 41 */ cmpwi r4, 0x41
+/* 801CF4E0 001CB140 38 C4 FF D0 */ addi r6, r4, -48
+/* 801CF4E4 001CB144 41 80 00 08 */ blt lbl_801CF4EC
+/* 801CF4E8 001CB148 38 C4 FF C9 */ addi r6, r4, -55
+lbl_801CF4EC:
+/* 801CF4EC 001CB14C 57 05 0F FE */ srwi r5, r24, 0x1f
+/* 801CF4F0 001CB150 57 03 07 FE */ clrlwi r3, r24, 0x1f
+/* 801CF4F4 001CB154 7C 64 2A 78 */ xor r4, r3, r5
+/* 801CF4F8 001CB158 54 C3 26 36 */ rlwinm r3, r6, 4, 0x18, 0x1b
+/* 801CF4FC 001CB15C 7C 85 20 51 */ subf. r4, r5, r4
+/* 801CF500 001CB160 7C 03 1B 78 */ or r3, r0, r3
+/* 801CF504 001CB164 54 C4 06 3E */ clrlwi r4, r6, 0x18
+/* 801CF508 001CB168 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 801CF50C 001CB16C 41 82 00 0C */ beq lbl_801CF518
+/* 801CF510 001CB170 7C 00 23 78 */ or r0, r0, r4
+/* 801CF514 001CB174 54 05 06 3E */ clrlwi r5, r0, 0x18
+lbl_801CF518:
+/* 801CF518 001CB178 57 00 0F FE */ srwi r0, r24, 0x1f
+/* 801CF51C 001CB17C 7E 4C 93 78 */ mr r12, r18
+/* 801CF520 001CB180 7C 00 C2 14 */ add r0, r0, r24
+/* 801CF524 001CB184 7E 63 9B 78 */ mr r3, r19
+/* 801CF528 001CB188 7C 00 0E 70 */ srawi r0, r0, 1
+/* 801CF52C 001CB18C 38 80 00 00 */ li r4, 0
+/* 801CF530 001CB190 7C BA 01 AE */ stbx r5, r26, r0
+/* 801CF534 001CB194 38 A0 00 00 */ li r5, 0
+/* 801CF538 001CB198 7D 89 03 A6 */ mtctr r12
+/* 801CF53C 001CB19C 3B 18 00 01 */ addi r24, r24, 1
+/* 801CF540 001CB1A0 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF544 001CB1A4 4E 80 04 21 */ bctrl
+/* 801CF548 001CB1A8 7C 64 1B 78 */ mr r4, r3
+/* 801CF54C 001CB1AC 48 00 03 60 */ b lbl_801CF8AC
+lbl_801CF550:
+/* 801CF550 001CB1B0 7E 4C 93 78 */ mr r12, r18
+/* 801CF554 001CB1B4 7E 63 9B 78 */ mr r3, r19
+/* 801CF558 001CB1B8 38 80 00 00 */ li r4, 0
+/* 801CF55C 001CB1BC 38 A0 00 00 */ li r5, 0
+/* 801CF560 001CB1C0 7D 89 03 A6 */ mtctr r12
+/* 801CF564 001CB1C4 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF568 001CB1C8 4E 80 04 21 */ bctrl
+/* 801CF56C 001CB1CC 7C 64 1B 78 */ mr r4, r3
+/* 801CF570 001CB1D0 48 00 03 3C */ b lbl_801CF8AC
+lbl_801CF574:
+/* 801CF574 001CB1D4 2C 04 00 00 */ cmpwi r4, 0
+/* 801CF578 001CB1D8 38 00 00 00 */ li r0, 0
+/* 801CF57C 001CB1DC 41 80 00 0C */ blt lbl_801CF588
+/* 801CF580 001CB1E0 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CF584 001CB1E4 41 80 00 08 */ blt lbl_801CF58C
+lbl_801CF588:
+/* 801CF588 001CB1E8 38 00 00 01 */ li r0, 1
+lbl_801CF58C:
+/* 801CF58C 001CB1EC 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF590 001CB1F0 41 82 00 0C */ beq lbl_801CF59C
+/* 801CF594 001CB1F4 38 00 00 00 */ li r0, 0
+/* 801CF598 001CB1F8 48 00 00 18 */ b lbl_801CF5B0
+lbl_801CF59C:
+/* 801CF59C 001CB1FC 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CF5A0 001CB200 54 80 08 3C */ slwi r0, r4, 1
+/* 801CF5A4 001CB204 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CF5A8 001CB208 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CF5AC 001CB20C 54 00 05 6A */ rlwinm r0, r0, 0, 0x15, 0x15
+lbl_801CF5B0:
+/* 801CF5B0 001CB210 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF5B4 001CB214 40 82 00 0C */ bne lbl_801CF5C0
+/* 801CF5B8 001CB218 3B E0 00 10 */ li r31, 0x10
+/* 801CF5BC 001CB21C 48 00 02 F0 */ b lbl_801CF8AC
+lbl_801CF5C0:
+/* 801CF5C0 001CB220 38 00 00 0E */ li r0, 0xe
+/* 801CF5C4 001CB224 7C 17 00 40 */ cmplw r23, r0
+/* 801CF5C8 001CB228 40 80 00 B8 */ bge lbl_801CF680
+/* 801CF5CC 001CB22C 57 00 0F FE */ srwi r0, r24, 0x1f
+/* 801CF5D0 001CB230 2C 04 00 00 */ cmpwi r4, 0
+/* 801CF5D4 001CB234 7C 00 C2 14 */ add r0, r0, r24
+/* 801CF5D8 001CB238 38 60 00 00 */ li r3, 0
+/* 801CF5DC 001CB23C 7C 00 0E 70 */ srawi r0, r0, 1
+/* 801CF5E0 001CB240 7C 1A 00 AE */ lbzx r0, r26, r0
+/* 801CF5E4 001CB244 41 80 00 0C */ blt lbl_801CF5F0
+/* 801CF5E8 001CB248 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CF5EC 001CB24C 41 80 00 08 */ blt lbl_801CF5F4
+lbl_801CF5F0:
+/* 801CF5F0 001CB250 38 60 00 01 */ li r3, 1
+lbl_801CF5F4:
+/* 801CF5F4 001CB254 2C 03 00 00 */ cmpwi r3, 0
+/* 801CF5F8 001CB258 41 82 00 08 */ beq lbl_801CF600
+/* 801CF5FC 001CB25C 48 00 00 10 */ b lbl_801CF60C
+lbl_801CF600:
+/* 801CF600 001CB260 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CF604 001CB264 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 801CF608 001CB268 7C 83 20 AE */ lbzx r4, r3, r4
+lbl_801CF60C:
+/* 801CF60C 001CB26C 2C 04 00 41 */ cmpwi r4, 0x41
+/* 801CF610 001CB270 38 C4 FF D0 */ addi r6, r4, -48
+/* 801CF614 001CB274 41 80 00 08 */ blt lbl_801CF61C
+/* 801CF618 001CB278 38 C4 FF C9 */ addi r6, r4, -55
+lbl_801CF61C:
+/* 801CF61C 001CB27C 57 05 0F FE */ srwi r5, r24, 0x1f
+/* 801CF620 001CB280 57 03 07 FE */ clrlwi r3, r24, 0x1f
+/* 801CF624 001CB284 7C 64 2A 78 */ xor r4, r3, r5
+/* 801CF628 001CB288 54 C3 26 36 */ rlwinm r3, r6, 4, 0x18, 0x1b
+/* 801CF62C 001CB28C 7C 85 20 51 */ subf. r4, r5, r4
+/* 801CF630 001CB290 7C 03 1B 78 */ or r3, r0, r3
+/* 801CF634 001CB294 54 C4 06 3E */ clrlwi r4, r6, 0x18
+/* 801CF638 001CB298 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 801CF63C 001CB29C 41 82 00 0C */ beq lbl_801CF648
+/* 801CF640 001CB2A0 7C 00 23 78 */ or r0, r0, r4
+/* 801CF644 001CB2A4 54 05 06 3E */ clrlwi r5, r0, 0x18
+lbl_801CF648:
+/* 801CF648 001CB2A8 57 00 0F FE */ srwi r0, r24, 0x1f
+/* 801CF64C 001CB2AC 7E 4C 93 78 */ mr r12, r18
+/* 801CF650 001CB2B0 7C 00 C2 14 */ add r0, r0, r24
+/* 801CF654 001CB2B4 7E 63 9B 78 */ mr r3, r19
+/* 801CF658 001CB2B8 7C 00 0E 70 */ srawi r0, r0, 1
+/* 801CF65C 001CB2BC 38 80 00 00 */ li r4, 0
+/* 801CF660 001CB2C0 7C BA 01 AE */ stbx r5, r26, r0
+/* 801CF664 001CB2C4 38 A0 00 00 */ li r5, 0
+/* 801CF668 001CB2C8 7D 89 03 A6 */ mtctr r12
+/* 801CF66C 001CB2CC 3B 18 00 01 */ addi r24, r24, 1
+/* 801CF670 001CB2D0 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF674 001CB2D4 4E 80 04 21 */ bctrl
+/* 801CF678 001CB2D8 7C 64 1B 78 */ mr r4, r3
+/* 801CF67C 001CB2DC 48 00 02 30 */ b lbl_801CF8AC
+lbl_801CF680:
+/* 801CF680 001CB2E0 7E 4C 93 78 */ mr r12, r18
+/* 801CF684 001CB2E4 7E 63 9B 78 */ mr r3, r19
+/* 801CF688 001CB2E8 38 80 00 00 */ li r4, 0
+/* 801CF68C 001CB2EC 38 A0 00 00 */ li r5, 0
+/* 801CF690 001CB2F0 7D 89 03 A6 */ mtctr r12
+/* 801CF694 001CB2F4 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF698 001CB2F8 4E 80 04 21 */ bctrl
+/* 801CF69C 001CB2FC 7C 64 1B 78 */ mr r4, r3
+/* 801CF6A0 001CB300 48 00 02 0C */ b lbl_801CF8AC
+lbl_801CF6A4:
+/* 801CF6A4 001CB304 2C 04 00 00 */ cmpwi r4, 0
+/* 801CF6A8 001CB308 38 00 00 00 */ li r0, 0
+/* 801CF6AC 001CB30C 41 80 00 0C */ blt lbl_801CF6B8
+/* 801CF6B0 001CB310 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CF6B4 001CB314 41 80 00 08 */ blt lbl_801CF6BC
+lbl_801CF6B8:
+/* 801CF6B8 001CB318 38 00 00 01 */ li r0, 1
+lbl_801CF6BC:
+/* 801CF6BC 001CB31C 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF6C0 001CB320 41 82 00 0C */ beq lbl_801CF6CC
+/* 801CF6C4 001CB324 7C 80 23 78 */ mr r0, r4
+/* 801CF6C8 001CB328 48 00 00 10 */ b lbl_801CF6D8
+lbl_801CF6CC:
+/* 801CF6CC 001CB32C 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CF6D0 001CB330 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 801CF6D4 001CB334 7C 03 20 AE */ lbzx r0, r3, r4
+lbl_801CF6D8:
+/* 801CF6D8 001CB338 2C 00 00 50 */ cmpwi r0, 0x50
+/* 801CF6DC 001CB33C 40 82 00 2C */ bne lbl_801CF708
+/* 801CF6E0 001CB340 7E 4C 93 78 */ mr r12, r18
+/* 801CF6E4 001CB344 7E 63 9B 78 */ mr r3, r19
+/* 801CF6E8 001CB348 3B E0 00 20 */ li r31, 0x20
+/* 801CF6EC 001CB34C 38 80 00 00 */ li r4, 0
+/* 801CF6F0 001CB350 38 A0 00 00 */ li r5, 0
+/* 801CF6F4 001CB354 7D 89 03 A6 */ mtctr r12
+/* 801CF6F8 001CB358 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF6FC 001CB35C 4E 80 04 21 */ bctrl
+/* 801CF700 001CB360 7C 64 1B 78 */ mr r4, r3
+/* 801CF704 001CB364 48 00 01 A8 */ b lbl_801CF8AC
+lbl_801CF708:
+/* 801CF708 001CB368 3A 20 08 00 */ li r17, 0x800
+/* 801CF70C 001CB36C 48 00 01 A0 */ b lbl_801CF8AC
+lbl_801CF710:
+/* 801CF710 001CB370 2C 04 00 2D */ cmpwi r4, 0x2d
+/* 801CF714 001CB374 40 82 00 10 */ bne lbl_801CF724
+/* 801CF718 001CB378 38 00 00 01 */ li r0, 1
+/* 801CF71C 001CB37C 90 01 00 84 */ stw r0, 0x84(r1)
+/* 801CF720 001CB380 48 00 00 24 */ b lbl_801CF744
+lbl_801CF724:
+/* 801CF724 001CB384 2C 04 00 2B */ cmpwi r4, 0x2b
+/* 801CF728 001CB388 41 82 00 1C */ beq lbl_801CF744
+/* 801CF72C 001CB38C 7E 4C 93 78 */ mr r12, r18
+/* 801CF730 001CB390 7E 63 9B 78 */ mr r3, r19
+/* 801CF734 001CB394 38 A0 00 01 */ li r5, 1
+/* 801CF738 001CB398 7D 89 03 A6 */ mtctr r12
+/* 801CF73C 001CB39C 4E 80 04 21 */ bctrl
+/* 801CF740 001CB3A0 3B DE FF FF */ addi r30, r30, -1
+lbl_801CF744:
+/* 801CF744 001CB3A4 7E 4C 93 78 */ mr r12, r18
+/* 801CF748 001CB3A8 7E 63 9B 78 */ mr r3, r19
+/* 801CF74C 001CB3AC 3B E0 00 40 */ li r31, 0x40
+/* 801CF750 001CB3B0 38 80 00 00 */ li r4, 0
+/* 801CF754 001CB3B4 38 A0 00 00 */ li r5, 0
+/* 801CF758 001CB3B8 7D 89 03 A6 */ mtctr r12
+/* 801CF75C 001CB3BC 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF760 001CB3C0 4E 80 04 21 */ bctrl
+/* 801CF764 001CB3C4 7C 64 1B 78 */ mr r4, r3
+/* 801CF768 001CB3C8 48 00 01 44 */ b lbl_801CF8AC
+lbl_801CF76C:
+/* 801CF76C 001CB3CC 2C 04 00 00 */ cmpwi r4, 0
+/* 801CF770 001CB3D0 38 00 00 00 */ li r0, 0
+/* 801CF774 001CB3D4 41 80 00 0C */ blt lbl_801CF780
+/* 801CF778 001CB3D8 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CF77C 001CB3DC 41 80 00 08 */ blt lbl_801CF784
+lbl_801CF780:
+/* 801CF780 001CB3E0 38 00 00 01 */ li r0, 1
+lbl_801CF784:
+/* 801CF784 001CB3E4 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF788 001CB3E8 41 82 00 0C */ beq lbl_801CF794
+/* 801CF78C 001CB3EC 38 00 00 00 */ li r0, 0
+/* 801CF790 001CB3F0 48 00 00 18 */ b lbl_801CF7A8
+lbl_801CF794:
+/* 801CF794 001CB3F4 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CF798 001CB3F8 54 80 08 3C */ slwi r0, r4, 1
+/* 801CF79C 001CB3FC 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CF7A0 001CB400 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CF7A4 001CB404 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
+lbl_801CF7A8:
+/* 801CF7A8 001CB408 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF7AC 001CB40C 40 82 00 0C */ bne lbl_801CF7B8
+/* 801CF7B0 001CB410 3A 20 10 00 */ li r17, 0x1000
+/* 801CF7B4 001CB414 48 00 00 F8 */ b lbl_801CF8AC
+lbl_801CF7B8:
+/* 801CF7B8 001CB418 2C 04 00 30 */ cmpwi r4, 0x30
+/* 801CF7BC 001CB41C 40 82 00 2C */ bne lbl_801CF7E8
+/* 801CF7C0 001CB420 7E 4C 93 78 */ mr r12, r18
+/* 801CF7C4 001CB424 7E 63 9B 78 */ mr r3, r19
+/* 801CF7C8 001CB428 3B E0 00 80 */ li r31, 0x80
+/* 801CF7CC 001CB42C 38 80 00 00 */ li r4, 0
+/* 801CF7D0 001CB430 38 A0 00 00 */ li r5, 0
+/* 801CF7D4 001CB434 7D 89 03 A6 */ mtctr r12
+/* 801CF7D8 001CB438 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF7DC 001CB43C 4E 80 04 21 */ bctrl
+/* 801CF7E0 001CB440 7C 64 1B 78 */ mr r4, r3
+/* 801CF7E4 001CB444 48 00 00 C8 */ b lbl_801CF8AC
+lbl_801CF7E8:
+/* 801CF7E8 001CB448 3B E0 01 00 */ li r31, 0x100
+/* 801CF7EC 001CB44C 48 00 00 C0 */ b lbl_801CF8AC
+lbl_801CF7F0:
+/* 801CF7F0 001CB450 2C 04 00 30 */ cmpwi r4, 0x30
+/* 801CF7F4 001CB454 40 82 00 28 */ bne lbl_801CF81C
+/* 801CF7F8 001CB458 7E 4C 93 78 */ mr r12, r18
+/* 801CF7FC 001CB45C 7E 63 9B 78 */ mr r3, r19
+/* 801CF800 001CB460 38 80 00 00 */ li r4, 0
+/* 801CF804 001CB464 38 A0 00 00 */ li r5, 0
+/* 801CF808 001CB468 7D 89 03 A6 */ mtctr r12
+/* 801CF80C 001CB46C 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF810 001CB470 4E 80 04 21 */ bctrl
+/* 801CF814 001CB474 7C 64 1B 78 */ mr r4, r3
+/* 801CF818 001CB478 48 00 00 94 */ b lbl_801CF8AC
+lbl_801CF81C:
+/* 801CF81C 001CB47C 3B E0 01 00 */ li r31, 0x100
+/* 801CF820 001CB480 48 00 00 8C */ b lbl_801CF8AC
+lbl_801CF824:
+/* 801CF824 001CB484 2C 04 00 00 */ cmpwi r4, 0
+/* 801CF828 001CB488 38 00 00 00 */ li r0, 0
+/* 801CF82C 001CB48C 41 80 00 0C */ blt lbl_801CF838
+/* 801CF830 001CB490 2C 04 01 00 */ cmpwi r4, 0x100
+/* 801CF834 001CB494 41 80 00 08 */ blt lbl_801CF83C
+lbl_801CF838:
+/* 801CF838 001CB498 38 00 00 01 */ li r0, 1
+lbl_801CF83C:
+/* 801CF83C 001CB49C 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF840 001CB4A0 41 82 00 0C */ beq lbl_801CF84C
+/* 801CF844 001CB4A4 38 00 00 00 */ li r0, 0
+/* 801CF848 001CB4A8 48 00 00 18 */ b lbl_801CF860
+lbl_801CF84C:
+/* 801CF84C 001CB4AC 80 70 00 38 */ lwz r3, 0x38(r16)
+/* 801CF850 001CB4B0 54 80 08 3C */ slwi r0, r4, 1
+/* 801CF854 001CB4B4 80 63 00 08 */ lwz r3, 8(r3)
+/* 801CF858 001CB4B8 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801CF85C 001CB4BC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
+lbl_801CF860:
+/* 801CF860 001CB4C0 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF864 001CB4C4 40 82 00 0C */ bne lbl_801CF870
+/* 801CF868 001CB4C8 3A 20 08 00 */ li r17, 0x800
+/* 801CF86C 001CB4CC 48 00 00 40 */ b lbl_801CF8AC
+lbl_801CF870:
+/* 801CF870 001CB4D0 1C 19 00 0A */ mulli r0, r25, 0xa
+/* 801CF874 001CB4D4 2C 1D 7F FF */ cmpwi r29, 0x7fff
+/* 801CF878 001CB4D8 7C 64 02 14 */ add r3, r4, r0
+/* 801CF87C 001CB4DC 3B 23 FF D0 */ addi r25, r3, -48
+/* 801CF880 001CB4E0 40 81 00 0C */ ble lbl_801CF88C
+/* 801CF884 001CB4E4 38 00 00 01 */ li r0, 1
+/* 801CF888 001CB4E8 90 14 00 00 */ stw r0, 0(r20)
+lbl_801CF88C:
+/* 801CF88C 001CB4EC 7E 4C 93 78 */ mr r12, r18
+/* 801CF890 001CB4F0 7E 63 9B 78 */ mr r3, r19
+/* 801CF894 001CB4F4 38 80 00 00 */ li r4, 0
+/* 801CF898 001CB4F8 38 A0 00 00 */ li r5, 0
+/* 801CF89C 001CB4FC 7D 89 03 A6 */ mtctr r12
+/* 801CF8A0 001CB500 3B DE 00 01 */ addi r30, r30, 1
+/* 801CF8A4 001CB504 4E 80 04 21 */ bctrl
+/* 801CF8A8 001CB508 7C 64 1B 78 */ mr r4, r3
+lbl_801CF8AC:
+/* 801CF8AC 001CB50C 80 01 00 08 */ lwz r0, 8(r1)
+/* 801CF8B0 001CB510 7C 1E 00 00 */ cmpw r30, r0
+/* 801CF8B4 001CB514 41 81 00 14 */ bgt lbl_801CF8C8
+/* 801CF8B8 001CB518 2C 04 FF FF */ cmpwi r4, -1
+/* 801CF8BC 001CB51C 41 82 00 0C */ beq lbl_801CF8C8
+/* 801CF8C0 001CB520 56 20 04 E9 */ rlwinm. r0, r17, 0, 0x13, 0x14
+/* 801CF8C4 001CB524 41 82 F0 1C */ beq lbl_801CE8E0
+lbl_801CF8C8:
+/* 801CF8C8 001CB528 3C 11 00 00 */ addis r0, r17, 0
+/* 801CF8CC 001CB52C 28 00 80 00 */ cmplwi r0, 0x8000
+/* 801CF8D0 001CB530 41 82 00 14 */ beq lbl_801CF8E4
+/* 801CF8D4 001CB534 72 20 0E 2C */ andi. r0, r17, 0xe2c
+/* 801CF8D8 001CB538 7C 00 00 34 */ cntlzw r0, r0
+/* 801CF8DC 001CB53C 54 03 D9 7E */ srwi r3, r0, 5
+/* 801CF8E0 001CB540 48 00 00 20 */ b lbl_801CF900
+lbl_801CF8E4:
+/* 801CF8E4 001CB544 38 1E FF FF */ addi r0, r30, -1
+/* 801CF8E8 001CB548 38 60 00 00 */ li r3, 0
+/* 801CF8EC 001CB54C 2C 00 00 02 */ cmpwi r0, 2
+/* 801CF8F0 001CB550 40 81 00 0C */ ble lbl_801CF8FC
+/* 801CF8F4 001CB554 73 E0 01 8E */ andi. r0, r31, 0x18e
+/* 801CF8F8 001CB558 40 82 00 08 */ bne lbl_801CF900
+lbl_801CF8FC:
+/* 801CF8FC 001CB55C 38 60 00 01 */ li r3, 1
+lbl_801CF900:
+/* 801CF900 001CB560 2C 03 00 00 */ cmpwi r3, 0
+/* 801CF904 001CB564 41 82 00 14 */ beq lbl_801CF918
+/* 801CF908 001CB568 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 801CF90C 001CB56C 38 00 00 00 */ li r0, 0
+/* 801CF910 001CB570 90 03 00 00 */ stw r0, 0(r3)
+/* 801CF914 001CB574 48 00 00 14 */ b lbl_801CF928
+lbl_801CF918:
+/* 801CF918 001CB578 7C 7E 72 14 */ add r3, r30, r14
+/* 801CF91C 001CB57C 38 03 FF FF */ addi r0, r3, -1
+/* 801CF920 001CB580 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 801CF924 001CB584 90 03 00 00 */ stw r0, 0(r3)
+lbl_801CF928:
+/* 801CF928 001CB588 7E 4C 93 78 */ mr r12, r18
+/* 801CF92C 001CB58C 7E 63 9B 78 */ mr r3, r19
+/* 801CF930 001CB590 38 A0 00 01 */ li r5, 1
+/* 801CF934 001CB594 7D 89 03 A6 */ mtctr r12
+/* 801CF938 001CB598 4E 80 04 21 */ bctrl
+/* 801CF93C 001CB59C 2C 1F 00 00 */ cmpwi r31, 0
+/* 801CF940 001CB5A0 40 82 01 30 */ bne lbl_801CFA70
+/* 801CF944 001CB5A4 80 01 00 8C */ lwz r0, 0x8c(r1)
+/* 801CF948 001CB5A8 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF94C 001CB5AC 41 82 00 08 */ beq lbl_801CF954
+/* 801CF950 001CB5B0 7F BD 00 D0 */ neg r29, r29
+lbl_801CF954:
+/* 801CF954 001CB5B4 88 61 00 5C */ lbz r3, 0x5c(r1)
+/* 801CF958 001CB5B8 38 81 00 5D */ addi r4, r1, 0x5d
+/* 801CF95C 001CB5BC 7C 84 1A 14 */ add r4, r4, r3
+/* 801CF960 001CB5C0 48 00 00 08 */ b lbl_801CF968
+lbl_801CF964:
+/* 801CF964 001CB5C4 3B 9C 00 01 */ addi r28, r28, 1
+lbl_801CF968:
+/* 801CF968 001CB5C8 2C 03 00 00 */ cmpwi r3, 0
+/* 801CF96C 001CB5CC 38 63 FF FF */ addi r3, r3, -1
+/* 801CF970 001CB5D0 41 82 00 10 */ beq lbl_801CF980
+/* 801CF974 001CB5D4 8C 04 FF FF */ lbzu r0, -1(r4)
+/* 801CF978 001CB5D8 28 00 00 30 */ cmplwi r0, 0x30
+/* 801CF97C 001CB5DC 41 82 FF E8 */ beq lbl_801CF964
+lbl_801CF980:
+/* 801CF980 001CB5E0 38 03 00 01 */ addi r0, r3, 1
+/* 801CF984 001CB5E4 54 04 06 3F */ clrlwi. r4, r0, 0x18
+/* 801CF988 001CB5E8 98 01 00 5C */ stb r0, 0x5c(r1)
+/* 801CF98C 001CB5EC 40 82 00 18 */ bne lbl_801CF9A4
+/* 801CF990 001CB5F0 38 61 00 5D */ addi r3, r1, 0x5d
+/* 801CF994 001CB5F4 38 00 00 30 */ li r0, 0x30
+/* 801CF998 001CB5F8 7C 03 21 AE */ stbx r0, r3, r4
+/* 801CF99C 001CB5FC 38 04 00 01 */ addi r0, r4, 1
+/* 801CF9A0 001CB600 98 01 00 5C */ stb r0, 0x5c(r1)
+lbl_801CF9A4:
+/* 801CF9A4 001CB604 7F BD E2 14 */ add r29, r29, r28
+/* 801CF9A8 001CB608 2C 1D 80 00 */ cmpwi r29, -32768
+/* 801CF9AC 001CB60C 41 80 00 0C */ blt lbl_801CF9B8
+/* 801CF9B0 001CB610 2C 1D 7F FF */ cmpwi r29, 0x7fff
+/* 801CF9B4 001CB614 40 81 00 0C */ ble lbl_801CF9C0
+lbl_801CF9B8:
+/* 801CF9B8 001CB618 38 00 00 01 */ li r0, 1
+/* 801CF9BC 001CB61C 90 14 00 00 */ stw r0, 0(r20)
+lbl_801CF9C0:
+/* 801CF9C0 001CB620 80 14 00 00 */ lwz r0, 0(r20)
+/* 801CF9C4 001CB624 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF9C8 001CB628 41 82 00 40 */ beq lbl_801CFA08
+/* 801CF9CC 001CB62C 80 01 00 8C */ lwz r0, 0x8c(r1)
+/* 801CF9D0 001CB630 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF9D4 001CB634 41 82 00 0C */ beq lbl_801CF9E0
+/* 801CF9D8 001CB638 C8 22 91 60 */ lfd f1, lbl_80641760-_SDA2_BASE_(r2)
+/* 801CF9DC 001CB63C 48 00 02 0C */ b lbl_801CFBE8
+lbl_801CF9E0:
+/* 801CF9E0 001CB640 80 01 00 90 */ lwz r0, 0x90(r1)
+/* 801CF9E4 001CB644 2C 00 00 00 */ cmpwi r0, 0
+/* 801CF9E8 001CB648 41 82 00 14 */ beq lbl_801CF9FC
+/* 801CF9EC 001CB64C 3C 60 80 64 */ lis r3, lbl_8063D6C0@ha
+/* 801CF9F0 001CB650 C8 03 D6 C0 */ lfd f0, lbl_8063D6C0@l(r3)
+/* 801CF9F4 001CB654 FC 20 00 50 */ fneg f1, f0
+/* 801CF9F8 001CB658 48 00 01 F0 */ b lbl_801CFBE8
+lbl_801CF9FC:
+/* 801CF9FC 001CB65C 3C 60 80 64 */ lis r3, lbl_8063D6C0@ha
+/* 801CFA00 001CB660 C8 23 D6 C0 */ lfd f1, lbl_8063D6C0@l(r3)
+/* 801CFA04 001CB664 48 00 01 E4 */ b lbl_801CFBE8
+lbl_801CFA08:
+/* 801CFA08 001CB668 B3 A1 00 5A */ sth r29, 0x5a(r1)
+/* 801CFA0C 001CB66C 38 61 00 58 */ addi r3, r1, 0x58
+/* 801CFA10 001CB670 4B FF 91 D9 */ bl __dec2num
+/* 801CFA14 001CB674 C8 02 91 60 */ lfd f0, lbl_80641760-_SDA2_BASE_(r2)
+/* 801CFA18 001CB678 FC 00 08 00 */ fcmpu cr0, f0, f1
+/* 801CFA1C 001CB67C 41 82 00 1C */ beq lbl_801CFA38
+/* 801CFA20 001CB680 C8 02 91 68 */ lfd f0, lbl_80641768-_SDA2_BASE_(r2)
+/* 801CFA24 001CB684 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 801CFA28 001CB688 40 80 00 10 */ bge lbl_801CFA38
+/* 801CFA2C 001CB68C 38 00 00 01 */ li r0, 1
+/* 801CFA30 001CB690 90 14 00 00 */ stw r0, 0(r20)
+/* 801CFA34 001CB694 48 00 00 20 */ b lbl_801CFA54
+lbl_801CFA38:
+/* 801CFA38 001CB698 C8 02 91 70 */ lfd f0, lbl_80641770-_SDA2_BASE_(r2)
+/* 801CFA3C 001CB69C FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 801CFA40 001CB6A0 40 81 00 14 */ ble lbl_801CFA54
+/* 801CFA44 001CB6A4 38 00 00 01 */ li r0, 1
+/* 801CFA48 001CB6A8 3C 60 80 64 */ lis r3, lbl_8063D6C0@ha
+/* 801CFA4C 001CB6AC 90 14 00 00 */ stw r0, 0(r20)
+/* 801CFA50 001CB6B0 C8 23 D6 C0 */ lfd f1, lbl_8063D6C0@l(r3)
+lbl_801CFA54:
+/* 801CFA54 001CB6B4 80 01 00 90 */ lwz r0, 0x90(r1)
+/* 801CFA58 001CB6B8 2C 00 00 00 */ cmpwi r0, 0
+/* 801CFA5C 001CB6BC 41 82 01 8C */ beq lbl_801CFBE8
+/* 801CFA60 001CB6C0 72 20 0E 2C */ andi. r0, r17, 0xe2c
+/* 801CFA64 001CB6C4 41 82 01 84 */ beq lbl_801CFBE8
+/* 801CFA68 001CB6C8 FC 20 08 50 */ fneg f1, f1
+/* 801CFA6C 001CB6CC 48 00 01 7C */ b lbl_801CFBE8
+lbl_801CFA70:
+/* 801CFA70 001CB6D0 80 01 00 84 */ lwz r0, 0x84(r1)
+/* 801CFA74 001CB6D4 38 61 00 10 */ addi r3, r1, 0x10
+/* 801CFA78 001CB6D8 2C 00 00 00 */ cmpwi r0, 0
+/* 801CFA7C 001CB6DC 41 82 00 08 */ beq lbl_801CFA84
+/* 801CFA80 001CB6E0 7F 39 00 D0 */ neg r25, r25
+lbl_801CFA84:
+/* 801CFA84 001CB6E4 56 E0 10 3A */ slwi r0, r23, 2
+/* 801CFA88 001CB6E8 88 A1 00 20 */ lbz r5, 0x20(r1)
+/* 801CFA8C 001CB6EC 7F 39 02 14 */ add r25, r25, r0
+/* 801CFA90 001CB6F0 38 C0 00 00 */ li r6, 0
+/* 801CFA94 001CB6F4 38 80 00 80 */ li r4, 0x80
+/* 801CFA98 001CB6F8 48 00 00 0C */ b lbl_801CFAA4
+lbl_801CFA9C:
+/* 801CFA9C 001CB6FC 38 C6 00 01 */ addi r6, r6, 1
+/* 801CFAA0 001CB700 3B 39 FF FF */ addi r25, r25, -1
+lbl_801CFAA4:
+/* 801CFAA4 001CB704 28 06 00 04 */ cmplwi r6, 4
+/* 801CFAA8 001CB708 40 80 00 10 */ bge lbl_801CFAB8
+/* 801CFAAC 001CB70C 7C 80 36 30 */ sraw r0, r4, r6
+/* 801CFAB0 001CB710 7C A0 00 39 */ and. r0, r5, r0
+/* 801CFAB4 001CB714 41 82 FF E8 */ beq lbl_801CFA9C
+lbl_801CFAB8:
+/* 801CFAB8 001CB718 34 A6 00 01 */ addic. r5, r6, 1
+/* 801CFABC 001CB71C 41 82 00 4C */ beq lbl_801CFB08
+/* 801CFAC0 001CB720 3B 41 00 27 */ addi r26, r1, 0x27
+/* 801CFAC4 001CB724 38 81 00 20 */ addi r4, r1, 0x20
+/* 801CFAC8 001CB728 7C 1A 20 40 */ cmplw r26, r4
+/* 801CFACC 001CB72C 38 E0 00 00 */ li r7, 0
+/* 801CFAD0 001CB730 41 80 00 38 */ blt lbl_801CFB08
+/* 801CFAD4 001CB734 38 1A 00 01 */ addi r0, r26, 1
+/* 801CFAD8 001CB738 20 C5 00 08 */ subfic r6, r5, 8
+/* 801CFADC 001CB73C 7C 04 00 50 */ subf r0, r4, r0
+/* 801CFAE0 001CB740 7C 09 03 A6 */ mtctr r0
+/* 801CFAE4 001CB744 41 80 00 24 */ blt lbl_801CFB08
+lbl_801CFAE8:
+/* 801CFAE8 001CB748 88 1A 00 00 */ lbz r0, 0(r26)
+/* 801CFAEC 001CB74C 7C 04 28 30 */ slw r4, r0, r5
+/* 801CFAF0 001CB750 7C 00 36 30 */ sraw r0, r0, r6
+/* 801CFAF4 001CB754 7C E4 23 78 */ or r4, r7, r4
+/* 801CFAF8 001CB758 98 9A 00 00 */ stb r4, 0(r26)
+/* 801CFAFC 001CB75C 54 07 06 3E */ clrlwi r7, r0, 0x18
+/* 801CFB00 001CB760 3B 5A FF FF */ addi r26, r26, -1
+/* 801CFB04 001CB764 42 00 FF E4 */ bdnz lbl_801CFAE8
+lbl_801CFB08:
+/* 801CFB08 001CB768 38 80 00 00 */ li r4, 0
+/* 801CFB0C 001CB76C 38 A0 00 08 */ li r5, 8
+/* 801CFB10 001CB770 4B E3 45 F5 */ bl memset
+/* 801CFB14 001CB774 38 00 00 07 */ li r0, 7
+/* 801CFB18 001CB778 38 81 00 20 */ addi r4, r1, 0x20
+/* 801CFB1C 001CB77C 38 61 00 11 */ addi r3, r1, 0x11
+/* 801CFB20 001CB780 39 00 00 00 */ li r8, 0
+/* 801CFB24 001CB784 38 E0 00 FF */ li r7, 0xff
+/* 801CFB28 001CB788 7C 09 03 A6 */ mtctr r0
+lbl_801CFB2C:
+/* 801CFB2C 001CB78C 38 08 00 08 */ addi r0, r8, 8
+/* 801CFB30 001CB790 89 24 00 00 */ lbz r9, 0(r4)
+/* 801CFB34 001CB794 28 00 00 34 */ cmplwi r0, 0x34
+/* 801CFB38 001CB798 38 A8 00 0C */ addi r5, r8, 0xc
+/* 801CFB3C 001CB79C 40 81 00 14 */ ble lbl_801CFB50
+/* 801CFB40 001CB7A0 20 08 00 34 */ subfic r0, r8, 0x34
+/* 801CFB44 001CB7A4 7C E0 00 30 */ slw r0, r7, r0
+/* 801CFB48 001CB7A8 7D 20 00 38 */ and r0, r9, r0
+/* 801CFB4C 001CB7AC 54 09 06 3E */ clrlwi r9, r0, 0x18
+lbl_801CFB50:
+/* 801CFB50 001CB7B0 54 AA 07 7E */ clrlwi r10, r5, 0x1d
+/* 801CFB54 001CB7B4 88 C3 00 00 */ lbz r6, 0(r3)
+/* 801CFB58 001CB7B8 7D 20 56 30 */ sraw r0, r9, r10
+/* 801CFB5C 001CB7BC 38 84 00 01 */ addi r4, r4, 1
+/* 801CFB60 001CB7C0 54 05 06 3E */ clrlwi r5, r0, 0x18
+/* 801CFB64 001CB7C4 39 08 00 08 */ addi r8, r8, 8
+/* 801CFB68 001CB7C8 7C C5 2B 78 */ or r5, r6, r5
+/* 801CFB6C 001CB7CC 20 0A 00 08 */ subfic r0, r10, 8
+/* 801CFB70 001CB7D0 98 A3 00 00 */ stb r5, 0(r3)
+/* 801CFB74 001CB7D4 7D 20 00 30 */ slw r0, r9, r0
+/* 801CFB78 001CB7D8 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 801CFB7C 001CB7DC 8C A3 00 01 */ lbzu r5, 1(r3)
+/* 801CFB80 001CB7E0 7C A0 03 78 */ or r0, r5, r0
+/* 801CFB84 001CB7E4 98 03 00 00 */ stb r0, 0(r3)
+/* 801CFB88 001CB7E8 42 00 FF A4 */ bdnz lbl_801CFB2C
+/* 801CFB8C 001CB7EC 3B 39 03 FE */ addi r25, r25, 0x3fe
+/* 801CFB90 001CB7F0 57 20 00 29 */ rlwinm. r0, r25, 0, 0, 0x14
+/* 801CFB94 001CB7F4 41 82 00 14 */ beq lbl_801CFBA8
+/* 801CFB98 001CB7F8 38 00 00 01 */ li r0, 1
+/* 801CFB9C 001CB7FC C8 22 91 60 */ lfd f1, lbl_80641760-_SDA2_BASE_(r2)
+/* 801CFBA0 001CB800 90 14 00 00 */ stw r0, 0(r20)
+/* 801CFBA4 001CB804 48 00 00 44 */ b lbl_801CFBE8
+lbl_801CFBA8:
+/* 801CFBA8 001CB808 57 39 A8 14 */ slwi r25, r25, 0x15
+/* 801CFBAC 001CB80C 80 01 00 90 */ lwz r0, 0x90(r1)
+/* 801CFBB0 001CB810 88 C1 00 10 */ lbz r6, 0x10(r1)
+/* 801CFBB4 001CB814 57 25 3E 7E */ srwi r5, r25, 0x19
+/* 801CFBB8 001CB818 88 81 00 11 */ lbz r4, 0x11(r1)
+/* 801CFBBC 001CB81C 57 23 7C 7E */ srwi r3, r25, 0x11
+/* 801CFBC0 001CB820 2C 00 00 00 */ cmpwi r0, 0
+/* 801CFBC4 001CB824 7C C5 2B 78 */ or r5, r6, r5
+/* 801CFBC8 001CB828 7C 80 1B 78 */ or r0, r4, r3
+/* 801CFBCC 001CB82C 98 A1 00 10 */ stb r5, 0x10(r1)
+/* 801CFBD0 001CB830 98 01 00 11 */ stb r0, 0x11(r1)
+/* 801CFBD4 001CB834 41 82 00 10 */ beq lbl_801CFBE4
+/* 801CFBD8 001CB838 54 A0 06 3E */ clrlwi r0, r5, 0x18
+/* 801CFBDC 001CB83C 60 00 00 80 */ ori r0, r0, 0x80
+/* 801CFBE0 001CB840 98 01 00 10 */ stb r0, 0x10(r1)
+lbl_801CFBE4:
+/* 801CFBE4 001CB844 C8 21 00 10 */ lfd f1, 0x10(r1)
+lbl_801CFBE8:
+/* 801CFBE8 001CB848 39 61 00 E0 */ addi r11, r1, 0xe0
+/* 801CFBEC 001CB84C 4B FF 75 55 */ bl __restore_gpr
+/* 801CFBF0 001CB850 80 01 00 E4 */ lwz r0, 0xe4(r1)
+/* 801CFBF4 001CB854 7C 08 03 A6 */ mtlr r0
+/* 801CFBF8 001CB858 38 21 00 E0 */ addi r1, r1, 0xe0
+/* 801CFBFC 001CB85C 4E 80 00 20 */ blr
+
+.global atof
+atof:
+/* 801CFC00 001CB860 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801CFC04 001CB864 7C 08 02 A6 */ mflr r0
+/* 801CFC08 001CB868 3C 80 80 1D */ lis r4, __StringRead@ha
+/* 801CFC0C 001CB86C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801CFC10 001CB870 38 00 00 00 */ li r0, 0
+/* 801CFC14 001CB874 38 84 E1 78 */ addi r4, r4, __StringRead@l
+/* 801CFC18 001CB878 38 A1 00 10 */ addi r5, r1, 0x10
+/* 801CFC1C 001CB87C 90 61 00 10 */ stw r3, 0x10(r1)
+/* 801CFC20 001CB880 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha
+/* 801CFC24 001CB884 38 63 FF FF */ addi r3, r3, 0x7FFFFFFF@l
+/* 801CFC28 001CB888 38 C1 00 08 */ addi r6, r1, 8
+/* 801CFC2C 001CB88C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801CFC30 001CB890 38 E1 00 0C */ addi r7, r1, 0xc
+/* 801CFC34 001CB894 4B FF EB D9 */ bl __strtold
+/* 801CFC38 001CB898 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 801CFC3C 001CB89C FC 40 0A 10 */ fabs f2, f1
+/* 801CFC40 001CB8A0 2C 00 00 00 */ cmpwi r0, 0
+/* 801CFC44 001CB8A4 40 82 00 28 */ bne lbl_801CFC6C
+/* 801CFC48 001CB8A8 C8 02 91 78 */ lfd f0, lbl_80641778-_SDA2_BASE_(r2)
+/* 801CFC4C 001CB8AC FC 00 08 00 */ fcmpu cr0, f0, f1
+/* 801CFC50 001CB8B0 41 82 00 24 */ beq lbl_801CFC74
+/* 801CFC54 001CB8B4 C8 02 91 80 */ lfd f0, lbl_80641780-_SDA2_BASE_(r2)
+/* 801CFC58 001CB8B8 FC 02 00 40 */ fcmpo cr0, f2, f0
+/* 801CFC5C 001CB8BC 41 80 00 10 */ blt lbl_801CFC6C
+/* 801CFC60 001CB8C0 C8 02 91 88 */ lfd f0, lbl_80641788-_SDA2_BASE_(r2)
+/* 801CFC64 001CB8C4 FC 02 00 40 */ fcmpo cr0, f2, f0
+/* 801CFC68 001CB8C8 40 81 00 0C */ ble lbl_801CFC74
+lbl_801CFC6C:
+/* 801CFC6C 001CB8CC 38 00 00 22 */ li r0, 0x22
+/* 801CFC70 001CB8D0 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13)
+lbl_801CFC74:
+/* 801CFC74 001CB8D4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801CFC78 001CB8D8 7C 08 03 A6 */ mtlr r0
+/* 801CFC7C 001CB8DC 38 21 00 20 */ addi r1, r1, 0x20
+/* 801CFC80 001CB8E0 4E 80 00 20 */ blr