summaryrefslogtreecommitdiff
path: root/asm/libstdc++
diff options
context:
space:
mode:
Diffstat (limited to 'asm/libstdc++')
-rw-r--r--asm/libstdc++/FILE_POS.s211
-rw-r--r--asm/libstdc++/ansi_files.s6
-rw-r--r--asm/libstdc++/ansi_fp.s1820
-rw-r--r--asm/libstdc++/arith.s10
-rw-r--r--asm/libstdc++/buffer_io.s143
-rw-r--r--asm/libstdc++/direct_io.s459
-rw-r--r--asm/libstdc++/file_io.s214
7 files changed, 2860 insertions, 3 deletions
diff --git a/asm/libstdc++/FILE_POS.s b/asm/libstdc++/FILE_POS.s
new file mode 100644
index 0000000..0aa63a2
--- /dev/null
+++ b/asm/libstdc++/FILE_POS.s
@@ -0,0 +1,211 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global _ftell
+_ftell:
+/* 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 ftell
+ftell:
+/* 801C9F28 001C5B88 4B FF FF 58 */ b _ftell
+
+.global _fseek
+_fseek:
+/* 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 __flush_buffer
+/* 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 _ftell
+/* 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 fseek
+fseek:
+/* 801CA0F0 001C5D50 4B FF FE 3C */ b _fseek
+
+.global rewind
+rewind:
+/* 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 _fseek
+/* 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
diff --git a/asm/libstdc++/ansi_files.s b/asm/libstdc++/ansi_files.s
index 67acbd2..52c4156 100644
--- a/asm/libstdc++/ansi_files.s
+++ b/asm/libstdc++/ansi_files.s
@@ -20,7 +20,7 @@ lbl_801C78C0:
/* 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
+/* 801C78D0 001C3530 48 00 23 01 */ bl fclose
lbl_801C78D4:
/* 801C78D4 001C3534 7F A3 EB 78 */ mr r3, r29
/* 801C78D8 001C3538 83 BD 00 4C */ lwz r29, 0x4c(r29)
@@ -72,7 +72,7 @@ lbl_801C795C:
/* 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
+/* 801C7984 001C35E4 48 00 23 09 */ bl fflush
/* 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
@@ -105,7 +105,7 @@ lbl_801C79E0:
/* 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
+/* 801C79F0 001C3650 48 00 22 9D */ bl fflush
/* 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
diff --git a/asm/libstdc++/ansi_fp.s b/asm/libstdc++/ansi_fp.s
new file mode 100644
index 0000000..3c7b8d7
--- /dev/null
+++ b/asm/libstdc++/ansi_fp.s
@@ -0,0 +1,1820 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ull2dec
+__ull2dec:
+/* 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 __timesdec
+__timesdec:
+/* 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 __str2dec
+__str2dec:
+/* 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 __two_exp
+__two_exp:
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __str2dec
+/* 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 __two_exp
+/* 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 __timesdec
+/* 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 __str2dec
+/* 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 __str2dec
+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 __timesdec
+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 __equals_dec
+__equals_dec:
+/* 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 __less_dec
+__less_dec:
+/* 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 __minus_dec
+__minus_dec:
+/* 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 __num2dec_internal
+__num2dec_internal:
+/* 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 __two_exp
+/* 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 __ull2dec
+/* 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 __timesdec
+/* 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 __num2dec
+__num2dec:
+/* 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 __num2dec_internal
+/* 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 __dec2num
+__dec2num:
+/* 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 _savegpr_19
+/* 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 __str2dec
+/* 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 __less_dec
+/* 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 __num2dec_internal
+/* 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 __equals_dec
+/* 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 __less_dec
+/* 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 __num2dec_internal
+/* 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 __less_dec
+/* 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 __less_dec
+/* 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 __minus_dec
+/* 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 __minus_dec
+/* 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 __equals_dec
+/* 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 __less_dec
+/* 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 _restgpr_19
+/* 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
diff --git a/asm/libstdc++/arith.s b/asm/libstdc++/arith.s
new file mode 100644
index 0000000..eac01ad
--- /dev/null
+++ b/asm/libstdc++/arith.s
@@ -0,0 +1,10 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.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
diff --git a/asm/libstdc++/buffer_io.s b/asm/libstdc++/buffer_io.s
new file mode 100644
index 0000000..2ee6618
--- /dev/null
+++ b/asm/libstdc++/buffer_io.s
@@ -0,0 +1,143 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __prep_buffer
+__prep_buffer:
+/* 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 __load_buffer
+__load_buffer:
+/* 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 __flush_buffer
+__flush_buffer:
+/* 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
diff --git a/asm/libstdc++/direct_io.s b/asm/libstdc++/direct_io.s
new file mode 100644
index 0000000..53d9585
--- /dev/null
+++ b/asm/libstdc++/direct_io.s
@@ -0,0 +1,459 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global fread
+fread:
+/* 801C9584 001C51E4 48 00 00 04 */ b __fread
+
+__fread:
+/* 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 __flush_line_buffered_output_files
+/* 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 __load_buffer
+/* 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 __load_buffer
+/* 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 __prep_buffer
+/* 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 __fwrite
+__fwrite:
+/* 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 _fseek
+/* 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 __prep_buffer
+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 __flush_buffer
+/* 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 __flush_buffer
+/* 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 __prep_buffer
+/* 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
diff --git a/asm/libstdc++/file_io.s b/asm/libstdc++/file_io.s
new file mode 100644
index 0000000..be053b1
--- /dev/null
+++ b/asm/libstdc++/file_io.s
@@ -0,0 +1,214 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global fclose
+fclose:
+/* 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 fflush
+/* 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 fflush
+fflush:
+/* 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 __flush_all
+/* 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 ftell
+/* 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 __flush_buffer
+/* 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 __msl_strnicmp
+__msl_strnicmp:
+/* 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